<?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>71081</bug_id>
          
          <creation_ts>2011-10-27 16:38:52 -0700</creation_ts>
          <short_desc>Move type-specific exception descriptions into the implementation files for each type</short_desc>
          <delta_ts>2011-10-27 21:44:42 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>70890</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Barth">abarth</reporter>
          <assigned_to name="Adam Barth">abarth</assigned_to>
          <cc>eric</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>492094</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-10-27 16:38:52 -0700</bug_when>
    <thetext>Move type-specific exception descriptions into the implementation files for each type</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>492095</commentid>
    <comment_count>1</comment_count>
      <attachid>112782</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-10-27 16:39:48 -0700</bug_when>
    <thetext>Created attachment 112782
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>492097</commentid>
    <comment_count>2</comment_count>
      <attachid>112782</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-10-27 16:42:15 -0700</bug_when>
    <thetext>Comment on attachment 112782
Patch

crazy.  Looks fine if EWS says it&apos;s fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>492156</commentid>
    <comment_count>3</comment_count>
      <attachid>112794</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-10-27 17:58:55 -0700</bug_when>
    <thetext>Created attachment 112794
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>492160</commentid>
    <comment_count>4</comment_count>
      <attachid>112794</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-10-27 18:03:17 -0700</bug_when>
    <thetext>Comment on attachment 112794
Patch

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

LGTM.

&gt; Source/WebCore/dom/EventException.cpp:54
&gt; +    description-&gt;typeName = &quot;DOM Events&quot;;
&gt; +    description-&gt;code = ec - EventExceptionOffset;
&gt; +    description-&gt;type = EventExceptionType;

So strange that we&apos;re passed in a Description, instead of returning one.  Then it&apos;s constructor could do all this jazz.  I guess we could have a fill() function until then.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>492161</commentid>
    <comment_count>5</comment_count>
      <attachid>112796</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-10-27 18:04:13 -0700</bug_when>
    <thetext>Created attachment 112796
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>492171</commentid>
    <comment_count>6</comment_count>
      <attachid>112796</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2011-10-27 18:15:24 -0700</bug_when>
    <thetext>Comment on attachment 112796
Patch

Attachment 112796 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/10223979</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>492172</commentid>
    <comment_count>7</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-10-27 18:15:58 -0700</bug_when>
    <thetext>It&apos;s to match the API of http://trac.webkit.org/browser/trunk/Source/WebCore/dom/ExceptionCode.h#L97</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>492173</commentid>
    <comment_count>8</comment_count>
      <attachid>112800</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-10-27 18:22:16 -0700</bug_when>
    <thetext>Created attachment 112800
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>492177</commentid>
    <comment_count>9</comment_count>
      <attachid>112803</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-10-27 18:24:01 -0700</bug_when>
    <thetext>Created attachment 112803
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>492208</commentid>
    <comment_count>10</comment_count>
      <attachid>112803</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-10-27 19:49:39 -0700</bug_when>
    <thetext>Comment on attachment 112803
Patch

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

Our build system(s) setup is epicly bad.  We really need to end this madness.

&gt; Source/WebCore/dom/DOMCoreException.cpp:34
&gt; +// FIXME: This should be an array of structs to pair the names and descriptions.

Thank you for adding this.

&gt; Source/WebCore/dom/DOMCoreException.cpp:104
&gt; +    description-&gt;typeName = &quot;DOM&quot;;
&gt; +    description-&gt;code = ec;
&gt; +    description-&gt;type = DOMExceptionType;
&gt; +
&gt; +    size_t tableSize = WTF_ARRAY_LENGTH(coreExceptionNames);
&gt; +    size_t tableIndex = ec - INDEX_SIZE_ERR;
&gt; +
&gt; +    description-&gt;name = tableIndex &lt; tableSize ? coreExceptionNames[tableIndex] : 0;
&gt; +    description-&gt;description = tableIndex &lt; tableSize ? coreExceptionDescriptions[tableIndex] : 0;

This should be some sort of constructor or &quot;fill&quot; method in a later iteration of this cleanup.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>492231</commentid>
    <comment_count>11</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-10-27 21:44:42 -0700</bug_when>
    <thetext>Committed r98686: &lt;http://trac.webkit.org/changeset/98686&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>112782</attachid>
            <date>2011-10-27 16:39:48 -0700</date>
            <delta_ts>2011-10-27 17:58:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-71081-20111027163946.patch</filename>
            <type>text/plain</type>
            <size>75607</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTg2NTUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA3NThjOGRhMGVhOTJkODQw
YmMzN2Q3MjFjNTc4YjM4OGQ4MjJjMWU4Li5mNDQ4NjM4OTdkY2U0OGM5ZjRhYzlkM2VjNGU3ZDIz
NTYzOWQyZjEzIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsNTQgQEAKIDIwMTEtMTAtMjcgIEFkYW0g
QmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAorICAgICAgICBNb3ZlIHR5cGUtc3BlY2lmaWMg
ZXhjZXB0aW9uIGRlc2NyaXB0aW9ucyBpbnRvIHRoZSBpbXBsZW1lbnRhdGlvbiBmaWxlcyBmb3Ig
ZWFjaCB0eXBlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD03MTA4MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFRoZXJlJ3Mgbm8gcmVhc29uIHRvIGNlbnRyYWxpemUgdGhpcyBpbmZvcm1hdGlvbi4gIEl0IGJl
bG9uZ3Mgd2l0aCBlYWNoCisgICAgICAgIGV4Y2VwdGlvbiB0eXBlLiAgVGhpcyBwYXRjaCBpcyBp
biBwcmVwYXJhdGlvbiBmb3IgYXV0b2dlbmVyYXRpbmcgdGhlIGNlbnRyYWwgZmlsZS4KKworICAg
ICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBkb20v
RE9NQ29yZUV4Y2VwdGlvbi5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6RE9NQ29yZUV4
Y2VwdGlvbjo6aW5pdGlhbGl6ZURlc2NyaXB0aW9uKToKKyAgICAgICAgKiBkb20vRE9NQ29yZUV4
Y2VwdGlvbi5oOgorICAgICAgICAqIGRvbS9FdmVudEV4Y2VwdGlvbi5jcHA6IENvcGllZCBmcm9t
IFNvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdEV4Y2VwdGlvbi5oLgorICAgICAgICAo
V2ViQ29yZTo6RXZlbnRFeGNlcHRpb246OmluaXRpYWxpemVEZXNjcmlwdGlvbik6CisgICAgICAg
ICogZG9tL0V2ZW50RXhjZXB0aW9uLmg6CisgICAgICAgICogZG9tL0V4Y2VwdGlvbkJhc2UuaDoK
KyAgICAgICAgKFdlYkNvcmU6OkV4Y2VwdGlvbkJhc2U6OmNvZGUpOgorICAgICAgICAoV2ViQ29y
ZTo6RXhjZXB0aW9uQmFzZTo6bmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpFeGNlcHRpb25CYXNl
OjptZXNzYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OkV4Y2VwdGlvbkJhc2U6OmRlc2NyaXB0aW9u
KToKKyAgICAgICAgKiBkb20vRXhjZXB0aW9uQ29kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpn
ZXRFeGNlcHRpb25Db2RlRGVzY3JpcHRpb24pOgorICAgICAgICAqIGRvbS9SYW5nZUV4Y2VwdGlv
bi5jcHA6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL3htbC9YUGF0aEV4Y2VwdGlvbi5oLgor
ICAgICAgICAoV2ViQ29yZTo6UmFuZ2VFeGNlcHRpb246OmluaXRpYWxpemVEZXNjcmlwdGlvbik6
CisgICAgICAgICogZG9tL1JhbmdlRXhjZXB0aW9uLmg6CisgICAgICAgICogZmlsZWFwaS9GaWxl
RXhjZXB0aW9uLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpGaWxlRXhjZXB0aW9uOjpp
bml0aWFsaXplRGVzY3JpcHRpb24pOgorICAgICAgICAqIGZpbGVhcGkvRmlsZUV4Y2VwdGlvbi5o
OgorICAgICAgICAqIGZpbGVhcGkvT3BlcmF0aW9uTm90QWxsb3dlZEV4Y2VwdGlvbi5jcHA6IENv
cGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdEV4Y2VwdGlvbi5oLgor
ICAgICAgICAoV2ViQ29yZTo6T3BlcmF0aW9uTm90QWxsb3dlZEV4Y2VwdGlvbjo6aW5pdGlhbGl6
ZURlc2NyaXB0aW9uKToKKyAgICAgICAgKiBmaWxlYXBpL09wZXJhdGlvbk5vdEFsbG93ZWRFeGNl
cHRpb24uaDoKKyAgICAgICAgKiBzdG9yYWdlL0lEQkRhdGFiYXNlRXhjZXB0aW9uLmNwcDogQWRk
ZWQuCisgICAgICAgIChXZWJDb3JlOjpJREJEYXRhYmFzZUV4Y2VwdGlvbjo6aW5pdGlhbGl6ZURl
c2NyaXB0aW9uKToKKyAgICAgICAgKiBzdG9yYWdlL0lEQkRhdGFiYXNlRXhjZXB0aW9uLmg6Cisg
ICAgICAgICogc3RvcmFnZS9TUUxFeGNlcHRpb24uY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNv
cmU6OlNRTEV4Y2VwdGlvbjo6aW5pdGlhbGl6ZURlc2NyaXB0aW9uKToKKyAgICAgICAgKiBzdG9y
YWdlL1NRTEV4Y2VwdGlvbi5oOgorICAgICAgICAqIHN2Zy9TVkdFeGNlcHRpb24uY3BwOiBDb3Bp
ZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRFeGNlcHRpb24uaC4KKyAgICAgICAgKFdl
YkNvcmU6OlNWR0V4Y2VwdGlvbjo6aW5pdGlhbGl6ZURlc2NyaXB0aW9uKToKKyAgICAgICAgKiBz
dmcvU1ZHRXhjZXB0aW9uLmg6CisgICAgICAgICogeG1sL1hNTEh0dHBSZXF1ZXN0RXhjZXB0aW9u
LmNwcDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0RXhjZXB0
aW9uLmguCisgICAgICAgIChXZWJDb3JlOjpYTUxIdHRwUmVxdWVzdEV4Y2VwdGlvbjo6aW5pdGlh
bGl6ZURlc2NyaXB0aW9uKToKKyAgICAgICAgKiB4bWwvWE1MSHR0cFJlcXVlc3RFeGNlcHRpb24u
aDoKKyAgICAgICAgKiB4bWwvWFBhdGhFeGNlcHRpb24uY3BwOiBDb3BpZWQgZnJvbSBTb3VyY2Uv
V2ViQ29yZS94bWwvWFBhdGhFeGNlcHRpb24uaC4KKyAgICAgICAgKFdlYkNvcmU6OlhQYXRoRXhj
ZXB0aW9uOjppbml0aWFsaXplRGVzY3JpcHRpb24pOgorICAgICAgICAqIHhtbC9YUGF0aEV4Y2Vw
dGlvbi5oOgorCisyMDExLTEwLTI3ICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CisK
ICAgICAgICAgRXhjZXB0aW9uIHN1YnR5cGVzIGhhdmUgaW5jb3JyZWN0IG5hbWVzcGFjZSBpbmRl
bnRhdGlvbgogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NzEwNzUKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCmluZGV4IDIyMWE4OTkwNjljOTc3NTNjYjBhYmU1OTA5MjQxOWY2MWUzNzhmMTYuLmY1
MzM4MzBhNGViMjM2ZDJiYjViMDVjZmE2MDUwNjE3NDJhYjM5MDQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTMyNjgsNiArMzI2
OCwxNiBAQAogCQk5NzdFMkUwRjEyRjBGQzlDMDBDMTMzNzkgLyogWFNTQXVkaXRvci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTc3RTJFMEMxMkYwRkM5
QzAwQzEzMzc5IC8qIFhTU0F1ZGl0b3IuaCAqLzsgfTsKIAkJOTc4QUQ2NzQxNDEzMEE4RDAwQzdD
QUUzIC8qIEhUTUxTcGFuRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA5NzhBRDY3MTE0MTMwQThEMDBDN0NBRTMgLyogSFRNTFNwYW5FbGVt
ZW50LmNwcCAqLzsgfTsKIAkJOTc4QUQ2NzUxNDEzMEE4RDAwQzdDQUUzIC8qIEhUTUxTcGFuRWxl
bWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTc4
QUQ2NzIxNDEzMEE4RDAwQzdDQUUzIC8qIEhUTUxTcGFuRWxlbWVudC5oICovOyB9OworCQk5NzhE
MDdCMjE0NUEwRUJEMDA5NjkwOEQgLyogSURCRGF0YWJhc2VFeGNlcHRpb24uY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTc4RDA3QjExNDVBMEVCRDAw
OTY5MDhEIC8qIElEQkRhdGFiYXNlRXhjZXB0aW9uLmNwcCAqLzsgfTsKKwkJOTc4RDA3QjQxNDVB
MEVDRDAwOTY5MDhEIC8qIFNRTEV4Y2VwdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NzhEMDdCMzE0NUEwRUNEMDA5NjkwOEQgLyogU1FMRXhj
ZXB0aW9uLmNwcCAqLzsgfTsKKwkJOTc4RDA3QjYxNDVBMEYwMzAwOTY5MDhEIC8qIEZpbGVFeGNl
cHRpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
OTc4RDA3QjUxNDVBMEYwMzAwOTY5MDhEIC8qIEZpbGVFeGNlcHRpb24uY3BwICovOyB9OworCQk5
NzhEMDdCODE0NUEwRjFCMDA5NjkwOEQgLyogT3BlcmF0aW9uTm90QWxsb3dlZEV4Y2VwdGlvbi5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NzhEMDdC
NzE0NUEwRjFCMDA5NjkwOEQgLyogT3BlcmF0aW9uTm90QWxsb3dlZEV4Y2VwdGlvbi5jcHAgKi87
IH07CisJCTk3OEQwN0JBMTQ1QTBGM0MwMDk2OTA4RCAvKiBSYW5nZUV4Y2VwdGlvbi5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NzhEMDdCOTE0NUEw
RjNDMDA5NjkwOEQgLyogUmFuZ2VFeGNlcHRpb24uY3BwICovOyB9OworCQk5NzhEMDdCQzE0NUEw
RjU2MDA5NjkwOEQgLyogRXZlbnRFeGNlcHRpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTc4RDA3QkIxNDVBMEY1NjAwOTY5MDhEIC8qIEV2ZW50
RXhjZXB0aW9uLmNwcCAqLzsgfTsKKwkJOTc4RDA3QkUxNDVBMEY2QzAwOTY5MDhEIC8qIERPTUNv
cmVFeGNlcHRpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gOTc4RDA3QkQxNDVBMEY2QzAwOTY5MDhEIC8qIERPTUNvcmVFeGNlcHRpb24uY3BwICov
OyB9OworCQk5NzhEMDdDQTE0NUExMDE2MDA5NjkwOEQgLyogU1ZHRXhjZXB0aW9uLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk3OEQwN0M5MTQ1QTEw
MTYwMDk2OTA4RCAvKiBTVkdFeGNlcHRpb24uY3BwICovOyB9OworCQk5NzhEMDdDQzE0NUExMDJF
MDA5NjkwOEQgLyogWFBhdGhFeGNlcHRpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gOTc4RDA3Q0IxNDVBMTAyRTAwOTY5MDhEIC8qIFhQYXRoRXhj
ZXB0aW9uLmNwcCAqLzsgfTsKKwkJOTc4RDA3Q0UxNDVBMTAzNzAwOTY5MDhEIC8qIFhNTEh0dHBS
ZXF1ZXN0RXhjZXB0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDk3OEQwN0NEMTQ1QTEwMzcwMDk2OTA4RCAvKiBYTUxIdHRwUmVxdWVzdEV4Y2Vw
dGlvbi5jcHAgKi87IH07CiAJCTk3OUY0M0QzMTA3NUU0NEEwMDAwRjgzQiAvKiBOYXZpZ2F0aW9u
U2NoZWR1bGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDk3OUY0M0QxMTA3NUU0NEEwMDAwRjgzQiAvKiBOYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcCAq
LzsgfTsKIAkJOTc5RjQzRDQxMDc1RTQ0QTAwMDBGODNCIC8qIE5hdmlnYXRpb25TY2hlZHVsZXIu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk3OUY0M0Qy
MTA3NUU0NEEwMDAwRjgzQiAvKiBOYXZpZ2F0aW9uU2NoZWR1bGVyLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJOTdBQTNDQTUxNDUyMzdDQzAwM0Ux
REE2IC8qIEV2ZW50VGFyZ2V0SGVhZGVycy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gOTdBQTNDQTMxNDUyMzdDQzAwM0UxREE2IC8qIEV2ZW50VGFyZ2V0
SGVhZGVycy5oICovOyB9OwpAQCAtMTA0MDMsNiArMTA0MTMsMTYgQEAKIAkJOTc4QUQ2NzExNDEz
MEE4RDAwQzdDQUUzIC8qIEhUTUxTcGFuRWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBIVE1MU3BhbkVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk5NzhBRDY3MjE0MTMwQThEMDBDN0NBRTMgLyogSFRNTFNwYW5FbGVtZW50Lmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEhUTUxTcGFuRWxlbWVudC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5NzhBRDY3MzE0MTMwQThEMDBDN0NBRTMgLyogSFRN
TFNwYW5FbGVtZW50LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBIVE1MU3BhbkVsZW1lbnQu
aWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5NzhEMDdCMTE0NUEwRUJEMDA5Njkw
OEQgLyogSURCRGF0YWJhc2VFeGNlcHRpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gSURCRGF0YWJhc2VFeGNlcHRpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk5NzhEMDdCMzE0NUEwRUNEMDA5NjkwOEQgLyogU1FMRXhjZXB0aW9uLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNRTEV4Y2VwdGlvbi5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTk3OEQwN0I1MTQ1QTBGMDMwMDk2OTA4RCAvKiBG
aWxlRXhjZXB0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEZp
bGVFeGNlcHRpb24uY3BwOyBwYXRoID0gZmlsZWFwaS9GaWxlRXhjZXB0aW9uLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTc4RDA3QjcxNDVBMEYxQjAwOTY5MDhEIC8qIE9wZXJh
dGlvbk5vdEFsbG93ZWRFeGNlcHRpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBuYW1lID0gT3BlcmF0aW9uTm90QWxsb3dlZEV4Y2VwdGlvbi5jcHA7IHBhdGggPSBmaWxlYXBp
L09wZXJhdGlvbk5vdEFsbG93ZWRFeGNlcHRpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk5NzhEMDdCOTE0NUEwRjNDMDA5NjkwOEQgLyogUmFuZ2VFeGNlcHRpb24uY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmFuZ2VFeGNlcHRpb24uY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5NzhEMDdCQjE0NUEwRjU2MDA5NjkwOEQgLyog
RXZlbnRFeGNlcHRpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
RXZlbnRFeGNlcHRpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5NzhEMDdC
RDE0NUEwRjZDMDA5NjkwOEQgLyogRE9NQ29yZUV4Y2VwdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBET01Db3JlRXhjZXB0aW9uLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJOTc4RDA3QzkxNDVBMTAxNjAwOTY5MDhEIC8qIFNWR0V4Y2VwdGlv
bi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTVkdFeGNlcHRpb24u
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5NzhEMDdDQjE0NUExMDJFMDA5Njkw
OEQgLyogWFBhdGhFeGNlcHRpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gWFBhdGhFeGNlcHRpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5
NzhEMDdDRDE0NUExMDM3MDA5NjkwOEQgLyogWE1MSHR0cFJlcXVlc3RFeGNlcHRpb24uY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gWE1MSHR0cFJlcXVlc3RFeGNlcHRp
b24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5NzlGNDNEMTEwNzVFNDRBMDAw
MEY4M0IgLyogTmF2aWdhdGlvblNjaGVkdWxlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBOYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJOTc5RjQzRDIxMDc1RTQ0QTAwMDBGODNCIC8qIE5hdmlnYXRpb25TY2hlZHVs
ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTmF2aWdhdGlvblNjaGVkdWxl
ci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5N0FBM0NBMzE0NTIzN0NDMDAzRTFE
QTYgLyogRXZlbnRUYXJnZXRIZWFkZXJzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEV2ZW50VGFyZ2V0SGVhZGVycy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
MTQxOTksNiArMTQyMTksNyBAQAogCQkJCUI2MTc2MjUzMTIwMzM3NEYwMEVGOTExNCAvKiBJREJE
YXRhYmFzZUJhY2tlbmRJbnRlcmZhY2UuaCAqLywKIAkJCQlDNTg1QTY5RDExRDRGQjNEMDA0QzNF
NEIgLyogSURCRGF0YWJhc2VFcnJvci5oICovLAogCQkJCUM1ODVBNjlFMTFENEZCM0QwMDRDM0U0
QiAvKiBJREJEYXRhYmFzZUVycm9yLmlkbCAqLywKKwkJCQk5NzhEMDdCMTE0NUEwRUJEMDA5Njkw
OEQgLyogSURCRGF0YWJhc2VFeGNlcHRpb24uY3BwICovLAogCQkJCUM1ODVBNjlGMTFENEZCM0Qw
MDRDM0U0QiAvKiBJREJEYXRhYmFzZUV4Y2VwdGlvbi5oICovLAogCQkJCUM1ODVBNkEwMTFENEZC
M0QwMDRDM0U0QiAvKiBJREJEYXRhYmFzZUV4Y2VwdGlvbi5pZGwgKi8sCiAJCQkJQzU4NUE2Qzkx
MUQ0RkIzRDAwNEMzRTRCIC8qIElEQkZhY3RvcnkuY3BwICovLApAQCAtMTQyNDQsNiArMTQyNjUs
NyBAQAogCQkJCTI0NUQ4MEEyMTMyODBFNDAwMDM0OTJBNiAvKiBTUUxDYWxsYmFja1dyYXBwZXIu
aCAqLywKIAkJCQk1MUVDOTI1NzBDRTkwREI0MDBGOTAzMDggLyogU1FMRXJyb3IuaCAqLywKIAkJ
CQk1MUVDOTI1ODBDRTkwREI0MDBGOTAzMDggLyogU1FMRXJyb3IuaWRsICovLAorCQkJCTk3OEQw
N0IzMTQ1QTBFQ0QwMDk2OTA4RCAvKiBTUUxFeGNlcHRpb24uY3BwICovLAogCQkJCUI1NkVCQTgz
MTFDOUZGODEwMEIwNDQ3NyAvKiBTUUxFeGNlcHRpb24uaCAqLywKIAkJCQlCNTZFQkE4NDExQzlG
RjgxMDBCMDQ0NzcgLyogU1FMRXhjZXB0aW9uLmlkbCAqLywKIAkJCQk1MTk2MTE2NzBDQUM1NjU3
MDAxMEE4MEMgLyogU1FMUmVzdWx0U2V0LmNwcCAqLywKQEAgLTE3MzM1LDYgKzE3MzU3LDcgQEAK
IAkJCQk4OTNDNDdGRTEyNDhCRDM5MDAyQjNEODYgLyogRmlsZUVudHJ5U3luYy5jcHAgKi8sCiAJ
CQkJODkzQzQ3RkYxMjQ4QkQzOTAwMkIzRDg2IC8qIEZpbGVFbnRyeVN5bmMuaCAqLywKIAkJCQk5
NzZENkM2NDEyMkI4QTNEMDAxRkQxRjcgLyogRmlsZUVycm9yLmggKi8sCisJCQkJOTc4RDA3QjUx
NDVBMEYwMzAwOTY5MDhEIC8qIEZpbGVFeGNlcHRpb24uY3BwICovLAogCQkJCTJFREYzNjlFMTIy
Qzk0QzgwMDJGN0Q0RSAvKiBGaWxlRXhjZXB0aW9uLmggKi8sCiAJCQkJOTc2RDZDNjYxMjJCOEEz
RDAwMUZEMUY3IC8qIEZpbGVMaXN0LmNwcCAqLywKIAkJCQk5NzZENkM2NzEyMkI4QTNEMDAxRkQx
RjcgLyogRmlsZUxpc3QuaCAqLywKQEAgLTE3MzY4LDYgKzE3MzkxLDcgQEAKIAkJCQk4OTg3ODU0
RjEyMkNBMDY0MDAzQUFCREEgLyogTG9jYWxGaWxlU3lzdGVtLmggKi8sCiAJCQkJODk4Nzg1NTAx
MjJDQTA2NDAwM0FBQkRBIC8qIE1ldGFkYXRhLmggKi8sCiAJCQkJODk4Nzg1NTExMjJDQTA2NDAw
M0FBQkRBIC8qIE1ldGFkYXRhQ2FsbGJhY2suaCAqLywKKwkJCQk5NzhEMDdCNzE0NUEwRjFCMDA5
NjkwOEQgLyogT3BlcmF0aW9uTm90QWxsb3dlZEV4Y2VwdGlvbi5jcHAgKi8sCiAJCQkJMkUyNDQ1
RjUxMzk1ODkzQTAwNEI2QzE5IC8qIE9wZXJhdGlvbk5vdEFsbG93ZWRFeGNlcHRpb24uaCAqLywK
IAkJCQkyRTI0NDVGNjEzOTU4OTNBMDA0QjZDMTkgLyogT3BlcmF0aW9uTm90QWxsb3dlZEV4Y2Vw
dGlvbi5pZGwgKi8sCiAJCQkJOTc2RDZDNzUxMjJCOEEzRDAwMUZEMUY3IC8qIFRocmVhZGFibGVC
bG9iUmVnaXN0cnkuY3BwICovLApAQCAtMTg1MzIsNiArMTg1NTYsNyBAQAogCQkJCUIyMjI3ODI5
MEQwMEJGMUYwMDcxQjc4MiAvKiBTVkdFbGxpcHNlRWxlbWVudC5jcHAgKi8sCiAJCQkJQjIyMjc4
MkEwRDAwQkYxRjAwNzFCNzgyIC8qIFNWR0VsbGlwc2VFbGVtZW50LmggKi8sCiAJCQkJQjIyMjc4
MkIwRDAwQkYxRjAwNzFCNzgyIC8qIFNWR0VsbGlwc2VFbGVtZW50LmlkbCAqLywKKwkJCQk5NzhE
MDdDOTE0NUExMDE2MDA5NjkwOEQgLyogU1ZHRXhjZXB0aW9uLmNwcCAqLywKIAkJCQlCMjIyNzgy
QzBEMDBCRjFGMDA3MUI3ODIgLyogU1ZHRXhjZXB0aW9uLmggKi8sCiAJCQkJQjIyMjc4MkQwRDAw
QkYxRjAwNzFCNzgyIC8qIFNWR0V4Y2VwdGlvbi5pZGwgKi8sCiAJCQkJQjIyMjc4MkUwRDAwQkYx
RjAwNzFCNzgyIC8qIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQuY3BwICovLApAQCAtMjAz
MDIsNiArMjAzMjcsNyBAQAogCQkJCUJDNzcyQzQ0MEM0RUIyQzYwMDgzMjg1RiAvKiBYTUxIdHRw
UmVxdWVzdC5jcHAgKi8sCiAJCQkJQkM3NzJDNDUwQzRFQjJDNjAwODMyODVGIC8qIFhNTEh0dHBS
ZXF1ZXN0LmggKi8sCiAJCQkJQkMzNDhCQTcwREI3RjFCODAwNEFCQUI5IC8qIFhNTEh0dHBSZXF1
ZXN0LmlkbCAqLywKKwkJCQk5NzhEMDdDRDE0NUExMDM3MDA5NjkwOEQgLyogWE1MSHR0cFJlcXVl
c3RFeGNlcHRpb24uY3BwICovLAogCQkJCUJDNjBEOUM3MEQyQTI5RTUwMEI5OTE4RiAvKiBYTUxI
dHRwUmVxdWVzdEV4Y2VwdGlvbi5oICovLAogCQkJCUJDNjBEOUM4MEQyQTI5RTUwMEI5OTE4RiAv
KiBYTUxIdHRwUmVxdWVzdEV4Y2VwdGlvbi5pZGwgKi8sCiAJCQkJRjlGMEVENzcwREI1MENBMjAw
RDE2REI5IC8qIFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudC5oICovLApAQCAtMjAzMjEsNiAr
MjAzNDcsNyBAQAogCQkJCTFBQjdGQzQ3MEE4QjkyRUMwMEQ5RDM3QiAvKiBYUGF0aEV2YWx1YXRv
ci5jcHAgKi8sCiAJCQkJMUFCN0ZDNDgwQThCOTJFQzAwRDlEMzdCIC8qIFhQYXRoRXZhbHVhdG9y
LmggKi8sCiAJCQkJMUFCN0ZDNDkwQThCOTJFQzAwRDlEMzdCIC8qIFhQYXRoRXZhbHVhdG9yLmlk
bCAqLywKKwkJCQk5NzhEMDdDQjE0NUExMDJFMDA5NjkwOEQgLyogWFBhdGhFeGNlcHRpb24uY3Bw
ICovLAogCQkJCUJDNjBEQTU5MEQyQTMxRjcwMEI5OTE4RiAvKiBYUGF0aEV4Y2VwdGlvbi5oICov
LAogCQkJCUJDNjBEQTVBMEQyQTMxRjcwMEI5OTE4RiAvKiBYUGF0aEV4Y2VwdGlvbi5pZGwgKi8s
CiAJCQkJMUFCN0ZDNEEwQThCOTJFQzAwRDlEMzdCIC8qIFhQYXRoRXhwcmVzc2lvbi5jcHAgKi8s
CkBAIC0yMDkyMyw2ICsyMDk1MCw3IEBACiAJCQkJQTgxODVGMzIwOTc2NTc2NTAwNTgyNkQ5IC8q
IERvY3VtZW50VHlwZS5jcHAgKi8sCiAJCQkJQTgxODVGMzEwOTc2NTc2NTAwNTgyNkQ5IC8qIERv
Y3VtZW50VHlwZS5oICovLAogCQkJCTkzRUVDMUU4MDlDMjg3NzcwMEM1MTVEMSAvKiBEb2N1bWVu
dFR5cGUuaWRsICovLAorCQkJCTk3OEQwN0JEMTQ1QTBGNkMwMDk2OTA4RCAvKiBET01Db3JlRXhj
ZXB0aW9uLmNwcCAqLywKIAkJCQlCQzYwRDZFODBEMjhEODM0MDBCOTkxOEYgLyogRE9NQ29yZUV4
Y2VwdGlvbi5oICovLAogCQkJCUJDNjBENkVCMEQyOEQ5OTkwMEI5OTE4RiAvKiBET01Db3JlRXhj
ZXB0aW9uLmlkbCAqLywKIAkJCQlBODE4NUYzNjA5NzY1NzY1MDA1ODI2RDkgLyogRE9NSW1wbGVt
ZW50YXRpb24uY3BwICovLApAQCAtMjA5NjAsNiArMjA5ODgsNyBAQAogCQkJCTRBRjFBRDNEMTNG
RDIzQTQwMEFBOTU5MCAvKiBFdmVudERpc3BhdGNoTWVkaWF0b3IuaCAqLywKIAkJCQk0MThBMDZD
RjEzM0MwNEQ1MDBDRDM3OUMgLyogRXZlbnREaXNwYXRjaGVyLmNwcCAqLywKIAkJCQk0MThBMDZD
RTEzM0MwNEQ1MDBDRDM3OUMgLyogRXZlbnREaXNwYXRjaGVyLmggKi8sCisJCQkJOTc4RDA3QkIx
NDVBMEY1NjAwOTY5MDhEIC8qIEV2ZW50RXhjZXB0aW9uLmNwcCAqLywKIAkJCQlCQzYwRDkwOTBE
MkExN0NFMDBCOTkxOEYgLyogRXZlbnRFeGNlcHRpb24uaCAqLywKIAkJCQlCQzYwRDkwQTBEMkEx
N0NFMDBCOTkxOEYgLyogRXZlbnRFeGNlcHRpb24uaWRsICovLAogCQkJCTk3NjY1MDExMTQ0RkFB
NDIwMEY2QkI1MSAvKiBFdmVudEZhY3RvcnkuaCAqLywKQEAgLTIxMDcxLDYgKzIxMTAwLDcgQEAK
IAkJCQlGNTIzRDMwNDAyREU0NDc2MDE4NjM1Q0EgLyogUmFuZ2UuaCAqLywKIAkJCQk5MzZERDAz
QTA5Q0VBQzI3MDA1NkFFOEMgLyogUmFuZ2UuaWRsICovLAogCQkJCTkzRDlENTNCMERBMjdFMTgw
MDc3MjE2QyAvKiBSYW5nZUJvdW5kYXJ5UG9pbnQuaCAqLywKKwkJCQk5NzhEMDdCOTE0NUEwRjND
MDA5NjkwOEQgLyogUmFuZ2VFeGNlcHRpb24uY3BwICovLAogCQkJCUQyM0NBNTZCMEFCMEVCOEQw
MDUxMDhBNSAvKiBSYW5nZUV4Y2VwdGlvbi5oICovLAogCQkJCUQyM0NBNTQ4MEFCMEU5ODMwMDUx
MDhBNSAvKiBSYW5nZUV4Y2VwdGlvbi5pZGwgKi8sCiAJCQkJQTg0RDgyN0IxMUQzMzNFRDAwOTcy
OTkwIC8qIFJhd0RhdGFEb2N1bWVudFBhcnNlci5oICovLApAQCAtMjczMzEsNiArMjczNjEsMTYg
QEAKIAkJCQk5NzY2NTA0RjE0NEZCRkZFMDBGNkJCNTEgLyogRXZlbnRGYWN0b3J5LmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCUEwRUUwREY1MTQ0RjgyNTUwMEY4MEIwRCAvKiBXZWJHTERlYnVnUmVu
ZGVyZXJJbmZvLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUEwRUUwREY3MTQ0RjgyNTUwMEY4MEIw
RCAvKiBXZWJHTERlYnVnU2hhZGVycy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk5NzhEMDdCMjE0
NUEwRUJEMDA5NjkwOEQgLyogSURCRGF0YWJhc2VFeGNlcHRpb24uY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJOTc4RDA3QjQxNDVBMEVDRDAwOTY5MDhEIC8qIFNRTEV4Y2VwdGlvbi5jcHAgaW4gU291
cmNlcyAqLywKKwkJCQk5NzhEMDdCNjE0NUEwRjAzMDA5NjkwOEQgLyogRmlsZUV4Y2VwdGlvbi5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQk5NzhEMDdCODE0NUEwRjFCMDA5NjkwOEQgLyogT3BlcmF0
aW9uTm90QWxsb3dlZEV4Y2VwdGlvbi5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk5NzhEMDdCQTE0
NUEwRjNDMDA5NjkwOEQgLyogUmFuZ2VFeGNlcHRpb24uY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJ
OTc4RDA3QkMxNDVBMEY1NjAwOTY5MDhEIC8qIEV2ZW50RXhjZXB0aW9uLmNwcCBpbiBTb3VyY2Vz
ICovLAorCQkJCTk3OEQwN0JFMTQ1QTBGNkMwMDk2OTA4RCAvKiBET01Db3JlRXhjZXB0aW9uLmNw
cCBpbiBTb3VyY2VzICovLAorCQkJCTk3OEQwN0NBMTQ1QTEwMTYwMDk2OTA4RCAvKiBTVkdFeGNl
cHRpb24uY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJOTc4RDA3Q0MxNDVBMTAyRTAwOTY5MDhEIC8q
IFhQYXRoRXhjZXB0aW9uLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTk3OEQwN0NFMTQ1QTEwMzcw
MDk2OTA4RCAvKiBYTUxIdHRwUmVxdWVzdEV4Y2VwdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01Db3JlRXhjZXB0aW9uLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9ET01Db3JlRXhjZXB0aW9uLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ZTBhZGRmZjA4
ZTAzMTc3YmQzZjgyZGZiYmQ0YzVmZDhmOGE1YWUyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvZG9tL0RPTUNvcmVFeGNlcHRpb24uY3BwCkBAIC0wLDAgKzEsMTA5IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKiAzLiAgTmVpdGhlciB0aGUgbmFtZSBvZiBBcHBsZSBDb21wdXRl
ciwgSW5jLiAoIkFwcGxlIikgbm9yIHRoZSBuYW1lcyBvZgorICogICAgIGl0cyBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKKyAq
ICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBHT09HTEUgQU5E
IElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisg
KiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBP
UiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
bmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJET01Db3JlRXhjZXB0aW9uLmgiCisKK25hbWVz
cGFjZSBXZWJDb3JlIHsKKworLy8gRklYTUU6IFRoaXMgc2hvdWxkIGJlIGFuIGFycmF5IG9mIHN0
cnVjdHMgdG8gcGFpciB0aGUgbmFtZXMgYW5kIGRlc2NyaXB0aW9ucy4KK3N0YXRpYyBjb25zdCBj
aGFyKiBjb25zdCBleGNlcHRpb25OYW1lc1tdID0geworICAgICJJTkRFWF9TSVpFX0VSUiIsCisg
ICAgIkRPTVNUUklOR19TSVpFX0VSUiIsCisgICAgIkhJRVJBUkNIWV9SRVFVRVNUX0VSUiIsCisg
ICAgIldST05HX0RPQ1VNRU5UX0VSUiIsCisgICAgIklOVkFMSURfQ0hBUkFDVEVSX0VSUiIsCisg
ICAgIk5PX0RBVEFfQUxMT1dFRF9FUlIiLAorICAgICJOT19NT0RJRklDQVRJT05fQUxMT1dFRF9F
UlIiLAorICAgICJOT1RfRk9VTkRfRVJSIiwKKyAgICAiTk9UX1NVUFBPUlRFRF9FUlIiLAorICAg
ICJJTlVTRV9BVFRSSUJVVEVfRVJSIiwKKyAgICAiSU5WQUxJRF9TVEFURV9FUlIiLAorICAgICJT
WU5UQVhfRVJSIiwKKyAgICAiSU5WQUxJRF9NT0RJRklDQVRJT05fRVJSIiwKKyAgICAiTkFNRVNQ
QUNFX0VSUiIsCisgICAgIklOVkFMSURfQUNDRVNTX0VSUiIsCisgICAgIlZBTElEQVRJT05fRVJS
IiwKKyAgICAiVFlQRV9NSVNNQVRDSF9FUlIiLAorICAgICJTRUNVUklUWV9FUlIiLAorICAgICJO
RVRXT1JLX0VSUiIsCisgICAgIkFCT1JUX0VSUiIsCisgICAgIlVSTF9NSVNNQVRDSF9FUlIiLAor
ICAgICJRVU9UQV9FWENFRURFRF9FUlIiLAorICAgICJUSU1FT1VUX0VSUiIsCisgICAgIklOVkFM
SURfTk9ERV9UWVBFX0VSUiIsCisgICAgIkRBVEFfQ0xPTkVfRVJSIgorfTsKKworc3RhdGljIGNv
bnN0IGNoYXIqIGNvbnN0IGV4Y2VwdGlvbkRlc2NyaXB0aW9uc1tdID0geworICAgICJJbmRleCBv
ciBzaXplIHdhcyBuZWdhdGl2ZSwgb3IgZ3JlYXRlciB0aGFuIHRoZSBhbGxvd2VkIHZhbHVlLiIs
CisgICAgIlRoZSBzcGVjaWZpZWQgcmFuZ2Ugb2YgdGV4dCBkaWQgbm90IGZpdCBpbnRvIGEgRE9N
U3RyaW5nLiIsCisgICAgIkEgTm9kZSB3YXMgaW5zZXJ0ZWQgc29tZXdoZXJlIGl0IGRvZXNuJ3Qg
YmVsb25nLiIsCisgICAgIkEgTm9kZSB3YXMgdXNlZCBpbiBhIGRpZmZlcmVudCBkb2N1bWVudCB0
aGFuIHRoZSBvbmUgdGhhdCBjcmVhdGVkIGl0ICh0aGF0IGRvZXNuJ3Qgc3VwcG9ydCBpdCkuIiwK
KyAgICAiQW4gaW52YWxpZCBvciBpbGxlZ2FsIGNoYXJhY3RlciB3YXMgc3BlY2lmaWVkLCBzdWNo
IGFzIGluIGFuIFhNTCBuYW1lLiIsCisgICAgIkRhdGEgd2FzIHNwZWNpZmllZCBmb3IgYSBOb2Rl
IHdoaWNoIGRvZXMgbm90IHN1cHBvcnQgZGF0YS4iLAorICAgICJBbiBhdHRlbXB0IHdhcyBtYWRl
IHRvIG1vZGlmeSBhbiBvYmplY3Qgd2hlcmUgbW9kaWZpY2F0aW9ucyBhcmUgbm90IGFsbG93ZWQu
IiwKKyAgICAiQW4gYXR0ZW1wdCB3YXMgbWFkZSB0byByZWZlcmVuY2UgYSBOb2RlIGluIGEgY29u
dGV4dCB3aGVyZSBpdCBkb2VzIG5vdCBleGlzdC4iLAorICAgICJUaGUgaW1wbGVtZW50YXRpb24g
ZGlkIG5vdCBzdXBwb3J0IHRoZSByZXF1ZXN0ZWQgdHlwZSBvZiBvYmplY3Qgb3Igb3BlcmF0aW9u
LiIsCisgICAgIkFuIGF0dGVtcHQgd2FzIG1hZGUgdG8gYWRkIGFuIGF0dHJpYnV0ZSB0aGF0IGlz
IGFscmVhZHkgaW4gdXNlIGVsc2V3aGVyZS4iLAorICAgICJBbiBhdHRlbXB0IHdhcyBtYWRlIHRv
IHVzZSBhbiBvYmplY3QgdGhhdCBpcyBub3QsIG9yIGlzIG5vIGxvbmdlciwgdXNhYmxlLiIsCisg
ICAgIkFuIGludmFsaWQgb3IgaWxsZWdhbCBzdHJpbmcgd2FzIHNwZWNpZmllZC4iLAorICAgICJB
biBhdHRlbXB0IHdhcyBtYWRlIHRvIG1vZGlmeSB0aGUgdHlwZSBvZiB0aGUgdW5kZXJseWluZyBv
YmplY3QuIiwKKyAgICAiQW4gYXR0ZW1wdCB3YXMgbWFkZSB0byBjcmVhdGUgb3IgY2hhbmdlIGFu
IG9iamVjdCBpbiBhIHdheSB3aGljaCBpcyBpbmNvcnJlY3Qgd2l0aCByZWdhcmQgdG8gbmFtZXNw
YWNlcy4iLAorICAgICJBIHBhcmFtZXRlciBvciBhbiBvcGVyYXRpb24gd2FzIG5vdCBzdXBwb3J0
ZWQgYnkgdGhlIHVuZGVybHlpbmcgb2JqZWN0LiIsCisgICAgIkEgY2FsbCB0byBhIG1ldGhvZCBz
dWNoIGFzIGluc2VydEJlZm9yZSBvciByZW1vdmVDaGlsZCB3b3VsZCBtYWtlIHRoZSBOb2RlIGlu
dmFsaWQgd2l0aCByZXNwZWN0IHRvIFwicGFydGlhbCB2YWxpZGl0eVwiLCB0aGlzIGV4Y2VwdGlv
biB3b3VsZCBiZSByYWlzZWQgYW5kIHRoZSBvcGVyYXRpb24gd291bGQgbm90IGJlIGRvbmUuIiwK
KyAgICAiVGhlIHR5cGUgb2YgYW4gb2JqZWN0IHdhcyBpbmNvbXBhdGlibGUgd2l0aCB0aGUgZXhw
ZWN0ZWQgdHlwZSBvZiB0aGUgcGFyYW1ldGVyIGFzc29jaWF0ZWQgdG8gdGhlIG9iamVjdC4iLAor
ICAgICJBbiBhdHRlbXB0IHdhcyBtYWRlIHRvIGJyZWFrIHRocm91Z2ggdGhlIHNlY3VyaXR5IHBv
bGljeSBvZiB0aGUgdXNlciBhZ2VudC4iLAorICAgIC8vIEZJWE1FOiBDb3VsZG4ndCBmaW5kIGEg
ZGVzY3JpcHRpb24gaW4gdGhlIEhUTUwvRE9NIHNwZWNpZmljYXRpb25zIGZvciBORVRXT1JLX0VS
UiwgQUJPUlRfRVJSLCBVUkxfTUlTTUFUQ0hfRVJSLCBhbmQgUVVPVEFfRVhDRUVERURfRVJSCisg
ICAgIkEgbmV0d29yayBlcnJvciBvY2N1cmVkLiIsCisgICAgIlRoZSB1c2VyIGFib3J0ZWQgYSBy
ZXF1ZXN0LiIsCisgICAgIkEgd29ya2VyIGdsb2JhbCBzY29wZSByZXByZXNlbnRlZCBhbiBhYnNv
bHV0ZSBVUkwgdGhhdCBpcyBub3QgZXF1YWwgdG8gdGhlIHJlc3VsdGluZyBhYnNvbHV0ZSBVUkwu
IiwKKyAgICAiQW4gYXR0ZW1wdCB3YXMgbWFkZSB0byBhZGQgc29tZXRoaW5nIHRvIHN0b3JhZ2Ug
dGhhdCBleGNlZWRlZCB0aGUgcXVvdGEuIiwKKyAgICAiQSB0aW1lb3V0IG9jY3VycmVkLiIsCisg
ICAgIlRoZSBzdXBwbGllZCBub2RlIGlzIGludmFsaWQgb3IgaGFzIGFuIGludmFsaWQgYW5jZXN0
b3IgZm9yIHRoaXMgb3BlcmF0aW9uLiIsCisgICAgIkFuIG9iamVjdCBjb3VsZCBub3QgYmUgY2xv
bmVkLiIKK307CisKK0NPTVBJTEVfQVNTRVJUKFdURl9BUlJBWV9MRU5HVEgoZXhjZXB0aW9uTmFt
ZXMpID09IFdURl9BUlJBWV9MRU5HVEgoZXhjZXB0aW9uRGVzY3JpcHRpb25zKSwgRE9NQ29yZUV4
Y2VwdGlvblRhYmxlc011c3RNYXRjaCk7CisKK2Jvb2wgRE9NQ29yZUV4Y2VwdGlvbjo6aW5pdGlh
bGl6ZURlc2NyaXB0aW9uKEV4Y2VwdGlvbkNvZGUgZWMsIEV4Y2VwdGlvbkNvZGVEZXNjcmlwdGlv
biogZGVzY3JpcHRpb24pCit7CisgICAgZGVzY3JpcHRpb24tPnR5cGVOYW1lID0gIkRPTSI7Cisg
ICAgZGVzY3JpcHRpb24tPmNvZGUgPSBlYzsKKyAgICBkZXNjcmlwdGlvbi0+dHlwZSA9IERPTUNv
cmVFeGNlcHRpb25UeXBlOworCisgICAgc2l6ZV90IHRhYmxlU2l6ZSA9IFdURl9BUlJBWV9MRU5H
VEgoZXhjZXB0aW9uTmFtZXMpOworICAgIHNpemVfdCB0YWJsZUluZGV4ID0gZWMgLSBJTkRFWF9T
SVpFX0VSUjsKKworICAgIGRlc2NyaXB0aW9uLT5uYW1lID0gdGFibGVJbmRleCA8IHRhYmxlU2l6
ZSA/IGV4Y2VwdGlvbk5hbWVzW3RhYmxlSW5kZXhdIDogMDsKKyAgICBkZXNjcmlwdGlvbi0+ZGVz
Y3JpcHRpb24gPSB0YWJsZUluZGV4IDwgdGFibGVTaXplID8gZXhjZXB0aW9uRGVzY3JpcHRpb25z
W3RhYmxlSW5kZXhdIDogMDsKKworICAgIHJldHVybiB0cnVlOworfQorCit9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NQ29yZUV4Y2VwdGlv
bi5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTUNvcmVFeGNlcHRpb24uaAppbmRleCAwYjJkYWRh
NWRmMmNjZjJkNzQwNGVhMjM3NjE1MzhjMGE4Yjc2ZWYxLi5hZmQxOTM4YWIzOTY0MDc1YWZiY2Uw
NTFkYWMyMzA4ZDg4YjRlNjdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NQ29y
ZUV4Y2VwdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01Db3JlRXhjZXB0aW9uLmgK
QEAgLTQwLDYgKzQwLDggQEAgcHVibGljOgogICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IERP
TUNvcmVFeGNlcHRpb24oZGVzY3JpcHRpb24pKTsKICAgICB9CiAKKyAgICBzdGF0aWMgYm9vbCBp
bml0aWFsaXplRGVzY3JpcHRpb24oRXhjZXB0aW9uQ29kZSwgRXhjZXB0aW9uQ29kZURlc2NyaXB0
aW9uKik7CisKIHByaXZhdGU6CiAgICAgRE9NQ29yZUV4Y2VwdGlvbihjb25zdCBFeGNlcHRpb25D
b2RlRGVzY3JpcHRpb24mIGRlc2NyaXB0aW9uKQogICAgICAgICA6IEV4Y2VwdGlvbkJhc2UoZGVz
Y3JpcHRpb24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRFeGNlcHRpb24u
Y3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50RXhjZXB0aW9uLmNwcApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5l
MzFhZmQ3MWQxNjE1MWYxZGFiNjU3OWExOGUxNjFjZDE0N2M2ODIwCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50RXhjZXB0aW9uLmNwcApAQCAtMCwwICsxLDY1IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICog
MS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiAgTmVpdGhlciB0aGUgbmFtZSBvZiBBcHBsZSBD
b21wdXRlciwgSW5jLiAoIkFwcGxlIikgbm9yIHRoZSBuYW1lcyBvZgorICogICAgIGl0cyBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQKKyAqICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBHT09H
TEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisg
KiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJFdmVudEV4Y2VwdGlvbi5oIgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKKy8vIEZJWE1FOiBUaGlzIHNob3VsZCBiZSBhbiBhcnJheSBv
ZiBzdHJ1Y3RzIHRvIHBhaXIgdGhlIG5hbWVzIGFuZCBkZXNjcmlwdGlvbnMuCitzdGF0aWMgY29u
c3QgY2hhciogY29uc3QgZXhjZXB0aW9uTmFtZXNbXSA9IHsKKyAgICAiVU5TUEVDSUZJRURfRVZF
TlRfVFlQRV9FUlIiLAorICAgICJESVNQQVRDSF9SRVFVRVNUX0VSUiIKK307CisKK3N0YXRpYyBj
b25zdCBjaGFyKiBjb25zdCBleGNlcHRpb25EZXNjcmlwdGlvbnNbXSA9IHsKKyAgICAiVGhlIEV2
ZW50J3MgdHlwZSB3YXMgbm90IHNwZWNpZmllZCBieSBpbml0aWFsaXppbmcgdGhlIGV2ZW50IGJl
Zm9yZSB0aGUgbWV0aG9kIHdhcyBjYWxsZWQuIiwKKyAgICAiVGhlIEV2ZW50IG9iamVjdCBpcyBh
bHJlYWR5IGJlaW5nIGRpc3BhdGNoZWQuIgorfTsKKworQ09NUElMRV9BU1NFUlQoV1RGX0FSUkFZ
X0xFTkdUSChleGNlcHRpb25OYW1lcykgPT0gV1RGX0FSUkFZX0xFTkdUSChleGNlcHRpb25EZXNj
cmlwdGlvbnMpLCBFdmVudEV4Y2VwdGlvblRhYmxlc011c3RNYXRjaCk7CisKK2Jvb2wgRXZlbnRF
eGNlcHRpb246OmluaXRpYWxpemVEZXNjcmlwdGlvbihFeGNlcHRpb25Db2RlIGVjLCBFeGNlcHRp
b25Db2RlRGVzY3JpcHRpb24qIGRlc2NyaXB0aW9uKQoreworICAgIGlmIChlYyA8IEV2ZW50RXhj
ZXB0aW9uT2Zmc2V0IHx8IGVjID4gRXZlbnRFeGNlcHRpb25NYXgpCisgICAgICAgIHJldHVybiBm
YWxzZTsKKworICAgIGRlc2NyaXB0aW9uLT50eXBlTmFtZSA9ICJET00gRXZlbnRzIjsKKyAgICBk
ZXNjcmlwdGlvbi0+Y29kZSA9IGVjIC0gRXZlbnRFeGNlcHRpb25PZmZzZXQ7CisgICAgZGVzY3Jp
cHRpb24tPnR5cGUgPSBFdmVudEV4Y2VwdGlvblR5cGU7CisKKyAgICBzaXplX3QgdGFibGVTaXpl
ID0gV1RGX0FSUkFZX0xFTkdUSChleGNlcHRpb25OYW1lcyk7CisgICAgc2l6ZV90IHRhYmxlSW5k
ZXggPSBlYyAtIFVOU1BFQ0lGSUVEX0VWRU5UX1RZUEVfRVJSOworCisgICAgZGVzY3JpcHRpb24t
Pm5hbWUgPSB0YWJsZUluZGV4IDwgdGFibGVTaXplID8gZXhjZXB0aW9uTmFtZXNbdGFibGVJbmRl
eF0gOiAwOworICAgIGRlc2NyaXB0aW9uLT5kZXNjcmlwdGlvbiA9IHRhYmxlSW5kZXggPCB0YWJs
ZVNpemUgPyBleGNlcHRpb25EZXNjcmlwdGlvbnNbdGFibGVJbmRleF0gOiAwOworCisgICAgcmV0
dXJuIHRydWU7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9FdmVudEV4Y2VwdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50
RXhjZXB0aW9uLmgKaW5kZXggNmYyZmNjMzEwZjg2YjY4YjZlY2M2NWRjNDI3MTQwNDg4NTA2NGMx
Yi4uY2VmM2MzYjcyZjM2Zjk2MjkzMTMzMjdlODdlYmYyZWViMmRkMmU2OSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZG9tL0V2ZW50RXhjZXB0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0V2ZW50RXhjZXB0aW9uLmgKQEAgLTQ4LDYgKzQ4LDggQEAgcHVibGljOgogICAgICAgICBE
SVNQQVRDSF9SRVFVRVNUX0VSUgogICAgIH07CiAKKyAgICBzdGF0aWMgYm9vbCBpbml0aWFsaXpl
RGVzY3JpcHRpb24oRXhjZXB0aW9uQ29kZSwgRXhjZXB0aW9uQ29kZURlc2NyaXB0aW9uKik7CisK
IHByaXZhdGU6CiAgICAgRXZlbnRFeGNlcHRpb24oY29uc3QgRXhjZXB0aW9uQ29kZURlc2NyaXB0
aW9uJiBkZXNjcmlwdGlvbikKICAgICAgICAgOiBFeGNlcHRpb25CYXNlKGRlc2NyaXB0aW9uKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V4Y2VwdGlvbkJhc2UuaCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FeGNlcHRpb25CYXNlLmgKaW5kZXggNzQ0OWMwY2U2MjM2Y2Q4M2FlNmMxYTY1
MzhkMTVmMmJmZjk5MzQ1Yy4uODhmZWQyZDUxMzYxMzA5ODQ5OTQ0ZTZlYjkzYTY3MzNlNjhiODNj
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V4Y2VwdGlvbkJhc2UuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9kb20vRXhjZXB0aW9uQmFzZS5oCkBAIC0yOSwzMSArMjksMzIgQEAKICNp
Zm5kZWYgRXhjZXB0aW9uQmFzZV9oCiAjZGVmaW5lIEV4Y2VwdGlvbkJhc2VfaAogCisjaW5jbHVk
ZSAiRXhjZXB0aW9uQ29kZS5oIgogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAjaW5jbHVk
ZSA8d3RmL1JlZkNvdW50ZWQuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi0gICAgc3RydWN0
IEV4Y2VwdGlvbkNvZGVEZXNjcmlwdGlvbjsKK3N0cnVjdCBFeGNlcHRpb25Db2RlRGVzY3JpcHRp
b247CiAKLSAgICBjbGFzcyBFeGNlcHRpb25CYXNlIDogcHVibGljIFJlZkNvdW50ZWQ8RXhjZXB0
aW9uQmFzZT4gewotICAgIHB1YmxpYzoKLSAgICAgICAgdW5zaWduZWQgc2hvcnQgY29kZSgpIGNv
bnN0IHsgcmV0dXJuIG1fY29kZTsgfQotICAgICAgICBTdHJpbmcgbmFtZSgpIGNvbnN0IHsgcmV0
dXJuIG1fbmFtZTsgfQotICAgICAgICBTdHJpbmcgbWVzc2FnZSgpIGNvbnN0IHsgcmV0dXJuIG1f
bWVzc2FnZTsgfQotICAgICAgICBTdHJpbmcgZGVzY3JpcHRpb24oKSBjb25zdCB7IHJldHVybiBt
X2Rlc2NyaXB0aW9uOyB9CitjbGFzcyBFeGNlcHRpb25CYXNlIDogcHVibGljIFJlZkNvdW50ZWQ8
RXhjZXB0aW9uQmFzZT4geworcHVibGljOgorICAgIHVuc2lnbmVkIHNob3J0IGNvZGUoKSBjb25z
dCB7IHJldHVybiBtX2NvZGU7IH0KKyAgICBTdHJpbmcgbmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1f
bmFtZTsgfQorICAgIFN0cmluZyBtZXNzYWdlKCkgY29uc3QgeyByZXR1cm4gbV9tZXNzYWdlOyB9
CisgICAgU3RyaW5nIGRlc2NyaXB0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9kZXNjcmlwdGlvbjsg
fQogCi0gICAgICAgIFN0cmluZyB0b1N0cmluZygpIGNvbnN0OworICAgIFN0cmluZyB0b1N0cmlu
ZygpIGNvbnN0OwogCi0gICAgcHJvdGVjdGVkOgotICAgICAgICBFeGNlcHRpb25CYXNlKGNvbnN0
IEV4Y2VwdGlvbkNvZGVEZXNjcmlwdGlvbiYpOworcHJvdGVjdGVkOgorICAgIEV4Y2VwdGlvbkJh
c2UoY29uc3QgRXhjZXB0aW9uQ29kZURlc2NyaXB0aW9uJik7CiAKLSAgICBwcml2YXRlOgotICAg
ICAgICB1bnNpZ25lZCBzaG9ydCBtX2NvZGU7Ci0gICAgICAgIFN0cmluZyBtX25hbWU7Ci0gICAg
ICAgIFN0cmluZyBtX21lc3NhZ2U7Ci0gICAgICAgIFN0cmluZyBtX2Rlc2NyaXB0aW9uOwotICAg
IH07Citwcml2YXRlOgorICAgIHVuc2lnbmVkIHNob3J0IG1fY29kZTsKKyAgICBTdHJpbmcgbV9u
YW1lOworICAgIFN0cmluZyBtX21lc3NhZ2U7CisgICAgU3RyaW5nIG1fZGVzY3JpcHRpb247Cit9
OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9FeGNlcHRpb25Db2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FeGNlcHRpb25Db2Rl
LmNwcAppbmRleCAwNjA0ZmFmODJhZmI0NWQwZjgxYjg2NzQ2ZjljNGVhZmNjNmY1ZThmLi5mMGJl
OTBlNGUzZjU5NDVjZTg2NGI1M2VhMWZkZjIxNThhOWJmMzJhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRXhjZXB0aW9uQ29kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V4
Y2VwdGlvbkNvZGUuY3BwCkBAIC0yNiwzNDggKzI2LDYxIEBACiAjaW5jbHVkZSAiY29uZmlnLmgi
CiAjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgogCisjaW5jbHVkZSAiRE9NQ29yZUV4Y2VwdGlv
bi5oIgogI2luY2x1ZGUgIkV2ZW50RXhjZXB0aW9uLmgiCisjaWYgRU5BQkxFKEJMT0IpCisjaW5j
bHVkZSAiRmlsZUV4Y2VwdGlvbi5oIgorI2VuZGlmCisjaWYgRU5BQkxFKElOREVYRURfREFUQUJB
U0UpCiAjaW5jbHVkZSAiSURCRGF0YWJhc2VFeGNlcHRpb24uaCIKLSNpbmNsdWRlICJSYW5nZUV4
Y2VwdGlvbi5oIgotI2luY2x1ZGUgIlhNTEh0dHBSZXF1ZXN0RXhjZXB0aW9uLmgiCi0jaW5jbHVk
ZSAiWFBhdGhFeGNlcHRpb24uaCIKLQotI2lmIEVOQUJMRShTVkcpCi0jaW5jbHVkZSAiU1ZHRXhj
ZXB0aW9uLmgiCiAjZW5kaWYKLQorI2luY2x1ZGUgIk9wZXJhdGlvbk5vdEFsbG93ZWRFeGNlcHRp
b24uaCIKKyNpbmNsdWRlICJSYW5nZUV4Y2VwdGlvbi5oIgogI2lmIEVOQUJMRShTUUxfREFUQUJB
U0UpCiAjaW5jbHVkZSAiU1FMRXhjZXB0aW9uLmgiCiAjZW5kaWYKLQotI2lmIEVOQUJMRShCTE9C
KSB8fCBFTkFCTEUoRklMRV9TWVNURU0pCi0jaW5jbHVkZSAiRmlsZUV4Y2VwdGlvbi5oIgotI2lu
Y2x1ZGUgIk9wZXJhdGlvbk5vdEFsbG93ZWRFeGNlcHRpb24uaCIKLSNlbmRpZgotCi1uYW1lc3Bh
Y2UgV2ViQ29yZSB7Ci0KLXN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBleGNlcHRpb25OYW1lc1td
ID0gewotICAgICJJTkRFWF9TSVpFX0VSUiIsCi0gICAgIkRPTVNUUklOR19TSVpFX0VSUiIsCi0g
ICAgIkhJRVJBUkNIWV9SRVFVRVNUX0VSUiIsCi0gICAgIldST05HX0RPQ1VNRU5UX0VSUiIsCi0g
ICAgIklOVkFMSURfQ0hBUkFDVEVSX0VSUiIsCi0gICAgIk5PX0RBVEFfQUxMT1dFRF9FUlIiLAot
ICAgICJOT19NT0RJRklDQVRJT05fQUxMT1dFRF9FUlIiLAotICAgICJOT1RfRk9VTkRfRVJSIiwK
LSAgICAiTk9UX1NVUFBPUlRFRF9FUlIiLAotICAgICJJTlVTRV9BVFRSSUJVVEVfRVJSIiwKLSAg
ICAiSU5WQUxJRF9TVEFURV9FUlIiLAotICAgICJTWU5UQVhfRVJSIiwKLSAgICAiSU5WQUxJRF9N
T0RJRklDQVRJT05fRVJSIiwKLSAgICAiTkFNRVNQQUNFX0VSUiIsCi0gICAgIklOVkFMSURfQUND
RVNTX0VSUiIsCi0gICAgIlZBTElEQVRJT05fRVJSIiwKLSAgICAiVFlQRV9NSVNNQVRDSF9FUlIi
LAotICAgICJTRUNVUklUWV9FUlIiLAotICAgICJORVRXT1JLX0VSUiIsCi0gICAgIkFCT1JUX0VS
UiIsCi0gICAgIlVSTF9NSVNNQVRDSF9FUlIiLAotICAgICJRVU9UQV9FWENFRURFRF9FUlIiLAot
ICAgICJUSU1FT1VUX0VSUiIsCi0gICAgIklOVkFMSURfTk9ERV9UWVBFX0VSUiIsCi0gICAgIkRB
VEFfQ0xPTkVfRVJSIgotfTsKLQotc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IGV4Y2VwdGlvbkRl
c2NyaXB0aW9uc1tdID0gewotICAgICJJbmRleCBvciBzaXplIHdhcyBuZWdhdGl2ZSwgb3IgZ3Jl
YXRlciB0aGFuIHRoZSBhbGxvd2VkIHZhbHVlLiIsCi0gICAgIlRoZSBzcGVjaWZpZWQgcmFuZ2Ug
b2YgdGV4dCBkaWQgbm90IGZpdCBpbnRvIGEgRE9NU3RyaW5nLiIsCi0gICAgIkEgTm9kZSB3YXMg
aW5zZXJ0ZWQgc29tZXdoZXJlIGl0IGRvZXNuJ3QgYmVsb25nLiIsCi0gICAgIkEgTm9kZSB3YXMg
dXNlZCBpbiBhIGRpZmZlcmVudCBkb2N1bWVudCB0aGFuIHRoZSBvbmUgdGhhdCBjcmVhdGVkIGl0
ICh0aGF0IGRvZXNuJ3Qgc3VwcG9ydCBpdCkuIiwKLSAgICAiQW4gaW52YWxpZCBvciBpbGxlZ2Fs
IGNoYXJhY3RlciB3YXMgc3BlY2lmaWVkLCBzdWNoIGFzIGluIGFuIFhNTCBuYW1lLiIsCi0gICAg
IkRhdGEgd2FzIHNwZWNpZmllZCBmb3IgYSBOb2RlIHdoaWNoIGRvZXMgbm90IHN1cHBvcnQgZGF0
YS4iLAotICAgICJBbiBhdHRlbXB0IHdhcyBtYWRlIHRvIG1vZGlmeSBhbiBvYmplY3Qgd2hlcmUg
bW9kaWZpY2F0aW9ucyBhcmUgbm90IGFsbG93ZWQuIiwKLSAgICAiQW4gYXR0ZW1wdCB3YXMgbWFk
ZSB0byByZWZlcmVuY2UgYSBOb2RlIGluIGEgY29udGV4dCB3aGVyZSBpdCBkb2VzIG5vdCBleGlz
dC4iLAotICAgICJUaGUgaW1wbGVtZW50YXRpb24gZGlkIG5vdCBzdXBwb3J0IHRoZSByZXF1ZXN0
ZWQgdHlwZSBvZiBvYmplY3Qgb3Igb3BlcmF0aW9uLiIsCi0gICAgIkFuIGF0dGVtcHQgd2FzIG1h
ZGUgdG8gYWRkIGFuIGF0dHJpYnV0ZSB0aGF0IGlzIGFscmVhZHkgaW4gdXNlIGVsc2V3aGVyZS4i
LAotICAgICJBbiBhdHRlbXB0IHdhcyBtYWRlIHRvIHVzZSBhbiBvYmplY3QgdGhhdCBpcyBub3Qs
IG9yIGlzIG5vIGxvbmdlciwgdXNhYmxlLiIsCi0gICAgIkFuIGludmFsaWQgb3IgaWxsZWdhbCBz
dHJpbmcgd2FzIHNwZWNpZmllZC4iLAotICAgICJBbiBhdHRlbXB0IHdhcyBtYWRlIHRvIG1vZGlm
eSB0aGUgdHlwZSBvZiB0aGUgdW5kZXJseWluZyBvYmplY3QuIiwKLSAgICAiQW4gYXR0ZW1wdCB3
YXMgbWFkZSB0byBjcmVhdGUgb3IgY2hhbmdlIGFuIG9iamVjdCBpbiBhIHdheSB3aGljaCBpcyBp
bmNvcnJlY3Qgd2l0aCByZWdhcmQgdG8gbmFtZXNwYWNlcy4iLAotICAgICJBIHBhcmFtZXRlciBv
ciBhbiBvcGVyYXRpb24gd2FzIG5vdCBzdXBwb3J0ZWQgYnkgdGhlIHVuZGVybHlpbmcgb2JqZWN0
LiIsCi0gICAgIkEgY2FsbCB0byBhIG1ldGhvZCBzdWNoIGFzIGluc2VydEJlZm9yZSBvciByZW1v
dmVDaGlsZCB3b3VsZCBtYWtlIHRoZSBOb2RlIGludmFsaWQgd2l0aCByZXNwZWN0IHRvIFwicGFy
dGlhbCB2YWxpZGl0eVwiLCB0aGlzIGV4Y2VwdGlvbiB3b3VsZCBiZSByYWlzZWQgYW5kIHRoZSBv
cGVyYXRpb24gd291bGQgbm90IGJlIGRvbmUuIiwKLSAgICAiVGhlIHR5cGUgb2YgYW4gb2JqZWN0
IHdhcyBpbmNvbXBhdGlibGUgd2l0aCB0aGUgZXhwZWN0ZWQgdHlwZSBvZiB0aGUgcGFyYW1ldGVy
IGFzc29jaWF0ZWQgdG8gdGhlIG9iamVjdC4iLAotICAgICJBbiBhdHRlbXB0IHdhcyBtYWRlIHRv
IGJyZWFrIHRocm91Z2ggdGhlIHNlY3VyaXR5IHBvbGljeSBvZiB0aGUgdXNlciBhZ2VudC4iLAot
ICAgIC8vIEZJWE1FOiBDb3VsZG4ndCBmaW5kIGEgZGVzY3JpcHRpb24gaW4gdGhlIEhUTUwvRE9N
IHNwZWNpZmljYXRpb25zIGZvciBORVRXT1JLX0VSUiwgQUJPUlRfRVJSLCBVUkxfTUlTTUFUQ0hf
RVJSLCBhbmQgUVVPVEFfRVhDRUVERURfRVJSCi0gICAgIkEgbmV0d29yayBlcnJvciBvY2N1cmVk
LiIsCi0gICAgIlRoZSB1c2VyIGFib3J0ZWQgYSByZXF1ZXN0LiIsCi0gICAgIkEgd29ya2VyIGds
b2JhbCBzY29wZSByZXByZXNlbnRlZCBhbiBhYnNvbHV0ZSBVUkwgdGhhdCBpcyBub3QgZXF1YWwg
dG8gdGhlIHJlc3VsdGluZyBhYnNvbHV0ZSBVUkwuIiwKLSAgICAiQW4gYXR0ZW1wdCB3YXMgbWFk
ZSB0byBhZGQgc29tZXRoaW5nIHRvIHN0b3JhZ2UgdGhhdCBleGNlZWRlZCB0aGUgcXVvdGEuIiwK
LSAgICAiQSB0aW1lb3V0IG9jY3VycmVkLiIsCi0gICAgIlRoZSBzdXBwbGllZCBub2RlIGlzIGlu
dmFsaWQgb3IgaGFzIGFuIGludmFsaWQgYW5jZXN0b3IgZm9yIHRoaXMgb3BlcmF0aW9uLiIsCi0g
ICAgIkFuIG9iamVjdCBjb3VsZCBub3QgYmUgY2xvbmVkLiIKLX07Ci0KLXN0YXRpYyBjb25zdCBj
aGFyKiBjb25zdCByYW5nZUV4Y2VwdGlvbk5hbWVzW10gPSB7Ci0gICAgIkJBRF9CT1VOREFSWVBP
SU5UU19FUlIiLAotICAgICJJTlZBTElEX05PREVfVFlQRV9FUlIiCi19OwotCi1zdGF0aWMgY29u
c3QgY2hhciogY29uc3QgcmFuZ2VFeGNlcHRpb25EZXNjcmlwdGlvbnNbXSA9IHsKLSAgICAiVGhl
IGJvdW5kYXJ5LXBvaW50cyBvZiBhIFJhbmdlIGRpZCBub3QgbWVldCBzcGVjaWZpYyByZXF1aXJl
bWVudHMuIiwKLSAgICAiVGhlIGNvbnRhaW5lciBvZiBhbiBib3VuZGFyeS1wb2ludCBvZiBhIFJh
bmdlIHdhcyBiZWluZyBzZXQgdG8gZWl0aGVyIGEgbm9kZSBvZiBhbiBpbnZhbGlkIHR5cGUgb3Ig
YSBub2RlIHdpdGggYW4gYW5jZXN0b3Igb2YgYW4gaW52YWxpZCB0eXBlLiIKLX07Ci0KLXN0YXRp
YyBjb25zdCBjaGFyKiBjb25zdCBldmVudEV4Y2VwdGlvbk5hbWVzW10gPSB7Ci0gICAgIlVOU1BF
Q0lGSUVEX0VWRU5UX1RZUEVfRVJSIiwKLSAgICAiRElTUEFUQ0hfUkVRVUVTVF9FUlIiCi19Owot
Ci1zdGF0aWMgY29uc3QgY2hhciogY29uc3QgZXZlbnRFeGNlcHRpb25EZXNjcmlwdGlvbnNbXSA9
IHsKLSAgICAiVGhlIEV2ZW50J3MgdHlwZSB3YXMgbm90IHNwZWNpZmllZCBieSBpbml0aWFsaXpp
bmcgdGhlIGV2ZW50IGJlZm9yZSB0aGUgbWV0aG9kIHdhcyBjYWxsZWQuIiwKLSAgICAiVGhlIEV2
ZW50IG9iamVjdCBpcyBhbHJlYWR5IGJlaW5nIGRpc3BhdGNoZWQuIgotfTsKLQotc3RhdGljIGNv
bnN0IGNoYXIqIGNvbnN0IHhtbEh0dHBSZXF1ZXN0RXhjZXB0aW9uTmFtZXNbXSA9IHsKLSAgICAi
TkVUV09SS19FUlIiLAotICAgICJBQk9SVF9FUlIiCi19OwotCi1zdGF0aWMgY29uc3QgY2hhciog
Y29uc3QgeG1sSHR0cFJlcXVlc3RFeGNlcHRpb25EZXNjcmlwdGlvbnNbXSA9IHsKLSAgICAiQSBu
ZXR3b3JrIGVycm9yIG9jY3VyZWQgaW4gc3luY2hyb25vdXMgcmVxdWVzdHMuIiwKLSAgICAiVGhl
IHVzZXIgYWJvcnRlZCBhIHJlcXVlc3QgaW4gc3luY2hyb25vdXMgcmVxdWVzdHMuIgotfTsKLQot
c3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IHhwYXRoRXhjZXB0aW9uTmFtZXNbXSA9IHsKLSAgICAi
SU5WQUxJRF9FWFBSRVNTSU9OX0VSUiIsCi0gICAgIlRZUEVfRVJSIgotfTsKLQotc3RhdGljIGNv
bnN0IGNoYXIqIGNvbnN0IHhwYXRoRXhjZXB0aW9uRGVzY3JpcHRpb25zW10gPSB7Ci0gICAgIlRo
ZSBleHByZXNzaW9uIGhhZCBhIHN5bnRheCBlcnJvciBvciBvdGhlcndpc2UgaXMgbm90IGEgbGVn
YWwgZXhwcmVzc2lvbiBhY2NvcmRpbmcgdG8gdGhlIHJ1bGVzIG9mIHRoZSBzcGVjaWZpYyBYUGF0
aEV2YWx1YXRvci4iLAotICAgICJUaGUgZXhwcmVzc2lvbiBjb3VsZCBub3QgYmUgY29udmVydGVk
IHRvIHJldHVybiB0aGUgc3BlY2lmaWVkIHR5cGUuIgotfTsKLQogI2lmIEVOQUJMRShTVkcpCi1z
dGF0aWMgY29uc3QgY2hhciogY29uc3Qgc3ZnRXhjZXB0aW9uTmFtZXNbXSA9IHsKLSAgICAiU1ZH
X1dST05HX1RZUEVfRVJSIiwKLSAgICAiU1ZHX0lOVkFMSURfVkFMVUVfRVJSIiwKLSAgICAiU1ZH
X01BVFJJWF9OT1RfSU5WRVJUQUJMRSIKLX07Ci0KLXN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBz
dmdFeGNlcHRpb25EZXNjcmlwdGlvbnNbXSA9IHsKLSAgICAiQW4gb2JqZWN0IG9mIHRoZSB3cm9u
ZyB0eXBlIHdhcyBwYXNzZWQgdG8gYW4gb3BlcmF0aW9uLiIsCi0gICAgIkFuIGludmFsaWQgdmFs
dWUgd2FzIHBhc3NlZCB0byBhbiBvcGVyYXRpb24gb3IgYXNzaWduZWQgdG8gYW4gYXR0cmlidXRl
LiIsCi0gICAgIkFuIGF0dGVtcHQgd2FzIG1hZGUgdG8gaW52ZXJ0IGEgbWF0cml4IHRoYXQgaXMg
bm90IGludmVydGlibGUuIgotfTsKLSNlbmRpZgotCi0jaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkK
LXN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBzcWxFeGNlcHRpb25OYW1lc1tdID0gewotICAgICJV
TktOT1dOX0VSUiIsCi0gICAgIkRBVEFCQVNFX0VSUiIsCi0gICAgIlZFUlNJT05fRVJSIiwKLSAg
ICAiVE9PX0xBUkdFX0VSUiIsCi0gICAgIlFVT1RBX0VSUiIsCi0gICAgIlNZTlRBWF9FUlIiLAot
ICAgICJDT05TVFJBSU5UX0VSUiIsCi0gICAgIlRJTUVPVVRfRVJSIgotfTsKLQotc3RhdGljIGNv
bnN0IGNoYXIqIGNvbnN0IHNxbEV4Y2VwdGlvbkRlc2NyaXB0aW9uc1tdID0gewotICAgICJUaGUg
b3BlcmF0aW9uIGZhaWxlZCBmb3IgcmVhc29ucyB1bnJlbGF0ZWQgdG8gdGhlIGRhdGFiYXNlLiIs
Ci0gICAgIlRoZSBvcGVyYXRpb24gZmFpbGVkIGZvciBzb21lIHJlYXNvbiByZWxhdGVkIHRvIHRo
ZSBkYXRhYmFzZS4iLAotICAgICJUaGUgYWN0dWFsIGRhdGFiYXNlIHZlcnNpb24gZGlkIG5vdCBt
YXRjaCB0aGUgZXhwZWN0ZWQgdmVyc2lvbi4iLAotICAgICJEYXRhIHJldHVybmVkIGZyb20gdGhl
IGRhdGFiYXNlIGlzIHRvbyBsYXJnZS4iLAotICAgICJRdW90YSB3YXMgZXhjZWVkZWQuIiwKLSAg
ICAiSW52YWxpZCBvciB1bmF1dGhvcml6ZWQgc3RhdGVtZW50OyBvciB0aGUgbnVtYmVyIG9mIGFy
Z3VtZW50cyBkaWQgbm90IG1hdGNoIHRoZSBudW1iZXIgb2YgPyBwbGFjZWhvbGRlcnMuIiwKLSAg
ICAiQSBjb25zdHJhaW50IHdhcyB2aW9sYXRlZC4iLAotICAgICJBIHRyYW5zYWN0aW9uIGxvY2sg
Y291bGQgbm90IGJlIGFjcXVpcmVkIGluIGEgcmVhc29uYWJsZSB0aW1lLiIKLX07Ci0jZW5kaWYK
LQotI2lmIEVOQUJMRShCTE9CKSB8fCBFTkFCTEUoRklMRV9TWVNURU0pCi1zdGF0aWMgY29uc3Qg
Y2hhciogY29uc3QgZmlsZUV4Y2VwdGlvbk5hbWVzW10gPSB7Ci0gICAgIk5PVF9GT1VORF9FUlIi
LAotICAgICJTRUNVUklUWV9FUlIiLAotICAgICJBQk9SVF9FUlIiLAotICAgICJOT1RfUkVBREFC
TEVfRVJSIiwKLSAgICAiRU5DT0RJTkdfRVJSIiwKLSAgICAiTk9fTU9ESUZJQ0FUSU9OX0FMTE9X
RURfRVJSIiwKLSAgICAiSU5WQUxJRF9TVEFURV9FUlIiLAotICAgICJTWU5UQVhfRVJSIiwKLSAg
ICAiSU5WQUxJRF9NT0RJRklDQVRJT05fRVJSIiwKLSAgICAiUVVPVEFfRVhDRUVERURfRVJSIiwK
LSAgICAiVFlQRV9NSVNNQVRDSF9FUlIiLAotICAgICJQQVRIX0VYSVNUU19FUlIiCi19OwotCi1z
dGF0aWMgY29uc3QgY2hhciogY29uc3QgZmlsZUV4Y2VwdGlvbkRlc2NyaXB0aW9uc1tdID0gewot
ICAgICJBIHJlcXVlc3RlZCBmaWxlIG9yIGRpcmVjdG9yeSBjb3VsZCBub3QgYmUgZm91bmQgYXQg
dGhlIHRpbWUgYW4gb3BlcmF0aW9uIHdhcyBwcm9jZXNzZWQuIiwKLSAgICAiSXQgd2FzIGRldGVy
bWluZWQgdGhhdCBjZXJ0YWluIGZpbGVzIGFyZSB1bnNhZmUgZm9yIGFjY2VzcyB3aXRoaW4gYSBX
ZWIgYXBwbGljYXRpb24sIG9yIHRoYXQgdG9vIG1hbnkgY2FsbHMgYXJlIGJlaW5nIG1hZGUgb24g
ZmlsZSByZXNvdXJjZXMuIiwKLSAgICAiQW4gb25nb2luZyBvcGVyYXRpb24gd2FzIGFib3J0ZWQs
IHR5cGljYWxseSB3aXRoIGEgY2FsbCB0byBhYm9ydCgpLiIsCi0gICAgIlRoZSByZXF1ZXN0ZWQg
ZmlsZSBjb3VsZCBub3QgYmUgcmVhZCwgdHlwaWNhbGx5IGR1ZSB0byBwZXJtaXNzaW9uIHByb2Js
ZW1zIHRoYXQgaGF2ZSBvY2N1cmVkIGFmdGVyIGEgcmVmZXJlbmNlIHRvIGEgZmlsZSB3YXMgYWNx
dWlyZWQuIiwKLSAgICAiQSBVUkkgc3VwcGxpZWQgdG8gdGhlIEFQSSB3YXMgbWFsZm9ybWVkLCBv
ciB0aGUgcmVzdWx0aW5nIERhdGEgVVJMIGhhcyBleGNlZWRlZCB0aGUgVVJMIGxlbmd0aCBsaW1p
dGF0aW9ucyBmb3IgRGF0YSBVUkxzLiIsCi0gICAgIkFuIGF0dGVtcHQgd2FzIG1hZGUgdG8gd3Jp
dGUgdG8gYSBmaWxlIG9yIGRpcmVjdG9yeSB3aGljaCBjb3VsZCBub3QgYmUgbW9kaWZpZWQgZHVl
IHRvIHRoZSBzdGF0ZSBvZiB0aGUgdW5kZXJseWluZyBmaWxlc3lzdGVtLiIsCi0gICAgIkFuIG9w
ZXJhdGlvbiB0aGF0IGRlcGVuZHMgb24gc3RhdGUgY2FjaGVkIGluIGFuIGludGVyZmFjZSBvYmpl
Y3Qgd2FzIG1hZGUgYnV0IHRoZSBzdGF0ZSBoYWQgY2hhbmdlZCBzaW5jZSBpdCB3YXMgcmVhZCBm
cm9tIGRpc2suIiwKLSAgICAiQW4gaW52YWxpZCBvciB1bnN1cHBvcnRlZCBhcmd1bWVudCB3YXMg
Z2l2ZW4sIGxpa2UgYW4gaW52YWxpZCBsaW5lIGVuZGluZyBzcGVjaWZpZXIuIiwKLSAgICAiVGhl
IG1vZGlmaWNhdGlvbiByZXF1ZXN0IHdhcyBpbGxlZ2FsLiIsCi0gICAgIlRoZSBvcGVyYXRpb24g
ZmFpbGVkIGJlY2F1c2UgaXQgd291bGQgY2F1c2UgdGhlIGFwcGxpY2F0aW9uIHRvIGV4Y2VlZCBp
dHMgc3RvcmFnZSBxdW90YS4iLAotICAgICJUaGUgcGF0aCBzdXBwbGllZCBleGlzdHMsIGJ1dCB3
YXMgbm90IGFuIGVudHJ5IG9mIHJlcXVlc3RlZCB0eXBlLiIsCi0gICAgIkFuIGF0dGVtcHQgd2Fz
IG1hZGUgdG8gY3JlYXRlIGEgZmlsZSBvciBkaXJlY3Rvcnkgd2hlcmUgYW4gZWxlbWVudCBhbHJl
YWR5IGV4aXN0cy4iCi19OwotCi1zdGF0aWMgY29uc3QgY2hhciogY29uc3Qgb3BlcmF0aW9uTm90
QWxsb3dlZEV4Y2VwdGlvbk5hbWVzW10gPSB7Ci0gICAgIk5PVF9BTExPV0VEX0VSUiIKLX07Ci0K
LXN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBvcGVyYXRpb25Ob3RBbGxvd2VkRXhjZXB0aW9uRGVz
Y3JpcHRpb25zW10gPSB7Ci0gICAgIkEgcmVhZCBtZXRob2Qgd2FzIGNhbGxlZCB3aGlsZSB0aGUg
b2JqZWN0IHdhcyBpbiB0aGUgTE9BRElORyBzdGF0ZSBkdWUgdG8gYSBwcmV2aW91cyByZWFkIGNh
bGwuIgotfTsKKyNpbmNsdWRlICJTVkdFeGNlcHRpb24uaCIKICNlbmRpZgorI2luY2x1ZGUgIlhN
TEh0dHBSZXF1ZXN0RXhjZXB0aW9uLmgiCisjaW5jbHVkZSAiWFBhdGhFeGNlcHRpb24uaCIKIAot
I2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQotc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IGlk
YkRhdGFiYXNlRXhjZXB0aW9uTmFtZXNbXSA9IHsKLSAgICAiVU5LTk9XTl9FUlIiLAotICAgICJO
T05fVFJBTlNJRU5UX0VSUiIsCi0gICAgIk5PVF9GT1VORF9FUlIiLAotICAgICJDT05TVFJBSU5U
X0VSUiIsCi0gICAgIkRBVEFfRVJSIiwKLSAgICAiTk9UX0FMTE9XRURfRVJSIiwKLSAgICAiU0VS
SUFMX0VSUiIsCi0gICAgIlJFQ09WRVJBQkxFX0VSUiIsCi0gICAgIlRSQU5TSUVOVF9FUlIiLAot
ICAgICJUSU1FT1VUX0VSUiIsCi0gICAgIkRFQURMT0NLX0VSUiIsCi0gICAgIlJFQURfT05MWV9F
UlIiLAotICAgICJBQk9SVF9FUlIiCi19OwotCi1zdGF0aWMgY29uc3QgY2hhciogY29uc3QgaWRi
RGF0YWJhc2VFeGNlcHRpb25EZXNjcmlwdGlvbnNbXSA9IHsKLSAgICAiQW4gdW5rbm93biBlcnJv
ciBvY2N1cnJlZCB3aXRoaW4gSW5kZXhlZCBEYXRhYmFzZS4iLAotICAgICJOT05fVFJBTlNJRU5U
X0VSUiIsIC8vIEZJWE1FOiBXcml0ZSBhIGJldHRlciBtZXNzYWdlIGlmIGl0J3MgZXZlciBwb3Nz
aWJsZSB0aGlzIGlzIHRocm93bi4KLSAgICAiVGhlIG5hbWUgc3VwcGxpZWQgZG9lcyBub3QgbWF0
Y2ggYW55IGV4aXN0aW5nIGl0ZW0uIiwKLSAgICAiVGhlIHJlcXVlc3QgY2Fubm90IGJlIGNvbXBs
ZXRlZCBkdWUgdG8gYSBmYWlsZWQgY29uc3RyYWludC4iLAotICAgICJUaGUgZGF0YSBwcm92aWRl
ZCBkb2VzIG5vdCBtZWV0IHRoZSByZXF1aXJlbWVudHMgb2YgdGhlIGZ1bmN0aW9uLiIsCi0gICAg
IlRoaXMgZnVuY3Rpb24gaXMgbm90IGFsbG93ZWQgdG8gYmUgY2FsbGVkIGluIHN1Y2ggYSBjb250
ZXh0LiIsCi0gICAgIlRoZSBkYXRhIHN1cHBsaWVkIGNhbm5vdCBiZSBzZXJpYWxpemVkIGFjY29y
ZGluZyB0byB0aGUgc3RydWN0dXJlZCBjbG9uaW5nIGFsZ29yaXRobS4iLAotICAgICJSRUNPVkVS
QUJMRV9FUlIiLCAvLyBGSVhNRTogVGhpcyBpc24ndCBldmVuIHVzZWQuCi0gICAgIlRSQU5TSUVO
VF9FUlIiLCAvLyBGSVhNRTogVGhpcyBpc24ndCBldmVuIHVzZWQuCi0gICAgIlRJTUVPVVRfRVJS
IiwgLy8gVGhpcyBjYW4ndCBiZSB0aHJvd24uCi0gICAgIkRFQURMT0NLX0VSUiIsIC8vIFRoaXMg
Y2FuJ3QgYmUgdGhyb3duLgotICAgICJXcml0ZSBvcGVyYXRpb25zIGNhbm5vdCBiZSBwcmVmb3Jt
ZWQgb24gYSByZWFkLW9ubHkgdHJhbnNhY3Rpb24uIiwKLSAgICAiVGhlIHRyYW5zYWN0aW9uIHdh
cyBhYm9ydGVkLCBzbyB0aGUgcmVxdWVzdCBjYW5ub3QgYmUgZnVsZmlsbGVkLiIKLX07Ci0jZW5k
aWYKK25hbWVzcGFjZSBXZWJDb3JlIHsKIAogdm9pZCBnZXRFeGNlcHRpb25Db2RlRGVzY3JpcHRp
b24oRXhjZXB0aW9uQ29kZSBlYywgRXhjZXB0aW9uQ29kZURlc2NyaXB0aW9uJiBkZXNjcmlwdGlv
bikKIHsKICAgICBBU1NFUlQoZWMpOwogCi0gICAgY29uc3QgY2hhciogdHlwZU5hbWU7Ci0gICAg
aW50IGNvZGUgPSBlYzsKLSAgICBjb25zdCBjaGFyKiBjb25zdCogbmFtZVRhYmxlOwotICAgIGNv
bnN0IGNoYXIqIGNvbnN0KiBkZXNjcmlwdGlvblRhYmxlOwotICAgIGludCBuYW1lVGFibGVTaXpl
OwotICAgIGludCBuYW1lVGFibGVPZmZzZXQ7Ci0gICAgRXhjZXB0aW9uVHlwZSB0eXBlOwotCi0g
ICAgaWYgKGNvZGUgPj0gUmFuZ2VFeGNlcHRpb246OlJhbmdlRXhjZXB0aW9uT2Zmc2V0ICYmIGNv
ZGUgPD0gUmFuZ2VFeGNlcHRpb246OlJhbmdlRXhjZXB0aW9uTWF4KSB7Ci0gICAgICAgIHR5cGUg
PSBSYW5nZUV4Y2VwdGlvblR5cGU7Ci0gICAgICAgIHR5cGVOYW1lID0gIkRPTSBSYW5nZSI7Ci0g
ICAgICAgIGNvZGUgLT0gUmFuZ2VFeGNlcHRpb246OlJhbmdlRXhjZXB0aW9uT2Zmc2V0OwotICAg
ICAgICBuYW1lVGFibGUgPSByYW5nZUV4Y2VwdGlvbk5hbWVzOwotICAgICAgICBkZXNjcmlwdGlv
blRhYmxlID0gcmFuZ2VFeGNlcHRpb25EZXNjcmlwdGlvbnM7Ci0gICAgICAgIG5hbWVUYWJsZVNp
emUgPSBXVEZfQVJSQVlfTEVOR1RIKHJhbmdlRXhjZXB0aW9uTmFtZXMpOwotICAgICAgICBuYW1l
VGFibGVPZmZzZXQgPSBSYW5nZUV4Y2VwdGlvbjo6QkFEX0JPVU5EQVJZUE9JTlRTX0VSUjsKLSAg
ICB9IGVsc2UgaWYgKGNvZGUgPj0gRXZlbnRFeGNlcHRpb246OkV2ZW50RXhjZXB0aW9uT2Zmc2V0
ICYmIGNvZGUgPD0gRXZlbnRFeGNlcHRpb246OkV2ZW50RXhjZXB0aW9uTWF4KSB7Ci0gICAgICAg
IHR5cGUgPSBFdmVudEV4Y2VwdGlvblR5cGU7Ci0gICAgICAgIHR5cGVOYW1lID0gIkRPTSBFdmVu
dHMiOwotICAgICAgICBjb2RlIC09IEV2ZW50RXhjZXB0aW9uOjpFdmVudEV4Y2VwdGlvbk9mZnNl
dDsKLSAgICAgICAgbmFtZVRhYmxlID0gZXZlbnRFeGNlcHRpb25OYW1lczsKLSAgICAgICAgZGVz
Y3JpcHRpb25UYWJsZSA9IGV2ZW50RXhjZXB0aW9uRGVzY3JpcHRpb25zOwotICAgICAgICBuYW1l
VGFibGVTaXplID0gV1RGX0FSUkFZX0xFTkdUSChldmVudEV4Y2VwdGlvbk5hbWVzKTsKLSAgICAg
ICAgbmFtZVRhYmxlT2Zmc2V0ID0gRXZlbnRFeGNlcHRpb246OlVOU1BFQ0lGSUVEX0VWRU5UX1RZ
UEVfRVJSOwotICAgIH0gZWxzZSBpZiAoY29kZSA+PSBYTUxIdHRwUmVxdWVzdEV4Y2VwdGlvbjo6
WE1MSHR0cFJlcXVlc3RFeGNlcHRpb25PZmZzZXQgJiYgY29kZSA8PSBYTUxIdHRwUmVxdWVzdEV4
Y2VwdGlvbjo6WE1MSHR0cFJlcXVlc3RFeGNlcHRpb25NYXgpIHsKLSAgICAgICAgdHlwZSA9IFhN
TEh0dHBSZXF1ZXN0RXhjZXB0aW9uVHlwZTsKLSAgICAgICAgdHlwZU5hbWUgPSAiWE1MSHR0cFJl
cXVlc3QiOwotICAgICAgICBjb2RlIC09IFhNTEh0dHBSZXF1ZXN0RXhjZXB0aW9uOjpYTUxIdHRw
UmVxdWVzdEV4Y2VwdGlvbk9mZnNldDsKLSAgICAgICAgbmFtZVRhYmxlID0geG1sSHR0cFJlcXVl
c3RFeGNlcHRpb25OYW1lczsKLSAgICAgICAgZGVzY3JpcHRpb25UYWJsZSA9IHhtbEh0dHBSZXF1
ZXN0RXhjZXB0aW9uRGVzY3JpcHRpb25zOwotICAgICAgICBuYW1lVGFibGVTaXplID0gV1RGX0FS
UkFZX0xFTkdUSCh4bWxIdHRwUmVxdWVzdEV4Y2VwdGlvbk5hbWVzKTsKLSAgICAgICAgLy8gWE1M
SHR0cFJlcXVlc3QgZXhjZXB0aW9uIGNvZGVzIHN0YXJ0IHdpdGggMTAxIGFuZCB3ZSBkb24ndCB3
YW50IDEwMCBlbXB0eSBlbGVtZW50cyBpbiB0aGUgbmFtZSBhcnJheQotICAgICAgICBuYW1lVGFi
bGVPZmZzZXQgPSBYTUxIdHRwUmVxdWVzdEV4Y2VwdGlvbjo6TkVUV09SS19FUlI7Ci0gICAgfSBl
bHNlIGlmIChjb2RlID49IFhQYXRoRXhjZXB0aW9uOjpYUGF0aEV4Y2VwdGlvbk9mZnNldCAmJiBj
b2RlIDw9IFhQYXRoRXhjZXB0aW9uOjpYUGF0aEV4Y2VwdGlvbk1heCkgewotICAgICAgICB0eXBl
ID0gWFBhdGhFeGNlcHRpb25UeXBlOwotICAgICAgICB0eXBlTmFtZSA9ICJET00gWFBhdGgiOwot
ICAgICAgICBjb2RlIC09IFhQYXRoRXhjZXB0aW9uOjpYUGF0aEV4Y2VwdGlvbk9mZnNldDsKLSAg
ICAgICAgbmFtZVRhYmxlID0geHBhdGhFeGNlcHRpb25OYW1lczsKLSAgICAgICAgZGVzY3JpcHRp
b25UYWJsZSA9IHhwYXRoRXhjZXB0aW9uRGVzY3JpcHRpb25zOwotICAgICAgICBuYW1lVGFibGVT
aXplID0gV1RGX0FSUkFZX0xFTkdUSCh4cGF0aEV4Y2VwdGlvbk5hbWVzKTsKLSAgICAgICAgLy8g
WFBhdGggZXhjZXB0aW9uIGNvZGVzIHN0YXJ0IHdpdGggNTEgYW5kIHdlIGRvbid0IHdhbnQgNTEg
ZW1wdHkgZWxlbWVudHMgaW4gdGhlIG5hbWUgYXJyYXkKLSAgICAgICAgbmFtZVRhYmxlT2Zmc2V0
ID0gWFBhdGhFeGNlcHRpb246OklOVkFMSURfRVhQUkVTU0lPTl9FUlI7Ci0jaWYgRU5BQkxFKFNW
RykKLSAgICB9IGVsc2UgaWYgKGNvZGUgPj0gU1ZHRXhjZXB0aW9uOjpTVkdFeGNlcHRpb25PZmZz
ZXQgJiYgY29kZSA8PSBTVkdFeGNlcHRpb246OlNWR0V4Y2VwdGlvbk1heCkgewotICAgICAgICB0
eXBlID0gU1ZHRXhjZXB0aW9uVHlwZTsKLSAgICAgICAgdHlwZU5hbWUgPSAiRE9NIFNWRyI7Ci0g
ICAgICAgIGNvZGUgLT0gU1ZHRXhjZXB0aW9uOjpTVkdFeGNlcHRpb25PZmZzZXQ7Ci0gICAgICAg
IG5hbWVUYWJsZSA9IHN2Z0V4Y2VwdGlvbk5hbWVzOwotICAgICAgICBkZXNjcmlwdGlvblRhYmxl
ID0gc3ZnRXhjZXB0aW9uRGVzY3JpcHRpb25zOwotICAgICAgICBuYW1lVGFibGVTaXplID0gV1RG
X0FSUkFZX0xFTkdUSChzdmdFeGNlcHRpb25OYW1lcyk7Ci0gICAgICAgIG5hbWVUYWJsZU9mZnNl
dCA9IFNWR0V4Y2VwdGlvbjo6U1ZHX1dST05HX1RZUEVfRVJSOworICAgIGlmIChFdmVudEV4Y2Vw
dGlvbjo6aW5pdGlhbGl6ZURlc2NyaXB0aW9uKGVjLCAmZGVzY3JpcHRpb24pKQorICAgICAgICBy
ZXR1cm47CisjaWYgRU5BQkxFKEJMT0IpCisgICAgaWYgKEZpbGVFeGNlcHRpb246OmluaXRpYWxp
emVEZXNjcmlwdGlvbihlYywgJmRlc2NyaXB0aW9uKSkKKyAgICAgICAgcmV0dXJuOwogI2VuZGlm
Ci0jaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKLSAgICB9IGVsc2UgaWYgKGNvZGUgPj0gU1FMRXhj
ZXB0aW9uOjpTUUxFeGNlcHRpb25PZmZzZXQgJiYgY29kZSA8PSBTUUxFeGNlcHRpb246OlNRTEV4
Y2VwdGlvbk1heCkgewotICAgICAgICB0eXBlID0gU1FMRXhjZXB0aW9uVHlwZTsKLSAgICAgICAg
dHlwZU5hbWUgPSAiRE9NIFNRTCI7Ci0gICAgICAgIGNvZGUgLT0gU1FMRXhjZXB0aW9uOjpTUUxF
eGNlcHRpb25PZmZzZXQ7Ci0gICAgICAgIG5hbWVUYWJsZSA9IHNxbEV4Y2VwdGlvbk5hbWVzOwot
ICAgICAgICBkZXNjcmlwdGlvblRhYmxlID0gc3FsRXhjZXB0aW9uRGVzY3JpcHRpb25zOwotICAg
ICAgICBuYW1lVGFibGVTaXplID0gV1RGX0FSUkFZX0xFTkdUSChzcWxFeGNlcHRpb25OYW1lcyk7
Ci0gICAgICAgIG5hbWVUYWJsZU9mZnNldCA9IFNRTEV4Y2VwdGlvbjo6VU5LTk9XTl9FUlI7Cisj
aWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCisgICAgaWYgKElEQkRhdGFiYXNlRXhjZXB0aW9u
Ojppbml0aWFsaXplRGVzY3JpcHRpb24oZWMsICZkZXNjcmlwdGlvbikpCisgICAgICAgIHJldHVy
bjsKICNlbmRpZgotI2lmIEVOQUJMRShCTE9CKSB8fCBFTkFCTEUoRklMRV9TWVNURU0pCi0gICAg
fSBlbHNlIGlmIChjb2RlID49IEZpbGVFeGNlcHRpb246OkZpbGVFeGNlcHRpb25PZmZzZXQgJiYg
Y29kZSA8PSBGaWxlRXhjZXB0aW9uOjpGaWxlRXhjZXB0aW9uTWF4KSB7Ci0gICAgICAgIHR5cGUg
PSBGaWxlRXhjZXB0aW9uVHlwZTsKLSAgICAgICAgdHlwZU5hbWUgPSAiRE9NIEZpbGUiOwotICAg
ICAgICBjb2RlIC09IEZpbGVFeGNlcHRpb246OkZpbGVFeGNlcHRpb25PZmZzZXQ7Ci0gICAgICAg
IG5hbWVUYWJsZSA9IGZpbGVFeGNlcHRpb25OYW1lczsKLSAgICAgICAgZGVzY3JpcHRpb25UYWJs
ZSA9IGZpbGVFeGNlcHRpb25EZXNjcmlwdGlvbnM7Ci0gICAgICAgIG5hbWVUYWJsZVNpemUgPSBX
VEZfQVJSQVlfTEVOR1RIKGZpbGVFeGNlcHRpb25OYW1lcyk7Ci0gICAgICAgIG5hbWVUYWJsZU9m
ZnNldCA9IEZpbGVFeGNlcHRpb246Ok5PVF9GT1VORF9FUlI7Ci0gICAgfSBlbHNlIGlmIChjb2Rl
ID49IE9wZXJhdGlvbk5vdEFsbG93ZWRFeGNlcHRpb246Ok9wZXJhdGlvbk5vdEFsbG93ZWRFeGNl
cHRpb25PZmZzZXQgJiYgY29kZSA8PSBPcGVyYXRpb25Ob3RBbGxvd2VkRXhjZXB0aW9uOjpPcGVy
YXRpb25Ob3RBbGxvd2VkRXhjZXB0aW9uTWF4KSB7Ci0gICAgICAgIHR5cGUgPSBPcGVyYXRpb25O
b3RBbGxvd2VkRXhjZXB0aW9uVHlwZTsKLSAgICAgICAgdHlwZU5hbWUgPSAiRE9NIE9wZXJhdGlv
bk5vdEFsbG93ZWQiOwotICAgICAgICBjb2RlIC09IE9wZXJhdGlvbk5vdEFsbG93ZWRFeGNlcHRp
b246Ok9wZXJhdGlvbk5vdEFsbG93ZWRFeGNlcHRpb25PZmZzZXQ7Ci0gICAgICAgIG5hbWVUYWJs
ZSA9IG9wZXJhdGlvbk5vdEFsbG93ZWRFeGNlcHRpb25OYW1lczsKLSAgICAgICAgZGVzY3JpcHRp
b25UYWJsZSA9IG9wZXJhdGlvbk5vdEFsbG93ZWRFeGNlcHRpb25EZXNjcmlwdGlvbnM7Ci0gICAg
ICAgIG5hbWVUYWJsZVNpemUgPSBXVEZfQVJSQVlfTEVOR1RIKG9wZXJhdGlvbk5vdEFsbG93ZWRF
eGNlcHRpb25OYW1lcyk7Ci0gICAgICAgIG5hbWVUYWJsZU9mZnNldCA9IE9wZXJhdGlvbk5vdEFs
bG93ZWRFeGNlcHRpb246Ok5PVF9BTExPV0VEX0VSUjsKKyAgICBpZiAoT3BlcmF0aW9uTm90QWxs
b3dlZEV4Y2VwdGlvbjo6aW5pdGlhbGl6ZURlc2NyaXB0aW9uKGVjLCAmZGVzY3JpcHRpb24pKQor
ICAgICAgICByZXR1cm47CisgICAgaWYgKFJhbmdlRXhjZXB0aW9uOjppbml0aWFsaXplRGVzY3Jp
cHRpb24oZWMsICZkZXNjcmlwdGlvbikpCisgICAgICAgIHJldHVybjsKKyNpZiBFTkFCTEUoU1FM
X0RBVEFCQVNFKQorICAgIGlmIChTUUxFeGNlcHRpb246OmluaXRpYWxpemVEZXNjcmlwdGlvbihl
YywgJmRlc2NyaXB0aW9uKSkKKyAgICAgICAgcmV0dXJuOwogI2VuZGlmCi0jaWYgRU5BQkxFKElO
REVYRURfREFUQUJBU0UpCi0gICAgfSBlbHNlIGlmIChjb2RlID49IElEQkRhdGFiYXNlRXhjZXB0
aW9uOjpJREJEYXRhYmFzZUV4Y2VwdGlvbk9mZnNldCAmJiBjb2RlIDw9IElEQkRhdGFiYXNlRXhj
ZXB0aW9uOjpJREJEYXRhYmFzZUV4Y2VwdGlvbk1heCkgewotICAgICAgICB0eXBlID0gSURCRGF0
YWJhc2VFeGNlcHRpb25UeXBlOwotICAgICAgICB0eXBlTmFtZSA9ICJET00gSURCRGF0YWJhc2Ui
OwotICAgICAgICBjb2RlIC09IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpJREJEYXRhYmFzZUV4Y2Vw
dGlvbk9mZnNldDsKLSAgICAgICAgbmFtZVRhYmxlID0gaWRiRGF0YWJhc2VFeGNlcHRpb25OYW1l
czsKLSAgICAgICAgZGVzY3JpcHRpb25UYWJsZSA9IGlkYkRhdGFiYXNlRXhjZXB0aW9uRGVzY3Jp
cHRpb25zOwotICAgICAgICBuYW1lVGFibGVTaXplID0gV1RGX0FSUkFZX0xFTkdUSChpZGJEYXRh
YmFzZUV4Y2VwdGlvbk5hbWVzKTsKLSAgICAgICAgbmFtZVRhYmxlT2Zmc2V0ID0gSURCRGF0YWJh
c2VFeGNlcHRpb246OlVOS05PV05fRVJSOworI2lmIEVOQUJMRShTVkcpCisgICAgaWYgKFNWR0V4
Y2VwdGlvbjo6aW5pdGlhbGl6ZURlc2NyaXB0aW9uKGVjLCAmZGVzY3JpcHRpb24pKQorICAgICAg
ICByZXR1cm47CiAjZW5kaWYKLSAgICB9IGVsc2UgewotICAgICAgICB0eXBlID0gRE9NRXhjZXB0
aW9uVHlwZTsKLSAgICAgICAgdHlwZU5hbWUgPSAiRE9NIjsKLSAgICAgICAgbmFtZVRhYmxlID0g
ZXhjZXB0aW9uTmFtZXM7Ci0gICAgICAgIGRlc2NyaXB0aW9uVGFibGUgPSBleGNlcHRpb25EZXNj
cmlwdGlvbnM7Ci0gICAgICAgIG5hbWVUYWJsZVNpemUgPSBXVEZfQVJSQVlfTEVOR1RIKGV4Y2Vw
dGlvbk5hbWVzKTsKLSAgICAgICAgbmFtZVRhYmxlT2Zmc2V0ID0gSU5ERVhfU0laRV9FUlI7Ci0g
ICAgfQotCi0gICAgZGVzY3JpcHRpb24udHlwZU5hbWUgPSB0eXBlTmFtZTsKLSAgICBkZXNjcmlw
dGlvbi5uYW1lID0gKGVjID49IG5hbWVUYWJsZU9mZnNldCAmJiBlYyAtIG5hbWVUYWJsZU9mZnNl
dCA8IG5hbWVUYWJsZVNpemUpID8gbmFtZVRhYmxlW2VjIC0gbmFtZVRhYmxlT2Zmc2V0XSA6IDA7
Ci0gICAgZGVzY3JpcHRpb24uZGVzY3JpcHRpb24gPSAoZWMgPj0gbmFtZVRhYmxlT2Zmc2V0ICYm
IGVjIC0gbmFtZVRhYmxlT2Zmc2V0IDwgbmFtZVRhYmxlU2l6ZSkgPyBkZXNjcmlwdGlvblRhYmxl
W2VjIC0gbmFtZVRhYmxlT2Zmc2V0XSA6IDA7Ci0gICAgZGVzY3JpcHRpb24uY29kZSA9IGNvZGU7
Ci0gICAgZGVzY3JpcHRpb24udHlwZSA9IHR5cGU7Ci0KLSAgICAvLyBBbGwgZXhjZXB0aW9ucyB1
c2VkIGluIHRoZSBET00gY29kZSBzaG91bGQgaGF2ZSBuYW1lcy4KLSAgICBBU1NFUlQoZGVzY3Jp
cHRpb24ubmFtZSk7Ci0gICAgQVNTRVJUKGRlc2NyaXB0aW9uLmRlc2NyaXB0aW9uKTsKKyAgICBp
ZiAoWE1MSHR0cFJlcXVlc3RFeGNlcHRpb246OmluaXRpYWxpemVEZXNjcmlwdGlvbihlYywgJmRl
c2NyaXB0aW9uKSkKKyAgICAgICAgcmV0dXJuOworICAgIGlmIChYUGF0aEV4Y2VwdGlvbjo6aW5p
dGlhbGl6ZURlc2NyaXB0aW9uKGVjLCAmZGVzY3JpcHRpb24pKQorICAgICAgICByZXR1cm47Cisg
ICAgaWYgKERPTUNvcmVFeGNlcHRpb246OmluaXRpYWxpemVEZXNjcmlwdGlvbihlYywgJmRlc2Ny
aXB0aW9uKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiB9
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9SYW5nZUV4Y2VwdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vUmFuZ2VFeGNlcHRpb24u
Y3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgzMjQyYWQxYzcwZTYzYTZlM2ZiMmYyNjBlMjk0MDg3YzFhZjMwZjEK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vUmFuZ2VFeGNlcHRpb24uY3Bw
CkBAIC0wLDAgKzEsNjUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuICBOZWl0aGVyIHRo
ZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgiQXBwbGUiKSBub3IgdGhlIG5hbWVzIG9m
CisgKiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZAorICogICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEdPT0dMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkK
KyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YK
KyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlJhbmdl
RXhjZXB0aW9uLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworLy8gRklYTUU6IFRoaXMgc2hv
dWxkIGJlIGFuIGFycmF5IG9mIHN0cnVjdHMgdG8gcGFpciB0aGUgbmFtZXMgYW5kIGRlc2NyaXB0
aW9ucy4KK3N0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBleGNlcHRpb25OYW1lc1tdID0geworICAg
ICJCQURfQk9VTkRBUllQT0lOVFNfRVJSIiwKKyAgICAiSU5WQUxJRF9OT0RFX1RZUEVfRVJSIgor
fTsKKworc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IGV4Y2VwdGlvbkRlc2NyaXB0aW9uc1tdID0g
eworICAgICJUaGUgYm91bmRhcnktcG9pbnRzIG9mIGEgUmFuZ2UgZGlkIG5vdCBtZWV0IHNwZWNp
ZmljIHJlcXVpcmVtZW50cy4iLAorICAgICJUaGUgY29udGFpbmVyIG9mIGFuIGJvdW5kYXJ5LXBv
aW50IG9mIGEgUmFuZ2Ugd2FzIGJlaW5nIHNldCB0byBlaXRoZXIgYSBub2RlIG9mIGFuIGludmFs
aWQgdHlwZSBvciBhIG5vZGUgd2l0aCBhbiBhbmNlc3RvciBvZiBhbiBpbnZhbGlkIHR5cGUuIgor
fTsKKworQ09NUElMRV9BU1NFUlQoV1RGX0FSUkFZX0xFTkdUSChleGNlcHRpb25OYW1lcykgPT0g
V1RGX0FSUkFZX0xFTkdUSChleGNlcHRpb25EZXNjcmlwdGlvbnMpLCBSYW5nZUV4Y2VwdGlvblRh
Ymxlc011c3RNYXRjaCk7CisKK2Jvb2wgUmFuZ2VFeGNlcHRpb246OmluaXRpYWxpemVEZXNjcmlw
dGlvbihFeGNlcHRpb25Db2RlIGVjLCBFeGNlcHRpb25Db2RlRGVzY3JpcHRpb24qIGRlc2NyaXB0
aW9uKQoreworICAgIGlmIChlYyA8IFJhbmdlRXhjZXB0aW9uT2Zmc2V0IHx8IGVjID4gUmFuZ2VF
eGNlcHRpb25NYXgpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGRlc2NyaXB0aW9uLT50
eXBlTmFtZSA9ICJET00gUmFuZ2UiOworICAgIGRlc2NyaXB0aW9uLT5jb2RlID0gZWMgLSBSYW5n
ZUV4Y2VwdGlvbk9mZnNldDsKKyAgICBkZXNjcmlwdGlvbi0+dHlwZSA9IFJhbmdlRXhjZXB0aW9u
VHlwZTsKKworICAgIHNpemVfdCB0YWJsZVNpemUgPSBXVEZfQVJSQVlfTEVOR1RIKGV4Y2VwdGlv
bk5hbWVzKTsKKyAgICBzaXplX3QgdGFibGVJbmRleCA9IGVjIC0gQkFEX0JPVU5EQVJZUE9JTlRT
X0VSUjsKKworICAgIGRlc2NyaXB0aW9uLT5uYW1lID0gdGFibGVJbmRleCA8IHRhYmxlU2l6ZSA/
IGV4Y2VwdGlvbk5hbWVzW3RhYmxlSW5kZXhdIDogMDsKKyAgICBkZXNjcmlwdGlvbi0+ZGVzY3Jp
cHRpb24gPSB0YWJsZUluZGV4IDwgdGFibGVTaXplID8gZXhjZXB0aW9uRGVzY3JpcHRpb25zW3Rh
YmxlSW5kZXhdIDogMDsKKworICAgIHJldHVybiB0cnVlOworfQorCit9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vUmFuZ2VFeGNlcHRpb24uaCBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9SYW5nZUV4Y2VwdGlvbi5oCmluZGV4IGI4NzQzZGFlZjJlNzM1
ZDE2MGMzNTJhNWQyMzRiZmQ4YTAzNTAxODUuLmQyNDg5ZmZiNjJmNjk1OTEzYjIxODdiOTM4YWJi
Y2Y4YWM0YWNmNTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9SYW5nZUV4Y2VwdGlv
bi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9SYW5nZUV4Y2VwdGlvbi5oCkBAIC00NCw2ICs0
NCw4IEBAIHB1YmxpYzoKICAgICAgICAgSU5WQUxJRF9OT0RFX1RZUEVfRVJSCiAgICAgfTsKIAor
ICAgIHN0YXRpYyBib29sIGluaXRpYWxpemVEZXNjcmlwdGlvbihFeGNlcHRpb25Db2RlLCBFeGNl
cHRpb25Db2RlRGVzY3JpcHRpb24qKTsKKwogcHJpdmF0ZToKICAgICBSYW5nZUV4Y2VwdGlvbihj
b25zdCBFeGNlcHRpb25Db2RlRGVzY3JpcHRpb24mIGRlc2NyaXB0aW9uKQogICAgICAgICA6IEV4
Y2VwdGlvbkJhc2UoZGVzY3JpcHRpb24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9maWxl
YXBpL0ZpbGVFeGNlcHRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxlRXhjZXB0
aW9uLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi42NTZiMTYzODY4ZGU0NGVjNWQ2NjgyZDBkZTIxZTQzYTUyNzg5
ZTg4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxlRXhjZXB0
aW9uLmNwcApAQCAtMCwwICsxLDkwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2ds
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiAgTmVp
dGhlciB0aGUgbmFtZSBvZiBBcHBsZSBDb21wdXRlciwgSW5jLiAoIkFwcGxlIikgbm9yIHRoZSBu
YW1lcyBvZgorICogICAgIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKKyAqICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBHT09HTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBB
TkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOwor
ICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2lmIEVO
QUJMRShCTE9CKSB8fCBFTkFCTEUoRklMRV9TWVNURU0pCisKKyNpbmNsdWRlICJGaWxlRXhjZXB0
aW9uLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworLy8gRklYTUU6IFRoaXMgc2hvdWxkIGJl
IGFuIGFycmF5IG9mIHN0cnVjdHMgdG8gcGFpciB0aGUgbmFtZXMgYW5kIGRlc2NyaXB0aW9ucy4K
K3N0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBleGNlcHRpb25OYW1lc1tdID0geworICAgICJOT1Rf
Rk9VTkRfRVJSIiwKKyAgICAiU0VDVVJJVFlfRVJSIiwKKyAgICAiQUJPUlRfRVJSIiwKKyAgICAi
Tk9UX1JFQURBQkxFX0VSUiIsCisgICAgIkVOQ09ESU5HX0VSUiIsCisgICAgIk5PX01PRElGSUNB
VElPTl9BTExPV0VEX0VSUiIsCisgICAgIklOVkFMSURfU1RBVEVfRVJSIiwKKyAgICAiU1lOVEFY
X0VSUiIsCisgICAgIklOVkFMSURfTU9ESUZJQ0FUSU9OX0VSUiIsCisgICAgIlFVT1RBX0VYQ0VF
REVEX0VSUiIsCisgICAgIlRZUEVfTUlTTUFUQ0hfRVJSIiwKKyAgICAiUEFUSF9FWElTVFNfRVJS
IgorfTsKKworc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IGV4Y2VwdGlvbkRlc2NyaXB0aW9uc1td
ID0geworICAgICJBIHJlcXVlc3RlZCBmaWxlIG9yIGRpcmVjdG9yeSBjb3VsZCBub3QgYmUgZm91
bmQgYXQgdGhlIHRpbWUgYW4gb3BlcmF0aW9uIHdhcyBwcm9jZXNzZWQuIiwKKyAgICAiSXQgd2Fz
IGRldGVybWluZWQgdGhhdCBjZXJ0YWluIGZpbGVzIGFyZSB1bnNhZmUgZm9yIGFjY2VzcyB3aXRo
aW4gYSBXZWIgYXBwbGljYXRpb24sIG9yIHRoYXQgdG9vIG1hbnkgY2FsbHMgYXJlIGJlaW5nIG1h
ZGUgb24gZmlsZSByZXNvdXJjZXMuIiwKKyAgICAiQW4gb25nb2luZyBvcGVyYXRpb24gd2FzIGFi
b3J0ZWQsIHR5cGljYWxseSB3aXRoIGEgY2FsbCB0byBhYm9ydCgpLiIsCisgICAgIlRoZSByZXF1
ZXN0ZWQgZmlsZSBjb3VsZCBub3QgYmUgcmVhZCwgdHlwaWNhbGx5IGR1ZSB0byBwZXJtaXNzaW9u
IHByb2JsZW1zIHRoYXQgaGF2ZSBvY2N1cmVkIGFmdGVyIGEgcmVmZXJlbmNlIHRvIGEgZmlsZSB3
YXMgYWNxdWlyZWQuIiwKKyAgICAiQSBVUkkgc3VwcGxpZWQgdG8gdGhlIEFQSSB3YXMgbWFsZm9y
bWVkLCBvciB0aGUgcmVzdWx0aW5nIERhdGEgVVJMIGhhcyBleGNlZWRlZCB0aGUgVVJMIGxlbmd0
aCBsaW1pdGF0aW9ucyBmb3IgRGF0YSBVUkxzLiIsCisgICAgIkFuIGF0dGVtcHQgd2FzIG1hZGUg
dG8gd3JpdGUgdG8gYSBmaWxlIG9yIGRpcmVjdG9yeSB3aGljaCBjb3VsZCBub3QgYmUgbW9kaWZp
ZWQgZHVlIHRvIHRoZSBzdGF0ZSBvZiB0aGUgdW5kZXJseWluZyBmaWxlc3lzdGVtLiIsCisgICAg
IkFuIG9wZXJhdGlvbiB0aGF0IGRlcGVuZHMgb24gc3RhdGUgY2FjaGVkIGluIGFuIGludGVyZmFj
ZSBvYmplY3Qgd2FzIG1hZGUgYnV0IHRoZSBzdGF0ZSBoYWQgY2hhbmdlZCBzaW5jZSBpdCB3YXMg
cmVhZCBmcm9tIGRpc2suIiwKKyAgICAiQW4gaW52YWxpZCBvciB1bnN1cHBvcnRlZCBhcmd1bWVu
dCB3YXMgZ2l2ZW4sIGxpa2UgYW4gaW52YWxpZCBsaW5lIGVuZGluZyBzcGVjaWZpZXIuIiwKKyAg
ICAiVGhlIG1vZGlmaWNhdGlvbiByZXF1ZXN0IHdhcyBpbGxlZ2FsLiIsCisgICAgIlRoZSBvcGVy
YXRpb24gZmFpbGVkIGJlY2F1c2UgaXQgd291bGQgY2F1c2UgdGhlIGFwcGxpY2F0aW9uIHRvIGV4
Y2VlZCBpdHMgc3RvcmFnZSBxdW90YS4iLAorICAgICJUaGUgcGF0aCBzdXBwbGllZCBleGlzdHMs
IGJ1dCB3YXMgbm90IGFuIGVudHJ5IG9mIHJlcXVlc3RlZCB0eXBlLiIsCisgICAgIkFuIGF0dGVt
cHQgd2FzIG1hZGUgdG8gY3JlYXRlIGEgZmlsZSBvciBkaXJlY3Rvcnkgd2hlcmUgYW4gZWxlbWVu
dCBhbHJlYWR5IGV4aXN0cy4iCit9OworCitDT01QSUxFX0FTU0VSVChXVEZfQVJSQVlfTEVOR1RI
KGV4Y2VwdGlvbk5hbWVzKSA9PSBXVEZfQVJSQVlfTEVOR1RIKGV4Y2VwdGlvbkRlc2NyaXB0aW9u
cyksIEZpbGVFeGNlcHRpb25UYWJsZXNNdXN0TWF0Y2gpOworCitib29sIEZpbGVFeGNlcHRpb246
OmluaXRpYWxpemVEZXNjcmlwdGlvbihFeGNlcHRpb25Db2RlIGVjLCBFeGNlcHRpb25Db2RlRGVz
Y3JpcHRpb24qIGRlc2NyaXB0aW9uKQoreworICAgIGlmIChlYyA8IEZpbGVFeGNlcHRpb25PZmZz
ZXQgfHwgZWMgPiBGaWxlRXhjZXB0aW9uTWF4KQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAg
ICBkZXNjcmlwdGlvbi0+dHlwZU5hbWUgPSAiRE9NIEZpbGUiOworICAgIGRlc2NyaXB0aW9uLT5j
b2RlID0gZWMgLSBGaWxlRXhjZXB0aW9uT2Zmc2V0OworICAgIGRlc2NyaXB0aW9uLT50eXBlID0g
RmlsZUV4Y2VwdGlvblR5cGU7CisKKyAgICBzaXplX3QgdGFibGVTaXplID0gV1RGX0FSUkFZX0xF
TkdUSChleGNlcHRpb25OYW1lcyk7CisgICAgc2l6ZV90IHRhYmxlSW5kZXggPSBlYyAtIE5PVF9G
T1VORF9FUlI7CisKKyAgICBkZXNjcmlwdGlvbi0+bmFtZSA9IHRhYmxlSW5kZXggPCB0YWJsZVNp
emUgPyBleGNlcHRpb25OYW1lc1t0YWJsZUluZGV4XSA6IDA7CisgICAgZGVzY3JpcHRpb24tPmRl
c2NyaXB0aW9uID0gdGFibGVJbmRleCA8IHRhYmxlU2l6ZSA/IGV4Y2VwdGlvbkRlc2NyaXB0aW9u
c1t0YWJsZUluZGV4XSA6IDA7CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKEJMT0IpIHx8IEVOQUJMRShGSUxFX1NZU1RF
TSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZUV4Y2VwdGlvbi5oIGIv
U291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxlRXhjZXB0aW9uLmgKaW5kZXggYzNjYzYzODBhZWVi
ODdjMzg1ZjM2ZjgyODQ1ZTBjYjE2ZjI2N2QyOC4uMzhmMWVkNGFlOWZjOGNkMzUwNDQ3YjY1YTAy
NWJmZDc4ZTFiNjkwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxlRXhj
ZXB0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxlRXhjZXB0aW9uLmgKQEAg
LTY5LDYgKzY5LDggQEAgcHVibGljOgogICAgICAgICByZXR1cm4gZXJyb3JDb2RlICsgRmlsZUV4
Y2VwdGlvbk9mZnNldDsKICAgICB9CiAKKyAgICBzdGF0aWMgYm9vbCBpbml0aWFsaXplRGVzY3Jp
cHRpb24oRXhjZXB0aW9uQ29kZSwgRXhjZXB0aW9uQ29kZURlc2NyaXB0aW9uKik7CisKIHByaXZh
dGU6CiAgICAgRmlsZUV4Y2VwdGlvbihjb25zdCBFeGNlcHRpb25Db2RlRGVzY3JpcHRpb24mIGRl
c2NyaXB0aW9uKQogICAgICAgICA6IEV4Y2VwdGlvbkJhc2UoZGVzY3JpcHRpb24pCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL09wZXJhdGlvbk5vdEFsbG93ZWRFeGNlcHRpb24u
Y3BwIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9PcGVyYXRpb25Ob3RBbGxvd2VkRXhjZXB0aW9u
LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5lOTdjZmEwMzU1NDA0ODY4ZGRiNzQ1YjZkNDgyNmYzMDdhYzA1MzVm
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9PcGVyYXRpb25Ob3RB
bGxvd2VkRXhjZXB0aW9uLmNwcApAQCAtMCwwICsxLDY4IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKiAzLiAgTmVpdGhlciB0aGUgbmFtZSBvZiBBcHBsZSBDb21wdXRlciwgSW5jLiAoIkFwcGxl
Iikgbm9yIHRoZSBuYW1lcyBvZgorICogICAgIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKKyAqICAgICBmcm9tIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBHT09HTEUgQU5EIElUUyBDT05UUklCVVRP
UlMgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
CisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcu
aCIKKworI2lmIEVOQUJMRShCTE9CKSB8fCBFTkFCTEUoRklMRV9TWVNURU0pCisKKyNpbmNsdWRl
ICJPcGVyYXRpb25Ob3RBbGxvd2VkRXhjZXB0aW9uLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KworLy8gRklYTUU6IFRoaXMgc2hvdWxkIGJlIGFuIGFycmF5IG9mIHN0cnVjdHMgdG8gcGFpciB0
aGUgbmFtZXMgYW5kIGRlc2NyaXB0aW9ucy4KK3N0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBleGNl
cHRpb25OYW1lc1tdID0geworICAgICJOT1RfQUxMT1dFRF9FUlIiCit9OworCitzdGF0aWMgY29u
c3QgY2hhciogY29uc3QgZXhjZXB0aW9uRGVzY3JpcHRpb25zW10gPSB7CisgICAgIkEgcmVhZCBt
ZXRob2Qgd2FzIGNhbGxlZCB3aGlsZSB0aGUgb2JqZWN0IHdhcyBpbiB0aGUgTE9BRElORyBzdGF0
ZSBkdWUgdG8gYSBwcmV2aW91cyByZWFkIGNhbGwuIgorfTsKKworQ09NUElMRV9BU1NFUlQoV1RG
X0FSUkFZX0xFTkdUSChleGNlcHRpb25OYW1lcykgPT0gV1RGX0FSUkFZX0xFTkdUSChleGNlcHRp
b25EZXNjcmlwdGlvbnMpLCBPcGVyYXRpb25Ob3RBbGxvd2VkRXhjZXB0aW9uVGFibGVzTXVzdE1h
dGNoKTsKKworYm9vbCBPcGVyYXRpb25Ob3RBbGxvd2VkRXhjZXB0aW9uOjppbml0aWFsaXplRGVz
Y3JpcHRpb24oRXhjZXB0aW9uQ29kZSBlYywgRXhjZXB0aW9uQ29kZURlc2NyaXB0aW9uKiBkZXNj
cmlwdGlvbikKK3sKKyAgICBpZiAoZWMgPCBPcGVyYXRpb25Ob3RBbGxvd2VkRXhjZXB0aW9uT2Zm
c2V0IHx8IGVjID4gT3BlcmF0aW9uTm90QWxsb3dlZEV4Y2VwdGlvbk1heCkKKyAgICAgICAgcmV0
dXJuIGZhbHNlOworCisgICAgZGVzY3JpcHRpb24tPnR5cGVOYW1lID0gIkRPTSBPcGVyYXRpb25O
b3RBbGxvd2VkIjsKKyAgICBkZXNjcmlwdGlvbi0+Y29kZSA9IGVjIC0gT3BlcmF0aW9uTm90QWxs
b3dlZEV4Y2VwdGlvbk9mZnNldDsKKyAgICBkZXNjcmlwdGlvbi0+dHlwZSA9IE9wZXJhdGlvbk5v
dEFsbG93ZWRFeGNlcHRpb25UeXBlOworCisgICAgc2l6ZV90IHRhYmxlU2l6ZSA9IFdURl9BUlJB
WV9MRU5HVEgoZXhjZXB0aW9uTmFtZXMpOworICAgIHNpemVfdCB0YWJsZUluZGV4ID0gZWMgLSBO
T1RfQUxMT1dFRF9FUlI7CisKKyAgICBkZXNjcmlwdGlvbi0+bmFtZSA9IHRhYmxlSW5kZXggPCB0
YWJsZVNpemUgPyBleGNlcHRpb25OYW1lc1t0YWJsZUluZGV4XSA6IDA7CisgICAgZGVzY3JpcHRp
b24tPmRlc2NyaXB0aW9uID0gdGFibGVJbmRleCA8IHRhYmxlU2l6ZSA/IGV4Y2VwdGlvbkRlc2Ny
aXB0aW9uc1t0YWJsZUluZGV4XSA6IDA7CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKEJMT0IpIHx8IEVOQUJMRShGSUxF
X1NZU1RFTSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvT3BlcmF0aW9uTm90
QWxsb3dlZEV4Y2VwdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9PcGVyYXRpb25Ob3RB
bGxvd2VkRXhjZXB0aW9uLmgKaW5kZXggODE2YWYxZDlhNjljYTRjMzFhYWI3Zjk1YmFiNGFhMDMw
M2JhODBmYS4uYzNlOTU1OTVlMWQ2ZTVjN2VmM2RmMDcwZDE3NjgyNTk5ODUyZDlmMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9PcGVyYXRpb25Ob3RBbGxvd2VkRXhjZXB0aW9u
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9PcGVyYXRpb25Ob3RBbGxvd2VkRXhjZXB0
aW9uLmgKQEAgLTUxLDYgKzUxLDggQEAgcHVibGljOgogICAgICAgICBOT1RfQUxMT1dFRF9FUlIg
PSBPcGVyYXRpb25Ob3RBbGxvd2VkRXhjZXB0aW9uT2Zmc2V0ICsgMSwKICAgICB9OwogCisgICAg
c3RhdGljIGJvb2wgaW5pdGlhbGl6ZURlc2NyaXB0aW9uKEV4Y2VwdGlvbkNvZGUsIEV4Y2VwdGlv
bkNvZGVEZXNjcmlwdGlvbiopOworCiBwcml2YXRlOgogICAgIE9wZXJhdGlvbk5vdEFsbG93ZWRF
eGNlcHRpb24oY29uc3QgRXhjZXB0aW9uQ29kZURlc2NyaXB0aW9uJiBkZXNjcmlwdGlvbikKICAg
ICAgICAgOiBFeGNlcHRpb25CYXNlKGRlc2NyaXB0aW9uKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvc3RvcmFnZS9JREJEYXRhYmFzZUV4Y2VwdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9z
dG9yYWdlL0lEQkRhdGFiYXNlRXhjZXB0aW9uLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wZTg0NzAxMzMwZWQw
YWU0ZTYzYTg1NmU1ZjUxNzUwZTI1OTE2NmQ4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvc3RvcmFnZS9JREJEYXRhYmFzZUV4Y2VwdGlvbi5jcHAKQEAgLTAsMCArMSw5MiBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEu
ICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gIE5laXRoZXIgdGhlIG5hbWUgb2YgQXBwbGUgQ29t
cHV0ZXIsIEluYy4gKCJBcHBsZSIpIG5vciB0aGUgbmFtZXMgb2YKKyAqICAgICBpdHMgY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
CisgKiAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgR09PR0xF
IEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICog
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKKwor
I2luY2x1ZGUgIklEQkRhdGFiYXNlRXhjZXB0aW9uLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KworLy8gRklYTUU6IFRoaXMgc2hvdWxkIGJlIGFuIGFycmF5IG9mIHN0cnVjdHMgdG8gcGFpciB0
aGUgbmFtZXMgYW5kIGRlc2NyaXB0aW9ucy4KK3N0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBleGNl
cHRpb25OYW1lc1tdID0geworICAgICJVTktOT1dOX0VSUiIsCisgICAgIk5PTl9UUkFOU0lFTlRf
RVJSIiwKKyAgICAiTk9UX0ZPVU5EX0VSUiIsCisgICAgIkNPTlNUUkFJTlRfRVJSIiwKKyAgICAi
REFUQV9FUlIiLAorICAgICJOT1RfQUxMT1dFRF9FUlIiLAorICAgICJTRVJJQUxfRVJSIiwKKyAg
ICAiUkVDT1ZFUkFCTEVfRVJSIiwKKyAgICAiVFJBTlNJRU5UX0VSUiIsCisgICAgIlRJTUVPVVRf
RVJSIiwKKyAgICAiREVBRExPQ0tfRVJSIiwKKyAgICAiUkVBRF9PTkxZX0VSUiIsCisgICAgIkFC
T1JUX0VSUiIKK307CisKK3N0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBleGNlcHRpb25EZXNjcmlw
dGlvbnNbXSA9IHsKKyAgICAiQW4gdW5rbm93biBlcnJvciBvY2N1cnJlZCB3aXRoaW4gSW5kZXhl
ZCBEYXRhYmFzZS4iLAorICAgICJOT05fVFJBTlNJRU5UX0VSUiIsIC8vIEZJWE1FOiBXcml0ZSBh
IGJldHRlciBtZXNzYWdlIGlmIGl0J3MgZXZlciBwb3NzaWJsZSB0aGlzIGlzIHRocm93bi4KKyAg
ICAiVGhlIG5hbWUgc3VwcGxpZWQgZG9lcyBub3QgbWF0Y2ggYW55IGV4aXN0aW5nIGl0ZW0uIiwK
KyAgICAiVGhlIHJlcXVlc3QgY2Fubm90IGJlIGNvbXBsZXRlZCBkdWUgdG8gYSBmYWlsZWQgY29u
c3RyYWludC4iLAorICAgICJUaGUgZGF0YSBwcm92aWRlZCBkb2VzIG5vdCBtZWV0IHRoZSByZXF1
aXJlbWVudHMgb2YgdGhlIGZ1bmN0aW9uLiIsCisgICAgIlRoaXMgZnVuY3Rpb24gaXMgbm90IGFs
bG93ZWQgdG8gYmUgY2FsbGVkIGluIHN1Y2ggYSBjb250ZXh0LiIsCisgICAgIlRoZSBkYXRhIHN1
cHBsaWVkIGNhbm5vdCBiZSBzZXJpYWxpemVkIGFjY29yZGluZyB0byB0aGUgc3RydWN0dXJlZCBj
bG9uaW5nIGFsZ29yaXRobS4iLAorICAgICJSRUNPVkVSQUJMRV9FUlIiLCAvLyBGSVhNRTogVGhp
cyBpc24ndCBldmVuIHVzZWQuCisgICAgIlRSQU5TSUVOVF9FUlIiLCAvLyBGSVhNRTogVGhpcyBp
c24ndCBldmVuIHVzZWQuCisgICAgIlRJTUVPVVRfRVJSIiwgLy8gVGhpcyBjYW4ndCBiZSB0aHJv
d24uCisgICAgIkRFQURMT0NLX0VSUiIsIC8vIFRoaXMgY2FuJ3QgYmUgdGhyb3duLgorICAgICJX
cml0ZSBvcGVyYXRpb25zIGNhbm5vdCBiZSBwcmVmb3JtZWQgb24gYSByZWFkLW9ubHkgdHJhbnNh
Y3Rpb24uIiwKKyAgICAiVGhlIHRyYW5zYWN0aW9uIHdhcyBhYm9ydGVkLCBzbyB0aGUgcmVxdWVz
dCBjYW5ub3QgYmUgZnVsZmlsbGVkLiIKK307CisKK0NPTVBJTEVfQVNTRVJUKFdURl9BUlJBWV9M
RU5HVEgoZXhjZXB0aW9uTmFtZXMpID09IFdURl9BUlJBWV9MRU5HVEgoZXhjZXB0aW9uRGVzY3Jp
cHRpb25zKSk7CisKK2Jvb2wgSURCRGF0YWJhc2VFeGNlcHRpb246OmluaXRpYWxpemVEZXNjcmlw
dGlvbihFeGNlcHRpb25Db2RlIGVjLCBFeGNlcHRpb25Db2RlRGVzY3JpcHRpb24qIGRlc2NyaXB0
aW9uKQoreworICAgIGlmIChlYyA8IElEQkRhdGFiYXNlRXhjZXB0aW9uT2Zmc2V0IHx8IGVjID4g
SURCRGF0YWJhc2VFeGNlcHRpb25NYXgpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGRl
c2NyaXB0aW9uLT50eXBlTmFtZSA9ICJET00gSURCRGF0YWJhc2UiOworICAgIGRlc2NyaXB0aW9u
LT5jb2RlID0gZWMgLSBJREJEYXRhYmFzZUV4Y2VwdGlvbk9mZnNldDsKKyAgICBkZXNjcmlwdGlv
bi0+dHlwZSA9IElEQkRhdGFiYXNlRXhjZXB0aW9uVHlwZTsKKworICAgIHNpemVfdCB0YWJsZVNp
emUgPSBXVEZfQVJSQVlfTEVOR1RIKGV4Y2VwdGlvbk5hbWVzKTsKKyAgICBzaXplX3QgdGFibGVJ
bmRleCA9IGVjIC0gVU5LTk9XTl9FUlI7CisKKyAgICBkZXNjcmlwdGlvbi0+bmFtZSA9IHRhYmxl
SW5kZXggPCB0YWJsZVNpemUgPyBleGNlcHRpb25OYW1lc1t0YWJsZUluZGV4XSA6IDA7CisgICAg
ZGVzY3JpcHRpb24tPmRlc2NyaXB0aW9uID0gdGFibGVJbmRleCA8IHRhYmxlU2l6ZSA/IGRlc2Ny
aXB0aW9uVGFibGVbdGFibGVJbmRleF0gOiAwOworCisgICAgcmV0dXJuIHRydWU7Cit9CisKK30g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNF
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJEYXRhYmFzZUV4Y2VwdGlv
bi5oIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJEYXRhYmFzZUV4Y2VwdGlvbi5oCmluZGV4
IDIxOTkxZWU3ZmIyZWY5YzE0OWZjYWU3NDBiODQ4YzhkOTg3N2M3NmMuLmY2MDYwMzYyNGU1ZGFk
YzEyZjQwZTM1ZDY0MzUyZDY0ZWRlMDQzMzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0
b3JhZ2UvSURCRGF0YWJhc2VFeGNlcHRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdl
L0lEQkRhdGFiYXNlRXhjZXB0aW9uLmgKQEAgLTY2LDYgKzY2LDggQEAgcHVibGljOgogICAgICAg
ICByZXR1cm4gZXJyb3JDb2RlICsgSURCRGF0YWJhc2VFeGNlcHRpb25PZmZzZXQ7CiAgICAgfQog
CisgICAgc3RhdGljIGJvb2wgaW5pdGlhbGl6ZURlc2NyaXB0aW9uKEV4Y2VwdGlvbkNvZGUsIEV4
Y2VwdGlvbkNvZGVEZXNjcmlwdGlvbiopOworCiBwcml2YXRlOgogICAgIElEQkRhdGFiYXNlRXhj
ZXB0aW9uKGNvbnN0IEV4Y2VwdGlvbkNvZGVEZXNjcmlwdGlvbiYgZGVzY3JpcHRpb24pCiAgICAg
ICAgIDogRXhjZXB0aW9uQmFzZShkZXNjcmlwdGlvbikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3N0b3JhZ2UvU1FMRXhjZXB0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU1FM
RXhjZXB0aW9uLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wZTdiZTgyOWYxY2Q4MDk2ODhlZGI3ZmYyOTBhMDkx
NTkyNWFkZGEwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxF
eGNlcHRpb24uY3BwCkBAIC0wLDAgKzEsODIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEg
R29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMu
ICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgiQXBwbGUiKSBub3Ig
dGhlIG5hbWVzIG9mCisgKiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAorICogICAgIGZyb20gdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEdPT0dMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMg
SVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisj
aWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKKworI2luY2x1ZGUgIlNRTEV4Y2VwdGlvbi5oIgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKKy8vIEZJWE1FOiBUaGlzIHNob3VsZCBiZSBhbiBhcnJheSBv
ZiBzdHJ1Y3RzIHRvIHBhaXIgdGhlIG5hbWVzIGFuZCBkZXNjcmlwdGlvbnMuCitzdGF0aWMgY29u
c3QgY2hhciogY29uc3QgZXhjZXB0aW9uTmFtZXNbXSA9IHsKKyAgICAiVU5LTk9XTl9FUlIiLAor
ICAgICJEQVRBQkFTRV9FUlIiLAorICAgICJWRVJTSU9OX0VSUiIsCisgICAgIlRPT19MQVJHRV9F
UlIiLAorICAgICJRVU9UQV9FUlIiLAorICAgICJTWU5UQVhfRVJSIiwKKyAgICAiQ09OU1RSQUlO
VF9FUlIiLAorICAgICJUSU1FT1VUX0VSUiIKK307CisKK3N0YXRpYyBjb25zdCBjaGFyKiBjb25z
dCBleGNlcHRpb25EZXNjcmlwdGlvbnNbXSA9IHsKKyAgICAiVGhlIG9wZXJhdGlvbiBmYWlsZWQg
Zm9yIHJlYXNvbnMgdW5yZWxhdGVkIHRvIHRoZSBkYXRhYmFzZS4iLAorICAgICJUaGUgb3BlcmF0
aW9uIGZhaWxlZCBmb3Igc29tZSByZWFzb24gcmVsYXRlZCB0byB0aGUgZGF0YWJhc2UuIiwKKyAg
ICAiVGhlIGFjdHVhbCBkYXRhYmFzZSB2ZXJzaW9uIGRpZCBub3QgbWF0Y2ggdGhlIGV4cGVjdGVk
IHZlcnNpb24uIiwKKyAgICAiRGF0YSByZXR1cm5lZCBmcm9tIHRoZSBkYXRhYmFzZSBpcyB0b28g
bGFyZ2UuIiwKKyAgICAiUXVvdGEgd2FzIGV4Y2VlZGVkLiIsCisgICAgIkludmFsaWQgb3IgdW5h
dXRob3JpemVkIHN0YXRlbWVudDsgb3IgdGhlIG51bWJlciBvZiBhcmd1bWVudHMgZGlkIG5vdCBt
YXRjaCB0aGUgbnVtYmVyIG9mID8gcGxhY2Vob2xkZXJzLiIsCisgICAgIkEgY29uc3RyYWludCB3
YXMgdmlvbGF0ZWQuIiwKKyAgICAiQSB0cmFuc2FjdGlvbiBsb2NrIGNvdWxkIG5vdCBiZSBhY3F1
aXJlZCBpbiBhIHJlYXNvbmFibGUgdGltZS4iCit9OworCitDT01QSUxFX0FTU0VSVChXVEZfQVJS
QVlfTEVOR1RIKGV4Y2VwdGlvbk5hbWVzKSA9PSBXVEZfQVJSQVlfTEVOR1RIKGV4Y2VwdGlvbkRl
c2NyaXB0aW9ucyksIFNRTEV4Y2VwdGlvblRhYmxlc011c3RNYXRjaCk7CisKK2Jvb2wgU1FMRXhj
ZXB0aW9uOjppbml0aWFsaXplRGVzY3JpcHRpb24oRXhjZXB0aW9uQ29kZSBlYywgRXhjZXB0aW9u
Q29kZURlc2NyaXB0aW9uKiBkZXNjcmlwdGlvbikKK3sKKyAgICBpZiAoZWMgPCBTUUxFeGNlcHRp
b25PZmZzZXQgfHwgZWMgPiBTUUxFeGNlcHRpb25NYXgpCisgICAgICAgIHJldHVybiBmYWxzZTsK
KworICAgIGRlc2NyaXB0aW9uLT50eXBlTmFtZSA9ICJET00gU1FMIjsKKyAgICBkZXNjcmlwdGlv
bi0+Y29kZSA9IGVjIC0gU1FMRXhjZXB0aW9uT2Zmc2V0OworICAgIGRlc2NyaXB0aW9uLT50eXBl
ID0gU1FMRXhjZXB0aW9uVHlwZTsKKworICAgIHNpemVfdCB0YWJsZVNpemUgPSBXVEZfQVJSQVlf
TEVOR1RIKGV4Y2VwdGlvbk5hbWVzKTsKKyAgICBzaXplX3QgdGFibGVJbmRleCA9IGVjIC0gVU5L
Tk9XTl9FUlI7CisKKyAgICBkZXNjcmlwdGlvbi0+bmFtZSA9IHRhYmxlSW5kZXggPCB0YWJsZVNp
emUgPyBleGNlcHRpb25OYW1lc1t0YWJsZUluZGV4XSA6IDA7CisgICAgZGVzY3JpcHRpb24tPmRl
c2NyaXB0aW9uID0gdGFibGVJbmRleCA8IHRhYmxlU2l6ZSA/IGV4Y2VwdGlvbkRlc2NyaXB0aW9u
c1t0YWJsZUluZGV4XSA6IDA7CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFNRTF9EQVRBQkFTRSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU1FMRXhjZXB0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9z
dG9yYWdlL1NRTEV4Y2VwdGlvbi5oCmluZGV4IGZjODgxNDgzZGMzNjM5YjJjZTk4OTQxN2E1MTVl
NGQ4NjZlZWUwNDAuLmJlOTY4Y2YwNTBhMGQ5YjkxNTA1ZTEyYmQ3NTgwZjYyNGRlZDA2OTEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU1FMRXhjZXB0aW9uLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxFeGNlcHRpb24uaApAQCAtNTgsNiArNTgsOCBAQCBwdWJs
aWM6CiAgICAgICAgIFRJTUVPVVRfRVJSID0gU1FMRXhjZXB0aW9uT2Zmc2V0ICsgNwogICAgIH07
CiAKKyAgICBzdGF0aWMgYm9vbCBpbml0aWFsaXplRGVzY3JpcHRpb24oRXhjZXB0aW9uQ29kZSwg
RXhjZXB0aW9uQ29kZURlc2NyaXB0aW9uKik7CisKIHByaXZhdGU6CiAgICAgU1FMRXhjZXB0aW9u
KGNvbnN0IEV4Y2VwdGlvbkNvZGVEZXNjcmlwdGlvbiYgZGVzY3JpcHRpb24pCiAgICAgICAgIDog
RXhjZXB0aW9uQmFzZShkZXNjcmlwdGlvbikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdFeGNlcHRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0V4Y2VwdGlvbi5jcHAK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uYzBjZDRiOGUxODViYzY1ZDU1MjUxMzQ5ZjNkZDNlZWIzOWYyYWE3MQotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFeGNlcHRpb24uY3BwCkBAIC0w
LDAgKzEsNzIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuICBOZWl0aGVyIHRoZSBuYW1l
IG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgiQXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCisgKiAg
ICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZAorICogICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEdPT0dMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAq
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaWYgRU5BQkxFKFNWRykKKwor
I2luY2x1ZGUgIlNWR0V4Y2VwdGlvbi5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKKy8vIEZJ
WE1FOiBUaGlzIHNob3VsZCBiZSBhbiBhcnJheSBvZiBzdHJ1Y3RzIHRvIHBhaXIgdGhlIG5hbWVz
IGFuZCBkZXNjcmlwdGlvbnMuCitzdGF0aWMgY29uc3QgY2hhciogY29uc3QgZXhjZXB0aW9uTmFt
ZXNbXSA9IHsKKyAgICAiU1ZHX1dST05HX1RZUEVfRVJSIiwKKyAgICAiU1ZHX0lOVkFMSURfVkFM
VUVfRVJSIiwKKyAgICAiU1ZHX01BVFJJWF9OT1RfSU5WRVJUQUJMRSIKK307CisKK3N0YXRpYyBj
b25zdCBjaGFyKiBjb25zdCBleGNlcHRpb25EZXNjcmlwdGlvbnNbXSA9IHsKKyAgICAiQW4gb2Jq
ZWN0IG9mIHRoZSB3cm9uZyB0eXBlIHdhcyBwYXNzZWQgdG8gYW4gb3BlcmF0aW9uLiIsCisgICAg
IkFuIGludmFsaWQgdmFsdWUgd2FzIHBhc3NlZCB0byBhbiBvcGVyYXRpb24gb3IgYXNzaWduZWQg
dG8gYW4gYXR0cmlidXRlLiIsCisgICAgIkFuIGF0dGVtcHQgd2FzIG1hZGUgdG8gaW52ZXJ0IGEg
bWF0cml4IHRoYXQgaXMgbm90IGludmVydGlibGUuIgorfTsKKworQ09NUElMRV9BU1NFUlQoV1RG
X0FSUkFZX0xFTkdUSChleGNlcHRpb25OYW1lcykgPT0gV1RGX0FSUkFZX0xFTkdUSChleGNlcHRp
b25EZXNjcmlwdGlvbnMpLCBTVkdFeGNlcHRpb25UYWJsZXNNdXN0TWF0Y2gpOworCitib29sIFNW
R0V4Y2VwdGlvbjo6aW5pdGlhbGl6ZURlc2NyaXB0aW9uKEV4Y2VwdGlvbkNvZGUgZWMsIEV4Y2Vw
dGlvbkNvZGVEZXNjcmlwdGlvbiogZGVzY3JpcHRpb24pCit7CisgICAgaWYgKGVjIDwgU1ZHRXhj
ZXB0aW9uT2Zmc2V0IHx8IGVjID4gU1ZHRXhjZXB0aW9uTWF4KQorICAgICAgICByZXR1cm4gZmFs
c2U7CisKKyAgICBkZXNjcmlwdGlvbi0+dHlwZU5hbWUgPSAiRE9NIFNWRyI7CisgICAgZGVzY3Jp
cHRpb24tPmNvZGUgPSBlYyAtIFNWR0V4Y2VwdGlvbk9mZnNldDsKKyAgICBkZXNjcmlwdGlvbi0+
dHlwZSA9IFNWR0V4Y2VwdGlvblR5cGU7CisKKyAgICBzaXplX3QgdGFibGVTaXplID0gV1RGX0FS
UkFZX0xFTkdUSChleGNlcHRpb25OYW1lcyk7CisgICAgc2l6ZV90IHRhYmxlSW5kZXggPSBlYyAt
IFNWR19XUk9OR19UWVBFX0VSUjsKKworICAgIGRlc2NyaXB0aW9uLT5uYW1lID0gdGFibGVJbmRl
eCA8IHRhYmxlU2l6ZSA/IGV4Y2VwdGlvbk5hbWVzW3RhYmxlSW5kZXhdIDogMDsKKyAgICBkZXNj
cmlwdGlvbi0+ZGVzY3JpcHRpb24gPSB0YWJsZUluZGV4IDwgdGFibGVTaXplID8gZXhjZXB0aW9u
RGVzY3JpcHRpb25zW3RhYmxlSW5kZXhdIDogMDsKKworICAgIHJldHVybiB0cnVlOworfQorCit9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoU1ZHKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0V4Y2VwdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0V4Y2VwdGlvbi5oCmluZGV4IDAxOTNiYWNkNDA5YTI4YzMyMGY0MGRhY2FhMTBiOWY0NDM2
NzY3Y2EuLjUxMjg3NDM5ZGYzNzQyMDViZmVlMjA3NDFiOWQxZWQwMzgwODA5OTYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFeGNlcHRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHRXhjZXB0aW9uLmgKQEAgLTQzLDYgKzQzLDggQEAgcHVibGljOgogICAgICAgICBT
VkdfTUFUUklYX05PVF9JTlZFUlRBQkxFID0gU1ZHRXhjZXB0aW9uT2Zmc2V0ICsgMgogICAgIH07
CiAKKyAgICBzdGF0aWMgYm9vbCBpbml0aWFsaXplRGVzY3JpcHRpb24oRXhjZXB0aW9uQ29kZSwg
RXhjZXB0aW9uQ29kZURlc2NyaXB0aW9uKik7CisKIHByaXZhdGU6CiAgICAgU1ZHRXhjZXB0aW9u
KGNvbnN0IEV4Y2VwdGlvbkNvZGVEZXNjcmlwdGlvbiYgZGVzY3JpcHRpb24pCiAgICAgICAgIDog
RXhjZXB0aW9uQmFzZShkZXNjcmlwdGlvbikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3ht
bC9YTUxIdHRwUmVxdWVzdEV4Y2VwdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0
cFJlcXVlc3RFeGNlcHRpb24uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmExM2Y4MWEwODU1MGExMDJlOGI3MjMx
MmRlNDQwZjQzZjk2NTA3MTMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwv
WE1MSHR0cFJlcXVlc3RFeGNlcHRpb24uY3BwCkBAIC0wLDAgKzEsNjUgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMu
ICgiQXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCisgKiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAorICogICAgIGZy
b20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEdPT0dMRSBBTkQgSVRTIENP
TlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUg
ImNvbmZpZy5oIgorI2luY2x1ZGUgIlhNTEh0dHBSZXF1ZXN0RXhjZXB0aW9uLmgiCisKK25hbWVz
cGFjZSBXZWJDb3JlIHsKKworLy8gRklYTUU6IFRoaXMgc2hvdWxkIGJlIGFuIGFycmF5IG9mIHN0
cnVjdHMgdG8gcGFpciB0aGUgbmFtZXMgYW5kIGRlc2NyaXB0aW9ucy4KK3N0YXRpYyBjb25zdCBj
aGFyKiBjb25zdCBleGNlcHRpb25OYW1lc1tdID0geworICAgICJORVRXT1JLX0VSUiIsCisgICAg
IkFCT1JUX0VSUiIKK307CisKK3N0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBleGNlcHRpb25EZXNj
cmlwdGlvbnNbXSA9IHsKKyAgICAiQSBuZXR3b3JrIGVycm9yIG9jY3VyZWQgaW4gc3luY2hyb25v
dXMgcmVxdWVzdHMuIiwKKyAgICAiVGhlIHVzZXIgYWJvcnRlZCBhIHJlcXVlc3QgaW4gc3luY2hy
b25vdXMgcmVxdWVzdHMuIgorfTsKKworQ09NUElMRV9BU1NFUlQoV1RGX0FSUkFZX0xFTkdUSChl
eGNlcHRpb25OYW1lcykgPT0gV1RGX0FSUkFZX0xFTkdUSChleGNlcHRpb25EZXNjcmlwdGlvbnMp
LCBYTUxIdHRwUmVxdWVzdEV4Y2VwdGlvblRhYmxlc011c3RNYXRjaCk7CisKK2Jvb2wgWE1MSHR0
cFJlcXVlc3RFeGNlcHRpb246OmluaXRpYWxpemVEZXNjcmlwdGlvbihFeGNlcHRpb25Db2RlIGVj
LCBFeGNlcHRpb25Db2RlRGVzY3JpcHRpb24qIGRlc2NyaXB0aW9uKQoreworICAgIGlmIChlYyA8
IFhNTEh0dHBSZXF1ZXN0RXhjZXB0aW9uT2Zmc2V0IHx8IGVjID4gWE1MSHR0cFJlcXVlc3RFeGNl
cHRpb25NYXgpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGRlc2NyaXB0aW9uLT50eXBl
TmFtZSA9ICJYTUxIdHRwUmVxdWVzdCI7CisgICAgZGVzY3JpcHRpb24tPmNvZGUgPSBlYyAtIFhN
TEh0dHBSZXF1ZXN0RXhjZXB0aW9uT2Zmc2V0OworICAgIGRlc2NyaXB0aW9uLT50eXBlID0gWE1M
SHR0cFJlcXVlc3RFeGNlcHRpb25UeXBlOworCisgICAgc2l6ZV90IHRhYmxlU2l6ZSA9IFdURl9B
UlJBWV9MRU5HVEgoZXhjZXB0aW9uTmFtZXMpOworICAgIHNpemVfdCB0YWJsZUluZGV4ID0gZWMg
LSBORVRXT1JLX0VSUjsKKworICAgIGRlc2NyaXB0aW9uLT5uYW1lID0gdGFibGVJbmRleCA8IHRh
YmxlU2l6ZSA/IGV4Y2VwdGlvbk5hbWVzW3RhYmxlSW5kZXhdIDogMDsKKyAgICBkZXNjcmlwdGlv
bi0+ZGVzY3JpcHRpb24gPSB0YWJsZUluZGV4IDwgdGFibGVTaXplID8gZXhjZXB0aW9uRGVzY3Jp
cHRpb25zW3RhYmxlSW5kZXhdIDogMDsKKworICAgIHJldHVybiB0cnVlOworfQorCit9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJl
cXVlc3RFeGNlcHRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdEV4Y2Vw
dGlvbi5oCmluZGV4IDU1NzM1YjMyYmJiYmI2YTA0OGQwM2QwMWMzM2FmODQ1ZGM3YWMyMjEuLjU0
ZDkyN2FiOGMyZmEyYjg4Y2FjOWI0ZjFmMjRlYjU2MzM2Y2ZhNjYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdEV4Y2VwdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3htbC9YTUxIdHRwUmVxdWVzdEV4Y2VwdGlvbi5oCkBAIC00OCw2ICs0OCw4IEBAIHB1Ymxp
YzoKICAgICAgICAgQUJPUlRfRVJSCiAgICAgfTsKIAorICAgIHN0YXRpYyBib29sIGluaXRpYWxp
emVEZXNjcmlwdGlvbihFeGNlcHRpb25Db2RlLCBFeGNlcHRpb25Db2RlRGVzY3JpcHRpb24qKTsK
KwogcHJpdmF0ZToKICAgICBYTUxIdHRwUmVxdWVzdEV4Y2VwdGlvbihjb25zdCBFeGNlcHRpb25D
b2RlRGVzY3JpcHRpb24mIGRlc2NyaXB0aW9uKQogICAgICAgICA6IEV4Y2VwdGlvbkJhc2UoZGVz
Y3JpcHRpb24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhFeGNlcHRpb24u
Y3BwIGIvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoRXhjZXB0aW9uLmNwcApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
NGIyZDE5NDU1Y2NkODA5ZWZlMmU3ZGM3NTZhOGY5Nzk5OGM1YzZmCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoRXhjZXB0aW9uLmNwcApAQCAtMCwwICsxLDY1IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICog
MS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiAgTmVpdGhlciB0aGUgbmFtZSBvZiBBcHBsZSBD
b21wdXRlciwgSW5jLiAoIkFwcGxlIikgbm9yIHRoZSBuYW1lcyBvZgorICogICAgIGl0cyBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQKKyAqICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBHT09H
TEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisg
KiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJYUGF0aEV4Y2VwdGlvbi5oIgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKKy8vIEZJWE1FOiBUaGlzIHNob3VsZCBiZSBhbiBhcnJheSBv
ZiBzdHJ1Y3RzIHRvIHBhaXIgdGhlIG5hbWVzIGFuZCBkZXNjcmlwdGlvbnMuCitzdGF0aWMgY29u
c3QgY2hhciogY29uc3QgZXhjZXB0aW9uTmFtZXNbXSA9IHsKKyAgICAiSU5WQUxJRF9FWFBSRVNT
SU9OX0VSUiIsCisgICAgIlRZUEVfRVJSIgorfTsKKworc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0
IGV4Y2VwdGlvbkRlc2NyaXB0aW9uc1tdID0geworICAgICJUaGUgZXhwcmVzc2lvbiBoYWQgYSBz
eW50YXggZXJyb3Igb3Igb3RoZXJ3aXNlIGlzIG5vdCBhIGxlZ2FsIGV4cHJlc3Npb24gYWNjb3Jk
aW5nIHRvIHRoZSBydWxlcyBvZiB0aGUgc3BlY2lmaWMgWFBhdGhFdmFsdWF0b3IuIiwKKyAgICAi
VGhlIGV4cHJlc3Npb24gY291bGQgbm90IGJlIGNvbnZlcnRlZCB0byByZXR1cm4gdGhlIHNwZWNp
ZmllZCB0eXBlLiIKK307CisKK0NPTVBJTEVfQVNTRVJUKFdURl9BUlJBWV9MRU5HVEgoZXhjZXB0
aW9uTmFtZXMpID09IFdURl9BUlJBWV9MRU5HVEgoZXhjZXB0aW9uRGVzY3JpcHRpb25zKSwgWFBh
dGhFeGNlcHRpb25UYWJsZXNNdXN0TWF0Y2gpOworCitib29sIFhQYXRoRXhjZXB0aW9uOjppbml0
aWFsaXplRGVzY3JpcHRpb24oRXhjZXB0aW9uQ29kZSBlYywgRXhjZXB0aW9uQ29kZURlc2NyaXB0
aW9uKiBkZXNjcmlwdGlvbikKK3sKKyAgICBpZiAoZWMgPCBYUGF0aEV4Y2VwdGlvbk9mZnNldCB8
fCBlYyA+IFhQYXRoRXhjZXB0aW9uTWF4KQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBk
ZXNjcmlwdGlvbi0+dHlwZU5hbWUgPSAiRE9NIFhQYXRoIjsKKyAgICBkZXNjcmlwdGlvbi0+Y29k
ZSA9IGVjIC0gWFBhdGhFeGNlcHRpb25PZmZzZXQ7CisgICAgZGVzY3JpcHRpb24tPnR5cGUgPSBY
UGF0aEV4Y2VwdGlvblR5cGU7CisKKyAgICBzaXplX3QgdGFibGVTaXplID0gV1RGX0FSUkFZX0xF
TkdUSChleGNlcHRpb25OYW1lcyk7CisgICAgc2l6ZV90IHRhYmxlSW5kZXggPSBlYyAtIElOVkFM
SURfRVhQUkVTU0lPTl9FUlI7CisKKyAgICBkZXNjcmlwdGlvbi0+bmFtZSA9IHRhYmxlSW5kZXgg
PCB0YWJsZVNpemUgPyBleGNlcHRpb25OYW1lc1t0YWJsZUluZGV4XSA6IDA7CisgICAgZGVzY3Jp
cHRpb24tPmRlc2NyaXB0aW9uID0gdGFibGVJbmRleCA8IHRhYmxlU2l6ZSA/IGV4Y2VwdGlvbkRl
c2NyaXB0aW9uc1t0YWJsZUluZGV4XSA6IDA7CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hQYXRo
RXhjZXB0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhFeGNlcHRpb24uaAppbmRleCA3
YTVhN2M0ODRlYmRkNTU3MWRjMjQzZjI4NDQ3Mzc4MmFjNzRmYTJmLi5kMzkyYThlNzc3OTUyYWZl
OGZmM2QyMWMxMWI3ZjNmOTIyMWFjMzNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwv
WFBhdGhFeGNlcHRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhFeGNlcHRpb24u
aApAQCAtNDgsNiArNDgsOCBAQCBwdWJsaWM6CiAgICAgICAgIFRZUEVfRVJSCiAgICAgfTsKIAor
ICAgIHN0YXRpYyBib29sIGluaXRpYWxpemVEZXNjcmlwdGlvbihFeGNlcHRpb25Db2RlLCBFeGNl
cHRpb25Db2RlRGVzY3JpcHRpb24qKTsKKwogcHJpdmF0ZToKICAgICBYUGF0aEV4Y2VwdGlvbihj
b25zdCBFeGNlcHRpb25Db2RlRGVzY3JpcHRpb24mIGRlc2NyaXB0aW9uKQogICAgICAgICA6IEV4
Y2VwdGlvbkJhc2UoZGVzY3JpcHRpb24pCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>112794</attachid>
            <date>2011-10-27 17:58:55 -0700</date>
            <delta_ts>2011-10-27 18:04:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-71081-20111027175853.patch</filename>
            <type>text/plain</type>
            <size>95140</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTg2NTUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA3NThjOGRhMGVhOTJkODQw
YmMzN2Q3MjFjNTc4YjM4OGQ4MjJjMWU4Li5mNDQ4NjM4OTdkY2U0OGM5ZjRhYzlkM2VjNGU3ZDIz
NTYzOWQyZjEzIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsNTQgQEAKIDIwMTEtMTAtMjcgIEFkYW0g
QmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAorICAgICAgICBNb3ZlIHR5cGUtc3BlY2lmaWMg
ZXhjZXB0aW9uIGRlc2NyaXB0aW9ucyBpbnRvIHRoZSBpbXBsZW1lbnRhdGlvbiBmaWxlcyBmb3Ig
ZWFjaCB0eXBlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD03MTA4MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFRoZXJlJ3Mgbm8gcmVhc29uIHRvIGNlbnRyYWxpemUgdGhpcyBpbmZvcm1hdGlvbi4gIEl0IGJl
bG9uZ3Mgd2l0aCBlYWNoCisgICAgICAgIGV4Y2VwdGlvbiB0eXBlLiAgVGhpcyBwYXRjaCBpcyBp
biBwcmVwYXJhdGlvbiBmb3IgYXV0b2dlbmVyYXRpbmcgdGhlIGNlbnRyYWwgZmlsZS4KKworICAg
ICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBkb20v
RE9NQ29yZUV4Y2VwdGlvbi5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6RE9NQ29yZUV4
Y2VwdGlvbjo6aW5pdGlhbGl6ZURlc2NyaXB0aW9uKToKKyAgICAgICAgKiBkb20vRE9NQ29yZUV4
Y2VwdGlvbi5oOgorICAgICAgICAqIGRvbS9FdmVudEV4Y2VwdGlvbi5jcHA6IENvcGllZCBmcm9t
IFNvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdEV4Y2VwdGlvbi5oLgorICAgICAgICAo
V2ViQ29yZTo6RXZlbnRFeGNlcHRpb246OmluaXRpYWxpemVEZXNjcmlwdGlvbik6CisgICAgICAg
ICogZG9tL0V2ZW50RXhjZXB0aW9uLmg6CisgICAgICAgICogZG9tL0V4Y2VwdGlvbkJhc2UuaDoK
KyAgICAgICAgKFdlYkNvcmU6OkV4Y2VwdGlvbkJhc2U6OmNvZGUpOgorICAgICAgICAoV2ViQ29y
ZTo6RXhjZXB0aW9uQmFzZTo6bmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpFeGNlcHRpb25CYXNl
OjptZXNzYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OkV4Y2VwdGlvbkJhc2U6OmRlc2NyaXB0aW9u
KToKKyAgICAgICAgKiBkb20vRXhjZXB0aW9uQ29kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpn
ZXRFeGNlcHRpb25Db2RlRGVzY3JpcHRpb24pOgorICAgICAgICAqIGRvbS9SYW5nZUV4Y2VwdGlv
bi5jcHA6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL3htbC9YUGF0aEV4Y2VwdGlvbi5oLgor
ICAgICAgICAoV2ViQ29yZTo6UmFuZ2VFeGNlcHRpb246OmluaXRpYWxpemVEZXNjcmlwdGlvbik6
CisgICAgICAgICogZG9tL1JhbmdlRXhjZXB0aW9uLmg6CisgICAgICAgICogZmlsZWFwaS9GaWxl
RXhjZXB0aW9uLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpGaWxlRXhjZXB0aW9uOjpp
bml0aWFsaXplRGVzY3JpcHRpb24pOgorICAgICAgICAqIGZpbGVhcGkvRmlsZUV4Y2VwdGlvbi5o
OgorICAgICAgICAqIGZpbGVhcGkvT3BlcmF0aW9uTm90QWxsb3dlZEV4Y2VwdGlvbi5jcHA6IENv
cGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdEV4Y2VwdGlvbi5oLgor
ICAgICAgICAoV2ViQ29yZTo6T3BlcmF0aW9uTm90QWxsb3dlZEV4Y2VwdGlvbjo6aW5pdGlhbGl6
ZURlc2NyaXB0aW9uKToKKyAgICAgICAgKiBmaWxlYXBpL09wZXJhdGlvbk5vdEFsbG93ZWRFeGNl
cHRpb24uaDoKKyAgICAgICAgKiBzdG9yYWdlL0lEQkRhdGFiYXNlRXhjZXB0aW9uLmNwcDogQWRk
ZWQuCisgICAgICAgIChXZWJDb3JlOjpJREJEYXRhYmFzZUV4Y2VwdGlvbjo6aW5pdGlhbGl6ZURl
c2NyaXB0aW9uKToKKyAgICAgICAgKiBzdG9yYWdlL0lEQkRhdGFiYXNlRXhjZXB0aW9uLmg6Cisg
ICAgICAgICogc3RvcmFnZS9TUUxFeGNlcHRpb24uY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNv
cmU6OlNRTEV4Y2VwdGlvbjo6aW5pdGlhbGl6ZURlc2NyaXB0aW9uKToKKyAgICAgICAgKiBzdG9y
YWdlL1NRTEV4Y2VwdGlvbi5oOgorICAgICAgICAqIHN2Zy9TVkdFeGNlcHRpb24uY3BwOiBDb3Bp
ZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRFeGNlcHRpb24uaC4KKyAgICAgICAgKFdl
YkNvcmU6OlNWR0V4Y2VwdGlvbjo6aW5pdGlhbGl6ZURlc2NyaXB0aW9uKToKKyAgICAgICAgKiBz
dmcvU1ZHRXhjZXB0aW9uLmg6CisgICAgICAgICogeG1sL1hNTEh0dHBSZXF1ZXN0RXhjZXB0aW9u
LmNwcDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0RXhjZXB0
aW9uLmguCisgICAgICAgIChXZWJDb3JlOjpYTUxIdHRwUmVxdWVzdEV4Y2VwdGlvbjo6aW5pdGlh
bGl6ZURlc2NyaXB0aW9uKToKKyAgICAgICAgKiB4bWwvWE1MSHR0cFJlcXVlc3RFeGNlcHRpb24u
aDoKKyAgICAgICAgKiB4bWwvWFBhdGhFeGNlcHRpb24uY3BwOiBDb3BpZWQgZnJvbSBTb3VyY2Uv
V2ViQ29yZS94bWwvWFBhdGhFeGNlcHRpb24uaC4KKyAgICAgICAgKFdlYkNvcmU6OlhQYXRoRXhj
ZXB0aW9uOjppbml0aWFsaXplRGVzY3JpcHRpb24pOgorICAgICAgICAqIHhtbC9YUGF0aEV4Y2Vw
dGlvbi5oOgorCisyMDExLTEwLTI3ICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CisK
ICAgICAgICAgRXhjZXB0aW9uIHN1YnR5cGVzIGhhdmUgaW5jb3JyZWN0IG5hbWVzcGFjZSBpbmRl
bnRhdGlvbgogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NzEwNzUKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCBhYzgxMDc4ZDM3YjBhMjE2MjJmZDBkOGRi
NmU3MDgxYmVjYTY4ZmRhLi5hZjI2ZWI2ZDY2MWViMWE0YTYwNzAxNGM4N2UxODUyZDViZTAwODJh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtNTM3LDYgKzUzNyw3IEBAIFNFVChXZWJDb3JlX1NP
VVJDRVMKICAgICBkb20vRG9jdW1lbnRQYXJzZXIuY3BwCiAgICAgZG9tL0RvY3VtZW50T3JkZXJl
ZE1hcC5jcHAKICAgICBkb20vRG9jdW1lbnRUeXBlLmNwcAorICAgIGRvbS9ET01Db3JlRXhjZXB0
aW9uLmNwcAogICAgIGRvbS9ET01JbXBsZW1lbnRhdGlvbi5jcHAKICAgICBkb20vRE9NU3RyaW5n
TGlzdC5jcHAKICAgICBkb20vRE9NU3RyaW5nTWFwLmNwcApAQCAtNTQ5LDYgKzU1MCw3IEBAIFNF
VChXZWJDb3JlX1NPVVJDRVMKICAgICBkb20vRXZlbnRDb250ZXh0LmNwcAogICAgIGRvbS9FdmVu
dERpc3BhdGNoTWVkaWF0b3IuY3BwCiAgICAgZG9tL0V2ZW50RGlzcGF0Y2hlci5jcHAKKyAgICBk
b20vRXZlbnRFeGNlcHRpb24uY3BwCiAgICAgZG9tL0V2ZW50TGlzdGVuZXJNYXAuY3BwCiAgICAg
ZG9tL0V2ZW50TmFtZXMuY3BwCiAgICAgZG9tL0V2ZW50VGFyZ2V0LmNwcApAQCAtNTg1LDYgKzU4
Nyw3IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICBkb20vUHJvZ3Jlc3NFdmVudC5jcHAKICAg
ICBkb20vUXVhbGlmaWVkTmFtZS5jcHAKICAgICBkb20vUmFuZ2UuY3BwCisgICAgZG9tL1Jhbmdl
RXhjZXB0aW9uLmNwcAogICAgIGRvbS9SZWdpc3RlcmVkRXZlbnRMaXN0ZW5lci5jcHAKICAgICBk
b20vU2NvcGVkRXZlbnRRdWV1ZS5jcHAKICAgICBkb20vU2NyaXB0YWJsZURvY3VtZW50UGFyc2Vy
LmNwcApAQCAtNjgxLDcgKzY4NCw5IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICBmaWxlYXBp
L0Jsb2IuY3BwCiAgICAgZmlsZWFwaS9CbG9iVVJMLmNwcAogICAgIGZpbGVhcGkvRmlsZS5jcHAK
KyAgICBmaWxlYXBpL0ZpbGVFeGNlcHRpb24uY3BwCiAgICAgZmlsZWFwaS9GaWxlTGlzdC5jcHAK
KyAgICBmaWxlYXBpL09wZXJhdGlvbk5vdEFsbG93ZWRFeGNlcHRpb24uY3BwCiAgICAgZmlsZWFw
aS9UaHJlYWRhYmxlQmxvYlJlZ2lzdHJ5LmNwcAogICAgIGZpbGVhcGkvV2ViS2l0QmxvYkJ1aWxk
ZXIuY3BwCiAKQEAgLTEzMzAsNiArMTMzNSw3IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICBz
dG9yYWdlL0lEQkRhdGFiYXNlQmFja2VuZEltcGwuY3BwCiAgICAgc3RvcmFnZS9JREJDdXJzb3Iu
Y3BwCiAgICAgc3RvcmFnZS9JREJDdXJzb3JCYWNrZW5kSW1wbC5jcHAKKyAgICBzdG9yYWdlL0lE
QkRhdGFiYXNlRXhjZXB0aW9uLmNwcAogICAgIHN0b3JhZ2UvSURCRXZlbnREaXNwYXRjaGVyLmNw
cAogICAgIHN0b3JhZ2UvSURCSW5kZXguY3BwCiAgICAgc3RvcmFnZS9JREJJbmRleEJhY2tlbmRJ
bXBsLmNwcApAQCAtMTM0NSw2ICsxMzUxLDcgQEAgU0VUKFdlYkNvcmVfU09VUkNFUwogICAgIHN0
b3JhZ2UvTG9jYWxTdG9yYWdlVGhyZWFkLmNwcAogICAgIHN0b3JhZ2UvT3JpZ2luUXVvdGFNYW5h
Z2VyLmNwcAogICAgIHN0b3JhZ2UvT3JpZ2luVXNhZ2VSZWNvcmQuY3BwCisgICAgc3RvcmFnZS9T
UUxFeGNlcHRpb24uY3BwCiAgICAgc3RvcmFnZS9TUUxSZXN1bHRTZXQuY3BwCiAgICAgc3RvcmFn
ZS9TUUxSZXN1bHRTZXRSb3dMaXN0LmNwcAogICAgIHN0b3JhZ2UvU1FMU3RhdGVtZW50LmNwcApA
QCAtMTM2OSwxMSArMTM3NiwxMyBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgeG1sL05hdGl2
ZVhQYXRoTlNSZXNvbHZlci5jcHAKICAgICB4bWwvWE1MRXJyb3JzLmNwcAogICAgIHhtbC9YTUxI
dHRwUmVxdWVzdC5jcHAKKyAgICB4bWwvWE1MSHR0cFJlcXVlc3RFeGNlcHRpb24uY3BwCiAgICAg
eG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmNwcAogICAgIHhtbC9YTUxI
dHRwUmVxdWVzdFVwbG9hZC5jcHAKICAgICB4bWwvWE1MVHJlZVZpZXdlci5jcHAKICAgICB4bWwv
WE1MU2VyaWFsaXplci5jcHAKICAgICB4bWwvWFBhdGhFdmFsdWF0b3IuY3BwCisgICAgeG1sL1hQ
YXRoRXhjZXB0aW9uLmNwcAogICAgIHhtbC9YUGF0aEV4cHJlc3Npb24uY3BwCiAgICAgeG1sL1hQ
YXRoRXhwcmVzc2lvbk5vZGUuY3BwCiAgICAgeG1sL1hQYXRoRnVuY3Rpb25zLmNwcApAQCAtMTY5
MCw2ICsxNjk5LDcgQEAgSUYgKEVOQUJMRV9TVkcpCiAgICAgICAgIHN2Zy9TVkdFbGVtZW50SW5z
dGFuY2UuY3BwCiAgICAgICAgIHN2Zy9TVkdFbGVtZW50SW5zdGFuY2VMaXN0LmNwcAogICAgICAg
ICBzdmcvU1ZHRWxsaXBzZUVsZW1lbnQuY3BwCisgICAgICAgIHN2Zy9TVkdFeGNlcHRpb24uY3Bw
CiAgICAgICAgIHN2Zy9TVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLmNwcAogICAgICAgICBz
dmcvU1ZHRkVCbGVuZEVsZW1lbnQuY3BwCiAgICAgICAgIHN2Zy9TVkdGRUNvbG9yTWF0cml4RWxl
bWVudC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0g
Yi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IDExZjUxYjdiNzNhMDA3
MmI1YzZkNjJlYWE0ZDhkNTcwMmMxZmQ3MjUuLjMxNjYwNGEwOTUyMGY5MzQ0NTBhMmMyZmI1NzBl
N2IwNWY0YWVjY2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3Qu
YW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtMTE4Nyw2ICsx
MTg3LDcgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1l
bnRUaW1pbmcuaCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50VHlwZS5jcHAgXAogCVNv
dXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudFR5cGUuaCBcCisJU291cmNlL1dlYkNvcmUvZG9tL0RP
TUNvcmVFeGNlcHRpb24uY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vRE9NQ29yZUV4Y2VwdGlv
bi5oIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vRE9NSW1wbGVtZW50YXRpb24uY3BwIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9kb20vRE9NSW1wbGVtZW50YXRpb24uaCBcCkBAIC0xMjE1LDYgKzEyMTYsNyBA
QCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9FdmVudERpc3BhdGNo
TWVkaWF0b3IuaCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50RGlzcGF0Y2hlci5jcHAgXAog
CVNvdXJjZS9XZWJDb3JlL2RvbS9FdmVudERpc3BhdGNoZXIuaCBcCisJU291cmNlL1dlYkNvcmUv
ZG9tL0V2ZW50RXhjZXB0aW9uLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50RXhjZXB0
aW9uLmggXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9FdmVudEZhY3RvcnkuaCBcCiAJU291cmNlL1dl
YkNvcmUvZG9tL0V2ZW50TGlzdGVuZXIuaCBcCkBAIC0xMzAwLDYgKzEzMDIsNyBAQCB3ZWJjb3Jl
X3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9RdWFsaWZpZWROYW1lLmggXAogCVNv
dXJjZS9XZWJDb3JlL2RvbS9SYW5nZUJvdW5kYXJ5UG9pbnQuaCBcCiAJU291cmNlL1dlYkNvcmUv
ZG9tL1JhbmdlLmNwcCBcCisJU291cmNlL1dlYkNvcmUvZG9tL1JhbmdlRXhjZXB0aW9uLmNwcCBc
CiAJU291cmNlL1dlYkNvcmUvZG9tL1JhbmdlRXhjZXB0aW9uLmggXAogCVNvdXJjZS9XZWJDb3Jl
L2RvbS9SYW5nZS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vUmF3RGF0YURvY3VtZW50UGFyc2Vy
LmggXApAQCAtMTUzMiw2ICsxNTM1LDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2Uv
V2ViQ29yZS9maWxlYXBpL0ZpbGVFcnJvci5oIFwKIAlTb3VyY2UvV2ViQ29yZS9maWxlYXBpL0Zp
bGVFeGNlcHRpb24uaCBcCiAJU291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxlLmggXAorCVNvdXJj
ZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZUV4Y2VwdGlvbi5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL2Zp
bGVhcGkvRmlsZUV4Y2VwdGlvbi5oIFwKIAlTb3VyY2UvV2ViQ29yZS9maWxlYXBpL0ZpbGVMaXN0
LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxlTGlzdC5oIFwKIAlTb3VyY2UvV2Vi
Q29yZS9maWxlYXBpL0ZpbGVSZWFkZXIuY3BwIFwKQEAgLTE1NjIsNiArMTU2Nyw3IEBAIHdlYmNv
cmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvZmlsZWFwaS9Mb2NhbEZpbGVTeXN0ZW0u
aCBcCiAJU291cmNlL1dlYkNvcmUvZmlsZWFwaS9NZXRhZGF0YUNhbGxiYWNrLmggXAogCVNvdXJj
ZS9XZWJDb3JlL2ZpbGVhcGkvTWV0YWRhdGEuaCBcCisJU291cmNlL1dlYkNvcmUvZmlsZWFwaS9P
cGVyYXRpb25Ob3RBbGxvd2VkRXhjZXB0aW9uLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvZmlsZWFw
aS9PcGVyYXRpb25Ob3RBbGxvd2VkRXhjZXB0aW9uLmggXAogCVNvdXJjZS9XZWJDb3JlL2ZpbGVh
cGkvVGhyZWFkYWJsZUJsb2JSZWdpc3RyeS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2ZpbGVhcGkv
VGhyZWFkYWJsZUJsb2JSZWdpc3RyeS5oIFwKQEAgLTMzOTQsNiArMzQwMCw3IEBAIHdlYmNvcmVf
c291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJEYXRhYmFzZUNhbGxiYWNr
c0ltcGwuaCBcCiAJU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJEYXRhYmFzZS5jcHAgXAogCVNv
dXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJhc2VFcnJvci5oIFwKKwlTb3VyY2UvV2ViQ29y
ZS9zdG9yYWdlL0lEQkRhdGFiYXNlRXhjZXB0aW9uLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvc3Rv
cmFnZS9JREJEYXRhYmFzZUV4Y2VwdGlvbi5oIFwKIAlTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lE
QkRhdGFiYXNlLmggXAogCVNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCRXZlbnREaXNwYXRjaGVy
LmNwcCBcCkBAIC0zNDQzLDYgKzM0NTAsNyBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJj
ZS9XZWJDb3JlL3N0b3JhZ2UvT3JpZ2luVXNhZ2VSZWNvcmQuaCBcCiAJU291cmNlL1dlYkNvcmUv
c3RvcmFnZS9TUUxDYWxsYmFja1dyYXBwZXIuaCBcCiAJU291cmNlL1dlYkNvcmUvc3RvcmFnZS9T
UUxFcnJvci5oIFwKKwlTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTEV4Y2VwdGlvbi5jcHAgXAog
CVNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU1FMRXhjZXB0aW9uLmggXAogCVNvdXJjZS9XZWJDb3Jl
L3N0b3JhZ2UvU1FMUmVzdWx0U2V0LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxS
ZXN1bHRTZXQuaCBcCkBAIC0zNjE4LDYgKzM2MjYsNyBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAog
CVNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50UmFyZURhdGEuaCBcCiAJU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0VsbGlwc2VFbGVtZW50LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvc3ZnL1NWR0Vs
bGlwc2VFbGVtZW50LmggXAorCVNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFeGNlcHRpb24uY3BwIFwK
IAlTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRXhjZXB0aW9uLmggXAogCVNvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQuaCBcCkBAIC0zOTQwLDYgKzM5NDksNyBAQCB3
ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL3htbC9YTUxFcnJvcnMuY3BwIFwK
IAlTb3VyY2UvV2ViQ29yZS94bWwvWE1MRXJyb3JzLmggXAogCVNvdXJjZS9XZWJDb3JlL3htbC9Y
TUxIdHRwUmVxdWVzdC5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdEV4
Y2VwdGlvbi5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdEV4Y2VwdGlv
bi5oIFwKIAlTb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuaCBcCiAJU291cmNlL1dl
YkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudC5oIFwKQEAgLTM5NTMsNiArMzk2
Myw3IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUveG1sL1hNTFNlcmlh
bGl6ZXIuaCBcCiAJU291cmNlL1dlYkNvcmUveG1sL1hQYXRoRXZhbHVhdG9yLmNwcCBcCiAJU291
cmNlL1dlYkNvcmUveG1sL1hQYXRoRXZhbHVhdG9yLmggXAorCVNvdXJjZS9XZWJDb3JlL3htbC9Y
UGF0aEV4Y2VwdGlvbi5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3htbC9YUGF0aEV4Y2VwdGlvbi5o
IFwKIAlTb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhFeHByZXNzaW9uLmNwcCBcCiAJU291cmNlL1dl
YkNvcmUveG1sL1hQYXRoRXhwcmVzc2lvbi5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCA3ZTg0NzVl
ZTEyMzAwYTk3NzAzNTc1NjBiNTliYTc5MmY0NDE2NjM1Li44MDRlODM0NTRlYzY4MDAxZGM0OWU0
MGJhOWQ2YmEwN2U4MGFlOTJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5
cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0yNjA3LDYgKzI2MDcsNyBA
QAogICAgICAgICAgICAgJ2ZpbGVhcGkvRmlsZUVudHJ5U3luYy5jcHAnLAogICAgICAgICAgICAg
J2ZpbGVhcGkvRmlsZUVudHJ5U3luYy5oJywKICAgICAgICAgICAgICdmaWxlYXBpL0ZpbGVFcnJv
ci5oJywKKyAgICAgICAgICAgICdmaWxlYXBpL0ZpbGVFeGNlcHRpb24uY3BwJywKICAgICAgICAg
ICAgICdmaWxlYXBpL0ZpbGVFeGNlcHRpb24uaCcsCiAgICAgICAgICAgICAnZmlsZWFwaS9GaWxl
TGlzdC5jcHAnLAogICAgICAgICAgICAgJ2ZpbGVhcGkvRmlsZUxpc3QuaCcsCkBAIC0yNjM4LDYg
KzI2MzksNyBAQAogICAgICAgICAgICAgJ2ZpbGVhcGkvTG9jYWxGaWxlU3lzdGVtLmgnLAogICAg
ICAgICAgICAgJ2ZpbGVhcGkvTWV0YWRhdGEuaCcsCiAgICAgICAgICAgICAnZmlsZWFwaS9NZXRh
ZGF0YUNhbGxiYWNrLmgnLAorICAgICAgICAgICAgJ2ZpbGVhcGkvT3BlcmF0aW9uTm90QWxsb3dl
ZEV4Y2VwdGlvbi5jcHAnLAogICAgICAgICAgICAgJ2ZpbGVhcGkvT3BlcmF0aW9uTm90QWxsb3dl
ZEV4Y2VwdGlvbi5oJywKICAgICAgICAgICAgICdmaWxlYXBpL1N5bmNDYWxsYmFja0hlbHBlci5o
JywKICAgICAgICAgICAgICdmaWxlYXBpL1RocmVhZGFibGVCbG9iUmVnaXN0cnkuY3BwJywKQEAg
LTQ4MTQsNiArNDgxNiw3IEBACiAgICAgICAgICAgICAnc3RvcmFnZS9JREJEYXRhYmFzZUNhbGxi
YWNrc0ltcGwuY3BwJywKICAgICAgICAgICAgICdzdG9yYWdlL0lEQkRhdGFiYXNlQ2FsbGJhY2tz
SW1wbC5oJywKICAgICAgICAgICAgICdzdG9yYWdlL0lEQkRhdGFiYXNlRXJyb3IuaCcsCisgICAg
ICAgICAgICAnc3RvcmFnZS9JREJEYXRhYmFzZUV4Y2VwdGlvbi5jcHAnLAogICAgICAgICAgICAg
J3N0b3JhZ2UvSURCRGF0YWJhc2VFeGNlcHRpb24uaCcsCiAgICAgICAgICAgICAnc3RvcmFnZS9J
REJFdmVudERpc3BhdGNoZXIuY3BwJywKICAgICAgICAgICAgICdzdG9yYWdlL0lEQkV2ZW50RGlz
cGF0Y2hlci5oJywKQEAgLTQ4NzAsNiArNDg3Myw3IEBACiAgICAgICAgICAgICAnc3RvcmFnZS9P
cmlnaW5Vc2FnZVJlY29yZC5jcHAnLAogICAgICAgICAgICAgJ3N0b3JhZ2UvT3JpZ2luVXNhZ2VS
ZWNvcmQuaCcsCiAgICAgICAgICAgICAnc3RvcmFnZS9TUUxDYWxsYmFja1dyYXBwZXIuaCcsCisg
ICAgICAgICAgICAnc3RvcmFnZS9TUUxFeGNlcHRpb24uY3BwJywKICAgICAgICAgICAgICdzdG9y
YWdlL1NRTEV4Y2VwdGlvbi5oJywKICAgICAgICAgICAgICdzdG9yYWdlL1NRTFJlc3VsdFNldC5j
cHAnLAogICAgICAgICAgICAgJ3N0b3JhZ2UvU1FMUmVzdWx0U2V0Um93TGlzdC5jcHAnLApAQCAt
NTA3NCw2ICs1MDc4LDcgQEAKICAgICAgICAgICAgICd4bWwvWE1MRXJyb3JzLmgnLAogICAgICAg
ICAgICAgJ3htbC9YTUxIdHRwUmVxdWVzdC5jcHAnLAogICAgICAgICAgICAgJ3htbC9YTUxIdHRw
UmVxdWVzdC5oJywKKyAgICAgICAgICAgICd4bWwvWE1MSHR0cFJlcXVlc3RFeGNlcHRpb24uY3Bw
JywKICAgICAgICAgICAgICd4bWwvWE1MSHR0cFJlcXVlc3RFeGNlcHRpb24uaCcsCiAgICAgICAg
ICAgICAneG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudC5oJywKICAgICAgICAgICAgICd4
bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUuY3BwJywKQEAgLTUwODYsNiAr
NTA5MSw3IEBACiAgICAgICAgICAgICAneG1sL1hNTFRyZWVWaWV3ZXIuaCcsCiAgICAgICAgICAg
ICAneG1sL1hQYXRoRXZhbHVhdG9yLmNwcCcsCiAgICAgICAgICAgICAneG1sL1hQYXRoRXZhbHVh
dG9yLmgnLAorICAgICAgICAgICAgJ3htbC9YUGF0aEV4Y2VwdGlvbi5jcHAnLAogICAgICAgICAg
ICAgJ3htbC9YUGF0aEV4Y2VwdGlvbi5oJywKICAgICAgICAgICAgICd4bWwvWFBhdGhFeHByZXNz
aW9uLmNwcCcsCiAgICAgICAgICAgICAneG1sL1hQYXRoRXhwcmVzc2lvbi5oJywKQEAgLTUxNjQs
NiArNTE3MCw3IEBACiAgICAgICAgICAgICAnZG9tL0N1c3RvbUV2ZW50LmNwcCcsCiAgICAgICAg
ICAgICAnZG9tL0N1c3RvbUV2ZW50LmgnLAogICAgICAgICAgICAgJ2RvbS9ET01BbGxJbk9uZS5j
cHAnLAorICAgICAgICAgICAgJ2RvbS9ET01Db3JlRXhjZXB0aW9uLmNwcCcsCiAgICAgICAgICAg
ICAnZG9tL0RPTUNvcmVFeGNlcHRpb24uaCcsCiAgICAgICAgICAgICAnZG9tL0RPTUltcGxlbWVu
dGF0aW9uLmNwcCcsCiAgICAgICAgICAgICAnZG9tL0RPTVN0cmluZ0xpc3QuY3BwJywKQEAgLTUy
MTUsNiArNTIyMiw3IEBACiAgICAgICAgICAgICAnZG9tL0V2ZW50RGlzcGF0Y2hNZWRpYXRvci5o
JywKICAgICAgICAgICAgICdkb20vRXZlbnREaXNwYXRjaGVyLmNwcCcsCiAgICAgICAgICAgICAn
ZG9tL0V2ZW50RGlzcGF0Y2hlci5oJywKKyAgICAgICAgICAgICdkb20vRXZlbnRFeGNlcHRpb24u
Y3BwJywKICAgICAgICAgICAgICdkb20vRXZlbnRFeGNlcHRpb24uaCcsCiAgICAgICAgICAgICAn
ZG9tL0V2ZW50TGlzdGVuZXJNYXAuY3BwJywKICAgICAgICAgICAgICdkb20vRXZlbnROYW1lcy5j
cHAnLApAQCAtNTI3OSw2ICs1Mjg3LDcgQEAKICAgICAgICAgICAgICdkb20vUHJvZ3Jlc3NFdmVu
dC5oJywKICAgICAgICAgICAgICdkb20vUXVhbGlmaWVkTmFtZS5jcHAnLAogICAgICAgICAgICAg
J2RvbS9SYW5nZS5jcHAnLAorICAgICAgICAgICAgJ2RvbS9SYW5nZUV4Y2VwdGlvbi5jcHAnLAog
ICAgICAgICAgICAgJ2RvbS9SYW5nZUV4Y2VwdGlvbi5oJywKICAgICAgICAgICAgICdkb20vUmF3
RGF0YURvY3VtZW50UGFyc2VyLmgnLAogICAgICAgICAgICAgJ2RvbS9SZWdpc3RlcmVkRXZlbnRM
aXN0ZW5lci5jcHAnLApAQCAtNTkzMiw2ICs1OTQxLDcgQEAKICAgICAgICAgICAgICdzdmcvU1ZH
RWxlbWVudFJhcmVEYXRhLmgnLAogICAgICAgICAgICAgJ3N2Zy9TVkdFbGxpcHNlRWxlbWVudC5j
cHAnLAogICAgICAgICAgICAgJ3N2Zy9TVkdFbGxpcHNlRWxlbWVudC5oJywKKyAgICAgICAgICAg
ICdzdmcvU1ZHRXhjZXB0aW9uLmNwcCcsCiAgICAgICAgICAgICAnc3ZnL1NWR0V4Y2VwdGlvbi5o
JywKICAgICAgICAgICAgICdzdmcvU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5jcHAnLAog
ICAgICAgICAgICAgJ3N2Zy9TVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLmgnLApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8gYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LnBybwppbmRleCA4MjM0ZGYzYTBjN2MzMmI4MWIwYTgwOWJjMDNmMzliZDBhNWZlZTVlLi43NTBi
ZWZlMmRmNTU2M2UzMTczZTgxZDZiOWY5NjkyY2NlMjg5OWQyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnBybworKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBybwpAQCAt
NDkwLDYgKzQ5MCw3IEBAIFNPVVJDRVMgKz0gXAogICAgIGRvbS9Eb2N1bWVudE9yZGVyZWRNYXAu
Y3BwIFwKICAgICBkb20vRG9jdW1lbnRQYXJzZXIuY3BwIFwKICAgICBkb20vRG9jdW1lbnRUeXBl
LmNwcCBcCisgICAgZG9tL0RPTUNvcmVFeGNlcHRpb24uY3BwIFwKICAgICBkb20vRE9NSW1wbGVt
ZW50YXRpb24uY3BwIFwKICAgICBkb20vRE9NU3RyaW5nTGlzdC5jcHAgXAogICAgIGRvbS9ET01T
dHJpbmdNYXAuY3BwIFwKQEAgLTUwMyw2ICs1MDQsNyBAQCBTT1VSQ0VTICs9IFwKICAgICBkb20v
RXZlbnRDb250ZXh0LmNwcCBcCiAgICAgZG9tL0V2ZW50RGlzcGF0Y2hNZWRpYXRvci5jcHAgXAog
ICAgIGRvbS9FdmVudERpc3BhdGNoZXIuY3BwIFwKKyAgICBkb20vRXZlbnRFeGNlcHRpb24uY3Bw
IFwKICAgICBkb20vRXZlbnRMaXN0ZW5lck1hcC5jcHAgXAogICAgIGRvbS9FdmVudE5hbWVzLmNw
cCBcCiAgICAgZG9tL0V2ZW50VGFyZ2V0LmNwcCBcCkBAIC01NDAsNiArNTQyLDcgQEAgU09VUkNF
UyArPSBcCiAgICAgZG9tL1Byb2dyZXNzRXZlbnQuY3BwIFwKICAgICBkb20vUXVhbGlmaWVkTmFt
ZS5jcHAgXAogICAgIGRvbS9SYW5nZS5jcHAgXAorICAgIGRvbS9SYW5nZUV4Y2VwdGlvbi5jcHAg
XAogICAgIGRvbS9SYXdEYXRhRG9jdW1lbnRQYXJzZXIuaCBcCiAgICAgZG9tL1JlZ2lzdGVyZWRF
dmVudExpc3RlbmVyLmNwcCBcCiAgICAgZG9tL1Njb3BlZEV2ZW50UXVldWUuY3BwIFwKQEAgLTYz
MiwxMyArNjM1LDE1IEBAIFNPVVJDRVMgKz0gXAogICAgIGZpbGVhcGkvQmxvYi5jcHAgXAogICAg
IGZpbGVhcGkvQmxvYlVSTC5jcHAgXAogICAgIGZpbGVhcGkvRmlsZS5jcHAgXAorICAgIGZpbGVh
cGkvRmlsZUV4Y2VwdGlvbi5jcHAgXAogICAgIGZpbGVhcGkvRmlsZUxpc3QuY3BwIFwKICAgICBm
aWxlYXBpL0ZpbGVSZWFkZXIuY3BwIFwKICAgICBmaWxlYXBpL0ZpbGVSZWFkZXJMb2FkZXIuY3Bw
IFwKICAgICBmaWxlYXBpL0ZpbGVSZWFkZXJTeW5jLmNwcCBcCiAgICAgZmlsZWFwaS9GaWxlU3Ry
ZWFtUHJveHkuY3BwIFwKICAgICBmaWxlYXBpL0ZpbGVUaHJlYWQuY3BwIFwKLSAgICBmaWxlYXBp
L1RocmVhZGFibGVCbG9iUmVnaXN0cnkuY3BwIFwKKyAgICBmaWxlYXBpL0ZpbGVFeGNlcHRpb24u
Y3BwIFwKKyAgICBmaWxlYXBpL09wZXJhdGlvbk5vdEFsbG93ZWRFeGNlcHRpb24uY3BwIFwKICAg
ICBmaWxlYXBpL1dlYktpdEJsb2JCdWlsZGVyLmNwcCBcCiAgICAgaGlzdG9yeS9CYWNrRm9yd2Fy
ZENvbnRyb2xsZXIuY3BwIFwKICAgICBoaXN0b3J5L0JhY2tGb3J3YXJkTGlzdEltcGwuY3BwIFwK
QEAgLTEyMzksMTEgKzEyNDQsMTMgQEAgU09VUkNFUyArPSBcCiAgICAgeG1sL0RPTVBhcnNlci5j
cHAgXAogICAgIHhtbC9OYXRpdmVYUGF0aE5TUmVzb2x2ZXIuY3BwIFwKICAgICB4bWwvWE1MSHR0
cFJlcXVlc3QuY3BwIFwKKyAgICB4bWwvWE1MSHR0cFJlcXVlc3RFeGNlcHRpb24uY3BwIFwKICAg
ICB4bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUuY3BwIFwKICAgICB4bWwv
WE1MSHR0cFJlcXVlc3RVcGxvYWQuY3BwIFwKICAgICB4bWwvWE1MRXJyb3JzLmNwcCBcCiAgICAg
eG1sL1hNTFNlcmlhbGl6ZXIuY3BwIFwKICAgICB4bWwvWFBhdGhFdmFsdWF0b3IuY3BwIFwKKyAg
ICB4bWwvWFBhdGhFeGNlcHRpb24uY3BwIFwKICAgICB4bWwvWFBhdGhFeHByZXNzaW9uLmNwcCBc
CiAgICAgeG1sL1hQYXRoRXhwcmVzc2lvbk5vZGUuY3BwIFwKICAgICB4bWwvWFBhdGhGdW5jdGlv
bnMuY3BwIFwKQEAgLTI4MzEsNiArMjgzOCw3IEBAIGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9T
UUxfREFUQUJBU0U9MSkgewogICAgICAgICBzdG9yYWdlL0RhdGFiYXNlVHJhY2tlci5jcHAgXAog
ICAgICAgICBzdG9yYWdlL09yaWdpblF1b3RhTWFuYWdlci5jcHAgXAogICAgICAgICBzdG9yYWdl
L09yaWdpblVzYWdlUmVjb3JkLmNwcCBcCisgICAgICAgIHN0b3JhZ2UvU1FMRXhjZXB0aW9uLmNw
cCBcCiAgICAgICAgIHN0b3JhZ2UvU1FMUmVzdWx0U2V0LmNwcCBcCiAgICAgICAgIHN0b3JhZ2Uv
U1FMUmVzdWx0U2V0Um93TGlzdC5jcHAgXAogICAgICAgICBzdG9yYWdlL1NRTFN0YXRlbWVudC5j
cHAgXApAQCAtMjg5NSw2ICsyOTAzLDcgQEAgY29udGFpbnMoREVGSU5FUywgRU5BQkxFX0lOREVY
RURfREFUQUJBU0U9MSkgewogICAgICAgICBzdG9yYWdlL0lEQkN1cnNvckJhY2tlbmRJbXBsLmNw
cCBcCiAgICAgICAgIHN0b3JhZ2UvSURCRGF0YWJhc2UuY3BwIFwKICAgICAgICAgc3RvcmFnZS9J
REJEYXRhYmFzZUJhY2tlbmRJbXBsLmNwcCBcCisgICAgICAgIHN0b3JhZ2UvSURCRGF0YWJhc2VF
eGNlcHRpb24uY3BwIFwKICAgICAgICAgc3RvcmFnZS9JREJFdmVudERpc3BhdGNoZXIuY3BwIFwK
ICAgICAgICAgc3RvcmFnZS9JREJGYWN0b3J5LmNwcCBcCiAgICAgICAgIHN0b3JhZ2UvSURCRmFj
dG9yeUJhY2tlbmRJbnRlcmZhY2UuY3BwIFwKQEAgLTMzOTMsNiArMzQwMiw3IEBAIGNvbnRhaW5z
KERFRklORVMsIEVOQUJMRV9TVkc9MSkgewogICAgICAgICAgICAgICBzdmcvU1ZHRWxlbWVudElu
c3RhbmNlLmNwcCBcCiAgICAgICAgICAgICAgIHN2Zy9TVkdFbGVtZW50SW5zdGFuY2VMaXN0LmNw
cCBcCiAgICAgICAgICAgICAgIHN2Zy9TVkdFbGxpcHNlRWxlbWVudC5jcHAgXAorICAgICAgICAg
ICAgICBzdmcvU1ZHRXhjZXB0aW9uLmNwcCBcCiAgICAgICAgICAgICAgIHN2Zy9TVkdFeHRlcm5h
bFJlc291cmNlc1JlcXVpcmVkLmNwcCBcCiAgICAgICAgICAgICAgIHN2Zy9TVkdGRUJsZW5kRWxl
bWVudC5jcHAgXAogICAgICAgICAgICAgICBzdmcvU1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQuY3Bw
IFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNw
cm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXgg
ZjFjMjM4OTRlNTkwMDgzNjAxZjM5NTdmOWQwMzI3ZTUxODFlMWNlNi4uNWUyMzc0ZjU0NWY4Mzcx
NDJiNjQxNzk2OTA2MmVlYjU1ZGQ4MGMwOCAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52
Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAgLTQyMzIwLDYgKzQyMzIwLDEwIEBACiAJCQkJPgogCQkJ
PC9GaWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHhtbFxYTUxIdHRwUmVxdWVz
dEV4Y2VwdGlvbi5jcHAiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJCQlSZWxhdGl2
ZVBhdGg9Ii4uXHhtbFxYTUxIdHRwUmVxdWVzdEV4Y2VwdGlvbi5oIgogCQkJCT4KIAkJCTwvRmls
ZT4KQEAgLTQyMzY4LDYgKzQyMzcyLDEwIEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUK
KwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHhtbFxYUGF0aEV4Y2VwdGlvbi5jcHAiCisJCQkJPgorCQkJ
PC9GaWxlPgorCQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHhtbFxYUGF0aEV4Y2VwdGlv
bi5oIgogCQkJCT4KIAkJCTwvRmlsZT4KQEAgLTQ0ODUwLDYgKzQ0ODU4LDU4IEBACiAJCQkJPgog
CQkJPC9GaWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxET01Db3JlRXhj
ZXB0aW9uLmNwcCIKKwkJCQk+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRl
YnVnfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8
VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVD
b25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxlYXNl
fFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9v
bAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25m
aWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z19DYWly
b19DRkxpdGV8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJ
CQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwv
RmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlJl
bGVhc2VfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIK
KwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJ
Lz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJ
CQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgor
CQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkv
PgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJ
CU5hbWU9IlByb2R1Y3Rpb258V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgor
CQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkv
PgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJl
bGF0aXZlUGF0aD0iLi5cZG9tXERPTUltcGxlbWVudGF0aW9uLmNwcCIKIAkJCQk+CiAJCQkJPEZp
bGVDb25maWd1cmF0aW9uCkBAIC00NTQ3OCw3ICs0NTUzOCw1OSBAQAogCQkJCT4KIAkJCTwvRmls
ZT4KIAkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21cRXZlbnREaXNwYXRjTWVkaWF0
b3IuY3BwIgorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXEV2ZW50RGlzcGF0Y2hNZWRpYXRvci5j
cHAiCisJCQkJPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z3xXaW4z
MiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJ
CQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJh
dGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiIK
KwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJ
CU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlv
bj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWdfQ2Fpcm9fQ0ZMaXRl
fFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9v
bAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25m
aWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxlYXNlX0Nh
aXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4K
KwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJ
PC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0i
RGVidWdfQWxsfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgor
CQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8
L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJQ
cm9kdWN0aW9ufFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgor
CQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8
L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBh
dGg9Ii4uXGRvbVxFdmVudEV4Y2VwdGlvbi5jcHAiCiAJCQkJPgogCQkJCTxGaWxlQ29uZmlndXJh
dGlvbgogCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKQEAgLTQ3NDgyLDYgKzQ3NTk0LDU4IEBACiAJ
CQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxSYW5n
ZUV4Y2VwdGlvbi5jcHAiCisJCQkJPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1l
PSJEZWJ1Z3xXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJ
CQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9G
aWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUmVs
ZWFzZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJ
PFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxl
Q29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWdf
Q2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJ
PgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJ
CQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1l
PSJSZWxlYXNlX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRy
dWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJ
CQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24K
KwkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1
ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJ
CQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgor
CQkJCQlOYW1lPSJQcm9kdWN0aW9ufFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1
ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJ
CQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJ
CQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxSYW5nZUV4Y2VwdGlvbi5oIgogCQkJCT4KIAkJCTwvRmls
ZT4KQEAgLTUyOTI2LDYgKzUzMDkwLDEwIEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUK
KwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGZpbGVhcGlcRmlsZUV4Y2VwdGlvbi5jcHAiCisJCQkJPgor
CQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGZpbGVhcGlcRmlsZUxp
c3QuY3BwIgogCQkJCT4KIAkJCTwvRmlsZT4KQEAgLTUzMDI2LDYgKzUzMTk0LDE0IEBACiAJCQkJ
PgogCQkJPC9GaWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGZpbGVhcGlcT3Bl
cmF0aW9uTm90QWxsb3dlZEV4Y2VwdGlvbi5jcHAiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZp
bGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGZpbGVhcGlcT3BlcmF0aW9uTm90QWxsb3dlZEV4Y2Vw
dGlvbi5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIu
LlxodG1sXGNhbnZhc1xGbG9hdDMyQXJyYXkuY3BwIgogCQkJCT4KIAkJCTwvRmlsZT4KQEAgLTY3
NjAyLDYgKzY3Nzc4LDEwIEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKKwkJCQlSZWxh
dGl2ZVBhdGg9Ii4uXHN0b3JhZ2VcU1FMRXhjZXB0aW9uLmNwcCIKKwkJCQk+CisJCQk8L0ZpbGU+
CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5cc3RvcmFnZVxTUUxFeGNlcHRpb24uaCIK
IAkJCQk+CiAJCQk8L0ZpbGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKaW5kZXggMjIxYTg5OTA2OWM5Nzc1M2NiMGFiZTU5MDkyNDE5ZjYx
ZTM3OGYxNi4uZjUzMzgzMGE0ZWIyMzZkMmJiNWIwNWNmYTYwNTA2MTc0MmFiMzkwNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisr
KyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAt
MzI2OCw2ICszMjY4LDE2IEBACiAJCTk3N0UyRTBGMTJGMEZDOUMwMEMxMzM3OSAvKiBYU1NBdWRp
dG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NzdF
MkUwQzEyRjBGQzlDMDBDMTMzNzkgLyogWFNTQXVkaXRvci5oICovOyB9OwogCQk5NzhBRDY3NDE0
MTMwQThEMDBDN0NBRTMgLyogSFRNTFNwYW5FbGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk3OEFENjcxMTQxMzBBOEQwMEM3Q0FFMyAvKiBI
VE1MU3BhbkVsZW1lbnQuY3BwICovOyB9OwogCQk5NzhBRDY3NTE0MTMwQThEMDBDN0NBRTMgLyog
SFRNTFNwYW5FbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA5NzhBRDY3MjE0MTMwQThEMDBDN0NBRTMgLyogSFRNTFNwYW5FbGVtZW50LmggKi87
IH07CisJCTk3OEQwN0IyMTQ1QTBFQkQwMDk2OTA4RCAvKiBJREJEYXRhYmFzZUV4Y2VwdGlvbi5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NzhEMDdC
MTE0NUEwRUJEMDA5NjkwOEQgLyogSURCRGF0YWJhc2VFeGNlcHRpb24uY3BwICovOyB9OworCQk5
NzhEMDdCNDE0NUEwRUNEMDA5NjkwOEQgLyogU1FMRXhjZXB0aW9uLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk3OEQwN0IzMTQ1QTBFQ0QwMDk2OTA4
RCAvKiBTUUxFeGNlcHRpb24uY3BwICovOyB9OworCQk5NzhEMDdCNjE0NUEwRjAzMDA5NjkwOEQg
LyogRmlsZUV4Y2VwdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA5NzhEMDdCNTE0NUEwRjAzMDA5NjkwOEQgLyogRmlsZUV4Y2VwdGlvbi5jcHAg
Ki87IH07CisJCTk3OEQwN0I4MTQ1QTBGMUIwMDk2OTA4RCAvKiBPcGVyYXRpb25Ob3RBbGxvd2Vk
RXhjZXB0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDk3OEQwN0I3MTQ1QTBGMUIwMDk2OTA4RCAvKiBPcGVyYXRpb25Ob3RBbGxvd2VkRXhjZXB0
aW9uLmNwcCAqLzsgfTsKKwkJOTc4RDA3QkExNDVBMEYzQzAwOTY5MDhEIC8qIFJhbmdlRXhjZXB0
aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk3
OEQwN0I5MTQ1QTBGM0MwMDk2OTA4RCAvKiBSYW5nZUV4Y2VwdGlvbi5jcHAgKi87IH07CisJCTk3
OEQwN0JDMTQ1QTBGNTYwMDk2OTA4RCAvKiBFdmVudEV4Y2VwdGlvbi5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NzhEMDdCQjE0NUEwRjU2MDA5Njkw
OEQgLyogRXZlbnRFeGNlcHRpb24uY3BwICovOyB9OworCQk5NzhEMDdCRTE0NUEwRjZDMDA5Njkw
OEQgLyogRE9NQ29yZUV4Y2VwdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA5NzhEMDdCRDE0NUEwRjZDMDA5NjkwOEQgLyogRE9NQ29yZUV4Y2Vw
dGlvbi5jcHAgKi87IH07CisJCTk3OEQwN0NBMTQ1QTEwMTYwMDk2OTA4RCAvKiBTVkdFeGNlcHRp
b24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTc4
RDA3QzkxNDVBMTAxNjAwOTY5MDhEIC8qIFNWR0V4Y2VwdGlvbi5jcHAgKi87IH07CisJCTk3OEQw
N0NDMTQ1QTEwMkUwMDk2OTA4RCAvKiBYUGF0aEV4Y2VwdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NzhEMDdDQjE0NUExMDJFMDA5NjkwOEQg
LyogWFBhdGhFeGNlcHRpb24uY3BwICovOyB9OworCQk5NzhEMDdDRTE0NUExMDM3MDA5NjkwOEQg
LyogWE1MSHR0cFJlcXVlc3RFeGNlcHRpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gOTc4RDA3Q0QxNDVBMTAzNzAwOTY5MDhEIC8qIFhNTEh0dHBS
ZXF1ZXN0RXhjZXB0aW9uLmNwcCAqLzsgfTsKIAkJOTc5RjQzRDMxMDc1RTQ0QTAwMDBGODNCIC8q
IE5hdmlnYXRpb25TY2hlZHVsZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gOTc5RjQzRDExMDc1RTQ0QTAwMDBGODNCIC8qIE5hdmlnYXRpb25TY2hl
ZHVsZXIuY3BwICovOyB9OwogCQk5NzlGNDNENDEwNzVFNDRBMDAwMEY4M0IgLyogTmF2aWdhdGlv
blNjaGVkdWxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gOTc5RjQzRDIxMDc1RTQ0QTAwMDBGODNCIC8qIE5hdmlnYXRpb25TY2hlZHVsZXIuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk5N0FBM0NBNTE0
NTIzN0NDMDAzRTFEQTYgLyogRXZlbnRUYXJnZXRIZWFkZXJzLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5N0FBM0NBMzE0NTIzN0NDMDAzRTFEQTYgLyog
RXZlbnRUYXJnZXRIZWFkZXJzLmggKi87IH07CkBAIC0xMDQwMyw2ICsxMDQxMywxNiBAQAogCQk5
NzhBRDY3MTE0MTMwQThEMDBDN0NBRTMgLyogSFRNTFNwYW5FbGVtZW50LmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEhUTUxTcGFuRWxlbWVudC5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk3OEFENjcyMTQxMzBBOEQwMEM3Q0FFMyAvKiBIVE1MU3Bh
bkVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSFRNTFNwYW5FbGVt
ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk3OEFENjczMTQxMzBBOEQwMEM3
Q0FFMyAvKiBIVE1MU3BhbkVsZW1lbnQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEhUTUxT
cGFuRWxlbWVudC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTk3OEQwN0IxMTQ1
QTBFQkQwMDk2OTA4RCAvKiBJREJEYXRhYmFzZUV4Y2VwdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJREJEYXRhYmFzZUV4Y2VwdGlvbi5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTk3OEQwN0IzMTQ1QTBFQ0QwMDk2OTA4RCAvKiBTUUxFeGNl
cHRpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU1FMRXhjZXB0
aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTc4RDA3QjUxNDVBMEYwMzAw
OTY5MDhEIC8qIEZpbGVFeGNlcHRpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBuYW1lID0gRmlsZUV4Y2VwdGlvbi5jcHA7IHBhdGggPSBmaWxlYXBpL0ZpbGVFeGNlcHRpb24u
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5NzhEMDdCNzE0NUEwRjFCMDA5Njkw
OEQgLyogT3BlcmF0aW9uTm90QWxsb3dlZEV4Y2VwdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IG5hbWUgPSBPcGVyYXRpb25Ob3RBbGxvd2VkRXhjZXB0aW9uLmNwcDsgcGF0
aCA9IGZpbGVhcGkvT3BlcmF0aW9uTm90QWxsb3dlZEV4Y2VwdGlvbi5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTk3OEQwN0I5MTQ1QTBGM0MwMDk2OTA4RCAvKiBSYW5nZUV4Y2Vw
dGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSYW5nZUV4Y2Vw
dGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTk3OEQwN0JCMTQ1QTBGNTYw
MDk2OTA4RCAvKiBFdmVudEV4Y2VwdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBFdmVudEV4Y2VwdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTk3OEQwN0JEMTQ1QTBGNkMwMDk2OTA4RCAvKiBET01Db3JlRXhjZXB0aW9uLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERPTUNvcmVFeGNlcHRpb24uY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5NzhEMDdDOTE0NUExMDE2MDA5NjkwOEQgLyog
U1ZHRXhjZXB0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNW
R0V4Y2VwdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTk3OEQwN0NCMTQ1
QTEwMkUwMDk2OTA4RCAvKiBYUGF0aEV4Y2VwdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBYUGF0aEV4Y2VwdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTk3OEQwN0NEMTQ1QTEwMzcwMDk2OTA4RCAvKiBYTUxIdHRwUmVxdWVzdEV4Y2Vw
dGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBYTUxIdHRwUmVx
dWVzdEV4Y2VwdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk3OUY0M0Qx
MTA3NUU0NEEwMDAwRjgzQiAvKiBOYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE5hdmlnYXRpb25TY2hlZHVsZXIuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk5NzlGNDNEMjEwNzVFNDRBMDAwMEY4M0IgLyogTmF2aWdh
dGlvblNjaGVkdWxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOYXZpZ2F0
aW9uU2NoZWR1bGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk3QUEzQ0EzMTQ1
MjM3Q0MwMDNFMURBNiAvKiBFdmVudFRhcmdldEhlYWRlcnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gRXZlbnRUYXJnZXRIZWFkZXJzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CkBAIC0xNDE5OSw2ICsxNDIxOSw3IEBACiAJCQkJQjYxNzYyNTMxMjAzMzc0RjAwRUY5
MTE0IC8qIElEQkRhdGFiYXNlQmFja2VuZEludGVyZmFjZS5oICovLAogCQkJCUM1ODVBNjlEMTFE
NEZCM0QwMDRDM0U0QiAvKiBJREJEYXRhYmFzZUVycm9yLmggKi8sCiAJCQkJQzU4NUE2OUUxMUQ0
RkIzRDAwNEMzRTRCIC8qIElEQkRhdGFiYXNlRXJyb3IuaWRsICovLAorCQkJCTk3OEQwN0IxMTQ1
QTBFQkQwMDk2OTA4RCAvKiBJREJEYXRhYmFzZUV4Y2VwdGlvbi5jcHAgKi8sCiAJCQkJQzU4NUE2
OUYxMUQ0RkIzRDAwNEMzRTRCIC8qIElEQkRhdGFiYXNlRXhjZXB0aW9uLmggKi8sCiAJCQkJQzU4
NUE2QTAxMUQ0RkIzRDAwNEMzRTRCIC8qIElEQkRhdGFiYXNlRXhjZXB0aW9uLmlkbCAqLywKIAkJ
CQlDNTg1QTZDOTExRDRGQjNEMDA0QzNFNEIgLyogSURCRmFjdG9yeS5jcHAgKi8sCkBAIC0xNDI0
NCw2ICsxNDI2NSw3IEBACiAJCQkJMjQ1RDgwQTIxMzI4MEU0MDAwMzQ5MkE2IC8qIFNRTENhbGxi
YWNrV3JhcHBlci5oICovLAogCQkJCTUxRUM5MjU3MENFOTBEQjQwMEY5MDMwOCAvKiBTUUxFcnJv
ci5oICovLAogCQkJCTUxRUM5MjU4MENFOTBEQjQwMEY5MDMwOCAvKiBTUUxFcnJvci5pZGwgKi8s
CisJCQkJOTc4RDA3QjMxNDVBMEVDRDAwOTY5MDhEIC8qIFNRTEV4Y2VwdGlvbi5jcHAgKi8sCiAJ
CQkJQjU2RUJBODMxMUM5RkY4MTAwQjA0NDc3IC8qIFNRTEV4Y2VwdGlvbi5oICovLAogCQkJCUI1
NkVCQTg0MTFDOUZGODEwMEIwNDQ3NyAvKiBTUUxFeGNlcHRpb24uaWRsICovLAogCQkJCTUxOTYx
MTY3MENBQzU2NTcwMDEwQTgwQyAvKiBTUUxSZXN1bHRTZXQuY3BwICovLApAQCAtMTczMzUsNiAr
MTczNTcsNyBAQAogCQkJCTg5M0M0N0ZFMTI0OEJEMzkwMDJCM0Q4NiAvKiBGaWxlRW50cnlTeW5j
LmNwcCAqLywKIAkJCQk4OTNDNDdGRjEyNDhCRDM5MDAyQjNEODYgLyogRmlsZUVudHJ5U3luYy5o
ICovLAogCQkJCTk3NkQ2QzY0MTIyQjhBM0QwMDFGRDFGNyAvKiBGaWxlRXJyb3IuaCAqLywKKwkJ
CQk5NzhEMDdCNTE0NUEwRjAzMDA5NjkwOEQgLyogRmlsZUV4Y2VwdGlvbi5jcHAgKi8sCiAJCQkJ
MkVERjM2OUUxMjJDOTRDODAwMkY3RDRFIC8qIEZpbGVFeGNlcHRpb24uaCAqLywKIAkJCQk5NzZE
NkM2NjEyMkI4QTNEMDAxRkQxRjcgLyogRmlsZUxpc3QuY3BwICovLAogCQkJCTk3NkQ2QzY3MTIy
QjhBM0QwMDFGRDFGNyAvKiBGaWxlTGlzdC5oICovLApAQCAtMTczNjgsNiArMTczOTEsNyBAQAog
CQkJCTg5ODc4NTRGMTIyQ0EwNjQwMDNBQUJEQSAvKiBMb2NhbEZpbGVTeXN0ZW0uaCAqLywKIAkJ
CQk4OTg3ODU1MDEyMkNBMDY0MDAzQUFCREEgLyogTWV0YWRhdGEuaCAqLywKIAkJCQk4OTg3ODU1
MTEyMkNBMDY0MDAzQUFCREEgLyogTWV0YWRhdGFDYWxsYmFjay5oICovLAorCQkJCTk3OEQwN0I3
MTQ1QTBGMUIwMDk2OTA4RCAvKiBPcGVyYXRpb25Ob3RBbGxvd2VkRXhjZXB0aW9uLmNwcCAqLywK
IAkJCQkyRTI0NDVGNTEzOTU4OTNBMDA0QjZDMTkgLyogT3BlcmF0aW9uTm90QWxsb3dlZEV4Y2Vw
dGlvbi5oICovLAogCQkJCTJFMjQ0NUY2MTM5NTg5M0EwMDRCNkMxOSAvKiBPcGVyYXRpb25Ob3RB
bGxvd2VkRXhjZXB0aW9uLmlkbCAqLywKIAkJCQk5NzZENkM3NTEyMkI4QTNEMDAxRkQxRjcgLyog
VGhyZWFkYWJsZUJsb2JSZWdpc3RyeS5jcHAgKi8sCkBAIC0xODUzMiw2ICsxODU1Niw3IEBACiAJ
CQkJQjIyMjc4MjkwRDAwQkYxRjAwNzFCNzgyIC8qIFNWR0VsbGlwc2VFbGVtZW50LmNwcCAqLywK
IAkJCQlCMjIyNzgyQTBEMDBCRjFGMDA3MUI3ODIgLyogU1ZHRWxsaXBzZUVsZW1lbnQuaCAqLywK
IAkJCQlCMjIyNzgyQjBEMDBCRjFGMDA3MUI3ODIgLyogU1ZHRWxsaXBzZUVsZW1lbnQuaWRsICov
LAorCQkJCTk3OEQwN0M5MTQ1QTEwMTYwMDk2OTA4RCAvKiBTVkdFeGNlcHRpb24uY3BwICovLAog
CQkJCUIyMjI3ODJDMEQwMEJGMUYwMDcxQjc4MiAvKiBTVkdFeGNlcHRpb24uaCAqLywKIAkJCQlC
MjIyNzgyRDBEMDBCRjFGMDA3MUI3ODIgLyogU1ZHRXhjZXB0aW9uLmlkbCAqLywKIAkJCQlCMjIy
NzgyRTBEMDBCRjFGMDA3MUI3ODIgLyogU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5jcHAg
Ki8sCkBAIC0yMDMwMiw2ICsyMDMyNyw3IEBACiAJCQkJQkM3NzJDNDQwQzRFQjJDNjAwODMyODVG
IC8qIFhNTEh0dHBSZXF1ZXN0LmNwcCAqLywKIAkJCQlCQzc3MkM0NTBDNEVCMkM2MDA4MzI4NUYg
LyogWE1MSHR0cFJlcXVlc3QuaCAqLywKIAkJCQlCQzM0OEJBNzBEQjdGMUI4MDA0QUJBQjkgLyog
WE1MSHR0cFJlcXVlc3QuaWRsICovLAorCQkJCTk3OEQwN0NEMTQ1QTEwMzcwMDk2OTA4RCAvKiBY
TUxIdHRwUmVxdWVzdEV4Y2VwdGlvbi5jcHAgKi8sCiAJCQkJQkM2MEQ5QzcwRDJBMjlFNTAwQjk5
MThGIC8qIFhNTEh0dHBSZXF1ZXN0RXhjZXB0aW9uLmggKi8sCiAJCQkJQkM2MEQ5QzgwRDJBMjlF
NTAwQjk5MThGIC8qIFhNTEh0dHBSZXF1ZXN0RXhjZXB0aW9uLmlkbCAqLywKIAkJCQlGOUYwRUQ3
NzBEQjUwQ0EyMDBEMTZEQjkgLyogWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50LmggKi8sCkBA
IC0yMDMyMSw2ICsyMDM0Nyw3IEBACiAJCQkJMUFCN0ZDNDcwQThCOTJFQzAwRDlEMzdCIC8qIFhQ
YXRoRXZhbHVhdG9yLmNwcCAqLywKIAkJCQkxQUI3RkM0ODBBOEI5MkVDMDBEOUQzN0IgLyogWFBh
dGhFdmFsdWF0b3IuaCAqLywKIAkJCQkxQUI3RkM0OTBBOEI5MkVDMDBEOUQzN0IgLyogWFBhdGhF
dmFsdWF0b3IuaWRsICovLAorCQkJCTk3OEQwN0NCMTQ1QTEwMkUwMDk2OTA4RCAvKiBYUGF0aEV4
Y2VwdGlvbi5jcHAgKi8sCiAJCQkJQkM2MERBNTkwRDJBMzFGNzAwQjk5MThGIC8qIFhQYXRoRXhj
ZXB0aW9uLmggKi8sCiAJCQkJQkM2MERBNUEwRDJBMzFGNzAwQjk5MThGIC8qIFhQYXRoRXhjZXB0
aW9uLmlkbCAqLywKIAkJCQkxQUI3RkM0QTBBOEI5MkVDMDBEOUQzN0IgLyogWFBhdGhFeHByZXNz
aW9uLmNwcCAqLywKQEAgLTIwOTIzLDYgKzIwOTUwLDcgQEAKIAkJCQlBODE4NUYzMjA5NzY1NzY1
MDA1ODI2RDkgLyogRG9jdW1lbnRUeXBlLmNwcCAqLywKIAkJCQlBODE4NUYzMTA5NzY1NzY1MDA1
ODI2RDkgLyogRG9jdW1lbnRUeXBlLmggKi8sCiAJCQkJOTNFRUMxRTgwOUMyODc3NzAwQzUxNUQx
IC8qIERvY3VtZW50VHlwZS5pZGwgKi8sCisJCQkJOTc4RDA3QkQxNDVBMEY2QzAwOTY5MDhEIC8q
IERPTUNvcmVFeGNlcHRpb24uY3BwICovLAogCQkJCUJDNjBENkU4MEQyOEQ4MzQwMEI5OTE4RiAv
KiBET01Db3JlRXhjZXB0aW9uLmggKi8sCiAJCQkJQkM2MEQ2RUIwRDI4RDk5OTAwQjk5MThGIC8q
IERPTUNvcmVFeGNlcHRpb24uaWRsICovLAogCQkJCUE4MTg1RjM2MDk3NjU3NjUwMDU4MjZEOSAv
KiBET01JbXBsZW1lbnRhdGlvbi5jcHAgKi8sCkBAIC0yMDk2MCw2ICsyMDk4OCw3IEBACiAJCQkJ
NEFGMUFEM0QxM0ZEMjNBNDAwQUE5NTkwIC8qIEV2ZW50RGlzcGF0Y2hNZWRpYXRvci5oICovLAog
CQkJCTQxOEEwNkNGMTMzQzA0RDUwMENEMzc5QyAvKiBFdmVudERpc3BhdGNoZXIuY3BwICovLAog
CQkJCTQxOEEwNkNFMTMzQzA0RDUwMENEMzc5QyAvKiBFdmVudERpc3BhdGNoZXIuaCAqLywKKwkJ
CQk5NzhEMDdCQjE0NUEwRjU2MDA5NjkwOEQgLyogRXZlbnRFeGNlcHRpb24uY3BwICovLAogCQkJ
CUJDNjBEOTA5MEQyQTE3Q0UwMEI5OTE4RiAvKiBFdmVudEV4Y2VwdGlvbi5oICovLAogCQkJCUJD
NjBEOTBBMEQyQTE3Q0UwMEI5OTE4RiAvKiBFdmVudEV4Y2VwdGlvbi5pZGwgKi8sCiAJCQkJOTc2
NjUwMTExNDRGQUE0MjAwRjZCQjUxIC8qIEV2ZW50RmFjdG9yeS5oICovLApAQCAtMjEwNzEsNiAr
MjExMDAsNyBAQAogCQkJCUY1MjNEMzA0MDJERTQ0NzYwMTg2MzVDQSAvKiBSYW5nZS5oICovLAog
CQkJCTkzNkREMDNBMDlDRUFDMjcwMDU2QUU4QyAvKiBSYW5nZS5pZGwgKi8sCiAJCQkJOTNEOUQ1
M0IwREEyN0UxODAwNzcyMTZDIC8qIFJhbmdlQm91bmRhcnlQb2ludC5oICovLAorCQkJCTk3OEQw
N0I5MTQ1QTBGM0MwMDk2OTA4RCAvKiBSYW5nZUV4Y2VwdGlvbi5jcHAgKi8sCiAJCQkJRDIzQ0E1
NkIwQUIwRUI4RDAwNTEwOEE1IC8qIFJhbmdlRXhjZXB0aW9uLmggKi8sCiAJCQkJRDIzQ0E1NDgw
QUIwRTk4MzAwNTEwOEE1IC8qIFJhbmdlRXhjZXB0aW9uLmlkbCAqLywKIAkJCQlBODREODI3QjEx
RDMzM0VEMDA5NzI5OTAgLyogUmF3RGF0YURvY3VtZW50UGFyc2VyLmggKi8sCkBAIC0yNzMzMSw2
ICsyNzM2MSwxNiBAQAogCQkJCTk3NjY1MDRGMTQ0RkJGRkUwMEY2QkI1MSAvKiBFdmVudEZhY3Rv
cnkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTBFRTBERjUxNDRGODI1NTAwRjgwQjBEIC8qIFdl
YkdMRGVidWdSZW5kZXJlckluZm8uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTBFRTBERjcxNDRG
ODI1NTAwRjgwQjBEIC8qIFdlYkdMRGVidWdTaGFkZXJzLmNwcCBpbiBTb3VyY2VzICovLAorCQkJ
CTk3OEQwN0IyMTQ1QTBFQkQwMDk2OTA4RCAvKiBJREJEYXRhYmFzZUV4Y2VwdGlvbi5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQk5NzhEMDdCNDE0NUEwRUNEMDA5NjkwOEQgLyogU1FMRXhjZXB0aW9u
LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTk3OEQwN0I2MTQ1QTBGMDMwMDk2OTA4RCAvKiBGaWxl
RXhjZXB0aW9uLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTk3OEQwN0I4MTQ1QTBGMUIwMDk2OTA4
RCAvKiBPcGVyYXRpb25Ob3RBbGxvd2VkRXhjZXB0aW9uLmNwcCBpbiBTb3VyY2VzICovLAorCQkJ
CTk3OEQwN0JBMTQ1QTBGM0MwMDk2OTA4RCAvKiBSYW5nZUV4Y2VwdGlvbi5jcHAgaW4gU291cmNl
cyAqLywKKwkJCQk5NzhEMDdCQzE0NUEwRjU2MDA5NjkwOEQgLyogRXZlbnRFeGNlcHRpb24uY3Bw
IGluIFNvdXJjZXMgKi8sCisJCQkJOTc4RDA3QkUxNDVBMEY2QzAwOTY5MDhEIC8qIERPTUNvcmVF
eGNlcHRpb24uY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJOTc4RDA3Q0ExNDVBMTAxNjAwOTY5MDhE
IC8qIFNWR0V4Y2VwdGlvbi5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk5NzhEMDdDQzE0NUExMDJF
MDA5NjkwOEQgLyogWFBhdGhFeGNlcHRpb24uY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJOTc4RDA3
Q0UxNDVBMTAzNzAwOTY5MDhEIC8qIFhNTEh0dHBSZXF1ZXN0RXhjZXB0aW9uLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAw
OwogCQl9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RPTUFsbEluT25lLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9ET01BbGxJbk9uZS5jcHAKaW5kZXggZjgyNWRhMDcxYzU3Njg5
ZmNjOTJmOGJjNGVmZGEwM2JhMmZjN2NhMi4uNTZmY2JmZmI1YWZiMzU3ODVjNTdmM2I2MWQwODkw
MGU1MGQzMmUwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RPTUFsbEluT25lLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NQWxsSW5PbmUuY3BwCkBAIC00NCw2ICs0NCw3
IEBACiAjaW5jbHVkZSAiQ29tcG9zaXRpb25FdmVudC5jcHAiCiAjaW5jbHVkZSAiQ29udGFpbmVy
Tm9kZS5jcHAiCiAjaW5jbHVkZSAiQ3VzdG9tRXZlbnQuY3BwIgorI2luY2x1ZGUgIkRPTUNvcmVF
eGNlcHRpb24uY3BwIgogI2luY2x1ZGUgIkRPTUltcGxlbWVudGF0aW9uLmNwcCIKICNpbmNsdWRl
ICJET01TdHJpbmdMaXN0LmNwcCIKICNpbmNsdWRlICJET01TdHJpbmdNYXAuY3BwIgpAQCAtNzEs
NiArNzIsNyBAQAogI2luY2x1ZGUgIkV2ZW50Q29udGV4dC5jcHAiCiAjaW5jbHVkZSAiRXZlbnRE
aXNwYXRjaE1lZGlhdG9yLmNwcCIKICNpbmNsdWRlICJFdmVudERpc3BhdGNoZXIuY3BwIgorI2lu
Y2x1ZGUgIkV2ZW50RXhjZXB0aW9uLmNwcCIKICNpbmNsdWRlICJFdmVudExpc3RlbmVyTWFwLmNw
cCIKICNpbmNsdWRlICJFdmVudE5hbWVzLmNwcCIKICNpbmNsdWRlICJFdmVudFF1ZXVlLmNwcCIK
QEAgLTEwMiw2ICsxMDQsNyBAQAogI2luY2x1ZGUgIlByb2Nlc3NpbmdJbnN0cnVjdGlvbi5jcHAi
CiAjaW5jbHVkZSAiUHJvZ3Jlc3NFdmVudC5jcHAiCiAjaW5jbHVkZSAiUmFuZ2UuY3BwIgorI2lu
Y2x1ZGUgIlJhbmdlRXhjZXB0aW9uLmNwcCIKICNpbmNsdWRlICJSZWdpc3RlcmVkRXZlbnRMaXN0
ZW5lci5jcHAiCiAjaW5jbHVkZSAiU2NvcGVkRXZlbnRRdWV1ZS5jcHAiCiAjaW5jbHVkZSAiU2Ny
aXB0RWxlbWVudC5jcHAiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NQ29yZUV4
Y2VwdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NQ29yZUV4Y2VwdGlvbi5jcHAKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMDAwMTE5MmM1Y2ZhOGI1ZDU1ZjA5NjY5ODZiNTkyNGQ1OWUxY2FiMQotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01Db3JlRXhjZXB0aW9uLmNwcApAQCAt
MCwwICsxLDEwOSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gIE5laXRoZXIgdGhlIG5h
bWUgb2YgQXBwbGUgQ29tcHV0ZXIsIEluYy4gKCJBcHBsZSIpIG5vciB0aGUgbmFtZXMgb2YKKyAq
ICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkCisgKiAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgR09PR0xFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQor
ICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICog
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRE9NQ29yZUV4
Y2VwdGlvbi5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKKy8vIEZJWE1FOiBUaGlzIHNob3Vs
ZCBiZSBhbiBhcnJheSBvZiBzdHJ1Y3RzIHRvIHBhaXIgdGhlIG5hbWVzIGFuZCBkZXNjcmlwdGlv
bnMuCitzdGF0aWMgY29uc3QgY2hhciogY29uc3QgZXhjZXB0aW9uTmFtZXNbXSA9IHsKKyAgICAi
SU5ERVhfU0laRV9FUlIiLAorICAgICJET01TVFJJTkdfU0laRV9FUlIiLAorICAgICJISUVSQVJD
SFlfUkVRVUVTVF9FUlIiLAorICAgICJXUk9OR19ET0NVTUVOVF9FUlIiLAorICAgICJJTlZBTElE
X0NIQVJBQ1RFUl9FUlIiLAorICAgICJOT19EQVRBX0FMTE9XRURfRVJSIiwKKyAgICAiTk9fTU9E
SUZJQ0FUSU9OX0FMTE9XRURfRVJSIiwKKyAgICAiTk9UX0ZPVU5EX0VSUiIsCisgICAgIk5PVF9T
VVBQT1JURURfRVJSIiwKKyAgICAiSU5VU0VfQVRUUklCVVRFX0VSUiIsCisgICAgIklOVkFMSURf
U1RBVEVfRVJSIiwKKyAgICAiU1lOVEFYX0VSUiIsCisgICAgIklOVkFMSURfTU9ESUZJQ0FUSU9O
X0VSUiIsCisgICAgIk5BTUVTUEFDRV9FUlIiLAorICAgICJJTlZBTElEX0FDQ0VTU19FUlIiLAor
ICAgICJWQUxJREFUSU9OX0VSUiIsCisgICAgIlRZUEVfTUlTTUFUQ0hfRVJSIiwKKyAgICAiU0VD
VVJJVFlfRVJSIiwKKyAgICAiTkVUV09SS19FUlIiLAorICAgICJBQk9SVF9FUlIiLAorICAgICJV
UkxfTUlTTUFUQ0hfRVJSIiwKKyAgICAiUVVPVEFfRVhDRUVERURfRVJSIiwKKyAgICAiVElNRU9V
VF9FUlIiLAorICAgICJJTlZBTElEX05PREVfVFlQRV9FUlIiLAorICAgICJEQVRBX0NMT05FX0VS
UiIKK307CisKK3N0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBleGNlcHRpb25EZXNjcmlwdGlvbnNb
XSA9IHsKKyAgICAiSW5kZXggb3Igc2l6ZSB3YXMgbmVnYXRpdmUsIG9yIGdyZWF0ZXIgdGhhbiB0
aGUgYWxsb3dlZCB2YWx1ZS4iLAorICAgICJUaGUgc3BlY2lmaWVkIHJhbmdlIG9mIHRleHQgZGlk
IG5vdCBmaXQgaW50byBhIERPTVN0cmluZy4iLAorICAgICJBIE5vZGUgd2FzIGluc2VydGVkIHNv
bWV3aGVyZSBpdCBkb2Vzbid0IGJlbG9uZy4iLAorICAgICJBIE5vZGUgd2FzIHVzZWQgaW4gYSBk
aWZmZXJlbnQgZG9jdW1lbnQgdGhhbiB0aGUgb25lIHRoYXQgY3JlYXRlZCBpdCAodGhhdCBkb2Vz
bid0IHN1cHBvcnQgaXQpLiIsCisgICAgIkFuIGludmFsaWQgb3IgaWxsZWdhbCBjaGFyYWN0ZXIg
d2FzIHNwZWNpZmllZCwgc3VjaCBhcyBpbiBhbiBYTUwgbmFtZS4iLAorICAgICJEYXRhIHdhcyBz
cGVjaWZpZWQgZm9yIGEgTm9kZSB3aGljaCBkb2VzIG5vdCBzdXBwb3J0IGRhdGEuIiwKKyAgICAi
QW4gYXR0ZW1wdCB3YXMgbWFkZSB0byBtb2RpZnkgYW4gb2JqZWN0IHdoZXJlIG1vZGlmaWNhdGlv
bnMgYXJlIG5vdCBhbGxvd2VkLiIsCisgICAgIkFuIGF0dGVtcHQgd2FzIG1hZGUgdG8gcmVmZXJl
bmNlIGEgTm9kZSBpbiBhIGNvbnRleHQgd2hlcmUgaXQgZG9lcyBub3QgZXhpc3QuIiwKKyAgICAi
VGhlIGltcGxlbWVudGF0aW9uIGRpZCBub3Qgc3VwcG9ydCB0aGUgcmVxdWVzdGVkIHR5cGUgb2Yg
b2JqZWN0IG9yIG9wZXJhdGlvbi4iLAorICAgICJBbiBhdHRlbXB0IHdhcyBtYWRlIHRvIGFkZCBh
biBhdHRyaWJ1dGUgdGhhdCBpcyBhbHJlYWR5IGluIHVzZSBlbHNld2hlcmUuIiwKKyAgICAiQW4g
YXR0ZW1wdCB3YXMgbWFkZSB0byB1c2UgYW4gb2JqZWN0IHRoYXQgaXMgbm90LCBvciBpcyBubyBs
b25nZXIsIHVzYWJsZS4iLAorICAgICJBbiBpbnZhbGlkIG9yIGlsbGVnYWwgc3RyaW5nIHdhcyBz
cGVjaWZpZWQuIiwKKyAgICAiQW4gYXR0ZW1wdCB3YXMgbWFkZSB0byBtb2RpZnkgdGhlIHR5cGUg
b2YgdGhlIHVuZGVybHlpbmcgb2JqZWN0LiIsCisgICAgIkFuIGF0dGVtcHQgd2FzIG1hZGUgdG8g
Y3JlYXRlIG9yIGNoYW5nZSBhbiBvYmplY3QgaW4gYSB3YXkgd2hpY2ggaXMgaW5jb3JyZWN0IHdp
dGggcmVnYXJkIHRvIG5hbWVzcGFjZXMuIiwKKyAgICAiQSBwYXJhbWV0ZXIgb3IgYW4gb3BlcmF0
aW9uIHdhcyBub3Qgc3VwcG9ydGVkIGJ5IHRoZSB1bmRlcmx5aW5nIG9iamVjdC4iLAorICAgICJB
IGNhbGwgdG8gYSBtZXRob2Qgc3VjaCBhcyBpbnNlcnRCZWZvcmUgb3IgcmVtb3ZlQ2hpbGQgd291
bGQgbWFrZSB0aGUgTm9kZSBpbnZhbGlkIHdpdGggcmVzcGVjdCB0byBcInBhcnRpYWwgdmFsaWRp
dHlcIiwgdGhpcyBleGNlcHRpb24gd291bGQgYmUgcmFpc2VkIGFuZCB0aGUgb3BlcmF0aW9uIHdv
dWxkIG5vdCBiZSBkb25lLiIsCisgICAgIlRoZSB0eXBlIG9mIGFuIG9iamVjdCB3YXMgaW5jb21w
YXRpYmxlIHdpdGggdGhlIGV4cGVjdGVkIHR5cGUgb2YgdGhlIHBhcmFtZXRlciBhc3NvY2lhdGVk
IHRvIHRoZSBvYmplY3QuIiwKKyAgICAiQW4gYXR0ZW1wdCB3YXMgbWFkZSB0byBicmVhayB0aHJv
dWdoIHRoZSBzZWN1cml0eSBwb2xpY3kgb2YgdGhlIHVzZXIgYWdlbnQuIiwKKyAgICAvLyBGSVhN
RTogQ291bGRuJ3QgZmluZCBhIGRlc2NyaXB0aW9uIGluIHRoZSBIVE1ML0RPTSBzcGVjaWZpY2F0
aW9ucyBmb3IgTkVUV09SS19FUlIsIEFCT1JUX0VSUiwgVVJMX01JU01BVENIX0VSUiwgYW5kIFFV
T1RBX0VYQ0VFREVEX0VSUgorICAgICJBIG5ldHdvcmsgZXJyb3Igb2NjdXJlZC4iLAorICAgICJU
aGUgdXNlciBhYm9ydGVkIGEgcmVxdWVzdC4iLAorICAgICJBIHdvcmtlciBnbG9iYWwgc2NvcGUg
cmVwcmVzZW50ZWQgYW4gYWJzb2x1dGUgVVJMIHRoYXQgaXMgbm90IGVxdWFsIHRvIHRoZSByZXN1
bHRpbmcgYWJzb2x1dGUgVVJMLiIsCisgICAgIkFuIGF0dGVtcHQgd2FzIG1hZGUgdG8gYWRkIHNv
bWV0aGluZyB0byBzdG9yYWdlIHRoYXQgZXhjZWVkZWQgdGhlIHF1b3RhLiIsCisgICAgIkEgdGlt
ZW91dCBvY2N1cnJlZC4iLAorICAgICJUaGUgc3VwcGxpZWQgbm9kZSBpcyBpbnZhbGlkIG9yIGhh
cyBhbiBpbnZhbGlkIGFuY2VzdG9yIGZvciB0aGlzIG9wZXJhdGlvbi4iLAorICAgICJBbiBvYmpl
Y3QgY291bGQgbm90IGJlIGNsb25lZC4iCit9OworCitDT01QSUxFX0FTU0VSVChXVEZfQVJSQVlf
TEVOR1RIKGV4Y2VwdGlvbk5hbWVzKSA9PSBXVEZfQVJSQVlfTEVOR1RIKGV4Y2VwdGlvbkRlc2Ny
aXB0aW9ucyksIERPTUNvcmVFeGNlcHRpb25UYWJsZXNNdXN0TWF0Y2gpOworCitib29sIERPTUNv
cmVFeGNlcHRpb246OmluaXRpYWxpemVEZXNjcmlwdGlvbihFeGNlcHRpb25Db2RlIGVjLCBFeGNl
cHRpb25Db2RlRGVzY3JpcHRpb24qIGRlc2NyaXB0aW9uKQoreworICAgIGRlc2NyaXB0aW9uLT50
eXBlTmFtZSA9ICJET00iOworICAgIGRlc2NyaXB0aW9uLT5jb2RlID0gZWM7CisgICAgZGVzY3Jp
cHRpb24tPnR5cGUgPSBET01FeGNlcHRpb25UeXBlOworCisgICAgc2l6ZV90IHRhYmxlU2l6ZSA9
IFdURl9BUlJBWV9MRU5HVEgoZXhjZXB0aW9uTmFtZXMpOworICAgIHNpemVfdCB0YWJsZUluZGV4
ID0gZWMgLSBJTkRFWF9TSVpFX0VSUjsKKworICAgIGRlc2NyaXB0aW9uLT5uYW1lID0gdGFibGVJ
bmRleCA8IHRhYmxlU2l6ZSA/IGV4Y2VwdGlvbk5hbWVzW3RhYmxlSW5kZXhdIDogMDsKKyAgICBk
ZXNjcmlwdGlvbi0+ZGVzY3JpcHRpb24gPSB0YWJsZUluZGV4IDwgdGFibGVTaXplID8gZXhjZXB0
aW9uRGVzY3JpcHRpb25zW3RhYmxlSW5kZXhdIDogMDsKKworICAgIHJldHVybiB0cnVlOworfQor
Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
RE9NQ29yZUV4Y2VwdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTUNvcmVFeGNlcHRpb24u
aAppbmRleCAwYjJkYWRhNWRmMmNjZjJkNzQwNGVhMjM3NjE1MzhjMGE4Yjc2ZWYxLi5hZmQxOTM4
YWIzOTY0MDc1YWZiY2UwNTFkYWMyMzA4ZDg4YjRlNjdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vRE9NQ29yZUV4Y2VwdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01D
b3JlRXhjZXB0aW9uLmgKQEAgLTQwLDYgKzQwLDggQEAgcHVibGljOgogICAgICAgICByZXR1cm4g
YWRvcHRSZWYobmV3IERPTUNvcmVFeGNlcHRpb24oZGVzY3JpcHRpb24pKTsKICAgICB9CiAKKyAg
ICBzdGF0aWMgYm9vbCBpbml0aWFsaXplRGVzY3JpcHRpb24oRXhjZXB0aW9uQ29kZSwgRXhjZXB0
aW9uQ29kZURlc2NyaXB0aW9uKik7CisKIHByaXZhdGU6CiAgICAgRE9NQ29yZUV4Y2VwdGlvbihj
b25zdCBFeGNlcHRpb25Db2RlRGVzY3JpcHRpb24mIGRlc2NyaXB0aW9uKQogICAgICAgICA6IEV4
Y2VwdGlvbkJhc2UoZGVzY3JpcHRpb24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
RXZlbnRFeGNlcHRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50RXhjZXB0aW9uLmNw
cApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5lMzFhZmQ3MWQxNjE1MWYxZGFiNjU3OWExOGUxNjFjZDE0N2M2ODIwCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50RXhjZXB0aW9uLmNwcApA
QCAtMCwwICsxLDY1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiAgTmVpdGhlciB0aGUg
bmFtZSBvZiBBcHBsZSBDb21wdXRlciwgSW5jLiAoIkFwcGxlIikgbm9yIHRoZSBuYW1lcyBvZgor
ICogICAgIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQKKyAqICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBHT09HTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisg
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
CisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisg
KiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJFdmVudEV4
Y2VwdGlvbi5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKKy8vIEZJWE1FOiBUaGlzIHNob3Vs
ZCBiZSBhbiBhcnJheSBvZiBzdHJ1Y3RzIHRvIHBhaXIgdGhlIG5hbWVzIGFuZCBkZXNjcmlwdGlv
bnMuCitzdGF0aWMgY29uc3QgY2hhciogY29uc3QgZXhjZXB0aW9uTmFtZXNbXSA9IHsKKyAgICAi
VU5TUEVDSUZJRURfRVZFTlRfVFlQRV9FUlIiLAorICAgICJESVNQQVRDSF9SRVFVRVNUX0VSUiIK
K307CisKK3N0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBleGNlcHRpb25EZXNjcmlwdGlvbnNbXSA9
IHsKKyAgICAiVGhlIEV2ZW50J3MgdHlwZSB3YXMgbm90IHNwZWNpZmllZCBieSBpbml0aWFsaXpp
bmcgdGhlIGV2ZW50IGJlZm9yZSB0aGUgbWV0aG9kIHdhcyBjYWxsZWQuIiwKKyAgICAiVGhlIEV2
ZW50IG9iamVjdCBpcyBhbHJlYWR5IGJlaW5nIGRpc3BhdGNoZWQuIgorfTsKKworQ09NUElMRV9B
U1NFUlQoV1RGX0FSUkFZX0xFTkdUSChleGNlcHRpb25OYW1lcykgPT0gV1RGX0FSUkFZX0xFTkdU
SChleGNlcHRpb25EZXNjcmlwdGlvbnMpLCBFdmVudEV4Y2VwdGlvblRhYmxlc011c3RNYXRjaCk7
CisKK2Jvb2wgRXZlbnRFeGNlcHRpb246OmluaXRpYWxpemVEZXNjcmlwdGlvbihFeGNlcHRpb25D
b2RlIGVjLCBFeGNlcHRpb25Db2RlRGVzY3JpcHRpb24qIGRlc2NyaXB0aW9uKQoreworICAgIGlm
IChlYyA8IEV2ZW50RXhjZXB0aW9uT2Zmc2V0IHx8IGVjID4gRXZlbnRFeGNlcHRpb25NYXgpCisg
ICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGRlc2NyaXB0aW9uLT50eXBlTmFtZSA9ICJET00g
RXZlbnRzIjsKKyAgICBkZXNjcmlwdGlvbi0+Y29kZSA9IGVjIC0gRXZlbnRFeGNlcHRpb25PZmZz
ZXQ7CisgICAgZGVzY3JpcHRpb24tPnR5cGUgPSBFdmVudEV4Y2VwdGlvblR5cGU7CisKKyAgICBz
aXplX3QgdGFibGVTaXplID0gV1RGX0FSUkFZX0xFTkdUSChleGNlcHRpb25OYW1lcyk7CisgICAg
c2l6ZV90IHRhYmxlSW5kZXggPSBlYyAtIFVOU1BFQ0lGSUVEX0VWRU5UX1RZUEVfRVJSOworCisg
ICAgZGVzY3JpcHRpb24tPm5hbWUgPSB0YWJsZUluZGV4IDwgdGFibGVTaXplID8gZXhjZXB0aW9u
TmFtZXNbdGFibGVJbmRleF0gOiAwOworICAgIGRlc2NyaXB0aW9uLT5kZXNjcmlwdGlvbiA9IHRh
YmxlSW5kZXggPCB0YWJsZVNpemUgPyBleGNlcHRpb25EZXNjcmlwdGlvbnNbdGFibGVJbmRleF0g
OiAwOworCisgICAgcmV0dXJuIHRydWU7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudEV4Y2VwdGlvbi5oIGIvU291cmNlL1dl
YkNvcmUvZG9tL0V2ZW50RXhjZXB0aW9uLmgKaW5kZXggNmYyZmNjMzEwZjg2YjY4YjZlY2M2NWRj
NDI3MTQwNDg4NTA2NGMxYi4uY2VmM2MzYjcyZjM2Zjk2MjkzMTMzMjdlODdlYmYyZWViMmRkMmU2
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50RXhjZXB0aW9uLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvZG9tL0V2ZW50RXhjZXB0aW9uLmgKQEAgLTQ4LDYgKzQ4LDggQEAgcHVi
bGljOgogICAgICAgICBESVNQQVRDSF9SRVFVRVNUX0VSUgogICAgIH07CiAKKyAgICBzdGF0aWMg
Ym9vbCBpbml0aWFsaXplRGVzY3JpcHRpb24oRXhjZXB0aW9uQ29kZSwgRXhjZXB0aW9uQ29kZURl
c2NyaXB0aW9uKik7CisKIHByaXZhdGU6CiAgICAgRXZlbnRFeGNlcHRpb24oY29uc3QgRXhjZXB0
aW9uQ29kZURlc2NyaXB0aW9uJiBkZXNjcmlwdGlvbikKICAgICAgICAgOiBFeGNlcHRpb25CYXNl
KGRlc2NyaXB0aW9uKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V4Y2VwdGlvbkJh
c2UuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FeGNlcHRpb25CYXNlLmgKaW5kZXggNzQ0OWMwY2U2
MjM2Y2Q4M2FlNmMxYTY1MzhkMTVmMmJmZjk5MzQ1Yy4uODhmZWQyZDUxMzYxMzA5ODQ5OTQ0ZTZl
YjkzYTY3MzNlNjhiODNjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V4Y2VwdGlv
bkJhc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXhjZXB0aW9uQmFzZS5oCkBAIC0yOSwz
MSArMjksMzIgQEAKICNpZm5kZWYgRXhjZXB0aW9uQmFzZV9oCiAjZGVmaW5lIEV4Y2VwdGlvbkJh
c2VfaAogCisjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgogI2luY2x1ZGUgIlBsYXRmb3JtU3Ry
aW5nLmgiCiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCi0gICAgc3RydWN0IEV4Y2VwdGlvbkNvZGVEZXNjcmlwdGlvbjsKK3N0cnVjdCBFeGNlcHRp
b25Db2RlRGVzY3JpcHRpb247CiAKLSAgICBjbGFzcyBFeGNlcHRpb25CYXNlIDogcHVibGljIFJl
ZkNvdW50ZWQ8RXhjZXB0aW9uQmFzZT4gewotICAgIHB1YmxpYzoKLSAgICAgICAgdW5zaWduZWQg
c2hvcnQgY29kZSgpIGNvbnN0IHsgcmV0dXJuIG1fY29kZTsgfQotICAgICAgICBTdHJpbmcgbmFt
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fbmFtZTsgfQotICAgICAgICBTdHJpbmcgbWVzc2FnZSgpIGNv
bnN0IHsgcmV0dXJuIG1fbWVzc2FnZTsgfQotICAgICAgICBTdHJpbmcgZGVzY3JpcHRpb24oKSBj
b25zdCB7IHJldHVybiBtX2Rlc2NyaXB0aW9uOyB9CitjbGFzcyBFeGNlcHRpb25CYXNlIDogcHVi
bGljIFJlZkNvdW50ZWQ8RXhjZXB0aW9uQmFzZT4geworcHVibGljOgorICAgIHVuc2lnbmVkIHNo
b3J0IGNvZGUoKSBjb25zdCB7IHJldHVybiBtX2NvZGU7IH0KKyAgICBTdHJpbmcgbmFtZSgpIGNv
bnN0IHsgcmV0dXJuIG1fbmFtZTsgfQorICAgIFN0cmluZyBtZXNzYWdlKCkgY29uc3QgeyByZXR1
cm4gbV9tZXNzYWdlOyB9CisgICAgU3RyaW5nIGRlc2NyaXB0aW9uKCkgY29uc3QgeyByZXR1cm4g
bV9kZXNjcmlwdGlvbjsgfQogCi0gICAgICAgIFN0cmluZyB0b1N0cmluZygpIGNvbnN0OworICAg
IFN0cmluZyB0b1N0cmluZygpIGNvbnN0OwogCi0gICAgcHJvdGVjdGVkOgotICAgICAgICBFeGNl
cHRpb25CYXNlKGNvbnN0IEV4Y2VwdGlvbkNvZGVEZXNjcmlwdGlvbiYpOworcHJvdGVjdGVkOgor
ICAgIEV4Y2VwdGlvbkJhc2UoY29uc3QgRXhjZXB0aW9uQ29kZURlc2NyaXB0aW9uJik7CiAKLSAg
ICBwcml2YXRlOgotICAgICAgICB1bnNpZ25lZCBzaG9ydCBtX2NvZGU7Ci0gICAgICAgIFN0cmlu
ZyBtX25hbWU7Ci0gICAgICAgIFN0cmluZyBtX21lc3NhZ2U7Ci0gICAgICAgIFN0cmluZyBtX2Rl
c2NyaXB0aW9uOwotICAgIH07Citwcml2YXRlOgorICAgIHVuc2lnbmVkIHNob3J0IG1fY29kZTsK
KyAgICBTdHJpbmcgbV9uYW1lOworICAgIFN0cmluZyBtX21lc3NhZ2U7CisgICAgU3RyaW5nIG1f
ZGVzY3JpcHRpb247Cit9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9FeGNlcHRpb25Db2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9FeGNlcHRpb25Db2RlLmNwcAppbmRleCAwNjA0ZmFmODJhZmI0NWQwZjgxYjg2NzQ2ZjljNGVh
ZmNjNmY1ZThmLi5mMGJlOTBlNGUzZjU5NDVjZTg2NGI1M2VhMWZkZjIxNThhOWJmMzJhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXhjZXB0aW9uQ29kZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvZG9tL0V4Y2VwdGlvbkNvZGUuY3BwCkBAIC0yNiwzNDggKzI2LDYxIEBACiAjaW5j
bHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgogCisjaW5jbHVkZSAi
RE9NQ29yZUV4Y2VwdGlvbi5oIgogI2luY2x1ZGUgIkV2ZW50RXhjZXB0aW9uLmgiCisjaWYgRU5B
QkxFKEJMT0IpCisjaW5jbHVkZSAiRmlsZUV4Y2VwdGlvbi5oIgorI2VuZGlmCisjaWYgRU5BQkxF
KElOREVYRURfREFUQUJBU0UpCiAjaW5jbHVkZSAiSURCRGF0YWJhc2VFeGNlcHRpb24uaCIKLSNp
bmNsdWRlICJSYW5nZUV4Y2VwdGlvbi5oIgotI2luY2x1ZGUgIlhNTEh0dHBSZXF1ZXN0RXhjZXB0
aW9uLmgiCi0jaW5jbHVkZSAiWFBhdGhFeGNlcHRpb24uaCIKLQotI2lmIEVOQUJMRShTVkcpCi0j
aW5jbHVkZSAiU1ZHRXhjZXB0aW9uLmgiCiAjZW5kaWYKLQorI2luY2x1ZGUgIk9wZXJhdGlvbk5v
dEFsbG93ZWRFeGNlcHRpb24uaCIKKyNpbmNsdWRlICJSYW5nZUV4Y2VwdGlvbi5oIgogI2lmIEVO
QUJMRShTUUxfREFUQUJBU0UpCiAjaW5jbHVkZSAiU1FMRXhjZXB0aW9uLmgiCiAjZW5kaWYKLQot
I2lmIEVOQUJMRShCTE9CKSB8fCBFTkFCTEUoRklMRV9TWVNURU0pCi0jaW5jbHVkZSAiRmlsZUV4
Y2VwdGlvbi5oIgotI2luY2x1ZGUgIk9wZXJhdGlvbk5vdEFsbG93ZWRFeGNlcHRpb24uaCIKLSNl
bmRpZgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLXN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBl
eGNlcHRpb25OYW1lc1tdID0gewotICAgICJJTkRFWF9TSVpFX0VSUiIsCi0gICAgIkRPTVNUUklO
R19TSVpFX0VSUiIsCi0gICAgIkhJRVJBUkNIWV9SRVFVRVNUX0VSUiIsCi0gICAgIldST05HX0RP
Q1VNRU5UX0VSUiIsCi0gICAgIklOVkFMSURfQ0hBUkFDVEVSX0VSUiIsCi0gICAgIk5PX0RBVEFf
QUxMT1dFRF9FUlIiLAotICAgICJOT19NT0RJRklDQVRJT05fQUxMT1dFRF9FUlIiLAotICAgICJO
T1RfRk9VTkRfRVJSIiwKLSAgICAiTk9UX1NVUFBPUlRFRF9FUlIiLAotICAgICJJTlVTRV9BVFRS
SUJVVEVfRVJSIiwKLSAgICAiSU5WQUxJRF9TVEFURV9FUlIiLAotICAgICJTWU5UQVhfRVJSIiwK
LSAgICAiSU5WQUxJRF9NT0RJRklDQVRJT05fRVJSIiwKLSAgICAiTkFNRVNQQUNFX0VSUiIsCi0g
ICAgIklOVkFMSURfQUNDRVNTX0VSUiIsCi0gICAgIlZBTElEQVRJT05fRVJSIiwKLSAgICAiVFlQ
RV9NSVNNQVRDSF9FUlIiLAotICAgICJTRUNVUklUWV9FUlIiLAotICAgICJORVRXT1JLX0VSUiIs
Ci0gICAgIkFCT1JUX0VSUiIsCi0gICAgIlVSTF9NSVNNQVRDSF9FUlIiLAotICAgICJRVU9UQV9F
WENFRURFRF9FUlIiLAotICAgICJUSU1FT1VUX0VSUiIsCi0gICAgIklOVkFMSURfTk9ERV9UWVBF
X0VSUiIsCi0gICAgIkRBVEFfQ0xPTkVfRVJSIgotfTsKLQotc3RhdGljIGNvbnN0IGNoYXIqIGNv
bnN0IGV4Y2VwdGlvbkRlc2NyaXB0aW9uc1tdID0gewotICAgICJJbmRleCBvciBzaXplIHdhcyBu
ZWdhdGl2ZSwgb3IgZ3JlYXRlciB0aGFuIHRoZSBhbGxvd2VkIHZhbHVlLiIsCi0gICAgIlRoZSBz
cGVjaWZpZWQgcmFuZ2Ugb2YgdGV4dCBkaWQgbm90IGZpdCBpbnRvIGEgRE9NU3RyaW5nLiIsCi0g
ICAgIkEgTm9kZSB3YXMgaW5zZXJ0ZWQgc29tZXdoZXJlIGl0IGRvZXNuJ3QgYmVsb25nLiIsCi0g
ICAgIkEgTm9kZSB3YXMgdXNlZCBpbiBhIGRpZmZlcmVudCBkb2N1bWVudCB0aGFuIHRoZSBvbmUg
dGhhdCBjcmVhdGVkIGl0ICh0aGF0IGRvZXNuJ3Qgc3VwcG9ydCBpdCkuIiwKLSAgICAiQW4gaW52
YWxpZCBvciBpbGxlZ2FsIGNoYXJhY3RlciB3YXMgc3BlY2lmaWVkLCBzdWNoIGFzIGluIGFuIFhN
TCBuYW1lLiIsCi0gICAgIkRhdGEgd2FzIHNwZWNpZmllZCBmb3IgYSBOb2RlIHdoaWNoIGRvZXMg
bm90IHN1cHBvcnQgZGF0YS4iLAotICAgICJBbiBhdHRlbXB0IHdhcyBtYWRlIHRvIG1vZGlmeSBh
biBvYmplY3Qgd2hlcmUgbW9kaWZpY2F0aW9ucyBhcmUgbm90IGFsbG93ZWQuIiwKLSAgICAiQW4g
YXR0ZW1wdCB3YXMgbWFkZSB0byByZWZlcmVuY2UgYSBOb2RlIGluIGEgY29udGV4dCB3aGVyZSBp
dCBkb2VzIG5vdCBleGlzdC4iLAotICAgICJUaGUgaW1wbGVtZW50YXRpb24gZGlkIG5vdCBzdXBw
b3J0IHRoZSByZXF1ZXN0ZWQgdHlwZSBvZiBvYmplY3Qgb3Igb3BlcmF0aW9uLiIsCi0gICAgIkFu
IGF0dGVtcHQgd2FzIG1hZGUgdG8gYWRkIGFuIGF0dHJpYnV0ZSB0aGF0IGlzIGFscmVhZHkgaW4g
dXNlIGVsc2V3aGVyZS4iLAotICAgICJBbiBhdHRlbXB0IHdhcyBtYWRlIHRvIHVzZSBhbiBvYmpl
Y3QgdGhhdCBpcyBub3QsIG9yIGlzIG5vIGxvbmdlciwgdXNhYmxlLiIsCi0gICAgIkFuIGludmFs
aWQgb3IgaWxsZWdhbCBzdHJpbmcgd2FzIHNwZWNpZmllZC4iLAotICAgICJBbiBhdHRlbXB0IHdh
cyBtYWRlIHRvIG1vZGlmeSB0aGUgdHlwZSBvZiB0aGUgdW5kZXJseWluZyBvYmplY3QuIiwKLSAg
ICAiQW4gYXR0ZW1wdCB3YXMgbWFkZSB0byBjcmVhdGUgb3IgY2hhbmdlIGFuIG9iamVjdCBpbiBh
IHdheSB3aGljaCBpcyBpbmNvcnJlY3Qgd2l0aCByZWdhcmQgdG8gbmFtZXNwYWNlcy4iLAotICAg
ICJBIHBhcmFtZXRlciBvciBhbiBvcGVyYXRpb24gd2FzIG5vdCBzdXBwb3J0ZWQgYnkgdGhlIHVu
ZGVybHlpbmcgb2JqZWN0LiIsCi0gICAgIkEgY2FsbCB0byBhIG1ldGhvZCBzdWNoIGFzIGluc2Vy
dEJlZm9yZSBvciByZW1vdmVDaGlsZCB3b3VsZCBtYWtlIHRoZSBOb2RlIGludmFsaWQgd2l0aCBy
ZXNwZWN0IHRvIFwicGFydGlhbCB2YWxpZGl0eVwiLCB0aGlzIGV4Y2VwdGlvbiB3b3VsZCBiZSBy
YWlzZWQgYW5kIHRoZSBvcGVyYXRpb24gd291bGQgbm90IGJlIGRvbmUuIiwKLSAgICAiVGhlIHR5
cGUgb2YgYW4gb2JqZWN0IHdhcyBpbmNvbXBhdGlibGUgd2l0aCB0aGUgZXhwZWN0ZWQgdHlwZSBv
ZiB0aGUgcGFyYW1ldGVyIGFzc29jaWF0ZWQgdG8gdGhlIG9iamVjdC4iLAotICAgICJBbiBhdHRl
bXB0IHdhcyBtYWRlIHRvIGJyZWFrIHRocm91Z2ggdGhlIHNlY3VyaXR5IHBvbGljeSBvZiB0aGUg
dXNlciBhZ2VudC4iLAotICAgIC8vIEZJWE1FOiBDb3VsZG4ndCBmaW5kIGEgZGVzY3JpcHRpb24g
aW4gdGhlIEhUTUwvRE9NIHNwZWNpZmljYXRpb25zIGZvciBORVRXT1JLX0VSUiwgQUJPUlRfRVJS
LCBVUkxfTUlTTUFUQ0hfRVJSLCBhbmQgUVVPVEFfRVhDRUVERURfRVJSCi0gICAgIkEgbmV0d29y
ayBlcnJvciBvY2N1cmVkLiIsCi0gICAgIlRoZSB1c2VyIGFib3J0ZWQgYSByZXF1ZXN0LiIsCi0g
ICAgIkEgd29ya2VyIGdsb2JhbCBzY29wZSByZXByZXNlbnRlZCBhbiBhYnNvbHV0ZSBVUkwgdGhh
dCBpcyBub3QgZXF1YWwgdG8gdGhlIHJlc3VsdGluZyBhYnNvbHV0ZSBVUkwuIiwKLSAgICAiQW4g
YXR0ZW1wdCB3YXMgbWFkZSB0byBhZGQgc29tZXRoaW5nIHRvIHN0b3JhZ2UgdGhhdCBleGNlZWRl
ZCB0aGUgcXVvdGEuIiwKLSAgICAiQSB0aW1lb3V0IG9jY3VycmVkLiIsCi0gICAgIlRoZSBzdXBw
bGllZCBub2RlIGlzIGludmFsaWQgb3IgaGFzIGFuIGludmFsaWQgYW5jZXN0b3IgZm9yIHRoaXMg
b3BlcmF0aW9uLiIsCi0gICAgIkFuIG9iamVjdCBjb3VsZCBub3QgYmUgY2xvbmVkLiIKLX07Ci0K
LXN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCByYW5nZUV4Y2VwdGlvbk5hbWVzW10gPSB7Ci0gICAg
IkJBRF9CT1VOREFSWVBPSU5UU19FUlIiLAotICAgICJJTlZBTElEX05PREVfVFlQRV9FUlIiCi19
OwotCi1zdGF0aWMgY29uc3QgY2hhciogY29uc3QgcmFuZ2VFeGNlcHRpb25EZXNjcmlwdGlvbnNb
XSA9IHsKLSAgICAiVGhlIGJvdW5kYXJ5LXBvaW50cyBvZiBhIFJhbmdlIGRpZCBub3QgbWVldCBz
cGVjaWZpYyByZXF1aXJlbWVudHMuIiwKLSAgICAiVGhlIGNvbnRhaW5lciBvZiBhbiBib3VuZGFy
eS1wb2ludCBvZiBhIFJhbmdlIHdhcyBiZWluZyBzZXQgdG8gZWl0aGVyIGEgbm9kZSBvZiBhbiBp
bnZhbGlkIHR5cGUgb3IgYSBub2RlIHdpdGggYW4gYW5jZXN0b3Igb2YgYW4gaW52YWxpZCB0eXBl
LiIKLX07Ci0KLXN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBldmVudEV4Y2VwdGlvbk5hbWVzW10g
PSB7Ci0gICAgIlVOU1BFQ0lGSUVEX0VWRU5UX1RZUEVfRVJSIiwKLSAgICAiRElTUEFUQ0hfUkVR
VUVTVF9FUlIiCi19OwotCi1zdGF0aWMgY29uc3QgY2hhciogY29uc3QgZXZlbnRFeGNlcHRpb25E
ZXNjcmlwdGlvbnNbXSA9IHsKLSAgICAiVGhlIEV2ZW50J3MgdHlwZSB3YXMgbm90IHNwZWNpZmll
ZCBieSBpbml0aWFsaXppbmcgdGhlIGV2ZW50IGJlZm9yZSB0aGUgbWV0aG9kIHdhcyBjYWxsZWQu
IiwKLSAgICAiVGhlIEV2ZW50IG9iamVjdCBpcyBhbHJlYWR5IGJlaW5nIGRpc3BhdGNoZWQuIgot
fTsKLQotc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IHhtbEh0dHBSZXF1ZXN0RXhjZXB0aW9uTmFt
ZXNbXSA9IHsKLSAgICAiTkVUV09SS19FUlIiLAotICAgICJBQk9SVF9FUlIiCi19OwotCi1zdGF0
aWMgY29uc3QgY2hhciogY29uc3QgeG1sSHR0cFJlcXVlc3RFeGNlcHRpb25EZXNjcmlwdGlvbnNb
XSA9IHsKLSAgICAiQSBuZXR3b3JrIGVycm9yIG9jY3VyZWQgaW4gc3luY2hyb25vdXMgcmVxdWVz
dHMuIiwKLSAgICAiVGhlIHVzZXIgYWJvcnRlZCBhIHJlcXVlc3QgaW4gc3luY2hyb25vdXMgcmVx
dWVzdHMuIgotfTsKLQotc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IHhwYXRoRXhjZXB0aW9uTmFt
ZXNbXSA9IHsKLSAgICAiSU5WQUxJRF9FWFBSRVNTSU9OX0VSUiIsCi0gICAgIlRZUEVfRVJSIgot
fTsKLQotc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IHhwYXRoRXhjZXB0aW9uRGVzY3JpcHRpb25z
W10gPSB7Ci0gICAgIlRoZSBleHByZXNzaW9uIGhhZCBhIHN5bnRheCBlcnJvciBvciBvdGhlcndp
c2UgaXMgbm90IGEgbGVnYWwgZXhwcmVzc2lvbiBhY2NvcmRpbmcgdG8gdGhlIHJ1bGVzIG9mIHRo
ZSBzcGVjaWZpYyBYUGF0aEV2YWx1YXRvci4iLAotICAgICJUaGUgZXhwcmVzc2lvbiBjb3VsZCBu
b3QgYmUgY29udmVydGVkIHRvIHJldHVybiB0aGUgc3BlY2lmaWVkIHR5cGUuIgotfTsKLQogI2lm
IEVOQUJMRShTVkcpCi1zdGF0aWMgY29uc3QgY2hhciogY29uc3Qgc3ZnRXhjZXB0aW9uTmFtZXNb
XSA9IHsKLSAgICAiU1ZHX1dST05HX1RZUEVfRVJSIiwKLSAgICAiU1ZHX0lOVkFMSURfVkFMVUVf
RVJSIiwKLSAgICAiU1ZHX01BVFJJWF9OT1RfSU5WRVJUQUJMRSIKLX07Ci0KLXN0YXRpYyBjb25z
dCBjaGFyKiBjb25zdCBzdmdFeGNlcHRpb25EZXNjcmlwdGlvbnNbXSA9IHsKLSAgICAiQW4gb2Jq
ZWN0IG9mIHRoZSB3cm9uZyB0eXBlIHdhcyBwYXNzZWQgdG8gYW4gb3BlcmF0aW9uLiIsCi0gICAg
IkFuIGludmFsaWQgdmFsdWUgd2FzIHBhc3NlZCB0byBhbiBvcGVyYXRpb24gb3IgYXNzaWduZWQg
dG8gYW4gYXR0cmlidXRlLiIsCi0gICAgIkFuIGF0dGVtcHQgd2FzIG1hZGUgdG8gaW52ZXJ0IGEg
bWF0cml4IHRoYXQgaXMgbm90IGludmVydGlibGUuIgotfTsKLSNlbmRpZgotCi0jaWYgRU5BQkxF
KFNRTF9EQVRBQkFTRSkKLXN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBzcWxFeGNlcHRpb25OYW1l
c1tdID0gewotICAgICJVTktOT1dOX0VSUiIsCi0gICAgIkRBVEFCQVNFX0VSUiIsCi0gICAgIlZF
UlNJT05fRVJSIiwKLSAgICAiVE9PX0xBUkdFX0VSUiIsCi0gICAgIlFVT1RBX0VSUiIsCi0gICAg
IlNZTlRBWF9FUlIiLAotICAgICJDT05TVFJBSU5UX0VSUiIsCi0gICAgIlRJTUVPVVRfRVJSIgot
fTsKLQotc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IHNxbEV4Y2VwdGlvbkRlc2NyaXB0aW9uc1td
ID0gewotICAgICJUaGUgb3BlcmF0aW9uIGZhaWxlZCBmb3IgcmVhc29ucyB1bnJlbGF0ZWQgdG8g
dGhlIGRhdGFiYXNlLiIsCi0gICAgIlRoZSBvcGVyYXRpb24gZmFpbGVkIGZvciBzb21lIHJlYXNv
biByZWxhdGVkIHRvIHRoZSBkYXRhYmFzZS4iLAotICAgICJUaGUgYWN0dWFsIGRhdGFiYXNlIHZl
cnNpb24gZGlkIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgdmVyc2lvbi4iLAotICAgICJEYXRhIHJl
dHVybmVkIGZyb20gdGhlIGRhdGFiYXNlIGlzIHRvbyBsYXJnZS4iLAotICAgICJRdW90YSB3YXMg
ZXhjZWVkZWQuIiwKLSAgICAiSW52YWxpZCBvciB1bmF1dGhvcml6ZWQgc3RhdGVtZW50OyBvciB0
aGUgbnVtYmVyIG9mIGFyZ3VtZW50cyBkaWQgbm90IG1hdGNoIHRoZSBudW1iZXIgb2YgPyBwbGFj
ZWhvbGRlcnMuIiwKLSAgICAiQSBjb25zdHJhaW50IHdhcyB2aW9sYXRlZC4iLAotICAgICJBIHRy
YW5zYWN0aW9uIGxvY2sgY291bGQgbm90IGJlIGFjcXVpcmVkIGluIGEgcmVhc29uYWJsZSB0aW1l
LiIKLX07Ci0jZW5kaWYKLQotI2lmIEVOQUJMRShCTE9CKSB8fCBFTkFCTEUoRklMRV9TWVNURU0p
Ci1zdGF0aWMgY29uc3QgY2hhciogY29uc3QgZmlsZUV4Y2VwdGlvbk5hbWVzW10gPSB7Ci0gICAg
Ik5PVF9GT1VORF9FUlIiLAotICAgICJTRUNVUklUWV9FUlIiLAotICAgICJBQk9SVF9FUlIiLAot
ICAgICJOT1RfUkVBREFCTEVfRVJSIiwKLSAgICAiRU5DT0RJTkdfRVJSIiwKLSAgICAiTk9fTU9E
SUZJQ0FUSU9OX0FMTE9XRURfRVJSIiwKLSAgICAiSU5WQUxJRF9TVEFURV9FUlIiLAotICAgICJT
WU5UQVhfRVJSIiwKLSAgICAiSU5WQUxJRF9NT0RJRklDQVRJT05fRVJSIiwKLSAgICAiUVVPVEFf
RVhDRUVERURfRVJSIiwKLSAgICAiVFlQRV9NSVNNQVRDSF9FUlIiLAotICAgICJQQVRIX0VYSVNU
U19FUlIiCi19OwotCi1zdGF0aWMgY29uc3QgY2hhciogY29uc3QgZmlsZUV4Y2VwdGlvbkRlc2Ny
aXB0aW9uc1tdID0gewotICAgICJBIHJlcXVlc3RlZCBmaWxlIG9yIGRpcmVjdG9yeSBjb3VsZCBu
b3QgYmUgZm91bmQgYXQgdGhlIHRpbWUgYW4gb3BlcmF0aW9uIHdhcyBwcm9jZXNzZWQuIiwKLSAg
ICAiSXQgd2FzIGRldGVybWluZWQgdGhhdCBjZXJ0YWluIGZpbGVzIGFyZSB1bnNhZmUgZm9yIGFj
Y2VzcyB3aXRoaW4gYSBXZWIgYXBwbGljYXRpb24sIG9yIHRoYXQgdG9vIG1hbnkgY2FsbHMgYXJl
IGJlaW5nIG1hZGUgb24gZmlsZSByZXNvdXJjZXMuIiwKLSAgICAiQW4gb25nb2luZyBvcGVyYXRp
b24gd2FzIGFib3J0ZWQsIHR5cGljYWxseSB3aXRoIGEgY2FsbCB0byBhYm9ydCgpLiIsCi0gICAg
IlRoZSByZXF1ZXN0ZWQgZmlsZSBjb3VsZCBub3QgYmUgcmVhZCwgdHlwaWNhbGx5IGR1ZSB0byBw
ZXJtaXNzaW9uIHByb2JsZW1zIHRoYXQgaGF2ZSBvY2N1cmVkIGFmdGVyIGEgcmVmZXJlbmNlIHRv
IGEgZmlsZSB3YXMgYWNxdWlyZWQuIiwKLSAgICAiQSBVUkkgc3VwcGxpZWQgdG8gdGhlIEFQSSB3
YXMgbWFsZm9ybWVkLCBvciB0aGUgcmVzdWx0aW5nIERhdGEgVVJMIGhhcyBleGNlZWRlZCB0aGUg
VVJMIGxlbmd0aCBsaW1pdGF0aW9ucyBmb3IgRGF0YSBVUkxzLiIsCi0gICAgIkFuIGF0dGVtcHQg
d2FzIG1hZGUgdG8gd3JpdGUgdG8gYSBmaWxlIG9yIGRpcmVjdG9yeSB3aGljaCBjb3VsZCBub3Qg
YmUgbW9kaWZpZWQgZHVlIHRvIHRoZSBzdGF0ZSBvZiB0aGUgdW5kZXJseWluZyBmaWxlc3lzdGVt
LiIsCi0gICAgIkFuIG9wZXJhdGlvbiB0aGF0IGRlcGVuZHMgb24gc3RhdGUgY2FjaGVkIGluIGFu
IGludGVyZmFjZSBvYmplY3Qgd2FzIG1hZGUgYnV0IHRoZSBzdGF0ZSBoYWQgY2hhbmdlZCBzaW5j
ZSBpdCB3YXMgcmVhZCBmcm9tIGRpc2suIiwKLSAgICAiQW4gaW52YWxpZCBvciB1bnN1cHBvcnRl
ZCBhcmd1bWVudCB3YXMgZ2l2ZW4sIGxpa2UgYW4gaW52YWxpZCBsaW5lIGVuZGluZyBzcGVjaWZp
ZXIuIiwKLSAgICAiVGhlIG1vZGlmaWNhdGlvbiByZXF1ZXN0IHdhcyBpbGxlZ2FsLiIsCi0gICAg
IlRoZSBvcGVyYXRpb24gZmFpbGVkIGJlY2F1c2UgaXQgd291bGQgY2F1c2UgdGhlIGFwcGxpY2F0
aW9uIHRvIGV4Y2VlZCBpdHMgc3RvcmFnZSBxdW90YS4iLAotICAgICJUaGUgcGF0aCBzdXBwbGll
ZCBleGlzdHMsIGJ1dCB3YXMgbm90IGFuIGVudHJ5IG9mIHJlcXVlc3RlZCB0eXBlLiIsCi0gICAg
IkFuIGF0dGVtcHQgd2FzIG1hZGUgdG8gY3JlYXRlIGEgZmlsZSBvciBkaXJlY3Rvcnkgd2hlcmUg
YW4gZWxlbWVudCBhbHJlYWR5IGV4aXN0cy4iCi19OwotCi1zdGF0aWMgY29uc3QgY2hhciogY29u
c3Qgb3BlcmF0aW9uTm90QWxsb3dlZEV4Y2VwdGlvbk5hbWVzW10gPSB7Ci0gICAgIk5PVF9BTExP
V0VEX0VSUiIKLX07Ci0KLXN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBvcGVyYXRpb25Ob3RBbGxv
d2VkRXhjZXB0aW9uRGVzY3JpcHRpb25zW10gPSB7Ci0gICAgIkEgcmVhZCBtZXRob2Qgd2FzIGNh
bGxlZCB3aGlsZSB0aGUgb2JqZWN0IHdhcyBpbiB0aGUgTE9BRElORyBzdGF0ZSBkdWUgdG8gYSBw
cmV2aW91cyByZWFkIGNhbGwuIgotfTsKKyNpbmNsdWRlICJTVkdFeGNlcHRpb24uaCIKICNlbmRp
ZgorI2luY2x1ZGUgIlhNTEh0dHBSZXF1ZXN0RXhjZXB0aW9uLmgiCisjaW5jbHVkZSAiWFBhdGhF
eGNlcHRpb24uaCIKIAotI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQotc3RhdGljIGNvbnN0
IGNoYXIqIGNvbnN0IGlkYkRhdGFiYXNlRXhjZXB0aW9uTmFtZXNbXSA9IHsKLSAgICAiVU5LTk9X
Tl9FUlIiLAotICAgICJOT05fVFJBTlNJRU5UX0VSUiIsCi0gICAgIk5PVF9GT1VORF9FUlIiLAot
ICAgICJDT05TVFJBSU5UX0VSUiIsCi0gICAgIkRBVEFfRVJSIiwKLSAgICAiTk9UX0FMTE9XRURf
RVJSIiwKLSAgICAiU0VSSUFMX0VSUiIsCi0gICAgIlJFQ09WRVJBQkxFX0VSUiIsCi0gICAgIlRS
QU5TSUVOVF9FUlIiLAotICAgICJUSU1FT1VUX0VSUiIsCi0gICAgIkRFQURMT0NLX0VSUiIsCi0g
ICAgIlJFQURfT05MWV9FUlIiLAotICAgICJBQk9SVF9FUlIiCi19OwotCi1zdGF0aWMgY29uc3Qg
Y2hhciogY29uc3QgaWRiRGF0YWJhc2VFeGNlcHRpb25EZXNjcmlwdGlvbnNbXSA9IHsKLSAgICAi
QW4gdW5rbm93biBlcnJvciBvY2N1cnJlZCB3aXRoaW4gSW5kZXhlZCBEYXRhYmFzZS4iLAotICAg
ICJOT05fVFJBTlNJRU5UX0VSUiIsIC8vIEZJWE1FOiBXcml0ZSBhIGJldHRlciBtZXNzYWdlIGlm
IGl0J3MgZXZlciBwb3NzaWJsZSB0aGlzIGlzIHRocm93bi4KLSAgICAiVGhlIG5hbWUgc3VwcGxp
ZWQgZG9lcyBub3QgbWF0Y2ggYW55IGV4aXN0aW5nIGl0ZW0uIiwKLSAgICAiVGhlIHJlcXVlc3Qg
Y2Fubm90IGJlIGNvbXBsZXRlZCBkdWUgdG8gYSBmYWlsZWQgY29uc3RyYWludC4iLAotICAgICJU
aGUgZGF0YSBwcm92aWRlZCBkb2VzIG5vdCBtZWV0IHRoZSByZXF1aXJlbWVudHMgb2YgdGhlIGZ1
bmN0aW9uLiIsCi0gICAgIlRoaXMgZnVuY3Rpb24gaXMgbm90IGFsbG93ZWQgdG8gYmUgY2FsbGVk
IGluIHN1Y2ggYSBjb250ZXh0LiIsCi0gICAgIlRoZSBkYXRhIHN1cHBsaWVkIGNhbm5vdCBiZSBz
ZXJpYWxpemVkIGFjY29yZGluZyB0byB0aGUgc3RydWN0dXJlZCBjbG9uaW5nIGFsZ29yaXRobS4i
LAotICAgICJSRUNPVkVSQUJMRV9FUlIiLCAvLyBGSVhNRTogVGhpcyBpc24ndCBldmVuIHVzZWQu
Ci0gICAgIlRSQU5TSUVOVF9FUlIiLCAvLyBGSVhNRTogVGhpcyBpc24ndCBldmVuIHVzZWQuCi0g
ICAgIlRJTUVPVVRfRVJSIiwgLy8gVGhpcyBjYW4ndCBiZSB0aHJvd24uCi0gICAgIkRFQURMT0NL
X0VSUiIsIC8vIFRoaXMgY2FuJ3QgYmUgdGhyb3duLgotICAgICJXcml0ZSBvcGVyYXRpb25zIGNh
bm5vdCBiZSBwcmVmb3JtZWQgb24gYSByZWFkLW9ubHkgdHJhbnNhY3Rpb24uIiwKLSAgICAiVGhl
IHRyYW5zYWN0aW9uIHdhcyBhYm9ydGVkLCBzbyB0aGUgcmVxdWVzdCBjYW5ub3QgYmUgZnVsZmls
bGVkLiIKLX07Ci0jZW5kaWYKK25hbWVzcGFjZSBXZWJDb3JlIHsKIAogdm9pZCBnZXRFeGNlcHRp
b25Db2RlRGVzY3JpcHRpb24oRXhjZXB0aW9uQ29kZSBlYywgRXhjZXB0aW9uQ29kZURlc2NyaXB0
aW9uJiBkZXNjcmlwdGlvbikKIHsKICAgICBBU1NFUlQoZWMpOwogCi0gICAgY29uc3QgY2hhciog
dHlwZU5hbWU7Ci0gICAgaW50IGNvZGUgPSBlYzsKLSAgICBjb25zdCBjaGFyKiBjb25zdCogbmFt
ZVRhYmxlOwotICAgIGNvbnN0IGNoYXIqIGNvbnN0KiBkZXNjcmlwdGlvblRhYmxlOwotICAgIGlu
dCBuYW1lVGFibGVTaXplOwotICAgIGludCBuYW1lVGFibGVPZmZzZXQ7Ci0gICAgRXhjZXB0aW9u
VHlwZSB0eXBlOwotCi0gICAgaWYgKGNvZGUgPj0gUmFuZ2VFeGNlcHRpb246OlJhbmdlRXhjZXB0
aW9uT2Zmc2V0ICYmIGNvZGUgPD0gUmFuZ2VFeGNlcHRpb246OlJhbmdlRXhjZXB0aW9uTWF4KSB7
Ci0gICAgICAgIHR5cGUgPSBSYW5nZUV4Y2VwdGlvblR5cGU7Ci0gICAgICAgIHR5cGVOYW1lID0g
IkRPTSBSYW5nZSI7Ci0gICAgICAgIGNvZGUgLT0gUmFuZ2VFeGNlcHRpb246OlJhbmdlRXhjZXB0
aW9uT2Zmc2V0OwotICAgICAgICBuYW1lVGFibGUgPSByYW5nZUV4Y2VwdGlvbk5hbWVzOwotICAg
ICAgICBkZXNjcmlwdGlvblRhYmxlID0gcmFuZ2VFeGNlcHRpb25EZXNjcmlwdGlvbnM7Ci0gICAg
ICAgIG5hbWVUYWJsZVNpemUgPSBXVEZfQVJSQVlfTEVOR1RIKHJhbmdlRXhjZXB0aW9uTmFtZXMp
OwotICAgICAgICBuYW1lVGFibGVPZmZzZXQgPSBSYW5nZUV4Y2VwdGlvbjo6QkFEX0JPVU5EQVJZ
UE9JTlRTX0VSUjsKLSAgICB9IGVsc2UgaWYgKGNvZGUgPj0gRXZlbnRFeGNlcHRpb246OkV2ZW50
RXhjZXB0aW9uT2Zmc2V0ICYmIGNvZGUgPD0gRXZlbnRFeGNlcHRpb246OkV2ZW50RXhjZXB0aW9u
TWF4KSB7Ci0gICAgICAgIHR5cGUgPSBFdmVudEV4Y2VwdGlvblR5cGU7Ci0gICAgICAgIHR5cGVO
YW1lID0gIkRPTSBFdmVudHMiOwotICAgICAgICBjb2RlIC09IEV2ZW50RXhjZXB0aW9uOjpFdmVu
dEV4Y2VwdGlvbk9mZnNldDsKLSAgICAgICAgbmFtZVRhYmxlID0gZXZlbnRFeGNlcHRpb25OYW1l
czsKLSAgICAgICAgZGVzY3JpcHRpb25UYWJsZSA9IGV2ZW50RXhjZXB0aW9uRGVzY3JpcHRpb25z
OwotICAgICAgICBuYW1lVGFibGVTaXplID0gV1RGX0FSUkFZX0xFTkdUSChldmVudEV4Y2VwdGlv
bk5hbWVzKTsKLSAgICAgICAgbmFtZVRhYmxlT2Zmc2V0ID0gRXZlbnRFeGNlcHRpb246OlVOU1BF
Q0lGSUVEX0VWRU5UX1RZUEVfRVJSOwotICAgIH0gZWxzZSBpZiAoY29kZSA+PSBYTUxIdHRwUmVx
dWVzdEV4Y2VwdGlvbjo6WE1MSHR0cFJlcXVlc3RFeGNlcHRpb25PZmZzZXQgJiYgY29kZSA8PSBY
TUxIdHRwUmVxdWVzdEV4Y2VwdGlvbjo6WE1MSHR0cFJlcXVlc3RFeGNlcHRpb25NYXgpIHsKLSAg
ICAgICAgdHlwZSA9IFhNTEh0dHBSZXF1ZXN0RXhjZXB0aW9uVHlwZTsKLSAgICAgICAgdHlwZU5h
bWUgPSAiWE1MSHR0cFJlcXVlc3QiOwotICAgICAgICBjb2RlIC09IFhNTEh0dHBSZXF1ZXN0RXhj
ZXB0aW9uOjpYTUxIdHRwUmVxdWVzdEV4Y2VwdGlvbk9mZnNldDsKLSAgICAgICAgbmFtZVRhYmxl
ID0geG1sSHR0cFJlcXVlc3RFeGNlcHRpb25OYW1lczsKLSAgICAgICAgZGVzY3JpcHRpb25UYWJs
ZSA9IHhtbEh0dHBSZXF1ZXN0RXhjZXB0aW9uRGVzY3JpcHRpb25zOwotICAgICAgICBuYW1lVGFi
bGVTaXplID0gV1RGX0FSUkFZX0xFTkdUSCh4bWxIdHRwUmVxdWVzdEV4Y2VwdGlvbk5hbWVzKTsK
LSAgICAgICAgLy8gWE1MSHR0cFJlcXVlc3QgZXhjZXB0aW9uIGNvZGVzIHN0YXJ0IHdpdGggMTAx
IGFuZCB3ZSBkb24ndCB3YW50IDEwMCBlbXB0eSBlbGVtZW50cyBpbiB0aGUgbmFtZSBhcnJheQot
ICAgICAgICBuYW1lVGFibGVPZmZzZXQgPSBYTUxIdHRwUmVxdWVzdEV4Y2VwdGlvbjo6TkVUV09S
S19FUlI7Ci0gICAgfSBlbHNlIGlmIChjb2RlID49IFhQYXRoRXhjZXB0aW9uOjpYUGF0aEV4Y2Vw
dGlvbk9mZnNldCAmJiBjb2RlIDw9IFhQYXRoRXhjZXB0aW9uOjpYUGF0aEV4Y2VwdGlvbk1heCkg
ewotICAgICAgICB0eXBlID0gWFBhdGhFeGNlcHRpb25UeXBlOwotICAgICAgICB0eXBlTmFtZSA9
ICJET00gWFBhdGgiOwotICAgICAgICBjb2RlIC09IFhQYXRoRXhjZXB0aW9uOjpYUGF0aEV4Y2Vw
dGlvbk9mZnNldDsKLSAgICAgICAgbmFtZVRhYmxlID0geHBhdGhFeGNlcHRpb25OYW1lczsKLSAg
ICAgICAgZGVzY3JpcHRpb25UYWJsZSA9IHhwYXRoRXhjZXB0aW9uRGVzY3JpcHRpb25zOwotICAg
ICAgICBuYW1lVGFibGVTaXplID0gV1RGX0FSUkFZX0xFTkdUSCh4cGF0aEV4Y2VwdGlvbk5hbWVz
KTsKLSAgICAgICAgLy8gWFBhdGggZXhjZXB0aW9uIGNvZGVzIHN0YXJ0IHdpdGggNTEgYW5kIHdl
IGRvbid0IHdhbnQgNTEgZW1wdHkgZWxlbWVudHMgaW4gdGhlIG5hbWUgYXJyYXkKLSAgICAgICAg
bmFtZVRhYmxlT2Zmc2V0ID0gWFBhdGhFeGNlcHRpb246OklOVkFMSURfRVhQUkVTU0lPTl9FUlI7
Ci0jaWYgRU5BQkxFKFNWRykKLSAgICB9IGVsc2UgaWYgKGNvZGUgPj0gU1ZHRXhjZXB0aW9uOjpT
VkdFeGNlcHRpb25PZmZzZXQgJiYgY29kZSA8PSBTVkdFeGNlcHRpb246OlNWR0V4Y2VwdGlvbk1h
eCkgewotICAgICAgICB0eXBlID0gU1ZHRXhjZXB0aW9uVHlwZTsKLSAgICAgICAgdHlwZU5hbWUg
PSAiRE9NIFNWRyI7Ci0gICAgICAgIGNvZGUgLT0gU1ZHRXhjZXB0aW9uOjpTVkdFeGNlcHRpb25P
ZmZzZXQ7Ci0gICAgICAgIG5hbWVUYWJsZSA9IHN2Z0V4Y2VwdGlvbk5hbWVzOwotICAgICAgICBk
ZXNjcmlwdGlvblRhYmxlID0gc3ZnRXhjZXB0aW9uRGVzY3JpcHRpb25zOwotICAgICAgICBuYW1l
VGFibGVTaXplID0gV1RGX0FSUkFZX0xFTkdUSChzdmdFeGNlcHRpb25OYW1lcyk7Ci0gICAgICAg
IG5hbWVUYWJsZU9mZnNldCA9IFNWR0V4Y2VwdGlvbjo6U1ZHX1dST05HX1RZUEVfRVJSOworICAg
IGlmIChFdmVudEV4Y2VwdGlvbjo6aW5pdGlhbGl6ZURlc2NyaXB0aW9uKGVjLCAmZGVzY3JpcHRp
b24pKQorICAgICAgICByZXR1cm47CisjaWYgRU5BQkxFKEJMT0IpCisgICAgaWYgKEZpbGVFeGNl
cHRpb246OmluaXRpYWxpemVEZXNjcmlwdGlvbihlYywgJmRlc2NyaXB0aW9uKSkKKyAgICAgICAg
cmV0dXJuOwogI2VuZGlmCi0jaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKLSAgICB9IGVsc2UgaWYg
KGNvZGUgPj0gU1FMRXhjZXB0aW9uOjpTUUxFeGNlcHRpb25PZmZzZXQgJiYgY29kZSA8PSBTUUxF
eGNlcHRpb246OlNRTEV4Y2VwdGlvbk1heCkgewotICAgICAgICB0eXBlID0gU1FMRXhjZXB0aW9u
VHlwZTsKLSAgICAgICAgdHlwZU5hbWUgPSAiRE9NIFNRTCI7Ci0gICAgICAgIGNvZGUgLT0gU1FM
RXhjZXB0aW9uOjpTUUxFeGNlcHRpb25PZmZzZXQ7Ci0gICAgICAgIG5hbWVUYWJsZSA9IHNxbEV4
Y2VwdGlvbk5hbWVzOwotICAgICAgICBkZXNjcmlwdGlvblRhYmxlID0gc3FsRXhjZXB0aW9uRGVz
Y3JpcHRpb25zOwotICAgICAgICBuYW1lVGFibGVTaXplID0gV1RGX0FSUkFZX0xFTkdUSChzcWxF
eGNlcHRpb25OYW1lcyk7Ci0gICAgICAgIG5hbWVUYWJsZU9mZnNldCA9IFNRTEV4Y2VwdGlvbjo6
VU5LTk9XTl9FUlI7CisjaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCisgICAgaWYgKElEQkRh
dGFiYXNlRXhjZXB0aW9uOjppbml0aWFsaXplRGVzY3JpcHRpb24oZWMsICZkZXNjcmlwdGlvbikp
CisgICAgICAgIHJldHVybjsKICNlbmRpZgotI2lmIEVOQUJMRShCTE9CKSB8fCBFTkFCTEUoRklM
RV9TWVNURU0pCi0gICAgfSBlbHNlIGlmIChjb2RlID49IEZpbGVFeGNlcHRpb246OkZpbGVFeGNl
cHRpb25PZmZzZXQgJiYgY29kZSA8PSBGaWxlRXhjZXB0aW9uOjpGaWxlRXhjZXB0aW9uTWF4KSB7
Ci0gICAgICAgIHR5cGUgPSBGaWxlRXhjZXB0aW9uVHlwZTsKLSAgICAgICAgdHlwZU5hbWUgPSAi
RE9NIEZpbGUiOwotICAgICAgICBjb2RlIC09IEZpbGVFeGNlcHRpb246OkZpbGVFeGNlcHRpb25P
ZmZzZXQ7Ci0gICAgICAgIG5hbWVUYWJsZSA9IGZpbGVFeGNlcHRpb25OYW1lczsKLSAgICAgICAg
ZGVzY3JpcHRpb25UYWJsZSA9IGZpbGVFeGNlcHRpb25EZXNjcmlwdGlvbnM7Ci0gICAgICAgIG5h
bWVUYWJsZVNpemUgPSBXVEZfQVJSQVlfTEVOR1RIKGZpbGVFeGNlcHRpb25OYW1lcyk7Ci0gICAg
ICAgIG5hbWVUYWJsZU9mZnNldCA9IEZpbGVFeGNlcHRpb246Ok5PVF9GT1VORF9FUlI7Ci0gICAg
fSBlbHNlIGlmIChjb2RlID49IE9wZXJhdGlvbk5vdEFsbG93ZWRFeGNlcHRpb246Ok9wZXJhdGlv
bk5vdEFsbG93ZWRFeGNlcHRpb25PZmZzZXQgJiYgY29kZSA8PSBPcGVyYXRpb25Ob3RBbGxvd2Vk
RXhjZXB0aW9uOjpPcGVyYXRpb25Ob3RBbGxvd2VkRXhjZXB0aW9uTWF4KSB7Ci0gICAgICAgIHR5
cGUgPSBPcGVyYXRpb25Ob3RBbGxvd2VkRXhjZXB0aW9uVHlwZTsKLSAgICAgICAgdHlwZU5hbWUg
PSAiRE9NIE9wZXJhdGlvbk5vdEFsbG93ZWQiOwotICAgICAgICBjb2RlIC09IE9wZXJhdGlvbk5v
dEFsbG93ZWRFeGNlcHRpb246Ok9wZXJhdGlvbk5vdEFsbG93ZWRFeGNlcHRpb25PZmZzZXQ7Ci0g
ICAgICAgIG5hbWVUYWJsZSA9IG9wZXJhdGlvbk5vdEFsbG93ZWRFeGNlcHRpb25OYW1lczsKLSAg
ICAgICAgZGVzY3JpcHRpb25UYWJsZSA9IG9wZXJhdGlvbk5vdEFsbG93ZWRFeGNlcHRpb25EZXNj
cmlwdGlvbnM7Ci0gICAgICAgIG5hbWVUYWJsZVNpemUgPSBXVEZfQVJSQVlfTEVOR1RIKG9wZXJh
dGlvbk5vdEFsbG93ZWRFeGNlcHRpb25OYW1lcyk7Ci0gICAgICAgIG5hbWVUYWJsZU9mZnNldCA9
IE9wZXJhdGlvbk5vdEFsbG93ZWRFeGNlcHRpb246Ok5PVF9BTExPV0VEX0VSUjsKKyAgICBpZiAo
T3BlcmF0aW9uTm90QWxsb3dlZEV4Y2VwdGlvbjo6aW5pdGlhbGl6ZURlc2NyaXB0aW9uKGVjLCAm
ZGVzY3JpcHRpb24pKQorICAgICAgICByZXR1cm47CisgICAgaWYgKFJhbmdlRXhjZXB0aW9uOjpp
bml0aWFsaXplRGVzY3JpcHRpb24oZWMsICZkZXNjcmlwdGlvbikpCisgICAgICAgIHJldHVybjsK
KyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQorICAgIGlmIChTUUxFeGNlcHRpb246OmluaXRpYWxp
emVEZXNjcmlwdGlvbihlYywgJmRlc2NyaXB0aW9uKSkKKyAgICAgICAgcmV0dXJuOwogI2VuZGlm
Ci0jaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCi0gICAgfSBlbHNlIGlmIChjb2RlID49IElE
QkRhdGFiYXNlRXhjZXB0aW9uOjpJREJEYXRhYmFzZUV4Y2VwdGlvbk9mZnNldCAmJiBjb2RlIDw9
IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpJREJEYXRhYmFzZUV4Y2VwdGlvbk1heCkgewotICAgICAg
ICB0eXBlID0gSURCRGF0YWJhc2VFeGNlcHRpb25UeXBlOwotICAgICAgICB0eXBlTmFtZSA9ICJE
T00gSURCRGF0YWJhc2UiOwotICAgICAgICBjb2RlIC09IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpJ
REJEYXRhYmFzZUV4Y2VwdGlvbk9mZnNldDsKLSAgICAgICAgbmFtZVRhYmxlID0gaWRiRGF0YWJh
c2VFeGNlcHRpb25OYW1lczsKLSAgICAgICAgZGVzY3JpcHRpb25UYWJsZSA9IGlkYkRhdGFiYXNl
RXhjZXB0aW9uRGVzY3JpcHRpb25zOwotICAgICAgICBuYW1lVGFibGVTaXplID0gV1RGX0FSUkFZ
X0xFTkdUSChpZGJEYXRhYmFzZUV4Y2VwdGlvbk5hbWVzKTsKLSAgICAgICAgbmFtZVRhYmxlT2Zm
c2V0ID0gSURCRGF0YWJhc2VFeGNlcHRpb246OlVOS05PV05fRVJSOworI2lmIEVOQUJMRShTVkcp
CisgICAgaWYgKFNWR0V4Y2VwdGlvbjo6aW5pdGlhbGl6ZURlc2NyaXB0aW9uKGVjLCAmZGVzY3Jp
cHRpb24pKQorICAgICAgICByZXR1cm47CiAjZW5kaWYKLSAgICB9IGVsc2UgewotICAgICAgICB0
eXBlID0gRE9NRXhjZXB0aW9uVHlwZTsKLSAgICAgICAgdHlwZU5hbWUgPSAiRE9NIjsKLSAgICAg
ICAgbmFtZVRhYmxlID0gZXhjZXB0aW9uTmFtZXM7Ci0gICAgICAgIGRlc2NyaXB0aW9uVGFibGUg
PSBleGNlcHRpb25EZXNjcmlwdGlvbnM7Ci0gICAgICAgIG5hbWVUYWJsZVNpemUgPSBXVEZfQVJS
QVlfTEVOR1RIKGV4Y2VwdGlvbk5hbWVzKTsKLSAgICAgICAgbmFtZVRhYmxlT2Zmc2V0ID0gSU5E
RVhfU0laRV9FUlI7Ci0gICAgfQotCi0gICAgZGVzY3JpcHRpb24udHlwZU5hbWUgPSB0eXBlTmFt
ZTsKLSAgICBkZXNjcmlwdGlvbi5uYW1lID0gKGVjID49IG5hbWVUYWJsZU9mZnNldCAmJiBlYyAt
IG5hbWVUYWJsZU9mZnNldCA8IG5hbWVUYWJsZVNpemUpID8gbmFtZVRhYmxlW2VjIC0gbmFtZVRh
YmxlT2Zmc2V0XSA6IDA7Ci0gICAgZGVzY3JpcHRpb24uZGVzY3JpcHRpb24gPSAoZWMgPj0gbmFt
ZVRhYmxlT2Zmc2V0ICYmIGVjIC0gbmFtZVRhYmxlT2Zmc2V0IDwgbmFtZVRhYmxlU2l6ZSkgPyBk
ZXNjcmlwdGlvblRhYmxlW2VjIC0gbmFtZVRhYmxlT2Zmc2V0XSA6IDA7Ci0gICAgZGVzY3JpcHRp
b24uY29kZSA9IGNvZGU7Ci0gICAgZGVzY3JpcHRpb24udHlwZSA9IHR5cGU7Ci0KLSAgICAvLyBB
bGwgZXhjZXB0aW9ucyB1c2VkIGluIHRoZSBET00gY29kZSBzaG91bGQgaGF2ZSBuYW1lcy4KLSAg
ICBBU1NFUlQoZGVzY3JpcHRpb24ubmFtZSk7Ci0gICAgQVNTRVJUKGRlc2NyaXB0aW9uLmRlc2Ny
aXB0aW9uKTsKKyAgICBpZiAoWE1MSHR0cFJlcXVlc3RFeGNlcHRpb246OmluaXRpYWxpemVEZXNj
cmlwdGlvbihlYywgJmRlc2NyaXB0aW9uKSkKKyAgICAgICAgcmV0dXJuOworICAgIGlmIChYUGF0
aEV4Y2VwdGlvbjo6aW5pdGlhbGl6ZURlc2NyaXB0aW9uKGVjLCAmZGVzY3JpcHRpb24pKQorICAg
ICAgICByZXR1cm47CisgICAgaWYgKERPTUNvcmVFeGNlcHRpb246OmluaXRpYWxpemVEZXNjcmlw
dGlvbihlYywgJmRlc2NyaXB0aW9uKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgQVNTRVJUX05P
VF9SRUFDSEVEKCk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9SYW5nZUV4Y2VwdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
UmFuZ2VFeGNlcHRpb24uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgzMjQyYWQxYzcwZTYzYTZlM2ZiMmYyNjBl
Mjk0MDg3YzFhZjMwZjEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vUmFu
Z2VFeGNlcHRpb24uY3BwCkBAIC0wLDAgKzEsNjUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
IDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgiQXBwbGUiKSBu
b3IgdGhlIG5hbWVzIG9mCisgKiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBl
bmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAorICogICAgIGZyb20gdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEdPT0dMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAi
QVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAq
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgor
I2luY2x1ZGUgIlJhbmdlRXhjZXB0aW9uLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworLy8g
RklYTUU6IFRoaXMgc2hvdWxkIGJlIGFuIGFycmF5IG9mIHN0cnVjdHMgdG8gcGFpciB0aGUgbmFt
ZXMgYW5kIGRlc2NyaXB0aW9ucy4KK3N0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBleGNlcHRpb25O
YW1lc1tdID0geworICAgICJCQURfQk9VTkRBUllQT0lOVFNfRVJSIiwKKyAgICAiSU5WQUxJRF9O
T0RFX1RZUEVfRVJSIgorfTsKKworc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IGV4Y2VwdGlvbkRl
c2NyaXB0aW9uc1tdID0geworICAgICJUaGUgYm91bmRhcnktcG9pbnRzIG9mIGEgUmFuZ2UgZGlk
IG5vdCBtZWV0IHNwZWNpZmljIHJlcXVpcmVtZW50cy4iLAorICAgICJUaGUgY29udGFpbmVyIG9m
IGFuIGJvdW5kYXJ5LXBvaW50IG9mIGEgUmFuZ2Ugd2FzIGJlaW5nIHNldCB0byBlaXRoZXIgYSBu
b2RlIG9mIGFuIGludmFsaWQgdHlwZSBvciBhIG5vZGUgd2l0aCBhbiBhbmNlc3RvciBvZiBhbiBp
bnZhbGlkIHR5cGUuIgorfTsKKworQ09NUElMRV9BU1NFUlQoV1RGX0FSUkFZX0xFTkdUSChleGNl
cHRpb25OYW1lcykgPT0gV1RGX0FSUkFZX0xFTkdUSChleGNlcHRpb25EZXNjcmlwdGlvbnMpLCBS
YW5nZUV4Y2VwdGlvblRhYmxlc011c3RNYXRjaCk7CisKK2Jvb2wgUmFuZ2VFeGNlcHRpb246Omlu
aXRpYWxpemVEZXNjcmlwdGlvbihFeGNlcHRpb25Db2RlIGVjLCBFeGNlcHRpb25Db2RlRGVzY3Jp
cHRpb24qIGRlc2NyaXB0aW9uKQoreworICAgIGlmIChlYyA8IFJhbmdlRXhjZXB0aW9uT2Zmc2V0
IHx8IGVjID4gUmFuZ2VFeGNlcHRpb25NYXgpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAg
IGRlc2NyaXB0aW9uLT50eXBlTmFtZSA9ICJET00gUmFuZ2UiOworICAgIGRlc2NyaXB0aW9uLT5j
b2RlID0gZWMgLSBSYW5nZUV4Y2VwdGlvbk9mZnNldDsKKyAgICBkZXNjcmlwdGlvbi0+dHlwZSA9
IFJhbmdlRXhjZXB0aW9uVHlwZTsKKworICAgIHNpemVfdCB0YWJsZVNpemUgPSBXVEZfQVJSQVlf
TEVOR1RIKGV4Y2VwdGlvbk5hbWVzKTsKKyAgICBzaXplX3QgdGFibGVJbmRleCA9IGVjIC0gQkFE
X0JPVU5EQVJZUE9JTlRTX0VSUjsKKworICAgIGRlc2NyaXB0aW9uLT5uYW1lID0gdGFibGVJbmRl
eCA8IHRhYmxlU2l6ZSA/IGV4Y2VwdGlvbk5hbWVzW3RhYmxlSW5kZXhdIDogMDsKKyAgICBkZXNj
cmlwdGlvbi0+ZGVzY3JpcHRpb24gPSB0YWJsZUluZGV4IDwgdGFibGVTaXplID8gZXhjZXB0aW9u
RGVzY3JpcHRpb25zW3RhYmxlSW5kZXhdIDogMDsKKworICAgIHJldHVybiB0cnVlOworfQorCit9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vUmFu
Z2VFeGNlcHRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9SYW5nZUV4Y2VwdGlvbi5oCmluZGV4
IGI4NzQzZGFlZjJlNzM1ZDE2MGMzNTJhNWQyMzRiZmQ4YTAzNTAxODUuLmQyNDg5ZmZiNjJmNjk1
OTEzYjIxODdiOTM4YWJiY2Y4YWM0YWNmNTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9SYW5nZUV4Y2VwdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9SYW5nZUV4Y2VwdGlv
bi5oCkBAIC00NCw2ICs0NCw4IEBAIHB1YmxpYzoKICAgICAgICAgSU5WQUxJRF9OT0RFX1RZUEVf
RVJSCiAgICAgfTsKIAorICAgIHN0YXRpYyBib29sIGluaXRpYWxpemVEZXNjcmlwdGlvbihFeGNl
cHRpb25Db2RlLCBFeGNlcHRpb25Db2RlRGVzY3JpcHRpb24qKTsKKwogcHJpdmF0ZToKICAgICBS
YW5nZUV4Y2VwdGlvbihjb25zdCBFeGNlcHRpb25Db2RlRGVzY3JpcHRpb24mIGRlc2NyaXB0aW9u
KQogICAgICAgICA6IEV4Y2VwdGlvbkJhc2UoZGVzY3JpcHRpb24pCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9maWxlYXBpL0ZpbGVFeGNlcHRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvZmls
ZWFwaS9GaWxlRXhjZXB0aW9uLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NTZiMTYzODY4ZGU0NGVjNWQ2Njgy
ZDBkZTIxZTQzYTUyNzg5ZTg4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZmls
ZWFwaS9GaWxlRXhjZXB0aW9uLmNwcApAQCAtMCwwICsxLDkwIEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKiAzLiAgTmVpdGhlciB0aGUgbmFtZSBvZiBBcHBsZSBDb21wdXRlciwgSW5jLiAoIkFw
cGxlIikgbm9yIHRoZSBuYW1lcyBvZgorICogICAgIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKKyAqICAgICBmcm9tIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBHT09HTEUgQU5EIElUUyBDT05UUklC
VVRPUlMgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25m
aWcuaCIKKworI2lmIEVOQUJMRShCTE9CKSB8fCBFTkFCTEUoRklMRV9TWVNURU0pCisKKyNpbmNs
dWRlICJGaWxlRXhjZXB0aW9uLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworLy8gRklYTUU6
IFRoaXMgc2hvdWxkIGJlIGFuIGFycmF5IG9mIHN0cnVjdHMgdG8gcGFpciB0aGUgbmFtZXMgYW5k
IGRlc2NyaXB0aW9ucy4KK3N0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBleGNlcHRpb25OYW1lc1td
ID0geworICAgICJOT1RfRk9VTkRfRVJSIiwKKyAgICAiU0VDVVJJVFlfRVJSIiwKKyAgICAiQUJP
UlRfRVJSIiwKKyAgICAiTk9UX1JFQURBQkxFX0VSUiIsCisgICAgIkVOQ09ESU5HX0VSUiIsCisg
ICAgIk5PX01PRElGSUNBVElPTl9BTExPV0VEX0VSUiIsCisgICAgIklOVkFMSURfU1RBVEVfRVJS
IiwKKyAgICAiU1lOVEFYX0VSUiIsCisgICAgIklOVkFMSURfTU9ESUZJQ0FUSU9OX0VSUiIsCisg
ICAgIlFVT1RBX0VYQ0VFREVEX0VSUiIsCisgICAgIlRZUEVfTUlTTUFUQ0hfRVJSIiwKKyAgICAi
UEFUSF9FWElTVFNfRVJSIgorfTsKKworc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IGV4Y2VwdGlv
bkRlc2NyaXB0aW9uc1tdID0geworICAgICJBIHJlcXVlc3RlZCBmaWxlIG9yIGRpcmVjdG9yeSBj
b3VsZCBub3QgYmUgZm91bmQgYXQgdGhlIHRpbWUgYW4gb3BlcmF0aW9uIHdhcyBwcm9jZXNzZWQu
IiwKKyAgICAiSXQgd2FzIGRldGVybWluZWQgdGhhdCBjZXJ0YWluIGZpbGVzIGFyZSB1bnNhZmUg
Zm9yIGFjY2VzcyB3aXRoaW4gYSBXZWIgYXBwbGljYXRpb24sIG9yIHRoYXQgdG9vIG1hbnkgY2Fs
bHMgYXJlIGJlaW5nIG1hZGUgb24gZmlsZSByZXNvdXJjZXMuIiwKKyAgICAiQW4gb25nb2luZyBv
cGVyYXRpb24gd2FzIGFib3J0ZWQsIHR5cGljYWxseSB3aXRoIGEgY2FsbCB0byBhYm9ydCgpLiIs
CisgICAgIlRoZSByZXF1ZXN0ZWQgZmlsZSBjb3VsZCBub3QgYmUgcmVhZCwgdHlwaWNhbGx5IGR1
ZSB0byBwZXJtaXNzaW9uIHByb2JsZW1zIHRoYXQgaGF2ZSBvY2N1cmVkIGFmdGVyIGEgcmVmZXJl
bmNlIHRvIGEgZmlsZSB3YXMgYWNxdWlyZWQuIiwKKyAgICAiQSBVUkkgc3VwcGxpZWQgdG8gdGhl
IEFQSSB3YXMgbWFsZm9ybWVkLCBvciB0aGUgcmVzdWx0aW5nIERhdGEgVVJMIGhhcyBleGNlZWRl
ZCB0aGUgVVJMIGxlbmd0aCBsaW1pdGF0aW9ucyBmb3IgRGF0YSBVUkxzLiIsCisgICAgIkFuIGF0
dGVtcHQgd2FzIG1hZGUgdG8gd3JpdGUgdG8gYSBmaWxlIG9yIGRpcmVjdG9yeSB3aGljaCBjb3Vs
ZCBub3QgYmUgbW9kaWZpZWQgZHVlIHRvIHRoZSBzdGF0ZSBvZiB0aGUgdW5kZXJseWluZyBmaWxl
c3lzdGVtLiIsCisgICAgIkFuIG9wZXJhdGlvbiB0aGF0IGRlcGVuZHMgb24gc3RhdGUgY2FjaGVk
IGluIGFuIGludGVyZmFjZSBvYmplY3Qgd2FzIG1hZGUgYnV0IHRoZSBzdGF0ZSBoYWQgY2hhbmdl
ZCBzaW5jZSBpdCB3YXMgcmVhZCBmcm9tIGRpc2suIiwKKyAgICAiQW4gaW52YWxpZCBvciB1bnN1
cHBvcnRlZCBhcmd1bWVudCB3YXMgZ2l2ZW4sIGxpa2UgYW4gaW52YWxpZCBsaW5lIGVuZGluZyBz
cGVjaWZpZXIuIiwKKyAgICAiVGhlIG1vZGlmaWNhdGlvbiByZXF1ZXN0IHdhcyBpbGxlZ2FsLiIs
CisgICAgIlRoZSBvcGVyYXRpb24gZmFpbGVkIGJlY2F1c2UgaXQgd291bGQgY2F1c2UgdGhlIGFw
cGxpY2F0aW9uIHRvIGV4Y2VlZCBpdHMgc3RvcmFnZSBxdW90YS4iLAorICAgICJUaGUgcGF0aCBz
dXBwbGllZCBleGlzdHMsIGJ1dCB3YXMgbm90IGFuIGVudHJ5IG9mIHJlcXVlc3RlZCB0eXBlLiIs
CisgICAgIkFuIGF0dGVtcHQgd2FzIG1hZGUgdG8gY3JlYXRlIGEgZmlsZSBvciBkaXJlY3Rvcnkg
d2hlcmUgYW4gZWxlbWVudCBhbHJlYWR5IGV4aXN0cy4iCit9OworCitDT01QSUxFX0FTU0VSVChX
VEZfQVJSQVlfTEVOR1RIKGV4Y2VwdGlvbk5hbWVzKSA9PSBXVEZfQVJSQVlfTEVOR1RIKGV4Y2Vw
dGlvbkRlc2NyaXB0aW9ucyksIEZpbGVFeGNlcHRpb25UYWJsZXNNdXN0TWF0Y2gpOworCitib29s
IEZpbGVFeGNlcHRpb246OmluaXRpYWxpemVEZXNjcmlwdGlvbihFeGNlcHRpb25Db2RlIGVjLCBF
eGNlcHRpb25Db2RlRGVzY3JpcHRpb24qIGRlc2NyaXB0aW9uKQoreworICAgIGlmIChlYyA8IEZp
bGVFeGNlcHRpb25PZmZzZXQgfHwgZWMgPiBGaWxlRXhjZXB0aW9uTWF4KQorICAgICAgICByZXR1
cm4gZmFsc2U7CisKKyAgICBkZXNjcmlwdGlvbi0+dHlwZU5hbWUgPSAiRE9NIEZpbGUiOworICAg
IGRlc2NyaXB0aW9uLT5jb2RlID0gZWMgLSBGaWxlRXhjZXB0aW9uT2Zmc2V0OworICAgIGRlc2Ny
aXB0aW9uLT50eXBlID0gRmlsZUV4Y2VwdGlvblR5cGU7CisKKyAgICBzaXplX3QgdGFibGVTaXpl
ID0gV1RGX0FSUkFZX0xFTkdUSChleGNlcHRpb25OYW1lcyk7CisgICAgc2l6ZV90IHRhYmxlSW5k
ZXggPSBlYyAtIE5PVF9GT1VORF9FUlI7CisKKyAgICBkZXNjcmlwdGlvbi0+bmFtZSA9IHRhYmxl
SW5kZXggPCB0YWJsZVNpemUgPyBleGNlcHRpb25OYW1lc1t0YWJsZUluZGV4XSA6IDA7CisgICAg
ZGVzY3JpcHRpb24tPmRlc2NyaXB0aW9uID0gdGFibGVJbmRleCA8IHRhYmxlU2l6ZSA/IGV4Y2Vw
dGlvbkRlc2NyaXB0aW9uc1t0YWJsZUluZGV4XSA6IDA7CisKKyAgICByZXR1cm4gdHJ1ZTsKK30K
KworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKEJMT0IpIHx8IEVO
QUJMRShGSUxFX1NZU1RFTSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmls
ZUV4Y2VwdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxlRXhjZXB0aW9uLmgKaW5k
ZXggYzNjYzYzODBhZWViODdjMzg1ZjM2ZjgyODQ1ZTBjYjE2ZjI2N2QyOC4uMzhmMWVkNGFlOWZj
OGNkMzUwNDQ3YjY1YTAyNWJmZDc4ZTFiNjkwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZmlsZWFwaS9GaWxlRXhjZXB0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxl
RXhjZXB0aW9uLmgKQEAgLTY5LDYgKzY5LDggQEAgcHVibGljOgogICAgICAgICByZXR1cm4gZXJy
b3JDb2RlICsgRmlsZUV4Y2VwdGlvbk9mZnNldDsKICAgICB9CiAKKyAgICBzdGF0aWMgYm9vbCBp
bml0aWFsaXplRGVzY3JpcHRpb24oRXhjZXB0aW9uQ29kZSwgRXhjZXB0aW9uQ29kZURlc2NyaXB0
aW9uKik7CisKIHByaXZhdGU6CiAgICAgRmlsZUV4Y2VwdGlvbihjb25zdCBFeGNlcHRpb25Db2Rl
RGVzY3JpcHRpb24mIGRlc2NyaXB0aW9uKQogICAgICAgICA6IEV4Y2VwdGlvbkJhc2UoZGVzY3Jp
cHRpb24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL09wZXJhdGlvbk5vdEFs
bG93ZWRFeGNlcHRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9PcGVyYXRpb25Ob3RB
bGxvd2VkRXhjZXB0aW9uLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lOTdjZmEwMzU1NDA0ODY4ZGRiNzQ1YjZk
NDgyNmYzMDdhYzA1MzVmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZmlsZWFw
aS9PcGVyYXRpb25Ob3RBbGxvd2VkRXhjZXB0aW9uLmNwcApAQCAtMCwwICsxLDY4IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKiAzLiAgTmVpdGhlciB0aGUgbmFtZSBvZiBBcHBsZSBDb21wdXRl
ciwgSW5jLiAoIkFwcGxlIikgbm9yIHRoZSBuYW1lcyBvZgorICogICAgIGl0cyBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKKyAq
ICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBHT09HTEUgQU5E
IElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisg
KiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBP
UiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
bmNsdWRlICJjb25maWcuaCIKKworI2lmIEVOQUJMRShCTE9CKSB8fCBFTkFCTEUoRklMRV9TWVNU
RU0pCisKKyNpbmNsdWRlICJPcGVyYXRpb25Ob3RBbGxvd2VkRXhjZXB0aW9uLmgiCisKK25hbWVz
cGFjZSBXZWJDb3JlIHsKKworLy8gRklYTUU6IFRoaXMgc2hvdWxkIGJlIGFuIGFycmF5IG9mIHN0
cnVjdHMgdG8gcGFpciB0aGUgbmFtZXMgYW5kIGRlc2NyaXB0aW9ucy4KK3N0YXRpYyBjb25zdCBj
aGFyKiBjb25zdCBleGNlcHRpb25OYW1lc1tdID0geworICAgICJOT1RfQUxMT1dFRF9FUlIiCit9
OworCitzdGF0aWMgY29uc3QgY2hhciogY29uc3QgZXhjZXB0aW9uRGVzY3JpcHRpb25zW10gPSB7
CisgICAgIkEgcmVhZCBtZXRob2Qgd2FzIGNhbGxlZCB3aGlsZSB0aGUgb2JqZWN0IHdhcyBpbiB0
aGUgTE9BRElORyBzdGF0ZSBkdWUgdG8gYSBwcmV2aW91cyByZWFkIGNhbGwuIgorfTsKKworQ09N
UElMRV9BU1NFUlQoV1RGX0FSUkFZX0xFTkdUSChleGNlcHRpb25OYW1lcykgPT0gV1RGX0FSUkFZ
X0xFTkdUSChleGNlcHRpb25EZXNjcmlwdGlvbnMpLCBPcGVyYXRpb25Ob3RBbGxvd2VkRXhjZXB0
aW9uVGFibGVzTXVzdE1hdGNoKTsKKworYm9vbCBPcGVyYXRpb25Ob3RBbGxvd2VkRXhjZXB0aW9u
Ojppbml0aWFsaXplRGVzY3JpcHRpb24oRXhjZXB0aW9uQ29kZSBlYywgRXhjZXB0aW9uQ29kZURl
c2NyaXB0aW9uKiBkZXNjcmlwdGlvbikKK3sKKyAgICBpZiAoZWMgPCBPcGVyYXRpb25Ob3RBbGxv
d2VkRXhjZXB0aW9uT2Zmc2V0IHx8IGVjID4gT3BlcmF0aW9uTm90QWxsb3dlZEV4Y2VwdGlvbk1h
eCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgZGVzY3JpcHRpb24tPnR5cGVOYW1lID0g
IkRPTSBPcGVyYXRpb25Ob3RBbGxvd2VkIjsKKyAgICBkZXNjcmlwdGlvbi0+Y29kZSA9IGVjIC0g
T3BlcmF0aW9uTm90QWxsb3dlZEV4Y2VwdGlvbk9mZnNldDsKKyAgICBkZXNjcmlwdGlvbi0+dHlw
ZSA9IE9wZXJhdGlvbk5vdEFsbG93ZWRFeGNlcHRpb25UeXBlOworCisgICAgc2l6ZV90IHRhYmxl
U2l6ZSA9IFdURl9BUlJBWV9MRU5HVEgoZXhjZXB0aW9uTmFtZXMpOworICAgIHNpemVfdCB0YWJs
ZUluZGV4ID0gZWMgLSBOT1RfQUxMT1dFRF9FUlI7CisKKyAgICBkZXNjcmlwdGlvbi0+bmFtZSA9
IHRhYmxlSW5kZXggPCB0YWJsZVNpemUgPyBleGNlcHRpb25OYW1lc1t0YWJsZUluZGV4XSA6IDA7
CisgICAgZGVzY3JpcHRpb24tPmRlc2NyaXB0aW9uID0gdGFibGVJbmRleCA8IHRhYmxlU2l6ZSA/
IGV4Y2VwdGlvbkRlc2NyaXB0aW9uc1t0YWJsZUluZGV4XSA6IDA7CisKKyAgICByZXR1cm4gdHJ1
ZTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKEJMT0Ip
IHx8IEVOQUJMRShGSUxFX1NZU1RFTSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVh
cGkvT3BlcmF0aW9uTm90QWxsb3dlZEV4Y2VwdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvZmlsZWFw
aS9PcGVyYXRpb25Ob3RBbGxvd2VkRXhjZXB0aW9uLmgKaW5kZXggODE2YWYxZDlhNjljYTRjMzFh
YWI3Zjk1YmFiNGFhMDMwM2JhODBmYS4uYzNlOTU1OTVlMWQ2ZTVjN2VmM2RmMDcwZDE3NjgyNTk5
ODUyZDlmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9PcGVyYXRpb25Ob3RB
bGxvd2VkRXhjZXB0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9PcGVyYXRpb25O
b3RBbGxvd2VkRXhjZXB0aW9uLmgKQEAgLTUxLDYgKzUxLDggQEAgcHVibGljOgogICAgICAgICBO
T1RfQUxMT1dFRF9FUlIgPSBPcGVyYXRpb25Ob3RBbGxvd2VkRXhjZXB0aW9uT2Zmc2V0ICsgMSwK
ICAgICB9OwogCisgICAgc3RhdGljIGJvb2wgaW5pdGlhbGl6ZURlc2NyaXB0aW9uKEV4Y2VwdGlv
bkNvZGUsIEV4Y2VwdGlvbkNvZGVEZXNjcmlwdGlvbiopOworCiBwcml2YXRlOgogICAgIE9wZXJh
dGlvbk5vdEFsbG93ZWRFeGNlcHRpb24oY29uc3QgRXhjZXB0aW9uQ29kZURlc2NyaXB0aW9uJiBk
ZXNjcmlwdGlvbikKICAgICAgICAgOiBFeGNlcHRpb25CYXNlKGRlc2NyaXB0aW9uKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJEYXRhYmFzZUV4Y2VwdGlvbi5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQkRhdGFiYXNlRXhjZXB0aW9uLmNwcApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4wZTg0NzAxMzMwZWQwYWU0ZTYzYTg1NmU1ZjUxNzUwZTI1OTE2NmQ4Ci0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJEYXRhYmFzZUV4Y2VwdGlvbi5jcHAKQEAg
LTAsMCArMSw5MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gIE5laXRoZXIgdGhlIG5h
bWUgb2YgQXBwbGUgQ29tcHV0ZXIsIEluYy4gKCJBcHBsZSIpIG5vciB0aGUgbmFtZXMgb2YKKyAq
ICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkCisgKiAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgR09PR0xFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQor
ICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICog
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoSU5ERVhF
RF9EQVRBQkFTRSkKKworI2luY2x1ZGUgIklEQkRhdGFiYXNlRXhjZXB0aW9uLmgiCisKK25hbWVz
cGFjZSBXZWJDb3JlIHsKKworLy8gRklYTUU6IFRoaXMgc2hvdWxkIGJlIGFuIGFycmF5IG9mIHN0
cnVjdHMgdG8gcGFpciB0aGUgbmFtZXMgYW5kIGRlc2NyaXB0aW9ucy4KK3N0YXRpYyBjb25zdCBj
aGFyKiBjb25zdCBleGNlcHRpb25OYW1lc1tdID0geworICAgICJVTktOT1dOX0VSUiIsCisgICAg
Ik5PTl9UUkFOU0lFTlRfRVJSIiwKKyAgICAiTk9UX0ZPVU5EX0VSUiIsCisgICAgIkNPTlNUUkFJ
TlRfRVJSIiwKKyAgICAiREFUQV9FUlIiLAorICAgICJOT1RfQUxMT1dFRF9FUlIiLAorICAgICJT
RVJJQUxfRVJSIiwKKyAgICAiUkVDT1ZFUkFCTEVfRVJSIiwKKyAgICAiVFJBTlNJRU5UX0VSUiIs
CisgICAgIlRJTUVPVVRfRVJSIiwKKyAgICAiREVBRExPQ0tfRVJSIiwKKyAgICAiUkVBRF9PTkxZ
X0VSUiIsCisgICAgIkFCT1JUX0VSUiIKK307CisKK3N0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBl
eGNlcHRpb25EZXNjcmlwdGlvbnNbXSA9IHsKKyAgICAiQW4gdW5rbm93biBlcnJvciBvY2N1cnJl
ZCB3aXRoaW4gSW5kZXhlZCBEYXRhYmFzZS4iLAorICAgICJOT05fVFJBTlNJRU5UX0VSUiIsIC8v
IEZJWE1FOiBXcml0ZSBhIGJldHRlciBtZXNzYWdlIGlmIGl0J3MgZXZlciBwb3NzaWJsZSB0aGlz
IGlzIHRocm93bi4KKyAgICAiVGhlIG5hbWUgc3VwcGxpZWQgZG9lcyBub3QgbWF0Y2ggYW55IGV4
aXN0aW5nIGl0ZW0uIiwKKyAgICAiVGhlIHJlcXVlc3QgY2Fubm90IGJlIGNvbXBsZXRlZCBkdWUg
dG8gYSBmYWlsZWQgY29uc3RyYWludC4iLAorICAgICJUaGUgZGF0YSBwcm92aWRlZCBkb2VzIG5v
dCBtZWV0IHRoZSByZXF1aXJlbWVudHMgb2YgdGhlIGZ1bmN0aW9uLiIsCisgICAgIlRoaXMgZnVu
Y3Rpb24gaXMgbm90IGFsbG93ZWQgdG8gYmUgY2FsbGVkIGluIHN1Y2ggYSBjb250ZXh0LiIsCisg
ICAgIlRoZSBkYXRhIHN1cHBsaWVkIGNhbm5vdCBiZSBzZXJpYWxpemVkIGFjY29yZGluZyB0byB0
aGUgc3RydWN0dXJlZCBjbG9uaW5nIGFsZ29yaXRobS4iLAorICAgICJSRUNPVkVSQUJMRV9FUlIi
LCAvLyBGSVhNRTogVGhpcyBpc24ndCBldmVuIHVzZWQuCisgICAgIlRSQU5TSUVOVF9FUlIiLCAv
LyBGSVhNRTogVGhpcyBpc24ndCBldmVuIHVzZWQuCisgICAgIlRJTUVPVVRfRVJSIiwgLy8gVGhp
cyBjYW4ndCBiZSB0aHJvd24uCisgICAgIkRFQURMT0NLX0VSUiIsIC8vIFRoaXMgY2FuJ3QgYmUg
dGhyb3duLgorICAgICJXcml0ZSBvcGVyYXRpb25zIGNhbm5vdCBiZSBwcmVmb3JtZWQgb24gYSBy
ZWFkLW9ubHkgdHJhbnNhY3Rpb24uIiwKKyAgICAiVGhlIHRyYW5zYWN0aW9uIHdhcyBhYm9ydGVk
LCBzbyB0aGUgcmVxdWVzdCBjYW5ub3QgYmUgZnVsZmlsbGVkLiIKK307CisKK0NPTVBJTEVfQVNT
RVJUKFdURl9BUlJBWV9MRU5HVEgoZXhjZXB0aW9uTmFtZXMpID09IFdURl9BUlJBWV9MRU5HVEgo
ZXhjZXB0aW9uRGVzY3JpcHRpb25zKSk7CisKK2Jvb2wgSURCRGF0YWJhc2VFeGNlcHRpb246Omlu
aXRpYWxpemVEZXNjcmlwdGlvbihFeGNlcHRpb25Db2RlIGVjLCBFeGNlcHRpb25Db2RlRGVzY3Jp
cHRpb24qIGRlc2NyaXB0aW9uKQoreworICAgIGlmIChlYyA8IElEQkRhdGFiYXNlRXhjZXB0aW9u
T2Zmc2V0IHx8IGVjID4gSURCRGF0YWJhc2VFeGNlcHRpb25NYXgpCisgICAgICAgIHJldHVybiBm
YWxzZTsKKworICAgIGRlc2NyaXB0aW9uLT50eXBlTmFtZSA9ICJET00gSURCRGF0YWJhc2UiOwor
ICAgIGRlc2NyaXB0aW9uLT5jb2RlID0gZWMgLSBJREJEYXRhYmFzZUV4Y2VwdGlvbk9mZnNldDsK
KyAgICBkZXNjcmlwdGlvbi0+dHlwZSA9IElEQkRhdGFiYXNlRXhjZXB0aW9uVHlwZTsKKworICAg
IHNpemVfdCB0YWJsZVNpemUgPSBXVEZfQVJSQVlfTEVOR1RIKGV4Y2VwdGlvbk5hbWVzKTsKKyAg
ICBzaXplX3QgdGFibGVJbmRleCA9IGVjIC0gVU5LTk9XTl9FUlI7CisKKyAgICBkZXNjcmlwdGlv
bi0+bmFtZSA9IHRhYmxlSW5kZXggPCB0YWJsZVNpemUgPyBleGNlcHRpb25OYW1lc1t0YWJsZUlu
ZGV4XSA6IDA7CisgICAgZGVzY3JpcHRpb24tPmRlc2NyaXB0aW9uID0gdGFibGVJbmRleCA8IHRh
YmxlU2l6ZSA/IGRlc2NyaXB0aW9uVGFibGVbdGFibGVJbmRleF0gOiAwOworCisgICAgcmV0dXJu
IHRydWU7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShJ
TkRFWEVEX0RBVEFCQVNFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJE
YXRhYmFzZUV4Y2VwdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJEYXRhYmFzZUV4
Y2VwdGlvbi5oCmluZGV4IDIxOTkxZWU3ZmIyZWY5YzE0OWZjYWU3NDBiODQ4YzhkOTg3N2M3NmMu
LmY2MDYwMzYyNGU1ZGFkYzEyZjQwZTM1ZDY0MzUyZDY0ZWRlMDQzMzAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJhc2VFeGNlcHRpb24uaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9zdG9yYWdlL0lEQkRhdGFiYXNlRXhjZXB0aW9uLmgKQEAgLTY2LDYgKzY2LDggQEAg
cHVibGljOgogICAgICAgICByZXR1cm4gZXJyb3JDb2RlICsgSURCRGF0YWJhc2VFeGNlcHRpb25P
ZmZzZXQ7CiAgICAgfQogCisgICAgc3RhdGljIGJvb2wgaW5pdGlhbGl6ZURlc2NyaXB0aW9uKEV4
Y2VwdGlvbkNvZGUsIEV4Y2VwdGlvbkNvZGVEZXNjcmlwdGlvbiopOworCiBwcml2YXRlOgogICAg
IElEQkRhdGFiYXNlRXhjZXB0aW9uKGNvbnN0IEV4Y2VwdGlvbkNvZGVEZXNjcmlwdGlvbiYgZGVz
Y3JpcHRpb24pCiAgICAgICAgIDogRXhjZXB0aW9uQmFzZShkZXNjcmlwdGlvbikKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU1FMRXhjZXB0aW9uLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3N0b3JhZ2UvU1FMRXhjZXB0aW9uLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wZTdiZTgyOWYxY2Q4MDk2
ODhlZGI3ZmYyOTBhMDkxNTkyNWFkZGEwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvc3RvcmFnZS9TUUxFeGNlcHRpb24uY3BwCkBAIC0wLDAgKzEsODIgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMu
ICgiQXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCisgKiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAorICogICAgIGZy
b20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEdPT0dMRSBBTkQgSVRTIENP
TlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUg
ImNvbmZpZy5oIgorCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKKworI2luY2x1ZGUgIlNRTEV4
Y2VwdGlvbi5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKKy8vIEZJWE1FOiBUaGlzIHNob3Vs
ZCBiZSBhbiBhcnJheSBvZiBzdHJ1Y3RzIHRvIHBhaXIgdGhlIG5hbWVzIGFuZCBkZXNjcmlwdGlv
bnMuCitzdGF0aWMgY29uc3QgY2hhciogY29uc3QgZXhjZXB0aW9uTmFtZXNbXSA9IHsKKyAgICAi
VU5LTk9XTl9FUlIiLAorICAgICJEQVRBQkFTRV9FUlIiLAorICAgICJWRVJTSU9OX0VSUiIsCisg
ICAgIlRPT19MQVJHRV9FUlIiLAorICAgICJRVU9UQV9FUlIiLAorICAgICJTWU5UQVhfRVJSIiwK
KyAgICAiQ09OU1RSQUlOVF9FUlIiLAorICAgICJUSU1FT1VUX0VSUiIKK307CisKK3N0YXRpYyBj
b25zdCBjaGFyKiBjb25zdCBleGNlcHRpb25EZXNjcmlwdGlvbnNbXSA9IHsKKyAgICAiVGhlIG9w
ZXJhdGlvbiBmYWlsZWQgZm9yIHJlYXNvbnMgdW5yZWxhdGVkIHRvIHRoZSBkYXRhYmFzZS4iLAor
ICAgICJUaGUgb3BlcmF0aW9uIGZhaWxlZCBmb3Igc29tZSByZWFzb24gcmVsYXRlZCB0byB0aGUg
ZGF0YWJhc2UuIiwKKyAgICAiVGhlIGFjdHVhbCBkYXRhYmFzZSB2ZXJzaW9uIGRpZCBub3QgbWF0
Y2ggdGhlIGV4cGVjdGVkIHZlcnNpb24uIiwKKyAgICAiRGF0YSByZXR1cm5lZCBmcm9tIHRoZSBk
YXRhYmFzZSBpcyB0b28gbGFyZ2UuIiwKKyAgICAiUXVvdGEgd2FzIGV4Y2VlZGVkLiIsCisgICAg
IkludmFsaWQgb3IgdW5hdXRob3JpemVkIHN0YXRlbWVudDsgb3IgdGhlIG51bWJlciBvZiBhcmd1
bWVudHMgZGlkIG5vdCBtYXRjaCB0aGUgbnVtYmVyIG9mID8gcGxhY2Vob2xkZXJzLiIsCisgICAg
IkEgY29uc3RyYWludCB3YXMgdmlvbGF0ZWQuIiwKKyAgICAiQSB0cmFuc2FjdGlvbiBsb2NrIGNv
dWxkIG5vdCBiZSBhY3F1aXJlZCBpbiBhIHJlYXNvbmFibGUgdGltZS4iCit9OworCitDT01QSUxF
X0FTU0VSVChXVEZfQVJSQVlfTEVOR1RIKGV4Y2VwdGlvbk5hbWVzKSA9PSBXVEZfQVJSQVlfTEVO
R1RIKGV4Y2VwdGlvbkRlc2NyaXB0aW9ucyksIFNRTEV4Y2VwdGlvblRhYmxlc011c3RNYXRjaCk7
CisKK2Jvb2wgU1FMRXhjZXB0aW9uOjppbml0aWFsaXplRGVzY3JpcHRpb24oRXhjZXB0aW9uQ29k
ZSBlYywgRXhjZXB0aW9uQ29kZURlc2NyaXB0aW9uKiBkZXNjcmlwdGlvbikKK3sKKyAgICBpZiAo
ZWMgPCBTUUxFeGNlcHRpb25PZmZzZXQgfHwgZWMgPiBTUUxFeGNlcHRpb25NYXgpCisgICAgICAg
IHJldHVybiBmYWxzZTsKKworICAgIGRlc2NyaXB0aW9uLT50eXBlTmFtZSA9ICJET00gU1FMIjsK
KyAgICBkZXNjcmlwdGlvbi0+Y29kZSA9IGVjIC0gU1FMRXhjZXB0aW9uT2Zmc2V0OworICAgIGRl
c2NyaXB0aW9uLT50eXBlID0gU1FMRXhjZXB0aW9uVHlwZTsKKworICAgIHNpemVfdCB0YWJsZVNp
emUgPSBXVEZfQVJSQVlfTEVOR1RIKGV4Y2VwdGlvbk5hbWVzKTsKKyAgICBzaXplX3QgdGFibGVJ
bmRleCA9IGVjIC0gVU5LTk9XTl9FUlI7CisKKyAgICBkZXNjcmlwdGlvbi0+bmFtZSA9IHRhYmxl
SW5kZXggPCB0YWJsZVNpemUgPyBleGNlcHRpb25OYW1lc1t0YWJsZUluZGV4XSA6IDA7CisgICAg
ZGVzY3JpcHRpb24tPmRlc2NyaXB0aW9uID0gdGFibGVJbmRleCA8IHRhYmxlU2l6ZSA/IGV4Y2Vw
dGlvbkRlc2NyaXB0aW9uc1t0YWJsZUluZGV4XSA6IDA7CisKKyAgICByZXR1cm4gdHJ1ZTsKK30K
KworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFNRTF9EQVRBQkFT
RSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU1FMRXhjZXB0aW9uLmggYi9T
b3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTEV4Y2VwdGlvbi5oCmluZGV4IGZjODgxNDgzZGMzNjM5
YjJjZTk4OTQxN2E1MTVlNGQ4NjZlZWUwNDAuLmJlOTY4Y2YwNTBhMGQ5YjkxNTA1ZTEyYmQ3NTgw
ZjYyNGRlZDA2OTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU1FMRXhjZXB0
aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxFeGNlcHRpb24uaApAQCAtNTgs
NiArNTgsOCBAQCBwdWJsaWM6CiAgICAgICAgIFRJTUVPVVRfRVJSID0gU1FMRXhjZXB0aW9uT2Zm
c2V0ICsgNwogICAgIH07CiAKKyAgICBzdGF0aWMgYm9vbCBpbml0aWFsaXplRGVzY3JpcHRpb24o
RXhjZXB0aW9uQ29kZSwgRXhjZXB0aW9uQ29kZURlc2NyaXB0aW9uKik7CisKIHByaXZhdGU6CiAg
ICAgU1FMRXhjZXB0aW9uKGNvbnN0IEV4Y2VwdGlvbkNvZGVEZXNjcmlwdGlvbiYgZGVzY3JpcHRp
b24pCiAgICAgICAgIDogRXhjZXB0aW9uQmFzZShkZXNjcmlwdGlvbikKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdBbGxJbk9uZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
QWxsSW5PbmUuY3BwCmluZGV4IDEzZWU1OTNmYzg1YWM0YTgwYzIzZWUzY2Y5OTc5ODVjNzRjYjcx
OTUuLjE1YTU5NGU4MWQxYTZkNjM2NTA1YjIxNjk4MzUwMzk2OWYzMzg0NGQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbGxJbk9uZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0FsbEluT25lLmNwcApAQCAtNjQsNiArNjQsNyBAQAogI2luY2x1ZGUgIlNWR0VsZW1l
bnRJbnN0YW5jZS5jcHAiCiAjaW5jbHVkZSAiU1ZHRWxlbWVudEluc3RhbmNlTGlzdC5jcHAiCiAj
aW5jbHVkZSAiU1ZHRWxsaXBzZUVsZW1lbnQuY3BwIgorI2luY2x1ZGUgIlNWR0V4Y2VwdGlvbi5j
cHAiCiAjaW5jbHVkZSAiU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5jcHAiCiAjaW5jbHVk
ZSAiU1ZHRkVCbGVuZEVsZW1lbnQuY3BwIgogI2luY2x1ZGUgIlNWR0ZFQ29sb3JNYXRyaXhFbGVt
ZW50LmNwcCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFeGNlcHRpb24uY3Bw
IGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0V4Y2VwdGlvbi5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzBjZDRi
OGUxODViYzY1ZDU1MjUxMzQ5ZjNkZDNlZWIzOWYyYWE3MQotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdFeGNlcHRpb24uY3BwCkBAIC0wLDAgKzEsNzIgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVy
LCBJbmMuICgiQXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCisgKiAgICAgaXRzIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAorICog
ICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEdPT0dMRSBBTkQg
SVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAq
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9S
IElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
CisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lu
Y2x1ZGUgImNvbmZpZy5oIgorCisjaWYgRU5BQkxFKFNWRykKKworI2luY2x1ZGUgIlNWR0V4Y2Vw
dGlvbi5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKKy8vIEZJWE1FOiBUaGlzIHNob3VsZCBi
ZSBhbiBhcnJheSBvZiBzdHJ1Y3RzIHRvIHBhaXIgdGhlIG5hbWVzIGFuZCBkZXNjcmlwdGlvbnMu
CitzdGF0aWMgY29uc3QgY2hhciogY29uc3QgZXhjZXB0aW9uTmFtZXNbXSA9IHsKKyAgICAiU1ZH
X1dST05HX1RZUEVfRVJSIiwKKyAgICAiU1ZHX0lOVkFMSURfVkFMVUVfRVJSIiwKKyAgICAiU1ZH
X01BVFJJWF9OT1RfSU5WRVJUQUJMRSIKK307CisKK3N0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBl
eGNlcHRpb25EZXNjcmlwdGlvbnNbXSA9IHsKKyAgICAiQW4gb2JqZWN0IG9mIHRoZSB3cm9uZyB0
eXBlIHdhcyBwYXNzZWQgdG8gYW4gb3BlcmF0aW9uLiIsCisgICAgIkFuIGludmFsaWQgdmFsdWUg
d2FzIHBhc3NlZCB0byBhbiBvcGVyYXRpb24gb3IgYXNzaWduZWQgdG8gYW4gYXR0cmlidXRlLiIs
CisgICAgIkFuIGF0dGVtcHQgd2FzIG1hZGUgdG8gaW52ZXJ0IGEgbWF0cml4IHRoYXQgaXMgbm90
IGludmVydGlibGUuIgorfTsKKworQ09NUElMRV9BU1NFUlQoV1RGX0FSUkFZX0xFTkdUSChleGNl
cHRpb25OYW1lcykgPT0gV1RGX0FSUkFZX0xFTkdUSChleGNlcHRpb25EZXNjcmlwdGlvbnMpLCBT
VkdFeGNlcHRpb25UYWJsZXNNdXN0TWF0Y2gpOworCitib29sIFNWR0V4Y2VwdGlvbjo6aW5pdGlh
bGl6ZURlc2NyaXB0aW9uKEV4Y2VwdGlvbkNvZGUgZWMsIEV4Y2VwdGlvbkNvZGVEZXNjcmlwdGlv
biogZGVzY3JpcHRpb24pCit7CisgICAgaWYgKGVjIDwgU1ZHRXhjZXB0aW9uT2Zmc2V0IHx8IGVj
ID4gU1ZHRXhjZXB0aW9uTWF4KQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBkZXNjcmlw
dGlvbi0+dHlwZU5hbWUgPSAiRE9NIFNWRyI7CisgICAgZGVzY3JpcHRpb24tPmNvZGUgPSBlYyAt
IFNWR0V4Y2VwdGlvbk9mZnNldDsKKyAgICBkZXNjcmlwdGlvbi0+dHlwZSA9IFNWR0V4Y2VwdGlv
blR5cGU7CisKKyAgICBzaXplX3QgdGFibGVTaXplID0gV1RGX0FSUkFZX0xFTkdUSChleGNlcHRp
b25OYW1lcyk7CisgICAgc2l6ZV90IHRhYmxlSW5kZXggPSBlYyAtIFNWR19XUk9OR19UWVBFX0VS
UjsKKworICAgIGRlc2NyaXB0aW9uLT5uYW1lID0gdGFibGVJbmRleCA8IHRhYmxlU2l6ZSA/IGV4
Y2VwdGlvbk5hbWVzW3RhYmxlSW5kZXhdIDogMDsKKyAgICBkZXNjcmlwdGlvbi0+ZGVzY3JpcHRp
b24gPSB0YWJsZUluZGV4IDwgdGFibGVTaXplID8gZXhjZXB0aW9uRGVzY3JpcHRpb25zW3RhYmxl
SW5kZXhdIDogMDsKKworICAgIHJldHVybiB0cnVlOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoU1ZHKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0V4Y2VwdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0V4Y2VwdGlvbi5oCmlu
ZGV4IDAxOTNiYWNkNDA5YTI4YzMyMGY0MGRhY2FhMTBiOWY0NDM2NzY3Y2EuLjUxMjg3NDM5ZGYz
NzQyMDViZmVlMjA3NDFiOWQxZWQwMzgwODA5OTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdFeGNlcHRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRXhjZXB0aW9u
LmgKQEAgLTQzLDYgKzQzLDggQEAgcHVibGljOgogICAgICAgICBTVkdfTUFUUklYX05PVF9JTlZF
UlRBQkxFID0gU1ZHRXhjZXB0aW9uT2Zmc2V0ICsgMgogICAgIH07CiAKKyAgICBzdGF0aWMgYm9v
bCBpbml0aWFsaXplRGVzY3JpcHRpb24oRXhjZXB0aW9uQ29kZSwgRXhjZXB0aW9uQ29kZURlc2Ny
aXB0aW9uKik7CisKIHByaXZhdGU6CiAgICAgU1ZHRXhjZXB0aW9uKGNvbnN0IEV4Y2VwdGlvbkNv
ZGVEZXNjcmlwdGlvbiYgZGVzY3JpcHRpb24pCiAgICAgICAgIDogRXhjZXB0aW9uQmFzZShkZXNj
cmlwdGlvbikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdEV4
Y2VwdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RFeGNlcHRpb24u
Y3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmExM2Y4MWEwODU1MGExMDJlOGI3MjMxMmRlNDQwZjQzZjk2NTA3MTMK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RFeGNl
cHRpb24uY3BwCkBAIC0wLDAgKzEsNjUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29v
Z2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAg
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuICBO
ZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgiQXBwbGUiKSBub3IgdGhl
IG5hbWVzIG9mCisgKiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNl
IG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAorICogICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEdPT0dMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMi
IEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1
ZGUgIlhNTEh0dHBSZXF1ZXN0RXhjZXB0aW9uLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwor
Ly8gRklYTUU6IFRoaXMgc2hvdWxkIGJlIGFuIGFycmF5IG9mIHN0cnVjdHMgdG8gcGFpciB0aGUg
bmFtZXMgYW5kIGRlc2NyaXB0aW9ucy4KK3N0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBleGNlcHRp
b25OYW1lc1tdID0geworICAgICJORVRXT1JLX0VSUiIsCisgICAgIkFCT1JUX0VSUiIKK307CisK
K3N0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBleGNlcHRpb25EZXNjcmlwdGlvbnNbXSA9IHsKKyAg
ICAiQSBuZXR3b3JrIGVycm9yIG9jY3VyZWQgaW4gc3luY2hyb25vdXMgcmVxdWVzdHMuIiwKKyAg
ICAiVGhlIHVzZXIgYWJvcnRlZCBhIHJlcXVlc3QgaW4gc3luY2hyb25vdXMgcmVxdWVzdHMuIgor
fTsKKworQ09NUElMRV9BU1NFUlQoV1RGX0FSUkFZX0xFTkdUSChleGNlcHRpb25OYW1lcykgPT0g
V1RGX0FSUkFZX0xFTkdUSChleGNlcHRpb25EZXNjcmlwdGlvbnMpLCBYTUxIdHRwUmVxdWVzdEV4
Y2VwdGlvblRhYmxlc011c3RNYXRjaCk7CisKK2Jvb2wgWE1MSHR0cFJlcXVlc3RFeGNlcHRpb246
OmluaXRpYWxpemVEZXNjcmlwdGlvbihFeGNlcHRpb25Db2RlIGVjLCBFeGNlcHRpb25Db2RlRGVz
Y3JpcHRpb24qIGRlc2NyaXB0aW9uKQoreworICAgIGlmIChlYyA8IFhNTEh0dHBSZXF1ZXN0RXhj
ZXB0aW9uT2Zmc2V0IHx8IGVjID4gWE1MSHR0cFJlcXVlc3RFeGNlcHRpb25NYXgpCisgICAgICAg
IHJldHVybiBmYWxzZTsKKworICAgIGRlc2NyaXB0aW9uLT50eXBlTmFtZSA9ICJYTUxIdHRwUmVx
dWVzdCI7CisgICAgZGVzY3JpcHRpb24tPmNvZGUgPSBlYyAtIFhNTEh0dHBSZXF1ZXN0RXhjZXB0
aW9uT2Zmc2V0OworICAgIGRlc2NyaXB0aW9uLT50eXBlID0gWE1MSHR0cFJlcXVlc3RFeGNlcHRp
b25UeXBlOworCisgICAgc2l6ZV90IHRhYmxlU2l6ZSA9IFdURl9BUlJBWV9MRU5HVEgoZXhjZXB0
aW9uTmFtZXMpOworICAgIHNpemVfdCB0YWJsZUluZGV4ID0gZWMgLSBORVRXT1JLX0VSUjsKKwor
ICAgIGRlc2NyaXB0aW9uLT5uYW1lID0gdGFibGVJbmRleCA8IHRhYmxlU2l6ZSA/IGV4Y2VwdGlv
bk5hbWVzW3RhYmxlSW5kZXhdIDogMDsKKyAgICBkZXNjcmlwdGlvbi0+ZGVzY3JpcHRpb24gPSB0
YWJsZUluZGV4IDwgdGFibGVTaXplID8gZXhjZXB0aW9uRGVzY3JpcHRpb25zW3RhYmxlSW5kZXhd
IDogMDsKKworICAgIHJldHVybiB0cnVlOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RFeGNlcHRpb24uaCBi
L1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdEV4Y2VwdGlvbi5oCmluZGV4IDU1NzM1
YjMyYmJiYmI2YTA0OGQwM2QwMWMzM2FmODQ1ZGM3YWMyMjEuLjU0ZDkyN2FiOGMyZmEyYjg4Y2Fj
OWI0ZjFmMjRlYjU2MzM2Y2ZhNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxI
dHRwUmVxdWVzdEV4Y2VwdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVx
dWVzdEV4Y2VwdGlvbi5oCkBAIC00OCw2ICs0OCw4IEBAIHB1YmxpYzoKICAgICAgICAgQUJPUlRf
RVJSCiAgICAgfTsKIAorICAgIHN0YXRpYyBib29sIGluaXRpYWxpemVEZXNjcmlwdGlvbihFeGNl
cHRpb25Db2RlLCBFeGNlcHRpb25Db2RlRGVzY3JpcHRpb24qKTsKKwogcHJpdmF0ZToKICAgICBY
TUxIdHRwUmVxdWVzdEV4Y2VwdGlvbihjb25zdCBFeGNlcHRpb25Db2RlRGVzY3JpcHRpb24mIGRl
c2NyaXB0aW9uKQogICAgICAgICA6IEV4Y2VwdGlvbkJhc2UoZGVzY3JpcHRpb24pCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhFeGNlcHRpb24uY3BwIGIvU291cmNlL1dlYkNv
cmUveG1sL1hQYXRoRXhjZXB0aW9uLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44NGIyZDE5NDU1Y2NkODA5ZWZl
MmU3ZGM3NTZhOGY5Nzk5OGM1YzZmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
eG1sL1hQYXRoRXhjZXB0aW9uLmNwcApAQCAtMCwwICsxLDY1IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKiAzLiAgTmVpdGhlciB0aGUgbmFtZSBvZiBBcHBsZSBDb21wdXRlciwgSW5jLiAoIkFw
cGxlIikgbm9yIHRoZSBuYW1lcyBvZgorICogICAgIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKKyAqICAgICBmcm9tIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBHT09HTEUgQU5EIElUUyBDT05UUklC
VVRPUlMgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25m
aWcuaCIKKyNpbmNsdWRlICJYUGF0aEV4Y2VwdGlvbi5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7
CisKKy8vIEZJWE1FOiBUaGlzIHNob3VsZCBiZSBhbiBhcnJheSBvZiBzdHJ1Y3RzIHRvIHBhaXIg
dGhlIG5hbWVzIGFuZCBkZXNjcmlwdGlvbnMuCitzdGF0aWMgY29uc3QgY2hhciogY29uc3QgZXhj
ZXB0aW9uTmFtZXNbXSA9IHsKKyAgICAiSU5WQUxJRF9FWFBSRVNTSU9OX0VSUiIsCisgICAgIlRZ
UEVfRVJSIgorfTsKKworc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IGV4Y2VwdGlvbkRlc2NyaXB0
aW9uc1tdID0geworICAgICJUaGUgZXhwcmVzc2lvbiBoYWQgYSBzeW50YXggZXJyb3Igb3Igb3Ro
ZXJ3aXNlIGlzIG5vdCBhIGxlZ2FsIGV4cHJlc3Npb24gYWNjb3JkaW5nIHRvIHRoZSBydWxlcyBv
ZiB0aGUgc3BlY2lmaWMgWFBhdGhFdmFsdWF0b3IuIiwKKyAgICAiVGhlIGV4cHJlc3Npb24gY291
bGQgbm90IGJlIGNvbnZlcnRlZCB0byByZXR1cm4gdGhlIHNwZWNpZmllZCB0eXBlLiIKK307CisK
K0NPTVBJTEVfQVNTRVJUKFdURl9BUlJBWV9MRU5HVEgoZXhjZXB0aW9uTmFtZXMpID09IFdURl9B
UlJBWV9MRU5HVEgoZXhjZXB0aW9uRGVzY3JpcHRpb25zKSwgWFBhdGhFeGNlcHRpb25UYWJsZXNN
dXN0TWF0Y2gpOworCitib29sIFhQYXRoRXhjZXB0aW9uOjppbml0aWFsaXplRGVzY3JpcHRpb24o
RXhjZXB0aW9uQ29kZSBlYywgRXhjZXB0aW9uQ29kZURlc2NyaXB0aW9uKiBkZXNjcmlwdGlvbikK
K3sKKyAgICBpZiAoZWMgPCBYUGF0aEV4Y2VwdGlvbk9mZnNldCB8fCBlYyA+IFhQYXRoRXhjZXB0
aW9uTWF4KQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBkZXNjcmlwdGlvbi0+dHlwZU5h
bWUgPSAiRE9NIFhQYXRoIjsKKyAgICBkZXNjcmlwdGlvbi0+Y29kZSA9IGVjIC0gWFBhdGhFeGNl
cHRpb25PZmZzZXQ7CisgICAgZGVzY3JpcHRpb24tPnR5cGUgPSBYUGF0aEV4Y2VwdGlvblR5cGU7
CisKKyAgICBzaXplX3QgdGFibGVTaXplID0gV1RGX0FSUkFZX0xFTkdUSChleGNlcHRpb25OYW1l
cyk7CisgICAgc2l6ZV90IHRhYmxlSW5kZXggPSBlYyAtIElOVkFMSURfRVhQUkVTU0lPTl9FUlI7
CisKKyAgICBkZXNjcmlwdGlvbi0+bmFtZSA9IHRhYmxlSW5kZXggPCB0YWJsZVNpemUgPyBleGNl
cHRpb25OYW1lc1t0YWJsZUluZGV4XSA6IDA7CisgICAgZGVzY3JpcHRpb24tPmRlc2NyaXB0aW9u
ID0gdGFibGVJbmRleCA8IHRhYmxlU2l6ZSA/IGV4Y2VwdGlvbkRlc2NyaXB0aW9uc1t0YWJsZUlu
ZGV4XSA6IDA7CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoRXhjZXB0aW9uLmggYi9Tb3Vy
Y2UvV2ViQ29yZS94bWwvWFBhdGhFeGNlcHRpb24uaAppbmRleCA3YTVhN2M0ODRlYmRkNTU3MWRj
MjQzZjI4NDQ3Mzc4MmFjNzRmYTJmLi5kMzkyYThlNzc3OTUyYWZlOGZmM2QyMWMxMWI3ZjNmOTIy
MWFjMzNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhFeGNlcHRpb24uaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhFeGNlcHRpb24uaApAQCAtNDgsNiArNDgsOCBA
QCBwdWJsaWM6CiAgICAgICAgIFRZUEVfRVJSCiAgICAgfTsKIAorICAgIHN0YXRpYyBib29sIGlu
aXRpYWxpemVEZXNjcmlwdGlvbihFeGNlcHRpb25Db2RlLCBFeGNlcHRpb25Db2RlRGVzY3JpcHRp
b24qKTsKKwogcHJpdmF0ZToKICAgICBYUGF0aEV4Y2VwdGlvbihjb25zdCBFeGNlcHRpb25Db2Rl
RGVzY3JpcHRpb24mIGRlc2NyaXB0aW9uKQogICAgICAgICA6IEV4Y2VwdGlvbkJhc2UoZGVzY3Jp
cHRpb24pCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>112796</attachid>
            <date>2011-10-27 18:04:13 -0700</date>
            <delta_ts>2011-10-27 18:22:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-71081-20111027180412.patch</filename>
            <type>text/plain</type>
            <size>93915</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk4NjcyKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNTIgQEAKKzIwMTEtMTAtMjcgIEFkYW0gQmFy
dGggIDxhYmFydGhAd2Via2l0Lm9yZz4KKworICAgICAgICBNb3ZlIHR5cGUtc3BlY2lmaWMgZXhj
ZXB0aW9uIGRlc2NyaXB0aW9ucyBpbnRvIHRoZSBpbXBsZW1lbnRhdGlvbiBmaWxlcyBmb3IgZWFj
aCB0eXBlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03
MTA4MQorCisgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgorCisgICAgICAgIFRoZXJl
J3Mgbm8gcmVhc29uIHRvIGNlbnRyYWxpemUgdGhpcyBpbmZvcm1hdGlvbi4gIEl0IGJlbG9uZ3Mg
d2l0aCBlYWNoCisgICAgICAgIGV4Y2VwdGlvbiB0eXBlLiAgVGhpcyBwYXRjaCBpcyBpbiBwcmVw
YXJhdGlvbiBmb3IgYXV0b2dlbmVyYXRpbmcgdGhlIGNlbnRyYWwgZmlsZS4KKworICAgICAgICAq
IFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBkb20vRE9NQ29y
ZUV4Y2VwdGlvbi5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6RE9NQ29yZUV4Y2VwdGlv
bjo6aW5pdGlhbGl6ZURlc2NyaXB0aW9uKToKKyAgICAgICAgKiBkb20vRE9NQ29yZUV4Y2VwdGlv
bi5oOgorICAgICAgICAqIGRvbS9FdmVudEV4Y2VwdGlvbi5jcHA6IENvcGllZCBmcm9tIFNvdXJj
ZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdEV4Y2VwdGlvbi5oLgorICAgICAgICAoV2ViQ29y
ZTo6RXZlbnRFeGNlcHRpb246OmluaXRpYWxpemVEZXNjcmlwdGlvbik6CisgICAgICAgICogZG9t
L0V2ZW50RXhjZXB0aW9uLmg6CisgICAgICAgICogZG9tL0V4Y2VwdGlvbkJhc2UuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OkV4Y2VwdGlvbkJhc2U6OmNvZGUpOgorICAgICAgICAoV2ViQ29yZTo6RXhj
ZXB0aW9uQmFzZTo6bmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpFeGNlcHRpb25CYXNlOjptZXNz
YWdlKToKKyAgICAgICAgKFdlYkNvcmU6OkV4Y2VwdGlvbkJhc2U6OmRlc2NyaXB0aW9uKToKKyAg
ICAgICAgKiBkb20vRXhjZXB0aW9uQ29kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpnZXRFeGNl
cHRpb25Db2RlRGVzY3JpcHRpb24pOgorICAgICAgICAqIGRvbS9SYW5nZUV4Y2VwdGlvbi5jcHA6
IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL3htbC9YUGF0aEV4Y2VwdGlvbi5oLgorICAgICAg
ICAoV2ViQ29yZTo6UmFuZ2VFeGNlcHRpb246OmluaXRpYWxpemVEZXNjcmlwdGlvbik6CisgICAg
ICAgICogZG9tL1JhbmdlRXhjZXB0aW9uLmg6CisgICAgICAgICogZmlsZWFwaS9GaWxlRXhjZXB0
aW9uLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpGaWxlRXhjZXB0aW9uOjppbml0aWFs
aXplRGVzY3JpcHRpb24pOgorICAgICAgICAqIGZpbGVhcGkvRmlsZUV4Y2VwdGlvbi5oOgorICAg
ICAgICAqIGZpbGVhcGkvT3BlcmF0aW9uTm90QWxsb3dlZEV4Y2VwdGlvbi5jcHA6IENvcGllZCBm
cm9tIFNvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdEV4Y2VwdGlvbi5oLgorICAgICAg
ICAoV2ViQ29yZTo6T3BlcmF0aW9uTm90QWxsb3dlZEV4Y2VwdGlvbjo6aW5pdGlhbGl6ZURlc2Ny
aXB0aW9uKToKKyAgICAgICAgKiBmaWxlYXBpL09wZXJhdGlvbk5vdEFsbG93ZWRFeGNlcHRpb24u
aDoKKyAgICAgICAgKiBzdG9yYWdlL0lEQkRhdGFiYXNlRXhjZXB0aW9uLmNwcDogQWRkZWQuCisg
ICAgICAgIChXZWJDb3JlOjpJREJEYXRhYmFzZUV4Y2VwdGlvbjo6aW5pdGlhbGl6ZURlc2NyaXB0
aW9uKToKKyAgICAgICAgKiBzdG9yYWdlL0lEQkRhdGFiYXNlRXhjZXB0aW9uLmg6CisgICAgICAg
ICogc3RvcmFnZS9TUUxFeGNlcHRpb24uY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNR
TEV4Y2VwdGlvbjo6aW5pdGlhbGl6ZURlc2NyaXB0aW9uKToKKyAgICAgICAgKiBzdG9yYWdlL1NR
TEV4Y2VwdGlvbi5oOgorICAgICAgICAqIHN2Zy9TVkdFeGNlcHRpb24uY3BwOiBDb3BpZWQgZnJv
bSBTb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRFeGNlcHRpb24uaC4KKyAgICAgICAgKFdlYkNvcmU6
OlNWR0V4Y2VwdGlvbjo6aW5pdGlhbGl6ZURlc2NyaXB0aW9uKToKKyAgICAgICAgKiBzdmcvU1ZH
RXhjZXB0aW9uLmg6CisgICAgICAgICogeG1sL1hNTEh0dHBSZXF1ZXN0RXhjZXB0aW9uLmNwcDog
Q29waWVkIGZyb20gU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0RXhjZXB0aW9uLmgu
CisgICAgICAgIChXZWJDb3JlOjpYTUxIdHRwUmVxdWVzdEV4Y2VwdGlvbjo6aW5pdGlhbGl6ZURl
c2NyaXB0aW9uKToKKyAgICAgICAgKiB4bWwvWE1MSHR0cFJlcXVlc3RFeGNlcHRpb24uaDoKKyAg
ICAgICAgKiB4bWwvWFBhdGhFeGNlcHRpb24uY3BwOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29y
ZS94bWwvWFBhdGhFeGNlcHRpb24uaC4KKyAgICAgICAgKFdlYkNvcmU6OlhQYXRoRXhjZXB0aW9u
Ojppbml0aWFsaXplRGVzY3JpcHRpb24pOgorICAgICAgICAqIHhtbC9YUGF0aEV4Y2VwdGlvbi5o
OgorCiAyMDExLTEwLTI3ICBIZWxkZXIgQ29ycmVpYSAgPGhlbGRlci5jb3JyZWlhQHBhbG0uY29t
PgogCiAgICAgICAgIFtRdF0gRmFpbHVyZSB0byBidWlsZCB3aGVuIFFUX05PX0NVUlNPUiBkZWZp
bmVkCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkocmV2aXNpb24gOTg2NzIpCisrKyBTb3VyY2Uv
V2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkod29ya2luZyBjb3B5KQpAQCAtNTM4LDYgKzUzOCw3IEBA
IFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICBkb20vRG9jdW1lbnRQYXJzZXIuY3BwCiAgICAgZG9t
L0RvY3VtZW50T3JkZXJlZE1hcC5jcHAKICAgICBkb20vRG9jdW1lbnRUeXBlLmNwcAorICAgIGRv
bS9ET01Db3JlRXhjZXB0aW9uLmNwcAogICAgIGRvbS9ET01JbXBsZW1lbnRhdGlvbi5jcHAKICAg
ICBkb20vRE9NU3RyaW5nTGlzdC5jcHAKICAgICBkb20vRE9NU3RyaW5nTWFwLmNwcApAQCAtNTUw
LDYgKzU1MSw3IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICBkb20vRXZlbnRDb250ZXh0LmNw
cAogICAgIGRvbS9FdmVudERpc3BhdGNoTWVkaWF0b3IuY3BwCiAgICAgZG9tL0V2ZW50RGlzcGF0
Y2hlci5jcHAKKyAgICBkb20vRXZlbnRFeGNlcHRpb24uY3BwCiAgICAgZG9tL0V2ZW50TGlzdGVu
ZXJNYXAuY3BwCiAgICAgZG9tL0V2ZW50TmFtZXMuY3BwCiAgICAgZG9tL0V2ZW50VGFyZ2V0LmNw
cApAQCAtNTg1LDYgKzU4Nyw3IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICBkb20vUHJvZ3Jl
c3NFdmVudC5jcHAKICAgICBkb20vUXVhbGlmaWVkTmFtZS5jcHAKICAgICBkb20vUmFuZ2UuY3Bw
CisgICAgZG9tL1JhbmdlRXhjZXB0aW9uLmNwcAogICAgIGRvbS9SZWdpc3RlcmVkRXZlbnRMaXN0
ZW5lci5jcHAKICAgICBkb20vU2NvcGVkRXZlbnRRdWV1ZS5jcHAKICAgICBkb20vU2NyaXB0YWJs
ZURvY3VtZW50UGFyc2VyLmNwcApAQCAtNjgxLDcgKzY4NCw5IEBAIFNFVChXZWJDb3JlX1NPVVJD
RVMKICAgICBmaWxlYXBpL0Jsb2IuY3BwCiAgICAgZmlsZWFwaS9CbG9iVVJMLmNwcAogICAgIGZp
bGVhcGkvRmlsZS5jcHAKKyAgICBmaWxlYXBpL0ZpbGVFeGNlcHRpb24uY3BwCiAgICAgZmlsZWFw
aS9GaWxlTGlzdC5jcHAKKyAgICBmaWxlYXBpL09wZXJhdGlvbk5vdEFsbG93ZWRFeGNlcHRpb24u
Y3BwCiAgICAgZmlsZWFwaS9UaHJlYWRhYmxlQmxvYlJlZ2lzdHJ5LmNwcAogICAgIGZpbGVhcGkv
V2ViS2l0QmxvYkJ1aWxkZXIuY3BwCiAKQEAgLTEzMzAsNiArMTMzNSw3IEBAIFNFVChXZWJDb3Jl
X1NPVVJDRVMKICAgICBzdG9yYWdlL0lEQkRhdGFiYXNlQmFja2VuZEltcGwuY3BwCiAgICAgc3Rv
cmFnZS9JREJDdXJzb3IuY3BwCiAgICAgc3RvcmFnZS9JREJDdXJzb3JCYWNrZW5kSW1wbC5jcHAK
KyAgICBzdG9yYWdlL0lEQkRhdGFiYXNlRXhjZXB0aW9uLmNwcAogICAgIHN0b3JhZ2UvSURCRXZl
bnREaXNwYXRjaGVyLmNwcAogICAgIHN0b3JhZ2UvSURCSW5kZXguY3BwCiAgICAgc3RvcmFnZS9J
REJJbmRleEJhY2tlbmRJbXBsLmNwcApAQCAtMTM0NSw2ICsxMzUxLDcgQEAgU0VUKFdlYkNvcmVf
U09VUkNFUwogICAgIHN0b3JhZ2UvTG9jYWxTdG9yYWdlVGhyZWFkLmNwcAogICAgIHN0b3JhZ2Uv
T3JpZ2luUXVvdGFNYW5hZ2VyLmNwcAogICAgIHN0b3JhZ2UvT3JpZ2luVXNhZ2VSZWNvcmQuY3Bw
CisgICAgc3RvcmFnZS9TUUxFeGNlcHRpb24uY3BwCiAgICAgc3RvcmFnZS9TUUxSZXN1bHRTZXQu
Y3BwCiAgICAgc3RvcmFnZS9TUUxSZXN1bHRTZXRSb3dMaXN0LmNwcAogICAgIHN0b3JhZ2UvU1FM
U3RhdGVtZW50LmNwcApAQCAtMTM2OSwxMSArMTM3NiwxMyBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VT
CiAgICAgeG1sL05hdGl2ZVhQYXRoTlNSZXNvbHZlci5jcHAKICAgICB4bWwvWE1MRXJyb3JzLmNw
cAogICAgIHhtbC9YTUxIdHRwUmVxdWVzdC5jcHAKKyAgICB4bWwvWE1MSHR0cFJlcXVlc3RFeGNl
cHRpb24uY3BwCiAgICAgeG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmNw
cAogICAgIHhtbC9YTUxIdHRwUmVxdWVzdFVwbG9hZC5jcHAKICAgICB4bWwvWE1MVHJlZVZpZXdl
ci5jcHAKICAgICB4bWwvWE1MU2VyaWFsaXplci5jcHAKICAgICB4bWwvWFBhdGhFdmFsdWF0b3Iu
Y3BwCisgICAgeG1sL1hQYXRoRXhjZXB0aW9uLmNwcAogICAgIHhtbC9YUGF0aEV4cHJlc3Npb24u
Y3BwCiAgICAgeG1sL1hQYXRoRXhwcmVzc2lvbk5vZGUuY3BwCiAgICAgeG1sL1hQYXRoRnVuY3Rp
b25zLmNwcApAQCAtMTY5MCw2ICsxNjk5LDcgQEAgSUYgKEVOQUJMRV9TVkcpCiAgICAgICAgIHN2
Zy9TVkdFbGVtZW50SW5zdGFuY2UuY3BwCiAgICAgICAgIHN2Zy9TVkdFbGVtZW50SW5zdGFuY2VM
aXN0LmNwcAogICAgICAgICBzdmcvU1ZHRWxsaXBzZUVsZW1lbnQuY3BwCisgICAgICAgIHN2Zy9T
VkdFeGNlcHRpb24uY3BwCiAgICAgICAgIHN2Zy9TVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVk
LmNwcAogICAgICAgICBzdmcvU1ZHRkVCbGVuZEVsZW1lbnQuY3BwCiAgICAgICAgIHN2Zy9TVkdG
RUNvbG9yTWF0cml4RWxlbWVudC5jcHAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxl
Lmxpc3QuYW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5h
bQkocmV2aXNpb24gOTg2NzIpCisrKyBTb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFt
CSh3b3JraW5nIGNvcHkpCkBAIC0xMTg5LDYgKzExODksNyBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0g
XAogCVNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudFRpbWluZy5oIFwKIAlTb3VyY2UvV2ViQ29y
ZS9kb20vRG9jdW1lbnRUeXBlLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50VHlw
ZS5oIFwKKwlTb3VyY2UvV2ViQ29yZS9kb20vRE9NQ29yZUV4Y2VwdGlvbi5jcHAgXAogCVNvdXJj
ZS9XZWJDb3JlL2RvbS9ET01Db3JlRXhjZXB0aW9uLmggXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9E
T01JbXBsZW1lbnRhdGlvbi5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9ET01JbXBsZW1lbnRh
dGlvbi5oIFwKQEAgLTEyMTcsNiArMTIxOCw3IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291
cmNlL1dlYkNvcmUvZG9tL0V2ZW50RGlzcGF0Y2hNZWRpYXRvci5oIFwKIAlTb3VyY2UvV2ViQ29y
ZS9kb20vRXZlbnREaXNwYXRjaGVyLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50RGlz
cGF0Y2hlci5oIFwKKwlTb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRFeGNlcHRpb24uY3BwIFwKIAlT
b3VyY2UvV2ViQ29yZS9kb20vRXZlbnRFeGNlcHRpb24uaCBcCiAJU291cmNlL1dlYkNvcmUvZG9t
L0V2ZW50RmFjdG9yeS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRMaXN0ZW5lci5oIFwK
QEAgLTEzMDEsNiArMTMwMyw3IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNv
cmUvZG9tL1F1YWxpZmllZE5hbWUuaCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL1JhbmdlQm91bmRh
cnlQb2ludC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vUmFuZ2UuY3BwIFwKKwlTb3VyY2UvV2Vi
Q29yZS9kb20vUmFuZ2VFeGNlcHRpb24uY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vUmFuZ2VF
eGNlcHRpb24uaCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL1JhbmdlLmggXAogCVNvdXJjZS9XZWJD
b3JlL2RvbS9SYXdEYXRhRG9jdW1lbnRQYXJzZXIuaCBcCkBAIC0xNTMzLDYgKzE1MzYsOCBAQCB3
ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZUVycm9yLmgg
XAogCVNvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZUV4Y2VwdGlvbi5oIFwKIAlTb3VyY2UvV2Vi
Q29yZS9maWxlYXBpL0ZpbGUuaCBcCisJU291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxlRXhjZXB0
aW9uLmNwcCBcCisJU291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxlRXhjZXB0aW9uLmggXAogCVNv
dXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZUxpc3QuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9maWxl
YXBpL0ZpbGVMaXN0LmggXAogCVNvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZVJlYWRlci5jcHAg
XApAQCAtMTU2Myw2ICsxNTY4LDcgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2Vi
Q29yZS9maWxlYXBpL0xvY2FsRmlsZVN5c3RlbS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9maWxlYXBp
L01ldGFkYXRhQ2FsbGJhY2suaCBcCiAJU291cmNlL1dlYkNvcmUvZmlsZWFwaS9NZXRhZGF0YS5o
IFwKKwlTb3VyY2UvV2ViQ29yZS9maWxlYXBpL09wZXJhdGlvbk5vdEFsbG93ZWRFeGNlcHRpb24u
Y3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9maWxlYXBpL09wZXJhdGlvbk5vdEFsbG93ZWRFeGNlcHRp
b24uaCBcCiAJU291cmNlL1dlYkNvcmUvZmlsZWFwaS9UaHJlYWRhYmxlQmxvYlJlZ2lzdHJ5LmNw
cCBcCiAJU291cmNlL1dlYkNvcmUvZmlsZWFwaS9UaHJlYWRhYmxlQmxvYlJlZ2lzdHJ5LmggXApA
QCAtMzM5NSw2ICszNDAxLDcgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29y
ZS9zdG9yYWdlL0lEQkRhdGFiYXNlQ2FsbGJhY2tzSW1wbC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9z
dG9yYWdlL0lEQkRhdGFiYXNlLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJEYXRh
YmFzZUVycm9yLmggXAorCVNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJhc2VFeGNlcHRp
b24uY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQkRhdGFiYXNlRXhjZXB0aW9uLmgg
XAogCVNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJhc2UuaCBcCiAJU291cmNlL1dlYkNv
cmUvc3RvcmFnZS9JREJFdmVudERpc3BhdGNoZXIuY3BwIFwKQEAgLTM0NDQsNiArMzQ1MSw3IEBA
IHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvc3RvcmFnZS9PcmlnaW5Vc2Fn
ZVJlY29yZC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTENhbGxiYWNrV3JhcHBlci5o
IFwKIAlTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTEVycm9yLmggXAorCVNvdXJjZS9XZWJDb3Jl
L3N0b3JhZ2UvU1FMRXhjZXB0aW9uLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxF
eGNlcHRpb24uaCBcCiAJU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxSZXN1bHRTZXQuY3BwIFwK
IAlTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTFJlc3VsdFNldC5oIFwKQEAgLTM2MTksNiArMzYy
Nyw3IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1l
bnRSYXJlRGF0YS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxsaXBzZUVsZW1lbnQuY3Bw
IFwKIAlTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxsaXBzZUVsZW1lbnQuaCBcCisJU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0V4Y2VwdGlvbi5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFeGNl
cHRpb24uaCBcCiAJU291cmNlL1dlYkNvcmUvc3ZnL1NWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWly
ZWQuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJl
ZC5oIFwKQEAgLTM5NDMsNiArMzk1Miw3IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNl
L1dlYkNvcmUveG1sL1hNTEVycm9ycy5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3htbC9YTUxFcnJv
cnMuaCBcCiAJU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcCBcCisJU291cmNl
L1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0RXhjZXB0aW9uLmNwcCBcCiAJU291cmNlL1dlYkNv
cmUveG1sL1hNTEh0dHBSZXF1ZXN0RXhjZXB0aW9uLmggXAogCVNvdXJjZS9XZWJDb3JlL3htbC9Y
TUxIdHRwUmVxdWVzdC5oIFwKIAlTb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RQcm9n
cmVzc0V2ZW50LmggXApAQCAtMzk1Niw2ICszOTY2LDcgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwK
IAlTb3VyY2UvV2ViQ29yZS94bWwvWE1MU2VyaWFsaXplci5oIFwKIAlTb3VyY2UvV2ViQ29yZS94
bWwvWFBhdGhFdmFsdWF0b3IuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhFdmFsdWF0
b3IuaCBcCisJU291cmNlL1dlYkNvcmUveG1sL1hQYXRoRXhjZXB0aW9uLmNwcCBcCiAJU291cmNl
L1dlYkNvcmUveG1sL1hQYXRoRXhjZXB0aW9uLmggXAogCVNvdXJjZS9XZWJDb3JlL3htbC9YUGF0
aEV4cHJlc3Npb24uY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhFeHByZXNzaW9uLmgg
XApJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQkocmV2aXNpb24gOTg2NzIpCisrKyBTb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLmd5cGkJKHdvcmtpbmcgY29weSkKQEAgLTI2MDcsNiArMjYwNyw3IEBACiAgICAg
ICAgICAgICAnZmlsZWFwaS9GaWxlRW50cnlTeW5jLmNwcCcsCiAgICAgICAgICAgICAnZmlsZWFw
aS9GaWxlRW50cnlTeW5jLmgnLAogICAgICAgICAgICAgJ2ZpbGVhcGkvRmlsZUVycm9yLmgnLAor
ICAgICAgICAgICAgJ2ZpbGVhcGkvRmlsZUV4Y2VwdGlvbi5jcHAnLAogICAgICAgICAgICAgJ2Zp
bGVhcGkvRmlsZUV4Y2VwdGlvbi5oJywKICAgICAgICAgICAgICdmaWxlYXBpL0ZpbGVMaXN0LmNw
cCcsCiAgICAgICAgICAgICAnZmlsZWFwaS9GaWxlTGlzdC5oJywKQEAgLTI2MzgsNiArMjYzOSw3
IEBACiAgICAgICAgICAgICAnZmlsZWFwaS9Mb2NhbEZpbGVTeXN0ZW0uaCcsCiAgICAgICAgICAg
ICAnZmlsZWFwaS9NZXRhZGF0YS5oJywKICAgICAgICAgICAgICdmaWxlYXBpL01ldGFkYXRhQ2Fs
bGJhY2suaCcsCisgICAgICAgICAgICAnZmlsZWFwaS9PcGVyYXRpb25Ob3RBbGxvd2VkRXhjZXB0
aW9uLmNwcCcsCiAgICAgICAgICAgICAnZmlsZWFwaS9PcGVyYXRpb25Ob3RBbGxvd2VkRXhjZXB0
aW9uLmgnLAogICAgICAgICAgICAgJ2ZpbGVhcGkvU3luY0NhbGxiYWNrSGVscGVyLmgnLAogICAg
ICAgICAgICAgJ2ZpbGVhcGkvVGhyZWFkYWJsZUJsb2JSZWdpc3RyeS5jcHAnLApAQCAtNDgxNCw2
ICs0ODE2LDcgQEAKICAgICAgICAgICAgICdzdG9yYWdlL0lEQkRhdGFiYXNlQ2FsbGJhY2tzSW1w
bC5jcHAnLAogICAgICAgICAgICAgJ3N0b3JhZ2UvSURCRGF0YWJhc2VDYWxsYmFja3NJbXBsLmgn
LAogICAgICAgICAgICAgJ3N0b3JhZ2UvSURCRGF0YWJhc2VFcnJvci5oJywKKyAgICAgICAgICAg
ICdzdG9yYWdlL0lEQkRhdGFiYXNlRXhjZXB0aW9uLmNwcCcsCiAgICAgICAgICAgICAnc3RvcmFn
ZS9JREJEYXRhYmFzZUV4Y2VwdGlvbi5oJywKICAgICAgICAgICAgICdzdG9yYWdlL0lEQkV2ZW50
RGlzcGF0Y2hlci5jcHAnLAogICAgICAgICAgICAgJ3N0b3JhZ2UvSURCRXZlbnREaXNwYXRjaGVy
LmgnLApAQCAtNDg3MCw2ICs0ODczLDcgQEAKICAgICAgICAgICAgICdzdG9yYWdlL09yaWdpblVz
YWdlUmVjb3JkLmNwcCcsCiAgICAgICAgICAgICAnc3RvcmFnZS9PcmlnaW5Vc2FnZVJlY29yZC5o
JywKICAgICAgICAgICAgICdzdG9yYWdlL1NRTENhbGxiYWNrV3JhcHBlci5oJywKKyAgICAgICAg
ICAgICdzdG9yYWdlL1NRTEV4Y2VwdGlvbi5jcHAnLAogICAgICAgICAgICAgJ3N0b3JhZ2UvU1FM
RXhjZXB0aW9uLmgnLAogICAgICAgICAgICAgJ3N0b3JhZ2UvU1FMUmVzdWx0U2V0LmNwcCcsCiAg
ICAgICAgICAgICAnc3RvcmFnZS9TUUxSZXN1bHRTZXRSb3dMaXN0LmNwcCcsCkBAIC01MDc2LDYg
KzUwODAsNyBAQAogICAgICAgICAgICAgJ3htbC9YTUxFcnJvcnMuaCcsCiAgICAgICAgICAgICAn
eG1sL1hNTEh0dHBSZXF1ZXN0LmNwcCcsCiAgICAgICAgICAgICAneG1sL1hNTEh0dHBSZXF1ZXN0
LmgnLAorICAgICAgICAgICAgJ3htbC9YTUxIdHRwUmVxdWVzdEV4Y2VwdGlvbi5jcHAnLAogICAg
ICAgICAgICAgJ3htbC9YTUxIdHRwUmVxdWVzdEV4Y2VwdGlvbi5oJywKICAgICAgICAgICAgICd4
bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50LmgnLAogICAgICAgICAgICAgJ3htbC9YTUxI
dHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZS5jcHAnLApAQCAtNTA4OCw2ICs1MDkzLDcg
QEAKICAgICAgICAgICAgICd4bWwvWE1MVHJlZVZpZXdlci5oJywKICAgICAgICAgICAgICd4bWwv
WFBhdGhFdmFsdWF0b3IuY3BwJywKICAgICAgICAgICAgICd4bWwvWFBhdGhFdmFsdWF0b3IuaCcs
CisgICAgICAgICAgICAneG1sL1hQYXRoRXhjZXB0aW9uLmNwcCcsCiAgICAgICAgICAgICAneG1s
L1hQYXRoRXhjZXB0aW9uLmgnLAogICAgICAgICAgICAgJ3htbC9YUGF0aEV4cHJlc3Npb24uY3Bw
JywKICAgICAgICAgICAgICd4bWwvWFBhdGhFeHByZXNzaW9uLmgnLApAQCAtNTE2Niw2ICs1MTcy
LDcgQEAKICAgICAgICAgICAgICdkb20vQ3VzdG9tRXZlbnQuY3BwJywKICAgICAgICAgICAgICdk
b20vQ3VzdG9tRXZlbnQuaCcsCiAgICAgICAgICAgICAnZG9tL0RPTUFsbEluT25lLmNwcCcsCisg
ICAgICAgICAgICAnZG9tL0RPTUNvcmVFeGNlcHRpb24uY3BwJywKICAgICAgICAgICAgICdkb20v
RE9NQ29yZUV4Y2VwdGlvbi5oJywKICAgICAgICAgICAgICdkb20vRE9NSW1wbGVtZW50YXRpb24u
Y3BwJywKICAgICAgICAgICAgICdkb20vRE9NU3RyaW5nTGlzdC5jcHAnLApAQCAtNTIxOSw2ICs1
MjI2LDcgQEAKICAgICAgICAgICAgICdkb20vRXZlbnREaXNwYXRjaE1lZGlhdG9yLmgnLAogICAg
ICAgICAgICAgJ2RvbS9FdmVudERpc3BhdGNoZXIuY3BwJywKICAgICAgICAgICAgICdkb20vRXZl
bnREaXNwYXRjaGVyLmgnLAorICAgICAgICAgICAgJ2RvbS9FdmVudEV4Y2VwdGlvbi5jcHAnLAog
ICAgICAgICAgICAgJ2RvbS9FdmVudEV4Y2VwdGlvbi5oJywKICAgICAgICAgICAgICdkb20vRXZl
bnRMaXN0ZW5lck1hcC5jcHAnLAogICAgICAgICAgICAgJ2RvbS9FdmVudE5hbWVzLmNwcCcsCkBA
IC01MjgyLDYgKzUyOTAsNyBAQAogICAgICAgICAgICAgJ2RvbS9Qcm9ncmVzc0V2ZW50LmgnLAog
ICAgICAgICAgICAgJ2RvbS9RdWFsaWZpZWROYW1lLmNwcCcsCiAgICAgICAgICAgICAnZG9tL1Jh
bmdlLmNwcCcsCisgICAgICAgICAgICAnZG9tL1JhbmdlRXhjZXB0aW9uLmNwcCcsCiAgICAgICAg
ICAgICAnZG9tL1JhbmdlRXhjZXB0aW9uLmgnLAogICAgICAgICAgICAgJ2RvbS9SYXdEYXRhRG9j
dW1lbnRQYXJzZXIuaCcsCiAgICAgICAgICAgICAnZG9tL1JlZ2lzdGVyZWRFdmVudExpc3RlbmVy
LmNwcCcsCkBAIC01OTM1LDYgKzU5NDQsNyBAQAogICAgICAgICAgICAgJ3N2Zy9TVkdFbGVtZW50
UmFyZURhdGEuaCcsCiAgICAgICAgICAgICAnc3ZnL1NWR0VsbGlwc2VFbGVtZW50LmNwcCcsCiAg
ICAgICAgICAgICAnc3ZnL1NWR0VsbGlwc2VFbGVtZW50LmgnLAorICAgICAgICAgICAgJ3N2Zy9T
VkdFeGNlcHRpb24uY3BwJywKICAgICAgICAgICAgICdzdmcvU1ZHRXhjZXB0aW9uLmgnLAogICAg
ICAgICAgICAgJ3N2Zy9TVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLmNwcCcsCiAgICAgICAg
ICAgICAnc3ZnL1NWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQuaCcsCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnBybwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LnBybwkocmV2aXNpb24gOTg2NzIpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBybwkod29y
a2luZyBjb3B5KQpAQCAtNDkxLDYgKzQ5MSw3IEBAIFNPVVJDRVMgKz0gXAogICAgIGRvbS9Eb2N1
bWVudE9yZGVyZWRNYXAuY3BwIFwKICAgICBkb20vRG9jdW1lbnRQYXJzZXIuY3BwIFwKICAgICBk
b20vRG9jdW1lbnRUeXBlLmNwcCBcCisgICAgZG9tL0RPTUNvcmVFeGNlcHRpb24uY3BwIFwKICAg
ICBkb20vRE9NSW1wbGVtZW50YXRpb24uY3BwIFwKICAgICBkb20vRE9NU3RyaW5nTGlzdC5jcHAg
XAogICAgIGRvbS9ET01TdHJpbmdNYXAuY3BwIFwKQEAgLTUwNCw2ICs1MDUsNyBAQCBTT1VSQ0VT
ICs9IFwKICAgICBkb20vRXZlbnRDb250ZXh0LmNwcCBcCiAgICAgZG9tL0V2ZW50RGlzcGF0Y2hN
ZWRpYXRvci5jcHAgXAogICAgIGRvbS9FdmVudERpc3BhdGNoZXIuY3BwIFwKKyAgICBkb20vRXZl
bnRFeGNlcHRpb24uY3BwIFwKICAgICBkb20vRXZlbnRMaXN0ZW5lck1hcC5jcHAgXAogICAgIGRv
bS9FdmVudE5hbWVzLmNwcCBcCiAgICAgZG9tL0V2ZW50VGFyZ2V0LmNwcCBcCkBAIC01NDAsNiAr
NTQyLDcgQEAgU09VUkNFUyArPSBcCiAgICAgZG9tL1Byb2dyZXNzRXZlbnQuY3BwIFwKICAgICBk
b20vUXVhbGlmaWVkTmFtZS5jcHAgXAogICAgIGRvbS9SYW5nZS5jcHAgXAorICAgIGRvbS9SYW5n
ZUV4Y2VwdGlvbi5jcHAgXAogICAgIGRvbS9SYXdEYXRhRG9jdW1lbnRQYXJzZXIuaCBcCiAgICAg
ZG9tL1JlZ2lzdGVyZWRFdmVudExpc3RlbmVyLmNwcCBcCiAgICAgZG9tL1Njb3BlZEV2ZW50UXVl
dWUuY3BwIFwKQEAgLTYzMiwxMyArNjM1LDE1IEBAIFNPVVJDRVMgKz0gXAogICAgIGZpbGVhcGkv
QmxvYi5jcHAgXAogICAgIGZpbGVhcGkvQmxvYlVSTC5jcHAgXAogICAgIGZpbGVhcGkvRmlsZS5j
cHAgXAorICAgIGZpbGVhcGkvRmlsZUV4Y2VwdGlvbi5jcHAgXAogICAgIGZpbGVhcGkvRmlsZUxp
c3QuY3BwIFwKICAgICBmaWxlYXBpL0ZpbGVSZWFkZXIuY3BwIFwKICAgICBmaWxlYXBpL0ZpbGVS
ZWFkZXJMb2FkZXIuY3BwIFwKICAgICBmaWxlYXBpL0ZpbGVSZWFkZXJTeW5jLmNwcCBcCiAgICAg
ZmlsZWFwaS9GaWxlU3RyZWFtUHJveHkuY3BwIFwKICAgICBmaWxlYXBpL0ZpbGVUaHJlYWQuY3Bw
IFwKLSAgICBmaWxlYXBpL1RocmVhZGFibGVCbG9iUmVnaXN0cnkuY3BwIFwKKyAgICBmaWxlYXBp
L0ZpbGVFeGNlcHRpb24uY3BwIFwKKyAgICBmaWxlYXBpL09wZXJhdGlvbk5vdEFsbG93ZWRFeGNl
cHRpb24uY3BwIFwKICAgICBmaWxlYXBpL1dlYktpdEJsb2JCdWlsZGVyLmNwcCBcCiAgICAgaGlz
dG9yeS9CYWNrRm9yd2FyZENvbnRyb2xsZXIuY3BwIFwKICAgICBoaXN0b3J5L0JhY2tGb3J3YXJk
TGlzdEltcGwuY3BwIFwKQEAgLTEyMzksMTEgKzEyNDQsMTMgQEAgU09VUkNFUyArPSBcCiAgICAg
eG1sL0RPTVBhcnNlci5jcHAgXAogICAgIHhtbC9OYXRpdmVYUGF0aE5TUmVzb2x2ZXIuY3BwIFwK
ICAgICB4bWwvWE1MSHR0cFJlcXVlc3QuY3BwIFwKKyAgICB4bWwvWE1MSHR0cFJlcXVlc3RFeGNl
cHRpb24uY3BwIFwKICAgICB4bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUu
Y3BwIFwKICAgICB4bWwvWE1MSHR0cFJlcXVlc3RVcGxvYWQuY3BwIFwKICAgICB4bWwvWE1MRXJy
b3JzLmNwcCBcCiAgICAgeG1sL1hNTFNlcmlhbGl6ZXIuY3BwIFwKICAgICB4bWwvWFBhdGhFdmFs
dWF0b3IuY3BwIFwKKyAgICB4bWwvWFBhdGhFeGNlcHRpb24uY3BwIFwKICAgICB4bWwvWFBhdGhF
eHByZXNzaW9uLmNwcCBcCiAgICAgeG1sL1hQYXRoRXhwcmVzc2lvbk5vZGUuY3BwIFwKICAgICB4
bWwvWFBhdGhGdW5jdGlvbnMuY3BwIFwKQEAgLTI4MzMsNiArMjg0MCw3IEBAIGNvbnRhaW5zKERF
RklORVMsIEVOQUJMRV9TUUxfREFUQUJBU0U9MSkKICAgICAgICAgc3RvcmFnZS9EYXRhYmFzZVRy
YWNrZXIuY3BwIFwKICAgICAgICAgc3RvcmFnZS9PcmlnaW5RdW90YU1hbmFnZXIuY3BwIFwKICAg
ICAgICAgc3RvcmFnZS9PcmlnaW5Vc2FnZVJlY29yZC5jcHAgXAorICAgICAgICBzdG9yYWdlL1NR
TEV4Y2VwdGlvbi5jcHAgXAogICAgICAgICBzdG9yYWdlL1NRTFJlc3VsdFNldC5jcHAgXAogICAg
ICAgICBzdG9yYWdlL1NRTFJlc3VsdFNldFJvd0xpc3QuY3BwIFwKICAgICAgICAgc3RvcmFnZS9T
UUxTdGF0ZW1lbnQuY3BwIFwKQEAgLTI4OTcsNiArMjkwNSw3IEBAIGNvbnRhaW5zKERFRklORVMs
IEVOQUJMRV9JTkRFWEVEX0RBVEFCQVMKICAgICAgICAgc3RvcmFnZS9JREJDdXJzb3JCYWNrZW5k
SW1wbC5jcHAgXAogICAgICAgICBzdG9yYWdlL0lEQkRhdGFiYXNlLmNwcCBcCiAgICAgICAgIHN0
b3JhZ2UvSURCRGF0YWJhc2VCYWNrZW5kSW1wbC5jcHAgXAorICAgICAgICBzdG9yYWdlL0lEQkRh
dGFiYXNlRXhjZXB0aW9uLmNwcCBcCiAgICAgICAgIHN0b3JhZ2UvSURCRXZlbnREaXNwYXRjaGVy
LmNwcCBcCiAgICAgICAgIHN0b3JhZ2UvSURCRmFjdG9yeS5jcHAgXAogICAgICAgICBzdG9yYWdl
L0lEQkZhY3RvcnlCYWNrZW5kSW50ZXJmYWNlLmNwcCBcCkBAIC0zMzk2LDYgKzM0MDUsNyBAQCBj
b250YWlucyhERUZJTkVTLCBFTkFCTEVfU1ZHPTEpIHsKICAgICAgICAgICAgICAgc3ZnL1NWR0Vs
ZW1lbnRJbnN0YW5jZS5jcHAgXAogICAgICAgICAgICAgICBzdmcvU1ZHRWxlbWVudEluc3RhbmNl
TGlzdC5jcHAgXAogICAgICAgICAgICAgICBzdmcvU1ZHRWxsaXBzZUVsZW1lbnQuY3BwIFwKKyAg
ICAgICAgICAgICAgc3ZnL1NWR0V4Y2VwdGlvbi5jcHAgXAogICAgICAgICAgICAgICBzdmcvU1ZH
RXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5jcHAgXAogICAgICAgICAgICAgICBzdmcvU1ZHRkVC
bGVuZEVsZW1lbnQuY3BwIFwKICAgICAgICAgICAgICAgc3ZnL1NWR0ZFQ29sb3JNYXRyaXhFbGVt
ZW50LmNwcCBcCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZj
cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3Jl
LnZjcHJvagkocmV2aXNpb24gOTg2NzIpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJv
ai9XZWJDb3JlLnZjcHJvagkod29ya2luZyBjb3B5KQpAQCAtNDIzMjAsNiArNDIzMjAsMTAgQEAK
IAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5ceG1sXFhN
TEh0dHBSZXF1ZXN0RXhjZXB0aW9uLmNwcCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQog
CQkJCVJlbGF0aXZlUGF0aD0iLi5ceG1sXFhNTEh0dHBSZXF1ZXN0RXhjZXB0aW9uLmgiCiAJCQkJ
PgogCQkJPC9GaWxlPgpAQCAtNDIzNjgsNiArNDIzNzIsMTAgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+
CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5ceG1sXFhQYXRoRXhjZXB0aW9uLmNwcCIK
KwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5ceG1sXFhQ
YXRoRXhjZXB0aW9uLmgiCiAJCQkJPgogCQkJPC9GaWxlPgpAQCAtNDQ4NTAsNiArNDQ4NTgsNTgg
QEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9t
XERPTUNvcmVFeGNlcHRpb24uY3BwIgorCQkJCT4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJ
CQkJTmFtZT0iRGVidWd8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJ
CQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgor
CQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5h
bWU9IlJlbGVhc2V8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+
CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJ
CTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9
IkRlYnVnX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUi
CisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJ
CS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJ
CQkJTmFtZT0iUmVsZWFzZV9DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1
aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJU
b29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1
cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnX0FsbHxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVp
bGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRv
b2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3Vy
YXRpb24KKwkJCQkJTmFtZT0iUHJvZHVjdGlvbnxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVp
bGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRv
b2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCTwvRmlsZT4KKwkJCTxG
aWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21cRE9NSW1wbGVtZW50YXRpb24uY3BwIgogCQkJ
CT4KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KQEAgLTQ1NDc4LDcgKzQ1NTM4LDU5IEBACiAJCQkJ
PgogCQkJPC9GaWxlPgogCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxFdmVudERp
c3BhdGNNZWRpYXRvci5jcHAiCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21cRXZlbnREaXNwYXRj
aE1lZGlhdG9yLmNwcCIKKwkJCQk+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9
IkRlYnVnfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJ
CQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0Zp
bGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxl
YXNlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8
VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVD
b25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z19D
YWlyb19DRkxpdGV8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+
CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJ
CTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9
IlJlbGVhc2VfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1
ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJ
CQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgor
CQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVl
IgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJ
CQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJ
CQkJCU5hbWU9IlByb2R1Y3Rpb258V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVl
IgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJ
CQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJ
CVJlbGF0aXZlUGF0aD0iLi5cZG9tXEV2ZW50RXhjZXB0aW9uLmNwcCIKIAkJCQk+CiAJCQkJPEZp
bGVDb25maWd1cmF0aW9uCiAJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIgpAQCAtNDc0ODIsNiArNDc1
OTQsNTggQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0i
Li5cZG9tXFJhbmdlRXhjZXB0aW9uLmNwcCIKKwkJCQk+CisJCQkJPEZpbGVDb25maWd1cmF0aW9u
CisJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIK
KwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJ
Lz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJ
CQlOYW1lPSJSZWxlYXNlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJ
CQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4K
KwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlO
YW1lPSJEZWJ1Z19DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0
cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgor
CQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9u
CisJCQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZy
b21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBp
bGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29u
ZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJv
bUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGls
ZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25m
aWd1cmF0aW9uCisJCQkJCU5hbWU9IlByb2R1Y3Rpb258V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJv
bUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGls
ZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQk8L0ZpbGU+CisJ
CQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXFJhbmdlRXhjZXB0aW9uLmgiCiAJCQkJ
PgogCQkJPC9GaWxlPgpAQCAtNTI5MjYsNiArNTMwOTAsMTAgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+
CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZmlsZWFwaVxGaWxlRXhjZXB0aW9uLmNw
cCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5cZmls
ZWFwaVxGaWxlTGlzdC5jcHAiCiAJCQkJPgogCQkJPC9GaWxlPgpAQCAtNTMwMjYsNiArNTMxOTQs
MTQgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5c
ZmlsZWFwaVxPcGVyYXRpb25Ob3RBbGxvd2VkRXhjZXB0aW9uLmNwcCIKKwkJCQk+CisJCQk8L0Zp
bGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZmlsZWFwaVxPcGVyYXRpb25Ob3RB
bGxvd2VkRXhjZXB0aW9uLmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJCQlSZWxh
dGl2ZVBhdGg9Ii4uXGh0bWxcY2FudmFzXEZsb2F0MzJBcnJheS5jcHAiCiAJCQkJPgogCQkJPC9G
aWxlPgpAQCAtNjc2MDIsNiArNjc3NzgsMTAgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8Rmls
ZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cc3RvcmFnZVxTUUxFeGNlcHRpb24uY3BwIgorCQkJCT4K
KwkJCTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxzdG9yYWdlXFNRTEV4
Y2VwdGlvbi5oIgogCQkJCT4KIAkJCTwvRmlsZT4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDk4NjcyKQorKysg
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5n
IGNvcHkpCkBAIC0zMjY3LDYgKzMyNjcsMTYgQEAKIAkJOTc3RTJFMEYxMkYwRkM5QzAwQzEzMzc5
IC8qIFhTU0F1ZGl0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDk3N0UyRTBDMTJGMEZDOUMwMEMxMzM3OSAvKiBYU1NBdWRpdG9yLmggKi87IH07CiAJ
CTk3OEFENjc0MTQxMzBBOEQwMEM3Q0FFMyAvKiBIVE1MU3BhbkVsZW1lbnQuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTc4QUQ2NzExNDEzMEE4RDAw
QzdDQUUzIC8qIEhUTUxTcGFuRWxlbWVudC5jcHAgKi87IH07CiAJCTk3OEFENjc1MTQxMzBBOEQw
MEM3Q0FFMyAvKiBIVE1MU3BhbkVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDk3OEFENjcyMTQxMzBBOEQwMEM3Q0FFMyAvKiBIVE1MU3BhbkVs
ZW1lbnQuaCAqLzsgfTsKKwkJOTc4RDA3QjIxNDVBMEVCRDAwOTY5MDhEIC8qIElEQkRhdGFiYXNl
RXhjZXB0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDk3OEQwN0IxMTQ1QTBFQkQwMDk2OTA4RCAvKiBJREJEYXRhYmFzZUV4Y2VwdGlvbi5jcHAg
Ki87IH07CisJCTk3OEQwN0I0MTQ1QTBFQ0QwMDk2OTA4RCAvKiBTUUxFeGNlcHRpb24uY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTc4RDA3QjMxNDVB
MEVDRDAwOTY5MDhEIC8qIFNRTEV4Y2VwdGlvbi5jcHAgKi87IH07CisJCTk3OEQwN0I2MTQ1QTBG
MDMwMDk2OTA4RCAvKiBGaWxlRXhjZXB0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk3OEQwN0I1MTQ1QTBGMDMwMDk2OTA4RCAvKiBGaWxlRXhj
ZXB0aW9uLmNwcCAqLzsgfTsKKwkJOTc4RDA3QjgxNDVBMEYxQjAwOTY5MDhEIC8qIE9wZXJhdGlv
bk5vdEFsbG93ZWRFeGNlcHRpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gOTc4RDA3QjcxNDVBMEYxQjAwOTY5MDhEIC8qIE9wZXJhdGlvbk5vdEFs
bG93ZWRFeGNlcHRpb24uY3BwICovOyB9OworCQk5NzhEMDdCQTE0NUEwRjNDMDA5NjkwOEQgLyog
UmFuZ2VFeGNlcHRpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gOTc4RDA3QjkxNDVBMEYzQzAwOTY5MDhEIC8qIFJhbmdlRXhjZXB0aW9uLmNwcCAq
LzsgfTsKKwkJOTc4RDA3QkMxNDVBMEY1NjAwOTY5MDhEIC8qIEV2ZW50RXhjZXB0aW9uLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk3OEQwN0JCMTQ1
QTBGNTYwMDk2OTA4RCAvKiBFdmVudEV4Y2VwdGlvbi5jcHAgKi87IH07CisJCTk3OEQwN0JFMTQ1
QTBGNkMwMDk2OTA4RCAvKiBET01Db3JlRXhjZXB0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk3OEQwN0JEMTQ1QTBGNkMwMDk2OTA4RCAvKiBE
T01Db3JlRXhjZXB0aW9uLmNwcCAqLzsgfTsKKwkJOTc4RDA3Q0ExNDVBMTAxNjAwOTY5MDhEIC8q
IFNWR0V4Y2VwdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA5NzhEMDdDOTE0NUExMDE2MDA5NjkwOEQgLyogU1ZHRXhjZXB0aW9uLmNwcCAqLzsg
fTsKKwkJOTc4RDA3Q0MxNDVBMTAyRTAwOTY5MDhEIC8qIFhQYXRoRXhjZXB0aW9uLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk3OEQwN0NCMTQ1QTEw
MkUwMDk2OTA4RCAvKiBYUGF0aEV4Y2VwdGlvbi5jcHAgKi87IH07CisJCTk3OEQwN0NFMTQ1QTEw
MzcwMDk2OTA4RCAvKiBYTUxIdHRwUmVxdWVzdEV4Y2VwdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NzhEMDdDRDE0NUExMDM3MDA5NjkwOEQg
LyogWE1MSHR0cFJlcXVlc3RFeGNlcHRpb24uY3BwICovOyB9OwogCQk5NzlGNDNEMzEwNzVFNDRB
MDAwMEY4M0IgLyogTmF2aWdhdGlvblNjaGVkdWxlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NzlGNDNEMTEwNzVFNDRBMDAwMEY4M0IgLyogTmF2
aWdhdGlvblNjaGVkdWxlci5jcHAgKi87IH07CiAJCTk3OUY0M0Q0MTA3NUU0NEEwMDAwRjgzQiAv
KiBOYXZpZ2F0aW9uU2NoZWR1bGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA5NzlGNDNEMjEwNzVFNDRBMDAwMEY4M0IgLyogTmF2aWdhdGlvblNjaGVk
dWxlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CTk3QUEzQ0E1MTQ1MjM3Q0MwMDNFMURBNiAvKiBFdmVudFRhcmdldEhlYWRlcnMuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk3QUEzQ0EzMTQ1MjM3Q0Mw
MDNFMURBNiAvKiBFdmVudFRhcmdldEhlYWRlcnMuaCAqLzsgfTsKQEAgLTEwNDAzLDYgKzEwNDEz
LDE2IEBACiAJCTk3OEFENjcxMTQxMzBBOEQwMEM3Q0FFMyAvKiBIVE1MU3BhbkVsZW1lbnQuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSFRNTFNwYW5FbGVtZW50LmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTc4QUQ2NzIxNDEzMEE4RDAwQzdDQUUz
IC8qIEhUTUxTcGFuRWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBI
VE1MU3BhbkVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTc4QUQ2NzMx
NDEzMEE4RDAwQzdDQUUzIC8qIEhUTUxTcGFuRWxlbWVudC5pZGwgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBw
YXRoID0gSFRNTFNwYW5FbGVtZW50LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
OTc4RDA3QjExNDVBMEVCRDAwOTY5MDhEIC8qIElEQkRhdGFiYXNlRXhjZXB0aW9uLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IElEQkRhdGFiYXNlRXhjZXB0aW9uLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTc4RDA3QjMxNDVBMEVDRDAwOTY5MDhE
IC8qIFNRTEV4Y2VwdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBTUUxFeGNlcHRpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5NzhEMDdC
NTE0NUEwRjAzMDA5NjkwOEQgLyogRmlsZUV4Y2VwdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IG5hbWUgPSBGaWxlRXhjZXB0aW9uLmNwcDsgcGF0aCA9IGZpbGVhcGkvRmls
ZUV4Y2VwdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTk3OEQwN0I3MTQ1
QTBGMUIwMDk2OTA4RCAvKiBPcGVyYXRpb25Ob3RBbGxvd2VkRXhjZXB0aW9uLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IE9wZXJhdGlvbk5vdEFsbG93ZWRFeGNlcHRp
b24uY3BwOyBwYXRoID0gZmlsZWFwaS9PcGVyYXRpb25Ob3RBbGxvd2VkRXhjZXB0aW9uLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTc4RDA3QjkxNDVBMEYzQzAwOTY5MDhEIC8q
IFJhbmdlRXhjZXB0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IFJhbmdlRXhjZXB0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTc4RDA3
QkIxNDVBMEY1NjAwOTY5MDhEIC8qIEV2ZW50RXhjZXB0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEV2ZW50RXhjZXB0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJOTc4RDA3QkQxNDVBMEY2QzAwOTY5MDhEIC8qIERPTUNvcmVFeGNlcHRp
b24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRE9NQ29yZUV4Y2Vw
dGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTk3OEQwN0M5MTQ1QTEwMTYw
MDk2OTA4RCAvKiBTVkdFeGNlcHRpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gU1ZHRXhjZXB0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
OTc4RDA3Q0IxNDVBMTAyRTAwOTY5MDhEIC8qIFhQYXRoRXhjZXB0aW9uLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFhQYXRoRXhjZXB0aW9uLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTc4RDA3Q0QxNDVBMTAzNzAwOTY5MDhEIC8qIFhNTEh0dHBS
ZXF1ZXN0RXhjZXB0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IFhNTEh0dHBSZXF1ZXN0RXhjZXB0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJOTc5RjQzRDExMDc1RTQ0QTAwMDBGODNCIC8qIE5hdmlnYXRpb25TY2hlZHVsZXIuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTmF2aWdhdGlvblNjaGVkdWxlci5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk3OUY0M0QyMTA3NUU0NEEwMDAwRjgz
QiAvKiBOYXZpZ2F0aW9uU2NoZWR1bGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IE5hdmlnYXRpb25TY2hlZHVsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
OTdBQTNDQTMxNDUyMzdDQzAwM0UxREE2IC8qIEV2ZW50VGFyZ2V0SGVhZGVycy5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBFdmVudFRhcmdldEhlYWRlcnMuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE0MjAzLDYgKzE0MjIzLDcgQEAKIAkJCQlCNjE3NjI1MzEy
MDMzNzRGMDBFRjkxMTQgLyogSURCRGF0YWJhc2VCYWNrZW5kSW50ZXJmYWNlLmggKi8sCiAJCQkJ
QzU4NUE2OUQxMUQ0RkIzRDAwNEMzRTRCIC8qIElEQkRhdGFiYXNlRXJyb3IuaCAqLywKIAkJCQlD
NTg1QTY5RTExRDRGQjNEMDA0QzNFNEIgLyogSURCRGF0YWJhc2VFcnJvci5pZGwgKi8sCisJCQkJ
OTc4RDA3QjExNDVBMEVCRDAwOTY5MDhEIC8qIElEQkRhdGFiYXNlRXhjZXB0aW9uLmNwcCAqLywK
IAkJCQlDNTg1QTY5RjExRDRGQjNEMDA0QzNFNEIgLyogSURCRGF0YWJhc2VFeGNlcHRpb24uaCAq
LywKIAkJCQlDNTg1QTZBMDExRDRGQjNEMDA0QzNFNEIgLyogSURCRGF0YWJhc2VFeGNlcHRpb24u
aWRsICovLAogCQkJCUM1ODVBNkM5MTFENEZCM0QwMDRDM0U0QiAvKiBJREJGYWN0b3J5LmNwcCAq
LywKQEAgLTE0MjQ4LDYgKzE0MjY5LDcgQEAKIAkJCQkyNDVEODBBMjEzMjgwRTQwMDAzNDkyQTYg
LyogU1FMQ2FsbGJhY2tXcmFwcGVyLmggKi8sCiAJCQkJNTFFQzkyNTcwQ0U5MERCNDAwRjkwMzA4
IC8qIFNRTEVycm9yLmggKi8sCiAJCQkJNTFFQzkyNTgwQ0U5MERCNDAwRjkwMzA4IC8qIFNRTEVy
cm9yLmlkbCAqLywKKwkJCQk5NzhEMDdCMzE0NUEwRUNEMDA5NjkwOEQgLyogU1FMRXhjZXB0aW9u
LmNwcCAqLywKIAkJCQlCNTZFQkE4MzExQzlGRjgxMDBCMDQ0NzcgLyogU1FMRXhjZXB0aW9uLmgg
Ki8sCiAJCQkJQjU2RUJBODQxMUM5RkY4MTAwQjA0NDc3IC8qIFNRTEV4Y2VwdGlvbi5pZGwgKi8s
CiAJCQkJNTE5NjExNjcwQ0FDNTY1NzAwMTBBODBDIC8qIFNRTFJlc3VsdFNldC5jcHAgKi8sCkBA
IC0xNzM0MSw2ICsxNzM2Myw3IEBACiAJCQkJODkzQzQ3RkUxMjQ4QkQzOTAwMkIzRDg2IC8qIEZp
bGVFbnRyeVN5bmMuY3BwICovLAogCQkJCTg5M0M0N0ZGMTI0OEJEMzkwMDJCM0Q4NiAvKiBGaWxl
RW50cnlTeW5jLmggKi8sCiAJCQkJOTc2RDZDNjQxMjJCOEEzRDAwMUZEMUY3IC8qIEZpbGVFcnJv
ci5oICovLAorCQkJCTk3OEQwN0I1MTQ1QTBGMDMwMDk2OTA4RCAvKiBGaWxlRXhjZXB0aW9uLmNw
cCAqLywKIAkJCQkyRURGMzY5RTEyMkM5NEM4MDAyRjdENEUgLyogRmlsZUV4Y2VwdGlvbi5oICov
LAogCQkJCTk3NkQ2QzY2MTIyQjhBM0QwMDFGRDFGNyAvKiBGaWxlTGlzdC5jcHAgKi8sCiAJCQkJ
OTc2RDZDNjcxMjJCOEEzRDAwMUZEMUY3IC8qIEZpbGVMaXN0LmggKi8sCkBAIC0xNzM3NCw2ICsx
NzM5Nyw3IEBACiAJCQkJODk4Nzg1NEYxMjJDQTA2NDAwM0FBQkRBIC8qIExvY2FsRmlsZVN5c3Rl
bS5oICovLAogCQkJCTg5ODc4NTUwMTIyQ0EwNjQwMDNBQUJEQSAvKiBNZXRhZGF0YS5oICovLAog
CQkJCTg5ODc4NTUxMTIyQ0EwNjQwMDNBQUJEQSAvKiBNZXRhZGF0YUNhbGxiYWNrLmggKi8sCisJ
CQkJOTc4RDA3QjcxNDVBMEYxQjAwOTY5MDhEIC8qIE9wZXJhdGlvbk5vdEFsbG93ZWRFeGNlcHRp
b24uY3BwICovLAogCQkJCTJFMjQ0NUY1MTM5NTg5M0EwMDRCNkMxOSAvKiBPcGVyYXRpb25Ob3RB
bGxvd2VkRXhjZXB0aW9uLmggKi8sCiAJCQkJMkUyNDQ1RjYxMzk1ODkzQTAwNEI2QzE5IC8qIE9w
ZXJhdGlvbk5vdEFsbG93ZWRFeGNlcHRpb24uaWRsICovLAogCQkJCTk3NkQ2Qzc1MTIyQjhBM0Qw
MDFGRDFGNyAvKiBUaHJlYWRhYmxlQmxvYlJlZ2lzdHJ5LmNwcCAqLywKQEAgLTE4NTM4LDYgKzE4
NTYyLDcgQEAKIAkJCQlCMjIyNzgyOTBEMDBCRjFGMDA3MUI3ODIgLyogU1ZHRWxsaXBzZUVsZW1l
bnQuY3BwICovLAogCQkJCUIyMjI3ODJBMEQwMEJGMUYwMDcxQjc4MiAvKiBTVkdFbGxpcHNlRWxl
bWVudC5oICovLAogCQkJCUIyMjI3ODJCMEQwMEJGMUYwMDcxQjc4MiAvKiBTVkdFbGxpcHNlRWxl
bWVudC5pZGwgKi8sCisJCQkJOTc4RDA3QzkxNDVBMTAxNjAwOTY5MDhEIC8qIFNWR0V4Y2VwdGlv
bi5jcHAgKi8sCiAJCQkJQjIyMjc4MkMwRDAwQkYxRjAwNzFCNzgyIC8qIFNWR0V4Y2VwdGlvbi5o
ICovLAogCQkJCUIyMjI3ODJEMEQwMEJGMUYwMDcxQjc4MiAvKiBTVkdFeGNlcHRpb24uaWRsICov
LAogCQkJCUIyMjI3ODJFMEQwMEJGMUYwMDcxQjc4MiAvKiBTVkdFeHRlcm5hbFJlc291cmNlc1Jl
cXVpcmVkLmNwcCAqLywKQEAgLTIwMzA4LDYgKzIwMzMzLDcgQEAKIAkJCQlCQzc3MkM0NDBDNEVC
MkM2MDA4MzI4NUYgLyogWE1MSHR0cFJlcXVlc3QuY3BwICovLAogCQkJCUJDNzcyQzQ1MEM0RUIy
QzYwMDgzMjg1RiAvKiBYTUxIdHRwUmVxdWVzdC5oICovLAogCQkJCUJDMzQ4QkE3MERCN0YxQjgw
MDRBQkFCOSAvKiBYTUxIdHRwUmVxdWVzdC5pZGwgKi8sCisJCQkJOTc4RDA3Q0QxNDVBMTAzNzAw
OTY5MDhEIC8qIFhNTEh0dHBSZXF1ZXN0RXhjZXB0aW9uLmNwcCAqLywKIAkJCQlCQzYwRDlDNzBE
MkEyOUU1MDBCOTkxOEYgLyogWE1MSHR0cFJlcXVlc3RFeGNlcHRpb24uaCAqLywKIAkJCQlCQzYw
RDlDODBEMkEyOUU1MDBCOTkxOEYgLyogWE1MSHR0cFJlcXVlc3RFeGNlcHRpb24uaWRsICovLAog
CQkJCUY5RjBFRDc3MERCNTBDQTIwMEQxNkRCOSAvKiBYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZl
bnQuaCAqLywKQEAgLTIwMzI3LDYgKzIwMzUzLDcgQEAKIAkJCQkxQUI3RkM0NzBBOEI5MkVDMDBE
OUQzN0IgLyogWFBhdGhFdmFsdWF0b3IuY3BwICovLAogCQkJCTFBQjdGQzQ4MEE4QjkyRUMwMEQ5
RDM3QiAvKiBYUGF0aEV2YWx1YXRvci5oICovLAogCQkJCTFBQjdGQzQ5MEE4QjkyRUMwMEQ5RDM3
QiAvKiBYUGF0aEV2YWx1YXRvci5pZGwgKi8sCisJCQkJOTc4RDA3Q0IxNDVBMTAyRTAwOTY5MDhE
IC8qIFhQYXRoRXhjZXB0aW9uLmNwcCAqLywKIAkJCQlCQzYwREE1OTBEMkEzMUY3MDBCOTkxOEYg
LyogWFBhdGhFeGNlcHRpb24uaCAqLywKIAkJCQlCQzYwREE1QTBEMkEzMUY3MDBCOTkxOEYgLyog
WFBhdGhFeGNlcHRpb24uaWRsICovLAogCQkJCTFBQjdGQzRBMEE4QjkyRUMwMEQ5RDM3QiAvKiBY
UGF0aEV4cHJlc3Npb24uY3BwICovLApAQCAtMjA5MzEsNiArMjA5NTgsNyBAQAogCQkJCUE4MTg1
RjMyMDk3NjU3NjUwMDU4MjZEOSAvKiBEb2N1bWVudFR5cGUuY3BwICovLAogCQkJCUE4MTg1RjMx
MDk3NjU3NjUwMDU4MjZEOSAvKiBEb2N1bWVudFR5cGUuaCAqLywKIAkJCQk5M0VFQzFFODA5QzI4
Nzc3MDBDNTE1RDEgLyogRG9jdW1lbnRUeXBlLmlkbCAqLywKKwkJCQk5NzhEMDdCRDE0NUEwRjZD
MDA5NjkwOEQgLyogRE9NQ29yZUV4Y2VwdGlvbi5jcHAgKi8sCiAJCQkJQkM2MEQ2RTgwRDI4RDgz
NDAwQjk5MThGIC8qIERPTUNvcmVFeGNlcHRpb24uaCAqLywKIAkJCQlCQzYwRDZFQjBEMjhEOTk5
MDBCOTkxOEYgLyogRE9NQ29yZUV4Y2VwdGlvbi5pZGwgKi8sCiAJCQkJQTgxODVGMzYwOTc2NTc2
NTAwNTgyNkQ5IC8qIERPTUltcGxlbWVudGF0aW9uLmNwcCAqLywKQEAgLTIwOTY4LDYgKzIwOTk2
LDcgQEAKIAkJCQk0QUYxQUQzRDEzRkQyM0E0MDBBQTk1OTAgLyogRXZlbnREaXNwYXRjaE1lZGlh
dG9yLmggKi8sCiAJCQkJNDE4QTA2Q0YxMzNDMDRENTAwQ0QzNzlDIC8qIEV2ZW50RGlzcGF0Y2hl
ci5jcHAgKi8sCiAJCQkJNDE4QTA2Q0UxMzNDMDRENTAwQ0QzNzlDIC8qIEV2ZW50RGlzcGF0Y2hl
ci5oICovLAorCQkJCTk3OEQwN0JCMTQ1QTBGNTYwMDk2OTA4RCAvKiBFdmVudEV4Y2VwdGlvbi5j
cHAgKi8sCiAJCQkJQkM2MEQ5MDkwRDJBMTdDRTAwQjk5MThGIC8qIEV2ZW50RXhjZXB0aW9uLmgg
Ki8sCiAJCQkJQkM2MEQ5MEEwRDJBMTdDRTAwQjk5MThGIC8qIEV2ZW50RXhjZXB0aW9uLmlkbCAq
LywKIAkJCQk5NzY2NTAxMTE0NEZBQTQyMDBGNkJCNTEgLyogRXZlbnRGYWN0b3J5LmggKi8sCkBA
IC0yMTA3OCw2ICsyMTEwNyw3IEBACiAJCQkJRjUyM0QzMDQwMkRFNDQ3NjAxODYzNUNBIC8qIFJh
bmdlLmggKi8sCiAJCQkJOTM2REQwM0EwOUNFQUMyNzAwNTZBRThDIC8qIFJhbmdlLmlkbCAqLywK
IAkJCQk5M0Q5RDUzQjBEQTI3RTE4MDA3NzIxNkMgLyogUmFuZ2VCb3VuZGFyeVBvaW50LmggKi8s
CisJCQkJOTc4RDA3QjkxNDVBMEYzQzAwOTY5MDhEIC8qIFJhbmdlRXhjZXB0aW9uLmNwcCAqLywK
IAkJCQlEMjNDQTU2QjBBQjBFQjhEMDA1MTA4QTUgLyogUmFuZ2VFeGNlcHRpb24uaCAqLywKIAkJ
CQlEMjNDQTU0ODBBQjBFOTgzMDA1MTA4QTUgLyogUmFuZ2VFeGNlcHRpb24uaWRsICovLAogCQkJ
CUE4NEQ4MjdCMTFEMzMzRUQwMDk3Mjk5MCAvKiBSYXdEYXRhRG9jdW1lbnRQYXJzZXIuaCAqLywK
QEAgLTI3MzI4LDYgKzI3MzU4LDE2IEBACiAJCQkJMzEwNjAzN0ExNDMyODFDRDAwQUJGNEJBIC8q
IERPTVdlYktpdENTU0ZpbHRlclZhbHVlLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMjlBQ0IyMTQx
NDNFNzQ5ODAwNkJDQTVGIC8qIEFjY2Vzc2liaWxpdHlNb2NrT2JqZWN0LmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTI5RDdCQ0Y2MTQ0NEFGNTgwMDcwNjE5QyAvKiBBY2Nlc3NpYmlsaXR5U3BpbkJ1
dHRvbi5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk5NzhEMDdCMjE0NUEwRUJEMDA5NjkwOEQgLyog
SURCRGF0YWJhc2VFeGNlcHRpb24uY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJOTc4RDA3QjQxNDVB
MEVDRDAwOTY5MDhEIC8qIFNRTEV4Y2VwdGlvbi5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk5NzhE
MDdCNjE0NUEwRjAzMDA5NjkwOEQgLyogRmlsZUV4Y2VwdGlvbi5jcHAgaW4gU291cmNlcyAqLywK
KwkJCQk5NzhEMDdCODE0NUEwRjFCMDA5NjkwOEQgLyogT3BlcmF0aW9uTm90QWxsb3dlZEV4Y2Vw
dGlvbi5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk5NzhEMDdCQTE0NUEwRjNDMDA5NjkwOEQgLyog
UmFuZ2VFeGNlcHRpb24uY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJOTc4RDA3QkMxNDVBMEY1NjAw
OTY5MDhEIC8qIEV2ZW50RXhjZXB0aW9uLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTk3OEQwN0JF
MTQ1QTBGNkMwMDk2OTA4RCAvKiBET01Db3JlRXhjZXB0aW9uLmNwcCBpbiBTb3VyY2VzICovLAor
CQkJCTk3OEQwN0NBMTQ1QTEwMTYwMDk2OTA4RCAvKiBTVkdFeGNlcHRpb24uY3BwIGluIFNvdXJj
ZXMgKi8sCisJCQkJOTc4RDA3Q0MxNDVBMTAyRTAwOTY5MDhEIC8qIFhQYXRoRXhjZXB0aW9uLmNw
cCBpbiBTb3VyY2VzICovLAorCQkJCTk3OEQwN0NFMTQ1QTEwMzcwMDk2OTA4RCAvKiBYTUxIdHRw
UmVxdWVzdEV4Y2VwdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjA5MDg3RjE0NDRGREIy
MDAwMjg5MTcgLyogU2Nyb2xsYmFyVGhlbWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOUIzNzVF
REExNDQ3OEEwMTAwRjNDQUU1IC8qIE1pY3JvRGF0YUl0ZW1MaXN0LmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTQ5QUYyRDZDMTQ0MzVEMjEwMDE2QTc4NCAvKiBEaXNwbGF5UmVmcmVzaE1vbml0b3JN
YWMuY3BwIGluIFNvdXJjZXMgKi8sCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRE9NQWxsSW5P
bmUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9ET01BbGxJbk9uZS5jcHAJ
KHJldmlzaW9uIDk4NjcyKQorKysgU291cmNlL1dlYkNvcmUvZG9tL0RPTUFsbEluT25lLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNDQsNiArNDQsNyBAQAogI2luY2x1ZGUgIkNvbXBvc2l0aW9uRXZl
bnQuY3BwIgogI2luY2x1ZGUgIkNvbnRhaW5lck5vZGUuY3BwIgogI2luY2x1ZGUgIkN1c3RvbUV2
ZW50LmNwcCIKKyNpbmNsdWRlICJET01Db3JlRXhjZXB0aW9uLmNwcCIKICNpbmNsdWRlICJET01J
bXBsZW1lbnRhdGlvbi5jcHAiCiAjaW5jbHVkZSAiRE9NU3RyaW5nTGlzdC5jcHAiCiAjaW5jbHVk
ZSAiRE9NU3RyaW5nTWFwLmNwcCIKQEAgLTcyLDYgKzczLDcgQEAKICNpbmNsdWRlICJFdmVudENv
bnRleHQuY3BwIgogI2luY2x1ZGUgIkV2ZW50RGlzcGF0Y2hNZWRpYXRvci5jcHAiCiAjaW5jbHVk
ZSAiRXZlbnREaXNwYXRjaGVyLmNwcCIKKyNpbmNsdWRlICJFdmVudEV4Y2VwdGlvbi5jcHAiCiAj
aW5jbHVkZSAiRXZlbnRMaXN0ZW5lck1hcC5jcHAiCiAjaW5jbHVkZSAiRXZlbnROYW1lcy5jcHAi
CiAjaW5jbHVkZSAiRXZlbnRUYXJnZXQuY3BwIgpAQCAtMTAyLDYgKzEwNCw3IEBACiAjaW5jbHVk
ZSAiUHJvY2Vzc2luZ0luc3RydWN0aW9uLmNwcCIKICNpbmNsdWRlICJQcm9ncmVzc0V2ZW50LmNw
cCIKICNpbmNsdWRlICJSYW5nZS5jcHAiCisjaW5jbHVkZSAiUmFuZ2VFeGNlcHRpb24uY3BwIgog
I2luY2x1ZGUgIlJlZ2lzdGVyZWRFdmVudExpc3RlbmVyLmNwcCIKICNpbmNsdWRlICJTY29wZWRF
dmVudFF1ZXVlLmNwcCIKICNpbmNsdWRlICJTY3JpcHRFbGVtZW50LmNwcCIKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2RvbS9ET01Db3JlRXhjZXB0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9kb20vRE9NQ29yZUV4Y2VwdGlvbi5jcHAJKHJldmlzaW9uIDApCisrKyBTb3VyY2Uv
V2ViQ29yZS9kb20vRE9NQ29yZUV4Y2VwdGlvbi5jcHAJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEs
MTA5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiAgTmVpdGhlciB0aGUgbmFtZSBvZiBB
cHBsZSBDb21wdXRlciwgSW5jLiAoIkFwcGxlIikgbm9yIHRoZSBuYW1lcyBvZgorICogICAgIGl0
cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQKKyAqICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBHT09HTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJET01Db3JlRXhjZXB0aW9u
LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworLy8gRklYTUU6IFRoaXMgc2hvdWxkIGJlIGFu
IGFycmF5IG9mIHN0cnVjdHMgdG8gcGFpciB0aGUgbmFtZXMgYW5kIGRlc2NyaXB0aW9ucy4KK3N0
YXRpYyBjb25zdCBjaGFyKiBjb25zdCBleGNlcHRpb25OYW1lc1tdID0geworICAgICJJTkRFWF9T
SVpFX0VSUiIsCisgICAgIkRPTVNUUklOR19TSVpFX0VSUiIsCisgICAgIkhJRVJBUkNIWV9SRVFV
RVNUX0VSUiIsCisgICAgIldST05HX0RPQ1VNRU5UX0VSUiIsCisgICAgIklOVkFMSURfQ0hBUkFD
VEVSX0VSUiIsCisgICAgIk5PX0RBVEFfQUxMT1dFRF9FUlIiLAorICAgICJOT19NT0RJRklDQVRJ
T05fQUxMT1dFRF9FUlIiLAorICAgICJOT1RfRk9VTkRfRVJSIiwKKyAgICAiTk9UX1NVUFBPUlRF
RF9FUlIiLAorICAgICJJTlVTRV9BVFRSSUJVVEVfRVJSIiwKKyAgICAiSU5WQUxJRF9TVEFURV9F
UlIiLAorICAgICJTWU5UQVhfRVJSIiwKKyAgICAiSU5WQUxJRF9NT0RJRklDQVRJT05fRVJSIiwK
KyAgICAiTkFNRVNQQUNFX0VSUiIsCisgICAgIklOVkFMSURfQUNDRVNTX0VSUiIsCisgICAgIlZB
TElEQVRJT05fRVJSIiwKKyAgICAiVFlQRV9NSVNNQVRDSF9FUlIiLAorICAgICJTRUNVUklUWV9F
UlIiLAorICAgICJORVRXT1JLX0VSUiIsCisgICAgIkFCT1JUX0VSUiIsCisgICAgIlVSTF9NSVNN
QVRDSF9FUlIiLAorICAgICJRVU9UQV9FWENFRURFRF9FUlIiLAorICAgICJUSU1FT1VUX0VSUiIs
CisgICAgIklOVkFMSURfTk9ERV9UWVBFX0VSUiIsCisgICAgIkRBVEFfQ0xPTkVfRVJSIgorfTsK
Kworc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IGV4Y2VwdGlvbkRlc2NyaXB0aW9uc1tdID0gewor
ICAgICJJbmRleCBvciBzaXplIHdhcyBuZWdhdGl2ZSwgb3IgZ3JlYXRlciB0aGFuIHRoZSBhbGxv
d2VkIHZhbHVlLiIsCisgICAgIlRoZSBzcGVjaWZpZWQgcmFuZ2Ugb2YgdGV4dCBkaWQgbm90IGZp
dCBpbnRvIGEgRE9NU3RyaW5nLiIsCisgICAgIkEgTm9kZSB3YXMgaW5zZXJ0ZWQgc29tZXdoZXJl
IGl0IGRvZXNuJ3QgYmVsb25nLiIsCisgICAgIkEgTm9kZSB3YXMgdXNlZCBpbiBhIGRpZmZlcmVu
dCBkb2N1bWVudCB0aGFuIHRoZSBvbmUgdGhhdCBjcmVhdGVkIGl0ICh0aGF0IGRvZXNuJ3Qgc3Vw
cG9ydCBpdCkuIiwKKyAgICAiQW4gaW52YWxpZCBvciBpbGxlZ2FsIGNoYXJhY3RlciB3YXMgc3Bl
Y2lmaWVkLCBzdWNoIGFzIGluIGFuIFhNTCBuYW1lLiIsCisgICAgIkRhdGEgd2FzIHNwZWNpZmll
ZCBmb3IgYSBOb2RlIHdoaWNoIGRvZXMgbm90IHN1cHBvcnQgZGF0YS4iLAorICAgICJBbiBhdHRl
bXB0IHdhcyBtYWRlIHRvIG1vZGlmeSBhbiBvYmplY3Qgd2hlcmUgbW9kaWZpY2F0aW9ucyBhcmUg
bm90IGFsbG93ZWQuIiwKKyAgICAiQW4gYXR0ZW1wdCB3YXMgbWFkZSB0byByZWZlcmVuY2UgYSBO
b2RlIGluIGEgY29udGV4dCB3aGVyZSBpdCBkb2VzIG5vdCBleGlzdC4iLAorICAgICJUaGUgaW1w
bGVtZW50YXRpb24gZGlkIG5vdCBzdXBwb3J0IHRoZSByZXF1ZXN0ZWQgdHlwZSBvZiBvYmplY3Qg
b3Igb3BlcmF0aW9uLiIsCisgICAgIkFuIGF0dGVtcHQgd2FzIG1hZGUgdG8gYWRkIGFuIGF0dHJp
YnV0ZSB0aGF0IGlzIGFscmVhZHkgaW4gdXNlIGVsc2V3aGVyZS4iLAorICAgICJBbiBhdHRlbXB0
IHdhcyBtYWRlIHRvIHVzZSBhbiBvYmplY3QgdGhhdCBpcyBub3QsIG9yIGlzIG5vIGxvbmdlciwg
dXNhYmxlLiIsCisgICAgIkFuIGludmFsaWQgb3IgaWxsZWdhbCBzdHJpbmcgd2FzIHNwZWNpZmll
ZC4iLAorICAgICJBbiBhdHRlbXB0IHdhcyBtYWRlIHRvIG1vZGlmeSB0aGUgdHlwZSBvZiB0aGUg
dW5kZXJseWluZyBvYmplY3QuIiwKKyAgICAiQW4gYXR0ZW1wdCB3YXMgbWFkZSB0byBjcmVhdGUg
b3IgY2hhbmdlIGFuIG9iamVjdCBpbiBhIHdheSB3aGljaCBpcyBpbmNvcnJlY3Qgd2l0aCByZWdh
cmQgdG8gbmFtZXNwYWNlcy4iLAorICAgICJBIHBhcmFtZXRlciBvciBhbiBvcGVyYXRpb24gd2Fz
IG5vdCBzdXBwb3J0ZWQgYnkgdGhlIHVuZGVybHlpbmcgb2JqZWN0LiIsCisgICAgIkEgY2FsbCB0
byBhIG1ldGhvZCBzdWNoIGFzIGluc2VydEJlZm9yZSBvciByZW1vdmVDaGlsZCB3b3VsZCBtYWtl
IHRoZSBOb2RlIGludmFsaWQgd2l0aCByZXNwZWN0IHRvIFwicGFydGlhbCB2YWxpZGl0eVwiLCB0
aGlzIGV4Y2VwdGlvbiB3b3VsZCBiZSByYWlzZWQgYW5kIHRoZSBvcGVyYXRpb24gd291bGQgbm90
IGJlIGRvbmUuIiwKKyAgICAiVGhlIHR5cGUgb2YgYW4gb2JqZWN0IHdhcyBpbmNvbXBhdGlibGUg
d2l0aCB0aGUgZXhwZWN0ZWQgdHlwZSBvZiB0aGUgcGFyYW1ldGVyIGFzc29jaWF0ZWQgdG8gdGhl
IG9iamVjdC4iLAorICAgICJBbiBhdHRlbXB0IHdhcyBtYWRlIHRvIGJyZWFrIHRocm91Z2ggdGhl
IHNlY3VyaXR5IHBvbGljeSBvZiB0aGUgdXNlciBhZ2VudC4iLAorICAgIC8vIEZJWE1FOiBDb3Vs
ZG4ndCBmaW5kIGEgZGVzY3JpcHRpb24gaW4gdGhlIEhUTUwvRE9NIHNwZWNpZmljYXRpb25zIGZv
ciBORVRXT1JLX0VSUiwgQUJPUlRfRVJSLCBVUkxfTUlTTUFUQ0hfRVJSLCBhbmQgUVVPVEFfRVhD
RUVERURfRVJSCisgICAgIkEgbmV0d29yayBlcnJvciBvY2N1cmVkLiIsCisgICAgIlRoZSB1c2Vy
IGFib3J0ZWQgYSByZXF1ZXN0LiIsCisgICAgIkEgd29ya2VyIGdsb2JhbCBzY29wZSByZXByZXNl
bnRlZCBhbiBhYnNvbHV0ZSBVUkwgdGhhdCBpcyBub3QgZXF1YWwgdG8gdGhlIHJlc3VsdGluZyBh
YnNvbHV0ZSBVUkwuIiwKKyAgICAiQW4gYXR0ZW1wdCB3YXMgbWFkZSB0byBhZGQgc29tZXRoaW5n
IHRvIHN0b3JhZ2UgdGhhdCBleGNlZWRlZCB0aGUgcXVvdGEuIiwKKyAgICAiQSB0aW1lb3V0IG9j
Y3VycmVkLiIsCisgICAgIlRoZSBzdXBwbGllZCBub2RlIGlzIGludmFsaWQgb3IgaGFzIGFuIGlu
dmFsaWQgYW5jZXN0b3IgZm9yIHRoaXMgb3BlcmF0aW9uLiIsCisgICAgIkFuIG9iamVjdCBjb3Vs
ZCBub3QgYmUgY2xvbmVkLiIKK307CisKK0NPTVBJTEVfQVNTRVJUKFdURl9BUlJBWV9MRU5HVEgo
ZXhjZXB0aW9uTmFtZXMpID09IFdURl9BUlJBWV9MRU5HVEgoZXhjZXB0aW9uRGVzY3JpcHRpb25z
KSwgRE9NQ29yZUV4Y2VwdGlvblRhYmxlc011c3RNYXRjaCk7CisKK2Jvb2wgRE9NQ29yZUV4Y2Vw
dGlvbjo6aW5pdGlhbGl6ZURlc2NyaXB0aW9uKEV4Y2VwdGlvbkNvZGUgZWMsIEV4Y2VwdGlvbkNv
ZGVEZXNjcmlwdGlvbiogZGVzY3JpcHRpb24pCit7CisgICAgZGVzY3JpcHRpb24tPnR5cGVOYW1l
ID0gIkRPTSI7CisgICAgZGVzY3JpcHRpb24tPmNvZGUgPSBlYzsKKyAgICBkZXNjcmlwdGlvbi0+
dHlwZSA9IERPTUV4Y2VwdGlvblR5cGU7CisKKyAgICBzaXplX3QgdGFibGVTaXplID0gV1RGX0FS
UkFZX0xFTkdUSChleGNlcHRpb25OYW1lcyk7CisgICAgc2l6ZV90IHRhYmxlSW5kZXggPSBlYyAt
IElOREVYX1NJWkVfRVJSOworCisgICAgZGVzY3JpcHRpb24tPm5hbWUgPSB0YWJsZUluZGV4IDwg
dGFibGVTaXplID8gZXhjZXB0aW9uTmFtZXNbdGFibGVJbmRleF0gOiAwOworICAgIGRlc2NyaXB0
aW9uLT5kZXNjcmlwdGlvbiA9IHRhYmxlSW5kZXggPCB0YWJsZVNpemUgPyBleGNlcHRpb25EZXNj
cmlwdGlvbnNbdGFibGVJbmRleF0gOiAwOworCisgICAgcmV0dXJuIHRydWU7Cit9CisKK30gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9ET01Db3JlRXhjZXB0
aW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0RPTUNvcmVFeGNlcHRpb24u
aAkocmV2aXNpb24gOTg2NzIpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRE9NQ29yZUV4Y2VwdGlv
bi5oCSh3b3JraW5nIGNvcHkpCkBAIC00MCw2ICs0MCw4IEBAIHB1YmxpYzoKICAgICAgICAgcmV0
dXJuIGFkb3B0UmVmKG5ldyBET01Db3JlRXhjZXB0aW9uKGRlc2NyaXB0aW9uKSk7CiAgICAgfQog
CisgICAgc3RhdGljIGJvb2wgaW5pdGlhbGl6ZURlc2NyaXB0aW9uKEV4Y2VwdGlvbkNvZGUsIEV4
Y2VwdGlvbkNvZGVEZXNjcmlwdGlvbiopOworCiBwcml2YXRlOgogICAgIERPTUNvcmVFeGNlcHRp
b24oY29uc3QgRXhjZXB0aW9uQ29kZURlc2NyaXB0aW9uJiBkZXNjcmlwdGlvbikKICAgICAgICAg
OiBFeGNlcHRpb25CYXNlKGRlc2NyaXB0aW9uKQpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0V2
ZW50RXhjZXB0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRF
eGNlcHRpb24uY3BwCShyZXZpc2lvbiAwKQorKysgU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50RXhj
ZXB0aW9uLmNwcAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw2NSBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICogMy4gIE5laXRoZXIgdGhlIG5hbWUgb2YgQXBwbGUgQ29tcHV0ZXIsIEluYy4gKCJB
cHBsZSIpIG5vciB0aGUgbmFtZXMgb2YKKyAqICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCisgKiAgICAgZnJvbSB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgR09PR0xFIEFORCBJVFMgQ09OVFJJ
QlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29u
ZmlnLmgiCisjaW5jbHVkZSAiRXZlbnRFeGNlcHRpb24uaCIKKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCisvLyBGSVhNRTogVGhpcyBzaG91bGQgYmUgYW4gYXJyYXkgb2Ygc3RydWN0cyB0byBwYWly
IHRoZSBuYW1lcyBhbmQgZGVzY3JpcHRpb25zLgorc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IGV4
Y2VwdGlvbk5hbWVzW10gPSB7CisgICAgIlVOU1BFQ0lGSUVEX0VWRU5UX1RZUEVfRVJSIiwKKyAg
ICAiRElTUEFUQ0hfUkVRVUVTVF9FUlIiCit9OworCitzdGF0aWMgY29uc3QgY2hhciogY29uc3Qg
ZXhjZXB0aW9uRGVzY3JpcHRpb25zW10gPSB7CisgICAgIlRoZSBFdmVudCdzIHR5cGUgd2FzIG5v
dCBzcGVjaWZpZWQgYnkgaW5pdGlhbGl6aW5nIHRoZSBldmVudCBiZWZvcmUgdGhlIG1ldGhvZCB3
YXMgY2FsbGVkLiIsCisgICAgIlRoZSBFdmVudCBvYmplY3QgaXMgYWxyZWFkeSBiZWluZyBkaXNw
YXRjaGVkLiIKK307CisKK0NPTVBJTEVfQVNTRVJUKFdURl9BUlJBWV9MRU5HVEgoZXhjZXB0aW9u
TmFtZXMpID09IFdURl9BUlJBWV9MRU5HVEgoZXhjZXB0aW9uRGVzY3JpcHRpb25zKSwgRXZlbnRF
eGNlcHRpb25UYWJsZXNNdXN0TWF0Y2gpOworCitib29sIEV2ZW50RXhjZXB0aW9uOjppbml0aWFs
aXplRGVzY3JpcHRpb24oRXhjZXB0aW9uQ29kZSBlYywgRXhjZXB0aW9uQ29kZURlc2NyaXB0aW9u
KiBkZXNjcmlwdGlvbikKK3sKKyAgICBpZiAoZWMgPCBFdmVudEV4Y2VwdGlvbk9mZnNldCB8fCBl
YyA+IEV2ZW50RXhjZXB0aW9uTWF4KQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBkZXNj
cmlwdGlvbi0+dHlwZU5hbWUgPSAiRE9NIEV2ZW50cyI7CisgICAgZGVzY3JpcHRpb24tPmNvZGUg
PSBlYyAtIEV2ZW50RXhjZXB0aW9uT2Zmc2V0OworICAgIGRlc2NyaXB0aW9uLT50eXBlID0gRXZl
bnRFeGNlcHRpb25UeXBlOworCisgICAgc2l6ZV90IHRhYmxlU2l6ZSA9IFdURl9BUlJBWV9MRU5H
VEgoZXhjZXB0aW9uTmFtZXMpOworICAgIHNpemVfdCB0YWJsZUluZGV4ID0gZWMgLSBVTlNQRUNJ
RklFRF9FVkVOVF9UWVBFX0VSUjsKKworICAgIGRlc2NyaXB0aW9uLT5uYW1lID0gdGFibGVJbmRl
eCA8IHRhYmxlU2l6ZSA/IGV4Y2VwdGlvbk5hbWVzW3RhYmxlSW5kZXhdIDogMDsKKyAgICBkZXNj
cmlwdGlvbi0+ZGVzY3JpcHRpb24gPSB0YWJsZUluZGV4IDwgdGFibGVTaXplID8gZXhjZXB0aW9u
RGVzY3JpcHRpb25zW3RhYmxlSW5kZXhdIDogMDsKKworICAgIHJldHVybiB0cnVlOworfQorCit9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRFeGNl
cHRpb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRFeGNlcHRpb24u
aAkocmV2aXNpb24gOTg2NzIpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRFeGNlcHRpb24u
aAkod29ya2luZyBjb3B5KQpAQCAtNDgsNiArNDgsOCBAQCBwdWJsaWM6CiAgICAgICAgIERJU1BB
VENIX1JFUVVFU1RfRVJSCiAgICAgfTsKIAorICAgIHN0YXRpYyBib29sIGluaXRpYWxpemVEZXNj
cmlwdGlvbihFeGNlcHRpb25Db2RlLCBFeGNlcHRpb25Db2RlRGVzY3JpcHRpb24qKTsKKwogcHJp
dmF0ZToKICAgICBFdmVudEV4Y2VwdGlvbihjb25zdCBFeGNlcHRpb25Db2RlRGVzY3JpcHRpb24m
IGRlc2NyaXB0aW9uKQogICAgICAgICA6IEV4Y2VwdGlvbkJhc2UoZGVzY3JpcHRpb24pCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9kb20vRXhjZXB0aW9uQmFzZS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2RvbS9FeGNlcHRpb25CYXNlLmgJKHJldmlzaW9uIDk4NjcyKQorKysgU291cmNl
L1dlYkNvcmUvZG9tL0V4Y2VwdGlvbkJhc2UuaAkod29ya2luZyBjb3B5KQpAQCAtMjksMzEgKzI5
LDMyIEBACiAjaWZuZGVmIEV4Y2VwdGlvbkJhc2VfaAogI2RlZmluZSBFeGNlcHRpb25CYXNlX2gK
IAorI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5o
IgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
ICAgIHN0cnVjdCBFeGNlcHRpb25Db2RlRGVzY3JpcHRpb247CitzdHJ1Y3QgRXhjZXB0aW9uQ29k
ZURlc2NyaXB0aW9uOwogCi0gICAgY2xhc3MgRXhjZXB0aW9uQmFzZSA6IHB1YmxpYyBSZWZDb3Vu
dGVkPEV4Y2VwdGlvbkJhc2U+IHsKLSAgICBwdWJsaWM6Ci0gICAgICAgIHVuc2lnbmVkIHNob3J0
IGNvZGUoKSBjb25zdCB7IHJldHVybiBtX2NvZGU7IH0KLSAgICAgICAgU3RyaW5nIG5hbWUoKSBj
b25zdCB7IHJldHVybiBtX25hbWU7IH0KLSAgICAgICAgU3RyaW5nIG1lc3NhZ2UoKSBjb25zdCB7
IHJldHVybiBtX21lc3NhZ2U7IH0KLSAgICAgICAgU3RyaW5nIGRlc2NyaXB0aW9uKCkgY29uc3Qg
eyByZXR1cm4gbV9kZXNjcmlwdGlvbjsgfQotCi0gICAgICAgIFN0cmluZyB0b1N0cmluZygpIGNv
bnN0OwotCi0gICAgcHJvdGVjdGVkOgotICAgICAgICBFeGNlcHRpb25CYXNlKGNvbnN0IEV4Y2Vw
dGlvbkNvZGVEZXNjcmlwdGlvbiYpOwotCi0gICAgcHJpdmF0ZToKLSAgICAgICAgdW5zaWduZWQg
c2hvcnQgbV9jb2RlOwotICAgICAgICBTdHJpbmcgbV9uYW1lOwotICAgICAgICBTdHJpbmcgbV9t
ZXNzYWdlOwotICAgICAgICBTdHJpbmcgbV9kZXNjcmlwdGlvbjsKLSAgICB9OworY2xhc3MgRXhj
ZXB0aW9uQmFzZSA6IHB1YmxpYyBSZWZDb3VudGVkPEV4Y2VwdGlvbkJhc2U+IHsKK3B1YmxpYzoK
KyAgICB1bnNpZ25lZCBzaG9ydCBjb2RlKCkgY29uc3QgeyByZXR1cm4gbV9jb2RlOyB9CisgICAg
U3RyaW5nIG5hbWUoKSBjb25zdCB7IHJldHVybiBtX25hbWU7IH0KKyAgICBTdHJpbmcgbWVzc2Fn
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fbWVzc2FnZTsgfQorICAgIFN0cmluZyBkZXNjcmlwdGlvbigp
IGNvbnN0IHsgcmV0dXJuIG1fZGVzY3JpcHRpb247IH0KKworICAgIFN0cmluZyB0b1N0cmluZygp
IGNvbnN0OworCitwcm90ZWN0ZWQ6CisgICAgRXhjZXB0aW9uQmFzZShjb25zdCBFeGNlcHRpb25D
b2RlRGVzY3JpcHRpb24mKTsKKworcHJpdmF0ZToKKyAgICB1bnNpZ25lZCBzaG9ydCBtX2NvZGU7
CisgICAgU3RyaW5nIG1fbmFtZTsKKyAgICBTdHJpbmcgbV9tZXNzYWdlOworICAgIFN0cmluZyBt
X2Rlc2NyaXB0aW9uOworfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9kb20vRXhjZXB0aW9uQ29kZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvZG9tL0V4Y2VwdGlvbkNvZGUuY3BwCShyZXZpc2lvbiA5ODY3MikKKysrIFNvdXJjZS9X
ZWJDb3JlL2RvbS9FeGNlcHRpb25Db2RlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjYsMzQ4ICsy
Niw2MSBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIK
IAorI2luY2x1ZGUgIkRPTUNvcmVFeGNlcHRpb24uaCIKICNpbmNsdWRlICJFdmVudEV4Y2VwdGlv
bi5oIgorI2lmIEVOQUJMRShCTE9CKQorI2luY2x1ZGUgIkZpbGVFeGNlcHRpb24uaCIKKyNlbmRp
ZgorI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQogI2luY2x1ZGUgIklEQkRhdGFiYXNlRXhj
ZXB0aW9uLmgiCi0jaW5jbHVkZSAiUmFuZ2VFeGNlcHRpb24uaCIKLSNpbmNsdWRlICJYTUxIdHRw
UmVxdWVzdEV4Y2VwdGlvbi5oIgotI2luY2x1ZGUgIlhQYXRoRXhjZXB0aW9uLmgiCi0KLSNpZiBF
TkFCTEUoU1ZHKQotI2luY2x1ZGUgIlNWR0V4Y2VwdGlvbi5oIgogI2VuZGlmCi0KKyNpbmNsdWRl
ICJPcGVyYXRpb25Ob3RBbGxvd2VkRXhjZXB0aW9uLmgiCisjaW5jbHVkZSAiUmFuZ2VFeGNlcHRp
b24uaCIKICNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogI2luY2x1ZGUgIlNRTEV4Y2VwdGlvbi5o
IgogI2VuZGlmCi0KLSNpZiBFTkFCTEUoQkxPQikgfHwgRU5BQkxFKEZJTEVfU1lTVEVNKQotI2lu
Y2x1ZGUgIkZpbGVFeGNlcHRpb24uaCIKLSNpbmNsdWRlICJPcGVyYXRpb25Ob3RBbGxvd2VkRXhj
ZXB0aW9uLmgiCi0jZW5kaWYKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1zdGF0aWMgY29uc3Qg
Y2hhciogY29uc3QgZXhjZXB0aW9uTmFtZXNbXSA9IHsKLSAgICAiSU5ERVhfU0laRV9FUlIiLAot
ICAgICJET01TVFJJTkdfU0laRV9FUlIiLAotICAgICJISUVSQVJDSFlfUkVRVUVTVF9FUlIiLAot
ICAgICJXUk9OR19ET0NVTUVOVF9FUlIiLAotICAgICJJTlZBTElEX0NIQVJBQ1RFUl9FUlIiLAot
ICAgICJOT19EQVRBX0FMTE9XRURfRVJSIiwKLSAgICAiTk9fTU9ESUZJQ0FUSU9OX0FMTE9XRURf
RVJSIiwKLSAgICAiTk9UX0ZPVU5EX0VSUiIsCi0gICAgIk5PVF9TVVBQT1JURURfRVJSIiwKLSAg
ICAiSU5VU0VfQVRUUklCVVRFX0VSUiIsCi0gICAgIklOVkFMSURfU1RBVEVfRVJSIiwKLSAgICAi
U1lOVEFYX0VSUiIsCi0gICAgIklOVkFMSURfTU9ESUZJQ0FUSU9OX0VSUiIsCi0gICAgIk5BTUVT
UEFDRV9FUlIiLAotICAgICJJTlZBTElEX0FDQ0VTU19FUlIiLAotICAgICJWQUxJREFUSU9OX0VS
UiIsCi0gICAgIlRZUEVfTUlTTUFUQ0hfRVJSIiwKLSAgICAiU0VDVVJJVFlfRVJSIiwKLSAgICAi
TkVUV09SS19FUlIiLAotICAgICJBQk9SVF9FUlIiLAotICAgICJVUkxfTUlTTUFUQ0hfRVJSIiwK
LSAgICAiUVVPVEFfRVhDRUVERURfRVJSIiwKLSAgICAiVElNRU9VVF9FUlIiLAotICAgICJJTlZB
TElEX05PREVfVFlQRV9FUlIiLAotICAgICJEQVRBX0NMT05FX0VSUiIKLX07Ci0KLXN0YXRpYyBj
b25zdCBjaGFyKiBjb25zdCBleGNlcHRpb25EZXNjcmlwdGlvbnNbXSA9IHsKLSAgICAiSW5kZXgg
b3Igc2l6ZSB3YXMgbmVnYXRpdmUsIG9yIGdyZWF0ZXIgdGhhbiB0aGUgYWxsb3dlZCB2YWx1ZS4i
LAotICAgICJUaGUgc3BlY2lmaWVkIHJhbmdlIG9mIHRleHQgZGlkIG5vdCBmaXQgaW50byBhIERP
TVN0cmluZy4iLAotICAgICJBIE5vZGUgd2FzIGluc2VydGVkIHNvbWV3aGVyZSBpdCBkb2Vzbid0
IGJlbG9uZy4iLAotICAgICJBIE5vZGUgd2FzIHVzZWQgaW4gYSBkaWZmZXJlbnQgZG9jdW1lbnQg
dGhhbiB0aGUgb25lIHRoYXQgY3JlYXRlZCBpdCAodGhhdCBkb2Vzbid0IHN1cHBvcnQgaXQpLiIs
Ci0gICAgIkFuIGludmFsaWQgb3IgaWxsZWdhbCBjaGFyYWN0ZXIgd2FzIHNwZWNpZmllZCwgc3Vj
aCBhcyBpbiBhbiBYTUwgbmFtZS4iLAotICAgICJEYXRhIHdhcyBzcGVjaWZpZWQgZm9yIGEgTm9k
ZSB3aGljaCBkb2VzIG5vdCBzdXBwb3J0IGRhdGEuIiwKLSAgICAiQW4gYXR0ZW1wdCB3YXMgbWFk
ZSB0byBtb2RpZnkgYW4gb2JqZWN0IHdoZXJlIG1vZGlmaWNhdGlvbnMgYXJlIG5vdCBhbGxvd2Vk
LiIsCi0gICAgIkFuIGF0dGVtcHQgd2FzIG1hZGUgdG8gcmVmZXJlbmNlIGEgTm9kZSBpbiBhIGNv
bnRleHQgd2hlcmUgaXQgZG9lcyBub3QgZXhpc3QuIiwKLSAgICAiVGhlIGltcGxlbWVudGF0aW9u
IGRpZCBub3Qgc3VwcG9ydCB0aGUgcmVxdWVzdGVkIHR5cGUgb2Ygb2JqZWN0IG9yIG9wZXJhdGlv
bi4iLAotICAgICJBbiBhdHRlbXB0IHdhcyBtYWRlIHRvIGFkZCBhbiBhdHRyaWJ1dGUgdGhhdCBp
cyBhbHJlYWR5IGluIHVzZSBlbHNld2hlcmUuIiwKLSAgICAiQW4gYXR0ZW1wdCB3YXMgbWFkZSB0
byB1c2UgYW4gb2JqZWN0IHRoYXQgaXMgbm90LCBvciBpcyBubyBsb25nZXIsIHVzYWJsZS4iLAot
ICAgICJBbiBpbnZhbGlkIG9yIGlsbGVnYWwgc3RyaW5nIHdhcyBzcGVjaWZpZWQuIiwKLSAgICAi
QW4gYXR0ZW1wdCB3YXMgbWFkZSB0byBtb2RpZnkgdGhlIHR5cGUgb2YgdGhlIHVuZGVybHlpbmcg
b2JqZWN0LiIsCi0gICAgIkFuIGF0dGVtcHQgd2FzIG1hZGUgdG8gY3JlYXRlIG9yIGNoYW5nZSBh
biBvYmplY3QgaW4gYSB3YXkgd2hpY2ggaXMgaW5jb3JyZWN0IHdpdGggcmVnYXJkIHRvIG5hbWVz
cGFjZXMuIiwKLSAgICAiQSBwYXJhbWV0ZXIgb3IgYW4gb3BlcmF0aW9uIHdhcyBub3Qgc3VwcG9y
dGVkIGJ5IHRoZSB1bmRlcmx5aW5nIG9iamVjdC4iLAotICAgICJBIGNhbGwgdG8gYSBtZXRob2Qg
c3VjaCBhcyBpbnNlcnRCZWZvcmUgb3IgcmVtb3ZlQ2hpbGQgd291bGQgbWFrZSB0aGUgTm9kZSBp
bnZhbGlkIHdpdGggcmVzcGVjdCB0byBcInBhcnRpYWwgdmFsaWRpdHlcIiwgdGhpcyBleGNlcHRp
b24gd291bGQgYmUgcmFpc2VkIGFuZCB0aGUgb3BlcmF0aW9uIHdvdWxkIG5vdCBiZSBkb25lLiIs
Ci0gICAgIlRoZSB0eXBlIG9mIGFuIG9iamVjdCB3YXMgaW5jb21wYXRpYmxlIHdpdGggdGhlIGV4
cGVjdGVkIHR5cGUgb2YgdGhlIHBhcmFtZXRlciBhc3NvY2lhdGVkIHRvIHRoZSBvYmplY3QuIiwK
LSAgICAiQW4gYXR0ZW1wdCB3YXMgbWFkZSB0byBicmVhayB0aHJvdWdoIHRoZSBzZWN1cml0eSBw
b2xpY3kgb2YgdGhlIHVzZXIgYWdlbnQuIiwKLSAgICAvLyBGSVhNRTogQ291bGRuJ3QgZmluZCBh
IGRlc2NyaXB0aW9uIGluIHRoZSBIVE1ML0RPTSBzcGVjaWZpY2F0aW9ucyBmb3IgTkVUV09SS19F
UlIsIEFCT1JUX0VSUiwgVVJMX01JU01BVENIX0VSUiwgYW5kIFFVT1RBX0VYQ0VFREVEX0VSUgot
ICAgICJBIG5ldHdvcmsgZXJyb3Igb2NjdXJlZC4iLAotICAgICJUaGUgdXNlciBhYm9ydGVkIGEg
cmVxdWVzdC4iLAotICAgICJBIHdvcmtlciBnbG9iYWwgc2NvcGUgcmVwcmVzZW50ZWQgYW4gYWJz
b2x1dGUgVVJMIHRoYXQgaXMgbm90IGVxdWFsIHRvIHRoZSByZXN1bHRpbmcgYWJzb2x1dGUgVVJM
LiIsCi0gICAgIkFuIGF0dGVtcHQgd2FzIG1hZGUgdG8gYWRkIHNvbWV0aGluZyB0byBzdG9yYWdl
IHRoYXQgZXhjZWVkZWQgdGhlIHF1b3RhLiIsCi0gICAgIkEgdGltZW91dCBvY2N1cnJlZC4iLAot
ICAgICJUaGUgc3VwcGxpZWQgbm9kZSBpcyBpbnZhbGlkIG9yIGhhcyBhbiBpbnZhbGlkIGFuY2Vz
dG9yIGZvciB0aGlzIG9wZXJhdGlvbi4iLAotICAgICJBbiBvYmplY3QgY291bGQgbm90IGJlIGNs
b25lZC4iCi19OwotCi1zdGF0aWMgY29uc3QgY2hhciogY29uc3QgcmFuZ2VFeGNlcHRpb25OYW1l
c1tdID0gewotICAgICJCQURfQk9VTkRBUllQT0lOVFNfRVJSIiwKLSAgICAiSU5WQUxJRF9OT0RF
X1RZUEVfRVJSIgotfTsKLQotc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IHJhbmdlRXhjZXB0aW9u
RGVzY3JpcHRpb25zW10gPSB7Ci0gICAgIlRoZSBib3VuZGFyeS1wb2ludHMgb2YgYSBSYW5nZSBk
aWQgbm90IG1lZXQgc3BlY2lmaWMgcmVxdWlyZW1lbnRzLiIsCi0gICAgIlRoZSBjb250YWluZXIg
b2YgYW4gYm91bmRhcnktcG9pbnQgb2YgYSBSYW5nZSB3YXMgYmVpbmcgc2V0IHRvIGVpdGhlciBh
IG5vZGUgb2YgYW4gaW52YWxpZCB0eXBlIG9yIGEgbm9kZSB3aXRoIGFuIGFuY2VzdG9yIG9mIGFu
IGludmFsaWQgdHlwZS4iCi19OwotCi1zdGF0aWMgY29uc3QgY2hhciogY29uc3QgZXZlbnRFeGNl
cHRpb25OYW1lc1tdID0gewotICAgICJVTlNQRUNJRklFRF9FVkVOVF9UWVBFX0VSUiIsCi0gICAg
IkRJU1BBVENIX1JFUVVFU1RfRVJSIgotfTsKLQotc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IGV2
ZW50RXhjZXB0aW9uRGVzY3JpcHRpb25zW10gPSB7Ci0gICAgIlRoZSBFdmVudCdzIHR5cGUgd2Fz
IG5vdCBzcGVjaWZpZWQgYnkgaW5pdGlhbGl6aW5nIHRoZSBldmVudCBiZWZvcmUgdGhlIG1ldGhv
ZCB3YXMgY2FsbGVkLiIsCi0gICAgIlRoZSBFdmVudCBvYmplY3QgaXMgYWxyZWFkeSBiZWluZyBk
aXNwYXRjaGVkLiIKLX07Ci0KLXN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCB4bWxIdHRwUmVxdWVz
dEV4Y2VwdGlvbk5hbWVzW10gPSB7Ci0gICAgIk5FVFdPUktfRVJSIiwKLSAgICAiQUJPUlRfRVJS
IgotfTsKLQotc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IHhtbEh0dHBSZXF1ZXN0RXhjZXB0aW9u
RGVzY3JpcHRpb25zW10gPSB7Ci0gICAgIkEgbmV0d29yayBlcnJvciBvY2N1cmVkIGluIHN5bmNo
cm9ub3VzIHJlcXVlc3RzLiIsCi0gICAgIlRoZSB1c2VyIGFib3J0ZWQgYSByZXF1ZXN0IGluIHN5
bmNocm9ub3VzIHJlcXVlc3RzLiIKLX07Ci0KLXN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCB4cGF0
aEV4Y2VwdGlvbk5hbWVzW10gPSB7Ci0gICAgIklOVkFMSURfRVhQUkVTU0lPTl9FUlIiLAotICAg
ICJUWVBFX0VSUiIKLX07Ci0KLXN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCB4cGF0aEV4Y2VwdGlv
bkRlc2NyaXB0aW9uc1tdID0gewotICAgICJUaGUgZXhwcmVzc2lvbiBoYWQgYSBzeW50YXggZXJy
b3Igb3Igb3RoZXJ3aXNlIGlzIG5vdCBhIGxlZ2FsIGV4cHJlc3Npb24gYWNjb3JkaW5nIHRvIHRo
ZSBydWxlcyBvZiB0aGUgc3BlY2lmaWMgWFBhdGhFdmFsdWF0b3IuIiwKLSAgICAiVGhlIGV4cHJl
c3Npb24gY291bGQgbm90IGJlIGNvbnZlcnRlZCB0byByZXR1cm4gdGhlIHNwZWNpZmllZCB0eXBl
LiIKLX07Ci0KICNpZiBFTkFCTEUoU1ZHKQotc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IHN2Z0V4
Y2VwdGlvbk5hbWVzW10gPSB7Ci0gICAgIlNWR19XUk9OR19UWVBFX0VSUiIsCi0gICAgIlNWR19J
TlZBTElEX1ZBTFVFX0VSUiIsCi0gICAgIlNWR19NQVRSSVhfTk9UX0lOVkVSVEFCTEUiCi19Owot
Ci1zdGF0aWMgY29uc3QgY2hhciogY29uc3Qgc3ZnRXhjZXB0aW9uRGVzY3JpcHRpb25zW10gPSB7
Ci0gICAgIkFuIG9iamVjdCBvZiB0aGUgd3JvbmcgdHlwZSB3YXMgcGFzc2VkIHRvIGFuIG9wZXJh
dGlvbi4iLAotICAgICJBbiBpbnZhbGlkIHZhbHVlIHdhcyBwYXNzZWQgdG8gYW4gb3BlcmF0aW9u
IG9yIGFzc2lnbmVkIHRvIGFuIGF0dHJpYnV0ZS4iLAotICAgICJBbiBhdHRlbXB0IHdhcyBtYWRl
IHRvIGludmVydCBhIG1hdHJpeCB0aGF0IGlzIG5vdCBpbnZlcnRpYmxlLiIKLX07Ci0jZW5kaWYK
LQotI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCi1zdGF0aWMgY29uc3QgY2hhciogY29uc3Qgc3Fs
RXhjZXB0aW9uTmFtZXNbXSA9IHsKLSAgICAiVU5LTk9XTl9FUlIiLAotICAgICJEQVRBQkFTRV9F
UlIiLAotICAgICJWRVJTSU9OX0VSUiIsCi0gICAgIlRPT19MQVJHRV9FUlIiLAotICAgICJRVU9U
QV9FUlIiLAotICAgICJTWU5UQVhfRVJSIiwKLSAgICAiQ09OU1RSQUlOVF9FUlIiLAotICAgICJU
SU1FT1VUX0VSUiIKLX07Ci0KLXN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBzcWxFeGNlcHRpb25E
ZXNjcmlwdGlvbnNbXSA9IHsKLSAgICAiVGhlIG9wZXJhdGlvbiBmYWlsZWQgZm9yIHJlYXNvbnMg
dW5yZWxhdGVkIHRvIHRoZSBkYXRhYmFzZS4iLAotICAgICJUaGUgb3BlcmF0aW9uIGZhaWxlZCBm
b3Igc29tZSByZWFzb24gcmVsYXRlZCB0byB0aGUgZGF0YWJhc2UuIiwKLSAgICAiVGhlIGFjdHVh
bCBkYXRhYmFzZSB2ZXJzaW9uIGRpZCBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIHZlcnNpb24uIiwK
LSAgICAiRGF0YSByZXR1cm5lZCBmcm9tIHRoZSBkYXRhYmFzZSBpcyB0b28gbGFyZ2UuIiwKLSAg
ICAiUXVvdGEgd2FzIGV4Y2VlZGVkLiIsCi0gICAgIkludmFsaWQgb3IgdW5hdXRob3JpemVkIHN0
YXRlbWVudDsgb3IgdGhlIG51bWJlciBvZiBhcmd1bWVudHMgZGlkIG5vdCBtYXRjaCB0aGUgbnVt
YmVyIG9mID8gcGxhY2Vob2xkZXJzLiIsCi0gICAgIkEgY29uc3RyYWludCB3YXMgdmlvbGF0ZWQu
IiwKLSAgICAiQSB0cmFuc2FjdGlvbiBsb2NrIGNvdWxkIG5vdCBiZSBhY3F1aXJlZCBpbiBhIHJl
YXNvbmFibGUgdGltZS4iCi19OwotI2VuZGlmCi0KLSNpZiBFTkFCTEUoQkxPQikgfHwgRU5BQkxF
KEZJTEVfU1lTVEVNKQotc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IGZpbGVFeGNlcHRpb25OYW1l
c1tdID0gewotICAgICJOT1RfRk9VTkRfRVJSIiwKLSAgICAiU0VDVVJJVFlfRVJSIiwKLSAgICAi
QUJPUlRfRVJSIiwKLSAgICAiTk9UX1JFQURBQkxFX0VSUiIsCi0gICAgIkVOQ09ESU5HX0VSUiIs
Ci0gICAgIk5PX01PRElGSUNBVElPTl9BTExPV0VEX0VSUiIsCi0gICAgIklOVkFMSURfU1RBVEVf
RVJSIiwKLSAgICAiU1lOVEFYX0VSUiIsCi0gICAgIklOVkFMSURfTU9ESUZJQ0FUSU9OX0VSUiIs
Ci0gICAgIlFVT1RBX0VYQ0VFREVEX0VSUiIsCi0gICAgIlRZUEVfTUlTTUFUQ0hfRVJSIiwKLSAg
ICAiUEFUSF9FWElTVFNfRVJSIgotfTsKLQotc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IGZpbGVF
eGNlcHRpb25EZXNjcmlwdGlvbnNbXSA9IHsKLSAgICAiQSByZXF1ZXN0ZWQgZmlsZSBvciBkaXJl
Y3RvcnkgY291bGQgbm90IGJlIGZvdW5kIGF0IHRoZSB0aW1lIGFuIG9wZXJhdGlvbiB3YXMgcHJv
Y2Vzc2VkLiIsCi0gICAgIkl0IHdhcyBkZXRlcm1pbmVkIHRoYXQgY2VydGFpbiBmaWxlcyBhcmUg
dW5zYWZlIGZvciBhY2Nlc3Mgd2l0aGluIGEgV2ViIGFwcGxpY2F0aW9uLCBvciB0aGF0IHRvbyBt
YW55IGNhbGxzIGFyZSBiZWluZyBtYWRlIG9uIGZpbGUgcmVzb3VyY2VzLiIsCi0gICAgIkFuIG9u
Z29pbmcgb3BlcmF0aW9uIHdhcyBhYm9ydGVkLCB0eXBpY2FsbHkgd2l0aCBhIGNhbGwgdG8gYWJv
cnQoKS4iLAotICAgICJUaGUgcmVxdWVzdGVkIGZpbGUgY291bGQgbm90IGJlIHJlYWQsIHR5cGlj
YWxseSBkdWUgdG8gcGVybWlzc2lvbiBwcm9ibGVtcyB0aGF0IGhhdmUgb2NjdXJlZCBhZnRlciBh
IHJlZmVyZW5jZSB0byBhIGZpbGUgd2FzIGFjcXVpcmVkLiIsCi0gICAgIkEgVVJJIHN1cHBsaWVk
IHRvIHRoZSBBUEkgd2FzIG1hbGZvcm1lZCwgb3IgdGhlIHJlc3VsdGluZyBEYXRhIFVSTCBoYXMg
ZXhjZWVkZWQgdGhlIFVSTCBsZW5ndGggbGltaXRhdGlvbnMgZm9yIERhdGEgVVJMcy4iLAotICAg
ICJBbiBhdHRlbXB0IHdhcyBtYWRlIHRvIHdyaXRlIHRvIGEgZmlsZSBvciBkaXJlY3Rvcnkgd2hp
Y2ggY291bGQgbm90IGJlIG1vZGlmaWVkIGR1ZSB0byB0aGUgc3RhdGUgb2YgdGhlIHVuZGVybHlp
bmcgZmlsZXN5c3RlbS4iLAotICAgICJBbiBvcGVyYXRpb24gdGhhdCBkZXBlbmRzIG9uIHN0YXRl
IGNhY2hlZCBpbiBhbiBpbnRlcmZhY2Ugb2JqZWN0IHdhcyBtYWRlIGJ1dCB0aGUgc3RhdGUgaGFk
IGNoYW5nZWQgc2luY2UgaXQgd2FzIHJlYWQgZnJvbSBkaXNrLiIsCi0gICAgIkFuIGludmFsaWQg
b3IgdW5zdXBwb3J0ZWQgYXJndW1lbnQgd2FzIGdpdmVuLCBsaWtlIGFuIGludmFsaWQgbGluZSBl
bmRpbmcgc3BlY2lmaWVyLiIsCi0gICAgIlRoZSBtb2RpZmljYXRpb24gcmVxdWVzdCB3YXMgaWxs
ZWdhbC4iLAotICAgICJUaGUgb3BlcmF0aW9uIGZhaWxlZCBiZWNhdXNlIGl0IHdvdWxkIGNhdXNl
IHRoZSBhcHBsaWNhdGlvbiB0byBleGNlZWQgaXRzIHN0b3JhZ2UgcXVvdGEuIiwKLSAgICAiVGhl
IHBhdGggc3VwcGxpZWQgZXhpc3RzLCBidXQgd2FzIG5vdCBhbiBlbnRyeSBvZiByZXF1ZXN0ZWQg
dHlwZS4iLAotICAgICJBbiBhdHRlbXB0IHdhcyBtYWRlIHRvIGNyZWF0ZSBhIGZpbGUgb3IgZGly
ZWN0b3J5IHdoZXJlIGFuIGVsZW1lbnQgYWxyZWFkeSBleGlzdHMuIgotfTsKLQotc3RhdGljIGNv
bnN0IGNoYXIqIGNvbnN0IG9wZXJhdGlvbk5vdEFsbG93ZWRFeGNlcHRpb25OYW1lc1tdID0gewot
ICAgICJOT1RfQUxMT1dFRF9FUlIiCi19OwotCi1zdGF0aWMgY29uc3QgY2hhciogY29uc3Qgb3Bl
cmF0aW9uTm90QWxsb3dlZEV4Y2VwdGlvbkRlc2NyaXB0aW9uc1tdID0gewotICAgICJBIHJlYWQg
bWV0aG9kIHdhcyBjYWxsZWQgd2hpbGUgdGhlIG9iamVjdCB3YXMgaW4gdGhlIExPQURJTkcgc3Rh
dGUgZHVlIHRvIGEgcHJldmlvdXMgcmVhZCBjYWxsLiIKLX07CisjaW5jbHVkZSAiU1ZHRXhjZXB0
aW9uLmgiCiAjZW5kaWYKKyNpbmNsdWRlICJYTUxIdHRwUmVxdWVzdEV4Y2VwdGlvbi5oIgorI2lu
Y2x1ZGUgIlhQYXRoRXhjZXB0aW9uLmgiCiAKLSNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkK
LXN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBpZGJEYXRhYmFzZUV4Y2VwdGlvbk5hbWVzW10gPSB7
Ci0gICAgIlVOS05PV05fRVJSIiwKLSAgICAiTk9OX1RSQU5TSUVOVF9FUlIiLAotICAgICJOT1Rf
Rk9VTkRfRVJSIiwKLSAgICAiQ09OU1RSQUlOVF9FUlIiLAotICAgICJEQVRBX0VSUiIsCi0gICAg
Ik5PVF9BTExPV0VEX0VSUiIsCi0gICAgIlNFUklBTF9FUlIiLAotICAgICJSRUNPVkVSQUJMRV9F
UlIiLAotICAgICJUUkFOU0lFTlRfRVJSIiwKLSAgICAiVElNRU9VVF9FUlIiLAotICAgICJERUFE
TE9DS19FUlIiLAotICAgICJSRUFEX09OTFlfRVJSIiwKLSAgICAiQUJPUlRfRVJSIgotfTsKLQot
c3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IGlkYkRhdGFiYXNlRXhjZXB0aW9uRGVzY3JpcHRpb25z
W10gPSB7Ci0gICAgIkFuIHVua25vd24gZXJyb3Igb2NjdXJyZWQgd2l0aGluIEluZGV4ZWQgRGF0
YWJhc2UuIiwKLSAgICAiTk9OX1RSQU5TSUVOVF9FUlIiLCAvLyBGSVhNRTogV3JpdGUgYSBiZXR0
ZXIgbWVzc2FnZSBpZiBpdCdzIGV2ZXIgcG9zc2libGUgdGhpcyBpcyB0aHJvd24uCi0gICAgIlRo
ZSBuYW1lIHN1cHBsaWVkIGRvZXMgbm90IG1hdGNoIGFueSBleGlzdGluZyBpdGVtLiIsCi0gICAg
IlRoZSByZXF1ZXN0IGNhbm5vdCBiZSBjb21wbGV0ZWQgZHVlIHRvIGEgZmFpbGVkIGNvbnN0cmFp
bnQuIiwKLSAgICAiVGhlIGRhdGEgcHJvdmlkZWQgZG9lcyBub3QgbWVldCB0aGUgcmVxdWlyZW1l
bnRzIG9mIHRoZSBmdW5jdGlvbi4iLAotICAgICJUaGlzIGZ1bmN0aW9uIGlzIG5vdCBhbGxvd2Vk
IHRvIGJlIGNhbGxlZCBpbiBzdWNoIGEgY29udGV4dC4iLAotICAgICJUaGUgZGF0YSBzdXBwbGll
ZCBjYW5ub3QgYmUgc2VyaWFsaXplZCBhY2NvcmRpbmcgdG8gdGhlIHN0cnVjdHVyZWQgY2xvbmlu
ZyBhbGdvcml0aG0uIiwKLSAgICAiUkVDT1ZFUkFCTEVfRVJSIiwgLy8gRklYTUU6IFRoaXMgaXNu
J3QgZXZlbiB1c2VkLgotICAgICJUUkFOU0lFTlRfRVJSIiwgLy8gRklYTUU6IFRoaXMgaXNuJ3Qg
ZXZlbiB1c2VkLgotICAgICJUSU1FT1VUX0VSUiIsIC8vIFRoaXMgY2FuJ3QgYmUgdGhyb3duLgot
ICAgICJERUFETE9DS19FUlIiLCAvLyBUaGlzIGNhbid0IGJlIHRocm93bi4KLSAgICAiV3JpdGUg
b3BlcmF0aW9ucyBjYW5ub3QgYmUgcHJlZm9ybWVkIG9uIGEgcmVhZC1vbmx5IHRyYW5zYWN0aW9u
LiIsCi0gICAgIlRoZSB0cmFuc2FjdGlvbiB3YXMgYWJvcnRlZCwgc28gdGhlIHJlcXVlc3QgY2Fu
bm90IGJlIGZ1bGZpbGxlZC4iCi19OwotI2VuZGlmCituYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHZv
aWQgZ2V0RXhjZXB0aW9uQ29kZURlc2NyaXB0aW9uKEV4Y2VwdGlvbkNvZGUgZWMsIEV4Y2VwdGlv
bkNvZGVEZXNjcmlwdGlvbiYgZGVzY3JpcHRpb24pCiB7CiAgICAgQVNTRVJUKGVjKTsKIAotICAg
IGNvbnN0IGNoYXIqIHR5cGVOYW1lOwotICAgIGludCBjb2RlID0gZWM7Ci0gICAgY29uc3QgY2hh
ciogY29uc3QqIG5hbWVUYWJsZTsKLSAgICBjb25zdCBjaGFyKiBjb25zdCogZGVzY3JpcHRpb25U
YWJsZTsKLSAgICBpbnQgbmFtZVRhYmxlU2l6ZTsKLSAgICBpbnQgbmFtZVRhYmxlT2Zmc2V0Owot
ICAgIEV4Y2VwdGlvblR5cGUgdHlwZTsKLQotICAgIGlmIChjb2RlID49IFJhbmdlRXhjZXB0aW9u
OjpSYW5nZUV4Y2VwdGlvbk9mZnNldCAmJiBjb2RlIDw9IFJhbmdlRXhjZXB0aW9uOjpSYW5nZUV4
Y2VwdGlvbk1heCkgewotICAgICAgICB0eXBlID0gUmFuZ2VFeGNlcHRpb25UeXBlOwotICAgICAg
ICB0eXBlTmFtZSA9ICJET00gUmFuZ2UiOwotICAgICAgICBjb2RlIC09IFJhbmdlRXhjZXB0aW9u
OjpSYW5nZUV4Y2VwdGlvbk9mZnNldDsKLSAgICAgICAgbmFtZVRhYmxlID0gcmFuZ2VFeGNlcHRp
b25OYW1lczsKLSAgICAgICAgZGVzY3JpcHRpb25UYWJsZSA9IHJhbmdlRXhjZXB0aW9uRGVzY3Jp
cHRpb25zOwotICAgICAgICBuYW1lVGFibGVTaXplID0gV1RGX0FSUkFZX0xFTkdUSChyYW5nZUV4
Y2VwdGlvbk5hbWVzKTsKLSAgICAgICAgbmFtZVRhYmxlT2Zmc2V0ID0gUmFuZ2VFeGNlcHRpb246
OkJBRF9CT1VOREFSWVBPSU5UU19FUlI7Ci0gICAgfSBlbHNlIGlmIChjb2RlID49IEV2ZW50RXhj
ZXB0aW9uOjpFdmVudEV4Y2VwdGlvbk9mZnNldCAmJiBjb2RlIDw9IEV2ZW50RXhjZXB0aW9uOjpF
dmVudEV4Y2VwdGlvbk1heCkgewotICAgICAgICB0eXBlID0gRXZlbnRFeGNlcHRpb25UeXBlOwot
ICAgICAgICB0eXBlTmFtZSA9ICJET00gRXZlbnRzIjsKLSAgICAgICAgY29kZSAtPSBFdmVudEV4
Y2VwdGlvbjo6RXZlbnRFeGNlcHRpb25PZmZzZXQ7Ci0gICAgICAgIG5hbWVUYWJsZSA9IGV2ZW50
RXhjZXB0aW9uTmFtZXM7Ci0gICAgICAgIGRlc2NyaXB0aW9uVGFibGUgPSBldmVudEV4Y2VwdGlv
bkRlc2NyaXB0aW9uczsKLSAgICAgICAgbmFtZVRhYmxlU2l6ZSA9IFdURl9BUlJBWV9MRU5HVEgo
ZXZlbnRFeGNlcHRpb25OYW1lcyk7Ci0gICAgICAgIG5hbWVUYWJsZU9mZnNldCA9IEV2ZW50RXhj
ZXB0aW9uOjpVTlNQRUNJRklFRF9FVkVOVF9UWVBFX0VSUjsKLSAgICB9IGVsc2UgaWYgKGNvZGUg
Pj0gWE1MSHR0cFJlcXVlc3RFeGNlcHRpb246OlhNTEh0dHBSZXF1ZXN0RXhjZXB0aW9uT2Zmc2V0
ICYmIGNvZGUgPD0gWE1MSHR0cFJlcXVlc3RFeGNlcHRpb246OlhNTEh0dHBSZXF1ZXN0RXhjZXB0
aW9uTWF4KSB7Ci0gICAgICAgIHR5cGUgPSBYTUxIdHRwUmVxdWVzdEV4Y2VwdGlvblR5cGU7Ci0g
ICAgICAgIHR5cGVOYW1lID0gIlhNTEh0dHBSZXF1ZXN0IjsKLSAgICAgICAgY29kZSAtPSBYTUxI
dHRwUmVxdWVzdEV4Y2VwdGlvbjo6WE1MSHR0cFJlcXVlc3RFeGNlcHRpb25PZmZzZXQ7Ci0gICAg
ICAgIG5hbWVUYWJsZSA9IHhtbEh0dHBSZXF1ZXN0RXhjZXB0aW9uTmFtZXM7Ci0gICAgICAgIGRl
c2NyaXB0aW9uVGFibGUgPSB4bWxIdHRwUmVxdWVzdEV4Y2VwdGlvbkRlc2NyaXB0aW9uczsKLSAg
ICAgICAgbmFtZVRhYmxlU2l6ZSA9IFdURl9BUlJBWV9MRU5HVEgoeG1sSHR0cFJlcXVlc3RFeGNl
cHRpb25OYW1lcyk7Ci0gICAgICAgIC8vIFhNTEh0dHBSZXF1ZXN0IGV4Y2VwdGlvbiBjb2RlcyBz
dGFydCB3aXRoIDEwMSBhbmQgd2UgZG9uJ3Qgd2FudCAxMDAgZW1wdHkgZWxlbWVudHMgaW4gdGhl
IG5hbWUgYXJyYXkKLSAgICAgICAgbmFtZVRhYmxlT2Zmc2V0ID0gWE1MSHR0cFJlcXVlc3RFeGNl
cHRpb246Ok5FVFdPUktfRVJSOwotICAgIH0gZWxzZSBpZiAoY29kZSA+PSBYUGF0aEV4Y2VwdGlv
bjo6WFBhdGhFeGNlcHRpb25PZmZzZXQgJiYgY29kZSA8PSBYUGF0aEV4Y2VwdGlvbjo6WFBhdGhF
eGNlcHRpb25NYXgpIHsKLSAgICAgICAgdHlwZSA9IFhQYXRoRXhjZXB0aW9uVHlwZTsKLSAgICAg
ICAgdHlwZU5hbWUgPSAiRE9NIFhQYXRoIjsKLSAgICAgICAgY29kZSAtPSBYUGF0aEV4Y2VwdGlv
bjo6WFBhdGhFeGNlcHRpb25PZmZzZXQ7Ci0gICAgICAgIG5hbWVUYWJsZSA9IHhwYXRoRXhjZXB0
aW9uTmFtZXM7Ci0gICAgICAgIGRlc2NyaXB0aW9uVGFibGUgPSB4cGF0aEV4Y2VwdGlvbkRlc2Ny
aXB0aW9uczsKLSAgICAgICAgbmFtZVRhYmxlU2l6ZSA9IFdURl9BUlJBWV9MRU5HVEgoeHBhdGhF
eGNlcHRpb25OYW1lcyk7Ci0gICAgICAgIC8vIFhQYXRoIGV4Y2VwdGlvbiBjb2RlcyBzdGFydCB3
aXRoIDUxIGFuZCB3ZSBkb24ndCB3YW50IDUxIGVtcHR5IGVsZW1lbnRzIGluIHRoZSBuYW1lIGFy
cmF5Ci0gICAgICAgIG5hbWVUYWJsZU9mZnNldCA9IFhQYXRoRXhjZXB0aW9uOjpJTlZBTElEX0VY
UFJFU1NJT05fRVJSOwotI2lmIEVOQUJMRShTVkcpCi0gICAgfSBlbHNlIGlmIChjb2RlID49IFNW
R0V4Y2VwdGlvbjo6U1ZHRXhjZXB0aW9uT2Zmc2V0ICYmIGNvZGUgPD0gU1ZHRXhjZXB0aW9uOjpT
VkdFeGNlcHRpb25NYXgpIHsKLSAgICAgICAgdHlwZSA9IFNWR0V4Y2VwdGlvblR5cGU7Ci0gICAg
ICAgIHR5cGVOYW1lID0gIkRPTSBTVkciOwotICAgICAgICBjb2RlIC09IFNWR0V4Y2VwdGlvbjo6
U1ZHRXhjZXB0aW9uT2Zmc2V0OwotICAgICAgICBuYW1lVGFibGUgPSBzdmdFeGNlcHRpb25OYW1l
czsKLSAgICAgICAgZGVzY3JpcHRpb25UYWJsZSA9IHN2Z0V4Y2VwdGlvbkRlc2NyaXB0aW9uczsK
LSAgICAgICAgbmFtZVRhYmxlU2l6ZSA9IFdURl9BUlJBWV9MRU5HVEgoc3ZnRXhjZXB0aW9uTmFt
ZXMpOwotICAgICAgICBuYW1lVGFibGVPZmZzZXQgPSBTVkdFeGNlcHRpb246OlNWR19XUk9OR19U
WVBFX0VSUjsKKyAgICBpZiAoRXZlbnRFeGNlcHRpb246OmluaXRpYWxpemVEZXNjcmlwdGlvbihl
YywgJmRlc2NyaXB0aW9uKSkKKyAgICAgICAgcmV0dXJuOworI2lmIEVOQUJMRShCTE9CKQorICAg
IGlmIChGaWxlRXhjZXB0aW9uOjppbml0aWFsaXplRGVzY3JpcHRpb24oZWMsICZkZXNjcmlwdGlv
bikpCisgICAgICAgIHJldHVybjsKICNlbmRpZgotI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCi0g
ICAgfSBlbHNlIGlmIChjb2RlID49IFNRTEV4Y2VwdGlvbjo6U1FMRXhjZXB0aW9uT2Zmc2V0ICYm
IGNvZGUgPD0gU1FMRXhjZXB0aW9uOjpTUUxFeGNlcHRpb25NYXgpIHsKLSAgICAgICAgdHlwZSA9
IFNRTEV4Y2VwdGlvblR5cGU7Ci0gICAgICAgIHR5cGVOYW1lID0gIkRPTSBTUUwiOwotICAgICAg
ICBjb2RlIC09IFNRTEV4Y2VwdGlvbjo6U1FMRXhjZXB0aW9uT2Zmc2V0OwotICAgICAgICBuYW1l
VGFibGUgPSBzcWxFeGNlcHRpb25OYW1lczsKLSAgICAgICAgZGVzY3JpcHRpb25UYWJsZSA9IHNx
bEV4Y2VwdGlvbkRlc2NyaXB0aW9uczsKLSAgICAgICAgbmFtZVRhYmxlU2l6ZSA9IFdURl9BUlJB
WV9MRU5HVEgoc3FsRXhjZXB0aW9uTmFtZXMpOwotICAgICAgICBuYW1lVGFibGVPZmZzZXQgPSBT
UUxFeGNlcHRpb246OlVOS05PV05fRVJSOworI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQor
ICAgIGlmIChJREJEYXRhYmFzZUV4Y2VwdGlvbjo6aW5pdGlhbGl6ZURlc2NyaXB0aW9uKGVjLCAm
ZGVzY3JpcHRpb24pKQorICAgICAgICByZXR1cm47CiAjZW5kaWYKLSNpZiBFTkFCTEUoQkxPQikg
fHwgRU5BQkxFKEZJTEVfU1lTVEVNKQotICAgIH0gZWxzZSBpZiAoY29kZSA+PSBGaWxlRXhjZXB0
aW9uOjpGaWxlRXhjZXB0aW9uT2Zmc2V0ICYmIGNvZGUgPD0gRmlsZUV4Y2VwdGlvbjo6RmlsZUV4
Y2VwdGlvbk1heCkgewotICAgICAgICB0eXBlID0gRmlsZUV4Y2VwdGlvblR5cGU7Ci0gICAgICAg
IHR5cGVOYW1lID0gIkRPTSBGaWxlIjsKLSAgICAgICAgY29kZSAtPSBGaWxlRXhjZXB0aW9uOjpG
aWxlRXhjZXB0aW9uT2Zmc2V0OwotICAgICAgICBuYW1lVGFibGUgPSBmaWxlRXhjZXB0aW9uTmFt
ZXM7Ci0gICAgICAgIGRlc2NyaXB0aW9uVGFibGUgPSBmaWxlRXhjZXB0aW9uRGVzY3JpcHRpb25z
OwotICAgICAgICBuYW1lVGFibGVTaXplID0gV1RGX0FSUkFZX0xFTkdUSChmaWxlRXhjZXB0aW9u
TmFtZXMpOwotICAgICAgICBuYW1lVGFibGVPZmZzZXQgPSBGaWxlRXhjZXB0aW9uOjpOT1RfRk9V
TkRfRVJSOwotICAgIH0gZWxzZSBpZiAoY29kZSA+PSBPcGVyYXRpb25Ob3RBbGxvd2VkRXhjZXB0
aW9uOjpPcGVyYXRpb25Ob3RBbGxvd2VkRXhjZXB0aW9uT2Zmc2V0ICYmIGNvZGUgPD0gT3BlcmF0
aW9uTm90QWxsb3dlZEV4Y2VwdGlvbjo6T3BlcmF0aW9uTm90QWxsb3dlZEV4Y2VwdGlvbk1heCkg
ewotICAgICAgICB0eXBlID0gT3BlcmF0aW9uTm90QWxsb3dlZEV4Y2VwdGlvblR5cGU7Ci0gICAg
ICAgIHR5cGVOYW1lID0gIkRPTSBPcGVyYXRpb25Ob3RBbGxvd2VkIjsKLSAgICAgICAgY29kZSAt
PSBPcGVyYXRpb25Ob3RBbGxvd2VkRXhjZXB0aW9uOjpPcGVyYXRpb25Ob3RBbGxvd2VkRXhjZXB0
aW9uT2Zmc2V0OwotICAgICAgICBuYW1lVGFibGUgPSBvcGVyYXRpb25Ob3RBbGxvd2VkRXhjZXB0
aW9uTmFtZXM7Ci0gICAgICAgIGRlc2NyaXB0aW9uVGFibGUgPSBvcGVyYXRpb25Ob3RBbGxvd2Vk
RXhjZXB0aW9uRGVzY3JpcHRpb25zOwotICAgICAgICBuYW1lVGFibGVTaXplID0gV1RGX0FSUkFZ
X0xFTkdUSChvcGVyYXRpb25Ob3RBbGxvd2VkRXhjZXB0aW9uTmFtZXMpOwotICAgICAgICBuYW1l
VGFibGVPZmZzZXQgPSBPcGVyYXRpb25Ob3RBbGxvd2VkRXhjZXB0aW9uOjpOT1RfQUxMT1dFRF9F
UlI7CisgICAgaWYgKE9wZXJhdGlvbk5vdEFsbG93ZWRFeGNlcHRpb246OmluaXRpYWxpemVEZXNj
cmlwdGlvbihlYywgJmRlc2NyaXB0aW9uKSkKKyAgICAgICAgcmV0dXJuOworICAgIGlmIChSYW5n
ZUV4Y2VwdGlvbjo6aW5pdGlhbGl6ZURlc2NyaXB0aW9uKGVjLCAmZGVzY3JpcHRpb24pKQorICAg
ICAgICByZXR1cm47CisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKKyAgICBpZiAoU1FMRXhjZXB0
aW9uOjppbml0aWFsaXplRGVzY3JpcHRpb24oZWMsICZkZXNjcmlwdGlvbikpCisgICAgICAgIHJl
dHVybjsKICNlbmRpZgotI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQotICAgIH0gZWxzZSBp
ZiAoY29kZSA+PSBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6SURCRGF0YWJhc2VFeGNlcHRpb25PZmZz
ZXQgJiYgY29kZSA8PSBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6SURCRGF0YWJhc2VFeGNlcHRpb25N
YXgpIHsKLSAgICAgICAgdHlwZSA9IElEQkRhdGFiYXNlRXhjZXB0aW9uVHlwZTsKLSAgICAgICAg
dHlwZU5hbWUgPSAiRE9NIElEQkRhdGFiYXNlIjsKLSAgICAgICAgY29kZSAtPSBJREJEYXRhYmFz
ZUV4Y2VwdGlvbjo6SURCRGF0YWJhc2VFeGNlcHRpb25PZmZzZXQ7Ci0gICAgICAgIG5hbWVUYWJs
ZSA9IGlkYkRhdGFiYXNlRXhjZXB0aW9uTmFtZXM7Ci0gICAgICAgIGRlc2NyaXB0aW9uVGFibGUg
PSBpZGJEYXRhYmFzZUV4Y2VwdGlvbkRlc2NyaXB0aW9uczsKLSAgICAgICAgbmFtZVRhYmxlU2l6
ZSA9IFdURl9BUlJBWV9MRU5HVEgoaWRiRGF0YWJhc2VFeGNlcHRpb25OYW1lcyk7Ci0gICAgICAg
IG5hbWVUYWJsZU9mZnNldCA9IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpVTktOT1dOX0VSUjsKKyNp
ZiBFTkFCTEUoU1ZHKQorICAgIGlmIChTVkdFeGNlcHRpb246OmluaXRpYWxpemVEZXNjcmlwdGlv
bihlYywgJmRlc2NyaXB0aW9uKSkKKyAgICAgICAgcmV0dXJuOwogI2VuZGlmCi0gICAgfSBlbHNl
IHsKLSAgICAgICAgdHlwZSA9IERPTUV4Y2VwdGlvblR5cGU7Ci0gICAgICAgIHR5cGVOYW1lID0g
IkRPTSI7Ci0gICAgICAgIG5hbWVUYWJsZSA9IGV4Y2VwdGlvbk5hbWVzOwotICAgICAgICBkZXNj
cmlwdGlvblRhYmxlID0gZXhjZXB0aW9uRGVzY3JpcHRpb25zOwotICAgICAgICBuYW1lVGFibGVT
aXplID0gV1RGX0FSUkFZX0xFTkdUSChleGNlcHRpb25OYW1lcyk7Ci0gICAgICAgIG5hbWVUYWJs
ZU9mZnNldCA9IElOREVYX1NJWkVfRVJSOwotICAgIH0KLQotICAgIGRlc2NyaXB0aW9uLnR5cGVO
YW1lID0gdHlwZU5hbWU7Ci0gICAgZGVzY3JpcHRpb24ubmFtZSA9IChlYyA+PSBuYW1lVGFibGVP
ZmZzZXQgJiYgZWMgLSBuYW1lVGFibGVPZmZzZXQgPCBuYW1lVGFibGVTaXplKSA/IG5hbWVUYWJs
ZVtlYyAtIG5hbWVUYWJsZU9mZnNldF0gOiAwOwotICAgIGRlc2NyaXB0aW9uLmRlc2NyaXB0aW9u
ID0gKGVjID49IG5hbWVUYWJsZU9mZnNldCAmJiBlYyAtIG5hbWVUYWJsZU9mZnNldCA8IG5hbWVU
YWJsZVNpemUpID8gZGVzY3JpcHRpb25UYWJsZVtlYyAtIG5hbWVUYWJsZU9mZnNldF0gOiAwOwot
ICAgIGRlc2NyaXB0aW9uLmNvZGUgPSBjb2RlOwotICAgIGRlc2NyaXB0aW9uLnR5cGUgPSB0eXBl
OworICAgIGlmIChYTUxIdHRwUmVxdWVzdEV4Y2VwdGlvbjo6aW5pdGlhbGl6ZURlc2NyaXB0aW9u
KGVjLCAmZGVzY3JpcHRpb24pKQorICAgICAgICByZXR1cm47CisgICAgaWYgKFhQYXRoRXhjZXB0
aW9uOjppbml0aWFsaXplRGVzY3JpcHRpb24oZWMsICZkZXNjcmlwdGlvbikpCisgICAgICAgIHJl
dHVybjsKKyAgICBpZiAoRE9NQ29yZUV4Y2VwdGlvbjo6aW5pdGlhbGl6ZURlc2NyaXB0aW9uKGVj
LCAmZGVzY3JpcHRpb24pKQorICAgICAgICByZXR1cm47CiAKLSAgICAvLyBBbGwgZXhjZXB0aW9u
cyB1c2VkIGluIHRoZSBET00gY29kZSBzaG91bGQgaGF2ZSBuYW1lcy4KLSAgICBBU1NFUlQoZGVz
Y3JpcHRpb24ubmFtZSk7Ci0gICAgQVNTRVJUKGRlc2NyaXB0aW9uLmRlc2NyaXB0aW9uKTsKKyAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRl
eDogU291cmNlL1dlYkNvcmUvZG9tL1JhbmdlRXhjZXB0aW9uLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9kb20vUmFuZ2VFeGNlcHRpb24uY3BwCShyZXZpc2lvbiAwKQorKysgU291
cmNlL1dlYkNvcmUvZG9tL1JhbmdlRXhjZXB0aW9uLmNwcAkocmV2aXNpb24gMCkKQEAgLTAsMCAr
MSw2NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gIE5laXRoZXIgdGhlIG5hbWUgb2Yg
QXBwbGUgQ29tcHV0ZXIsIEluYy4gKCJBcHBsZSIpIG5vciB0aGUgbmFtZXMgb2YKKyAqICAgICBp
dHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0
cyBkZXJpdmVkCisgKiAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgR09PR0xFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiUmFuZ2VFeGNlcHRpb24u
aCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCisvLyBGSVhNRTogVGhpcyBzaG91bGQgYmUgYW4g
YXJyYXkgb2Ygc3RydWN0cyB0byBwYWlyIHRoZSBuYW1lcyBhbmQgZGVzY3JpcHRpb25zLgorc3Rh
dGljIGNvbnN0IGNoYXIqIGNvbnN0IGV4Y2VwdGlvbk5hbWVzW10gPSB7CisgICAgIkJBRF9CT1VO
REFSWVBPSU5UU19FUlIiLAorICAgICJJTlZBTElEX05PREVfVFlQRV9FUlIiCit9OworCitzdGF0
aWMgY29uc3QgY2hhciogY29uc3QgZXhjZXB0aW9uRGVzY3JpcHRpb25zW10gPSB7CisgICAgIlRo
ZSBib3VuZGFyeS1wb2ludHMgb2YgYSBSYW5nZSBkaWQgbm90IG1lZXQgc3BlY2lmaWMgcmVxdWly
ZW1lbnRzLiIsCisgICAgIlRoZSBjb250YWluZXIgb2YgYW4gYm91bmRhcnktcG9pbnQgb2YgYSBS
YW5nZSB3YXMgYmVpbmcgc2V0IHRvIGVpdGhlciBhIG5vZGUgb2YgYW4gaW52YWxpZCB0eXBlIG9y
IGEgbm9kZSB3aXRoIGFuIGFuY2VzdG9yIG9mIGFuIGludmFsaWQgdHlwZS4iCit9OworCitDT01Q
SUxFX0FTU0VSVChXVEZfQVJSQVlfTEVOR1RIKGV4Y2VwdGlvbk5hbWVzKSA9PSBXVEZfQVJSQVlf
TEVOR1RIKGV4Y2VwdGlvbkRlc2NyaXB0aW9ucyksIFJhbmdlRXhjZXB0aW9uVGFibGVzTXVzdE1h
dGNoKTsKKworYm9vbCBSYW5nZUV4Y2VwdGlvbjo6aW5pdGlhbGl6ZURlc2NyaXB0aW9uKEV4Y2Vw
dGlvbkNvZGUgZWMsIEV4Y2VwdGlvbkNvZGVEZXNjcmlwdGlvbiogZGVzY3JpcHRpb24pCit7Cisg
ICAgaWYgKGVjIDwgUmFuZ2VFeGNlcHRpb25PZmZzZXQgfHwgZWMgPiBSYW5nZUV4Y2VwdGlvbk1h
eCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgZGVzY3JpcHRpb24tPnR5cGVOYW1lID0g
IkRPTSBSYW5nZSI7CisgICAgZGVzY3JpcHRpb24tPmNvZGUgPSBlYyAtIFJhbmdlRXhjZXB0aW9u
T2Zmc2V0OworICAgIGRlc2NyaXB0aW9uLT50eXBlID0gUmFuZ2VFeGNlcHRpb25UeXBlOworCisg
ICAgc2l6ZV90IHRhYmxlU2l6ZSA9IFdURl9BUlJBWV9MRU5HVEgoZXhjZXB0aW9uTmFtZXMpOwor
ICAgIHNpemVfdCB0YWJsZUluZGV4ID0gZWMgLSBCQURfQk9VTkRBUllQT0lOVFNfRVJSOworCisg
ICAgZGVzY3JpcHRpb24tPm5hbWUgPSB0YWJsZUluZGV4IDwgdGFibGVTaXplID8gZXhjZXB0aW9u
TmFtZXNbdGFibGVJbmRleF0gOiAwOworICAgIGRlc2NyaXB0aW9uLT5kZXNjcmlwdGlvbiA9IHRh
YmxlSW5kZXggPCB0YWJsZVNpemUgPyBleGNlcHRpb25EZXNjcmlwdGlvbnNbdGFibGVJbmRleF0g
OiAwOworCisgICAgcmV0dXJuIHRydWU7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9SYW5nZUV4Y2VwdGlvbi5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2RvbS9SYW5nZUV4Y2VwdGlvbi5oCShyZXZpc2lvbiA5ODY3MikKKysrIFNv
dXJjZS9XZWJDb3JlL2RvbS9SYW5nZUV4Y2VwdGlvbi5oCSh3b3JraW5nIGNvcHkpCkBAIC00NCw2
ICs0NCw4IEBAIHB1YmxpYzoKICAgICAgICAgSU5WQUxJRF9OT0RFX1RZUEVfRVJSCiAgICAgfTsK
IAorICAgIHN0YXRpYyBib29sIGluaXRpYWxpemVEZXNjcmlwdGlvbihFeGNlcHRpb25Db2RlLCBF
eGNlcHRpb25Db2RlRGVzY3JpcHRpb24qKTsKKwogcHJpdmF0ZToKICAgICBSYW5nZUV4Y2VwdGlv
bihjb25zdCBFeGNlcHRpb25Db2RlRGVzY3JpcHRpb24mIGRlc2NyaXB0aW9uKQogICAgICAgICA6
IEV4Y2VwdGlvbkJhc2UoZGVzY3JpcHRpb24pCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9maWxlYXBp
L0ZpbGVFeGNlcHRpb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2ZpbGVhcGkv
RmlsZUV4Y2VwdGlvbi5jcHAJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvV2ViQ29yZS9maWxlYXBp
L0ZpbGVFeGNlcHRpb24uY3BwCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDkwIEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKiAzLiAgTmVpdGhlciB0aGUgbmFtZSBvZiBBcHBsZSBDb21wdXRlciwg
SW5jLiAoIkFwcGxlIikgbm9yIHRoZSBuYW1lcyBvZgorICogICAgIGl0cyBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKKyAqICAg
ICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBHT09HTEUgQU5EIElU
UyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJ
VFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUwor
ICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNs
dWRlICJjb25maWcuaCIKKworI2lmIEVOQUJMRShCTE9CKSB8fCBFTkFCTEUoRklMRV9TWVNURU0p
CisKKyNpbmNsdWRlICJGaWxlRXhjZXB0aW9uLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwor
Ly8gRklYTUU6IFRoaXMgc2hvdWxkIGJlIGFuIGFycmF5IG9mIHN0cnVjdHMgdG8gcGFpciB0aGUg
bmFtZXMgYW5kIGRlc2NyaXB0aW9ucy4KK3N0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBleGNlcHRp
b25OYW1lc1tdID0geworICAgICJOT1RfRk9VTkRfRVJSIiwKKyAgICAiU0VDVVJJVFlfRVJSIiwK
KyAgICAiQUJPUlRfRVJSIiwKKyAgICAiTk9UX1JFQURBQkxFX0VSUiIsCisgICAgIkVOQ09ESU5H
X0VSUiIsCisgICAgIk5PX01PRElGSUNBVElPTl9BTExPV0VEX0VSUiIsCisgICAgIklOVkFMSURf
U1RBVEVfRVJSIiwKKyAgICAiU1lOVEFYX0VSUiIsCisgICAgIklOVkFMSURfTU9ESUZJQ0FUSU9O
X0VSUiIsCisgICAgIlFVT1RBX0VYQ0VFREVEX0VSUiIsCisgICAgIlRZUEVfTUlTTUFUQ0hfRVJS
IiwKKyAgICAiUEFUSF9FWElTVFNfRVJSIgorfTsKKworc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0
IGV4Y2VwdGlvbkRlc2NyaXB0aW9uc1tdID0geworICAgICJBIHJlcXVlc3RlZCBmaWxlIG9yIGRp
cmVjdG9yeSBjb3VsZCBub3QgYmUgZm91bmQgYXQgdGhlIHRpbWUgYW4gb3BlcmF0aW9uIHdhcyBw
cm9jZXNzZWQuIiwKKyAgICAiSXQgd2FzIGRldGVybWluZWQgdGhhdCBjZXJ0YWluIGZpbGVzIGFy
ZSB1bnNhZmUgZm9yIGFjY2VzcyB3aXRoaW4gYSBXZWIgYXBwbGljYXRpb24sIG9yIHRoYXQgdG9v
IG1hbnkgY2FsbHMgYXJlIGJlaW5nIG1hZGUgb24gZmlsZSByZXNvdXJjZXMuIiwKKyAgICAiQW4g
b25nb2luZyBvcGVyYXRpb24gd2FzIGFib3J0ZWQsIHR5cGljYWxseSB3aXRoIGEgY2FsbCB0byBh
Ym9ydCgpLiIsCisgICAgIlRoZSByZXF1ZXN0ZWQgZmlsZSBjb3VsZCBub3QgYmUgcmVhZCwgdHlw
aWNhbGx5IGR1ZSB0byBwZXJtaXNzaW9uIHByb2JsZW1zIHRoYXQgaGF2ZSBvY2N1cmVkIGFmdGVy
IGEgcmVmZXJlbmNlIHRvIGEgZmlsZSB3YXMgYWNxdWlyZWQuIiwKKyAgICAiQSBVUkkgc3VwcGxp
ZWQgdG8gdGhlIEFQSSB3YXMgbWFsZm9ybWVkLCBvciB0aGUgcmVzdWx0aW5nIERhdGEgVVJMIGhh
cyBleGNlZWRlZCB0aGUgVVJMIGxlbmd0aCBsaW1pdGF0aW9ucyBmb3IgRGF0YSBVUkxzLiIsCisg
ICAgIkFuIGF0dGVtcHQgd2FzIG1hZGUgdG8gd3JpdGUgdG8gYSBmaWxlIG9yIGRpcmVjdG9yeSB3
aGljaCBjb3VsZCBub3QgYmUgbW9kaWZpZWQgZHVlIHRvIHRoZSBzdGF0ZSBvZiB0aGUgdW5kZXJs
eWluZyBmaWxlc3lzdGVtLiIsCisgICAgIkFuIG9wZXJhdGlvbiB0aGF0IGRlcGVuZHMgb24gc3Rh
dGUgY2FjaGVkIGluIGFuIGludGVyZmFjZSBvYmplY3Qgd2FzIG1hZGUgYnV0IHRoZSBzdGF0ZSBo
YWQgY2hhbmdlZCBzaW5jZSBpdCB3YXMgcmVhZCBmcm9tIGRpc2suIiwKKyAgICAiQW4gaW52YWxp
ZCBvciB1bnN1cHBvcnRlZCBhcmd1bWVudCB3YXMgZ2l2ZW4sIGxpa2UgYW4gaW52YWxpZCBsaW5l
IGVuZGluZyBzcGVjaWZpZXIuIiwKKyAgICAiVGhlIG1vZGlmaWNhdGlvbiByZXF1ZXN0IHdhcyBp
bGxlZ2FsLiIsCisgICAgIlRoZSBvcGVyYXRpb24gZmFpbGVkIGJlY2F1c2UgaXQgd291bGQgY2F1
c2UgdGhlIGFwcGxpY2F0aW9uIHRvIGV4Y2VlZCBpdHMgc3RvcmFnZSBxdW90YS4iLAorICAgICJU
aGUgcGF0aCBzdXBwbGllZCBleGlzdHMsIGJ1dCB3YXMgbm90IGFuIGVudHJ5IG9mIHJlcXVlc3Rl
ZCB0eXBlLiIsCisgICAgIkFuIGF0dGVtcHQgd2FzIG1hZGUgdG8gY3JlYXRlIGEgZmlsZSBvciBk
aXJlY3Rvcnkgd2hlcmUgYW4gZWxlbWVudCBhbHJlYWR5IGV4aXN0cy4iCit9OworCitDT01QSUxF
X0FTU0VSVChXVEZfQVJSQVlfTEVOR1RIKGV4Y2VwdGlvbk5hbWVzKSA9PSBXVEZfQVJSQVlfTEVO
R1RIKGV4Y2VwdGlvbkRlc2NyaXB0aW9ucyksIEZpbGVFeGNlcHRpb25UYWJsZXNNdXN0TWF0Y2gp
OworCitib29sIEZpbGVFeGNlcHRpb246OmluaXRpYWxpemVEZXNjcmlwdGlvbihFeGNlcHRpb25D
b2RlIGVjLCBFeGNlcHRpb25Db2RlRGVzY3JpcHRpb24qIGRlc2NyaXB0aW9uKQoreworICAgIGlm
IChlYyA8IEZpbGVFeGNlcHRpb25PZmZzZXQgfHwgZWMgPiBGaWxlRXhjZXB0aW9uTWF4KQorICAg
ICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBkZXNjcmlwdGlvbi0+dHlwZU5hbWUgPSAiRE9NIEZp
bGUiOworICAgIGRlc2NyaXB0aW9uLT5jb2RlID0gZWMgLSBGaWxlRXhjZXB0aW9uT2Zmc2V0Owor
ICAgIGRlc2NyaXB0aW9uLT50eXBlID0gRmlsZUV4Y2VwdGlvblR5cGU7CisKKyAgICBzaXplX3Qg
dGFibGVTaXplID0gV1RGX0FSUkFZX0xFTkdUSChleGNlcHRpb25OYW1lcyk7CisgICAgc2l6ZV90
IHRhYmxlSW5kZXggPSBlYyAtIE5PVF9GT1VORF9FUlI7CisKKyAgICBkZXNjcmlwdGlvbi0+bmFt
ZSA9IHRhYmxlSW5kZXggPCB0YWJsZVNpemUgPyBleGNlcHRpb25OYW1lc1t0YWJsZUluZGV4XSA6
IDA7CisgICAgZGVzY3JpcHRpb24tPmRlc2NyaXB0aW9uID0gdGFibGVJbmRleCA8IHRhYmxlU2l6
ZSA/IGV4Y2VwdGlvbkRlc2NyaXB0aW9uc1t0YWJsZUluZGV4XSA6IDA7CisKKyAgICByZXR1cm4g
dHJ1ZTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKEJM
T0IpIHx8IEVOQUJMRShGSUxFX1NZU1RFTSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2ZpbGVhcGkv
RmlsZUV4Y2VwdGlvbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmls
ZUV4Y2VwdGlvbi5oCShyZXZpc2lvbiA5ODY3MikKKysrIFNvdXJjZS9XZWJDb3JlL2ZpbGVhcGkv
RmlsZUV4Y2VwdGlvbi5oCSh3b3JraW5nIGNvcHkpCkBAIC02OSw2ICs2OSw4IEBAIHB1YmxpYzoK
ICAgICAgICAgcmV0dXJuIGVycm9yQ29kZSArIEZpbGVFeGNlcHRpb25PZmZzZXQ7CiAgICAgfQog
CisgICAgc3RhdGljIGJvb2wgaW5pdGlhbGl6ZURlc2NyaXB0aW9uKEV4Y2VwdGlvbkNvZGUsIEV4
Y2VwdGlvbkNvZGVEZXNjcmlwdGlvbiopOworCiBwcml2YXRlOgogICAgIEZpbGVFeGNlcHRpb24o
Y29uc3QgRXhjZXB0aW9uQ29kZURlc2NyaXB0aW9uJiBkZXNjcmlwdGlvbikKICAgICAgICAgOiBF
eGNlcHRpb25CYXNlKGRlc2NyaXB0aW9uKQpJbmRleDogU291cmNlL1dlYkNvcmUvZmlsZWFwaS9P
cGVyYXRpb25Ob3RBbGxvd2VkRXhjZXB0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9maWxlYXBpL09wZXJhdGlvbk5vdEFsbG93ZWRFeGNlcHRpb24uY3BwCShyZXZpc2lvbiAw
KQorKysgU291cmNlL1dlYkNvcmUvZmlsZWFwaS9PcGVyYXRpb25Ob3RBbGxvd2VkRXhjZXB0aW9u
LmNwcAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw2OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICogMy4gIE5laXRoZXIgdGhlIG5hbWUgb2YgQXBwbGUgQ29tcHV0ZXIsIEluYy4gKCJBcHBsZSIp
IG5vciB0aGUgbmFtZXMgb2YKKyAqICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCisgKiAgICAgZnJvbSB0aGlzIHNv
ZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgR09PR0xFIEFORCBJVFMgQ09OVFJJQlVUT1JT
ICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQor
ICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgi
CisKKyNpZiBFTkFCTEUoQkxPQikgfHwgRU5BQkxFKEZJTEVfU1lTVEVNKQorCisjaW5jbHVkZSAi
T3BlcmF0aW9uTm90QWxsb3dlZEV4Y2VwdGlvbi5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
Ky8vIEZJWE1FOiBUaGlzIHNob3VsZCBiZSBhbiBhcnJheSBvZiBzdHJ1Y3RzIHRvIHBhaXIgdGhl
IG5hbWVzIGFuZCBkZXNjcmlwdGlvbnMuCitzdGF0aWMgY29uc3QgY2hhciogY29uc3QgZXhjZXB0
aW9uTmFtZXNbXSA9IHsKKyAgICAiTk9UX0FMTE9XRURfRVJSIgorfTsKKworc3RhdGljIGNvbnN0
IGNoYXIqIGNvbnN0IGV4Y2VwdGlvbkRlc2NyaXB0aW9uc1tdID0geworICAgICJBIHJlYWQgbWV0
aG9kIHdhcyBjYWxsZWQgd2hpbGUgdGhlIG9iamVjdCB3YXMgaW4gdGhlIExPQURJTkcgc3RhdGUg
ZHVlIHRvIGEgcHJldmlvdXMgcmVhZCBjYWxsLiIKK307CisKK0NPTVBJTEVfQVNTRVJUKFdURl9B
UlJBWV9MRU5HVEgoZXhjZXB0aW9uTmFtZXMpID09IFdURl9BUlJBWV9MRU5HVEgoZXhjZXB0aW9u
RGVzY3JpcHRpb25zKSwgT3BlcmF0aW9uTm90QWxsb3dlZEV4Y2VwdGlvblRhYmxlc011c3RNYXRj
aCk7CisKK2Jvb2wgT3BlcmF0aW9uTm90QWxsb3dlZEV4Y2VwdGlvbjo6aW5pdGlhbGl6ZURlc2Ny
aXB0aW9uKEV4Y2VwdGlvbkNvZGUgZWMsIEV4Y2VwdGlvbkNvZGVEZXNjcmlwdGlvbiogZGVzY3Jp
cHRpb24pCit7CisgICAgaWYgKGVjIDwgT3BlcmF0aW9uTm90QWxsb3dlZEV4Y2VwdGlvbk9mZnNl
dCB8fCBlYyA+IE9wZXJhdGlvbk5vdEFsbG93ZWRFeGNlcHRpb25NYXgpCisgICAgICAgIHJldHVy
biBmYWxzZTsKKworICAgIGRlc2NyaXB0aW9uLT50eXBlTmFtZSA9ICJET00gT3BlcmF0aW9uTm90
QWxsb3dlZCI7CisgICAgZGVzY3JpcHRpb24tPmNvZGUgPSBlYyAtIE9wZXJhdGlvbk5vdEFsbG93
ZWRFeGNlcHRpb25PZmZzZXQ7CisgICAgZGVzY3JpcHRpb24tPnR5cGUgPSBPcGVyYXRpb25Ob3RB
bGxvd2VkRXhjZXB0aW9uVHlwZTsKKworICAgIHNpemVfdCB0YWJsZVNpemUgPSBXVEZfQVJSQVlf
TEVOR1RIKGV4Y2VwdGlvbk5hbWVzKTsKKyAgICBzaXplX3QgdGFibGVJbmRleCA9IGVjIC0gTk9U
X0FMTE9XRURfRVJSOworCisgICAgZGVzY3JpcHRpb24tPm5hbWUgPSB0YWJsZUluZGV4IDwgdGFi
bGVTaXplID8gZXhjZXB0aW9uTmFtZXNbdGFibGVJbmRleF0gOiAwOworICAgIGRlc2NyaXB0aW9u
LT5kZXNjcmlwdGlvbiA9IHRhYmxlSW5kZXggPCB0YWJsZVNpemUgPyBleGNlcHRpb25EZXNjcmlw
dGlvbnNbdGFibGVJbmRleF0gOiAwOworCisgICAgcmV0dXJuIHRydWU7Cit9CisKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShCTE9CKSB8fCBFTkFCTEUoRklMRV9T
WVNURU0pCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9maWxlYXBpL09wZXJhdGlvbk5vdEFsbG93ZWRF
eGNlcHRpb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9maWxlYXBpL09wZXJhdGlv
bk5vdEFsbG93ZWRFeGNlcHRpb24uaAkocmV2aXNpb24gOTg2NzIpCisrKyBTb3VyY2UvV2ViQ29y
ZS9maWxlYXBpL09wZXJhdGlvbk5vdEFsbG93ZWRFeGNlcHRpb24uaAkod29ya2luZyBjb3B5KQpA
QCAtNTEsNiArNTEsOCBAQCBwdWJsaWM6CiAgICAgICAgIE5PVF9BTExPV0VEX0VSUiA9IE9wZXJh
dGlvbk5vdEFsbG93ZWRFeGNlcHRpb25PZmZzZXQgKyAxLAogICAgIH07CiAKKyAgICBzdGF0aWMg
Ym9vbCBpbml0aWFsaXplRGVzY3JpcHRpb24oRXhjZXB0aW9uQ29kZSwgRXhjZXB0aW9uQ29kZURl
c2NyaXB0aW9uKik7CisKIHByaXZhdGU6CiAgICAgT3BlcmF0aW9uTm90QWxsb3dlZEV4Y2VwdGlv
bihjb25zdCBFeGNlcHRpb25Db2RlRGVzY3JpcHRpb24mIGRlc2NyaXB0aW9uKQogICAgICAgICA6
IEV4Y2VwdGlvbkJhc2UoZGVzY3JpcHRpb24pCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdG9yYWdl
L0lEQkRhdGFiYXNlRXhjZXB0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9z
dG9yYWdlL0lEQkRhdGFiYXNlRXhjZXB0aW9uLmNwcAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9X
ZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJhc2VFeGNlcHRpb24uY3BwCShyZXZpc2lvbiAwKQpAQCAt
MCwwICsxLDkyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiAgTmVpdGhlciB0aGUgbmFt
ZSBvZiBBcHBsZSBDb21wdXRlciwgSW5jLiAoIkFwcGxlIikgbm9yIHRoZSBuYW1lcyBvZgorICog
ICAgIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQKKyAqICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBHT09HTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisgKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisg
KiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2lmIEVOQUJMRShJTkRFWEVE
X0RBVEFCQVNFKQorCisjaW5jbHVkZSAiSURCRGF0YWJhc2VFeGNlcHRpb24uaCIKKworbmFtZXNw
YWNlIFdlYkNvcmUgeworCisvLyBGSVhNRTogVGhpcyBzaG91bGQgYmUgYW4gYXJyYXkgb2Ygc3Ry
dWN0cyB0byBwYWlyIHRoZSBuYW1lcyBhbmQgZGVzY3JpcHRpb25zLgorc3RhdGljIGNvbnN0IGNo
YXIqIGNvbnN0IGV4Y2VwdGlvbk5hbWVzW10gPSB7CisgICAgIlVOS05PV05fRVJSIiwKKyAgICAi
Tk9OX1RSQU5TSUVOVF9FUlIiLAorICAgICJOT1RfRk9VTkRfRVJSIiwKKyAgICAiQ09OU1RSQUlO
VF9FUlIiLAorICAgICJEQVRBX0VSUiIsCisgICAgIk5PVF9BTExPV0VEX0VSUiIsCisgICAgIlNF
UklBTF9FUlIiLAorICAgICJSRUNPVkVSQUJMRV9FUlIiLAorICAgICJUUkFOU0lFTlRfRVJSIiwK
KyAgICAiVElNRU9VVF9FUlIiLAorICAgICJERUFETE9DS19FUlIiLAorICAgICJSRUFEX09OTFlf
RVJSIiwKKyAgICAiQUJPUlRfRVJSIgorfTsKKworc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IGV4
Y2VwdGlvbkRlc2NyaXB0aW9uc1tdID0geworICAgICJBbiB1bmtub3duIGVycm9yIG9jY3VycmVk
IHdpdGhpbiBJbmRleGVkIERhdGFiYXNlLiIsCisgICAgIk5PTl9UUkFOU0lFTlRfRVJSIiwgLy8g
RklYTUU6IFdyaXRlIGEgYmV0dGVyIG1lc3NhZ2UgaWYgaXQncyBldmVyIHBvc3NpYmxlIHRoaXMg
aXMgdGhyb3duLgorICAgICJUaGUgbmFtZSBzdXBwbGllZCBkb2VzIG5vdCBtYXRjaCBhbnkgZXhp
c3RpbmcgaXRlbS4iLAorICAgICJUaGUgcmVxdWVzdCBjYW5ub3QgYmUgY29tcGxldGVkIGR1ZSB0
byBhIGZhaWxlZCBjb25zdHJhaW50LiIsCisgICAgIlRoZSBkYXRhIHByb3ZpZGVkIGRvZXMgbm90
IG1lZXQgdGhlIHJlcXVpcmVtZW50cyBvZiB0aGUgZnVuY3Rpb24uIiwKKyAgICAiVGhpcyBmdW5j
dGlvbiBpcyBub3QgYWxsb3dlZCB0byBiZSBjYWxsZWQgaW4gc3VjaCBhIGNvbnRleHQuIiwKKyAg
ICAiVGhlIGRhdGEgc3VwcGxpZWQgY2Fubm90IGJlIHNlcmlhbGl6ZWQgYWNjb3JkaW5nIHRvIHRo
ZSBzdHJ1Y3R1cmVkIGNsb25pbmcgYWxnb3JpdGhtLiIsCisgICAgIlJFQ09WRVJBQkxFX0VSUiIs
IC8vIEZJWE1FOiBUaGlzIGlzbid0IGV2ZW4gdXNlZC4KKyAgICAiVFJBTlNJRU5UX0VSUiIsIC8v
IEZJWE1FOiBUaGlzIGlzbid0IGV2ZW4gdXNlZC4KKyAgICAiVElNRU9VVF9FUlIiLCAvLyBUaGlz
IGNhbid0IGJlIHRocm93bi4KKyAgICAiREVBRExPQ0tfRVJSIiwgLy8gVGhpcyBjYW4ndCBiZSB0
aHJvd24uCisgICAgIldyaXRlIG9wZXJhdGlvbnMgY2Fubm90IGJlIHByZWZvcm1lZCBvbiBhIHJl
YWQtb25seSB0cmFuc2FjdGlvbi4iLAorICAgICJUaGUgdHJhbnNhY3Rpb24gd2FzIGFib3J0ZWQs
IHNvIHRoZSByZXF1ZXN0IGNhbm5vdCBiZSBmdWxmaWxsZWQuIgorfTsKKworQ09NUElMRV9BU1NF
UlQoV1RGX0FSUkFZX0xFTkdUSChleGNlcHRpb25OYW1lcykgPT0gV1RGX0FSUkFZX0xFTkdUSChl
eGNlcHRpb25EZXNjcmlwdGlvbnMpKTsKKworYm9vbCBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6aW5p
dGlhbGl6ZURlc2NyaXB0aW9uKEV4Y2VwdGlvbkNvZGUgZWMsIEV4Y2VwdGlvbkNvZGVEZXNjcmlw
dGlvbiogZGVzY3JpcHRpb24pCit7CisgICAgaWYgKGVjIDwgSURCRGF0YWJhc2VFeGNlcHRpb25P
ZmZzZXQgfHwgZWMgPiBJREJEYXRhYmFzZUV4Y2VwdGlvbk1heCkKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworCisgICAgZGVzY3JpcHRpb24tPnR5cGVOYW1lID0gIkRPTSBJREJEYXRhYmFzZSI7Cisg
ICAgZGVzY3JpcHRpb24tPmNvZGUgPSBlYyAtIElEQkRhdGFiYXNlRXhjZXB0aW9uT2Zmc2V0Owor
ICAgIGRlc2NyaXB0aW9uLT50eXBlID0gSURCRGF0YWJhc2VFeGNlcHRpb25UeXBlOworCisgICAg
c2l6ZV90IHRhYmxlU2l6ZSA9IFdURl9BUlJBWV9MRU5HVEgoZXhjZXB0aW9uTmFtZXMpOworICAg
IHNpemVfdCB0YWJsZUluZGV4ID0gZWMgLSBVTktOT1dOX0VSUjsKKworICAgIGRlc2NyaXB0aW9u
LT5uYW1lID0gdGFibGVJbmRleCA8IHRhYmxlU2l6ZSA/IGV4Y2VwdGlvbk5hbWVzW3RhYmxlSW5k
ZXhdIDogMDsKKyAgICBkZXNjcmlwdGlvbi0+ZGVzY3JpcHRpb24gPSB0YWJsZUluZGV4IDwgdGFi
bGVTaXplID8gZGVzY3JpcHRpb25UYWJsZVt0YWJsZUluZGV4XSA6IDA7CisKKyAgICByZXR1cm4g
dHJ1ZTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKElO
REVYRURfREFUQUJBU0UpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQkRhdGFiYXNl
RXhjZXB0aW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJEYXRh
YmFzZUV4Y2VwdGlvbi5oCShyZXZpc2lvbiA5ODY3MikKKysrIFNvdXJjZS9XZWJDb3JlL3N0b3Jh
Z2UvSURCRGF0YWJhc2VFeGNlcHRpb24uaAkod29ya2luZyBjb3B5KQpAQCAtNjYsNiArNjYsOCBA
QCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBlcnJvckNvZGUgKyBJREJEYXRhYmFzZUV4Y2VwdGlv
bk9mZnNldDsKICAgICB9CiAKKyAgICBzdGF0aWMgYm9vbCBpbml0aWFsaXplRGVzY3JpcHRpb24o
RXhjZXB0aW9uQ29kZSwgRXhjZXB0aW9uQ29kZURlc2NyaXB0aW9uKik7CisKIHByaXZhdGU6CiAg
ICAgSURCRGF0YWJhc2VFeGNlcHRpb24oY29uc3QgRXhjZXB0aW9uQ29kZURlc2NyaXB0aW9uJiBk
ZXNjcmlwdGlvbikKICAgICAgICAgOiBFeGNlcHRpb25CYXNlKGRlc2NyaXB0aW9uKQpJbmRleDog
U291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxFeGNlcHRpb24uY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3N0b3JhZ2UvU1FMRXhjZXB0aW9uLmNwcAkocmV2aXNpb24gMCkKKysrIFNv
dXJjZS9XZWJDb3JlL3N0b3JhZ2UvU1FMRXhjZXB0aW9uLmNwcAkocmV2aXNpb24gMCkKQEAgLTAs
MCArMSw4MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gIE5laXRoZXIgdGhlIG5hbWUg
b2YgQXBwbGUgQ29tcHV0ZXIsIEluYy4gKCJBcHBsZSIpIG5vciB0aGUgbmFtZXMgb2YKKyAqICAg
ICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkCisgKiAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgR09PR0xFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICog
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoU1FMX0RBVEFC
QVNFKQorCisjaW5jbHVkZSAiU1FMRXhjZXB0aW9uLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KworLy8gRklYTUU6IFRoaXMgc2hvdWxkIGJlIGFuIGFycmF5IG9mIHN0cnVjdHMgdG8gcGFpciB0
aGUgbmFtZXMgYW5kIGRlc2NyaXB0aW9ucy4KK3N0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBleGNl
cHRpb25OYW1lc1tdID0geworICAgICJVTktOT1dOX0VSUiIsCisgICAgIkRBVEFCQVNFX0VSUiIs
CisgICAgIlZFUlNJT05fRVJSIiwKKyAgICAiVE9PX0xBUkdFX0VSUiIsCisgICAgIlFVT1RBX0VS
UiIsCisgICAgIlNZTlRBWF9FUlIiLAorICAgICJDT05TVFJBSU5UX0VSUiIsCisgICAgIlRJTUVP
VVRfRVJSIgorfTsKKworc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IGV4Y2VwdGlvbkRlc2NyaXB0
aW9uc1tdID0geworICAgICJUaGUgb3BlcmF0aW9uIGZhaWxlZCBmb3IgcmVhc29ucyB1bnJlbGF0
ZWQgdG8gdGhlIGRhdGFiYXNlLiIsCisgICAgIlRoZSBvcGVyYXRpb24gZmFpbGVkIGZvciBzb21l
IHJlYXNvbiByZWxhdGVkIHRvIHRoZSBkYXRhYmFzZS4iLAorICAgICJUaGUgYWN0dWFsIGRhdGFi
YXNlIHZlcnNpb24gZGlkIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgdmVyc2lvbi4iLAorICAgICJE
YXRhIHJldHVybmVkIGZyb20gdGhlIGRhdGFiYXNlIGlzIHRvbyBsYXJnZS4iLAorICAgICJRdW90
YSB3YXMgZXhjZWVkZWQuIiwKKyAgICAiSW52YWxpZCBvciB1bmF1dGhvcml6ZWQgc3RhdGVtZW50
OyBvciB0aGUgbnVtYmVyIG9mIGFyZ3VtZW50cyBkaWQgbm90IG1hdGNoIHRoZSBudW1iZXIgb2Yg
PyBwbGFjZWhvbGRlcnMuIiwKKyAgICAiQSBjb25zdHJhaW50IHdhcyB2aW9sYXRlZC4iLAorICAg
ICJBIHRyYW5zYWN0aW9uIGxvY2sgY291bGQgbm90IGJlIGFjcXVpcmVkIGluIGEgcmVhc29uYWJs
ZSB0aW1lLiIKK307CisKK0NPTVBJTEVfQVNTRVJUKFdURl9BUlJBWV9MRU5HVEgoZXhjZXB0aW9u
TmFtZXMpID09IFdURl9BUlJBWV9MRU5HVEgoZXhjZXB0aW9uRGVzY3JpcHRpb25zKSwgU1FMRXhj
ZXB0aW9uVGFibGVzTXVzdE1hdGNoKTsKKworYm9vbCBTUUxFeGNlcHRpb246OmluaXRpYWxpemVE
ZXNjcmlwdGlvbihFeGNlcHRpb25Db2RlIGVjLCBFeGNlcHRpb25Db2RlRGVzY3JpcHRpb24qIGRl
c2NyaXB0aW9uKQoreworICAgIGlmIChlYyA8IFNRTEV4Y2VwdGlvbk9mZnNldCB8fCBlYyA+IFNR
TEV4Y2VwdGlvbk1heCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgZGVzY3JpcHRpb24t
PnR5cGVOYW1lID0gIkRPTSBTUUwiOworICAgIGRlc2NyaXB0aW9uLT5jb2RlID0gZWMgLSBTUUxF
eGNlcHRpb25PZmZzZXQ7CisgICAgZGVzY3JpcHRpb24tPnR5cGUgPSBTUUxFeGNlcHRpb25UeXBl
OworCisgICAgc2l6ZV90IHRhYmxlU2l6ZSA9IFdURl9BUlJBWV9MRU5HVEgoZXhjZXB0aW9uTmFt
ZXMpOworICAgIHNpemVfdCB0YWJsZUluZGV4ID0gZWMgLSBVTktOT1dOX0VSUjsKKworICAgIGRl
c2NyaXB0aW9uLT5uYW1lID0gdGFibGVJbmRleCA8IHRhYmxlU2l6ZSA/IGV4Y2VwdGlvbk5hbWVz
W3RhYmxlSW5kZXhdIDogMDsKKyAgICBkZXNjcmlwdGlvbi0+ZGVzY3JpcHRpb24gPSB0YWJsZUlu
ZGV4IDwgdGFibGVTaXplID8gZXhjZXB0aW9uRGVzY3JpcHRpb25zW3RhYmxlSW5kZXhdIDogMDsK
KworICAgIHJldHVybiB0cnVlOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRp
ZiAvLyBFTkFCTEUoU1FMX0RBVEFCQVNFKQpJbmRleDogU291cmNlL1dlYkNvcmUvc3RvcmFnZS9T
UUxFeGNlcHRpb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTEV4
Y2VwdGlvbi5oCShyZXZpc2lvbiA5ODY3MikKKysrIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU1FM
RXhjZXB0aW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTU4LDYgKzU4LDggQEAgcHVibGljOgogICAg
ICAgICBUSU1FT1VUX0VSUiA9IFNRTEV4Y2VwdGlvbk9mZnNldCArIDcKICAgICB9OwogCisgICAg
c3RhdGljIGJvb2wgaW5pdGlhbGl6ZURlc2NyaXB0aW9uKEV4Y2VwdGlvbkNvZGUsIEV4Y2VwdGlv
bkNvZGVEZXNjcmlwdGlvbiopOworCiBwcml2YXRlOgogICAgIFNRTEV4Y2VwdGlvbihjb25zdCBF
eGNlcHRpb25Db2RlRGVzY3JpcHRpb24mIGRlc2NyaXB0aW9uKQogICAgICAgICA6IEV4Y2VwdGlv
bkJhc2UoZGVzY3JpcHRpb24pCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQWxsSW5PbmUu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbGxJbk9uZS5jcHAJKHJl
dmlzaW9uIDk4NjcyKQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FsbEluT25lLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNjQsNiArNjQsNyBAQAogI2luY2x1ZGUgIlNWR0VsZW1lbnRJbnN0YW5j
ZS5jcHAiCiAjaW5jbHVkZSAiU1ZHRWxlbWVudEluc3RhbmNlTGlzdC5jcHAiCiAjaW5jbHVkZSAi
U1ZHRWxsaXBzZUVsZW1lbnQuY3BwIgorI2luY2x1ZGUgIlNWR0V4Y2VwdGlvbi5jcHAiCiAjaW5j
bHVkZSAiU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5jcHAiCiAjaW5jbHVkZSAiU1ZHRkVC
bGVuZEVsZW1lbnQuY3BwIgogI2luY2x1ZGUgIlNWR0ZFQ29sb3JNYXRyaXhFbGVtZW50LmNwcCIK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFeGNlcHRpb24uY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFeGNlcHRpb24uY3BwCShyZXZpc2lvbiAwKQorKysgU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0V4Y2VwdGlvbi5jcHAJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEs
NzIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
CisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFw
cGxlIENvbXB1dGVyLCBJbmMuICgiQXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCisgKiAgICAgaXRz
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMg
ZGVyaXZlZAorICogICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEdPT0dMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
IElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaWYgRU5BQkxFKFNWRykKKworI2luY2x1
ZGUgIlNWR0V4Y2VwdGlvbi5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKKy8vIEZJWE1FOiBU
aGlzIHNob3VsZCBiZSBhbiBhcnJheSBvZiBzdHJ1Y3RzIHRvIHBhaXIgdGhlIG5hbWVzIGFuZCBk
ZXNjcmlwdGlvbnMuCitzdGF0aWMgY29uc3QgY2hhciogY29uc3QgZXhjZXB0aW9uTmFtZXNbXSA9
IHsKKyAgICAiU1ZHX1dST05HX1RZUEVfRVJSIiwKKyAgICAiU1ZHX0lOVkFMSURfVkFMVUVfRVJS
IiwKKyAgICAiU1ZHX01BVFJJWF9OT1RfSU5WRVJUQUJMRSIKK307CisKK3N0YXRpYyBjb25zdCBj
aGFyKiBjb25zdCBleGNlcHRpb25EZXNjcmlwdGlvbnNbXSA9IHsKKyAgICAiQW4gb2JqZWN0IG9m
IHRoZSB3cm9uZyB0eXBlIHdhcyBwYXNzZWQgdG8gYW4gb3BlcmF0aW9uLiIsCisgICAgIkFuIGlu
dmFsaWQgdmFsdWUgd2FzIHBhc3NlZCB0byBhbiBvcGVyYXRpb24gb3IgYXNzaWduZWQgdG8gYW4g
YXR0cmlidXRlLiIsCisgICAgIkFuIGF0dGVtcHQgd2FzIG1hZGUgdG8gaW52ZXJ0IGEgbWF0cml4
IHRoYXQgaXMgbm90IGludmVydGlibGUuIgorfTsKKworQ09NUElMRV9BU1NFUlQoV1RGX0FSUkFZ
X0xFTkdUSChleGNlcHRpb25OYW1lcykgPT0gV1RGX0FSUkFZX0xFTkdUSChleGNlcHRpb25EZXNj
cmlwdGlvbnMpLCBTVkdFeGNlcHRpb25UYWJsZXNNdXN0TWF0Y2gpOworCitib29sIFNWR0V4Y2Vw
dGlvbjo6aW5pdGlhbGl6ZURlc2NyaXB0aW9uKEV4Y2VwdGlvbkNvZGUgZWMsIEV4Y2VwdGlvbkNv
ZGVEZXNjcmlwdGlvbiogZGVzY3JpcHRpb24pCit7CisgICAgaWYgKGVjIDwgU1ZHRXhjZXB0aW9u
T2Zmc2V0IHx8IGVjID4gU1ZHRXhjZXB0aW9uTWF4KQorICAgICAgICByZXR1cm4gZmFsc2U7CisK
KyAgICBkZXNjcmlwdGlvbi0+dHlwZU5hbWUgPSAiRE9NIFNWRyI7CisgICAgZGVzY3JpcHRpb24t
PmNvZGUgPSBlYyAtIFNWR0V4Y2VwdGlvbk9mZnNldDsKKyAgICBkZXNjcmlwdGlvbi0+dHlwZSA9
IFNWR0V4Y2VwdGlvblR5cGU7CisKKyAgICBzaXplX3QgdGFibGVTaXplID0gV1RGX0FSUkFZX0xF
TkdUSChleGNlcHRpb25OYW1lcyk7CisgICAgc2l6ZV90IHRhYmxlSW5kZXggPSBlYyAtIFNWR19X
Uk9OR19UWVBFX0VSUjsKKworICAgIGRlc2NyaXB0aW9uLT5uYW1lID0gdGFibGVJbmRleCA8IHRh
YmxlU2l6ZSA/IGV4Y2VwdGlvbk5hbWVzW3RhYmxlSW5kZXhdIDogMDsKKyAgICBkZXNjcmlwdGlv
bi0+ZGVzY3JpcHRpb24gPSB0YWJsZUluZGV4IDwgdGFibGVTaXplID8gZXhjZXB0aW9uRGVzY3Jp
cHRpb25zW3RhYmxlSW5kZXhdIDogMDsKKworICAgIHJldHVybiB0cnVlOworfQorCit9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoU1ZHKQpJbmRleDogU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0V4Y2VwdGlvbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdFeGNlcHRpb24uaAkocmV2aXNpb24gOTg2NzIpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHRXhjZXB0aW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTQzLDYgKzQzLDggQEAgcHVibGljOgog
ICAgICAgICBTVkdfTUFUUklYX05PVF9JTlZFUlRBQkxFID0gU1ZHRXhjZXB0aW9uT2Zmc2V0ICsg
MgogICAgIH07CiAKKyAgICBzdGF0aWMgYm9vbCBpbml0aWFsaXplRGVzY3JpcHRpb24oRXhjZXB0
aW9uQ29kZSwgRXhjZXB0aW9uQ29kZURlc2NyaXB0aW9uKik7CisKIHByaXZhdGU6CiAgICAgU1ZH
RXhjZXB0aW9uKGNvbnN0IEV4Y2VwdGlvbkNvZGVEZXNjcmlwdGlvbiYgZGVzY3JpcHRpb24pCiAg
ICAgICAgIDogRXhjZXB0aW9uQmFzZShkZXNjcmlwdGlvbikKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3htbC9YTUxIdHRwUmVxdWVzdEV4Y2VwdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0RXhjZXB0aW9uLmNwcAkocmV2aXNpb24gMCkKKysrIFNv
dXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdEV4Y2VwdGlvbi5jcHAJKHJldmlzaW9uIDAp
CkBAIC0wLDAgKzEsNjUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuICBOZWl0aGVyIHRo
ZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgiQXBwbGUiKSBub3IgdGhlIG5hbWVzIG9m
CisgKiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZAorICogICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEdPT0dMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkK
KyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YK
KyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlhNTEh0
dHBSZXF1ZXN0RXhjZXB0aW9uLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworLy8gRklYTUU6
IFRoaXMgc2hvdWxkIGJlIGFuIGFycmF5IG9mIHN0cnVjdHMgdG8gcGFpciB0aGUgbmFtZXMgYW5k
IGRlc2NyaXB0aW9ucy4KK3N0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBleGNlcHRpb25OYW1lc1td
ID0geworICAgICJORVRXT1JLX0VSUiIsCisgICAgIkFCT1JUX0VSUiIKK307CisKK3N0YXRpYyBj
b25zdCBjaGFyKiBjb25zdCBleGNlcHRpb25EZXNjcmlwdGlvbnNbXSA9IHsKKyAgICAiQSBuZXR3
b3JrIGVycm9yIG9jY3VyZWQgaW4gc3luY2hyb25vdXMgcmVxdWVzdHMuIiwKKyAgICAiVGhlIHVz
ZXIgYWJvcnRlZCBhIHJlcXVlc3QgaW4gc3luY2hyb25vdXMgcmVxdWVzdHMuIgorfTsKKworQ09N
UElMRV9BU1NFUlQoV1RGX0FSUkFZX0xFTkdUSChleGNlcHRpb25OYW1lcykgPT0gV1RGX0FSUkFZ
X0xFTkdUSChleGNlcHRpb25EZXNjcmlwdGlvbnMpLCBYTUxIdHRwUmVxdWVzdEV4Y2VwdGlvblRh
Ymxlc011c3RNYXRjaCk7CisKK2Jvb2wgWE1MSHR0cFJlcXVlc3RFeGNlcHRpb246OmluaXRpYWxp
emVEZXNjcmlwdGlvbihFeGNlcHRpb25Db2RlIGVjLCBFeGNlcHRpb25Db2RlRGVzY3JpcHRpb24q
IGRlc2NyaXB0aW9uKQoreworICAgIGlmIChlYyA8IFhNTEh0dHBSZXF1ZXN0RXhjZXB0aW9uT2Zm
c2V0IHx8IGVjID4gWE1MSHR0cFJlcXVlc3RFeGNlcHRpb25NYXgpCisgICAgICAgIHJldHVybiBm
YWxzZTsKKworICAgIGRlc2NyaXB0aW9uLT50eXBlTmFtZSA9ICJYTUxIdHRwUmVxdWVzdCI7Cisg
ICAgZGVzY3JpcHRpb24tPmNvZGUgPSBlYyAtIFhNTEh0dHBSZXF1ZXN0RXhjZXB0aW9uT2Zmc2V0
OworICAgIGRlc2NyaXB0aW9uLT50eXBlID0gWE1MSHR0cFJlcXVlc3RFeGNlcHRpb25UeXBlOwor
CisgICAgc2l6ZV90IHRhYmxlU2l6ZSA9IFdURl9BUlJBWV9MRU5HVEgoZXhjZXB0aW9uTmFtZXMp
OworICAgIHNpemVfdCB0YWJsZUluZGV4ID0gZWMgLSBORVRXT1JLX0VSUjsKKworICAgIGRlc2Ny
aXB0aW9uLT5uYW1lID0gdGFibGVJbmRleCA8IHRhYmxlU2l6ZSA/IGV4Y2VwdGlvbk5hbWVzW3Rh
YmxlSW5kZXhdIDogMDsKKyAgICBkZXNjcmlwdGlvbi0+ZGVzY3JpcHRpb24gPSB0YWJsZUluZGV4
IDwgdGFibGVTaXplID8gZXhjZXB0aW9uRGVzY3JpcHRpb25zW3RhYmxlSW5kZXhdIDogMDsKKwor
ICAgIHJldHVybiB0cnVlOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RFeGNlcHRpb24uaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RFeGNlcHRpb24uaAkocmV2aXNpb24gOTg2
NzIpCisrKyBTb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RFeGNlcHRpb24uaAkod29y
a2luZyBjb3B5KQpAQCAtNDgsNiArNDgsOCBAQCBwdWJsaWM6CiAgICAgICAgIEFCT1JUX0VSUgog
ICAgIH07CiAKKyAgICBzdGF0aWMgYm9vbCBpbml0aWFsaXplRGVzY3JpcHRpb24oRXhjZXB0aW9u
Q29kZSwgRXhjZXB0aW9uQ29kZURlc2NyaXB0aW9uKik7CisKIHByaXZhdGU6CiAgICAgWE1MSHR0
cFJlcXVlc3RFeGNlcHRpb24oY29uc3QgRXhjZXB0aW9uQ29kZURlc2NyaXB0aW9uJiBkZXNjcmlw
dGlvbikKICAgICAgICAgOiBFeGNlcHRpb25CYXNlKGRlc2NyaXB0aW9uKQpJbmRleDogU291cmNl
L1dlYkNvcmUveG1sL1hQYXRoRXhjZXB0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS94bWwvWFBhdGhFeGNlcHRpb24uY3BwCShyZXZpc2lvbiAwKQorKysgU291cmNlL1dlYkNv
cmUveG1sL1hQYXRoRXhjZXB0aW9uLmNwcAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw2NSBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEu
ICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gIE5laXRoZXIgdGhlIG5hbWUgb2YgQXBwbGUgQ29t
cHV0ZXIsIEluYy4gKCJBcHBsZSIpIG5vciB0aGUgbmFtZXMgb2YKKyAqICAgICBpdHMgY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
CisgKiAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgR09PR0xF
IEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICog
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiWFBhdGhFeGNlcHRpb24uaCIKKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCisvLyBGSVhNRTogVGhpcyBzaG91bGQgYmUgYW4gYXJyYXkgb2Yg
c3RydWN0cyB0byBwYWlyIHRoZSBuYW1lcyBhbmQgZGVzY3JpcHRpb25zLgorc3RhdGljIGNvbnN0
IGNoYXIqIGNvbnN0IGV4Y2VwdGlvbk5hbWVzW10gPSB7CisgICAgIklOVkFMSURfRVhQUkVTU0lP
Tl9FUlIiLAorICAgICJUWVBFX0VSUiIKK307CisKK3N0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBl
eGNlcHRpb25EZXNjcmlwdGlvbnNbXSA9IHsKKyAgICAiVGhlIGV4cHJlc3Npb24gaGFkIGEgc3lu
dGF4IGVycm9yIG9yIG90aGVyd2lzZSBpcyBub3QgYSBsZWdhbCBleHByZXNzaW9uIGFjY29yZGlu
ZyB0byB0aGUgcnVsZXMgb2YgdGhlIHNwZWNpZmljIFhQYXRoRXZhbHVhdG9yLiIsCisgICAgIlRo
ZSBleHByZXNzaW9uIGNvdWxkIG5vdCBiZSBjb252ZXJ0ZWQgdG8gcmV0dXJuIHRoZSBzcGVjaWZp
ZWQgdHlwZS4iCit9OworCitDT01QSUxFX0FTU0VSVChXVEZfQVJSQVlfTEVOR1RIKGV4Y2VwdGlv
bk5hbWVzKSA9PSBXVEZfQVJSQVlfTEVOR1RIKGV4Y2VwdGlvbkRlc2NyaXB0aW9ucyksIFhQYXRo
RXhjZXB0aW9uVGFibGVzTXVzdE1hdGNoKTsKKworYm9vbCBYUGF0aEV4Y2VwdGlvbjo6aW5pdGlh
bGl6ZURlc2NyaXB0aW9uKEV4Y2VwdGlvbkNvZGUgZWMsIEV4Y2VwdGlvbkNvZGVEZXNjcmlwdGlv
biogZGVzY3JpcHRpb24pCit7CisgICAgaWYgKGVjIDwgWFBhdGhFeGNlcHRpb25PZmZzZXQgfHwg
ZWMgPiBYUGF0aEV4Y2VwdGlvbk1heCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgZGVz
Y3JpcHRpb24tPnR5cGVOYW1lID0gIkRPTSBYUGF0aCI7CisgICAgZGVzY3JpcHRpb24tPmNvZGUg
PSBlYyAtIFhQYXRoRXhjZXB0aW9uT2Zmc2V0OworICAgIGRlc2NyaXB0aW9uLT50eXBlID0gWFBh
dGhFeGNlcHRpb25UeXBlOworCisgICAgc2l6ZV90IHRhYmxlU2l6ZSA9IFdURl9BUlJBWV9MRU5H
VEgoZXhjZXB0aW9uTmFtZXMpOworICAgIHNpemVfdCB0YWJsZUluZGV4ID0gZWMgLSBJTlZBTElE
X0VYUFJFU1NJT05fRVJSOworCisgICAgZGVzY3JpcHRpb24tPm5hbWUgPSB0YWJsZUluZGV4IDwg
dGFibGVTaXplID8gZXhjZXB0aW9uTmFtZXNbdGFibGVJbmRleF0gOiAwOworICAgIGRlc2NyaXB0
aW9uLT5kZXNjcmlwdGlvbiA9IHRhYmxlSW5kZXggPCB0YWJsZVNpemUgPyBleGNlcHRpb25EZXNj
cmlwdGlvbnNbdGFibGVJbmRleF0gOiAwOworCisgICAgcmV0dXJuIHRydWU7Cit9CisKK30gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3htbC9YUGF0aEV4Y2VwdGlv
bi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3htbC9YUGF0aEV4Y2VwdGlvbi5oCShy
ZXZpc2lvbiA5ODY3MikKKysrIFNvdXJjZS9XZWJDb3JlL3htbC9YUGF0aEV4Y2VwdGlvbi5oCSh3
b3JraW5nIGNvcHkpCkBAIC00OCw2ICs0OCw4IEBAIHB1YmxpYzoKICAgICAgICAgVFlQRV9FUlIK
ICAgICB9OwogCisgICAgc3RhdGljIGJvb2wgaW5pdGlhbGl6ZURlc2NyaXB0aW9uKEV4Y2VwdGlv
bkNvZGUsIEV4Y2VwdGlvbkNvZGVEZXNjcmlwdGlvbiopOworCiBwcml2YXRlOgogICAgIFhQYXRo
RXhjZXB0aW9uKGNvbnN0IEV4Y2VwdGlvbkNvZGVEZXNjcmlwdGlvbiYgZGVzY3JpcHRpb24pCiAg
ICAgICAgIDogRXhjZXB0aW9uQmFzZShkZXNjcmlwdGlvbikK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>112800</attachid>
            <date>2011-10-27 18:22:16 -0700</date>
            <delta_ts>2011-10-27 18:23:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-71081-20111027182214.patch</filename>
            <type>text/plain</type>
            <size>94055</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk4NjcyKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNTIgQEAKKzIwMTEtMTAtMjcgIEFkYW0gQmFy
dGggIDxhYmFydGhAd2Via2l0Lm9yZz4KKworICAgICAgICBNb3ZlIHR5cGUtc3BlY2lmaWMgZXhj
ZXB0aW9uIGRlc2NyaXB0aW9ucyBpbnRvIHRoZSBpbXBsZW1lbnRhdGlvbiBmaWxlcyBmb3IgZWFj
aCB0eXBlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03
MTA4MQorCisgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgorCisgICAgICAgIFRoZXJl
J3Mgbm8gcmVhc29uIHRvIGNlbnRyYWxpemUgdGhpcyBpbmZvcm1hdGlvbi4gIEl0IGJlbG9uZ3Mg
d2l0aCBlYWNoCisgICAgICAgIGV4Y2VwdGlvbiB0eXBlLiAgVGhpcyBwYXRjaCBpcyBpbiBwcmVw
YXJhdGlvbiBmb3IgYXV0b2dlbmVyYXRpbmcgdGhlIGNlbnRyYWwgZmlsZS4KKworICAgICAgICAq
IFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBkb20vRE9NQ29y
ZUV4Y2VwdGlvbi5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6RE9NQ29yZUV4Y2VwdGlv
bjo6aW5pdGlhbGl6ZURlc2NyaXB0aW9uKToKKyAgICAgICAgKiBkb20vRE9NQ29yZUV4Y2VwdGlv
bi5oOgorICAgICAgICAqIGRvbS9FdmVudEV4Y2VwdGlvbi5jcHA6IENvcGllZCBmcm9tIFNvdXJj
ZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdEV4Y2VwdGlvbi5oLgorICAgICAgICAoV2ViQ29y
ZTo6RXZlbnRFeGNlcHRpb246OmluaXRpYWxpemVEZXNjcmlwdGlvbik6CisgICAgICAgICogZG9t
L0V2ZW50RXhjZXB0aW9uLmg6CisgICAgICAgICogZG9tL0V4Y2VwdGlvbkJhc2UuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OkV4Y2VwdGlvbkJhc2U6OmNvZGUpOgorICAgICAgICAoV2ViQ29yZTo6RXhj
ZXB0aW9uQmFzZTo6bmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpFeGNlcHRpb25CYXNlOjptZXNz
YWdlKToKKyAgICAgICAgKFdlYkNvcmU6OkV4Y2VwdGlvbkJhc2U6OmRlc2NyaXB0aW9uKToKKyAg
ICAgICAgKiBkb20vRXhjZXB0aW9uQ29kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpnZXRFeGNl
cHRpb25Db2RlRGVzY3JpcHRpb24pOgorICAgICAgICAqIGRvbS9SYW5nZUV4Y2VwdGlvbi5jcHA6
IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL3htbC9YUGF0aEV4Y2VwdGlvbi5oLgorICAgICAg
ICAoV2ViQ29yZTo6UmFuZ2VFeGNlcHRpb246OmluaXRpYWxpemVEZXNjcmlwdGlvbik6CisgICAg
ICAgICogZG9tL1JhbmdlRXhjZXB0aW9uLmg6CisgICAgICAgICogZmlsZWFwaS9GaWxlRXhjZXB0
aW9uLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpGaWxlRXhjZXB0aW9uOjppbml0aWFs
aXplRGVzY3JpcHRpb24pOgorICAgICAgICAqIGZpbGVhcGkvRmlsZUV4Y2VwdGlvbi5oOgorICAg
ICAgICAqIGZpbGVhcGkvT3BlcmF0aW9uTm90QWxsb3dlZEV4Y2VwdGlvbi5jcHA6IENvcGllZCBm
cm9tIFNvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdEV4Y2VwdGlvbi5oLgorICAgICAg
ICAoV2ViQ29yZTo6T3BlcmF0aW9uTm90QWxsb3dlZEV4Y2VwdGlvbjo6aW5pdGlhbGl6ZURlc2Ny
aXB0aW9uKToKKyAgICAgICAgKiBmaWxlYXBpL09wZXJhdGlvbk5vdEFsbG93ZWRFeGNlcHRpb24u
aDoKKyAgICAgICAgKiBzdG9yYWdlL0lEQkRhdGFiYXNlRXhjZXB0aW9uLmNwcDogQWRkZWQuCisg
ICAgICAgIChXZWJDb3JlOjpJREJEYXRhYmFzZUV4Y2VwdGlvbjo6aW5pdGlhbGl6ZURlc2NyaXB0
aW9uKToKKyAgICAgICAgKiBzdG9yYWdlL0lEQkRhdGFiYXNlRXhjZXB0aW9uLmg6CisgICAgICAg
ICogc3RvcmFnZS9TUUxFeGNlcHRpb24uY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNR
TEV4Y2VwdGlvbjo6aW5pdGlhbGl6ZURlc2NyaXB0aW9uKToKKyAgICAgICAgKiBzdG9yYWdlL1NR
TEV4Y2VwdGlvbi5oOgorICAgICAgICAqIHN2Zy9TVkdFeGNlcHRpb24uY3BwOiBDb3BpZWQgZnJv
bSBTb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRFeGNlcHRpb24uaC4KKyAgICAgICAgKFdlYkNvcmU6
OlNWR0V4Y2VwdGlvbjo6aW5pdGlhbGl6ZURlc2NyaXB0aW9uKToKKyAgICAgICAgKiBzdmcvU1ZH
RXhjZXB0aW9uLmg6CisgICAgICAgICogeG1sL1hNTEh0dHBSZXF1ZXN0RXhjZXB0aW9uLmNwcDog
Q29waWVkIGZyb20gU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0RXhjZXB0aW9uLmgu
CisgICAgICAgIChXZWJDb3JlOjpYTUxIdHRwUmVxdWVzdEV4Y2VwdGlvbjo6aW5pdGlhbGl6ZURl
c2NyaXB0aW9uKToKKyAgICAgICAgKiB4bWwvWE1MSHR0cFJlcXVlc3RFeGNlcHRpb24uaDoKKyAg
ICAgICAgKiB4bWwvWFBhdGhFeGNlcHRpb24uY3BwOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29y
ZS94bWwvWFBhdGhFeGNlcHRpb24uaC4KKyAgICAgICAgKFdlYkNvcmU6OlhQYXRoRXhjZXB0aW9u
Ojppbml0aWFsaXplRGVzY3JpcHRpb24pOgorICAgICAgICAqIHhtbC9YUGF0aEV4Y2VwdGlvbi5o
OgorCiAyMDExLTEwLTI3ICBIZWxkZXIgQ29ycmVpYSAgPGhlbGRlci5jb3JyZWlhQHBhbG0uY29t
PgogCiAgICAgICAgIFtRdF0gRmFpbHVyZSB0byBidWlsZCB3aGVuIFFUX05PX0NVUlNPUiBkZWZp
bmVkCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkocmV2aXNpb24gOTg2NzIpCisrKyBTb3VyY2Uv
V2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkod29ya2luZyBjb3B5KQpAQCAtNTM4LDYgKzUzOCw3IEBA
IFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICBkb20vRG9jdW1lbnRQYXJzZXIuY3BwCiAgICAgZG9t
L0RvY3VtZW50T3JkZXJlZE1hcC5jcHAKICAgICBkb20vRG9jdW1lbnRUeXBlLmNwcAorICAgIGRv
bS9ET01Db3JlRXhjZXB0aW9uLmNwcAogICAgIGRvbS9ET01JbXBsZW1lbnRhdGlvbi5jcHAKICAg
ICBkb20vRE9NU3RyaW5nTGlzdC5jcHAKICAgICBkb20vRE9NU3RyaW5nTWFwLmNwcApAQCAtNTUw
LDYgKzU1MSw3IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICBkb20vRXZlbnRDb250ZXh0LmNw
cAogICAgIGRvbS9FdmVudERpc3BhdGNoTWVkaWF0b3IuY3BwCiAgICAgZG9tL0V2ZW50RGlzcGF0
Y2hlci5jcHAKKyAgICBkb20vRXZlbnRFeGNlcHRpb24uY3BwCiAgICAgZG9tL0V2ZW50TGlzdGVu
ZXJNYXAuY3BwCiAgICAgZG9tL0V2ZW50TmFtZXMuY3BwCiAgICAgZG9tL0V2ZW50VGFyZ2V0LmNw
cApAQCAtNTg1LDYgKzU4Nyw3IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICBkb20vUHJvZ3Jl
c3NFdmVudC5jcHAKICAgICBkb20vUXVhbGlmaWVkTmFtZS5jcHAKICAgICBkb20vUmFuZ2UuY3Bw
CisgICAgZG9tL1JhbmdlRXhjZXB0aW9uLmNwcAogICAgIGRvbS9SZWdpc3RlcmVkRXZlbnRMaXN0
ZW5lci5jcHAKICAgICBkb20vU2NvcGVkRXZlbnRRdWV1ZS5jcHAKICAgICBkb20vU2NyaXB0YWJs
ZURvY3VtZW50UGFyc2VyLmNwcApAQCAtNjgxLDcgKzY4NCw5IEBAIFNFVChXZWJDb3JlX1NPVVJD
RVMKICAgICBmaWxlYXBpL0Jsb2IuY3BwCiAgICAgZmlsZWFwaS9CbG9iVVJMLmNwcAogICAgIGZp
bGVhcGkvRmlsZS5jcHAKKyAgICBmaWxlYXBpL0ZpbGVFeGNlcHRpb24uY3BwCiAgICAgZmlsZWFw
aS9GaWxlTGlzdC5jcHAKKyAgICBmaWxlYXBpL09wZXJhdGlvbk5vdEFsbG93ZWRFeGNlcHRpb24u
Y3BwCiAgICAgZmlsZWFwaS9UaHJlYWRhYmxlQmxvYlJlZ2lzdHJ5LmNwcAogICAgIGZpbGVhcGkv
V2ViS2l0QmxvYkJ1aWxkZXIuY3BwCiAKQEAgLTEzMzAsNiArMTMzNSw3IEBAIFNFVChXZWJDb3Jl
X1NPVVJDRVMKICAgICBzdG9yYWdlL0lEQkRhdGFiYXNlQmFja2VuZEltcGwuY3BwCiAgICAgc3Rv
cmFnZS9JREJDdXJzb3IuY3BwCiAgICAgc3RvcmFnZS9JREJDdXJzb3JCYWNrZW5kSW1wbC5jcHAK
KyAgICBzdG9yYWdlL0lEQkRhdGFiYXNlRXhjZXB0aW9uLmNwcAogICAgIHN0b3JhZ2UvSURCRXZl
bnREaXNwYXRjaGVyLmNwcAogICAgIHN0b3JhZ2UvSURCSW5kZXguY3BwCiAgICAgc3RvcmFnZS9J
REJJbmRleEJhY2tlbmRJbXBsLmNwcApAQCAtMTM0NSw2ICsxMzUxLDcgQEAgU0VUKFdlYkNvcmVf
U09VUkNFUwogICAgIHN0b3JhZ2UvTG9jYWxTdG9yYWdlVGhyZWFkLmNwcAogICAgIHN0b3JhZ2Uv
T3JpZ2luUXVvdGFNYW5hZ2VyLmNwcAogICAgIHN0b3JhZ2UvT3JpZ2luVXNhZ2VSZWNvcmQuY3Bw
CisgICAgc3RvcmFnZS9TUUxFeGNlcHRpb24uY3BwCiAgICAgc3RvcmFnZS9TUUxSZXN1bHRTZXQu
Y3BwCiAgICAgc3RvcmFnZS9TUUxSZXN1bHRTZXRSb3dMaXN0LmNwcAogICAgIHN0b3JhZ2UvU1FM
U3RhdGVtZW50LmNwcApAQCAtMTM2OSwxMSArMTM3NiwxMyBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VT
CiAgICAgeG1sL05hdGl2ZVhQYXRoTlNSZXNvbHZlci5jcHAKICAgICB4bWwvWE1MRXJyb3JzLmNw
cAogICAgIHhtbC9YTUxIdHRwUmVxdWVzdC5jcHAKKyAgICB4bWwvWE1MSHR0cFJlcXVlc3RFeGNl
cHRpb24uY3BwCiAgICAgeG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmNw
cAogICAgIHhtbC9YTUxIdHRwUmVxdWVzdFVwbG9hZC5jcHAKICAgICB4bWwvWE1MVHJlZVZpZXdl
ci5jcHAKICAgICB4bWwvWE1MU2VyaWFsaXplci5jcHAKICAgICB4bWwvWFBhdGhFdmFsdWF0b3Iu
Y3BwCisgICAgeG1sL1hQYXRoRXhjZXB0aW9uLmNwcAogICAgIHhtbC9YUGF0aEV4cHJlc3Npb24u
Y3BwCiAgICAgeG1sL1hQYXRoRXhwcmVzc2lvbk5vZGUuY3BwCiAgICAgeG1sL1hQYXRoRnVuY3Rp
b25zLmNwcApAQCAtMTY5MCw2ICsxNjk5LDcgQEAgSUYgKEVOQUJMRV9TVkcpCiAgICAgICAgIHN2
Zy9TVkdFbGVtZW50SW5zdGFuY2UuY3BwCiAgICAgICAgIHN2Zy9TVkdFbGVtZW50SW5zdGFuY2VM
aXN0LmNwcAogICAgICAgICBzdmcvU1ZHRWxsaXBzZUVsZW1lbnQuY3BwCisgICAgICAgIHN2Zy9T
VkdFeGNlcHRpb24uY3BwCiAgICAgICAgIHN2Zy9TVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVk
LmNwcAogICAgICAgICBzdmcvU1ZHRkVCbGVuZEVsZW1lbnQuY3BwCiAgICAgICAgIHN2Zy9TVkdG
RUNvbG9yTWF0cml4RWxlbWVudC5jcHAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxl
Lmxpc3QuYW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5h
bQkocmV2aXNpb24gOTg2NzIpCisrKyBTb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFt
CSh3b3JraW5nIGNvcHkpCkBAIC0xMTg5LDYgKzExODksNyBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0g
XAogCVNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudFRpbWluZy5oIFwKIAlTb3VyY2UvV2ViQ29y
ZS9kb20vRG9jdW1lbnRUeXBlLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50VHlw
ZS5oIFwKKwlTb3VyY2UvV2ViQ29yZS9kb20vRE9NQ29yZUV4Y2VwdGlvbi5jcHAgXAogCVNvdXJj
ZS9XZWJDb3JlL2RvbS9ET01Db3JlRXhjZXB0aW9uLmggXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9E
T01JbXBsZW1lbnRhdGlvbi5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9ET01JbXBsZW1lbnRh
dGlvbi5oIFwKQEAgLTEyMTcsNiArMTIxOCw3IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291
cmNlL1dlYkNvcmUvZG9tL0V2ZW50RGlzcGF0Y2hNZWRpYXRvci5oIFwKIAlTb3VyY2UvV2ViQ29y
ZS9kb20vRXZlbnREaXNwYXRjaGVyLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50RGlz
cGF0Y2hlci5oIFwKKwlTb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRFeGNlcHRpb24uY3BwIFwKIAlT
b3VyY2UvV2ViQ29yZS9kb20vRXZlbnRFeGNlcHRpb24uaCBcCiAJU291cmNlL1dlYkNvcmUvZG9t
L0V2ZW50RmFjdG9yeS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRMaXN0ZW5lci5oIFwK
QEAgLTEzMDEsNiArMTMwMyw3IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNv
cmUvZG9tL1F1YWxpZmllZE5hbWUuaCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL1JhbmdlQm91bmRh
cnlQb2ludC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vUmFuZ2UuY3BwIFwKKwlTb3VyY2UvV2Vi
Q29yZS9kb20vUmFuZ2VFeGNlcHRpb24uY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vUmFuZ2VF
eGNlcHRpb24uaCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL1JhbmdlLmggXAogCVNvdXJjZS9XZWJD
b3JlL2RvbS9SYXdEYXRhRG9jdW1lbnRQYXJzZXIuaCBcCkBAIC0xNTMzLDYgKzE1MzYsOCBAQCB3
ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZUVycm9yLmgg
XAogCVNvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZUV4Y2VwdGlvbi5oIFwKIAlTb3VyY2UvV2Vi
Q29yZS9maWxlYXBpL0ZpbGUuaCBcCisJU291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxlRXhjZXB0
aW9uLmNwcCBcCisJU291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxlRXhjZXB0aW9uLmggXAogCVNv
dXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZUxpc3QuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9maWxl
YXBpL0ZpbGVMaXN0LmggXAogCVNvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZVJlYWRlci5jcHAg
XApAQCAtMTU2Myw2ICsxNTY4LDcgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2Vi
Q29yZS9maWxlYXBpL0xvY2FsRmlsZVN5c3RlbS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9maWxlYXBp
L01ldGFkYXRhQ2FsbGJhY2suaCBcCiAJU291cmNlL1dlYkNvcmUvZmlsZWFwaS9NZXRhZGF0YS5o
IFwKKwlTb3VyY2UvV2ViQ29yZS9maWxlYXBpL09wZXJhdGlvbk5vdEFsbG93ZWRFeGNlcHRpb24u
Y3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9maWxlYXBpL09wZXJhdGlvbk5vdEFsbG93ZWRFeGNlcHRp
b24uaCBcCiAJU291cmNlL1dlYkNvcmUvZmlsZWFwaS9UaHJlYWRhYmxlQmxvYlJlZ2lzdHJ5LmNw
cCBcCiAJU291cmNlL1dlYkNvcmUvZmlsZWFwaS9UaHJlYWRhYmxlQmxvYlJlZ2lzdHJ5LmggXApA
QCAtMzM5NSw2ICszNDAxLDcgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29y
ZS9zdG9yYWdlL0lEQkRhdGFiYXNlQ2FsbGJhY2tzSW1wbC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9z
dG9yYWdlL0lEQkRhdGFiYXNlLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJEYXRh
YmFzZUVycm9yLmggXAorCVNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJhc2VFeGNlcHRp
b24uY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQkRhdGFiYXNlRXhjZXB0aW9uLmgg
XAogCVNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJhc2UuaCBcCiAJU291cmNlL1dlYkNv
cmUvc3RvcmFnZS9JREJFdmVudERpc3BhdGNoZXIuY3BwIFwKQEAgLTM0NDQsNiArMzQ1MSw3IEBA
IHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvc3RvcmFnZS9PcmlnaW5Vc2Fn
ZVJlY29yZC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTENhbGxiYWNrV3JhcHBlci5o
IFwKIAlTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTEVycm9yLmggXAorCVNvdXJjZS9XZWJDb3Jl
L3N0b3JhZ2UvU1FMRXhjZXB0aW9uLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxF
eGNlcHRpb24uaCBcCiAJU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxSZXN1bHRTZXQuY3BwIFwK
IAlTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTFJlc3VsdFNldC5oIFwKQEAgLTM2MTksNiArMzYy
Nyw3IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1l
bnRSYXJlRGF0YS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxsaXBzZUVsZW1lbnQuY3Bw
IFwKIAlTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxsaXBzZUVsZW1lbnQuaCBcCisJU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0V4Y2VwdGlvbi5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFeGNl
cHRpb24uaCBcCiAJU291cmNlL1dlYkNvcmUvc3ZnL1NWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWly
ZWQuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJl
ZC5oIFwKQEAgLTM5NDMsNiArMzk1Miw3IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNl
L1dlYkNvcmUveG1sL1hNTEVycm9ycy5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3htbC9YTUxFcnJv
cnMuaCBcCiAJU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcCBcCisJU291cmNl
L1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0RXhjZXB0aW9uLmNwcCBcCiAJU291cmNlL1dlYkNv
cmUveG1sL1hNTEh0dHBSZXF1ZXN0RXhjZXB0aW9uLmggXAogCVNvdXJjZS9XZWJDb3JlL3htbC9Y
TUxIdHRwUmVxdWVzdC5oIFwKIAlTb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RQcm9n
cmVzc0V2ZW50LmggXApAQCAtMzk1Niw2ICszOTY2LDcgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwK
IAlTb3VyY2UvV2ViQ29yZS94bWwvWE1MU2VyaWFsaXplci5oIFwKIAlTb3VyY2UvV2ViQ29yZS94
bWwvWFBhdGhFdmFsdWF0b3IuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhFdmFsdWF0
b3IuaCBcCisJU291cmNlL1dlYkNvcmUveG1sL1hQYXRoRXhjZXB0aW9uLmNwcCBcCiAJU291cmNl
L1dlYkNvcmUveG1sL1hQYXRoRXhjZXB0aW9uLmggXAogCVNvdXJjZS9XZWJDb3JlL3htbC9YUGF0
aEV4cHJlc3Npb24uY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhFeHByZXNzaW9uLmgg
XApJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQkocmV2aXNpb24gOTg2NzIpCisrKyBTb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLmd5cGkJKHdvcmtpbmcgY29weSkKQEAgLTI2MDcsNiArMjYwNyw3IEBACiAgICAg
ICAgICAgICAnZmlsZWFwaS9GaWxlRW50cnlTeW5jLmNwcCcsCiAgICAgICAgICAgICAnZmlsZWFw
aS9GaWxlRW50cnlTeW5jLmgnLAogICAgICAgICAgICAgJ2ZpbGVhcGkvRmlsZUVycm9yLmgnLAor
ICAgICAgICAgICAgJ2ZpbGVhcGkvRmlsZUV4Y2VwdGlvbi5jcHAnLAogICAgICAgICAgICAgJ2Zp
bGVhcGkvRmlsZUV4Y2VwdGlvbi5oJywKICAgICAgICAgICAgICdmaWxlYXBpL0ZpbGVMaXN0LmNw
cCcsCiAgICAgICAgICAgICAnZmlsZWFwaS9GaWxlTGlzdC5oJywKQEAgLTI2MzgsNiArMjYzOSw3
IEBACiAgICAgICAgICAgICAnZmlsZWFwaS9Mb2NhbEZpbGVTeXN0ZW0uaCcsCiAgICAgICAgICAg
ICAnZmlsZWFwaS9NZXRhZGF0YS5oJywKICAgICAgICAgICAgICdmaWxlYXBpL01ldGFkYXRhQ2Fs
bGJhY2suaCcsCisgICAgICAgICAgICAnZmlsZWFwaS9PcGVyYXRpb25Ob3RBbGxvd2VkRXhjZXB0
aW9uLmNwcCcsCiAgICAgICAgICAgICAnZmlsZWFwaS9PcGVyYXRpb25Ob3RBbGxvd2VkRXhjZXB0
aW9uLmgnLAogICAgICAgICAgICAgJ2ZpbGVhcGkvU3luY0NhbGxiYWNrSGVscGVyLmgnLAogICAg
ICAgICAgICAgJ2ZpbGVhcGkvVGhyZWFkYWJsZUJsb2JSZWdpc3RyeS5jcHAnLApAQCAtNDgxNCw2
ICs0ODE2LDcgQEAKICAgICAgICAgICAgICdzdG9yYWdlL0lEQkRhdGFiYXNlQ2FsbGJhY2tzSW1w
bC5jcHAnLAogICAgICAgICAgICAgJ3N0b3JhZ2UvSURCRGF0YWJhc2VDYWxsYmFja3NJbXBsLmgn
LAogICAgICAgICAgICAgJ3N0b3JhZ2UvSURCRGF0YWJhc2VFcnJvci5oJywKKyAgICAgICAgICAg
ICdzdG9yYWdlL0lEQkRhdGFiYXNlRXhjZXB0aW9uLmNwcCcsCiAgICAgICAgICAgICAnc3RvcmFn
ZS9JREJEYXRhYmFzZUV4Y2VwdGlvbi5oJywKICAgICAgICAgICAgICdzdG9yYWdlL0lEQkV2ZW50
RGlzcGF0Y2hlci5jcHAnLAogICAgICAgICAgICAgJ3N0b3JhZ2UvSURCRXZlbnREaXNwYXRjaGVy
LmgnLApAQCAtNDg3MCw2ICs0ODczLDcgQEAKICAgICAgICAgICAgICdzdG9yYWdlL09yaWdpblVz
YWdlUmVjb3JkLmNwcCcsCiAgICAgICAgICAgICAnc3RvcmFnZS9PcmlnaW5Vc2FnZVJlY29yZC5o
JywKICAgICAgICAgICAgICdzdG9yYWdlL1NRTENhbGxiYWNrV3JhcHBlci5oJywKKyAgICAgICAg
ICAgICdzdG9yYWdlL1NRTEV4Y2VwdGlvbi5jcHAnLAogICAgICAgICAgICAgJ3N0b3JhZ2UvU1FM
RXhjZXB0aW9uLmgnLAogICAgICAgICAgICAgJ3N0b3JhZ2UvU1FMUmVzdWx0U2V0LmNwcCcsCiAg
ICAgICAgICAgICAnc3RvcmFnZS9TUUxSZXN1bHRTZXRSb3dMaXN0LmNwcCcsCkBAIC01MDc2LDYg
KzUwODAsNyBAQAogICAgICAgICAgICAgJ3htbC9YTUxFcnJvcnMuaCcsCiAgICAgICAgICAgICAn
eG1sL1hNTEh0dHBSZXF1ZXN0LmNwcCcsCiAgICAgICAgICAgICAneG1sL1hNTEh0dHBSZXF1ZXN0
LmgnLAorICAgICAgICAgICAgJ3htbC9YTUxIdHRwUmVxdWVzdEV4Y2VwdGlvbi5jcHAnLAogICAg
ICAgICAgICAgJ3htbC9YTUxIdHRwUmVxdWVzdEV4Y2VwdGlvbi5oJywKICAgICAgICAgICAgICd4
bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50LmgnLAogICAgICAgICAgICAgJ3htbC9YTUxI
dHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZS5jcHAnLApAQCAtNTA4OCw2ICs1MDkzLDcg
QEAKICAgICAgICAgICAgICd4bWwvWE1MVHJlZVZpZXdlci5oJywKICAgICAgICAgICAgICd4bWwv
WFBhdGhFdmFsdWF0b3IuY3BwJywKICAgICAgICAgICAgICd4bWwvWFBhdGhFdmFsdWF0b3IuaCcs
CisgICAgICAgICAgICAneG1sL1hQYXRoRXhjZXB0aW9uLmNwcCcsCiAgICAgICAgICAgICAneG1s
L1hQYXRoRXhjZXB0aW9uLmgnLAogICAgICAgICAgICAgJ3htbC9YUGF0aEV4cHJlc3Npb24uY3Bw
JywKICAgICAgICAgICAgICd4bWwvWFBhdGhFeHByZXNzaW9uLmgnLApAQCAtNTE2Niw2ICs1MTcy
LDcgQEAKICAgICAgICAgICAgICdkb20vQ3VzdG9tRXZlbnQuY3BwJywKICAgICAgICAgICAgICdk
b20vQ3VzdG9tRXZlbnQuaCcsCiAgICAgICAgICAgICAnZG9tL0RPTUFsbEluT25lLmNwcCcsCisg
ICAgICAgICAgICAnZG9tL0RPTUNvcmVFeGNlcHRpb24uY3BwJywKICAgICAgICAgICAgICdkb20v
RE9NQ29yZUV4Y2VwdGlvbi5oJywKICAgICAgICAgICAgICdkb20vRE9NSW1wbGVtZW50YXRpb24u
Y3BwJywKICAgICAgICAgICAgICdkb20vRE9NU3RyaW5nTGlzdC5jcHAnLApAQCAtNTIxOSw2ICs1
MjI2LDcgQEAKICAgICAgICAgICAgICdkb20vRXZlbnREaXNwYXRjaE1lZGlhdG9yLmgnLAogICAg
ICAgICAgICAgJ2RvbS9FdmVudERpc3BhdGNoZXIuY3BwJywKICAgICAgICAgICAgICdkb20vRXZl
bnREaXNwYXRjaGVyLmgnLAorICAgICAgICAgICAgJ2RvbS9FdmVudEV4Y2VwdGlvbi5jcHAnLAog
ICAgICAgICAgICAgJ2RvbS9FdmVudEV4Y2VwdGlvbi5oJywKICAgICAgICAgICAgICdkb20vRXZl
bnRMaXN0ZW5lck1hcC5jcHAnLAogICAgICAgICAgICAgJ2RvbS9FdmVudE5hbWVzLmNwcCcsCkBA
IC01MjgyLDYgKzUyOTAsNyBAQAogICAgICAgICAgICAgJ2RvbS9Qcm9ncmVzc0V2ZW50LmgnLAog
ICAgICAgICAgICAgJ2RvbS9RdWFsaWZpZWROYW1lLmNwcCcsCiAgICAgICAgICAgICAnZG9tL1Jh
bmdlLmNwcCcsCisgICAgICAgICAgICAnZG9tL1JhbmdlRXhjZXB0aW9uLmNwcCcsCiAgICAgICAg
ICAgICAnZG9tL1JhbmdlRXhjZXB0aW9uLmgnLAogICAgICAgICAgICAgJ2RvbS9SYXdEYXRhRG9j
dW1lbnRQYXJzZXIuaCcsCiAgICAgICAgICAgICAnZG9tL1JlZ2lzdGVyZWRFdmVudExpc3RlbmVy
LmNwcCcsCkBAIC01OTM1LDYgKzU5NDQsNyBAQAogICAgICAgICAgICAgJ3N2Zy9TVkdFbGVtZW50
UmFyZURhdGEuaCcsCiAgICAgICAgICAgICAnc3ZnL1NWR0VsbGlwc2VFbGVtZW50LmNwcCcsCiAg
ICAgICAgICAgICAnc3ZnL1NWR0VsbGlwc2VFbGVtZW50LmgnLAorICAgICAgICAgICAgJ3N2Zy9T
VkdFeGNlcHRpb24uY3BwJywKICAgICAgICAgICAgICdzdmcvU1ZHRXhjZXB0aW9uLmgnLAogICAg
ICAgICAgICAgJ3N2Zy9TVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLmNwcCcsCiAgICAgICAg
ICAgICAnc3ZnL1NWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQuaCcsCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnBybwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LnBybwkocmV2aXNpb24gOTg2NzIpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBybwkod29y
a2luZyBjb3B5KQpAQCAtNDkxLDYgKzQ5MSw3IEBAIFNPVVJDRVMgKz0gXAogICAgIGRvbS9Eb2N1
bWVudE9yZGVyZWRNYXAuY3BwIFwKICAgICBkb20vRG9jdW1lbnRQYXJzZXIuY3BwIFwKICAgICBk
b20vRG9jdW1lbnRUeXBlLmNwcCBcCisgICAgZG9tL0RPTUNvcmVFeGNlcHRpb24uY3BwIFwKICAg
ICBkb20vRE9NSW1wbGVtZW50YXRpb24uY3BwIFwKICAgICBkb20vRE9NU3RyaW5nTGlzdC5jcHAg
XAogICAgIGRvbS9ET01TdHJpbmdNYXAuY3BwIFwKQEAgLTUwNCw2ICs1MDUsNyBAQCBTT1VSQ0VT
ICs9IFwKICAgICBkb20vRXZlbnRDb250ZXh0LmNwcCBcCiAgICAgZG9tL0V2ZW50RGlzcGF0Y2hN
ZWRpYXRvci5jcHAgXAogICAgIGRvbS9FdmVudERpc3BhdGNoZXIuY3BwIFwKKyAgICBkb20vRXZl
bnRFeGNlcHRpb24uY3BwIFwKICAgICBkb20vRXZlbnRMaXN0ZW5lck1hcC5jcHAgXAogICAgIGRv
bS9FdmVudE5hbWVzLmNwcCBcCiAgICAgZG9tL0V2ZW50VGFyZ2V0LmNwcCBcCkBAIC01NDAsNiAr
NTQyLDcgQEAgU09VUkNFUyArPSBcCiAgICAgZG9tL1Byb2dyZXNzRXZlbnQuY3BwIFwKICAgICBk
b20vUXVhbGlmaWVkTmFtZS5jcHAgXAogICAgIGRvbS9SYW5nZS5jcHAgXAorICAgIGRvbS9SYW5n
ZUV4Y2VwdGlvbi5jcHAgXAogICAgIGRvbS9SYXdEYXRhRG9jdW1lbnRQYXJzZXIuaCBcCiAgICAg
ZG9tL1JlZ2lzdGVyZWRFdmVudExpc3RlbmVyLmNwcCBcCiAgICAgZG9tL1Njb3BlZEV2ZW50UXVl
dWUuY3BwIFwKQEAgLTYzMiwxMyArNjM1LDE1IEBAIFNPVVJDRVMgKz0gXAogICAgIGZpbGVhcGkv
QmxvYi5jcHAgXAogICAgIGZpbGVhcGkvQmxvYlVSTC5jcHAgXAogICAgIGZpbGVhcGkvRmlsZS5j
cHAgXAorICAgIGZpbGVhcGkvRmlsZUV4Y2VwdGlvbi5jcHAgXAogICAgIGZpbGVhcGkvRmlsZUxp
c3QuY3BwIFwKICAgICBmaWxlYXBpL0ZpbGVSZWFkZXIuY3BwIFwKICAgICBmaWxlYXBpL0ZpbGVS
ZWFkZXJMb2FkZXIuY3BwIFwKICAgICBmaWxlYXBpL0ZpbGVSZWFkZXJTeW5jLmNwcCBcCiAgICAg
ZmlsZWFwaS9GaWxlU3RyZWFtUHJveHkuY3BwIFwKICAgICBmaWxlYXBpL0ZpbGVUaHJlYWQuY3Bw
IFwKLSAgICBmaWxlYXBpL1RocmVhZGFibGVCbG9iUmVnaXN0cnkuY3BwIFwKKyAgICBmaWxlYXBp
L0ZpbGVFeGNlcHRpb24uY3BwIFwKKyAgICBmaWxlYXBpL09wZXJhdGlvbk5vdEFsbG93ZWRFeGNl
cHRpb24uY3BwIFwKICAgICBmaWxlYXBpL1dlYktpdEJsb2JCdWlsZGVyLmNwcCBcCiAgICAgaGlz
dG9yeS9CYWNrRm9yd2FyZENvbnRyb2xsZXIuY3BwIFwKICAgICBoaXN0b3J5L0JhY2tGb3J3YXJk
TGlzdEltcGwuY3BwIFwKQEAgLTEyMzksMTEgKzEyNDQsMTMgQEAgU09VUkNFUyArPSBcCiAgICAg
eG1sL0RPTVBhcnNlci5jcHAgXAogICAgIHhtbC9OYXRpdmVYUGF0aE5TUmVzb2x2ZXIuY3BwIFwK
ICAgICB4bWwvWE1MSHR0cFJlcXVlc3QuY3BwIFwKKyAgICB4bWwvWE1MSHR0cFJlcXVlc3RFeGNl
cHRpb24uY3BwIFwKICAgICB4bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUu
Y3BwIFwKICAgICB4bWwvWE1MSHR0cFJlcXVlc3RVcGxvYWQuY3BwIFwKICAgICB4bWwvWE1MRXJy
b3JzLmNwcCBcCiAgICAgeG1sL1hNTFNlcmlhbGl6ZXIuY3BwIFwKICAgICB4bWwvWFBhdGhFdmFs
dWF0b3IuY3BwIFwKKyAgICB4bWwvWFBhdGhFeGNlcHRpb24uY3BwIFwKICAgICB4bWwvWFBhdGhF
eHByZXNzaW9uLmNwcCBcCiAgICAgeG1sL1hQYXRoRXhwcmVzc2lvbk5vZGUuY3BwIFwKICAgICB4
bWwvWFBhdGhGdW5jdGlvbnMuY3BwIFwKQEAgLTI4MzMsNiArMjg0MCw3IEBAIGNvbnRhaW5zKERF
RklORVMsIEVOQUJMRV9TUUxfREFUQUJBU0U9MSkKICAgICAgICAgc3RvcmFnZS9EYXRhYmFzZVRy
YWNrZXIuY3BwIFwKICAgICAgICAgc3RvcmFnZS9PcmlnaW5RdW90YU1hbmFnZXIuY3BwIFwKICAg
ICAgICAgc3RvcmFnZS9PcmlnaW5Vc2FnZVJlY29yZC5jcHAgXAorICAgICAgICBzdG9yYWdlL1NR
TEV4Y2VwdGlvbi5jcHAgXAogICAgICAgICBzdG9yYWdlL1NRTFJlc3VsdFNldC5jcHAgXAogICAg
ICAgICBzdG9yYWdlL1NRTFJlc3VsdFNldFJvd0xpc3QuY3BwIFwKICAgICAgICAgc3RvcmFnZS9T
UUxTdGF0ZW1lbnQuY3BwIFwKQEAgLTI4OTcsNiArMjkwNSw3IEBAIGNvbnRhaW5zKERFRklORVMs
IEVOQUJMRV9JTkRFWEVEX0RBVEFCQVMKICAgICAgICAgc3RvcmFnZS9JREJDdXJzb3JCYWNrZW5k
SW1wbC5jcHAgXAogICAgICAgICBzdG9yYWdlL0lEQkRhdGFiYXNlLmNwcCBcCiAgICAgICAgIHN0
b3JhZ2UvSURCRGF0YWJhc2VCYWNrZW5kSW1wbC5jcHAgXAorICAgICAgICBzdG9yYWdlL0lEQkRh
dGFiYXNlRXhjZXB0aW9uLmNwcCBcCiAgICAgICAgIHN0b3JhZ2UvSURCRXZlbnREaXNwYXRjaGVy
LmNwcCBcCiAgICAgICAgIHN0b3JhZ2UvSURCRmFjdG9yeS5jcHAgXAogICAgICAgICBzdG9yYWdl
L0lEQkZhY3RvcnlCYWNrZW5kSW50ZXJmYWNlLmNwcCBcCkBAIC0zMzk2LDYgKzM0MDUsNyBAQCBj
b250YWlucyhERUZJTkVTLCBFTkFCTEVfU1ZHPTEpIHsKICAgICAgICAgICAgICAgc3ZnL1NWR0Vs
ZW1lbnRJbnN0YW5jZS5jcHAgXAogICAgICAgICAgICAgICBzdmcvU1ZHRWxlbWVudEluc3RhbmNl
TGlzdC5jcHAgXAogICAgICAgICAgICAgICBzdmcvU1ZHRWxsaXBzZUVsZW1lbnQuY3BwIFwKKyAg
ICAgICAgICAgICAgc3ZnL1NWR0V4Y2VwdGlvbi5jcHAgXAogICAgICAgICAgICAgICBzdmcvU1ZH
RXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5jcHAgXAogICAgICAgICAgICAgICBzdmcvU1ZHRkVC
bGVuZEVsZW1lbnQuY3BwIFwKICAgICAgICAgICAgICAgc3ZnL1NWR0ZFQ29sb3JNYXRyaXhFbGVt
ZW50LmNwcCBcCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZj
cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3Jl
LnZjcHJvagkocmV2aXNpb24gOTg2NzIpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJv
ai9XZWJDb3JlLnZjcHJvagkod29ya2luZyBjb3B5KQpAQCAtNDIzMjAsNiArNDIzMjAsMTAgQEAK
IAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5ceG1sXFhN
TEh0dHBSZXF1ZXN0RXhjZXB0aW9uLmNwcCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQog
CQkJCVJlbGF0aXZlUGF0aD0iLi5ceG1sXFhNTEh0dHBSZXF1ZXN0RXhjZXB0aW9uLmgiCiAJCQkJ
PgogCQkJPC9GaWxlPgpAQCAtNDIzNjgsNiArNDIzNzIsMTAgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+
CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5ceG1sXFhQYXRoRXhjZXB0aW9uLmNwcCIK
KwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5ceG1sXFhQ
YXRoRXhjZXB0aW9uLmgiCiAJCQkJPgogCQkJPC9GaWxlPgpAQCAtNDQ4NTAsNiArNDQ4NTgsNTgg
QEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9t
XERPTUNvcmVFeGNlcHRpb24uY3BwIgorCQkJCT4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJ
CQkJTmFtZT0iRGVidWd8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJ
CQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgor
CQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5h
bWU9IlJlbGVhc2V8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+
CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJ
CTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9
IkRlYnVnX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUi
CisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJ
CS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJ
CQkJTmFtZT0iUmVsZWFzZV9DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1
aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJU
b29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1
cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnX0FsbHxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVp
bGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRv
b2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3Vy
YXRpb24KKwkJCQkJTmFtZT0iUHJvZHVjdGlvbnxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVp
bGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRv
b2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCTwvRmlsZT4KKwkJCTxG
aWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21cRE9NSW1wbGVtZW50YXRpb24uY3BwIgogCQkJ
CT4KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KQEAgLTQ1NDc4LDcgKzQ1NTM4LDU5IEBACiAJCQkJ
PgogCQkJPC9GaWxlPgogCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxFdmVudERp
c3BhdGNNZWRpYXRvci5jcHAiCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21cRXZlbnREaXNwYXRj
aE1lZGlhdG9yLmNwcCIKKwkJCQk+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9
IkRlYnVnfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJ
CQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0Zp
bGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxl
YXNlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8
VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVD
b25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z19D
YWlyb19DRkxpdGV8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+
CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJ
CTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9
IlJlbGVhc2VfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1
ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJ
CQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgor
CQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVl
IgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJ
CQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJ
CQkJCU5hbWU9IlByb2R1Y3Rpb258V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVl
IgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJ
CQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJ
CVJlbGF0aXZlUGF0aD0iLi5cZG9tXEV2ZW50RXhjZXB0aW9uLmNwcCIKIAkJCQk+CiAJCQkJPEZp
bGVDb25maWd1cmF0aW9uCiAJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIgpAQCAtNDc0ODIsNiArNDc1
OTQsNTggQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0i
Li5cZG9tXFJhbmdlRXhjZXB0aW9uLmNwcCIKKwkJCQk+CisJCQkJPEZpbGVDb25maWd1cmF0aW9u
CisJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIK
KwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJ
Lz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJ
CQlOYW1lPSJSZWxlYXNlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJ
CQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4K
KwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlO
YW1lPSJEZWJ1Z19DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0
cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgor
CQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9u
CisJCQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZy
b21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBp
bGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29u
ZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJv
bUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGls
ZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25m
aWd1cmF0aW9uCisJCQkJCU5hbWU9IlByb2R1Y3Rpb258V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJv
bUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGls
ZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQk8L0ZpbGU+CisJ
CQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXFJhbmdlRXhjZXB0aW9uLmgiCiAJCQkJ
PgogCQkJPC9GaWxlPgpAQCAtNTI5MjYsNiArNTMwOTAsMTAgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+
CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZmlsZWFwaVxGaWxlRXhjZXB0aW9uLmNw
cCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5cZmls
ZWFwaVxGaWxlTGlzdC5jcHAiCiAJCQkJPgogCQkJPC9GaWxlPgpAQCAtNTMwMjYsNiArNTMxOTQs
MTQgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5c
ZmlsZWFwaVxPcGVyYXRpb25Ob3RBbGxvd2VkRXhjZXB0aW9uLmNwcCIKKwkJCQk+CisJCQk8L0Zp
bGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZmlsZWFwaVxPcGVyYXRpb25Ob3RB
bGxvd2VkRXhjZXB0aW9uLmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJCQlSZWxh
dGl2ZVBhdGg9Ii4uXGh0bWxcY2FudmFzXEZsb2F0MzJBcnJheS5jcHAiCiAJCQkJPgogCQkJPC9G
aWxlPgpAQCAtNjc2MDIsNiArNjc3NzgsMTAgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8Rmls
ZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cc3RvcmFnZVxTUUxFeGNlcHRpb24uY3BwIgorCQkJCT4K
KwkJCTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxzdG9yYWdlXFNRTEV4
Y2VwdGlvbi5oIgogCQkJCT4KIAkJCTwvRmlsZT4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDk4NjcyKQorKysg
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5n
IGNvcHkpCkBAIC0zMjY3LDYgKzMyNjcsMTYgQEAKIAkJOTc3RTJFMEYxMkYwRkM5QzAwQzEzMzc5
IC8qIFhTU0F1ZGl0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDk3N0UyRTBDMTJGMEZDOUMwMEMxMzM3OSAvKiBYU1NBdWRpdG9yLmggKi87IH07CiAJ
CTk3OEFENjc0MTQxMzBBOEQwMEM3Q0FFMyAvKiBIVE1MU3BhbkVsZW1lbnQuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTc4QUQ2NzExNDEzMEE4RDAw
QzdDQUUzIC8qIEhUTUxTcGFuRWxlbWVudC5jcHAgKi87IH07CiAJCTk3OEFENjc1MTQxMzBBOEQw
MEM3Q0FFMyAvKiBIVE1MU3BhbkVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDk3OEFENjcyMTQxMzBBOEQwMEM3Q0FFMyAvKiBIVE1MU3BhbkVs
ZW1lbnQuaCAqLzsgfTsKKwkJOTc4RDA3QjIxNDVBMEVCRDAwOTY5MDhEIC8qIElEQkRhdGFiYXNl
RXhjZXB0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDk3OEQwN0IxMTQ1QTBFQkQwMDk2OTA4RCAvKiBJREJEYXRhYmFzZUV4Y2VwdGlvbi5jcHAg
Ki87IH07CisJCTk3OEQwN0I0MTQ1QTBFQ0QwMDk2OTA4RCAvKiBTUUxFeGNlcHRpb24uY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTc4RDA3QjMxNDVB
MEVDRDAwOTY5MDhEIC8qIFNRTEV4Y2VwdGlvbi5jcHAgKi87IH07CisJCTk3OEQwN0I2MTQ1QTBG
MDMwMDk2OTA4RCAvKiBGaWxlRXhjZXB0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk3OEQwN0I1MTQ1QTBGMDMwMDk2OTA4RCAvKiBGaWxlRXhj
ZXB0aW9uLmNwcCAqLzsgfTsKKwkJOTc4RDA3QjgxNDVBMEYxQjAwOTY5MDhEIC8qIE9wZXJhdGlv
bk5vdEFsbG93ZWRFeGNlcHRpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gOTc4RDA3QjcxNDVBMEYxQjAwOTY5MDhEIC8qIE9wZXJhdGlvbk5vdEFs
bG93ZWRFeGNlcHRpb24uY3BwICovOyB9OworCQk5NzhEMDdCQTE0NUEwRjNDMDA5NjkwOEQgLyog
UmFuZ2VFeGNlcHRpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gOTc4RDA3QjkxNDVBMEYzQzAwOTY5MDhEIC8qIFJhbmdlRXhjZXB0aW9uLmNwcCAq
LzsgfTsKKwkJOTc4RDA3QkMxNDVBMEY1NjAwOTY5MDhEIC8qIEV2ZW50RXhjZXB0aW9uLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk3OEQwN0JCMTQ1
QTBGNTYwMDk2OTA4RCAvKiBFdmVudEV4Y2VwdGlvbi5jcHAgKi87IH07CisJCTk3OEQwN0JFMTQ1
QTBGNkMwMDk2OTA4RCAvKiBET01Db3JlRXhjZXB0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk3OEQwN0JEMTQ1QTBGNkMwMDk2OTA4RCAvKiBE
T01Db3JlRXhjZXB0aW9uLmNwcCAqLzsgfTsKKwkJOTc4RDA3Q0ExNDVBMTAxNjAwOTY5MDhEIC8q
IFNWR0V4Y2VwdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA5NzhEMDdDOTE0NUExMDE2MDA5NjkwOEQgLyogU1ZHRXhjZXB0aW9uLmNwcCAqLzsg
fTsKKwkJOTc4RDA3Q0MxNDVBMTAyRTAwOTY5MDhEIC8qIFhQYXRoRXhjZXB0aW9uLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk3OEQwN0NCMTQ1QTEw
MkUwMDk2OTA4RCAvKiBYUGF0aEV4Y2VwdGlvbi5jcHAgKi87IH07CisJCTk3OEQwN0NFMTQ1QTEw
MzcwMDk2OTA4RCAvKiBYTUxIdHRwUmVxdWVzdEV4Y2VwdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NzhEMDdDRDE0NUExMDM3MDA5NjkwOEQg
LyogWE1MSHR0cFJlcXVlc3RFeGNlcHRpb24uY3BwICovOyB9OwogCQk5NzlGNDNEMzEwNzVFNDRB
MDAwMEY4M0IgLyogTmF2aWdhdGlvblNjaGVkdWxlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NzlGNDNEMTEwNzVFNDRBMDAwMEY4M0IgLyogTmF2
aWdhdGlvblNjaGVkdWxlci5jcHAgKi87IH07CiAJCTk3OUY0M0Q0MTA3NUU0NEEwMDAwRjgzQiAv
KiBOYXZpZ2F0aW9uU2NoZWR1bGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA5NzlGNDNEMjEwNzVFNDRBMDAwMEY4M0IgLyogTmF2aWdhdGlvblNjaGVk
dWxlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CTk3QUEzQ0E1MTQ1MjM3Q0MwMDNFMURBNiAvKiBFdmVudFRhcmdldEhlYWRlcnMuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk3QUEzQ0EzMTQ1MjM3Q0Mw
MDNFMURBNiAvKiBFdmVudFRhcmdldEhlYWRlcnMuaCAqLzsgfTsKQEAgLTEwNDAzLDYgKzEwNDEz
LDE2IEBACiAJCTk3OEFENjcxMTQxMzBBOEQwMEM3Q0FFMyAvKiBIVE1MU3BhbkVsZW1lbnQuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSFRNTFNwYW5FbGVtZW50LmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTc4QUQ2NzIxNDEzMEE4RDAwQzdDQUUz
IC8qIEhUTUxTcGFuRWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBI
VE1MU3BhbkVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTc4QUQ2NzMx
NDEzMEE4RDAwQzdDQUUzIC8qIEhUTUxTcGFuRWxlbWVudC5pZGwgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBw
YXRoID0gSFRNTFNwYW5FbGVtZW50LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
OTc4RDA3QjExNDVBMEVCRDAwOTY5MDhEIC8qIElEQkRhdGFiYXNlRXhjZXB0aW9uLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IElEQkRhdGFiYXNlRXhjZXB0aW9uLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTc4RDA3QjMxNDVBMEVDRDAwOTY5MDhE
IC8qIFNRTEV4Y2VwdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBTUUxFeGNlcHRpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5NzhEMDdC
NTE0NUEwRjAzMDA5NjkwOEQgLyogRmlsZUV4Y2VwdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IG5hbWUgPSBGaWxlRXhjZXB0aW9uLmNwcDsgcGF0aCA9IGZpbGVhcGkvRmls
ZUV4Y2VwdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTk3OEQwN0I3MTQ1
QTBGMUIwMDk2OTA4RCAvKiBPcGVyYXRpb25Ob3RBbGxvd2VkRXhjZXB0aW9uLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IE9wZXJhdGlvbk5vdEFsbG93ZWRFeGNlcHRp
b24uY3BwOyBwYXRoID0gZmlsZWFwaS9PcGVyYXRpb25Ob3RBbGxvd2VkRXhjZXB0aW9uLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTc4RDA3QjkxNDVBMEYzQzAwOTY5MDhEIC8q
IFJhbmdlRXhjZXB0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IFJhbmdlRXhjZXB0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTc4RDA3
QkIxNDVBMEY1NjAwOTY5MDhEIC8qIEV2ZW50RXhjZXB0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEV2ZW50RXhjZXB0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJOTc4RDA3QkQxNDVBMEY2QzAwOTY5MDhEIC8qIERPTUNvcmVFeGNlcHRp
b24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRE9NQ29yZUV4Y2Vw
dGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTk3OEQwN0M5MTQ1QTEwMTYw
MDk2OTA4RCAvKiBTVkdFeGNlcHRpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gU1ZHRXhjZXB0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
OTc4RDA3Q0IxNDVBMTAyRTAwOTY5MDhEIC8qIFhQYXRoRXhjZXB0aW9uLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFhQYXRoRXhjZXB0aW9uLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTc4RDA3Q0QxNDVBMTAzNzAwOTY5MDhEIC8qIFhNTEh0dHBS
ZXF1ZXN0RXhjZXB0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IFhNTEh0dHBSZXF1ZXN0RXhjZXB0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJOTc5RjQzRDExMDc1RTQ0QTAwMDBGODNCIC8qIE5hdmlnYXRpb25TY2hlZHVsZXIuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTmF2aWdhdGlvblNjaGVkdWxlci5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk3OUY0M0QyMTA3NUU0NEEwMDAwRjgz
QiAvKiBOYXZpZ2F0aW9uU2NoZWR1bGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IE5hdmlnYXRpb25TY2hlZHVsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
OTdBQTNDQTMxNDUyMzdDQzAwM0UxREE2IC8qIEV2ZW50VGFyZ2V0SGVhZGVycy5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBFdmVudFRhcmdldEhlYWRlcnMuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE0MjAzLDYgKzE0MjIzLDcgQEAKIAkJCQlCNjE3NjI1MzEy
MDMzNzRGMDBFRjkxMTQgLyogSURCRGF0YWJhc2VCYWNrZW5kSW50ZXJmYWNlLmggKi8sCiAJCQkJ
QzU4NUE2OUQxMUQ0RkIzRDAwNEMzRTRCIC8qIElEQkRhdGFiYXNlRXJyb3IuaCAqLywKIAkJCQlD
NTg1QTY5RTExRDRGQjNEMDA0QzNFNEIgLyogSURCRGF0YWJhc2VFcnJvci5pZGwgKi8sCisJCQkJ
OTc4RDA3QjExNDVBMEVCRDAwOTY5MDhEIC8qIElEQkRhdGFiYXNlRXhjZXB0aW9uLmNwcCAqLywK
IAkJCQlDNTg1QTY5RjExRDRGQjNEMDA0QzNFNEIgLyogSURCRGF0YWJhc2VFeGNlcHRpb24uaCAq
LywKIAkJCQlDNTg1QTZBMDExRDRGQjNEMDA0QzNFNEIgLyogSURCRGF0YWJhc2VFeGNlcHRpb24u
aWRsICovLAogCQkJCUM1ODVBNkM5MTFENEZCM0QwMDRDM0U0QiAvKiBJREJGYWN0b3J5LmNwcCAq
LywKQEAgLTE0MjQ4LDYgKzE0MjY5LDcgQEAKIAkJCQkyNDVEODBBMjEzMjgwRTQwMDAzNDkyQTYg
LyogU1FMQ2FsbGJhY2tXcmFwcGVyLmggKi8sCiAJCQkJNTFFQzkyNTcwQ0U5MERCNDAwRjkwMzA4
IC8qIFNRTEVycm9yLmggKi8sCiAJCQkJNTFFQzkyNTgwQ0U5MERCNDAwRjkwMzA4IC8qIFNRTEVy
cm9yLmlkbCAqLywKKwkJCQk5NzhEMDdCMzE0NUEwRUNEMDA5NjkwOEQgLyogU1FMRXhjZXB0aW9u
LmNwcCAqLywKIAkJCQlCNTZFQkE4MzExQzlGRjgxMDBCMDQ0NzcgLyogU1FMRXhjZXB0aW9uLmgg
Ki8sCiAJCQkJQjU2RUJBODQxMUM5RkY4MTAwQjA0NDc3IC8qIFNRTEV4Y2VwdGlvbi5pZGwgKi8s
CiAJCQkJNTE5NjExNjcwQ0FDNTY1NzAwMTBBODBDIC8qIFNRTFJlc3VsdFNldC5jcHAgKi8sCkBA
IC0xNzM0MSw2ICsxNzM2Myw3IEBACiAJCQkJODkzQzQ3RkUxMjQ4QkQzOTAwMkIzRDg2IC8qIEZp
bGVFbnRyeVN5bmMuY3BwICovLAogCQkJCTg5M0M0N0ZGMTI0OEJEMzkwMDJCM0Q4NiAvKiBGaWxl
RW50cnlTeW5jLmggKi8sCiAJCQkJOTc2RDZDNjQxMjJCOEEzRDAwMUZEMUY3IC8qIEZpbGVFcnJv
ci5oICovLAorCQkJCTk3OEQwN0I1MTQ1QTBGMDMwMDk2OTA4RCAvKiBGaWxlRXhjZXB0aW9uLmNw
cCAqLywKIAkJCQkyRURGMzY5RTEyMkM5NEM4MDAyRjdENEUgLyogRmlsZUV4Y2VwdGlvbi5oICov
LAogCQkJCTk3NkQ2QzY2MTIyQjhBM0QwMDFGRDFGNyAvKiBGaWxlTGlzdC5jcHAgKi8sCiAJCQkJ
OTc2RDZDNjcxMjJCOEEzRDAwMUZEMUY3IC8qIEZpbGVMaXN0LmggKi8sCkBAIC0xNzM3NCw2ICsx
NzM5Nyw3IEBACiAJCQkJODk4Nzg1NEYxMjJDQTA2NDAwM0FBQkRBIC8qIExvY2FsRmlsZVN5c3Rl
bS5oICovLAogCQkJCTg5ODc4NTUwMTIyQ0EwNjQwMDNBQUJEQSAvKiBNZXRhZGF0YS5oICovLAog
CQkJCTg5ODc4NTUxMTIyQ0EwNjQwMDNBQUJEQSAvKiBNZXRhZGF0YUNhbGxiYWNrLmggKi8sCisJ
CQkJOTc4RDA3QjcxNDVBMEYxQjAwOTY5MDhEIC8qIE9wZXJhdGlvbk5vdEFsbG93ZWRFeGNlcHRp
b24uY3BwICovLAogCQkJCTJFMjQ0NUY1MTM5NTg5M0EwMDRCNkMxOSAvKiBPcGVyYXRpb25Ob3RB
bGxvd2VkRXhjZXB0aW9uLmggKi8sCiAJCQkJMkUyNDQ1RjYxMzk1ODkzQTAwNEI2QzE5IC8qIE9w
ZXJhdGlvbk5vdEFsbG93ZWRFeGNlcHRpb24uaWRsICovLAogCQkJCTk3NkQ2Qzc1MTIyQjhBM0Qw
MDFGRDFGNyAvKiBUaHJlYWRhYmxlQmxvYlJlZ2lzdHJ5LmNwcCAqLywKQEAgLTE4NTM4LDYgKzE4
NTYyLDcgQEAKIAkJCQlCMjIyNzgyOTBEMDBCRjFGMDA3MUI3ODIgLyogU1ZHRWxsaXBzZUVsZW1l
bnQuY3BwICovLAogCQkJCUIyMjI3ODJBMEQwMEJGMUYwMDcxQjc4MiAvKiBTVkdFbGxpcHNlRWxl
bWVudC5oICovLAogCQkJCUIyMjI3ODJCMEQwMEJGMUYwMDcxQjc4MiAvKiBTVkdFbGxpcHNlRWxl
bWVudC5pZGwgKi8sCisJCQkJOTc4RDA3QzkxNDVBMTAxNjAwOTY5MDhEIC8qIFNWR0V4Y2VwdGlv
bi5jcHAgKi8sCiAJCQkJQjIyMjc4MkMwRDAwQkYxRjAwNzFCNzgyIC8qIFNWR0V4Y2VwdGlvbi5o
ICovLAogCQkJCUIyMjI3ODJEMEQwMEJGMUYwMDcxQjc4MiAvKiBTVkdFeGNlcHRpb24uaWRsICov
LAogCQkJCUIyMjI3ODJFMEQwMEJGMUYwMDcxQjc4MiAvKiBTVkdFeHRlcm5hbFJlc291cmNlc1Jl
cXVpcmVkLmNwcCAqLywKQEAgLTIwMzA4LDYgKzIwMzMzLDcgQEAKIAkJCQlCQzc3MkM0NDBDNEVC
MkM2MDA4MzI4NUYgLyogWE1MSHR0cFJlcXVlc3QuY3BwICovLAogCQkJCUJDNzcyQzQ1MEM0RUIy
QzYwMDgzMjg1RiAvKiBYTUxIdHRwUmVxdWVzdC5oICovLAogCQkJCUJDMzQ4QkE3MERCN0YxQjgw
MDRBQkFCOSAvKiBYTUxIdHRwUmVxdWVzdC5pZGwgKi8sCisJCQkJOTc4RDA3Q0QxNDVBMTAzNzAw
OTY5MDhEIC8qIFhNTEh0dHBSZXF1ZXN0RXhjZXB0aW9uLmNwcCAqLywKIAkJCQlCQzYwRDlDNzBE
MkEyOUU1MDBCOTkxOEYgLyogWE1MSHR0cFJlcXVlc3RFeGNlcHRpb24uaCAqLywKIAkJCQlCQzYw
RDlDODBEMkEyOUU1MDBCOTkxOEYgLyogWE1MSHR0cFJlcXVlc3RFeGNlcHRpb24uaWRsICovLAog
CQkJCUY5RjBFRDc3MERCNTBDQTIwMEQxNkRCOSAvKiBYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZl
bnQuaCAqLywKQEAgLTIwMzI3LDYgKzIwMzUzLDcgQEAKIAkJCQkxQUI3RkM0NzBBOEI5MkVDMDBE
OUQzN0IgLyogWFBhdGhFdmFsdWF0b3IuY3BwICovLAogCQkJCTFBQjdGQzQ4MEE4QjkyRUMwMEQ5
RDM3QiAvKiBYUGF0aEV2YWx1YXRvci5oICovLAogCQkJCTFBQjdGQzQ5MEE4QjkyRUMwMEQ5RDM3
QiAvKiBYUGF0aEV2YWx1YXRvci5pZGwgKi8sCisJCQkJOTc4RDA3Q0IxNDVBMTAyRTAwOTY5MDhE
IC8qIFhQYXRoRXhjZXB0aW9uLmNwcCAqLywKIAkJCQlCQzYwREE1OTBEMkEzMUY3MDBCOTkxOEYg
LyogWFBhdGhFeGNlcHRpb24uaCAqLywKIAkJCQlCQzYwREE1QTBEMkEzMUY3MDBCOTkxOEYgLyog
WFBhdGhFeGNlcHRpb24uaWRsICovLAogCQkJCTFBQjdGQzRBMEE4QjkyRUMwMEQ5RDM3QiAvKiBY
UGF0aEV4cHJlc3Npb24uY3BwICovLApAQCAtMjA5MzEsNiArMjA5NTgsNyBAQAogCQkJCUE4MTg1
RjMyMDk3NjU3NjUwMDU4MjZEOSAvKiBEb2N1bWVudFR5cGUuY3BwICovLAogCQkJCUE4MTg1RjMx
MDk3NjU3NjUwMDU4MjZEOSAvKiBEb2N1bWVudFR5cGUuaCAqLywKIAkJCQk5M0VFQzFFODA5QzI4
Nzc3MDBDNTE1RDEgLyogRG9jdW1lbnRUeXBlLmlkbCAqLywKKwkJCQk5NzhEMDdCRDE0NUEwRjZD
MDA5NjkwOEQgLyogRE9NQ29yZUV4Y2VwdGlvbi5jcHAgKi8sCiAJCQkJQkM2MEQ2RTgwRDI4RDgz
NDAwQjk5MThGIC8qIERPTUNvcmVFeGNlcHRpb24uaCAqLywKIAkJCQlCQzYwRDZFQjBEMjhEOTk5
MDBCOTkxOEYgLyogRE9NQ29yZUV4Y2VwdGlvbi5pZGwgKi8sCiAJCQkJQTgxODVGMzYwOTc2NTc2
NTAwNTgyNkQ5IC8qIERPTUltcGxlbWVudGF0aW9uLmNwcCAqLywKQEAgLTIwOTY4LDYgKzIwOTk2
LDcgQEAKIAkJCQk0QUYxQUQzRDEzRkQyM0E0MDBBQTk1OTAgLyogRXZlbnREaXNwYXRjaE1lZGlh
dG9yLmggKi8sCiAJCQkJNDE4QTA2Q0YxMzNDMDRENTAwQ0QzNzlDIC8qIEV2ZW50RGlzcGF0Y2hl
ci5jcHAgKi8sCiAJCQkJNDE4QTA2Q0UxMzNDMDRENTAwQ0QzNzlDIC8qIEV2ZW50RGlzcGF0Y2hl
ci5oICovLAorCQkJCTk3OEQwN0JCMTQ1QTBGNTYwMDk2OTA4RCAvKiBFdmVudEV4Y2VwdGlvbi5j
cHAgKi8sCiAJCQkJQkM2MEQ5MDkwRDJBMTdDRTAwQjk5MThGIC8qIEV2ZW50RXhjZXB0aW9uLmgg
Ki8sCiAJCQkJQkM2MEQ5MEEwRDJBMTdDRTAwQjk5MThGIC8qIEV2ZW50RXhjZXB0aW9uLmlkbCAq
LywKIAkJCQk5NzY2NTAxMTE0NEZBQTQyMDBGNkJCNTEgLyogRXZlbnRGYWN0b3J5LmggKi8sCkBA
IC0yMTA3OCw2ICsyMTEwNyw3IEBACiAJCQkJRjUyM0QzMDQwMkRFNDQ3NjAxODYzNUNBIC8qIFJh
bmdlLmggKi8sCiAJCQkJOTM2REQwM0EwOUNFQUMyNzAwNTZBRThDIC8qIFJhbmdlLmlkbCAqLywK
IAkJCQk5M0Q5RDUzQjBEQTI3RTE4MDA3NzIxNkMgLyogUmFuZ2VCb3VuZGFyeVBvaW50LmggKi8s
CisJCQkJOTc4RDA3QjkxNDVBMEYzQzAwOTY5MDhEIC8qIFJhbmdlRXhjZXB0aW9uLmNwcCAqLywK
IAkJCQlEMjNDQTU2QjBBQjBFQjhEMDA1MTA4QTUgLyogUmFuZ2VFeGNlcHRpb24uaCAqLywKIAkJ
CQlEMjNDQTU0ODBBQjBFOTgzMDA1MTA4QTUgLyogUmFuZ2VFeGNlcHRpb24uaWRsICovLAogCQkJ
CUE4NEQ4MjdCMTFEMzMzRUQwMDk3Mjk5MCAvKiBSYXdEYXRhRG9jdW1lbnRQYXJzZXIuaCAqLywK
QEAgLTI3MzI4LDYgKzI3MzU4LDE2IEBACiAJCQkJMzEwNjAzN0ExNDMyODFDRDAwQUJGNEJBIC8q
IERPTVdlYktpdENTU0ZpbHRlclZhbHVlLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMjlBQ0IyMTQx
NDNFNzQ5ODAwNkJDQTVGIC8qIEFjY2Vzc2liaWxpdHlNb2NrT2JqZWN0LmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTI5RDdCQ0Y2MTQ0NEFGNTgwMDcwNjE5QyAvKiBBY2Nlc3NpYmlsaXR5U3BpbkJ1
dHRvbi5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk5NzhEMDdCMjE0NUEwRUJEMDA5NjkwOEQgLyog
SURCRGF0YWJhc2VFeGNlcHRpb24uY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJOTc4RDA3QjQxNDVB
MEVDRDAwOTY5MDhEIC8qIFNRTEV4Y2VwdGlvbi5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk5NzhE
MDdCNjE0NUEwRjAzMDA5NjkwOEQgLyogRmlsZUV4Y2VwdGlvbi5jcHAgaW4gU291cmNlcyAqLywK
KwkJCQk5NzhEMDdCODE0NUEwRjFCMDA5NjkwOEQgLyogT3BlcmF0aW9uTm90QWxsb3dlZEV4Y2Vw
dGlvbi5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk5NzhEMDdCQTE0NUEwRjNDMDA5NjkwOEQgLyog
UmFuZ2VFeGNlcHRpb24uY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJOTc4RDA3QkMxNDVBMEY1NjAw
OTY5MDhEIC8qIEV2ZW50RXhjZXB0aW9uLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTk3OEQwN0JF
MTQ1QTBGNkMwMDk2OTA4RCAvKiBET01Db3JlRXhjZXB0aW9uLmNwcCBpbiBTb3VyY2VzICovLAor
CQkJCTk3OEQwN0NBMTQ1QTEwMTYwMDk2OTA4RCAvKiBTVkdFeGNlcHRpb24uY3BwIGluIFNvdXJj
ZXMgKi8sCisJCQkJOTc4RDA3Q0MxNDVBMTAyRTAwOTY5MDhEIC8qIFhQYXRoRXhjZXB0aW9uLmNw
cCBpbiBTb3VyY2VzICovLAorCQkJCTk3OEQwN0NFMTQ1QTEwMzcwMDk2OTA4RCAvKiBYTUxIdHRw
UmVxdWVzdEV4Y2VwdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjA5MDg3RjE0NDRGREIy
MDAwMjg5MTcgLyogU2Nyb2xsYmFyVGhlbWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOUIzNzVF
REExNDQ3OEEwMTAwRjNDQUU1IC8qIE1pY3JvRGF0YUl0ZW1MaXN0LmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTQ5QUYyRDZDMTQ0MzVEMjEwMDE2QTc4NCAvKiBEaXNwbGF5UmVmcmVzaE1vbml0b3JN
YWMuY3BwIGluIFNvdXJjZXMgKi8sCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRE9NQWxsSW5P
bmUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9ET01BbGxJbk9uZS5jcHAJ
KHJldmlzaW9uIDk4NjcyKQorKysgU291cmNlL1dlYkNvcmUvZG9tL0RPTUFsbEluT25lLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNDQsNiArNDQsNyBAQAogI2luY2x1ZGUgIkNvbXBvc2l0aW9uRXZl
bnQuY3BwIgogI2luY2x1ZGUgIkNvbnRhaW5lck5vZGUuY3BwIgogI2luY2x1ZGUgIkN1c3RvbUV2
ZW50LmNwcCIKKyNpbmNsdWRlICJET01Db3JlRXhjZXB0aW9uLmNwcCIKICNpbmNsdWRlICJET01J
bXBsZW1lbnRhdGlvbi5jcHAiCiAjaW5jbHVkZSAiRE9NU3RyaW5nTGlzdC5jcHAiCiAjaW5jbHVk
ZSAiRE9NU3RyaW5nTWFwLmNwcCIKQEAgLTcyLDYgKzczLDcgQEAKICNpbmNsdWRlICJFdmVudENv
bnRleHQuY3BwIgogI2luY2x1ZGUgIkV2ZW50RGlzcGF0Y2hNZWRpYXRvci5jcHAiCiAjaW5jbHVk
ZSAiRXZlbnREaXNwYXRjaGVyLmNwcCIKKyNpbmNsdWRlICJFdmVudEV4Y2VwdGlvbi5jcHAiCiAj
aW5jbHVkZSAiRXZlbnRMaXN0ZW5lck1hcC5jcHAiCiAjaW5jbHVkZSAiRXZlbnROYW1lcy5jcHAi
CiAjaW5jbHVkZSAiRXZlbnRUYXJnZXQuY3BwIgpAQCAtMTAyLDYgKzEwNCw3IEBACiAjaW5jbHVk
ZSAiUHJvY2Vzc2luZ0luc3RydWN0aW9uLmNwcCIKICNpbmNsdWRlICJQcm9ncmVzc0V2ZW50LmNw
cCIKICNpbmNsdWRlICJSYW5nZS5jcHAiCisjaW5jbHVkZSAiUmFuZ2VFeGNlcHRpb24uY3BwIgog
I2luY2x1ZGUgIlJlZ2lzdGVyZWRFdmVudExpc3RlbmVyLmNwcCIKICNpbmNsdWRlICJTY29wZWRF
dmVudFF1ZXVlLmNwcCIKICNpbmNsdWRlICJTY3JpcHRFbGVtZW50LmNwcCIKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2RvbS9ET01Db3JlRXhjZXB0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9kb20vRE9NQ29yZUV4Y2VwdGlvbi5jcHAJKHJldmlzaW9uIDApCisrKyBTb3VyY2Uv
V2ViQ29yZS9kb20vRE9NQ29yZUV4Y2VwdGlvbi5jcHAJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEs
MTA5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiAgTmVpdGhlciB0aGUgbmFtZSBvZiBB
cHBsZSBDb21wdXRlciwgSW5jLiAoIkFwcGxlIikgbm9yIHRoZSBuYW1lcyBvZgorICogICAgIGl0
cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQKKyAqICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBHT09HTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJET01Db3JlRXhjZXB0aW9u
LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworLy8gRklYTUU6IFRoaXMgc2hvdWxkIGJlIGFu
IGFycmF5IG9mIHN0cnVjdHMgdG8gcGFpciB0aGUgbmFtZXMgYW5kIGRlc2NyaXB0aW9ucy4KK3N0
YXRpYyBjb25zdCBjaGFyKiBjb25zdCBjb3JlRXhjZXB0aW9uTmFtZXNbXSA9IHsKKyAgICAiSU5E
RVhfU0laRV9FUlIiLAorICAgICJET01TVFJJTkdfU0laRV9FUlIiLAorICAgICJISUVSQVJDSFlf
UkVRVUVTVF9FUlIiLAorICAgICJXUk9OR19ET0NVTUVOVF9FUlIiLAorICAgICJJTlZBTElEX0NI
QVJBQ1RFUl9FUlIiLAorICAgICJOT19EQVRBX0FMTE9XRURfRVJSIiwKKyAgICAiTk9fTU9ESUZJ
Q0FUSU9OX0FMTE9XRURfRVJSIiwKKyAgICAiTk9UX0ZPVU5EX0VSUiIsCisgICAgIk5PVF9TVVBQ
T1JURURfRVJSIiwKKyAgICAiSU5VU0VfQVRUUklCVVRFX0VSUiIsCisgICAgIklOVkFMSURfU1RB
VEVfRVJSIiwKKyAgICAiU1lOVEFYX0VSUiIsCisgICAgIklOVkFMSURfTU9ESUZJQ0FUSU9OX0VS
UiIsCisgICAgIk5BTUVTUEFDRV9FUlIiLAorICAgICJJTlZBTElEX0FDQ0VTU19FUlIiLAorICAg
ICJWQUxJREFUSU9OX0VSUiIsCisgICAgIlRZUEVfTUlTTUFUQ0hfRVJSIiwKKyAgICAiU0VDVVJJ
VFlfRVJSIiwKKyAgICAiTkVUV09SS19FUlIiLAorICAgICJBQk9SVF9FUlIiLAorICAgICJVUkxf
TUlTTUFUQ0hfRVJSIiwKKyAgICAiUVVPVEFfRVhDRUVERURfRVJSIiwKKyAgICAiVElNRU9VVF9F
UlIiLAorICAgICJJTlZBTElEX05PREVfVFlQRV9FUlIiLAorICAgICJEQVRBX0NMT05FX0VSUiIK
K307CisKK3N0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBjb3JlRXhjZXB0aW9uRGVzY3JpcHRpb25z
W10gPSB7CisgICAgIkluZGV4IG9yIHNpemUgd2FzIG5lZ2F0aXZlLCBvciBncmVhdGVyIHRoYW4g
dGhlIGFsbG93ZWQgdmFsdWUuIiwKKyAgICAiVGhlIHNwZWNpZmllZCByYW5nZSBvZiB0ZXh0IGRp
ZCBub3QgZml0IGludG8gYSBET01TdHJpbmcuIiwKKyAgICAiQSBOb2RlIHdhcyBpbnNlcnRlZCBz
b21ld2hlcmUgaXQgZG9lc24ndCBiZWxvbmcuIiwKKyAgICAiQSBOb2RlIHdhcyB1c2VkIGluIGEg
ZGlmZmVyZW50IGRvY3VtZW50IHRoYW4gdGhlIG9uZSB0aGF0IGNyZWF0ZWQgaXQgKHRoYXQgZG9l
c24ndCBzdXBwb3J0IGl0KS4iLAorICAgICJBbiBpbnZhbGlkIG9yIGlsbGVnYWwgY2hhcmFjdGVy
IHdhcyBzcGVjaWZpZWQsIHN1Y2ggYXMgaW4gYW4gWE1MIG5hbWUuIiwKKyAgICAiRGF0YSB3YXMg
c3BlY2lmaWVkIGZvciBhIE5vZGUgd2hpY2ggZG9lcyBub3Qgc3VwcG9ydCBkYXRhLiIsCisgICAg
IkFuIGF0dGVtcHQgd2FzIG1hZGUgdG8gbW9kaWZ5IGFuIG9iamVjdCB3aGVyZSBtb2RpZmljYXRp
b25zIGFyZSBub3QgYWxsb3dlZC4iLAorICAgICJBbiBhdHRlbXB0IHdhcyBtYWRlIHRvIHJlZmVy
ZW5jZSBhIE5vZGUgaW4gYSBjb250ZXh0IHdoZXJlIGl0IGRvZXMgbm90IGV4aXN0LiIsCisgICAg
IlRoZSBpbXBsZW1lbnRhdGlvbiBkaWQgbm90IHN1cHBvcnQgdGhlIHJlcXVlc3RlZCB0eXBlIG9m
IG9iamVjdCBvciBvcGVyYXRpb24uIiwKKyAgICAiQW4gYXR0ZW1wdCB3YXMgbWFkZSB0byBhZGQg
YW4gYXR0cmlidXRlIHRoYXQgaXMgYWxyZWFkeSBpbiB1c2UgZWxzZXdoZXJlLiIsCisgICAgIkFu
IGF0dGVtcHQgd2FzIG1hZGUgdG8gdXNlIGFuIG9iamVjdCB0aGF0IGlzIG5vdCwgb3IgaXMgbm8g
bG9uZ2VyLCB1c2FibGUuIiwKKyAgICAiQW4gaW52YWxpZCBvciBpbGxlZ2FsIHN0cmluZyB3YXMg
c3BlY2lmaWVkLiIsCisgICAgIkFuIGF0dGVtcHQgd2FzIG1hZGUgdG8gbW9kaWZ5IHRoZSB0eXBl
IG9mIHRoZSB1bmRlcmx5aW5nIG9iamVjdC4iLAorICAgICJBbiBhdHRlbXB0IHdhcyBtYWRlIHRv
IGNyZWF0ZSBvciBjaGFuZ2UgYW4gb2JqZWN0IGluIGEgd2F5IHdoaWNoIGlzIGluY29ycmVjdCB3
aXRoIHJlZ2FyZCB0byBuYW1lc3BhY2VzLiIsCisgICAgIkEgcGFyYW1ldGVyIG9yIGFuIG9wZXJh
dGlvbiB3YXMgbm90IHN1cHBvcnRlZCBieSB0aGUgdW5kZXJseWluZyBvYmplY3QuIiwKKyAgICAi
QSBjYWxsIHRvIGEgbWV0aG9kIHN1Y2ggYXMgaW5zZXJ0QmVmb3JlIG9yIHJlbW92ZUNoaWxkIHdv
dWxkIG1ha2UgdGhlIE5vZGUgaW52YWxpZCB3aXRoIHJlc3BlY3QgdG8gXCJwYXJ0aWFsIHZhbGlk
aXR5XCIsIHRoaXMgZXhjZXB0aW9uIHdvdWxkIGJlIHJhaXNlZCBhbmQgdGhlIG9wZXJhdGlvbiB3
b3VsZCBub3QgYmUgZG9uZS4iLAorICAgICJUaGUgdHlwZSBvZiBhbiBvYmplY3Qgd2FzIGluY29t
cGF0aWJsZSB3aXRoIHRoZSBleHBlY3RlZCB0eXBlIG9mIHRoZSBwYXJhbWV0ZXIgYXNzb2NpYXRl
ZCB0byB0aGUgb2JqZWN0LiIsCisgICAgIkFuIGF0dGVtcHQgd2FzIG1hZGUgdG8gYnJlYWsgdGhy
b3VnaCB0aGUgc2VjdXJpdHkgcG9saWN5IG9mIHRoZSB1c2VyIGFnZW50LiIsCisgICAgLy8gRklY
TUU6IENvdWxkbid0IGZpbmQgYSBkZXNjcmlwdGlvbiBpbiB0aGUgSFRNTC9ET00gc3BlY2lmaWNh
dGlvbnMgZm9yIE5FVFdPUktfRVJSLCBBQk9SVF9FUlIsIFVSTF9NSVNNQVRDSF9FUlIsIGFuZCBR
VU9UQV9FWENFRURFRF9FUlIKKyAgICAiQSBuZXR3b3JrIGVycm9yIG9jY3VyZWQuIiwKKyAgICAi
VGhlIHVzZXIgYWJvcnRlZCBhIHJlcXVlc3QuIiwKKyAgICAiQSB3b3JrZXIgZ2xvYmFsIHNjb3Bl
IHJlcHJlc2VudGVkIGFuIGFic29sdXRlIFVSTCB0aGF0IGlzIG5vdCBlcXVhbCB0byB0aGUgcmVz
dWx0aW5nIGFic29sdXRlIFVSTC4iLAorICAgICJBbiBhdHRlbXB0IHdhcyBtYWRlIHRvIGFkZCBz
b21ldGhpbmcgdG8gc3RvcmFnZSB0aGF0IGV4Y2VlZGVkIHRoZSBxdW90YS4iLAorICAgICJBIHRp
bWVvdXQgb2NjdXJyZWQuIiwKKyAgICAiVGhlIHN1cHBsaWVkIG5vZGUgaXMgaW52YWxpZCBvciBo
YXMgYW4gaW52YWxpZCBhbmNlc3RvciBmb3IgdGhpcyBvcGVyYXRpb24uIiwKKyAgICAiQW4gb2Jq
ZWN0IGNvdWxkIG5vdCBiZSBjbG9uZWQuIgorfTsKKworQ09NUElMRV9BU1NFUlQoV1RGX0FSUkFZ
X0xFTkdUSChjb3JlRXhjZXB0aW9uTmFtZXMpID09IFdURl9BUlJBWV9MRU5HVEgoY29yZUV4Y2Vw
dGlvbkRlc2NyaXB0aW9ucyksIERPTUNvcmVFeGNlcHRpb25UYWJsZXNNdXN0TWF0Y2gpOworCiti
b29sIERPTUNvcmVFeGNlcHRpb246OmluaXRpYWxpemVEZXNjcmlwdGlvbihFeGNlcHRpb25Db2Rl
IGVjLCBFeGNlcHRpb25Db2RlRGVzY3JpcHRpb24qIGRlc2NyaXB0aW9uKQoreworICAgIGRlc2Ny
aXB0aW9uLT50eXBlTmFtZSA9ICJET00iOworICAgIGRlc2NyaXB0aW9uLT5jb2RlID0gZWM7Cisg
ICAgZGVzY3JpcHRpb24tPnR5cGUgPSBET01FeGNlcHRpb25UeXBlOworCisgICAgc2l6ZV90IHRh
YmxlU2l6ZSA9IFdURl9BUlJBWV9MRU5HVEgoY29yZUV4Y2VwdGlvbk5hbWVzKTsKKyAgICBzaXpl
X3QgdGFibGVJbmRleCA9IGVjIC0gSU5ERVhfU0laRV9FUlI7CisKKyAgICBkZXNjcmlwdGlvbi0+
bmFtZSA9IHRhYmxlSW5kZXggPCB0YWJsZVNpemUgPyBjb3JlRXhjZXB0aW9uTmFtZXNbdGFibGVJ
bmRleF0gOiAwOworICAgIGRlc2NyaXB0aW9uLT5kZXNjcmlwdGlvbiA9IHRhYmxlSW5kZXggPCB0
YWJsZVNpemUgPyBjb3JlRXhjZXB0aW9uRGVzY3JpcHRpb25zW3RhYmxlSW5kZXhdIDogMDsKKwor
ICAgIHJldHVybiB0cnVlOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9kb20vRE9NQ29yZUV4Y2VwdGlvbi5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2RvbS9ET01Db3JlRXhjZXB0aW9uLmgJKHJldmlzaW9uIDk4NjcyKQorKysgU291cmNl
L1dlYkNvcmUvZG9tL0RPTUNvcmVFeGNlcHRpb24uaAkod29ya2luZyBjb3B5KQpAQCAtNDAsNiAr
NDAsOCBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgRE9NQ29yZUV4Y2Vw
dGlvbihkZXNjcmlwdGlvbikpOwogICAgIH0KIAorICAgIHN0YXRpYyBib29sIGluaXRpYWxpemVE
ZXNjcmlwdGlvbihFeGNlcHRpb25Db2RlLCBFeGNlcHRpb25Db2RlRGVzY3JpcHRpb24qKTsKKwog
cHJpdmF0ZToKICAgICBET01Db3JlRXhjZXB0aW9uKGNvbnN0IEV4Y2VwdGlvbkNvZGVEZXNjcmlw
dGlvbiYgZGVzY3JpcHRpb24pCiAgICAgICAgIDogRXhjZXB0aW9uQmFzZShkZXNjcmlwdGlvbikK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9FdmVudEV4Y2VwdGlvbi5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50RXhjZXB0aW9uLmNwcAkocmV2aXNpb24gMCkKKysr
IFNvdXJjZS9XZWJDb3JlL2RvbS9FdmVudEV4Y2VwdGlvbi5jcHAJKHJldmlzaW9uIDApCkBAIC0w
LDAgKzEsNjUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuICBOZWl0aGVyIHRoZSBuYW1l
IG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgiQXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCisgKiAg
ICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZAorICogICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEdPT0dMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAq
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkV2ZW50RXhjZXB0
aW9uLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworLy8gRklYTUU6IFRoaXMgc2hvdWxkIGJl
IGFuIGFycmF5IG9mIHN0cnVjdHMgdG8gcGFpciB0aGUgbmFtZXMgYW5kIGRlc2NyaXB0aW9ucy4K
K3N0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBldmVudEV4Y2VwdGlvbk5hbWVzW10gPSB7CisgICAg
IlVOU1BFQ0lGSUVEX0VWRU5UX1RZUEVfRVJSIiwKKyAgICAiRElTUEFUQ0hfUkVRVUVTVF9FUlIi
Cit9OworCitzdGF0aWMgY29uc3QgY2hhciogY29uc3QgZXZlbnRFeGNlcHRpb25EZXNjcmlwdGlv
bnNbXSA9IHsKKyAgICAiVGhlIEV2ZW50J3MgdHlwZSB3YXMgbm90IHNwZWNpZmllZCBieSBpbml0
aWFsaXppbmcgdGhlIGV2ZW50IGJlZm9yZSB0aGUgbWV0aG9kIHdhcyBjYWxsZWQuIiwKKyAgICAi
VGhlIEV2ZW50IG9iamVjdCBpcyBhbHJlYWR5IGJlaW5nIGRpc3BhdGNoZWQuIgorfTsKKworQ09N
UElMRV9BU1NFUlQoV1RGX0FSUkFZX0xFTkdUSChldmVudEV4Y2VwdGlvbk5hbWVzKSA9PSBXVEZf
QVJSQVlfTEVOR1RIKGV2ZW50RXhjZXB0aW9uRGVzY3JpcHRpb25zKSwgRXZlbnRFeGNlcHRpb25U
YWJsZXNNdXN0TWF0Y2gpOworCitib29sIEV2ZW50RXhjZXB0aW9uOjppbml0aWFsaXplRGVzY3Jp
cHRpb24oRXhjZXB0aW9uQ29kZSBlYywgRXhjZXB0aW9uQ29kZURlc2NyaXB0aW9uKiBkZXNjcmlw
dGlvbikKK3sKKyAgICBpZiAoZWMgPCBFdmVudEV4Y2VwdGlvbk9mZnNldCB8fCBlYyA+IEV2ZW50
RXhjZXB0aW9uTWF4KQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBkZXNjcmlwdGlvbi0+
dHlwZU5hbWUgPSAiRE9NIEV2ZW50cyI7CisgICAgZGVzY3JpcHRpb24tPmNvZGUgPSBlYyAtIEV2
ZW50RXhjZXB0aW9uT2Zmc2V0OworICAgIGRlc2NyaXB0aW9uLT50eXBlID0gRXZlbnRFeGNlcHRp
b25UeXBlOworCisgICAgc2l6ZV90IHRhYmxlU2l6ZSA9IFdURl9BUlJBWV9MRU5HVEgoZXZlbnRF
eGNlcHRpb25OYW1lcyk7CisgICAgc2l6ZV90IHRhYmxlSW5kZXggPSBlYyAtIFVOU1BFQ0lGSUVE
X0VWRU5UX1RZUEVfRVJSOworCisgICAgZGVzY3JpcHRpb24tPm5hbWUgPSB0YWJsZUluZGV4IDwg
dGFibGVTaXplID8gZXZlbnRFeGNlcHRpb25OYW1lc1t0YWJsZUluZGV4XSA6IDA7CisgICAgZGVz
Y3JpcHRpb24tPmRlc2NyaXB0aW9uID0gdGFibGVJbmRleCA8IHRhYmxlU2l6ZSA/IGV2ZW50RXhj
ZXB0aW9uRGVzY3JpcHRpb25zW3RhYmxlSW5kZXhdIDogMDsKKworICAgIHJldHVybiB0cnVlOwor
fQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRXZl
bnRFeGNlcHRpb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRFeGNl
cHRpb24uaAkocmV2aXNpb24gOTg2NzIpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRFeGNl
cHRpb24uaAkod29ya2luZyBjb3B5KQpAQCAtNDgsNiArNDgsOCBAQCBwdWJsaWM6CiAgICAgICAg
IERJU1BBVENIX1JFUVVFU1RfRVJSCiAgICAgfTsKIAorICAgIHN0YXRpYyBib29sIGluaXRpYWxp
emVEZXNjcmlwdGlvbihFeGNlcHRpb25Db2RlLCBFeGNlcHRpb25Db2RlRGVzY3JpcHRpb24qKTsK
KwogcHJpdmF0ZToKICAgICBFdmVudEV4Y2VwdGlvbihjb25zdCBFeGNlcHRpb25Db2RlRGVzY3Jp
cHRpb24mIGRlc2NyaXB0aW9uKQogICAgICAgICA6IEV4Y2VwdGlvbkJhc2UoZGVzY3JpcHRpb24p
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRXhjZXB0aW9uQmFzZS5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2RvbS9FeGNlcHRpb25CYXNlLmgJKHJldmlzaW9uIDk4NjcyKQorKysg
U291cmNlL1dlYkNvcmUvZG9tL0V4Y2VwdGlvbkJhc2UuaAkod29ya2luZyBjb3B5KQpAQCAtMjks
MzEgKzI5LDMyIEBACiAjaWZuZGVmIEV4Y2VwdGlvbkJhc2VfaAogI2RlZmluZSBFeGNlcHRpb25C
YXNlX2gKIAorI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0
cmluZy5oIgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAotICAgIHN0cnVjdCBFeGNlcHRpb25Db2RlRGVzY3JpcHRpb247CitzdHJ1Y3QgRXhjZXB0
aW9uQ29kZURlc2NyaXB0aW9uOwogCi0gICAgY2xhc3MgRXhjZXB0aW9uQmFzZSA6IHB1YmxpYyBS
ZWZDb3VudGVkPEV4Y2VwdGlvbkJhc2U+IHsKLSAgICBwdWJsaWM6Ci0gICAgICAgIHVuc2lnbmVk
IHNob3J0IGNvZGUoKSBjb25zdCB7IHJldHVybiBtX2NvZGU7IH0KLSAgICAgICAgU3RyaW5nIG5h
bWUoKSBjb25zdCB7IHJldHVybiBtX25hbWU7IH0KLSAgICAgICAgU3RyaW5nIG1lc3NhZ2UoKSBj
b25zdCB7IHJldHVybiBtX21lc3NhZ2U7IH0KLSAgICAgICAgU3RyaW5nIGRlc2NyaXB0aW9uKCkg
Y29uc3QgeyByZXR1cm4gbV9kZXNjcmlwdGlvbjsgfQotCi0gICAgICAgIFN0cmluZyB0b1N0cmlu
ZygpIGNvbnN0OwotCi0gICAgcHJvdGVjdGVkOgotICAgICAgICBFeGNlcHRpb25CYXNlKGNvbnN0
IEV4Y2VwdGlvbkNvZGVEZXNjcmlwdGlvbiYpOwotCi0gICAgcHJpdmF0ZToKLSAgICAgICAgdW5z
aWduZWQgc2hvcnQgbV9jb2RlOwotICAgICAgICBTdHJpbmcgbV9uYW1lOwotICAgICAgICBTdHJp
bmcgbV9tZXNzYWdlOwotICAgICAgICBTdHJpbmcgbV9kZXNjcmlwdGlvbjsKLSAgICB9OworY2xh
c3MgRXhjZXB0aW9uQmFzZSA6IHB1YmxpYyBSZWZDb3VudGVkPEV4Y2VwdGlvbkJhc2U+IHsKK3B1
YmxpYzoKKyAgICB1bnNpZ25lZCBzaG9ydCBjb2RlKCkgY29uc3QgeyByZXR1cm4gbV9jb2RlOyB9
CisgICAgU3RyaW5nIG5hbWUoKSBjb25zdCB7IHJldHVybiBtX25hbWU7IH0KKyAgICBTdHJpbmcg
bWVzc2FnZSgpIGNvbnN0IHsgcmV0dXJuIG1fbWVzc2FnZTsgfQorICAgIFN0cmluZyBkZXNjcmlw
dGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fZGVzY3JpcHRpb247IH0KKworICAgIFN0cmluZyB0b1N0
cmluZygpIGNvbnN0OworCitwcm90ZWN0ZWQ6CisgICAgRXhjZXB0aW9uQmFzZShjb25zdCBFeGNl
cHRpb25Db2RlRGVzY3JpcHRpb24mKTsKKworcHJpdmF0ZToKKyAgICB1bnNpZ25lZCBzaG9ydCBt
X2NvZGU7CisgICAgU3RyaW5nIG1fbmFtZTsKKyAgICBTdHJpbmcgbV9tZXNzYWdlOworICAgIFN0
cmluZyBtX2Rlc2NyaXB0aW9uOworfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9kb20vRXhjZXB0aW9uQ29kZS5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvZG9tL0V4Y2VwdGlvbkNvZGUuY3BwCShyZXZpc2lvbiA5ODY3MikKKysrIFNv
dXJjZS9XZWJDb3JlL2RvbS9FeGNlcHRpb25Db2RlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjYs
MzQ4ICsyNiw2MSBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkV4Y2VwdGlvbkNv
ZGUuaCIKIAorI2luY2x1ZGUgIkRPTUNvcmVFeGNlcHRpb24uaCIKICNpbmNsdWRlICJFdmVudEV4
Y2VwdGlvbi5oIgorI2lmIEVOQUJMRShCTE9CKQorI2luY2x1ZGUgIkZpbGVFeGNlcHRpb24uaCIK
KyNlbmRpZgorI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQogI2luY2x1ZGUgIklEQkRhdGFi
YXNlRXhjZXB0aW9uLmgiCi0jaW5jbHVkZSAiUmFuZ2VFeGNlcHRpb24uaCIKLSNpbmNsdWRlICJY
TUxIdHRwUmVxdWVzdEV4Y2VwdGlvbi5oIgotI2luY2x1ZGUgIlhQYXRoRXhjZXB0aW9uLmgiCi0K
LSNpZiBFTkFCTEUoU1ZHKQotI2luY2x1ZGUgIlNWR0V4Y2VwdGlvbi5oIgogI2VuZGlmCi0KKyNp
bmNsdWRlICJPcGVyYXRpb25Ob3RBbGxvd2VkRXhjZXB0aW9uLmgiCisjaW5jbHVkZSAiUmFuZ2VF
eGNlcHRpb24uaCIKICNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogI2luY2x1ZGUgIlNRTEV4Y2Vw
dGlvbi5oIgogI2VuZGlmCi0KLSNpZiBFTkFCTEUoQkxPQikgfHwgRU5BQkxFKEZJTEVfU1lTVEVN
KQotI2luY2x1ZGUgIkZpbGVFeGNlcHRpb24uaCIKLSNpbmNsdWRlICJPcGVyYXRpb25Ob3RBbGxv
d2VkRXhjZXB0aW9uLmgiCi0jZW5kaWYKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1zdGF0aWMg
Y29uc3QgY2hhciogY29uc3QgZXhjZXB0aW9uTmFtZXNbXSA9IHsKLSAgICAiSU5ERVhfU0laRV9F
UlIiLAotICAgICJET01TVFJJTkdfU0laRV9FUlIiLAotICAgICJISUVSQVJDSFlfUkVRVUVTVF9F
UlIiLAotICAgICJXUk9OR19ET0NVTUVOVF9FUlIiLAotICAgICJJTlZBTElEX0NIQVJBQ1RFUl9F
UlIiLAotICAgICJOT19EQVRBX0FMTE9XRURfRVJSIiwKLSAgICAiTk9fTU9ESUZJQ0FUSU9OX0FM
TE9XRURfRVJSIiwKLSAgICAiTk9UX0ZPVU5EX0VSUiIsCi0gICAgIk5PVF9TVVBQT1JURURfRVJS
IiwKLSAgICAiSU5VU0VfQVRUUklCVVRFX0VSUiIsCi0gICAgIklOVkFMSURfU1RBVEVfRVJSIiwK
LSAgICAiU1lOVEFYX0VSUiIsCi0gICAgIklOVkFMSURfTU9ESUZJQ0FUSU9OX0VSUiIsCi0gICAg
Ik5BTUVTUEFDRV9FUlIiLAotICAgICJJTlZBTElEX0FDQ0VTU19FUlIiLAotICAgICJWQUxJREFU
SU9OX0VSUiIsCi0gICAgIlRZUEVfTUlTTUFUQ0hfRVJSIiwKLSAgICAiU0VDVVJJVFlfRVJSIiwK
LSAgICAiTkVUV09SS19FUlIiLAotICAgICJBQk9SVF9FUlIiLAotICAgICJVUkxfTUlTTUFUQ0hf
RVJSIiwKLSAgICAiUVVPVEFfRVhDRUVERURfRVJSIiwKLSAgICAiVElNRU9VVF9FUlIiLAotICAg
ICJJTlZBTElEX05PREVfVFlQRV9FUlIiLAotICAgICJEQVRBX0NMT05FX0VSUiIKLX07Ci0KLXN0
YXRpYyBjb25zdCBjaGFyKiBjb25zdCBleGNlcHRpb25EZXNjcmlwdGlvbnNbXSA9IHsKLSAgICAi
SW5kZXggb3Igc2l6ZSB3YXMgbmVnYXRpdmUsIG9yIGdyZWF0ZXIgdGhhbiB0aGUgYWxsb3dlZCB2
YWx1ZS4iLAotICAgICJUaGUgc3BlY2lmaWVkIHJhbmdlIG9mIHRleHQgZGlkIG5vdCBmaXQgaW50
byBhIERPTVN0cmluZy4iLAotICAgICJBIE5vZGUgd2FzIGluc2VydGVkIHNvbWV3aGVyZSBpdCBk
b2Vzbid0IGJlbG9uZy4iLAotICAgICJBIE5vZGUgd2FzIHVzZWQgaW4gYSBkaWZmZXJlbnQgZG9j
dW1lbnQgdGhhbiB0aGUgb25lIHRoYXQgY3JlYXRlZCBpdCAodGhhdCBkb2Vzbid0IHN1cHBvcnQg
aXQpLiIsCi0gICAgIkFuIGludmFsaWQgb3IgaWxsZWdhbCBjaGFyYWN0ZXIgd2FzIHNwZWNpZmll
ZCwgc3VjaCBhcyBpbiBhbiBYTUwgbmFtZS4iLAotICAgICJEYXRhIHdhcyBzcGVjaWZpZWQgZm9y
IGEgTm9kZSB3aGljaCBkb2VzIG5vdCBzdXBwb3J0IGRhdGEuIiwKLSAgICAiQW4gYXR0ZW1wdCB3
YXMgbWFkZSB0byBtb2RpZnkgYW4gb2JqZWN0IHdoZXJlIG1vZGlmaWNhdGlvbnMgYXJlIG5vdCBh
bGxvd2VkLiIsCi0gICAgIkFuIGF0dGVtcHQgd2FzIG1hZGUgdG8gcmVmZXJlbmNlIGEgTm9kZSBp
biBhIGNvbnRleHQgd2hlcmUgaXQgZG9lcyBub3QgZXhpc3QuIiwKLSAgICAiVGhlIGltcGxlbWVu
dGF0aW9uIGRpZCBub3Qgc3VwcG9ydCB0aGUgcmVxdWVzdGVkIHR5cGUgb2Ygb2JqZWN0IG9yIG9w
ZXJhdGlvbi4iLAotICAgICJBbiBhdHRlbXB0IHdhcyBtYWRlIHRvIGFkZCBhbiBhdHRyaWJ1dGUg
dGhhdCBpcyBhbHJlYWR5IGluIHVzZSBlbHNld2hlcmUuIiwKLSAgICAiQW4gYXR0ZW1wdCB3YXMg
bWFkZSB0byB1c2UgYW4gb2JqZWN0IHRoYXQgaXMgbm90LCBvciBpcyBubyBsb25nZXIsIHVzYWJs
ZS4iLAotICAgICJBbiBpbnZhbGlkIG9yIGlsbGVnYWwgc3RyaW5nIHdhcyBzcGVjaWZpZWQuIiwK
LSAgICAiQW4gYXR0ZW1wdCB3YXMgbWFkZSB0byBtb2RpZnkgdGhlIHR5cGUgb2YgdGhlIHVuZGVy
bHlpbmcgb2JqZWN0LiIsCi0gICAgIkFuIGF0dGVtcHQgd2FzIG1hZGUgdG8gY3JlYXRlIG9yIGNo
YW5nZSBhbiBvYmplY3QgaW4gYSB3YXkgd2hpY2ggaXMgaW5jb3JyZWN0IHdpdGggcmVnYXJkIHRv
IG5hbWVzcGFjZXMuIiwKLSAgICAiQSBwYXJhbWV0ZXIgb3IgYW4gb3BlcmF0aW9uIHdhcyBub3Qg
c3VwcG9ydGVkIGJ5IHRoZSB1bmRlcmx5aW5nIG9iamVjdC4iLAotICAgICJBIGNhbGwgdG8gYSBt
ZXRob2Qgc3VjaCBhcyBpbnNlcnRCZWZvcmUgb3IgcmVtb3ZlQ2hpbGQgd291bGQgbWFrZSB0aGUg
Tm9kZSBpbnZhbGlkIHdpdGggcmVzcGVjdCB0byBcInBhcnRpYWwgdmFsaWRpdHlcIiwgdGhpcyBl
eGNlcHRpb24gd291bGQgYmUgcmFpc2VkIGFuZCB0aGUgb3BlcmF0aW9uIHdvdWxkIG5vdCBiZSBk
b25lLiIsCi0gICAgIlRoZSB0eXBlIG9mIGFuIG9iamVjdCB3YXMgaW5jb21wYXRpYmxlIHdpdGgg
dGhlIGV4cGVjdGVkIHR5cGUgb2YgdGhlIHBhcmFtZXRlciBhc3NvY2lhdGVkIHRvIHRoZSBvYmpl
Y3QuIiwKLSAgICAiQW4gYXR0ZW1wdCB3YXMgbWFkZSB0byBicmVhayB0aHJvdWdoIHRoZSBzZWN1
cml0eSBwb2xpY3kgb2YgdGhlIHVzZXIgYWdlbnQuIiwKLSAgICAvLyBGSVhNRTogQ291bGRuJ3Qg
ZmluZCBhIGRlc2NyaXB0aW9uIGluIHRoZSBIVE1ML0RPTSBzcGVjaWZpY2F0aW9ucyBmb3IgTkVU
V09SS19FUlIsIEFCT1JUX0VSUiwgVVJMX01JU01BVENIX0VSUiwgYW5kIFFVT1RBX0VYQ0VFREVE
X0VSUgotICAgICJBIG5ldHdvcmsgZXJyb3Igb2NjdXJlZC4iLAotICAgICJUaGUgdXNlciBhYm9y
dGVkIGEgcmVxdWVzdC4iLAotICAgICJBIHdvcmtlciBnbG9iYWwgc2NvcGUgcmVwcmVzZW50ZWQg
YW4gYWJzb2x1dGUgVVJMIHRoYXQgaXMgbm90IGVxdWFsIHRvIHRoZSByZXN1bHRpbmcgYWJzb2x1
dGUgVVJMLiIsCi0gICAgIkFuIGF0dGVtcHQgd2FzIG1hZGUgdG8gYWRkIHNvbWV0aGluZyB0byBz
dG9yYWdlIHRoYXQgZXhjZWVkZWQgdGhlIHF1b3RhLiIsCi0gICAgIkEgdGltZW91dCBvY2N1cnJl
ZC4iLAotICAgICJUaGUgc3VwcGxpZWQgbm9kZSBpcyBpbnZhbGlkIG9yIGhhcyBhbiBpbnZhbGlk
IGFuY2VzdG9yIGZvciB0aGlzIG9wZXJhdGlvbi4iLAotICAgICJBbiBvYmplY3QgY291bGQgbm90
IGJlIGNsb25lZC4iCi19OwotCi1zdGF0aWMgY29uc3QgY2hhciogY29uc3QgcmFuZ2VFeGNlcHRp
b25OYW1lc1tdID0gewotICAgICJCQURfQk9VTkRBUllQT0lOVFNfRVJSIiwKLSAgICAiSU5WQUxJ
RF9OT0RFX1RZUEVfRVJSIgotfTsKLQotc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IHJhbmdlRXhj
ZXB0aW9uRGVzY3JpcHRpb25zW10gPSB7Ci0gICAgIlRoZSBib3VuZGFyeS1wb2ludHMgb2YgYSBS
YW5nZSBkaWQgbm90IG1lZXQgc3BlY2lmaWMgcmVxdWlyZW1lbnRzLiIsCi0gICAgIlRoZSBjb250
YWluZXIgb2YgYW4gYm91bmRhcnktcG9pbnQgb2YgYSBSYW5nZSB3YXMgYmVpbmcgc2V0IHRvIGVp
dGhlciBhIG5vZGUgb2YgYW4gaW52YWxpZCB0eXBlIG9yIGEgbm9kZSB3aXRoIGFuIGFuY2VzdG9y
IG9mIGFuIGludmFsaWQgdHlwZS4iCi19OwotCi1zdGF0aWMgY29uc3QgY2hhciogY29uc3QgZXZl
bnRFeGNlcHRpb25OYW1lc1tdID0gewotICAgICJVTlNQRUNJRklFRF9FVkVOVF9UWVBFX0VSUiIs
Ci0gICAgIkRJU1BBVENIX1JFUVVFU1RfRVJSIgotfTsKLQotc3RhdGljIGNvbnN0IGNoYXIqIGNv
bnN0IGV2ZW50RXhjZXB0aW9uRGVzY3JpcHRpb25zW10gPSB7Ci0gICAgIlRoZSBFdmVudCdzIHR5
cGUgd2FzIG5vdCBzcGVjaWZpZWQgYnkgaW5pdGlhbGl6aW5nIHRoZSBldmVudCBiZWZvcmUgdGhl
IG1ldGhvZCB3YXMgY2FsbGVkLiIsCi0gICAgIlRoZSBFdmVudCBvYmplY3QgaXMgYWxyZWFkeSBi
ZWluZyBkaXNwYXRjaGVkLiIKLX07Ci0KLXN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCB4bWxIdHRw
UmVxdWVzdEV4Y2VwdGlvbk5hbWVzW10gPSB7Ci0gICAgIk5FVFdPUktfRVJSIiwKLSAgICAiQUJP
UlRfRVJSIgotfTsKLQotc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IHhtbEh0dHBSZXF1ZXN0RXhj
ZXB0aW9uRGVzY3JpcHRpb25zW10gPSB7Ci0gICAgIkEgbmV0d29yayBlcnJvciBvY2N1cmVkIGlu
IHN5bmNocm9ub3VzIHJlcXVlc3RzLiIsCi0gICAgIlRoZSB1c2VyIGFib3J0ZWQgYSByZXF1ZXN0
IGluIHN5bmNocm9ub3VzIHJlcXVlc3RzLiIKLX07Ci0KLXN0YXRpYyBjb25zdCBjaGFyKiBjb25z
dCB4cGF0aEV4Y2VwdGlvbk5hbWVzW10gPSB7Ci0gICAgIklOVkFMSURfRVhQUkVTU0lPTl9FUlIi
LAotICAgICJUWVBFX0VSUiIKLX07Ci0KLXN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCB4cGF0aEV4
Y2VwdGlvbkRlc2NyaXB0aW9uc1tdID0gewotICAgICJUaGUgZXhwcmVzc2lvbiBoYWQgYSBzeW50
YXggZXJyb3Igb3Igb3RoZXJ3aXNlIGlzIG5vdCBhIGxlZ2FsIGV4cHJlc3Npb24gYWNjb3JkaW5n
IHRvIHRoZSBydWxlcyBvZiB0aGUgc3BlY2lmaWMgWFBhdGhFdmFsdWF0b3IuIiwKLSAgICAiVGhl
IGV4cHJlc3Npb24gY291bGQgbm90IGJlIGNvbnZlcnRlZCB0byByZXR1cm4gdGhlIHNwZWNpZmll
ZCB0eXBlLiIKLX07Ci0KICNpZiBFTkFCTEUoU1ZHKQotc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0
IHN2Z0V4Y2VwdGlvbk5hbWVzW10gPSB7Ci0gICAgIlNWR19XUk9OR19UWVBFX0VSUiIsCi0gICAg
IlNWR19JTlZBTElEX1ZBTFVFX0VSUiIsCi0gICAgIlNWR19NQVRSSVhfTk9UX0lOVkVSVEFCTEUi
Ci19OwotCi1zdGF0aWMgY29uc3QgY2hhciogY29uc3Qgc3ZnRXhjZXB0aW9uRGVzY3JpcHRpb25z
W10gPSB7Ci0gICAgIkFuIG9iamVjdCBvZiB0aGUgd3JvbmcgdHlwZSB3YXMgcGFzc2VkIHRvIGFu
IG9wZXJhdGlvbi4iLAotICAgICJBbiBpbnZhbGlkIHZhbHVlIHdhcyBwYXNzZWQgdG8gYW4gb3Bl
cmF0aW9uIG9yIGFzc2lnbmVkIHRvIGFuIGF0dHJpYnV0ZS4iLAotICAgICJBbiBhdHRlbXB0IHdh
cyBtYWRlIHRvIGludmVydCBhIG1hdHJpeCB0aGF0IGlzIG5vdCBpbnZlcnRpYmxlLiIKLX07Ci0j
ZW5kaWYKLQotI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCi1zdGF0aWMgY29uc3QgY2hhciogY29u
c3Qgc3FsRXhjZXB0aW9uTmFtZXNbXSA9IHsKLSAgICAiVU5LTk9XTl9FUlIiLAotICAgICJEQVRB
QkFTRV9FUlIiLAotICAgICJWRVJTSU9OX0VSUiIsCi0gICAgIlRPT19MQVJHRV9FUlIiLAotICAg
ICJRVU9UQV9FUlIiLAotICAgICJTWU5UQVhfRVJSIiwKLSAgICAiQ09OU1RSQUlOVF9FUlIiLAot
ICAgICJUSU1FT1VUX0VSUiIKLX07Ci0KLXN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBzcWxFeGNl
cHRpb25EZXNjcmlwdGlvbnNbXSA9IHsKLSAgICAiVGhlIG9wZXJhdGlvbiBmYWlsZWQgZm9yIHJl
YXNvbnMgdW5yZWxhdGVkIHRvIHRoZSBkYXRhYmFzZS4iLAotICAgICJUaGUgb3BlcmF0aW9uIGZh
aWxlZCBmb3Igc29tZSByZWFzb24gcmVsYXRlZCB0byB0aGUgZGF0YWJhc2UuIiwKLSAgICAiVGhl
IGFjdHVhbCBkYXRhYmFzZSB2ZXJzaW9uIGRpZCBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIHZlcnNp
b24uIiwKLSAgICAiRGF0YSByZXR1cm5lZCBmcm9tIHRoZSBkYXRhYmFzZSBpcyB0b28gbGFyZ2Uu
IiwKLSAgICAiUXVvdGEgd2FzIGV4Y2VlZGVkLiIsCi0gICAgIkludmFsaWQgb3IgdW5hdXRob3Jp
emVkIHN0YXRlbWVudDsgb3IgdGhlIG51bWJlciBvZiBhcmd1bWVudHMgZGlkIG5vdCBtYXRjaCB0
aGUgbnVtYmVyIG9mID8gcGxhY2Vob2xkZXJzLiIsCi0gICAgIkEgY29uc3RyYWludCB3YXMgdmlv
bGF0ZWQuIiwKLSAgICAiQSB0cmFuc2FjdGlvbiBsb2NrIGNvdWxkIG5vdCBiZSBhY3F1aXJlZCBp
biBhIHJlYXNvbmFibGUgdGltZS4iCi19OwotI2VuZGlmCi0KLSNpZiBFTkFCTEUoQkxPQikgfHwg
RU5BQkxFKEZJTEVfU1lTVEVNKQotc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IGZpbGVFeGNlcHRp
b25OYW1lc1tdID0gewotICAgICJOT1RfRk9VTkRfRVJSIiwKLSAgICAiU0VDVVJJVFlfRVJSIiwK
LSAgICAiQUJPUlRfRVJSIiwKLSAgICAiTk9UX1JFQURBQkxFX0VSUiIsCi0gICAgIkVOQ09ESU5H
X0VSUiIsCi0gICAgIk5PX01PRElGSUNBVElPTl9BTExPV0VEX0VSUiIsCi0gICAgIklOVkFMSURf
U1RBVEVfRVJSIiwKLSAgICAiU1lOVEFYX0VSUiIsCi0gICAgIklOVkFMSURfTU9ESUZJQ0FUSU9O
X0VSUiIsCi0gICAgIlFVT1RBX0VYQ0VFREVEX0VSUiIsCi0gICAgIlRZUEVfTUlTTUFUQ0hfRVJS
IiwKLSAgICAiUEFUSF9FWElTVFNfRVJSIgotfTsKLQotc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0
IGZpbGVFeGNlcHRpb25EZXNjcmlwdGlvbnNbXSA9IHsKLSAgICAiQSByZXF1ZXN0ZWQgZmlsZSBv
ciBkaXJlY3RvcnkgY291bGQgbm90IGJlIGZvdW5kIGF0IHRoZSB0aW1lIGFuIG9wZXJhdGlvbiB3
YXMgcHJvY2Vzc2VkLiIsCi0gICAgIkl0IHdhcyBkZXRlcm1pbmVkIHRoYXQgY2VydGFpbiBmaWxl
cyBhcmUgdW5zYWZlIGZvciBhY2Nlc3Mgd2l0aGluIGEgV2ViIGFwcGxpY2F0aW9uLCBvciB0aGF0
IHRvbyBtYW55IGNhbGxzIGFyZSBiZWluZyBtYWRlIG9uIGZpbGUgcmVzb3VyY2VzLiIsCi0gICAg
IkFuIG9uZ29pbmcgb3BlcmF0aW9uIHdhcyBhYm9ydGVkLCB0eXBpY2FsbHkgd2l0aCBhIGNhbGwg
dG8gYWJvcnQoKS4iLAotICAgICJUaGUgcmVxdWVzdGVkIGZpbGUgY291bGQgbm90IGJlIHJlYWQs
IHR5cGljYWxseSBkdWUgdG8gcGVybWlzc2lvbiBwcm9ibGVtcyB0aGF0IGhhdmUgb2NjdXJlZCBh
ZnRlciBhIHJlZmVyZW5jZSB0byBhIGZpbGUgd2FzIGFjcXVpcmVkLiIsCi0gICAgIkEgVVJJIHN1
cHBsaWVkIHRvIHRoZSBBUEkgd2FzIG1hbGZvcm1lZCwgb3IgdGhlIHJlc3VsdGluZyBEYXRhIFVS
TCBoYXMgZXhjZWVkZWQgdGhlIFVSTCBsZW5ndGggbGltaXRhdGlvbnMgZm9yIERhdGEgVVJMcy4i
LAotICAgICJBbiBhdHRlbXB0IHdhcyBtYWRlIHRvIHdyaXRlIHRvIGEgZmlsZSBvciBkaXJlY3Rv
cnkgd2hpY2ggY291bGQgbm90IGJlIG1vZGlmaWVkIGR1ZSB0byB0aGUgc3RhdGUgb2YgdGhlIHVu
ZGVybHlpbmcgZmlsZXN5c3RlbS4iLAotICAgICJBbiBvcGVyYXRpb24gdGhhdCBkZXBlbmRzIG9u
IHN0YXRlIGNhY2hlZCBpbiBhbiBpbnRlcmZhY2Ugb2JqZWN0IHdhcyBtYWRlIGJ1dCB0aGUgc3Rh
dGUgaGFkIGNoYW5nZWQgc2luY2UgaXQgd2FzIHJlYWQgZnJvbSBkaXNrLiIsCi0gICAgIkFuIGlu
dmFsaWQgb3IgdW5zdXBwb3J0ZWQgYXJndW1lbnQgd2FzIGdpdmVuLCBsaWtlIGFuIGludmFsaWQg
bGluZSBlbmRpbmcgc3BlY2lmaWVyLiIsCi0gICAgIlRoZSBtb2RpZmljYXRpb24gcmVxdWVzdCB3
YXMgaWxsZWdhbC4iLAotICAgICJUaGUgb3BlcmF0aW9uIGZhaWxlZCBiZWNhdXNlIGl0IHdvdWxk
IGNhdXNlIHRoZSBhcHBsaWNhdGlvbiB0byBleGNlZWQgaXRzIHN0b3JhZ2UgcXVvdGEuIiwKLSAg
ICAiVGhlIHBhdGggc3VwcGxpZWQgZXhpc3RzLCBidXQgd2FzIG5vdCBhbiBlbnRyeSBvZiByZXF1
ZXN0ZWQgdHlwZS4iLAotICAgICJBbiBhdHRlbXB0IHdhcyBtYWRlIHRvIGNyZWF0ZSBhIGZpbGUg
b3IgZGlyZWN0b3J5IHdoZXJlIGFuIGVsZW1lbnQgYWxyZWFkeSBleGlzdHMuIgotfTsKLQotc3Rh
dGljIGNvbnN0IGNoYXIqIGNvbnN0IG9wZXJhdGlvbk5vdEFsbG93ZWRFeGNlcHRpb25OYW1lc1td
ID0gewotICAgICJOT1RfQUxMT1dFRF9FUlIiCi19OwotCi1zdGF0aWMgY29uc3QgY2hhciogY29u
c3Qgb3BlcmF0aW9uTm90QWxsb3dlZEV4Y2VwdGlvbkRlc2NyaXB0aW9uc1tdID0gewotICAgICJB
IHJlYWQgbWV0aG9kIHdhcyBjYWxsZWQgd2hpbGUgdGhlIG9iamVjdCB3YXMgaW4gdGhlIExPQURJ
Tkcgc3RhdGUgZHVlIHRvIGEgcHJldmlvdXMgcmVhZCBjYWxsLiIKLX07CisjaW5jbHVkZSAiU1ZH
RXhjZXB0aW9uLmgiCiAjZW5kaWYKKyNpbmNsdWRlICJYTUxIdHRwUmVxdWVzdEV4Y2VwdGlvbi5o
IgorI2luY2x1ZGUgIlhQYXRoRXhjZXB0aW9uLmgiCiAKLSNpZiBFTkFCTEUoSU5ERVhFRF9EQVRB
QkFTRSkKLXN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBpZGJEYXRhYmFzZUV4Y2VwdGlvbk5hbWVz
W10gPSB7Ci0gICAgIlVOS05PV05fRVJSIiwKLSAgICAiTk9OX1RSQU5TSUVOVF9FUlIiLAotICAg
ICJOT1RfRk9VTkRfRVJSIiwKLSAgICAiQ09OU1RSQUlOVF9FUlIiLAotICAgICJEQVRBX0VSUiIs
Ci0gICAgIk5PVF9BTExPV0VEX0VSUiIsCi0gICAgIlNFUklBTF9FUlIiLAotICAgICJSRUNPVkVS
QUJMRV9FUlIiLAotICAgICJUUkFOU0lFTlRfRVJSIiwKLSAgICAiVElNRU9VVF9FUlIiLAotICAg
ICJERUFETE9DS19FUlIiLAotICAgICJSRUFEX09OTFlfRVJSIiwKLSAgICAiQUJPUlRfRVJSIgot
fTsKLQotc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IGlkYkRhdGFiYXNlRXhjZXB0aW9uRGVzY3Jp
cHRpb25zW10gPSB7Ci0gICAgIkFuIHVua25vd24gZXJyb3Igb2NjdXJyZWQgd2l0aGluIEluZGV4
ZWQgRGF0YWJhc2UuIiwKLSAgICAiTk9OX1RSQU5TSUVOVF9FUlIiLCAvLyBGSVhNRTogV3JpdGUg
YSBiZXR0ZXIgbWVzc2FnZSBpZiBpdCdzIGV2ZXIgcG9zc2libGUgdGhpcyBpcyB0aHJvd24uCi0g
ICAgIlRoZSBuYW1lIHN1cHBsaWVkIGRvZXMgbm90IG1hdGNoIGFueSBleGlzdGluZyBpdGVtLiIs
Ci0gICAgIlRoZSByZXF1ZXN0IGNhbm5vdCBiZSBjb21wbGV0ZWQgZHVlIHRvIGEgZmFpbGVkIGNv
bnN0cmFpbnQuIiwKLSAgICAiVGhlIGRhdGEgcHJvdmlkZWQgZG9lcyBub3QgbWVldCB0aGUgcmVx
dWlyZW1lbnRzIG9mIHRoZSBmdW5jdGlvbi4iLAotICAgICJUaGlzIGZ1bmN0aW9uIGlzIG5vdCBh
bGxvd2VkIHRvIGJlIGNhbGxlZCBpbiBzdWNoIGEgY29udGV4dC4iLAotICAgICJUaGUgZGF0YSBz
dXBwbGllZCBjYW5ub3QgYmUgc2VyaWFsaXplZCBhY2NvcmRpbmcgdG8gdGhlIHN0cnVjdHVyZWQg
Y2xvbmluZyBhbGdvcml0aG0uIiwKLSAgICAiUkVDT1ZFUkFCTEVfRVJSIiwgLy8gRklYTUU6IFRo
aXMgaXNuJ3QgZXZlbiB1c2VkLgotICAgICJUUkFOU0lFTlRfRVJSIiwgLy8gRklYTUU6IFRoaXMg
aXNuJ3QgZXZlbiB1c2VkLgotICAgICJUSU1FT1VUX0VSUiIsIC8vIFRoaXMgY2FuJ3QgYmUgdGhy
b3duLgotICAgICJERUFETE9DS19FUlIiLCAvLyBUaGlzIGNhbid0IGJlIHRocm93bi4KLSAgICAi
V3JpdGUgb3BlcmF0aW9ucyBjYW5ub3QgYmUgcHJlZm9ybWVkIG9uIGEgcmVhZC1vbmx5IHRyYW5z
YWN0aW9uLiIsCi0gICAgIlRoZSB0cmFuc2FjdGlvbiB3YXMgYWJvcnRlZCwgc28gdGhlIHJlcXVl
c3QgY2Fubm90IGJlIGZ1bGZpbGxlZC4iCi19OwotI2VuZGlmCituYW1lc3BhY2UgV2ViQ29yZSB7
CiAKIHZvaWQgZ2V0RXhjZXB0aW9uQ29kZURlc2NyaXB0aW9uKEV4Y2VwdGlvbkNvZGUgZWMsIEV4
Y2VwdGlvbkNvZGVEZXNjcmlwdGlvbiYgZGVzY3JpcHRpb24pCiB7CiAgICAgQVNTRVJUKGVjKTsK
IAotICAgIGNvbnN0IGNoYXIqIHR5cGVOYW1lOwotICAgIGludCBjb2RlID0gZWM7Ci0gICAgY29u
c3QgY2hhciogY29uc3QqIG5hbWVUYWJsZTsKLSAgICBjb25zdCBjaGFyKiBjb25zdCogZGVzY3Jp
cHRpb25UYWJsZTsKLSAgICBpbnQgbmFtZVRhYmxlU2l6ZTsKLSAgICBpbnQgbmFtZVRhYmxlT2Zm
c2V0OwotICAgIEV4Y2VwdGlvblR5cGUgdHlwZTsKLQotICAgIGlmIChjb2RlID49IFJhbmdlRXhj
ZXB0aW9uOjpSYW5nZUV4Y2VwdGlvbk9mZnNldCAmJiBjb2RlIDw9IFJhbmdlRXhjZXB0aW9uOjpS
YW5nZUV4Y2VwdGlvbk1heCkgewotICAgICAgICB0eXBlID0gUmFuZ2VFeGNlcHRpb25UeXBlOwot
ICAgICAgICB0eXBlTmFtZSA9ICJET00gUmFuZ2UiOwotICAgICAgICBjb2RlIC09IFJhbmdlRXhj
ZXB0aW9uOjpSYW5nZUV4Y2VwdGlvbk9mZnNldDsKLSAgICAgICAgbmFtZVRhYmxlID0gcmFuZ2VF
eGNlcHRpb25OYW1lczsKLSAgICAgICAgZGVzY3JpcHRpb25UYWJsZSA9IHJhbmdlRXhjZXB0aW9u
RGVzY3JpcHRpb25zOwotICAgICAgICBuYW1lVGFibGVTaXplID0gV1RGX0FSUkFZX0xFTkdUSChy
YW5nZUV4Y2VwdGlvbk5hbWVzKTsKLSAgICAgICAgbmFtZVRhYmxlT2Zmc2V0ID0gUmFuZ2VFeGNl
cHRpb246OkJBRF9CT1VOREFSWVBPSU5UU19FUlI7Ci0gICAgfSBlbHNlIGlmIChjb2RlID49IEV2
ZW50RXhjZXB0aW9uOjpFdmVudEV4Y2VwdGlvbk9mZnNldCAmJiBjb2RlIDw9IEV2ZW50RXhjZXB0
aW9uOjpFdmVudEV4Y2VwdGlvbk1heCkgewotICAgICAgICB0eXBlID0gRXZlbnRFeGNlcHRpb25U
eXBlOwotICAgICAgICB0eXBlTmFtZSA9ICJET00gRXZlbnRzIjsKLSAgICAgICAgY29kZSAtPSBF
dmVudEV4Y2VwdGlvbjo6RXZlbnRFeGNlcHRpb25PZmZzZXQ7Ci0gICAgICAgIG5hbWVUYWJsZSA9
IGV2ZW50RXhjZXB0aW9uTmFtZXM7Ci0gICAgICAgIGRlc2NyaXB0aW9uVGFibGUgPSBldmVudEV4
Y2VwdGlvbkRlc2NyaXB0aW9uczsKLSAgICAgICAgbmFtZVRhYmxlU2l6ZSA9IFdURl9BUlJBWV9M
RU5HVEgoZXZlbnRFeGNlcHRpb25OYW1lcyk7Ci0gICAgICAgIG5hbWVUYWJsZU9mZnNldCA9IEV2
ZW50RXhjZXB0aW9uOjpVTlNQRUNJRklFRF9FVkVOVF9UWVBFX0VSUjsKLSAgICB9IGVsc2UgaWYg
KGNvZGUgPj0gWE1MSHR0cFJlcXVlc3RFeGNlcHRpb246OlhNTEh0dHBSZXF1ZXN0RXhjZXB0aW9u
T2Zmc2V0ICYmIGNvZGUgPD0gWE1MSHR0cFJlcXVlc3RFeGNlcHRpb246OlhNTEh0dHBSZXF1ZXN0
RXhjZXB0aW9uTWF4KSB7Ci0gICAgICAgIHR5cGUgPSBYTUxIdHRwUmVxdWVzdEV4Y2VwdGlvblR5
cGU7Ci0gICAgICAgIHR5cGVOYW1lID0gIlhNTEh0dHBSZXF1ZXN0IjsKLSAgICAgICAgY29kZSAt
PSBYTUxIdHRwUmVxdWVzdEV4Y2VwdGlvbjo6WE1MSHR0cFJlcXVlc3RFeGNlcHRpb25PZmZzZXQ7
Ci0gICAgICAgIG5hbWVUYWJsZSA9IHhtbEh0dHBSZXF1ZXN0RXhjZXB0aW9uTmFtZXM7Ci0gICAg
ICAgIGRlc2NyaXB0aW9uVGFibGUgPSB4bWxIdHRwUmVxdWVzdEV4Y2VwdGlvbkRlc2NyaXB0aW9u
czsKLSAgICAgICAgbmFtZVRhYmxlU2l6ZSA9IFdURl9BUlJBWV9MRU5HVEgoeG1sSHR0cFJlcXVl
c3RFeGNlcHRpb25OYW1lcyk7Ci0gICAgICAgIC8vIFhNTEh0dHBSZXF1ZXN0IGV4Y2VwdGlvbiBj
b2RlcyBzdGFydCB3aXRoIDEwMSBhbmQgd2UgZG9uJ3Qgd2FudCAxMDAgZW1wdHkgZWxlbWVudHMg
aW4gdGhlIG5hbWUgYXJyYXkKLSAgICAgICAgbmFtZVRhYmxlT2Zmc2V0ID0gWE1MSHR0cFJlcXVl
c3RFeGNlcHRpb246Ok5FVFdPUktfRVJSOwotICAgIH0gZWxzZSBpZiAoY29kZSA+PSBYUGF0aEV4
Y2VwdGlvbjo6WFBhdGhFeGNlcHRpb25PZmZzZXQgJiYgY29kZSA8PSBYUGF0aEV4Y2VwdGlvbjo6
WFBhdGhFeGNlcHRpb25NYXgpIHsKLSAgICAgICAgdHlwZSA9IFhQYXRoRXhjZXB0aW9uVHlwZTsK
LSAgICAgICAgdHlwZU5hbWUgPSAiRE9NIFhQYXRoIjsKLSAgICAgICAgY29kZSAtPSBYUGF0aEV4
Y2VwdGlvbjo6WFBhdGhFeGNlcHRpb25PZmZzZXQ7Ci0gICAgICAgIG5hbWVUYWJsZSA9IHhwYXRo
RXhjZXB0aW9uTmFtZXM7Ci0gICAgICAgIGRlc2NyaXB0aW9uVGFibGUgPSB4cGF0aEV4Y2VwdGlv
bkRlc2NyaXB0aW9uczsKLSAgICAgICAgbmFtZVRhYmxlU2l6ZSA9IFdURl9BUlJBWV9MRU5HVEgo
eHBhdGhFeGNlcHRpb25OYW1lcyk7Ci0gICAgICAgIC8vIFhQYXRoIGV4Y2VwdGlvbiBjb2RlcyBz
dGFydCB3aXRoIDUxIGFuZCB3ZSBkb24ndCB3YW50IDUxIGVtcHR5IGVsZW1lbnRzIGluIHRoZSBu
YW1lIGFycmF5Ci0gICAgICAgIG5hbWVUYWJsZU9mZnNldCA9IFhQYXRoRXhjZXB0aW9uOjpJTlZB
TElEX0VYUFJFU1NJT05fRVJSOwotI2lmIEVOQUJMRShTVkcpCi0gICAgfSBlbHNlIGlmIChjb2Rl
ID49IFNWR0V4Y2VwdGlvbjo6U1ZHRXhjZXB0aW9uT2Zmc2V0ICYmIGNvZGUgPD0gU1ZHRXhjZXB0
aW9uOjpTVkdFeGNlcHRpb25NYXgpIHsKLSAgICAgICAgdHlwZSA9IFNWR0V4Y2VwdGlvblR5cGU7
Ci0gICAgICAgIHR5cGVOYW1lID0gIkRPTSBTVkciOwotICAgICAgICBjb2RlIC09IFNWR0V4Y2Vw
dGlvbjo6U1ZHRXhjZXB0aW9uT2Zmc2V0OwotICAgICAgICBuYW1lVGFibGUgPSBzdmdFeGNlcHRp
b25OYW1lczsKLSAgICAgICAgZGVzY3JpcHRpb25UYWJsZSA9IHN2Z0V4Y2VwdGlvbkRlc2NyaXB0
aW9uczsKLSAgICAgICAgbmFtZVRhYmxlU2l6ZSA9IFdURl9BUlJBWV9MRU5HVEgoc3ZnRXhjZXB0
aW9uTmFtZXMpOwotICAgICAgICBuYW1lVGFibGVPZmZzZXQgPSBTVkdFeGNlcHRpb246OlNWR19X
Uk9OR19UWVBFX0VSUjsKKyAgICBpZiAoRXZlbnRFeGNlcHRpb246OmluaXRpYWxpemVEZXNjcmlw
dGlvbihlYywgJmRlc2NyaXB0aW9uKSkKKyAgICAgICAgcmV0dXJuOworI2lmIEVOQUJMRShCTE9C
KQorICAgIGlmIChGaWxlRXhjZXB0aW9uOjppbml0aWFsaXplRGVzY3JpcHRpb24oZWMsICZkZXNj
cmlwdGlvbikpCisgICAgICAgIHJldHVybjsKICNlbmRpZgotI2lmIEVOQUJMRShTUUxfREFUQUJB
U0UpCi0gICAgfSBlbHNlIGlmIChjb2RlID49IFNRTEV4Y2VwdGlvbjo6U1FMRXhjZXB0aW9uT2Zm
c2V0ICYmIGNvZGUgPD0gU1FMRXhjZXB0aW9uOjpTUUxFeGNlcHRpb25NYXgpIHsKLSAgICAgICAg
dHlwZSA9IFNRTEV4Y2VwdGlvblR5cGU7Ci0gICAgICAgIHR5cGVOYW1lID0gIkRPTSBTUUwiOwot
ICAgICAgICBjb2RlIC09IFNRTEV4Y2VwdGlvbjo6U1FMRXhjZXB0aW9uT2Zmc2V0OwotICAgICAg
ICBuYW1lVGFibGUgPSBzcWxFeGNlcHRpb25OYW1lczsKLSAgICAgICAgZGVzY3JpcHRpb25UYWJs
ZSA9IHNxbEV4Y2VwdGlvbkRlc2NyaXB0aW9uczsKLSAgICAgICAgbmFtZVRhYmxlU2l6ZSA9IFdU
Rl9BUlJBWV9MRU5HVEgoc3FsRXhjZXB0aW9uTmFtZXMpOwotICAgICAgICBuYW1lVGFibGVPZmZz
ZXQgPSBTUUxFeGNlcHRpb246OlVOS05PV05fRVJSOworI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFC
QVNFKQorICAgIGlmIChJREJEYXRhYmFzZUV4Y2VwdGlvbjo6aW5pdGlhbGl6ZURlc2NyaXB0aW9u
KGVjLCAmZGVzY3JpcHRpb24pKQorICAgICAgICByZXR1cm47CiAjZW5kaWYKLSNpZiBFTkFCTEUo
QkxPQikgfHwgRU5BQkxFKEZJTEVfU1lTVEVNKQotICAgIH0gZWxzZSBpZiAoY29kZSA+PSBGaWxl
RXhjZXB0aW9uOjpGaWxlRXhjZXB0aW9uT2Zmc2V0ICYmIGNvZGUgPD0gRmlsZUV4Y2VwdGlvbjo6
RmlsZUV4Y2VwdGlvbk1heCkgewotICAgICAgICB0eXBlID0gRmlsZUV4Y2VwdGlvblR5cGU7Ci0g
ICAgICAgIHR5cGVOYW1lID0gIkRPTSBGaWxlIjsKLSAgICAgICAgY29kZSAtPSBGaWxlRXhjZXB0
aW9uOjpGaWxlRXhjZXB0aW9uT2Zmc2V0OwotICAgICAgICBuYW1lVGFibGUgPSBmaWxlRXhjZXB0
aW9uTmFtZXM7Ci0gICAgICAgIGRlc2NyaXB0aW9uVGFibGUgPSBmaWxlRXhjZXB0aW9uRGVzY3Jp
cHRpb25zOwotICAgICAgICBuYW1lVGFibGVTaXplID0gV1RGX0FSUkFZX0xFTkdUSChmaWxlRXhj
ZXB0aW9uTmFtZXMpOwotICAgICAgICBuYW1lVGFibGVPZmZzZXQgPSBGaWxlRXhjZXB0aW9uOjpO
T1RfRk9VTkRfRVJSOwotICAgIH0gZWxzZSBpZiAoY29kZSA+PSBPcGVyYXRpb25Ob3RBbGxvd2Vk
RXhjZXB0aW9uOjpPcGVyYXRpb25Ob3RBbGxvd2VkRXhjZXB0aW9uT2Zmc2V0ICYmIGNvZGUgPD0g
T3BlcmF0aW9uTm90QWxsb3dlZEV4Y2VwdGlvbjo6T3BlcmF0aW9uTm90QWxsb3dlZEV4Y2VwdGlv
bk1heCkgewotICAgICAgICB0eXBlID0gT3BlcmF0aW9uTm90QWxsb3dlZEV4Y2VwdGlvblR5cGU7
Ci0gICAgICAgIHR5cGVOYW1lID0gIkRPTSBPcGVyYXRpb25Ob3RBbGxvd2VkIjsKLSAgICAgICAg
Y29kZSAtPSBPcGVyYXRpb25Ob3RBbGxvd2VkRXhjZXB0aW9uOjpPcGVyYXRpb25Ob3RBbGxvd2Vk
RXhjZXB0aW9uT2Zmc2V0OwotICAgICAgICBuYW1lVGFibGUgPSBvcGVyYXRpb25Ob3RBbGxvd2Vk
RXhjZXB0aW9uTmFtZXM7Ci0gICAgICAgIGRlc2NyaXB0aW9uVGFibGUgPSBvcGVyYXRpb25Ob3RB
bGxvd2VkRXhjZXB0aW9uRGVzY3JpcHRpb25zOwotICAgICAgICBuYW1lVGFibGVTaXplID0gV1RG
X0FSUkFZX0xFTkdUSChvcGVyYXRpb25Ob3RBbGxvd2VkRXhjZXB0aW9uTmFtZXMpOwotICAgICAg
ICBuYW1lVGFibGVPZmZzZXQgPSBPcGVyYXRpb25Ob3RBbGxvd2VkRXhjZXB0aW9uOjpOT1RfQUxM
T1dFRF9FUlI7CisgICAgaWYgKE9wZXJhdGlvbk5vdEFsbG93ZWRFeGNlcHRpb246OmluaXRpYWxp
emVEZXNjcmlwdGlvbihlYywgJmRlc2NyaXB0aW9uKSkKKyAgICAgICAgcmV0dXJuOworICAgIGlm
IChSYW5nZUV4Y2VwdGlvbjo6aW5pdGlhbGl6ZURlc2NyaXB0aW9uKGVjLCAmZGVzY3JpcHRpb24p
KQorICAgICAgICByZXR1cm47CisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKKyAgICBpZiAoU1FM
RXhjZXB0aW9uOjppbml0aWFsaXplRGVzY3JpcHRpb24oZWMsICZkZXNjcmlwdGlvbikpCisgICAg
ICAgIHJldHVybjsKICNlbmRpZgotI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQotICAgIH0g
ZWxzZSBpZiAoY29kZSA+PSBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6SURCRGF0YWJhc2VFeGNlcHRp
b25PZmZzZXQgJiYgY29kZSA8PSBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6SURCRGF0YWJhc2VFeGNl
cHRpb25NYXgpIHsKLSAgICAgICAgdHlwZSA9IElEQkRhdGFiYXNlRXhjZXB0aW9uVHlwZTsKLSAg
ICAgICAgdHlwZU5hbWUgPSAiRE9NIElEQkRhdGFiYXNlIjsKLSAgICAgICAgY29kZSAtPSBJREJE
YXRhYmFzZUV4Y2VwdGlvbjo6SURCRGF0YWJhc2VFeGNlcHRpb25PZmZzZXQ7Ci0gICAgICAgIG5h
bWVUYWJsZSA9IGlkYkRhdGFiYXNlRXhjZXB0aW9uTmFtZXM7Ci0gICAgICAgIGRlc2NyaXB0aW9u
VGFibGUgPSBpZGJEYXRhYmFzZUV4Y2VwdGlvbkRlc2NyaXB0aW9uczsKLSAgICAgICAgbmFtZVRh
YmxlU2l6ZSA9IFdURl9BUlJBWV9MRU5HVEgoaWRiRGF0YWJhc2VFeGNlcHRpb25OYW1lcyk7Ci0g
ICAgICAgIG5hbWVUYWJsZU9mZnNldCA9IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpVTktOT1dOX0VS
UjsKKyNpZiBFTkFCTEUoU1ZHKQorICAgIGlmIChTVkdFeGNlcHRpb246OmluaXRpYWxpemVEZXNj
cmlwdGlvbihlYywgJmRlc2NyaXB0aW9uKSkKKyAgICAgICAgcmV0dXJuOwogI2VuZGlmCi0gICAg
fSBlbHNlIHsKLSAgICAgICAgdHlwZSA9IERPTUV4Y2VwdGlvblR5cGU7Ci0gICAgICAgIHR5cGVO
YW1lID0gIkRPTSI7Ci0gICAgICAgIG5hbWVUYWJsZSA9IGV4Y2VwdGlvbk5hbWVzOwotICAgICAg
ICBkZXNjcmlwdGlvblRhYmxlID0gZXhjZXB0aW9uRGVzY3JpcHRpb25zOwotICAgICAgICBuYW1l
VGFibGVTaXplID0gV1RGX0FSUkFZX0xFTkdUSChleGNlcHRpb25OYW1lcyk7Ci0gICAgICAgIG5h
bWVUYWJsZU9mZnNldCA9IElOREVYX1NJWkVfRVJSOwotICAgIH0KLQotICAgIGRlc2NyaXB0aW9u
LnR5cGVOYW1lID0gdHlwZU5hbWU7Ci0gICAgZGVzY3JpcHRpb24ubmFtZSA9IChlYyA+PSBuYW1l
VGFibGVPZmZzZXQgJiYgZWMgLSBuYW1lVGFibGVPZmZzZXQgPCBuYW1lVGFibGVTaXplKSA/IG5h
bWVUYWJsZVtlYyAtIG5hbWVUYWJsZU9mZnNldF0gOiAwOwotICAgIGRlc2NyaXB0aW9uLmRlc2Ny
aXB0aW9uID0gKGVjID49IG5hbWVUYWJsZU9mZnNldCAmJiBlYyAtIG5hbWVUYWJsZU9mZnNldCA8
IG5hbWVUYWJsZVNpemUpID8gZGVzY3JpcHRpb25UYWJsZVtlYyAtIG5hbWVUYWJsZU9mZnNldF0g
OiAwOwotICAgIGRlc2NyaXB0aW9uLmNvZGUgPSBjb2RlOwotICAgIGRlc2NyaXB0aW9uLnR5cGUg
PSB0eXBlOworICAgIGlmIChYTUxIdHRwUmVxdWVzdEV4Y2VwdGlvbjo6aW5pdGlhbGl6ZURlc2Ny
aXB0aW9uKGVjLCAmZGVzY3JpcHRpb24pKQorICAgICAgICByZXR1cm47CisgICAgaWYgKFhQYXRo
RXhjZXB0aW9uOjppbml0aWFsaXplRGVzY3JpcHRpb24oZWMsICZkZXNjcmlwdGlvbikpCisgICAg
ICAgIHJldHVybjsKKyAgICBpZiAoRE9NQ29yZUV4Y2VwdGlvbjo6aW5pdGlhbGl6ZURlc2NyaXB0
aW9uKGVjLCAmZGVzY3JpcHRpb24pKQorICAgICAgICByZXR1cm47CiAKLSAgICAvLyBBbGwgZXhj
ZXB0aW9ucyB1c2VkIGluIHRoZSBET00gY29kZSBzaG91bGQgaGF2ZSBuYW1lcy4KLSAgICBBU1NF
UlQoZGVzY3JpcHRpb24ubmFtZSk7Ci0gICAgQVNTRVJUKGRlc2NyaXB0aW9uLmRlc2NyaXB0aW9u
KTsKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL1JhbmdlRXhjZXB0aW9uLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vUmFuZ2VFeGNlcHRpb24uY3BwCShyZXZpc2lvbiAwKQor
KysgU291cmNlL1dlYkNvcmUvZG9tL1JhbmdlRXhjZXB0aW9uLmNwcAkocmV2aXNpb24gMCkKQEAg
LTAsMCArMSw2NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gIE5laXRoZXIgdGhlIG5h
bWUgb2YgQXBwbGUgQ29tcHV0ZXIsIEluYy4gKCJBcHBsZSIpIG5vciB0aGUgbmFtZXMgb2YKKyAq
ICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkCisgKiAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgR09PR0xFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQor
ICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICog
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiUmFuZ2VFeGNl
cHRpb24uaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCisvLyBGSVhNRTogVGhpcyBzaG91bGQg
YmUgYW4gYXJyYXkgb2Ygc3RydWN0cyB0byBwYWlyIHRoZSBuYW1lcyBhbmQgZGVzY3JpcHRpb25z
Lgorc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IHJhbmdlRXhjZXB0aW9uTmFtZXNbXSA9IHsKKyAg
ICAiQkFEX0JPVU5EQVJZUE9JTlRTX0VSUiIsCisgICAgIklOVkFMSURfTk9ERV9UWVBFX0VSUiIK
K307CisKK3N0YXRpYyBjb25zdCBjaGFyKiBjb25zdCByYW5nZUV4Y2VwdGlvbkRlc2NyaXB0aW9u
c1tdID0geworICAgICJUaGUgYm91bmRhcnktcG9pbnRzIG9mIGEgUmFuZ2UgZGlkIG5vdCBtZWV0
IHNwZWNpZmljIHJlcXVpcmVtZW50cy4iLAorICAgICJUaGUgY29udGFpbmVyIG9mIGFuIGJvdW5k
YXJ5LXBvaW50IG9mIGEgUmFuZ2Ugd2FzIGJlaW5nIHNldCB0byBlaXRoZXIgYSBub2RlIG9mIGFu
IGludmFsaWQgdHlwZSBvciBhIG5vZGUgd2l0aCBhbiBhbmNlc3RvciBvZiBhbiBpbnZhbGlkIHR5
cGUuIgorfTsKKworQ09NUElMRV9BU1NFUlQoV1RGX0FSUkFZX0xFTkdUSChyYW5nZUV4Y2VwdGlv
bk5hbWVzKSA9PSBXVEZfQVJSQVlfTEVOR1RIKHJhbmdlRXhjZXB0aW9uRGVzY3JpcHRpb25zKSwg
UmFuZ2VFeGNlcHRpb25UYWJsZXNNdXN0TWF0Y2gpOworCitib29sIFJhbmdlRXhjZXB0aW9uOjpp
bml0aWFsaXplRGVzY3JpcHRpb24oRXhjZXB0aW9uQ29kZSBlYywgRXhjZXB0aW9uQ29kZURlc2Ny
aXB0aW9uKiBkZXNjcmlwdGlvbikKK3sKKyAgICBpZiAoZWMgPCBSYW5nZUV4Y2VwdGlvbk9mZnNl
dCB8fCBlYyA+IFJhbmdlRXhjZXB0aW9uTWF4KQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAg
ICBkZXNjcmlwdGlvbi0+dHlwZU5hbWUgPSAiRE9NIFJhbmdlIjsKKyAgICBkZXNjcmlwdGlvbi0+
Y29kZSA9IGVjIC0gUmFuZ2VFeGNlcHRpb25PZmZzZXQ7CisgICAgZGVzY3JpcHRpb24tPnR5cGUg
PSBSYW5nZUV4Y2VwdGlvblR5cGU7CisKKyAgICBzaXplX3QgdGFibGVTaXplID0gV1RGX0FSUkFZ
X0xFTkdUSChyYW5nZUV4Y2VwdGlvbk5hbWVzKTsKKyAgICBzaXplX3QgdGFibGVJbmRleCA9IGVj
IC0gQkFEX0JPVU5EQVJZUE9JTlRTX0VSUjsKKworICAgIGRlc2NyaXB0aW9uLT5uYW1lID0gdGFi
bGVJbmRleCA8IHRhYmxlU2l6ZSA/IHJhbmdlRXhjZXB0aW9uTmFtZXNbdGFibGVJbmRleF0gOiAw
OworICAgIGRlc2NyaXB0aW9uLT5kZXNjcmlwdGlvbiA9IHRhYmxlSW5kZXggPCB0YWJsZVNpemUg
PyByYW5nZUV4Y2VwdGlvbkRlc2NyaXB0aW9uc1t0YWJsZUluZGV4XSA6IDA7CisKKyAgICByZXR1
cm4gdHJ1ZTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNv
cmUvZG9tL1JhbmdlRXhjZXB0aW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9t
L1JhbmdlRXhjZXB0aW9uLmgJKHJldmlzaW9uIDk4NjcyKQorKysgU291cmNlL1dlYkNvcmUvZG9t
L1JhbmdlRXhjZXB0aW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ0LDYgKzQ0LDggQEAgcHVibGlj
OgogICAgICAgICBJTlZBTElEX05PREVfVFlQRV9FUlIKICAgICB9OwogCisgICAgc3RhdGljIGJv
b2wgaW5pdGlhbGl6ZURlc2NyaXB0aW9uKEV4Y2VwdGlvbkNvZGUsIEV4Y2VwdGlvbkNvZGVEZXNj
cmlwdGlvbiopOworCiBwcml2YXRlOgogICAgIFJhbmdlRXhjZXB0aW9uKGNvbnN0IEV4Y2VwdGlv
bkNvZGVEZXNjcmlwdGlvbiYgZGVzY3JpcHRpb24pCiAgICAgICAgIDogRXhjZXB0aW9uQmFzZShk
ZXNjcmlwdGlvbikKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZUV4Y2VwdGlvbi5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxlRXhjZXB0aW9uLmNw
cAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZUV4Y2VwdGlvbi5j
cHAJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsOTAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
IDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgiQXBwbGUiKSBu
b3IgdGhlIG5hbWVzIG9mCisgKiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBl
bmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAorICogICAgIGZyb20gdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEdPT0dMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAi
QVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAq
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgor
CisjaWYgRU5BQkxFKEJMT0IpIHx8IEVOQUJMRShGSUxFX1NZU1RFTSkKKworI2luY2x1ZGUgIkZp
bGVFeGNlcHRpb24uaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCisvLyBGSVhNRTogVGhpcyBz
aG91bGQgYmUgYW4gYXJyYXkgb2Ygc3RydWN0cyB0byBwYWlyIHRoZSBuYW1lcyBhbmQgZGVzY3Jp
cHRpb25zLgorc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IGV4Y2VwdGlvbk5hbWVzW10gPSB7Cisg
ICAgIk5PVF9GT1VORF9FUlIiLAorICAgICJTRUNVUklUWV9FUlIiLAorICAgICJBQk9SVF9FUlIi
LAorICAgICJOT1RfUkVBREFCTEVfRVJSIiwKKyAgICAiRU5DT0RJTkdfRVJSIiwKKyAgICAiTk9f
TU9ESUZJQ0FUSU9OX0FMTE9XRURfRVJSIiwKKyAgICAiSU5WQUxJRF9TVEFURV9FUlIiLAorICAg
ICJTWU5UQVhfRVJSIiwKKyAgICAiSU5WQUxJRF9NT0RJRklDQVRJT05fRVJSIiwKKyAgICAiUVVP
VEFfRVhDRUVERURfRVJSIiwKKyAgICAiVFlQRV9NSVNNQVRDSF9FUlIiLAorICAgICJQQVRIX0VY
SVNUU19FUlIiCit9OworCitzdGF0aWMgY29uc3QgY2hhciogY29uc3QgZXhjZXB0aW9uRGVzY3Jp
cHRpb25zW10gPSB7CisgICAgIkEgcmVxdWVzdGVkIGZpbGUgb3IgZGlyZWN0b3J5IGNvdWxkIG5v
dCBiZSBmb3VuZCBhdCB0aGUgdGltZSBhbiBvcGVyYXRpb24gd2FzIHByb2Nlc3NlZC4iLAorICAg
ICJJdCB3YXMgZGV0ZXJtaW5lZCB0aGF0IGNlcnRhaW4gZmlsZXMgYXJlIHVuc2FmZSBmb3IgYWNj
ZXNzIHdpdGhpbiBhIFdlYiBhcHBsaWNhdGlvbiwgb3IgdGhhdCB0b28gbWFueSBjYWxscyBhcmUg
YmVpbmcgbWFkZSBvbiBmaWxlIHJlc291cmNlcy4iLAorICAgICJBbiBvbmdvaW5nIG9wZXJhdGlv
biB3YXMgYWJvcnRlZCwgdHlwaWNhbGx5IHdpdGggYSBjYWxsIHRvIGFib3J0KCkuIiwKKyAgICAi
VGhlIHJlcXVlc3RlZCBmaWxlIGNvdWxkIG5vdCBiZSByZWFkLCB0eXBpY2FsbHkgZHVlIHRvIHBl
cm1pc3Npb24gcHJvYmxlbXMgdGhhdCBoYXZlIG9jY3VyZWQgYWZ0ZXIgYSByZWZlcmVuY2UgdG8g
YSBmaWxlIHdhcyBhY3F1aXJlZC4iLAorICAgICJBIFVSSSBzdXBwbGllZCB0byB0aGUgQVBJIHdh
cyBtYWxmb3JtZWQsIG9yIHRoZSByZXN1bHRpbmcgRGF0YSBVUkwgaGFzIGV4Y2VlZGVkIHRoZSBV
UkwgbGVuZ3RoIGxpbWl0YXRpb25zIGZvciBEYXRhIFVSTHMuIiwKKyAgICAiQW4gYXR0ZW1wdCB3
YXMgbWFkZSB0byB3cml0ZSB0byBhIGZpbGUgb3IgZGlyZWN0b3J5IHdoaWNoIGNvdWxkIG5vdCBi
ZSBtb2RpZmllZCBkdWUgdG8gdGhlIHN0YXRlIG9mIHRoZSB1bmRlcmx5aW5nIGZpbGVzeXN0ZW0u
IiwKKyAgICAiQW4gb3BlcmF0aW9uIHRoYXQgZGVwZW5kcyBvbiBzdGF0ZSBjYWNoZWQgaW4gYW4g
aW50ZXJmYWNlIG9iamVjdCB3YXMgbWFkZSBidXQgdGhlIHN0YXRlIGhhZCBjaGFuZ2VkIHNpbmNl
IGl0IHdhcyByZWFkIGZyb20gZGlzay4iLAorICAgICJBbiBpbnZhbGlkIG9yIHVuc3VwcG9ydGVk
IGFyZ3VtZW50IHdhcyBnaXZlbiwgbGlrZSBhbiBpbnZhbGlkIGxpbmUgZW5kaW5nIHNwZWNpZmll
ci4iLAorICAgICJUaGUgbW9kaWZpY2F0aW9uIHJlcXVlc3Qgd2FzIGlsbGVnYWwuIiwKKyAgICAi
VGhlIG9wZXJhdGlvbiBmYWlsZWQgYmVjYXVzZSBpdCB3b3VsZCBjYXVzZSB0aGUgYXBwbGljYXRp
b24gdG8gZXhjZWVkIGl0cyBzdG9yYWdlIHF1b3RhLiIsCisgICAgIlRoZSBwYXRoIHN1cHBsaWVk
IGV4aXN0cywgYnV0IHdhcyBub3QgYW4gZW50cnkgb2YgcmVxdWVzdGVkIHR5cGUuIiwKKyAgICAi
QW4gYXR0ZW1wdCB3YXMgbWFkZSB0byBjcmVhdGUgYSBmaWxlIG9yIGRpcmVjdG9yeSB3aGVyZSBh
biBlbGVtZW50IGFscmVhZHkgZXhpc3RzLiIKK307CisKK0NPTVBJTEVfQVNTRVJUKFdURl9BUlJB
WV9MRU5HVEgoZXhjZXB0aW9uTmFtZXMpID09IFdURl9BUlJBWV9MRU5HVEgoZXhjZXB0aW9uRGVz
Y3JpcHRpb25zKSwgRmlsZUV4Y2VwdGlvblRhYmxlc011c3RNYXRjaCk7CisKK2Jvb2wgRmlsZUV4
Y2VwdGlvbjo6aW5pdGlhbGl6ZURlc2NyaXB0aW9uKEV4Y2VwdGlvbkNvZGUgZWMsIEV4Y2VwdGlv
bkNvZGVEZXNjcmlwdGlvbiogZGVzY3JpcHRpb24pCit7CisgICAgaWYgKGVjIDwgRmlsZUV4Y2Vw
dGlvbk9mZnNldCB8fCBlYyA+IEZpbGVFeGNlcHRpb25NYXgpCisgICAgICAgIHJldHVybiBmYWxz
ZTsKKworICAgIGRlc2NyaXB0aW9uLT50eXBlTmFtZSA9ICJET00gRmlsZSI7CisgICAgZGVzY3Jp
cHRpb24tPmNvZGUgPSBlYyAtIEZpbGVFeGNlcHRpb25PZmZzZXQ7CisgICAgZGVzY3JpcHRpb24t
PnR5cGUgPSBGaWxlRXhjZXB0aW9uVHlwZTsKKworICAgIHNpemVfdCB0YWJsZVNpemUgPSBXVEZf
QVJSQVlfTEVOR1RIKGV4Y2VwdGlvbk5hbWVzKTsKKyAgICBzaXplX3QgdGFibGVJbmRleCA9IGVj
IC0gTk9UX0ZPVU5EX0VSUjsKKworICAgIGRlc2NyaXB0aW9uLT5uYW1lID0gdGFibGVJbmRleCA8
IHRhYmxlU2l6ZSA/IGV4Y2VwdGlvbk5hbWVzW3RhYmxlSW5kZXhdIDogMDsKKyAgICBkZXNjcmlw
dGlvbi0+ZGVzY3JpcHRpb24gPSB0YWJsZUluZGV4IDwgdGFibGVTaXplID8gZXhjZXB0aW9uRGVz
Y3JpcHRpb25zW3RhYmxlSW5kZXhdIDogMDsKKworICAgIHJldHVybiB0cnVlOworfQorCit9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoQkxPQikgfHwgRU5BQkxFKEZJ
TEVfU1lTVEVNKQpJbmRleDogU291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxlRXhjZXB0aW9uLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxlRXhjZXB0aW9uLmgJKHJl
dmlzaW9uIDk4NjcyKQorKysgU291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxlRXhjZXB0aW9uLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTY5LDYgKzY5LDggQEAgcHVibGljOgogICAgICAgICByZXR1cm4g
ZXJyb3JDb2RlICsgRmlsZUV4Y2VwdGlvbk9mZnNldDsKICAgICB9CiAKKyAgICBzdGF0aWMgYm9v
bCBpbml0aWFsaXplRGVzY3JpcHRpb24oRXhjZXB0aW9uQ29kZSwgRXhjZXB0aW9uQ29kZURlc2Ny
aXB0aW9uKik7CisKIHByaXZhdGU6CiAgICAgRmlsZUV4Y2VwdGlvbihjb25zdCBFeGNlcHRpb25D
b2RlRGVzY3JpcHRpb24mIGRlc2NyaXB0aW9uKQogICAgICAgICA6IEV4Y2VwdGlvbkJhc2UoZGVz
Y3JpcHRpb24pCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9maWxlYXBpL09wZXJhdGlvbk5vdEFsbG93
ZWRFeGNlcHRpb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvT3Bl
cmF0aW9uTm90QWxsb3dlZEV4Y2VwdGlvbi5jcHAJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvV2Vi
Q29yZS9maWxlYXBpL09wZXJhdGlvbk5vdEFsbG93ZWRFeGNlcHRpb24uY3BwCShyZXZpc2lvbiAw
KQpAQCAtMCwwICsxLDY4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiAgTmVpdGhlciB0
aGUgbmFtZSBvZiBBcHBsZSBDb21wdXRlciwgSW5jLiAoIkFwcGxlIikgbm9yIHRoZSBuYW1lcyBv
ZgorICogICAgIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQKKyAqICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBHT09HTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5Z
CisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
CisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2lmIEVOQUJMRShC
TE9CKSB8fCBFTkFCTEUoRklMRV9TWVNURU0pCisKKyNpbmNsdWRlICJPcGVyYXRpb25Ob3RBbGxv
d2VkRXhjZXB0aW9uLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworLy8gRklYTUU6IFRoaXMg
c2hvdWxkIGJlIGFuIGFycmF5IG9mIHN0cnVjdHMgdG8gcGFpciB0aGUgbmFtZXMgYW5kIGRlc2Ny
aXB0aW9ucy4KK3N0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBleGNlcHRpb25OYW1lc1tdID0gewor
ICAgICJOT1RfQUxMT1dFRF9FUlIiCit9OworCitzdGF0aWMgY29uc3QgY2hhciogY29uc3QgZXhj
ZXB0aW9uRGVzY3JpcHRpb25zW10gPSB7CisgICAgIkEgcmVhZCBtZXRob2Qgd2FzIGNhbGxlZCB3
aGlsZSB0aGUgb2JqZWN0IHdhcyBpbiB0aGUgTE9BRElORyBzdGF0ZSBkdWUgdG8gYSBwcmV2aW91
cyByZWFkIGNhbGwuIgorfTsKKworQ09NUElMRV9BU1NFUlQoV1RGX0FSUkFZX0xFTkdUSChleGNl
cHRpb25OYW1lcykgPT0gV1RGX0FSUkFZX0xFTkdUSChleGNlcHRpb25EZXNjcmlwdGlvbnMpLCBP
cGVyYXRpb25Ob3RBbGxvd2VkRXhjZXB0aW9uVGFibGVzTXVzdE1hdGNoKTsKKworYm9vbCBPcGVy
YXRpb25Ob3RBbGxvd2VkRXhjZXB0aW9uOjppbml0aWFsaXplRGVzY3JpcHRpb24oRXhjZXB0aW9u
Q29kZSBlYywgRXhjZXB0aW9uQ29kZURlc2NyaXB0aW9uKiBkZXNjcmlwdGlvbikKK3sKKyAgICBp
ZiAoZWMgPCBPcGVyYXRpb25Ob3RBbGxvd2VkRXhjZXB0aW9uT2Zmc2V0IHx8IGVjID4gT3BlcmF0
aW9uTm90QWxsb3dlZEV4Y2VwdGlvbk1heCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAg
ZGVzY3JpcHRpb24tPnR5cGVOYW1lID0gIkRPTSBPcGVyYXRpb25Ob3RBbGxvd2VkIjsKKyAgICBk
ZXNjcmlwdGlvbi0+Y29kZSA9IGVjIC0gT3BlcmF0aW9uTm90QWxsb3dlZEV4Y2VwdGlvbk9mZnNl
dDsKKyAgICBkZXNjcmlwdGlvbi0+dHlwZSA9IE9wZXJhdGlvbk5vdEFsbG93ZWRFeGNlcHRpb25U
eXBlOworCisgICAgc2l6ZV90IHRhYmxlU2l6ZSA9IFdURl9BUlJBWV9MRU5HVEgoZXhjZXB0aW9u
TmFtZXMpOworICAgIHNpemVfdCB0YWJsZUluZGV4ID0gZWMgLSBOT1RfQUxMT1dFRF9FUlI7CisK
KyAgICBkZXNjcmlwdGlvbi0+bmFtZSA9IHRhYmxlSW5kZXggPCB0YWJsZVNpemUgPyBleGNlcHRp
b25OYW1lc1t0YWJsZUluZGV4XSA6IDA7CisgICAgZGVzY3JpcHRpb24tPmRlc2NyaXB0aW9uID0g
dGFibGVJbmRleCA8IHRhYmxlU2l6ZSA/IGV4Y2VwdGlvbkRlc2NyaXB0aW9uc1t0YWJsZUluZGV4
XSA6IDA7CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQor
CisjZW5kaWYgLy8gRU5BQkxFKEJMT0IpIHx8IEVOQUJMRShGSUxFX1NZU1RFTSkKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2ZpbGVhcGkvT3BlcmF0aW9uTm90QWxsb3dlZEV4Y2VwdGlvbi5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvT3BlcmF0aW9uTm90QWxsb3dlZEV4Y2Vw
dGlvbi5oCShyZXZpc2lvbiA5ODY3MikKKysrIFNvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvT3BlcmF0
aW9uTm90QWxsb3dlZEV4Y2VwdGlvbi5oCSh3b3JraW5nIGNvcHkpCkBAIC01MSw2ICs1MSw4IEBA
IHB1YmxpYzoKICAgICAgICAgTk9UX0FMTE9XRURfRVJSID0gT3BlcmF0aW9uTm90QWxsb3dlZEV4
Y2VwdGlvbk9mZnNldCArIDEsCiAgICAgfTsKIAorICAgIHN0YXRpYyBib29sIGluaXRpYWxpemVE
ZXNjcmlwdGlvbihFeGNlcHRpb25Db2RlLCBFeGNlcHRpb25Db2RlRGVzY3JpcHRpb24qKTsKKwog
cHJpdmF0ZToKICAgICBPcGVyYXRpb25Ob3RBbGxvd2VkRXhjZXB0aW9uKGNvbnN0IEV4Y2VwdGlv
bkNvZGVEZXNjcmlwdGlvbiYgZGVzY3JpcHRpb24pCiAgICAgICAgIDogRXhjZXB0aW9uQmFzZShk
ZXNjcmlwdGlvbikKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJhc2VFeGNl
cHRpb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJh
c2VFeGNlcHRpb24uY3BwCShyZXZpc2lvbiAwKQorKysgU291cmNlL1dlYkNvcmUvc3RvcmFnZS9J
REJEYXRhYmFzZUV4Y2VwdGlvbi5jcHAJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsOTIgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAg
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENvbXB1
dGVyLCBJbmMuICgiQXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCisgKiAgICAgaXRzIGNvbnRyaWJ1
dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAor
ICogICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEdPT0dMRSBB
TkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQK
KyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2luY2x1ZGUgImNvbmZpZy5oIgorCisjaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCisKKyNp
bmNsdWRlICJJREJEYXRhYmFzZUV4Y2VwdGlvbi5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
Ky8vIEZJWE1FOiBUaGlzIHNob3VsZCBiZSBhbiBhcnJheSBvZiBzdHJ1Y3RzIHRvIHBhaXIgdGhl
IG5hbWVzIGFuZCBkZXNjcmlwdGlvbnMuCitzdGF0aWMgY29uc3QgY2hhciogY29uc3QgZXhjZXB0
aW9uTmFtZXNbXSA9IHsKKyAgICAiVU5LTk9XTl9FUlIiLAorICAgICJOT05fVFJBTlNJRU5UX0VS
UiIsCisgICAgIk5PVF9GT1VORF9FUlIiLAorICAgICJDT05TVFJBSU5UX0VSUiIsCisgICAgIkRB
VEFfRVJSIiwKKyAgICAiTk9UX0FMTE9XRURfRVJSIiwKKyAgICAiU0VSSUFMX0VSUiIsCisgICAg
IlJFQ09WRVJBQkxFX0VSUiIsCisgICAgIlRSQU5TSUVOVF9FUlIiLAorICAgICJUSU1FT1VUX0VS
UiIsCisgICAgIkRFQURMT0NLX0VSUiIsCisgICAgIlJFQURfT05MWV9FUlIiLAorICAgICJBQk9S
VF9FUlIiCit9OworCitzdGF0aWMgY29uc3QgY2hhciogY29uc3QgZXhjZXB0aW9uRGVzY3JpcHRp
b25zW10gPSB7CisgICAgIkFuIHVua25vd24gZXJyb3Igb2NjdXJyZWQgd2l0aGluIEluZGV4ZWQg
RGF0YWJhc2UuIiwKKyAgICAiTk9OX1RSQU5TSUVOVF9FUlIiLCAvLyBGSVhNRTogV3JpdGUgYSBi
ZXR0ZXIgbWVzc2FnZSBpZiBpdCdzIGV2ZXIgcG9zc2libGUgdGhpcyBpcyB0aHJvd24uCisgICAg
IlRoZSBuYW1lIHN1cHBsaWVkIGRvZXMgbm90IG1hdGNoIGFueSBleGlzdGluZyBpdGVtLiIsCisg
ICAgIlRoZSByZXF1ZXN0IGNhbm5vdCBiZSBjb21wbGV0ZWQgZHVlIHRvIGEgZmFpbGVkIGNvbnN0
cmFpbnQuIiwKKyAgICAiVGhlIGRhdGEgcHJvdmlkZWQgZG9lcyBub3QgbWVldCB0aGUgcmVxdWly
ZW1lbnRzIG9mIHRoZSBmdW5jdGlvbi4iLAorICAgICJUaGlzIGZ1bmN0aW9uIGlzIG5vdCBhbGxv
d2VkIHRvIGJlIGNhbGxlZCBpbiBzdWNoIGEgY29udGV4dC4iLAorICAgICJUaGUgZGF0YSBzdXBw
bGllZCBjYW5ub3QgYmUgc2VyaWFsaXplZCBhY2NvcmRpbmcgdG8gdGhlIHN0cnVjdHVyZWQgY2xv
bmluZyBhbGdvcml0aG0uIiwKKyAgICAiUkVDT1ZFUkFCTEVfRVJSIiwgLy8gRklYTUU6IFRoaXMg
aXNuJ3QgZXZlbiB1c2VkLgorICAgICJUUkFOU0lFTlRfRVJSIiwgLy8gRklYTUU6IFRoaXMgaXNu
J3QgZXZlbiB1c2VkLgorICAgICJUSU1FT1VUX0VSUiIsIC8vIFRoaXMgY2FuJ3QgYmUgdGhyb3du
LgorICAgICJERUFETE9DS19FUlIiLCAvLyBUaGlzIGNhbid0IGJlIHRocm93bi4KKyAgICAiV3Jp
dGUgb3BlcmF0aW9ucyBjYW5ub3QgYmUgcHJlZm9ybWVkIG9uIGEgcmVhZC1vbmx5IHRyYW5zYWN0
aW9uLiIsCisgICAgIlRoZSB0cmFuc2FjdGlvbiB3YXMgYWJvcnRlZCwgc28gdGhlIHJlcXVlc3Qg
Y2Fubm90IGJlIGZ1bGZpbGxlZC4iCit9OworCitDT01QSUxFX0FTU0VSVChXVEZfQVJSQVlfTEVO
R1RIKGV4Y2VwdGlvbk5hbWVzKSA9PSBXVEZfQVJSQVlfTEVOR1RIKGV4Y2VwdGlvbkRlc2NyaXB0
aW9ucyksIElEQkRhdGFiYXNlRXhjZXB0aW9uVGFibGVzTXVzdE1hdGNoKTsKKworYm9vbCBJREJE
YXRhYmFzZUV4Y2VwdGlvbjo6aW5pdGlhbGl6ZURlc2NyaXB0aW9uKEV4Y2VwdGlvbkNvZGUgZWMs
IEV4Y2VwdGlvbkNvZGVEZXNjcmlwdGlvbiogZGVzY3JpcHRpb24pCit7CisgICAgaWYgKGVjIDwg
SURCRGF0YWJhc2VFeGNlcHRpb25PZmZzZXQgfHwgZWMgPiBJREJEYXRhYmFzZUV4Y2VwdGlvbk1h
eCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgZGVzY3JpcHRpb24tPnR5cGVOYW1lID0g
IkRPTSBJREJEYXRhYmFzZSI7CisgICAgZGVzY3JpcHRpb24tPmNvZGUgPSBlYyAtIElEQkRhdGFi
YXNlRXhjZXB0aW9uT2Zmc2V0OworICAgIGRlc2NyaXB0aW9uLT50eXBlID0gSURCRGF0YWJhc2VF
eGNlcHRpb25UeXBlOworCisgICAgc2l6ZV90IHRhYmxlU2l6ZSA9IFdURl9BUlJBWV9MRU5HVEgo
ZXhjZXB0aW9uTmFtZXMpOworICAgIHNpemVfdCB0YWJsZUluZGV4ID0gZWMgLSBVTktOT1dOX0VS
UjsKKworICAgIGRlc2NyaXB0aW9uLT5uYW1lID0gdGFibGVJbmRleCA8IHRhYmxlU2l6ZSA/IGV4
Y2VwdGlvbk5hbWVzW3RhYmxlSW5kZXhdIDogMDsKKyAgICBkZXNjcmlwdGlvbi0+ZGVzY3JpcHRp
b24gPSB0YWJsZUluZGV4IDwgdGFibGVTaXplID8gZXhjZXB0aW9uRGVzY3JpcHRpb25zW3RhYmxl
SW5kZXhdIDogMDsKKworICAgIHJldHVybiB0cnVlOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJhc2VFeGNlcHRpb24uaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9zdG9yYWdlL0lEQkRhdGFiYXNlRXhjZXB0aW9uLmgJKHJldmlzaW9uIDk4Njcy
KQorKysgU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJEYXRhYmFzZUV4Y2VwdGlvbi5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC02Niw2ICs2Niw4IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIGVycm9y
Q29kZSArIElEQkRhdGFiYXNlRXhjZXB0aW9uT2Zmc2V0OwogICAgIH0KIAorICAgIHN0YXRpYyBi
b29sIGluaXRpYWxpemVEZXNjcmlwdGlvbihFeGNlcHRpb25Db2RlLCBFeGNlcHRpb25Db2RlRGVz
Y3JpcHRpb24qKTsKKwogcHJpdmF0ZToKICAgICBJREJEYXRhYmFzZUV4Y2VwdGlvbihjb25zdCBF
eGNlcHRpb25Db2RlRGVzY3JpcHRpb24mIGRlc2NyaXB0aW9uKQogICAgICAgICA6IEV4Y2VwdGlv
bkJhc2UoZGVzY3JpcHRpb24pCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTEV4Y2Vw
dGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxFeGNlcHRp
b24uY3BwCShyZXZpc2lvbiAwKQorKysgU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxFeGNlcHRp
b24uY3BwCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDgyIEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKiAzLiAgTmVpdGhlciB0aGUgbmFtZSBvZiBBcHBsZSBDb21wdXRlciwgSW5jLiAoIkFwcGxl
Iikgbm9yIHRoZSBuYW1lcyBvZgorICogICAgIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKKyAqICAgICBmcm9tIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBHT09HTEUgQU5EIElUUyBDT05UUklCVVRP
UlMgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
CisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcu
aCIKKworI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCisKKyNpbmNsdWRlICJTUUxFeGNlcHRpb24u
aCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCisvLyBGSVhNRTogVGhpcyBzaG91bGQgYmUgYW4g
YXJyYXkgb2Ygc3RydWN0cyB0byBwYWlyIHRoZSBuYW1lcyBhbmQgZGVzY3JpcHRpb25zLgorc3Rh
dGljIGNvbnN0IGNoYXIqIGNvbnN0IGV4Y2VwdGlvbk5hbWVzW10gPSB7CisgICAgIlVOS05PV05f
RVJSIiwKKyAgICAiREFUQUJBU0VfRVJSIiwKKyAgICAiVkVSU0lPTl9FUlIiLAorICAgICJUT09f
TEFSR0VfRVJSIiwKKyAgICAiUVVPVEFfRVJSIiwKKyAgICAiU1lOVEFYX0VSUiIsCisgICAgIkNP
TlNUUkFJTlRfRVJSIiwKKyAgICAiVElNRU9VVF9FUlIiCit9OworCitzdGF0aWMgY29uc3QgY2hh
ciogY29uc3QgZXhjZXB0aW9uRGVzY3JpcHRpb25zW10gPSB7CisgICAgIlRoZSBvcGVyYXRpb24g
ZmFpbGVkIGZvciByZWFzb25zIHVucmVsYXRlZCB0byB0aGUgZGF0YWJhc2UuIiwKKyAgICAiVGhl
IG9wZXJhdGlvbiBmYWlsZWQgZm9yIHNvbWUgcmVhc29uIHJlbGF0ZWQgdG8gdGhlIGRhdGFiYXNl
LiIsCisgICAgIlRoZSBhY3R1YWwgZGF0YWJhc2UgdmVyc2lvbiBkaWQgbm90IG1hdGNoIHRoZSBl
eHBlY3RlZCB2ZXJzaW9uLiIsCisgICAgIkRhdGEgcmV0dXJuZWQgZnJvbSB0aGUgZGF0YWJhc2Ug
aXMgdG9vIGxhcmdlLiIsCisgICAgIlF1b3RhIHdhcyBleGNlZWRlZC4iLAorICAgICJJbnZhbGlk
IG9yIHVuYXV0aG9yaXplZCBzdGF0ZW1lbnQ7IG9yIHRoZSBudW1iZXIgb2YgYXJndW1lbnRzIGRp
ZCBub3QgbWF0Y2ggdGhlIG51bWJlciBvZiA/IHBsYWNlaG9sZGVycy4iLAorICAgICJBIGNvbnN0
cmFpbnQgd2FzIHZpb2xhdGVkLiIsCisgICAgIkEgdHJhbnNhY3Rpb24gbG9jayBjb3VsZCBub3Qg
YmUgYWNxdWlyZWQgaW4gYSByZWFzb25hYmxlIHRpbWUuIgorfTsKKworQ09NUElMRV9BU1NFUlQo
V1RGX0FSUkFZX0xFTkdUSChleGNlcHRpb25OYW1lcykgPT0gV1RGX0FSUkFZX0xFTkdUSChleGNl
cHRpb25EZXNjcmlwdGlvbnMpLCBTUUxFeGNlcHRpb25UYWJsZXNNdXN0TWF0Y2gpOworCitib29s
IFNRTEV4Y2VwdGlvbjo6aW5pdGlhbGl6ZURlc2NyaXB0aW9uKEV4Y2VwdGlvbkNvZGUgZWMsIEV4
Y2VwdGlvbkNvZGVEZXNjcmlwdGlvbiogZGVzY3JpcHRpb24pCit7CisgICAgaWYgKGVjIDwgU1FM
RXhjZXB0aW9uT2Zmc2V0IHx8IGVjID4gU1FMRXhjZXB0aW9uTWF4KQorICAgICAgICByZXR1cm4g
ZmFsc2U7CisKKyAgICBkZXNjcmlwdGlvbi0+dHlwZU5hbWUgPSAiRE9NIFNRTCI7CisgICAgZGVz
Y3JpcHRpb24tPmNvZGUgPSBlYyAtIFNRTEV4Y2VwdGlvbk9mZnNldDsKKyAgICBkZXNjcmlwdGlv
bi0+dHlwZSA9IFNRTEV4Y2VwdGlvblR5cGU7CisKKyAgICBzaXplX3QgdGFibGVTaXplID0gV1RG
X0FSUkFZX0xFTkdUSChleGNlcHRpb25OYW1lcyk7CisgICAgc2l6ZV90IHRhYmxlSW5kZXggPSBl
YyAtIFVOS05PV05fRVJSOworCisgICAgZGVzY3JpcHRpb24tPm5hbWUgPSB0YWJsZUluZGV4IDwg
dGFibGVTaXplID8gZXhjZXB0aW9uTmFtZXNbdGFibGVJbmRleF0gOiAwOworICAgIGRlc2NyaXB0
aW9uLT5kZXNjcmlwdGlvbiA9IHRhYmxlSW5kZXggPCB0YWJsZVNpemUgPyBleGNlcHRpb25EZXNj
cmlwdGlvbnNbdGFibGVJbmRleF0gOiAwOworCisgICAgcmV0dXJuIHRydWU7Cit9CisKK30gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShTUUxfREFUQUJBU0UpCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTEV4Y2VwdGlvbi5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3N0b3JhZ2UvU1FMRXhjZXB0aW9uLmgJKHJldmlzaW9uIDk4NjcyKQorKysg
U291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxFeGNlcHRpb24uaAkod29ya2luZyBjb3B5KQpAQCAt
NTgsNiArNTgsOCBAQCBwdWJsaWM6CiAgICAgICAgIFRJTUVPVVRfRVJSID0gU1FMRXhjZXB0aW9u
T2Zmc2V0ICsgNwogICAgIH07CiAKKyAgICBzdGF0aWMgYm9vbCBpbml0aWFsaXplRGVzY3JpcHRp
b24oRXhjZXB0aW9uQ29kZSwgRXhjZXB0aW9uQ29kZURlc2NyaXB0aW9uKik7CisKIHByaXZhdGU6
CiAgICAgU1FMRXhjZXB0aW9uKGNvbnN0IEV4Y2VwdGlvbkNvZGVEZXNjcmlwdGlvbiYgZGVzY3Jp
cHRpb24pCiAgICAgICAgIDogRXhjZXB0aW9uQmFzZShkZXNjcmlwdGlvbikKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdBbGxJbk9uZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0FsbEluT25lLmNwcAkocmV2aXNpb24gOTg2NzIpCisrKyBTb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHQWxsSW5PbmUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02NCw2ICs2NCw3IEBACiAj
aW5jbHVkZSAiU1ZHRWxlbWVudEluc3RhbmNlLmNwcCIKICNpbmNsdWRlICJTVkdFbGVtZW50SW5z
dGFuY2VMaXN0LmNwcCIKICNpbmNsdWRlICJTVkdFbGxpcHNlRWxlbWVudC5jcHAiCisjaW5jbHVk
ZSAiU1ZHRXhjZXB0aW9uLmNwcCIKICNpbmNsdWRlICJTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVp
cmVkLmNwcCIKICNpbmNsdWRlICJTVkdGRUJsZW5kRWxlbWVudC5jcHAiCiAjaW5jbHVkZSAiU1ZH
RkVDb2xvck1hdHJpeEVsZW1lbnQuY3BwIgpJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR0V4
Y2VwdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR0V4Y2VwdGlv
bi5jcHAJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRXhjZXB0aW9uLmNw
cAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw3MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
MSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICog
My4gIE5laXRoZXIgdGhlIG5hbWUgb2YgQXBwbGUgQ29tcHV0ZXIsIEluYy4gKCJBcHBsZSIpIG5v
ciB0aGUgbmFtZXMgb2YKKyAqICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCisgKiAgICAgZnJvbSB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgR09PR0xFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJB
UyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICog
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisK
KyNpZiBFTkFCTEUoU1ZHKQorCisjaW5jbHVkZSAiU1ZHRXhjZXB0aW9uLmgiCisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKKworLy8gRklYTUU6IFRoaXMgc2hvdWxkIGJlIGFuIGFycmF5IG9mIHN0cnVj
dHMgdG8gcGFpciB0aGUgbmFtZXMgYW5kIGRlc2NyaXB0aW9ucy4KK3N0YXRpYyBjb25zdCBjaGFy
KiBjb25zdCBleGNlcHRpb25OYW1lc1tdID0geworICAgICJTVkdfV1JPTkdfVFlQRV9FUlIiLAor
ICAgICJTVkdfSU5WQUxJRF9WQUxVRV9FUlIiLAorICAgICJTVkdfTUFUUklYX05PVF9JTlZFUlRB
QkxFIgorfTsKKworc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IGV4Y2VwdGlvbkRlc2NyaXB0aW9u
c1tdID0geworICAgICJBbiBvYmplY3Qgb2YgdGhlIHdyb25nIHR5cGUgd2FzIHBhc3NlZCB0byBh
biBvcGVyYXRpb24uIiwKKyAgICAiQW4gaW52YWxpZCB2YWx1ZSB3YXMgcGFzc2VkIHRvIGFuIG9w
ZXJhdGlvbiBvciBhc3NpZ25lZCB0byBhbiBhdHRyaWJ1dGUuIiwKKyAgICAiQW4gYXR0ZW1wdCB3
YXMgbWFkZSB0byBpbnZlcnQgYSBtYXRyaXggdGhhdCBpcyBub3QgaW52ZXJ0aWJsZS4iCit9Owor
CitDT01QSUxFX0FTU0VSVChXVEZfQVJSQVlfTEVOR1RIKGV4Y2VwdGlvbk5hbWVzKSA9PSBXVEZf
QVJSQVlfTEVOR1RIKGV4Y2VwdGlvbkRlc2NyaXB0aW9ucyksIFNWR0V4Y2VwdGlvblRhYmxlc011
c3RNYXRjaCk7CisKK2Jvb2wgU1ZHRXhjZXB0aW9uOjppbml0aWFsaXplRGVzY3JpcHRpb24oRXhj
ZXB0aW9uQ29kZSBlYywgRXhjZXB0aW9uQ29kZURlc2NyaXB0aW9uKiBkZXNjcmlwdGlvbikKK3sK
KyAgICBpZiAoZWMgPCBTVkdFeGNlcHRpb25PZmZzZXQgfHwgZWMgPiBTVkdFeGNlcHRpb25NYXgp
CisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGRlc2NyaXB0aW9uLT50eXBlTmFtZSA9ICJE
T00gU1ZHIjsKKyAgICBkZXNjcmlwdGlvbi0+Y29kZSA9IGVjIC0gU1ZHRXhjZXB0aW9uT2Zmc2V0
OworICAgIGRlc2NyaXB0aW9uLT50eXBlID0gU1ZHRXhjZXB0aW9uVHlwZTsKKworICAgIHNpemVf
dCB0YWJsZVNpemUgPSBXVEZfQVJSQVlfTEVOR1RIKGV4Y2VwdGlvbk5hbWVzKTsKKyAgICBzaXpl
X3QgdGFibGVJbmRleCA9IGVjIC0gU1ZHX1dST05HX1RZUEVfRVJSOworCisgICAgZGVzY3JpcHRp
b24tPm5hbWUgPSB0YWJsZUluZGV4IDwgdGFibGVTaXplID8gZXhjZXB0aW9uTmFtZXNbdGFibGVJ
bmRleF0gOiAwOworICAgIGRlc2NyaXB0aW9uLT5kZXNjcmlwdGlvbiA9IHRhYmxlSW5kZXggPCB0
YWJsZVNpemUgPyBleGNlcHRpb25EZXNjcmlwdGlvbnNbdGFibGVJbmRleF0gOiAwOworCisgICAg
cmV0dXJuIHRydWU7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVO
QUJMRShTVkcpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRXhjZXB0aW9uLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR0V4Y2VwdGlvbi5oCShyZXZpc2lvbiA5ODY3
MikKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFeGNlcHRpb24uaAkod29ya2luZyBjb3B5KQpA
QCAtNDMsNiArNDMsOCBAQCBwdWJsaWM6CiAgICAgICAgIFNWR19NQVRSSVhfTk9UX0lOVkVSVEFC
TEUgPSBTVkdFeGNlcHRpb25PZmZzZXQgKyAyCiAgICAgfTsKIAorICAgIHN0YXRpYyBib29sIGlu
aXRpYWxpemVEZXNjcmlwdGlvbihFeGNlcHRpb25Db2RlLCBFeGNlcHRpb25Db2RlRGVzY3JpcHRp
b24qKTsKKwogcHJpdmF0ZToKICAgICBTVkdFeGNlcHRpb24oY29uc3QgRXhjZXB0aW9uQ29kZURl
c2NyaXB0aW9uJiBkZXNjcmlwdGlvbikKICAgICAgICAgOiBFeGNlcHRpb25CYXNlKGRlc2NyaXB0
aW9uKQpJbmRleDogU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0RXhjZXB0aW9uLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RFeGNlcHRp
b24uY3BwCShyZXZpc2lvbiAwKQorKysgU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0
RXhjZXB0aW9uLmNwcAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw2NSBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICogMy4gIE5laXRoZXIgdGhlIG5hbWUgb2YgQXBwbGUgQ29tcHV0ZXIsIEluYy4g
KCJBcHBsZSIpIG5vciB0aGUgbmFtZXMgb2YKKyAqICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCisgKiAgICAgZnJv
bSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgR09PR0xFIEFORCBJVFMgQ09O
VFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAi
Y29uZmlnLmgiCisjaW5jbHVkZSAiWE1MSHR0cFJlcXVlc3RFeGNlcHRpb24uaCIKKworbmFtZXNw
YWNlIFdlYkNvcmUgeworCisvLyBGSVhNRTogVGhpcyBzaG91bGQgYmUgYW4gYXJyYXkgb2Ygc3Ry
dWN0cyB0byBwYWlyIHRoZSBuYW1lcyBhbmQgZGVzY3JpcHRpb25zLgorc3RhdGljIGNvbnN0IGNo
YXIqIGNvbnN0IGV4Y2VwdGlvbk5hbWVzW10gPSB7CisgICAgIk5FVFdPUktfRVJSIiwKKyAgICAi
QUJPUlRfRVJSIgorfTsKKworc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IGV4Y2VwdGlvbkRlc2Ny
aXB0aW9uc1tdID0geworICAgICJBIG5ldHdvcmsgZXJyb3Igb2NjdXJlZCBpbiBzeW5jaHJvbm91
cyByZXF1ZXN0cy4iLAorICAgICJUaGUgdXNlciBhYm9ydGVkIGEgcmVxdWVzdCBpbiBzeW5jaHJv
bm91cyByZXF1ZXN0cy4iCit9OworCitDT01QSUxFX0FTU0VSVChXVEZfQVJSQVlfTEVOR1RIKGV4
Y2VwdGlvbk5hbWVzKSA9PSBXVEZfQVJSQVlfTEVOR1RIKGV4Y2VwdGlvbkRlc2NyaXB0aW9ucyks
IFhNTEh0dHBSZXF1ZXN0RXhjZXB0aW9uVGFibGVzTXVzdE1hdGNoKTsKKworYm9vbCBYTUxIdHRw
UmVxdWVzdEV4Y2VwdGlvbjo6aW5pdGlhbGl6ZURlc2NyaXB0aW9uKEV4Y2VwdGlvbkNvZGUgZWMs
IEV4Y2VwdGlvbkNvZGVEZXNjcmlwdGlvbiogZGVzY3JpcHRpb24pCit7CisgICAgaWYgKGVjIDwg
WE1MSHR0cFJlcXVlc3RFeGNlcHRpb25PZmZzZXQgfHwgZWMgPiBYTUxIdHRwUmVxdWVzdEV4Y2Vw
dGlvbk1heCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgZGVzY3JpcHRpb24tPnR5cGVO
YW1lID0gIlhNTEh0dHBSZXF1ZXN0IjsKKyAgICBkZXNjcmlwdGlvbi0+Y29kZSA9IGVjIC0gWE1M
SHR0cFJlcXVlc3RFeGNlcHRpb25PZmZzZXQ7CisgICAgZGVzY3JpcHRpb24tPnR5cGUgPSBYTUxI
dHRwUmVxdWVzdEV4Y2VwdGlvblR5cGU7CisKKyAgICBzaXplX3QgdGFibGVTaXplID0gV1RGX0FS
UkFZX0xFTkdUSChleGNlcHRpb25OYW1lcyk7CisgICAgc2l6ZV90IHRhYmxlSW5kZXggPSBlYyAt
IE5FVFdPUktfRVJSOworCisgICAgZGVzY3JpcHRpb24tPm5hbWUgPSB0YWJsZUluZGV4IDwgdGFi
bGVTaXplID8gZXhjZXB0aW9uTmFtZXNbdGFibGVJbmRleF0gOiAwOworICAgIGRlc2NyaXB0aW9u
LT5kZXNjcmlwdGlvbiA9IHRhYmxlSW5kZXggPCB0YWJsZVNpemUgPyBleGNlcHRpb25EZXNjcmlw
dGlvbnNbdGFibGVJbmRleF0gOiAwOworCisgICAgcmV0dXJuIHRydWU7Cit9CisKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdEV4
Y2VwdGlvbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVz
dEV4Y2VwdGlvbi5oCShyZXZpc2lvbiA5ODY3MikKKysrIFNvdXJjZS9XZWJDb3JlL3htbC9YTUxI
dHRwUmVxdWVzdEV4Y2VwdGlvbi5oCSh3b3JraW5nIGNvcHkpCkBAIC00OCw2ICs0OCw4IEBAIHB1
YmxpYzoKICAgICAgICAgQUJPUlRfRVJSCiAgICAgfTsKIAorICAgIHN0YXRpYyBib29sIGluaXRp
YWxpemVEZXNjcmlwdGlvbihFeGNlcHRpb25Db2RlLCBFeGNlcHRpb25Db2RlRGVzY3JpcHRpb24q
KTsKKwogcHJpdmF0ZToKICAgICBYTUxIdHRwUmVxdWVzdEV4Y2VwdGlvbihjb25zdCBFeGNlcHRp
b25Db2RlRGVzY3JpcHRpb24mIGRlc2NyaXB0aW9uKQogICAgICAgICA6IEV4Y2VwdGlvbkJhc2Uo
ZGVzY3JpcHRpb24pCkluZGV4OiBTb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhFeGNlcHRpb24uY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3htbC9YUGF0aEV4Y2VwdGlvbi5jcHAJKHJl
dmlzaW9uIDApCisrKyBTb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhFeGNlcHRpb24uY3BwCShyZXZp
c2lvbiAwKQpAQCAtMCwwICsxLDY1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2ds
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiAgTmVp
dGhlciB0aGUgbmFtZSBvZiBBcHBsZSBDb21wdXRlciwgSW5jLiAoIkFwcGxlIikgbm9yIHRoZSBu
YW1lcyBvZgorICogICAgIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKKyAqICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBHT09HTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBB
TkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOwor
ICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRl
ICJYUGF0aEV4Y2VwdGlvbi5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKKy8vIEZJWE1FOiBU
aGlzIHNob3VsZCBiZSBhbiBhcnJheSBvZiBzdHJ1Y3RzIHRvIHBhaXIgdGhlIG5hbWVzIGFuZCBk
ZXNjcmlwdGlvbnMuCitzdGF0aWMgY29uc3QgY2hhciogY29uc3QgZXhjZXB0aW9uTmFtZXNbXSA9
IHsKKyAgICAiSU5WQUxJRF9FWFBSRVNTSU9OX0VSUiIsCisgICAgIlRZUEVfRVJSIgorfTsKKwor
c3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IGV4Y2VwdGlvbkRlc2NyaXB0aW9uc1tdID0geworICAg
ICJUaGUgZXhwcmVzc2lvbiBoYWQgYSBzeW50YXggZXJyb3Igb3Igb3RoZXJ3aXNlIGlzIG5vdCBh
IGxlZ2FsIGV4cHJlc3Npb24gYWNjb3JkaW5nIHRvIHRoZSBydWxlcyBvZiB0aGUgc3BlY2lmaWMg
WFBhdGhFdmFsdWF0b3IuIiwKKyAgICAiVGhlIGV4cHJlc3Npb24gY291bGQgbm90IGJlIGNvbnZl
cnRlZCB0byByZXR1cm4gdGhlIHNwZWNpZmllZCB0eXBlLiIKK307CisKK0NPTVBJTEVfQVNTRVJU
KFdURl9BUlJBWV9MRU5HVEgoZXhjZXB0aW9uTmFtZXMpID09IFdURl9BUlJBWV9MRU5HVEgoZXhj
ZXB0aW9uRGVzY3JpcHRpb25zKSwgWFBhdGhFeGNlcHRpb25UYWJsZXNNdXN0TWF0Y2gpOworCiti
b29sIFhQYXRoRXhjZXB0aW9uOjppbml0aWFsaXplRGVzY3JpcHRpb24oRXhjZXB0aW9uQ29kZSBl
YywgRXhjZXB0aW9uQ29kZURlc2NyaXB0aW9uKiBkZXNjcmlwdGlvbikKK3sKKyAgICBpZiAoZWMg
PCBYUGF0aEV4Y2VwdGlvbk9mZnNldCB8fCBlYyA+IFhQYXRoRXhjZXB0aW9uTWF4KQorICAgICAg
ICByZXR1cm4gZmFsc2U7CisKKyAgICBkZXNjcmlwdGlvbi0+dHlwZU5hbWUgPSAiRE9NIFhQYXRo
IjsKKyAgICBkZXNjcmlwdGlvbi0+Y29kZSA9IGVjIC0gWFBhdGhFeGNlcHRpb25PZmZzZXQ7Cisg
ICAgZGVzY3JpcHRpb24tPnR5cGUgPSBYUGF0aEV4Y2VwdGlvblR5cGU7CisKKyAgICBzaXplX3Qg
dGFibGVTaXplID0gV1RGX0FSUkFZX0xFTkdUSChleGNlcHRpb25OYW1lcyk7CisgICAgc2l6ZV90
IHRhYmxlSW5kZXggPSBlYyAtIElOVkFMSURfRVhQUkVTU0lPTl9FUlI7CisKKyAgICBkZXNjcmlw
dGlvbi0+bmFtZSA9IHRhYmxlSW5kZXggPCB0YWJsZVNpemUgPyBleGNlcHRpb25OYW1lc1t0YWJs
ZUluZGV4XSA6IDA7CisgICAgZGVzY3JpcHRpb24tPmRlc2NyaXB0aW9uID0gdGFibGVJbmRleCA8
IHRhYmxlU2l6ZSA/IGV4Y2VwdGlvbkRlc2NyaXB0aW9uc1t0YWJsZUluZGV4XSA6IDA7CisKKyAg
ICByZXR1cm4gdHJ1ZTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNl
L1dlYkNvcmUveG1sL1hQYXRoRXhjZXB0aW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUveG1sL1hQYXRoRXhjZXB0aW9uLmgJKHJldmlzaW9uIDk4NjcyKQorKysgU291cmNlL1dlYkNv
cmUveG1sL1hQYXRoRXhjZXB0aW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ4LDYgKzQ4LDggQEAg
cHVibGljOgogICAgICAgICBUWVBFX0VSUgogICAgIH07CiAKKyAgICBzdGF0aWMgYm9vbCBpbml0
aWFsaXplRGVzY3JpcHRpb24oRXhjZXB0aW9uQ29kZSwgRXhjZXB0aW9uQ29kZURlc2NyaXB0aW9u
Kik7CisKIHByaXZhdGU6CiAgICAgWFBhdGhFeGNlcHRpb24oY29uc3QgRXhjZXB0aW9uQ29kZURl
c2NyaXB0aW9uJiBkZXNjcmlwdGlvbikKICAgICAgICAgOiBFeGNlcHRpb25CYXNlKGRlc2NyaXB0
aW9uKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>112803</attachid>
            <date>2011-10-27 18:24:01 -0700</date>
            <delta_ts>2011-10-27 19:49:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-71081-20111027182400.patch</filename>
            <type>text/plain</type>
            <size>94127</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk4NjcyKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNTIgQEAKKzIwMTEtMTAtMjcgIEFkYW0gQmFy
dGggIDxhYmFydGhAd2Via2l0Lm9yZz4KKworICAgICAgICBNb3ZlIHR5cGUtc3BlY2lmaWMgZXhj
ZXB0aW9uIGRlc2NyaXB0aW9ucyBpbnRvIHRoZSBpbXBsZW1lbnRhdGlvbiBmaWxlcyBmb3IgZWFj
aCB0eXBlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03
MTA4MQorCisgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgorCisgICAgICAgIFRoZXJl
J3Mgbm8gcmVhc29uIHRvIGNlbnRyYWxpemUgdGhpcyBpbmZvcm1hdGlvbi4gIEl0IGJlbG9uZ3Mg
d2l0aCBlYWNoCisgICAgICAgIGV4Y2VwdGlvbiB0eXBlLiAgVGhpcyBwYXRjaCBpcyBpbiBwcmVw
YXJhdGlvbiBmb3IgYXV0b2dlbmVyYXRpbmcgdGhlIGNlbnRyYWwgZmlsZS4KKworICAgICAgICAq
IFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBkb20vRE9NQ29y
ZUV4Y2VwdGlvbi5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6RE9NQ29yZUV4Y2VwdGlv
bjo6aW5pdGlhbGl6ZURlc2NyaXB0aW9uKToKKyAgICAgICAgKiBkb20vRE9NQ29yZUV4Y2VwdGlv
bi5oOgorICAgICAgICAqIGRvbS9FdmVudEV4Y2VwdGlvbi5jcHA6IENvcGllZCBmcm9tIFNvdXJj
ZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdEV4Y2VwdGlvbi5oLgorICAgICAgICAoV2ViQ29y
ZTo6RXZlbnRFeGNlcHRpb246OmluaXRpYWxpemVEZXNjcmlwdGlvbik6CisgICAgICAgICogZG9t
L0V2ZW50RXhjZXB0aW9uLmg6CisgICAgICAgICogZG9tL0V4Y2VwdGlvbkJhc2UuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OkV4Y2VwdGlvbkJhc2U6OmNvZGUpOgorICAgICAgICAoV2ViQ29yZTo6RXhj
ZXB0aW9uQmFzZTo6bmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpFeGNlcHRpb25CYXNlOjptZXNz
YWdlKToKKyAgICAgICAgKFdlYkNvcmU6OkV4Y2VwdGlvbkJhc2U6OmRlc2NyaXB0aW9uKToKKyAg
ICAgICAgKiBkb20vRXhjZXB0aW9uQ29kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpnZXRFeGNl
cHRpb25Db2RlRGVzY3JpcHRpb24pOgorICAgICAgICAqIGRvbS9SYW5nZUV4Y2VwdGlvbi5jcHA6
IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL3htbC9YUGF0aEV4Y2VwdGlvbi5oLgorICAgICAg
ICAoV2ViQ29yZTo6UmFuZ2VFeGNlcHRpb246OmluaXRpYWxpemVEZXNjcmlwdGlvbik6CisgICAg
ICAgICogZG9tL1JhbmdlRXhjZXB0aW9uLmg6CisgICAgICAgICogZmlsZWFwaS9GaWxlRXhjZXB0
aW9uLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpGaWxlRXhjZXB0aW9uOjppbml0aWFs
aXplRGVzY3JpcHRpb24pOgorICAgICAgICAqIGZpbGVhcGkvRmlsZUV4Y2VwdGlvbi5oOgorICAg
ICAgICAqIGZpbGVhcGkvT3BlcmF0aW9uTm90QWxsb3dlZEV4Y2VwdGlvbi5jcHA6IENvcGllZCBm
cm9tIFNvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdEV4Y2VwdGlvbi5oLgorICAgICAg
ICAoV2ViQ29yZTo6T3BlcmF0aW9uTm90QWxsb3dlZEV4Y2VwdGlvbjo6aW5pdGlhbGl6ZURlc2Ny
aXB0aW9uKToKKyAgICAgICAgKiBmaWxlYXBpL09wZXJhdGlvbk5vdEFsbG93ZWRFeGNlcHRpb24u
aDoKKyAgICAgICAgKiBzdG9yYWdlL0lEQkRhdGFiYXNlRXhjZXB0aW9uLmNwcDogQWRkZWQuCisg
ICAgICAgIChXZWJDb3JlOjpJREJEYXRhYmFzZUV4Y2VwdGlvbjo6aW5pdGlhbGl6ZURlc2NyaXB0
aW9uKToKKyAgICAgICAgKiBzdG9yYWdlL0lEQkRhdGFiYXNlRXhjZXB0aW9uLmg6CisgICAgICAg
ICogc3RvcmFnZS9TUUxFeGNlcHRpb24uY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNR
TEV4Y2VwdGlvbjo6aW5pdGlhbGl6ZURlc2NyaXB0aW9uKToKKyAgICAgICAgKiBzdG9yYWdlL1NR
TEV4Y2VwdGlvbi5oOgorICAgICAgICAqIHN2Zy9TVkdFeGNlcHRpb24uY3BwOiBDb3BpZWQgZnJv
bSBTb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRFeGNlcHRpb24uaC4KKyAgICAgICAgKFdlYkNvcmU6
OlNWR0V4Y2VwdGlvbjo6aW5pdGlhbGl6ZURlc2NyaXB0aW9uKToKKyAgICAgICAgKiBzdmcvU1ZH
RXhjZXB0aW9uLmg6CisgICAgICAgICogeG1sL1hNTEh0dHBSZXF1ZXN0RXhjZXB0aW9uLmNwcDog
Q29waWVkIGZyb20gU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0RXhjZXB0aW9uLmgu
CisgICAgICAgIChXZWJDb3JlOjpYTUxIdHRwUmVxdWVzdEV4Y2VwdGlvbjo6aW5pdGlhbGl6ZURl
c2NyaXB0aW9uKToKKyAgICAgICAgKiB4bWwvWE1MSHR0cFJlcXVlc3RFeGNlcHRpb24uaDoKKyAg
ICAgICAgKiB4bWwvWFBhdGhFeGNlcHRpb24uY3BwOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29y
ZS94bWwvWFBhdGhFeGNlcHRpb24uaC4KKyAgICAgICAgKFdlYkNvcmU6OlhQYXRoRXhjZXB0aW9u
Ojppbml0aWFsaXplRGVzY3JpcHRpb24pOgorICAgICAgICAqIHhtbC9YUGF0aEV4Y2VwdGlvbi5o
OgorCiAyMDExLTEwLTI3ICBIZWxkZXIgQ29ycmVpYSAgPGhlbGRlci5jb3JyZWlhQHBhbG0uY29t
PgogCiAgICAgICAgIFtRdF0gRmFpbHVyZSB0byBidWlsZCB3aGVuIFFUX05PX0NVUlNPUiBkZWZp
bmVkCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkocmV2aXNpb24gOTg2NzIpCisrKyBTb3VyY2Uv
V2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkod29ya2luZyBjb3B5KQpAQCAtNTM4LDYgKzUzOCw3IEBA
IFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICBkb20vRG9jdW1lbnRQYXJzZXIuY3BwCiAgICAgZG9t
L0RvY3VtZW50T3JkZXJlZE1hcC5jcHAKICAgICBkb20vRG9jdW1lbnRUeXBlLmNwcAorICAgIGRv
bS9ET01Db3JlRXhjZXB0aW9uLmNwcAogICAgIGRvbS9ET01JbXBsZW1lbnRhdGlvbi5jcHAKICAg
ICBkb20vRE9NU3RyaW5nTGlzdC5jcHAKICAgICBkb20vRE9NU3RyaW5nTWFwLmNwcApAQCAtNTUw
LDYgKzU1MSw3IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICBkb20vRXZlbnRDb250ZXh0LmNw
cAogICAgIGRvbS9FdmVudERpc3BhdGNoTWVkaWF0b3IuY3BwCiAgICAgZG9tL0V2ZW50RGlzcGF0
Y2hlci5jcHAKKyAgICBkb20vRXZlbnRFeGNlcHRpb24uY3BwCiAgICAgZG9tL0V2ZW50TGlzdGVu
ZXJNYXAuY3BwCiAgICAgZG9tL0V2ZW50TmFtZXMuY3BwCiAgICAgZG9tL0V2ZW50VGFyZ2V0LmNw
cApAQCAtNTg1LDYgKzU4Nyw3IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICBkb20vUHJvZ3Jl
c3NFdmVudC5jcHAKICAgICBkb20vUXVhbGlmaWVkTmFtZS5jcHAKICAgICBkb20vUmFuZ2UuY3Bw
CisgICAgZG9tL1JhbmdlRXhjZXB0aW9uLmNwcAogICAgIGRvbS9SZWdpc3RlcmVkRXZlbnRMaXN0
ZW5lci5jcHAKICAgICBkb20vU2NvcGVkRXZlbnRRdWV1ZS5jcHAKICAgICBkb20vU2NyaXB0YWJs
ZURvY3VtZW50UGFyc2VyLmNwcApAQCAtNjgxLDcgKzY4NCw5IEBAIFNFVChXZWJDb3JlX1NPVVJD
RVMKICAgICBmaWxlYXBpL0Jsb2IuY3BwCiAgICAgZmlsZWFwaS9CbG9iVVJMLmNwcAogICAgIGZp
bGVhcGkvRmlsZS5jcHAKKyAgICBmaWxlYXBpL0ZpbGVFeGNlcHRpb24uY3BwCiAgICAgZmlsZWFw
aS9GaWxlTGlzdC5jcHAKKyAgICBmaWxlYXBpL09wZXJhdGlvbk5vdEFsbG93ZWRFeGNlcHRpb24u
Y3BwCiAgICAgZmlsZWFwaS9UaHJlYWRhYmxlQmxvYlJlZ2lzdHJ5LmNwcAogICAgIGZpbGVhcGkv
V2ViS2l0QmxvYkJ1aWxkZXIuY3BwCiAKQEAgLTEzMzAsNiArMTMzNSw3IEBAIFNFVChXZWJDb3Jl
X1NPVVJDRVMKICAgICBzdG9yYWdlL0lEQkRhdGFiYXNlQmFja2VuZEltcGwuY3BwCiAgICAgc3Rv
cmFnZS9JREJDdXJzb3IuY3BwCiAgICAgc3RvcmFnZS9JREJDdXJzb3JCYWNrZW5kSW1wbC5jcHAK
KyAgICBzdG9yYWdlL0lEQkRhdGFiYXNlRXhjZXB0aW9uLmNwcAogICAgIHN0b3JhZ2UvSURCRXZl
bnREaXNwYXRjaGVyLmNwcAogICAgIHN0b3JhZ2UvSURCSW5kZXguY3BwCiAgICAgc3RvcmFnZS9J
REJJbmRleEJhY2tlbmRJbXBsLmNwcApAQCAtMTM0NSw2ICsxMzUxLDcgQEAgU0VUKFdlYkNvcmVf
U09VUkNFUwogICAgIHN0b3JhZ2UvTG9jYWxTdG9yYWdlVGhyZWFkLmNwcAogICAgIHN0b3JhZ2Uv
T3JpZ2luUXVvdGFNYW5hZ2VyLmNwcAogICAgIHN0b3JhZ2UvT3JpZ2luVXNhZ2VSZWNvcmQuY3Bw
CisgICAgc3RvcmFnZS9TUUxFeGNlcHRpb24uY3BwCiAgICAgc3RvcmFnZS9TUUxSZXN1bHRTZXQu
Y3BwCiAgICAgc3RvcmFnZS9TUUxSZXN1bHRTZXRSb3dMaXN0LmNwcAogICAgIHN0b3JhZ2UvU1FM
U3RhdGVtZW50LmNwcApAQCAtMTM2OSwxMSArMTM3NiwxMyBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VT
CiAgICAgeG1sL05hdGl2ZVhQYXRoTlNSZXNvbHZlci5jcHAKICAgICB4bWwvWE1MRXJyb3JzLmNw
cAogICAgIHhtbC9YTUxIdHRwUmVxdWVzdC5jcHAKKyAgICB4bWwvWE1MSHR0cFJlcXVlc3RFeGNl
cHRpb24uY3BwCiAgICAgeG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmNw
cAogICAgIHhtbC9YTUxIdHRwUmVxdWVzdFVwbG9hZC5jcHAKICAgICB4bWwvWE1MVHJlZVZpZXdl
ci5jcHAKICAgICB4bWwvWE1MU2VyaWFsaXplci5jcHAKICAgICB4bWwvWFBhdGhFdmFsdWF0b3Iu
Y3BwCisgICAgeG1sL1hQYXRoRXhjZXB0aW9uLmNwcAogICAgIHhtbC9YUGF0aEV4cHJlc3Npb24u
Y3BwCiAgICAgeG1sL1hQYXRoRXhwcmVzc2lvbk5vZGUuY3BwCiAgICAgeG1sL1hQYXRoRnVuY3Rp
b25zLmNwcApAQCAtMTY5MCw2ICsxNjk5LDcgQEAgSUYgKEVOQUJMRV9TVkcpCiAgICAgICAgIHN2
Zy9TVkdFbGVtZW50SW5zdGFuY2UuY3BwCiAgICAgICAgIHN2Zy9TVkdFbGVtZW50SW5zdGFuY2VM
aXN0LmNwcAogICAgICAgICBzdmcvU1ZHRWxsaXBzZUVsZW1lbnQuY3BwCisgICAgICAgIHN2Zy9T
VkdFeGNlcHRpb24uY3BwCiAgICAgICAgIHN2Zy9TVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVk
LmNwcAogICAgICAgICBzdmcvU1ZHRkVCbGVuZEVsZW1lbnQuY3BwCiAgICAgICAgIHN2Zy9TVkdG
RUNvbG9yTWF0cml4RWxlbWVudC5jcHAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxl
Lmxpc3QuYW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5h
bQkocmV2aXNpb24gOTg2NzIpCisrKyBTb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFt
CSh3b3JraW5nIGNvcHkpCkBAIC0xMTg5LDYgKzExODksNyBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0g
XAogCVNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudFRpbWluZy5oIFwKIAlTb3VyY2UvV2ViQ29y
ZS9kb20vRG9jdW1lbnRUeXBlLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50VHlw
ZS5oIFwKKwlTb3VyY2UvV2ViQ29yZS9kb20vRE9NQ29yZUV4Y2VwdGlvbi5jcHAgXAogCVNvdXJj
ZS9XZWJDb3JlL2RvbS9ET01Db3JlRXhjZXB0aW9uLmggXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9E
T01JbXBsZW1lbnRhdGlvbi5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9ET01JbXBsZW1lbnRh
dGlvbi5oIFwKQEAgLTEyMTcsNiArMTIxOCw3IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291
cmNlL1dlYkNvcmUvZG9tL0V2ZW50RGlzcGF0Y2hNZWRpYXRvci5oIFwKIAlTb3VyY2UvV2ViQ29y
ZS9kb20vRXZlbnREaXNwYXRjaGVyLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50RGlz
cGF0Y2hlci5oIFwKKwlTb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRFeGNlcHRpb24uY3BwIFwKIAlT
b3VyY2UvV2ViQ29yZS9kb20vRXZlbnRFeGNlcHRpb24uaCBcCiAJU291cmNlL1dlYkNvcmUvZG9t
L0V2ZW50RmFjdG9yeS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRMaXN0ZW5lci5oIFwK
QEAgLTEzMDEsNiArMTMwMyw3IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNv
cmUvZG9tL1F1YWxpZmllZE5hbWUuaCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL1JhbmdlQm91bmRh
cnlQb2ludC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vUmFuZ2UuY3BwIFwKKwlTb3VyY2UvV2Vi
Q29yZS9kb20vUmFuZ2VFeGNlcHRpb24uY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vUmFuZ2VF
eGNlcHRpb24uaCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL1JhbmdlLmggXAogCVNvdXJjZS9XZWJD
b3JlL2RvbS9SYXdEYXRhRG9jdW1lbnRQYXJzZXIuaCBcCkBAIC0xNTMzLDYgKzE1MzYsOCBAQCB3
ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZUVycm9yLmgg
XAogCVNvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZUV4Y2VwdGlvbi5oIFwKIAlTb3VyY2UvV2Vi
Q29yZS9maWxlYXBpL0ZpbGUuaCBcCisJU291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxlRXhjZXB0
aW9uLmNwcCBcCisJU291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxlRXhjZXB0aW9uLmggXAogCVNv
dXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZUxpc3QuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9maWxl
YXBpL0ZpbGVMaXN0LmggXAogCVNvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZVJlYWRlci5jcHAg
XApAQCAtMTU2Myw2ICsxNTY4LDcgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2Vi
Q29yZS9maWxlYXBpL0xvY2FsRmlsZVN5c3RlbS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9maWxlYXBp
L01ldGFkYXRhQ2FsbGJhY2suaCBcCiAJU291cmNlL1dlYkNvcmUvZmlsZWFwaS9NZXRhZGF0YS5o
IFwKKwlTb3VyY2UvV2ViQ29yZS9maWxlYXBpL09wZXJhdGlvbk5vdEFsbG93ZWRFeGNlcHRpb24u
Y3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9maWxlYXBpL09wZXJhdGlvbk5vdEFsbG93ZWRFeGNlcHRp
b24uaCBcCiAJU291cmNlL1dlYkNvcmUvZmlsZWFwaS9UaHJlYWRhYmxlQmxvYlJlZ2lzdHJ5LmNw
cCBcCiAJU291cmNlL1dlYkNvcmUvZmlsZWFwaS9UaHJlYWRhYmxlQmxvYlJlZ2lzdHJ5LmggXApA
QCAtMzM5NSw2ICszNDAxLDcgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29y
ZS9zdG9yYWdlL0lEQkRhdGFiYXNlQ2FsbGJhY2tzSW1wbC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9z
dG9yYWdlL0lEQkRhdGFiYXNlLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJEYXRh
YmFzZUVycm9yLmggXAorCVNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJhc2VFeGNlcHRp
b24uY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQkRhdGFiYXNlRXhjZXB0aW9uLmgg
XAogCVNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJhc2UuaCBcCiAJU291cmNlL1dlYkNv
cmUvc3RvcmFnZS9JREJFdmVudERpc3BhdGNoZXIuY3BwIFwKQEAgLTM0NDQsNiArMzQ1MSw3IEBA
IHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvc3RvcmFnZS9PcmlnaW5Vc2Fn
ZVJlY29yZC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTENhbGxiYWNrV3JhcHBlci5o
IFwKIAlTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTEVycm9yLmggXAorCVNvdXJjZS9XZWJDb3Jl
L3N0b3JhZ2UvU1FMRXhjZXB0aW9uLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxF
eGNlcHRpb24uaCBcCiAJU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxSZXN1bHRTZXQuY3BwIFwK
IAlTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTFJlc3VsdFNldC5oIFwKQEAgLTM2MTksNiArMzYy
Nyw3IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1l
bnRSYXJlRGF0YS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxsaXBzZUVsZW1lbnQuY3Bw
IFwKIAlTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxsaXBzZUVsZW1lbnQuaCBcCisJU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0V4Y2VwdGlvbi5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFeGNl
cHRpb24uaCBcCiAJU291cmNlL1dlYkNvcmUvc3ZnL1NWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWly
ZWQuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJl
ZC5oIFwKQEAgLTM5NDMsNiArMzk1Miw3IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNl
L1dlYkNvcmUveG1sL1hNTEVycm9ycy5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3htbC9YTUxFcnJv
cnMuaCBcCiAJU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcCBcCisJU291cmNl
L1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0RXhjZXB0aW9uLmNwcCBcCiAJU291cmNlL1dlYkNv
cmUveG1sL1hNTEh0dHBSZXF1ZXN0RXhjZXB0aW9uLmggXAogCVNvdXJjZS9XZWJDb3JlL3htbC9Y
TUxIdHRwUmVxdWVzdC5oIFwKIAlTb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RQcm9n
cmVzc0V2ZW50LmggXApAQCAtMzk1Niw2ICszOTY2LDcgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwK
IAlTb3VyY2UvV2ViQ29yZS94bWwvWE1MU2VyaWFsaXplci5oIFwKIAlTb3VyY2UvV2ViQ29yZS94
bWwvWFBhdGhFdmFsdWF0b3IuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhFdmFsdWF0
b3IuaCBcCisJU291cmNlL1dlYkNvcmUveG1sL1hQYXRoRXhjZXB0aW9uLmNwcCBcCiAJU291cmNl
L1dlYkNvcmUveG1sL1hQYXRoRXhjZXB0aW9uLmggXAogCVNvdXJjZS9XZWJDb3JlL3htbC9YUGF0
aEV4cHJlc3Npb24uY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhFeHByZXNzaW9uLmgg
XApJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQkocmV2aXNpb24gOTg2NzIpCisrKyBTb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLmd5cGkJKHdvcmtpbmcgY29weSkKQEAgLTI2MDcsNiArMjYwNyw3IEBACiAgICAg
ICAgICAgICAnZmlsZWFwaS9GaWxlRW50cnlTeW5jLmNwcCcsCiAgICAgICAgICAgICAnZmlsZWFw
aS9GaWxlRW50cnlTeW5jLmgnLAogICAgICAgICAgICAgJ2ZpbGVhcGkvRmlsZUVycm9yLmgnLAor
ICAgICAgICAgICAgJ2ZpbGVhcGkvRmlsZUV4Y2VwdGlvbi5jcHAnLAogICAgICAgICAgICAgJ2Zp
bGVhcGkvRmlsZUV4Y2VwdGlvbi5oJywKICAgICAgICAgICAgICdmaWxlYXBpL0ZpbGVMaXN0LmNw
cCcsCiAgICAgICAgICAgICAnZmlsZWFwaS9GaWxlTGlzdC5oJywKQEAgLTI2MzgsNiArMjYzOSw3
IEBACiAgICAgICAgICAgICAnZmlsZWFwaS9Mb2NhbEZpbGVTeXN0ZW0uaCcsCiAgICAgICAgICAg
ICAnZmlsZWFwaS9NZXRhZGF0YS5oJywKICAgICAgICAgICAgICdmaWxlYXBpL01ldGFkYXRhQ2Fs
bGJhY2suaCcsCisgICAgICAgICAgICAnZmlsZWFwaS9PcGVyYXRpb25Ob3RBbGxvd2VkRXhjZXB0
aW9uLmNwcCcsCiAgICAgICAgICAgICAnZmlsZWFwaS9PcGVyYXRpb25Ob3RBbGxvd2VkRXhjZXB0
aW9uLmgnLAogICAgICAgICAgICAgJ2ZpbGVhcGkvU3luY0NhbGxiYWNrSGVscGVyLmgnLAogICAg
ICAgICAgICAgJ2ZpbGVhcGkvVGhyZWFkYWJsZUJsb2JSZWdpc3RyeS5jcHAnLApAQCAtNDgxNCw2
ICs0ODE2LDcgQEAKICAgICAgICAgICAgICdzdG9yYWdlL0lEQkRhdGFiYXNlQ2FsbGJhY2tzSW1w
bC5jcHAnLAogICAgICAgICAgICAgJ3N0b3JhZ2UvSURCRGF0YWJhc2VDYWxsYmFja3NJbXBsLmgn
LAogICAgICAgICAgICAgJ3N0b3JhZ2UvSURCRGF0YWJhc2VFcnJvci5oJywKKyAgICAgICAgICAg
ICdzdG9yYWdlL0lEQkRhdGFiYXNlRXhjZXB0aW9uLmNwcCcsCiAgICAgICAgICAgICAnc3RvcmFn
ZS9JREJEYXRhYmFzZUV4Y2VwdGlvbi5oJywKICAgICAgICAgICAgICdzdG9yYWdlL0lEQkV2ZW50
RGlzcGF0Y2hlci5jcHAnLAogICAgICAgICAgICAgJ3N0b3JhZ2UvSURCRXZlbnREaXNwYXRjaGVy
LmgnLApAQCAtNDg3MCw2ICs0ODczLDcgQEAKICAgICAgICAgICAgICdzdG9yYWdlL09yaWdpblVz
YWdlUmVjb3JkLmNwcCcsCiAgICAgICAgICAgICAnc3RvcmFnZS9PcmlnaW5Vc2FnZVJlY29yZC5o
JywKICAgICAgICAgICAgICdzdG9yYWdlL1NRTENhbGxiYWNrV3JhcHBlci5oJywKKyAgICAgICAg
ICAgICdzdG9yYWdlL1NRTEV4Y2VwdGlvbi5jcHAnLAogICAgICAgICAgICAgJ3N0b3JhZ2UvU1FM
RXhjZXB0aW9uLmgnLAogICAgICAgICAgICAgJ3N0b3JhZ2UvU1FMUmVzdWx0U2V0LmNwcCcsCiAg
ICAgICAgICAgICAnc3RvcmFnZS9TUUxSZXN1bHRTZXRSb3dMaXN0LmNwcCcsCkBAIC01MDc2LDYg
KzUwODAsNyBAQAogICAgICAgICAgICAgJ3htbC9YTUxFcnJvcnMuaCcsCiAgICAgICAgICAgICAn
eG1sL1hNTEh0dHBSZXF1ZXN0LmNwcCcsCiAgICAgICAgICAgICAneG1sL1hNTEh0dHBSZXF1ZXN0
LmgnLAorICAgICAgICAgICAgJ3htbC9YTUxIdHRwUmVxdWVzdEV4Y2VwdGlvbi5jcHAnLAogICAg
ICAgICAgICAgJ3htbC9YTUxIdHRwUmVxdWVzdEV4Y2VwdGlvbi5oJywKICAgICAgICAgICAgICd4
bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50LmgnLAogICAgICAgICAgICAgJ3htbC9YTUxI
dHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZS5jcHAnLApAQCAtNTA4OCw2ICs1MDkzLDcg
QEAKICAgICAgICAgICAgICd4bWwvWE1MVHJlZVZpZXdlci5oJywKICAgICAgICAgICAgICd4bWwv
WFBhdGhFdmFsdWF0b3IuY3BwJywKICAgICAgICAgICAgICd4bWwvWFBhdGhFdmFsdWF0b3IuaCcs
CisgICAgICAgICAgICAneG1sL1hQYXRoRXhjZXB0aW9uLmNwcCcsCiAgICAgICAgICAgICAneG1s
L1hQYXRoRXhjZXB0aW9uLmgnLAogICAgICAgICAgICAgJ3htbC9YUGF0aEV4cHJlc3Npb24uY3Bw
JywKICAgICAgICAgICAgICd4bWwvWFBhdGhFeHByZXNzaW9uLmgnLApAQCAtNTE2Niw2ICs1MTcy
LDcgQEAKICAgICAgICAgICAgICdkb20vQ3VzdG9tRXZlbnQuY3BwJywKICAgICAgICAgICAgICdk
b20vQ3VzdG9tRXZlbnQuaCcsCiAgICAgICAgICAgICAnZG9tL0RPTUFsbEluT25lLmNwcCcsCisg
ICAgICAgICAgICAnZG9tL0RPTUNvcmVFeGNlcHRpb24uY3BwJywKICAgICAgICAgICAgICdkb20v
RE9NQ29yZUV4Y2VwdGlvbi5oJywKICAgICAgICAgICAgICdkb20vRE9NSW1wbGVtZW50YXRpb24u
Y3BwJywKICAgICAgICAgICAgICdkb20vRE9NU3RyaW5nTGlzdC5jcHAnLApAQCAtNTIxOSw2ICs1
MjI2LDcgQEAKICAgICAgICAgICAgICdkb20vRXZlbnREaXNwYXRjaE1lZGlhdG9yLmgnLAogICAg
ICAgICAgICAgJ2RvbS9FdmVudERpc3BhdGNoZXIuY3BwJywKICAgICAgICAgICAgICdkb20vRXZl
bnREaXNwYXRjaGVyLmgnLAorICAgICAgICAgICAgJ2RvbS9FdmVudEV4Y2VwdGlvbi5jcHAnLAog
ICAgICAgICAgICAgJ2RvbS9FdmVudEV4Y2VwdGlvbi5oJywKICAgICAgICAgICAgICdkb20vRXZl
bnRMaXN0ZW5lck1hcC5jcHAnLAogICAgICAgICAgICAgJ2RvbS9FdmVudE5hbWVzLmNwcCcsCkBA
IC01MjgyLDYgKzUyOTAsNyBAQAogICAgICAgICAgICAgJ2RvbS9Qcm9ncmVzc0V2ZW50LmgnLAog
ICAgICAgICAgICAgJ2RvbS9RdWFsaWZpZWROYW1lLmNwcCcsCiAgICAgICAgICAgICAnZG9tL1Jh
bmdlLmNwcCcsCisgICAgICAgICAgICAnZG9tL1JhbmdlRXhjZXB0aW9uLmNwcCcsCiAgICAgICAg
ICAgICAnZG9tL1JhbmdlRXhjZXB0aW9uLmgnLAogICAgICAgICAgICAgJ2RvbS9SYXdEYXRhRG9j
dW1lbnRQYXJzZXIuaCcsCiAgICAgICAgICAgICAnZG9tL1JlZ2lzdGVyZWRFdmVudExpc3RlbmVy
LmNwcCcsCkBAIC01OTM1LDYgKzU5NDQsNyBAQAogICAgICAgICAgICAgJ3N2Zy9TVkdFbGVtZW50
UmFyZURhdGEuaCcsCiAgICAgICAgICAgICAnc3ZnL1NWR0VsbGlwc2VFbGVtZW50LmNwcCcsCiAg
ICAgICAgICAgICAnc3ZnL1NWR0VsbGlwc2VFbGVtZW50LmgnLAorICAgICAgICAgICAgJ3N2Zy9T
VkdFeGNlcHRpb24uY3BwJywKICAgICAgICAgICAgICdzdmcvU1ZHRXhjZXB0aW9uLmgnLAogICAg
ICAgICAgICAgJ3N2Zy9TVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLmNwcCcsCiAgICAgICAg
ICAgICAnc3ZnL1NWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQuaCcsCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnBybwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LnBybwkocmV2aXNpb24gOTg2NzIpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBybwkod29y
a2luZyBjb3B5KQpAQCAtNDkxLDYgKzQ5MSw3IEBAIFNPVVJDRVMgKz0gXAogICAgIGRvbS9Eb2N1
bWVudE9yZGVyZWRNYXAuY3BwIFwKICAgICBkb20vRG9jdW1lbnRQYXJzZXIuY3BwIFwKICAgICBk
b20vRG9jdW1lbnRUeXBlLmNwcCBcCisgICAgZG9tL0RPTUNvcmVFeGNlcHRpb24uY3BwIFwKICAg
ICBkb20vRE9NSW1wbGVtZW50YXRpb24uY3BwIFwKICAgICBkb20vRE9NU3RyaW5nTGlzdC5jcHAg
XAogICAgIGRvbS9ET01TdHJpbmdNYXAuY3BwIFwKQEAgLTUwNCw2ICs1MDUsNyBAQCBTT1VSQ0VT
ICs9IFwKICAgICBkb20vRXZlbnRDb250ZXh0LmNwcCBcCiAgICAgZG9tL0V2ZW50RGlzcGF0Y2hN
ZWRpYXRvci5jcHAgXAogICAgIGRvbS9FdmVudERpc3BhdGNoZXIuY3BwIFwKKyAgICBkb20vRXZl
bnRFeGNlcHRpb24uY3BwIFwKICAgICBkb20vRXZlbnRMaXN0ZW5lck1hcC5jcHAgXAogICAgIGRv
bS9FdmVudE5hbWVzLmNwcCBcCiAgICAgZG9tL0V2ZW50VGFyZ2V0LmNwcCBcCkBAIC01NDAsNiAr
NTQyLDcgQEAgU09VUkNFUyArPSBcCiAgICAgZG9tL1Byb2dyZXNzRXZlbnQuY3BwIFwKICAgICBk
b20vUXVhbGlmaWVkTmFtZS5jcHAgXAogICAgIGRvbS9SYW5nZS5jcHAgXAorICAgIGRvbS9SYW5n
ZUV4Y2VwdGlvbi5jcHAgXAogICAgIGRvbS9SYXdEYXRhRG9jdW1lbnRQYXJzZXIuaCBcCiAgICAg
ZG9tL1JlZ2lzdGVyZWRFdmVudExpc3RlbmVyLmNwcCBcCiAgICAgZG9tL1Njb3BlZEV2ZW50UXVl
dWUuY3BwIFwKQEAgLTYzMiwxMyArNjM1LDE1IEBAIFNPVVJDRVMgKz0gXAogICAgIGZpbGVhcGkv
QmxvYi5jcHAgXAogICAgIGZpbGVhcGkvQmxvYlVSTC5jcHAgXAogICAgIGZpbGVhcGkvRmlsZS5j
cHAgXAorICAgIGZpbGVhcGkvRmlsZUV4Y2VwdGlvbi5jcHAgXAogICAgIGZpbGVhcGkvRmlsZUxp
c3QuY3BwIFwKICAgICBmaWxlYXBpL0ZpbGVSZWFkZXIuY3BwIFwKICAgICBmaWxlYXBpL0ZpbGVS
ZWFkZXJMb2FkZXIuY3BwIFwKICAgICBmaWxlYXBpL0ZpbGVSZWFkZXJTeW5jLmNwcCBcCiAgICAg
ZmlsZWFwaS9GaWxlU3RyZWFtUHJveHkuY3BwIFwKICAgICBmaWxlYXBpL0ZpbGVUaHJlYWQuY3Bw
IFwKLSAgICBmaWxlYXBpL1RocmVhZGFibGVCbG9iUmVnaXN0cnkuY3BwIFwKKyAgICBmaWxlYXBp
L0ZpbGVFeGNlcHRpb24uY3BwIFwKKyAgICBmaWxlYXBpL09wZXJhdGlvbk5vdEFsbG93ZWRFeGNl
cHRpb24uY3BwIFwKICAgICBmaWxlYXBpL1dlYktpdEJsb2JCdWlsZGVyLmNwcCBcCiAgICAgaGlz
dG9yeS9CYWNrRm9yd2FyZENvbnRyb2xsZXIuY3BwIFwKICAgICBoaXN0b3J5L0JhY2tGb3J3YXJk
TGlzdEltcGwuY3BwIFwKQEAgLTEyMzksMTEgKzEyNDQsMTMgQEAgU09VUkNFUyArPSBcCiAgICAg
eG1sL0RPTVBhcnNlci5jcHAgXAogICAgIHhtbC9OYXRpdmVYUGF0aE5TUmVzb2x2ZXIuY3BwIFwK
ICAgICB4bWwvWE1MSHR0cFJlcXVlc3QuY3BwIFwKKyAgICB4bWwvWE1MSHR0cFJlcXVlc3RFeGNl
cHRpb24uY3BwIFwKICAgICB4bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUu
Y3BwIFwKICAgICB4bWwvWE1MSHR0cFJlcXVlc3RVcGxvYWQuY3BwIFwKICAgICB4bWwvWE1MRXJy
b3JzLmNwcCBcCiAgICAgeG1sL1hNTFNlcmlhbGl6ZXIuY3BwIFwKICAgICB4bWwvWFBhdGhFdmFs
dWF0b3IuY3BwIFwKKyAgICB4bWwvWFBhdGhFeGNlcHRpb24uY3BwIFwKICAgICB4bWwvWFBhdGhF
eHByZXNzaW9uLmNwcCBcCiAgICAgeG1sL1hQYXRoRXhwcmVzc2lvbk5vZGUuY3BwIFwKICAgICB4
bWwvWFBhdGhGdW5jdGlvbnMuY3BwIFwKQEAgLTI4MzMsNiArMjg0MCw3IEBAIGNvbnRhaW5zKERF
RklORVMsIEVOQUJMRV9TUUxfREFUQUJBU0U9MSkKICAgICAgICAgc3RvcmFnZS9EYXRhYmFzZVRy
YWNrZXIuY3BwIFwKICAgICAgICAgc3RvcmFnZS9PcmlnaW5RdW90YU1hbmFnZXIuY3BwIFwKICAg
ICAgICAgc3RvcmFnZS9PcmlnaW5Vc2FnZVJlY29yZC5jcHAgXAorICAgICAgICBzdG9yYWdlL1NR
TEV4Y2VwdGlvbi5jcHAgXAogICAgICAgICBzdG9yYWdlL1NRTFJlc3VsdFNldC5jcHAgXAogICAg
ICAgICBzdG9yYWdlL1NRTFJlc3VsdFNldFJvd0xpc3QuY3BwIFwKICAgICAgICAgc3RvcmFnZS9T
UUxTdGF0ZW1lbnQuY3BwIFwKQEAgLTI4OTcsNiArMjkwNSw3IEBAIGNvbnRhaW5zKERFRklORVMs
IEVOQUJMRV9JTkRFWEVEX0RBVEFCQVMKICAgICAgICAgc3RvcmFnZS9JREJDdXJzb3JCYWNrZW5k
SW1wbC5jcHAgXAogICAgICAgICBzdG9yYWdlL0lEQkRhdGFiYXNlLmNwcCBcCiAgICAgICAgIHN0
b3JhZ2UvSURCRGF0YWJhc2VCYWNrZW5kSW1wbC5jcHAgXAorICAgICAgICBzdG9yYWdlL0lEQkRh
dGFiYXNlRXhjZXB0aW9uLmNwcCBcCiAgICAgICAgIHN0b3JhZ2UvSURCRXZlbnREaXNwYXRjaGVy
LmNwcCBcCiAgICAgICAgIHN0b3JhZ2UvSURCRmFjdG9yeS5jcHAgXAogICAgICAgICBzdG9yYWdl
L0lEQkZhY3RvcnlCYWNrZW5kSW50ZXJmYWNlLmNwcCBcCkBAIC0zMzk2LDYgKzM0MDUsNyBAQCBj
b250YWlucyhERUZJTkVTLCBFTkFCTEVfU1ZHPTEpIHsKICAgICAgICAgICAgICAgc3ZnL1NWR0Vs
ZW1lbnRJbnN0YW5jZS5jcHAgXAogICAgICAgICAgICAgICBzdmcvU1ZHRWxlbWVudEluc3RhbmNl
TGlzdC5jcHAgXAogICAgICAgICAgICAgICBzdmcvU1ZHRWxsaXBzZUVsZW1lbnQuY3BwIFwKKyAg
ICAgICAgICAgICAgc3ZnL1NWR0V4Y2VwdGlvbi5jcHAgXAogICAgICAgICAgICAgICBzdmcvU1ZH
RXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5jcHAgXAogICAgICAgICAgICAgICBzdmcvU1ZHRkVC
bGVuZEVsZW1lbnQuY3BwIFwKICAgICAgICAgICAgICAgc3ZnL1NWR0ZFQ29sb3JNYXRyaXhFbGVt
ZW50LmNwcCBcCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZj
cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3Jl
LnZjcHJvagkocmV2aXNpb24gOTg2NzIpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJv
ai9XZWJDb3JlLnZjcHJvagkod29ya2luZyBjb3B5KQpAQCAtNDIzMjAsNiArNDIzMjAsMTAgQEAK
IAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5ceG1sXFhN
TEh0dHBSZXF1ZXN0RXhjZXB0aW9uLmNwcCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQog
CQkJCVJlbGF0aXZlUGF0aD0iLi5ceG1sXFhNTEh0dHBSZXF1ZXN0RXhjZXB0aW9uLmgiCiAJCQkJ
PgogCQkJPC9GaWxlPgpAQCAtNDIzNjgsNiArNDIzNzIsMTAgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+
CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5ceG1sXFhQYXRoRXhjZXB0aW9uLmNwcCIK
KwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5ceG1sXFhQ
YXRoRXhjZXB0aW9uLmgiCiAJCQkJPgogCQkJPC9GaWxlPgpAQCAtNDQ4NTAsNiArNDQ4NTgsNTgg
QEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9t
XERPTUNvcmVFeGNlcHRpb24uY3BwIgorCQkJCT4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJ
CQkJTmFtZT0iRGVidWd8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJ
CQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgor
CQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5h
bWU9IlJlbGVhc2V8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+
CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJ
CTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9
IkRlYnVnX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUi
CisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJ
CS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJ
CQkJTmFtZT0iUmVsZWFzZV9DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1
aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJU
b29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1
cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnX0FsbHxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVp
bGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRv
b2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3Vy
YXRpb24KKwkJCQkJTmFtZT0iUHJvZHVjdGlvbnxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVp
bGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRv
b2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCTwvRmlsZT4KKwkJCTxG
aWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21cRE9NSW1wbGVtZW50YXRpb24uY3BwIgogCQkJ
CT4KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KQEAgLTQ1NDc4LDcgKzQ1NTM4LDU5IEBACiAJCQkJ
PgogCQkJPC9GaWxlPgogCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxFdmVudERp
c3BhdGNNZWRpYXRvci5jcHAiCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21cRXZlbnREaXNwYXRj
aE1lZGlhdG9yLmNwcCIKKwkJCQk+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9
IkRlYnVnfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJ
CQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0Zp
bGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxl
YXNlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8
VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVD
b25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z19D
YWlyb19DRkxpdGV8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+
CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJ
CTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9
IlJlbGVhc2VfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1
ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJ
CQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgor
CQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVl
IgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJ
CQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJ
CQkJCU5hbWU9IlByb2R1Y3Rpb258V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVl
IgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJ
CQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJ
CVJlbGF0aXZlUGF0aD0iLi5cZG9tXEV2ZW50RXhjZXB0aW9uLmNwcCIKIAkJCQk+CiAJCQkJPEZp
bGVDb25maWd1cmF0aW9uCiAJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIgpAQCAtNDc0ODIsNiArNDc1
OTQsNTggQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0i
Li5cZG9tXFJhbmdlRXhjZXB0aW9uLmNwcCIKKwkJCQk+CisJCQkJPEZpbGVDb25maWd1cmF0aW9u
CisJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIK
KwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJ
Lz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJ
CQlOYW1lPSJSZWxlYXNlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJ
CQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4K
KwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlO
YW1lPSJEZWJ1Z19DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0
cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgor
CQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9u
CisJCQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZy
b21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBp
bGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29u
ZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJv
bUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGls
ZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25m
aWd1cmF0aW9uCisJCQkJCU5hbWU9IlByb2R1Y3Rpb258V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJv
bUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGls
ZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQk8L0ZpbGU+CisJ
CQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXFJhbmdlRXhjZXB0aW9uLmgiCiAJCQkJ
PgogCQkJPC9GaWxlPgpAQCAtNTI5MjYsNiArNTMwOTAsMTAgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+
CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZmlsZWFwaVxGaWxlRXhjZXB0aW9uLmNw
cCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5cZmls
ZWFwaVxGaWxlTGlzdC5jcHAiCiAJCQkJPgogCQkJPC9GaWxlPgpAQCAtNTMwMjYsNiArNTMxOTQs
MTQgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5c
ZmlsZWFwaVxPcGVyYXRpb25Ob3RBbGxvd2VkRXhjZXB0aW9uLmNwcCIKKwkJCQk+CisJCQk8L0Zp
bGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZmlsZWFwaVxPcGVyYXRpb25Ob3RB
bGxvd2VkRXhjZXB0aW9uLmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJCQlSZWxh
dGl2ZVBhdGg9Ii4uXGh0bWxcY2FudmFzXEZsb2F0MzJBcnJheS5jcHAiCiAJCQkJPgogCQkJPC9G
aWxlPgpAQCAtNjc2MDIsNiArNjc3NzgsMTAgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8Rmls
ZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cc3RvcmFnZVxTUUxFeGNlcHRpb24uY3BwIgorCQkJCT4K
KwkJCTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxzdG9yYWdlXFNRTEV4
Y2VwdGlvbi5oIgogCQkJCT4KIAkJCTwvRmlsZT4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDk4NjcyKQorKysg
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5n
IGNvcHkpCkBAIC0zMjY3LDYgKzMyNjcsMTYgQEAKIAkJOTc3RTJFMEYxMkYwRkM5QzAwQzEzMzc5
IC8qIFhTU0F1ZGl0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDk3N0UyRTBDMTJGMEZDOUMwMEMxMzM3OSAvKiBYU1NBdWRpdG9yLmggKi87IH07CiAJ
CTk3OEFENjc0MTQxMzBBOEQwMEM3Q0FFMyAvKiBIVE1MU3BhbkVsZW1lbnQuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTc4QUQ2NzExNDEzMEE4RDAw
QzdDQUUzIC8qIEhUTUxTcGFuRWxlbWVudC5jcHAgKi87IH07CiAJCTk3OEFENjc1MTQxMzBBOEQw
MEM3Q0FFMyAvKiBIVE1MU3BhbkVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDk3OEFENjcyMTQxMzBBOEQwMEM3Q0FFMyAvKiBIVE1MU3BhbkVs
ZW1lbnQuaCAqLzsgfTsKKwkJOTc4RDA3QjIxNDVBMEVCRDAwOTY5MDhEIC8qIElEQkRhdGFiYXNl
RXhjZXB0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDk3OEQwN0IxMTQ1QTBFQkQwMDk2OTA4RCAvKiBJREJEYXRhYmFzZUV4Y2VwdGlvbi5jcHAg
Ki87IH07CisJCTk3OEQwN0I0MTQ1QTBFQ0QwMDk2OTA4RCAvKiBTUUxFeGNlcHRpb24uY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTc4RDA3QjMxNDVB
MEVDRDAwOTY5MDhEIC8qIFNRTEV4Y2VwdGlvbi5jcHAgKi87IH07CisJCTk3OEQwN0I2MTQ1QTBG
MDMwMDk2OTA4RCAvKiBGaWxlRXhjZXB0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk3OEQwN0I1MTQ1QTBGMDMwMDk2OTA4RCAvKiBGaWxlRXhj
ZXB0aW9uLmNwcCAqLzsgfTsKKwkJOTc4RDA3QjgxNDVBMEYxQjAwOTY5MDhEIC8qIE9wZXJhdGlv
bk5vdEFsbG93ZWRFeGNlcHRpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gOTc4RDA3QjcxNDVBMEYxQjAwOTY5MDhEIC8qIE9wZXJhdGlvbk5vdEFs
bG93ZWRFeGNlcHRpb24uY3BwICovOyB9OworCQk5NzhEMDdCQTE0NUEwRjNDMDA5NjkwOEQgLyog
UmFuZ2VFeGNlcHRpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gOTc4RDA3QjkxNDVBMEYzQzAwOTY5MDhEIC8qIFJhbmdlRXhjZXB0aW9uLmNwcCAq
LzsgfTsKKwkJOTc4RDA3QkMxNDVBMEY1NjAwOTY5MDhEIC8qIEV2ZW50RXhjZXB0aW9uLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk3OEQwN0JCMTQ1
QTBGNTYwMDk2OTA4RCAvKiBFdmVudEV4Y2VwdGlvbi5jcHAgKi87IH07CisJCTk3OEQwN0JFMTQ1
QTBGNkMwMDk2OTA4RCAvKiBET01Db3JlRXhjZXB0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk3OEQwN0JEMTQ1QTBGNkMwMDk2OTA4RCAvKiBE
T01Db3JlRXhjZXB0aW9uLmNwcCAqLzsgfTsKKwkJOTc4RDA3Q0ExNDVBMTAxNjAwOTY5MDhEIC8q
IFNWR0V4Y2VwdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA5NzhEMDdDOTE0NUExMDE2MDA5NjkwOEQgLyogU1ZHRXhjZXB0aW9uLmNwcCAqLzsg
fTsKKwkJOTc4RDA3Q0MxNDVBMTAyRTAwOTY5MDhEIC8qIFhQYXRoRXhjZXB0aW9uLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk3OEQwN0NCMTQ1QTEw
MkUwMDk2OTA4RCAvKiBYUGF0aEV4Y2VwdGlvbi5jcHAgKi87IH07CisJCTk3OEQwN0NFMTQ1QTEw
MzcwMDk2OTA4RCAvKiBYTUxIdHRwUmVxdWVzdEV4Y2VwdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NzhEMDdDRDE0NUExMDM3MDA5NjkwOEQg
LyogWE1MSHR0cFJlcXVlc3RFeGNlcHRpb24uY3BwICovOyB9OwogCQk5NzlGNDNEMzEwNzVFNDRB
MDAwMEY4M0IgLyogTmF2aWdhdGlvblNjaGVkdWxlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NzlGNDNEMTEwNzVFNDRBMDAwMEY4M0IgLyogTmF2
aWdhdGlvblNjaGVkdWxlci5jcHAgKi87IH07CiAJCTk3OUY0M0Q0MTA3NUU0NEEwMDAwRjgzQiAv
KiBOYXZpZ2F0aW9uU2NoZWR1bGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA5NzlGNDNEMjEwNzVFNDRBMDAwMEY4M0IgLyogTmF2aWdhdGlvblNjaGVk
dWxlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CTk3QUEzQ0E1MTQ1MjM3Q0MwMDNFMURBNiAvKiBFdmVudFRhcmdldEhlYWRlcnMuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk3QUEzQ0EzMTQ1MjM3Q0Mw
MDNFMURBNiAvKiBFdmVudFRhcmdldEhlYWRlcnMuaCAqLzsgfTsKQEAgLTEwNDAzLDYgKzEwNDEz
LDE2IEBACiAJCTk3OEFENjcxMTQxMzBBOEQwMEM3Q0FFMyAvKiBIVE1MU3BhbkVsZW1lbnQuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSFRNTFNwYW5FbGVtZW50LmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTc4QUQ2NzIxNDEzMEE4RDAwQzdDQUUz
IC8qIEhUTUxTcGFuRWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBI
VE1MU3BhbkVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTc4QUQ2NzMx
NDEzMEE4RDAwQzdDQUUzIC8qIEhUTUxTcGFuRWxlbWVudC5pZGwgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBw
YXRoID0gSFRNTFNwYW5FbGVtZW50LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
OTc4RDA3QjExNDVBMEVCRDAwOTY5MDhEIC8qIElEQkRhdGFiYXNlRXhjZXB0aW9uLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IElEQkRhdGFiYXNlRXhjZXB0aW9uLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTc4RDA3QjMxNDVBMEVDRDAwOTY5MDhE
IC8qIFNRTEV4Y2VwdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBTUUxFeGNlcHRpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5NzhEMDdC
NTE0NUEwRjAzMDA5NjkwOEQgLyogRmlsZUV4Y2VwdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IG5hbWUgPSBGaWxlRXhjZXB0aW9uLmNwcDsgcGF0aCA9IGZpbGVhcGkvRmls
ZUV4Y2VwdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTk3OEQwN0I3MTQ1
QTBGMUIwMDk2OTA4RCAvKiBPcGVyYXRpb25Ob3RBbGxvd2VkRXhjZXB0aW9uLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IE9wZXJhdGlvbk5vdEFsbG93ZWRFeGNlcHRp
b24uY3BwOyBwYXRoID0gZmlsZWFwaS9PcGVyYXRpb25Ob3RBbGxvd2VkRXhjZXB0aW9uLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTc4RDA3QjkxNDVBMEYzQzAwOTY5MDhEIC8q
IFJhbmdlRXhjZXB0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IFJhbmdlRXhjZXB0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTc4RDA3
QkIxNDVBMEY1NjAwOTY5MDhEIC8qIEV2ZW50RXhjZXB0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEV2ZW50RXhjZXB0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJOTc4RDA3QkQxNDVBMEY2QzAwOTY5MDhEIC8qIERPTUNvcmVFeGNlcHRp
b24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRE9NQ29yZUV4Y2Vw
dGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTk3OEQwN0M5MTQ1QTEwMTYw
MDk2OTA4RCAvKiBTVkdFeGNlcHRpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gU1ZHRXhjZXB0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
OTc4RDA3Q0IxNDVBMTAyRTAwOTY5MDhEIC8qIFhQYXRoRXhjZXB0aW9uLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFhQYXRoRXhjZXB0aW9uLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTc4RDA3Q0QxNDVBMTAzNzAwOTY5MDhEIC8qIFhNTEh0dHBS
ZXF1ZXN0RXhjZXB0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IFhNTEh0dHBSZXF1ZXN0RXhjZXB0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJOTc5RjQzRDExMDc1RTQ0QTAwMDBGODNCIC8qIE5hdmlnYXRpb25TY2hlZHVsZXIuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTmF2aWdhdGlvblNjaGVkdWxlci5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk3OUY0M0QyMTA3NUU0NEEwMDAwRjgz
QiAvKiBOYXZpZ2F0aW9uU2NoZWR1bGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IE5hdmlnYXRpb25TY2hlZHVsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
OTdBQTNDQTMxNDUyMzdDQzAwM0UxREE2IC8qIEV2ZW50VGFyZ2V0SGVhZGVycy5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBFdmVudFRhcmdldEhlYWRlcnMuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE0MjAzLDYgKzE0MjIzLDcgQEAKIAkJCQlCNjE3NjI1MzEy
MDMzNzRGMDBFRjkxMTQgLyogSURCRGF0YWJhc2VCYWNrZW5kSW50ZXJmYWNlLmggKi8sCiAJCQkJ
QzU4NUE2OUQxMUQ0RkIzRDAwNEMzRTRCIC8qIElEQkRhdGFiYXNlRXJyb3IuaCAqLywKIAkJCQlD
NTg1QTY5RTExRDRGQjNEMDA0QzNFNEIgLyogSURCRGF0YWJhc2VFcnJvci5pZGwgKi8sCisJCQkJ
OTc4RDA3QjExNDVBMEVCRDAwOTY5MDhEIC8qIElEQkRhdGFiYXNlRXhjZXB0aW9uLmNwcCAqLywK
IAkJCQlDNTg1QTY5RjExRDRGQjNEMDA0QzNFNEIgLyogSURCRGF0YWJhc2VFeGNlcHRpb24uaCAq
LywKIAkJCQlDNTg1QTZBMDExRDRGQjNEMDA0QzNFNEIgLyogSURCRGF0YWJhc2VFeGNlcHRpb24u
aWRsICovLAogCQkJCUM1ODVBNkM5MTFENEZCM0QwMDRDM0U0QiAvKiBJREJGYWN0b3J5LmNwcCAq
LywKQEAgLTE0MjQ4LDYgKzE0MjY5LDcgQEAKIAkJCQkyNDVEODBBMjEzMjgwRTQwMDAzNDkyQTYg
LyogU1FMQ2FsbGJhY2tXcmFwcGVyLmggKi8sCiAJCQkJNTFFQzkyNTcwQ0U5MERCNDAwRjkwMzA4
IC8qIFNRTEVycm9yLmggKi8sCiAJCQkJNTFFQzkyNTgwQ0U5MERCNDAwRjkwMzA4IC8qIFNRTEVy
cm9yLmlkbCAqLywKKwkJCQk5NzhEMDdCMzE0NUEwRUNEMDA5NjkwOEQgLyogU1FMRXhjZXB0aW9u
LmNwcCAqLywKIAkJCQlCNTZFQkE4MzExQzlGRjgxMDBCMDQ0NzcgLyogU1FMRXhjZXB0aW9uLmgg
Ki8sCiAJCQkJQjU2RUJBODQxMUM5RkY4MTAwQjA0NDc3IC8qIFNRTEV4Y2VwdGlvbi5pZGwgKi8s
CiAJCQkJNTE5NjExNjcwQ0FDNTY1NzAwMTBBODBDIC8qIFNRTFJlc3VsdFNldC5jcHAgKi8sCkBA
IC0xNzM0MSw2ICsxNzM2Myw3IEBACiAJCQkJODkzQzQ3RkUxMjQ4QkQzOTAwMkIzRDg2IC8qIEZp
bGVFbnRyeVN5bmMuY3BwICovLAogCQkJCTg5M0M0N0ZGMTI0OEJEMzkwMDJCM0Q4NiAvKiBGaWxl
RW50cnlTeW5jLmggKi8sCiAJCQkJOTc2RDZDNjQxMjJCOEEzRDAwMUZEMUY3IC8qIEZpbGVFcnJv
ci5oICovLAorCQkJCTk3OEQwN0I1MTQ1QTBGMDMwMDk2OTA4RCAvKiBGaWxlRXhjZXB0aW9uLmNw
cCAqLywKIAkJCQkyRURGMzY5RTEyMkM5NEM4MDAyRjdENEUgLyogRmlsZUV4Y2VwdGlvbi5oICov
LAogCQkJCTk3NkQ2QzY2MTIyQjhBM0QwMDFGRDFGNyAvKiBGaWxlTGlzdC5jcHAgKi8sCiAJCQkJ
OTc2RDZDNjcxMjJCOEEzRDAwMUZEMUY3IC8qIEZpbGVMaXN0LmggKi8sCkBAIC0xNzM3NCw2ICsx
NzM5Nyw3IEBACiAJCQkJODk4Nzg1NEYxMjJDQTA2NDAwM0FBQkRBIC8qIExvY2FsRmlsZVN5c3Rl
bS5oICovLAogCQkJCTg5ODc4NTUwMTIyQ0EwNjQwMDNBQUJEQSAvKiBNZXRhZGF0YS5oICovLAog
CQkJCTg5ODc4NTUxMTIyQ0EwNjQwMDNBQUJEQSAvKiBNZXRhZGF0YUNhbGxiYWNrLmggKi8sCisJ
CQkJOTc4RDA3QjcxNDVBMEYxQjAwOTY5MDhEIC8qIE9wZXJhdGlvbk5vdEFsbG93ZWRFeGNlcHRp
b24uY3BwICovLAogCQkJCTJFMjQ0NUY1MTM5NTg5M0EwMDRCNkMxOSAvKiBPcGVyYXRpb25Ob3RB
bGxvd2VkRXhjZXB0aW9uLmggKi8sCiAJCQkJMkUyNDQ1RjYxMzk1ODkzQTAwNEI2QzE5IC8qIE9w
ZXJhdGlvbk5vdEFsbG93ZWRFeGNlcHRpb24uaWRsICovLAogCQkJCTk3NkQ2Qzc1MTIyQjhBM0Qw
MDFGRDFGNyAvKiBUaHJlYWRhYmxlQmxvYlJlZ2lzdHJ5LmNwcCAqLywKQEAgLTE4NTM4LDYgKzE4
NTYyLDcgQEAKIAkJCQlCMjIyNzgyOTBEMDBCRjFGMDA3MUI3ODIgLyogU1ZHRWxsaXBzZUVsZW1l
bnQuY3BwICovLAogCQkJCUIyMjI3ODJBMEQwMEJGMUYwMDcxQjc4MiAvKiBTVkdFbGxpcHNlRWxl
bWVudC5oICovLAogCQkJCUIyMjI3ODJCMEQwMEJGMUYwMDcxQjc4MiAvKiBTVkdFbGxpcHNlRWxl
bWVudC5pZGwgKi8sCisJCQkJOTc4RDA3QzkxNDVBMTAxNjAwOTY5MDhEIC8qIFNWR0V4Y2VwdGlv
bi5jcHAgKi8sCiAJCQkJQjIyMjc4MkMwRDAwQkYxRjAwNzFCNzgyIC8qIFNWR0V4Y2VwdGlvbi5o
ICovLAogCQkJCUIyMjI3ODJEMEQwMEJGMUYwMDcxQjc4MiAvKiBTVkdFeGNlcHRpb24uaWRsICov
LAogCQkJCUIyMjI3ODJFMEQwMEJGMUYwMDcxQjc4MiAvKiBTVkdFeHRlcm5hbFJlc291cmNlc1Jl
cXVpcmVkLmNwcCAqLywKQEAgLTIwMzA4LDYgKzIwMzMzLDcgQEAKIAkJCQlCQzc3MkM0NDBDNEVC
MkM2MDA4MzI4NUYgLyogWE1MSHR0cFJlcXVlc3QuY3BwICovLAogCQkJCUJDNzcyQzQ1MEM0RUIy
QzYwMDgzMjg1RiAvKiBYTUxIdHRwUmVxdWVzdC5oICovLAogCQkJCUJDMzQ4QkE3MERCN0YxQjgw
MDRBQkFCOSAvKiBYTUxIdHRwUmVxdWVzdC5pZGwgKi8sCisJCQkJOTc4RDA3Q0QxNDVBMTAzNzAw
OTY5MDhEIC8qIFhNTEh0dHBSZXF1ZXN0RXhjZXB0aW9uLmNwcCAqLywKIAkJCQlCQzYwRDlDNzBE
MkEyOUU1MDBCOTkxOEYgLyogWE1MSHR0cFJlcXVlc3RFeGNlcHRpb24uaCAqLywKIAkJCQlCQzYw
RDlDODBEMkEyOUU1MDBCOTkxOEYgLyogWE1MSHR0cFJlcXVlc3RFeGNlcHRpb24uaWRsICovLAog
CQkJCUY5RjBFRDc3MERCNTBDQTIwMEQxNkRCOSAvKiBYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZl
bnQuaCAqLywKQEAgLTIwMzI3LDYgKzIwMzUzLDcgQEAKIAkJCQkxQUI3RkM0NzBBOEI5MkVDMDBE
OUQzN0IgLyogWFBhdGhFdmFsdWF0b3IuY3BwICovLAogCQkJCTFBQjdGQzQ4MEE4QjkyRUMwMEQ5
RDM3QiAvKiBYUGF0aEV2YWx1YXRvci5oICovLAogCQkJCTFBQjdGQzQ5MEE4QjkyRUMwMEQ5RDM3
QiAvKiBYUGF0aEV2YWx1YXRvci5pZGwgKi8sCisJCQkJOTc4RDA3Q0IxNDVBMTAyRTAwOTY5MDhE
IC8qIFhQYXRoRXhjZXB0aW9uLmNwcCAqLywKIAkJCQlCQzYwREE1OTBEMkEzMUY3MDBCOTkxOEYg
LyogWFBhdGhFeGNlcHRpb24uaCAqLywKIAkJCQlCQzYwREE1QTBEMkEzMUY3MDBCOTkxOEYgLyog
WFBhdGhFeGNlcHRpb24uaWRsICovLAogCQkJCTFBQjdGQzRBMEE4QjkyRUMwMEQ5RDM3QiAvKiBY
UGF0aEV4cHJlc3Npb24uY3BwICovLApAQCAtMjA5MzEsNiArMjA5NTgsNyBAQAogCQkJCUE4MTg1
RjMyMDk3NjU3NjUwMDU4MjZEOSAvKiBEb2N1bWVudFR5cGUuY3BwICovLAogCQkJCUE4MTg1RjMx
MDk3NjU3NjUwMDU4MjZEOSAvKiBEb2N1bWVudFR5cGUuaCAqLywKIAkJCQk5M0VFQzFFODA5QzI4
Nzc3MDBDNTE1RDEgLyogRG9jdW1lbnRUeXBlLmlkbCAqLywKKwkJCQk5NzhEMDdCRDE0NUEwRjZD
MDA5NjkwOEQgLyogRE9NQ29yZUV4Y2VwdGlvbi5jcHAgKi8sCiAJCQkJQkM2MEQ2RTgwRDI4RDgz
NDAwQjk5MThGIC8qIERPTUNvcmVFeGNlcHRpb24uaCAqLywKIAkJCQlCQzYwRDZFQjBEMjhEOTk5
MDBCOTkxOEYgLyogRE9NQ29yZUV4Y2VwdGlvbi5pZGwgKi8sCiAJCQkJQTgxODVGMzYwOTc2NTc2
NTAwNTgyNkQ5IC8qIERPTUltcGxlbWVudGF0aW9uLmNwcCAqLywKQEAgLTIwOTY4LDYgKzIwOTk2
LDcgQEAKIAkJCQk0QUYxQUQzRDEzRkQyM0E0MDBBQTk1OTAgLyogRXZlbnREaXNwYXRjaE1lZGlh
dG9yLmggKi8sCiAJCQkJNDE4QTA2Q0YxMzNDMDRENTAwQ0QzNzlDIC8qIEV2ZW50RGlzcGF0Y2hl
ci5jcHAgKi8sCiAJCQkJNDE4QTA2Q0UxMzNDMDRENTAwQ0QzNzlDIC8qIEV2ZW50RGlzcGF0Y2hl
ci5oICovLAorCQkJCTk3OEQwN0JCMTQ1QTBGNTYwMDk2OTA4RCAvKiBFdmVudEV4Y2VwdGlvbi5j
cHAgKi8sCiAJCQkJQkM2MEQ5MDkwRDJBMTdDRTAwQjk5MThGIC8qIEV2ZW50RXhjZXB0aW9uLmgg
Ki8sCiAJCQkJQkM2MEQ5MEEwRDJBMTdDRTAwQjk5MThGIC8qIEV2ZW50RXhjZXB0aW9uLmlkbCAq
LywKIAkJCQk5NzY2NTAxMTE0NEZBQTQyMDBGNkJCNTEgLyogRXZlbnRGYWN0b3J5LmggKi8sCkBA
IC0yMTA3OCw2ICsyMTEwNyw3IEBACiAJCQkJRjUyM0QzMDQwMkRFNDQ3NjAxODYzNUNBIC8qIFJh
bmdlLmggKi8sCiAJCQkJOTM2REQwM0EwOUNFQUMyNzAwNTZBRThDIC8qIFJhbmdlLmlkbCAqLywK
IAkJCQk5M0Q5RDUzQjBEQTI3RTE4MDA3NzIxNkMgLyogUmFuZ2VCb3VuZGFyeVBvaW50LmggKi8s
CisJCQkJOTc4RDA3QjkxNDVBMEYzQzAwOTY5MDhEIC8qIFJhbmdlRXhjZXB0aW9uLmNwcCAqLywK
IAkJCQlEMjNDQTU2QjBBQjBFQjhEMDA1MTA4QTUgLyogUmFuZ2VFeGNlcHRpb24uaCAqLywKIAkJ
CQlEMjNDQTU0ODBBQjBFOTgzMDA1MTA4QTUgLyogUmFuZ2VFeGNlcHRpb24uaWRsICovLAogCQkJ
CUE4NEQ4MjdCMTFEMzMzRUQwMDk3Mjk5MCAvKiBSYXdEYXRhRG9jdW1lbnRQYXJzZXIuaCAqLywK
QEAgLTI3MzI4LDYgKzI3MzU4LDE2IEBACiAJCQkJMzEwNjAzN0ExNDMyODFDRDAwQUJGNEJBIC8q
IERPTVdlYktpdENTU0ZpbHRlclZhbHVlLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMjlBQ0IyMTQx
NDNFNzQ5ODAwNkJDQTVGIC8qIEFjY2Vzc2liaWxpdHlNb2NrT2JqZWN0LmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTI5RDdCQ0Y2MTQ0NEFGNTgwMDcwNjE5QyAvKiBBY2Nlc3NpYmlsaXR5U3BpbkJ1
dHRvbi5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk5NzhEMDdCMjE0NUEwRUJEMDA5NjkwOEQgLyog
SURCRGF0YWJhc2VFeGNlcHRpb24uY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJOTc4RDA3QjQxNDVB
MEVDRDAwOTY5MDhEIC8qIFNRTEV4Y2VwdGlvbi5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk5NzhE
MDdCNjE0NUEwRjAzMDA5NjkwOEQgLyogRmlsZUV4Y2VwdGlvbi5jcHAgaW4gU291cmNlcyAqLywK
KwkJCQk5NzhEMDdCODE0NUEwRjFCMDA5NjkwOEQgLyogT3BlcmF0aW9uTm90QWxsb3dlZEV4Y2Vw
dGlvbi5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk5NzhEMDdCQTE0NUEwRjNDMDA5NjkwOEQgLyog
UmFuZ2VFeGNlcHRpb24uY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJOTc4RDA3QkMxNDVBMEY1NjAw
OTY5MDhEIC8qIEV2ZW50RXhjZXB0aW9uLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTk3OEQwN0JF
MTQ1QTBGNkMwMDk2OTA4RCAvKiBET01Db3JlRXhjZXB0aW9uLmNwcCBpbiBTb3VyY2VzICovLAor
CQkJCTk3OEQwN0NBMTQ1QTEwMTYwMDk2OTA4RCAvKiBTVkdFeGNlcHRpb24uY3BwIGluIFNvdXJj
ZXMgKi8sCisJCQkJOTc4RDA3Q0MxNDVBMTAyRTAwOTY5MDhEIC8qIFhQYXRoRXhjZXB0aW9uLmNw
cCBpbiBTb3VyY2VzICovLAorCQkJCTk3OEQwN0NFMTQ1QTEwMzcwMDk2OTA4RCAvKiBYTUxIdHRw
UmVxdWVzdEV4Y2VwdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjA5MDg3RjE0NDRGREIy
MDAwMjg5MTcgLyogU2Nyb2xsYmFyVGhlbWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOUIzNzVF
REExNDQ3OEEwMTAwRjNDQUU1IC8qIE1pY3JvRGF0YUl0ZW1MaXN0LmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTQ5QUYyRDZDMTQ0MzVEMjEwMDE2QTc4NCAvKiBEaXNwbGF5UmVmcmVzaE1vbml0b3JN
YWMuY3BwIGluIFNvdXJjZXMgKi8sCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRE9NQWxsSW5P
bmUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9ET01BbGxJbk9uZS5jcHAJ
KHJldmlzaW9uIDk4NjcyKQorKysgU291cmNlL1dlYkNvcmUvZG9tL0RPTUFsbEluT25lLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNDQsNiArNDQsNyBAQAogI2luY2x1ZGUgIkNvbXBvc2l0aW9uRXZl
bnQuY3BwIgogI2luY2x1ZGUgIkNvbnRhaW5lck5vZGUuY3BwIgogI2luY2x1ZGUgIkN1c3RvbUV2
ZW50LmNwcCIKKyNpbmNsdWRlICJET01Db3JlRXhjZXB0aW9uLmNwcCIKICNpbmNsdWRlICJET01J
bXBsZW1lbnRhdGlvbi5jcHAiCiAjaW5jbHVkZSAiRE9NU3RyaW5nTGlzdC5jcHAiCiAjaW5jbHVk
ZSAiRE9NU3RyaW5nTWFwLmNwcCIKQEAgLTcyLDYgKzczLDcgQEAKICNpbmNsdWRlICJFdmVudENv
bnRleHQuY3BwIgogI2luY2x1ZGUgIkV2ZW50RGlzcGF0Y2hNZWRpYXRvci5jcHAiCiAjaW5jbHVk
ZSAiRXZlbnREaXNwYXRjaGVyLmNwcCIKKyNpbmNsdWRlICJFdmVudEV4Y2VwdGlvbi5jcHAiCiAj
aW5jbHVkZSAiRXZlbnRMaXN0ZW5lck1hcC5jcHAiCiAjaW5jbHVkZSAiRXZlbnROYW1lcy5jcHAi
CiAjaW5jbHVkZSAiRXZlbnRUYXJnZXQuY3BwIgpAQCAtMTAyLDYgKzEwNCw3IEBACiAjaW5jbHVk
ZSAiUHJvY2Vzc2luZ0luc3RydWN0aW9uLmNwcCIKICNpbmNsdWRlICJQcm9ncmVzc0V2ZW50LmNw
cCIKICNpbmNsdWRlICJSYW5nZS5jcHAiCisjaW5jbHVkZSAiUmFuZ2VFeGNlcHRpb24uY3BwIgog
I2luY2x1ZGUgIlJlZ2lzdGVyZWRFdmVudExpc3RlbmVyLmNwcCIKICNpbmNsdWRlICJTY29wZWRF
dmVudFF1ZXVlLmNwcCIKICNpbmNsdWRlICJTY3JpcHRFbGVtZW50LmNwcCIKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2RvbS9ET01Db3JlRXhjZXB0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9kb20vRE9NQ29yZUV4Y2VwdGlvbi5jcHAJKHJldmlzaW9uIDApCisrKyBTb3VyY2Uv
V2ViQ29yZS9kb20vRE9NQ29yZUV4Y2VwdGlvbi5jcHAJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEs
MTA5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiAgTmVpdGhlciB0aGUgbmFtZSBvZiBB
cHBsZSBDb21wdXRlciwgSW5jLiAoIkFwcGxlIikgbm9yIHRoZSBuYW1lcyBvZgorICogICAgIGl0
cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQKKyAqICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBHT09HTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJET01Db3JlRXhjZXB0aW9u
LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworLy8gRklYTUU6IFRoaXMgc2hvdWxkIGJlIGFu
IGFycmF5IG9mIHN0cnVjdHMgdG8gcGFpciB0aGUgbmFtZXMgYW5kIGRlc2NyaXB0aW9ucy4KK3N0
YXRpYyBjb25zdCBjaGFyKiBjb25zdCBjb3JlRXhjZXB0aW9uTmFtZXNbXSA9IHsKKyAgICAiSU5E
RVhfU0laRV9FUlIiLAorICAgICJET01TVFJJTkdfU0laRV9FUlIiLAorICAgICJISUVSQVJDSFlf
UkVRVUVTVF9FUlIiLAorICAgICJXUk9OR19ET0NVTUVOVF9FUlIiLAorICAgICJJTlZBTElEX0NI
QVJBQ1RFUl9FUlIiLAorICAgICJOT19EQVRBX0FMTE9XRURfRVJSIiwKKyAgICAiTk9fTU9ESUZJ
Q0FUSU9OX0FMTE9XRURfRVJSIiwKKyAgICAiTk9UX0ZPVU5EX0VSUiIsCisgICAgIk5PVF9TVVBQ
T1JURURfRVJSIiwKKyAgICAiSU5VU0VfQVRUUklCVVRFX0VSUiIsCisgICAgIklOVkFMSURfU1RB
VEVfRVJSIiwKKyAgICAiU1lOVEFYX0VSUiIsCisgICAgIklOVkFMSURfTU9ESUZJQ0FUSU9OX0VS
UiIsCisgICAgIk5BTUVTUEFDRV9FUlIiLAorICAgICJJTlZBTElEX0FDQ0VTU19FUlIiLAorICAg
ICJWQUxJREFUSU9OX0VSUiIsCisgICAgIlRZUEVfTUlTTUFUQ0hfRVJSIiwKKyAgICAiU0VDVVJJ
VFlfRVJSIiwKKyAgICAiTkVUV09SS19FUlIiLAorICAgICJBQk9SVF9FUlIiLAorICAgICJVUkxf
TUlTTUFUQ0hfRVJSIiwKKyAgICAiUVVPVEFfRVhDRUVERURfRVJSIiwKKyAgICAiVElNRU9VVF9F
UlIiLAorICAgICJJTlZBTElEX05PREVfVFlQRV9FUlIiLAorICAgICJEQVRBX0NMT05FX0VSUiIK
K307CisKK3N0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBjb3JlRXhjZXB0aW9uRGVzY3JpcHRpb25z
W10gPSB7CisgICAgIkluZGV4IG9yIHNpemUgd2FzIG5lZ2F0aXZlLCBvciBncmVhdGVyIHRoYW4g
dGhlIGFsbG93ZWQgdmFsdWUuIiwKKyAgICAiVGhlIHNwZWNpZmllZCByYW5nZSBvZiB0ZXh0IGRp
ZCBub3QgZml0IGludG8gYSBET01TdHJpbmcuIiwKKyAgICAiQSBOb2RlIHdhcyBpbnNlcnRlZCBz
b21ld2hlcmUgaXQgZG9lc24ndCBiZWxvbmcuIiwKKyAgICAiQSBOb2RlIHdhcyB1c2VkIGluIGEg
ZGlmZmVyZW50IGRvY3VtZW50IHRoYW4gdGhlIG9uZSB0aGF0IGNyZWF0ZWQgaXQgKHRoYXQgZG9l
c24ndCBzdXBwb3J0IGl0KS4iLAorICAgICJBbiBpbnZhbGlkIG9yIGlsbGVnYWwgY2hhcmFjdGVy
IHdhcyBzcGVjaWZpZWQsIHN1Y2ggYXMgaW4gYW4gWE1MIG5hbWUuIiwKKyAgICAiRGF0YSB3YXMg
c3BlY2lmaWVkIGZvciBhIE5vZGUgd2hpY2ggZG9lcyBub3Qgc3VwcG9ydCBkYXRhLiIsCisgICAg
IkFuIGF0dGVtcHQgd2FzIG1hZGUgdG8gbW9kaWZ5IGFuIG9iamVjdCB3aGVyZSBtb2RpZmljYXRp
b25zIGFyZSBub3QgYWxsb3dlZC4iLAorICAgICJBbiBhdHRlbXB0IHdhcyBtYWRlIHRvIHJlZmVy
ZW5jZSBhIE5vZGUgaW4gYSBjb250ZXh0IHdoZXJlIGl0IGRvZXMgbm90IGV4aXN0LiIsCisgICAg
IlRoZSBpbXBsZW1lbnRhdGlvbiBkaWQgbm90IHN1cHBvcnQgdGhlIHJlcXVlc3RlZCB0eXBlIG9m
IG9iamVjdCBvciBvcGVyYXRpb24uIiwKKyAgICAiQW4gYXR0ZW1wdCB3YXMgbWFkZSB0byBhZGQg
YW4gYXR0cmlidXRlIHRoYXQgaXMgYWxyZWFkeSBpbiB1c2UgZWxzZXdoZXJlLiIsCisgICAgIkFu
IGF0dGVtcHQgd2FzIG1hZGUgdG8gdXNlIGFuIG9iamVjdCB0aGF0IGlzIG5vdCwgb3IgaXMgbm8g
bG9uZ2VyLCB1c2FibGUuIiwKKyAgICAiQW4gaW52YWxpZCBvciBpbGxlZ2FsIHN0cmluZyB3YXMg
c3BlY2lmaWVkLiIsCisgICAgIkFuIGF0dGVtcHQgd2FzIG1hZGUgdG8gbW9kaWZ5IHRoZSB0eXBl
IG9mIHRoZSB1bmRlcmx5aW5nIG9iamVjdC4iLAorICAgICJBbiBhdHRlbXB0IHdhcyBtYWRlIHRv
IGNyZWF0ZSBvciBjaGFuZ2UgYW4gb2JqZWN0IGluIGEgd2F5IHdoaWNoIGlzIGluY29ycmVjdCB3
aXRoIHJlZ2FyZCB0byBuYW1lc3BhY2VzLiIsCisgICAgIkEgcGFyYW1ldGVyIG9yIGFuIG9wZXJh
dGlvbiB3YXMgbm90IHN1cHBvcnRlZCBieSB0aGUgdW5kZXJseWluZyBvYmplY3QuIiwKKyAgICAi
QSBjYWxsIHRvIGEgbWV0aG9kIHN1Y2ggYXMgaW5zZXJ0QmVmb3JlIG9yIHJlbW92ZUNoaWxkIHdv
dWxkIG1ha2UgdGhlIE5vZGUgaW52YWxpZCB3aXRoIHJlc3BlY3QgdG8gXCJwYXJ0aWFsIHZhbGlk
aXR5XCIsIHRoaXMgZXhjZXB0aW9uIHdvdWxkIGJlIHJhaXNlZCBhbmQgdGhlIG9wZXJhdGlvbiB3
b3VsZCBub3QgYmUgZG9uZS4iLAorICAgICJUaGUgdHlwZSBvZiBhbiBvYmplY3Qgd2FzIGluY29t
cGF0aWJsZSB3aXRoIHRoZSBleHBlY3RlZCB0eXBlIG9mIHRoZSBwYXJhbWV0ZXIgYXNzb2NpYXRl
ZCB0byB0aGUgb2JqZWN0LiIsCisgICAgIkFuIGF0dGVtcHQgd2FzIG1hZGUgdG8gYnJlYWsgdGhy
b3VnaCB0aGUgc2VjdXJpdHkgcG9saWN5IG9mIHRoZSB1c2VyIGFnZW50LiIsCisgICAgLy8gRklY
TUU6IENvdWxkbid0IGZpbmQgYSBkZXNjcmlwdGlvbiBpbiB0aGUgSFRNTC9ET00gc3BlY2lmaWNh
dGlvbnMgZm9yIE5FVFdPUktfRVJSLCBBQk9SVF9FUlIsIFVSTF9NSVNNQVRDSF9FUlIsIGFuZCBR
VU9UQV9FWENFRURFRF9FUlIKKyAgICAiQSBuZXR3b3JrIGVycm9yIG9jY3VyZWQuIiwKKyAgICAi
VGhlIHVzZXIgYWJvcnRlZCBhIHJlcXVlc3QuIiwKKyAgICAiQSB3b3JrZXIgZ2xvYmFsIHNjb3Bl
IHJlcHJlc2VudGVkIGFuIGFic29sdXRlIFVSTCB0aGF0IGlzIG5vdCBlcXVhbCB0byB0aGUgcmVz
dWx0aW5nIGFic29sdXRlIFVSTC4iLAorICAgICJBbiBhdHRlbXB0IHdhcyBtYWRlIHRvIGFkZCBz
b21ldGhpbmcgdG8gc3RvcmFnZSB0aGF0IGV4Y2VlZGVkIHRoZSBxdW90YS4iLAorICAgICJBIHRp
bWVvdXQgb2NjdXJyZWQuIiwKKyAgICAiVGhlIHN1cHBsaWVkIG5vZGUgaXMgaW52YWxpZCBvciBo
YXMgYW4gaW52YWxpZCBhbmNlc3RvciBmb3IgdGhpcyBvcGVyYXRpb24uIiwKKyAgICAiQW4gb2Jq
ZWN0IGNvdWxkIG5vdCBiZSBjbG9uZWQuIgorfTsKKworQ09NUElMRV9BU1NFUlQoV1RGX0FSUkFZ
X0xFTkdUSChjb3JlRXhjZXB0aW9uTmFtZXMpID09IFdURl9BUlJBWV9MRU5HVEgoY29yZUV4Y2Vw
dGlvbkRlc2NyaXB0aW9ucyksIERPTUNvcmVFeGNlcHRpb25UYWJsZXNNdXN0TWF0Y2gpOworCiti
b29sIERPTUNvcmVFeGNlcHRpb246OmluaXRpYWxpemVEZXNjcmlwdGlvbihFeGNlcHRpb25Db2Rl
IGVjLCBFeGNlcHRpb25Db2RlRGVzY3JpcHRpb24qIGRlc2NyaXB0aW9uKQoreworICAgIGRlc2Ny
aXB0aW9uLT50eXBlTmFtZSA9ICJET00iOworICAgIGRlc2NyaXB0aW9uLT5jb2RlID0gZWM7Cisg
ICAgZGVzY3JpcHRpb24tPnR5cGUgPSBET01FeGNlcHRpb25UeXBlOworCisgICAgc2l6ZV90IHRh
YmxlU2l6ZSA9IFdURl9BUlJBWV9MRU5HVEgoY29yZUV4Y2VwdGlvbk5hbWVzKTsKKyAgICBzaXpl
X3QgdGFibGVJbmRleCA9IGVjIC0gSU5ERVhfU0laRV9FUlI7CisKKyAgICBkZXNjcmlwdGlvbi0+
bmFtZSA9IHRhYmxlSW5kZXggPCB0YWJsZVNpemUgPyBjb3JlRXhjZXB0aW9uTmFtZXNbdGFibGVJ
bmRleF0gOiAwOworICAgIGRlc2NyaXB0aW9uLT5kZXNjcmlwdGlvbiA9IHRhYmxlSW5kZXggPCB0
YWJsZVNpemUgPyBjb3JlRXhjZXB0aW9uRGVzY3JpcHRpb25zW3RhYmxlSW5kZXhdIDogMDsKKwor
ICAgIHJldHVybiB0cnVlOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9kb20vRE9NQ29yZUV4Y2VwdGlvbi5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2RvbS9ET01Db3JlRXhjZXB0aW9uLmgJKHJldmlzaW9uIDk4NjcyKQorKysgU291cmNl
L1dlYkNvcmUvZG9tL0RPTUNvcmVFeGNlcHRpb24uaAkod29ya2luZyBjb3B5KQpAQCAtNDAsNiAr
NDAsOCBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgRE9NQ29yZUV4Y2Vw
dGlvbihkZXNjcmlwdGlvbikpOwogICAgIH0KIAorICAgIHN0YXRpYyBib29sIGluaXRpYWxpemVE
ZXNjcmlwdGlvbihFeGNlcHRpb25Db2RlLCBFeGNlcHRpb25Db2RlRGVzY3JpcHRpb24qKTsKKwog
cHJpdmF0ZToKICAgICBET01Db3JlRXhjZXB0aW9uKGNvbnN0IEV4Y2VwdGlvbkNvZGVEZXNjcmlw
dGlvbiYgZGVzY3JpcHRpb24pCiAgICAgICAgIDogRXhjZXB0aW9uQmFzZShkZXNjcmlwdGlvbikK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9FdmVudEV4Y2VwdGlvbi5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50RXhjZXB0aW9uLmNwcAkocmV2aXNpb24gMCkKKysr
IFNvdXJjZS9XZWJDb3JlL2RvbS9FdmVudEV4Y2VwdGlvbi5jcHAJKHJldmlzaW9uIDApCkBAIC0w
LDAgKzEsNjUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuICBOZWl0aGVyIHRoZSBuYW1l
IG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgiQXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCisgKiAg
ICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZAorICogICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEdPT0dMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAq
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkV2ZW50RXhjZXB0
aW9uLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworLy8gRklYTUU6IFRoaXMgc2hvdWxkIGJl
IGFuIGFycmF5IG9mIHN0cnVjdHMgdG8gcGFpciB0aGUgbmFtZXMgYW5kIGRlc2NyaXB0aW9ucy4K
K3N0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBldmVudEV4Y2VwdGlvbk5hbWVzW10gPSB7CisgICAg
IlVOU1BFQ0lGSUVEX0VWRU5UX1RZUEVfRVJSIiwKKyAgICAiRElTUEFUQ0hfUkVRVUVTVF9FUlIi
Cit9OworCitzdGF0aWMgY29uc3QgY2hhciogY29uc3QgZXZlbnRFeGNlcHRpb25EZXNjcmlwdGlv
bnNbXSA9IHsKKyAgICAiVGhlIEV2ZW50J3MgdHlwZSB3YXMgbm90IHNwZWNpZmllZCBieSBpbml0
aWFsaXppbmcgdGhlIGV2ZW50IGJlZm9yZSB0aGUgbWV0aG9kIHdhcyBjYWxsZWQuIiwKKyAgICAi
VGhlIEV2ZW50IG9iamVjdCBpcyBhbHJlYWR5IGJlaW5nIGRpc3BhdGNoZWQuIgorfTsKKworQ09N
UElMRV9BU1NFUlQoV1RGX0FSUkFZX0xFTkdUSChldmVudEV4Y2VwdGlvbk5hbWVzKSA9PSBXVEZf
QVJSQVlfTEVOR1RIKGV2ZW50RXhjZXB0aW9uRGVzY3JpcHRpb25zKSwgRXZlbnRFeGNlcHRpb25U
YWJsZXNNdXN0TWF0Y2gpOworCitib29sIEV2ZW50RXhjZXB0aW9uOjppbml0aWFsaXplRGVzY3Jp
cHRpb24oRXhjZXB0aW9uQ29kZSBlYywgRXhjZXB0aW9uQ29kZURlc2NyaXB0aW9uKiBkZXNjcmlw
dGlvbikKK3sKKyAgICBpZiAoZWMgPCBFdmVudEV4Y2VwdGlvbk9mZnNldCB8fCBlYyA+IEV2ZW50
RXhjZXB0aW9uTWF4KQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBkZXNjcmlwdGlvbi0+
dHlwZU5hbWUgPSAiRE9NIEV2ZW50cyI7CisgICAgZGVzY3JpcHRpb24tPmNvZGUgPSBlYyAtIEV2
ZW50RXhjZXB0aW9uT2Zmc2V0OworICAgIGRlc2NyaXB0aW9uLT50eXBlID0gRXZlbnRFeGNlcHRp
b25UeXBlOworCisgICAgc2l6ZV90IHRhYmxlU2l6ZSA9IFdURl9BUlJBWV9MRU5HVEgoZXZlbnRF
eGNlcHRpb25OYW1lcyk7CisgICAgc2l6ZV90IHRhYmxlSW5kZXggPSBlYyAtIFVOU1BFQ0lGSUVE
X0VWRU5UX1RZUEVfRVJSOworCisgICAgZGVzY3JpcHRpb24tPm5hbWUgPSB0YWJsZUluZGV4IDwg
dGFibGVTaXplID8gZXZlbnRFeGNlcHRpb25OYW1lc1t0YWJsZUluZGV4XSA6IDA7CisgICAgZGVz
Y3JpcHRpb24tPmRlc2NyaXB0aW9uID0gdGFibGVJbmRleCA8IHRhYmxlU2l6ZSA/IGV2ZW50RXhj
ZXB0aW9uRGVzY3JpcHRpb25zW3RhYmxlSW5kZXhdIDogMDsKKworICAgIHJldHVybiB0cnVlOwor
fQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRXZl
bnRFeGNlcHRpb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRFeGNl
cHRpb24uaAkocmV2aXNpb24gOTg2NzIpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRFeGNl
cHRpb24uaAkod29ya2luZyBjb3B5KQpAQCAtNDgsNiArNDgsOCBAQCBwdWJsaWM6CiAgICAgICAg
IERJU1BBVENIX1JFUVVFU1RfRVJSCiAgICAgfTsKIAorICAgIHN0YXRpYyBib29sIGluaXRpYWxp
emVEZXNjcmlwdGlvbihFeGNlcHRpb25Db2RlLCBFeGNlcHRpb25Db2RlRGVzY3JpcHRpb24qKTsK
KwogcHJpdmF0ZToKICAgICBFdmVudEV4Y2VwdGlvbihjb25zdCBFeGNlcHRpb25Db2RlRGVzY3Jp
cHRpb24mIGRlc2NyaXB0aW9uKQogICAgICAgICA6IEV4Y2VwdGlvbkJhc2UoZGVzY3JpcHRpb24p
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRXhjZXB0aW9uQmFzZS5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2RvbS9FeGNlcHRpb25CYXNlLmgJKHJldmlzaW9uIDk4NjcyKQorKysg
U291cmNlL1dlYkNvcmUvZG9tL0V4Y2VwdGlvbkJhc2UuaAkod29ya2luZyBjb3B5KQpAQCAtMjks
MzEgKzI5LDMyIEBACiAjaWZuZGVmIEV4Y2VwdGlvbkJhc2VfaAogI2RlZmluZSBFeGNlcHRpb25C
YXNlX2gKIAorI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0
cmluZy5oIgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAotICAgIHN0cnVjdCBFeGNlcHRpb25Db2RlRGVzY3JpcHRpb247CitzdHJ1Y3QgRXhjZXB0
aW9uQ29kZURlc2NyaXB0aW9uOwogCi0gICAgY2xhc3MgRXhjZXB0aW9uQmFzZSA6IHB1YmxpYyBS
ZWZDb3VudGVkPEV4Y2VwdGlvbkJhc2U+IHsKLSAgICBwdWJsaWM6Ci0gICAgICAgIHVuc2lnbmVk
IHNob3J0IGNvZGUoKSBjb25zdCB7IHJldHVybiBtX2NvZGU7IH0KLSAgICAgICAgU3RyaW5nIG5h
bWUoKSBjb25zdCB7IHJldHVybiBtX25hbWU7IH0KLSAgICAgICAgU3RyaW5nIG1lc3NhZ2UoKSBj
b25zdCB7IHJldHVybiBtX21lc3NhZ2U7IH0KLSAgICAgICAgU3RyaW5nIGRlc2NyaXB0aW9uKCkg
Y29uc3QgeyByZXR1cm4gbV9kZXNjcmlwdGlvbjsgfQotCi0gICAgICAgIFN0cmluZyB0b1N0cmlu
ZygpIGNvbnN0OwotCi0gICAgcHJvdGVjdGVkOgotICAgICAgICBFeGNlcHRpb25CYXNlKGNvbnN0
IEV4Y2VwdGlvbkNvZGVEZXNjcmlwdGlvbiYpOwotCi0gICAgcHJpdmF0ZToKLSAgICAgICAgdW5z
aWduZWQgc2hvcnQgbV9jb2RlOwotICAgICAgICBTdHJpbmcgbV9uYW1lOwotICAgICAgICBTdHJp
bmcgbV9tZXNzYWdlOwotICAgICAgICBTdHJpbmcgbV9kZXNjcmlwdGlvbjsKLSAgICB9OworY2xh
c3MgRXhjZXB0aW9uQmFzZSA6IHB1YmxpYyBSZWZDb3VudGVkPEV4Y2VwdGlvbkJhc2U+IHsKK3B1
YmxpYzoKKyAgICB1bnNpZ25lZCBzaG9ydCBjb2RlKCkgY29uc3QgeyByZXR1cm4gbV9jb2RlOyB9
CisgICAgU3RyaW5nIG5hbWUoKSBjb25zdCB7IHJldHVybiBtX25hbWU7IH0KKyAgICBTdHJpbmcg
bWVzc2FnZSgpIGNvbnN0IHsgcmV0dXJuIG1fbWVzc2FnZTsgfQorICAgIFN0cmluZyBkZXNjcmlw
dGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fZGVzY3JpcHRpb247IH0KKworICAgIFN0cmluZyB0b1N0
cmluZygpIGNvbnN0OworCitwcm90ZWN0ZWQ6CisgICAgRXhjZXB0aW9uQmFzZShjb25zdCBFeGNl
cHRpb25Db2RlRGVzY3JpcHRpb24mKTsKKworcHJpdmF0ZToKKyAgICB1bnNpZ25lZCBzaG9ydCBt
X2NvZGU7CisgICAgU3RyaW5nIG1fbmFtZTsKKyAgICBTdHJpbmcgbV9tZXNzYWdlOworICAgIFN0
cmluZyBtX2Rlc2NyaXB0aW9uOworfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9kb20vRXhjZXB0aW9uQ29kZS5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvZG9tL0V4Y2VwdGlvbkNvZGUuY3BwCShyZXZpc2lvbiA5ODY3MikKKysrIFNv
dXJjZS9XZWJDb3JlL2RvbS9FeGNlcHRpb25Db2RlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjYs
MzQ4ICsyNiw2NSBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkV4Y2VwdGlvbkNv
ZGUuaCIKIAorI2luY2x1ZGUgIkRPTUNvcmVFeGNlcHRpb24uaCIKICNpbmNsdWRlICJFdmVudEV4
Y2VwdGlvbi5oIgotI2luY2x1ZGUgIklEQkRhdGFiYXNlRXhjZXB0aW9uLmgiCi0jaW5jbHVkZSAi
UmFuZ2VFeGNlcHRpb24uaCIKLSNpbmNsdWRlICJYTUxIdHRwUmVxdWVzdEV4Y2VwdGlvbi5oIgot
I2luY2x1ZGUgIlhQYXRoRXhjZXB0aW9uLmgiCi0KLSNpZiBFTkFCTEUoU1ZHKQotI2luY2x1ZGUg
IlNWR0V4Y2VwdGlvbi5oIgorI2lmIEVOQUJMRShCTE9CKQorI2luY2x1ZGUgIkZpbGVFeGNlcHRp
b24uaCIKICNlbmRpZgotCi0jaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKLSNpbmNsdWRlICJTUUxF
eGNlcHRpb24uaCIKKyNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKKyNpbmNsdWRlICJJREJE
YXRhYmFzZUV4Y2VwdGlvbi5oIgogI2VuZGlmCi0KLSNpZiBFTkFCTEUoQkxPQikgfHwgRU5BQkxF
KEZJTEVfU1lTVEVNKQotI2luY2x1ZGUgIkZpbGVFeGNlcHRpb24uaCIKKyNpZiBFTkFCTEUoQkxP
QikKICNpbmNsdWRlICJPcGVyYXRpb25Ob3RBbGxvd2VkRXhjZXB0aW9uLmgiCiAjZW5kaWYKLQot
bmFtZXNwYWNlIFdlYkNvcmUgewotCi1zdGF0aWMgY29uc3QgY2hhciogY29uc3QgZXhjZXB0aW9u
TmFtZXNbXSA9IHsKLSAgICAiSU5ERVhfU0laRV9FUlIiLAotICAgICJET01TVFJJTkdfU0laRV9F
UlIiLAotICAgICJISUVSQVJDSFlfUkVRVUVTVF9FUlIiLAotICAgICJXUk9OR19ET0NVTUVOVF9F
UlIiLAotICAgICJJTlZBTElEX0NIQVJBQ1RFUl9FUlIiLAotICAgICJOT19EQVRBX0FMTE9XRURf
RVJSIiwKLSAgICAiTk9fTU9ESUZJQ0FUSU9OX0FMTE9XRURfRVJSIiwKLSAgICAiTk9UX0ZPVU5E
X0VSUiIsCi0gICAgIk5PVF9TVVBQT1JURURfRVJSIiwKLSAgICAiSU5VU0VfQVRUUklCVVRFX0VS
UiIsCi0gICAgIklOVkFMSURfU1RBVEVfRVJSIiwKLSAgICAiU1lOVEFYX0VSUiIsCi0gICAgIklO
VkFMSURfTU9ESUZJQ0FUSU9OX0VSUiIsCi0gICAgIk5BTUVTUEFDRV9FUlIiLAotICAgICJJTlZB
TElEX0FDQ0VTU19FUlIiLAotICAgICJWQUxJREFUSU9OX0VSUiIsCi0gICAgIlRZUEVfTUlTTUFU
Q0hfRVJSIiwKLSAgICAiU0VDVVJJVFlfRVJSIiwKLSAgICAiTkVUV09SS19FUlIiLAotICAgICJB
Qk9SVF9FUlIiLAotICAgICJVUkxfTUlTTUFUQ0hfRVJSIiwKLSAgICAiUVVPVEFfRVhDRUVERURf
RVJSIiwKLSAgICAiVElNRU9VVF9FUlIiLAotICAgICJJTlZBTElEX05PREVfVFlQRV9FUlIiLAot
ICAgICJEQVRBX0NMT05FX0VSUiIKLX07Ci0KLXN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBleGNl
cHRpb25EZXNjcmlwdGlvbnNbXSA9IHsKLSAgICAiSW5kZXggb3Igc2l6ZSB3YXMgbmVnYXRpdmUs
IG9yIGdyZWF0ZXIgdGhhbiB0aGUgYWxsb3dlZCB2YWx1ZS4iLAotICAgICJUaGUgc3BlY2lmaWVk
IHJhbmdlIG9mIHRleHQgZGlkIG5vdCBmaXQgaW50byBhIERPTVN0cmluZy4iLAotICAgICJBIE5v
ZGUgd2FzIGluc2VydGVkIHNvbWV3aGVyZSBpdCBkb2Vzbid0IGJlbG9uZy4iLAotICAgICJBIE5v
ZGUgd2FzIHVzZWQgaW4gYSBkaWZmZXJlbnQgZG9jdW1lbnQgdGhhbiB0aGUgb25lIHRoYXQgY3Jl
YXRlZCBpdCAodGhhdCBkb2Vzbid0IHN1cHBvcnQgaXQpLiIsCi0gICAgIkFuIGludmFsaWQgb3Ig
aWxsZWdhbCBjaGFyYWN0ZXIgd2FzIHNwZWNpZmllZCwgc3VjaCBhcyBpbiBhbiBYTUwgbmFtZS4i
LAotICAgICJEYXRhIHdhcyBzcGVjaWZpZWQgZm9yIGEgTm9kZSB3aGljaCBkb2VzIG5vdCBzdXBw
b3J0IGRhdGEuIiwKLSAgICAiQW4gYXR0ZW1wdCB3YXMgbWFkZSB0byBtb2RpZnkgYW4gb2JqZWN0
IHdoZXJlIG1vZGlmaWNhdGlvbnMgYXJlIG5vdCBhbGxvd2VkLiIsCi0gICAgIkFuIGF0dGVtcHQg
d2FzIG1hZGUgdG8gcmVmZXJlbmNlIGEgTm9kZSBpbiBhIGNvbnRleHQgd2hlcmUgaXQgZG9lcyBu
b3QgZXhpc3QuIiwKLSAgICAiVGhlIGltcGxlbWVudGF0aW9uIGRpZCBub3Qgc3VwcG9ydCB0aGUg
cmVxdWVzdGVkIHR5cGUgb2Ygb2JqZWN0IG9yIG9wZXJhdGlvbi4iLAotICAgICJBbiBhdHRlbXB0
IHdhcyBtYWRlIHRvIGFkZCBhbiBhdHRyaWJ1dGUgdGhhdCBpcyBhbHJlYWR5IGluIHVzZSBlbHNl
d2hlcmUuIiwKLSAgICAiQW4gYXR0ZW1wdCB3YXMgbWFkZSB0byB1c2UgYW4gb2JqZWN0IHRoYXQg
aXMgbm90LCBvciBpcyBubyBsb25nZXIsIHVzYWJsZS4iLAotICAgICJBbiBpbnZhbGlkIG9yIGls
bGVnYWwgc3RyaW5nIHdhcyBzcGVjaWZpZWQuIiwKLSAgICAiQW4gYXR0ZW1wdCB3YXMgbWFkZSB0
byBtb2RpZnkgdGhlIHR5cGUgb2YgdGhlIHVuZGVybHlpbmcgb2JqZWN0LiIsCi0gICAgIkFuIGF0
dGVtcHQgd2FzIG1hZGUgdG8gY3JlYXRlIG9yIGNoYW5nZSBhbiBvYmplY3QgaW4gYSB3YXkgd2hp
Y2ggaXMgaW5jb3JyZWN0IHdpdGggcmVnYXJkIHRvIG5hbWVzcGFjZXMuIiwKLSAgICAiQSBwYXJh
bWV0ZXIgb3IgYW4gb3BlcmF0aW9uIHdhcyBub3Qgc3VwcG9ydGVkIGJ5IHRoZSB1bmRlcmx5aW5n
IG9iamVjdC4iLAotICAgICJBIGNhbGwgdG8gYSBtZXRob2Qgc3VjaCBhcyBpbnNlcnRCZWZvcmUg
b3IgcmVtb3ZlQ2hpbGQgd291bGQgbWFrZSB0aGUgTm9kZSBpbnZhbGlkIHdpdGggcmVzcGVjdCB0
byBcInBhcnRpYWwgdmFsaWRpdHlcIiwgdGhpcyBleGNlcHRpb24gd291bGQgYmUgcmFpc2VkIGFu
ZCB0aGUgb3BlcmF0aW9uIHdvdWxkIG5vdCBiZSBkb25lLiIsCi0gICAgIlRoZSB0eXBlIG9mIGFu
IG9iamVjdCB3YXMgaW5jb21wYXRpYmxlIHdpdGggdGhlIGV4cGVjdGVkIHR5cGUgb2YgdGhlIHBh
cmFtZXRlciBhc3NvY2lhdGVkIHRvIHRoZSBvYmplY3QuIiwKLSAgICAiQW4gYXR0ZW1wdCB3YXMg
bWFkZSB0byBicmVhayB0aHJvdWdoIHRoZSBzZWN1cml0eSBwb2xpY3kgb2YgdGhlIHVzZXIgYWdl
bnQuIiwKLSAgICAvLyBGSVhNRTogQ291bGRuJ3QgZmluZCBhIGRlc2NyaXB0aW9uIGluIHRoZSBI
VE1ML0RPTSBzcGVjaWZpY2F0aW9ucyBmb3IgTkVUV09SS19FUlIsIEFCT1JUX0VSUiwgVVJMX01J
U01BVENIX0VSUiwgYW5kIFFVT1RBX0VYQ0VFREVEX0VSUgotICAgICJBIG5ldHdvcmsgZXJyb3Ig
b2NjdXJlZC4iLAotICAgICJUaGUgdXNlciBhYm9ydGVkIGEgcmVxdWVzdC4iLAotICAgICJBIHdv
cmtlciBnbG9iYWwgc2NvcGUgcmVwcmVzZW50ZWQgYW4gYWJzb2x1dGUgVVJMIHRoYXQgaXMgbm90
IGVxdWFsIHRvIHRoZSByZXN1bHRpbmcgYWJzb2x1dGUgVVJMLiIsCi0gICAgIkFuIGF0dGVtcHQg
d2FzIG1hZGUgdG8gYWRkIHNvbWV0aGluZyB0byBzdG9yYWdlIHRoYXQgZXhjZWVkZWQgdGhlIHF1
b3RhLiIsCi0gICAgIkEgdGltZW91dCBvY2N1cnJlZC4iLAotICAgICJUaGUgc3VwcGxpZWQgbm9k
ZSBpcyBpbnZhbGlkIG9yIGhhcyBhbiBpbnZhbGlkIGFuY2VzdG9yIGZvciB0aGlzIG9wZXJhdGlv
bi4iLAotICAgICJBbiBvYmplY3QgY291bGQgbm90IGJlIGNsb25lZC4iCi19OwotCi1zdGF0aWMg
Y29uc3QgY2hhciogY29uc3QgcmFuZ2VFeGNlcHRpb25OYW1lc1tdID0gewotICAgICJCQURfQk9V
TkRBUllQT0lOVFNfRVJSIiwKLSAgICAiSU5WQUxJRF9OT0RFX1RZUEVfRVJSIgotfTsKLQotc3Rh
dGljIGNvbnN0IGNoYXIqIGNvbnN0IHJhbmdlRXhjZXB0aW9uRGVzY3JpcHRpb25zW10gPSB7Ci0g
ICAgIlRoZSBib3VuZGFyeS1wb2ludHMgb2YgYSBSYW5nZSBkaWQgbm90IG1lZXQgc3BlY2lmaWMg
cmVxdWlyZW1lbnRzLiIsCi0gICAgIlRoZSBjb250YWluZXIgb2YgYW4gYm91bmRhcnktcG9pbnQg
b2YgYSBSYW5nZSB3YXMgYmVpbmcgc2V0IHRvIGVpdGhlciBhIG5vZGUgb2YgYW4gaW52YWxpZCB0
eXBlIG9yIGEgbm9kZSB3aXRoIGFuIGFuY2VzdG9yIG9mIGFuIGludmFsaWQgdHlwZS4iCi19Owot
Ci1zdGF0aWMgY29uc3QgY2hhciogY29uc3QgZXZlbnRFeGNlcHRpb25OYW1lc1tdID0gewotICAg
ICJVTlNQRUNJRklFRF9FVkVOVF9UWVBFX0VSUiIsCi0gICAgIkRJU1BBVENIX1JFUVVFU1RfRVJS
IgotfTsKLQotc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IGV2ZW50RXhjZXB0aW9uRGVzY3JpcHRp
b25zW10gPSB7Ci0gICAgIlRoZSBFdmVudCdzIHR5cGUgd2FzIG5vdCBzcGVjaWZpZWQgYnkgaW5p
dGlhbGl6aW5nIHRoZSBldmVudCBiZWZvcmUgdGhlIG1ldGhvZCB3YXMgY2FsbGVkLiIsCi0gICAg
IlRoZSBFdmVudCBvYmplY3QgaXMgYWxyZWFkeSBiZWluZyBkaXNwYXRjaGVkLiIKLX07Ci0KLXN0
YXRpYyBjb25zdCBjaGFyKiBjb25zdCB4bWxIdHRwUmVxdWVzdEV4Y2VwdGlvbk5hbWVzW10gPSB7
Ci0gICAgIk5FVFdPUktfRVJSIiwKLSAgICAiQUJPUlRfRVJSIgotfTsKLQotc3RhdGljIGNvbnN0
IGNoYXIqIGNvbnN0IHhtbEh0dHBSZXF1ZXN0RXhjZXB0aW9uRGVzY3JpcHRpb25zW10gPSB7Ci0g
ICAgIkEgbmV0d29yayBlcnJvciBvY2N1cmVkIGluIHN5bmNocm9ub3VzIHJlcXVlc3RzLiIsCi0g
ICAgIlRoZSB1c2VyIGFib3J0ZWQgYSByZXF1ZXN0IGluIHN5bmNocm9ub3VzIHJlcXVlc3RzLiIK
LX07Ci0KLXN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCB4cGF0aEV4Y2VwdGlvbk5hbWVzW10gPSB7
Ci0gICAgIklOVkFMSURfRVhQUkVTU0lPTl9FUlIiLAotICAgICJUWVBFX0VSUiIKLX07Ci0KLXN0
YXRpYyBjb25zdCBjaGFyKiBjb25zdCB4cGF0aEV4Y2VwdGlvbkRlc2NyaXB0aW9uc1tdID0gewot
ICAgICJUaGUgZXhwcmVzc2lvbiBoYWQgYSBzeW50YXggZXJyb3Igb3Igb3RoZXJ3aXNlIGlzIG5v
dCBhIGxlZ2FsIGV4cHJlc3Npb24gYWNjb3JkaW5nIHRvIHRoZSBydWxlcyBvZiB0aGUgc3BlY2lm
aWMgWFBhdGhFdmFsdWF0b3IuIiwKLSAgICAiVGhlIGV4cHJlc3Npb24gY291bGQgbm90IGJlIGNv
bnZlcnRlZCB0byByZXR1cm4gdGhlIHNwZWNpZmllZCB0eXBlLiIKLX07Ci0KLSNpZiBFTkFCTEUo
U1ZHKQotc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IHN2Z0V4Y2VwdGlvbk5hbWVzW10gPSB7Ci0g
ICAgIlNWR19XUk9OR19UWVBFX0VSUiIsCi0gICAgIlNWR19JTlZBTElEX1ZBTFVFX0VSUiIsCi0g
ICAgIlNWR19NQVRSSVhfTk9UX0lOVkVSVEFCTEUiCi19OwotCi1zdGF0aWMgY29uc3QgY2hhciog
Y29uc3Qgc3ZnRXhjZXB0aW9uRGVzY3JpcHRpb25zW10gPSB7Ci0gICAgIkFuIG9iamVjdCBvZiB0
aGUgd3JvbmcgdHlwZSB3YXMgcGFzc2VkIHRvIGFuIG9wZXJhdGlvbi4iLAotICAgICJBbiBpbnZh
bGlkIHZhbHVlIHdhcyBwYXNzZWQgdG8gYW4gb3BlcmF0aW9uIG9yIGFzc2lnbmVkIHRvIGFuIGF0
dHJpYnV0ZS4iLAotICAgICJBbiBhdHRlbXB0IHdhcyBtYWRlIHRvIGludmVydCBhIG1hdHJpeCB0
aGF0IGlzIG5vdCBpbnZlcnRpYmxlLiIKLX07Ci0jZW5kaWYKLQorI2luY2x1ZGUgIlJhbmdlRXhj
ZXB0aW9uLmgiCiAjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKLXN0YXRpYyBjb25zdCBjaGFyKiBj
b25zdCBzcWxFeGNlcHRpb25OYW1lc1tdID0gewotICAgICJVTktOT1dOX0VSUiIsCi0gICAgIkRB
VEFCQVNFX0VSUiIsCi0gICAgIlZFUlNJT05fRVJSIiwKLSAgICAiVE9PX0xBUkdFX0VSUiIsCi0g
ICAgIlFVT1RBX0VSUiIsCi0gICAgIlNZTlRBWF9FUlIiLAotICAgICJDT05TVFJBSU5UX0VSUiIs
Ci0gICAgIlRJTUVPVVRfRVJSIgotfTsKLQotc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IHNxbEV4
Y2VwdGlvbkRlc2NyaXB0aW9uc1tdID0gewotICAgICJUaGUgb3BlcmF0aW9uIGZhaWxlZCBmb3Ig
cmVhc29ucyB1bnJlbGF0ZWQgdG8gdGhlIGRhdGFiYXNlLiIsCi0gICAgIlRoZSBvcGVyYXRpb24g
ZmFpbGVkIGZvciBzb21lIHJlYXNvbiByZWxhdGVkIHRvIHRoZSBkYXRhYmFzZS4iLAotICAgICJU
aGUgYWN0dWFsIGRhdGFiYXNlIHZlcnNpb24gZGlkIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgdmVy
c2lvbi4iLAotICAgICJEYXRhIHJldHVybmVkIGZyb20gdGhlIGRhdGFiYXNlIGlzIHRvbyBsYXJn
ZS4iLAotICAgICJRdW90YSB3YXMgZXhjZWVkZWQuIiwKLSAgICAiSW52YWxpZCBvciB1bmF1dGhv
cml6ZWQgc3RhdGVtZW50OyBvciB0aGUgbnVtYmVyIG9mIGFyZ3VtZW50cyBkaWQgbm90IG1hdGNo
IHRoZSBudW1iZXIgb2YgPyBwbGFjZWhvbGRlcnMuIiwKLSAgICAiQSBjb25zdHJhaW50IHdhcyB2
aW9sYXRlZC4iLAotICAgICJBIHRyYW5zYWN0aW9uIGxvY2sgY291bGQgbm90IGJlIGFjcXVpcmVk
IGluIGEgcmVhc29uYWJsZSB0aW1lLiIKLX07CisjaW5jbHVkZSAiU1FMRXhjZXB0aW9uLmgiCiAj
ZW5kaWYKLQotI2lmIEVOQUJMRShCTE9CKSB8fCBFTkFCTEUoRklMRV9TWVNURU0pCi1zdGF0aWMg
Y29uc3QgY2hhciogY29uc3QgZmlsZUV4Y2VwdGlvbk5hbWVzW10gPSB7Ci0gICAgIk5PVF9GT1VO
RF9FUlIiLAotICAgICJTRUNVUklUWV9FUlIiLAotICAgICJBQk9SVF9FUlIiLAotICAgICJOT1Rf
UkVBREFCTEVfRVJSIiwKLSAgICAiRU5DT0RJTkdfRVJSIiwKLSAgICAiTk9fTU9ESUZJQ0FUSU9O
X0FMTE9XRURfRVJSIiwKLSAgICAiSU5WQUxJRF9TVEFURV9FUlIiLAotICAgICJTWU5UQVhfRVJS
IiwKLSAgICAiSU5WQUxJRF9NT0RJRklDQVRJT05fRVJSIiwKLSAgICAiUVVPVEFfRVhDRUVERURf
RVJSIiwKLSAgICAiVFlQRV9NSVNNQVRDSF9FUlIiLAotICAgICJQQVRIX0VYSVNUU19FUlIiCi19
OwotCi1zdGF0aWMgY29uc3QgY2hhciogY29uc3QgZmlsZUV4Y2VwdGlvbkRlc2NyaXB0aW9uc1td
ID0gewotICAgICJBIHJlcXVlc3RlZCBmaWxlIG9yIGRpcmVjdG9yeSBjb3VsZCBub3QgYmUgZm91
bmQgYXQgdGhlIHRpbWUgYW4gb3BlcmF0aW9uIHdhcyBwcm9jZXNzZWQuIiwKLSAgICAiSXQgd2Fz
IGRldGVybWluZWQgdGhhdCBjZXJ0YWluIGZpbGVzIGFyZSB1bnNhZmUgZm9yIGFjY2VzcyB3aXRo
aW4gYSBXZWIgYXBwbGljYXRpb24sIG9yIHRoYXQgdG9vIG1hbnkgY2FsbHMgYXJlIGJlaW5nIG1h
ZGUgb24gZmlsZSByZXNvdXJjZXMuIiwKLSAgICAiQW4gb25nb2luZyBvcGVyYXRpb24gd2FzIGFi
b3J0ZWQsIHR5cGljYWxseSB3aXRoIGEgY2FsbCB0byBhYm9ydCgpLiIsCi0gICAgIlRoZSByZXF1
ZXN0ZWQgZmlsZSBjb3VsZCBub3QgYmUgcmVhZCwgdHlwaWNhbGx5IGR1ZSB0byBwZXJtaXNzaW9u
IHByb2JsZW1zIHRoYXQgaGF2ZSBvY2N1cmVkIGFmdGVyIGEgcmVmZXJlbmNlIHRvIGEgZmlsZSB3
YXMgYWNxdWlyZWQuIiwKLSAgICAiQSBVUkkgc3VwcGxpZWQgdG8gdGhlIEFQSSB3YXMgbWFsZm9y
bWVkLCBvciB0aGUgcmVzdWx0aW5nIERhdGEgVVJMIGhhcyBleGNlZWRlZCB0aGUgVVJMIGxlbmd0
aCBsaW1pdGF0aW9ucyBmb3IgRGF0YSBVUkxzLiIsCi0gICAgIkFuIGF0dGVtcHQgd2FzIG1hZGUg
dG8gd3JpdGUgdG8gYSBmaWxlIG9yIGRpcmVjdG9yeSB3aGljaCBjb3VsZCBub3QgYmUgbW9kaWZp
ZWQgZHVlIHRvIHRoZSBzdGF0ZSBvZiB0aGUgdW5kZXJseWluZyBmaWxlc3lzdGVtLiIsCi0gICAg
IkFuIG9wZXJhdGlvbiB0aGF0IGRlcGVuZHMgb24gc3RhdGUgY2FjaGVkIGluIGFuIGludGVyZmFj
ZSBvYmplY3Qgd2FzIG1hZGUgYnV0IHRoZSBzdGF0ZSBoYWQgY2hhbmdlZCBzaW5jZSBpdCB3YXMg
cmVhZCBmcm9tIGRpc2suIiwKLSAgICAiQW4gaW52YWxpZCBvciB1bnN1cHBvcnRlZCBhcmd1bWVu
dCB3YXMgZ2l2ZW4sIGxpa2UgYW4gaW52YWxpZCBsaW5lIGVuZGluZyBzcGVjaWZpZXIuIiwKLSAg
ICAiVGhlIG1vZGlmaWNhdGlvbiByZXF1ZXN0IHdhcyBpbGxlZ2FsLiIsCi0gICAgIlRoZSBvcGVy
YXRpb24gZmFpbGVkIGJlY2F1c2UgaXQgd291bGQgY2F1c2UgdGhlIGFwcGxpY2F0aW9uIHRvIGV4
Y2VlZCBpdHMgc3RvcmFnZSBxdW90YS4iLAotICAgICJUaGUgcGF0aCBzdXBwbGllZCBleGlzdHMs
IGJ1dCB3YXMgbm90IGFuIGVudHJ5IG9mIHJlcXVlc3RlZCB0eXBlLiIsCi0gICAgIkFuIGF0dGVt
cHQgd2FzIG1hZGUgdG8gY3JlYXRlIGEgZmlsZSBvciBkaXJlY3Rvcnkgd2hlcmUgYW4gZWxlbWVu
dCBhbHJlYWR5IGV4aXN0cy4iCi19OwotCi1zdGF0aWMgY29uc3QgY2hhciogY29uc3Qgb3BlcmF0
aW9uTm90QWxsb3dlZEV4Y2VwdGlvbk5hbWVzW10gPSB7Ci0gICAgIk5PVF9BTExPV0VEX0VSUiIK
LX07Ci0KLXN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBvcGVyYXRpb25Ob3RBbGxvd2VkRXhjZXB0
aW9uRGVzY3JpcHRpb25zW10gPSB7Ci0gICAgIkEgcmVhZCBtZXRob2Qgd2FzIGNhbGxlZCB3aGls
ZSB0aGUgb2JqZWN0IHdhcyBpbiB0aGUgTE9BRElORyBzdGF0ZSBkdWUgdG8gYSBwcmV2aW91cyBy
ZWFkIGNhbGwuIgotfTsKKyNpZiBFTkFCTEUoU1ZHKQorI2luY2x1ZGUgIlNWR0V4Y2VwdGlvbi5o
IgogI2VuZGlmCisjaW5jbHVkZSAiWE1MSHR0cFJlcXVlc3RFeGNlcHRpb24uaCIKKyNpbmNsdWRl
ICJYUGF0aEV4Y2VwdGlvbi5oIgogCi0jaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCi1zdGF0
aWMgY29uc3QgY2hhciogY29uc3QgaWRiRGF0YWJhc2VFeGNlcHRpb25OYW1lc1tdID0gewotICAg
ICJVTktOT1dOX0VSUiIsCi0gICAgIk5PTl9UUkFOU0lFTlRfRVJSIiwKLSAgICAiTk9UX0ZPVU5E
X0VSUiIsCi0gICAgIkNPTlNUUkFJTlRfRVJSIiwKLSAgICAiREFUQV9FUlIiLAotICAgICJOT1Rf
QUxMT1dFRF9FUlIiLAotICAgICJTRVJJQUxfRVJSIiwKLSAgICAiUkVDT1ZFUkFCTEVfRVJSIiwK
LSAgICAiVFJBTlNJRU5UX0VSUiIsCi0gICAgIlRJTUVPVVRfRVJSIiwKLSAgICAiREVBRExPQ0tf
RVJSIiwKLSAgICAiUkVBRF9PTkxZX0VSUiIsCi0gICAgIkFCT1JUX0VSUiIKLX07Ci0KLXN0YXRp
YyBjb25zdCBjaGFyKiBjb25zdCBpZGJEYXRhYmFzZUV4Y2VwdGlvbkRlc2NyaXB0aW9uc1tdID0g
ewotICAgICJBbiB1bmtub3duIGVycm9yIG9jY3VycmVkIHdpdGhpbiBJbmRleGVkIERhdGFiYXNl
LiIsCi0gICAgIk5PTl9UUkFOU0lFTlRfRVJSIiwgLy8gRklYTUU6IFdyaXRlIGEgYmV0dGVyIG1l
c3NhZ2UgaWYgaXQncyBldmVyIHBvc3NpYmxlIHRoaXMgaXMgdGhyb3duLgotICAgICJUaGUgbmFt
ZSBzdXBwbGllZCBkb2VzIG5vdCBtYXRjaCBhbnkgZXhpc3RpbmcgaXRlbS4iLAotICAgICJUaGUg
cmVxdWVzdCBjYW5ub3QgYmUgY29tcGxldGVkIGR1ZSB0byBhIGZhaWxlZCBjb25zdHJhaW50LiIs
Ci0gICAgIlRoZSBkYXRhIHByb3ZpZGVkIGRvZXMgbm90IG1lZXQgdGhlIHJlcXVpcmVtZW50cyBv
ZiB0aGUgZnVuY3Rpb24uIiwKLSAgICAiVGhpcyBmdW5jdGlvbiBpcyBub3QgYWxsb3dlZCB0byBi
ZSBjYWxsZWQgaW4gc3VjaCBhIGNvbnRleHQuIiwKLSAgICAiVGhlIGRhdGEgc3VwcGxpZWQgY2Fu
bm90IGJlIHNlcmlhbGl6ZWQgYWNjb3JkaW5nIHRvIHRoZSBzdHJ1Y3R1cmVkIGNsb25pbmcgYWxn
b3JpdGhtLiIsCi0gICAgIlJFQ09WRVJBQkxFX0VSUiIsIC8vIEZJWE1FOiBUaGlzIGlzbid0IGV2
ZW4gdXNlZC4KLSAgICAiVFJBTlNJRU5UX0VSUiIsIC8vIEZJWE1FOiBUaGlzIGlzbid0IGV2ZW4g
dXNlZC4KLSAgICAiVElNRU9VVF9FUlIiLCAvLyBUaGlzIGNhbid0IGJlIHRocm93bi4KLSAgICAi
REVBRExPQ0tfRVJSIiwgLy8gVGhpcyBjYW4ndCBiZSB0aHJvd24uCi0gICAgIldyaXRlIG9wZXJh
dGlvbnMgY2Fubm90IGJlIHByZWZvcm1lZCBvbiBhIHJlYWQtb25seSB0cmFuc2FjdGlvbi4iLAot
ICAgICJUaGUgdHJhbnNhY3Rpb24gd2FzIGFib3J0ZWQsIHNvIHRoZSByZXF1ZXN0IGNhbm5vdCBi
ZSBmdWxmaWxsZWQuIgotfTsKLSNlbmRpZgorbmFtZXNwYWNlIFdlYkNvcmUgewogCiB2b2lkIGdl
dEV4Y2VwdGlvbkNvZGVEZXNjcmlwdGlvbihFeGNlcHRpb25Db2RlIGVjLCBFeGNlcHRpb25Db2Rl
RGVzY3JpcHRpb24mIGRlc2NyaXB0aW9uKQogewogICAgIEFTU0VSVChlYyk7CiAKLSAgICBjb25z
dCBjaGFyKiB0eXBlTmFtZTsKLSAgICBpbnQgY29kZSA9IGVjOwotICAgIGNvbnN0IGNoYXIqIGNv
bnN0KiBuYW1lVGFibGU7Ci0gICAgY29uc3QgY2hhciogY29uc3QqIGRlc2NyaXB0aW9uVGFibGU7
Ci0gICAgaW50IG5hbWVUYWJsZVNpemU7Ci0gICAgaW50IG5hbWVUYWJsZU9mZnNldDsKLSAgICBF
eGNlcHRpb25UeXBlIHR5cGU7Ci0KLSAgICBpZiAoY29kZSA+PSBSYW5nZUV4Y2VwdGlvbjo6UmFu
Z2VFeGNlcHRpb25PZmZzZXQgJiYgY29kZSA8PSBSYW5nZUV4Y2VwdGlvbjo6UmFuZ2VFeGNlcHRp
b25NYXgpIHsKLSAgICAgICAgdHlwZSA9IFJhbmdlRXhjZXB0aW9uVHlwZTsKLSAgICAgICAgdHlw
ZU5hbWUgPSAiRE9NIFJhbmdlIjsKLSAgICAgICAgY29kZSAtPSBSYW5nZUV4Y2VwdGlvbjo6UmFu
Z2VFeGNlcHRpb25PZmZzZXQ7Ci0gICAgICAgIG5hbWVUYWJsZSA9IHJhbmdlRXhjZXB0aW9uTmFt
ZXM7Ci0gICAgICAgIGRlc2NyaXB0aW9uVGFibGUgPSByYW5nZUV4Y2VwdGlvbkRlc2NyaXB0aW9u
czsKLSAgICAgICAgbmFtZVRhYmxlU2l6ZSA9IFdURl9BUlJBWV9MRU5HVEgocmFuZ2VFeGNlcHRp
b25OYW1lcyk7Ci0gICAgICAgIG5hbWVUYWJsZU9mZnNldCA9IFJhbmdlRXhjZXB0aW9uOjpCQURf
Qk9VTkRBUllQT0lOVFNfRVJSOwotICAgIH0gZWxzZSBpZiAoY29kZSA+PSBFdmVudEV4Y2VwdGlv
bjo6RXZlbnRFeGNlcHRpb25PZmZzZXQgJiYgY29kZSA8PSBFdmVudEV4Y2VwdGlvbjo6RXZlbnRF
eGNlcHRpb25NYXgpIHsKLSAgICAgICAgdHlwZSA9IEV2ZW50RXhjZXB0aW9uVHlwZTsKLSAgICAg
ICAgdHlwZU5hbWUgPSAiRE9NIEV2ZW50cyI7Ci0gICAgICAgIGNvZGUgLT0gRXZlbnRFeGNlcHRp
b246OkV2ZW50RXhjZXB0aW9uT2Zmc2V0OwotICAgICAgICBuYW1lVGFibGUgPSBldmVudEV4Y2Vw
dGlvbk5hbWVzOwotICAgICAgICBkZXNjcmlwdGlvblRhYmxlID0gZXZlbnRFeGNlcHRpb25EZXNj
cmlwdGlvbnM7Ci0gICAgICAgIG5hbWVUYWJsZVNpemUgPSBXVEZfQVJSQVlfTEVOR1RIKGV2ZW50
RXhjZXB0aW9uTmFtZXMpOwotICAgICAgICBuYW1lVGFibGVPZmZzZXQgPSBFdmVudEV4Y2VwdGlv
bjo6VU5TUEVDSUZJRURfRVZFTlRfVFlQRV9FUlI7Ci0gICAgfSBlbHNlIGlmIChjb2RlID49IFhN
TEh0dHBSZXF1ZXN0RXhjZXB0aW9uOjpYTUxIdHRwUmVxdWVzdEV4Y2VwdGlvbk9mZnNldCAmJiBj
b2RlIDw9IFhNTEh0dHBSZXF1ZXN0RXhjZXB0aW9uOjpYTUxIdHRwUmVxdWVzdEV4Y2VwdGlvbk1h
eCkgewotICAgICAgICB0eXBlID0gWE1MSHR0cFJlcXVlc3RFeGNlcHRpb25UeXBlOwotICAgICAg
ICB0eXBlTmFtZSA9ICJYTUxIdHRwUmVxdWVzdCI7Ci0gICAgICAgIGNvZGUgLT0gWE1MSHR0cFJl
cXVlc3RFeGNlcHRpb246OlhNTEh0dHBSZXF1ZXN0RXhjZXB0aW9uT2Zmc2V0OwotICAgICAgICBu
YW1lVGFibGUgPSB4bWxIdHRwUmVxdWVzdEV4Y2VwdGlvbk5hbWVzOwotICAgICAgICBkZXNjcmlw
dGlvblRhYmxlID0geG1sSHR0cFJlcXVlc3RFeGNlcHRpb25EZXNjcmlwdGlvbnM7Ci0gICAgICAg
IG5hbWVUYWJsZVNpemUgPSBXVEZfQVJSQVlfTEVOR1RIKHhtbEh0dHBSZXF1ZXN0RXhjZXB0aW9u
TmFtZXMpOwotICAgICAgICAvLyBYTUxIdHRwUmVxdWVzdCBleGNlcHRpb24gY29kZXMgc3RhcnQg
d2l0aCAxMDEgYW5kIHdlIGRvbid0IHdhbnQgMTAwIGVtcHR5IGVsZW1lbnRzIGluIHRoZSBuYW1l
IGFycmF5Ci0gICAgICAgIG5hbWVUYWJsZU9mZnNldCA9IFhNTEh0dHBSZXF1ZXN0RXhjZXB0aW9u
OjpORVRXT1JLX0VSUjsKLSAgICB9IGVsc2UgaWYgKGNvZGUgPj0gWFBhdGhFeGNlcHRpb246OlhQ
YXRoRXhjZXB0aW9uT2Zmc2V0ICYmIGNvZGUgPD0gWFBhdGhFeGNlcHRpb246OlhQYXRoRXhjZXB0
aW9uTWF4KSB7Ci0gICAgICAgIHR5cGUgPSBYUGF0aEV4Y2VwdGlvblR5cGU7Ci0gICAgICAgIHR5
cGVOYW1lID0gIkRPTSBYUGF0aCI7Ci0gICAgICAgIGNvZGUgLT0gWFBhdGhFeGNlcHRpb246OlhQ
YXRoRXhjZXB0aW9uT2Zmc2V0OwotICAgICAgICBuYW1lVGFibGUgPSB4cGF0aEV4Y2VwdGlvbk5h
bWVzOwotICAgICAgICBkZXNjcmlwdGlvblRhYmxlID0geHBhdGhFeGNlcHRpb25EZXNjcmlwdGlv
bnM7Ci0gICAgICAgIG5hbWVUYWJsZVNpemUgPSBXVEZfQVJSQVlfTEVOR1RIKHhwYXRoRXhjZXB0
aW9uTmFtZXMpOwotICAgICAgICAvLyBYUGF0aCBleGNlcHRpb24gY29kZXMgc3RhcnQgd2l0aCA1
MSBhbmQgd2UgZG9uJ3Qgd2FudCA1MSBlbXB0eSBlbGVtZW50cyBpbiB0aGUgbmFtZSBhcnJheQot
ICAgICAgICBuYW1lVGFibGVPZmZzZXQgPSBYUGF0aEV4Y2VwdGlvbjo6SU5WQUxJRF9FWFBSRVNT
SU9OX0VSUjsKLSNpZiBFTkFCTEUoU1ZHKQotICAgIH0gZWxzZSBpZiAoY29kZSA+PSBTVkdFeGNl
cHRpb246OlNWR0V4Y2VwdGlvbk9mZnNldCAmJiBjb2RlIDw9IFNWR0V4Y2VwdGlvbjo6U1ZHRXhj
ZXB0aW9uTWF4KSB7Ci0gICAgICAgIHR5cGUgPSBTVkdFeGNlcHRpb25UeXBlOwotICAgICAgICB0
eXBlTmFtZSA9ICJET00gU1ZHIjsKLSAgICAgICAgY29kZSAtPSBTVkdFeGNlcHRpb246OlNWR0V4
Y2VwdGlvbk9mZnNldDsKLSAgICAgICAgbmFtZVRhYmxlID0gc3ZnRXhjZXB0aW9uTmFtZXM7Ci0g
ICAgICAgIGRlc2NyaXB0aW9uVGFibGUgPSBzdmdFeGNlcHRpb25EZXNjcmlwdGlvbnM7Ci0gICAg
ICAgIG5hbWVUYWJsZVNpemUgPSBXVEZfQVJSQVlfTEVOR1RIKHN2Z0V4Y2VwdGlvbk5hbWVzKTsK
LSAgICAgICAgbmFtZVRhYmxlT2Zmc2V0ID0gU1ZHRXhjZXB0aW9uOjpTVkdfV1JPTkdfVFlQRV9F
UlI7CisgICAgaWYgKEV2ZW50RXhjZXB0aW9uOjppbml0aWFsaXplRGVzY3JpcHRpb24oZWMsICZk
ZXNjcmlwdGlvbikpCisgICAgICAgIHJldHVybjsKKyNpZiBFTkFCTEUoQkxPQikKKyAgICBpZiAo
RmlsZUV4Y2VwdGlvbjo6aW5pdGlhbGl6ZURlc2NyaXB0aW9uKGVjLCAmZGVzY3JpcHRpb24pKQor
ICAgICAgICByZXR1cm47CiAjZW5kaWYKLSNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQotICAgIH0g
ZWxzZSBpZiAoY29kZSA+PSBTUUxFeGNlcHRpb246OlNRTEV4Y2VwdGlvbk9mZnNldCAmJiBjb2Rl
IDw9IFNRTEV4Y2VwdGlvbjo6U1FMRXhjZXB0aW9uTWF4KSB7Ci0gICAgICAgIHR5cGUgPSBTUUxF
eGNlcHRpb25UeXBlOwotICAgICAgICB0eXBlTmFtZSA9ICJET00gU1FMIjsKLSAgICAgICAgY29k
ZSAtPSBTUUxFeGNlcHRpb246OlNRTEV4Y2VwdGlvbk9mZnNldDsKLSAgICAgICAgbmFtZVRhYmxl
ID0gc3FsRXhjZXB0aW9uTmFtZXM7Ci0gICAgICAgIGRlc2NyaXB0aW9uVGFibGUgPSBzcWxFeGNl
cHRpb25EZXNjcmlwdGlvbnM7Ci0gICAgICAgIG5hbWVUYWJsZVNpemUgPSBXVEZfQVJSQVlfTEVO
R1RIKHNxbEV4Y2VwdGlvbk5hbWVzKTsKLSAgICAgICAgbmFtZVRhYmxlT2Zmc2V0ID0gU1FMRXhj
ZXB0aW9uOjpVTktOT1dOX0VSUjsKKyNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKKyAgICBp
ZiAoSURCRGF0YWJhc2VFeGNlcHRpb246OmluaXRpYWxpemVEZXNjcmlwdGlvbihlYywgJmRlc2Ny
aXB0aW9uKSkKKyAgICAgICAgcmV0dXJuOwogI2VuZGlmCi0jaWYgRU5BQkxFKEJMT0IpIHx8IEVO
QUJMRShGSUxFX1NZU1RFTSkKLSAgICB9IGVsc2UgaWYgKGNvZGUgPj0gRmlsZUV4Y2VwdGlvbjo6
RmlsZUV4Y2VwdGlvbk9mZnNldCAmJiBjb2RlIDw9IEZpbGVFeGNlcHRpb246OkZpbGVFeGNlcHRp
b25NYXgpIHsKLSAgICAgICAgdHlwZSA9IEZpbGVFeGNlcHRpb25UeXBlOwotICAgICAgICB0eXBl
TmFtZSA9ICJET00gRmlsZSI7Ci0gICAgICAgIGNvZGUgLT0gRmlsZUV4Y2VwdGlvbjo6RmlsZUV4
Y2VwdGlvbk9mZnNldDsKLSAgICAgICAgbmFtZVRhYmxlID0gZmlsZUV4Y2VwdGlvbk5hbWVzOwot
ICAgICAgICBkZXNjcmlwdGlvblRhYmxlID0gZmlsZUV4Y2VwdGlvbkRlc2NyaXB0aW9uczsKLSAg
ICAgICAgbmFtZVRhYmxlU2l6ZSA9IFdURl9BUlJBWV9MRU5HVEgoZmlsZUV4Y2VwdGlvbk5hbWVz
KTsKLSAgICAgICAgbmFtZVRhYmxlT2Zmc2V0ID0gRmlsZUV4Y2VwdGlvbjo6Tk9UX0ZPVU5EX0VS
UjsKLSAgICB9IGVsc2UgaWYgKGNvZGUgPj0gT3BlcmF0aW9uTm90QWxsb3dlZEV4Y2VwdGlvbjo6
T3BlcmF0aW9uTm90QWxsb3dlZEV4Y2VwdGlvbk9mZnNldCAmJiBjb2RlIDw9IE9wZXJhdGlvbk5v
dEFsbG93ZWRFeGNlcHRpb246Ok9wZXJhdGlvbk5vdEFsbG93ZWRFeGNlcHRpb25NYXgpIHsKLSAg
ICAgICAgdHlwZSA9IE9wZXJhdGlvbk5vdEFsbG93ZWRFeGNlcHRpb25UeXBlOwotICAgICAgICB0
eXBlTmFtZSA9ICJET00gT3BlcmF0aW9uTm90QWxsb3dlZCI7Ci0gICAgICAgIGNvZGUgLT0gT3Bl
cmF0aW9uTm90QWxsb3dlZEV4Y2VwdGlvbjo6T3BlcmF0aW9uTm90QWxsb3dlZEV4Y2VwdGlvbk9m
ZnNldDsKLSAgICAgICAgbmFtZVRhYmxlID0gb3BlcmF0aW9uTm90QWxsb3dlZEV4Y2VwdGlvbk5h
bWVzOwotICAgICAgICBkZXNjcmlwdGlvblRhYmxlID0gb3BlcmF0aW9uTm90QWxsb3dlZEV4Y2Vw
dGlvbkRlc2NyaXB0aW9uczsKLSAgICAgICAgbmFtZVRhYmxlU2l6ZSA9IFdURl9BUlJBWV9MRU5H
VEgob3BlcmF0aW9uTm90QWxsb3dlZEV4Y2VwdGlvbk5hbWVzKTsKLSAgICAgICAgbmFtZVRhYmxl
T2Zmc2V0ID0gT3BlcmF0aW9uTm90QWxsb3dlZEV4Y2VwdGlvbjo6Tk9UX0FMTE9XRURfRVJSOwor
I2lmIEVOQUJMRShCTE9CKQorICAgIGlmIChPcGVyYXRpb25Ob3RBbGxvd2VkRXhjZXB0aW9uOjpp
bml0aWFsaXplRGVzY3JpcHRpb24oZWMsICZkZXNjcmlwdGlvbikpCisgICAgICAgIHJldHVybjsK
ICNlbmRpZgotI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQotICAgIH0gZWxzZSBpZiAoY29k
ZSA+PSBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6SURCRGF0YWJhc2VFeGNlcHRpb25PZmZzZXQgJiYg
Y29kZSA8PSBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6SURCRGF0YWJhc2VFeGNlcHRpb25NYXgpIHsK
LSAgICAgICAgdHlwZSA9IElEQkRhdGFiYXNlRXhjZXB0aW9uVHlwZTsKLSAgICAgICAgdHlwZU5h
bWUgPSAiRE9NIElEQkRhdGFiYXNlIjsKLSAgICAgICAgY29kZSAtPSBJREJEYXRhYmFzZUV4Y2Vw
dGlvbjo6SURCRGF0YWJhc2VFeGNlcHRpb25PZmZzZXQ7Ci0gICAgICAgIG5hbWVUYWJsZSA9IGlk
YkRhdGFiYXNlRXhjZXB0aW9uTmFtZXM7Ci0gICAgICAgIGRlc2NyaXB0aW9uVGFibGUgPSBpZGJE
YXRhYmFzZUV4Y2VwdGlvbkRlc2NyaXB0aW9uczsKLSAgICAgICAgbmFtZVRhYmxlU2l6ZSA9IFdU
Rl9BUlJBWV9MRU5HVEgoaWRiRGF0YWJhc2VFeGNlcHRpb25OYW1lcyk7Ci0gICAgICAgIG5hbWVU
YWJsZU9mZnNldCA9IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpVTktOT1dOX0VSUjsKKyAgICBpZiAo
UmFuZ2VFeGNlcHRpb246OmluaXRpYWxpemVEZXNjcmlwdGlvbihlYywgJmRlc2NyaXB0aW9uKSkK
KyAgICAgICAgcmV0dXJuOworI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCisgICAgaWYgKFNRTEV4
Y2VwdGlvbjo6aW5pdGlhbGl6ZURlc2NyaXB0aW9uKGVjLCAmZGVzY3JpcHRpb24pKQorICAgICAg
ICByZXR1cm47CiAjZW5kaWYKLSAgICB9IGVsc2UgewotICAgICAgICB0eXBlID0gRE9NRXhjZXB0
aW9uVHlwZTsKLSAgICAgICAgdHlwZU5hbWUgPSAiRE9NIjsKLSAgICAgICAgbmFtZVRhYmxlID0g
ZXhjZXB0aW9uTmFtZXM7Ci0gICAgICAgIGRlc2NyaXB0aW9uVGFibGUgPSBleGNlcHRpb25EZXNj
cmlwdGlvbnM7Ci0gICAgICAgIG5hbWVUYWJsZVNpemUgPSBXVEZfQVJSQVlfTEVOR1RIKGV4Y2Vw
dGlvbk5hbWVzKTsKLSAgICAgICAgbmFtZVRhYmxlT2Zmc2V0ID0gSU5ERVhfU0laRV9FUlI7Ci0g
ICAgfQotCi0gICAgZGVzY3JpcHRpb24udHlwZU5hbWUgPSB0eXBlTmFtZTsKLSAgICBkZXNjcmlw
dGlvbi5uYW1lID0gKGVjID49IG5hbWVUYWJsZU9mZnNldCAmJiBlYyAtIG5hbWVUYWJsZU9mZnNl
dCA8IG5hbWVUYWJsZVNpemUpID8gbmFtZVRhYmxlW2VjIC0gbmFtZVRhYmxlT2Zmc2V0XSA6IDA7
Ci0gICAgZGVzY3JpcHRpb24uZGVzY3JpcHRpb24gPSAoZWMgPj0gbmFtZVRhYmxlT2Zmc2V0ICYm
IGVjIC0gbmFtZVRhYmxlT2Zmc2V0IDwgbmFtZVRhYmxlU2l6ZSkgPyBkZXNjcmlwdGlvblRhYmxl
W2VjIC0gbmFtZVRhYmxlT2Zmc2V0XSA6IDA7Ci0gICAgZGVzY3JpcHRpb24uY29kZSA9IGNvZGU7
Ci0gICAgZGVzY3JpcHRpb24udHlwZSA9IHR5cGU7CisjaWYgRU5BQkxFKFNWRykKKyAgICBpZiAo
U1ZHRXhjZXB0aW9uOjppbml0aWFsaXplRGVzY3JpcHRpb24oZWMsICZkZXNjcmlwdGlvbikpCisg
ICAgICAgIHJldHVybjsKKyNlbmRpZgorICAgIGlmIChYTUxIdHRwUmVxdWVzdEV4Y2VwdGlvbjo6
aW5pdGlhbGl6ZURlc2NyaXB0aW9uKGVjLCAmZGVzY3JpcHRpb24pKQorICAgICAgICByZXR1cm47
CisgICAgaWYgKFhQYXRoRXhjZXB0aW9uOjppbml0aWFsaXplRGVzY3JpcHRpb24oZWMsICZkZXNj
cmlwdGlvbikpCisgICAgICAgIHJldHVybjsKKyAgICBpZiAoRE9NQ29yZUV4Y2VwdGlvbjo6aW5p
dGlhbGl6ZURlc2NyaXB0aW9uKGVjLCAmZGVzY3JpcHRpb24pKQorICAgICAgICByZXR1cm47CiAK
LSAgICAvLyBBbGwgZXhjZXB0aW9ucyB1c2VkIGluIHRoZSBET00gY29kZSBzaG91bGQgaGF2ZSBu
YW1lcy4KLSAgICBBU1NFUlQoZGVzY3JpcHRpb24ubmFtZSk7Ci0gICAgQVNTRVJUKGRlc2NyaXB0
aW9uLmRlc2NyaXB0aW9uKTsKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKIH0KIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL1JhbmdlRXhjZXB0aW9u
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vUmFuZ2VFeGNlcHRpb24uY3Bw
CShyZXZpc2lvbiAwKQorKysgU291cmNlL1dlYkNvcmUvZG9tL1JhbmdlRXhjZXB0aW9uLmNwcAko
cmV2aXNpb24gMCkKQEAgLTAsMCArMSw2NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBH
b29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
ICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4g
IE5laXRoZXIgdGhlIG5hbWUgb2YgQXBwbGUgQ29tcHV0ZXIsIEluYy4gKCJBcHBsZSIpIG5vciB0
aGUgbmFtZXMgb2YKKyAqICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCisgKiAgICAgZnJvbSB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgR09PR0xFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJ
UyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5j
bHVkZSAiUmFuZ2VFeGNlcHRpb24uaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCisvLyBGSVhN
RTogVGhpcyBzaG91bGQgYmUgYW4gYXJyYXkgb2Ygc3RydWN0cyB0byBwYWlyIHRoZSBuYW1lcyBh
bmQgZGVzY3JpcHRpb25zLgorc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IHJhbmdlRXhjZXB0aW9u
TmFtZXNbXSA9IHsKKyAgICAiQkFEX0JPVU5EQVJZUE9JTlRTX0VSUiIsCisgICAgIklOVkFMSURf
Tk9ERV9UWVBFX0VSUiIKK307CisKK3N0YXRpYyBjb25zdCBjaGFyKiBjb25zdCByYW5nZUV4Y2Vw
dGlvbkRlc2NyaXB0aW9uc1tdID0geworICAgICJUaGUgYm91bmRhcnktcG9pbnRzIG9mIGEgUmFu
Z2UgZGlkIG5vdCBtZWV0IHNwZWNpZmljIHJlcXVpcmVtZW50cy4iLAorICAgICJUaGUgY29udGFp
bmVyIG9mIGFuIGJvdW5kYXJ5LXBvaW50IG9mIGEgUmFuZ2Ugd2FzIGJlaW5nIHNldCB0byBlaXRo
ZXIgYSBub2RlIG9mIGFuIGludmFsaWQgdHlwZSBvciBhIG5vZGUgd2l0aCBhbiBhbmNlc3RvciBv
ZiBhbiBpbnZhbGlkIHR5cGUuIgorfTsKKworQ09NUElMRV9BU1NFUlQoV1RGX0FSUkFZX0xFTkdU
SChyYW5nZUV4Y2VwdGlvbk5hbWVzKSA9PSBXVEZfQVJSQVlfTEVOR1RIKHJhbmdlRXhjZXB0aW9u
RGVzY3JpcHRpb25zKSwgUmFuZ2VFeGNlcHRpb25UYWJsZXNNdXN0TWF0Y2gpOworCitib29sIFJh
bmdlRXhjZXB0aW9uOjppbml0aWFsaXplRGVzY3JpcHRpb24oRXhjZXB0aW9uQ29kZSBlYywgRXhj
ZXB0aW9uQ29kZURlc2NyaXB0aW9uKiBkZXNjcmlwdGlvbikKK3sKKyAgICBpZiAoZWMgPCBSYW5n
ZUV4Y2VwdGlvbk9mZnNldCB8fCBlYyA+IFJhbmdlRXhjZXB0aW9uTWF4KQorICAgICAgICByZXR1
cm4gZmFsc2U7CisKKyAgICBkZXNjcmlwdGlvbi0+dHlwZU5hbWUgPSAiRE9NIFJhbmdlIjsKKyAg
ICBkZXNjcmlwdGlvbi0+Y29kZSA9IGVjIC0gUmFuZ2VFeGNlcHRpb25PZmZzZXQ7CisgICAgZGVz
Y3JpcHRpb24tPnR5cGUgPSBSYW5nZUV4Y2VwdGlvblR5cGU7CisKKyAgICBzaXplX3QgdGFibGVT
aXplID0gV1RGX0FSUkFZX0xFTkdUSChyYW5nZUV4Y2VwdGlvbk5hbWVzKTsKKyAgICBzaXplX3Qg
dGFibGVJbmRleCA9IGVjIC0gQkFEX0JPVU5EQVJZUE9JTlRTX0VSUjsKKworICAgIGRlc2NyaXB0
aW9uLT5uYW1lID0gdGFibGVJbmRleCA8IHRhYmxlU2l6ZSA/IHJhbmdlRXhjZXB0aW9uTmFtZXNb
dGFibGVJbmRleF0gOiAwOworICAgIGRlc2NyaXB0aW9uLT5kZXNjcmlwdGlvbiA9IHRhYmxlSW5k
ZXggPCB0YWJsZVNpemUgPyByYW5nZUV4Y2VwdGlvbkRlc2NyaXB0aW9uc1t0YWJsZUluZGV4XSA6
IDA7CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRl
eDogU291cmNlL1dlYkNvcmUvZG9tL1JhbmdlRXhjZXB0aW9uLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvZG9tL1JhbmdlRXhjZXB0aW9uLmgJKHJldmlzaW9uIDk4NjcyKQorKysgU291
cmNlL1dlYkNvcmUvZG9tL1JhbmdlRXhjZXB0aW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ0LDYg
KzQ0LDggQEAgcHVibGljOgogICAgICAgICBJTlZBTElEX05PREVfVFlQRV9FUlIKICAgICB9Owog
CisgICAgc3RhdGljIGJvb2wgaW5pdGlhbGl6ZURlc2NyaXB0aW9uKEV4Y2VwdGlvbkNvZGUsIEV4
Y2VwdGlvbkNvZGVEZXNjcmlwdGlvbiopOworCiBwcml2YXRlOgogICAgIFJhbmdlRXhjZXB0aW9u
KGNvbnN0IEV4Y2VwdGlvbkNvZGVEZXNjcmlwdGlvbiYgZGVzY3JpcHRpb24pCiAgICAgICAgIDog
RXhjZXB0aW9uQmFzZShkZXNjcmlwdGlvbikKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2ZpbGVhcGkv
RmlsZUV4Y2VwdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZmlsZWFwaS9G
aWxlRXhjZXB0aW9uLmNwcAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9XZWJDb3JlL2ZpbGVhcGkv
RmlsZUV4Y2VwdGlvbi5jcHAJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsOTAgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJ
bmMuICgiQXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCisgKiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAorICogICAg
IGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEdPT0dMRSBBTkQgSVRT
IENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElU
UyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisg
KiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1
ZGUgImNvbmZpZy5oIgorCisjaWYgRU5BQkxFKEJMT0IpIHx8IEVOQUJMRShGSUxFX1NZU1RFTSkK
KworI2luY2x1ZGUgIkZpbGVFeGNlcHRpb24uaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCisv
LyBGSVhNRTogVGhpcyBzaG91bGQgYmUgYW4gYXJyYXkgb2Ygc3RydWN0cyB0byBwYWlyIHRoZSBu
YW1lcyBhbmQgZGVzY3JpcHRpb25zLgorc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IGV4Y2VwdGlv
bk5hbWVzW10gPSB7CisgICAgIk5PVF9GT1VORF9FUlIiLAorICAgICJTRUNVUklUWV9FUlIiLAor
ICAgICJBQk9SVF9FUlIiLAorICAgICJOT1RfUkVBREFCTEVfRVJSIiwKKyAgICAiRU5DT0RJTkdf
RVJSIiwKKyAgICAiTk9fTU9ESUZJQ0FUSU9OX0FMTE9XRURfRVJSIiwKKyAgICAiSU5WQUxJRF9T
VEFURV9FUlIiLAorICAgICJTWU5UQVhfRVJSIiwKKyAgICAiSU5WQUxJRF9NT0RJRklDQVRJT05f
RVJSIiwKKyAgICAiUVVPVEFfRVhDRUVERURfRVJSIiwKKyAgICAiVFlQRV9NSVNNQVRDSF9FUlIi
LAorICAgICJQQVRIX0VYSVNUU19FUlIiCit9OworCitzdGF0aWMgY29uc3QgY2hhciogY29uc3Qg
ZXhjZXB0aW9uRGVzY3JpcHRpb25zW10gPSB7CisgICAgIkEgcmVxdWVzdGVkIGZpbGUgb3IgZGly
ZWN0b3J5IGNvdWxkIG5vdCBiZSBmb3VuZCBhdCB0aGUgdGltZSBhbiBvcGVyYXRpb24gd2FzIHBy
b2Nlc3NlZC4iLAorICAgICJJdCB3YXMgZGV0ZXJtaW5lZCB0aGF0IGNlcnRhaW4gZmlsZXMgYXJl
IHVuc2FmZSBmb3IgYWNjZXNzIHdpdGhpbiBhIFdlYiBhcHBsaWNhdGlvbiwgb3IgdGhhdCB0b28g
bWFueSBjYWxscyBhcmUgYmVpbmcgbWFkZSBvbiBmaWxlIHJlc291cmNlcy4iLAorICAgICJBbiBv
bmdvaW5nIG9wZXJhdGlvbiB3YXMgYWJvcnRlZCwgdHlwaWNhbGx5IHdpdGggYSBjYWxsIHRvIGFi
b3J0KCkuIiwKKyAgICAiVGhlIHJlcXVlc3RlZCBmaWxlIGNvdWxkIG5vdCBiZSByZWFkLCB0eXBp
Y2FsbHkgZHVlIHRvIHBlcm1pc3Npb24gcHJvYmxlbXMgdGhhdCBoYXZlIG9jY3VyZWQgYWZ0ZXIg
YSByZWZlcmVuY2UgdG8gYSBmaWxlIHdhcyBhY3F1aXJlZC4iLAorICAgICJBIFVSSSBzdXBwbGll
ZCB0byB0aGUgQVBJIHdhcyBtYWxmb3JtZWQsIG9yIHRoZSByZXN1bHRpbmcgRGF0YSBVUkwgaGFz
IGV4Y2VlZGVkIHRoZSBVUkwgbGVuZ3RoIGxpbWl0YXRpb25zIGZvciBEYXRhIFVSTHMuIiwKKyAg
ICAiQW4gYXR0ZW1wdCB3YXMgbWFkZSB0byB3cml0ZSB0byBhIGZpbGUgb3IgZGlyZWN0b3J5IHdo
aWNoIGNvdWxkIG5vdCBiZSBtb2RpZmllZCBkdWUgdG8gdGhlIHN0YXRlIG9mIHRoZSB1bmRlcmx5
aW5nIGZpbGVzeXN0ZW0uIiwKKyAgICAiQW4gb3BlcmF0aW9uIHRoYXQgZGVwZW5kcyBvbiBzdGF0
ZSBjYWNoZWQgaW4gYW4gaW50ZXJmYWNlIG9iamVjdCB3YXMgbWFkZSBidXQgdGhlIHN0YXRlIGhh
ZCBjaGFuZ2VkIHNpbmNlIGl0IHdhcyByZWFkIGZyb20gZGlzay4iLAorICAgICJBbiBpbnZhbGlk
IG9yIHVuc3VwcG9ydGVkIGFyZ3VtZW50IHdhcyBnaXZlbiwgbGlrZSBhbiBpbnZhbGlkIGxpbmUg
ZW5kaW5nIHNwZWNpZmllci4iLAorICAgICJUaGUgbW9kaWZpY2F0aW9uIHJlcXVlc3Qgd2FzIGls
bGVnYWwuIiwKKyAgICAiVGhlIG9wZXJhdGlvbiBmYWlsZWQgYmVjYXVzZSBpdCB3b3VsZCBjYXVz
ZSB0aGUgYXBwbGljYXRpb24gdG8gZXhjZWVkIGl0cyBzdG9yYWdlIHF1b3RhLiIsCisgICAgIlRo
ZSBwYXRoIHN1cHBsaWVkIGV4aXN0cywgYnV0IHdhcyBub3QgYW4gZW50cnkgb2YgcmVxdWVzdGVk
IHR5cGUuIiwKKyAgICAiQW4gYXR0ZW1wdCB3YXMgbWFkZSB0byBjcmVhdGUgYSBmaWxlIG9yIGRp
cmVjdG9yeSB3aGVyZSBhbiBlbGVtZW50IGFscmVhZHkgZXhpc3RzLiIKK307CisKK0NPTVBJTEVf
QVNTRVJUKFdURl9BUlJBWV9MRU5HVEgoZXhjZXB0aW9uTmFtZXMpID09IFdURl9BUlJBWV9MRU5H
VEgoZXhjZXB0aW9uRGVzY3JpcHRpb25zKSwgRmlsZUV4Y2VwdGlvblRhYmxlc011c3RNYXRjaCk7
CisKK2Jvb2wgRmlsZUV4Y2VwdGlvbjo6aW5pdGlhbGl6ZURlc2NyaXB0aW9uKEV4Y2VwdGlvbkNv
ZGUgZWMsIEV4Y2VwdGlvbkNvZGVEZXNjcmlwdGlvbiogZGVzY3JpcHRpb24pCit7CisgICAgaWYg
KGVjIDwgRmlsZUV4Y2VwdGlvbk9mZnNldCB8fCBlYyA+IEZpbGVFeGNlcHRpb25NYXgpCisgICAg
ICAgIHJldHVybiBmYWxzZTsKKworICAgIGRlc2NyaXB0aW9uLT50eXBlTmFtZSA9ICJET00gRmls
ZSI7CisgICAgZGVzY3JpcHRpb24tPmNvZGUgPSBlYyAtIEZpbGVFeGNlcHRpb25PZmZzZXQ7Cisg
ICAgZGVzY3JpcHRpb24tPnR5cGUgPSBGaWxlRXhjZXB0aW9uVHlwZTsKKworICAgIHNpemVfdCB0
YWJsZVNpemUgPSBXVEZfQVJSQVlfTEVOR1RIKGV4Y2VwdGlvbk5hbWVzKTsKKyAgICBzaXplX3Qg
dGFibGVJbmRleCA9IGVjIC0gTk9UX0ZPVU5EX0VSUjsKKworICAgIGRlc2NyaXB0aW9uLT5uYW1l
ID0gdGFibGVJbmRleCA8IHRhYmxlU2l6ZSA/IGV4Y2VwdGlvbk5hbWVzW3RhYmxlSW5kZXhdIDog
MDsKKyAgICBkZXNjcmlwdGlvbi0+ZGVzY3JpcHRpb24gPSB0YWJsZUluZGV4IDwgdGFibGVTaXpl
ID8gZXhjZXB0aW9uRGVzY3JpcHRpb25zW3RhYmxlSW5kZXhdIDogMDsKKworICAgIHJldHVybiB0
cnVlOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoQkxP
QikgfHwgRU5BQkxFKEZJTEVfU1lTVEVNKQpJbmRleDogU291cmNlL1dlYkNvcmUvZmlsZWFwaS9G
aWxlRXhjZXB0aW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxl
RXhjZXB0aW9uLmgJKHJldmlzaW9uIDk4NjcyKQorKysgU291cmNlL1dlYkNvcmUvZmlsZWFwaS9G
aWxlRXhjZXB0aW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTY5LDYgKzY5LDggQEAgcHVibGljOgog
ICAgICAgICByZXR1cm4gZXJyb3JDb2RlICsgRmlsZUV4Y2VwdGlvbk9mZnNldDsKICAgICB9CiAK
KyAgICBzdGF0aWMgYm9vbCBpbml0aWFsaXplRGVzY3JpcHRpb24oRXhjZXB0aW9uQ29kZSwgRXhj
ZXB0aW9uQ29kZURlc2NyaXB0aW9uKik7CisKIHByaXZhdGU6CiAgICAgRmlsZUV4Y2VwdGlvbihj
b25zdCBFeGNlcHRpb25Db2RlRGVzY3JpcHRpb24mIGRlc2NyaXB0aW9uKQogICAgICAgICA6IEV4
Y2VwdGlvbkJhc2UoZGVzY3JpcHRpb24pCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9maWxlYXBpL09w
ZXJhdGlvbk5vdEFsbG93ZWRFeGNlcHRpb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2ZpbGVhcGkvT3BlcmF0aW9uTm90QWxsb3dlZEV4Y2VwdGlvbi5jcHAJKHJldmlzaW9uIDAp
CisrKyBTb3VyY2UvV2ViQ29yZS9maWxlYXBpL09wZXJhdGlvbk5vdEFsbG93ZWRFeGNlcHRpb24u
Y3BwCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDY4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KiAzLiAgTmVpdGhlciB0aGUgbmFtZSBvZiBBcHBsZSBDb21wdXRlciwgSW5jLiAoIkFwcGxlIikg
bm9yIHRoZSBuYW1lcyBvZgorICogICAgIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8g
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKKyAqICAgICBmcm9tIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBHT09HTEUgQU5EIElUUyBDT05UUklCVVRPUlMg
IkFTIElTIiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisg
KiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIK
KworI2lmIEVOQUJMRShCTE9CKSB8fCBFTkFCTEUoRklMRV9TWVNURU0pCisKKyNpbmNsdWRlICJP
cGVyYXRpb25Ob3RBbGxvd2VkRXhjZXB0aW9uLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwor
Ly8gRklYTUU6IFRoaXMgc2hvdWxkIGJlIGFuIGFycmF5IG9mIHN0cnVjdHMgdG8gcGFpciB0aGUg
bmFtZXMgYW5kIGRlc2NyaXB0aW9ucy4KK3N0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBleGNlcHRp
b25OYW1lc1tdID0geworICAgICJOT1RfQUxMT1dFRF9FUlIiCit9OworCitzdGF0aWMgY29uc3Qg
Y2hhciogY29uc3QgZXhjZXB0aW9uRGVzY3JpcHRpb25zW10gPSB7CisgICAgIkEgcmVhZCBtZXRo
b2Qgd2FzIGNhbGxlZCB3aGlsZSB0aGUgb2JqZWN0IHdhcyBpbiB0aGUgTE9BRElORyBzdGF0ZSBk
dWUgdG8gYSBwcmV2aW91cyByZWFkIGNhbGwuIgorfTsKKworQ09NUElMRV9BU1NFUlQoV1RGX0FS
UkFZX0xFTkdUSChleGNlcHRpb25OYW1lcykgPT0gV1RGX0FSUkFZX0xFTkdUSChleGNlcHRpb25E
ZXNjcmlwdGlvbnMpLCBPcGVyYXRpb25Ob3RBbGxvd2VkRXhjZXB0aW9uVGFibGVzTXVzdE1hdGNo
KTsKKworYm9vbCBPcGVyYXRpb25Ob3RBbGxvd2VkRXhjZXB0aW9uOjppbml0aWFsaXplRGVzY3Jp
cHRpb24oRXhjZXB0aW9uQ29kZSBlYywgRXhjZXB0aW9uQ29kZURlc2NyaXB0aW9uKiBkZXNjcmlw
dGlvbikKK3sKKyAgICBpZiAoZWMgPCBPcGVyYXRpb25Ob3RBbGxvd2VkRXhjZXB0aW9uT2Zmc2V0
IHx8IGVjID4gT3BlcmF0aW9uTm90QWxsb3dlZEV4Y2VwdGlvbk1heCkKKyAgICAgICAgcmV0dXJu
IGZhbHNlOworCisgICAgZGVzY3JpcHRpb24tPnR5cGVOYW1lID0gIkRPTSBPcGVyYXRpb25Ob3RB
bGxvd2VkIjsKKyAgICBkZXNjcmlwdGlvbi0+Y29kZSA9IGVjIC0gT3BlcmF0aW9uTm90QWxsb3dl
ZEV4Y2VwdGlvbk9mZnNldDsKKyAgICBkZXNjcmlwdGlvbi0+dHlwZSA9IE9wZXJhdGlvbk5vdEFs
bG93ZWRFeGNlcHRpb25UeXBlOworCisgICAgc2l6ZV90IHRhYmxlU2l6ZSA9IFdURl9BUlJBWV9M
RU5HVEgoZXhjZXB0aW9uTmFtZXMpOworICAgIHNpemVfdCB0YWJsZUluZGV4ID0gZWMgLSBOT1Rf
QUxMT1dFRF9FUlI7CisKKyAgICBkZXNjcmlwdGlvbi0+bmFtZSA9IHRhYmxlSW5kZXggPCB0YWJs
ZVNpemUgPyBleGNlcHRpb25OYW1lc1t0YWJsZUluZGV4XSA6IDA7CisgICAgZGVzY3JpcHRpb24t
PmRlc2NyaXB0aW9uID0gdGFibGVJbmRleCA8IHRhYmxlU2l6ZSA/IGV4Y2VwdGlvbkRlc2NyaXB0
aW9uc1t0YWJsZUluZGV4XSA6IDA7CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKEJMT0IpIHx8IEVOQUJMRShGSUxFX1NZ
U1RFTSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvT3BlcmF0aW9uTm90QWxsb3dlZEV4
Y2VwdGlvbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvT3BlcmF0aW9u
Tm90QWxsb3dlZEV4Y2VwdGlvbi5oCShyZXZpc2lvbiA5ODY3MikKKysrIFNvdXJjZS9XZWJDb3Jl
L2ZpbGVhcGkvT3BlcmF0aW9uTm90QWxsb3dlZEV4Y2VwdGlvbi5oCSh3b3JraW5nIGNvcHkpCkBA
IC01MSw2ICs1MSw4IEBAIHB1YmxpYzoKICAgICAgICAgTk9UX0FMTE9XRURfRVJSID0gT3BlcmF0
aW9uTm90QWxsb3dlZEV4Y2VwdGlvbk9mZnNldCArIDEsCiAgICAgfTsKIAorICAgIHN0YXRpYyBi
b29sIGluaXRpYWxpemVEZXNjcmlwdGlvbihFeGNlcHRpb25Db2RlLCBFeGNlcHRpb25Db2RlRGVz
Y3JpcHRpb24qKTsKKwogcHJpdmF0ZToKICAgICBPcGVyYXRpb25Ob3RBbGxvd2VkRXhjZXB0aW9u
KGNvbnN0IEV4Y2VwdGlvbkNvZGVEZXNjcmlwdGlvbiYgZGVzY3JpcHRpb24pCiAgICAgICAgIDog
RXhjZXB0aW9uQmFzZShkZXNjcmlwdGlvbikKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2Uv
SURCRGF0YWJhc2VFeGNlcHRpb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N0
b3JhZ2UvSURCRGF0YWJhc2VFeGNlcHRpb24uY3BwCShyZXZpc2lvbiAwKQorKysgU291cmNlL1dl
YkNvcmUvc3RvcmFnZS9JREJEYXRhYmFzZUV4Y2VwdGlvbi5jcHAJKHJldmlzaW9uIDApCkBAIC0w
LDAgKzEsOTIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuICBOZWl0aGVyIHRoZSBuYW1l
IG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgiQXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCisgKiAg
ICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZAorICogICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEdPT0dMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAq
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaWYgRU5BQkxFKElOREVYRURf
REFUQUJBU0UpCisKKyNpbmNsdWRlICJJREJEYXRhYmFzZUV4Y2VwdGlvbi5oIgorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKKy8vIEZJWE1FOiBUaGlzIHNob3VsZCBiZSBhbiBhcnJheSBvZiBzdHJ1
Y3RzIHRvIHBhaXIgdGhlIG5hbWVzIGFuZCBkZXNjcmlwdGlvbnMuCitzdGF0aWMgY29uc3QgY2hh
ciogY29uc3QgZXhjZXB0aW9uTmFtZXNbXSA9IHsKKyAgICAiVU5LTk9XTl9FUlIiLAorICAgICJO
T05fVFJBTlNJRU5UX0VSUiIsCisgICAgIk5PVF9GT1VORF9FUlIiLAorICAgICJDT05TVFJBSU5U
X0VSUiIsCisgICAgIkRBVEFfRVJSIiwKKyAgICAiTk9UX0FMTE9XRURfRVJSIiwKKyAgICAiU0VS
SUFMX0VSUiIsCisgICAgIlJFQ09WRVJBQkxFX0VSUiIsCisgICAgIlRSQU5TSUVOVF9FUlIiLAor
ICAgICJUSU1FT1VUX0VSUiIsCisgICAgIkRFQURMT0NLX0VSUiIsCisgICAgIlJFQURfT05MWV9F
UlIiLAorICAgICJBQk9SVF9FUlIiCit9OworCitzdGF0aWMgY29uc3QgY2hhciogY29uc3QgZXhj
ZXB0aW9uRGVzY3JpcHRpb25zW10gPSB7CisgICAgIkFuIHVua25vd24gZXJyb3Igb2NjdXJyZWQg
d2l0aGluIEluZGV4ZWQgRGF0YWJhc2UuIiwKKyAgICAiTk9OX1RSQU5TSUVOVF9FUlIiLCAvLyBG
SVhNRTogV3JpdGUgYSBiZXR0ZXIgbWVzc2FnZSBpZiBpdCdzIGV2ZXIgcG9zc2libGUgdGhpcyBp
cyB0aHJvd24uCisgICAgIlRoZSBuYW1lIHN1cHBsaWVkIGRvZXMgbm90IG1hdGNoIGFueSBleGlz
dGluZyBpdGVtLiIsCisgICAgIlRoZSByZXF1ZXN0IGNhbm5vdCBiZSBjb21wbGV0ZWQgZHVlIHRv
IGEgZmFpbGVkIGNvbnN0cmFpbnQuIiwKKyAgICAiVGhlIGRhdGEgcHJvdmlkZWQgZG9lcyBub3Qg
bWVldCB0aGUgcmVxdWlyZW1lbnRzIG9mIHRoZSBmdW5jdGlvbi4iLAorICAgICJUaGlzIGZ1bmN0
aW9uIGlzIG5vdCBhbGxvd2VkIHRvIGJlIGNhbGxlZCBpbiBzdWNoIGEgY29udGV4dC4iLAorICAg
ICJUaGUgZGF0YSBzdXBwbGllZCBjYW5ub3QgYmUgc2VyaWFsaXplZCBhY2NvcmRpbmcgdG8gdGhl
IHN0cnVjdHVyZWQgY2xvbmluZyBhbGdvcml0aG0uIiwKKyAgICAiUkVDT1ZFUkFCTEVfRVJSIiwg
Ly8gRklYTUU6IFRoaXMgaXNuJ3QgZXZlbiB1c2VkLgorICAgICJUUkFOU0lFTlRfRVJSIiwgLy8g
RklYTUU6IFRoaXMgaXNuJ3QgZXZlbiB1c2VkLgorICAgICJUSU1FT1VUX0VSUiIsIC8vIFRoaXMg
Y2FuJ3QgYmUgdGhyb3duLgorICAgICJERUFETE9DS19FUlIiLCAvLyBUaGlzIGNhbid0IGJlIHRo
cm93bi4KKyAgICAiV3JpdGUgb3BlcmF0aW9ucyBjYW5ub3QgYmUgcHJlZm9ybWVkIG9uIGEgcmVh
ZC1vbmx5IHRyYW5zYWN0aW9uLiIsCisgICAgIlRoZSB0cmFuc2FjdGlvbiB3YXMgYWJvcnRlZCwg
c28gdGhlIHJlcXVlc3QgY2Fubm90IGJlIGZ1bGZpbGxlZC4iCit9OworCitDT01QSUxFX0FTU0VS
VChXVEZfQVJSQVlfTEVOR1RIKGV4Y2VwdGlvbk5hbWVzKSA9PSBXVEZfQVJSQVlfTEVOR1RIKGV4
Y2VwdGlvbkRlc2NyaXB0aW9ucyksIElEQkRhdGFiYXNlRXhjZXB0aW9uVGFibGVzTXVzdE1hdGNo
KTsKKworYm9vbCBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6aW5pdGlhbGl6ZURlc2NyaXB0aW9uKEV4
Y2VwdGlvbkNvZGUgZWMsIEV4Y2VwdGlvbkNvZGVEZXNjcmlwdGlvbiogZGVzY3JpcHRpb24pCit7
CisgICAgaWYgKGVjIDwgSURCRGF0YWJhc2VFeGNlcHRpb25PZmZzZXQgfHwgZWMgPiBJREJEYXRh
YmFzZUV4Y2VwdGlvbk1heCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgZGVzY3JpcHRp
b24tPnR5cGVOYW1lID0gIkRPTSBJREJEYXRhYmFzZSI7CisgICAgZGVzY3JpcHRpb24tPmNvZGUg
PSBlYyAtIElEQkRhdGFiYXNlRXhjZXB0aW9uT2Zmc2V0OworICAgIGRlc2NyaXB0aW9uLT50eXBl
ID0gSURCRGF0YWJhc2VFeGNlcHRpb25UeXBlOworCisgICAgc2l6ZV90IHRhYmxlU2l6ZSA9IFdU
Rl9BUlJBWV9MRU5HVEgoZXhjZXB0aW9uTmFtZXMpOworICAgIHNpemVfdCB0YWJsZUluZGV4ID0g
ZWMgLSBVTktOT1dOX0VSUjsKKworICAgIGRlc2NyaXB0aW9uLT5uYW1lID0gdGFibGVJbmRleCA8
IHRhYmxlU2l6ZSA/IGV4Y2VwdGlvbk5hbWVzW3RhYmxlSW5kZXhdIDogMDsKKyAgICBkZXNjcmlw
dGlvbi0+ZGVzY3JpcHRpb24gPSB0YWJsZUluZGV4IDwgdGFibGVTaXplID8gZXhjZXB0aW9uRGVz
Y3JpcHRpb25zW3RhYmxlSW5kZXhdIDogMDsKKworICAgIHJldHVybiB0cnVlOworfQorCit9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJhc2VFeGNlcHRpb24uaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQkRhdGFiYXNlRXhjZXB0aW9uLmgJ
KHJldmlzaW9uIDk4NjcyKQorKysgU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJEYXRhYmFzZUV4
Y2VwdGlvbi5oCSh3b3JraW5nIGNvcHkpCkBAIC02Niw2ICs2Niw4IEBAIHB1YmxpYzoKICAgICAg
ICAgcmV0dXJuIGVycm9yQ29kZSArIElEQkRhdGFiYXNlRXhjZXB0aW9uT2Zmc2V0OwogICAgIH0K
IAorICAgIHN0YXRpYyBib29sIGluaXRpYWxpemVEZXNjcmlwdGlvbihFeGNlcHRpb25Db2RlLCBF
eGNlcHRpb25Db2RlRGVzY3JpcHRpb24qKTsKKwogcHJpdmF0ZToKICAgICBJREJEYXRhYmFzZUV4
Y2VwdGlvbihjb25zdCBFeGNlcHRpb25Db2RlRGVzY3JpcHRpb24mIGRlc2NyaXB0aW9uKQogICAg
ICAgICA6IEV4Y2VwdGlvbkJhc2UoZGVzY3JpcHRpb24pCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9z
dG9yYWdlL1NRTEV4Y2VwdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3Rv
cmFnZS9TUUxFeGNlcHRpb24uY3BwCShyZXZpc2lvbiAwKQorKysgU291cmNlL1dlYkNvcmUvc3Rv
cmFnZS9TUUxFeGNlcHRpb24uY3BwCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDgyIEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKiAzLiAgTmVpdGhlciB0aGUgbmFtZSBvZiBBcHBsZSBDb21wdXRl
ciwgSW5jLiAoIkFwcGxlIikgbm9yIHRoZSBuYW1lcyBvZgorICogICAgIGl0cyBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKKyAq
ICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBHT09HTEUgQU5E
IElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisg
KiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBP
UiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
bmNsdWRlICJjb25maWcuaCIKKworI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCisKKyNpbmNsdWRl
ICJTUUxFeGNlcHRpb24uaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCisvLyBGSVhNRTogVGhp
cyBzaG91bGQgYmUgYW4gYXJyYXkgb2Ygc3RydWN0cyB0byBwYWlyIHRoZSBuYW1lcyBhbmQgZGVz
Y3JpcHRpb25zLgorc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IGV4Y2VwdGlvbk5hbWVzW10gPSB7
CisgICAgIlVOS05PV05fRVJSIiwKKyAgICAiREFUQUJBU0VfRVJSIiwKKyAgICAiVkVSU0lPTl9F
UlIiLAorICAgICJUT09fTEFSR0VfRVJSIiwKKyAgICAiUVVPVEFfRVJSIiwKKyAgICAiU1lOVEFY
X0VSUiIsCisgICAgIkNPTlNUUkFJTlRfRVJSIiwKKyAgICAiVElNRU9VVF9FUlIiCit9OworCitz
dGF0aWMgY29uc3QgY2hhciogY29uc3QgZXhjZXB0aW9uRGVzY3JpcHRpb25zW10gPSB7CisgICAg
IlRoZSBvcGVyYXRpb24gZmFpbGVkIGZvciByZWFzb25zIHVucmVsYXRlZCB0byB0aGUgZGF0YWJh
c2UuIiwKKyAgICAiVGhlIG9wZXJhdGlvbiBmYWlsZWQgZm9yIHNvbWUgcmVhc29uIHJlbGF0ZWQg
dG8gdGhlIGRhdGFiYXNlLiIsCisgICAgIlRoZSBhY3R1YWwgZGF0YWJhc2UgdmVyc2lvbiBkaWQg
bm90IG1hdGNoIHRoZSBleHBlY3RlZCB2ZXJzaW9uLiIsCisgICAgIkRhdGEgcmV0dXJuZWQgZnJv
bSB0aGUgZGF0YWJhc2UgaXMgdG9vIGxhcmdlLiIsCisgICAgIlF1b3RhIHdhcyBleGNlZWRlZC4i
LAorICAgICJJbnZhbGlkIG9yIHVuYXV0aG9yaXplZCBzdGF0ZW1lbnQ7IG9yIHRoZSBudW1iZXIg
b2YgYXJndW1lbnRzIGRpZCBub3QgbWF0Y2ggdGhlIG51bWJlciBvZiA/IHBsYWNlaG9sZGVycy4i
LAorICAgICJBIGNvbnN0cmFpbnQgd2FzIHZpb2xhdGVkLiIsCisgICAgIkEgdHJhbnNhY3Rpb24g
bG9jayBjb3VsZCBub3QgYmUgYWNxdWlyZWQgaW4gYSByZWFzb25hYmxlIHRpbWUuIgorfTsKKwor
Q09NUElMRV9BU1NFUlQoV1RGX0FSUkFZX0xFTkdUSChleGNlcHRpb25OYW1lcykgPT0gV1RGX0FS
UkFZX0xFTkdUSChleGNlcHRpb25EZXNjcmlwdGlvbnMpLCBTUUxFeGNlcHRpb25UYWJsZXNNdXN0
TWF0Y2gpOworCitib29sIFNRTEV4Y2VwdGlvbjo6aW5pdGlhbGl6ZURlc2NyaXB0aW9uKEV4Y2Vw
dGlvbkNvZGUgZWMsIEV4Y2VwdGlvbkNvZGVEZXNjcmlwdGlvbiogZGVzY3JpcHRpb24pCit7Cisg
ICAgaWYgKGVjIDwgU1FMRXhjZXB0aW9uT2Zmc2V0IHx8IGVjID4gU1FMRXhjZXB0aW9uTWF4KQor
ICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBkZXNjcmlwdGlvbi0+dHlwZU5hbWUgPSAiRE9N
IFNRTCI7CisgICAgZGVzY3JpcHRpb24tPmNvZGUgPSBlYyAtIFNRTEV4Y2VwdGlvbk9mZnNldDsK
KyAgICBkZXNjcmlwdGlvbi0+dHlwZSA9IFNRTEV4Y2VwdGlvblR5cGU7CisKKyAgICBzaXplX3Qg
dGFibGVTaXplID0gV1RGX0FSUkFZX0xFTkdUSChleGNlcHRpb25OYW1lcyk7CisgICAgc2l6ZV90
IHRhYmxlSW5kZXggPSBlYyAtIFVOS05PV05fRVJSOworCisgICAgZGVzY3JpcHRpb24tPm5hbWUg
PSB0YWJsZUluZGV4IDwgdGFibGVTaXplID8gZXhjZXB0aW9uTmFtZXNbdGFibGVJbmRleF0gOiAw
OworICAgIGRlc2NyaXB0aW9uLT5kZXNjcmlwdGlvbiA9IHRhYmxlSW5kZXggPCB0YWJsZVNpemUg
PyBleGNlcHRpb25EZXNjcmlwdGlvbnNbdGFibGVJbmRleF0gOiAwOworCisgICAgcmV0dXJuIHRy
dWU7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShTUUxf
REFUQUJBU0UpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTEV4Y2VwdGlvbi5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU1FMRXhjZXB0aW9uLmgJKHJldmlz
aW9uIDk4NjcyKQorKysgU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxFeGNlcHRpb24uaAkod29y
a2luZyBjb3B5KQpAQCAtNTgsNiArNTgsOCBAQCBwdWJsaWM6CiAgICAgICAgIFRJTUVPVVRfRVJS
ID0gU1FMRXhjZXB0aW9uT2Zmc2V0ICsgNwogICAgIH07CiAKKyAgICBzdGF0aWMgYm9vbCBpbml0
aWFsaXplRGVzY3JpcHRpb24oRXhjZXB0aW9uQ29kZSwgRXhjZXB0aW9uQ29kZURlc2NyaXB0aW9u
Kik7CisKIHByaXZhdGU6CiAgICAgU1FMRXhjZXB0aW9uKGNvbnN0IEV4Y2VwdGlvbkNvZGVEZXNj
cmlwdGlvbiYgZGVzY3JpcHRpb24pCiAgICAgICAgIDogRXhjZXB0aW9uQmFzZShkZXNjcmlwdGlv
bikKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbGxJbk9uZS5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FsbEluT25lLmNwcAkocmV2aXNpb24gOTg2NzIpCisr
KyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQWxsSW5PbmUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02
NCw2ICs2NCw3IEBACiAjaW5jbHVkZSAiU1ZHRWxlbWVudEluc3RhbmNlLmNwcCIKICNpbmNsdWRl
ICJTVkdFbGVtZW50SW5zdGFuY2VMaXN0LmNwcCIKICNpbmNsdWRlICJTVkdFbGxpcHNlRWxlbWVu
dC5jcHAiCisjaW5jbHVkZSAiU1ZHRXhjZXB0aW9uLmNwcCIKICNpbmNsdWRlICJTVkdFeHRlcm5h
bFJlc291cmNlc1JlcXVpcmVkLmNwcCIKICNpbmNsdWRlICJTVkdGRUJsZW5kRWxlbWVudC5jcHAi
CiAjaW5jbHVkZSAiU1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQuY3BwIgpJbmRleDogU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0V4Y2VwdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0V4Y2VwdGlvbi5jcHAJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHRXhjZXB0aW9uLmNwcAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw3MiBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICogMy4gIE5laXRoZXIgdGhlIG5hbWUgb2YgQXBwbGUgQ29tcHV0ZXIsIElu
Yy4gKCJBcHBsZSIpIG5vciB0aGUgbmFtZXMgb2YKKyAqICAgICBpdHMgY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCisgKiAgICAg
ZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgR09PR0xFIEFORCBJVFMg
Q09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRT
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAq
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVk
ZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoU1ZHKQorCisjaW5jbHVkZSAiU1ZHRXhjZXB0aW9u
LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworLy8gRklYTUU6IFRoaXMgc2hvdWxkIGJlIGFu
IGFycmF5IG9mIHN0cnVjdHMgdG8gcGFpciB0aGUgbmFtZXMgYW5kIGRlc2NyaXB0aW9ucy4KK3N0
YXRpYyBjb25zdCBjaGFyKiBjb25zdCBleGNlcHRpb25OYW1lc1tdID0geworICAgICJTVkdfV1JP
TkdfVFlQRV9FUlIiLAorICAgICJTVkdfSU5WQUxJRF9WQUxVRV9FUlIiLAorICAgICJTVkdfTUFU
UklYX05PVF9JTlZFUlRBQkxFIgorfTsKKworc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IGV4Y2Vw
dGlvbkRlc2NyaXB0aW9uc1tdID0geworICAgICJBbiBvYmplY3Qgb2YgdGhlIHdyb25nIHR5cGUg
d2FzIHBhc3NlZCB0byBhbiBvcGVyYXRpb24uIiwKKyAgICAiQW4gaW52YWxpZCB2YWx1ZSB3YXMg
cGFzc2VkIHRvIGFuIG9wZXJhdGlvbiBvciBhc3NpZ25lZCB0byBhbiBhdHRyaWJ1dGUuIiwKKyAg
ICAiQW4gYXR0ZW1wdCB3YXMgbWFkZSB0byBpbnZlcnQgYSBtYXRyaXggdGhhdCBpcyBub3QgaW52
ZXJ0aWJsZS4iCit9OworCitDT01QSUxFX0FTU0VSVChXVEZfQVJSQVlfTEVOR1RIKGV4Y2VwdGlv
bk5hbWVzKSA9PSBXVEZfQVJSQVlfTEVOR1RIKGV4Y2VwdGlvbkRlc2NyaXB0aW9ucyksIFNWR0V4
Y2VwdGlvblRhYmxlc011c3RNYXRjaCk7CisKK2Jvb2wgU1ZHRXhjZXB0aW9uOjppbml0aWFsaXpl
RGVzY3JpcHRpb24oRXhjZXB0aW9uQ29kZSBlYywgRXhjZXB0aW9uQ29kZURlc2NyaXB0aW9uKiBk
ZXNjcmlwdGlvbikKK3sKKyAgICBpZiAoZWMgPCBTVkdFeGNlcHRpb25PZmZzZXQgfHwgZWMgPiBT
VkdFeGNlcHRpb25NYXgpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGRlc2NyaXB0aW9u
LT50eXBlTmFtZSA9ICJET00gU1ZHIjsKKyAgICBkZXNjcmlwdGlvbi0+Y29kZSA9IGVjIC0gU1ZH
RXhjZXB0aW9uT2Zmc2V0OworICAgIGRlc2NyaXB0aW9uLT50eXBlID0gU1ZHRXhjZXB0aW9uVHlw
ZTsKKworICAgIHNpemVfdCB0YWJsZVNpemUgPSBXVEZfQVJSQVlfTEVOR1RIKGV4Y2VwdGlvbk5h
bWVzKTsKKyAgICBzaXplX3QgdGFibGVJbmRleCA9IGVjIC0gU1ZHX1dST05HX1RZUEVfRVJSOwor
CisgICAgZGVzY3JpcHRpb24tPm5hbWUgPSB0YWJsZUluZGV4IDwgdGFibGVTaXplID8gZXhjZXB0
aW9uTmFtZXNbdGFibGVJbmRleF0gOiAwOworICAgIGRlc2NyaXB0aW9uLT5kZXNjcmlwdGlvbiA9
IHRhYmxlSW5kZXggPCB0YWJsZVNpemUgPyBleGNlcHRpb25EZXNjcmlwdGlvbnNbdGFibGVJbmRl
eF0gOiAwOworCisgICAgcmV0dXJuIHRydWU7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
KworI2VuZGlmIC8vIEVOQUJMRShTVkcpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRXhj
ZXB0aW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR0V4Y2VwdGlvbi5o
CShyZXZpc2lvbiA5ODY3MikKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFeGNlcHRpb24uaAko
d29ya2luZyBjb3B5KQpAQCAtNDMsNiArNDMsOCBAQCBwdWJsaWM6CiAgICAgICAgIFNWR19NQVRS
SVhfTk9UX0lOVkVSVEFCTEUgPSBTVkdFeGNlcHRpb25PZmZzZXQgKyAyCiAgICAgfTsKIAorICAg
IHN0YXRpYyBib29sIGluaXRpYWxpemVEZXNjcmlwdGlvbihFeGNlcHRpb25Db2RlLCBFeGNlcHRp
b25Db2RlRGVzY3JpcHRpb24qKTsKKwogcHJpdmF0ZToKICAgICBTVkdFeGNlcHRpb24oY29uc3Qg
RXhjZXB0aW9uQ29kZURlc2NyaXB0aW9uJiBkZXNjcmlwdGlvbikKICAgICAgICAgOiBFeGNlcHRp
b25CYXNlKGRlc2NyaXB0aW9uKQpJbmRleDogU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1
ZXN0RXhjZXB0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0
cFJlcXVlc3RFeGNlcHRpb24uY3BwCShyZXZpc2lvbiAwKQorKysgU291cmNlL1dlYkNvcmUveG1s
L1hNTEh0dHBSZXF1ZXN0RXhjZXB0aW9uLmNwcAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw2NSBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAq
IDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gIE5laXRoZXIgdGhlIG5hbWUgb2YgQXBwbGUg
Q29tcHV0ZXIsIEluYy4gKCJBcHBsZSIpIG5vciB0aGUgbmFtZXMgb2YKKyAqICAgICBpdHMgY29u
dHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkCisgKiAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgR09P
R0xFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAor
ICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiWE1MSHR0cFJlcXVlc3RFeGNlcHRp
b24uaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCisvLyBGSVhNRTogVGhpcyBzaG91bGQgYmUg
YW4gYXJyYXkgb2Ygc3RydWN0cyB0byBwYWlyIHRoZSBuYW1lcyBhbmQgZGVzY3JpcHRpb25zLgor
c3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IGV4Y2VwdGlvbk5hbWVzW10gPSB7CisgICAgIk5FVFdP
UktfRVJSIiwKKyAgICAiQUJPUlRfRVJSIgorfTsKKworc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0
IGV4Y2VwdGlvbkRlc2NyaXB0aW9uc1tdID0geworICAgICJBIG5ldHdvcmsgZXJyb3Igb2NjdXJl
ZCBpbiBzeW5jaHJvbm91cyByZXF1ZXN0cy4iLAorICAgICJUaGUgdXNlciBhYm9ydGVkIGEgcmVx
dWVzdCBpbiBzeW5jaHJvbm91cyByZXF1ZXN0cy4iCit9OworCitDT01QSUxFX0FTU0VSVChXVEZf
QVJSQVlfTEVOR1RIKGV4Y2VwdGlvbk5hbWVzKSA9PSBXVEZfQVJSQVlfTEVOR1RIKGV4Y2VwdGlv
bkRlc2NyaXB0aW9ucyksIFhNTEh0dHBSZXF1ZXN0RXhjZXB0aW9uVGFibGVzTXVzdE1hdGNoKTsK
KworYm9vbCBYTUxIdHRwUmVxdWVzdEV4Y2VwdGlvbjo6aW5pdGlhbGl6ZURlc2NyaXB0aW9uKEV4
Y2VwdGlvbkNvZGUgZWMsIEV4Y2VwdGlvbkNvZGVEZXNjcmlwdGlvbiogZGVzY3JpcHRpb24pCit7
CisgICAgaWYgKGVjIDwgWE1MSHR0cFJlcXVlc3RFeGNlcHRpb25PZmZzZXQgfHwgZWMgPiBYTUxI
dHRwUmVxdWVzdEV4Y2VwdGlvbk1heCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgZGVz
Y3JpcHRpb24tPnR5cGVOYW1lID0gIlhNTEh0dHBSZXF1ZXN0IjsKKyAgICBkZXNjcmlwdGlvbi0+
Y29kZSA9IGVjIC0gWE1MSHR0cFJlcXVlc3RFeGNlcHRpb25PZmZzZXQ7CisgICAgZGVzY3JpcHRp
b24tPnR5cGUgPSBYTUxIdHRwUmVxdWVzdEV4Y2VwdGlvblR5cGU7CisKKyAgICBzaXplX3QgdGFi
bGVTaXplID0gV1RGX0FSUkFZX0xFTkdUSChleGNlcHRpb25OYW1lcyk7CisgICAgc2l6ZV90IHRh
YmxlSW5kZXggPSBlYyAtIE5FVFdPUktfRVJSOworCisgICAgZGVzY3JpcHRpb24tPm5hbWUgPSB0
YWJsZUluZGV4IDwgdGFibGVTaXplID8gZXhjZXB0aW9uTmFtZXNbdGFibGVJbmRleF0gOiAwOwor
ICAgIGRlc2NyaXB0aW9uLT5kZXNjcmlwdGlvbiA9IHRhYmxlSW5kZXggPCB0YWJsZVNpemUgPyBl
eGNlcHRpb25EZXNjcmlwdGlvbnNbdGFibGVJbmRleF0gOiAwOworCisgICAgcmV0dXJuIHRydWU7
Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3htbC9Y
TUxIdHRwUmVxdWVzdEV4Y2VwdGlvbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3ht
bC9YTUxIdHRwUmVxdWVzdEV4Y2VwdGlvbi5oCShyZXZpc2lvbiA5ODY3MikKKysrIFNvdXJjZS9X
ZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdEV4Y2VwdGlvbi5oCSh3b3JraW5nIGNvcHkpCkBAIC00
OCw2ICs0OCw4IEBAIHB1YmxpYzoKICAgICAgICAgQUJPUlRfRVJSCiAgICAgfTsKIAorICAgIHN0
YXRpYyBib29sIGluaXRpYWxpemVEZXNjcmlwdGlvbihFeGNlcHRpb25Db2RlLCBFeGNlcHRpb25D
b2RlRGVzY3JpcHRpb24qKTsKKwogcHJpdmF0ZToKICAgICBYTUxIdHRwUmVxdWVzdEV4Y2VwdGlv
bihjb25zdCBFeGNlcHRpb25Db2RlRGVzY3JpcHRpb24mIGRlc2NyaXB0aW9uKQogICAgICAgICA6
IEV4Y2VwdGlvbkJhc2UoZGVzY3JpcHRpb24pCkluZGV4OiBTb3VyY2UvV2ViQ29yZS94bWwvWFBh
dGhFeGNlcHRpb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3htbC9YUGF0aEV4
Y2VwdGlvbi5jcHAJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhFeGNl
cHRpb24uY3BwCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDY1IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKiAzLiAgTmVpdGhlciB0aGUgbmFtZSBvZiBBcHBsZSBDb21wdXRlciwgSW5jLiAoIkFw
cGxlIikgbm9yIHRoZSBuYW1lcyBvZgorICogICAgIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKKyAqICAgICBmcm9tIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBHT09HTEUgQU5EIElUUyBDT05UUklC
VVRPUlMgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25m
aWcuaCIKKyNpbmNsdWRlICJYUGF0aEV4Y2VwdGlvbi5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7
CisKKy8vIEZJWE1FOiBUaGlzIHNob3VsZCBiZSBhbiBhcnJheSBvZiBzdHJ1Y3RzIHRvIHBhaXIg
dGhlIG5hbWVzIGFuZCBkZXNjcmlwdGlvbnMuCitzdGF0aWMgY29uc3QgY2hhciogY29uc3QgZXhj
ZXB0aW9uTmFtZXNbXSA9IHsKKyAgICAiSU5WQUxJRF9FWFBSRVNTSU9OX0VSUiIsCisgICAgIlRZ
UEVfRVJSIgorfTsKKworc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IGV4Y2VwdGlvbkRlc2NyaXB0
aW9uc1tdID0geworICAgICJUaGUgZXhwcmVzc2lvbiBoYWQgYSBzeW50YXggZXJyb3Igb3Igb3Ro
ZXJ3aXNlIGlzIG5vdCBhIGxlZ2FsIGV4cHJlc3Npb24gYWNjb3JkaW5nIHRvIHRoZSBydWxlcyBv
ZiB0aGUgc3BlY2lmaWMgWFBhdGhFdmFsdWF0b3IuIiwKKyAgICAiVGhlIGV4cHJlc3Npb24gY291
bGQgbm90IGJlIGNvbnZlcnRlZCB0byByZXR1cm4gdGhlIHNwZWNpZmllZCB0eXBlLiIKK307CisK
K0NPTVBJTEVfQVNTRVJUKFdURl9BUlJBWV9MRU5HVEgoZXhjZXB0aW9uTmFtZXMpID09IFdURl9B
UlJBWV9MRU5HVEgoZXhjZXB0aW9uRGVzY3JpcHRpb25zKSwgWFBhdGhFeGNlcHRpb25UYWJsZXNN
dXN0TWF0Y2gpOworCitib29sIFhQYXRoRXhjZXB0aW9uOjppbml0aWFsaXplRGVzY3JpcHRpb24o
RXhjZXB0aW9uQ29kZSBlYywgRXhjZXB0aW9uQ29kZURlc2NyaXB0aW9uKiBkZXNjcmlwdGlvbikK
K3sKKyAgICBpZiAoZWMgPCBYUGF0aEV4Y2VwdGlvbk9mZnNldCB8fCBlYyA+IFhQYXRoRXhjZXB0
aW9uTWF4KQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBkZXNjcmlwdGlvbi0+dHlwZU5h
bWUgPSAiRE9NIFhQYXRoIjsKKyAgICBkZXNjcmlwdGlvbi0+Y29kZSA9IGVjIC0gWFBhdGhFeGNl
cHRpb25PZmZzZXQ7CisgICAgZGVzY3JpcHRpb24tPnR5cGUgPSBYUGF0aEV4Y2VwdGlvblR5cGU7
CisKKyAgICBzaXplX3QgdGFibGVTaXplID0gV1RGX0FSUkFZX0xFTkdUSChleGNlcHRpb25OYW1l
cyk7CisgICAgc2l6ZV90IHRhYmxlSW5kZXggPSBlYyAtIElOVkFMSURfRVhQUkVTU0lPTl9FUlI7
CisKKyAgICBkZXNjcmlwdGlvbi0+bmFtZSA9IHRhYmxlSW5kZXggPCB0YWJsZVNpemUgPyBleGNl
cHRpb25OYW1lc1t0YWJsZUluZGV4XSA6IDA7CisgICAgZGVzY3JpcHRpb24tPmRlc2NyaXB0aW9u
ID0gdGFibGVJbmRleCA8IHRhYmxlU2l6ZSA/IGV4Y2VwdGlvbkRlc2NyaXB0aW9uc1t0YWJsZUlu
ZGV4XSA6IDA7CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpJbmRleDogU291cmNlL1dlYkNvcmUveG1sL1hQYXRoRXhjZXB0aW9uLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUveG1sL1hQYXRoRXhjZXB0aW9uLmgJKHJldmlzaW9uIDk4NjcyKQor
KysgU291cmNlL1dlYkNvcmUveG1sL1hQYXRoRXhjZXB0aW9uLmgJKHdvcmtpbmcgY29weSkKQEAg
LTQ4LDYgKzQ4LDggQEAgcHVibGljOgogICAgICAgICBUWVBFX0VSUgogICAgIH07CiAKKyAgICBz
dGF0aWMgYm9vbCBpbml0aWFsaXplRGVzY3JpcHRpb24oRXhjZXB0aW9uQ29kZSwgRXhjZXB0aW9u
Q29kZURlc2NyaXB0aW9uKik7CisKIHByaXZhdGU6CiAgICAgWFBhdGhFeGNlcHRpb24oY29uc3Qg
RXhjZXB0aW9uQ29kZURlc2NyaXB0aW9uJiBkZXNjcmlwdGlvbikKICAgICAgICAgOiBFeGNlcHRp
b25CYXNlKGRlc2NyaXB0aW9uKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>