<?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>205622</bug_id>
          
          <creation_ts>2019-12-28 19:35:32 -0800</creation_ts>
          <short_desc>REGRESSION(r253804): Seeing strange test results after this change (Requested by ap on #webkit).</short_desc>
          <delta_ts>2020-01-06 11:25:32 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=205291</see_also>
          <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>
          
          <blocked>205291</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>jbedard</cc>
    
    <cc>slewis</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1601720</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-12-28 19:35:32 -0800</bug_when>
    <thetext>https://trac.webkit.org/changeset/253804 broke the build:
Seeing strange test results after this change (Requested by ap on #webkit).

This is an automatic bug report generated by webkitbot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests fail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1601722</commentid>
    <comment_count>1</comment_count>
      <attachid>386479</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-12-28 19:35:39 -0800</bug_when>
    <thetext>Created attachment 386479
ROLLOUT of r253804

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the rollout will be successful.  This process takes approximately 15 minutes.

If you would like to land the rollout faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1601724</commentid>
    <comment_count>2</comment_count>
      <attachid>386479</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-12-28 19:39:35 -0800</bug_when>
    <thetext>Comment on attachment 386479
ROLLOUT of r253804

Clearing flags on attachment: 386479

Committed r253930: &lt;https://trac.webkit.org/changeset/253930&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1601725</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-12-28 19:39:36 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1601726</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-12-28 19:40:21 -0800</bug_when>
    <thetext>&lt;rdar://problem/58228274&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>386479</attachid>
            <date>2019-12-28 19:35:39 -0800</date>
            <delta_ts>2019-12-28 19:39:35 -0800</delta_ts>
            <desc>ROLLOUT of r253804</desc>
            <filename>bug-205622-20191228193538.patch</filename>
            <type>text/plain</type>
            <size>60766</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzOTI5CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZjBkYWUzZjFiNjIwZDRmNTJkMGViZWI0Y2E2ZmVhZjc3
MThkZmI2MS4uNTgyNzc0NTBhNjE2NTYwYWYzMjkwOGYyY2ViYmRlYWM1NjQyYTU3ZSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3
IEBACisyMDE5LTEyLTI4ICBDb21taXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4K
KworICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMjUzODA0LgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA1NjIyCisKKyAgICAgICAgU2Vl
aW5nIHN0cmFuZ2UgdGVzdCByZXN1bHRzIGFmdGVyIHRoaXMgY2hhbmdlIChSZXF1ZXN0ZWQgYnkg
YXAKKyAgICAgICAgb24gI3dlYmtpdCkuCisKKyAgICAgICAgUmV2ZXJ0ZWQgY2hhbmdlc2V0Ogor
CisgICAgICAgICJQeXRob24gMzogQWRkIHN1cHBvcnQgdG8gcnVuLXdlYmtpdC10ZXN0cyIKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNTI5MQorICAg
ICAgICBodHRwczovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMjUzODA0CisKIDIwMTktMTIt
MjggIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgW2lP
U10gTGF5b3V0IHRlc3RzIHNvbWV0aW1lcyB0aHJvdyBhbiBleGNlcHRpb24gdW5kZXIgY2hlY2tG
b3JPdXRzdGFuZGluZ0NhbGxiYWNrcwpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy90ZXN0LXdl
YmtpdHB5LXB5dGhvbjMgYi9Ub29scy9TY3JpcHRzL3Rlc3Qtd2Via2l0cHktcHl0aG9uMwppbmRl
eCBkMWNjNDVhZjRlMzRkMjYwNmYxMGM2ZmE0MzAwOWVlMDU2NDU1NDI5Li40ZjQwYjAxOWI4ZGQ2
MmYzNDZkYzI3M2MxMzM0N2FhZmNkMmZhZjEwIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3Rl
c3Qtd2Via2l0cHktcHl0aG9uMworKysgYi9Ub29scy9TY3JpcHRzL3Rlc3Qtd2Via2l0cHktcHl0
aG9uMwpAQCAtMzcsNyArMzcsMTEgQEAgUFlUSE9OM19DT01QQVRJQkxFX0RJUkVDVE9SSUVTID0g
WwogICAnd2Via2l0cHkuYmVuY2htYXJrX3J1bm5lcicsCiAgICd3ZWJraXRweS5icm93c2VycGVy
ZmRhc2gnLAogICAnd2Via2l0cHkuY29tbW9uJywKLSAgJ3dlYmtpdHB5LmxheW91dF90ZXN0cycs
CisgICd3ZWJraXRweS5sYXlvdXRfdGVzdHMuY29udHJvbGxlcnMnLAorICAnd2Via2l0cHkubGF5
b3V0X3Rlc3RzLmxheW91dF9wYWNrYWdlJywKKyAgJ3dlYmtpdHB5LmxheW91dF90ZXN0cy5tb2Rl
bHMnLAorICAnd2Via2l0cHkubGF5b3V0X3Rlc3RzLnNlcnZlcnMnLAorICAnd2Via2l0cHkubGF5
b3V0X3Rlc3RzLnZpZXdzJywKICAgJ3dlYmtpdHB5LnBlcmZvcm1hbmNlX3Rlc3RzJywKICAgJ3dl
YmtpdHB5LnBvcnQnLAogICAnd2Via2l0cHkucmVzdWx0cycsCmRpZmYgLS1naXQgYS9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9tZXNzYWdlX3Bvb2wucHkgYi9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L2NvbW1vbi9tZXNzYWdlX3Bvb2wucHkKaW5kZXggZWI1MDUxODJjODA4MDg3ZGE0MWRi
ZjZmZGE2NmEzYzVhMmY3YWNhYy4uNmZiYWQ3YjIzZjkxZWFkMmI4ZmUyZjgwZWMxNTBhYzczZGNk
ZmE5MSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vbWVzc2FnZV9w
b29sLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL21lc3NhZ2VfcG9vbC5w
eQpAQCAtMTg1LDIyICsxODUsMjAgQEAgY2xhc3MgX01lc3NhZ2VQb29sKG9iamVjdCk6CiAgICAg
ICAgICAgICByZXR1cm4gRmFsc2UKIAogICAgIGRlZiBfbG9vcChzZWxmLCBibG9jayk6Ci0gICAg
ICAgIHdoaWxlIFRydWU6Ci0gICAgICAgICAgICBpZiBsZW4oc2VsZi5fd29ya2Vyc19zdG9wcGVk
KSA9PSBsZW4oc2VsZi5fd29ya2Vycyk6Ci0gICAgICAgICAgICAgICAgYmxvY2sgPSBGYWxzZQot
Ci0gICAgICAgICAgICB0cnk6CisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHdoaWxlIFRydWU6
CisgICAgICAgICAgICAgICAgaWYgbGVuKHNlbGYuX3dvcmtlcnNfc3RvcHBlZCkgPT0gbGVuKHNl
bGYuX3dvcmtlcnMpOgorICAgICAgICAgICAgICAgICAgICBibG9jayA9IEZhbHNlCiAgICAgICAg
ICAgICAgICAgbWVzc2FnZSA9IHNlbGYuX21lc3NhZ2VzX3RvX21hbmFnZXIuZ2V0KGJsb2NrKQot
ICAgICAgICAgICAgZXhjZXB0IHF1ZXVlLkVtcHR5OgotICAgICAgICAgICAgICAgIGJyZWFrCi0K
LSAgICAgICAgICAgIHNlbGYuX2xvZ19tZXNzYWdlcyhtZXNzYWdlLmxvZ3MpCi0gICAgICAgICAg
ICBpZiBtZXNzYWdlLmZyb21fdXNlcjoKLSAgICAgICAgICAgICAgICBzZWxmLl9jYWxsZXIuaGFu
ZGxlKG1lc3NhZ2UubmFtZSwgbWVzc2FnZS5zcmMsICptZXNzYWdlLmFyZ3MpCi0gICAgICAgICAg
ICAgICAgY29udGludWUKLSAgICAgICAgICAgIG1ldGhvZCA9IGdldGF0dHIoc2VsZiwgJ19oYW5k
bGVfJyArIG1lc3NhZ2UubmFtZSkKLSAgICAgICAgICAgIGFzc2VydCBtZXRob2QsICdiYWQgbWVz
c2FnZSAlcycgJSByZXByKG1lc3NhZ2UpCi0gICAgICAgICAgICBtZXRob2QobWVzc2FnZS5zcmMs
ICptZXNzYWdlLmFyZ3MpCisgICAgICAgICAgICAgICAgc2VsZi5fbG9nX21lc3NhZ2VzKG1lc3Nh
Z2UubG9ncykKKyAgICAgICAgICAgICAgICBpZiBtZXNzYWdlLmZyb21fdXNlcjoKKyAgICAgICAg
ICAgICAgICAgICAgc2VsZi5fY2FsbGVyLmhhbmRsZShtZXNzYWdlLm5hbWUsIG1lc3NhZ2Uuc3Jj
LCAqbWVzc2FnZS5hcmdzKQorICAgICAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAg
ICAgICAgIG1ldGhvZCA9IGdldGF0dHIoc2VsZiwgJ19oYW5kbGVfJyArIG1lc3NhZ2UubmFtZSkK
KyAgICAgICAgICAgICAgICBhc3NlcnQgbWV0aG9kLCAnYmFkIG1lc3NhZ2UgJXMnICUgcmVwciht
ZXNzYWdlKQorICAgICAgICAgICAgICAgIG1ldGhvZChtZXNzYWdlLnNyYywgKm1lc3NhZ2UuYXJn
cykKKyAgICAgICAgZXhjZXB0IHF1ZXVlLkVtcHR5OgorICAgICAgICAgICAgcGFzcwogCiAKIGNs
YXNzIFdvcmtlckV4Y2VwdGlvbihCYXNlRXhjZXB0aW9uKToKQEAgLTIxNywxMyArMjE1LDcgQEAg
Y2xhc3MgX01lc3NhZ2Uob2JqZWN0KToKICAgICAgICAgc2VsZi5sb2dzID0gbG9ncwogCiAgICAg
ZGVmIF9fcmVwcl9fKHNlbGYpOgotICAgICAgICByZXR1cm4gJ19NZXNzYWdlKHNyYz17c3JjfSwg
bmFtZT17bmFtZX0sIGFyZ3M9e2FyZ3N9LCBmcm9tX3VzZXI9e2Zyb21fdXNlcn0sIGxvZ3M9e2xv
Z3N9KScuZm9ybWF0KAotICAgICAgICAgICAgc3JjPXNlbGYuc3JjLAotICAgICAgICAgICAgbmFt
ZT1zZWxmLm5hbWUsCi0gICAgICAgICAgICBhcmdzPXNlbGYuYXJncywKLSAgICAgICAgICAgIGZy
b21fdXNlcj1zZWxmLmZyb21fdXNlciwKLSAgICAgICAgICAgIGxvZ3M9c2VsZi5sb2dzLAotICAg
ICAgICApCisgICAgICAgIHJldHVybiAnX01lc3NhZ2Uoc3JjPSVzLCBuYW1lPSVzLCBhcmdzPSVz
LCBmcm9tX3VzZXI9JXMsIGxvZ3M9JXMpJyAlIChzZWxmLnNyYywgc2VsZi5uYW1lLCBzZWxmLmFy
Z3MsIHNlbGYuZnJvbV91c2VyLCBzZWxmLmxvZ3MpCiAKIAogY2xhc3MgX1dvcmtlcihtdWx0aXBy
b2Nlc3NpbmcuUHJvY2Vzcyk6CkBAIC0yMzEsNyArMjIzLDcgQEAgY2xhc3MgX1dvcmtlcihtdWx0
aXByb2Nlc3NpbmcuUHJvY2Vzcyk6CiAgICAgICAgIHN1cGVyKF9Xb3JrZXIsIHNlbGYpLl9faW5p
dF9fKCkKICAgICAgICAgc2VsZi5ob3N0ID0gaG9zdAogICAgICAgICBzZWxmLndvcmtlcl9udW1i
ZXIgPSB3b3JrZXJfbnVtYmVyCi0gICAgICAgIHNlbGYubmFtZSA9ICd3b3JrZXIve30nLmZvcm1h
dCh3b3JrZXJfbnVtYmVyKQorICAgICAgICBzZWxmLm5hbWUgPSAnd29ya2VyLyVkJyAlIHdvcmtl
cl9udW1iZXIKICAgICAgICAgc2VsZi5sb2dfbWVzc2FnZXMgPSBbXQogICAgICAgICBzZWxmLmxv
Z19sZXZlbCA9IGxvZ19sZXZlbAogICAgICAgICBzZWxmLl9ydW5uaW5nX2lubGluZSA9IHJ1bm5p
bmdfaW5saW5lCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi93YXZl
ZGlmZi5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3dhdmVkaWZmLnB5CmluZGV4
IDZmMmJmZDI3NzJhMTBjYjVmNmUyOTdjOTUyMTc3MDFkNGE4NTA3MjEuLmI3ZmViYzZlODkzODA4
MDRiM2Y4OTRkMTEzMzhjZDE1ZDNmZDZhOWIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvY29tbW9uL3dhdmVkaWZmLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29t
bW9uL3dhdmVkaWZmLnB5CkBAIC0yNSw3ICsyNSw3IEBAIGltcG9ydCBzeXMKIGltcG9ydCB0ZW1w
ZmlsZQogaW1wb3J0IHdhdmUKIAotZnJvbSB3ZWJraXRweS5jb21tb24udW5pY29kZV9jb21wYXRp
YmlsaXR5IGltcG9ydCBCeXRlc0lPLCBTdHJpbmdJTworZnJvbSBpbyBpbXBvcnQgQnl0ZXNJTwog
CiAKIGNsYXNzIFdhdmVEaWZmKG9iamVjdCk6CkBAIC0zNSwxMiArMzUsMTIgQEAgY2xhc3MgV2F2
ZURpZmYob2JqZWN0KToKICAgICBfdG9sZXJhbmNlID0gMQogCiAgICAgZGVmIF9faW5pdF9fKHNl
bGYsIGluMSwgaW4yKToKLSAgICAgICAgaWYgaXNpbnN0YW5jZShpbjEsIHN0cik6Ci0gICAgICAg
ICAgICB3YXZlRmlsZTEgPSB3YXZlLm9wZW4oU3RyaW5nSU8oaW4xKSwgJ3InKQorICAgICAgICBp
ZiBpc2luc3RhbmNlKGluMSwgZmlsZSk6CisgICAgICAgICAgICB3YXZlRmlsZTEgPSB3YXZlLm9w
ZW4oaW4xLCAncmInKQogICAgICAgICBlbHNlOgogICAgICAgICAgICAgd2F2ZUZpbGUxID0gd2F2
ZS5vcGVuKEJ5dGVzSU8oaW4xKSwgJ3JiJykKLSAgICAgICAgaWYgaXNpbnN0YW5jZShpbjIsIHN0
cik6Ci0gICAgICAgICAgICB3YXZlRmlsZTIgPSB3YXZlLm9wZW4oU3RyaW5nSU8oaW4yKSwgJ3In
KQorICAgICAgICBpZiBpc2luc3RhbmNlKGluMiwgZmlsZSk6CisgICAgICAgICAgICB3YXZlRmls
ZTEgPSB3YXZlLm9wZW4oaW4yLCAncmInKQogICAgICAgICBlbHNlOgogICAgICAgICAgICAgd2F2
ZUZpbGUyID0gd2F2ZS5vcGVuKEJ5dGVzSU8oaW4yKSwgJ3JiJykKIApAQCAtNjYsMTIgKzY2LDEy
IEBAIGNsYXNzIFdhdmVEaWZmKG9iamVjdCk6CiAKICAgICAgICAgYWxsRGF0YTEgPSBzZWxmLl9y
ZWFkU2FtcGxlcyh3YXZlRmlsZTEsIHNhbXBsZVdpZHRoMSwgZnJhbWVDb3VudDEgKiBjaGFubmVs
Q291bnQxKQogICAgICAgICBhbGxEYXRhMiA9IHNlbGYuX3JlYWRTYW1wbGVzKHdhdmVGaWxlMiwg
c2FtcGxlV2lkdGgyLCBmcmFtZUNvdW50MiAqIGNoYW5uZWxDb3VudDIpCi0gICAgICAgIHJlc3Vs
dHMgPSBsaXN0KG1hcChzZWxmLl9kaWZmU2FtcGxlLCBhbGxEYXRhMSwgYWxsRGF0YTIsIHJhbmdl
KG1heChmcmFtZUNvdW50MSAqIGNoYW5uZWxDb3VudDEsIGZyYW1lQ291bnQyICogY2hhbm5lbENv
dW50MikpKSkKKyAgICAgICAgcmVzdWx0cyA9IG1hcChzZWxmLl9kaWZmU2FtcGxlLCBhbGxEYXRh
MSwgYWxsRGF0YTIsIHhyYW5nZShtYXgoZnJhbWVDb3VudDEgKiBjaGFubmVsQ291bnQxLCBmcmFt
ZUNvdW50MiAqIGNoYW5uZWxDb3VudDIpKSkKIAogICAgICAgICBjdW11bGF0aXZlU2FtcGxlRGlm
ZiA9IHN1bShyZXN1bHRzKQotICAgICAgICBkaWZmZXJpbmdTYW1wbGVDb3VudCA9IGxlbihsaXN0
KGZpbHRlcihib29sLCByZXN1bHRzKSkpCisgICAgICAgIGRpZmZlcmluZ1NhbXBsZUNvdW50ID0g
bGVuKGZpbHRlcihib29sLCByZXN1bHRzKSkKICAgICAgICAgc2VsZi5fZmlsZXNBcmVJZGVudGlj
YWwgPSBub3QgZGlmZmVyaW5nU2FtcGxlQ291bnQKLSAgICAgICAgc2VsZi5fZmlsZXNBcmVJZGVu
dGljYWxXaXRoaW5Ub2xlcmFuY2UgPSBub3QgbGVuKGxpc3QoZmlsdGVyKGxhbWJkYSB4OiB4ID4g
c2VsZi5fdG9sZXJhbmNlLCByZXN1bHRzKSkpCisgICAgICAgIHNlbGYuX2ZpbGVzQXJlSWRlbnRp
Y2FsV2l0aGluVG9sZXJhbmNlID0gbm90IGxlbihmaWx0ZXIobGFtYmRhIHg6IHggPiBzZWxmLl90
b2xlcmFuY2UsIHJlc3VsdHMpKQogCiAgICAgICAgIGlmIGRpZmZlcmluZ1NhbXBsZUNvdW50Ogog
ICAgICAgICAgICAgc2VsZi5fZGlmZiArPSAnXG4nCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9sYXlvdXRfdGVzdF9maW5kZXIucHkg
Yi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9sYXlvdXRf
dGVzdF9maW5kZXIucHkKaW5kZXggODZmMjNjM2YwYjE1MjA3MTFjZjc1ZTMzYjEzMGRlZDdjY2Ey
NDk5NS4uMTQ2MzA3M2M1OWIwZWFjNDY1NjcwY2JkNmI5MmM3MTg2Y2FhMzQ0NSAxMDA2NDQKLS0t
IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbGF5b3V0
X3Rlc3RfZmluZGVyLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3Rz
L2NvbnRyb2xsZXJzL2xheW91dF90ZXN0X2ZpbmRlci5weQpAQCAtMTAyLDcgKzEwMiw3IEBAIGNs
YXNzIExheW91dFRlc3RGaW5kZXIob2JqZWN0KToKICAgICAgICAgICAgIGV4Y2VwdCBJT0Vycm9y
IGFzIGU6CiAgICAgICAgICAgICAgICAgaWYgZS5lcnJubyA9PSBlcnJuby5FTk9FTlQ6CiAgICAg
ICAgICAgICAgICAgICAgIF9sb2cuY3JpdGljYWwoJycpCi0gICAgICAgICAgICAgICAgICAgIF9s
b2cuY3JpdGljYWwoJy0tdGVzdC1saXN0IGZpbGUgInt9IiBub3QgZm91bmQnLmZvcm1hdChmaWxl
bmFtZXMpKQorICAgICAgICAgICAgICAgICAgICBfbG9nLmNyaXRpY2FsKCctLXRlc3QtbGlzdCBm
aWxlICIlcyIgbm90IGZvdW5kJyAlIGZpbGUpCiAgICAgICAgICAgICAgICAgcmFpc2UKICAgICAg
ICAgcmV0dXJuIHRlc3RzCiAKQEAgLTE3Niw3ICsxNzYsNyBAQCBjbGFzcyBMYXlvdXRUZXN0Rmlu
ZGVyKG9iamVjdCk6CiAgICAgICAgICAgICBpZiByb3VuZGVkX3Rlc3RzICUgdGVzdF9zaXplICE9
IDA6CiAgICAgICAgICAgICAgICAgcm91bmRlZF90ZXN0cyA9IChudW1fdGVzdHMgKyB0ZXN0X3Np
emUgLSAobnVtX3Rlc3RzICUgdGVzdF9zaXplKSkKIAotICAgICAgICAgICAgY2h1bmtfbGVuID0g
cm91bmRlZF90ZXN0cyAvLyB0ZXN0X3NpemUKKyAgICAgICAgICAgIGNodW5rX2xlbiA9IHJvdW5k
ZWRfdGVzdHMgLyB0ZXN0X3NpemUKICAgICAgICAgICAgIHNsaWNlX3N0YXJ0ID0gY2h1bmtfbGVu
ICogKGNodW5rX251bSAtIDEpCiAgICAgICAgICAgICAjIEl0IGRvZXMgbm90IG1pbmQgaWYgd2Ug
Z28gb3ZlciB0ZXN0X3NpemUuCiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
bGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL21hbmFnZXIucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9tYW5hZ2VyLnB5CmluZGV4IGQ4ZmFhYjI5YWEy
ODkxY2RjNDg0ZmQ2ODllMDM2ZDgwZGRjOTQ0MGMuLjA0M2M4NGNjODU5OTFmN2U1MzAzODFmYTE2
NWU5MGUzNjQ0NjdjN2IgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0
X3Rlc3RzL2NvbnRyb2xsZXJzL21hbmFnZXIucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbWFuYWdlci5weQpAQCAtMTQ1LDkgKzE0NSw5IEBA
IGNsYXNzIE1hbmFnZXIob2JqZWN0KToKIAogICAgIGRlZiBfZ2V0X3Rlc3RfaW5wdXRzKHNlbGYs
IHRlc3RzX3RvX3J1biwgcmVwZWF0X2VhY2gsIGl0ZXJhdGlvbnMsIGRldmljZV90eXBlPU5vbmUp
OgogICAgICAgICB0ZXN0X2lucHV0cyA9IFtdCi0gICAgICAgIGZvciBfIGluIHJhbmdlKGl0ZXJh
dGlvbnMpOgorICAgICAgICBmb3IgXyBpbiB4cmFuZ2UoaXRlcmF0aW9ucyk6CiAgICAgICAgICAg
ICBmb3IgdGVzdCBpbiB0ZXN0c190b19ydW46Ci0gICAgICAgICAgICAgICAgZm9yIF8gaW4gcmFu
Z2UocmVwZWF0X2VhY2gpOgorICAgICAgICAgICAgICAgIGZvciBfIGluIHhyYW5nZShyZXBlYXRf
ZWFjaCk6CiAgICAgICAgICAgICAgICAgICAgIHRlc3RfaW5wdXRzLmFwcGVuZChzZWxmLl90ZXN0
X2lucHV0X2Zvcl9maWxlKHRlc3QsIGRldmljZV90eXBlPWRldmljZV90eXBlKSkKICAgICAgICAg
cmV0dXJuIHRlc3RfaW5wdXRzCiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
bGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL3NpbmdsZV90ZXN0X3J1bm5lci5weSBiL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL3NpbmdsZV90ZXN0X3J1bm5l
ci5weQppbmRleCBjYmZjMmMwNzYwNmU2ZGM4MjJiN2YyYWJiMjVlZjc3ZTc0YzEwZjU2Li43MThh
MDg5NDUzMmU1Yjg4MWQxYTBkMWQzMDZjMTNmNGIwNjE2M2NlIDEwMDY0NAotLS0gYS9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9zaW5nbGVfdGVzdF9ydW5u
ZXIucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxl
cnMvc2luZ2xlX3Rlc3RfcnVubmVyLnB5CkBAIC0zMSw3ICszMSw2IEBAIGltcG9ydCBsb2dnaW5n
CiBpbXBvcnQgcmUKIGltcG9ydCB0aW1lCiAKLWZyb20gd2Via2l0cHkuY29tbW9uLnVuaWNvZGVf
Y29tcGF0aWJpbGl0eSBpbXBvcnQgZGVjb2RlX2ZvcgogZnJvbSB3ZWJraXRweS5sYXlvdXRfdGVz
dHMuY29udHJvbGxlcnMgaW1wb3J0IHRlc3RfcmVzdWx0X3dyaXRlcgogZnJvbSB3ZWJraXRweS5w
b3J0LmRyaXZlciBpbXBvcnQgRHJpdmVySW5wdXQsIERyaXZlck91dHB1dAogZnJvbSB3ZWJraXRw
eS5sYXlvdXRfdGVzdHMubW9kZWxzIGltcG9ydCB0ZXN0X2V4cGVjdGF0aW9ucwpAQCAtMjE1LDcg
KzIxNCw3IEBAIGNsYXNzIFNpbmdsZVRlc3RSdW5uZXIob2JqZWN0KToKICAgICAgICAgZWxpZiBk
cml2ZXJfb3V0cHV0LmVycm9yOgogICAgICAgICAgICAgX2xvZy5kZWJ1ZygiJXMgJXMgb3V0cHV0
IHN0ZGVyciBsaW5lczoiICUgKHNlbGYuX3dvcmtlcl9uYW1lLCB0ZXN0bmFtZSkpCiAgICAgICAg
IGZvciBsaW5lIGluIGRyaXZlcl9vdXRwdXQuZXJyb3Iuc3BsaXRsaW5lcygpOgotICAgICAgICAg
ICAgX2xvZy5kZWJ1ZygiICB7fSIuZm9ybWF0KGRlY29kZV9mb3IobGluZSwgc3RyKSkpCisgICAg
ICAgICAgICBfbG9nLmRlYnVnKCIgICVzIiAlIGxpbmUpCiAgICAgICAgIHJldHVybiBmYWlsdXJl
cwogCiAgICAgZGVmIF9jb21wYXJlX291dHB1dChzZWxmLCBleHBlY3RlZF9kcml2ZXJfb3V0cHV0
LCBkcml2ZXJfb3V0cHV0KToKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5
b3V0X3Rlc3RzL2xheW91dF9wYWNrYWdlL2pzb25fbGF5b3V0X3Jlc3VsdHNfZ2VuZXJhdG9yLnB5
IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbGF5b3V0X3BhY2thZ2UvanNv
bl9sYXlvdXRfcmVzdWx0c19nZW5lcmF0b3IucHkKaW5kZXggNjRmMTFiOTJmNDk1OGIzNmZhYjc0
MDBjMmNjYjhkNWM4YTRiMmNiNy4uYTlhN2U5ZWYzMDkwNmNmMjJhMmQ4M2E2YTcxNDczNTgzNTFi
YzM5NyAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbGF5
b3V0X3BhY2thZ2UvanNvbl9sYXlvdXRfcmVzdWx0c19nZW5lcmF0b3IucHkKKysrIGIvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbGF5b3V0X3BhY2thZ2UvanNvbl9sYXlvdXRf
cmVzdWx0c19nZW5lcmF0b3IucHkKQEAgLTMxLDcgKzMxLDYgQEAgaW1wb3J0IGxvZ2dpbmcKIGZy
b20gd2Via2l0cHkubGF5b3V0X3Rlc3RzLmxheW91dF9wYWNrYWdlIGltcG9ydCBqc29uX3Jlc3Vs
dHNfZ2VuZXJhdG9yCiBmcm9tIHdlYmtpdHB5LmxheW91dF90ZXN0cy5tb2RlbHMgaW1wb3J0IHRl
c3RfZXhwZWN0YXRpb25zCiBmcm9tIHdlYmtpdHB5LmxheW91dF90ZXN0cy5tb2RlbHMgaW1wb3J0
IHRlc3RfZmFpbHVyZXMKLWZyb20gd2Via2l0cHkuY29tbW9uLml0ZXJhdGlvbl9jb21wYXRpYmls
aXR5IGltcG9ydCBpdGVydmFsdWVzCiAKIAogY2xhc3MgSlNPTkxheW91dFJlc3VsdHNHZW5lcmF0
b3IoanNvbl9yZXN1bHRzX2dlbmVyYXRvci5KU09OUmVzdWx0c0dlbmVyYXRvcik6CkBAIC0xMzMs
NyArMTMyLDcgQEAgY2xhc3MgSlNPTkxheW91dFJlc3VsdHNHZW5lcmF0b3IoanNvbl9yZXN1bHRz
X2dlbmVyYXRvci5KU09OUmVzdWx0c0dlbmVyYXRvcik6CiAgICAgICAgICAgICBzZWxmLkZJWEFC
TEUpCiAKICAgICAgICAgbnVtX2ZpeGFibGUgPSAwCi0gICAgICAgIGZvciBleHBlY3RhdGlvbiBp
biBpdGVydmFsdWVzKHNlbGYuX2V4cGVjdGF0aW9ucyk6CisgICAgICAgIGZvciBleHBlY3RhdGlv
biBpbiBzZWxmLl9leHBlY3RhdGlvbnMuaXRlcnZhbHVlcygpOgogICAgICAgICAgICAgbnVtX2Zp
eGFibGUgKz0gbGVuKGV4cGVjdGF0aW9uLm1vZGVsKCkuZ2V0X3Rlc3RzX3dpdGhfdGltZWxpbmUo
dGVzdF9leHBlY3RhdGlvbnMuTk9XKSkKIAogICAgICAgICBzZWxmLl9pbnNlcnRfaXRlbV9pbnRv
X3Jhd19saXN0KHJlc3VsdHNfZm9yX2J1aWxkZXIsIG51bV9maXhhYmxlLCBzZWxmLkFMTF9GSVhB
QkxFX0NPVU5UKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVz
dHMvbW9kZWxzL3Rlc3RfcmVzdWx0cy5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0
X3Rlc3RzL21vZGVscy90ZXN0X3Jlc3VsdHMucHkKaW5kZXggNjVjNTIwZTc2YjVkY2NlZjdkYjAy
N2M4YTJjMDRmNmJiNTRlZGRiNC4uNzcwODQwZjEyNGNmZGQxZGI4Y2QyOGQ1MmNiNTg5Y2U2NGIz
OTM4MyAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbW9k
ZWxzL3Rlc3RfcmVzdWx0cy5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90
ZXN0cy9tb2RlbHMvdGVzdF9yZXN1bHRzLnB5CkBAIC00Nyw3ICs0Nyw3IEBAIGNsYXNzIFRlc3RS
ZXN1bHQob2JqZWN0KToKICAgICAgICAgc2VsZi5mYWlsdXJlcyA9IGZhaWx1cmVzIG9yIFtdCiAg
ICAgICAgIHNlbGYudGVzdF9ydW5fdGltZSA9IHRlc3RfcnVuX3RpbWUgb3IgMCAgIyBUaGUgdGlt
ZSB0YWtlbiB0byBleGVjdXRlIHRoZSB0ZXN0IGl0c2VsZi4KICAgICAgICAgc2VsZi5oYXNfc3Rk
ZXJyID0gaGFzX3N0ZGVycgotICAgICAgICBzZWxmLnJlZnRlc3RfdHlwZSA9IHNvcnRlZChyZWZ0
ZXN0X3R5cGUgb3IgW10pCisgICAgICAgIHNlbGYucmVmdGVzdF90eXBlID0gcmVmdGVzdF90eXBl
IG9yIFtdCiAgICAgICAgIHNlbGYucGlkID0gcGlkCiAgICAgICAgIHNlbGYucmVmZXJlbmNlcyA9
IHJlZmVyZW5jZXMgb3IgW10KIApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9s
YXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0c19pbnRlZ3JhdGlvbnRlc3QucHkgYi9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9ydW5fd2Via2l0X3Rlc3RzX2ludGVncmF0aW9u
dGVzdC5weQppbmRleCAzOTNmZTBhN2RhNWFhMDM1MjAzNDc4NDdkOWUxNmJmN2RlYWRhYWVjLi4x
YzBjNmM4MmMzYWRmZjBjNjllYTBhMTU3ZmQ0ZWU4ODNjZTgxODYxIDEwMDY0NAotLS0gYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9ydW5fd2Via2l0X3Rlc3RzX2ludGVncmF0
aW9udGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9ydW5f
d2Via2l0X3Rlc3RzX2ludGVncmF0aW9udGVzdC5weQpAQCAtMjksMTAgKzI5LDggQEAKICMgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KIAogaW1wb3J0IGpzb24KLWltcG9ydCBzeXMKIGltcG9ydCB1bml0dGVzdAogCi1m
cm9tIHdlYmtpdHB5LmNvbW1vbi51bmljb2RlX2NvbXBhdGliaWxpdHkgaW1wb3J0IFN0cmluZ0lP
CiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0gaW1wb3J0IG91dHB1dGNhcHR1cmUsIHBhdGgK
IGZyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbS5jcmFzaGxvZ3NfdW5pdHRlc3QgaW1wb3J0IG1h
a2VfbW9ja19jcmFzaF9yZXBvcnRfZGFyd2luCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0u
c3lzdGVtaG9zdCBpbXBvcnQgU3lzdGVtSG9zdApAQCAtMTc4LDggKzE3Niw3IEBAIGNsYXNzIFJ1
blRlc3QodW5pdHRlc3QuVGVzdENhc2UsIFN0cmVhbVRlc3RpbmdNaXhpbik6CiAKICAgICAgICAg
IyBGSVhNRTogUmVtb3ZlIHRoaXMgd2hlbiB3ZSBmaXggdGVzdC13ZWJraXRweSB0byB3b3JrCiAg
ICAgICAgICMgcHJvcGVybHkgb24gY3lnd2luIChidWcgNjM4NDYpLgotICAgICAgICAjIEZJWE1F
OiBNdWx0aXByb2Nlc3NpbmcgZG9lc24ndCBkbyB3ZWxsIHdoZW4gbmVzdGVkIGluIFB5dGhvbiAz
IChodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA1MjgwKQotICAgICAg
ICBzZWxmLnNob3VsZF90ZXN0X3Byb2Nlc3NlcyA9IG5vdCBzZWxmLl9wbGF0Zm9ybS5pc193aW4o
KSBhbmQgc3lzLnZlcnNpb25faW5mbyA8ICgzLCAwKQorICAgICAgICBzZWxmLnNob3VsZF90ZXN0
X3Byb2Nlc3NlcyA9IG5vdCBzZWxmLl9wbGF0Zm9ybS5pc193aW4oKQogCiAgICAgZGVmIHRlc3Rf
YmFzaWMoc2VsZik6CiAgICAgICAgIG9wdGlvbnMsIGFyZ3MgPSBwYXJzZV9hcmdzKHRlc3RzX2lu
Y2x1ZGVkPVRydWUpCkBAIC0xOTgsNyArMTk1LDcgQEAgY2xhc3MgUnVuVGVzdCh1bml0dGVzdC5U
ZXN0Q2FzZSwgU3RyZWFtVGVzdGluZ01peGluKToKICAgICAgICAgb25lX2xpbmVfc3VtbWFyeSA9
ICIlZCB0ZXN0cyByYW4gYXMgZXhwZWN0ZWQsICVkIGRpZG4ndDpcbiIgJSAoCiAgICAgICAgICAg
ICBkZXRhaWxzLmluaXRpYWxfcmVzdWx0cy50b3RhbCAtIGRldGFpbHMuaW5pdGlhbF9yZXN1bHRz
LmV4cGVjdGVkX3NraXBzIC0gbGVuKGRldGFpbHMuaW5pdGlhbF9yZXN1bHRzLnVuZXhwZWN0ZWRf
cmVzdWx0c19ieV9uYW1lKSwKICAgICAgICAgICAgIGxlbihkZXRhaWxzLmluaXRpYWxfcmVzdWx0
cy51bmV4cGVjdGVkX3Jlc3VsdHNfYnlfbmFtZSkpCi0gICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShv
bmVfbGluZV9zdW1tYXJ5IGluIGxvZ2dpbmdfc3RyZWFtLmdldHZhbHVlKCkpCisgICAgICAgIHNl
bGYuYXNzZXJ0VHJ1ZShvbmVfbGluZV9zdW1tYXJ5IGluIGxvZ2dpbmdfc3RyZWFtLmJ1Zmxpc3Qp
CiAKICAgICAgICAgIyBFbnN1cmUgdGhlIHJlc3VsdHMgd2VyZSBzdW1tYXJpemVkIHByb3Blcmx5
LgogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRldGFpbHMuc3VtbWFyaXplZF9yZXN1bHRzWydu
dW1fcmVncmVzc2lvbnMnXSwgZGV0YWlscy5leGl0X2NvZGUpCkBAIC0yMjIsMTQgKzIxOSwxNCBA
QCBjbGFzcyBSdW5UZXN0KHVuaXR0ZXN0LlRlc3RDYXNlLCBTdHJlYW1UZXN0aW5nTWl4aW4pOgog
ICAgICAgICBpZiBzZWxmLnNob3VsZF90ZXN0X3Byb2Nlc3NlczoKICAgICAgICAgICAgIF8sIHJl
Z3VsYXJfb3V0cHV0LCBfID0gbG9nZ2luZ19ydW4oCiAgICAgICAgICAgICAgICAgWyctLWRlYnVn
LXJ3dC1sb2dnaW5nJywgJy0tY2hpbGQtcHJvY2Vzc2VzJywgJzInXSwgc2hhcmVkX3BvcnQ9RmFs
c2UpCi0gICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoYW55KFsnUnVubmluZyAyICcgaW4gbGlu
ZSBmb3IgbGluZSBpbiByZWd1bGFyX291dHB1dC5nZXR2YWx1ZSgpLnNwbGl0bGluZXMoKV0pKQor
ICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGFueShbJ1J1bm5pbmcgMiAnIGluIGxpbmUgZm9y
IGxpbmUgaW4gcmVndWxhcl9vdXRwdXQuYnVmbGlzdF0pKQogCiAgICAgZGVmIHRlc3RfY2hpbGRf
cHJvY2Vzc2VzX21pbihzZWxmKToKICAgICAgICAgaWYgc2VsZi5zaG91bGRfdGVzdF9wcm9jZXNz
ZXM6CiAgICAgICAgICAgICBfLCByZWd1bGFyX291dHB1dCwgXyA9IGxvZ2dpbmdfcnVuKAogICAg
ICAgICAgICAgICAgIFsnLS1kZWJ1Zy1yd3QtbG9nZ2luZycsICctLWNoaWxkLXByb2Nlc3Nlcycs
ICcyJywgJy1pJywgJ3Bhc3Nlcy9wYXNzZXMnLCAncGFzc2VzJ10sCiAgICAgICAgICAgICAgICAg
dGVzdHNfaW5jbHVkZWQ9VHJ1ZSwgc2hhcmVkX3BvcnQ9RmFsc2UpCi0gICAgICAgICAgICBzZWxm
LmFzc2VydFRydWUoYW55KFsnUnVubmluZyAxICcgaW4gbGluZSBmb3IgbGluZSBpbiByZWd1bGFy
X291dHB1dC5nZXR2YWx1ZSgpLnNwbGl0bGluZXMoKV0pKQorICAgICAgICAgICAgc2VsZi5hc3Nl
cnRUcnVlKGFueShbJ1J1bm5pbmcgMSAnIGluIGxpbmUgZm9yIGxpbmUgaW4gcmVndWxhcl9vdXRw
dXQuYnVmbGlzdF0pKQogCiAgICAgZGVmIHRlc3RfZHJ5cnVuKHNlbGYpOgogICAgICAgICB0ZXN0
c19ydW4gPSBnZXRfdGVzdHNfcnVuKFsnLS1kcnktcnVuJ10pCkBAIC0yNzUsNyArMjcyLDcgQEAg
Y2xhc3MgUnVuVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSwgU3RyZWFtVGVzdGluZ01peGluKToKIAog
ICAgICAgICBpZiBzZWxmLnNob3VsZF90ZXN0X3Byb2Nlc3NlczoKICAgICAgICAgICAgIF8sIHJl
Z3VsYXJfb3V0cHV0LCBfID0gbG9nZ2luZ19ydW4oWydmYWlsdXJlcy9leHBlY3RlZC9rZXlib2Fy
ZC5odG1sJywgJ3Bhc3Nlcy90ZXh0Lmh0bWwnLCAnLS1jaGlsZC1wcm9jZXNzZXMnLCAnMicsICct
LWZvcmNlJ10sIHRlc3RzX2luY2x1ZGVkPVRydWUsIHNoYXJlZF9wb3J0PUZhbHNlKQotICAgICAg
ICAgICAgc2VsZi5hc3NlcnRUcnVlKGFueShbJ0ludGVycnVwdGVkLCBleGl0aW5nJyBpbiBsaW5l
IGZvciBsaW5lIGluIHJlZ3VsYXJfb3V0cHV0LmdldHZhbHVlKCkuc3BsaXRsaW5lcygpXSkpCisg
ICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoYW55KFsnSW50ZXJydXB0ZWQsIGV4aXRpbmcnIGlu
IGxpbmUgZm9yIGxpbmUgaW4gcmVndWxhcl9vdXRwdXQuYnVmbGlzdF0pKQogCiAgICAgZGVmIHRl
c3Rfbm9fdGVzdHNfZm91bmQoc2VsZik6CiAgICAgICAgIGRldGFpbHMsIGVyciwgXyA9IGxvZ2dp
bmdfcnVuKFsncmVzb3VyY2VzJ10sIHRlc3RzX2luY2x1ZGVkPVRydWUpCkBAIC00NzksNTcgKzQ3
NiwxMiBAQCBjbGFzcyBSdW5UZXN0KHVuaXR0ZXN0LlRlc3RDYXNlLCBTdHJlYW1UZXN0aW5nTWl4
aW4pOgogICAgICAgICAgICAgdGVzdHNfaW5jbHVkZWQ9VHJ1ZSwgaG9zdD1ob3N0KQogICAgICAg
ICBmaWxlX2xpc3QgPSBob3N0LmZpbGVzeXN0ZW0ud3JpdHRlbl9maWxlcy5rZXlzKCkKICAgICAg
ICAgc2VsZi5hc3NlcnRFcXVhbChkZXRhaWxzLmV4aXRfY29kZSwgMSkKLSAgICAgICAgZXhwZWN0
ZWRfZGljdGlvbmFyeSA9IHsKLSAgICAgICAgICAgICd2ZXJzaW9uJzogNCwKLSAgICAgICAgICAg
ICdmaXhhYmxlJzogMywKLSAgICAgICAgICAgICdza2lwcGVkJzogMCwKLSAgICAgICAgICAgICdu
dW1fcGFzc2VzJzogMCwKLSAgICAgICAgICAgICdudW1fZmxha3knOiAwLAotICAgICAgICAgICAg
J251bV9taXNzaW5nJzogMSwKLSAgICAgICAgICAgICdudW1fcmVncmVzc2lvbnMnOiAxLAotICAg
ICAgICAgICAgJ3VzZXNfZXhwZWN0YXRpb25zX2ZpbGUnOiBUcnVlLAotICAgICAgICAgICAgJ2lu
dGVycnVwdGVkJzogRmFsc2UsCi0gICAgICAgICAgICAnbGF5b3V0X3Rlc3RzX2Rpcic6ICcvdGVz
dC5jaGVja291dC9MYXlvdXRUZXN0cycsCi0gICAgICAgICAgICAnaGFzX3ByZXR0eV9wYXRjaCc6
IEZhbHNlLAotICAgICAgICAgICAgJ3BpeGVsX3Rlc3RzX2VuYWJsZWQnOiBUcnVlLAotICAgICAg
ICAgICAgJ290aGVyX2NyYXNoZXMnOiB7fSwKLSAgICAgICAgICAgICdkYXRlJzogJzEwOjEwQU0g
b24gRGVjZW1iZXIgMTMsIDIwMTknLAotICAgICAgICAgICAgJ3Rlc3RzJzogewotICAgICAgICAg
ICAgICAgICdmYWlsdXJlcyc6IHsKLSAgICAgICAgICAgICAgICAgICAgJ2V4cGVjdGVkJzogewot
ICAgICAgICAgICAgICAgICAgICAgICAgJ21pc3NpbmdfaW1hZ2UuaHRtbCc6IHsKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAnZXhwZWN0ZWQnOiAnUEFTUyBNSVNTSU5HJywKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAnYWN0dWFsJzogJ01JU1NJTkcnLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICdpc19taXNzaW5nX2ltYWdlJzogVHJ1ZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIH0sICd1bmV4cGVjdGVkJzogewotICAgICAg
ICAgICAgICAgICAgICAgICAgJ21pc3NpbmdfdGV4dC5odG1sJzogewotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICdyZXBvcnQnOiAnTUlTU0lORycsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgJ2V4cGVjdGVkJzogJ1BBU1MnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICdh
Y3R1YWwnOiAnTUlTU0lORycsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2lzX21pc3Np
bmdfdGV4dCc6IFRydWUsCi0gICAgICAgICAgICAgICAgICAgICAgICB9LCAndGV4dC1pbWFnZS1j
aGVja3N1bS5odG1sJzogewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXBvcnQnOiAn
UkVHUkVTU0lPTicsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2V4cGVjdGVkJzogJ1BB
U1MnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhY3R1YWwnOiAnSU1BR0UrVEVYVCcs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ltYWdlX2RpZmZfcGVyY2VudCc6IDEsCi0g
ICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICB9LAotICAgICAgICB9Ci0gICAgICAgIGFjdHVhbF9k
aWN0aW9uYXJ5ID0ganNvbi5sb2Fkcyhob3N0LmZpbGVzeXN0ZW0ucmVhZF90ZXh0X2ZpbGUoJy90
bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mdWxsX3Jlc3VsdHMuanNvbicpW2xlbignQUREX1JFU1VM
VFMoJyk6LTJdKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAotICAgICAgICAgICAgc29ydGVk
KGxpc3QoZXhwZWN0ZWRfZGljdGlvbmFyeVsndGVzdHMnXVsnZmFpbHVyZXMnXVsnZXhwZWN0ZWQn
XSkpLAotICAgICAgICAgICAgc29ydGVkKGxpc3QoYWN0dWFsX2RpY3Rpb25hcnlbJ3Rlc3RzJ11b
J2ZhaWx1cmVzJ11bJ2V4cGVjdGVkJ10pKSwKLSAgICAgICAgKQotICAgICAgICBzZWxmLmFzc2Vy
dEVxdWFsKAotICAgICAgICAgICAgc29ydGVkKGxpc3QoZXhwZWN0ZWRfZGljdGlvbmFyeVsndGVz
dHMnXVsnZmFpbHVyZXMnXVsndW5leHBlY3RlZCddKSksCi0gICAgICAgICAgICBzb3J0ZWQobGlz
dChhY3R1YWxfZGljdGlvbmFyeVsndGVzdHMnXVsnZmFpbHVyZXMnXVsndW5leHBlY3RlZCddKSks
Ci0gICAgICAgICkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChleHBlY3RlZF9kaWN0aW9uYXJ5
WydudW1fcmVncmVzc2lvbnMnXSwgYWN0dWFsX2RpY3Rpb25hcnlbJ251bV9yZWdyZXNzaW9ucydd
KQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV4cGVjdGVkX2RpY3Rpb25hcnlbJ251bV9mbGFr
eSddLCBhY3R1YWxfZGljdGlvbmFyeVsnbnVtX2ZsYWt5J10pCi0gICAgICAgIHNlbGYuYXNzZXJ0
RXF1YWwoZXhwZWN0ZWRfZGljdGlvbmFyeVsnbnVtX21pc3NpbmcnXSwgYWN0dWFsX2RpY3Rpb25h
cnlbJ251bV9taXNzaW5nJ10pCisgICAgICAgIGV4cGVjdGVkX3Rva2VuID0gJyJ1bmV4cGVjdGVk
Ijp7InRleHQtaW1hZ2UtY2hlY2tzdW0uaHRtbCI6eyJyZXBvcnQiOiJSRUdSRVNTSU9OIiwiZXhw
ZWN0ZWQiOiJQQVNTIiwiYWN0dWFsIjoiSU1BR0UrVEVYVCIsImltYWdlX2RpZmZfcGVyY2VudCI6
MX0sIm1pc3NpbmdfdGV4dC5odG1sIjp7InJlcG9ydCI6Ik1JU1NJTkciLCJleHBlY3RlZCI6IlBB
U1MiLCJpc19taXNzaW5nX3RleHQiOnRydWUsImFjdHVhbCI6Ik1JU1NJTkcifScKKyAgICAgICAg
anNvbl9zdHJpbmcgPSBob3N0LmZpbGVzeXN0ZW0ucmVhZF90ZXh0X2ZpbGUoJy90bXAvbGF5b3V0
LXRlc3QtcmVzdWx0cy9mdWxsX3Jlc3VsdHMuanNvbicpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1
ZShqc29uX3N0cmluZy5maW5kKGV4cGVjdGVkX3Rva2VuKSAhPSAtMSkKKyAgICAgICAgc2VsZi5h
c3NlcnRUcnVlKGpzb25fc3RyaW5nLmZpbmQoJyJudW1fcmVncmVzc2lvbnMiOjEnKSAhPSAtMSkK
KyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGpzb25fc3RyaW5nLmZpbmQoJyJudW1fZmxha3kiOjAn
KSAhPSAtMSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGpzb25fc3RyaW5nLmZpbmQoJyJudW1f
bWlzc2luZyI6MScpICE9IC0xKQogCiAgICAgZGVmIHRlc3RfcGl4ZWxfdGVzdF9kaXJlY3Rvcmll
cyhzZWxmKToKICAgICAgICAgaG9zdCA9IE1vY2tIb3N0KCkKQEAgLTU2NSwzOSArNTE3LDcgQEAg
Y2xhc3MgUnVuVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSwgU3RyZWFtVGVzdGluZ01peGluKToKICAg
ICBkZWYgdGVzdF9jcmFzaF93aXRoX3N0ZGVycihzZWxmKToKICAgICAgICAgaG9zdCA9IE1vY2tI
b3N0KCkKICAgICAgICAgXywgcmVndWxhcl9vdXRwdXQsIF8gPSBsb2dnaW5nX3J1bihbJ2ZhaWx1
cmVzL3VuZXhwZWN0ZWQvY3Jhc2gtd2l0aC1zdGRlcnIuaHRtbCddLCB0ZXN0c19pbmNsdWRlZD1U
cnVlLCBob3N0PWhvc3QpCi0gICAgICAgIGFjdHVhbF9kaWN0aW9uYXJ5ID0ganNvbi5sb2Fkcyho
b3N0LmZpbGVzeXN0ZW0ucmVhZF90ZXh0X2ZpbGUoJy90bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9m
dWxsX3Jlc3VsdHMuanNvbicpW2xlbignQUREX1JFU1VMVFMoJyk6LTJdKQotICAgICAgICBleHBl
Y3RlZF9kaWN0aW9uYXJ5ID0gewotICAgICAgICAgICAgJ3ZlcnNpb24nOiA0LAotICAgICAgICAg
ICAgJ2ZpeGFibGUnOiAxLAotICAgICAgICAgICAgJ3NraXBwZWQnOiAwLAotICAgICAgICAgICAg
J251bV9wYXNzZXMnOiAwLAotICAgICAgICAgICAgJ251bV9mbGFreSc6IDAsCi0gICAgICAgICAg
ICAnbnVtX21pc3NpbmcnOiAwLAotICAgICAgICAgICAgJ251bV9yZWdyZXNzaW9ucyc6IDEsCi0g
ICAgICAgICAgICAndXNlc19leHBlY3RhdGlvbnNfZmlsZSc6IFRydWUsCi0gICAgICAgICAgICAn
aW50ZXJydXB0ZWQnOiBGYWxzZSwKLSAgICAgICAgICAgICdsYXlvdXRfdGVzdHNfZGlyJzogJy90
ZXN0LmNoZWNrb3V0L0xheW91dFRlc3RzJywKLSAgICAgICAgICAgICdoYXNfcHJldHR5X3BhdGNo
JzogRmFsc2UsCi0gICAgICAgICAgICAncGl4ZWxfdGVzdHNfZW5hYmxlZCc6IFRydWUsCi0gICAg
ICAgICAgICAnb3RoZXJfY3Jhc2hlcyc6IHt9LAotICAgICAgICAgICAgJ2RhdGUnOiAnMTA6MThB
TSBvbiBEZWNlbWJlciAxMywgMjAxOScsCi0gICAgICAgICAgICAndGVzdHMnOiB7Ci0gICAgICAg
ICAgICAgICAgJ2ZhaWx1cmVzJzogewotICAgICAgICAgICAgICAgICAgICAndW5leHBlY3RlZCc6
IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICdjcmFzaC13aXRoLXN0ZGVyci5odG1sJzogewot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICdoYXNfc3RkZXJyJzogVHJ1ZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAncmVwb3J0JzogJ1JFR1JFU1NJT04nLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICdleHBlY3RlZCc6ICdQQVNTJywKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAnYWN0dWFsJzogJ0NSQVNIJywKLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0g
ICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIH0s
Ci0gICAgICAgIH0KLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKLSAgICAgICAgICAgIHNvcnRl
ZChsaXN0KGV4cGVjdGVkX2RpY3Rpb25hcnlbJ3Rlc3RzJ11bJ2ZhaWx1cmVzJ11bJ3VuZXhwZWN0
ZWQnXSkpLAotICAgICAgICAgICAgc29ydGVkKGxpc3QoYWN0dWFsX2RpY3Rpb25hcnlbJ3Rlc3Rz
J11bJ2ZhaWx1cmVzJ11bJ3VuZXhwZWN0ZWQnXSkpLAotICAgICAgICApCisgICAgICAgIHNlbGYu
YXNzZXJ0VHJ1ZShob3N0LmZpbGVzeXN0ZW0ucmVhZF90ZXh0X2ZpbGUoJy90bXAvbGF5b3V0LXRl
c3QtcmVzdWx0cy9mdWxsX3Jlc3VsdHMuanNvbicpLmZpbmQoJ3siY3Jhc2gtd2l0aC1zdGRlcnIu
aHRtbCI6eyJyZXBvcnQiOiJSRUdSRVNTSU9OIiwiZXhwZWN0ZWQiOiJQQVNTIiwiYWN0dWFsIjoi
Q1JBU0giLCJoYXNfc3RkZXJyIjp0cnVlfX0nKSAhPSAtMSkKIAogICAgIGRlZiB0ZXN0X25vX2lt
YWdlX2ZhaWx1cmVfd2l0aF9pbWFnZV9kaWZmKHNlbGYpOgogICAgICAgICBob3N0ID0gTW9ja0hv
c3QoKQpAQCAtODIwLDY2ICs3NDAsMTEgQEAgY2xhc3MgUnVuVGVzdCh1bml0dGVzdC5UZXN0Q2Fz
ZSwgU3RyZWFtVGVzdGluZ01peGluKToKICAgICBkZWYgdGVzdF9yZWZ0ZXN0X3Nob3VsZF9ub3Rf
dXNlX25hbWluZ19jb252ZW50aW9uX2lmX25vdF9saXN0ZWRfaW5fcmVmdGVzdGxpc3Qoc2VsZik6
CiAgICAgICAgIGhvc3QgPSBNb2NrSG9zdCgpCiAgICAgICAgIF8sIGVyciwgXyA9IGxvZ2dpbmdf
cnVuKFsnLS1uby1zaG93LXJlc3VsdHMnLCAncmVmdGVzdHMvZm9vLyddLCB0ZXN0c19pbmNsdWRl
ZD1UcnVlLCBob3N0PWhvc3QpCi0gICAgICAgIGV4cGVjdGVkX2RpY3Rpb25hcnkgPSB7Ci0gICAg
ICAgICAgICAndmVyc2lvbic6IDQsCi0gICAgICAgICAgICAnZml4YWJsZSc6IDUsCi0gICAgICAg
ICAgICAnc2tpcHBlZCc6IDAsCi0gICAgICAgICAgICAnbnVtX3Bhc3Nlcyc6IDMsCi0gICAgICAg
ICAgICAnbnVtX2ZsYWt5JzogMCwKLSAgICAgICAgICAgICdudW1fbWlzc2luZyc6IDEsCi0gICAg
ICAgICAgICAnbnVtX3JlZ3Jlc3Npb25zJzogNCwKLSAgICAgICAgICAgICd1c2VzX2V4cGVjdGF0
aW9uc19maWxlJzogVHJ1ZSwKLSAgICAgICAgICAgICdpbnRlcnJ1cHRlZCc6IEZhbHNlLAotICAg
ICAgICAgICAgJ2xheW91dF90ZXN0c19kaXInOiAnL3Rlc3QuY2hlY2tvdXQvTGF5b3V0VGVzdHMn
LAotICAgICAgICAgICAgJ2hhc19wcmV0dHlfcGF0Y2gnOiBGYWxzZSwKLSAgICAgICAgICAgICdw
aXhlbF90ZXN0c19lbmFibGVkJzogVHJ1ZSwKLSAgICAgICAgICAgICdvdGhlcl9jcmFzaGVzJzog
e30sCi0gICAgICAgICAgICAnZGF0ZSc6ICcxMDoyN0FNIG9uIERlY2VtYmVyIDEzLCAyMDE5JywK
LSAgICAgICAgICAgICd0ZXN0cyc6IHsKLSAgICAgICAgICAgICAgICAncmVmdGVzdHMnOiB7Ci0g
ICAgICAgICAgICAgICAgICAgICdmb28nOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAnbXVs
dGlwbGUtYm90aC1mYWlsdXJlLmh0bWwnOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
J3JlZnRlc3RfdHlwZSc6IFsnIT0nLCAnPT0nXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAncmVwb3J0JzogJ1JFR1JFU1NJT04nLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICdl
eHBlY3RlZCc6ICdQQVNTJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYWN0dWFsJzog
J0lNQUdFJywKLSAgICAgICAgICAgICAgICAgICAgICAgIH0sICdtdWx0aXBsZS1tYXRjaC1mYWls
dXJlLmh0bWwnOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlZnRlc3RfdHlwZSc6
IFsnPT0nXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVwb3J0JzogJ1JFR1JFU1NJ
T04nLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICdleHBlY3RlZCc6ICdQQVNTJywKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAnYWN0dWFsJzogJ0lNQUdFJywKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAnaW1hZ2VfZGlmZl9wZXJjZW50JzogMSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgIH0sICdtdWx0aXBsZS1taXNtYXRjaC1mYWlsdXJlLmh0bWwnOiB7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgJ3JlZnRlc3RfdHlwZSc6IFsnIT0nXSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAncmVwb3J0JzogJ1JFR1JFU1NJT04nLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICdleHBlY3RlZCc6ICdQQVNTJywKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAnYWN0dWFsJzogJ0lNQUdFJywKLSAgICAgICAgICAgICAgICAgICAgICAgIH0sICd0ZXN0
Lmh0bWwnOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlZnRlc3RfdHlwZSc6IFsn
PT0nXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVwb3J0JzogJ1JFR1JFU1NJT04n
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICdleHBlY3RlZCc6ICdQQVNTJywKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAnYWN0dWFsJzogJ0lNQUdFJywKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAnaW1hZ2VfZGlmZl9wZXJjZW50JzogTm9uZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgIH0sICd1bmxpc3RlZHRlc3QuaHRtbCc6IHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAncmVwb3J0JzogJ01JU1NJTkcnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICdleHBlY3RlZCc6ICdQQVNTJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYWN0dWFs
JzogJ01JU1NJTkcnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpc19taXNzaW5nX3Rl
eHQnOiBUcnVlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpc19taXNzaW5nX2ltYWdl
JzogVHJ1ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAg
IH0sCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIH0sCi0gICAgICAgIH0KLSAgICAg
ICAgYWN0dWFsX2RpY3Rpb25hcnkgPSBqc29uLmxvYWRzKGhvc3QuZmlsZXN5c3RlbS5yZWFkX3Rl
eHRfZmlsZSgnL3RtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Z1bGxfcmVzdWx0cy5qc29uJylbbGVu
KCdBRERfUkVTVUxUUygnKTotMl0pCi0KLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKLSAgICAg
ICAgICAgIGV4cGVjdGVkX2RpY3Rpb25hcnlbJ3Rlc3RzJ11bJ3JlZnRlc3RzJ11bJ2ZvbyddWyd1
bmxpc3RlZHRlc3QuaHRtbCddLAotICAgICAgICAgICAgYWN0dWFsX2RpY3Rpb25hcnlbJ3Rlc3Rz
J11bJ3JlZnRlc3RzJ11bJ2ZvbyddWyd1bmxpc3RlZHRlc3QuaHRtbCddLAotICAgICAgICApCi0g
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXhwZWN0ZWRfZGljdGlvbmFyeVsnbnVtX3JlZ3Jlc3Np
b25zJ10sIGFjdHVhbF9kaWN0aW9uYXJ5WydudW1fcmVncmVzc2lvbnMnXSkKLSAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbChleHBlY3RlZF9kaWN0aW9uYXJ5WydudW1fZmxha3knXSwgYWN0dWFsX2Rp
Y3Rpb25hcnlbJ251bV9mbGFreSddKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV4cGVjdGVk
X2RpY3Rpb25hcnlbJ251bV9taXNzaW5nJ10sIGFjdHVhbF9kaWN0aW9uYXJ5WydudW1fbWlzc2lu
ZyddKQorICAgICAgICBqc29uX3N0cmluZyA9IGhvc3QuZmlsZXN5c3RlbS5yZWFkX3RleHRfZmls
ZSgnL3RtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Z1bGxfcmVzdWx0cy5qc29uJykKKyAgICAgICAg
c2VsZi5hc3NlcnRUcnVlKGpzb25fc3RyaW5nLmZpbmQoJyJ1bmxpc3RlZHRlc3QuaHRtbCI6eyJy
ZXBvcnQiOiJNSVNTSU5HIiwiZXhwZWN0ZWQiOiJQQVNTIiwiaXNfbWlzc2luZ190ZXh0Ijp0cnVl
LCJhY3R1YWwiOiJNSVNTSU5HIiwiaXNfbWlzc2luZ19pbWFnZSI6dHJ1ZX0nKSAhPSAtMSkKKyAg
ICAgICAgc2VsZi5hc3NlcnRUcnVlKGpzb25fc3RyaW5nLmZpbmQoJyJudW1fcmVncmVzc2lvbnMi
OjQnKSAhPSAtMSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGpzb25fc3RyaW5nLmZpbmQoJyJu
dW1fZmxha3kiOjAnKSAhPSAtMSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGpzb25fc3RyaW5n
LmZpbmQoJyJudW1fbWlzc2luZyI6MScpICE9IC0xKQogCiAgICAgZGVmIHRlc3RfYWRkaXRpb25h
bF9wbGF0Zm9ybV9kaXJlY3Rvcnkoc2VsZik6CiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShwYXNz
aW5nX3J1bihbJy0tYWRkaXRpb25hbC1wbGF0Zm9ybS1kaXJlY3RvcnknLCAnL3RtcC9mb28nXSkp
CkBAIC0xMDgzLDE4ICs5NDgsMTIgQEAgY2xhc3MgRW5kVG9FbmRUZXN0KHVuaXR0ZXN0LlRlc3RD
YXNlKToKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKCJtdWx0aXBsZS1tYXRjaC1zdWNjZXNzLmh0
bWwiIG5vdCBpbiBqc29uWyJ0ZXN0cyJdWyJyZWZ0ZXN0cyJdWyJmb28iXSkKICAgICAgICAgc2Vs
Zi5hc3NlcnRUcnVlKCJtdWx0aXBsZS1taXNtYXRjaC1zdWNjZXNzLmh0bWwiIG5vdCBpbiBqc29u
WyJ0ZXN0cyJdWyJyZWZ0ZXN0cyJdWyJmb28iXSkKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKCJt
dWx0aXBsZS1ib3RoLXN1Y2Nlc3MuaHRtbCIgbm90IGluIGpzb25bInRlc3RzIl1bInJlZnRlc3Rz
Il1bImZvbyJdKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAotICAgICAgICAgICAganNvblsi
dGVzdHMiXVsicmVmdGVzdHMiXVsiZm9vIl1bIm11bHRpcGxlLW1hdGNoLWZhaWx1cmUuaHRtbCJd
LAotICAgICAgICAgICAgeyJleHBlY3RlZCI6ICJQQVNTIiwgImFjdHVhbCI6ICJJTUFHRSIsICJy
ZWZ0ZXN0X3R5cGUiOiBbIj09Il0sICJpbWFnZV9kaWZmX3BlcmNlbnQiOiAxLCAicmVwb3J0Ijog
IlJFR1JFU1NJT04ifSwKLSAgICAgICAgKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAotICAg
ICAgICAgICAganNvblsidGVzdHMiXVsicmVmdGVzdHMiXVsiZm9vIl1bIm11bHRpcGxlLW1pc21h
dGNoLWZhaWx1cmUuaHRtbCJdLAotICAgICAgICAgICAgeyJleHBlY3RlZCI6ICJQQVNTIiwgImFj
dHVhbCI6ICJJTUFHRSIsICJyZWZ0ZXN0X3R5cGUiOiBbIiE9Il0sICJyZXBvcnQiOiAiUkVHUkVT
U0lPTiJ9LAotICAgICAgICApCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCi0gICAgICAgICAg
ICBqc29uWyJ0ZXN0cyJdWyJyZWZ0ZXN0cyJdWyJmb28iXVsibXVsdGlwbGUtYm90aC1mYWlsdXJl
Lmh0bWwiXSwKLSAgICAgICAgICAgIHsiZXhwZWN0ZWQiOiAiUEFTUyIsICJhY3R1YWwiOiAiSU1B
R0UiLCAicmVmdGVzdF90eXBlIjogc29ydGVkKFsiPT0iLCAiIT0iXSksICJyZXBvcnQiOiAiUkVH
UkVTU0lPTiJ9LAotICAgICAgICApCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoanNvblsidGVz
dHMiXVsicmVmdGVzdHMiXVsiZm9vIl1bIm11bHRpcGxlLW1hdGNoLWZhaWx1cmUuaHRtbCJdLAor
ICAgICAgICAgICAgeyJleHBlY3RlZCI6ICJQQVNTIiwgImFjdHVhbCI6ICJJTUFHRSIsICJyZWZ0
ZXN0X3R5cGUiOiBbIj09Il0sICJpbWFnZV9kaWZmX3BlcmNlbnQiOiAxLCAicmVwb3J0IjogIlJF
R1JFU1NJT04ifSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChqc29uWyJ0ZXN0cyJdWyJyZWZ0
ZXN0cyJdWyJmb28iXVsibXVsdGlwbGUtbWlzbWF0Y2gtZmFpbHVyZS5odG1sIl0sCisgICAgICAg
ICAgICB7ImV4cGVjdGVkIjogIlBBU1MiLCAiYWN0dWFsIjogIklNQUdFIiwgInJlZnRlc3RfdHlw
ZSI6IFsiIT0iXSwgInJlcG9ydCI6ICJSRUdSRVNTSU9OIn0pCisgICAgICAgIHNlbGYuYXNzZXJ0
RXF1YWwoanNvblsidGVzdHMiXVsicmVmdGVzdHMiXVsiZm9vIl1bIm11bHRpcGxlLWJvdGgtZmFp
bHVyZS5odG1sIl0sCisgICAgICAgICAgICB7ImV4cGVjdGVkIjogIlBBU1MiLCAiYWN0dWFsIjog
IklNQUdFIiwgInJlZnRlc3RfdHlwZSI6IFsiPT0iLCAiIT0iXSwgInJlcG9ydCI6ICJSRUdSRVNT
SU9OIn0pCiAKIAogY2xhc3MgUmViYXNlbGluZVRlc3QodW5pdHRlc3QuVGVzdENhc2UsIFN0cmVh
bVRlc3RpbmdNaXhpbik6CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91
dF90ZXN0cy92aWV3cy9tZXRlcmVkX3N0cmVhbS5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
bGF5b3V0X3Rlc3RzL3ZpZXdzL21ldGVyZWRfc3RyZWFtLnB5CmluZGV4IDYwZGY1M2Y4ZGUwZDAy
NGM5ZGNkMzg2NjQzMDhhMTBjOThiNjQ3ZDIuLmI3ZGM5MTkxNTkzOTZhNjA0ODUzOWViMTZiYmNk
NTljMTJhMjUzZmQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rl
c3RzL3ZpZXdzL21ldGVyZWRfc3RyZWFtLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
bGF5b3V0X3Rlc3RzL3ZpZXdzL21ldGVyZWRfc3RyZWFtLnB5CkBAIC0xMDksNyArMTA5LDYgQEAg
Y2xhc3MgTWV0ZXJlZFN0cmVhbShvYmplY3QpOgogCiAgICAgICAgIHRyeToKICAgICAgICAgICAg
IHNlbGYuX3N0cmVhbS53cml0ZSh0aW1lc3RhbXBfc3RyaW5nICsgdHh0KQotICAgICAgICAgICAg
c2VsZi5fc3RyZWFtLmZsdXNoKCkKICAgICAgICAgZXhjZXB0IFVuaWNvZGVFbmNvZGVFcnJvcjoK
ICAgICAgICAgICAgIG91dHB1dCA9ICcnCiAgICAgICAgICAgICBmb3IgYyBpbiB0aW1lc3RhbXBf
c3RyaW5nICsgdHh0OgpAQCAtMTE4LDcgKzExNyw2IEBAIGNsYXNzIE1ldGVyZWRTdHJlYW0ob2Jq
ZWN0KToKICAgICAgICAgICAgICAgICBleGNlcHQgVW5pY29kZUVuY29kZUVycm9yOgogICAgICAg
ICAgICAgICAgICAgICBvdXRwdXQgKz0gJz8nCiAgICAgICAgICAgICBzZWxmLl9zdHJlYW0ud3Jp
dGUob3V0cHV0KQotICAgICAgICAgICAgc2VsZi5fc3RyZWFtLmZsdXNoKCkKIAogICAgIGRlZiB3
cml0ZWxuKHNlbGYsIHR4dCwgbm93PU5vbmUsIHBpZD1Ob25lKToKICAgICAgICAgc2VsZi53cml0
ZShzZWxmLl9lbnN1cmVfbmV3bGluZSh0eHQpLCBub3csIHBpZCkKQEAgLTEyNyw3ICsxMjUsNiBA
QCBjbGFzcyBNZXRlcmVkU3RyZWFtKG9iamVjdCk6CiAgICAgICAgIG51bV9jaGFycyA9IGxlbihz
ZWxmLl9sYXN0X3BhcnRpYWxfbGluZSkKICAgICAgICAgc2VsZi5fc3RyZWFtLndyaXRlKHNlbGYu
X2VyYXN1cmUoc2VsZi5fbGFzdF9wYXJ0aWFsX2xpbmUpKQogICAgICAgICBzZWxmLl9sYXN0X3Bh
cnRpYWxfbGluZSA9ICcnCi0gICAgICAgIHNlbGYuX3N0cmVhbS5mbHVzaCgpCiAKICAgICBkZWYg
Zmx1c2goc2VsZik6CiAgICAgICAgIGlmIHNlbGYuX2xhc3RfcGFydGlhbF9saW5lOgpkaWZmIC0t
Z2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvdmlld3MvcHJpbnRpbmcu
cHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy92aWV3cy9wcmludGluZy5w
eQppbmRleCAyZDIyNWQ1NmJmZmI5NDFhODBhMjQyODVlNTNiMDQxZGIyYTU2OGZjLi5hMjk3NjI5
ZDI5NTdiNWQwNTI4OTE4N2VkNWE4MTA3NDQ1MWQ0OGE4IDEwMDY0NAotLS0gYS9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy92aWV3cy9wcmludGluZy5weQorKysgYi9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy92aWV3cy9wcmludGluZy5weQpAQCAtMjM5LDcg
KzIzOSw3IEBAIGNsYXNzIFByaW50ZXIob2JqZWN0KToKICAgICAgICAgc2VsZi5fcHJpbnRfZGVi
dWcoIlRpbWUgdG8gcHJvY2VzcyBzbG93ZXN0IHN1YmRpcmVjdG9yaWVzOiIpCiAgICAgICAgIG1p
bl9zZWNvbmRzX3RvX3ByaW50ID0gMTAKICAgICAgICAgZm9yIHRpbWluZyBpbiB0aW1pbmdzOgot
ICAgICAgICAgICAgaWYgdGltaW5nWzFdID4gbWluX3NlY29uZHNfdG9fcHJpbnQ6CisgICAgICAg
ICAgICBpZiB0aW1pbmdbMF0gPiBtaW5fc2Vjb25kc190b19wcmludDoKICAgICAgICAgICAgICAg
ICBzZWxmLl9wcmludF9kZWJ1ZygiICAlcyB0b29rICVzIHNlY29uZHMgdG8gcnVuICVzIHRlc3Rz
LiIgJSB0aW1pbmcpCiAgICAgICAgIHNlbGYuX3ByaW50X2RlYnVnKCIiKQogCkBAIC0yNTQsMTAg
KzI1NCwxMCBAQCBjbGFzcyBQcmludGVyKG9iamVjdCk6CiAgICAgICAgIHBlcmNlbnRpbGU5OSA9
IHRpbWluZ3NbaW50KC45OSAqIG51bV90ZXN0cyldCiAKICAgICAgICAgaWYgbnVtX3Rlc3RzICUg
MiA9PSAxOgotICAgICAgICAgICAgbWVkaWFuID0gdGltaW5nc1sobnVtX3Rlc3RzIC0gMSkgLy8g
MiAtIDFdCisgICAgICAgICAgICBtZWRpYW4gPSB0aW1pbmdzWygobnVtX3Rlc3RzIC0gMSkgLyAy
KSAtIDFdCiAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBsb3dlciA9IHRpbWluZ3NbbnVtX3Rl
c3RzIC8vIDIgLSAxXQotICAgICAgICAgICAgdXBwZXIgPSB0aW1pbmdzW251bV90ZXN0cyAvLyAy
XQorICAgICAgICAgICAgbG93ZXIgPSB0aW1pbmdzW251bV90ZXN0cyAvIDIgLSAxXQorICAgICAg
ICAgICAgdXBwZXIgPSB0aW1pbmdzW251bV90ZXN0cyAvIDJdCiAgICAgICAgICAgICBtZWRpYW4g
PSAoZmxvYXQobG93ZXIgKyB1cHBlcikpIC8gMgogCiAgICAgICAgIG1lYW4gPSBzdW0odGltaW5n
cykgLyBudW1fdGVzdHMKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9k
YXJ3aW4ucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvZGFyd2luLnB5CmluZGV4IGI1
MjgxNDE1MmQ3MTMzODVlMDFiOWYyNTg3ZGI3YTRmN2Q3ZGQwOTIuLjRkZGQyOTBmMGRlOTRkZTEy
OGE2NzFlMmMzY2RiMzQ1ZjQ1N2JiNjYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvcG9ydC9kYXJ3aW4ucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2Rhcndp
bi5weQpAQCAtOTgsNyArOTgsNyBAQCBjbGFzcyBEYXJ3aW5Qb3J0KEFwcGxlUG9ydCk6CiAgICAg
ICAgIHJldHVybiBzZWxmLmhvc3QuZmlsZXN5c3RlbS5qb2luKGxvZ19kaXJlY3RvcnksICdDcmFz
aFJlcG9ydGVyJykKIAogICAgIGRlZiBfbWVyZ2VfY3Jhc2hfbG9ncyhzZWxmLCBsb2dzLCBuZXdf
bG9ncywgY3Jhc2hlZF9wcm9jZXNzZXMpOgotICAgICAgICBmb3IgdGVzdCwgY3Jhc2hfbG9nIGlu
IG5ld19sb2dzLml0ZW1zKCk6CisgICAgICAgIGZvciB0ZXN0LCBjcmFzaF9sb2cgaW4gbmV3X2xv
Z3MuaXRlcml0ZW1zKCk6CiAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgaWYgdGVz
dC5zcGxpdCgnLScpWzBdID09ICdTYW5kYm94JzoKICAgICAgICAgICAgICAgICAgICAgcHJvY2Vz
c19uYW1lID0gdGVzdC5zcGxpdCgnLScpWzFdCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L3BvcnQvZGV2aWNlLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2Rldmlj
ZS5weQppbmRleCA3OTE1MmI2YjE2MTZiMjQ5NDc4ODAzODljYTFjYTc3NjBjOTE0NjM3Li5kMjY2
OTNlZWMzNDM5YTZhNjk1OTQwY2RmZTQzY2E0N2YxZTk2OWNkIDEwMDY0NAotLS0gYS9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L3BvcnQvZGV2aWNlLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvcG9ydC9kZXZpY2UucHkKQEAgLTExNiw2ICsxMTYsMyBAQCBjbGFzcyBEZXZpY2Uob2JqZWN0
KToKIAogICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKICAgICAgICAgcmV0dXJuIHUne30nLmZvcm1h
dChzZWxmLnBsYXRmb3JtX2RldmljZSkKLQotICAgIGRlZiBfX2hhc2hfXyhzZWxmKToKLSAgICAg
ICAgcmV0dXJuIGhhc2goc2VsZi51ZGlkKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9wb3J0L2RldmljZV9wb3J0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2Rl
dmljZV9wb3J0LnB5CmluZGV4IGRhZjg2ZmYwM2EzNzFjZDg5ZmJiZTkxNjI5M2UzMDc2NDk3Njg3
MzAuLjdmNzljNmY0MmRkNmY5YTI1MDlkYjQxNjQwOThkOTUyOGEyNWE2YzEgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9kZXZpY2VfcG9ydC5weQorKysgYi9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L3BvcnQvZGV2aWNlX3BvcnQucHkKQEAgLTk1LDcgKzk1LDcgQEAgY2xh
c3MgRGV2aWNlUG9ydChEYXJ3aW5Qb3J0KToKICAgICAgICAgICAgIF9sb2cuZGVidWcoJ1NraXBw
aW5nIGluc3RhbGxhdGlvbicpCiAgICAgICAgICAgICByZXR1cm4KIAotICAgICAgICBmb3IgaSBp
biByYW5nZShzZWxmLmNoaWxkX3Byb2Nlc3NlcygpKToKKyAgICAgICAgZm9yIGkgaW4geHJhbmdl
KHNlbGYuY2hpbGRfcHJvY2Vzc2VzKCkpOgogICAgICAgICAgICAgZGV2aWNlID0gc2VsZi50YXJn
ZXRfaG9zdChpKQogICAgICAgICAgICAgX2xvZy5kZWJ1Zyh1J0luc3RhbGxpbmcgdG8ge30nLmZv
cm1hdChkZXZpY2UpKQogICAgICAgICAgICAgIyBXaXRob3V0IHBhc3NpbmcgRFlMRF9MSUJSQVJZ
X1BBVEgsIGxpYldlYkNvcmVUZXN0U3VwcG9ydCBjYW5ub3QgYmUgbG9hZGVkIGFuZCBEUlQvV0tU
UiB3aWxsIGNyYXNoIHByZS1sYXVuY2gsCkBAIC0xODYsNyArMTg2LDcgQEAgY2xhc3MgRGV2aWNl
UG9ydChEYXJ3aW5Qb3J0KToKIAogICAgICAgICBzZWxmLl9pbnN0YWxsKCkKIAotICAgICAgICBm
b3IgaSBpbiByYW5nZShzZWxmLmNoaWxkX3Byb2Nlc3NlcygpKToKKyAgICAgICAgZm9yIGkgaW4g
eHJhbmdlKHNlbGYuY2hpbGRfcHJvY2Vzc2VzKCkpOgogICAgICAgICAgICAgaG9zdCA9IHNlbGYu
dGFyZ2V0X2hvc3QoaSkKICAgICAgICAgICAgIGhvc3QucHJlcGFyZV9mb3JfdGVzdGluZygKICAg
ICAgICAgICAgICAgICBzZWxmLnBvcnRzX3RvX2ZvcndhcmQoKSwKQEAgLTIwMSw3ICsyMDEsNyBA
QCBjbGFzcyBEZXZpY2VQb3J0KERhcndpblBvcnQpOgogICAgICAgICAjIEJlc3QgZWZmb3J0IHRv
IGxldCBldmVyeSBkZXZpY2UgdGVhcmRvd24gYmVmb3JlIHRocm93aW5nIGFueSBleGNlcHRpb25z
IGhlcmUuCiAgICAgICAgICMgRmFpbHVyZSB0byB0ZWFyZG93biBkZXZpY2VzIGNhbiBsZWF2ZSB0
aGluZ3MgaW4gYSBiYWQgc3RhdGUuCiAgICAgICAgIGV4Y2VwdGlvbl9saXN0ID0gW10KLSAgICAg
ICAgZm9yIGkgaW4gcmFuZ2Uoc2VsZi5jaGlsZF9wcm9jZXNzZXMoKSk6CisgICAgICAgIGZvciBp
IGluIHhyYW5nZShzZWxmLmNoaWxkX3Byb2Nlc3NlcygpKToKICAgICAgICAgICAgIGRldmljZSA9
IHNlbGYudGFyZ2V0X2hvc3QoaSkKICAgICAgICAgICAgIGlmIG5vdCBkZXZpY2U6CiAgICAgICAg
ICAgICAgICAgY29udGludWUKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9y
dC9kcml2ZXIucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvZHJpdmVyLnB5CmluZGV4
IDVlMzNlOTg0YTI4NjY5MjZhNWRjYWRkYmYzYmRjN2IyODI5MzY0NTQuLmRiMGU0N2E4MDMyMGI2
MWZmOGMzZDAwMWNlMzY2ZTdhMTRkMzgxMWYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvcG9ydC9kcml2ZXIucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2Ry
aXZlci5weQpAQCAtMzksNyArMzksNiBAQCBmcm9tIGNvbGxlY3Rpb25zIGltcG9ydCBkZWZhdWx0
ZGljdAogZnJvbSBvcy5wYXRoIGltcG9ydCBub3JtcGF0aAogZnJvbSB3ZWJraXRweS5jb21tb24u
c3lzdGVtIGltcG9ydCBwYXRoCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0ucHJvZmlsZXIg
aW1wb3J0IFByb2ZpbGVyRmFjdG9yeQotZnJvbSB3ZWJraXRweS5jb21tb24udW5pY29kZV9jb21w
YXRpYmlsaXR5IGltcG9ydCBlbmNvZGVfaWZfbmVjZXNzYXJ5LCBkZWNvZGVfZm9yCiAKIAogX2xv
ZyA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKF9fbmFtZV9fKQpAQCAtODcsMTEgKzg2LDExIEBAIGNsYXNz
IERyaXZlck91dHB1dChvYmplY3QpOgogICAgICAgICAgICAgdGVzdF90aW1lPTAsIG1lYXN1cmVt
ZW50cz1Ob25lLCB0aW1lb3V0PUZhbHNlLCBlcnJvcj0nJywgY3Jhc2hlZF9wcm9jZXNzX25hbWU9
Jz8/JywKICAgICAgICAgICAgIGNyYXNoZWRfcGlkPU5vbmUsIGNyYXNoX2xvZz1Ob25lLCBwaWQ9
Tm9uZSk6CiAgICAgICAgICMgRklYTUU6IEFyZ3MgY291bGQgYmUgcmVuYW1lZCB0byBiZXR0ZXIg
Y2xhcmlmeSB3aGF0IHRoZXkgZG8uCi0gICAgICAgIHNlbGYudGV4dCA9IGRlY29kZV9mb3IodGV4
dCwgc3RyKSBpZiB0ZXh0IGVsc2UgTm9uZQorICAgICAgICBzZWxmLnRleHQgPSB0ZXh0CiAgICAg
ICAgIHNlbGYuaW1hZ2UgPSBpbWFnZSAgIyBNYXkgYmUgZW1wdHktc3RyaW5nIGlmIHRoZSB0ZXN0
IGNyYXNoZXMuCiAgICAgICAgIHNlbGYuaW1hZ2VfaGFzaCA9IGltYWdlX2hhc2gKICAgICAgICAg
c2VsZi5pbWFnZV9kaWZmID0gTm9uZSAgIyBpbWFnZV9kaWZmIGdldHMgZmlsbGVkIGluIGFmdGVy
IGNvbnN0cnVjdGlvbi4KLSAgICAgICAgc2VsZi5hdWRpbyA9IGVuY29kZV9pZl9uZWNlc3Nhcnko
YXVkaW8pIGlmIGF1ZGlvIGVsc2UgTm9uZSAgIyBCaW5hcnkgZm9ybWF0IGlzIHBvcnQtZGVwZW5k
ZW50LgorICAgICAgICBzZWxmLmF1ZGlvID0gYXVkaW8gICMgQmluYXJ5IGZvcm1hdCBpcyBwb3J0
LWRlcGVuZGVudC4KICAgICAgICAgc2VsZi5jcmFzaCA9IGNyYXNoCiAgICAgICAgIHNlbGYuY3Jh
c2hlZF9wcm9jZXNzX25hbWUgPSBjcmFzaGVkX3Byb2Nlc3NfbmFtZQogICAgICAgICBzZWxmLmNy
YXNoZWRfcGlkID0gY3Jhc2hlZF9waWQKQEAgLTE2Miw3ICsxNjEsNyBAQCBjbGFzcyBEcml2ZXIo
b2JqZWN0KToKICAgICAgICAgIyBzdGRlcnIgb3V0cHV0LCBhcyB3ZWxsIGFzIGlmIHdlJ3ZlIHNl
ZW4gI0VPRiBvbiB0aGlzIGRyaXZlciBpbnN0YW5jZS4KICAgICAgICAgIyBGSVhNRTogV2Ugc2hv
dWxkIHByb2JhYmx5IHJlbW92ZSBfcmVhZF9maXJzdF9ibG9jayBhbmQgX3JlYWRfb3B0aW9uYWxf
aW1hZ2VfYmxvY2sgYW5kCiAgICAgICAgICMgaW5zdGVhZCBzY29wZSB0aGVzZSBsb2NhbGx5IGlu
IHJ1bl90ZXN0LgotICAgICAgICBzZWxmLmVycm9yX2Zyb21fdGVzdCA9ICcnCisgICAgICAgIHNl
bGYuZXJyb3JfZnJvbV90ZXN0ID0gc3RyKCkKICAgICAgICAgc2VsZi5lcnJfc2Vlbl9lb2YgPSBG
YWxzZQogCiAgICAgICAgIHNlbGYuX3NlcnZlcl9uYW1lID0gc2VsZi5fcG9ydC5kcml2ZXJfbmFt
ZSgpCkBAIC0xOTcsNyArMTk2LDcgQEAgY2xhc3MgRHJpdmVyKG9iamVjdCk6CiAgICAgICAgIHRl
c3RfYmVnaW5fdGltZSA9IHRpbWUudGltZSgpCiAgICAgICAgIHNlbGYuX2RyaXZlcl90aW1lZF9v
dXQgPSBGYWxzZQogICAgICAgICBzZWxmLl9jcmFzaF9yZXBvcnRfZnJvbV9kcml2ZXIgPSBOb25l
Ci0gICAgICAgIHNlbGYuZXJyb3JfZnJvbV90ZXN0ID0gJycKKyAgICAgICAgc2VsZi5lcnJvcl9m
cm9tX3Rlc3QgPSBzdHIoKQogICAgICAgICBzZWxmLmVycl9zZWVuX2VvZiA9IEZhbHNlCiAKICAg
ICAgICAgY29tbWFuZCA9IHNlbGYuX2NvbW1hbmRfZnJvbV9kcml2ZXJfaW5wdXQoZHJpdmVyX2lu
cHV0KQpAQCAtMjE1LDcgKzIxNCw2IEBAIGNsYXNzIERyaXZlcihvYmplY3QpOgogICAgICAgICBz
ZWxmLl9zZXJ2ZXJfcHJvY2Vzcy53cml0ZShjb21tYW5kKQogICAgICAgICB0ZXh0LCBhdWRpbyA9
IHNlbGYuX3JlYWRfZmlyc3RfYmxvY2soZGVhZGxpbmUsIGRyaXZlcl9pbnB1dC50ZXN0X25hbWUp
ICAjIEZpcnN0IGJsb2NrIGlzIGVpdGhlciB0ZXh0IG9yIGF1ZGlvCiAgICAgICAgIGltYWdlLCBh
Y3R1YWxfaW1hZ2VfaGFzaCA9IHNlbGYuX3JlYWRfb3B0aW9uYWxfaW1hZ2VfYmxvY2soZGVhZGxp
bmUsIGRyaXZlcl9pbnB1dC50ZXN0X25hbWUpICAjIFRoZSBzZWNvbmQgKG9wdGlvbmFsKSBibG9j
ayBpcyBpbWFnZSBkYXRhLgotICAgICAgICB0ZXh0ID0gZGVjb2RlX2Zvcih0ZXh0LCBzdHIpCiAK
ICAgICAgICAgY3Jhc2hlZCA9IHNlbGYuaGFzX2NyYXNoZWQoKQogICAgICAgICB0aW1lZF9vdXQg
PSBzZWxmLl9zZXJ2ZXJfcHJvY2Vzcy50aW1lZF9vdXQKQEAgLTIyOSw5ICsyMjcsOSBAQCBjbGFz
cyBEcml2ZXIob2JqZWN0KToKICAgICAgICAgICAgICMgSW4gdGhlIHRpbWVvdXQgY2FzZSwgd2Ug
a2lsbCB0aGUgaHVuZyBwcm9jZXNzIGFzIHdlbGwuCiAgICAgICAgICAgICBvdXQsIGVyciA9IHNl
bGYuX3NlcnZlcl9wcm9jZXNzLnN0b3Aoc2VsZi5fcG9ydC5kcml2ZXJfc3RvcF90aW1lb3V0KCkg
aWYgc3RvcF93aGVuX2RvbmUgZWxzZSAwLjApCiAgICAgICAgICAgICBpZiBvdXQ6Ci0gICAgICAg
ICAgICAgICAgdGV4dCArPSBkZWNvZGVfZm9yKG91dCwgc3RyKQorICAgICAgICAgICAgICAgIHRl
eHQgKz0gb3V0CiAgICAgICAgICAgICBpZiBlcnI6Ci0gICAgICAgICAgICAgICAgc2VsZi5lcnJv
cl9mcm9tX3Rlc3QgKz0gZGVjb2RlX2ZvcihlcnIsIHN0cikKKyAgICAgICAgICAgICAgICBzZWxm
LmVycm9yX2Zyb21fdGVzdCArPSBlcnIKICAgICAgICAgICAgIHNlbGYuX3NlcnZlcl9wcm9jZXNz
ID0gTm9uZQogCiAgICAgICAgIGNyYXNoX2xvZyA9IE5vbmUKQEAgLTI4MiwxMCArMjgwLDEwIEBA
IGNsYXNzIERyaXZlcihvYmplY3QpOgogICAgICAgICBjaGlsZF9wcm9jZXNzZXMgPSBkZWZhdWx0
ZGljdChsaXN0KQogCiAgICAgICAgIGZvciBsaW5lIGluIG91dHB1dC5zcGxpdGxpbmVzKCk6Ci0g
ICAgICAgICAgICBtID0gcmUubWF0Y2goYideKFteOl0rKTogKFswLTldKykkJywgbGluZSkKKyAg
ICAgICAgICAgIG0gPSByZS5tYXRjaCgnXihbXjpdKyk6IChbMC05XSspJCcsIGxpbmUpCiAgICAg
ICAgICAgICBpZiBtOgotICAgICAgICAgICAgICAgIHByb2Nlc3NfbmFtZSA9IGRlY29kZV9mb3Io
bS5ncm91cCgxKSwgc3RyKQotICAgICAgICAgICAgICAgIHByb2Nlc3NfaWQgPSBkZWNvZGVfZm9y
KG0uZ3JvdXAoMiksIHN0cikKKyAgICAgICAgICAgICAgICBwcm9jZXNzX25hbWUgPSBtLmdyb3Vw
KDEpCisgICAgICAgICAgICAgICAgcHJvY2Vzc19pZCA9IG0uZ3JvdXAoMikKICAgICAgICAgICAg
ICAgICBjaGlsZF9wcm9jZXNzZXNbcHJvY2Vzc19uYW1lXS5hcHBlbmQocHJvY2Vzc19pZCkKIAog
ICAgICAgICByZXR1cm4gY2hpbGRfcHJvY2Vzc2VzCkBAIC01NDIsMTAgKzU0MCwxMCBAQCBjbGFz
cyBEcml2ZXIob2JqZWN0KToKICAgICAgICAgcmV0dXJuIGNtZAogCiAgICAgZGVmIF9jaGVja19m
b3JfZHJpdmVyX3RpbWVvdXQoc2VsZiwgb3V0X2xpbmUpOgotICAgICAgICBpZiBvdXRfbGluZS5z
dGFydHN3aXRoKGIiI1BJRCBVTlJFU1BPTlNJVkUgLSAiKToKLSAgICAgICAgICAgIG1hdGNoID0g
cmUubWF0Y2goYicjUElEIFVOUkVTUE9OU0lWRSAtIChcUyspJywgb3V0X2xpbmUpCi0gICAgICAg
ICAgICBjaGlsZF9wcm9jZXNzX25hbWUgPSBkZWNvZGVfZm9yKG1hdGNoLmdyb3VwKDEpLCBzdHIp
IGlmIG1hdGNoIGVsc2UgJ1dlYlByb2Nlc3MnCi0gICAgICAgICAgICBtYXRjaCA9IHJlLnNlYXJj
aChiJ3BpZCAoXGQrKScsIG91dF9saW5lKQorICAgICAgICBpZiBvdXRfbGluZS5zdGFydHN3aXRo
KCIjUElEIFVOUkVTUE9OU0lWRSAtICIpOgorICAgICAgICAgICAgbWF0Y2ggPSByZS5tYXRjaCgn
I1BJRCBVTlJFU1BPTlNJVkUgLSAoXFMrKScsIG91dF9saW5lKQorICAgICAgICAgICAgY2hpbGRf
cHJvY2Vzc19uYW1lID0gbWF0Y2guZ3JvdXAoMSkgaWYgbWF0Y2ggZWxzZSAnV2ViUHJvY2VzcycK
KyAgICAgICAgICAgIG1hdGNoID0gcmUuc2VhcmNoKCdwaWQgKFxkKyknLCBvdXRfbGluZSkKICAg
ICAgICAgICAgIGNoaWxkX3Byb2Nlc3NfcGlkID0gaW50KG1hdGNoLmdyb3VwKDEpKSBpZiBtYXRj
aCBlbHNlIE5vbmUKICAgICAgICAgICAgIGVycl9saW5lID0gJ1dhaXQgb24gbm90aWZ5RG9uZSB0
aW1lZCBvdXQsIHByb2Nlc3MgJyArIGNoaWxkX3Byb2Nlc3NfbmFtZSArICcgcGlkID0gJyArIHN0
cihjaGlsZF9wcm9jZXNzX3BpZCkKICAgICAgICAgICAgIHNlbGYuZXJyb3JfZnJvbV90ZXN0ICs9
IGVycl9saW5lCkBAIC01NTYsMzIgKzU1NCwzMiBAQCBjbGFzcyBEcml2ZXIob2JqZWN0KToKICAg
ICAgICAgICAgIHNlbGYuX2RyaXZlcl90aW1lZF9vdXQgPSBUcnVlCiAKICAgICBkZWYgX2NoZWNr
X2Zvcl9hZGRyZXNzX3Nhbml0aXplcl92aW9sYXRpb24oc2VsZiwgZXJyb3JfbGluZSk6Ci0gICAg
ICAgIGlmIGIiRVJST1I6IEFkZHJlc3NTYW5pdGl6ZXIiIGluIGVycm9yX2xpbmU6CisgICAgICAg
IGlmICJFUlJPUjogQWRkcmVzc1Nhbml0aXplciIgaW4gZXJyb3JfbGluZToKICAgICAgICAgICAg
IHJldHVybiBUcnVlCiAKICAgICBkZWYgX2NoZWNrX2Zvcl9kcml2ZXJfY3Jhc2hfb3JfdW5yZXNw
b25zaXZlbmVzcyhzZWxmLCBlcnJvcl9saW5lKToKLSAgICAgICAgY3Jhc2hlZF9jaGVjayA9IGVy
cm9yX2xpbmUucnN0cmlwKGInXHJcbicpCi0gICAgICAgIGlmIGNyYXNoZWRfY2hlY2sgPT0gYiIj
Q1JBU0hFRCI6CisgICAgICAgIGNyYXNoZWRfY2hlY2sgPSBlcnJvcl9saW5lLnJzdHJpcCgnXHJc
bicpCisgICAgICAgIGlmIGNyYXNoZWRfY2hlY2sgPT0gIiNDUkFTSEVEIjoKICAgICAgICAgICAg
IHNlbGYuX2NyYXNoZWRfcHJvY2Vzc19uYW1lID0gc2VsZi5fc2VydmVyX3Byb2Nlc3MucHJvY2Vz
c19uYW1lKCkKICAgICAgICAgICAgIHNlbGYuX2NyYXNoZWRfcGlkID0gc2VsZi5fc2VydmVyX3By
b2Nlc3Muc3lzdGVtX3BpZCgpCiAgICAgICAgICAgICByZXR1cm4gVHJ1ZQotICAgICAgICBlbGlm
IGVycm9yX2xpbmUuc3RhcnRzd2l0aChiIiNDUkFTSEVEIC0gIik6Ci0gICAgICAgICAgICBtYXRj
aCA9IHJlLm1hdGNoKGInI0NSQVNIRUQgLSAoXFMrKScsIGVycm9yX2xpbmUpCi0gICAgICAgICAg
ICBzZWxmLl9jcmFzaGVkX3Byb2Nlc3NfbmFtZSA9IGRlY29kZV9mb3IobWF0Y2guZ3JvdXAoMSks
IHN0cikgaWYgbWF0Y2ggZWxzZSAnV2ViUHJvY2VzcycKLSAgICAgICAgICAgIG1hdGNoID0gcmUu
c2VhcmNoKGIncGlkIChcZCspJywgZXJyb3JfbGluZSkKKyAgICAgICAgZWxpZiBlcnJvcl9saW5l
LnN0YXJ0c3dpdGgoIiNDUkFTSEVEIC0gIik6CisgICAgICAgICAgICBtYXRjaCA9IHJlLm1hdGNo
KCcjQ1JBU0hFRCAtIChcUyspJywgZXJyb3JfbGluZSkKKyAgICAgICAgICAgIHNlbGYuX2NyYXNo
ZWRfcHJvY2Vzc19uYW1lID0gbWF0Y2guZ3JvdXAoMSkgaWYgbWF0Y2ggZWxzZSAnV2ViUHJvY2Vz
cycKKyAgICAgICAgICAgIG1hdGNoID0gcmUuc2VhcmNoKCdwaWQgKFxkKyknLCBlcnJvcl9saW5l
KQogICAgICAgICAgICAgc2VsZi5fY3Jhc2hlZF9waWQgPSBpbnQobWF0Y2guZ3JvdXAoMSkpIGlm
IG1hdGNoIGVsc2UgTm9uZQogICAgICAgICAgICAgX2xvZy5kZWJ1ZygnJXMgY3Jhc2gsIHBpZCA9
ICVzJyAlIChzZWxmLl9jcmFzaGVkX3Byb2Nlc3NfbmFtZSwgc3RyKHNlbGYuX2NyYXNoZWRfcGlk
KSkpCiAgICAgICAgICAgICByZXR1cm4gVHJ1ZQotICAgICAgICBlbGlmIGVycm9yX2xpbmUuc3Rh
cnRzd2l0aChiIiNQUk9DRVNTIFVOUkVTUE9OU0lWRSAtICIpOgotICAgICAgICAgICAgbWF0Y2gg
PSByZS5tYXRjaChiJyNQUk9DRVNTIFVOUkVTUE9OU0lWRSAtIChcUyspJywgZXJyb3JfbGluZSkK
LSAgICAgICAgICAgIGNoaWxkX3Byb2Nlc3NfbmFtZSA9IGRlY29kZV9mb3IobWF0Y2guZ3JvdXAo
MSksIHN0cikgaWYgbWF0Y2ggZWxzZSAnV2ViUHJvY2VzcycKLSAgICAgICAgICAgIG1hdGNoID0g
cmUuc2VhcmNoKGIncGlkIChcZCspJywgZXJyb3JfbGluZSkKKyAgICAgICAgZWxpZiBlcnJvcl9s
aW5lLnN0YXJ0c3dpdGgoIiNQUk9DRVNTIFVOUkVTUE9OU0lWRSAtICIpOgorICAgICAgICAgICAg
bWF0Y2ggPSByZS5tYXRjaCgnI1BST0NFU1MgVU5SRVNQT05TSVZFIC0gKFxTKyknLCBlcnJvcl9s
aW5lKQorICAgICAgICAgICAgY2hpbGRfcHJvY2Vzc19uYW1lID0gbWF0Y2guZ3JvdXAoMSkgaWYg
bWF0Y2ggZWxzZSAnV2ViUHJvY2VzcycKKyAgICAgICAgICAgIG1hdGNoID0gcmUuc2VhcmNoKCdw
aWQgKFxkKyknLCBlcnJvcl9saW5lKQogICAgICAgICAgICAgY2hpbGRfcHJvY2Vzc19waWQgPSBp
bnQobWF0Y2guZ3JvdXAoMSkpIGlmIG1hdGNoIGVsc2UgTm9uZQogICAgICAgICAgICAgX2xvZy5k
ZWJ1ZygnJXMgaXMgdW5yZXNwb25zaXZlLCBwaWQgPSAlcycgJSAoY2hpbGRfcHJvY2Vzc19uYW1l
LCBzdHIoY2hpbGRfcHJvY2Vzc19waWQpKSkKICAgICAgICAgICAgIHNlbGYuX2RyaXZlcl90aW1l
ZF9vdXQgPSBUcnVlCiAgICAgICAgICAgICBpZiBjaGlsZF9wcm9jZXNzX3BpZDoKICAgICAgICAg
ICAgICAgICBzZWxmLl9wb3J0LnNhbXBsZV9wcm9jZXNzKGNoaWxkX3Byb2Nlc3NfbmFtZSwgY2hp
bGRfcHJvY2Vzc19waWQsIHNlbGYuX3RhcmdldF9ob3N0KQotICAgICAgICAgICAgc2VsZi5lcnJv
cl9mcm9tX3Rlc3QgKz0gZGVjb2RlX2ZvcihlcnJvcl9saW5lLCBzdHIpCisgICAgICAgICAgICBz
ZWxmLmVycm9yX2Zyb21fdGVzdCArPSBlcnJvcl9saW5lCiAgICAgICAgICAgICBzZWxmLl9zZXJ2
ZXJfcHJvY2Vzcy53cml0ZSgnI1NBTVBMRSBGSU5JU0hFRFxuJywgVHJ1ZSkgICMgTXVzdCBiZSBh
YmxlIHRvIGlnbm9yZSBhIGJyb2tlbiBwaXBlIGhlcmUsIHRhcmdldCBwcm9jZXNzIG1heSBhbHJl
YWR5IGJlIGNsb3NlZC4KICAgICAgICAgICAgIHJldHVybiBUcnVlCiAgICAgICAgIHJldHVybiBz
ZWxmLmhhc19jcmFzaGVkKCkKQEAgLTYzMCwxMiArNjI4LDEyIEBAIGNsYXNzIERyaXZlcihvYmpl
Y3QpOgogICAgICAgICAjIHJldHVybnMgKGltYWdlLCBhY3R1YWxfaW1hZ2VfaGFzaCkKICAgICAg
ICAgYmxvY2sgPSBzZWxmLl9yZWFkX2Jsb2NrKGRlYWRsaW5lLCB0ZXN0X25hbWUsIHdhaXRfZm9y
X3N0ZGVycl9lb2Y9VHJ1ZSkKICAgICAgICAgaWYgYmxvY2suY29udGVudCBhbmQgYmxvY2suY29u
dGVudF90eXBlID09ICdpbWFnZS9wbmcnOgotICAgICAgICAgICAgcmV0dXJuIChibG9jay5kZWNv
ZGVkX2NvbnRlbnQgaWYgYmxvY2suZW5jb2RpbmcgPT0gJ2Jhc2U2NCcgZWxzZSBibG9jay5jb250
ZW50LCBibG9jay5jb250ZW50X2hhc2gpCisgICAgICAgICAgICByZXR1cm4gKGJsb2NrLmRlY29k
ZWRfY29udGVudCwgYmxvY2suY29udGVudF9oYXNoKQogICAgICAgICByZXR1cm4gKE5vbmUsIGJs
b2NrLmNvbnRlbnRfaGFzaCkKIAogICAgIGRlZiBfcmVhZF9oZWFkZXIoc2VsZiwgYmxvY2ssIGxp
bmUsIGhlYWRlcl90ZXh0LCBoZWFkZXJfYXR0ciwgaGVhZGVyX2ZpbHRlcj1Ob25lKToKICAgICAg
ICAgaWYgbGluZS5zdGFydHN3aXRoKGhlYWRlcl90ZXh0KSBhbmQgZ2V0YXR0cihibG9jaywgaGVh
ZGVyX2F0dHIpIGlzIE5vbmU6Ci0gICAgICAgICAgICB2YWx1ZSA9IGRlY29kZV9mb3IobGluZS5z
cGxpdCgpWzFdLCBzdHIpCisgICAgICAgICAgICB2YWx1ZSA9IGxpbmUuc3BsaXQoKVsxXQogICAg
ICAgICAgICAgaWYgaGVhZGVyX2ZpbHRlcjoKICAgICAgICAgICAgICAgICB2YWx1ZSA9IGhlYWRl
cl9maWx0ZXIodmFsdWUpCiAgICAgICAgICAgICBzZXRhdHRyKGJsb2NrLCBoZWFkZXJfYXR0ciwg
dmFsdWUpCkBAIC02NDMsMjMgKzY0MSwxOSBAQCBjbGFzcyBEcml2ZXIob2JqZWN0KToKICAgICAg
ICAgcmV0dXJuIEZhbHNlCiAKICAgICBkZWYgX3Byb2Nlc3Nfc3Rkb3V0X2xpbmUoc2VsZiwgYmxv
Y2ssIGxpbmUpOgotICAgICAgICBmb3IgaGVhZGVyIGluIFsKLSAgICAgICAgICAgIChiJ0NvbnRl
bnQtVHlwZTogJywgJ2NvbnRlbnRfdHlwZScsIE5vbmUpLAotICAgICAgICAgICAgKGInQ29udGVu
dC1UcmFuc2Zlci1FbmNvZGluZzogJywgJ2VuY29kaW5nJywgTm9uZSksCi0gICAgICAgICAgICAo
YidDb250ZW50LUxlbmd0aDogJywgJ19jb250ZW50X2xlbmd0aCcsIGludCksCi0gICAgICAgICAg
ICAoYidBY3R1YWxIYXNoOiAnLCAnY29udGVudF9oYXNoJywgTm9uZSksCi0gICAgICAgICAgICAo
YidEdW1wTWFsbG9jOiAnLCAnbWFsbG9jJywgTm9uZSksCi0gICAgICAgICAgICAoYidEdW1wSlNI
ZWFwOiAnLCAnanNfaGVhcCcsIE5vbmUpLAotICAgICAgICBdOgotICAgICAgICAgICAgaWYgc2Vs
Zi5fcmVhZF9oZWFkZXIoYmxvY2ssIGxpbmUsIGhlYWRlclswXSwgaGVhZGVyWzFdLCBoZWFkZXJb
Ml0pOgotICAgICAgICAgICAgICAgIHJldHVybgotCisgICAgICAgIGlmIChzZWxmLl9yZWFkX2hl
YWRlcihibG9jaywgbGluZSwgJ0NvbnRlbnQtVHlwZTogJywgJ2NvbnRlbnRfdHlwZScpCisgICAg
ICAgICAgICBvciBzZWxmLl9yZWFkX2hlYWRlcihibG9jaywgbGluZSwgJ0NvbnRlbnQtVHJhbnNm
ZXItRW5jb2Rpbmc6ICcsICdlbmNvZGluZycpCisgICAgICAgICAgICBvciBzZWxmLl9yZWFkX2hl
YWRlcihibG9jaywgbGluZSwgJ0NvbnRlbnQtTGVuZ3RoOiAnLCAnX2NvbnRlbnRfbGVuZ3RoJywg
aW50KQorICAgICAgICAgICAgb3Igc2VsZi5fcmVhZF9oZWFkZXIoYmxvY2ssIGxpbmUsICdBY3R1
YWxIYXNoOiAnLCAnY29udGVudF9oYXNoJykKKyAgICAgICAgICAgIG9yIHNlbGYuX3JlYWRfaGVh
ZGVyKGJsb2NrLCBsaW5lLCAnRHVtcE1hbGxvYzogJywgJ21hbGxvYycpCisgICAgICAgICAgICBv
ciBzZWxmLl9yZWFkX2hlYWRlcihibG9jaywgbGluZSwgJ0R1bXBKU0hlYXA6ICcsICdqc19oZWFw
JykpOgorICAgICAgICAgICAgcmV0dXJuCiAgICAgICAgICMgTm90ZSwgd2UncmUgbm90IHJlYWRp
bmcgRXhwZWN0ZWRIYXNoOiBoZXJlLCBidXQgd2UgY291bGQuCiAgICAgICAgICMgSWYgdGhlIGxp
bmUgd2Fzbid0IGEgaGVhZGVyLCB3ZSBqdXN0IGFwcGVuZCBpdCB0byB0aGUgY29udGVudC4KLSAg
ICAgICAgYmxvY2suY29udGVudCA9IGVuY29kZV9pZl9uZWNlc3NhcnkoYmxvY2suY29udGVudCkg
KyBsaW5lCisgICAgICAgIGJsb2NrLmNvbnRlbnQgKz0gbGluZQogCiAgICAgZGVmIF9zdHJpcF9l
b2Yoc2VsZiwgbGluZSk6Ci0gICAgICAgIGlmIGxpbmUgYW5kIGxpbmUuZW5kc3dpdGgoYiIjRU9G
XG4iKToKKyAgICAgICAgaWYgbGluZSBhbmQgbGluZS5lbmRzd2l0aCgiI0VPRlxuIik6CiAgICAg
ICAgICAgICByZXR1cm4gbGluZVs6LTVdLCBUcnVlCiAgICAgICAgIHJldHVybiBsaW5lLCBGYWxz
ZQogCkBAIC02OTQsMzQgKzY4OCwzNCBAQCBjbGFzcyBEcml2ZXIob2JqZWN0KToKIAogICAgICAg
ICAgICAgaWYgb3V0X2xpbmU6CiAgICAgICAgICAgICAgICAgc2VsZi5fY2hlY2tfZm9yX2RyaXZl
cl90aW1lb3V0KG91dF9saW5lKQotICAgICAgICAgICAgICAgIGlmIG91dF9saW5lWy0xXSAhPSAn
XG4nIGFuZCBvdXRfbGluZVstMV0gIT0gMTA6CisgICAgICAgICAgICAgICAgaWYgb3V0X2xpbmVb
LTFdICE9ICJcbiI6CiAgICAgICAgICAgICAgICAgICAgIF9sb2cuZXJyb3IoIiAgJXMgLT4gTGFz
dCBjaGFyYWN0ZXIgcmVhZCBmcm9tIERSVCBzdGRvdXQgbGluZSB3YXMgbm90IGEgbmV3bGluZSEg
IFRoaXMgaW5kaWNhdGVzIGVpdGhlciBhIE5SV1Qgb3IgRFJUIGJ1Zy4iICUgdGVzdF9uYW1lKQog
ICAgICAgICAgICAgICAgIGNvbnRlbnRfbGVuZ3RoX2JlZm9yZV9oZWFkZXJfY2hlY2sgPSBibG9j
ay5fY29udGVudF9sZW5ndGgKICAgICAgICAgICAgICAgICBzZWxmLl9wcm9jZXNzX3N0ZG91dF9s
aW5lKGJsb2NrLCBvdXRfbGluZSkKICAgICAgICAgICAgICAgICAjIEZJWE1FOiBVbmxpa2UgSFRU
UCwgRFJUIGR1bXBzIHRoZSBjb250ZW50IHJpZ2h0IGFmdGVyIHByaW50aW5nIGEgQ29udGVudC1M
ZW5ndGggaGVhZGVyLgogICAgICAgICAgICAgICAgICMgRG9uJ3Qgd2FpdCB1bnRpbCB3ZSdyZSBk
b25lIHdpdGggaGVhZGVycywganVzdCByZWFkIHRoZSBiaW5hcnkgYmxvYiByaWdodCBub3cuCiAg
ICAgICAgICAgICAgICAgaWYgY29udGVudF9sZW5ndGhfYmVmb3JlX2hlYWRlcl9jaGVjayAhPSBi
bG9jay5fY29udGVudF9sZW5ndGg6Ci0gICAgICAgICAgICAgICAgICAgIGJsb2NrLmNvbnRlbnQg
PSBlbmNvZGVfaWZfbmVjZXNzYXJ5KHNlbGYuX3NlcnZlcl9wcm9jZXNzLnJlYWRfc3Rkb3V0KGRl
YWRsaW5lLCBibG9jay5fY29udGVudF9sZW5ndGgpKQorICAgICAgICAgICAgICAgICAgICBibG9j
ay5jb250ZW50ID0gc2VsZi5fc2VydmVyX3Byb2Nlc3MucmVhZF9zdGRvdXQoZGVhZGxpbmUsIGJs
b2NrLl9jb250ZW50X2xlbmd0aCkKIAogICAgICAgICAgICAgaWYgZXJyX2xpbmU6CiAgICAgICAg
ICAgICAgICAgaWYgc2VsZi5fY2hlY2tfZm9yX2RyaXZlcl9jcmFzaF9vcl91bnJlc3BvbnNpdmVu
ZXNzKGVycl9saW5lKToKICAgICAgICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICAgICAgICAg
ICBlbGlmIHNlbGYuX2NoZWNrX2Zvcl9hZGRyZXNzX3Nhbml0aXplcl92aW9sYXRpb24oZXJyX2xp
bmUpOgogICAgICAgICAgICAgICAgICAgICBhc2FuX3Zpb2xhdGlvbl9kZXRlY3RlZCA9IFRydWUK
LSAgICAgICAgICAgICAgICAgICAgc2VsZi5fY3Jhc2hfcmVwb3J0X2Zyb21fZHJpdmVyID0gYicn
CisgICAgICAgICAgICAgICAgICAgIHNlbGYuX2NyYXNoX3JlcG9ydF9mcm9tX2RyaXZlciA9ICIi
CiAgICAgICAgICAgICAgICAgICAgICMgQVNhbiByZXBvcnQgc3RhcnRzIHdpdGggYSBub25kZXNj
cmlwdCBsaW5lLCB3ZSBvbmx5IGRldGVjdCB0aGUgc2Vjb25kIGxpbmUuCiAgICAgICAgICAgICAg
ICAgICAgIGVuZF9vZl9wcmV2aW91c19lcnJvcl9saW5lID0gc2VsZi5lcnJvcl9mcm9tX3Rlc3Qu
cmZpbmQoJ1xuJywgMCwgLTEpCiAgICAgICAgICAgICAgICAgICAgIGlmIGVuZF9vZl9wcmV2aW91
c19lcnJvcl9saW5lID4gMDoKICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuZXJyb3JfZnJv
bV90ZXN0ID0gc2VsZi5lcnJvcl9mcm9tX3Rlc3RbOmVuZF9vZl9wcmV2aW91c19lcnJvcl9saW5l
XQogICAgICAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICAgICAgc2Vs
Zi5lcnJvcl9mcm9tX3Rlc3QgPSAnJworICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5lcnJv
cl9mcm9tX3Rlc3QgPSAiIgogICAgICAgICAgICAgICAgICAgICAjIFN5bWJvbGljYXRpb24gY2Fu
IHRha2UgYSB2ZXJ5IGxvbmcgdGltZSwgZ2l2ZSBpdCAxMCBleHRyYSBtaW51dGVzIHRvIGZpbmlz
aC4KICAgICAgICAgICAgICAgICAgICAgIyBGSVhNRTogVGhpcyBjYW4gbGlrZWx5IGJlIHJlbW92
ZWQgb25jZSA8cmRhcjovL3Byb2JsZW0vMTg3MDE0NDc+IGlzIGZpeGVkLgogICAgICAgICAgICAg
ICAgICAgICBkZWFkbGluZSArPSAxMCAqIDYwICogMTAwMAogICAgICAgICAgICAgICAgIGlmIGFz
YW5fdmlvbGF0aW9uX2RldGVjdGVkOgotICAgICAgICAgICAgICAgICAgICBzZWxmLl9jcmFzaF9y
ZXBvcnRfZnJvbV9kcml2ZXIgKz0gZGVjb2RlX2ZvcihlcnJfbGluZSwgc3RyKQorICAgICAgICAg
ICAgICAgICAgICBzZWxmLl9jcmFzaF9yZXBvcnRfZnJvbV9kcml2ZXIgKz0gZXJyX2xpbmUKICAg
ICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICBzZWxmLmVycm9yX2Zyb21f
dGVzdCArPSBkZWNvZGVfZm9yKGVycl9saW5lLCBzdHIpCisgICAgICAgICAgICAgICAgICAgIHNl
bGYuZXJyb3JfZnJvbV90ZXN0ICs9IGVycl9saW5lCiAKICAgICAgICAgaWYgYXNhbl92aW9sYXRp
b25fZGV0ZWN0ZWQgYW5kIG5vdCBzZWxmLl9jcmFzaGVkX3Byb2Nlc3NfbmFtZToKICAgICAgICAg
ICAgIHNlbGYuX2NyYXNoZWRfcHJvY2Vzc19uYW1lID0gc2VsZi5fc2VydmVyX3Byb2Nlc3MucHJv
Y2Vzc19uYW1lKCkKQEAgLTc0NCw3ICs3MzgsNyBAQCBjbGFzcyBDb250ZW50QmxvY2sob2JqZWN0
KToKICAgICAgICAgc2VsZi5jb250ZW50X2hhc2ggPSBOb25lCiAgICAgICAgIHNlbGYuX2NvbnRl
bnRfbGVuZ3RoID0gTm9uZQogICAgICAgICAjIENvbnRlbnQgaXMgdHJlYXRlZCBhcyBiaW5hcnkg
ZGF0YSBldmVuIHRob3VnaCB0aGUgdGV4dCBvdXRwdXQgaXMgdXN1YWxseSBVVEYtOC4KLSAgICAg
ICAgc2VsZi5jb250ZW50ID0gYicnCisgICAgICAgIHNlbGYuY29udGVudCA9IHN0cigpICAjIEZJ
WE1FOiBTaG91bGQgYmUgYnl0ZWFycmF5KCkgb25jZSB3ZSByZXF1aXJlIFB5dGhvbiAyLjYuCiAg
ICAgICAgIHNlbGYuZGVjb2RlZF9jb250ZW50ID0gTm9uZQogICAgICAgICBzZWxmLm1hbGxvYyA9
IE5vbmUKICAgICAgICAgc2VsZi5qc19oZWFwID0gTm9uZQpAQCAtNzUzLDEwICs3NDcsNyBAQCBj
bGFzcyBDb250ZW50QmxvY2sob2JqZWN0KToKICAgICAgICAgaWYgc2VsZi5lbmNvZGluZyA9PSAn
YmFzZTY0JyBhbmQgc2VsZi5jb250ZW50IGlzIG5vdCBOb25lOgogICAgICAgICAgICAgc2VsZi5k
ZWNvZGVkX2NvbnRlbnQgPSBiYXNlNjQuYjY0ZGVjb2RlKHNlbGYuY29udGVudCkKICAgICAgICAg
ZWxzZToKLSAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICBzZWxmLmRlY29kZWRfY29u
dGVudCA9IGRlY29kZV9mb3Ioc2VsZi5jb250ZW50LCBzdHIpCi0gICAgICAgICAgICBleGNlcHQg
VW5pY29kZURlY29kZUVycm9yOgotICAgICAgICAgICAgICAgIHNlbGYuZGVjb2RlZF9jb250ZW50
ID0gTm9uZQorICAgICAgICAgICAgc2VsZi5kZWNvZGVkX2NvbnRlbnQgPSBzZWxmLmNvbnRlbnQK
IAogCiBjbGFzcyBEcml2ZXJQcm94eShvYmplY3QpOgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9wb3J0L2RyaXZlcl91bml0dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvcG9ydC9kcml2ZXJfdW5pdHRlc3QucHkKaW5kZXggZWZiOTI3YTMyM2IwZDNkYjZhN2Y0ODNj
MTVkOTgwMDE4OGIxMDFjZC4uMGRkZWQ3YzVmNzhiMWJmNjZmNWY3Njc0YWQ2YjEzNzY0Yjg0OTg5
ZSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2RyaXZlcl91bml0dGVz
dC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvZHJpdmVyX3VuaXR0ZXN0LnB5
CkBAIC0xODIsNyArMTgyLDcgQEAgY2xhc3MgRHJpdmVyVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6
CiAgICAgICAgIGNvbnRlbnRfYmxvY2sgPSBkcml2ZXIuX3JlYWRfYmxvY2soMCwgIiIpCiAgICAg
ICAgIHNlbGYuYXNzZXJ0RXF1YWwoY29udGVudF9ibG9jay5jb250ZW50X3R5cGUsICdpbWFnZS9w
bmcnKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNvbnRlbnRfYmxvY2suY29udGVudF9oYXNo
LCAnYWN0dWFsJykKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjb250ZW50X2Jsb2NrLmNvbnRl
bnQsIGInMTIzNDU2NzhcbicpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY29udGVudF9ibG9j
ay5jb250ZW50LCAnMTIzNDU2NzhcbicpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY29udGVu
dF9ibG9jay5kZWNvZGVkX2NvbnRlbnQsICcxMjM0NTY3OFxuJykKICAgICAgICAgZHJpdmVyLl9z
ZXJ2ZXJfcHJvY2VzcyA9IE5vbmUKIApAQCAtMjAxLDcgKzIwMSw3IEBAIGNsYXNzIERyaXZlclRl
c3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNvbnRlbnRf
YmxvY2suY29udGVudF90eXBlLCAnaW1hZ2UvcG5nJykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVh
bChjb250ZW50X2Jsb2NrLmNvbnRlbnRfaGFzaCwgJ2FjdHVhbCcpCiAgICAgICAgIHNlbGYuYXNz
ZXJ0RXF1YWwoY29udGVudF9ibG9jay5lbmNvZGluZywgJ2Jhc2U2NCcpCi0gICAgICAgIHNlbGYu
YXNzZXJ0RXF1YWwoY29udGVudF9ibG9jay5jb250ZW50LCBiJ01USXpORFUyTnpnSycpCisgICAg
ICAgIHNlbGYuYXNzZXJ0RXF1YWwoY29udGVudF9ibG9jay5jb250ZW50LCAnTVRJek5EVTJOemdL
JykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjb250ZW50X2Jsb2NrLmRlY29kZWRfY29udGVu
dCwgYicxMjM0NTY3OFxuJykKIAogICAgIGRlZiB0ZXN0X25vX3RpbWVvdXQoc2VsZik6CkBAIC0y
NDcsNDMgKzI0Nyw0MyBAQCBjbGFzcyBEcml2ZXJUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAg
ICAgICAgICAgIGRyaXZlci5zdG9wKCkKIAogICAgICAgICBkcml2ZXIuX3NlcnZlcl9wcm9jZXNz
ID0gRmFrZVNlcnZlclByb2Nlc3MoRmFsc2UpCi0gICAgICAgIGFzc2VydF9jcmFzaChkcml2ZXIs
IGInJywgRmFsc2UsIE5vbmUsIE5vbmUpCisgICAgICAgIGFzc2VydF9jcmFzaChkcml2ZXIsICcn
LCBGYWxzZSwgTm9uZSwgTm9uZSkKIAogICAgICAgICBkcml2ZXIuX2NyYXNoZWRfcHJvY2Vzc19u
YW1lID0gTm9uZQogICAgICAgICBkcml2ZXIuX2NyYXNoZWRfcGlkID0gTm9uZQogICAgICAgICBk
cml2ZXIuX3NlcnZlcl9wcm9jZXNzID0gRmFrZVNlcnZlclByb2Nlc3MoRmFsc2UpCiAgICAgICAg
IGRyaXZlci5fZHJpdmVyX3RpbWVkX291dCA9IEZhbHNlCi0gICAgICAgIGFzc2VydF9jcmFzaChk
cml2ZXIsIGInI0NSQVNIRURcbicsIFRydWUsICdGYWtlU2VydmVyUHJvY2VzcycsIDEyMzQpCisg
ICAgICAgIGFzc2VydF9jcmFzaChkcml2ZXIsICcjQ1JBU0hFRFxuJywgVHJ1ZSwgJ0Zha2VTZXJ2
ZXJQcm9jZXNzJywgMTIzNCkKIAogICAgICAgICBkcml2ZXIuX2NyYXNoZWRfcHJvY2Vzc19uYW1l
ID0gTm9uZQogICAgICAgICBkcml2ZXIuX2NyYXNoZWRfcGlkID0gTm9uZQogICAgICAgICBkcml2
ZXIuX3NlcnZlcl9wcm9jZXNzID0gRmFrZVNlcnZlclByb2Nlc3MoRmFsc2UpCiAgICAgICAgIGRy
aXZlci5fZHJpdmVyX3RpbWVkX291dCA9IEZhbHNlCi0gICAgICAgIGFzc2VydF9jcmFzaChkcml2
ZXIsIGInI0NSQVNIRUQgLSBXZWJQcm9jZXNzXG4nLCBUcnVlLCAnV2ViUHJvY2VzcycsIE5vbmUp
CisgICAgICAgIGFzc2VydF9jcmFzaChkcml2ZXIsICcjQ1JBU0hFRCAtIFdlYlByb2Nlc3Ncbics
IFRydWUsICdXZWJQcm9jZXNzJywgTm9uZSkKIAogICAgICAgICBkcml2ZXIuX2NyYXNoZWRfcHJv
Y2Vzc19uYW1lID0gTm9uZQogICAgICAgICBkcml2ZXIuX2NyYXNoZWRfcGlkID0gTm9uZQogICAg
ICAgICBkcml2ZXIuX3NlcnZlcl9wcm9jZXNzID0gRmFrZVNlcnZlclByb2Nlc3MoRmFsc2UpCiAg
ICAgICAgIGRyaXZlci5fZHJpdmVyX3RpbWVkX291dCA9IEZhbHNlCi0gICAgICAgIGFzc2VydF9j
cmFzaChkcml2ZXIsIGInI0NSQVNIRUQgLSBXZWJQcm9jZXNzIChwaWQgODY3NSlcbicsIFRydWUs
ICdXZWJQcm9jZXNzJywgODY3NSkKKyAgICAgICAgYXNzZXJ0X2NyYXNoKGRyaXZlciwgJyNDUkFT
SEVEIC0gV2ViUHJvY2VzcyAocGlkIDg2NzUpXG4nLCBUcnVlLCAnV2ViUHJvY2VzcycsIDg2NzUp
CiAKICAgICAgICAgZHJpdmVyLl9jcmFzaGVkX3Byb2Nlc3NfbmFtZSA9IE5vbmUKICAgICAgICAg
ZHJpdmVyLl9jcmFzaGVkX3BpZCA9IE5vbmUKICAgICAgICAgZHJpdmVyLl9zZXJ2ZXJfcHJvY2Vz
cyA9IEZha2VTZXJ2ZXJQcm9jZXNzKEZhbHNlKQogICAgICAgICBkcml2ZXIuX2RyaXZlcl90aW1l
ZF9vdXQgPSBGYWxzZQotICAgICAgICBhc3NlcnRfY3Jhc2goZHJpdmVyLCBiJyNQUk9DRVNTIFVO
UkVTUE9OU0lWRSAtIFdlYlByb2Nlc3MgKHBpZCA4Njc1KVxuJywgVHJ1ZSwgTm9uZSwgTm9uZSwg
VHJ1ZSkKKyAgICAgICAgYXNzZXJ0X2NyYXNoKGRyaXZlciwgJyNQUk9DRVNTIFVOUkVTUE9OU0lW
RSAtIFdlYlByb2Nlc3MgKHBpZCA4Njc1KVxuJywgVHJ1ZSwgTm9uZSwgTm9uZSwgVHJ1ZSkKIAog
ICAgICAgICBkcml2ZXIuX2NyYXNoZWRfcHJvY2Vzc19uYW1lID0gTm9uZQogICAgICAgICBkcml2
ZXIuX2NyYXNoZWRfcGlkID0gTm9uZQogICAgICAgICBkcml2ZXIuX3NlcnZlcl9wcm9jZXNzID0g
RmFrZVNlcnZlclByb2Nlc3MoRmFsc2UpCiAgICAgICAgIGRyaXZlci5fZHJpdmVyX3RpbWVkX291
dCA9IEZhbHNlCi0gICAgICAgIGFzc2VydF9jcmFzaChkcml2ZXIsIGInI0NSQVNIRUQgLSByZW5k
ZXJlciAocGlkIDg2NzUpXG4nLCBUcnVlLCAncmVuZGVyZXInLCA4Njc1KQorICAgICAgICBhc3Nl
cnRfY3Jhc2goZHJpdmVyLCAnI0NSQVNIRUQgLSByZW5kZXJlciAocGlkIDg2NzUpXG4nLCBUcnVl
LCAncmVuZGVyZXInLCA4Njc1KQogCiAgICAgICAgIGRyaXZlci5fY3Jhc2hlZF9wcm9jZXNzX25h
bWUgPSBOb25lCiAgICAgICAgIGRyaXZlci5fY3Jhc2hlZF9waWQgPSBOb25lCiAgICAgICAgIGRy
aXZlci5fc2VydmVyX3Byb2Nlc3MgPSBGYWtlU2VydmVyUHJvY2VzcyhUcnVlKQogICAgICAgICBk
cml2ZXIuX2RyaXZlcl90aW1lZF9vdXQgPSBGYWxzZQotICAgICAgICBhc3NlcnRfY3Jhc2goZHJp
dmVyLCBiJycsIFRydWUsICdGYWtlU2VydmVyUHJvY2VzcycsIDEyMzQpCisgICAgICAgIGFzc2Vy
dF9jcmFzaChkcml2ZXIsICcnLCBUcnVlLCAnRmFrZVNlcnZlclByb2Nlc3MnLCAxMjM0KQogCiAg
ICAgZGVmIHRlc3RfY3JlYXRpbmdfYV9wb3J0X2RvZXNfbm90X3dyaXRlX3RvX3RoZV9maWxlc3lz
dGVtKHNlbGYpOgogICAgICAgICBwb3J0ID0gVGVzdFdlYktpdFBvcnQoKQpkaWZmIC0tZ2l0IGEv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2ltYWdlX2RpZmYucHkgYi9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L3BvcnQvaW1hZ2VfZGlmZi5weQppbmRleCA5YWIxZTgyMWFiZGIxNDdhZGZmZDQz
ZDA1MjllYWYyNTU5Y2Q1ZmRkLi43NzEzZGRhZjY5OTAwNTIwMDE4Yzk0ZDE2ODgwZWYwMmZlOGY5
M2RiIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvaW1hZ2VfZGlmZi5w
eQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvaW1hZ2VfZGlmZi5weQpAQCAtMzUs
NyArMzUsNiBAQCBpbXBvcnQgcmUKIGltcG9ydCB0aW1lCiAKIGZyb20gd2Via2l0cHkucG9ydCBp
bXBvcnQgc2VydmVyX3Byb2Nlc3MKLWZyb20gd2Via2l0cHkuY29tbW9uLnVuaWNvZGVfY29tcGF0
aWJpbGl0eSBpbXBvcnQgZGVjb2RlX2ZvcgogCiAKIF9sb2cgPSBsb2dnaW5nLmdldExvZ2dlcihf
X25hbWVfXykKQEAgLTU4LDEwICs1Nyw5IEBAIGNsYXNzIEltYWdlRGlmZmVyKG9iamVjdCk6CiAg
ICAgICAgICAgICBpZiBub3Qgc2VsZi5fcHJvY2VzczoKICAgICAgICAgICAgICAgICBzZWxmLl9z
dGFydCh0b2xlcmFuY2UpCiAgICAgICAgICAgICAjIE5vdGUgdGhhdCBhbHRob3VnaCB3ZSBhcmUg
aGFuZGVkICdvbGQnLCAnbmV3JywgSW1hZ2VEaWZmIHdhbnRzICduZXcnLCAnb2xkJy4KLSAgICAg
ICAgICAgIHNlbGYuX3Byb2Nlc3Mud3JpdGUoJ0NvbnRlbnQtTGVuZ3RoOiB7fVxuJy5mb3JtYXQo
bGVuKGFjdHVhbF9jb250ZW50cykpKQotICAgICAgICAgICAgc2VsZi5fcHJvY2Vzcy53cml0ZShh
Y3R1YWxfY29udGVudHMpCi0gICAgICAgICAgICBzZWxmLl9wcm9jZXNzLndyaXRlKCdDb250ZW50
LUxlbmd0aDoge31cbicuZm9ybWF0KGxlbihleHBlY3RlZF9jb250ZW50cykpKQotICAgICAgICAg
ICAgc2VsZi5fcHJvY2Vzcy53cml0ZShleHBlY3RlZF9jb250ZW50cykKKyAgICAgICAgICAgIHNl
bGYuX3Byb2Nlc3Mud3JpdGUoJ0NvbnRlbnQtTGVuZ3RoOiAlZFxuJXNDb250ZW50LUxlbmd0aDog
JWRcbiVzJyAlICgKKyAgICAgICAgICAgICAgICBsZW4oYWN0dWFsX2NvbnRlbnRzKSwgYWN0dWFs
X2NvbnRlbnRzLAorICAgICAgICAgICAgICAgIGxlbihleHBlY3RlZF9jb250ZW50cyksIGV4cGVj
dGVkX2NvbnRlbnRzKSkKICAgICAgICAgICAgIHJldHVybiBzZWxmLl9yZWFkKCkKICAgICAgICAg
ZXhjZXB0IElPRXJyb3IgYXMgZXhjZXB0aW9uOgogICAgICAgICAgICAgcmV0dXJuIChOb25lLCAw
LCAiRmFpbGVkIHRvIGNvbXB1dGUgYW4gaW1hZ2UgZGlmZjogJXMiICUgc3RyKGV4Y2VwdGlvbikp
CkBAIC04NSwxNyArODMsMTcgQEAgY2xhc3MgSW1hZ2VEaWZmZXIob2JqZWN0KToKICAgICAgICAg
ICAgIGlmIHNlbGYuX3Byb2Nlc3MudGltZWRfb3V0IG9yIHNlbGYuX3Byb2Nlc3MuaGFzX2NyYXNo
ZWQoKSBvciBub3Qgb3V0cHV0OgogICAgICAgICAgICAgICAgIGJyZWFrCiAKLSAgICAgICAgICAg
IGlmIG91dHB1dC5zdGFydHN3aXRoKGInZGlmZicpOiAgIyBUaGlzIGlzIHRoZSBsYXN0IGxpbmUg
SW1hZ2VEaWZmIHByaW50cy4KKyAgICAgICAgICAgIGlmIG91dHB1dC5zdGFydHN3aXRoKCdkaWZm
Jyk6ICAjIFRoaXMgaXMgdGhlIGxhc3QgbGluZSBJbWFnZURpZmYgcHJpbnRzLgogICAgICAgICAg
ICAgICAgIGJyZWFrCiAKLSAgICAgICAgICAgIGlmIG91dHB1dC5zdGFydHN3aXRoKGInQ29udGVu
dC1MZW5ndGgnKToKLSAgICAgICAgICAgICAgICBtID0gcmUubWF0Y2goYidDb250ZW50LUxlbmd0
aDogKFxkKyknLCBvdXRwdXQpCisgICAgICAgICAgICBpZiBvdXRwdXQuc3RhcnRzd2l0aCgnQ29u
dGVudC1MZW5ndGgnKToKKyAgICAgICAgICAgICAgICBtID0gcmUubWF0Y2goJ0NvbnRlbnQtTGVu
Z3RoOiAoXGQrKScsIG91dHB1dCkKICAgICAgICAgICAgICAgICBjb250ZW50X2xlbmd0aCA9IGlu
dChtLmdyb3VwKDEpKQogICAgICAgICAgICAgICAgIG91dHB1dF9pbWFnZSA9IHNlbGYuX3Byb2Nl
c3MucmVhZF9zdGRvdXQoZGVhZGxpbmUsIGNvbnRlbnRfbGVuZ3RoKQogICAgICAgICAgICAgICAg
IG91dHB1dCA9IHNlbGYuX3Byb2Nlc3MucmVhZF9zdGRvdXRfbGluZShkZWFkbGluZSkKICAgICAg
ICAgICAgICAgICBicmVhawogCi0gICAgICAgIHN0ZGVyciA9IGRlY29kZV9mb3Ioc2VsZi5fcHJv
Y2Vzcy5wb3BfYWxsX2J1ZmZlcmVkX3N0ZGVycigpLCBzdHIpCisgICAgICAgIHN0ZGVyciA9IHNl
bGYuX3Byb2Nlc3MucG9wX2FsbF9idWZmZXJlZF9zdGRlcnIoKQogICAgICAgICBlcnJfc3RyID0g
JycKICAgICAgICAgaWYgc3RkZXJyOgogICAgICAgICAgICAgZXJyX3N0ciArPSAiSW1hZ2VEaWZm
IHByb2R1Y2VkIHN0ZGVyciBvdXRwdXQ6XG4iICsgc3RkZXJyCkBAIC0xMDUsOSArMTAzLDkgQEAg
Y2xhc3MgSW1hZ2VEaWZmZXIob2JqZWN0KToKICAgICAgICAgICAgIGVycl9zdHIgKz0gIkltYWdl
RGlmZiBjcmFzaGVkXG4iCiAKICAgICAgICAgZGlmZl9wZXJjZW50ID0gMAotICAgICAgICBpZiBv
dXRwdXQgYW5kIG91dHB1dC5zdGFydHN3aXRoKGInZGlmZicpOgotICAgICAgICAgICAgbSA9IHJl
Lm1hdGNoKGInZGlmZjogKC4rKSUgKHBhc3NlZHxmYWlsZWQpJywgb3V0cHV0KQotICAgICAgICAg
ICAgaWYgbS5ncm91cCgyKSA9PSBiJ3Bhc3NlZCc6CisgICAgICAgIGlmIG91dHB1dCBhbmQgb3V0
cHV0LnN0YXJ0c3dpdGgoJ2RpZmYnKToKKyAgICAgICAgICAgIG0gPSByZS5tYXRjaCgnZGlmZjog
KC4rKSUgKHBhc3NlZHxmYWlsZWQpJywgb3V0cHV0KQorICAgICAgICAgICAgaWYgbS5ncm91cCgy
KSA9PSAncGFzc2VkJzoKICAgICAgICAgICAgICAgICByZXR1cm4gKE5vbmUsIDAsIE5vbmUpCiAg
ICAgICAgICAgICBkaWZmX3BlcmNlbnQgPSBmbG9hdChtLmdyb3VwKDEpKQogCmRpZmYgLS1naXQg
YS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvc2VydmVyX3Byb2Nlc3MucHkgYi9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L3BvcnQvc2VydmVyX3Byb2Nlc3MucHkKaW5kZXggNDVhY2Y2Njc4ZWUx
OTQ2ZTc1NDRjNGM0NzMxNTBlZjg4YjhjYWRjNi4uOTMyOWIxYjg2YTFjNmM5OTFlODVmMzg2NGZl
ZTkwZDM1NmU0MzIzMCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3Nl
cnZlcl9wcm9jZXNzLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9zZXJ2ZXJf
cHJvY2Vzcy5weQpAQCAtMzUsOSArMzUsNiBAQCBpbXBvcnQgc2lnbmFsCiBpbXBvcnQgc3lzCiBp
bXBvcnQgdGltZQogCi1mcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0uZXhlY3V0aXZlIGltcG9y
dCBTY3JpcHRFcnJvcgotZnJvbSB3ZWJraXRweS5jb21tb24udW5pY29kZV9jb21wYXRpYmlsaXR5
IGltcG9ydCBlbmNvZGVfaWZfbmVjZXNzYXJ5Ci0KICMgTm90ZSB0aGF0IGFsdGhvdWdoIHdpbjMy
IHB5dGhvbiBkb2VzIHByb3ZpZGUgYW4gaW1wbGVtZW50YXRpb24gb2YKICMgdGhlIHdpbjMyIHNl
bGVjdCBBUEksIGl0IG9ubHkgd29ya3Mgb24gc29ja2V0cywgYW5kIG5vdCBvbiB0aGUgbmFtZWQg
cGlwZXMKICMgdXNlZCBieSBzdWJwcm9jZXNzLCBzbyB3ZSBoYXZlIHRvIHVzZSB0aGUgbmF0aXZl
IEFQSXMgZGlyZWN0bHkuCkBAIC01MCw2ICs0Nyw4IEBAIGVsc2U6CiAgICAgaW1wb3J0IG9zCiAg
ICAgaW1wb3J0IHNlbGVjdAogCitmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0uZXhlY3V0aXZl
IGltcG9ydCBTY3JpcHRFcnJvcgorCiAKIF9sb2cgPSBsb2dnaW5nLmdldExvZ2dlcihfX25hbWVf
XykKIApAQCAtMTc5LDkgKzE3OCw5IEBAIGNsYXNzIFNlcnZlclByb2Nlc3Mob2JqZWN0KToKICAg
ICAgICAgaWYgbm90IHNlbGYuX3Byb2M6CiAgICAgICAgICAgICBzZWxmLl9zdGFydCgpCiAgICAg
ICAgIHRyeToKLSAgICAgICAgICAgIHNlbGYuX3Byb2Muc3RkaW4ud3JpdGUoZW5jb2RlX2lmX25l
Y2Vzc2FyeShieXRlcykpCisgICAgICAgICAgICBzZWxmLl9wcm9jLnN0ZGluLndyaXRlKGJ5dGVz
KQogICAgICAgICAgICAgc2VsZi5fcHJvYy5zdGRpbi5mbHVzaCgpCi0gICAgICAgIGV4Y2VwdCAo
SU9FcnJvciwgVmFsdWVFcnJvcikgYXMgZToKKyAgICAgICAgZXhjZXB0IElPRXJyb3IgYXMgZToK
ICAgICAgICAgICAgIHNlbGYuc3RvcCgwLjApCiAgICAgICAgICAgICAjIHN0b3AoKSBjYWxscyBf
cmVzZXQoKSwgc28gd2UgaGF2ZSB0byBzZXQgY3Jhc2hlZCB0byBUcnVlIGFmdGVyIGNhbGxpbmcg
c3RvcCgpCiAgICAgICAgICAgICAjIHVubGVzcyB3ZSBhbHJlYWR5IGtub3cgdGhhdCB0aGlzIGlz
IGEgdGltZW91dC4KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9zZXJ2
ZXJfcHJvY2Vzc19tb2NrLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3NlcnZlcl9w
cm9jZXNzX21vY2sucHkKaW5kZXggOTNlOGZmMTQ1Y2YyZDQ3ZGJjOGY3ZGMzNTY0YThhZGY5NzQ3
YTJiMi4uYjI0Y2E2ODUyOTQwZTI3M2Y5ZjEyYzRjMTEwMzMzM2U1ODYwYTgzZCAxMDA2NDQKLS0t
IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3NlcnZlcl9wcm9jZXNzX21vY2sucHkKKysr
IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3NlcnZlcl9wcm9jZXNzX21vY2sucHkKQEAg
LTI2LDEzICsyNiwxMSBAQAogIyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKICMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KIAotZnJvbSB3
ZWJraXRweS5jb21tb24udW5pY29kZV9jb21wYXRpYmlsaXR5IGltcG9ydCBlbmNvZGVfaWZfbmVj
ZXNzYXJ5Ci0KIAogY2xhc3MgTW9ja1NlcnZlclByb2Nlc3Mob2JqZWN0KToKICAgICBkZWYgX19p
bml0X18oc2VsZiwgcG9ydF9vYmo9Tm9uZSwgbmFtZT1Ob25lLCBjbWQ9Tm9uZSwgZW52PU5vbmUs
IHVuaXZlcnNhbF9uZXdsaW5lcz1GYWxzZSwgbGluZXM9Tm9uZSwgY3Jhc2hlZD1GYWxzZSwgdGFy
Z2V0X2hvc3Q9Tm9uZSk6CiAgICAgICAgIHNlbGYudGltZWRfb3V0ID0gRmFsc2UKLSAgICAgICAg
c2VsZi5saW5lcyA9IFtlbmNvZGVfaWZfbmVjZXNzYXJ5KGxpbmUpIGZvciBsaW5lIGluIChsaW5l
cyBvciBbXSldCisgICAgICAgIHNlbGYubGluZXMgPSBsaW5lcyBvciBbXQogICAgICAgICBzZWxm
LmNyYXNoZWQgPSBjcmFzaGVkCiAgICAgICAgIHNlbGYud3JpdGVzID0gW10KICAgICAgICAgc2Vs
Zi5jbWQgPSBjbWQKQEAgLTU0LDcgKzUyLDcgQEAgY2xhc3MgTW9ja1NlcnZlclByb2Nlc3Mob2Jq
ZWN0KToKICAgICBkZWYgcmVhZF9zdGRvdXRfbGluZShzZWxmLCBkZWFkbGluZSk6CiAgICAgICAg
IGlmIHNlbGYuaGFzX2NyYXNoZWQoKToKICAgICAgICAgICAgIHJldHVybiBOb25lCi0gICAgICAg
IHJldHVybiBzZWxmLmxpbmVzLnBvcCgwKSArIGInXG4nCisgICAgICAgIHJldHVybiBzZWxmLmxp
bmVzLnBvcCgwKSArICJcbiIKIAogICAgIGRlZiBoYXNfYXZhaWxhYmxlX3N0ZG91dChzZWxmKToK
ICAgICAgICAgaWYgc2VsZi5oYXNfY3Jhc2hlZCgpOgpAQCAtNjksOCArNjcsOCBAQCBjbGFzcyBN
b2NrU2VydmVyUHJvY2VzcyhvYmplY3QpOgogICAgICAgICAgICAgc2VsZi5saW5lcy5wb3AoMCkK
ICAgICAgICAgICAgIHJlbWFpbmluZ19zaXplID0gc2l6ZSAtIGxlbihmaXJzdF9saW5lKSAtIDEK
ICAgICAgICAgICAgIGlmIG5vdCByZW1haW5pbmdfc2l6ZToKLSAgICAgICAgICAgICAgICByZXR1
cm4gZmlyc3RfbGluZSArIGInXG4nCi0gICAgICAgICAgICByZXR1cm4gZmlyc3RfbGluZSArIGIn
XG4nICsgc2VsZi5yZWFkX3N0ZG91dChkZWFkbGluZSwgcmVtYWluaW5nX3NpemUpCisgICAgICAg
ICAgICAgICAgcmV0dXJuIGZpcnN0X2xpbmUgKyAiXG4iCisgICAgICAgICAgICByZXR1cm4gZmly
c3RfbGluZSArICJcbiIgKyBzZWxmLnJlYWRfc3Rkb3V0KGRlYWRsaW5lLCByZW1haW5pbmdfc2l6
ZSkKICAgICAgICAgcmVzdWx0ID0gc2VsZi5saW5lc1swXVs6c2l6ZV0KICAgICAgICAgc2VsZi5s
aW5lc1swXSA9IHNlbGYubGluZXNbMF1bc2l6ZTpdCiAgICAgICAgIHJldHVybiByZXN1bHQKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9zaW11bGF0b3JfcHJvY2Vzcy5w
eSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9zaW11bGF0b3JfcHJvY2Vzcy5weQppbmRl
eCBmZWIzZDY4ZWQ2ZGIxNWU0NWUxNDNjMTQxMzRkZDE0Njk0ODNkZDdkLi5kZGIwZmQ1MzY0ZTc1
N2IzMGRlYzRlMWU2OWI3OGMwMjU5ZjFjMWE4IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L3BvcnQvc2ltdWxhdG9yX3Byb2Nlc3MucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9wb3J0L3NpbXVsYXRvcl9wcm9jZXNzLnB5CkBAIC0yMiw3ICsyMiw2IEBACiAKIAogaW1w
b3J0IG9zCi1pbXBvcnQgc3lzCiBpbXBvcnQgdGltZQogCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi50
aW1lb3V0X2NvbnRleHQgaW1wb3J0IFRpbWVvdXQKQEAgLTY4LDkgKzY3LDcgQEAgY2xhc3MgU2lt
dWxhdG9yUHJvY2VzcyhTZXJ2ZXJQcm9jZXNzKToKIAogICAgICAgICBkZWYgY2xvc2Uoc2VsZik6
CiAgICAgICAgICAgICByZXN1bHQgPSBzZWxmLl9maWxlLmNsb3NlKCkKLSAgICAgICAgICAgICMg
Q2xvc2luZyB0aGUgZmlsZSBpbXBsaWNpdGx5IGNsb3NlcyB0aGUgc29ja2V0IGluIFB5dGhvbiAz
Ci0gICAgICAgICAgICBpZiBzeXMudmVyc2lvbl9pbmZvIDwgKDMsIDApOgotICAgICAgICAgICAg
ICAgIHNlbGYuc29ja2V0LmNsb3NlKCkKKyAgICAgICAgICAgIHNlbGYuc29ja2V0LmNsb3NlKCkK
ICAgICAgICAgICAgIHJldHVybiByZXN1bHQKIAogICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwb3J0
X29iaiwgbmFtZSwgY21kLCBlbnY9Tm9uZSwgdW5pdmVyc2FsX25ld2xpbmVzPUZhbHNlLCB0cmVh
dF9ub19kYXRhX2FzX2NyYXNoPUZhbHNlLCB0YXJnZXRfaG9zdD1Ob25lKToKQEAgLTEwNiw3ICsx
MDMsNyBAQCBjbGFzcyBTaW11bGF0b3JQcm9jZXNzKFNlcnZlclByb2Nlc3MpOgogICAgICAgICAg
ICAgc3RkZXJyID0gTm9uZQogICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgICMgVGhp
cyBvcmRlciBtYXRjaGVzIHRoZSBjbGllbnQgc2lkZSBjb25uZWN0aW9ucyBpbiBUb29scy9UZXN0
UnVubmVyU2hhcmVkL0lPU0xheW91dFRlc3RDb21tdW5pY2F0aW9uLmNwcCBzZXRVcElPU0xheW91
dFRlc3RDb21tdW5pY2F0aW9uKCkKLSAgICAgICAgICAgICAgICBzdGRpbiA9IFNpbXVsYXRvclBy
b2Nlc3MuX2FjY2VwdF9jb25uZWN0aW9uX2NyZWF0ZV9maWxlKHNlbGYuX3RhcmdldF9ob3N0Lmxp
c3RlbmluZ19zb2NrZXQsICd3YicpCisgICAgICAgICAgICAgICAgc3RkaW4gPSBTaW11bGF0b3JQ
cm9jZXNzLl9hY2NlcHRfY29ubmVjdGlvbl9jcmVhdGVfZmlsZShzZWxmLl90YXJnZXRfaG9zdC5s
aXN0ZW5pbmdfc29ja2V0LCAndycpCiAgICAgICAgICAgICAgICAgc3Rkb3V0ID0gU2ltdWxhdG9y
UHJvY2Vzcy5fYWNjZXB0X2Nvbm5lY3Rpb25fY3JlYXRlX2ZpbGUoc2VsZi5fdGFyZ2V0X2hvc3Qu
bGlzdGVuaW5nX3NvY2tldCwgJ3JiJykKICAgICAgICAgICAgICAgICBzdGRlcnIgPSBTaW11bGF0
b3JQcm9jZXNzLl9hY2NlcHRfY29ubmVjdGlvbl9jcmVhdGVfZmlsZShzZWxmLl90YXJnZXRfaG9z
dC5saXN0ZW5pbmdfc29ja2V0LCAncmInKQogICAgICAgICAgICAgZXhjZXB0OgpkaWZmIC0tZ2l0
IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3Rlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L3BvcnQvdGVzdC5weQppbmRleCAyNGVkMGNhODAyY2Y4YmM5ZDliZjg3M2QwMjNkMDFj
Zjk0ZDE4NjdiLi4zMzliNTNjNTFhZDNhM2JmNjM4YTA3ZmY5N2VjMThjMDEwZWRlYWNhIDEwMDY0
NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvdGVzdC5weQorKysgYi9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L3BvcnQvdGVzdC5weQpAQCAtMzIsNyArMzIsNiBAQCBmcm9tIHdlYmtp
dHB5LnBvcnQgaW1wb3J0IFBvcnQsIERyaXZlciwgRHJpdmVyT3V0cHV0CiBmcm9tIHdlYmtpdHB5
LmxheW91dF90ZXN0cy5tb2RlbHMudGVzdF9jb25maWd1cmF0aW9uIGltcG9ydCBUZXN0Q29uZmln
dXJhdGlvbgogZnJvbSB3ZWJraXRweS5jb21tb24uc3lzdGVtLmNyYXNobG9ncyBpbXBvcnQgQ3Jh
c2hMb2dzCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi52ZXJzaW9uX25hbWVfbWFwIGltcG9ydCBQVUJM
SUNfVEFCTEUsIFZlcnNpb25OYW1lTWFwCi1mcm9tIHdlYmtpdHB5LmNvbW1vbi51bmljb2RlX2Nv
bXBhdGliaWxpdHkgaW1wb3J0IGRlY29kZV9mb3IsIGVuY29kZV9pZl9uZWNlc3NhcnkKIAogCiAj
IFRoaXMgc2V0cyBiYXNpYyBleHBlY3RhdGlvbnMgZm9yIGEgdGVzdC4gRWFjaCBpbmRpdmlkdWFs
IGV4cGVjdGF0aW9uCkBAIC0xMTIsOSArMTExLDkgQEAgVU5FWFBFQ1RFRF9GQUlMVVJFUyA9IDE4
CiAKIAogZGVmIHVuaXRfdGVzdF9saXN0KCk6Ci0gICAgc2lsZW50X2F1ZGlvID0gYiJSSUZGMlx4
MDBceDAwXHgwMFdBVkVmbXQgXHgxMFx4MDBceDAwXHgwMFx4MDFceDAwXHgwMVx4MDBceDIyXHg1
Nlx4MDBceDAwXHg0NFx4QUNceDAwXHgwMFx4MDJceDAwXHgxMFx4MDBkYXRhXHgwRVx4MDBceDAw
XHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBc
eDAwIgotICAgIHNpbGVudF9hdWRpb193aXRoX3NpbmdsZV9iaXRfZGlmZmVyZW5jZSA9IGIiUklG
RjJceDAwXHgwMFx4MDBXQVZFZm10IFx4MTBceDAwXHgwMFx4MDBceDAxXHgwMFx4MDFceDAwXHgy
Mlx4NTZceDAwXHgwMFx4NDRceEFDXHgwMFx4MDBceDAyXHgwMFx4MTBceDAwZGF0YVx4MEVceDAw
XHgwMFx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBc
eDAwXHgwMCIKLSAgICBhdWRpbzIgPSBiIlJJRkYyXHgwMFx4MDBceDAwV0FWRWZtdCBceDEwXHgw
MFx4MDBceDAwXHgwMVx4MDBceDAxXHgwMFx4MjJceDU2XHgwMFx4MDBceDQ0XHhBQ1x4MDBceDAw
XHgwMlx4MDBceDEwXHgwMGRhdGFceDBFXHgwMFx4MDBceDAwXHg0MFx4MDBceDAwXHgwMFx4MDBc
eDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgc2lsZW50X2F1ZGlvID0g
IlJJRkYyXHgwMFx4MDBceDAwV0FWRWZtdCBceDEwXHgwMFx4MDBceDAwXHgwMVx4MDBceDAxXHgw
MFx4MjJceDU2XHgwMFx4MDBceDQ0XHhBQ1x4MDBceDAwXHgwMlx4MDBceDEwXHgwMGRhdGFceDBF
XHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBc
eDAwXHgwMFx4MDAiCisgICAgc2lsZW50X2F1ZGlvX3dpdGhfc2luZ2xlX2JpdF9kaWZmZXJlbmNl
ID0gIlJJRkYyXHgwMFx4MDBceDAwV0FWRWZtdCBceDEwXHgwMFx4MDBceDAwXHgwMVx4MDBceDAx
XHgwMFx4MjJceDU2XHgwMFx4MDBceDQ0XHhBQ1x4MDBceDAwXHgwMlx4MDBceDEwXHgwMGRhdGFc
eDBFXHgwMFx4MDBceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4
MDBceDAwXHgwMFx4MDAiCisgICAgYXVkaW8yID0gIlJJRkYyXHgwMFx4MDBceDAwV0FWRWZtdCBc
eDEwXHgwMFx4MDBceDAwXHgwMVx4MDBceDAxXHgwMFx4MjJceDU2XHgwMFx4MDBceDQ0XHhBQ1x4
MDBceDAwXHgwMlx4MDBceDEwXHgwMGRhdGFceDBFXHgwMFx4MDBceDAwXHg0MFx4MDBceDAwXHgw
MFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCiAgICAgdGVzdHMgPSBU
ZXN0TGlzdCgpCiAgICAgdGVzdHMuYWRkKCdmYWlsdXJlcy9leHBlY3RlZC9jcmFzaC5odG1sJywg
Y3Jhc2g9VHJ1ZSkKICAgICB0ZXN0cy5hZGQoJ2ZhaWx1cmVzL2V4cGVjdGVkL2V4Y2VwdGlvbi5o
dG1sJywgZXhjZXB0aW9uPVRydWUpCkBAIC00MzUsMjAgKzQzNCwxNSBAQCBjbGFzcyBUZXN0UG9y
dChQb3J0KToKICAgICAgICAgcmV0dXJuICdSZWxlYXNlJwogCiAgICAgZGVmIGRpZmZfaW1hZ2Uo
c2VsZiwgZXhwZWN0ZWRfY29udGVudHMsIGFjdHVhbF9jb250ZW50cywgdG9sZXJhbmNlPU5vbmUp
OgotICAgICAgICBleHBlY3RlZF9jb250ZW50cyA9IGVuY29kZV9pZl9uZWNlc3NhcnkoZXhwZWN0
ZWRfY29udGVudHMpCi0gICAgICAgIGFjdHVhbF9jb250ZW50cyA9IGVuY29kZV9pZl9uZWNlc3Nh
cnkoYWN0dWFsX2NvbnRlbnRzKQogICAgICAgICBkaWZmZWQgPSBhY3R1YWxfY29udGVudHMgIT0g
ZXhwZWN0ZWRfY29udGVudHMKICAgICAgICAgaWYgbm90IGFjdHVhbF9jb250ZW50cyBhbmQgbm90
IGV4cGVjdGVkX2NvbnRlbnRzOgogICAgICAgICAgICAgcmV0dXJuIChOb25lLCAwLCBOb25lKQog
ICAgICAgICBpZiBub3QgYWN0dWFsX2NvbnRlbnRzIG9yIG5vdCBleHBlY3RlZF9jb250ZW50czoK
ICAgICAgICAgICAgIHJldHVybiAoVHJ1ZSwgMCwgTm9uZSkKLSAgICAgICAgaWYgYidyZWYnIGlu
IGV4cGVjdGVkX2NvbnRlbnRzOgorICAgICAgICBpZiAncmVmJyBpbiBleHBlY3RlZF9jb250ZW50
czoKICAgICAgICAgICAgIGFzc2VydCB0b2xlcmFuY2UgPT0gMAogICAgICAgICBpZiBkaWZmZWQ6
Ci0gICAgICAgICAgICByZXR1cm4gKCI8IHt9XG4tLS1cbj4ge31cbiIuZm9ybWF0KAotICAgICAg
ICAgICAgICAgIGRlY29kZV9mb3IoZXhwZWN0ZWRfY29udGVudHMsIHN0ciksCi0gICAgICAgICAg
ICAgICAgZGVjb2RlX2ZvcihhY3R1YWxfY29udGVudHMsIHN0ciksCi0gICAgICAgICAgICApLCAx
LCBOb25lKQorICAgICAgICAgICAgcmV0dXJuICgiPCAlc1xuLS0tXG4+ICVzXG4iICUgKGV4cGVj
dGVkX2NvbnRlbnRzLCBhY3R1YWxfY29udGVudHMpLCAxLCBOb25lKQogICAgICAgICByZXR1cm4g
KE5vbmUsIDAsIE5vbmUpCiAKICAgICBkZWYgbGF5b3V0X3Rlc3RzX2RpcihzZWxmKToKQEAgLTU2
OSw3ICs1NjMsNyBAQCBjbGFzcyBUZXN0RHJpdmVyKERyaXZlcik6CiAgICAgICAgIHRlc3RfYXJn
cyA9IHRlc3RfaW5wdXQuYXJncyBvciBbXQogICAgICAgICB0ZXN0ID0gc2VsZi5fcG9ydC5fdGVz
dHNbdGVzdF9uYW1lXQogICAgICAgICBpZiB0ZXN0LmtleWJvYXJkOgotICAgICAgICAgICAgcmFp
c2UgS2V5Ym9hcmRJbnRlcnJ1cHQoKQorICAgICAgICAgICAgcmFpc2UgS2V5Ym9hcmRJbnRlcnJ1
cHQKICAgICAgICAgaWYgdGVzdC5leGNlcHRpb246CiAgICAgICAgICAgICByYWlzZSBWYWx1ZUVy
cm9yKCdleGNlcHRpb24gZnJvbSAnICsgdGVzdF9uYW1lKQogICAgICAgICBpZiB0ZXN0Lmhhbmc6
CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3hjb2RlL3NpbXVsYXRlZF9kZXZp
Y2UucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3hjb2RlL3NpbXVsYXRlZF9kZXZpY2UucHkK
aW5kZXggOWZmZTI5ZGFiN2RiMTAzNmMyZjNlYjUxZWMxMGNmZjYzZmQ0YThmNS4uY2U4M2FlNzc1
OWQ1YWUwMWIyNjlmYjIwZGRkOTRmMjNjYzBhZmYxNCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS94Y29kZS9zaW11bGF0ZWRfZGV2aWNlLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkveGNvZGUvc2ltdWxhdGVkX2RldmljZS5weQpAQCAtNTYzLDcgKzU2Myw3IEBAIGNs
YXNzIFNpbXVsYXRlZERldmljZShvYmplY3QpOgogICAgICAgICAgICAgX2xvZy5kZWJ1Zyh1J3t9
IGhhcyBubyBzZXJ2aWNlIHRvIGNoZWNrIGlmIHRoZSBkZXZpY2UgaXMgdXNhYmxlJy5mb3JtYXQo
c2VsZi5kZXZpY2VfdHlwZS5zb2Z0d2FyZV92YXJpYW50KSkKICAgICAgICAgICAgIHJldHVybiBU
cnVlCiAKLSAgICAgICAgc3lzdGVtX3Byb2Nlc3NlcyA9IHNlbGYuZXhlY3V0aXZlLnJ1bl9jb21t
YW5kKFtTaW11bGF0ZWREZXZpY2VNYW5hZ2VyLnhjcnVuLCAnc2ltY3RsJywgJ3NwYXduJywgc2Vs
Zi51ZGlkLCAnbGF1bmNoY3RsJywgJ3ByaW50JywgJ3N5c3RlbSddLCBkZWNvZGVfb3V0cHV0PVRy
dWUpCisgICAgICAgIHN5c3RlbV9wcm9jZXNzZXMgPSBzZWxmLmV4ZWN1dGl2ZS5ydW5fY29tbWFu
ZChbU2ltdWxhdGVkRGV2aWNlTWFuYWdlci54Y3J1biwgJ3NpbWN0bCcsICdzcGF3bicsIHNlbGYu
dWRpZCwgJ2xhdW5jaGN0bCcsICdwcmludCcsICdzeXN0ZW0nXSwgZGVjb2RlX291dHB1dD1GYWxz
ZSkKICAgICAgICAgaWYgcmUuc2VhcmNoKHInInt9IicuZm9ybWF0KGhvbWVfc2NyZWVuX3NlcnZp
Y2UpLCBzeXN0ZW1fcHJvY2Vzc2VzKSBvciByZS5zZWFyY2gocidBXHMre30nLmZvcm1hdChob21l
X3NjcmVlbl9zZXJ2aWNlKSwgc3lzdGVtX3Byb2Nlc3Nlcyk6CiAgICAgICAgICAgICByZXR1cm4g
VHJ1ZQogICAgICAgICByZXR1cm4gRmFsc2UKQEAgLTYwNCw3ICs2MDQsNyBAQCBjbGFzcyBTaW11
bGF0ZWREZXZpY2Uob2JqZWN0KToKIAogICAgIGRlZiBpbnN0YWxsX2FwcChzZWxmLCBhcHBfcGF0
aCwgZW52PU5vbmUpOgogICAgICAgICAjIEV2ZW4gYWZ0ZXIgY2Fyb3VzZWwgaXMgcnVubmluZywg
aXQgdGFrZXMgYSBmZXcgc2Vjb25kcyBmb3Igd2F0Y2hPUyB0byBhbGxvdyBpbnN0YWxscy4KLSAg
ICAgICAgZm9yIGkgaW4gcmFuZ2Uoc2VsZi5OVU1fSU5TVEFMTF9SRVRSSUVTKToKKyAgICAgICAg
Zm9yIGkgaW4geHJhbmdlKHNlbGYuTlVNX0lOU1RBTExfUkVUUklFUyk6CiAgICAgICAgICAgICBl
eGl0X2NvZGUgPSBzZWxmLmV4ZWN1dGl2ZS5ydW5fY29tbWFuZChbJ3hjcnVuJywgJ3NpbWN0bCcs
ICdpbnN0YWxsJywgc2VsZi51ZGlkLCBhcHBfcGF0aF0sIHJldHVybl9leGl0X2NvZGU9VHJ1ZSkK
ICAgICAgICAgICAgIGlmIGV4aXRfY29kZSA9PSAwOgogICAgICAgICAgICAgICAgIHJldHVybiBU
cnVlCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>