<?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>226710</bug_id>
          
          <creation_ts>2021-06-07 00:37:05 -0700</creation_ts>
          <short_desc>run-webkit-tests: TaskPool reports PicklingError for Windows Python</short_desc>
          <delta_ts>2021-06-08 13:17:21 -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=226702</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="Fujii Hironori">fujii</reporter>
          <assigned_to name="Fujii Hironori">fujii</assigned_to>
          <cc>don.olmstead</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gsnedders</cc>
    
    <cc>jbedard</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1767332</commentid>
    <comment_count>0</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2021-06-07 00:37:05 -0700</bug_when>
    <thetext>Windows Python 2.7 fails to run-webkit-tests: PicklingError: Can&apos;t pickle &lt;class &apos;webkitpy.common.system.executive.WrappedPopen&apos;&gt;: it&apos;s not found as webkitpy.common.system.executive.WrappedPopen

Since r278454 (Bug 226234)

PS C:\home\webkit\gc&gt; python.exe ./Tools/Scripts/run-webkit-tests --wincairo --debug
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LC_ALL = &quot;en_US.UTF-8&quot;,
        LC_MESSAGES = &quot;en_US.UTF-8&quot;,
        LANG = &quot;en_US.UTF-8&quot;
    are supported and installed on your system.
perl: warning: Falling back to the standard locale (&quot;C&quot;).
Using port &apos;wincairo-win10-wk2&apos;
Test configuration: &lt;win10, x86_64, debug&gt;
Placing test results in C:\home\webkit\gc\WebKitBuild\Debug\bin64\layout-test-results
Using Debug build
Pixel tests disabled
Regular timeout: 30000, slow test timeout: 150000
Command line: C:\home\webkit\gc\WebKitBuild\Debug\bin64\WebKitTestRunner.exe -

Found 71450 tests; running 17972, skipping 53478.

Verbose baseline search path: platform\wincairo-win10-wk2 -&gt; platform\wincairo-win10 -&gt; platform\wincairo-wk2 -&gt; platform\wincairo -&gt; platform\wk2 -&gt; generic

Baseline search path: platform\wincairo -&gt; platform\wk2 -&gt; generic

Running 17972 tests

The _NT_SYMBOL_PATH environment variable is not set. Using Microsoft Symbol Server.
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LC_ALL = &quot;en_US.UTF-8&quot;,
        LC_MESSAGES = &quot;en_US.UTF-8&quot;,
        LANG = &quot;en_US.UTF-8&quot;
    are supported and installed on your system.
perl: warning: Falling back to the standard locale (&quot;C&quot;).
Running 16 WebKitTestRunners in parallel.

Starting 16 workers ...Traceback (most recent call last):
  File &quot;&lt;string&gt;&quot;, line 1, in &lt;module&gt;
  File &quot;C:\Python27\lib\multiprocessing\forking.py&quot;, line 380, in main

PicklingError raised: Can&apos;t pickle &lt;class &apos;webkitpy.common.system.executive.WrappedPopen&apos;&gt;: it&apos;s not found as webkitpy.common.system.executive.WrappedPopen
Traceback (most recent call last):
  File &quot;C:\home\webkit\gc\Tools\Scripts\webkitpy\layout_tests\run_webkit_tests.py&quot;, line 92, in main
    prepare(preparation_data)
  File &quot;C:\Python27\lib\multiprocessing\forking.py&quot;, line 504, in prepare
    file, path_name, etc = imp.find_module(main_name, dirs)
ImportError: No module named run-webkit-tests    run_details = run(port, options, args, stderr)

 File &quot;C:\home\webkit\gc\Tools\Scripts\webkitpy\layout_tests\run_webkit_tests.py&quot;, line 487, in run
    run_details = manager.run(args)
  File &quot;C:\home\webkit\gc\Tools\Scripts\webkitpy\layout_tests\controllers\manager.py&quot;, line 408, in run
    temp_initial_results, temp_retry_results, temp_enabled_pixel_tests_in_retry = self._run_test_subset(test_inputs, device_type=device_type)
  File &quot;C:\home\webkit\gc\Tools\Scripts\webkitpy\layout_tests\controllers\manager.py&quot;, line 482, in _run_test_subset
    initial_results = self._run_tests(test_inputs, self._options.repeat_each, self._options.iterations, int(self._options.child_processes), retrying=False, device_type=device_type)
  File &quot;C:\home\webkit\gc\Tools\Scripts\webkitpy\layout_tests\controllers\manager.py&quot;, line 561, in _run_tests
    return self._runner.run_tests(self._expectations[device_type], new_test_inputs, num_workers, retrying, device_type)
  File &quot;C:\home\webkit\gc\Tools\Scripts\webkitpy\layout_tests\controllers\layout_test_runner.py&quot;, line 172, in run_tests
    ), teardown=teardown_shard,
  File &quot;C:\home\webkit\gc\Tools\Scripts\libraries\webkitcorepy\webkitcorepy\task_pool.py&quot;, line 388, in __enter__
    worker.start()
  File &quot;C:\Python27\lib\multiprocessing\process.py&quot;, line 130, in start
    self._popen = Popen(self)
  File &quot;C:\Python27\lib\multiprocessing\forking.py&quot;, line 277, in __init__
    dump(process_obj, to_child, HIGHEST_PROTOCOL)
  File &quot;C:\Python27\lib\multiprocessing\forking.py&quot;, line 199, in dump
    ForkingPickler(file, protocol).dump(obj)
  File &quot;C:\Python27\lib\pickle.py&quot;, line 224, in dump
    self.save(obj)
  File &quot;C:\Python27\lib\pickle.py&quot;, line 331, in save
    self.save_reduce(obj=obj, *rv)
  File &quot;C:\Python27\lib\pickle.py&quot;, line 425, in save_reduce
    save(state)
  File &quot;C:\Python27\lib\pickle.py&quot;, line 286, in save
    f(self, obj) # Call unbound method with explicit self
  File &quot;C:\Python27\lib\pickle.py&quot;, line 655, in save_dict
    self._batch_setitems(obj.iteritems())
  File &quot;C:\Python27\lib\pickle.py&quot;, line 687, in _batch_setitems
    save(v)
  File &quot;C:\Python27\lib\pickle.py&quot;, line 286, in save
    f(self, obj) # Call unbound method with explicit self
  File &quot;C:\Python27\lib\pickle.py&quot;, line 568, in save_tuple
    save(element)
  File &quot;C:\Python27\lib\pickle.py&quot;, line 286, in save
    f(self, obj) # Call unbound method with explicit self
  File &quot;C:\Python27\lib\pickle.py&quot;, line 655, in save_dict
    self._batch_setitems(obj.iteritems())
  File &quot;C:\Python27\lib\pickle.py&quot;, line 687, in _batch_setitems
    save(v)
  File &quot;C:\Python27\lib\pickle.py&quot;, line 331, in save
    self.save_reduce(obj=obj, *rv)
  File &quot;C:\Python27\lib\pickle.py&quot;, line 425, in save_reduce
    save(state)
  File &quot;C:\Python27\lib\pickle.py&quot;, line 286, in save
    f(self, obj) # Call unbound method with explicit self
  File &quot;C:\Python27\lib\pickle.py&quot;, line 655, in save_dict
    self._batch_setitems(obj.iteritems())
  File &quot;C:\Python27\lib\pickle.py&quot;, line 687, in _batch_setitems
    save(v)
  File &quot;C:\Python27\lib\pickle.py&quot;, line 331, in save
    self.save_reduce(obj=obj, *rv)
  File &quot;C:\Python27\lib\pickle.py&quot;, line 425, in save_reduce
    save(state)
  File &quot;C:\Python27\lib\pickle.py&quot;, line 286, in save
    f(self, obj) # Call unbound method with explicit self
  File &quot;C:\Python27\lib\pickle.py&quot;, line 655, in save_dict
    self._batch_setitems(obj.iteritems())
  File &quot;C:\Python27\lib\pickle.py&quot;, line 687, in _batch_setitems
    save(v)
  File &quot;C:\Python27\lib\pickle.py&quot;, line 331, in save
    self.save_reduce(obj=obj, *rv)
  File &quot;C:\Python27\lib\pickle.py&quot;, line 396, in save_reduce
    save(cls)
  File &quot;C:\Python27\lib\pickle.py&quot;, line 286, in save
    f(self, obj) # Call unbound method with explicit self
  File &quot;C:\Python27\lib\pickle.py&quot;, line 754, in save_global
    (obj, module, name))
PicklingError: Can&apos;t pickle &lt;class &apos;webkitpy.common.system.executive.WrappedPopen&apos;&gt;: it&apos;s not found as webkitpy.common.system.executive.WrappedPopen
Stopping Web Platform Test server ...
PS C:\home\webkit\gc&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1767454</commentid>
    <comment_count>1</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-06-07 08:37:56 -0700</bug_when>
    <thetext>There is probably something on the port object we can&apos;t pickle. It&apos;s hard for me to fix this without a Windows machine, it&apos;s probably pretty straight forward, though (we had a similar problem with the helper object)

I&apos;ve done this in the past with something like this:

def find_non_pickleable(obj):
    for name, value in obj.__dict__.items():
        try:
            pickle.dumps(obj)
        except pickle.PicklingError:
            print(&apos;{} is not pickleable&apos;.format(name))
            find_non_pickleable(obj)

Actually, Sam Sneddon said they might have a partial fix for this somewhere</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1767560</commentid>
    <comment_count>2</comment_count>
      <attachid>430783</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2021-06-07 14:49:43 -0700</bug_when>
    <thetext>Created attachment 430783
WIP patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1767561</commentid>
    <comment_count>3</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2021-06-07 14:50:26 -0700</bug_when>
    <thetext>One more error...

Starting 16 workers ...Traceback (most recent call last):
  File &quot;&lt;string&gt;&quot;, line 1, in &lt;module&gt;

  File &quot;C:\Python27\lib\multiprocessing\forking.py&quot;, line 380, in main
PicklingError raised: Can&apos;t pickle &apos;_subprocess_handle&apos; object: &lt;_subprocess_handle object at 0x00000000080AA2B0&gt;
    Tprepare(preparation_data)
raceback (most recent call last):
  File &quot;C:\Python27\lib\multiprocessing\forking.py&quot;, line 504, in prepare
  File &quot;C:\home\webkit\gc\Tools\Scripts\webkitpy\layout_tests\run_webkit_tests.py&quot;, line 92, in main
    file, path_name, etc = imp.find_module(main_name, dirs)
    run_details = run(port, options, args, stderr)
ImportError:   File &quot;C:\home\webkit\gc\Tools\Scripts\webkitpy\layout_tests\run_webkit_tests.py&quot;, line 487, in run
No module named run-webkit-tests
    run_details = manager.run(args)
  File &quot;C:\home\webkit\gc\Tools\Scripts\webkitpy\layout_tests\controllers\manager.py&quot;, line 408, in run
    temp_initial_results, temp_retry_results, temp_enabled_pixel_tests_in_retry = self._run_test_subset(test_inputs, device_type=device_type)
  File &quot;C:\home\webkit\gc\Tools\Scripts\webkitpy\layout_tests\controllers\manager.py&quot;, line 482, in _run_test_subset
    initial_results = self._run_tests(test_inputs, self._options.repeat_each, self._options.iterations, int(self._options.child_processes), retrying=False, device_type=device_type)
  File &quot;C:\home\webkit\gc\Tools\Scripts\webkitpy\layout_tests\controllers\manager.py&quot;, line 561, in _run_tests
    return self._runner.run_tests(self._expectations[device_type], new_test_inputs, num_workers, retrying, device_type)
  File &quot;C:\home\webkit\gc\Tools\Scripts\webkitpy\layout_tests\controllers\layout_test_runner.py&quot;, line 172, in run_tests
    ), teardown=teardown_shard,
  File &quot;C:\home\webkit\gc\Tools\Scripts\libraries\webkitcorepy\webkitcorepy\task_pool.py&quot;, line 388, in __enter__
    worker.start()
  File &quot;C:\Python27\lib\multiprocessing\process.py&quot;, line 130, in start
    self._popen = Popen(self)
  File &quot;C:\Python27\lib\multiprocessing\forking.py&quot;, line 277, in __init__
    dump(process_obj, to_child, HIGHEST_PROTOCOL)
  File &quot;C:\Python27\lib\multiprocessing\forking.py&quot;, line 199, in dump
    ForkingPickler(file, protocol).dump(obj)
  File &quot;C:\Python27\lib\pickle.py&quot;, line 224, in dump
    self.save(obj)
  File &quot;C:\Python27\lib\pickle.py&quot;, line 331, in save
    self.save_reduce(obj=obj, *rv)
  File &quot;C:\Python27\lib\pickle.py&quot;, line 425, in save_reduce
    save(state)
  File &quot;C:\Python27\lib\pickle.py&quot;, line 286, in save
    f(self, obj) # Call unbound method with explicit self
  File &quot;C:\Python27\lib\pickle.py&quot;, line 655, in save_dict
    self._batch_setitems(obj.iteritems())
  File &quot;C:\Python27\lib\pickle.py&quot;, line 687, in _batch_setitems
    save(v)
  File &quot;C:\Python27\lib\pickle.py&quot;, line 286, in save
    f(self, obj) # Call unbound method with explicit self
  File &quot;C:\Python27\lib\pickle.py&quot;, line 568, in save_tuple
    save(element)
  File &quot;C:\Python27\lib\pickle.py&quot;, line 286, in save
    f(self, obj) # Call unbound method with explicit self
  File &quot;C:\Python27\lib\pickle.py&quot;, line 655, in save_dict
    self._batch_setitems(obj.iteritems())
  File &quot;C:\Python27\lib\pickle.py&quot;, line 687, in _batch_setitems
    save(v)
  File &quot;C:\Python27\lib\pickle.py&quot;, line 331, in save
    self.save_reduce(obj=obj, *rv)
  File &quot;C:\Python27\lib\pickle.py&quot;, line 425, in save_reduce
    save(state)
  File &quot;C:\Python27\lib\pickle.py&quot;, line 286, in save
    f(self, obj) # Call unbound method with explicit self
  File &quot;C:\Python27\lib\pickle.py&quot;, line 655, in save_dict
    self._batch_setitems(obj.iteritems())
  File &quot;C:\Python27\lib\pickle.py&quot;, line 687, in _batch_setitems
    save(v)
  File &quot;C:\Python27\lib\pickle.py&quot;, line 331, in save
    self.save_reduce(obj=obj, *rv)
  File &quot;C:\Python27\lib\pickle.py&quot;, line 425, in save_reduce
    save(state)
  File &quot;C:\Python27\lib\pickle.py&quot;, line 286, in save
    f(self, obj) # Call unbound method with explicit self
  File &quot;C:\Python27\lib\pickle.py&quot;, line 655, in save_dict
    self._batch_setitems(obj.iteritems())
  File &quot;C:\Python27\lib\pickle.py&quot;, line 687, in _batch_setitems
    save(v)
  File &quot;C:\Python27\lib\pickle.py&quot;, line 331, in save
    self.save_reduce(obj=obj, *rv)
  File &quot;C:\Python27\lib\pickle.py&quot;, line 425, in save_reduce
    save(state)
  File &quot;C:\Python27\lib\pickle.py&quot;, line 286, in save
    f(self, obj) # Call unbound method with explicit self
  File &quot;C:\Python27\lib\pickle.py&quot;, line 655, in save_dict
    self._batch_setitems(obj.iteritems())
  File &quot;C:\Python27\lib\pickle.py&quot;, line 687, in _batch_setitems
    save(v)
  File &quot;C:\Python27\lib\pickle.py&quot;, line 313, in save
    (t.__name__, obj))
PicklingError: Can&apos;t pickle &apos;_subprocess_handle&apos; object: &lt;_subprocess_handle object at 0x00000000080AA2B0&gt;
Stopping Web Platform Test server ...
PS C:\home\webkit\gc&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1767602</commentid>
    <comment_count>4</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2021-06-07 16:59:37 -0700</bug_when>
    <thetext>find_non_pickleable reports two messages:

&gt; pretty_patch is not pickleable

&gt; RuntimeError raised: maximum recursion depth exceeded while getting the repr of an object</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1767605</commentid>
    <comment_count>5</comment_count>
      <attachid>430792</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2021-06-07 17:22:41 -0700</bug_when>
    <thetext>Created attachment 430792
find_non_pickleable patch

I fixed find_non_pickleable, Then I got

_web_platform_test_server is not pickleable
_websocket_server_temporary_directory is not pickleable
_websocket_secure_server is not pickleable</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1767615</commentid>
    <comment_count>6</comment_count>
      <attachid>430794</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2021-06-07 17:46:10 -0700</bug_when>
    <thetext>Created attachment 430794
WIP patch

- Made _web_platform_test_server, _websocket_server_temporary_directory, and _websocket_secure_server class members</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1767616</commentid>
    <comment_count>7</comment_count>
      <attachid>430795</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2021-06-07 17:50:06 -0700</bug_when>
    <thetext>Created attachment 430795
error message

Still no luck.

&gt; ImportError: No module named run-webkit-tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1767618</commentid>
    <comment_count>8</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2021-06-07 17:53:57 -0700</bug_when>
    <thetext>*** Bug 226702 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1767634</commentid>
    <comment_count>9</comment_count>
      <attachid>430799</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2021-06-07 19:09:37 -0700</bug_when>
    <thetext>Created attachment 430799
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1767777</commentid>
    <comment_count>10</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-06-08 07:49:10 -0700</bug_when>
    <thetext>(In reply to Fujii Hironori from comment #7)
&gt; Created attachment 430795 [details]
&gt; error message
&gt; 
&gt; Still no luck.
&gt; 
&gt; &gt; ImportError: No module named run-webkit-tests

That&apos;s a weird import error, since run-webkit-tests is the name of the entry point, not a module.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1767865</commentid>
    <comment_count>11</comment_count>
      <attachid>430799</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2021-06-08 12:58:14 -0700</bug_when>
    <thetext>Comment on attachment 430799
Patch

Clearing flags on attachment: 430799

Committed r278624 (238609@main): &lt;https://commits.webkit.org/238609@main&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1767866</commentid>
    <comment_count>12</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2021-06-08 12:58:18 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1767867</commentid>
    <comment_count>13</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-06-08 12:59:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/79029277&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1767875</commentid>
    <comment_count>14</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2021-06-08 13:17:21 -0700</bug_when>
    <thetext>(In reply to Fujii Hironori from comment #7)
&gt; &gt; ImportError: No module named run-webkit-tests

Filed a new ticket for it.
  Bug 226777 – Windows Python 2.7 fails to start run-webkit-tests due to &quot;ImportError: No module named run-webkit-tests&quot;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>430783</attachid>
            <date>2021-06-07 14:49:43 -0700</date>
            <delta_ts>2021-06-07 17:46:10 -0700</delta_ts>
            <desc>WIP patch</desc>
            <filename>e.diff</filename>
            <type>text/plain</type>
            <size>1851</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3N5c3RlbS9leGVjdXRp
dmUucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0ZW0vZXhlY3V0aXZlLnB5
CmluZGV4IDI5ZDY4ZmEyNjQ5ZS4uNTU1NmM0NDUwNGQ3IDEwMDY0NAotLS0gYS9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0ZW0vZXhlY3V0aXZlLnB5CisrKyBiL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvY29tbW9uL3N5c3RlbS9leGVjdXRpdmUucHkKQEAgLTgxLDIyICs4MSwyMyBA
QCBjbGFzcyBTY3JpcHRFcnJvcihFeGNlcHRpb24pOgogICAgICAgICByZXR1cm4gb3MucGF0aC5i
YXNlbmFtZShjb21tYW5kX3BhdGgpCiAKIAotY2xhc3MgRXhlY3V0aXZlKEFic3RyYWN0RXhlY3V0
aXZlKToKLSAgICBQSVBFID0gc3VicHJvY2Vzcy5QSVBFCi0gICAgU1RET1VUID0gc3VicHJvY2Vz
cy5TVERPVVQKK2NsYXNzIFdyYXBwZWRQb3BlbihvYmplY3QpOgorICAgIGRlZiBfX2luaXRfXyhz
ZWxmLCBwb3Blbik6CisgICAgICAgIGZvciBhdHRyaWJ1dGUgaW4gZGlyKHBvcGVuKToKKyAgICAg
ICAgICAgIGlmIGF0dHJpYnV0ZS5zdGFydHN3aXRoKCdfXycpOgorICAgICAgICAgICAgICAgIGNv
bnRpbnVlCisgICAgICAgICAgICBzZXRhdHRyKHNlbGYsIGF0dHJpYnV0ZSwgZ2V0YXR0cihwb3Bl
biwgYXR0cmlidXRlKSkKKworICAgIGRlZiBfX2VudGVyX18oc2VsZik6CisgICAgICAgIHJldHVy
biBzZWxmCiAKLSAgICBjbGFzcyBXcmFwcGVkUG9wZW4ob2JqZWN0KToKLSAgICAgICAgZGVmIF9f
aW5pdF9fKHNlbGYsIHBvcGVuKToKLSAgICAgICAgICAgIGZvciBhdHRyaWJ1dGUgaW4gZGlyKHBv
cGVuKToKLSAgICAgICAgICAgICAgICBpZiBhdHRyaWJ1dGUuc3RhcnRzd2l0aCgnX18nKToKLSAg
ICAgICAgICAgICAgICAgICAgY29udGludWUKLSAgICAgICAgICAgICAgICBzZXRhdHRyKHNlbGYs
IGF0dHJpYnV0ZSwgZ2V0YXR0cihwb3BlbiwgYXR0cmlidXRlKSkKKyAgICBkZWYgX19leGl0X18o
c2VsZiwgKmFyZ3MpOgorICAgICAgICBzZWxmLndhaXQoKQogCi0gICAgICAgIGRlZiBfX2VudGVy
X18oc2VsZik6Ci0gICAgICAgICAgICByZXR1cm4gc2VsZgogCi0gICAgICAgIGRlZiBfX2V4aXRf
XyhzZWxmLCAqYXJncyk6Ci0gICAgICAgICAgICBzZWxmLndhaXQoKQorY2xhc3MgRXhlY3V0aXZl
KEFic3RyYWN0RXhlY3V0aXZlKToKKyAgICBQSVBFID0gc3VicHJvY2Vzcy5QSVBFCisgICAgU1RE
T1VUID0gc3VicHJvY2Vzcy5TVERPVVQKIAogICAgIGRlZiBfX2luaXRfXyhzZWxmKToKICAgICAg
ICAgc2VsZi5waWRfdG9fc3lzdGVtX3BpZCA9IHt9CkBAIC01MzQsNyArNTM1LDcgQEAgY2xhc3Mg
RXhlY3V0aXZlKEFic3RyYWN0RXhlY3V0aXZlKToKICAgICAgICAgIyBQeXRob24gMyB0cmVhdHMg
UG9wZW4gYXMgYSBjb250ZXh0IG1hbmFnZXIsIHdlIHNob3VsZCBhbGxvdyB0aGlzIGluIFB5dGhv
biAyCiAgICAgICAgIHJlc3VsdCA9IHN1YnByb2Nlc3MuUG9wZW4oc3RyaW5nX2FyZ3MsIGVudj1l
bnYsICoqa3dhcmdzKQogICAgICAgICBpZiBub3QgY2FsbGFibGUoZ2V0YXR0cihyZXN1bHQsICJf
X2VudGVyX18iLCBOb25lKSkgYW5kIG5vdCBjYWxsYWJsZShnZXRhdHRyKHJlc3VsdCwgIl9fZXhp
dF9fIiwgTm9uZSkpOgotICAgICAgICAgICAgcmV0dXJuIHNlbGYuV3JhcHBlZFBvcGVuKHJlc3Vs
dCkKKyAgICAgICAgICAgIHJldHVybiBXcmFwcGVkUG9wZW4ocmVzdWx0KQogICAgICAgICByZXR1
cm4gcmVzdWx0CiAKICAgICBkZWYgcnVuX2luX3BhcmFsbGVsKHNlbGYsIGNvbW1hbmRfbGluZXNf
YW5kX2N3ZHMsIHByb2Nlc3Nlcz1Ob25lKToK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>430792</attachid>
            <date>2021-06-07 17:22:41 -0700</date>
            <delta_ts>2021-06-07 17:46:10 -0700</delta_ts>
            <desc>find_non_pickleable patch</desc>
            <filename>a.diff</filename>
            <type>text/plain</type>
            <size>1081</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xs
ZXJzL2xheW91dF90ZXN0X3J1bm5lci5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0
X3Rlc3RzL2NvbnRyb2xsZXJzL2xheW91dF90ZXN0X3J1bm5lci5weQppbmRleCA0YzQ0MmQ1MjI0
MjcuLjIyOGE5YTEwZDY4OSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlv
dXRfdGVzdHMvY29udHJvbGxlcnMvbGF5b3V0X3Rlc3RfcnVubmVyLnB5CisrKyBiL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL2xheW91dF90ZXN0X3J1bm5l
ci5weQpAQCAtNDksNiArNDksMTMgQEAgX2xvZyA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKF9fbmFtZV9f
KQogCiBUZXN0RXhwZWN0YXRpb25zID0gdGVzdF9leHBlY3RhdGlvbnMuVGVzdEV4cGVjdGF0aW9u
cwogCitkZWYgZmluZF9ub25fcGlja2xlYWJsZShvYmopOgorICAgIGltcG9ydCBwaWNrbGUKKyAg
ICBmb3IgbmFtZSwgdmFsdWUgaW4gb2JqLl9fZGljdF9fLml0ZW1zKCk6CisgICAgICAgIHRyeToK
KyAgICAgICAgICAgIHBpY2tsZS5kdW1wcyh2YWx1ZSkKKyAgICAgICAgZXhjZXB0IHBpY2tsZS5Q
aWNrbGluZ0Vycm9yOgorICAgICAgICAgICAgcHJpbnQoJ3t9IGlzIG5vdCBwaWNrbGVhYmxlJy5m
b3JtYXQobmFtZSkpCiAKIGRlZiBzZXR1cF9zaGFyZChwb3J0PU5vbmUsIHJlc3VsdHNfZGlyZWN0
b3J5PU5vbmUsIGRldmljZXM9Tm9uZSwgcmV0cnlpbmc9RmFsc2UpOgogICAgIGlmIGRldmljZXMg
YW5kIGdldGF0dHIocG9ydCwgJ0RFVklDRV9NQU5BR0VSJywgTm9uZSk6CkBAIC0xNjEsNiArMTY4
LDcgQEAgY2xhc3MgTGF5b3V0VGVzdFJ1bm5lcihvYmplY3QpOgogICAgICAgICAgICAgKQogCiAg
ICAgICAgIHRyeToKKyAgICAgICAgICAgIGZpbmRfbm9uX3BpY2tsZWFibGUoc2VsZi5fcG9ydCkK
ICAgICAgICAgICAgIExheW91dFRlc3RSdW5uZXIuaW5zdGFuY2UgPSBzZWxmCiAgICAgICAgICAg
ICB3aXRoIFRhc2tQb29sKAogICAgICAgICAgICAgICAgIHdvcmtlcnM9bnVtX3dvcmtlcnMsCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>430794</attachid>
            <date>2021-06-07 17:46:10 -0700</date>
            <delta_ts>2021-06-07 19:09:25 -0700</delta_ts>
            <desc>WIP patch</desc>
            <filename>a.diff</filename>
            <type>text/plain</type>
            <size>9439</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3N5c3RlbS9leGVjdXRp
dmUucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0ZW0vZXhlY3V0aXZlLnB5
CmluZGV4IDI5ZDY4ZmEyNjQ5ZS4uNTU1NmM0NDUwNGQ3IDEwMDY0NAotLS0gYS9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0ZW0vZXhlY3V0aXZlLnB5CisrKyBiL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvY29tbW9uL3N5c3RlbS9leGVjdXRpdmUucHkKQEAgLTgxLDIyICs4MSwyMyBA
QCBjbGFzcyBTY3JpcHRFcnJvcihFeGNlcHRpb24pOgogICAgICAgICByZXR1cm4gb3MucGF0aC5i
YXNlbmFtZShjb21tYW5kX3BhdGgpCiAKIAotY2xhc3MgRXhlY3V0aXZlKEFic3RyYWN0RXhlY3V0
aXZlKToKLSAgICBQSVBFID0gc3VicHJvY2Vzcy5QSVBFCi0gICAgU1RET1VUID0gc3VicHJvY2Vz
cy5TVERPVVQKK2NsYXNzIFdyYXBwZWRQb3BlbihvYmplY3QpOgorICAgIGRlZiBfX2luaXRfXyhz
ZWxmLCBwb3Blbik6CisgICAgICAgIGZvciBhdHRyaWJ1dGUgaW4gZGlyKHBvcGVuKToKKyAgICAg
ICAgICAgIGlmIGF0dHJpYnV0ZS5zdGFydHN3aXRoKCdfXycpOgorICAgICAgICAgICAgICAgIGNv
bnRpbnVlCisgICAgICAgICAgICBzZXRhdHRyKHNlbGYsIGF0dHJpYnV0ZSwgZ2V0YXR0cihwb3Bl
biwgYXR0cmlidXRlKSkKKworICAgIGRlZiBfX2VudGVyX18oc2VsZik6CisgICAgICAgIHJldHVy
biBzZWxmCiAKLSAgICBjbGFzcyBXcmFwcGVkUG9wZW4ob2JqZWN0KToKLSAgICAgICAgZGVmIF9f
aW5pdF9fKHNlbGYsIHBvcGVuKToKLSAgICAgICAgICAgIGZvciBhdHRyaWJ1dGUgaW4gZGlyKHBv
cGVuKToKLSAgICAgICAgICAgICAgICBpZiBhdHRyaWJ1dGUuc3RhcnRzd2l0aCgnX18nKToKLSAg
ICAgICAgICAgICAgICAgICAgY29udGludWUKLSAgICAgICAgICAgICAgICBzZXRhdHRyKHNlbGYs
IGF0dHJpYnV0ZSwgZ2V0YXR0cihwb3BlbiwgYXR0cmlidXRlKSkKKyAgICBkZWYgX19leGl0X18o
c2VsZiwgKmFyZ3MpOgorICAgICAgICBzZWxmLndhaXQoKQogCi0gICAgICAgIGRlZiBfX2VudGVy
X18oc2VsZik6Ci0gICAgICAgICAgICByZXR1cm4gc2VsZgogCi0gICAgICAgIGRlZiBfX2V4aXRf
XyhzZWxmLCAqYXJncyk6Ci0gICAgICAgICAgICBzZWxmLndhaXQoKQorY2xhc3MgRXhlY3V0aXZl
KEFic3RyYWN0RXhlY3V0aXZlKToKKyAgICBQSVBFID0gc3VicHJvY2Vzcy5QSVBFCisgICAgU1RE
T1VUID0gc3VicHJvY2Vzcy5TVERPVVQKIAogICAgIGRlZiBfX2luaXRfXyhzZWxmKToKICAgICAg
ICAgc2VsZi5waWRfdG9fc3lzdGVtX3BpZCA9IHt9CkBAIC01MzQsNyArNTM1LDcgQEAgY2xhc3Mg
RXhlY3V0aXZlKEFic3RyYWN0RXhlY3V0aXZlKToKICAgICAgICAgIyBQeXRob24gMyB0cmVhdHMg
UG9wZW4gYXMgYSBjb250ZXh0IG1hbmFnZXIsIHdlIHNob3VsZCBhbGxvdyB0aGlzIGluIFB5dGhv
biAyCiAgICAgICAgIHJlc3VsdCA9IHN1YnByb2Nlc3MuUG9wZW4oc3RyaW5nX2FyZ3MsIGVudj1l
bnYsICoqa3dhcmdzKQogICAgICAgICBpZiBub3QgY2FsbGFibGUoZ2V0YXR0cihyZXN1bHQsICJf
X2VudGVyX18iLCBOb25lKSkgYW5kIG5vdCBjYWxsYWJsZShnZXRhdHRyKHJlc3VsdCwgIl9fZXhp
dF9fIiwgTm9uZSkpOgotICAgICAgICAgICAgcmV0dXJuIHNlbGYuV3JhcHBlZFBvcGVuKHJlc3Vs
dCkKKyAgICAgICAgICAgIHJldHVybiBXcmFwcGVkUG9wZW4ocmVzdWx0KQogICAgICAgICByZXR1
cm4gcmVzdWx0CiAKICAgICBkZWYgcnVuX2luX3BhcmFsbGVsKHNlbGYsIGNvbW1hbmRfbGluZXNf
YW5kX2N3ZHMsIHByb2Nlc3Nlcz1Ob25lKToKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL2xheW91dF90ZXN0X3J1bm5lci5weSBiL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL2xheW91dF90ZXN0
X3J1bm5lci5weQppbmRleCA0YzQ0MmQ1MjI0MjcuLjIyOGE5YTEwZDY4OSAxMDA2NDQKLS0tIGEv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbGF5b3V0X3Rl
c3RfcnVubmVyLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2Nv
bnRyb2xsZXJzL2xheW91dF90ZXN0X3J1bm5lci5weQpAQCAtNDksNiArNDksMTMgQEAgX2xvZyA9
IGxvZ2dpbmcuZ2V0TG9nZ2VyKF9fbmFtZV9fKQogCiBUZXN0RXhwZWN0YXRpb25zID0gdGVzdF9l
eHBlY3RhdGlvbnMuVGVzdEV4cGVjdGF0aW9ucwogCitkZWYgZmluZF9ub25fcGlja2xlYWJsZShv
YmopOgorICAgIGltcG9ydCBwaWNrbGUKKyAgICBmb3IgbmFtZSwgdmFsdWUgaW4gb2JqLl9fZGlj
dF9fLml0ZW1zKCk6CisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHBpY2tsZS5kdW1wcyh2YWx1
ZSkKKyAgICAgICAgZXhjZXB0IHBpY2tsZS5QaWNrbGluZ0Vycm9yOgorICAgICAgICAgICAgcHJp
bnQoJ3t9IGlzIG5vdCBwaWNrbGVhYmxlJy5mb3JtYXQobmFtZSkpCiAKIGRlZiBzZXR1cF9zaGFy
ZChwb3J0PU5vbmUsIHJlc3VsdHNfZGlyZWN0b3J5PU5vbmUsIGRldmljZXM9Tm9uZSwgcmV0cnlp
bmc9RmFsc2UpOgogICAgIGlmIGRldmljZXMgYW5kIGdldGF0dHIocG9ydCwgJ0RFVklDRV9NQU5B
R0VSJywgTm9uZSk6CkBAIC0xNjEsNiArMTY4LDcgQEAgY2xhc3MgTGF5b3V0VGVzdFJ1bm5lcihv
YmplY3QpOgogICAgICAgICAgICAgKQogCiAgICAgICAgIHRyeToKKyAgICAgICAgICAgIGZpbmRf
bm9uX3BpY2tsZWFibGUoc2VsZi5fcG9ydCkKICAgICAgICAgICAgIExheW91dFRlc3RSdW5uZXIu
aW5zdGFuY2UgPSBzZWxmCiAgICAgICAgICAgICB3aXRoIFRhc2tQb29sKAogICAgICAgICAgICAg
ICAgIHdvcmtlcnM9bnVtX3dvcmtlcnMsCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L3BvcnQvYmFzZS5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9iYXNlLnB5Cmlu
ZGV4IGMxMDc4YzNmMjEyZi4uNDg0OTg4ODk3ODQwIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L3BvcnQvYmFzZS5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQv
YmFzZS5weQpAQCAtODIsNiArODIsOSBAQCBjbGFzcyBQb3J0KG9iamVjdCk6CiAgICAgREVGQVVM
VF9ERVZJQ0VfVFlQRVMgPSBbXQogCiAgICAgaGVscGVyID0gTm9uZQorICAgIF93ZWJfcGxhdGZv
cm1fdGVzdF9zZXJ2ZXIgPSBOb25lCisgICAgX3dlYnNvY2tldF9zZWN1cmVfc2VydmVyID0gTm9u
ZQorICAgIF93ZWJzb2NrZXRfc2VydmVyID0gTm9uZQogCiAgICAgQGNsYXNzbWV0aG9kCiAgICAg
ZGVmIGRldGVybWluZV9mdWxsX3BvcnRfbmFtZShjbHMsIGhvc3QsIG9wdGlvbnMsIHBvcnRfbmFt
ZSk6CkBAIC0xMTgsOSArMTIxLDYgQEAgY2xhc3MgUG9ydChvYmplY3QpOgogICAgICAgICBzZWxm
LnByZXR0eV9wYXRjaCA9IFByZXR0eVBhdGNoKHNlbGYuX2V4ZWN1dGl2ZSwgc2VsZi5wYXRoX2Zy
b21fd2Via2l0X2Jhc2UoKSwgc2VsZi5fZmlsZXN5c3RlbSkKIAogICAgICAgICBzZWxmLl9odHRw
X3NlcnZlciA9IE5vbmUKLSAgICAgICAgc2VsZi5fd2Vic29ja2V0X3NlcnZlciA9IE5vbmUKLSAg
ICAgICAgc2VsZi5fd2Vic29ja2V0X3NlY3VyZV9zZXJ2ZXIgPSBOb25lCi0gICAgICAgIHNlbGYu
X3dlYl9wbGF0Zm9ybV90ZXN0X3NlcnZlciA9IE5vbmUKICAgICAgICAgc2VsZi5faW1hZ2VfZGlm
ZmVyID0gTm9uZQogICAgICAgICBzZWxmLl9zZXJ2ZXJfcHJvY2Vzc19jb25zdHJ1Y3RvciA9IHNl
cnZlcl9wcm9jZXNzLlNlcnZlclByb2Nlc3MgICMgb3ZlcnJpZGFibGUgZm9yIHRlc3RpbmcKICAg
ICAgICAgc2VsZi5fdGVzdF9ydW5uZXJfcHJvY2Vzc19jb25zdHJ1Y3RvciA9IHNlcnZlcl9wcm9j
ZXNzLlNlcnZlclByb2Nlc3MKQEAgLTg2MywxMiArODYzLDEyIEBAIGNsYXNzIFBvcnQob2JqZWN0
KToKICAgICAgICAgcG9ydHMgPSBbXQogICAgICAgICBpZiBzZWxmLl9odHRwX3NlcnZlcjoKICAg
ICAgICAgICAgIHBvcnRzLmV4dGVuZChzZWxmLl9odHRwX3NlcnZlci5wb3J0c190b19mb3J3YXJk
KCkpCi0gICAgICAgIGlmIHNlbGYuX3dlYnNvY2tldF9zZXJ2ZXI6Ci0gICAgICAgICAgICBwb3J0
cy5leHRlbmQoc2VsZi5fd2Vic29ja2V0X3NlcnZlci5wb3J0c190b19mb3J3YXJkKCkpCi0gICAg
ICAgIGlmIHNlbGYuX3dlYnNvY2tldF9zZXJ2ZXI6Ci0gICAgICAgICAgICBwb3J0cy5leHRlbmQo
c2VsZi5fd2Vic29ja2V0X3NlY3VyZV9zZXJ2ZXIucG9ydHNfdG9fZm9yd2FyZCgpKQotICAgICAg
ICBpZiBzZWxmLl93ZWJfcGxhdGZvcm1fdGVzdF9zZXJ2ZXI6Ci0gICAgICAgICAgICBwb3J0cy5l
eHRlbmQoc2VsZi5fd2ViX3BsYXRmb3JtX3Rlc3Rfc2VydmVyLnBvcnRzX3RvX2ZvcndhcmQoKSkK
KyAgICAgICAgaWYgUG9ydC5fd2Vic29ja2V0X3NlcnZlcjoKKyAgICAgICAgICAgIHBvcnRzLmV4
dGVuZChQb3J0Ll93ZWJzb2NrZXRfc2VydmVyLnBvcnRzX3RvX2ZvcndhcmQoKSkKKyAgICAgICAg
aWYgUG9ydC5fd2Vic29ja2V0X3NlcnZlcjoKKyAgICAgICAgICAgIHBvcnRzLmV4dGVuZChQb3J0
Ll93ZWJzb2NrZXRfc2VjdXJlX3NlcnZlci5wb3J0c190b19mb3J3YXJkKCkpCisgICAgICAgIGlm
IFBvcnQuX3dlYl9wbGF0Zm9ybV90ZXN0X3NlcnZlcjoKKyAgICAgICAgICAgIHBvcnRzLmV4dGVu
ZChQb3J0Ll93ZWJfcGxhdGZvcm1fdGVzdF9zZXJ2ZXIucG9ydHNfdG9fZm9yd2FyZCgpKQogICAg
ICAgICByZXR1cm4gcG9ydHMKIAogICAgIGRlZiBzdGFydF9odHRwX3NlcnZlcihzZWxmLCBhZGRp
dGlvbmFsX2RpcnM9Tm9uZSk6CkBAIC04OTQsMTIgKzg5NCwxMiBAQCBjbGFzcyBQb3J0KG9iamVj
dCk6CiAgICAgICAgIHJldHVybiBodHRwX3NlcnZlcl9iYXNlLmlzX2h0dHBfc2VydmVyX3J1bm5p
bmcoKQogCiAgICAgZGVmIGlzX3dlYnNvY2tldF9zZXJ2ZXJfcnVubmluZyhzZWxmKToKLSAgICAg
ICAgaWYgc2VsZi5fd2Vic29ja2V0X3NlcnZlcjoKKyAgICAgICAgaWYgUG9ydC5fd2Vic29ja2V0
X3NlcnZlcjoKICAgICAgICAgICAgIHJldHVybiBUcnVlCiAgICAgICAgIHJldHVybiB3ZWJzb2Nr
ZXRfc2VydmVyLmlzX3dlYl9zb2NrZXRfc2VydmVyX3J1bm5pbmcoKQogCiAgICAgZGVmIGlzX3dw
dF9zZXJ2ZXJfcnVubmluZyhzZWxmKToKLSAgICAgICAgaWYgc2VsZi5fd2ViX3BsYXRmb3JtX3Rl
c3Rfc2VydmVyOgorICAgICAgICBpZiBQb3J0Ll93ZWJfcGxhdGZvcm1fdGVzdF9zZXJ2ZXI6CiAg
ICAgICAgICAgICByZXR1cm4gVHJ1ZQogICAgICAgICByZXR1cm4gd2ViX3BsYXRmb3JtX3Rlc3Rf
c2VydmVyLmlzX3dwdF9zZXJ2ZXJfcnVubmluZyhzZWxmKQogCkBAIC05MDcsMTQgKzkwNywxNCBA
QCBjbGFzcyBQb3J0KG9iamVjdCk6CiAgICAgICAgICIiIlN0YXJ0IGEgd2ViIHNlcnZlci4gUmFp
c2UgYW4gZXJyb3IgaWYgaXQgY2FuJ3Qgc3RhcnQgb3IgaXMgYWxyZWFkeSBydW5uaW5nLgogCiAg
ICAgICAgIFBvcnRzIGNhbiBzdHViIHRoaXMgb3V0IGlmIHRoZXkgZG9uJ3QgbmVlZCBhIHdlYnNv
Y2tldCBzZXJ2ZXIgdG8gYmUgcnVubmluZy4iIiIKLSAgICAgICAgYXNzZXJ0IG5vdCBzZWxmLl93
ZWJzb2NrZXRfc2VydmVyLCAnQWxyZWFkeSBydW5uaW5nIGEgd2Vic29ja2V0IHNlcnZlci4nCisg
ICAgICAgIGFzc2VydCBub3QgUG9ydC5fd2Vic29ja2V0X3NlcnZlciwgJ0FscmVhZHkgcnVubmlu
ZyBhIHdlYnNvY2tldCBzZXJ2ZXIuJwogCiAgICAgICAgIHNlcnZlciA9IHdlYnNvY2tldF9zZXJ2
ZXIuUHlXZWJTb2NrZXQoc2VsZiwgc2VsZi5yZXN1bHRzX2RpcmVjdG9yeSgpKQogICAgICAgICBz
ZXJ2ZXIuc3RhcnQoKQotICAgICAgICBzZWxmLl93ZWJzb2NrZXRfc2VydmVyID0gc2VydmVyCisg
ICAgICAgIFBvcnQuX3dlYnNvY2tldF9zZXJ2ZXIgPSBzZXJ2ZXIKIAogICAgICAgICB3ZWJzb2Nr
ZXRfc2VydmVyX3RlbXBvcmFyeV9kaXJlY3RvcnkgPSBzZWxmLl9maWxlc3lzdGVtLm1rZHRlbXAo
cHJlZml4PSd3ZWJraXRweS13ZWJzb2NrZXQtc2VydmVyJykKLSAgICAgICAgc2VsZi5fd2Vic29j
a2V0X3NlcnZlcl90ZW1wb3JhcnlfZGlyZWN0b3J5ID0gd2Vic29ja2V0X3NlcnZlcl90ZW1wb3Jh
cnlfZGlyZWN0b3J5CisgICAgICAgIFBvcnQuX3dlYnNvY2tldF9zZXJ2ZXJfdGVtcG9yYXJ5X2Rp
cmVjdG9yeSA9IHdlYnNvY2tldF9zZXJ2ZXJfdGVtcG9yYXJ5X2RpcmVjdG9yeQogCiAgICAgICAg
IHBlbV9maWxlID0gc2VsZi5fZmlsZXN5c3RlbS5qb2luKHNlbGYubGF5b3V0X3Rlc3RzX2Rpcigp
LCAiaHR0cCIsICJjb25mIiwgIndlYmtpdC1odHRwZC5wZW0iKQogICAgICAgICBwZW0gPSBwZW1m
aWxlLmxvYWQoc2VsZi5fZmlsZXN5c3RlbSwgcGVtX2ZpbGUpCkBAIC05MjMsMTYgKzkyMywxNiBA
QCBjbGFzcyBQb3J0KG9iamVjdCk6CiAgICAgICAgIHByaXZhdGVfa2V5X2ZpbGUgPSBzZWxmLl9m
aWxlc3lzdGVtLmpvaW4oc3RyKHdlYnNvY2tldF9zZXJ2ZXJfdGVtcG9yYXJ5X2RpcmVjdG9yeSks
ICd3ZWJraXQtaHR0cGQua2V5JykKICAgICAgICAgc2VsZi5fZmlsZXN5c3RlbS53cml0ZV90ZXh0
X2ZpbGUocHJpdmF0ZV9rZXlfZmlsZSwgcGVtLnByaXZhdGVfa2V5KQogCi0gICAgICAgIHNlY3Vy
ZV9zZXJ2ZXIgPSBzZWxmLl93ZWJzb2NrZXRfc2VjdXJlX3NlcnZlciA9IHdlYnNvY2tldF9zZXJ2
ZXIuUHlXZWJTb2NrZXQoc2VsZiwgc2VsZi5yZXN1bHRzX2RpcmVjdG9yeSgpLAorICAgICAgICBz
ZWN1cmVfc2VydmVyID0gUG9ydC5fd2Vic29ja2V0X3NlY3VyZV9zZXJ2ZXIgPSB3ZWJzb2NrZXRf
c2VydmVyLlB5V2ViU29ja2V0KHNlbGYsIHNlbGYucmVzdWx0c19kaXJlY3RvcnkoKSwKICAgICAg
ICAgICAgIHVzZV90bHM9VHJ1ZSwgcG9ydD13ZWJzb2NrZXRfc2VydmVyLlB5V2ViU29ja2V0LkRF
RkFVTFRfV1NTX1BPUlQsIHByaXZhdGVfa2V5PXByaXZhdGVfa2V5X2ZpbGUsIGNlcnRpZmljYXRl
PWNlcnRpZmljYXRlX2ZpbGUpCiAgICAgICAgIHNlY3VyZV9zZXJ2ZXIuc3RhcnQoKQotICAgICAg
ICBzZWxmLl93ZWJzb2NrZXRfc2VjdXJlX3NlcnZlciA9IHNlY3VyZV9zZXJ2ZXIKKyAgICAgICAg
UG9ydC5fd2Vic29ja2V0X3NlY3VyZV9zZXJ2ZXIgPSBzZWN1cmVfc2VydmVyCiAKICAgICBkZWYg
c3RhcnRfd2ViX3BsYXRmb3JtX3Rlc3Rfc2VydmVyKHNlbGYsIGFkZGl0aW9uYWxfZGlycz1Ob25l
LCBudW1iZXJfb2Zfc2VydmVycz1Ob25lKToKLSAgICAgICAgYXNzZXJ0IG5vdCBzZWxmLl93ZWJf
cGxhdGZvcm1fdGVzdF9zZXJ2ZXIsICdBbHJlYWR5IHJ1bm5pbmcgYSBXZWIgUGxhdGZvcm0gVGVz
dCBzZXJ2ZXIuJworICAgICAgICBhc3NlcnQgbm90IFBvcnQuX3dlYl9wbGF0Zm9ybV90ZXN0X3Nl
cnZlciwgJ0FscmVhZHkgcnVubmluZyBhIFdlYiBQbGF0Zm9ybSBUZXN0IHNlcnZlci4nCiAKLSAg
ICAgICAgc2VsZi5fd2ViX3BsYXRmb3JtX3Rlc3Rfc2VydmVyID0gd2ViX3BsYXRmb3JtX3Rlc3Rf
c2VydmVyLldlYlBsYXRmb3JtVGVzdFNlcnZlcihzZWxmLCAid3B0d2siKQotICAgICAgICBzZWxm
Ll93ZWJfcGxhdGZvcm1fdGVzdF9zZXJ2ZXIuc3RhcnQoKQorICAgICAgICBQb3J0Ll93ZWJfcGxh
dGZvcm1fdGVzdF9zZXJ2ZXIgPSB3ZWJfcGxhdGZvcm1fdGVzdF9zZXJ2ZXIuV2ViUGxhdGZvcm1U
ZXN0U2VydmVyKHNlbGYsICJ3cHR3ayIpCisgICAgICAgIFBvcnQuX3dlYl9wbGF0Zm9ybV90ZXN0
X3NlcnZlci5zdGFydCgpCiAKICAgICBkZWYgd2ViX3BsYXRmb3JtX3Rlc3Rfc2VydmVyX2RvY19y
b290KHNlbGYpOgogICAgICAgICByZXR1cm4gd2ViX3BsYXRmb3JtX3Rlc3Rfc2VydmVyLmRvY19y
b290KHNlbGYpLnJlcGxhY2UoJ1xcJywgc2VsZi5URVNUX1BBVEhfU0VQQVJBVE9SKSArIHNlbGYu
VEVTVF9QQVRIX1NFUEFSQVRPUgpAQCAtOTcxLDE5ICs5NzEsMTkgQEAgY2xhc3MgUG9ydChvYmpl
Y3QpOgogCiAgICAgZGVmIHN0b3Bfd2Vic29ja2V0X3NlcnZlcihzZWxmKToKICAgICAgICAgIiIi
U2h1dCBkb3duIHRoZSB3ZWJzb2NrZXQgc2VydmVyIGlmIGl0IGlzIHJ1bm5pbmcuIERvIG5vdGhp
bmcgaWYgaXQgaXNuJ3QuIiIiCi0gICAgICAgIGlmIHNlbGYuX3dlYnNvY2tldF9zZXJ2ZXI6Ci0g
ICAgICAgICAgICBzZWxmLl93ZWJzb2NrZXRfc2VydmVyLnN0b3AoKQotICAgICAgICAgICAgc2Vs
Zi5fd2Vic29ja2V0X3NlcnZlciA9IE5vbmUKLSAgICAgICAgaWYgc2VsZi5fd2Vic29ja2V0X3Nl
Y3VyZV9zZXJ2ZXI6Ci0gICAgICAgICAgICBzZWxmLl93ZWJzb2NrZXRfc2VjdXJlX3NlcnZlci5z
dG9wKCkKLSAgICAgICAgICAgIHNlbGYuX3dlYnNvY2tldF9zZWN1cmVfc2VydmVyID0gTm9uZQot
ICAgICAgICBpZiBzZWxmLl93ZWJzb2NrZXRfc2VydmVyX3RlbXBvcmFyeV9kaXJlY3Rvcnk6Ci0g
ICAgICAgICAgICBzZWxmLl9maWxlc3lzdGVtLnJtdHJlZShzdHIoc2VsZi5fd2Vic29ja2V0X3Nl
cnZlcl90ZW1wb3JhcnlfZGlyZWN0b3J5KSkKKyAgICAgICAgaWYgUG9ydC5fd2Vic29ja2V0X3Nl
cnZlcjoKKyAgICAgICAgICAgIFBvcnQuX3dlYnNvY2tldF9zZXJ2ZXIuc3RvcCgpCisgICAgICAg
ICAgICBQb3J0Ll93ZWJzb2NrZXRfc2VydmVyID0gTm9uZQorICAgICAgICBpZiBQb3J0Ll93ZWJz
b2NrZXRfc2VjdXJlX3NlcnZlcjoKKyAgICAgICAgICAgIFBvcnQuX3dlYnNvY2tldF9zZWN1cmVf
c2VydmVyLnN0b3AoKQorICAgICAgICAgICAgUG9ydC5fd2Vic29ja2V0X3NlY3VyZV9zZXJ2ZXIg
PSBOb25lCisgICAgICAgIGlmIFBvcnQuX3dlYnNvY2tldF9zZXJ2ZXJfdGVtcG9yYXJ5X2RpcmVj
dG9yeToKKyAgICAgICAgICAgIHNlbGYuX2ZpbGVzeXN0ZW0ucm10cmVlKHN0cihQb3J0Ll93ZWJz
b2NrZXRfc2VydmVyX3RlbXBvcmFyeV9kaXJlY3RvcnkpKQogCiAgICAgZGVmIHN0b3Bfd2ViX3Bs
YXRmb3JtX3Rlc3Rfc2VydmVyKHNlbGYpOgotICAgICAgICBpZiBzZWxmLl93ZWJfcGxhdGZvcm1f
dGVzdF9zZXJ2ZXI6Ci0gICAgICAgICAgICBzZWxmLl93ZWJfcGxhdGZvcm1fdGVzdF9zZXJ2ZXIu
c3RvcCgpCi0gICAgICAgICAgICBzZWxmLl93ZWJfcGxhdGZvcm1fdGVzdF9zZXJ2ZXIgPSBOb25l
CisgICAgICAgIGlmIFBvcnQuX3dlYl9wbGF0Zm9ybV90ZXN0X3NlcnZlcjoKKyAgICAgICAgICAg
IFBvcnQuX3dlYl9wbGF0Zm9ybV90ZXN0X3NlcnZlci5zdG9wKCkKKyAgICAgICAgICAgIFBvcnQu
X3dlYl9wbGF0Zm9ybV90ZXN0X3NlcnZlciA9IE5vbmUKIAogICAgIGRlZiBleGl0X2NvZGVfZnJv
bV9zdW1tYXJpemVkX3Jlc3VsdHMoc2VsZiwgdW5leHBlY3RlZF9yZXN1bHRzKToKICAgICAgICAg
IiIiR2l2ZW4gc3VtbWFyaXplZCByZXN1bHRzLCBjb21wdXRlIHRoZSBleGl0IGNvZGUgdG8gYmUg
cmV0dXJuZWQgYnkgbmV3LXJ1bi13ZWJraXQtdGVzdHMuCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>430795</attachid>
            <date>2021-06-07 17:50:06 -0700</date>
            <delta_ts>2021-06-07 19:09:52 -0700</delta_ts>
            <desc>error message</desc>
            <filename>err.txt</filename>
            <type>text/plain</type>
            <size>8862</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">UFMgQzpcaG9tZVx3ZWJraXRcZ2M+IHB5dGhvbi5leGUgLi9Ub29scy9TY3JpcHRzL3J1bi13ZWJr
aXQtdGVzdHMgLS13aW5jYWlybyAtLWRlYnVnCnBlcmw6IHdhcm5pbmc6IFNldHRpbmcgbG9jYWxl
IGZhaWxlZC4KcGVybDogd2FybmluZzogUGxlYXNlIGNoZWNrIHRoYXQgeW91ciBsb2NhbGUgc2V0
dGluZ3M6CiAgICAgICAgTENfQUxMID0gImVuX1VTLlVURi04IiwKICAgICAgICBMQ19NRVNTQUdF
UyA9ICJlbl9VUy5VVEYtOCIsCiAgICAgICAgTEFORyA9ICJlbl9VUy5VVEYtOCIKICAgIGFyZSBz
dXBwb3J0ZWQgYW5kIGluc3RhbGxlZCBvbiB5b3VyIHN5c3RlbS4KcGVybDogd2FybmluZzogRmFs
bGluZyBiYWNrIHRvIHRoZSBzdGFuZGFyZCBsb2NhbGUgKCJDIikuClVzaW5nIHBvcnQgJ3dpbmNh
aXJvLXdpbjEwLXdrMicKVGVzdCBjb25maWd1cmF0aW9uOiA8d2luMTAsIHg4Nl82NCwgZGVidWc+
ClBsYWNpbmcgdGVzdCByZXN1bHRzIGluIEM6XGhvbWVcd2Via2l0XGdjXFdlYktpdEJ1aWxkXERl
YnVnXGJpbjY0XGxheW91dC10ZXN0LXJlc3VsdHMKVXNpbmcgRGVidWcgYnVpbGQKUGl4ZWwgdGVz
dHMgZGlzYWJsZWQKUmVndWxhciB0aW1lb3V0OiAzMDAwMCwgc2xvdyB0ZXN0IHRpbWVvdXQ6IDE1
MDAwMApDb21tYW5kIGxpbmU6IEM6XGhvbWVcd2Via2l0XGdjXFdlYktpdEJ1aWxkXERlYnVnXGJp
bjY0XFdlYktpdFRlc3RSdW5uZXIuZXhlIC0KCkZvdW5kIDcxNDUyIHRlc3RzOyBydW5uaW5nIDE3
OTcyLCBza2lwcGluZyA1MzQ4MC4KClZlcmJvc2UgYmFzZWxpbmUgc2VhcmNoIHBhdGg6IHBsYXRm
b3JtXHdpbmNhaXJvLXdpbjEwLXdrMiAtPiBwbGF0Zm9ybVx3aW5jYWlyby13aW4xMCAtPiBwbGF0
Zm9ybVx3aW5jYWlyby13azIgLT4gcGxhdGZvcm1cd2luY2Fpcm8gLT4gcGxhdGZvcm1cd2syIC0+
IGdlbmVyaWMKCkJhc2VsaW5lIHNlYXJjaCBwYXRoOiBwbGF0Zm9ybVx3aW5jYWlybyAtPiBwbGF0
Zm9ybVx3azIgLT4gZ2VuZXJpYwoKUnVubmluZyAxNzk3MiB0ZXN0cwoKVGhlIF9OVF9TWU1CT0xf
UEFUSCBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBub3Qgc2V0LiBVc2luZyBNaWNyb3NvZnQgU3lt
Ym9sIFNlcnZlci4KcGVybDogd2FybmluZzogU2V0dGluZyBsb2NhbGUgZmFpbGVkLgpwZXJsOiB3
YXJuaW5nOiBQbGVhc2UgY2hlY2sgdGhhdCB5b3VyIGxvY2FsZSBzZXR0aW5nczoKICAgICAgICBM
Q19BTEwgPSAiZW5fVVMuVVRGLTgiLAogICAgICAgIExDX01FU1NBR0VTID0gImVuX1VTLlVURi04
IiwKICAgICAgICBMQU5HID0gImVuX1VTLlVURi04IgogICAgYXJlIHN1cHBvcnRlZCBhbmQgaW5z
dGFsbGVkIG9uIHlvdXIgc3lzdGVtLgpwZXJsOiB3YXJuaW5nOiBGYWxsaW5nIGJhY2sgdG8gdGhl
IHN0YW5kYXJkIGxvY2FsZSAoIkMiKS4KUnVubmluZyAxNiBXZWJLaXRUZXN0UnVubmVycyBpbiBw
YXJhbGxlbC4KClN0YXJ0aW5nIDE2IHdvcmtlcnMgLi4uVHJhY2ViYWNrIChtb3N0IHJlY2VudCBj
YWxsIGxhc3QpOgogIEZpbGUgIjxzdHJpbmc+IiwgbGluZSAxLCBpbiA8bW9kdWxlPgogIEZpbGUg
IkM6XFB5dGhvbjI3XGxpYlxtdWx0aXByb2Nlc3NpbmdcZm9ya2luZy5weSIsIGxpbmUgMzgwLCBp
biBtYWluCiAgICBwcmVwYXJlKHByZXBhcmF0aW9uX2RhdGEpCiAgRmlsZSAiQzpcUHl0aG9uMjdc
bGliXG11bHRpcHJvY2Vzc2luZ1xmb3JraW5nLnB5IiwgbGluZSA1MDQsIGluIHByZXBhcmUKICAg
IGZpbGUsIHBhdGhfbmFtZSwgZXRjID0gaW1wLmZpbmRfbW9kdWxlKG1haW5fbmFtZSwgZGlycykK
SW1wb3J0RXJyb3I6IE5vIG1vZHVsZSBuYW1lZCBydW4td2Via2l0LXRlc3RzClRyYWNlYmFjayAo
bW9zdCByZWNlbnQgY2FsbCBsYXN0KToKICBGaWxlICI8c3RyaW5nPiIsIGxpbmUgMSwgaW4gPG1v
ZHVsZT4KICBGaWxlICJDOlxQeXRob24yN1xsaWJcbXVsdGlwcm9jZXNzaW5nXGZvcmtpbmcucHki
LCBsaW5lIDM4MCwgaW4gbWFpbgogICAgcHJlcGFyZShwcmVwYXJhdGlvbl9kYXRhKQogIEZpbGUg
IkM6XFB5dGhvbjI3XGxpYlxtdWx0aXByb2Nlc3NpbmdcZm9ya2luZy5weSIsIGxpbmUgNTA0LCBp
biBwcmVwYXJlCiAgICBmaWxlLCBwYXRoX25hbWUsIGV0YyA9IGltcC5maW5kX21vZHVsZShtYWlu
X25hbWUsIGRpcnMpCkltcG9ydEVycm9yOiBObyBtb2R1bGUgbmFtZWQgcnVuLXdlYmtpdC10ZXN0
cwpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiPHN0cmluZz4iLCBs
aW5lIDEsIGluIDxtb2R1bGU+CiAgRmlsZSAiQzpcUHl0aG9uMjdcbGliXG11bHRpcHJvY2Vzc2lu
Z1xmb3JraW5nLnB5IiwgbGluZSAzODAsIGluIG1haW4KICAgIHByZXBhcmUocHJlcGFyYXRpb25f
ZGF0YSkKICBGaWxlICJDOlxQeXRob24yN1xsaWJcbXVsdGlwcm9jZXNzaW5nXGZvcmtpbmcucHki
LCBsaW5lIDUwNCwgaW4gcHJlcGFyZQogICAgZmlsZSwgcGF0aF9uYW1lLCBldGMgPSBpbXAuZmlu
ZF9tb2R1bGUobWFpbl9uYW1lLCBkaXJzKQpJbXBvcnRFcnJvcjogTm8gbW9kdWxlIG5hbWVkIHJ1
bi13ZWJraXQtdGVzdHMKVHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOgogIEZpbGUg
IjxzdHJpbmc+IiwgbGluZSAxLCBpbiA8bW9kdWxlPgogIEZpbGUgIkM6XFB5dGhvbjI3XGxpYlxt
dWx0aXByb2Nlc3NpbmdcZm9ya2luZy5weSIsIGxpbmUgMzgwLCBpbiBtYWluCiAgICBwcmVwYXJl
KHByZXBhcmF0aW9uX2RhdGEpCiAgRmlsZSAiQzpcUHl0aG9uMjdcbGliXG11bHRpcHJvY2Vzc2lu
Z1xmb3JraW5nLnB5IiwgbGluZSA1MDQsIGluIHByZXBhcmUKICAgIGZpbGUsIHBhdGhfbmFtZSwg
ZXRjID0gaW1wLmZpbmRfbW9kdWxlKG1haW5fbmFtZSwgZGlycykKSW1wb3J0RXJyb3I6IE5vIG1v
ZHVsZSBuYW1lZCBydW4td2Via2l0LXRlc3RzClRyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBs
YXN0KToKICBGaWxlICI8c3RyaW5nPiIsIGxpbmUgMSwgaW4gPG1vZHVsZT4KICBGaWxlICJDOlxQ
eXRob24yN1xsaWJcbXVsdGlwcm9jZXNzaW5nXGZvcmtpbmcucHkiLCBsaW5lIDM4MCwgaW4gbWFp
bgogICAgcHJlcGFyZShwcmVwYXJhdGlvbl9kYXRhKQogIEZpbGUgIkM6XFB5dGhvbjI3XGxpYlxt
dWx0aXByb2Nlc3NpbmdcZm9ya2luZy5weSIsIGxpbmUgNTA0LCBpbiBwcmVwYXJlCiAgICBmaWxl
LCBwYXRoX25hbWUsIGV0YyA9IGltcC5maW5kX21vZHVsZShtYWluX25hbWUsIGRpcnMpCkltcG9y
dEVycm9yOiBObyBtb2R1bGUgbmFtZWQgcnVuLXdlYmtpdC10ZXN0cwpUcmFjZWJhY2sgKG1vc3Qg
cmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiPHN0cmluZz4iLCBsaW5lIDEsIGluIDxtb2R1bGU+
CiAgRmlsZSAiQzpcUHl0aG9uMjdcbGliXG11bHRpcHJvY2Vzc2luZ1xmb3JraW5nLnB5IiwgbGlu
ZSAzODAsIGluIG1haW4KICAgIHByZXBhcmUocHJlcGFyYXRpb25fZGF0YSkKICBGaWxlICJDOlxQ
eXRob24yN1xsaWJcbXVsdGlwcm9jZXNzaW5nXGZvcmtpbmcucHkiLCBsaW5lIDUwNCwgaW4gcHJl
cGFyZQogICAgZmlsZSwgcGF0aF9uYW1lLCBldGMgPSBpbXAuZmluZF9tb2R1bGUobWFpbl9uYW1l
LCBkaXJzKQpJbXBvcnRFcnJvcjogTm8gbW9kdWxlIG5hbWVkIHJ1bi13ZWJraXQtdGVzdHMKVHJh
Y2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOgogIEZpbGUgIjxzdHJpbmc+IiwgbGluZSAx
LCBpbiA8bW9kdWxlPgogIEZpbGUgIkM6XFB5dGhvbjI3XGxpYlxtdWx0aXByb2Nlc3NpbmdcZm9y
a2luZy5weSIsIGxpbmUgMzgwLCBpbiBtYWluCiAgICBwcmVwYXJlKHByZXBhcmF0aW9uX2RhdGEp
CiAgRmlsZSAiQzpcUHl0aG9uMjdcbGliXG11bHRpcHJvY2Vzc2luZ1xmb3JraW5nLnB5IiwgbGlu
ZSA1MDQsIGluIHByZXBhcmUKVHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOgogIEZp
bGUgIjxzdHJpbmc+IiwgbGluZSAxLCBpbiA8bW9kdWxlPgogICAgICBGaWxlICJDOlxQeXRob24y
N1xsaWJcbXVsdGlwcm9jZXNzaW5nXGZvcmtpbmcucHkiLCBsaW5lIDM4MCwgaW4gbWFpbgpmaWxl
LCBwYXRoX25hbWUsIGV0YyA9IGltcC5maW5kX21vZHVsZShtYWluX25hbWUsIGRpcnMpCiAgICBw
cmVwYXJlKHByZXBhcmF0aW9uX2RhdGEpCkltcG9ydEVycm9yICBGaWxlICJDOlxQeXRob24yN1xs
aWJcbXVsdGlwcm9jZXNzaW5nXGZvcmtpbmcucHkiLCBsaW5lIDUwNCwgaW4gcHJlcGFyZQpUcmFj
ZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CjogICBGaWxlICI8c3RyaW5nPiIsIGxpbmUg
MSwgaW4gPG1vZHVsZT4KICAgIE5vIG1vZHVsZSBuYW1lZCBydW4td2Via2l0LXRlc3RzICBGaWxl
ICJDOlxQeXRob24yN1xsaWJcbXVsdGlwcm9jZXNzaW5nXGZvcmtpbmcucHkiLCBsaW5lIDM4MCwg
aW4gbWFpbgoKZmlsZSwgcGF0aF9uYW1lLCBldGMgPSBpbXAuZmluZF9tb2R1bGUobWFpbl9uYW1l
LCBkaXJzKQogICAgSW1wb3J0RXJyb3JwcmVwYXJlKHByZXBhcmF0aW9uX2RhdGEpCjogVHJhY2Vi
YWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOgogIEZpbGUgIkM6XFB5dGhvbjI3XGxpYlxtdWx0
aXByb2Nlc3NpbmdcZm9ya2luZy5weSIsIGxpbmUgNTA0LCBpbiBwcmVwYXJlCk4gIEZpbGUgIjxz
dHJpbmc+IiwgbGluZSAxLCBpbiA8bW9kdWxlPgogICAgICBGaWxlICJDOlxQeXRob24yN1xsaWJc
bXVsdGlwcm9jZXNzaW5nXGZvcmtpbmcucHkiLCBsaW5lIDM4MCwgaW4gbWFpbgpmaWxlLCBwYXRo
X25hbWUsIGV0YyA9IGltcC5maW5kX21vZHVsZShtYWluX25hbWUsIGRpcnMpCiAgICBJbXBvcnRF
cnJvcnByZXBhcmUocHJlcGFyYXRpb25fZGF0YSkKOiAgIEZpbGUgIkM6XFB5dGhvbjI3XGxpYlxt
dWx0aXByb2Nlc3NpbmdcZm9ya2luZy5weSIsIGxpbmUgNTA0LCBpbiBwcmVwYXJlCk5vIG1vZHVs
ZSBuYW1lZCBydW4td2Via2l0LXRlc3RzbyBtb2R1bGUgbmFtZWQgcnVuLXdlYmtpdC10ZXN0cyAg
ICBmaWxlLCBwYXRoX25hbWUsIGV0YyA9IGltcC5maW5kX21vZHVsZShtYWluX25hbWUsIGRpcnMp
CgoKSW1wb3J0RXJyb3I6IE5vIG1vZHVsZSBuYW1lZCBydW4td2Via2l0LXRlc3RzClRyYWNlYmFj
ayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KToKICBGaWxlICI8c3RyaW5nPiIsIGxpbmUgMSwgaW4g
PG1vZHVsZT4KICBGaWxlICJDOlxQeXRob24yN1xsaWJcbXVsdGlwcm9jZXNzaW5nXGZvcmtpbmcu
cHkiLCBsaW5lIDM4MCwgaW4gbWFpbgogICAgcHJlcGFyZShwcmVwYXJhdGlvbl9kYXRhKQogIEZp
bGUgIkM6XFB5dGhvbjI3XGxpYlxtdWx0aXByb2Nlc3NpbmdcZm9ya2luZy5weSIsIGxpbmUgNTA0
LCBpbiBwcmVwYXJlCiAgICBmaWxlLCBwYXRoX25hbWUsIGV0YyA9IGltcC5maW5kX21vZHVsZSht
YWluX25hbWUsIGRpcnMpCkltcG9ydEVycm9yOiBObyBtb2R1bGUgbmFtZWQgcnVuLXdlYmtpdC10
ZXN0cwpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiPHN0cmluZz4i
LCBsaW5lIDEsIGluIDxtb2R1bGU+CiAgRmlsZSAiQzpcUHl0aG9uMjdcbGliXG11bHRpcHJvY2Vz
c2luZ1xmb3JraW5nLnB5IiwgbGluZSAzODAsIGluIG1haW4KICAgIHByZXBhcmUocHJlcGFyYXRp
b25fZGF0YSkKICBGaWxlICJDOlxQeXRob24yN1xsaWJcbXVsdGlwcm9jZXNzaW5nXGZvcmtpbmcu
cHkiLCBsaW5lIDUwNCwgaW4gcHJlcGFyZQogICAgZmlsZSwgcGF0aF9uYW1lLCBldGMgPSBpbXAu
ZmluZF9tb2R1bGUobWFpbl9uYW1lLCBkaXJzKQpJbXBvcnRFcnJvcjogTm8gbW9kdWxlIG5hbWVk
IHJ1bi13ZWJraXQtdGVzdHMKVHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOgogIEZp
bGUgIjxzdHJpbmc+IiwgbGluZSAxLCBpbiA8bW9kdWxlPgogIEZpbGUgIkM6XFB5dGhvbjI3XGxp
YlxtdWx0aXByb2Nlc3NpbmdcZm9ya2luZy5weSIsIGxpbmUgMzgwLCBpbiBtYWluCiAgICBwcmVw
YXJlKHByZXBhcmF0aW9uX2RhdGEpCiAgRmlsZSAiQzpcUHl0aG9uMjdcbGliXG11bHRpcHJvY2Vz
c2luZ1xmb3JraW5nLnB5IiwgbGluZSA1MDQsIGluIHByZXBhcmUKICAgIGZpbGUsIHBhdGhfbmFt
ZSwgZXRjID0gaW1wLmZpbmRfbW9kdWxlKG1haW5fbmFtZSwgZGlycykKSW1wb3J0RXJyb3I6IE5v
IG1vZHVsZSBuYW1lZCBydW4td2Via2l0LXRlc3RzClRyYWNlYmFjayAobW9zdCByZWNlbnQgY2Fs
bCBsYXN0KToKICBGaWxlICI8c3RyaW5nPiIsIGxpbmUgMSwgaW4gPG1vZHVsZT4KICBGaWxlICJD
OlxQeXRob24yN1xsaWJcbXVsdGlwcm9jZXNzaW5nXGZvcmtpbmcucHkiLCBsaW5lIDM4MCwgaW4g
bWFpbgogICAgcHJlcGFyZShwcmVwYXJhdGlvbl9kYXRhKQogIEZpbGUgIkM6XFB5dGhvbjI3XGxp
YlxtdWx0aXByb2Nlc3NpbmdcZm9ya2luZy5weSIsIGxpbmUgNTA0LCBpbiBwcmVwYXJlCiAgICBm
aWxlLCBwYXRoX25hbWUsIGV0YyA9IGltcC5maW5kX21vZHVsZShtYWluX25hbWUsIGRpcnMpCklt
cG9ydEVycm9yOiBObyBtb2R1bGUgbmFtZWQgcnVuLXdlYmtpdC10ZXN0cwpUcmFjZWJhY2sgKG1v
c3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiPHN0cmluZz4iLCBsaW5lIDEsIGluIDxtb2R1
bGU+CiAgRmlsZSAiQzpcUHl0aG9uMjdcbGliXG11bHRpcHJvY2Vzc2luZ1xmb3JraW5nLnB5Iiwg
bGluZSAzODAsIGluIG1haW4KICAgIHByZXBhcmUocHJlcGFyYXRpb25fZGF0YSkKICBGaWxlICJD
OlxQeXRob24yN1xsaWJcbXVsdGlwcm9jZXNzaW5nXGZvcmtpbmcucHkiLCBsaW5lIDUwNCwgaW4g
cHJlcGFyZQogICAgZmlsZSwgcGF0aF9uYW1lLCBldGMgPSBpbXAuZmluZF9tb2R1bGUobWFpbl9u
YW1lLCBkaXJzKQpJbXBvcnRFcnJvcjogTm8gbW9kdWxlIG5hbWVkIHJ1bi13ZWJraXQtdGVzdHMK
VHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOgogIEZpbGUgIjxzdHJpbmc+IiwgbGlu
ZSAxLCBpbiA8bW9kdWxlPgogIEZpbGUgIkM6XFB5dGhvbjI3XGxpYlxtdWx0aXByb2Nlc3Npbmdc
Zm9ya2luZy5weSIsIGxpbmUgMzgwLCBpbiBtYWluCiAgICBwcmVwYXJlKHByZXBhcmF0aW9uX2Rh
dGEpCiAgRmlsZSAiQzpcUHl0aG9uMjdcbGliXG11bHRpcHJvY2Vzc2luZ1xmb3JraW5nLnB5Iiwg
bGluZSA1MDQsIGluIHByZXBhcmUKICAgIGZpbGUsIHBhdGhfbmFtZSwgZXRjID0gaW1wLmZpbmRf
bW9kdWxlKG1haW5fbmFtZSwgZGlycykKSW1wb3J0RXJyb3I6IE5vIG1vZHVsZSBuYW1lZCBydW4t
d2Via2l0LXRlc3RzCgpFbXB0eSByYWlzZWQ6ClRyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBs
YXN0KToKICBGaWxlICJDOlxob21lXHdlYmtpdFxnY1xUb29sc1xTY3JpcHRzXHdlYmtpdHB5XGxh
eW91dF90ZXN0c1xydW5fd2Via2l0X3Rlc3RzLnB5IiwgbGluZSA5MiwgaW4gbWFpbgogICAgcnVu
X2RldGFpbHMgPSBydW4ocG9ydCwgb3B0aW9ucywgYXJncywgc3RkZXJyKQogIEZpbGUgIkM6XGhv
bWVcd2Via2l0XGdjXFRvb2xzXFNjcmlwdHNcd2Via2l0cHlcbGF5b3V0X3Rlc3RzXHJ1bl93ZWJr
aXRfdGVzdHMucHkiLCBsaW5lIDQ4NywgaW4gcnVuCiAgICBydW5fZGV0YWlscyA9IG1hbmFnZXIu
cnVuKGFyZ3MpCiAgRmlsZSAiQzpcaG9tZVx3ZWJraXRcZ2NcVG9vbHNcU2NyaXB0c1x3ZWJraXRw
eVxsYXlvdXRfdGVzdHNcY29udHJvbGxlcnNcbWFuYWdlci5weSIsIGxpbmUgNDA4LCBpbiBydW4K
ICAgIHRlbXBfaW5pdGlhbF9yZXN1bHRzLCB0ZW1wX3JldHJ5X3Jlc3VsdHMsIHRlbXBfZW5hYmxl
ZF9waXhlbF90ZXN0c19pbl9yZXRyeSA9IHNlbGYuX3J1bl90ZXN0X3N1YnNldCh0ZXN0X2lucHV0
cywgZGV2aWNlX3R5cGU9ZGV2aWNlX3R5cGUpCiAgRmlsZSAiQzpcaG9tZVx3ZWJraXRcZ2NcVG9v
bHNcU2NyaXB0c1x3ZWJraXRweVxsYXlvdXRfdGVzdHNcY29udHJvbGxlcnNcbWFuYWdlci5weSIs
IGxpbmUgNDgyLCBpbiBfcnVuX3Rlc3Rfc3Vic2V0CiAgICBpbml0aWFsX3Jlc3VsdHMgPSBzZWxm
Ll9ydW5fdGVzdHModGVzdF9pbnB1dHMsIHNlbGYuX29wdGlvbnMucmVwZWF0X2VhY2gsIHNlbGYu
X29wdGlvbnMuaXRlcmF0aW9ucywgaW50KHNlbGYuX29wdGlvbnMuY2hpbGRfcHJvY2Vzc2VzKSwg
cmV0cnlpbmc9RmFsc2UsIGRldmljZV90eXBlPWRldmljZV90eXBlKQogIEZpbGUgIkM6XGhvbWVc
d2Via2l0XGdjXFRvb2xzXFNjcmlwdHNcd2Via2l0cHlcbGF5b3V0X3Rlc3RzXGNvbnRyb2xsZXJz
XG1hbmFnZXIucHkiLCBsaW5lIDU2MSwgaW4gX3J1bl90ZXN0cwogICAgcmV0dXJuIHNlbGYuX3J1
bm5lci5ydW5fdGVzdHMoc2VsZi5fZXhwZWN0YXRpb25zW2RldmljZV90eXBlXSwgbmV3X3Rlc3Rf
aW5wdXRzLCBudW1fd29ya2VycywgcmV0cnlpbmcsIGRldmljZV90eXBlKQogIEZpbGUgIkM6XGhv
bWVcd2Via2l0XGdjXFRvb2xzXFNjcmlwdHNcd2Via2l0cHlcbGF5b3V0X3Rlc3RzXGNvbnRyb2xs
ZXJzXGxheW91dF90ZXN0X3J1bm5lci5weSIsIGxpbmUgMTgwLCBpbiBydW5fdGVzdHMKICAgICks
IHRlYXJkb3duPXRlYXJkb3duX3NoYXJkLAogIEZpbGUgIkM6XGhvbWVcd2Via2l0XGdjXFRvb2xz
XFNjcmlwdHNcbGlicmFyaWVzXHdlYmtpdGNvcmVweVx3ZWJraXRjb3JlcHlcdGFza19wb29sLnB5
IiwgbGluZSAzOTAsIGluIF9fZW50ZXJfXwogICAgc2VsZi5xdWV1ZS5yZWNlaXZlKCkoc2VsZikK
ICBGaWxlICJDOlxob21lXHdlYmtpdFxnY1xUb29sc1xTY3JpcHRzXGxpYnJhcmllc1x3ZWJraXRj
b3JlcHlcd2Via2l0Y29yZXB5XHRhc2tfcG9vbC5weSIsIGxpbmUgMTUxLCBpbiByZWNlaXZlCiAg
ICByZXR1cm4gc2VsZi5pbmNvbWluZy5nZXQodGltZW91dD1kaWZmZXJlbmNlKQogIEZpbGUgIkM6
XFB5dGhvbjI3XGxpYlxtdWx0aXByb2Nlc3NpbmdccXVldWVzLnB5IiwgbGluZSAxMzIsIGluIGdl
dAogICAgcmFpc2UgRW1wdHkKRW1wdHkKU3RvcHBpbmcgV2ViIFBsYXRmb3JtIFRlc3Qgc2VydmVy
IC4uLgpQUyBDOlxob21lXHdlYmtpdFxnYz4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>430799</attachid>
            <date>2021-06-07 19:09:37 -0700</date>
            <delta_ts>2021-06-08 12:58:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226710-20210608110936.patch</filename>
            <type>text/plain</type>
            <size>10213</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4NTcwCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMjI5NWEzMDA5YzE1NDRkNzBiNzc0ZTgwODIzYjUwMjUx
NGEyZDZhMS4uNmNiODUyZjFlYmM3OTRmZmYxZDQ1Y2Q0OGM4NTQyNTQ3ZmI1Zjk1NSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3
IEBACisyMDIxLTA2LTA3ICBGdWppaSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29t
PgorCisgICAgICAgIHJ1bi13ZWJraXQtdGVzdHM6IFRhc2tQb29sIHJlcG9ydHMgUGlja2xpbmdF
cnJvciBmb3IgV2luZG93cyBQeXRob24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIyNjcxMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFNpbmNlIHIyNzg0NTQgY2hhbmdlZCBydW4td2Via2l0LXRlc3RzIHRv
IHVzZSBUYXNrUG9vbCwKKyAgICAgICAgcnVuLXdlYmtpdC10ZXN0cyByZXBvcnRlZCBQaWNrbGlu
Z0Vycm9yIGZvciBXaW5kb3dzIFB5dGhvbi4gSXQKKyAgICAgICAgY291bGRuJ3QgcGlja2xlIFBv
cnQgb2JqZWN0LiBUaGlzIGlzc3VlIGhhcHBlbmVkIG9uIG11bHRpLWNvcmUgUEMsCisgICAgICAg
IGJ1dCBvbiBzaW5nbGUgQ1BVIHRlc3RlciBib3QgbWFjaGluZXMuCisKKyAgICAgICAgV3JhcHBl
ZFBvcGVuIGNvdWxkbid0IGJlIHBpY2tsZWQgYmVjYXVzZSBpdCB3YXMgZGVmaW5lZCBhcyBhbgor
ICAgICAgICBpbm5lciBjbGFzcy4gSXQgc2hvdWxkIGJlIGRlZmluZWQgYXQgdGhlIHRvcC1sZXZl
bC4KKworICAgICAgICBUaGUgaW5zdGFuY2UgdmFyaWFibGVzIF93ZWJfcGxhdGZvcm1fdGVzdF9z
ZXJ2ZXIsCisgICAgICAgIF93ZWJzb2NrZXRfc2VydmVyX3RlbXBvcmFyeV9kaXJlY3RvcnksIGFu
ZAorICAgICAgICBfd2Vic29ja2V0X3NlY3VyZV9zZXJ2ZXIgb2YgUG9ydCBvYmplY3QgYXJlbid0
IHBpY2tsZWFibGUuIE1ha2UKKyAgICAgICAgdGhlbSBjbGFzcyB2YXJpYWJsZXMuCisKKyAgICAg
ICAgKiBTY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0ZW0vZXhlY3V0aXZlLnB5OgorICAgICAg
ICAoV3JhcHBlZFBvcGVuKToKKyAgICAgICAgKEV4ZWN1dGl2ZS5XcmFwcGVkUG9wZW4pOgorICAg
ICAgICAqIFNjcmlwdHMvd2Via2l0cHkvcG9ydC9iYXNlLnB5OgorICAgICAgICAoUG9ydCk6Cisg
ICAgICAgIChQb3J0Ll9faW5pdF9fKToKKyAgICAgICAgKFBvcnQucG9ydHNfdG9fZm9yd2FyZCk6
CisgICAgICAgIChQb3J0LmlzX3dlYnNvY2tldF9zZXJ2ZXJfcnVubmluZyk6CisgICAgICAgIChQ
b3J0LmlzX3dwdF9zZXJ2ZXJfcnVubmluZyk6CisgICAgICAgIChQb3J0LnN0YXJ0X3dlYnNvY2tl
dF9zZXJ2ZXIpOgorICAgICAgICAoUG9ydC5zdGFydF93ZWJfcGxhdGZvcm1fdGVzdF9zZXJ2ZXIp
OgorICAgICAgICAoUG9ydC5zdG9wX3dlYnNvY2tldF9zZXJ2ZXIpOgorICAgICAgICAoUG9ydC5z
dG9wX3dlYl9wbGF0Zm9ybV90ZXN0X3NlcnZlcik6CisKIDIwMjEtMDYtMDcgIEZ1amlpIEhpcm9u
b3JpICA8SGlyb25vcmkuRnVqaWlAc29ueS5jb20+CiAKICAgICAgICAgV2luZG93cyBQeXRob24g
Mi43IGZhaWxzIHRvIGluc3RhbGwgdGJsaWItMS43LjAgZHVlIHRvICJUeXBlRXJyb3I6IGVudmly
b25tZW50IGNhbiBvbmx5IGNvbnRhaW4gc3RyaW5ncyIKZGlmZiAtLWdpdCBhL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvY29tbW9uL3N5c3RlbS9leGVjdXRpdmUucHkgYi9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L2NvbW1vbi9zeXN0ZW0vZXhlY3V0aXZlLnB5CmluZGV4IDI5ZDY4ZmEyNjQ5ZTk2NmFl
NTcxM2QwNDJjNGFmZDk1ZDAzY2Y4MzQuLjU1NTZjNDQ1MDRkNzhiM2Y4MmNjNTJkYzM2MDUxOTIy
MmNkMWU1NGMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3N5c3Rl
bS9leGVjdXRpdmUucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVt
L2V4ZWN1dGl2ZS5weQpAQCAtODEsMjIgKzgxLDIzIEBAIGNsYXNzIFNjcmlwdEVycm9yKEV4Y2Vw
dGlvbik6CiAgICAgICAgIHJldHVybiBvcy5wYXRoLmJhc2VuYW1lKGNvbW1hbmRfcGF0aCkKIAog
Ci1jbGFzcyBFeGVjdXRpdmUoQWJzdHJhY3RFeGVjdXRpdmUpOgotICAgIFBJUEUgPSBzdWJwcm9j
ZXNzLlBJUEUKLSAgICBTVERPVVQgPSBzdWJwcm9jZXNzLlNURE9VVAorY2xhc3MgV3JhcHBlZFBv
cGVuKG9iamVjdCk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHBvcGVuKToKKyAgICAgICAgZm9y
IGF0dHJpYnV0ZSBpbiBkaXIocG9wZW4pOgorICAgICAgICAgICAgaWYgYXR0cmlidXRlLnN0YXJ0
c3dpdGgoJ19fJyk6CisgICAgICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgICAgIHNldGF0
dHIoc2VsZiwgYXR0cmlidXRlLCBnZXRhdHRyKHBvcGVuLCBhdHRyaWJ1dGUpKQorCisgICAgZGVm
IF9fZW50ZXJfXyhzZWxmKToKKyAgICAgICAgcmV0dXJuIHNlbGYKIAotICAgIGNsYXNzIFdyYXBw
ZWRQb3BlbihvYmplY3QpOgotICAgICAgICBkZWYgX19pbml0X18oc2VsZiwgcG9wZW4pOgotICAg
ICAgICAgICAgZm9yIGF0dHJpYnV0ZSBpbiBkaXIocG9wZW4pOgotICAgICAgICAgICAgICAgIGlm
IGF0dHJpYnV0ZS5zdGFydHN3aXRoKCdfXycpOgotICAgICAgICAgICAgICAgICAgICBjb250aW51
ZQotICAgICAgICAgICAgICAgIHNldGF0dHIoc2VsZiwgYXR0cmlidXRlLCBnZXRhdHRyKHBvcGVu
LCBhdHRyaWJ1dGUpKQorICAgIGRlZiBfX2V4aXRfXyhzZWxmLCAqYXJncyk6CisgICAgICAgIHNl
bGYud2FpdCgpCiAKLSAgICAgICAgZGVmIF9fZW50ZXJfXyhzZWxmKToKLSAgICAgICAgICAgIHJl
dHVybiBzZWxmCiAKLSAgICAgICAgZGVmIF9fZXhpdF9fKHNlbGYsICphcmdzKToKLSAgICAgICAg
ICAgIHNlbGYud2FpdCgpCitjbGFzcyBFeGVjdXRpdmUoQWJzdHJhY3RFeGVjdXRpdmUpOgorICAg
IFBJUEUgPSBzdWJwcm9jZXNzLlBJUEUKKyAgICBTVERPVVQgPSBzdWJwcm9jZXNzLlNURE9VVAog
CiAgICAgZGVmIF9faW5pdF9fKHNlbGYpOgogICAgICAgICBzZWxmLnBpZF90b19zeXN0ZW1fcGlk
ID0ge30KQEAgLTUzNCw3ICs1MzUsNyBAQCBjbGFzcyBFeGVjdXRpdmUoQWJzdHJhY3RFeGVjdXRp
dmUpOgogICAgICAgICAjIFB5dGhvbiAzIHRyZWF0cyBQb3BlbiBhcyBhIGNvbnRleHQgbWFuYWdl
ciwgd2Ugc2hvdWxkIGFsbG93IHRoaXMgaW4gUHl0aG9uIDIKICAgICAgICAgcmVzdWx0ID0gc3Vi
cHJvY2Vzcy5Qb3BlbihzdHJpbmdfYXJncywgZW52PWVudiwgKiprd2FyZ3MpCiAgICAgICAgIGlm
IG5vdCBjYWxsYWJsZShnZXRhdHRyKHJlc3VsdCwgIl9fZW50ZXJfXyIsIE5vbmUpKSBhbmQgbm90
IGNhbGxhYmxlKGdldGF0dHIocmVzdWx0LCAiX19leGl0X18iLCBOb25lKSk6Ci0gICAgICAgICAg
ICByZXR1cm4gc2VsZi5XcmFwcGVkUG9wZW4ocmVzdWx0KQorICAgICAgICAgICAgcmV0dXJuIFdy
YXBwZWRQb3BlbihyZXN1bHQpCiAgICAgICAgIHJldHVybiByZXN1bHQKIAogICAgIGRlZiBydW5f
aW5fcGFyYWxsZWwoc2VsZiwgY29tbWFuZF9saW5lc19hbmRfY3dkcywgcHJvY2Vzc2VzPU5vbmUp
OgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2Jhc2UucHkgYi9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvYmFzZS5weQppbmRleCBjMTA3OGMzZjIxMmY2YzQ5ZmYw
ZDM3NGMzOTg1YWI1NDE0NzBkMzJjLi40ODQ5ODg4OTc4NDBiNTFkZTM4NjVmM2U1ZTE0Mzc5NDg5
NzE2MWNkIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvYmFzZS5weQor
KysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvYmFzZS5weQpAQCAtODIsNiArODIsOSBA
QCBjbGFzcyBQb3J0KG9iamVjdCk6CiAgICAgREVGQVVMVF9ERVZJQ0VfVFlQRVMgPSBbXQogCiAg
ICAgaGVscGVyID0gTm9uZQorICAgIF93ZWJfcGxhdGZvcm1fdGVzdF9zZXJ2ZXIgPSBOb25lCisg
ICAgX3dlYnNvY2tldF9zZWN1cmVfc2VydmVyID0gTm9uZQorICAgIF93ZWJzb2NrZXRfc2VydmVy
ID0gTm9uZQogCiAgICAgQGNsYXNzbWV0aG9kCiAgICAgZGVmIGRldGVybWluZV9mdWxsX3BvcnRf
bmFtZShjbHMsIGhvc3QsIG9wdGlvbnMsIHBvcnRfbmFtZSk6CkBAIC0xMTgsOSArMTIxLDYgQEAg
Y2xhc3MgUG9ydChvYmplY3QpOgogICAgICAgICBzZWxmLnByZXR0eV9wYXRjaCA9IFByZXR0eVBh
dGNoKHNlbGYuX2V4ZWN1dGl2ZSwgc2VsZi5wYXRoX2Zyb21fd2Via2l0X2Jhc2UoKSwgc2VsZi5f
ZmlsZXN5c3RlbSkKIAogICAgICAgICBzZWxmLl9odHRwX3NlcnZlciA9IE5vbmUKLSAgICAgICAg
c2VsZi5fd2Vic29ja2V0X3NlcnZlciA9IE5vbmUKLSAgICAgICAgc2VsZi5fd2Vic29ja2V0X3Nl
Y3VyZV9zZXJ2ZXIgPSBOb25lCi0gICAgICAgIHNlbGYuX3dlYl9wbGF0Zm9ybV90ZXN0X3NlcnZl
ciA9IE5vbmUKICAgICAgICAgc2VsZi5faW1hZ2VfZGlmZmVyID0gTm9uZQogICAgICAgICBzZWxm
Ll9zZXJ2ZXJfcHJvY2Vzc19jb25zdHJ1Y3RvciA9IHNlcnZlcl9wcm9jZXNzLlNlcnZlclByb2Nl
c3MgICMgb3ZlcnJpZGFibGUgZm9yIHRlc3RpbmcKICAgICAgICAgc2VsZi5fdGVzdF9ydW5uZXJf
cHJvY2Vzc19jb25zdHJ1Y3RvciA9IHNlcnZlcl9wcm9jZXNzLlNlcnZlclByb2Nlc3MKQEAgLTg2
MywxMiArODYzLDEyIEBAIGNsYXNzIFBvcnQob2JqZWN0KToKICAgICAgICAgcG9ydHMgPSBbXQog
ICAgICAgICBpZiBzZWxmLl9odHRwX3NlcnZlcjoKICAgICAgICAgICAgIHBvcnRzLmV4dGVuZChz
ZWxmLl9odHRwX3NlcnZlci5wb3J0c190b19mb3J3YXJkKCkpCi0gICAgICAgIGlmIHNlbGYuX3dl
YnNvY2tldF9zZXJ2ZXI6Ci0gICAgICAgICAgICBwb3J0cy5leHRlbmQoc2VsZi5fd2Vic29ja2V0
X3NlcnZlci5wb3J0c190b19mb3J3YXJkKCkpCi0gICAgICAgIGlmIHNlbGYuX3dlYnNvY2tldF9z
ZXJ2ZXI6Ci0gICAgICAgICAgICBwb3J0cy5leHRlbmQoc2VsZi5fd2Vic29ja2V0X3NlY3VyZV9z
ZXJ2ZXIucG9ydHNfdG9fZm9yd2FyZCgpKQotICAgICAgICBpZiBzZWxmLl93ZWJfcGxhdGZvcm1f
dGVzdF9zZXJ2ZXI6Ci0gICAgICAgICAgICBwb3J0cy5leHRlbmQoc2VsZi5fd2ViX3BsYXRmb3Jt
X3Rlc3Rfc2VydmVyLnBvcnRzX3RvX2ZvcndhcmQoKSkKKyAgICAgICAgaWYgUG9ydC5fd2Vic29j
a2V0X3NlcnZlcjoKKyAgICAgICAgICAgIHBvcnRzLmV4dGVuZChQb3J0Ll93ZWJzb2NrZXRfc2Vy
dmVyLnBvcnRzX3RvX2ZvcndhcmQoKSkKKyAgICAgICAgaWYgUG9ydC5fd2Vic29ja2V0X3NlcnZl
cjoKKyAgICAgICAgICAgIHBvcnRzLmV4dGVuZChQb3J0Ll93ZWJzb2NrZXRfc2VjdXJlX3NlcnZl
ci5wb3J0c190b19mb3J3YXJkKCkpCisgICAgICAgIGlmIFBvcnQuX3dlYl9wbGF0Zm9ybV90ZXN0
X3NlcnZlcjoKKyAgICAgICAgICAgIHBvcnRzLmV4dGVuZChQb3J0Ll93ZWJfcGxhdGZvcm1fdGVz
dF9zZXJ2ZXIucG9ydHNfdG9fZm9yd2FyZCgpKQogICAgICAgICByZXR1cm4gcG9ydHMKIAogICAg
IGRlZiBzdGFydF9odHRwX3NlcnZlcihzZWxmLCBhZGRpdGlvbmFsX2RpcnM9Tm9uZSk6CkBAIC04
OTQsMTIgKzg5NCwxMiBAQCBjbGFzcyBQb3J0KG9iamVjdCk6CiAgICAgICAgIHJldHVybiBodHRw
X3NlcnZlcl9iYXNlLmlzX2h0dHBfc2VydmVyX3J1bm5pbmcoKQogCiAgICAgZGVmIGlzX3dlYnNv
Y2tldF9zZXJ2ZXJfcnVubmluZyhzZWxmKToKLSAgICAgICAgaWYgc2VsZi5fd2Vic29ja2V0X3Nl
cnZlcjoKKyAgICAgICAgaWYgUG9ydC5fd2Vic29ja2V0X3NlcnZlcjoKICAgICAgICAgICAgIHJl
dHVybiBUcnVlCiAgICAgICAgIHJldHVybiB3ZWJzb2NrZXRfc2VydmVyLmlzX3dlYl9zb2NrZXRf
c2VydmVyX3J1bm5pbmcoKQogCiAgICAgZGVmIGlzX3dwdF9zZXJ2ZXJfcnVubmluZyhzZWxmKToK
LSAgICAgICAgaWYgc2VsZi5fd2ViX3BsYXRmb3JtX3Rlc3Rfc2VydmVyOgorICAgICAgICBpZiBQ
b3J0Ll93ZWJfcGxhdGZvcm1fdGVzdF9zZXJ2ZXI6CiAgICAgICAgICAgICByZXR1cm4gVHJ1ZQog
ICAgICAgICByZXR1cm4gd2ViX3BsYXRmb3JtX3Rlc3Rfc2VydmVyLmlzX3dwdF9zZXJ2ZXJfcnVu
bmluZyhzZWxmKQogCkBAIC05MDcsMTQgKzkwNywxNCBAQCBjbGFzcyBQb3J0KG9iamVjdCk6CiAg
ICAgICAgICIiIlN0YXJ0IGEgd2ViIHNlcnZlci4gUmFpc2UgYW4gZXJyb3IgaWYgaXQgY2FuJ3Qg
c3RhcnQgb3IgaXMgYWxyZWFkeSBydW5uaW5nLgogCiAgICAgICAgIFBvcnRzIGNhbiBzdHViIHRo
aXMgb3V0IGlmIHRoZXkgZG9uJ3QgbmVlZCBhIHdlYnNvY2tldCBzZXJ2ZXIgdG8gYmUgcnVubmlu
Zy4iIiIKLSAgICAgICAgYXNzZXJ0IG5vdCBzZWxmLl93ZWJzb2NrZXRfc2VydmVyLCAnQWxyZWFk
eSBydW5uaW5nIGEgd2Vic29ja2V0IHNlcnZlci4nCisgICAgICAgIGFzc2VydCBub3QgUG9ydC5f
d2Vic29ja2V0X3NlcnZlciwgJ0FscmVhZHkgcnVubmluZyBhIHdlYnNvY2tldCBzZXJ2ZXIuJwog
CiAgICAgICAgIHNlcnZlciA9IHdlYnNvY2tldF9zZXJ2ZXIuUHlXZWJTb2NrZXQoc2VsZiwgc2Vs
Zi5yZXN1bHRzX2RpcmVjdG9yeSgpKQogICAgICAgICBzZXJ2ZXIuc3RhcnQoKQotICAgICAgICBz
ZWxmLl93ZWJzb2NrZXRfc2VydmVyID0gc2VydmVyCisgICAgICAgIFBvcnQuX3dlYnNvY2tldF9z
ZXJ2ZXIgPSBzZXJ2ZXIKIAogICAgICAgICB3ZWJzb2NrZXRfc2VydmVyX3RlbXBvcmFyeV9kaXJl
Y3RvcnkgPSBzZWxmLl9maWxlc3lzdGVtLm1rZHRlbXAocHJlZml4PSd3ZWJraXRweS13ZWJzb2Nr
ZXQtc2VydmVyJykKLSAgICAgICAgc2VsZi5fd2Vic29ja2V0X3NlcnZlcl90ZW1wb3JhcnlfZGly
ZWN0b3J5ID0gd2Vic29ja2V0X3NlcnZlcl90ZW1wb3JhcnlfZGlyZWN0b3J5CisgICAgICAgIFBv
cnQuX3dlYnNvY2tldF9zZXJ2ZXJfdGVtcG9yYXJ5X2RpcmVjdG9yeSA9IHdlYnNvY2tldF9zZXJ2
ZXJfdGVtcG9yYXJ5X2RpcmVjdG9yeQogCiAgICAgICAgIHBlbV9maWxlID0gc2VsZi5fZmlsZXN5
c3RlbS5qb2luKHNlbGYubGF5b3V0X3Rlc3RzX2RpcigpLCAiaHR0cCIsICJjb25mIiwgIndlYmtp
dC1odHRwZC5wZW0iKQogICAgICAgICBwZW0gPSBwZW1maWxlLmxvYWQoc2VsZi5fZmlsZXN5c3Rl
bSwgcGVtX2ZpbGUpCkBAIC05MjMsMTYgKzkyMywxNiBAQCBjbGFzcyBQb3J0KG9iamVjdCk6CiAg
ICAgICAgIHByaXZhdGVfa2V5X2ZpbGUgPSBzZWxmLl9maWxlc3lzdGVtLmpvaW4oc3RyKHdlYnNv
Y2tldF9zZXJ2ZXJfdGVtcG9yYXJ5X2RpcmVjdG9yeSksICd3ZWJraXQtaHR0cGQua2V5JykKICAg
ICAgICAgc2VsZi5fZmlsZXN5c3RlbS53cml0ZV90ZXh0X2ZpbGUocHJpdmF0ZV9rZXlfZmlsZSwg
cGVtLnByaXZhdGVfa2V5KQogCi0gICAgICAgIHNlY3VyZV9zZXJ2ZXIgPSBzZWxmLl93ZWJzb2Nr
ZXRfc2VjdXJlX3NlcnZlciA9IHdlYnNvY2tldF9zZXJ2ZXIuUHlXZWJTb2NrZXQoc2VsZiwgc2Vs
Zi5yZXN1bHRzX2RpcmVjdG9yeSgpLAorICAgICAgICBzZWN1cmVfc2VydmVyID0gUG9ydC5fd2Vi
c29ja2V0X3NlY3VyZV9zZXJ2ZXIgPSB3ZWJzb2NrZXRfc2VydmVyLlB5V2ViU29ja2V0KHNlbGYs
IHNlbGYucmVzdWx0c19kaXJlY3RvcnkoKSwKICAgICAgICAgICAgIHVzZV90bHM9VHJ1ZSwgcG9y
dD13ZWJzb2NrZXRfc2VydmVyLlB5V2ViU29ja2V0LkRFRkFVTFRfV1NTX1BPUlQsIHByaXZhdGVf
a2V5PXByaXZhdGVfa2V5X2ZpbGUsIGNlcnRpZmljYXRlPWNlcnRpZmljYXRlX2ZpbGUpCiAgICAg
ICAgIHNlY3VyZV9zZXJ2ZXIuc3RhcnQoKQotICAgICAgICBzZWxmLl93ZWJzb2NrZXRfc2VjdXJl
X3NlcnZlciA9IHNlY3VyZV9zZXJ2ZXIKKyAgICAgICAgUG9ydC5fd2Vic29ja2V0X3NlY3VyZV9z
ZXJ2ZXIgPSBzZWN1cmVfc2VydmVyCiAKICAgICBkZWYgc3RhcnRfd2ViX3BsYXRmb3JtX3Rlc3Rf
c2VydmVyKHNlbGYsIGFkZGl0aW9uYWxfZGlycz1Ob25lLCBudW1iZXJfb2Zfc2VydmVycz1Ob25l
KToKLSAgICAgICAgYXNzZXJ0IG5vdCBzZWxmLl93ZWJfcGxhdGZvcm1fdGVzdF9zZXJ2ZXIsICdB
bHJlYWR5IHJ1bm5pbmcgYSBXZWIgUGxhdGZvcm0gVGVzdCBzZXJ2ZXIuJworICAgICAgICBhc3Nl
cnQgbm90IFBvcnQuX3dlYl9wbGF0Zm9ybV90ZXN0X3NlcnZlciwgJ0FscmVhZHkgcnVubmluZyBh
IFdlYiBQbGF0Zm9ybSBUZXN0IHNlcnZlci4nCiAKLSAgICAgICAgc2VsZi5fd2ViX3BsYXRmb3Jt
X3Rlc3Rfc2VydmVyID0gd2ViX3BsYXRmb3JtX3Rlc3Rfc2VydmVyLldlYlBsYXRmb3JtVGVzdFNl
cnZlcihzZWxmLCAid3B0d2siKQotICAgICAgICBzZWxmLl93ZWJfcGxhdGZvcm1fdGVzdF9zZXJ2
ZXIuc3RhcnQoKQorICAgICAgICBQb3J0Ll93ZWJfcGxhdGZvcm1fdGVzdF9zZXJ2ZXIgPSB3ZWJf
cGxhdGZvcm1fdGVzdF9zZXJ2ZXIuV2ViUGxhdGZvcm1UZXN0U2VydmVyKHNlbGYsICJ3cHR3ayIp
CisgICAgICAgIFBvcnQuX3dlYl9wbGF0Zm9ybV90ZXN0X3NlcnZlci5zdGFydCgpCiAKICAgICBk
ZWYgd2ViX3BsYXRmb3JtX3Rlc3Rfc2VydmVyX2RvY19yb290KHNlbGYpOgogICAgICAgICByZXR1
cm4gd2ViX3BsYXRmb3JtX3Rlc3Rfc2VydmVyLmRvY19yb290KHNlbGYpLnJlcGxhY2UoJ1xcJywg
c2VsZi5URVNUX1BBVEhfU0VQQVJBVE9SKSArIHNlbGYuVEVTVF9QQVRIX1NFUEFSQVRPUgpAQCAt
OTcxLDE5ICs5NzEsMTkgQEAgY2xhc3MgUG9ydChvYmplY3QpOgogCiAgICAgZGVmIHN0b3Bfd2Vi
c29ja2V0X3NlcnZlcihzZWxmKToKICAgICAgICAgIiIiU2h1dCBkb3duIHRoZSB3ZWJzb2NrZXQg
c2VydmVyIGlmIGl0IGlzIHJ1bm5pbmcuIERvIG5vdGhpbmcgaWYgaXQgaXNuJ3QuIiIiCi0gICAg
ICAgIGlmIHNlbGYuX3dlYnNvY2tldF9zZXJ2ZXI6Ci0gICAgICAgICAgICBzZWxmLl93ZWJzb2Nr
ZXRfc2VydmVyLnN0b3AoKQotICAgICAgICAgICAgc2VsZi5fd2Vic29ja2V0X3NlcnZlciA9IE5v
bmUKLSAgICAgICAgaWYgc2VsZi5fd2Vic29ja2V0X3NlY3VyZV9zZXJ2ZXI6Ci0gICAgICAgICAg
ICBzZWxmLl93ZWJzb2NrZXRfc2VjdXJlX3NlcnZlci5zdG9wKCkKLSAgICAgICAgICAgIHNlbGYu
X3dlYnNvY2tldF9zZWN1cmVfc2VydmVyID0gTm9uZQotICAgICAgICBpZiBzZWxmLl93ZWJzb2Nr
ZXRfc2VydmVyX3RlbXBvcmFyeV9kaXJlY3Rvcnk6Ci0gICAgICAgICAgICBzZWxmLl9maWxlc3lz
dGVtLnJtdHJlZShzdHIoc2VsZi5fd2Vic29ja2V0X3NlcnZlcl90ZW1wb3JhcnlfZGlyZWN0b3J5
KSkKKyAgICAgICAgaWYgUG9ydC5fd2Vic29ja2V0X3NlcnZlcjoKKyAgICAgICAgICAgIFBvcnQu
X3dlYnNvY2tldF9zZXJ2ZXIuc3RvcCgpCisgICAgICAgICAgICBQb3J0Ll93ZWJzb2NrZXRfc2Vy
dmVyID0gTm9uZQorICAgICAgICBpZiBQb3J0Ll93ZWJzb2NrZXRfc2VjdXJlX3NlcnZlcjoKKyAg
ICAgICAgICAgIFBvcnQuX3dlYnNvY2tldF9zZWN1cmVfc2VydmVyLnN0b3AoKQorICAgICAgICAg
ICAgUG9ydC5fd2Vic29ja2V0X3NlY3VyZV9zZXJ2ZXIgPSBOb25lCisgICAgICAgIGlmIFBvcnQu
X3dlYnNvY2tldF9zZXJ2ZXJfdGVtcG9yYXJ5X2RpcmVjdG9yeToKKyAgICAgICAgICAgIHNlbGYu
X2ZpbGVzeXN0ZW0ucm10cmVlKHN0cihQb3J0Ll93ZWJzb2NrZXRfc2VydmVyX3RlbXBvcmFyeV9k
aXJlY3RvcnkpKQogCiAgICAgZGVmIHN0b3Bfd2ViX3BsYXRmb3JtX3Rlc3Rfc2VydmVyKHNlbGYp
OgotICAgICAgICBpZiBzZWxmLl93ZWJfcGxhdGZvcm1fdGVzdF9zZXJ2ZXI6Ci0gICAgICAgICAg
ICBzZWxmLl93ZWJfcGxhdGZvcm1fdGVzdF9zZXJ2ZXIuc3RvcCgpCi0gICAgICAgICAgICBzZWxm
Ll93ZWJfcGxhdGZvcm1fdGVzdF9zZXJ2ZXIgPSBOb25lCisgICAgICAgIGlmIFBvcnQuX3dlYl9w
bGF0Zm9ybV90ZXN0X3NlcnZlcjoKKyAgICAgICAgICAgIFBvcnQuX3dlYl9wbGF0Zm9ybV90ZXN0
X3NlcnZlci5zdG9wKCkKKyAgICAgICAgICAgIFBvcnQuX3dlYl9wbGF0Zm9ybV90ZXN0X3NlcnZl
ciA9IE5vbmUKIAogICAgIGRlZiBleGl0X2NvZGVfZnJvbV9zdW1tYXJpemVkX3Jlc3VsdHMoc2Vs
ZiwgdW5leHBlY3RlZF9yZXN1bHRzKToKICAgICAgICAgIiIiR2l2ZW4gc3VtbWFyaXplZCByZXN1
bHRzLCBjb21wdXRlIHRoZSBleGl0IGNvZGUgdG8gYmUgcmV0dXJuZWQgYnkgbmV3LXJ1bi13ZWJr
aXQtdGVzdHMuCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>