<?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>221943</bug_id>
          
          <creation_ts>2021-02-15 17:54:28 -0800</creation_ts>
          <short_desc>[perf.webkit.org] Do not schedule jobs to Buildbot if the last job failed</short_desc>
          <delta_ts>2021-02-16 18:28:17 -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>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="Dean Johnson">dean_johnson</reporter>
          <assigned_to name="Dean Johnson">dean_johnson</assigned_to>
          <cc>ap</cc>
    
    <cc>dean_johnson</cc>
    
    <cc>dewei_zhu</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1729495</commentid>
    <comment_count>0</comment_count>
    <who name="Dean Johnson">dean_johnson</who>
    <bug_when>2021-02-15 17:54:28 -0800</bug_when>
    <thetext>The syncing scripts for A/B infrastructure currently only require that there are no pending builds and no running test groups assigned to a builder before a new test group is assigned to it. This means that if a builder becomes available, then runs a test that puts the host into a state where it fails until someone manually fixes it, the broken host can fail all pending jobs that match the failing configuration.

To address this, we will start running periodic health checks against the A/B queues for a buildmaster and only schedule jobs when the last build (or health check) succeeded and previously noted conditions are true.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1729498</commentid>
    <comment_count>1</comment_count>
    <who name="Dean Johnson">dean_johnson</who>
    <bug_when>2021-02-15 17:59:04 -0800</bug_when>
    <thetext>&lt;rdar://problem/74042833&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1729501</commentid>
    <comment_count>2</comment_count>
      <attachid>420408</attachid>
    <who name="Dean Johnson">dean_johnson</who>
    <bug_when>2021-02-15 18:05:54 -0800</bug_when>
    <thetext>Created attachment 420408
v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1729739</commentid>
    <comment_count>3</comment_count>
      <attachid>420482</attachid>
    <who name="Dean Johnson">dean_johnson</who>
    <bug_when>2021-02-16 09:52:39 -0800</bug_when>
    <thetext>Created attachment 420482
v2

Fixes style checker errors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1729989</commentid>
    <comment_count>4</comment_count>
      <attachid>420482</attachid>
    <who name="">dewei_zhu</who>
    <bug_when>2021-02-16 15:37:39 -0800</bug_when>
    <thetext>Comment on attachment 420482
v2

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

&gt; Websites/perf.webkit.org/tools/js/buildbot-syncer.js:84
&gt; +    lastCompletedBuildSuccessful() { return this._lastCompletedBuild == null || this._lastCompletedBuild.result() == 0; }

Ditto per https://webkit.org/code-style-guidelines/#zero-comparison

&gt; Websites/perf.webkit.org/tools/js/buildbot-syncer.js:193
&gt; +                    if ((!this._lastCompletedBuild || this._lastCompletedBuild.buildTag() &lt; entry.buildTag()) &amp;&amp; entry.hasFinished())

buildTag doesn&apos;t guarantee to be indicative of build time, but in Buildbot case, the larger build tag means more recent

&gt; Websites/perf.webkit.org/tools/js/buildbot-triggerable.js:254
&gt; +            if (syncer.isTester() &amp;&amp; nextRequest.order() == 0 &amp;&amp; !syncer.lastCompletedBuildSuccessful())

Nit: per webkit code style guideline https://webkit.org/code-style-guidelines/#zero-comparison, it should be `!nextRequest.order()`
Also leave a comment about currently limiting to tester syncer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1729990</commentid>
    <comment_count>5</comment_count>
    <who name="">dewei_zhu</who>
    <bug_when>2021-02-16 15:37:49 -0800</bug_when>
    <thetext>r=me with comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1730032</commentid>
    <comment_count>6</comment_count>
      <attachid>420563</attachid>
    <who name="Dean Johnson">dean_johnson</who>
    <bug_when>2021-02-16 17:31:14 -0800</bug_when>
    <thetext>Created attachment 420563
v3

Fixed style issues.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1730033</commentid>
    <comment_count>7</comment_count>
      <attachid>420564</attachid>
    <who name="Dean Johnson">dean_johnson</who>
    <bug_when>2021-02-16 17:32:19 -0800</bug_when>
    <thetext>Created attachment 420564
v3-1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1730066</commentid>
    <comment_count>8</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-02-16 18:27:31 -0800</bug_when>
    <thetext>Committed r272971: &lt;https://commits.webkit.org/r272971&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 420564.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1730068</commentid>
    <comment_count>9</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-02-16 18:28:17 -0800</bug_when>
    <thetext>&lt;rdar://problem/74416438&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>420408</attachid>
            <date>2021-02-15 18:05:54 -0800</date>
            <delta_ts>2021-02-16 09:52:39 -0800</delta_ts>
            <desc>v1</desc>
            <filename>buildbot-syncer-no-failures-v1.patch</filename>
            <type>text/plain</type>
            <size>13188</size>
            <attacher name="Dean Johnson">dean_johnson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9DaGFuZ2VMb2cgYi9XZWJzaXRl
cy9wZXJmLndlYmtpdC5vcmcvQ2hhbmdlTG9nCmluZGV4IDNkMzg2ZjdmMDYwNy4uMTY2YjRkNzhi
NjE2IDEwMDY0NAotLS0gYS9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvQ2hhbmdlTG9nCisrKyBi
L1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAy
MS0wMi0xNSAgRGVhbiBKb2huc29uICA8ZGVhbl9qb2huc29uQGFwcGxlLmNvbT4KKworICAgICAg
ICBbcGVyZi53ZWJraXQub3JnXSBEbyBub3Qgc2NoZWR1bGUgam9icyB0byBCdWlsZGJvdCBpZiB0
aGUgbGFzdCBqb2IgZmFpbGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMjE5NDMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIHNlcnZlci10ZXN0cy9yZXNvdXJjZXMvbW9jay1kYXRhLmpzOgorICAgICAg
ICAoTW9ja0RhdGEuc2FtcGxlQnVpbGREYXRhKTogQWxsb3cgb3B0aW9ucy5yZXN1bHRzIHRvIGJl
IHNwZWNpZmllZC4KKyAgICAgICAgKiBzZXJ2ZXItdGVzdHMvdG9vbHMtYnVpbGRib3QtdHJpZ2dl
cmFibGUtdGVzdHMuanM6CisgICAgICAgIChhc3luYyBjb25zdCk6IEFkZCB0ZXN0cyBmb3IgbmV3
IGZ1bmN0aW9uYWxpdHkuIEV4aXN0aW5nIHRlc3RzIHN0aWxsIHBhc3MuCisgICAgICAgICogdG9v
bHMvanMvYnVpbGRib3Qtc3luY2VyLmpzOgorICAgICAgICAoQnVpbGRib3RCdWlsZEVudHJ5LnBy
b3RvdHlwZS5pbml0aWFsaXplKTogVHJhY2sgdGhlICdyZXN1bHRzJyBrZXkgZnJvbSBhIGJ1aWxk
LgorICAgICAgICAoQnVpbGRib3RCdWlsZEVudHJ5LnByb3RvdHlwZS5yZXN1bHQpOiBNYWtlIHRo
ZSBidWlsZCByZXN1bHQgYXZhaWxhYmxlLgorICAgICAgICAoQnVpbGRib3RTeW5jZXIpOiBUcmFj
ayB0aGUgbGFzdCBjb21wbGV0ZWQgYnVpbGQuCisgICAgICAgIChCdWlsZGJvdFN5bmNlci5wcm90
b3R5cGUubGFzdENvbXBsZXRlZEJ1aWxkU3VjY2Vzc2Z1bCk6IENoZWNrIGlmIHRoZSBsYXN0IGNv
bXBsZXRlZAorCQlidWlsZCB3YXMgc3VjY2Vzc2Z1bC4KKyAgICAgICAgKEJ1aWxkYm90U3luY2Vy
LnByb3RvdHlwZS5wdWxsQnVpbGRib3QpOgorICAgICAgICAqIHRvb2xzL2pzL2J1aWxkYm90LXRy
aWdnZXJhYmxlLmpzOiBEbyBub3Qgc2NoZWR1bGUgYSBqb2IgdG8gYSBidWlsZGVyIHdobyBmYWls
ZWQKKwkJaXRzIGxhc3QgY29tcGxldGVkZCBidWlsZC4KKyAgICAgICAgKEJ1aWxkYm90VHJpZ2dl
cmFibGUucHJvdG90eXBlLl9zY2hlZHVsZVJlcXVlc3RJZlNsYXZlSXNBdmFpbGFibGUpOgorCiAy
MDIxLTAyLTExICBEZXdlaSBaaHUgIDxkZXdlaV96aHVAYXBwbGUuY29tPgogCiAgICAgICAgICdz
eW5jLWNvbW1pdHMucHknIHNob3VsZCBiZSBhYmxlIHRvIGxpbWl0IHJlcG9ydGluZyBzY29wZSB0
byBhIHNwZWNpZmljIGJyYW5jaCBvbiBhIEdpdCByZXBvc2l0b3J5LgpkaWZmIC0tZ2l0IGEvV2Vi
c2l0ZXMvcGVyZi53ZWJraXQub3JnL3NlcnZlci10ZXN0cy9yZXNvdXJjZXMvbW9jay1kYXRhLmpz
IGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3NlcnZlci10ZXN0cy9yZXNvdXJjZXMvbW9jay1k
YXRhLmpzCmluZGV4IGFlN2I0MmViZDEzOS4uOWIwMjAwYmJiOGUyIDEwMDY0NAotLS0gYS9XZWJz
aXRlcy9wZXJmLndlYmtpdC5vcmcvc2VydmVyLXRlc3RzL3Jlc291cmNlcy9tb2NrLWRhdGEuanMK
KysrIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3NlcnZlci10ZXN0cy9yZXNvdXJjZXMvbW9j
ay1kYXRhLmpzCkBAIC00NzksNyArNDc5LDcgQEAgTW9ja0RhdGEgPSB7CiAgICAgICAgICAgICAi
Y29tcGxldGVfYXQiOiBudWxsLAogICAgICAgICAgICAgImJ1aWxkaWQiOiBvcHRpb25zLmJ1aWxk
aWQgfHwgNDE4NzQ0LAogICAgICAgICAgICAgIm1hc3RlcmlkIjogMSwKLSAgICAgICAgICAgICJy
ZXN1bHRzIjogbnVsbCwKKyAgICAgICAgICAgICJyZXN1bHRzIjogb3B0aW9ucy5yZXN1bHRzLAog
ICAgICAgICAgICAgInN0YXJ0ZWRfYXQiOiBuZXcgRGF0ZSgnMjAxNy0xMi0xOVQyMzoxMTo0OVon
KSAvIDEwMDAsCiAgICAgICAgICAgICAic3RhdGVfc3RyaW5nIjogb3B0aW9ucy5zdGF0dXNEZXNj
cmlwdGlvbiB8fCBudWxsLAogICAgICAgICAgICAgIndvcmtlcmlkIjogNDEsCmRpZmYgLS1naXQg
YS9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvc2VydmVyLXRlc3RzL3Rvb2xzLWJ1aWxkYm90LXRy
aWdnZXJhYmxlLXRlc3RzLmpzIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3NlcnZlci10ZXN0
cy90b29scy1idWlsZGJvdC10cmlnZ2VyYWJsZS10ZXN0cy5qcwppbmRleCAyZTIzYTNkMDBlOTMu
LjYwNGRhNzM0ZGEwYyAxMDA2NDQKLS0tIGEvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3NlcnZl
ci10ZXN0cy90b29scy1idWlsZGJvdC10cmlnZ2VyYWJsZS10ZXN0cy5qcworKysgYi9XZWJzaXRl
cy9wZXJmLndlYmtpdC5vcmcvc2VydmVyLXRlc3RzL3Rvb2xzLWJ1aWxkYm90LXRyaWdnZXJhYmxl
LXRlc3RzLmpzCkBAIC0yMTQsNiArMjE0LDEyNiBAQCBkZXNjcmliZSgnQnVpbGRib3RUcmlnZ2Vy
YWJsZScsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgIH0pOwogICAgICAgICB9KTsKIAorICAg
ICAgICBpdCgnc2hvdWxkIG5vdCBzY2hlZHVsZSB0aGUgZmlyc3QgYnVpbGQgcmVxdWVzdCBvbiBh
IGJ1aWxkZXIgd2hvc2UgbGFzdCBidWlsZCBmYWlsZWQnLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICBjb25zdCBkYiA9IFRlc3RTZXJ2ZXIuZGF0YWJhc2UoKTsKKyAgICAgICAgICAgIGF3YWl0
IE1vY2tEYXRhLmFkZE1vY2tEYXRhKGRiKTsKKyAgICAgICAgICAgIGF3YWl0IE1hbmlmZXN0LmZl
dGNoKCk7CisKKyAgICAgICAgICAgIGNvbnN0IGNvbmZpZyA9IE1vY2tEYXRhLm1vY2tUZXN0U3lu
Y0NvbmZpZ1dpdGhTaW5nbGVCdWlsZGVyKCk7CisgICAgICAgICAgICBjb25zdCBsb2dnZXIgPSBu
ZXcgTW9ja0xvZ2dlcjsKKyAgICAgICAgICAgIGNvbnN0IHNsYXZlSW5mbyA9IHtuYW1lOiAnc3lu
Yy1zbGF2ZScsIHBhc3N3b3JkOiAncGFzc3dvcmQnfTsKKyAgICAgICAgICAgIGNvbnN0IHRyaWdn
ZXJhYmxlID0gbmV3IEJ1aWxkYm90VHJpZ2dlcmFibGUoY29uZmlnLCBUZXN0U2VydmVyLnJlbW90
ZUFQSSgpLCBNb2NrUmVtb3RlQVBJLCBzbGF2ZUluZm8sIGxvZ2dlcik7CisgICAgICAgICAgICB0
cmlnZ2VyYWJsZS5pbml0U3luY2VycygpLnRoZW4oKCkgPT4gdHJpZ2dlcmFibGUuc3luY09uY2Uo
KSk7CisgICAgICAgICAgICBhc3NlcnRSZXF1ZXN0QW5kUmVzb2x2ZShNb2NrUmVtb3RlQVBJLnJl
cXVlc3RzWzBdLCAnR0VUJywgTW9ja0RhdGEuYnVpbGRib3RCdWlsZGVyc1VSTCgpLCBNb2NrRGF0
YS5tb2NrQnVpbGRib3RCdWlsZGVycygpKTsKKyAgICAgICAgICAgIE1vY2tSZW1vdGVBUEkucmVz
ZXQoKTsKKworICAgICAgICAgICAgYXdhaXQgTW9ja1JlbW90ZUFQSS53YWl0Rm9yUmVxdWVzdCgp
OworCisgICAgICAgICAgICBhc3NlcnQuZXF1YWwoTW9ja1JlbW90ZUFQSS5yZXF1ZXN0cy5sZW5n
dGgsIDEpOworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKE1vY2tSZW1vdGVBUEkucmVxdWVzdHNb
MF0ubWV0aG9kLCAnR0VUJyk7CisgICAgICAgICAgICBhc3NlcnQuZXF1YWwoTW9ja1JlbW90ZUFQ
SS5yZXF1ZXN0c1swXS51cmwsIE1vY2tEYXRhLnBlbmRpbmdCdWlsZHNVcmwoJ3NvbWUtYnVpbGRl
ci0xJykpOworICAgICAgICAgICAgTW9ja1JlbW90ZUFQSS5yZXF1ZXN0c1swXS5yZXNvbHZlKHt9
KTsKKworICAgICAgICAgICAgYXdhaXQgTW9ja1JlbW90ZUFQSS53YWl0Rm9yUmVxdWVzdCgpOwor
CisgICAgICAgICAgICBhc3NlcnQuZXF1YWwoTW9ja1JlbW90ZUFQSS5yZXF1ZXN0cy5sZW5ndGgs
IDIpOworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKE1vY2tSZW1vdGVBUEkucmVxdWVzdHNbMV0u
bWV0aG9kLCAnR0VUJyk7CisgICAgICAgICAgICBhc3NlcnQuZXF1YWwoTW9ja1JlbW90ZUFQSS5y
ZXF1ZXN0c1sxXS51cmwsIE1vY2tEYXRhLnJlY2VudEJ1aWxkc1VybCgnc29tZS1idWlsZGVyLTEn
LCAyKSk7CisgICAgICAgICAgICBNb2NrUmVtb3RlQVBJLnJlcXVlc3RzWzFdLnJlc29sdmUoeydi
dWlsZHMnIDogW01vY2tEYXRhLmZpbmlzaGVkQnVpbGREYXRhKHtyZXN1bHRzOiAxLCBidWlsZFJl
cXVlc3RJZDogNjk5fSldfSk7CisKKyAgICAgICAgICAgIGF3YWl0IE1vY2tSZW1vdGVBUEkud2Fp
dEZvclJlcXVlc3QoKTsKKworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKE1vY2tSZW1vdGVBUEku
cmVxdWVzdHMubGVuZ3RoLCAzKTsKKyAgICAgICAgICAgIGFzc2VydC5lcXVhbChNb2NrUmVtb3Rl
QVBJLnJlcXVlc3RzWzJdLm1ldGhvZCwgJ0dFVCcpOworICAgICAgICAgICAgYXNzZXJ0LmVxdWFs
KE1vY2tSZW1vdGVBUEkucmVxdWVzdHNbMl0udXJsLCBNb2NrRGF0YS5wZW5kaW5nQnVpbGRzVXJs
KCdzb21lLWJ1aWxkZXItMScpKTsKKyAgICAgICAgICAgIE1vY2tSZW1vdGVBUEkucmVxdWVzdHNb
Ml0ucmVzb2x2ZSh7fSk7CisKKyAgICAgICAgICAgIGF3YWl0IE1vY2tSZW1vdGVBUEkud2FpdEZv
clJlcXVlc3QoKTsKKworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKEJ1aWxkUmVxdWVzdC5hbGwo
KS5sZW5ndGgsIDQpOworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKEJ1aWxkUmVxdWVzdC5maW5k
QnlJZCg3MDApLnN0YXR1cygpLCAncGVuZGluZycpOworICAgICAgICAgICAgYXNzZXJ0LmVxdWFs
KEJ1aWxkUmVxdWVzdC5maW5kQnlJZCg3MDApLnN0YXR1c1VybCgpLCBudWxsKTsKKyAgICAgICAg
fSk7CisKKyAgICAgICAgaXQoJ3Nob3VsZCBzY2hlZHVsZSB0aGUgZmlyc3QgYnVpbGQgcmVxdWVz
dCB0byB0aGUgZmlyc3QgYXZhaWxhYmxlIG5vbi1mYWlsaW5nIHF1ZXVlJywgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgY29uc3QgZGIgPSBUZXN0U2VydmVyLmRhdGFiYXNlKCk7CisgICAgICAg
ICAgICBhd2FpdCBNb2NrRGF0YS5hZGRNb2NrRGF0YShkYik7CisgICAgICAgICAgICBhd2FpdCBN
YW5pZmVzdC5mZXRjaCgpOworCisgICAgICAgICAgICBjb25zdCBjb25maWcgPSBNb2NrRGF0YS5t
b2NrVGVzdFN5bmNDb25maWdXaXRoVHdvQnVpbGRlcnMoKTsKKyAgICAgICAgICAgIGNvbnN0IGxv
Z2dlciA9IG5ldyBNb2NrTG9nZ2VyOworICAgICAgICAgICAgY29uc3Qgc2xhdmVJbmZvID0ge25h
bWU6ICdzeW5jLXNsYXZlJywgcGFzc3dvcmQ6ICdwYXNzd29yZCd9OworICAgICAgICAgICAgY29u
c3QgdHJpZ2dlcmFibGUgPSBuZXcgQnVpbGRib3RUcmlnZ2VyYWJsZShjb25maWcsIFRlc3RTZXJ2
ZXIucmVtb3RlQVBJKCksIE1vY2tSZW1vdGVBUEksIHNsYXZlSW5mbywgbG9nZ2VyKTsKKyAgICAg
ICAgICAgIGNvbnN0IHN5bmNPbmNlID0gdHJpZ2dlcmFibGUuaW5pdFN5bmNlcnMoKS50aGVuKCgp
ID0+IHRyaWdnZXJhYmxlLnN5bmNPbmNlKCkpOworICAgICAgICAgICAgYXNzZXJ0UmVxdWVzdEFu
ZFJlc29sdmUoTW9ja1JlbW90ZUFQSS5yZXF1ZXN0c1swXSwgJ0dFVCcsIE1vY2tEYXRhLmJ1aWxk
Ym90QnVpbGRlcnNVUkwoKSwgTW9ja0RhdGEubW9ja0J1aWxkYm90QnVpbGRlcnMoKSk7CisgICAg
ICAgICAgICBNb2NrUmVtb3RlQVBJLnJlc2V0KCk7CisKKyAgICAgICAgICAgIGF3YWl0IE1vY2tS
ZW1vdGVBUEkud2FpdEZvclJlcXVlc3QoKTsKKworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKE1v
Y2tSZW1vdGVBUEkucmVxdWVzdHMubGVuZ3RoLCAyKTsKKyAgICAgICAgICAgIGFzc2VydC5lcXVh
bChNb2NrUmVtb3RlQVBJLnJlcXVlc3RzWzBdLm1ldGhvZCwgJ0dFVCcpOworICAgICAgICAgICAg
YXNzZXJ0LmVxdWFsKE1vY2tSZW1vdGVBUEkucmVxdWVzdHNbMF0udXJsLCBNb2NrRGF0YS5wZW5k
aW5nQnVpbGRzVXJsKCdzb21lLWJ1aWxkZXItMScpKTsKKyAgICAgICAgICAgIE1vY2tSZW1vdGVB
UEkucmVxdWVzdHNbMF0ucmVzb2x2ZSh7fSk7CisgICAgICAgICAgICBhc3NlcnQuZXF1YWwoTW9j
a1JlbW90ZUFQSS5yZXF1ZXN0c1sxXS5tZXRob2QsICdHRVQnKTsKKyAgICAgICAgICAgIGFzc2Vy
dC5lcXVhbChNb2NrUmVtb3RlQVBJLnJlcXVlc3RzWzFdLnVybCwgTW9ja0RhdGEucGVuZGluZ0J1
aWxkc1VybCgnc29tZSBidWlsZGVyIDInKSk7CisgICAgICAgICAgICBNb2NrUmVtb3RlQVBJLnJl
cXVlc3RzWzFdLnJlc29sdmUoe30pOworCisgICAgICAgICAgICBhd2FpdCBNb2NrUmVtb3RlQVBJ
LndhaXRGb3JSZXF1ZXN0KCk7CisKKyAgICAgICAgICAgIGFzc2VydC5lcXVhbChNb2NrUmVtb3Rl
QVBJLnJlcXVlc3RzLmxlbmd0aCwgNCk7CisgICAgICAgICAgICBhc3NlcnQuZXF1YWwoTW9ja1Jl
bW90ZUFQSS5yZXF1ZXN0c1syXS5tZXRob2QsICdHRVQnKTsKKyAgICAgICAgICAgIGFzc2VydC5l
cXVhbChNb2NrUmVtb3RlQVBJLnJlcXVlc3RzWzJdLnVybCwgTW9ja0RhdGEucmVjZW50QnVpbGRz
VXJsKCdzb21lLWJ1aWxkZXItMScsIDIpKTsKKyAgICAgICAgICAgIE1vY2tSZW1vdGVBUEkucmVx
dWVzdHNbMl0ucmVzb2x2ZSh7J2J1aWxkcycgOiBbTW9ja0RhdGEuZmluaXNoZWRCdWlsZERhdGEo
e3Jlc3VsdHM6IDEsIGJ1aWxkUmVxdWVzdElkOiA2OTl9KV19KTsKKyAgICAgICAgICAgIGFzc2Vy
dC5lcXVhbChNb2NrUmVtb3RlQVBJLnJlcXVlc3RzWzNdLm1ldGhvZCwgJ0dFVCcpOworICAgICAg
ICAgICAgYXNzZXJ0LmVxdWFsKE1vY2tSZW1vdGVBUEkucmVxdWVzdHNbM10udXJsLCBNb2NrRGF0
YS5yZWNlbnRCdWlsZHNVcmwoJ3NvbWUgYnVpbGRlciAyJywgMikpOworICAgICAgICAgICAgTW9j
a1JlbW90ZUFQSS5yZXF1ZXN0c1szXS5yZXNvbHZlKHt9KTsKKworICAgICAgICAgICAgYXdhaXQg
TW9ja1JlbW90ZUFQSS53YWl0Rm9yUmVxdWVzdCgpOworCisgICAgICAgICAgICBhc3NlcnQuZXF1
YWwoTW9ja1JlbW90ZUFQSS5yZXF1ZXN0cy5sZW5ndGgsIDUpOworICAgICAgICAgICAgYXNzZXJ0
LmVxdWFsKE1vY2tSZW1vdGVBUEkucmVxdWVzdHNbNF0ubWV0aG9kLCAnUE9TVCcpOworICAgICAg
ICAgICAgYXNzZXJ0LmVxdWFsKE1vY2tSZW1vdGVBUEkucmVxdWVzdHNbNF0udXJsLCAnL2FwaS92
Mi9mb3JjZXNjaGVkdWxlcnMvZm9yY2Utc29tZS1idWlsZGVyLTInKTsKKyAgICAgICAgICAgIGFz
c2VydC5kZWVwRXF1YWwoTW9ja1JlbW90ZUFQSS5yZXF1ZXN0c1s0XS5kYXRhLCB7J2lkJzogJzcw
MCcsICdqc29ucnBjJzogJzIuMCcsICdtZXRob2QnOiAnZm9yY2UnLCAncGFyYW1zJzoKKyAgICAg
ICAgICAgICAgICB7J3drJzogJzE5MTYyMicsICdvcyc6ICcxMC4xMSAxNUEyODQnLCAnYnVpbGQt
cmVxdWVzdC1pZCc6ICc3MDAnLCAnZm9yY2VzY2hlZHVsZXInOiAnZm9yY2Utc29tZS1idWlsZGVy
LTInfX0pOworICAgICAgICAgICAgTW9ja1JlbW90ZUFQSS5yZXF1ZXN0c1s0XS5yZXNvbHZlKCdP
SycpOworCisgICAgICAgICAgICBhd2FpdCBNb2NrUmVtb3RlQVBJLndhaXRGb3JSZXF1ZXN0KCk7
CisKKyAgICAgICAgICAgIGFzc2VydC5lcXVhbChNb2NrUmVtb3RlQVBJLnJlcXVlc3RzLmxlbmd0
aCwgNyk7CisgICAgICAgICAgICBhc3NlcnQuZXF1YWwoTW9ja1JlbW90ZUFQSS5yZXF1ZXN0c1s1
XS5tZXRob2QsICdHRVQnKTsKKyAgICAgICAgICAgIGFzc2VydC5lcXVhbChNb2NrUmVtb3RlQVBJ
LnJlcXVlc3RzWzVdLnVybCwgTW9ja0RhdGEucGVuZGluZ0J1aWxkc1VybCgnc29tZS1idWlsZGVy
LTEnKSk7CisgICAgICAgICAgICBNb2NrUmVtb3RlQVBJLnJlcXVlc3RzWzVdLnJlc29sdmUoe30p
OworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKE1vY2tSZW1vdGVBUEkucmVxdWVzdHNbNl0ubWV0
aG9kLCAnR0VUJyk7CisgICAgICAgICAgICBhc3NlcnQuZXF1YWwoTW9ja1JlbW90ZUFQSS5yZXF1
ZXN0c1s2XS51cmwsIE1vY2tEYXRhLnBlbmRpbmdCdWlsZHNVcmwoJ3NvbWUgYnVpbGRlciAyJykp
OworICAgICAgICAgICAgTW9ja1JlbW90ZUFQSS5yZXF1ZXN0c1s2XS5yZXNvbHZlKE1vY2tEYXRh
LnBlbmRpbmdCdWlsZCh7YnVpbGRlcklkOiBNb2NrRGF0YS5idWlsZGVySURGb3JOYW1lKCdzb21l
IGJ1aWxkZXIgMicpLCBidWlsZFJlcXVlc3RJZDogNzAwLCBidWlsZGJvdEJ1aWxkUmVxdWVzdElk
OiAxN30pKTsKKworICAgICAgICAgICAgYXdhaXQgTW9ja1JlbW90ZUFQSS53YWl0Rm9yUmVxdWVz
dCgpOworCisgICAgICAgICAgICBhc3NlcnQuZXF1YWwoTW9ja1JlbW90ZUFQSS5yZXF1ZXN0cy5s
ZW5ndGgsIDkpOworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKE1vY2tSZW1vdGVBUEkucmVxdWVz
dHNbN10ubWV0aG9kLCAnR0VUJyk7CisgICAgICAgICAgICBhc3NlcnQuZXF1YWwoTW9ja1JlbW90
ZUFQSS5yZXF1ZXN0c1s3XS51cmwsIE1vY2tEYXRhLnJlY2VudEJ1aWxkc1VybCgnc29tZS1idWls
ZGVyLTEnLCAyKSk7CisgICAgICAgICAgICBNb2NrUmVtb3RlQVBJLnJlcXVlc3RzWzddLnJlc29s
dmUoe30pOworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKE1vY2tSZW1vdGVBUEkucmVxdWVzdHNb
OF0ubWV0aG9kLCAnR0VUJyk7CisgICAgICAgICAgICBhc3NlcnQuZXF1YWwoTW9ja1JlbW90ZUFQ
SS5yZXF1ZXN0c1s4XS51cmwsIE1vY2tEYXRhLnJlY2VudEJ1aWxkc1VybCgnc29tZSBidWlsZGVy
IDInLCAyKSk7CisgICAgICAgICAgICBNb2NrUmVtb3RlQVBJLnJlcXVlc3RzWzhdLnJlc29sdmUo
e30pOworCisgICAgICAgICAgICBhd2FpdCBzeW5jT25jZTsKKworICAgICAgICAgICAgYXNzZXJ0
LmVxdWFsKEJ1aWxkUmVxdWVzdC5hbGwoKS5sZW5ndGgsIDQpOworICAgICAgICAgICAgYXNzZXJ0
LmVxdWFsKEJ1aWxkUmVxdWVzdC5maW5kQnlJZCg3MDApLnN0YXR1cygpLCAncGVuZGluZycpOwor
ICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKEJ1aWxkUmVxdWVzdC5maW5kQnlJZCg3MDApLnN0YXR1
c1VybCgpLCBudWxsKTsKKyAgICAgICAgICAgIGFzc2VydC5lcXVhbChCdWlsZFJlcXVlc3QuZmlu
ZEJ5SWQoNzAxKS5zdGF0dXMoKSwgJ3BlbmRpbmcnKTsKKyAgICAgICAgICAgIGFzc2VydC5lcXVh
bChCdWlsZFJlcXVlc3QuZmluZEJ5SWQoNzAxKS5zdGF0dXNVcmwoKSwgbnVsbCk7CisKKyAgICAg
ICAgICAgIGF3YWl0IEJ1aWxkUmVxdWVzdC5mZXRjaEZvclRyaWdnZXJhYmxlKE1vY2tEYXRhLm1v
Y2tUZXN0U3luY0NvbmZpZ1dpdGhUd29CdWlsZGVycygpLnRyaWdnZXJhYmxlTmFtZSk7CisKKyAg
ICAgICAgICAgIGFzc2VydC5lcXVhbChCdWlsZFJlcXVlc3QuYWxsKCkubGVuZ3RoLCA0KTsKKyAg
ICAgICAgICAgIGFzc2VydC5lcXVhbChCdWlsZFJlcXVlc3QuZmluZEJ5SWQoNzAwKS5zdGF0dXMo
KSwgJ3NjaGVkdWxlZCcpOworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKEJ1aWxkUmVxdWVzdC5m
aW5kQnlJZCg3MDApLnN0YXR1c1VybCgpLCAnaHR0cDovL2J1aWxkLndlYmtpdC5vcmcvIy9idWls
ZHJlcXVlc3RzLzE3Jyk7CisgICAgICAgICAgICBhc3NlcnQuZXF1YWwoQnVpbGRSZXF1ZXN0LmZp
bmRCeUlkKDcwMSkuc3RhdHVzKCksICdwZW5kaW5nJyk7CisgICAgICAgICAgICBhc3NlcnQuZXF1
YWwoQnVpbGRSZXF1ZXN0LmZpbmRCeUlkKDcwMSkuc3RhdHVzVXJsKCksIG51bGwpOworICAgICAg
ICB9KTsKKwogICAgICAgICBpdCgnc2hvdWxkIG5vdCBzY2hlZHVsZSBhIGJ1aWxkIHJlcXVlc3Qg
b24gYSBkaWZmZXJlbnQgYnVpbGRlciB0aGFuIHRoZSBvbmUgdGhlIGZpcnN0IGJ1aWxkIHJlcXVl
c3QgaXMgcGVuZGluZycsICgpID0+IHsKICAgICAgICAgICAgIGNvbnN0IGRiID0gVGVzdFNlcnZl
ci5kYXRhYmFzZSgpOwogICAgICAgICAgICAgbGV0IHN5bmNQcm9taXNlOwpkaWZmIC0tZ2l0IGEv
V2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3Rvb2xzL2pzL2J1aWxkYm90LXN5bmNlci5qcyBiL1dl
YnNpdGVzL3BlcmYud2Via2l0Lm9yZy90b29scy9qcy9idWlsZGJvdC1zeW5jZXIuanMKaW5kZXgg
MWI4MjE0NjlkZTQ4Li43ZTYwNDA3MmI4ZTUgMTAwNjQ0Ci0tLSBhL1dlYnNpdGVzL3BlcmYud2Vi
a2l0Lm9yZy90b29scy9qcy9idWlsZGJvdC1zeW5jZXIuanMKKysrIGIvV2Vic2l0ZXMvcGVyZi53
ZWJraXQub3JnL3Rvb2xzL2pzL2J1aWxkYm90LXN5bmNlci5qcwpAQCAtMjAsNiArMjAsNyBAQCBj
bGFzcyBCdWlsZGJvdEJ1aWxkRW50cnkgewogICAgICAgICB0aGlzLl9pc1BlbmRpbmcgPSAnY2xh
aW1lZCcgaW4gcmF3RGF0YSAmJiAhcmF3RGF0YVsnY2xhaW1lZCddOwogICAgICAgICB0aGlzLl9p
c0luUHJvZ3Jlc3MgPSAhdGhpcy5faXNQZW5kaW5nICYmICF0aGlzLl9oYXNGaW5pc2hlZDsKICAg
ICAgICAgdGhpcy5fYnVpbGRUYWcgPSByYXdEYXRhWydudW1iZXInXTsKKyAgICAgICAgdGhpcy5f
cmVzdWx0ID0gcmF3RGF0YVsncmVzdWx0cyddOwogICAgICAgICB0aGlzLl93b3JrZXJOYW1lID0g
cmF3RGF0YVsncHJvcGVydGllcyddICYmIHJhd0RhdGFbJ3Byb3BlcnRpZXMnXVsnd29ya2VybmFt
ZSddID8gcmF3RGF0YVsncHJvcGVydGllcyddWyd3b3JrZXJuYW1lJ11bMF0gOiBudWxsOwogICAg
ICAgICB0aGlzLl9idWlsZFJlcXVlc3RJZCA9IHJhd0RhdGFbJ3Byb3BlcnRpZXMnXSAmJiByYXdE
YXRhWydwcm9wZXJ0aWVzJ11bc3luY2VyLl9idWlsZFJlcXVlc3RQcm9wZXJ0eU5hbWVdCiAgICAg
ICAgICAgICA/IHJhd0RhdGFbJ3Byb3BlcnRpZXMnXVtzeW5jZXIuX2J1aWxkUmVxdWVzdFByb3Bl
cnR5TmFtZV1bMF0gOiBudWxsOwpAQCAtMzQsNiArMzUsNyBAQCBjbGFzcyBCdWlsZGJvdEJ1aWxk
RW50cnkgewogICAgIGlzUGVuZGluZygpIHsgcmV0dXJuIHRoaXMuX2lzUGVuZGluZzsgfQogICAg
IGlzSW5Qcm9ncmVzcygpIHsgcmV0dXJuIHRoaXMuX2lzSW5Qcm9ncmVzczsgfQogICAgIGhhc0Zp
bmlzaGVkKCkgeyByZXR1cm4gdGhpcy5faGFzRmluaXNoZWQ7IH0KKyAgICByZXN1bHQoKSB7IHJl
dHVybiB0aGlzLl9yZXN1bHQ7IH0KICAgICBzdGF0dXNEZXNjcmlwdGlvbigpIHsgcmV0dXJuIHRo
aXMuX3N0YXR1c0Rlc2NyaXB0aW9uOyB9CiAgICAgdXJsKCkgeyByZXR1cm4gdGhpcy5pc1BlbmRp
bmcoKSA/IHRoaXMuX3N5bmNlci51cmxGb3JQZW5kaW5nQnVpbGQodGhpcy5fYnVpbGRib3RCdWls
ZFJlcXVlc3RJZCkgOiB0aGlzLl9zeW5jZXIudXJsRm9yQnVpbGRTZXJpYWwodGhpcy5fYnVpbGRU
YWcpOyB9CiAKQEAgLTcyLDExICs3NCwxNCBAQCBjbGFzcyBCdWlsZGJvdFN5bmNlciB7CiAgICAg
ICAgIHRoaXMuX2J1aWxkZXJJRCA9IG9iamVjdC5idWlsZGVySUQ7CiAgICAgICAgIHRoaXMuX3Ns
YXZlTGlzdCA9IG9iamVjdC5zbGF2ZUxpc3Q7CiAgICAgICAgIHRoaXMuX2VudHJ5TGlzdCA9IG51
bGw7CisgICAgICAgIHRoaXMuX2xhc3RDb21wbGV0ZWRCdWlsZCA9IG51bGw7CiAgICAgICAgIHRo
aXMuX3NsYXZlc1dpdGhOZXdSZXF1ZXN0cyA9IG5ldyBTZXQ7CiAgICAgfQogCiAgICAgYnVpbGRl
ck5hbWUoKSB7IHJldHVybiB0aGlzLl9idWlsZGVyTmFtZTsgfQogICAgIGJ1aWxkZXJJRCgpIHsg
cmV0dXJuIHRoaXMuX2J1aWxkZXJJRDsgfQorICAgIC8vIExpc3Qgb2YgcmVzdWx0cyBoZXJlOiBo
dHRwczovL2RvY3MuYnVpbGRib3QubmV0L2xhdGVzdC9kZXZlbG9wZXIvcmVzdWx0cy5odG1sCisg
ICAgbGFzdENvbXBsZXRlZEJ1aWxkU3VjY2Vzc2Z1bCgpIHsgcmV0dXJuIHRoaXMuX2xhc3RDb21w
bGV0ZWRCdWlsZCA9PSBudWxsIHx8IHRoaXMuX2xhc3RDb21wbGV0ZWRCdWlsZC5yZXN1bHQoKSA9
PSAwOyB9CiAKICAgICBhZGRUZXN0Q29uZmlndXJhdGlvbih0ZXN0LCBwbGF0Zm9ybSwgcHJvcGVy
dGllc1RlbXBsYXRlKQogICAgIHsKQEAgLTE4Myw4ICsxODgsMTEgQEAgY2xhc3MgQnVpbGRib3RT
eW5jZXIgewogICAgICAgICAgICAgICAgIGZvciAobGV0IGVudHJ5IG9mIHBlbmRpbmdFbnRyaWVz
KQogICAgICAgICAgICAgICAgICAgICBlbnRyeUJ5UmVxdWVzdFtlbnRyeS5idWlsZFJlcXVlc3RJ
ZCgpXSA9IGVudHJ5OwogCi0gICAgICAgICAgICAgICAgZm9yIChsZXQgZW50cnkgb2YgZW50cmll
cykKKyAgICAgICAgICAgICAgICBmb3IgKGxldCBlbnRyeSBvZiBlbnRyaWVzKSB7CiAgICAgICAg
ICAgICAgICAgICAgIGVudHJ5QnlSZXF1ZXN0W2VudHJ5LmJ1aWxkUmVxdWVzdElkKCldID0gZW50
cnk7CisgICAgICAgICAgICAgICAgICAgIGlmICgoIXRoaXMuX2xhc3RDb21wbGV0ZWRCdWlsZCB8
fCB0aGlzLl9sYXN0Q29tcGxldGVkQnVpbGQuYnVpbGRUYWcoKSA8IGVudHJ5LmJ1aWxkVGFnKCkp
ICYmIGVudHJ5Lmhhc0ZpbmlzaGVkKCkpCisgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9s
YXN0Q29tcGxldGVkQnVpbGQgPSBlbnRyeTsKKyAgICAgICAgICAgICAgICB9CiAKICAgICAgICAg
ICAgICAgICBsZXQgZW50cnlMaXN0ID0gW107CiAgICAgICAgICAgICAgICAgZm9yIChsZXQgaWQg
aW4gZW50cnlCeVJlcXVlc3QpCmRpZmYgLS1naXQgYS9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcv
dG9vbHMvanMvYnVpbGRib3QtdHJpZ2dlcmFibGUuanMgYi9XZWJzaXRlcy9wZXJmLndlYmtpdC5v
cmcvdG9vbHMvanMvYnVpbGRib3QtdHJpZ2dlcmFibGUuanMKaW5kZXggZmU1ZjBhZTA4YjkwLi5k
M2EwODllNDg1MzEgMTAwNjQ0Ci0tLSBhL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy90b29scy9q
cy9idWlsZGJvdC10cmlnZ2VyYWJsZS5qcworKysgYi9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcv
dG9vbHMvanMvYnVpbGRib3QtdHJpZ2dlcmFibGUuanMKQEAgLTI1MSw2ICsyNTEsOSBAQCBjbGFz
cyBCdWlsZGJvdFRyaWdnZXJhYmxlIHsKIAogICAgICAgICAvLyBQaWNrIGEgbmV3IHN5bmNlciBm
b3IgdGhlIGZpcnN0IHRlc3QuCiAgICAgICAgIGZvciAoY29uc3Qgc3luY2VyIG9mIHRoaXMuX3N5
bmNlcnMpIHsKKyAgICAgICAgICAgIGlmIChzeW5jZXIuaXNUZXN0ZXIoKSAmJiBuZXh0UmVxdWVz
dC5vcmRlcigpID09IDAgJiYgIXN5bmNlci5sYXN0Q29tcGxldGVkQnVpbGRTdWNjZXNzZnVsKCkp
CisgICAgICAgICAgICAgICAgY29udGludWU7CisKICAgICAgICAgICAgIGNvbnN0IHByb21pc2Ug
PSB0aGlzLl9zY2hlZHVsZVJlcXVlc3RXaXRoTG9nKHN5bmNlciwgbmV4dFJlcXVlc3QsIHJlcXVl
c3RzSW5Hcm91cCwgbnVsbCk7CiAgICAgICAgICAgICBpZiAocHJvbWlzZSkKICAgICAgICAgICAg
ICAgICByZXR1cm4gcHJvbWlzZTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>420482</attachid>
            <date>2021-02-16 09:52:39 -0800</date>
            <delta_ts>2021-02-16 17:32:19 -0800</delta_ts>
            <desc>v2</desc>
            <filename>buildbot-syncer-no-failures-v2.patch</filename>
            <type>text/plain</type>
            <size>13200</size>
            <attacher name="Dean Johnson">dean_johnson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9DaGFuZ2VMb2cgYi9XZWJzaXRl
cy9wZXJmLndlYmtpdC5vcmcvQ2hhbmdlTG9nCmluZGV4IDNkMzg2ZjdmMDYwNy4uZjY1Nzk4MTA3
Y2NmIDEwMDY0NAotLS0gYS9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvQ2hhbmdlTG9nCisrKyBi
L1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAy
MS0wMi0xNSAgRGVhbiBKb2huc29uICA8ZGVhbl9qb2huc29uQGFwcGxlLmNvbT4KKworICAgICAg
ICBbcGVyZi53ZWJraXQub3JnXSBEbyBub3Qgc2NoZWR1bGUgam9icyB0byBCdWlsZGJvdCBpZiB0
aGUgbGFzdCBqb2IgZmFpbGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMjE5NDMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIHNlcnZlci10ZXN0cy9yZXNvdXJjZXMvbW9jay1kYXRhLmpzOgorICAgICAg
ICAoTW9ja0RhdGEuc2FtcGxlQnVpbGREYXRhKTogQWxsb3cgb3B0aW9ucy5yZXN1bHRzIHRvIGJl
IHNwZWNpZmllZC4KKyAgICAgICAgKiBzZXJ2ZXItdGVzdHMvdG9vbHMtYnVpbGRib3QtdHJpZ2dl
cmFibGUtdGVzdHMuanM6CisgICAgICAgIChhc3luYyBjb25zdCk6IEFkZCB0ZXN0cyBmb3IgbmV3
IGZ1bmN0aW9uYWxpdHkuIEV4aXN0aW5nIHRlc3RzIHN0aWxsIHBhc3MuCisgICAgICAgICogdG9v
bHMvanMvYnVpbGRib3Qtc3luY2VyLmpzOgorICAgICAgICAoQnVpbGRib3RCdWlsZEVudHJ5LnBy
b3RvdHlwZS5pbml0aWFsaXplKTogVHJhY2sgdGhlICdyZXN1bHRzJyBrZXkgZnJvbSBhIGJ1aWxk
LgorICAgICAgICAoQnVpbGRib3RCdWlsZEVudHJ5LnByb3RvdHlwZS5yZXN1bHQpOiBNYWtlIHRo
ZSBidWlsZCByZXN1bHQgYXZhaWxhYmxlLgorICAgICAgICAoQnVpbGRib3RTeW5jZXIpOiBUcmFj
ayB0aGUgbGFzdCBjb21wbGV0ZWQgYnVpbGQuCisgICAgICAgIChCdWlsZGJvdFN5bmNlci5wcm90
b3R5cGUubGFzdENvbXBsZXRlZEJ1aWxkU3VjY2Vzc2Z1bCk6IENoZWNrIGlmIHRoZSBsYXN0IGNv
bXBsZXRlZAorICAgICAgICBidWlsZCB3YXMgc3VjY2Vzc2Z1bC4KKyAgICAgICAgKEJ1aWxkYm90
U3luY2VyLnByb3RvdHlwZS5wdWxsQnVpbGRib3QpOgorICAgICAgICAqIHRvb2xzL2pzL2J1aWxk
Ym90LXRyaWdnZXJhYmxlLmpzOiBEbyBub3Qgc2NoZWR1bGUgYSBqb2IgdG8gYSBidWlsZGVyIHdo
byBmYWlsZWQKKyAgICAgICAgaXRzIGxhc3QgY29tcGxldGVkZCBidWlsZC4KKyAgICAgICAgKEJ1
aWxkYm90VHJpZ2dlcmFibGUucHJvdG90eXBlLl9zY2hlZHVsZVJlcXVlc3RJZlNsYXZlSXNBdmFp
bGFibGUpOgorCiAyMDIxLTAyLTExICBEZXdlaSBaaHUgIDxkZXdlaV96aHVAYXBwbGUuY29tPgog
CiAgICAgICAgICdzeW5jLWNvbW1pdHMucHknIHNob3VsZCBiZSBhYmxlIHRvIGxpbWl0IHJlcG9y
dGluZyBzY29wZSB0byBhIHNwZWNpZmljIGJyYW5jaCBvbiBhIEdpdCByZXBvc2l0b3J5LgpkaWZm
IC0tZ2l0IGEvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3NlcnZlci10ZXN0cy9yZXNvdXJjZXMv
bW9jay1kYXRhLmpzIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3NlcnZlci10ZXN0cy9yZXNv
dXJjZXMvbW9jay1kYXRhLmpzCmluZGV4IGFlN2I0MmViZDEzOS4uOWIwMjAwYmJiOGUyIDEwMDY0
NAotLS0gYS9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvc2VydmVyLXRlc3RzL3Jlc291cmNlcy9t
b2NrLWRhdGEuanMKKysrIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3NlcnZlci10ZXN0cy9y
ZXNvdXJjZXMvbW9jay1kYXRhLmpzCkBAIC00NzksNyArNDc5LDcgQEAgTW9ja0RhdGEgPSB7CiAg
ICAgICAgICAgICAiY29tcGxldGVfYXQiOiBudWxsLAogICAgICAgICAgICAgImJ1aWxkaWQiOiBv
cHRpb25zLmJ1aWxkaWQgfHwgNDE4NzQ0LAogICAgICAgICAgICAgIm1hc3RlcmlkIjogMSwKLSAg
ICAgICAgICAgICJyZXN1bHRzIjogbnVsbCwKKyAgICAgICAgICAgICJyZXN1bHRzIjogb3B0aW9u
cy5yZXN1bHRzLAogICAgICAgICAgICAgInN0YXJ0ZWRfYXQiOiBuZXcgRGF0ZSgnMjAxNy0xMi0x
OVQyMzoxMTo0OVonKSAvIDEwMDAsCiAgICAgICAgICAgICAic3RhdGVfc3RyaW5nIjogb3B0aW9u
cy5zdGF0dXNEZXNjcmlwdGlvbiB8fCBudWxsLAogICAgICAgICAgICAgIndvcmtlcmlkIjogNDEs
CmRpZmYgLS1naXQgYS9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvc2VydmVyLXRlc3RzL3Rvb2xz
LWJ1aWxkYm90LXRyaWdnZXJhYmxlLXRlc3RzLmpzIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3Jn
L3NlcnZlci10ZXN0cy90b29scy1idWlsZGJvdC10cmlnZ2VyYWJsZS10ZXN0cy5qcwppbmRleCAy
ZTIzYTNkMDBlOTMuLjYwNGRhNzM0ZGEwYyAxMDA2NDQKLS0tIGEvV2Vic2l0ZXMvcGVyZi53ZWJr
aXQub3JnL3NlcnZlci10ZXN0cy90b29scy1idWlsZGJvdC10cmlnZ2VyYWJsZS10ZXN0cy5qcwor
KysgYi9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvc2VydmVyLXRlc3RzL3Rvb2xzLWJ1aWxkYm90
LXRyaWdnZXJhYmxlLXRlc3RzLmpzCkBAIC0yMTQsNiArMjE0LDEyNiBAQCBkZXNjcmliZSgnQnVp
bGRib3RUcmlnZ2VyYWJsZScsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgIH0pOwogICAgICAg
ICB9KTsKIAorICAgICAgICBpdCgnc2hvdWxkIG5vdCBzY2hlZHVsZSB0aGUgZmlyc3QgYnVpbGQg
cmVxdWVzdCBvbiBhIGJ1aWxkZXIgd2hvc2UgbGFzdCBidWlsZCBmYWlsZWQnLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICBjb25zdCBkYiA9IFRlc3RTZXJ2ZXIuZGF0YWJhc2UoKTsKKyAgICAg
ICAgICAgIGF3YWl0IE1vY2tEYXRhLmFkZE1vY2tEYXRhKGRiKTsKKyAgICAgICAgICAgIGF3YWl0
IE1hbmlmZXN0LmZldGNoKCk7CisKKyAgICAgICAgICAgIGNvbnN0IGNvbmZpZyA9IE1vY2tEYXRh
Lm1vY2tUZXN0U3luY0NvbmZpZ1dpdGhTaW5nbGVCdWlsZGVyKCk7CisgICAgICAgICAgICBjb25z
dCBsb2dnZXIgPSBuZXcgTW9ja0xvZ2dlcjsKKyAgICAgICAgICAgIGNvbnN0IHNsYXZlSW5mbyA9
IHtuYW1lOiAnc3luYy1zbGF2ZScsIHBhc3N3b3JkOiAncGFzc3dvcmQnfTsKKyAgICAgICAgICAg
IGNvbnN0IHRyaWdnZXJhYmxlID0gbmV3IEJ1aWxkYm90VHJpZ2dlcmFibGUoY29uZmlnLCBUZXN0
U2VydmVyLnJlbW90ZUFQSSgpLCBNb2NrUmVtb3RlQVBJLCBzbGF2ZUluZm8sIGxvZ2dlcik7Cisg
ICAgICAgICAgICB0cmlnZ2VyYWJsZS5pbml0U3luY2VycygpLnRoZW4oKCkgPT4gdHJpZ2dlcmFi
bGUuc3luY09uY2UoKSk7CisgICAgICAgICAgICBhc3NlcnRSZXF1ZXN0QW5kUmVzb2x2ZShNb2Nr
UmVtb3RlQVBJLnJlcXVlc3RzWzBdLCAnR0VUJywgTW9ja0RhdGEuYnVpbGRib3RCdWlsZGVyc1VS
TCgpLCBNb2NrRGF0YS5tb2NrQnVpbGRib3RCdWlsZGVycygpKTsKKyAgICAgICAgICAgIE1vY2tS
ZW1vdGVBUEkucmVzZXQoKTsKKworICAgICAgICAgICAgYXdhaXQgTW9ja1JlbW90ZUFQSS53YWl0
Rm9yUmVxdWVzdCgpOworCisgICAgICAgICAgICBhc3NlcnQuZXF1YWwoTW9ja1JlbW90ZUFQSS5y
ZXF1ZXN0cy5sZW5ndGgsIDEpOworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKE1vY2tSZW1vdGVB
UEkucmVxdWVzdHNbMF0ubWV0aG9kLCAnR0VUJyk7CisgICAgICAgICAgICBhc3NlcnQuZXF1YWwo
TW9ja1JlbW90ZUFQSS5yZXF1ZXN0c1swXS51cmwsIE1vY2tEYXRhLnBlbmRpbmdCdWlsZHNVcmwo
J3NvbWUtYnVpbGRlci0xJykpOworICAgICAgICAgICAgTW9ja1JlbW90ZUFQSS5yZXF1ZXN0c1sw
XS5yZXNvbHZlKHt9KTsKKworICAgICAgICAgICAgYXdhaXQgTW9ja1JlbW90ZUFQSS53YWl0Rm9y
UmVxdWVzdCgpOworCisgICAgICAgICAgICBhc3NlcnQuZXF1YWwoTW9ja1JlbW90ZUFQSS5yZXF1
ZXN0cy5sZW5ndGgsIDIpOworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKE1vY2tSZW1vdGVBUEku
cmVxdWVzdHNbMV0ubWV0aG9kLCAnR0VUJyk7CisgICAgICAgICAgICBhc3NlcnQuZXF1YWwoTW9j
a1JlbW90ZUFQSS5yZXF1ZXN0c1sxXS51cmwsIE1vY2tEYXRhLnJlY2VudEJ1aWxkc1VybCgnc29t
ZS1idWlsZGVyLTEnLCAyKSk7CisgICAgICAgICAgICBNb2NrUmVtb3RlQVBJLnJlcXVlc3RzWzFd
LnJlc29sdmUoeydidWlsZHMnIDogW01vY2tEYXRhLmZpbmlzaGVkQnVpbGREYXRhKHtyZXN1bHRz
OiAxLCBidWlsZFJlcXVlc3RJZDogNjk5fSldfSk7CisKKyAgICAgICAgICAgIGF3YWl0IE1vY2tS
ZW1vdGVBUEkud2FpdEZvclJlcXVlc3QoKTsKKworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKE1v
Y2tSZW1vdGVBUEkucmVxdWVzdHMubGVuZ3RoLCAzKTsKKyAgICAgICAgICAgIGFzc2VydC5lcXVh
bChNb2NrUmVtb3RlQVBJLnJlcXVlc3RzWzJdLm1ldGhvZCwgJ0dFVCcpOworICAgICAgICAgICAg
YXNzZXJ0LmVxdWFsKE1vY2tSZW1vdGVBUEkucmVxdWVzdHNbMl0udXJsLCBNb2NrRGF0YS5wZW5k
aW5nQnVpbGRzVXJsKCdzb21lLWJ1aWxkZXItMScpKTsKKyAgICAgICAgICAgIE1vY2tSZW1vdGVB
UEkucmVxdWVzdHNbMl0ucmVzb2x2ZSh7fSk7CisKKyAgICAgICAgICAgIGF3YWl0IE1vY2tSZW1v
dGVBUEkud2FpdEZvclJlcXVlc3QoKTsKKworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKEJ1aWxk
UmVxdWVzdC5hbGwoKS5sZW5ndGgsIDQpOworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKEJ1aWxk
UmVxdWVzdC5maW5kQnlJZCg3MDApLnN0YXR1cygpLCAncGVuZGluZycpOworICAgICAgICAgICAg
YXNzZXJ0LmVxdWFsKEJ1aWxkUmVxdWVzdC5maW5kQnlJZCg3MDApLnN0YXR1c1VybCgpLCBudWxs
KTsKKyAgICAgICAgfSk7CisKKyAgICAgICAgaXQoJ3Nob3VsZCBzY2hlZHVsZSB0aGUgZmlyc3Qg
YnVpbGQgcmVxdWVzdCB0byB0aGUgZmlyc3QgYXZhaWxhYmxlIG5vbi1mYWlsaW5nIHF1ZXVlJywg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgY29uc3QgZGIgPSBUZXN0U2VydmVyLmRhdGFiYXNl
KCk7CisgICAgICAgICAgICBhd2FpdCBNb2NrRGF0YS5hZGRNb2NrRGF0YShkYik7CisgICAgICAg
ICAgICBhd2FpdCBNYW5pZmVzdC5mZXRjaCgpOworCisgICAgICAgICAgICBjb25zdCBjb25maWcg
PSBNb2NrRGF0YS5tb2NrVGVzdFN5bmNDb25maWdXaXRoVHdvQnVpbGRlcnMoKTsKKyAgICAgICAg
ICAgIGNvbnN0IGxvZ2dlciA9IG5ldyBNb2NrTG9nZ2VyOworICAgICAgICAgICAgY29uc3Qgc2xh
dmVJbmZvID0ge25hbWU6ICdzeW5jLXNsYXZlJywgcGFzc3dvcmQ6ICdwYXNzd29yZCd9OworICAg
ICAgICAgICAgY29uc3QgdHJpZ2dlcmFibGUgPSBuZXcgQnVpbGRib3RUcmlnZ2VyYWJsZShjb25m
aWcsIFRlc3RTZXJ2ZXIucmVtb3RlQVBJKCksIE1vY2tSZW1vdGVBUEksIHNsYXZlSW5mbywgbG9n
Z2VyKTsKKyAgICAgICAgICAgIGNvbnN0IHN5bmNPbmNlID0gdHJpZ2dlcmFibGUuaW5pdFN5bmNl
cnMoKS50aGVuKCgpID0+IHRyaWdnZXJhYmxlLnN5bmNPbmNlKCkpOworICAgICAgICAgICAgYXNz
ZXJ0UmVxdWVzdEFuZFJlc29sdmUoTW9ja1JlbW90ZUFQSS5yZXF1ZXN0c1swXSwgJ0dFVCcsIE1v
Y2tEYXRhLmJ1aWxkYm90QnVpbGRlcnNVUkwoKSwgTW9ja0RhdGEubW9ja0J1aWxkYm90QnVpbGRl
cnMoKSk7CisgICAgICAgICAgICBNb2NrUmVtb3RlQVBJLnJlc2V0KCk7CisKKyAgICAgICAgICAg
IGF3YWl0IE1vY2tSZW1vdGVBUEkud2FpdEZvclJlcXVlc3QoKTsKKworICAgICAgICAgICAgYXNz
ZXJ0LmVxdWFsKE1vY2tSZW1vdGVBUEkucmVxdWVzdHMubGVuZ3RoLCAyKTsKKyAgICAgICAgICAg
IGFzc2VydC5lcXVhbChNb2NrUmVtb3RlQVBJLnJlcXVlc3RzWzBdLm1ldGhvZCwgJ0dFVCcpOwor
ICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKE1vY2tSZW1vdGVBUEkucmVxdWVzdHNbMF0udXJsLCBN
b2NrRGF0YS5wZW5kaW5nQnVpbGRzVXJsKCdzb21lLWJ1aWxkZXItMScpKTsKKyAgICAgICAgICAg
IE1vY2tSZW1vdGVBUEkucmVxdWVzdHNbMF0ucmVzb2x2ZSh7fSk7CisgICAgICAgICAgICBhc3Nl
cnQuZXF1YWwoTW9ja1JlbW90ZUFQSS5yZXF1ZXN0c1sxXS5tZXRob2QsICdHRVQnKTsKKyAgICAg
ICAgICAgIGFzc2VydC5lcXVhbChNb2NrUmVtb3RlQVBJLnJlcXVlc3RzWzFdLnVybCwgTW9ja0Rh
dGEucGVuZGluZ0J1aWxkc1VybCgnc29tZSBidWlsZGVyIDInKSk7CisgICAgICAgICAgICBNb2Nr
UmVtb3RlQVBJLnJlcXVlc3RzWzFdLnJlc29sdmUoe30pOworCisgICAgICAgICAgICBhd2FpdCBN
b2NrUmVtb3RlQVBJLndhaXRGb3JSZXF1ZXN0KCk7CisKKyAgICAgICAgICAgIGFzc2VydC5lcXVh
bChNb2NrUmVtb3RlQVBJLnJlcXVlc3RzLmxlbmd0aCwgNCk7CisgICAgICAgICAgICBhc3NlcnQu
ZXF1YWwoTW9ja1JlbW90ZUFQSS5yZXF1ZXN0c1syXS5tZXRob2QsICdHRVQnKTsKKyAgICAgICAg
ICAgIGFzc2VydC5lcXVhbChNb2NrUmVtb3RlQVBJLnJlcXVlc3RzWzJdLnVybCwgTW9ja0RhdGEu
cmVjZW50QnVpbGRzVXJsKCdzb21lLWJ1aWxkZXItMScsIDIpKTsKKyAgICAgICAgICAgIE1vY2tS
ZW1vdGVBUEkucmVxdWVzdHNbMl0ucmVzb2x2ZSh7J2J1aWxkcycgOiBbTW9ja0RhdGEuZmluaXNo
ZWRCdWlsZERhdGEoe3Jlc3VsdHM6IDEsIGJ1aWxkUmVxdWVzdElkOiA2OTl9KV19KTsKKyAgICAg
ICAgICAgIGFzc2VydC5lcXVhbChNb2NrUmVtb3RlQVBJLnJlcXVlc3RzWzNdLm1ldGhvZCwgJ0dF
VCcpOworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKE1vY2tSZW1vdGVBUEkucmVxdWVzdHNbM10u
dXJsLCBNb2NrRGF0YS5yZWNlbnRCdWlsZHNVcmwoJ3NvbWUgYnVpbGRlciAyJywgMikpOworICAg
ICAgICAgICAgTW9ja1JlbW90ZUFQSS5yZXF1ZXN0c1szXS5yZXNvbHZlKHt9KTsKKworICAgICAg
ICAgICAgYXdhaXQgTW9ja1JlbW90ZUFQSS53YWl0Rm9yUmVxdWVzdCgpOworCisgICAgICAgICAg
ICBhc3NlcnQuZXF1YWwoTW9ja1JlbW90ZUFQSS5yZXF1ZXN0cy5sZW5ndGgsIDUpOworICAgICAg
ICAgICAgYXNzZXJ0LmVxdWFsKE1vY2tSZW1vdGVBUEkucmVxdWVzdHNbNF0ubWV0aG9kLCAnUE9T
VCcpOworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKE1vY2tSZW1vdGVBUEkucmVxdWVzdHNbNF0u
dXJsLCAnL2FwaS92Mi9mb3JjZXNjaGVkdWxlcnMvZm9yY2Utc29tZS1idWlsZGVyLTInKTsKKyAg
ICAgICAgICAgIGFzc2VydC5kZWVwRXF1YWwoTW9ja1JlbW90ZUFQSS5yZXF1ZXN0c1s0XS5kYXRh
LCB7J2lkJzogJzcwMCcsICdqc29ucnBjJzogJzIuMCcsICdtZXRob2QnOiAnZm9yY2UnLCAncGFy
YW1zJzoKKyAgICAgICAgICAgICAgICB7J3drJzogJzE5MTYyMicsICdvcyc6ICcxMC4xMSAxNUEy
ODQnLCAnYnVpbGQtcmVxdWVzdC1pZCc6ICc3MDAnLCAnZm9yY2VzY2hlZHVsZXInOiAnZm9yY2Ut
c29tZS1idWlsZGVyLTInfX0pOworICAgICAgICAgICAgTW9ja1JlbW90ZUFQSS5yZXF1ZXN0c1s0
XS5yZXNvbHZlKCdPSycpOworCisgICAgICAgICAgICBhd2FpdCBNb2NrUmVtb3RlQVBJLndhaXRG
b3JSZXF1ZXN0KCk7CisKKyAgICAgICAgICAgIGFzc2VydC5lcXVhbChNb2NrUmVtb3RlQVBJLnJl
cXVlc3RzLmxlbmd0aCwgNyk7CisgICAgICAgICAgICBhc3NlcnQuZXF1YWwoTW9ja1JlbW90ZUFQ
SS5yZXF1ZXN0c1s1XS5tZXRob2QsICdHRVQnKTsKKyAgICAgICAgICAgIGFzc2VydC5lcXVhbChN
b2NrUmVtb3RlQVBJLnJlcXVlc3RzWzVdLnVybCwgTW9ja0RhdGEucGVuZGluZ0J1aWxkc1VybCgn
c29tZS1idWlsZGVyLTEnKSk7CisgICAgICAgICAgICBNb2NrUmVtb3RlQVBJLnJlcXVlc3RzWzVd
LnJlc29sdmUoe30pOworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKE1vY2tSZW1vdGVBUEkucmVx
dWVzdHNbNl0ubWV0aG9kLCAnR0VUJyk7CisgICAgICAgICAgICBhc3NlcnQuZXF1YWwoTW9ja1Jl
bW90ZUFQSS5yZXF1ZXN0c1s2XS51cmwsIE1vY2tEYXRhLnBlbmRpbmdCdWlsZHNVcmwoJ3NvbWUg
YnVpbGRlciAyJykpOworICAgICAgICAgICAgTW9ja1JlbW90ZUFQSS5yZXF1ZXN0c1s2XS5yZXNv
bHZlKE1vY2tEYXRhLnBlbmRpbmdCdWlsZCh7YnVpbGRlcklkOiBNb2NrRGF0YS5idWlsZGVySURG
b3JOYW1lKCdzb21lIGJ1aWxkZXIgMicpLCBidWlsZFJlcXVlc3RJZDogNzAwLCBidWlsZGJvdEJ1
aWxkUmVxdWVzdElkOiAxN30pKTsKKworICAgICAgICAgICAgYXdhaXQgTW9ja1JlbW90ZUFQSS53
YWl0Rm9yUmVxdWVzdCgpOworCisgICAgICAgICAgICBhc3NlcnQuZXF1YWwoTW9ja1JlbW90ZUFQ
SS5yZXF1ZXN0cy5sZW5ndGgsIDkpOworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKE1vY2tSZW1v
dGVBUEkucmVxdWVzdHNbN10ubWV0aG9kLCAnR0VUJyk7CisgICAgICAgICAgICBhc3NlcnQuZXF1
YWwoTW9ja1JlbW90ZUFQSS5yZXF1ZXN0c1s3XS51cmwsIE1vY2tEYXRhLnJlY2VudEJ1aWxkc1Vy
bCgnc29tZS1idWlsZGVyLTEnLCAyKSk7CisgICAgICAgICAgICBNb2NrUmVtb3RlQVBJLnJlcXVl
c3RzWzddLnJlc29sdmUoe30pOworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKE1vY2tSZW1vdGVB
UEkucmVxdWVzdHNbOF0ubWV0aG9kLCAnR0VUJyk7CisgICAgICAgICAgICBhc3NlcnQuZXF1YWwo
TW9ja1JlbW90ZUFQSS5yZXF1ZXN0c1s4XS51cmwsIE1vY2tEYXRhLnJlY2VudEJ1aWxkc1VybCgn
c29tZSBidWlsZGVyIDInLCAyKSk7CisgICAgICAgICAgICBNb2NrUmVtb3RlQVBJLnJlcXVlc3Rz
WzhdLnJlc29sdmUoe30pOworCisgICAgICAgICAgICBhd2FpdCBzeW5jT25jZTsKKworICAgICAg
ICAgICAgYXNzZXJ0LmVxdWFsKEJ1aWxkUmVxdWVzdC5hbGwoKS5sZW5ndGgsIDQpOworICAgICAg
ICAgICAgYXNzZXJ0LmVxdWFsKEJ1aWxkUmVxdWVzdC5maW5kQnlJZCg3MDApLnN0YXR1cygpLCAn
cGVuZGluZycpOworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKEJ1aWxkUmVxdWVzdC5maW5kQnlJ
ZCg3MDApLnN0YXR1c1VybCgpLCBudWxsKTsKKyAgICAgICAgICAgIGFzc2VydC5lcXVhbChCdWls
ZFJlcXVlc3QuZmluZEJ5SWQoNzAxKS5zdGF0dXMoKSwgJ3BlbmRpbmcnKTsKKyAgICAgICAgICAg
IGFzc2VydC5lcXVhbChCdWlsZFJlcXVlc3QuZmluZEJ5SWQoNzAxKS5zdGF0dXNVcmwoKSwgbnVs
bCk7CisKKyAgICAgICAgICAgIGF3YWl0IEJ1aWxkUmVxdWVzdC5mZXRjaEZvclRyaWdnZXJhYmxl
KE1vY2tEYXRhLm1vY2tUZXN0U3luY0NvbmZpZ1dpdGhUd29CdWlsZGVycygpLnRyaWdnZXJhYmxl
TmFtZSk7CisKKyAgICAgICAgICAgIGFzc2VydC5lcXVhbChCdWlsZFJlcXVlc3QuYWxsKCkubGVu
Z3RoLCA0KTsKKyAgICAgICAgICAgIGFzc2VydC5lcXVhbChCdWlsZFJlcXVlc3QuZmluZEJ5SWQo
NzAwKS5zdGF0dXMoKSwgJ3NjaGVkdWxlZCcpOworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKEJ1
aWxkUmVxdWVzdC5maW5kQnlJZCg3MDApLnN0YXR1c1VybCgpLCAnaHR0cDovL2J1aWxkLndlYmtp
dC5vcmcvIy9idWlsZHJlcXVlc3RzLzE3Jyk7CisgICAgICAgICAgICBhc3NlcnQuZXF1YWwoQnVp
bGRSZXF1ZXN0LmZpbmRCeUlkKDcwMSkuc3RhdHVzKCksICdwZW5kaW5nJyk7CisgICAgICAgICAg
ICBhc3NlcnQuZXF1YWwoQnVpbGRSZXF1ZXN0LmZpbmRCeUlkKDcwMSkuc3RhdHVzVXJsKCksIG51
bGwpOworICAgICAgICB9KTsKKwogICAgICAgICBpdCgnc2hvdWxkIG5vdCBzY2hlZHVsZSBhIGJ1
aWxkIHJlcXVlc3Qgb24gYSBkaWZmZXJlbnQgYnVpbGRlciB0aGFuIHRoZSBvbmUgdGhlIGZpcnN0
IGJ1aWxkIHJlcXVlc3QgaXMgcGVuZGluZycsICgpID0+IHsKICAgICAgICAgICAgIGNvbnN0IGRi
ID0gVGVzdFNlcnZlci5kYXRhYmFzZSgpOwogICAgICAgICAgICAgbGV0IHN5bmNQcm9taXNlOwpk
aWZmIC0tZ2l0IGEvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3Rvb2xzL2pzL2J1aWxkYm90LXN5
bmNlci5qcyBiL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy90b29scy9qcy9idWlsZGJvdC1zeW5j
ZXIuanMKaW5kZXggMWI4MjE0NjlkZTQ4Li43ZTYwNDA3MmI4ZTUgMTAwNjQ0Ci0tLSBhL1dlYnNp
dGVzL3BlcmYud2Via2l0Lm9yZy90b29scy9qcy9idWlsZGJvdC1zeW5jZXIuanMKKysrIGIvV2Vi
c2l0ZXMvcGVyZi53ZWJraXQub3JnL3Rvb2xzL2pzL2J1aWxkYm90LXN5bmNlci5qcwpAQCAtMjAs
NiArMjAsNyBAQCBjbGFzcyBCdWlsZGJvdEJ1aWxkRW50cnkgewogICAgICAgICB0aGlzLl9pc1Bl
bmRpbmcgPSAnY2xhaW1lZCcgaW4gcmF3RGF0YSAmJiAhcmF3RGF0YVsnY2xhaW1lZCddOwogICAg
ICAgICB0aGlzLl9pc0luUHJvZ3Jlc3MgPSAhdGhpcy5faXNQZW5kaW5nICYmICF0aGlzLl9oYXNG
aW5pc2hlZDsKICAgICAgICAgdGhpcy5fYnVpbGRUYWcgPSByYXdEYXRhWydudW1iZXInXTsKKyAg
ICAgICAgdGhpcy5fcmVzdWx0ID0gcmF3RGF0YVsncmVzdWx0cyddOwogICAgICAgICB0aGlzLl93
b3JrZXJOYW1lID0gcmF3RGF0YVsncHJvcGVydGllcyddICYmIHJhd0RhdGFbJ3Byb3BlcnRpZXMn
XVsnd29ya2VybmFtZSddID8gcmF3RGF0YVsncHJvcGVydGllcyddWyd3b3JrZXJuYW1lJ11bMF0g
OiBudWxsOwogICAgICAgICB0aGlzLl9idWlsZFJlcXVlc3RJZCA9IHJhd0RhdGFbJ3Byb3BlcnRp
ZXMnXSAmJiByYXdEYXRhWydwcm9wZXJ0aWVzJ11bc3luY2VyLl9idWlsZFJlcXVlc3RQcm9wZXJ0
eU5hbWVdCiAgICAgICAgICAgICA/IHJhd0RhdGFbJ3Byb3BlcnRpZXMnXVtzeW5jZXIuX2J1aWxk
UmVxdWVzdFByb3BlcnR5TmFtZV1bMF0gOiBudWxsOwpAQCAtMzQsNiArMzUsNyBAQCBjbGFzcyBC
dWlsZGJvdEJ1aWxkRW50cnkgewogICAgIGlzUGVuZGluZygpIHsgcmV0dXJuIHRoaXMuX2lzUGVu
ZGluZzsgfQogICAgIGlzSW5Qcm9ncmVzcygpIHsgcmV0dXJuIHRoaXMuX2lzSW5Qcm9ncmVzczsg
fQogICAgIGhhc0ZpbmlzaGVkKCkgeyByZXR1cm4gdGhpcy5faGFzRmluaXNoZWQ7IH0KKyAgICBy
ZXN1bHQoKSB7IHJldHVybiB0aGlzLl9yZXN1bHQ7IH0KICAgICBzdGF0dXNEZXNjcmlwdGlvbigp
IHsgcmV0dXJuIHRoaXMuX3N0YXR1c0Rlc2NyaXB0aW9uOyB9CiAgICAgdXJsKCkgeyByZXR1cm4g
dGhpcy5pc1BlbmRpbmcoKSA/IHRoaXMuX3N5bmNlci51cmxGb3JQZW5kaW5nQnVpbGQodGhpcy5f
YnVpbGRib3RCdWlsZFJlcXVlc3RJZCkgOiB0aGlzLl9zeW5jZXIudXJsRm9yQnVpbGRTZXJpYWwo
dGhpcy5fYnVpbGRUYWcpOyB9CiAKQEAgLTcyLDExICs3NCwxNCBAQCBjbGFzcyBCdWlsZGJvdFN5
bmNlciB7CiAgICAgICAgIHRoaXMuX2J1aWxkZXJJRCA9IG9iamVjdC5idWlsZGVySUQ7CiAgICAg
ICAgIHRoaXMuX3NsYXZlTGlzdCA9IG9iamVjdC5zbGF2ZUxpc3Q7CiAgICAgICAgIHRoaXMuX2Vu
dHJ5TGlzdCA9IG51bGw7CisgICAgICAgIHRoaXMuX2xhc3RDb21wbGV0ZWRCdWlsZCA9IG51bGw7
CiAgICAgICAgIHRoaXMuX3NsYXZlc1dpdGhOZXdSZXF1ZXN0cyA9IG5ldyBTZXQ7CiAgICAgfQog
CiAgICAgYnVpbGRlck5hbWUoKSB7IHJldHVybiB0aGlzLl9idWlsZGVyTmFtZTsgfQogICAgIGJ1
aWxkZXJJRCgpIHsgcmV0dXJuIHRoaXMuX2J1aWxkZXJJRDsgfQorICAgIC8vIExpc3Qgb2YgcmVz
dWx0cyBoZXJlOiBodHRwczovL2RvY3MuYnVpbGRib3QubmV0L2xhdGVzdC9kZXZlbG9wZXIvcmVz
dWx0cy5odG1sCisgICAgbGFzdENvbXBsZXRlZEJ1aWxkU3VjY2Vzc2Z1bCgpIHsgcmV0dXJuIHRo
aXMuX2xhc3RDb21wbGV0ZWRCdWlsZCA9PSBudWxsIHx8IHRoaXMuX2xhc3RDb21wbGV0ZWRCdWls
ZC5yZXN1bHQoKSA9PSAwOyB9CiAKICAgICBhZGRUZXN0Q29uZmlndXJhdGlvbih0ZXN0LCBwbGF0
Zm9ybSwgcHJvcGVydGllc1RlbXBsYXRlKQogICAgIHsKQEAgLTE4Myw4ICsxODgsMTEgQEAgY2xh
c3MgQnVpbGRib3RTeW5jZXIgewogICAgICAgICAgICAgICAgIGZvciAobGV0IGVudHJ5IG9mIHBl
bmRpbmdFbnRyaWVzKQogICAgICAgICAgICAgICAgICAgICBlbnRyeUJ5UmVxdWVzdFtlbnRyeS5i
dWlsZFJlcXVlc3RJZCgpXSA9IGVudHJ5OwogCi0gICAgICAgICAgICAgICAgZm9yIChsZXQgZW50
cnkgb2YgZW50cmllcykKKyAgICAgICAgICAgICAgICBmb3IgKGxldCBlbnRyeSBvZiBlbnRyaWVz
KSB7CiAgICAgICAgICAgICAgICAgICAgIGVudHJ5QnlSZXF1ZXN0W2VudHJ5LmJ1aWxkUmVxdWVz
dElkKCldID0gZW50cnk7CisgICAgICAgICAgICAgICAgICAgIGlmICgoIXRoaXMuX2xhc3RDb21w
bGV0ZWRCdWlsZCB8fCB0aGlzLl9sYXN0Q29tcGxldGVkQnVpbGQuYnVpbGRUYWcoKSA8IGVudHJ5
LmJ1aWxkVGFnKCkpICYmIGVudHJ5Lmhhc0ZpbmlzaGVkKCkpCisgICAgICAgICAgICAgICAgICAg
ICAgICB0aGlzLl9sYXN0Q29tcGxldGVkQnVpbGQgPSBlbnRyeTsKKyAgICAgICAgICAgICAgICB9
CiAKICAgICAgICAgICAgICAgICBsZXQgZW50cnlMaXN0ID0gW107CiAgICAgICAgICAgICAgICAg
Zm9yIChsZXQgaWQgaW4gZW50cnlCeVJlcXVlc3QpCmRpZmYgLS1naXQgYS9XZWJzaXRlcy9wZXJm
LndlYmtpdC5vcmcvdG9vbHMvanMvYnVpbGRib3QtdHJpZ2dlcmFibGUuanMgYi9XZWJzaXRlcy9w
ZXJmLndlYmtpdC5vcmcvdG9vbHMvanMvYnVpbGRib3QtdHJpZ2dlcmFibGUuanMKaW5kZXggZmU1
ZjBhZTA4YjkwLi5kM2EwODllNDg1MzEgMTAwNjQ0Ci0tLSBhL1dlYnNpdGVzL3BlcmYud2Via2l0
Lm9yZy90b29scy9qcy9idWlsZGJvdC10cmlnZ2VyYWJsZS5qcworKysgYi9XZWJzaXRlcy9wZXJm
LndlYmtpdC5vcmcvdG9vbHMvanMvYnVpbGRib3QtdHJpZ2dlcmFibGUuanMKQEAgLTI1MSw2ICsy
NTEsOSBAQCBjbGFzcyBCdWlsZGJvdFRyaWdnZXJhYmxlIHsKIAogICAgICAgICAvLyBQaWNrIGEg
bmV3IHN5bmNlciBmb3IgdGhlIGZpcnN0IHRlc3QuCiAgICAgICAgIGZvciAoY29uc3Qgc3luY2Vy
IG9mIHRoaXMuX3N5bmNlcnMpIHsKKyAgICAgICAgICAgIGlmIChzeW5jZXIuaXNUZXN0ZXIoKSAm
JiBuZXh0UmVxdWVzdC5vcmRlcigpID09IDAgJiYgIXN5bmNlci5sYXN0Q29tcGxldGVkQnVpbGRT
dWNjZXNzZnVsKCkpCisgICAgICAgICAgICAgICAgY29udGludWU7CisKICAgICAgICAgICAgIGNv
bnN0IHByb21pc2UgPSB0aGlzLl9zY2hlZHVsZVJlcXVlc3RXaXRoTG9nKHN5bmNlciwgbmV4dFJl
cXVlc3QsIHJlcXVlc3RzSW5Hcm91cCwgbnVsbCk7CiAgICAgICAgICAgICBpZiAocHJvbWlzZSkK
ICAgICAgICAgICAgICAgICByZXR1cm4gcHJvbWlzZTsK
</data>
<flag name="review"
          id="439016"
          type_id="1"
          status="+"
          setter="dewei_zhu"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>420563</attachid>
            <date>2021-02-16 17:31:14 -0800</date>
            <delta_ts>2021-02-16 17:32:19 -0800</delta_ts>
            <desc>v3</desc>
            <filename>buildbot-syncer-no-failures-v3.patch</filename>
            <type>text/plain</type>
            <size>13346</size>
            <attacher name="Dean Johnson">dean_johnson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9DaGFuZ2VMb2cgYi9XZWJzaXRl
cy9wZXJmLndlYmtpdC5vcmcvQ2hhbmdlTG9nCmluZGV4IDNkMzg2ZjdmMDYwNy4uZjY1Nzk4MTA3
Y2NmIDEwMDY0NAotLS0gYS9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvQ2hhbmdlTG9nCisrKyBi
L1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAy
MS0wMi0xNSAgRGVhbiBKb2huc29uICA8ZGVhbl9qb2huc29uQGFwcGxlLmNvbT4KKworICAgICAg
ICBbcGVyZi53ZWJraXQub3JnXSBEbyBub3Qgc2NoZWR1bGUgam9icyB0byBCdWlsZGJvdCBpZiB0
aGUgbGFzdCBqb2IgZmFpbGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMjE5NDMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIHNlcnZlci10ZXN0cy9yZXNvdXJjZXMvbW9jay1kYXRhLmpzOgorICAgICAg
ICAoTW9ja0RhdGEuc2FtcGxlQnVpbGREYXRhKTogQWxsb3cgb3B0aW9ucy5yZXN1bHRzIHRvIGJl
IHNwZWNpZmllZC4KKyAgICAgICAgKiBzZXJ2ZXItdGVzdHMvdG9vbHMtYnVpbGRib3QtdHJpZ2dl
cmFibGUtdGVzdHMuanM6CisgICAgICAgIChhc3luYyBjb25zdCk6IEFkZCB0ZXN0cyBmb3IgbmV3
IGZ1bmN0aW9uYWxpdHkuIEV4aXN0aW5nIHRlc3RzIHN0aWxsIHBhc3MuCisgICAgICAgICogdG9v
bHMvanMvYnVpbGRib3Qtc3luY2VyLmpzOgorICAgICAgICAoQnVpbGRib3RCdWlsZEVudHJ5LnBy
b3RvdHlwZS5pbml0aWFsaXplKTogVHJhY2sgdGhlICdyZXN1bHRzJyBrZXkgZnJvbSBhIGJ1aWxk
LgorICAgICAgICAoQnVpbGRib3RCdWlsZEVudHJ5LnByb3RvdHlwZS5yZXN1bHQpOiBNYWtlIHRo
ZSBidWlsZCByZXN1bHQgYXZhaWxhYmxlLgorICAgICAgICAoQnVpbGRib3RTeW5jZXIpOiBUcmFj
ayB0aGUgbGFzdCBjb21wbGV0ZWQgYnVpbGQuCisgICAgICAgIChCdWlsZGJvdFN5bmNlci5wcm90
b3R5cGUubGFzdENvbXBsZXRlZEJ1aWxkU3VjY2Vzc2Z1bCk6IENoZWNrIGlmIHRoZSBsYXN0IGNv
bXBsZXRlZAorICAgICAgICBidWlsZCB3YXMgc3VjY2Vzc2Z1bC4KKyAgICAgICAgKEJ1aWxkYm90
U3luY2VyLnByb3RvdHlwZS5wdWxsQnVpbGRib3QpOgorICAgICAgICAqIHRvb2xzL2pzL2J1aWxk
Ym90LXRyaWdnZXJhYmxlLmpzOiBEbyBub3Qgc2NoZWR1bGUgYSBqb2IgdG8gYSBidWlsZGVyIHdo
byBmYWlsZWQKKyAgICAgICAgaXRzIGxhc3QgY29tcGxldGVkZCBidWlsZC4KKyAgICAgICAgKEJ1
aWxkYm90VHJpZ2dlcmFibGUucHJvdG90eXBlLl9zY2hlZHVsZVJlcXVlc3RJZlNsYXZlSXNBdmFp
bGFibGUpOgorCiAyMDIxLTAyLTExICBEZXdlaSBaaHUgIDxkZXdlaV96aHVAYXBwbGUuY29tPgog
CiAgICAgICAgICdzeW5jLWNvbW1pdHMucHknIHNob3VsZCBiZSBhYmxlIHRvIGxpbWl0IHJlcG9y
dGluZyBzY29wZSB0byBhIHNwZWNpZmljIGJyYW5jaCBvbiBhIEdpdCByZXBvc2l0b3J5LgpkaWZm
IC0tZ2l0IGEvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3NlcnZlci10ZXN0cy9yZXNvdXJjZXMv
bW9jay1kYXRhLmpzIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3NlcnZlci10ZXN0cy9yZXNv
dXJjZXMvbW9jay1kYXRhLmpzCmluZGV4IGFlN2I0MmViZDEzOS4uOWIwMjAwYmJiOGUyIDEwMDY0
NAotLS0gYS9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvc2VydmVyLXRlc3RzL3Jlc291cmNlcy9t
b2NrLWRhdGEuanMKKysrIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3NlcnZlci10ZXN0cy9y
ZXNvdXJjZXMvbW9jay1kYXRhLmpzCkBAIC00NzksNyArNDc5LDcgQEAgTW9ja0RhdGEgPSB7CiAg
ICAgICAgICAgICAiY29tcGxldGVfYXQiOiBudWxsLAogICAgICAgICAgICAgImJ1aWxkaWQiOiBv
cHRpb25zLmJ1aWxkaWQgfHwgNDE4NzQ0LAogICAgICAgICAgICAgIm1hc3RlcmlkIjogMSwKLSAg
ICAgICAgICAgICJyZXN1bHRzIjogbnVsbCwKKyAgICAgICAgICAgICJyZXN1bHRzIjogb3B0aW9u
cy5yZXN1bHRzLAogICAgICAgICAgICAgInN0YXJ0ZWRfYXQiOiBuZXcgRGF0ZSgnMjAxNy0xMi0x
OVQyMzoxMTo0OVonKSAvIDEwMDAsCiAgICAgICAgICAgICAic3RhdGVfc3RyaW5nIjogb3B0aW9u
cy5zdGF0dXNEZXNjcmlwdGlvbiB8fCBudWxsLAogICAgICAgICAgICAgIndvcmtlcmlkIjogNDEs
CmRpZmYgLS1naXQgYS9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvc2VydmVyLXRlc3RzL3Rvb2xz
LWJ1aWxkYm90LXRyaWdnZXJhYmxlLXRlc3RzLmpzIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3Jn
L3NlcnZlci10ZXN0cy90b29scy1idWlsZGJvdC10cmlnZ2VyYWJsZS10ZXN0cy5qcwppbmRleCAy
ZTIzYTNkMDBlOTMuLjYwNGRhNzM0ZGEwYyAxMDA2NDQKLS0tIGEvV2Vic2l0ZXMvcGVyZi53ZWJr
aXQub3JnL3NlcnZlci10ZXN0cy90b29scy1idWlsZGJvdC10cmlnZ2VyYWJsZS10ZXN0cy5qcwor
KysgYi9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvc2VydmVyLXRlc3RzL3Rvb2xzLWJ1aWxkYm90
LXRyaWdnZXJhYmxlLXRlc3RzLmpzCkBAIC0yMTQsNiArMjE0LDEyNiBAQCBkZXNjcmliZSgnQnVp
bGRib3RUcmlnZ2VyYWJsZScsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgIH0pOwogICAgICAg
ICB9KTsKIAorICAgICAgICBpdCgnc2hvdWxkIG5vdCBzY2hlZHVsZSB0aGUgZmlyc3QgYnVpbGQg
cmVxdWVzdCBvbiBhIGJ1aWxkZXIgd2hvc2UgbGFzdCBidWlsZCBmYWlsZWQnLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICBjb25zdCBkYiA9IFRlc3RTZXJ2ZXIuZGF0YWJhc2UoKTsKKyAgICAg
ICAgICAgIGF3YWl0IE1vY2tEYXRhLmFkZE1vY2tEYXRhKGRiKTsKKyAgICAgICAgICAgIGF3YWl0
IE1hbmlmZXN0LmZldGNoKCk7CisKKyAgICAgICAgICAgIGNvbnN0IGNvbmZpZyA9IE1vY2tEYXRh
Lm1vY2tUZXN0U3luY0NvbmZpZ1dpdGhTaW5nbGVCdWlsZGVyKCk7CisgICAgICAgICAgICBjb25z
dCBsb2dnZXIgPSBuZXcgTW9ja0xvZ2dlcjsKKyAgICAgICAgICAgIGNvbnN0IHNsYXZlSW5mbyA9
IHtuYW1lOiAnc3luYy1zbGF2ZScsIHBhc3N3b3JkOiAncGFzc3dvcmQnfTsKKyAgICAgICAgICAg
IGNvbnN0IHRyaWdnZXJhYmxlID0gbmV3IEJ1aWxkYm90VHJpZ2dlcmFibGUoY29uZmlnLCBUZXN0
U2VydmVyLnJlbW90ZUFQSSgpLCBNb2NrUmVtb3RlQVBJLCBzbGF2ZUluZm8sIGxvZ2dlcik7Cisg
ICAgICAgICAgICB0cmlnZ2VyYWJsZS5pbml0U3luY2VycygpLnRoZW4oKCkgPT4gdHJpZ2dlcmFi
bGUuc3luY09uY2UoKSk7CisgICAgICAgICAgICBhc3NlcnRSZXF1ZXN0QW5kUmVzb2x2ZShNb2Nr
UmVtb3RlQVBJLnJlcXVlc3RzWzBdLCAnR0VUJywgTW9ja0RhdGEuYnVpbGRib3RCdWlsZGVyc1VS
TCgpLCBNb2NrRGF0YS5tb2NrQnVpbGRib3RCdWlsZGVycygpKTsKKyAgICAgICAgICAgIE1vY2tS
ZW1vdGVBUEkucmVzZXQoKTsKKworICAgICAgICAgICAgYXdhaXQgTW9ja1JlbW90ZUFQSS53YWl0
Rm9yUmVxdWVzdCgpOworCisgICAgICAgICAgICBhc3NlcnQuZXF1YWwoTW9ja1JlbW90ZUFQSS5y
ZXF1ZXN0cy5sZW5ndGgsIDEpOworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKE1vY2tSZW1vdGVB
UEkucmVxdWVzdHNbMF0ubWV0aG9kLCAnR0VUJyk7CisgICAgICAgICAgICBhc3NlcnQuZXF1YWwo
TW9ja1JlbW90ZUFQSS5yZXF1ZXN0c1swXS51cmwsIE1vY2tEYXRhLnBlbmRpbmdCdWlsZHNVcmwo
J3NvbWUtYnVpbGRlci0xJykpOworICAgICAgICAgICAgTW9ja1JlbW90ZUFQSS5yZXF1ZXN0c1sw
XS5yZXNvbHZlKHt9KTsKKworICAgICAgICAgICAgYXdhaXQgTW9ja1JlbW90ZUFQSS53YWl0Rm9y
UmVxdWVzdCgpOworCisgICAgICAgICAgICBhc3NlcnQuZXF1YWwoTW9ja1JlbW90ZUFQSS5yZXF1
ZXN0cy5sZW5ndGgsIDIpOworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKE1vY2tSZW1vdGVBUEku
cmVxdWVzdHNbMV0ubWV0aG9kLCAnR0VUJyk7CisgICAgICAgICAgICBhc3NlcnQuZXF1YWwoTW9j
a1JlbW90ZUFQSS5yZXF1ZXN0c1sxXS51cmwsIE1vY2tEYXRhLnJlY2VudEJ1aWxkc1VybCgnc29t
ZS1idWlsZGVyLTEnLCAyKSk7CisgICAgICAgICAgICBNb2NrUmVtb3RlQVBJLnJlcXVlc3RzWzFd
LnJlc29sdmUoeydidWlsZHMnIDogW01vY2tEYXRhLmZpbmlzaGVkQnVpbGREYXRhKHtyZXN1bHRz
OiAxLCBidWlsZFJlcXVlc3RJZDogNjk5fSldfSk7CisKKyAgICAgICAgICAgIGF3YWl0IE1vY2tS
ZW1vdGVBUEkud2FpdEZvclJlcXVlc3QoKTsKKworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKE1v
Y2tSZW1vdGVBUEkucmVxdWVzdHMubGVuZ3RoLCAzKTsKKyAgICAgICAgICAgIGFzc2VydC5lcXVh
bChNb2NrUmVtb3RlQVBJLnJlcXVlc3RzWzJdLm1ldGhvZCwgJ0dFVCcpOworICAgICAgICAgICAg
YXNzZXJ0LmVxdWFsKE1vY2tSZW1vdGVBUEkucmVxdWVzdHNbMl0udXJsLCBNb2NrRGF0YS5wZW5k
aW5nQnVpbGRzVXJsKCdzb21lLWJ1aWxkZXItMScpKTsKKyAgICAgICAgICAgIE1vY2tSZW1vdGVB
UEkucmVxdWVzdHNbMl0ucmVzb2x2ZSh7fSk7CisKKyAgICAgICAgICAgIGF3YWl0IE1vY2tSZW1v
dGVBUEkud2FpdEZvclJlcXVlc3QoKTsKKworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKEJ1aWxk
UmVxdWVzdC5hbGwoKS5sZW5ndGgsIDQpOworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKEJ1aWxk
UmVxdWVzdC5maW5kQnlJZCg3MDApLnN0YXR1cygpLCAncGVuZGluZycpOworICAgICAgICAgICAg
YXNzZXJ0LmVxdWFsKEJ1aWxkUmVxdWVzdC5maW5kQnlJZCg3MDApLnN0YXR1c1VybCgpLCBudWxs
KTsKKyAgICAgICAgfSk7CisKKyAgICAgICAgaXQoJ3Nob3VsZCBzY2hlZHVsZSB0aGUgZmlyc3Qg
YnVpbGQgcmVxdWVzdCB0byB0aGUgZmlyc3QgYXZhaWxhYmxlIG5vbi1mYWlsaW5nIHF1ZXVlJywg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgY29uc3QgZGIgPSBUZXN0U2VydmVyLmRhdGFiYXNl
KCk7CisgICAgICAgICAgICBhd2FpdCBNb2NrRGF0YS5hZGRNb2NrRGF0YShkYik7CisgICAgICAg
ICAgICBhd2FpdCBNYW5pZmVzdC5mZXRjaCgpOworCisgICAgICAgICAgICBjb25zdCBjb25maWcg
PSBNb2NrRGF0YS5tb2NrVGVzdFN5bmNDb25maWdXaXRoVHdvQnVpbGRlcnMoKTsKKyAgICAgICAg
ICAgIGNvbnN0IGxvZ2dlciA9IG5ldyBNb2NrTG9nZ2VyOworICAgICAgICAgICAgY29uc3Qgc2xh
dmVJbmZvID0ge25hbWU6ICdzeW5jLXNsYXZlJywgcGFzc3dvcmQ6ICdwYXNzd29yZCd9OworICAg
ICAgICAgICAgY29uc3QgdHJpZ2dlcmFibGUgPSBuZXcgQnVpbGRib3RUcmlnZ2VyYWJsZShjb25m
aWcsIFRlc3RTZXJ2ZXIucmVtb3RlQVBJKCksIE1vY2tSZW1vdGVBUEksIHNsYXZlSW5mbywgbG9n
Z2VyKTsKKyAgICAgICAgICAgIGNvbnN0IHN5bmNPbmNlID0gdHJpZ2dlcmFibGUuaW5pdFN5bmNl
cnMoKS50aGVuKCgpID0+IHRyaWdnZXJhYmxlLnN5bmNPbmNlKCkpOworICAgICAgICAgICAgYXNz
ZXJ0UmVxdWVzdEFuZFJlc29sdmUoTW9ja1JlbW90ZUFQSS5yZXF1ZXN0c1swXSwgJ0dFVCcsIE1v
Y2tEYXRhLmJ1aWxkYm90QnVpbGRlcnNVUkwoKSwgTW9ja0RhdGEubW9ja0J1aWxkYm90QnVpbGRl
cnMoKSk7CisgICAgICAgICAgICBNb2NrUmVtb3RlQVBJLnJlc2V0KCk7CisKKyAgICAgICAgICAg
IGF3YWl0IE1vY2tSZW1vdGVBUEkud2FpdEZvclJlcXVlc3QoKTsKKworICAgICAgICAgICAgYXNz
ZXJ0LmVxdWFsKE1vY2tSZW1vdGVBUEkucmVxdWVzdHMubGVuZ3RoLCAyKTsKKyAgICAgICAgICAg
IGFzc2VydC5lcXVhbChNb2NrUmVtb3RlQVBJLnJlcXVlc3RzWzBdLm1ldGhvZCwgJ0dFVCcpOwor
ICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKE1vY2tSZW1vdGVBUEkucmVxdWVzdHNbMF0udXJsLCBN
b2NrRGF0YS5wZW5kaW5nQnVpbGRzVXJsKCdzb21lLWJ1aWxkZXItMScpKTsKKyAgICAgICAgICAg
IE1vY2tSZW1vdGVBUEkucmVxdWVzdHNbMF0ucmVzb2x2ZSh7fSk7CisgICAgICAgICAgICBhc3Nl
cnQuZXF1YWwoTW9ja1JlbW90ZUFQSS5yZXF1ZXN0c1sxXS5tZXRob2QsICdHRVQnKTsKKyAgICAg
ICAgICAgIGFzc2VydC5lcXVhbChNb2NrUmVtb3RlQVBJLnJlcXVlc3RzWzFdLnVybCwgTW9ja0Rh
dGEucGVuZGluZ0J1aWxkc1VybCgnc29tZSBidWlsZGVyIDInKSk7CisgICAgICAgICAgICBNb2Nr
UmVtb3RlQVBJLnJlcXVlc3RzWzFdLnJlc29sdmUoe30pOworCisgICAgICAgICAgICBhd2FpdCBN
b2NrUmVtb3RlQVBJLndhaXRGb3JSZXF1ZXN0KCk7CisKKyAgICAgICAgICAgIGFzc2VydC5lcXVh
bChNb2NrUmVtb3RlQVBJLnJlcXVlc3RzLmxlbmd0aCwgNCk7CisgICAgICAgICAgICBhc3NlcnQu
ZXF1YWwoTW9ja1JlbW90ZUFQSS5yZXF1ZXN0c1syXS5tZXRob2QsICdHRVQnKTsKKyAgICAgICAg
ICAgIGFzc2VydC5lcXVhbChNb2NrUmVtb3RlQVBJLnJlcXVlc3RzWzJdLnVybCwgTW9ja0RhdGEu
cmVjZW50QnVpbGRzVXJsKCdzb21lLWJ1aWxkZXItMScsIDIpKTsKKyAgICAgICAgICAgIE1vY2tS
ZW1vdGVBUEkucmVxdWVzdHNbMl0ucmVzb2x2ZSh7J2J1aWxkcycgOiBbTW9ja0RhdGEuZmluaXNo
ZWRCdWlsZERhdGEoe3Jlc3VsdHM6IDEsIGJ1aWxkUmVxdWVzdElkOiA2OTl9KV19KTsKKyAgICAg
ICAgICAgIGFzc2VydC5lcXVhbChNb2NrUmVtb3RlQVBJLnJlcXVlc3RzWzNdLm1ldGhvZCwgJ0dF
VCcpOworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKE1vY2tSZW1vdGVBUEkucmVxdWVzdHNbM10u
dXJsLCBNb2NrRGF0YS5yZWNlbnRCdWlsZHNVcmwoJ3NvbWUgYnVpbGRlciAyJywgMikpOworICAg
ICAgICAgICAgTW9ja1JlbW90ZUFQSS5yZXF1ZXN0c1szXS5yZXNvbHZlKHt9KTsKKworICAgICAg
ICAgICAgYXdhaXQgTW9ja1JlbW90ZUFQSS53YWl0Rm9yUmVxdWVzdCgpOworCisgICAgICAgICAg
ICBhc3NlcnQuZXF1YWwoTW9ja1JlbW90ZUFQSS5yZXF1ZXN0cy5sZW5ndGgsIDUpOworICAgICAg
ICAgICAgYXNzZXJ0LmVxdWFsKE1vY2tSZW1vdGVBUEkucmVxdWVzdHNbNF0ubWV0aG9kLCAnUE9T
VCcpOworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKE1vY2tSZW1vdGVBUEkucmVxdWVzdHNbNF0u
dXJsLCAnL2FwaS92Mi9mb3JjZXNjaGVkdWxlcnMvZm9yY2Utc29tZS1idWlsZGVyLTInKTsKKyAg
ICAgICAgICAgIGFzc2VydC5kZWVwRXF1YWwoTW9ja1JlbW90ZUFQSS5yZXF1ZXN0c1s0XS5kYXRh
LCB7J2lkJzogJzcwMCcsICdqc29ucnBjJzogJzIuMCcsICdtZXRob2QnOiAnZm9yY2UnLCAncGFy
YW1zJzoKKyAgICAgICAgICAgICAgICB7J3drJzogJzE5MTYyMicsICdvcyc6ICcxMC4xMSAxNUEy
ODQnLCAnYnVpbGQtcmVxdWVzdC1pZCc6ICc3MDAnLCAnZm9yY2VzY2hlZHVsZXInOiAnZm9yY2Ut
c29tZS1idWlsZGVyLTInfX0pOworICAgICAgICAgICAgTW9ja1JlbW90ZUFQSS5yZXF1ZXN0c1s0
XS5yZXNvbHZlKCdPSycpOworCisgICAgICAgICAgICBhd2FpdCBNb2NrUmVtb3RlQVBJLndhaXRG
b3JSZXF1ZXN0KCk7CisKKyAgICAgICAgICAgIGFzc2VydC5lcXVhbChNb2NrUmVtb3RlQVBJLnJl
cXVlc3RzLmxlbmd0aCwgNyk7CisgICAgICAgICAgICBhc3NlcnQuZXF1YWwoTW9ja1JlbW90ZUFQ
SS5yZXF1ZXN0c1s1XS5tZXRob2QsICdHRVQnKTsKKyAgICAgICAgICAgIGFzc2VydC5lcXVhbChN
b2NrUmVtb3RlQVBJLnJlcXVlc3RzWzVdLnVybCwgTW9ja0RhdGEucGVuZGluZ0J1aWxkc1VybCgn
c29tZS1idWlsZGVyLTEnKSk7CisgICAgICAgICAgICBNb2NrUmVtb3RlQVBJLnJlcXVlc3RzWzVd
LnJlc29sdmUoe30pOworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKE1vY2tSZW1vdGVBUEkucmVx
dWVzdHNbNl0ubWV0aG9kLCAnR0VUJyk7CisgICAgICAgICAgICBhc3NlcnQuZXF1YWwoTW9ja1Jl
bW90ZUFQSS5yZXF1ZXN0c1s2XS51cmwsIE1vY2tEYXRhLnBlbmRpbmdCdWlsZHNVcmwoJ3NvbWUg
YnVpbGRlciAyJykpOworICAgICAgICAgICAgTW9ja1JlbW90ZUFQSS5yZXF1ZXN0c1s2XS5yZXNv
bHZlKE1vY2tEYXRhLnBlbmRpbmdCdWlsZCh7YnVpbGRlcklkOiBNb2NrRGF0YS5idWlsZGVySURG
b3JOYW1lKCdzb21lIGJ1aWxkZXIgMicpLCBidWlsZFJlcXVlc3RJZDogNzAwLCBidWlsZGJvdEJ1
aWxkUmVxdWVzdElkOiAxN30pKTsKKworICAgICAgICAgICAgYXdhaXQgTW9ja1JlbW90ZUFQSS53
YWl0Rm9yUmVxdWVzdCgpOworCisgICAgICAgICAgICBhc3NlcnQuZXF1YWwoTW9ja1JlbW90ZUFQ
SS5yZXF1ZXN0cy5sZW5ndGgsIDkpOworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKE1vY2tSZW1v
dGVBUEkucmVxdWVzdHNbN10ubWV0aG9kLCAnR0VUJyk7CisgICAgICAgICAgICBhc3NlcnQuZXF1
YWwoTW9ja1JlbW90ZUFQSS5yZXF1ZXN0c1s3XS51cmwsIE1vY2tEYXRhLnJlY2VudEJ1aWxkc1Vy
bCgnc29tZS1idWlsZGVyLTEnLCAyKSk7CisgICAgICAgICAgICBNb2NrUmVtb3RlQVBJLnJlcXVl
c3RzWzddLnJlc29sdmUoe30pOworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKE1vY2tSZW1vdGVB
UEkucmVxdWVzdHNbOF0ubWV0aG9kLCAnR0VUJyk7CisgICAgICAgICAgICBhc3NlcnQuZXF1YWwo
TW9ja1JlbW90ZUFQSS5yZXF1ZXN0c1s4XS51cmwsIE1vY2tEYXRhLnJlY2VudEJ1aWxkc1VybCgn
c29tZSBidWlsZGVyIDInLCAyKSk7CisgICAgICAgICAgICBNb2NrUmVtb3RlQVBJLnJlcXVlc3Rz
WzhdLnJlc29sdmUoe30pOworCisgICAgICAgICAgICBhd2FpdCBzeW5jT25jZTsKKworICAgICAg
ICAgICAgYXNzZXJ0LmVxdWFsKEJ1aWxkUmVxdWVzdC5hbGwoKS5sZW5ndGgsIDQpOworICAgICAg
ICAgICAgYXNzZXJ0LmVxdWFsKEJ1aWxkUmVxdWVzdC5maW5kQnlJZCg3MDApLnN0YXR1cygpLCAn
cGVuZGluZycpOworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKEJ1aWxkUmVxdWVzdC5maW5kQnlJ
ZCg3MDApLnN0YXR1c1VybCgpLCBudWxsKTsKKyAgICAgICAgICAgIGFzc2VydC5lcXVhbChCdWls
ZFJlcXVlc3QuZmluZEJ5SWQoNzAxKS5zdGF0dXMoKSwgJ3BlbmRpbmcnKTsKKyAgICAgICAgICAg
IGFzc2VydC5lcXVhbChCdWlsZFJlcXVlc3QuZmluZEJ5SWQoNzAxKS5zdGF0dXNVcmwoKSwgbnVs
bCk7CisKKyAgICAgICAgICAgIGF3YWl0IEJ1aWxkUmVxdWVzdC5mZXRjaEZvclRyaWdnZXJhYmxl
KE1vY2tEYXRhLm1vY2tUZXN0U3luY0NvbmZpZ1dpdGhUd29CdWlsZGVycygpLnRyaWdnZXJhYmxl
TmFtZSk7CisKKyAgICAgICAgICAgIGFzc2VydC5lcXVhbChCdWlsZFJlcXVlc3QuYWxsKCkubGVu
Z3RoLCA0KTsKKyAgICAgICAgICAgIGFzc2VydC5lcXVhbChCdWlsZFJlcXVlc3QuZmluZEJ5SWQo
NzAwKS5zdGF0dXMoKSwgJ3NjaGVkdWxlZCcpOworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKEJ1
aWxkUmVxdWVzdC5maW5kQnlJZCg3MDApLnN0YXR1c1VybCgpLCAnaHR0cDovL2J1aWxkLndlYmtp
dC5vcmcvIy9idWlsZHJlcXVlc3RzLzE3Jyk7CisgICAgICAgICAgICBhc3NlcnQuZXF1YWwoQnVp
bGRSZXF1ZXN0LmZpbmRCeUlkKDcwMSkuc3RhdHVzKCksICdwZW5kaW5nJyk7CisgICAgICAgICAg
ICBhc3NlcnQuZXF1YWwoQnVpbGRSZXF1ZXN0LmZpbmRCeUlkKDcwMSkuc3RhdHVzVXJsKCksIG51
bGwpOworICAgICAgICB9KTsKKwogICAgICAgICBpdCgnc2hvdWxkIG5vdCBzY2hlZHVsZSBhIGJ1
aWxkIHJlcXVlc3Qgb24gYSBkaWZmZXJlbnQgYnVpbGRlciB0aGFuIHRoZSBvbmUgdGhlIGZpcnN0
IGJ1aWxkIHJlcXVlc3QgaXMgcGVuZGluZycsICgpID0+IHsKICAgICAgICAgICAgIGNvbnN0IGRi
ID0gVGVzdFNlcnZlci5kYXRhYmFzZSgpOwogICAgICAgICAgICAgbGV0IHN5bmNQcm9taXNlOwpk
aWZmIC0tZ2l0IGEvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3Rvb2xzL2pzL2J1aWxkYm90LXN5
bmNlci5qcyBiL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy90b29scy9qcy9idWlsZGJvdC1zeW5j
ZXIuanMKaW5kZXggMWI4MjE0NjlkZTQ4Li4zMGJkMjVmMGFjZDAgMTAwNjQ0Ci0tLSBhL1dlYnNp
dGVzL3BlcmYud2Via2l0Lm9yZy90b29scy9qcy9idWlsZGJvdC1zeW5jZXIuanMKKysrIGIvV2Vi
c2l0ZXMvcGVyZi53ZWJraXQub3JnL3Rvb2xzL2pzL2J1aWxkYm90LXN5bmNlci5qcwpAQCAtMjAs
NiArMjAsNyBAQCBjbGFzcyBCdWlsZGJvdEJ1aWxkRW50cnkgewogICAgICAgICB0aGlzLl9pc1Bl
bmRpbmcgPSAnY2xhaW1lZCcgaW4gcmF3RGF0YSAmJiAhcmF3RGF0YVsnY2xhaW1lZCddOwogICAg
ICAgICB0aGlzLl9pc0luUHJvZ3Jlc3MgPSAhdGhpcy5faXNQZW5kaW5nICYmICF0aGlzLl9oYXNG
aW5pc2hlZDsKICAgICAgICAgdGhpcy5fYnVpbGRUYWcgPSByYXdEYXRhWydudW1iZXInXTsKKyAg
ICAgICAgdGhpcy5fcmVzdWx0ID0gcmF3RGF0YVsncmVzdWx0cyddOwogICAgICAgICB0aGlzLl93
b3JrZXJOYW1lID0gcmF3RGF0YVsncHJvcGVydGllcyddICYmIHJhd0RhdGFbJ3Byb3BlcnRpZXMn
XVsnd29ya2VybmFtZSddID8gcmF3RGF0YVsncHJvcGVydGllcyddWyd3b3JrZXJuYW1lJ11bMF0g
OiBudWxsOwogICAgICAgICB0aGlzLl9idWlsZFJlcXVlc3RJZCA9IHJhd0RhdGFbJ3Byb3BlcnRp
ZXMnXSAmJiByYXdEYXRhWydwcm9wZXJ0aWVzJ11bc3luY2VyLl9idWlsZFJlcXVlc3RQcm9wZXJ0
eU5hbWVdCiAgICAgICAgICAgICA/IHJhd0RhdGFbJ3Byb3BlcnRpZXMnXVtzeW5jZXIuX2J1aWxk
UmVxdWVzdFByb3BlcnR5TmFtZV1bMF0gOiBudWxsOwpAQCAtMzQsNiArMzUsNyBAQCBjbGFzcyBC
dWlsZGJvdEJ1aWxkRW50cnkgewogICAgIGlzUGVuZGluZygpIHsgcmV0dXJuIHRoaXMuX2lzUGVu
ZGluZzsgfQogICAgIGlzSW5Qcm9ncmVzcygpIHsgcmV0dXJuIHRoaXMuX2lzSW5Qcm9ncmVzczsg
fQogICAgIGhhc0ZpbmlzaGVkKCkgeyByZXR1cm4gdGhpcy5faGFzRmluaXNoZWQ7IH0KKyAgICBy
ZXN1bHQoKSB7IHJldHVybiB0aGlzLl9yZXN1bHQ7IH0KICAgICBzdGF0dXNEZXNjcmlwdGlvbigp
IHsgcmV0dXJuIHRoaXMuX3N0YXR1c0Rlc2NyaXB0aW9uOyB9CiAgICAgdXJsKCkgeyByZXR1cm4g
dGhpcy5pc1BlbmRpbmcoKSA/IHRoaXMuX3N5bmNlci51cmxGb3JQZW5kaW5nQnVpbGQodGhpcy5f
YnVpbGRib3RCdWlsZFJlcXVlc3RJZCkgOiB0aGlzLl9zeW5jZXIudXJsRm9yQnVpbGRTZXJpYWwo
dGhpcy5fYnVpbGRUYWcpOyB9CiAKQEAgLTcyLDExICs3NCwxNCBAQCBjbGFzcyBCdWlsZGJvdFN5
bmNlciB7CiAgICAgICAgIHRoaXMuX2J1aWxkZXJJRCA9IG9iamVjdC5idWlsZGVySUQ7CiAgICAg
ICAgIHRoaXMuX3NsYXZlTGlzdCA9IG9iamVjdC5zbGF2ZUxpc3Q7CiAgICAgICAgIHRoaXMuX2Vu
dHJ5TGlzdCA9IG51bGw7CisgICAgICAgIHRoaXMuX2xhc3RDb21wbGV0ZWRCdWlsZCA9IG51bGw7
CiAgICAgICAgIHRoaXMuX3NsYXZlc1dpdGhOZXdSZXF1ZXN0cyA9IG5ldyBTZXQ7CiAgICAgfQog
CiAgICAgYnVpbGRlck5hbWUoKSB7IHJldHVybiB0aGlzLl9idWlsZGVyTmFtZTsgfQogICAgIGJ1
aWxkZXJJRCgpIHsgcmV0dXJuIHRoaXMuX2J1aWxkZXJJRDsgfQorICAgIC8vIEJ1aWxkYm90IHJl
c3VsdCBjb2RlczogaHR0cHM6Ly9kb2NzLmJ1aWxkYm90Lm5ldC9sYXRlc3QvZGV2ZWxvcGVyL3Jl
c3VsdHMuaHRtbAorICAgIGxhc3RDb21wbGV0ZWRCdWlsZFN1Y2Nlc3NmdWwoKSB7IHJldHVybiAh
dGhpcy5fbGFzdENvbXBsZXRlZEJ1aWxkIHx8ICF0aGlzLl9sYXN0Q29tcGxldGVkQnVpbGQucmVz
dWx0KCkgfQogCiAgICAgYWRkVGVzdENvbmZpZ3VyYXRpb24odGVzdCwgcGxhdGZvcm0sIHByb3Bl
cnRpZXNUZW1wbGF0ZSkKICAgICB7CkBAIC0xODMsOSArMTg4LDEyIEBAIGNsYXNzIEJ1aWxkYm90
U3luY2VyIHsKICAgICAgICAgICAgICAgICBmb3IgKGxldCBlbnRyeSBvZiBwZW5kaW5nRW50cmll
cykKICAgICAgICAgICAgICAgICAgICAgZW50cnlCeVJlcXVlc3RbZW50cnkuYnVpbGRSZXF1ZXN0
SWQoKV0gPSBlbnRyeTsKIAotICAgICAgICAgICAgICAgIGZvciAobGV0IGVudHJ5IG9mIGVudHJp
ZXMpCisgICAgICAgICAgICAgICAgZm9yIChsZXQgZW50cnkgb2YgZW50cmllcykgewogICAgICAg
ICAgICAgICAgICAgICBlbnRyeUJ5UmVxdWVzdFtlbnRyeS5idWlsZFJlcXVlc3RJZCgpXSA9IGVu
dHJ5OwotCisgICAgICAgICAgICAgICAgICAgIGlmICgoIXRoaXMuX2xhc3RDb21wbGV0ZWRCdWls
ZCB8fCB0aGlzLl9sYXN0Q29tcGxldGVkQnVpbGQuYnVpbGRUYWcoKSA8IGVudHJ5LmJ1aWxkVGFn
KCkpICYmIGVudHJ5Lmhhc0ZpbmlzaGVkKCkpCisgICAgICAgICAgICAgICAgICAgICAgICB0aGlz
Ll9sYXN0Q29tcGxldGVkQnVpbGQgPSBlbnRyeTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgIGxldCBlbnRyeUxpc3QgPSBbXTsKICAgICAg
ICAgICAgICAgICBmb3IgKGxldCBpZCBpbiBlbnRyeUJ5UmVxdWVzdCkKICAgICAgICAgICAgICAg
ICAgICAgZW50cnlMaXN0LnB1c2goZW50cnlCeVJlcXVlc3RbaWRdKTsKZGlmZiAtLWdpdCBhL1dl
YnNpdGVzL3BlcmYud2Via2l0Lm9yZy90b29scy9qcy9idWlsZGJvdC10cmlnZ2VyYWJsZS5qcyBi
L1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy90b29scy9qcy9idWlsZGJvdC10cmlnZ2VyYWJsZS5q
cwppbmRleCBmZTVmMGFlMDhiOTAuLjQwZGUwYTU2OTdjOCAxMDA2NDQKLS0tIGEvV2Vic2l0ZXMv
cGVyZi53ZWJraXQub3JnL3Rvb2xzL2pzL2J1aWxkYm90LXRyaWdnZXJhYmxlLmpzCisrKyBiL1dl
YnNpdGVzL3BlcmYud2Via2l0Lm9yZy90b29scy9qcy9idWlsZGJvdC10cmlnZ2VyYWJsZS5qcwpA
QCAtMjUxLDYgKzI1MSwxMCBAQCBjbGFzcyBCdWlsZGJvdFRyaWdnZXJhYmxlIHsKIAogICAgICAg
ICAvLyBQaWNrIGEgbmV3IHN5bmNlciBmb3IgdGhlIGZpcnN0IHRlc3QuCiAgICAgICAgIGZvciAo
Y29uc3Qgc3luY2VyIG9mIHRoaXMuX3N5bmNlcnMpIHsKKyAgICAgICAgICAgIC8vIE9ubHkgc2No
ZWR1bGUgQS9CIHRlc3RzIHRvIHF1ZXVlcyB3aG9zZSBsYXN0IGpvYiB3YXMgc3VjY2Vzc2Z1bC4K
KyAgICAgICAgICAgIGlmIChzeW5jZXIuaXNUZXN0ZXIoKSAmJiAhbmV4dFJlcXVlc3Qub3JkZXIo
KSAmJiAhc3luY2VyLmxhc3RDb21wbGV0ZWRCdWlsZFN1Y2Nlc3NmdWwoKSkKKyAgICAgICAgICAg
ICAgICBjb250aW51ZTsKKwogICAgICAgICAgICAgY29uc3QgcHJvbWlzZSA9IHRoaXMuX3NjaGVk
dWxlUmVxdWVzdFdpdGhMb2coc3luY2VyLCBuZXh0UmVxdWVzdCwgcmVxdWVzdHNJbkdyb3VwLCBu
dWxsKTsKICAgICAgICAgICAgIGlmIChwcm9taXNlKQogICAgICAgICAgICAgICAgIHJldHVybiBw
cm9taXNlOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>420564</attachid>
            <date>2021-02-16 17:32:19 -0800</date>
            <delta_ts>2021-02-16 18:27:31 -0800</delta_ts>
            <desc>v3-1</desc>
            <filename>buildbot-syncer-no-failures-v3.patch</filename>
            <type>text/plain</type>
            <size>13346</size>
            <attacher name="Dean Johnson">dean_johnson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9DaGFuZ2VMb2cgYi9XZWJzaXRl
cy9wZXJmLndlYmtpdC5vcmcvQ2hhbmdlTG9nCmluZGV4IDNkMzg2ZjdmMDYwNy4uZjY1Nzk4MTA3
Y2NmIDEwMDY0NAotLS0gYS9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvQ2hhbmdlTG9nCisrKyBi
L1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAy
MS0wMi0xNSAgRGVhbiBKb2huc29uICA8ZGVhbl9qb2huc29uQGFwcGxlLmNvbT4KKworICAgICAg
ICBbcGVyZi53ZWJraXQub3JnXSBEbyBub3Qgc2NoZWR1bGUgam9icyB0byBCdWlsZGJvdCBpZiB0
aGUgbGFzdCBqb2IgZmFpbGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMjE5NDMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIHNlcnZlci10ZXN0cy9yZXNvdXJjZXMvbW9jay1kYXRhLmpzOgorICAgICAg
ICAoTW9ja0RhdGEuc2FtcGxlQnVpbGREYXRhKTogQWxsb3cgb3B0aW9ucy5yZXN1bHRzIHRvIGJl
IHNwZWNpZmllZC4KKyAgICAgICAgKiBzZXJ2ZXItdGVzdHMvdG9vbHMtYnVpbGRib3QtdHJpZ2dl
cmFibGUtdGVzdHMuanM6CisgICAgICAgIChhc3luYyBjb25zdCk6IEFkZCB0ZXN0cyBmb3IgbmV3
IGZ1bmN0aW9uYWxpdHkuIEV4aXN0aW5nIHRlc3RzIHN0aWxsIHBhc3MuCisgICAgICAgICogdG9v
bHMvanMvYnVpbGRib3Qtc3luY2VyLmpzOgorICAgICAgICAoQnVpbGRib3RCdWlsZEVudHJ5LnBy
b3RvdHlwZS5pbml0aWFsaXplKTogVHJhY2sgdGhlICdyZXN1bHRzJyBrZXkgZnJvbSBhIGJ1aWxk
LgorICAgICAgICAoQnVpbGRib3RCdWlsZEVudHJ5LnByb3RvdHlwZS5yZXN1bHQpOiBNYWtlIHRo
ZSBidWlsZCByZXN1bHQgYXZhaWxhYmxlLgorICAgICAgICAoQnVpbGRib3RTeW5jZXIpOiBUcmFj
ayB0aGUgbGFzdCBjb21wbGV0ZWQgYnVpbGQuCisgICAgICAgIChCdWlsZGJvdFN5bmNlci5wcm90
b3R5cGUubGFzdENvbXBsZXRlZEJ1aWxkU3VjY2Vzc2Z1bCk6IENoZWNrIGlmIHRoZSBsYXN0IGNv
bXBsZXRlZAorICAgICAgICBidWlsZCB3YXMgc3VjY2Vzc2Z1bC4KKyAgICAgICAgKEJ1aWxkYm90
U3luY2VyLnByb3RvdHlwZS5wdWxsQnVpbGRib3QpOgorICAgICAgICAqIHRvb2xzL2pzL2J1aWxk
Ym90LXRyaWdnZXJhYmxlLmpzOiBEbyBub3Qgc2NoZWR1bGUgYSBqb2IgdG8gYSBidWlsZGVyIHdo
byBmYWlsZWQKKyAgICAgICAgaXRzIGxhc3QgY29tcGxldGVkZCBidWlsZC4KKyAgICAgICAgKEJ1
aWxkYm90VHJpZ2dlcmFibGUucHJvdG90eXBlLl9zY2hlZHVsZVJlcXVlc3RJZlNsYXZlSXNBdmFp
bGFibGUpOgorCiAyMDIxLTAyLTExICBEZXdlaSBaaHUgIDxkZXdlaV96aHVAYXBwbGUuY29tPgog
CiAgICAgICAgICdzeW5jLWNvbW1pdHMucHknIHNob3VsZCBiZSBhYmxlIHRvIGxpbWl0IHJlcG9y
dGluZyBzY29wZSB0byBhIHNwZWNpZmljIGJyYW5jaCBvbiBhIEdpdCByZXBvc2l0b3J5LgpkaWZm
IC0tZ2l0IGEvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3NlcnZlci10ZXN0cy9yZXNvdXJjZXMv
bW9jay1kYXRhLmpzIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3NlcnZlci10ZXN0cy9yZXNv
dXJjZXMvbW9jay1kYXRhLmpzCmluZGV4IGFlN2I0MmViZDEzOS4uOWIwMjAwYmJiOGUyIDEwMDY0
NAotLS0gYS9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvc2VydmVyLXRlc3RzL3Jlc291cmNlcy9t
b2NrLWRhdGEuanMKKysrIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3NlcnZlci10ZXN0cy9y
ZXNvdXJjZXMvbW9jay1kYXRhLmpzCkBAIC00NzksNyArNDc5LDcgQEAgTW9ja0RhdGEgPSB7CiAg
ICAgICAgICAgICAiY29tcGxldGVfYXQiOiBudWxsLAogICAgICAgICAgICAgImJ1aWxkaWQiOiBv
cHRpb25zLmJ1aWxkaWQgfHwgNDE4NzQ0LAogICAgICAgICAgICAgIm1hc3RlcmlkIjogMSwKLSAg
ICAgICAgICAgICJyZXN1bHRzIjogbnVsbCwKKyAgICAgICAgICAgICJyZXN1bHRzIjogb3B0aW9u
cy5yZXN1bHRzLAogICAgICAgICAgICAgInN0YXJ0ZWRfYXQiOiBuZXcgRGF0ZSgnMjAxNy0xMi0x
OVQyMzoxMTo0OVonKSAvIDEwMDAsCiAgICAgICAgICAgICAic3RhdGVfc3RyaW5nIjogb3B0aW9u
cy5zdGF0dXNEZXNjcmlwdGlvbiB8fCBudWxsLAogICAgICAgICAgICAgIndvcmtlcmlkIjogNDEs
CmRpZmYgLS1naXQgYS9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvc2VydmVyLXRlc3RzL3Rvb2xz
LWJ1aWxkYm90LXRyaWdnZXJhYmxlLXRlc3RzLmpzIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3Jn
L3NlcnZlci10ZXN0cy90b29scy1idWlsZGJvdC10cmlnZ2VyYWJsZS10ZXN0cy5qcwppbmRleCAy
ZTIzYTNkMDBlOTMuLjYwNGRhNzM0ZGEwYyAxMDA2NDQKLS0tIGEvV2Vic2l0ZXMvcGVyZi53ZWJr
aXQub3JnL3NlcnZlci10ZXN0cy90b29scy1idWlsZGJvdC10cmlnZ2VyYWJsZS10ZXN0cy5qcwor
KysgYi9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvc2VydmVyLXRlc3RzL3Rvb2xzLWJ1aWxkYm90
LXRyaWdnZXJhYmxlLXRlc3RzLmpzCkBAIC0yMTQsNiArMjE0LDEyNiBAQCBkZXNjcmliZSgnQnVp
bGRib3RUcmlnZ2VyYWJsZScsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgIH0pOwogICAgICAg
ICB9KTsKIAorICAgICAgICBpdCgnc2hvdWxkIG5vdCBzY2hlZHVsZSB0aGUgZmlyc3QgYnVpbGQg
cmVxdWVzdCBvbiBhIGJ1aWxkZXIgd2hvc2UgbGFzdCBidWlsZCBmYWlsZWQnLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICBjb25zdCBkYiA9IFRlc3RTZXJ2ZXIuZGF0YWJhc2UoKTsKKyAgICAg
ICAgICAgIGF3YWl0IE1vY2tEYXRhLmFkZE1vY2tEYXRhKGRiKTsKKyAgICAgICAgICAgIGF3YWl0
IE1hbmlmZXN0LmZldGNoKCk7CisKKyAgICAgICAgICAgIGNvbnN0IGNvbmZpZyA9IE1vY2tEYXRh
Lm1vY2tUZXN0U3luY0NvbmZpZ1dpdGhTaW5nbGVCdWlsZGVyKCk7CisgICAgICAgICAgICBjb25z
dCBsb2dnZXIgPSBuZXcgTW9ja0xvZ2dlcjsKKyAgICAgICAgICAgIGNvbnN0IHNsYXZlSW5mbyA9
IHtuYW1lOiAnc3luYy1zbGF2ZScsIHBhc3N3b3JkOiAncGFzc3dvcmQnfTsKKyAgICAgICAgICAg
IGNvbnN0IHRyaWdnZXJhYmxlID0gbmV3IEJ1aWxkYm90VHJpZ2dlcmFibGUoY29uZmlnLCBUZXN0
U2VydmVyLnJlbW90ZUFQSSgpLCBNb2NrUmVtb3RlQVBJLCBzbGF2ZUluZm8sIGxvZ2dlcik7Cisg
ICAgICAgICAgICB0cmlnZ2VyYWJsZS5pbml0U3luY2VycygpLnRoZW4oKCkgPT4gdHJpZ2dlcmFi
bGUuc3luY09uY2UoKSk7CisgICAgICAgICAgICBhc3NlcnRSZXF1ZXN0QW5kUmVzb2x2ZShNb2Nr
UmVtb3RlQVBJLnJlcXVlc3RzWzBdLCAnR0VUJywgTW9ja0RhdGEuYnVpbGRib3RCdWlsZGVyc1VS
TCgpLCBNb2NrRGF0YS5tb2NrQnVpbGRib3RCdWlsZGVycygpKTsKKyAgICAgICAgICAgIE1vY2tS
ZW1vdGVBUEkucmVzZXQoKTsKKworICAgICAgICAgICAgYXdhaXQgTW9ja1JlbW90ZUFQSS53YWl0
Rm9yUmVxdWVzdCgpOworCisgICAgICAgICAgICBhc3NlcnQuZXF1YWwoTW9ja1JlbW90ZUFQSS5y
ZXF1ZXN0cy5sZW5ndGgsIDEpOworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKE1vY2tSZW1vdGVB
UEkucmVxdWVzdHNbMF0ubWV0aG9kLCAnR0VUJyk7CisgICAgICAgICAgICBhc3NlcnQuZXF1YWwo
TW9ja1JlbW90ZUFQSS5yZXF1ZXN0c1swXS51cmwsIE1vY2tEYXRhLnBlbmRpbmdCdWlsZHNVcmwo
J3NvbWUtYnVpbGRlci0xJykpOworICAgICAgICAgICAgTW9ja1JlbW90ZUFQSS5yZXF1ZXN0c1sw
XS5yZXNvbHZlKHt9KTsKKworICAgICAgICAgICAgYXdhaXQgTW9ja1JlbW90ZUFQSS53YWl0Rm9y
UmVxdWVzdCgpOworCisgICAgICAgICAgICBhc3NlcnQuZXF1YWwoTW9ja1JlbW90ZUFQSS5yZXF1
ZXN0cy5sZW5ndGgsIDIpOworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKE1vY2tSZW1vdGVBUEku
cmVxdWVzdHNbMV0ubWV0aG9kLCAnR0VUJyk7CisgICAgICAgICAgICBhc3NlcnQuZXF1YWwoTW9j
a1JlbW90ZUFQSS5yZXF1ZXN0c1sxXS51cmwsIE1vY2tEYXRhLnJlY2VudEJ1aWxkc1VybCgnc29t
ZS1idWlsZGVyLTEnLCAyKSk7CisgICAgICAgICAgICBNb2NrUmVtb3RlQVBJLnJlcXVlc3RzWzFd
LnJlc29sdmUoeydidWlsZHMnIDogW01vY2tEYXRhLmZpbmlzaGVkQnVpbGREYXRhKHtyZXN1bHRz
OiAxLCBidWlsZFJlcXVlc3RJZDogNjk5fSldfSk7CisKKyAgICAgICAgICAgIGF3YWl0IE1vY2tS
ZW1vdGVBUEkud2FpdEZvclJlcXVlc3QoKTsKKworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKE1v
Y2tSZW1vdGVBUEkucmVxdWVzdHMubGVuZ3RoLCAzKTsKKyAgICAgICAgICAgIGFzc2VydC5lcXVh
bChNb2NrUmVtb3RlQVBJLnJlcXVlc3RzWzJdLm1ldGhvZCwgJ0dFVCcpOworICAgICAgICAgICAg
YXNzZXJ0LmVxdWFsKE1vY2tSZW1vdGVBUEkucmVxdWVzdHNbMl0udXJsLCBNb2NrRGF0YS5wZW5k
aW5nQnVpbGRzVXJsKCdzb21lLWJ1aWxkZXItMScpKTsKKyAgICAgICAgICAgIE1vY2tSZW1vdGVB
UEkucmVxdWVzdHNbMl0ucmVzb2x2ZSh7fSk7CisKKyAgICAgICAgICAgIGF3YWl0IE1vY2tSZW1v
dGVBUEkud2FpdEZvclJlcXVlc3QoKTsKKworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKEJ1aWxk
UmVxdWVzdC5hbGwoKS5sZW5ndGgsIDQpOworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKEJ1aWxk
UmVxdWVzdC5maW5kQnlJZCg3MDApLnN0YXR1cygpLCAncGVuZGluZycpOworICAgICAgICAgICAg
YXNzZXJ0LmVxdWFsKEJ1aWxkUmVxdWVzdC5maW5kQnlJZCg3MDApLnN0YXR1c1VybCgpLCBudWxs
KTsKKyAgICAgICAgfSk7CisKKyAgICAgICAgaXQoJ3Nob3VsZCBzY2hlZHVsZSB0aGUgZmlyc3Qg
YnVpbGQgcmVxdWVzdCB0byB0aGUgZmlyc3QgYXZhaWxhYmxlIG5vbi1mYWlsaW5nIHF1ZXVlJywg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgY29uc3QgZGIgPSBUZXN0U2VydmVyLmRhdGFiYXNl
KCk7CisgICAgICAgICAgICBhd2FpdCBNb2NrRGF0YS5hZGRNb2NrRGF0YShkYik7CisgICAgICAg
ICAgICBhd2FpdCBNYW5pZmVzdC5mZXRjaCgpOworCisgICAgICAgICAgICBjb25zdCBjb25maWcg
PSBNb2NrRGF0YS5tb2NrVGVzdFN5bmNDb25maWdXaXRoVHdvQnVpbGRlcnMoKTsKKyAgICAgICAg
ICAgIGNvbnN0IGxvZ2dlciA9IG5ldyBNb2NrTG9nZ2VyOworICAgICAgICAgICAgY29uc3Qgc2xh
dmVJbmZvID0ge25hbWU6ICdzeW5jLXNsYXZlJywgcGFzc3dvcmQ6ICdwYXNzd29yZCd9OworICAg
ICAgICAgICAgY29uc3QgdHJpZ2dlcmFibGUgPSBuZXcgQnVpbGRib3RUcmlnZ2VyYWJsZShjb25m
aWcsIFRlc3RTZXJ2ZXIucmVtb3RlQVBJKCksIE1vY2tSZW1vdGVBUEksIHNsYXZlSW5mbywgbG9n
Z2VyKTsKKyAgICAgICAgICAgIGNvbnN0IHN5bmNPbmNlID0gdHJpZ2dlcmFibGUuaW5pdFN5bmNl
cnMoKS50aGVuKCgpID0+IHRyaWdnZXJhYmxlLnN5bmNPbmNlKCkpOworICAgICAgICAgICAgYXNz
ZXJ0UmVxdWVzdEFuZFJlc29sdmUoTW9ja1JlbW90ZUFQSS5yZXF1ZXN0c1swXSwgJ0dFVCcsIE1v
Y2tEYXRhLmJ1aWxkYm90QnVpbGRlcnNVUkwoKSwgTW9ja0RhdGEubW9ja0J1aWxkYm90QnVpbGRl
cnMoKSk7CisgICAgICAgICAgICBNb2NrUmVtb3RlQVBJLnJlc2V0KCk7CisKKyAgICAgICAgICAg
IGF3YWl0IE1vY2tSZW1vdGVBUEkud2FpdEZvclJlcXVlc3QoKTsKKworICAgICAgICAgICAgYXNz
ZXJ0LmVxdWFsKE1vY2tSZW1vdGVBUEkucmVxdWVzdHMubGVuZ3RoLCAyKTsKKyAgICAgICAgICAg
IGFzc2VydC5lcXVhbChNb2NrUmVtb3RlQVBJLnJlcXVlc3RzWzBdLm1ldGhvZCwgJ0dFVCcpOwor
ICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKE1vY2tSZW1vdGVBUEkucmVxdWVzdHNbMF0udXJsLCBN
b2NrRGF0YS5wZW5kaW5nQnVpbGRzVXJsKCdzb21lLWJ1aWxkZXItMScpKTsKKyAgICAgICAgICAg
IE1vY2tSZW1vdGVBUEkucmVxdWVzdHNbMF0ucmVzb2x2ZSh7fSk7CisgICAgICAgICAgICBhc3Nl
cnQuZXF1YWwoTW9ja1JlbW90ZUFQSS5yZXF1ZXN0c1sxXS5tZXRob2QsICdHRVQnKTsKKyAgICAg
ICAgICAgIGFzc2VydC5lcXVhbChNb2NrUmVtb3RlQVBJLnJlcXVlc3RzWzFdLnVybCwgTW9ja0Rh
dGEucGVuZGluZ0J1aWxkc1VybCgnc29tZSBidWlsZGVyIDInKSk7CisgICAgICAgICAgICBNb2Nr
UmVtb3RlQVBJLnJlcXVlc3RzWzFdLnJlc29sdmUoe30pOworCisgICAgICAgICAgICBhd2FpdCBN
b2NrUmVtb3RlQVBJLndhaXRGb3JSZXF1ZXN0KCk7CisKKyAgICAgICAgICAgIGFzc2VydC5lcXVh
bChNb2NrUmVtb3RlQVBJLnJlcXVlc3RzLmxlbmd0aCwgNCk7CisgICAgICAgICAgICBhc3NlcnQu
ZXF1YWwoTW9ja1JlbW90ZUFQSS5yZXF1ZXN0c1syXS5tZXRob2QsICdHRVQnKTsKKyAgICAgICAg
ICAgIGFzc2VydC5lcXVhbChNb2NrUmVtb3RlQVBJLnJlcXVlc3RzWzJdLnVybCwgTW9ja0RhdGEu
cmVjZW50QnVpbGRzVXJsKCdzb21lLWJ1aWxkZXItMScsIDIpKTsKKyAgICAgICAgICAgIE1vY2tS
ZW1vdGVBUEkucmVxdWVzdHNbMl0ucmVzb2x2ZSh7J2J1aWxkcycgOiBbTW9ja0RhdGEuZmluaXNo
ZWRCdWlsZERhdGEoe3Jlc3VsdHM6IDEsIGJ1aWxkUmVxdWVzdElkOiA2OTl9KV19KTsKKyAgICAg
ICAgICAgIGFzc2VydC5lcXVhbChNb2NrUmVtb3RlQVBJLnJlcXVlc3RzWzNdLm1ldGhvZCwgJ0dF
VCcpOworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKE1vY2tSZW1vdGVBUEkucmVxdWVzdHNbM10u
dXJsLCBNb2NrRGF0YS5yZWNlbnRCdWlsZHNVcmwoJ3NvbWUgYnVpbGRlciAyJywgMikpOworICAg
ICAgICAgICAgTW9ja1JlbW90ZUFQSS5yZXF1ZXN0c1szXS5yZXNvbHZlKHt9KTsKKworICAgICAg
ICAgICAgYXdhaXQgTW9ja1JlbW90ZUFQSS53YWl0Rm9yUmVxdWVzdCgpOworCisgICAgICAgICAg
ICBhc3NlcnQuZXF1YWwoTW9ja1JlbW90ZUFQSS5yZXF1ZXN0cy5sZW5ndGgsIDUpOworICAgICAg
ICAgICAgYXNzZXJ0LmVxdWFsKE1vY2tSZW1vdGVBUEkucmVxdWVzdHNbNF0ubWV0aG9kLCAnUE9T
VCcpOworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKE1vY2tSZW1vdGVBUEkucmVxdWVzdHNbNF0u
dXJsLCAnL2FwaS92Mi9mb3JjZXNjaGVkdWxlcnMvZm9yY2Utc29tZS1idWlsZGVyLTInKTsKKyAg
ICAgICAgICAgIGFzc2VydC5kZWVwRXF1YWwoTW9ja1JlbW90ZUFQSS5yZXF1ZXN0c1s0XS5kYXRh
LCB7J2lkJzogJzcwMCcsICdqc29ucnBjJzogJzIuMCcsICdtZXRob2QnOiAnZm9yY2UnLCAncGFy
YW1zJzoKKyAgICAgICAgICAgICAgICB7J3drJzogJzE5MTYyMicsICdvcyc6ICcxMC4xMSAxNUEy
ODQnLCAnYnVpbGQtcmVxdWVzdC1pZCc6ICc3MDAnLCAnZm9yY2VzY2hlZHVsZXInOiAnZm9yY2Ut
c29tZS1idWlsZGVyLTInfX0pOworICAgICAgICAgICAgTW9ja1JlbW90ZUFQSS5yZXF1ZXN0c1s0
XS5yZXNvbHZlKCdPSycpOworCisgICAgICAgICAgICBhd2FpdCBNb2NrUmVtb3RlQVBJLndhaXRG
b3JSZXF1ZXN0KCk7CisKKyAgICAgICAgICAgIGFzc2VydC5lcXVhbChNb2NrUmVtb3RlQVBJLnJl
cXVlc3RzLmxlbmd0aCwgNyk7CisgICAgICAgICAgICBhc3NlcnQuZXF1YWwoTW9ja1JlbW90ZUFQ
SS5yZXF1ZXN0c1s1XS5tZXRob2QsICdHRVQnKTsKKyAgICAgICAgICAgIGFzc2VydC5lcXVhbChN
b2NrUmVtb3RlQVBJLnJlcXVlc3RzWzVdLnVybCwgTW9ja0RhdGEucGVuZGluZ0J1aWxkc1VybCgn
c29tZS1idWlsZGVyLTEnKSk7CisgICAgICAgICAgICBNb2NrUmVtb3RlQVBJLnJlcXVlc3RzWzVd
LnJlc29sdmUoe30pOworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKE1vY2tSZW1vdGVBUEkucmVx
dWVzdHNbNl0ubWV0aG9kLCAnR0VUJyk7CisgICAgICAgICAgICBhc3NlcnQuZXF1YWwoTW9ja1Jl
bW90ZUFQSS5yZXF1ZXN0c1s2XS51cmwsIE1vY2tEYXRhLnBlbmRpbmdCdWlsZHNVcmwoJ3NvbWUg
YnVpbGRlciAyJykpOworICAgICAgICAgICAgTW9ja1JlbW90ZUFQSS5yZXF1ZXN0c1s2XS5yZXNv
bHZlKE1vY2tEYXRhLnBlbmRpbmdCdWlsZCh7YnVpbGRlcklkOiBNb2NrRGF0YS5idWlsZGVySURG
b3JOYW1lKCdzb21lIGJ1aWxkZXIgMicpLCBidWlsZFJlcXVlc3RJZDogNzAwLCBidWlsZGJvdEJ1
aWxkUmVxdWVzdElkOiAxN30pKTsKKworICAgICAgICAgICAgYXdhaXQgTW9ja1JlbW90ZUFQSS53
YWl0Rm9yUmVxdWVzdCgpOworCisgICAgICAgICAgICBhc3NlcnQuZXF1YWwoTW9ja1JlbW90ZUFQ
SS5yZXF1ZXN0cy5sZW5ndGgsIDkpOworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKE1vY2tSZW1v
dGVBUEkucmVxdWVzdHNbN10ubWV0aG9kLCAnR0VUJyk7CisgICAgICAgICAgICBhc3NlcnQuZXF1
YWwoTW9ja1JlbW90ZUFQSS5yZXF1ZXN0c1s3XS51cmwsIE1vY2tEYXRhLnJlY2VudEJ1aWxkc1Vy
bCgnc29tZS1idWlsZGVyLTEnLCAyKSk7CisgICAgICAgICAgICBNb2NrUmVtb3RlQVBJLnJlcXVl
c3RzWzddLnJlc29sdmUoe30pOworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKE1vY2tSZW1vdGVB
UEkucmVxdWVzdHNbOF0ubWV0aG9kLCAnR0VUJyk7CisgICAgICAgICAgICBhc3NlcnQuZXF1YWwo
TW9ja1JlbW90ZUFQSS5yZXF1ZXN0c1s4XS51cmwsIE1vY2tEYXRhLnJlY2VudEJ1aWxkc1VybCgn
c29tZSBidWlsZGVyIDInLCAyKSk7CisgICAgICAgICAgICBNb2NrUmVtb3RlQVBJLnJlcXVlc3Rz
WzhdLnJlc29sdmUoe30pOworCisgICAgICAgICAgICBhd2FpdCBzeW5jT25jZTsKKworICAgICAg
ICAgICAgYXNzZXJ0LmVxdWFsKEJ1aWxkUmVxdWVzdC5hbGwoKS5sZW5ndGgsIDQpOworICAgICAg
ICAgICAgYXNzZXJ0LmVxdWFsKEJ1aWxkUmVxdWVzdC5maW5kQnlJZCg3MDApLnN0YXR1cygpLCAn
cGVuZGluZycpOworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKEJ1aWxkUmVxdWVzdC5maW5kQnlJ
ZCg3MDApLnN0YXR1c1VybCgpLCBudWxsKTsKKyAgICAgICAgICAgIGFzc2VydC5lcXVhbChCdWls
ZFJlcXVlc3QuZmluZEJ5SWQoNzAxKS5zdGF0dXMoKSwgJ3BlbmRpbmcnKTsKKyAgICAgICAgICAg
IGFzc2VydC5lcXVhbChCdWlsZFJlcXVlc3QuZmluZEJ5SWQoNzAxKS5zdGF0dXNVcmwoKSwgbnVs
bCk7CisKKyAgICAgICAgICAgIGF3YWl0IEJ1aWxkUmVxdWVzdC5mZXRjaEZvclRyaWdnZXJhYmxl
KE1vY2tEYXRhLm1vY2tUZXN0U3luY0NvbmZpZ1dpdGhUd29CdWlsZGVycygpLnRyaWdnZXJhYmxl
TmFtZSk7CisKKyAgICAgICAgICAgIGFzc2VydC5lcXVhbChCdWlsZFJlcXVlc3QuYWxsKCkubGVu
Z3RoLCA0KTsKKyAgICAgICAgICAgIGFzc2VydC5lcXVhbChCdWlsZFJlcXVlc3QuZmluZEJ5SWQo
NzAwKS5zdGF0dXMoKSwgJ3NjaGVkdWxlZCcpOworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKEJ1
aWxkUmVxdWVzdC5maW5kQnlJZCg3MDApLnN0YXR1c1VybCgpLCAnaHR0cDovL2J1aWxkLndlYmtp
dC5vcmcvIy9idWlsZHJlcXVlc3RzLzE3Jyk7CisgICAgICAgICAgICBhc3NlcnQuZXF1YWwoQnVp
bGRSZXF1ZXN0LmZpbmRCeUlkKDcwMSkuc3RhdHVzKCksICdwZW5kaW5nJyk7CisgICAgICAgICAg
ICBhc3NlcnQuZXF1YWwoQnVpbGRSZXF1ZXN0LmZpbmRCeUlkKDcwMSkuc3RhdHVzVXJsKCksIG51
bGwpOworICAgICAgICB9KTsKKwogICAgICAgICBpdCgnc2hvdWxkIG5vdCBzY2hlZHVsZSBhIGJ1
aWxkIHJlcXVlc3Qgb24gYSBkaWZmZXJlbnQgYnVpbGRlciB0aGFuIHRoZSBvbmUgdGhlIGZpcnN0
IGJ1aWxkIHJlcXVlc3QgaXMgcGVuZGluZycsICgpID0+IHsKICAgICAgICAgICAgIGNvbnN0IGRi
ID0gVGVzdFNlcnZlci5kYXRhYmFzZSgpOwogICAgICAgICAgICAgbGV0IHN5bmNQcm9taXNlOwpk
aWZmIC0tZ2l0IGEvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3Rvb2xzL2pzL2J1aWxkYm90LXN5
bmNlci5qcyBiL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy90b29scy9qcy9idWlsZGJvdC1zeW5j
ZXIuanMKaW5kZXggMWI4MjE0NjlkZTQ4Li4zMGJkMjVmMGFjZDAgMTAwNjQ0Ci0tLSBhL1dlYnNp
dGVzL3BlcmYud2Via2l0Lm9yZy90b29scy9qcy9idWlsZGJvdC1zeW5jZXIuanMKKysrIGIvV2Vi
c2l0ZXMvcGVyZi53ZWJraXQub3JnL3Rvb2xzL2pzL2J1aWxkYm90LXN5bmNlci5qcwpAQCAtMjAs
NiArMjAsNyBAQCBjbGFzcyBCdWlsZGJvdEJ1aWxkRW50cnkgewogICAgICAgICB0aGlzLl9pc1Bl
bmRpbmcgPSAnY2xhaW1lZCcgaW4gcmF3RGF0YSAmJiAhcmF3RGF0YVsnY2xhaW1lZCddOwogICAg
ICAgICB0aGlzLl9pc0luUHJvZ3Jlc3MgPSAhdGhpcy5faXNQZW5kaW5nICYmICF0aGlzLl9oYXNG
aW5pc2hlZDsKICAgICAgICAgdGhpcy5fYnVpbGRUYWcgPSByYXdEYXRhWydudW1iZXInXTsKKyAg
ICAgICAgdGhpcy5fcmVzdWx0ID0gcmF3RGF0YVsncmVzdWx0cyddOwogICAgICAgICB0aGlzLl93
b3JrZXJOYW1lID0gcmF3RGF0YVsncHJvcGVydGllcyddICYmIHJhd0RhdGFbJ3Byb3BlcnRpZXMn
XVsnd29ya2VybmFtZSddID8gcmF3RGF0YVsncHJvcGVydGllcyddWyd3b3JrZXJuYW1lJ11bMF0g
OiBudWxsOwogICAgICAgICB0aGlzLl9idWlsZFJlcXVlc3RJZCA9IHJhd0RhdGFbJ3Byb3BlcnRp
ZXMnXSAmJiByYXdEYXRhWydwcm9wZXJ0aWVzJ11bc3luY2VyLl9idWlsZFJlcXVlc3RQcm9wZXJ0
eU5hbWVdCiAgICAgICAgICAgICA/IHJhd0RhdGFbJ3Byb3BlcnRpZXMnXVtzeW5jZXIuX2J1aWxk
UmVxdWVzdFByb3BlcnR5TmFtZV1bMF0gOiBudWxsOwpAQCAtMzQsNiArMzUsNyBAQCBjbGFzcyBC
dWlsZGJvdEJ1aWxkRW50cnkgewogICAgIGlzUGVuZGluZygpIHsgcmV0dXJuIHRoaXMuX2lzUGVu
ZGluZzsgfQogICAgIGlzSW5Qcm9ncmVzcygpIHsgcmV0dXJuIHRoaXMuX2lzSW5Qcm9ncmVzczsg
fQogICAgIGhhc0ZpbmlzaGVkKCkgeyByZXR1cm4gdGhpcy5faGFzRmluaXNoZWQ7IH0KKyAgICBy
ZXN1bHQoKSB7IHJldHVybiB0aGlzLl9yZXN1bHQ7IH0KICAgICBzdGF0dXNEZXNjcmlwdGlvbigp
IHsgcmV0dXJuIHRoaXMuX3N0YXR1c0Rlc2NyaXB0aW9uOyB9CiAgICAgdXJsKCkgeyByZXR1cm4g
dGhpcy5pc1BlbmRpbmcoKSA/IHRoaXMuX3N5bmNlci51cmxGb3JQZW5kaW5nQnVpbGQodGhpcy5f
YnVpbGRib3RCdWlsZFJlcXVlc3RJZCkgOiB0aGlzLl9zeW5jZXIudXJsRm9yQnVpbGRTZXJpYWwo
dGhpcy5fYnVpbGRUYWcpOyB9CiAKQEAgLTcyLDExICs3NCwxNCBAQCBjbGFzcyBCdWlsZGJvdFN5
bmNlciB7CiAgICAgICAgIHRoaXMuX2J1aWxkZXJJRCA9IG9iamVjdC5idWlsZGVySUQ7CiAgICAg
ICAgIHRoaXMuX3NsYXZlTGlzdCA9IG9iamVjdC5zbGF2ZUxpc3Q7CiAgICAgICAgIHRoaXMuX2Vu
dHJ5TGlzdCA9IG51bGw7CisgICAgICAgIHRoaXMuX2xhc3RDb21wbGV0ZWRCdWlsZCA9IG51bGw7
CiAgICAgICAgIHRoaXMuX3NsYXZlc1dpdGhOZXdSZXF1ZXN0cyA9IG5ldyBTZXQ7CiAgICAgfQog
CiAgICAgYnVpbGRlck5hbWUoKSB7IHJldHVybiB0aGlzLl9idWlsZGVyTmFtZTsgfQogICAgIGJ1
aWxkZXJJRCgpIHsgcmV0dXJuIHRoaXMuX2J1aWxkZXJJRDsgfQorICAgIC8vIEJ1aWxkYm90IHJl
c3VsdCBjb2RlczogaHR0cHM6Ly9kb2NzLmJ1aWxkYm90Lm5ldC9sYXRlc3QvZGV2ZWxvcGVyL3Jl
c3VsdHMuaHRtbAorICAgIGxhc3RDb21wbGV0ZWRCdWlsZFN1Y2Nlc3NmdWwoKSB7IHJldHVybiAh
dGhpcy5fbGFzdENvbXBsZXRlZEJ1aWxkIHx8ICF0aGlzLl9sYXN0Q29tcGxldGVkQnVpbGQucmVz
dWx0KCkgfQogCiAgICAgYWRkVGVzdENvbmZpZ3VyYXRpb24odGVzdCwgcGxhdGZvcm0sIHByb3Bl
cnRpZXNUZW1wbGF0ZSkKICAgICB7CkBAIC0xODMsOSArMTg4LDEyIEBAIGNsYXNzIEJ1aWxkYm90
U3luY2VyIHsKICAgICAgICAgICAgICAgICBmb3IgKGxldCBlbnRyeSBvZiBwZW5kaW5nRW50cmll
cykKICAgICAgICAgICAgICAgICAgICAgZW50cnlCeVJlcXVlc3RbZW50cnkuYnVpbGRSZXF1ZXN0
SWQoKV0gPSBlbnRyeTsKIAotICAgICAgICAgICAgICAgIGZvciAobGV0IGVudHJ5IG9mIGVudHJp
ZXMpCisgICAgICAgICAgICAgICAgZm9yIChsZXQgZW50cnkgb2YgZW50cmllcykgewogICAgICAg
ICAgICAgICAgICAgICBlbnRyeUJ5UmVxdWVzdFtlbnRyeS5idWlsZFJlcXVlc3RJZCgpXSA9IGVu
dHJ5OwotCisgICAgICAgICAgICAgICAgICAgIGlmICgoIXRoaXMuX2xhc3RDb21wbGV0ZWRCdWls
ZCB8fCB0aGlzLl9sYXN0Q29tcGxldGVkQnVpbGQuYnVpbGRUYWcoKSA8IGVudHJ5LmJ1aWxkVGFn
KCkpICYmIGVudHJ5Lmhhc0ZpbmlzaGVkKCkpCisgICAgICAgICAgICAgICAgICAgICAgICB0aGlz
Ll9sYXN0Q29tcGxldGVkQnVpbGQgPSBlbnRyeTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgIGxldCBlbnRyeUxpc3QgPSBbXTsKICAgICAg
ICAgICAgICAgICBmb3IgKGxldCBpZCBpbiBlbnRyeUJ5UmVxdWVzdCkKICAgICAgICAgICAgICAg
ICAgICAgZW50cnlMaXN0LnB1c2goZW50cnlCeVJlcXVlc3RbaWRdKTsKZGlmZiAtLWdpdCBhL1dl
YnNpdGVzL3BlcmYud2Via2l0Lm9yZy90b29scy9qcy9idWlsZGJvdC10cmlnZ2VyYWJsZS5qcyBi
L1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy90b29scy9qcy9idWlsZGJvdC10cmlnZ2VyYWJsZS5q
cwppbmRleCBmZTVmMGFlMDhiOTAuLjQwZGUwYTU2OTdjOCAxMDA2NDQKLS0tIGEvV2Vic2l0ZXMv
cGVyZi53ZWJraXQub3JnL3Rvb2xzL2pzL2J1aWxkYm90LXRyaWdnZXJhYmxlLmpzCisrKyBiL1dl
YnNpdGVzL3BlcmYud2Via2l0Lm9yZy90b29scy9qcy9idWlsZGJvdC10cmlnZ2VyYWJsZS5qcwpA
QCAtMjUxLDYgKzI1MSwxMCBAQCBjbGFzcyBCdWlsZGJvdFRyaWdnZXJhYmxlIHsKIAogICAgICAg
ICAvLyBQaWNrIGEgbmV3IHN5bmNlciBmb3IgdGhlIGZpcnN0IHRlc3QuCiAgICAgICAgIGZvciAo
Y29uc3Qgc3luY2VyIG9mIHRoaXMuX3N5bmNlcnMpIHsKKyAgICAgICAgICAgIC8vIE9ubHkgc2No
ZWR1bGUgQS9CIHRlc3RzIHRvIHF1ZXVlcyB3aG9zZSBsYXN0IGpvYiB3YXMgc3VjY2Vzc2Z1bC4K
KyAgICAgICAgICAgIGlmIChzeW5jZXIuaXNUZXN0ZXIoKSAmJiAhbmV4dFJlcXVlc3Qub3JkZXIo
KSAmJiAhc3luY2VyLmxhc3RDb21wbGV0ZWRCdWlsZFN1Y2Nlc3NmdWwoKSkKKyAgICAgICAgICAg
ICAgICBjb250aW51ZTsKKwogICAgICAgICAgICAgY29uc3QgcHJvbWlzZSA9IHRoaXMuX3NjaGVk
dWxlUmVxdWVzdFdpdGhMb2coc3luY2VyLCBuZXh0UmVxdWVzdCwgcmVxdWVzdHNJbkdyb3VwLCBu
dWxsKTsKICAgICAgICAgICAgIGlmIChwcm9taXNlKQogICAgICAgICAgICAgICAgIHJldHVybiBw
cm9taXNlOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>