<?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>81317</bug_id>
          
          <creation_ts>2012-03-16 01:12:15 -0700</creation_ts>
          <short_desc>webkit-file utility needs a command-line interface</short_desc>
          <delta_ts>2012-04-02 08:01:08 -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>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P3</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>61772</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Roland Steiner">rolandsteiner</reporter>
          <assigned_to name="Roland Steiner">rolandsteiner</assigned_to>
          <cc>abarth</cc>
    
    <cc>haraken</cc>
    
    <cc>hayato</cc>
    
    <cc>morrita</cc>
    
    <cc>tony</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>580264</commentid>
    <comment_count>0</comment_count>
    <who name="Roland Steiner">rolandsteiner</who>
    <bug_when>2012-03-16 01:12:15 -0700</bug_when>
    <thetext>This bug is to discuss command-line parsing for the &apos;webkit-file&apos; utility: syntax and implementation</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>592066</commentid>
    <comment_count>1</comment_count>
      <attachid>134781</attachid>
    <who name="Roland Steiner">rolandsteiner</who>
    <bug_when>2012-03-30 05:04:42 -0700</bug_when>
    <thetext>Created attachment 134781
patch, requires 64149, 61773 and 82595

initial version of the webkit-file tool. Remaining things to do that I would prefer to do in follow-up patches:

.) Change to use Python logging module
.) Simplify ID handling in various classes
.) Move more code into base classes (but this requires working on the remaining platforms first)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>592067</commentid>
    <comment_count>2</comment_count>
    <who name="Roland Steiner">rolandsteiner</who>
    <bug_when>2012-03-30 05:05:32 -0700</bug_when>
    <thetext>Addendum: the size of the patch is largely due to unittest data files, not so much code per se.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>592076</commentid>
    <comment_count>3</comment_count>
      <attachid>134788</attachid>
    <who name="Roland Steiner">rolandsteiner</who>
    <bug_when>2012-03-30 05:11:51 -0700</bug_when>
    <thetext>Created attachment 134788
patch, requires 64149, 61773 and 82595

Removing unnecessary data file - the .cpp and .h files are also probably not actually required, but I left them in for the time being.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>593475</commentid>
    <comment_count>4</comment_count>
      <attachid>134788</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-04-02 08:01:08 -0700</bug_when>
    <thetext>Comment on attachment 134788
patch, requires 64149, 61773 and 82595

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

For now I just commented on test files.

&gt; Tools/ChangeLog:11
&gt; +        * Scripts/webkit-file: Added.

Please explain what each file is for.

&gt; Tools/ChangeLog:49
&gt; +        * Scripts/webkitpy/common/project/unittest_files/CMake-unsorted.txt: Added.
&gt; +        * Scripts/webkitpy/common/project/unittest_files/Qt-add-file.pro: Added.
&gt; +        * Scripts/webkitpy/common/project/unittest_files/Qt-sort.pro: Added.
&gt; +        * Scripts/webkitpy/common/project/unittest_files/Qt-unsorted.pri: Added.
&gt; +        * Scripts/webkitpy/common/project/unittest_files/Qt-unsorted.pro: Added.
&gt; +        * Scripts/webkitpy/common/project/unittest_files/Xcode-add-file.pbxproj: Added.
&gt; +        * Scripts/webkitpy/common/project/unittest_files/Xcode-sort.pbxproj: Added.
&gt; +        * Scripts/webkitpy/common/project/unittest_files/Xcode-sorted.pbxproj: Added.
&gt; +        * Scripts/webkitpy/common/project/unittest_files/Xcode-unsorted.pbxproj: Added.
&gt; +        * Scripts/webkitpy/common/project/unittest_files/Xcode-unsorted.xcodeproj/project.pbxproj: Added.
&gt; +        * Scripts/webkitpy/common/project/unittest_files/test-project/existing-in-folder.cpp: Added.
&gt; +        * Scripts/webkitpy/common/project/unittest_files/test-project/existing-in-folder.h: Added.
&gt; +        * Scripts/webkitpy/common/project/unittest_files/test-project/existing.cpp: Added.
&gt; +        * Scripts/webkitpy/common/project/unittest_files/test-project/existing.h: Added.
&gt; +        * Scripts/webkitpy/common/project/unittest_files/test-project/subfolder/existing-in-dir.cpp: Added.
&gt; +        * Scripts/webkitpy/common/project/unittest_files/test-project/subfolder/existing-in-dir.h: Added.
&gt; +        * Scripts/webkitpy/common/project/unittest_files/test-target-Info.plist: Added.

- What does -sort.*, -unsorted.* and -add-file.* represent?

- Why doesn&apos;t IDL files appear in these test files other than CMake-unsorted.txt?

&gt; Tools/Scripts/webkitpy/common/project/options.py:189
&gt; -                self._verbosity = CommonOptions.VERBOSITY_VERY_VERBOSE
&gt; +                self._verbosity = CommonOptions.VERBOSITY_DEBUG

Nit: What is the change for?

&gt; Tools/Scripts/webkit-file:41
&gt; +    #webcore_setup = WebCoreDebugSetup()

Nit: Remove this line.

&gt; Tools/Scripts/webkitpy/common/project/unittest_files/CMake-unsorted.txt:31
&gt; +    LIST(APPEND WebCore_SOURCES

The corresponding &apos;)&apos; is missing.

&gt; Tools/Scripts/webkitpy/common/project/unittest_files/CMake-unsorted.txt:39
&gt; +    LIST(APPEND WebCore_SOURCES

Ditto.

&gt; Tools/Scripts/webkitpy/common/project/unittest_files/CMake-unsorted.txt:44
&gt; +LIST(APPEND WebCore_SOURCES

Ditto.

&gt; Tools/Scripts/webkitpy/common/project/unittest_files/CMake-unsorted.txt:50
&gt; +SET(WebCore_HEADERS

Ditto.

&gt; Tools/Scripts/webkitpy/common/project/unittest_files/CMake-unsorted.txt:59
&gt; +    LIST(APPEND WebCore_HEADERS

Ditto.

&gt; Tools/Scripts/webkitpy/common/project/unittest_files/CMake-unsorted.txt:66
&gt; +    LIST(APPEND WebCore_HEADERS

Ditto.

&gt; Tools/Scripts/webkitpy/common/project/unittest_files/CMake-unsorted.txt:73
&gt; +LIST(APPEND WebCore_HEADERS

Ditto.

&gt; Tools/Scripts/webkitpy/common/project/unittest_files/CMake-unsorted.txt:82
&gt; +    LIST(APPEND WebCore_HEADERS

Ditto.

&gt; Tools/Scripts/webkitpy/common/project/unittest_files/CMake-unsorted.txt:85
&gt; +    LIST(APPEND WebCore_SOURCES

Ditto.

&gt; Tools/Scripts/webkitpy/common/project/unittest_files/test-project/existing-in-folder.h:36
&gt; +
&gt; +

Nit: Remove extra empty lines.

&gt; Tools/Scripts/webkitpy/common/project/unittest_files/test-project/existing.cpp:32
&gt; +

Ditto.

&gt; Tools/Scripts/webkitpy/common/project/unittest_files/test-project/existing.h:36
&gt; +
&gt; +

Ditto.

&gt; Tools/Scripts/webkitpy/common/project/unittest_files/test-project/subfolder/existing-in-dir.cpp:32
&gt; +

Ditto.

&gt; Tools/Scripts/webkitpy/common/project/unittest_files/test-project/subfolder/existing-in-dir.h:36
&gt; +
&gt; +

Ditto.

&gt; Tools/Scripts/webkitpy/common/project/unittest_files/test-target-Info.plist:18
&gt; +	&lt;string&gt;????&lt;/string&gt;

(I am not sure what it is but) is &apos;????&apos; expected?</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>134781</attachid>
            <date>2012-03-30 05:04:42 -0700</date>
            <delta_ts>2012-03-30 05:11:51 -0700</delta_ts>
            <desc>patch, requires 64149, 61773 and 82595</desc>
            <filename>webkit-file-CL.patch</filename>
            <type>text/plain</type>
            <size>117480</size>
            <attacher name="Roland Steiner">rolandsteiner</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAwNTlk
ZWNhLi45YzQzOTFlIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsOTAgQEAKKzIwMTItMDMtMzAgIFJvbGFuZCBTdGVpbmVyICA8cm9s
YW5kc3RlaW5lckBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgd2Via2l0LWZpbGUgdXRpbGl0eSBu
ZWVkcyBhIGNvbW1hbmQtbGluZSBpbnRlcmZhY2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTgxMzE3CisKKyAgICAgICAgQ29tbWFuZC1saW5lIHBhcnNp
bmcgY2xhc3NlcywgdGhlIG1haW4gd2Via2l0LWZpbGUgdG9vbCBmaWxlLAorICAgICAgICBhcyB3
ZWxsIGFzIHVuaXR0ZXN0cyBhbmQgdW5pdHRlc3QgZGF0YSBmaWxlcy4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0LWZpbGU6
IEFkZGVkLgorICAgICAgICAobWFpbik6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9jb21t
b24vcHJvamVjdC9jb21tYW5kLnB5OiBBZGRlZC4KKyAgICAgICAgKENvbW1vbkNvbW1hbmQpOgor
ICAgICAgICAoQ29tbW9uQ29tbWFuZC5fX2luaXRfXyk6CisgICAgICAgIChDb21tb25Db21tYW5k
LnBhcnNlX2NvbW1hbmQpOgorICAgICAgICAoQ29tbW9uQ29tbWFuZC5jYW5vbmljYWxpemVfYXJn
c19maWxlX3BhdGhzKToKKyAgICAgICAgKENvbW1vbkNvbW1hbmQudmVyaWZ5KToKKyAgICAgICAg
KENvbW1vbkNvbW1hbmQuZXhlY3V0ZV9pbl9wcm9qZWN0KToKKyAgICAgICAgKENvbW1vbkNvbW1h
bmQuZXhlY3V0ZSk6CisgICAgICAgIChDb21tb25IZWxwQ29tbWFuZCk6CisgICAgICAgIChDb21t
b25IZWxwQ29tbWFuZC5fX2luaXRfXyk6CisgICAgICAgIChDb21tb25IZWxwQ29tbWFuZC52ZXJp
ZnkpOgorICAgICAgICAoQ29tbW9uSGVscENvbW1hbmQuZXhlY3V0ZSk6CisgICAgICAgIChDb21t
b25Tb3J0Q29tbWFuZCk6CisgICAgICAgIChDb21tb25Tb3J0Q29tbWFuZC5fX2luaXRfXyk6Cisg
ICAgICAgIChDb21tb25Tb3J0Q29tbWFuZC52ZXJpZnkpOgorICAgICAgICAoQ29tbW9uU29ydENv
bW1hbmQuZXhlY3V0ZV9pbl9wcm9qZWN0KToKKyAgICAgICAgKENvbW1vbkFkZEZpbGVDb21tYW5k
KToKKyAgICAgICAgKENvbW1vbkFkZEZpbGVDb21tYW5kLl9faW5pdF9fKToKKyAgICAgICAgKENv
bW1vbkFkZEZpbGVDb21tYW5kLnZlcmlmeSk6CisgICAgICAgIChDb21tb25BZGRGaWxlQ29tbWFu
ZC5leGVjdXRlX2luX3Byb2plY3QpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvY29tbW9u
L3Byb2plY3QvdW5pdHRlc3RfZmlsZXMvQ01ha2UtdW5zb3J0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBTY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9wcm9qZWN0L3VuaXR0ZXN0X2ZpbGVzL1F0LWFk
ZC1maWxlLnBybzogQWRkZWQuCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9jb21tb24vcHJv
amVjdC91bml0dGVzdF9maWxlcy9RdC1zb3J0LnBybzogQWRkZWQuCisgICAgICAgICogU2NyaXB0
cy93ZWJraXRweS9jb21tb24vcHJvamVjdC91bml0dGVzdF9maWxlcy9RdC11bnNvcnRlZC5wcmk6
IEFkZGVkLgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvY29tbW9uL3Byb2plY3QvdW5pdHRl
c3RfZmlsZXMvUXQtdW5zb3J0ZWQucHJvOiBBZGRlZC4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtp
dHB5L2NvbW1vbi9wcm9qZWN0L3VuaXR0ZXN0X2ZpbGVzL1hjb2RlLWFkZC1maWxlLnBieHByb2o6
IEFkZGVkLgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvY29tbW9uL3Byb2plY3QvdW5pdHRl
c3RfZmlsZXMvWGNvZGUtc29ydC5wYnhwcm9qOiBBZGRlZC4KKyAgICAgICAgKiBTY3JpcHRzL3dl
YmtpdHB5L2NvbW1vbi9wcm9qZWN0L3VuaXR0ZXN0X2ZpbGVzL1hjb2RlLXNvcnRlZC5wYnhwcm9q
OiBBZGRlZC4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9wcm9qZWN0L3VuaXR0
ZXN0X2ZpbGVzL1hjb2RlLXVuc29ydGVkLnBieHByb2o6IEFkZGVkLgorICAgICAgICAqIFNjcmlw
dHMvd2Via2l0cHkvY29tbW9uL3Byb2plY3QvdW5pdHRlc3RfZmlsZXMvWGNvZGUtdW5zb3J0ZWQu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajogQWRkZWQuCisgICAgICAgICogU2NyaXB0cy93ZWJr
aXRweS9jb21tb24vcHJvamVjdC91bml0dGVzdF9maWxlcy90ZXN0LXByb2plY3QvZXhpc3Rpbmct
aW4tZm9sZGVyLmNwcDogQWRkZWQuCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9jb21tb24v
cHJvamVjdC91bml0dGVzdF9maWxlcy90ZXN0LXByb2plY3QvZXhpc3RpbmctaW4tZm9sZGVyLmg6
IEFkZGVkLgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvY29tbW9uL3Byb2plY3QvdW5pdHRl
c3RfZmlsZXMvdGVzdC1wcm9qZWN0L2V4aXN0aW5nLmNwcDogQWRkZWQuCisgICAgICAgICogU2Ny
aXB0cy93ZWJraXRweS9jb21tb24vcHJvamVjdC91bml0dGVzdF9maWxlcy90ZXN0LXByb2plY3Qv
ZXhpc3RpbmcuaDogQWRkZWQuCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9jb21tb24vcHJv
amVjdC91bml0dGVzdF9maWxlcy90ZXN0LXByb2plY3Qvc3ViZm9sZGVyL2V4aXN0aW5nLWluLWRp
ci5jcHA6IEFkZGVkLgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvY29tbW9uL3Byb2plY3Qv
dW5pdHRlc3RfZmlsZXMvdGVzdC1wcm9qZWN0L3N1YmZvbGRlci9leGlzdGluZy1pbi1kaXIuaDog
QWRkZWQuCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9jb21tb24vcHJvamVjdC91bml0dGVz
dF9maWxlcy90ZXN0LXRhcmdldC1JbmZvLnBsaXN0OiBBZGRlZC4KKyAgICAgICAgKiBTY3JpcHRz
L3dlYmtpdHB5L2NvbW1vbi9wcm9qZWN0L3dlYmtpdGZpbGUucHk6IEFkZGVkLgorICAgICAgICAo
V2ViS2l0RmlsZVNldHVwKToKKyAgICAgICAgKFdlYktpdEZpbGVTZXR1cC5mb3IpOgorICAgICAg
ICAoV2ViS2l0RmlsZVNldHVwLl9faW5pdF9fKToKKyAgICAgICAgKFdlYktpdEZpbGVTZXR1cC5p
bml0aWFsaXplKToKKyAgICAgICAgKFdlYktpdEZpbGVTZXR1cC5yZWFkX3Byb2plY3RfZmlsZXMp
OgorICAgICAgICAoV2ViS2l0RmlsZVNldHVwLndyaXRlX3Byb2plY3RfZmlsZXMpOgorICAgICAg
ICAoV2ViQ29yZVNldHVwKToKKyAgICAgICAgKFdlYkNvcmVTZXR1cC5fX2luaXRfXyk6CisgICAg
ICAgIChXZWJDb3JlU2V0dXAuaW5pdGlhbGl6ZSk6CisgICAgICAgIChXZWJDb3JlRGVidWdTZXR1
cCk6CisgICAgICAgIChXZWJDb3JlRGVidWdTZXR1cC53cml0ZV9wcm9qZWN0X2ZpbGVzKToKKyAg
ICAgICAgKFdlYkNvcmVEZWJ1Z1NldHVwLmRlYnVnX3J1bik6CisgICAgICAgIChXZWJLaXRGaWxl
KToKKyAgICAgICAgKFdlYktpdEZpbGUuX19pbml0X18pOgorICAgICAgICAoV2ViS2l0RmlsZS5k
ZWJ1Zyk6CisgICAgICAgIChXZWJLaXRGaWxlLmluZm8pOgorICAgICAgICAoV2ViS2l0RmlsZS53
YXJuaW5nKToKKyAgICAgICAgKFdlYktpdEZpbGUuZXJyb3IpOgorICAgICAgICAoV2ViS2l0Rmls
ZS52ZXJpZnkpOgorICAgICAgICAoV2ViS2l0RmlsZS5wYXJzZV9jb21tYW5kX2xpbmUpOgorICAg
ICAgICAoV2ViS2l0RmlsZS5pbml0aWFsaXplX3NldHVwKToKKyAgICAgICAgKFdlYktpdEZpbGUu
cmVhZF9wcm9qZWN0X2ZpbGVzKToKKyAgICAgICAgKFdlYktpdEZpbGUud3JpdGVfcHJvamVjdF9m
aWxlcyk6CisgICAgICAgIChXZWJLaXRGaWxlLmV4ZWN1dGVfY29tbWFuZHMpOgorICAgICAgICAo
V2ViS2l0RmlsZS5leGVjdXRlX2NvbW1hbmRfbGluZSk6CisgICAgICAgICogU2NyaXB0cy93ZWJr
aXRweS9jb21tb24vcHJvamVjdC93ZWJraXRmaWxlX3VuaXR0ZXN0LnB5OiBBZGRlZC4KKyAgICAg
ICAgKFdlYktpdEZpbGVVbml0VGVzdFNldHVwKToKKyAgICAgICAgKFdlYktpdEZpbGVVbml0VGVz
dFNldHVwLl9faW5pdF9fKToKKyAgICAgICAgKFdlYktpdEZpbGVVbml0VGVzdFNldHVwLmNyZWF0
ZV9VSUQpOgorICAgICAgICAoV2ViS2l0RmlsZVVuaXRUZXN0U2V0dXAuaW5pdGlhbGl6ZSk6Cisg
ICAgICAgIChXZWJLaXRGaWxlVW5pdFRlc3RTZXR1cC53cml0ZV9wcm9qZWN0X2ZpbGVzKToKKyAg
ICAgICAgKFdlYktpdEZpbGVUZXN0KToKKyAgICAgICAgKFdlYktpdEZpbGVUZXN0LnNldFVwKToK
KyAgICAgICAgKFdlYktpdEZpbGVUZXN0LnRlYXJEb3duKToKKyAgICAgICAgKFdlYktpdEZpbGVU
ZXN0LnRlc3Rfc29ydCk6CisgICAgICAgIChXZWJLaXRGaWxlVGVzdC50ZXN0X2FkZF9maWxlKToK
KwogMjAxMi0wMy0yOSAgVmluZWV0IENoYXVkaGFyeSAgPHJnZjc0OEBtb3Rvcm9sYS5jb20+CiAK
ICAgICAgICAgUmVtb3ZlIGN1c3RvbSBiaW5kaW5ncyBmb3JtIEludGVybmFscy5pZGwgb2YgYXR0
cmlidXRlIHR5cGUgQXJyYXkuCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2Nv
bW1vbi9wcm9qZWN0L2NvbW1vbi5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3By
b2plY3QvY29tbW9uLnB5CmluZGV4IGM2ZjYwNDcuLmU2ODNkYjggMTAwNjQ0Ci0tLSBhL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3Byb2plY3QvY29tbW9uLnB5CisrKyBiL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvY29tbW9uL3Byb2plY3QvY29tbW9uLnB5CkBAIC0yNywxMiArMjcsMTMg
QEAKICMgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCiAjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAKK2ltcG9ydCBzeXMKKwogZnJvbSB3
ZWJraXRweS5jb21tb24uY2hlY2tvdXQuc2NtLmRldGVjdGlvbiBpbXBvcnQgU0NNRGV0ZWN0b3IK
IGZyb20gd2Via2l0cHkuY29tbW9uLnByb2plY3Qub3B0aW9ucyBpbXBvcnQgKgogZnJvbSB3ZWJr
aXRweS5jb21tb24uc3lzdGVtLmZpbGVzeXN0ZW0gaW1wb3J0IEZpbGVTeXN0ZW0KIGZyb20gd2Vi
a2l0cHkuY29tbW9uLnN5c3RlbS5leGVjdXRpdmUgaW1wb3J0IEV4ZWN1dGl2ZQogCi1pbXBvcnQg
c3lzCiAKICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIApA
QCAtMjMwLDcgKzIzMSw3IEBAIGNsYXNzIENvbW1vblNDTURpcmVjdG9yeShDb21tb25EaXJlY3Rv
cnkpOgogICAgICAgICByZXR1cm4gVHJ1ZQogCiAgICAgZGVmIF9kZXNjcGF0aF93aXRoX3NlcChz
ZWxmLCBzZXApOgotICAgICAgICByZXR1cm4gc2VsZi5uYW1lCisgICAgICAgIHJldHVybiBzZWxm
Lm5hbWUgKyBzZXAKIAogCiBjbGFzcyBDb21tb25CYXNlRGlyZWN0b3J5KENvbW1vbkRpcmVjdG9y
eSk6CkBAIC00MjcsNyArNDI4LDcgQEAgY2xhc3MgQ29tbW9uSW5mbyhvYmplY3QpOgogICAgICAg
ICBhc3NlcnQgaXNpbnN0YW5jZShiYXNlX2RpcmVjdG9yeSwgQ29tbW9uRGlyZWN0b3J5KQogICAg
ICAgICBpZiBub3QgcmVscGF0aDoKICAgICAgICAgICAgIHJldHVybiBiYXNlX2RpcmVjdG9yeQot
ICAgICAgICBzZXAgPSBzZXAgb3IgJy8nCisgICAgICAgIHNlcCA9IHNlcCBvciBzZWxmLmZpbGVz
eXN0ZW0uc2VwCiAgICAgICAgIHZhcmlhYmxlX3RvX2RpcmVjdG9yeSA9IHZhcmlhYmxlX3RvX2Rp
cmVjdG9yeSBvciB7fQogICAgICAgICBpZiByZWxwYXRoLnN0YXJ0c3dpdGgoc2VwKToKICAgICAg
ICAgICAgIGJhc2VfZGlyZWN0b3J5ID0gc2VsZi5yb290X2RpcmVjdG9yeQpAQCAtNDY4LDcgKzQ2
OSw3IEBAIGNsYXNzIENvbW1vbkluZm8ob2JqZWN0KToKICAgICAgICAgYXNzZXJ0IGJhc2VfZGly
ZWN0b3J5CiAgICAgICAgIGFzc2VydCBpc2luc3RhbmNlKGJhc2VfZGlyZWN0b3J5LCBDb21tb25E
aXJlY3RvcnkpCiAgICAgICAgIGFzc2VydCByZWxwYXRoCi0gICAgICAgIHNlcCA9IHNlcCBvciAn
LycKKyAgICAgICAgc2VwID0gc2VwIG9yIHNlbGYuZmlsZXN5c3RlbS5zZXAKICAgICAgICAgZGly
ZWN0b3J5X25hbWVzLCBzZXBhcmF0b3IsIGZpbGVfbmFtZSA9IHJlbHBhdGgucnBhcnRpdGlvbihz
ZXApCiAgICAgICAgIGlmIHNlcGFyYXRvcjoKICAgICAgICAgICAgIGlmIGRpcmVjdG9yeV9uYW1l
czoKQEAgLTUxMyw3ICs1MTQsNyBAQCBjbGFzcyBDb21tb25JbmZvKG9iamVjdCk6CiAgICAgICAg
ICcnJwogICAgICAgICBhc3NlcnQgZGlyZWN0b3J5CiAgICAgICAgIGFzc2VydCBpc2luc3RhbmNl
KGRpcmVjdG9yeSwgQ29tbW9uRGlyZWN0b3J5KQotICAgICAgICBzZXAgPSBzZXAgb3IgJy8nCisg
ICAgICAgIHNlcCA9IHNlcCBvciBzZWxmLmZpbGVzeXN0ZW0uc2VwCiAgICAgICAgIGRpcmVjdG9y
eV90b192YXJpYWJsZSA9IGRpcmVjdG9yeV90b192YXJpYWJsZSBvciB7fQogICAgICAgICBpZiBk
aXJlY3RvcnkgaXMgc2VsZi5yb290X2RpcmVjdG9yeSBhbmQgZGlyZWN0b3J5IG5vdCBpbiBkaXJl
Y3RvcnlfdG9fdmFyaWFibGU6CiAgICAgICAgICAgICByZXR1cm4gc2VwCkBAIC01MzAsNyArNTMx
LDcgQEAgY2xhc3MgQ29tbW9uSW5mbyhvYmplY3QpOgogICAgICAgICBhc3NlcnQgaXNpbnN0YW5j
ZShkaXJlY3RvcnksIENvbW1vbkRpcmVjdG9yeSkKICAgICAgICAgaWYgYmFzZV9kaXJlY3Rvcnkg
PT0gZGlyZWN0b3J5OgogICAgICAgICAgICAgcmV0dXJuICcuJwotICAgICAgICBzZXAgPSBzZXAg
b3IgJy8nCisgICAgICAgIHNlcCA9IHNlcCBvciBzZWxmLmZpbGVzeXN0ZW0uc2VwCiAgICAgICAg
IGRpcmVjdG9yeV9saXN0MSA9IGJhc2VfZGlyZWN0b3J5LmRpcmVjdG9yeV9saXN0KCkKICAgICAg
ICAgZGlyZWN0b3J5X2xpc3QyID0gZGlyZWN0b3J5LmRpcmVjdG9yeV9saXN0KCkKICAgICAgICAg
YXNzZXJ0IGRpcmVjdG9yeV9saXN0MQpAQCAtNTU2LDcgKzU1Nyw3IEBAIGNsYXNzIENvbW1vbklu
Zm8ob2JqZWN0KToKICAgICAgICAgJycnCiAgICAgICAgIGFzc2VydCBmaWxlCiAgICAgICAgIGFz
c2VydCBpc2luc3RhbmNlKGZpbGUsIENvbW1vbkZpbGUpCi0gICAgICAgIHNlcCA9IHNlcCBvciAn
LycKKyAgICAgICAgc2VwID0gc2VwIG9yIHNlbGYuZmlsZXN5c3RlbS5zZXAKICAgICAgICAgcmV0
dXJuIHNlbGYuX2RpcmVjdG9yeV9hYnNwYXRoX3ByZWZpeChmaWxlLmRpcmVjdG9yeSwgc2VwLCBk
aXJlY3RvcnlfdG9fdmFyaWFibGUgb3Ige30pICsgc2VwICsgZmlsZS5uYW1lCiAKICAgICBkZWYg
ZmlsZV9yZWxwYXRoKHNlbGYsIGJhc2VfZGlyZWN0b3J5LCBmaWxlLCBzZXA9Tm9uZSwgZGlyZWN0
b3J5X3RvX3ZhcmlhYmxlPU5vbmUsIGFsd2F5c19wcmVmaXg9RmFsc2UpOgpAQCAtNTcwLDcgKzU3
MSw3IEBAIGNsYXNzIENvbW1vbkluZm8ob2JqZWN0KToKICAgICAgICAgYXNzZXJ0IGlzaW5zdGFu
Y2UoZmlsZSwgQ29tbW9uRmlsZSkKICAgICAgICAgaWYgYmFzZV9kaXJlY3RvcnkgPT0gZmlsZS5k
aXJlY3RvcnkgYW5kIG5vdCBhbHdheXNfcHJlZml4OgogICAgICAgICAgICAgcmV0dXJuIGZpbGUu
bmFtZQotICAgICAgICBzZXAgPSBzZXAgb3IgJy8nCisgICAgICAgIHNlcCA9IHNlcCBvciBzZWxm
LmZpbGVzeXN0ZW0uc2VwCiAgICAgICAgIHJldHVybiBzZWxmLmRpcmVjdG9yeV9yZWxwYXRoKGJh
c2VfZGlyZWN0b3J5LCBmaWxlLmRpcmVjdG9yeSwgc2VwLCBkaXJlY3RvcnlfdG9fdmFyaWFibGUs
IGFsd2F5c19wcmVmaXgpICsgc2VwICsgZmlsZS5uYW1lCiAKICAgICBkZWYgZW5zdXJlX0RFRklO
RShzZWxmLCBmbGFnX25hbWUpOgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9j
b21tb24vcHJvamVjdC9vcHRpb25zLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24v
cHJvamVjdC9vcHRpb25zLnB5CmluZGV4IDU0MTE1MjUuLjhhOThiYjUgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3Byb2plY3Qvb3B0aW9ucy5weQorKysgYi9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9wcm9qZWN0L29wdGlvbnMucHkKQEAgLTE4Niw2ICsx
ODYsNiBAQCBjbGFzcyBDb21tb25PcHRpb25zKG9iamVjdCk6CiAgICAgICAgICAgICAgICAgc2Vs
Zi5fdmVyYm9zaXR5ID0gQ29tbW9uT3B0aW9ucy5WRVJCT1NJVFlfVkVSQk9TRQogICAgICAgICAg
ICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAgICBpZiBvcHRpb25fc3RyaW5nID09ICctLWRlYnVn
JyBvciBvcHRpb25fc3RyaW5nID09ICctLXZlcmJvc2l0eT1kZWJ1Zycgb3Igb3B0aW9uX3N0cmlu
ZyA9PSAnLS12ZXJib3NpdHk9Myc6Ci0gICAgICAgICAgICAgICAgc2VsZi5fdmVyYm9zaXR5ID0g
Q29tbW9uT3B0aW9ucy5WRVJCT1NJVFlfVkVSWV9WRVJCT1NFCisgICAgICAgICAgICAgICAgc2Vs
Zi5fdmVyYm9zaXR5ID0gQ29tbW9uT3B0aW9ucy5WRVJCT1NJVFlfREVCVUcKICAgICAgICAgICAg
ICAgICBjb250aW51ZQogICAgICAgICAgICAgY29tbW9uLmVycm9yKCJVbmtub3duIGNvbW1hbmQt
bGluZSBvcHRpb24gJXMhIiAlIG9wdGlvbl9zdHJpbmcpCmRpZmYgLS1naXQgYS9Ub29scy9TY3Jp
cHRzL3dlYmtpdC1maWxlIGIvVG9vbHMvU2NyaXB0cy93ZWJraXQtZmlsZQpuZXcgZmlsZSBtb2Rl
IDEwMDc1NQppbmRleCAwMDAwMDAwLi44ZThkMTQ3Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMv
U2NyaXB0cy93ZWJraXQtZmlsZQpAQCAtMCwwICsxLDQ3IEBACisjIS91c3IvYmluL2VudiBweXRo
b24KKyMgQ29weXJpZ2h0IChjKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisjIG1ldDoKKyMKKyMgICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyMgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorIyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlCisjIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyMgaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorIyBkaXN0cmlidXRp
b24uCisjICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1l
cyBvZiBpdHMKKyMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyMgdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworIyAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAor
IyBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IKKyMgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyMgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisjIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
KyMgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsCisjIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorIyBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisjIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorIworIyBUaGlzIGlzIGEgdmVyeSBzaW1wbGUgc2NyaXB0IGRl
c2lnbmVkIHRvIGNyYXdsIHRoZSBidWlsZCBkaXJlY3RvcnkKKyMgZm9yIHZpc3VhbCBzdHVkaW8g
ZXhwcmVzcyBidWlsZCBsb2dzIGFuZCBwcmludCB0aGVtIHRvIHN0ZG91dC4KKworZnJvbSB3ZWJr
aXRweS5jb21tb24ucHJvamVjdC53ZWJraXRmaWxlIGltcG9ydCAqCisKKworZGVmIG1haW4oKToK
KyAgICBpZiBsZW4oc3lzLmFyZ3YpIDwgMzoKKyAgICAgICAgcHJpbnQgIlVzYWdlOiAlcyBbPG9w
dGlvbnM+XSA8Y29tbWFuZD4gWywgPGNvbW1hbmQ+XS4uLiIgJSBzeXMuYXJndlswXQorICAgICAg
ICByZXR1cm4KKyAgICB3ZWJjb3JlX3NldHVwID0gV2ViQ29yZVNldHVwKCkKKyAgICAjd2ViY29y
ZV9zZXR1cCA9IFdlYkNvcmVEZWJ1Z1NldHVwKCkKKyAgICB3ZWJraXRfZmlsZSA9IFdlYktpdEZp
bGUod2ViY29yZV9zZXR1cCwgc3lzLmFyZ3ZbMTpdKQorICAgIHdlYmtpdF9maWxlLmV4ZWN1dGVf
Y29tbWFuZF9saW5lKCkKKworCitpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgorICAgIG1haW4o
KQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vcHJvamVjdC9jb21t
YW5kLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vcHJvamVjdC9jb21tYW5kLnB5
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU5OTM3YmEKLS0tIC9kZXYvbnVs
bAorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9wcm9qZWN0L2NvbW1hbmQucHkK
QEAgLTAsMCArMSwxNTEgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbgorIyBDb3B5cmlnaHQgKEMp
IDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisj
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUKKyMgbWV0OgorIworIyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyMgICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisj
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIKKyMgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZQorIyBkaXN0cmlidXRpb24uCisjICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworIyBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bQorIyB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLgorIworIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTCisjICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisjIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorIyBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVAorIyBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyMgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyMgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZCisjIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyMgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisjIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisK
K2ltcG9ydCBjb3B5CisKK2Zyb20gd2Via2l0cHkuY29tbW9uLnByb2plY3Qub3B0aW9ucyBpbXBv
cnQgKgorCisKK2NsYXNzIENvbW1vbkNvbW1hbmQob2JqZWN0KToKKyAgICAiIiIKKyAgICBQcm9q
ZWN0IGZpbGUgbWFuaXB1bGF0aW9uIGNvbW1hbmRzCisgICAgIiIiCisgICAgZGVmIF9faW5pdF9f
KHNlbGYsIGNvbW1hbmQsIGNvbW1vbiwgb3B0aW9ucz1Ob25lLCBhcmdzPU5vbmUpOgorICAgICAg
ICBhc3NlcnQgY29tbWFuZAorICAgICAgICBhc3NlcnQgY29tbW9uCisgICAgICAgIGFzc2VydCBu
b3Qgb3B0aW9ucyBvciBpc2luc3RhbmNlKG9wdGlvbnMsIENvbW1vbk9wdGlvbnMpCisgICAgICAg
IHNlbGYuY29tbWFuZCA9IGNvbW1hbmQKKyAgICAgICAgc2VsZi5jb21tb24gPSBjb21tb24KKyAg
ICAgICAgc2VsZi5vcHRpb25zID0gb3B0aW9ucyBvciBDb21tb25PcHRpb25zKCkKKyAgICAgICAg
c2VsZi5hcmdzID0gYXJncyBvciBbXQorCisgICAgQHN0YXRpY21ldGhvZAorICAgIGRlZiBwYXJz
ZV9jb21tYW5kKGNvbW1vbiwgZ2xvYmFsX29wdGlvbnMsIGxpc3QpOgorICAgICAgICBhc3NlcnQg
Z2xvYmFsX29wdGlvbnMKKyAgICAgICAgYXNzZXJ0IGlzaW5zdGFuY2UoZ2xvYmFsX29wdGlvbnMs
IENvbW1vbk9wdGlvbnMpCisgICAgICAgIGlmIG5vdCBsaXN0OgorICAgICAgICAgICAgcmFpc2Ug
RXhjZXB0aW9uKCJDb21tYW5kIGV4cGVjdGVkISIpCisgICAgICAgIGNvbW1hbmRfbmFtZSA9IGxp
c3QucG9wKDApCisgICAgICAgIGlmIGNvbW1hbmRfbmFtZSA9PSAiaGVscCI6CisgICAgICAgICAg
ICBjb21tYW5kID0gQ29tbW9uSGVscENvbW1hbmQoY29tbWFuZF9uYW1lLCBjb21tb24sIGNvcHku
Y29weShnbG9iYWxfb3B0aW9ucykpCisgICAgICAgIGlmIGNvbW1hbmRfbmFtZSA9PSAic29ydCI6
CisgICAgICAgICAgICBjb21tYW5kID0gQ29tbW9uU29ydENvbW1hbmQoY29tbWFuZF9uYW1lLCBj
b21tb24sIGNvcHkuY29weShnbG9iYWxfb3B0aW9ucykpCisgICAgICAgIGVsaWYgY29tbWFuZF9u
YW1lID09ICJhZGQiOgorICAgICAgICAgICAgY29tbWFuZCA9IENvbW1vbkFkZEZpbGVDb21tYW5k
KGNvbW1hbmRfbmFtZSwgY29tbW9uLCBjb3B5LmNvcHkoZ2xvYmFsX29wdGlvbnMpKQorICAgICAg
ICBlbHNlOgorICAgICAgICAgICAgY29tbW9uLmVycm9yKCJVbmtub3duIENvbW1hbmQgJyVzJyEi
ICUgY29tbWFuZF9uYW1lKQorICAgICAgICBjb21tYW5kLm9wdGlvbnMucGFyc2UoY29tbW9uLCBs
aXN0KQorICAgICAgICB3aGlsZSBsaXN0IGFuZCBsaXN0WzBdICE9ICcsJzoKKyAgICAgICAgICAg
IGNvbW1hbmQuYXJncy5hcHBlbmQobGlzdC5wb3AoMCkpCisgICAgICAgIGNvbW1hbmQudmVyaWZ5
KCkKKyAgICAgICAgcmV0dXJuIGNvbW1hbmQKKworICAgIGRlZiBjYW5vbmljYWxpemVfYXJnc19m
aWxlX3BhdGhzKHNlbGYpOgorICAgICAgICAjIENhbm9uaWNhbGl6ZSByZWxhdGl2ZSBmaWxlIHBh
dGhzIHRvIG9yaWdpbmF0ZSBmcm9tIHRoZSBTQ00gY2hlY2tvdXQgcm9vdC4KKyAgICAgICAgYXJn
cyA9IHNlbGYuYXJnc1s6XQorICAgICAgICBzZWxmLmFyZ3MgPSBbXQorICAgICAgICBmb3IgZmls
ZV9wYXRoIGluIGFyZ3M6CisgICAgICAgICAgICBpZiAnICcgaW4gZmlsZV9wYXRoOgorICAgICAg
ICAgICAgICAgIHNlbGYuY29tbW9uLndhcm5pbmcoIlJlcGxhY2luZyBzcGFjZXMgJyAnIHdpdGgg
dW5kZXJzY29yZXMgJ18nIGluIGZpbGUgJXMhIiAlIGZpbGVfcGF0aCkKKyAgICAgICAgICAgICAg
ICBmaWxlX3BhdGggPSBmaWxlX3BhdGgucmVwbGFjZSgnICcsICdfJykKKyAgICAgICAgICAgIGlm
IG5vdCBmaWxlX3BhdGg6CisgICAgICAgICAgICAgICAgc2VsZi5jb21tb24ud2FybmluZygiJyVz
JzogZGlzY2FyZGluZyBlbXB0eSBhcmd1bWVudCIgJSBzZWxmLmNvbW1hbmQpCisgICAgICAgICAg
ICAgICAgY29udGludWUKKyAgICAgICAgICAgIGlmIHNlbGYuY29tbW9uLmZpbGVzeXN0ZW0uaXNh
YnMoZmlsZV9wYXRoKSBvciBmaWxlX3BhdGhbMF0gPT0gJyQnOgorICAgICAgICAgICAgICAgICMg
QWJzb2x1dGUgcGF0aCBvciBwYXRoIHN0YXJ0aW5nIGZyb20gYSB2YXJpYWJsZSAtPiB1c2UgYXMg
aXMuCisgICAgICAgICAgICAgICAgc2VsZi5hcmdzLmFwcGVuZChmaWxlX3BhdGgpCisgICAgICAg
ICAgICAgICAgY29udGludWUKKyAgICAgICAgICAgIGFic3BhdGggPSBzZWxmLmNvbW1vbi5maWxl
c3lzdGVtLmFic3BhdGgoZmlsZV9wYXRoKQorICAgICAgICAgICAgcmVscGF0aCA9IHNlbGYuY29t
bW9uLmZpbGVzeXN0ZW0ucmVscGF0aChmaWxlX3BhdGgsIHNlbGYuY29tbW9uLnNjbV9hYnNwYXRo
KQorICAgICAgICAgICAgc2VsZi5hcmdzLmFwcGVuZChyZWxwYXRoKQorCisgICAgZGVmIHZlcmlm
eShzZWxmKToKKyAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcigic3ViY2xhc3NlcyBt
dXN0IGltcGxlbWVudCIpCisKKyAgICBkZWYgZXhlY3V0ZV9pbl9wcm9qZWN0KHNlbGYsIHByb2pl
Y3QpOgorICAgICAgICByYWlzZSBOb3RJbXBsZW1lbnRlZEVycm9yKCJzdWJjbGFzc2VzIG11c3Qg
aW1wbGVtZW50IikKKworICAgIGRlZiBleGVjdXRlKHNlbGYsIHBsYXRmb3JtX3RvX3Byb2plY3Qp
OgorICAgICAgICBmb3IgKHBsYXRmb3JtLCBwcm9qZWN0KSBpbiBwbGF0Zm9ybV90b19wcm9qZWN0
Lml0ZW1zKCk6CisgICAgICAgICAgICBpZiBzZWxmLm9wdGlvbnMuaXNfcGxhdGZvcm1fZW5hYmxl
ZChwbGF0Zm9ybSk6CisgICAgICAgICAgICAgICAgc2VsZi5leGVjdXRlX2luX3Byb2plY3QocHJv
amVjdCkKKworCisjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
CisKK2NsYXNzIENvbW1vbkhlbHBDb21tYW5kKENvbW1vbkNvbW1hbmQpOgorICAgICIiIgorICAg
ICdzb3J0JyBjb21tYW5kCisgICAgIiIiCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGNvbW1hbmQs
IGNvbW1vbiwgb3B0aW9ucz1Ob25lLCBhcmdzPU5vbmUpOgorICAgICAgICBDb21tb25Db21tYW5k
Ll9faW5pdF9fKHNlbGYsIGNvbW1hbmQsIGNvbW1vbiwgb3B0aW9ucywgYXJncykKKworICAgIGRl
ZiB2ZXJpZnkoc2VsZik6CisgICAgICAgIHBhc3MKKworICAgIGRlZiBleGVjdXRlKHNlbGYsIHBs
YXRmb3JtX3RvX3Byb2plY3QpOgorICAgICAgICAjCisgICAgICAgICMgVE9ETzogb3V0cHV0IGhl
bHAsIHNwZWNpZmljIHRvIGFyZ3VtZW50cyAoaWYgYW55KSwgb3IgZ2VuZXJhbAorICAgICAgICAj
CisgICAgICAgIHBhc3MKKworCisjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09CisKK2NsYXNzIENvbW1vblNvcnRDb21tYW5kKENvbW1vbkNvbW1hbmQpOgorICAg
ICIiIgorICAgICdzb3J0JyBjb21tYW5kCisgICAgIiIiCisgICAgZGVmIF9faW5pdF9fKHNlbGYs
IGNvbW1hbmQsIGNvbW1vbiwgb3B0aW9ucz1Ob25lLCBhcmdzPU5vbmUpOgorICAgICAgICBDb21t
b25Db21tYW5kLl9faW5pdF9fKHNlbGYsIGNvbW1hbmQsIGNvbW1vbiwgb3B0aW9ucywgYXJncykK
KworICAgIGRlZiB2ZXJpZnkoc2VsZik6CisgICAgICAgIHNlbGYuY29tbW9uLnZlcmlmeShub3Qg
c2VsZi5hcmdzLCAiJ3NvcnQnIGNvbW1hbmQgZG9lcyBub3QgdGFrZSBhcmd1bWVudHMhIikKKwor
ICAgIGRlZiBleGVjdXRlX2luX3Byb2plY3Qoc2VsZiwgcHJvamVjdCk6CisgICAgICAgIHBhc3MK
KworCisjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKK2Ns
YXNzIENvbW1vbkFkZEZpbGVDb21tYW5kKENvbW1vbkNvbW1hbmQpOgorICAgICIiIgorICAgICdh
ZGQnIGNvbW1hbmQKKyAgICAiIiIKKyAgICBkZWYgX19pbml0X18oc2VsZiwgY29tbWFuZCwgY29t
bW9uLCBvcHRpb25zPU5vbmUsIGFyZ3M9Tm9uZSk6CisgICAgICAgIENvbW1vbkNvbW1hbmQuX19p
bml0X18oc2VsZiwgY29tbWFuZCwgY29tbW9uLCBvcHRpb25zLCBhcmdzKQorCisgICAgZGVmIHZl
cmlmeShzZWxmKToKKyAgICAgICAgc2VsZi5jYW5vbmljYWxpemVfYXJnc19maWxlX3BhdGhzKCkK
KyAgICAgICAgc2VsZi5jb21tb24udmVyaWZ5KHNlbGYuYXJncywgIidhZGQnIGNvbW1hbmQgcmVx
dWlyZXMgYXQgbGVhc3QgMSBmaWxlIHBhdGggYXJndW1lbnQhIikKKworICAgIGRlZiBleGVjdXRl
X2luX3Byb2plY3Qoc2VsZiwgcHJvamVjdCk6CisgICAgICAgIGZvciBmaWxlX3BhdGggaW4gc2Vs
Zi5hcmdzOgorICAgICAgICAgICAgZmlsZSA9IHNlbGYuY29tbW9uLmVuc3VyZV9maWxlX3BhdGgo
c2VsZi5jb21tb24uc2NtX2RpcmVjdG9yeSwgZmlsZV9wYXRoKQorICAgICAgICAgICAgcHJvamVj
dC5hZGRfZmlsZShmaWxlKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21t
b24vcHJvamVjdC91bml0dGVzdF9maWxlcy9DTWFrZS11bnNvcnRlZC50eHQgYi9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L2NvbW1vbi9wcm9qZWN0L3VuaXR0ZXN0X2ZpbGVzL0NNYWtlLXVuc29ydGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYjk1NGM0Ci0tLSAvZGV2
L251bGwKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vcHJvamVjdC91bml0dGVz
dF9maWxlcy9DTWFrZS11bnNvcnRlZC50eHQKQEAgLTAsMCArMSwxMDcgQEAKK1NFVChXZWJDb3Jl
X0lOQ0xVREVfRElSRUNUT1JJRVMKKyAgICAiJHtXRUJDT1JFX0RJUn0iCisgICAgIiR7V0VCQ09S
RV9ESVJ9L2FhYSIKKyAgICAiJHtXRUJDT1JFX0RJUn0vYmJiIgorICAgICIke1dFQkNPUkVfRElS
fS9iYmIveXl5IgorICAgICIke1dFQkNPUkVfRElSfS9iYmIvenp6IgorICAgICIke1dFQkNPUkVf
RElSfS9jY2MiCisgICAgIiR7V0VCQ09SRV9ESVJ9L2RkZCIKKykKKworU0VUKFdlYkNvcmVfSURM
X0ZJTEVTCisgICAgY2NjL0NoYW90aWMuaWRsCisgICAgY2NjL0NsaW1hY3RpYy5pZGwKKyAgICBj
Y2MvQ29ycm9zaXZlLmlkbAorICAgIGRkZC9EYXN0YXJkbHkuaWRsCisgICAgZGRkL0RpbWVuc2lv
bmFsLmlkbAorKQorCitTRVQoV2ViQ29yZV9TT1VSQ0VTCisgICAgYWFhL0FsbGFraGF6YW0uY3Bw
CisgICAgYWFhL0FicmFjYWRhYnJhLmNwcAorICAgIGFhYS9BbXBoaXRoZWF0cmUuY3BwCisgICAg
YWFhL0FtcGhpYmlvdXMuY3BwCisgICAgYWFhL0FtYmlkZXh0cm91cy5jcHAKKworICAgIGJiYi9C
ZWxsaWdlcmVudC5jcHAKKyAgICBiYmIvQnJ1dGUuY3BwCisgICAgYmJiL3p6ei9aYXJhdGh1c3Ry
YS5jcHApCisgICAgICAgICAgICAKK0lGIChVU0VfcmFtamV0KQorICAgIExJU1QoQVBQRU5EIFdl
YkNvcmVfU09VUkNFUworICAgICAgICBiYmIvQm9yZGVyaW5nLmNwcAorICAgICAgICBiYmIvQmVm
dWRkbGVkLmNwcAorICAgICAgICBiYmIvenp6L1plcGh5ci5jcHAKKyAgICAgICAgY2NjL0NhZXNh
ci5jcHAKKyAgICAgICAgY2NjL0Nocm9tYXRpYy5jcHAKKyAgICAgICAgY2NjL0NsYW5kZXN0aW5l
LmNwcAorRUxTRSAoKQorICAgIExJU1QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUworICAgICAgICBi
YmIvenp6L1plYnJhLmNwcAorICAgICAgICBiYmIvenp6L1pvbmUuY3BwCitFTkRJRiAoKQorCitM
SVNUKEFQUEVORCBXZWJDb3JlX1NPVVJDRVMKKyAgICBjY2MvQ2hhb3RpYy5jcHAKKyAgICBjY2Mv
Q2lyY3VtdmVudGlvbi5jcHAKKyAgICBjY2MvQ2h1dHpwYWguY3BwCisgICAgY2NjL0NlbGxvcGhh
bmUuY3BwCisKK1NFVChXZWJDb3JlX0hFQURFUlMKKyAgICBhYWEvQWxsYWthemhhbS5oCisgICAg
YWFhL0FicmFjYWRhYnJhLmgKKyAgICBhYWEvQW1waGl0aGVhdHJlLmgKKyAgICBhYWEvQW1waGli
aW91cy5oCisgICAgYWFhL0FtYmlkZXh0cm91cy5oCisgICAgYWFhL0FyY2hpbmcuaAorCitJRiAo
VVNFX3JhbWpldCkKKyAgICBMSVNUKEFQUEVORCBXZWJDb3JlX0hFQURFUlMKKyAgICAgICAgYmJi
L0JvcmRlcmluZy5oCisgICAgICAgIGJiYi9CZWZ1ZGRsZWQuaAorICAgICAgICBiYmIvenp6L1pl
cGh5ci5oCisgICAgICAgIGJiYi9CZXNwb2tlLmgKKyAgICAgICAgYmJiL0JsaWdodGVkLmgKK0VM
U0UgKCkKKyAgICBMSVNUKEFQUEVORCBXZWJDb3JlX0hFQURFUlMKKyAgICAgICAgYmJiL3p6ei9a
ZWJyYS5oCisgICAgICAgIGJiYi96enovWm9uZS5oCisgICAgICAgIGJiYi95eXkvWWFua2luZy5o
CisgICAgICAgIGJiYi95eXkvWW9kZWxpbmcuaAorRU5ESUYgKCkKKworTElTVChBUFBFTkQgV2Vi
Q29yZV9IRUFERVJTCisgICAgY2NjL0NhdGhhcnRpYy5oCisgICAgY2NjL0NoYW90aWMuaAorICAg
IGNjYy9DaXJjdW12ZW50aW9uLmgKKyAgICBjY2MvQ2ljYWRlLmgKKyAgICBjY2MvQ2h1dHpwYWgu
aAorICAgIGNjYy9DZWxsb3BoYW5lLmgKKworSUYgKEVOQUJMRV9FTkFCTElORz0xKQorICAgIExJ
U1QoQVBQRU5EIFdlYkNvcmVfSEVBREVSUworICAgICAgICBkZGQvRGVsdXNpb25hbC5oCisKKyAg
ICBMSVNUKEFQUEVORCBXZWJDb3JlX1NPVVJDRVMKKyAgICAgICAgZGRkL0RhZmZ5LmNwcAorICAg
ICAgICBkZGQvRGVsdXNpb25hbC5jcHAKKyAgICAgICAgZGRkL0RlbGlyaW91cy5jcHAKKyAgICAg
ICAgZGRkL0Rhc3RhcmRseS5jcHAKK0VORElGICgpCisKKyMgR2VuZXJpYyBjb21tYW5kcyBsaXN0
LCBzb21lIGV4dGVuZCBXZWJDb3JlX1NPVVJDRVMgd2l0aCBhIHBhdGggdGhhdCBjb250YWlucyBh
IHZhcmlhYmxlLgorR0VORVJBVEVfRE9NX05BTUVTKFhNTCAke1dFQkNPUkVfRElSfS94bWwveG1s
YXR0cnMuaW4pCitMSVNUKEFQUEVORCBXZWJDb3JlX1NPVVJDRVMgJHtERVJJVkVEX1NPVVJDRVNf
V0VCQ09SRV9ESVJ9L1hNTE5hbWVzLmNwcCkKKworQUREX0NVU1RPTV9DT01NQU5EKAorICAgIE9V
VFBVVCAke0RFUklWRURfU09VUkNFU19XRUJDT1JFX0RJUn0vV2ViS2l0VmVyc2lvbi5oCisgICAg
TUFJTl9ERVBFTkRFTkNZICR7V0VCS0lUX0RJUn0vc2NyaXB0cy9nZW5lcmF0ZS13ZWJraXR2ZXJz
aW9uLnBsCisgICAgREVQRU5EUyAke1dFQktJVF9ESVJ9L21hYy9Db25maWd1cmF0aW9ucy9WZXJz
aW9uLnhjY29uZmlnCisgICAgQ09NTUFORCAke1BFUkxfRVhFQ1VUQUJMRX0gJHtXRUJLSVRfRElS
fS9zY3JpcHRzL2dlbmVyYXRlLXdlYmtpdHZlcnNpb24ucGwgLS1jb25maWcgJHtXRUJLSVRfRElS
fS9tYWMvQ29uZmlndXJhdGlvbnMvVmVyc2lvbi54Y2NvbmZpZyAtLW91dHB1dERpciAke0RFUklW
RURfU09VUkNFU19XRUJDT1JFX0RJUn0KKyAgICBWRVJCQVRJTSkKK0xJU1QoQVBQRU5EIFdlYkNv
cmVfU09VUkNFUyAke0RFUklWRURfU09VUkNFU19XRUJDT1JFX0RJUn0vV2ViS2l0VmVyc2lvbi5o
KQorCisjIER1YmlvdXMgRk9SIHRvIGNoZWNrIHRoYXQgcGFydCBvZiB0aGUgcGFyc2VyCitGT1Ig
KGV0ZXJuaXR5KQorICAgIEZJTEUoVE9fTkFUSVZFX1BBVEggJHtQRVJMX0VYRUNVVEFCTEV9IFBF
UkxfRVhFQ1VUQUJMRV9OQVRJVkVfUEFUSCkKK0VOREZPUiAoKQpkaWZmIC0tZ2l0IGEvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9jb21tb24vcHJvamVjdC91bml0dGVzdF9maWxlcy9RdC1hZGQtZmls
ZS5wcm8gYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9wcm9qZWN0L3VuaXR0ZXN0X2Zp
bGVzL1F0LWFkZC1maWxlLnBybwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43
NzgwNjUwCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24v
cHJvamVjdC91bml0dGVzdF9maWxlcy9RdC1hZGQtZmlsZS5wcm8KQEAgLTAsMCArMSw3MiBAQAor
IyBXZWJDb3JlIC0gcW1ha2UgYnVpbGQgaW5mbworU09VUkNFUyArPSBcCisgICAgYWFhL0FicmFj
YWRhYnJhLmNwcCBcCisgICAgYWFhL0FsbGFraGF6YW0uY3BwIFwKKyAgICBhYWEvQW1iaWRleHRy
b3VzLmNwcCBcCisgICAgYWFhL0FtcGhpYmlvdXMuY3BwIFwKKyAgICBhYWEvQW1waGl0aGVhdHJl
LmNwcCBcCisgICAgYmJiL3p6ei9aYXJhdGh1c3RyYS5jcHAgXAorICAgIGJiYi9CZWxsaWdlcmVu
dC5jcHAgXAorICAgIGJiYi9CcnV0ZS5jcHAgXAorICAgIGNjYy9DZWxsb3BoYW5lLmNwcCBcCisg
ICAgY2NjL0NoYW90aWMuY3BwIFwKKyAgICBjY2MvQ2h1dHpwYWguY3BwIFwKKyAgICBjY2MvQ2ly
Y3VtdmVudGlvbi5jcHAKKworcmFtamV0IHsKKyAgICBTT1VSQ0VTICs9IFwKKyAgICAgICAgYmJi
L3p6ei9aZXBoeXIuY3BwIFwKKyAgICAgICAgYmJiL0JlZnVkZGxlZC5jcHAgXAorICAgICAgICBi
YmIvQm9yZGVyaW5nLmNwcCBcCisgICAgICAgIGNjYy9DYWVzYXIuY3BwIFwKKyAgICAgICAgY2Nj
L0Nocm9tYXRpYy5jcHAgXAorICAgICAgICBjY2MvQ2xhbmRlc3RpbmUuY3BwCit9IGVsc2Ugewor
ICAgIFNPVVJDRVMgKz0gXAorICAgICAgICBiYmIvenp6L1plYnJhLmNwcCBcCisgICAgICAgIGJi
Yi96enovWm9uZS5jcHAKK30KKworSEVBREVSUyArPSBcCisgICAgYWFhL0FicmFjYWRhYnJhLmgg
XAorICAgIGFhYS9BbGxha2hhemFtLmggXAorICAgIGFhYS9BbWJpZGV4dHJvdXMuaCBcCisgICAg
YWFhL0FtcGhpYmlvdXMuaCBcCisgICAgYWFhL0FtcGhpdGhlYXRyZS5oIFwKKyAgICBhYWEvQXJj
aGluZy5oIFwKKyAgICB0ZXN0LXByb2plY3Qvc3ViZm9sZGVyL2RlZXBseS9uZXN0ZWQvZmlsZS5o
CisKK3JhbWpldCB7CisgICAgSEVBREVSUyArPSBcCisgICAgICAgIGJiYi96enovWmVwaHlyLmgg
XAorICAgICAgICBiYmIvQmVmdWRkbGVkLmggXAorICAgICAgICBiYmIvQmVzcG9rZS5oIFwKKyAg
ICAgICAgYmJiL0JsaWdodGVkLmggXAorICAgICAgICBiYmIvQm9yZGVyaW5nLmgKK30gZWxzZSB7
CisgICAgSEVBREVSUyArPSBcCisgICAgICAgIGJiYi95eXkvWWFua2luZy5oIFwKKyAgICAgICAg
YmJiL3l5eS9Zb2RlbGluZy5oIFwKKyAgICAgICAgYmJiL3p6ei9aZWJyYS5oIFwKKyAgICAgICAg
YmJiL3p6ei9ab25lLmgKK30KKworaW5jbHVkZShRdC11bnNvcnRlZC5wcmkpCisKK0hFQURFUlMg
Kz0gXAorICAgIGNjYy9DYXRoYXJ0aWMuaCBcCisgICAgY2NjL0NlbGxvcGhhbmUuaCBcCisgICAg
Y2NjL0NoYW90aWMuaCBcCisgICAgY2NjL0NodXR6cGFoLmggXAorICAgIGNjYy9DaWNhZGUuaCBc
CisgICAgY2NjL0NpcmN1bXZlbnRpb24uaAorCitjb250YWlucyhERUZJTkVTLCBFTkFCTEVfRU5B
QkxJTkc9MSkgeworICAgIEhFQURFUlMgKz0gZGRkL0RlbHVzaW9uYWwuaAorCisgICAgU09VUkNF
UyArPSBcCisgICAgICAgIGRkZC9EYWZmeS5jcHAgXAorICAgICAgICBkZGQvRGFzdGFyZGx5LmNw
cCBcCisgICAgICAgIGRkZC9EZWxpcmlvdXMuY3BwIFwKKyAgICAgICAgZGRkL0RlbHVzaW9uYWwu
Y3BwCit9CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9wcm9qZWN0
L3VuaXR0ZXN0X2ZpbGVzL1F0LXNvcnQucHJvIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21t
b24vcHJvamVjdC91bml0dGVzdF9maWxlcy9RdC1zb3J0LnBybwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwLi4wZDI0ZTY2Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9jb21tb24vcHJvamVjdC91bml0dGVzdF9maWxlcy9RdC1zb3J0LnBybwpAQCAt
MCwwICsxLDcxIEBACisjIFdlYkNvcmUgLSBxbWFrZSBidWlsZCBpbmZvCitTT1VSQ0VTICs9IFwK
KyAgICBhYWEvQWJyYWNhZGFicmEuY3BwIFwKKyAgICBhYWEvQWxsYWtoYXphbS5jcHAgXAorICAg
IGFhYS9BbWJpZGV4dHJvdXMuY3BwIFwKKyAgICBhYWEvQW1waGliaW91cy5jcHAgXAorICAgIGFh
YS9BbXBoaXRoZWF0cmUuY3BwIFwKKyAgICBiYmIvenp6L1phcmF0aHVzdHJhLmNwcCBcCisgICAg
YmJiL0JlbGxpZ2VyZW50LmNwcCBcCisgICAgYmJiL0JydXRlLmNwcCBcCisgICAgY2NjL0NlbGxv
cGhhbmUuY3BwIFwKKyAgICBjY2MvQ2hhb3RpYy5jcHAgXAorICAgIGNjYy9DaHV0enBhaC5jcHAg
XAorICAgIGNjYy9DaXJjdW12ZW50aW9uLmNwcAorCityYW1qZXQgeworICAgIFNPVVJDRVMgKz0g
XAorICAgICAgICBiYmIvenp6L1plcGh5ci5jcHAgXAorICAgICAgICBiYmIvQmVmdWRkbGVkLmNw
cCBcCisgICAgICAgIGJiYi9Cb3JkZXJpbmcuY3BwIFwKKyAgICAgICAgY2NjL0NhZXNhci5jcHAg
XAorICAgICAgICBjY2MvQ2hyb21hdGljLmNwcCBcCisgICAgICAgIGNjYy9DbGFuZGVzdGluZS5j
cHAKK30gZWxzZSB7CisgICAgU09VUkNFUyArPSBcCisgICAgICAgIGJiYi96enovWmVicmEuY3Bw
IFwKKyAgICAgICAgYmJiL3p6ei9ab25lLmNwcAorfQorCitIRUFERVJTICs9IFwKKyAgICBhYWEv
QWJyYWNhZGFicmEuaCBcCisgICAgYWFhL0FsbGFraGF6YW0uaCBcCisgICAgYWFhL0FtYmlkZXh0
cm91cy5oIFwKKyAgICBhYWEvQW1waGliaW91cy5oIFwKKyAgICBhYWEvQW1waGl0aGVhdHJlLmgg
XAorICAgIGFhYS9BcmNoaW5nLmgKKworcmFtamV0IHsKKyAgICBIRUFERVJTICs9IFwKKyAgICAg
ICAgYmJiL3p6ei9aZXBoeXIuaCBcCisgICAgICAgIGJiYi9CZWZ1ZGRsZWQuaCBcCisgICAgICAg
IGJiYi9CZXNwb2tlLmggXAorICAgICAgICBiYmIvQmxpZ2h0ZWQuaCBcCisgICAgICAgIGJiYi9C
b3JkZXJpbmcuaAorfSBlbHNlIHsKKyAgICBIRUFERVJTICs9IFwKKyAgICAgICAgYmJiL3l5eS9Z
YW5raW5nLmggXAorICAgICAgICBiYmIveXl5L1lvZGVsaW5nLmggXAorICAgICAgICBiYmIvenp6
L1plYnJhLmggXAorICAgICAgICBiYmIvenp6L1pvbmUuaAorfQorCitpbmNsdWRlKFF0LXVuc29y
dGVkLnByaSkKKworSEVBREVSUyArPSBcCisgICAgY2NjL0NhdGhhcnRpYy5oIFwKKyAgICBjY2Mv
Q2VsbG9waGFuZS5oIFwKKyAgICBjY2MvQ2hhb3RpYy5oIFwKKyAgICBjY2MvQ2h1dHpwYWguaCBc
CisgICAgY2NjL0NpY2FkZS5oIFwKKyAgICBjY2MvQ2lyY3VtdmVudGlvbi5oCisKK2NvbnRhaW5z
KERFRklORVMsIEVOQUJMRV9FTkFCTElORz0xKSB7CisgICAgSEVBREVSUyArPSBkZGQvRGVsdXNp
b25hbC5oCisKKyAgICBTT1VSQ0VTICs9IFwKKyAgICAgICAgZGRkL0RhZmZ5LmNwcCBcCisgICAg
ICAgIGRkZC9EYXN0YXJkbHkuY3BwIFwKKyAgICAgICAgZGRkL0RlbGlyaW91cy5jcHAgXAorICAg
ICAgICBkZGQvRGVsdXNpb25hbC5jcHAKK30KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvY29tbW9uL3Byb2plY3QvdW5pdHRlc3RfZmlsZXMvUXQtdW5zb3J0ZWQucHJpIGIvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vcHJvamVjdC91bml0dGVzdF9maWxlcy9RdC11bnNv
cnRlZC5wcmkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTU1NmIyNAotLS0g
L2Rldi9udWxsCisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3Byb2plY3QvdW5p
dHRlc3RfZmlsZXMvUXQtdW5zb3J0ZWQucHJpCkBAIC0wLDAgKzEsMjEgQEAKKyMgV2ViQ29yZSAt
IHFtYWtlIGJ1aWxkIGluZm8KKworU09VUkNFUyArPSBcCisgICAgdGVzdC1wcm9qZWN0L2V4aXN0
aW5nLmNwcAorCitIRUFERVJTICs9IFwKKyAgICB0ZXN0LXByb2plY3QvZXhpc3RpbmcuaAorCitj
b250YWlucyhERUZJTkVTLCBFTkFCTEVfRU5BQkxJTkc9MSkgeworICAgIFNPVVJDRVMgKz0gXAor
ICAgICAgICB0ZXN0LXByb2plY3QvZXhpc3RpbmctaW4tZm9sZGVyLmNwcAorfSBlbHNlIHsKKyAg
ICBTT1VSQ0VTICs9IFwKKyAgICAgICAgdGVzdC1wcm9qZWN0L3N1YmZvbGRlci9leGlzdGluZy1p
bi1kaXIuY3BwCisKKyAgICBIRUFERVJTICs9IFwKKyAgICAgICAgdGVzdC1wcm9qZWN0L3N1YmZv
bGRlci9leGlzdGluZy1pbi1kaXIuaAorfQorCitIRUFERVJTICs9IFwKKyAgICB0ZXN0LXByb2pl
Y3QvZXhpc3RpbmctaW4tZm9sZGVyLmgKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvY29tbW9uL3Byb2plY3QvdW5pdHRlc3RfZmlsZXMvUXQtdW5zb3J0ZWQucHJvIGIvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9jb21tb24vcHJvamVjdC91bml0dGVzdF9maWxlcy9RdC11bnNvcnRl
ZC5wcm8KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGQ4ZWZmYgotLS0gL2Rl
di9udWxsCisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3Byb2plY3QvdW5pdHRl
c3RfZmlsZXMvUXQtdW5zb3J0ZWQucHJvCkBAIC0wLDAgKzEsNzYgQEAKKyMgV2ViQ29yZSAtIHFt
YWtlIGJ1aWxkIGluZm8KK1NPVVJDRVMgKz0gXAorICAgIGFhYS9BbGxha2hhemFtLmNwcCBcCisg
ICAgYWFhL0FicmFjYWRhYnJhLmNwcCBcCisgICAgYWFhL0FtcGhpdGhlYXRyZS5jcHAgXAorICAg
IGFhYS9BbXBoaWJpb3VzLmNwcCBcCisgICAgXAorICAgIGFhYS9BbWJpZGV4dHJvdXMuY3BwIFwK
KyAgICBiYmIvQmVsbGlnZXJlbnQuY3BwIFwKKyAgICBiYmIvQnJ1dGUuY3BwIFwKKyAgICBiYmIv
enp6L1phcmF0aHVzdHJhLmNwcCBcCisgICAgICAgICAgICAKK3JhbWpldCB7CisgICAgU09VUkNF
UyArPSBcCisgICAgICAgIGJiYi9Cb3JkZXJpbmcuY3BwIFwKKyAgICAgICAgYmJiL0JlZnVkZGxl
ZC5jcHAgXAorICAgICAgICBiYmIvenp6L1plcGh5ci5jcHAgXAorICAgICAgICBjY2MvQ2Flc2Fy
LmNwcCBcCisgICAgICAgIGNjYy9DaHJvbWF0aWMuY3BwIFwKKyAgICAgICAgY2NjL0NsYW5kZXN0
aW5lLmNwcAorfSBlbHNlIHsKKyAgICBTT1VSQ0VTICs9IFwKKyAgICAgICAgYmJiL3p6ei9aZWJy
YS5jcHAgXAorICAgICAgICBiYmIvenp6L1pvbmUuY3BwCit9CisKK1NPVVJDRVMgKz0gXAorICAg
IGNjYy9DaGFvdGljLmNwcCBcCisgICAgY2NjL0NpcmN1bXZlbnRpb24uY3BwIFwKKyAgICBjY2Mv
Q2h1dHpwYWguY3BwIFwKKyAgICBjY2MvQ2VsbG9waGFuZS5jcHAKKworSEVBREVSUyArPSBcCisg
ICAgYWFhL0FsbGFraGF6YW0uaCBcCisgICAgYWFhL0FicmFjYWRhYnJhLmggXAorICAgIGFhYS9B
bXBoaXRoZWF0cmUuaCBcCisgICAgYWFhL0FtcGhpYmlvdXMuaCBcCisgICAgYWFhL0FtYmlkZXh0
cm91cy5oIFwKKyAgICBhYWEvQXJjaGluZy5oCisKK3JhbWpldCB7CisgICAgSEVBREVSUyArPSBc
CisgICAgICAgIGJiYi9Cb3JkZXJpbmcuaCBcCisgICAgICAgIGJiYi9CZWZ1ZGRsZWQuaCBcCisg
ICAgICAgIGJiYi96enovWmVwaHlyLmggXAorICAgICAgICBiYmIvQmVzcG9rZS5oIFwKKyAgICAg
ICAgYmJiL0JsaWdodGVkLmgKK30gZWxzZSB7CisgICAgSEVBREVSUyArPSBcCisgICAgICAgIGJi
Yi96enovWmVicmEuaCBcCisgICAgICAgIGJiYi96enovWm9uZS5oIFwKKyAgICAgICAgYmJiL3l5
eS9ZYW5raW5nLmggXAorICAgICAgICBiYmIveXl5L1lvZGVsaW5nLmgKK30KKworaW5jbHVkZShR
dC11bnNvcnRlZC5wcmkpCisKK0hFQURFUlMgKz0gXAorICAgIGNjYy9DYXRoYXJ0aWMuaCBcCisg
ICAgY2NjL0NoYW90aWMuaCBcCisgICAgY2NjL0NpcmN1bXZlbnRpb24uaCBcCisgICAgY2NjL0Np
Y2FkZS5oIFwKKyAgICBjY2MvQ2h1dHpwYWguaCBcCisgICAgY2NjL0NlbGxvcGhhbmUuaAorCitj
b250YWlucyhERUZJTkVTLCBFTkFCTEVfRU5BQkxJTkc9MSkgeworICAgIEhFQURFUlMgKz0gXAor
ICAgICAgICBkZGQvRGVsdXNpb25hbC5oCisKKyAgICBTT1VSQ0VTICs9IFwKKyAgICAgICAgZGRk
L0RhZmZ5LmNwcCBcCisgICAgICAgIGRkZC9EZWx1c2lvbmFsLmNwcCBcCisgICAgICAgIGRkZC9E
ZWxpcmlvdXMuY3BwIFwKKyAgICAgICAgZGRkL0Rhc3RhcmRseS5jcHAKK30KKwpkaWZmIC0tZ2l0
IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vcHJvamVjdC91bml0dGVzdF9maWxlcy9Y
Y29kZS1hZGQtZmlsZS5wYnhwcm9qIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vcHJv
amVjdC91bml0dGVzdF9maWxlcy9YY29kZS1hZGQtZmlsZS5wYnhwcm9qCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVjOTVmZDIKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9wcm9qZWN0L3VuaXR0ZXN0X2ZpbGVzL1hjb2RlLWFkZC1m
aWxlLnBieHByb2oKQEAgLTAsMCArMSwyODIgQEAKKy8vICEkKlVURjgqJCEKK3sKKwlhcmNoaXZl
VmVyc2lvbiA9IDE7CisJY2xhc3NlcyA9IHsKKwl9OworCW9iamVjdFZlcnNpb24gPSA0MjsKKwlv
YmplY3RzID0geworCisvKiBCZWdpbiBQQlhCdWlsZEZpbGUgc2VjdGlvbiAqLworCQkwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDQgLyogZmlsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzIC8qIGZpbGUuaCAqLzsg
fTsKKwkJMTQxNDUxRTExNTI1ODJGOTAwMjUwNzcxIC8qIGV4aXN0aW5nLWluLWRpci5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDE0NEZGNTE1MjU3
OUQ2MDAyNTA3NzEgLyogZXhpc3RpbmctaW4tZGlyLmNwcCAqLzsgfTsKKwkJMTQxNDUxRTIxNTI1
ODMwMTAwMjUwNzcxIC8qIGV4aXN0aW5nLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDE0MTQ0RkVDMTUyNTc5NTEwMDI1MDc3MSAvKiBleGlzdGluZy5j
cHAgKi87IH07CisJCTE0MTQ1MUU3MTUyNTgzMjQwMDI1MDc3MSAvKiBleGlzdGluZy1pbi1mb2xk
ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTQx
NDRGRjIxNTI1Nzk5NjAwMjUwNzcxIC8qIGV4aXN0aW5nLWluLWZvbGRlci5jcHAgKi87IH07CisJ
CTE0MTQ1MUU4MTUyNTgzMkEwMDI1MDc3MSAvKiBleGlzdGluZy1pbi1kaXIuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0MTQ0RkY0MTUyNTc5RDYwMDI1
MDc3MSAvKiBleGlzdGluZy1pbi1kaXIuaCAqLzsgfTsKKwkJMTQxNDUxRTkxNTI1ODMyRTAwMjUw
NzcxIC8qIGV4aXN0aW5nLWluLWZvbGRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMTQxNDRGRjExNTI1Nzk5NjAwMjUwNzcxIC8qIGV4aXN0aW5nLWlu
LWZvbGRlci5oICovOyB9OworCQkxNDE0NTFFQTE1MjU4MzMzMDAyNTA3NzEgLyogZXhpc3Rpbmcu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0MTQ0RkVC
MTUyNTc5NTEwMDI1MDc3MSAvKiBleGlzdGluZy5oICovOyB9OworLyogRW5kIFBCWEJ1aWxkRmls
ZSBzZWN0aW9uICovCisKKy8qIEJlZ2luIFBCWEZpbGVSZWZlcmVuY2Ugc2VjdGlvbiAqLworCQkw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMgLyogZmlsZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBmaWxlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTE0MTQ0RkVC
MTUyNTc5NTEwMDI1MDc3MSAvKiBleGlzdGluZy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBleGlzdGluZy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxNDE0NEZF
QzE1MjU3OTUxMDAyNTA3NzEgLyogZXhpc3RpbmcuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gZXhpc3RpbmcuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkxNDE0NEZGMTE1MjU3OTk2MDAyNTA3NzEgLyogZXhpc3RpbmctaW4tZm9sZGVyLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9ICJleGlzdGluZy1pbi1mb2xkZXIuaCI7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTE0MTQ0RkYyMTUyNTc5OTYwMDI1MDc3MSAvKiBleGlz
dGluZy1pbi1mb2xkZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
ImV4aXN0aW5nLWluLWZvbGRlci5jcHAiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkx
NDE0NEZGNDE1MjU3OUQ2MDAyNTA3NzEgLyogZXhpc3RpbmctaW4tZGlyLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9ICJleGlzdGluZy1pbi1kaXIuaCI7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTE0MTQ0RkY1MTUyNTc5RDYwMDI1MDc3MSAvKiBleGlzdGluZy1pbi1k
aXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gImV4aXN0aW5nLWlu
LWRpci5jcHAiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxNDE0NTA0QzE1MjU3RDI0
MDAyNTA3NzEgLyogdGVzdC10YXJnZXQtSW5mby5wbGlzdCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQucGxpc3QueG1sOyBwYXRoID0gInRlc3Qt
dGFyZ2V0LUluZm8ucGxpc3QiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxNDE0NTFD
QTE1MjU3RTFGMDAyNTA3NzEgLyogdGVzdC10YXJnZXQuZnJhbWV3b3JrICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGV4cGxpY2l0RmlsZVR5cGUgPSB3cmFwcGVyLmZyYW1ld29yazsgaW5j
bHVkZUluSW5kZXggPSAwOyBwYXRoID0gInRlc3QtdGFyZ2V0LmZyYW1ld29yayI7IHNvdXJjZVRy
ZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CisvKiBFbmQgUEJYRmlsZVJlZmVyZW5jZSBzZWN0
aW9uICovCisKKy8qIEJlZ2luIFBCWEZyYW1ld29ya3NCdWlsZFBoYXNlIHNlY3Rpb24gKi8KKwkJ
MTQxNDUxQzgxNTI1N0UxRjAwMjUwNzcxIC8qIEZyYW1ld29ya3MgKi8gPSB7CisJCQlpc2EgPSBQ
QlhGcmFtZXdvcmtzQnVpbGRQaGFzZTsKKwkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7
CisJCQlmaWxlcyA9ICgKKwkJCSk7CisJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNz
aW5nID0gMDsKKwkJfTsKKy8qIEVuZCBQQlhGcmFtZXdvcmtzQnVpbGRQaGFzZSBzZWN0aW9uICov
CisKKy8qIEJlZ2luIFBCWEdyb3VwIHNlY3Rpb24gKi8KKwkJMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAxIC8qIGRlZXBseSAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAo
CisJCQkJMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyIC8qIG5lc3RlZCAqLywKKwkJCSk7CisJCQlw
YXRoID0gZGVlcGx5OworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKKwkJMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAyIC8qIG5lc3RlZCAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOwor
CQkJY2hpbGRyZW4gPSAoCisJCQkJMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzIC8qIGZpbGUuaCAq
LywKKwkJCSk7CisJCQlwYXRoID0gbmVzdGVkOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsK
KwkJfTsKKwkJMTQxNDRGQ0QxNTI1NUFEODAwMjUwNzcxIC8qIHVuaXR0ZXN0ICovID0geworCQkJ
aXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQkxNDE0NTAyQzE1MjU3QUNEMDAy
NTA3NzEgLyogdGVzdC1wcm9qZWN0ICovLAorCQkJCTE0MTQ1MDRBMTUyNTdEMjQwMDI1MDc3MSAv
KiBQcm9kdWN0cyAqLywKKwkJCQkxNDE0NTA0QzE1MjU3RDI0MDAyNTA3NzEgLyogdGVzdC10YXJn
ZXQtSW5mby5wbGlzdCAqLywKKwkJCSk7CisJCQluYW1lID0gInVuaXR0ZXN0IjsKKwkJCXNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CisJCTE0MTQ0RkVEMTUyNTc5NzAwMDI1MDc3MSAvKiB0
ZXN0LXByb2plY3QgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAor
CQkJCTE0MTQ0RkYyMTUyNTc5OTYwMDI1MDc3MSAvKiBleGlzdGluZy1pbi1mb2xkZXIuY3BwICov
LAorCQkJCTE0MTQ0RkYxMTUyNTc5OTYwMDI1MDc3MSAvKiBleGlzdGluZy1pbi1mb2xkZXIuaCAq
LywKKwkJCSk7CisJCQluYW1lID0gInRlc3QtcHJvamVjdCI7CisJCQlzb3VyY2VUcmVlID0gIjxn
cm91cD4iOworCQl9OworCQkxNDE0NEZGMzE1MjU3OTlEMDAyNTA3NzEgLyogc3ViZm9sZGVyICov
ID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQkwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDEgLyogZGVlcGx5ICovLAorCQkJCTE0MTQ0RkY1MTUyNTc5RDYwMDI1MDc3
MSAvKiBleGlzdGluZy1pbi1kaXIuY3BwICovLAorCQkJCTE0MTQ0RkY0MTUyNTc5RDYwMDI1MDc3
MSAvKiBleGlzdGluZy1pbi1kaXIuaCAqLywKKwkJCSk7CisJCQlwYXRoID0gc3ViZm9sZGVyOwor
CQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKKwkJMTQxNDUwMkMxNTI1N0FDRDAwMjUw
NzcxIC8qIHRlc3QtcHJvamVjdCAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRy
ZW4gPSAoCisJCQkJMTQxNDRGRjMxNTI1Nzk5RDAwMjUwNzcxIC8qIHN1YmZvbGRlciAqLywKKwkJ
CQkxNDE0NEZFRDE1MjU3OTcwMDAyNTA3NzEgLyogdGVzdC1wcm9qZWN0ICovLAorCQkJCTE0MTQ0
RkVDMTUyNTc5NTEwMDI1MDc3MSAvKiBleGlzdGluZy5jcHAgKi8sCisJCQkJMTQxNDRGRUIxNTI1
Nzk1MTAwMjUwNzcxIC8qIGV4aXN0aW5nLmggKi8sCisJCQkpOworCQkJcGF0aCA9ICJ0ZXN0LXBy
b2plY3QiOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKKwkJMTQxNDUwNEExNTI1
N0QyNDAwMjUwNzcxIC8qIFByb2R1Y3RzICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQlj
aGlsZHJlbiA9ICgKKwkJCQkxNDE0NTFDQTE1MjU3RTFGMDAyNTA3NzEgLyogdGVzdC10YXJnZXQu
ZnJhbWV3b3JrICovLAorCQkJKTsKKwkJCW5hbWUgPSBQcm9kdWN0czsKKwkJCXNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7CisJCX07CisvKiBFbmQgUEJYR3JvdXAgc2VjdGlvbiAqLworCisvKiBCZWdp
biBQQlhIZWFkZXJzQnVpbGRQaGFzZSBzZWN0aW9uICovCisJCTE0MTQ1MUM1MTUyNTdFMUYwMDI1
MDc3MSAvKiBIZWFkZXJzICovID0geworCQkJaXNhID0gUEJYSGVhZGVyc0J1aWxkUGhhc2U7CisJ
CQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OworCQkJZmlsZXMgPSAoCisJCQkJMTQxNDUx
RTgxNTI1ODMyQTAwMjUwNzcxIC8qIGV4aXN0aW5nLWluLWRpci5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJMTQxNDUxRTkxNTI1ODMyRTAwMjUwNzcxIC8qIGV4aXN0aW5nLWluLWZvbGRlci5oIGluIEhl
YWRlcnMgKi8sCisJCQkJMTQxNDUxRUExNTI1ODMzMzAwMjUwNzcxIC8qIGV4aXN0aW5nLmggaW4g
SGVhZGVycyAqLywKKwkJCQkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQgLyogZmlsZS5oIGluIEhl
YWRlcnMgKi8sCisJCQkpOworCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9
IDA7CisJCX07CisvKiBFbmQgUEJYSGVhZGVyc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLworCisvKiBC
ZWdpbiBQQlhOYXRpdmVUYXJnZXQgc2VjdGlvbiAqLworCQkxNDE0NTFDOTE1MjU3RTFGMDAyNTA3
NzEgLyogdGVzdC10YXJnZXQgKi8gPSB7CisJCQlpc2EgPSBQQlhOYXRpdmVUYXJnZXQ7CisJCQli
dWlsZENvbmZpZ3VyYXRpb25MaXN0ID0gMTQxNDUxRDMxNTI1N0UyRTAwMjUwNzcxIC8qIEJ1aWxk
IGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYTmF0aXZlVGFyZ2V0ICJ0ZXN0LXRhcmdldCIgKi87
CisJCQlidWlsZFBoYXNlcyA9ICgKKwkJCQkxNDE0NTFDNTE1MjU3RTFGMDAyNTA3NzEgLyogSGVh
ZGVycyAqLywKKwkJCQkxNDE0NTFDNjE1MjU3RTFGMDAyNTA3NzEgLyogUmVzb3VyY2VzICovLAor
CQkJCTE0MTQ1MUM3MTUyNTdFMUYwMDI1MDc3MSAvKiBTb3VyY2VzICovLAorCQkJCTE0MTQ1MUM4
MTUyNTdFMUYwMDI1MDc3MSAvKiBGcmFtZXdvcmtzICovLAorCQkJKTsKKwkJCWJ1aWxkUnVsZXMg
PSAoCisJCQkpOworCQkJZGVwZW5kZW5jaWVzID0gKAorCQkJKTsKKwkJCW5hbWUgPSAidGVzdC10
YXJnZXQiOworCQkJcHJvZHVjdE5hbWUgPSAidGVzdC10YXJnZXQiOworCQkJcHJvZHVjdFJlZmVy
ZW5jZSA9IDE0MTQ1MUNBMTUyNTdFMUYwMDI1MDc3MSAvKiB0ZXN0LXRhcmdldC5mcmFtZXdvcmsg
Ki87CisJCQlwcm9kdWN0VHlwZSA9ICJjb20uYXBwbGUucHJvZHVjdC10eXBlLmZyYW1ld29yayI7
CisJCX07CisvKiBFbmQgUEJYTmF0aXZlVGFyZ2V0IHNlY3Rpb24gKi8KKworLyogQmVnaW4gUEJY
UHJvamVjdCBzZWN0aW9uICovCisJCTE0MTQ0RkNGMTUyNTVBRDgwMDI1MDc3MSAvKiBQcm9qZWN0
IG9iamVjdCAqLyA9IHsKKwkJCWlzYSA9IFBCWFByb2plY3Q7CisJCQlidWlsZENvbmZpZ3VyYXRp
b25MaXN0ID0gMTQxNDRGRDIxNTI1NUFEODAwMjUwNzcxIC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24g
bGlzdCBmb3IgUEJYUHJvamVjdCAiV2ViQ29yZSIgKi87CisJCQljb21wYXRpYmlsaXR5VmVyc2lv
biA9ICJYY29kZSAyLjQiOworCQkJZGV2ZWxvcG1lbnRSZWdpb24gPSBFbmdsaXNoOworCQkJaGFz
U2Nhbm5lZEZvckVuY29kaW5ncyA9IDA7CisJCQlrbm93blJlZ2lvbnMgPSAoCisJCQkJRW5nbGlz
aCwKKwkJCQlKYXBhbmVzZSwKKwkJCQlGcmVuY2gsCisJCQkJR2VybWFuLAorCQkJKTsKKwkJCW1h
aW5Hcm91cCA9IDE0MTQ0RkNEMTUyNTVBRDgwMDI1MDc3MSAvKiB1bml0dGVzdCAqLzsKKwkJCXBy
b2R1Y3RSZWZHcm91cCA9IDE0MTQ1MDRBMTUyNTdEMjQwMDI1MDc3MSAvKiBQcm9kdWN0cyAqLzsK
KwkJCXByb2plY3REaXJQYXRoID0gIiI7CisJCQlwcm9qZWN0Um9vdCA9ICIiOworCQkJdGFyZ2V0
cyA9ICgKKwkJCQkxNDE0NTFDOTE1MjU3RTFGMDAyNTA3NzEgLyogdGVzdC10YXJnZXQgKi8sCisJ
CQkpOworCQl9OworLyogRW5kIFBCWFByb2plY3Qgc2VjdGlvbiAqLworCisvKiBCZWdpbiBQQlhS
ZXNvdXJjZXNCdWlsZFBoYXNlIHNlY3Rpb24gKi8KKwkJMTQxNDUxQzYxNTI1N0UxRjAwMjUwNzcx
IC8qIFJlc291cmNlcyAqLyA9IHsKKwkJCWlzYSA9IFBCWFJlc291cmNlc0J1aWxkUGhhc2U7CisJ
CQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OworCQkJZmlsZXMgPSAoCisJCQkpOworCQkJ
cnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CisJCX07CisvKiBFbmQgUEJY
UmVzb3VyY2VzQnVpbGRQaGFzZSBzZWN0aW9uICovCisKKy8qIEJlZ2luIFBCWFNvdXJjZXNCdWls
ZFBoYXNlIHNlY3Rpb24gKi8KKwkJMTQxNDUxQzcxNTI1N0UxRjAwMjUwNzcxIC8qIFNvdXJjZXMg
Ki8gPSB7CisJCQlpc2EgPSBQQlhTb3VyY2VzQnVpbGRQaGFzZTsKKwkJCWJ1aWxkQWN0aW9uTWFz
ayA9IDIxNDc0ODM2NDc7CisJCQlmaWxlcyA9ICgKKwkJCQkxNDE0NTFFMTE1MjU4MkY5MDAyNTA3
NzEgLyogZXhpc3RpbmctaW4tZGlyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTE0MTQ1MUU3MTUy
NTgzMjQwMDI1MDc3MSAvKiBleGlzdGluZy1pbi1mb2xkZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJ
CQkJMTQxNDUxRTIxNTI1ODMwMTAwMjUwNzcxIC8qIGV4aXN0aW5nLmNwcCBpbiBTb3VyY2VzICov
LAorCQkJKTsKKwkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOworCQl9
OworLyogRW5kIFBCWFNvdXJjZXNCdWlsZFBoYXNlIHNlY3Rpb24gKi8KKworLyogQmVnaW4gWENC
dWlsZENvbmZpZ3VyYXRpb24gc2VjdGlvbiAqLworCQkxNDE0NEZEMDE1MjU1QUQ4MDAyNTA3NzEg
LyogRGVidWcgKi8gPSB7CisJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKKwkJCWJ1aWxk
U2V0dGluZ3MgPSB7CisJCQkJQ09QWV9QSEFTRV9TVFJJUCA9IE5POworCQkJfTsKKwkJCW5hbWUg
PSBEZWJ1ZzsKKwkJfTsKKwkJMTQxNDRGRDExNTI1NUFEODAwMjUwNzcxIC8qIFJlbGVhc2UgKi8g
PSB7CisJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKKwkJCWJ1aWxkU2V0dGluZ3MgPSB7
CisJCQkJQ09QWV9QSEFTRV9TVFJJUCA9IFlFUzsKKwkJCX07CisJCQluYW1lID0gUmVsZWFzZTsK
KwkJfTsKKwkJMTQxNDUxQ0IxNTI1N0UxRjAwMjUwNzcxIC8qIERlYnVnICovID0geworCQkJaXNh
ID0gWENCdWlsZENvbmZpZ3VyYXRpb247CisJCQlidWlsZFNldHRpbmdzID0geworCQkJCUFMV0FZ
U19TRUFSQ0hfVVNFUl9QQVRIUyA9IE5POworCQkJCUNPUFlfUEhBU0VfU1RSSVAgPSBOTzsKKwkJ
CQlEWUxJQl9DT01QQVRJQklMSVRZX1ZFUlNJT04gPSAxOworCQkJCURZTElCX0NVUlJFTlRfVkVS
U0lPTiA9IDE7CisJCQkJRlJBTUVXT1JLX1ZFUlNJT04gPSBBOworCQkJCUdDQ19EWU5BTUlDX05P
X1BJQyA9IE5POworCQkJCUdDQ19FTkFCTEVfRklYX0FORF9DT05USU5VRSA9IFlFUzsKKwkJCQlH
Q0NfTU9ERUxfVFVOSU5HID0gRzU7CisJCQkJR0NDX09QVElNSVpBVElPTl9MRVZFTCA9IDA7CisJ
CQkJR0NDX1BSRUNPTVBJTEVfUFJFRklYX0hFQURFUiA9IFlFUzsKKwkJCQlHQ0NfUFJFRklYX0hF
QURFUiA9ICIkKFNZU1RFTV9MSUJSQVJZX0RJUikvRnJhbWV3b3Jrcy9BcHBLaXQuZnJhbWV3b3Jr
L0hlYWRlcnMvQXBwS2l0LmgiOworCQkJCUlORk9QTElTVF9GSUxFID0gInRlc3QtdGFyZ2V0LUlu
Zm8ucGxpc3QiOworCQkJCUlOU1RBTExfUEFUSCA9ICIkKEhPTUUpL0xpYnJhcnkvRnJhbWV3b3Jr
cyI7CisJCQkJT1RIRVJfTERGTEFHUyA9ICgKKwkJCQkJIi1mcmFtZXdvcmsiLAorCQkJCQlGb3Vu
ZGF0aW9uLAorCQkJCQkiLWZyYW1ld29yayIsCisJCQkJCUFwcEtpdCwKKwkJCQkpOworCQkJCVBS
RUJJTkRJTkcgPSBOTzsKKwkJCQlQUk9EVUNUX05BTUUgPSAidGVzdC10YXJnZXQiOworCQkJfTsK
KwkJCW5hbWUgPSBEZWJ1ZzsKKwkJfTsKKwkJMTQxNDUxQ0MxNTI1N0UxRjAwMjUwNzcxIC8qIFJl
bGVhc2UgKi8gPSB7CisJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKKwkJCWJ1aWxkU2V0
dGluZ3MgPSB7CisJCQkJQUxXQVlTX1NFQVJDSF9VU0VSX1BBVEhTID0gTk87CisJCQkJQ09QWV9Q
SEFTRV9TVFJJUCA9IFlFUzsKKwkJCQlERUJVR19JTkZPUk1BVElPTl9GT1JNQVQgPSAiZHdhcmYt
d2l0aC1kc3ltIjsKKwkJCQlEWUxJQl9DT01QQVRJQklMSVRZX1ZFUlNJT04gPSAxOworCQkJCURZ
TElCX0NVUlJFTlRfVkVSU0lPTiA9IDE7CisJCQkJRlJBTUVXT1JLX1ZFUlNJT04gPSBBOworCQkJ
CUdDQ19FTkFCTEVfRklYX0FORF9DT05USU5VRSA9IE5POworCQkJCUdDQ19NT0RFTF9UVU5JTkcg
PSBHNTsKKwkJCQlHQ0NfUFJFQ09NUElMRV9QUkVGSVhfSEVBREVSID0gWUVTOworCQkJCUdDQ19Q
UkVGSVhfSEVBREVSID0gIiQoU1lTVEVNX0xJQlJBUllfRElSKS9GcmFtZXdvcmtzL0FwcEtpdC5m
cmFtZXdvcmsvSGVhZGVycy9BcHBLaXQuaCI7CisJCQkJSU5GT1BMSVNUX0ZJTEUgPSAidGVzdC10
YXJnZXQtSW5mby5wbGlzdCI7CisJCQkJSU5TVEFMTF9QQVRIID0gIiQoSE9NRSkvTGlicmFyeS9G
cmFtZXdvcmtzIjsKKwkJCQlPVEhFUl9MREZMQUdTID0gKAorCQkJCQkiLWZyYW1ld29yayIsCisJ
CQkJCUZvdW5kYXRpb24sCisJCQkJCSItZnJhbWV3b3JrIiwKKwkJCQkJQXBwS2l0LAorCQkJCSk7
CisJCQkJUFJFQklORElORyA9IE5POworCQkJCVBST0RVQ1RfTkFNRSA9ICJ0ZXN0LXRhcmdldCI7
CisJCQkJWkVST19MSU5LID0gTk87CisJCQl9OworCQkJbmFtZSA9IFJlbGVhc2U7CisJCX07Cisv
KiBFbmQgWENCdWlsZENvbmZpZ3VyYXRpb24gc2VjdGlvbiAqLworCisvKiBCZWdpbiBYQ0NvbmZp
Z3VyYXRpb25MaXN0IHNlY3Rpb24gKi8KKwkJMTQxNDRGRDIxNTI1NUFEODAwMjUwNzcxIC8qIEJ1
aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYUHJvamVjdCAiV2ViQ29yZSIgKi8gPSB7CisJ
CQlpc2EgPSBYQ0NvbmZpZ3VyYXRpb25MaXN0OworCQkJYnVpbGRDb25maWd1cmF0aW9ucyA9ICgK
KwkJCQkxNDE0NEZEMDE1MjU1QUQ4MDAyNTA3NzEgLyogRGVidWcgKi8sCisJCQkJMTQxNDRGRDEx
NTI1NUFEODAwMjUwNzcxIC8qIFJlbGVhc2UgKi8sCisJCQkpOworCQkJZGVmYXVsdENvbmZpZ3Vy
YXRpb25Jc1Zpc2libGUgPSAwOworCQkJZGVmYXVsdENvbmZpZ3VyYXRpb25OYW1lID0gUmVsZWFz
ZTsKKwkJfTsKKwkJMTQxNDUxRDMxNTI1N0UyRTAwMjUwNzcxIC8qIEJ1aWxkIGNvbmZpZ3VyYXRp
b24gbGlzdCBmb3IgUEJYTmF0aXZlVGFyZ2V0ICJ0ZXN0LXRhcmdldCIgKi8gPSB7CisJCQlpc2Eg
PSBYQ0NvbmZpZ3VyYXRpb25MaXN0OworCQkJYnVpbGRDb25maWd1cmF0aW9ucyA9ICgKKwkJCQkx
NDE0NTFDQjE1MjU3RTFGMDAyNTA3NzEgLyogRGVidWcgKi8sCisJCQkJMTQxNDUxQ0MxNTI1N0Ux
RjAwMjUwNzcxIC8qIFJlbGVhc2UgKi8sCisJCQkpOworCQkJZGVmYXVsdENvbmZpZ3VyYXRpb25J
c1Zpc2libGUgPSAwOworCQkJZGVmYXVsdENvbmZpZ3VyYXRpb25OYW1lID0gUmVsZWFzZTsKKwkJ
fTsKKy8qIEVuZCBYQ0NvbmZpZ3VyYXRpb25MaXN0IHNlY3Rpb24gKi8KKwl9OworCXJvb3RPYmpl
Y3QgPSAxNDE0NEZDRjE1MjU1QUQ4MDAyNTA3NzEgLyogUHJvamVjdCBvYmplY3QgKi87Cit9CmRp
ZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9wcm9qZWN0L3VuaXR0ZXN0
X2ZpbGVzL1hjb2RlLXNvcnQucGJ4cHJvaiBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9u
L3Byb2plY3QvdW5pdHRlc3RfZmlsZXMvWGNvZGUtc29ydC5wYnhwcm9qCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA2NzIyOWMKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9wcm9qZWN0L3VuaXR0ZXN0X2ZpbGVzL1hjb2RlLXNvcnQu
cGJ4cHJvagpAQCAtMCwwICsxLDI2MiBAQAorLy8gISQqVVRGOCokIQoreworCWFyY2hpdmVWZXJz
aW9uID0gMTsKKwljbGFzc2VzID0geworCX07CisJb2JqZWN0VmVyc2lvbiA9IDQyOworCW9iamVj
dHMgPSB7CisKKy8qIEJlZ2luIFBCWEJ1aWxkRmlsZSBzZWN0aW9uICovCisJCTE0MTQ1MUUxMTUy
NTgyRjkwMDI1MDc3MSAvKiBleGlzdGluZy1pbi1kaXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTQxNDRGRjUxNTI1NzlENjAwMjUwNzcxIC8qIGV4
aXN0aW5nLWluLWRpci5jcHAgKi87IH07CisJCTE0MTQ1MUUyMTUyNTgzMDEwMDI1MDc3MSAvKiBl
eGlzdGluZy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAxNDE0NEZFQzE1MjU3OTUxMDAyNTA3NzEgLyogZXhpc3RpbmcuY3BwICovOyB9OworCQkxNDE0
NTFFNzE1MjU4MzI0MDAyNTA3NzEgLyogZXhpc3RpbmctaW4tZm9sZGVyLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0MTQ0RkYyMTUyNTc5OTYwMDI1
MDc3MSAvKiBleGlzdGluZy1pbi1mb2xkZXIuY3BwICovOyB9OworCQkxNDE0NTFFODE1MjU4MzJB
MDAyNTA3NzEgLyogZXhpc3RpbmctaW4tZGlyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAxNDE0NEZGNDE1MjU3OUQ2MDAyNTA3NzEgLyogZXhpc3Rpbmct
aW4tZGlyLmggKi87IH07CisJCTE0MTQ1MUU5MTUyNTgzMkUwMDI1MDc3MSAvKiBleGlzdGluZy1p
bi1mb2xkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDE0MTQ0RkYxMTUyNTc5OTYwMDI1MDc3MSAvKiBleGlzdGluZy1pbi1mb2xkZXIuaCAqLzsgfTsK
KwkJMTQxNDUxRUExNTI1ODMzMzAwMjUwNzcxIC8qIGV4aXN0aW5nLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDE0NEZFQjE1MjU3OTUxMDAyNTA3NzEg
LyogZXhpc3RpbmcuaCAqLzsgfTsKKy8qIEVuZCBQQlhCdWlsZEZpbGUgc2VjdGlvbiAqLworCisv
KiBCZWdpbiBQQlhGaWxlUmVmZXJlbmNlIHNlY3Rpb24gKi8KKwkJMTQxNDRGRUIxNTI1Nzk1MTAw
MjUwNzcxIC8qIGV4aXN0aW5nLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IGV4
aXN0aW5nLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTE0MTQ0RkVDMTUyNTc5NTEw
MDI1MDc3MSAvKiBleGlzdGluZy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBleGlzdGluZy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTE0MTQ0RkYx
MTUyNTc5OTYwMDI1MDc3MSAvKiBleGlzdGluZy1pbi1mb2xkZXIuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gImV4aXN0aW5nLWluLWZvbGRlci5oIjsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJMTQxNDRGRjIxNTI1Nzk5NjAwMjUwNzcxIC8qIGV4aXN0aW5nLWluLWZv
bGRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSAiZXhpc3Rpbmct
aW4tZm9sZGVyLmNwcCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTE0MTQ0RkY0MTUy
NTc5RDYwMDI1MDc3MSAvKiBleGlzdGluZy1pbi1kaXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gImV4aXN0aW5nLWluLWRpci5oIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJMTQxNDRGRjUxNTI1NzlENjAwMjUwNzcxIC8qIGV4aXN0aW5nLWluLWRpci5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSAiZXhpc3RpbmctaW4tZGlyLmNwcCI7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTE0MTQ1MDRDMTUyNTdEMjQwMDI1MDc3MSAv
KiB0ZXN0LXRhcmdldC1JbmZvLnBsaXN0ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gdGV4dC5wbGlzdC54bWw7IHBhdGggPSAidGVzdC10YXJnZXQtSW5m
by5wbGlzdCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTE0MTQ1MUNBMTUyNTdFMUYw
MDI1MDc3MSAvKiB0ZXN0LXRhcmdldC5mcmFtZXdvcmsgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZXhwbGljaXRGaWxlVHlwZSA9IHdyYXBwZXIuZnJhbWV3b3JrOyBpbmNsdWRlSW5JbmRl
eCA9IDA7IHBhdGggPSAidGVzdC10YXJnZXQuZnJhbWV3b3JrIjsgc291cmNlVHJlZSA9IEJVSUxU
X1BST0RVQ1RTX0RJUjsgfTsKKy8qIEVuZCBQQlhGaWxlUmVmZXJlbmNlIHNlY3Rpb24gKi8KKwor
LyogQmVnaW4gUEJYRnJhbWV3b3Jrc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLworCQkxNDE0NTFDODE1
MjU3RTFGMDAyNTA3NzEgLyogRnJhbWV3b3JrcyAqLyA9IHsKKwkJCWlzYSA9IFBCWEZyYW1ld29y
a3NCdWlsZFBoYXNlOworCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKKwkJCWZpbGVz
ID0gKAorCQkJKTsKKwkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwor
CQl9OworLyogRW5kIFBCWEZyYW1ld29ya3NCdWlsZFBoYXNlIHNlY3Rpb24gKi8KKworLyogQmVn
aW4gUEJYR3JvdXAgc2VjdGlvbiAqLworCQkxNDE0NEZDRDE1MjU1QUQ4MDAyNTA3NzEgLyogdW5p
dHRlc3QgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCTE0
MTQ1MDJDMTUyNTdBQ0QwMDI1MDc3MSAvKiB0ZXN0LXByb2plY3QgKi8sCisJCQkJMTQxNDUwNEEx
NTI1N0QyNDAwMjUwNzcxIC8qIFByb2R1Y3RzICovLAorCQkJCTE0MTQ1MDRDMTUyNTdEMjQwMDI1
MDc3MSAvKiB0ZXN0LXRhcmdldC1JbmZvLnBsaXN0ICovLAorCQkJKTsKKwkJCW5hbWUgPSAidW5p
dHRlc3QiOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKKwkJMTQxNDRGRUQxNTI1
Nzk3MDAwMjUwNzcxIC8qIHRlc3QtcHJvamVjdCAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOwor
CQkJY2hpbGRyZW4gPSAoCisJCQkJMTQxNDRGRjIxNTI1Nzk5NjAwMjUwNzcxIC8qIGV4aXN0aW5n
LWluLWZvbGRlci5jcHAgKi8sCisJCQkJMTQxNDRGRjExNTI1Nzk5NjAwMjUwNzcxIC8qIGV4aXN0
aW5nLWluLWZvbGRlci5oICovLAorCQkJKTsKKwkJCW5hbWUgPSAidGVzdC1wcm9qZWN0IjsKKwkJ
CXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CisJCTE0MTQ0RkYzMTUyNTc5OUQwMDI1MDc3
MSAvKiBzdWJmb2xkZXIgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0g
KAorCQkJCTE0MTQ0RkY1MTUyNTc5RDYwMDI1MDc3MSAvKiBleGlzdGluZy1pbi1kaXIuY3BwICov
LAorCQkJCTE0MTQ0RkY0MTUyNTc5RDYwMDI1MDc3MSAvKiBleGlzdGluZy1pbi1kaXIuaCAqLywK
KwkJCSk7CisJCQlwYXRoID0gc3ViZm9sZGVyOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsK
KwkJfTsKKwkJMTQxNDUwMkMxNTI1N0FDRDAwMjUwNzcxIC8qIHRlc3QtcHJvamVjdCAqLyA9IHsK
KwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJMTQxNDRGRjMxNTI1Nzk5
RDAwMjUwNzcxIC8qIHN1YmZvbGRlciAqLywKKwkJCQkxNDE0NEZFRDE1MjU3OTcwMDAyNTA3NzEg
LyogdGVzdC1wcm9qZWN0ICovLAorCQkJCTE0MTQ0RkVDMTUyNTc5NTEwMDI1MDc3MSAvKiBleGlz
dGluZy5jcHAgKi8sCisJCQkJMTQxNDRGRUIxNTI1Nzk1MTAwMjUwNzcxIC8qIGV4aXN0aW5nLmgg
Ki8sCisJCQkpOworCQkJcGF0aCA9ICJ0ZXN0LXByb2plY3QiOworCQkJc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsKKwkJfTsKKwkJMTQxNDUwNEExNTI1N0QyNDAwMjUwNzcxIC8qIFByb2R1Y3RzICov
ID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQkxNDE0NTFDQTE1
MjU3RTFGMDAyNTA3NzEgLyogdGVzdC10YXJnZXQuZnJhbWV3b3JrICovLAorCQkJKTsKKwkJCW5h
bWUgPSBQcm9kdWN0czsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CisvKiBFbmQg
UEJYR3JvdXAgc2VjdGlvbiAqLworCisvKiBCZWdpbiBQQlhIZWFkZXJzQnVpbGRQaGFzZSBzZWN0
aW9uICovCisJCTE0MTQ1MUM1MTUyNTdFMUYwMDI1MDc3MSAvKiBIZWFkZXJzICovID0geworCQkJ
aXNhID0gUEJYSGVhZGVyc0J1aWxkUGhhc2U7CisJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgz
NjQ3OworCQkJZmlsZXMgPSAoCisJCQkJMTQxNDUxRTgxNTI1ODMyQTAwMjUwNzcxIC8qIGV4aXN0
aW5nLWluLWRpci5oIGluIEhlYWRlcnMgKi8sCisJCQkJMTQxNDUxRTkxNTI1ODMyRTAwMjUwNzcx
IC8qIGV4aXN0aW5nLWluLWZvbGRlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJMTQxNDUxRUExNTI1
ODMzMzAwMjUwNzcxIC8qIGV4aXN0aW5nLmggaW4gSGVhZGVycyAqLywKKwkJCSk7CisJCQlydW5P
bmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKKwkJfTsKKy8qIEVuZCBQQlhIZWFk
ZXJzQnVpbGRQaGFzZSBzZWN0aW9uICovCisKKy8qIEJlZ2luIFBCWE5hdGl2ZVRhcmdldCBzZWN0
aW9uICovCisJCTE0MTQ1MUM5MTUyNTdFMUYwMDI1MDc3MSAvKiB0ZXN0LXRhcmdldCAqLyA9IHsK
KwkJCWlzYSA9IFBCWE5hdGl2ZVRhcmdldDsKKwkJCWJ1aWxkQ29uZmlndXJhdGlvbkxpc3QgPSAx
NDE0NTFEMzE1MjU3RTJFMDAyNTA3NzEgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQ
QlhOYXRpdmVUYXJnZXQgInRlc3QtdGFyZ2V0IiAqLzsKKwkJCWJ1aWxkUGhhc2VzID0gKAorCQkJ
CTE0MTQ1MUM1MTUyNTdFMUYwMDI1MDc3MSAvKiBIZWFkZXJzICovLAorCQkJCTE0MTQ1MUM2MTUy
NTdFMUYwMDI1MDc3MSAvKiBSZXNvdXJjZXMgKi8sCisJCQkJMTQxNDUxQzcxNTI1N0UxRjAwMjUw
NzcxIC8qIFNvdXJjZXMgKi8sCisJCQkJMTQxNDUxQzgxNTI1N0UxRjAwMjUwNzcxIC8qIEZyYW1l
d29ya3MgKi8sCisJCQkpOworCQkJYnVpbGRSdWxlcyA9ICgKKwkJCSk7CisJCQlkZXBlbmRlbmNp
ZXMgPSAoCisJCQkpOworCQkJbmFtZSA9ICJ0ZXN0LXRhcmdldCI7CisJCQlwcm9kdWN0TmFtZSA9
ICJ0ZXN0LXRhcmdldCI7CisJCQlwcm9kdWN0UmVmZXJlbmNlID0gMTQxNDUxQ0ExNTI1N0UxRjAw
MjUwNzcxIC8qIHRlc3QtdGFyZ2V0LmZyYW1ld29yayAqLzsKKwkJCXByb2R1Y3RUeXBlID0gImNv
bS5hcHBsZS5wcm9kdWN0LXR5cGUuZnJhbWV3b3JrIjsKKwkJfTsKKy8qIEVuZCBQQlhOYXRpdmVU
YXJnZXQgc2VjdGlvbiAqLworCisvKiBCZWdpbiBQQlhQcm9qZWN0IHNlY3Rpb24gKi8KKwkJMTQx
NDRGQ0YxNTI1NUFEODAwMjUwNzcxIC8qIFByb2plY3Qgb2JqZWN0ICovID0geworCQkJaXNhID0g
UEJYUHJvamVjdDsKKwkJCWJ1aWxkQ29uZmlndXJhdGlvbkxpc3QgPSAxNDE0NEZEMjE1MjU1QUQ4
MDAyNTA3NzEgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhQcm9qZWN0ICJXZWJD
b3JlIiAqLzsKKwkJCWNvbXBhdGliaWxpdHlWZXJzaW9uID0gIlhjb2RlIDIuNCI7CisJCQlkZXZl
bG9wbWVudFJlZ2lvbiA9IEVuZ2xpc2g7CisJCQloYXNTY2FubmVkRm9yRW5jb2RpbmdzID0gMDsK
KwkJCWtub3duUmVnaW9ucyA9ICgKKwkJCQlFbmdsaXNoLAorCQkJCUphcGFuZXNlLAorCQkJCUZy
ZW5jaCwKKwkJCQlHZXJtYW4sCisJCQkpOworCQkJbWFpbkdyb3VwID0gMTQxNDRGQ0QxNTI1NUFE
ODAwMjUwNzcxIC8qIHVuaXR0ZXN0ICovOworCQkJcHJvZHVjdFJlZkdyb3VwID0gMTQxNDUwNEEx
NTI1N0QyNDAwMjUwNzcxIC8qIFByb2R1Y3RzICovOworCQkJcHJvamVjdERpclBhdGggPSAiIjsK
KwkJCXByb2plY3RSb290ID0gIiI7CisJCQl0YXJnZXRzID0gKAorCQkJCTE0MTQ1MUM5MTUyNTdF
MUYwMDI1MDc3MSAvKiB0ZXN0LXRhcmdldCAqLywKKwkJCSk7CisJCX07CisvKiBFbmQgUEJYUHJv
amVjdCBzZWN0aW9uICovCisKKy8qIEJlZ2luIFBCWFJlc291cmNlc0J1aWxkUGhhc2Ugc2VjdGlv
biAqLworCQkxNDE0NTFDNjE1MjU3RTFGMDAyNTA3NzEgLyogUmVzb3VyY2VzICovID0geworCQkJ
aXNhID0gUEJYUmVzb3VyY2VzQnVpbGRQaGFzZTsKKwkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0
ODM2NDc7CisJCQlmaWxlcyA9ICgKKwkJCSk7CisJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rw
cm9jZXNzaW5nID0gMDsKKwkJfTsKKy8qIEVuZCBQQlhSZXNvdXJjZXNCdWlsZFBoYXNlIHNlY3Rp
b24gKi8KKworLyogQmVnaW4gUEJYU291cmNlc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLworCQkxNDE0
NTFDNzE1MjU3RTFGMDAyNTA3NzEgLyogU291cmNlcyAqLyA9IHsKKwkJCWlzYSA9IFBCWFNvdXJj
ZXNCdWlsZFBoYXNlOworCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKKwkJCWZpbGVz
ID0gKAorCQkJCTE0MTQ1MUUxMTUyNTgyRjkwMDI1MDc3MSAvKiBleGlzdGluZy1pbi1kaXIuY3Bw
IGluIFNvdXJjZXMgKi8sCisJCQkJMTQxNDUxRTcxNTI1ODMyNDAwMjUwNzcxIC8qIGV4aXN0aW5n
LWluLWZvbGRlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkxNDE0NTFFMjE1MjU4MzAxMDAyNTA3
NzEgLyogZXhpc3RpbmcuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkpOworCQkJcnVuT25seUZvckRl
cGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CisJCX07CisvKiBFbmQgUEJYU291cmNlc0J1aWxk
UGhhc2Ugc2VjdGlvbiAqLworCisvKiBCZWdpbiBYQ0J1aWxkQ29uZmlndXJhdGlvbiBzZWN0aW9u
ICovCisJCTE0MTQ0RkQwMTUyNTVBRDgwMDI1MDc3MSAvKiBEZWJ1ZyAqLyA9IHsKKwkJCWlzYSA9
IFhDQnVpbGRDb25maWd1cmF0aW9uOworCQkJYnVpbGRTZXR0aW5ncyA9IHsKKwkJCQlDT1BZX1BI
QVNFX1NUUklQID0gTk87CisJCQl9OworCQkJbmFtZSA9IERlYnVnOworCQl9OworCQkxNDE0NEZE
MTE1MjU1QUQ4MDAyNTA3NzEgLyogUmVsZWFzZSAqLyA9IHsKKwkJCWlzYSA9IFhDQnVpbGRDb25m
aWd1cmF0aW9uOworCQkJYnVpbGRTZXR0aW5ncyA9IHsKKwkJCQlDT1BZX1BIQVNFX1NUUklQID0g
WUVTOworCQkJfTsKKwkJCW5hbWUgPSBSZWxlYXNlOworCQl9OworCQkxNDE0NTFDQjE1MjU3RTFG
MDAyNTA3NzEgLyogRGVidWcgKi8gPSB7CisJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsK
KwkJCWJ1aWxkU2V0dGluZ3MgPSB7CisJCQkJQUxXQVlTX1NFQVJDSF9VU0VSX1BBVEhTID0gTk87
CisJCQkJQ09QWV9QSEFTRV9TVFJJUCA9IE5POworCQkJCURZTElCX0NPTVBBVElCSUxJVFlfVkVS
U0lPTiA9IDE7CisJCQkJRFlMSUJfQ1VSUkVOVF9WRVJTSU9OID0gMTsKKwkJCQlGUkFNRVdPUktf
VkVSU0lPTiA9IEE7CisJCQkJR0NDX0RZTkFNSUNfTk9fUElDID0gTk87CisJCQkJR0NDX0VOQUJM
RV9GSVhfQU5EX0NPTlRJTlVFID0gWUVTOworCQkJCUdDQ19NT0RFTF9UVU5JTkcgPSBHNTsKKwkJ
CQlHQ0NfT1BUSU1JWkFUSU9OX0xFVkVMID0gMDsKKwkJCQlHQ0NfUFJFQ09NUElMRV9QUkVGSVhf
SEVBREVSID0gWUVTOworCQkJCUdDQ19QUkVGSVhfSEVBREVSID0gIiQoU1lTVEVNX0xJQlJBUllf
RElSKS9GcmFtZXdvcmtzL0FwcEtpdC5mcmFtZXdvcmsvSGVhZGVycy9BcHBLaXQuaCI7CisJCQkJ
SU5GT1BMSVNUX0ZJTEUgPSAidGVzdC10YXJnZXQtSW5mby5wbGlzdCI7CisJCQkJSU5TVEFMTF9Q
QVRIID0gIiQoSE9NRSkvTGlicmFyeS9GcmFtZXdvcmtzIjsKKwkJCQlPVEhFUl9MREZMQUdTID0g
KAorCQkJCQkiLWZyYW1ld29yayIsCisJCQkJCUZvdW5kYXRpb24sCisJCQkJCSItZnJhbWV3b3Jr
IiwKKwkJCQkJQXBwS2l0LAorCQkJCSk7CisJCQkJUFJFQklORElORyA9IE5POworCQkJCVBST0RV
Q1RfTkFNRSA9ICJ0ZXN0LXRhcmdldCI7CisJCQl9OworCQkJbmFtZSA9IERlYnVnOworCQl9Owor
CQkxNDE0NTFDQzE1MjU3RTFGMDAyNTA3NzEgLyogUmVsZWFzZSAqLyA9IHsKKwkJCWlzYSA9IFhD
QnVpbGRDb25maWd1cmF0aW9uOworCQkJYnVpbGRTZXR0aW5ncyA9IHsKKwkJCQlBTFdBWVNfU0VB
UkNIX1VTRVJfUEFUSFMgPSBOTzsKKwkJCQlDT1BZX1BIQVNFX1NUUklQID0gWUVTOworCQkJCURF
QlVHX0lORk9STUFUSU9OX0ZPUk1BVCA9ICJkd2FyZi13aXRoLWRzeW0iOworCQkJCURZTElCX0NP
TVBBVElCSUxJVFlfVkVSU0lPTiA9IDE7CisJCQkJRFlMSUJfQ1VSUkVOVF9WRVJTSU9OID0gMTsK
KwkJCQlGUkFNRVdPUktfVkVSU0lPTiA9IEE7CisJCQkJR0NDX0VOQUJMRV9GSVhfQU5EX0NPTlRJ
TlVFID0gTk87CisJCQkJR0NDX01PREVMX1RVTklORyA9IEc1OworCQkJCUdDQ19QUkVDT01QSUxF
X1BSRUZJWF9IRUFERVIgPSBZRVM7CisJCQkJR0NDX1BSRUZJWF9IRUFERVIgPSAiJChTWVNURU1f
TElCUkFSWV9ESVIpL0ZyYW1ld29ya3MvQXBwS2l0LmZyYW1ld29yay9IZWFkZXJzL0FwcEtpdC5o
IjsKKwkJCQlJTkZPUExJU1RfRklMRSA9ICJ0ZXN0LXRhcmdldC1JbmZvLnBsaXN0IjsKKwkJCQlJ
TlNUQUxMX1BBVEggPSAiJChIT01FKS9MaWJyYXJ5L0ZyYW1ld29ya3MiOworCQkJCU9USEVSX0xE
RkxBR1MgPSAoCisJCQkJCSItZnJhbWV3b3JrIiwKKwkJCQkJRm91bmRhdGlvbiwKKwkJCQkJIi1m
cmFtZXdvcmsiLAorCQkJCQlBcHBLaXQsCisJCQkJKTsKKwkJCQlQUkVCSU5ESU5HID0gTk87CisJ
CQkJUFJPRFVDVF9OQU1FID0gInRlc3QtdGFyZ2V0IjsKKwkJCQlaRVJPX0xJTksgPSBOTzsKKwkJ
CX07CisJCQluYW1lID0gUmVsZWFzZTsKKwkJfTsKKy8qIEVuZCBYQ0J1aWxkQ29uZmlndXJhdGlv
biBzZWN0aW9uICovCisKKy8qIEJlZ2luIFhDQ29uZmlndXJhdGlvbkxpc3Qgc2VjdGlvbiAqLwor
CQkxNDE0NEZEMjE1MjU1QUQ4MDAyNTA3NzEgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZv
ciBQQlhQcm9qZWN0ICJXZWJDb3JlIiAqLyA9IHsKKwkJCWlzYSA9IFhDQ29uZmlndXJhdGlvbkxp
c3Q7CisJCQlidWlsZENvbmZpZ3VyYXRpb25zID0gKAorCQkJCTE0MTQ0RkQwMTUyNTVBRDgwMDI1
MDc3MSAvKiBEZWJ1ZyAqLywKKwkJCQkxNDE0NEZEMTE1MjU1QUQ4MDAyNTA3NzEgLyogUmVsZWFz
ZSAqLywKKwkJCSk7CisJCQlkZWZhdWx0Q29uZmlndXJhdGlvbklzVmlzaWJsZSA9IDA7CisJCQlk
ZWZhdWx0Q29uZmlndXJhdGlvbk5hbWUgPSBSZWxlYXNlOworCQl9OworCQkxNDE0NTFEMzE1MjU3
RTJFMDAyNTA3NzEgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhOYXRpdmVUYXJn
ZXQgInRlc3QtdGFyZ2V0IiAqLyA9IHsKKwkJCWlzYSA9IFhDQ29uZmlndXJhdGlvbkxpc3Q7CisJ
CQlidWlsZENvbmZpZ3VyYXRpb25zID0gKAorCQkJCTE0MTQ1MUNCMTUyNTdFMUYwMDI1MDc3MSAv
KiBEZWJ1ZyAqLywKKwkJCQkxNDE0NTFDQzE1MjU3RTFGMDAyNTA3NzEgLyogUmVsZWFzZSAqLywK
KwkJCSk7CisJCQlkZWZhdWx0Q29uZmlndXJhdGlvbklzVmlzaWJsZSA9IDA7CisJCQlkZWZhdWx0
Q29uZmlndXJhdGlvbk5hbWUgPSBSZWxlYXNlOworCQl9OworLyogRW5kIFhDQ29uZmlndXJhdGlv
bkxpc3Qgc2VjdGlvbiAqLworCX07CisJcm9vdE9iamVjdCA9IDE0MTQ0RkNGMTUyNTVBRDgwMDI1
MDc3MSAvKiBQcm9qZWN0IG9iamVjdCAqLzsKK30KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvY29tbW9uL3Byb2plY3QvdW5pdHRlc3RfZmlsZXMvWGNvZGUtc29ydGVkLnBieHBy
b2ogYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9wcm9qZWN0L3VuaXR0ZXN0X2ZpbGVz
L1hjb2RlLXNvcnRlZC5wYnhwcm9qCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu
Ljk4NDYzZTMKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1v
bi9wcm9qZWN0L3VuaXR0ZXN0X2ZpbGVzL1hjb2RlLXNvcnRlZC5wYnhwcm9qCkBAIC0wLDAgKzEs
MjYxIEBACisvLyAhJCpVVEY4KiQhCit7CisJYXJjaGl2ZVZlcnNpb24gPSAxOworCWNsYXNzZXMg
PSB7CisJfTsKKwlvYmplY3RWZXJzaW9uID0gNDI7CisJb2JqZWN0cyA9IHsKKworLyogQmVnaW4g
UEJYQnVpbGRGaWxlIHNlY3Rpb24gKi8KKwkJMTQxNDUxRTExNTI1ODJGOTAwMjUwNzcxIC8qIGV4
aXN0aW5nLWluLWRpci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAxNDE0NEZGNTE1MjU3OUQ2MDAyNTA3NzEgLyogZXhpc3RpbmctaW4tZGlyLmNwcCAq
LzsgfTsKKwkJMTQxNDUxRTIxNTI1ODMwMTAwMjUwNzcxIC8qIGV4aXN0aW5nLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0MTQ0RkVDMTUyNTc5NTEw
MDI1MDc3MSAvKiBleGlzdGluZy5jcHAgKi87IH07CisJCTE0MTQ1MUU3MTUyNTgzMjQwMDI1MDc3
MSAvKiBleGlzdGluZy1pbi1mb2xkZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMTQxNDRGRjIxNTI1Nzk5NjAwMjUwNzcxIC8qIGV4aXN0aW5nLWlu
LWZvbGRlci5jcHAgKi87IH07CisJCTE0MTQ1MUU4MTUyNTgzMkEwMDI1MDc3MSAvKiBleGlzdGlu
Zy1pbi1kaXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDE0MTQ0RkY0MTUyNTc5RDYwMDI1MDc3MSAvKiBleGlzdGluZy1pbi1kaXIuaCAqLzsgfTsKKwkJ
MTQxNDUxRTkxNTI1ODMyRTAwMjUwNzcxIC8qIGV4aXN0aW5nLWluLWZvbGRlci5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTQxNDRGRjExNTI1Nzk5NjAw
MjUwNzcxIC8qIGV4aXN0aW5nLWluLWZvbGRlci5oICovOyB9OworCQkxNDE0NTFFQTE1MjU4MzMz
MDAyNTA3NzEgLyogZXhpc3RpbmcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDE0MTQ0RkVCMTUyNTc5NTEwMDI1MDc3MSAvKiBleGlzdGluZy5oICovOyB9
OworLyogRW5kIFBCWEJ1aWxkRmlsZSBzZWN0aW9uICovCisKKy8qIEJlZ2luIFBCWEZpbGVSZWZl
cmVuY2Ugc2VjdGlvbiAqLworCQkxNDE0NEZFQjE1MjU3OTUxMDAyNTA3NzEgLyogZXhpc3Rpbmcu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gZXhpc3RpbmcuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMTQxNDRGRUMxNTI1Nzk1MTAwMjUwNzcxIC8qIGV4aXN0aW5n
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IGV4aXN0aW5nLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMTQxNDRGRjExNTI1Nzk5NjAwMjUwNzcxIC8q
IGV4aXN0aW5nLWluLWZvbGRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSAi
ZXhpc3RpbmctaW4tZm9sZGVyLmgiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxNDE0
NEZGMjE1MjU3OTk2MDAyNTA3NzEgLyogZXhpc3RpbmctaW4tZm9sZGVyLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9ICJleGlzdGluZy1pbi1mb2xkZXIuY3BwIjsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMTQxNDRGRjQxNTI1NzlENjAwMjUwNzcxIC8qIGV4
aXN0aW5nLWluLWRpci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSAiZXhpc3Rp
bmctaW4tZGlyLmgiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxNDE0NEZGNTE1MjU3
OUQ2MDAyNTA3NzEgLyogZXhpc3RpbmctaW4tZGlyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9ICJleGlzdGluZy1pbi1kaXIuY3BwIjsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJMTQxNDUwNEMxNTI1N0QyNDAwMjUwNzcxIC8qIHRlc3QtdGFyZ2V0LUluZm8u
cGxpc3QgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0
ZXh0LnBsaXN0LnhtbDsgcGF0aCA9ICJ0ZXN0LXRhcmdldC1JbmZvLnBsaXN0Ijsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMTQxNDUxQ0ExNTI1N0UxRjAwMjUwNzcxIC8qIHRlc3QtdGFy
Z2V0LmZyYW1ld29yayAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBleHBsaWNpdEZpbGVU
eXBlID0gd3JhcHBlci5mcmFtZXdvcms7IGluY2x1ZGVJbkluZGV4ID0gMDsgcGF0aCA9ICJ0ZXN0
LXRhcmdldC5mcmFtZXdvcmsiOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9Owor
LyogRW5kIFBCWEZpbGVSZWZlcmVuY2Ugc2VjdGlvbiAqLworCisvKiBCZWdpbiBQQlhGcmFtZXdv
cmtzQnVpbGRQaGFzZSBzZWN0aW9uICovCisJCTE0MTQ1MUM4MTUyNTdFMUYwMDI1MDc3MSAvKiBG
cmFtZXdvcmtzICovID0geworCQkJaXNhID0gUEJYRnJhbWV3b3Jrc0J1aWxkUGhhc2U7CisJCQli
dWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OworCQkJZmlsZXMgPSAoCisJCQkpOworCQkJcnVu
T25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CisJCX07CisvKiBFbmQgUEJYRnJh
bWV3b3Jrc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLworCisvKiBCZWdpbiBQQlhHcm91cCBzZWN0aW9u
ICovCisJCTE0MTQ0RkNEMTUyNTVBRDgwMDI1MDc3MSA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOwor
CQkJY2hpbGRyZW4gPSAoCisJCQkJMTQxNDUwMkMxNTI1N0FDRDAwMjUwNzcxIC8qIHRlc3QtcHJv
amVjdCAqLywKKwkJCQkxNDE0NTA0QTE1MjU3RDI0MDAyNTA3NzEgLyogUHJvZHVjdHMgKi8sCisJ
CQkJMTQxNDUwNEMxNTI1N0QyNDAwMjUwNzcxIC8qIHRlc3QtdGFyZ2V0LUluZm8ucGxpc3QgKi8s
CisJCQkpOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKKwkJMTQxNDRGRUQxNTI1
Nzk3MDAwMjUwNzcxIC8qIHRlc3QtcHJvamVjdCAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOwor
CQkJY2hpbGRyZW4gPSAoCisJCQkJMTQxNDRGRjExNTI1Nzk5NjAwMjUwNzcxIC8qIGV4aXN0aW5n
LWluLWZvbGRlci5oICovLAorCQkJCTE0MTQ0RkYyMTUyNTc5OTYwMDI1MDc3MSAvKiBleGlzdGlu
Zy1pbi1mb2xkZXIuY3BwICovLAorCQkJKTsKKwkJCW5hbWUgPSAidGVzdC1wcm9qZWN0IjsKKwkJ
CXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CisJCTE0MTQ0RkYzMTUyNTc5OUQwMDI1MDc3
MSAvKiBzdWJmb2xkZXIgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0g
KAorCQkJCTE0MTQ0RkY0MTUyNTc5RDYwMDI1MDc3MSAvKiBleGlzdGluZy1pbi1kaXIuaCAqLywK
KwkJCQkxNDE0NEZGNTE1MjU3OUQ2MDAyNTA3NzEgLyogZXhpc3RpbmctaW4tZGlyLmNwcCAqLywK
KwkJCSk7CisJCQlwYXRoID0gc3ViZm9sZGVyOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsK
KwkJfTsKKwkJMTQxNDUwMkMxNTI1N0FDRDAwMjUwNzcxIC8qIHRlc3QtcHJvamVjdCAqLyA9IHsK
KwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJMTQxNDRGRjMxNTI1Nzk5
RDAwMjUwNzcxIC8qIHN1YmZvbGRlciAqLywKKwkJCQkxNDE0NEZFRDE1MjU3OTcwMDAyNTA3NzEg
LyogdGVzdC1wcm9qZWN0ICovLAorCQkJCTE0MTQ0RkVCMTUyNTc5NTEwMDI1MDc3MSAvKiBleGlz
dGluZy5oICovLAorCQkJCTE0MTQ0RkVDMTUyNTc5NTEwMDI1MDc3MSAvKiBleGlzdGluZy5jcHAg
Ki8sCisJCQkpOworCQkJcGF0aCA9ICJ0ZXN0LXByb2plY3QiOworCQkJc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsKKwkJfTsKKwkJMTQxNDUwNEExNTI1N0QyNDAwMjUwNzcxIC8qIFByb2R1Y3RzICov
ID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQkxNDE0NTFDQTE1
MjU3RTFGMDAyNTA3NzEgLyogdGVzdC10YXJnZXQuZnJhbWV3b3JrICovLAorCQkJKTsKKwkJCW5h
bWUgPSBQcm9kdWN0czsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CisvKiBFbmQg
UEJYR3JvdXAgc2VjdGlvbiAqLworCisvKiBCZWdpbiBQQlhIZWFkZXJzQnVpbGRQaGFzZSBzZWN0
aW9uICovCisJCTE0MTQ1MUM1MTUyNTdFMUYwMDI1MDc3MSAvKiBIZWFkZXJzICovID0geworCQkJ
aXNhID0gUEJYSGVhZGVyc0J1aWxkUGhhc2U7CisJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgz
NjQ3OworCQkJZmlsZXMgPSAoCisJCQkJMTQxNDUxRTgxNTI1ODMyQTAwMjUwNzcxIC8qIGV4aXN0
aW5nLWluLWRpci5oIGluIEhlYWRlcnMgKi8sCisJCQkJMTQxNDUxRTkxNTI1ODMyRTAwMjUwNzcx
IC8qIGV4aXN0aW5nLWluLWZvbGRlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJMTQxNDUxRUExNTI1
ODMzMzAwMjUwNzcxIC8qIGV4aXN0aW5nLmggaW4gSGVhZGVycyAqLywKKwkJCSk7CisJCQlydW5P
bmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKKwkJfTsKKy8qIEVuZCBQQlhIZWFk
ZXJzQnVpbGRQaGFzZSBzZWN0aW9uICovCisKKy8qIEJlZ2luIFBCWE5hdGl2ZVRhcmdldCBzZWN0
aW9uICovCisJCTE0MTQ1MUM5MTUyNTdFMUYwMDI1MDc3MSAvKiB0ZXN0LXRhcmdldCAqLyA9IHsK
KwkJCWlzYSA9IFBCWE5hdGl2ZVRhcmdldDsKKwkJCWJ1aWxkQ29uZmlndXJhdGlvbkxpc3QgPSAx
NDE0NTFEMzE1MjU3RTJFMDAyNTA3NzEgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQ
QlhOYXRpdmVUYXJnZXQgInRlc3QtdGFyZ2V0IiAqLzsKKwkJCWJ1aWxkUGhhc2VzID0gKAorCQkJ
CTE0MTQ1MUM1MTUyNTdFMUYwMDI1MDc3MSAvKiBIZWFkZXJzICovLAorCQkJCTE0MTQ1MUM2MTUy
NTdFMUYwMDI1MDc3MSAvKiBSZXNvdXJjZXMgKi8sCisJCQkJMTQxNDUxQzcxNTI1N0UxRjAwMjUw
NzcxIC8qIFNvdXJjZXMgKi8sCisJCQkJMTQxNDUxQzgxNTI1N0UxRjAwMjUwNzcxIC8qIEZyYW1l
d29ya3MgKi8sCisJCQkpOworCQkJYnVpbGRSdWxlcyA9ICgKKwkJCSk7CisJCQlkZXBlbmRlbmNp
ZXMgPSAoCisJCQkpOworCQkJbmFtZSA9ICJ0ZXN0LXRhcmdldCI7CisJCQlwcm9kdWN0TmFtZSA9
ICJ0ZXN0LXRhcmdldCI7CisJCQlwcm9kdWN0UmVmZXJlbmNlID0gMTQxNDUxQ0ExNTI1N0UxRjAw
MjUwNzcxIC8qIHRlc3QtdGFyZ2V0LmZyYW1ld29yayAqLzsKKwkJCXByb2R1Y3RUeXBlID0gImNv
bS5hcHBsZS5wcm9kdWN0LXR5cGUuZnJhbWV3b3JrIjsKKwkJfTsKKy8qIEVuZCBQQlhOYXRpdmVU
YXJnZXQgc2VjdGlvbiAqLworCisvKiBCZWdpbiBQQlhQcm9qZWN0IHNlY3Rpb24gKi8KKwkJMTQx
NDRGQ0YxNTI1NUFEODAwMjUwNzcxIC8qIFByb2plY3Qgb2JqZWN0ICovID0geworCQkJaXNhID0g
UEJYUHJvamVjdDsKKwkJCWJ1aWxkQ29uZmlndXJhdGlvbkxpc3QgPSAxNDE0NEZEMjE1MjU1QUQ4
MDAyNTA3NzEgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhQcm9qZWN0ICJYY29k
ZS11bnNvcnRlZCIgKi87CisJCQljb21wYXRpYmlsaXR5VmVyc2lvbiA9ICJYY29kZSAyLjQiOwor
CQkJZGV2ZWxvcG1lbnRSZWdpb24gPSBFbmdsaXNoOworCQkJaGFzU2Nhbm5lZEZvckVuY29kaW5n
cyA9IDA7CisJCQlrbm93blJlZ2lvbnMgPSAoCisJCQkJRW5nbGlzaCwKKwkJCQlKYXBhbmVzZSwK
KwkJCQlGcmVuY2gsCisJCQkJR2VybWFuLAorCQkJKTsKKwkJCW1haW5Hcm91cCA9IDE0MTQ0RkNE
MTUyNTVBRDgwMDI1MDc3MTsKKwkJCXByb2R1Y3RSZWZHcm91cCA9IDE0MTQ1MDRBMTUyNTdEMjQw
MDI1MDc3MSAvKiBQcm9kdWN0cyAqLzsKKwkJCXByb2plY3REaXJQYXRoID0gIiI7CisJCQlwcm9q
ZWN0Um9vdCA9ICIiOworCQkJdGFyZ2V0cyA9ICgKKwkJCQkxNDE0NTFDOTE1MjU3RTFGMDAyNTA3
NzEgLyogdGVzdC10YXJnZXQgKi8sCisJCQkpOworCQl9OworLyogRW5kIFBCWFByb2plY3Qgc2Vj
dGlvbiAqLworCisvKiBCZWdpbiBQQlhSZXNvdXJjZXNCdWlsZFBoYXNlIHNlY3Rpb24gKi8KKwkJ
MTQxNDUxQzYxNTI1N0UxRjAwMjUwNzcxIC8qIFJlc291cmNlcyAqLyA9IHsKKwkJCWlzYSA9IFBC
WFJlc291cmNlc0J1aWxkUGhhc2U7CisJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3Owor
CQkJZmlsZXMgPSAoCisJCQkpOworCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2lu
ZyA9IDA7CisJCX07CisvKiBFbmQgUEJYUmVzb3VyY2VzQnVpbGRQaGFzZSBzZWN0aW9uICovCisK
Ky8qIEJlZ2luIFBCWFNvdXJjZXNCdWlsZFBoYXNlIHNlY3Rpb24gKi8KKwkJMTQxNDUxQzcxNTI1
N0UxRjAwMjUwNzcxIC8qIFNvdXJjZXMgKi8gPSB7CisJCQlpc2EgPSBQQlhTb3VyY2VzQnVpbGRQ
aGFzZTsKKwkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CisJCQlmaWxlcyA9ICgKKwkJ
CQkxNDE0NTFFMTE1MjU4MkY5MDAyNTA3NzEgLyogZXhpc3RpbmctaW4tZGlyLmNwcCBpbiBTb3Vy
Y2VzICovLAorCQkJCTE0MTQ1MUUyMTUyNTgzMDEwMDI1MDc3MSAvKiBleGlzdGluZy5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQkxNDE0NTFFNzE1MjU4MzI0MDAyNTA3NzEgLyogZXhpc3RpbmctaW4t
Zm9sZGVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJKTsKKwkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50
UG9zdHByb2Nlc3NpbmcgPSAwOworCQl9OworLyogRW5kIFBCWFNvdXJjZXNCdWlsZFBoYXNlIHNl
Y3Rpb24gKi8KKworLyogQmVnaW4gWENCdWlsZENvbmZpZ3VyYXRpb24gc2VjdGlvbiAqLworCQkx
NDE0NEZEMDE1MjU1QUQ4MDAyNTA3NzEgLyogRGVidWcgKi8gPSB7CisJCQlpc2EgPSBYQ0J1aWxk
Q29uZmlndXJhdGlvbjsKKwkJCWJ1aWxkU2V0dGluZ3MgPSB7CisJCQkJQ09QWV9QSEFTRV9TVFJJ
UCA9IE5POworCQkJfTsKKwkJCW5hbWUgPSBEZWJ1ZzsKKwkJfTsKKwkJMTQxNDRGRDExNTI1NUFE
ODAwMjUwNzcxIC8qIFJlbGVhc2UgKi8gPSB7CisJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlv
bjsKKwkJCWJ1aWxkU2V0dGluZ3MgPSB7CisJCQkJQ09QWV9QSEFTRV9TVFJJUCA9IFlFUzsKKwkJ
CX07CisJCQluYW1lID0gUmVsZWFzZTsKKwkJfTsKKwkJMTQxNDUxQ0IxNTI1N0UxRjAwMjUwNzcx
IC8qIERlYnVnICovID0geworCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CisJCQlidWls
ZFNldHRpbmdzID0geworCQkJCUFMV0FZU19TRUFSQ0hfVVNFUl9QQVRIUyA9IE5POworCQkJCUNP
UFlfUEhBU0VfU1RSSVAgPSBOTzsKKwkJCQlEWUxJQl9DT01QQVRJQklMSVRZX1ZFUlNJT04gPSAx
OworCQkJCURZTElCX0NVUlJFTlRfVkVSU0lPTiA9IDE7CisJCQkJRlJBTUVXT1JLX1ZFUlNJT04g
PSBBOworCQkJCUdDQ19EWU5BTUlDX05PX1BJQyA9IE5POworCQkJCUdDQ19FTkFCTEVfRklYX0FO
RF9DT05USU5VRSA9IFlFUzsKKwkJCQlHQ0NfTU9ERUxfVFVOSU5HID0gRzU7CisJCQkJR0NDX09Q
VElNSVpBVElPTl9MRVZFTCA9IDA7CisJCQkJR0NDX1BSRUNPTVBJTEVfUFJFRklYX0hFQURFUiA9
IFlFUzsKKwkJCQlHQ0NfUFJFRklYX0hFQURFUiA9ICIkKFNZU1RFTV9MSUJSQVJZX0RJUikvRnJh
bWV3b3Jrcy9BcHBLaXQuZnJhbWV3b3JrL0hlYWRlcnMvQXBwS2l0LmgiOworCQkJCUlORk9QTElT
VF9GSUxFID0gInRlc3QtdGFyZ2V0LUluZm8ucGxpc3QiOworCQkJCUlOU1RBTExfUEFUSCA9ICIk
KEhPTUUpL0xpYnJhcnkvRnJhbWV3b3JrcyI7CisJCQkJT1RIRVJfTERGTEFHUyA9ICgKKwkJCQkJ
Ii1mcmFtZXdvcmsiLAorCQkJCQlGb3VuZGF0aW9uLAorCQkJCQkiLWZyYW1ld29yayIsCisJCQkJ
CUFwcEtpdCwKKwkJCQkpOworCQkJCVBSRUJJTkRJTkcgPSBOTzsKKwkJCQlQUk9EVUNUX05BTUUg
PSAidGVzdC10YXJnZXQiOworCQkJfTsKKwkJCW5hbWUgPSBEZWJ1ZzsKKwkJfTsKKwkJMTQxNDUx
Q0MxNTI1N0UxRjAwMjUwNzcxIC8qIFJlbGVhc2UgKi8gPSB7CisJCQlpc2EgPSBYQ0J1aWxkQ29u
ZmlndXJhdGlvbjsKKwkJCWJ1aWxkU2V0dGluZ3MgPSB7CisJCQkJQUxXQVlTX1NFQVJDSF9VU0VS
X1BBVEhTID0gTk87CisJCQkJQ09QWV9QSEFTRV9TVFJJUCA9IFlFUzsKKwkJCQlERUJVR19JTkZP
Uk1BVElPTl9GT1JNQVQgPSAiZHdhcmYtd2l0aC1kc3ltIjsKKwkJCQlEWUxJQl9DT01QQVRJQklM
SVRZX1ZFUlNJT04gPSAxOworCQkJCURZTElCX0NVUlJFTlRfVkVSU0lPTiA9IDE7CisJCQkJRlJB
TUVXT1JLX1ZFUlNJT04gPSBBOworCQkJCUdDQ19FTkFCTEVfRklYX0FORF9DT05USU5VRSA9IE5P
OworCQkJCUdDQ19NT0RFTF9UVU5JTkcgPSBHNTsKKwkJCQlHQ0NfUFJFQ09NUElMRV9QUkVGSVhf
SEVBREVSID0gWUVTOworCQkJCUdDQ19QUkVGSVhfSEVBREVSID0gIiQoU1lTVEVNX0xJQlJBUllf
RElSKS9GcmFtZXdvcmtzL0FwcEtpdC5mcmFtZXdvcmsvSGVhZGVycy9BcHBLaXQuaCI7CisJCQkJ
SU5GT1BMSVNUX0ZJTEUgPSAidGVzdC10YXJnZXQtSW5mby5wbGlzdCI7CisJCQkJSU5TVEFMTF9Q
QVRIID0gIiQoSE9NRSkvTGlicmFyeS9GcmFtZXdvcmtzIjsKKwkJCQlPVEhFUl9MREZMQUdTID0g
KAorCQkJCQkiLWZyYW1ld29yayIsCisJCQkJCUZvdW5kYXRpb24sCisJCQkJCSItZnJhbWV3b3Jr
IiwKKwkJCQkJQXBwS2l0LAorCQkJCSk7CisJCQkJUFJFQklORElORyA9IE5POworCQkJCVBST0RV
Q1RfTkFNRSA9ICJ0ZXN0LXRhcmdldCI7CisJCQkJWkVST19MSU5LID0gTk87CisJCQl9OworCQkJ
bmFtZSA9IFJlbGVhc2U7CisJCX07CisvKiBFbmQgWENCdWlsZENvbmZpZ3VyYXRpb24gc2VjdGlv
biAqLworCisvKiBCZWdpbiBYQ0NvbmZpZ3VyYXRpb25MaXN0IHNlY3Rpb24gKi8KKwkJMTQxNDRG
RDIxNTI1NUFEODAwMjUwNzcxIC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYUHJv
amVjdCAiWGNvZGUtdW5zb3J0ZWQiICovID0geworCQkJaXNhID0gWENDb25maWd1cmF0aW9uTGlz
dDsKKwkJCWJ1aWxkQ29uZmlndXJhdGlvbnMgPSAoCisJCQkJMTQxNDRGRDAxNTI1NUFEODAwMjUw
NzcxIC8qIERlYnVnICovLAorCQkJCTE0MTQ0RkQxMTUyNTVBRDgwMDI1MDc3MSAvKiBSZWxlYXNl
ICovLAorCQkJKTsKKwkJCWRlZmF1bHRDb25maWd1cmF0aW9uSXNWaXNpYmxlID0gMDsKKwkJCWRl
ZmF1bHRDb25maWd1cmF0aW9uTmFtZSA9IFJlbGVhc2U7CisJCX07CisJCTE0MTQ1MUQzMTUyNTdF
MkUwMDI1MDc3MSAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWE5hdGl2ZVRhcmdl
dCAidGVzdC10YXJnZXQiICovID0geworCQkJaXNhID0gWENDb25maWd1cmF0aW9uTGlzdDsKKwkJ
CWJ1aWxkQ29uZmlndXJhdGlvbnMgPSAoCisJCQkJMTQxNDUxQ0IxNTI1N0UxRjAwMjUwNzcxIC8q
IERlYnVnICovLAorCQkJCTE0MTQ1MUNDMTUyNTdFMUYwMDI1MDc3MSAvKiBSZWxlYXNlICovLAor
CQkJKTsKKwkJCWRlZmF1bHRDb25maWd1cmF0aW9uSXNWaXNpYmxlID0gMDsKKwkJCWRlZmF1bHRD
b25maWd1cmF0aW9uTmFtZSA9IFJlbGVhc2U7CisJCX07CisvKiBFbmQgWENDb25maWd1cmF0aW9u
TGlzdCBzZWN0aW9uICovCisJfTsKKwlyb290T2JqZWN0ID0gMTQxNDRGQ0YxNTI1NUFEODAwMjUw
NzcxIC8qIFByb2plY3Qgb2JqZWN0ICovOworfQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9jb21tb24vcHJvamVjdC91bml0dGVzdF9maWxlcy9YY29kZS11bnNvcnRlZC5wYnhw
cm9qIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vcHJvamVjdC91bml0dGVzdF9maWxl
cy9YY29kZS11bnNvcnRlZC5wYnhwcm9qCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAuLjIwZmI3YTEKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2Nv
bW1vbi9wcm9qZWN0L3VuaXR0ZXN0X2ZpbGVzL1hjb2RlLXVuc29ydGVkLnBieHByb2oKQEAgLTAs
MCArMSwyNjIgQEAKKy8vICEkKlVURjgqJCEKK3sKKwlhcmNoaXZlVmVyc2lvbiA9IDE7CisJY2xh
c3NlcyA9IHsKKwl9OworCW9iamVjdFZlcnNpb24gPSA0MjsKKwlvYmplY3RzID0geworCisvKiBC
ZWdpbiBQQlhCdWlsZEZpbGUgc2VjdGlvbiAqLworCQkxNDE0NTFFMTE1MjU4MkY5MDAyNTA3NzEg
LyogZXhpc3RpbmctaW4tZGlyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDE0MTQ0RkY1MTUyNTc5RDYwMDI1MDc3MSAvKiBleGlzdGluZy1pbi1kaXIu
Y3BwICovOyB9OworCQkxNDE0NTFFMjE1MjU4MzAxMDAyNTA3NzEgLyogZXhpc3RpbmcuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTQxNDRGRUMxNTI1
Nzk1MTAwMjUwNzcxIC8qIGV4aXN0aW5nLmNwcCAqLzsgfTsKKwkJMTQxNDUxRTcxNTI1ODMyNDAw
MjUwNzcxIC8qIGV4aXN0aW5nLWluLWZvbGRlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDE0NEZGMjE1MjU3OTk2MDAyNTA3NzEgLyogZXhpc3Rp
bmctaW4tZm9sZGVyLmNwcCAqLzsgfTsKKwkJMTQxNDUxRTgxNTI1ODMyQTAwMjUwNzcxIC8qIGV4
aXN0aW5nLWluLWRpci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMTQxNDRGRjQxNTI1NzlENjAwMjUwNzcxIC8qIGV4aXN0aW5nLWluLWRpci5oICovOyB9
OworCQkxNDE0NTFFOTE1MjU4MzJFMDAyNTA3NzEgLyogZXhpc3RpbmctaW4tZm9sZGVyLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDE0NEZGMTE1MjU3
OTk2MDAyNTA3NzEgLyogZXhpc3RpbmctaW4tZm9sZGVyLmggKi87IH07CisJCTE0MTQ1MUVBMTUy
NTgzMzMwMDI1MDc3MSAvKiBleGlzdGluZy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMTQxNDRGRUIxNTI1Nzk1MTAwMjUwNzcxIC8qIGV4aXN0aW5nLmgg
Ki87IH07CisvKiBFbmQgUEJYQnVpbGRGaWxlIHNlY3Rpb24gKi8KKworLyogQmVnaW4gUEJYRmls
ZVJlZmVyZW5jZSBzZWN0aW9uICovCisJCTE0MTQ0RkVCMTUyNTc5NTEwMDI1MDc3MSAvKiBleGlz
dGluZy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBleGlzdGluZy5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxNDE0NEZFQzE1MjU3OTUxMDAyNTA3NzEgLyogZXhp
c3RpbmcuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gZXhpc3Rpbmcu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxNDE0NEZGMTE1MjU3OTk2MDAyNTA3
NzEgLyogZXhpc3RpbmctaW4tZm9sZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9ICJleGlzdGluZy1pbi1mb2xkZXIuaCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTE0MTQ0RkYyMTUyNTc5OTYwMDI1MDc3MSAvKiBleGlzdGluZy1pbi1mb2xkZXIuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gImV4aXN0aW5nLWluLWZvbGRlci5jcHAi
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxNDE0NEZGNDE1MjU3OUQ2MDAyNTA3NzEg
LyogZXhpc3RpbmctaW4tZGlyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9ICJl
eGlzdGluZy1pbi1kaXIuaCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTE0MTQ0RkY1
MTUyNTc5RDYwMDI1MDc3MSAvKiBleGlzdGluZy1pbi1kaXIuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gImV4aXN0aW5nLWluLWRpci5jcHAiOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkxNDE0NTA0QzE1MjU3RDI0MDAyNTA3NzEgLyogdGVzdC10YXJnZXQt
SW5mby5wbGlzdCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHRleHQucGxpc3QueG1sOyBwYXRoID0gInRlc3QtdGFyZ2V0LUluZm8ucGxpc3QiOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxNDE0NTFDQTE1MjU3RTFGMDAyNTA3NzEgLyogdGVz
dC10YXJnZXQuZnJhbWV3b3JrICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGV4cGxpY2l0
RmlsZVR5cGUgPSB3cmFwcGVyLmZyYW1ld29yazsgaW5jbHVkZUluSW5kZXggPSAwOyBwYXRoID0g
InRlc3QtdGFyZ2V0LmZyYW1ld29yayI7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7
IH07CisvKiBFbmQgUEJYRmlsZVJlZmVyZW5jZSBzZWN0aW9uICovCisKKy8qIEJlZ2luIFBCWEZy
YW1ld29ya3NCdWlsZFBoYXNlIHNlY3Rpb24gKi8KKwkJMTQxNDUxQzgxNTI1N0UxRjAwMjUwNzcx
IC8qIEZyYW1ld29ya3MgKi8gPSB7CisJCQlpc2EgPSBQQlhGcmFtZXdvcmtzQnVpbGRQaGFzZTsK
KwkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CisJCQlmaWxlcyA9ICgKKwkJCSk7CisJ
CQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKKwkJfTsKKy8qIEVuZCBQ
QlhGcmFtZXdvcmtzQnVpbGRQaGFzZSBzZWN0aW9uICovCisKKy8qIEJlZ2luIFBCWEdyb3VwIHNl
Y3Rpb24gKi8KKwkJMTQxNDRGQ0QxNTI1NUFEODAwMjUwNzcxID0gLyogdW5pdHRlc3QgKi8gewor
CQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQkxNDE0NTAyQzE1MjU3QUNE
MDAyNTA3NzEgLyogdGVzdC1wcm9qZWN0ICovLAorCQkJCTE0MTQ1MDRBMTUyNTdEMjQwMDI1MDc3
MSAvKiBQcm9kdWN0cyAqLywKKwkJCQkxNDE0NTA0QzE1MjU3RDI0MDAyNTA3NzEgLyogdGVzdC10
YXJnZXQtSW5mby5wbGlzdCAqLywKKwkJCSk7CisgICAgICAgICAgICBuYW1lID0gInVuaXR0ZXN0
IjsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CisJCTE0MTQ0RkVEMTUyNTc5NzAw
MDI1MDc3MSAvKiB0ZXN0LXByb2plY3QgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNo
aWxkcmVuID0gKAorCQkJCTE0MTQ0RkYxMTUyNTc5OTYwMDI1MDc3MSAvKiBleGlzdGluZy1pbi1m
b2xkZXIuaCAqLywKKwkJCQkxNDE0NEZGMjE1MjU3OTk2MDAyNTA3NzEgLyogZXhpc3RpbmctaW4t
Zm9sZGVyLmNwcCAqLywKKwkJCSk7CisJCQluYW1lID0gInRlc3QtcHJvamVjdCI7CisJCQlzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOworCQl9OworCQkxNDE0NEZGMzE1MjU3OTlEMDAyNTA3NzEgLyog
c3ViZm9sZGVyICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJ
CQkxNDE0NEZGNDE1MjU3OUQ2MDAyNTA3NzEgLyogZXhpc3RpbmctaW4tZGlyLmggKi8sCisJCQkJ
MTQxNDRGRjUxNTI1NzlENjAwMjUwNzcxIC8qIGV4aXN0aW5nLWluLWRpci5jcHAgKi8sCisJCQkp
OworCQkJcGF0aCA9IHN1YmZvbGRlcjsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07
CisJCTE0MTQ1MDJDMTUyNTdBQ0QwMDI1MDc3MSAvKiB0ZXN0LXByb2plY3QgKi8gPSB7CisJCQlp
c2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCTE0MTQ0RkYzMTUyNTc5OUQwMDI1
MDc3MSAvKiBzdWJmb2xkZXIgKi8sCisJCQkJMTQxNDRGRUQxNTI1Nzk3MDAwMjUwNzcxIC8qIHRl
c3QtcHJvamVjdCAqLywKKwkJCQkxNDE0NEZFQjE1MjU3OTUxMDAyNTA3NzEgLyogZXhpc3Rpbmcu
aCAqLywKKwkJCQkxNDE0NEZFQzE1MjU3OTUxMDAyNTA3NzEgLyogZXhpc3RpbmcuY3BwICovLAor
CQkJKTsKKwkJCXBhdGggPSAidGVzdC1wcm9qZWN0IjsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7CisJCX07CisJCTE0MTQ1MDRBMTUyNTdEMjQwMDI1MDc3MSAvKiBQcm9kdWN0cyAqLyA9IHsK
KwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJMTQxNDUxQ0ExNTI1N0Ux
RjAwMjUwNzcxIC8qIHRlc3QtdGFyZ2V0LmZyYW1ld29yayAqLywKKwkJCSk7CisJCQluYW1lID0g
UHJvZHVjdHM7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OworLyogRW5kIFBCWEdy
b3VwIHNlY3Rpb24gKi8KKworLyogQmVnaW4gUEJYSGVhZGVyc0J1aWxkUGhhc2Ugc2VjdGlvbiAq
LworCQkxNDE0NTFDNTE1MjU3RTFGMDAyNTA3NzEgLyogSGVhZGVycyAqLyA9IHsKKwkJCWlzYSA9
IFBCWEhlYWRlcnNCdWlsZFBoYXNlOworCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsK
KwkJCWZpbGVzID0gKAorCQkJCTE0MTQ1MUU4MTUyNTgzMkEwMDI1MDc3MSAvKiBleGlzdGluZy1p
bi1kaXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTE0MTQ1MUU5MTUyNTgzMkUwMDI1MDc3MSAvKiBl
eGlzdGluZy1pbi1mb2xkZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTE0MTQ1MUVBMTUyNTgzMzMw
MDI1MDc3MSAvKiBleGlzdGluZy5oIGluIEhlYWRlcnMgKi8sCisJCQkpOworCQkJcnVuT25seUZv
ckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CisJCX07CisvKiBFbmQgUEJYSGVhZGVyc0J1
aWxkUGhhc2Ugc2VjdGlvbiAqLworCisvKiBCZWdpbiBQQlhOYXRpdmVUYXJnZXQgc2VjdGlvbiAq
LworCQkxNDE0NTFDOTE1MjU3RTFGMDAyNTA3NzEgLyogdGVzdC10YXJnZXQgKi8gPSB7CisJCQlp
c2EgPSBQQlhOYXRpdmVUYXJnZXQ7CisJCQlidWlsZENvbmZpZ3VyYXRpb25MaXN0ID0gMTQxNDUx
RDMxNTI1N0UyRTAwMjUwNzcxIC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYTmF0
aXZlVGFyZ2V0ICJ0ZXN0LXRhcmdldCIgKi87CisJCQlidWlsZFBoYXNlcyA9ICgKKwkJCQkxNDE0
NTFDNTE1MjU3RTFGMDAyNTA3NzEgLyogSGVhZGVycyAqLywKKwkJCQkxNDE0NTFDNjE1MjU3RTFG
MDAyNTA3NzEgLyogUmVzb3VyY2VzICovLAorCQkJCTE0MTQ1MUM3MTUyNTdFMUYwMDI1MDc3MSAv
KiBTb3VyY2VzICovLAorCQkJCTE0MTQ1MUM4MTUyNTdFMUYwMDI1MDc3MSAvKiBGcmFtZXdvcmtz
ICovLAorCQkJKTsKKwkJCWJ1aWxkUnVsZXMgPSAoCisJCQkpOworCQkJZGVwZW5kZW5jaWVzID0g
KAorCQkJKTsKKwkJCW5hbWUgPSAidGVzdC10YXJnZXQiOworCQkJcHJvZHVjdE5hbWUgPSAidGVz
dC10YXJnZXQiOworCQkJcHJvZHVjdFJlZmVyZW5jZSA9IDE0MTQ1MUNBMTUyNTdFMUYwMDI1MDc3
MSAvKiB0ZXN0LXRhcmdldC5mcmFtZXdvcmsgKi87CisJCQlwcm9kdWN0VHlwZSA9ICJjb20uYXBw
bGUucHJvZHVjdC10eXBlLmZyYW1ld29yayI7CisJCX07CisvKiBFbmQgUEJYTmF0aXZlVGFyZ2V0
IHNlY3Rpb24gKi8KKworLyogQmVnaW4gUEJYUHJvamVjdCBzZWN0aW9uICovCisJCTE0MTQ0RkNG
MTUyNTVBRDgwMDI1MDc3MSAvKiBQcm9qZWN0IG9iamVjdCAqLyA9IHsKKwkJCWlzYSA9IFBCWFBy
b2plY3Q7CisJCQlidWlsZENvbmZpZ3VyYXRpb25MaXN0ID0gMTQxNDRGRDIxNTI1NUFEODAwMjUw
NzcxIC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYUHJvamVjdCAiWGNvZGUtdW5z
b3J0ZWQiICovOworCQkJY29tcGF0aWJpbGl0eVZlcnNpb24gPSAiWGNvZGUgMi40IjsKKwkJCWRl
dmVsb3BtZW50UmVnaW9uID0gRW5nbGlzaDsKKwkJCWhhc1NjYW5uZWRGb3JFbmNvZGluZ3MgPSAw
OworCQkJa25vd25SZWdpb25zID0gKAorCQkJCUVuZ2xpc2gsCisJCQkJSmFwYW5lc2UsCisJCQkJ
RnJlbmNoLAorCQkJCUdlcm1hbiwKKwkJCSk7CisJCQltYWluR3JvdXAgPSAxNDE0NEZDRDE1MjU1
QUQ4MDAyNTA3NzE7CisJCQlwcm9kdWN0UmVmR3JvdXAgPSAxNDE0NTA0QTE1MjU3RDI0MDAyNTA3
NzEgLyogUHJvZHVjdHMgKi87CisJCQlwcm9qZWN0RGlyUGF0aCA9ICIiOworCQkJcHJvamVjdFJv
b3QgPSAiIjsKKwkJCXRhcmdldHMgPSAoCisJCQkJMTQxNDUxQzkxNTI1N0UxRjAwMjUwNzcxIC8q
IHRlc3QtdGFyZ2V0ICovLAorCQkJKTsKKwkJfTsKKy8qIEVuZCBQQlhQcm9qZWN0IHNlY3Rpb24g
Ki8KKworLyogQmVnaW4gUEJYUmVzb3VyY2VzQnVpbGRQaGFzZSBzZWN0aW9uICovCisJCTE0MTQ1
MUM2MTUyNTdFMUYwMDI1MDc3MSAvKiBSZXNvdXJjZXMgKi8gPSB7CisJCQlpc2EgPSBQQlhSZXNv
dXJjZXNCdWlsZFBoYXNlOworCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKKwkJCWZp
bGVzID0gKAorCQkJKTsKKwkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAw
OworCQl9OworLyogRW5kIFBCWFJlc291cmNlc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLworCisvKiBC
ZWdpbiBQQlhTb3VyY2VzQnVpbGRQaGFzZSBzZWN0aW9uICovCisJCTE0MTQ1MUM3MTUyNTdFMUYw
MDI1MDc3MSAvKiBTb3VyY2VzICovID0geworCQkJaXNhID0gUEJYU291cmNlc0J1aWxkUGhhc2U7
CisJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OworCQkJZmlsZXMgPSAoCisJCQkJMTQx
NDUxRTExNTI1ODJGOTAwMjUwNzcxIC8qIGV4aXN0aW5nLWluLWRpci5jcHAgaW4gU291cmNlcyAq
LywKKwkJCQkxNDE0NTFFMjE1MjU4MzAxMDAyNTA3NzEgLyogZXhpc3RpbmcuY3BwIGluIFNvdXJj
ZXMgKi8sCisJCQkJMTQxNDUxRTcxNTI1ODMyNDAwMjUwNzcxIC8qIGV4aXN0aW5nLWluLWZvbGRl
ci5jcHAgaW4gU291cmNlcyAqLywKKwkJCSk7CisJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rw
cm9jZXNzaW5nID0gMDsKKwkJfTsKKy8qIEVuZCBQQlhTb3VyY2VzQnVpbGRQaGFzZSBzZWN0aW9u
ICovCisKKy8qIEJlZ2luIFhDQnVpbGRDb25maWd1cmF0aW9uIHNlY3Rpb24gKi8KKwkJMTQxNDRG
RDAxNTI1NUFEODAwMjUwNzcxIC8qIERlYnVnICovID0geworCQkJaXNhID0gWENCdWlsZENvbmZp
Z3VyYXRpb247CisJCQlidWlsZFNldHRpbmdzID0geworCQkJCUNPUFlfUEhBU0VfU1RSSVAgPSBO
TzsKKwkJCX07CisJCQluYW1lID0gRGVidWc7CisJCX07CisJCTE0MTQ0RkQxMTUyNTVBRDgwMDI1
MDc3MSAvKiBSZWxlYXNlICovID0geworCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CisJ
CQlidWlsZFNldHRpbmdzID0geworCQkJCUNPUFlfUEhBU0VfU1RSSVAgPSBZRVM7CisJCQl9Owor
CQkJbmFtZSA9IFJlbGVhc2U7CisJCX07CisJCTE0MTQ1MUNCMTUyNTdFMUYwMDI1MDc3MSAvKiBE
ZWJ1ZyAqLyA9IHsKKwkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOworCQkJYnVpbGRTZXR0
aW5ncyA9IHsKKwkJCQlBTFdBWVNfU0VBUkNIX1VTRVJfUEFUSFMgPSBOTzsKKwkJCQlDT1BZX1BI
QVNFX1NUUklQID0gTk87CisJCQkJRFlMSUJfQ09NUEFUSUJJTElUWV9WRVJTSU9OID0gMTsKKwkJ
CQlEWUxJQl9DVVJSRU5UX1ZFUlNJT04gPSAxOworCQkJCUZSQU1FV09SS19WRVJTSU9OID0gQTsK
KwkJCQlHQ0NfRFlOQU1JQ19OT19QSUMgPSBOTzsKKwkJCQlHQ0NfRU5BQkxFX0ZJWF9BTkRfQ09O
VElOVUUgPSBZRVM7CisJCQkJR0NDX01PREVMX1RVTklORyA9IEc1OworCQkJCUdDQ19PUFRJTUla
QVRJT05fTEVWRUwgPSAwOworCQkJCUdDQ19QUkVDT01QSUxFX1BSRUZJWF9IRUFERVIgPSBZRVM7
CisJCQkJR0NDX1BSRUZJWF9IRUFERVIgPSAiJChTWVNURU1fTElCUkFSWV9ESVIpL0ZyYW1ld29y
a3MvQXBwS2l0LmZyYW1ld29yay9IZWFkZXJzL0FwcEtpdC5oIjsKKwkJCQlJTkZPUExJU1RfRklM
RSA9ICJ0ZXN0LXRhcmdldC1JbmZvLnBsaXN0IjsKKwkJCQlJTlNUQUxMX1BBVEggPSAiJChIT01F
KS9MaWJyYXJ5L0ZyYW1ld29ya3MiOworCQkJCU9USEVSX0xERkxBR1MgPSAoCisJCQkJCSItZnJh
bWV3b3JrIiwKKwkJCQkJRm91bmRhdGlvbiwKKwkJCQkJIi1mcmFtZXdvcmsiLAorCQkJCQlBcHBL
aXQsCisJCQkJKTsKKwkJCQlQUkVCSU5ESU5HID0gTk87CisJCQkJUFJPRFVDVF9OQU1FID0gInRl
c3QtdGFyZ2V0IjsKKwkJCX07CisJCQluYW1lID0gRGVidWc7CisJCX07CisJCTE0MTQ1MUNDMTUy
NTdFMUYwMDI1MDc3MSAvKiBSZWxlYXNlICovID0geworCQkJaXNhID0gWENCdWlsZENvbmZpZ3Vy
YXRpb247CisJCQlidWlsZFNldHRpbmdzID0geworCQkJCUFMV0FZU19TRUFSQ0hfVVNFUl9QQVRI
UyA9IE5POworCQkJCUNPUFlfUEhBU0VfU1RSSVAgPSBZRVM7CisJCQkJREVCVUdfSU5GT1JNQVRJ
T05fRk9STUFUID0gImR3YXJmLXdpdGgtZHN5bSI7CisJCQkJRFlMSUJfQ09NUEFUSUJJTElUWV9W
RVJTSU9OID0gMTsKKwkJCQlEWUxJQl9DVVJSRU5UX1ZFUlNJT04gPSAxOworCQkJCUZSQU1FV09S
S19WRVJTSU9OID0gQTsKKwkJCQlHQ0NfRU5BQkxFX0ZJWF9BTkRfQ09OVElOVUUgPSBOTzsKKwkJ
CQlHQ0NfTU9ERUxfVFVOSU5HID0gRzU7CisJCQkJR0NDX1BSRUNPTVBJTEVfUFJFRklYX0hFQURF
UiA9IFlFUzsKKwkJCQlHQ0NfUFJFRklYX0hFQURFUiA9ICIkKFNZU1RFTV9MSUJSQVJZX0RJUikv
RnJhbWV3b3Jrcy9BcHBLaXQuZnJhbWV3b3JrL0hlYWRlcnMvQXBwS2l0LmgiOworCQkJCUlORk9Q
TElTVF9GSUxFID0gInRlc3QtdGFyZ2V0LUluZm8ucGxpc3QiOworCQkJCUlOU1RBTExfUEFUSCA9
ICIkKEhPTUUpL0xpYnJhcnkvRnJhbWV3b3JrcyI7CisJCQkJT1RIRVJfTERGTEFHUyA9ICgKKwkJ
CQkJIi1mcmFtZXdvcmsiLAorCQkJCQlGb3VuZGF0aW9uLAorCQkJCQkiLWZyYW1ld29yayIsCisJ
CQkJCUFwcEtpdCwKKwkJCQkpOworCQkJCVBSRUJJTkRJTkcgPSBOTzsKKwkJCQlQUk9EVUNUX05B
TUUgPSAidGVzdC10YXJnZXQiOworCQkJCVpFUk9fTElOSyA9IE5POworCQkJfTsKKwkJCW5hbWUg
PSBSZWxlYXNlOworCQl9OworLyogRW5kIFhDQnVpbGRDb25maWd1cmF0aW9uIHNlY3Rpb24gKi8K
KworLyogQmVnaW4gWENDb25maWd1cmF0aW9uTGlzdCBzZWN0aW9uICovCisJCTE0MTQ0RkQyMTUy
NTVBRDgwMDI1MDc3MSAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWFByb2plY3Qg
Ilhjb2RlLXVuc29ydGVkIiAqLyA9IHsKKwkJCWlzYSA9IFhDQ29uZmlndXJhdGlvbkxpc3Q7CisJ
CQlidWlsZENvbmZpZ3VyYXRpb25zID0gKAorCQkJCTE0MTQ0RkQwMTUyNTVBRDgwMDI1MDc3MSAv
KiBEZWJ1ZyAqLywKKwkJCQkxNDE0NEZEMTE1MjU1QUQ4MDAyNTA3NzEgLyogUmVsZWFzZSAqLywK
KwkJCSk7CisJCQlkZWZhdWx0Q29uZmlndXJhdGlvbklzVmlzaWJsZSA9IDA7CisJCQlkZWZhdWx0
Q29uZmlndXJhdGlvbk5hbWUgPSBSZWxlYXNlOworCQl9OworCQkxNDE0NTFEMzE1MjU3RTJFMDAy
NTA3NzEgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhOYXRpdmVUYXJnZXQgInRl
c3QtdGFyZ2V0IiAqLyA9IHsKKwkJCWlzYSA9IFhDQ29uZmlndXJhdGlvbkxpc3Q7CisJCQlidWls
ZENvbmZpZ3VyYXRpb25zID0gKAorCQkJCTE0MTQ1MUNCMTUyNTdFMUYwMDI1MDc3MSAvKiBEZWJ1
ZyAqLywKKwkJCQkxNDE0NTFDQzE1MjU3RTFGMDAyNTA3NzEgLyogUmVsZWFzZSAqLywKKwkJCSk7
CisJCQlkZWZhdWx0Q29uZmlndXJhdGlvbklzVmlzaWJsZSA9IDA7CisJCQlkZWZhdWx0Q29uZmln
dXJhdGlvbk5hbWUgPSBSZWxlYXNlOworCQl9OworLyogRW5kIFhDQ29uZmlndXJhdGlvbkxpc3Qg
c2VjdGlvbiAqLworCX07CisJcm9vdE9iamVjdCA9IDE0MTQ0RkNGMTUyNTVBRDgwMDI1MDc3MSAv
KiBQcm9qZWN0IG9iamVjdCAqLzsKK30KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvY29tbW9uL3Byb2plY3QvdW5pdHRlc3RfZmlsZXMvWGNvZGUtdW5zb3J0ZWQueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvaiBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3Byb2plY3Qv
dW5pdHRlc3RfZmlsZXMvWGNvZGUtdW5zb3J0ZWQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ODQ2M2UzCi0tLSAvZGV2L251bGwK
KysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vcHJvamVjdC91bml0dGVzdF9maWxl
cy9YY29kZS11bnNvcnRlZC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0wLDAgKzEsMjYx
IEBACisvLyAhJCpVVEY4KiQhCit7CisJYXJjaGl2ZVZlcnNpb24gPSAxOworCWNsYXNzZXMgPSB7
CisJfTsKKwlvYmplY3RWZXJzaW9uID0gNDI7CisJb2JqZWN0cyA9IHsKKworLyogQmVnaW4gUEJY
QnVpbGRGaWxlIHNlY3Rpb24gKi8KKwkJMTQxNDUxRTExNTI1ODJGOTAwMjUwNzcxIC8qIGV4aXN0
aW5nLWluLWRpci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAxNDE0NEZGNTE1MjU3OUQ2MDAyNTA3NzEgLyogZXhpc3RpbmctaW4tZGlyLmNwcCAqLzsg
fTsKKwkJMTQxNDUxRTIxNTI1ODMwMTAwMjUwNzcxIC8qIGV4aXN0aW5nLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0MTQ0RkVDMTUyNTc5NTEwMDI1
MDc3MSAvKiBleGlzdGluZy5jcHAgKi87IH07CisJCTE0MTQ1MUU3MTUyNTgzMjQwMDI1MDc3MSAv
KiBleGlzdGluZy1pbi1mb2xkZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMTQxNDRGRjIxNTI1Nzk5NjAwMjUwNzcxIC8qIGV4aXN0aW5nLWluLWZv
bGRlci5jcHAgKi87IH07CisJCTE0MTQ1MUU4MTUyNTgzMkEwMDI1MDc3MSAvKiBleGlzdGluZy1p
bi1kaXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0
MTQ0RkY0MTUyNTc5RDYwMDI1MDc3MSAvKiBleGlzdGluZy1pbi1kaXIuaCAqLzsgfTsKKwkJMTQx
NDUxRTkxNTI1ODMyRTAwMjUwNzcxIC8qIGV4aXN0aW5nLWluLWZvbGRlci5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTQxNDRGRjExNTI1Nzk5NjAwMjUw
NzcxIC8qIGV4aXN0aW5nLWluLWZvbGRlci5oICovOyB9OworCQkxNDE0NTFFQTE1MjU4MzMzMDAy
NTA3NzEgLyogZXhpc3RpbmcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDE0MTQ0RkVCMTUyNTc5NTEwMDI1MDc3MSAvKiBleGlzdGluZy5oICovOyB9Owor
LyogRW5kIFBCWEJ1aWxkRmlsZSBzZWN0aW9uICovCisKKy8qIEJlZ2luIFBCWEZpbGVSZWZlcmVu
Y2Ugc2VjdGlvbiAqLworCQkxNDE0NEZFQjE1MjU3OTUxMDAyNTA3NzEgLyogZXhpc3RpbmcuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gZXhpc3RpbmcuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJMTQxNDRGRUMxNTI1Nzk1MTAwMjUwNzcxIC8qIGV4aXN0aW5nLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IGV4aXN0aW5nLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMTQxNDRGRjExNTI1Nzk5NjAwMjUwNzcxIC8qIGV4
aXN0aW5nLWluLWZvbGRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSAiZXhp
c3RpbmctaW4tZm9sZGVyLmgiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxNDE0NEZG
MjE1MjU3OTk2MDAyNTA3NzEgLyogZXhpc3RpbmctaW4tZm9sZGVyLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9ICJleGlzdGluZy1pbi1mb2xkZXIuY3BwIjsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMTQxNDRGRjQxNTI1NzlENjAwMjUwNzcxIC8qIGV4aXN0
aW5nLWluLWRpci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSAiZXhpc3Rpbmct
aW4tZGlyLmgiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxNDE0NEZGNTE1MjU3OUQ2
MDAyNTA3NzEgLyogZXhpc3RpbmctaW4tZGlyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9ICJleGlzdGluZy1pbi1kaXIuY3BwIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJMTQxNDUwNEMxNTI1N0QyNDAwMjUwNzcxIC8qIHRlc3QtdGFyZ2V0LUluZm8ucGxp
c3QgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0
LnBsaXN0LnhtbDsgcGF0aCA9ICJ0ZXN0LXRhcmdldC1JbmZvLnBsaXN0Ijsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJMTQxNDUxQ0ExNTI1N0UxRjAwMjUwNzcxIC8qIHRlc3QtdGFyZ2V0
LmZyYW1ld29yayAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBleHBsaWNpdEZpbGVUeXBl
ID0gd3JhcHBlci5mcmFtZXdvcms7IGluY2x1ZGVJbkluZGV4ID0gMDsgcGF0aCA9ICJ0ZXN0LXRh
cmdldC5mcmFtZXdvcmsiOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OworLyog
RW5kIFBCWEZpbGVSZWZlcmVuY2Ugc2VjdGlvbiAqLworCisvKiBCZWdpbiBQQlhGcmFtZXdvcmtz
QnVpbGRQaGFzZSBzZWN0aW9uICovCisJCTE0MTQ1MUM4MTUyNTdFMUYwMDI1MDc3MSAvKiBGcmFt
ZXdvcmtzICovID0geworCQkJaXNhID0gUEJYRnJhbWV3b3Jrc0J1aWxkUGhhc2U7CisJCQlidWls
ZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OworCQkJZmlsZXMgPSAoCisJCQkpOworCQkJcnVuT25s
eUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CisJCX07CisvKiBFbmQgUEJYRnJhbWV3
b3Jrc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLworCisvKiBCZWdpbiBQQlhHcm91cCBzZWN0aW9uICov
CisJCTE0MTQ0RkNEMTUyNTVBRDgwMDI1MDc3MSA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJ
Y2hpbGRyZW4gPSAoCisJCQkJMTQxNDUwMkMxNTI1N0FDRDAwMjUwNzcxIC8qIHRlc3QtcHJvamVj
dCAqLywKKwkJCQkxNDE0NTA0QTE1MjU3RDI0MDAyNTA3NzEgLyogUHJvZHVjdHMgKi8sCisJCQkJ
MTQxNDUwNEMxNTI1N0QyNDAwMjUwNzcxIC8qIHRlc3QtdGFyZ2V0LUluZm8ucGxpc3QgKi8sCisJ
CQkpOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKKwkJMTQxNDRGRUQxNTI1Nzk3
MDAwMjUwNzcxIC8qIHRlc3QtcHJvamVjdCAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJ
Y2hpbGRyZW4gPSAoCisJCQkJMTQxNDRGRjExNTI1Nzk5NjAwMjUwNzcxIC8qIGV4aXN0aW5nLWlu
LWZvbGRlci5oICovLAorCQkJCTE0MTQ0RkYyMTUyNTc5OTYwMDI1MDc3MSAvKiBleGlzdGluZy1p
bi1mb2xkZXIuY3BwICovLAorCQkJKTsKKwkJCW5hbWUgPSAidGVzdC1wcm9qZWN0IjsKKwkJCXNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CisJCTE0MTQ0RkYzMTUyNTc5OUQwMDI1MDc3MSAv
KiBzdWJmb2xkZXIgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAor
CQkJCTE0MTQ0RkY0MTUyNTc5RDYwMDI1MDc3MSAvKiBleGlzdGluZy1pbi1kaXIuaCAqLywKKwkJ
CQkxNDE0NEZGNTE1MjU3OUQ2MDAyNTA3NzEgLyogZXhpc3RpbmctaW4tZGlyLmNwcCAqLywKKwkJ
CSk7CisJCQlwYXRoID0gc3ViZm9sZGVyOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJ
fTsKKwkJMTQxNDUwMkMxNTI1N0FDRDAwMjUwNzcxIC8qIHRlc3QtcHJvamVjdCAqLyA9IHsKKwkJ
CWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJMTQxNDRGRjMxNTI1Nzk5RDAw
MjUwNzcxIC8qIHN1YmZvbGRlciAqLywKKwkJCQkxNDE0NEZFRDE1MjU3OTcwMDAyNTA3NzEgLyog
dGVzdC1wcm9qZWN0ICovLAorCQkJCTE0MTQ0RkVCMTUyNTc5NTEwMDI1MDc3MSAvKiBleGlzdGlu
Zy5oICovLAorCQkJCTE0MTQ0RkVDMTUyNTc5NTEwMDI1MDc3MSAvKiBleGlzdGluZy5jcHAgKi8s
CisJCQkpOworCQkJcGF0aCA9ICJ0ZXN0LXByb2plY3QiOworCQkJc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsKKwkJfTsKKwkJMTQxNDUwNEExNTI1N0QyNDAwMjUwNzcxIC8qIFByb2R1Y3RzICovID0g
eworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQkxNDE0NTFDQTE1MjU3
RTFGMDAyNTA3NzEgLyogdGVzdC10YXJnZXQuZnJhbWV3b3JrICovLAorCQkJKTsKKwkJCW5hbWUg
PSBQcm9kdWN0czsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CisvKiBFbmQgUEJY
R3JvdXAgc2VjdGlvbiAqLworCisvKiBCZWdpbiBQQlhIZWFkZXJzQnVpbGRQaGFzZSBzZWN0aW9u
ICovCisJCTE0MTQ1MUM1MTUyNTdFMUYwMDI1MDc3MSAvKiBIZWFkZXJzICovID0geworCQkJaXNh
ID0gUEJYSGVhZGVyc0J1aWxkUGhhc2U7CisJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3
OworCQkJZmlsZXMgPSAoCisJCQkJMTQxNDUxRTgxNTI1ODMyQTAwMjUwNzcxIC8qIGV4aXN0aW5n
LWluLWRpci5oIGluIEhlYWRlcnMgKi8sCisJCQkJMTQxNDUxRTkxNTI1ODMyRTAwMjUwNzcxIC8q
IGV4aXN0aW5nLWluLWZvbGRlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJMTQxNDUxRUExNTI1ODMz
MzAwMjUwNzcxIC8qIGV4aXN0aW5nLmggaW4gSGVhZGVycyAqLywKKwkJCSk7CisJCQlydW5Pbmx5
Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKKwkJfTsKKy8qIEVuZCBQQlhIZWFkZXJz
QnVpbGRQaGFzZSBzZWN0aW9uICovCisKKy8qIEJlZ2luIFBCWE5hdGl2ZVRhcmdldCBzZWN0aW9u
ICovCisJCTE0MTQ1MUM5MTUyNTdFMUYwMDI1MDc3MSAvKiB0ZXN0LXRhcmdldCAqLyA9IHsKKwkJ
CWlzYSA9IFBCWE5hdGl2ZVRhcmdldDsKKwkJCWJ1aWxkQ29uZmlndXJhdGlvbkxpc3QgPSAxNDE0
NTFEMzE1MjU3RTJFMDAyNTA3NzEgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhO
YXRpdmVUYXJnZXQgInRlc3QtdGFyZ2V0IiAqLzsKKwkJCWJ1aWxkUGhhc2VzID0gKAorCQkJCTE0
MTQ1MUM1MTUyNTdFMUYwMDI1MDc3MSAvKiBIZWFkZXJzICovLAorCQkJCTE0MTQ1MUM2MTUyNTdF
MUYwMDI1MDc3MSAvKiBSZXNvdXJjZXMgKi8sCisJCQkJMTQxNDUxQzcxNTI1N0UxRjAwMjUwNzcx
IC8qIFNvdXJjZXMgKi8sCisJCQkJMTQxNDUxQzgxNTI1N0UxRjAwMjUwNzcxIC8qIEZyYW1ld29y
a3MgKi8sCisJCQkpOworCQkJYnVpbGRSdWxlcyA9ICgKKwkJCSk7CisJCQlkZXBlbmRlbmNpZXMg
PSAoCisJCQkpOworCQkJbmFtZSA9ICJ0ZXN0LXRhcmdldCI7CisJCQlwcm9kdWN0TmFtZSA9ICJ0
ZXN0LXRhcmdldCI7CisJCQlwcm9kdWN0UmVmZXJlbmNlID0gMTQxNDUxQ0ExNTI1N0UxRjAwMjUw
NzcxIC8qIHRlc3QtdGFyZ2V0LmZyYW1ld29yayAqLzsKKwkJCXByb2R1Y3RUeXBlID0gImNvbS5h
cHBsZS5wcm9kdWN0LXR5cGUuZnJhbWV3b3JrIjsKKwkJfTsKKy8qIEVuZCBQQlhOYXRpdmVUYXJn
ZXQgc2VjdGlvbiAqLworCisvKiBCZWdpbiBQQlhQcm9qZWN0IHNlY3Rpb24gKi8KKwkJMTQxNDRG
Q0YxNTI1NUFEODAwMjUwNzcxIC8qIFByb2plY3Qgb2JqZWN0ICovID0geworCQkJaXNhID0gUEJY
UHJvamVjdDsKKwkJCWJ1aWxkQ29uZmlndXJhdGlvbkxpc3QgPSAxNDE0NEZEMjE1MjU1QUQ4MDAy
NTA3NzEgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhQcm9qZWN0ICJYY29kZS11
bnNvcnRlZCIgKi87CisJCQljb21wYXRpYmlsaXR5VmVyc2lvbiA9ICJYY29kZSAyLjQiOworCQkJ
ZGV2ZWxvcG1lbnRSZWdpb24gPSBFbmdsaXNoOworCQkJaGFzU2Nhbm5lZEZvckVuY29kaW5ncyA9
IDA7CisJCQlrbm93blJlZ2lvbnMgPSAoCisJCQkJRW5nbGlzaCwKKwkJCQlKYXBhbmVzZSwKKwkJ
CQlGcmVuY2gsCisJCQkJR2VybWFuLAorCQkJKTsKKwkJCW1haW5Hcm91cCA9IDE0MTQ0RkNEMTUy
NTVBRDgwMDI1MDc3MTsKKwkJCXByb2R1Y3RSZWZHcm91cCA9IDE0MTQ1MDRBMTUyNTdEMjQwMDI1
MDc3MSAvKiBQcm9kdWN0cyAqLzsKKwkJCXByb2plY3REaXJQYXRoID0gIiI7CisJCQlwcm9qZWN0
Um9vdCA9ICIiOworCQkJdGFyZ2V0cyA9ICgKKwkJCQkxNDE0NTFDOTE1MjU3RTFGMDAyNTA3NzEg
LyogdGVzdC10YXJnZXQgKi8sCisJCQkpOworCQl9OworLyogRW5kIFBCWFByb2plY3Qgc2VjdGlv
biAqLworCisvKiBCZWdpbiBQQlhSZXNvdXJjZXNCdWlsZFBoYXNlIHNlY3Rpb24gKi8KKwkJMTQx
NDUxQzYxNTI1N0UxRjAwMjUwNzcxIC8qIFJlc291cmNlcyAqLyA9IHsKKwkJCWlzYSA9IFBCWFJl
c291cmNlc0J1aWxkUGhhc2U7CisJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OworCQkJ
ZmlsZXMgPSAoCisJCQkpOworCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9
IDA7CisJCX07CisvKiBFbmQgUEJYUmVzb3VyY2VzQnVpbGRQaGFzZSBzZWN0aW9uICovCisKKy8q
IEJlZ2luIFBCWFNvdXJjZXNCdWlsZFBoYXNlIHNlY3Rpb24gKi8KKwkJMTQxNDUxQzcxNTI1N0Ux
RjAwMjUwNzcxIC8qIFNvdXJjZXMgKi8gPSB7CisJCQlpc2EgPSBQQlhTb3VyY2VzQnVpbGRQaGFz
ZTsKKwkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CisJCQlmaWxlcyA9ICgKKwkJCQkx
NDE0NTFFMTE1MjU4MkY5MDAyNTA3NzEgLyogZXhpc3RpbmctaW4tZGlyLmNwcCBpbiBTb3VyY2Vz
ICovLAorCQkJCTE0MTQ1MUUyMTUyNTgzMDEwMDI1MDc3MSAvKiBleGlzdGluZy5jcHAgaW4gU291
cmNlcyAqLywKKwkJCQkxNDE0NTFFNzE1MjU4MzI0MDAyNTA3NzEgLyogZXhpc3RpbmctaW4tZm9s
ZGVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJKTsKKwkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9z
dHByb2Nlc3NpbmcgPSAwOworCQl9OworLyogRW5kIFBCWFNvdXJjZXNCdWlsZFBoYXNlIHNlY3Rp
b24gKi8KKworLyogQmVnaW4gWENCdWlsZENvbmZpZ3VyYXRpb24gc2VjdGlvbiAqLworCQkxNDE0
NEZEMDE1MjU1QUQ4MDAyNTA3NzEgLyogRGVidWcgKi8gPSB7CisJCQlpc2EgPSBYQ0J1aWxkQ29u
ZmlndXJhdGlvbjsKKwkJCWJ1aWxkU2V0dGluZ3MgPSB7CisJCQkJQ09QWV9QSEFTRV9TVFJJUCA9
IE5POworCQkJfTsKKwkJCW5hbWUgPSBEZWJ1ZzsKKwkJfTsKKwkJMTQxNDRGRDExNTI1NUFEODAw
MjUwNzcxIC8qIFJlbGVhc2UgKi8gPSB7CisJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsK
KwkJCWJ1aWxkU2V0dGluZ3MgPSB7CisJCQkJQ09QWV9QSEFTRV9TVFJJUCA9IFlFUzsKKwkJCX07
CisJCQluYW1lID0gUmVsZWFzZTsKKwkJfTsKKwkJMTQxNDUxQ0IxNTI1N0UxRjAwMjUwNzcxIC8q
IERlYnVnICovID0geworCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CisJCQlidWlsZFNl
dHRpbmdzID0geworCQkJCUFMV0FZU19TRUFSQ0hfVVNFUl9QQVRIUyA9IE5POworCQkJCUNPUFlf
UEhBU0VfU1RSSVAgPSBOTzsKKwkJCQlEWUxJQl9DT01QQVRJQklMSVRZX1ZFUlNJT04gPSAxOwor
CQkJCURZTElCX0NVUlJFTlRfVkVSU0lPTiA9IDE7CisJCQkJRlJBTUVXT1JLX1ZFUlNJT04gPSBB
OworCQkJCUdDQ19EWU5BTUlDX05PX1BJQyA9IE5POworCQkJCUdDQ19FTkFCTEVfRklYX0FORF9D
T05USU5VRSA9IFlFUzsKKwkJCQlHQ0NfTU9ERUxfVFVOSU5HID0gRzU7CisJCQkJR0NDX09QVElN
SVpBVElPTl9MRVZFTCA9IDA7CisJCQkJR0NDX1BSRUNPTVBJTEVfUFJFRklYX0hFQURFUiA9IFlF
UzsKKwkJCQlHQ0NfUFJFRklYX0hFQURFUiA9ICIkKFNZU1RFTV9MSUJSQVJZX0RJUikvRnJhbWV3
b3Jrcy9BcHBLaXQuZnJhbWV3b3JrL0hlYWRlcnMvQXBwS2l0LmgiOworCQkJCUlORk9QTElTVF9G
SUxFID0gInRlc3QtdGFyZ2V0LUluZm8ucGxpc3QiOworCQkJCUlOU1RBTExfUEFUSCA9ICIkKEhP
TUUpL0xpYnJhcnkvRnJhbWV3b3JrcyI7CisJCQkJT1RIRVJfTERGTEFHUyA9ICgKKwkJCQkJIi1m
cmFtZXdvcmsiLAorCQkJCQlGb3VuZGF0aW9uLAorCQkJCQkiLWZyYW1ld29yayIsCisJCQkJCUFw
cEtpdCwKKwkJCQkpOworCQkJCVBSRUJJTkRJTkcgPSBOTzsKKwkJCQlQUk9EVUNUX05BTUUgPSAi
dGVzdC10YXJnZXQiOworCQkJfTsKKwkJCW5hbWUgPSBEZWJ1ZzsKKwkJfTsKKwkJMTQxNDUxQ0Mx
NTI1N0UxRjAwMjUwNzcxIC8qIFJlbGVhc2UgKi8gPSB7CisJCQlpc2EgPSBYQ0J1aWxkQ29uZmln
dXJhdGlvbjsKKwkJCWJ1aWxkU2V0dGluZ3MgPSB7CisJCQkJQUxXQVlTX1NFQVJDSF9VU0VSX1BB
VEhTID0gTk87CisJCQkJQ09QWV9QSEFTRV9TVFJJUCA9IFlFUzsKKwkJCQlERUJVR19JTkZPUk1B
VElPTl9GT1JNQVQgPSAiZHdhcmYtd2l0aC1kc3ltIjsKKwkJCQlEWUxJQl9DT01QQVRJQklMSVRZ
X1ZFUlNJT04gPSAxOworCQkJCURZTElCX0NVUlJFTlRfVkVSU0lPTiA9IDE7CisJCQkJRlJBTUVX
T1JLX1ZFUlNJT04gPSBBOworCQkJCUdDQ19FTkFCTEVfRklYX0FORF9DT05USU5VRSA9IE5POwor
CQkJCUdDQ19NT0RFTF9UVU5JTkcgPSBHNTsKKwkJCQlHQ0NfUFJFQ09NUElMRV9QUkVGSVhfSEVB
REVSID0gWUVTOworCQkJCUdDQ19QUkVGSVhfSEVBREVSID0gIiQoU1lTVEVNX0xJQlJBUllfRElS
KS9GcmFtZXdvcmtzL0FwcEtpdC5mcmFtZXdvcmsvSGVhZGVycy9BcHBLaXQuaCI7CisJCQkJSU5G
T1BMSVNUX0ZJTEUgPSAidGVzdC10YXJnZXQtSW5mby5wbGlzdCI7CisJCQkJSU5TVEFMTF9QQVRI
ID0gIiQoSE9NRSkvTGlicmFyeS9GcmFtZXdvcmtzIjsKKwkJCQlPVEhFUl9MREZMQUdTID0gKAor
CQkJCQkiLWZyYW1ld29yayIsCisJCQkJCUZvdW5kYXRpb24sCisJCQkJCSItZnJhbWV3b3JrIiwK
KwkJCQkJQXBwS2l0LAorCQkJCSk7CisJCQkJUFJFQklORElORyA9IE5POworCQkJCVBST0RVQ1Rf
TkFNRSA9ICJ0ZXN0LXRhcmdldCI7CisJCQkJWkVST19MSU5LID0gTk87CisJCQl9OworCQkJbmFt
ZSA9IFJlbGVhc2U7CisJCX07CisvKiBFbmQgWENCdWlsZENvbmZpZ3VyYXRpb24gc2VjdGlvbiAq
LworCisvKiBCZWdpbiBYQ0NvbmZpZ3VyYXRpb25MaXN0IHNlY3Rpb24gKi8KKwkJMTQxNDRGRDIx
NTI1NUFEODAwMjUwNzcxIC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYUHJvamVj
dCAiWGNvZGUtdW5zb3J0ZWQiICovID0geworCQkJaXNhID0gWENDb25maWd1cmF0aW9uTGlzdDsK
KwkJCWJ1aWxkQ29uZmlndXJhdGlvbnMgPSAoCisJCQkJMTQxNDRGRDAxNTI1NUFEODAwMjUwNzcx
IC8qIERlYnVnICovLAorCQkJCTE0MTQ0RkQxMTUyNTVBRDgwMDI1MDc3MSAvKiBSZWxlYXNlICov
LAorCQkJKTsKKwkJCWRlZmF1bHRDb25maWd1cmF0aW9uSXNWaXNpYmxlID0gMDsKKwkJCWRlZmF1
bHRDb25maWd1cmF0aW9uTmFtZSA9IFJlbGVhc2U7CisJCX07CisJCTE0MTQ1MUQzMTUyNTdFMkUw
MDI1MDc3MSAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWE5hdGl2ZVRhcmdldCAi
dGVzdC10YXJnZXQiICovID0geworCQkJaXNhID0gWENDb25maWd1cmF0aW9uTGlzdDsKKwkJCWJ1
aWxkQ29uZmlndXJhdGlvbnMgPSAoCisJCQkJMTQxNDUxQ0IxNTI1N0UxRjAwMjUwNzcxIC8qIERl
YnVnICovLAorCQkJCTE0MTQ1MUNDMTUyNTdFMUYwMDI1MDc3MSAvKiBSZWxlYXNlICovLAorCQkJ
KTsKKwkJCWRlZmF1bHRDb25maWd1cmF0aW9uSXNWaXNpYmxlID0gMDsKKwkJCWRlZmF1bHRDb25m
aWd1cmF0aW9uTmFtZSA9IFJlbGVhc2U7CisJCX07CisvKiBFbmQgWENDb25maWd1cmF0aW9uTGlz
dCBzZWN0aW9uICovCisJfTsKKwlyb290T2JqZWN0ID0gMTQxNDRGQ0YxNTI1NUFEODAwMjUwNzcx
IC8qIFByb2plY3Qgb2JqZWN0ICovOworfQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9jb21tb24vcHJvamVjdC91bml0dGVzdF9maWxlcy90ZXN0LXByb2plY3QvZXhpc3Rpbmct
aW4tZm9sZGVyLmNwcCBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3Byb2plY3QvdW5p
dHRlc3RfZmlsZXMvdGVzdC1wcm9qZWN0L2V4aXN0aW5nLWluLWZvbGRlci5jcHAKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDg0MjhjYgotLS0gL2Rldi9udWxsCisrKyBiL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3Byb2plY3QvdW5pdHRlc3RfZmlsZXMvdGVzdC1w
cm9qZWN0L2V4aXN0aW5nLWluLWZvbGRlci5jcHAKQEAgLTAsMCArMSwzMSBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmli
dXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUg
bmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
CisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJl
eGlzdGluZy1pbi1mb2xkZXIuaCIKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
Y29tbW9uL3Byb2plY3QvdW5pdHRlc3RfZmlsZXMvdGVzdC1wcm9qZWN0L2V4aXN0aW5nLWluLWZv
bGRlci5oIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vcHJvamVjdC91bml0dGVzdF9m
aWxlcy90ZXN0LXByb2plY3QvZXhpc3RpbmctaW4tZm9sZGVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMC4uM2IwNWNlMgotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvY29tbW9uL3Byb2plY3QvdW5pdHRlc3RfZmlsZXMvdGVzdC1wcm9qZWN0L2V4
aXN0aW5nLWluLWZvbGRlci5oCkBAIC0wLDAgKzEsMzggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICog
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0
cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAq
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIGV4aXN0aW5nX2luX2Zv
bGRlcl9oCisjZGVmaW5lIGV4aXN0aW5nX2luX2ZvbGRlcl9oCisKKyNpbmNsdWRlICJjb25maWcu
aCIKKworCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21t
b24vcHJvamVjdC91bml0dGVzdF9maWxlcy90ZXN0LXByb2plY3QvZXhpc3RpbmcuY3BwIGIvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vcHJvamVjdC91bml0dGVzdF9maWxlcy90ZXN0LXBy
b2plY3QvZXhpc3RpbmcuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA3
MWVjNmYKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9w
cm9qZWN0L3VuaXR0ZXN0X2ZpbGVzL3Rlc3QtcHJvamVjdC9leGlzdGluZy5jcHAKQEAgLTAsMCAr
MSwzMiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0Ogor
ICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisg
KiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdv
b2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpbmNsdWRlICJ0ZXN0LmgiCisKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvY29tbW9uL3Byb2plY3QvdW5pdHRlc3RfZmlsZXMvdGVzdC1wcm9qZWN0L2V4aXN0aW5n
LmggYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9wcm9qZWN0L3VuaXR0ZXN0X2ZpbGVz
L3Rlc3QtcHJvamVjdC9leGlzdGluZy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAuLjJkZDQ5ZDEKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2Nv
bW1vbi9wcm9qZWN0L3VuaXR0ZXN0X2ZpbGVzL3Rlc3QtcHJvamVjdC9leGlzdGluZy5oCkBAIC0w
LDAgKzEsMzggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1l
dDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
cgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBv
ZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjaWZuZGVmIGV4aXN0aW5nX2gKKyNkZWZpbmUgZXhpc3RpbmdfaAorCisjaW5j
bHVkZSAiY29uZmlnLmgiCisKKworCisjZW5kaWYKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvY29tbW9uL3Byb2plY3QvdW5pdHRlc3RfZmlsZXMvdGVzdC1wcm9qZWN0L3N1YmZv
bGRlci9leGlzdGluZy1pbi1kaXIuY3BwIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24v
cHJvamVjdC91bml0dGVzdF9maWxlcy90ZXN0LXByb2plY3Qvc3ViZm9sZGVyL2V4aXN0aW5nLWlu
LWRpci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjRlOWJjYQotLS0g
L2Rldi9udWxsCisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3Byb2plY3QvdW5p
dHRlc3RfZmlsZXMvdGVzdC1wcm9qZWN0L3N1YmZvbGRlci9leGlzdGluZy1pbi1kaXIuY3BwCkBA
IC0wLDAgKzEsMzIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAq
IG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAq
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisg
KiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaW5jbHVkZSAiZXhpc3RpbmctaW4tZGlyLmgiCisKZGlmZiAtLWdpdCBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3Byb2plY3QvdW5pdHRlc3RfZmlsZXMvdGVz
dC1wcm9qZWN0L3N1YmZvbGRlci9leGlzdGluZy1pbi1kaXIuaCBiL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvY29tbW9uL3Byb2plY3QvdW5pdHRlc3RfZmlsZXMvdGVzdC1wcm9qZWN0L3N1YmZvbGRl
ci9leGlzdGluZy1pbi1kaXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4x
OWU2Yjg1Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24v
cHJvamVjdC91bml0dGVzdF9maWxlcy90ZXN0LXByb2plY3Qvc3ViZm9sZGVyL2V4aXN0aW5nLWlu
LWRpci5oCkBAIC0wLDAgKzEsMzggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICog
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIGV4aXN0aW5nX2luX2Rpcl9oCisjZGVmaW5l
IGV4aXN0aW5nX2luX2Rpcl9oCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworCisKKyNlbmRpZgpk
aWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vcHJvamVjdC91bml0dGVz
dF9maWxlcy90ZXN0LXRhcmdldC1JbmZvLnBsaXN0IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9j
b21tb24vcHJvamVjdC91bml0dGVzdF9maWxlcy90ZXN0LXRhcmdldC1JbmZvLnBsaXN0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNiYTkzYjUKLS0tIC9kZXYvbnVsbAorKysg
Yi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9wcm9qZWN0L3VuaXR0ZXN0X2ZpbGVzL3Rl
c3QtdGFyZ2V0LUluZm8ucGxpc3QKQEAgLTAsMCArMSwyOCBAQAorPD94bWwgdmVyc2lvbj0iMS4w
IiBlbmNvZGluZz0iVVRGLTgiPz4KKzwhRE9DVFlQRSBwbGlzdCBQVUJMSUMgIi0vL0FwcGxlLy9E
VEQgUExJU1QgMS4wLy9FTiIgImh0dHA6Ly93d3cuYXBwbGUuY29tL0RURHMvUHJvcGVydHlMaXN0
LTEuMC5kdGQiPgorPHBsaXN0IHZlcnNpb249IjEuMCI+Cis8ZGljdD4KKwk8a2V5PkNGQnVuZGxl
RGV2ZWxvcG1lbnRSZWdpb248L2tleT4KKwk8c3RyaW5nPkVuZ2xpc2g8L3N0cmluZz4KKwk8a2V5
PkNGQnVuZGxlRXhlY3V0YWJsZTwva2V5PgorCTxzdHJpbmc+JHtFWEVDVVRBQkxFX05BTUV9PC9z
dHJpbmc+CisJPGtleT5DRkJ1bmRsZUlkZW50aWZpZXI8L2tleT4KKwk8c3RyaW5nPmNvbS55b3Vy
Y29tcGFueS4ke1BST0RVQ1RfTkFNRTpyZmMxMDM0aWRlbnRpZmllcn08L3N0cmluZz4KKwk8a2V5
PkNGQnVuZGxlSW5mb0RpY3Rpb25hcnlWZXJzaW9uPC9rZXk+CisJPHN0cmluZz42LjA8L3N0cmlu
Zz4KKwk8a2V5PkNGQnVuZGxlUGFja2FnZVR5cGU8L2tleT4KKwk8c3RyaW5nPkFQUEw8L3N0cmlu
Zz4KKwk8a2V5PkNGQnVuZGxlU2hvcnRWZXJzaW9uU3RyaW5nPC9rZXk+CisJPHN0cmluZz4xLjA8
L3N0cmluZz4KKwk8a2V5PkNGQnVuZGxlU2lnbmF0dXJlPC9rZXk+CisJPHN0cmluZz4/Pz8/PC9z
dHJpbmc+CisJPGtleT5DRkJ1bmRsZVZlcnNpb248L2tleT4KKwk8c3RyaW5nPjE8L3N0cmluZz4K
Kwk8a2V5PkxTTWluaW11bVN5c3RlbVZlcnNpb248L2tleT4KKwk8c3RyaW5nPiR7TUFDT1NYX0RF
UExPWU1FTlRfVEFSR0VUfTwvc3RyaW5nPgorCTxrZXk+TlNNYWluTmliRmlsZTwva2V5PgorCTxz
dHJpbmc+TWFpbk1lbnU8L3N0cmluZz4KKwk8a2V5Pk5TUHJpbmNpcGFsQ2xhc3M8L2tleT4KKwk8
c3RyaW5nPk5TQXBwbGljYXRpb248L3N0cmluZz4KKzwvZGljdD4KKzwvcGxpc3Q+CmRpZmYgLS1n
aXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9wcm9qZWN0L3dlYmtpdGZpbGUucHkg
Yi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9wcm9qZWN0L3dlYmtpdGZpbGUucHkKbmV3
IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uM2UzY2NhNAotLS0gL2Rldi9udWxsCisr
KyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3Byb2plY3Qvd2Via2l0ZmlsZS5weQpA
QCAtMCwwICsxLDM2MyBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uCisjIENvcHlyaWdodCAoYykg
MjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIworIyBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMg
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZQorIyBtZXQ6CisjCisjICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyMgICAgICog
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQor
IyBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyCisjIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyMgZGlzdHJpYnV0aW9uLgorIyAgICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisjIGNvbnRyaWJ1
dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBm
cm9tCisjIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uCisjCisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMKKyMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisjIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUCisjIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLAorIyBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisjIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorIyBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkKKyMgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorIyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyMgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyMKKyMgVGhpcyBpcyBhIHZlcnkgc2ltcGxlIHNjcmlwdCBkZXNpZ25lZCB0byBjcmF3bCB0aGUg
YnVpbGQgZGlyZWN0b3J5CisjIGZvciB2aXN1YWwgc3R1ZGlvIGV4cHJlc3MgYnVpbGQgbG9ncyBh
bmQgcHJpbnQgdGhlbSB0byBzdGRvdXQuCisKK2ltcG9ydCBmaWxlY21wCisKK2Zyb20gd2Via2l0
cHkuY29tbW9uLnByb2plY3QuY29tbWFuZCBpbXBvcnQgKgorZnJvbSB3ZWJraXRweS5jb21tb24u
cHJvamVjdC5jb21tb24gaW1wb3J0ICoKK2Zyb20gd2Via2l0cHkuY29tbW9uLnByb2plY3Qub3B0
aW9ucyBpbXBvcnQgKgorCisjZnJvbSB3ZWJraXRweS5jb21tb24ucHJvamVjdC5hbGxpbm9uZXBy
b2ogaW1wb3J0ICoKKyNmcm9tIHdlYmtpdHB5LmNvbW1vbi5wcm9qZWN0LmNtYWtlcHJvaiBpbXBv
cnQgKgorI2Zyb20gd2Via2l0cHkuY29tbW9uLnByb2plY3QuZ251cHJvaiBpbXBvcnQgKgorI2Zy
b20gd2Via2l0cHkuY29tbW9uLnByb2plY3QuZ3lwaXByb2ogaW1wb3J0ICoKK2Zyb20gd2Via2l0
cHkuY29tbW9uLnByb2plY3QucXRwcm9qIGltcG9ydCAqCisjZnJvbSB3ZWJraXRweS5jb21tb24u
cHJvamVjdC52Y3Byb2ogaW1wb3J0ICoKK2Zyb20gd2Via2l0cHkuY29tbW9uLnByb2plY3QueGNv
ZGVwcm9qIGltcG9ydCAqCisKKyMgTk9URToKKyMKKyMgRmlsZXMgd2l0aGluIHRoZSBXZWJDb3Jl
IERlcml2ZWRTb3VyY2VzIGRpcmVjdG9yeSBzaG91bGQgcmVzaWRlIHdpdGhpbiBhIHNpbmdsZSBD
b21tb25EaXJlY3RvcnksIGFjcm9zcyBhbGwgcGxhdGZvcm1zIQorIyBIb3dldmVyLCB0aGlzIGRp
cmVjdG9yeSBoYXMgZGlmZmVyZW50IHBhdGhzIG9uIGRpZmZlcmVudCBwbGF0Zm9ybXM6CisjCisj
IFhjb2RlOiAgICAgICAgICAgICAgICBCVUlMVF9QUk9EVUNUU19ESVIvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZQorIyBWaXN1YWwgU3R1ZGlvOiAgICAgICAgJChDb25maWd1cmF0aW9uQnVpbGREaXIp
XG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlcworIyBRdDogICAgICAgICAgICAgICAg
ICAgJCR7V0VCQ09SRV9HRU5FUkFURURfU09VUkNFU19ESVJ9CisjIEdudW1ha2VmaWxlLmxpc3Qu
YW06ICBEZXJpdmVkU291cmNlcy9XZWJDb3JlICAgKHdpdGhvdXQgYmFzZSBkaXJlY3RvcnkgaW5k
aWNhdG9yKQorIyBHWVA6ICAgICAgICAgICAgICAgICAgPChQUk9EVUNUX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZQorIworIyBJbnRyb2R1Y2VkICJjcm9zc292ZXIgc3ViZGlyZWN0b3JpZXMi
IHRvIGhhbmRsZSB0aGlzIHNjZW5hcmlvLiBUaGV5IGFyZSBhbHNvIHVzZWQgdG8gY3Jvc3Mgb3Zl
ciBmcm9tICR7U0NNfS9Tb3VyY2VzIGludG8gV2ViQ29yZS4KKyMKKyMgTm90ZSB0aGF0IHRoaXMg
cHJldmVudHMgZXZlbiBwbGF0Zm9ybXMgdGhhdCBkb24ndCBoYW5kbGUgJHtTQ019L1NvdXJjZXMv
V2ViQ29yZSBzcGVjaWZpY2FsbHkgKGkuZS4sIGp1c3QgdXNlICR7U0NNfSkgZnJvbSBjcmVhdGlu
ZworIyByZWxhdGl2ZSBwYXRocyB0aGF0IHRyeSBnbyBmcm9tICdXZWJDb3JlJyBiYWNrIHVwIHRv
ICdTb3VyY2VzJy4KKworCitjbGFzcyBXZWJLaXRGaWxlU2V0dXAob2JqZWN0KToKKyAgICAiIiIK
KyAgICBCYXNlIGNsYXNzIGZvciBzZXR1cCBjbGFzc2VzIHRoYXQgc3RvcmUgdGhlIGRpcmVjdG9y
eSBhbmQgcHJvamVjdCBmaWxlIGxheW91dCBmb3IgYSBnaXZlbiBwcm9qZWN0LgorICAgICIiIgor
ICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwcm9qZWN0X25hbWUsIHNjbT1Ob25lKToKKyAgICAgICAg
c2VsZi5jb21tb24gPSBDb21tb25JbmZvKHByb2plY3RfbmFtZSkKKyAgICAgICAgc2VsZi5wbGF0
Zm9ybV90b19wcm9qZWN0ID0ge30KKyAgICAgICAgc2VsZi5wbGF0Zm9ybV90b19wcm9qZWN0X3Jl
YWRlciA9IHt9CisgICAgICAgIHNlbGYucGxhdGZvcm1fdG9fcHJvamVjdF93cml0ZXIgPSB7fQor
CisgICAgZGVmIGluaXRpYWxpemUoc2VsZik6CisgICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVk
RXJyb3IoInN1YmNsYXNzZXMgbXVzdCBpbXBsZW1lbnQiKQorCisgICAgZGVmIHJlYWRfcHJvamVj
dF9maWxlcyhzZWxmKToKKyAgICAgICAgZm9yIHJlYWRlciBpbiBzZWxmLnBsYXRmb3JtX3RvX3By
b2plY3RfcmVhZGVyLnZhbHVlcygpOgorICAgICAgICAgICAgcmVhZGVyLnJlYWQoKQorCisgICAg
ZGVmIHdyaXRlX3Byb2plY3RfZmlsZXMoc2VsZik6CisgICAgICAgIGZvciB3cml0ZXIgaW4gc2Vs
Zi5wbGF0Zm9ybV90b19wcm9qZWN0X3dyaXRlci52YWx1ZXMoKToKKyAgICAgICAgICAgIHdyaXRl
ci53cml0ZSgpCisKKworY2xhc3MgV2ViQ29yZVNldHVwKFdlYktpdEZpbGVTZXR1cCk6CisgICAg
IiIiCisgICAgV2ViQ29yZS1zcGVjaWZpYyBzZXR1cCBvZiBkaXJlY3RvcmllcyBhbmQgdmFyaWFi
bGVzIGZvciB3ZWJraXQtZmlsZQorICAgICIiIgorICAgIGRlZiBfX2luaXRfXyhzZWxmKToKKyAg
ICAgICAgV2ViS2l0RmlsZVNldHVwLl9faW5pdF9fKHNlbGYsICJXZWJDb3JlIikKKworICAgIGRl
ZiBpbml0aWFsaXplKHNlbGYpOgorICAgICAgICBzZWxmLnJvb3RfZGlyZWN0b3J5ID0gc2VsZi5j
b21tb24ucm9vdF9kaXJlY3RvcnkKKyAgICAgICAgc2VsZi5zY21fZGlyZWN0b3J5ID0gc2VsZi5j
b21tb24uc2NtX2RpcmVjdG9yeQorICAgICAgICBzZWxmLnNvdXJjZV9kaXJlY3RvcnkgPSBzZWxm
LmNvbW1vbi5lbnN1cmVfc3ViZGlyZWN0b3J5KHNlbGYuc2NtX2RpcmVjdG9yeSwgIlNvdXJjZSIp
CisgICAgICAgIHNlbGYud2ViY29yZV9kaXJlY3RvcnkgPSBzZWxmLmNvbW1vbi5lbnN1cmVfc3Vi
ZGlyZWN0b3J5KHNlbGYuc291cmNlX2RpcmVjdG9yeSwgIldlYkNvcmUiKQorICAgICAgICBzZWxm
LmphdmFzY3JpcHRjb3JlX2RpcmVjdG9yeSA9IHNlbGYuY29tbW9uLmVuc3VyZV9zdWJkaXJlY3Rv
cnkoc2VsZi5zb3VyY2VfZGlyZWN0b3J5LCAiSmF2YVNjcmlwdENvcmUiKQorICAgICAgICBzZWxm
LmJ1aWxkX2RpcmVjdG9yeSA9IHNlbGYuY29tbW9uLmNyZWF0ZV9iYXNlX2RpcmVjdG9yeSgiJHtC
VUlMRH0iKQorICAgICAgICBzZWxmLndlYmNvcmVfZGVyaXZlZF9zb3VyY2VzX2RpcmVjdG9yeSA9
IHNlbGYuY29tbW9uLmNyZWF0ZV9iYXNlX2RpcmVjdG9yeSgiJHtXRUJDT1JFX0RFUklWRUR9IikK
KyAgICAgICAgc2VsZi5kZXJpdmVkX3NvdXJjZXNfZGlyZWN0b3J5ID0gc2VsZi5jb21tb24uY3Jl
YXRlX2Nyb3Nzb3Zlcl9zdWJkaXJlY3Rvcnkoc2VsZi5idWlsZF9kaXJlY3RvcnksICJEZXJpdmVk
U291cmNlcyIsIHsiV2ViQ29yZSI6IHNlbGYud2ViY29yZV9kZXJpdmVkX3NvdXJjZXNfZGlyZWN0
b3J5fSkKKyAgICAgICAgc2VsZi5hbmdsZV9kaXJlY3RvcnkgPSBzZWxmLmNvbW1vbi5lbnN1cmVf
c3ViZGlyZWN0b3J5X3BhdGgoc2VsZi5zY21fZGlyZWN0b3J5LCAiVGhpcmRQYXJ0eS9BTkdMRSIp
CisgICAgICAgICMgWGNvZGUKKyAgICAgICAgc2VsZi54Y19wcm9qZWN0X2ZpbGUgPSBzZWxmLmNv
bW1vbi5lbnN1cmVfZmlsZV9wYXRoKHNlbGYud2ViY29yZV9kaXJlY3RvcnksIHNlbGYuY29tbW9u
LmZpbGVzeXN0ZW0uam9pbigiV2ViQ29yZS54Y29kZXByb2oiLCAicHJvamVjdC5wYnhwcm9qIikp
CisgICAgICAgIHNlbGYueGNfdmFyaWFibGVfdG9fZGlyZWN0b3J5ID0geworICAgICAgICAgICAg
J1NPVVJDRV9ST09UJzogICAgICAgICAgICAgIHNlbGYud2ViY29yZV9kaXJlY3RvcnksCisgICAg
ICAgICAgICAnIjxhYnNvbHV0ZT4iJzogICAgICAgICAgICAgc2VsZi5yb290X2RpcmVjdG9yeSwK
KyAgICAgICAgICAgICdCVUlMVF9QUk9EVUNUU19ESVInOiAgICAgICBzZWxmLmJ1aWxkX2RpcmVj
dG9yeSwKKyAgICAgICAgICAgICdERVZFTE9QRVJfRElSJzogICAgICAgICAgICBzZWxmLmNvbW1v
bi5jcmVhdGVfYmFzZV9kaXJlY3RvcnkoIiR7REVWfSIpLAorICAgICAgICAgICAgJ1NES1JPT1Qn
OiAgICAgICAgICAgICAgICAgIHNlbGYuY29tbW9uLmNyZWF0ZV9iYXNlX2RpcmVjdG9yeSgiJHtT
REtST09UfSIpLAorICAgICAgICAgICAgJ0NPTkZJR1VSQVRJT05fVEVNUF9ESVInOiAgIHNlbGYu
Y29tbW9uLmNyZWF0ZV9iYXNlX2RpcmVjdG9yeSgiJHtDT05GSUdfVEVNUH0iKSwKKyAgICAgICAg
fQorICAgICAgICBzZWxmLnhjX3Byb2plY3QgPSBYY29kZVByb2plY3Qoc2VsZi5jb21tb24sIHNl
bGYueGNfcHJvamVjdF9maWxlLCBzZWxmLnhjX3ZhcmlhYmxlX3RvX2RpcmVjdG9yeSwgIldlYkNv
cmUiKQorICAgICAgICBzZWxmLnhjX3JlYWRlciA9IFhjb2RlUHJvamVjdFJlYWRlcihzZWxmLnhj
X3Byb2plY3QpCisgICAgICAgIHNlbGYueGNfd3JpdGVyID0gWGNvZGVQcm9qZWN0V3JpdGVyKHNl
bGYueGNfcHJvamVjdCkKKyAgICAgICAgIyBRdAorICAgICAgICBzZWxmLnF0X3Byb2plY3RfZmls
ZSA9IHNlbGYuY29tbW9uLmVuc3VyZV9maWxlKHNlbGYud2ViY29yZV9kaXJlY3RvcnksICJUYXJn
ZXQucHJpIikKKyAgICAgICAgc2VsZi5xdF92YXJpYWJsZV90b19kaXJlY3RvcnkgPSB7CisgICAg
ICAgICAgICAnJCRBTkdMRV9ESVInOiAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5hbmds
ZV9kaXJlY3RvcnksCisgICAgICAgICAgICAnJCRQV0QnOiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgc2VsZi5xdF9wcm9qZWN0X2ZpbGUuZGlyZWN0b3J5LAorICAgICAgICAgICAgJyQk
U09VUkNFX0RJUic6ICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc291cmNlX2RpcmVjdG9y
eSwKKyAgICAgICAgICAgICckJHtXRUJDT1JFX0dFTkVSQVRFRF9TT1VSQ0VTX0RJUn0nOiAgICBz
ZWxmLndlYmNvcmVfZGVyaXZlZF9zb3VyY2VzX2RpcmVjdG9yeSwKKyAgICAgICAgfQorICAgICAg
ICBzZWxmLnF0X3Byb2plY3QgPSBRdFByb2plY3Qoc2VsZi5jb21tb24sIFF0TWFrZUZpbGUoc2Vs
Zi5xdF9wcm9qZWN0X2ZpbGUpLCBzZWxmLnF0X3ZhcmlhYmxlX3RvX2RpcmVjdG9yeSkKKyAgICAg
ICAgc2VsZi5xdF9yZWFkZXIgPSBRdFByb2plY3RSZWFkZXIoc2VsZi5xdF9wcm9qZWN0KQorICAg
ICAgICBzZWxmLnF0X3dyaXRlciA9IFF0UHJvamVjdFdyaXRlcihzZWxmLnF0X3Byb2plY3QpCisg
ICAgICAgICMgcGxhdGZvcm0gbWFwCisgICAgICAgICMKKyAgICAgICAgIyBUT0RPOiBtYWtlIHRo
aXMgZGVwZW5kZW50IG9uIGFjdHVhbGx5IHVzZWQgcGxhdGZvcm1zCisgICAgICAgIHNlbGYucGxh
dGZvcm1fdG9fcHJvamVjdCA9IHsKKyAgICAgICAgICAgIENvbW1vbk9wdGlvbnMuUExBVEZPUk1f
WENPREU6ICAgc2VsZi54Y19wcm9qZWN0LAorICAgICAgICAgICAgQ29tbW9uT3B0aW9ucy5QTEFU
Rk9STV9RVDogICAgICBzZWxmLnF0X3Byb2plY3QsCisgICAgICAgIH0KKyAgICAgICAgc2VsZi5w
bGF0Zm9ybV90b19wcm9qZWN0X3JlYWRlciA9IHsKKyAgICAgICAgICAgIENvbW1vbk9wdGlvbnMu
UExBVEZPUk1fWENPREU6ICAgc2VsZi54Y19yZWFkZXIsCisgICAgICAgICAgICBDb21tb25PcHRp
b25zLlBMQVRGT1JNX1FUOiAgICAgIHNlbGYucXRfcmVhZGVyLAorICAgICAgICB9CisgICAgICAg
IHNlbGYucGxhdGZvcm1fdG9fcHJvamVjdF93cml0ZXIgPSB7CisgICAgICAgICAgICBDb21tb25P
cHRpb25zLlBMQVRGT1JNX1hDT0RFOiAgIHNlbGYueGNfd3JpdGVyLAorICAgICAgICAgICAgQ29t
bW9uT3B0aW9ucy5QTEFURk9STV9RVDogICAgICBzZWxmLnF0X3dyaXRlciwKKyAgICAgICAgfQor
CisKK2NsYXNzIFdlYkNvcmVEZWJ1Z1NldHVwKFdlYkNvcmVTZXR1cCk6CisgICAgZGVmIHdyaXRl
X3Byb2plY3RfZmlsZXMoc2VsZik6CisgICAgICAgICMgVE9ETzogbWFrZSB0aGlzIGRlcGVuZGVu
dCBvbiBhY3R1YWxseSB1c2VkIHBsYXRmb3JtcworICAgICAgICAjIC0tLS0tCisgICAgICAgIHNl
bGYueGNfd3JpdGVyLndyaXRlKCJ+L3dyaXR0ZW5QQlgudHh0IikKKyAgICAgICAgc2VsZi5xdF93
cml0ZXIud3JpdGUoIn4vd3JpdHRlblF0LnR4dCIpCisKKyAgICBkZWYgZGVidWdfcnVuKHNlbGYp
OgorICAgICAgICAnJycKKyAgICAgICAgRGVidWdnaW5nIGZ1bmN0aW9uIHRoYXQgb3V0cHV0cyB2
YXJpb3VzIHBhdGhzIGFuZCBjb25maXJtcyBkaXJlY3RvcnkgbGF5b3V0IGFzc3VtcHRpb25zLgor
ICAgICAgICBOb3QgdXNlZCBpbiByZWd1bGFyIG9wZXJhdGlvbi4KKyAgICAgICAgJycnCisgICAg
ICAgIHNlbGYuX1dlYkNvcmVfYWJzcGF0aCA9IHNlbGYuY29tbW9uLmZpbGVzeXN0ZW0uam9pbihz
ZWxmLmNvbW1vbi5zY21fYWJzcGF0aCwgIlNvdXJjZSIsICJXZWJDb3JlIikKKyAgICAgICAgc2Vs
Zi5fcGJ4cHJval9hYnNwYXRoID0gc2VsZi5jb21tb24uZmlsZXN5c3RlbS5qb2luKHNlbGYuX1dl
YkNvcmVfYWJzcGF0aCwgIldlYkNvcmUueGNvZGVwcm9qIiwgInByb2plY3QucGJ4cHJvaiIpCisg
ICAgICAgIHNlbGYuX3ZjcHJval9hYnNwYXRoID0gc2VsZi5jb21tb24uZmlsZXN5c3RlbS5qb2lu
KHNlbGYuX1dlYkNvcmVfYWJzcGF0aCwgIldlYkNvcmUudmNwcm9qIiwgIldlYkNvcmUudmNwcm9q
IikKKyAgICAgICAgc2VsZi5fZ3lwaV9hYnNwYXRoID0gc2VsZi5jb21tb24uZmlsZXN5c3RlbS5q
b2luKHNlbGYuX1dlYkNvcmVfYWJzcGF0aCwgIldlYkNvcmUuZ3lwaSIpCisgICAgICAgIHNlbGYu
X3F0X2Fic3BhdGggPSBzZWxmLmNvbW1vbi5maWxlc3lzdGVtLmpvaW4oc2VsZi5fV2ViQ29yZV9h
YnNwYXRoLCAiVGFyZ2V0LnByaSIpCisgICAgICAgIHNlbGYuX2NtYWtlbGlzdHNfYWJzcGF0aCA9
IHNlbGYuY29tbW9uLmZpbGVzeXN0ZW0uam9pbihzZWxmLl9XZWJDb3JlX2Fic3BhdGgsICJDTWFr
ZUxpc3RzLnR4dCIpCisgICAgICAgIHNlbGYuX2dudW1ha2VmaWxlX2Fic3BhdGggPSBzZWxmLmNv
bW1vbi5maWxlc3lzdGVtLmpvaW4oc2VsZi5fV2ViQ29yZV9hYnNwYXRoLCAiR05VbWFrZWZpbGUu
bGlzdC5hbSIpCisgICAgICAgICMKKyAgICAgICAgc2VsZi5fV2ViQ29yZV9yZWxwYXRoID0gc2Vs
Zi5jb21tb24uZmlsZXN5c3RlbS5yZWxwYXRoKHNlbGYuX1dlYkNvcmVfYWJzcGF0aCwgc2VsZi5j
b21tb24uc2NtX2Fic3BhdGgpCisgICAgICAgIHNlbGYuX3BieHByb2pfcmVscGF0aCA9IHNlbGYu
Y29tbW9uLmZpbGVzeXN0ZW0ucmVscGF0aChzZWxmLl9wYnhwcm9qX2Fic3BhdGgsIHNlbGYuY29t
bW9uLnNjbV9hYnNwYXRoKQorICAgICAgICBzZWxmLl92Y3Byb2pfcmVscGF0aCA9IHNlbGYuY29t
bW9uLmZpbGVzeXN0ZW0ucmVscGF0aChzZWxmLl92Y3Byb2pfYWJzcGF0aCwgc2VsZi5jb21tb24u
c2NtX2Fic3BhdGgpCisgICAgICAgIHNlbGYuX2d5cGlfcmVscGF0aCA9IHNlbGYuY29tbW9uLmZp
bGVzeXN0ZW0ucmVscGF0aChzZWxmLl9neXBpX2Fic3BhdGgsIHNlbGYuY29tbW9uLnNjbV9hYnNw
YXRoKQorICAgICAgICBzZWxmLl9xdF9yZWxwYXRoID0gc2VsZi5jb21tb24uZmlsZXN5c3RlbS5y
ZWxwYXRoKHNlbGYuX3F0X2Fic3BhdGgsIHNlbGYuY29tbW9uLnNjbV9hYnNwYXRoKQorICAgICAg
ICBzZWxmLl9jbWFrZWxpc3RzX3JlbHBhdGggPSBzZWxmLmNvbW1vbi5maWxlc3lzdGVtLnJlbHBh
dGgoc2VsZi5fY21ha2VsaXN0c19hYnNwYXRoLCBzZWxmLmNvbW1vbi5zY21fYWJzcGF0aCkKKyAg
ICAgICAgc2VsZi5fZ251bWFrZWZpbGVfcmVscGF0aCA9IHNlbGYuY29tbW9uLmZpbGVzeXN0ZW0u
cmVscGF0aChzZWxmLl9nbnVtYWtlZmlsZV9hYnNwYXRoLCBzZWxmLmNvbW1vbi5zY21fYWJzcGF0
aCkKKyAgICAgICAgIworICAgICAgICBzZWxmLl9hYnNwYXRoID0gc2VsZi5jb21tb24uZmlsZXN5
c3RlbS5hYnNwYXRoKHNlbGYuY29tbWFuZHNbMF0uYXJnc1swXSkKKyAgICAgICAgc2VsZi5fcmVs
cGF0aCA9IHNlbGYuY29tbW9uLmZpbGVzeXN0ZW0ucmVscGF0aChzZWxmLl9hYnNwYXRoLCBzZWxm
LmNvbW1vbi5zY21fYWJzcGF0aCkKKyAgICAgICAgc2VsZi5faXNkaXIgPSBzZWxmLmNvbW1vbi5m
aWxlc3lzdGVtLmlzZGlyKHNlbGYuX2Fic3BhdGgpCisgICAgICAgIGlmIHNlbGYuX2lzZGlyOgor
ICAgICAgICAgICAgc2VsZi5fZmlsZV9uYW1lID0gJycKKyAgICAgICAgICAgIHNlbGYuX25hbWUg
PSAnJworICAgICAgICAgICAgc2VsZi5fZXh0ID0gJycKKyAgICAgICAgICAgIHNlbGYuX3JlbGRp
ciA9IHNlbGYuX3JlbHBhdGgKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIChzZWxmLl9yZWxk
aXIsIHNlbGYuX2ZpbGVfbmFtZSkgPSBzZWxmLmNvbW1vbi5maWxlc3lzdGVtLnNwbGl0KHNlbGYu
X3JlbHBhdGgpCisgICAgICAgICAgICAoc2VsZi5fbmFtZSwgc2VsZi5fZXh0KSA9IHNlbGYuY29t
bW9uLmZpbGVzeXN0ZW0uc3BsaXRleHQoc2VsZi5fZmlsZV9uYW1lKQorICAgICAgICBzZWxmLl9l
eGlzdHMgPSBzZWxmLmNvbW1vbi5maWxlc3lzdGVtLmV4aXN0cyhzZWxmLl9hYnNwYXRoKQorICAg
ICAgICAjCisgICAgICAgIHByaW50ICJhYnM6Iiwgc2VsZi5fYWJzcGF0aAorICAgICAgICBwcmlu
dCAicmVsOiIsIHNlbGYuX3JlbHBhdGgKKyAgICAgICAgcHJpbnQgIlNDTToiLCBzZWxmLmNvbW1v
bi5zY21fYWJzcGF0aAorICAgICAgICBwcmludCAiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tIgorICAgICAgICBwcmludCAiV0NQOiIsIHNlbGYuX1dlYkNv
cmVfYWJzcGF0aAorICAgICAgICBwcmludCAiUEJYOiIsIHNlbGYuX3BieHByb2pfYWJzcGF0aAor
ICAgICAgICBwcmludCAiVkNQOiIsIHNlbGYuX3ZjcHJval9hYnNwYXRoCisgICAgICAgIHByaW50
ICJHTUs6Iiwgc2VsZi5fZ251bWFrZWZpbGVfYWJzcGF0aAorICAgICAgICBwcmludCAiR1lQOiIs
IHNlbGYuX2d5cGlfYWJzcGF0aAorICAgICAgICBwcmludCAiUFJPOiIsIHNlbGYuX3F0X2Fic3Bh
dGgKKyAgICAgICAgcHJpbnQgIkNNSzoiLCBzZWxmLl9jbWFrZWxpc3RzX2Fic3BhdGgKKyAgICAg
ICAgcHJpbnQgIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LSIKKyAgICAgICAgcHJpbnQgIndjcDoiLCBzZWxmLl9XZWJDb3JlX3JlbHBhdGgKKyAgICAgICAg
cHJpbnQgInBieDoiLCBzZWxmLl9wYnhwcm9qX3JlbHBhdGgKKyAgICAgICAgcHJpbnQgInZjcDoi
LCBzZWxmLl92Y3Byb2pfcmVscGF0aAorICAgICAgICBwcmludCAiZ21rOiIsIHNlbGYuX2dudW1h
a2VmaWxlX3JlbHBhdGgKKyAgICAgICAgcHJpbnQgImd5cDoiLCBzZWxmLl9neXBpX3JlbHBhdGgK
KyAgICAgICAgcHJpbnQgInBybzoiLCBzZWxmLl9xdF9yZWxwYXRoCisgICAgICAgIHByaW50ICJj
bWs6Iiwgc2VsZi5fY21ha2VsaXN0c19yZWxwYXRoCisgICAgICAgIHByaW50ICItLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0iCisgICAgICAgIHByaW50ICJh
YnM6Iiwgc2VsZi5fYWJzcGF0aAorICAgICAgICBwcmludCAicmVsOiIsIHNlbGYuX3JlbHBhdGgK
KyAgICAgICAgcHJpbnQgImlzZDoiLCBzZWxmLl9pc2RpcgorICAgICAgICBwcmludCAici1kOiIs
IHNlbGYuX3JlbGRpcgorICAgICAgICBwcmludCAiW3JdOiIsIHJlLnNwbGl0KCdbXFwvXScsIHNl
bGYuX3JlbGRpcikKKyAgICAgICAgcHJpbnQgImZubToiLCBzZWxmLl9maWxlX25hbWUKKyAgICAg
ICAgcHJpbnQgIm5hbToiLCBzZWxmLl9uYW1lCisgICAgICAgIHByaW50ICJleHQ6Iiwgc2VsZi5f
ZXh0CisgICAgICAgIHByaW50ICJleD86Iiwgc2VsZi5fZXhpc3RzCisgICAgICAgICMKKyAgICAg
ICAgc291cmNlX2RpcmVjdG9yeSA9IHNlbGYuY29tbW9uLmVuc3VyZV9zdWJkaXJlY3Rvcnkoc2Vs
Zi5jb21tb24uc2NtX2RpcmVjdG9yeSwgIlNvdXJjZSIpCisgICAgICAgIHdlYmNvcmVfZGlyZWN0
b3J5ID0gc2VsZi5jb21tb24uZW5zdXJlX3N1YmRpcmVjdG9yeShzb3VyY2VfZGlyZWN0b3J5LCAi
V2ViQ29yZSIpCisgICAgICAgIGphdmFzY3JpcHRjb3JlX2RpcmVjdG9yeSA9IHNlbGYuY29tbW9u
LmVuc3VyZV9zdWJkaXJlY3Rvcnkoc291cmNlX2RpcmVjdG9yeSwgIkphdmFTY3JpcHRDb3JlIikK
KyAgICAgICAgYnVpbGRfZGlyZWN0b3J5ID0gc2VsZi5jb21tb24uY3JlYXRlX2Jhc2VfZGlyZWN0
b3J5KCIke0JVSUxEfSIpCisgICAgICAgIHdlYmNvcmVfZGVyaXZlZF9zb3VyY2VzX2RpcmVjdG9y
eSA9IHNlbGYuY29tbW9uLmNyZWF0ZV9iYXNlX2RpcmVjdG9yeSgiJHtXRUJDT1JFX0RFUklWRUR9
IikKKyAgICAgICAgZGVyaXZlZF9zb3VyY2VzX2RpcmVjdG9yeSA9IHNlbGYuY29tbW9uLmNyZWF0
ZV9jcm9zc292ZXJfc3ViZGlyZWN0b3J5KGJ1aWxkX2RpcmVjdG9yeSwgIkRlcml2ZWRTb3VyY2Vz
IiwgeyJXZWJDb3JlIjogd2ViY29yZV9kZXJpdmVkX3NvdXJjZXNfZGlyZWN0b3J5fSkKKyAgICAg
ICAgcHJpbnQgIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LSIKKyAgICAgICAgcHJpbnQgIi0gWGNvZGU6IgorICAgICAgICAjIFhjb2RlIGdyb3VwcyB0cmF2
ZXJzZSBCVUlMVF9QUk9EVUNUU19ESVIvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZSB0byBhcnJpdmUg
YXQgZGVyaXZlZF93ZWJjb3JlX2RpcmVjdG9yeSwKKyAgICAgICAgIyBidXQgZm9yIG90aGVyIHBs
YXRmb3JtcywgZGVyaXZlZF93ZWJjb3JlX2RpcmVjdG9yeSBpcyBsb2NhdGVkIGRpZmZlcmVudGx5
CisgICAgICAgIHhjZmlsZSA9IHNlbGYuY29tbW9uLmVuc3VyZV9maWxlX3BhdGgoc2VsZi5jb21t
b24uc2NtX2RpcmVjdG9yeSwgc2VsZi5fcGJ4cHJval9yZWxwYXRoKQorICAgICAgICB4Y2RpcmVj
dG9yaWVzID0geworICAgICAgICAgICAgJ1NPVVJDRV9ST09UJzogICAgICAgICAgICAgIHdlYmNv
cmVfZGlyZWN0b3J5LAorICAgICAgICAgICAgJyI8YWJzb2x1dGU+Iic6ICAgICAgICAgICAgIHNl
bGYuY29tbW9uLnJvb3RfZGlyZWN0b3J5LAorICAgICAgICAgICAgJ0JVSUxUX1BST0RVQ1RTX0RJ
Uic6ICAgICAgIGJ1aWxkX2RpcmVjdG9yeSwKKyAgICAgICAgICAgICdERVZFTE9QRVJfRElSJzog
ICAgICAgICAgICBzZWxmLmNvbW1vbi5jcmVhdGVfYmFzZV9kaXJlY3RvcnkoIiR7REVWfSIpLAor
ICAgICAgICAgICAgJ1NES1JPT1QnOiAgICAgICAgICAgICAgICAgIHNlbGYuY29tbW9uLmNyZWF0
ZV9iYXNlX2RpcmVjdG9yeSgiJHtTREtST09UfSIpLAorICAgICAgICAgICAgJ0NPTkZJR1VSQVRJ
T05fVEVNUF9ESVInOiAgIHNlbGYuY29tbW9uLmNyZWF0ZV9iYXNlX2RpcmVjdG9yeSgiJHtDT05G
SUdfVEVNUH0iKSwKKyAgICAgICAgfQorICAgICAgICB4Y3Byb2plY3QgPSBYY29kZVByb2plY3Qo
c2VsZi5jb21tb24sIHhjZmlsZSwgeGNkaXJlY3RvcmllcywgIldlYkNvcmUiKQorICAgICAgICB4
Y3JlYWRlciA9IFhjb2RlUHJvamVjdFJlYWRlcih4Y3Byb2plY3QpCisgICAgICAgIHhjcmVhZGVy
LnJlYWQoKQorICAgICAgICBzZWxmLmV4ZWN1dGVfY29tbWFuZHMoe0NvbW1vbk9wdGlvbnMuUExB
VEZPUk1fWENPREU6IHhjcHJvamVjdH0pCisgICAgICAgIHhjd3JpdGVyID0gWGNvZGVQcm9qZWN0
V3JpdGVyKHhjcHJvamVjdCkKKyAgICAgICAgeGN3cml0ZXIud3JpdGUoIn4vc3JjL3dyaXR0ZW5Q
QlgudHh0IikKKyAgICAgICAgcHJpbnQgIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLSIKKyAgICAgICAgcHJpbnQgIi0gUXQgKG9yaWdpbmFsKToiCisgICAg
ICAgIHF0ZmlsZSA9IHNlbGYuY29tbW9uLmVuc3VyZV9maWxlX3BhdGgoc2VsZi5jb21tb24uc2Nt
X2RpcmVjdG9yeSwgc2VsZi5fcXRfcmVscGF0aCkKKyAgICAgICAgYW5nbGVfZGlyZWN0b3J5ID0g
c2VsZi5jb21tb24uZW5zdXJlX3N1YmRpcmVjdG9yeV9wYXRoKHNlbGYuY29tbW9uLnNjbV9kaXJl
Y3RvcnksICJUaGlyZFBhcnR5L0FOR0xFIikKKyAgICAgICAgcXRkaXJlY3RvcmllcyA9IHsKKyAg
ICAgICAgICAgICckJEFOR0xFX0RJUic6ICAgICAgICAgICAgICAgICAgICAgICAgICBhbmdsZV9k
aXJlY3RvcnksCisgICAgICAgICAgICAnJCRQV0QnOiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgcXRmaWxlLmRpcmVjdG9yeSwKKyAgICAgICAgICAgICckJFNPVVJDRV9ESVInOiAgICAg
ICAgICAgICAgICAgICAgICAgICBzb3VyY2VfZGlyZWN0b3J5LAorICAgICAgICAgICAgJyQke1dF
QkNPUkVfR0VORVJBVEVEX1NPVVJDRVNfRElSfSc6ICAgIHdlYmNvcmVfZGVyaXZlZF9zb3VyY2Vz
X2RpcmVjdG9yeSwKKyAgICAgICAgfQorICAgICAgICBxdHByb2plY3QgPSBRdFByb2plY3Qoc2Vs
Zi5jb21tb24sIFF0TWFrZUZpbGUocXRmaWxlKSwgcXRkaXJlY3RvcmllcykKKyAgICAgICAgcXRy
ZWFkZXIgPSBRdFByb2plY3RSZWFkZXIocXRwcm9qZWN0KQorICAgICAgICBxdHJlYWRlci5yZWFk
KCkKKyAgICAgICAgc2VsZi5leGVjdXRlX2NvbW1hbmRzKHtDb21tb25PcHRpb25zLlBMQVRGT1JN
X1FUOiBxdHByb2plY3R9KQorICAgICAgICBxdHdyaXRlciA9IFF0UHJvamVjdFdyaXRlcihxdHBy
b2plY3QpCisgICAgICAgIHF0d3JpdGVyLndyaXRlKCJ+L3NyYy93cml0dGVuUXQudHh0IikKKyAg
ICAgICAgcHJpbnQgIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLSIKKyAgICAgICAgcHJpbnQgIi0gUXQgKGZyb20gc29ydGVkKToiCisgICAgICAgIHF0c2Zp
bGUgPSBzZWxmLmNvbW1vbi5lbnN1cmVfZmlsZV9wYXRoKHNlbGYuY29tbW9uLnJvb3RfZGlyZWN0
b3J5LCAiL1VzZXJzL3JvbGFuZHN0ZWluZXIvc3JjL3NvcnRlZFF0LnR4dCIpCisgICAgICAgIHF0
c3Byb2plY3QgPSBRdFByb2plY3Qoc2VsZi5jb21tb24sIFF0TWFrZUZpbGUocXRzZmlsZSksIHF0
ZGlyZWN0b3JpZXMpCisgICAgICAgIHF0c3JlYWRlciA9IFF0UHJvamVjdFJlYWRlcihxdHNwcm9q
ZWN0KQorICAgICAgICBxdHNyZWFkZXIucmVhZCgpCisgICAgICAgIHNlbGYuZXhlY3V0ZV9jb21t
YW5kcyh7Q29tbW9uT3B0aW9ucy5QTEFURk9STV9RVDogcXRzcHJvamVjdH0pCisgICAgICAgIHF0
c3dyaXRlciA9IFF0UHJvamVjdFdyaXRlcihxdHNwcm9qZWN0KQorICAgICAgICBxdHN3cml0ZXIu
d3JpdGUoIn4vc3JjL3dyaXR0ZW5RdFNvcnRlZC50eHQiKQorICAgICAgICBwcmludCAiLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIgorICAgICAgICBwcmlu
dCAiLSBWaXN1YWwgU3R1ZGlvOiIKKyAgICAgICAgdmNmaWxlID0gc2VsZi5jb21tb24uZW5zdXJl
X2ZpbGVfcGF0aChzZWxmLmNvbW1vbi5zY21fZGlyZWN0b3J5LCBzZWxmLl92Y3Byb2pfcmVscGF0
aCkKKyAgICAgICAgdmNkaXJlY3RvcmllcyA9IHsKKyAgICAgICAgICAgICckKENvbmZpZ3VyYXRp
b25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzJzogd2ViY29yZV9k
ZXJpdmVkX3NvdXJjZXNfZGlyZWN0b3J5LAorICAgICAgICB9CisgICAgICAgIHByaW50ICItLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0iCisgICAgICAgIHBy
aW50ICItIEdudToiCisgICAgICAgIGdudWZpbGUgPSBzZWxmLmNvbW1vbi5lbnN1cmVfZmlsZV9w
YXRoKHNlbGYuY29tbW9uLnNjbV9kaXJlY3RvcnksIHNlbGYuX2dudW1ha2VmaWxlX3JlbHBhdGgp
CisgICAgICAgIGdudWRpcmVjdG9yaWVzID0geworICAgICAgICAgICAgJyQoV2ViQ29yZSknOiB3
ZWJjb3JlX2RpcmVjdG9yeSwKKyAgICAgICAgfQorICAgICAgICBwcmludCAiLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIgorICAgICAgICBwcmludCAiLSBD
TWFrZToiCisgICAgICAgIGNtZmlsZSA9IHNlbGYuY29tbW9uLmVuc3VyZV9maWxlX3BhdGgoc2Vs
Zi5jb21tb24uc2NtX2RpcmVjdG9yeSwgc2VsZi5fY21ha2VsaXN0c19yZWxwYXRoKQorICAgICAg
ICBjbWRpcmVjdG9yaWVzID0geworICAgICAgICAgICAgJyR7V0VCQ09SRV9ESVJ9JzogICAgICAg
ICAgICAgICAgICAgd2ViY29yZV9kaXJlY3RvcnksCisgICAgICAgICAgICAnJHtKQVZBU0NSSVBU
Q09SRV9ESVJ9JzogICAgICAgICAgICBqYXZhc2NyaXB0Y29yZV9kaXJlY3RvcnksCisgICAgICAg
ICAgICAnJHtERVJJVkVEX1NPVVJDRVNfV0VCQ09SRV9ESVJ9JzogICB3ZWJjb3JlX2Rlcml2ZWRf
c291cmNlc19kaXJlY3RvcnksCisgICAgICAgICAgICAnJHtDTUFLRV9TT1VSQ0VfRElSfSc6ICAg
ICAgICAgICAgICBzZWxmLmNvbW1vbi5jcmVhdGVfYmFzZV9kaXJlY3RvcnkoIiR7Q01BS0UtU09V
UkNFfSIpLAorICAgICAgICAgICAgJyR7Q01BS0VfQklOQVJZX0RJUn0nOiAgICAgICAgICAgICAg
c2VsZi5jb21tb24uY3JlYXRlX2Jhc2VfZGlyZWN0b3J5KCIke0NNQUtFLUJJTkFSWX0iKSwKKyAg
ICAgICAgICAgICcke1RISVJEUEFSVFlfRElSfSc6ICAgICAgICAgICAgICAgIHNlbGYuY29tbW9u
LmVuc3VyZV9zdWJkaXJlY3Rvcnkoc291cmNlX2RpcmVjdG9yeSwgIlRoaXJkUGFydHkiKSwKKyAg
ICAgICAgfQorICAgICAgICBwcmludCAiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tIgorICAgICAgICBwcmludCAiLSBHWVA6IgorICAgICAgICBneXBmaWxl
ID0gc2VsZi5jb21tb24uZW5zdXJlX2ZpbGVfcGF0aChzZWxmLmNvbW1vbi5zY21fZGlyZWN0b3J5
LCBzZWxmLl9neXBpX3JlbHBhdGgpCisgICAgICAgIGd5cGRpcmVjdG9yaWVzID0geworICAgICAg
ICAgICAgJzwoUFJPRFVDVF9ESVIpJzogYnVpbGRfZGlyZWN0b3J5LAorICAgICAgICB9CisKKwor
Y2xhc3MgV2ViS2l0RmlsZShvYmplY3QpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBzZXR1cCwg
YXJncyk6CisgICAgICAgIGFzc2VydCBzZXR1cAorICAgICAgICBhc3NlcnQgYXJncworICAgICAg
ICBzZWxmLnNldHVwID0gc2V0dXAKKyAgICAgICAgc2VsZi5hcmdzID0gYXJncworICAgICAgICBz
ZWxmLmNvbW1vbiA9IHNldHVwLmNvbW1vbgorICAgICAgICBzZWxmLmNvbW1hbmRzID0gW10KKyAg
ICAgICAgc2VsZi5nbG9iYWxfb3B0aW9ucyA9IHNldHVwLmNvbW1vbi5vcHRpb25zCisgICAgICAg
ICMgLS0tLS0KKyAgICAgICAgc2VsZi53YXJuaW5nKCItLS0tLSIpCisgICAgICAgIHNlbGYud2Fy
bmluZygiJ3dlYmtpdC1maWxlJyBpcyBzdGlsbCBpbiBwcmUtYWxwaGEgdmVyc2lvbiwgY3VycmVu
dGx5IGZvciBTb3VyY2UvV2ViQ29yZSBvbmx5ISBVc2UgYXQgeW91ciBvd24gcmlzayBhbmQgdmVy
aWZ5IHRoZSBnZW5lcmF0ZWQgb3V0cHV0ISIpCisgICAgICAgIHNlbGYud2FybmluZygiLS0tLS0i
KQorCisgICAgZGVmIGRlYnVnKHNlbGYsIG1zZyk6CisgICAgICAgICMgVE9ETzogYWRkIElEIG9m
IHByb2plY3QgdG8gc2hvdyB3aGljaCBwcm9qZWN0IHRoZSBtZXNzYWdlIGlzIGZvcgorICAgICAg
ICBzZWxmLmNvbW1vbi5kZWJ1Zyhtc2cpCisKKyAgICBkZWYgaW5mbyhzZWxmLCBtc2cpOgorICAg
ICAgICAjIFRPRE86IGFkZCBJRCBvZiBwcm9qZWN0IHRvIHNob3cgd2hpY2ggcHJvamVjdCB0aGUg
bWVzc2FnZSBpcyBmb3IKKyAgICAgICAgc2VsZi5jb21tb24uaW5mbyhtc2cpCisKKyAgICBkZWYg
d2FybmluZyhzZWxmLCBtc2cpOgorICAgICAgICAjIFRPRE86IGFkZCBJRCBvZiBwcm9qZWN0IHRv
IHNob3cgd2hpY2ggcHJvamVjdCB0aGUgbWVzc2FnZSBpcyBmb3IKKyAgICAgICAgc2VsZi5jb21t
b24ud2FybmluZyhtc2cpCisKKyAgICBkZWYgZXJyb3Ioc2VsZiwgbXNnKToKKyAgICAgICAgIyBU
T0RPOiBhZGQgSUQgb2YgcHJvamVjdCB0byBzaG93IHdoaWNoIHByb2plY3QgdGhlIG1lc3NhZ2Ug
aXMgZm9yCisgICAgICAgIHNlbGYuY29tbW9uLmVycm9yKG1zZykKKworICAgIGRlZiB2ZXJpZnko
c2VsZiwgZXhwciwgbXNnKToKKyAgICAgICAgIyBUT0RPOiBhZGQgSUQgb2YgcHJvamVjdCB0byBz
aG93IHdoaWNoIHByb2plY3QgdGhlIG1lc3NhZ2UgaXMgZm9yCisgICAgICAgIHNlbGYuY29tbW9u
LnZlcmlmeShleHByLCBtc2cpCisKKyAgICBkZWYgcGFyc2VfY29tbWFuZF9saW5lKHNlbGYpOgor
ICAgICAgICBhcmdzID0gc2VsZi5hcmdzWzpdCisgICAgICAgIHNlbGYuZ2xvYmFsX29wdGlvbnMu
cGFyc2Uoc2VsZi5jb21tb24sIGFyZ3MpCisgICAgICAgIHNlbGYuY29tbW9uLnNldF9vcHRpb25z
KHNlbGYuZ2xvYmFsX29wdGlvbnMpCisgICAgICAgIHdoaWxlIGFyZ3M6CisgICAgICAgICAgICBp
ZiBhcmdzWzBdID09ICcsJzoKKyAgICAgICAgICAgICAgICBhcmdzLnBvcCgwKQorICAgICAgICAg
ICAgc2VsZi5jb21tYW5kcy5hcHBlbmQoQ29tbW9uQ29tbWFuZC5wYXJzZV9jb21tYW5kKHNlbGYu
Y29tbW9uLCBzZWxmLmdsb2JhbF9vcHRpb25zLCBhcmdzKSkKKyAgICAgICAgaWYgc2VsZi5nbG9i
YWxfb3B0aW9ucy5oZWxwKCk6CisgICAgICAgICAgICBzZWxmLmNvbW1hbmRzID0gW0NvbW1vbkhl
bHBDb21tYW5kKCJoZWxwIiwgc2VsZi5jb21tb24pXSAgIyBkb24ndCBydW4gYW55dGhpbmcgZWxz
ZSBpZiAnLS1oZWxwJyBpcyBzcGVjaWZpZWQgYXMgZ2xvYmFsIG9wdGlvbgorICAgICAgICBlbGlm
IG5vdCBzZWxmLmNvbW1hbmRzOgorICAgICAgICAgICAgc2VsZi5lcnJvcigiQXQgbGVhc3QgMSBj
b21tYW5kIGV4cGVjdGVkLCBvciAnLS1oZWxwJyEiKQorCisgICAgZGVmIGluaXRpYWxpemVfc2V0
dXAoc2VsZik6CisgICAgICAgIHNlbGYuc2V0dXAuaW5pdGlhbGl6ZSgpCisKKyAgICBkZWYgcmVh
ZF9wcm9qZWN0X2ZpbGVzKHNlbGYpOgorICAgICAgICBzZWxmLnNldHVwLnJlYWRfcHJvamVjdF9m
aWxlcygpCisKKyAgICBkZWYgd3JpdGVfcHJvamVjdF9maWxlcyhzZWxmKToKKyAgICAgICAgc2Vs
Zi5zZXR1cC53cml0ZV9wcm9qZWN0X2ZpbGVzKCkKKworICAgIGRlZiBleGVjdXRlX2NvbW1hbmRz
KHNlbGYpOgorICAgICAgICBmb3IgY29tbWFuZCBpbiBzZWxmLmNvbW1hbmRzOgorICAgICAgICAg
ICAgc2VsZi5jb21tb24uc2V0X29wdGlvbnMoY29tbWFuZC5vcHRpb25zKQorICAgICAgICAgICAg
Y29tbWFuZC5leGVjdXRlKHNlbGYuc2V0dXAucGxhdGZvcm1fdG9fcHJvamVjdCkKKyAgICAgICAg
c2VsZi5jb21tb24uc2V0X29wdGlvbnMoc2VsZi5nbG9iYWxfb3B0aW9ucykKKworICAgIGRlZiBl
eGVjdXRlX2NvbW1hbmRfbGluZShzZWxmKToKKyAgICAgICAgc2VsZi5wYXJzZV9jb21tYW5kX2xp
bmUoKQorICAgICAgICBzZWxmLmluaXRpYWxpemVfc2V0dXAoKQorICAgICAgICBzZWxmLnJlYWRf
cHJvamVjdF9maWxlcygpCisgICAgICAgIHNlbGYuZXhlY3V0ZV9jb21tYW5kcygpCisgICAgICAg
IHNlbGYud3JpdGVfcHJvamVjdF9maWxlcygpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L2NvbW1vbi9wcm9qZWN0L3dlYmtpdGZpbGVfdW5pdHRlc3QucHkgYi9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L2NvbW1vbi9wcm9qZWN0L3dlYmtpdGZpbGVfdW5pdHRlc3QucHkKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjM1MDlkNAotLS0gL2Rldi9udWxsCisrKyBi
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3Byb2plY3Qvd2Via2l0ZmlsZV91bml0dGVz
dC5weQpAQCAtMCwwICsxLDEyNyBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uCisjIENvcHlyaWdo
dCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIworIyBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZQorIyBtZXQ6CisjCisjICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUKKyMgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lcgorIyBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisjIGRpc3RyaWJ1dGlvbi4KKyMgICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisjIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZCBmcm9tCisjIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uCisjCisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisj
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUCisjIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorIyBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisjIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAor
IyBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkKKyMgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorIyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyMgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKworaW1wb3J0IGZpbGVjbXAKK2ltcG9ydCB1bml0dGVzdAorCitmcm9tIHdlYmtpdHB5LmNv
bW1vbi5wcm9qZWN0LndlYmtpdGZpbGUgaW1wb3J0ICoKKworVU5JVFRFU1RfRElSRUNUT1JZX1JF
TFBBVEggPSAiVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vcHJvamVjdC91bml0dGVzdF9m
aWxlcyIKK1VOSVRURVNUX09VVFBVVF9URU1QTEFURSA9IFVOSVRURVNUX0RJUkVDVE9SWV9SRUxQ
QVRIICsgIi90ZXN0cnVuXyVzXyVzLnR4dCIKKworCitjbGFzcyBXZWJLaXRGaWxlVW5pdFRlc3RT
ZXR1cChXZWJLaXRGaWxlU2V0dXApOgorICAgIE5PTlJBTkRPTV9VSUQgPSAwCisKKyAgICBkZWYg
X19pbml0X18oc2VsZik6CisgICAgICAgIFdlYktpdEZpbGVTZXR1cC5fX2luaXRfXyhzZWxmLCAi
VW5pdFRlc3QiKQorICAgICAgICBzZWxmLmNvbW1vbi5vcHRpb25zLnNldF92ZXJib3NpdHkoQ29t
bW9uT3B0aW9ucy5WRVJCT1NJVFlfU0lMRU5UKQorICAgICAgICBzZWxmLmZpbGVfcHJlZml4ID0g
IiIKKyAgICAgICAgV2ViS2l0RmlsZVVuaXRUZXN0U2V0dXAuTk9OUkFORE9NX1VJRCA9IDAKKwor
ICAgIEBzdGF0aWNtZXRob2QKKyAgICBkZWYgY3JlYXRlX1VJRCgpOgorICAgICAgICBXZWJLaXRG
aWxlVW5pdFRlc3RTZXR1cC5OT05SQU5ET01fVUlEICs9IDEKKyAgICAgICAgcmV0dXJuICIlMDI0
eCIgJSBXZWJLaXRGaWxlVW5pdFRlc3RTZXR1cC5OT05SQU5ET01fVUlECisKKyAgICBkZWYgaW5p
dGlhbGl6ZShzZWxmKToKKyAgICAgICAgc2VsZi5yb290X2RpcmVjdG9yeSA9IHNlbGYuY29tbW9u
LnJvb3RfZGlyZWN0b3J5CisgICAgICAgIHNlbGYuc2NtX2RpcmVjdG9yeSA9IHNlbGYuY29tbW9u
LnNjbV9kaXJlY3RvcnkKKyAgICAgICAgc2VsZi5idWlsZF9kaXJlY3RvcnkgPSBzZWxmLmNvbW1v
bi5jcmVhdGVfYmFzZV9kaXJlY3RvcnkoIiR7QlVJTER9IikKKyAgICAgICAgc2VsZi51bml0dGVz
dF9kaXJlY3RvcnkgPSBzZWxmLmNvbW1vbi5lbnN1cmVfc3ViZGlyZWN0b3J5X3BhdGgoc2VsZi5z
Y21fZGlyZWN0b3J5LCBVTklUVEVTVF9ESVJFQ1RPUllfUkVMUEFUSCkKKyAgICAgICAgIyBYY29k
ZQorICAgICAgICBzZWxmLnhjX3Byb2plY3RfZmlsZSA9IHNlbGYuY29tbW9uLmVuc3VyZV9maWxl
KHNlbGYudW5pdHRlc3RfZGlyZWN0b3J5LCAiWGNvZGUtdW5zb3J0ZWQucGJ4cHJvaiIpCisgICAg
ICAgIHNlbGYueGNfdmFyaWFibGVfdG9fZGlyZWN0b3J5ID0geworICAgICAgICAgICAgJ1NPVVJD
RV9ST09UJzogICAgICAgICAgc2VsZi51bml0dGVzdF9kaXJlY3RvcnksCisgICAgICAgICAgICAn
IjxhYnNvbHV0ZT4iJzogICAgICAgICBzZWxmLnJvb3RfZGlyZWN0b3J5LAorICAgICAgICAgICAg
J0JVSUxUX1BST0RVQ1RTX0RJUic6ICAgc2VsZi5idWlsZF9kaXJlY3RvcnksCisgICAgICAgICAg
ICAjIEZhbGxiYWNrIGluIGVycm9yIGNhc2VzCisgICAgICAgICAgICAnPT1FUlJPUj0ke1NDTX09
PSc6ICAgICBzZWxmLnNjbV9kaXJlY3RvcnksCisgICAgICAgIH0KKyAgICAgICAgc2VsZi54Y19w
cm9qZWN0ID0gWGNvZGVQcm9qZWN0KHNlbGYuY29tbW9uLCBzZWxmLnhjX3Byb2plY3RfZmlsZSwg
c2VsZi54Y192YXJpYWJsZV90b19kaXJlY3RvcnksICJXZWJDb3JlIiwgInRlc3QtdGFyZ2V0IikK
KyAgICAgICAgc2VsZi54Y19wcm9qZWN0LnVpZF9jcmVhdGlvbl9mdW5jdGlvbiA9IFdlYktpdEZp
bGVVbml0VGVzdFNldHVwLmNyZWF0ZV9VSUQKKyAgICAgICAgc2VsZi54Y19yZWFkZXIgPSBYY29k
ZVByb2plY3RSZWFkZXIoc2VsZi54Y19wcm9qZWN0KQorICAgICAgICBzZWxmLnhjX3dyaXRlciA9
IFhjb2RlUHJvamVjdFdyaXRlcihzZWxmLnhjX3Byb2plY3QpCisgICAgICAgICMgUXQKKyAgICAg
ICAgc2VsZi5xdF9wcm9qZWN0X2ZpbGUgPSBzZWxmLmNvbW1vbi5lbnN1cmVfZmlsZShzZWxmLnVu
aXR0ZXN0X2RpcmVjdG9yeSwgIlF0LXVuc29ydGVkLnBybyIpCisgICAgICAgIHNlbGYucXRfdmFy
aWFibGVfdG9fZGlyZWN0b3J5ID0geworICAgICAgICAgICAgJyQkUFdEJzogICAgICAgICAgICAg
ICAgc2VsZi5xdF9wcm9qZWN0X2ZpbGUuZGlyZWN0b3J5LAorICAgICAgICAgICAgIyBGYWxsYmFj
ayBpbiBlcnJvciBjYXNlcworICAgICAgICAgICAgJz09RVJST1I9JHtTQ019PT0nOiAgICAgc2Vs
Zi5zY21fZGlyZWN0b3J5LAorICAgICAgICB9CisgICAgICAgIHNlbGYucXRfcHJvamVjdCA9IFF0
UHJvamVjdChzZWxmLmNvbW1vbiwgUXRNYWtlRmlsZShzZWxmLnF0X3Byb2plY3RfZmlsZSksIHNl
bGYucXRfdmFyaWFibGVfdG9fZGlyZWN0b3J5KQorICAgICAgICBzZWxmLnF0X3JlYWRlciA9IFF0
UHJvamVjdFJlYWRlcihzZWxmLnF0X3Byb2plY3QpCisgICAgICAgIHNlbGYucXRfd3JpdGVyID0g
UXRQcm9qZWN0V3JpdGVyKHNlbGYucXRfcHJvamVjdCkKKyAgICAgICAgIyBwbGF0Zm9ybSBtYXAK
KyAgICAgICAgc2VsZi5wbGF0Zm9ybV90b19wcm9qZWN0ID0geworICAgICAgICAgICAgQ29tbW9u
T3B0aW9ucy5QTEFURk9STV9YQ09ERTogICBzZWxmLnhjX3Byb2plY3QsCisgICAgICAgICAgICBD
b21tb25PcHRpb25zLlBMQVRGT1JNX1FUOiAgICAgIHNlbGYucXRfcHJvamVjdCwKKyAgICAgICAg
fQorICAgICAgICBzZWxmLnBsYXRmb3JtX3RvX3Byb2plY3RfcmVhZGVyID0geworICAgICAgICAg
ICAgQ29tbW9uT3B0aW9ucy5QTEFURk9STV9YQ09ERTogICBzZWxmLnhjX3JlYWRlciwKKyAgICAg
ICAgICAgIENvbW1vbk9wdGlvbnMuUExBVEZPUk1fUVQ6ICAgICAgc2VsZi5xdF9yZWFkZXIsCisg
ICAgICAgIH0KKyAgICAgICAgc2VsZi5wbGF0Zm9ybV90b19wcm9qZWN0X3dyaXRlciA9IHsKKyAg
ICAgICAgICAgIENvbW1vbk9wdGlvbnMuUExBVEZPUk1fWENPREU6ICAgc2VsZi54Y193cml0ZXIs
CisgICAgICAgICAgICBDb21tb25PcHRpb25zLlBMQVRGT1JNX1FUOiAgICAgIHNlbGYucXRfd3Jp
dGVyLAorICAgICAgICB9CisKKyAgICBkZWYgd3JpdGVfcHJvamVjdF9maWxlcyhzZWxmKToKKyAg
ICAgICAgZm9yIChwbGF0Zm9ybV9pZCwgd3JpdGVyKSBpbiBzZWxmLnBsYXRmb3JtX3RvX3Byb2pl
Y3Rfd3JpdGVyLml0ZW1zKCk6CisgICAgICAgICAgICB3cml0ZXIud3JpdGUoVU5JVFRFU1RfT1VU
UFVUX1RFTVBMQVRFICUgKHNlbGYuZmlsZV9wcmVmaXgsIHBsYXRmb3JtX2lkKSkKKworCitjbGFz
cyBXZWJLaXRGaWxlVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CisgICAgZGVmIHNldFVwKHNlbGYp
OgorICAgICAgICBzZWxmLnNldHVwID0gV2ViS2l0RmlsZVVuaXRUZXN0U2V0dXAoKQorCisgICAg
ZGVmIHRlYXJEb3duKHNlbGYpOgorICAgICAgICBmb3IgcGxhdGZvcm1faWQgaW4gc2VsZi5zZXR1
cC5wbGF0Zm9ybV90b19wcm9qZWN0LmtleXMoKToKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAg
ICAgICAgICBzZWxmLnNldHVwLmNvbW1vbi5maWxlc3lzdGVtLnJlbW92ZShVTklUVEVTVF9PVVRQ
VVRfVEVNUExBVEUgJSAoc2VsZi5zZXR1cC5maWxlX3ByZWZpeCwgcGxhdGZvcm1faWQpKQorICAg
ICAgICAgICAgZXhjZXB0IE9TRXJyb3I6CisgICAgICAgICAgICAgICAgcGFzcworCisgICAgZGVm
IHRlc3Rfc29ydChzZWxmKToKKyAgICAgICAgc2VsZi5zZXR1cC5maWxlX3ByZWZpeCA9ICJzb3J0
IgorICAgICAgICB3ZWJraXRfZmlsZSA9IFdlYktpdEZpbGUoc2VsZi5zZXR1cCwgWyJzb3J0Il0p
CisgICAgICAgIHdlYmtpdF9maWxlLmV4ZWN1dGVfY29tbWFuZF9saW5lKCkKKyAgICAgICAgc2Vs
Zi5hc3NlcnRUcnVlKGZpbGVjbXAuY21wKFVOSVRURVNUX09VVFBVVF9URU1QTEFURSAlIChzZWxm
LnNldHVwLmZpbGVfcHJlZml4LCBDb21tb25PcHRpb25zLlBMQVRGT1JNX1hDT0RFKSwgVU5JVFRF
U1RfRElSRUNUT1JZX1JFTFBBVEggKyAiL1hjb2RlLXNvcnQucGJ4cHJvaiIsIHNoYWxsb3c9RmFs
c2UpKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoZmlsZWNtcC5jbXAoVU5JVFRFU1RfT1VUUFVU
X1RFTVBMQVRFICUgKHNlbGYuc2V0dXAuZmlsZV9wcmVmaXgsIENvbW1vbk9wdGlvbnMuUExBVEZP
Uk1fUVQpLCBVTklUVEVTVF9ESVJFQ1RPUllfUkVMUEFUSCArICIvUXQtc29ydC5wcm8iLCBzaGFs
bG93PUZhbHNlKSkKKworICAgIGRlZiB0ZXN0X2FkZF9maWxlKHNlbGYpOgorICAgICAgICBzZWxm
LnNldHVwLmZpbGVfcHJlZml4ID0gImFkZCIKKyAgICAgICAgd2Via2l0X2ZpbGUgPSBXZWJLaXRG
aWxlKHNlbGYuc2V0dXAsIFsiYWRkIiwgVU5JVFRFU1RfRElSRUNUT1JZX1JFTFBBVEggKyAiL3Rl
c3QtcHJvamVjdC9zdWJmb2xkZXIvZGVlcGx5L25lc3RlZC9maWxlLmgiXSkKKyAgICAgICAgd2Vi
a2l0X2ZpbGUuZXhlY3V0ZV9jb21tYW5kX2xpbmUoKQorICAgICAgICBzZWxmLmFzc2VydFRydWUo
ZmlsZWNtcC5jbXAoVU5JVFRFU1RfT1VUUFVUX1RFTVBMQVRFICUgKHNlbGYuc2V0dXAuZmlsZV9w
cmVmaXgsIENvbW1vbk9wdGlvbnMuUExBVEZPUk1fWENPREUpLCBVTklUVEVTVF9ESVJFQ1RPUllf
UkVMUEFUSCArICIvWGNvZGUtYWRkLWZpbGUucGJ4cHJvaiIsIHNoYWxsb3c9RmFsc2UpKQorICAg
ICAgICBzZWxmLmFzc2VydFRydWUoZmlsZWNtcC5jbXAoVU5JVFRFU1RfT1VUUFVUX1RFTVBMQVRF
ICUgKHNlbGYuc2V0dXAuZmlsZV9wcmVmaXgsIENvbW1vbk9wdGlvbnMuUExBVEZPUk1fUVQpLCBV
TklUVEVTVF9ESVJFQ1RPUllfUkVMUEFUSCArICIvUXQtYWRkLWZpbGUucHJvIiwgc2hhbGxvdz1G
YWxzZSkpCisKKworaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKKyAgICB1bml0dGVzdC5tYWlu
KCkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>134788</attachid>
            <date>2012-03-30 05:11:51 -0700</date>
            <delta_ts>2012-04-02 08:01:08 -0700</delta_ts>
            <desc>patch, requires 64149, 61773 and 82595</desc>
            <filename>webkit-file-CL.patch</filename>
            <type>text/plain</type>
            <size>107275</size>
            <attacher name="Roland Steiner">rolandsteiner</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAwNTlk
ZWNhLi45YzQzOTFlIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsOTAgQEAKKzIwMTItMDMtMzAgIFJvbGFuZCBTdGVpbmVyICA8cm9s
YW5kc3RlaW5lckBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgd2Via2l0LWZpbGUgdXRpbGl0eSBu
ZWVkcyBhIGNvbW1hbmQtbGluZSBpbnRlcmZhY2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTgxMzE3CisKKyAgICAgICAgQ29tbWFuZC1saW5lIHBhcnNp
bmcgY2xhc3NlcywgdGhlIG1haW4gd2Via2l0LWZpbGUgdG9vbCBmaWxlLAorICAgICAgICBhcyB3
ZWxsIGFzIHVuaXR0ZXN0cyBhbmQgdW5pdHRlc3QgZGF0YSBmaWxlcy4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0LWZpbGU6
IEFkZGVkLgorICAgICAgICAobWFpbik6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9jb21t
b24vcHJvamVjdC9jb21tYW5kLnB5OiBBZGRlZC4KKyAgICAgICAgKENvbW1vbkNvbW1hbmQpOgor
ICAgICAgICAoQ29tbW9uQ29tbWFuZC5fX2luaXRfXyk6CisgICAgICAgIChDb21tb25Db21tYW5k
LnBhcnNlX2NvbW1hbmQpOgorICAgICAgICAoQ29tbW9uQ29tbWFuZC5jYW5vbmljYWxpemVfYXJn
c19maWxlX3BhdGhzKToKKyAgICAgICAgKENvbW1vbkNvbW1hbmQudmVyaWZ5KToKKyAgICAgICAg
KENvbW1vbkNvbW1hbmQuZXhlY3V0ZV9pbl9wcm9qZWN0KToKKyAgICAgICAgKENvbW1vbkNvbW1h
bmQuZXhlY3V0ZSk6CisgICAgICAgIChDb21tb25IZWxwQ29tbWFuZCk6CisgICAgICAgIChDb21t
b25IZWxwQ29tbWFuZC5fX2luaXRfXyk6CisgICAgICAgIChDb21tb25IZWxwQ29tbWFuZC52ZXJp
ZnkpOgorICAgICAgICAoQ29tbW9uSGVscENvbW1hbmQuZXhlY3V0ZSk6CisgICAgICAgIChDb21t
b25Tb3J0Q29tbWFuZCk6CisgICAgICAgIChDb21tb25Tb3J0Q29tbWFuZC5fX2luaXRfXyk6Cisg
ICAgICAgIChDb21tb25Tb3J0Q29tbWFuZC52ZXJpZnkpOgorICAgICAgICAoQ29tbW9uU29ydENv
bW1hbmQuZXhlY3V0ZV9pbl9wcm9qZWN0KToKKyAgICAgICAgKENvbW1vbkFkZEZpbGVDb21tYW5k
KToKKyAgICAgICAgKENvbW1vbkFkZEZpbGVDb21tYW5kLl9faW5pdF9fKToKKyAgICAgICAgKENv
bW1vbkFkZEZpbGVDb21tYW5kLnZlcmlmeSk6CisgICAgICAgIChDb21tb25BZGRGaWxlQ29tbWFu
ZC5leGVjdXRlX2luX3Byb2plY3QpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvY29tbW9u
L3Byb2plY3QvdW5pdHRlc3RfZmlsZXMvQ01ha2UtdW5zb3J0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBTY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9wcm9qZWN0L3VuaXR0ZXN0X2ZpbGVzL1F0LWFk
ZC1maWxlLnBybzogQWRkZWQuCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9jb21tb24vcHJv
amVjdC91bml0dGVzdF9maWxlcy9RdC1zb3J0LnBybzogQWRkZWQuCisgICAgICAgICogU2NyaXB0
cy93ZWJraXRweS9jb21tb24vcHJvamVjdC91bml0dGVzdF9maWxlcy9RdC11bnNvcnRlZC5wcmk6
IEFkZGVkLgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvY29tbW9uL3Byb2plY3QvdW5pdHRl
c3RfZmlsZXMvUXQtdW5zb3J0ZWQucHJvOiBBZGRlZC4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtp
dHB5L2NvbW1vbi9wcm9qZWN0L3VuaXR0ZXN0X2ZpbGVzL1hjb2RlLWFkZC1maWxlLnBieHByb2o6
IEFkZGVkLgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvY29tbW9uL3Byb2plY3QvdW5pdHRl
c3RfZmlsZXMvWGNvZGUtc29ydC5wYnhwcm9qOiBBZGRlZC4KKyAgICAgICAgKiBTY3JpcHRzL3dl
YmtpdHB5L2NvbW1vbi9wcm9qZWN0L3VuaXR0ZXN0X2ZpbGVzL1hjb2RlLXNvcnRlZC5wYnhwcm9q
OiBBZGRlZC4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9wcm9qZWN0L3VuaXR0
ZXN0X2ZpbGVzL1hjb2RlLXVuc29ydGVkLnBieHByb2o6IEFkZGVkLgorICAgICAgICAqIFNjcmlw
dHMvd2Via2l0cHkvY29tbW9uL3Byb2plY3QvdW5pdHRlc3RfZmlsZXMvWGNvZGUtdW5zb3J0ZWQu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajogQWRkZWQuCisgICAgICAgICogU2NyaXB0cy93ZWJr
aXRweS9jb21tb24vcHJvamVjdC91bml0dGVzdF9maWxlcy90ZXN0LXByb2plY3QvZXhpc3Rpbmct
aW4tZm9sZGVyLmNwcDogQWRkZWQuCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9jb21tb24v
cHJvamVjdC91bml0dGVzdF9maWxlcy90ZXN0LXByb2plY3QvZXhpc3RpbmctaW4tZm9sZGVyLmg6
IEFkZGVkLgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvY29tbW9uL3Byb2plY3QvdW5pdHRl
c3RfZmlsZXMvdGVzdC1wcm9qZWN0L2V4aXN0aW5nLmNwcDogQWRkZWQuCisgICAgICAgICogU2Ny
aXB0cy93ZWJraXRweS9jb21tb24vcHJvamVjdC91bml0dGVzdF9maWxlcy90ZXN0LXByb2plY3Qv
ZXhpc3RpbmcuaDogQWRkZWQuCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9jb21tb24vcHJv
amVjdC91bml0dGVzdF9maWxlcy90ZXN0LXByb2plY3Qvc3ViZm9sZGVyL2V4aXN0aW5nLWluLWRp
ci5jcHA6IEFkZGVkLgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvY29tbW9uL3Byb2plY3Qv
dW5pdHRlc3RfZmlsZXMvdGVzdC1wcm9qZWN0L3N1YmZvbGRlci9leGlzdGluZy1pbi1kaXIuaDog
QWRkZWQuCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9jb21tb24vcHJvamVjdC91bml0dGVz
dF9maWxlcy90ZXN0LXRhcmdldC1JbmZvLnBsaXN0OiBBZGRlZC4KKyAgICAgICAgKiBTY3JpcHRz
L3dlYmtpdHB5L2NvbW1vbi9wcm9qZWN0L3dlYmtpdGZpbGUucHk6IEFkZGVkLgorICAgICAgICAo
V2ViS2l0RmlsZVNldHVwKToKKyAgICAgICAgKFdlYktpdEZpbGVTZXR1cC5mb3IpOgorICAgICAg
ICAoV2ViS2l0RmlsZVNldHVwLl9faW5pdF9fKToKKyAgICAgICAgKFdlYktpdEZpbGVTZXR1cC5p
bml0aWFsaXplKToKKyAgICAgICAgKFdlYktpdEZpbGVTZXR1cC5yZWFkX3Byb2plY3RfZmlsZXMp
OgorICAgICAgICAoV2ViS2l0RmlsZVNldHVwLndyaXRlX3Byb2plY3RfZmlsZXMpOgorICAgICAg
ICAoV2ViQ29yZVNldHVwKToKKyAgICAgICAgKFdlYkNvcmVTZXR1cC5fX2luaXRfXyk6CisgICAg
ICAgIChXZWJDb3JlU2V0dXAuaW5pdGlhbGl6ZSk6CisgICAgICAgIChXZWJDb3JlRGVidWdTZXR1
cCk6CisgICAgICAgIChXZWJDb3JlRGVidWdTZXR1cC53cml0ZV9wcm9qZWN0X2ZpbGVzKToKKyAg
ICAgICAgKFdlYkNvcmVEZWJ1Z1NldHVwLmRlYnVnX3J1bik6CisgICAgICAgIChXZWJLaXRGaWxl
KToKKyAgICAgICAgKFdlYktpdEZpbGUuX19pbml0X18pOgorICAgICAgICAoV2ViS2l0RmlsZS5k
ZWJ1Zyk6CisgICAgICAgIChXZWJLaXRGaWxlLmluZm8pOgorICAgICAgICAoV2ViS2l0RmlsZS53
YXJuaW5nKToKKyAgICAgICAgKFdlYktpdEZpbGUuZXJyb3IpOgorICAgICAgICAoV2ViS2l0Rmls
ZS52ZXJpZnkpOgorICAgICAgICAoV2ViS2l0RmlsZS5wYXJzZV9jb21tYW5kX2xpbmUpOgorICAg
ICAgICAoV2ViS2l0RmlsZS5pbml0aWFsaXplX3NldHVwKToKKyAgICAgICAgKFdlYktpdEZpbGUu
cmVhZF9wcm9qZWN0X2ZpbGVzKToKKyAgICAgICAgKFdlYktpdEZpbGUud3JpdGVfcHJvamVjdF9m
aWxlcyk6CisgICAgICAgIChXZWJLaXRGaWxlLmV4ZWN1dGVfY29tbWFuZHMpOgorICAgICAgICAo
V2ViS2l0RmlsZS5leGVjdXRlX2NvbW1hbmRfbGluZSk6CisgICAgICAgICogU2NyaXB0cy93ZWJr
aXRweS9jb21tb24vcHJvamVjdC93ZWJraXRmaWxlX3VuaXR0ZXN0LnB5OiBBZGRlZC4KKyAgICAg
ICAgKFdlYktpdEZpbGVVbml0VGVzdFNldHVwKToKKyAgICAgICAgKFdlYktpdEZpbGVVbml0VGVz
dFNldHVwLl9faW5pdF9fKToKKyAgICAgICAgKFdlYktpdEZpbGVVbml0VGVzdFNldHVwLmNyZWF0
ZV9VSUQpOgorICAgICAgICAoV2ViS2l0RmlsZVVuaXRUZXN0U2V0dXAuaW5pdGlhbGl6ZSk6Cisg
ICAgICAgIChXZWJLaXRGaWxlVW5pdFRlc3RTZXR1cC53cml0ZV9wcm9qZWN0X2ZpbGVzKToKKyAg
ICAgICAgKFdlYktpdEZpbGVUZXN0KToKKyAgICAgICAgKFdlYktpdEZpbGVUZXN0LnNldFVwKToK
KyAgICAgICAgKFdlYktpdEZpbGVUZXN0LnRlYXJEb3duKToKKyAgICAgICAgKFdlYktpdEZpbGVU
ZXN0LnRlc3Rfc29ydCk6CisgICAgICAgIChXZWJLaXRGaWxlVGVzdC50ZXN0X2FkZF9maWxlKToK
KwogMjAxMi0wMy0yOSAgVmluZWV0IENoYXVkaGFyeSAgPHJnZjc0OEBtb3Rvcm9sYS5jb20+CiAK
ICAgICAgICAgUmVtb3ZlIGN1c3RvbSBiaW5kaW5ncyBmb3JtIEludGVybmFscy5pZGwgb2YgYXR0
cmlidXRlIHR5cGUgQXJyYXkuCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2Nv
bW1vbi9wcm9qZWN0L2NvbW1vbi5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3By
b2plY3QvY29tbW9uLnB5CmluZGV4IGM2ZjYwNDcuLmU2ODNkYjggMTAwNjQ0Ci0tLSBhL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3Byb2plY3QvY29tbW9uLnB5CisrKyBiL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvY29tbW9uL3Byb2plY3QvY29tbW9uLnB5CkBAIC0yNywxMiArMjcsMTMg
QEAKICMgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCiAjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAKK2ltcG9ydCBzeXMKKwogZnJvbSB3
ZWJraXRweS5jb21tb24uY2hlY2tvdXQuc2NtLmRldGVjdGlvbiBpbXBvcnQgU0NNRGV0ZWN0b3IK
IGZyb20gd2Via2l0cHkuY29tbW9uLnByb2plY3Qub3B0aW9ucyBpbXBvcnQgKgogZnJvbSB3ZWJr
aXRweS5jb21tb24uc3lzdGVtLmZpbGVzeXN0ZW0gaW1wb3J0IEZpbGVTeXN0ZW0KIGZyb20gd2Vi
a2l0cHkuY29tbW9uLnN5c3RlbS5leGVjdXRpdmUgaW1wb3J0IEV4ZWN1dGl2ZQogCi1pbXBvcnQg
c3lzCiAKICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIApA
QCAtMjMwLDcgKzIzMSw3IEBAIGNsYXNzIENvbW1vblNDTURpcmVjdG9yeShDb21tb25EaXJlY3Rv
cnkpOgogICAgICAgICByZXR1cm4gVHJ1ZQogCiAgICAgZGVmIF9kZXNjcGF0aF93aXRoX3NlcChz
ZWxmLCBzZXApOgotICAgICAgICByZXR1cm4gc2VsZi5uYW1lCisgICAgICAgIHJldHVybiBzZWxm
Lm5hbWUgKyBzZXAKIAogCiBjbGFzcyBDb21tb25CYXNlRGlyZWN0b3J5KENvbW1vbkRpcmVjdG9y
eSk6CkBAIC00MjcsNyArNDI4LDcgQEAgY2xhc3MgQ29tbW9uSW5mbyhvYmplY3QpOgogICAgICAg
ICBhc3NlcnQgaXNpbnN0YW5jZShiYXNlX2RpcmVjdG9yeSwgQ29tbW9uRGlyZWN0b3J5KQogICAg
ICAgICBpZiBub3QgcmVscGF0aDoKICAgICAgICAgICAgIHJldHVybiBiYXNlX2RpcmVjdG9yeQot
ICAgICAgICBzZXAgPSBzZXAgb3IgJy8nCisgICAgICAgIHNlcCA9IHNlcCBvciBzZWxmLmZpbGVz
eXN0ZW0uc2VwCiAgICAgICAgIHZhcmlhYmxlX3RvX2RpcmVjdG9yeSA9IHZhcmlhYmxlX3RvX2Rp
cmVjdG9yeSBvciB7fQogICAgICAgICBpZiByZWxwYXRoLnN0YXJ0c3dpdGgoc2VwKToKICAgICAg
ICAgICAgIGJhc2VfZGlyZWN0b3J5ID0gc2VsZi5yb290X2RpcmVjdG9yeQpAQCAtNDY4LDcgKzQ2
OSw3IEBAIGNsYXNzIENvbW1vbkluZm8ob2JqZWN0KToKICAgICAgICAgYXNzZXJ0IGJhc2VfZGly
ZWN0b3J5CiAgICAgICAgIGFzc2VydCBpc2luc3RhbmNlKGJhc2VfZGlyZWN0b3J5LCBDb21tb25E
aXJlY3RvcnkpCiAgICAgICAgIGFzc2VydCByZWxwYXRoCi0gICAgICAgIHNlcCA9IHNlcCBvciAn
LycKKyAgICAgICAgc2VwID0gc2VwIG9yIHNlbGYuZmlsZXN5c3RlbS5zZXAKICAgICAgICAgZGly
ZWN0b3J5X25hbWVzLCBzZXBhcmF0b3IsIGZpbGVfbmFtZSA9IHJlbHBhdGgucnBhcnRpdGlvbihz
ZXApCiAgICAgICAgIGlmIHNlcGFyYXRvcjoKICAgICAgICAgICAgIGlmIGRpcmVjdG9yeV9uYW1l
czoKQEAgLTUxMyw3ICs1MTQsNyBAQCBjbGFzcyBDb21tb25JbmZvKG9iamVjdCk6CiAgICAgICAg
ICcnJwogICAgICAgICBhc3NlcnQgZGlyZWN0b3J5CiAgICAgICAgIGFzc2VydCBpc2luc3RhbmNl
KGRpcmVjdG9yeSwgQ29tbW9uRGlyZWN0b3J5KQotICAgICAgICBzZXAgPSBzZXAgb3IgJy8nCisg
ICAgICAgIHNlcCA9IHNlcCBvciBzZWxmLmZpbGVzeXN0ZW0uc2VwCiAgICAgICAgIGRpcmVjdG9y
eV90b192YXJpYWJsZSA9IGRpcmVjdG9yeV90b192YXJpYWJsZSBvciB7fQogICAgICAgICBpZiBk
aXJlY3RvcnkgaXMgc2VsZi5yb290X2RpcmVjdG9yeSBhbmQgZGlyZWN0b3J5IG5vdCBpbiBkaXJl
Y3RvcnlfdG9fdmFyaWFibGU6CiAgICAgICAgICAgICByZXR1cm4gc2VwCkBAIC01MzAsNyArNTMx
LDcgQEAgY2xhc3MgQ29tbW9uSW5mbyhvYmplY3QpOgogICAgICAgICBhc3NlcnQgaXNpbnN0YW5j
ZShkaXJlY3RvcnksIENvbW1vbkRpcmVjdG9yeSkKICAgICAgICAgaWYgYmFzZV9kaXJlY3Rvcnkg
PT0gZGlyZWN0b3J5OgogICAgICAgICAgICAgcmV0dXJuICcuJwotICAgICAgICBzZXAgPSBzZXAg
b3IgJy8nCisgICAgICAgIHNlcCA9IHNlcCBvciBzZWxmLmZpbGVzeXN0ZW0uc2VwCiAgICAgICAg
IGRpcmVjdG9yeV9saXN0MSA9IGJhc2VfZGlyZWN0b3J5LmRpcmVjdG9yeV9saXN0KCkKICAgICAg
ICAgZGlyZWN0b3J5X2xpc3QyID0gZGlyZWN0b3J5LmRpcmVjdG9yeV9saXN0KCkKICAgICAgICAg
YXNzZXJ0IGRpcmVjdG9yeV9saXN0MQpAQCAtNTU2LDcgKzU1Nyw3IEBAIGNsYXNzIENvbW1vbklu
Zm8ob2JqZWN0KToKICAgICAgICAgJycnCiAgICAgICAgIGFzc2VydCBmaWxlCiAgICAgICAgIGFz
c2VydCBpc2luc3RhbmNlKGZpbGUsIENvbW1vbkZpbGUpCi0gICAgICAgIHNlcCA9IHNlcCBvciAn
LycKKyAgICAgICAgc2VwID0gc2VwIG9yIHNlbGYuZmlsZXN5c3RlbS5zZXAKICAgICAgICAgcmV0
dXJuIHNlbGYuX2RpcmVjdG9yeV9hYnNwYXRoX3ByZWZpeChmaWxlLmRpcmVjdG9yeSwgc2VwLCBk
aXJlY3RvcnlfdG9fdmFyaWFibGUgb3Ige30pICsgc2VwICsgZmlsZS5uYW1lCiAKICAgICBkZWYg
ZmlsZV9yZWxwYXRoKHNlbGYsIGJhc2VfZGlyZWN0b3J5LCBmaWxlLCBzZXA9Tm9uZSwgZGlyZWN0
b3J5X3RvX3ZhcmlhYmxlPU5vbmUsIGFsd2F5c19wcmVmaXg9RmFsc2UpOgpAQCAtNTcwLDcgKzU3
MSw3IEBAIGNsYXNzIENvbW1vbkluZm8ob2JqZWN0KToKICAgICAgICAgYXNzZXJ0IGlzaW5zdGFu
Y2UoZmlsZSwgQ29tbW9uRmlsZSkKICAgICAgICAgaWYgYmFzZV9kaXJlY3RvcnkgPT0gZmlsZS5k
aXJlY3RvcnkgYW5kIG5vdCBhbHdheXNfcHJlZml4OgogICAgICAgICAgICAgcmV0dXJuIGZpbGUu
bmFtZQotICAgICAgICBzZXAgPSBzZXAgb3IgJy8nCisgICAgICAgIHNlcCA9IHNlcCBvciBzZWxm
LmZpbGVzeXN0ZW0uc2VwCiAgICAgICAgIHJldHVybiBzZWxmLmRpcmVjdG9yeV9yZWxwYXRoKGJh
c2VfZGlyZWN0b3J5LCBmaWxlLmRpcmVjdG9yeSwgc2VwLCBkaXJlY3RvcnlfdG9fdmFyaWFibGUs
IGFsd2F5c19wcmVmaXgpICsgc2VwICsgZmlsZS5uYW1lCiAKICAgICBkZWYgZW5zdXJlX0RFRklO
RShzZWxmLCBmbGFnX25hbWUpOgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9j
b21tb24vcHJvamVjdC9vcHRpb25zLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24v
cHJvamVjdC9vcHRpb25zLnB5CmluZGV4IDU0MTE1MjUuLjhhOThiYjUgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3Byb2plY3Qvb3B0aW9ucy5weQorKysgYi9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9wcm9qZWN0L29wdGlvbnMucHkKQEAgLTE4Niw2ICsx
ODYsNiBAQCBjbGFzcyBDb21tb25PcHRpb25zKG9iamVjdCk6CiAgICAgICAgICAgICAgICAgc2Vs
Zi5fdmVyYm9zaXR5ID0gQ29tbW9uT3B0aW9ucy5WRVJCT1NJVFlfVkVSQk9TRQogICAgICAgICAg
ICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAgICBpZiBvcHRpb25fc3RyaW5nID09ICctLWRlYnVn
JyBvciBvcHRpb25fc3RyaW5nID09ICctLXZlcmJvc2l0eT1kZWJ1Zycgb3Igb3B0aW9uX3N0cmlu
ZyA9PSAnLS12ZXJib3NpdHk9Myc6Ci0gICAgICAgICAgICAgICAgc2VsZi5fdmVyYm9zaXR5ID0g
Q29tbW9uT3B0aW9ucy5WRVJCT1NJVFlfVkVSWV9WRVJCT1NFCisgICAgICAgICAgICAgICAgc2Vs
Zi5fdmVyYm9zaXR5ID0gQ29tbW9uT3B0aW9ucy5WRVJCT1NJVFlfREVCVUcKICAgICAgICAgICAg
ICAgICBjb250aW51ZQogICAgICAgICAgICAgY29tbW9uLmVycm9yKCJVbmtub3duIGNvbW1hbmQt
bGluZSBvcHRpb24gJXMhIiAlIG9wdGlvbl9zdHJpbmcpCmRpZmYgLS1naXQgYS9Ub29scy9TY3Jp
cHRzL3dlYmtpdC1maWxlIGIvVG9vbHMvU2NyaXB0cy93ZWJraXQtZmlsZQpuZXcgZmlsZSBtb2Rl
IDEwMDc1NQppbmRleCAwMDAwMDAwLi44ZThkMTQ3Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMv
U2NyaXB0cy93ZWJraXQtZmlsZQpAQCAtMCwwICsxLDQ3IEBACisjIS91c3IvYmluL2VudiBweXRo
b24KKyMgQ29weXJpZ2h0IChjKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisjIG1ldDoKKyMKKyMgICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyMgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorIyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlCisjIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyMgaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorIyBkaXN0cmlidXRp
b24uCisjICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1l
cyBvZiBpdHMKKyMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyMgdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworIyAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAor
IyBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IKKyMgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyMgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisjIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
KyMgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsCisjIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorIyBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisjIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorIworIyBUaGlzIGlzIGEgdmVyeSBzaW1wbGUgc2NyaXB0IGRl
c2lnbmVkIHRvIGNyYXdsIHRoZSBidWlsZCBkaXJlY3RvcnkKKyMgZm9yIHZpc3VhbCBzdHVkaW8g
ZXhwcmVzcyBidWlsZCBsb2dzIGFuZCBwcmludCB0aGVtIHRvIHN0ZG91dC4KKworZnJvbSB3ZWJr
aXRweS5jb21tb24ucHJvamVjdC53ZWJraXRmaWxlIGltcG9ydCAqCisKKworZGVmIG1haW4oKToK
KyAgICBpZiBsZW4oc3lzLmFyZ3YpIDwgMzoKKyAgICAgICAgcHJpbnQgIlVzYWdlOiAlcyBbPG9w
dGlvbnM+XSA8Y29tbWFuZD4gWywgPGNvbW1hbmQ+XS4uLiIgJSBzeXMuYXJndlswXQorICAgICAg
ICByZXR1cm4KKyAgICB3ZWJjb3JlX3NldHVwID0gV2ViQ29yZVNldHVwKCkKKyAgICAjd2ViY29y
ZV9zZXR1cCA9IFdlYkNvcmVEZWJ1Z1NldHVwKCkKKyAgICB3ZWJraXRfZmlsZSA9IFdlYktpdEZp
bGUod2ViY29yZV9zZXR1cCwgc3lzLmFyZ3ZbMTpdKQorICAgIHdlYmtpdF9maWxlLmV4ZWN1dGVf
Y29tbWFuZF9saW5lKCkKKworCitpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgorICAgIG1haW4o
KQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vcHJvamVjdC9jb21t
YW5kLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vcHJvamVjdC9jb21tYW5kLnB5
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU5OTM3YmEKLS0tIC9kZXYvbnVs
bAorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9wcm9qZWN0L2NvbW1hbmQucHkK
QEAgLTAsMCArMSwxNTEgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbgorIyBDb3B5cmlnaHQgKEMp
IDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisj
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUKKyMgbWV0OgorIworIyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyMgICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisj
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIKKyMgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZQorIyBkaXN0cmlidXRpb24uCisjICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworIyBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bQorIyB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLgorIworIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTCisjICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisjIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorIyBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVAorIyBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyMgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyMgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZCisjIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyMgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisjIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisK
K2ltcG9ydCBjb3B5CisKK2Zyb20gd2Via2l0cHkuY29tbW9uLnByb2plY3Qub3B0aW9ucyBpbXBv
cnQgKgorCisKK2NsYXNzIENvbW1vbkNvbW1hbmQob2JqZWN0KToKKyAgICAiIiIKKyAgICBQcm9q
ZWN0IGZpbGUgbWFuaXB1bGF0aW9uIGNvbW1hbmRzCisgICAgIiIiCisgICAgZGVmIF9faW5pdF9f
KHNlbGYsIGNvbW1hbmQsIGNvbW1vbiwgb3B0aW9ucz1Ob25lLCBhcmdzPU5vbmUpOgorICAgICAg
ICBhc3NlcnQgY29tbWFuZAorICAgICAgICBhc3NlcnQgY29tbW9uCisgICAgICAgIGFzc2VydCBu
b3Qgb3B0aW9ucyBvciBpc2luc3RhbmNlKG9wdGlvbnMsIENvbW1vbk9wdGlvbnMpCisgICAgICAg
IHNlbGYuY29tbWFuZCA9IGNvbW1hbmQKKyAgICAgICAgc2VsZi5jb21tb24gPSBjb21tb24KKyAg
ICAgICAgc2VsZi5vcHRpb25zID0gb3B0aW9ucyBvciBDb21tb25PcHRpb25zKCkKKyAgICAgICAg
c2VsZi5hcmdzID0gYXJncyBvciBbXQorCisgICAgQHN0YXRpY21ldGhvZAorICAgIGRlZiBwYXJz
ZV9jb21tYW5kKGNvbW1vbiwgZ2xvYmFsX29wdGlvbnMsIGxpc3QpOgorICAgICAgICBhc3NlcnQg
Z2xvYmFsX29wdGlvbnMKKyAgICAgICAgYXNzZXJ0IGlzaW5zdGFuY2UoZ2xvYmFsX29wdGlvbnMs
IENvbW1vbk9wdGlvbnMpCisgICAgICAgIGlmIG5vdCBsaXN0OgorICAgICAgICAgICAgcmFpc2Ug
RXhjZXB0aW9uKCJDb21tYW5kIGV4cGVjdGVkISIpCisgICAgICAgIGNvbW1hbmRfbmFtZSA9IGxp
c3QucG9wKDApCisgICAgICAgIGlmIGNvbW1hbmRfbmFtZSA9PSAiaGVscCI6CisgICAgICAgICAg
ICBjb21tYW5kID0gQ29tbW9uSGVscENvbW1hbmQoY29tbWFuZF9uYW1lLCBjb21tb24sIGNvcHku
Y29weShnbG9iYWxfb3B0aW9ucykpCisgICAgICAgIGlmIGNvbW1hbmRfbmFtZSA9PSAic29ydCI6
CisgICAgICAgICAgICBjb21tYW5kID0gQ29tbW9uU29ydENvbW1hbmQoY29tbWFuZF9uYW1lLCBj
b21tb24sIGNvcHkuY29weShnbG9iYWxfb3B0aW9ucykpCisgICAgICAgIGVsaWYgY29tbWFuZF9u
YW1lID09ICJhZGQiOgorICAgICAgICAgICAgY29tbWFuZCA9IENvbW1vbkFkZEZpbGVDb21tYW5k
KGNvbW1hbmRfbmFtZSwgY29tbW9uLCBjb3B5LmNvcHkoZ2xvYmFsX29wdGlvbnMpKQorICAgICAg
ICBlbHNlOgorICAgICAgICAgICAgY29tbW9uLmVycm9yKCJVbmtub3duIENvbW1hbmQgJyVzJyEi
ICUgY29tbWFuZF9uYW1lKQorICAgICAgICBjb21tYW5kLm9wdGlvbnMucGFyc2UoY29tbW9uLCBs
aXN0KQorICAgICAgICB3aGlsZSBsaXN0IGFuZCBsaXN0WzBdICE9ICcsJzoKKyAgICAgICAgICAg
IGNvbW1hbmQuYXJncy5hcHBlbmQobGlzdC5wb3AoMCkpCisgICAgICAgIGNvbW1hbmQudmVyaWZ5
KCkKKyAgICAgICAgcmV0dXJuIGNvbW1hbmQKKworICAgIGRlZiBjYW5vbmljYWxpemVfYXJnc19m
aWxlX3BhdGhzKHNlbGYpOgorICAgICAgICAjIENhbm9uaWNhbGl6ZSByZWxhdGl2ZSBmaWxlIHBh
dGhzIHRvIG9yaWdpbmF0ZSBmcm9tIHRoZSBTQ00gY2hlY2tvdXQgcm9vdC4KKyAgICAgICAgYXJn
cyA9IHNlbGYuYXJnc1s6XQorICAgICAgICBzZWxmLmFyZ3MgPSBbXQorICAgICAgICBmb3IgZmls
ZV9wYXRoIGluIGFyZ3M6CisgICAgICAgICAgICBpZiAnICcgaW4gZmlsZV9wYXRoOgorICAgICAg
ICAgICAgICAgIHNlbGYuY29tbW9uLndhcm5pbmcoIlJlcGxhY2luZyBzcGFjZXMgJyAnIHdpdGgg
dW5kZXJzY29yZXMgJ18nIGluIGZpbGUgJXMhIiAlIGZpbGVfcGF0aCkKKyAgICAgICAgICAgICAg
ICBmaWxlX3BhdGggPSBmaWxlX3BhdGgucmVwbGFjZSgnICcsICdfJykKKyAgICAgICAgICAgIGlm
IG5vdCBmaWxlX3BhdGg6CisgICAgICAgICAgICAgICAgc2VsZi5jb21tb24ud2FybmluZygiJyVz
JzogZGlzY2FyZGluZyBlbXB0eSBhcmd1bWVudCIgJSBzZWxmLmNvbW1hbmQpCisgICAgICAgICAg
ICAgICAgY29udGludWUKKyAgICAgICAgICAgIGlmIHNlbGYuY29tbW9uLmZpbGVzeXN0ZW0uaXNh
YnMoZmlsZV9wYXRoKSBvciBmaWxlX3BhdGhbMF0gPT0gJyQnOgorICAgICAgICAgICAgICAgICMg
QWJzb2x1dGUgcGF0aCBvciBwYXRoIHN0YXJ0aW5nIGZyb20gYSB2YXJpYWJsZSAtPiB1c2UgYXMg
aXMuCisgICAgICAgICAgICAgICAgc2VsZi5hcmdzLmFwcGVuZChmaWxlX3BhdGgpCisgICAgICAg
ICAgICAgICAgY29udGludWUKKyAgICAgICAgICAgIGFic3BhdGggPSBzZWxmLmNvbW1vbi5maWxl
c3lzdGVtLmFic3BhdGgoZmlsZV9wYXRoKQorICAgICAgICAgICAgcmVscGF0aCA9IHNlbGYuY29t
bW9uLmZpbGVzeXN0ZW0ucmVscGF0aChmaWxlX3BhdGgsIHNlbGYuY29tbW9uLnNjbV9hYnNwYXRo
KQorICAgICAgICAgICAgc2VsZi5hcmdzLmFwcGVuZChyZWxwYXRoKQorCisgICAgZGVmIHZlcmlm
eShzZWxmKToKKyAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcigic3ViY2xhc3NlcyBt
dXN0IGltcGxlbWVudCIpCisKKyAgICBkZWYgZXhlY3V0ZV9pbl9wcm9qZWN0KHNlbGYsIHByb2pl
Y3QpOgorICAgICAgICByYWlzZSBOb3RJbXBsZW1lbnRlZEVycm9yKCJzdWJjbGFzc2VzIG11c3Qg
aW1wbGVtZW50IikKKworICAgIGRlZiBleGVjdXRlKHNlbGYsIHBsYXRmb3JtX3RvX3Byb2plY3Qp
OgorICAgICAgICBmb3IgKHBsYXRmb3JtLCBwcm9qZWN0KSBpbiBwbGF0Zm9ybV90b19wcm9qZWN0
Lml0ZW1zKCk6CisgICAgICAgICAgICBpZiBzZWxmLm9wdGlvbnMuaXNfcGxhdGZvcm1fZW5hYmxl
ZChwbGF0Zm9ybSk6CisgICAgICAgICAgICAgICAgc2VsZi5leGVjdXRlX2luX3Byb2plY3QocHJv
amVjdCkKKworCisjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
CisKK2NsYXNzIENvbW1vbkhlbHBDb21tYW5kKENvbW1vbkNvbW1hbmQpOgorICAgICIiIgorICAg
ICdzb3J0JyBjb21tYW5kCisgICAgIiIiCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGNvbW1hbmQs
IGNvbW1vbiwgb3B0aW9ucz1Ob25lLCBhcmdzPU5vbmUpOgorICAgICAgICBDb21tb25Db21tYW5k
Ll9faW5pdF9fKHNlbGYsIGNvbW1hbmQsIGNvbW1vbiwgb3B0aW9ucywgYXJncykKKworICAgIGRl
ZiB2ZXJpZnkoc2VsZik6CisgICAgICAgIHBhc3MKKworICAgIGRlZiBleGVjdXRlKHNlbGYsIHBs
YXRmb3JtX3RvX3Byb2plY3QpOgorICAgICAgICAjCisgICAgICAgICMgVE9ETzogb3V0cHV0IGhl
bHAsIHNwZWNpZmljIHRvIGFyZ3VtZW50cyAoaWYgYW55KSwgb3IgZ2VuZXJhbAorICAgICAgICAj
CisgICAgICAgIHBhc3MKKworCisjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09CisKK2NsYXNzIENvbW1vblNvcnRDb21tYW5kKENvbW1vbkNvbW1hbmQpOgorICAg
ICIiIgorICAgICdzb3J0JyBjb21tYW5kCisgICAgIiIiCisgICAgZGVmIF9faW5pdF9fKHNlbGYs
IGNvbW1hbmQsIGNvbW1vbiwgb3B0aW9ucz1Ob25lLCBhcmdzPU5vbmUpOgorICAgICAgICBDb21t
b25Db21tYW5kLl9faW5pdF9fKHNlbGYsIGNvbW1hbmQsIGNvbW1vbiwgb3B0aW9ucywgYXJncykK
KworICAgIGRlZiB2ZXJpZnkoc2VsZik6CisgICAgICAgIHNlbGYuY29tbW9uLnZlcmlmeShub3Qg
c2VsZi5hcmdzLCAiJ3NvcnQnIGNvbW1hbmQgZG9lcyBub3QgdGFrZSBhcmd1bWVudHMhIikKKwor
ICAgIGRlZiBleGVjdXRlX2luX3Byb2plY3Qoc2VsZiwgcHJvamVjdCk6CisgICAgICAgIHBhc3MK
KworCisjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKK2Ns
YXNzIENvbW1vbkFkZEZpbGVDb21tYW5kKENvbW1vbkNvbW1hbmQpOgorICAgICIiIgorICAgICdh
ZGQnIGNvbW1hbmQKKyAgICAiIiIKKyAgICBkZWYgX19pbml0X18oc2VsZiwgY29tbWFuZCwgY29t
bW9uLCBvcHRpb25zPU5vbmUsIGFyZ3M9Tm9uZSk6CisgICAgICAgIENvbW1vbkNvbW1hbmQuX19p
bml0X18oc2VsZiwgY29tbWFuZCwgY29tbW9uLCBvcHRpb25zLCBhcmdzKQorCisgICAgZGVmIHZl
cmlmeShzZWxmKToKKyAgICAgICAgc2VsZi5jYW5vbmljYWxpemVfYXJnc19maWxlX3BhdGhzKCkK
KyAgICAgICAgc2VsZi5jb21tb24udmVyaWZ5KHNlbGYuYXJncywgIidhZGQnIGNvbW1hbmQgcmVx
dWlyZXMgYXQgbGVhc3QgMSBmaWxlIHBhdGggYXJndW1lbnQhIikKKworICAgIGRlZiBleGVjdXRl
X2luX3Byb2plY3Qoc2VsZiwgcHJvamVjdCk6CisgICAgICAgIGZvciBmaWxlX3BhdGggaW4gc2Vs
Zi5hcmdzOgorICAgICAgICAgICAgZmlsZSA9IHNlbGYuY29tbW9uLmVuc3VyZV9maWxlX3BhdGgo
c2VsZi5jb21tb24uc2NtX2RpcmVjdG9yeSwgZmlsZV9wYXRoKQorICAgICAgICAgICAgcHJvamVj
dC5hZGRfZmlsZShmaWxlKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21t
b24vcHJvamVjdC91bml0dGVzdF9maWxlcy9DTWFrZS11bnNvcnRlZC50eHQgYi9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L2NvbW1vbi9wcm9qZWN0L3VuaXR0ZXN0X2ZpbGVzL0NNYWtlLXVuc29ydGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYjk1NGM0Ci0tLSAvZGV2
L251bGwKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vcHJvamVjdC91bml0dGVz
dF9maWxlcy9DTWFrZS11bnNvcnRlZC50eHQKQEAgLTAsMCArMSwxMDcgQEAKK1NFVChXZWJDb3Jl
X0lOQ0xVREVfRElSRUNUT1JJRVMKKyAgICAiJHtXRUJDT1JFX0RJUn0iCisgICAgIiR7V0VCQ09S
RV9ESVJ9L2FhYSIKKyAgICAiJHtXRUJDT1JFX0RJUn0vYmJiIgorICAgICIke1dFQkNPUkVfRElS
fS9iYmIveXl5IgorICAgICIke1dFQkNPUkVfRElSfS9iYmIvenp6IgorICAgICIke1dFQkNPUkVf
RElSfS9jY2MiCisgICAgIiR7V0VCQ09SRV9ESVJ9L2RkZCIKKykKKworU0VUKFdlYkNvcmVfSURM
X0ZJTEVTCisgICAgY2NjL0NoYW90aWMuaWRsCisgICAgY2NjL0NsaW1hY3RpYy5pZGwKKyAgICBj
Y2MvQ29ycm9zaXZlLmlkbAorICAgIGRkZC9EYXN0YXJkbHkuaWRsCisgICAgZGRkL0RpbWVuc2lv
bmFsLmlkbAorKQorCitTRVQoV2ViQ29yZV9TT1VSQ0VTCisgICAgYWFhL0FsbGFraGF6YW0uY3Bw
CisgICAgYWFhL0FicmFjYWRhYnJhLmNwcAorICAgIGFhYS9BbXBoaXRoZWF0cmUuY3BwCisgICAg
YWFhL0FtcGhpYmlvdXMuY3BwCisgICAgYWFhL0FtYmlkZXh0cm91cy5jcHAKKworICAgIGJiYi9C
ZWxsaWdlcmVudC5jcHAKKyAgICBiYmIvQnJ1dGUuY3BwCisgICAgYmJiL3p6ei9aYXJhdGh1c3Ry
YS5jcHApCisgICAgICAgICAgICAKK0lGIChVU0VfcmFtamV0KQorICAgIExJU1QoQVBQRU5EIFdl
YkNvcmVfU09VUkNFUworICAgICAgICBiYmIvQm9yZGVyaW5nLmNwcAorICAgICAgICBiYmIvQmVm
dWRkbGVkLmNwcAorICAgICAgICBiYmIvenp6L1plcGh5ci5jcHAKKyAgICAgICAgY2NjL0NhZXNh
ci5jcHAKKyAgICAgICAgY2NjL0Nocm9tYXRpYy5jcHAKKyAgICAgICAgY2NjL0NsYW5kZXN0aW5l
LmNwcAorRUxTRSAoKQorICAgIExJU1QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUworICAgICAgICBi
YmIvenp6L1plYnJhLmNwcAorICAgICAgICBiYmIvenp6L1pvbmUuY3BwCitFTkRJRiAoKQorCitM
SVNUKEFQUEVORCBXZWJDb3JlX1NPVVJDRVMKKyAgICBjY2MvQ2hhb3RpYy5jcHAKKyAgICBjY2Mv
Q2lyY3VtdmVudGlvbi5jcHAKKyAgICBjY2MvQ2h1dHpwYWguY3BwCisgICAgY2NjL0NlbGxvcGhh
bmUuY3BwCisKK1NFVChXZWJDb3JlX0hFQURFUlMKKyAgICBhYWEvQWxsYWthemhhbS5oCisgICAg
YWFhL0FicmFjYWRhYnJhLmgKKyAgICBhYWEvQW1waGl0aGVhdHJlLmgKKyAgICBhYWEvQW1waGli
aW91cy5oCisgICAgYWFhL0FtYmlkZXh0cm91cy5oCisgICAgYWFhL0FyY2hpbmcuaAorCitJRiAo
VVNFX3JhbWpldCkKKyAgICBMSVNUKEFQUEVORCBXZWJDb3JlX0hFQURFUlMKKyAgICAgICAgYmJi
L0JvcmRlcmluZy5oCisgICAgICAgIGJiYi9CZWZ1ZGRsZWQuaAorICAgICAgICBiYmIvenp6L1pl
cGh5ci5oCisgICAgICAgIGJiYi9CZXNwb2tlLmgKKyAgICAgICAgYmJiL0JsaWdodGVkLmgKK0VM
U0UgKCkKKyAgICBMSVNUKEFQUEVORCBXZWJDb3JlX0hFQURFUlMKKyAgICAgICAgYmJiL3p6ei9a
ZWJyYS5oCisgICAgICAgIGJiYi96enovWm9uZS5oCisgICAgICAgIGJiYi95eXkvWWFua2luZy5o
CisgICAgICAgIGJiYi95eXkvWW9kZWxpbmcuaAorRU5ESUYgKCkKKworTElTVChBUFBFTkQgV2Vi
Q29yZV9IRUFERVJTCisgICAgY2NjL0NhdGhhcnRpYy5oCisgICAgY2NjL0NoYW90aWMuaAorICAg
IGNjYy9DaXJjdW12ZW50aW9uLmgKKyAgICBjY2MvQ2ljYWRlLmgKKyAgICBjY2MvQ2h1dHpwYWgu
aAorICAgIGNjYy9DZWxsb3BoYW5lLmgKKworSUYgKEVOQUJMRV9FTkFCTElORz0xKQorICAgIExJ
U1QoQVBQRU5EIFdlYkNvcmVfSEVBREVSUworICAgICAgICBkZGQvRGVsdXNpb25hbC5oCisKKyAg
ICBMSVNUKEFQUEVORCBXZWJDb3JlX1NPVVJDRVMKKyAgICAgICAgZGRkL0RhZmZ5LmNwcAorICAg
ICAgICBkZGQvRGVsdXNpb25hbC5jcHAKKyAgICAgICAgZGRkL0RlbGlyaW91cy5jcHAKKyAgICAg
ICAgZGRkL0Rhc3RhcmRseS5jcHAKK0VORElGICgpCisKKyMgR2VuZXJpYyBjb21tYW5kcyBsaXN0
LCBzb21lIGV4dGVuZCBXZWJDb3JlX1NPVVJDRVMgd2l0aCBhIHBhdGggdGhhdCBjb250YWlucyBh
IHZhcmlhYmxlLgorR0VORVJBVEVfRE9NX05BTUVTKFhNTCAke1dFQkNPUkVfRElSfS94bWwveG1s
YXR0cnMuaW4pCitMSVNUKEFQUEVORCBXZWJDb3JlX1NPVVJDRVMgJHtERVJJVkVEX1NPVVJDRVNf
V0VCQ09SRV9ESVJ9L1hNTE5hbWVzLmNwcCkKKworQUREX0NVU1RPTV9DT01NQU5EKAorICAgIE9V
VFBVVCAke0RFUklWRURfU09VUkNFU19XRUJDT1JFX0RJUn0vV2ViS2l0VmVyc2lvbi5oCisgICAg
TUFJTl9ERVBFTkRFTkNZICR7V0VCS0lUX0RJUn0vc2NyaXB0cy9nZW5lcmF0ZS13ZWJraXR2ZXJz
aW9uLnBsCisgICAgREVQRU5EUyAke1dFQktJVF9ESVJ9L21hYy9Db25maWd1cmF0aW9ucy9WZXJz
aW9uLnhjY29uZmlnCisgICAgQ09NTUFORCAke1BFUkxfRVhFQ1VUQUJMRX0gJHtXRUJLSVRfRElS
fS9zY3JpcHRzL2dlbmVyYXRlLXdlYmtpdHZlcnNpb24ucGwgLS1jb25maWcgJHtXRUJLSVRfRElS
fS9tYWMvQ29uZmlndXJhdGlvbnMvVmVyc2lvbi54Y2NvbmZpZyAtLW91dHB1dERpciAke0RFUklW
RURfU09VUkNFU19XRUJDT1JFX0RJUn0KKyAgICBWRVJCQVRJTSkKK0xJU1QoQVBQRU5EIFdlYkNv
cmVfU09VUkNFUyAke0RFUklWRURfU09VUkNFU19XRUJDT1JFX0RJUn0vV2ViS2l0VmVyc2lvbi5o
KQorCisjIER1YmlvdXMgRk9SIHRvIGNoZWNrIHRoYXQgcGFydCBvZiB0aGUgcGFyc2VyCitGT1Ig
KGV0ZXJuaXR5KQorICAgIEZJTEUoVE9fTkFUSVZFX1BBVEggJHtQRVJMX0VYRUNVVEFCTEV9IFBF
UkxfRVhFQ1VUQUJMRV9OQVRJVkVfUEFUSCkKK0VOREZPUiAoKQpkaWZmIC0tZ2l0IGEvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9jb21tb24vcHJvamVjdC91bml0dGVzdF9maWxlcy9RdC1hZGQtZmls
ZS5wcm8gYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9wcm9qZWN0L3VuaXR0ZXN0X2Zp
bGVzL1F0LWFkZC1maWxlLnBybwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43
NzgwNjUwCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24v
cHJvamVjdC91bml0dGVzdF9maWxlcy9RdC1hZGQtZmlsZS5wcm8KQEAgLTAsMCArMSw3MiBAQAor
IyBXZWJDb3JlIC0gcW1ha2UgYnVpbGQgaW5mbworU09VUkNFUyArPSBcCisgICAgYWFhL0FicmFj
YWRhYnJhLmNwcCBcCisgICAgYWFhL0FsbGFraGF6YW0uY3BwIFwKKyAgICBhYWEvQW1iaWRleHRy
b3VzLmNwcCBcCisgICAgYWFhL0FtcGhpYmlvdXMuY3BwIFwKKyAgICBhYWEvQW1waGl0aGVhdHJl
LmNwcCBcCisgICAgYmJiL3p6ei9aYXJhdGh1c3RyYS5jcHAgXAorICAgIGJiYi9CZWxsaWdlcmVu
dC5jcHAgXAorICAgIGJiYi9CcnV0ZS5jcHAgXAorICAgIGNjYy9DZWxsb3BoYW5lLmNwcCBcCisg
ICAgY2NjL0NoYW90aWMuY3BwIFwKKyAgICBjY2MvQ2h1dHpwYWguY3BwIFwKKyAgICBjY2MvQ2ly
Y3VtdmVudGlvbi5jcHAKKworcmFtamV0IHsKKyAgICBTT1VSQ0VTICs9IFwKKyAgICAgICAgYmJi
L3p6ei9aZXBoeXIuY3BwIFwKKyAgICAgICAgYmJiL0JlZnVkZGxlZC5jcHAgXAorICAgICAgICBi
YmIvQm9yZGVyaW5nLmNwcCBcCisgICAgICAgIGNjYy9DYWVzYXIuY3BwIFwKKyAgICAgICAgY2Nj
L0Nocm9tYXRpYy5jcHAgXAorICAgICAgICBjY2MvQ2xhbmRlc3RpbmUuY3BwCit9IGVsc2Ugewor
ICAgIFNPVVJDRVMgKz0gXAorICAgICAgICBiYmIvenp6L1plYnJhLmNwcCBcCisgICAgICAgIGJi
Yi96enovWm9uZS5jcHAKK30KKworSEVBREVSUyArPSBcCisgICAgYWFhL0FicmFjYWRhYnJhLmgg
XAorICAgIGFhYS9BbGxha2hhemFtLmggXAorICAgIGFhYS9BbWJpZGV4dHJvdXMuaCBcCisgICAg
YWFhL0FtcGhpYmlvdXMuaCBcCisgICAgYWFhL0FtcGhpdGhlYXRyZS5oIFwKKyAgICBhYWEvQXJj
aGluZy5oIFwKKyAgICB0ZXN0LXByb2plY3Qvc3ViZm9sZGVyL2RlZXBseS9uZXN0ZWQvZmlsZS5o
CisKK3JhbWpldCB7CisgICAgSEVBREVSUyArPSBcCisgICAgICAgIGJiYi96enovWmVwaHlyLmgg
XAorICAgICAgICBiYmIvQmVmdWRkbGVkLmggXAorICAgICAgICBiYmIvQmVzcG9rZS5oIFwKKyAg
ICAgICAgYmJiL0JsaWdodGVkLmggXAorICAgICAgICBiYmIvQm9yZGVyaW5nLmgKK30gZWxzZSB7
CisgICAgSEVBREVSUyArPSBcCisgICAgICAgIGJiYi95eXkvWWFua2luZy5oIFwKKyAgICAgICAg
YmJiL3l5eS9Zb2RlbGluZy5oIFwKKyAgICAgICAgYmJiL3p6ei9aZWJyYS5oIFwKKyAgICAgICAg
YmJiL3p6ei9ab25lLmgKK30KKworaW5jbHVkZShRdC11bnNvcnRlZC5wcmkpCisKK0hFQURFUlMg
Kz0gXAorICAgIGNjYy9DYXRoYXJ0aWMuaCBcCisgICAgY2NjL0NlbGxvcGhhbmUuaCBcCisgICAg
Y2NjL0NoYW90aWMuaCBcCisgICAgY2NjL0NodXR6cGFoLmggXAorICAgIGNjYy9DaWNhZGUuaCBc
CisgICAgY2NjL0NpcmN1bXZlbnRpb24uaAorCitjb250YWlucyhERUZJTkVTLCBFTkFCTEVfRU5B
QkxJTkc9MSkgeworICAgIEhFQURFUlMgKz0gZGRkL0RlbHVzaW9uYWwuaAorCisgICAgU09VUkNF
UyArPSBcCisgICAgICAgIGRkZC9EYWZmeS5jcHAgXAorICAgICAgICBkZGQvRGFzdGFyZGx5LmNw
cCBcCisgICAgICAgIGRkZC9EZWxpcmlvdXMuY3BwIFwKKyAgICAgICAgZGRkL0RlbHVzaW9uYWwu
Y3BwCit9CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9wcm9qZWN0
L3VuaXR0ZXN0X2ZpbGVzL1F0LXNvcnQucHJvIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21t
b24vcHJvamVjdC91bml0dGVzdF9maWxlcy9RdC1zb3J0LnBybwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwLi4wZDI0ZTY2Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9jb21tb24vcHJvamVjdC91bml0dGVzdF9maWxlcy9RdC1zb3J0LnBybwpAQCAt
MCwwICsxLDcxIEBACisjIFdlYkNvcmUgLSBxbWFrZSBidWlsZCBpbmZvCitTT1VSQ0VTICs9IFwK
KyAgICBhYWEvQWJyYWNhZGFicmEuY3BwIFwKKyAgICBhYWEvQWxsYWtoYXphbS5jcHAgXAorICAg
IGFhYS9BbWJpZGV4dHJvdXMuY3BwIFwKKyAgICBhYWEvQW1waGliaW91cy5jcHAgXAorICAgIGFh
YS9BbXBoaXRoZWF0cmUuY3BwIFwKKyAgICBiYmIvenp6L1phcmF0aHVzdHJhLmNwcCBcCisgICAg
YmJiL0JlbGxpZ2VyZW50LmNwcCBcCisgICAgYmJiL0JydXRlLmNwcCBcCisgICAgY2NjL0NlbGxv
cGhhbmUuY3BwIFwKKyAgICBjY2MvQ2hhb3RpYy5jcHAgXAorICAgIGNjYy9DaHV0enBhaC5jcHAg
XAorICAgIGNjYy9DaXJjdW12ZW50aW9uLmNwcAorCityYW1qZXQgeworICAgIFNPVVJDRVMgKz0g
XAorICAgICAgICBiYmIvenp6L1plcGh5ci5jcHAgXAorICAgICAgICBiYmIvQmVmdWRkbGVkLmNw
cCBcCisgICAgICAgIGJiYi9Cb3JkZXJpbmcuY3BwIFwKKyAgICAgICAgY2NjL0NhZXNhci5jcHAg
XAorICAgICAgICBjY2MvQ2hyb21hdGljLmNwcCBcCisgICAgICAgIGNjYy9DbGFuZGVzdGluZS5j
cHAKK30gZWxzZSB7CisgICAgU09VUkNFUyArPSBcCisgICAgICAgIGJiYi96enovWmVicmEuY3Bw
IFwKKyAgICAgICAgYmJiL3p6ei9ab25lLmNwcAorfQorCitIRUFERVJTICs9IFwKKyAgICBhYWEv
QWJyYWNhZGFicmEuaCBcCisgICAgYWFhL0FsbGFraGF6YW0uaCBcCisgICAgYWFhL0FtYmlkZXh0
cm91cy5oIFwKKyAgICBhYWEvQW1waGliaW91cy5oIFwKKyAgICBhYWEvQW1waGl0aGVhdHJlLmgg
XAorICAgIGFhYS9BcmNoaW5nLmgKKworcmFtamV0IHsKKyAgICBIRUFERVJTICs9IFwKKyAgICAg
ICAgYmJiL3p6ei9aZXBoeXIuaCBcCisgICAgICAgIGJiYi9CZWZ1ZGRsZWQuaCBcCisgICAgICAg
IGJiYi9CZXNwb2tlLmggXAorICAgICAgICBiYmIvQmxpZ2h0ZWQuaCBcCisgICAgICAgIGJiYi9C
b3JkZXJpbmcuaAorfSBlbHNlIHsKKyAgICBIRUFERVJTICs9IFwKKyAgICAgICAgYmJiL3l5eS9Z
YW5raW5nLmggXAorICAgICAgICBiYmIveXl5L1lvZGVsaW5nLmggXAorICAgICAgICBiYmIvenp6
L1plYnJhLmggXAorICAgICAgICBiYmIvenp6L1pvbmUuaAorfQorCitpbmNsdWRlKFF0LXVuc29y
dGVkLnByaSkKKworSEVBREVSUyArPSBcCisgICAgY2NjL0NhdGhhcnRpYy5oIFwKKyAgICBjY2Mv
Q2VsbG9waGFuZS5oIFwKKyAgICBjY2MvQ2hhb3RpYy5oIFwKKyAgICBjY2MvQ2h1dHpwYWguaCBc
CisgICAgY2NjL0NpY2FkZS5oIFwKKyAgICBjY2MvQ2lyY3VtdmVudGlvbi5oCisKK2NvbnRhaW5z
KERFRklORVMsIEVOQUJMRV9FTkFCTElORz0xKSB7CisgICAgSEVBREVSUyArPSBkZGQvRGVsdXNp
b25hbC5oCisKKyAgICBTT1VSQ0VTICs9IFwKKyAgICAgICAgZGRkL0RhZmZ5LmNwcCBcCisgICAg
ICAgIGRkZC9EYXN0YXJkbHkuY3BwIFwKKyAgICAgICAgZGRkL0RlbGlyaW91cy5jcHAgXAorICAg
ICAgICBkZGQvRGVsdXNpb25hbC5jcHAKK30KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvY29tbW9uL3Byb2plY3QvdW5pdHRlc3RfZmlsZXMvUXQtdW5zb3J0ZWQucHJpIGIvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vcHJvamVjdC91bml0dGVzdF9maWxlcy9RdC11bnNv
cnRlZC5wcmkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTU1NmIyNAotLS0g
L2Rldi9udWxsCisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3Byb2plY3QvdW5p
dHRlc3RfZmlsZXMvUXQtdW5zb3J0ZWQucHJpCkBAIC0wLDAgKzEsMjEgQEAKKyMgV2ViQ29yZSAt
IHFtYWtlIGJ1aWxkIGluZm8KKworU09VUkNFUyArPSBcCisgICAgdGVzdC1wcm9qZWN0L2V4aXN0
aW5nLmNwcAorCitIRUFERVJTICs9IFwKKyAgICB0ZXN0LXByb2plY3QvZXhpc3RpbmcuaAorCitj
b250YWlucyhERUZJTkVTLCBFTkFCTEVfRU5BQkxJTkc9MSkgeworICAgIFNPVVJDRVMgKz0gXAor
ICAgICAgICB0ZXN0LXByb2plY3QvZXhpc3RpbmctaW4tZm9sZGVyLmNwcAorfSBlbHNlIHsKKyAg
ICBTT1VSQ0VTICs9IFwKKyAgICAgICAgdGVzdC1wcm9qZWN0L3N1YmZvbGRlci9leGlzdGluZy1p
bi1kaXIuY3BwCisKKyAgICBIRUFERVJTICs9IFwKKyAgICAgICAgdGVzdC1wcm9qZWN0L3N1YmZv
bGRlci9leGlzdGluZy1pbi1kaXIuaAorfQorCitIRUFERVJTICs9IFwKKyAgICB0ZXN0LXByb2pl
Y3QvZXhpc3RpbmctaW4tZm9sZGVyLmgKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvY29tbW9uL3Byb2plY3QvdW5pdHRlc3RfZmlsZXMvUXQtdW5zb3J0ZWQucHJvIGIvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9jb21tb24vcHJvamVjdC91bml0dGVzdF9maWxlcy9RdC11bnNvcnRl
ZC5wcm8KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGQ4ZWZmYgotLS0gL2Rl
di9udWxsCisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3Byb2plY3QvdW5pdHRl
c3RfZmlsZXMvUXQtdW5zb3J0ZWQucHJvCkBAIC0wLDAgKzEsNzYgQEAKKyMgV2ViQ29yZSAtIHFt
YWtlIGJ1aWxkIGluZm8KK1NPVVJDRVMgKz0gXAorICAgIGFhYS9BbGxha2hhemFtLmNwcCBcCisg
ICAgYWFhL0FicmFjYWRhYnJhLmNwcCBcCisgICAgYWFhL0FtcGhpdGhlYXRyZS5jcHAgXAorICAg
IGFhYS9BbXBoaWJpb3VzLmNwcCBcCisgICAgXAorICAgIGFhYS9BbWJpZGV4dHJvdXMuY3BwIFwK
KyAgICBiYmIvQmVsbGlnZXJlbnQuY3BwIFwKKyAgICBiYmIvQnJ1dGUuY3BwIFwKKyAgICBiYmIv
enp6L1phcmF0aHVzdHJhLmNwcCBcCisgICAgICAgICAgICAKK3JhbWpldCB7CisgICAgU09VUkNF
UyArPSBcCisgICAgICAgIGJiYi9Cb3JkZXJpbmcuY3BwIFwKKyAgICAgICAgYmJiL0JlZnVkZGxl
ZC5jcHAgXAorICAgICAgICBiYmIvenp6L1plcGh5ci5jcHAgXAorICAgICAgICBjY2MvQ2Flc2Fy
LmNwcCBcCisgICAgICAgIGNjYy9DaHJvbWF0aWMuY3BwIFwKKyAgICAgICAgY2NjL0NsYW5kZXN0
aW5lLmNwcAorfSBlbHNlIHsKKyAgICBTT1VSQ0VTICs9IFwKKyAgICAgICAgYmJiL3p6ei9aZWJy
YS5jcHAgXAorICAgICAgICBiYmIvenp6L1pvbmUuY3BwCit9CisKK1NPVVJDRVMgKz0gXAorICAg
IGNjYy9DaGFvdGljLmNwcCBcCisgICAgY2NjL0NpcmN1bXZlbnRpb24uY3BwIFwKKyAgICBjY2Mv
Q2h1dHpwYWguY3BwIFwKKyAgICBjY2MvQ2VsbG9waGFuZS5jcHAKKworSEVBREVSUyArPSBcCisg
ICAgYWFhL0FsbGFraGF6YW0uaCBcCisgICAgYWFhL0FicmFjYWRhYnJhLmggXAorICAgIGFhYS9B
bXBoaXRoZWF0cmUuaCBcCisgICAgYWFhL0FtcGhpYmlvdXMuaCBcCisgICAgYWFhL0FtYmlkZXh0
cm91cy5oIFwKKyAgICBhYWEvQXJjaGluZy5oCisKK3JhbWpldCB7CisgICAgSEVBREVSUyArPSBc
CisgICAgICAgIGJiYi9Cb3JkZXJpbmcuaCBcCisgICAgICAgIGJiYi9CZWZ1ZGRsZWQuaCBcCisg
ICAgICAgIGJiYi96enovWmVwaHlyLmggXAorICAgICAgICBiYmIvQmVzcG9rZS5oIFwKKyAgICAg
ICAgYmJiL0JsaWdodGVkLmgKK30gZWxzZSB7CisgICAgSEVBREVSUyArPSBcCisgICAgICAgIGJi
Yi96enovWmVicmEuaCBcCisgICAgICAgIGJiYi96enovWm9uZS5oIFwKKyAgICAgICAgYmJiL3l5
eS9ZYW5raW5nLmggXAorICAgICAgICBiYmIveXl5L1lvZGVsaW5nLmgKK30KKworaW5jbHVkZShR
dC11bnNvcnRlZC5wcmkpCisKK0hFQURFUlMgKz0gXAorICAgIGNjYy9DYXRoYXJ0aWMuaCBcCisg
ICAgY2NjL0NoYW90aWMuaCBcCisgICAgY2NjL0NpcmN1bXZlbnRpb24uaCBcCisgICAgY2NjL0Np
Y2FkZS5oIFwKKyAgICBjY2MvQ2h1dHpwYWguaCBcCisgICAgY2NjL0NlbGxvcGhhbmUuaAorCitj
b250YWlucyhERUZJTkVTLCBFTkFCTEVfRU5BQkxJTkc9MSkgeworICAgIEhFQURFUlMgKz0gXAor
ICAgICAgICBkZGQvRGVsdXNpb25hbC5oCisKKyAgICBTT1VSQ0VTICs9IFwKKyAgICAgICAgZGRk
L0RhZmZ5LmNwcCBcCisgICAgICAgIGRkZC9EZWx1c2lvbmFsLmNwcCBcCisgICAgICAgIGRkZC9E
ZWxpcmlvdXMuY3BwIFwKKyAgICAgICAgZGRkL0Rhc3RhcmRseS5jcHAKK30KKwpkaWZmIC0tZ2l0
IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vcHJvamVjdC91bml0dGVzdF9maWxlcy9Y
Y29kZS1hZGQtZmlsZS5wYnhwcm9qIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vcHJv
amVjdC91bml0dGVzdF9maWxlcy9YY29kZS1hZGQtZmlsZS5wYnhwcm9qCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVjOTVmZDIKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9wcm9qZWN0L3VuaXR0ZXN0X2ZpbGVzL1hjb2RlLWFkZC1m
aWxlLnBieHByb2oKQEAgLTAsMCArMSwyODIgQEAKKy8vICEkKlVURjgqJCEKK3sKKwlhcmNoaXZl
VmVyc2lvbiA9IDE7CisJY2xhc3NlcyA9IHsKKwl9OworCW9iamVjdFZlcnNpb24gPSA0MjsKKwlv
YmplY3RzID0geworCisvKiBCZWdpbiBQQlhCdWlsZEZpbGUgc2VjdGlvbiAqLworCQkwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDQgLyogZmlsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzIC8qIGZpbGUuaCAqLzsg
fTsKKwkJMTQxNDUxRTExNTI1ODJGOTAwMjUwNzcxIC8qIGV4aXN0aW5nLWluLWRpci5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDE0NEZGNTE1MjU3
OUQ2MDAyNTA3NzEgLyogZXhpc3RpbmctaW4tZGlyLmNwcCAqLzsgfTsKKwkJMTQxNDUxRTIxNTI1
ODMwMTAwMjUwNzcxIC8qIGV4aXN0aW5nLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDE0MTQ0RkVDMTUyNTc5NTEwMDI1MDc3MSAvKiBleGlzdGluZy5j
cHAgKi87IH07CisJCTE0MTQ1MUU3MTUyNTgzMjQwMDI1MDc3MSAvKiBleGlzdGluZy1pbi1mb2xk
ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTQx
NDRGRjIxNTI1Nzk5NjAwMjUwNzcxIC8qIGV4aXN0aW5nLWluLWZvbGRlci5jcHAgKi87IH07CisJ
CTE0MTQ1MUU4MTUyNTgzMkEwMDI1MDc3MSAvKiBleGlzdGluZy1pbi1kaXIuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0MTQ0RkY0MTUyNTc5RDYwMDI1
MDc3MSAvKiBleGlzdGluZy1pbi1kaXIuaCAqLzsgfTsKKwkJMTQxNDUxRTkxNTI1ODMyRTAwMjUw
NzcxIC8qIGV4aXN0aW5nLWluLWZvbGRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMTQxNDRGRjExNTI1Nzk5NjAwMjUwNzcxIC8qIGV4aXN0aW5nLWlu
LWZvbGRlci5oICovOyB9OworCQkxNDE0NTFFQTE1MjU4MzMzMDAyNTA3NzEgLyogZXhpc3Rpbmcu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0MTQ0RkVC
MTUyNTc5NTEwMDI1MDc3MSAvKiBleGlzdGluZy5oICovOyB9OworLyogRW5kIFBCWEJ1aWxkRmls
ZSBzZWN0aW9uICovCisKKy8qIEJlZ2luIFBCWEZpbGVSZWZlcmVuY2Ugc2VjdGlvbiAqLworCQkw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMgLyogZmlsZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBmaWxlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTE0MTQ0RkVC
MTUyNTc5NTEwMDI1MDc3MSAvKiBleGlzdGluZy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBleGlzdGluZy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxNDE0NEZF
QzE1MjU3OTUxMDAyNTA3NzEgLyogZXhpc3RpbmcuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gZXhpc3RpbmcuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkxNDE0NEZGMTE1MjU3OTk2MDAyNTA3NzEgLyogZXhpc3RpbmctaW4tZm9sZGVyLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9ICJleGlzdGluZy1pbi1mb2xkZXIuaCI7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTE0MTQ0RkYyMTUyNTc5OTYwMDI1MDc3MSAvKiBleGlz
dGluZy1pbi1mb2xkZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
ImV4aXN0aW5nLWluLWZvbGRlci5jcHAiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkx
NDE0NEZGNDE1MjU3OUQ2MDAyNTA3NzEgLyogZXhpc3RpbmctaW4tZGlyLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9ICJleGlzdGluZy1pbi1kaXIuaCI7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTE0MTQ0RkY1MTUyNTc5RDYwMDI1MDc3MSAvKiBleGlzdGluZy1pbi1k
aXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gImV4aXN0aW5nLWlu
LWRpci5jcHAiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxNDE0NTA0QzE1MjU3RDI0
MDAyNTA3NzEgLyogdGVzdC10YXJnZXQtSW5mby5wbGlzdCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQucGxpc3QueG1sOyBwYXRoID0gInRlc3Qt
dGFyZ2V0LUluZm8ucGxpc3QiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxNDE0NTFD
QTE1MjU3RTFGMDAyNTA3NzEgLyogdGVzdC10YXJnZXQuZnJhbWV3b3JrICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGV4cGxpY2l0RmlsZVR5cGUgPSB3cmFwcGVyLmZyYW1ld29yazsgaW5j
bHVkZUluSW5kZXggPSAwOyBwYXRoID0gInRlc3QtdGFyZ2V0LmZyYW1ld29yayI7IHNvdXJjZVRy
ZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CisvKiBFbmQgUEJYRmlsZVJlZmVyZW5jZSBzZWN0
aW9uICovCisKKy8qIEJlZ2luIFBCWEZyYW1ld29ya3NCdWlsZFBoYXNlIHNlY3Rpb24gKi8KKwkJ
MTQxNDUxQzgxNTI1N0UxRjAwMjUwNzcxIC8qIEZyYW1ld29ya3MgKi8gPSB7CisJCQlpc2EgPSBQ
QlhGcmFtZXdvcmtzQnVpbGRQaGFzZTsKKwkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7
CisJCQlmaWxlcyA9ICgKKwkJCSk7CisJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNz
aW5nID0gMDsKKwkJfTsKKy8qIEVuZCBQQlhGcmFtZXdvcmtzQnVpbGRQaGFzZSBzZWN0aW9uICov
CisKKy8qIEJlZ2luIFBCWEdyb3VwIHNlY3Rpb24gKi8KKwkJMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAxIC8qIGRlZXBseSAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAo
CisJCQkJMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyIC8qIG5lc3RlZCAqLywKKwkJCSk7CisJCQlw
YXRoID0gZGVlcGx5OworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKKwkJMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAyIC8qIG5lc3RlZCAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOwor
CQkJY2hpbGRyZW4gPSAoCisJCQkJMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzIC8qIGZpbGUuaCAq
LywKKwkJCSk7CisJCQlwYXRoID0gbmVzdGVkOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsK
KwkJfTsKKwkJMTQxNDRGQ0QxNTI1NUFEODAwMjUwNzcxIC8qIHVuaXR0ZXN0ICovID0geworCQkJ
aXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQkxNDE0NTAyQzE1MjU3QUNEMDAy
NTA3NzEgLyogdGVzdC1wcm9qZWN0ICovLAorCQkJCTE0MTQ1MDRBMTUyNTdEMjQwMDI1MDc3MSAv
KiBQcm9kdWN0cyAqLywKKwkJCQkxNDE0NTA0QzE1MjU3RDI0MDAyNTA3NzEgLyogdGVzdC10YXJn
ZXQtSW5mby5wbGlzdCAqLywKKwkJCSk7CisJCQluYW1lID0gInVuaXR0ZXN0IjsKKwkJCXNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CisJCTE0MTQ0RkVEMTUyNTc5NzAwMDI1MDc3MSAvKiB0
ZXN0LXByb2plY3QgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAor
CQkJCTE0MTQ0RkYyMTUyNTc5OTYwMDI1MDc3MSAvKiBleGlzdGluZy1pbi1mb2xkZXIuY3BwICov
LAorCQkJCTE0MTQ0RkYxMTUyNTc5OTYwMDI1MDc3MSAvKiBleGlzdGluZy1pbi1mb2xkZXIuaCAq
LywKKwkJCSk7CisJCQluYW1lID0gInRlc3QtcHJvamVjdCI7CisJCQlzb3VyY2VUcmVlID0gIjxn
cm91cD4iOworCQl9OworCQkxNDE0NEZGMzE1MjU3OTlEMDAyNTA3NzEgLyogc3ViZm9sZGVyICov
ID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQkwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDEgLyogZGVlcGx5ICovLAorCQkJCTE0MTQ0RkY1MTUyNTc5RDYwMDI1MDc3
MSAvKiBleGlzdGluZy1pbi1kaXIuY3BwICovLAorCQkJCTE0MTQ0RkY0MTUyNTc5RDYwMDI1MDc3
MSAvKiBleGlzdGluZy1pbi1kaXIuaCAqLywKKwkJCSk7CisJCQlwYXRoID0gc3ViZm9sZGVyOwor
CQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKKwkJMTQxNDUwMkMxNTI1N0FDRDAwMjUw
NzcxIC8qIHRlc3QtcHJvamVjdCAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRy
ZW4gPSAoCisJCQkJMTQxNDRGRjMxNTI1Nzk5RDAwMjUwNzcxIC8qIHN1YmZvbGRlciAqLywKKwkJ
CQkxNDE0NEZFRDE1MjU3OTcwMDAyNTA3NzEgLyogdGVzdC1wcm9qZWN0ICovLAorCQkJCTE0MTQ0
RkVDMTUyNTc5NTEwMDI1MDc3MSAvKiBleGlzdGluZy5jcHAgKi8sCisJCQkJMTQxNDRGRUIxNTI1
Nzk1MTAwMjUwNzcxIC8qIGV4aXN0aW5nLmggKi8sCisJCQkpOworCQkJcGF0aCA9ICJ0ZXN0LXBy
b2plY3QiOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKKwkJMTQxNDUwNEExNTI1
N0QyNDAwMjUwNzcxIC8qIFByb2R1Y3RzICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQlj
aGlsZHJlbiA9ICgKKwkJCQkxNDE0NTFDQTE1MjU3RTFGMDAyNTA3NzEgLyogdGVzdC10YXJnZXQu
ZnJhbWV3b3JrICovLAorCQkJKTsKKwkJCW5hbWUgPSBQcm9kdWN0czsKKwkJCXNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7CisJCX07CisvKiBFbmQgUEJYR3JvdXAgc2VjdGlvbiAqLworCisvKiBCZWdp
biBQQlhIZWFkZXJzQnVpbGRQaGFzZSBzZWN0aW9uICovCisJCTE0MTQ1MUM1MTUyNTdFMUYwMDI1
MDc3MSAvKiBIZWFkZXJzICovID0geworCQkJaXNhID0gUEJYSGVhZGVyc0J1aWxkUGhhc2U7CisJ
CQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OworCQkJZmlsZXMgPSAoCisJCQkJMTQxNDUx
RTgxNTI1ODMyQTAwMjUwNzcxIC8qIGV4aXN0aW5nLWluLWRpci5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJMTQxNDUxRTkxNTI1ODMyRTAwMjUwNzcxIC8qIGV4aXN0aW5nLWluLWZvbGRlci5oIGluIEhl
YWRlcnMgKi8sCisJCQkJMTQxNDUxRUExNTI1ODMzMzAwMjUwNzcxIC8qIGV4aXN0aW5nLmggaW4g
SGVhZGVycyAqLywKKwkJCQkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQgLyogZmlsZS5oIGluIEhl
YWRlcnMgKi8sCisJCQkpOworCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9
IDA7CisJCX07CisvKiBFbmQgUEJYSGVhZGVyc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLworCisvKiBC
ZWdpbiBQQlhOYXRpdmVUYXJnZXQgc2VjdGlvbiAqLworCQkxNDE0NTFDOTE1MjU3RTFGMDAyNTA3
NzEgLyogdGVzdC10YXJnZXQgKi8gPSB7CisJCQlpc2EgPSBQQlhOYXRpdmVUYXJnZXQ7CisJCQli
dWlsZENvbmZpZ3VyYXRpb25MaXN0ID0gMTQxNDUxRDMxNTI1N0UyRTAwMjUwNzcxIC8qIEJ1aWxk
IGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYTmF0aXZlVGFyZ2V0ICJ0ZXN0LXRhcmdldCIgKi87
CisJCQlidWlsZFBoYXNlcyA9ICgKKwkJCQkxNDE0NTFDNTE1MjU3RTFGMDAyNTA3NzEgLyogSGVh
ZGVycyAqLywKKwkJCQkxNDE0NTFDNjE1MjU3RTFGMDAyNTA3NzEgLyogUmVzb3VyY2VzICovLAor
CQkJCTE0MTQ1MUM3MTUyNTdFMUYwMDI1MDc3MSAvKiBTb3VyY2VzICovLAorCQkJCTE0MTQ1MUM4
MTUyNTdFMUYwMDI1MDc3MSAvKiBGcmFtZXdvcmtzICovLAorCQkJKTsKKwkJCWJ1aWxkUnVsZXMg
PSAoCisJCQkpOworCQkJZGVwZW5kZW5jaWVzID0gKAorCQkJKTsKKwkJCW5hbWUgPSAidGVzdC10
YXJnZXQiOworCQkJcHJvZHVjdE5hbWUgPSAidGVzdC10YXJnZXQiOworCQkJcHJvZHVjdFJlZmVy
ZW5jZSA9IDE0MTQ1MUNBMTUyNTdFMUYwMDI1MDc3MSAvKiB0ZXN0LXRhcmdldC5mcmFtZXdvcmsg
Ki87CisJCQlwcm9kdWN0VHlwZSA9ICJjb20uYXBwbGUucHJvZHVjdC10eXBlLmZyYW1ld29yayI7
CisJCX07CisvKiBFbmQgUEJYTmF0aXZlVGFyZ2V0IHNlY3Rpb24gKi8KKworLyogQmVnaW4gUEJY
UHJvamVjdCBzZWN0aW9uICovCisJCTE0MTQ0RkNGMTUyNTVBRDgwMDI1MDc3MSAvKiBQcm9qZWN0
IG9iamVjdCAqLyA9IHsKKwkJCWlzYSA9IFBCWFByb2plY3Q7CisJCQlidWlsZENvbmZpZ3VyYXRp
b25MaXN0ID0gMTQxNDRGRDIxNTI1NUFEODAwMjUwNzcxIC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24g
bGlzdCBmb3IgUEJYUHJvamVjdCAiV2ViQ29yZSIgKi87CisJCQljb21wYXRpYmlsaXR5VmVyc2lv
biA9ICJYY29kZSAyLjQiOworCQkJZGV2ZWxvcG1lbnRSZWdpb24gPSBFbmdsaXNoOworCQkJaGFz
U2Nhbm5lZEZvckVuY29kaW5ncyA9IDA7CisJCQlrbm93blJlZ2lvbnMgPSAoCisJCQkJRW5nbGlz
aCwKKwkJCQlKYXBhbmVzZSwKKwkJCQlGcmVuY2gsCisJCQkJR2VybWFuLAorCQkJKTsKKwkJCW1h
aW5Hcm91cCA9IDE0MTQ0RkNEMTUyNTVBRDgwMDI1MDc3MSAvKiB1bml0dGVzdCAqLzsKKwkJCXBy
b2R1Y3RSZWZHcm91cCA9IDE0MTQ1MDRBMTUyNTdEMjQwMDI1MDc3MSAvKiBQcm9kdWN0cyAqLzsK
KwkJCXByb2plY3REaXJQYXRoID0gIiI7CisJCQlwcm9qZWN0Um9vdCA9ICIiOworCQkJdGFyZ2V0
cyA9ICgKKwkJCQkxNDE0NTFDOTE1MjU3RTFGMDAyNTA3NzEgLyogdGVzdC10YXJnZXQgKi8sCisJ
CQkpOworCQl9OworLyogRW5kIFBCWFByb2plY3Qgc2VjdGlvbiAqLworCisvKiBCZWdpbiBQQlhS
ZXNvdXJjZXNCdWlsZFBoYXNlIHNlY3Rpb24gKi8KKwkJMTQxNDUxQzYxNTI1N0UxRjAwMjUwNzcx
IC8qIFJlc291cmNlcyAqLyA9IHsKKwkJCWlzYSA9IFBCWFJlc291cmNlc0J1aWxkUGhhc2U7CisJ
CQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OworCQkJZmlsZXMgPSAoCisJCQkpOworCQkJ
cnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CisJCX07CisvKiBFbmQgUEJY
UmVzb3VyY2VzQnVpbGRQaGFzZSBzZWN0aW9uICovCisKKy8qIEJlZ2luIFBCWFNvdXJjZXNCdWls
ZFBoYXNlIHNlY3Rpb24gKi8KKwkJMTQxNDUxQzcxNTI1N0UxRjAwMjUwNzcxIC8qIFNvdXJjZXMg
Ki8gPSB7CisJCQlpc2EgPSBQQlhTb3VyY2VzQnVpbGRQaGFzZTsKKwkJCWJ1aWxkQWN0aW9uTWFz
ayA9IDIxNDc0ODM2NDc7CisJCQlmaWxlcyA9ICgKKwkJCQkxNDE0NTFFMTE1MjU4MkY5MDAyNTA3
NzEgLyogZXhpc3RpbmctaW4tZGlyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTE0MTQ1MUU3MTUy
NTgzMjQwMDI1MDc3MSAvKiBleGlzdGluZy1pbi1mb2xkZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJ
CQkJMTQxNDUxRTIxNTI1ODMwMTAwMjUwNzcxIC8qIGV4aXN0aW5nLmNwcCBpbiBTb3VyY2VzICov
LAorCQkJKTsKKwkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOworCQl9
OworLyogRW5kIFBCWFNvdXJjZXNCdWlsZFBoYXNlIHNlY3Rpb24gKi8KKworLyogQmVnaW4gWENC
dWlsZENvbmZpZ3VyYXRpb24gc2VjdGlvbiAqLworCQkxNDE0NEZEMDE1MjU1QUQ4MDAyNTA3NzEg
LyogRGVidWcgKi8gPSB7CisJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKKwkJCWJ1aWxk
U2V0dGluZ3MgPSB7CisJCQkJQ09QWV9QSEFTRV9TVFJJUCA9IE5POworCQkJfTsKKwkJCW5hbWUg
PSBEZWJ1ZzsKKwkJfTsKKwkJMTQxNDRGRDExNTI1NUFEODAwMjUwNzcxIC8qIFJlbGVhc2UgKi8g
PSB7CisJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKKwkJCWJ1aWxkU2V0dGluZ3MgPSB7
CisJCQkJQ09QWV9QSEFTRV9TVFJJUCA9IFlFUzsKKwkJCX07CisJCQluYW1lID0gUmVsZWFzZTsK
KwkJfTsKKwkJMTQxNDUxQ0IxNTI1N0UxRjAwMjUwNzcxIC8qIERlYnVnICovID0geworCQkJaXNh
ID0gWENCdWlsZENvbmZpZ3VyYXRpb247CisJCQlidWlsZFNldHRpbmdzID0geworCQkJCUFMV0FZ
U19TRUFSQ0hfVVNFUl9QQVRIUyA9IE5POworCQkJCUNPUFlfUEhBU0VfU1RSSVAgPSBOTzsKKwkJ
CQlEWUxJQl9DT01QQVRJQklMSVRZX1ZFUlNJT04gPSAxOworCQkJCURZTElCX0NVUlJFTlRfVkVS
U0lPTiA9IDE7CisJCQkJRlJBTUVXT1JLX1ZFUlNJT04gPSBBOworCQkJCUdDQ19EWU5BTUlDX05P
X1BJQyA9IE5POworCQkJCUdDQ19FTkFCTEVfRklYX0FORF9DT05USU5VRSA9IFlFUzsKKwkJCQlH
Q0NfTU9ERUxfVFVOSU5HID0gRzU7CisJCQkJR0NDX09QVElNSVpBVElPTl9MRVZFTCA9IDA7CisJ
CQkJR0NDX1BSRUNPTVBJTEVfUFJFRklYX0hFQURFUiA9IFlFUzsKKwkJCQlHQ0NfUFJFRklYX0hF
QURFUiA9ICIkKFNZU1RFTV9MSUJSQVJZX0RJUikvRnJhbWV3b3Jrcy9BcHBLaXQuZnJhbWV3b3Jr
L0hlYWRlcnMvQXBwS2l0LmgiOworCQkJCUlORk9QTElTVF9GSUxFID0gInRlc3QtdGFyZ2V0LUlu
Zm8ucGxpc3QiOworCQkJCUlOU1RBTExfUEFUSCA9ICIkKEhPTUUpL0xpYnJhcnkvRnJhbWV3b3Jr
cyI7CisJCQkJT1RIRVJfTERGTEFHUyA9ICgKKwkJCQkJIi1mcmFtZXdvcmsiLAorCQkJCQlGb3Vu
ZGF0aW9uLAorCQkJCQkiLWZyYW1ld29yayIsCisJCQkJCUFwcEtpdCwKKwkJCQkpOworCQkJCVBS
RUJJTkRJTkcgPSBOTzsKKwkJCQlQUk9EVUNUX05BTUUgPSAidGVzdC10YXJnZXQiOworCQkJfTsK
KwkJCW5hbWUgPSBEZWJ1ZzsKKwkJfTsKKwkJMTQxNDUxQ0MxNTI1N0UxRjAwMjUwNzcxIC8qIFJl
bGVhc2UgKi8gPSB7CisJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKKwkJCWJ1aWxkU2V0
dGluZ3MgPSB7CisJCQkJQUxXQVlTX1NFQVJDSF9VU0VSX1BBVEhTID0gTk87CisJCQkJQ09QWV9Q
SEFTRV9TVFJJUCA9IFlFUzsKKwkJCQlERUJVR19JTkZPUk1BVElPTl9GT1JNQVQgPSAiZHdhcmYt
d2l0aC1kc3ltIjsKKwkJCQlEWUxJQl9DT01QQVRJQklMSVRZX1ZFUlNJT04gPSAxOworCQkJCURZ
TElCX0NVUlJFTlRfVkVSU0lPTiA9IDE7CisJCQkJRlJBTUVXT1JLX1ZFUlNJT04gPSBBOworCQkJ
CUdDQ19FTkFCTEVfRklYX0FORF9DT05USU5VRSA9IE5POworCQkJCUdDQ19NT0RFTF9UVU5JTkcg
PSBHNTsKKwkJCQlHQ0NfUFJFQ09NUElMRV9QUkVGSVhfSEVBREVSID0gWUVTOworCQkJCUdDQ19Q
UkVGSVhfSEVBREVSID0gIiQoU1lTVEVNX0xJQlJBUllfRElSKS9GcmFtZXdvcmtzL0FwcEtpdC5m
cmFtZXdvcmsvSGVhZGVycy9BcHBLaXQuaCI7CisJCQkJSU5GT1BMSVNUX0ZJTEUgPSAidGVzdC10
YXJnZXQtSW5mby5wbGlzdCI7CisJCQkJSU5TVEFMTF9QQVRIID0gIiQoSE9NRSkvTGlicmFyeS9G
cmFtZXdvcmtzIjsKKwkJCQlPVEhFUl9MREZMQUdTID0gKAorCQkJCQkiLWZyYW1ld29yayIsCisJ
CQkJCUZvdW5kYXRpb24sCisJCQkJCSItZnJhbWV3b3JrIiwKKwkJCQkJQXBwS2l0LAorCQkJCSk7
CisJCQkJUFJFQklORElORyA9IE5POworCQkJCVBST0RVQ1RfTkFNRSA9ICJ0ZXN0LXRhcmdldCI7
CisJCQkJWkVST19MSU5LID0gTk87CisJCQl9OworCQkJbmFtZSA9IFJlbGVhc2U7CisJCX07Cisv
KiBFbmQgWENCdWlsZENvbmZpZ3VyYXRpb24gc2VjdGlvbiAqLworCisvKiBCZWdpbiBYQ0NvbmZp
Z3VyYXRpb25MaXN0IHNlY3Rpb24gKi8KKwkJMTQxNDRGRDIxNTI1NUFEODAwMjUwNzcxIC8qIEJ1
aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYUHJvamVjdCAiV2ViQ29yZSIgKi8gPSB7CisJ
CQlpc2EgPSBYQ0NvbmZpZ3VyYXRpb25MaXN0OworCQkJYnVpbGRDb25maWd1cmF0aW9ucyA9ICgK
KwkJCQkxNDE0NEZEMDE1MjU1QUQ4MDAyNTA3NzEgLyogRGVidWcgKi8sCisJCQkJMTQxNDRGRDEx
NTI1NUFEODAwMjUwNzcxIC8qIFJlbGVhc2UgKi8sCisJCQkpOworCQkJZGVmYXVsdENvbmZpZ3Vy
YXRpb25Jc1Zpc2libGUgPSAwOworCQkJZGVmYXVsdENvbmZpZ3VyYXRpb25OYW1lID0gUmVsZWFz
ZTsKKwkJfTsKKwkJMTQxNDUxRDMxNTI1N0UyRTAwMjUwNzcxIC8qIEJ1aWxkIGNvbmZpZ3VyYXRp
b24gbGlzdCBmb3IgUEJYTmF0aXZlVGFyZ2V0ICJ0ZXN0LXRhcmdldCIgKi8gPSB7CisJCQlpc2Eg
PSBYQ0NvbmZpZ3VyYXRpb25MaXN0OworCQkJYnVpbGRDb25maWd1cmF0aW9ucyA9ICgKKwkJCQkx
NDE0NTFDQjE1MjU3RTFGMDAyNTA3NzEgLyogRGVidWcgKi8sCisJCQkJMTQxNDUxQ0MxNTI1N0Ux
RjAwMjUwNzcxIC8qIFJlbGVhc2UgKi8sCisJCQkpOworCQkJZGVmYXVsdENvbmZpZ3VyYXRpb25J
c1Zpc2libGUgPSAwOworCQkJZGVmYXVsdENvbmZpZ3VyYXRpb25OYW1lID0gUmVsZWFzZTsKKwkJ
fTsKKy8qIEVuZCBYQ0NvbmZpZ3VyYXRpb25MaXN0IHNlY3Rpb24gKi8KKwl9OworCXJvb3RPYmpl
Y3QgPSAxNDE0NEZDRjE1MjU1QUQ4MDAyNTA3NzEgLyogUHJvamVjdCBvYmplY3QgKi87Cit9CmRp
ZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9wcm9qZWN0L3VuaXR0ZXN0
X2ZpbGVzL1hjb2RlLXNvcnQucGJ4cHJvaiBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9u
L3Byb2plY3QvdW5pdHRlc3RfZmlsZXMvWGNvZGUtc29ydC5wYnhwcm9qCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA2NzIyOWMKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9wcm9qZWN0L3VuaXR0ZXN0X2ZpbGVzL1hjb2RlLXNvcnQu
cGJ4cHJvagpAQCAtMCwwICsxLDI2MiBAQAorLy8gISQqVVRGOCokIQoreworCWFyY2hpdmVWZXJz
aW9uID0gMTsKKwljbGFzc2VzID0geworCX07CisJb2JqZWN0VmVyc2lvbiA9IDQyOworCW9iamVj
dHMgPSB7CisKKy8qIEJlZ2luIFBCWEJ1aWxkRmlsZSBzZWN0aW9uICovCisJCTE0MTQ1MUUxMTUy
NTgyRjkwMDI1MDc3MSAvKiBleGlzdGluZy1pbi1kaXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTQxNDRGRjUxNTI1NzlENjAwMjUwNzcxIC8qIGV4
aXN0aW5nLWluLWRpci5jcHAgKi87IH07CisJCTE0MTQ1MUUyMTUyNTgzMDEwMDI1MDc3MSAvKiBl
eGlzdGluZy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAxNDE0NEZFQzE1MjU3OTUxMDAyNTA3NzEgLyogZXhpc3RpbmcuY3BwICovOyB9OworCQkxNDE0
NTFFNzE1MjU4MzI0MDAyNTA3NzEgLyogZXhpc3RpbmctaW4tZm9sZGVyLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0MTQ0RkYyMTUyNTc5OTYwMDI1
MDc3MSAvKiBleGlzdGluZy1pbi1mb2xkZXIuY3BwICovOyB9OworCQkxNDE0NTFFODE1MjU4MzJB
MDAyNTA3NzEgLyogZXhpc3RpbmctaW4tZGlyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAxNDE0NEZGNDE1MjU3OUQ2MDAyNTA3NzEgLyogZXhpc3Rpbmct
aW4tZGlyLmggKi87IH07CisJCTE0MTQ1MUU5MTUyNTgzMkUwMDI1MDc3MSAvKiBleGlzdGluZy1p
bi1mb2xkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDE0MTQ0RkYxMTUyNTc5OTYwMDI1MDc3MSAvKiBleGlzdGluZy1pbi1mb2xkZXIuaCAqLzsgfTsK
KwkJMTQxNDUxRUExNTI1ODMzMzAwMjUwNzcxIC8qIGV4aXN0aW5nLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDE0NEZFQjE1MjU3OTUxMDAyNTA3NzEg
LyogZXhpc3RpbmcuaCAqLzsgfTsKKy8qIEVuZCBQQlhCdWlsZEZpbGUgc2VjdGlvbiAqLworCisv
KiBCZWdpbiBQQlhGaWxlUmVmZXJlbmNlIHNlY3Rpb24gKi8KKwkJMTQxNDRGRUIxNTI1Nzk1MTAw
MjUwNzcxIC8qIGV4aXN0aW5nLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IGV4
aXN0aW5nLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTE0MTQ0RkVDMTUyNTc5NTEw
MDI1MDc3MSAvKiBleGlzdGluZy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBleGlzdGluZy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTE0MTQ0RkYx
MTUyNTc5OTYwMDI1MDc3MSAvKiBleGlzdGluZy1pbi1mb2xkZXIuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gImV4aXN0aW5nLWluLWZvbGRlci5oIjsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJMTQxNDRGRjIxNTI1Nzk5NjAwMjUwNzcxIC8qIGV4aXN0aW5nLWluLWZv
bGRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSAiZXhpc3Rpbmct
aW4tZm9sZGVyLmNwcCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTE0MTQ0RkY0MTUy
NTc5RDYwMDI1MDc3MSAvKiBleGlzdGluZy1pbi1kaXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gImV4aXN0aW5nLWluLWRpci5oIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJMTQxNDRGRjUxNTI1NzlENjAwMjUwNzcxIC8qIGV4aXN0aW5nLWluLWRpci5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSAiZXhpc3RpbmctaW4tZGlyLmNwcCI7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTE0MTQ1MDRDMTUyNTdEMjQwMDI1MDc3MSAv
KiB0ZXN0LXRhcmdldC1JbmZvLnBsaXN0ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gdGV4dC5wbGlzdC54bWw7IHBhdGggPSAidGVzdC10YXJnZXQtSW5m
by5wbGlzdCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTE0MTQ1MUNBMTUyNTdFMUYw
MDI1MDc3MSAvKiB0ZXN0LXRhcmdldC5mcmFtZXdvcmsgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZXhwbGljaXRGaWxlVHlwZSA9IHdyYXBwZXIuZnJhbWV3b3JrOyBpbmNsdWRlSW5JbmRl
eCA9IDA7IHBhdGggPSAidGVzdC10YXJnZXQuZnJhbWV3b3JrIjsgc291cmNlVHJlZSA9IEJVSUxU
X1BST0RVQ1RTX0RJUjsgfTsKKy8qIEVuZCBQQlhGaWxlUmVmZXJlbmNlIHNlY3Rpb24gKi8KKwor
LyogQmVnaW4gUEJYRnJhbWV3b3Jrc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLworCQkxNDE0NTFDODE1
MjU3RTFGMDAyNTA3NzEgLyogRnJhbWV3b3JrcyAqLyA9IHsKKwkJCWlzYSA9IFBCWEZyYW1ld29y
a3NCdWlsZFBoYXNlOworCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKKwkJCWZpbGVz
ID0gKAorCQkJKTsKKwkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwor
CQl9OworLyogRW5kIFBCWEZyYW1ld29ya3NCdWlsZFBoYXNlIHNlY3Rpb24gKi8KKworLyogQmVn
aW4gUEJYR3JvdXAgc2VjdGlvbiAqLworCQkxNDE0NEZDRDE1MjU1QUQ4MDAyNTA3NzEgLyogdW5p
dHRlc3QgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCTE0
MTQ1MDJDMTUyNTdBQ0QwMDI1MDc3MSAvKiB0ZXN0LXByb2plY3QgKi8sCisJCQkJMTQxNDUwNEEx
NTI1N0QyNDAwMjUwNzcxIC8qIFByb2R1Y3RzICovLAorCQkJCTE0MTQ1MDRDMTUyNTdEMjQwMDI1
MDc3MSAvKiB0ZXN0LXRhcmdldC1JbmZvLnBsaXN0ICovLAorCQkJKTsKKwkJCW5hbWUgPSAidW5p
dHRlc3QiOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKKwkJMTQxNDRGRUQxNTI1
Nzk3MDAwMjUwNzcxIC8qIHRlc3QtcHJvamVjdCAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOwor
CQkJY2hpbGRyZW4gPSAoCisJCQkJMTQxNDRGRjIxNTI1Nzk5NjAwMjUwNzcxIC8qIGV4aXN0aW5n
LWluLWZvbGRlci5jcHAgKi8sCisJCQkJMTQxNDRGRjExNTI1Nzk5NjAwMjUwNzcxIC8qIGV4aXN0
aW5nLWluLWZvbGRlci5oICovLAorCQkJKTsKKwkJCW5hbWUgPSAidGVzdC1wcm9qZWN0IjsKKwkJ
CXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CisJCTE0MTQ0RkYzMTUyNTc5OUQwMDI1MDc3
MSAvKiBzdWJmb2xkZXIgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0g
KAorCQkJCTE0MTQ0RkY1MTUyNTc5RDYwMDI1MDc3MSAvKiBleGlzdGluZy1pbi1kaXIuY3BwICov
LAorCQkJCTE0MTQ0RkY0MTUyNTc5RDYwMDI1MDc3MSAvKiBleGlzdGluZy1pbi1kaXIuaCAqLywK
KwkJCSk7CisJCQlwYXRoID0gc3ViZm9sZGVyOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsK
KwkJfTsKKwkJMTQxNDUwMkMxNTI1N0FDRDAwMjUwNzcxIC8qIHRlc3QtcHJvamVjdCAqLyA9IHsK
KwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJMTQxNDRGRjMxNTI1Nzk5
RDAwMjUwNzcxIC8qIHN1YmZvbGRlciAqLywKKwkJCQkxNDE0NEZFRDE1MjU3OTcwMDAyNTA3NzEg
LyogdGVzdC1wcm9qZWN0ICovLAorCQkJCTE0MTQ0RkVDMTUyNTc5NTEwMDI1MDc3MSAvKiBleGlz
dGluZy5jcHAgKi8sCisJCQkJMTQxNDRGRUIxNTI1Nzk1MTAwMjUwNzcxIC8qIGV4aXN0aW5nLmgg
Ki8sCisJCQkpOworCQkJcGF0aCA9ICJ0ZXN0LXByb2plY3QiOworCQkJc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsKKwkJfTsKKwkJMTQxNDUwNEExNTI1N0QyNDAwMjUwNzcxIC8qIFByb2R1Y3RzICov
ID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQkxNDE0NTFDQTE1
MjU3RTFGMDAyNTA3NzEgLyogdGVzdC10YXJnZXQuZnJhbWV3b3JrICovLAorCQkJKTsKKwkJCW5h
bWUgPSBQcm9kdWN0czsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CisvKiBFbmQg
UEJYR3JvdXAgc2VjdGlvbiAqLworCisvKiBCZWdpbiBQQlhIZWFkZXJzQnVpbGRQaGFzZSBzZWN0
aW9uICovCisJCTE0MTQ1MUM1MTUyNTdFMUYwMDI1MDc3MSAvKiBIZWFkZXJzICovID0geworCQkJ
aXNhID0gUEJYSGVhZGVyc0J1aWxkUGhhc2U7CisJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgz
NjQ3OworCQkJZmlsZXMgPSAoCisJCQkJMTQxNDUxRTgxNTI1ODMyQTAwMjUwNzcxIC8qIGV4aXN0
aW5nLWluLWRpci5oIGluIEhlYWRlcnMgKi8sCisJCQkJMTQxNDUxRTkxNTI1ODMyRTAwMjUwNzcx
IC8qIGV4aXN0aW5nLWluLWZvbGRlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJMTQxNDUxRUExNTI1
ODMzMzAwMjUwNzcxIC8qIGV4aXN0aW5nLmggaW4gSGVhZGVycyAqLywKKwkJCSk7CisJCQlydW5P
bmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKKwkJfTsKKy8qIEVuZCBQQlhIZWFk
ZXJzQnVpbGRQaGFzZSBzZWN0aW9uICovCisKKy8qIEJlZ2luIFBCWE5hdGl2ZVRhcmdldCBzZWN0
aW9uICovCisJCTE0MTQ1MUM5MTUyNTdFMUYwMDI1MDc3MSAvKiB0ZXN0LXRhcmdldCAqLyA9IHsK
KwkJCWlzYSA9IFBCWE5hdGl2ZVRhcmdldDsKKwkJCWJ1aWxkQ29uZmlndXJhdGlvbkxpc3QgPSAx
NDE0NTFEMzE1MjU3RTJFMDAyNTA3NzEgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQ
QlhOYXRpdmVUYXJnZXQgInRlc3QtdGFyZ2V0IiAqLzsKKwkJCWJ1aWxkUGhhc2VzID0gKAorCQkJ
CTE0MTQ1MUM1MTUyNTdFMUYwMDI1MDc3MSAvKiBIZWFkZXJzICovLAorCQkJCTE0MTQ1MUM2MTUy
NTdFMUYwMDI1MDc3MSAvKiBSZXNvdXJjZXMgKi8sCisJCQkJMTQxNDUxQzcxNTI1N0UxRjAwMjUw
NzcxIC8qIFNvdXJjZXMgKi8sCisJCQkJMTQxNDUxQzgxNTI1N0UxRjAwMjUwNzcxIC8qIEZyYW1l
d29ya3MgKi8sCisJCQkpOworCQkJYnVpbGRSdWxlcyA9ICgKKwkJCSk7CisJCQlkZXBlbmRlbmNp
ZXMgPSAoCisJCQkpOworCQkJbmFtZSA9ICJ0ZXN0LXRhcmdldCI7CisJCQlwcm9kdWN0TmFtZSA9
ICJ0ZXN0LXRhcmdldCI7CisJCQlwcm9kdWN0UmVmZXJlbmNlID0gMTQxNDUxQ0ExNTI1N0UxRjAw
MjUwNzcxIC8qIHRlc3QtdGFyZ2V0LmZyYW1ld29yayAqLzsKKwkJCXByb2R1Y3RUeXBlID0gImNv
bS5hcHBsZS5wcm9kdWN0LXR5cGUuZnJhbWV3b3JrIjsKKwkJfTsKKy8qIEVuZCBQQlhOYXRpdmVU
YXJnZXQgc2VjdGlvbiAqLworCisvKiBCZWdpbiBQQlhQcm9qZWN0IHNlY3Rpb24gKi8KKwkJMTQx
NDRGQ0YxNTI1NUFEODAwMjUwNzcxIC8qIFByb2plY3Qgb2JqZWN0ICovID0geworCQkJaXNhID0g
UEJYUHJvamVjdDsKKwkJCWJ1aWxkQ29uZmlndXJhdGlvbkxpc3QgPSAxNDE0NEZEMjE1MjU1QUQ4
MDAyNTA3NzEgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhQcm9qZWN0ICJXZWJD
b3JlIiAqLzsKKwkJCWNvbXBhdGliaWxpdHlWZXJzaW9uID0gIlhjb2RlIDIuNCI7CisJCQlkZXZl
bG9wbWVudFJlZ2lvbiA9IEVuZ2xpc2g7CisJCQloYXNTY2FubmVkRm9yRW5jb2RpbmdzID0gMDsK
KwkJCWtub3duUmVnaW9ucyA9ICgKKwkJCQlFbmdsaXNoLAorCQkJCUphcGFuZXNlLAorCQkJCUZy
ZW5jaCwKKwkJCQlHZXJtYW4sCisJCQkpOworCQkJbWFpbkdyb3VwID0gMTQxNDRGQ0QxNTI1NUFE
ODAwMjUwNzcxIC8qIHVuaXR0ZXN0ICovOworCQkJcHJvZHVjdFJlZkdyb3VwID0gMTQxNDUwNEEx
NTI1N0QyNDAwMjUwNzcxIC8qIFByb2R1Y3RzICovOworCQkJcHJvamVjdERpclBhdGggPSAiIjsK
KwkJCXByb2plY3RSb290ID0gIiI7CisJCQl0YXJnZXRzID0gKAorCQkJCTE0MTQ1MUM5MTUyNTdF
MUYwMDI1MDc3MSAvKiB0ZXN0LXRhcmdldCAqLywKKwkJCSk7CisJCX07CisvKiBFbmQgUEJYUHJv
amVjdCBzZWN0aW9uICovCisKKy8qIEJlZ2luIFBCWFJlc291cmNlc0J1aWxkUGhhc2Ugc2VjdGlv
biAqLworCQkxNDE0NTFDNjE1MjU3RTFGMDAyNTA3NzEgLyogUmVzb3VyY2VzICovID0geworCQkJ
aXNhID0gUEJYUmVzb3VyY2VzQnVpbGRQaGFzZTsKKwkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0
ODM2NDc7CisJCQlmaWxlcyA9ICgKKwkJCSk7CisJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rw
cm9jZXNzaW5nID0gMDsKKwkJfTsKKy8qIEVuZCBQQlhSZXNvdXJjZXNCdWlsZFBoYXNlIHNlY3Rp
b24gKi8KKworLyogQmVnaW4gUEJYU291cmNlc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLworCQkxNDE0
NTFDNzE1MjU3RTFGMDAyNTA3NzEgLyogU291cmNlcyAqLyA9IHsKKwkJCWlzYSA9IFBCWFNvdXJj
ZXNCdWlsZFBoYXNlOworCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKKwkJCWZpbGVz
ID0gKAorCQkJCTE0MTQ1MUUxMTUyNTgyRjkwMDI1MDc3MSAvKiBleGlzdGluZy1pbi1kaXIuY3Bw
IGluIFNvdXJjZXMgKi8sCisJCQkJMTQxNDUxRTcxNTI1ODMyNDAwMjUwNzcxIC8qIGV4aXN0aW5n
LWluLWZvbGRlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkxNDE0NTFFMjE1MjU4MzAxMDAyNTA3
NzEgLyogZXhpc3RpbmcuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkpOworCQkJcnVuT25seUZvckRl
cGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CisJCX07CisvKiBFbmQgUEJYU291cmNlc0J1aWxk
UGhhc2Ugc2VjdGlvbiAqLworCisvKiBCZWdpbiBYQ0J1aWxkQ29uZmlndXJhdGlvbiBzZWN0aW9u
ICovCisJCTE0MTQ0RkQwMTUyNTVBRDgwMDI1MDc3MSAvKiBEZWJ1ZyAqLyA9IHsKKwkJCWlzYSA9
IFhDQnVpbGRDb25maWd1cmF0aW9uOworCQkJYnVpbGRTZXR0aW5ncyA9IHsKKwkJCQlDT1BZX1BI
QVNFX1NUUklQID0gTk87CisJCQl9OworCQkJbmFtZSA9IERlYnVnOworCQl9OworCQkxNDE0NEZE
MTE1MjU1QUQ4MDAyNTA3NzEgLyogUmVsZWFzZSAqLyA9IHsKKwkJCWlzYSA9IFhDQnVpbGRDb25m
aWd1cmF0aW9uOworCQkJYnVpbGRTZXR0aW5ncyA9IHsKKwkJCQlDT1BZX1BIQVNFX1NUUklQID0g
WUVTOworCQkJfTsKKwkJCW5hbWUgPSBSZWxlYXNlOworCQl9OworCQkxNDE0NTFDQjE1MjU3RTFG
MDAyNTA3NzEgLyogRGVidWcgKi8gPSB7CisJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsK
KwkJCWJ1aWxkU2V0dGluZ3MgPSB7CisJCQkJQUxXQVlTX1NFQVJDSF9VU0VSX1BBVEhTID0gTk87
CisJCQkJQ09QWV9QSEFTRV9TVFJJUCA9IE5POworCQkJCURZTElCX0NPTVBBVElCSUxJVFlfVkVS
U0lPTiA9IDE7CisJCQkJRFlMSUJfQ1VSUkVOVF9WRVJTSU9OID0gMTsKKwkJCQlGUkFNRVdPUktf
VkVSU0lPTiA9IEE7CisJCQkJR0NDX0RZTkFNSUNfTk9fUElDID0gTk87CisJCQkJR0NDX0VOQUJM
RV9GSVhfQU5EX0NPTlRJTlVFID0gWUVTOworCQkJCUdDQ19NT0RFTF9UVU5JTkcgPSBHNTsKKwkJ
CQlHQ0NfT1BUSU1JWkFUSU9OX0xFVkVMID0gMDsKKwkJCQlHQ0NfUFJFQ09NUElMRV9QUkVGSVhf
SEVBREVSID0gWUVTOworCQkJCUdDQ19QUkVGSVhfSEVBREVSID0gIiQoU1lTVEVNX0xJQlJBUllf
RElSKS9GcmFtZXdvcmtzL0FwcEtpdC5mcmFtZXdvcmsvSGVhZGVycy9BcHBLaXQuaCI7CisJCQkJ
SU5GT1BMSVNUX0ZJTEUgPSAidGVzdC10YXJnZXQtSW5mby5wbGlzdCI7CisJCQkJSU5TVEFMTF9Q
QVRIID0gIiQoSE9NRSkvTGlicmFyeS9GcmFtZXdvcmtzIjsKKwkJCQlPVEhFUl9MREZMQUdTID0g
KAorCQkJCQkiLWZyYW1ld29yayIsCisJCQkJCUZvdW5kYXRpb24sCisJCQkJCSItZnJhbWV3b3Jr
IiwKKwkJCQkJQXBwS2l0LAorCQkJCSk7CisJCQkJUFJFQklORElORyA9IE5POworCQkJCVBST0RV
Q1RfTkFNRSA9ICJ0ZXN0LXRhcmdldCI7CisJCQl9OworCQkJbmFtZSA9IERlYnVnOworCQl9Owor
CQkxNDE0NTFDQzE1MjU3RTFGMDAyNTA3NzEgLyogUmVsZWFzZSAqLyA9IHsKKwkJCWlzYSA9IFhD
QnVpbGRDb25maWd1cmF0aW9uOworCQkJYnVpbGRTZXR0aW5ncyA9IHsKKwkJCQlBTFdBWVNfU0VB
UkNIX1VTRVJfUEFUSFMgPSBOTzsKKwkJCQlDT1BZX1BIQVNFX1NUUklQID0gWUVTOworCQkJCURF
QlVHX0lORk9STUFUSU9OX0ZPUk1BVCA9ICJkd2FyZi13aXRoLWRzeW0iOworCQkJCURZTElCX0NP
TVBBVElCSUxJVFlfVkVSU0lPTiA9IDE7CisJCQkJRFlMSUJfQ1VSUkVOVF9WRVJTSU9OID0gMTsK
KwkJCQlGUkFNRVdPUktfVkVSU0lPTiA9IEE7CisJCQkJR0NDX0VOQUJMRV9GSVhfQU5EX0NPTlRJ
TlVFID0gTk87CisJCQkJR0NDX01PREVMX1RVTklORyA9IEc1OworCQkJCUdDQ19QUkVDT01QSUxF
X1BSRUZJWF9IRUFERVIgPSBZRVM7CisJCQkJR0NDX1BSRUZJWF9IRUFERVIgPSAiJChTWVNURU1f
TElCUkFSWV9ESVIpL0ZyYW1ld29ya3MvQXBwS2l0LmZyYW1ld29yay9IZWFkZXJzL0FwcEtpdC5o
IjsKKwkJCQlJTkZPUExJU1RfRklMRSA9ICJ0ZXN0LXRhcmdldC1JbmZvLnBsaXN0IjsKKwkJCQlJ
TlNUQUxMX1BBVEggPSAiJChIT01FKS9MaWJyYXJ5L0ZyYW1ld29ya3MiOworCQkJCU9USEVSX0xE
RkxBR1MgPSAoCisJCQkJCSItZnJhbWV3b3JrIiwKKwkJCQkJRm91bmRhdGlvbiwKKwkJCQkJIi1m
cmFtZXdvcmsiLAorCQkJCQlBcHBLaXQsCisJCQkJKTsKKwkJCQlQUkVCSU5ESU5HID0gTk87CisJ
CQkJUFJPRFVDVF9OQU1FID0gInRlc3QtdGFyZ2V0IjsKKwkJCQlaRVJPX0xJTksgPSBOTzsKKwkJ
CX07CisJCQluYW1lID0gUmVsZWFzZTsKKwkJfTsKKy8qIEVuZCBYQ0J1aWxkQ29uZmlndXJhdGlv
biBzZWN0aW9uICovCisKKy8qIEJlZ2luIFhDQ29uZmlndXJhdGlvbkxpc3Qgc2VjdGlvbiAqLwor
CQkxNDE0NEZEMjE1MjU1QUQ4MDAyNTA3NzEgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZv
ciBQQlhQcm9qZWN0ICJXZWJDb3JlIiAqLyA9IHsKKwkJCWlzYSA9IFhDQ29uZmlndXJhdGlvbkxp
c3Q7CisJCQlidWlsZENvbmZpZ3VyYXRpb25zID0gKAorCQkJCTE0MTQ0RkQwMTUyNTVBRDgwMDI1
MDc3MSAvKiBEZWJ1ZyAqLywKKwkJCQkxNDE0NEZEMTE1MjU1QUQ4MDAyNTA3NzEgLyogUmVsZWFz
ZSAqLywKKwkJCSk7CisJCQlkZWZhdWx0Q29uZmlndXJhdGlvbklzVmlzaWJsZSA9IDA7CisJCQlk
ZWZhdWx0Q29uZmlndXJhdGlvbk5hbWUgPSBSZWxlYXNlOworCQl9OworCQkxNDE0NTFEMzE1MjU3
RTJFMDAyNTA3NzEgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhOYXRpdmVUYXJn
ZXQgInRlc3QtdGFyZ2V0IiAqLyA9IHsKKwkJCWlzYSA9IFhDQ29uZmlndXJhdGlvbkxpc3Q7CisJ
CQlidWlsZENvbmZpZ3VyYXRpb25zID0gKAorCQkJCTE0MTQ1MUNCMTUyNTdFMUYwMDI1MDc3MSAv
KiBEZWJ1ZyAqLywKKwkJCQkxNDE0NTFDQzE1MjU3RTFGMDAyNTA3NzEgLyogUmVsZWFzZSAqLywK
KwkJCSk7CisJCQlkZWZhdWx0Q29uZmlndXJhdGlvbklzVmlzaWJsZSA9IDA7CisJCQlkZWZhdWx0
Q29uZmlndXJhdGlvbk5hbWUgPSBSZWxlYXNlOworCQl9OworLyogRW5kIFhDQ29uZmlndXJhdGlv
bkxpc3Qgc2VjdGlvbiAqLworCX07CisJcm9vdE9iamVjdCA9IDE0MTQ0RkNGMTUyNTVBRDgwMDI1
MDc3MSAvKiBQcm9qZWN0IG9iamVjdCAqLzsKK30KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvY29tbW9uL3Byb2plY3QvdW5pdHRlc3RfZmlsZXMvWGNvZGUtc29ydGVkLnBieHBy
b2ogYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9wcm9qZWN0L3VuaXR0ZXN0X2ZpbGVz
L1hjb2RlLXNvcnRlZC5wYnhwcm9qCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu
Ljk4NDYzZTMKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1v
bi9wcm9qZWN0L3VuaXR0ZXN0X2ZpbGVzL1hjb2RlLXNvcnRlZC5wYnhwcm9qCkBAIC0wLDAgKzEs
MjYxIEBACisvLyAhJCpVVEY4KiQhCit7CisJYXJjaGl2ZVZlcnNpb24gPSAxOworCWNsYXNzZXMg
PSB7CisJfTsKKwlvYmplY3RWZXJzaW9uID0gNDI7CisJb2JqZWN0cyA9IHsKKworLyogQmVnaW4g
UEJYQnVpbGRGaWxlIHNlY3Rpb24gKi8KKwkJMTQxNDUxRTExNTI1ODJGOTAwMjUwNzcxIC8qIGV4
aXN0aW5nLWluLWRpci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAxNDE0NEZGNTE1MjU3OUQ2MDAyNTA3NzEgLyogZXhpc3RpbmctaW4tZGlyLmNwcCAq
LzsgfTsKKwkJMTQxNDUxRTIxNTI1ODMwMTAwMjUwNzcxIC8qIGV4aXN0aW5nLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0MTQ0RkVDMTUyNTc5NTEw
MDI1MDc3MSAvKiBleGlzdGluZy5jcHAgKi87IH07CisJCTE0MTQ1MUU3MTUyNTgzMjQwMDI1MDc3
MSAvKiBleGlzdGluZy1pbi1mb2xkZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMTQxNDRGRjIxNTI1Nzk5NjAwMjUwNzcxIC8qIGV4aXN0aW5nLWlu
LWZvbGRlci5jcHAgKi87IH07CisJCTE0MTQ1MUU4MTUyNTgzMkEwMDI1MDc3MSAvKiBleGlzdGlu
Zy1pbi1kaXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDE0MTQ0RkY0MTUyNTc5RDYwMDI1MDc3MSAvKiBleGlzdGluZy1pbi1kaXIuaCAqLzsgfTsKKwkJ
MTQxNDUxRTkxNTI1ODMyRTAwMjUwNzcxIC8qIGV4aXN0aW5nLWluLWZvbGRlci5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTQxNDRGRjExNTI1Nzk5NjAw
MjUwNzcxIC8qIGV4aXN0aW5nLWluLWZvbGRlci5oICovOyB9OworCQkxNDE0NTFFQTE1MjU4MzMz
MDAyNTA3NzEgLyogZXhpc3RpbmcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDE0MTQ0RkVCMTUyNTc5NTEwMDI1MDc3MSAvKiBleGlzdGluZy5oICovOyB9
OworLyogRW5kIFBCWEJ1aWxkRmlsZSBzZWN0aW9uICovCisKKy8qIEJlZ2luIFBCWEZpbGVSZWZl
cmVuY2Ugc2VjdGlvbiAqLworCQkxNDE0NEZFQjE1MjU3OTUxMDAyNTA3NzEgLyogZXhpc3Rpbmcu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gZXhpc3RpbmcuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMTQxNDRGRUMxNTI1Nzk1MTAwMjUwNzcxIC8qIGV4aXN0aW5n
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IGV4aXN0aW5nLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMTQxNDRGRjExNTI1Nzk5NjAwMjUwNzcxIC8q
IGV4aXN0aW5nLWluLWZvbGRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSAi
ZXhpc3RpbmctaW4tZm9sZGVyLmgiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxNDE0
NEZGMjE1MjU3OTk2MDAyNTA3NzEgLyogZXhpc3RpbmctaW4tZm9sZGVyLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9ICJleGlzdGluZy1pbi1mb2xkZXIuY3BwIjsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMTQxNDRGRjQxNTI1NzlENjAwMjUwNzcxIC8qIGV4
aXN0aW5nLWluLWRpci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSAiZXhpc3Rp
bmctaW4tZGlyLmgiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxNDE0NEZGNTE1MjU3
OUQ2MDAyNTA3NzEgLyogZXhpc3RpbmctaW4tZGlyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9ICJleGlzdGluZy1pbi1kaXIuY3BwIjsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJMTQxNDUwNEMxNTI1N0QyNDAwMjUwNzcxIC8qIHRlc3QtdGFyZ2V0LUluZm8u
cGxpc3QgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0
ZXh0LnBsaXN0LnhtbDsgcGF0aCA9ICJ0ZXN0LXRhcmdldC1JbmZvLnBsaXN0Ijsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMTQxNDUxQ0ExNTI1N0UxRjAwMjUwNzcxIC8qIHRlc3QtdGFy
Z2V0LmZyYW1ld29yayAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBleHBsaWNpdEZpbGVU
eXBlID0gd3JhcHBlci5mcmFtZXdvcms7IGluY2x1ZGVJbkluZGV4ID0gMDsgcGF0aCA9ICJ0ZXN0
LXRhcmdldC5mcmFtZXdvcmsiOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9Owor
LyogRW5kIFBCWEZpbGVSZWZlcmVuY2Ugc2VjdGlvbiAqLworCisvKiBCZWdpbiBQQlhGcmFtZXdv
cmtzQnVpbGRQaGFzZSBzZWN0aW9uICovCisJCTE0MTQ1MUM4MTUyNTdFMUYwMDI1MDc3MSAvKiBG
cmFtZXdvcmtzICovID0geworCQkJaXNhID0gUEJYRnJhbWV3b3Jrc0J1aWxkUGhhc2U7CisJCQli
dWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OworCQkJZmlsZXMgPSAoCisJCQkpOworCQkJcnVu
T25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CisJCX07CisvKiBFbmQgUEJYRnJh
bWV3b3Jrc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLworCisvKiBCZWdpbiBQQlhHcm91cCBzZWN0aW9u
ICovCisJCTE0MTQ0RkNEMTUyNTVBRDgwMDI1MDc3MSA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOwor
CQkJY2hpbGRyZW4gPSAoCisJCQkJMTQxNDUwMkMxNTI1N0FDRDAwMjUwNzcxIC8qIHRlc3QtcHJv
amVjdCAqLywKKwkJCQkxNDE0NTA0QTE1MjU3RDI0MDAyNTA3NzEgLyogUHJvZHVjdHMgKi8sCisJ
CQkJMTQxNDUwNEMxNTI1N0QyNDAwMjUwNzcxIC8qIHRlc3QtdGFyZ2V0LUluZm8ucGxpc3QgKi8s
CisJCQkpOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKKwkJMTQxNDRGRUQxNTI1
Nzk3MDAwMjUwNzcxIC8qIHRlc3QtcHJvamVjdCAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOwor
CQkJY2hpbGRyZW4gPSAoCisJCQkJMTQxNDRGRjExNTI1Nzk5NjAwMjUwNzcxIC8qIGV4aXN0aW5n
LWluLWZvbGRlci5oICovLAorCQkJCTE0MTQ0RkYyMTUyNTc5OTYwMDI1MDc3MSAvKiBleGlzdGlu
Zy1pbi1mb2xkZXIuY3BwICovLAorCQkJKTsKKwkJCW5hbWUgPSAidGVzdC1wcm9qZWN0IjsKKwkJ
CXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CisJCTE0MTQ0RkYzMTUyNTc5OUQwMDI1MDc3
MSAvKiBzdWJmb2xkZXIgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0g
KAorCQkJCTE0MTQ0RkY0MTUyNTc5RDYwMDI1MDc3MSAvKiBleGlzdGluZy1pbi1kaXIuaCAqLywK
KwkJCQkxNDE0NEZGNTE1MjU3OUQ2MDAyNTA3NzEgLyogZXhpc3RpbmctaW4tZGlyLmNwcCAqLywK
KwkJCSk7CisJCQlwYXRoID0gc3ViZm9sZGVyOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsK
KwkJfTsKKwkJMTQxNDUwMkMxNTI1N0FDRDAwMjUwNzcxIC8qIHRlc3QtcHJvamVjdCAqLyA9IHsK
KwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJMTQxNDRGRjMxNTI1Nzk5
RDAwMjUwNzcxIC8qIHN1YmZvbGRlciAqLywKKwkJCQkxNDE0NEZFRDE1MjU3OTcwMDAyNTA3NzEg
LyogdGVzdC1wcm9qZWN0ICovLAorCQkJCTE0MTQ0RkVCMTUyNTc5NTEwMDI1MDc3MSAvKiBleGlz
dGluZy5oICovLAorCQkJCTE0MTQ0RkVDMTUyNTc5NTEwMDI1MDc3MSAvKiBleGlzdGluZy5jcHAg
Ki8sCisJCQkpOworCQkJcGF0aCA9ICJ0ZXN0LXByb2plY3QiOworCQkJc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsKKwkJfTsKKwkJMTQxNDUwNEExNTI1N0QyNDAwMjUwNzcxIC8qIFByb2R1Y3RzICov
ID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQkxNDE0NTFDQTE1
MjU3RTFGMDAyNTA3NzEgLyogdGVzdC10YXJnZXQuZnJhbWV3b3JrICovLAorCQkJKTsKKwkJCW5h
bWUgPSBQcm9kdWN0czsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CisvKiBFbmQg
UEJYR3JvdXAgc2VjdGlvbiAqLworCisvKiBCZWdpbiBQQlhIZWFkZXJzQnVpbGRQaGFzZSBzZWN0
aW9uICovCisJCTE0MTQ1MUM1MTUyNTdFMUYwMDI1MDc3MSAvKiBIZWFkZXJzICovID0geworCQkJ
aXNhID0gUEJYSGVhZGVyc0J1aWxkUGhhc2U7CisJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgz
NjQ3OworCQkJZmlsZXMgPSAoCisJCQkJMTQxNDUxRTgxNTI1ODMyQTAwMjUwNzcxIC8qIGV4aXN0
aW5nLWluLWRpci5oIGluIEhlYWRlcnMgKi8sCisJCQkJMTQxNDUxRTkxNTI1ODMyRTAwMjUwNzcx
IC8qIGV4aXN0aW5nLWluLWZvbGRlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJMTQxNDUxRUExNTI1
ODMzMzAwMjUwNzcxIC8qIGV4aXN0aW5nLmggaW4gSGVhZGVycyAqLywKKwkJCSk7CisJCQlydW5P
bmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKKwkJfTsKKy8qIEVuZCBQQlhIZWFk
ZXJzQnVpbGRQaGFzZSBzZWN0aW9uICovCisKKy8qIEJlZ2luIFBCWE5hdGl2ZVRhcmdldCBzZWN0
aW9uICovCisJCTE0MTQ1MUM5MTUyNTdFMUYwMDI1MDc3MSAvKiB0ZXN0LXRhcmdldCAqLyA9IHsK
KwkJCWlzYSA9IFBCWE5hdGl2ZVRhcmdldDsKKwkJCWJ1aWxkQ29uZmlndXJhdGlvbkxpc3QgPSAx
NDE0NTFEMzE1MjU3RTJFMDAyNTA3NzEgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQ
QlhOYXRpdmVUYXJnZXQgInRlc3QtdGFyZ2V0IiAqLzsKKwkJCWJ1aWxkUGhhc2VzID0gKAorCQkJ
CTE0MTQ1MUM1MTUyNTdFMUYwMDI1MDc3MSAvKiBIZWFkZXJzICovLAorCQkJCTE0MTQ1MUM2MTUy
NTdFMUYwMDI1MDc3MSAvKiBSZXNvdXJjZXMgKi8sCisJCQkJMTQxNDUxQzcxNTI1N0UxRjAwMjUw
NzcxIC8qIFNvdXJjZXMgKi8sCisJCQkJMTQxNDUxQzgxNTI1N0UxRjAwMjUwNzcxIC8qIEZyYW1l
d29ya3MgKi8sCisJCQkpOworCQkJYnVpbGRSdWxlcyA9ICgKKwkJCSk7CisJCQlkZXBlbmRlbmNp
ZXMgPSAoCisJCQkpOworCQkJbmFtZSA9ICJ0ZXN0LXRhcmdldCI7CisJCQlwcm9kdWN0TmFtZSA9
ICJ0ZXN0LXRhcmdldCI7CisJCQlwcm9kdWN0UmVmZXJlbmNlID0gMTQxNDUxQ0ExNTI1N0UxRjAw
MjUwNzcxIC8qIHRlc3QtdGFyZ2V0LmZyYW1ld29yayAqLzsKKwkJCXByb2R1Y3RUeXBlID0gImNv
bS5hcHBsZS5wcm9kdWN0LXR5cGUuZnJhbWV3b3JrIjsKKwkJfTsKKy8qIEVuZCBQQlhOYXRpdmVU
YXJnZXQgc2VjdGlvbiAqLworCisvKiBCZWdpbiBQQlhQcm9qZWN0IHNlY3Rpb24gKi8KKwkJMTQx
NDRGQ0YxNTI1NUFEODAwMjUwNzcxIC8qIFByb2plY3Qgb2JqZWN0ICovID0geworCQkJaXNhID0g
UEJYUHJvamVjdDsKKwkJCWJ1aWxkQ29uZmlndXJhdGlvbkxpc3QgPSAxNDE0NEZEMjE1MjU1QUQ4
MDAyNTA3NzEgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhQcm9qZWN0ICJYY29k
ZS11bnNvcnRlZCIgKi87CisJCQljb21wYXRpYmlsaXR5VmVyc2lvbiA9ICJYY29kZSAyLjQiOwor
CQkJZGV2ZWxvcG1lbnRSZWdpb24gPSBFbmdsaXNoOworCQkJaGFzU2Nhbm5lZEZvckVuY29kaW5n
cyA9IDA7CisJCQlrbm93blJlZ2lvbnMgPSAoCisJCQkJRW5nbGlzaCwKKwkJCQlKYXBhbmVzZSwK
KwkJCQlGcmVuY2gsCisJCQkJR2VybWFuLAorCQkJKTsKKwkJCW1haW5Hcm91cCA9IDE0MTQ0RkNE
MTUyNTVBRDgwMDI1MDc3MTsKKwkJCXByb2R1Y3RSZWZHcm91cCA9IDE0MTQ1MDRBMTUyNTdEMjQw
MDI1MDc3MSAvKiBQcm9kdWN0cyAqLzsKKwkJCXByb2plY3REaXJQYXRoID0gIiI7CisJCQlwcm9q
ZWN0Um9vdCA9ICIiOworCQkJdGFyZ2V0cyA9ICgKKwkJCQkxNDE0NTFDOTE1MjU3RTFGMDAyNTA3
NzEgLyogdGVzdC10YXJnZXQgKi8sCisJCQkpOworCQl9OworLyogRW5kIFBCWFByb2plY3Qgc2Vj
dGlvbiAqLworCisvKiBCZWdpbiBQQlhSZXNvdXJjZXNCdWlsZFBoYXNlIHNlY3Rpb24gKi8KKwkJ
MTQxNDUxQzYxNTI1N0UxRjAwMjUwNzcxIC8qIFJlc291cmNlcyAqLyA9IHsKKwkJCWlzYSA9IFBC
WFJlc291cmNlc0J1aWxkUGhhc2U7CisJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3Owor
CQkJZmlsZXMgPSAoCisJCQkpOworCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2lu
ZyA9IDA7CisJCX07CisvKiBFbmQgUEJYUmVzb3VyY2VzQnVpbGRQaGFzZSBzZWN0aW9uICovCisK
Ky8qIEJlZ2luIFBCWFNvdXJjZXNCdWlsZFBoYXNlIHNlY3Rpb24gKi8KKwkJMTQxNDUxQzcxNTI1
N0UxRjAwMjUwNzcxIC8qIFNvdXJjZXMgKi8gPSB7CisJCQlpc2EgPSBQQlhTb3VyY2VzQnVpbGRQ
aGFzZTsKKwkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CisJCQlmaWxlcyA9ICgKKwkJ
CQkxNDE0NTFFMTE1MjU4MkY5MDAyNTA3NzEgLyogZXhpc3RpbmctaW4tZGlyLmNwcCBpbiBTb3Vy
Y2VzICovLAorCQkJCTE0MTQ1MUUyMTUyNTgzMDEwMDI1MDc3MSAvKiBleGlzdGluZy5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQkxNDE0NTFFNzE1MjU4MzI0MDAyNTA3NzEgLyogZXhpc3RpbmctaW4t
Zm9sZGVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJKTsKKwkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50
UG9zdHByb2Nlc3NpbmcgPSAwOworCQl9OworLyogRW5kIFBCWFNvdXJjZXNCdWlsZFBoYXNlIHNl
Y3Rpb24gKi8KKworLyogQmVnaW4gWENCdWlsZENvbmZpZ3VyYXRpb24gc2VjdGlvbiAqLworCQkx
NDE0NEZEMDE1MjU1QUQ4MDAyNTA3NzEgLyogRGVidWcgKi8gPSB7CisJCQlpc2EgPSBYQ0J1aWxk
Q29uZmlndXJhdGlvbjsKKwkJCWJ1aWxkU2V0dGluZ3MgPSB7CisJCQkJQ09QWV9QSEFTRV9TVFJJ
UCA9IE5POworCQkJfTsKKwkJCW5hbWUgPSBEZWJ1ZzsKKwkJfTsKKwkJMTQxNDRGRDExNTI1NUFE
ODAwMjUwNzcxIC8qIFJlbGVhc2UgKi8gPSB7CisJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlv
bjsKKwkJCWJ1aWxkU2V0dGluZ3MgPSB7CisJCQkJQ09QWV9QSEFTRV9TVFJJUCA9IFlFUzsKKwkJ
CX07CisJCQluYW1lID0gUmVsZWFzZTsKKwkJfTsKKwkJMTQxNDUxQ0IxNTI1N0UxRjAwMjUwNzcx
IC8qIERlYnVnICovID0geworCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CisJCQlidWls
ZFNldHRpbmdzID0geworCQkJCUFMV0FZU19TRUFSQ0hfVVNFUl9QQVRIUyA9IE5POworCQkJCUNP
UFlfUEhBU0VfU1RSSVAgPSBOTzsKKwkJCQlEWUxJQl9DT01QQVRJQklMSVRZX1ZFUlNJT04gPSAx
OworCQkJCURZTElCX0NVUlJFTlRfVkVSU0lPTiA9IDE7CisJCQkJRlJBTUVXT1JLX1ZFUlNJT04g
PSBBOworCQkJCUdDQ19EWU5BTUlDX05PX1BJQyA9IE5POworCQkJCUdDQ19FTkFCTEVfRklYX0FO
RF9DT05USU5VRSA9IFlFUzsKKwkJCQlHQ0NfTU9ERUxfVFVOSU5HID0gRzU7CisJCQkJR0NDX09Q
VElNSVpBVElPTl9MRVZFTCA9IDA7CisJCQkJR0NDX1BSRUNPTVBJTEVfUFJFRklYX0hFQURFUiA9
IFlFUzsKKwkJCQlHQ0NfUFJFRklYX0hFQURFUiA9ICIkKFNZU1RFTV9MSUJSQVJZX0RJUikvRnJh
bWV3b3Jrcy9BcHBLaXQuZnJhbWV3b3JrL0hlYWRlcnMvQXBwS2l0LmgiOworCQkJCUlORk9QTElT
VF9GSUxFID0gInRlc3QtdGFyZ2V0LUluZm8ucGxpc3QiOworCQkJCUlOU1RBTExfUEFUSCA9ICIk
KEhPTUUpL0xpYnJhcnkvRnJhbWV3b3JrcyI7CisJCQkJT1RIRVJfTERGTEFHUyA9ICgKKwkJCQkJ
Ii1mcmFtZXdvcmsiLAorCQkJCQlGb3VuZGF0aW9uLAorCQkJCQkiLWZyYW1ld29yayIsCisJCQkJ
CUFwcEtpdCwKKwkJCQkpOworCQkJCVBSRUJJTkRJTkcgPSBOTzsKKwkJCQlQUk9EVUNUX05BTUUg
PSAidGVzdC10YXJnZXQiOworCQkJfTsKKwkJCW5hbWUgPSBEZWJ1ZzsKKwkJfTsKKwkJMTQxNDUx
Q0MxNTI1N0UxRjAwMjUwNzcxIC8qIFJlbGVhc2UgKi8gPSB7CisJCQlpc2EgPSBYQ0J1aWxkQ29u
ZmlndXJhdGlvbjsKKwkJCWJ1aWxkU2V0dGluZ3MgPSB7CisJCQkJQUxXQVlTX1NFQVJDSF9VU0VS
X1BBVEhTID0gTk87CisJCQkJQ09QWV9QSEFTRV9TVFJJUCA9IFlFUzsKKwkJCQlERUJVR19JTkZP
Uk1BVElPTl9GT1JNQVQgPSAiZHdhcmYtd2l0aC1kc3ltIjsKKwkJCQlEWUxJQl9DT01QQVRJQklM
SVRZX1ZFUlNJT04gPSAxOworCQkJCURZTElCX0NVUlJFTlRfVkVSU0lPTiA9IDE7CisJCQkJRlJB
TUVXT1JLX1ZFUlNJT04gPSBBOworCQkJCUdDQ19FTkFCTEVfRklYX0FORF9DT05USU5VRSA9IE5P
OworCQkJCUdDQ19NT0RFTF9UVU5JTkcgPSBHNTsKKwkJCQlHQ0NfUFJFQ09NUElMRV9QUkVGSVhf
SEVBREVSID0gWUVTOworCQkJCUdDQ19QUkVGSVhfSEVBREVSID0gIiQoU1lTVEVNX0xJQlJBUllf
RElSKS9GcmFtZXdvcmtzL0FwcEtpdC5mcmFtZXdvcmsvSGVhZGVycy9BcHBLaXQuaCI7CisJCQkJ
SU5GT1BMSVNUX0ZJTEUgPSAidGVzdC10YXJnZXQtSW5mby5wbGlzdCI7CisJCQkJSU5TVEFMTF9Q
QVRIID0gIiQoSE9NRSkvTGlicmFyeS9GcmFtZXdvcmtzIjsKKwkJCQlPVEhFUl9MREZMQUdTID0g
KAorCQkJCQkiLWZyYW1ld29yayIsCisJCQkJCUZvdW5kYXRpb24sCisJCQkJCSItZnJhbWV3b3Jr
IiwKKwkJCQkJQXBwS2l0LAorCQkJCSk7CisJCQkJUFJFQklORElORyA9IE5POworCQkJCVBST0RV
Q1RfTkFNRSA9ICJ0ZXN0LXRhcmdldCI7CisJCQkJWkVST19MSU5LID0gTk87CisJCQl9OworCQkJ
bmFtZSA9IFJlbGVhc2U7CisJCX07CisvKiBFbmQgWENCdWlsZENvbmZpZ3VyYXRpb24gc2VjdGlv
biAqLworCisvKiBCZWdpbiBYQ0NvbmZpZ3VyYXRpb25MaXN0IHNlY3Rpb24gKi8KKwkJMTQxNDRG
RDIxNTI1NUFEODAwMjUwNzcxIC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYUHJv
amVjdCAiWGNvZGUtdW5zb3J0ZWQiICovID0geworCQkJaXNhID0gWENDb25maWd1cmF0aW9uTGlz
dDsKKwkJCWJ1aWxkQ29uZmlndXJhdGlvbnMgPSAoCisJCQkJMTQxNDRGRDAxNTI1NUFEODAwMjUw
NzcxIC8qIERlYnVnICovLAorCQkJCTE0MTQ0RkQxMTUyNTVBRDgwMDI1MDc3MSAvKiBSZWxlYXNl
ICovLAorCQkJKTsKKwkJCWRlZmF1bHRDb25maWd1cmF0aW9uSXNWaXNpYmxlID0gMDsKKwkJCWRl
ZmF1bHRDb25maWd1cmF0aW9uTmFtZSA9IFJlbGVhc2U7CisJCX07CisJCTE0MTQ1MUQzMTUyNTdF
MkUwMDI1MDc3MSAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWE5hdGl2ZVRhcmdl
dCAidGVzdC10YXJnZXQiICovID0geworCQkJaXNhID0gWENDb25maWd1cmF0aW9uTGlzdDsKKwkJ
CWJ1aWxkQ29uZmlndXJhdGlvbnMgPSAoCisJCQkJMTQxNDUxQ0IxNTI1N0UxRjAwMjUwNzcxIC8q
IERlYnVnICovLAorCQkJCTE0MTQ1MUNDMTUyNTdFMUYwMDI1MDc3MSAvKiBSZWxlYXNlICovLAor
CQkJKTsKKwkJCWRlZmF1bHRDb25maWd1cmF0aW9uSXNWaXNpYmxlID0gMDsKKwkJCWRlZmF1bHRD
b25maWd1cmF0aW9uTmFtZSA9IFJlbGVhc2U7CisJCX07CisvKiBFbmQgWENDb25maWd1cmF0aW9u
TGlzdCBzZWN0aW9uICovCisJfTsKKwlyb290T2JqZWN0ID0gMTQxNDRGQ0YxNTI1NUFEODAwMjUw
NzcxIC8qIFByb2plY3Qgb2JqZWN0ICovOworfQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9jb21tb24vcHJvamVjdC91bml0dGVzdF9maWxlcy9YY29kZS11bnNvcnRlZC5wYnhw
cm9qIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vcHJvamVjdC91bml0dGVzdF9maWxl
cy9YY29kZS11bnNvcnRlZC5wYnhwcm9qCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAuLjIwZmI3YTEKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2Nv
bW1vbi9wcm9qZWN0L3VuaXR0ZXN0X2ZpbGVzL1hjb2RlLXVuc29ydGVkLnBieHByb2oKQEAgLTAs
MCArMSwyNjIgQEAKKy8vICEkKlVURjgqJCEKK3sKKwlhcmNoaXZlVmVyc2lvbiA9IDE7CisJY2xh
c3NlcyA9IHsKKwl9OworCW9iamVjdFZlcnNpb24gPSA0MjsKKwlvYmplY3RzID0geworCisvKiBC
ZWdpbiBQQlhCdWlsZEZpbGUgc2VjdGlvbiAqLworCQkxNDE0NTFFMTE1MjU4MkY5MDAyNTA3NzEg
LyogZXhpc3RpbmctaW4tZGlyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDE0MTQ0RkY1MTUyNTc5RDYwMDI1MDc3MSAvKiBleGlzdGluZy1pbi1kaXIu
Y3BwICovOyB9OworCQkxNDE0NTFFMjE1MjU4MzAxMDAyNTA3NzEgLyogZXhpc3RpbmcuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTQxNDRGRUMxNTI1
Nzk1MTAwMjUwNzcxIC8qIGV4aXN0aW5nLmNwcCAqLzsgfTsKKwkJMTQxNDUxRTcxNTI1ODMyNDAw
MjUwNzcxIC8qIGV4aXN0aW5nLWluLWZvbGRlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDE0NEZGMjE1MjU3OTk2MDAyNTA3NzEgLyogZXhpc3Rp
bmctaW4tZm9sZGVyLmNwcCAqLzsgfTsKKwkJMTQxNDUxRTgxNTI1ODMyQTAwMjUwNzcxIC8qIGV4
aXN0aW5nLWluLWRpci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMTQxNDRGRjQxNTI1NzlENjAwMjUwNzcxIC8qIGV4aXN0aW5nLWluLWRpci5oICovOyB9
OworCQkxNDE0NTFFOTE1MjU4MzJFMDAyNTA3NzEgLyogZXhpc3RpbmctaW4tZm9sZGVyLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDE0NEZGMTE1MjU3
OTk2MDAyNTA3NzEgLyogZXhpc3RpbmctaW4tZm9sZGVyLmggKi87IH07CisJCTE0MTQ1MUVBMTUy
NTgzMzMwMDI1MDc3MSAvKiBleGlzdGluZy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMTQxNDRGRUIxNTI1Nzk1MTAwMjUwNzcxIC8qIGV4aXN0aW5nLmgg
Ki87IH07CisvKiBFbmQgUEJYQnVpbGRGaWxlIHNlY3Rpb24gKi8KKworLyogQmVnaW4gUEJYRmls
ZVJlZmVyZW5jZSBzZWN0aW9uICovCisJCTE0MTQ0RkVCMTUyNTc5NTEwMDI1MDc3MSAvKiBleGlz
dGluZy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBleGlzdGluZy5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxNDE0NEZFQzE1MjU3OTUxMDAyNTA3NzEgLyogZXhp
c3RpbmcuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gZXhpc3Rpbmcu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxNDE0NEZGMTE1MjU3OTk2MDAyNTA3
NzEgLyogZXhpc3RpbmctaW4tZm9sZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9ICJleGlzdGluZy1pbi1mb2xkZXIuaCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTE0MTQ0RkYyMTUyNTc5OTYwMDI1MDc3MSAvKiBleGlzdGluZy1pbi1mb2xkZXIuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gImV4aXN0aW5nLWluLWZvbGRlci5jcHAi
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxNDE0NEZGNDE1MjU3OUQ2MDAyNTA3NzEg
LyogZXhpc3RpbmctaW4tZGlyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9ICJl
eGlzdGluZy1pbi1kaXIuaCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTE0MTQ0RkY1
MTUyNTc5RDYwMDI1MDc3MSAvKiBleGlzdGluZy1pbi1kaXIuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gImV4aXN0aW5nLWluLWRpci5jcHAiOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkxNDE0NTA0QzE1MjU3RDI0MDAyNTA3NzEgLyogdGVzdC10YXJnZXQt
SW5mby5wbGlzdCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHRleHQucGxpc3QueG1sOyBwYXRoID0gInRlc3QtdGFyZ2V0LUluZm8ucGxpc3QiOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxNDE0NTFDQTE1MjU3RTFGMDAyNTA3NzEgLyogdGVz
dC10YXJnZXQuZnJhbWV3b3JrICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGV4cGxpY2l0
RmlsZVR5cGUgPSB3cmFwcGVyLmZyYW1ld29yazsgaW5jbHVkZUluSW5kZXggPSAwOyBwYXRoID0g
InRlc3QtdGFyZ2V0LmZyYW1ld29yayI7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7
IH07CisvKiBFbmQgUEJYRmlsZVJlZmVyZW5jZSBzZWN0aW9uICovCisKKy8qIEJlZ2luIFBCWEZy
YW1ld29ya3NCdWlsZFBoYXNlIHNlY3Rpb24gKi8KKwkJMTQxNDUxQzgxNTI1N0UxRjAwMjUwNzcx
IC8qIEZyYW1ld29ya3MgKi8gPSB7CisJCQlpc2EgPSBQQlhGcmFtZXdvcmtzQnVpbGRQaGFzZTsK
KwkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CisJCQlmaWxlcyA9ICgKKwkJCSk7CisJ
CQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKKwkJfTsKKy8qIEVuZCBQ
QlhGcmFtZXdvcmtzQnVpbGRQaGFzZSBzZWN0aW9uICovCisKKy8qIEJlZ2luIFBCWEdyb3VwIHNl
Y3Rpb24gKi8KKwkJMTQxNDRGQ0QxNTI1NUFEODAwMjUwNzcxID0gLyogdW5pdHRlc3QgKi8gewor
CQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQkxNDE0NTAyQzE1MjU3QUNE
MDAyNTA3NzEgLyogdGVzdC1wcm9qZWN0ICovLAorCQkJCTE0MTQ1MDRBMTUyNTdEMjQwMDI1MDc3
MSAvKiBQcm9kdWN0cyAqLywKKwkJCQkxNDE0NTA0QzE1MjU3RDI0MDAyNTA3NzEgLyogdGVzdC10
YXJnZXQtSW5mby5wbGlzdCAqLywKKwkJCSk7CisgICAgICAgICAgICBuYW1lID0gInVuaXR0ZXN0
IjsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CisJCTE0MTQ0RkVEMTUyNTc5NzAw
MDI1MDc3MSAvKiB0ZXN0LXByb2plY3QgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNo
aWxkcmVuID0gKAorCQkJCTE0MTQ0RkYxMTUyNTc5OTYwMDI1MDc3MSAvKiBleGlzdGluZy1pbi1m
b2xkZXIuaCAqLywKKwkJCQkxNDE0NEZGMjE1MjU3OTk2MDAyNTA3NzEgLyogZXhpc3RpbmctaW4t
Zm9sZGVyLmNwcCAqLywKKwkJCSk7CisJCQluYW1lID0gInRlc3QtcHJvamVjdCI7CisJCQlzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOworCQl9OworCQkxNDE0NEZGMzE1MjU3OTlEMDAyNTA3NzEgLyog
c3ViZm9sZGVyICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJ
CQkxNDE0NEZGNDE1MjU3OUQ2MDAyNTA3NzEgLyogZXhpc3RpbmctaW4tZGlyLmggKi8sCisJCQkJ
MTQxNDRGRjUxNTI1NzlENjAwMjUwNzcxIC8qIGV4aXN0aW5nLWluLWRpci5jcHAgKi8sCisJCQkp
OworCQkJcGF0aCA9IHN1YmZvbGRlcjsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07
CisJCTE0MTQ1MDJDMTUyNTdBQ0QwMDI1MDc3MSAvKiB0ZXN0LXByb2plY3QgKi8gPSB7CisJCQlp
c2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCTE0MTQ0RkYzMTUyNTc5OUQwMDI1
MDc3MSAvKiBzdWJmb2xkZXIgKi8sCisJCQkJMTQxNDRGRUQxNTI1Nzk3MDAwMjUwNzcxIC8qIHRl
c3QtcHJvamVjdCAqLywKKwkJCQkxNDE0NEZFQjE1MjU3OTUxMDAyNTA3NzEgLyogZXhpc3Rpbmcu
aCAqLywKKwkJCQkxNDE0NEZFQzE1MjU3OTUxMDAyNTA3NzEgLyogZXhpc3RpbmcuY3BwICovLAor
CQkJKTsKKwkJCXBhdGggPSAidGVzdC1wcm9qZWN0IjsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7CisJCX07CisJCTE0MTQ1MDRBMTUyNTdEMjQwMDI1MDc3MSAvKiBQcm9kdWN0cyAqLyA9IHsK
KwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJMTQxNDUxQ0ExNTI1N0Ux
RjAwMjUwNzcxIC8qIHRlc3QtdGFyZ2V0LmZyYW1ld29yayAqLywKKwkJCSk7CisJCQluYW1lID0g
UHJvZHVjdHM7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OworLyogRW5kIFBCWEdy
b3VwIHNlY3Rpb24gKi8KKworLyogQmVnaW4gUEJYSGVhZGVyc0J1aWxkUGhhc2Ugc2VjdGlvbiAq
LworCQkxNDE0NTFDNTE1MjU3RTFGMDAyNTA3NzEgLyogSGVhZGVycyAqLyA9IHsKKwkJCWlzYSA9
IFBCWEhlYWRlcnNCdWlsZFBoYXNlOworCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsK
KwkJCWZpbGVzID0gKAorCQkJCTE0MTQ1MUU4MTUyNTgzMkEwMDI1MDc3MSAvKiBleGlzdGluZy1p
bi1kaXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTE0MTQ1MUU5MTUyNTgzMkUwMDI1MDc3MSAvKiBl
eGlzdGluZy1pbi1mb2xkZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTE0MTQ1MUVBMTUyNTgzMzMw
MDI1MDc3MSAvKiBleGlzdGluZy5oIGluIEhlYWRlcnMgKi8sCisJCQkpOworCQkJcnVuT25seUZv
ckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CisJCX07CisvKiBFbmQgUEJYSGVhZGVyc0J1
aWxkUGhhc2Ugc2VjdGlvbiAqLworCisvKiBCZWdpbiBQQlhOYXRpdmVUYXJnZXQgc2VjdGlvbiAq
LworCQkxNDE0NTFDOTE1MjU3RTFGMDAyNTA3NzEgLyogdGVzdC10YXJnZXQgKi8gPSB7CisJCQlp
c2EgPSBQQlhOYXRpdmVUYXJnZXQ7CisJCQlidWlsZENvbmZpZ3VyYXRpb25MaXN0ID0gMTQxNDUx
RDMxNTI1N0UyRTAwMjUwNzcxIC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYTmF0
aXZlVGFyZ2V0ICJ0ZXN0LXRhcmdldCIgKi87CisJCQlidWlsZFBoYXNlcyA9ICgKKwkJCQkxNDE0
NTFDNTE1MjU3RTFGMDAyNTA3NzEgLyogSGVhZGVycyAqLywKKwkJCQkxNDE0NTFDNjE1MjU3RTFG
MDAyNTA3NzEgLyogUmVzb3VyY2VzICovLAorCQkJCTE0MTQ1MUM3MTUyNTdFMUYwMDI1MDc3MSAv
KiBTb3VyY2VzICovLAorCQkJCTE0MTQ1MUM4MTUyNTdFMUYwMDI1MDc3MSAvKiBGcmFtZXdvcmtz
ICovLAorCQkJKTsKKwkJCWJ1aWxkUnVsZXMgPSAoCisJCQkpOworCQkJZGVwZW5kZW5jaWVzID0g
KAorCQkJKTsKKwkJCW5hbWUgPSAidGVzdC10YXJnZXQiOworCQkJcHJvZHVjdE5hbWUgPSAidGVz
dC10YXJnZXQiOworCQkJcHJvZHVjdFJlZmVyZW5jZSA9IDE0MTQ1MUNBMTUyNTdFMUYwMDI1MDc3
MSAvKiB0ZXN0LXRhcmdldC5mcmFtZXdvcmsgKi87CisJCQlwcm9kdWN0VHlwZSA9ICJjb20uYXBw
bGUucHJvZHVjdC10eXBlLmZyYW1ld29yayI7CisJCX07CisvKiBFbmQgUEJYTmF0aXZlVGFyZ2V0
IHNlY3Rpb24gKi8KKworLyogQmVnaW4gUEJYUHJvamVjdCBzZWN0aW9uICovCisJCTE0MTQ0RkNG
MTUyNTVBRDgwMDI1MDc3MSAvKiBQcm9qZWN0IG9iamVjdCAqLyA9IHsKKwkJCWlzYSA9IFBCWFBy
b2plY3Q7CisJCQlidWlsZENvbmZpZ3VyYXRpb25MaXN0ID0gMTQxNDRGRDIxNTI1NUFEODAwMjUw
NzcxIC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYUHJvamVjdCAiWGNvZGUtdW5z
b3J0ZWQiICovOworCQkJY29tcGF0aWJpbGl0eVZlcnNpb24gPSAiWGNvZGUgMi40IjsKKwkJCWRl
dmVsb3BtZW50UmVnaW9uID0gRW5nbGlzaDsKKwkJCWhhc1NjYW5uZWRGb3JFbmNvZGluZ3MgPSAw
OworCQkJa25vd25SZWdpb25zID0gKAorCQkJCUVuZ2xpc2gsCisJCQkJSmFwYW5lc2UsCisJCQkJ
RnJlbmNoLAorCQkJCUdlcm1hbiwKKwkJCSk7CisJCQltYWluR3JvdXAgPSAxNDE0NEZDRDE1MjU1
QUQ4MDAyNTA3NzE7CisJCQlwcm9kdWN0UmVmR3JvdXAgPSAxNDE0NTA0QTE1MjU3RDI0MDAyNTA3
NzEgLyogUHJvZHVjdHMgKi87CisJCQlwcm9qZWN0RGlyUGF0aCA9ICIiOworCQkJcHJvamVjdFJv
b3QgPSAiIjsKKwkJCXRhcmdldHMgPSAoCisJCQkJMTQxNDUxQzkxNTI1N0UxRjAwMjUwNzcxIC8q
IHRlc3QtdGFyZ2V0ICovLAorCQkJKTsKKwkJfTsKKy8qIEVuZCBQQlhQcm9qZWN0IHNlY3Rpb24g
Ki8KKworLyogQmVnaW4gUEJYUmVzb3VyY2VzQnVpbGRQaGFzZSBzZWN0aW9uICovCisJCTE0MTQ1
MUM2MTUyNTdFMUYwMDI1MDc3MSAvKiBSZXNvdXJjZXMgKi8gPSB7CisJCQlpc2EgPSBQQlhSZXNv
dXJjZXNCdWlsZFBoYXNlOworCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKKwkJCWZp
bGVzID0gKAorCQkJKTsKKwkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAw
OworCQl9OworLyogRW5kIFBCWFJlc291cmNlc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLworCisvKiBC
ZWdpbiBQQlhTb3VyY2VzQnVpbGRQaGFzZSBzZWN0aW9uICovCisJCTE0MTQ1MUM3MTUyNTdFMUYw
MDI1MDc3MSAvKiBTb3VyY2VzICovID0geworCQkJaXNhID0gUEJYU291cmNlc0J1aWxkUGhhc2U7
CisJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OworCQkJZmlsZXMgPSAoCisJCQkJMTQx
NDUxRTExNTI1ODJGOTAwMjUwNzcxIC8qIGV4aXN0aW5nLWluLWRpci5jcHAgaW4gU291cmNlcyAq
LywKKwkJCQkxNDE0NTFFMjE1MjU4MzAxMDAyNTA3NzEgLyogZXhpc3RpbmcuY3BwIGluIFNvdXJj
ZXMgKi8sCisJCQkJMTQxNDUxRTcxNTI1ODMyNDAwMjUwNzcxIC8qIGV4aXN0aW5nLWluLWZvbGRl
ci5jcHAgaW4gU291cmNlcyAqLywKKwkJCSk7CisJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rw
cm9jZXNzaW5nID0gMDsKKwkJfTsKKy8qIEVuZCBQQlhTb3VyY2VzQnVpbGRQaGFzZSBzZWN0aW9u
ICovCisKKy8qIEJlZ2luIFhDQnVpbGRDb25maWd1cmF0aW9uIHNlY3Rpb24gKi8KKwkJMTQxNDRG
RDAxNTI1NUFEODAwMjUwNzcxIC8qIERlYnVnICovID0geworCQkJaXNhID0gWENCdWlsZENvbmZp
Z3VyYXRpb247CisJCQlidWlsZFNldHRpbmdzID0geworCQkJCUNPUFlfUEhBU0VfU1RSSVAgPSBO
TzsKKwkJCX07CisJCQluYW1lID0gRGVidWc7CisJCX07CisJCTE0MTQ0RkQxMTUyNTVBRDgwMDI1
MDc3MSAvKiBSZWxlYXNlICovID0geworCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CisJ
CQlidWlsZFNldHRpbmdzID0geworCQkJCUNPUFlfUEhBU0VfU1RSSVAgPSBZRVM7CisJCQl9Owor
CQkJbmFtZSA9IFJlbGVhc2U7CisJCX07CisJCTE0MTQ1MUNCMTUyNTdFMUYwMDI1MDc3MSAvKiBE
ZWJ1ZyAqLyA9IHsKKwkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOworCQkJYnVpbGRTZXR0
aW5ncyA9IHsKKwkJCQlBTFdBWVNfU0VBUkNIX1VTRVJfUEFUSFMgPSBOTzsKKwkJCQlDT1BZX1BI
QVNFX1NUUklQID0gTk87CisJCQkJRFlMSUJfQ09NUEFUSUJJTElUWV9WRVJTSU9OID0gMTsKKwkJ
CQlEWUxJQl9DVVJSRU5UX1ZFUlNJT04gPSAxOworCQkJCUZSQU1FV09SS19WRVJTSU9OID0gQTsK
KwkJCQlHQ0NfRFlOQU1JQ19OT19QSUMgPSBOTzsKKwkJCQlHQ0NfRU5BQkxFX0ZJWF9BTkRfQ09O
VElOVUUgPSBZRVM7CisJCQkJR0NDX01PREVMX1RVTklORyA9IEc1OworCQkJCUdDQ19PUFRJTUla
QVRJT05fTEVWRUwgPSAwOworCQkJCUdDQ19QUkVDT01QSUxFX1BSRUZJWF9IRUFERVIgPSBZRVM7
CisJCQkJR0NDX1BSRUZJWF9IRUFERVIgPSAiJChTWVNURU1fTElCUkFSWV9ESVIpL0ZyYW1ld29y
a3MvQXBwS2l0LmZyYW1ld29yay9IZWFkZXJzL0FwcEtpdC5oIjsKKwkJCQlJTkZPUExJU1RfRklM
RSA9ICJ0ZXN0LXRhcmdldC1JbmZvLnBsaXN0IjsKKwkJCQlJTlNUQUxMX1BBVEggPSAiJChIT01F
KS9MaWJyYXJ5L0ZyYW1ld29ya3MiOworCQkJCU9USEVSX0xERkxBR1MgPSAoCisJCQkJCSItZnJh
bWV3b3JrIiwKKwkJCQkJRm91bmRhdGlvbiwKKwkJCQkJIi1mcmFtZXdvcmsiLAorCQkJCQlBcHBL
aXQsCisJCQkJKTsKKwkJCQlQUkVCSU5ESU5HID0gTk87CisJCQkJUFJPRFVDVF9OQU1FID0gInRl
c3QtdGFyZ2V0IjsKKwkJCX07CisJCQluYW1lID0gRGVidWc7CisJCX07CisJCTE0MTQ1MUNDMTUy
NTdFMUYwMDI1MDc3MSAvKiBSZWxlYXNlICovID0geworCQkJaXNhID0gWENCdWlsZENvbmZpZ3Vy
YXRpb247CisJCQlidWlsZFNldHRpbmdzID0geworCQkJCUFMV0FZU19TRUFSQ0hfVVNFUl9QQVRI
UyA9IE5POworCQkJCUNPUFlfUEhBU0VfU1RSSVAgPSBZRVM7CisJCQkJREVCVUdfSU5GT1JNQVRJ
T05fRk9STUFUID0gImR3YXJmLXdpdGgtZHN5bSI7CisJCQkJRFlMSUJfQ09NUEFUSUJJTElUWV9W
RVJTSU9OID0gMTsKKwkJCQlEWUxJQl9DVVJSRU5UX1ZFUlNJT04gPSAxOworCQkJCUZSQU1FV09S
S19WRVJTSU9OID0gQTsKKwkJCQlHQ0NfRU5BQkxFX0ZJWF9BTkRfQ09OVElOVUUgPSBOTzsKKwkJ
CQlHQ0NfTU9ERUxfVFVOSU5HID0gRzU7CisJCQkJR0NDX1BSRUNPTVBJTEVfUFJFRklYX0hFQURF
UiA9IFlFUzsKKwkJCQlHQ0NfUFJFRklYX0hFQURFUiA9ICIkKFNZU1RFTV9MSUJSQVJZX0RJUikv
RnJhbWV3b3Jrcy9BcHBLaXQuZnJhbWV3b3JrL0hlYWRlcnMvQXBwS2l0LmgiOworCQkJCUlORk9Q
TElTVF9GSUxFID0gInRlc3QtdGFyZ2V0LUluZm8ucGxpc3QiOworCQkJCUlOU1RBTExfUEFUSCA9
ICIkKEhPTUUpL0xpYnJhcnkvRnJhbWV3b3JrcyI7CisJCQkJT1RIRVJfTERGTEFHUyA9ICgKKwkJ
CQkJIi1mcmFtZXdvcmsiLAorCQkJCQlGb3VuZGF0aW9uLAorCQkJCQkiLWZyYW1ld29yayIsCisJ
CQkJCUFwcEtpdCwKKwkJCQkpOworCQkJCVBSRUJJTkRJTkcgPSBOTzsKKwkJCQlQUk9EVUNUX05B
TUUgPSAidGVzdC10YXJnZXQiOworCQkJCVpFUk9fTElOSyA9IE5POworCQkJfTsKKwkJCW5hbWUg
PSBSZWxlYXNlOworCQl9OworLyogRW5kIFhDQnVpbGRDb25maWd1cmF0aW9uIHNlY3Rpb24gKi8K
KworLyogQmVnaW4gWENDb25maWd1cmF0aW9uTGlzdCBzZWN0aW9uICovCisJCTE0MTQ0RkQyMTUy
NTVBRDgwMDI1MDc3MSAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWFByb2plY3Qg
Ilhjb2RlLXVuc29ydGVkIiAqLyA9IHsKKwkJCWlzYSA9IFhDQ29uZmlndXJhdGlvbkxpc3Q7CisJ
CQlidWlsZENvbmZpZ3VyYXRpb25zID0gKAorCQkJCTE0MTQ0RkQwMTUyNTVBRDgwMDI1MDc3MSAv
KiBEZWJ1ZyAqLywKKwkJCQkxNDE0NEZEMTE1MjU1QUQ4MDAyNTA3NzEgLyogUmVsZWFzZSAqLywK
KwkJCSk7CisJCQlkZWZhdWx0Q29uZmlndXJhdGlvbklzVmlzaWJsZSA9IDA7CisJCQlkZWZhdWx0
Q29uZmlndXJhdGlvbk5hbWUgPSBSZWxlYXNlOworCQl9OworCQkxNDE0NTFEMzE1MjU3RTJFMDAy
NTA3NzEgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhOYXRpdmVUYXJnZXQgInRl
c3QtdGFyZ2V0IiAqLyA9IHsKKwkJCWlzYSA9IFhDQ29uZmlndXJhdGlvbkxpc3Q7CisJCQlidWls
ZENvbmZpZ3VyYXRpb25zID0gKAorCQkJCTE0MTQ1MUNCMTUyNTdFMUYwMDI1MDc3MSAvKiBEZWJ1
ZyAqLywKKwkJCQkxNDE0NTFDQzE1MjU3RTFGMDAyNTA3NzEgLyogUmVsZWFzZSAqLywKKwkJCSk7
CisJCQlkZWZhdWx0Q29uZmlndXJhdGlvbklzVmlzaWJsZSA9IDA7CisJCQlkZWZhdWx0Q29uZmln
dXJhdGlvbk5hbWUgPSBSZWxlYXNlOworCQl9OworLyogRW5kIFhDQ29uZmlndXJhdGlvbkxpc3Qg
c2VjdGlvbiAqLworCX07CisJcm9vdE9iamVjdCA9IDE0MTQ0RkNGMTUyNTVBRDgwMDI1MDc3MSAv
KiBQcm9qZWN0IG9iamVjdCAqLzsKK30KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvY29tbW9uL3Byb2plY3QvdW5pdHRlc3RfZmlsZXMvdGVzdC1wcm9qZWN0L2V4aXN0aW5nLWlu
LWZvbGRlci5jcHAgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9wcm9qZWN0L3VuaXR0
ZXN0X2ZpbGVzL3Rlc3QtcHJvamVjdC9leGlzdGluZy1pbi1mb2xkZXIuY3BwCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ4NDI4Y2IKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9wcm9qZWN0L3VuaXR0ZXN0X2ZpbGVzL3Rlc3QtcHJv
amVjdC9leGlzdGluZy1pbi1mb2xkZXIuY3BwCkBAIC0wLDAgKzEsMzEgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0
aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5h
bWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAor
ICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiZXhp
c3RpbmctaW4tZm9sZGVyLmgiCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2Nv
bW1vbi9wcm9qZWN0L3VuaXR0ZXN0X2ZpbGVzL3Rlc3QtcHJvamVjdC9leGlzdGluZy1pbi1mb2xk
ZXIuaCBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3Byb2plY3QvdW5pdHRlc3RfZmls
ZXMvdGVzdC1wcm9qZWN0L2V4aXN0aW5nLWluLWZvbGRlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAuLjNiMDVjZTIKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L2NvbW1vbi9wcm9qZWN0L3VuaXR0ZXN0X2ZpbGVzL3Rlc3QtcHJvamVjdC9leGlz
dGluZy1pbi1mb2xkZXIuaApAQCAtMCwwICsxLDM4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMK
KyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBleGlzdGluZ19pbl9mb2xk
ZXJfaAorI2RlZmluZSBleGlzdGluZ19pbl9mb2xkZXJfaAorCisjaW5jbHVkZSAiY29uZmlnLmgi
CisKKworCisjZW5kaWYKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9u
L3Byb2plY3QvdW5pdHRlc3RfZmlsZXMvdGVzdC1wcm9qZWN0L2V4aXN0aW5nLmNwcCBiL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3Byb2plY3QvdW5pdHRlc3RfZmlsZXMvdGVzdC1wcm9q
ZWN0L2V4aXN0aW5nLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNzFl
YzZmCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vcHJv
amVjdC91bml0dGVzdF9maWxlcy90ZXN0LXByb2plY3QvZXhpc3RpbmcuY3BwCkBAIC0wLDAgKzEs
MzIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAq
CisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICog
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29n
bGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQK
KyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaW5jbHVkZSAidGVzdC5oIgorCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2NvbW1vbi9wcm9qZWN0L3VuaXR0ZXN0X2ZpbGVzL3Rlc3QtcHJvamVjdC9leGlzdGluZy5o
IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vcHJvamVjdC91bml0dGVzdF9maWxlcy90
ZXN0LXByb2plY3QvZXhpc3RpbmcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
Li4yZGQ0OWQxCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21t
b24vcHJvamVjdC91bml0dGVzdF9maWxlcy90ZXN0LXByb2plY3QvZXhpc3RpbmcuaApAQCAtMCww
ICsxLDM4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6
CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIK
KyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg
R29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2lmbmRlZiBleGlzdGluZ19oCisjZGVmaW5lIGV4aXN0aW5nX2gKKworI2luY2x1
ZGUgImNvbmZpZy5oIgorCisKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L2NvbW1vbi9wcm9qZWN0L3VuaXR0ZXN0X2ZpbGVzL3Rlc3QtcHJvamVjdC9zdWJmb2xk
ZXIvZXhpc3RpbmctaW4tZGlyLmNwcCBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3By
b2plY3QvdW5pdHRlc3RfZmlsZXMvdGVzdC1wcm9qZWN0L3N1YmZvbGRlci9leGlzdGluZy1pbi1k
aXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY0ZTliY2EKLS0tIC9k
ZXYvbnVsbAorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9wcm9qZWN0L3VuaXR0
ZXN0X2ZpbGVzL3Rlc3QtcHJvamVjdC9zdWJmb2xkZXIvZXhpc3RpbmctaW4tZGlyLmNwcApAQCAt
MCwwICsxLDMyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBt
ZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUg
b2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICog
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI2luY2x1ZGUgImV4aXN0aW5nLWluLWRpci5oIgorCmRpZmYgLS1naXQgYS9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9wcm9qZWN0L3VuaXR0ZXN0X2ZpbGVzL3Rlc3Qt
cHJvamVjdC9zdWJmb2xkZXIvZXhpc3RpbmctaW4tZGlyLmggYi9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2NvbW1vbi9wcm9qZWN0L3VuaXR0ZXN0X2ZpbGVzL3Rlc3QtcHJvamVjdC9zdWJmb2xkZXIv
ZXhpc3RpbmctaW4tZGlyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTll
NmI4NQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3By
b2plY3QvdW5pdHRlc3RfZmlsZXMvdGVzdC1wcm9qZWN0L3N1YmZvbGRlci9leGlzdGluZy1pbi1k
aXIuaApAQCAtMCwwICsxLDM4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIg
dGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1
dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBm
cm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IK
KyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBleGlzdGluZ19pbl9kaXJfaAorI2RlZmluZSBl
eGlzdGluZ19pbl9kaXJfaAorCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKworCisjZW5kaWYKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3Byb2plY3QvdW5pdHRlc3Rf
ZmlsZXMvdGVzdC10YXJnZXQtSW5mby5wbGlzdCBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29t
bW9uL3Byb2plY3QvdW5pdHRlc3RfZmlsZXMvdGVzdC10YXJnZXQtSW5mby5wbGlzdApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYmE5M2I1Ci0tLSAvZGV2L251bGwKKysrIGIv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vcHJvamVjdC91bml0dGVzdF9maWxlcy90ZXN0
LXRhcmdldC1JbmZvLnBsaXN0CkBAIC0wLDAgKzEsMjggQEAKKzw/eG1sIHZlcnNpb249IjEuMCIg
ZW5jb2Rpbmc9IlVURi04Ij8+Cis8IURPQ1RZUEUgcGxpc3QgUFVCTElDICItLy9BcHBsZS8vRFRE
IFBMSVNUIDEuMC8vRU4iICJodHRwOi8vd3d3LmFwcGxlLmNvbS9EVERzL1Byb3BlcnR5TGlzdC0x
LjAuZHRkIj4KKzxwbGlzdCB2ZXJzaW9uPSIxLjAiPgorPGRpY3Q+CisJPGtleT5DRkJ1bmRsZURl
dmVsb3BtZW50UmVnaW9uPC9rZXk+CisJPHN0cmluZz5FbmdsaXNoPC9zdHJpbmc+CisJPGtleT5D
RkJ1bmRsZUV4ZWN1dGFibGU8L2tleT4KKwk8c3RyaW5nPiR7RVhFQ1VUQUJMRV9OQU1FfTwvc3Ry
aW5nPgorCTxrZXk+Q0ZCdW5kbGVJZGVudGlmaWVyPC9rZXk+CisJPHN0cmluZz5jb20ueW91cmNv
bXBhbnkuJHtQUk9EVUNUX05BTUU6cmZjMTAzNGlkZW50aWZpZXJ9PC9zdHJpbmc+CisJPGtleT5D
RkJ1bmRsZUluZm9EaWN0aW9uYXJ5VmVyc2lvbjwva2V5PgorCTxzdHJpbmc+Ni4wPC9zdHJpbmc+
CisJPGtleT5DRkJ1bmRsZVBhY2thZ2VUeXBlPC9rZXk+CisJPHN0cmluZz5BUFBMPC9zdHJpbmc+
CisJPGtleT5DRkJ1bmRsZVNob3J0VmVyc2lvblN0cmluZzwva2V5PgorCTxzdHJpbmc+MS4wPC9z
dHJpbmc+CisJPGtleT5DRkJ1bmRsZVNpZ25hdHVyZTwva2V5PgorCTxzdHJpbmc+Pz8/Pzwvc3Ry
aW5nPgorCTxrZXk+Q0ZCdW5kbGVWZXJzaW9uPC9rZXk+CisJPHN0cmluZz4xPC9zdHJpbmc+CisJ
PGtleT5MU01pbmltdW1TeXN0ZW1WZXJzaW9uPC9rZXk+CisJPHN0cmluZz4ke01BQ09TWF9ERVBM
T1lNRU5UX1RBUkdFVH08L3N0cmluZz4KKwk8a2V5Pk5TTWFpbk5pYkZpbGU8L2tleT4KKwk8c3Ry
aW5nPk1haW5NZW51PC9zdHJpbmc+CisJPGtleT5OU1ByaW5jaXBhbENsYXNzPC9rZXk+CisJPHN0
cmluZz5OU0FwcGxpY2F0aW9uPC9zdHJpbmc+Cis8L2RpY3Q+Cis8L3BsaXN0PgpkaWZmIC0tZ2l0
IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vcHJvamVjdC93ZWJraXRmaWxlLnB5IGIv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vcHJvamVjdC93ZWJraXRmaWxlLnB5Cm5ldyBm
aWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjNlM2NjYTQKLS0tIC9kZXYvbnVsbAorKysg
Yi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9wcm9qZWN0L3dlYmtpdGZpbGUucHkKQEAg
LTAsMCArMSwzNjMgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbgorIyBDb3B5cmlnaHQgKGMpIDIw
MTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUKKyMgbWV0OgorIworIyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorIyBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisjICAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyMg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lcgorIyBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlCisjIGRpc3RyaWJ1dGlvbi4KKyMgICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworIyBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bQorIyB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLgorIworIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTCisjICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisjIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorIyBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVAorIyBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyMgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyMgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZCisjIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyMgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisjIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisj
CisjIFRoaXMgaXMgYSB2ZXJ5IHNpbXBsZSBzY3JpcHQgZGVzaWduZWQgdG8gY3Jhd2wgdGhlIGJ1
aWxkIGRpcmVjdG9yeQorIyBmb3IgdmlzdWFsIHN0dWRpbyBleHByZXNzIGJ1aWxkIGxvZ3MgYW5k
IHByaW50IHRoZW0gdG8gc3Rkb3V0LgorCitpbXBvcnQgZmlsZWNtcAorCitmcm9tIHdlYmtpdHB5
LmNvbW1vbi5wcm9qZWN0LmNvbW1hbmQgaW1wb3J0ICoKK2Zyb20gd2Via2l0cHkuY29tbW9uLnBy
b2plY3QuY29tbW9uIGltcG9ydCAqCitmcm9tIHdlYmtpdHB5LmNvbW1vbi5wcm9qZWN0Lm9wdGlv
bnMgaW1wb3J0ICoKKworI2Zyb20gd2Via2l0cHkuY29tbW9uLnByb2plY3QuYWxsaW5vbmVwcm9q
IGltcG9ydCAqCisjZnJvbSB3ZWJraXRweS5jb21tb24ucHJvamVjdC5jbWFrZXByb2ogaW1wb3J0
ICoKKyNmcm9tIHdlYmtpdHB5LmNvbW1vbi5wcm9qZWN0LmdudXByb2ogaW1wb3J0ICoKKyNmcm9t
IHdlYmtpdHB5LmNvbW1vbi5wcm9qZWN0Lmd5cGlwcm9qIGltcG9ydCAqCitmcm9tIHdlYmtpdHB5
LmNvbW1vbi5wcm9qZWN0LnF0cHJvaiBpbXBvcnQgKgorI2Zyb20gd2Via2l0cHkuY29tbW9uLnBy
b2plY3QudmNwcm9qIGltcG9ydCAqCitmcm9tIHdlYmtpdHB5LmNvbW1vbi5wcm9qZWN0Lnhjb2Rl
cHJvaiBpbXBvcnQgKgorCisjIE5PVEU6CisjCisjIEZpbGVzIHdpdGhpbiB0aGUgV2ViQ29yZSBE
ZXJpdmVkU291cmNlcyBkaXJlY3Rvcnkgc2hvdWxkIHJlc2lkZSB3aXRoaW4gYSBzaW5nbGUgQ29t
bW9uRGlyZWN0b3J5LCBhY3Jvc3MgYWxsIHBsYXRmb3JtcyEKKyMgSG93ZXZlciwgdGhpcyBkaXJl
Y3RvcnkgaGFzIGRpZmZlcmVudCBwYXRocyBvbiBkaWZmZXJlbnQgcGxhdGZvcm1zOgorIworIyBY
Y29kZTogICAgICAgICAgICAgICAgQlVJTFRfUFJPRFVDVFNfRElSL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUKKyMgVmlzdWFsIFN0dWRpbzogICAgICAgICQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxv
YmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXMKKyMgUXQ6ICAgICAgICAgICAgICAgICAg
ICQke1dFQkNPUkVfR0VORVJBVEVEX1NPVVJDRVNfRElSfQorIyBHbnVtYWtlZmlsZS5saXN0LmFt
OiAgRGVyaXZlZFNvdXJjZXMvV2ViQ29yZSAgICh3aXRob3V0IGJhc2UgZGlyZWN0b3J5IGluZGlj
YXRvcikKKyMgR1lQOiAgICAgICAgICAgICAgICAgIDwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUKKyMKKyMgSW50cm9kdWNlZCAiY3Jvc3NvdmVyIHN1YmRpcmVjdG9yaWVzIiB0
byBoYW5kbGUgdGhpcyBzY2VuYXJpby4gVGhleSBhcmUgYWxzbyB1c2VkIHRvIGNyb3NzIG92ZXIg
ZnJvbSAke1NDTX0vU291cmNlcyBpbnRvIFdlYkNvcmUuCisjCisjIE5vdGUgdGhhdCB0aGlzIHBy
ZXZlbnRzIGV2ZW4gcGxhdGZvcm1zIHRoYXQgZG9uJ3QgaGFuZGxlICR7U0NNfS9Tb3VyY2VzL1dl
YkNvcmUgc3BlY2lmaWNhbGx5IChpLmUuLCBqdXN0IHVzZSAke1NDTX0pIGZyb20gY3JlYXRpbmcK
KyMgcmVsYXRpdmUgcGF0aHMgdGhhdCB0cnkgZ28gZnJvbSAnV2ViQ29yZScgYmFjayB1cCB0byAn
U291cmNlcycuCisKKworY2xhc3MgV2ViS2l0RmlsZVNldHVwKG9iamVjdCk6CisgICAgIiIiCisg
ICAgQmFzZSBjbGFzcyBmb3Igc2V0dXAgY2xhc3NlcyB0aGF0IHN0b3JlIHRoZSBkaXJlY3Rvcnkg
YW5kIHByb2plY3QgZmlsZSBsYXlvdXQgZm9yIGEgZ2l2ZW4gcHJvamVjdC4KKyAgICAiIiIKKyAg
ICBkZWYgX19pbml0X18oc2VsZiwgcHJvamVjdF9uYW1lLCBzY209Tm9uZSk6CisgICAgICAgIHNl
bGYuY29tbW9uID0gQ29tbW9uSW5mbyhwcm9qZWN0X25hbWUpCisgICAgICAgIHNlbGYucGxhdGZv
cm1fdG9fcHJvamVjdCA9IHt9CisgICAgICAgIHNlbGYucGxhdGZvcm1fdG9fcHJvamVjdF9yZWFk
ZXIgPSB7fQorICAgICAgICBzZWxmLnBsYXRmb3JtX3RvX3Byb2plY3Rfd3JpdGVyID0ge30KKwor
ICAgIGRlZiBpbml0aWFsaXplKHNlbGYpOgorICAgICAgICByYWlzZSBOb3RJbXBsZW1lbnRlZEVy
cm9yKCJzdWJjbGFzc2VzIG11c3QgaW1wbGVtZW50IikKKworICAgIGRlZiByZWFkX3Byb2plY3Rf
ZmlsZXMoc2VsZik6CisgICAgICAgIGZvciByZWFkZXIgaW4gc2VsZi5wbGF0Zm9ybV90b19wcm9q
ZWN0X3JlYWRlci52YWx1ZXMoKToKKyAgICAgICAgICAgIHJlYWRlci5yZWFkKCkKKworICAgIGRl
ZiB3cml0ZV9wcm9qZWN0X2ZpbGVzKHNlbGYpOgorICAgICAgICBmb3Igd3JpdGVyIGluIHNlbGYu
cGxhdGZvcm1fdG9fcHJvamVjdF93cml0ZXIudmFsdWVzKCk6CisgICAgICAgICAgICB3cml0ZXIu
d3JpdGUoKQorCisKK2NsYXNzIFdlYkNvcmVTZXR1cChXZWJLaXRGaWxlU2V0dXApOgorICAgICIi
IgorICAgIFdlYkNvcmUtc3BlY2lmaWMgc2V0dXAgb2YgZGlyZWN0b3JpZXMgYW5kIHZhcmlhYmxl
cyBmb3Igd2Via2l0LWZpbGUKKyAgICAiIiIKKyAgICBkZWYgX19pbml0X18oc2VsZik6CisgICAg
ICAgIFdlYktpdEZpbGVTZXR1cC5fX2luaXRfXyhzZWxmLCAiV2ViQ29yZSIpCisKKyAgICBkZWYg
aW5pdGlhbGl6ZShzZWxmKToKKyAgICAgICAgc2VsZi5yb290X2RpcmVjdG9yeSA9IHNlbGYuY29t
bW9uLnJvb3RfZGlyZWN0b3J5CisgICAgICAgIHNlbGYuc2NtX2RpcmVjdG9yeSA9IHNlbGYuY29t
bW9uLnNjbV9kaXJlY3RvcnkKKyAgICAgICAgc2VsZi5zb3VyY2VfZGlyZWN0b3J5ID0gc2VsZi5j
b21tb24uZW5zdXJlX3N1YmRpcmVjdG9yeShzZWxmLnNjbV9kaXJlY3RvcnksICJTb3VyY2UiKQor
ICAgICAgICBzZWxmLndlYmNvcmVfZGlyZWN0b3J5ID0gc2VsZi5jb21tb24uZW5zdXJlX3N1YmRp
cmVjdG9yeShzZWxmLnNvdXJjZV9kaXJlY3RvcnksICJXZWJDb3JlIikKKyAgICAgICAgc2VsZi5q
YXZhc2NyaXB0Y29yZV9kaXJlY3RvcnkgPSBzZWxmLmNvbW1vbi5lbnN1cmVfc3ViZGlyZWN0b3J5
KHNlbGYuc291cmNlX2RpcmVjdG9yeSwgIkphdmFTY3JpcHRDb3JlIikKKyAgICAgICAgc2VsZi5i
dWlsZF9kaXJlY3RvcnkgPSBzZWxmLmNvbW1vbi5jcmVhdGVfYmFzZV9kaXJlY3RvcnkoIiR7QlVJ
TER9IikKKyAgICAgICAgc2VsZi53ZWJjb3JlX2Rlcml2ZWRfc291cmNlc19kaXJlY3RvcnkgPSBz
ZWxmLmNvbW1vbi5jcmVhdGVfYmFzZV9kaXJlY3RvcnkoIiR7V0VCQ09SRV9ERVJJVkVEfSIpCisg
ICAgICAgIHNlbGYuZGVyaXZlZF9zb3VyY2VzX2RpcmVjdG9yeSA9IHNlbGYuY29tbW9uLmNyZWF0
ZV9jcm9zc292ZXJfc3ViZGlyZWN0b3J5KHNlbGYuYnVpbGRfZGlyZWN0b3J5LCAiRGVyaXZlZFNv
dXJjZXMiLCB7IldlYkNvcmUiOiBzZWxmLndlYmNvcmVfZGVyaXZlZF9zb3VyY2VzX2RpcmVjdG9y
eX0pCisgICAgICAgIHNlbGYuYW5nbGVfZGlyZWN0b3J5ID0gc2VsZi5jb21tb24uZW5zdXJlX3N1
YmRpcmVjdG9yeV9wYXRoKHNlbGYuc2NtX2RpcmVjdG9yeSwgIlRoaXJkUGFydHkvQU5HTEUiKQor
ICAgICAgICAjIFhjb2RlCisgICAgICAgIHNlbGYueGNfcHJvamVjdF9maWxlID0gc2VsZi5jb21t
b24uZW5zdXJlX2ZpbGVfcGF0aChzZWxmLndlYmNvcmVfZGlyZWN0b3J5LCBzZWxmLmNvbW1vbi5m
aWxlc3lzdGVtLmpvaW4oIldlYkNvcmUueGNvZGVwcm9qIiwgInByb2plY3QucGJ4cHJvaiIpKQor
ICAgICAgICBzZWxmLnhjX3ZhcmlhYmxlX3RvX2RpcmVjdG9yeSA9IHsKKyAgICAgICAgICAgICdT
T1VSQ0VfUk9PVCc6ICAgICAgICAgICAgICBzZWxmLndlYmNvcmVfZGlyZWN0b3J5LAorICAgICAg
ICAgICAgJyI8YWJzb2x1dGU+Iic6ICAgICAgICAgICAgIHNlbGYucm9vdF9kaXJlY3RvcnksCisg
ICAgICAgICAgICAnQlVJTFRfUFJPRFVDVFNfRElSJzogICAgICAgc2VsZi5idWlsZF9kaXJlY3Rv
cnksCisgICAgICAgICAgICAnREVWRUxPUEVSX0RJUic6ICAgICAgICAgICAgc2VsZi5jb21tb24u
Y3JlYXRlX2Jhc2VfZGlyZWN0b3J5KCIke0RFVn0iKSwKKyAgICAgICAgICAgICdTREtST09UJzog
ICAgICAgICAgICAgICAgICBzZWxmLmNvbW1vbi5jcmVhdGVfYmFzZV9kaXJlY3RvcnkoIiR7U0RL
Uk9PVH0iKSwKKyAgICAgICAgICAgICdDT05GSUdVUkFUSU9OX1RFTVBfRElSJzogICBzZWxmLmNv
bW1vbi5jcmVhdGVfYmFzZV9kaXJlY3RvcnkoIiR7Q09ORklHX1RFTVB9IiksCisgICAgICAgIH0K
KyAgICAgICAgc2VsZi54Y19wcm9qZWN0ID0gWGNvZGVQcm9qZWN0KHNlbGYuY29tbW9uLCBzZWxm
LnhjX3Byb2plY3RfZmlsZSwgc2VsZi54Y192YXJpYWJsZV90b19kaXJlY3RvcnksICJXZWJDb3Jl
IikKKyAgICAgICAgc2VsZi54Y19yZWFkZXIgPSBYY29kZVByb2plY3RSZWFkZXIoc2VsZi54Y19w
cm9qZWN0KQorICAgICAgICBzZWxmLnhjX3dyaXRlciA9IFhjb2RlUHJvamVjdFdyaXRlcihzZWxm
LnhjX3Byb2plY3QpCisgICAgICAgICMgUXQKKyAgICAgICAgc2VsZi5xdF9wcm9qZWN0X2ZpbGUg
PSBzZWxmLmNvbW1vbi5lbnN1cmVfZmlsZShzZWxmLndlYmNvcmVfZGlyZWN0b3J5LCAiVGFyZ2V0
LnByaSIpCisgICAgICAgIHNlbGYucXRfdmFyaWFibGVfdG9fZGlyZWN0b3J5ID0geworICAgICAg
ICAgICAgJyQkQU5HTEVfRElSJzogICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuYW5nbGVf
ZGlyZWN0b3J5LAorICAgICAgICAgICAgJyQkUFdEJzogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHNlbGYucXRfcHJvamVjdF9maWxlLmRpcmVjdG9yeSwKKyAgICAgICAgICAgICckJFNP
VVJDRV9ESVInOiAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnNvdXJjZV9kaXJlY3Rvcnks
CisgICAgICAgICAgICAnJCR7V0VCQ09SRV9HRU5FUkFURURfU09VUkNFU19ESVJ9JzogICAgc2Vs
Zi53ZWJjb3JlX2Rlcml2ZWRfc291cmNlc19kaXJlY3RvcnksCisgICAgICAgIH0KKyAgICAgICAg
c2VsZi5xdF9wcm9qZWN0ID0gUXRQcm9qZWN0KHNlbGYuY29tbW9uLCBRdE1ha2VGaWxlKHNlbGYu
cXRfcHJvamVjdF9maWxlKSwgc2VsZi5xdF92YXJpYWJsZV90b19kaXJlY3RvcnkpCisgICAgICAg
IHNlbGYucXRfcmVhZGVyID0gUXRQcm9qZWN0UmVhZGVyKHNlbGYucXRfcHJvamVjdCkKKyAgICAg
ICAgc2VsZi5xdF93cml0ZXIgPSBRdFByb2plY3RXcml0ZXIoc2VsZi5xdF9wcm9qZWN0KQorICAg
ICAgICAjIHBsYXRmb3JtIG1hcAorICAgICAgICAjCisgICAgICAgICMgVE9ETzogbWFrZSB0aGlz
IGRlcGVuZGVudCBvbiBhY3R1YWxseSB1c2VkIHBsYXRmb3JtcworICAgICAgICBzZWxmLnBsYXRm
b3JtX3RvX3Byb2plY3QgPSB7CisgICAgICAgICAgICBDb21tb25PcHRpb25zLlBMQVRGT1JNX1hD
T0RFOiAgIHNlbGYueGNfcHJvamVjdCwKKyAgICAgICAgICAgIENvbW1vbk9wdGlvbnMuUExBVEZP
Uk1fUVQ6ICAgICAgc2VsZi5xdF9wcm9qZWN0LAorICAgICAgICB9CisgICAgICAgIHNlbGYucGxh
dGZvcm1fdG9fcHJvamVjdF9yZWFkZXIgPSB7CisgICAgICAgICAgICBDb21tb25PcHRpb25zLlBM
QVRGT1JNX1hDT0RFOiAgIHNlbGYueGNfcmVhZGVyLAorICAgICAgICAgICAgQ29tbW9uT3B0aW9u
cy5QTEFURk9STV9RVDogICAgICBzZWxmLnF0X3JlYWRlciwKKyAgICAgICAgfQorICAgICAgICBz
ZWxmLnBsYXRmb3JtX3RvX3Byb2plY3Rfd3JpdGVyID0geworICAgICAgICAgICAgQ29tbW9uT3B0
aW9ucy5QTEFURk9STV9YQ09ERTogICBzZWxmLnhjX3dyaXRlciwKKyAgICAgICAgICAgIENvbW1v
bk9wdGlvbnMuUExBVEZPUk1fUVQ6ICAgICAgc2VsZi5xdF93cml0ZXIsCisgICAgICAgIH0KKwor
CitjbGFzcyBXZWJDb3JlRGVidWdTZXR1cChXZWJDb3JlU2V0dXApOgorICAgIGRlZiB3cml0ZV9w
cm9qZWN0X2ZpbGVzKHNlbGYpOgorICAgICAgICAjIFRPRE86IG1ha2UgdGhpcyBkZXBlbmRlbnQg
b24gYWN0dWFsbHkgdXNlZCBwbGF0Zm9ybXMKKyAgICAgICAgIyAtLS0tLQorICAgICAgICBzZWxm
LnhjX3dyaXRlci53cml0ZSgifi93cml0dGVuUEJYLnR4dCIpCisgICAgICAgIHNlbGYucXRfd3Jp
dGVyLndyaXRlKCJ+L3dyaXR0ZW5RdC50eHQiKQorCisgICAgZGVmIGRlYnVnX3J1bihzZWxmKToK
KyAgICAgICAgJycnCisgICAgICAgIERlYnVnZ2luZyBmdW5jdGlvbiB0aGF0IG91dHB1dHMgdmFy
aW91cyBwYXRocyBhbmQgY29uZmlybXMgZGlyZWN0b3J5IGxheW91dCBhc3N1bXB0aW9ucy4KKyAg
ICAgICAgTm90IHVzZWQgaW4gcmVndWxhciBvcGVyYXRpb24uCisgICAgICAgICcnJworICAgICAg
ICBzZWxmLl9XZWJDb3JlX2Fic3BhdGggPSBzZWxmLmNvbW1vbi5maWxlc3lzdGVtLmpvaW4oc2Vs
Zi5jb21tb24uc2NtX2Fic3BhdGgsICJTb3VyY2UiLCAiV2ViQ29yZSIpCisgICAgICAgIHNlbGYu
X3BieHByb2pfYWJzcGF0aCA9IHNlbGYuY29tbW9uLmZpbGVzeXN0ZW0uam9pbihzZWxmLl9XZWJD
b3JlX2Fic3BhdGgsICJXZWJDb3JlLnhjb2RlcHJvaiIsICJwcm9qZWN0LnBieHByb2oiKQorICAg
ICAgICBzZWxmLl92Y3Byb2pfYWJzcGF0aCA9IHNlbGYuY29tbW9uLmZpbGVzeXN0ZW0uam9pbihz
ZWxmLl9XZWJDb3JlX2Fic3BhdGgsICJXZWJDb3JlLnZjcHJvaiIsICJXZWJDb3JlLnZjcHJvaiIp
CisgICAgICAgIHNlbGYuX2d5cGlfYWJzcGF0aCA9IHNlbGYuY29tbW9uLmZpbGVzeXN0ZW0uam9p
bihzZWxmLl9XZWJDb3JlX2Fic3BhdGgsICJXZWJDb3JlLmd5cGkiKQorICAgICAgICBzZWxmLl9x
dF9hYnNwYXRoID0gc2VsZi5jb21tb24uZmlsZXN5c3RlbS5qb2luKHNlbGYuX1dlYkNvcmVfYWJz
cGF0aCwgIlRhcmdldC5wcmkiKQorICAgICAgICBzZWxmLl9jbWFrZWxpc3RzX2Fic3BhdGggPSBz
ZWxmLmNvbW1vbi5maWxlc3lzdGVtLmpvaW4oc2VsZi5fV2ViQ29yZV9hYnNwYXRoLCAiQ01ha2VM
aXN0cy50eHQiKQorICAgICAgICBzZWxmLl9nbnVtYWtlZmlsZV9hYnNwYXRoID0gc2VsZi5jb21t
b24uZmlsZXN5c3RlbS5qb2luKHNlbGYuX1dlYkNvcmVfYWJzcGF0aCwgIkdOVW1ha2VmaWxlLmxp
c3QuYW0iKQorICAgICAgICAjCisgICAgICAgIHNlbGYuX1dlYkNvcmVfcmVscGF0aCA9IHNlbGYu
Y29tbW9uLmZpbGVzeXN0ZW0ucmVscGF0aChzZWxmLl9XZWJDb3JlX2Fic3BhdGgsIHNlbGYuY29t
bW9uLnNjbV9hYnNwYXRoKQorICAgICAgICBzZWxmLl9wYnhwcm9qX3JlbHBhdGggPSBzZWxmLmNv
bW1vbi5maWxlc3lzdGVtLnJlbHBhdGgoc2VsZi5fcGJ4cHJval9hYnNwYXRoLCBzZWxmLmNvbW1v
bi5zY21fYWJzcGF0aCkKKyAgICAgICAgc2VsZi5fdmNwcm9qX3JlbHBhdGggPSBzZWxmLmNvbW1v
bi5maWxlc3lzdGVtLnJlbHBhdGgoc2VsZi5fdmNwcm9qX2Fic3BhdGgsIHNlbGYuY29tbW9uLnNj
bV9hYnNwYXRoKQorICAgICAgICBzZWxmLl9neXBpX3JlbHBhdGggPSBzZWxmLmNvbW1vbi5maWxl
c3lzdGVtLnJlbHBhdGgoc2VsZi5fZ3lwaV9hYnNwYXRoLCBzZWxmLmNvbW1vbi5zY21fYWJzcGF0
aCkKKyAgICAgICAgc2VsZi5fcXRfcmVscGF0aCA9IHNlbGYuY29tbW9uLmZpbGVzeXN0ZW0ucmVs
cGF0aChzZWxmLl9xdF9hYnNwYXRoLCBzZWxmLmNvbW1vbi5zY21fYWJzcGF0aCkKKyAgICAgICAg
c2VsZi5fY21ha2VsaXN0c19yZWxwYXRoID0gc2VsZi5jb21tb24uZmlsZXN5c3RlbS5yZWxwYXRo
KHNlbGYuX2NtYWtlbGlzdHNfYWJzcGF0aCwgc2VsZi5jb21tb24uc2NtX2Fic3BhdGgpCisgICAg
ICAgIHNlbGYuX2dudW1ha2VmaWxlX3JlbHBhdGggPSBzZWxmLmNvbW1vbi5maWxlc3lzdGVtLnJl
bHBhdGgoc2VsZi5fZ251bWFrZWZpbGVfYWJzcGF0aCwgc2VsZi5jb21tb24uc2NtX2Fic3BhdGgp
CisgICAgICAgICMKKyAgICAgICAgc2VsZi5fYWJzcGF0aCA9IHNlbGYuY29tbW9uLmZpbGVzeXN0
ZW0uYWJzcGF0aChzZWxmLmNvbW1hbmRzWzBdLmFyZ3NbMF0pCisgICAgICAgIHNlbGYuX3JlbHBh
dGggPSBzZWxmLmNvbW1vbi5maWxlc3lzdGVtLnJlbHBhdGgoc2VsZi5fYWJzcGF0aCwgc2VsZi5j
b21tb24uc2NtX2Fic3BhdGgpCisgICAgICAgIHNlbGYuX2lzZGlyID0gc2VsZi5jb21tb24uZmls
ZXN5c3RlbS5pc2RpcihzZWxmLl9hYnNwYXRoKQorICAgICAgICBpZiBzZWxmLl9pc2RpcjoKKyAg
ICAgICAgICAgIHNlbGYuX2ZpbGVfbmFtZSA9ICcnCisgICAgICAgICAgICBzZWxmLl9uYW1lID0g
JycKKyAgICAgICAgICAgIHNlbGYuX2V4dCA9ICcnCisgICAgICAgICAgICBzZWxmLl9yZWxkaXIg
PSBzZWxmLl9yZWxwYXRoCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICAoc2VsZi5fcmVsZGly
LCBzZWxmLl9maWxlX25hbWUpID0gc2VsZi5jb21tb24uZmlsZXN5c3RlbS5zcGxpdChzZWxmLl9y
ZWxwYXRoKQorICAgICAgICAgICAgKHNlbGYuX25hbWUsIHNlbGYuX2V4dCkgPSBzZWxmLmNvbW1v
bi5maWxlc3lzdGVtLnNwbGl0ZXh0KHNlbGYuX2ZpbGVfbmFtZSkKKyAgICAgICAgc2VsZi5fZXhp
c3RzID0gc2VsZi5jb21tb24uZmlsZXN5c3RlbS5leGlzdHMoc2VsZi5fYWJzcGF0aCkKKyAgICAg
ICAgIworICAgICAgICBwcmludCAiYWJzOiIsIHNlbGYuX2Fic3BhdGgKKyAgICAgICAgcHJpbnQg
InJlbDoiLCBzZWxmLl9yZWxwYXRoCisgICAgICAgIHByaW50ICJTQ006Iiwgc2VsZi5jb21tb24u
c2NtX2Fic3BhdGgKKyAgICAgICAgcHJpbnQgIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLSIKKyAgICAgICAgcHJpbnQgIldDUDoiLCBzZWxmLl9XZWJDb3Jl
X2Fic3BhdGgKKyAgICAgICAgcHJpbnQgIlBCWDoiLCBzZWxmLl9wYnhwcm9qX2Fic3BhdGgKKyAg
ICAgICAgcHJpbnQgIlZDUDoiLCBzZWxmLl92Y3Byb2pfYWJzcGF0aAorICAgICAgICBwcmludCAi
R01LOiIsIHNlbGYuX2dudW1ha2VmaWxlX2Fic3BhdGgKKyAgICAgICAgcHJpbnQgIkdZUDoiLCBz
ZWxmLl9neXBpX2Fic3BhdGgKKyAgICAgICAgcHJpbnQgIlBSTzoiLCBzZWxmLl9xdF9hYnNwYXRo
CisgICAgICAgIHByaW50ICJDTUs6Iiwgc2VsZi5fY21ha2VsaXN0c19hYnNwYXRoCisgICAgICAg
IHByaW50ICItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0i
CisgICAgICAgIHByaW50ICJ3Y3A6Iiwgc2VsZi5fV2ViQ29yZV9yZWxwYXRoCisgICAgICAgIHBy
aW50ICJwYng6Iiwgc2VsZi5fcGJ4cHJval9yZWxwYXRoCisgICAgICAgIHByaW50ICJ2Y3A6Iiwg
c2VsZi5fdmNwcm9qX3JlbHBhdGgKKyAgICAgICAgcHJpbnQgImdtazoiLCBzZWxmLl9nbnVtYWtl
ZmlsZV9yZWxwYXRoCisgICAgICAgIHByaW50ICJneXA6Iiwgc2VsZi5fZ3lwaV9yZWxwYXRoCisg
ICAgICAgIHByaW50ICJwcm86Iiwgc2VsZi5fcXRfcmVscGF0aAorICAgICAgICBwcmludCAiY21r
OiIsIHNlbGYuX2NtYWtlbGlzdHNfcmVscGF0aAorICAgICAgICBwcmludCAiLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIgorICAgICAgICBwcmludCAiYWJz
OiIsIHNlbGYuX2Fic3BhdGgKKyAgICAgICAgcHJpbnQgInJlbDoiLCBzZWxmLl9yZWxwYXRoCisg
ICAgICAgIHByaW50ICJpc2Q6Iiwgc2VsZi5faXNkaXIKKyAgICAgICAgcHJpbnQgInItZDoiLCBz
ZWxmLl9yZWxkaXIKKyAgICAgICAgcHJpbnQgIltyXToiLCByZS5zcGxpdCgnW1xcL10nLCBzZWxm
Ll9yZWxkaXIpCisgICAgICAgIHByaW50ICJmbm06Iiwgc2VsZi5fZmlsZV9uYW1lCisgICAgICAg
IHByaW50ICJuYW06Iiwgc2VsZi5fbmFtZQorICAgICAgICBwcmludCAiZXh0OiIsIHNlbGYuX2V4
dAorICAgICAgICBwcmludCAiZXg/OiIsIHNlbGYuX2V4aXN0cworICAgICAgICAjCisgICAgICAg
IHNvdXJjZV9kaXJlY3RvcnkgPSBzZWxmLmNvbW1vbi5lbnN1cmVfc3ViZGlyZWN0b3J5KHNlbGYu
Y29tbW9uLnNjbV9kaXJlY3RvcnksICJTb3VyY2UiKQorICAgICAgICB3ZWJjb3JlX2RpcmVjdG9y
eSA9IHNlbGYuY29tbW9uLmVuc3VyZV9zdWJkaXJlY3Rvcnkoc291cmNlX2RpcmVjdG9yeSwgIldl
YkNvcmUiKQorICAgICAgICBqYXZhc2NyaXB0Y29yZV9kaXJlY3RvcnkgPSBzZWxmLmNvbW1vbi5l
bnN1cmVfc3ViZGlyZWN0b3J5KHNvdXJjZV9kaXJlY3RvcnksICJKYXZhU2NyaXB0Q29yZSIpCisg
ICAgICAgIGJ1aWxkX2RpcmVjdG9yeSA9IHNlbGYuY29tbW9uLmNyZWF0ZV9iYXNlX2RpcmVjdG9y
eSgiJHtCVUlMRH0iKQorICAgICAgICB3ZWJjb3JlX2Rlcml2ZWRfc291cmNlc19kaXJlY3Rvcnkg
PSBzZWxmLmNvbW1vbi5jcmVhdGVfYmFzZV9kaXJlY3RvcnkoIiR7V0VCQ09SRV9ERVJJVkVEfSIp
CisgICAgICAgIGRlcml2ZWRfc291cmNlc19kaXJlY3RvcnkgPSBzZWxmLmNvbW1vbi5jcmVhdGVf
Y3Jvc3NvdmVyX3N1YmRpcmVjdG9yeShidWlsZF9kaXJlY3RvcnksICJEZXJpdmVkU291cmNlcyIs
IHsiV2ViQ29yZSI6IHdlYmNvcmVfZGVyaXZlZF9zb3VyY2VzX2RpcmVjdG9yeX0pCisgICAgICAg
IHByaW50ICItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0i
CisgICAgICAgIHByaW50ICItIFhjb2RlOiIKKyAgICAgICAgIyBYY29kZSBncm91cHMgdHJhdmVy
c2UgQlVJTFRfUFJPRFVDVFNfRElSL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUgdG8gYXJyaXZlIGF0
IGRlcml2ZWRfd2ViY29yZV9kaXJlY3RvcnksCisgICAgICAgICMgYnV0IGZvciBvdGhlciBwbGF0
Zm9ybXMsIGRlcml2ZWRfd2ViY29yZV9kaXJlY3RvcnkgaXMgbG9jYXRlZCBkaWZmZXJlbnRseQor
ICAgICAgICB4Y2ZpbGUgPSBzZWxmLmNvbW1vbi5lbnN1cmVfZmlsZV9wYXRoKHNlbGYuY29tbW9u
LnNjbV9kaXJlY3RvcnksIHNlbGYuX3BieHByb2pfcmVscGF0aCkKKyAgICAgICAgeGNkaXJlY3Rv
cmllcyA9IHsKKyAgICAgICAgICAgICdTT1VSQ0VfUk9PVCc6ICAgICAgICAgICAgICB3ZWJjb3Jl
X2RpcmVjdG9yeSwKKyAgICAgICAgICAgICciPGFic29sdXRlPiInOiAgICAgICAgICAgICBzZWxm
LmNvbW1vbi5yb290X2RpcmVjdG9yeSwKKyAgICAgICAgICAgICdCVUlMVF9QUk9EVUNUU19ESVIn
OiAgICAgICBidWlsZF9kaXJlY3RvcnksCisgICAgICAgICAgICAnREVWRUxPUEVSX0RJUic6ICAg
ICAgICAgICAgc2VsZi5jb21tb24uY3JlYXRlX2Jhc2VfZGlyZWN0b3J5KCIke0RFVn0iKSwKKyAg
ICAgICAgICAgICdTREtST09UJzogICAgICAgICAgICAgICAgICBzZWxmLmNvbW1vbi5jcmVhdGVf
YmFzZV9kaXJlY3RvcnkoIiR7U0RLUk9PVH0iKSwKKyAgICAgICAgICAgICdDT05GSUdVUkFUSU9O
X1RFTVBfRElSJzogICBzZWxmLmNvbW1vbi5jcmVhdGVfYmFzZV9kaXJlY3RvcnkoIiR7Q09ORklH
X1RFTVB9IiksCisgICAgICAgIH0KKyAgICAgICAgeGNwcm9qZWN0ID0gWGNvZGVQcm9qZWN0KHNl
bGYuY29tbW9uLCB4Y2ZpbGUsIHhjZGlyZWN0b3JpZXMsICJXZWJDb3JlIikKKyAgICAgICAgeGNy
ZWFkZXIgPSBYY29kZVByb2plY3RSZWFkZXIoeGNwcm9qZWN0KQorICAgICAgICB4Y3JlYWRlci5y
ZWFkKCkKKyAgICAgICAgc2VsZi5leGVjdXRlX2NvbW1hbmRzKHtDb21tb25PcHRpb25zLlBMQVRG
T1JNX1hDT0RFOiB4Y3Byb2plY3R9KQorICAgICAgICB4Y3dyaXRlciA9IFhjb2RlUHJvamVjdFdy
aXRlcih4Y3Byb2plY3QpCisgICAgICAgIHhjd3JpdGVyLndyaXRlKCJ+L3NyYy93cml0dGVuUEJY
LnR4dCIpCisgICAgICAgIHByaW50ICItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0iCisgICAgICAgIHByaW50ICItIFF0IChvcmlnaW5hbCk6IgorICAgICAg
ICBxdGZpbGUgPSBzZWxmLmNvbW1vbi5lbnN1cmVfZmlsZV9wYXRoKHNlbGYuY29tbW9uLnNjbV9k
aXJlY3RvcnksIHNlbGYuX3F0X3JlbHBhdGgpCisgICAgICAgIGFuZ2xlX2RpcmVjdG9yeSA9IHNl
bGYuY29tbW9uLmVuc3VyZV9zdWJkaXJlY3RvcnlfcGF0aChzZWxmLmNvbW1vbi5zY21fZGlyZWN0
b3J5LCAiVGhpcmRQYXJ0eS9BTkdMRSIpCisgICAgICAgIHF0ZGlyZWN0b3JpZXMgPSB7CisgICAg
ICAgICAgICAnJCRBTkdMRV9ESVInOiAgICAgICAgICAgICAgICAgICAgICAgICAgYW5nbGVfZGly
ZWN0b3J5LAorICAgICAgICAgICAgJyQkUFdEJzogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHF0ZmlsZS5kaXJlY3RvcnksCisgICAgICAgICAgICAnJCRTT1VSQ0VfRElSJzogICAgICAg
ICAgICAgICAgICAgICAgICAgc291cmNlX2RpcmVjdG9yeSwKKyAgICAgICAgICAgICckJHtXRUJD
T1JFX0dFTkVSQVRFRF9TT1VSQ0VTX0RJUn0nOiAgICB3ZWJjb3JlX2Rlcml2ZWRfc291cmNlc19k
aXJlY3RvcnksCisgICAgICAgIH0KKyAgICAgICAgcXRwcm9qZWN0ID0gUXRQcm9qZWN0KHNlbGYu
Y29tbW9uLCBRdE1ha2VGaWxlKHF0ZmlsZSksIHF0ZGlyZWN0b3JpZXMpCisgICAgICAgIHF0cmVh
ZGVyID0gUXRQcm9qZWN0UmVhZGVyKHF0cHJvamVjdCkKKyAgICAgICAgcXRyZWFkZXIucmVhZCgp
CisgICAgICAgIHNlbGYuZXhlY3V0ZV9jb21tYW5kcyh7Q29tbW9uT3B0aW9ucy5QTEFURk9STV9R
VDogcXRwcm9qZWN0fSkKKyAgICAgICAgcXR3cml0ZXIgPSBRdFByb2plY3RXcml0ZXIocXRwcm9q
ZWN0KQorICAgICAgICBxdHdyaXRlci53cml0ZSgifi9zcmMvd3JpdHRlblF0LnR4dCIpCisgICAg
ICAgIHByaW50ICItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0iCisgICAgICAgIHByaW50ICItIFF0IChmcm9tIHNvcnRlZCk6IgorICAgICAgICBxdHNmaWxl
ID0gc2VsZi5jb21tb24uZW5zdXJlX2ZpbGVfcGF0aChzZWxmLmNvbW1vbi5yb290X2RpcmVjdG9y
eSwgIi9Vc2Vycy9yb2xhbmRzdGVpbmVyL3NyYy9zb3J0ZWRRdC50eHQiKQorICAgICAgICBxdHNw
cm9qZWN0ID0gUXRQcm9qZWN0KHNlbGYuY29tbW9uLCBRdE1ha2VGaWxlKHF0c2ZpbGUpLCBxdGRp
cmVjdG9yaWVzKQorICAgICAgICBxdHNyZWFkZXIgPSBRdFByb2plY3RSZWFkZXIocXRzcHJvamVj
dCkKKyAgICAgICAgcXRzcmVhZGVyLnJlYWQoKQorICAgICAgICBzZWxmLmV4ZWN1dGVfY29tbWFu
ZHMoe0NvbW1vbk9wdGlvbnMuUExBVEZPUk1fUVQ6IHF0c3Byb2plY3R9KQorICAgICAgICBxdHN3
cml0ZXIgPSBRdFByb2plY3RXcml0ZXIocXRzcHJvamVjdCkKKyAgICAgICAgcXRzd3JpdGVyLndy
aXRlKCJ+L3NyYy93cml0dGVuUXRTb3J0ZWQudHh0IikKKyAgICAgICAgcHJpbnQgIi0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSIKKyAgICAgICAgcHJpbnQg
Ii0gVmlzdWFsIFN0dWRpbzoiCisgICAgICAgIHZjZmlsZSA9IHNlbGYuY29tbW9uLmVuc3VyZV9m
aWxlX3BhdGgoc2VsZi5jb21tb24uc2NtX2RpcmVjdG9yeSwgc2VsZi5fdmNwcm9qX3JlbHBhdGgp
CisgICAgICAgIHZjZGlyZWN0b3JpZXMgPSB7CisgICAgICAgICAgICAnJChDb25maWd1cmF0aW9u
QnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlcyc6IHdlYmNvcmVfZGVy
aXZlZF9zb3VyY2VzX2RpcmVjdG9yeSwKKyAgICAgICAgfQorICAgICAgICBwcmludCAiLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIgorICAgICAgICBwcmlu
dCAiLSBHbnU6IgorICAgICAgICBnbnVmaWxlID0gc2VsZi5jb21tb24uZW5zdXJlX2ZpbGVfcGF0
aChzZWxmLmNvbW1vbi5zY21fZGlyZWN0b3J5LCBzZWxmLl9nbnVtYWtlZmlsZV9yZWxwYXRoKQor
ICAgICAgICBnbnVkaXJlY3RvcmllcyA9IHsKKyAgICAgICAgICAgICckKFdlYkNvcmUpJzogd2Vi
Y29yZV9kaXJlY3RvcnksCisgICAgICAgIH0KKyAgICAgICAgcHJpbnQgIi0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSIKKyAgICAgICAgcHJpbnQgIi0gQ01h
a2U6IgorICAgICAgICBjbWZpbGUgPSBzZWxmLmNvbW1vbi5lbnN1cmVfZmlsZV9wYXRoKHNlbGYu
Y29tbW9uLnNjbV9kaXJlY3RvcnksIHNlbGYuX2NtYWtlbGlzdHNfcmVscGF0aCkKKyAgICAgICAg
Y21kaXJlY3RvcmllcyA9IHsKKyAgICAgICAgICAgICcke1dFQkNPUkVfRElSfSc6ICAgICAgICAg
ICAgICAgICAgIHdlYmNvcmVfZGlyZWN0b3J5LAorICAgICAgICAgICAgJyR7SkFWQVNDUklQVENP
UkVfRElSfSc6ICAgICAgICAgICAgamF2YXNjcmlwdGNvcmVfZGlyZWN0b3J5LAorICAgICAgICAg
ICAgJyR7REVSSVZFRF9TT1VSQ0VTX1dFQkNPUkVfRElSfSc6ICAgd2ViY29yZV9kZXJpdmVkX3Nv
dXJjZXNfZGlyZWN0b3J5LAorICAgICAgICAgICAgJyR7Q01BS0VfU09VUkNFX0RJUn0nOiAgICAg
ICAgICAgICAgc2VsZi5jb21tb24uY3JlYXRlX2Jhc2VfZGlyZWN0b3J5KCIke0NNQUtFLVNPVVJD
RX0iKSwKKyAgICAgICAgICAgICcke0NNQUtFX0JJTkFSWV9ESVJ9JzogICAgICAgICAgICAgIHNl
bGYuY29tbW9uLmNyZWF0ZV9iYXNlX2RpcmVjdG9yeSgiJHtDTUFLRS1CSU5BUll9IiksCisgICAg
ICAgICAgICAnJHtUSElSRFBBUlRZX0RJUn0nOiAgICAgICAgICAgICAgICBzZWxmLmNvbW1vbi5l
bnN1cmVfc3ViZGlyZWN0b3J5KHNvdXJjZV9kaXJlY3RvcnksICJUaGlyZFBhcnR5IiksCisgICAg
ICAgIH0KKyAgICAgICAgcHJpbnQgIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLSIKKyAgICAgICAgcHJpbnQgIi0gR1lQOiIKKyAgICAgICAgZ3lwZmlsZSA9
IHNlbGYuY29tbW9uLmVuc3VyZV9maWxlX3BhdGgoc2VsZi5jb21tb24uc2NtX2RpcmVjdG9yeSwg
c2VsZi5fZ3lwaV9yZWxwYXRoKQorICAgICAgICBneXBkaXJlY3RvcmllcyA9IHsKKyAgICAgICAg
ICAgICc8KFBST0RVQ1RfRElSKSc6IGJ1aWxkX2RpcmVjdG9yeSwKKyAgICAgICAgfQorCisKK2Ns
YXNzIFdlYktpdEZpbGUob2JqZWN0KToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgc2V0dXAsIGFy
Z3MpOgorICAgICAgICBhc3NlcnQgc2V0dXAKKyAgICAgICAgYXNzZXJ0IGFyZ3MKKyAgICAgICAg
c2VsZi5zZXR1cCA9IHNldHVwCisgICAgICAgIHNlbGYuYXJncyA9IGFyZ3MKKyAgICAgICAgc2Vs
Zi5jb21tb24gPSBzZXR1cC5jb21tb24KKyAgICAgICAgc2VsZi5jb21tYW5kcyA9IFtdCisgICAg
ICAgIHNlbGYuZ2xvYmFsX29wdGlvbnMgPSBzZXR1cC5jb21tb24ub3B0aW9ucworICAgICAgICAj
IC0tLS0tCisgICAgICAgIHNlbGYud2FybmluZygiLS0tLS0iKQorICAgICAgICBzZWxmLndhcm5p
bmcoIid3ZWJraXQtZmlsZScgaXMgc3RpbGwgaW4gcHJlLWFscGhhIHZlcnNpb24sIGN1cnJlbnRs
eSBmb3IgU291cmNlL1dlYkNvcmUgb25seSEgVXNlIGF0IHlvdXIgb3duIHJpc2sgYW5kIHZlcmlm
eSB0aGUgZ2VuZXJhdGVkIG91dHB1dCEiKQorICAgICAgICBzZWxmLndhcm5pbmcoIi0tLS0tIikK
KworICAgIGRlZiBkZWJ1ZyhzZWxmLCBtc2cpOgorICAgICAgICAjIFRPRE86IGFkZCBJRCBvZiBw
cm9qZWN0IHRvIHNob3cgd2hpY2ggcHJvamVjdCB0aGUgbWVzc2FnZSBpcyBmb3IKKyAgICAgICAg
c2VsZi5jb21tb24uZGVidWcobXNnKQorCisgICAgZGVmIGluZm8oc2VsZiwgbXNnKToKKyAgICAg
ICAgIyBUT0RPOiBhZGQgSUQgb2YgcHJvamVjdCB0byBzaG93IHdoaWNoIHByb2plY3QgdGhlIG1l
c3NhZ2UgaXMgZm9yCisgICAgICAgIHNlbGYuY29tbW9uLmluZm8obXNnKQorCisgICAgZGVmIHdh
cm5pbmcoc2VsZiwgbXNnKToKKyAgICAgICAgIyBUT0RPOiBhZGQgSUQgb2YgcHJvamVjdCB0byBz
aG93IHdoaWNoIHByb2plY3QgdGhlIG1lc3NhZ2UgaXMgZm9yCisgICAgICAgIHNlbGYuY29tbW9u
Lndhcm5pbmcobXNnKQorCisgICAgZGVmIGVycm9yKHNlbGYsIG1zZyk6CisgICAgICAgICMgVE9E
TzogYWRkIElEIG9mIHByb2plY3QgdG8gc2hvdyB3aGljaCBwcm9qZWN0IHRoZSBtZXNzYWdlIGlz
IGZvcgorICAgICAgICBzZWxmLmNvbW1vbi5lcnJvcihtc2cpCisKKyAgICBkZWYgdmVyaWZ5KHNl
bGYsIGV4cHIsIG1zZyk6CisgICAgICAgICMgVE9ETzogYWRkIElEIG9mIHByb2plY3QgdG8gc2hv
dyB3aGljaCBwcm9qZWN0IHRoZSBtZXNzYWdlIGlzIGZvcgorICAgICAgICBzZWxmLmNvbW1vbi52
ZXJpZnkoZXhwciwgbXNnKQorCisgICAgZGVmIHBhcnNlX2NvbW1hbmRfbGluZShzZWxmKToKKyAg
ICAgICAgYXJncyA9IHNlbGYuYXJnc1s6XQorICAgICAgICBzZWxmLmdsb2JhbF9vcHRpb25zLnBh
cnNlKHNlbGYuY29tbW9uLCBhcmdzKQorICAgICAgICBzZWxmLmNvbW1vbi5zZXRfb3B0aW9ucyhz
ZWxmLmdsb2JhbF9vcHRpb25zKQorICAgICAgICB3aGlsZSBhcmdzOgorICAgICAgICAgICAgaWYg
YXJnc1swXSA9PSAnLCc6CisgICAgICAgICAgICAgICAgYXJncy5wb3AoMCkKKyAgICAgICAgICAg
IHNlbGYuY29tbWFuZHMuYXBwZW5kKENvbW1vbkNvbW1hbmQucGFyc2VfY29tbWFuZChzZWxmLmNv
bW1vbiwgc2VsZi5nbG9iYWxfb3B0aW9ucywgYXJncykpCisgICAgICAgIGlmIHNlbGYuZ2xvYmFs
X29wdGlvbnMuaGVscCgpOgorICAgICAgICAgICAgc2VsZi5jb21tYW5kcyA9IFtDb21tb25IZWxw
Q29tbWFuZCgiaGVscCIsIHNlbGYuY29tbW9uKV0gICMgZG9uJ3QgcnVuIGFueXRoaW5nIGVsc2Ug
aWYgJy0taGVscCcgaXMgc3BlY2lmaWVkIGFzIGdsb2JhbCBvcHRpb24KKyAgICAgICAgZWxpZiBu
b3Qgc2VsZi5jb21tYW5kczoKKyAgICAgICAgICAgIHNlbGYuZXJyb3IoIkF0IGxlYXN0IDEgY29t
bWFuZCBleHBlY3RlZCwgb3IgJy0taGVscCchIikKKworICAgIGRlZiBpbml0aWFsaXplX3NldHVw
KHNlbGYpOgorICAgICAgICBzZWxmLnNldHVwLmluaXRpYWxpemUoKQorCisgICAgZGVmIHJlYWRf
cHJvamVjdF9maWxlcyhzZWxmKToKKyAgICAgICAgc2VsZi5zZXR1cC5yZWFkX3Byb2plY3RfZmls
ZXMoKQorCisgICAgZGVmIHdyaXRlX3Byb2plY3RfZmlsZXMoc2VsZik6CisgICAgICAgIHNlbGYu
c2V0dXAud3JpdGVfcHJvamVjdF9maWxlcygpCisKKyAgICBkZWYgZXhlY3V0ZV9jb21tYW5kcyhz
ZWxmKToKKyAgICAgICAgZm9yIGNvbW1hbmQgaW4gc2VsZi5jb21tYW5kczoKKyAgICAgICAgICAg
IHNlbGYuY29tbW9uLnNldF9vcHRpb25zKGNvbW1hbmQub3B0aW9ucykKKyAgICAgICAgICAgIGNv
bW1hbmQuZXhlY3V0ZShzZWxmLnNldHVwLnBsYXRmb3JtX3RvX3Byb2plY3QpCisgICAgICAgIHNl
bGYuY29tbW9uLnNldF9vcHRpb25zKHNlbGYuZ2xvYmFsX29wdGlvbnMpCisKKyAgICBkZWYgZXhl
Y3V0ZV9jb21tYW5kX2xpbmUoc2VsZik6CisgICAgICAgIHNlbGYucGFyc2VfY29tbWFuZF9saW5l
KCkKKyAgICAgICAgc2VsZi5pbml0aWFsaXplX3NldHVwKCkKKyAgICAgICAgc2VsZi5yZWFkX3By
b2plY3RfZmlsZXMoKQorICAgICAgICBzZWxmLmV4ZWN1dGVfY29tbWFuZHMoKQorICAgICAgICBz
ZWxmLndyaXRlX3Byb2plY3RfZmlsZXMoKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9jb21tb24vcHJvamVjdC93ZWJraXRmaWxlX3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9jb21tb24vcHJvamVjdC93ZWJraXRmaWxlX3VuaXR0ZXN0LnB5Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYzNTA5ZDQKLS0tIC9kZXYvbnVsbAorKysgYi9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9wcm9qZWN0L3dlYmtpdGZpbGVfdW5pdHRlc3Qu
cHkKQEAgLTAsMCArMSwxMjcgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbgorIyBDb3B5cmlnaHQg
KEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUKKyMgbWV0OgorIworIyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyMgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
CisjIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIKKyMgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorIyBkaXN0cmlidXRpb24uCisjICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworIyBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbQorIyB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLgorIworIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisjICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisjIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorIyBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVAorIyBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyMgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyMg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZCisjIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyMgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisjIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisKK2ltcG9ydCBmaWxlY21wCitpbXBvcnQgdW5pdHRlc3QKKworZnJvbSB3ZWJraXRweS5jb21t
b24ucHJvamVjdC53ZWJraXRmaWxlIGltcG9ydCAqCisKK1VOSVRURVNUX0RJUkVDVE9SWV9SRUxQ
QVRIID0gIlRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3Byb2plY3QvdW5pdHRlc3RfZmls
ZXMiCitVTklUVEVTVF9PVVRQVVRfVEVNUExBVEUgPSBVTklUVEVTVF9ESVJFQ1RPUllfUkVMUEFU
SCArICIvdGVzdHJ1bl8lc18lcy50eHQiCisKKworY2xhc3MgV2ViS2l0RmlsZVVuaXRUZXN0U2V0
dXAoV2ViS2l0RmlsZVNldHVwKToKKyAgICBOT05SQU5ET01fVUlEID0gMAorCisgICAgZGVmIF9f
aW5pdF9fKHNlbGYpOgorICAgICAgICBXZWJLaXRGaWxlU2V0dXAuX19pbml0X18oc2VsZiwgIlVu
aXRUZXN0IikKKyAgICAgICAgc2VsZi5jb21tb24ub3B0aW9ucy5zZXRfdmVyYm9zaXR5KENvbW1v
bk9wdGlvbnMuVkVSQk9TSVRZX1NJTEVOVCkKKyAgICAgICAgc2VsZi5maWxlX3ByZWZpeCA9ICIi
CisgICAgICAgIFdlYktpdEZpbGVVbml0VGVzdFNldHVwLk5PTlJBTkRPTV9VSUQgPSAwCisKKyAg
ICBAc3RhdGljbWV0aG9kCisgICAgZGVmIGNyZWF0ZV9VSUQoKToKKyAgICAgICAgV2ViS2l0Rmls
ZVVuaXRUZXN0U2V0dXAuTk9OUkFORE9NX1VJRCArPSAxCisgICAgICAgIHJldHVybiAiJTAyNHgi
ICUgV2ViS2l0RmlsZVVuaXRUZXN0U2V0dXAuTk9OUkFORE9NX1VJRAorCisgICAgZGVmIGluaXRp
YWxpemUoc2VsZik6CisgICAgICAgIHNlbGYucm9vdF9kaXJlY3RvcnkgPSBzZWxmLmNvbW1vbi5y
b290X2RpcmVjdG9yeQorICAgICAgICBzZWxmLnNjbV9kaXJlY3RvcnkgPSBzZWxmLmNvbW1vbi5z
Y21fZGlyZWN0b3J5CisgICAgICAgIHNlbGYuYnVpbGRfZGlyZWN0b3J5ID0gc2VsZi5jb21tb24u
Y3JlYXRlX2Jhc2VfZGlyZWN0b3J5KCIke0JVSUxEfSIpCisgICAgICAgIHNlbGYudW5pdHRlc3Rf
ZGlyZWN0b3J5ID0gc2VsZi5jb21tb24uZW5zdXJlX3N1YmRpcmVjdG9yeV9wYXRoKHNlbGYuc2Nt
X2RpcmVjdG9yeSwgVU5JVFRFU1RfRElSRUNUT1JZX1JFTFBBVEgpCisgICAgICAgICMgWGNvZGUK
KyAgICAgICAgc2VsZi54Y19wcm9qZWN0X2ZpbGUgPSBzZWxmLmNvbW1vbi5lbnN1cmVfZmlsZShz
ZWxmLnVuaXR0ZXN0X2RpcmVjdG9yeSwgIlhjb2RlLXVuc29ydGVkLnBieHByb2oiKQorICAgICAg
ICBzZWxmLnhjX3ZhcmlhYmxlX3RvX2RpcmVjdG9yeSA9IHsKKyAgICAgICAgICAgICdTT1VSQ0Vf
Uk9PVCc6ICAgICAgICAgIHNlbGYudW5pdHRlc3RfZGlyZWN0b3J5LAorICAgICAgICAgICAgJyI8
YWJzb2x1dGU+Iic6ICAgICAgICAgc2VsZi5yb290X2RpcmVjdG9yeSwKKyAgICAgICAgICAgICdC
VUlMVF9QUk9EVUNUU19ESVInOiAgIHNlbGYuYnVpbGRfZGlyZWN0b3J5LAorICAgICAgICAgICAg
IyBGYWxsYmFjayBpbiBlcnJvciBjYXNlcworICAgICAgICAgICAgJz09RVJST1I9JHtTQ019PT0n
OiAgICAgc2VsZi5zY21fZGlyZWN0b3J5LAorICAgICAgICB9CisgICAgICAgIHNlbGYueGNfcHJv
amVjdCA9IFhjb2RlUHJvamVjdChzZWxmLmNvbW1vbiwgc2VsZi54Y19wcm9qZWN0X2ZpbGUsIHNl
bGYueGNfdmFyaWFibGVfdG9fZGlyZWN0b3J5LCAiV2ViQ29yZSIsICJ0ZXN0LXRhcmdldCIpCisg
ICAgICAgIHNlbGYueGNfcHJvamVjdC51aWRfY3JlYXRpb25fZnVuY3Rpb24gPSBXZWJLaXRGaWxl
VW5pdFRlc3RTZXR1cC5jcmVhdGVfVUlECisgICAgICAgIHNlbGYueGNfcmVhZGVyID0gWGNvZGVQ
cm9qZWN0UmVhZGVyKHNlbGYueGNfcHJvamVjdCkKKyAgICAgICAgc2VsZi54Y193cml0ZXIgPSBY
Y29kZVByb2plY3RXcml0ZXIoc2VsZi54Y19wcm9qZWN0KQorICAgICAgICAjIFF0CisgICAgICAg
IHNlbGYucXRfcHJvamVjdF9maWxlID0gc2VsZi5jb21tb24uZW5zdXJlX2ZpbGUoc2VsZi51bml0
dGVzdF9kaXJlY3RvcnksICJRdC11bnNvcnRlZC5wcm8iKQorICAgICAgICBzZWxmLnF0X3Zhcmlh
YmxlX3RvX2RpcmVjdG9yeSA9IHsKKyAgICAgICAgICAgICckJFBXRCc6ICAgICAgICAgICAgICAg
IHNlbGYucXRfcHJvamVjdF9maWxlLmRpcmVjdG9yeSwKKyAgICAgICAgICAgICMgRmFsbGJhY2sg
aW4gZXJyb3IgY2FzZXMKKyAgICAgICAgICAgICc9PUVSUk9SPSR7U0NNfT09JzogICAgIHNlbGYu
c2NtX2RpcmVjdG9yeSwKKyAgICAgICAgfQorICAgICAgICBzZWxmLnF0X3Byb2plY3QgPSBRdFBy
b2plY3Qoc2VsZi5jb21tb24sIFF0TWFrZUZpbGUoc2VsZi5xdF9wcm9qZWN0X2ZpbGUpLCBzZWxm
LnF0X3ZhcmlhYmxlX3RvX2RpcmVjdG9yeSkKKyAgICAgICAgc2VsZi5xdF9yZWFkZXIgPSBRdFBy
b2plY3RSZWFkZXIoc2VsZi5xdF9wcm9qZWN0KQorICAgICAgICBzZWxmLnF0X3dyaXRlciA9IFF0
UHJvamVjdFdyaXRlcihzZWxmLnF0X3Byb2plY3QpCisgICAgICAgICMgcGxhdGZvcm0gbWFwCisg
ICAgICAgIHNlbGYucGxhdGZvcm1fdG9fcHJvamVjdCA9IHsKKyAgICAgICAgICAgIENvbW1vbk9w
dGlvbnMuUExBVEZPUk1fWENPREU6ICAgc2VsZi54Y19wcm9qZWN0LAorICAgICAgICAgICAgQ29t
bW9uT3B0aW9ucy5QTEFURk9STV9RVDogICAgICBzZWxmLnF0X3Byb2plY3QsCisgICAgICAgIH0K
KyAgICAgICAgc2VsZi5wbGF0Zm9ybV90b19wcm9qZWN0X3JlYWRlciA9IHsKKyAgICAgICAgICAg
IENvbW1vbk9wdGlvbnMuUExBVEZPUk1fWENPREU6ICAgc2VsZi54Y19yZWFkZXIsCisgICAgICAg
ICAgICBDb21tb25PcHRpb25zLlBMQVRGT1JNX1FUOiAgICAgIHNlbGYucXRfcmVhZGVyLAorICAg
ICAgICB9CisgICAgICAgIHNlbGYucGxhdGZvcm1fdG9fcHJvamVjdF93cml0ZXIgPSB7CisgICAg
ICAgICAgICBDb21tb25PcHRpb25zLlBMQVRGT1JNX1hDT0RFOiAgIHNlbGYueGNfd3JpdGVyLAor
ICAgICAgICAgICAgQ29tbW9uT3B0aW9ucy5QTEFURk9STV9RVDogICAgICBzZWxmLnF0X3dyaXRl
ciwKKyAgICAgICAgfQorCisgICAgZGVmIHdyaXRlX3Byb2plY3RfZmlsZXMoc2VsZik6CisgICAg
ICAgIGZvciAocGxhdGZvcm1faWQsIHdyaXRlcikgaW4gc2VsZi5wbGF0Zm9ybV90b19wcm9qZWN0
X3dyaXRlci5pdGVtcygpOgorICAgICAgICAgICAgd3JpdGVyLndyaXRlKFVOSVRURVNUX09VVFBV
VF9URU1QTEFURSAlIChzZWxmLmZpbGVfcHJlZml4LCBwbGF0Zm9ybV9pZCkpCisKKworY2xhc3Mg
V2ViS2l0RmlsZVRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgorICAgIGRlZiBzZXRVcChzZWxmKToK
KyAgICAgICAgc2VsZi5zZXR1cCA9IFdlYktpdEZpbGVVbml0VGVzdFNldHVwKCkKKworICAgIGRl
ZiB0ZWFyRG93bihzZWxmKToKKyAgICAgICAgZm9yIHBsYXRmb3JtX2lkIGluIHNlbGYuc2V0dXAu
cGxhdGZvcm1fdG9fcHJvamVjdC5rZXlzKCk6CisgICAgICAgICAgICB0cnk6CisgICAgICAgICAg
ICAgICAgc2VsZi5zZXR1cC5jb21tb24uZmlsZXN5c3RlbS5yZW1vdmUoVU5JVFRFU1RfT1VUUFVU
X1RFTVBMQVRFICUgKHNlbGYuc2V0dXAuZmlsZV9wcmVmaXgsIHBsYXRmb3JtX2lkKSkKKyAgICAg
ICAgICAgIGV4Y2VwdCBPU0Vycm9yOgorICAgICAgICAgICAgICAgIHBhc3MKKworICAgIGRlZiB0
ZXN0X3NvcnQoc2VsZik6CisgICAgICAgIHNlbGYuc2V0dXAuZmlsZV9wcmVmaXggPSAic29ydCIK
KyAgICAgICAgd2Via2l0X2ZpbGUgPSBXZWJLaXRGaWxlKHNlbGYuc2V0dXAsIFsic29ydCJdKQor
ICAgICAgICB3ZWJraXRfZmlsZS5leGVjdXRlX2NvbW1hbmRfbGluZSgpCisgICAgICAgIHNlbGYu
YXNzZXJ0VHJ1ZShmaWxlY21wLmNtcChVTklUVEVTVF9PVVRQVVRfVEVNUExBVEUgJSAoc2VsZi5z
ZXR1cC5maWxlX3ByZWZpeCwgQ29tbW9uT3B0aW9ucy5QTEFURk9STV9YQ09ERSksIFVOSVRURVNU
X0RJUkVDVE9SWV9SRUxQQVRIICsgIi9YY29kZS1zb3J0LnBieHByb2oiLCBzaGFsbG93PUZhbHNl
KSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGZpbGVjbXAuY21wKFVOSVRURVNUX09VVFBVVF9U
RU1QTEFURSAlIChzZWxmLnNldHVwLmZpbGVfcHJlZml4LCBDb21tb25PcHRpb25zLlBMQVRGT1JN
X1FUKSwgVU5JVFRFU1RfRElSRUNUT1JZX1JFTFBBVEggKyAiL1F0LXNvcnQucHJvIiwgc2hhbGxv
dz1GYWxzZSkpCisKKyAgICBkZWYgdGVzdF9hZGRfZmlsZShzZWxmKToKKyAgICAgICAgc2VsZi5z
ZXR1cC5maWxlX3ByZWZpeCA9ICJhZGQiCisgICAgICAgIHdlYmtpdF9maWxlID0gV2ViS2l0Rmls
ZShzZWxmLnNldHVwLCBbImFkZCIsIFVOSVRURVNUX0RJUkVDVE9SWV9SRUxQQVRIICsgIi90ZXN0
LXByb2plY3Qvc3ViZm9sZGVyL2RlZXBseS9uZXN0ZWQvZmlsZS5oIl0pCisgICAgICAgIHdlYmtp
dF9maWxlLmV4ZWN1dGVfY29tbWFuZF9saW5lKCkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGZp
bGVjbXAuY21wKFVOSVRURVNUX09VVFBVVF9URU1QTEFURSAlIChzZWxmLnNldHVwLmZpbGVfcHJl
Zml4LCBDb21tb25PcHRpb25zLlBMQVRGT1JNX1hDT0RFKSwgVU5JVFRFU1RfRElSRUNUT1JZX1JF
TFBBVEggKyAiL1hjb2RlLWFkZC1maWxlLnBieHByb2oiLCBzaGFsbG93PUZhbHNlKSkKKyAgICAg
ICAgc2VsZi5hc3NlcnRUcnVlKGZpbGVjbXAuY21wKFVOSVRURVNUX09VVFBVVF9URU1QTEFURSAl
IChzZWxmLnNldHVwLmZpbGVfcHJlZml4LCBDb21tb25PcHRpb25zLlBMQVRGT1JNX1FUKSwgVU5J
VFRFU1RfRElSRUNUT1JZX1JFTFBBVEggKyAiL1F0LWFkZC1maWxlLnBybyIsIHNoYWxsb3c9RmFs
c2UpKQorCisKK2lmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CisgICAgdW5pdHRlc3QubWFpbigp
Cg==
</data>
<flag name="review"
          id="139122"
          type_id="1"
          status="-"
          setter="haraken"
    />
          </attachment>
      

    </bug>

</bugzilla>