<?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>82839</bug_id>
          
          <creation_ts>2012-03-31 15:02:37 -0700</creation_ts>
          <short_desc>Generate the flakiness dashboard&apos;s list of webkit.org builders from the buildbot JSON</short_desc>
          <delta_ts>2012-03-31 16:33:48 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ojan Vafai">ojan</reporter>
          <assigned_to name="Ojan Vafai">ojan</assigned_to>
          <cc>abarth</cc>
    
    <cc>dpranke</cc>
    
    <cc>dtu</cc>
    
    <cc>eric</cc>
    
    <cc>mihaip</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>592937</commentid>
    <comment_count>0</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-03-31 15:02:37 -0700</bug_when>
    <thetext>Generate the flakiness dashboard&apos;s list of webkit.org builders from the buildbot JSON</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>592938</commentid>
    <comment_count>1</comment_count>
      <attachid>134980</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-03-31 15:11:30 -0700</bug_when>
    <thetext>Created attachment 134980
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>592945</commentid>
    <comment_count>2</comment_count>
      <attachid>134980</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-03-31 16:23:07 -0700</bug_when>
    <thetext>Comment on attachment 134980
Patch

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

&gt; Tools/TestResultServer/static-dashboards/builders.js:157
&gt; +xhr.onreadystatechange = function() {
&gt; +    if (xhr.readyState == 4) {

Why not just xhr.onload?

&gt; Tools/TestResultServer/static-dashboards/flakiness_dashboard.html:319
&gt; -var PLATFORMS = [&apos;SNOWLEOPARD&apos;, &apos;LEOPARD&apos;, &apos;XP&apos;, &apos;VISTA&apos;, &apos;WIN7&apos;, &apos;LUCID&apos;, &apos;APPLE_LEOPARD&apos;, &apos;APPLE_SNOWLEOPARD&apos;, &apos;APPLE_XP&apos;, &apos;APPLE_WIN7&apos;, &apos;GTK_LINUX&apos;, &apos;QT_LINUX&apos;];
&gt; +var PLATFORMS = [&apos;LION&apos;, &apos;SNOWLEOPARD&apos;, &apos;LEOPARD&apos;, &apos;XP&apos;, &apos;VISTA&apos;, &apos;WIN7&apos;, &apos;LUCID&apos;, &apos;APPLE_LION&apos;, &apos;APPLE_LEOPARD&apos;, &apos;APPLE_SNOWLEOPARD&apos;, &apos;APPLE_XP&apos;, &apos;APPLE_WIN7&apos;, &apos;GTK_LINUX&apos;, &apos;QT_LINUX&apos;];

What happens when this gets out of sync with the buildbot list of builders?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>592946</commentid>
    <comment_count>3</comment_count>
      <attachid>134980</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-03-31 16:32:28 -0700</bug_when>
    <thetext>Comment on attachment 134980
Patch

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

&gt;&gt; Tools/TestResultServer/static-dashboards/builders.js:157
&gt;&gt; +    if (xhr.readyState == 4) {
&gt; 
&gt; Why not just xhr.onload?

Cuz I&apos;m old-school! lol...I didn&apos;t realize XHR had acquired an onload event. Changed this to use onload/onerror.

&gt;&gt; Tools/TestResultServer/static-dashboards/flakiness_dashboard.html:319
&gt;&gt; +var PLATFORMS = [&apos;LION&apos;, &apos;SNOWLEOPARD&apos;, &apos;LEOPARD&apos;, &apos;XP&apos;, &apos;VISTA&apos;, &apos;WIN7&apos;, &apos;LUCID&apos;, &apos;APPLE_LION&apos;, &apos;APPLE_LEOPARD&apos;, &apos;APPLE_SNOWLEOPARD&apos;, &apos;APPLE_XP&apos;, &apos;APPLE_WIN7&apos;, &apos;GTK_LINUX&apos;, &apos;QT_LINUX&apos;];
&gt; 
&gt; What happens when this gets out of sync with the buildbot list of builders?

If there are extra values, nothing breaks. If a value is missing, then we throw a JS error and don&apos;t show any results for that bot.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>592947</commentid>
    <comment_count>4</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-03-31 16:33:48 -0700</bug_when>
    <thetext>Committed r112807: &lt;http://trac.webkit.org/changeset/112807&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>134980</attachid>
            <date>2012-03-31 15:11:30 -0700</date>
            <delta_ts>2012-03-31 16:32:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-82839-20120331151129.patch</filename>
            <type>text/plain</type>
            <size>16449</size>
            <attacher name="Ojan Vafai">ojan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEyODAxCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMzNhMzI1ZDA5YWE2MDE2NTkwNzY3ZWI0YzhhM2EyNDRi
YzRlZDNlYi4uMzVhYmQ1NzYzZjAwZDljN2Q5YTk4OGYwMTE3OGI5YTc4YmExMDAxMCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0
IEBACisyMDEyLTAzLTMxICBPamFuIFZhZmFpICA8b2phbkBjaHJvbWl1bS5vcmc+CisKKyAgICAg
ICAgR2VuZXJhdGUgdGhlIGZsYWtpbmVzcyBkYXNoYm9hcmQncyBsaXN0IG9mIHdlYmtpdC5vcmcg
YnVpbGRlcnMgZnJvbSB0aGUgYnVpbGRib3QgSlNPTgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODI4MzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBBbHNvLCB1cGRhdGUgdmFyaW91cyBoYXJkLWNvZGVkIGxp
c3RzIGZvciBXSU43IGFuZCBMaW9uIHBvcnRzLgorICAgICAgICBUaGlzIGlzIG5lY2Vzc2FyeSBz
aW5jZSB0aGUgbmV3IGxpc3Qgb2YgYnVpbGRlcnMgZ3JhYmJlZCBvZmYgdGhlCisgICAgICAgIGJ1
aWxkYm90IGluY2x1ZGVzIExpb24uCisKKyAgICAgICAgKiBUZXN0UmVzdWx0U2VydmVyL3N0YXRp
Yy1kYXNoYm9hcmRzL2J1aWxkZXJzLmpzOgorICAgICAgICAoZ2VuZXJhdGVXZWJraXRCdWlsZGVy
c0Zyb21CdWlsZGVyTGlzdCk6CisgICAgICAgICh4aHIub25yZWFkeXN0YXRlY2hhbmdlKToKKyAg
ICAgICAgRG9uJ3QgdXNlIGRhc2hib2FyZF9iYXNlJ3MgcmVxdWVzdCBtZXRob2QgdG8gYXZvaWQg
bGF5ZXJpbmcgdmlvbGF0aW9uLgorCisgICAgICAgICogVGVzdFJlc3VsdFNlcnZlci9zdGF0aWMt
ZGFzaGJvYXJkcy9kYXNoYm9hcmRfYmFzZS5qczoKKyAgICAgICAgKHBhcnNlUGFyYW1ldGVycyk6
CisgICAgICAgIChpbml0QnVpbGRlcnMpOgorICAgICAgICAoaGF2ZUpzb25GaWxlc0xvYWRlZCk6
CisgICAgICAgIChnX2hhbmRsZUJ1aWxkZXJzTGlzdExvYWRlZCk6CisgICAgICAgIEJsb2NrIGxv
YWRpbmcgdGhlIEpTT04gZmlsZXMgZm9yIGVhY2ggYnVpbGRlciB1bnRpbCB3ZSBhY3R1YWxseSBo
YXZlIGEgbGlzdCBvZiBidWlsZGVycy4KKworICAgICAgICAqIFRlc3RSZXN1bHRTZXJ2ZXIvc3Rh
dGljLWRhc2hib2FyZHMvZmxha2luZXNzX2Rhc2hib2FyZC5odG1sOgorICAgICAgICAqIFRlc3RS
ZXN1bHRTZXJ2ZXIvc3RhdGljLWRhc2hib2FyZHMvZmxha2luZXNzX2Rhc2hib2FyZF90ZXN0cy5q
czoKKyAgICAgICAgKHRlc3RQbGF0Zm9ybUFuZEJ1aWxkVHlwZSk6CisgICAgICAgICh0ZXN0R2Vu
ZXJhdGVXZWJraXRCdWlsZGVyc0Zyb21CdWlsZGVyTGlzdCk6CisgICAgICAgICogVGVzdFJlc3Vs
dFNlcnZlci9zdGF0aWMtZGFzaGJvYXJkcy90aW1lbGluZV9leHBsb3Jlci5odG1sOgorICAgICAg
ICAqIFRlc3RSZXN1bHRTZXJ2ZXIvc3RhdGljLWRhc2hib2FyZHMvdHJlZW1hcC5odG1sOgorICAg
ICAgICBEZWxheSBnZW5lcmF0aW5nIHRoZSBwYWdlIHVudGlsIHRoZSBidWlsZGVyIGxpc3QgaGFz
IGxvYWRlZC4KKwogMjAxMi0wMy0zMSAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4K
IAogICAgICAgICBGaXggdGhlIHN5bnRheCBlcnJvciBpbiBtYXN0ZXIuY2ZnIGFmdGVyIHIxMTI3
MzQuCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0UmVzdWx0U2VydmVyL3N0YXRpYy1kYXNoYm9hcmRz
L2J1aWxkZXJzLmpzIGIvVG9vbHMvVGVzdFJlc3VsdFNlcnZlci9zdGF0aWMtZGFzaGJvYXJkcy9i
dWlsZGVycy5qcwppbmRleCAwOWNlYTA5ZGMwNTM0MWM4MGM1MjlkMTUwZDUxNGVjYTgyOTdlNGMz
Li4xNWJiMDRlN2MyM2YxZjU4MGQzZDVkMTUwYmM5Y2ViZjY3MDQ2ZTdhIDEwMDY0NAotLS0gYS9U
b29scy9UZXN0UmVzdWx0U2VydmVyL3N0YXRpYy1kYXNoYm9hcmRzL2J1aWxkZXJzLmpzCisrKyBi
L1Rvb2xzL1Rlc3RSZXN1bHRTZXJ2ZXIvc3RhdGljLWRhc2hib2FyZHMvYnVpbGRlcnMuanMKQEAg
LTEyNSwyMyArMTI1LDUxIEBAIHZhciBDSFJPTUlVTV9MQVlPVVRfVE9UX0JVSUxERVJTID0gWwog
XTsKIGFzc29jaWF0ZUJ1aWxkZXJzV2l0aE1hc3RlcihDSFJPTUlVTV9MQVlPVVRfVE9UX0JVSUxE
RVJTLCBDSFJPTUlVTV9XRUJLSVRfQlVJTERFUl9NQVNURVIpOwogCi12YXIgV0VCS0lUX1RPVF9C
VUlMREVSUyA9IFsKLSAgICBbJ0Nocm9taXVtIFdpbiBSZWxlYXNlIChUZXN0cyknLCBCdWlsZGVy
R3JvdXAuREVGQVVMVF9CVUlMREVSXSwKLSAgICBbJ0Nocm9taXVtIExpbnV4IFJlbGVhc2UgKFRl
c3RzKScsIEJ1aWxkZXJHcm91cC5FWFBFQ1RBVElPTlNfQlVJTERFUl0sCi0gICAgWydDaHJvbWl1
bSBNYWMgUmVsZWFzZSAoVGVzdHMpJ10sCi0gICAgWydTbm93TGVvcGFyZCBJbnRlbCBSZWxlYXNl
IChUZXN0cyknXSwKLSAgICBbJ1Nub3dMZW9wYXJkIEludGVsIERlYnVnIChUZXN0cyknXSwKLSAg
ICBbJ0dUSyBMaW51eCAzMi1iaXQgUmVsZWFzZSddLAotICAgIFsnR1RLIExpbnV4IDMyLWJpdCBE
ZWJ1ZyddLAotICAgIFsnR1RLIExpbnV4IDY0LWJpdCBEZWJ1ZyddLAotICAgIFsnUXQgTGludXgg
UmVsZWFzZSddCi1dOwotYXNzb2NpYXRlQnVpbGRlcnNXaXRoTWFzdGVyKFdFQktJVF9UT1RfQlVJ
TERFUlMsIFdFQktJVF9CVUlMREVSX01BU1RFUik7CitmdW5jdGlvbiBnZW5lcmF0ZVdlYmtpdEJ1
aWxkZXJzRnJvbUJ1aWxkZXJMaXN0KGJ1aWxkZXJMaXN0KQoreworICAgIHJldHVybiBidWlsZGVy
TGlzdC5maWx0ZXIoZnVuY3Rpb24odGVzdGVyKSB7CisgICAgICAgIGlmICh0ZXN0ZXIuaW5kZXhP
ZignVGVzdHMnKSAhPSAtMSkgeworICAgICAgICAgICAgLy8gQXBwbGUgV2luZG93cyBib3RzIHN0
aWxsIHJ1biBvbGQtcnVuLXdlYmtpdC10ZXN0cywgc28gdGhleSBkb24ndCB1cGxvYWQgZGF0YS4K
KyAgICAgICAgICAgIHJldHVybiB0ZXN0ZXIuaW5kZXhPZignV2luZG93cycpID09IC0xIHx8ICh0
ZXN0ZXIuaW5kZXhPZignUXQnKSAhPSAtMSAmJiB0ZXN0ZXIuaW5kZXhPZignQ2hyb21pdW0nKSAh
PSAtMSk7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIHRlc3Rlci5pbmRleE9mKCdHVEsnKSAh
PSAtMSB8fCB0ZXN0ZXIgPT0gJ1F0IExpbnV4IFJlbGVhc2UnOworICAgIH0pLm1hcChmdW5jdGlv
bih0ZXN0ZXIsIGluZGV4KSB7CisgICAgICAgIHZhciBidWlsZGVyID0gW3Rlc3Rlcl07CisgICAg
ICAgIGlmICghaW5kZXgpCisgICAgICAgICAgICBidWlsZGVyLnB1c2goQnVpbGRlckdyb3VwLkRF
RkFVTFRfQlVJTERFUik7CisgICAgICAgIGlmICh0ZXN0ZXIuaW5kZXhPZignQ2hyb21pdW0gTGlu
dXgnKSAhPSAtMSkgeworICAgICAgICAgICAgaWYgKGJ1aWxkZXIubGVuZ3RoID09IDEpCisgICAg
ICAgICAgICAgICAgYnVpbGRlci5wdXNoKEJ1aWxkZXJHcm91cC5FWFBFQ1RBVElPTlNfQlVJTERF
Uik7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgYnVpbGRlclsxXSB8PSBCdWls
ZGVyR3JvdXAuRVhQRUNUQVRJT05TX0JVSUxERVI7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJu
IGJ1aWxkZXI7CisgICAgfSk7Cit9CisKKy8vIEZJWE1FOiBBdXRvbWF0aWNhbGx5IGdyYWIgYWxs
IHRoZSBidWlsZGVyIGxpc3RzIGZyb20gdGhlIGJ1aWxkYm90IGpzb24uCit2YXIgV0VCS0lUX0RP
VF9PUkdfQlVJTERFUl9KU09OX1VSTCA9ICdodHRwOi8vYnVpbGQud2Via2l0Lm9yZy9qc29uL2J1
aWxkZXJzJzsKK3ZhciBXRUJLSVRfVE9UX0JVSUxERVJTID0gW107CisvLyBGSVhNRTogTW92ZSBk
YXNoYm9hcmRfYmFzZS5qcydzIHJlcXVlc3QgbWV0aG9kIGludG8gYSBiYXNlLmpzIGZpbGUgdGhh
dCBidWlsZGVycy5qcyBjYW4gZGVwZW5kIG9uIHdpdGhvdXQgYSBsYXllciB2aW9sYXRpb24uCit2
YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7Cit4aHIub3BlbignR0VUJywgV0VCS0lUX0RP
VF9PUkdfQlVJTERFUl9KU09OX1VSTCwgdHJ1ZSk7Cit4aHIub25yZWFkeXN0YXRlY2hhbmdlID0g
ZnVuY3Rpb24oKSB7CisgICAgaWYgKHhoci5yZWFkeVN0YXRlID09IDQpIHsKKyAgICAgICAgaWYg
KHhoci5zdGF0dXMgPT0gMjAwKSB7CisgICAgICAgICAgICB2YXIgYnVpbGRlcnMgPSBnZW5lcmF0
ZVdlYmtpdEJ1aWxkZXJzRnJvbUJ1aWxkZXJMaXN0KE9iamVjdC5rZXlzKEpTT04ucGFyc2UoeGhy
LnJlc3BvbnNlKSkpOworICAgICAgICAgICAgYXNzb2NpYXRlQnVpbGRlcnNXaXRoTWFzdGVyKGJ1
aWxkZXJzLCBXRUJLSVRfQlVJTERFUl9NQVNURVIpOworICAgICAgICAgICAgTEFZT1VUX1RFU1RT
X0JVSUxERVJfR1JPVVBTWydAVG9UIC0gd2Via2l0Lm9yZyddID0gbmV3IEJ1aWxkZXJHcm91cChC
dWlsZGVyR3JvdXAuVE9UX1dFQktJVCwgYnVpbGRlcnMpOworICAgICAgICAgICAgZ19oYW5kbGVC
dWlsZGVyc0xpc3RMb2FkZWQoKTsKKyAgICAgICAgfSBlbHNlCisgICAgICAgICAgICBhbGVydCgn
Q291bGQgbm90IGxvYWQgbGlzdCBvZiBidWlsZGVycyBmcm9tICcgKyBXRUJLSVRfRE9UX09SR19C
VUlMREVSX0pTT05fVVJMICsgJy4gVHJ5IHJlbG9hZGluZy4nKTsKKyAgICB9Cit9Cit4aHIuc2Vu
ZCgpOwogCiB2YXIgTEFZT1VUX1RFU1RTX0JVSUxERVJfR1JPVVBTID0gewogICAgICdAREVQUyAt
IGNocm9taXVtLm9yZyc6IG5ldyBCdWlsZGVyR3JvdXAoQnVpbGRlckdyb3VwLkRFUFNfV0VCS0lU
LCBDSFJPTUlVTV9MQVlPVVRfREVQU19CVUlMREVSUyksCiAgICAgJ0BUb1QgLSBjaHJvbWl1bS5v
cmcnOiBuZXcgQnVpbGRlckdyb3VwKEJ1aWxkZXJHcm91cC5UT1RfV0VCS0lULCBDSFJPTUlVTV9M
QVlPVVRfVE9UX0JVSUxERVJTKSwKLSAgICAnQFRvVCAtIHdlYmtpdC5vcmcnOiBuZXcgQnVpbGRl
ckdyb3VwKEJ1aWxkZXJHcm91cC5UT1RfV0VCS0lULCBXRUJLSVRfVE9UX0JVSUxERVJTKSwKKyAg
ICAnQFRvVCAtIHdlYmtpdC5vcmcnOiBuZXcgQnVpbGRlckdyb3VwKEJ1aWxkZXJHcm91cC5UT1Rf
V0VCS0lULCBbXSksCiB9OwogCiB2YXIgQ0hST01JVU1fR1BVX0dURVNUU19ERVBTX0JVSUxERVJT
ID0gWwpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFJlc3VsdFNlcnZlci9zdGF0aWMtZGFzaGJvYXJk
cy9kYXNoYm9hcmRfYmFzZS5qcyBiL1Rvb2xzL1Rlc3RSZXN1bHRTZXJ2ZXIvc3RhdGljLWRhc2hi
b2FyZHMvZGFzaGJvYXJkX2Jhc2UuanMKaW5kZXggZTM0OTU5NTVhNjU2MGRiYmEwOTVhM2Q2Yjkz
OWE2ZGM2NWQ5MjQ0Ni4uMGZkMDhiYTE0ZWJiOWZmZGI4MTQ1ODYzY2VkODJmMTA2NzQ0NDgzYiAx
MDA2NDQKLS0tIGEvVG9vbHMvVGVzdFJlc3VsdFNlcnZlci9zdGF0aWMtZGFzaGJvYXJkcy9kYXNo
Ym9hcmRfYmFzZS5qcworKysgYi9Ub29scy9UZXN0UmVzdWx0U2VydmVyL3N0YXRpYy1kYXNoYm9h
cmRzL2Rhc2hib2FyZF9iYXNlLmpzCkBAIC0zMzksNiArMzM5LDcgQEAgZnVuY3Rpb24gcGFyc2VQ
YXJhbWV0ZXJzKHBhcmFtZXRlclN0cikKIAogICAgIGZpbGxNaXNzaW5nVmFsdWVzKGdfY3VycmVu
dFN0YXRlLCBnX2RlZmF1bHRDcm9zc0Rhc2hib2FyZFN0YXRlVmFsdWVzKTsKICAgICBmaWxsTWlz
c2luZ1ZhbHVlcyhnX2N1cnJlbnRTdGF0ZSwgZ19kZWZhdWx0U3RhdGVWYWx1ZXMpOworICAgIGZp
bGxNaXNzaW5nVmFsdWVzKGdfY3VycmVudFN0YXRlLCB7J2J1aWxkZXInOiBnX2RlZmF1bHRCdWls
ZGVyTmFtZX0pOwogCiAgICAgLy8gU29tZSBwYXJhbWV0ZXJzIHJlcXVpcmUgbG9hZGluZyBkaWZm
ZXJlbnQgSlNPTiBmaWxlcyB3aGVuIHRoZSB2YWx1ZSBjaGFuZ2VzLiBEbyBhIHJlbG9hZC4KICAg
ICBpZiAoZ19vbGRTdGF0ZSkgewpAQCAtNTA3LDcgKzUwOCw2IEBAIGZ1bmN0aW9uIGluaXRCdWls
ZGVycyhzdGF0ZSkKICAgICAgICAgY3VycmVudEJ1aWxkZXJHcm91cChzdGF0ZSkuc2V0dXAoKTsK
ICAgICB9CiB9Ci1pbml0QnVpbGRlcnMoZ19jdXJyZW50U3RhdGUpOwogCiAvLyBBcHBlbmQgSlNP
TiBzY3JpcHQgZWxlbWVudHMuCiB2YXIgZ19yZXN1bHRzQnlCdWlsZGVyID0ge307CkBAIC03MjIs
NiArNzIyLDkgQEAgZnVuY3Rpb24gc2hvd0Vycm9ycygpCiAvLyBAcmV0dXJuIHtib29sZWFufSBX
aGV0aGVyIHRoZSBqc29uIGZpbGVzIGhhdmUgYWxsIGNvbXBsZXRlZCBsb2FkaW5nLgogZnVuY3Rp
b24gaGF2ZUpzb25GaWxlc0xvYWRlZCgpCiB7CisgICAgaWYgKCFnX2J1aWxkZXJzTGlzdExvYWRl
ZCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAgaWYgKGdfd2FpdGluZ09uRXhwZWN0YXRp
b25zKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKQEAgLTEwODEsOCArMTA4NCwxMyBAQCBmdW5j
dGlvbiBkZWNvbXByZXNzUmVzdWx0cyhidWlsZGVyUmVzdWx0cykKICAgICB9OwogfQogCit2YXIg
Z19idWlsZGVyc0xpc3RMb2FkZWQgPSBmYWxzZTsKIAotYXBwZW5kSlNPTlNjcmlwdEVsZW1lbnRz
KCk7CitmdW5jdGlvbiBnX2hhbmRsZUJ1aWxkZXJzTGlzdExvYWRlZCgpIHsKKyAgICBnX2J1aWxk
ZXJzTGlzdExvYWRlZCA9IHRydWU7CisgICAgaW5pdEJ1aWxkZXJzKGdfY3VycmVudFN0YXRlKTsK
KyAgICBhcHBlbmRKU09OU2NyaXB0RWxlbWVudHMoKTsKK30KIAogZG9jdW1lbnQuYWRkRXZlbnRM
aXN0ZW5lcignbW91c2Vkb3duJywgZnVuY3Rpb24oZSkgewogICAgIC8vIENsZWFyIHRoZSBvcGVu
IHBvcHVwLCB1bmxlc3MgdGhlIGNsaWNrIHdhcyBpbnNpZGUgdGhlIHBvcHVwLgpkaWZmIC0tZ2l0
IGEvVG9vbHMvVGVzdFJlc3VsdFNlcnZlci9zdGF0aWMtZGFzaGJvYXJkcy9mbGFraW5lc3NfZGFz
aGJvYXJkLmh0bWwgYi9Ub29scy9UZXN0UmVzdWx0U2VydmVyL3N0YXRpYy1kYXNoYm9hcmRzL2Zs
YWtpbmVzc19kYXNoYm9hcmQuaHRtbAppbmRleCA5OGY1N2Q3YzFkMjEzOGUwNjgzZDEwNzdjYWE1
OTIxOTUyODcwYTRhLi42MGU3MjY3NWIwMzc4MjViY2VjNjkxOTkyODg3YmYxNGI2ZmM1MDVlIDEw
MDY0NAotLS0gYS9Ub29scy9UZXN0UmVzdWx0U2VydmVyL3N0YXRpYy1kYXNoYm9hcmRzL2ZsYWtp
bmVzc19kYXNoYm9hcmQuaHRtbAorKysgYi9Ub29scy9UZXN0UmVzdWx0U2VydmVyL3N0YXRpYy1k
YXNoYm9hcmRzL2ZsYWtpbmVzc19kYXNoYm9hcmQuaHRtbApAQCAtMzE2LDkgKzMxNiw5IEBAIHZh
ciBURVNUX1JFU1VMVFNfQkFTRV9QQVRIID0gJ2h0dHA6Ly9idWlsZC5jaHJvbWl1bS5vcmcvZi9j
aHJvbWl1bS9sYXlvdXRfdGVzdF9yCiAKIC8vIEZJWE1FOiBUaGVzZSBwbGF0Zm9ybSBuYW1lcyBz
aG91bGQgcHJvYmFibHkgYmUgY2hhbmdlZCB0byBtYXRjaCB0aGUgZGlyZWN0b3JpZXMgaW4gTGF5
b3V0VGVzdHMvcGxhdGZvcm0KIC8vIGluc3RlYWQgb2YgbWF0Y2hpbmcgdGhlIHZhbHVlcyB3ZSB1
c2UgaW4gdGhlIHRlc3RfZXhwZWN0YXRpb25zLnR4dCBmaWxlLgotdmFyIFBMQVRGT1JNUyA9IFsn
U05PV0xFT1BBUkQnLCAnTEVPUEFSRCcsICdYUCcsICdWSVNUQScsICdXSU43JywgJ0xVQ0lEJywg
J0FQUExFX0xFT1BBUkQnLCAnQVBQTEVfU05PV0xFT1BBUkQnLCAnQVBQTEVfWFAnLCAnQVBQTEVf
V0lONycsICdHVEtfTElOVVgnLCAnUVRfTElOVVgnXTsKK3ZhciBQTEFURk9STVMgPSBbJ0xJT04n
LCAnU05PV0xFT1BBUkQnLCAnTEVPUEFSRCcsICdYUCcsICdWSVNUQScsICdXSU43JywgJ0xVQ0lE
JywgJ0FQUExFX0xJT04nLCAnQVBQTEVfTEVPUEFSRCcsICdBUFBMRV9TTk9XTEVPUEFSRCcsICdB
UFBMRV9YUCcsICdBUFBMRV9XSU43JywgJ0dUS19MSU5VWCcsICdRVF9MSU5VWCddOwogdmFyIFBM
QVRGT1JNX1VOSU9OUyA9IHsKLSAgICAnTUFDJzogWydMRU9QQVJEJywgJ1NOT1dMRU9QQVJEJ10s
CisgICAgJ01BQyc6IFsnTEVPUEFSRCcsICdTTk9XTEVPUEFSRCcsICdMSU9OJ10sCiAgICAgJ1dJ
Tic6IFsnWFAnLCAnVklTVEEnLCAnV0lONyddLAogICAgICdMSU5VWCc6IFsnTFVDSUQnXQogfQpA
QCAtMzI4LDcgKzMyOCw5IEBAIHZhciBQTEFURk9STV9GQUxMQkFDS1MgPSB7CiAgICAgJ1dJTic6
ICdBTEwnLAogICAgICdYUCc6ICdXSU4nLAogICAgICdWSVNUQSc6ICdXSU4nLAorICAgICdXSU43
JzogJ1dJTicsCiAgICAgJ01BQyc6ICdBTEwnLAorICAgICdMSU9OJzogJ01BQycsCiAgICAgJ1NO
T1dMRU9QQVJEJzogJ01BQycsCiAgICAgJ0xFT1BBUkQnOiAnTUFDJywKICAgICAnTElOVVgnOiAn
QUxMJywKQEAgLTQ2NSw3ICs0NjcsNiBAQCBnX2RlZmF1bHRTdGF0ZVZhbHVlcyA9IHsKICAgICBz
aG93VW5leHBlY3RlZFBhc3NlczogIWlzTGF5b3V0VGVzdFJlc3VsdHMoKSwKICAgICBleHBlY3Rh
dGlvbnNVcGRhdGU6IGZhbHNlLAogICAgIHVwZGF0ZUluZGV4OiAwLAotICAgIGJ1aWxkZXI6IGdf
ZGVmYXVsdEJ1aWxkZXJOYW1lLAogICAgIHJlc3VsdHNIZWlnaHQ6IDMwMCwKICAgICByZXZpc2lv
bjogbnVsbAogfTsKQEAgLTUyNCw2ICs1MjUsOCBAQCBmdW5jdGlvbiBtYXRjaGluZ0VsZW1lbnQo
c3RyaW5nVG9NYXRjaCwgZWxlbWVudHNNYXApCiAKIGZ1bmN0aW9uIG5vbkNocm9taXVtUGxhdGZv
cm0oYnVpbGRlck5hbWVVcHBlckNhc2UpCiB7CisgICAgaWYgKHN0cmluZ0NvbnRhaW5zKGJ1aWxk
ZXJOYW1lVXBwZXJDYXNlLCAnTElPTicpKQorICAgICAgICByZXR1cm4gJ0FQUExFX0xJT04nOwog
ICAgIGlmIChzdHJpbmdDb250YWlucyhidWlsZGVyTmFtZVVwcGVyQ2FzZSwgJ1NOT1dMRU9QQVJE
JykpCiAgICAgICAgIHJldHVybiAnQVBQTEVfU05PV0xFT1BBUkQnOwogICAgIGlmIChzdHJpbmdD
b250YWlucyhidWlsZGVyTmFtZVVwcGVyQ2FzZSwgJ0xFT1BBUkQnKSkKQEAgLTU0Myw2ICs1NDYs
OSBAQCBmdW5jdGlvbiBjaHJvbWl1bVBsYXRmb3JtKGJ1aWxkZXJOYW1lVXBwZXJDYXNlKQogICAg
IGlmIChzdHJpbmdDb250YWlucyhidWlsZGVyTmFtZVVwcGVyQ2FzZSwgJ01BQycpKSB7CiAgICAg
ICAgIGlmIChzdHJpbmdDb250YWlucyhidWlsZGVyTmFtZVVwcGVyQ2FzZSwgJzEwLjUnKSkKICAg
ICAgICAgICAgIHJldHVybiAnTEVPUEFSRCc7CisgICAgICAgIGlmIChzdHJpbmdDb250YWlucyhi
dWlsZGVyTmFtZVVwcGVyQ2FzZSwgJzEwLjcnKSkKKyAgICAgICAgICAgIHJldHVybiAnTElPTic7
CisgICAgICAgIC8vIFRoZSB3ZWJraXQub3JnICdDaHJvbWl1bSBNYWMgUmVsZWFzZSAoVGVzdHMp
JyBib3QgcnVucyBTbm93TGVvcGFyZC4KICAgICAgICAgcmV0dXJuICdTTk9XTEVPUEFSRCc7CiAg
ICAgfQogICAgIGlmIChzdHJpbmdDb250YWlucyhidWlsZGVyTmFtZVVwcGVyQ2FzZSwgJ1dJTjcn
KSkKQEAgLTI1MTYsMTIgKzI1MjIsMTQgQEAgZnVuY3Rpb24gaGlkZUxlZ2VuZCgpCiB9CiAKIHZh
ciBnX2ZhbGxiYWNrc01hcCA9IHt9OworLy8gRklYTUU6IERvIHdlIHN0aWxsIG5lZWQgdGhlIC1H
UFUgZW50cmllcz8gRG8gd2UgbmVlZCBhIE1BQy1MSU9OLUdQVSBlbnRyeT8KIGdfZmFsbGJhY2tz
TWFwWydXSU4tWFAnXSA9IFsnY2hyb21pdW0td2luLXhwJywgJ2Nocm9taXVtLXdpbi12aXN0YScs
ICdjaHJvbWl1bS13aW4nLCAnY2hyb21pdW0nLCAnd2luJywgJ21hYyddOwogZ19mYWxsYmFja3NN
YXBbJ1dJTi1WSVNUQSddID0gWydjaHJvbWl1bS13aW4tdmlzdGEnLCAnY2hyb21pdW0td2luJywg
J2Nocm9taXVtJywgJ3dpbicsICdtYWMnXTsKIGdfZmFsbGJhY2tzTWFwWydXSU4tNyddID0gWydj
aHJvbWl1bS13aW4nLCAnY2hyb21pdW0nLCAnd2luJywgJ21hYyddOwogZ19mYWxsYmFja3NNYXBb
J1dJTi03LUdQVSddID0gWydjaHJvbWl1bS1ncHUtd2luJ10uY29uY2F0KGdfZmFsbGJhY2tzTWFw
WydXSU4tNyddKTsKIGdfZmFsbGJhY2tzTWFwWydNQUMtTEVPUEFSRCddID0gWydjaHJvbWl1bS1t
YWMtbGVvcGFyZCcsICdjaHJvbWl1bS1tYWMtc25vd2xlb3BhcmQnLCAnY2hyb21pdW0tbWFjJywg
J2Nocm9taXVtJywgJ21hYy1sZW9wYXJkJywgJ21hYy1zbm93bGVvcGFyZCcsICdtYWMnXTsKIGdf
ZmFsbGJhY2tzTWFwWydNQUMtU05PV0xFT1BBUkQnXSA9IFsnY2hyb21pdW0tbWFjLXNub3dsZW9w
YXJkJywgJ2Nocm9taXVtLW1hYycsICdjaHJvbWl1bScsICdtYWMtc25vd2xlb3BhcmQnLCAnbWFj
J107CitnX2ZhbGxiYWNrc01hcFsnTUFDLUxJT04nXSA9IFsnY2hyb21pdW0tbWFjJywgJ2Nocm9t
aXVtJywgJ21hYyddOwogZ19mYWxsYmFja3NNYXBbJ01BQy1TTk9XTEVPUEFSRC1HUFUnXSA9IFsn
Y2hyb21pdW0tZ3B1LW1hYyddLmNvbmNhdChnX2ZhbGxiYWNrc01hcFsnTUFDLVNOT1dMRU9QQVJE
J10pOwogZ19mYWxsYmFja3NNYXBbJ0xJTlVYLTMyJ10gPSBbJ2Nocm9taXVtLWxpbnV4LXg4Nics
ICdjaHJvbWl1bS1saW51eCcsICdjaHJvbWl1bS13aW4nLCAnY2hyb21pdW0nLCAnd2luJywgJ21h
YyddOwogZ19mYWxsYmFja3NNYXBbJ0xJTlVYLTY0J10gPSBbJ2Nocm9taXVtLWxpbnV4JywgJ2No
cm9taXVtLXdpbicsICdjaHJvbWl1bScsICd3aW4nLCAnbWFjJ107CmRpZmYgLS1naXQgYS9Ub29s
cy9UZXN0UmVzdWx0U2VydmVyL3N0YXRpYy1kYXNoYm9hcmRzL2ZsYWtpbmVzc19kYXNoYm9hcmRf
dGVzdHMuanMgYi9Ub29scy9UZXN0UmVzdWx0U2VydmVyL3N0YXRpYy1kYXNoYm9hcmRzL2ZsYWtp
bmVzc19kYXNoYm9hcmRfdGVzdHMuanMKaW5kZXggYjgyMTU2NzQyZDIxMzhiYWYyYjYzZGVkNWNk
OTM1ZGM3ZTYwOGJmMC4uYjUyOTkxN2FjZWJhN2YyMWU4NDlhYjUxMTNjOWQyNWIwNDY3YjI3NSAx
MDA2NDQKLS0tIGEvVG9vbHMvVGVzdFJlc3VsdFNlcnZlci9zdGF0aWMtZGFzaGJvYXJkcy9mbGFr
aW5lc3NfZGFzaGJvYXJkX3Rlc3RzLmpzCisrKyBiL1Rvb2xzL1Rlc3RSZXN1bHRTZXJ2ZXIvc3Rh
dGljLWRhc2hib2FyZHMvZmxha2luZXNzX2Rhc2hib2FyZF90ZXN0cy5qcwpAQCAtMjA1LDYgKzIw
NSw4IEBAIGZ1bmN0aW9uIHRlc3RQbGF0Zm9ybUFuZEJ1aWxkVHlwZSgpCiAgICAgcnVuUGxhdGZv
cm1BbmRCdWlsZFR5cGVUZXN0KCdDaHJvbWl1bSBNYWMgUmVsZWFzZSAoVGVzdHMpJywgJ1NOT1dM
RU9QQVJEJywgJ1JFTEVBU0UnKTsKICAgICAKICAgICAvLyBGSVhNRTogVGhlc2UgcGxhdGZvcm1z
IHNob3VsZCBtYXRjaCB3aGF0ZXZlciB3ZSB1c2UgaW4gdGhlIHRlc3RfZXhwZWN0YXRpb25zLnR4
dCBmb3JtYXQuCisgICAgcnVuUGxhdGZvcm1BbmRCdWlsZFR5cGVUZXN0KCdMaW9uIFJlbGVhc2Ug
KFRlc3RzKScsICdBUFBMRV9MSU9OJywgJ1JFTEVBU0UnKTsKKyAgICBydW5QbGF0Zm9ybUFuZEJ1
aWxkVHlwZVRlc3QoJ0xpb24gRGVidWcgKFRlc3RzKScsICdBUFBMRV9MSU9OJywgJ0RFQlVHJyk7
CiAgICAgcnVuUGxhdGZvcm1BbmRCdWlsZFR5cGVUZXN0KCdMZW9wYXJkIEludGVsIFJlbGVhc2Ug
KFRlc3RzKScsICdBUFBMRV9MRU9QQVJEJywgJ1JFTEVBU0UnKTsKICAgICBydW5QbGF0Zm9ybUFu
ZEJ1aWxkVHlwZVRlc3QoJ0xlb3BhcmQgSW50ZWwgRGVidWcgKFRlc3RzKScsICdBUFBMRV9MRU9Q
QVJEJywgJ0RFQlVHJyk7CiAgICAgcnVuUGxhdGZvcm1BbmRCdWlsZFR5cGVUZXN0KCdTbm93TGVv
cGFyZCBJbnRlbCBSZWxlYXNlIChUZXN0cyknLCAnQVBQTEVfU05PV0xFT1BBUkQnLCAnUkVMRUFT
RScpOwpAQCAtMzg3LDYgKzM4OSwzMSBAQCBmdW5jdGlvbiB0ZXN0QmFzZVRlc3QoKQogICAgIHNl
bGYuYXNzZXJ0RXF1YWxzKGJhc2VUZXN0KCdwbGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL2dwdS9m
YXN0L2NhbnZhcy9mb28uaHRtbCcsICdwbGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL2dwdS9mYXN0
L2NhbnZhcycpLCAnZmFzdC9jYW52YXMvZm9vLmh0bWwnKTsKIH0KIAorLy8gRklYTUU6IENyZWF0
ZSBidWlsZGVyc190ZXN0cy5qcyBhbmQgbW92ZSB0aGlzIHRoZXJlLgorZnVuY3Rpb24gdGVzdEdl
bmVyYXRlV2Via2l0QnVpbGRlcnNGcm9tQnVpbGRlckxpc3QoKQoreworICAgIHZhciBidWlsZGVy
TGlzdCA9IFsiQ2hyb21pdW0gQW5kcm9pZCBSZWxlYXNlIiwgIkNocm9taXVtIExpbnV4IFJlbGVh
c2UiLCAiQ2hyb21pdW0gTGludXggUmVsZWFzZSAoR3JpZCBMYXlvdXQpIiwgIkNocm9taXVtIExp
bnV4IFJlbGVhc2UgKFBlcmYpIiwgIkNocm9taXVtIExpbnV4IFJlbGVhc2UgKFRlc3RzKSIsCisg
ICAgICAgICJDaHJvbWl1bSBNYWMgUmVsZWFzZSIsICJDaHJvbWl1bSBNYWMgUmVsZWFzZSAoUGVy
ZikiLCAiQ2hyb21pdW0gTWFjIFJlbGVhc2UgKFRlc3RzKSIsICJDaHJvbWl1bSBXaW4gUmVsZWFz
ZSIsICJDaHJvbWl1bSBXaW4gUmVsZWFzZSAoUGVyZikiLCAiQ2hyb21pdW0gV2luIFJlbGVhc2Ug
KFRlc3RzKSIsCisgICAgICAgICJFRkwgTGludXggUmVsZWFzZSIsICJHVEsgTGludXggMzItYml0
IFJlbGVhc2UiLCAiR1RLIExpbnV4IDY0LWJpdCBEZWJ1ZyIsICJHVEsgTGludXggNjQtYml0IFJl
bGVhc2UiLCAiTGlvbiBEZWJ1ZyAoQnVpbGQpIiwgIkxpb24gRGVidWcgKFRlc3RzKSIsICJMaW9u
IERlYnVnIChXZWJLaXQyIFRlc3RzKSIsCisgICAgICAgICJMaW9uIExlYWtzIiwgIkxpb24gUmVs
ZWFzZSAoQnVpbGQpIiwgIkxpb24gUmVsZWFzZSAoUGVyZikiLCAiTGlvbiBSZWxlYXNlIChUZXN0
cykiLCAiTGlvbiBSZWxlYXNlIChXZWJLaXQyIFRlc3RzKSIsICJRdCBMaW51eCA2NC1iaXQgUmVs
ZWFzZSAoUGVyZikiLAorICAgICAgICAiUXQgTGludXggNjQtYml0IFJlbGVhc2UgKFdlYktpdDIg
UGVyZikiLCAiUXQgTGludXggQVJNdjcgUmVsZWFzZSIsICJRdCBMaW51eCBNSVBTIFJlbGVhc2Ui
LCAiUXQgTGludXggUmVsZWFzZSIsICJRdCBMaW51eCBSZWxlYXNlIG1pbmltYWwiLCAiUXQgTGlu
dXggU0g0IFJlbGVhc2UiLAorICAgICAgICAiUXQgU25vd0xlb3BhcmQgUmVsZWFzZSIsICJRdCBX
aW5kb3dzIDMyLWJpdCBEZWJ1ZyIsICJRdCBXaW5kb3dzIDMyLWJpdCBSZWxlYXNlIiwgIlNub3dM
ZW9wYXJkIEludGVsIERlYnVnIChCdWlsZCkiLCAiU25vd0xlb3BhcmQgSW50ZWwgRGVidWcgKFRl
c3RzKSIsCisgICAgICAgICJTbm93TGVvcGFyZCBJbnRlbCBEZWJ1ZyAoV2ViS2l0MiBUZXN0cyki
LCAiU25vd0xlb3BhcmQgSW50ZWwgUmVsZWFzZSAoQnVpbGQpIiwgIlNub3dMZW9wYXJkIEludGVs
IFJlbGVhc2UgKFRlc3RzKSIsICJTbm93TGVvcGFyZCBJbnRlbCBSZWxlYXNlIChXZWJLaXQyIFRl
c3RzKSIsCisgICAgICAgICJXaW5DRSBSZWxlYXNlIChCdWlsZCkiLCAiV2luQ2Fpcm8gUmVsZWFz
ZSIsICJXaW5kb3dzIDcgUmVsZWFzZSAoVGVzdHMpIiwgIldpbmRvd3MgNyBSZWxlYXNlIChXZWJL
aXQyIFRlc3RzKSIsICJXaW5kb3dzIERlYnVnIChCdWlsZCkiLCAiV2luZG93cyBSZWxlYXNlIChC
dWlsZCkiLCAiV2luZG93cyBYUCBEZWJ1ZyAoVGVzdHMpIl07CisgICAgdmFyIGJ1aWxkZXJzID0g
Z2VuZXJhdGVXZWJraXRCdWlsZGVyc0Zyb21CdWlsZGVyTGlzdChidWlsZGVyTGlzdCk7CisgICAg
dmFyIGV4cGVjdGVkQnVpbGRlcnMgPSBbWyJDaHJvbWl1bSBMaW51eCBSZWxlYXNlIChUZXN0cyki
LCA2XSwgWyJDaHJvbWl1bSBNYWMgUmVsZWFzZSAoVGVzdHMpIl0sIFsiQ2hyb21pdW0gV2luIFJl
bGVhc2UgKFRlc3RzKSJdLCBbIkdUSyBMaW51eCAzMi1iaXQgUmVsZWFzZSJdLCBbIkdUSyBMaW51
eCA2NC1iaXQgRGVidWciXSwKKyAgICAgICAgWyJHVEsgTGludXggNjQtYml0IFJlbGVhc2UiXSwg
WyJMaW9uIERlYnVnIChUZXN0cykiXSwgWyJMaW9uIERlYnVnIChXZWJLaXQyIFRlc3RzKSJdLCBb
Ikxpb24gUmVsZWFzZSAoVGVzdHMpIl0sIFsiTGlvbiBSZWxlYXNlIChXZWJLaXQyIFRlc3RzKSJd
LCBbIlF0IExpbnV4IFJlbGVhc2UiXSwKKyAgICAgICAgWyJTbm93TGVvcGFyZCBJbnRlbCBEZWJ1
ZyAoVGVzdHMpIl0sIFsiU25vd0xlb3BhcmQgSW50ZWwgRGVidWcgKFdlYktpdDIgVGVzdHMpIl0s
IFsiU25vd0xlb3BhcmQgSW50ZWwgUmVsZWFzZSAoVGVzdHMpIl0sIFsiU25vd0xlb3BhcmQgSW50
ZWwgUmVsZWFzZSAoV2ViS2l0MiBUZXN0cykiXV07CisKKyAgICBzZWxmLmFzc2VydEVxdWFscyhi
dWlsZGVycy5sZW5ndGgsIGV4cGVjdGVkQnVpbGRlcnMubGVuZ3RoKTsKKyAgICBidWlsZGVycy5m
b3JFYWNoKGZ1bmN0aW9uKGJ1aWxkZXIsIGluZGV4KSB7CisgICAgICAgIHZhciBleHBlY3RlZCA9
IGV4cGVjdGVkQnVpbGRlcnNbaW5kZXhdOworICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhidWls
ZGVyLmxlbmd0aCwgZXhwZWN0ZWQubGVuZ3RoKTsKKyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkg
PCBidWlsZGVyLmxlbmd0aDsgaSsrKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoYnVp
bGRlcltpXSwgZXhwZWN0ZWRbaV0pOworICAgIH0pCit9CisKIGZ1bmN0aW9uIHJ1blRlc3RzKCkK
IHsKICAgICBkb2N1bWVudC5ib2R5LmlubmVySFRNTCA9ICc8cHJlIGlkPXVuaXR0ZXN0LXJlc3Vs
dHM+PC9wcmU+JzsKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RSZXN1bHRTZXJ2ZXIvc3RhdGljLWRh
c2hib2FyZHMvdGltZWxpbmVfZXhwbG9yZXIuaHRtbCBiL1Rvb2xzL1Rlc3RSZXN1bHRTZXJ2ZXIv
c3RhdGljLWRhc2hib2FyZHMvdGltZWxpbmVfZXhwbG9yZXIuaHRtbAppbmRleCBlNGIwNmI1MGVl
NzgzYzFmNTA1OWI4ZTczZTYxNWYxNjM1NDIwYTlmLi4zNjUwYmJkNGE4ZWI1YTcwMDcyMGIxODEz
MmE4MDMzNzk0NWM4Njc0IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0UmVzdWx0U2VydmVyL3N0YXRp
Yy1kYXNoYm9hcmRzL3RpbWVsaW5lX2V4cGxvcmVyLmh0bWwKKysrIGIvVG9vbHMvVGVzdFJlc3Vs
dFNlcnZlci9zdGF0aWMtZGFzaGJvYXJkcy90aW1lbGluZV9leHBsb3Jlci5odG1sCkBAIC0xNjUs
NyArMTY1LDYgQEAgZnVuY3Rpb24gaGFuZGxlVmFsaWRIYXNoUGFyYW1ldGVyKGtleSwgdmFsdWUp
CiAKIGdfZGVmYXVsdFN0YXRlVmFsdWVzID0gewogICAgIGJ1aWxkVGltZXN0YW1wOiAtMSwKLSAg
ICBidWlsZGVyOiBnX2RlZmF1bHRCdWlsZGVyTmFtZSwKICAgICBpZ25vcmVGbGFreVRlc3RzOiB0
cnVlCiB9OwogCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0UmVzdWx0U2VydmVyL3N0YXRpYy1kYXNo
Ym9hcmRzL3RyZWVtYXAuaHRtbCBiL1Rvb2xzL1Rlc3RSZXN1bHRTZXJ2ZXIvc3RhdGljLWRhc2hi
b2FyZHMvdHJlZW1hcC5odG1sCmluZGV4IGU1ZDhmYzI0MmUwMTk5YThjMTRlMTA0ZmVmYWYwMTlh
OTM5ZDVmMmEuLjUwNjEzYzBjMTZmZjEwMTA3MzM5NDUwNjIxZjU1NTljZTY2ZDJlY2EgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL1Rlc3RSZXN1bHRTZXJ2ZXIvc3RhdGljLWRhc2hib2FyZHMvdHJlZW1hcC5o
dG1sCisrKyBiL1Rvb2xzL1Rlc3RSZXN1bHRTZXJ2ZXIvc3RhdGljLWRhc2hib2FyZHMvdHJlZW1h
cC5odG1sCkBAIC0xMTYsOCArMTE2LDYgQEAgdGQgewogPGRpdiBpZD0nbWFwJz48L2Rpdj4KIAog
PHNjcmlwdD4KLSQoJ2hlYWRlci1jb250YWluZXInKS5pbm5lckhUTUwgPSBodG1sRm9yVGVzdFR5
cGVTd2l0Y2hlcigpOwotCiB2YXIgVEVTVF9VUkxfQkFTRV9QQVRIID0gImh0dHA6Ly9zdm4ud2Vi
a2l0Lm9yZy9yZXBvc2l0b3J5L3dlYmtpdC90cnVuay8iOwogCiBmdW5jdGlvbiBodW1hblJlYWRh
YmxlVGltZShtaWxsaXNlY29uZHMpCkBAIC0yMzcsNiArMjM1LDE0IEBAIGZ1bmN0aW9uIEFERF9S
RVNVTFRTKGRhdGEpCiAgICAgaGFuZGxlTG9jYXRpb25DaGFuZ2UoKTsKIH0KIAorZnVuY3Rpb24g
Z19oYW5kbGVCdWlsZGVyc0xpc3RMb2FkZWQoKSB7CisgICAgZ19idWlsZGVyc0xpc3RMb2FkZWQg
PSB0cnVlOworICAgIGluaXRCdWlsZGVycyhnX2N1cnJlbnRTdGF0ZSk7CisgICAgJCgnaGVhZGVy
LWNvbnRhaW5lcicpLmlubmVySFRNTCA9IGh0bWxGb3JUZXN0VHlwZVN3aXRjaGVyKCk7CisgICAg
cGFyc2VQYXJhbWV0ZXJzKCk7CisgICAgYXBwZW5kSlNPTlNjcmlwdEVsZW1lbnRGb3IoZ19jdXJy
ZW50U3RhdGUuYnVpbGRlcik7Cit9CisKIHZhciBnX2lzR2VuZXJhdGluZ1BhZ2UgPSBmYWxzZTsK
IHZhciBnX3dlYlRyZWU7CiAKQEAgLTMwNywxMiArMzEzLDExIEBAIGZ1bmN0aW9uIGhhbmRsZVZh
bGlkSGFzaFBhcmFtZXRlcihrZXksIHZhbHVlKQogICAgIH0KIH0KIAotZ19kZWZhdWx0U3RhdGVW
YWx1ZXMgPSB7Ci0gICAgYnVpbGRlcjogZ19kZWZhdWx0QnVpbGRlck5hbWUKLX07Ci0KIGZ1bmN0
aW9uIGhhbmRsZVF1ZXJ5UGFyYW1ldGVyQ2hhbmdlKHBhcmFtcykKIHsKKyAgICBpZiAoIWdfYnVp
bGRlcnNMaXN0TG9hZGVkKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICBpZiAoIWdfcmVz
dWx0c0J5QnVpbGRlcltnX2N1cnJlbnRTdGF0ZS5idWlsZGVyXSkKICAgICAgICAgYXBwZW5kSlNP
TlNjcmlwdEVsZW1lbnRGb3IoZ19jdXJyZW50U3RhdGUuYnVpbGRlcik7CiAKQEAgLTM4MCw3ICsz
ODUsNCBAQCBmdW5jdGlvbiBoYW5kbGVGb2N1cyh0cmVlKQogICAgIGlmICghZ19pc0dlbmVyYXRp
bmdQYWdlKQogICAgICAgICBzZXRRdWVyeVBhcmFtZXRlcigndHJlZW1hcGZvY3VzJywgbmFtZSk7
CiB9Ci0KLXBhcnNlUGFyYW1ldGVycygpOwotYXBwZW5kSlNPTlNjcmlwdEVsZW1lbnRGb3IoZ19j
dXJyZW50U3RhdGUuYnVpbGRlcik7CiA8L3NjcmlwdD4K
</data>
<flag name="review"
          id="139377"
          type_id="1"
          status="+"
          setter="abarth"
    />
          </attachment>
      

    </bug>

</bugzilla>