<?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>226018</bug_id>
          
          <creation_ts>2021-05-20 07:11:54 -0700</creation_ts>
          <short_desc>Fix Python 3.6+ DeprecationWarnings about unknown escapes</short_desc>
          <delta_ts>2021-05-21 03:17:33 -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>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sam Sneddon [:gsnedders]">gsnedders</reporter>
          <assigned_to name="Sam Sneddon [:gsnedders]">gsnedders</assigned_to>
          <cc>aakash_jain</cc>
    
    <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jbedard</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>msaboff</cc>
    
    <cc>rniwa</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1761939</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Sneddon [:gsnedders]">gsnedders</who>
    <bug_when>2021-05-20 07:11:54 -0700</bug_when>
    <thetext>See summary.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1761940</commentid>
    <comment_count>1</comment_count>
      <attachid>429168</attachid>
    <who name="Sam Sneddon [:gsnedders]">gsnedders</who>
    <bug_when>2021-05-20 07:19:17 -0700</bug_when>
    <thetext>Created attachment 429168
Patch

This was generated by a slightly hacked at pyupgrade, to only fix this deprecation warning.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1761945</commentid>
    <comment_count>2</comment_count>
      <attachid>429168</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-05-20 07:29:58 -0700</bug_when>
    <thetext>Comment on attachment 429168
Patch

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

&gt; Tools/Scripts/libraries/webkitscmpy/webkitscmpy/remote/svn.py:42
&gt; +    DATA_RE = re.compile(br&apos;&lt;[SD]:(?P&lt;tag&gt;\S+)&gt;(?P&lt;content&gt;.*)&lt;/[SD]:.+&gt;&apos;)

I did not know that `br` actually worked!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1761946</commentid>
    <comment_count>3</comment_count>
      <attachid>429168</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-05-20 07:30:59 -0700</bug_when>
    <thetext>Comment on attachment 429168
Patch

Looks good, but I want to see some successful layout tests before landing, I suspect webkitpy tests aren&apos;t completely covering this change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1762012</commentid>
    <comment_count>4</comment_count>
    <who name="Sam Sneddon [:gsnedders]">gsnedders</who>
    <bug_when>2021-05-20 10:10:57 -0700</bug_when>
    <thetext>(In reply to Jonathan Bedard from comment #2)
&gt; I did not know that `br` actually worked!

Python 2.7 and Python 3.3 added it, IIRC. The annoying thing is even once u&apos;&apos; was re-added to Python 3 (in 3.3), ur&apos;&apos; wasn&apos;t (because, IIRC, there are syntax differences).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1762348</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-05-21 03:16:20 -0700</bug_when>
    <thetext>Committed r277853 (237995@main): &lt;https://commits.webkit.org/237995@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 429168.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1762351</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-05-21 03:17:33 -0700</bug_when>
    <thetext>&lt;rdar://problem/78303382&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>429168</attachid>
            <date>2021-05-20 07:19:17 -0700</date>
            <delta_ts>2021-05-21 03:16:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226018-20210520151915.patch</filename>
            <type>text/plain</type>
            <size>87990</size>
            <attacher name="Sam Sneddon [:gsnedders]">gsnedders</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc3NzgwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAx
ZjNlZDA0MzE1MmU3OTRkNjAxYjMyNWFmYzU4YTlmMzU3ODJiMzRlLi5kZWFjNzFjNmM3YmU4MmVi
MGJmY2M4MjUzYzVjZTIwZTk0MzhmMTNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNCBAQAorMjAyMS0wNS0yMCAgU2FtIFNuZWRkb24gIDxnc25lZGRlcnNAYXBwbGUuY29t
PgorCisgICAgICAgIEZpeCBQeXRob24gMy42KyBEZXByZWNhdGlvbldhcm5pbmdzIGFib3V0IHVu
a25vd24gZXNjYXBlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjI2MDE4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgRml4IFB5dGhvbiAzLjYrIERlcHJlY2F0aW9uV2FybmluZ3MgYWJvdXQgdW5rbm93biBl
c2NhcGVzCisKKyAgICAgICAgKiB3YXNtL2dlbmVyYXRlV2FzbUIzSVJHZW5lcmF0b3JJbmxpbmVz
SGVhZGVyLnB5OgorCiAyMDIxLTA1LTE5ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4K
IAogICAgICAgICBBYnN0cmFjdFNsb3RWaXNpdG9yOjpjb250YWluc09wYXF1ZVJvb3QoKSBzaG91
bGQgb25seSBkZWNsYXJlIGRpZEZpbmRPcGFxdWVSb290IGlmIHRoZSByb290IGlzIGFjdHVhbGx5
IGZvdW5kLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCmluZGV4IGJjMWM1NjEwOWM5ZTc0YWI0MDM3OTI0NDQyOTI0OTRiZTQ3
MWQxZGIuLmY4ZDU0NWIyMWE1MTQzOWY4NjhhOGNlNWRiYzM2NWEwNDY3ZDRmN2YgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNiBAQAorMjAyMS0wNS0yMCAgU2FtIFNuZWRkb24gIDxnc25lZGRlcnNA
YXBwbGUuY29tPgorCisgICAgICAgIEZpeCBQeXRob24gMy42KyBEZXByZWNhdGlvbldhcm5pbmdz
IGFib3V0IHVua25vd24gZXNjYXBlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjI2MDE4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgRml4IFB5dGhvbiAzLjYrIERlcHJlY2F0aW9uV2FybmluZ3MgYWJvdXQg
dW5rbm93biBlc2NhcGVzCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLgorCisgICAgICAgICogTW9k
dWxlcy93ZWJncHUvV0hMU0wvV0hMU0xCdWlsZFN0YW5kYXJkTGlicmFyeUZ1bmN0aW9uTWFwLnB5
OgorCiAyMDIxLTA1LTIwICBBbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAg
ICBbTEZDXVtURkNdIEF2YWlsYWJsZSBzcGFjZSBkaXN0cmlidXRpb24gc2hvdWxkIGFjY291bnQg
Zm9yIHRoZSB0b3AgYW5kIGJvdHRvbSB0YWJsZSBzcGFjaW5nCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvd2FzbS9nZW5lcmF0ZVdhc21CM0lSR2VuZXJhdG9ySW5saW5lc0hlYWRl
ci5weSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2dlbmVyYXRlV2FzbUIzSVJHZW5lcmF0
b3JJbmxpbmVzSGVhZGVyLnB5CmluZGV4IDNjZGYwZTBmYWEwYjFjNTA1YWY3ZGMwMzU1MzYxNzE5
NGJkYzE2NjYuLjFlMzgwZGVmMWNkOGNiNjc2MDc1ZWQzMjU1NzliMGY1MWQxYmNlNTUgMTAwNzU1
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2dlbmVyYXRlV2FzbUIzSVJHZW5lcmF0
b3JJbmxpbmVzSGVhZGVyLnB5CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2dlbmVy
YXRlV2FzbUIzSVJHZW5lcmF0b3JJbmxpbmVzSGVhZGVyLnB5CkBAIC00MCwxMiArNDAsMTIgQEAg
b3Bjb2RlcyA9IHdhc20ub3Bjb2Rlcwogd2FzbUIzSVJHZW5lcmF0b3JIRmlsZSA9IG9wZW4oYXJn
c1syXSwgInciKQogCiBvcGNvZGVSZWdleCA9IHJlLmNvbXBpbGUoJyhbYS16QS1aMC05XSspJykK
LWFyZ3VtZW50UmVnZXggPSByZS5jb21waWxlKCcoXEBbMC05XSspJykKK2FyZ3VtZW50UmVnZXgg
PSByZS5jb21waWxlKHInKFxAWzAtOV0rKScpCiBkZWNpbWFsUmVnZXggPSByZS5jb21waWxlKCco
Wy1dP1swLTldKyknKQotd2hpdGVzcGFjZVJlZ2V4ID0gcmUuY29tcGlsZSgnXHMrJykKK3doaXRl
c3BhY2VSZWdleCA9IHJlLmNvbXBpbGUocidccysnKQogY29tbWFSZWdleCA9IHJlLmNvbXBpbGUo
JygsKScpCi1vcGFyZW5SZWdleCA9IHJlLmNvbXBpbGUoJyhcKCknKQotY3BhcmVuUmVnZXggPSBy
ZS5jb21waWxlKCcoXCkpJykKK29wYXJlblJlZ2V4ID0gcmUuY29tcGlsZShyJyhcKCknKQorY3Bh
cmVuUmVnZXggPSByZS5jb21waWxlKHInKFwpKScpCiAKIAogY2xhc3MgU291cmNlOgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xCdWlsZFN0YW5k
YXJkTGlicmFyeUZ1bmN0aW9uTWFwLnB5IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUv
V0hMU0wvV0hMU0xCdWlsZFN0YW5kYXJkTGlicmFyeUZ1bmN0aW9uTWFwLnB5CmluZGV4IDhhMDdl
OTQwYzZlMjE5ZWMzYjNmNWY4ODA0N2NiOGM5NGE4YWY1M2UuLjhiNzE3ODk1NDQ4OTkwZGM4YWM2
ODc3YmMxMDRkOWRiYThlNjkxNDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViZ3B1L1dITFNML1dITFNMQnVpbGRTdGFuZGFyZExpYnJhcnlGdW5jdGlvbk1hcC5weQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTEJ1aWxkU3RhbmRhcmRM
aWJyYXJ5RnVuY3Rpb25NYXAucHkKQEAgLTI2LDcgKzI2LDcgQEAKIGltcG9ydCBzeXMKIGltcG9y
dCByZQogCi1yZWd1bGFyRXhwcmVzc2lvbiA9IHJlLmNvbXBpbGUoIi9cKiBGdW5jdGlvbnMgbmFt
ZWQgKC4qKSBcKi8iKQorcmVndWxhckV4cHJlc3Npb24gPSByZS5jb21waWxlKHIiL1wqIEZ1bmN0
aW9ucyBuYW1lZCAoLiopIFwqLyIpCiAKIGluZmlsZSA9IG9wZW4oc3lzLmFyZ3ZbMV0sICJyIikK
IGNvbnRlbnRzID0gaW5maWxlLnJlYWQoKQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIv
VG9vbHMvQ2hhbmdlTG9nCmluZGV4IDNhNDMzY2I5NDI2MmViYzM5YmQ4ZmFlNjA0MGIxNTMwMWYx
YzdkZjEuLmU4Y2Y5N2Q3NjdmNDYwMjZjNGQ0ZDA4YjU4ZGM2NTNkYmE3MWE2MmQgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNDIg
QEAKKzIwMjEtMDUtMjAgIFNhbSBTbmVkZG9uICA8Z3NuZWRkZXJzQGFwcGxlLmNvbT4KKworICAg
ICAgICBGaXggUHl0aG9uIDMuNisgRGVwcmVjYXRpb25XYXJuaW5ncyBhYm91dCB1bmtub3duIGVz
Y2FwZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIy
NjAxOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZp
eCBQeXRob24gMy42KyBEZXByZWNhdGlvbldhcm5pbmdzIGFib3V0IHVua25vd24gZXNjYXBlcwor
CisgICAgICAgICogQ0lTdXBwb3J0L2J1aWxkLXdlYmtpdC1vcmcvbG9hZENvbmZpZy5weToKKyAg
ICAgICAgKGdldFRhZ3NGb3JCdWlsZGVyKToKKyAgICAgICAgKiBDSVN1cHBvcnQvYnVpbGQtd2Vi
a2l0LW9yZy9zdGVwcy5weToKKyAgICAgICAgKFJ1bkdMaWJBUElUZXN0cy5jb21tYW5kQ29tcGxl
dGUpOgorICAgICAgICAoUnVuV2ViRHJpdmVyVGVzdHMuY29tbWFuZENvbXBsZXRlKToKKyAgICAg
ICAgKiBDSVN1cHBvcnQvZXdzLWFwcC9ld3MvY29tbW9uL2J1Z3ppbGxhLnB5OgorICAgICAgICAo
QnVnemlsbGFCZWF1dGlmdWxTb3VwLl9wYXJzZV9hdHRhY2htZW50X2lkc19yZXF1ZXN0X3F1ZXJ5
KToKKyAgICAgICAgKiBDSVN1cHBvcnQvZXdzLWFwcC9ld3MvY29tbW9uL2J1aWxkYm90LnB5Ogor
ICAgICAgICAoQnVpbGRib3QuX2dldF9kaXNwbGF5X25hbWVfZnJvbV9idWlsZGVyX25hbWUpOgor
ICAgICAgICAqIENJU3VwcG9ydC9ld3MtYnVpbGQvbG9hZENvbmZpZy5weToKKyAgICAgICAgKGdl
dFRhZ3NGb3JCdWlsZGVyKToKKyAgICAgICAgKiBDSVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzLnB5
OgorICAgICAgICAoQ2xlYW5VcEdpdEluZGV4TG9jay5zdGFydCk6CisgICAgICAgIChGaW5kTW9k
aWZpZWRMYXlvdXRUZXN0cyk6CisgICAgICAgIChCdWlsZExvZ0xpbmVPYnNlcnZlci5fX2luaXRf
Xyk6CisgICAgICAgIChQdXNoQ29tbWl0VG9XZWJLaXRSZXBvKToKKyAgICAgICAgKiBDSVN1cHBv
cnQvZXdzLWJ1aWxkL3N0ZXBzX3VuaXR0ZXN0LnB5OgorICAgICAgICAqIFNjcmlwdHMvaWMtc3Rh
dHMucHk6CisgICAgICAgICogU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2Nt
cHkvcmVtb3RlL3N2bi5weToKKyAgICAgICAgKFN2bik6CisgICAgICAgICogU2NyaXB0cy93ZWJr
aXRweS9jb21tb24vY2hlY2tvdXQvY2hhbmdlbG9nLnB5OgorICAgICAgICAocGFyc2VfYnVnX2lk
X2Zyb21fY2hhbmdlbG9nKToKKyAgICAgICAgKENoYW5nZUxvZ0VudHJ5KToKKyAgICAgICAgKHVw
ZGF0ZV93aXRoX3VucmV2aWV3ZWRfbWVzc2FnZSk6CisgICAgICAgIChzZXRfcmV2aWV3ZXIpOgor
ICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZWNrb3V0L2RpZmZfcGFyc2VyLnB5
OgorICAgICAgICAoZ2l0X2RpZmZfdG9fc3ZuX2RpZmYpOgorICAgICAgICAqIFNjcmlwdHMvd2Vi
a2l0cHkvY29tbW9uL2NoZWNrb3V0L2RpZmZfdGVzdF9kYXRhLnB5OgorICAgICAgICAqIFNjcmlw
dHMvd2Via2l0cHkvY29tbW9uL2NoZWNrb3V0L3NjbS9jb21taXRtZXNzYWdlLnB5OgorICAgICAg
ICAoX2ZpcnN0X25vbl9lbXB0eV9saW5lX2FmdGVyX2luZGV4KToKKyAgICAgICAgKENvbW1pdE1l
c3NhZ2UuZGVzY3JpcHRpb24pOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvY29tbW9uL2No
ZWNrb3V0L3NjbS9naXQucHk6CisgICAgICAgIChHaXQuY29tbWl0X3N1Y2Nlc3NfcmVnZXhwKToK
KyAgICAgICAgKEdpdC50aW1lc3RhbXBfb2ZfcmV2aXNpb24pOgorICAgICAgICAoR2l0LmdpdF9j
b21taXRfZnJvbV9zdm5fcmV2aXNpb24pOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvY29t
bW9uL2NoZWNrb3V0L3NjbS9zY20ucHk6CisgICAgICAgIChTQ00uc3RyaXBfcl9mcm9tX3N2bl9y
ZXZpc2lvbik6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQvc2Nt
L3N2bi5weToKKyAgICAgICAgKFNWTi5jb21taXRfc3VjY2Vzc19yZWdleHApOgorICAgICAgICAo
U1ZOLnJldmlzaW9uc19jaGFuZ2luZ19maWxlKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5
L2NvbW1vbi9jaGVja3N2bmNvbmZpZ2ZpbGUucHk6CisgICAgICAgIChjaGVjayk6CisgICAgICAg
ICogU2NyaXB0cy93ZWJraXRweS9jb21tb24vY29uZmlnL2NvbnRyaWJ1dGlvbmFyZWFzLnB5Ogor
ICAgICAgICAoQ29udHJpYnV0aW9uQXJlYXMuX3NwbGl0X2NhbWVsY2FzZSk6CisgICAgICAgICog
U2NyaXB0cy93ZWJraXRweS9jb21tb24vY29uZmlnL3VybHMucHk6CisgICAgICAgICogU2NyaXB0
cy93ZWJraXRweS9jb21tb24vZmluZF9maWxlc191bml0dGVzdC5weToKKyAgICAgICAgKFRlc3RX
aW5Ob3JtYWxpemUuYXNzZXJ0X2ZpbGVzeXN0ZW1fbm9ybWFsaXplcyk6CisgICAgICAgICogU2Ny
aXB0cy93ZWJraXRweS9jb21tb24vbmV0L2J1Z3ppbGxhL2J1Zy5weToKKyAgICAgICAgKEJ1Zy5j
b21taXRfcmV2aXNpb24pOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9i
dWd6aWxsYS9idWd6aWxsYS5weToKKyAgICAgICAgKEJ1Z3ppbGxhUXVlcmllcy5fcGFyc2VfYXR0
YWNobWVudF9pZHNfcmVxdWVzdF9xdWVyeSk6CisgICAgICAgIChCdWd6aWxsYS5fcGFyc2VfYnVn
X2lkX2Zyb21fYXR0YWNobWVudF9wYWdlKToKKyAgICAgICAgKEJ1Z3ppbGxhLl9wYXJzZV9hdHRh
Y2htZW50X2lkX2Zyb21fYWRkX3BhdGNoX3RvX2J1Z19yZXNwb25zZSk6CisgICAgICAgIChCdWd6
aWxsYS5fY2hlY2tfY3JlYXRlX2J1Z19yZXNwb25zZSk6CisgICAgICAgICogU2NyaXB0cy93ZWJr
aXRweS9jb21tb24vbmV0L2J1aWxkYm90L2J1aWxkYm90LnB5OgorICAgICAgICAoQnVpbGRCb3Qu
X3BhcnNlX2N1cnJlbnRfYnVpbGRfY2VsbCk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9j
b21tb24vbmV0L2NyZWRlbnRpYWxzLnB5OgorICAgICAgICAoQ3JlZGVudGlhbHMuX3BhcnNlX3Nl
Y3VyaXR5X3Rvb2xfb3V0cHV0KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9u
ZXQvcmVzdWx0c2pzb25wYXJzZXJfdW5pdHRlc3QucHk6CisgICAgICAgIChQYXJzZWRKU09OUmVz
dWx0c1Rlc3QpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvY29tbW9uL3N5c3RlbS9jcmFz
aGxvZ3MucHk6CisgICAgICAgIChDcmFzaExvZ3MuZ2V0X3RpbWVzdGFtcF9mcm9tX2xvZyk6Cisg
ICAgICAgICogU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL2NyYXNobG9nc191bml0dGVz
dC5weToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0ZW0vcGxhdGZvcm1p
bmZvLnB5OgorICAgICAgICAoUGxhdGZvcm1JbmZvLmF2YWlsYWJsZV9zZGtzKToKKyAgICAgICAg
KiBTY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0ZW0vdXNlci5weToKKyAgICAgICAgKFVzZXIu
X3dhaXRfb25fbGlzdF9yZXNwb25zZSk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9jb21t
b24vd2F0Y2hsaXN0L3dhdGNobGlzdHBhcnNlci5weToKKyAgICAgICAgKFdhdGNoTGlzdFBhcnNl
ci5fcnVsZV9kZWZpbml0aW9uc19hc19zZXQpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkv
bGF5b3V0X3Rlc3RzL21vZGVscy90ZXN0X2V4cGVjdGF0aW9ucy5weToKKyAgICAgICAgKFRlc3RF
eHBlY3RhdGlvblBhcnNlcik6CisgICAgICAgIChUZXN0RXhwZWN0YXRpb25QYXJzZXIuX3BhcnNl
X21vZGlmaWVycyk6CisgICAgICAgIChUZXN0RXhwZWN0YXRpb25QYXJzZXIuX3Rva2VuaXplX2xp
bmUpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvcGVyZm9ybWFuY2VfdGVzdHMvcGVyZnRl
c3QucHk6CisgICAgICAgIChQZXJmVGVzdCk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9w
b3J0L2Jhc2UucHk6CisgICAgICAgIChQb3J0Ll9uYXR1cmFsX3NvcnRfa2V5KToKKyAgICAgICAg
KiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvZHJpdmVyLnB5OgorICAgICAgICAoRHJpdmVyT3V0cHV0
KToKKyAgICAgICAgKERyaXZlci5fY2hlY2tfZm9yX2RyaXZlcl90aW1lb3V0KToKKyAgICAgICAg
KERyaXZlci5fY2hlY2tfZm9yX2RyaXZlcl9jcmFzaF9vcl91bnJlc3BvbnNpdmVuZXNzKToKKyAg
ICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvaW1hZ2VfZGlmZi5weToKKyAgICAgICAgKElt
YWdlRGlmZmVyLl9yZWFkKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvd2luLnB5
OgorICAgICAgICAoV2luUG9ydC53cml0ZV9yZWdpc3RyeV92YWx1ZSk6CisgICAgICAgICogU2Ny
aXB0cy93ZWJraXRweS9weXRlc3QuaW5pOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvc3R5
bGUvY2hlY2tlci5weToKKyAgICAgICAgKENoZWNrZXJEaXNwYXRjaGVyLl9zaG91bGRfc2tpcF9m
aWxlX3BhdGgpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcnMvY2hh
bmdlbG9nLnB5OgorICAgICAgICAoQ2hhbmdlTG9nQ2hlY2tlci5jaGVja19lbnRyeSk6CisgICAg
ICAgICogU2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2Vycy9jbWFrZS5weToKKyAgICAgICAg
KENNYWtlQ2hlY2tlci5fcHJvY2Vzc19saW5lKToKKyAgICAgICAgKENNYWtlQ2hlY2tlci5fY2hl
Y2tfbm9fc3BhY2VfY21kcyk6CisgICAgICAgIChDTWFrZUNoZWNrZXIuX2NoZWNrX29uZV9zcGFj
ZV9jbWRzKToKKyAgICAgICAgKENNYWtlQ2hlY2tlci5fY2hlY2tfbm9uX2xvd2VyY2FzZV9jbWQp
OgorICAgICAgICAoQ01ha2VDaGVja2VyLl9jaGVja19saXN0X29yZGVyKToKKyAgICAgICAgKiBT
Y3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJzL2NwcC5weToKKyAgICAgICAgKEZpbGVJbmZv
LnJlcG9zaXRvcnlfbmFtZSk6CisgICAgICAgIChjaGVja19mb3Jfbm9uX3N0YW5kYXJkX2NvbnN0
cnVjdHMpOgorICAgICAgICAoY2hlY2tfc3BhY2luZyk6CisgICAgICAgIChjaGVja19sYW5ndWFn
ZSk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2Vycy9jcHBfdW5pdHRl
c3QucHk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2Vycy9qc3Rlc3Qu
cHk6CisgICAgICAgIChtYXBfZnVuY3Rpb25zX3RvX2RpY3QpOgorICAgICAgICAoc3RyaXBfdHJh
aWxpbmdfYmxhbmtfbGluZXNfYW5kX2NvbW1lbnRzKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtp
dHB5L3N0eWxlL2NoZWNrZXJzL21lc3NhZ2VzaW4ucHk6CisgICAgICAgIChNZXNzYWdlc0luQ2hl
Y2tlci5jaGVja19XVEZfcHJlZml4KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3N0eWxl
L3BhdGNocmVhZGVyLnB5OgorICAgICAgICAoUGF0Y2hSZWFkZXIuY2hlY2spOgorICAgICAgICAq
IFNjcmlwdHMvd2Via2l0cHkvdGVzdC9ydW5uZXIucHk6CisgICAgICAgICogU2NyaXB0cy93ZWJr
aXRweS90ZXN0L3J1bm5lcl91bml0dGVzdC5weToKKyAgICAgICAgKEZha2VMb2FkZXIuX19pbml0
X18pOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9hbmFseXplY2hh
bmdlbG9nLnB5OgorICAgICAgICAoQW5hbHl6ZUNoYW5nZUxvZy5fZW51bWVyYXRlX2NoYW5nZWxv
Z3MpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9xdWVyaWVzLnB5
OgorICAgICAgICAoUHJpbnRCYXNlbGluZXMuX19pbml0X18pOgorICAgICAgICAoRmluZFJlc29s
dmVkQnVncy5leGVjdXRlKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFu
ZHMvdXBsb2FkLnB5OgorICAgICAgICAoTWFya0J1Z0ZpeGVkLl9kZXRlcm1pbmVfYnVnX2lkX2Fu
ZF9zdm5fcmV2aXNpb24pOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy9w
cm9tcHRmb3JidWdvcnRpdGxlLnB5OgorICAgICAgICAoUHJvbXB0Rm9yQnVnT3JUaXRsZS5ydW4p
OgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvdzNjL3Rlc3RfY29udmVydGVyLnB5OgorICAg
ICAgICAoX1czQ1Rlc3RDb252ZXJ0ZXIuX19pbml0X18pOgorICAgICAgICAoX1czQ1Rlc3RDb252
ZXJ0ZXIucmVhZF93ZWJraXRfcHJlZml4ZWRfY3NzX3Byb3BlcnR5X2xpc3QpOgorICAgICAgICAo
X1czQ1Rlc3RDb252ZXJ0ZXIubGVnYWN5X3JlYWRfd2Via2l0X3ByZWZpeGVkX2Nzc19wcm9wZXJ0
eV9saXN0KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3czYy90ZXN0X3BhcnNlci5weToK
KyAgICAgICAgKFRlc3RQYXJzZXIuc3VwcG9ydF9maWxlcyk6CisgICAgICAgICogbGxkYi9sbGRi
X2R1bXBfY2xhc3NfbGF5b3V0LnB5OgorICAgICAgICAoTExEQkRlYnVnZ2VySW5zdGFuY2UuX2dl
dF9maXJzdF9maWxlX2FyY2hpdGVjdHVyZSk6CisKIDIwMjEtMDUtMTkgIERldmluIFJvdXNzbyAg
PGRyb3Vzc29AYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBhIHdheSB0byBjcmVhdGUgYCJ3aGVl
bCJgIGV2ZW50cyBmcm9tIGdlc3R1cmUvdG91Y2ggZXZlbnRzCmRpZmYgLS1naXQgYS9Ub29scy9D
SVN1cHBvcnQvYnVpbGQtd2Via2l0LW9yZy9sb2FkQ29uZmlnLnB5IGIvVG9vbHMvQ0lTdXBwb3J0
L2J1aWxkLXdlYmtpdC1vcmcvbG9hZENvbmZpZy5weQppbmRleCAwZDRiMTZmODIzMTIxNGYxZWQ1
YWQ4MjA2OWY4NDE5MWE5NWFkMGI4Li5lNTIxOGNiMjAyYTMxZWU5NmM0MTJlMTkzODFjNTNlMGI0
NzdmZDg1IDEwMDY0NAotLS0gYS9Ub29scy9DSVN1cHBvcnQvYnVpbGQtd2Via2l0LW9yZy9sb2Fk
Q29uZmlnLnB5CisrKyBiL1Rvb2xzL0NJU3VwcG9ydC9idWlsZC13ZWJraXQtb3JnL2xvYWRDb25m
aWcucHkKQEAgLTI0NCw1ICsyNDQsNSBAQCBkZWYgZ2V0VmFsaWRUYWdzKHRhZ3MpOgogCiAKIGRl
ZiBnZXRUYWdzRm9yQnVpbGRlcihidWlsZGVyKToKLSAgICBrZXl3b3JkcyA9IHJlLnNwbGl0KCdb
LCBcLV86KCldKycsIHN0cihidWlsZGVyWyduYW1lJ10pKQorICAgIGtleXdvcmRzID0gcmUuc3Bs
aXQocidbLCBcLV86KCldKycsIHN0cihidWlsZGVyWyduYW1lJ10pKQogICAgIHJldHVybiBnZXRW
YWxpZFRhZ3Moa2V5d29yZHMpCmRpZmYgLS1naXQgYS9Ub29scy9DSVN1cHBvcnQvYnVpbGQtd2Vi
a2l0LW9yZy9zdGVwcy5weSBiL1Rvb2xzL0NJU3VwcG9ydC9idWlsZC13ZWJraXQtb3JnL3N0ZXBz
LnB5CmluZGV4IDM5MzQ4NTMwNTM5ZTQ4NGVhZmFkYjU0ZDg4MGI2OWQ3NDBiMDNmMjQuLjU5YmU1
ZjdiMGQwOTRhZWY3MjYyZjcwZGMxZTI2YzUxYzMyMjE4ZjEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NJ
U3VwcG9ydC9idWlsZC13ZWJraXQtb3JnL3N0ZXBzLnB5CisrKyBiL1Rvb2xzL0NJU3VwcG9ydC9i
dWlsZC13ZWJraXQtb3JnL3N0ZXBzLnB5CkBAIC04ODgsMjIgKzg4OCwyMiBAQCBjbGFzcyBSdW5H
TGliQVBJVGVzdHMoc2hlbGwuVGVzdCk6CiAgICAgICAgIG1lc3NhZ2VzID0gW10KICAgICAgICAg
c2VsZi5zdGF0dXNMaW5lID0gW10KIAotICAgICAgICBmb3VuZEl0ZW1zID0gcmUuZmluZGFsbCgi
VW5leHBlY3RlZCBmYWlsdXJlcyBcKChcZCspXCkiLCBsb2dUZXh0KQorICAgICAgICBmb3VuZEl0
ZW1zID0gcmUuZmluZGFsbChyIlVuZXhwZWN0ZWQgZmFpbHVyZXMgXCgoXGQrKVwpIiwgbG9nVGV4
dCkKICAgICAgICAgaWYgZm91bmRJdGVtczoKICAgICAgICAgICAgIGZhaWxlZFRlc3RzID0gaW50
KGZvdW5kSXRlbXNbMF0pCiAgICAgICAgICAgICBtZXNzYWdlcy5hcHBlbmQoIiVkIGZhaWx1cmVz
IiAlIGZhaWxlZFRlc3RzKQogCi0gICAgICAgIGZvdW5kSXRlbXMgPSByZS5maW5kYWxsKCJVbmV4
cGVjdGVkIGNyYXNoZXMgXCgoXGQrKVwpIiwgbG9nVGV4dCkKKyAgICAgICAgZm91bmRJdGVtcyA9
IHJlLmZpbmRhbGwociJVbmV4cGVjdGVkIGNyYXNoZXMgXCgoXGQrKVwpIiwgbG9nVGV4dCkKICAg
ICAgICAgaWYgZm91bmRJdGVtczoKICAgICAgICAgICAgIGNyYXNoZWRUZXN0cyA9IGludChmb3Vu
ZEl0ZW1zWzBdKQogICAgICAgICAgICAgbWVzc2FnZXMuYXBwZW5kKCIlZCBjcmFzaGVzIiAlIGNy
YXNoZWRUZXN0cykKIAotICAgICAgICBmb3VuZEl0ZW1zID0gcmUuZmluZGFsbCgiVW5leHBlY3Rl
ZCB0aW1lb3V0cyBcKChcZCspXCkiLCBsb2dUZXh0KQorICAgICAgICBmb3VuZEl0ZW1zID0gcmUu
ZmluZGFsbChyIlVuZXhwZWN0ZWQgdGltZW91dHMgXCgoXGQrKVwpIiwgbG9nVGV4dCkKICAgICAg
ICAgaWYgZm91bmRJdGVtczoKICAgICAgICAgICAgIHRpbWVkT3V0VGVzdHMgPSBpbnQoZm91bmRJ
dGVtc1swXSkKICAgICAgICAgICAgIG1lc3NhZ2VzLmFwcGVuZCgiJWQgdGltZW91dHMiICUgdGlt
ZWRPdXRUZXN0cykKIAotICAgICAgICBmb3VuZEl0ZW1zID0gcmUuZmluZGFsbCgiVW5leHBlY3Rl
ZCBwYXNzZXMgXCgoXGQrKVwpIiwgbG9nVGV4dCkKKyAgICAgICAgZm91bmRJdGVtcyA9IHJlLmZp
bmRhbGwociJVbmV4cGVjdGVkIHBhc3NlcyBcKChcZCspXCkiLCBsb2dUZXh0KQogICAgICAgICBp
ZiBmb3VuZEl0ZW1zOgogICAgICAgICAgICAgbmV3UGFzc1Rlc3RzID0gaW50KGZvdW5kSXRlbXNb
MF0pCiAgICAgICAgICAgICBtZXNzYWdlcy5hcHBlbmQoIiVkIG5ldyBwYXNzZXMiICUgbmV3UGFz
c1Rlc3RzKQpAQCAtOTYxLDEwICs5NjEsMTAgQEAgY2xhc3MgUnVuV2ViRHJpdmVyVGVzdHMoc2hl
bGwuVGVzdCk6CiAKICAgICAgICAgc2VsZi5mYWlsdXJlc0NvdW50ID0gMAogICAgICAgICBzZWxm
Lm5ld1Bhc3Nlc0NvdW50ID0gMAotICAgICAgICBmb3VuZEl0ZW1zID0gcmUuZmluZGFsbCgiXlVu
ZXhwZWN0ZWQgLisgXCgoXGQrKVwpIiwgbG9nVGV4dCwgcmUuTVVMVElMSU5FKQorICAgICAgICBm
b3VuZEl0ZW1zID0gcmUuZmluZGFsbChyIl5VbmV4cGVjdGVkIC4rIFwoKFxkKylcKSIsIGxvZ1Rl
eHQsIHJlLk1VTFRJTElORSkKICAgICAgICAgaWYgZm91bmRJdGVtczoKICAgICAgICAgICAgIHNl
bGYuZmFpbHVyZXNDb3VudCA9IGludChmb3VuZEl0ZW1zWzBdKQotICAgICAgICBmb3VuZEl0ZW1z
ID0gcmUuZmluZGFsbCgiXkV4cGVjdGVkIHRvIC4rLCBidXQgcGFzc2VkIFwoKFxkKylcKSIsIGxv
Z1RleHQsIHJlLk1VTFRJTElORSkKKyAgICAgICAgZm91bmRJdGVtcyA9IHJlLmZpbmRhbGwociJe
RXhwZWN0ZWQgdG8gLissIGJ1dCBwYXNzZWQgXCgoXGQrKVwpIiwgbG9nVGV4dCwgcmUuTVVMVElM
SU5FKQogICAgICAgICBpZiBmb3VuZEl0ZW1zOgogICAgICAgICAgICAgc2VsZi5uZXdQYXNzZXND
b3VudCA9IGludChmb3VuZEl0ZW1zWzBdKQogCmRpZmYgLS1naXQgYS9Ub29scy9DSVN1cHBvcnQv
ZXdzLWFwcC9ld3MvY29tbW9uL2J1Z3ppbGxhLnB5IGIvVG9vbHMvQ0lTdXBwb3J0L2V3cy1hcHAv
ZXdzL2NvbW1vbi9idWd6aWxsYS5weQppbmRleCA4M2E0MTZmOWMxMjM3N2NjYTg5ZTFkYjk0OWU0
N2Y5NjJmYTM1MTk0Li41MGYzZDU3ZWI4MWE1NDgwOWIzNTI0ZTU5ZTVjZTcyZWIxNTA3M2FiIDEw
MDY0NAotLS0gYS9Ub29scy9DSVN1cHBvcnQvZXdzLWFwcC9ld3MvY29tbW9uL2J1Z3ppbGxhLnB5
CisrKyBiL1Rvb2xzL0NJU3VwcG9ydC9ld3MtYXBwL2V3cy9jb21tb24vYnVnemlsbGEucHkKQEAg
LTI3MCw4ICsyNzAsOCBAQCBjbGFzcyBCdWd6aWxsYUJlYXV0aWZ1bFNvdXAoKToKIAogICAgIGRl
ZiBfcGFyc2VfYXR0YWNobWVudF9pZHNfcmVxdWVzdF9xdWVyeShzZWxmLCBwYWdlLCBzaW5jZT1O
b25lKToKICAgICAgICAgIyBGb3JtYXRzCi0gICAgICAgIGRpZ2l0cyA9IHJlLmNvbXBpbGUoIlxk
KyIpCi0gICAgICAgIGF0dGFjaG1lbnRfaHJlZiA9IHJlLmNvbXBpbGUoImF0dGFjaG1lbnQuY2dp
XD9pZD1cZCsmYWN0aW9uPXJldmlldyIpCisgICAgICAgIGRpZ2l0cyA9IHJlLmNvbXBpbGUociJc
ZCsiKQorICAgICAgICBhdHRhY2htZW50X2hyZWYgPSByZS5jb21waWxlKHIiYXR0YWNobWVudC5j
Z2lcP2lkPVxkKyZhY3Rpb249cmV2aWV3IikKICAgICAgICAgIyBpZiBubyBkYXRlIGlzIGdpdmVu
LCByZXR1cm4gYWxsIGlkcwogICAgICAgICBpZiBub3Qgc2luY2U6CiAgICAgICAgICAgICBhdHRh
Y2htZW50X2xpbmtzID0gU291cFN0cmFpbmVyKCJhIiwgaHJlZj1hdHRhY2htZW50X2hyZWYpCkBA
IC0yNzksNyArMjc5LDcgQEAgY2xhc3MgQnVnemlsbGFCZWF1dGlmdWxTb3VwKCk6CiAgICAgICAg
ICAgICAgICAgZm9yIHRhZyBpbiBCZWF1dGlmdWxTb3VwKHBhZ2UsIHBhcnNlT25seVRoZXNlPWF0
dGFjaG1lbnRfbGlua3MpXQogCiAgICAgICAgICMgUGFyc2UgdGhlIG1haW4gdGFibGUgb25seQot
ICAgICAgICBkYXRlX2Zvcm1hdCA9IHJlLmNvbXBpbGUoIlxkezR9LVxkezJ9LVxkezJ9IFxkezJ9
OlxkezJ9IikKKyAgICAgICAgZGF0ZV9mb3JtYXQgPSByZS5jb21waWxlKHIiXGR7NH0tXGR7Mn0t
XGR7Mn0gXGR7Mn06XGR7Mn0iKQogICAgICAgICBtdGFiID0gU291cFN0cmFpbmVyKCJ0YWJsZSIs
IHsiY2xhc3MiOiAicmVxdWVzdHMifSkKICAgICAgICAgc291cCA9IEJlYXV0aWZ1bFNvdXAocGFn
ZSwgcGFyc2VPbmx5VGhlc2U9bXRhYikKICAgICAgICAgcGF0Y2hfaWRzID0gW10KZGlmZiAtLWdp
dCBhL1Rvb2xzL0NJU3VwcG9ydC9ld3MtYXBwL2V3cy9jb21tb24vYnVpbGRib3QucHkgYi9Ub29s
cy9DSVN1cHBvcnQvZXdzLWFwcC9ld3MvY29tbW9uL2J1aWxkYm90LnB5CmluZGV4IGU0N2E4ZDYx
MGYzNzZlMmY5NWVjY2IxMjg4ZmY5ZTYxMTg3NWVkYmIuLmVmYWU4MTU5OGY4ZTU2MWNiYWRhOTFh
NDMzYmY3NDdkNjVmZTJiNWYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NJU3VwcG9ydC9ld3MtYXBwL2V3
cy9jb21tb24vYnVpbGRib3QucHkKKysrIGIvVG9vbHMvQ0lTdXBwb3J0L2V3cy1hcHAvZXdzL2Nv
bW1vbi9idWlsZGJvdC5weQpAQCAtODEsNyArODEsNyBAQCBjbGFzcyBCdWlsZGJvdCgpOgogCiAg
ICAgQGNsYXNzbWV0aG9kCiAgICAgZGVmIF9nZXRfZGlzcGxheV9uYW1lX2Zyb21fYnVpbGRlcl9u
YW1lKGNscywgYnVpbGRlcl9uYW1lKToKLSAgICAgICAgd29yZHMgPSByZS5zcGxpdCgnWywgXC1f
OigpXSsnLCBidWlsZGVyX25hbWUpCisgICAgICAgIHdvcmRzID0gcmUuc3BsaXQocidbLCBcLV86
KCldKycsIGJ1aWxkZXJfbmFtZSkKICAgICAgICAgaWYgbm90IHdvcmRzOgogICAgICAgICAgICAg
cmV0dXJuIGJ1aWxkZXJfbmFtZQogICAgICAgICByZXR1cm4gd29yZHNbMF0ubG93ZXIoKQpkaWZm
IC0tZ2l0IGEvVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9sb2FkQ29uZmlnLnB5IGIvVG9vbHMv
Q0lTdXBwb3J0L2V3cy1idWlsZC9sb2FkQ29uZmlnLnB5CmluZGV4IDk5YjhiMWEyMDg2OWJiMzI1
YmIxMjkyMWE0ZDc5NDY5ZDZhMDNjYjUuLmQzZDJmMTFlYmVkNzM0NzI4Yzg3MGQ4NWNlNWI0ZWM1
Y2RkNGMxZGIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvbG9hZENvbmZp
Zy5weQorKysgYi9Ub29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL2xvYWRDb25maWcucHkKQEAgLTIx
Myw1ICsyMTMsNSBAQCBkZWYgZ2V0VmFsaWRUYWdzKHRhZ3MpOgogCiAKIGRlZiBnZXRUYWdzRm9y
QnVpbGRlcihidWlsZGVyKToKLSAgICBrZXl3b3JkcyA9IHJlLnNwbGl0KCdbLCBcLV86KCldKycs
IHN0cihidWlsZGVyWyduYW1lJ10pKQorICAgIGtleXdvcmRzID0gcmUuc3BsaXQocidbLCBcLV86
KCldKycsIHN0cihidWlsZGVyWyduYW1lJ10pKQogICAgIHJldHVybiBnZXRWYWxpZFRhZ3Moa2V5
d29yZHMpCmRpZmYgLS1naXQgYS9Ub29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzLnB5IGIv
VG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9zdGVwcy5weQppbmRleCBlM2Q2Mzk2ZmU0NzhkYmUy
OWEyMGE2ZjY4MTgwNzRiZGM1NDhlZGIyLi4yMDlkOTc2M2ZhMmNmZDQ0OWFjNTg3ZDlhZTY3NDhk
Zjg2YjhlMTQxIDEwMDY0NAotLS0gYS9Ub29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzLnB5
CisrKyBiL1Rvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvc3RlcHMucHkKQEAgLTE0MCw3ICsxNDAs
NyBAQCBjbGFzcyBDbGVhblVwR2l0SW5kZXhMb2NrKHNoZWxsLlNoZWxsQ29tbWFuZCk6CiAgICAg
ZGVmIHN0YXJ0KHNlbGYpOgogICAgICAgICBwbGF0Zm9ybSA9IHNlbGYuZ2V0UHJvcGVydHkoJ3Bs
YXRmb3JtJywgJyonKQogICAgICAgICBpZiBwbGF0Zm9ybSA9PSAnd2luY2Fpcm8nOgotICAgICAg
ICAgICAgc2VsZi5jb21tYW5kID0gWydkZWwnLCAnLmdpdFxpbmRleC5sb2NrJ10KKyAgICAgICAg
ICAgIHNlbGYuY29tbWFuZCA9IFsnZGVsJywgcicuZ2l0XGluZGV4LmxvY2snXQogICAgICAgICBy
ZXR1cm4gc2hlbGwuU2hlbGxDb21tYW5kLnN0YXJ0KHNlbGYpCiAKICAgICBkZWYgZXZhbHVhdGVD
b21tYW5kKHNlbGYsIGNtZCk6CkBAIC00NzksNyArNDc5LDcgQEAgY2xhc3MgQ2hlY2tQYXRjaFJl
bGV2YW5jZShBbmFseXplUGF0Y2gpOgogCiBjbGFzcyBGaW5kTW9kaWZpZWRMYXlvdXRUZXN0cyhB
bmFseXplUGF0Y2gpOgogICAgIG5hbWUgPSAnZmluZC1tb2RpZmllZC1sYXlvdXQtdGVzdHMnCi0g
ICAgUkVfTEFZT1VUX1RFU1QgPSBiJ14oXCtcK1wrKS4qKExheW91dFRlc3RzLipcLmh0bWwpJwor
ICAgIFJFX0xBWU9VVF9URVNUID0gYnInXihcK1wrXCspLiooTGF5b3V0VGVzdHMuKlwuaHRtbCkn
CiAgICAgRElSRUNUT1JJRVNfVE9fSUdOT1JFID0gWydyZWZlcmVuY2UnLCAncmVmdGVzdCcsICdy
ZXNvdXJjZXMnLCAnc3VwcG9ydCcsICdzY3JpcHQtdGVzdHMnLCAndG9vbHMnXQogICAgIFNVRkZJ
WEVTX1RPX0lHTk9SRSA9IFsnLWV4cGVjdGVkJywgJy1leHBlY3RlZC1taXNtYXRjaCcsICctcmVm
JywgJy1ub3RyZWYnXQogCkBAIC0xNDkyLDcgKzE0OTIsNyBAQCBjbGFzcyBCdWlsZExvZ0xpbmVP
YnNlcnZlcihsb2dvYnNlcnZlci5Mb2dMaW5lT2JzZXJ2ZXIsIG9iamVjdCk6CiAgICAgICAgIHNl
bGYuc2VhcmNoU3RyaW5nID0gc2VhcmNoU3RyaW5nCiAgICAgICAgIHNlbGYuaW5jbHVkZVJlbGF0
ZWRMaW5lcyA9IGluY2x1ZGVSZWxhdGVkTGluZXMKICAgICAgICAgc2VsZi5lcnJvcl9jb250ZXh0
X2J1ZmZlciA9IFtdCi0gICAgICAgIHNlbGYud2hpdGVzcGFjZV9yZSA9IHJlLmNvbXBpbGUoJ15b
XHNdKiQnKQorICAgICAgICBzZWxmLndoaXRlc3BhY2VfcmUgPSByZS5jb21waWxlKHInXltcc10q
JCcpCiAgICAgICAgIHN1cGVyKEJ1aWxkTG9nTGluZU9ic2VydmVyLCBzZWxmKS5fX2luaXRfXygp
CiAKICAgICBkZWYgb3V0TGluZVJlY2VpdmVkKHNlbGYsIGxpbmUpOgpAQCAtMzMwMSw3ICszMzAx
LDcgQEAgY2xhc3MgUHVzaENvbW1pdFRvV2ViS2l0UmVwbyhzaGVsbC5TaGVsbENvbW1hbmQpOgog
ICAgIG5hbWUgPSAncHVzaC1jb21taXQtdG8td2Via2l0LXJlcG8nCiAgICAgZGVzY3JpcHRpb25E
b25lID0gWydQdXNoZWQgY29tbWl0IHRvIFdlYktpdCByZXBvc2l0b3J5J10KICAgICBjb21tYW5k
ID0gWydnaXQnLCAnc3ZuJywgJ2Rjb21taXQnLCAnLS1ybWRpciddCi0gICAgY29tbWl0X3N1Y2Nl
c3NfcmVnZXhwID0gJ15Db21taXR0ZWQgcig/UDxzdm5fcmV2aXNpb24+XGQrKSQnCisgICAgY29t
bWl0X3N1Y2Nlc3NfcmVnZXhwID0gcideQ29tbWl0dGVkIHIoP1A8c3ZuX3JldmlzaW9uPlxkKykk
JwogICAgIGhhbHRPbkZhaWx1cmUgPSBGYWxzZQogICAgIE1BWF9SRVRSWSA9IDIKIApkaWZmIC0t
Z2l0IGEvVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9zdGVwc191bml0dGVzdC5weSBiL1Rvb2xz
L0NJU3VwcG9ydC9ld3MtYnVpbGQvc3RlcHNfdW5pdHRlc3QucHkKaW5kZXggMTQ2MWIwMDMyOTgx
MjE3NjNkOWM3NWUyOTU5MjkzM2RkNzE0YzhjMS4uZTVjNmQzODBhMDRlZTA1YjMwODIyNTJmNzgz
N2FlODM2YTA1YmRiYSAxMDA2NDQKLS0tIGEvVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9zdGVw
c191bml0dGVzdC5weQorKysgYi9Ub29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzX3VuaXR0
ZXN0LnB5CkBAIC05NTEsNyArOTUxLDcgQEAgY2xhc3MgVGVzdENsZWFuVXBHaXRJbmRleExvY2so
QnVpbGRTdGVwTWl4aW5BZGRpdGlvbnMsIHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgICAg
IEV4cGVjdFNoZWxsKHdvcmtkaXI9J3drZGlyJywKICAgICAgICAgICAgICAgICAgICAgICAgIHRp
bWVvdXQ9MTIwLAogICAgICAgICAgICAgICAgICAgICAgICAgbG9nRW52aXJvbj1GYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbW1hbmQ9WydkZWwnLCAnLmdpdFxpbmRleC5sb2NrJ10s
CisgICAgICAgICAgICAgICAgICAgICAgICBjb21tYW5kPVsnZGVsJywgcicuZ2l0XGluZGV4Lmxv
Y2snXSwKICAgICAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICsgMCwKICAgICAg
ICAgKQpAQCAtMzMzOCw3ICszMzM4LDcgQEAgRmFpbGVkCiAgICAgVGVzdFdURi5XVEZfRXhwZWN0
ZWQuVW5leHBlY3RlZAogICAgICAgICAqKkZBSUwqKiBXVEZfRXhwZWN0ZWQuVW5leHBlY3RlZAog
Ci0gICAgICAgIFRvb2xzXFRlc3RXZWJLaXRBUElcVGVzdHNcV1RGXEV4cGVjdGVkLmNwcDo5Ngor
ICAgICAgICBUb29sc1xcVGVzdFdlYktpdEFQSVxcVGVzdHNcXFdURlxcRXhwZWN0ZWQuY3BwOjk2
CiAgICAgICAgIFZhbHVlIG9mOiBzMQogICAgICAgICAgIEFjdHVhbDogb29wcwogICAgICAgICBF
eHBlY3RlZDogczAKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvaWMtc3RhdHMucHkgYi9Ub29s
cy9TY3JpcHRzL2ljLXN0YXRzLnB5CmluZGV4IDVmYTI1NzE5YTNkZTc3YjNkZTRhZmViYzUzN2U1
ZjMxZjE0NmQwNWIuLmMzY2I0OTI4MzEwZjM1YWQwMThmNTRmNjhkZDNhY2VkMTI0N2I3YjIgMTAw
NzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvaWMtc3RhdHMucHkKKysrIGIvVG9vbHMvU2NyaXB0cy9p
Yy1zdGF0cy5weQpAQCAtMjYsNyArMjYsNyBAQAogaW1wb3J0IHJlCiBpbXBvcnQgc3lzCiAKLWlj
U3RhdFJlY29yZCA9IHJlLmNvbXBpbGUoIiArKFx3KylcKChbXixdKyksIChbXildKylcKShbXjpd
Kik6IChcZCspIikKK2ljU3RhdFJlY29yZCA9IHJlLmNvbXBpbGUociIgKyhcdyspXCgoW14sXSsp
LCAoW14pXSspXCkoW146XSopOiAoXGQrKSIpCiBnZXRCeUlkUHJlZml4ID0gIk9wZXJhdGlvbkdl
dEJ5SWQiCiBwdXRCeUlkUHJlZml4ID0gIk9wZXJhdGlvblB1dEJ5SWQiCiAKZGlmZiAtLWdpdCBh
L1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L3JlbW90ZS9z
dm4ucHkgYi9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9y
ZW1vdGUvc3ZuLnB5CmluZGV4IDkxY2VjMzE4MzAwYmZiYTc1YWM4ODU0Njk5NGE4M2Q3MDIzNWFl
M2IuLjNhNzgzNmNmZjdlOWE1ZmU0MzkzNzExNzQ4OTU3YzZjZjM2NjAyYzggMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L3JlbW90ZS9z
dm4ucHkKKysrIGIvVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2Nt
cHkvcmVtb3RlL3N2bi5weQpAQCAtMzksNyArMzksNyBAQCBmcm9tIHdlYmtpdHNjbXB5IGltcG9y
dCBDb21taXQsIFZlcnNpb24KIAogY2xhc3MgU3ZuKFNjbSk6CiAgICAgVVJMX1JFID0gcmUuY29t
cGlsZShyJ1xBaHR0cHM/Oi8vc3ZuLig/UDxob3N0PlxTKykvcmVwb3NpdG9yeS9cUytcWicpCi0g
ICAgREFUQV9SRSA9IHJlLmNvbXBpbGUoYic8W1NEXTooP1A8dGFnPlxTKyk+KD9QPGNvbnRlbnQ+
LiopPC9bU0RdOi4rPicpCisgICAgREFUQV9SRSA9IHJlLmNvbXBpbGUoYnInPFtTRF06KD9QPHRh
Zz5cUyspPig/UDxjb250ZW50Pi4qKTwvW1NEXTouKz4nKQogICAgIENBQ0hFX1ZFUlNJT04gPSBW
ZXJzaW9uKDEpCiAKICAgICBAY2xhc3NtZXRob2QKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvY29tbW9uL2NoZWNrb3V0L2NoYW5nZWxvZy5weSBiL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvY29tbW9uL2NoZWNrb3V0L2NoYW5nZWxvZy5weQppbmRleCAzMjAzZmQ5NjJkNzhjMGVi
ZTQxOGNkNDJhMWI5NWQ2Yzk3NDhhN2YzLi44YzFlNWI5OWQ3NzY4ZTM3Zjc2ZjRlYTQ1OTU2YmVk
YzE5MDExYmNkIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jaGVj
a291dC9jaGFuZ2Vsb2cucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vY2hl
Y2tvdXQvY2hhbmdlbG9nLnB5CkBAIC00NywxMCArNDcsMTAgQEAgX2xvZyA9IGxvZ2dpbmcuZ2V0
TG9nZ2VyKF9fbmFtZV9fKQogZGVmIHBhcnNlX2J1Z19pZF9mcm9tX2NoYW5nZWxvZyhtZXNzYWdl
KToKICAgICBpZiBub3QgbWVzc2FnZToKICAgICAgICAgcmV0dXJuIE5vbmUKLSAgICBtYXRjaCA9
IHJlLnNlYXJjaCgiXlxzKiIgKyBjb25maWdfdXJscy5idWdfdXJsX3Nob3J0ICsgIiQiLCBtZXNz
YWdlLCByZS5NVUxUSUxJTkUpCisgICAgbWF0Y2ggPSByZS5zZWFyY2gociJeXHMqIiArIGNvbmZp
Z191cmxzLmJ1Z191cmxfc2hvcnQgKyAiJCIsIG1lc3NhZ2UsIHJlLk1VTFRJTElORSkKICAgICBp
ZiBtYXRjaDoKICAgICAgICAgcmV0dXJuIGludChtYXRjaC5ncm91cCgnYnVnX2lkJykpCi0gICAg
bWF0Y2ggPSByZS5zZWFyY2goIl5ccyoiICsgY29uZmlnX3VybHMuYnVnX3VybF9sb25nICsgIiQi
LCBtZXNzYWdlLCByZS5NVUxUSUxJTkUpCisgICAgbWF0Y2ggPSByZS5zZWFyY2gociJeXHMqIiAr
IGNvbmZpZ191cmxzLmJ1Z191cmxfbG9uZyArICIkIiwgbWVzc2FnZSwgcmUuTVVMVElMSU5FKQog
ICAgIGlmIG1hdGNoOgogICAgICAgICByZXR1cm4gaW50KG1hdGNoLmdyb3VwKCdidWdfaWQnKSkK
ICAgICAjIFdlIHdlcmVuJ3QgYWJsZSB0byBmaW5kIGEgYnVnIFVSTCBpbiB0aGUgZm9ybWF0IHVz
ZWQgYnkgcHJlcGFyZS1DaGFuZ2VMb2cuIEZhbGwgYmFjayB0byB0aGUKQEAgLTE0OSw3ICsxNDks
NyBAQCBjbGFzcyBDaGFuZ2VMb2dFbnRyeShvYmplY3QpOgogCiAgICAgICAgICMgR2V0IHJpZCBv
ZiAicmV2aWV3ZXJzIiBsaWtlICJldmVuIHRob3VnaCB0aGlzIGlzIGp1c3QgYS4uLiIgaW4gIlJl
dmlld2VkIGJ5IFNhbSBXZWluaWcsIGV2ZW4gdGhvdWdoIHRoaXMgaXMganVzdCBhLi4uIgogICAg
ICAgICAjIGFuZCAid2hvIHdyb3RlIHRoZSBvcmlnaW5hbCBjb2RlIiBpbiAiTm9hbSBSb3NlbnRo
YWwsIHdobyB3cm90ZSB0aGUgb3JpZ2luYWwgY29kZSIKLSAgICAgICAgcmV2aWV3ZXJfbGlzdCA9
IFtyZXZpZXdlciBmb3IgcmV2aWV3ZXIgaW4gcmV2aWV3ZXJfbGlzdCBpZiBub3QgcmUubWF0Y2go
J153aG9cc3xeKFthLXpdKyhccyt8XC58JCkpezYsfSQnLCByZXZpZXdlcildCisgICAgICAgIHJl
dmlld2VyX2xpc3QgPSBbcmV2aWV3ZXIgZm9yIHJldmlld2VyIGluIHJldmlld2VyX2xpc3QgaWYg
bm90IHJlLm1hdGNoKHInXndob1xzfF4oW2Etel0rKFxzK3xcLnwkKSl7Nix9JCcsIHJldmlld2Vy
KV0KIAogICAgICAgICByZXR1cm4gcmV2aWV3ZXJfdGV4dCwgcmV2aWV3ZXJfbGlzdAogCkBAIC0z
OTgsNyArMzk4LDcgQEAgY2xhc3MgQ2hhbmdlTG9nKG9iamVjdCk6CiAKICAgICBkZWYgdXBkYXRl
X3dpdGhfdW5yZXZpZXdlZF9tZXNzYWdlKHNlbGYsIG1lc3NhZ2UpOgogICAgICAgICBmaXJzdF9i
b2lsZXJwbGF0ZV9saW5lX3JlZ2V4cCA9IHJlLmNvbXBpbGUoCi0gICAgICAgICAgICAgICAgIiVz
TmVlZCBhIHNob3J0IGRlc2NyaXB0aW9uIFwoT09QUyFcKVwuIiAlIHNlbGYuX2NoYW5nZWxvZ19p
bmRlbnQpCisgICAgICAgICAgICAgICAgciIlc05lZWQgYSBzaG9ydCBkZXNjcmlwdGlvbiBcKE9P
UFMhXClcLiIgJSBzZWxmLl9jaGFuZ2Vsb2dfaW5kZW50KQogICAgICAgICByZW1vdmluZ19ib2ls
ZXJwbGF0ZSA9IEZhbHNlCiAgICAgICAgIHJlc3VsdCA9IFN0cmluZ0lPKCkKICAgICAgICAgd2l0
aCBzZWxmLl9maWxlc3lzdGVtLm9wZW5fdGV4dF9maWxlX2Zvcl9yZWFkaW5nKHNlbGYucGF0aCkg
YXMgZmlsZToKQEAgLTQyMCw3ICs0MjAsNyBAQCBjbGFzcyBDaGFuZ2VMb2cob2JqZWN0KToKICAg
ICAgICAgbGF0ZXN0X2VudHJ5ID0gc2VsZi5sYXRlc3RfZW50cnkoKQogICAgICAgICBsYXRlc3Rf
ZW50cnlfY29udGVudHMgPSBsYXRlc3RfZW50cnkuY29udGVudHMoKQogICAgICAgICByZXZpZXdl
cl90ZXh0ID0gbGF0ZXN0X2VudHJ5LnJldmlld2VyKCkKLSAgICAgICAgZm91bmRfbm9ib2R5ID0g
cmUuc2VhcmNoKCJOT0JPRFlccypcKE9PUFMhXCkiLCBsYXRlc3RfZW50cnlfY29udGVudHMsIHJl
Lk1VTFRJTElORSkKKyAgICAgICAgZm91bmRfbm9ib2R5ID0gcmUuc2VhcmNoKHIiTk9CT0RZXHMq
XChPT1BTIVwpIiwgbGF0ZXN0X2VudHJ5X2NvbnRlbnRzLCByZS5NVUxUSUxJTkUpCiAgICAgICAg
IGZvdW5kX3Jldmlld2VyX29yX3VucmV2aWV3ZWQgPSBsYXRlc3RfZW50cnkuaGFzX3ZhbGlkX3Jl
dmlld2VyKCkKICAgICAgICAgaWYgbm90IGZvdW5kX25vYm9keSBhbmQgbm90IGZvdW5kX3Jldmll
d2VyX29yX3VucmV2aWV3ZWQgYW5kIG5vdCByZXZpZXdlcl90ZXh0OgogICAgICAgICAgICAgYnVn
X3VybF9udW1iZXJfb2ZfaXRlbXMgPSBsZW4ocmUuZmluZGFsbChjb25maWdfdXJscy5idWdfdXJs
X2xvbmcsIGxhdGVzdF9lbnRyeV9jb250ZW50cywgcmUuTVVMVElMSU5FKSkKZGlmZiAtLWdpdCBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZWNrb3V0L2RpZmZfcGFyc2VyLnB5IGIv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQvZGlmZl9wYXJzZXIucHkKaW5k
ZXggM2E5ZWE5MjI0ZjdjZGEwZDJmODFmZDNkYjJmMjVjMzA0ZDVmMzgyMS4uMjYzMjA2OTEwODg4
ODRlMDk4OGQ4MDY0YmI1MWUyOGUxNDI5NjJkMCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9jb21tb24vY2hlY2tvdXQvZGlmZl9wYXJzZXIucHkKKysrIGIvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQvZGlmZl9wYXJzZXIucHkKQEAgLTU2LDExICs1Niwx
MSBAQCBkZWYgZ2l0X2RpZmZfdG9fc3ZuX2RpZmYobGluZSk6CiAgICAgIiIiCiAgICAgIyBGSVhN
RTogVGhpcyBsaXN0IHNob3VsZCBiZSBhIGNsYXNzIG1lbWJlciBvbiBEaWZmUGFyc2VyLgogICAg
ICMgVGhlc2UgcmVnZXhwIHBhdHRlcm5zIHNob3VsZCBiZSBjb21waWxlZCBvbmNlIGluc3RlYWQg
b2YgZXZlcnkgdGltZS4KLSAgICBjb252ZXJzaW9uX3BhdHRlcm5zID0gKCgiXmRpZmYgLS1naXQg
XHcvKC4rKSBcdy8oP1A8RmlsZVBhdGg+LispIiwgbGFtYmRhIG1hdGNoZWQ6ICJJbmRleDogIiAr
IG1hdGNoZWQuZ3JvdXAoJ0ZpbGVQYXRoJykgKyAiXG4iKSwKKyAgICBjb252ZXJzaW9uX3BhdHRl
cm5zID0gKChyIl5kaWZmIC0tZ2l0IFx3LyguKykgXHcvKD9QPEZpbGVQYXRoPi4rKSIsIGxhbWJk
YSBtYXRjaGVkOiAiSW5kZXg6ICIgKyBtYXRjaGVkLmdyb3VwKCdGaWxlUGF0aCcpICsgIlxuIiks
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoIl5uZXcgZmlsZS4qIiwgbGFtYmRhIG1hdGNo
ZWQ6ICJcbiIpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgKCJeaW5kZXggKChbMC05YS1m
XXs3fVwuXC5bMC05YS1mXXs3fSl8KFswLTlhLWZdezQwfVwuXC5bMC05YS1mXXs0MH0pKSBbMC05
XXs2fSIsIGxhbWJkYSBtYXRjaGVkOiAiPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuIiksCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAoIl4tLS0gXHcvKD9QPEZpbGVQYXRoPi4rKSIsIGxhbWJkYSBtYXRjaGVkOiAi
LS0tICIgKyBtYXRjaGVkLmdyb3VwKCdGaWxlUGF0aCcpICsgIlxuIiksCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAoIl5cK1wrXCsgXHcvKD9QPEZpbGVQYXRoPi4rKSIsIGxhbWJkYSBtYXRj
aGVkOiAiKysrICIgKyBtYXRjaGVkLmdyb3VwKCdGaWxlUGF0aCcpICsgIlxuIikpCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAociJeaW5kZXggKChbMC05YS1mXXs3fVwuXC5bMC05YS1mXXs3
fSl8KFswLTlhLWZdezQwfVwuXC5bMC05YS1mXXs0MH0pKSBbMC05XXs2fSIsIGxhbWJkYSBtYXRj
aGVkOiAiPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PVxuIiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAociJeLS0t
IFx3Lyg/UDxGaWxlUGF0aD4uKykiLCBsYW1iZGEgbWF0Y2hlZDogIi0tLSAiICsgbWF0Y2hlZC5n
cm91cCgnRmlsZVBhdGgnKSArICJcbiIpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgKHIi
XlwrXCtcKyBcdy8oP1A8RmlsZVBhdGg+LispIiwgbGFtYmRhIG1hdGNoZWQ6ICIrKysgIiArIG1h
dGNoZWQuZ3JvdXAoJ0ZpbGVQYXRoJykgKyAiXG4iKSkKIAogICAgIGZvciBwYXR0ZXJuLCBjb252
ZXJzaW9uIGluIGNvbnZlcnNpb25fcGF0dGVybnM6CiAgICAgICAgIG1hdGNoZWQgPSBtYXRjaChw
YXR0ZXJuLCBsaW5lKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24v
Y2hlY2tvdXQvZGlmZl90ZXN0X2RhdGEucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1v
bi9jaGVja291dC9kaWZmX3Rlc3RfZGF0YS5weQppbmRleCA1ZjE3MTlkYTg2YTRkOTEyMWQ3ZTU4
MTNiMTA3ZDgzNjgyNjMwNDAzLi5hZTM4NzdjMzdlNWZlYjdiOTBiYzA3ZjRmOTZkMDM1NTg3MjFh
OTgyIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jaGVja291dC9k
aWZmX3Rlc3RfZGF0YS5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jaGVj
a291dC9kaWZmX3Rlc3RfZGF0YS5weQpAQCAtMjcsNyArMjcsNyBAQAogIyBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgog
CiAjICBGSVhNRTogU3RvcmUgdGhpcyBhcyBhIC5wYXRjaCBmaWxlIGluIHNvbWUgbmV3IGZpeHR1
cmVzIGRpcmVjdG9yeSBvciBzaW1pbGFyLgotRElGRl9URVNUX0RBVEEgPSAnJydkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVGbGV4aWJsZUJveERhdGEuaCBiL1dlYkNv
cmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlRmxleGlibGVCb3hEYXRhLmgKK0RJRkZfVEVTVF9EQVRB
ID0gcicnJ2RpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZUZsZXhpYmxl
Qm94RGF0YS5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVGbGV4aWJsZUJveERhdGEu
aAogaW5kZXggZjVkNWU3NC4uM2I2YWE5MiAxMDA2NDQKIC0tLSBhL1dlYkNvcmUvcmVuZGVyaW5n
L3N0eWxlL1N0eWxlRmxleGlibGVCb3hEYXRhLmgKICsrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL3N0
eWxlL1N0eWxlRmxleGlibGVCb3hEYXRhLmgKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvY29tbW9uL2NoZWNrb3V0L3NjbS9jb21taXRtZXNzYWdlLnB5IGIvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQvc2NtL2NvbW1pdG1lc3NhZ2UucHkKaW5kZXggYmUw
ZDQzMWY5YzI0OThmN2JmNDA5YWQyMjdiYTIwZTYxZGJmZWQ0ZS4uNGVhMTE4NDI0NzlhODZjZGUx
MmRhODc0ZWMxZTdkNmQwZGNhN2JiNiAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9jb21tb24vY2hlY2tvdXQvc2NtL2NvbW1pdG1lc3NhZ2UucHkKKysrIGIvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQvc2NtL2NvbW1pdG1lc3NhZ2UucHkKQEAgLTMzLDcg
KzMzLDcgQEAgaW1wb3J0IHJlCiBkZWYgX2ZpcnN0X25vbl9lbXB0eV9saW5lX2FmdGVyX2luZGV4
KGxpbmVzLCBpbmRleD0wKToKICAgICBmaXJzdF9ub25fZW1wdHlfbGluZSA9IGluZGV4CiAgICAg
Zm9yIGxpbmUgaW4gbGluZXNbaW5kZXg6XToKLSAgICAgICAgaWYgcmUubWF0Y2goIl5ccyokIiwg
bGluZSk6CisgICAgICAgIGlmIHJlLm1hdGNoKHIiXlxzKiQiLCBsaW5lKToKICAgICAgICAgICAg
IGZpcnN0X25vbl9lbXB0eV9saW5lICs9IDEKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIGJy
ZWFrCkBAIC01NSw3ICs1NSw3IEBAIGNsYXNzIENvbW1pdE1lc3NhZ2U6CiAgICAgICAgIGlmIGxz
dHJpcDoKICAgICAgICAgICAgIGxpbmUgPSBsaW5lLmxzdHJpcCgpCiAgICAgICAgIGlmIHN0cmlw
X3VybDoKLSAgICAgICAgICAgIGxpbmUgPSByZS5zdWIoIl4oXHMqKTwuKz4gIiwgIlwxIiwgbGlu
ZSkKKyAgICAgICAgICAgIGxpbmUgPSByZS5zdWIociJeKFxzKik8Lis+ICIsICJcMSIsIGxpbmUp
CiAgICAgICAgIHJldHVybiBsaW5lCiAKICAgICBkZWYgbWVzc2FnZShzZWxmKToKZGlmZiAtLWdp
dCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZWNrb3V0L3NjbS9naXQucHkgYi9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jaGVja291dC9zY20vZ2l0LnB5CmluZGV4IGQ4
NGFmNDRjY2QyMDVjMzg2MDA1YjhiMTMxYjg0NTljZDJlYzc4YWYuLjdjOWQxZTJkOGY2ODk1YjEx
ZGQ1YTljOTg1Y2E3YzQ1YTQ4NWJiMDggMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvY29tbW9uL2NoZWNrb3V0L3NjbS9naXQucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9jb21tb24vY2hlY2tvdXQvc2NtL2dpdC5weQpAQCAtMTQ5LDcgKzE0OSw3IEBAIGNsYXNzIEdp
dChTQ00sIFNWTlJlcG9zaXRvcnkpOgogCiAgICAgQHN0YXRpY21ldGhvZAogICAgIGRlZiBjb21t
aXRfc3VjY2Vzc19yZWdleHAoKToKLSAgICAgICAgcmV0dXJuICJeQ29tbWl0dGVkIHIoP1A8c3Zu
X3JldmlzaW9uPlxkKykkIgorICAgICAgICByZXR1cm4gciJeQ29tbWl0dGVkIHIoP1A8c3ZuX3Jl
dmlzaW9uPlxkKykkIgogCiAgICAgZGVmIGRpc2NhcmRfbG9jYWxfY29tbWl0cyhzZWxmKToKICAg
ICAgICAgc2VsZi5fcnVuX2dpdChbJ3Jlc2V0JywgJy0taGFyZCcsIHNlbGYucmVtb3RlX2JyYW5j
aF9yZWYoKV0pCkBAIC0zMjUsNyArMzI1LDcgQEAgY2xhc3MgR2l0KFNDTSwgU1ZOUmVwb3NpdG9y
eSk6CiAKICAgICBkZWYgdGltZXN0YW1wX29mX3JldmlzaW9uKHNlbGYsIHBhdGgsIHJldmlzaW9u
KToKICAgICAgICAgZ2l0X2xvZyA9IHNlbGYuX21vc3RfcmVjZW50X2xvZ19tYXRjaGluZygnZ2l0
LXN2bi1pZDouKkAlcycgJSByZXZpc2lvbiwgcGF0aCkKLSAgICAgICAgbWF0Y2ggPSByZS5zZWFy
Y2goIl5EYXRlOlxzKihcZHs0fSktKFxkezJ9KS0oXGR7Mn0pIChcZHsyfSk6KFxkezJ9KTooXGR7
Mn0pIChbKy1dKShcZHsyfSkoXGR7Mn0pJCIsIGdpdF9sb2csIHJlLk1VTFRJTElORSkKKyAgICAg
ICAgbWF0Y2ggPSByZS5zZWFyY2gociJeRGF0ZTpccyooXGR7NH0pLShcZHsyfSktKFxkezJ9KSAo
XGR7Mn0pOihcZHsyfSk6KFxkezJ9KSAoWystXSkoXGR7Mn0pKFxkezJ9KSQiLCBnaXRfbG9nLCBy
ZS5NVUxUSUxJTkUpCiAgICAgICAgIGlmIG5vdCBtYXRjaDoKICAgICAgICAgICAgIHJldHVybiAi
IgogCkBAIC0zOTEsNyArMzkxLDcgQEAgY2xhc3MgR2l0KFNDTSwgU1ZOUmVwb3NpdG9yeSk6CiAK
ICAgICBAbWVtb2l6ZWQKICAgICBkZWYgZ2l0X2NvbW1pdF9mcm9tX3N2bl9yZXZpc2lvbihzZWxm
LCBzdm5fcmV2aXNpb24pOgotICAgICAgICBnaXRfbG9nID0gc2VsZi5fcnVuX2dpdChbJ2xvZycs
ICctLW5vLWFiYnJldi1jb21taXQnLCAnLTEnLCAnLS1ncmVwPV5ccypnaXQtc3ZuLWlkOi4qQCVz
ICcgJSBzdm5fcmV2aXNpb25dKQorICAgICAgICBnaXRfbG9nID0gc2VsZi5fcnVuX2dpdChbJ2xv
ZycsICctLW5vLWFiYnJldi1jb21taXQnLCAnLTEnLCByJy0tZ3JlcD1eXHMqZ2l0LXN2bi1pZDou
KkAlcyAnICUgc3ZuX3JldmlzaW9uXSkKICAgICAgICAgZ2l0X2NvbW1pdCA9IHJlLnNlYXJjaCgi
XmNvbW1pdCAoP1A8Y29tbWl0PlthLWYwLTldezQwfSkiLCBnaXRfbG9nKQogICAgICAgICBpZiBu
b3QgZ2l0X2NvbW1pdDoKICAgICAgICAgICAgICMgRklYTUU6IEFsdGVybmF0aXZlbHkgd2UgY291
bGQgb2ZmZXIgdG8gdXBkYXRlIHRoZSBjaGVja291dD8gT3IgcmV0dXJuIE5vbmU/CmRpZmYgLS1n
aXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jaGVja291dC9zY20vc2NtLnB5IGIv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQvc2NtL3NjbS5weQppbmRleCA4
OTYxMWY3NTc1MDNiNTBhZTcxM2NhZTI3ZTQ4M2M3YWVjNDM3NTM3Li5jNTFmYTk0MjMyMDRkODhl
OThlYWJmOWNiMjhmOWI5NTRmNjQ4YzE3IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2NvbW1vbi9jaGVja291dC9zY20vc2NtLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvY29tbW9uL2NoZWNrb3V0L3NjbS9zY20ucHkKQEAgLTk3LDcgKzk3LDcgQEAgY2xhc3MgU0NN
OgogICAgICAgICByZXR1cm4gZmlsZW5hbWVzCiAKICAgICBkZWYgc3RyaXBfcl9mcm9tX3N2bl9y
ZXZpc2lvbihzZWxmLCBzdm5fcmV2aXNpb24pOgotICAgICAgICBtYXRjaCA9IHJlLm1hdGNoKCJe
cig/UDxzdm5fcmV2aXNpb24+XGQrKSIsIHVuaWNvZGUoc3ZuX3JldmlzaW9uKSkKKyAgICAgICAg
bWF0Y2ggPSByZS5tYXRjaChyIl5yKD9QPHN2bl9yZXZpc2lvbj5cZCspIiwgdW5pY29kZShzdm5f
cmV2aXNpb24pKQogICAgICAgICBpZiAobWF0Y2gpOgogICAgICAgICAgICAgcmV0dXJuIG1hdGNo
Lmdyb3VwKCdzdm5fcmV2aXNpb24nKQogICAgICAgICByZXR1cm4gc3ZuX3JldmlzaW9uCmRpZmYg
LS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jaGVja291dC9zY20vc3ZuLnB5
IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQvc2NtL3N2bi5weQppbmRl
eCBlMzlkM2RmNWRmOTQ3NzA3ZDcyNTc0Y2UxYmRhNjVmYjNjYzBhYTQ0Li44NDk2ZTM2NDNhYTA2
NmM2OTc2ZjkyNDcwMTI1NzcyNTc3Y2E1YzgxIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L2NvbW1vbi9jaGVja291dC9zY20vc3ZuLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvY29tbW9uL2NoZWNrb3V0L3NjbS9zdm4ucHkKQEAgLTE0NCw3ICsxNDQsNyBAQCBjbGFz
cyBTVk4oU0NNLCBTVk5SZXBvc2l0b3J5KToKIAogICAgIEBzdGF0aWNtZXRob2QKICAgICBkZWYg
Y29tbWl0X3N1Y2Nlc3NfcmVnZXhwKCk6Ci0gICAgICAgIHJldHVybiAiXkNvbW1pdHRlZCByZXZp
c2lvbiAoP1A8c3ZuX3JldmlzaW9uPlxkKylcLiQiCisgICAgICAgIHJldHVybiByIl5Db21taXR0
ZWQgcmV2aXNpb24gKD9QPHN2bl9yZXZpc2lvbj5cZCspXC4kIgogCiAgICAgZGVmIF9ydW5fc3Zu
KHNlbGYsIGFyZ3MsICoqa3dhcmdzKToKICAgICAgICAgcmV0dXJuIHNlbGYucnVuKFtzZWxmLmV4
ZWN1dGFibGVfbmFtZV0gKyBhcmdzLCAqKmt3YXJncykKQEAgLTI1OCw3ICsyNTgsNyBAQCBjbGFz
cyBTVk4oU0NNLCBTVk5SZXBvc2l0b3J5KToKICAgICAgICAgZXhjZXB0IFNjcmlwdEVycm9yOgog
ICAgICAgICAgICAgcmV0dXJuIFtdCiAgICAgICAgIGZvciBsaW5lIGluIGxvZ19vdXRwdXQuc3Bs
aXRsaW5lcygpOgotICAgICAgICAgICAgbWF0Y2ggPSByZS5zZWFyY2goJ15yKD9QPHJldmlzaW9u
PlxkKykgJywgbGluZSkKKyAgICAgICAgICAgIG1hdGNoID0gcmUuc2VhcmNoKHInXnIoP1A8cmV2
aXNpb24+XGQrKSAnLCBsaW5lKQogICAgICAgICAgICAgaWYgbm90IG1hdGNoOgogICAgICAgICAg
ICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAgICByZXZpc2lvbnMuYXBwZW5kKGludChtYXRjaC5n
cm91cCgncmV2aXNpb24nKSkpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2Nv
bW1vbi9jaGVja3N2bmNvbmZpZ2ZpbGUucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1v
bi9jaGVja3N2bmNvbmZpZ2ZpbGUucHkKaW5kZXggZTYxNjVmNjRiNGJiZTI2ODY5MjA2ZjUwNTRm
OTljNWNiMzM0NzcxNS4uMjc4MTAwZTAxMzVmOTg4ZGY2NjdjNTU5YjI2M2M1YmRkMDMxZmI1YSAx
MDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vY2hlY2tzdm5jb25maWdm
aWxlLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZWNrc3ZuY29uZmln
ZmlsZS5weQpAQCAtNDMsOCArNDMsOCBAQCBkZWYgY2hlY2soaG9zdCwgZnMpOgogICAgIGV4Y2Vw
dCBJT0Vycm9yOgogICAgICAgICByZXR1cm4gKFRydWUsIFRydWUsIFRydWUpCiAKLSAgICBlcnJv
cmNvZGVfYXV0b3Byb3AgPSBub3QgcmUuc2VhcmNoKCJeXHMqZW5hYmxlLWF1dG8tcHJvcHNccyo9
XHMqeWVzIiwgY29uZmlnX2ZpbGUsIHJlLk1VTFRJTElORSkKLSAgICBlcnJvcmNvZGVfcG5nID0g
bm90IHJlLnNlYXJjaCgiXlxzKlwqXC5wbmdccyo9XHMqc3ZuOm1pbWUtdHlwZT1pbWFnZS9wbmci
LCBjb25maWdfZmlsZSwgcmUuTVVMVElMSU5FKQorICAgIGVycm9yY29kZV9hdXRvcHJvcCA9IG5v
dCByZS5zZWFyY2gociJeXHMqZW5hYmxlLWF1dG8tcHJvcHNccyo9XHMqeWVzIiwgY29uZmlnX2Zp
bGUsIHJlLk1VTFRJTElORSkKKyAgICBlcnJvcmNvZGVfcG5nID0gbm90IHJlLnNlYXJjaChyIl5c
cypcKlwucG5nXHMqPVxzKnN2bjptaW1lLXR5cGU9aW1hZ2UvcG5nIiwgY29uZmlnX2ZpbGUsIHJl
Lk1VTFRJTElORSkKIAogICAgIHJldHVybiAoRmFsc2UsIGVycm9yY29kZV9hdXRvcHJvcCwgZXJy
b3Jjb2RlX3BuZykKIApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24v
Y29uZmlnL2NvbnRyaWJ1dGlvbmFyZWFzLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21t
b24vY29uZmlnL2NvbnRyaWJ1dGlvbmFyZWFzLnB5CmluZGV4IDAyZjFlNzQ1M2Y2MzgyYmFiZmVi
ZjNlYTU5Nzg3YzdlNDJlZWMzNTYuLjNiYWYyNzQ2ZjY4ZjkwMzljMjA5Yjk2N2QwYzBhNjlhNmU4
N2RjYjEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NvbmZpZy9j
b250cmlidXRpb25hcmVhcy5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9j
b25maWcvY29udHJpYnV0aW9uYXJlYXMucHkKQEAgLTE4OSw3ICsxODksNyBAQCBjbGFzcyBDb250
cmlidXRpb25BcmVhcyhvYmplY3QpOgogICAgIGRlZiBfc3BsaXRfY2FtZWxjYXNlKHNlbGYsIG5h
bWUsIHRyYW5zZm9ybT1sYW1iZGEgeDogeCk6CiAgICAgICAgIHJlc3VsdCA9IFtdCiAgICAgICAg
IHdoaWxlIG5hbWUgYW5kIGxlbihuYW1lKToKLSAgICAgICAgICAgIG0gPSByZS5tYXRjaCgnXihb
QS1aXVthLXowLTldKyl8KFtBLVowLTldKyg/PShbQS1aXVthLXowLTldfFwufCQpKSknLCBuYW1l
KQorICAgICAgICAgICAgbSA9IHJlLm1hdGNoKHInXihbQS1aXVthLXowLTldKyl8KFtBLVowLTld
Kyg/PShbQS1aXVthLXowLTldfFwufCQpKSknLCBuYW1lKQogICAgICAgICAgICAgaWYgbToKICAg
ICAgICAgICAgICAgICByZXN1bHQuYXBwZW5kKHRyYW5zZm9ybShtLmdyb3VwKDApKSkKICAgICAg
ICAgICAgICAgICBuYW1lID0gbmFtZVttLmVuZCgpOl0KZGlmZiAtLWdpdCBhL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvY29tbW9uL2NvbmZpZy91cmxzLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9jb21tb24vY29uZmlnL3VybHMucHkKaW5kZXggYzAxZTMxODljNzQwMzFjZjY4Nzc3ODRiODA5
NWNjODI3YzhmYWVhMC4uNmVjMTgzODFkMGFkZDQ0NDhmNGUwODhlNWY3MzQ2ZjFhYTdlNGU3NCAx
MDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vY29uZmlnL3VybHMucHkK
KysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vY29uZmlnL3VybHMucHkKQEAgLTQ2
LDcgKzQ2LDcgQEAgY29udHJpYnV0aW9uX2d1aWRlbGluZXMgPSAiaHR0cHM6Ly93ZWJraXQub3Jn
L2NvZGluZy9jb250cmlidXRpbmcuaHRtbCIKIAogYnVnX3NlcnZlcl9kb21haW4gPSAid2Via2l0
Lm9yZyIKIGJ1Z19zZXJ2ZXJfaG9zdCA9ICJidWdzLiIgKyBidWdfc2VydmVyX2RvbWFpbgotX2J1
Z19zZXJ2ZXJfcmVnZXggPSAiaHR0cHM/Oi8vJXMvIiAlIHJlLnN1YignXC4nLCAnXFwuJywgYnVn
X3NlcnZlcl9ob3N0KQorX2J1Z19zZXJ2ZXJfcmVnZXggPSAiaHR0cHM/Oi8vJXMvIiAlIHJlLnN1
YihyJ1wuJywgJ1xcLicsIGJ1Z19zZXJ2ZXJfaG9zdCkKIGJ1Z19zZXJ2ZXJfdXJsID0gImh0dHBz
Oi8vJXMvIiAlIGJ1Z19zZXJ2ZXJfaG9zdAogYnVnX3VybF9sb25nID0gX2J1Z19zZXJ2ZXJfcmVn
ZXggKyByInNob3dfYnVnXC5jZ2lcP2lkPSg/UDxidWdfaWQ+XGQrKSgmY3R5cGU9eG1sfCZleGNs
dWRlZmllbGQ9YXR0YWNobWVudGRhdGEpKiIKIGJ1Z191cmxfc2hvcnQgPSByImh0dHBzP1w6Ly8l
cy9iLyg/UDxidWdfaWQ+XGQrKSIgJSBidWdfc2VydmVyX2RvbWFpbgpkaWZmIC0tZ2l0IGEvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vZmluZF9maWxlc191bml0dGVzdC5weSBiL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2ZpbmRfZmlsZXNfdW5pdHRlc3QucHkKaW5kZXggZjJm
MGE0NDMwNjg4MGU4ODk5NDM1ZTQyYWM4MTljYzIwYThlZDE1ZC4uN2ZlNmNhODYyMDM1NDUwMjA2
MzQ0NDY5MGY2MDYxODk5MWEyOGYxMCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9jb21tb24vZmluZF9maWxlc191bml0dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2NvbW1vbi9maW5kX2ZpbGVzX3VuaXR0ZXN0LnB5CkBAIC00Niw3ICs0Niw3IEBAIGNsYXNz
IFRlc3RXaW5Ob3JtYWxpemUodW5pdHRlc3QuVGVzdENhc2UpOgogICAgIGRlZiBhc3NlcnRfZmls
ZXN5c3RlbV9ub3JtYWxpemVzKHNlbGYsIGZpbGVzeXN0ZW0pOgogICAgICAgICBzZWxmLmFzc2Vy
dEVxdWFsKGZpbmRfZmlsZXMuX25vcm1hbGl6ZShmaWxlc3lzdGVtLCAiYzpcXGZvbyIsCiAgICAg
ICAgICAgICBbJ2Zhc3QvaHRtbCcsICdmYXN0L2NhbnZhcy8qJywgJ2NvbXBvc2l0aW5nL2Zvby5o
dG1sJ10pLAotICAgICAgICAgICAgWydjOlxcZm9vXFxmYXN0XGh0bWwnLCAnYzpcXGZvb1xcZmFz
dFxjYW52YXNcKicsICdjOlxcZm9vXGNvbXBvc2l0aW5nXFxmb28uaHRtbCddKQorICAgICAgICAg
ICAgWydjOlxcZm9vXFxmYXN0XFxodG1sJywgJ2M6XFxmb29cXGZhc3RcXGNhbnZhc1xcKicsICdj
OlxcZm9vXFxjb21wb3NpdGluZ1xcZm9vLmh0bWwnXSkKIAogICAgIGRlZiB0ZXN0X21vY2tlZF93
aW4oc2VsZik6CiAgICAgICAgICMgVGhpcyB0ZXN0cyB0ZXN0X2ZpbGVzLm5vcm1hbGl6ZSwgdXNp
bmcgcG9ydGFibGUgYmVoYXZpb3IgZW11bGF0aW5nCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L2NvbW1vbi9uZXQvYnVnemlsbGEvYnVnLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9jb21tb24vbmV0L2J1Z3ppbGxhL2J1Zy5weQppbmRleCAyMjBiZjg1NmUyZjY0MmI5Zjg1
ZTc4OTUyMzJhMjE4ZmMzNDI1ZjA0Li4wM2YxNjFhN2ZkODlmZmE5NDk1ZjBiZDA0MDYwYTI1MmIy
YTU3MGFjIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQvYnVn
emlsbGEvYnVnLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9idWd6
aWxsYS9idWcucHkKQEAgLTEyNiw3ICsxMjYsNyBAQCBjbGFzcyBCdWcob2JqZWN0KToKIAogICAg
IGRlZiBjb21taXRfcmV2aXNpb24oc2VsZik6CiAgICAgICAgICMgU29ydCB0aGUgY29tbWVudHMg
aW4gcmV2ZXJzZSBvcmRlciBhcyB3ZSB3YW50IHRoZSBsYXRlc3QgY29tbWl0dGVkIHJldmlzaW9u
LgotICAgICAgICByID0gcmUuY29tcGlsZSgiQ29tbWl0dGVkIHIoP1A8c3ZuX3JldmlzaW9uPlxk
KykiKQorICAgICAgICByID0gcmUuY29tcGlsZShyIkNvbW1pdHRlZCByKD9QPHN2bl9yZXZpc2lv
bj5cZCspIikKICAgICAgICAgZm9yIGNvbW1lbnQgaW4gc29ydGVkKHNlbGYuY29tbWVudHMoKSwg
a2V5PWxhbWJkYSBjb21tZW50OiBjb21tZW50Wyd0ZXh0J10sIHJldmVyc2U9VHJ1ZSk6CiAgICAg
ICAgICAgICByZXYgPSByLnNlYXJjaChjb21tZW50Wyd0ZXh0J10pCiAgICAgICAgICAgICBpZiBy
ZXY6CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQvYnVnemls
bGEvYnVnemlsbGEucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQvYnVnemls
bGEvYnVnemlsbGEucHkKaW5kZXggMDAwYjIxNGM1NTY1NmI2MTY0ZTBjNmJjMWZlMjkzZDJlNTdj
NjY0ZS4uZTE1MWIxZjNlYTNmMjlhODNlOGMyNzU2Zjc2MzUxMGEyMGQ1MGZjMyAxMDA2NDQKLS0t
IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vbmV0L2J1Z3ppbGxhL2J1Z3ppbGxhLnB5
CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9idWd6aWxsYS9idWd6aWxs
YS5weQpAQCAtMTg4LDggKzE4OCw4IEBAIGNsYXNzIEJ1Z3ppbGxhUXVlcmllcyhvYmplY3QpOgog
CiAgICAgZGVmIF9wYXJzZV9hdHRhY2htZW50X2lkc19yZXF1ZXN0X3F1ZXJ5KHNlbGYsIHBhZ2Us
IHNpbmNlPU5vbmUpOgogICAgICAgICAjIEZvcm1hdHMKLSAgICAgICAgZGlnaXRzID0gcmUuY29t
cGlsZSgiXGQrIikKLSAgICAgICAgYXR0YWNobWVudF9ocmVmID0gcmUuY29tcGlsZSgiYXR0YWNo
bWVudC5jZ2lcP2lkPVxkKyZhY3Rpb249cmV2aWV3IikKKyAgICAgICAgZGlnaXRzID0gcmUuY29t
cGlsZShyIlxkKyIpCisgICAgICAgIGF0dGFjaG1lbnRfaHJlZiA9IHJlLmNvbXBpbGUociJhdHRh
Y2htZW50LmNnaVw/aWQ9XGQrJmFjdGlvbj1yZXZpZXciKQogICAgICAgICAjIGlmIG5vIGRhdGUg
aXMgZ2l2ZW4sIHJldHVybiBhbGwgaWRzCiAgICAgICAgIGlmIG5vdCBzaW5jZToKICAgICAgICAg
ICAgIGF0dGFjaG1lbnRfbGlua3MgPSBTb3VwU3RyYWluZXIoImEiLCBocmVmPWF0dGFjaG1lbnRf
aHJlZikKQEAgLTE5Nyw3ICsxOTcsNyBAQCBjbGFzcyBCdWd6aWxsYVF1ZXJpZXMob2JqZWN0KToK
ICAgICAgICAgICAgICAgICBmb3IgdGFnIGluIEJlYXV0aWZ1bFNvdXAocGFnZSwgcGFyc2VPbmx5
VGhlc2U9YXR0YWNobWVudF9saW5rcyldCiAKICAgICAgICAgIyBQYXJzZSB0aGUgbWFpbiB0YWJs
ZSBvbmx5Ci0gICAgICAgIGRhdGVfZm9ybWF0ID0gcmUuY29tcGlsZSgiXGR7NH0tXGR7Mn0tXGR7
Mn0gXGR7Mn06XGR7Mn0iKQorICAgICAgICBkYXRlX2Zvcm1hdCA9IHJlLmNvbXBpbGUociJcZHs0
fS1cZHsyfS1cZHsyfSBcZHsyfTpcZHsyfSIpCiAgICAgICAgIG10YWIgPSBTb3VwU3RyYWluZXIo
InRhYmxlIiwgeyJjbGFzcyI6ICJyZXF1ZXN0cyJ9KQogICAgICAgICBzb3VwID0gQmVhdXRpZnVs
U291cChwYWdlLCBwYXJzZU9ubHlUaGVzZT1tdGFiKQogICAgICAgICBwYXRjaF9pZHMgPSBbXQpA
QCAtNTA1LDcgKzUwNSw3IEBAIGNsYXNzIEJ1Z3ppbGxhKG9iamVjdCk6CiAgICAgICAgIGlmIG5v
dCB0aXRsZToKICAgICAgICAgICAgIF9sb2cud2FybmluZygiVGhpcyBhdHRhY2htZW50IGRvZXMg
bm90IGV4aXN0IChvciB5b3UgZG9uJ3QgaGF2ZSBwZXJtaXNzaW9ucyB0byB2aWV3IGl0KS4iKQog
ICAgICAgICAgICAgcmV0dXJuIE5vbmUKLSAgICAgICAgbWF0Y2ggPSByZS5zZWFyY2goInNob3df
YnVnLmNnaVw/aWQ9KD9QPGJ1Z19pZD5cZCspIiwgc3RyKHRpdGxlKSkKKyAgICAgICAgbWF0Y2gg
PSByZS5zZWFyY2gociJzaG93X2J1Zy5jZ2lcP2lkPSg/UDxidWdfaWQ+XGQrKSIsIHN0cih0aXRs
ZSkpCiAgICAgICAgIGlmIG5vdCBtYXRjaDoKICAgICAgICAgICAgIF9sb2cud2FybmluZygiVW5h
YmxlIHRvIHBhcnNlIGJ1ZyBpZCBmcm9tIGF0dGFjaG1lbnQiKQogICAgICAgICAgICAgcmV0dXJu
IE5vbmUKQEAgLTY0MCw3ICs2NDAsNyBAQCBjbGFzcyBCdWd6aWxsYShvYmplY3QpOgogICAgIEBz
dGF0aWNtZXRob2QKICAgICBkZWYgX3BhcnNlX2F0dGFjaG1lbnRfaWRfZnJvbV9hZGRfcGF0Y2hf
dG9fYnVnX3Jlc3BvbnNlKHJlc3BvbnNlX2h0bWwpOgogICAgICAgICByZXNwb25zZV9odG1sID0g
c3RyaW5nX3V0aWxzLmRlY29kZShyZXNwb25zZV9odG1sLCB0YXJnZXRfdHlwZT1zdHIpCi0gICAg
ICAgIG1hdGNoID0gcmUuc2VhcmNoKCc8dGl0bGU+QXR0YWNobWVudCAoP1A8YXR0YWNobWVudF9p
ZD5cZCspIGFkZGVkIHRvIEJ1ZyBcZCs8L3RpdGxlPicsIHJlc3BvbnNlX2h0bWwpCisgICAgICAg
IG1hdGNoID0gcmUuc2VhcmNoKHInPHRpdGxlPkF0dGFjaG1lbnQgKD9QPGF0dGFjaG1lbnRfaWQ+
XGQrKSBhZGRlZCB0byBCdWcgXGQrPC90aXRsZT4nLCByZXNwb25zZV9odG1sKQogICAgICAgICBp
ZiBtYXRjaDoKICAgICAgICAgICAgIHJldHVybiBtYXRjaC5ncm91cCgnYXR0YWNobWVudF9pZCcp
CiAgICAgICAgIF9sb2cud2FybmluZygnVW5hYmxlIHRvIHBhcnNlIGF0dGFjaG1lbnQgaWQnKQpA
QCAtNjg0LDcgKzY4NCw3IEBAIGNsYXNzIEJ1Z3ppbGxhKG9iamVjdCk6CiAgICAgIyBGSVhNRTog
VGhlcmUgaGFzIHRvIGJlIGEgbW9yZSBjb25jaXNlIHdheSB0byB3cml0ZSB0aGlzIG1ldGhvZC4K
ICAgICBkZWYgX2NoZWNrX2NyZWF0ZV9idWdfcmVzcG9uc2Uoc2VsZiwgcmVzcG9uc2VfaHRtbCk6
CiAgICAgICAgIHJlc3BvbnNlX2h0bWwgPSBzdHJpbmdfdXRpbHMuZGVjb2RlKHJlc3BvbnNlX2h0
bWwsIHRhcmdldF90eXBlPXN0cikKLSAgICAgICAgbWF0Y2ggPSByZS5zZWFyY2goJzx0aXRsZT5C
dWcgKD9QPGJ1Z19pZD5cZCspIFN1Ym1pdHRlZFtePF0qPC90aXRsZT4nLCByZXNwb25zZV9odG1s
KQorICAgICAgICBtYXRjaCA9IHJlLnNlYXJjaChyJzx0aXRsZT5CdWcgKD9QPGJ1Z19pZD5cZCsp
IFN1Ym1pdHRlZFtePF0qPC90aXRsZT4nLCByZXNwb25zZV9odG1sKQogICAgICAgICBpZiBtYXRj
aDoKICAgICAgICAgICAgIHJldHVybiBtYXRjaC5ncm91cCgnYnVnX2lkJykKIApkaWZmIC0tZ2l0
IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vbmV0L2J1aWxkYm90L2J1aWxkYm90LnB5
IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vbmV0L2J1aWxkYm90L2J1aWxkYm90LnB5
CmluZGV4IGRiMzRkMTE0YTA1ZWVlZGI3YTljYTIxZmFlNzdlZWFmYWVkZDI1NjIuLjExYmI5OGYx
NmUyZjVjNjIxNjk4Y2UwYjgzNzY4YWM3ZDhmOWIwMzEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvY29tbW9uL25ldC9idWlsZGJvdC9idWlsZGJvdC5weQorKysgYi9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQvYnVpbGRib3QvYnVpbGRib3QucHkKQEAgLTM0NSw3
ICszNDUsNyBAQCBjbGFzcyBCdWlsZEJvdChvYmplY3QpOgogCiAgICAgICAgIGJ1aWxkZXJbImFj
dGl2aXR5Il0gPSBhY3Rpdml0eV9saW5lc1swXSAgIyBub3JtYWxseSAiYnVpbGRpbmciIG9yICJp
ZGxlIgogICAgICAgICAjIFRoZSBtaWRkbGUgbGluZXMgZG9jdW1lbnQgaG93IGxvbmcgbGVmdCBm
b3IgYW55IGN1cnJlbnQgYnVpbGRzLgotICAgICAgICBtYXRjaCA9IHJlLm1hdGNoKCIoP1A8cGVu
ZGluZ19idWlsZHM+XGQpIHBlbmRpbmciLCBhY3Rpdml0eV9saW5lc1stMV0pCisgICAgICAgIG1h
dGNoID0gcmUubWF0Y2gociIoP1A8cGVuZGluZ19idWlsZHM+XGQpIHBlbmRpbmciLCBhY3Rpdml0
eV9saW5lc1stMV0pCiAgICAgICAgIGJ1aWxkZXJbInBlbmRpbmdfYnVpbGRzIl0gPSBpbnQobWF0
Y2guZ3JvdXAoInBlbmRpbmdfYnVpbGRzIikpIGlmIG1hdGNoIGVsc2UgMAogCiAgICAgZGVmIF9w
YXJzZV9idWlsZGVyX3N0YXR1c19mcm9tX3JvdyhzZWxmLCBzdGF0dXNfcm93KToKZGlmZiAtLWdp
dCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9jcmVkZW50aWFscy5weSBiL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9jcmVkZW50aWFscy5weQppbmRleCAzMDky
ODRkZGI5ODk5NDM3NDQ2YTA2OTA2YTJjYTRlYTg2MDRmZjVkLi4zZTQ5MGFkMTkxZDMyYTdjYmQw
MTM3M2UxZjY5ZjY0YjczODE0ZDBhIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L2NvbW1vbi9uZXQvY3JlZGVudGlhbHMucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9j
b21tb24vbmV0L2NyZWRlbnRpYWxzLnB5CkBAIC04NCw3ICs4NCw3IEBAIGNsYXNzIENyZWRlbnRp
YWxzKG9iamVjdCk6CiAgICAgICAgIHJldHVybiBwbGF0Zm9ybS5tYWNfdmVyKClbMF0KIAogICAg
IGRlZiBfcGFyc2Vfc2VjdXJpdHlfdG9vbF9vdXRwdXQoc2VsZiwgc2VjdXJpdHlfb3V0cHV0KToK
LSAgICAgICAgdXNlcm5hbWUgPSBzZWxmLl9rZXljaGFpbl92YWx1ZV93aXRoX2xhYmVsKCJeXHMq
XCJhY2N0XCI8YmxvYj49IiwKKyAgICAgICAgdXNlcm5hbWUgPSBzZWxmLl9rZXljaGFpbl92YWx1
ZV93aXRoX2xhYmVsKCJeXFxzKlwiYWNjdFwiPGJsb2I+PSIsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWN1cml0eV9vdXRwdXQpCiAgICAgICAg
IHBhc3N3b3JkID0gc2VsZi5fa2V5Y2hhaW5fdmFsdWVfd2l0aF9sYWJlbCgiXnBhc3N3b3JkOiAi
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Vj
dXJpdHlfb3V0cHV0KQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24v
bmV0L3Jlc3VsdHNqc29ucGFyc2VyX3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9jb21tb24vbmV0L3Jlc3VsdHNqc29ucGFyc2VyX3VuaXR0ZXN0LnB5CmluZGV4IDUwNjU1OGU1
NTUyYjRmZDE3MmM3MmEwYTc0NGJkZWIzMGEyZmY5YjcuLjc4NGY2NWJkYTUxYjNjNDc4NTRjNzFi
MTRhYjdjY2U5ZWRjNjkxMzkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29t
bW9uL25ldC9yZXN1bHRzanNvbnBhcnNlcl91bml0dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L2NvbW1vbi9uZXQvcmVzdWx0c2pzb25wYXJzZXJfdW5pdHRlc3QucHkKQEAgLTM3
LDcgKzM3LDcgQEAgZnJvbSB3ZWJraXRweS5sYXlvdXRfdGVzdHMubW9kZWxzIGltcG9ydCB0ZXN0
X2ZhaWx1cmVzCiBjbGFzcyBQYXJzZWRKU09OUmVzdWx0c1Rlc3QodW5pdHRlc3QuVGVzdENhc2Up
OgogICAgICMgVGhlIHJlYWwgZmlsZXMgaGF2ZSBubyB3aGl0ZXNwYWNlLCBidXQgbmV3bGluZXMg
bWFrZSB0aGlzIG11Y2ggbW9yZSByZWFkYWJsZS4KIAotICAgIF9leGFtcGxlX2Z1bGxfcmVzdWx0
c19qc29uID0gIiIiQUREX1JFU1VMVFMoeworICAgIF9leGFtcGxlX2Z1bGxfcmVzdWx0c19qc29u
ID0gciIiIkFERF9SRVNVTFRTKHsKICAgICAidGVzdHMiOiB7CiAgICAgICAgICJmYXN0Ijogewog
ICAgICAgICAgICAgImRvbSI6IHsKQEAgLTkwLDcgKzkwLDcgQEAgY2xhc3MgUGFyc2VkSlNPTlJl
c3VsdHNUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAidXNlc19leHBlY3RhdGlvbnNfZmls
ZSI6IHRydWUKIH0pOyIiIgogCi0gICAgX25vdF9pbnRlcnJ1cHRlZF9leGFtcGxlX2Z1bGxfcmVz
dWx0c19qc29uID0gIiIiQUREX1JFU1VMVFMoeworICAgIF9ub3RfaW50ZXJydXB0ZWRfZXhhbXBs
ZV9mdWxsX3Jlc3VsdHNfanNvbiA9IHIiIiJBRERfUkVTVUxUUyh7CiAgICAgInRlc3RzIjogewog
ICAgICAgICAiZmFzdCI6IHsKICAgICAgICAgICAgICJkb20iOiB7CmRpZmYgLS1naXQgYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0ZW0vY3Jhc2hsb2dzLnB5IGIvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL2NyYXNobG9ncy5weQppbmRleCA0ZTNkYTc1NzVk
MmRmMGJlYjM4NzcxZWIwZGUyYzE1ZmJiY2FhYWU1Li4wYjExMDg0OTk1ODYzM2Q4M2YzZjI1NjMy
OTA0MjhmZTAyM2E1NjdkIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1v
bi9zeXN0ZW0vY3Jhc2hsb2dzLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9u
L3N5c3RlbS9jcmFzaGxvZ3MucHkKQEAgLTE4Niw3ICsxODYsNyBAQCBjbGFzcyBDcmFzaExvZ3Mo
b2JqZWN0KToKICAgICAgICAgcmV0dXJuIGNyYXNoX2xvZ3MKIAogICAgIGRlZiBnZXRfdGltZXN0
YW1wX2Zyb21fbG9nKHNlbGYsIGxvZ19jb250ZW50cyk6Ci0gICAgICAgIGRhdGVfbWF0Y2ggPSBy
ZS5zZWFyY2goJ0RhdGUvVGltZTpccysoLis/KVxuJywgbG9nX2NvbnRlbnRzKQorICAgICAgICBk
YXRlX21hdGNoID0gcmUuc2VhcmNoKCdEYXRlL1RpbWU6XFxzKyguKz8pXG4nLCBsb2dfY29udGVu
dHMpCiAgICAgICAgIGlmIG5vdCBkYXRlX21hdGNoOgogICAgICAgICAgICAgcmV0dXJuIE5vbmUK
ICAgICAgICAgdHJ5OgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24v
c3lzdGVtL2NyYXNobG9nc191bml0dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29t
bW9uL3N5c3RlbS9jcmFzaGxvZ3NfdW5pdHRlc3QucHkKaW5kZXggNDI0NTM3NjY4MGMzZWNiZmQ5
ZjgzYzM0Mjc2ZDIzYWIzOTRmNmY5NS4uZWM0NmMwNmZlM2Y2OGQwMzI0MzE0OGQwMDcwN2Y3YmM2
ODFiMmNkNSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVt
L2NyYXNobG9nc191bml0dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1v
bi9zeXN0ZW0vY3Jhc2hsb2dzX3VuaXR0ZXN0LnB5CkBAIC0xMTUsOSArMTE1LDkgQEAgQmluYXJ5
IEltYWdlczoKIAogCiBkZWYgbWFrZV9tb2NrX2NyYXNoX3JlcG9ydF93aW4ocHJvY2Vzc19uYW1l
LCBwaWQpOgotICAgIHJldHVybiAiIiJPcGVuZWQgbG9nIGZpbGUgJ0M6XFByb2plY3RzXFdlYktp
dFxPcGVuU291cmNlXFdlYktpdEJ1aWxkXFJlbGVhc2VcYmluMzJcbGF5b3V0LXRlc3QtcmVzdWx0
c1xDcmFzaExvZ18xZDU4XzIwMTMtMDYtMDNfMTItMjEtMjAtMTEwLnR4dCcKLTA6MDAwPiAuc3Jj
cGF0aCAiQzpcUHJvamVjdHNcV2ViS2l0XE9wZW5Tb3VyY2UiCi1Tb3VyY2Ugc2VhcmNoIHBhdGgg
aXM6IEM6XFByb2plY3RzXFdlYktpdFxPcGVuU291cmNlCisgICAgcmV0dXJuICIiIk9wZW5lZCBs
b2cgZmlsZSAnQzpcXFByb2plY3RzXFxXZWJLaXRcXE9wZW5Tb3VyY2VcXFdlYktpdEJ1aWxkXFxS
ZWxlYXNlXGJpbjMyXFxsYXlvdXQtdGVzdC1yZXN1bHRzXFxDcmFzaExvZ18xZDU4XzIwMTMtMDYt
MDNfMTItMjEtMjAtMTEwLnR4dCcKKzA6MDAwPiAuc3JjcGF0aCAiQzpcXFByb2plY3RzXFxXZWJL
aXRcXE9wZW5Tb3VyY2UiCitTb3VyY2Ugc2VhcmNoIHBhdGggaXM6IEM6XFxQcm9qZWN0c1xcV2Vi
S2l0XFxPcGVuU291cmNlCiAwOjAwMD4gIWFuYWx5emUgLXZ2CiAqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAqCkBAIC0xMjUsMTEgKzEyNSwxMSBAQCBTb3VyY2Ug
c2VhcmNoIHBhdGggaXM6IEM6XFByb2plY3RzXFdlYktpdFxPcGVuU291cmNlCiAqICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAqCiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAKLSoqKiBFUlJPUjogU3ltYm9s
IGZpbGUgY291bGQgbm90IGJlIGZvdW5kLiAgRGVmYXVsdGVkIHRvIGV4cG9ydCBzeW1ib2xzIGZv
ciBDOlxQcm9qZWN0c1xXZWJLaXRcT3BlblNvdXJjZVxXZWJLaXRCdWlsZFxSZWxlYXNlXGJpbjMy
XGxpYmRpc3BhdGNoLmRsbCAtCi0qKiogRVJST1I6IFN5bWJvbCBmaWxlIGNvdWxkIG5vdCBiZSBm
b3VuZC4gIERlZmF1bHRlZCB0byBleHBvcnQgc3ltYm9scyBmb3IgQzpcV2luZG93c1xTWVNURU0z
MlxhdGl1bWRhZy5kbGwgLQorKioqIEVSUk9SOiBTeW1ib2wgZmlsZSBjb3VsZCBub3QgYmUgZm91
bmQuICBEZWZhdWx0ZWQgdG8gZXhwb3J0IHN5bWJvbHMgZm9yIEM6XFxQcm9qZWN0c1xcV2ViS2l0
XFxPcGVuU291cmNlXFxXZWJLaXRCdWlsZFxcUmVsZWFzZVxiaW4zMlxcbGliZGlzcGF0Y2guZGxs
IC0KKyoqKiBFUlJPUjogU3ltYm9sIGZpbGUgY291bGQgbm90IGJlIGZvdW5kLiAgRGVmYXVsdGVk
IHRvIGV4cG9ydCBzeW1ib2xzIGZvciBDOlxcV2luZG93c1xcU1lTVEVNMzJcYXRpdW1kYWcuZGxs
IC0KIAogRkFVTFRJTkdfSVA6Ci1KYXZhU2NyaXB0Q29yZSFKU0M6OkpTQWN0aXZhdGlvbjo6Z2V0
T3duUHJvcGVydHlTbG90KzAgW2M6XHByb2plY3RzXHdlYmtpdFxvcGVuc291cmNlXHNvdXJjZVxq
YXZhc2NyaXB0Y29yZVxydW50aW1lXGpzYWN0aXZhdGlvbi5jcHAgQCAxNDZdCitKYXZhU2NyaXB0
Q29yZSFKU0M6OkpTQWN0aXZhdGlvbjo6Z2V0T3duUHJvcGVydHlTbG90KzAgW2M6XFxwcm9qZWN0
c1xcd2Via2l0XFxvcGVuc291cmNlXFxzb3VyY2VcXGphdmFzY3JpcHRjb3JlXHJ1bnRpbWVcXGpz
YWN0aXZhdGlvbi5jcHAgQCAxNDZdCiAwMWUzZDA3MCA1NSAgICAgICAgICAgICAgcHVzaCAgICBl
YnAKIAogRVhDRVBUSU9OX1JFQ09SRDogIDAwMDkyY2M4IC0tICguZXhyIDB4OTJjYzgpCkBAIC0x
NTEsNyArMTUxLDcgQEAgRVhDRVBUSU9OX1BBUkFNRVRFUjI6ICAwMDA5MDAwMAogUkVBRF9BRERS
RVNTOiAgMDAwOTAwMDAKIAogRk9MTE9XVVBfSVA6Ci1KYXZhU2NyaXB0Q29yZSFKU0M6OkpTQWN0
aXZhdGlvbjo6Z2V0T3duUHJvcGVydHlTbG90KzAgW2M6XHByb2plY3RzXHdlYmtpdFxvcGVuc291
cmNlXHNvdXJjZVxqYXZhc2NyaXB0Y29yZVxydW50aW1lXGpzYWN0aXZhdGlvbi5jcHAgQCAxNDZd
CitKYXZhU2NyaXB0Q29yZSFKU0M6OkpTQWN0aXZhdGlvbjo6Z2V0T3duUHJvcGVydHlTbG90KzAg
W2M6XFxwcm9qZWN0c1xcd2Via2l0XFxvcGVuc291cmNlXFxzb3VyY2VcXGphdmFzY3JpcHRjb3Jl
XHJ1bnRpbWVcXGpzYWN0aXZhdGlvbi5jcHAgQCAxNDZdCiAwMWUzZDA3MCA1NSAgICAgICAgICAg
ICAgcHVzaCAgICBlYnAKIAogV0FUU09OX0JLVF9QUk9DU1RBTVA6ICA1MWE4Zjk3OQpAQCAtMTg5
LDggKzE4OSw4IEBAIFRIUkVBRF9BVFRSSUJVVEVTOgogICAgIEdsb2JhbCAgICAgVGhyZWFkX0Nv
dW50OiBbMTldCiAgICAgR2xvYmFsICAgICBQYWdlU2l6ZTogWzQwOTZdCiAgICAgR2xvYmFsICAg
ICBNb2RMaXN0X1NIQTFfSGFzaDogW2FhY2VmNGU3ZTgzYjliZGRjOWNkMGNjMDk0ZGFjODhkNTMx
ZWE0YTNdCi0gICAgR2xvYmFsICAgICBDb21tYW5kTGluZTogW0M6XFByb2plY3RzXFdlYktpdFxP
cGVuU291cmNlXFdlYktpdEJ1aWxkXFJlbGVhc2VcYmluMzJce3Byb2Nlc3NfbmFtZX0gLV0KLSAg
ICBHbG9iYWwgICAgIERlc2t0b3BfTmFtZTogW1dpbnN0YTBcRGVmYXVsdF0KKyAgICBHbG9iYWwg
ICAgIENvbW1hbmRMaW5lOiBbQzpcXFByb2plY3RzXFxXZWJLaXRcXE9wZW5Tb3VyY2VcXFdlYktp
dEJ1aWxkXFxSZWxlYXNlXGJpbjMyXFx7cHJvY2Vzc19uYW1lfSAtXQorICAgIEdsb2JhbCAgICAg
RGVza3RvcF9OYW1lOiBbV2luc3RhMFxcRGVmYXVsdF0KICAgICBHbG9iYWwgICAgIFByb2Nlc3NO
YW1lOiBbe3Byb2Nlc3NfbmFtZX1dCiAgICAgR2xvYmFsICAgICBEZWJ1Z2dlcl9DUFVfQXJjaGl0
ZWN0dXJlOiBbWDg2XQogICAgIEdsb2JhbCAgICAgQ1BVX1Byb2Nlc3NvckNvdW50OiBbMjRdCkBA
IC0yMTksOSArMjE5LDkgQEAgVEhSRUFEX0FUVFJJQlVURVM6CiAKIEZBVUxUX0lOU1RSX0NPREU6
ICA4M2VjOGI1NQogCi1GQVVMVElOR19TT1VSQ0VfTElORTogIGM6XHByb2plY3RzXHdlYmtpdFxv
cGVuc291cmNlXHNvdXJjZVxqYXZhc2NyaXB0Y29yZVxydW50aW1lXGpzYWN0aXZhdGlvbi5jcHAK
K0ZBVUxUSU5HX1NPVVJDRV9MSU5FOiAgYzpcXHByb2plY3RzXFx3ZWJraXRcXG9wZW5zb3VyY2Vc
XHNvdXJjZVxcamF2YXNjcmlwdGNvcmVccnVudGltZVxcanNhY3RpdmF0aW9uLmNwcAogCi1GQVVM
VElOR19TT1VSQ0VfRklMRTogIGM6XHByb2plY3RzXHdlYmtpdFxvcGVuc291cmNlXHNvdXJjZVxq
YXZhc2NyaXB0Y29yZVxydW50aW1lXGpzYWN0aXZhdGlvbi5jcHAKK0ZBVUxUSU5HX1NPVVJDRV9G
SUxFOiAgYzpcXHByb2plY3RzXFx3ZWJraXRcXG9wZW5zb3VyY2VcXHNvdXJjZVxcamF2YXNjcmlw
dGNvcmVccnVudGltZVxcanNhY3RpdmF0aW9uLmNwcAogCiBGQVVMVElOR19TT1VSQ0VfTElORV9O
VU1CRVI6ICAxNDYKIApAQCAtMjU3LDcgKzI1Nyw3IEBAIEZvbGxvd3VwOiBNYWNoaW5lT3duZXIK
IDAyIDAwMDkyYTZjIDcyNjFlZjZiIE1TVkNSMTAwIV9mbHVzaCsweDNiCiAwMyAwMDA5MmE3YyA3
MjYxZWYxYyBNU1ZDUjEwMCFfZmZsdXNoX25vbG9jaysweDFjCiAwNCAwMDA5MmFiNCAxMDAwZjgx
NCBNU1ZDUjEwMCFmZmx1c2grMHgzMAotMDUgMDAwOTJhYzggNzdjMDA4NGUgRHVtcFJlbmRlclRy
ZWVfMTAwMDAwMDAhZXhjZXB0aW9uRmlsdGVyKHN0cnVjdCBfRVhDRVBUSU9OX1BPSU5URVJTICog
X19mb3JtYWwgPSAweDg1MmFjODA3KSsweDI0IFtjOlxwcm9qZWN0c1x3ZWJraXRcb3BlbnNvdXJj
ZVx0b29sc1xkdW1wcmVuZGVydHJlZVx3aW5cZHVtcHJlbmRlcnRyZWUuY3BwIEAgMTI4MV0KKzA1
IDAwMDkyYWM4IDc3YzAwODRlIER1bXBSZW5kZXJUcmVlXzEwMDAwMDAwIWV4Y2VwdGlvbkZpbHRl
cihzdHJ1Y3QgX0VYQ0VQVElPTl9QT0lOVEVSUyAqIF9fZm9ybWFsID0gMHg4NTJhYzgwNykrMHgy
NCBbYzpcXHByb2plY3RzXFx3ZWJraXRcXG9wZW5zb3VyY2VcdG9vbHNcXGR1bXByZW5kZXJ0cmVl
XFx3aW5cXGR1bXByZW5kZXJ0cmVlLmNwcCBAIDEyODFdCiAwNiAwMDA5MmI2MCA3N2U4YmYyYyBL
RVJORUxCQVNFIVVuaGFuZGxlZEV4Y2VwdGlvbkZpbHRlcisweDE2NAogMDcgMDAwOTJiNjggNzdl
NTMwYjQgbnRkbGwhX19SdGxVc2VyVGhyZWFkU3RhcnQrMHg1NwogMDggMDAwOTJiN2MgNzdlMTUy
NDYgbnRkbGwhX0VINF9DYWxsRmlsdGVyRnVuYysweDEyCkBAIC0yNjYsMTAgKzI2NiwxMCBAQCBG
b2xsb3d1cDogTWFjaGluZU93bmVyCiAwYiAwMDA5MmJlOCA3N2U1MmU0MyBudGRsbCFFeGVjdXRl
SGFuZGxlcjIrMHgyNgogMGMgMDAwOTJjYjAgNzdlNTJjYmIgbnRkbGwhRXhlY3V0ZUhhbmRsZXIr
MHgyNAogMGQgMDAwOTJjYjAgMDFlM2QwNzAgbnRkbGwhS2lVc2VyRXhjZXB0aW9uRGlzcGF0Y2hl
cisweGYKLTBlIDAwMDkyZmZjIDAxZTY3ZDI1IEphdmFTY3JpcHRDb3JlIUpTQzo6SlNBY3RpdmF0
aW9uOjpnZXRPd25Qcm9wZXJ0eVNsb3QoY2xhc3MgSlNDOjpKU0NlbGwgKiBjZWxsID0gMHgwN2E3
ZmY5OCwgY2xhc3MgSlNDOjpFeGVjU3RhdGUgKiBleGVjID0gMHgwNzUxZTE2OCwgY2xhc3MgSlND
OjpQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lID0gY2xhc3MgSlNDOjpQcm9wZXJ0eU5hbWUsIGNs
YXNzIEpTQzo6UHJvcGVydHlTbG90ICogc2xvdCA9IDB4MDAwOTMwYmMpIFtjOlxwcm9qZWN0c1x3
ZWJraXRcb3BlbnNvdXJjZVxzb3VyY2VcamF2YXNjcmlwdGNvcmVccnVudGltZVxqc2FjdGl2YXRp
b24uY3BwIEAgMTQ2XQotMGYgMDAwOTMwNmMgMDFlNjg4MzcgSmF2YVNjcmlwdENvcmUhSlNDOjpK
U1Njb3BlOjpyZXNvbHZlQ29udGFpbmluZ1Njb3BlSW50ZXJuYWw8MSwyPihjbGFzcyBKU0M6OkV4
ZWNTdGF0ZSAqIGNhbGxGcmFtZSA9IDB4MDc1MWUxNjgsIGNsYXNzIEpTQzo6SWRlbnRpZmllciAq
IGlkZW50aWZpZXIgPSAweDdmZTBlYmMwLCBjbGFzcyBKU0M6OlByb3BlcnR5U2xvdCAqIHNsb3Qg
PSAweDdmZTAzZWQwLCBjbGFzcyBXVEY6OlZlY3RvcjxKU0M6OlJlc29sdmVPcGVyYXRpb24sMCxX
VEY6OkNyYXNoT25PdmVyZmxvdz4gKiBvcGVyYXRpb25zID0gMHg3ZmRhMTZjMCwgc3RydWN0IEpT
Qzo6UHV0VG9CYXNlT3BlcmF0aW9uICogcHV0VG9CYXNlT3BlcmF0aW9uID0gMHgwMDAwMDAwMCwg
Ym9vbCBfX2Zvcm1hbCA9IGZhbHNlKSsweDIwNSBbYzpccHJvamVjdHNcd2Via2l0XG9wZW5zb3Vy
Y2Vcc291cmNlXGphdmFzY3JpcHRjb3JlXHJ1bnRpbWVcanNzY29wZS5jcHAgQCAyNDddCi0xMCAw
MDA5MzA5MCAwMWU2NTg2MCBKYXZhU2NyaXB0Q29yZSFKU0M6OkpTU2NvcGU6OnJlc29sdmVDb250
YWluaW5nU2NvcGU8MT4oY2xhc3MgSlNDOjpFeGVjU3RhdGUgKiBjYWxsRnJhbWUgPSAweDA3NTFl
MTY4LCBjbGFzcyBKU0M6OklkZW50aWZpZXIgKiBpZGVudGlmaWVyID0gMHg3ZmUwZWJjMCwgY2xh
c3MgSlNDOjpQcm9wZXJ0eVNsb3QgKiBzbG90ID0gMHgwMDA5MzBiYywgY2xhc3MgV1RGOjpWZWN0
b3I8SlNDOjpSZXNvbHZlT3BlcmF0aW9uLDAsV1RGOjpDcmFzaE9uT3ZlcmZsb3c+ICogb3BlcmF0
aW9ucyA9IDB4N2ZkYTE2YzAsIHN0cnVjdCBKU0M6OlB1dFRvQmFzZU9wZXJhdGlvbiAqIHB1dFRv
QmFzZU9wZXJhdGlvbiA9IDB4MDAwMDAwMDAsIGJvb2wgaXNTdHJpY3QgPSBmYWxzZSkrMHgyNyBb
YzpccHJvamVjdHNcd2Via2l0XG9wZW5zb3VyY2Vcc291cmNlXGphdmFzY3JpcHRjb3JlXHJ1bnRp
bWVcanNzY29wZS5jcHAgQCA0MjddCi0xMSAwMDA5MzEwNCAwMWRjZWVmZiBKYXZhU2NyaXB0Q29y
ZSFKU0M6OkpTU2NvcGU6OnJlc29sdmUoY2xhc3MgSlNDOjpFeGVjU3RhdGUgKiBjYWxsRnJhbWUg
PSAweDA3NTFlMTY4LCBjbGFzcyBKU0M6OklkZW50aWZpZXIgKiBpZGVudGlmaWVyID0gMHg3ZmUw
ZWJjMCwgY2xhc3MgV1RGOjpWZWN0b3I8SlNDOjpSZXNvbHZlT3BlcmF0aW9uLDAsV1RGOjpDcmFz
aE9uT3ZlcmZsb3c+ICogb3BlcmF0aW9ucyA9IDB4N2ZkYTE2YzApKzB4YzAgW2M6XHByb2plY3Rz
XHdlYmtpdFxvcGVuc291cmNlXHNvdXJjZVxqYXZhc2NyaXB0Y29yZVxydW50aW1lXGpzc2NvcGUu
Y3BwIEAgNDQ3XQorMGUgMDAwOTJmZmMgMDFlNjdkMjUgSmF2YVNjcmlwdENvcmUhSlNDOjpKU0Fj
dGl2YXRpb246OmdldE93blByb3BlcnR5U2xvdChjbGFzcyBKU0M6OkpTQ2VsbCAqIGNlbGwgPSAw
eDA3YTdmZjk4LCBjbGFzcyBKU0M6OkV4ZWNTdGF0ZSAqIGV4ZWMgPSAweDA3NTFlMTY4LCBjbGFz
cyBKU0M6OlByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUgPSBjbGFzcyBKU0M6OlByb3BlcnR5TmFt
ZSwgY2xhc3MgSlNDOjpQcm9wZXJ0eVNsb3QgKiBzbG90ID0gMHgwMDA5MzBiYykgW2M6XFxwcm9q
ZWN0c1xcd2Via2l0XFxvcGVuc291cmNlXFxzb3VyY2VcXGphdmFzY3JpcHRjb3JlXHJ1bnRpbWVc
XGpzYWN0aXZhdGlvbi5jcHAgQCAxNDZdCiswZiAwMDA5MzA2YyAwMWU2ODgzNyBKYXZhU2NyaXB0
Q29yZSFKU0M6OkpTU2NvcGU6OnJlc29sdmVDb250YWluaW5nU2NvcGVJbnRlcm5hbDwxLDI+KGNs
YXNzIEpTQzo6RXhlY1N0YXRlICogY2FsbEZyYW1lID0gMHgwNzUxZTE2OCwgY2xhc3MgSlNDOjpJ
ZGVudGlmaWVyICogaWRlbnRpZmllciA9IDB4N2ZlMGViYzAsIGNsYXNzIEpTQzo6UHJvcGVydHlT
bG90ICogc2xvdCA9IDB4N2ZlMDNlZDAsIGNsYXNzIFdURjo6VmVjdG9yPEpTQzo6UmVzb2x2ZU9w
ZXJhdGlvbiwwLFdURjo6Q3Jhc2hPbk92ZXJmbG93PiAqIG9wZXJhdGlvbnMgPSAweDdmZGExNmMw
LCBzdHJ1Y3QgSlNDOjpQdXRUb0Jhc2VPcGVyYXRpb24gKiBwdXRUb0Jhc2VPcGVyYXRpb24gPSAw
eDAwMDAwMDAwLCBib29sIF9fZm9ybWFsID0gZmFsc2UpKzB4MjA1IFtjOlxccHJvamVjdHNcXHdl
YmtpdFxcb3BlbnNvdXJjZVxcc291cmNlXFxqYXZhc2NyaXB0Y29yZVxydW50aW1lXFxqc3Njb3Bl
LmNwcCBAIDI0N10KKzEwIDAwMDkzMDkwIDAxZTY1ODYwIEphdmFTY3JpcHRDb3JlIUpTQzo6SlNT
Y29wZTo6cmVzb2x2ZUNvbnRhaW5pbmdTY29wZTwxPihjbGFzcyBKU0M6OkV4ZWNTdGF0ZSAqIGNh
bGxGcmFtZSA9IDB4MDc1MWUxNjgsIGNsYXNzIEpTQzo6SWRlbnRpZmllciAqIGlkZW50aWZpZXIg
PSAweDdmZTBlYmMwLCBjbGFzcyBKU0M6OlByb3BlcnR5U2xvdCAqIHNsb3QgPSAweDAwMDkzMGJj
LCBjbGFzcyBXVEY6OlZlY3RvcjxKU0M6OlJlc29sdmVPcGVyYXRpb24sMCxXVEY6OkNyYXNoT25P
dmVyZmxvdz4gKiBvcGVyYXRpb25zID0gMHg3ZmRhMTZjMCwgc3RydWN0IEpTQzo6UHV0VG9CYXNl
T3BlcmF0aW9uICogcHV0VG9CYXNlT3BlcmF0aW9uID0gMHgwMDAwMDAwMCwgYm9vbCBpc1N0cmlj
dCA9IGZhbHNlKSsweDI3IFtjOlxccHJvamVjdHNcXHdlYmtpdFxcb3BlbnNvdXJjZVxcc291cmNl
XFxqYXZhc2NyaXB0Y29yZVxydW50aW1lXFxqc3Njb3BlLmNwcCBAIDQyN10KKzExIDAwMDkzMTA0
IDAxZGNlZWZmIEphdmFTY3JpcHRDb3JlIUpTQzo6SlNTY29wZTo6cmVzb2x2ZShjbGFzcyBKU0M6
OkV4ZWNTdGF0ZSAqIGNhbGxGcmFtZSA9IDB4MDc1MWUxNjgsIGNsYXNzIEpTQzo6SWRlbnRpZmll
ciAqIGlkZW50aWZpZXIgPSAweDdmZTBlYmMwLCBjbGFzcyBXVEY6OlZlY3RvcjxKU0M6OlJlc29s
dmVPcGVyYXRpb24sMCxXVEY6OkNyYXNoT25PdmVyZmxvdz4gKiBvcGVyYXRpb25zID0gMHg3ZmRh
MTZjMCkrMHhjMCBbYzpcXHByb2plY3RzXFx3ZWJraXRcXG9wZW5zb3VyY2VcXHNvdXJjZVxcamF2
YXNjcmlwdGNvcmVccnVudGltZVxcanNzY29wZS5jcHAgQCA0NDddCiAKIDA6MDAwPiBxCiBxdWl0
OgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL3BsYXRm
b3JtaW5mby5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3N5c3RlbS9wbGF0Zm9y
bWluZm8ucHkKaW5kZXggMjlkYTZhMWE5YWIyMThiNTliMjkyOGIzMmNlMWNkNjg4ZTk0ZWM0OS4u
OWNkZTJkOGJkZmQ0OTcyZDZlZTg5Y2ZjMTRhMDZiNjEzZmRlZmRhNyAxMDA2NDQKLS0tIGEvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL3BsYXRmb3JtaW5mby5weQorKysgYi9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0ZW0vcGxhdGZvcm1pbmZvLnB5CkBAIC0y
MTMsNyArMjEzLDcgQEAgY2xhc3MgUGxhdGZvcm1JbmZvKG9iamVjdCk6CiAgICAgICAgIGlmIG5v
dCBzZWxmLnhjb2RlX3Nka192ZXJzaW9uKCdtYWNvc3gnKToKICAgICAgICAgICAgIHJldHVybiBb
XQogCi0gICAgICAgIFhDT0RFX1NES19SRUdFWCA9IHJlLmNvbXBpbGUoJ1wtc2RrICg/UDxzZGs+
XEQrKVxkK1wuXGQrKD9QPHNwZWNpZmllcj5cRCopJykKKyAgICAgICAgWENPREVfU0RLX1JFR0VY
ID0gcmUuY29tcGlsZShyJ1wtc2RrICg/UDxzZGs+XEQrKVxkK1wuXGQrKD9QPHNwZWNpZmllcj5c
RCopJykKICAgICAgICAgb3V0cHV0ID0gc2VsZi5fZXhlY3V0aXZlLnJ1bl9jb21tYW5kKFsneGNv
ZGVidWlsZCcsICctc2hvd3Nka3MnXSwgcmV0dXJuX3N0ZGVycj1GYWxzZSkKIAogICAgICAgICBz
ZGtzID0gbGlzdCgpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9z
eXN0ZW0vdXNlci5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3N5c3RlbS91c2Vy
LnB5CmluZGV4IDE0N2MxMDM1NTc0NzU1OTExMzMzMWExYjgyNjllYTI3NjRmODg1ZDcuLjY1NDA4
NzI5MmY0NDFjYmE4MTQxMmVkYjI5MjY3YWQyMTY5YTIzNmQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvY29tbW9uL3N5c3RlbS91c2VyLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvY29tbW9uL3N5c3RlbS91c2VyLnB5CkBAIC0xMDEsNyArMTAxLDcgQEAgY2xhc3Mg
VXNlcihvYmplY3QpOgogCiAgICAgICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgICAg
ICBpbmRpY2VzID0gW10KLSAgICAgICAgICAgICAgICAgICAgZm9yIHZhbHVlIGluIHJlLnNwbGl0
KCJccyosXHMqIiwgcmVzcG9uc2UpOgorICAgICAgICAgICAgICAgICAgICBmb3IgdmFsdWUgaW4g
cmUuc3BsaXQociJccyosXHMqIiwgcmVzcG9uc2UpOgogICAgICAgICAgICAgICAgICAgICAgICAg
cGFydHMgPSB2YWx1ZS5zcGxpdCgnLScpCiAgICAgICAgICAgICAgICAgICAgICAgICBpZiBsZW4o
cGFydHMpID09IDI6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5kaWNlcyArPSByYW5n
ZShpbnQocGFydHNbMF0pIC0gMSwgaW50KHBhcnRzWzFdKSkKZGlmZiAtLWdpdCBhL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvY29tbW9uL3dhdGNobGlzdC93YXRjaGxpc3RwYXJzZXIucHkgYi9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi93YXRjaGxpc3Qvd2F0Y2hsaXN0cGFyc2VyLnB5Cmlu
ZGV4IDM2NjYzM2M4MjAyMTU5YTRhNzZlMjE0MGFlYjk4MmUyZDVkZDI3ZTQuLjNjZWUzOGIzYTAz
NGM5NGNmNWFmOTdjMzQ0MWQ5MDQzNDAzNGY0NTQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvY29tbW9uL3dhdGNobGlzdC93YXRjaGxpc3RwYXJzZXIucHkKKysrIGIvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9jb21tb24vd2F0Y2hsaXN0L3dhdGNobGlzdHBhcnNlci5weQpAQCAt
MTc3LDYgKzE3Nyw2IEBAIGNsYXNzIFdhdGNoTGlzdFBhcnNlcihvYmplY3QpOgogICAgIGRlZiBf
cnVsZV9kZWZpbml0aW9uc19hc19zZXQoc2VsZiwgcnVsZXMpOgogICAgICAgICBkZWZpbml0aW9u
X3NldCA9IHNldCgpCiAgICAgICAgIGZvciBydWxlIGluIHJ1bGVzOgotICAgICAgICAgICAgZGVm
aW5pdGlvbnNfaW5zaWRlX3J1bGUgPSByZS5zcGxpdCgnJnxcfCcsIHJ1bGUuZGVmaW5pdGlvbnNf
dG9fbWF0Y2gucmVwbGFjZSgnIScsICcnKSkKKyAgICAgICAgICAgIGRlZmluaXRpb25zX2luc2lk
ZV9ydWxlID0gcmUuc3BsaXQocicmfFx8JywgcnVsZS5kZWZpbml0aW9uc190b19tYXRjaC5yZXBs
YWNlKCchJywgJycpKQogICAgICAgICAgICAgZGVmaW5pdGlvbl9zZXQgPSBkZWZpbml0aW9uX3Nl
dC51bmlvbihkZWZpbml0aW9uc19pbnNpZGVfcnVsZSkKICAgICAgICAgcmV0dXJuIGRlZmluaXRp
b25fc2V0CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9t
b2RlbHMvdGVzdF9leHBlY3RhdGlvbnMucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91
dF90ZXN0cy9tb2RlbHMvdGVzdF9leHBlY3RhdGlvbnMucHkKaW5kZXggNWMyNTAxMTI1NjBmNzk5
YmU1NzkzZGNjZTE2MGQ2OWRhNWFmOTk2Zi4uMGZjNTUxYWEzYWI4ZWE0M2U5Mzg5ZDZjNTM2OTdi
ZmIwYTkwOTllZiAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVz
dHMvbW9kZWxzL3Rlc3RfZXhwZWN0YXRpb25zLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvbGF5b3V0X3Rlc3RzL21vZGVscy90ZXN0X2V4cGVjdGF0aW9ucy5weQpAQCAtMTA1LDcgKzEw
NSw3IEBAIGNsYXNzIFRlc3RFeHBlY3RhdGlvblBhcnNlcihvYmplY3QpOgogICAgICIiIlByb3Zp
ZGVzIHBhcnNpbmcgZmFjaWxpdGllcyBmb3IgbGluZXMgaW4gdGhlIHRlc3RfZXhwZWN0YXRpb24u
dHh0IGZpbGUuIiIiCiAKICAgICBCVUdfTU9ESUZJRVJfUFJFRklYID0gJ2J1ZycKLSAgICBCVUdf
TU9ESUZJRVJfUkVHRVggPSAnYnVnXGQrJworICAgIEJVR19NT0RJRklFUl9SRUdFWCA9IHInYnVn
XGQrJwogICAgIFJFQkFTRUxJTkVfTU9ESUZJRVIgPSAncmViYXNlbGluZScKICAgICBQQVNTX0VY
UEVDVEFUSU9OID0gJ3Bhc3MnCiAgICAgU0tJUF9NT0RJRklFUiA9ICdza2lwJwpAQCAtMTk4LDcg
KzE5OCw3IEBAIGNsYXNzIFRlc3RFeHBlY3RhdGlvblBhcnNlcihvYmplY3QpOgogICAgICAgICAg
ICAgZWxpZiBtb2RpZmllci5zdGFydHN3aXRoKHNlbGYuQlVHX01PRElGSUVSX1BSRUZJWCk6CiAg
ICAgICAgICAgICAgICAgaGFzX2J1Z2lkID0gVHJ1ZQogICAgICAgICAgICAgICAgIGlmIHJlLm1h
dGNoKHNlbGYuQlVHX01PRElGSUVSX1JFR0VYLCBtb2RpZmllcik6Ci0gICAgICAgICAgICAgICAg
ICAgIGV4cGVjdGF0aW9uX2xpbmUud2FybmluZ3MuYXBwZW5kKCdCVUdcZCsgaXMgbm90IGFsbG93
ZWQsIG11c3QgYmUgb25lIG9mIEJVR1dLXGQrLCBvciBhIG5vbi1udW1lcmljIGJ1ZyBpZGVudGlm
aWVyLicpCisgICAgICAgICAgICAgICAgICAgIGV4cGVjdGF0aW9uX2xpbmUud2FybmluZ3MuYXBw
ZW5kKHInQlVHXGQrIGlzIG5vdCBhbGxvd2VkLCBtdXN0IGJlIG9uZSBvZiBCVUdXS1xkKywgb3Ig
YSBub24tbnVtZXJpYyBidWcgaWRlbnRpZmllci4nKQogICAgICAgICAgICAgICAgIGVsc2U6CiAg
ICAgICAgICAgICAgICAgICAgIGV4cGVjdGF0aW9uX2xpbmUucGFyc2VkX2J1Z19tb2RpZmllcnMu
YXBwZW5kKG1vZGlmaWVyKQogICAgICAgICAgICAgZWxzZToKQEAgLTM0NCw3ICszNDQsNyBAQCBj
bGFzcyBUZXN0RXhwZWN0YXRpb25QYXJzZXIob2JqZWN0KToKICAgICAgICAgICAgICAgICBpZiB0
b2tlbi5zdGFydHN3aXRoKFdFQktJVF9CVUdfUFJFRklYKToKICAgICAgICAgICAgICAgICAgICAg
YnVncy5hcHBlbmQodG9rZW4ucmVwbGFjZShXRUJLSVRfQlVHX1BSRUZJWCwgJ0JVR1dLJykpCiAg
ICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgbWF0Y2ggPSByZS5tYXRj
aCgnQnVnXCgoXHcrKVwpJCcsIHRva2VuKQorICAgICAgICAgICAgICAgICAgICBtYXRjaCA9IHJl
Lm1hdGNoKHInQnVnXCgoXHcrKVwpJCcsIHRva2VuKQogICAgICAgICAgICAgICAgICAgICBpZiBu
b3QgbWF0Y2g6CiAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5ncy5hcHBlbmQoJ3VucmVj
b2duaXplZCBidWcgaWRlbnRpZmllciAiJXMiJyAlIHRva2VuKQogICAgICAgICAgICAgICAgICAg
ICAgICAgYnJlYWsKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcGVyZm9ybWFu
Y2VfdGVzdHMvcGVyZnRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BlcmZvcm1hbmNl
X3Rlc3RzL3BlcmZ0ZXN0LnB5CmluZGV4IDhkOGFlMzlhNDMzMjgyMzA1NzMwM2NlZTI2ZDNiMzJh
MjRjNDY4MWMuLmU5NzZiYjEzNjQ5NTQ0ODU3M2EzZDA2YWZkZTM5MzVkOTA3YmEzMzcgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcGVyZm9ybWFuY2VfdGVzdHMvcGVyZnRlc3Qu
cHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wZXJmb3JtYW5jZV90ZXN0cy9wZXJmdGVz
dC5weQpAQCAtMjQxLDEwICsyNDEsMTAgQEAgY2xhc3MgUGVyZlRlc3Qob2JqZWN0KToKICAgICAg
ICAgcmV0dXJuICdcbicuam9pbihmaWx0ZXJlZF9saW5lcykKIAogICAgIF9saW5lc190b19pZ25v
cmUgPSBbCi0gICAgICAgIHJlLmNvbXBpbGUoIl5ccyskIiksCisgICAgICAgIHJlLmNvbXBpbGUo
ciJeXHMrJCIpLAogICAgICAgICAjIEZvbGxvd2luZyBhcmUgZm9yIGhhbmRsZSBleGlzdGluZyB0
ZXN0IGxpa2UgRHJvbWFlbwogICAgICAgICByZS5jb21waWxlKHJlLmVzY2FwZSgiIiJtYWluIGZy
YW1lIC0gaGFzIDEgb251bmxvYWQgaGFuZGxlcihzKSIiIikpLAotICAgICAgICByZS5jb21waWxl
KCdmcmFtZSBcIlteIl0rXCIgLSBoYXMgXGQrIG9udW5sb2FkIGhhbmRsZXJcKHNcKScpLAorICAg
ICAgICByZS5jb21waWxlKCdmcmFtZSBcIlteIl0rXCIgLSBoYXMgXFxkKyBvbnVubG9hZCBoYW5k
bGVyXFwoc1xcKScpLAogICAgICAgICAjIEZvbGxvd2luZyBpcyBmb3IgaHRtbDUuaHRtbAogICAg
ICAgICByZS5jb21waWxlKHJlLmVzY2FwZSgiIiJCbG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBV
UkwgaHR0cDovL3d3dy53aGF0d2cub3JnL3NwZWNzL3dlYi1hcHBzL2N1cnJlbnQtd29yay8iIiIp
KSwKICAgICAgICAgcmUuY29tcGlsZShyIkNPTlNPTEUgTUVTU0FHRTogKGxpbmUgXGQrOiApP0Js
b2NrZWQgc2NyaXB0IGV4ZWN1dGlvbiBpbiAnW0EtWmEtejAtOVwtXC46XSsnIGJlY2F1c2UgdGhl
IGRvY3VtZW50J3MgZnJhbWUgaXMgc2FuZGJveGVkIGFuZCB0aGUgJ2FsbG93LXNjcmlwdHMnIHBl
cm1pc3Npb24gaXMgbm90IHNldC4iKSwKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvcG9ydC9iYXNlLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2Jhc2UucHkKaW5k
ZXggYzAwZDc3YTY4MWM0NmIyN2E3ZDAyNDc4MTlmODc1MzE1NzY5MTlmOC4uZDZhYmZlOGY2MWZm
MWFiYTRhYjlhN2I1MDhjMjA2YzE0OGRmYjE5MCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9wb3J0L2Jhc2UucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2Jh
c2UucHkKQEAgLTU1MCw3ICs1NTAsNyBAQCBjbGFzcyBQb3J0KG9iamVjdCk6CiAgICAgICAgICAg
ICBleGNlcHQgVmFsdWVFcnJvcjoKICAgICAgICAgICAgICAgICByZXR1cm4gdmFsCiAKLSAgICAg
ICAgcmV0dXJuIFt0cnlpbnQoY2h1bmspIGZvciBjaHVuayBpbiByZS5zcGxpdCgnKFxkKyknLCBz
dHJpbmdfdG9fc3BsaXQpXQorICAgICAgICByZXR1cm4gW3RyeWludChjaHVuaykgZm9yIGNodW5r
IGluIHJlLnNwbGl0KHInKFxkKyknLCBzdHJpbmdfdG9fc3BsaXQpXQogCiAgICAgZGVmIHRlc3Rf
ZGlycyhzZWxmKToKICAgICAgICAgIiIiUmV0dXJucyB0aGUgbGlzdCBvZiB0b3AtbGV2ZWwgdGVz
dCBkaXJlY3Rvcmllcy4iIiIKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9y
dC9kcml2ZXIucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvZHJpdmVyLnB5CmluZGV4
IDQ1NDJkZjVkN2QzOTdjYTZkYmJjZmEzNTdjNmY3M2Y3YmFhOTc1ZjguLjc1NWUyODhkZWJhOTc5
Y2ZkN2VhYWMxOWNlYTg2MzcwMTY1YzVmYWQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvcG9ydC9kcml2ZXIucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2Ry
aXZlci5weQpAQCAtNjMsNyArNjMsNyBAQCBjbGFzcyBEcml2ZXJPdXRwdXQob2JqZWN0KToKICAg
ICBhbmQgcG9zdC1wcm9jZXNzaW5nIG9mIGRhdGEuIiIiCiAKICAgICBtZXRyaWNzX3BhdHRlcm5z
ID0gW10KLSAgICBtZXRyaWNzX3BhdHRlcm5zLmFwcGVuZCgocmUuY29tcGlsZSgnYXQgXCgtP1sw
LTldKywtP1swLTldK1wpIConKSwgJycpKQorICAgIG1ldHJpY3NfcGF0dGVybnMuYXBwZW5kKChy
ZS5jb21waWxlKHInYXQgXCgtP1swLTldKywtP1swLTldK1wpIConKSwgJycpKQogICAgIG1ldHJp
Y3NfcGF0dGVybnMuYXBwZW5kKChyZS5jb21waWxlKCdzaXplIC0/WzAtOV0reC0/WzAtOV0rICon
KSwgJycpKQogICAgIG1ldHJpY3NfcGF0dGVybnMuYXBwZW5kKChyZS5jb21waWxlKCd0ZXh0IHJ1
biB3aWR0aCAtP1swLTldKzogJyksICcnKSkKICAgICBtZXRyaWNzX3BhdHRlcm5zLmFwcGVuZCgo
cmUuY29tcGlsZSgndGV4dCBydW4gd2lkdGggLT9bMC05XSsgW2EtekEtWiBdKzogJyksICcnKSkK
QEAgLTcxLDEyICs3MSwxMiBAQCBjbGFzcyBEcml2ZXJPdXRwdXQob2JqZWN0KToKICAgICBtZXRy
aWNzX3BhdHRlcm5zLmFwcGVuZCgocmUuY29tcGlsZSgnUmVuZGVySW1hZ2Uge0lOUFVUfSAuKicp
LCAnUmVuZGVySW1hZ2Uge0lOUFVUfScpKQogICAgIG1ldHJpY3NfcGF0dGVybnMuYXBwZW5kKChy
ZS5jb21waWxlKCdSZW5kZXJCbG9jayB7SU5QVVR9IC4qJyksICdSZW5kZXJCbG9jayB7SU5QVVR9
JykpCiAgICAgbWV0cmljc19wYXR0ZXJucy5hcHBlbmQoKHJlLmNvbXBpbGUoJ1JlbmRlclRleHRD
b250cm9sIHtJTlBVVH0gLionKSwgJ1JlbmRlclRleHRDb250cm9sIHtJTlBVVH0nKSkKLSAgICBt
ZXRyaWNzX3BhdHRlcm5zLmFwcGVuZCgocmUuY29tcGlsZSgnXChbMC05XStweCcpLCAncHgnKSkK
KyAgICBtZXRyaWNzX3BhdHRlcm5zLmFwcGVuZCgocmUuY29tcGlsZShyJ1woWzAtOV0rcHgnKSwg
J3B4JykpCiAgICAgbWV0cmljc19wYXR0ZXJucy5hcHBlbmQoKHJlLmNvbXBpbGUoJyAqIiAqXG4g
KyIgKicpLCAnICcpKQogICAgIG1ldHJpY3NfcGF0dGVybnMuYXBwZW5kKChyZS5jb21waWxlKCci
ICskJyksICciJykpCiAgICAgbWV0cmljc19wYXR0ZXJucy5hcHBlbmQoKHJlLmNvbXBpbGUoJy0g
JyksICctJykpCi0gICAgbWV0cmljc19wYXR0ZXJucy5hcHBlbmQoKHJlLmNvbXBpbGUoJ1xuKCAq
KSJccysnKSwgJ1xuXGc8MT4iJykpCi0gICAgbWV0cmljc19wYXR0ZXJucy5hcHBlbmQoKHJlLmNv
bXBpbGUoJ1xzKyJcbicpLCAnIlxuJykpCisgICAgbWV0cmljc19wYXR0ZXJucy5hcHBlbmQoKHJl
LmNvbXBpbGUoJ1xuKCAqKSJcXHMrJyksICdcblxcZzwxPiInKSkKKyAgICBtZXRyaWNzX3BhdHRl
cm5zLmFwcGVuZCgocmUuY29tcGlsZSgnXFxzKyJcbicpLCAnIlxuJykpCiAgICAgbWV0cmljc19w
YXR0ZXJucy5hcHBlbmQoKHJlLmNvbXBpbGUoJ3Njcm9sbFdpZHRoIFswLTldKycpLCAnc2Nyb2xs
V2lkdGgnKSkKICAgICBtZXRyaWNzX3BhdHRlcm5zLmFwcGVuZCgocmUuY29tcGlsZSgnc2Nyb2xs
SGVpZ2h0IFswLTldKycpLCAnc2Nyb2xsSGVpZ2h0JykpCiAgICAgbWV0cmljc19wYXR0ZXJucy5h
cHBlbmQoKHJlLmNvbXBpbGUoJ3Njcm9sbFggWzAtOV0rJyksICdzY3JvbGxYJykpCkBAIC01NTEs
OSArNTUxLDkgQEAgY2xhc3MgRHJpdmVyKG9iamVjdCk6CiAKICAgICBkZWYgX2NoZWNrX2Zvcl9k
cml2ZXJfdGltZW91dChzZWxmLCBvdXRfbGluZSk6CiAgICAgICAgIGlmIG91dF9saW5lLnN0YXJ0
c3dpdGgoYiIjUElEIFVOUkVTUE9OU0lWRSAtICIpOgotICAgICAgICAgICAgbWF0Y2ggPSByZS5t
YXRjaChiJyNQSUQgVU5SRVNQT05TSVZFIC0gKFxTKyknLCBvdXRfbGluZSkKKyAgICAgICAgICAg
IG1hdGNoID0gcmUubWF0Y2goYnInI1BJRCBVTlJFU1BPTlNJVkUgLSAoXFMrKScsIG91dF9saW5l
KQogICAgICAgICAgICAgY2hpbGRfcHJvY2Vzc19uYW1lID0gc3RyaW5nX3V0aWxzLmRlY29kZSht
YXRjaC5ncm91cCgxKSwgdGFyZ2V0X3R5cGU9c3RyKSBpZiBtYXRjaCBlbHNlICdXZWJQcm9jZXNz
JwotICAgICAgICAgICAgbWF0Y2ggPSByZS5zZWFyY2goYidwaWQgKFxkKyknLCBvdXRfbGluZSkK
KyAgICAgICAgICAgIG1hdGNoID0gcmUuc2VhcmNoKGJyJ3BpZCAoXGQrKScsIG91dF9saW5lKQog
ICAgICAgICAgICAgY2hpbGRfcHJvY2Vzc19waWQgPSBpbnQobWF0Y2guZ3JvdXAoMSkpIGlmIG1h
dGNoIGVsc2UgTm9uZQogICAgICAgICAgICAgZXJyX2xpbmUgPSAnV2FpdCBvbiBub3RpZnlEb25l
IHRpbWVkIG91dCwgcHJvY2VzcyAnICsgY2hpbGRfcHJvY2Vzc19uYW1lICsgJyBwaWQgPSAnICsg
c3RyKGNoaWxkX3Byb2Nlc3NfcGlkKQogICAgICAgICAgICAgc2VsZi5lcnJvcl9mcm9tX3Rlc3Qg
Kz0gZXJyX2xpbmUKQEAgLTU3NCwxNiArNTc0LDE2IEBAIGNsYXNzIERyaXZlcihvYmplY3QpOgog
ICAgICAgICAgICAgc2VsZi5fY3Jhc2hlZF9waWQgPSBzZWxmLl9zZXJ2ZXJfcHJvY2Vzcy5zeXN0
ZW1fcGlkKCkKICAgICAgICAgICAgIHJldHVybiBUcnVlCiAgICAgICAgIGVsaWYgZXJyb3JfbGlu
ZS5zdGFydHN3aXRoKGIiI0NSQVNIRUQgLSAiKToKLSAgICAgICAgICAgIG1hdGNoID0gcmUubWF0
Y2goYicjQ1JBU0hFRCAtIChcUyspJywgZXJyb3JfbGluZSkKKyAgICAgICAgICAgIG1hdGNoID0g
cmUubWF0Y2goYnInI0NSQVNIRUQgLSAoXFMrKScsIGVycm9yX2xpbmUpCiAgICAgICAgICAgICBz
ZWxmLl9jcmFzaGVkX3Byb2Nlc3NfbmFtZSA9IHN0cmluZ191dGlscy5kZWNvZGUobWF0Y2guZ3Jv
dXAoMSksIHRhcmdldF90eXBlPXN0cikgaWYgbWF0Y2ggZWxzZSAnV2ViUHJvY2VzcycKLSAgICAg
ICAgICAgIG1hdGNoID0gcmUuc2VhcmNoKGIncGlkIChcZCspJywgZXJyb3JfbGluZSkKKyAgICAg
ICAgICAgIG1hdGNoID0gcmUuc2VhcmNoKGJyJ3BpZCAoXGQrKScsIGVycm9yX2xpbmUpCiAgICAg
ICAgICAgICBzZWxmLl9jcmFzaGVkX3BpZCA9IGludChtYXRjaC5ncm91cCgxKSkgaWYgbWF0Y2gg
ZWxzZSBOb25lCiAgICAgICAgICAgICBfbG9nLmRlYnVnKCclcyBjcmFzaCwgcGlkID0gJXMnICUg
KHNlbGYuX2NyYXNoZWRfcHJvY2Vzc19uYW1lLCBzdHIoc2VsZi5fY3Jhc2hlZF9waWQpKSkKICAg
ICAgICAgICAgIHJldHVybiBUcnVlCiAgICAgICAgIGVsaWYgZXJyb3JfbGluZS5zdGFydHN3aXRo
KGIiI1BST0NFU1MgVU5SRVNQT05TSVZFIC0gIik6Ci0gICAgICAgICAgICBtYXRjaCA9IHJlLm1h
dGNoKGInI1BST0NFU1MgVU5SRVNQT05TSVZFIC0gKFxTKyknLCBlcnJvcl9saW5lKQorICAgICAg
ICAgICAgbWF0Y2ggPSByZS5tYXRjaChicicjUFJPQ0VTUyBVTlJFU1BPTlNJVkUgLSAoXFMrKScs
IGVycm9yX2xpbmUpCiAgICAgICAgICAgICBjaGlsZF9wcm9jZXNzX25hbWUgPSBzdHJpbmdfdXRp
bHMuZGVjb2RlKG1hdGNoLmdyb3VwKDEpLCB0YXJnZXRfdHlwZT1zdHIpIGlmIG1hdGNoIGVsc2Ug
J1dlYlByb2Nlc3MnCi0gICAgICAgICAgICBtYXRjaCA9IHJlLnNlYXJjaChiJ3BpZCAoXGQrKScs
IGVycm9yX2xpbmUpCisgICAgICAgICAgICBtYXRjaCA9IHJlLnNlYXJjaChicidwaWQgKFxkKykn
LCBlcnJvcl9saW5lKQogICAgICAgICAgICAgY2hpbGRfcHJvY2Vzc19waWQgPSBpbnQobWF0Y2gu
Z3JvdXAoMSkpIGlmIG1hdGNoIGVsc2UgTm9uZQogICAgICAgICAgICAgX2xvZy5kZWJ1ZygnJXMg
aXMgdW5yZXNwb25zaXZlLCBwaWQgPSAlcycgJSAoY2hpbGRfcHJvY2Vzc19uYW1lLCBzdHIoY2hp
bGRfcHJvY2Vzc19waWQpKSkKICAgICAgICAgICAgIHNlbGYuX2RyaXZlcl90aW1lZF9vdXQgPSBU
cnVlCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvaW1hZ2VfZGlmZi5w
eSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9pbWFnZV9kaWZmLnB5CmluZGV4IDdjYWNk
MTUxZjRmNmJmNWQzYTUyZTk2NGRhZmQ1NmI5YmUzYmE5N2IuLjAwMjE4NmMzOGEwZWQ5Y2JiZGUx
NTU4OWFlZDliZjQ3ODBiZjE2OGEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
cG9ydC9pbWFnZV9kaWZmLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9pbWFn
ZV9kaWZmLnB5CkBAIC05MCw3ICs5MCw3IEBAIGNsYXNzIEltYWdlRGlmZmVyKG9iamVjdCk6CiAg
ICAgICAgICAgICAgICAgYnJlYWsKIAogICAgICAgICAgICAgaWYgb3V0cHV0LnN0YXJ0c3dpdGgo
YidDb250ZW50LUxlbmd0aCcpOgotICAgICAgICAgICAgICAgIG0gPSByZS5tYXRjaChiJ0NvbnRl
bnQtTGVuZ3RoOiAoXGQrKScsIG91dHB1dCkKKyAgICAgICAgICAgICAgICBtID0gcmUubWF0Y2go
YnInQ29udGVudC1MZW5ndGg6IChcZCspJywgb3V0cHV0KQogICAgICAgICAgICAgICAgIGNvbnRl
bnRfbGVuZ3RoID0gaW50KHN0cmluZ191dGlscy5kZWNvZGUobS5ncm91cCgxKSwgdGFyZ2V0X3R5
cGU9c3RyKSkKICAgICAgICAgICAgICAgICBvdXRwdXRfaW1hZ2UgPSBzZWxmLl9wcm9jZXNzLnJl
YWRfc3Rkb3V0KGRlYWRsaW5lLCBjb250ZW50X2xlbmd0aCkKICAgICAgICAgICAgICAgICBvdXRw
dXQgPSBzZWxmLl9wcm9jZXNzLnJlYWRfc3Rkb3V0X2xpbmUoZGVhZGxpbmUpCmRpZmYgLS1naXQg
YS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvd2luLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9wb3J0L3dpbi5weQppbmRleCAwZTRlYTg3OGU3NzA2MTI3NGM2ZWU3NjJmYzI5YmI3MmQ0
OWY4NmQ2Li5jNTAyNWRmMTdjMTk1NjA0M2ZjNDc5OTNiMjg1ZTQ4ZmUxOTdiMmY4IDEwMDY0NAot
LS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvd2luLnB5CisrKyBiL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvcG9ydC93aW4ucHkKQEAgLTI4Myw3ICsyODMsNyBAQCBjbGFzcyBXaW5Qb3J0
KEFwcGxlUG9ydCk6CiAgICAgICAgICAgICAgICAgICAgIF9sb2cuZGVidWcoIktleSBkb2Vzbid0
IGV4aXN0IC0tIG11c3QgY3JlYXRlIGl0LiIpCiAgICAgICAgICAgICAgICAgICAgIHJlZ2lzdHJ5
X2tleSA9IF93aW5yZWcuQ3JlYXRlS2V5RXgocm9vdCwgcmVnX3BhdGgsIDAsIF93aW5yZWcuS0VZ
X1dSSVRFKQogICAgICAgICAgICAgICAgIGV4Y2VwdCBXaW5kb3dzRXJyb3IgYXMgZXg6Ci0gICAg
ICAgICAgICAgICAgICAgIF9sb2cuZXJyb3IoIkVycm9yIHNldHRpbmcgKCVzKSAlc1xrZXk6ICVz
IHRvIHZhbHVlOiAlcy4gIEVycm9yPSVzLiIgJSAoYXJjaCwgcm9vdCwga2V5LCB2YWx1ZSwgc3Ry
KGV4KSkpCisgICAgICAgICAgICAgICAgICAgIF9sb2cuZXJyb3IociJFcnJvciBzZXR0aW5nICgl
cykgJXNca2V5OiAlcyB0byB2YWx1ZTogJXMuICBFcnJvcj0lcy4iICUgKGFyY2gsIHJvb3QsIGtl
eSwgdmFsdWUsIHN0cihleCkpKQogICAgICAgICAgICAgICAgICAgICBfbG9nLmVycm9yKCJZb3Ug
bWFueSBuZWVkIHRvIGFkanVzdCBwZXJtaXNzaW9ucyBvbiB0aGUgJXNcXCVzIGtleS4iICUgKHJl
Z19wYXRoLCBrZXkpKQogICAgICAgICAgICAgICAgICAgICByZXR1cm4gRmFsc2UKIApAQCAtMzAy
LDcgKzMwMiw3IEBAIGNsYXNzIFdpblBvcnQoQXBwbGVQb3J0KToKICAgICAgICAgICAgICAgICBp
ZiByYyA9PSAwOgogICAgICAgICAgICAgICAgICAgICByYyA9IHNlbGYuX2V4ZWN1dGl2ZS5ydW5f
Y29tbWFuZChzZXRfcmVnX3ZhbHVlX2NvbW1hbmQsIHJldHVybl9leGl0X2NvZGU9VHJ1ZSkKICAg
ICAgICAgICAgIGlmIHJjOgotICAgICAgICAgICAgICAgIF9sb2cud2FybigiRXJyb3Igc2V0dGlu
ZyAoJXMpICVzXGtleTogJXMgdG8gdmFsdWU6ICVzLiAgRXJyb3I9JXMuIiAlIChhcmNoLCByb290
LCBrZXksIHZhbHVlLCBzdHIocmMpKSkKKyAgICAgICAgICAgICAgICBfbG9nLndhcm4ociJFcnJv
ciBzZXR0aW5nICglcykgJXNca2V5OiAlcyB0byB2YWx1ZTogJXMuICBFcnJvcj0lcy4iICUgKGFy
Y2gsIHJvb3QsIGtleSwgdmFsdWUsIHN0cihyYykpKQogICAgICAgICAgICAgICAgIF9sb2cud2Fy
bigiWW91IG1hbnkgbmVlZCB0byBhZGp1c3QgcGVybWlzc2lvbnMgb24gdGhlICVzIGtleS4iICUg
cmVnaXN0cnlfa2V5KQogICAgICAgICAgICAgICAgIHJldHVybiBGYWxzZQogCmRpZmYgLS1naXQg
YS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3B5dGVzdC5pbmkgYi9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L3B5dGVzdC5pbmkKaW5kZXggNGU2YzU1NDI5YzUwNTFhMWI3N2ZmY2RiZDE2MjRjODU5YmNj
OTYzMy4uNTI2ZGU0OTRjNDNhMzc0NWJmNGEwMzk1ZTgzYmRhYWZmYTgwOTlkNyAxMDA2NDQKLS0t
IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9weXRlc3QuaW5pCisrKyBiL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvcHl0ZXN0LmluaQpAQCAtNCw3ICs0LDYgQEAgeGZhaWxfc3RyaWN0PXRydWUKIGFk
ZG9wdHMgPSAtcmZFWCAtLXN0cmljdC1tYXJrZXJzCiAKIGZpbHRlcndhcm5pbmdzID0KLSAgICBp
Z25vcmU6aW52YWxpZCBlc2NhcGUgc2VxdWVuY2UuKjpEZXByZWNhdGlvbldhcm5pbmcKICAgICBp
Z25vcmU6UGxlYXNlIHVzZSBhc3NlcnQuKiBpbnN0ZWFkLjpEZXByZWNhdGlvbldhcm5pbmcKICAg
ICBpZ25vcmU6VGhlICd3YXJuJyBtZXRob2QgaXMgZGVwcmVjYXRlZCwgdXNlICd3YXJuaW5nJyBp
bnN0ZWFkOkRlcHJlY2F0aW9uV2FybmluZwogICAgIGlnbm9yZTpjYW5ub3QgY29sbGVjdCB0ZXN0
IGNsYXNzICdUZXN0W14nXSonIGJlY2F1c2UgaXQgaGFzIGEgX19pbml0X18gY29uc3RydWN0b3I6
cHl0ZXN0LlB5dGVzdENvbGxlY3Rpb25XYXJuaW5nCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L3N0eWxlL2NoZWNrZXIucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxl
L2NoZWNrZXIucHkKaW5kZXggZmRhOGIwZjIzMzUxODUyNzA1OTAxZTkwN2JiNzMwODUwYzZmMzI2
NC4uNzEwZjk4ODc1OWNiYTI5NmM0MDRlZmRjNjQzMjEzOWIyOGY5ZTQxMSAxMDA2NDQKLS0tIGEv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2VyLnB5CisrKyBiL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlci5weQpAQCAtNjE0LDcgKzYxNCw3IEBAIGNsYXNzIENo
ZWNrZXJEaXNwYXRjaGVyKG9iamVjdCk6CiAgICAgICAgIHJldHVybiBvcy5wYXRoLnNwbGl0ZXh0
KGZpbGVfcGF0aClbMV0ubHN0cmlwKCIuIikKIAogICAgIGRlZiBfc2hvdWxkX3NraXBfZmlsZV9w
YXRoKHNlbGYsIGZpbGVfcGF0aCwgc2tpcF9hcnJheV9lbnRyeSk6Ci0gICAgICAgIG1hdGNoID0g
cmUuc2VhcmNoKCJccypwbmckIiwgZmlsZV9wYXRoKQorICAgICAgICBtYXRjaCA9IHJlLnNlYXJj
aChyIlxzKnBuZyQiLCBmaWxlX3BhdGgpCiAgICAgICAgIGlmIG1hdGNoOgogICAgICAgICAgICAg
cmV0dXJuIEZhbHNlCiAgICAgICAgIGlmIGlzaW5zdGFuY2Uoc2tpcF9hcnJheV9lbnRyeSwgc3Ry
KToKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcnMvY2hh
bmdlbG9nLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2Vycy9jaGFuZ2Vs
b2cucHkKaW5kZXggN2Y5ODAyMWUwZjA4YjViNTJiOTJlYjA5ZmQ5NGY4NTdkMTljYTdhMC4uZTA0
ZWVkYWViNDk3NjAzMTg0Zjg1OWJhMDMxODNhN2FiOTQ1NmE4ZiAxMDA2NDQKLS0tIGEvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2Vycy9jaGFuZ2Vsb2cucHkKKysrIGIvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2Vycy9jaGFuZ2Vsb2cucHkKQEAgLTYwLDkgKzYw
LDkgQEAgY2xhc3MgQ2hhbmdlTG9nQ2hlY2tlcihvYmplY3QpOgogICAgICAgICBmb3IgbGluZSBp
biBlbnRyeV9saW5lczoKICAgICAgICAgICAgIGxpbmVfbm8gPSBsaW5lX25vICsgMQogICAgICAg
ICAgICAgIyBmaWx0ZXIgZmlsZSBjaGFuZ2UgZGVzY3JpcHRpb25zCi0gICAgICAgICAgICBpZiBu
b3QgbWF0Y2goJ1xzKlwqXHMnLCBsaW5lKToKKyAgICAgICAgICAgIGlmIG5vdCBtYXRjaChyJ1xz
KlwqXHMnLCBsaW5lKToKICAgICAgICAgICAgICAgICBjb250aW51ZQotICAgICAgICAgICAgaWYg
c2VhcmNoKCc6XHMqJCcsIGxpbmUpIG9yIHNlYXJjaCgnOlxzJywgbGluZSk6CisgICAgICAgICAg
ICBpZiBzZWFyY2gocic6XHMqJCcsIGxpbmUpIG9yIHNlYXJjaChyJzpccycsIGxpbmUpOgogICAg
ICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAgICBzZWxmLmhhbmRsZV9zdHlsZV9lcnJv
cihsaW5lX25vLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNoYW5nZWxv
Zy9maWxlY2hhbmdlZGVzY3JpcHRpb253aGl0ZXNwYWNlIiwgNSwKQEAgLTcyLDcgKzcyLDcgQEAg
Y2xhc3MgQ2hhbmdlTG9nQ2hlY2tlcihvYmplY3QpOgogICAgICAgICBsaW5lX25vID0gZmlyc3Rf
bGluZV9jaGVja2VkIC0gMQogICAgICAgICBmb3IgbGluZSBpbiBlbnRyeV9saW5lczoKICAgICAg
ICAgICAgIGxpbmVfbm8gPSBsaW5lX25vICsgMQotICAgICAgICAgICAgaWYgbWF0Y2goJ1xzKk5v
IG5ldyB0ZXN0cyBcKE9PUFMhXClcLiQnLCBsaW5lKToKKyAgICAgICAgICAgIGlmIG1hdGNoKHIn
XHMqTm8gbmV3IHRlc3RzIFwoT09QUyFcKVwuJCcsIGxpbmUpOgogICAgICAgICAgICAgICAgIHNl
bGYuaGFuZGxlX3N0eWxlX2Vycm9yKGxpbmVfbm8sCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgImNoYW5nZWxvZy9ub25ld3Rlc3RzIiwgNSwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiWW91IHNob3VsZCByZW1vdmUgdGhlICdObyBuZXcg
dGVzdHMnIGFuZCBlaXRoZXIgYWRkIGFuZCBsaXN0IHRlc3RzLCBvciBleHBsYWluIHdoeSBubyBu
ZXcgdGVzdHMgd2VyZSBwb3NzaWJsZS4iKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9zdHlsZS9jaGVja2Vycy9jbWFrZS5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5
bGUvY2hlY2tlcnMvY21ha2UucHkKaW5kZXggYmRmY2ZiNjY3MzRmMWZlZDRjYzgyZmZmNTJlMzAz
MjdjNzQwYzUzNy4uZGVmYmY3NmI4ZThhZmFlNWJmYjM3NjNmYzg5ZjEwZDZhYTMzOWU3NyAxMDA2
NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2Vycy9jbWFrZS5weQor
KysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJzL2NtYWtlLnB5CkBAIC05
NSwxNiArOTUsMTYgQEAgY2xhc3MgQ01ha2VDaGVja2VyKG9iamVjdCk6CiAgICAgICAgIHNlbGYu
X2NoZWNrX2xpc3Rfb3JkZXIobGluZXMpCiAKICAgICBkZWYgX3Byb2Nlc3NfbGluZShzZWxmLCBs
aW5lX251bWJlciwgbGluZV9jb250ZW50KToKLSAgICAgICAgaWYgbWF0Y2goJyhefFwgKykjJywg
bGluZV9jb250ZW50KToKKyAgICAgICAgaWYgbWF0Y2gocicoXnxcICspIycsIGxpbmVfY29udGVu
dCk6CiAgICAgICAgICAgICAjIGlnbm9yZSBjb21tZW50IGxpbmUKICAgICAgICAgICAgIHJldHVy
bgogICAgICAgICBsID0gbGluZV9jb250ZW50LmV4cGFuZHRhYnMoNCkKICAgICAgICAgIyBjaGVj
ayBjb21tYW5kIGxpa2UgbWVzc2FnZSggInRlc3RpbmciKQotICAgICAgICBpZiBzZWFyY2goJ1wo
XCArJywgbCk6CisgICAgICAgIGlmIHNlYXJjaChyJ1woXCArJywgbCk6CiAgICAgICAgICAgICBz
ZWxmLl9oYW5kbGVfc3R5bGVfZXJyb3IobGluZV9udW1iZXIsICd3aGl0ZXNwYWNlL3BhcmVudGhl
c2VzJywgNSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTm8gc3BhY2Ug
YWZ0ZXIgIigiJykKICAgICAgICAgIyBjaGVjayBjb21tYW5kIGxpa2UgbWVzc2FnZSgidGVzdGlu
ZyIgKQotICAgICAgICBpZiBzZWFyY2goJ1wgK1wpJywgbCkgYW5kIG5vdCBzZWFyY2goJ15cICtc
KSQnLCBsKToKKyAgICAgICAgaWYgc2VhcmNoKHInXCArXCknLCBsKSBhbmQgbm90IHNlYXJjaChy
J15cICtcKSQnLCBsKToKICAgICAgICAgICAgIHNlbGYuX2hhbmRsZV9zdHlsZV9lcnJvcihsaW5l
X251bWJlciwgJ3doaXRlc3BhY2UvcGFyZW50aGVzZXMnLCA1LAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICdObyBzcGFjZSBiZWZvcmUgIikiJykKICAgICAgICAgc2VsZi5f
Y2hlY2tfdHJhaWxpbmdfd2hpdGVzcGFjZShsaW5lX251bWJlciwgbCkKQEAgLTEyNSw3ICsxMjUs
NyBAQCBjbGFzcyBDTWFrZUNoZWNrZXIob2JqZWN0KToKICAgICAgICAgIyBjaGVjayBjb21tYW5k
IGxpa2UgIlNFVCAgICAoIiBvciAiU2V0KCIKICAgICAgICAgZm9yIHQgaW4gc2VsZi5OT19TUEFD
RV9DTURTOgogICAgICAgICAgICAgc2VsZi5fY2hlY2tfbm9uX2xvd2VyY2FzZV9jbWQobGluZV9u
dW1iZXIsIGxpbmVfY29udGVudCwgdCkKLSAgICAgICAgICAgIGlmIHNlYXJjaCgnKF58XCArKScg
KyB0Lmxvd2VyKCkgKyAnXCArXCgnLCBsaW5lX2NvbnRlbnQpOgorICAgICAgICAgICAgaWYgc2Vh
cmNoKHInKF58XCArKScgKyB0Lmxvd2VyKCkgKyByJ1wgK1woJywgbGluZV9jb250ZW50KToKICAg
ICAgICAgICAgICAgICBtc2cgPSAnTm8gc3BhY2UgYmV0d2VlbiBjb21tYW5kICInICsgdC5sb3dl
cigpICsgJyIgYW5kIGl0cyBwYXJlbnRoZXNlcywgc2hvdWxkIGJlICInICsgdCArICcoIicKICAg
ICAgICAgICAgICAgICBzZWxmLl9oYW5kbGVfc3R5bGVfZXJyb3IobGluZV9udW1iZXIsICd3aGl0
ZXNwYWNlL3BhcmVudGhlc2VzJywgNSwgbXNnKQogCkBAIC0xMzMsMTMgKzEzMywxMyBAQCBjbGFz
cyBDTWFrZUNoZWNrZXIob2JqZWN0KToKICAgICAgICAgIyBjaGVjayBjb21tYW5kIGxpa2UgIklG
ICgiIG9yICJpZigiIG9yICJpZiAgICgiIG9yICJJZiAoKSIKICAgICAgICAgZm9yIHQgaW4gc2Vs
Zi5PTkVfU1BBQ0VfQ01EUzoKICAgICAgICAgICAgIHNlbGYuX2NoZWNrX25vbl9sb3dlcmNhc2Vf
Y21kKGxpbmVfbnVtYmVyLCBsaW5lX2NvbnRlbnQsIHQpCi0gICAgICAgICAgICBpZiBzZWFyY2go
JyhefFwgKyknICsgdC5sb3dlcigpICsgJyhcKHxcIFwgK1woKScsIGxpbmVfY29udGVudCk6Cisg
ICAgICAgICAgICBpZiBzZWFyY2gocicoXnxcICspJyArIHQubG93ZXIoKSArIHInKFwofFwgXCAr
XCgpJywgbGluZV9jb250ZW50KToKICAgICAgICAgICAgICAgICBtc2cgPSAnT25lIHNwYWNlIGJl
dHdlZW4gY29tbWFuZCAiJyArIHQubG93ZXIoKSArICciIGFuZCBpdHMgcGFyZW50aGVzZXMsIHNo
b3VsZCBiZSAiJyArIHQgKyAnICgiJwogICAgICAgICAgICAgICAgIHNlbGYuX2hhbmRsZV9zdHls
ZV9lcnJvcihsaW5lX251bWJlciwgJ3doaXRlc3BhY2UvcGFyZW50aGVzZXMnLCA1LCBtc2cpCiAK
ICAgICBkZWYgX2NoZWNrX25vbl9sb3dlcmNhc2VfY21kKHNlbGYsIGxpbmVfbnVtYmVyLCBsaW5l
X2NvbnRlbnQsIGNtZCk6Ci0gICAgICAgIGlmIHNlYXJjaElnbm9yZWNhc2UoJyhefFwgKyknICsg
Y21kICsgJ1wgKlwoJywgbGluZV9jb250ZW50KSBhbmQgXAotICAgICAgICAgICAobm90IHNlYXJj
aCgnKF58XCArKScgKyBjbWQubG93ZXIoKSArICdcICpcKCcsIGxpbmVfY29udGVudCkpOgorICAg
ICAgICBpZiBzZWFyY2hJZ25vcmVjYXNlKHInKF58XCArKScgKyBjbWQgKyByJ1wgKlwoJywgbGlu
ZV9jb250ZW50KSBhbmQgXAorICAgICAgICAgICAobm90IHNlYXJjaChyJyhefFwgKyknICsgY21k
Lmxvd2VyKCkgKyByJ1wgKlwoJywgbGluZV9jb250ZW50KSk6CiAgICAgICAgICAgICBtc2cgPSAn
VXNlIGxvd2VyY2FzZSBjb21tYW5kICInICsgY21kLmxvd2VyKCkgKyAnIicKICAgICAgICAgICAg
IHNlbGYuX2hhbmRsZV9zdHlsZV9lcnJvcihsaW5lX251bWJlciwgJ2NvbW1hbmQvbG93ZXJjYXNl
JywgNSwgbXNnKQogCkBAIC0xNTEsMTMgKzE1MSwxMyBAQCBjbGFzcyBDTWFrZUNoZWNrZXIob2Jq
ZWN0KToKICAgICAgICAgbGFzdF9saW5lID0gTm9uZQogCiAgICAgICAgIGZvciBsaW5lX251bWJl
ciwgbGluZSBpbiBlbnVtZXJhdGUobGluZXMsIHN0YXJ0PTEpOgotICAgICAgICAgICAgbWF0Y2hl
ZCA9IHNlYXJjaCgnXCRcey4qXH0nLCBsaW5lKQorICAgICAgICAgICAgbWF0Y2hlZCA9IHNlYXJj
aChyJ1wkXHsuKlx9JywgbGluZSkKICAgICAgICAgICAgIGlmIG1hdGNoZWQ6CiAgICAgICAgICAg
ICAgICAgY29udGludWUKICAgICAgICAgICAgIGxpbmUgPSBsaW5lLnN0cmlwKCkKIAogICAgICAg
ICAgICAgaWYgbGFzdF9saW5lID09IE5vbmU6Ci0gICAgICAgICAgICAgICAgbWF0Y2hlZCA9IG1h
dGNoKCcoc2V0XCh8bGlzdFwoKEFQUEVORHxSRU1PVkVfSVRFTSkgKSg/UDxuYW1lPlx3KykoP1A8
aXRlbT5ccytcdyspPyQnLCBsaW5lKQorICAgICAgICAgICAgICAgIG1hdGNoZWQgPSBtYXRjaChy
JyhzZXRcKHxsaXN0XCgoQVBQRU5EfFJFTU9WRV9JVEVNKSApKD9QPG5hbWU+XHcrKSg/UDxpdGVt
PlxzK1x3Kyk/JCcsIGxpbmUpCiAgICAgICAgICAgICAgICAgaWYgbWF0Y2hlZDoKICAgICAgICAg
ICAgICAgICAgICAgIyBGSVhNRTogQWRkIGhhbmRsaW5nIGZvciBpbmNsdWRlIGRpcmVjdG9yaWVz
LgogICAgICAgICAgICAgICAgICAgICBpZiAnSU5DTFVERV9ESVJFQ1RPUklFUycgaW4gbWF0Y2hl
ZC5ncm91cCgnbmFtZScpOgpAQCAtMTY4LDcgKzE2OCw3IEBAIGNsYXNzIENNYWtlQ2hlY2tlcihv
YmplY3QpOgogICAgICAgICAgICAgICAgICAgICAgICAgbXNnID0gJ0ZpcnN0IGxpc3RpdGVtICIl
cyIgc2hvdWxkIGJlIGluIGEgbmV3IGxpbmUuJyAlIG1hdGNoZWQuZ3JvdXAoJ2l0ZW0nKS5zdHJp
cCgpCiAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9oYW5kbGVfc3R5bGVfZXJyb3IobGlu
ZV9udW1iZXIsICdsaXN0L3BhcmVudGhlc2VzJywgNSwgbXNnKQogICAgICAgICAgICAgZWxzZToK
LSAgICAgICAgICAgICAgICBtYXRjaGVkID0gbWF0Y2goJyg/UDxpdGVtPi4rKT9cKSQnLCBsaW5l
KQorICAgICAgICAgICAgICAgIG1hdGNoZWQgPSBtYXRjaChyJyg/UDxpdGVtPi4rKT9cKSQnLCBs
aW5lKQogICAgICAgICAgICAgICAgIGlmIG1hdGNoZWQ6CiAgICAgICAgICAgICAgICAgICAgIGxh
c3RfbGluZSA9IE5vbmUKICAgICAgICAgICAgICAgICAgICAgaWYgbWF0Y2hlZC5ncm91cCgnaXRl
bScpOgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2Vycy9j
cHAucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJzL2NwcC5weQppbmRl
eCBhNGU0MDlkNjQzNzY3ZDM0OWIyNTQxZmYzOWVmZDg2ZWI1YzBiNzg1Li5iY2U3OWIwNGUxMTM2
ZWY0YTBlYWI1Y2NiNzViZmExYjdhZWQxNzIwIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L3N0eWxlL2NoZWNrZXJzL2NwcC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L3N0eWxlL2NoZWNrZXJzL2NwcC5weQpAQCAtNjg1LDcgKzY4NSw3IEBAIGNsYXNzIEZpbGVJbmZv
OgogICAgICAgICByZXR1cm4gb3MucGF0aC5hYnNwYXRoKHNlbGYuX2ZpbGVuYW1lKS5yZXBsYWNl
KCdcXCcsICcvJykKIAogICAgIGRlZiByZXBvc2l0b3J5X25hbWUoc2VsZik6Ci0gICAgICAgICIi
IkZ1bGwgbmFtZSBhZnRlciByZW1vdmluZyB0aGUgbG9jYWwgcGF0aCB0byB0aGUgcmVwb3NpdG9y
eS4KKyAgICAgICAgciIiIkZ1bGwgbmFtZSBhZnRlciByZW1vdmluZyB0aGUgbG9jYWwgcGF0aCB0
byB0aGUgcmVwb3NpdG9yeS4KIAogICAgICAgICBJZiB3ZSBoYXZlIGEgcmVhbCBhYnNvbHV0ZSBw
YXRoIG5hbWUgaGVyZSB3ZSBjYW4gdHJ5IHRvIGRvIHNvbWV0aGluZyBzbWFydDoKICAgICAgICAg
ZGV0ZWN0aW5nIHRoZSByb290IG9mIHRoZSBjaGVja291dCBhbmQgdHJ1bmNhdGluZyAvcGF0aC90
by9jaGVja291dCBmcm9tCkBAIC0xNDI1LDcgKzE0MjUsNyBAQCByZWdleF9mb3JfbGFtYmRhc19h
bmRfYmxvY2tzLl9fbGFzdF9lcnJvciA9IE5vbmUKIAogZGVmIGNoZWNrX2Zvcl9ub25fc3RhbmRh
cmRfY29uc3RydWN0cyhjbGVhbl9saW5lcywgbGluZV9udW1iZXIsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNsYXNzX3N0YXRlLCBlcnJvcik6Ci0gICAgIiIiTG9ncyBh
biBlcnJvciBpZiB3ZSBzZWUgY2VydGFpbiBub24tQU5TSSBjb25zdHJ1Y3RzIGlnbm9yZWQgYnkg
Z2NjLTIuCisgICAgciIiIkxvZ3MgYW4gZXJyb3IgaWYgd2Ugc2VlIGNlcnRhaW4gbm9uLUFOU0kg
Y29uc3RydWN0cyBpZ25vcmVkIGJ5IGdjYy0yLgogCiAgICAgQ29tcGxhaW4gYWJvdXQgc2V2ZXJh
bCBjb25zdHJ1Y3RzIHdoaWNoIGdjYy0yIGFjY2VwdHMsIGJ1dCB3aGljaCBhcmUKICAgICBub3Qg
c3RhbmRhcmQgQysrLiAgV2FybmluZyBhYm91dCB0aGVzZSBpbiBsaW50IGlzIG9uZSB3YXkgdG8g
ZWFzZSB0aGUKQEAgLTIyMTEsNyArMjIxMSw3IEBAIGRlZiBjaGVja19zcGFjaW5nKGZpbGVfZXh0
ZW5zaW9uLCBjbGVhbl9saW5lcywgbGluZV9udW1iZXIsIGZpbGVfc3RhdGUsIGVycm9yKToKICAg
ICAgICAgICAgICAgICAgICdTaG91bGQgaGF2ZSBzcGFjZXMgYXJvdW5kID0gaW4gcHJvcGVydHkg
c3ludGhlc2lzLicpCiAKICAgICAjIERvbid0IHRyeSB0byBkbyBzcGFjaW5nIGNoZWNrcyBmb3Ig
b3BlcmF0b3IgbWV0aG9kcwotICAgIGxpbmUgPSBzdWIocidvcGVyYXRvcig9PXwhPXw8fDw8fDw9
fD49fD4+fD58XCs9fC09fFwqPXwvPXwlPXwmPXxcfD18Xj18PDw9fD4+PXwvKVwoJywgJ29wZXJh
dG9yXCgnLCBsaW5lKQorICAgIGxpbmUgPSBzdWIocidvcGVyYXRvcig9PXwhPXw8fDw8fDw9fD49
fD4+fD58XCs9fC09fFwqPXwvPXwlPXwmPXxcfD18Xj18PDw9fD4+PXwvKVwoJywgcidvcGVyYXRv
clwoJywgbGluZSkKICAgICAjIERvbid0IHRyeSB0byBkbyBzcGFjaW5nIGNoZWNrcyBmb3IgI2lu
Y2x1ZGUsICNpbXBvcnQsICNpZiwgb3IgI2VsaWYgc3RhdGVtZW50cyBhdAogICAgICMgbWluaW11
bSBiZWNhdXNlIGl0IG1lc3NlcyB1cCBjaGVja3MgZm9yIHNwYWNpbmcgYXJvdW5kIC8KICAgICBp
ZiBtYXRjaChyJ1xzKiNccyooPzppbmNsdWRlfGltcG9ydHxpZnxlbGlmKScsIGxpbmUpOgpAQCAt
Mzg2Myw3ICszODYzLDcgQEAgZGVmIGNoZWNrX2xhbmd1YWdlKGZpbGVuYW1lLCBjbGVhbl9saW5l
cywgbGluZV9udW1iZXIsIGZpbGVfZXh0ZW5zaW9uLCBpbmNsdWRlX3MKICAgICAgICAgICAgICAg
ICAgICdOZXZlciBzb2Z0LWxpbmsgZnJhbWV3b3JrcyBpbiBoZWFkZXJzLiBQdXQgdGhlIHNvZnQt
bGluayBtYWNyb3MgaW4gYSBzb3VyY2UgZmlsZSwgb3IgY3JlYXRlIHtmcmFtZXdvcmt9U29mdExp
bmsue3tjcHAsbW19fSBpbnN0ZWFkLicuZm9ybWF0KGZyYW1ld29yaz1mcmFtZXdvcmtfbmFtZSkp
CiAKICAgICAgICAgZnJhbWV3b3Jrc193aXRoX3NvZnRfbGlua3MgPSBbJ0NvcmVNZWRpYScsICdD
b3JlVmlkZW8nLCAnRGF0YURldGVjdG9yc0NvcmUnLCAnTG9jYWxBdXRoZW50aWNhdGlvbicsICdN
ZWRpYUFjY2Vzc2liaWxpdHknLCAnTWVkaWFSZW1vdGUnLCAnUGFzc0tpdCcsICdRdWlja0xvb2sn
LCAnVUlLaXQnLCAnVmlkZW9Ub29sYm94J10KLSAgICAgICAgaWYgZnJhbWV3b3JrX25hbWUgaW4g
ZnJhbWV3b3Jrc193aXRoX3NvZnRfbGlua3MgYW5kIG5vdCByZS5jb21waWxlKCdeXHMqU09GVF9M
SU5LXyhQUklWQVRFXyk/RlJBTUVXT1JLX0ZPUl8oSEVBREVSfFNPVVJDRSkoX1dJVEhfRVhQT1JU
KT9cKHt9XCknLmZvcm1hdChmcmFtZXdvcmtfbmFtZSkpLnNlYXJjaChsaW5lKToKKyAgICAgICAg
aWYgZnJhbWV3b3JrX25hbWUgaW4gZnJhbWV3b3Jrc193aXRoX3NvZnRfbGlua3MgYW5kIG5vdCBy
ZS5jb21waWxlKHInXlxzKlNPRlRfTElOS18oUFJJVkFURV8pP0ZSQU1FV09SS19GT1JfKEhFQURF
UnxTT1VSQ0UpKF9XSVRIX0VYUE9SVCk/XCh7fVwpJy5mb3JtYXQoZnJhbWV3b3JrX25hbWUpKS5z
ZWFyY2gobGluZSk6CiAgICAgICAgICAgICBlcnJvcihsaW5lX251bWJlciwgJ3NvZnRsaW5rL2Zy
YW1ld29yaycsIDUsCiAgICAgICAgICAgICAgICAgICAnVXNlIHtmcmFtZXdvcmt9U29mdExpbmsu
e3tjcHAsaCxtbX19IHRvIHNvZnQtbGluayB0byB7ZnJhbWV3b3JrfS5mcmFtZXdvcmsuJy5mb3Jt
YXQoZnJhbWV3b3JrPWZyYW1ld29ya19uYW1lKSkKIApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9zdHlsZS9jaGVja2Vycy9jcHBfdW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJzL2NwcF91bml0dGVzdC5weQppbmRleCAyNDM4ZjhkNWQy
NDBlM2Q4MmNjMGJiOTExN2RiOTBmNTIxNzAzMWY5Li41NjUyM2I0MmU5MTdiM2ZkMGVjYzhmNmM4
MWViMGZmODRkYTMwOWViIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxl
L2NoZWNrZXJzL2NwcF91bml0dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3N0
eWxlL2NoZWNrZXJzL2NwcF91bml0dGVzdC5weQpAQCAtMzEyMyw3ICszMTIzLDcgQEAgY2xhc3Mg
Q2xlYW5zZWRMaW5lc1Rlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICBzZWxmLmFzc2Vy
dEVxdWFsKCcnLCBjb2xsYXBzZSgnXFwwMTInKSkgICAgICAgICAgICAjICdcMDEyJyAoY2hhcikK
ICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnJywgY29sbGFwc2UoJ1xceGZGMCcpKSAgICAgICAg
ICAgIyAnXHhmRjAnIChjaGFyKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCcnLCBjb2xsYXBz
ZSgnXFxuJykpICAgICAgICAgICAgICAjICdcbicgKGNoYXIpCi0gICAgICAgIHNlbGYuYXNzZXJ0
RXF1YWwoJ1wjJywgY29sbGFwc2UoJ1xcIycpKSAgICAgICAgICAgICMgJ1wjJyAoYmFkKQorICAg
ICAgICBzZWxmLmFzc2VydEVxdWFsKHInXCMnLCBjb2xsYXBzZSgnXFwjJykpICAgICAgICAgICAg
IyAnXCMnIChiYWQpCiAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnU3RyaW5nUmVwbGFjZShi
b2R5LCAiIiwgIiIpOycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbGxhcHNlKCdTdHJp
bmdSZXBsYWNlKGJvZHksICJcXFxcIiwgIlxcXFxcXFxcIik7JykpCmRpZmYgLS1naXQgYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJzL2pzdGVzdC5weSBiL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcnMvanN0ZXN0LnB5CmluZGV4IDU5MzY4YzgyNjY3YzY2
MTIwMjFiZTg0ZmFlYjc0NGVjOTk0MDdiYjkuLmQ4NTFjYmQ3NDU1NjU0Nzk1MGRkNjQ0ZjlmMmE1
NTE1ZDY0NmFiYmEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hl
Y2tlcnMvanN0ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tl
cnMvanN0ZXN0LnB5CkBAIC02MCw4ICs2MCw4IEBAIGRlZiBtYXBfZnVuY3Rpb25zX3RvX2RpY3Qo
Y29udGVudCk6CiAgICAgQXJnczoKICAgICAgIGNvbnRlbnQ6IEEgbXVsdGktbGluZSBzdHJpbmcg
Y29udGFpbmluZyBKYXZhU2NyaXB0IHNvdXJjZSB0byBiZSBzcGxpdCBpbnRvIGluZGl2aWR1YWwg
ZnVuY3Rpb24gZGVmaW5pdGlvbnMuCiAgICAgIiIiCi0gICAgZnVuY3Rpb25zID0gcmUuc3BsaXQo
J15mdW5jdGlvblxzKycsIGNvbnRlbnQsIGZsYWdzPXJlLk1VTFRJTElORSkKLSAgICBmdW5jdGlv
bl9uYW1lX3JlZ2V4ID0gcmUuY29tcGlsZSgnXig/UDxuYW1lPlx3KylccypcKCcsIGZsYWdzPXJl
Lk1VTFRJTElORSkKKyAgICBmdW5jdGlvbnMgPSByZS5zcGxpdChyJ15mdW5jdGlvblxzKycsIGNv
bnRlbnQsIGZsYWdzPXJlLk1VTFRJTElORSkKKyAgICBmdW5jdGlvbl9uYW1lX3JlZ2V4ID0gcmUu
Y29tcGlsZShyJ14oP1A8bmFtZT5cdyspXHMqXCgnLCBmbGFncz1yZS5NVUxUSUxJTkUpCiAgICAg
cmVzdWx0ID0ge30KICAgICBmb3IgZiBpbiBmdW5jdGlvbnM6CiAgICAgICAgIG1hdGNoID0gZnVu
Y3Rpb25fbmFtZV9yZWdleC5tYXRjaChmKQpAQCAtNzcsOCArNzcsOCBAQCBkZWYgc3RyaXBfdHJh
aWxpbmdfYmxhbmtfbGluZXNfYW5kX2NvbW1lbnRzKGZ1bmN0aW9uKToKICAgICAgICAgZnVuY3Rp
b246IEEgbXVsdGktbGluZSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBzb3VyY2UgZm9yIG9uZSBK
YXZhU2NyaXB0IGZ1bmN0aW9uLCBsZXNzIHRoZSAiZnVuY3Rpb24iIGtleXdvcmQuCiAgICAgIiIi
CiAgICAgbGluZXMgPSBmdW5jdGlvbi5zcGxpdGxpbmVzKFRydWUpCi0gICAgYmxhbmtfbGluZV9y
ZWdleCA9IHJlLmNvbXBpbGUoJ15ccyokJykKLSAgICBjb21tZW50X2xpbmVfcmVnZXggPSByZS5j
b21waWxlKCdeXHMqLy8uKiQnKQorICAgIGJsYW5rX2xpbmVfcmVnZXggPSByZS5jb21waWxlKHIn
XlxzKiQnKQorICAgIGNvbW1lbnRfbGluZV9yZWdleCA9IHJlLmNvbXBpbGUocideXHMqLy8uKiQn
KQogICAgIHdoaWxlIGJsYW5rX2xpbmVfcmVnZXguc2VhcmNoKGxpbmVzWy0xXSkgb3IgY29tbWVu
dF9saW5lX3JlZ2V4LnNlYXJjaChsaW5lc1stMV0pOgogICAgICAgICBkZWwgbGluZXNbLTFdCiAg
ICAgcmV0dXJuICcnLmpvaW4obGluZXMpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L3N0eWxlL2NoZWNrZXJzL21lc3NhZ2VzaW4ucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L3N0eWxlL2NoZWNrZXJzL21lc3NhZ2VzaW4ucHkKaW5kZXggZTIyZTdiODM4ZjM1YmY2ZGMzZmQy
Y2I2NTFlMzY4ZjgxYmE1YWMwMS4uMzFlOWI5MjAxOGY4YjgxYmYxYmZiOWE2ZmIxNTY0NTU3ODY5
MjU4NCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2Vycy9t
ZXNzYWdlc2luLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcnMv
bWVzc2FnZXNpbi5weQpAQCAtNDIsNyArNDIsNyBAQCBjbGFzcyBNZXNzYWdlc0luQ2hlY2tlcihv
YmplY3QpOgogICAgICAgICBzZWxmLmNoZWNrX1dURl9wcmVmaXgobGluZXMpCiAKICAgICBkZWYg
Y2hlY2tfV1RGX3ByZWZpeChzZWxmLCBsaW5lcyk6Ci0gICAgICAgIGNvbW1lbnQgPSByZS5jb21w
aWxlKCdeXHMqIycpCisgICAgICAgIGNvbW1lbnQgPSByZS5jb21waWxlKHInXlxzKiMnKQogICAg
ICAgICBmb3IgbGluZV9udW1iZXIsIGxpbmUgaW4gZW51bWVyYXRlKGxpbmVzKToKICAgICAgICAg
ICAgIGlmIG5vdCBjb21tZW50Lm1hdGNoKGxpbmUpIGFuZCAnV1RGOjonIGluIGxpbmU6CiAgICAg
ICAgICAgICAgICAgc2VsZi5oYW5kbGVfc3R5bGVfZXJyb3IobGluZV9udW1iZXIgKyAxLApkaWZm
IC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9wYXRjaHJlYWRlci5weSBiL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvcGF0Y2hyZWFkZXIucHkKaW5kZXggMDhjYTlmNmFj
NGU3NTIyNDA2ZGMxNDliNzI4ZmMzNjE3Y2VlNmE2Zi4uZTZkODEzYzEzMjZjNzJmOTg2NDJiMWYy
YTUxMjA2Nzk1ZjcwYTYwZSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHls
ZS9wYXRjaHJlYWRlci5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL3BhdGNo
cmVhZGVyLnB5CkBAIC02OCw3ICs2OCw3IEBAIGNsYXNzIFBhdGNoUmVhZGVyKG9iamVjdCk6CiAg
ICAgICAgICAgICBfbG9nLmRlYnVnKCdGb3VuZCAlcyBuZXcgb3IgbW9kaWZpZWQgbGluZXMgaW46
ICVzJyAlIChsZW4obGluZV9udW1iZXJzKSwgcGF0aCkpCiAKICAgICAgICAgICAgIGlmIG5vdCBs
aW5lX251bWJlcnM6Ci0gICAgICAgICAgICAgICAgbWF0Y2ggPSByZS5zZWFyY2goIlxzKnBuZyQi
LCBwYXRoKQorICAgICAgICAgICAgICAgIG1hdGNoID0gcmUuc2VhcmNoKHIiXHMqcG5nJCIsIHBh
dGgpCiAgICAgICAgICAgICAgICAgaWYgbWF0Y2ggYW5kIGZzLmV4aXN0cyhwYXRoKToKICAgICAg
ICAgICAgICAgICAgICAgaWYgY2FsbF9vbmx5X29uY2U6CiAgICAgICAgICAgICAgICAgICAgICAg
ICBzZWxmLl90ZXh0X2ZpbGVfcmVhZGVyLnByb2Nlc3NfZmlsZShmaWxlX3BhdGg9cGF0aCwgbGlu
ZV9udW1iZXJzPU5vbmUpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rlc3Qv
cnVubmVyLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90ZXN0L3J1bm5lci5weQppbmRleCA5
ZWE4OTJhOGQ0MjI5MjEzNDVlMjQwMmQxY2MxMDdiOTQxYjgzNmUzLi5kMGEyOTRkNjVkZDY4NzBh
YzQ1ZDZlMDVhMTdlMzg1OTc1MzRkN2RkIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L3Rlc3QvcnVubmVyLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdGVzdC9ydW5u
ZXIucHkKQEAgLTI4LDcgKzI4LDcgQEAgaW1wb3J0IHVuaXR0ZXN0CiAKIGZyb20gd2Via2l0cHku
Y29tbW9uIGltcG9ydCBtZXNzYWdlX3Bvb2wKIAotX3Rlc3RfZGVzY3JpcHRpb24gPSByZS5jb21w
aWxlKCIoXHcrKSBcKChbXHcuXSspXCkiKQorX3Rlc3RfZGVzY3JpcHRpb24gPSByZS5jb21waWxl
KHIiKFx3KykgXCgoW1x3Ll0rKVwpIikKIAogCiBkZWYgdW5pdF90ZXN0X25hbWUodGVzdCk6CmRp
ZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rlc3QvcnVubmVyX3VuaXR0ZXN0LnB5
IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90ZXN0L3J1bm5lcl91bml0dGVzdC5weQppbmRleCAw
YzA0NTgxMGNmZTQzM2VkZDI0MjBiNDkyODAwMGI2YzFhMDEyMjQ0Li4zYjA1NTQ4NzEzMjc2MzEz
ZTJkNzVlZWQ5OGU1Zjk0ODc4NzAwYzJmIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L3Rlc3QvcnVubmVyX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
dGVzdC9ydW5uZXJfdW5pdHRlc3QucHkKQEAgLTc3LDcgKzc3LDcgQEAgY2xhc3MgRmFrZUxvYWRl
cihvYmplY3QpOgogICAgICAgICBzZWxmLl9yZXN1bHRzID0ge30KICAgICAgICAgZm9yIHRlc3Rf
bmFtZSwgcmVzdWx0LCBtc2cgaW4gc2VsZi50cmlwbGVzOgogICAgICAgICAgICAgc2VsZi5fdGVz
dHMuYXBwZW5kKHRlc3RfbmFtZSkKLSAgICAgICAgICAgIG0gPSByZS5tYXRjaCgiKFx3KykgXCgo
W1x3Ll0rKVwpIiwgdGVzdF9uYW1lKQorICAgICAgICAgICAgbSA9IHJlLm1hdGNoKHIiKFx3Kykg
XCgoW1x3Ll0rKVwpIiwgdGVzdF9uYW1lKQogICAgICAgICAgICAgc2VsZi5fcmVzdWx0c1snJXMu
JXMnICUgKG0uZ3JvdXAoMiksIG0uZ3JvdXAoMSkpXSA9IHR1cGxlKFt0ZXN0X25hbWUsIHJlc3Vs
dCwgbXNnXSkKIAogICAgIGRlZiB0b3Bfc3VpdGUoc2VsZik6CmRpZmYgLS1naXQgYS9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvYW5hbHl6ZWNoYW5nZWxvZy5weSBiL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9hbmFseXplY2hhbmdlbG9nLnB5CmluZGV4
IDgyZmVlNjUxZDVkN2U4YWRjN2ZhYmIzMzZjMzkwYzUzYzlmNzBlODAuLjFlMjUyOWNlMDJmMTMy
ZDZlZDZkMDYzNGYxODdhNjQ5NzY4NWY2MWIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvdG9vbC9jb21tYW5kcy9hbmFseXplY2hhbmdlbG9nLnB5CisrKyBiL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9hbmFseXplY2hhbmdlbG9nLnB5CkBAIC01NCw3ICs1
NCw3IEBAIGNsYXNzIEFuYWx5emVDaGFuZ2VMb2coQ29tbWFuZCk6CiAKICAgICBAc3RhdGljbWV0
aG9kCiAgICAgZGVmIF9lbnVtZXJhdGVfY2hhbmdlbG9ncyhmaWxlc3lzdGVtLCBkaXJuYW1lLCBj
aGFuZ2Vsb2dfY291bnQpOgotICAgICAgICBjaGFuZ2Vsb2dzID0gW2ZpbGVzeXN0ZW0uam9pbihk
aXJuYW1lLCBmaWxlbmFtZSkgZm9yIGZpbGVuYW1lIGluIGZpbGVzeXN0ZW0ubGlzdGRpcihkaXJu
YW1lKSBpZiByZS5tYXRjaCgnXkNoYW5nZUxvZygtKFxkezR9LVxkezJ9LVxkezJ9KSk/JCcsIGZp
bGVuYW1lKV0KKyAgICAgICAgY2hhbmdlbG9ncyA9IFtmaWxlc3lzdGVtLmpvaW4oZGlybmFtZSwg
ZmlsZW5hbWUpIGZvciBmaWxlbmFtZSBpbiBmaWxlc3lzdGVtLmxpc3RkaXIoZGlybmFtZSkgaWYg
cmUubWF0Y2gocideQ2hhbmdlTG9nKC0oXGR7NH0tXGR7Mn0tXGR7Mn0pKT8kJywgZmlsZW5hbWUp
XQogICAgICAgICAjIE1ha2Ugc3VyZSBDaGFuZ2VMb2cgc2hvd3MgdXAgYmVmb3JlIENoYW5nZUxv
Zy0yMDExLTAxLTAxCiAgICAgICAgIGNoYW5nZWxvZ3MgPSBzb3J0ZWQoY2hhbmdlbG9ncywga2V5
PWxhbWJkYSBmaWxlbmFtZTogZmlsZW5hbWUgKyAnWCcsIHJldmVyc2U9VHJ1ZSkKICAgICAgICAg
cmV0dXJuIGNoYW5nZWxvZ3NbOmNoYW5nZWxvZ19jb3VudF0KZGlmZiAtLWdpdCBhL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9xdWVyaWVzLnB5IGIvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS90b29sL2NvbW1hbmRzL3F1ZXJpZXMucHkKaW5kZXggM2MxOWI0ZjUxZTU4NWZiZTAy
ZjUxMDYwYzNiZWY3M2EyMTlmNmY0OC4uMjZiYzM5YjBlMDg1MGQyYjJmNzhkZTFmNjU2YWY4NWY5
MmEzYzIxNyAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRz
L3F1ZXJpZXMucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL3F1
ZXJpZXMucHkKQEAgLTU1NCw3ICs1NTQsNyBAQCBjbGFzcyBQcmludEJhc2VsaW5lcyhDb21tYW5k
KToKICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9J2Rpc3BsYXkgdGhlIGJhc2VsaW5lcyBm
b3IgKmFsbCogdGVzdHMnKSwKICAgICAgICAgXSArIHBsYXRmb3JtX29wdGlvbnModXNlX2dsb2Jz
PVRydWUpCiAgICAgICAgIENvbW1hbmQuX19pbml0X18oc2VsZiwgb3B0aW9ucz1vcHRpb25zKQot
ICAgICAgICBzZWxmLl9wbGF0Zm9ybV9yZWdleHAgPSByZS5jb21waWxlKCdwbGF0Zm9ybS8oW15c
L10rKS8oLispJykKKyAgICAgICAgc2VsZi5fcGxhdGZvcm1fcmVnZXhwID0gcmUuY29tcGlsZShy
J3BsYXRmb3JtLyhbXlwvXSspLyguKyknKQogCiAgICAgZGVmIGV4ZWN1dGUoc2VsZiwgb3B0aW9u
cywgYXJncywgdG9vbCk6CiAgICAgICAgIGlmIG5vdCBhcmdzIGFuZCBub3Qgb3B0aW9ucy5hbGw6
CkBAIC02MDksNyArNjA5LDcgQEAgY2xhc3MgRmluZFJlc29sdmVkQnVncyhDb21tYW5kKToKICAg
ICAgICAgaWRzID0gc2V0KCkKICAgICAgICAgaW5wdXRmaWxlID0gdG9vbC5maWxlc3lzdGVtLm9w
ZW5fdGV4dF9maWxlX2Zvcl9yZWFkaW5nKGZpbGVuYW1lKQogICAgICAgICBmb3IgbGluZSBpbiBp
bnB1dGZpbGU6Ci0gICAgICAgICAgICByZXN1bHQgPSByZS5zZWFyY2goIihodHRwczovL2J1Z3Nc
LndlYmtpdFwub3JnL3Nob3dfYnVnXC5jZ2lcP2lkPXx3ZWJraXRcLm9yZy9iLykoWzAtOV0rKSIs
IGxpbmUpCisgICAgICAgICAgICByZXN1bHQgPSByZS5zZWFyY2gociIoaHR0cHM6Ly9idWdzXC53
ZWJraXRcLm9yZy9zaG93X2J1Z1wuY2dpXD9pZD18d2Via2l0XC5vcmcvYi8pKFswLTldKykiLCBs
aW5lKQogICAgICAgICAgICAgaWYgcmVzdWx0OgogICAgICAgICAgICAgICAgIGlkcy5hZGQocmVz
dWx0Lmdyb3VwKDIpKQogICAgICAgICBpbnB1dGZpbGUuY2xvc2UoKQpkaWZmIC0tZ2l0IGEvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL3VwbG9hZC5weSBiL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy91cGxvYWQucHkKaW5kZXggYmIzOGM3NWY5YzNlOWMy
ZjQ5NTI5NGM0ZGRlY2U3ZDgwNGIyNmViZi4uMDVhYTIyMGRmNjljNDg2OTlhYTg1ZDcwZTNmMzg3
ZjM3NGY1ZTI2MCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1h
bmRzL3VwbG9hZC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMv
dXBsb2FkLnB5CkBAIC00MDYsNyArNDA2LDcgQEAgY2xhc3MgTWFya0J1Z0ZpeGVkKENvbW1hbmQp
OgogICAgICAgICAgICAgYnVnX2lkID0gcGFyc2VfYnVnX2lkX2Zyb21fY2hhbmdlbG9nKGNvbW1p
dF9sb2cpCiAKICAgICAgICAgaWYgbm90IHN2bl9yZXZpc2lvbjoKLSAgICAgICAgICAgIG1hdGNo
ID0gcmUuc2VhcmNoKCJecig/UDxzdm5fcmV2aXNpb24+XGQrKSBcfCIsIGNvbW1pdF9sb2csIHJl
Lk1VTFRJTElORSkKKyAgICAgICAgICAgIG1hdGNoID0gcmUuc2VhcmNoKHIiXnIoP1A8c3ZuX3Jl
dmlzaW9uPlxkKykgXHwiLCBjb21taXRfbG9nLCByZS5NVUxUSUxJTkUpCiAgICAgICAgICAgICBp
ZiBtYXRjaDoKICAgICAgICAgICAgICAgICBzdm5fcmV2aXNpb24gPSBtYXRjaC5ncm91cCgnc3Zu
X3JldmlzaW9uJykKIApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3N0
ZXBzL3Byb21wdGZvcmJ1Z29ydGl0bGUucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wv
c3RlcHMvcHJvbXB0Zm9yYnVnb3J0aXRsZS5weQppbmRleCA2Y2Q1ZGEwZjQ3NGRjODY2Y2NlNGIw
NzU0MGQzOGQ3ZTVlYTJmNWE1Li44NzdlYzk0MzQ4MTUxNWIyYTYwZjAxMTBkNmE0M2NlNmU0M2U1
ZmY2IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMvcHJvbXB0
Zm9yYnVnb3J0aXRsZS5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMv
cHJvbXB0Zm9yYnVnb3J0aXRsZS5weQpAQCAtNjMsNyArNjMsNyBAQCBjbGFzcyBQcm9tcHRGb3JC
dWdPclRpdGxlKEFic3RyYWN0U3RlcCk6CiAgICAgICAgICAgICAgICAgcGFzcwogCiAgICAgICAg
ICAgICBpZiBwYXJzZWRfdXJsIGFuZCByZS5tYXRjaCgiYnVncy53ZWJraXQub3JnIiwgcGFyc2Vk
X3VybC5uZXRsb2MpOgotICAgICAgICAgICAgICAgICAgICBtYXRjaCA9IHJlLm1hdGNoKCJpZD0o
P1A8YnVnX2lkPlxkKykiLCBwYXJzZWRfdXJsLnF1ZXJ5KQorICAgICAgICAgICAgICAgICAgICBt
YXRjaCA9IHJlLm1hdGNoKHIiaWQ9KD9QPGJ1Z19pZD5cZCspIiwgcGFyc2VkX3VybC5xdWVyeSkK
ICAgICAgICAgICAgICAgICAgICAgaWYgbWF0Y2g6CiAgICAgICAgICAgICAgICAgICAgICAgICBz
dGF0ZVsiYnVnX2lkIl0gPSBpbnQobWF0Y2guZ3JvdXAoImJ1Z19pZCIpKQogICAgICAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3cz
Yy90ZXN0X2NvbnZlcnRlci5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdzNjL3Rlc3RfY29u
dmVydGVyLnB5CmluZGV4IDE1NDI1ZGJkMmFiOWEyNDU3ODUzMGZkZDdiZDJiNmFiMTZjNjk0Mzku
Ljc1YmFkNzMzMTkxOTg2MDIyY2VlNjgyMGJjZWZmMTA1OGY2NjAzMDMgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvdzNjL3Rlc3RfY29udmVydGVyLnB5CisrKyBiL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvdzNjL3Rlc3RfY29udmVydGVyLnB5CkBAIC05NywxMSArOTcsMTEgQEAg
Y2xhc3MgX1czQ1Rlc3RDb252ZXJ0ZXIoSFRNTFBhcnNlcik6CiAgICAgICAgIHNlbGYudGVzdF9o
YXJuZXNzX3JlID0gcmUuY29tcGlsZSgnL3Jlc291cmNlcy90ZXN0aGFybmVzcycpCiAKICAgICAg
ICAgc2VsZi5wcmVmaXhlZF9wcm9wZXJ0aWVzID0gc2VsZi5yZWFkX3dlYmtpdF9wcmVmaXhlZF9j
c3NfcHJvcGVydHlfbGlzdChjc3NfcHJvcGVydHlfZmlsZSkKLSAgICAgICAgcHJvcF9yZWdleCA9
ICcoW1xze118XikoJyArICJ8Ii5qb2luKHByb3AucmVwbGFjZSgnLXdlYmtpdC0nLCAnJykgZm9y
IHByb3AgaW4gc2VsZi5wcmVmaXhlZF9wcm9wZXJ0aWVzKSArICcpKFxzKzp8OiknCisgICAgICAg
IHByb3BfcmVnZXggPSByJyhbXHN7XXxeKSgnICsgInwiLmpvaW4ocHJvcC5yZXBsYWNlKCctd2Vi
a2l0LScsICcnKSBmb3IgcHJvcCBpbiBzZWxmLnByZWZpeGVkX3Byb3BlcnRpZXMpICsgcicpKFxz
Kzp8OiknCiAgICAgICAgIHNlbGYucHJvcF9yZSA9IHJlLmNvbXBpbGUocHJvcF9yZWdleCkKIAog
ICAgICAgICBzZWxmLnByZWZpeGVkX3Byb3BlcnR5X3ZhbHVlcyA9IHNlbGYubGVnYWN5X3JlYWRf
d2Via2l0X3ByZWZpeGVkX2Nzc19wcm9wZXJ0eV9saXN0KGNzc19wcm9wZXJ0eV92YWx1ZV9maWxl
KQotICAgICAgICBwcm9wX3ZhbHVlX3JlZ2V4ID0gJyg6XHMqfF5ccyopKCcgKyAifCIuam9pbih2
YWx1ZS5yZXBsYWNlKCctd2Via2l0LScsICcnKSBmb3IgdmFsdWUgaW4gc2VsZi5wcmVmaXhlZF9w
cm9wZXJ0eV92YWx1ZXMpICsgJykoXHMqO3xccyp9fFxzKiQpJworICAgICAgICBwcm9wX3ZhbHVl
X3JlZ2V4ID0gcicoOlxzKnxeXHMqKSgnICsgInwiLmpvaW4odmFsdWUucmVwbGFjZSgnLXdlYmtp
dC0nLCAnJykgZm9yIHZhbHVlIGluIHNlbGYucHJlZml4ZWRfcHJvcGVydHlfdmFsdWVzKSArIHIn
KShccyo7fFxzKn18XHMqJCknCiAgICAgICAgIHNlbGYucHJvcF92YWx1ZV9yZSA9IHJlLmNvbXBp
bGUocHJvcF92YWx1ZV9yZWdleCkKIAogICAgIGRlZiBvdXRwdXQoc2VsZik6CkBAIC0xMjcsNyAr
MTI3LDcgQEAgY2xhc3MgX1czQ1Rlc3RDb252ZXJ0ZXIoSFRNTFBhcnNlcik6CiAgICAgICAgIHVu
cHJlZml4ZWRfcHJvcGVydGllcyA9IHNldCgpCiAgICAgICAgIGZvciBwcm9wZXJ0eV9uYW1lIGlu
IHByb3BlcnR5X25hbWVzOgogICAgICAgICAgICAgIyBGaW5kIHByb3BlcnRpZXMgc3RhcnRpbmcg
d2l0aCB0aGUgLXdlYmtpdC0gcHJlZml4LgotICAgICAgICAgICAgbWF0Y2ggPSByZS5tYXRjaCgn
LXdlYmtpdC0oW1x3fC1dKiknLCBwcm9wZXJ0eV9uYW1lKQorICAgICAgICAgICAgbWF0Y2ggPSBy
ZS5tYXRjaChyJy13ZWJraXQtKFtcd3wtXSopJywgcHJvcGVydHlfbmFtZSkKICAgICAgICAgICAg
IGlmIG1hdGNoOgogICAgICAgICAgICAgICAgIHByZWZpeGVkX3Byb3BlcnRpZXMuYXBwZW5kKG1h
dGNoLmdyb3VwKDEpKQogICAgICAgICAgICAgZWxzZToKQEAgLTE0OCw3ICsxNDgsNyBAQCBjbGFz
cyBfVzNDVGVzdENvbnZlcnRlcihIVE1MUGFyc2VyKToKICAgICAgICAgICAgICMgUHJvcGVydHkg
bmFtZSBpcyBhbHdheXMgZmlyc3Qgb24gdGhlIGxpbmUuCiAgICAgICAgICAgICBwcm9wZXJ0eV9u
YW1lID0gbGluZS5zcGxpdCgnICcsIDEpWzBdCiAgICAgICAgICAgICAjIEZpbmQgcHJvcGVydGll
cyBzdGFydGluZyB3aXRoIHRoZSAtd2Via2l0LSBwcmVmaXguCi0gICAgICAgICAgICBtYXRjaCA9
IHJlLm1hdGNoKCctd2Via2l0LShbXHd8LV0qKScsIHByb3BlcnR5X25hbWUpCisgICAgICAgICAg
ICBtYXRjaCA9IHJlLm1hdGNoKHInLXdlYmtpdC0oW1x3fC1dKiknLCBwcm9wZXJ0eV9uYW1lKQog
ICAgICAgICAgICAgaWYgbWF0Y2g6CiAgICAgICAgICAgICAgICAgcHJlZml4ZWRfcHJvcGVydGll
cy5hcHBlbmQobWF0Y2guZ3JvdXAoMSkpCiAgICAgICAgICAgICBlbHNlOgpkaWZmIC0tZ2l0IGEv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS93M2MvdGVzdF9wYXJzZXIucHkgYi9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L3czYy90ZXN0X3BhcnNlci5weQppbmRleCA5NDYyNmRiNWJkZjNjNTVhZWU0Mjlj
ZjMzMGRmMDQ2ZjY3MTllODNiLi5lNjBkMzcyNjFiN2JmZDlkYjAyNmU0YTI0NjUxM2FmYWEzMmIz
ZjFjIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3czYy90ZXN0X3BhcnNlci5w
eQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3czYy90ZXN0X3BhcnNlci5weQpAQCAtMTgz
LDEyICsxODMsMTIgQEAgY2xhc3MgVGVzdFBhcnNlcihvYmplY3QpOgogICAgICAgICBlbGVtZW50
c193aXRoX3NyY19hdHRyaWJ1dGVzID0gZG9jLmZpbmRBbGwoc3JjPXJlLmNvbXBpbGUoJy4qJykp
CiAgICAgICAgIGVsZW1lbnRzX3dpdGhfaHJlZl9hdHRyaWJ1dGVzID0gZG9jLmZpbmRBbGwoaHJl
Zj1yZS5jb21waWxlKCcuKicpKQogCi0gICAgICAgIHVybF9wYXR0ZXJuID0gcmUuY29tcGlsZSgn
dXJsXCguKlwpJykKKyAgICAgICAgdXJsX3BhdHRlcm4gPSByZS5jb21waWxlKHIndXJsXCguKlwp
JykKICAgICAgICAgdXJscyA9IFtdCiAgICAgICAgIGZvciB1cmwgaW4gZG9jLmZpbmRBbGwodGV4
dD11cmxfcGF0dGVybik6CiAgICAgICAgICAgICBmb3IgdXJsIGluIHJlLmZpbmRhbGwodXJsX3Bh
dHRlcm4sIHVybCk6Ci0gICAgICAgICAgICAgICAgdXJsID0gcmUuc3ViKCd1cmxcKFtcJ1wiXT8n
LCAnJywgdXJsKQotICAgICAgICAgICAgICAgIHVybCA9IHJlLnN1YignW1wnXCJdP1wpJywgJycs
IHVybCkKKyAgICAgICAgICAgICAgICB1cmwgPSByZS5zdWIoJ3VybFxcKFtcJ1wiXT8nLCAnJywg
dXJsKQorICAgICAgICAgICAgICAgIHVybCA9IHJlLnN1YignW1wnXCJdP1xcKScsICcnLCB1cmwp
CiAgICAgICAgICAgICAgICAgdXJscy5hcHBlbmQodXJsKQogCiAgICAgICAgIHNyY19wYXRocyA9
IFtzcmNfdGFnWydzcmMnXSBmb3Igc3JjX3RhZyBpbiBlbGVtZW50c193aXRoX3NyY19hdHRyaWJ1
dGVzXQpkaWZmIC0tZ2l0IGEvVG9vbHMvbGxkYi9sbGRiX2R1bXBfY2xhc3NfbGF5b3V0LnB5IGIv
VG9vbHMvbGxkYi9sbGRiX2R1bXBfY2xhc3NfbGF5b3V0LnB5CmluZGV4IDBjYzYwZTFhMzZkN2Zm
MGNjYTdmMDU3MDk2ZjNlNTRjY2NlNzg5ZmQuLjgyYmE1NjUwZWM4MmFlMzAxY2ZkYmQzZjM3YjAz
ZTY0MmZhNDYzMjQgMTAwNzU1Ci0tLSBhL1Rvb2xzL2xsZGIvbGxkYl9kdW1wX2NsYXNzX2xheW91
dC5weQorKysgYi9Ub29scy9sbGRiL2xsZGJfZHVtcF9jbGFzc19sYXlvdXQucHkKQEAgLTM5OCw3
ICszOTgsNyBAQCBjbGFzcyBMTERCRGVidWdnZXJJbnN0YW5jZToKICAgICAgICAgICAgIGxsZGIu
U0JEZWJ1Z2dlci5EZXN0cm95KHNlbGYuZGVidWdnZXIpCiAKICAgICBkZWYgX2dldF9maXJzdF9m
aWxlX2FyY2hpdGVjdHVyZShzZWxmKToKLSAgICAgICAgcCA9IHJlLmNvbXBpbGUoJ3NoYXJlZCBs
aWJyYXJ5ICsoXHcrKSQnKQorICAgICAgICBwID0gcmUuY29tcGlsZShyJ3NoYXJlZCBsaWJyYXJ5
ICsoXHcrKSQnKQogICAgICAgICBmaWxlX3Jlc3VsdCA9IHN1YnByb2Nlc3MuY2hlY2tfb3V0cHV0
KFsiZmlsZSIsIHNlbGYuYmluYXJ5X3BhdGhdLCBlbmNvZGluZz0nVVRGLTgnKS5zcGxpdCgnXG4n
KQogICAgICAgICBhcmNoZXMgPSBbXQogICAgICAgICBmb3IgbGluZSBpbiBmaWxlX3Jlc3VsdDoK
ZGlmZiAtLWdpdCBhL1dlYnNpdGVzL2Jyb3dzZXJiZW5jaC5vcmcvQ2hhbmdlTG9nIGIvV2Vic2l0
ZXMvYnJvd3NlcmJlbmNoLm9yZy9DaGFuZ2VMb2cKaW5kZXggNDEyNGNhYzNhMDI0OTEzOWQ2ZWI5
OTk5ZWU4YTdhNmY1YmVjOGNiYi4uMDk3ZTcyMmNkNjM3NmQ4OWMyMGE4MDEwNTViNWI0MjNiOTM2
NGY2MyAxMDA2NDQKLS0tIGEvV2Vic2l0ZXMvYnJvd3NlcmJlbmNoLm9yZy9DaGFuZ2VMb2cKKysr
IGIvV2Vic2l0ZXMvYnJvd3NlcmJlbmNoLm9yZy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAor
MjAyMS0wNS0yMCAgU2FtIFNuZWRkb24gIDxnc25lZGRlcnNAYXBwbGUuY29tPgorCisgICAgICAg
IEZpeCBQeXRob24gMy42KyBEZXByZWNhdGlvbldhcm5pbmdzIGFib3V0IHVua25vd24gZXNjYXBl
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI2MDE4
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRml4IFB5
dGhvbiAzLjYrIERlcHJlY2F0aW9uV2FybmluZ3MgYWJvdXQgdW5rbm93biBlc2NhcGVzCisKKyAg
ICAgICAgKiBKZXRTdHJlYW0yLjAvUmV4QmVuY2gvRmxpZ2h0UGxhbm5lci9jb252ZXJ0LW5mZGMu
cHk6CisKIDIwMjEtMDUtMTIgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNv
bT4KIAogICAgICAgICBbTW90aW9uTWFya10gQXBwbHkgcjI3NzQwNiB0byBXZWJzaXRlcy9icm93
c2VyYmVuY2gub3JnL01vdGlvbk1hcmsxLjIKZGlmZiAtLWdpdCBhL1dlYnNpdGVzL2Jyb3dzZXJi
ZW5jaC5vcmcvSmV0U3RyZWFtMi4wL1JleEJlbmNoL0ZsaWdodFBsYW5uZXIvY29udmVydC1uZmRj
LnB5IGIvV2Vic2l0ZXMvYnJvd3NlcmJlbmNoLm9yZy9KZXRTdHJlYW0yLjAvUmV4QmVuY2gvRmxp
Z2h0UGxhbm5lci9jb252ZXJ0LW5mZGMucHkKaW5kZXggM2UyOThmMDkyZmI4YWU4ZjMzMjZjM2I3
ODRhN2YzMDRjMTgwOTJiOS4uOGJlYTRmZGI3YzAzOTU5MTEyYmI2ZTFkMzJjNTQ2MThhYjdiODY0
ZiAxMDA2NDQKLS0tIGEvV2Vic2l0ZXMvYnJvd3NlcmJlbmNoLm9yZy9KZXRTdHJlYW0yLjAvUmV4
QmVuY2gvRmxpZ2h0UGxhbm5lci9jb252ZXJ0LW5mZGMucHkKKysrIGIvV2Vic2l0ZXMvYnJvd3Nl
cmJlbmNoLm9yZy9KZXRTdHJlYW0yLjAvUmV4QmVuY2gvRmxpZ2h0UGxhbm5lci9jb252ZXJ0LW5m
ZGMucHkKQEAgLTM2LDcgKzM2LDcgQEAKIAogaW1wb3J0IHJlCiAKLWxhdExvbmdSRSA9IHJlLmNv
bXBpbGUoJ1xzKihcZCspLShcZHsyfSktKFxkezJ9LlxkezMsOH0pKFtOU10pXHMqKFxkKyktKFxk
ezJ9KS0oXGR7Mn0uXGR7Myw4fSkoW0VXXSknKQorbGF0TG9uZ1JFID0gcmUuY29tcGlsZShyJ1xz
KihcZCspLShcZHsyfSktKFxkezJ9LlxkezMsOH0pKFtOU10pXHMqKFxkKyktKFxkezJ9KS0oXGR7
Mn0uXGR7Myw4fSkoW0VXXSknKQogc3RhdGVzQWJicmV2aWF0aW9uc1RvRXhjbHVkZSA9IFsnQUsn
LCAnSEknXQogbmF2YWlkc1RvSW5jbHVkZSA9IFsnVk9SJywgJ05EQiddCiBhaXJ3YXlGaXhUeXBl
cyA9IGZyb3plbnNldChbJ0NOJywgJ05EQi9ETUUnLCAnTkRCJywgJ01JTC1SRVAtUFQnLCAnUkVQ
LVBUJywgJ1JOQVYnLCAnVk9SJywgJ1ZPUi9ETUUnLCAnVk9SVEFDJ10pCmRpZmYgLS1naXQgYS9Q
ZXJmb3JtYW5jZVRlc3RzL0NoYW5nZUxvZyBiL1BlcmZvcm1hbmNlVGVzdHMvQ2hhbmdlTG9nCmlu
ZGV4IDQ2NTBkNmRlMDIyOTBjODczNzhlNWQ2YmQwZWQ5M2QwMzRlNjQwODQuLjA3MjQ0MTJmYTY5
NjJiMzcyOWZmNmU0YWJhYTMxMzUwNDU2NTg5ZjAgMTAwNjQ0Ci0tLSBhL1BlcmZvcm1hbmNlVGVz
dHMvQ2hhbmdlTG9nCisrKyBiL1BlcmZvcm1hbmNlVGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTYgQEAKKzIwMjEtMDUtMjAgIFNhbSBTbmVkZG9uICA8Z3NuZWRkZXJzQGFwcGxlLmNvbT4KKwor
ICAgICAgICBGaXggUHl0aG9uIDMuNisgRGVwcmVjYXRpb25XYXJuaW5ncyBhYm91dCB1bmtub3du
IGVzY2FwZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIyNjAxOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEZpeCBQeXRob24gMy42KyBEZXByZWNhdGlvbldhcm5pbmdzIGFib3V0IHVua25vd24gZXNjYXBl
cworCisgICAgICAgICogSmV0U3RyZWFtMi9SQU1pZmljYXRpb24ucHk6CisgICAgICAgICogSmV0
U3RyZWFtMi9SZXhCZW5jaC9GbGlnaHRQbGFubmVyL2NvbnZlcnQtbmZkYy5weToKKyAgICAgICAg
KiBSZXhCZW5jaC9GbGlnaHRQbGFubmVyL2NvbnZlcnQtbmZkYy5weToKKwogMjAyMS0wNS0xMiAg
TXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgogCiAgICAgICAgIFtNb3Rp
b25NYXJrXSBUZW1wb3JhcmlseSByZW1vdmUgdGhlIGZvY3VzIHRlc3QKZGlmZiAtLWdpdCBhL1Bl
cmZvcm1hbmNlVGVzdHMvSmV0U3RyZWFtMi9SQU1pZmljYXRpb24ucHkgYi9QZXJmb3JtYW5jZVRl
c3RzL0pldFN0cmVhbTIvUkFNaWZpY2F0aW9uLnB5CmluZGV4IDI2NGEyOTc4ZDY5NWE1YWE3NTZh
ZWRlMjZhOTM1ZTJmNzRkMmVmNDMuLmYyODM4ODYzZjg2NjZjODcxNTJiNzE3ZjA2OGQ5YTFhMGFj
ODljNGMgMTAwNjQ0Ci0tLSBhL1BlcmZvcm1hbmNlVGVzdHMvSmV0U3RyZWFtMi9SQU1pZmljYXRp
b24ucHkKKysrIGIvUGVyZm9ybWFuY2VUZXN0cy9KZXRTdHJlYW0yL1JBTWlmaWNhdGlvbi5weQpA
QCAtNDAsOCArNDAsOCBAQCBncm91cFRlc3RzID0gWyJ0eXBlc2NyaXB0LGFjb3JuLXd0YixBaXIs
cGRmanMsY3J5cHRvLWFlcy1TUCIsICJzcGxheSxGbGlnaHRQbGFubgogbHVhVGVzdHMgPSBbKCJo
ZWxsb193b3JsZC1MSkYiLCAiTHVhSlNGaWdodC9oZWxsb193b3JsZC5qcyIsIDUpLCAoImxpc3Rf
c2VhcmNoLUxKRiIsICJMdWFKU0ZpZ2h0L2xpc3Rfc2VhcmNoLmpzIiwgNSksICgibGlzdHMtTEpG
IiwgIkx1YUpTRmlnaHQvbGlzdHMuanMiLCA1KSwgKCJzdHJpbmdfbGlzdHMtTEpGIiwgIkx1YUpT
RmlnaHQvc3RyaW5nX2xpc3RzLmpzIiwgNSksICgicmljaGFyZHMiLCAiTHVhSlNGaWdodC9yaWNo
YXJkcy5qcyIsIDUpXQogCiBvbmVNQiA9IGZsb2F0KDEwMjQgKiAxMDI0KQotZm9vdHByaW50UkUg
PSByZS5jb21waWxlKCJDdXJyZW50IEZvb3RwcmludDogKFxkKyg/Oi5cZCspPykiKQotcGVha0Zv
b3RwcmludFJFID0gcmUuY29tcGlsZSgiUGVhayBGb290cHJpbnQ6IChcZCsoPzouXGQrKT8pIikK
K2Zvb3RwcmludFJFID0gcmUuY29tcGlsZShyIkN1cnJlbnQgRm9vdHByaW50OiAoXGQrKD86Llxk
Kyk/KSIpCitwZWFrRm9vdHByaW50UkUgPSByZS5jb21waWxlKHIiUGVhayBGb290cHJpbnQ6IChc
ZCsoPzouXGQrKT8pIikKIAogVGVzdFJlc3VsdCA9IGNvbGxlY3Rpb25zLm5hbWVkdHVwbGUoIlRl
c3RSZXN1bHQiLCBbIm5hbWUiLCAicmV0dXJuQ29kZSIsICJmb290cHJpbnQiLCAicGVha0Zvb3Rw
cmludCIsICJ2bW1hcE91dHB1dCJdKQogCmRpZmYgLS1naXQgYS9QZXJmb3JtYW5jZVRlc3RzL0pl
dFN0cmVhbTIvUmV4QmVuY2gvRmxpZ2h0UGxhbm5lci9jb252ZXJ0LW5mZGMucHkgYi9QZXJmb3Jt
YW5jZVRlc3RzL0pldFN0cmVhbTIvUmV4QmVuY2gvRmxpZ2h0UGxhbm5lci9jb252ZXJ0LW5mZGMu
cHkKaW5kZXggM2UyOThmMDkyZmI4YWU4ZjMzMjZjM2I3ODRhN2YzMDRjMTgwOTJiOS4uOGJlYTRm
ZGI3YzAzOTU5MTEyYmI2ZTFkMzJjNTQ2MThhYjdiODY0ZiAxMDA2NDQKLS0tIGEvUGVyZm9ybWFu
Y2VUZXN0cy9KZXRTdHJlYW0yL1JleEJlbmNoL0ZsaWdodFBsYW5uZXIvY29udmVydC1uZmRjLnB5
CisrKyBiL1BlcmZvcm1hbmNlVGVzdHMvSmV0U3RyZWFtMi9SZXhCZW5jaC9GbGlnaHRQbGFubmVy
L2NvbnZlcnQtbmZkYy5weQpAQCAtMzYsNyArMzYsNyBAQAogCiBpbXBvcnQgcmUKIAotbGF0TG9u
Z1JFID0gcmUuY29tcGlsZSgnXHMqKFxkKyktKFxkezJ9KS0oXGR7Mn0uXGR7Myw4fSkoW05TXSlc
cyooXGQrKS0oXGR7Mn0pLShcZHsyfS5cZHszLDh9KShbRVddKScpCitsYXRMb25nUkUgPSByZS5j
b21waWxlKHInXHMqKFxkKyktKFxkezJ9KS0oXGR7Mn0uXGR7Myw4fSkoW05TXSlccyooXGQrKS0o
XGR7Mn0pLShcZHsyfS5cZHszLDh9KShbRVddKScpCiBzdGF0ZXNBYmJyZXZpYXRpb25zVG9FeGNs
dWRlID0gWydBSycsICdISSddCiBuYXZhaWRzVG9JbmNsdWRlID0gWydWT1InLCAnTkRCJ10KIGFp
cndheUZpeFR5cGVzID0gZnJvemVuc2V0KFsnQ04nLCAnTkRCL0RNRScsICdOREInLCAnTUlMLVJF
UC1QVCcsICdSRVAtUFQnLCAnUk5BVicsICdWT1InLCAnVk9SL0RNRScsICdWT1JUQUMnXSkKZGlm
ZiAtLWdpdCBhL1BlcmZvcm1hbmNlVGVzdHMvUmV4QmVuY2gvRmxpZ2h0UGxhbm5lci9jb252ZXJ0
LW5mZGMucHkgYi9QZXJmb3JtYW5jZVRlc3RzL1JleEJlbmNoL0ZsaWdodFBsYW5uZXIvY29udmVy
dC1uZmRjLnB5CmluZGV4IDNlMjk4ZjA5MmZiOGFlOGYzMzI2YzNiNzg0YTdmMzA0YzE4MDkyYjku
LjhiZWE0ZmRiN2MwMzk1OTExMmJiNmUxZDMyYzU0NjE4YWI3Yjg2NGYgMTAwNjQ0Ci0tLSBhL1Bl
cmZvcm1hbmNlVGVzdHMvUmV4QmVuY2gvRmxpZ2h0UGxhbm5lci9jb252ZXJ0LW5mZGMucHkKKysr
IGIvUGVyZm9ybWFuY2VUZXN0cy9SZXhCZW5jaC9GbGlnaHRQbGFubmVyL2NvbnZlcnQtbmZkYy5w
eQpAQCAtMzYsNyArMzYsNyBAQAogCiBpbXBvcnQgcmUKIAotbGF0TG9uZ1JFID0gcmUuY29tcGls
ZSgnXHMqKFxkKyktKFxkezJ9KS0oXGR7Mn0uXGR7Myw4fSkoW05TXSlccyooXGQrKS0oXGR7Mn0p
LShcZHsyfS5cZHszLDh9KShbRVddKScpCitsYXRMb25nUkUgPSByZS5jb21waWxlKHInXHMqKFxk
KyktKFxkezJ9KS0oXGR7Mn0uXGR7Myw4fSkoW05TXSlccyooXGQrKS0oXGR7Mn0pLShcZHsyfS5c
ZHszLDh9KShbRVddKScpCiBzdGF0ZXNBYmJyZXZpYXRpb25zVG9FeGNsdWRlID0gWydBSycsICdI
SSddCiBuYXZhaWRzVG9JbmNsdWRlID0gWydWT1InLCAnTkRCJ10KIGFpcndheUZpeFR5cGVzID0g
ZnJvemVuc2V0KFsnQ04nLCAnTkRCL0RNRScsICdOREInLCAnTUlMLVJFUC1QVCcsICdSRVAtUFQn
LCAnUk5BVicsICdWT1InLCAnVk9SL0RNRScsICdWT1JUQUMnXSkK
</data>

          </attachment>
      

    </bug>

</bugzilla>