<?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>182218</bug_id>
          
          <creation_ts>2018-01-27 11:54:26 -0800</creation_ts>
          <short_desc>Add support for submitting build request to Buildbot 0.9 server in BuildbotSyncer</short_desc>
          <delta_ts>2018-02-05 09:15: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>Tools / Tests</component>
          <version>Other</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=182036</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=179743</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=175969</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Aakash Jain">aakash_jain</reporter>
          <assigned_to name="Aakash Jain">aakash_jain</assigned_to>
          <cc>aakash_jain</cc>
    
    <cc>ap</cc>
    
    <cc>dean_johnson</cc>
    
    <cc>lforschler</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1393874</commentid>
    <comment_count>0</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2018-01-27 11:54:26 -0800</bug_when>
    <thetext>As part of supporting Buildbot 0.9, BuildbotSyncer should be able to submit build request to Buildbot 0.9 server.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1393877</commentid>
    <comment_count>1</comment_count>
      <attachid>332479</attachid>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2018-01-27 12:01:24 -0800</bug_when>
    <thetext>Created attachment 332479
Proposed patch

Created new scheduleRequest method and moved previous one to scheduleRequestDeprecated. Have some code duplication as scheduleRequestDeprecated will be simply deleted later on.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1395111</commentid>
    <comment_count>2</comment_count>
      <attachid>332479</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2018-01-31 12:23:02 -0800</bug_when>
    <thetext>Comment on attachment 332479
Proposed patch

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

r- due to lack of testing.

&gt; Websites/perf.webkit.org/tools/js/buildbot-syncer.js:75
&gt; +        if (object.properties)
&gt; +            this._forceScheduler = object.properties.forcescheduler;

We need a test for this code change.

&gt; Websites/perf.webkit.org/tools/js/buildbot-syncer.js:138
&gt; +        const data = {jsonrpc: &apos;2.0&apos;, method: &apos;force&apos;, id: properties[this._buildRequestPropertyName], params: properties};
&gt; +        return this._remote.postJSON(this.pathForForceBuild(), data);

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1395986</commentid>
    <comment_count>3</comment_count>
      <attachid>332999</attachid>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2018-02-02 14:09:33 -0800</bug_when>
    <thetext>Created attachment 332999
Updated patch with unit-test

Added unit-tests.

Also added assert to ensure forcescheduler property is always defined.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1396087</commentid>
    <comment_count>4</comment_count>
      <attachid>332999</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2018-02-02 19:30:33 -0800</bug_when>
    <thetext>Comment on attachment 332999
Updated patch with unit-test

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

&gt; Websites/perf.webkit.org/tools/js/buildbot-syncer.js:143
&gt; +        assert(properties[&apos;forcescheduler&apos;], &quot;forcescheduler must be defined for builder: &quot; + this._builderName + &quot; in order to post a build request to Buildbot.&quot;)

This is not an accurate error message. We must specify a forcebuilder for a given request, not a builder.
Revise this to:
`forcescheduler was not specified in buildbot properties for build request ${newRequest.id()} on platform &quot;${newRequest.platform().name()}&quot; for builder &quot;${this.builderName()}&quot;`;

&gt; Websites/perf.webkit.org/tools/js/buildbot-syncer.js:262
&gt; +    pathForForceBuild(scheduler) { return `/api/v2/forceschedulers/${scheduler}`; }

This argument should be named schedulerName to signify the fact it&apos;s a string.

&gt; Websites/perf.webkit.org/unit-tests/buildbot-syncer-tests.js:1620
&gt; +        it(&apos;should schedule a build request on Buildbot&apos;, () =&gt; {

Use async.

&gt; Websites/perf.webkit.org/unit-tests/buildbot-syncer-tests.js:1621
&gt; +            let syncer = BuildbotSyncer._loadConfig(MockRemoteAPI, sampleiOSConfig(), builderNameToIDMap())[0];

Use const.

&gt; Websites/perf.webkit.org/unit-tests/buildbot-syncer-tests.js:1627
&gt; +            return waitForRequest.then(() =&gt; {

Use await.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1396333</commentid>
    <comment_count>5</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2018-02-05 09:15:01 -0800</bug_when>
    <thetext>Committed r228099: &lt;https://trac.webkit.org/changeset/228099&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1396334</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-02-05 09:15:32 -0800</bug_when>
    <thetext>&lt;rdar://problem/37238974&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>332479</attachid>
            <date>2018-01-27 12:01:24 -0800</date>
            <delta_ts>2018-02-02 14:09:33 -0800</delta_ts>
            <desc>Proposed patch</desc>
            <filename>patch_buildbot_perf_submit_buildrequest.patch</filename>
            <type>text/plain</type>
            <size>7816</size>
            <attacher name="Aakash Jain">aakash_jain</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL0NoYW5nZUxvZwkocmV2aXNpb24gMjI3NzE2KQorKysg
V2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE2IEBACisyMDE4LTAxLTI3ICBBYWthc2ggSmFpbiAgPGFha2FzaF9qYWluQGFwcGxlLmNv
bT4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3Igc3VibWl0dGluZyBidWlsZCByZXF1ZXN0IHRv
IEJ1aWxkYm90IDAuOSBzZXJ2ZXIgaW4gQnVpbGRib3RTeW5jZXIKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MjIxOAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogdG9vbHMvanMvYnVpbGRib3Qtc3luY2Vy
LmpzOgorICAgICAgICAoQnVpbGRib3RTeW5jZXIpOgorICAgICAgICAoQnVpbGRib3RTeW5jZXIu
cHJvdG90eXBlLnNjaGVkdWxlUmVxdWVzdERlcHJlY2F0ZWQpOiBSZW5hbWVkIGZyb20gc2NoZWR1
bGVSZXF1ZXN0LgorICAgICAgICAoQnVpbGRib3RTeW5jZXIucHJvdG90eXBlLnNjaGVkdWxlUmVx
dWVzdCk6IE1ldGhvZCB0byBzY2hlZHVsZSBidWlsZCByZXF1ZXN0IG9uIEJ1aWxkYm90IDAuOSBz
ZXJ2ZXIuCisgICAgICAgICogdW5pdC10ZXN0cy9idWlsZGJvdC1zeW5jZXItdGVzdHMuanM6IFVw
ZGF0ZWQgdW5pdC10ZXN0cyBhY2NvcmRpbmdseS4KKwogMjAxOC0wMS0yNCAgRGV3ZWkgWmh1ICA8
ZGV3ZWlfemh1QGFwcGxlLmNvbT4KIAogICAgICAgICBDaGVjayBleGlzdGVuY2Ugb2YgJ25vZGVf
bW9kdWxlc19kaXInIGJlZm9yZSBjcmVhdGluZyBpdC4KSW5kZXg6IFdlYnNpdGVzL3BlcmYud2Vi
a2l0Lm9yZy90b29scy9qcy9idWlsZGJvdC1zeW5jZXIuanMKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vic2l0
ZXMvcGVyZi53ZWJraXQub3JnL3Rvb2xzL2pzL2J1aWxkYm90LXN5bmNlci5qcwkocmV2aXNpb24g
MjI3NzE2KQorKysgV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3Rvb2xzL2pzL2J1aWxkYm90LXN5
bmNlci5qcwkod29ya2luZyBjb3B5KQpAQCAtNzEsNiArNzEsOCBAQCBjbGFzcyBCdWlsZGJvdFN5
bmNlciB7CiAgICAgICAgIHRoaXMuX3NsYXZlTGlzdCA9IG9iamVjdC5zbGF2ZUxpc3Q7CiAgICAg
ICAgIHRoaXMuX2VudHJ5TGlzdCA9IG51bGw7CiAgICAgICAgIHRoaXMuX3NsYXZlc1dpdGhOZXdS
ZXF1ZXN0cyA9IG5ldyBTZXQ7CisgICAgICAgIGlmIChvYmplY3QucHJvcGVydGllcykKKyAgICAg
ICAgICAgIHRoaXMuX2ZvcmNlU2NoZWR1bGVyID0gb2JqZWN0LnByb3BlcnRpZXMuZm9yY2VzY2hl
ZHVsZXI7CiAgICAgfQogCiAgICAgYnVpbGRlck5hbWUoKSB7IHJldHVybiB0aGlzLl9idWlsZGVy
TmFtZTsgfQpAQCAtMTAzLDYgKzEwNSwyMiBAQCBjbGFzcyBCdWlsZGJvdFN5bmNlciB7CiAgICAg
ICAgIHJldHVybiB0aGlzLl9jb25maWd1cmF0aW9ucy5zb21lKChjb25maWcpID0+IGNvbmZpZy5w
bGF0Zm9ybSA9PSByZXF1ZXN0LnBsYXRmb3JtKCkgJiYgY29uZmlnLnRlc3QgPT0gcmVxdWVzdC50
ZXN0KCkpOwogICAgIH0KIAorICAgIHNjaGVkdWxlUmVxdWVzdERlcHJlY2F0ZWQobmV3UmVxdWVz
dCwgcmVxdWVzdHNJbkdyb3VwLCBzbGF2ZU5hbWUpCisgICAgeworICAgICAgICBhc3NlcnQoIXRo
aXMuX3NsYXZlc1dpdGhOZXdSZXF1ZXN0cy5oYXMoc2xhdmVOYW1lKSk7CisgICAgICAgIGxldCBw
cm9wZXJ0aWVzID0gdGhpcy5fcHJvcGVydGllc0ZvckJ1aWxkUmVxdWVzdChuZXdSZXF1ZXN0LCBy
ZXF1ZXN0c0luR3JvdXApOworCisgICAgICAgIGFzc2VydC5lcXVhbCghdGhpcy5fc2xhdmVQcm9w
ZXJ0eU5hbWUsICFzbGF2ZU5hbWUpOworICAgICAgICBpZiAodGhpcy5fc2xhdmVQcm9wZXJ0eU5h
bWUpCisgICAgICAgICAgICBwcm9wZXJ0aWVzW3RoaXMuX3NsYXZlUHJvcGVydHlOYW1lXSA9IHNs
YXZlTmFtZTsKKworICAgICAgICBpZiAodGhpcy5fcGxhdGZvcm1Qcm9wZXJ0eU5hbWUpCisgICAg
ICAgICAgICBwcm9wZXJ0aWVzW3RoaXMuX3BsYXRmb3JtUHJvcGVydHlOYW1lXSA9IG5ld1JlcXVl
c3QucGxhdGZvcm0oKS5uYW1lKCk7CisKKyAgICAgICAgdGhpcy5fc2xhdmVzV2l0aE5ld1JlcXVl
c3RzLmFkZChzbGF2ZU5hbWUpOworICAgICAgICByZXR1cm4gdGhpcy5fcmVtb3RlLnBvc3RGb3Jt
VXJsZW5jb2RlZERhdGEodGhpcy5wYXRoRm9yRm9yY2VCdWlsZERlcHJlY2F0ZWQoKSwgcHJvcGVy
dGllcyk7CisgICAgfQorCiAgICAgc2NoZWR1bGVSZXF1ZXN0KG5ld1JlcXVlc3QsIHJlcXVlc3Rz
SW5Hcm91cCwgc2xhdmVOYW1lKQogICAgIHsKICAgICAgICAgYXNzZXJ0KCF0aGlzLl9zbGF2ZXNX
aXRoTmV3UmVxdWVzdHMuaGFzKHNsYXZlTmFtZSkpOwpAQCAtMTE2LDcgKzEzNCw4IEBAIGNsYXNz
IEJ1aWxkYm90U3luY2VyIHsKICAgICAgICAgICAgIHByb3BlcnRpZXNbdGhpcy5fcGxhdGZvcm1Q
cm9wZXJ0eU5hbWVdID0gbmV3UmVxdWVzdC5wbGF0Zm9ybSgpLm5hbWUoKTsKIAogICAgICAgICB0
aGlzLl9zbGF2ZXNXaXRoTmV3UmVxdWVzdHMuYWRkKHNsYXZlTmFtZSk7Ci0gICAgICAgIHJldHVy
biB0aGlzLl9yZW1vdGUucG9zdEZvcm1VcmxlbmNvZGVkRGF0YSh0aGlzLnBhdGhGb3JGb3JjZUJ1
aWxkKCksIHByb3BlcnRpZXMpOworICAgICAgICBjb25zdCBkYXRhID0ge2pzb25ycGM6ICcyLjAn
LCBtZXRob2Q6ICdmb3JjZScsIGlkOiBwcm9wZXJ0aWVzW3RoaXMuX2J1aWxkUmVxdWVzdFByb3Bl
cnR5TmFtZV0sIHBhcmFtczogcHJvcGVydGllc307CisgICAgICAgIHJldHVybiB0aGlzLl9yZW1v
dGUucG9zdEpTT04odGhpcy5wYXRoRm9yRm9yY2VCdWlsZCgpLCBkYXRhKTsKICAgICB9CiAKICAg
ICBzY2hlZHVsZVJlcXVlc3RJbkdyb3VwSWZBdmFpbGFibGUobmV3UmVxdWVzdCwgcmVxdWVzdHNJ
bkdyb3VwLCBzbGF2ZU5hbWUpCkBAIC0xNDUsMTggKzE2NCwxOCBAQCBjbGFzcyBCdWlsZGJvdFN5
bmNlciB7CiAgICAgICAgIGlmICghdGhpcy5fc2xhdmVMaXN0IHx8IGhhc1BlbmRpbmdCdWlsZHNX
aXRob3V0U2xhdmVOYW1lU3BlY2lmaWVkKSB7CiAgICAgICAgICAgICBpZiAodXNlZFNsYXZlcy5z
aXplIHx8IHRoaXMuX3NsYXZlc1dpdGhOZXdSZXF1ZXN0cy5zaXplKQogICAgICAgICAgICAgICAg
IHJldHVybiBudWxsOwotICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2NoZWR1bGVSZXF1ZXN0KG5l
d1JlcXVlc3QsIHJlcXVlc3RzSW5Hcm91cCwgbnVsbCk7CisgICAgICAgICAgICByZXR1cm4gdGhp
cy5zY2hlZHVsZVJlcXVlc3REZXByZWNhdGVkKG5ld1JlcXVlc3QsIHJlcXVlc3RzSW5Hcm91cCwg
bnVsbCk7CiAgICAgICAgIH0KIAogICAgICAgICBpZiAoc2xhdmVOYW1lKSB7CiAgICAgICAgICAg
ICBpZiAoIXVzZWRTbGF2ZXMuaGFzKHNsYXZlTmFtZSkgJiYgIXRoaXMuX3NsYXZlc1dpdGhOZXdS
ZXF1ZXN0cy5oYXMoc2xhdmVOYW1lKSkKLSAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5zY2hl
ZHVsZVJlcXVlc3QobmV3UmVxdWVzdCwgcmVxdWVzdHNJbkdyb3VwLCBzbGF2ZU5hbWUpOworICAg
ICAgICAgICAgICAgIHJldHVybiB0aGlzLnNjaGVkdWxlUmVxdWVzdERlcHJlY2F0ZWQobmV3UmVx
dWVzdCwgcmVxdWVzdHNJbkdyb3VwLCBzbGF2ZU5hbWUpOwogICAgICAgICAgICAgcmV0dXJuIG51
bGw7CiAgICAgICAgIH0KIAogICAgICAgICBmb3IgKGxldCBzbGF2ZU5hbWUgb2YgdGhpcy5fc2xh
dmVMaXN0KSB7CiAgICAgICAgICAgICBpZiAoIXVzZWRTbGF2ZXMuaGFzKHNsYXZlTmFtZSkgJiYg
IXRoaXMuX3NsYXZlc1dpdGhOZXdSZXF1ZXN0cy5oYXMoc2xhdmVOYW1lKSkKLSAgICAgICAgICAg
ICAgICByZXR1cm4gdGhpcy5zY2hlZHVsZVJlcXVlc3QobmV3UmVxdWVzdCwgcmVxdWVzdHNJbkdy
b3VwLCBzbGF2ZU5hbWUpOworICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnNjaGVkdWxlUmVx
dWVzdERlcHJlY2F0ZWQobmV3UmVxdWVzdCwgcmVxdWVzdHNJbkdyb3VwLCBzbGF2ZU5hbWUpOwog
ICAgICAgICB9CiAKICAgICAgICAgcmV0dXJuIG51bGw7CkBAIC0yMTIsNyArMjMxLDggQEAgY2xh
c3MgQnVpbGRib3RTeW5jZXIgewogICAgIHsKICAgICAgICAgcmV0dXJuIGAvanNvbi9idWlsZGVy
cy8ke2VzY2FwZSh0aGlzLl9idWlsZGVyTmFtZSl9L2J1aWxkcy8/YCArIHNlbGVjdGVkQnVpbGRz
Lm1hcCgobnVtYmVyKSA9PiAnc2VsZWN0PScgKyBudW1iZXIpLmpvaW4oJyYnKTsKICAgICB9Ci0g
ICAgcGF0aEZvckZvcmNlQnVpbGQoKSB7IHJldHVybiBgL2J1aWxkZXJzLyR7ZXNjYXBlKHRoaXMu
X2J1aWxkZXJOYW1lKX0vZm9yY2VgOyB9CisgICAgcGF0aEZvckZvcmNlQnVpbGREZXByZWNhdGVk
KCkgeyByZXR1cm4gYC9idWlsZGVycy8ke2VzY2FwZSh0aGlzLl9idWlsZGVyTmFtZSl9L2ZvcmNl
YDsgfQorICAgIHBhdGhGb3JGb3JjZUJ1aWxkKCkgeyByZXR1cm4gYC9hcGkvdjIvZm9yY2VzY2hl
ZHVsZXJzLyR7dGhpcy5fZm9yY2VTY2hlZHVsZXJ9YDsgfQogCiAgICAgdXJsKCkgeyByZXR1cm4g
dGhpcy5fcmVtb3RlLnVybChgL2J1aWxkZXJzLyR7ZXNjYXBlKHRoaXMuX2J1aWxkZXJOYW1lKX0v
YCk7IH0KICAgICB1cmxGb3JCdWlsZE51bWJlcihudW1iZXIpIHsgcmV0dXJuIHRoaXMuX3JlbW90
ZS51cmwoYC9idWlsZGVycy8ke2VzY2FwZSh0aGlzLl9idWlsZGVyTmFtZSl9L2J1aWxkcy8ke251
bWJlcn1gKTsgfQpJbmRleDogV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3VuaXQtdGVzdHMvYnVp
bGRib3Qtc3luY2VyLXRlc3RzLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYnNpdGVzL3BlcmYud2Via2l0
Lm9yZy91bml0LXRlc3RzL2J1aWxkYm90LXN5bmNlci10ZXN0cy5qcwkocmV2aXNpb24gMjI3NzE2
KQorKysgV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3VuaXQtdGVzdHMvYnVpbGRib3Qtc3luY2Vy
LXRlc3RzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xNDY1LDcgKzE0NjUsNyBAQCBkZXNjcmliZSgn
QnVpbGRib3RTeW5jZXInLCAoKSA9PiB7CiAKICAgICAgICAgICAgIGNvbnN0IHdhaXRGb3JSZXF1
ZXN0ID0gTW9ja1JlbW90ZUFQSS53YWl0Rm9yUmVxdWVzdCgpOwogICAgICAgICAgICAgY29uc3Qg
cmVxdWVzdCA9IGNyZWF0ZVNhbXBsZUJ1aWxkUmVxdWVzdChNb2NrTW9kZWxzLmlwaG9uZSwgTW9j
a01vZGVscy5zcGVlZG9tZXRlcik7Ci0gICAgICAgICAgICBzeW5jZXIuc2NoZWR1bGVSZXF1ZXN0
KHJlcXVlc3QsIFtyZXF1ZXN0XSwgJ3NvbWUtc2xhdmUnKTsKKyAgICAgICAgICAgIHN5bmNlci5z
Y2hlZHVsZVJlcXVlc3REZXByZWNhdGVkKHJlcXVlc3QsIFtyZXF1ZXN0XSwgJ3NvbWUtc2xhdmUn
KTsKICAgICAgICAgICAgIHJldHVybiB3YWl0Rm9yUmVxdWVzdC50aGVuKCgpID0+IHsKICAgICAg
ICAgICAgICAgICBhc3NlcnQuZXF1YWwocmVxdWVzdHMubGVuZ3RoLCAxKTsKICAgICAgICAgICAg
ICAgICBhc3NlcnQuZXF1YWwocmVxdWVzdHNbMF0udXJsLCAnL2J1aWxkZXJzL0FCVGVzdC1pUGhv
bmUtUnVuQmVuY2htYXJrLVRlc3RzL2ZvcmNlJyk7CkBAIC0xNjExLDkgKzE2MTEsOSBAQCBkZXNj
cmliZSgnQnVpbGRib3RTeW5jZXInLCAoKSA9PiB7CiAKICAgICAgICAgICAgIHB1bGxCdWlsZGJv
dFdpdGhBc3NlcnRpb24oc3luY2VyLCBbXSwge30pLnRoZW4oKCkgPT4gewogICAgICAgICAgICAg
ICAgIGxldCByZXF1ZXN0ID0gY3JlYXRlU2FtcGxlQnVpbGRSZXF1ZXN0KE1vY2tNb2RlbHMuaXBh
ZCwgTW9ja01vZGVscy5zcGVlZG9tZXRlcik7Ci0gICAgICAgICAgICAgICAgc3luY2VyLnNjaGVk
dWxlUmVxdWVzdChyZXF1ZXN0LCBbcmVxdWVzdF0sICdBQlRlc3QtaVBhZC0wJyk7CisgICAgICAg
ICAgICAgICAgc3luY2VyLnNjaGVkdWxlUmVxdWVzdERlcHJlY2F0ZWQocmVxdWVzdCwgW3JlcXVl
c3RdLCAnQUJUZXN0LWlQYWQtMCcpOwogICAgICAgICAgICAgICAgIHJlcXVlc3QgPSBjcmVhdGVT
YW1wbGVCdWlsZFJlcXVlc3QoTW9ja01vZGVscy5pcGFkLCBNb2NrTW9kZWxzLnNwZWVkb21ldGVy
KTsKLSAgICAgICAgICAgICAgICBzeW5jZXIuc2NoZWR1bGVSZXF1ZXN0KHJlcXVlc3QsIFtyZXF1
ZXN0XSwgJ0FCVGVzdC1pUGFkLTEnKTsKKyAgICAgICAgICAgICAgICBzeW5jZXIuc2NoZWR1bGVS
ZXF1ZXN0RGVwcmVjYXRlZChyZXF1ZXN0LCBbcmVxdWVzdF0sICdBQlRlc3QtaVBhZC0xJyk7CiAg
ICAgICAgICAgICB9KS50aGVuKCgpID0+IHsKICAgICAgICAgICAgICAgICBhc3NlcnQuZXF1YWwo
cmVxdWVzdHMubGVuZ3RoLCAyKTsKICAgICAgICAgICAgICAgICBjb25zdCByZXF1ZXN0ID0gY3Jl
YXRlU2FtcGxlQnVpbGRSZXF1ZXN0KE1vY2tNb2RlbHMuaXBhZCwgTW9ja01vZGVscy5zcGVlZG9t
ZXRlcik7CkBAIC0xNjI5LDcgKzE2MjksNyBAQCBkZXNjcmliZSgnQnVpbGRib3RTeW5jZXInLCAo
KSA9PiB7CiAKICAgICAgICAgICAgIHJldHVybiBwdWxsQnVpbGRib3RXaXRoQXNzZXJ0aW9uKHN5
bmNlciwgW10sIHt9KS50aGVuKCgpID0+IHsKICAgICAgICAgICAgICAgICBsZXQgcmVxdWVzdCA9
IGNyZWF0ZVNhbXBsZUJ1aWxkUmVxdWVzdChNb2NrTW9kZWxzLmlwYWQsIE1vY2tNb2RlbHMuc3Bl
ZWRvbWV0ZXIpOwotICAgICAgICAgICAgICAgIHN5bmNlci5zY2hlZHVsZVJlcXVlc3QocmVxdWVz
dCwgW3JlcXVlc3RdLCAnQUJUZXN0LWlQYWQtMCcpOworICAgICAgICAgICAgICAgIHN5bmNlci5z
Y2hlZHVsZVJlcXVlc3REZXByZWNhdGVkKHJlcXVlc3QsIFtyZXF1ZXN0XSwgJ0FCVGVzdC1pUGFk
LTAnKTsKICAgICAgICAgICAgICAgICBhc3NlcnQuZXF1YWwocmVxdWVzdHMubGVuZ3RoLCAxKTsK
ICAgICAgICAgICAgICAgICByZXF1ZXN0ID0gY3JlYXRlU2FtcGxlQnVpbGRSZXF1ZXN0KE1vY2tN
b2RlbHMuaXBhZCwgTW9ja01vZGVscy5zcGVlZG9tZXRlcikKICAgICAgICAgICAgICAgICBzeW5j
ZXIuc2NoZWR1bGVSZXF1ZXN0SW5Hcm91cElmQXZhaWxhYmxlKHJlcXVlc3QsIFtyZXF1ZXN0XSwg
J0FCVGVzdC1pUGFkLTEnKTsKQEAgLTE2NDIsNyArMTY0Miw3IEBAIGRlc2NyaWJlKCdCdWlsZGJv
dFN5bmNlcicsICgpID0+IHsKIAogICAgICAgICAgICAgcmV0dXJuIHB1bGxCdWlsZGJvdFdpdGhB
c3NlcnRpb24oc3luY2VyLCBbXSwge30pLnRoZW4oKCkgPT4gewogICAgICAgICAgICAgICAgIGxl
dCByZXF1ZXN0ID0gY3JlYXRlU2FtcGxlQnVpbGRSZXF1ZXN0KE1vY2tNb2RlbHMuc29tZVBsYXRm
b3JtLCBNb2NrTW9kZWxzLnNvbWVUZXN0KTsKLSAgICAgICAgICAgICAgICBzeW5jZXIuc2NoZWR1
bGVSZXF1ZXN0KHJlcXVlc3QsIFtyZXF1ZXN0XSwgbnVsbCk7CisgICAgICAgICAgICAgICAgc3lu
Y2VyLnNjaGVkdWxlUmVxdWVzdERlcHJlY2F0ZWQocmVxdWVzdCwgW3JlcXVlc3RdLCBudWxsKTsK
ICAgICAgICAgICAgICAgICBhc3NlcnQuZXF1YWwocmVxdWVzdHMubGVuZ3RoLCAxKTsKICAgICAg
ICAgICAgICAgICByZXF1ZXN0ID0gY3JlYXRlU2FtcGxlQnVpbGRSZXF1ZXN0KE1vY2tNb2RlbHMu
c29tZVBsYXRmb3JtLCBNb2NrTW9kZWxzLnNvbWVUZXN0KTsKICAgICAgICAgICAgICAgICBzeW5j
ZXIuc2NoZWR1bGVSZXF1ZXN0SW5Hcm91cElmQXZhaWxhYmxlKHJlcXVlc3QsIFtyZXF1ZXN0XSwg
bnVsbCk7Cg==
</data>
<flag name="review"
          id="351588"
          type_id="1"
          status="-"
          setter="rniwa"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>332999</attachid>
            <date>2018-02-02 14:09:33 -0800</date>
            <delta_ts>2018-02-02 19:30:33 -0800</delta_ts>
            <desc>Updated patch with unit-test</desc>
            <filename>patch_buildbot_perf_submit_buildrequest_v2.patch</filename>
            <type>text/plain</type>
            <size>16308</size>
            <attacher name="Aakash Jain">aakash_jain</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL0NoYW5nZUxvZwkocmV2aXNpb24gMjI4MDI4KQorKysg
V2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDIyIEBACisyMDE4LTAyLTAyICBBYWthc2ggSmFpbiAgPGFha2FzaF9qYWluQGFwcGxlLmNv
bT4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3Igc3VibWl0dGluZyBidWlsZCByZXF1ZXN0IHRv
IEJ1aWxkYm90IDAuOSBzZXJ2ZXIgaW4gQnVpbGRib3RTeW5jZXIKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MjIxOAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogdG9vbHMvanMvYnVpbGRib3Qtc3luY2Vy
LmpzOgorICAgICAgICAoQnVpbGRib3RTeW5jZXIucHJvdG90eXBlLnNjaGVkdWxlUmVxdWVzdCk6
IEFkZGVkIGFzc2VydCB0byBlbnN1cmUgZm9yY2VzY2hlZHVsZXIgcHJvcGVydHkgaXMgYWx3YXlz
IGRlZmluZWQuIEJ1aWxkcyBjYW4gbm90CisgICAgICAgIGJlIHNjaGVkdWxlZCBvbiBCdWlsZGJv
dCB3aXRob3V0IHRoaXMgcHJvcGVydHkuIFVwZGF0ZWQgdW5pdC10ZXN0cyBhbmQgc2VydmVyLXRl
c3RzIGFjY29yZGluZ2x5LgorICAgICAgICAoQnVpbGRib3RTeW5jZXIucHJvdG90eXBlLnNjaGVk
dWxlQnVpbGRPbkJ1aWxkYm90RGVwcmVjYXRlZCk6IE1ldGhvZCB0byBzY2hlZHVsZSBidWlsZCBy
ZXF1ZXN0IG9uIEJ1aWxkYm90IDAuOCBzZXJ2ZXIuCisgICAgICAgIChCdWlsZGJvdFN5bmNlci5w
cm90b3R5cGUuc2NoZWR1bGVCdWlsZE9uQnVpbGRib3QpOiBNZXRob2QgdG8gc2NoZWR1bGUgYnVp
bGQgcmVxdWVzdCBvbiBCdWlsZGJvdCAwLjkgc2VydmVyLgorICAgICAgICAoQnVpbGRib3RTeW5j
ZXIucHJvdG90eXBlLnBhdGhGb3JGb3JjZUJ1aWxkRGVwcmVjYXRlZCk6IFBhdGggZm9yIHNjaGV1
ZGxpbmcgYnVpbGQgb24gQnVpbGRib3QgMC44IHNlcnZlci4KKyAgICAgICAgKEJ1aWxkYm90U3lu
Y2VyLnByb3RvdHlwZS5wYXRoRm9yRm9yY2VCdWlsZCk6IFBhdGggZm9yIHNjaGV1ZGxpbmcgYnVp
bGQgb24gQnVpbGRib3QgMC45IHNlcnZlci4KKyAgICAgICAgKiB1bml0LXRlc3RzL2J1aWxkYm90
LXN5bmNlci10ZXN0cy5qczoKKyAgICAgICAgKHNtYWxsQ29uZmlndXJhdGlvbik6IEFkZGVkIHRl
c3QtY2FzZSBmb3Igc2NoZWR1bGVCdWlsZE9uQnVpbGRib3QuIEFsc28gYWRkZWQgZm9yY2VzY2hl
ZHVsZXIgcHJvcGVydHkgaW4gc2FtcGxlIGRhdGEuCisgICAgICAgICogc2VydmVyLXRlc3RzL3Jl
c291cmNlcy9tb2NrLWRhdGEuanM6IEFkZGVkIGZvcmNlc2NoZWR1bGVyIHByb3BlcnR5IGluIHNh
bXBsZSBkYXRhLgorICAgICAgICAqIHNlcnZlci10ZXN0cy90b29scy1idWlsZGJvdC10cmlnZ2Vy
YWJsZS10ZXN0cy5qczogVXBkYXRlZCBzZXJ2ZXItdGVzdHMgdG8gdGFrZSBjYXJlIG9mIGFkZGVk
IGZvcmNlc2NoZWR1bGVyIHByb3BlcnR5LgorCiAyMDE4LTAyLTAxICBBYWthc2ggSmFpbiAgPGFh
a2FzaF9qYWluQGFwcGxlLmNvbT4KIAogICAgICAgICBDcmVhdGUgQnVpbGRib3RCdWlsZEVudHJ5
IGluIEJ1aWxkYm90IHN5bmNlciBpbiBCdWlsZGJvdCAwLjkgZm9ybWF0CkluZGV4OiBXZWJzaXRl
cy9wZXJmLndlYmtpdC5vcmcvc2VydmVyLXRlc3RzL3Rvb2xzLWJ1aWxkYm90LXRyaWdnZXJhYmxl
LXRlc3RzLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9zZXJ2ZXIt
dGVzdHMvdG9vbHMtYnVpbGRib3QtdHJpZ2dlcmFibGUtdGVzdHMuanMJKHJldmlzaW9uIDIyODAx
NykKKysrIFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9zZXJ2ZXItdGVzdHMvdG9vbHMtYnVpbGRi
b3QtdHJpZ2dlcmFibGUtdGVzdHMuanMJKHdvcmtpbmcgY29weSkKQEAgLTU3LDcgKzU3LDcgQEAg
ZGVzY3JpYmUoJ0J1aWxkYm90VHJpZ2dlcmFibGUnLCBmdW5jdGlvbgogICAgICAgICAgICAgfSku
dGhlbigoKSA9PiB7CiAgICAgICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKE1vY2tSZW1vdGVBUEku
cmVxdWVzdHNbMl0ubWV0aG9kLCAnUE9TVCcpOwogICAgICAgICAgICAgICAgIGFzc2VydC5lcXVh
bChNb2NrUmVtb3RlQVBJLnJlcXVlc3RzWzJdLnVybCwgJy9idWlsZGVycy9zb21lLWJ1aWxkZXIt
MS9mb3JjZScpOwotICAgICAgICAgICAgICAgIGFzc2VydC5kZWVwRXF1YWwoTW9ja1JlbW90ZUFQ
SS5yZXF1ZXN0c1syXS5kYXRhLCB7J3drJzogJzE5MTYyMicsICdvcyc6ICcxMC4xMSAxNUEyODQn
LCAnYnVpbGQtcmVxdWVzdC1pZCc6ICc3MDInfSk7CisgICAgICAgICAgICAgICAgYXNzZXJ0LmRl
ZXBFcXVhbChNb2NrUmVtb3RlQVBJLnJlcXVlc3RzWzJdLmRhdGEsIHsnd2snOiAnMTkxNjIyJywg
J29zJzogJzEwLjExIDE1QTI4NCcsICdidWlsZC1yZXF1ZXN0LWlkJzogJzcwMicsICdmb3JjZXNj
aGVkdWxlcic6ICdmb3JjZS1zb21lLWJ1aWxkZXItMSd9KTsKICAgICAgICAgICAgICAgICBNb2Nr
UmVtb3RlQVBJLnJlcXVlc3RzWzJdLnJlc29sdmUoJ09LJyk7CiAgICAgICAgICAgICAgICAgcmV0
dXJuIE1vY2tSZW1vdGVBUEkud2FpdEZvclJlcXVlc3QoKTsKICAgICAgICAgICAgIH0pLnRoZW4o
KCkgPT4gewpAQCAtMTY3LDcgKzE2Nyw3IEBAIGRlc2NyaWJlKCdCdWlsZGJvdFRyaWdnZXJhYmxl
JywgZnVuY3Rpb24KICAgICAgICAgICAgICAgICBhc3NlcnQuZXF1YWwoTW9ja1JlbW90ZUFQSS5y
ZXF1ZXN0cy5sZW5ndGgsIDUpOwogICAgICAgICAgICAgICAgIGFzc2VydC5lcXVhbChNb2NrUmVt
b3RlQVBJLnJlcXVlc3RzWzRdLm1ldGhvZCwgJ1BPU1QnKTsKICAgICAgICAgICAgICAgICBhc3Nl
cnQuZXF1YWwoTW9ja1JlbW90ZUFQSS5yZXF1ZXN0c1s0XS51cmwsICcvYnVpbGRlcnMvc29tZSUy
MGJ1aWxkZXIlMjAyL2ZvcmNlJyk7Ci0gICAgICAgICAgICAgICAgYXNzZXJ0LmRlZXBFcXVhbChN
b2NrUmVtb3RlQVBJLnJlcXVlc3RzWzRdLmRhdGEsIHsnd2snOiAnMTkxNjIyJywgJ29zJzogJzEw
LjExIDE1QTI4NCcsICdidWlsZC1yZXF1ZXN0LWlkJzogJzcwMCd9KTsKKyAgICAgICAgICAgICAg
ICBhc3NlcnQuZGVlcEVxdWFsKE1vY2tSZW1vdGVBUEkucmVxdWVzdHNbNF0uZGF0YSwgeyd3ayc6
ICcxOTE2MjInLCAnb3MnOiAnMTAuMTEgMTVBMjg0JywgJ2J1aWxkLXJlcXVlc3QtaWQnOiAnNzAw
JywgJ2ZvcmNlc2NoZWR1bGVyJzogJ2ZvcmNlLXNvbWUtYnVpbGRlci0yJ30pOwogICAgICAgICAg
ICAgICAgIE1vY2tSZW1vdGVBUEkucmVxdWVzdHNbNF0ucmVzb2x2ZSgnT0snKTsKICAgICAgICAg
ICAgICAgICByZXR1cm4gTW9ja1JlbW90ZUFQSS53YWl0Rm9yUmVxdWVzdCgpOwogICAgICAgICAg
ICAgfSkudGhlbigoKSA9PiB7CkBAIC0zMjIsNyArMzIyLDcgQEAgZGVzY3JpYmUoJ0J1aWxkYm90
VHJpZ2dlcmFibGUnLCBmdW5jdGlvbgogICAgICAgICAgICAgICAgIGFzc2VydC5lcXVhbChNb2Nr
UmVtb3RlQVBJLnJlcXVlc3RzLmxlbmd0aCwgNSk7CiAgICAgICAgICAgICAgICAgYXNzZXJ0LmVx
dWFsKE1vY2tSZW1vdGVBUEkucmVxdWVzdHNbNF0ubWV0aG9kLCAnUE9TVCcpOwogICAgICAgICAg
ICAgICAgIGFzc2VydC5lcXVhbChNb2NrUmVtb3RlQVBJLnJlcXVlc3RzWzRdLnVybCwgJy9idWls
ZGVycy9zb21lLWJ1aWxkZXItMS9mb3JjZScpOwotICAgICAgICAgICAgICAgIGFzc2VydC5kZWVw
RXF1YWwoTW9ja1JlbW90ZUFQSS5yZXF1ZXN0c1s0XS5kYXRhLCB7J3drJzogJzE5MTYyMicsICdv
cyc6ICcxMC4xMSAxNUEyODQnLCAnYnVpbGQtcmVxdWVzdC1pZCc6ICc3MDInfSk7CisgICAgICAg
ICAgICAgICAgYXNzZXJ0LmRlZXBFcXVhbChNb2NrUmVtb3RlQVBJLnJlcXVlc3RzWzRdLmRhdGEs
IHsnd2snOiAnMTkxNjIyJywgJ29zJzogJzEwLjExIDE1QTI4NCcsICdidWlsZC1yZXF1ZXN0LWlk
JzogJzcwMicsICdmb3JjZXNjaGVkdWxlcic6ICdmb3JjZS1zb21lLWJ1aWxkZXItMSd9KTsKICAg
ICAgICAgICAgICAgICBNb2NrUmVtb3RlQVBJLnJlcXVlc3RzWzRdLnJlc29sdmUoJ09LJyk7CiAg
ICAgICAgICAgICAgICAgcmV0dXJuIE1vY2tSZW1vdGVBUEkud2FpdEZvclJlcXVlc3QoKTsKICAg
ICAgICAgICAgIH0pLnRoZW4oKCkgPT4gewpAQCAtNDY4LDcgKzQ2OCw3IEBAIGRlc2NyaWJlKCdC
dWlsZGJvdFRyaWdnZXJhYmxlJywgZnVuY3Rpb24KICAgICAgICAgICAgICAgICBhc3NlcnQuZXF1
YWwoTW9ja1JlbW90ZUFQSS5yZXF1ZXN0cy5sZW5ndGgsIDUpOwogICAgICAgICAgICAgICAgIGFz
c2VydC5lcXVhbChNb2NrUmVtb3RlQVBJLnJlcXVlc3RzWzRdLm1ldGhvZCwgJ1BPU1QnKTsKICAg
ICAgICAgICAgICAgICBhc3NlcnQuZXF1YWwoTW9ja1JlbW90ZUFQSS5yZXF1ZXN0c1s0XS51cmws
ICcvYnVpbGRlcnMvc29tZSUyMGJ1aWxkZXIlMjAyL2ZvcmNlJyk7Ci0gICAgICAgICAgICAgICAg
YXNzZXJ0LmRlZXBFcXVhbChNb2NrUmVtb3RlQVBJLnJlcXVlc3RzWzRdLmRhdGEsIHsnd2snOiAn
MTkxNjIyJywgJ29zJzogJzEwLjExIDE1QTI4NCcsICdidWlsZC1yZXF1ZXN0LWlkJzogJzcxMCd9
KTsKKyAgICAgICAgICAgICAgICBhc3NlcnQuZGVlcEVxdWFsKE1vY2tSZW1vdGVBUEkucmVxdWVz
dHNbNF0uZGF0YSwgeyd3ayc6ICcxOTE2MjInLCAnb3MnOiAnMTAuMTEgMTVBMjg0JywgJ2J1aWxk
LXJlcXVlc3QtaWQnOiAnNzEwJywgJ2ZvcmNlc2NoZWR1bGVyJzogJ2ZvcmNlLXNvbWUtYnVpbGRl
ci0yJ30pOwogICAgICAgICAgICAgICAgIE1vY2tSZW1vdGVBUEkucmVxdWVzdHNbNF0ucmVzb2x2
ZSgnT0snKTsKICAgICAgICAgICAgICAgICByZXR1cm4gTW9ja1JlbW90ZUFQSS53YWl0Rm9yUmVx
dWVzdCgpOwogICAgICAgICAgICAgfSkudGhlbigoKSA9PiB7CkBAIC01NjgsMTEgKzU2OCwxMSBA
QCBkZXNjcmliZSgnQnVpbGRib3RUcmlnZ2VyYWJsZScsIGZ1bmN0aW9uCiAgICAgICAgICAgICAg
ICAgYXNzZXJ0LmVxdWFsKE1vY2tSZW1vdGVBUEkucmVxdWVzdHMubGVuZ3RoLCA2KTsKICAgICAg
ICAgICAgICAgICBhc3NlcnQuZXF1YWwoTW9ja1JlbW90ZUFQSS5yZXF1ZXN0c1s0XS5tZXRob2Qs
ICdQT1NUJyk7CiAgICAgICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKE1vY2tSZW1vdGVBUEkucmVx
dWVzdHNbNF0udXJsLCAnL2J1aWxkZXJzL3NvbWUlMjBidWlsZGVyJTIwMi9mb3JjZScpOwotICAg
ICAgICAgICAgICAgIGFzc2VydC5kZWVwRXF1YWwoTW9ja1JlbW90ZUFQSS5yZXF1ZXN0c1s0XS5k
YXRhLCB7J3drJzogJzE5MjczNicsICdvcyc6ICcxMC4xMSAxNUEyODQnLCAnYnVpbGQtcmVxdWVz
dC1pZCc6ICc3MDEnfSk7CisgICAgICAgICAgICAgICAgYXNzZXJ0LmRlZXBFcXVhbChNb2NrUmVt
b3RlQVBJLnJlcXVlc3RzWzRdLmRhdGEsIHsnd2snOiAnMTkyNzM2JywgJ29zJzogJzEwLjExIDE1
QTI4NCcsICdidWlsZC1yZXF1ZXN0LWlkJzogJzcwMScsICdmb3JjZXNjaGVkdWxlcic6ICdmb3Jj
ZS1zb21lLWJ1aWxkZXItMid9KTsKICAgICAgICAgICAgICAgICBNb2NrUmVtb3RlQVBJLnJlcXVl
c3RzWzRdLnJlc29sdmUoJ09LJyk7CiAgICAgICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKE1vY2tS
ZW1vdGVBUEkucmVxdWVzdHNbNV0ubWV0aG9kLCAnUE9TVCcpOwogICAgICAgICAgICAgICAgIGFz
c2VydC5lcXVhbChNb2NrUmVtb3RlQVBJLnJlcXVlc3RzWzVdLnVybCwgJy9idWlsZGVycy9zb21l
LWJ1aWxkZXItMS9mb3JjZScpOwotICAgICAgICAgICAgICAgIGFzc2VydC5kZWVwRXF1YWwoTW9j
a1JlbW90ZUFQSS5yZXF1ZXN0c1s1XS5kYXRhLCB7J3drJzogJzE5MjczNicsICdvcyc6ICcxMC4x
MSAxNUEyODQnLCAnYnVpbGQtcmVxdWVzdC1pZCc6ICc3MTEnfSk7CisgICAgICAgICAgICAgICAg
YXNzZXJ0LmRlZXBFcXVhbChNb2NrUmVtb3RlQVBJLnJlcXVlc3RzWzVdLmRhdGEsIHsnd2snOiAn
MTkyNzM2JywgJ29zJzogJzEwLjExIDE1QTI4NCcsICdidWlsZC1yZXF1ZXN0LWlkJzogJzcxMScs
ICdmb3JjZXNjaGVkdWxlcic6ICdmb3JjZS1zb21lLWJ1aWxkZXItMSd9KTsKICAgICAgICAgICAg
ICAgICBNb2NrUmVtb3RlQVBJLnJlcXVlc3RzWzVdLnJlc29sdmUoJ09LJyk7CiAgICAgICAgICAg
ICAgICAgcmV0dXJuIE1vY2tSZW1vdGVBUEkud2FpdEZvclJlcXVlc3QoKTsKICAgICAgICAgICAg
IH0pLnRoZW4oKCkgPT4gewpAQCAtNjY1LDcgKzY2NSw3IEBAIGRlc2NyaWJlKCdCdWlsZGJvdFRy
aWdnZXJhYmxlJywgZnVuY3Rpb24KICAgICAgICAgICAgICAgICBhc3NlcnQuZXF1YWwocmVxdWVz
dHMubGVuZ3RoLCAzKTsKICAgICAgICAgICAgICAgICBhc3NlcnQuZXF1YWwocmVxdWVzdHNbMl0u
bWV0aG9kLCAnUE9TVCcpOwogICAgICAgICAgICAgICAgIGFzc2VydC5lcXVhbChyZXF1ZXN0c1sy
XS51cmwsICcvYnVpbGRlcnMvc29tZS1idWlsZGVyLTEvZm9yY2UnKTsKLSAgICAgICAgICAgICAg
ICBhc3NlcnQuZGVlcEVxdWFsKHJlcXVlc3RzWzJdLmRhdGEsIHsnd2snOiAnMTkxNjIyJywgJ29z
JzogJzEwLjExIDE1QTI4NCcsICdidWlsZC1yZXF1ZXN0LWlkJzogJzcwMCd9KTsKKyAgICAgICAg
ICAgICAgICBhc3NlcnQuZGVlcEVxdWFsKHJlcXVlc3RzWzJdLmRhdGEsIHsnd2snOiAnMTkxNjIy
JywgJ29zJzogJzEwLjExIDE1QTI4NCcsICdidWlsZC1yZXF1ZXN0LWlkJzogJzcwMCcsICdmb3Jj
ZXNjaGVkdWxlcic6ICdmb3JjZS1zb21lLWJ1aWxkZXItMSd9KTsKICAgICAgICAgICAgICAgICBy
ZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHNldFRpbWVvdXQocmVzb2x2ZSwgMTApKTsK
ICAgICAgICAgICAgIH0pLnRoZW4oKCkgPT4gewogICAgICAgICAgICAgICAgIGFzc2VydC5lcXVh
bChyZXF1ZXN0cy5sZW5ndGgsIDMpOwpAQCAtNzM4LDcgKzczOCw3IEBAIGRlc2NyaWJlKCdCdWls
ZGJvdFRyaWdnZXJhYmxlJywgZnVuY3Rpb24KICAgICAgICAgICAgIH0pLnRoZW4oKCkgPT4gewog
ICAgICAgICAgICAgICAgIGFzc2VydC5lcXVhbChyZXF1ZXN0cy5sZW5ndGgsIDMpOwogICAgICAg
ICAgICAgICAgIGFzc2VydFJlcXVlc3RBbmRSZXNvbHZlKHJlcXVlc3RzWzJdLCAnUE9TVCcsICcv
YnVpbGRlcnMvc29tZS1idWlsZGVyLTEvZm9yY2UnKTsKLSAgICAgICAgICAgICAgICBhc3NlcnQu
ZGVlcEVxdWFsKHJlcXVlc3RzWzJdLmRhdGEsIHsnd2snOiAnMTkyNzM2JywgJ29zJzogJzEwLjEx
IDE1QTI4NCcsICdidWlsZC1yZXF1ZXN0LWlkJzogJzcwMSd9KTsKKyAgICAgICAgICAgICAgICBh
c3NlcnQuZGVlcEVxdWFsKHJlcXVlc3RzWzJdLmRhdGEsIHsnd2snOiAnMTkyNzM2JywgJ29zJzog
JzEwLjExIDE1QTI4NCcsICdidWlsZC1yZXF1ZXN0LWlkJzogJzcwMScsICdmb3JjZXNjaGVkdWxl
cic6ICdmb3JjZS1zb21lLWJ1aWxkZXItMSd9KTsKICAgICAgICAgICAgICAgICByZXR1cm4gTW9j
a1JlbW90ZUFQSS53YWl0Rm9yUmVxdWVzdCgpOwogICAgICAgICAgICAgfSkudGhlbigoKSA9PiB7
CiAgICAgICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKHJlcXVlc3RzLmxlbmd0aCwgNCk7CkBAIC04
MDUsNyArODA1LDcgQEAgZGVzY3JpYmUoJ0J1aWxkYm90VHJpZ2dlcmFibGUnLCBmdW5jdGlvbgog
ICAgICAgICAgICAgICAgIGFzc2VydC5lcXVhbChNb2NrUmVtb3RlQVBJLnJlcXVlc3RzLmxlbmd0
aCwgMyk7CiAgICAgICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKE1vY2tSZW1vdGVBUEkucmVxdWVz
dHNbMl0ubWV0aG9kLCAnUE9TVCcpOwogICAgICAgICAgICAgICAgIGFzc2VydC5lcXVhbChNb2Nr
UmVtb3RlQVBJLnJlcXVlc3RzWzJdLnVybCwgJy9idWlsZGVycy9zb21lLWJ1aWxkZXItMS9mb3Jj
ZScpOwotICAgICAgICAgICAgICAgIGFzc2VydC5kZWVwRXF1YWwoTW9ja1JlbW90ZUFQSS5yZXF1
ZXN0c1syXS5kYXRhLCB7J3drJzogJzE5MjczNicsICdvcyc6ICcxMC4xMSAxNUEyODQnLCAnYnVp
bGQtcmVxdWVzdC1pZCc6ICc3MDEnfSk7CisgICAgICAgICAgICAgICAgYXNzZXJ0LmRlZXBFcXVh
bChNb2NrUmVtb3RlQVBJLnJlcXVlc3RzWzJdLmRhdGEsIHsnd2snOiAnMTkyNzM2JywgJ29zJzog
JzEwLjExIDE1QTI4NCcsICdidWlsZC1yZXF1ZXN0LWlkJzogJzcwMScsICdmb3JjZXNjaGVkdWxl
cic6ICdmb3JjZS1zb21lLWJ1aWxkZXItMSd9KTsKICAgICAgICAgICAgICAgICBNb2NrUmVtb3Rl
QVBJLnJlcXVlc3RzWzJdLnJlc29sdmUoJ09LJyk7CiAgICAgICAgICAgICAgICAgcmV0dXJuIE1v
Y2tSZW1vdGVBUEkud2FpdEZvclJlcXVlc3QoKTsKICAgICAgICAgICAgIH0pLnRoZW4oKCkgPT4g
ewpAQCAtOTMxLDcgKzkzMSw3IEBAIGRlc2NyaWJlKCdCdWlsZGJvdFRyaWdnZXJhYmxlJywgZnVu
Y3Rpb24KICAgICAgICAgICAgICAgICBhc3NlcnQuZXF1YWwoTW9ja1JlbW90ZUFQSS5yZXF1ZXN0
cy5sZW5ndGgsIDMpOwogICAgICAgICAgICAgICAgIGFzc2VydC5lcXVhbChNb2NrUmVtb3RlQVBJ
LnJlcXVlc3RzWzJdLm1ldGhvZCwgJ1BPU1QnKTsKICAgICAgICAgICAgICAgICBhc3NlcnQuZXF1
YWwoTW9ja1JlbW90ZUFQSS5yZXF1ZXN0c1syXS51cmwsICcvYnVpbGRlcnMvc29tZS1idWlsZGVy
LTEvZm9yY2UnKTsKLSAgICAgICAgICAgICAgICBhc3NlcnQuZGVlcEVxdWFsKE1vY2tSZW1vdGVB
UEkucmVxdWVzdHNbMl0uZGF0YSwgeyd3ayc6ICcxOTE2MjInLCAnb3MnOiAnMTAuMTEgMTVBMjg0
JywgJ2J1aWxkLXJlcXVlc3QtaWQnOiAnNzEwJ30pOworICAgICAgICAgICAgICAgIGFzc2VydC5k
ZWVwRXF1YWwoTW9ja1JlbW90ZUFQSS5yZXF1ZXN0c1syXS5kYXRhLCB7J3drJzogJzE5MTYyMics
ICdvcyc6ICcxMC4xMSAxNUEyODQnLCAnYnVpbGQtcmVxdWVzdC1pZCc6ICc3MTAnLCAnZm9yY2Vz
Y2hlZHVsZXInOiAnZm9yY2Utc29tZS1idWlsZGVyLTEnfSk7CiAgICAgICAgICAgICAgICAgTW9j
a1JlbW90ZUFQSS5yZXF1ZXN0c1syXS5yZXNvbHZlKCdPSycpOwogICAgICAgICAgICAgfSk7CiAg
ICAgICAgIH0pOwpJbmRleDogV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3NlcnZlci10ZXN0cy9y
ZXNvdXJjZXMvbW9jay1kYXRhLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYnNpdGVzL3BlcmYud2Via2l0
Lm9yZy9zZXJ2ZXItdGVzdHMvcmVzb3VyY2VzL21vY2stZGF0YS5qcwkocmV2aXNpb24gMjI4MDE3
KQorKysgV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3NlcnZlci10ZXN0cy9yZXNvdXJjZXMvbW9j
ay1kYXRhLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xOTYsNyArMTk2LDggQEAgTW9ja0RhdGEgPSB7
CiAgICAgICAgICAgICAgICAgJ3NvbWUtdGVzdCc6IHsndGVzdCc6IFsnc29tZSB0ZXN0J119CiAg
ICAgICAgICAgICB9LAogICAgICAgICAgICAgJ2J1aWxkZXJzJzogewotICAgICAgICAgICAgICAg
ICdidWlsZGVyLTEnOiB7J2J1aWxkZXInOiAnc29tZS1idWlsZGVyLTEnfSwKKyAgICAgICAgICAg
ICAgICAnYnVpbGRlci0xJzogeydidWlsZGVyJzogJ3NvbWUtYnVpbGRlci0xJywKKyAgICAgICAg
ICAgICAgICAgICAgIHByb3BlcnRpZXM6IHtmb3JjZXNjaGVkdWxlcjogJ2ZvcmNlLXNvbWUtYnVp
bGRlci0xJ319IAogICAgICAgICAgICAgfSwKICAgICAgICAgICAgICd0ZXN0Q29uZmlndXJhdGlv
bnMnOiBbCiAgICAgICAgICAgICAgICAgewpAQCAtMjI2LDggKzIyNyw4IEBAIE1vY2tEYXRhID0g
ewogICAgICAgICAgICAgICAgICdzb21lLXRlc3QnOiB7J3Rlc3QnOiBbJ3NvbWUgdGVzdCddfSwK
ICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAnYnVpbGRlcnMnOiB7Ci0gICAgICAgICAgICAg
ICAgJ2J1aWxkZXItMSc6IHsnYnVpbGRlcic6ICdzb21lLWJ1aWxkZXItMSd9LAotICAgICAgICAg
ICAgICAgICdidWlsZGVyLTInOiB7J2J1aWxkZXInOiAnc29tZSBidWlsZGVyIDInfSwKKyAgICAg
ICAgICAgICAgICAnYnVpbGRlci0xJzogeydidWlsZGVyJzogJ3NvbWUtYnVpbGRlci0xJywgcHJv
cGVydGllczoge2ZvcmNlc2NoZWR1bGVyOiAnZm9yY2Utc29tZS1idWlsZGVyLTEnfX0sCisgICAg
ICAgICAgICAgICAgJ2J1aWxkZXItMic6IHsnYnVpbGRlcic6ICdzb21lIGJ1aWxkZXIgMicsIHBy
b3BlcnRpZXM6IHtmb3JjZXNjaGVkdWxlcjogJ2ZvcmNlLXNvbWUtYnVpbGRlci0yJ319LAogICAg
ICAgICAgICAgfSwKICAgICAgICAgICAgICd0ZXN0Q29uZmlndXJhdGlvbnMnOiBbCiAgICAgICAg
ICAgICAgICAgewpJbmRleDogV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3Rvb2xzL2pzL2J1aWxk
Ym90LXN5bmNlci5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvdG9v
bHMvanMvYnVpbGRib3Qtc3luY2VyLmpzCShyZXZpc2lvbiAyMjgwMTcpCisrKyBXZWJzaXRlcy9w
ZXJmLndlYmtpdC5vcmcvdG9vbHMvanMvYnVpbGRib3Qtc3luY2VyLmpzCSh3b3JraW5nIGNvcHkp
CkBAIC0xNDAsNiArMTQwLDcgQEAgY2xhc3MgQnVpbGRib3RTeW5jZXIgewogICAgICAgICBhc3Nl
cnQoIXRoaXMuX3NsYXZlc1dpdGhOZXdSZXF1ZXN0cy5oYXMoc2xhdmVOYW1lKSk7CiAgICAgICAg
IGxldCBwcm9wZXJ0aWVzID0gdGhpcy5fcHJvcGVydGllc0ZvckJ1aWxkUmVxdWVzdChuZXdSZXF1
ZXN0LCByZXF1ZXN0c0luR3JvdXApOwogCisgICAgICAgIGFzc2VydChwcm9wZXJ0aWVzWydmb3Jj
ZXNjaGVkdWxlciddLCAiZm9yY2VzY2hlZHVsZXIgbXVzdCBiZSBkZWZpbmVkIGZvciBidWlsZGVy
OiAiICsgdGhpcy5fYnVpbGRlck5hbWUgKyAiIGluIG9yZGVyIHRvIHBvc3QgYSBidWlsZCByZXF1
ZXN0IHRvIEJ1aWxkYm90LiIpCiAgICAgICAgIGFzc2VydC5lcXVhbCghdGhpcy5fc2xhdmVQcm9w
ZXJ0eU5hbWUsICFzbGF2ZU5hbWUpOwogICAgICAgICBpZiAodGhpcy5fc2xhdmVQcm9wZXJ0eU5h
bWUpCiAgICAgICAgICAgICBwcm9wZXJ0aWVzW3RoaXMuX3NsYXZlUHJvcGVydHlOYW1lXSA9IHNs
YXZlTmFtZTsKQEAgLTE0OCw3ICsxNDksMTkgQEAgY2xhc3MgQnVpbGRib3RTeW5jZXIgewogICAg
ICAgICAgICAgcHJvcGVydGllc1t0aGlzLl9wbGF0Zm9ybVByb3BlcnR5TmFtZV0gPSBuZXdSZXF1
ZXN0LnBsYXRmb3JtKCkubmFtZSgpOwogCiAgICAgICAgIHRoaXMuX3NsYXZlc1dpdGhOZXdSZXF1
ZXN0cy5hZGQoc2xhdmVOYW1lKTsKLSAgICAgICAgcmV0dXJuIHRoaXMuX3JlbW90ZS5wb3N0Rm9y
bVVybGVuY29kZWREYXRhKHRoaXMucGF0aEZvckZvcmNlQnVpbGQoKSwgcHJvcGVydGllcyk7Cisg
ICAgICAgIHJldHVybiB0aGlzLnNjaGVkdWxlQnVpbGRPbkJ1aWxkYm90RGVwcmVjYXRlZChwcm9w
ZXJ0aWVzKTsKKyAgICB9CisKKyAgICBzY2hlZHVsZUJ1aWxkT25CdWlsZGJvdERlcHJlY2F0ZWQo
cHJvcGVydGllcykKKyAgICB7CisgICAgICAgIHJldHVybiB0aGlzLl9yZW1vdGUucG9zdEZvcm1V
cmxlbmNvZGVkRGF0YSh0aGlzLnBhdGhGb3JGb3JjZUJ1aWxkRGVwcmVjYXRlZCgpLCBwcm9wZXJ0
aWVzKTsKKyAgICB9CisKKyAgICBzY2hlZHVsZUJ1aWxkT25CdWlsZGJvdChwcm9wZXJ0aWVzKQor
ICAgIHsKKyAgICAgICAgY29uc3QgZGF0YSA9IHtqc29ucnBjOiAnMi4wJywgbWV0aG9kOiAnZm9y
Y2UnLCBpZDogcHJvcGVydGllc1t0aGlzLl9idWlsZFJlcXVlc3RQcm9wZXJ0eU5hbWVdLCBwYXJh
bXM6IHByb3BlcnRpZXN9OworICAgICAgICBjb25zdCBwYXRoID0gdGhpcy5wYXRoRm9yRm9yY2VC
dWlsZChwcm9wZXJ0aWVzWydmb3JjZXNjaGVkdWxlciddKTsKKyAgICAgICAgcmV0dXJuIHRoaXMu
X3JlbW90ZS5wb3N0SlNPTihwYXRoLCBkYXRhKTsKICAgICB9CiAKICAgICBzY2hlZHVsZVJlcXVl
c3RJbkdyb3VwSWZBdmFpbGFibGUobmV3UmVxdWVzdCwgcmVxdWVzdHNJbkdyb3VwLCBzbGF2ZU5h
bWUpCkBAIC0yNDUsNyArMjU4LDggQEAgY2xhc3MgQnVpbGRib3RTeW5jZXIgewogICAgIHsKICAg
ICAgICAgcmV0dXJuIGAvanNvbi9idWlsZGVycy8ke2VzY2FwZSh0aGlzLl9idWlsZGVyTmFtZSl9
L2J1aWxkcy8/YCArIHNlbGVjdGVkQnVpbGRzLm1hcCgobnVtYmVyKSA9PiAnc2VsZWN0PScgKyBu
dW1iZXIpLmpvaW4oJyYnKTsKICAgICB9Ci0gICAgcGF0aEZvckZvcmNlQnVpbGQoKSB7IHJldHVy
biBgL2J1aWxkZXJzLyR7ZXNjYXBlKHRoaXMuX2J1aWxkZXJOYW1lKX0vZm9yY2VgOyB9CisgICAg
cGF0aEZvckZvcmNlQnVpbGREZXByZWNhdGVkKCkgeyByZXR1cm4gYC9idWlsZGVycy8ke2VzY2Fw
ZSh0aGlzLl9idWlsZGVyTmFtZSl9L2ZvcmNlYDsgfQorICAgIHBhdGhGb3JGb3JjZUJ1aWxkKHNj
aGVkdWxlcikgeyByZXR1cm4gYC9hcGkvdjIvZm9yY2VzY2hlZHVsZXJzLyR7c2NoZWR1bGVyfWA7
IH0KIAogICAgIHVybCgpIHsgcmV0dXJuIHRoaXMuX3JlbW90ZS51cmwoYC9idWlsZGVycy8ke2Vz
Y2FwZSh0aGlzLl9idWlsZGVyTmFtZSl9L2ApOyB9CiAgICAgdXJsRm9yQnVpbGROdW1iZXJEZXBy
ZWNhdGVkKG51bWJlcikgeyByZXR1cm4gdGhpcy5fcmVtb3RlLnVybChgL2J1aWxkZXJzLyR7ZXNj
YXBlKHRoaXMuX2J1aWxkZXJOYW1lKX0vYnVpbGRzLyR7bnVtYmVyfWApOyB9CkluZGV4OiBXZWJz
aXRlcy9wZXJmLndlYmtpdC5vcmcvdW5pdC10ZXN0cy9idWlsZGJvdC1zeW5jZXItdGVzdHMuanMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3VuaXQtdGVzdHMvYnVpbGRi
b3Qtc3luY2VyLXRlc3RzLmpzCShyZXZpc2lvbiAyMjgwMTcpCisrKyBXZWJzaXRlcy9wZXJmLndl
YmtpdC5vcmcvdW5pdC10ZXN0cy9idWlsZGJvdC1zeW5jZXItdGVzdHMuanMJKHdvcmtpbmcgY29w
eSkKQEAgLTEzNCw2ICsxMzQsNyBAQCBmdW5jdGlvbiBzbWFsbENvbmZpZ3VyYXRpb24oKQogICAg
ICAgICAnYnVpbGRlcnMnOiB7CiAgICAgICAgICAgICAnc29tZS1idWlsZGVyJzogewogICAgICAg
ICAgICAgICAgICdidWlsZGVyJzogJ3NvbWUgYnVpbGRlcicsCisgICAgICAgICAgICAgICAgJ3By
b3BlcnRpZXMnOiB7J2ZvcmNlc2NoZWR1bGVyJzogJ3NvbWUtYnVpbGRlci1Gb3JjZVNjaGVkdWxl
cid9CiAgICAgICAgICAgICB9CiAgICAgICAgIH0sCiAgICAgICAgICd0ZXN0Q29uZmlndXJhdGlv
bnMnOiBbewpAQCAtMTYxNSw2ICsxNjE2LDM0IEBAIGRlc2NyaWJlKCdCdWlsZGJvdFN5bmNlcics
ICgpID0+IHsKICAgICAgICAgfSk7CiAgICAgfSk7CiAKKyAgICBkZXNjcmliZSgnc2NoZWR1bGVC
dWlsZE9uQnVpbGRib3QnLCAoKSA9PiB7CisgICAgICAgIGl0KCdzaG91bGQgc2NoZWR1bGUgYSBi
dWlsZCByZXF1ZXN0IG9uIEJ1aWxkYm90JywgKCkgPT4geworICAgICAgICAgICAgbGV0IHN5bmNl
ciA9IEJ1aWxkYm90U3luY2VyLl9sb2FkQ29uZmlnKE1vY2tSZW1vdGVBUEksIHNhbXBsZWlPU0Nv
bmZpZygpLCBidWlsZGVyTmFtZVRvSURNYXAoKSlbMF07CisKKyAgICAgICAgICAgIGNvbnN0IHdh
aXRGb3JSZXF1ZXN0ID0gTW9ja1JlbW90ZUFQSS53YWl0Rm9yUmVxdWVzdCgpOworICAgICAgICAg
ICAgY29uc3QgcmVxdWVzdCA9IGNyZWF0ZVNhbXBsZUJ1aWxkUmVxdWVzdChNb2NrTW9kZWxzLmlw
aG9uZSwgTW9ja01vZGVscy5zcGVlZG9tZXRlcik7CisgICAgICAgICAgICBjb25zdCBwcm9wZXJ0
aWVzID0gc3luY2VyLl9wcm9wZXJ0aWVzRm9yQnVpbGRSZXF1ZXN0KHJlcXVlc3QsIFtyZXF1ZXN0
XSk7CisgICAgICAgICAgICBzeW5jZXIuc2NoZWR1bGVCdWlsZE9uQnVpbGRib3QocHJvcGVydGll
cyk7CisgICAgICAgICAgICByZXR1cm4gd2FpdEZvclJlcXVlc3QudGhlbigoKSA9PiB7CisgICAg
ICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKHJlcXVlc3RzLmxlbmd0aCwgMSk7CisgICAgICAgICAg
ICAgICAgYXNzZXJ0LmVxdWFsKHJlcXVlc3RzWzBdLnVybCwgJy9hcGkvdjIvZm9yY2VzY2hlZHVs
ZXJzL0FCVGVzdC1pUGhvbmUtUnVuQmVuY2htYXJrLVRlc3RzLUZvcmNlU2NoZWR1bGVyJyk7Cisg
ICAgICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKHJlcXVlc3RzWzBdLm1ldGhvZCwgJ1BPU1QnKTsK
KyAgICAgICAgICAgICAgICBhc3NlcnQuZGVlcEVxdWFsKHJlcXVlc3RzWzBdLmRhdGEsIHsKKyAg
ICAgICAgICAgICAgICAgICAgJ2lkJzogJzE2NzMzLScgKyBNb2NrTW9kZWxzLmlwaG9uZS5pZCgp
LAorICAgICAgICAgICAgICAgICAgICAnanNvbnJwYyc6ICcyLjAnLAorICAgICAgICAgICAgICAg
ICAgICAnbWV0aG9kJzogJ2ZvcmNlJywKKyAgICAgICAgICAgICAgICAgICAgJ3BhcmFtcyc6IHsK
KyAgICAgICAgICAgICAgICAgICAgICAgICdidWlsZF9yZXF1ZXN0X2lkJzogJzE2NzMzLScgKyBN
b2NrTW9kZWxzLmlwaG9uZS5pZCgpLAorICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2lyZWRf
aW1hZ2UnOiAnMTNBNDUyJywKKyAgICAgICAgICAgICAgICAgICAgICAgICdvcGVuc291cmNlJzog
JzE5NzQ2MycsCisgICAgICAgICAgICAgICAgICAgICAgICAnZm9yY2VzY2hlZHVsZXInOiAnQUJU
ZXN0LWlQaG9uZS1SdW5CZW5jaG1hcmstVGVzdHMtRm9yY2VTY2hlZHVsZXInLAorICAgICAgICAg
ICAgICAgICAgICAgICAgJ3Rlc3RfbmFtZSc6ICdzcGVlZG9tZXRlcicKKyAgICAgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSk7CisgICAgICAgIH0p
OworICAgIH0pOworCiAgICAgZGVzY3JpYmUoJ3NjaGVkdWxlUmVxdWVzdCcsICgpID0+IHsKICAg
ICAgICAgaXQoJ3Nob3VsZCBzY2hlZHVsZSBhIGJ1aWxkIHJlcXVlc3Qgb24gYSBzcGVjaWZpZWQg
c2xhdmUnLCAoKSA9PiB7CiAgICAgICAgICAgICBsZXQgc3luY2VyID0gQnVpbGRib3RTeW5jZXIu
X2xvYWRDb25maWcoTW9ja1JlbW90ZUFQSSwgc2FtcGxlaU9TQ29uZmlnKCksIGJ1aWxkZXJOYW1l
VG9JRE1hcCgpKVswXTsKQEAgLTE2NjIsNyArMTY5MSw3IEBAIGRlc2NyaWJlKCdCdWlsZGJvdFN5
bmNlcicsICgpID0+IHsKICAgICAgICAgICAgICAgICBhc3NlcnQuZXF1YWwocmVxdWVzdHMubGVu
Z3RoLCAxKTsKICAgICAgICAgICAgICAgICBhc3NlcnQuZXF1YWwocmVxdWVzdHNbMF0udXJsLCAn
L2J1aWxkZXJzL3NvbWUlMjBidWlsZGVyL2ZvcmNlJyk7CiAgICAgICAgICAgICAgICAgYXNzZXJ0
LmVxdWFsKHJlcXVlc3RzWzBdLm1ldGhvZCwgJ1BPU1QnKTsKLSAgICAgICAgICAgICAgICBhc3Nl
cnQuZGVlcEVxdWFsKHJlcXVlc3RzWzBdLmRhdGEsIHtpZDogJzE2NzMzLScgKyBNb2NrTW9kZWxz
LnNvbWVQbGF0Zm9ybS5pZCgpLCAnb3MnOiAnMTNBNDUyJywgJ3drJzogJzE5NzQ2Myd9KTsKKyAg
ICAgICAgICAgICAgICBhc3NlcnQuZGVlcEVxdWFsKHJlcXVlc3RzWzBdLmRhdGEsIHtpZDogJzE2
NzMzLScgKyBNb2NrTW9kZWxzLnNvbWVQbGF0Zm9ybS5pZCgpLCAnb3MnOiAnMTNBNDUyJywgJ3dr
JzogJzE5NzQ2MycsICdmb3JjZXNjaGVkdWxlcic6ICdzb21lLWJ1aWxkZXItRm9yY2VTY2hlZHVs
ZXInfSk7CiAgICAgICAgICAgICB9KTsKICAgICAgICAgfSk7CiAKQEAgLTE2NzUsNyArMTcwNCw3
IEBAIGRlc2NyaWJlKCdCdWlsZGJvdFN5bmNlcicsICgpID0+IHsKICAgICAgICAgICAgICAgICBh
c3NlcnQuZXF1YWwocmVxdWVzdHMubGVuZ3RoLCAxKTsKICAgICAgICAgICAgICAgICBhc3NlcnQu
ZXF1YWwocmVxdWVzdHNbMF0udXJsLCAnL2J1aWxkZXJzL3NvbWUlMjBidWlsZGVyL2ZvcmNlJyk7
CiAgICAgICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKHJlcXVlc3RzWzBdLm1ldGhvZCwgJ1BPU1Qn
KTsKLSAgICAgICAgICAgICAgICBhc3NlcnQuZGVlcEVxdWFsKHJlcXVlc3RzWzBdLmRhdGEsIHtp
ZDogJzE2NzMzLScgKyBNb2NrTW9kZWxzLnNvbWVQbGF0Zm9ybS5pZCgpLCAnb3MnOiAnMTNBNDUy
JywgJ3drJzogJzE5NzQ2Myd9KTsKKyAgICAgICAgICAgICAgICBhc3NlcnQuZGVlcEVxdWFsKHJl
cXVlc3RzWzBdLmRhdGEsIHtpZDogJzE2NzMzLScgKyBNb2NrTW9kZWxzLnNvbWVQbGF0Zm9ybS5p
ZCgpLCAnb3MnOiAnMTNBNDUyJywgJ3drJzogJzE5NzQ2MycsICdmb3JjZXNjaGVkdWxlcic6ICdz
b21lLWJ1aWxkZXItRm9yY2VTY2hlZHVsZXInfSk7CiAgICAgICAgICAgICB9KTsKICAgICAgICAg
fSk7CiAK
</data>
<flag name="review"
          id="351924"
          type_id="1"
          status="+"
          setter="rniwa"
    />
          </attachment>
      

    </bug>

</bugzilla>