<?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>199855</bug_id>
          
          <creation_ts>2019-07-17 04:52:47 -0700</creation_ts>
          <short_desc>[GTK][WPE][webkitpy] Refactor drivers to use the base driver for setting up the environment and start the drivers.</short_desc>
          <delta_ts>2019-07-19 08:53:06 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=199945</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Alberto Lopez Perez">clopez</reporter>
          <assigned_to name="Carlos Alberto Lopez Perez">clopez</assigned_to>
          <cc>bugs-noreply</cc>
    
    <cc>cgarcia</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fujii</cc>
    
    <cc>glenn</cc>
    
    <cc>jbedard</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>rniwa</cc>
    
    <cc>ross.kirsling</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1553485</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2019-07-17 04:52:47 -0700</bug_when>
    <thetext>Currently the webkitpy drivers for GTK and WPE use their own versions for setting up the environment and starting/stopping the drivers.

The code can be simplified by using the base driver, and as a benefit we get some fixes like support for setting the profiler environment variables.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1553487</commentid>
    <comment_count>1</comment_count>
      <attachid>374290</attachid>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2019-07-17 05:07:45 -0700</bug_when>
    <thetext>Created attachment 374290
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1553498</commentid>
    <comment_count>2</comment_count>
      <attachid>374290</attachid>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2019-07-17 06:00:55 -0700</bug_when>
    <thetext>Comment on attachment 374290
Patch

Clearing flags on attachment: 374290

Committed r247512: &lt;https://trac.webkit.org/changeset/247512&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1553499</commentid>
    <comment_count>3</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2019-07-17 06:00:59 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1553500</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-07-17 06:03:42 -0700</bug_when>
    <thetext>&lt;rdar://problem/53199770&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1553506</commentid>
    <comment_count>5</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-07-17 08:11:54 -0700</bug_when>
    <thetext>Looks like this broke WPE and GTK API tests:

python ./Tools/Scripts/run-wpe-tests --release
 in dir /home/buildbot/wpe/wpe-linux-64-release-tests/build (timeout 1200 secs)
 watching logfiles {}
 argv: [&apos;python&apos;, &apos;./Tools/Scripts/run-wpe-tests&apos;, &apos;--release&apos;]
 environment:
  HOME=/home/buildbot
  JHBUILD_MIRROR=/home/buildbot/wpe/jhbuild-mirror
  LANG=en_US.UTF-8
  LOGNAME=buildbot
  MAIL=/var/mail/buildbot
  PATH=/etc/zipwrapper:/usr/lib/ccache:/usr/lib/gold-ld:/sbin:/usr/sbin:/bin:/usr/bin
  PWD=/home/buildbot/wpe/wpe-linux-64-release-tests/build
  SHELL=/bin/bash
  SHLVL=0
  TERM=dumb
  TZ=PST8PDT
  USER=buildbot
  WAYLAND_DISPLAY=wayland-0
  WEBKIT_CORE_DUMPS_DIRECTORY=/var/www/cores/bb-wpe-release-test-64
  XDG_RUNTIME_DIR=/run/user/1000
 using PTY: True
TEST: ./Tools/glib/../../WebKitBuild/Release/bin/TestWebKitAPI/WPE/TestWebKitUserContentFilterStore...
Traceback (most recent call last):
  File &quot;./Tools/Scripts/run-wpe-tests&quot;, line 70, in &lt;module&gt;
    sys.exit(runner.run_tests())
  File &quot;./Tools/glib/api_test_runner.py&quot;, line 294, in run_tests
    results = self._run_test(test)
  File &quot;./Tools/glib/api_test_runner.py&quot;, line 266, in _run_test
    return self._run_test_glib(test_program)
  File &quot;./Tools/glib/api_test_runner.py&quot;, line 167, in _run_test_glib
    return GLibTestRunner(test_program, timeout, is_slow_test, timeout * 10).run(skipped=self._test_cases_to_skip(test_program), env=self._test_env)
  File &quot;./Tools/glib/glib_test_runner.py&quot;, line 251, in run
    p = subprocess.Popen(command, stderr=subprocess.PIPE, env=env)
  File &quot;/usr/lib/python2.7/subprocess.py&quot;, line 394, in __init__
    errread, errwrite)
  File &quot;/usr/lib/python2.7/subprocess.py&quot;, line 1047, in _execute_child
    raise child_exception
TypeError: execve() arg 3 contains a non-string value
program finished with exit code 1
elapsedTime=0.283977</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1553507</commentid>
    <comment_count>6</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-07-17 08:12:02 -0700</bug_when>
    <thetext>Reopening.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1553516</commentid>
    <comment_count>7</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-07-17 08:44:30 -0700</bug_when>
    <thetext>Reverted r247512 for reason:

Broke API test runners

Committed r247514: &lt;https://trac.webkit.org/changeset/247514&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1553581</commentid>
    <comment_count>8</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2019-07-17 11:01:17 -0700</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #7)
&gt; Reverted r247512 for reason:
&gt; 
&gt; Broke API test runners
&gt; 
&gt; Committed r247514: &lt;https://trac.webkit.org/changeset/247514&gt;

Ok.

This has been caused because variables with type non-string (NoneType) had been passed to the environment on execve().

And this has been caused because both run-gtk-tests and run-webdriver-tests call Driver._setup_environ_for_test() without calling Driver.start() and this causes that some uninitialised variables to go into the environment (like the driver tempdir) since this variables are defined when starting the driver, but not when creating it.

Before this patch, the GTK/WPE drivers were overriding Driver._setup_environ_for_test() and only setting this variables if they were defined (to avoid this crash). But that was causing this variables to be missed completely from the environment (DUMPRENDERTREE_TEMP and XDG_CACHE_HOME). This looks like a bug to me.

I think the fix is starting the driver on this scripts before trying to get its environment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1553585</commentid>
    <comment_count>9</comment_count>
      <attachid>374310</attachid>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2019-07-17 11:10:35 -0700</bug_when>
    <thetext>Created attachment 374310
Patch

Try again. Change from before: start the driver in run-gtk-tests and run-webdriver-tests before calling Driver._setup_environ_for_test()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1553785</commentid>
    <comment_count>10</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2019-07-17 18:01:10 -0700</bug_when>
    <thetext>(In reply to Carlos Alberto Lopez Perez from comment #9)
&gt; Created attachment 374310 [details]
&gt; Patch
&gt; 
&gt; Try again. Change from before: start the driver in run-gtk-tests and
&gt; run-webdriver-tests before calling Driver._setup_environ_for_test()

run-web-platform-tests also needs this. Will fix before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1553786</commentid>
    <comment_count>11</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2019-07-17 18:05:59 -0700</bug_when>
    <thetext>Committed r247550: &lt;https://trac.webkit.org/changeset/247550&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1553839</commentid>
    <comment_count>12</comment_count>
      <attachid>374310</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2019-07-18 01:25:45 -0700</bug_when>
    <thetext>Comment on attachment 374310
Patch

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

&gt; Tools/Scripts/webkitpy/webdriver_tests/webdriver_test_runner.py:63
&gt; +        self._display_driver.start(False, [])

I think this was on purpose, because the display driver (xvfb, weston, etc) is run in _setup_environ_for_test(), we don&apos;t really need the http server running for unit tests (nor webdriver tgests).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1553861</commentid>
    <comment_count>13</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2019-07-18 03:42:53 -0700</bug_when>
    <thetext>
(In reply to Carlos Garcia Campos from comment #12)
&gt; Comment on attachment 374310 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=374310&amp;action=review
&gt; 
&gt; &gt; Tools/Scripts/webkitpy/webdriver_tests/webdriver_test_runner.py:63
&gt; &gt; +        self._display_driver.start(False, [])
&gt; 
&gt; I think this was on purpose, because the display driver (xvfb, weston, etc)
&gt; is run in _setup_environ_for_test(), we don&apos;t really need the http server
&gt; running for unit tests (nor webdriver tgests).

Driver.start() starts DumpRenderTree/WebKitTestRunner (not the http server).
But you have a good point that such thing is not needed for this tests.
I will try to fix this.
Thanks for the feedback</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1554216</commentid>
    <comment_count>14</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2019-07-19 08:53:06 -0700</bug_when>
    <thetext>(In reply to Carlos Alberto Lopez Perez from comment #13)
&gt; (In reply to Carlos Garcia Campos from comment #12)
&gt; &gt; Comment on attachment 374310 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; View in context:
&gt; &gt; https://bugs.webkit.org/attachment.cgi?id=374310&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Tools/Scripts/webkitpy/webdriver_tests/webdriver_test_runner.py:63
&gt; &gt; &gt; +        self._display_driver.start(False, [])
&gt; &gt; 
&gt; &gt; I think this was on purpose, because the display driver (xvfb, weston, etc)
&gt; &gt; is run in _setup_environ_for_test(), we don&apos;t really need the http server
&gt; &gt; running for unit tests (nor webdriver tgests).
&gt; 
&gt; Driver.start() starts DumpRenderTree/WebKitTestRunner (not the http server).
&gt; But you have a good point that such thing is not needed for this tests.
&gt; I will try to fix this.
&gt; Thanks for the feedback

Will try to fix this in bug 199945</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>374290</attachid>
            <date>2019-07-17 05:07:45 -0700</date>
            <delta_ts>2019-07-17 11:10:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-199855-20190717140743.patch</filename>
            <type>text/plain</type>
            <size>16962</size>
            <attacher name="Carlos Alberto Lopez Perez">clopez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ3NTExCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNmFhNWQyNDllODQ4MDZiZjNjNzUxOTgzYmEzYTFkYWE1
OWMzNGRkOS4uODA1MWVjMTlhNWMxNGZmMGVjNDU2YWRjMjg2NTQzNjJmODYzNmMyYyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3
IEBACisyMDE5LTA3LTE3ICBDYXJsb3MgQWxiZXJ0byBMb3BleiBQZXJleiAgPGNsb3BlekBpZ2Fs
aWEuY29tPgorCisgICAgICAgIFtHVEtdW1dQRV1bd2Via2l0cHldIFJlZmFjdG9yIGRyaXZlcnMg
dG8gdXNlIHRoZSBiYXNlIGRyaXZlciBmb3Igc2V0dGluZyB1cCB0aGUgZW52aXJvbm1lbnQgYW5k
IHN0YXJ0IHRoZSBkcml2ZXJzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTk5ODU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgVGhlIHdlYmtpdHB5IGRyaXZlcnMgZm9yIEdUSyBhbmQgV1BFIHVzZSB0aGVp
ciBvd24gdmVyc2lvbnMgZm9yIHNldHRpbmcKKyAgICAgICAgdXAgdGhlIGVudmlyb25tZW50IGFu
ZCBzdGFydGluZy9zdG9wcGluZyB0aGUgZHJpdmVycy4KKyAgICAgICAgVGhpcyByZWZhY3RvcnMg
dGhvc2UgZHJpdmVycyB0byB1c2UgdGhlIGJhc2UgY2xhc3MgZHJpdmVyIGZ1bmN0aW9ucy4KKyAg
ICAgICAgQXMgYSBiZW5lZml0IHdlIGdldCBzb21lIGZpeGVzIGxpa2Ugc3VwcG9ydCBmb3Igc2V0
dGluZyB0aGUgcHJvZmlsZXIKKyAgICAgICAgZW52aXJvbm1lbnQgdmFyaWFibGVzLCBhbmQgYSBz
aW1wbGVyIGNvZGUuCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvZHJpdmVyLnB5
OgorICAgICAgICAoRHJpdmVyLl9zZXR1cF9lbnZpcm9uX2Zvcl9kcml2ZXIpOiBUaGlzIGFscmVh
ZHkgY29ycmVjdGx5IHNldHVwcyBMT0NBTF9SRVNPVVJDRV9ST09UIGFuZCBEVU1QUkVOREVSVFJF
RV9URU1QLgorICAgICAgICBBZGQgdGhlIHJlbWFpbmluZyBlbnZpcm9ubWVudCB2YXJpYWJsZSBY
REdfQ0FDSEVfSE9NRSB0aGF0IGlzIG5lZWRlZCBmb3IgTGludXguCisgICAgICAgICogU2NyaXB0
cy93ZWJraXRweS9wb3J0L2hlYWRsZXNzZHJpdmVyLnB5OgorICAgICAgICAoSGVhZGxlc3NEcml2
ZXIuX3NldHVwX2Vudmlyb25fZm9yX3Rlc3QpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkv
cG9ydC93YXlsYW5kZHJpdmVyLnB5OgorICAgICAgICAoV2F5bGFuZERyaXZlci5fc2V0dXBfZW52
aXJvbl9mb3JfdGVzdCk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wb3J0L3dlc3RvbmRy
aXZlci5weToKKyAgICAgICAgKFdlc3RvbkRyaXZlci5fc2V0dXBfZW52aXJvbl9mb3JfdGVzdCk6
CisgICAgICAgIChXZXN0b25Ecml2ZXIuc3RvcCk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRw
eS9wb3J0L3dlc3RvbmRyaXZlcl91bml0dGVzdC5weTogbm93IG1vY2sgX3Rlc3RfcnVubmVyX3By
b2Nlc3NfY29uc3RydWN0b3IgYXMgYmFzZSBkcml2ZXIgZG9lcy4KKyAgICAgICAgKFdlc3RvbkRy
aXZlclRlc3QubWFrZV9kcml2ZXIpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvcG9ydC94
b3JnZHJpdmVyLnB5OgorICAgICAgICAoWG9yZ0RyaXZlci5fc2V0dXBfZW52aXJvbl9mb3JfdGVz
dCk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wb3J0L3h2ZmJkcml2ZXIucHk6IHRoZSB4
dmZiIGJpbmFyeSBpcyBzdGFydGVkIHdpdGggdGhlIHBvcnQgc2VydmVyIGVudgorICAgICAgICAo
WHZmYkRyaXZlci5fc2V0dXBfZW52aXJvbl9mb3JfdGVzdCk6CisgICAgICAgICogU2NyaXB0cy93
ZWJraXRweS9wb3J0L3h2ZmJkcml2ZXJfdW5pdHRlc3QucHk6IHJlbmFtZSB0aGUgdmFyaWFibGUg
dG8gbWFrZSBjbGVhcmVyIHRoYXQgaXQgdXNlcyB0aGUgcG9ydCBzZXJ2ZXIgZW52LgorICAgICAg
ICAoWHZmYkRyaXZlclRlc3QubWFrZV9kcml2ZXIpOgorICAgICAgICAoWHZmYkRyaXZlclRlc3Qu
dGVzdF9zdGFydCk6CisgICAgICAgIChYdmZiRHJpdmVyVGVzdC50ZXN0X3N0YXJ0X2FyYml0cmFy
eV93b3JrZXJfbnVtYmVyKToKKwogMjAxOS0wNy0xNiAgQ2hyaXN0b3BoZXIgUmVpZCAgPGNocmlz
LnJlaWRAc29ueS5jb20+CiAKICAgICAgICAgQnl0ZWNvZGUgY2FjaGUgc2hvdWxkIHVzZSBGaWxl
U3lzdGVtCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvZHJpdmVyLnB5
IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2RyaXZlci5weQppbmRleCBiOTk2Y2I1ZmQ1
M2JkNWM3MzQwMjAyNzk4MDQzZGU2NTBkMjAzOWVjLi44OGQ0YjJiZWY5MDEyNmQ0NTJkZDUwNDgw
YzhmMmEwOWZiNDcyYWZhIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQv
ZHJpdmVyLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9kcml2ZXIucHkKQEAg
LTQzMiw2ICs0MzIsMTIgQEAgY2xhc3MgRHJpdmVyKG9iamVjdCk6CiAgICAgICAgIGVudmlyb25t
ZW50WydTUUxJVEVfRVhFTVBUX1BBVEhfRlJPTV9WTk9ERV9HVUFSRFMnXSA9IG9zLnBhdGgucmVh
bHBhdGgoZW52aXJvbm1lbnRbJ0RVTVBSRU5ERVJUUkVFX1RFTVAnXSkKICAgICAgICAgZW52aXJv
bm1lbnRbJ19fWFBDX1NRTElURV9FWEVNUFRfUEFUSF9GUk9NX1ZOT0RFX0dVQVJEUyddID0gZW52
aXJvbm1lbnRbJ1NRTElURV9FWEVNUFRfUEFUSF9GUk9NX1ZOT0RFX0dVQVJEUyddCiAKKyAgICAg
ICAgaWYgc3lzLnBsYXRmb3JtLnN0YXJ0c3dpdGgoJ2xpbnV4Jyk6CisgICAgICAgICAgICAjIEN1
cnJlbnRseSBvbiBXZWJLaXQyLCB0aGVyZSBpcyBubyBBUEkgZm9yIHNldHRpbmcgdGhlIGFwcGxp
Y2F0aW9uIGNhY2hlIGRpcmVjdG9yeS4KKyAgICAgICAgICAgICMgRWFjaCB3b3JrZXIgc2hvdWxk
IGhhdmUgaXQncyBvd24gYW5kIGl0IHNob3VsZCBiZSBjbGVhbmVkIGFmdGVyd2FyZHMuCisgICAg
ICAgICAgICAjIFNldCBpdCB0byBpbnNpZGUgdGhlIHRlbXBvcmFyeSBmb2xkZXIgYnkgcHJlcGVu
ZGluZyBYREdfQ0FDSEVfSE9NRSB3aXRoIERSSVZFUl9URU1QRElSLgorICAgICAgICAgICAgZW52
aXJvbm1lbnRbJ1hER19DQUNIRV9IT01FJ10gPSBzZWxmLl9wb3J0Lmhvc3QuZmlsZXN5c3RlbS5q
b2luKHN0cihzZWxmLl9kcml2ZXJfdGVtcGRpciksICdhcHBjYWNoZScpCisKICAgICAgICAgaWYg
c2VsZi5fcHJvZmlsZXI6CiAgICAgICAgICAgICBlbnZpcm9ubWVudCA9IHNlbGYuX3Byb2ZpbGVy
LmFkanVzdGVkX2Vudmlyb25tZW50KGVudmlyb25tZW50KQogICAgICAgICByZXR1cm4gZW52aXJv
bm1lbnQKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9oZWFkbGVzc2Ry
aXZlci5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9oZWFkbGVzc2RyaXZlci5weQpp
bmRleCBlNDY4NGEzMGY0OWI1Y2JkMzEzOGZkMGUxMmMwNjdhZjIzYmQ4NzllLi4xNDQzMjM1MTEw
NGI2Yjc3MDg1ZjVkNDM3MjkyODM1NGMxNjJlM2RiIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L3BvcnQvaGVhZGxlc3Nkcml2ZXIucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9wb3J0L2hlYWRsZXNzZHJpdmVyLnB5CkBAIC0zOCwxOCArMzgsNiBAQCBfbG9nID0gbG9n
Z2luZy5nZXRMb2dnZXIoX19uYW1lX18pCiAKIGNsYXNzIEhlYWRsZXNzRHJpdmVyKERyaXZlcik6
CiAgICAgZGVmIF9zZXR1cF9lbnZpcm9uX2Zvcl90ZXN0KHNlbGYpOgotICAgICAgICBkcml2ZXJf
ZW52aXJvbm1lbnQgPSBzZWxmLl9wb3J0LnNldHVwX2Vudmlyb25fZm9yX3NlcnZlcihzZWxmLl9z
ZXJ2ZXJfbmFtZSkKKyAgICAgICAgZHJpdmVyX2Vudmlyb25tZW50ID0gc3VwZXIoSGVhZGxlc3NE
cml2ZXIsIHNlbGYpLl9zZXR1cF9lbnZpcm9uX2Zvcl90ZXN0KCkKICAgICAgICAgZHJpdmVyX2Vu
dmlyb25tZW50WydXUEVfVVNFX0hFQURMRVNTX1ZJRVdfQkFDS0VORCddID0gIjEiCi0gICAgICAg
IGRyaXZlcl9lbnZpcm9ubWVudFsnTE9DQUxfUkVTT1VSQ0VfUk9PVCddID0gc2VsZi5fcG9ydC5s
YXlvdXRfdGVzdHNfZGlyKCkKLSAgICAgICAgaWYgc2VsZi5fZHJpdmVyX3RlbXBkaXIgaXMgbm90
IE5vbmU6Ci0gICAgICAgICAgICBkcml2ZXJfZW52aXJvbm1lbnRbJ0RVTVBSRU5ERVJUUkVFX1RF
TVAnXSA9IHN0cihzZWxmLl9kcml2ZXJfdGVtcGRpcikKLSAgICAgICAgICAgIGRyaXZlcl9lbnZp
cm9ubWVudFsnWERHX0NBQ0hFX0hPTUUnXSA9IHNlbGYuX3BvcnQuaG9zdC5maWxlc3lzdGVtLmpv
aW4oc3RyKHNlbGYuX2RyaXZlcl90ZW1wZGlyKSwgJ2FwcGNhY2hlJykKICAgICAgICAgcmV0dXJu
IGRyaXZlcl9lbnZpcm9ubWVudAotCi0gICAgZGVmIF9zdGFydChzZWxmLCBwaXhlbF90ZXN0cywg
cGVyX3Rlc3RfYXJncyk6Ci0gICAgICAgIHN1cGVyKEhlYWRsZXNzRHJpdmVyLCBzZWxmKS5zdG9w
KCkKLSAgICAgICAgc2VsZi5fZHJpdmVyX3RlbXBkaXIgPSBzZWxmLl9wb3J0Ll9kcml2ZXJfdGVt
cGRpcihzZWxmLl90YXJnZXRfaG9zdCkKLSAgICAgICAgc2VsZi5fY3Jhc2hlZF9wcm9jZXNzX25h
bWUgPSBOb25lCi0gICAgICAgIHNlbGYuX2NyYXNoZWRfcGlkID0gTm9uZQotICAgICAgICBzZWxm
Ll9zZXJ2ZXJfcHJvY2VzcyA9IHNlbGYuX3BvcnQuX3NlcnZlcl9wcm9jZXNzX2NvbnN0cnVjdG9y
KHNlbGYuX3BvcnQsIHNlbGYuX3NlcnZlcl9uYW1lLCBzZWxmLmNtZF9saW5lKHBpeGVsX3Rlc3Rz
LCBwZXJfdGVzdF9hcmdzKSwgc2VsZi5fc2V0dXBfZW52aXJvbl9mb3JfdGVzdCgpKQotICAgICAg
ICBzZWxmLl9zZXJ2ZXJfcHJvY2Vzcy5zdGFydCgpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L3BvcnQvd2F5bGFuZGRyaXZlci5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
cG9ydC93YXlsYW5kZHJpdmVyLnB5CmluZGV4IGVmNGQxMWZjMTg4OTkyMGUwYjM5MDEzMDkwM2Qy
ZTEzMDc4MTc1ZWYuLmE3M2Y2Y2U1MzRlYmRkZDZlNjY5MWY4NjZiZGE2NzJkNmIwNjcyMmQgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC93YXlsYW5kZHJpdmVyLnB5Cisr
KyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC93YXlsYW5kZHJpdmVyLnB5CkBAIC00NSwy
MSArNDUsOSBAQCBjbGFzcyBXYXlsYW5kRHJpdmVyKERyaXZlcik6CiAgICAgICAgIHJldHVybiBU
cnVlCiAKICAgICBkZWYgX3NldHVwX2Vudmlyb25fZm9yX3Rlc3Qoc2VsZik6Ci0gICAgICAgIGRy
aXZlcl9lbnZpcm9ubWVudCA9IHNlbGYuX3BvcnQuc2V0dXBfZW52aXJvbl9mb3Jfc2VydmVyKHNl
bGYuX3NlcnZlcl9uYW1lKQorICAgICAgICBkcml2ZXJfZW52aXJvbm1lbnQgPSBzdXBlcihXYXls
YW5kRHJpdmVyLCBzZWxmKS5fc2V0dXBfZW52aXJvbl9mb3JfdGVzdCgpCiAgICAgICAgIHNlbGYu
X3BvcnQuX2NvcHlfdmFsdWVfZnJvbV9lbnZpcm9uX2lmX3NldChkcml2ZXJfZW52aXJvbm1lbnQs
ICdXQVlMQU5EX0RJU1BMQVknKQogICAgICAgICBzZWxmLl9wb3J0Ll9jb3B5X3ZhbHVlX2Zyb21f
ZW52aXJvbl9pZl9zZXQoZHJpdmVyX2Vudmlyb25tZW50LCAnV0FZTEFORF9TT0NLRVQnKQogICAg
ICAgICBkcml2ZXJfZW52aXJvbm1lbnRbJ0dES19CQUNLRU5EJ10gPSAnd2F5bGFuZCcKICAgICAg
ICAgZHJpdmVyX2Vudmlyb25tZW50WydFR0xfUExBVEZPUk0nXSA9ICd3YXlsYW5kJwotICAgICAg
ICBkcml2ZXJfZW52aXJvbm1lbnRbJ0xPQ0FMX1JFU09VUkNFX1JPT1QnXSA9IHNlbGYuX3BvcnQu
bGF5b3V0X3Rlc3RzX2RpcigpCi0gICAgICAgIGlmIHNlbGYuX2RyaXZlcl90ZW1wZGlyIGlzIG5v
dCBOb25lOgotICAgICAgICAgICAgZHJpdmVyX2Vudmlyb25tZW50WydEVU1QUkVOREVSVFJFRV9U
RU1QJ10gPSBzdHIoc2VsZi5fZHJpdmVyX3RlbXBkaXIpCi0gICAgICAgICAgICBkcml2ZXJfZW52
aXJvbm1lbnRbJ1hER19DQUNIRV9IT01FJ10gPSBzZWxmLl9wb3J0Lmhvc3QuZmlsZXN5c3RlbS5q
b2luKHN0cihzZWxmLl9kcml2ZXJfdGVtcGRpciksICdhcHBjYWNoZScpCiAgICAgICAgIHJldHVy
biBkcml2ZXJfZW52aXJvbm1lbnQKLQotICAgIGRlZiBfc3RhcnQoc2VsZiwgcGl4ZWxfdGVzdHMs
IHBlcl90ZXN0X2FyZ3MpOgotICAgICAgICBzdXBlcihXYXlsYW5kRHJpdmVyLCBzZWxmKS5zdG9w
KCkKLSAgICAgICAgc2VsZi5fZHJpdmVyX3RlbXBkaXIgPSBzZWxmLl9wb3J0Ll9kcml2ZXJfdGVt
cGRpcihzZWxmLl90YXJnZXRfaG9zdCkKLSAgICAgICAgc2VsZi5fY3Jhc2hlZF9wcm9jZXNzX25h
bWUgPSBOb25lCi0gICAgICAgIHNlbGYuX2NyYXNoZWRfcGlkID0gTm9uZQotICAgICAgICBzZWxm
Ll9zZXJ2ZXJfcHJvY2VzcyA9IHNlbGYuX3BvcnQuX3NlcnZlcl9wcm9jZXNzX2NvbnN0cnVjdG9y
KHNlbGYuX3BvcnQsIHNlbGYuX3NlcnZlcl9uYW1lLCBzZWxmLmNtZF9saW5lKHBpeGVsX3Rlc3Rz
LCBwZXJfdGVzdF9hcmdzKSwgc2VsZi5fc2V0dXBfZW52aXJvbl9mb3JfdGVzdCgpKQotICAgICAg
ICBzZWxmLl9zZXJ2ZXJfcHJvY2Vzcy5zdGFydCgpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L3BvcnQvd2VzdG9uZHJpdmVyLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9w
b3J0L3dlc3RvbmRyaXZlci5weQppbmRleCA1YWQ3ZTkzMTZkODdhZTQ1YTAxODU1MTQxNGM2MWIz
OGQ0NjhkNmQxLi5jMzRjZGQ1MGRkYjc0OGZkOGRlMjE3OGEzY2UyNTQ3MGU4ZjBmNjRhIDEwMDY0
NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvd2VzdG9uZHJpdmVyLnB5CisrKyBi
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC93ZXN0b25kcml2ZXIucHkKQEAgLTU1LDcgKzU1
LDcgQEAgY2xhc3MgV2VzdG9uRHJpdmVyKERyaXZlcik6CiAgICAgICAgIHNlbGYuX3h2ZmJkcml2
ZXIgPSBYdmZiRHJpdmVyKCphcmdzLCAqKmt3YXJncykKIAogICAgIGRlZiBfc2V0dXBfZW52aXJv
bl9mb3JfdGVzdChzZWxmKToKLSAgICAgICAgZHJpdmVyX2Vudmlyb25tZW50ID0gc2VsZi5fcG9y
dC5zZXR1cF9lbnZpcm9uX2Zvcl9zZXJ2ZXIoc2VsZi5fc2VydmVyX25hbWUpCisgICAgICAgIGRy
aXZlcl9lbnZpcm9ubWVudCA9IHN1cGVyKFdlc3RvbkRyaXZlciwgc2VsZikuX3NldHVwX2Vudmly
b25fZm9yX3Rlc3QoKQogICAgICAgICBkcml2ZXJfZW52aXJvbm1lbnRbJ0RJU1BMQVknXSA9ICI6
JWQiICUgc2VsZi5feHZmYmRyaXZlci5feHZmYl9ydW4oZHJpdmVyX2Vudmlyb25tZW50KQogICAg
ICAgICB3ZXN0b25fc29ja2V0ID0gJ1dLVGVzdGluZy13ZXN0b24tJTAzMngnICUgcmFuZG9tLmdl
dHJhbmRiaXRzKDEyOCkKICAgICAgICAgd2VzdG9uX2NvbW1hbmQgPSBbJ3dlc3RvbicsICctLXNv
Y2tldD0lcycgJSB3ZXN0b25fc29ja2V0LCAnLS13aWR0aD0xMDI0JywgJy0taGVpZ2h0PTc2OCcs
ICctLXVzZS1waXhtYW4nXQpAQCAtNjcsMjUgKzY3LDEyIEBAIGNsYXNzIFdlc3RvbkRyaXZlcihE
cml2ZXIpOgogICAgICAgICAjIEdpdmUgV2VzdG9uIGEgYml0IG9mIHRpbWUgdG8gc2V0IGl0c2Vs
ZiB1cC4KICAgICAgICAgdGltZS5zbGVlcChzZWxmLl9zdGFydHVwX2RlbGF5X3NlY3MpCiAKLSAg
ICAgICAgZHJpdmVyX2Vudmlyb25tZW50WydMT0NBTF9SRVNPVVJDRV9ST09UJ10gPSBzZWxmLl9w
b3J0LmxheW91dF90ZXN0c19kaXIoKQotICAgICAgICBpZiBzZWxmLl9kcml2ZXJfdGVtcGRpciBp
cyBub3QgTm9uZToKLSAgICAgICAgICAgICMgQ3VycmVudGx5IG9uIFdlYktpdDIsIHRoZXJlIGlz
IG5vIEFQSSBmb3Igc2V0dGluZyB0aGUgYXBwbGljYXRpb24gY2FjaGUgZGlyZWN0b3J5LgotICAg
ICAgICAgICAgIyBFYWNoIHdvcmtlciBzaG91bGQgaGF2ZSBpdHMgb3duIGFuZCBpdCBzaG91bGQg
YmUgY2xlYW5lZCBhZnRlcndhcmRzLCB3aGVuIHRoZSB3b3JrZXIgc3RvcHMuCi0gICAgICAgICAg
ICBkcml2ZXJfZW52aXJvbm1lbnRbJ1hER19DQUNIRV9IT01FJ10gPSBzZWxmLl9wb3J0Lmhvc3Qu
ZmlsZXN5c3RlbS5qb2luKHN0cihzZWxmLl9kcml2ZXJfdGVtcGRpciksICdhcHBjYWNoZScpCi0g
ICAgICAgICAgICBkcml2ZXJfZW52aXJvbm1lbnRbJ0RVTVBSRU5ERVJUUkVFX1RFTVAnXSA9IHN0
cihzZWxmLl9kcml2ZXJfdGVtcGRpcikKICAgICAgICAgZHJpdmVyX2Vudmlyb25tZW50WydXQVlM
QU5EX0RJU1BMQVknXSA9IHdlc3Rvbl9zb2NrZXQKICAgICAgICAgZHJpdmVyX2Vudmlyb25tZW50
WydHREtfQkFDS0VORCddID0gJ3dheWxhbmQnCiAgICAgICAgIGlmIGRyaXZlcl9lbnZpcm9ubWVu
dC5nZXQoJ0RJU1BMQVknKToKICAgICAgICAgICAgIGRlbCBkcml2ZXJfZW52aXJvbm1lbnRbJ0RJ
U1BMQVknXQogICAgICAgICByZXR1cm4gZHJpdmVyX2Vudmlyb25tZW50CiAKLSAgICBkZWYgX3N0
YXJ0KHNlbGYsIHBpeGVsX3Rlc3RzLCBwZXJfdGVzdF9hcmdzKToKLSAgICAgICAgc2VsZi5zdG9w
KCkKLSAgICAgICAgc2VsZi5fZHJpdmVyX3RlbXBkaXIgPSBzZWxmLl9wb3J0Ll9kcml2ZXJfdGVt
cGRpcihzZWxmLl90YXJnZXRfaG9zdCkKLSAgICAgICAgc2VsZi5fY3Jhc2hlZF9wcm9jZXNzX25h
bWUgPSBOb25lCi0gICAgICAgIHNlbGYuX2NyYXNoZWRfcGlkID0gTm9uZQotICAgICAgICBzZWxm
Ll9zZXJ2ZXJfcHJvY2VzcyA9IHNlbGYuX3BvcnQuX3NlcnZlcl9wcm9jZXNzX2NvbnN0cnVjdG9y
KHNlbGYuX3BvcnQsIHNlbGYuX3NlcnZlcl9uYW1lLCBzZWxmLmNtZF9saW5lKHBpeGVsX3Rlc3Rz
LCBwZXJfdGVzdF9hcmdzKSwgc2VsZi5fc2V0dXBfZW52aXJvbl9mb3JfdGVzdCgpKQotICAgICAg
ICBzZWxmLl9zZXJ2ZXJfcHJvY2Vzcy5zdGFydCgpCiAKICAgICBkZWYgc3RvcChzZWxmKToKICAg
ICAgICAgc3VwZXIoV2VzdG9uRHJpdmVyLCBzZWxmKS5zdG9wKCkKQEAgLTkzLDQgKzgwLDMgQEAg
Y2xhc3MgV2VzdG9uRHJpdmVyKERyaXZlcik6CiAgICAgICAgICAgICAjIFRoZSBXZXN0b24gcHJv
Y2VzcyBpcyB0ZXJtaW5hdGVkIGluc3RlYWQgb2Yga2lsbGVkLCBnaXZpbmcgdGhlIFdlc3RvbiBh
IGNoYW5jZSB0byBjbGVhbiB1cCBhZnRlciBpdHNlbGYuCiAgICAgICAgICAgICBzZWxmLl93ZXN0
b25fcHJvY2Vzcy50ZXJtaW5hdGUoKQogICAgICAgICAgICAgc2VsZi5fd2VzdG9uX3Byb2Nlc3Mg
PSBOb25lCi0KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC93ZXN0b25k
cml2ZXJfdW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvd2VzdG9uZHJp
dmVyX3VuaXR0ZXN0LnB5CmluZGV4IGJjNzFhYjk0NjJiMDJkNDQxNzEyN2JjNzg1MGY5MDBlZmNh
Y2QzNTcuLmUzM2ZjOWUwMTNhNTVhNjE2YTgzZmZmYzAzN2IyZDYxNjM2ODY2M2MgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC93ZXN0b25kcml2ZXJfdW5pdHRlc3QucHkK
KysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3dlc3RvbmRyaXZlcl91bml0dGVzdC5w
eQpAQCAtNTMsNyArNTMsNyBAQCBjbGFzcyBXZXN0b25Ecml2ZXJUZXN0KHVuaXR0ZXN0LlRlc3RD
YXNlKToKICAgICBkZWYgbWFrZV9kcml2ZXIoc2VsZik6CiAgICAgICAgIHBvcnQgPSBQb3J0KE1v
Y2tTeXN0ZW1Ib3N0KGxvZ19leGVjdXRpdmU9VHJ1ZSksICd3ZXN0b25kcml2ZXJ0ZXN0cG9ydCcs
IG9wdGlvbnM9TW9ja09wdGlvbnMoY29uZmlndXJhdGlvbj0nUmVsZWFzZScpKQogICAgICAgICBw
b3J0Ll9jb25maWcuYnVpbGRfZGlyZWN0b3J5ID0gbGFtYmRhIGNvbmZpZ3VyYXRpb246ICIvbW9j
a19idWlsZCIKLSAgICAgICAgcG9ydC5fc2VydmVyX3Byb2Nlc3NfY29uc3RydWN0b3IgPSBNb2Nr
U2VydmVyUHJvY2VzcworICAgICAgICBwb3J0Ll90ZXN0X3J1bm5lcl9wcm9jZXNzX2NvbnN0cnVj
dG9yID0gTW9ja1NlcnZlclByb2Nlc3MKIAogICAgICAgICBkcml2ZXIgPSBXZXN0b25Ecml2ZXIo
cG9ydCwgd29ya2VyX251bWJlcj0wLCBwaXhlbF90ZXN0cz1UcnVlKQogICAgICAgICBkcml2ZXIu
X3N0YXJ0dXBfZGVsYXlfc2VjcyA9IDAKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvcG9ydC94b3JnZHJpdmVyLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3hvcmdk
cml2ZXIucHkKaW5kZXggNTMzMzk1NzI4MzlmM2I3ODE3ODRlNGU3NGRlYzIzZWExMDViNDA1My4u
MWJkZTAxMzVmMDY3NjFmNzNmYWE0ZWQ1MGI3MTVkYzdkMjVjZTI0NyAxMDA2NDQKLS0tIGEvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3hvcmdkcml2ZXIucHkKKysrIGIvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9wb3J0L3hvcmdkcml2ZXIucHkKQEAgLTQ1LDI2ICs0NSw4IEBAIGNsYXNzIFhv
cmdEcml2ZXIoRHJpdmVyKToKICAgICAgICAgcmV0dXJuIFRydWUKIAogICAgIGRlZiBfc2V0dXBf
ZW52aXJvbl9mb3JfdGVzdChzZWxmKToKLSAgICAgICAgc2VydmVyX2Vudmlyb25tZW50ID0gc2Vs
Zi5fcG9ydC5zZXR1cF9lbnZpcm9uX2Zvcl9zZXJ2ZXIoc2VsZi5fc2VydmVyX25hbWUpCisgICAg
ICAgIHNlcnZlcl9lbnZpcm9ubWVudCA9IHN1cGVyKFhvcmdEcml2ZXIsIHNlbGYpLl9zZXR1cF9l
bnZpcm9uX2Zvcl90ZXN0KCkKICAgICAgICAgc2VsZi5fcG9ydC5fY29weV92YWx1ZV9mcm9tX2Vu
dmlyb25faWZfc2V0KHNlcnZlcl9lbnZpcm9ubWVudCwgJ0RJU1BMQVknKQogICAgICAgICBzZWxm
Ll9wb3J0Ll9jb3B5X3ZhbHVlX2Zyb21fZW52aXJvbl9pZl9zZXQoc2VydmVyX2Vudmlyb25tZW50
LCAnWEFVVEhPUklUWScpCiAgICAgICAgIHNlcnZlcl9lbnZpcm9ubWVudFsnR0RLX0JBQ0tFTkQn
XSA9ICd4MTEnCi0gICAgICAgIHNlcnZlcl9lbnZpcm9ubWVudFsnTE9DQUxfUkVTT1VSQ0VfUk9P
VCddID0gc2VsZi5fcG9ydC5sYXlvdXRfdGVzdHNfZGlyKCkKLSAgICAgICAgaWYgc2VsZi5fZHJp
dmVyX3RlbXBkaXIgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICBzZXJ2ZXJfZW52aXJvbm1lbnRb
J0RVTVBSRU5ERVJUUkVFX1RFTVAnXSA9IHN0cihzZWxmLl9kcml2ZXJfdGVtcGRpcikKLSAgICAg
ICAgICAgICMgQ3VycmVudGx5IG9uIFdlYktpdDIsIHRoZXJlIGlzIG5vIEFQSSBmb3Igc2V0dGlu
ZyB0aGUgYXBwbGljYXRpb24KLSAgICAgICAgICAgICMgY2FjaGUgZGlyZWN0b3J5LiBFYWNoIHdv
cmtlciBzaG91bGQgaGF2ZSBpdCdzIG93biBhbmQgaXQgc2hvdWxkIGJlCi0gICAgICAgICAgICAj
IGNsZWFuZWQgYWZ0ZXJ3YXJkcywgc28gd2Ugc2V0IGl0IHRvIGluc2lkZSB0aGUgdGVtcG9yYXJ5
IGZvbGRlciBieQotICAgICAgICAgICAgIyBwcmVwZW5kaW5nIFhER19DQUNIRV9IT01FIHdpdGgg
RFVNUFJFTkRFUlRSRUVfVEVNUC4KLSAgICAgICAgICAgIHNlcnZlcl9lbnZpcm9ubWVudFsnWERH
X0NBQ0hFX0hPTUUnXSA9IHNlbGYuX3BvcnQuaG9zdC5maWxlc3lzdGVtLmpvaW4oc3RyKHNlbGYu
X2RyaXZlcl90ZW1wZGlyKSwgJ2FwcGNhY2hlJykKICAgICAgICAgcmV0dXJuIHNlcnZlcl9lbnZp
cm9ubWVudAotCi0gICAgZGVmIF9zdGFydChzZWxmLCBwaXhlbF90ZXN0cywgcGVyX3Rlc3RfYXJn
cyk6Ci0gICAgICAgIHN1cGVyKFhvcmdEcml2ZXIsIHNlbGYpLnN0b3AoKQotCi0gICAgICAgIHNl
bGYuX2RyaXZlcl90ZW1wZGlyID0gc2VsZi5fcG9ydC5fZHJpdmVyX3RlbXBkaXIoc2VsZi5fdGFy
Z2V0X2hvc3QpCi0KLSAgICAgICAgc2VsZi5fY3Jhc2hlZF9wcm9jZXNzX25hbWUgPSBOb25lCi0g
ICAgICAgIHNlbGYuX2NyYXNoZWRfcGlkID0gTm9uZQotICAgICAgICBzZWxmLl9zZXJ2ZXJfcHJv
Y2VzcyA9IHNlbGYuX3BvcnQuX3NlcnZlcl9wcm9jZXNzX2NvbnN0cnVjdG9yKHNlbGYuX3BvcnQs
IHNlbGYuX3NlcnZlcl9uYW1lLCBzZWxmLmNtZF9saW5lKHBpeGVsX3Rlc3RzLCBwZXJfdGVzdF9h
cmdzKSwgc2VsZi5fc2V0dXBfZW52aXJvbl9mb3JfdGVzdCgpKQotICAgICAgICBzZWxmLl9zZXJ2
ZXJfcHJvY2Vzcy5zdGFydCgpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Bv
cnQveHZmYmRyaXZlci5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC94dmZiZHJpdmVy
LnB5CmluZGV4IDk5MTIxZDA0NGQ5NzgzNmNiMDFkYjU2MTc2NjBiYmFkNDc1NGEyMzEuLmFiZWFh
NTFjZDljMmYyMTdkZjMwNmQ5NjU5ODM5ZmQ5ZjliOTg1YjcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvcG9ydC94dmZiZHJpdmVyLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvcG9ydC94dmZiZHJpdmVyLnB5CkBAIC05MywzMCArOTMsMTYgQEAgY2xhc3MgWHZmYkRy
aXZlcihEcml2ZXIpOgogICAgICAgICByZXR1cm4gb3MuZW52aXJvbi5nZXQoJ1hWRkJfU0NSRUVO
X0RFUFRIJywgJzI0JykKIAogICAgIGRlZiBfc2V0dXBfZW52aXJvbl9mb3JfdGVzdChzZWxmKToK
LSAgICAgICAgZW52aXJvbm1lbnQgPSBzZWxmLl9wb3J0LnNldHVwX2Vudmlyb25fZm9yX3NlcnZl
cihzZWxmLl9zZXJ2ZXJfbmFtZSkKLSAgICAgICAgZGlzcGxheV9pZCA9IHNlbGYuX3h2ZmJfcnVu
KGVudmlyb25tZW50KQorICAgICAgICBwb3J0X3NlcnZlcl9lbnZpcm9ubWVudCA9IHNlbGYuX3Bv
cnQuc2V0dXBfZW52aXJvbl9mb3Jfc2VydmVyKHNlbGYuX3NlcnZlcl9uYW1lKQorICAgICAgICBk
cml2ZXJfZW52aXJvbm1lbnQgPSBzdXBlcihYdmZiRHJpdmVyLCBzZWxmKS5fc2V0dXBfZW52aXJv
bl9mb3JfdGVzdCgpCisgICAgICAgIGRpc3BsYXlfaWQgPSBzZWxmLl94dmZiX3J1bihwb3J0X3Nl
cnZlcl9lbnZpcm9ubWVudCkKIAogICAgICAgICAjIFdlIG11c3QgZG8gdGhpcyBoZXJlIGJlY2F1
c2UgdGhlIERJU1BMQVkgbnVtYmVyIGRlcGVuZHMgb24gX3dvcmtlcl9udW1iZXIKLSAgICAgICAg
ZW52aXJvbm1lbnRbJ0RJU1BMQVknXSA9ICI6JWQiICUgZGlzcGxheV9pZAotICAgICAgICBlbnZp
cm9ubWVudFsnVU5ERVJfWFZGQiddID0gJ3llcycKLSAgICAgICAgZW52aXJvbm1lbnRbJ0dES19C
QUNLRU5EJ10gPSAneDExJwotICAgICAgICBlbnZpcm9ubWVudFsnTE9DQUxfUkVTT1VSQ0VfUk9P
VCddID0gc2VsZi5fcG9ydC5sYXlvdXRfdGVzdHNfZGlyKCkKLSAgICAgICAgaWYgc2VsZi5fZHJp
dmVyX3RlbXBkaXIgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICBlbnZpcm9ubWVudFsnRFVNUFJF
TkRFUlRSRUVfVEVNUCddID0gc3RyKHNlbGYuX2RyaXZlcl90ZW1wZGlyKQotICAgICAgICAgICAg
IyBDdXJyZW50bHkgb24gV2ViS2l0MiwgdGhlcmUgaXMgbm8gQVBJIGZvciBzZXR0aW5nIHRoZSBh
cHBsaWNhdGlvbgotICAgICAgICAgICAgIyBjYWNoZSBkaXJlY3RvcnkuIEVhY2ggd29ya2VyIHNo
b3VsZCBoYXZlIGl0J3Mgb3duIGFuZCBpdCBzaG91bGQgYmUKLSAgICAgICAgICAgICMgY2xlYW5l
ZCBhZnRlcndhcmRzLCBzbyB3ZSBzZXQgaXQgdG8gaW5zaWRlIHRoZSB0ZW1wb3JhcnkgZm9sZGVy
IGJ5Ci0gICAgICAgICAgICAjIHByZXBlbmRpbmcgWERHX0NBQ0hFX0hPTUUgd2l0aCBEVU1QUkVO
REVSVFJFRV9URU1QLgotICAgICAgICAgICAgZW52aXJvbm1lbnRbJ1hER19DQUNIRV9IT01FJ10g
PSBzZWxmLl9wb3J0Lmhvc3QuZmlsZXN5c3RlbS5qb2luKHN0cihzZWxmLl9kcml2ZXJfdGVtcGRp
ciksICdhcHBjYWNoZScpCi0gICAgICAgIHJldHVybiBlbnZpcm9ubWVudAotCi0gICAgZGVmIF9z
dGFydChzZWxmLCBwaXhlbF90ZXN0cywgcGVyX3Rlc3RfYXJncyk6Ci0gICAgICAgIHNlbGYuc3Rv
cCgpCi0gICAgICAgIHNlbGYuX2RyaXZlcl90ZW1wZGlyID0gc2VsZi5fcG9ydC5fZHJpdmVyX3Rl
bXBkaXIoc2VsZi5fdGFyZ2V0X2hvc3QpCi0gICAgICAgIHNlbGYuX2NyYXNoZWRfcHJvY2Vzc19u
YW1lID0gTm9uZQotICAgICAgICBzZWxmLl9jcmFzaGVkX3BpZCA9IE5vbmUKLSAgICAgICAgc2Vs
Zi5fc2VydmVyX3Byb2Nlc3MgPSBzZWxmLl9wb3J0Ll9zZXJ2ZXJfcHJvY2Vzc19jb25zdHJ1Y3Rv
cihzZWxmLl9wb3J0LCBzZWxmLl9zZXJ2ZXJfbmFtZSwgc2VsZi5jbWRfbGluZShwaXhlbF90ZXN0
cywgcGVyX3Rlc3RfYXJncyksIHNlbGYuX3NldHVwX2Vudmlyb25fZm9yX3Rlc3QoKSkKLSAgICAg
ICAgc2VsZi5fc2VydmVyX3Byb2Nlc3Muc3RhcnQoKQorICAgICAgICBkcml2ZXJfZW52aXJvbm1l
bnRbJ0RJU1BMQVknXSA9ICI6JWQiICUgZGlzcGxheV9pZAorICAgICAgICBkcml2ZXJfZW52aXJv
bm1lbnRbJ1VOREVSX1hWRkInXSA9ICd5ZXMnCisgICAgICAgIGRyaXZlcl9lbnZpcm9ubWVudFsn
R0RLX0JBQ0tFTkQnXSA9ICd4MTEnCisgICAgICAgIGRyaXZlcl9lbnZpcm9ubWVudFsnTE9DQUxf
UkVTT1VSQ0VfUk9PVCddID0gc2VsZi5fcG9ydC5sYXlvdXRfdGVzdHNfZGlyKCkKKyAgICAgICAg
cmV0dXJuIGRyaXZlcl9lbnZpcm9ubWVudAogCiAgICAgZGVmIHN0b3Aoc2VsZik6CiAgICAgICAg
IHN1cGVyKFh2ZmJEcml2ZXIsIHNlbGYpLnN0b3AoKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9wb3J0L3h2ZmJkcml2ZXJfdW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L3BvcnQveHZmYmRyaXZlcl91bml0dGVzdC5weQppbmRleCA3ZmNhZGQxNTZlZjk0NDhh
NGE4NzZiY2Q5YmQ2YTk3NDAwNTJmMjI0Li4wMDQ1YWNkOGQ2MzE2YTMxMmYwZjlkMzM4MzQ5NGM0
MThkNmUxY2YyIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQveHZmYmRy
aXZlcl91bml0dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQveHZmYmRy
aXZlcl91bml0dGVzdC5weQpAQCAtNDUsNyArNDUsNyBAQCBjbGFzcyBYdmZiRHJpdmVyVGVzdCh1
bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgZGVmIG1ha2VfZHJpdmVyKHNlbGYsIHdvcmtlcl9udW1i
ZXI9MCwgeG9yZ19ydW5uaW5nPUZhbHNlLCBleGVjdXRpdmU9Tm9uZSk6CiAgICAgICAgIHBvcnQg
PSBQb3J0KE1vY2tTeXN0ZW1Ib3N0KGxvZ19leGVjdXRpdmU9VHJ1ZSwgZXhlY3V0aXZlPWV4ZWN1
dGl2ZSksICd4dmZiZHJpdmVydGVzdHBvcnQnLCBvcHRpb25zPU1vY2tPcHRpb25zKGNvbmZpZ3Vy
YXRpb249J1JlbGVhc2UnKSkKICAgICAgICAgcG9ydC5fY29uZmlnLmJ1aWxkX2RpcmVjdG9yeSA9
IGxhbWJkYSBjb25maWd1cmF0aW9uOiAiL21vY2stYnVpbGQiCi0gICAgICAgIHBvcnQuX3NlcnZl
cl9wcm9jZXNzX2NvbnN0cnVjdG9yID0gTW9ja1NlcnZlclByb2Nlc3MKKyAgICAgICAgcG9ydC5f
dGVzdF9ydW5uZXJfcHJvY2Vzc19jb25zdHJ1Y3RvciA9IE1vY2tTZXJ2ZXJQcm9jZXNzCiAgICAg
ICAgIGlmIHhvcmdfcnVubmluZzoKICAgICAgICAgICAgIHBvcnQuX2V4ZWN1dGl2ZS5fcnVubmlu
Z19waWRzWydYb3JnJ10gPSAxMDgKIApAQCAtNTUsNyArNTUsNyBAQCBjbGFzcyBYdmZiRHJpdmVy
VGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIGRyaXZlci5feHZmYl9waXBlID0gbGFt
YmRhOiAoMywgNCkKICAgICAgICAgZHJpdmVyLl94dmZiX3JlYWRfZGlzcGxheV9pZCA9IGxhbWJk
YSB4OiAxCiAgICAgICAgIGRyaXZlci5feHZmYl9jbG9zZV9waXBlID0gbGFtYmRhIHA6IE5vbmUK
LSAgICAgICAgZHJpdmVyLl9lbnZpcm9ubWVudCA9IHBvcnQuc2V0dXBfZW52aXJvbl9mb3Jfc2Vy
dmVyKHBvcnQuZHJpdmVyX25hbWUoKSkKKyAgICAgICAgZHJpdmVyLl9wb3J0X3NlcnZlcl9lbnZp
cm9ubWVudCA9IHBvcnQuc2V0dXBfZW52aXJvbl9mb3Jfc2VydmVyKHBvcnQuZHJpdmVyX25hbWUo
KSkKICAgICAgICAgcmV0dXJuIGRyaXZlcgogCiAgICAgZGVmIGNsZWFudXBfZHJpdmVyKHNlbGYs
IGRyaXZlcik6CkBAIC03MiwxMyArNzIsMTMgQEAgY2xhc3MgWHZmYkRyaXZlclRlc3QodW5pdHRl
c3QuVGVzdENhc2UpOgogCiAgICAgZGVmIHRlc3Rfc3RhcnQoc2VsZik6CiAgICAgICAgIGRyaXZl
ciA9IHNlbGYubWFrZV9kcml2ZXIoKQotICAgICAgICBleHBlY3RlZF9sb2dzID0gKCJNT0NLIHBv
cGVuOiBbJ1h2ZmInLCAnLWRpc3BsYXlmZCcsICc0JywgJy1zY3JlZW4nLCAnMCcsICcxMDI0eDc2
OHgyNCcsICctbm9saXN0ZW4nLCAndGNwJ10sIGVudj0lc1xuIiAlIGRyaXZlci5fZW52aXJvbm1l
bnQpCisgICAgICAgIGV4cGVjdGVkX2xvZ3MgPSAoIk1PQ0sgcG9wZW46IFsnWHZmYicsICctZGlz
cGxheWZkJywgJzQnLCAnLXNjcmVlbicsICcwJywgJzEwMjR4NzY4eDI0JywgJy1ub2xpc3Rlbics
ICd0Y3AnXSwgZW52PSVzXG4iICUgZHJpdmVyLl9wb3J0X3NlcnZlcl9lbnZpcm9ubWVudCkKICAg
ICAgICAgc2VsZi5hc3NlcnREcml2ZXJTdGFydFN1Y2Nlc3NmdWwoZHJpdmVyLCBleHBlY3RlZF9s
b2dzPWV4cGVjdGVkX2xvZ3MsIGV4cGVjdGVkX2Rpc3BsYXk9IjoxIikKICAgICAgICAgc2VsZi5j
bGVhbnVwX2RyaXZlcihkcml2ZXIpCiAKICAgICBkZWYgdGVzdF9zdGFydF9hcmJpdHJhcnlfd29y
a2VyX251bWJlcihzZWxmKToKICAgICAgICAgZHJpdmVyID0gc2VsZi5tYWtlX2RyaXZlcih3b3Jr
ZXJfbnVtYmVyPTE3KQotICAgICAgICBleHBlY3RlZF9sb2dzID0gKCJNT0NLIHBvcGVuOiBbJ1h2
ZmInLCAnLWRpc3BsYXlmZCcsICc0JywgJy1zY3JlZW4nLCAnMCcsICcxMDI0eDc2OHgyNCcsICct
bm9saXN0ZW4nLCAndGNwJ10sIGVudj0lc1xuIiAlIGRyaXZlci5fZW52aXJvbm1lbnQpCisgICAg
ICAgIGV4cGVjdGVkX2xvZ3MgPSAoIk1PQ0sgcG9wZW46IFsnWHZmYicsICctZGlzcGxheWZkJywg
JzQnLCAnLXNjcmVlbicsICcwJywgJzEwMjR4NzY4eDI0JywgJy1ub2xpc3RlbicsICd0Y3AnXSwg
ZW52PSVzXG4iICUgZHJpdmVyLl9wb3J0X3NlcnZlcl9lbnZpcm9ubWVudCkKICAgICAgICAgc2Vs
Zi5hc3NlcnREcml2ZXJTdGFydFN1Y2Nlc3NmdWwoZHJpdmVyLCBleHBlY3RlZF9sb2dzPWV4cGVj
dGVkX2xvZ3MsIGV4cGVjdGVkX2Rpc3BsYXk9IjoxIiwgcGl4ZWxfdGVzdHM9VHJ1ZSkKICAgICAg
ICAgc2VsZi5jbGVhbnVwX2RyaXZlcihkcml2ZXIpCiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>374310</attachid>
            <date>2019-07-17 11:10:35 -0700</date>
            <delta_ts>2019-07-18 01:25:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-199855-20190717201034.patch</filename>
            <type>text/plain</type>
            <size>18761</size>
            <attacher name="Carlos Alberto Lopez Perez">clopez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ3NTExCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNmFhNWQyNDllODQ4MDZiZjNjNzUxOTgzYmEzYTFkYWE1
OWMzNGRkOS4uNDVkZmMxZTFkYmIyYTIxZjg4NmZlY2IyOGM3NzE4ZjBhMDEzNmQ2MiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQx
IEBACisyMDE5LTA3LTE3ICBDYXJsb3MgQWxiZXJ0byBMb3BleiBQZXJleiAgPGNsb3BlekBpZ2Fs
aWEuY29tPgorCisgICAgICAgIFtHVEtdW1dQRV1bd2Via2l0cHldIFJlZmFjdG9yIGRyaXZlcnMg
dG8gdXNlIHRoZSBiYXNlIGRyaXZlciBmb3Igc2V0dGluZyB1cCB0aGUgZW52aXJvbm1lbnQgYW5k
IHN0YXJ0IHRoZSBkcml2ZXJzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTk5ODU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgVGhlIHdlYmtpdHB5IGRyaXZlcnMgZm9yIEdUSyBhbmQgV1BFIHVzZSB0aGVp
ciBvd24gdmVyc2lvbnMgZm9yIHNldHRpbmcKKyAgICAgICAgdXAgdGhlIGVudmlyb25tZW50IGFu
ZCBzdGFydGluZy9zdG9wcGluZyB0aGUgZHJpdmVycy4KKyAgICAgICAgVGhpcyByZWZhY3RvcnMg
dGhvc2UgZHJpdmVycyB0byB1c2UgdGhlIGJhc2UgY2xhc3MgZHJpdmVyIGZ1bmN0aW9ucy4KKyAg
ICAgICAgQXMgYSBiZW5lZml0IHdlIGdldCBzb21lIGZpeGVzIGxpa2Ugc3VwcG9ydCBmb3Igc2V0
dGluZyB0aGUgcHJvZmlsZXIKKyAgICAgICAgZW52aXJvbm1lbnQgdmFyaWFibGVzLCBhbmQgYSBz
aW1wbGVyIGNvZGUuCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvZHJpdmVyLnB5
OgorICAgICAgICAoRHJpdmVyLl9zZXR1cF9lbnZpcm9uX2Zvcl9kcml2ZXIpOiBUaGlzIGFscmVh
ZHkgY29ycmVjdGx5IHNldHVwcyBMT0NBTF9SRVNPVVJDRV9ST09UIGFuZCBEVU1QUkVOREVSVFJF
RV9URU1QLgorICAgICAgICBBZGQgdGhlIHJlbWFpbmluZyBlbnZpcm9ubWVudCB2YXJpYWJsZSBY
REdfQ0FDSEVfSE9NRSB0aGF0IGlzIG5lZWRlZCBmb3IgTGludXguCisgICAgICAgICogU2NyaXB0
cy93ZWJraXRweS9wb3J0L2hlYWRsZXNzZHJpdmVyLnB5OgorICAgICAgICAoSGVhZGxlc3NEcml2
ZXIuX3NldHVwX2Vudmlyb25fZm9yX3Rlc3QpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkv
cG9ydC93YXlsYW5kZHJpdmVyLnB5OgorICAgICAgICAoV2F5bGFuZERyaXZlci5fc2V0dXBfZW52
aXJvbl9mb3JfdGVzdCk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wb3J0L3dlc3RvbmRy
aXZlci5weToKKyAgICAgICAgKFdlc3RvbkRyaXZlci5fc2V0dXBfZW52aXJvbl9mb3JfdGVzdCk6
CisgICAgICAgIChXZXN0b25Ecml2ZXIuc3RvcCk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRw
eS9wb3J0L3dlc3RvbmRyaXZlcl91bml0dGVzdC5weTogbm93IG1vY2sgX3Rlc3RfcnVubmVyX3By
b2Nlc3NfY29uc3RydWN0b3IgYXMgYmFzZSBkcml2ZXIgZG9lcy4KKyAgICAgICAgKFdlc3RvbkRy
aXZlclRlc3QubWFrZV9kcml2ZXIpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvcG9ydC94
b3JnZHJpdmVyLnB5OgorICAgICAgICAoWG9yZ0RyaXZlci5fc2V0dXBfZW52aXJvbl9mb3JfdGVz
dCk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wb3J0L3h2ZmJkcml2ZXIucHk6IHRoZSB4
dmZiIGJpbmFyeSBpcyBzdGFydGVkIHdpdGggdGhlIHBvcnQgc2VydmVyIGVudgorICAgICAgICAo
WHZmYkRyaXZlci5fc2V0dXBfZW52aXJvbl9mb3JfdGVzdCk6CisgICAgICAgICogU2NyaXB0cy93
ZWJraXRweS9wb3J0L3h2ZmJkcml2ZXJfdW5pdHRlc3QucHk6IHJlbmFtZSB0aGUgdmFyaWFibGUg
dG8gbWFrZSBjbGVhcmVyIHRoYXQgaXQgdXNlcyB0aGUgcG9ydCBzZXJ2ZXIgZW52LgorICAgICAg
ICAoWHZmYkRyaXZlclRlc3QubWFrZV9kcml2ZXIpOgorICAgICAgICAoWHZmYkRyaXZlclRlc3Qu
dGVzdF9zdGFydCk6CisgICAgICAgIChYdmZiRHJpdmVyVGVzdC50ZXN0X3N0YXJ0X2FyYml0cmFy
eV93b3JrZXJfbnVtYmVyKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3dlYmRyaXZlcl90
ZXN0cy93ZWJkcml2ZXJfdGVzdF9ydW5uZXIucHk6CisgICAgICAgIChXZWJEcml2ZXJUZXN0UnVu
bmVyLl9faW5pdF9fKTogU3RhcnQgdGhlIGRyaXZlciBiZWZvcmUgdHJ5aW5nIHRvIGdldCBpdHMg
ZW52aXJvbm1lbnQgdG8gZGVmaW5lIGFsbCB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGVzLgorICAg
ICAgICAqIGdsaWIvYXBpX3Rlc3RfcnVubmVyLnB5OgorICAgICAgICAoVGVzdFJ1bm5lci5fc2V0
dXBfdGVzdGluZ19lbnZpcm9ubWVudCk6IERpdHRvLgorCiAyMDE5LTA3LTE2ICBDaHJpc3RvcGhl
ciBSZWlkICA8Y2hyaXMucmVpZEBzb255LmNvbT4KIAogICAgICAgICBCeXRlY29kZSBjYWNoZSBz
aG91bGQgdXNlIEZpbGVTeXN0ZW0KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
cG9ydC9kcml2ZXIucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvZHJpdmVyLnB5Cmlu
ZGV4IGI5OTZjYjVmZDUzYmQ1YzczNDAyMDI3OTgwNDNkZTY1MGQyMDM5ZWMuLjg4ZDRiMmJlZjkw
MTI2ZDQ1MmRkNTA0ODBjOGYyYTA5ZmI0NzJhZmEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvcG9ydC9kcml2ZXIucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0
L2RyaXZlci5weQpAQCAtNDMyLDYgKzQzMiwxMiBAQCBjbGFzcyBEcml2ZXIob2JqZWN0KToKICAg
ICAgICAgZW52aXJvbm1lbnRbJ1NRTElURV9FWEVNUFRfUEFUSF9GUk9NX1ZOT0RFX0dVQVJEUydd
ID0gb3MucGF0aC5yZWFscGF0aChlbnZpcm9ubWVudFsnRFVNUFJFTkRFUlRSRUVfVEVNUCddKQog
ICAgICAgICBlbnZpcm9ubWVudFsnX19YUENfU1FMSVRFX0VYRU1QVF9QQVRIX0ZST01fVk5PREVf
R1VBUkRTJ10gPSBlbnZpcm9ubWVudFsnU1FMSVRFX0VYRU1QVF9QQVRIX0ZST01fVk5PREVfR1VB
UkRTJ10KIAorICAgICAgICBpZiBzeXMucGxhdGZvcm0uc3RhcnRzd2l0aCgnbGludXgnKToKKyAg
ICAgICAgICAgICMgQ3VycmVudGx5IG9uIFdlYktpdDIsIHRoZXJlIGlzIG5vIEFQSSBmb3Igc2V0
dGluZyB0aGUgYXBwbGljYXRpb24gY2FjaGUgZGlyZWN0b3J5LgorICAgICAgICAgICAgIyBFYWNo
IHdvcmtlciBzaG91bGQgaGF2ZSBpdCdzIG93biBhbmQgaXQgc2hvdWxkIGJlIGNsZWFuZWQgYWZ0
ZXJ3YXJkcy4KKyAgICAgICAgICAgICMgU2V0IGl0IHRvIGluc2lkZSB0aGUgdGVtcG9yYXJ5IGZv
bGRlciBieSBwcmVwZW5kaW5nIFhER19DQUNIRV9IT01FIHdpdGggRFJJVkVSX1RFTVBESVIuCisg
ICAgICAgICAgICBlbnZpcm9ubWVudFsnWERHX0NBQ0hFX0hPTUUnXSA9IHNlbGYuX3BvcnQuaG9z
dC5maWxlc3lzdGVtLmpvaW4oc3RyKHNlbGYuX2RyaXZlcl90ZW1wZGlyKSwgJ2FwcGNhY2hlJykK
KwogICAgICAgICBpZiBzZWxmLl9wcm9maWxlcjoKICAgICAgICAgICAgIGVudmlyb25tZW50ID0g
c2VsZi5fcHJvZmlsZXIuYWRqdXN0ZWRfZW52aXJvbm1lbnQoZW52aXJvbm1lbnQpCiAgICAgICAg
IHJldHVybiBlbnZpcm9ubWVudApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9w
b3J0L2hlYWRsZXNzZHJpdmVyLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2hlYWRs
ZXNzZHJpdmVyLnB5CmluZGV4IGU0Njg0YTMwZjQ5YjVjYmQzMTM4ZmQwZTEyYzA2N2FmMjNiZDg3
OWUuLjE0NDMyMzUxMTA0YjZiNzcwODVmNWQ0MzcyOTI4MzU0YzE2MmUzZGIgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9oZWFkbGVzc2RyaXZlci5weQorKysgYi9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvaGVhZGxlc3Nkcml2ZXIucHkKQEAgLTM4LDE4ICszOCw2
IEBAIF9sb2cgPSBsb2dnaW5nLmdldExvZ2dlcihfX25hbWVfXykKIAogY2xhc3MgSGVhZGxlc3NE
cml2ZXIoRHJpdmVyKToKICAgICBkZWYgX3NldHVwX2Vudmlyb25fZm9yX3Rlc3Qoc2VsZik6Ci0g
ICAgICAgIGRyaXZlcl9lbnZpcm9ubWVudCA9IHNlbGYuX3BvcnQuc2V0dXBfZW52aXJvbl9mb3Jf
c2VydmVyKHNlbGYuX3NlcnZlcl9uYW1lKQorICAgICAgICBkcml2ZXJfZW52aXJvbm1lbnQgPSBz
dXBlcihIZWFkbGVzc0RyaXZlciwgc2VsZikuX3NldHVwX2Vudmlyb25fZm9yX3Rlc3QoKQogICAg
ICAgICBkcml2ZXJfZW52aXJvbm1lbnRbJ1dQRV9VU0VfSEVBRExFU1NfVklFV19CQUNLRU5EJ10g
PSAiMSIKLSAgICAgICAgZHJpdmVyX2Vudmlyb25tZW50WydMT0NBTF9SRVNPVVJDRV9ST09UJ10g
PSBzZWxmLl9wb3J0LmxheW91dF90ZXN0c19kaXIoKQotICAgICAgICBpZiBzZWxmLl9kcml2ZXJf
dGVtcGRpciBpcyBub3QgTm9uZToKLSAgICAgICAgICAgIGRyaXZlcl9lbnZpcm9ubWVudFsnRFVN
UFJFTkRFUlRSRUVfVEVNUCddID0gc3RyKHNlbGYuX2RyaXZlcl90ZW1wZGlyKQotICAgICAgICAg
ICAgZHJpdmVyX2Vudmlyb25tZW50WydYREdfQ0FDSEVfSE9NRSddID0gc2VsZi5fcG9ydC5ob3N0
LmZpbGVzeXN0ZW0uam9pbihzdHIoc2VsZi5fZHJpdmVyX3RlbXBkaXIpLCAnYXBwY2FjaGUnKQog
ICAgICAgICByZXR1cm4gZHJpdmVyX2Vudmlyb25tZW50Ci0KLSAgICBkZWYgX3N0YXJ0KHNlbGYs
IHBpeGVsX3Rlc3RzLCBwZXJfdGVzdF9hcmdzKToKLSAgICAgICAgc3VwZXIoSGVhZGxlc3NEcml2
ZXIsIHNlbGYpLnN0b3AoKQotICAgICAgICBzZWxmLl9kcml2ZXJfdGVtcGRpciA9IHNlbGYuX3Bv
cnQuX2RyaXZlcl90ZW1wZGlyKHNlbGYuX3RhcmdldF9ob3N0KQotICAgICAgICBzZWxmLl9jcmFz
aGVkX3Byb2Nlc3NfbmFtZSA9IE5vbmUKLSAgICAgICAgc2VsZi5fY3Jhc2hlZF9waWQgPSBOb25l
Ci0gICAgICAgIHNlbGYuX3NlcnZlcl9wcm9jZXNzID0gc2VsZi5fcG9ydC5fc2VydmVyX3Byb2Nl
c3NfY29uc3RydWN0b3Ioc2VsZi5fcG9ydCwgc2VsZi5fc2VydmVyX25hbWUsIHNlbGYuY21kX2xp
bmUocGl4ZWxfdGVzdHMsIHBlcl90ZXN0X2FyZ3MpLCBzZWxmLl9zZXR1cF9lbnZpcm9uX2Zvcl90
ZXN0KCkpCi0gICAgICAgIHNlbGYuX3NlcnZlcl9wcm9jZXNzLnN0YXJ0KCkKZGlmZiAtLWdpdCBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC93YXlsYW5kZHJpdmVyLnB5IGIvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9wb3J0L3dheWxhbmRkcml2ZXIucHkKaW5kZXggZWY0ZDExZmMxODg5OTIw
ZTBiMzkwMTMwOTAzZDJlMTMwNzgxNzVlZi4uYTczZjZjZTUzNGViZGRkNmU2NjkxZjg2NmJkYTY3
MmQ2YjA2NzIyZCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3dheWxh
bmRkcml2ZXIucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3dheWxhbmRkcml2
ZXIucHkKQEAgLTQ1LDIxICs0NSw5IEBAIGNsYXNzIFdheWxhbmREcml2ZXIoRHJpdmVyKToKICAg
ICAgICAgcmV0dXJuIFRydWUKIAogICAgIGRlZiBfc2V0dXBfZW52aXJvbl9mb3JfdGVzdChzZWxm
KToKLSAgICAgICAgZHJpdmVyX2Vudmlyb25tZW50ID0gc2VsZi5fcG9ydC5zZXR1cF9lbnZpcm9u
X2Zvcl9zZXJ2ZXIoc2VsZi5fc2VydmVyX25hbWUpCisgICAgICAgIGRyaXZlcl9lbnZpcm9ubWVu
dCA9IHN1cGVyKFdheWxhbmREcml2ZXIsIHNlbGYpLl9zZXR1cF9lbnZpcm9uX2Zvcl90ZXN0KCkK
ICAgICAgICAgc2VsZi5fcG9ydC5fY29weV92YWx1ZV9mcm9tX2Vudmlyb25faWZfc2V0KGRyaXZl
cl9lbnZpcm9ubWVudCwgJ1dBWUxBTkRfRElTUExBWScpCiAgICAgICAgIHNlbGYuX3BvcnQuX2Nv
cHlfdmFsdWVfZnJvbV9lbnZpcm9uX2lmX3NldChkcml2ZXJfZW52aXJvbm1lbnQsICdXQVlMQU5E
X1NPQ0tFVCcpCiAgICAgICAgIGRyaXZlcl9lbnZpcm9ubWVudFsnR0RLX0JBQ0tFTkQnXSA9ICd3
YXlsYW5kJwogICAgICAgICBkcml2ZXJfZW52aXJvbm1lbnRbJ0VHTF9QTEFURk9STSddID0gJ3dh
eWxhbmQnCi0gICAgICAgIGRyaXZlcl9lbnZpcm9ubWVudFsnTE9DQUxfUkVTT1VSQ0VfUk9PVCdd
ID0gc2VsZi5fcG9ydC5sYXlvdXRfdGVzdHNfZGlyKCkKLSAgICAgICAgaWYgc2VsZi5fZHJpdmVy
X3RlbXBkaXIgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICBkcml2ZXJfZW52aXJvbm1lbnRbJ0RV
TVBSRU5ERVJUUkVFX1RFTVAnXSA9IHN0cihzZWxmLl9kcml2ZXJfdGVtcGRpcikKLSAgICAgICAg
ICAgIGRyaXZlcl9lbnZpcm9ubWVudFsnWERHX0NBQ0hFX0hPTUUnXSA9IHNlbGYuX3BvcnQuaG9z
dC5maWxlc3lzdGVtLmpvaW4oc3RyKHNlbGYuX2RyaXZlcl90ZW1wZGlyKSwgJ2FwcGNhY2hlJykK
ICAgICAgICAgcmV0dXJuIGRyaXZlcl9lbnZpcm9ubWVudAotCi0gICAgZGVmIF9zdGFydChzZWxm
LCBwaXhlbF90ZXN0cywgcGVyX3Rlc3RfYXJncyk6Ci0gICAgICAgIHN1cGVyKFdheWxhbmREcml2
ZXIsIHNlbGYpLnN0b3AoKQotICAgICAgICBzZWxmLl9kcml2ZXJfdGVtcGRpciA9IHNlbGYuX3Bv
cnQuX2RyaXZlcl90ZW1wZGlyKHNlbGYuX3RhcmdldF9ob3N0KQotICAgICAgICBzZWxmLl9jcmFz
aGVkX3Byb2Nlc3NfbmFtZSA9IE5vbmUKLSAgICAgICAgc2VsZi5fY3Jhc2hlZF9waWQgPSBOb25l
Ci0gICAgICAgIHNlbGYuX3NlcnZlcl9wcm9jZXNzID0gc2VsZi5fcG9ydC5fc2VydmVyX3Byb2Nl
c3NfY29uc3RydWN0b3Ioc2VsZi5fcG9ydCwgc2VsZi5fc2VydmVyX25hbWUsIHNlbGYuY21kX2xp
bmUocGl4ZWxfdGVzdHMsIHBlcl90ZXN0X2FyZ3MpLCBzZWxmLl9zZXR1cF9lbnZpcm9uX2Zvcl90
ZXN0KCkpCi0gICAgICAgIHNlbGYuX3NlcnZlcl9wcm9jZXNzLnN0YXJ0KCkKZGlmZiAtLWdpdCBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC93ZXN0b25kcml2ZXIucHkgYi9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L3BvcnQvd2VzdG9uZHJpdmVyLnB5CmluZGV4IDVhZDdlOTMxNmQ4N2FlNDVh
MDE4NTUxNDE0YzYxYjM4ZDQ2OGQ2ZDEuLmMzNGNkZDUwZGRiNzQ4ZmQ4ZGUyMTc4YTNjZTI1NDcw
ZThmMGY2NGEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC93ZXN0b25k
cml2ZXIucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3dlc3RvbmRyaXZlci5w
eQpAQCAtNTUsNyArNTUsNyBAQCBjbGFzcyBXZXN0b25Ecml2ZXIoRHJpdmVyKToKICAgICAgICAg
c2VsZi5feHZmYmRyaXZlciA9IFh2ZmJEcml2ZXIoKmFyZ3MsICoqa3dhcmdzKQogCiAgICAgZGVm
IF9zZXR1cF9lbnZpcm9uX2Zvcl90ZXN0KHNlbGYpOgotICAgICAgICBkcml2ZXJfZW52aXJvbm1l
bnQgPSBzZWxmLl9wb3J0LnNldHVwX2Vudmlyb25fZm9yX3NlcnZlcihzZWxmLl9zZXJ2ZXJfbmFt
ZSkKKyAgICAgICAgZHJpdmVyX2Vudmlyb25tZW50ID0gc3VwZXIoV2VzdG9uRHJpdmVyLCBzZWxm
KS5fc2V0dXBfZW52aXJvbl9mb3JfdGVzdCgpCiAgICAgICAgIGRyaXZlcl9lbnZpcm9ubWVudFsn
RElTUExBWSddID0gIjolZCIgJSBzZWxmLl94dmZiZHJpdmVyLl94dmZiX3J1bihkcml2ZXJfZW52
aXJvbm1lbnQpCiAgICAgICAgIHdlc3Rvbl9zb2NrZXQgPSAnV0tUZXN0aW5nLXdlc3Rvbi0lMDMy
eCcgJSByYW5kb20uZ2V0cmFuZGJpdHMoMTI4KQogICAgICAgICB3ZXN0b25fY29tbWFuZCA9IFsn
d2VzdG9uJywgJy0tc29ja2V0PSVzJyAlIHdlc3Rvbl9zb2NrZXQsICctLXdpZHRoPTEwMjQnLCAn
LS1oZWlnaHQ9NzY4JywgJy0tdXNlLXBpeG1hbiddCkBAIC02NywyNSArNjcsMTIgQEAgY2xhc3Mg
V2VzdG9uRHJpdmVyKERyaXZlcik6CiAgICAgICAgICMgR2l2ZSBXZXN0b24gYSBiaXQgb2YgdGlt
ZSB0byBzZXQgaXRzZWxmIHVwLgogICAgICAgICB0aW1lLnNsZWVwKHNlbGYuX3N0YXJ0dXBfZGVs
YXlfc2VjcykKIAotICAgICAgICBkcml2ZXJfZW52aXJvbm1lbnRbJ0xPQ0FMX1JFU09VUkNFX1JP
T1QnXSA9IHNlbGYuX3BvcnQubGF5b3V0X3Rlc3RzX2RpcigpCi0gICAgICAgIGlmIHNlbGYuX2Ry
aXZlcl90ZW1wZGlyIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgIyBDdXJyZW50bHkgb24gV2Vi
S2l0MiwgdGhlcmUgaXMgbm8gQVBJIGZvciBzZXR0aW5nIHRoZSBhcHBsaWNhdGlvbiBjYWNoZSBk
aXJlY3RvcnkuCi0gICAgICAgICAgICAjIEVhY2ggd29ya2VyIHNob3VsZCBoYXZlIGl0cyBvd24g
YW5kIGl0IHNob3VsZCBiZSBjbGVhbmVkIGFmdGVyd2FyZHMsIHdoZW4gdGhlIHdvcmtlciBzdG9w
cy4KLSAgICAgICAgICAgIGRyaXZlcl9lbnZpcm9ubWVudFsnWERHX0NBQ0hFX0hPTUUnXSA9IHNl
bGYuX3BvcnQuaG9zdC5maWxlc3lzdGVtLmpvaW4oc3RyKHNlbGYuX2RyaXZlcl90ZW1wZGlyKSwg
J2FwcGNhY2hlJykKLSAgICAgICAgICAgIGRyaXZlcl9lbnZpcm9ubWVudFsnRFVNUFJFTkRFUlRS
RUVfVEVNUCddID0gc3RyKHNlbGYuX2RyaXZlcl90ZW1wZGlyKQogICAgICAgICBkcml2ZXJfZW52
aXJvbm1lbnRbJ1dBWUxBTkRfRElTUExBWSddID0gd2VzdG9uX3NvY2tldAogICAgICAgICBkcml2
ZXJfZW52aXJvbm1lbnRbJ0dES19CQUNLRU5EJ10gPSAnd2F5bGFuZCcKICAgICAgICAgaWYgZHJp
dmVyX2Vudmlyb25tZW50LmdldCgnRElTUExBWScpOgogICAgICAgICAgICAgZGVsIGRyaXZlcl9l
bnZpcm9ubWVudFsnRElTUExBWSddCiAgICAgICAgIHJldHVybiBkcml2ZXJfZW52aXJvbm1lbnQK
IAotICAgIGRlZiBfc3RhcnQoc2VsZiwgcGl4ZWxfdGVzdHMsIHBlcl90ZXN0X2FyZ3MpOgotICAg
ICAgICBzZWxmLnN0b3AoKQotICAgICAgICBzZWxmLl9kcml2ZXJfdGVtcGRpciA9IHNlbGYuX3Bv
cnQuX2RyaXZlcl90ZW1wZGlyKHNlbGYuX3RhcmdldF9ob3N0KQotICAgICAgICBzZWxmLl9jcmFz
aGVkX3Byb2Nlc3NfbmFtZSA9IE5vbmUKLSAgICAgICAgc2VsZi5fY3Jhc2hlZF9waWQgPSBOb25l
Ci0gICAgICAgIHNlbGYuX3NlcnZlcl9wcm9jZXNzID0gc2VsZi5fcG9ydC5fc2VydmVyX3Byb2Nl
c3NfY29uc3RydWN0b3Ioc2VsZi5fcG9ydCwgc2VsZi5fc2VydmVyX25hbWUsIHNlbGYuY21kX2xp
bmUocGl4ZWxfdGVzdHMsIHBlcl90ZXN0X2FyZ3MpLCBzZWxmLl9zZXR1cF9lbnZpcm9uX2Zvcl90
ZXN0KCkpCi0gICAgICAgIHNlbGYuX3NlcnZlcl9wcm9jZXNzLnN0YXJ0KCkKIAogICAgIGRlZiBz
dG9wKHNlbGYpOgogICAgICAgICBzdXBlcihXZXN0b25Ecml2ZXIsIHNlbGYpLnN0b3AoKQpAQCAt
OTMsNCArODAsMyBAQCBjbGFzcyBXZXN0b25Ecml2ZXIoRHJpdmVyKToKICAgICAgICAgICAgICMg
VGhlIFdlc3RvbiBwcm9jZXNzIGlzIHRlcm1pbmF0ZWQgaW5zdGVhZCBvZiBraWxsZWQsIGdpdmlu
ZyB0aGUgV2VzdG9uIGEgY2hhbmNlIHRvIGNsZWFuIHVwIGFmdGVyIGl0c2VsZi4KICAgICAgICAg
ICAgIHNlbGYuX3dlc3Rvbl9wcm9jZXNzLnRlcm1pbmF0ZSgpCiAgICAgICAgICAgICBzZWxmLl93
ZXN0b25fcHJvY2VzcyA9IE5vbmUKLQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9wb3J0L3dlc3RvbmRyaXZlcl91bml0dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
cG9ydC93ZXN0b25kcml2ZXJfdW5pdHRlc3QucHkKaW5kZXggYmM3MWFiOTQ2MmIwMmQ0NDE3MTI3
YmM3ODUwZjkwMGVmY2FjZDM1Ny4uZTMzZmM5ZTAxM2E1NWE2MTZhODNmZmZjMDM3YjJkNjE2MzY4
NjYzYyAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3dlc3RvbmRyaXZl
cl91bml0dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvd2VzdG9uZHJp
dmVyX3VuaXR0ZXN0LnB5CkBAIC01Myw3ICs1Myw3IEBAIGNsYXNzIFdlc3RvbkRyaXZlclRlc3Qo
dW5pdHRlc3QuVGVzdENhc2UpOgogICAgIGRlZiBtYWtlX2RyaXZlcihzZWxmKToKICAgICAgICAg
cG9ydCA9IFBvcnQoTW9ja1N5c3RlbUhvc3QobG9nX2V4ZWN1dGl2ZT1UcnVlKSwgJ3dlc3RvbmRy
aXZlcnRlc3Rwb3J0Jywgb3B0aW9ucz1Nb2NrT3B0aW9ucyhjb25maWd1cmF0aW9uPSdSZWxlYXNl
JykpCiAgICAgICAgIHBvcnQuX2NvbmZpZy5idWlsZF9kaXJlY3RvcnkgPSBsYW1iZGEgY29uZmln
dXJhdGlvbjogIi9tb2NrX2J1aWxkIgotICAgICAgICBwb3J0Ll9zZXJ2ZXJfcHJvY2Vzc19jb25z
dHJ1Y3RvciA9IE1vY2tTZXJ2ZXJQcm9jZXNzCisgICAgICAgIHBvcnQuX3Rlc3RfcnVubmVyX3By
b2Nlc3NfY29uc3RydWN0b3IgPSBNb2NrU2VydmVyUHJvY2VzcwogCiAgICAgICAgIGRyaXZlciA9
IFdlc3RvbkRyaXZlcihwb3J0LCB3b3JrZXJfbnVtYmVyPTAsIHBpeGVsX3Rlc3RzPVRydWUpCiAg
ICAgICAgIGRyaXZlci5fc3RhcnR1cF9kZWxheV9zZWNzID0gMApkaWZmIC0tZ2l0IGEvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9wb3J0L3hvcmdkcml2ZXIucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L3BvcnQveG9yZ2RyaXZlci5weQppbmRleCA1MzMzOTU3MjgzOWYzYjc4MTc4NGU0ZTc0ZGVj
MjNlYTEwNWI0MDUzLi4xYmRlMDEzNWYwNjc2MWY3M2ZhYTRlZDUwYjcxNWRjN2QyNWNlMjQ3IDEw
MDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQveG9yZ2RyaXZlci5weQorKysg
Yi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQveG9yZ2RyaXZlci5weQpAQCAtNDUsMjYgKzQ1
LDggQEAgY2xhc3MgWG9yZ0RyaXZlcihEcml2ZXIpOgogICAgICAgICByZXR1cm4gVHJ1ZQogCiAg
ICAgZGVmIF9zZXR1cF9lbnZpcm9uX2Zvcl90ZXN0KHNlbGYpOgotICAgICAgICBzZXJ2ZXJfZW52
aXJvbm1lbnQgPSBzZWxmLl9wb3J0LnNldHVwX2Vudmlyb25fZm9yX3NlcnZlcihzZWxmLl9zZXJ2
ZXJfbmFtZSkKKyAgICAgICAgc2VydmVyX2Vudmlyb25tZW50ID0gc3VwZXIoWG9yZ0RyaXZlciwg
c2VsZikuX3NldHVwX2Vudmlyb25fZm9yX3Rlc3QoKQogICAgICAgICBzZWxmLl9wb3J0Ll9jb3B5
X3ZhbHVlX2Zyb21fZW52aXJvbl9pZl9zZXQoc2VydmVyX2Vudmlyb25tZW50LCAnRElTUExBWScp
CiAgICAgICAgIHNlbGYuX3BvcnQuX2NvcHlfdmFsdWVfZnJvbV9lbnZpcm9uX2lmX3NldChzZXJ2
ZXJfZW52aXJvbm1lbnQsICdYQVVUSE9SSVRZJykKICAgICAgICAgc2VydmVyX2Vudmlyb25tZW50
WydHREtfQkFDS0VORCddID0gJ3gxMScKLSAgICAgICAgc2VydmVyX2Vudmlyb25tZW50WydMT0NB
TF9SRVNPVVJDRV9ST09UJ10gPSBzZWxmLl9wb3J0LmxheW91dF90ZXN0c19kaXIoKQotICAgICAg
ICBpZiBzZWxmLl9kcml2ZXJfdGVtcGRpciBpcyBub3QgTm9uZToKLSAgICAgICAgICAgIHNlcnZl
cl9lbnZpcm9ubWVudFsnRFVNUFJFTkRFUlRSRUVfVEVNUCddID0gc3RyKHNlbGYuX2RyaXZlcl90
ZW1wZGlyKQotICAgICAgICAgICAgIyBDdXJyZW50bHkgb24gV2ViS2l0MiwgdGhlcmUgaXMgbm8g
QVBJIGZvciBzZXR0aW5nIHRoZSBhcHBsaWNhdGlvbgotICAgICAgICAgICAgIyBjYWNoZSBkaXJl
Y3RvcnkuIEVhY2ggd29ya2VyIHNob3VsZCBoYXZlIGl0J3Mgb3duIGFuZCBpdCBzaG91bGQgYmUK
LSAgICAgICAgICAgICMgY2xlYW5lZCBhZnRlcndhcmRzLCBzbyB3ZSBzZXQgaXQgdG8gaW5zaWRl
IHRoZSB0ZW1wb3JhcnkgZm9sZGVyIGJ5Ci0gICAgICAgICAgICAjIHByZXBlbmRpbmcgWERHX0NB
Q0hFX0hPTUUgd2l0aCBEVU1QUkVOREVSVFJFRV9URU1QLgotICAgICAgICAgICAgc2VydmVyX2Vu
dmlyb25tZW50WydYREdfQ0FDSEVfSE9NRSddID0gc2VsZi5fcG9ydC5ob3N0LmZpbGVzeXN0ZW0u
am9pbihzdHIoc2VsZi5fZHJpdmVyX3RlbXBkaXIpLCAnYXBwY2FjaGUnKQogICAgICAgICByZXR1
cm4gc2VydmVyX2Vudmlyb25tZW50Ci0KLSAgICBkZWYgX3N0YXJ0KHNlbGYsIHBpeGVsX3Rlc3Rz
LCBwZXJfdGVzdF9hcmdzKToKLSAgICAgICAgc3VwZXIoWG9yZ0RyaXZlciwgc2VsZikuc3RvcCgp
Ci0KLSAgICAgICAgc2VsZi5fZHJpdmVyX3RlbXBkaXIgPSBzZWxmLl9wb3J0Ll9kcml2ZXJfdGVt
cGRpcihzZWxmLl90YXJnZXRfaG9zdCkKLQotICAgICAgICBzZWxmLl9jcmFzaGVkX3Byb2Nlc3Nf
bmFtZSA9IE5vbmUKLSAgICAgICAgc2VsZi5fY3Jhc2hlZF9waWQgPSBOb25lCi0gICAgICAgIHNl
bGYuX3NlcnZlcl9wcm9jZXNzID0gc2VsZi5fcG9ydC5fc2VydmVyX3Byb2Nlc3NfY29uc3RydWN0
b3Ioc2VsZi5fcG9ydCwgc2VsZi5fc2VydmVyX25hbWUsIHNlbGYuY21kX2xpbmUocGl4ZWxfdGVz
dHMsIHBlcl90ZXN0X2FyZ3MpLCBzZWxmLl9zZXR1cF9lbnZpcm9uX2Zvcl90ZXN0KCkpCi0gICAg
ICAgIHNlbGYuX3NlcnZlcl9wcm9jZXNzLnN0YXJ0KCkKZGlmZiAtLWdpdCBhL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvcG9ydC94dmZiZHJpdmVyLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9w
b3J0L3h2ZmJkcml2ZXIucHkKaW5kZXggOTkxMjFkMDQ0ZDk3ODM2Y2IwMWRiNTYxNzY2MGJiYWQ0
NzU0YTIzMS4uYWJlYWE1MWNkOWMyZjIxN2RmMzA2ZDk2NTk4MzlmZDlmOWI5ODViNyAxMDA2NDQK
LS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3h2ZmJkcml2ZXIucHkKKysrIGIvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3h2ZmJkcml2ZXIucHkKQEAgLTkzLDMwICs5MywxNiBA
QCBjbGFzcyBYdmZiRHJpdmVyKERyaXZlcik6CiAgICAgICAgIHJldHVybiBvcy5lbnZpcm9uLmdl
dCgnWFZGQl9TQ1JFRU5fREVQVEgnLCAnMjQnKQogCiAgICAgZGVmIF9zZXR1cF9lbnZpcm9uX2Zv
cl90ZXN0KHNlbGYpOgotICAgICAgICBlbnZpcm9ubWVudCA9IHNlbGYuX3BvcnQuc2V0dXBfZW52
aXJvbl9mb3Jfc2VydmVyKHNlbGYuX3NlcnZlcl9uYW1lKQotICAgICAgICBkaXNwbGF5X2lkID0g
c2VsZi5feHZmYl9ydW4oZW52aXJvbm1lbnQpCisgICAgICAgIHBvcnRfc2VydmVyX2Vudmlyb25t
ZW50ID0gc2VsZi5fcG9ydC5zZXR1cF9lbnZpcm9uX2Zvcl9zZXJ2ZXIoc2VsZi5fc2VydmVyX25h
bWUpCisgICAgICAgIGRyaXZlcl9lbnZpcm9ubWVudCA9IHN1cGVyKFh2ZmJEcml2ZXIsIHNlbGYp
Ll9zZXR1cF9lbnZpcm9uX2Zvcl90ZXN0KCkKKyAgICAgICAgZGlzcGxheV9pZCA9IHNlbGYuX3h2
ZmJfcnVuKHBvcnRfc2VydmVyX2Vudmlyb25tZW50KQogCiAgICAgICAgICMgV2UgbXVzdCBkbyB0
aGlzIGhlcmUgYmVjYXVzZSB0aGUgRElTUExBWSBudW1iZXIgZGVwZW5kcyBvbiBfd29ya2VyX251
bWJlcgotICAgICAgICBlbnZpcm9ubWVudFsnRElTUExBWSddID0gIjolZCIgJSBkaXNwbGF5X2lk
Ci0gICAgICAgIGVudmlyb25tZW50WydVTkRFUl9YVkZCJ10gPSAneWVzJwotICAgICAgICBlbnZp
cm9ubWVudFsnR0RLX0JBQ0tFTkQnXSA9ICd4MTEnCi0gICAgICAgIGVudmlyb25tZW50WydMT0NB
TF9SRVNPVVJDRV9ST09UJ10gPSBzZWxmLl9wb3J0LmxheW91dF90ZXN0c19kaXIoKQotICAgICAg
ICBpZiBzZWxmLl9kcml2ZXJfdGVtcGRpciBpcyBub3QgTm9uZToKLSAgICAgICAgICAgIGVudmly
b25tZW50WydEVU1QUkVOREVSVFJFRV9URU1QJ10gPSBzdHIoc2VsZi5fZHJpdmVyX3RlbXBkaXIp
Ci0gICAgICAgICAgICAjIEN1cnJlbnRseSBvbiBXZWJLaXQyLCB0aGVyZSBpcyBubyBBUEkgZm9y
IHNldHRpbmcgdGhlIGFwcGxpY2F0aW9uCi0gICAgICAgICAgICAjIGNhY2hlIGRpcmVjdG9yeS4g
RWFjaCB3b3JrZXIgc2hvdWxkIGhhdmUgaXQncyBvd24gYW5kIGl0IHNob3VsZCBiZQotICAgICAg
ICAgICAgIyBjbGVhbmVkIGFmdGVyd2FyZHMsIHNvIHdlIHNldCBpdCB0byBpbnNpZGUgdGhlIHRl
bXBvcmFyeSBmb2xkZXIgYnkKLSAgICAgICAgICAgICMgcHJlcGVuZGluZyBYREdfQ0FDSEVfSE9N
RSB3aXRoIERVTVBSRU5ERVJUUkVFX1RFTVAuCi0gICAgICAgICAgICBlbnZpcm9ubWVudFsnWERH
X0NBQ0hFX0hPTUUnXSA9IHNlbGYuX3BvcnQuaG9zdC5maWxlc3lzdGVtLmpvaW4oc3RyKHNlbGYu
X2RyaXZlcl90ZW1wZGlyKSwgJ2FwcGNhY2hlJykKLSAgICAgICAgcmV0dXJuIGVudmlyb25tZW50
Ci0KLSAgICBkZWYgX3N0YXJ0KHNlbGYsIHBpeGVsX3Rlc3RzLCBwZXJfdGVzdF9hcmdzKToKLSAg
ICAgICAgc2VsZi5zdG9wKCkKLSAgICAgICAgc2VsZi5fZHJpdmVyX3RlbXBkaXIgPSBzZWxmLl9w
b3J0Ll9kcml2ZXJfdGVtcGRpcihzZWxmLl90YXJnZXRfaG9zdCkKLSAgICAgICAgc2VsZi5fY3Jh
c2hlZF9wcm9jZXNzX25hbWUgPSBOb25lCi0gICAgICAgIHNlbGYuX2NyYXNoZWRfcGlkID0gTm9u
ZQotICAgICAgICBzZWxmLl9zZXJ2ZXJfcHJvY2VzcyA9IHNlbGYuX3BvcnQuX3NlcnZlcl9wcm9j
ZXNzX2NvbnN0cnVjdG9yKHNlbGYuX3BvcnQsIHNlbGYuX3NlcnZlcl9uYW1lLCBzZWxmLmNtZF9s
aW5lKHBpeGVsX3Rlc3RzLCBwZXJfdGVzdF9hcmdzKSwgc2VsZi5fc2V0dXBfZW52aXJvbl9mb3Jf
dGVzdCgpKQotICAgICAgICBzZWxmLl9zZXJ2ZXJfcHJvY2Vzcy5zdGFydCgpCisgICAgICAgIGRy
aXZlcl9lbnZpcm9ubWVudFsnRElTUExBWSddID0gIjolZCIgJSBkaXNwbGF5X2lkCisgICAgICAg
IGRyaXZlcl9lbnZpcm9ubWVudFsnVU5ERVJfWFZGQiddID0gJ3llcycKKyAgICAgICAgZHJpdmVy
X2Vudmlyb25tZW50WydHREtfQkFDS0VORCddID0gJ3gxMScKKyAgICAgICAgZHJpdmVyX2Vudmly
b25tZW50WydMT0NBTF9SRVNPVVJDRV9ST09UJ10gPSBzZWxmLl9wb3J0LmxheW91dF90ZXN0c19k
aXIoKQorICAgICAgICByZXR1cm4gZHJpdmVyX2Vudmlyb25tZW50CiAKICAgICBkZWYgc3RvcChz
ZWxmKToKICAgICAgICAgc3VwZXIoWHZmYkRyaXZlciwgc2VsZikuc3RvcCgpCmRpZmYgLS1naXQg
YS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQveHZmYmRyaXZlcl91bml0dGVzdC5weSBiL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC94dmZiZHJpdmVyX3VuaXR0ZXN0LnB5CmluZGV4IDdm
Y2FkZDE1NmVmOTQ0OGE0YTg3NmJjZDliZDZhOTc0MDA1MmYyMjQuLjAwNDVhY2Q4ZDYzMTZhMzEy
ZjBmOWQzMzgzNDk0YzQxOGQ2ZTFjZjIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvcG9ydC94dmZiZHJpdmVyX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvcG9ydC94dmZiZHJpdmVyX3VuaXR0ZXN0LnB5CkBAIC00NSw3ICs0NSw3IEBAIGNsYXNzIFh2
ZmJEcml2ZXJUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICBkZWYgbWFrZV9kcml2ZXIoc2Vs
Ziwgd29ya2VyX251bWJlcj0wLCB4b3JnX3J1bm5pbmc9RmFsc2UsIGV4ZWN1dGl2ZT1Ob25lKToK
ICAgICAgICAgcG9ydCA9IFBvcnQoTW9ja1N5c3RlbUhvc3QobG9nX2V4ZWN1dGl2ZT1UcnVlLCBl
eGVjdXRpdmU9ZXhlY3V0aXZlKSwgJ3h2ZmJkcml2ZXJ0ZXN0cG9ydCcsIG9wdGlvbnM9TW9ja09w
dGlvbnMoY29uZmlndXJhdGlvbj0nUmVsZWFzZScpKQogICAgICAgICBwb3J0Ll9jb25maWcuYnVp
bGRfZGlyZWN0b3J5ID0gbGFtYmRhIGNvbmZpZ3VyYXRpb246ICIvbW9jay1idWlsZCIKLSAgICAg
ICAgcG9ydC5fc2VydmVyX3Byb2Nlc3NfY29uc3RydWN0b3IgPSBNb2NrU2VydmVyUHJvY2Vzcwor
ICAgICAgICBwb3J0Ll90ZXN0X3J1bm5lcl9wcm9jZXNzX2NvbnN0cnVjdG9yID0gTW9ja1NlcnZl
clByb2Nlc3MKICAgICAgICAgaWYgeG9yZ19ydW5uaW5nOgogICAgICAgICAgICAgcG9ydC5fZXhl
Y3V0aXZlLl9ydW5uaW5nX3BpZHNbJ1hvcmcnXSA9IDEwOAogCkBAIC01NSw3ICs1NSw3IEBAIGNs
YXNzIFh2ZmJEcml2ZXJUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgZHJpdmVyLl94
dmZiX3BpcGUgPSBsYW1iZGE6ICgzLCA0KQogICAgICAgICBkcml2ZXIuX3h2ZmJfcmVhZF9kaXNw
bGF5X2lkID0gbGFtYmRhIHg6IDEKICAgICAgICAgZHJpdmVyLl94dmZiX2Nsb3NlX3BpcGUgPSBs
YW1iZGEgcDogTm9uZQotICAgICAgICBkcml2ZXIuX2Vudmlyb25tZW50ID0gcG9ydC5zZXR1cF9l
bnZpcm9uX2Zvcl9zZXJ2ZXIocG9ydC5kcml2ZXJfbmFtZSgpKQorICAgICAgICBkcml2ZXIuX3Bv
cnRfc2VydmVyX2Vudmlyb25tZW50ID0gcG9ydC5zZXR1cF9lbnZpcm9uX2Zvcl9zZXJ2ZXIocG9y
dC5kcml2ZXJfbmFtZSgpKQogICAgICAgICByZXR1cm4gZHJpdmVyCiAKICAgICBkZWYgY2xlYW51
cF9kcml2ZXIoc2VsZiwgZHJpdmVyKToKQEAgLTcyLDEzICs3MiwxMyBAQCBjbGFzcyBYdmZiRHJp
dmVyVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAKICAgICBkZWYgdGVzdF9zdGFydChzZWxmKToK
ICAgICAgICAgZHJpdmVyID0gc2VsZi5tYWtlX2RyaXZlcigpCi0gICAgICAgIGV4cGVjdGVkX2xv
Z3MgPSAoIk1PQ0sgcG9wZW46IFsnWHZmYicsICctZGlzcGxheWZkJywgJzQnLCAnLXNjcmVlbics
ICcwJywgJzEwMjR4NzY4eDI0JywgJy1ub2xpc3RlbicsICd0Y3AnXSwgZW52PSVzXG4iICUgZHJp
dmVyLl9lbnZpcm9ubWVudCkKKyAgICAgICAgZXhwZWN0ZWRfbG9ncyA9ICgiTU9DSyBwb3Blbjog
WydYdmZiJywgJy1kaXNwbGF5ZmQnLCAnNCcsICctc2NyZWVuJywgJzAnLCAnMTAyNHg3Njh4MjQn
LCAnLW5vbGlzdGVuJywgJ3RjcCddLCBlbnY9JXNcbiIgJSBkcml2ZXIuX3BvcnRfc2VydmVyX2Vu
dmlyb25tZW50KQogICAgICAgICBzZWxmLmFzc2VydERyaXZlclN0YXJ0U3VjY2Vzc2Z1bChkcml2
ZXIsIGV4cGVjdGVkX2xvZ3M9ZXhwZWN0ZWRfbG9ncywgZXhwZWN0ZWRfZGlzcGxheT0iOjEiKQog
ICAgICAgICBzZWxmLmNsZWFudXBfZHJpdmVyKGRyaXZlcikKIAogICAgIGRlZiB0ZXN0X3N0YXJ0
X2FyYml0cmFyeV93b3JrZXJfbnVtYmVyKHNlbGYpOgogICAgICAgICBkcml2ZXIgPSBzZWxmLm1h
a2VfZHJpdmVyKHdvcmtlcl9udW1iZXI9MTcpCi0gICAgICAgIGV4cGVjdGVkX2xvZ3MgPSAoIk1P
Q0sgcG9wZW46IFsnWHZmYicsICctZGlzcGxheWZkJywgJzQnLCAnLXNjcmVlbicsICcwJywgJzEw
MjR4NzY4eDI0JywgJy1ub2xpc3RlbicsICd0Y3AnXSwgZW52PSVzXG4iICUgZHJpdmVyLl9lbnZp
cm9ubWVudCkKKyAgICAgICAgZXhwZWN0ZWRfbG9ncyA9ICgiTU9DSyBwb3BlbjogWydYdmZiJywg
Jy1kaXNwbGF5ZmQnLCAnNCcsICctc2NyZWVuJywgJzAnLCAnMTAyNHg3Njh4MjQnLCAnLW5vbGlz
dGVuJywgJ3RjcCddLCBlbnY9JXNcbiIgJSBkcml2ZXIuX3BvcnRfc2VydmVyX2Vudmlyb25tZW50
KQogICAgICAgICBzZWxmLmFzc2VydERyaXZlclN0YXJ0U3VjY2Vzc2Z1bChkcml2ZXIsIGV4cGVj
dGVkX2xvZ3M9ZXhwZWN0ZWRfbG9ncywgZXhwZWN0ZWRfZGlzcGxheT0iOjEiLCBwaXhlbF90ZXN0
cz1UcnVlKQogICAgICAgICBzZWxmLmNsZWFudXBfZHJpdmVyKGRyaXZlcikKIApkaWZmIC0tZ2l0
IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS93ZWJkcml2ZXJfdGVzdHMvd2ViZHJpdmVyX3Rlc3Rf
cnVubmVyLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS93ZWJkcml2ZXJfdGVzdHMvd2ViZHJp
dmVyX3Rlc3RfcnVubmVyLnB5CmluZGV4IGY5ZTYxMzNmNTFjNjM1ZTgzMjMzYmM2YTUwNzk2ZTAx
NGJmZDY0ZDQuLmRiZTdmZWRjMjA5ZjE3NTUzODQ3OTY2ZmZiMWIzMmM1MzM4ZmE4ZGEgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvd2ViZHJpdmVyX3Rlc3RzL3dlYmRyaXZlcl90
ZXN0X3J1bm5lci5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3dlYmRyaXZlcl90ZXN0
cy93ZWJkcml2ZXJfdGVzdF9ydW5uZXIucHkKQEAgLTYwLDYgKzYwLDcgQEAgY2xhc3MgV2ViRHJp
dmVyVGVzdFJ1bm5lcihvYmplY3QpOgogICAgICAgICAgICAgaWYgbm90IG9zLnBhdGguaXNmaWxl
KG9zLnBhdGguam9pbihzZWxmLl90ZXN0c19kaXIsIHRlc3QpKToKICAgICAgICAgICAgICAgICBf
bG9nLndhcm5pbmcoJ1Rlc3QgJXMgZG9lcyBub3QgZXhpc3QnICUgdGVzdCkKIAorICAgICAgICBz
ZWxmLl9kaXNwbGF5X2RyaXZlci5zdGFydChGYWxzZSwgW10pCiAgICAgICAgIGVudiA9IHNlbGYu
X2Rpc3BsYXlfZHJpdmVyLl9zZXR1cF9lbnZpcm9uX2Zvcl90ZXN0KCkKICAgICAgICAgc2VsZi5f
cnVubmVycyA9IFtydW5uZXJfY2xzKHNlbGYuX3BvcnQsIGRyaXZlciwgZW52LCBzZWxmLl9leHBl
Y3RhdGlvbnMpIGZvciBydW5uZXJfY2xzIGluIHNlbGYuUlVOTkVSX0NMQVNTRVNdCiAKZGlmZiAt
LWdpdCBhL1Rvb2xzL2dsaWIvYXBpX3Rlc3RfcnVubmVyLnB5IGIvVG9vbHMvZ2xpYi9hcGlfdGVz
dF9ydW5uZXIucHkKaW5kZXggNWY4MDlkNDUxODE4YTIyZGEyMzEwZTk0MjA3ODhkNjBjMGE5ODli
Mi4uMGE3MmQyYTZkZmZmZTBjMTEzNTI5MzNiNTc3OGM1MDgwOGU2NzBkZSAxMDA3NTUKLS0tIGEv
VG9vbHMvZ2xpYi9hcGlfdGVzdF9ydW5uZXIucHkKKysrIGIvVG9vbHMvZ2xpYi9hcGlfdGVzdF9y
dW5uZXIucHkKQEAgLTEwNSw2ICsxMDUsNyBAQCBjbGFzcyBUZXN0UnVubmVyKG9iamVjdCk6CiAg
ICAgICAgIHJldHVybiBkcml2ZXIKIAogICAgIGRlZiBfc2V0dXBfdGVzdGluZ19lbnZpcm9ubWVu
dChzZWxmKToKKyAgICAgICAgc2VsZi5fZHJpdmVyLnN0YXJ0KEZhbHNlLCBbXSkKICAgICAgICAg
c2VsZi5fdGVzdF9lbnYgPSBzZWxmLl9kcml2ZXIuX3NldHVwX2Vudmlyb25fZm9yX3Rlc3QoKQog
ICAgICAgICBzZWxmLl90ZXN0X2VudlsiVEVTVF9XRUJLSVRfQVBJX1dFQktJVDJfUkVTT1VSQ0VT
X1BBVEgiXSA9IGNvbW1vbi50b3BfbGV2ZWxfcGF0aCgiVG9vbHMiLCAiVGVzdFdlYktpdEFQSSIs
ICJUZXN0cyIsICJXZWJLaXQiKQogICAgICAgICBzZWxmLl90ZXN0X2VudlsiVEVTVF9XRUJLSVRf
QVBJX1dFQktJVDJfSU5KRUNURURfQlVORExFX1BBVEgiXSA9IGNvbW1vbi5saWJyYXJ5X2J1aWxk
X3BhdGgoKQo=
</data>
<flag name="review"
          id="390098"
          type_id="1"
          status="+"
          setter="mcatanzaro"
    />
    <flag name="commit-queue"
          id="390163"
          type_id="3"
          status="-"
          setter="cgarcia"
    />
          </attachment>
      

    </bug>

</bugzilla>