<?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>139138</bug_id>
          
          <creation_ts>2014-12-01 11:24:49 -0800</creation_ts>
          <short_desc>Several JavaScriptCore date tests are flaky, because they expect time to be frozen during execution</short_desc>
          <delta_ts>2014-12-01 13:14:25 -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>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>MakingBotsRed</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexey Proskuryakov">ap</reporter>
          <assigned_to name="Alexey Proskuryakov">ap</assigned_to>
          <cc>ggaren</cc>
    
    <cc>mark.lam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1051501</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-12-01 11:24:49 -0800</bug_when>
    <thetext>At least these tests are affected:

Source/JavaScriptCore/tests/mozilla/ecma/Date/15.9.2.1.js
Source/JavaScriptCore/tests/mozilla/ecma/Date/15.9.2.2-1.js
Source/JavaScriptCore/tests/mozilla/ecma/Date/15.9.2.2-2.js
Source/JavaScriptCore/tests/mozilla/ecma/Date/15.9.2.2-3.js
Source/JavaScriptCore/tests/mozilla/ecma/Date/15.9.2.2-4.js
Source/JavaScriptCore/tests/mozilla/ecma/Date/15.9.2.2-5.js
Source/JavaScriptCore/tests/mozilla/ecma/Date/15.9.2.2-6.js

mozilla-tests.yaml/ecma/Date/15.9.2.2-6.js.mozilla-dfg-eager-no-cjit-validate-phases: Detected failures:
mozilla-tests.yaml/ecma/Date/15.9.2.2-6.js.mozilla-dfg-eager-no-cjit-validate-phases: 15.9.2.2 The Date Constructor Called as a Function
mozilla-tests.yaml/ecma/Date/15.9.2.2-6.js.mozilla-dfg-eager-no-cjit-validate-phases: Date(2031,11,31,23,59,59) = Sun Nov 30 2014 23:48:48 GMT-0800 (PST) FAILED! expected: Sun Nov 30 2014 23:48:47 GMT-0800 (PST)
mozilla-tests.yaml/ecma/Date/15.9.2.2-6.js.mozilla-dfg-eager-no-cjit-validate-phases: Date(2032,0,1,0,0,0) = Sun Nov 30 2014 23:48:48 GMT-0800 (PST) PASSED!
mozilla-tests.yaml/ecma/Date/15.9.2.2-6.js.mozilla-dfg-eager-no-cjit-validate-phases: Date(2032,0,1,0,0,1) = Sun Nov 30 2014 23:48:48 GMT-0800 (PST) PASSED!
mozilla-tests.yaml/ecma/Date/15.9.2.2-6.js.mozilla-dfg-eager-no-cjit-validate-phases: Date(2031,11,31,16,0,0,0) = Sun Nov 30 2014 23:48:48 GMT-0800 (PST) PASSED!
FAIL: mozilla-tests.yaml/ecma/Date/15.9.2.2-6.js.mozilla-dfg-eager-no-cjit-validate-phases

The tests seem bad - not even Firefox freezes the current time during script execution. The tests have an unused TOLERANCE variable, so maybe whoever wrote them understood the problem.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1051502</commentid>
    <comment_count>1</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-12-01 11:25:33 -0800</bug_when>
    <thetext>This is a whole lot of flakiness for tests that do pretty much nothing (all they verify is that arguments are ignored!)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1051504</commentid>
    <comment_count>2</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-12-01 11:27:28 -0800</bug_when>
    <thetext>Looks like Mozilla folks fixed this long ago: &lt;https://bugzilla.mozilla.org/show_bug.cgi?id=404351&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1051527</commentid>
    <comment_count>3</comment_count>
      <attachid>242328</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-12-01 12:32:58 -0800</bug_when>
    <thetext>Created attachment 242328
proposed fix

Manually merged the fix, because our version of shell.js is obsolete even compared to what Mozilla had in 2007. Perhaps we should update to trunk? I actually tried that just for laughs, but it wasn&apos;t easy enough.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1051541</commentid>
    <comment_count>4</comment_count>
      <attachid>242328</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2014-12-01 12:54:35 -0800</bug_when>
    <thetext>Comment on attachment 242328
proposed fix

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

&gt; Source/JavaScriptCore/tests/mozilla/ecma/Date/15.9.2.2-2.js:72
&gt; +    array[item++] = new TestCase( SECTION, &quot;Date(2000,0,1,0,0,0)&quot;, true, d2 - d1 &lt;= 1000);

I was concerned about all the copy and pasting, and was wondering if it is better to write a utility function to eliminate the cut and paste like so:

function makeTestCase(dateExpr) {
    var d1 = new Date();
    var d2 = eval(dateExpr);
    return new TestCase(SECTION, dateExpr, true, d2 - d1 &lt;= 1000);
}

array[item++] = makeTestCase(&quot;Date(2000,0,1,0,0,0)&quot;);

Here, we&apos;re seeing a discrepancy between the reported and the evaluated expressions.  I see that the discrepancy is also in the original test code (which is a bug).  Regardless, I think it&apos;d be better to use a utility function instead.

&gt; Source/JavaScriptCore/tests/mozilla/ecma/Date/15.9.2.2-2.js:76
&gt; +    array[item++] = new TestCase( SECTION, &quot;Date(2000,0,1,0,0,1)&quot;, true, d2 - d1 &lt;= 1000)

Ditto.  Another discrepancy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1051544</commentid>
    <comment_count>5</comment_count>
      <attachid>242328</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2014-12-01 12:58:37 -0800</bug_when>
    <thetext>Comment on attachment 242328
proposed fix

r=me for the sake of keeping the test code consistent with Mozilla&apos;s and easily mergeable.  However, please fix the 2 discrepancies.  That shouldn&apos;t make merging that much harder in the future.  Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1051550</commentid>
    <comment_count>6</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-12-01 13:14:25 -0800</bug_when>
    <thetext>Committed &lt;http://trac.webkit.org/r176601&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>242328</attachid>
            <date>2014-12-01 12:32:58 -0800</date>
            <delta_ts>2014-12-01 12:58:37 -0800</delta_ts>
            <desc>proposed fix</desc>
            <filename>JS-Date.txt</filename>
            <type>text/plain</type>
            <size>30871</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTc2NTk4KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBA
CisyMDE0LTEyLTAxICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgorCisgICAg
ICAgIFNldmVyYWwgSmF2YVNjcmlwdENvcmUgZGF0ZSB0ZXN0cyBhcmUgZmxha3ksIGJlY2F1c2Ug
dGhleSBleHBlY3QgdGltZSB0byBiZSBmcm96ZW4gZHVyaW5nIGV4ZWN1dGlvbgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM5MTM4CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWVyZ2VkIGEgZml4IGJ5IEJv
YiBDbGFyeS4KKworICAgICAgICAqIHRlc3RzL21vemlsbGEvZWNtYS9EYXRlLzE1LjkuMS4xLTEu
anM6CisgICAgICAgICogdGVzdHMvbW96aWxsYS9lY21hL0RhdGUvMTUuOS4xLjEtMi5qczoKKyAg
ICAgICAgKiB0ZXN0cy9tb3ppbGxhL2VjbWEvRGF0ZS8xNS45LjIuMS5qczoKKyAgICAgICAgKiB0
ZXN0cy9tb3ppbGxhL2VjbWEvRGF0ZS8xNS45LjIuMi0xLmpzOgorICAgICAgICAqIHRlc3RzL21v
emlsbGEvZWNtYS9EYXRlLzE1LjkuMi4yLTIuanM6CisgICAgICAgICogdGVzdHMvbW96aWxsYS9l
Y21hL0RhdGUvMTUuOS4yLjItMy5qczoKKyAgICAgICAgKiB0ZXN0cy9tb3ppbGxhL2VjbWEvRGF0
ZS8xNS45LjIuMi00LmpzOgorICAgICAgICAqIHRlc3RzL21vemlsbGEvZWNtYS9EYXRlLzE1Ljku
Mi4yLTUuanM6CisgICAgICAgICogdGVzdHMvbW96aWxsYS9lY21hL0RhdGUvMTUuOS4yLjItNi5q
czoKKwogMjAxNC0xMS0xNyAgT2xpdmVyIEh1bnQgIDxvbGl2ZXJAYXBwbGUuY29tPgogCiAgICAg
ICAgIE1ha2Ugc3VyZSByYW5nZSBiYXNlZCBpdGVyYXRpb24gb2YgVmVjdG9yPD4gc3RpbGwgcmVj
ZWl2ZXMgYm91bmRzIGNoZWNraW5nCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMv
bW96aWxsYS9lY21hL0RhdGUvMTUuOS4xLjEtMS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvdGVzdHMvbW96aWxsYS9lY21hL0RhdGUvMTUuOS4xLjEtMS5qcwkocmV2aXNp
b24gMTc2NTkzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL21vemlsbGEvZWNtYS9E
YXRlLzE1LjkuMS4xLTEuanMJKHdvcmtpbmcgY29weSkKQEAgLTQ1LDcgKzQ1LDcgQEAKICovCiAK
IGZ1bmN0aW9uIHRlc3QoKSB7Ci0gICAgd3JpdGVIZWFkZXJUb0xvZygiMTUuOC4xLjEgVGltZSBS
YW5nZSIpOworICAgIHdyaXRlSGVhZGVyVG9Mb2coIjE1LjkuMS4xIFRpbWUgUmFuZ2UiKTsKIAog
ICAgIGZvciAoICBNX1NFQ1MgPSAwLCBDVVJSRU5UX1lFQVIgPSAxOTcwOwogICAgICAgICAgICAg
ICAgICBNX1NFQ1MgPCA4NjQwMDAwMDAwMDAwMDAwOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL3Rlc3RzL21vemlsbGEvZWNtYS9EYXRlLzE1LjkuMS4xLTIuanMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL21vemlsbGEvZWNtYS9EYXRlLzE1LjkuMS4xLTIu
anMJKHJldmlzaW9uIDE3NjU5MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9tb3pp
bGxhL2VjbWEvRGF0ZS8xNS45LjEuMS0yLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0zOSw3ICszOSw3
IEBACiAKIGZ1bmN0aW9uIHRlc3QoKSB7CiAKLSAgICB3cml0ZUhlYWRlclRvTG9nKCIxNS44LjEu
MSBUaW1lIFJhbmdlIik7CisgICAgd3JpdGVIZWFkZXJUb0xvZygiMTUuOS4xLjEgVGltZSBSYW5n
ZSIpOwogCiAgICAgZm9yICggICAgICAgTV9TRUNTID0gMCwgQ1VSUkVOVF9ZRUFSID0gMTk3MDsK
ICAgICAgICAgICAgICAgICBNX1NFQ1MgPiAtODY0MDAwMDAwMDAwMDAwMDsKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9tb3ppbGxhL2VjbWEvRGF0ZS8xNS45LjIuMS5qcwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvbW96aWxsYS9lY21hL0RhdGUv
MTUuOS4yLjEuanMJKHJldmlzaW9uIDE3NjU5MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90
ZXN0cy9tb3ppbGxhL2VjbWEvRGF0ZS8xNS45LjIuMS5qcwkod29ya2luZyBjb3B5KQpAQCAtMzYs
NyArMzYsNiBAQAogICAgIHZhciBTRUNUSU9OID0gICAiMTUuOS4yLjEiOwogICAgIHZhciBUSVRM
RSA9ICAgICAiRGF0ZSBDb25zdHJ1Y3RvciB1c2VkIGFzIGEgZnVuY3Rpb24iOwogICAgIHZhciBU
WVBFT0YgID0gICAic3RyaW5nIjsKLSAgICB2YXIgVE9MRVJBTkNFID0gMTAwMDsKIAogICAgIHdy
aXRlSGVhZGVyVG9Mb2coIjE1LjkuMi4xIFRoZSBEYXRlIENvbnN0cnVjdG9yIENhbGxlZCBhcyBh
IEZ1bmN0aW9uOiAgIiArCiAgICAgICAgICAgICAgICAgICAgICAiRGF0ZSggeWVhciwgbW9udGgs
IGRhdGUsIGhvdXJzLCBtaW51dGVzLCBzZWNvbmRzLCBtcyApIiApOwpAQCAtNTIsNDQgKzUxLDEx
NiBAQCBmdW5jdGlvbiBnZXRUZXN0Q2FzZXMoKSB7CiAKICAgICB2YXIgVE9EQVkgPSBuZXcgRGF0
ZSgpOwogCisgICAgLy8gYWxsb3cgdXAgdG8gMSBzZWNvbmQgZGlmZmVyZW5jZSBkdWUgdG8gcG9z
c2liaWxpdHkKKyAgICAvLyB0aGUgZGF0ZSBtYXkgY2hhbmdlIGJ5IDEgc2Vjb25kIGluIGJldHdl
ZW4gY2FsbHMgdG8gRGF0ZQorCisgICAgdmFyIGQxOworICAgIHZhciBkMjsKKwogICAgIC8vIERh
dGVzIGFyb3VuZCAxOTcwCiAKLSAgICBhcnJheVtpdGVtKytdID0gbmV3IFRlc3RDYXNlKCBTRUNU
SU9OLCAiRGF0ZSgxOTcwLDAsMSwwLDAsMCwwKSIsICAgICAgICAgICAgKG5ldyBEYXRlKCkpLnRv
U3RyaW5nKCksICAgIERhdGUoMTk3MCwwLDEsMCwwLDAsMCkgKTsKLSAgICBhcnJheVtpdGVtKytd
ID0gbmV3IFRlc3RDYXNlKCBTRUNUSU9OLCAiRGF0ZSgxOTY5LDExLDMxLDE1LDU5LDU5LDk5OSki
LCAgICAgKG5ldyBEYXRlKCkpLnRvU3RyaW5nKCksICAgIERhdGUoMTk2OSwxMSwzMSwxNSw1OSw1
OSw5OTkpKQotICAgIGFycmF5W2l0ZW0rK10gPSBuZXcgVGVzdENhc2UoIFNFQ1RJT04sICJEYXRl
KDE5NjksMTEsMzEsMTYsMCwwLDApIiwgICAgICAgICAobmV3IERhdGUoKSkudG9TdHJpbmcoKSwg
ICAgRGF0ZSgxOTY5LDExLDMxLDE2LDAsMCwwKSkKLSAgICBhcnJheVtpdGVtKytdID0gbmV3IFRl
c3RDYXNlKCBTRUNUSU9OLCAiRGF0ZSgxOTY5LDExLDMxLDE2LDAsMCwxKSIsICAgICAgICAgKG5l
dyBEYXRlKCkpLnRvU3RyaW5nKCksICAgIERhdGUoMTk2OSwxMSwzMSwxNiwwLDAsMSkpCisgICAg
ZDEgPSBuZXcgRGF0ZSgpOworICAgIGQyID0gRGF0ZS5wYXJzZShEYXRlKDE5NzAsMCwxLDAsMCww
LDApKTsKKyAgICBhcnJheVtpdGVtKytdID0gbmV3IFRlc3RDYXNlKFNFQ1RJT04sICJEYXRlKDE5
NzAsMCwxLDAsMCwwLDApIiwgdHJ1ZSwgZDIgLSBkMSA8PSAxMDAwKTsKKworICAgIGQxID0gbmV3
IERhdGUoKTsKKyAgICBkMiA9IERhdGUucGFyc2UoRGF0ZSgxOTY5LDExLDMxLDE1LDU5LDU5LDk5
OSkpOworICAgIGFycmF5W2l0ZW0rK10gPSBuZXcgVGVzdENhc2UoU0VDVElPTiwgIkRhdGUoMTk2
OSwxMSwzMSwxNSw1OSw1OSw5OTkpIiwgdHJ1ZSwgZDIgLSBkMSA8PSAxMDAwKTsKKworICAgIGQx
ID0gbmV3IERhdGUoKTsKKyAgICBkMiA9IERhdGUucGFyc2UoRGF0ZSgxOTY5LDExLDMxLDE2LDAs
MCwwKSk7CisgICAgYXJyYXlbaXRlbSsrXSA9IG5ldyBUZXN0Q2FzZShTRUNUSU9OLCAiRGF0ZSgx
OTY5LDExLDMxLDE2LDAsMCwwKSIsIHRydWUsIGQyIC0gZDEgPD0gMTAwMCk7CisKKyAgICBkMSA9
IG5ldyBEYXRlKCk7CisgICAgZDIgPSBEYXRlLnBhcnNlKERhdGUoMTk2OSwxMSwzMSwxNiwwLDAs
MSkpOworICAgIGFycmF5W2l0ZW0rK10gPSBuZXcgVGVzdENhc2UoU0VDVElPTiwgIkRhdGUoMTk2
OSwxMSwzMSwxNiwwLDAsMSkiLCB0cnVlLCBkMiAtIGQxIDw9IDEwMDApOwogCiAgICAgLy8gRGF0
ZXMgYXJvdW5kIDIwMDAKLSAgICBhcnJheVtpdGVtKytdID0gbmV3IFRlc3RDYXNlKCBTRUNUSU9O
LCAiRGF0ZSgxOTk5LDExLDE1LDU5LDU5LDk5OSkiLCAgICAgICAgKG5ldyBEYXRlKCkpLnRvU3Ry
aW5nKCksICAgIERhdGUoMTk5OSwxMSwxNSw1OSw1OSw5OTkpKTsKLSAgICBhcnJheVtpdGVtKytd
ID0gbmV3IFRlc3RDYXNlKCBTRUNUSU9OLCAiRGF0ZSgxOTk5LDExLDE2LDAsMCwwLDApIiwgICAg
ICAgICAgKG5ldyBEYXRlKCkpLnRvU3RyaW5nKCksICAgIERhdGUoMTk5OSwxMSwxNiwwLDAsMCww
KSk7Ci0gICAgYXJyYXlbaXRlbSsrXSA9IG5ldyBUZXN0Q2FzZSggU0VDVElPTiwgIkRhdGUoMTk5
OSwxMSwzMSwyMyw1OSw1OSw5OTkpIiwgICAgIChuZXcgRGF0ZSgpKS50b1N0cmluZygpLCAgICBE
YXRlKDE5OTksMTEsMzEsMjMsNTksNTksOTk5KSApOwotICAgIGFycmF5W2l0ZW0rK10gPSBuZXcg
VGVzdENhc2UoIFNFQ1RJT04sICJEYXRlKDIwMDAsMCwxLDAsMCwwLDApIiwgICAgICAgICAgICAo
bmV3IERhdGUoKSkudG9TdHJpbmcoKSwgICAgRGF0ZSgyMDAwLDAsMCwwLDAsMCwwKSApOwotICAg
IGFycmF5W2l0ZW0rK10gPSBuZXcgVGVzdENhc2UoIFNFQ1RJT04sICJEYXRlKDIwMDAsMCwxLDAs
MCwwLDEpIiwgICAgICAgICAgICAobmV3IERhdGUoKSkudG9TdHJpbmcoKSwgICAgRGF0ZSgyMDAw
LDAsMCwwLDAsMCwxKSApOworICAgIGQxID0gbmV3IERhdGUoKTsKKyAgICBkMiA9IERhdGUucGFy
c2UoRGF0ZSgxOTk5LDExLDE1LDU5LDU5LDk5OSkpOworICAgIGFycmF5W2l0ZW0rK10gPSBuZXcg
VGVzdENhc2UoU0VDVElPTiwgIkRhdGUoMTk5OSwxMSwxNSw1OSw1OSw5OTkpIiwgdHJ1ZSwgZDIg
LSBkMSA8PSAxMDAwKTsKKworICAgIGQxID0gbmV3IERhdGUoKTsKKyAgICBkMiA9IERhdGUucGFy
c2UoRGF0ZSgxOTk5LDExLDE2LDAsMCwwLDApKTsKKyAgICBhcnJheVtpdGVtKytdID0gbmV3IFRl
c3RDYXNlKFNFQ1RJT04sICJEYXRlKDE5OTksMTEsMTYsMCwwLDAsMCkiLCB0cnVlLCBkMiAtIGQx
IDw9IDEwMDApOworCisgICAgZDEgPSBuZXcgRGF0ZSgpOworICAgIGQyID0gRGF0ZS5wYXJzZShE
YXRlKDE5OTksMTEsMzEsMjMsNTksNTksOTk5KSk7CisgICAgYXJyYXlbaXRlbSsrXSA9IG5ldyBU
ZXN0Q2FzZShTRUNUSU9OLCAiRGF0ZSgxOTk5LDExLDMxLDIzLDU5LDU5LDk5OSkiLCB0cnVlLCBk
MiAtIGQxIDw9IDEwMDApOworCisgICAgZDEgPSBuZXcgRGF0ZSgpOworICAgIGQyID0gRGF0ZS5w
YXJzZShEYXRlKDIwMDAsMCwwLDAsMCwwLDApKTsKKyAgICBhcnJheVtpdGVtKytdID0gbmV3IFRl
c3RDYXNlKFNFQ1RJT04sICJEYXRlKDIwMDAsMCwxLDAsMCwwLDApIiwgdHJ1ZSwgZDIgLSBkMSA8
PSAxMDAwKTsKKworICAgIGQxID0gbmV3IERhdGUoKTsKKyAgICBkMiA9IERhdGUucGFyc2UoRGF0
ZSgyMDAwLDAsMCwwLDAsMCwxKSk7CisgICAgYXJyYXlbaXRlbSsrXSA9IG5ldyBUZXN0Q2FzZShT
RUNUSU9OLCAiRGF0ZSgyMDAwLDAsMSwwLDAsMCwxKSIsIHRydWUsIGQyIC0gZDEgPD0gMTAwMCk7
CiAKICAgICAvLyBEYXRlcyBhcm91bmQgMTkwMAogCi0gICAgYXJyYXlbaXRlbSsrXSA9IG5ldyBU
ZXN0Q2FzZSggU0VDVElPTiwgIkRhdGUoMTg5OSwxMSwzMSwyMyw1OSw1OSw5OTkpIiwgICAgIChu
ZXcgRGF0ZSgpKS50b1N0cmluZygpLCAgICBEYXRlKDE4OTksMTEsMzEsMjMsNTksNTksOTk5KSk7
Ci0gICAgYXJyYXlbaXRlbSsrXSA9IG5ldyBUZXN0Q2FzZSggU0VDVElPTiwgIkRhdGUoMTkwMCww
LDEsMCwwLDAsMCkiLCAgICAgICAgICAgIChuZXcgRGF0ZSgpKS50b1N0cmluZygpLCAgICBEYXRl
KDE5MDAsMCwxLDAsMCwwLDApICk7Ci0gICAgYXJyYXlbaXRlbSsrXSA9IG5ldyBUZXN0Q2FzZSgg
U0VDVElPTiwgIkRhdGUoMTkwMCwwLDEsMCwwLDAsMSkiLCAgICAgICAgICAgIChuZXcgRGF0ZSgp
KS50b1N0cmluZygpLCAgICBEYXRlKDE5MDAsMCwxLDAsMCwwLDEpICk7Ci0gICAgYXJyYXlbaXRl
bSsrXSA9IG5ldyBUZXN0Q2FzZSggU0VDVElPTiwgIkRhdGUoMTg5OSwxMSwzMSwxNiwwLDAsMCww
KSIsICAgICAgIChuZXcgRGF0ZSgpKS50b1N0cmluZygpLCAgICBEYXRlKDE4OTksMTEsMzEsMTYs
MCwwLDAsMCkpOworICAgIGQxID0gbmV3IERhdGUoKTsKKyAgICBkMiA9IERhdGUucGFyc2UoRGF0
ZSgxODk5LDExLDMxLDIzLDU5LDU5LDk5OSkpOworICAgIGFycmF5W2l0ZW0rK10gPSBuZXcgVGVz
dENhc2UoU0VDVElPTiwgIkRhdGUoMTg5OSwxMSwzMSwyMyw1OSw1OSw5OTkpIiwgdHJ1ZSwgZDIg
LSBkMSA8PSAxMDAwKTsKKworICAgIGQxID0gbmV3IERhdGUoKTsKKyAgICBkMiA9IERhdGUucGFy
c2UoRGF0ZSgxOTAwLDAsMSwwLDAsMCwwKSk7CisgICAgYXJyYXlbaXRlbSsrXSA9IG5ldyBUZXN0
Q2FzZShTRUNUSU9OLCAiRGF0ZSgxOTAwLDAsMSwwLDAsMCwwKSIsIHRydWUsIGQyIC0gZDEgPD0g
MTAwMCk7CisKKyAgICBkMSA9IG5ldyBEYXRlKCk7CisgICAgZDIgPSBEYXRlLnBhcnNlKERhdGUo
MTkwMCwwLDEsMCwwLDAsMSkpOworICAgIGFycmF5W2l0ZW0rK10gPSBuZXcgVGVzdENhc2UoU0VD
VElPTiwgIkRhdGUoMTkwMCwwLDEsMCwwLDAsMSkiLCB0cnVlLCBkMiAtIGQxIDw9IDEwMDApOwor
CisgICAgZDEgPSBuZXcgRGF0ZSgpOworICAgIGQyID0gRGF0ZS5wYXJzZShEYXRlKDE4OTksMTEs
MzEsMTYsMCwwLDAsMCkpOworICAgIGFycmF5W2l0ZW0rK10gPSBuZXcgVGVzdENhc2UoU0VDVElP
TiwgIkRhdGUoMTg5OSwxMSwzMSwxNiwwLDAsMCwwKSIsIHRydWUsIGQyIC0gZDEgPD0gMTAwMCk7
CiAKICAgICAvLyBEYXRlcyBhcm91bmQgZmViIDI5LCAyMDAwCiAKLSAgICBhcnJheVtpdGVtKytd
ID0gbmV3IFRlc3RDYXNlKCBTRUNUSU9OLCAiRGF0ZSggMjAwMCwxLDI5LDAsMCwwLDApIiwgICAg
ICAgICAobmV3IERhdGUoKSkudG9TdHJpbmcoKSwgICAgRGF0ZSgyMDAwLDEsMjksMCwwLDAsMCkp
OwotICAgIGFycmF5W2l0ZW0rK10gPSBuZXcgVGVzdENhc2UoIFNFQ1RJT04sICJEYXRlKCAyMDAw
LDEsMjgsMjMsNTksNTksOTk5KSIsICAgIChuZXcgRGF0ZSgpKS50b1N0cmluZygpLCAgICBEYXRl
KCAyMDAwLDEsMjgsMjMsNTksNTksOTk5KSk7Ci0gICAgYXJyYXlbaXRlbSsrXSA9IG5ldyBUZXN0
Q2FzZSggU0VDVElPTiwgIkRhdGUoIDIwMDAsMSwyNywxNiwwLDAsMCkiLCAgICAgICAgKG5ldyBE
YXRlKCkpLnRvU3RyaW5nKCksICAgIERhdGUoMjAwMCwxLDI3LDE2LDAsMCwwKSk7CisgICAgZDEg
PSBuZXcgRGF0ZSgpOworICAgIGQyID0gRGF0ZS5wYXJzZShEYXRlKDIwMDAsMSwyOSwwLDAsMCww
KSk7CisgICAgYXJyYXlbaXRlbSsrXSA9IG5ldyBUZXN0Q2FzZShTRUNUSU9OLCAiRGF0ZSgyMDAw
LDEsMjksMCwwLDAsMCkiLCB0cnVlLCBkMiAtIGQxIDw9IDEwMDApOworCisgICAgZDEgPSBuZXcg
RGF0ZSgpOworICAgIGQyID0gRGF0ZS5wYXJzZShEYXRlKDIwMDAsMSwyOCwyMyw1OSw1OSw5OTkp
KTsKKyAgICBhcnJheVtpdGVtKytdID0gbmV3IFRlc3RDYXNlKFNFQ1RJT04sICJEYXRlKDIwMDAs
MSwyOCwyMyw1OSw1OSw5OTkpIiwgdHJ1ZSwgZDIgLSBkMSA8PSAxMDAwKTsKKworICAgIGQxID0g
bmV3IERhdGUoKTsKKyAgICBkMiA9IERhdGUucGFyc2UoRGF0ZSgyMDAwLDEsMjcsMTYsMCwwLDAp
KTsKKyAgICBhcnJheVtpdGVtKytdID0gbmV3IFRlc3RDYXNlKFNFQ1RJT04sICJEYXRlKDIwMDAs
MSwyNywxNiwwLDAsMCkiLCB0cnVlLCBkMiAtIGQxIDw9IDEwMDApOwogCiAgICAgLy8gRGF0ZXMg
YXJvdW5kIGphbiAxLCAyMDA1Ci0gICAgYXJyYXlbaXRlbSsrXSA9IG5ldyBUZXN0Q2FzZSggU0VD
VElPTiwgIkRhdGUoMjAwNCwxMSwzMSwyMyw1OSw1OSw5OTkpIiwgICAgIChuZXcgRGF0ZSgpKS50
b1N0cmluZygpLCAgICBEYXRlKDIwMDQsMTEsMzEsMjMsNTksNTksOTk5KSk7Ci0gICAgYXJyYXlb
aXRlbSsrXSA9IG5ldyBUZXN0Q2FzZSggU0VDVElPTiwgIkRhdGUoMjAwNSwwLDEsMCwwLDAsMCki
LCAgICAgICAgICAgIChuZXcgRGF0ZSgpKS50b1N0cmluZygpLCAgICBEYXRlKDIwMDUsMCwxLDAs
MCwwLDApICk7Ci0gICAgYXJyYXlbaXRlbSsrXSA9IG5ldyBUZXN0Q2FzZSggU0VDVElPTiwgIkRh
dGUoMjAwNSwwLDEsMCwwLDAsMSkiLCAgICAgICAgICAgIChuZXcgRGF0ZSgpKS50b1N0cmluZygp
LCAgICBEYXRlKDIwMDUsMCwxLDAsMCwwLDEpICk7Ci0gICAgYXJyYXlbaXRlbSsrXSA9IG5ldyBU
ZXN0Q2FzZSggU0VDVElPTiwgIkRhdGUoMjAwNCwxMSwzMSwxNiwwLDAsMCwwKSIsICAgICAgIChu
ZXcgRGF0ZSgpKS50b1N0cmluZygpLCAgICBEYXRlKDIwMDQsMTEsMzEsMTYsMCwwLDAsMCkpOwor
ICAgIGQxID0gbmV3IERhdGUoKTsKKyAgICBkMiA9IERhdGUucGFyc2UoRGF0ZSgyMDA0LDExLDMx
LDIzLDU5LDU5LDk5OSkpOworICAgIGFycmF5W2l0ZW0rK10gPSBuZXcgVGVzdENhc2UoU0VDVElP
TiwgIkRhdGUoMjAwNCwxMSwzMSwyMyw1OSw1OSw5OTkpIiwgIHRydWUsIGQyIC0gZDEgPD0gMTAw
MCk7CisKKyAgICBkMSA9IG5ldyBEYXRlKCk7CisgICAgZDIgPSBEYXRlLnBhcnNlKERhdGUoMjAw
NSwwLDEsMCwwLDAsMCkpOworICAgIGFycmF5W2l0ZW0rK10gPSBuZXcgVGVzdENhc2UoU0VDVElP
TiwgIkRhdGUoMjAwNSwwLDEsMCwwLDAsMCkiLCAgdHJ1ZSwgZDIgLSBkMSA8PSAxMDAwKTsKKwor
ICAgIGQxID0gbmV3IERhdGUoKTsKKyAgICBkMiA9IERhdGUucGFyc2UoRGF0ZSgyMDA1LDAsMSww
LDAsMCwxKSk7CisgICAgYXJyYXlbaXRlbSsrXSA9IG5ldyBUZXN0Q2FzZShTRUNUSU9OLCAiRGF0
ZSgyMDA1LDAsMSwwLDAsMCwxKSIsICB0cnVlLCBkMiAtIGQxIDw9IDEwMDApOworCisgICAgZDEg
PSBuZXcgRGF0ZSgpOworICAgIGQyID0gRGF0ZS5wYXJzZShEYXRlKDIwMDQsMTEsMzEsMTYsMCww
LDAsMCkpOworICAgIGFycmF5W2l0ZW0rK10gPSBuZXcgVGVzdENhc2UoU0VDVElPTiwgIkRhdGUo
MjAwNCwxMSwzMSwxNiwwLDAsMCwwKSIsICB0cnVlLCBkMiAtIGQxIDw9IDEwMDApOwogCiAgICAg
Ly8gRGF0ZXMgYXJvdW5kIGphbiAxLCAyMDMyCi0gICAgYXJyYXlbaXRlbSsrXSA9IG5ldyBUZXN0
Q2FzZSggU0VDVElPTiwgIkRhdGUoMjAzMSwxMSwzMSwyMyw1OSw1OSw5OTkpIiwgICAgIChuZXcg
RGF0ZSgpKS50b1N0cmluZygpLCAgICBEYXRlKDIwMzEsMTEsMzEsMjMsNTksNTksOTk5KSk7Ci0g
ICAgYXJyYXlbaXRlbSsrXSA9IG5ldyBUZXN0Q2FzZSggU0VDVElPTiwgIkRhdGUoMjAzMiwwLDEs
MCwwLDAsMCkiLCAgICAgICAgICAgIChuZXcgRGF0ZSgpKS50b1N0cmluZygpLCAgICBEYXRlKDIw
MzIsMCwxLDAsMCwwLDApICk7Ci0gICAgYXJyYXlbaXRlbSsrXSA9IG5ldyBUZXN0Q2FzZSggU0VD
VElPTiwgIkRhdGUoMjAzMiwwLDEsMCwwLDAsMSkiLCAgICAgICAgICAgIChuZXcgRGF0ZSgpKS50
b1N0cmluZygpLCAgICBEYXRlKDIwMzIsMCwxLDAsMCwwLDEpICk7Ci0gICAgYXJyYXlbaXRlbSsr
XSA9IG5ldyBUZXN0Q2FzZSggU0VDVElPTiwgIkRhdGUoMjAzMSwxMSwzMSwxNiwwLDAsMCwwKSIs
ICAgICAgIChuZXcgRGF0ZSgpKS50b1N0cmluZygpLCAgICBEYXRlKDIwMzEsMTEsMzEsMTYsMCww
LDAsMCkpOworICAgIGQxID0gbmV3IERhdGUoKTsKKyAgICBkMiA9IERhdGUucGFyc2UoRGF0ZSgy
MDMxLDExLDMxLDIzLDU5LDU5LDk5OSkpOworICAgIGFycmF5W2l0ZW0rK10gPSBuZXcgVGVzdENh
c2UoU0VDVElPTiwgIkRhdGUoMjAzMSwxMSwzMSwyMyw1OSw1OSw5OTkpIiwgIHRydWUsIGQyIC0g
ZDEgPD0gMTAwMCk7CisKKyAgICBkMSA9IG5ldyBEYXRlKCk7CisgICAgZDIgPSBEYXRlLnBhcnNl
KERhdGUoMjAzMiwwLDEsMCwwLDAsMCkpOworICAgIGFycmF5W2l0ZW0rK10gPSBuZXcgVGVzdENh
c2UoU0VDVElPTiwgIkRhdGUoMjAzMiwwLDEsMCwwLDAsMCkiLCAgdHJ1ZSwgZDIgLSBkMSA8PSAx
MDAwKTsKKworICAgIGQxID0gbmV3IERhdGUoKTsKKyAgICBkMiA9IERhdGUucGFyc2UoRGF0ZSgy
MDMyLDAsMSwwLDAsMCwxKSk7CisgICAgYXJyYXlbaXRlbSsrXSA9IG5ldyBUZXN0Q2FzZShTRUNU
SU9OLCAiRGF0ZSgyMDMyLDAsMSwwLDAsMCwxKSIsICB0cnVlLCBkMiAtIGQxIDw9IDEwMDApOwor
CisgICAgZDEgPSBuZXcgRGF0ZSgpOworICAgIGQyID0gRGF0ZS5wYXJzZShEYXRlKDIwMzEsMTEs
MzEsMTYsMCwwLDAsMCkpOworICAgIGFycmF5W2l0ZW0rK10gPSBuZXcgVGVzdENhc2UoU0VDVElP
TiwgIkRhdGUoMjAzMSwxMSwzMSwxNiwwLDAsMCwwKSIsICB0cnVlLCBkMiAtIGQxIDw9IDEwMDAp
OwogCiAgICAgcmV0dXJuICggYXJyYXkgKTsKIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS90ZXN0cy9tb3ppbGxhL2VjbWEvRGF0ZS8xNS45LjIuMi0xLmpzCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9tb3ppbGxhL2VjbWEvRGF0ZS8xNS45LjIuMi0xLmpz
CShyZXZpc2lvbiAxNzY1OTMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvbW96aWxs
YS9lY21hL0RhdGUvMTUuOS4yLjItMS5qcwkod29ya2luZyBjb3B5KQpAQCAtMzUsNyArMzUsNiBA
QAogICAgIHZhciBWRVJTSU9OID0gOTcwNjsKICAgICBzdGFydFRlc3QoKTsKICAgICB2YXIgU0VD
VElPTiA9ICIxNS45LjIuMiI7Ci0gICAgdmFyIFRPTEVSQU5DRSA9IDEwMDsKICAgICB2YXIgVElU
TEUgPSAiVGhlIERhdGUgQ29uc3RydWN0b3IgQ2FsbGVkIGFzIGEgRnVuY3Rpb24iOwogCiAgICAg
d3JpdGVIZWFkZXJUb0xvZyhTRUNUSU9OKyIgIitUSVRMRSApOwpAQCAtNDksNDUgKzQ4LDMwIEBA
IGZ1bmN0aW9uIGdldFRlc3RDYXNlcygpIHsKICAgICB2YXIgYXJyYXkgPSBuZXcgQXJyYXkoKTsK
ICAgICB2YXIgaXRlbSA9IDA7CiAKKyAgICAvLyBhbGxvdyB1cCB0byAxIHNlY29uZCBkaWZmZXJl
bmNlIGR1ZSB0byBwb3NzaWJpbGl0eQorICAgIC8vIHRoZSBkYXRlIG1heSBjaGFuZ2UgYnkgMSBz
ZWNvbmQgaW4gYmV0d2VlbiBjYWxscyB0byBEYXRlCisKKyAgICB2YXIgZDE7CisgICAgdmFyIGQy
OworCiAgICAgLy8gRGF0ZXMgYXJvdW5kIDE5NzAKIAotICAgIGFycmF5W2l0ZW0rK10gPSBuZXcg
VGVzdENhc2UoIFNFQ1RJT04sICJEYXRlKDE5NzAsMCwxLDAsMCwwKSIsICAgICAgICAgIChuZXcg
RGF0ZSgpKS50b1N0cmluZygpLCAgICBEYXRlKDE5NzAsMCwxLDAsMCwwKSApOwotICAgIGFycmF5
W2l0ZW0rK10gPSBuZXcgVGVzdENhc2UoIFNFQ1RJT04sICJEYXRlKDE5NjksMTEsMzEsMTUsNTks
NTkpIiwgICAgIChuZXcgRGF0ZSgpKS50b1N0cmluZygpLCAgICBEYXRlKDE5NjksMTEsMzEsMTUs
NTksNTkpKQotICAgIGFycmF5W2l0ZW0rK10gPSBuZXcgVGVzdENhc2UoIFNFQ1RJT04sICJEYXRl
KDE5NjksMTEsMzEsMTYsMCwwKSIsICAgICAgIChuZXcgRGF0ZSgpKS50b1N0cmluZygpLCAgICBE
YXRlKDE5NjksMTEsMzEsMTYsMCwwKSkKLSAgICBhcnJheVtpdGVtKytdID0gbmV3IFRlc3RDYXNl
KCBTRUNUSU9OLCAiRGF0ZSgxOTY5LDExLDMxLDE2LDAsMSkiLCAgICAgICAobmV3IERhdGUoKSku
dG9TdHJpbmcoKSwgICAgRGF0ZSgxOTY5LDExLDMxLDE2LDAsMSkpCi0vKgotICAgIC8vIERhdGVz
IGFyb3VuZCAyMDAwCi0gICAgYXJyYXlbaXRlbSsrXSA9IG5ldyBUZXN0Q2FzZSggU0VDVElPTiwg
IkRhdGUoMTk5OSwxMSwxNSw1OSw1OSkiLCAgICAgICAgKG5ldyBEYXRlKCkpLnRvU3RyaW5nKCks
ICAgIERhdGUoMTk5OSwxMSwxNSw1OSw1OSkpOwotICAgIGFycmF5W2l0ZW0rK10gPSBuZXcgVGVz
dENhc2UoIFNFQ1RJT04sICJEYXRlKDE5OTksMTEsMTYsMCwwLDApIiwgICAgICAgIChuZXcgRGF0
ZSgpKS50b1N0cmluZygpLCAgICBEYXRlKDE5OTksMTEsMTYsMCwwLDApKTsKLSAgICBhcnJheVtp
dGVtKytdID0gbmV3IFRlc3RDYXNlKCBTRUNUSU9OLCAiRGF0ZSgxOTk5LDExLDMxLDIzLDU5LDU5
KSIsICAgICAobmV3IERhdGUoKSkudG9TdHJpbmcoKSwgICAgRGF0ZSgxOTk5LDExLDMxLDIzLDU5
LDU5KSApOwotICAgIGFycmF5W2l0ZW0rK10gPSBuZXcgVGVzdENhc2UoIFNFQ1RJT04sICJEYXRl
KDIwMDAsMCwxLDAsMCwwKSIsICAgICAgICAgIChuZXcgRGF0ZSgpKS50b1N0cmluZygpLCAgICBE
YXRlKDIwMDAsMCwwLDAsMCwwKSApOwotICAgIGFycmF5W2l0ZW0rK10gPSBuZXcgVGVzdENhc2Uo
IFNFQ1RJT04sICJEYXRlKDIwMDAsMCwxLDAsMCwxKSIsICAgICAgICAgIChuZXcgRGF0ZSgpKS50
b1N0cmluZygpLCAgICBEYXRlKDIwMDAsMCwwLDAsMCwxKSApOwotCi0gICAgLy8gRGF0ZXMgYXJv
dW5kIDE5MDAKLQotICAgIGFycmF5W2l0ZW0rK10gPSBuZXcgVGVzdENhc2UoIFNFQ1RJT04sICJE
YXRlKDE4OTksMTEsMzEsMjMsNTksNTkpIiwgICAgIChuZXcgRGF0ZSgpKS50b1N0cmluZygpLCAg
ICBEYXRlKDE4OTksMTEsMzEsMjMsNTksNTkpKTsKLSAgICBhcnJheVtpdGVtKytdID0gbmV3IFRl
c3RDYXNlKCBTRUNUSU9OLCAiRGF0ZSgxOTAwLDAsMSwwLDAsMCkiLCAgICAgICAgICAobmV3IERh
dGUoKSkudG9TdHJpbmcoKSwgICAgRGF0ZSgxOTAwLDAsMSwwLDAsMCkgKTsKLSAgICBhcnJheVtp
dGVtKytdID0gbmV3IFRlc3RDYXNlKCBTRUNUSU9OLCAiRGF0ZSgxOTAwLDAsMSwwLDAsMSkiLCAg
ICAgICAgICAobmV3IERhdGUoKSkudG9TdHJpbmcoKSwgICAgRGF0ZSgxOTAwLDAsMSwwLDAsMSkg
KTsKLSAgICBhcnJheVtpdGVtKytdID0gbmV3IFRlc3RDYXNlKCBTRUNUSU9OLCAiRGF0ZSgxODk5
LDExLDMxLDE2LDAsMCwwKSIsICAgICAobmV3IERhdGUoKSkudG9TdHJpbmcoKSwgICAgRGF0ZSgx
ODk5LDExLDMxLDE2LDAsMCwwKSk7Ci0KLSAgICAvLyBEYXRlcyBhcm91bmQgZmViIDI5LCAyMDAw
Ci0KLSAgICBhcnJheVtpdGVtKytdID0gbmV3IFRlc3RDYXNlKCBTRUNUSU9OLCAiRGF0ZSggMjAw
MCwxLDI5LDAsMCwwKSIsICAgICAgICAobmV3IERhdGUoKSkudG9TdHJpbmcoKSwgICAgRGF0ZSgy
MDAwLDEsMjksMCwwLDApKTsKLSAgICBhcnJheVtpdGVtKytdID0gbmV3IFRlc3RDYXNlKCBTRUNU
SU9OLCAiRGF0ZSggMjAwMCwxLDI4LDIzLDU5LDU5KSIsICAgICAobmV3IERhdGUoKSkudG9TdHJp
bmcoKSwgICAgRGF0ZSggMjAwMCwxLDI4LDIzLDU5LDU5KSk7Ci0gICAgYXJyYXlbaXRlbSsrXSA9
IG5ldyBUZXN0Q2FzZSggU0VDVElPTiwgIkRhdGUoIDIwMDAsMSwyNywxNiwwLDApIiwgICAgICAg
KG5ldyBEYXRlKCkpLnRvU3RyaW5nKCksICAgIERhdGUoMjAwMCwxLDI3LDE2LDAsMCkpOwotCi0g
ICAgLy8gRGF0ZXMgYXJvdW5kIGphbiAxLCAyMDA1Ci0gICAgYXJyYXlbaXRlbSsrXSA9IG5ldyBU
ZXN0Q2FzZSggU0VDVElPTiwgIkRhdGUoMjAwNCwxMSwzMSwyMyw1OSw1OSkiLCAgICAgKG5ldyBE
YXRlKCkpLnRvU3RyaW5nKCksICAgIERhdGUoMjAwNCwxMSwzMSwyMyw1OSw1OSkpOwotICAgIGFy
cmF5W2l0ZW0rK10gPSBuZXcgVGVzdENhc2UoIFNFQ1RJT04sICJEYXRlKDIwMDUsMCwxLDAsMCww
KSIsICAgICAgICAgIChuZXcgRGF0ZSgpKS50b1N0cmluZygpLCAgICBEYXRlKDIwMDUsMCwxLDAs
MCwwKSApOwotICAgIGFycmF5W2l0ZW0rK10gPSBuZXcgVGVzdENhc2UoIFNFQ1RJT04sICJEYXRl
KDIwMDUsMCwxLDAsMCwxKSIsICAgICAgICAgIChuZXcgRGF0ZSgpKS50b1N0cmluZygpLCAgICBE
YXRlKDIwMDUsMCwxLDAsMCwxKSApOwotICAgIGFycmF5W2l0ZW0rK10gPSBuZXcgVGVzdENhc2Uo
IFNFQ1RJT04sICJEYXRlKDIwMDQsMTEsMzEsMTYsMCwwLDApIiwgICAgIChuZXcgRGF0ZSgpKS50
b1N0cmluZygpLCAgICBEYXRlKDIwMDQsMTEsMzEsMTYsMCwwLDApKTsKLQotICAgIC8vIERhdGVz
IGFyb3VuZCBqYW4gMSwgMjAzMgotICAgIGFycmF5W2l0ZW0rK10gPSBuZXcgVGVzdENhc2UoIFNF
Q1RJT04sICJEYXRlKDIwMzEsMTEsMzEsMjMsNTksNTkpIiwgICAgIChuZXcgRGF0ZSgpKS50b1N0
cmluZygpLCAgICBEYXRlKDIwMzEsMTEsMzEsMjMsNTksNTkpKTsKLSAgICBhcnJheVtpdGVtKytd
ID0gbmV3IFRlc3RDYXNlKCBTRUNUSU9OLCAiRGF0ZSgyMDMyLDAsMSwwLDAsMCkiLCAgICAgICAg
ICAobmV3IERhdGUoKSkudG9TdHJpbmcoKSwgICAgRGF0ZSgyMDMyLDAsMSwwLDAsMCkgKTsKLSAg
ICBhcnJheVtpdGVtKytdID0gbmV3IFRlc3RDYXNlKCBTRUNUSU9OLCAiRGF0ZSgyMDMyLDAsMSww
LDAsMSkiLCAgICAgICAgICAobmV3IERhdGUoKSkudG9TdHJpbmcoKSwgICAgRGF0ZSgyMDMyLDAs
MSwwLDAsMSkgKTsKLSAgICBhcnJheVtpdGVtKytdID0gbmV3IFRlc3RDYXNlKCBTRUNUSU9OLCAi
RGF0ZSgyMDMxLDExLDMxLDE2LDAsMCwwKSIsICAgICAobmV3IERhdGUoKSkudG9TdHJpbmcoKSwg
ICAgRGF0ZSgyMDMxLDExLDMxLDE2LDAsMCwwKSk7Ci0qLworICAgIGQxID0gbmV3IERhdGUoKTsK
KyAgICBkMiA9IERhdGUucGFyc2UoRGF0ZSgxOTcwLDAsMSwwLDAsMCkpOworICAgIGFycmF5W2l0
ZW0rK10gPSBuZXcgVGVzdENhc2UoU0VDVElPTiwgIkRhdGUoMTk3MCwwLDEsMCwwLDApIiwgdHJ1
ZSwgZDIgLSBkMSA8PSAxMDAwKTsKKworICAgIGQxID0gbmV3IERhdGUoKTsKKyAgICBkMiA9IERh
dGUucGFyc2UoRGF0ZSgxOTY5LDExLDMxLDE1LDU5LDU5KSk7CisgICAgYXJyYXlbaXRlbSsrXSA9
IG5ldyBUZXN0Q2FzZShTRUNUSU9OLCAiRGF0ZSgxOTY5LDExLDMxLDE1LDU5LDU5KSIsIHRydWUs
IGQyIC0gZDEgPD0gMTAwMCk7CisKKyAgICBkMSA9IG5ldyBEYXRlKCk7CisgICAgZDIgPSBEYXRl
LnBhcnNlKERhdGUoMTk2OSwxMSwzMSwxNiwwLDApKTsKKyAgICBhcnJheVtpdGVtKytdID0gbmV3
IFRlc3RDYXNlKFNFQ1RJT04sICJEYXRlKDE5NjksMTEsMzEsMTYsMCwwKSIsIHRydWUsIGQyIC0g
ZDEgPD0gMTAwMCk7CisKKyAgICBkMSA9IG5ldyBEYXRlKCk7CisgICAgZDIgPSBEYXRlLnBhcnNl
KERhdGUoMTk2OSwxMSwzMSwxNiwwLDEpKTsKKyAgICBhcnJheVtpdGVtKytdID0gbmV3IFRlc3RD
YXNlKFNFQ1RJT04sICJEYXRlKDE5NjksMTEsMzEsMTYsMCwxKSIsIHRydWUsIGQyIC0gZDEgPD0g
MTAwMCk7CisKICAgICByZXR1cm4gKCBhcnJheSApOwogfQogZnVuY3Rpb24gdGVzdCgpIHsKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9tb3ppbGxhL2VjbWEvRGF0ZS8xNS45LjIu
Mi0yLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9tb3ppbGxh
L2VjbWEvRGF0ZS8xNS45LjIuMi0yLmpzCShyZXZpc2lvbiAxNzY1OTMpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvdGVzdHMvbW96aWxsYS9lY21hL0RhdGUvMTUuOS4yLjItMi5qcwkod29ya2lu
ZyBjb3B5KQpAQCAtMzUsNyArMzUsNiBAQAogICAgIHZhciBWRVJTSU9OID0gOTcwNjsKICAgICBz
dGFydFRlc3QoKTsKICAgICB2YXIgU0VDVElPTiA9ICIxNS45LjIuMiI7Ci0gICAgdmFyIFRPTEVS
QU5DRSA9IDEwMDsKICAgICB2YXIgVElUTEUgPSAiVGhlIERhdGUgQ29uc3RydWN0b3IgQ2FsbGVk
IGFzIGEgRnVuY3Rpb24iOwogCiAgICAgd3JpdGVIZWFkZXJUb0xvZyhTRUNUSU9OKyIgIitUSVRM
RSApOwpAQCAtNDksMzkgKzQ4LDMzIEBAIGZ1bmN0aW9uIGdldFRlc3RDYXNlcygpIHsKICAgICB2
YXIgYXJyYXkgPSBuZXcgQXJyYXkoKTsKICAgICB2YXIgaXRlbSA9IDA7CiAKKyAgICAvLyBhbGxv
dyB1cCB0byAxIHNlY29uZCBkaWZmZXJlbmNlIGR1ZSB0byBwb3NzaWJpbGl0eQorICAgIC8vIHRo
ZSBkYXRlIG1heSBjaGFuZ2UgYnkgMSBzZWNvbmQgaW4gYmV0d2VlbiBjYWxscyB0byBEYXRlCisK
KyAgICB2YXIgZDE7CisgICAgdmFyIGQyOworCiAgICAgLy8gRGF0ZXMgYXJvdW5kIDIwMDAKLSAg
ICBhcnJheVtpdGVtKytdID0gbmV3IFRlc3RDYXNlKCBTRUNUSU9OLCAiRGF0ZSgxOTk5LDExLDE1
LDU5LDU5KSIsICAgICAgICAobmV3IERhdGUoKSkudG9TdHJpbmcoKSwgICAgRGF0ZSgxOTk5LDEx
LDE1LDU5LDU5KSk7Ci0gICAgYXJyYXlbaXRlbSsrXSA9IG5ldyBUZXN0Q2FzZSggU0VDVElPTiwg
IkRhdGUoMTk5OSwxMSwxNiwwLDAsMCkiLCAgICAgICAgKG5ldyBEYXRlKCkpLnRvU3RyaW5nKCks
ICAgIERhdGUoMTk5OSwxMSwxNiwwLDAsMCkpOwotICAgIGFycmF5W2l0ZW0rK10gPSBuZXcgVGVz
dENhc2UoIFNFQ1RJT04sICJEYXRlKDE5OTksMTEsMzEsMjMsNTksNTkpIiwgICAgIChuZXcgRGF0
ZSgpKS50b1N0cmluZygpLCAgICBEYXRlKDE5OTksMTEsMzEsMjMsNTksNTkpICk7Ci0gICAgYXJy
YXlbaXRlbSsrXSA9IG5ldyBUZXN0Q2FzZSggU0VDVElPTiwgIkRhdGUoMjAwMCwwLDEsMCwwLDAp
IiwgICAgICAgICAgKG5ldyBEYXRlKCkpLnRvU3RyaW5nKCksICAgIERhdGUoMjAwMCwwLDAsMCww
LDApICk7Ci0gICAgYXJyYXlbaXRlbSsrXSA9IG5ldyBUZXN0Q2FzZSggU0VDVElPTiwgIkRhdGUo
MjAwMCwwLDEsMCwwLDEpIiwgICAgICAgICAgKG5ldyBEYXRlKCkpLnRvU3RyaW5nKCksICAgIERh
dGUoMjAwMCwwLDAsMCwwLDEpICk7Ci0KLS8qCi0gICAgLy8gRGF0ZXMgYXJvdW5kIDE5MDAKLQot
ICAgIGFycmF5W2l0ZW0rK10gPSBuZXcgVGVzdENhc2UoIFNFQ1RJT04sICJEYXRlKDE4OTksMTEs
MzEsMjMsNTksNTkpIiwgICAgIChuZXcgRGF0ZSgpKS50b1N0cmluZygpLCAgICBEYXRlKDE4OTks
MTEsMzEsMjMsNTksNTkpKTsKLSAgICBhcnJheVtpdGVtKytdID0gbmV3IFRlc3RDYXNlKCBTRUNU
SU9OLCAiRGF0ZSgxOTAwLDAsMSwwLDAsMCkiLCAgICAgICAgICAobmV3IERhdGUoKSkudG9TdHJp
bmcoKSwgICAgRGF0ZSgxOTAwLDAsMSwwLDAsMCkgKTsKLSAgICBhcnJheVtpdGVtKytdID0gbmV3
IFRlc3RDYXNlKCBTRUNUSU9OLCAiRGF0ZSgxOTAwLDAsMSwwLDAsMSkiLCAgICAgICAgICAobmV3
IERhdGUoKSkudG9TdHJpbmcoKSwgICAgRGF0ZSgxOTAwLDAsMSwwLDAsMSkgKTsKLSAgICBhcnJh
eVtpdGVtKytdID0gbmV3IFRlc3RDYXNlKCBTRUNUSU9OLCAiRGF0ZSgxODk5LDExLDMxLDE2LDAs
MCwwKSIsICAgICAobmV3IERhdGUoKSkudG9TdHJpbmcoKSwgICAgRGF0ZSgxODk5LDExLDMxLDE2
LDAsMCwwKSk7Ci0KLSAgICAvLyBEYXRlcyBhcm91bmQgZmViIDI5LCAyMDAwCi0KLSAgICBhcnJh
eVtpdGVtKytdID0gbmV3IFRlc3RDYXNlKCBTRUNUSU9OLCAiRGF0ZSggMjAwMCwxLDI5LDAsMCww
KSIsICAgICAgICAobmV3IERhdGUoKSkudG9TdHJpbmcoKSwgICAgRGF0ZSgyMDAwLDEsMjksMCww
LDApKTsKLSAgICBhcnJheVtpdGVtKytdID0gbmV3IFRlc3RDYXNlKCBTRUNUSU9OLCAiRGF0ZSgg
MjAwMCwxLDI4LDIzLDU5LDU5KSIsICAgICAobmV3IERhdGUoKSkudG9TdHJpbmcoKSwgICAgRGF0
ZSggMjAwMCwxLDI4LDIzLDU5LDU5KSk7Ci0gICAgYXJyYXlbaXRlbSsrXSA9IG5ldyBUZXN0Q2Fz
ZSggU0VDVElPTiwgIkRhdGUoIDIwMDAsMSwyNywxNiwwLDApIiwgICAgICAgKG5ldyBEYXRlKCkp
LnRvU3RyaW5nKCksICAgIERhdGUoMjAwMCwxLDI3LDE2LDAsMCkpOwotCi0gICAgLy8gRGF0ZXMg
YXJvdW5kIGphbiAxLCAyMDA1Ci0gICAgYXJyYXlbaXRlbSsrXSA9IG5ldyBUZXN0Q2FzZSggU0VD
VElPTiwgIkRhdGUoMjAwNCwxMSwzMSwyMyw1OSw1OSkiLCAgICAgKG5ldyBEYXRlKCkpLnRvU3Ry
aW5nKCksICAgIERhdGUoMjAwNCwxMSwzMSwyMyw1OSw1OSkpOwotICAgIGFycmF5W2l0ZW0rK10g
PSBuZXcgVGVzdENhc2UoIFNFQ1RJT04sICJEYXRlKDIwMDUsMCwxLDAsMCwwKSIsICAgICAgICAg
IChuZXcgRGF0ZSgpKS50b1N0cmluZygpLCAgICBEYXRlKDIwMDUsMCwxLDAsMCwwKSApOwotICAg
IGFycmF5W2l0ZW0rK10gPSBuZXcgVGVzdENhc2UoIFNFQ1RJT04sICJEYXRlKDIwMDUsMCwxLDAs
MCwxKSIsICAgICAgICAgIChuZXcgRGF0ZSgpKS50b1N0cmluZygpLCAgICBEYXRlKDIwMDUsMCwx
LDAsMCwxKSApOwotICAgIGFycmF5W2l0ZW0rK10gPSBuZXcgVGVzdENhc2UoIFNFQ1RJT04sICJE
YXRlKDIwMDQsMTEsMzEsMTYsMCwwLDApIiwgICAgIChuZXcgRGF0ZSgpKS50b1N0cmluZygpLCAg
ICBEYXRlKDIwMDQsMTEsMzEsMTYsMCwwLDApKTsKLQotICAgIC8vIERhdGVzIGFyb3VuZCBqYW4g
MSwgMjAzMgotICAgIGFycmF5W2l0ZW0rK10gPSBuZXcgVGVzdENhc2UoIFNFQ1RJT04sICJEYXRl
KDIwMzEsMTEsMzEsMjMsNTksNTkpIiwgICAgIChuZXcgRGF0ZSgpKS50b1N0cmluZygpLCAgICBE
YXRlKDIwMzEsMTEsMzEsMjMsNTksNTkpKTsKLSAgICBhcnJheVtpdGVtKytdID0gbmV3IFRlc3RD
YXNlKCBTRUNUSU9OLCAiRGF0ZSgyMDMyLDAsMSwwLDAsMCkiLCAgICAgICAgICAobmV3IERhdGUo
KSkudG9TdHJpbmcoKSwgICAgRGF0ZSgyMDMyLDAsMSwwLDAsMCkgKTsKLSAgICBhcnJheVtpdGVt
KytdID0gbmV3IFRlc3RDYXNlKCBTRUNUSU9OLCAiRGF0ZSgyMDMyLDAsMSwwLDAsMSkiLCAgICAg
ICAgICAobmV3IERhdGUoKSkudG9TdHJpbmcoKSwgICAgRGF0ZSgyMDMyLDAsMSwwLDAsMSkgKTsK
LSAgICBhcnJheVtpdGVtKytdID0gbmV3IFRlc3RDYXNlKCBTRUNUSU9OLCAiRGF0ZSgyMDMxLDEx
LDMxLDE2LDAsMCwwKSIsICAgICAobmV3IERhdGUoKSkudG9TdHJpbmcoKSwgICAgRGF0ZSgyMDMx
LDExLDMxLDE2LDAsMCwwKSk7Ci0qLworICAgIGQxID0gbmV3IERhdGUoKTsKKyAgICBkMiA9IERh
dGUucGFyc2UoRGF0ZSgxOTk5LDExLDE1LDU5LDU5KSk7CisgICAgYXJyYXlbaXRlbSsrXSA9IG5l
dyBUZXN0Q2FzZSggU0VDVElPTiwgIkRhdGUoMTk5OSwxMSwxNSw1OSw1OSkiLCB0cnVlLCBkMiAt
IGQxIDw9IDEwMDApOworCisgICAgZDEgPSBuZXcgRGF0ZSgpOworICAgIGQyID0gRGF0ZS5wYXJz
ZShEYXRlKDE5OTksMTEsMTYsMCwwLDApKTsKKyAgICBhcnJheVtpdGVtKytdID0gbmV3IFRlc3RD
YXNlKCBTRUNUSU9OLCAiRGF0ZSgxOTk5LDExLDE2LDAsMCwwKSIsIHRydWUsIGQyIC0gZDEgPD0g
MTAwMCk7CisKKyAgICBkMSA9IG5ldyBEYXRlKCk7CisgICAgZDIgPSBEYXRlLnBhcnNlKERhdGUo
MTk5OSwxMSwzMSwyMyw1OSw1OSkpOworICAgIGFycmF5W2l0ZW0rK10gPSBuZXcgVGVzdENhc2Uo
IFNFQ1RJT04sICJEYXRlKDE5OTksMTEsMzEsMjMsNTksNTkpIiwgdHJ1ZSwgZDIgLSBkMSA8PSAx
MDAwKTsKKworICAgIGQxID0gbmV3IERhdGUoKTsKKyAgICBkMiA9IERhdGUucGFyc2UoRGF0ZSgy
MDAwLDAsMCwwLDAsMCkpOworICAgIGFycmF5W2l0ZW0rK10gPSBuZXcgVGVzdENhc2UoIFNFQ1RJ
T04sICJEYXRlKDIwMDAsMCwxLDAsMCwwKSIsIHRydWUsIGQyIC0gZDEgPD0gMTAwMCk7CisKKyAg
ICBkMSA9IG5ldyBEYXRlKCk7CisgICAgZDIgPSBEYXRlLnBhcnNlKERhdGUoMjAwMCwwLDAsMCww
LDEpKTsKKyAgICBhcnJheVtpdGVtKytdID0gbmV3IFRlc3RDYXNlKCBTRUNUSU9OLCAiRGF0ZSgy
MDAwLDAsMSwwLDAsMSkiLCB0cnVlLCBkMiAtIGQxIDw9IDEwMDApCisKICAgICByZXR1cm4gKCBh
cnJheSApOwogfQogZnVuY3Rpb24gdGVzdCgpIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS90ZXN0cy9tb3ppbGxhL2VjbWEvRGF0ZS8xNS45LjIuMi0zLmpzCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9tb3ppbGxhL2VjbWEvRGF0ZS8xNS45LjIuMi0zLmpz
CShyZXZpc2lvbiAxNzY1OTMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvbW96aWxs
YS9lY21hL0RhdGUvMTUuOS4yLjItMy5qcwkod29ya2luZyBjb3B5KQpAQCAtMzUsNyArMzUsNiBA
QAogICAgIHZhciBWRVJTSU9OID0gOTcwNjsKICAgICBzdGFydFRlc3QoKTsKICAgICB2YXIgU0VD
VElPTiA9ICIxNS45LjIuMiI7Ci0gICAgdmFyIFRPTEVSQU5DRSA9IDEwMDsKICAgICB2YXIgVElU
TEUgPSAiVGhlIERhdGUgQ29uc3RydWN0b3IgQ2FsbGVkIGFzIGEgRnVuY3Rpb24iOwogCiAgICAg
d3JpdGVIZWFkZXJUb0xvZyhTRUNUSU9OKyIgIitUSVRMRSApOwpAQCAtNDksMzIgKzQ4LDMwIEBA
IGZ1bmN0aW9uIGdldFRlc3RDYXNlcygpIHsKICAgICB2YXIgYXJyYXkgPSBuZXcgQXJyYXkoKTsK
ICAgICB2YXIgaXRlbSA9IDA7CiAKKyAgICAvLyBhbGxvdyB1cCB0byAxIHNlY29uZCBkaWZmZXJl
bmNlIGR1ZSB0byBwb3NzaWJpbGl0eQorICAgIC8vIHRoZSBkYXRlIG1heSBjaGFuZ2UgYnkgMSBz
ZWNvbmQgaW4gYmV0d2VlbiBjYWxscyB0byBEYXRlCisKKyAgICB2YXIgZDE7CisgICAgdmFyIGQy
OworCiAgICAgLy8gRGF0ZXMgYXJvdW5kIDE5MDAKIAotICAgIGFycmF5W2l0ZW0rK10gPSBuZXcg
VGVzdENhc2UoIFNFQ1RJT04sICJEYXRlKDE4OTksMTEsMzEsMjMsNTksNTkpIiwgICAgIChuZXcg
RGF0ZSgpKS50b1N0cmluZygpLCAgICBEYXRlKDE4OTksMTEsMzEsMjMsNTksNTkpKTsKLSAgICBh
cnJheVtpdGVtKytdID0gbmV3IFRlc3RDYXNlKCBTRUNUSU9OLCAiRGF0ZSgxOTAwLDAsMSwwLDAs
MCkiLCAgICAgICAgICAobmV3IERhdGUoKSkudG9TdHJpbmcoKSwgICAgRGF0ZSgxOTAwLDAsMSww
LDAsMCkgKTsKLSAgICBhcnJheVtpdGVtKytdID0gbmV3IFRlc3RDYXNlKCBTRUNUSU9OLCAiRGF0
ZSgxOTAwLDAsMSwwLDAsMSkiLCAgICAgICAgICAobmV3IERhdGUoKSkudG9TdHJpbmcoKSwgICAg
RGF0ZSgxOTAwLDAsMSwwLDAsMSkgKTsKLSAgICBhcnJheVtpdGVtKytdID0gbmV3IFRlc3RDYXNl
KCBTRUNUSU9OLCAiRGF0ZSgxODk5LDExLDMxLDE2LDAsMCwwKSIsICAgICAobmV3IERhdGUoKSku
dG9TdHJpbmcoKSwgICAgRGF0ZSgxODk5LDExLDMxLDE2LDAsMCwwKSk7Ci0KLS8qCi0gICAgLy8g
RGF0ZXMgYXJvdW5kIGZlYiAyOSwgMjAwMAotCi0gICAgYXJyYXlbaXRlbSsrXSA9IG5ldyBUZXN0
Q2FzZSggU0VDVElPTiwgIkRhdGUoIDIwMDAsMSwyOSwwLDAsMCkiLCAgICAgICAgKG5ldyBEYXRl
KCkpLnRvU3RyaW5nKCksICAgIERhdGUoMjAwMCwxLDI5LDAsMCwwKSk7Ci0gICAgYXJyYXlbaXRl
bSsrXSA9IG5ldyBUZXN0Q2FzZSggU0VDVElPTiwgIkRhdGUoIDIwMDAsMSwyOCwyMyw1OSw1OSki
LCAgICAgKG5ldyBEYXRlKCkpLnRvU3RyaW5nKCksICAgIERhdGUoIDIwMDAsMSwyOCwyMyw1OSw1
OSkpOwotICAgIGFycmF5W2l0ZW0rK10gPSBuZXcgVGVzdENhc2UoIFNFQ1RJT04sICJEYXRlKCAy
MDAwLDEsMjcsMTYsMCwwKSIsICAgICAgIChuZXcgRGF0ZSgpKS50b1N0cmluZygpLCAgICBEYXRl
KDIwMDAsMSwyNywxNiwwLDApKTsKLQotICAgIC8vIERhdGVzIGFyb3VuZCBqYW4gMSwgMjAwNQot
ICAgIGFycmF5W2l0ZW0rK10gPSBuZXcgVGVzdENhc2UoIFNFQ1RJT04sICJEYXRlKDIwMDQsMTEs
MzEsMjMsNTksNTkpIiwgICAgIChuZXcgRGF0ZSgpKS50b1N0cmluZygpLCAgICBEYXRlKDIwMDQs
MTEsMzEsMjMsNTksNTkpKTsKLSAgICBhcnJheVtpdGVtKytdID0gbmV3IFRlc3RDYXNlKCBTRUNU
SU9OLCAiRGF0ZSgyMDA1LDAsMSwwLDAsMCkiLCAgICAgICAgICAobmV3IERhdGUoKSkudG9TdHJp
bmcoKSwgICAgRGF0ZSgyMDA1LDAsMSwwLDAsMCkgKTsKLSAgICBhcnJheVtpdGVtKytdID0gbmV3
IFRlc3RDYXNlKCBTRUNUSU9OLCAiRGF0ZSgyMDA1LDAsMSwwLDAsMSkiLCAgICAgICAgICAobmV3
IERhdGUoKSkudG9TdHJpbmcoKSwgICAgRGF0ZSgyMDA1LDAsMSwwLDAsMSkgKTsKLSAgICBhcnJh
eVtpdGVtKytdID0gbmV3IFRlc3RDYXNlKCBTRUNUSU9OLCAiRGF0ZSgyMDA0LDExLDMxLDE2LDAs
MCwwKSIsICAgICAobmV3IERhdGUoKSkudG9TdHJpbmcoKSwgICAgRGF0ZSgyMDA0LDExLDMxLDE2
LDAsMCwwKSk7Ci0KLSAgICAvLyBEYXRlcyBhcm91bmQgamFuIDEsIDIwMzIKLSAgICBhcnJheVtp
dGVtKytdID0gbmV3IFRlc3RDYXNlKCBTRUNUSU9OLCAiRGF0ZSgyMDMxLDExLDMxLDIzLDU5LDU5
KSIsICAgICAobmV3IERhdGUoKSkudG9TdHJpbmcoKSwgICAgRGF0ZSgyMDMxLDExLDMxLDIzLDU5
LDU5KSk7Ci0gICAgYXJyYXlbaXRlbSsrXSA9IG5ldyBUZXN0Q2FzZSggU0VDVElPTiwgIkRhdGUo
MjAzMiwwLDEsMCwwLDApIiwgICAgICAgICAgKG5ldyBEYXRlKCkpLnRvU3RyaW5nKCksICAgIERh
dGUoMjAzMiwwLDEsMCwwLDApICk7Ci0gICAgYXJyYXlbaXRlbSsrXSA9IG5ldyBUZXN0Q2FzZSgg
U0VDVElPTiwgIkRhdGUoMjAzMiwwLDEsMCwwLDEpIiwgICAgICAgICAgKG5ldyBEYXRlKCkpLnRv
U3RyaW5nKCksICAgIERhdGUoMjAzMiwwLDEsMCwwLDEpICk7Ci0gICAgYXJyYXlbaXRlbSsrXSA9
IG5ldyBUZXN0Q2FzZSggU0VDVElPTiwgIkRhdGUoMjAzMSwxMSwzMSwxNiwwLDAsMCkiLCAgICAg
KG5ldyBEYXRlKCkpLnRvU3RyaW5nKCksICAgIERhdGUoMjAzMSwxMSwzMSwxNiwwLDAsMCkpOwot
Ki8KKyAgICBkMSA9IG5ldyBEYXRlKCk7CisgICAgZDIgPSBEYXRlLnBhcnNlKERhdGUoMTg5OSwx
MSwzMSwyMyw1OSw1OSkpOworICAgIGFycmF5W2l0ZW0rK10gPSBuZXcgVGVzdENhc2UoIFNFQ1RJ
T04sICJEYXRlKDE4OTksMTEsMzEsMjMsNTksNTkpIiwgdHJ1ZSwgZDIgLSBkMSA8PSAxMDAwKTsK
KworICAgIGQxID0gbmV3IERhdGUoKTsKKyAgICBkMiA9IERhdGUucGFyc2UoRGF0ZSgxOTAwLDAs
MSwwLDAsMCkpOworICAgIGFycmF5W2l0ZW0rK10gPSBuZXcgVGVzdENhc2UoIFNFQ1RJT04sICJE
YXRlKDE5MDAsMCwxLDAsMCwwKSIsIHRydWUsIGQyIC0gZDEgPD0gMTAwMCk7CisKKyAgICBkMSA9
IG5ldyBEYXRlKCk7CisgICAgZDIgPSBEYXRlLnBhcnNlKERhdGUoMTkwMCwwLDEsMCwwLDEpICk7
CisgICAgYXJyYXlbaXRlbSsrXSA9IG5ldyBUZXN0Q2FzZSggU0VDVElPTiwgIkRhdGUoMTkwMCww
LDEsMCwwLDEpIiwgdHJ1ZSwgZDIgLSBkMSA8PSAxMDAwKTsKKworICAgIGQxID0gbmV3IERhdGUo
KTsKKyAgICBkMiA9IERhdGUucGFyc2UoRGF0ZSgxODk5LDExLDMxLDE2LDAsMCwwKSk7CisgICAg
YXJyYXlbaXRlbSsrXSA9IG5ldyBUZXN0Q2FzZSggU0VDVElPTiwgIkRhdGUoMTg5OSwxMSwzMSwx
NiwwLDAsMCkiLCB0cnVlLCBkMiAtIGQxIDw9IDEwMDApOworCiAgICAgcmV0dXJuICggYXJyYXkg
KTsKIH0KIGZ1bmN0aW9uIHRlc3QoKSB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVz
dHMvbW96aWxsYS9lY21hL0RhdGUvMTUuOS4yLjItNC5qcwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvdGVzdHMvbW96aWxsYS9lY21hL0RhdGUvMTUuOS4yLjItNC5qcwkocmV2
aXNpb24gMTc2NTkzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL21vemlsbGEvZWNt
YS9EYXRlLzE1LjkuMi4yLTQuanMJKHdvcmtpbmcgY29weSkKQEAgLTM1LDcgKzM1LDYgQEAKICAg
ICB2YXIgVkVSU0lPTiA9IDk3MDY7CiAgICAgc3RhcnRUZXN0KCk7CiAgICAgdmFyIFNFQ1RJT04g
PSAiMTUuOS4yLjIiOwotICAgIHZhciBUT0xFUkFOQ0UgPSAxMDA7CiAgICAgdmFyIFRJVExFID0g
IlRoZSBEYXRlIENvbnN0cnVjdG9yIENhbGxlZCBhcyBhIEZ1bmN0aW9uIjsKIAogICAgIHdyaXRl
SGVhZGVyVG9Mb2coU0VDVElPTisiICIrVElUTEUgKTsKQEAgLTQ5LDI1ICs0OCwyNiBAQCBmdW5j
dGlvbiBnZXRUZXN0Q2FzZXMoKSB7CiAgICAgdmFyIGFycmF5ID0gbmV3IEFycmF5KCk7CiAgICAg
dmFyIGl0ZW0gPSAwOwogCisgICAgLy8gYWxsb3cgdXAgdG8gMSBzZWNvbmQgZGlmZmVyZW5jZSBk
dWUgdG8gcG9zc2liaWxpdHkKKyAgICAvLyB0aGUgZGF0ZSBtYXkgY2hhbmdlIGJ5IDEgc2Vjb25k
IGluIGJldHdlZW4gY2FsbHMgdG8gRGF0ZQorCisgICAgdmFyIGQxOworICAgIHZhciBkMjsKKwog
ICAgIC8vIERhdGVzIGFyb3VuZCBmZWIgMjksIDIwMDAKIAotICAgIGFycmF5W2l0ZW0rK10gPSBu
ZXcgVGVzdENhc2UoIFNFQ1RJT04sICJEYXRlKCAyMDAwLDEsMjksMCwwLDApIiwgICAgICAgIChu
ZXcgRGF0ZSgpKS50b1N0cmluZygpLCAgICBEYXRlKDIwMDAsMSwyOSwwLDAsMCkpOwotICAgIGFy
cmF5W2l0ZW0rK10gPSBuZXcgVGVzdENhc2UoIFNFQ1RJT04sICJEYXRlKCAyMDAwLDEsMjgsMjMs
NTksNTkpIiwgICAgIChuZXcgRGF0ZSgpKS50b1N0cmluZygpLCAgICBEYXRlKCAyMDAwLDEsMjgs
MjMsNTksNTkpKTsKLSAgICBhcnJheVtpdGVtKytdID0gbmV3IFRlc3RDYXNlKCBTRUNUSU9OLCAi
RGF0ZSggMjAwMCwxLDI3LDE2LDAsMCkiLCAgICAgICAobmV3IERhdGUoKSkudG9TdHJpbmcoKSwg
ICAgRGF0ZSgyMDAwLDEsMjcsMTYsMCwwKSk7Ci0KLS8qCi0gICAgLy8gRGF0ZXMgYXJvdW5kIGph
biAxLCAyMDA1Ci0gICAgYXJyYXlbaXRlbSsrXSA9IG5ldyBUZXN0Q2FzZSggU0VDVElPTiwgIkRh
dGUoMjAwNCwxMSwzMSwyMyw1OSw1OSkiLCAgICAgKG5ldyBEYXRlKCkpLnRvU3RyaW5nKCksICAg
IERhdGUoMjAwNCwxMSwzMSwyMyw1OSw1OSkpOwotICAgIGFycmF5W2l0ZW0rK10gPSBuZXcgVGVz
dENhc2UoIFNFQ1RJT04sICJEYXRlKDIwMDUsMCwxLDAsMCwwKSIsICAgICAgICAgIChuZXcgRGF0
ZSgpKS50b1N0cmluZygpLCAgICBEYXRlKDIwMDUsMCwxLDAsMCwwKSApOwotICAgIGFycmF5W2l0
ZW0rK10gPSBuZXcgVGVzdENhc2UoIFNFQ1RJT04sICJEYXRlKDIwMDUsMCwxLDAsMCwxKSIsICAg
ICAgICAgIChuZXcgRGF0ZSgpKS50b1N0cmluZygpLCAgICBEYXRlKDIwMDUsMCwxLDAsMCwxKSAp
OwotICAgIGFycmF5W2l0ZW0rK10gPSBuZXcgVGVzdENhc2UoIFNFQ1RJT04sICJEYXRlKDIwMDQs
MTEsMzEsMTYsMCwwLDApIiwgICAgIChuZXcgRGF0ZSgpKS50b1N0cmluZygpLCAgICBEYXRlKDIw
MDQsMTEsMzEsMTYsMCwwLDApKTsKLQotICAgIC8vIERhdGVzIGFyb3VuZCBqYW4gMSwgMjAzMgot
ICAgIGFycmF5W2l0ZW0rK10gPSBuZXcgVGVzdENhc2UoIFNFQ1RJT04sICJEYXRlKDIwMzEsMTEs
MzEsMjMsNTksNTkpIiwgICAgIChuZXcgRGF0ZSgpKS50b1N0cmluZygpLCAgICBEYXRlKDIwMzEs
MTEsMzEsMjMsNTksNTkpKTsKLSAgICBhcnJheVtpdGVtKytdID0gbmV3IFRlc3RDYXNlKCBTRUNU
SU9OLCAiRGF0ZSgyMDMyLDAsMSwwLDAsMCkiLCAgICAgICAgICAobmV3IERhdGUoKSkudG9TdHJp
bmcoKSwgICAgRGF0ZSgyMDMyLDAsMSwwLDAsMCkgKTsKLSAgICBhcnJheVtpdGVtKytdID0gbmV3
IFRlc3RDYXNlKCBTRUNUSU9OLCAiRGF0ZSgyMDMyLDAsMSwwLDAsMSkiLCAgICAgICAgICAobmV3
IERhdGUoKSkudG9TdHJpbmcoKSwgICAgRGF0ZSgyMDMyLDAsMSwwLDAsMSkgKTsKLSAgICBhcnJh
eVtpdGVtKytdID0gbmV3IFRlc3RDYXNlKCBTRUNUSU9OLCAiRGF0ZSgyMDMxLDExLDMxLDE2LDAs
MCwwKSIsICAgICAobmV3IERhdGUoKSkudG9TdHJpbmcoKSwgICAgRGF0ZSgyMDMxLDExLDMxLDE2
LDAsMCwwKSk7Ci0qLworICAgIGQxID0gbmV3IERhdGUoKTsKKyAgICBkMiA9IERhdGUucGFyc2Uo
RGF0ZSgyMDAwLDEsMjksMCwwLDApKTsKKyAgICBhcnJheVtpdGVtKytdID0gbmV3IFRlc3RDYXNl
KFNFQ1RJT04sICJEYXRlKDIwMDAsMSwyOSwwLDAsMCkiLCB0cnVlLCBkMiAtIGQxIDw9IDEwMDAp
OworCisgICAgZDEgPSBuZXcgRGF0ZSgpOworICAgIGQyID0gRGF0ZS5wYXJzZShEYXRlKDIwMDAs
MSwyOCwyMyw1OSw1OSkpOworICAgIGFycmF5W2l0ZW0rK10gPSBuZXcgVGVzdENhc2UoU0VDVElP
TiwgIkRhdGUoMjAwMCwxLDI4LDIzLDU5LDU5KSIsIHRydWUsIGQyIC0gZDEgPD0gMTAwMCk7CisK
KyAgICBkMSA9IG5ldyBEYXRlKCk7CisgICAgZDIgPSBEYXRlLnBhcnNlKERhdGUoMjAwMCwxLDI3
LDE2LDAsMCkpOworICAgIGFycmF5W2l0ZW0rK10gPSBuZXcgVGVzdENhc2UoU0VDVElPTiwgIkRh
dGUoMjAwMCwxLDI3LDE2LDAsMCkiLCB0cnVlLCBkMiAtIGQxIDw9IDEwMDApOworCiAgICAgcmV0
dXJuICggYXJyYXkgKTsKIH0KIGZ1bmN0aW9uIHRlc3QoKSB7CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvdGVzdHMvbW96aWxsYS9lY21hL0RhdGUvMTUuOS4yLjItNS5qcwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvbW96aWxsYS9lY21hL0RhdGUvMTUuOS4y
LjItNS5qcwkocmV2aXNpb24gMTc2NTkzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3Rz
L21vemlsbGEvZWNtYS9EYXRlLzE1LjkuMi4yLTUuanMJKHdvcmtpbmcgY29weSkKQEAgLTM1LDcg
KzM1LDYgQEAKICAgICB2YXIgVkVSU0lPTiA9IDk3MDY7CiAgICAgc3RhcnRUZXN0KCk7CiAgICAg
dmFyIFNFQ1RJT04gPSAiMTUuOS4yLjIiOwotICAgIHZhciBUT0xFUkFOQ0UgPSAxMDA7CiAgICAg
dmFyIFRJVExFID0gIlRoZSBEYXRlIENvbnN0cnVjdG9yIENhbGxlZCBhcyBhIEZ1bmN0aW9uIjsK
IAogICAgIHdyaXRlSGVhZGVyVG9Mb2coU0VDVElPTisiICIrVElUTEUgKTsKQEAgLTQ5LDE4ICs0
OCwzMCBAQCBmdW5jdGlvbiBnZXRUZXN0Q2FzZXMoKSB7CiAgICAgdmFyIGFycmF5ID0gbmV3IEFy
cmF5KCk7CiAgICAgdmFyIGl0ZW0gPSAwOwogCisgICAgLy8gYWxsb3cgdXAgdG8gMSBzZWNvbmQg
ZGlmZmVyZW5jZSBkdWUgdG8gcG9zc2liaWxpdHkKKyAgICAvLyB0aGUgZGF0ZSBtYXkgY2hhbmdl
IGJ5IDEgc2Vjb25kIGluIGJldHdlZW4gY2FsbHMgdG8gRGF0ZQorCisgICAgdmFyIGQxOworICAg
IHZhciBkMjsKKwogICAgIC8vIERhdGVzIGFyb3VuZCBqYW4gMSwgMjAwNQotICAgIGFycmF5W2l0
ZW0rK10gPSBuZXcgVGVzdENhc2UoIFNFQ1RJT04sICJEYXRlKDIwMDQsMTEsMzEsMjMsNTksNTkp
IiwgICAgIChuZXcgRGF0ZSgpKS50b1N0cmluZygpLCAgICBEYXRlKDIwMDQsMTEsMzEsMjMsNTks
NTkpKTsKLSAgICBhcnJheVtpdGVtKytdID0gbmV3IFRlc3RDYXNlKCBTRUNUSU9OLCAiRGF0ZSgy
MDA1LDAsMSwwLDAsMCkiLCAgICAgICAgICAobmV3IERhdGUoKSkudG9TdHJpbmcoKSwgICAgRGF0
ZSgyMDA1LDAsMSwwLDAsMCkgKTsKLSAgICBhcnJheVtpdGVtKytdID0gbmV3IFRlc3RDYXNlKCBT
RUNUSU9OLCAiRGF0ZSgyMDA1LDAsMSwwLDAsMSkiLCAgICAgICAgICAobmV3IERhdGUoKSkudG9T
dHJpbmcoKSwgICAgRGF0ZSgyMDA1LDAsMSwwLDAsMSkgKTsKLSAgICBhcnJheVtpdGVtKytdID0g
bmV3IFRlc3RDYXNlKCBTRUNUSU9OLCAiRGF0ZSgyMDA0LDExLDMxLDE2LDAsMCwwKSIsICAgICAo
bmV3IERhdGUoKSkudG9TdHJpbmcoKSwgICAgRGF0ZSgyMDA0LDExLDMxLDE2LDAsMCwwKSk7Ci0v
KgotICAgIC8vIERhdGVzIGFyb3VuZCBqYW4gMSwgMjAzMgotICAgIGFycmF5W2l0ZW0rK10gPSBu
ZXcgVGVzdENhc2UoIFNFQ1RJT04sICJEYXRlKDIwMzEsMTEsMzEsMjMsNTksNTkpIiwgICAgIChu
ZXcgRGF0ZSgpKS50b1N0cmluZygpLCAgICBEYXRlKDIwMzEsMTEsMzEsMjMsNTksNTkpKTsKLSAg
ICBhcnJheVtpdGVtKytdID0gbmV3IFRlc3RDYXNlKCBTRUNUSU9OLCAiRGF0ZSgyMDMyLDAsMSww
LDAsMCkiLCAgICAgICAgICAobmV3IERhdGUoKSkudG9TdHJpbmcoKSwgICAgRGF0ZSgyMDMyLDAs
MSwwLDAsMCkgKTsKLSAgICBhcnJheVtpdGVtKytdID0gbmV3IFRlc3RDYXNlKCBTRUNUSU9OLCAi
RGF0ZSgyMDMyLDAsMSwwLDAsMSkiLCAgICAgICAgICAobmV3IERhdGUoKSkudG9TdHJpbmcoKSwg
ICAgRGF0ZSgyMDMyLDAsMSwwLDAsMSkgKTsKLSAgICBhcnJheVtpdGVtKytdID0gbmV3IFRlc3RD
YXNlKCBTRUNUSU9OLCAiRGF0ZSgyMDMxLDExLDMxLDE2LDAsMCwwKSIsICAgICAobmV3IERhdGUo
KSkudG9TdHJpbmcoKSwgICAgRGF0ZSgyMDMxLDExLDMxLDE2LDAsMCwwKSk7Ci0qLworCisgICAg
ZDEgPSBuZXcgRGF0ZSgpOworICAgIGQyID0gRGF0ZS5wYXJzZShEYXRlKDIwMDQsMTEsMzEsMjMs
NTksNTkpKTsKKyAgICBhcnJheVtpdGVtKytdID0gbmV3IFRlc3RDYXNlKCBTRUNUSU9OLCAiRGF0
ZSgyMDA0LDExLDMxLDIzLDU5LDU5KSIsIHRydWUsIGQyIC0gZDEgPD0gMTAwMCk7CisKKyAgICBk
MSA9IG5ldyBEYXRlKCk7CisgICAgZDIgPSBEYXRlLnBhcnNlKERhdGUoMjAwNSwwLDEsMCwwLDAp
ICk7CisgICAgYXJyYXlbaXRlbSsrXSA9IG5ldyBUZXN0Q2FzZSggU0VDVElPTiwgIkRhdGUoMjAw
NSwwLDEsMCwwLDApIiwgdHJ1ZSwgZDIgLSBkMSA8PSAxMDAwKTsKKworICAgIGQxID0gbmV3IERh
dGUoKTsKKyAgICBkMiA9IERhdGUucGFyc2UoRGF0ZSgyMDA1LDAsMSwwLDAsMSkgKTsKKyAgICBh
cnJheVtpdGVtKytdID0gbmV3IFRlc3RDYXNlKCBTRUNUSU9OLCAiRGF0ZSgyMDA1LDAsMSwwLDAs
MSkiLCB0cnVlLCBkMiAtIGQxIDw9IDEwMDApOworCisgICAgZDEgPSBuZXcgRGF0ZSgpOworICAg
IGQyID0gRGF0ZS5wYXJzZShEYXRlKDIwMDQsMTEsMzEsMTYsMCwwLDApKTsKKyAgICBhcnJheVtp
dGVtKytdID0gbmV3IFRlc3RDYXNlKCBTRUNUSU9OLCAiRGF0ZSgyMDA0LDExLDMxLDE2LDAsMCww
KSIsIHRydWUsIGQyIC0gZDEgPD0gMTAwMCk7CisKICAgICByZXR1cm4gKCBhcnJheSApOwogfQog
ZnVuY3Rpb24gdGVzdCgpIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9tb3pp
bGxhL2VjbWEvRGF0ZS8xNS45LjIuMi02LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS90ZXN0cy9tb3ppbGxhL2VjbWEvRGF0ZS8xNS45LjIuMi02LmpzCShyZXZpc2lvbiAx
NzY1OTMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvbW96aWxsYS9lY21hL0RhdGUv
MTUuOS4yLjItNi5qcwkod29ya2luZyBjb3B5KQpAQCAtMzUsNyArMzUsNiBAQAogICAgIHZhciBW
RVJTSU9OID0gOTcwNjsKICAgICBzdGFydFRlc3QoKTsKICAgICB2YXIgU0VDVElPTiA9ICIxNS45
LjIuMiI7Ci0gICAgdmFyIFRPTEVSQU5DRSA9IDEwMDsKICAgICB2YXIgVElUTEUgPSAiVGhlIERh
dGUgQ29uc3RydWN0b3IgQ2FsbGVkIGFzIGEgRnVuY3Rpb24iOwogCiAgICAgd3JpdGVIZWFkZXJU
b0xvZyhTRUNUSU9OKyIgIitUSVRMRSApOwpAQCAtNDksMTEgKzQ4LDI4IEBAIGZ1bmN0aW9uIGdl
dFRlc3RDYXNlcygpIHsKICAgICB2YXIgYXJyYXkgPSBuZXcgQXJyYXkoKTsKICAgICB2YXIgaXRl
bSA9IDA7CiAKKyAgICAvLyBhbGxvdyB1cCB0byAxIHNlY29uZCBkaWZmZXJlbmNlIGR1ZSB0byBw
b3NzaWJpbGl0eQorICAgIC8vIHRoZSBkYXRlIG1heSBjaGFuZ2UgYnkgMSBzZWNvbmQgaW4gYmV0
d2VlbiBjYWxscyB0byBEYXRlCisKKyAgICB2YXIgZDE7CisgICAgdmFyIGQyOworCiAgICAgLy8g
RGF0ZXMgYXJvdW5kIGphbiAxLCAyMDMyCi0gICAgYXJyYXlbaXRlbSsrXSA9IG5ldyBUZXN0Q2Fz
ZSggU0VDVElPTiwgIkRhdGUoMjAzMSwxMSwzMSwyMyw1OSw1OSkiLCAgICAgKG5ldyBEYXRlKCkp
LnRvU3RyaW5nKCksICAgIERhdGUoMjAzMSwxMSwzMSwyMyw1OSw1OSkpOwotICAgIGFycmF5W2l0
ZW0rK10gPSBuZXcgVGVzdENhc2UoIFNFQ1RJT04sICJEYXRlKDIwMzIsMCwxLDAsMCwwKSIsICAg
ICAgICAgIChuZXcgRGF0ZSgpKS50b1N0cmluZygpLCAgICBEYXRlKDIwMzIsMCwxLDAsMCwwKSAp
OwotICAgIGFycmF5W2l0ZW0rK10gPSBuZXcgVGVzdENhc2UoIFNFQ1RJT04sICJEYXRlKDIwMzIs
MCwxLDAsMCwxKSIsICAgICAgICAgIChuZXcgRGF0ZSgpKS50b1N0cmluZygpLCAgICBEYXRlKDIw
MzIsMCwxLDAsMCwxKSApOwotICAgIGFycmF5W2l0ZW0rK10gPSBuZXcgVGVzdENhc2UoIFNFQ1RJ
T04sICJEYXRlKDIwMzEsMTEsMzEsMTYsMCwwLDApIiwgICAgIChuZXcgRGF0ZSgpKS50b1N0cmlu
ZygpLCAgICBEYXRlKDIwMzEsMTEsMzEsMTYsMCwwLDApKTsKKyAgICBkMSA9IG5ldyBEYXRlKCk7
CisgICAgZDIgPSBEYXRlLnBhcnNlKERhdGUoMjAzMSwxMSwzMSwyMyw1OSw1OSkpOworICAgIGFy
cmF5W2l0ZW0rK10gPSBuZXcgVGVzdENhc2UoU0VDVElPTiwgIkRhdGUoMjAzMSwxMSwzMSwyMyw1
OSw1OSkiLCB0cnVlLCBkMiAtIGQxIDw9IDEwMDApOworCisgICAgZDEgPSBuZXcgRGF0ZSgpOwor
ICAgIGQyID0gRGF0ZS5wYXJzZShEYXRlKDIwMzIsMCwxLDAsMCwwKSk7CisgICAgYXJyYXlbaXRl
bSsrXSA9IG5ldyBUZXN0Q2FzZShTRUNUSU9OLCAiRGF0ZSgyMDMyLDAsMSwwLDAsMCkiLCB0cnVl
LCBkMiAtIGQxIDw9IDEwMDApOworCisgICAgZDEgPSBuZXcgRGF0ZSgpOworICAgIGQyID0gRGF0
ZS5wYXJzZShEYXRlKDIwMzIsMCwxLDAsMCwxKSk7CisgICAgYXJyYXlbaXRlbSsrXSA9IG5ldyBU
ZXN0Q2FzZShTRUNUSU9OLCAiRGF0ZSgyMDMyLDAsMSwwLDAsMSkiLCB0cnVlLCBkMiAtIGQxIDw9
IDEwMDApOworCisgICAgZDEgPSBuZXcgRGF0ZSgpOworICAgIGQyID0gRGF0ZS5wYXJzZShEYXRl
KDIwMzEsMTEsMzEsMTYsMCwwLDApKTsKKyAgICBhcnJheVtpdGVtKytdID0gbmV3IFRlc3RDYXNl
KFNFQ1RJT04sICJEYXRlKDIwMzEsMTEsMzEsMTYsMCwwLDApIiwgdHJ1ZSwgZDIgLSBkMSA8PSAx
MDAwKTsKIAogICAgIHJldHVybiAoIGFycmF5ICk7CiB9Cg==
</data>
<flag name="review"
          id="267205"
          type_id="1"
          status="+"
          setter="mark.lam"
    />
          </attachment>
      

    </bug>

</bugzilla>