<?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>58195</bug_id>
          
          <creation_ts>2011-04-09 19:11:19 -0700</creation_ts>
          <short_desc>new-run-webkit-tests: implement support for audio, take two</short_desc>
          <delta_ts>2022-02-27 23:42:13 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</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>
          
          <blocked>58196</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dirk Pranke">dpranke</reporter>
          <assigned_to name="Dirk Pranke">dpranke</assigned_to>
          <cc>abarth</cc>
    
    <cc>crogers</cc>
    
    <cc>eric</cc>
    
    <cc>mihaip</cc>
    
    <cc>ojan</cc>
    
    <cc>tony</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>382822</commentid>
    <comment_count>0</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-04-09 19:11:19 -0700</bug_when>
    <thetext>new-run-webkit-tests: implement support for audio, take two</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>382825</commentid>
    <comment_count>1</comment_count>
      <attachid>88940</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-04-09 19:28:01 -0700</bug_when>
    <thetext>Created attachment 88940
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>382826</commentid>
    <comment_count>2</comment_count>
      <attachid>88940</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-04-09 19:32:08 -0700</bug_when>
    <thetext>Comment on attachment 88940
Patch

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

This is a revised version of the patch(es) landed in bug 58101. Those patches were rolled out because they were crashing new-run-webkit-tests.

The regression turned out to be a result of passing None instead of &apos;&apos; to Port.diff_image(). I have added comments to show the diffs from the previous patch.

&gt; Tools/Scripts/webkitpy/layout_tests/port/chromium.py:143
&gt; +            return True

This chunk is the fix for the crash on diff_image() in chromium ports. This really needs unit tests, but to test it properly requires changing too many other things, so I&apos;ll post the unit tests in a separate patch for clarity.

&gt; Tools/Scripts/webkitpy/layout_tests/port/webkit.py:115
&gt; +        if not actual_contents or not expected_contents:

And this is the fix for the webkit-base ports. Again, I will post unit tests in a separate patch for clarity.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>382832</commentid>
    <comment_count>3</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-04-09 19:52:10 -0700</bug_when>
    <thetext>unit tests posted in bug 58196.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>383362</commentid>
    <comment_count>4</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-04-11 12:18:13 -0700</bug_when>
    <thetext>Committed r83475: &lt;http://trac.webkit.org/changeset/83475&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>88940</attachid>
            <date>2011-04-09 19:28:01 -0700</date>
            <delta_ts>2022-02-27 23:42:13 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-58195-20110409192800.patch</filename>
            <type>text/plain</type>
            <size>37757</size>
            <attacher name="Dirk Pranke">dpranke</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODMzODQKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCBhMmY4NzczOTkzM2JkMmI1NjgxMjE4NzA5NTI4ODlkZTI0
ZThmM2I0Li45NjRlOTEzNWU2NzZmMWRiZjc0MWQ2ZjJkZTkxMWUzMGFmOTdlZjE5IDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMzAg
QEAKIDIwMTEtMDQtMDkgIERpcmsgUHJhbmtlICA8ZHByYW5rZUBjaHJvbWl1bS5vcmc+CiAKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgbmV3LXJ1bi13ZWJr
aXQtdGVzdHM6IGltcGxlbWVudCBzdXBwb3J0IGZvciBhdWRpbywgdGFrZSB0d28KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU4MTk1CisKKyAgICAgICAg
QXR0ZW1wdCB0byByZS1sYW5kIHRoZSBmaXggZm9yIGJ1ZyA1ODEwMSAod2hpY2ggd2FzIGluaXRp
YWxseQorICAgICAgICBsYW5kZWQgaW4gcjgzMzMwLCBidXQgcm9sbGVkIG91dCkuIFRoaXMgaXMg
dGhlIHNhbWUgcGF0Y2ggYnV0CisgICAgICAgIGZpeGVzIGNyYXNoZXMgaW4gUG9ydC5kaWZmX2lt
YWdlKCkgY2F1c2VkIGJ5IHRoZSBjaGFuZ2UgZm9yCisgICAgICAgIGVtcHR5IGltYWdlIGZpbGVz
IGJlaW5nIE5vbmUgaW5zdGVhZCBvZiAnJy4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkv
bGF5b3V0X3Rlc3RzL2xheW91dF9wYWNrYWdlL2pzb25fbGF5b3V0X3Jlc3VsdHNfZ2VuZXJhdG9y
LnB5OgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2xheW91dF9wYWNr
YWdlL3NpbmdsZV90ZXN0X3J1bm5lci5weToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xh
eW91dF90ZXN0cy9sYXlvdXRfcGFja2FnZS90ZXN0X2V4cGVjdGF0aW9ucy5weToKKyAgICAgICAg
KiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9sYXlvdXRfcGFja2FnZS90ZXN0X2ZhaWx1
cmVzLnB5OgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2xheW91dF9w
YWNrYWdlL3Rlc3RfcmVzdWx0X3dyaXRlci5weToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5
L2xheW91dF90ZXN0cy9wb3J0L2Jhc2UucHk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9s
YXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bS5weToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5
L2xheW91dF90ZXN0cy9wb3J0L2RyeXJ1bi5weToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5
L2xheW91dF90ZXN0cy9wb3J0L21vY2tfZHJ0LnB5OgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0
cHkvbGF5b3V0X3Rlc3RzL3BvcnQvbW9ja19kcnRfdW5pdHRlc3QucHk6CisgICAgICAgICogU2Ny
aXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC90ZXN0LnB5OgorICAgICAgICAqIFNjcmlw
dHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvd2Via2l0LnB5OgorCisyMDExLTA0LTA5ICBE
aXJrIFByYW5rZSAgPGRwcmFua2VAY2hyb21pdW0ub3JnPgorCiAgICAgICAgIFJldmlld2VkIGJ5
IFRvbnkgQ2hhbmcuCiAKICAgICAgICAgSXQgbG9va3MgbGlrZSBOUldUIGhhcyBub3QgYmVlbiBz
dG9wcGluZyBEUlQvVGVzdFNoZWxsCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L2xheW91dF90ZXN0cy9sYXlvdXRfcGFja2FnZS9qc29uX2xheW91dF9yZXN1bHRzX2dlbmVyYXRv
ci5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2xheW91dF9wYWNrYWdl
L2pzb25fbGF5b3V0X3Jlc3VsdHNfZ2VuZXJhdG9yLnB5CmluZGV4IDE5YjAyZTg1NjYzN2I3NjM1
NjAzZjhhYTY3MWMwN2QzNGIwY2FlNDguLmRiYjE2YzAzZTI2MzMzNTA5NDEyMGVjZWFlOGM3MDY3
ZDhkNzgwZjEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3Rz
L2xheW91dF9wYWNrYWdlL2pzb25fbGF5b3V0X3Jlc3VsdHNfZ2VuZXJhdG9yLnB5CisrKyBiL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2xheW91dF9wYWNrYWdlL2pzb25fbGF5
b3V0X3Jlc3VsdHNfZ2VuZXJhdG9yLnB5CkBAIC01MCw2ICs1MCw3IEBAIGNsYXNzIEpTT05MYXlv
dXRSZXN1bHRzR2VuZXJhdG9yKGpzb25fcmVzdWx0c19nZW5lcmF0b3IuSlNPTlJlc3VsdHNHZW5l
cmF0b3JCYXNlCiAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RfZXhwZWN0YXRpb25zLklNQUdF
OiAiSSIsCiAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RfZXhwZWN0YXRpb25zLlRFWFQ6ICJG
IiwKICAgICAgICAgICAgICAgICAgICAgICAgdGVzdF9leHBlY3RhdGlvbnMuTUlTU0lORzogIk8i
LAorICAgICAgICAgICAgICAgICAgICAgICB0ZXN0X2V4cGVjdGF0aW9ucy5BVURJTzogIkEiLAog
ICAgICAgICAgICAgICAgICAgICAgICB0ZXN0X2V4cGVjdGF0aW9ucy5JTUFHRV9QTFVTX1RFWFQ6
ICJaIn0KIAogICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwb3J0LCBidWlsZGVyX25hbWUsIGJ1aWxk
X25hbWUsIGJ1aWxkX251bWJlciwKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
bGF5b3V0X3Rlc3RzL2xheW91dF9wYWNrYWdlL3NpbmdsZV90ZXN0X3J1bm5lci5weSBiL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2xheW91dF9wYWNrYWdlL3NpbmdsZV90ZXN0
X3J1bm5lci5weQppbmRleCBhOGM3MTZmOGRjMGMyOGQ5MjY1ZDg3ZDVjYTk1YzFmMmE3OWJiMDMz
Li5jMzNmZDgwZTA0YTFiNzhjY2Q5N2U5ODg2YTBiMjBkNjBhYmM3YjkzIDEwMDY0NAotLS0gYS9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9sYXlvdXRfcGFja2FnZS9zaW5nbGVf
dGVzdF9ydW5uZXIucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMv
bGF5b3V0X3BhY2thZ2Uvc2luZ2xlX3Rlc3RfcnVubmVyLnB5CkBAIC04Miw3ICs4Miw3IEBAIGNs
YXNzIFNpbmdsZVRlc3RSdW5uZXI6CiAgICAgICAgICAgICAjIEZvciBleGFtcGxlLCBpZiAnZm9v
Lmh0bWwnIGhhcyB0d28gZXhwZWN0YXRpb24gZmlsZXMsICdmb28tZXhwZWN0ZWQuaHRtbCcgYW5k
CiAgICAgICAgICAgICAjICdmb28tZXhwZWN0ZWQudHh0Jywgd2Ugc2hvdWxkIHdhcm4gdXNlcnMu
IE9uZSB0ZXN0IGZpbGUgbXVzdCBiZSB1c2VkIGV4Y2x1c2l2ZWx5CiAgICAgICAgICAgICAjIGlu
IGVpdGhlciBsYXlvdXQgdGVzdHMgb3IgcmVmdGVzdHMsIGJ1dCBub3QgaW4gYm90aC4KLSAgICAg
ICAgICAgIGZvciBzdWZmaXggaW4gWycudHh0JywgJy5jaGVja3N1bScsICcucG5nJ106CisgICAg
ICAgICAgICBmb3Igc3VmZml4IGluICgnLnR4dCcsICcuY2hlY2tzdW0nLCAnLnBuZycsICcud2F2
Jyk6CiAgICAgICAgICAgICAgICAgZXhwZWN0ZWRfZmlsZW5hbWUgPSBzZWxmLl9wb3J0LmV4cGVj
dGVkX2ZpbGVuYW1lKHNlbGYuX2ZpbGVuYW1lLCBzdWZmaXgpCiAgICAgICAgICAgICAgICAgaWYg
ZnMuZXhpc3RzKGV4cGVjdGVkX2ZpbGVuYW1lKToKICAgICAgICAgICAgICAgICAgICAgX2xvZy5l
cnJvcignVGhlIHJlZnRlc3QgKCVzKSBjYW4gbm90IGhhdmUgYW4gZXhwZWN0YXRpb24gZmlsZSAo
JXMpLicKQEAgLTkxLDcgKzkxLDggQEAgY2xhc3MgU2luZ2xlVGVzdFJ1bm5lcjoKICAgICBkZWYg
X2V4cGVjdGVkX2RyaXZlcl9vdXRwdXQoc2VsZik6CiAgICAgICAgIHJldHVybiBiYXNlLkRyaXZl
ck91dHB1dChzZWxmLl9wb3J0LmV4cGVjdGVkX3RleHQoc2VsZi5fZmlsZW5hbWUpLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fcG9ydC5leHBlY3RlZF9pbWFnZShzZWxm
Ll9maWxlbmFtZSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9wb3J0
LmV4cGVjdGVkX2NoZWNrc3VtKHNlbGYuX2ZpbGVuYW1lKSkKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHNlbGYuX3BvcnQuZXhwZWN0ZWRfY2hlY2tzdW0oc2VsZi5fZmlsZW5hbWUp
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fcG9ydC5leHBlY3RlZF9h
dWRpbyhzZWxmLl9maWxlbmFtZSkpCiAKICAgICBkZWYgX3Nob3VsZF9mZXRjaF9leHBlY3RlZF9j
aGVja3N1bShzZWxmKToKICAgICAgICAgcmV0dXJuIChzZWxmLl9vcHRpb25zLnBpeGVsX3Rlc3Rz
IGFuZApAQCAtMTQyLDYgKzE0Myw5IEBAIGNsYXNzIFNpbmdsZVRlc3RSdW5uZXI6CiAgICAgICAg
ICMgRHVtcFJlbmRlclRyZWUgbWF5IG5vdCBvdXRwdXQgdXRmLTggdGV4dCAoZS5nLiB3ZWJhcmNo
aXZlcykuCiAgICAgICAgIHNlbGYuX3NhdmVfYmFzZWxpbmVfZGF0YShkcml2ZXJfb3V0cHV0LnRl
eHQsICIudHh0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlX25l
d19iYXNlbGluZT1zZWxmLl9vcHRpb25zLm5ld19iYXNlbGluZSkKKyAgICAgICAgaWYgZHJpdmVy
X291dHB1dC5hdWRpbzoKKyAgICAgICAgICAgIHNlbGYuX3NhdmVfYmFzZWxpbmVfZGF0YShkcml2
ZXJfb3V0cHV0LmF1ZGlvLCAnLndhdicsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZ2VuZXJhdGVfbmV3X2Jhc2VsaW5lPXNlbGYuX29wdGlvbnMubmV3X2Jhc2VsaW5lKQog
ICAgICAgICBpZiBzZWxmLl9vcHRpb25zLnBpeGVsX3Rlc3RzIGFuZCBkcml2ZXJfb3V0cHV0Lmlt
YWdlX2hhc2g6CiAgICAgICAgICAgICBzZWxmLl9zYXZlX2Jhc2VsaW5lX2RhdGEoZHJpdmVyX291
dHB1dC5pbWFnZSwgIi5wbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGdlbmVyYXRlX25ld19iYXNlbGluZT1zZWxmLl9vcHRpb25zLm5ld19iYXNlbGluZSkKQEAgLTIx
NiwxOSArMjIwLDI4IEBAIGNsYXNzIFNpbmdsZVRlc3RSdW5uZXI6CiAgICAgICAgICAgICByZXR1
cm4gVGVzdFJlc3VsdChzZWxmLl9maWxlbmFtZSwgZmFpbHVyZXMsIGRyaXZlcl9vdXRwdXQudGVz
dF90aW1lKQogCiAgICAgICAgIGZhaWx1cmVzLmV4dGVuZChzZWxmLl9jb21wYXJlX3RleHQoZHJp
dmVyX291dHB1dC50ZXh0LCBleHBlY3RlZF9kcml2ZXJfb3V0cHV0LnRleHQpKQorICAgICAgICBm
YWlsdXJlcy5leHRlbmQoc2VsZi5fY29tcGFyZV9hdWRpbyhkcml2ZXJfb3V0cHV0LmF1ZGlvLCBl
eHBlY3RlZF9kcml2ZXJfb3V0cHV0LmF1ZGlvKSkKICAgICAgICAgaWYgc2VsZi5fb3B0aW9ucy5w
aXhlbF90ZXN0czoKICAgICAgICAgICAgIGZhaWx1cmVzLmV4dGVuZChzZWxmLl9jb21wYXJlX2lt
YWdlKGRyaXZlcl9vdXRwdXQsIGV4cGVjdGVkX2RyaXZlcl9vdXRwdXQpKQogICAgICAgICByZXR1
cm4gVGVzdFJlc3VsdChzZWxmLl9maWxlbmFtZSwgZmFpbHVyZXMsIGRyaXZlcl9vdXRwdXQudGVz
dF90aW1lKQogCiAgICAgZGVmIF9jb21wYXJlX3RleHQoc2VsZiwgYWN0dWFsX3RleHQsIGV4cGVj
dGVkX3RleHQpOgogICAgICAgICBmYWlsdXJlcyA9IFtdCi0gICAgICAgIGlmIHNlbGYuX3BvcnQu
Y29tcGFyZV90ZXh0KHNlbGYuX2dldF9ub3JtYWxpemVkX291dHB1dF90ZXh0KGFjdHVhbF90ZXh0
KSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBBc3N1bWluZyBleHBlY3Rl
ZF90ZXh0IGlzIGFscmVhZHkgbm9ybWFsaXplZC4KLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZXhwZWN0ZWRfdGV4dCk6Ci0gICAgICAgICAgICBpZiBleHBlY3RlZF90ZXh0ID09
ICcnOgotICAgICAgICAgICAgICAgIGZhaWx1cmVzLmFwcGVuZCh0ZXN0X2ZhaWx1cmVzLkZhaWx1
cmVNaXNzaW5nUmVzdWx0KCkpCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIGZh
aWx1cmVzLmFwcGVuZCh0ZXN0X2ZhaWx1cmVzLkZhaWx1cmVUZXh0TWlzbWF0Y2goKSkKKyAgICAg
ICAgaWYgKGV4cGVjdGVkX3RleHQgYW5kIGFjdHVhbF90ZXh0IGFuZAorICAgICAgICAgICAgIyBB
c3N1bWluZyBleHBlY3RlZF90ZXh0IGlzIGFscmVhZHkgbm9ybWFsaXplZC4KKyAgICAgICAgICAg
IHNlbGYuX3BvcnQuY29tcGFyZV90ZXh0KHNlbGYuX2dldF9ub3JtYWxpemVkX291dHB1dF90ZXh0
KGFjdHVhbF90ZXh0KSwgZXhwZWN0ZWRfdGV4dCkpOgorICAgICAgICAgICAgZmFpbHVyZXMuYXBw
ZW5kKHRlc3RfZmFpbHVyZXMuRmFpbHVyZVRleHRNaXNtYXRjaCgpKQorICAgICAgICBlbGlmIGFj
dHVhbF90ZXh0IGFuZCBub3QgZXhwZWN0ZWRfdGV4dDoKKyAgICAgICAgICAgIGZhaWx1cmVzLmFw
cGVuZCh0ZXN0X2ZhaWx1cmVzLkZhaWx1cmVNaXNzaW5nUmVzdWx0KCkpCisgICAgICAgIHJldHVy
biBmYWlsdXJlcworCisgICAgZGVmIF9jb21wYXJlX2F1ZGlvKHNlbGYsIGFjdHVhbF9hdWRpbywg
ZXhwZWN0ZWRfYXVkaW8pOgorICAgICAgICBmYWlsdXJlcyA9IFtdCisgICAgICAgIGlmIChleHBl
Y3RlZF9hdWRpbyBhbmQgYWN0dWFsX2F1ZGlvIGFuZAorICAgICAgICAgICAgc2VsZi5fcG9ydC5j
b21wYXJlX2F1ZGlvKGFjdHVhbF9hdWRpbywgZXhwZWN0ZWRfYXVkaW8pKToKKyAgICAgICAgICAg
IGZhaWx1cmVzLmFwcGVuZCh0ZXN0X2ZhaWx1cmVzLkZhaWx1cmVBdWRpb01pc21hdGNoKCkpCisg
ICAgICAgIGVsaWYgYWN0dWFsX2F1ZGlvIGFuZCBub3QgZXhwZWN0ZWRfYXVkaW86CisgICAgICAg
ICAgICBmYWlsdXJlcy5hcHBlbmQodGVzdF9mYWlsdXJlcy5GYWlsdXJlTWlzc2luZ0F1ZGlvKCkp
CiAgICAgICAgIHJldHVybiBmYWlsdXJlcwogCiAgICAgZGVmIF9nZXRfbm9ybWFsaXplZF9vdXRw
dXRfdGV4dChzZWxmLCBvdXRwdXQpOgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9sYXlvdXRfdGVzdHMvbGF5b3V0X3BhY2thZ2UvdGVzdF9leHBlY3RhdGlvbnMucHkgYi9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9sYXlvdXRfcGFja2FnZS90ZXN0X2V4cGVj
dGF0aW9ucy5weQppbmRleCBhZDUwYWRlYWNkOWI4MDcyODMwOGQxYzUwODlhNGM4ZGUyNTAyZTY4
Li5hNDA3ZWNjNGVmMTZkZGNiMjg3NDY2MmIwZTAwNmQ0YzlhOTYwZGY4IDEwMDY0NAotLS0gYS9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9sYXlvdXRfcGFja2FnZS90ZXN0X2V4
cGVjdGF0aW9ucy5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9s
YXlvdXRfcGFja2FnZS90ZXN0X2V4cGVjdGF0aW9ucy5weQpAQCAtNDEsOCArNDEsOCBAQCBfbG9n
ID0gbG9nZ2luZy5nZXRMb2dnZXIoIndlYmtpdHB5LmxheW91dF90ZXN0cy5sYXlvdXRfcGFja2Fn
ZS4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgInRlc3RfZXhwZWN0YXRpb25zIikKIAogIyBU
ZXN0IGV4cGVjdGF0aW9uIGFuZCBtb2RpZmllciBjb25zdGFudHMuCi0oUEFTUywgRkFJTCwgVEVY
VCwgSU1BR0UsIElNQUdFX1BMVVNfVEVYVCwgVElNRU9VVCwgQ1JBU0gsIFNLSVAsIFdPTlRGSVgs
Ci0gU0xPVywgUkVCQVNFTElORSwgTUlTU0lORywgRkxBS1ksIE5PVywgTk9ORSkgPSByYW5nZSgx
NSkKKyhQQVNTLCBGQUlMLCBURVhULCBJTUFHRSwgSU1BR0VfUExVU19URVhULCBBVURJTywgVElN
RU9VVCwgQ1JBU0gsIFNLSVAsIFdPTlRGSVgsCisgU0xPVywgUkVCQVNFTElORSwgTUlTU0lORywg
RkxBS1ksIE5PVywgTk9ORSkgPSByYW5nZSgxNikKIAogIyBUZXN0IGV4cGVjdGF0aW9uIGZpbGUg
dXBkYXRlIGFjdGlvbiBjb25zdGFudHMKIChOT19DSEFOR0UsIFJFTU9WRV9URVNULCBSRU1PVkVf
UExBVEZPUk0sIEFERF9QTEFURk9STVNfRVhDRVBUX1RISVMpID0gcmFuZ2UoNCkKQEAgLTEyMCw3
ICsxMjAsOCBAQCBjbGFzcyBUZXN0RXhwZWN0YXRpb25zOgogICAgICAgICAgICAgICAgIHNlbGYu
X2V4cGVjdGVkX2ZhaWx1cmVzLmdldF90ZXN0X3NldChSRUJBU0VMSU5FLCBJTUFHRSkgfAogICAg
ICAgICAgICAgICAgIHNlbGYuX2V4cGVjdGVkX2ZhaWx1cmVzLmdldF90ZXN0X3NldChSRUJBU0VM
SU5FLCBURVhUKSB8CiAgICAgICAgICAgICAgICAgc2VsZi5fZXhwZWN0ZWRfZmFpbHVyZXMuZ2V0
X3Rlc3Rfc2V0KFJFQkFTRUxJTkUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIElNQUdFX1BMVVNfVEVYVCkpCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElNQUdFX1BMVVNfVEVYVCkgfAorICAg
ICAgICAgICAgICAgIHNlbGYuX2V4cGVjdGVkX2ZhaWx1cmVzLmdldF90ZXN0X3NldChSRUJBU0VM
SU5FLCBBVURJTykpCiAKICAgICBkZWYgZ2V0X29wdGlvbnMoc2VsZiwgdGVzdCk6CiAgICAgICAg
IHJldHVybiBzZWxmLl9leHBlY3RlZF9mYWlsdXJlcy5nZXRfb3B0aW9ucyh0ZXN0KQpAQCAtMjQ0
LDExICsyNDUsMTEgQEAgY2xhc3MgVGVzdEV4cGVjdGF0aW9uc0ZpbGU6CiAKICAgICBOb3RlczoK
ICAgICAgIC1BIHRlc3QgY2Fubm90IGJlIGJvdGggU0xPVyBhbmQgVElNRU9VVAotICAgICAgLUEg
dGVzdCBzaG91bGQgb25seSBiZSBvbmUgb2YgSU1BR0UsIFRFWFQsIElNQUdFK1RFWFQsIG9yIEZB
SUwuIEZBSUwgaXMKLSAgICAgICBhIG1pZ3JhdG9yeSBzdGF0ZSB0aGF0IGN1cnJlbnRseSBtZWFu
cyBlaXRoZXIgSU1BR0UsIFRFWFQsIG9yCi0gICAgICAgSU1BR0UrVEVYVC4gT25jZSB3ZSBoYXZl
IGZpbmlzaGVkIG1pZ3JhdGluZyB0aGUgZXhwZWN0YXRpb25zLCB3ZSB3aWxsCi0gICAgICAgY2hh
bmdlIEZBSUwgdG8gaGF2ZSB0aGUgbWVhbmluZyBvZiBJTUFHRStURVhUIGFuZCByZW1vdmUgdGhl
IElNQUdFK1RFWFQKLSAgICAgICBpZGVudGlmaWVyLgorICAgICAgLUEgdGVzdCBzaG91bGQgb25s
eSBiZSBvbmUgb2YgSU1BR0UsIFRFWFQsIElNQUdFK1RFWFQsIEFVRElPLCBvciBGQUlMLgorICAg
ICAgIEZBSUwgaXMgYSBsZWdhY3kgdmFsdWUgdGhhdCBjdXJyZW50bHkgbWVhbnMgZWl0aGVyIElN
QUdFLAorICAgICAgIFRFWFQsIG9yIElNQUdFK1RFWFQuIE9uY2Ugd2UgaGF2ZSBmaW5pc2hlZCBt
aWdyYXRpbmcgdGhlIGV4cGVjdGF0aW9ucywKKyAgICAgICB3ZSBzaG91bGQgY2hhbmdlIEZBSUwg
dG8gaGF2ZSB0aGUgbWVhbmluZyBvZiBJTUFHRStURVhUIGFuZCByZW1vdmUgdGhlCisgICAgICAg
SU1BR0UrVEVYVCBpZGVudGlmaWVyLgogICAgICAgLUEgdGVzdCBjYW4gYmUgaW5jbHVkZWQgdHdp
Y2UsIGJ1dCBub3QgdmlhIHRoZSBzYW1lIHBhdGguCiAgICAgICAtSWYgYSB0ZXN0IGlzIGluY2x1
ZGVkIHR3aWNlLCB0aGVuIHRoZSBtb3JlIHByZWNpc2UgcGF0aCB3aW5zLgogICAgICAgLUNSQVNI
IHRlc3RzIGNhbm5vdCBiZSBXT05URklYCkBAIC0yNTksNiArMjYwLDcgQEAgY2xhc3MgVGVzdEV4
cGVjdGF0aW9uc0ZpbGU6CiAgICAgICAgICAgICAgICAgICAgICd0ZXh0JzogVEVYVCwKICAgICAg
ICAgICAgICAgICAgICAgJ2ltYWdlJzogSU1BR0UsCiAgICAgICAgICAgICAgICAgICAgICdpbWFn
ZSt0ZXh0JzogSU1BR0VfUExVU19URVhULAorICAgICAgICAgICAgICAgICAgICAnYXVkaW8nOiBB
VURJTywKICAgICAgICAgICAgICAgICAgICAgJ3RpbWVvdXQnOiBUSU1FT1VULAogICAgICAgICAg
ICAgICAgICAgICAnY3Jhc2gnOiBDUkFTSCwKICAgICAgICAgICAgICAgICAgICAgJ21pc3Npbmcn
OiBNSVNTSU5HfQpAQCAtMjcxLDYgKzI3Myw3IEBAIGNsYXNzIFRlc3RFeHBlY3RhdGlvbnNGaWxl
OgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJTUFHRTogKCdpbWFnZSBtaXNtYXRj
aCcsICdpbWFnZSBtaXNtYXRjaCcpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJ
TUFHRV9QTFVTX1RFWFQ6ICgnaW1hZ2UgYW5kIHRleHQgbWlzbWF0Y2gnLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaW1hZ2UgYW5kIHRleHQgbWlz
bWF0Y2gnKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVVESU86ICgnYXVkaW8g
bWlzbWF0Y2gnLCAnYXVkaW8gbWlzbWF0Y2gnKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgQ1JBU0g6ICgnRHVtcFJlbmRlclRyZWUgY3Jhc2gnLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICdEdW1wUmVuZGVyVHJlZSBjcmFzaGVzJyksCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFRJTUVPVVQ6ICgndGVzdCB0aW1lZCBvdXQnLCAndGVz
dHMgdGltZWQgb3V0JyksCkBAIC0yNzgsNyArMjgxLDcgQEAgY2xhc3MgVGVzdEV4cGVjdGF0aW9u
c0ZpbGU6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbm8gZXhw
ZWN0ZWQgcmVzdWx0cyBmb3VuZCcpfQogCiAgICAgRVhQRUNUQVRJT05fT1JERVIgPSAoUEFTUywg
Q1JBU0gsIFRJTUVPVVQsIE1JU1NJTkcsIElNQUdFX1BMVVNfVEVYVCwKLSAgICAgICBURVhULCBJ
TUFHRSwgRkFJTCwgU0tJUCkKKyAgICAgICBURVhULCBJTUFHRSwgQVVESU8sIEZBSUwsIFNLSVAp
CiAKICAgICBCVUlMRF9UWVBFUyA9ICgnZGVidWcnLCAncmVsZWFzZScpCiAKZGlmZiAtLWdpdCBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2xheW91dF9wYWNrYWdlL3Rlc3Rf
ZmFpbHVyZXMucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9sYXlvdXRf
cGFja2FnZS90ZXN0X2ZhaWx1cmVzLnB5CmluZGV4IDFmYWQ3NzI0NmI4NWU2MmQwMGYzNWEwNWZk
MmNjNjliMjNlNDk2ZjIuLmYxMjdjMmJiZTM0ODFiMmUzNDE5MzU3ODNhMjJhNjkwNjhlYjViOTgg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2xheW91dF9w
YWNrYWdlL3Rlc3RfZmFpbHVyZXMucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlv
dXRfdGVzdHMvbGF5b3V0X3BhY2thZ2UvdGVzdF9mYWlsdXJlcy5weQpAQCAtNTQsNyArNTQsOCBA
QCBkZWYgZGV0ZXJtaW5lX3Jlc3VsdF90eXBlKGZhaWx1cmVfbGlzdCk6CiAgICAgICAgIHJldHVy
biB0ZXN0X2V4cGVjdGF0aW9ucy5USU1FT1VUCiAgICAgZWxpZiAoRmFpbHVyZU1pc3NpbmdSZXN1
bHQgaW4gZmFpbHVyZV90eXBlcyBvcgogICAgICAgICAgIEZhaWx1cmVNaXNzaW5nSW1hZ2UgaW4g
ZmFpbHVyZV90eXBlcyBvcgotICAgICAgICAgIEZhaWx1cmVNaXNzaW5nSW1hZ2VIYXNoIGluIGZh
aWx1cmVfdHlwZXMpOgorICAgICAgICAgIEZhaWx1cmVNaXNzaW5nSW1hZ2VIYXNoIGluIGZhaWx1
cmVfdHlwZXMgb3IKKyAgICAgICAgICBGYWlsdXJlTWlzc2luZ0F1ZGlvIGluIGZhaWx1cmVfdHlw
ZXMpOgogICAgICAgICByZXR1cm4gdGVzdF9leHBlY3RhdGlvbnMuTUlTU0lORwogICAgIGVsc2U6
CiAgICAgICAgIGlzX3RleHRfZmFpbHVyZSA9IEZhaWx1cmVUZXh0TWlzbWF0Y2ggaW4gZmFpbHVy
ZV90eXBlcwpAQCAtNjIsMTIgKzYzLDE1IEBAIGRlZiBkZXRlcm1pbmVfcmVzdWx0X3R5cGUoZmFp
bHVyZV9saXN0KToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGYWlsdXJlSW1hZ2VIYXNo
TWlzbWF0Y2ggaW4gZmFpbHVyZV90eXBlcykKICAgICAgICAgaXNfcmVmdGVzdF9mYWlsdXJlID0g
KEZhaWx1cmVSZWZ0ZXN0TWlzbWF0Y2ggaW4gZmFpbHVyZV90eXBlcyBvcgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgRmFpbHVyZVJlZnRlc3RNaXNtYXRjaERpZE5vdE9jY3VyIGluIGZh
aWx1cmVfdHlwZXMpCisgICAgICAgIGlzX2F1ZGlvX2ZhaWx1cmUgPSAoRmFpbHVyZUF1ZGlvTWlz
bWF0Y2ggaW4gZmFpbHVyZV90eXBlcykKICAgICAgICAgaWYgaXNfdGV4dF9mYWlsdXJlIGFuZCBp
c19pbWFnZV9mYWlsdXJlOgogICAgICAgICAgICAgcmV0dXJuIHRlc3RfZXhwZWN0YXRpb25zLklN
QUdFX1BMVVNfVEVYVAogICAgICAgICBlbGlmIGlzX3RleHRfZmFpbHVyZToKICAgICAgICAgICAg
IHJldHVybiB0ZXN0X2V4cGVjdGF0aW9ucy5URVhUCiAgICAgICAgIGVsaWYgaXNfaW1hZ2VfZmFp
bHVyZSBvciBpc19yZWZ0ZXN0X2ZhaWx1cmU6CiAgICAgICAgICAgICByZXR1cm4gdGVzdF9leHBl
Y3RhdGlvbnMuSU1BR0UKKyAgICAgICAgZWxpZiBpc19hdWRpb19mYWlsdXJlOgorICAgICAgICAg
ICAgcmV0dXJuIHRlc3RfZXhwZWN0YXRpb25zLkFVRElPCiAgICAgICAgIGVsc2U6CiAgICAgICAg
ICAgICByYWlzZSBWYWx1ZUVycm9yKCJ1bmNsYXNzaWZpYWJsZSBzZXQgb2YgZmFpbHVyZXM6ICIK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKyBzdHIoZmFpbHVyZV90eXBlcykpCkBAIC0z
MzEsNiArMzM1LDI4IEBAIGNsYXNzIEZhaWx1cmVSZWZ0ZXN0TWlzbWF0Y2hEaWROb3RPY2N1cihD
b21wYXJpc29uVGVzdEZhaWx1cmUpOgogICAgICAgICByZXR1cm4gJyAnLmpvaW4obGlua3MpCiAK
IAorY2xhc3MgRmFpbHVyZU1pc3NpbmdBdWRpbyhDb21wYXJpc29uVGVzdEZhaWx1cmUpOgorICAg
ICIiIkFjdHVhbCByZXN1bHQgaW1hZ2Ugd2FzIG1pc3NpbmcuIiIiCisgICAgT1VUX0ZJTEVOQU1F
UyA9ICgiLWFjdHVhbC53YXYiLCkKKworICAgIEBzdGF0aWNtZXRob2QKKyAgICBkZWYgbWVzc2Fn
ZSgpOgorICAgICAgICByZXR1cm4gIk5vIGV4cGVjdGVkIGF1ZGlvIGZvdW5kIgorCisgICAgZGVm
IHJlc3VsdF9odG1sX291dHB1dChzZWxmLCBmaWxlbmFtZSk6CisgICAgICAgIHJldHVybiAoIjxz
dHJvbmc+JXM8L3N0cm9uZz4iICUgc2VsZi5tZXNzYWdlKCkgKworICAgICAgICAgICAgICAgIHNl
bGYub3V0cHV0X2xpbmtzKGZpbGVuYW1lLCBzZWxmLk9VVF9GSUxFTkFNRVMpKQorCisKK2NsYXNz
IEZhaWx1cmVBdWRpb01pc21hdGNoKENvbXBhcmlzb25UZXN0RmFpbHVyZSk6CisgICAgIiIiQXVk
aW8gZmlsZXMgZGlkbid0IG1hdGNoLiIiIgorICAgIE9VVF9GSUxFTkFNRVMgPSAoIi1hY3R1YWwu
d2F2IiwgIi1leHBlY3RlZC53YXYiKQorCisgICAgQHN0YXRpY21ldGhvZAorICAgIGRlZiBtZXNz
YWdlKCk6CisgICAgICAgIHJldHVybiAiQXVkaW8gbWlzbWF0Y2giCisKKwogIyBDb252ZW5pZW50
IGNvbGxlY3Rpb24gb2YgYWxsIGZhaWx1cmUgY2xhc3NlcyBmb3IgYW55dGhpbmcgdGhhdCBtaWdo
dAogIyBuZWVkIHRvIGVudW1lcmF0ZSBvdmVyIHRoZW0gYWxsLgogQUxMX0ZBSUxVUkVfQ0xBU1NF
UyA9IChGYWlsdXJlVGltZW91dCwgRmFpbHVyZUNyYXNoLCBGYWlsdXJlTWlzc2luZ1Jlc3VsdCwK
ZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2xheW91dF9w
YWNrYWdlL3Rlc3RfcmVzdWx0X3dyaXRlci5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5
b3V0X3Rlc3RzL2xheW91dF9wYWNrYWdlL3Rlc3RfcmVzdWx0X3dyaXRlci5weQppbmRleCBlMjA5
NTAzMGZlODQwNjljNGE4MzVmN2JjMjIwZDZkMmQwOTNhMjkzLi5hNDA0YmMyZDc2NjkxZWZmMGRi
MmY5YWE5YzNkNDBlZDQwMTdlNjFlIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L2xheW91dF90ZXN0cy9sYXlvdXRfcGFja2FnZS90ZXN0X3Jlc3VsdF93cml0ZXIucHkKKysrIGIv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbGF5b3V0X3BhY2thZ2UvdGVzdF9y
ZXN1bHRfd3JpdGVyLnB5CkBAIC02Myw2ICs2Myw5IEBAIGRlZiB3cml0ZV90ZXN0X3Jlc3VsdChw
b3J0LCByb290X291dHB1dF9kaXIsIGZpbGVuYW1lLCBkcml2ZXJfb3V0cHV0LAogICAgICAgICAg
ICAgaWYgbm90IGltYWdlc19hcmVfZGlmZmVyZW50OgogICAgICAgICAgICAgICAgIGNoZWNrc3Vt
c19taXNtYXRjaF9idXRfaW1hZ2VzX2FyZV9zYW1lID0gVHJ1ZQogICAgICAgICAgICAgICAgIGlt
YWdlaGFzaF9taXNtYXRjaF9mYWlsdXJlID0gZmFpbHVyZQorICAgICAgICBlbGlmIGlzaW5zdGFu
Y2UoZmFpbHVyZSwgKHRlc3RfZmFpbHVyZXMuRmFpbHVyZUF1ZGlvTWlzbWF0Y2gsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdF9mYWlsdXJlcy5GYWlsdXJlTWlzc2luZ0F1
ZGlvKSk6CisgICAgICAgICAgICB3cml0ZXIud3JpdGVfYXVkaW9fZmlsZXMoZHJpdmVyX291dHB1
dC5hdWRpbywgZXhwZWN0ZWRfZHJpdmVyX291dHB1dC5hdWRpbykKICAgICAgICAgZWxpZiBpc2lu
c3RhbmNlKGZhaWx1cmUsIHRlc3RfZmFpbHVyZXMuRmFpbHVyZUNyYXNoKToKICAgICAgICAgICAg
IGlmIGZhaWx1cmUucmVmZXJlbmNlX2ZpbGVuYW1lOgogICAgICAgICAgICAgICAgIHdyaXRlci53
cml0ZV9jcmFzaF9yZXBvcnQoZXhwZWN0ZWRfZHJpdmVyX291dHB1dC5lcnJvcikKQEAgLTE4Nyw2
ICsxOTAsOSBAQCBjbGFzcyBUZXN0UmVzdWx0V3JpdGVyKG9iamVjdCk6CiAgICAgICAgIHByZXR0
eV9wYXRjaF9maWxlbmFtZSA9IHNlbGYub3V0cHV0X2ZpbGVuYW1lKHNlbGYuRklMRU5BTUVfU1VG
RklYX1BSRVRUWV9QQVRDSCkKICAgICAgICAgZnMud3JpdGVfYmluYXJ5X2ZpbGUocHJldHR5X3Bh
dGNoX2ZpbGVuYW1lLCBwcmV0dHlfcGF0Y2gpCiAKKyAgICBkZWYgd3JpdGVfYXVkaW9fZmlsZXMo
c2VsZiwgYWN0dWFsX2F1ZGlvLCBleHBlY3RlZF9hdWRpbyk6CisgICAgICAgIHNlbGYud3JpdGVf
b3V0cHV0X2ZpbGVzKCcud2F2JywgYWN0dWFsX2F1ZGlvLCBleHBlY3RlZF9hdWRpbykKKwogICAg
IGRlZiB3cml0ZV9pbWFnZV9maWxlcyhzZWxmLCBhY3R1YWxfaW1hZ2UsIGV4cGVjdGVkX2ltYWdl
KToKICAgICAgICAgc2VsZi53cml0ZV9vdXRwdXRfZmlsZXMoJy5wbmcnLCBhY3R1YWxfaW1hZ2Us
IGV4cGVjdGVkX2ltYWdlKQogCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xh
eW91dF90ZXN0cy9wb3J0L2Jhc2UucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90
ZXN0cy9wb3J0L2Jhc2UucHkKaW5kZXggYzIwNDg2YzgwNmJlMmYzODRmZjVkODRmZDUzMTYzOTZh
M2VmOWNmNi4uN2EyZTI0ZmE4MDA0NTU5NDcyZDE4YjM2MjI0MGQ4MjBhOThmNjUzOCAxMDA2NDQK
LS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9iYXNlLnB5Cisr
KyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvYmFzZS5weQpAQCAt
MjA2LDYgKzIwNiwxMCBAQCBjbGFzcyBQb3J0KG9iamVjdCk6CiAgICAgICAgIGludGVyZmFjZSBz
byB0aGF0IGl0IGNhbiBiZSBvdmVycmlkZW4gZm9yIHRlc3RpbmcgcHVycG9zZXMuIiIiCiAgICAg
ICAgIHJldHVybiBleHBlY3RlZF90ZXh0ICE9IGFjdHVhbF90ZXh0CiAKKyAgICBkZWYgY29tcGFy
ZV9hdWRpbyhzZWxmLCBleHBlY3RlZF9hdWRpbywgYWN0dWFsX2F1ZGlvKToKKyAgICAgICAgIiIi
UmV0dXJuIHdoZXRoZXIgdGhlIHR3byBhdWRpbyBmaWxlcyBhcmUgKm5vdCogZXF1YWwuIiIiCisg
ICAgICAgIHJldHVybiBleHBlY3RlZF9hdWRpbyAhPSBhY3R1YWxfYXVkaW8KKwogICAgIGRlZiBk
aWZmX2ltYWdlKHNlbGYsIGV4cGVjdGVkX2NvbnRlbnRzLCBhY3R1YWxfY29udGVudHMsCiAgICAg
ICAgICAgICAgICAgICAgZGlmZl9maWxlbmFtZT1Ob25lLCB0b2xlcmFuY2U9MCk6CiAgICAgICAg
ICIiIkNvbXBhcmUgdHdvIGltYWdlcyBhbmQgcHJvZHVjZSBhIGRlbHRhIGltYWdlIGZpbGUuCkBA
IC0zNTEsMTUgKzM1NSwyMiBAQCBjbGFzcyBQb3J0KG9iamVjdCk6CiAgICAgICAgICAgICByZXR1
cm4gTm9uZQogICAgICAgICByZXR1cm4gc2VsZi5fZmlsZXN5c3RlbS5yZWFkX2JpbmFyeV9maWxl
KHBhdGgpCiAKKyAgICBkZWYgZXhwZWN0ZWRfYXVkaW8oc2VsZiwgdGVzdCk6CisgICAgICAgIHBh
dGggPSBzZWxmLmV4cGVjdGVkX2ZpbGVuYW1lKHRlc3QsICcud2F2JykKKyAgICAgICAgaWYgbm90
IHNlbGYucGF0aF9leGlzdHMocGF0aCk6CisgICAgICAgICAgICByZXR1cm4gTm9uZQorICAgICAg
ICByZXR1cm4gc2VsZi5fZmlsZXN5c3RlbS5yZWFkX2JpbmFyeV9maWxlKHBhdGgpCisKICAgICBk
ZWYgZXhwZWN0ZWRfdGV4dChzZWxmLCB0ZXN0KToKLSAgICAgICAgIiIiUmV0dXJucyB0aGUgdGV4
dCBvdXRwdXQgd2UgZXhwZWN0IHRoZSB0ZXN0IHRvIHByb2R1Y2UuCisgICAgICAgICIiIlJldHVy
bnMgdGhlIHRleHQgb3V0cHV0IHdlIGV4cGVjdCB0aGUgdGVzdCB0byBwcm9kdWNlLCBvciBOb25l
CisgICAgICAgIGlmIHdlIGRvbid0IGV4cGVjdCB0aGVyZSB0byBiZSBhbnkgdGV4dCBvdXRwdXQu
CiAgICAgICAgIEVuZC1vZi1saW5lIGNoYXJhY3RlcnMgYXJlIG5vcm1hbGl6ZWQgdG8gJ1xuJy4i
IiIKICAgICAgICAgIyBGSVhNRTogRFJUIG91dHB1dCBpcyBhY3R1YWxseSB1dGYtOCwgYnV0IHNp
bmNlIHdlIGRvbid0IGRlY29kZSB0aGUKICAgICAgICAgIyBvdXRwdXQgZnJvbSBEUlQgKGluc3Rl
YWQgdHJlYXRpbmcgaXQgYXMgYSBiaW5hcnkgc3RyaW5nKSwgd2UgcmVhZCB0aGUKICAgICAgICAg
IyBiYXNlbGluZXMgYXMgYSBiaW5hcnkgc3RyaW5nLCB0b28uCiAgICAgICAgIHBhdGggPSBzZWxm
LmV4cGVjdGVkX2ZpbGVuYW1lKHRlc3QsICcudHh0JykKICAgICAgICAgaWYgbm90IHNlbGYucGF0
aF9leGlzdHMocGF0aCk6Ci0gICAgICAgICAgICByZXR1cm4gJycKKyAgICAgICAgICAgIHJldHVy
biBOb25lCiAgICAgICAgIHRleHQgPSBzZWxmLl9maWxlc3lzdGVtLnJlYWRfYmluYXJ5X2ZpbGUo
cGF0aCkKICAgICAgICAgcmV0dXJuIHRleHQucmVwbGFjZSgiXHJcbiIsICJcbiIpCiAKQEAgLTg2
NywyMiArODc4LDI0IEBAIGNsYXNzIERyaXZlcklucHV0KG9iamVjdCk6CiBjbGFzcyBEcml2ZXJP
dXRwdXQob2JqZWN0KToKICAgICAiIiJHcm91cHMgaW5mb3JtYXRpb24gYWJvdXQgYSBvdXRwdXQg
ZnJvbSBkcml2ZXIgZm9yIGVhc3kgcGFzc2luZyBvZiBkYXRhLiIiIgogCi0gICAgZGVmIF9faW5p
dF9fKHNlbGYsIHRleHQsIGltYWdlLCBpbWFnZV9oYXNoLAotICAgICAgICAgICAgICAgICBjcmFz
aD1GYWxzZSwgdGVzdF90aW1lPU5vbmUsIHRpbWVvdXQ9RmFsc2UsIGVycm9yPScnKToKKyAgICBk
ZWYgX19pbml0X18oc2VsZiwgdGV4dCwgaW1hZ2UsIGltYWdlX2hhc2gsIGF1ZGlvLAorICAgICAg
ICAgICAgICAgICBjcmFzaD1GYWxzZSwgdGVzdF90aW1lPTAsIHRpbWVvdXQ9RmFsc2UsIGVycm9y
PScnKToKICAgICAgICAgIiIiSW5pdGlhbGl6ZXMgYSBUZXN0T3V0cHV0IG9iamVjdC4KIAogICAg
ICAgICBBcmdzOgogICAgICAgICAgIHRleHQ6IGEgdGV4dCBvdXRwdXQKICAgICAgICAgICBpbWFn
ZTogYW4gaW1hZ2Ugb3V0cHV0CiAgICAgICAgICAgaW1hZ2VfaGFzaDogYSBzdHJpbmcgY29udGFp
bmluZyB0aGUgY2hlY2tzdW0gb2YgdGhlIGltYWdlCisgICAgICAgICAgYXVkaW86IGNvbnRlbnRz
IG9mIGFuIGF1ZGlvIHN0cmVhbSwgaWYgYW55IChpbiBXQVYgZm9ybWF0KQogICAgICAgICAgIGNy
YXNoOiBhIGJvb2xlYW4gaW5kaWNhdGluZyB3aGV0aGVyIHRoZSBkcml2ZXIgY3Jhc2hlZCBvbiB0
aGUgdGVzdAotICAgICAgICAgIHRlc3RfdGltZTogYSB0aW1lIHdoaWNoIHRoZSB0ZXN0IGhhcyB0
YWtlbgorICAgICAgICAgIHRlc3RfdGltZTogdGhlIHRpbWUgdGhlIHRlc3QgdG9vayB0byBleGVj
dXRlCiAgICAgICAgICAgdGltZW91dDogYSBib29sZWFuIGluZGljYXRpbmcgd2hlaHRlciB0aGUg
dGVzdCB0aW1lZCBvdXQKICAgICAgICAgICBlcnJvcjogYW55IHVuZXhwZWN0ZWQgb3IgYWRkaXRp
b25hbCAob3IgZXJyb3IpIHRleHQgb3V0cHV0CiAgICAgICAgICIiIgogICAgICAgICBzZWxmLnRl
eHQgPSB0ZXh0CiAgICAgICAgIHNlbGYuaW1hZ2UgPSBpbWFnZQogICAgICAgICBzZWxmLmltYWdl
X2hhc2ggPSBpbWFnZV9oYXNoCisgICAgICAgIHNlbGYuYXVkaW8gPSBhdWRpbwogICAgICAgICBz
ZWxmLmNyYXNoID0gY3Jhc2gKICAgICAgICAgc2VsZi50ZXN0X3RpbWUgPSB0ZXN0X3RpbWUKICAg
ICAgICAgc2VsZi50aW1lb3V0ID0gdGltZW91dApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bS5weSBiL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW0ucHkKaW5kZXggYjAwNDdjNjJjMjFiYTk2
Y2E2NmMxMWQyYWUyYjFkMjFiYjg1NzFlZC4uZTVhNjQ0MzgwZTBmOWNiZDI1M2UwNDQ1ODcwMWY4
Nzk1ZDc1ZGQyZCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVz
dHMvcG9ydC9jaHJvbWl1bS5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90
ZXN0cy9wb3J0L2Nocm9taXVtLnB5CkBAIC0xMzYsNyArMTM2LDExIEBAIGNsYXNzIENocm9taXVt
UG9ydChiYXNlLlBvcnQpOgogCiAgICAgZGVmIGRpZmZfaW1hZ2Uoc2VsZiwgZXhwZWN0ZWRfY29u
dGVudHMsIGFjdHVhbF9jb250ZW50cywKICAgICAgICAgICAgICAgICAgICBkaWZmX2ZpbGVuYW1l
PU5vbmUpOgotICAgICAgICBleGVjdXRhYmxlID0gc2VsZi5fcGF0aF90b19pbWFnZV9kaWZmKCkK
KyAgICAgICAgIyBGSVhNRTogbmVlZCB1bml0IHRlc3RzIGZvciB0aGlzLgorICAgICAgICBpZiBu
b3QgYWN0dWFsX2NvbnRlbnRzIGFuZCBub3QgZXhwZWN0ZWRfY29udGVudHM6CisgICAgICAgICAg
ICByZXR1cm4gRmFsc2UKKyAgICAgICAgaWYgbm90IGFjdHVhbF9jb250ZW50cyBvciBub3QgZXhw
ZWN0ZWRfY29udGVudHM6CisgICAgICAgICAgICByZXR1cm4gVHJ1ZQogCiAgICAgICAgIHRlbXBk
aXIgPSBzZWxmLl9maWxlc3lzdGVtLm1rZHRlbXAoKQogICAgICAgICBleHBlY3RlZF9maWxlbmFt
ZSA9IHNlbGYuX2ZpbGVzeXN0ZW0uam9pbihzdHIodGVtcGRpciksICJleHBlY3RlZC5wbmciKQpA
QCAtMTQ0LDYgKzE0OCw3IEBAIGNsYXNzIENocm9taXVtUG9ydChiYXNlLlBvcnQpOgogICAgICAg
ICBhY3R1YWxfZmlsZW5hbWUgPSBzZWxmLl9maWxlc3lzdGVtLmpvaW4oc3RyKHRlbXBkaXIpLCAi
YWN0dWFsLnBuZyIpCiAgICAgICAgIHNlbGYuX2ZpbGVzeXN0ZW0ud3JpdGVfYmluYXJ5X2ZpbGUo
YWN0dWFsX2ZpbGVuYW1lLCBhY3R1YWxfY29udGVudHMpCiAKKyAgICAgICAgZXhlY3V0YWJsZSA9
IHNlbGYuX3BhdGhfdG9faW1hZ2VfZGlmZigpCiAgICAgICAgIGlmIGRpZmZfZmlsZW5hbWU6CiAg
ICAgICAgICAgICBjbWQgPSBbZXhlY3V0YWJsZSwgJy0tZGlmZicsIGV4cGVjdGVkX2ZpbGVuYW1l
LAogICAgICAgICAgICAgICAgICAgIGFjdHVhbF9maWxlbmFtZSwgZGlmZl9maWxlbmFtZV0KQEAg
LTQyNiw3ICs0MzEsNyBAQCBjbGFzcyBDaHJvbWl1bURyaXZlcihiYXNlLkRyaXZlcik6CiAgICAg
ICAgIGlmIHBuZ19wYXRoIGFuZCBzZWxmLl9wb3J0Ll9maWxlc3lzdGVtLmV4aXN0cyhwbmdfcGF0
aCk6CiAgICAgICAgICAgICByZXR1cm4gc2VsZi5fcG9ydC5fZmlsZXN5c3RlbS5yZWFkX2JpbmFy
eV9maWxlKHBuZ19wYXRoKQogICAgICAgICBlbHNlOgotICAgICAgICAgICAgcmV0dXJuICcnCisg
ICAgICAgICAgICByZXR1cm4gTm9uZQogCiAgICAgZGVmIF9vdXRwdXRfaW1hZ2Vfd2l0aF9yZXRy
eShzZWxmKToKICAgICAgICAgIyBSZXRyeSBhIGZldyBtb3JlIHRpbWVzIGJlY2F1c2Ugb3Blbigp
IHNvbWV0aW1lcyBmYWlscyBvbiBXaW5kb3dzLApAQCAtNTAxLDExICs1MDYsMTYgQEAgY2xhc3Mg
Q2hyb21pdW1Ecml2ZXIoYmFzZS5Ecml2ZXIpOgogCiAgICAgICAgICAgICAobGluZSwgY3Jhc2gp
ID0gc2VsZi5fd3JpdGVfY29tbWFuZF9hbmRfcmVhZF9saW5lKGlucHV0PU5vbmUpCiAKKyAgICAg
ICAgIyBGSVhNRTogQWRkIHN1cHBvcnQgZm9yIGF1ZGlvIHdoZW4gd2UncmUgcmVhZHkuCisKICAg
ICAgICAgcnVuX3RpbWUgPSB0aW1lLnRpbWUoKSAtIHN0YXJ0X3RpbWUKICAgICAgICAgb3V0cHV0
X2ltYWdlID0gc2VsZi5fb3V0cHV0X2ltYWdlX3dpdGhfcmV0cnkoKQotICAgICAgICBhc3NlcnQg
b3V0cHV0X2ltYWdlIGlzIG5vdCBOb25lCi0gICAgICAgIHJldHVybiBiYXNlLkRyaXZlck91dHB1
dCgnJy5qb2luKG91dHB1dCksIG91dHB1dF9pbWFnZSwgYWN0dWFsX2NoZWNrc3VtLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY3Jhc2gsIHJ1bl90aW1lLCB0aW1lb3V0LCAnJy5q
b2luKGVycm9yKSkKKyAgICAgICAgdGV4dCA9ICcnLmpvaW4ob3V0cHV0KQorICAgICAgICBpZiBu
b3QgdGV4dDoKKyAgICAgICAgICAgIHRleHQgPSBOb25lCisKKyAgICAgICAgcmV0dXJuIGJhc2Uu
RHJpdmVyT3V0cHV0KHRleHQsIG91dHB1dF9pbWFnZSwgYWN0dWFsX2NoZWNrc3VtLCBhdWRpbz1O
b25lLAorICAgICAgICAgICAgY3Jhc2g9Y3Jhc2gsIHRlc3RfdGltZT1ydW5fdGltZSwgdGltZW91
dD10aW1lb3V0LCBlcnJvcj0nJy5qb2luKGVycm9yKSkKIAogICAgIGRlZiBzdG9wKHNlbGYpOgog
ICAgICAgICBpZiBzZWxmLl9wcm9jOgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9sYXlvdXRfdGVzdHMvcG9ydC9kcnlydW4ucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xh
eW91dF90ZXN0cy9wb3J0L2RyeXJ1bi5weQppbmRleCAyMGFhNzc2OWExYjM2NWJjODhhYjM4Yjcy
NTA0MTFiYmYwMjQ0YzQ0Li5iYTk5NjM2ZGRhN2ViOWViZmNlNDY3YWZkODkxODdlNTUwZDZlOTNi
IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Ry
eXJ1bi5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Ry
eXJ1bi5weQpAQCAtMTE5LDI5ICsxMTksMjUgQEAgY2xhc3MgRHJ5cnVuRHJpdmVyKGJhc2UuRHJp
dmVyKToKICAgICBkZWYgcnVuX3Rlc3Qoc2VsZiwgZHJpdmVyX2lucHV0KToKICAgICAgICAgc3Rh
cnRfdGltZSA9IHRpbWUudGltZSgpCiAgICAgICAgIGZzID0gc2VsZi5fcG9ydC5fZmlsZXN5c3Rl
bQotICAgICAgICBpZiBmcy5leGlzdHMoc2VsZi5fcG9ydC5yZWZ0ZXN0X2V4cGVjdGVkX2ZpbGVu
YW1lKGRyaXZlcl9pbnB1dC5maWxlbmFtZSkpIG9yIFwKLSAgICAgICAgICAgIGZzLmV4aXN0cyhz
ZWxmLl9wb3J0LnJlZnRlc3RfZXhwZWN0ZWRfbWlzbWF0Y2hfZmlsZW5hbWUoZHJpdmVyX2lucHV0
LmZpbGVuYW1lKSk6Ci0gICAgICAgICAgICB0ZXh0X291dHB1dCA9ICd0ZXN0LXRleHQnCisgICAg
ICAgIGlmIChmcy5leGlzdHMoc2VsZi5fcG9ydC5yZWZ0ZXN0X2V4cGVjdGVkX2ZpbGVuYW1lKGRy
aXZlcl9pbnB1dC5maWxlbmFtZSkpIG9yCisgICAgICAgICAgICBmcy5leGlzdHMoc2VsZi5fcG9y
dC5yZWZ0ZXN0X2V4cGVjdGVkX21pc21hdGNoX2ZpbGVuYW1lKGRyaXZlcl9pbnB1dC5maWxlbmFt
ZSkpIG9yCisgICAgICAgICAgICBkcml2ZXJfaW5wdXQuZmlsZW5hbWUuZW5kc3dpdGgoJy1leHBl
Y3RlZC5odG1sJykpOgorICAgICAgICAgICAgdGV4dCA9ICd0ZXN0LXRleHQnCiAgICAgICAgICAg
ICBpbWFnZSA9ICd0ZXN0LWltYWdlJwotICAgICAgICAgICAgaGFzaCA9ICd0ZXN0LWNoZWNrc3Vt
JwotICAgICAgICBlbGlmIGRyaXZlcl9pbnB1dC5maWxlbmFtZS5lbmRzd2l0aCgnLWV4cGVjdGVk
Lmh0bWwnKToKLSAgICAgICAgICAgIHRleHRfb3V0cHV0ID0gJ3Rlc3QtdGV4dCcKLSAgICAgICAg
ICAgIGltYWdlID0gJ3Rlc3QtaW1hZ2UnCi0gICAgICAgICAgICBoYXNoID0gJ3Rlc3QtY2hlY2tz
dW0nCisgICAgICAgICAgICBjaGVja3N1bSA9ICd0ZXN0LWNoZWNrc3VtJworICAgICAgICAgICAg
YXVkaW8gPSBOb25lCiAgICAgICAgIGVsaWYgZHJpdmVyX2lucHV0LmZpbGVuYW1lLmVuZHN3aXRo
KCctZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbCcpOgotICAgICAgICAgICAgdGV4dF9vdXRwdXQgPSAn
dGVzdC10ZXh0LW1pc21hdGNoJworICAgICAgICAgICAgdGV4dCA9ICd0ZXN0LXRleHQtbWlzbWF0
Y2gnCiAgICAgICAgICAgICBpbWFnZSA9ICd0ZXN0LWltYWdlLW1pc21hdGNoJwotICAgICAgICAg
ICAgaGFzaCA9ICd0ZXN0LWNoZWNrc3VtLW1pc21hdGNoJwotICAgICAgICBlbGlmIGRyaXZlcl9p
bnB1dC5pbWFnZV9oYXNoIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgdGV4dF9vdXRwdXQgPSBz
ZWxmLl9wb3J0LmV4cGVjdGVkX3RleHQoZHJpdmVyX2lucHV0LmZpbGVuYW1lKQotICAgICAgICAg
ICAgaW1hZ2UgPSBzZWxmLl9wb3J0LmV4cGVjdGVkX2ltYWdlKGRyaXZlcl9pbnB1dC5maWxlbmFt
ZSkKLSAgICAgICAgICAgIGhhc2ggPSBzZWxmLl9wb3J0LmV4cGVjdGVkX2NoZWNrc3VtKGRyaXZl
cl9pbnB1dC5maWxlbmFtZSkKKyAgICAgICAgICAgIGNoZWNrc3VtID0gJ3Rlc3QtY2hlY2tzdW0t
bWlzbWF0Y2gnCisgICAgICAgICAgICBhdWRpbyA9IE5vbmUKICAgICAgICAgZWxzZToKLSAgICAg
ICAgICAgIHRleHRfb3V0cHV0ID0gc2VsZi5fcG9ydC5leHBlY3RlZF90ZXh0KGRyaXZlcl9pbnB1
dC5maWxlbmFtZSkKLSAgICAgICAgICAgIGltYWdlID0gTm9uZQotICAgICAgICAgICAgaGFzaCA9
IE5vbmUKLSAgICAgICAgcmV0dXJuIGJhc2UuRHJpdmVyT3V0cHV0KHRleHRfb3V0cHV0LCBpbWFn
ZSwgaGFzaCwgRmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aW1lLnRp
bWUoKSAtIHN0YXJ0X3RpbWUsIEZhbHNlLCAnJykKKyAgICAgICAgICAgIHRleHQgPSBzZWxmLl9w
b3J0LmV4cGVjdGVkX3RleHQoZHJpdmVyX2lucHV0LmZpbGVuYW1lKQorICAgICAgICAgICAgaW1h
Z2UgPSBzZWxmLl9wb3J0LmV4cGVjdGVkX2ltYWdlKGRyaXZlcl9pbnB1dC5maWxlbmFtZSkKKyAg
ICAgICAgICAgIGNoZWNrc3VtID0gc2VsZi5fcG9ydC5leHBlY3RlZF9jaGVja3N1bShkcml2ZXJf
aW5wdXQuZmlsZW5hbWUpCisgICAgICAgICAgICBhdWRpbyA9IHNlbGYuX3BvcnQuZXhwZWN0ZWRf
YXVkaW8oZHJpdmVyX2lucHV0LmZpbGVuYW1lKQorICAgICAgICByZXR1cm4gYmFzZS5Ecml2ZXJP
dXRwdXQodGV4dCwgaW1hZ2UsIGNoZWNrc3VtLCBhdWRpbywgY3Jhc2g9RmFsc2UsCisgICAgICAg
ICAgICB0ZXN0X3RpbWU9dGltZS50aW1lKCkgLSBzdGFydF90aW1lLCB0aW1lb3V0PUZhbHNlLCBl
cnJvcj0nJykKIAogICAgIGRlZiBzdGFydChzZWxmKToKICAgICAgICAgcGFzcwpkaWZmIC0tZ2l0
IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9tb2NrX2RydC5weSBi
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvbW9ja19kcnQucHkKaW5k
ZXggMTE0Nzg0NmQ2MDk1MDg0NGI1NTNjMGVmMDM3MDEyY2RhYzYxZjQ4ZC4uNzM5NjdjZmJmZjg2
NTdhZGQ3NTYzYzQ3ZGZhMzI0YWEyY2I1Mjc3MyAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9tb2NrX2RydC5weQorKysgYi9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L21vY2tfZHJ0LnB5CkBAIC0zMiw2ICszMiw3IEBA
IFRoaXMgaXMgYW4gaW1wbGVtZW50YXRpb24gb2YgdGhlIFBvcnQgaW50ZXJmYWNlIHRoYXQgb3Zl
cnJpZGVzIG90aGVyCiBwb3J0cyBhbmQgY2hhbmdlcyB0aGUgRHJpdmVyIGJpbmFyeSB0byAiTW9j
a0RSVCIuCiAiIiIKIAoraW1wb3J0IGJhc2U2NAogaW1wb3J0IGxvZ2dpbmcKIGltcG9ydCBvcHRw
YXJzZQogaW1wb3J0IG9zCkBAIC0yMDYsMTUgKzIwNywyMyBAQCBjbGFzcyBNb2NrRFJUKG9iamVj
dCk6CiAgICAgICAgICAgICB0ZXN0X3BhdGggPSB0ZXN0X2lucHV0LnVyaQogCiAgICAgICAgIGFj
dHVhbF90ZXh0ID0gcG9ydC5leHBlY3RlZF90ZXh0KHRlc3RfcGF0aCkKKyAgICAgICAgYWN0dWFs
X2F1ZGlvID0gcG9ydC5leHBlY3RlZF9hdWRpbyh0ZXN0X3BhdGgpCiAgICAgICAgIGlmIHNlbGYu
X29wdGlvbnMucGl4ZWxfdGVzdHMgYW5kIHRlc3RfaW5wdXQuY2hlY2tzdW06CiAgICAgICAgICAg
ICBhY3R1YWxfY2hlY2tzdW0gPSBwb3J0LmV4cGVjdGVkX2NoZWNrc3VtKHRlc3RfcGF0aCkKICAg
ICAgICAgICAgIGFjdHVhbF9pbWFnZSA9IHBvcnQuZXhwZWN0ZWRfaW1hZ2UodGVzdF9wYXRoKQog
Ci0gICAgICAgIHNlbGYuX3N0ZG91dC53cml0ZSgnQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluXG4n
KQorICAgICAgICBpZiBhY3R1YWxfYXVkaW86CisgICAgICAgICAgICBzZWxmLl9zdGRvdXQud3Jp
dGUoJ0NvbnRlbnQtVHlwZTogYXVkaW8vd2F2XG4nKQorICAgICAgICAgICAgc2VsZi5fc3Rkb3V0
LndyaXRlKCdDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiBiYXNlNjRcbicpCisgICAgICAgICAg
ICBvdXRwdXQgPSBiYXNlNjQuYjY0ZW5jb2RlKGFjdHVhbF9hdWRpbykKKyAgICAgICAgICAgIHNl
bGYuX3N0ZG91dC53cml0ZSgnQ29udGVudC1MZW5ndGg6ICVzXG4nICUgbGVuKG91dHB1dCkpCisg
ICAgICAgICAgICBzZWxmLl9zdGRvdXQud3JpdGUob3V0cHV0KQorICAgICAgICBlbHNlOgorICAg
ICAgICAgICAgc2VsZi5fc3Rkb3V0LndyaXRlKCdDb250ZW50LVR5cGU6IHRleHQvcGxhaW5cbicp
CisgICAgICAgICAgICAjIEZJWE1FOiBOb3RlIHRoYXQgd2UgZG9uJ3QgZW5zdXJlIHRoZXJlIGlz
IGEgdHJhaWxpbmcgbmV3bGluZSEKKyAgICAgICAgICAgICMgVGhpcyBtaXJyb3JzIGFjdHVhbCAo
TWFjKSBEUlQgYmVoYXZpb3IgYnV0IGlzIGEgYnVnLgorICAgICAgICAgICAgc2VsZi5fc3Rkb3V0
LndyaXRlKGFjdHVhbF90ZXh0KQogCi0gICAgICAgICMgRklYTUU6IE5vdGUgdGhhdCB3ZSBkb24n
dCBlbnN1cmUgdGhlcmUgaXMgYSB0cmFpbGluZyBuZXdsaW5lIQotICAgICAgICAjIFRoaXMgbWly
cm9ycyBhY3R1YWwgKE1hYykgRFJUIGJlaGF2aW9yIGJ1dCBpcyBhIGJ1Zy4KLSAgICAgICAgc2Vs
Zi5fc3Rkb3V0LndyaXRlKGFjdHVhbF90ZXh0KQogICAgICAgICBzZWxmLl9zdGRvdXQud3JpdGUo
JyNFT0ZcbicpCiAKICAgICAgICAgaWYgc2VsZi5fb3B0aW9ucy5waXhlbF90ZXN0cyBhbmQgdGVz
dF9pbnB1dC5jaGVja3N1bToKQEAgLTIyMyw3ICsyMzIsNyBAQCBjbGFzcyBNb2NrRFJUKG9iamVj
dCk6CiAgICAgICAgICAgICBzZWxmLl9zdGRvdXQud3JpdGUoJ0V4cGVjdGVkSGFzaDogJXNcbicg
JSB0ZXN0X2lucHV0LmNoZWNrc3VtKQogICAgICAgICAgICAgaWYgYWN0dWFsX2NoZWNrc3VtICE9
IHRlc3RfaW5wdXQuY2hlY2tzdW06CiAgICAgICAgICAgICAgICAgc2VsZi5fc3Rkb3V0LndyaXRl
KCdDb250ZW50LVR5cGU6IGltYWdlL3BuZ1xuJykKLSAgICAgICAgICAgICAgICBzZWxmLl9zdGRv
dXQud3JpdGUoJ0NvbnRlbnQtTGVuZ3RoOiAlc1xuXG4nICUgbGVuKGFjdHVhbF9pbWFnZSkpCisg
ICAgICAgICAgICAgICAgc2VsZi5fc3Rkb3V0LndyaXRlKCdDb250ZW50LUxlbmd0aDogJXNcbicg
JSBsZW4oYWN0dWFsX2ltYWdlKSkKICAgICAgICAgICAgICAgICBzZWxmLl9zdGRvdXQud3JpdGUo
YWN0dWFsX2ltYWdlKQogICAgICAgICBzZWxmLl9zdGRvdXQud3JpdGUoJyNFT0ZcbicpCiAgICAg
ICAgIHNlbGYuX3N0ZG91dC5mbHVzaCgpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2xheW91dF90ZXN0cy9wb3J0L21vY2tfZHJ0X3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9tb2NrX2RydF91bml0dGVzdC5weQppbmRleCBi
NmY2ZThhOTNjMTg5MTBkYmNkOGU2ZmViMmZmN2M0ZGRjOWM2YWVjLi4zNzYwOGY4YzNjMDRhNjFm
YzQwODAwM2U0OTljYzc1N2YzMWIwNDliIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2xheW91dF90ZXN0cy9wb3J0L21vY2tfZHJ0X3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvbW9ja19kcnRfdW5pdHRlc3QucHkKQEAg
LTIwMCw3ICsyMDAsNyBAQCBjbGFzcyBNb2NrRFJUVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAg
ICAgICAgICAgICAgICAgICAgICAgICAnQWN0dWFsSGFzaDogY2hlY2tzdW0tY2hlY2tzdW1cbics
CiAgICAgICAgICAgICAgICAgICAgICAgICAnRXhwZWN0ZWRIYXNoOiB3cm9uZy1jaGVja3N1bVxu
JywKICAgICAgICAgICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGU6IGltYWdlL3BuZ1xuJywK
LSAgICAgICAgICAgICAgICAgICAgICAgICdDb250ZW50LUxlbmd0aDogMTNcblxuJywKKyAgICAg
ICAgICAgICAgICAgICAgICAgICdDb250ZW50LUxlbmd0aDogMTNcbicsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAnY2hlY2tzdW1ceDhhLXBuZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAn
I0VPRlxuJ10pCiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rl
c3RzL3BvcnQvdGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3Bv
cnQvdGVzdC5weQppbmRleCAzMGI0MzNlZTczMzA4MzY2NmM3OTQ4YWVkMGQyYmZiYzNhOWYyNzZk
Li5iMWEzMjNmNGI5ZjFjYWE0NTU0YWNmZjhiNzY1NTNmY2Y1Y2RhMGFiIDEwMDY0NAotLS0gYS9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3Rlc3QucHkKKysrIGIvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC90ZXN0LnB5CkBAIC0zMCw2ICsz
MCw3IEBACiAiIiJEdW1teSBQb3J0IGltcGxlbWVudGF0aW9uIHVzZWQgZm9yIHRlc3RpbmcuIiIi
CiBmcm9tIF9fZnV0dXJlX18gaW1wb3J0IHdpdGhfc3RhdGVtZW50CiAKK2ltcG9ydCBiYXNlNjQK
IGltcG9ydCB0aW1lCiAKIGZyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbSBpbXBvcnQgZmlsZXN5
c3RlbV9tb2NrCkBAIC02Niw2ICs2Nyw4IEBAIGNsYXNzIFRlc3RJbnN0YW5jZToKICAgICAgICAg
c2VsZi5leHBlY3RlZF9jaGVja3N1bSA9IHNlbGYuYWN0dWFsX2NoZWNrc3VtCiAgICAgICAgIHNl
bGYuZXhwZWN0ZWRfaW1hZ2UgPSBzZWxmLmFjdHVhbF9pbWFnZQogCisgICAgICAgIHNlbGYuYWN0
dWFsX2F1ZGlvID0gTm9uZQorICAgICAgICBzZWxmLmV4cGVjdGVkX2F1ZGlvID0gTm9uZQogCiAj
IFRoaXMgaXMgYW4gaW4tbWVtb3J5IGxpc3Qgb2YgdGVzdHMsIHdoYXQgd2Ugd2FudCB0aGVtIHRv
IHByb2R1Y2UsIGFuZAogIyB3aGF0IHdlIHdhbnQgdG8gY2xhaW0gYXJlIHRoZSBleHBlY3RlZCBy
ZXN1bHRzLgpAQCAtMTExLDExICsxMTQsMjAgQEAgZGVmIHVuaXRfdGVzdF9saXN0KCk6CiAgICAg
dGVzdHMuYWRkKCdmYWlsdXJlcy9leHBlY3RlZC9pbWFnZV9jaGVja3N1bS5odG1sJywKICAgICAg
ICAgICAgICAgYWN0dWFsX2NoZWNrc3VtPSdpbWFnZV9jaGVja3N1bV9mYWlsLWNoZWNrc3VtJywK
ICAgICAgICAgICAgICAgYWN0dWFsX2ltYWdlPSdpbWFnZV9jaGVja3N1bV9mYWlsLXBuZycpCisg
ICAgdGVzdHMuYWRkKCdmYWlsdXJlcy9leHBlY3RlZC9hdWRpby5odG1sJywKKyAgICAgICAgICAg
ICAgYWN0dWFsX2F1ZGlvPWJhc2U2NC5iNjRlbmNvZGUoJ2F1ZGlvX2ZhaWwtd2F2JyksIGV4cGVj
dGVkX2F1ZGlvPSdhdWRpby13YXYnLAorICAgICAgICAgICAgICBhY3R1YWxfdGV4dD1Ob25lLCBl
eHBlY3RlZF90ZXh0PU5vbmUsCisgICAgICAgICAgICAgIGFjdHVhbF9pbWFnZT1Ob25lLCBleHBl
Y3RlZF9pbWFnZT1Ob25lLAorICAgICAgICAgICAgICBhY3R1YWxfY2hlY2tzdW09Tm9uZSwgZXhw
ZWN0ZWRfY2hlY2tzdW09Tm9uZSkKICAgICB0ZXN0cy5hZGQoJ2ZhaWx1cmVzL2V4cGVjdGVkL2tl
eWJvYXJkLmh0bWwnLCBrZXlib2FyZD1UcnVlKQogICAgIHRlc3RzLmFkZCgnZmFpbHVyZXMvZXhw
ZWN0ZWQvbWlzc2luZ19jaGVjay5odG1sJywKICAgICAgICAgICAgICAgZXhwZWN0ZWRfY2hlY2tz
dW09Tm9uZSwKICAgICAgICAgICAgICAgZXhwZWN0ZWRfaW1hZ2U9Tm9uZSkKICAgICB0ZXN0cy5h
ZGQoJ2ZhaWx1cmVzL2V4cGVjdGVkL21pc3NpbmdfaW1hZ2UuaHRtbCcsIGV4cGVjdGVkX2ltYWdl
PU5vbmUpCisgICAgdGVzdHMuYWRkKCdmYWlsdXJlcy9leHBlY3RlZC9taXNzaW5nX2F1ZGlvLmh0
bWwnLCBleHBlY3RlZF9hdWRpbz1Ob25lLAorICAgICAgICAgICAgICBhY3R1YWxfdGV4dD1Ob25l
LCBleHBlY3RlZF90ZXh0PU5vbmUsCisgICAgICAgICAgICAgIGFjdHVhbF9pbWFnZT1Ob25lLCBl
eHBlY3RlZF9pbWFnZT1Ob25lLAorICAgICAgICAgICAgICBhY3R1YWxfY2hlY2tzdW09Tm9uZSwg
ZXhwZWN0ZWRfY2hlY2tzdW09Tm9uZSkKICAgICB0ZXN0cy5hZGQoJ2ZhaWx1cmVzL2V4cGVjdGVk
L21pc3NpbmdfdGV4dC5odG1sJywgZXhwZWN0ZWRfdGV4dD1Ob25lKQogICAgIHRlc3RzLmFkZCgn
ZmFpbHVyZXMvZXhwZWN0ZWQvbmV3bGluZXNfbGVhZGluZy5odG1sJywKICAgICAgICAgICAgICAg
ZXhwZWN0ZWRfdGV4dD0iXG5mb29cbiIsIGFjdHVhbF90ZXh0PSJmb29cbiIpCkBAIC0xMzQsNiAr
MTQ2LDExIEBAIGRlZiB1bml0X3Rlc3RfbGlzdCgpOgogICAgIHRlc3RzLmFkZCgnaHR0cC90ZXN0
cy9zc2wvdGV4dC5odG1sJykKICAgICB0ZXN0cy5hZGQoJ3Bhc3Nlcy9lcnJvci5odG1sJywgZXJy
b3I9J3N0dWZmIGdvaW5nIHRvIHN0ZGVycicpCiAgICAgdGVzdHMuYWRkKCdwYXNzZXMvaW1hZ2Uu
aHRtbCcpCisgICAgdGVzdHMuYWRkKCdwYXNzZXMvYXVkaW8uaHRtbCcsCisgICAgICAgICAgICAg
IGFjdHVhbF9hdWRpbz1iYXNlNjQuYjY0ZW5jb2RlKCdhdWRpby13YXYnKSwgZXhwZWN0ZWRfYXVk
aW89J2F1ZGlvLXdhdicsCisgICAgICAgICAgICAgIGFjdHVhbF90ZXh0PU5vbmUsIGV4cGVjdGVk
X3RleHQ9Tm9uZSwKKyAgICAgICAgICAgICAgYWN0dWFsX2ltYWdlPU5vbmUsIGV4cGVjdGVkX2lt
YWdlPU5vbmUsCisgICAgICAgICAgICAgIGFjdHVhbF9jaGVja3N1bT1Ob25lLCBleHBlY3RlZF9j
aGVja3N1bT1Ob25lKQogICAgIHRlc3RzLmFkZCgncGFzc2VzL3BsYXRmb3JtX2ltYWdlLmh0bWwn
KQogICAgIHRlc3RzLmFkZCgncGFzc2VzL2NoZWNrc3VtX2luX2ltYWdlLmh0bWwnLAogICAgICAg
ICAgICAgICBleHBlY3RlZF9jaGVja3N1bT1Ob25lLApAQCAtMTg0LDIwICsyMDEsMjcgQEAgZGVm
IHVuaXRfdGVzdF9maWxlc3lzdGVtKGZpbGVzPU5vbmUpOgogICAgICAgICBhZGRfZmlsZShmaWxl
cywgdGVzdCwgJy5odG1sJywgJycpCiAgICAgICAgIGlmIHRlc3QuaXNfcmVmdGVzdDoKICAgICAg
ICAgICAgIGNvbnRpbnVlCisgICAgICAgIGlmIHRlc3QuYWN0dWFsX2F1ZGlvOgorICAgICAgICAg
ICAgYWRkX2ZpbGUoZmlsZXMsIHRlc3QsICctZXhwZWN0ZWQud2F2JywgdGVzdC5leHBlY3RlZF9h
dWRpbykKKyAgICAgICAgICAgIGNvbnRpbnVlCisKICAgICAgICAgYWRkX2ZpbGUoZmlsZXMsIHRl
c3QsICctZXhwZWN0ZWQudHh0JywgdGVzdC5leHBlY3RlZF90ZXh0KQogICAgICAgICBhZGRfZmls
ZShmaWxlcywgdGVzdCwgJy1leHBlY3RlZC5jaGVja3N1bScsIHRlc3QuZXhwZWN0ZWRfY2hlY2tz
dW0pCiAgICAgICAgIGFkZF9maWxlKGZpbGVzLCB0ZXN0LCAnLWV4cGVjdGVkLnBuZycsIHRlc3Qu
ZXhwZWN0ZWRfaW1hZ2UpCiAKKwogICAgICMgQWRkIHRoZSB0ZXN0X2V4cGVjdGF0aW9ucyBmaWxl
LgogICAgIGZpbGVzW0xBWU9VVF9URVNUX0RJUiArICcvcGxhdGZvcm0vdGVzdC90ZXN0X2V4cGVj
dGF0aW9ucy50eHQnXSA9ICIiIgogV09OVEZJWCA6IGZhaWx1cmVzL2V4cGVjdGVkL2NoZWNrc3Vt
Lmh0bWwgPSBJTUFHRQogV09OVEZJWCA6IGZhaWx1cmVzL2V4cGVjdGVkL2NyYXNoLmh0bWwgPSBD
UkFTSAogLy8gVGhpcyBvbmUgYWN0dWFsbHkgcGFzc2VzIGJlY2F1c2UgdGhlIGNoZWNrc3VtcyB3
aWxsIG1hdGNoLgogV09OVEZJWCA6IGZhaWx1cmVzL2V4cGVjdGVkL2ltYWdlLmh0bWwgPSBQQVNT
CitXT05URklYIDogZmFpbHVyZXMvZXhwZWN0ZWQvYXVkaW8uaHRtbCA9IEFVRElPCiBXT05URklY
IDogZmFpbHVyZXMvZXhwZWN0ZWQvaW1hZ2VfY2hlY2tzdW0uaHRtbCA9IElNQUdFCiBXT05URklY
IDogZmFpbHVyZXMvZXhwZWN0ZWQvbWlzbWF0Y2guaHRtbCA9IElNQUdFCiBXT05URklYIDogZmFp
bHVyZXMvZXhwZWN0ZWQvbWlzc2luZ19jaGVjay5odG1sID0gTUlTU0lORyBQQVNTCiBXT05URklY
IDogZmFpbHVyZXMvZXhwZWN0ZWQvbWlzc2luZ19pbWFnZS5odG1sID0gTUlTU0lORyBQQVNTCitX
T05URklYIDogZmFpbHVyZXMvZXhwZWN0ZWQvbWlzc2luZ19hdWRpby5odG1sID0gTUlTU0lORyBQ
QVNTCiBXT05URklYIDogZmFpbHVyZXMvZXhwZWN0ZWQvbWlzc2luZ190ZXh0Lmh0bWwgPSBNSVNT
SU5HIFBBU1MKIFdPTlRGSVggOiBmYWlsdXJlcy9leHBlY3RlZC9uZXdsaW5lc19sZWFkaW5nLmh0
bWwgPSBURVhUCiBXT05URklYIDogZmFpbHVyZXMvZXhwZWN0ZWQvbmV3bGluZXNfdHJhaWxpbmcu
aHRtbCA9IFRFWFQKQEAgLTQxMiwxMCArNDM2LDEzIEBAIGNsYXNzIFRlc3REcml2ZXIoYmFzZS5E
cml2ZXIpOgogICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcignZXhjZXB0aW9uIGZyb20gJyAr
IHRlc3RfbmFtZSkKICAgICAgICAgaWYgdGVzdC5oYW5nOgogICAgICAgICAgICAgdGltZS5zbGVl
cCgoZmxvYXQodGVzdF9pbnB1dC50aW1lb3V0KSAqIDQpIC8gMTAwMC4wKQorCisgICAgICAgIGF1
ZGlvID0gTm9uZQorICAgICAgICBpZiB0ZXN0LmFjdHVhbF9hdWRpbzoKKyAgICAgICAgICAgIGF1
ZGlvID0gYmFzZTY0LmI2NGRlY29kZSh0ZXN0LmFjdHVhbF9hdWRpbykKICAgICAgICAgcmV0dXJu
IGJhc2UuRHJpdmVyT3V0cHV0KHRlc3QuYWN0dWFsX3RleHQsIHRlc3QuYWN0dWFsX2ltYWdlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdC5hY3R1YWxfY2hlY2tzdW0sIHRl
c3QuY3Jhc2gsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aW1lLnRpbWUoKSAt
IHN0YXJ0X3RpbWUsIHRlc3QudGltZW91dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHRlc3QuZXJyb3IpCisgICAgICAgICAgICB0ZXN0LmFjdHVhbF9jaGVja3N1bSwgYXVkaW8s
IGNyYXNoPXRlc3QuY3Jhc2gsCisgICAgICAgICAgICB0ZXN0X3RpbWU9dGltZS50aW1lKCkgLSBz
dGFydF90aW1lLCB0aW1lb3V0PXRlc3QudGltZW91dCwgZXJyb3I9dGVzdC5lcnJvcikKIAogICAg
IGRlZiBzdGFydChzZWxmKToKICAgICAgICAgcGFzcwpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC93ZWJraXQucHkgYi9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3dlYmtpdC5weQppbmRleCAwNTIyNjMxNDk0MGNlOWUx
ZmQyYTJjYmEyODVlMjVhMmM2ZjcwOGIyLi5jZmQ4YTM0NTE3ZGZiZmZiMWI0YjUyZThiZTdhMWZi
ZjA0ZTgyNGUzIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0
cy9wb3J0L3dlYmtpdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0
cy9wb3J0L3dlYmtpdC5weQpAQCAtMzAsNyArMzAsNyBAQAogCiAiIiJXZWJLaXQgaW1wbGVtZW50
YXRpb25zIG9mIHRoZSBQb3J0IGludGVyZmFjZS4iIiIKIAotCitpbXBvcnQgYmFzZTY0CiBpbXBv
cnQgbG9nZ2luZwogaW1wb3J0IG9wZXJhdG9yCiBpbXBvcnQgb3MKQEAgLTEwOSw3ICsxMDksMTAg
QEAgY2xhc3MgV2ViS2l0UG9ydChiYXNlLlBvcnQpOgogICAgICAgICBpbWFnZSBvZiB0aGUgdHdv
IGltYWdlcyBpbnRvIHxkaWZmX2ZpbGVuYW1lfCBpZiBpdCBpcyBub3QgTm9uZS4iIiIKIAogICAg
ICAgICAjIEhhbmRsZSB0aGUgY2FzZSB3aGVyZSB0aGUgdGVzdCBkaWRuJ3QgYWN0dWFsbHkgZ2Vu
ZXJhdGUgYW4gaW1hZ2UuCi0gICAgICAgIGlmIG5vdCBhY3R1YWxfY29udGVudHM6CisgICAgICAg
ICMgRklYTUU6IG5lZWQgdW5pdCB0ZXN0cyBmb3IgdGhpcy4KKyAgICAgICAgaWYgbm90IGFjdHVh
bF9jb250ZW50cyBhbmQgbm90IGV4cGVjdGVkX2NvbnRlbnRzOgorICAgICAgICAgICAgcmV0dXJu
IEZhbHNlCisgICAgICAgIGlmIG5vdCBhY3R1YWxfY29udGVudHMgb3Igbm90IGV4cGVjdGVkX2Nv
bnRlbnRzOgogICAgICAgICAgICAgcmV0dXJuIFRydWUKIAogICAgICAgICBzcCA9IHNlbGYuX2Rp
ZmZfaW1hZ2VfcmVxdWVzdChleHBlY3RlZF9jb250ZW50cywgYWN0dWFsX2NvbnRlbnRzKQpAQCAt
NDA2LDQ3ICs0MDksMjQgQEAgY2xhc3MgV2ViS2l0RHJpdmVyKGJhc2UuRHJpdmVyKToKICAgICAg
ICAgc3RhcnRfdGltZSA9IHRpbWUudGltZSgpCiAgICAgICAgIHNlbGYuX3NlcnZlcl9wcm9jZXNz
LndyaXRlKGNvbW1hbmQpCiAKLSAgICAgICAgaGF2ZV9zZWVuX2NvbnRlbnRfdHlwZSA9IEZhbHNl
CisgICAgICAgIHRleHQgPSBOb25lCisgICAgICAgIGltYWdlID0gTm9uZQogICAgICAgICBhY3R1
YWxfaW1hZ2VfaGFzaCA9IE5vbmUKLSAgICAgICAgb3V0cHV0ID0gc3RyKCkgICMgVXNlIGEgYnl0
ZSBhcnJheSBmb3Igb3V0cHV0LCBldmVuIHRob3VnaCBpdCBzaG91bGQgYmUgVVRGLTguCi0gICAg
ICAgIGltYWdlID0gc3RyKCkKKyAgICAgICAgYXVkaW8gPSBOb25lCisgICAgICAgIGRlYWRsaW5l
ID0gdGltZS50aW1lKCkgKyBpbnQoZHJpdmVyX2lucHV0LnRpbWVvdXQpIC8gMTAwMC4wCiAKLSAg
ICAgICAgdGltZW91dCA9IGludChkcml2ZXJfaW5wdXQudGltZW91dCkgLyAxMDAwLjAKLSAgICAg
ICAgZGVhZGxpbmUgPSB0aW1lLnRpbWUoKSArIHRpbWVvdXQKLSAgICAgICAgbGluZSA9IHNlbGYu
X3NlcnZlcl9wcm9jZXNzLnJlYWRfbGluZSh0aW1lb3V0KQotICAgICAgICB3aGlsZSAobm90IHNl
bGYuX3NlcnZlcl9wcm9jZXNzLnRpbWVkX291dAotICAgICAgICAgICAgICAgYW5kIG5vdCBzZWxm
Ll9zZXJ2ZXJfcHJvY2Vzcy5jcmFzaGVkCi0gICAgICAgICAgICAgICBhbmQgbGluZS5yc3RyaXAo
KSAhPSAiI0VPRiIpOgotICAgICAgICAgICAgaWYgKGxpbmUuc3RhcnRzd2l0aCgnQ29udGVudC1U
eXBlOicpIGFuZCBub3QKLSAgICAgICAgICAgICAgICBoYXZlX3NlZW5fY29udGVudF90eXBlKToK
LSAgICAgICAgICAgICAgICBoYXZlX3NlZW5fY29udGVudF90eXBlID0gVHJ1ZQotICAgICAgICAg
ICAgZWxzZToKLSAgICAgICAgICAgICAgICAjIE5vdGU6IFRleHQgb3V0cHV0IGZyb20gRHVtcFJl
bmRlclRyZWUgaXMgYWx3YXlzIFVURi04LgotICAgICAgICAgICAgICAgICMgSG93ZXZlciwgc29t
ZSB0ZXN0cyAoZS5nLiB3ZWJhcmNoaXZlcykgc3BpdCBvdXQgYmluYXJ5Ci0gICAgICAgICAgICAg
ICAgIyBkYXRhIGluc3RlYWQgb2YgdGV4dC4gIFNvIHRvIG1ha2UgdGhpbmdzIHNpbXBsZSwgd2UK
LSAgICAgICAgICAgICAgICAjIGFsd2F5cyB0cmVhdCB0aGUgb3V0cHV0IGFzIGJpbmFyeS4KLSAg
ICAgICAgICAgICAgICBvdXRwdXQgKz0gbGluZQotICAgICAgICAgICAgbGluZSA9IHNlbGYuX3Nl
cnZlcl9wcm9jZXNzLnJlYWRfbGluZSh0aW1lb3V0KQotICAgICAgICAgICAgdGltZW91dCA9IGRl
YWRsaW5lIC0gdGltZS50aW1lKCkKKyAgICAgICAgIyBGaXJzdCBibG9jayBpcyBlaXRoZXIgdGV4
dCBvciBhdWRpbworICAgICAgICBibG9jayA9IHNlbGYuX3JlYWRfYmxvY2soZGVhZGxpbmUpCisg
ICAgICAgIGlmIGJsb2NrLmNvbnRlbnRfdHlwZSA9PSAnYXVkaW8vd2F2JzoKKyAgICAgICAgICAg
IGF1ZGlvID0gYmxvY2suZGVjb2RlZF9jb250ZW50CisgICAgICAgIGVsc2U6CisgICAgICAgICAg
ICB0ZXh0ID0gYmxvY2suZGVjb2RlZF9jb250ZW50CiAKLSAgICAgICAgIyBOb3cgcmVhZCBhIHNl
Y29uZCBibG9jayBvZiB0ZXh0IGZvciB0aGUgb3B0aW9uYWwgaW1hZ2UgZGF0YQotICAgICAgICBy
ZW1haW5pbmdfbGVuZ3RoID0gLTEKLSAgICAgICAgSEFTSF9IRUFERVIgPSAnQWN0dWFsSGFzaDog
JwotICAgICAgICBMRU5HVEhfSEVBREVSID0gJ0NvbnRlbnQtTGVuZ3RoOiAnCi0gICAgICAgIGxp
bmUgPSBzZWxmLl9zZXJ2ZXJfcHJvY2Vzcy5yZWFkX2xpbmUodGltZW91dCkKLSAgICAgICAgd2hp
bGUgKG5vdCBzZWxmLl9zZXJ2ZXJfcHJvY2Vzcy50aW1lZF9vdXQKLSAgICAgICAgICAgICAgIGFu
ZCBub3Qgc2VsZi5fc2VydmVyX3Byb2Nlc3MuY3Jhc2hlZAotICAgICAgICAgICAgICAgYW5kIGxp
bmUucnN0cmlwKCkgIT0gIiNFT0YiKToKLSAgICAgICAgICAgIGlmIGxpbmUuc3RhcnRzd2l0aChI
QVNIX0hFQURFUik6Ci0gICAgICAgICAgICAgICAgYWN0dWFsX2ltYWdlX2hhc2ggPSBsaW5lW2xl
bihIQVNIX0hFQURFUik6XS5zdHJpcCgpCi0gICAgICAgICAgICBlbGlmIGxpbmUuc3RhcnRzd2l0
aCgnQ29udGVudC1UeXBlOicpOgotICAgICAgICAgICAgICAgIHBhc3MKLSAgICAgICAgICAgIGVs
aWYgbGluZS5zdGFydHN3aXRoKExFTkdUSF9IRUFERVIpOgotICAgICAgICAgICAgICAgIHRpbWVv
dXQgPSBkZWFkbGluZSAtIHRpbWUudGltZSgpCi0gICAgICAgICAgICAgICAgY29udGVudF9sZW5n
dGggPSBpbnQobGluZVtsZW4oTEVOR1RIX0hFQURFUik6XSkKLSAgICAgICAgICAgICAgICBpbWFn
ZSA9IHNlbGYuX3NlcnZlcl9wcm9jZXNzLnJlYWQodGltZW91dCwgY29udGVudF9sZW5ndGgpCi0g
ICAgICAgICAgICB0aW1lb3V0ID0gZGVhZGxpbmUgLSB0aW1lLnRpbWUoKQotICAgICAgICAgICAg
bGluZSA9IHNlbGYuX3NlcnZlcl9wcm9jZXNzLnJlYWRfbGluZSh0aW1lb3V0KQorICAgICAgICAj
IE5vdyByZWFkIGFuIG9wdGlvbmFsIHNlY29uZCBibG9jayBvZiBpbWFnZSBkYXRhCisgICAgICAg
IGJsb2NrID0gc2VsZi5fcmVhZF9ibG9jayhkZWFkbGluZSkKKyAgICAgICAgaWYgYmxvY2suY29u
dGVudCBhbmQgYmxvY2suY29udGVudF90eXBlID09ICdpbWFnZS9wbmcnOgorICAgICAgICAgICAg
aW1hZ2UgPSBibG9jay5kZWNvZGVkX2NvbnRlbnQKKyAgICAgICAgICAgIGFjdHVhbF9pbWFnZV9o
YXNoID0gYmxvY2suY29udGVudF9oYXNoCiAKICAgICAgICAgZXJyb3JfbGluZXMgPSBzZWxmLl9z
ZXJ2ZXJfcHJvY2Vzcy5lcnJvci5zcGxpdGxpbmVzKCkKICAgICAgICAgIyBGSVhNRTogVGhpcyBp
cyBhIGhhY2suICBJdCBpcyB1bmNsZWFyIHdoeSBzb21ldGltZXMKQEAgLTQ1OCwxMyArNDM4LDU5
IEBAIGNsYXNzIFdlYktpdERyaXZlcihiYXNlLkRyaXZlcik6CiAgICAgICAgICMgRklYTUU6IFRo
aXMgc2VlbXMgbGlrZSB0aGUgd3Jvbmcgc2VjdGlvbiBvZiBjb2RlIHRvIGJlIGRvaW5nCiAgICAg
ICAgICMgdGhpcyByZXNldCBpbi4KICAgICAgICAgc2VsZi5fc2VydmVyX3Byb2Nlc3MuZXJyb3Ig
PSAiIgotICAgICAgICByZXR1cm4gYmFzZS5Ecml2ZXJPdXRwdXQob3V0cHV0LCBpbWFnZSwgYWN0
dWFsX2ltYWdlX2hhc2gsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9z
ZXJ2ZXJfcHJvY2Vzcy5jcmFzaGVkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dGltZS50aW1lKCkgLSBzdGFydF90aW1lLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgc2VsZi5fc2VydmVyX3Byb2Nlc3MudGltZWRfb3V0LAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZXJyb3IpCisgICAgICAgIHJldHVybiBiYXNlLkRyaXZlck91dHB1dCh0ZXh0
LCBpbWFnZSwgYWN0dWFsX2ltYWdlX2hhc2gsIGF1ZGlvLAorICAgICAgICAgICAgY3Jhc2g9c2Vs
Zi5fc2VydmVyX3Byb2Nlc3MuY3Jhc2hlZCwgdGVzdF90aW1lPXRpbWUudGltZSgpIC0gc3RhcnRf
dGltZSwKKyAgICAgICAgICAgIHRpbWVvdXQ9c2VsZi5fc2VydmVyX3Byb2Nlc3MudGltZWRfb3V0
LCBlcnJvcj1lcnJvcikKKworICAgIGRlZiBfcmVhZF9ibG9jayhzZWxmLCBkZWFkbGluZSk6Cisg
ICAgICAgIExFTkdUSF9IRUFERVIgPSAnQ29udGVudC1MZW5ndGg6ICcKKyAgICAgICAgSEFTSF9I
RUFERVIgPSAnQWN0dWFsSGFzaDogJworICAgICAgICBUWVBFX0hFQURFUiA9ICdDb250ZW50LVR5
cGU6ICcKKyAgICAgICAgRU5DT0RJTkdfSEVBREVSID0gJ0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rp
bmc6ICcKKyAgICAgICAgY29udGVudF90eXBlID0gTm9uZQorICAgICAgICBlbmNvZGluZyA9IE5v
bmUKKyAgICAgICAgY29udGVudF9oYXNoID0gTm9uZQorICAgICAgICBjb250ZW50X2xlbmd0aCA9
IE5vbmUKKworICAgICAgICAjIENvbnRlbnQgaXMgdHJlYXRlZCBhcyBiaW5hcnkgZGF0YSBldmVu
IHRob3VnaCB0aGUgdGV4dCBvdXRwdXQKKyAgICAgICAgIyBpcyB1c3VhbGx5IFVURi04LgorICAg
ICAgICBjb250ZW50ID0gJycKKyAgICAgICAgdGltZW91dCA9IGRlYWRsaW5lIC0gdGltZS50aW1l
KCkKKyAgICAgICAgbGluZSA9IHNlbGYuX3NlcnZlcl9wcm9jZXNzLnJlYWRfbGluZSh0aW1lb3V0
KQorICAgICAgICB3aGlsZSAobm90IHNlbGYuX3NlcnZlcl9wcm9jZXNzLnRpbWVkX291dAorICAg
ICAgICAgICAgICAgYW5kIG5vdCBzZWxmLl9zZXJ2ZXJfcHJvY2Vzcy5jcmFzaGVkCisgICAgICAg
ICAgICAgICBhbmQgbGluZS5yc3RyaXAoKSAhPSAiI0VPRiIpOgorICAgICAgICAgICAgaWYgbGlu
ZS5zdGFydHN3aXRoKFRZUEVfSEVBREVSKSBhbmQgY29udGVudF90eXBlIGlzIE5vbmU6CisgICAg
ICAgICAgICAgICAgY29udGVudF90eXBlID0gbGluZS5zcGxpdCgpWzFdCisgICAgICAgICAgICBl
bGlmIGxpbmUuc3RhcnRzd2l0aChFTkNPRElOR19IRUFERVIpIGFuZCBlbmNvZGluZyBpcyBOb25l
OgorICAgICAgICAgICAgICAgIGVuY29kaW5nID0gbGluZS5zcGxpdCgpWzFdCisgICAgICAgICAg
ICBlbGlmIGxpbmUuc3RhcnRzd2l0aChMRU5HVEhfSEVBREVSKSBhbmQgY29udGVudF9sZW5ndGgg
aXMgTm9uZToKKyAgICAgICAgICAgICAgICB0aW1lb3V0ID0gZGVhZGxpbmUgLSB0aW1lLnRpbWUo
KQorICAgICAgICAgICAgICAgIGNvbnRlbnRfbGVuZ3RoID0gaW50KGxpbmVbbGVuKExFTkdUSF9I
RUFERVIpOl0pCisgICAgICAgICAgICAgICAgIyBGSVhNRTogVGVjaG5pY2FsbHkgdGhlcmUgc2hv
dWxkIHByb2JhYmx5IGJlIGFub3RoZXIgYmxhbmsKKyAgICAgICAgICAgICAgICAjIGxpbmUgaGVy
ZSwgYnV0IERSVCBkb2Vzbid0IHdyaXRlIG9uZS4KKyAgICAgICAgICAgICAgICBjb250ZW50ID0g
c2VsZi5fc2VydmVyX3Byb2Nlc3MucmVhZCh0aW1lb3V0LCBjb250ZW50X2xlbmd0aCkKKyAgICAg
ICAgICAgIGVsaWYgbGluZS5zdGFydHN3aXRoKEhBU0hfSEVBREVSKToKKyAgICAgICAgICAgICAg
ICBjb250ZW50X2hhc2ggPSBsaW5lLnNwbGl0KClbMV0KKyAgICAgICAgICAgIGVsc2U6CisgICAg
ICAgICAgICAgICAgY29udGVudCArPSBsaW5lCisgICAgICAgICAgICBsaW5lID0gc2VsZi5fc2Vy
dmVyX3Byb2Nlc3MucmVhZF9saW5lKHRpbWVvdXQpCisgICAgICAgICAgICB0aW1lb3V0ID0gZGVh
ZGxpbmUgLSB0aW1lLnRpbWUoKQorICAgICAgICByZXR1cm4gQ29udGVudEJsb2NrKGNvbnRlbnRf
dHlwZSwgZW5jb2RpbmcsIGNvbnRlbnRfaGFzaCwgY29udGVudCkKIAogICAgIGRlZiBzdG9wKHNl
bGYpOgogICAgICAgICBpZiBzZWxmLl9zZXJ2ZXJfcHJvY2VzczoKICAgICAgICAgICAgIHNlbGYu
X3NlcnZlcl9wcm9jZXNzLnN0b3AoKQogICAgICAgICAgICAgc2VsZi5fc2VydmVyX3Byb2Nlc3Mg
PSBOb25lCisKKworY2xhc3MgQ29udGVudEJsb2NrKG9iamVjdCk6CisgICAgZGVmIF9faW5pdF9f
KHNlbGYsIGNvbnRlbnRfdHlwZSwgZW5jb2RpbmcsIGNvbnRlbnRfaGFzaCwgY29udGVudCk6Cisg
ICAgICAgIHNlbGYuY29udGVudF90eXBlID0gY29udGVudF90eXBlCisgICAgICAgIHNlbGYuZW5j
b2RpbmcgPSBlbmNvZGluZworICAgICAgICBzZWxmLmNvbnRlbnRfaGFzaCA9IGNvbnRlbnRfaGFz
aAorICAgICAgICBzZWxmLmNvbnRlbnQgPSBjb250ZW50CisgICAgICAgIGlmIHNlbGYuZW5jb2Rp
bmcgPT0gJ2Jhc2U2NCc6CisgICAgICAgICAgICBzZWxmLmRlY29kZWRfY29udGVudCA9IGJhc2U2
NC5iNjRkZWNvZGUoY29udGVudCkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHNlbGYuZGVj
b2RlZF9jb250ZW50ID0gY29udGVudAo=
</data>
<flag name="review"
          id="81545"
          type_id="1"
          status="+"
          setter="tony"
    />
          </attachment>
      

    </bug>

</bugzilla>