<?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>223829</bug_id>
          
          <creation_ts>2021-03-26 17:18:58 -0700</creation_ts>
          <short_desc>[ews] Commit queue should post the identifier</short_desc>
          <delta_ts>2021-04-07 10:58:08 -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>
          
          
          <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="Jonathan Bedard">jbedard</reporter>
          <assigned_to name="Jonathan Bedard">jbedard</assigned_to>
          <cc>aakash_jain</cc>
    
    <cc>ap</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1744397</commentid>
    <comment_count>0</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-03-26 17:18:58 -0700</bug_when>
    <thetext>Commit queue should post identifiers when it lands changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1744398</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-03-26 17:19:14 -0700</bug_when>
    <thetext>&lt;rdar://problem/75908321&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1744401</commentid>
    <comment_count>2</comment_count>
      <attachid>424424</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-03-26 17:21:20 -0700</bug_when>
    <thetext>Created attachment 424424
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1745277</commentid>
    <comment_count>3</comment_count>
      <attachid>424683</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-03-30 13:32:49 -0700</bug_when>
    <thetext>Created attachment 424683
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1745286</commentid>
    <comment_count>4</comment_count>
      <attachid>424688</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-03-30 13:44:01 -0700</bug_when>
    <thetext>Created attachment 424688
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1745300</commentid>
    <comment_count>5</comment_count>
      <attachid>424691</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-03-30 14:01:04 -0700</bug_when>
    <thetext>Created attachment 424691
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1745303</commentid>
    <comment_count>6</comment_count>
      <attachid>424691</attachid>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2021-03-30 14:05:35 -0700</bug_when>
    <thetext>Comment on attachment 424691
Patch

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

&gt; Tools/CISupport/ews-build/steps.py:3251
&gt; +        if response.status_code == 200:

we should handle the else case gracefully (since there might be a network/infrastructure issue with the other server) and revert back to original behavior of posting svn revision urls.

&gt; Tools/CISupport/ews-build/steps.py:3254
&gt; +        comment = &apos;Committed r{} ({}): &lt;{}&gt;&apos;.format(svn_revision, ref if &apos;@&apos; in ref else &apos;?&apos;, self.url_for_ref(ref))

can we make it multi-line statement for clarify, instead of using embedded single line if else.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1745313</commentid>
    <comment_count>7</comment_count>
      <attachid>424695</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-03-30 14:18:04 -0700</bug_when>
    <thetext>Created attachment 424695
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1745330</commentid>
    <comment_count>8</comment_count>
      <attachid>424699</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-03-30 14:34:09 -0700</bug_when>
    <thetext>Created attachment 424699
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1745346</commentid>
    <comment_count>9</comment_count>
      <attachid>424702</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-03-30 14:55:52 -0700</bug_when>
    <thetext>Created attachment 424702
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1745356</commentid>
    <comment_count>10</comment_count>
      <attachid>424705</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-03-30 15:02:56 -0700</bug_when>
    <thetext>Created attachment 424705
Patch (webkitcorepy)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1745358</commentid>
    <comment_count>11</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-03-30 15:06:38 -0700</bug_when>
    <thetext>The first change just mocks requests.get explicitly. The second utilizes the more complete mocking system provided by webkitcorepy. The issue with using this system is that our buildbot unit tests don&apos;t have a dependency on webkitcorepy yet, and it&apos;s unclear that we want to add that dependency.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1745621</commentid>
    <comment_count>12</comment_count>
      <attachid>424699</attachid>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2021-03-31 08:20:29 -0700</bug_when>
    <thetext>Comment on attachment 424699
Patch

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

&gt; Tools/CISupport/ews-build/steps.py:3251
&gt; +        if response.status_code == 200:

Need to handle the case when response is None.

&gt; Tools/CISupport/ews-build/steps.py:3252
&gt; +            ref = response.json().get(&apos;identifier&apos;, ref)

Need to gracefully handle the case when response.json() returns an exception.

Better to do all this network handling in a separate method, e.g.: get_commit_identifier_for_revision()

&gt; Tools/CISupport/ews-build/steps.py:3254
&gt; +        id_string = ref if &apos;@&apos; in ref else &apos;?&apos;

Having a invalid url when commit-identifier is not available seems like a regression. Better to have svn revision url when commit identifier is not available.

&gt; Tools/CISupport/ews-build/steps_unittest.py:3978
&gt; +                self.status_code = 200

we should also add unit-tests to test non-200 status codes. Probably a good idea to make this status code an argument to init (with default value of 200).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1745661</commentid>
    <comment_count>13</comment_count>
      <attachid>424780</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-03-31 09:51:14 -0700</bug_when>
    <thetext>Created attachment 424780
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1745666</commentid>
    <comment_count>14</comment_count>
      <attachid>424782</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-03-31 09:57:21 -0700</bug_when>
    <thetext>Created attachment 424782
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1745793</commentid>
    <comment_count>15</comment_count>
      <attachid>424782</attachid>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2021-03-31 15:00:31 -0700</bug_when>
    <thetext>Comment on attachment 424782
Patch

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

&gt; Tools/CISupport/ews-build/steps.py:3271
&gt; +    def url_for_ref(self, ref, json=False):

This method is little confusing, can we have two separate methods to generate commit identifier url and svn revision info url, something like: url_for_commit_identifer() and url_for_svn_revision_info()

Also, when we remove svn support, we can then simply delete the corresponding svn method.

&gt; Tools/CISupport/ews-build/steps.py:3274
&gt; +    def identifier_for_ref(self, ref):

can we rename it to identifier_for_svn_revision, and rename ref to svn_revision here for clarity.

&gt; Tools/CISupport/ews-build/steps.py:3279
&gt; +        except (requests.exceptions.ConnectionError, json.decoder.JSONDecodeError):

Let&apos;s do generic except here to catch any exception here. I know in general we avoid that so as to know the specific expectation and properly handle that, but this is not the place to take risk. Having any unexpected exception here is too bad, we would have already committed to the repo, but the build would be marked as &quot;exception&quot; and patch would still have cq+ flag and no comment/indication on it.

Also, let&apos;s add a print statement here so that server logs have some indication of this error.

&gt; Tools/CISupport/ews-build/steps.py:3291
&gt; +        id_string = ref if &apos;@&apos; in ref else &apos;?&apos;

can we rename id_string to commit_identifier, because that&apos;s what it is.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1745825</commentid>
    <comment_count>16</comment_count>
      <attachid>424832</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-03-31 15:33:22 -0700</bug_when>
    <thetext>Created attachment 424832
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1745836</commentid>
    <comment_count>17</comment_count>
      <attachid>424837</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-03-31 15:43:59 -0700</bug_when>
    <thetext>Created attachment 424837
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1746008</commentid>
    <comment_count>18</comment_count>
      <attachid>424837</attachid>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2021-04-01 06:44:39 -0700</bug_when>
    <thetext>Comment on attachment 424837
Patch

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

&gt; Tools/CISupport/ews-build/steps_unittest.py:4121
&gt;          self.expectOutcome(result=SUCCESS, state_string=&apos;Committed r256729&apos;)

The build and step summary should also be updated to use/include Commit Identifier.
build summary is set using build_summary property which is set in PushCommitToWebKitRepo::evaluateCommand()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1746010</commentid>
    <comment_count>19</comment_count>
      <attachid>424837</attachid>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2021-04-01 06:47:48 -0700</bug_when>
    <thetext>Comment on attachment 424837
Patch

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

&gt; Tools/CISupport/ews-build/steps_unittest.py:4124
&gt; +        self.assertEqual(self.getProperty(&apos;bugzilla_comment_text&apos;), &apos;Committed r256729 (220797@main): &lt;https://commits.webkit.org/220797@main&gt;\n\nAll reviewed patches have been landed. Closing bug and clearing flags on attachment 1234.&apos;)

Should we use
Committed r256729 (220797@main)
or
Committed 220797@main (r256729)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1746121</commentid>
    <comment_count>20</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-04-01 11:38:23 -0700</bug_when>
    <thetext>(In reply to Aakash Jain from comment #19)
&gt; Comment on attachment 424837 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=424837&amp;action=review
&gt; 
&gt; &gt; Tools/CISupport/ews-build/steps_unittest.py:4124
&gt; &gt; +        self.assertEqual(self.getProperty(&apos;bugzilla_comment_text&apos;), &apos;Committed r256729 (220797@main): &lt;https://commits.webkit.org/220797@main&gt;\n\nAll reviewed patches have been landed. Closing bug and clearing flags on attachment 1234.&apos;)
&gt; 
&gt; Should we use
&gt; Committed r256729 (220797@main)
&gt; or
&gt; Committed 220797@main (r256729)

Dean and I discussed this a few weeks back, we&apos;re matching what webkit-patch land does.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1746142</commentid>
    <comment_count>21</comment_count>
      <attachid>424922</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-04-01 11:59:35 -0700</bug_when>
    <thetext>Created attachment 424922
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1746153</commentid>
    <comment_count>22</comment_count>
      <attachid>424925</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-04-01 12:03:07 -0700</bug_when>
    <thetext>Created attachment 424925
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1746163</commentid>
    <comment_count>23</comment_count>
      <attachid>424925</attachid>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2021-04-01 12:12:30 -0700</bug_when>
    <thetext>Comment on attachment 424925
Patch

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

&gt; Tools/CISupport/ews-build/steps.py:3290
&gt; +            response = requests.get(&apos;{}/json&apos;.format(self.url_for_revision(revision)))

would be a good idea to include a timeout in this requests, say 1 or 2 minutes, or ensure that this doesn&apos;t get stuck forever in case of network issue.

Also, can consider separating url in a separate line, e.g.: url = &apos;{}/json&apos;.format(self.url_for_revision(revision))

&gt; Tools/CISupport/ews-build/steps.py:3291
&gt; +            if response and response.status_code == 200:

we should have a print statement for else case, which prints an error message and status code to the logs.

&gt; Tools/CISupport/ews-build/steps.py:3304
&gt; +        identifier = identifier if identifier and &apos;@&apos; in identifier else &apos;?&apos;

In case we can&apos;t find identifier, I wonder if we should print &quot;(?)&quot;, or just not include it at all.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1746178</commentid>
    <comment_count>24</comment_count>
      <attachid>424932</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-04-01 12:30:01 -0700</bug_when>
    <thetext>Created attachment 424932
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1746189</commentid>
    <comment_count>25</comment_count>
      <attachid>424941</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-04-01 12:38:45 -0700</bug_when>
    <thetext>Created attachment 424941
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1746192</commentid>
    <comment_count>26</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-04-01 12:41:35 -0700</bug_when>
    <thetext>(In reply to Aakash Jain from comment #23)
&gt; Comment on attachment 424925 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=424925&amp;action=review
&gt; 
&gt; &gt; Tools/CISupport/ews-build/steps.py:3290
&gt; &gt; +            response = requests.get(&apos;{}/json&apos;.format(self.url_for_revision(revision)))
&gt; 
&gt; would be a good idea to include a timeout in this requests, say 1 or 2
&gt; minutes, or ensure that this doesn&apos;t get stuck forever in case of network
&gt; issue.
&gt; 
&gt; Also, can consider separating url in a separate line, e.g.: url =
&gt; &apos;{}/json&apos;.format(self.url_for_revision(revision))
&gt; 
&gt; &gt; Tools/CISupport/ews-build/steps.py:3291
&gt; &gt; +            if response and response.status_code == 200:
&gt; 
&gt; we should have a print statement for else case, which prints an error
&gt; message and status code to the logs.
&gt; 
&gt; &gt; Tools/CISupport/ews-build/steps.py:3304
&gt; &gt; +        identifier = identifier if identifier and &apos;@&apos; in identifier else &apos;?&apos;
&gt; 
&gt; In case we can&apos;t find identifier, I wonder if we should print &quot;(?)&quot;, or just
&gt; not include it at all.

I think we should print &quot;(?)&quot;. Otherwise folks are unlikely to notice something is broken, because the pure-revision representation looks reasonable</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1747475</commentid>
    <comment_count>27</comment_count>
      <attachid>424941</attachid>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2021-04-06 09:45:01 -0700</bug_when>
    <thetext>Comment on attachment 424941
Patch

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

&gt; Tools/CISupport/ews-build/steps.py:3267
&gt; +            self.setProperty(&apos;build_summary&apos;, &apos;Committed {}&apos;.format(identifier))

Nit: can use commit_summary variable here.

&gt; Tools/CISupport/ews-build/steps.py:3282
&gt;      def url_for_revision(self, revision):

Seems like this method is used only once, to create another url (for json). We can rename this method to something like url_for_revision_details() and include /json in the returned url.

&gt; Tools/CISupport/ews-build/steps.py:3308
&gt; +        str_if_identifier = identifier if identifier and &apos;@&apos; in identifier else &apos;?&apos;

Nit: did you mean &apos;str_of_identifier&apos;? or maybe identifier_str.

&gt; Tools/CISupport/ews-build/steps_unittest.py:4126
&gt; +            self.assertEqual(self.getProperty(&apos;build_finish_summary&apos;), None)

let&apos;s test build_summary property as well here (in all these unit-tests).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1747702</commentid>
    <comment_count>28</comment_count>
      <attachid>425335</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-04-06 16:38:35 -0700</bug_when>
    <thetext>Created attachment 425335
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1747912</commentid>
    <comment_count>29</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2021-04-07 09:14:50 -0700</bug_when>
    <thetext>(In reply to Jonathan Bedard from comment #28)
&gt; Created attachment 425335 [details]
Tested in https://ews-build.webkit-uat.org/#/builders/26/builds/1715
Bugzilla comment: https://bugs.webkit.org/show_bug.cgi?id=223606#c6</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1747957</commentid>
    <comment_count>30</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2021-04-07 10:27:57 -0700</bug_when>
    <thetext>Another test: https://ews-build.webkit-uat.org/#/builders/26/builds/1716
Bugzilla comment: https://bugs.webkit.org/show_bug.cgi?id=223686#c11</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1747969</commentid>
    <comment_count>31</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-04-07 10:58:07 -0700</bug_when>
    <thetext>Committed r275613: &lt;https://commits.webkit.org/r275613&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 425335.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424424</attachid>
            <date>2021-03-26 17:21:20 -0700</date>
            <delta_ts>2021-03-30 13:32:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223829-20210326172119.patch</filename>
            <type>text/plain</type>
            <size>2504</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI3NTEyMykKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE3IEBACisyMDIxLTAzLTI2ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICBbYnVpbGQud2Via2l0Lm9yZ10gQ29tbWl0IHF1ZXVlIHNob3VsZCBwb3N0
IHRoZSBpZGVudGlmaWVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMjM4MjkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc1OTA4MzIxPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ0lTdXBwb3J0L2V3
cy1idWlsZC9zdGVwcy5weToKKyAgICAgICAgKFB1c2hDb21taXRUb1dlYktpdFJlcG8udXJsX2Zv
cl9yZWYpOiBSZW5hbWVkIGZyb20gdXJsX2Zvcl9yZXZpc2lvbi4KKyAgICAgICAgKFB1c2hDb21t
aXRUb1dlYktpdFJlcG8uY29tbWVudF90ZXh0X2Zvcl9idWcpOiBDb25zdWx0IGNvbW1pdHMud2Vi
a2l0Lm9yZyB0byBjb252ZXJ0IHJldmlzaW9uCisgICAgICAgIHRvIGlkZW50aWZpZXIuCisgICAg
ICAgIChQdXNoQ29tbWl0VG9XZWJLaXRSZXBvLnVybF9mb3JfcmV2aXNpb24pOiBSZW5hbWVkIHRv
IHVybF9mb3JfcmVmLgorCiAyMDIxLTAzLTI2ICBUeWxlciBXaWxjb2NrICA8dHdpbGNvLm9AcHJv
dG9ubWFpbC5jb20+CiAKICAgICAgICAgRml4IFR5cGVFcnJvcjogQ2FuJ3QgbWl4IHN0cmluZ3Mg
YW5kIGJ5dGVzIGluIHBhdGggY29tcG9uZW50cyBpbiBUb29scy9TY3JpcHRzL2R1bXAtY2xhc3Mt
bGF5b3V0CkluZGV4OiBUb29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzLnB5Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFRvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvc3RlcHMucHkJKHJldmlzaW9uIDI3NTEy
MikKKysrIFRvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvc3RlcHMucHkJKHdvcmtpbmcgY29weSkK
QEAgLTMxODksOCArMzE4OSw4IEBAIGNsYXNzIFB1c2hDb21taXRUb1dlYktpdFJlcG8oc2hlbGwu
U2hlbGwKICAgICAgICAgICAgIHNlbGYuYnVpbGQuYWRkU3RlcHNBZnRlckN1cnJlbnRTdGVwKFtD
b21tZW50T25CdWcoKSwgU2V0Q29tbWl0UXVldWVNaW51c0ZsYWdPblBhdGNoKCldKQogICAgICAg
ICByZXR1cm4gcmMKIAotICAgIGRlZiB1cmxfZm9yX3JldmlzaW9uKHNlbGYsIHJldmlzaW9uKToK
LSAgICAgICAgcmV0dXJuICdodHRwczovL2NvbW1pdHMud2Via2l0Lm9yZy9ye30nLmZvcm1hdChy
ZXZpc2lvbikKKyAgICBkZWYgdXJsX2Zvcl9yZWYoc2VsZiwgcmVmKToKKyAgICAgICAgcmV0dXJu
ICdodHRwczovL2NvbW1pdHMud2Via2l0Lm9yZy97fScuZm9ybWF0KHJlZikKIAogICAgIGRlZiBj
b21tZW50X3RleHRfZm9yX2J1ZyhzZWxmLCBzdm5fcmV2aXNpb249Tm9uZSk6CiAgICAgICAgIHBh
dGNoX2lkID0gc2VsZi5nZXRQcm9wZXJ0eSgncGF0Y2hfaWQnLCAnJykKQEAgLTMxOTgsNyArMzE5
OCwxMyBAQCBjbGFzcyBQdXNoQ29tbWl0VG9XZWJLaXRSZXBvKHNoZWxsLlNoZWxsCiAgICAgICAg
ICAgICBjb21tZW50ID0gJ2NvbW1pdC1xdWV1ZSBmYWlsZWQgdG8gY29tbWl0IGF0dGFjaG1lbnQg
e30gdG8gV2ViS2l0IHJlcG9zaXRvcnkuJy5mb3JtYXQocGF0Y2hfaWQpCiAgICAgICAgICAgICBj
b21tZW50ICs9ICcgVG8gcmV0cnksIHBsZWFzZSBzZXQgY3ErIGZsYWcgYWdhaW4uJwogICAgICAg
ICAgICAgcmV0dXJuIGNvbW1lbnQKLSAgICAgICAgY29tbWVudCA9ICdDb21taXR0ZWQgcnt9OiA8
e30+Jy5mb3JtYXQoc3ZuX3JldmlzaW9uLCBzZWxmLnVybF9mb3JfcmV2aXNpb24oc3ZuX3Jldmlz
aW9uKSkKKworICAgICAgICByZWYgPSAncnt9Jy5mb3JtYXQoc3ZuX3JldmlzaW9uKQorICAgICAg
ICByZXNwb25zZSA9IHJlcXVlc3RzLmdldCgnaHR0cHM6Ly9jb21taXRzLndlYmtpdC5vcmcve30v
anNvbicuZm9ybWF0KHJlZikpCisgICAgICAgIGlmIHJlc3BvbnNlLnN0YXR1c19jb2RlID09IDIw
MDoKKyAgICAgICAgICAgIHJlZiA9IHJlc3BvbnNlLmpzb24oKS5nZXQoJ2lkZW50aWZpZXInLCBy
ZWYpCisKKyAgICAgICAgY29tbWVudCA9ICdDb21taXR0ZWQgcnt9ICh7fSk6IDx7fT4nLmZvcm1h
dChzdm5fcmV2aXNpb24sIHJlZiBpZiAnQCcgaW4gcmVmIGVsc2UgJz8nLCBzZWxmLnVybF9mb3Jf
cmVmKHJlZikpCiAgICAgICAgIGNvbW1lbnQgKz0gJ1xuXG5BbGwgcmV2aWV3ZWQgcGF0Y2hlcyBo
YXZlIGJlZW4gbGFuZGVkLiBDbG9zaW5nIGJ1ZyBhbmQgY2xlYXJpbmcgZmxhZ3Mgb24gYXR0YWNo
bWVudCB7fS4nLmZvcm1hdChwYXRjaF9pZCkKICAgICAgICAgcmV0dXJuIGNvbW1lbnQKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424683</attachid>
            <date>2021-03-30 13:32:49 -0700</date>
            <delta_ts>2021-03-30 13:43:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223829-20210330133248.patch</filename>
            <type>text/plain</type>
            <size>4426</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI3NTIyOCkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE3IEBACisyMDIxLTAzLTMwICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICBbYnVpbGQud2Via2l0Lm9yZ10gQ29tbWl0IHF1ZXVlIHNob3VsZCBwb3N0
IHRoZSBpZGVudGlmaWVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMjM4MjkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc1OTA4MzIxPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ0lTdXBwb3J0L2V3
cy1idWlsZC9zdGVwcy5weToKKyAgICAgICAgKFB1c2hDb21taXRUb1dlYktpdFJlcG8udXJsX2Zv
cl9yZWYpOiBSZW5hbWVkIGZyb20gdXJsX2Zvcl9yZXZpc2lvbi4KKyAgICAgICAgKFB1c2hDb21t
aXRUb1dlYktpdFJlcG8uY29tbWVudF90ZXh0X2Zvcl9idWcpOiBDb25zdWx0IGNvbW1pdHMud2Vi
a2l0Lm9yZyB0byBjb252ZXJ0IHJldmlzaW9uCisgICAgICAgIHRvIGlkZW50aWZpZXIuCisgICAg
ICAgIChQdXNoQ29tbWl0VG9XZWJLaXRSZXBvLnVybF9mb3JfcmV2aXNpb24pOiBSZW5hbWVkIHRv
IHVybF9mb3JfcmVmLgorCiAyMDIxLTAzLTMwICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFw
cGxlLmNvbT4KIAogICAgICAgICBbcmVzdWx0c2RicHldIFJldHVybiBuZXctc3R5bGUgY29tbWl0
cyAoRm9sbG93LXVwIGZpeCkKSW5kZXg6IFRvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvc3RlcHMu
cHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9zdGVwcy5weQkocmV2
aXNpb24gMjc1MjI4KQorKysgVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9zdGVwcy5weQkod29y
a2luZyBjb3B5KQpAQCAtMzIzNiw4ICszMjM2LDggQEAgY2xhc3MgUHVzaENvbW1pdFRvV2ViS2l0
UmVwbyhzaGVsbC5TaGVsbAogICAgICAgICAgICAgc2VsZi5idWlsZC5hZGRTdGVwc0FmdGVyQ3Vy
cmVudFN0ZXAoW0NvbW1lbnRPbkJ1ZygpLCBTZXRDb21taXRRdWV1ZU1pbnVzRmxhZ09uUGF0Y2go
KV0pCiAgICAgICAgIHJldHVybiByYwogCi0gICAgZGVmIHVybF9mb3JfcmV2aXNpb24oc2VsZiwg
cmV2aXNpb24pOgotICAgICAgICByZXR1cm4gJ2h0dHBzOi8vY29tbWl0cy53ZWJraXQub3JnL3J7
fScuZm9ybWF0KHJldmlzaW9uKQorICAgIGRlZiB1cmxfZm9yX3JlZihzZWxmLCByZWYsIGpzb249
RmFsc2UpOgorICAgICAgICByZXR1cm4gJ3t9e317fScuZm9ybWF0KENPTU1JVFNfSU5GT19VUkws
IHJlZiwgJy9qc29uJyBpZiBqc29uIGVsc2UgJycpCiAKICAgICBkZWYgY29tbWVudF90ZXh0X2Zv
cl9idWcoc2VsZiwgc3ZuX3JldmlzaW9uPU5vbmUpOgogICAgICAgICBwYXRjaF9pZCA9IHNlbGYu
Z2V0UHJvcGVydHkoJ3BhdGNoX2lkJywgJycpCkBAIC0zMjQ1LDcgKzMyNDUsMTMgQEAgY2xhc3Mg
UHVzaENvbW1pdFRvV2ViS2l0UmVwbyhzaGVsbC5TaGVsbAogICAgICAgICAgICAgY29tbWVudCA9
ICdjb21taXQtcXVldWUgZmFpbGVkIHRvIGNvbW1pdCBhdHRhY2htZW50IHt9IHRvIFdlYktpdCBy
ZXBvc2l0b3J5LicuZm9ybWF0KHBhdGNoX2lkKQogICAgICAgICAgICAgY29tbWVudCArPSAnIFRv
IHJldHJ5LCBwbGVhc2Ugc2V0IGNxKyBmbGFnIGFnYWluLicKICAgICAgICAgICAgIHJldHVybiBj
b21tZW50Ci0gICAgICAgIGNvbW1lbnQgPSAnQ29tbWl0dGVkIHJ7fTogPHt9PicuZm9ybWF0KHN2
bl9yZXZpc2lvbiwgc2VsZi51cmxfZm9yX3JldmlzaW9uKHN2bl9yZXZpc2lvbikpCisKKyAgICAg
ICAgcmVmID0gJ3J7fScuZm9ybWF0KHN2bl9yZXZpc2lvbikKKyAgICAgICAgcmVzcG9uc2UgPSBy
ZXF1ZXN0cy5nZXQoc2VsZi51cmxfZm9yX3JlZihyZWYsIGpzb249VHJ1ZSkpCisgICAgICAgIGlm
IHJlc3BvbnNlLnN0YXR1c19jb2RlID09IDIwMDoKKyAgICAgICAgICAgIHJlZiA9IHJlc3BvbnNl
Lmpzb24oKS5nZXQoJ2lkZW50aWZpZXInLCByZWYpCisKKyAgICAgICAgY29tbWVudCA9ICdDb21t
aXR0ZWQgcnt9ICh7fSk6IDx7fT4nLmZvcm1hdChzdm5fcmV2aXNpb24sIHJlZiBpZiAnQCcgaW4g
cmVmIGVsc2UgJz8nLCBzZWxmLnVybF9mb3JfcmVmKHJlZikpCiAgICAgICAgIGNvbW1lbnQgKz0g
J1xuXG5BbGwgcmV2aWV3ZWQgcGF0Y2hlcyBoYXZlIGJlZW4gbGFuZGVkLiBDbG9zaW5nIGJ1ZyBh
bmQgY2xlYXJpbmcgZmxhZ3Mgb24gYXR0YWNobWVudCB7fS4nLmZvcm1hdChwYXRjaF9pZCkKICAg
ICAgICAgcmV0dXJuIGNvbW1lbnQKIApJbmRleDogVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9z
dGVwc191bml0dGVzdC5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DSVN1cHBvcnQvZXdzLWJ1aWxk
L3N0ZXBzX3VuaXR0ZXN0LnB5CShyZXZpc2lvbiAyNzUyMjgpCisrKyBUb29scy9DSVN1cHBvcnQv
ZXdzLWJ1aWxkL3N0ZXBzX3VuaXR0ZXN0LnB5CSh3b3JraW5nIGNvcHkpCkBAIC0zNCw3ICszNCw3
IEBAIGZyb20gYnVpbGRib3QudGVzdC5mYWtlLnJlbW90ZWNvbW1hbmQgaW0KIGZyb20gYnVpbGRi
b3QudGVzdC51dGlsLm1pc2MgaW1wb3J0IFRlc3RSZWFjdG9yTWl4aW4KIGZyb20gYnVpbGRib3Qu
dGVzdC51dGlsLnN0ZXBzIGltcG9ydCBCdWlsZFN0ZXBNaXhpbgogZnJvbSBidWlsZGJvdC51dGls
IGltcG9ydCBpZGVudGlmaWVycyBhcyBidWlsZGJvdF9pZGVudGlmaWVycwotZnJvbSBtb2NrIGlt
cG9ydCBjYWxsCitmcm9tIG1vY2sgaW1wb3J0IGNhbGwsIHBhdGNoCiBmcm9tIHR3aXN0ZWQuaW50
ZXJuZXQgaW1wb3J0IGRlZmVyLCBlcnJvciwgcmVhY3RvcgogZnJvbSB0d2lzdGVkLnB5dGhvbiBp
bXBvcnQgZmFpbHVyZSwgbG9nCiBmcm9tIHR3aXN0ZWQudHJpYWwgaW1wb3J0IHVuaXR0ZXN0CkBA
IC0zOTcyLDYgKzM5NzIsMTggQEAgY2xhc3MgVGVzdFB1c2hDb21taXRUb1dlYktpdFJlcG8oQnVp
bGRTdAogICAgIGRlZiB0ZWFyRG93bihzZWxmKToKICAgICAgICAgcmV0dXJuIHNlbGYudGVhckRv
d25CdWlsZFN0ZXAoKQogCisgICAgZGVmIG1vY2tfY29tbWl0c193ZWJraXRfb3JnKCk6CisgICAg
ICAgIGNsYXNzIFJlc3BvbnNlKG9iamVjdCk6CisgICAgICAgICAgICBkZWYgX19pbml0X18oc2Vs
ZiwgZGF0YT17fSk6CisgICAgICAgICAgICAgICAgc2VsZi5zdGF0dXNfY29kZSA9IDIwMAorICAg
ICAgICAgICAgICAgIHNlbGYuaGVhZGVycyA9IHsnQ29udGVudC1UeXBlJzogJ3RleHQvanNvbid9
CisgICAgICAgICAgICAgICAgc2VsZi50ZXh0ID0ganNvbi5kdW1wcyhqc29uKQorCisgICAgICAg
IHJldHVybiBwYXRjaCgKKyAgICAgICAgICAgICdyZXF1ZXN0cy5nZXQnLAorICAgICAgICAgICAg
bGFtYmRhICphcmdzLCAqKmt3YXJnczogUmVzcG9uc2UoZGljdChpZGVudGlmaWVyPScyMjA3OTdA
bWFpbicpKQorICAgICAgICApCisKICAgICBkZWYgdGVzdF9zdWNjZXNzKHNlbGYpOgogICAgICAg
ICBzZWxmLnNldHVwU3RlcChQdXNoQ29tbWl0VG9XZWJLaXRSZXBvKCkpCiAgICAgICAgIHNlbGYu
c2V0UHJvcGVydHkoJ3BhdGNoX2lkJywgJzEyMzQnKQpAQCAtMzk4NCw3ICszOTk2LDcgQEAgY2xh
c3MgVGVzdFB1c2hDb21taXRUb1dlYktpdFJlcG8oQnVpbGRTdAogICAgICAgICAgICAgMCwKICAg
ICAgICAgKQogICAgICAgICBzZWxmLmV4cGVjdE91dGNvbWUocmVzdWx0PVNVQ0NFU1MsIHN0YXRl
X3N0cmluZz0nQ29tbWl0dGVkIHIyNTY3MjknKQotICAgICAgICB3aXRoIGN1cnJlbnRfaG9zdG5h
bWUoRVdTX0JVSUxEX0hPU1ROQU1FKToKKyAgICAgICAgd2l0aCBjdXJyZW50X2hvc3RuYW1lKEVX
U19CVUlMRF9IT1NUTkFNRSksIHNlbGYubW9ja19jb21taXRzX3dlYmtpdF9vcmcoKToKICAgICAg
ICAgICAgIHJjID0gc2VsZi5ydW5TdGVwKCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxm
LmdldFByb3BlcnR5KCdidWd6aWxsYV9jb21tZW50X3RleHQnKSwgJ0NvbW1pdHRlZCByMjU2NzI5
OiA8aHR0cHM6Ly9jb21taXRzLndlYmtpdC5vcmcvcjI1NjcyOT5cblxuQWxsIHJldmlld2VkIHBh
dGNoZXMgaGF2ZSBiZWVuIGxhbmRlZC4gQ2xvc2luZyBidWcgYW5kIGNsZWFyaW5nIGZsYWdzIG9u
IGF0dGFjaG1lbnQgMTIzNC4nKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuZ2V0UHJv
cGVydHkoJ2J1aWxkX2ZpbmlzaF9zdW1tYXJ5JyksIE5vbmUpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424688</attachid>
            <date>2021-03-30 13:44:01 -0700</date>
            <delta_ts>2021-03-30 14:01:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223829-20210330134400.patch</filename>
            <type>text/plain</type>
            <size>4430</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI3NTIyOCkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE3IEBACisyMDIxLTAzLTMwICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICBbYnVpbGQud2Via2l0Lm9yZ10gQ29tbWl0IHF1ZXVlIHNob3VsZCBwb3N0
IHRoZSBpZGVudGlmaWVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMjM4MjkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc1OTA4MzIxPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ0lTdXBwb3J0L2V3
cy1idWlsZC9zdGVwcy5weToKKyAgICAgICAgKFB1c2hDb21taXRUb1dlYktpdFJlcG8udXJsX2Zv
cl9yZWYpOiBSZW5hbWVkIGZyb20gdXJsX2Zvcl9yZXZpc2lvbi4KKyAgICAgICAgKFB1c2hDb21t
aXRUb1dlYktpdFJlcG8uY29tbWVudF90ZXh0X2Zvcl9idWcpOiBDb25zdWx0IGNvbW1pdHMud2Vi
a2l0Lm9yZyB0byBjb252ZXJ0IHJldmlzaW9uCisgICAgICAgIHRvIGlkZW50aWZpZXIuCisgICAg
ICAgIChQdXNoQ29tbWl0VG9XZWJLaXRSZXBvLnVybF9mb3JfcmV2aXNpb24pOiBSZW5hbWVkIHRv
IHVybF9mb3JfcmVmLgorCiAyMDIxLTAzLTMwICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFw
cGxlLmNvbT4KIAogICAgICAgICBbcmVzdWx0c2RicHldIFJldHVybiBuZXctc3R5bGUgY29tbWl0
cyAoRm9sbG93LXVwIGZpeCkKSW5kZXg6IFRvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvc3RlcHMu
cHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9zdGVwcy5weQkocmV2
aXNpb24gMjc1MjI4KQorKysgVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9zdGVwcy5weQkod29y
a2luZyBjb3B5KQpAQCAtMzIzNiw4ICszMjM2LDggQEAgY2xhc3MgUHVzaENvbW1pdFRvV2ViS2l0
UmVwbyhzaGVsbC5TaGVsbAogICAgICAgICAgICAgc2VsZi5idWlsZC5hZGRTdGVwc0FmdGVyQ3Vy
cmVudFN0ZXAoW0NvbW1lbnRPbkJ1ZygpLCBTZXRDb21taXRRdWV1ZU1pbnVzRmxhZ09uUGF0Y2go
KV0pCiAgICAgICAgIHJldHVybiByYwogCi0gICAgZGVmIHVybF9mb3JfcmV2aXNpb24oc2VsZiwg
cmV2aXNpb24pOgotICAgICAgICByZXR1cm4gJ2h0dHBzOi8vY29tbWl0cy53ZWJraXQub3JnL3J7
fScuZm9ybWF0KHJldmlzaW9uKQorICAgIGRlZiB1cmxfZm9yX3JlZihzZWxmLCByZWYsIGpzb249
RmFsc2UpOgorICAgICAgICByZXR1cm4gJ3t9e317fScuZm9ybWF0KENPTU1JVFNfSU5GT19VUkws
IHJlZiwgJy9qc29uJyBpZiBqc29uIGVsc2UgJycpCiAKICAgICBkZWYgY29tbWVudF90ZXh0X2Zv
cl9idWcoc2VsZiwgc3ZuX3JldmlzaW9uPU5vbmUpOgogICAgICAgICBwYXRjaF9pZCA9IHNlbGYu
Z2V0UHJvcGVydHkoJ3BhdGNoX2lkJywgJycpCkBAIC0zMjQ1LDcgKzMyNDUsMTMgQEAgY2xhc3Mg
UHVzaENvbW1pdFRvV2ViS2l0UmVwbyhzaGVsbC5TaGVsbAogICAgICAgICAgICAgY29tbWVudCA9
ICdjb21taXQtcXVldWUgZmFpbGVkIHRvIGNvbW1pdCBhdHRhY2htZW50IHt9IHRvIFdlYktpdCBy
ZXBvc2l0b3J5LicuZm9ybWF0KHBhdGNoX2lkKQogICAgICAgICAgICAgY29tbWVudCArPSAnIFRv
IHJldHJ5LCBwbGVhc2Ugc2V0IGNxKyBmbGFnIGFnYWluLicKICAgICAgICAgICAgIHJldHVybiBj
b21tZW50Ci0gICAgICAgIGNvbW1lbnQgPSAnQ29tbWl0dGVkIHJ7fTogPHt9PicuZm9ybWF0KHN2
bl9yZXZpc2lvbiwgc2VsZi51cmxfZm9yX3JldmlzaW9uKHN2bl9yZXZpc2lvbikpCisKKyAgICAg
ICAgcmVmID0gJ3J7fScuZm9ybWF0KHN2bl9yZXZpc2lvbikKKyAgICAgICAgcmVzcG9uc2UgPSBy
ZXF1ZXN0cy5nZXQoc2VsZi51cmxfZm9yX3JlZihyZWYsIGpzb249VHJ1ZSkpCisgICAgICAgIGlm
IHJlc3BvbnNlLnN0YXR1c19jb2RlID09IDIwMDoKKyAgICAgICAgICAgIHJlZiA9IHJlc3BvbnNl
Lmpzb24oKS5nZXQoJ2lkZW50aWZpZXInLCByZWYpCisKKyAgICAgICAgY29tbWVudCA9ICdDb21t
aXR0ZWQgcnt9ICh7fSk6IDx7fT4nLmZvcm1hdChzdm5fcmV2aXNpb24sIHJlZiBpZiAnQCcgaW4g
cmVmIGVsc2UgJz8nLCBzZWxmLnVybF9mb3JfcmVmKHJlZikpCiAgICAgICAgIGNvbW1lbnQgKz0g
J1xuXG5BbGwgcmV2aWV3ZWQgcGF0Y2hlcyBoYXZlIGJlZW4gbGFuZGVkLiBDbG9zaW5nIGJ1ZyBh
bmQgY2xlYXJpbmcgZmxhZ3Mgb24gYXR0YWNobWVudCB7fS4nLmZvcm1hdChwYXRjaF9pZCkKICAg
ICAgICAgcmV0dXJuIGNvbW1lbnQKIApJbmRleDogVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9z
dGVwc191bml0dGVzdC5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DSVN1cHBvcnQvZXdzLWJ1aWxk
L3N0ZXBzX3VuaXR0ZXN0LnB5CShyZXZpc2lvbiAyNzUyMjgpCisrKyBUb29scy9DSVN1cHBvcnQv
ZXdzLWJ1aWxkL3N0ZXBzX3VuaXR0ZXN0LnB5CSh3b3JraW5nIGNvcHkpCkBAIC0zNCw3ICszNCw3
IEBAIGZyb20gYnVpbGRib3QudGVzdC5mYWtlLnJlbW90ZWNvbW1hbmQgaW0KIGZyb20gYnVpbGRi
b3QudGVzdC51dGlsLm1pc2MgaW1wb3J0IFRlc3RSZWFjdG9yTWl4aW4KIGZyb20gYnVpbGRib3Qu
dGVzdC51dGlsLnN0ZXBzIGltcG9ydCBCdWlsZFN0ZXBNaXhpbgogZnJvbSBidWlsZGJvdC51dGls
IGltcG9ydCBpZGVudGlmaWVycyBhcyBidWlsZGJvdF9pZGVudGlmaWVycwotZnJvbSBtb2NrIGlt
cG9ydCBjYWxsCitmcm9tIG1vY2sgaW1wb3J0IGNhbGwsIHBhdGNoCiBmcm9tIHR3aXN0ZWQuaW50
ZXJuZXQgaW1wb3J0IGRlZmVyLCBlcnJvciwgcmVhY3RvcgogZnJvbSB0d2lzdGVkLnB5dGhvbiBp
bXBvcnQgZmFpbHVyZSwgbG9nCiBmcm9tIHR3aXN0ZWQudHJpYWwgaW1wb3J0IHVuaXR0ZXN0CkBA
IC0zOTcyLDYgKzM5NzIsMTggQEAgY2xhc3MgVGVzdFB1c2hDb21taXRUb1dlYktpdFJlcG8oQnVp
bGRTdAogICAgIGRlZiB0ZWFyRG93bihzZWxmKToKICAgICAgICAgcmV0dXJuIHNlbGYudGVhckRv
d25CdWlsZFN0ZXAoKQogCisgICAgZGVmIG1vY2tfY29tbWl0c193ZWJraXRfb3JnKHNlbGYpOgor
ICAgICAgICBjbGFzcyBSZXNwb25zZShvYmplY3QpOgorICAgICAgICAgICAgZGVmIF9faW5pdF9f
KHNlbGYsIGRhdGE9e30pOgorICAgICAgICAgICAgICAgIHNlbGYuc3RhdHVzX2NvZGUgPSAyMDAK
KyAgICAgICAgICAgICAgICBzZWxmLmhlYWRlcnMgPSB7J0NvbnRlbnQtVHlwZSc6ICd0ZXh0L2pz
b24nfQorICAgICAgICAgICAgICAgIHNlbGYudGV4dCA9IGpzb24uZHVtcHMoanNvbikKKworICAg
ICAgICByZXR1cm4gcGF0Y2goCisgICAgICAgICAgICAncmVxdWVzdHMuZ2V0JywKKyAgICAgICAg
ICAgIGxhbWJkYSAqYXJncywgKiprd2FyZ3M6IFJlc3BvbnNlKGRpY3QoaWRlbnRpZmllcj0nMjIw
Nzk3QG1haW4nKSkKKyAgICAgICAgKQorCiAgICAgZGVmIHRlc3Rfc3VjY2VzcyhzZWxmKToKICAg
ICAgICAgc2VsZi5zZXR1cFN0ZXAoUHVzaENvbW1pdFRvV2ViS2l0UmVwbygpKQogICAgICAgICBz
ZWxmLnNldFByb3BlcnR5KCdwYXRjaF9pZCcsICcxMjM0JykKQEAgLTM5ODQsNyArMzk5Niw3IEBA
IGNsYXNzIFRlc3RQdXNoQ29tbWl0VG9XZWJLaXRSZXBvKEJ1aWxkU3QKICAgICAgICAgICAgIDAs
CiAgICAgICAgICkKICAgICAgICAgc2VsZi5leHBlY3RPdXRjb21lKHJlc3VsdD1TVUNDRVNTLCBz
dGF0ZV9zdHJpbmc9J0NvbW1pdHRlZCByMjU2NzI5JykKLSAgICAgICAgd2l0aCBjdXJyZW50X2hv
c3RuYW1lKEVXU19CVUlMRF9IT1NUTkFNRSk6CisgICAgICAgIHdpdGggY3VycmVudF9ob3N0bmFt
ZShFV1NfQlVJTERfSE9TVE5BTUUpLCBzZWxmLm1vY2tfY29tbWl0c193ZWJraXRfb3JnKCk6CiAg
ICAgICAgICAgICByYyA9IHNlbGYucnVuU3RlcCgpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwo
c2VsZi5nZXRQcm9wZXJ0eSgnYnVnemlsbGFfY29tbWVudF90ZXh0JyksICdDb21taXR0ZWQgcjI1
NjcyOTogPGh0dHBzOi8vY29tbWl0cy53ZWJraXQub3JnL3IyNTY3Mjk+XG5cbkFsbCByZXZpZXdl
ZCBwYXRjaGVzIGhhdmUgYmVlbiBsYW5kZWQuIENsb3NpbmcgYnVnIGFuZCBjbGVhcmluZyBmbGFn
cyBvbiBhdHRhY2htZW50IDEyMzQuJykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmdl
dFByb3BlcnR5KCdidWlsZF9maW5pc2hfc3VtbWFyeScpLCBOb25lKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424691</attachid>
            <date>2021-03-30 14:01:04 -0700</date>
            <delta_ts>2021-03-30 14:18:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223829-20210330140102.patch</filename>
            <type>text/plain</type>
            <size>4507</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI3NTIyOCkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE3IEBACisyMDIxLTAzLTMwICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICBbYnVpbGQud2Via2l0Lm9yZ10gQ29tbWl0IHF1ZXVlIHNob3VsZCBwb3N0
IHRoZSBpZGVudGlmaWVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMjM4MjkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc1OTA4MzIxPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ0lTdXBwb3J0L2V3
cy1idWlsZC9zdGVwcy5weToKKyAgICAgICAgKFB1c2hDb21taXRUb1dlYktpdFJlcG8udXJsX2Zv
cl9yZWYpOiBSZW5hbWVkIGZyb20gdXJsX2Zvcl9yZXZpc2lvbi4KKyAgICAgICAgKFB1c2hDb21t
aXRUb1dlYktpdFJlcG8uY29tbWVudF90ZXh0X2Zvcl9idWcpOiBDb25zdWx0IGNvbW1pdHMud2Vi
a2l0Lm9yZyB0byBjb252ZXJ0IHJldmlzaW9uCisgICAgICAgIHRvIGlkZW50aWZpZXIuCisgICAg
ICAgIChQdXNoQ29tbWl0VG9XZWJLaXRSZXBvLnVybF9mb3JfcmV2aXNpb24pOiBSZW5hbWVkIHRv
IHVybF9mb3JfcmVmLgorCiAyMDIxLTAzLTMwICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFw
cGxlLmNvbT4KIAogICAgICAgICBbcmVzdWx0c2RicHldIFJldHVybiBuZXctc3R5bGUgY29tbWl0
cyAoRm9sbG93LXVwIGZpeCkKSW5kZXg6IFRvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvc3RlcHMu
cHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9zdGVwcy5weQkocmV2
aXNpb24gMjc1MjI4KQorKysgVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9zdGVwcy5weQkod29y
a2luZyBjb3B5KQpAQCAtMzIzNiw4ICszMjM2LDggQEAgY2xhc3MgUHVzaENvbW1pdFRvV2ViS2l0
UmVwbyhzaGVsbC5TaGVsbAogICAgICAgICAgICAgc2VsZi5idWlsZC5hZGRTdGVwc0FmdGVyQ3Vy
cmVudFN0ZXAoW0NvbW1lbnRPbkJ1ZygpLCBTZXRDb21taXRRdWV1ZU1pbnVzRmxhZ09uUGF0Y2go
KV0pCiAgICAgICAgIHJldHVybiByYwogCi0gICAgZGVmIHVybF9mb3JfcmV2aXNpb24oc2VsZiwg
cmV2aXNpb24pOgotICAgICAgICByZXR1cm4gJ2h0dHBzOi8vY29tbWl0cy53ZWJraXQub3JnL3J7
fScuZm9ybWF0KHJldmlzaW9uKQorICAgIGRlZiB1cmxfZm9yX3JlZihzZWxmLCByZWYsIGpzb249
RmFsc2UpOgorICAgICAgICByZXR1cm4gJ3t9e317fScuZm9ybWF0KENPTU1JVFNfSU5GT19VUkws
IHJlZiwgJy9qc29uJyBpZiBqc29uIGVsc2UgJycpCiAKICAgICBkZWYgY29tbWVudF90ZXh0X2Zv
cl9idWcoc2VsZiwgc3ZuX3JldmlzaW9uPU5vbmUpOgogICAgICAgICBwYXRjaF9pZCA9IHNlbGYu
Z2V0UHJvcGVydHkoJ3BhdGNoX2lkJywgJycpCkBAIC0zMjQ1LDcgKzMyNDUsMTMgQEAgY2xhc3Mg
UHVzaENvbW1pdFRvV2ViS2l0UmVwbyhzaGVsbC5TaGVsbAogICAgICAgICAgICAgY29tbWVudCA9
ICdjb21taXQtcXVldWUgZmFpbGVkIHRvIGNvbW1pdCBhdHRhY2htZW50IHt9IHRvIFdlYktpdCBy
ZXBvc2l0b3J5LicuZm9ybWF0KHBhdGNoX2lkKQogICAgICAgICAgICAgY29tbWVudCArPSAnIFRv
IHJldHJ5LCBwbGVhc2Ugc2V0IGNxKyBmbGFnIGFnYWluLicKICAgICAgICAgICAgIHJldHVybiBj
b21tZW50Ci0gICAgICAgIGNvbW1lbnQgPSAnQ29tbWl0dGVkIHJ7fTogPHt9PicuZm9ybWF0KHN2
bl9yZXZpc2lvbiwgc2VsZi51cmxfZm9yX3JldmlzaW9uKHN2bl9yZXZpc2lvbikpCisKKyAgICAg
ICAgcmVmID0gJ3J7fScuZm9ybWF0KHN2bl9yZXZpc2lvbikKKyAgICAgICAgcmVzcG9uc2UgPSBy
ZXF1ZXN0cy5nZXQoc2VsZi51cmxfZm9yX3JlZihyZWYsIGpzb249VHJ1ZSkpCisgICAgICAgIGlm
IHJlc3BvbnNlLnN0YXR1c19jb2RlID09IDIwMDoKKyAgICAgICAgICAgIHJlZiA9IHJlc3BvbnNl
Lmpzb24oKS5nZXQoJ2lkZW50aWZpZXInLCByZWYpCisKKyAgICAgICAgY29tbWVudCA9ICdDb21t
aXR0ZWQgcnt9ICh7fSk6IDx7fT4nLmZvcm1hdChzdm5fcmV2aXNpb24sIHJlZiBpZiAnQCcgaW4g
cmVmIGVsc2UgJz8nLCBzZWxmLnVybF9mb3JfcmVmKHJlZikpCiAgICAgICAgIGNvbW1lbnQgKz0g
J1xuXG5BbGwgcmV2aWV3ZWQgcGF0Y2hlcyBoYXZlIGJlZW4gbGFuZGVkLiBDbG9zaW5nIGJ1ZyBh
bmQgY2xlYXJpbmcgZmxhZ3Mgb24gYXR0YWNobWVudCB7fS4nLmZvcm1hdChwYXRjaF9pZCkKICAg
ICAgICAgcmV0dXJuIGNvbW1lbnQKIApJbmRleDogVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9z
dGVwc191bml0dGVzdC5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DSVN1cHBvcnQvZXdzLWJ1aWxk
L3N0ZXBzX3VuaXR0ZXN0LnB5CShyZXZpc2lvbiAyNzUyMjgpCisrKyBUb29scy9DSVN1cHBvcnQv
ZXdzLWJ1aWxkL3N0ZXBzX3VuaXR0ZXN0LnB5CSh3b3JraW5nIGNvcHkpCkBAIC0zNCw3ICszNCw3
IEBAIGZyb20gYnVpbGRib3QudGVzdC5mYWtlLnJlbW90ZWNvbW1hbmQgaW0KIGZyb20gYnVpbGRi
b3QudGVzdC51dGlsLm1pc2MgaW1wb3J0IFRlc3RSZWFjdG9yTWl4aW4KIGZyb20gYnVpbGRib3Qu
dGVzdC51dGlsLnN0ZXBzIGltcG9ydCBCdWlsZFN0ZXBNaXhpbgogZnJvbSBidWlsZGJvdC51dGls
IGltcG9ydCBpZGVudGlmaWVycyBhcyBidWlsZGJvdF9pZGVudGlmaWVycwotZnJvbSBtb2NrIGlt
cG9ydCBjYWxsCitmcm9tIG1vY2sgaW1wb3J0IGNhbGwsIHBhdGNoCiBmcm9tIHR3aXN0ZWQuaW50
ZXJuZXQgaW1wb3J0IGRlZmVyLCBlcnJvciwgcmVhY3RvcgogZnJvbSB0d2lzdGVkLnB5dGhvbiBp
bXBvcnQgZmFpbHVyZSwgbG9nCiBmcm9tIHR3aXN0ZWQudHJpYWwgaW1wb3J0IHVuaXR0ZXN0CkBA
IC0zOTcyLDYgKzM5NzIsMjEgQEAgY2xhc3MgVGVzdFB1c2hDb21taXRUb1dlYktpdFJlcG8oQnVp
bGRTdAogICAgIGRlZiB0ZWFyRG93bihzZWxmKToKICAgICAgICAgcmV0dXJuIHNlbGYudGVhckRv
d25CdWlsZFN0ZXAoKQogCisgICAgZGVmIG1vY2tfY29tbWl0c193ZWJraXRfb3JnKHNlbGYpOgor
ICAgICAgICBjbGFzcyBSZXNwb25zZShvYmplY3QpOgorICAgICAgICAgICAgZGVmIF9faW5pdF9f
KHNlbGYsIGRhdGE9e30pOgorICAgICAgICAgICAgICAgIHNlbGYuc3RhdHVzX2NvZGUgPSAyMDAK
KyAgICAgICAgICAgICAgICBzZWxmLmhlYWRlcnMgPSB7J0NvbnRlbnQtVHlwZSc6ICd0ZXh0L2pz
b24nfQorICAgICAgICAgICAgICAgIHNlbGYudGV4dCA9IGpzb24uZHVtcHMoZGF0YSkKKworICAg
ICAgICAgICAgZGVmIGpzb24oc2VsZik6CisgICAgICAgICAgICAgICAgcmV0dXJuIGpzb24ubG9h
ZHMoc2VsZi50ZXh0KQorCisgICAgICAgIHJldHVybiBwYXRjaCgKKyAgICAgICAgICAgICdyZXF1
ZXN0cy5nZXQnLAorICAgICAgICAgICAgbGFtYmRhICphcmdzLCAqKmt3YXJnczogUmVzcG9uc2Uo
ZGljdChpZGVudGlmaWVyPScyMjA3OTdAbWFpbicpKQorICAgICAgICApCisKICAgICBkZWYgdGVz
dF9zdWNjZXNzKHNlbGYpOgogICAgICAgICBzZWxmLnNldHVwU3RlcChQdXNoQ29tbWl0VG9XZWJL
aXRSZXBvKCkpCiAgICAgICAgIHNlbGYuc2V0UHJvcGVydHkoJ3BhdGNoX2lkJywgJzEyMzQnKQpA
QCAtMzk4NCw3ICszOTk5LDcgQEAgY2xhc3MgVGVzdFB1c2hDb21taXRUb1dlYktpdFJlcG8oQnVp
bGRTdAogICAgICAgICAgICAgMCwKICAgICAgICAgKQogICAgICAgICBzZWxmLmV4cGVjdE91dGNv
bWUocmVzdWx0PVNVQ0NFU1MsIHN0YXRlX3N0cmluZz0nQ29tbWl0dGVkIHIyNTY3MjknKQotICAg
ICAgICB3aXRoIGN1cnJlbnRfaG9zdG5hbWUoRVdTX0JVSUxEX0hPU1ROQU1FKToKKyAgICAgICAg
d2l0aCBjdXJyZW50X2hvc3RuYW1lKEVXU19CVUlMRF9IT1NUTkFNRSksIHNlbGYubW9ja19jb21t
aXRzX3dlYmtpdF9vcmcoKToKICAgICAgICAgICAgIHJjID0gc2VsZi5ydW5TdGVwKCkKICAgICAg
ICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmdldFByb3BlcnR5KCdidWd6aWxsYV9jb21tZW50X3Rl
eHQnKSwgJ0NvbW1pdHRlZCByMjU2NzI5OiA8aHR0cHM6Ly9jb21taXRzLndlYmtpdC5vcmcvcjI1
NjcyOT5cblxuQWxsIHJldmlld2VkIHBhdGNoZXMgaGF2ZSBiZWVuIGxhbmRlZC4gQ2xvc2luZyBi
dWcgYW5kIGNsZWFyaW5nIGZsYWdzIG9uIGF0dGFjaG1lbnQgMTIzNC4nKQogICAgICAgICBzZWxm
LmFzc2VydEVxdWFsKHNlbGYuZ2V0UHJvcGVydHkoJ2J1aWxkX2ZpbmlzaF9zdW1tYXJ5JyksIE5v
bmUpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424695</attachid>
            <date>2021-03-30 14:18:04 -0700</date>
            <delta_ts>2021-03-30 14:34:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223829-20210330141803.patch</filename>
            <type>text/plain</type>
            <size>5124</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI3NTIyOCkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE3IEBACisyMDIxLTAzLTMwICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICBbYnVpbGQud2Via2l0Lm9yZ10gQ29tbWl0IHF1ZXVlIHNob3VsZCBwb3N0
IHRoZSBpZGVudGlmaWVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMjM4MjkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc1OTA4MzIxPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ0lTdXBwb3J0L2V3
cy1idWlsZC9zdGVwcy5weToKKyAgICAgICAgKFB1c2hDb21taXRUb1dlYktpdFJlcG8udXJsX2Zv
cl9yZWYpOiBSZW5hbWVkIGZyb20gdXJsX2Zvcl9yZXZpc2lvbi4KKyAgICAgICAgKFB1c2hDb21t
aXRUb1dlYktpdFJlcG8uY29tbWVudF90ZXh0X2Zvcl9idWcpOiBDb25zdWx0IGNvbW1pdHMud2Vi
a2l0Lm9yZyB0byBjb252ZXJ0IHJldmlzaW9uCisgICAgICAgIHRvIGlkZW50aWZpZXIuCisgICAg
ICAgIChQdXNoQ29tbWl0VG9XZWJLaXRSZXBvLnVybF9mb3JfcmV2aXNpb24pOiBSZW5hbWVkIHRv
IHVybF9mb3JfcmVmLgorCiAyMDIxLTAzLTMwICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFw
cGxlLmNvbT4KIAogICAgICAgICBbcmVzdWx0c2RicHldIFJldHVybiBuZXctc3R5bGUgY29tbWl0
cyAoRm9sbG93LXVwIGZpeCkKSW5kZXg6IFRvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvc3RlcHMu
cHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9zdGVwcy5weQkocmV2
aXNpb24gMjc1MjI4KQorKysgVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9zdGVwcy5weQkod29y
a2luZyBjb3B5KQpAQCAtMzIyMyw3ICszMjIzLDcgQEAgY2xhc3MgUHVzaENvbW1pdFRvV2ViS2l0
UmVwbyhzaGVsbC5TaGVsbAogICAgICAgICAgICAgc2VsZi5kZXNjcmlwdGlvbkRvbmUgPSBjb21t
aXRfc3VtbWFyeQogICAgICAgICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgnYnVpbGRfc3VtbWFyeScs
ICdDb21taXR0ZWQgcnt9Jy5mb3JtYXQoc3ZuX3JldmlzaW9uKSkKICAgICAgICAgICAgIHNlbGYu
YnVpbGQuYWRkU3RlcHNBZnRlckN1cnJlbnRTdGVwKFtDb21tZW50T25CdWcoKSwgUmVtb3ZlRmxh
Z3NPblBhdGNoKCksIENsb3NlQnVnKCldKQotICAgICAgICAgICAgc2VsZi5hZGRVUkwoJ3J7fScu
Zm9ybWF0KHN2bl9yZXZpc2lvbiksIHNlbGYudXJsX2Zvcl9yZXZpc2lvbihzdm5fcmV2aXNpb24p
KQorICAgICAgICAgICAgc2VsZi5hZGRVUkwoJ3J7fScuZm9ybWF0KHN2bl9yZXZpc2lvbiksIHNl
bGYudXJsX2Zvcl9yZWYoJ3J7fScuZm9ybWF0KHN2bl9yZXZpc2lvbikpKQogICAgICAgICBlbHNl
OgogICAgICAgICAgICAgcmV0cnlfY291bnQgPSBpbnQoc2VsZi5nZXRQcm9wZXJ0eSgncmV0cnlf
Y291bnQnLCAwKSkKICAgICAgICAgICAgIGlmIHJldHJ5X2NvdW50IDwgc2VsZi5NQVhfUkVUUlk6
CkBAIC0zMjM2LDggKzMyMzYsOCBAQCBjbGFzcyBQdXNoQ29tbWl0VG9XZWJLaXRSZXBvKHNoZWxs
LlNoZWxsCiAgICAgICAgICAgICBzZWxmLmJ1aWxkLmFkZFN0ZXBzQWZ0ZXJDdXJyZW50U3RlcChb
Q29tbWVudE9uQnVnKCksIFNldENvbW1pdFF1ZXVlTWludXNGbGFnT25QYXRjaCgpXSkKICAgICAg
ICAgcmV0dXJuIHJjCiAKLSAgICBkZWYgdXJsX2Zvcl9yZXZpc2lvbihzZWxmLCByZXZpc2lvbik6
Ci0gICAgICAgIHJldHVybiAnaHR0cHM6Ly9jb21taXRzLndlYmtpdC5vcmcvcnt9Jy5mb3JtYXQo
cmV2aXNpb24pCisgICAgZGVmIHVybF9mb3JfcmVmKHNlbGYsIHJlZiwganNvbj1GYWxzZSk6Cisg
ICAgICAgIHJldHVybiAne317fXt9Jy5mb3JtYXQoQ09NTUlUU19JTkZPX1VSTCwgcmVmLCAnL2pz
b24nIGlmIGpzb24gZWxzZSAnJykKIAogICAgIGRlZiBjb21tZW50X3RleHRfZm9yX2J1ZyhzZWxm
LCBzdm5fcmV2aXNpb249Tm9uZSk6CiAgICAgICAgIHBhdGNoX2lkID0gc2VsZi5nZXRQcm9wZXJ0
eSgncGF0Y2hfaWQnLCAnJykKQEAgLTMyNDUsNyArMzI0NSwxMyBAQCBjbGFzcyBQdXNoQ29tbWl0
VG9XZWJLaXRSZXBvKHNoZWxsLlNoZWxsCiAgICAgICAgICAgICBjb21tZW50ID0gJ2NvbW1pdC1x
dWV1ZSBmYWlsZWQgdG8gY29tbWl0IGF0dGFjaG1lbnQge30gdG8gV2ViS2l0IHJlcG9zaXRvcnku
Jy5mb3JtYXQocGF0Y2hfaWQpCiAgICAgICAgICAgICBjb21tZW50ICs9ICcgVG8gcmV0cnksIHBs
ZWFzZSBzZXQgY3ErIGZsYWcgYWdhaW4uJwogICAgICAgICAgICAgcmV0dXJuIGNvbW1lbnQKLSAg
ICAgICAgY29tbWVudCA9ICdDb21taXR0ZWQgcnt9OiA8e30+Jy5mb3JtYXQoc3ZuX3JldmlzaW9u
LCBzZWxmLnVybF9mb3JfcmV2aXNpb24oc3ZuX3JldmlzaW9uKSkKKworICAgICAgICByZWYgPSAn
cnt9Jy5mb3JtYXQoc3ZuX3JldmlzaW9uKQorICAgICAgICByZXNwb25zZSA9IHJlcXVlc3RzLmdl
dChzZWxmLnVybF9mb3JfcmVmKHJlZiwganNvbj1UcnVlKSkKKyAgICAgICAgaWYgcmVzcG9uc2Uu
c3RhdHVzX2NvZGUgPT0gMjAwOgorICAgICAgICAgICAgcmVmID0gcmVzcG9uc2UuanNvbigpLmdl
dCgnaWRlbnRpZmllcicsIHJlZikKKworICAgICAgICBjb21tZW50ID0gJ0NvbW1pdHRlZCBye30g
KHt9KTogPHt9PicuZm9ybWF0KHN2bl9yZXZpc2lvbiwgcmVmIGlmICdAJyBpbiByZWYgZWxzZSAn
PycsIHNlbGYudXJsX2Zvcl9yZWYocmVmKSkKICAgICAgICAgY29tbWVudCArPSAnXG5cbkFsbCBy
ZXZpZXdlZCBwYXRjaGVzIGhhdmUgYmVlbiBsYW5kZWQuIENsb3NpbmcgYnVnIGFuZCBjbGVhcmlu
ZyBmbGFncyBvbiBhdHRhY2htZW50IHt9LicuZm9ybWF0KHBhdGNoX2lkKQogICAgICAgICByZXR1
cm4gY29tbWVudAogCkluZGV4OiBUb29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzX3VuaXR0
ZXN0LnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvc3RlcHNfdW5p
dHRlc3QucHkJKHJldmlzaW9uIDI3NTIyOCkKKysrIFRvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQv
c3RlcHNfdW5pdHRlc3QucHkJKHdvcmtpbmcgY29weSkKQEAgLTM0LDcgKzM0LDcgQEAgZnJvbSBi
dWlsZGJvdC50ZXN0LmZha2UucmVtb3RlY29tbWFuZCBpbQogZnJvbSBidWlsZGJvdC50ZXN0LnV0
aWwubWlzYyBpbXBvcnQgVGVzdFJlYWN0b3JNaXhpbgogZnJvbSBidWlsZGJvdC50ZXN0LnV0aWwu
c3RlcHMgaW1wb3J0IEJ1aWxkU3RlcE1peGluCiBmcm9tIGJ1aWxkYm90LnV0aWwgaW1wb3J0IGlk
ZW50aWZpZXJzIGFzIGJ1aWxkYm90X2lkZW50aWZpZXJzCi1mcm9tIG1vY2sgaW1wb3J0IGNhbGwK
K2Zyb20gbW9jayBpbXBvcnQgY2FsbCwgcGF0Y2gKIGZyb20gdHdpc3RlZC5pbnRlcm5ldCBpbXBv
cnQgZGVmZXIsIGVycm9yLCByZWFjdG9yCiBmcm9tIHR3aXN0ZWQucHl0aG9uIGltcG9ydCBmYWls
dXJlLCBsb2cKIGZyb20gdHdpc3RlZC50cmlhbCBpbXBvcnQgdW5pdHRlc3QKQEAgLTM5NzIsNiAr
Mzk3MiwyMSBAQCBjbGFzcyBUZXN0UHVzaENvbW1pdFRvV2ViS2l0UmVwbyhCdWlsZFN0CiAgICAg
ZGVmIHRlYXJEb3duKHNlbGYpOgogICAgICAgICByZXR1cm4gc2VsZi50ZWFyRG93bkJ1aWxkU3Rl
cCgpCiAKKyAgICBkZWYgbW9ja19jb21taXRzX3dlYmtpdF9vcmcoc2VsZik6CisgICAgICAgIGNs
YXNzIFJlc3BvbnNlKG9iamVjdCk6CisgICAgICAgICAgICBkZWYgX19pbml0X18oc2VsZiwgZGF0
YT17fSk6CisgICAgICAgICAgICAgICAgc2VsZi5zdGF0dXNfY29kZSA9IDIwMAorICAgICAgICAg
ICAgICAgIHNlbGYuaGVhZGVycyA9IHsnQ29udGVudC1UeXBlJzogJ3RleHQvanNvbid9CisgICAg
ICAgICAgICAgICAgc2VsZi50ZXh0ID0ganNvbi5kdW1wcyhkYXRhKQorCisgICAgICAgICAgICBk
ZWYganNvbihzZWxmKToKKyAgICAgICAgICAgICAgICByZXR1cm4ganNvbi5sb2FkcyhzZWxmLnRl
eHQpCisKKyAgICAgICAgcmV0dXJuIHBhdGNoKAorICAgICAgICAgICAgJ3JlcXVlc3RzLmdldCcs
CisgICAgICAgICAgICBsYW1iZGEgKmFyZ3MsICoqa3dhcmdzOiBSZXNwb25zZShkaWN0KGlkZW50
aWZpZXI9JzIyMDc5N0BtYWluJykpCisgICAgICAgICkKKwogICAgIGRlZiB0ZXN0X3N1Y2Nlc3Mo
c2VsZik6CiAgICAgICAgIHNlbGYuc2V0dXBTdGVwKFB1c2hDb21taXRUb1dlYktpdFJlcG8oKSkK
ICAgICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgncGF0Y2hfaWQnLCAnMTIzNCcpCkBAIC0zOTg0LDcg
KzM5OTksNyBAQCBjbGFzcyBUZXN0UHVzaENvbW1pdFRvV2ViS2l0UmVwbyhCdWlsZFN0CiAgICAg
ICAgICAgICAwLAogICAgICAgICApCiAgICAgICAgIHNlbGYuZXhwZWN0T3V0Y29tZShyZXN1bHQ9
U1VDQ0VTUywgc3RhdGVfc3RyaW5nPSdDb21taXR0ZWQgcjI1NjcyOScpCi0gICAgICAgIHdpdGgg
Y3VycmVudF9ob3N0bmFtZShFV1NfQlVJTERfSE9TVE5BTUUpOgorICAgICAgICB3aXRoIGN1cnJl
bnRfaG9zdG5hbWUoRVdTX0JVSUxEX0hPU1ROQU1FKSwgc2VsZi5tb2NrX2NvbW1pdHNfd2Via2l0
X29yZygpOgogICAgICAgICAgICAgcmMgPSBzZWxmLnJ1blN0ZXAoKQogICAgICAgICBzZWxmLmFz
c2VydEVxdWFsKHNlbGYuZ2V0UHJvcGVydHkoJ2J1Z3ppbGxhX2NvbW1lbnRfdGV4dCcpLCAnQ29t
bWl0dGVkIHIyNTY3Mjk6IDxodHRwczovL2NvbW1pdHMud2Via2l0Lm9yZy9yMjU2NzI5PlxuXG5B
bGwgcmV2aWV3ZWQgcGF0Y2hlcyBoYXZlIGJlZW4gbGFuZGVkLiBDbG9zaW5nIGJ1ZyBhbmQgY2xl
YXJpbmcgZmxhZ3Mgb24gYXR0YWNobWVudCAxMjM0LicpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1
YWwoc2VsZi5nZXRQcm9wZXJ0eSgnYnVpbGRfZmluaXNoX3N1bW1hcnknKSwgTm9uZSkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424699</attachid>
            <date>2021-03-30 14:34:09 -0700</date>
            <delta_ts>2021-03-31 09:51:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223829-20210330143408.patch</filename>
            <type>text/plain</type>
            <size>5606</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI3NTIzNSkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE5IEBACisyMDIxLTAzLTMwICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICBbYnVpbGQud2Via2l0Lm9yZ10gQ29tbWl0IHF1ZXVlIHNob3VsZCBwb3N0
IHRoZSBpZGVudGlmaWVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMjM4MjkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc1OTA4MzIxPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ0lTdXBwb3J0L2V3
cy1idWlsZC9zdGVwcy5weToKKyAgICAgICAgKFB1c2hDb21taXRUb1dlYktpdFJlcG8uZXZhbHVh
dGVDb21tYW5kKTogUmVwbGFjZSB1cmxfZm9yX3JldmlzaW9uIHdpdGggdXJsX2Zvcl9yZWYuCisg
ICAgICAgIChQdXNoQ29tbWl0VG9XZWJLaXRSZXBvLnVybF9mb3JfcmVmKTogUmVuYW1lZCBmcm9t
IHVybF9mb3JfcmV2aXNpb24uCisgICAgICAgIChQdXNoQ29tbWl0VG9XZWJLaXRSZXBvLmNvbW1l
bnRfdGV4dF9mb3JfYnVnKTogQ29uc3VsdCBjb21taXRzLndlYmtpdC5vcmcgdG8gY29udmVydCBy
ZXZpc2lvbgorICAgICAgICB0byBpZGVudGlmaWVyLgorICAgICAgICAoUHVzaENvbW1pdFRvV2Vi
S2l0UmVwby51cmxfZm9yX3JldmlzaW9uKTogUmVuYW1lZCB0byB1cmxfZm9yX3JlZi4KKyAgICAg
ICAgKiBDSVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzX3VuaXR0ZXN0LnB5OgorCiAyMDIxLTAzLTMw
ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNvbT4KIAogICAgICAgICBbcmVzdWx0
c2RicHldIFJldHVybiBuZXctc3R5bGUgY29tbWl0cyAoRm9sbG93LXVwIGZpeCkKSW5kZXg6IFRv
b2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvc3RlcHMucHkKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvQ0lT
dXBwb3J0L2V3cy1idWlsZC9zdGVwcy5weQkocmV2aXNpb24gMjc1MjI4KQorKysgVG9vbHMvQ0lT
dXBwb3J0L2V3cy1idWlsZC9zdGVwcy5weQkod29ya2luZyBjb3B5KQpAQCAtMzIyMyw3ICszMjIz
LDcgQEAgY2xhc3MgUHVzaENvbW1pdFRvV2ViS2l0UmVwbyhzaGVsbC5TaGVsbAogICAgICAgICAg
ICAgc2VsZi5kZXNjcmlwdGlvbkRvbmUgPSBjb21taXRfc3VtbWFyeQogICAgICAgICAgICAgc2Vs
Zi5zZXRQcm9wZXJ0eSgnYnVpbGRfc3VtbWFyeScsICdDb21taXR0ZWQgcnt9Jy5mb3JtYXQoc3Zu
X3JldmlzaW9uKSkKICAgICAgICAgICAgIHNlbGYuYnVpbGQuYWRkU3RlcHNBZnRlckN1cnJlbnRT
dGVwKFtDb21tZW50T25CdWcoKSwgUmVtb3ZlRmxhZ3NPblBhdGNoKCksIENsb3NlQnVnKCldKQot
ICAgICAgICAgICAgc2VsZi5hZGRVUkwoJ3J7fScuZm9ybWF0KHN2bl9yZXZpc2lvbiksIHNlbGYu
dXJsX2Zvcl9yZXZpc2lvbihzdm5fcmV2aXNpb24pKQorICAgICAgICAgICAgc2VsZi5hZGRVUkwo
J3J7fScuZm9ybWF0KHN2bl9yZXZpc2lvbiksIHNlbGYudXJsX2Zvcl9yZWYoJ3J7fScuZm9ybWF0
KHN2bl9yZXZpc2lvbikpKQogICAgICAgICBlbHNlOgogICAgICAgICAgICAgcmV0cnlfY291bnQg
PSBpbnQoc2VsZi5nZXRQcm9wZXJ0eSgncmV0cnlfY291bnQnLCAwKSkKICAgICAgICAgICAgIGlm
IHJldHJ5X2NvdW50IDwgc2VsZi5NQVhfUkVUUlk6CkBAIC0zMjM2LDggKzMyMzYsOCBAQCBjbGFz
cyBQdXNoQ29tbWl0VG9XZWJLaXRSZXBvKHNoZWxsLlNoZWxsCiAgICAgICAgICAgICBzZWxmLmJ1
aWxkLmFkZFN0ZXBzQWZ0ZXJDdXJyZW50U3RlcChbQ29tbWVudE9uQnVnKCksIFNldENvbW1pdFF1
ZXVlTWludXNGbGFnT25QYXRjaCgpXSkKICAgICAgICAgcmV0dXJuIHJjCiAKLSAgICBkZWYgdXJs
X2Zvcl9yZXZpc2lvbihzZWxmLCByZXZpc2lvbik6Ci0gICAgICAgIHJldHVybiAnaHR0cHM6Ly9j
b21taXRzLndlYmtpdC5vcmcvcnt9Jy5mb3JtYXQocmV2aXNpb24pCisgICAgZGVmIHVybF9mb3Jf
cmVmKHNlbGYsIHJlZiwganNvbj1GYWxzZSk6CisgICAgICAgIHJldHVybiAne317fXt9Jy5mb3Jt
YXQoQ09NTUlUU19JTkZPX1VSTCwgcmVmLCAnL2pzb24nIGlmIGpzb24gZWxzZSAnJykKIAogICAg
IGRlZiBjb21tZW50X3RleHRfZm9yX2J1ZyhzZWxmLCBzdm5fcmV2aXNpb249Tm9uZSk6CiAgICAg
ICAgIHBhdGNoX2lkID0gc2VsZi5nZXRQcm9wZXJ0eSgncGF0Y2hfaWQnLCAnJykKQEAgLTMyNDUs
NyArMzI0NSwxNCBAQCBjbGFzcyBQdXNoQ29tbWl0VG9XZWJLaXRSZXBvKHNoZWxsLlNoZWxsCiAg
ICAgICAgICAgICBjb21tZW50ID0gJ2NvbW1pdC1xdWV1ZSBmYWlsZWQgdG8gY29tbWl0IGF0dGFj
aG1lbnQge30gdG8gV2ViS2l0IHJlcG9zaXRvcnkuJy5mb3JtYXQocGF0Y2hfaWQpCiAgICAgICAg
ICAgICBjb21tZW50ICs9ICcgVG8gcmV0cnksIHBsZWFzZSBzZXQgY3ErIGZsYWcgYWdhaW4uJwog
ICAgICAgICAgICAgcmV0dXJuIGNvbW1lbnQKLSAgICAgICAgY29tbWVudCA9ICdDb21taXR0ZWQg
cnt9OiA8e30+Jy5mb3JtYXQoc3ZuX3JldmlzaW9uLCBzZWxmLnVybF9mb3JfcmV2aXNpb24oc3Zu
X3JldmlzaW9uKSkKKworICAgICAgICByZWYgPSAncnt9Jy5mb3JtYXQoc3ZuX3JldmlzaW9uKQor
ICAgICAgICByZXNwb25zZSA9IHJlcXVlc3RzLmdldChzZWxmLnVybF9mb3JfcmVmKHJlZiwganNv
bj1UcnVlKSkKKyAgICAgICAgaWYgcmVzcG9uc2Uuc3RhdHVzX2NvZGUgPT0gMjAwOgorICAgICAg
ICAgICAgcmVmID0gcmVzcG9uc2UuanNvbigpLmdldCgnaWRlbnRpZmllcicsIHJlZikKKworICAg
ICAgICBpZF9zdHJpbmcgPSByZWYgaWYgJ0AnIGluIHJlZiBlbHNlICc/JworICAgICAgICBjb21t
ZW50ID0gJ0NvbW1pdHRlZCBye30gKHt9KTogPHt9PicuZm9ybWF0KHN2bl9yZXZpc2lvbiwgaWRf
c3RyaW5nLCBzZWxmLnVybF9mb3JfcmVmKHJlZikpCiAgICAgICAgIGNvbW1lbnQgKz0gJ1xuXG5B
bGwgcmV2aWV3ZWQgcGF0Y2hlcyBoYXZlIGJlZW4gbGFuZGVkLiBDbG9zaW5nIGJ1ZyBhbmQgY2xl
YXJpbmcgZmxhZ3Mgb24gYXR0YWNobWVudCB7fS4nLmZvcm1hdChwYXRjaF9pZCkKICAgICAgICAg
cmV0dXJuIGNvbW1lbnQKIApJbmRleDogVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9zdGVwc191
bml0dGVzdC5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBz
X3VuaXR0ZXN0LnB5CShyZXZpc2lvbiAyNzUyMjgpCisrKyBUb29scy9DSVN1cHBvcnQvZXdzLWJ1
aWxkL3N0ZXBzX3VuaXR0ZXN0LnB5CSh3b3JraW5nIGNvcHkpCkBAIC0zNCw3ICszNCw3IEBAIGZy
b20gYnVpbGRib3QudGVzdC5mYWtlLnJlbW90ZWNvbW1hbmQgaW0KIGZyb20gYnVpbGRib3QudGVz
dC51dGlsLm1pc2MgaW1wb3J0IFRlc3RSZWFjdG9yTWl4aW4KIGZyb20gYnVpbGRib3QudGVzdC51
dGlsLnN0ZXBzIGltcG9ydCBCdWlsZFN0ZXBNaXhpbgogZnJvbSBidWlsZGJvdC51dGlsIGltcG9y
dCBpZGVudGlmaWVycyBhcyBidWlsZGJvdF9pZGVudGlmaWVycwotZnJvbSBtb2NrIGltcG9ydCBj
YWxsCitmcm9tIG1vY2sgaW1wb3J0IGNhbGwsIHBhdGNoCiBmcm9tIHR3aXN0ZWQuaW50ZXJuZXQg
aW1wb3J0IGRlZmVyLCBlcnJvciwgcmVhY3RvcgogZnJvbSB0d2lzdGVkLnB5dGhvbiBpbXBvcnQg
ZmFpbHVyZSwgbG9nCiBmcm9tIHR3aXN0ZWQudHJpYWwgaW1wb3J0IHVuaXR0ZXN0CkBAIC0zOTcy
LDYgKzM5NzIsMjEgQEAgY2xhc3MgVGVzdFB1c2hDb21taXRUb1dlYktpdFJlcG8oQnVpbGRTdAog
ICAgIGRlZiB0ZWFyRG93bihzZWxmKToKICAgICAgICAgcmV0dXJuIHNlbGYudGVhckRvd25CdWls
ZFN0ZXAoKQogCisgICAgZGVmIG1vY2tfY29tbWl0c193ZWJraXRfb3JnKHNlbGYsIGlkZW50aWZp
ZXI9JzIyMDc5N0BtYWluJyk6CisgICAgICAgIGNsYXNzIFJlc3BvbnNlKG9iamVjdCk6CisgICAg
ICAgICAgICBkZWYgX19pbml0X18oc2VsZiwgZGF0YT17fSk6CisgICAgICAgICAgICAgICAgc2Vs
Zi5zdGF0dXNfY29kZSA9IDIwMAorICAgICAgICAgICAgICAgIHNlbGYuaGVhZGVycyA9IHsnQ29u
dGVudC1UeXBlJzogJ3RleHQvanNvbid9CisgICAgICAgICAgICAgICAgc2VsZi50ZXh0ID0ganNv
bi5kdW1wcyhkYXRhKQorCisgICAgICAgICAgICBkZWYganNvbihzZWxmKToKKyAgICAgICAgICAg
ICAgICByZXR1cm4ganNvbi5sb2FkcyhzZWxmLnRleHQpCisKKyAgICAgICAgcmV0dXJuIHBhdGNo
KAorICAgICAgICAgICAgJ3JlcXVlc3RzLmdldCcsCisgICAgICAgICAgICBsYW1iZGEgKmFyZ3Ms
ICoqa3dhcmdzOiBSZXNwb25zZShkaWN0KGlkZW50aWZpZXI9aWRlbnRpZmllcikpCisgICAgICAg
ICkKKwogICAgIGRlZiB0ZXN0X3N1Y2Nlc3Moc2VsZik6CiAgICAgICAgIHNlbGYuc2V0dXBTdGVw
KFB1c2hDb21taXRUb1dlYktpdFJlcG8oKSkKICAgICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgncGF0
Y2hfaWQnLCAnMTIzNCcpCkBAIC0zOTg0LDkgKzM5OTksOSBAQCBjbGFzcyBUZXN0UHVzaENvbW1p
dFRvV2ViS2l0UmVwbyhCdWlsZFN0CiAgICAgICAgICAgICAwLAogICAgICAgICApCiAgICAgICAg
IHNlbGYuZXhwZWN0T3V0Y29tZShyZXN1bHQ9U1VDQ0VTUywgc3RhdGVfc3RyaW5nPSdDb21taXR0
ZWQgcjI1NjcyOScpCi0gICAgICAgIHdpdGggY3VycmVudF9ob3N0bmFtZShFV1NfQlVJTERfSE9T
VE5BTUUpOgorICAgICAgICB3aXRoIGN1cnJlbnRfaG9zdG5hbWUoRVdTX0JVSUxEX0hPU1ROQU1F
KSwgc2VsZi5tb2NrX2NvbW1pdHNfd2Via2l0X29yZyhpZGVudGlmaWVyPScyMjA3OTdAbWFpbicp
OgogICAgICAgICAgICAgcmMgPSBzZWxmLnJ1blN0ZXAoKQotICAgICAgICBzZWxmLmFzc2VydEVx
dWFsKHNlbGYuZ2V0UHJvcGVydHkoJ2J1Z3ppbGxhX2NvbW1lbnRfdGV4dCcpLCAnQ29tbWl0dGVk
IHIyNTY3Mjk6IDxodHRwczovL2NvbW1pdHMud2Via2l0Lm9yZy9yMjU2NzI5PlxuXG5BbGwgcmV2
aWV3ZWQgcGF0Y2hlcyBoYXZlIGJlZW4gbGFuZGVkLiBDbG9zaW5nIGJ1ZyBhbmQgY2xlYXJpbmcg
ZmxhZ3Mgb24gYXR0YWNobWVudCAxMjM0LicpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2Vs
Zi5nZXRQcm9wZXJ0eSgnYnVnemlsbGFfY29tbWVudF90ZXh0JyksICdDb21taXR0ZWQgcjI1Njcy
OSAoMjIwNzk3QG1haW4pOiA8aHR0cHM6Ly9jb21taXRzLndlYmtpdC5vcmcvMjIwNzk3QG1haW4+
XG5cbkFsbCByZXZpZXdlZCBwYXRjaGVzIGhhdmUgYmVlbiBsYW5kZWQuIENsb3NpbmcgYnVnIGFu
ZCBjbGVhcmluZyBmbGFncyBvbiBhdHRhY2htZW50IDEyMzQuJykKICAgICAgICAgc2VsZi5hc3Nl
cnRFcXVhbChzZWxmLmdldFByb3BlcnR5KCdidWlsZF9maW5pc2hfc3VtbWFyeScpLCBOb25lKQog
ICAgICAgICByZXR1cm4gcmMKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424702</attachid>
            <date>2021-03-30 14:55:52 -0700</date>
            <delta_ts>2021-03-30 15:03:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223829-20210330145551.patch</filename>
            <type>text/plain</type>
            <size>5824</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI3NTIzOCkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDIwIEBACisyMDIxLTAzLTMwICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICBbYnVpbGQud2Via2l0Lm9yZ10gQ29tbWl0IHF1ZXVlIHNob3VsZCBwb3N0
IHRoZSBpZGVudGlmaWVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMjM4MjkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc1OTA4MzIxPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ0lTdXBwb3J0L2V3
cy1idWlsZC9zdGVwcy5weToKKyAgICAgICAgKFB1c2hDb21taXRUb1dlYktpdFJlcG8uZXZhbHVh
dGVDb21tYW5kKTogUmVwbGFjZSB1cmxfZm9yX3JldmlzaW9uIHdpdGggdXJsX2Zvcl9yZWYuCisg
ICAgICAgIChQdXNoQ29tbWl0VG9XZWJLaXRSZXBvLnVybF9mb3JfcmVmKTogUmVuYW1lZCBmcm9t
IHVybF9mb3JfcmV2aXNpb24uCisgICAgICAgIChQdXNoQ29tbWl0VG9XZWJLaXRSZXBvLmNvbW1l
bnRfdGV4dF9mb3JfYnVnKTogQ29uc3VsdCBjb21taXRzLndlYmtpdC5vcmcgdG8gY29udmVydCBy
ZXZpc2lvbgorICAgICAgICB0byBpZGVudGlmaWVyLgorICAgICAgICAoUHVzaENvbW1pdFRvV2Vi
S2l0UmVwby51cmxfZm9yX3JldmlzaW9uKTogUmVuYW1lZCB0byB1cmxfZm9yX3JlZi4KKyAgICAg
ICAgKiBDSVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzX3VuaXR0ZXN0LnB5OgorICAgICAgICAqIENJ
U3VwcG9ydC9ydW5Vbml0dGVzdHMucHk6IEluY2x1ZGUgd2Via2l0Y29yZXB5IG9uIHRoZSBQeXRo
b24gcGF0aC4KKwogMjAyMS0wMy0zMCAgSm9uYXRoYW4gQmVkYXJkICA8amJlZGFyZEBhcHBsZS5j
b20+CiAKICAgICAgICAgW3Jlc3VsdHNkYnB5XSBSZXR1cm4gbmV3LXN0eWxlIGNvbW1pdHMgKEZv
bGxvdy11cCBmaXgpCkluZGV4OiBUb29scy9DSVN1cHBvcnQvcnVuVW5pdHRlc3RzLnB5Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFRvb2xzL0NJU3VwcG9ydC9ydW5Vbml0dGVzdHMucHkJKHJldmlzaW9uIDI3NTIy
OCkKKysrIFRvb2xzL0NJU3VwcG9ydC9ydW5Vbml0dGVzdHMucHkJKHdvcmtpbmcgY29weSkKQEAg
LTksNiArOSwxMSBAQCBUaGlzIGlzIHRoZSBlcXVpdmFsZW50IG9mIHJ1bm5pbmc6CiAgICAgcHl0
aG9uIC1tIHVuaXR0ZXN0IGRpc2NvdmVyIC0tc3RhcnQtZGlyZWN0b3J5IHt0ZXN0X2Rpc2NvdmVy
eV9wYXRofSAtLXBhdHRlcm4ge1VOSVRfVEVTVF9QQVRURVJOfQogIiIiCiAKK3dlYmtpdGNvcmVw
eV9wYXRoID0gb3MucGF0aC5qb2luKG9zLnBhdGguYWJzcGF0aChvcy5wYXRoLmRpcm5hbWUob3Mu
cGF0aC5kaXJuYW1lKF9fZmlsZV9fKSkpLCAnU2NyaXB0cycsICdsaWJyYXJpZXMnLCAnd2Via2l0
Y29yZXB5JykKK3ByaW50KHdlYmtpdGNvcmVweV9wYXRoKQoraWYgd2Via2l0Y29yZXB5X3BhdGgg
bm90IGluIHN5cy5wYXRoOgorICAgIHN5cy5wYXRoLmluc2VydCgwLCB3ZWJraXRjb3JlcHlfcGF0
aCkKKwogIyBUaGlzIGlzIHdvcmstYXJvdW5kIGZvciBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjIyMzYxCiBmcm9tIGJ1aWxkYm90LnByb2Nlc3MuYnVpbGRzdGVwIGlt
cG9ydCBCdWlsZFN0ZXAKIEJ1aWxkU3RlcC53YXJuX2RlcHJlY2F0ZWRfaWZfb2xkc3R5bGVfc3Vi
Y2xhc3MgPSBsYW1iZGEgc2VsZiwgbmFtZTogTm9uZQpJbmRleDogVG9vbHMvQ0lTdXBwb3J0L2V3
cy1idWlsZC9zdGVwcy5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DSVN1cHBvcnQvZXdzLWJ1aWxk
L3N0ZXBzLnB5CShyZXZpc2lvbiAyNzUyMjgpCisrKyBUb29scy9DSVN1cHBvcnQvZXdzLWJ1aWxk
L3N0ZXBzLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0zMjIzLDcgKzMyMjMsNyBAQCBjbGFzcyBQdXNo
Q29tbWl0VG9XZWJLaXRSZXBvKHNoZWxsLlNoZWxsCiAgICAgICAgICAgICBzZWxmLmRlc2NyaXB0
aW9uRG9uZSA9IGNvbW1pdF9zdW1tYXJ5CiAgICAgICAgICAgICBzZWxmLnNldFByb3BlcnR5KCdi
dWlsZF9zdW1tYXJ5JywgJ0NvbW1pdHRlZCBye30nLmZvcm1hdChzdm5fcmV2aXNpb24pKQogICAg
ICAgICAgICAgc2VsZi5idWlsZC5hZGRTdGVwc0FmdGVyQ3VycmVudFN0ZXAoW0NvbW1lbnRPbkJ1
ZygpLCBSZW1vdmVGbGFnc09uUGF0Y2goKSwgQ2xvc2VCdWcoKV0pCi0gICAgICAgICAgICBzZWxm
LmFkZFVSTCgncnt9Jy5mb3JtYXQoc3ZuX3JldmlzaW9uKSwgc2VsZi51cmxfZm9yX3JldmlzaW9u
KHN2bl9yZXZpc2lvbikpCisgICAgICAgICAgICBzZWxmLmFkZFVSTCgncnt9Jy5mb3JtYXQoc3Zu
X3JldmlzaW9uKSwgc2VsZi51cmxfZm9yX3JlZigncnt9Jy5mb3JtYXQoc3ZuX3JldmlzaW9uKSkp
CiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICByZXRyeV9jb3VudCA9IGludChzZWxmLmdldFBy
b3BlcnR5KCdyZXRyeV9jb3VudCcsIDApKQogICAgICAgICAgICAgaWYgcmV0cnlfY291bnQgPCBz
ZWxmLk1BWF9SRVRSWToKQEAgLTMyMzYsOCArMzIzNiw4IEBAIGNsYXNzIFB1c2hDb21taXRUb1dl
YktpdFJlcG8oc2hlbGwuU2hlbGwKICAgICAgICAgICAgIHNlbGYuYnVpbGQuYWRkU3RlcHNBZnRl
ckN1cnJlbnRTdGVwKFtDb21tZW50T25CdWcoKSwgU2V0Q29tbWl0UXVldWVNaW51c0ZsYWdPblBh
dGNoKCldKQogICAgICAgICByZXR1cm4gcmMKIAotICAgIGRlZiB1cmxfZm9yX3JldmlzaW9uKHNl
bGYsIHJldmlzaW9uKToKLSAgICAgICAgcmV0dXJuICdodHRwczovL2NvbW1pdHMud2Via2l0Lm9y
Zy9ye30nLmZvcm1hdChyZXZpc2lvbikKKyAgICBkZWYgdXJsX2Zvcl9yZWYoc2VsZiwgcmVmLCBq
c29uPUZhbHNlKToKKyAgICAgICAgcmV0dXJuICd7fXt9e30nLmZvcm1hdChDT01NSVRTX0lORk9f
VVJMLCByZWYsICcvanNvbicgaWYganNvbiBlbHNlICcnKQogCiAgICAgZGVmIGNvbW1lbnRfdGV4
dF9mb3JfYnVnKHNlbGYsIHN2bl9yZXZpc2lvbj1Ob25lKToKICAgICAgICAgcGF0Y2hfaWQgPSBz
ZWxmLmdldFByb3BlcnR5KCdwYXRjaF9pZCcsICcnKQpAQCAtMzI0NSw3ICszMjQ1LDE0IEBAIGNs
YXNzIFB1c2hDb21taXRUb1dlYktpdFJlcG8oc2hlbGwuU2hlbGwKICAgICAgICAgICAgIGNvbW1l
bnQgPSAnY29tbWl0LXF1ZXVlIGZhaWxlZCB0byBjb21taXQgYXR0YWNobWVudCB7fSB0byBXZWJL
aXQgcmVwb3NpdG9yeS4nLmZvcm1hdChwYXRjaF9pZCkKICAgICAgICAgICAgIGNvbW1lbnQgKz0g
JyBUbyByZXRyeSwgcGxlYXNlIHNldCBjcSsgZmxhZyBhZ2Fpbi4nCiAgICAgICAgICAgICByZXR1
cm4gY29tbWVudAotICAgICAgICBjb21tZW50ID0gJ0NvbW1pdHRlZCBye306IDx7fT4nLmZvcm1h
dChzdm5fcmV2aXNpb24sIHNlbGYudXJsX2Zvcl9yZXZpc2lvbihzdm5fcmV2aXNpb24pKQorCisg
ICAgICAgIHJlZiA9ICdye30nLmZvcm1hdChzdm5fcmV2aXNpb24pCisgICAgICAgIHJlc3BvbnNl
ID0gcmVxdWVzdHMuZ2V0KHNlbGYudXJsX2Zvcl9yZWYocmVmLCBqc29uPVRydWUpKQorICAgICAg
ICBpZiByZXNwb25zZS5zdGF0dXNfY29kZSA9PSAyMDA6CisgICAgICAgICAgICByZWYgPSByZXNw
b25zZS5qc29uKCkuZ2V0KCdpZGVudGlmaWVyJywgcmVmKQorCisgICAgICAgIGlkX3N0cmluZyA9
IHJlZiBpZiAnQCcgaW4gcmVmIGVsc2UgJz8nCisgICAgICAgIGNvbW1lbnQgPSAnQ29tbWl0dGVk
IHJ7fSAoe30pOiA8e30+Jy5mb3JtYXQoc3ZuX3JldmlzaW9uLCBpZF9zdHJpbmcsIHNlbGYudXJs
X2Zvcl9yZWYocmVmKSkKICAgICAgICAgY29tbWVudCArPSAnXG5cbkFsbCByZXZpZXdlZCBwYXRj
aGVzIGhhdmUgYmVlbiBsYW5kZWQuIENsb3NpbmcgYnVnIGFuZCBjbGVhcmluZyBmbGFncyBvbiBh
dHRhY2htZW50IHt9LicuZm9ybWF0KHBhdGNoX2lkKQogICAgICAgICByZXR1cm4gY29tbWVudAog
CkluZGV4OiBUb29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzX3VuaXR0ZXN0LnB5Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFRvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvc3RlcHNfdW5pdHRlc3QucHkJKHJl
dmlzaW9uIDI3NTIyOCkKKysrIFRvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvc3RlcHNfdW5pdHRl
c3QucHkJKHdvcmtpbmcgY29weSkKQEAgLTM4LDYgKzM4LDcgQEAgZnJvbSBtb2NrIGltcG9ydCBj
YWxsCiBmcm9tIHR3aXN0ZWQuaW50ZXJuZXQgaW1wb3J0IGRlZmVyLCBlcnJvciwgcmVhY3Rvcgog
ZnJvbSB0d2lzdGVkLnB5dGhvbiBpbXBvcnQgZmFpbHVyZSwgbG9nCiBmcm9tIHR3aXN0ZWQudHJp
YWwgaW1wb3J0IHVuaXR0ZXN0Citmcm9tIHdlYmtpdGNvcmVweSBpbXBvcnQgbW9ja3MKIAogCiBm
cm9tIHN0ZXBzIGltcG9ydCAoQW5hbHl6ZUFQSVRlc3RzUmVzdWx0cywgQW5hbHl6ZUNvbXBpbGVX
ZWJLaXRSZXN1bHRzLCBBbmFseXplSlNDVGVzdHNSZXN1bHRzLApAQCAtMzk4NCw5ICszOTg1LDE2
IEBAIGNsYXNzIFRlc3RQdXNoQ29tbWl0VG9XZWJLaXRSZXBvKEJ1aWxkU3QKICAgICAgICAgICAg
IDAsCiAgICAgICAgICkKICAgICAgICAgc2VsZi5leHBlY3RPdXRjb21lKHJlc3VsdD1TVUNDRVNT
LCBzdGF0ZV9zdHJpbmc9J0NvbW1pdHRlZCByMjU2NzI5JykKLSAgICAgICAgd2l0aCBjdXJyZW50
X2hvc3RuYW1lKEVXU19CVUlMRF9IT1NUTkFNRSk6CisgICAgICAgIHdpdGggY3VycmVudF9ob3N0
bmFtZShFV1NfQlVJTERfSE9TVE5BTUUpLCBtb2Nrcy5SZXF1ZXN0cygKKyAgICAgICAgICAgICdj
b21taXRzLndlYmtpdC5vcmcnLCAqKnsKKyAgICAgICAgICAgICAgICAncjI1NjcyOS9qc29uJzog
bW9ja3MuUmVzcG9uc2UuZnJvbUpzb24oZGljdCgKKyAgICAgICAgICAgICAgICAgICAgaWRlbnRp
Zmllcj0nMjIwNzk3QG1haW4nLAorICAgICAgICAgICAgICAgICAgICByZXZpc2lvbj0yNTY3Mjks
CisgICAgICAgICAgICAgICAgKSksCisgICAgICAgICAgICB9CisgICAgICAgICk6CiAgICAgICAg
ICAgICByYyA9IHNlbGYucnVuU3RlcCgpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5n
ZXRQcm9wZXJ0eSgnYnVnemlsbGFfY29tbWVudF90ZXh0JyksICdDb21taXR0ZWQgcjI1NjcyOTog
PGh0dHBzOi8vY29tbWl0cy53ZWJraXQub3JnL3IyNTY3Mjk+XG5cbkFsbCByZXZpZXdlZCBwYXRj
aGVzIGhhdmUgYmVlbiBsYW5kZWQuIENsb3NpbmcgYnVnIGFuZCBjbGVhcmluZyBmbGFncyBvbiBh
dHRhY2htZW50IDEyMzQuJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmdldFByb3Bl
cnR5KCdidWd6aWxsYV9jb21tZW50X3RleHQnKSwgJ0NvbW1pdHRlZCByMjU2NzI5ICgyMjA3OTdA
bWFpbik6IDxodHRwczovL2NvbW1pdHMud2Via2l0Lm9yZy8yMjA3OTdAbWFpbj5cblxuQWxsIHJl
dmlld2VkIHBhdGNoZXMgaGF2ZSBiZWVuIGxhbmRlZC4gQ2xvc2luZyBidWcgYW5kIGNsZWFyaW5n
IGZsYWdzIG9uIGF0dGFjaG1lbnQgMTIzNC4nKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNl
bGYuZ2V0UHJvcGVydHkoJ2J1aWxkX2ZpbmlzaF9zdW1tYXJ5JyksIE5vbmUpCiAgICAgICAgIHJl
dHVybiByYwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424705</attachid>
            <date>2021-03-30 15:02:56 -0700</date>
            <delta_ts>2021-03-31 09:30:42 -0700</delta_ts>
            <desc>Patch (webkitcorepy)</desc>
            <filename>bug-223829-20210330150255.patch</filename>
            <type>text/plain</type>
            <size>5471</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI3NTIzOCkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE5IEBACisyMDIxLTAzLTMwICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICBbYnVpbGQud2Via2l0Lm9yZ10gQ29tbWl0IHF1ZXVlIHNob3VsZCBwb3N0
IHRoZSBpZGVudGlmaWVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMjM4MjkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc1OTA4MzIxPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ0lTdXBwb3J0L2V3
cy1idWlsZC9zdGVwcy5weToKKyAgICAgICAgKFB1c2hDb21taXRUb1dlYktpdFJlcG8uZXZhbHVh
dGVDb21tYW5kKTogUmVwbGFjZSB1cmxfZm9yX3JldmlzaW9uIHdpdGggdXJsX2Zvcl9yZWYuCisg
ICAgICAgIChQdXNoQ29tbWl0VG9XZWJLaXRSZXBvLnVybF9mb3JfcmVmKTogUmVuYW1lZCBmcm9t
IHVybF9mb3JfcmV2aXNpb24uCisgICAgICAgIChQdXNoQ29tbWl0VG9XZWJLaXRSZXBvLmNvbW1l
bnRfdGV4dF9mb3JfYnVnKTogQ29uc3VsdCBjb21taXRzLndlYmtpdC5vcmcgdG8gY29udmVydCBy
ZXZpc2lvbgorICAgICAgICB0byBpZGVudGlmaWVyLgorICAgICAgICAoUHVzaENvbW1pdFRvV2Vi
S2l0UmVwby51cmxfZm9yX3JldmlzaW9uKTogUmVuYW1lZCB0byB1cmxfZm9yX3JlZi4KKyAgICAg
ICAgKiBDSVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzX3VuaXR0ZXN0LnB5OgorCiAyMDIxLTAzLTMw
ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNvbT4KIAogICAgICAgICBbcmVzdWx0
c2RicHldIFJldHVybiBuZXctc3R5bGUgY29tbWl0cyAoRm9sbG93LXVwIGZpeCkKSW5kZXg6IFRv
b2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvc3RlcHMucHkKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvQ0lT
dXBwb3J0L2V3cy1idWlsZC9zdGVwcy5weQkocmV2aXNpb24gMjc1MjI4KQorKysgVG9vbHMvQ0lT
dXBwb3J0L2V3cy1idWlsZC9zdGVwcy5weQkod29ya2luZyBjb3B5KQpAQCAtMzIyMyw3ICszMjIz
LDcgQEAgY2xhc3MgUHVzaENvbW1pdFRvV2ViS2l0UmVwbyhzaGVsbC5TaGVsbAogICAgICAgICAg
ICAgc2VsZi5kZXNjcmlwdGlvbkRvbmUgPSBjb21taXRfc3VtbWFyeQogICAgICAgICAgICAgc2Vs
Zi5zZXRQcm9wZXJ0eSgnYnVpbGRfc3VtbWFyeScsICdDb21taXR0ZWQgcnt9Jy5mb3JtYXQoc3Zu
X3JldmlzaW9uKSkKICAgICAgICAgICAgIHNlbGYuYnVpbGQuYWRkU3RlcHNBZnRlckN1cnJlbnRT
dGVwKFtDb21tZW50T25CdWcoKSwgUmVtb3ZlRmxhZ3NPblBhdGNoKCksIENsb3NlQnVnKCldKQot
ICAgICAgICAgICAgc2VsZi5hZGRVUkwoJ3J7fScuZm9ybWF0KHN2bl9yZXZpc2lvbiksIHNlbGYu
dXJsX2Zvcl9yZXZpc2lvbihzdm5fcmV2aXNpb24pKQorICAgICAgICAgICAgc2VsZi5hZGRVUkwo
J3J7fScuZm9ybWF0KHN2bl9yZXZpc2lvbiksIHNlbGYudXJsX2Zvcl9yZWYoJ3J7fScuZm9ybWF0
KHN2bl9yZXZpc2lvbikpKQogICAgICAgICBlbHNlOgogICAgICAgICAgICAgcmV0cnlfY291bnQg
PSBpbnQoc2VsZi5nZXRQcm9wZXJ0eSgncmV0cnlfY291bnQnLCAwKSkKICAgICAgICAgICAgIGlm
IHJldHJ5X2NvdW50IDwgc2VsZi5NQVhfUkVUUlk6CkBAIC0zMjM2LDggKzMyMzYsOCBAQCBjbGFz
cyBQdXNoQ29tbWl0VG9XZWJLaXRSZXBvKHNoZWxsLlNoZWxsCiAgICAgICAgICAgICBzZWxmLmJ1
aWxkLmFkZFN0ZXBzQWZ0ZXJDdXJyZW50U3RlcChbQ29tbWVudE9uQnVnKCksIFNldENvbW1pdFF1
ZXVlTWludXNGbGFnT25QYXRjaCgpXSkKICAgICAgICAgcmV0dXJuIHJjCiAKLSAgICBkZWYgdXJs
X2Zvcl9yZXZpc2lvbihzZWxmLCByZXZpc2lvbik6Ci0gICAgICAgIHJldHVybiAnaHR0cHM6Ly9j
b21taXRzLndlYmtpdC5vcmcvcnt9Jy5mb3JtYXQocmV2aXNpb24pCisgICAgZGVmIHVybF9mb3Jf
cmVmKHNlbGYsIHJlZiwganNvbj1GYWxzZSk6CisgICAgICAgIHJldHVybiAne317fXt9Jy5mb3Jt
YXQoQ09NTUlUU19JTkZPX1VSTCwgcmVmLCAnL2pzb24nIGlmIGpzb24gZWxzZSAnJykKIAogICAg
IGRlZiBjb21tZW50X3RleHRfZm9yX2J1ZyhzZWxmLCBzdm5fcmV2aXNpb249Tm9uZSk6CiAgICAg
ICAgIHBhdGNoX2lkID0gc2VsZi5nZXRQcm9wZXJ0eSgncGF0Y2hfaWQnLCAnJykKQEAgLTMyNDUs
NyArMzI0NSwxNCBAQCBjbGFzcyBQdXNoQ29tbWl0VG9XZWJLaXRSZXBvKHNoZWxsLlNoZWxsCiAg
ICAgICAgICAgICBjb21tZW50ID0gJ2NvbW1pdC1xdWV1ZSBmYWlsZWQgdG8gY29tbWl0IGF0dGFj
aG1lbnQge30gdG8gV2ViS2l0IHJlcG9zaXRvcnkuJy5mb3JtYXQocGF0Y2hfaWQpCiAgICAgICAg
ICAgICBjb21tZW50ICs9ICcgVG8gcmV0cnksIHBsZWFzZSBzZXQgY3ErIGZsYWcgYWdhaW4uJwog
ICAgICAgICAgICAgcmV0dXJuIGNvbW1lbnQKLSAgICAgICAgY29tbWVudCA9ICdDb21taXR0ZWQg
cnt9OiA8e30+Jy5mb3JtYXQoc3ZuX3JldmlzaW9uLCBzZWxmLnVybF9mb3JfcmV2aXNpb24oc3Zu
X3JldmlzaW9uKSkKKworICAgICAgICByZWYgPSAncnt9Jy5mb3JtYXQoc3ZuX3JldmlzaW9uKQor
ICAgICAgICByZXNwb25zZSA9IHJlcXVlc3RzLmdldChzZWxmLnVybF9mb3JfcmVmKHJlZiwganNv
bj1UcnVlKSkKKyAgICAgICAgaWYgcmVzcG9uc2Uuc3RhdHVzX2NvZGUgPT0gMjAwOgorICAgICAg
ICAgICAgcmVmID0gcmVzcG9uc2UuanNvbigpLmdldCgnaWRlbnRpZmllcicsIHJlZikKKworICAg
ICAgICBpZF9zdHJpbmcgPSByZWYgaWYgJ0AnIGluIHJlZiBlbHNlICc/JworICAgICAgICBjb21t
ZW50ID0gJ0NvbW1pdHRlZCBye30gKHt9KTogPHt9PicuZm9ybWF0KHN2bl9yZXZpc2lvbiwgaWRf
c3RyaW5nLCBzZWxmLnVybF9mb3JfcmVmKHJlZikpCiAgICAgICAgIGNvbW1lbnQgKz0gJ1xuXG5B
bGwgcmV2aWV3ZWQgcGF0Y2hlcyBoYXZlIGJlZW4gbGFuZGVkLiBDbG9zaW5nIGJ1ZyBhbmQgY2xl
YXJpbmcgZmxhZ3Mgb24gYXR0YWNobWVudCB7fS4nLmZvcm1hdChwYXRjaF9pZCkKICAgICAgICAg
cmV0dXJuIGNvbW1lbnQKIApJbmRleDogVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9zdGVwc191
bml0dGVzdC5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBz
X3VuaXR0ZXN0LnB5CShyZXZpc2lvbiAyNzUyMjgpCisrKyBUb29scy9DSVN1cHBvcnQvZXdzLWJ1
aWxkL3N0ZXBzX3VuaXR0ZXN0LnB5CSh3b3JraW5nIGNvcHkpCkBAIC0yOCw2ICsyOCwxMyBAQCBp
bXBvcnQgc2h1dGlsCiBpbXBvcnQgc3lzCiBpbXBvcnQgdGVtcGZpbGUKIAord2Via2l0Y29yZXB5
X3BhdGggPSBvcy5wYXRoLmpvaW4oCisgICAgb3MucGF0aC5hYnNwYXRoKG9zLnBhdGguZGlybmFt
ZShvcy5wYXRoLmRpcm5hbWUob3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKSkpKSwKKyAgICAnU2Ny
aXB0cycsICdsaWJyYXJpZXMnLCAnd2Via2l0Y29yZXB5JywKKykKK2lmIHdlYmtpdGNvcmVweV9w
YXRoIG5vdCBpbiBzeXMucGF0aDoKKyAgICBzeXMucGF0aC5pbnNlcnQoMCwgd2Via2l0Y29yZXB5
X3BhdGgpCisKIGZyb20gYnVpbGRib3QucHJvY2VzcyBpbXBvcnQgcmVtb3RldHJhbnNmZXIKIGZy
b20gYnVpbGRib3QucHJvY2Vzcy5yZXN1bHRzIGltcG9ydCBSZXN1bHRzLCBTVUNDRVNTLCBGQUlM
VVJFLCBXQVJOSU5HUywgU0tJUFBFRCwgRVhDRVBUSU9OLCBSRVRSWQogZnJvbSBidWlsZGJvdC50
ZXN0LmZha2UucmVtb3RlY29tbWFuZCBpbXBvcnQgRXhwZWN0LCBFeHBlY3RSZW1vdGVSZWYsIEV4
cGVjdFNoZWxsCkBAIC0zOCw2ICs0NSw3IEBAIGZyb20gbW9jayBpbXBvcnQgY2FsbAogZnJvbSB0
d2lzdGVkLmludGVybmV0IGltcG9ydCBkZWZlciwgZXJyb3IsIHJlYWN0b3IKIGZyb20gdHdpc3Rl
ZC5weXRob24gaW1wb3J0IGZhaWx1cmUsIGxvZwogZnJvbSB0d2lzdGVkLnRyaWFsIGltcG9ydCB1
bml0dGVzdAorZnJvbSB3ZWJraXRjb3JlcHkgaW1wb3J0IG1vY2tzCiAKIAogZnJvbSBzdGVwcyBp
bXBvcnQgKEFuYWx5emVBUElUZXN0c1Jlc3VsdHMsIEFuYWx5emVDb21waWxlV2ViS2l0UmVzdWx0
cywgQW5hbHl6ZUpTQ1Rlc3RzUmVzdWx0cywKQEAgLTM5ODQsOSArMzk5MiwxNiBAQCBjbGFzcyBU
ZXN0UHVzaENvbW1pdFRvV2ViS2l0UmVwbyhCdWlsZFN0CiAgICAgICAgICAgICAwLAogICAgICAg
ICApCiAgICAgICAgIHNlbGYuZXhwZWN0T3V0Y29tZShyZXN1bHQ9U1VDQ0VTUywgc3RhdGVfc3Ry
aW5nPSdDb21taXR0ZWQgcjI1NjcyOScpCi0gICAgICAgIHdpdGggY3VycmVudF9ob3N0bmFtZShF
V1NfQlVJTERfSE9TVE5BTUUpOgorICAgICAgICB3aXRoIGN1cnJlbnRfaG9zdG5hbWUoRVdTX0JV
SUxEX0hPU1ROQU1FKSwgbW9ja3MuUmVxdWVzdHMoCisgICAgICAgICAgICAnY29tbWl0cy53ZWJr
aXQub3JnJywgKip7CisgICAgICAgICAgICAgICAgJ3IyNTY3MjkvanNvbic6IG1vY2tzLlJlc3Bv
bnNlLmZyb21Kc29uKGRpY3QoCisgICAgICAgICAgICAgICAgICAgIGlkZW50aWZpZXI9JzIyMDc5
N0BtYWluJywKKyAgICAgICAgICAgICAgICAgICAgcmV2aXNpb249MjU2NzI5LAorICAgICAgICAg
ICAgICAgICkpLAorICAgICAgICAgICAgfQorICAgICAgICApOgogICAgICAgICAgICAgcmMgPSBz
ZWxmLnJ1blN0ZXAoKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuZ2V0UHJvcGVydHko
J2J1Z3ppbGxhX2NvbW1lbnRfdGV4dCcpLCAnQ29tbWl0dGVkIHIyNTY3Mjk6IDxodHRwczovL2Nv
bW1pdHMud2Via2l0Lm9yZy9yMjU2NzI5PlxuXG5BbGwgcmV2aWV3ZWQgcGF0Y2hlcyBoYXZlIGJl
ZW4gbGFuZGVkLiBDbG9zaW5nIGJ1ZyBhbmQgY2xlYXJpbmcgZmxhZ3Mgb24gYXR0YWNobWVudCAx
MjM0LicpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5nZXRQcm9wZXJ0eSgnYnVnemls
bGFfY29tbWVudF90ZXh0JyksICdDb21taXR0ZWQgcjI1NjcyOSAoMjIwNzk3QG1haW4pOiA8aHR0
cHM6Ly9jb21taXRzLndlYmtpdC5vcmcvMjIwNzk3QG1haW4+XG5cbkFsbCByZXZpZXdlZCBwYXRj
aGVzIGhhdmUgYmVlbiBsYW5kZWQuIENsb3NpbmcgYnVnIGFuZCBjbGVhcmluZyBmbGFncyBvbiBh
dHRhY2htZW50IDEyMzQuJykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmdldFByb3Bl
cnR5KCdidWlsZF9maW5pc2hfc3VtbWFyeScpLCBOb25lKQogICAgICAgICByZXR1cm4gcmMKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424780</attachid>
            <date>2021-03-31 09:51:14 -0700</date>
            <delta_ts>2021-03-31 09:57:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223829-20210331095113.patch</filename>
            <type>text/plain</type>
            <size>7078</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI3NTI4NSkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDIwIEBACisyMDIxLTAzLTMxICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICBbYnVpbGQud2Via2l0Lm9yZ10gQ29tbWl0IHF1ZXVlIHNob3VsZCBwb3N0
IHRoZSBpZGVudGlmaWVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMjM4MjkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc1OTA4MzIxPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ0lTdXBwb3J0L2V3
cy1idWlsZC9zdGVwcy5weToKKyAgICAgICAgKFB1c2hDb21taXRUb1dlYktpdFJlcG8uZXZhbHVh
dGVDb21tYW5kKTogUmVwbGFjZSB1cmxfZm9yX3JldmlzaW9uIHdpdGggdXJsX2Zvcl9yZWYuCisg
ICAgICAgIChQdXNoQ29tbWl0VG9XZWJLaXRSZXBvLnVybF9mb3JfcmVmKTogUmVuYW1lZCBmcm9t
IHVybF9mb3JfcmV2aXNpb24uCisgICAgICAgIChQdXNoQ29tbWl0VG9XZWJLaXRSZXBvLmlkZW50
aWZpZXJfZm9yX3JlZik6IENvbnZlcnQgYSBjb21taXQgcmVmIHRvIGFuIGlkZW50aWZpZXIgc3Ry
aW5nLgorICAgICAgICAoUHVzaENvbW1pdFRvV2ViS2l0UmVwby5jb21tZW50X3RleHRfZm9yX2J1
Zyk6IENvbnN1bHQgY29tbWl0cy53ZWJraXQub3JnIHRvIGNvbnZlcnQgcmV2aXNpb24KKyAgICAg
ICAgdG8gaWRlbnRpZmllci4KKyAgICAgICAgKFB1c2hDb21taXRUb1dlYktpdFJlcG8udXJsX2Zv
cl9yZXZpc2lvbik6IFJlbmFtZWQgdG8gdXJsX2Zvcl9yZWYuCisgICAgICAgICogQ0lTdXBwb3J0
L2V3cy1idWlsZC9zdGVwc191bml0dGVzdC5weToKKwogMjAyMS0wMy0zMSAgQWFrYXNoIEphaW4g
IDxhYWthc2hfamFpbkBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIGJ1aWxkIHN0ZXAgdG8gcnVu
IGxheW91dCB0ZXN0cyBmb3IgbXVsdGlwbGUgaXRlcmF0aW9ucwpJbmRleDogVG9vbHMvQ0lTdXBw
b3J0L2V3cy1idWlsZC9zdGVwcy5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DSVN1cHBvcnQvZXdz
LWJ1aWxkL3N0ZXBzLnB5CShyZXZpc2lvbiAyNzUyODUpCisrKyBUb29scy9DSVN1cHBvcnQvZXdz
LWJ1aWxkL3N0ZXBzLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0zMjU1LDcgKzMyNTUsNyBAQCBjbGFz
cyBQdXNoQ29tbWl0VG9XZWJLaXRSZXBvKHNoZWxsLlNoZWxsCiAgICAgICAgICAgICBzZWxmLmRl
c2NyaXB0aW9uRG9uZSA9IGNvbW1pdF9zdW1tYXJ5CiAgICAgICAgICAgICBzZWxmLnNldFByb3Bl
cnR5KCdidWlsZF9zdW1tYXJ5JywgJ0NvbW1pdHRlZCBye30nLmZvcm1hdChzdm5fcmV2aXNpb24p
KQogICAgICAgICAgICAgc2VsZi5idWlsZC5hZGRTdGVwc0FmdGVyQ3VycmVudFN0ZXAoW0NvbW1l
bnRPbkJ1ZygpLCBSZW1vdmVGbGFnc09uUGF0Y2goKSwgQ2xvc2VCdWcoKV0pCi0gICAgICAgICAg
ICBzZWxmLmFkZFVSTCgncnt9Jy5mb3JtYXQoc3ZuX3JldmlzaW9uKSwgc2VsZi51cmxfZm9yX3Jl
dmlzaW9uKHN2bl9yZXZpc2lvbikpCisgICAgICAgICAgICBzZWxmLmFkZFVSTCgncnt9Jy5mb3Jt
YXQoc3ZuX3JldmlzaW9uKSwgc2VsZi51cmxfZm9yX3JlZigncnt9Jy5mb3JtYXQoc3ZuX3Jldmlz
aW9uKSkpCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICByZXRyeV9jb3VudCA9IGludChzZWxm
LmdldFByb3BlcnR5KCdyZXRyeV9jb3VudCcsIDApKQogICAgICAgICAgICAgaWYgcmV0cnlfY291
bnQgPCBzZWxmLk1BWF9SRVRSWToKQEAgLTMyNjgsOCArMzI2OCwxNyBAQCBjbGFzcyBQdXNoQ29t
bWl0VG9XZWJLaXRSZXBvKHNoZWxsLlNoZWxsCiAgICAgICAgICAgICBzZWxmLmJ1aWxkLmFkZFN0
ZXBzQWZ0ZXJDdXJyZW50U3RlcChbQ29tbWVudE9uQnVnKCksIFNldENvbW1pdFF1ZXVlTWludXNG
bGFnT25QYXRjaCgpXSkKICAgICAgICAgcmV0dXJuIHJjCiAKLSAgICBkZWYgdXJsX2Zvcl9yZXZp
c2lvbihzZWxmLCByZXZpc2lvbik6Ci0gICAgICAgIHJldHVybiAnaHR0cHM6Ly9jb21taXRzLndl
YmtpdC5vcmcvcnt9Jy5mb3JtYXQocmV2aXNpb24pCisgICAgZGVmIHVybF9mb3JfcmVmKHNlbGYs
IHJlZiwganNvbj1GYWxzZSk6CisgICAgICAgIHJldHVybiAne317fXt9Jy5mb3JtYXQoQ09NTUlU
U19JTkZPX1VSTCwgcmVmLCAnL2pzb24nIGlmIGpzb24gZWxzZSAnJykKKworICAgIGRlZiBpZGVu
dGlmaWVyX2Zvcl9yZWYocmVmKToKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgcmVzcG9uc2Ug
PSByZXF1ZXN0cy5nZXQoc2VsZi51cmxfZm9yX3JlZihyZWYsIGpzb249VHJ1ZSkpCisgICAgICAg
ICAgICBpZiByZXNwb25zZSBhbmQgcmVzcG9uc2Uuc3RhdHVzX2NvZGUgPT0gMjAwOgorICAgICAg
ICAgICAgICAgIHJldHVybiByZXNwb25zZS5qc29uKCkuZ2V0KCdpZGVudGlmaWVyJywgcmVmKQor
ICAgICAgICBleGNlcHQgKHJlcXVlc3RzLmV4Y2VwdGlvbnMuQ29ubmVjdGlvbkVycm9yLCBqc29u
LmRlY29kZXIuSlNPTkRlY29kZUVycm9yKToKKyAgICAgICAgICAgIHBhc3MKKyAgICAgICAgcmV0
dXJuIHJlZgogCiAgICAgZGVmIGNvbW1lbnRfdGV4dF9mb3JfYnVnKHNlbGYsIHN2bl9yZXZpc2lv
bj1Ob25lKToKICAgICAgICAgcGF0Y2hfaWQgPSBzZWxmLmdldFByb3BlcnR5KCdwYXRjaF9pZCcs
ICcnKQpAQCAtMzI3Nyw3ICszMjg2LDEwIEBAIGNsYXNzIFB1c2hDb21taXRUb1dlYktpdFJlcG8o
c2hlbGwuU2hlbGwKICAgICAgICAgICAgIGNvbW1lbnQgPSAnY29tbWl0LXF1ZXVlIGZhaWxlZCB0
byBjb21taXQgYXR0YWNobWVudCB7fSB0byBXZWJLaXQgcmVwb3NpdG9yeS4nLmZvcm1hdChwYXRj
aF9pZCkKICAgICAgICAgICAgIGNvbW1lbnQgKz0gJyBUbyByZXRyeSwgcGxlYXNlIHNldCBjcSsg
ZmxhZyBhZ2Fpbi4nCiAgICAgICAgICAgICByZXR1cm4gY29tbWVudAotICAgICAgICBjb21tZW50
ID0gJ0NvbW1pdHRlZCBye306IDx7fT4nLmZvcm1hdChzdm5fcmV2aXNpb24sIHNlbGYudXJsX2Zv
cl9yZXZpc2lvbihzdm5fcmV2aXNpb24pKQorCisgICAgICAgIHJlZiA9IHNlbGYuaWRlbnRpZmll
cl9mb3JfcmVmKCdye30nLmZvcm1hdChzdm5fcmV2aXNpb24pKQorICAgICAgICBpZF9zdHJpbmcg
PSByZWYgaWYgJ0AnIGluIHJlZiBlbHNlICc/JworICAgICAgICBjb21tZW50ID0gJ0NvbW1pdHRl
ZCBye30gKHt9KTogPHt9PicuZm9ybWF0KHN2bl9yZXZpc2lvbiwgaWRfc3RyaW5nLCBzZWxmLnVy
bF9mb3JfcmVmKHJlZikpCiAgICAgICAgIGNvbW1lbnQgKz0gJ1xuXG5BbGwgcmV2aWV3ZWQgcGF0
Y2hlcyBoYXZlIGJlZW4gbGFuZGVkLiBDbG9zaW5nIGJ1ZyBhbmQgY2xlYXJpbmcgZmxhZ3Mgb24g
YXR0YWNobWVudCB7fS4nLmZvcm1hdChwYXRjaF9pZCkKICAgICAgICAgcmV0dXJuIGNvbW1lbnQK
IApJbmRleDogVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9zdGVwc191bml0dGVzdC5weQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBUb29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzX3VuaXR0ZXN0LnB5CShy
ZXZpc2lvbiAyNzUyODUpCisrKyBUb29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzX3VuaXR0
ZXN0LnB5CSh3b3JraW5nIGNvcHkpCkBAIC0zNCw3ICszNCw3IEBAIGZyb20gYnVpbGRib3QudGVz
dC5mYWtlLnJlbW90ZWNvbW1hbmQgaW0KIGZyb20gYnVpbGRib3QudGVzdC51dGlsLm1pc2MgaW1w
b3J0IFRlc3RSZWFjdG9yTWl4aW4KIGZyb20gYnVpbGRib3QudGVzdC51dGlsLnN0ZXBzIGltcG9y
dCBCdWlsZFN0ZXBNaXhpbgogZnJvbSBidWlsZGJvdC51dGlsIGltcG9ydCBpZGVudGlmaWVycyBh
cyBidWlsZGJvdF9pZGVudGlmaWVycwotZnJvbSBtb2NrIGltcG9ydCBjYWxsCitmcm9tIG1vY2sg
aW1wb3J0IGNhbGwsIHBhdGNoCiBmcm9tIHR3aXN0ZWQuaW50ZXJuZXQgaW1wb3J0IGRlZmVyLCBl
cnJvciwgcmVhY3RvcgogZnJvbSB0d2lzdGVkLnB5dGhvbiBpbXBvcnQgZmFpbHVyZSwgbG9nCiBm
cm9tIHR3aXN0ZWQudHJpYWwgaW1wb3J0IHVuaXR0ZXN0CkBAIC00MDI4LDYgKzQwMjgsMjQgQEAg
Y2xhc3MgVGVzdFB1c2hDb21taXRUb1dlYktpdFJlcG8oQnVpbGRTdAogICAgIGRlZiB0ZWFyRG93
bihzZWxmKToKICAgICAgICAgcmV0dXJuIHNlbGYudGVhckRvd25CdWlsZFN0ZXAoKQogCisgICAg
ZGVmIG1vY2tfY29tbWl0c193ZWJraXRfb3JnKHNlbGYsIGlkZW50aWZpZXI9Tm9uZSk6CisgICAg
ICAgIGNsYXNzIFJlc3BvbnNlKG9iamVjdCk6CisgICAgICAgICAgICBkZWYgX19pbml0X18oc2Vs
ZiwgZGF0YT1Ob25lLCBzdGF0dXNfY29kZT0yMDApOgorICAgICAgICAgICAgICAgIHNlbGYuc3Rh
dHVzX2NvZGUgPSBzdGF0dXNfY29kZQorICAgICAgICAgICAgICAgIHNlbGYuaGVhZGVycyA9IHsn
Q29udGVudC1UeXBlJzogJ3RleHQvanNvbid9CisgICAgICAgICAgICAgICAgc2VsZi50ZXh0ID0g
anNvbi5kdW1wcyhkYXRhIG9yIHt9KQorCisgICAgICAgICAgICBkZWYganNvbihzZWxmKToKKyAg
ICAgICAgICAgICAgICByZXR1cm4ganNvbi5sb2FkcyhzZWxmLnRleHQpCisKKyAgICAgICAgcmV0
dXJuIHBhdGNoKAorICAgICAgICAgICAgJ3JlcXVlc3RzLmdldCcsCisgICAgICAgICAgICBsYW1i
ZGEgKmFyZ3MsICoqa3dhcmdzOiBSZXNwb25zZSgKKyAgICAgICAgICAgICAgICBkYXRhPWRpY3Qo
aWRlbnRpZmllcj1pZGVudGlmaWVyKSBpZiBpZGVudGlmaWVyIGVsc2UgZGljdChzdGF0dXM9J05v
dCBGb3VuZCcpLAorICAgICAgICAgICAgICAgIHN0YXR1c19jb2RlPTIwMCBpZiBpZGVudGlmaWVy
IGVsc2UgNDA0LAorICAgICAgICAgICAgKQorICAgICAgICApCisKICAgICBkZWYgdGVzdF9zdWNj
ZXNzKHNlbGYpOgogICAgICAgICBzZWxmLnNldHVwU3RlcChQdXNoQ29tbWl0VG9XZWJLaXRSZXBv
KCkpCiAgICAgICAgIHNlbGYuc2V0UHJvcGVydHkoJ3BhdGNoX2lkJywgJzEyMzQnKQpAQCAtNDA0
MCw5ICs0MDU4LDI3IEBAIGNsYXNzIFRlc3RQdXNoQ29tbWl0VG9XZWJLaXRSZXBvKEJ1aWxkU3QK
ICAgICAgICAgICAgIDAsCiAgICAgICAgICkKICAgICAgICAgc2VsZi5leHBlY3RPdXRjb21lKHJl
c3VsdD1TVUNDRVNTLCBzdGF0ZV9zdHJpbmc9J0NvbW1pdHRlZCByMjU2NzI5JykKLSAgICAgICAg
d2l0aCBjdXJyZW50X2hvc3RuYW1lKEVXU19CVUlMRF9IT1NUTkFNRSk6CisgICAgICAgIHdpdGgg
Y3VycmVudF9ob3N0bmFtZShFV1NfQlVJTERfSE9TVE5BTUUpLCBzZWxmLm1vY2tfY29tbWl0c193
ZWJraXRfb3JnKGlkZW50aWZpZXI9JzIyMDc5N0BtYWluJyk6CisgICAgICAgICAgICByYyA9IHNl
bGYucnVuU3RlcCgpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5nZXRQcm9wZXJ0eSgn
YnVnemlsbGFfY29tbWVudF90ZXh0JyksICdDb21taXR0ZWQgcjI1NjcyOSAoMjIwNzk3QG1haW4p
OiA8aHR0cHM6Ly9jb21taXRzLndlYmtpdC5vcmcvMjIwNzk3QG1haW4+XG5cbkFsbCByZXZpZXdl
ZCBwYXRjaGVzIGhhdmUgYmVlbiBsYW5kZWQuIENsb3NpbmcgYnVnIGFuZCBjbGVhcmluZyBmbGFn
cyBvbiBhdHRhY2htZW50IDEyMzQuJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmdl
dFByb3BlcnR5KCdidWlsZF9maW5pc2hfc3VtbWFyeScpLCBOb25lKQorICAgICAgICByZXR1cm4g
cmMKKworICAgIGRlZiB0ZXN0X3N1Y2Nlc3Nfbm9faWRlbnRpZmllcihzZWxmKToKKyAgICAgICAg
c2VsZi5zZXR1cFN0ZXAoUHVzaENvbW1pdFRvV2ViS2l0UmVwbygpKQorICAgICAgICBzZWxmLnNl
dFByb3BlcnR5KCdwYXRjaF9pZCcsICcxMjM0JykKKyAgICAgICAgc2VsZi5leHBlY3RSZW1vdGVD
b21tYW5kcygKKyAgICAgICAgICAgIEV4cGVjdFNoZWxsKHdvcmtkaXI9J3drZGlyJywKKyAgICAg
ICAgICAgICAgICAgICAgICAgIHRpbWVvdXQ9MzAwLAorICAgICAgICAgICAgICAgICAgICAgICAg
bG9nRW52aXJvbj1GYWxzZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbW1hbmQ9WydnaXQn
LCAnc3ZuJywgJ2Rjb21taXQnLCAnLS1ybWRpciddKSArCisgICAgICAgICAgICBFeHBlY3RTaGVs
bC5sb2coJ3N0ZGlvJywgc3Rkb3V0PSdDb21taXR0ZWQgcjI1NjcyOScpICsKKyAgICAgICAgICAg
IDAsCisgICAgICAgICkKKyAgICAgICAgc2VsZi5leHBlY3RPdXRjb21lKHJlc3VsdD1TVUNDRVNT
LCBzdGF0ZV9zdHJpbmc9J0NvbW1pdHRlZCByMjU2NzI5JykKKyAgICAgICAgd2l0aCBjdXJyZW50
X2hvc3RuYW1lKEVXU19CVUlMRF9IT1NUTkFNRSksIHNlbGYubW9ja19jb21taXRzX3dlYmtpdF9v
cmcoKToKICAgICAgICAgICAgIHJjID0gc2VsZi5ydW5TdGVwKCkKLSAgICAgICAgc2VsZi5hc3Nl
cnRFcXVhbChzZWxmLmdldFByb3BlcnR5KCdidWd6aWxsYV9jb21tZW50X3RleHQnKSwgJ0NvbW1p
dHRlZCByMjU2NzI5OiA8aHR0cHM6Ly9jb21taXRzLndlYmtpdC5vcmcvcjI1NjcyOT5cblxuQWxs
IHJldmlld2VkIHBhdGNoZXMgaGF2ZSBiZWVuIGxhbmRlZC4gQ2xvc2luZyBidWcgYW5kIGNsZWFy
aW5nIGZsYWdzIG9uIGF0dGFjaG1lbnQgMTIzNC4nKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFs
KHNlbGYuZ2V0UHJvcGVydHkoJ2J1Z3ppbGxhX2NvbW1lbnRfdGV4dCcpLCAnQ29tbWl0dGVkIHIy
NTY3MjkgKD8pOiA8aHR0cHM6Ly9jb21taXRzLndlYmtpdC5vcmcvcjI1NjcyOT5cblxuQWxsIHJl
dmlld2VkIHBhdGNoZXMgaGF2ZSBiZWVuIGxhbmRlZC4gQ2xvc2luZyBidWcgYW5kIGNsZWFyaW5n
IGZsYWdzIG9uIGF0dGFjaG1lbnQgMTIzNC4nKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNl
bGYuZ2V0UHJvcGVydHkoJ2J1aWxkX2ZpbmlzaF9zdW1tYXJ5JyksIE5vbmUpCiAgICAgICAgIHJl
dHVybiByYwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424782</attachid>
            <date>2021-03-31 09:57:21 -0700</date>
            <delta_ts>2021-03-31 15:33:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223829-20210331095720.patch</filename>
            <type>text/plain</type>
            <size>7084</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI3NTI4NSkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDIwIEBACisyMDIxLTAzLTMxICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICBbYnVpbGQud2Via2l0Lm9yZ10gQ29tbWl0IHF1ZXVlIHNob3VsZCBwb3N0
IHRoZSBpZGVudGlmaWVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMjM4MjkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc1OTA4MzIxPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ0lTdXBwb3J0L2V3
cy1idWlsZC9zdGVwcy5weToKKyAgICAgICAgKFB1c2hDb21taXRUb1dlYktpdFJlcG8uZXZhbHVh
dGVDb21tYW5kKTogUmVwbGFjZSB1cmxfZm9yX3JldmlzaW9uIHdpdGggdXJsX2Zvcl9yZWYuCisg
ICAgICAgIChQdXNoQ29tbWl0VG9XZWJLaXRSZXBvLnVybF9mb3JfcmVmKTogUmVuYW1lZCBmcm9t
IHVybF9mb3JfcmV2aXNpb24uCisgICAgICAgIChQdXNoQ29tbWl0VG9XZWJLaXRSZXBvLmlkZW50
aWZpZXJfZm9yX3JlZik6IENvbnZlcnQgYSBjb21taXQgcmVmIHRvIGFuIGlkZW50aWZpZXIgc3Ry
aW5nLgorICAgICAgICAoUHVzaENvbW1pdFRvV2ViS2l0UmVwby5jb21tZW50X3RleHRfZm9yX2J1
Zyk6IENvbnN1bHQgY29tbWl0cy53ZWJraXQub3JnIHRvIGNvbnZlcnQgcmV2aXNpb24KKyAgICAg
ICAgdG8gaWRlbnRpZmllci4KKyAgICAgICAgKFB1c2hDb21taXRUb1dlYktpdFJlcG8udXJsX2Zv
cl9yZXZpc2lvbik6IFJlbmFtZWQgdG8gdXJsX2Zvcl9yZWYuCisgICAgICAgICogQ0lTdXBwb3J0
L2V3cy1idWlsZC9zdGVwc191bml0dGVzdC5weToKKwogMjAyMS0wMy0zMSAgQWFrYXNoIEphaW4g
IDxhYWthc2hfamFpbkBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIGJ1aWxkIHN0ZXAgdG8gcnVu
IGxheW91dCB0ZXN0cyBmb3IgbXVsdGlwbGUgaXRlcmF0aW9ucwpJbmRleDogVG9vbHMvQ0lTdXBw
b3J0L2V3cy1idWlsZC9zdGVwcy5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DSVN1cHBvcnQvZXdz
LWJ1aWxkL3N0ZXBzLnB5CShyZXZpc2lvbiAyNzUyODUpCisrKyBUb29scy9DSVN1cHBvcnQvZXdz
LWJ1aWxkL3N0ZXBzLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0zMjU1LDcgKzMyNTUsNyBAQCBjbGFz
cyBQdXNoQ29tbWl0VG9XZWJLaXRSZXBvKHNoZWxsLlNoZWxsCiAgICAgICAgICAgICBzZWxmLmRl
c2NyaXB0aW9uRG9uZSA9IGNvbW1pdF9zdW1tYXJ5CiAgICAgICAgICAgICBzZWxmLnNldFByb3Bl
cnR5KCdidWlsZF9zdW1tYXJ5JywgJ0NvbW1pdHRlZCBye30nLmZvcm1hdChzdm5fcmV2aXNpb24p
KQogICAgICAgICAgICAgc2VsZi5idWlsZC5hZGRTdGVwc0FmdGVyQ3VycmVudFN0ZXAoW0NvbW1l
bnRPbkJ1ZygpLCBSZW1vdmVGbGFnc09uUGF0Y2goKSwgQ2xvc2VCdWcoKV0pCi0gICAgICAgICAg
ICBzZWxmLmFkZFVSTCgncnt9Jy5mb3JtYXQoc3ZuX3JldmlzaW9uKSwgc2VsZi51cmxfZm9yX3Jl
dmlzaW9uKHN2bl9yZXZpc2lvbikpCisgICAgICAgICAgICBzZWxmLmFkZFVSTCgncnt9Jy5mb3Jt
YXQoc3ZuX3JldmlzaW9uKSwgc2VsZi51cmxfZm9yX3JlZigncnt9Jy5mb3JtYXQoc3ZuX3Jldmlz
aW9uKSkpCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICByZXRyeV9jb3VudCA9IGludChzZWxm
LmdldFByb3BlcnR5KCdyZXRyeV9jb3VudCcsIDApKQogICAgICAgICAgICAgaWYgcmV0cnlfY291
bnQgPCBzZWxmLk1BWF9SRVRSWToKQEAgLTMyNjgsOCArMzI2OCwxNyBAQCBjbGFzcyBQdXNoQ29t
bWl0VG9XZWJLaXRSZXBvKHNoZWxsLlNoZWxsCiAgICAgICAgICAgICBzZWxmLmJ1aWxkLmFkZFN0
ZXBzQWZ0ZXJDdXJyZW50U3RlcChbQ29tbWVudE9uQnVnKCksIFNldENvbW1pdFF1ZXVlTWludXNG
bGFnT25QYXRjaCgpXSkKICAgICAgICAgcmV0dXJuIHJjCiAKLSAgICBkZWYgdXJsX2Zvcl9yZXZp
c2lvbihzZWxmLCByZXZpc2lvbik6Ci0gICAgICAgIHJldHVybiAnaHR0cHM6Ly9jb21taXRzLndl
YmtpdC5vcmcvcnt9Jy5mb3JtYXQocmV2aXNpb24pCisgICAgZGVmIHVybF9mb3JfcmVmKHNlbGYs
IHJlZiwganNvbj1GYWxzZSk6CisgICAgICAgIHJldHVybiAne317fXt9Jy5mb3JtYXQoQ09NTUlU
U19JTkZPX1VSTCwgcmVmLCAnL2pzb24nIGlmIGpzb24gZWxzZSAnJykKKworICAgIGRlZiBpZGVu
dGlmaWVyX2Zvcl9yZWYoc2VsZiwgcmVmKToKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgcmVz
cG9uc2UgPSByZXF1ZXN0cy5nZXQoc2VsZi51cmxfZm9yX3JlZihyZWYsIGpzb249VHJ1ZSkpCisg
ICAgICAgICAgICBpZiByZXNwb25zZSBhbmQgcmVzcG9uc2Uuc3RhdHVzX2NvZGUgPT0gMjAwOgor
ICAgICAgICAgICAgICAgIHJldHVybiByZXNwb25zZS5qc29uKCkuZ2V0KCdpZGVudGlmaWVyJywg
cmVmKQorICAgICAgICBleGNlcHQgKHJlcXVlc3RzLmV4Y2VwdGlvbnMuQ29ubmVjdGlvbkVycm9y
LCBqc29uLmRlY29kZXIuSlNPTkRlY29kZUVycm9yKToKKyAgICAgICAgICAgIHBhc3MKKyAgICAg
ICAgcmV0dXJuIHJlZgogCiAgICAgZGVmIGNvbW1lbnRfdGV4dF9mb3JfYnVnKHNlbGYsIHN2bl9y
ZXZpc2lvbj1Ob25lKToKICAgICAgICAgcGF0Y2hfaWQgPSBzZWxmLmdldFByb3BlcnR5KCdwYXRj
aF9pZCcsICcnKQpAQCAtMzI3Nyw3ICszMjg2LDEwIEBAIGNsYXNzIFB1c2hDb21taXRUb1dlYktp
dFJlcG8oc2hlbGwuU2hlbGwKICAgICAgICAgICAgIGNvbW1lbnQgPSAnY29tbWl0LXF1ZXVlIGZh
aWxlZCB0byBjb21taXQgYXR0YWNobWVudCB7fSB0byBXZWJLaXQgcmVwb3NpdG9yeS4nLmZvcm1h
dChwYXRjaF9pZCkKICAgICAgICAgICAgIGNvbW1lbnQgKz0gJyBUbyByZXRyeSwgcGxlYXNlIHNl
dCBjcSsgZmxhZyBhZ2Fpbi4nCiAgICAgICAgICAgICByZXR1cm4gY29tbWVudAotICAgICAgICBj
b21tZW50ID0gJ0NvbW1pdHRlZCBye306IDx7fT4nLmZvcm1hdChzdm5fcmV2aXNpb24sIHNlbGYu
dXJsX2Zvcl9yZXZpc2lvbihzdm5fcmV2aXNpb24pKQorCisgICAgICAgIHJlZiA9IHNlbGYuaWRl
bnRpZmllcl9mb3JfcmVmKCdye30nLmZvcm1hdChzdm5fcmV2aXNpb24pKQorICAgICAgICBpZF9z
dHJpbmcgPSByZWYgaWYgJ0AnIGluIHJlZiBlbHNlICc/JworICAgICAgICBjb21tZW50ID0gJ0Nv
bW1pdHRlZCBye30gKHt9KTogPHt9PicuZm9ybWF0KHN2bl9yZXZpc2lvbiwgaWRfc3RyaW5nLCBz
ZWxmLnVybF9mb3JfcmVmKHJlZikpCiAgICAgICAgIGNvbW1lbnQgKz0gJ1xuXG5BbGwgcmV2aWV3
ZWQgcGF0Y2hlcyBoYXZlIGJlZW4gbGFuZGVkLiBDbG9zaW5nIGJ1ZyBhbmQgY2xlYXJpbmcgZmxh
Z3Mgb24gYXR0YWNobWVudCB7fS4nLmZvcm1hdChwYXRjaF9pZCkKICAgICAgICAgcmV0dXJuIGNv
bW1lbnQKIApJbmRleDogVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9zdGVwc191bml0dGVzdC5w
eQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBUb29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzX3VuaXR0ZXN0
LnB5CShyZXZpc2lvbiAyNzUyODUpCisrKyBUb29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBz
X3VuaXR0ZXN0LnB5CSh3b3JraW5nIGNvcHkpCkBAIC0zNCw3ICszNCw3IEBAIGZyb20gYnVpbGRi
b3QudGVzdC5mYWtlLnJlbW90ZWNvbW1hbmQgaW0KIGZyb20gYnVpbGRib3QudGVzdC51dGlsLm1p
c2MgaW1wb3J0IFRlc3RSZWFjdG9yTWl4aW4KIGZyb20gYnVpbGRib3QudGVzdC51dGlsLnN0ZXBz
IGltcG9ydCBCdWlsZFN0ZXBNaXhpbgogZnJvbSBidWlsZGJvdC51dGlsIGltcG9ydCBpZGVudGlm
aWVycyBhcyBidWlsZGJvdF9pZGVudGlmaWVycwotZnJvbSBtb2NrIGltcG9ydCBjYWxsCitmcm9t
IG1vY2sgaW1wb3J0IGNhbGwsIHBhdGNoCiBmcm9tIHR3aXN0ZWQuaW50ZXJuZXQgaW1wb3J0IGRl
ZmVyLCBlcnJvciwgcmVhY3RvcgogZnJvbSB0d2lzdGVkLnB5dGhvbiBpbXBvcnQgZmFpbHVyZSwg
bG9nCiBmcm9tIHR3aXN0ZWQudHJpYWwgaW1wb3J0IHVuaXR0ZXN0CkBAIC00MDI4LDYgKzQwMjgs
MjQgQEAgY2xhc3MgVGVzdFB1c2hDb21taXRUb1dlYktpdFJlcG8oQnVpbGRTdAogICAgIGRlZiB0
ZWFyRG93bihzZWxmKToKICAgICAgICAgcmV0dXJuIHNlbGYudGVhckRvd25CdWlsZFN0ZXAoKQog
CisgICAgZGVmIG1vY2tfY29tbWl0c193ZWJraXRfb3JnKHNlbGYsIGlkZW50aWZpZXI9Tm9uZSk6
CisgICAgICAgIGNsYXNzIFJlc3BvbnNlKG9iamVjdCk6CisgICAgICAgICAgICBkZWYgX19pbml0
X18oc2VsZiwgZGF0YT1Ob25lLCBzdGF0dXNfY29kZT0yMDApOgorICAgICAgICAgICAgICAgIHNl
bGYuc3RhdHVzX2NvZGUgPSBzdGF0dXNfY29kZQorICAgICAgICAgICAgICAgIHNlbGYuaGVhZGVy
cyA9IHsnQ29udGVudC1UeXBlJzogJ3RleHQvanNvbid9CisgICAgICAgICAgICAgICAgc2VsZi50
ZXh0ID0ganNvbi5kdW1wcyhkYXRhIG9yIHt9KQorCisgICAgICAgICAgICBkZWYganNvbihzZWxm
KToKKyAgICAgICAgICAgICAgICByZXR1cm4ganNvbi5sb2FkcyhzZWxmLnRleHQpCisKKyAgICAg
ICAgcmV0dXJuIHBhdGNoKAorICAgICAgICAgICAgJ3JlcXVlc3RzLmdldCcsCisgICAgICAgICAg
ICBsYW1iZGEgKmFyZ3MsICoqa3dhcmdzOiBSZXNwb25zZSgKKyAgICAgICAgICAgICAgICBkYXRh
PWRpY3QoaWRlbnRpZmllcj1pZGVudGlmaWVyKSBpZiBpZGVudGlmaWVyIGVsc2UgZGljdChzdGF0
dXM9J05vdCBGb3VuZCcpLAorICAgICAgICAgICAgICAgIHN0YXR1c19jb2RlPTIwMCBpZiBpZGVu
dGlmaWVyIGVsc2UgNDA0LAorICAgICAgICAgICAgKQorICAgICAgICApCisKICAgICBkZWYgdGVz
dF9zdWNjZXNzKHNlbGYpOgogICAgICAgICBzZWxmLnNldHVwU3RlcChQdXNoQ29tbWl0VG9XZWJL
aXRSZXBvKCkpCiAgICAgICAgIHNlbGYuc2V0UHJvcGVydHkoJ3BhdGNoX2lkJywgJzEyMzQnKQpA
QCAtNDA0MCw5ICs0MDU4LDI3IEBAIGNsYXNzIFRlc3RQdXNoQ29tbWl0VG9XZWJLaXRSZXBvKEJ1
aWxkU3QKICAgICAgICAgICAgIDAsCiAgICAgICAgICkKICAgICAgICAgc2VsZi5leHBlY3RPdXRj
b21lKHJlc3VsdD1TVUNDRVNTLCBzdGF0ZV9zdHJpbmc9J0NvbW1pdHRlZCByMjU2NzI5JykKLSAg
ICAgICAgd2l0aCBjdXJyZW50X2hvc3RuYW1lKEVXU19CVUlMRF9IT1NUTkFNRSk6CisgICAgICAg
IHdpdGggY3VycmVudF9ob3N0bmFtZShFV1NfQlVJTERfSE9TVE5BTUUpLCBzZWxmLm1vY2tfY29t
bWl0c193ZWJraXRfb3JnKGlkZW50aWZpZXI9JzIyMDc5N0BtYWluJyk6CisgICAgICAgICAgICBy
YyA9IHNlbGYucnVuU3RlcCgpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5nZXRQcm9w
ZXJ0eSgnYnVnemlsbGFfY29tbWVudF90ZXh0JyksICdDb21taXR0ZWQgcjI1NjcyOSAoMjIwNzk3
QG1haW4pOiA8aHR0cHM6Ly9jb21taXRzLndlYmtpdC5vcmcvMjIwNzk3QG1haW4+XG5cbkFsbCBy
ZXZpZXdlZCBwYXRjaGVzIGhhdmUgYmVlbiBsYW5kZWQuIENsb3NpbmcgYnVnIGFuZCBjbGVhcmlu
ZyBmbGFncyBvbiBhdHRhY2htZW50IDEyMzQuJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChz
ZWxmLmdldFByb3BlcnR5KCdidWlsZF9maW5pc2hfc3VtbWFyeScpLCBOb25lKQorICAgICAgICBy
ZXR1cm4gcmMKKworICAgIGRlZiB0ZXN0X3N1Y2Nlc3Nfbm9faWRlbnRpZmllcihzZWxmKToKKyAg
ICAgICAgc2VsZi5zZXR1cFN0ZXAoUHVzaENvbW1pdFRvV2ViS2l0UmVwbygpKQorICAgICAgICBz
ZWxmLnNldFByb3BlcnR5KCdwYXRjaF9pZCcsICcxMjM0JykKKyAgICAgICAgc2VsZi5leHBlY3RS
ZW1vdGVDb21tYW5kcygKKyAgICAgICAgICAgIEV4cGVjdFNoZWxsKHdvcmtkaXI9J3drZGlyJywK
KyAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVvdXQ9MzAwLAorICAgICAgICAgICAgICAgICAg
ICAgICAgbG9nRW52aXJvbj1GYWxzZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbW1hbmQ9
WydnaXQnLCAnc3ZuJywgJ2Rjb21taXQnLCAnLS1ybWRpciddKSArCisgICAgICAgICAgICBFeHBl
Y3RTaGVsbC5sb2coJ3N0ZGlvJywgc3Rkb3V0PSdDb21taXR0ZWQgcjI1NjcyOScpICsKKyAgICAg
ICAgICAgIDAsCisgICAgICAgICkKKyAgICAgICAgc2VsZi5leHBlY3RPdXRjb21lKHJlc3VsdD1T
VUNDRVNTLCBzdGF0ZV9zdHJpbmc9J0NvbW1pdHRlZCByMjU2NzI5JykKKyAgICAgICAgd2l0aCBj
dXJyZW50X2hvc3RuYW1lKEVXU19CVUlMRF9IT1NUTkFNRSksIHNlbGYubW9ja19jb21taXRzX3dl
YmtpdF9vcmcoKToKICAgICAgICAgICAgIHJjID0gc2VsZi5ydW5TdGVwKCkKLSAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbChzZWxmLmdldFByb3BlcnR5KCdidWd6aWxsYV9jb21tZW50X3RleHQnKSwg
J0NvbW1pdHRlZCByMjU2NzI5OiA8aHR0cHM6Ly9jb21taXRzLndlYmtpdC5vcmcvcjI1NjcyOT5c
blxuQWxsIHJldmlld2VkIHBhdGNoZXMgaGF2ZSBiZWVuIGxhbmRlZC4gQ2xvc2luZyBidWcgYW5k
IGNsZWFyaW5nIGZsYWdzIG9uIGF0dGFjaG1lbnQgMTIzNC4nKQorICAgICAgICBzZWxmLmFzc2Vy
dEVxdWFsKHNlbGYuZ2V0UHJvcGVydHkoJ2J1Z3ppbGxhX2NvbW1lbnRfdGV4dCcpLCAnQ29tbWl0
dGVkIHIyNTY3MjkgKD8pOiA8aHR0cHM6Ly9jb21taXRzLndlYmtpdC5vcmcvcjI1NjcyOT5cblxu
QWxsIHJldmlld2VkIHBhdGNoZXMgaGF2ZSBiZWVuIGxhbmRlZC4gQ2xvc2luZyBidWcgYW5kIGNs
ZWFyaW5nIGZsYWdzIG9uIGF0dGFjaG1lbnQgMTIzNC4nKQogICAgICAgICBzZWxmLmFzc2VydEVx
dWFsKHNlbGYuZ2V0UHJvcGVydHkoJ2J1aWxkX2ZpbmlzaF9zdW1tYXJ5JyksIE5vbmUpCiAgICAg
ICAgIHJldHVybiByYwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424832</attachid>
            <date>2021-03-31 15:33:22 -0700</date>
            <delta_ts>2021-03-31 15:43:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223829-20210331153321.patch</filename>
            <type>text/plain</type>
            <size>6445</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI3NTMwOSkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDIxIEBACisyMDIxLTAzLTMxICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICBbYnVpbGQud2Via2l0Lm9yZ10gQ29tbWl0IHF1ZXVlIHNob3VsZCBwb3N0
IHRoZSBpZGVudGlmaWVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMjM4MjkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc1OTA4MzIxPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ0lTdXBwb3J0L2V3
cy1idWlsZC9zdGVwcy5weToKKyAgICAgICAgKFB1c2hDb21taXRUb1dlYktpdFJlcG8udXJsX2Zv
cl9yZXZpc2lvbik6IFVzZSBDT01NSVRTX0lORk9fVVJMLgorICAgICAgICAoUHVzaENvbW1pdFRv
V2ViS2l0UmVwby51cmxfZm9yX2lkZW50aWZpZXIpOiBDb252ZXJ0IGlkZW50aWZpZXIKKyAgICAg
ICAgdG8gY29tbWl0cy53ZWJraXQub3JnIFVSTC4KKyAgICAgICAgKFB1c2hDb21taXRUb1dlYktp
dFJlcG8uaWRlbnRpZmllcl9mb3JfcmV2aXNpb24pOiBDb252ZXJ0IGEgY29tbWl0CisgICAgICAg
IHJldmlzaW9uIHRvIGFuIGlkZW50aWZpZXIgc3RyaW5nLgorICAgICAgICAoUHVzaENvbW1pdFRv
V2ViS2l0UmVwby5jb21tZW50X3RleHRfZm9yX2J1Zyk6IENvbnN1bHQgY29tbWl0cy53ZWJraXQu
b3JnCisgICAgICAgIHRvIGNvbnZlcnQgcmV2aXNpb24gdG8gaWRlbnRpZmllci4KKyAgICAgICAg
KiBDSVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzX3VuaXR0ZXN0LnB5OgorCiAyMDIxLTAzLTMxICBB
YWthc2ggSmFpbiAgPGFha2FzaF9qYWluQGFwcGxlLmNvbT4KIAogICAgICAgICBFV1Mgc2hvdWxk
IHN0cmVzcyB0ZXN0IG5ld2x5IGFkZGVkIHRlc3RzCkluZGV4OiBUb29scy9DSVN1cHBvcnQvZXdz
LWJ1aWxkL3N0ZXBzLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQv
c3RlcHMucHkJKHJldmlzaW9uIDI3NTMwNykKKysrIFRvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQv
c3RlcHMucHkJKHdvcmtpbmcgY29weSkKQEAgLTMyNzksNyArMzI3OSwyMCBAQCBjbGFzcyBQdXNo
Q29tbWl0VG9XZWJLaXRSZXBvKHNoZWxsLlNoZWxsCiAgICAgICAgIHJldHVybiByYwogCiAgICAg
ZGVmIHVybF9mb3JfcmV2aXNpb24oc2VsZiwgcmV2aXNpb24pOgotICAgICAgICByZXR1cm4gJ2h0
dHBzOi8vY29tbWl0cy53ZWJraXQub3JnL3J7fScuZm9ybWF0KHJldmlzaW9uKQorICAgICAgICBy
ZXR1cm4gJ3t9cnt9Jy5mb3JtYXQoQ09NTUlUU19JTkZPX1VSTCwgcmV2aXNpb24pCisKKyAgICBk
ZWYgdXJsX2Zvcl9pZGVudGlmaWVyKHNlbGYsIGlkZW50aWZpZXIpOgorICAgICAgICByZXR1cm4g
J3t9e30nLmZvcm1hdChDT01NSVRTX0lORk9fVVJMLCBpZGVudGlmaWVyKQorCisgICAgZGVmIGlk
ZW50aWZpZXJfZm9yX3JldmlzaW9uKHNlbGYsIHJldmlzaW9uKToKKyAgICAgICAgdHJ5OgorICAg
ICAgICAgICAgcmVzcG9uc2UgPSByZXF1ZXN0cy5nZXQoJ3t9L2pzb24nLmZvcm1hdChzZWxmLnVy
bF9mb3JfcmV2aXNpb24ocmV2aXNpb24pKSkKKyAgICAgICAgICAgIGlmIHJlc3BvbnNlIGFuZCBy
ZXNwb25zZS5zdGF0dXNfY29kZSA9PSAyMDA6CisgICAgICAgICAgICAgICAgcHJpbnQocmVzcG9u
c2UudGV4dCkgICMgVGVtcG9yYXJ5IGZvciBsb2dnaW5nIHB1cnBvc2VzCisgICAgICAgICAgICAg
ICAgcmV0dXJuIHJlc3BvbnNlLmpzb24oKS5nZXQoJ2lkZW50aWZpZXInLCAncnt9Jy5mb3JtYXQo
cmV2aXNpb24pKQorICAgICAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CisgICAgICAgICAgICBw
cmludChlKQorICAgICAgICByZXR1cm4gJ3J7fScuZm9ybWF0KHJldmlzaW9uKQogCiAgICAgZGVm
IGNvbW1lbnRfdGV4dF9mb3JfYnVnKHNlbGYsIHN2bl9yZXZpc2lvbj1Ob25lKToKICAgICAgICAg
cGF0Y2hfaWQgPSBzZWxmLmdldFByb3BlcnR5KCdwYXRjaF9pZCcsICcnKQpAQCAtMzI4Nyw3ICsz
MzAwLDEwIEBAIGNsYXNzIFB1c2hDb21taXRUb1dlYktpdFJlcG8oc2hlbGwuU2hlbGwKICAgICAg
ICAgICAgIGNvbW1lbnQgPSAnY29tbWl0LXF1ZXVlIGZhaWxlZCB0byBjb21taXQgYXR0YWNobWVu
dCB7fSB0byBXZWJLaXQgcmVwb3NpdG9yeS4nLmZvcm1hdChwYXRjaF9pZCkKICAgICAgICAgICAg
IGNvbW1lbnQgKz0gJyBUbyByZXRyeSwgcGxlYXNlIHNldCBjcSsgZmxhZyBhZ2Fpbi4nCiAgICAg
ICAgICAgICByZXR1cm4gY29tbWVudAotICAgICAgICBjb21tZW50ID0gJ0NvbW1pdHRlZCBye306
IDx7fT4nLmZvcm1hdChzdm5fcmV2aXNpb24sIHNlbGYudXJsX2Zvcl9yZXZpc2lvbihzdm5fcmV2
aXNpb24pKQorCisgICAgICAgIGNhbmRpZGF0ZSA9IHNlbGYuaWRlbnRpZmllcl9mb3JfcmV2aXNp
b24oc3ZuX3JldmlzaW9uKQorICAgICAgICBpZGVudGlmaWVyID0gcmVmIGlmICdAJyBpbiByZWYg
ZWxzZSAnPycKKyAgICAgICAgY29tbWVudCA9ICdDb21taXR0ZWQgcnt9ICh7fSk6IDx7fT4nLmZv
cm1hdChzdm5fcmV2aXNpb24sIGlkZW50aWZpZXIsIHNlbGYudXJsX2Zvcl9pZGVudGlmaWVyKGNh
bmRpZGF0ZSkpCiAgICAgICAgIGNvbW1lbnQgKz0gJ1xuXG5BbGwgcmV2aWV3ZWQgcGF0Y2hlcyBo
YXZlIGJlZW4gbGFuZGVkLiBDbG9zaW5nIGJ1ZyBhbmQgY2xlYXJpbmcgZmxhZ3Mgb24gYXR0YWNo
bWVudCB7fS4nLmZvcm1hdChwYXRjaF9pZCkKICAgICAgICAgcmV0dXJuIGNvbW1lbnQKIApJbmRl
eDogVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9zdGVwc191bml0dGVzdC5weQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBUb29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzX3VuaXR0ZXN0LnB5CShyZXZpc2lv
biAyNzUzMDcpCisrKyBUb29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzX3VuaXR0ZXN0LnB5
CSh3b3JraW5nIGNvcHkpCkBAIC0zNCw3ICszNCw3IEBAIGZyb20gYnVpbGRib3QudGVzdC5mYWtl
LnJlbW90ZWNvbW1hbmQgaW0KIGZyb20gYnVpbGRib3QudGVzdC51dGlsLm1pc2MgaW1wb3J0IFRl
c3RSZWFjdG9yTWl4aW4KIGZyb20gYnVpbGRib3QudGVzdC51dGlsLnN0ZXBzIGltcG9ydCBCdWls
ZFN0ZXBNaXhpbgogZnJvbSBidWlsZGJvdC51dGlsIGltcG9ydCBpZGVudGlmaWVycyBhcyBidWls
ZGJvdF9pZGVudGlmaWVycwotZnJvbSBtb2NrIGltcG9ydCBjYWxsCitmcm9tIG1vY2sgaW1wb3J0
IGNhbGwsIHBhdGNoCiBmcm9tIHR3aXN0ZWQuaW50ZXJuZXQgaW1wb3J0IGRlZmVyLCBlcnJvciwg
cmVhY3RvcgogZnJvbSB0d2lzdGVkLnB5dGhvbiBpbXBvcnQgZmFpbHVyZSwgbG9nCiBmcm9tIHR3
aXN0ZWQudHJpYWwgaW1wb3J0IHVuaXR0ZXN0CkBAIC00MDg5LDYgKzQwODksMjQgQEAgY2xhc3Mg
VGVzdFB1c2hDb21taXRUb1dlYktpdFJlcG8oQnVpbGRTdAogICAgIGRlZiB0ZWFyRG93bihzZWxm
KToKICAgICAgICAgcmV0dXJuIHNlbGYudGVhckRvd25CdWlsZFN0ZXAoKQogCisgICAgZGVmIG1v
Y2tfY29tbWl0c193ZWJraXRfb3JnKHNlbGYsIGlkZW50aWZpZXI9Tm9uZSk6CisgICAgICAgIGNs
YXNzIFJlc3BvbnNlKG9iamVjdCk6CisgICAgICAgICAgICBkZWYgX19pbml0X18oc2VsZiwgZGF0
YT1Ob25lLCBzdGF0dXNfY29kZT0yMDApOgorICAgICAgICAgICAgICAgIHNlbGYuc3RhdHVzX2Nv
ZGUgPSBzdGF0dXNfY29kZQorICAgICAgICAgICAgICAgIHNlbGYuaGVhZGVycyA9IHsnQ29udGVu
dC1UeXBlJzogJ3RleHQvanNvbid9CisgICAgICAgICAgICAgICAgc2VsZi50ZXh0ID0ganNvbi5k
dW1wcyhkYXRhIG9yIHt9KQorCisgICAgICAgICAgICBkZWYganNvbihzZWxmKToKKyAgICAgICAg
ICAgICAgICByZXR1cm4ganNvbi5sb2FkcyhzZWxmLnRleHQpCisKKyAgICAgICAgcmV0dXJuIHBh
dGNoKAorICAgICAgICAgICAgJ3JlcXVlc3RzLmdldCcsCisgICAgICAgICAgICBsYW1iZGEgKmFy
Z3MsICoqa3dhcmdzOiBSZXNwb25zZSgKKyAgICAgICAgICAgICAgICBkYXRhPWRpY3QoaWRlbnRp
Zmllcj1pZGVudGlmaWVyKSBpZiBpZGVudGlmaWVyIGVsc2UgZGljdChzdGF0dXM9J05vdCBGb3Vu
ZCcpLAorICAgICAgICAgICAgICAgIHN0YXR1c19jb2RlPTIwMCBpZiBpZGVudGlmaWVyIGVsc2Ug
NDA0LAorICAgICAgICAgICAgKQorICAgICAgICApCisKICAgICBkZWYgdGVzdF9zdWNjZXNzKHNl
bGYpOgogICAgICAgICBzZWxmLnNldHVwU3RlcChQdXNoQ29tbWl0VG9XZWJLaXRSZXBvKCkpCiAg
ICAgICAgIHNlbGYuc2V0UHJvcGVydHkoJ3BhdGNoX2lkJywgJzEyMzQnKQpAQCAtNDEwMSw5ICs0
MTE5LDI3IEBAIGNsYXNzIFRlc3RQdXNoQ29tbWl0VG9XZWJLaXRSZXBvKEJ1aWxkU3QKICAgICAg
ICAgICAgIDAsCiAgICAgICAgICkKICAgICAgICAgc2VsZi5leHBlY3RPdXRjb21lKHJlc3VsdD1T
VUNDRVNTLCBzdGF0ZV9zdHJpbmc9J0NvbW1pdHRlZCByMjU2NzI5JykKLSAgICAgICAgd2l0aCBj
dXJyZW50X2hvc3RuYW1lKEVXU19CVUlMRF9IT1NUTkFNRSk6CisgICAgICAgIHdpdGggY3VycmVu
dF9ob3N0bmFtZShFV1NfQlVJTERfSE9TVE5BTUUpLCBzZWxmLm1vY2tfY29tbWl0c193ZWJraXRf
b3JnKGlkZW50aWZpZXI9JzIyMDc5N0BtYWluJyk6CisgICAgICAgICAgICByYyA9IHNlbGYucnVu
U3RlcCgpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5nZXRQcm9wZXJ0eSgnYnVnemls
bGFfY29tbWVudF90ZXh0JyksICdDb21taXR0ZWQgcjI1NjcyOSAoMjIwNzk3QG1haW4pOiA8aHR0
cHM6Ly9jb21taXRzLndlYmtpdC5vcmcvMjIwNzk3QG1haW4+XG5cbkFsbCByZXZpZXdlZCBwYXRj
aGVzIGhhdmUgYmVlbiBsYW5kZWQuIENsb3NpbmcgYnVnIGFuZCBjbGVhcmluZyBmbGFncyBvbiBh
dHRhY2htZW50IDEyMzQuJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmdldFByb3Bl
cnR5KCdidWlsZF9maW5pc2hfc3VtbWFyeScpLCBOb25lKQorICAgICAgICByZXR1cm4gcmMKKwor
ICAgIGRlZiB0ZXN0X3N1Y2Nlc3Nfbm9faWRlbnRpZmllcihzZWxmKToKKyAgICAgICAgc2VsZi5z
ZXR1cFN0ZXAoUHVzaENvbW1pdFRvV2ViS2l0UmVwbygpKQorICAgICAgICBzZWxmLnNldFByb3Bl
cnR5KCdwYXRjaF9pZCcsICcxMjM0JykKKyAgICAgICAgc2VsZi5leHBlY3RSZW1vdGVDb21tYW5k
cygKKyAgICAgICAgICAgIEV4cGVjdFNoZWxsKHdvcmtkaXI9J3drZGlyJywKKyAgICAgICAgICAg
ICAgICAgICAgICAgIHRpbWVvdXQ9MzAwLAorICAgICAgICAgICAgICAgICAgICAgICAgbG9nRW52
aXJvbj1GYWxzZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbW1hbmQ9WydnaXQnLCAnc3Zu
JywgJ2Rjb21taXQnLCAnLS1ybWRpciddKSArCisgICAgICAgICAgICBFeHBlY3RTaGVsbC5sb2co
J3N0ZGlvJywgc3Rkb3V0PSdDb21taXR0ZWQgcjI1NjcyOScpICsKKyAgICAgICAgICAgIDAsCisg
ICAgICAgICkKKyAgICAgICAgc2VsZi5leHBlY3RPdXRjb21lKHJlc3VsdD1TVUNDRVNTLCBzdGF0
ZV9zdHJpbmc9J0NvbW1pdHRlZCByMjU2NzI5JykKKyAgICAgICAgd2l0aCBjdXJyZW50X2hvc3Ru
YW1lKEVXU19CVUlMRF9IT1NUTkFNRSksIHNlbGYubW9ja19jb21taXRzX3dlYmtpdF9vcmcoKToK
ICAgICAgICAgICAgIHJjID0gc2VsZi5ydW5TdGVwKCkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVh
bChzZWxmLmdldFByb3BlcnR5KCdidWd6aWxsYV9jb21tZW50X3RleHQnKSwgJ0NvbW1pdHRlZCBy
MjU2NzI5OiA8aHR0cHM6Ly9jb21taXRzLndlYmtpdC5vcmcvcjI1NjcyOT5cblxuQWxsIHJldmll
d2VkIHBhdGNoZXMgaGF2ZSBiZWVuIGxhbmRlZC4gQ2xvc2luZyBidWcgYW5kIGNsZWFyaW5nIGZs
YWdzIG9uIGF0dGFjaG1lbnQgMTIzNC4nKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYu
Z2V0UHJvcGVydHkoJ2J1Z3ppbGxhX2NvbW1lbnRfdGV4dCcpLCAnQ29tbWl0dGVkIHIyNTY3Mjkg
KD8pOiA8aHR0cHM6Ly9jb21taXRzLndlYmtpdC5vcmcvcjI1NjcyOT5cblxuQWxsIHJldmlld2Vk
IHBhdGNoZXMgaGF2ZSBiZWVuIGxhbmRlZC4gQ2xvc2luZyBidWcgYW5kIGNsZWFyaW5nIGZsYWdz
IG9uIGF0dGFjaG1lbnQgMTIzNC4nKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuZ2V0
UHJvcGVydHkoJ2J1aWxkX2ZpbmlzaF9zdW1tYXJ5JyksIE5vbmUpCiAgICAgICAgIHJldHVybiBy
YwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424837</attachid>
            <date>2021-03-31 15:43:59 -0700</date>
            <delta_ts>2021-04-01 11:59:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223829-20210331154358.patch</filename>
            <type>text/plain</type>
            <size>6457</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI3NTMxMikKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDIxIEBACisyMDIxLTAzLTMxICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICBbYnVpbGQud2Via2l0Lm9yZ10gQ29tbWl0IHF1ZXVlIHNob3VsZCBwb3N0
IHRoZSBpZGVudGlmaWVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMjM4MjkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc1OTA4MzIxPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ0lTdXBwb3J0L2V3
cy1idWlsZC9zdGVwcy5weToKKyAgICAgICAgKFB1c2hDb21taXRUb1dlYktpdFJlcG8udXJsX2Zv
cl9yZXZpc2lvbik6IFVzZSBDT01NSVRTX0lORk9fVVJMLgorICAgICAgICAoUHVzaENvbW1pdFRv
V2ViS2l0UmVwby51cmxfZm9yX2lkZW50aWZpZXIpOiBDb252ZXJ0IGlkZW50aWZpZXIKKyAgICAg
ICAgdG8gY29tbWl0cy53ZWJraXQub3JnIFVSTC4KKyAgICAgICAgKFB1c2hDb21taXRUb1dlYktp
dFJlcG8uaWRlbnRpZmllcl9mb3JfcmV2aXNpb24pOiBDb252ZXJ0IGEgY29tbWl0CisgICAgICAg
IHJldmlzaW9uIHRvIGFuIGlkZW50aWZpZXIgc3RyaW5nLgorICAgICAgICAoUHVzaENvbW1pdFRv
V2ViS2l0UmVwby5jb21tZW50X3RleHRfZm9yX2J1Zyk6IENvbnN1bHQgY29tbWl0cy53ZWJraXQu
b3JnCisgICAgICAgIHRvIGNvbnZlcnQgcmV2aXNpb24gdG8gaWRlbnRpZmllci4KKyAgICAgICAg
KiBDSVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzX3VuaXR0ZXN0LnB5OgorCiAyMDIxLTAzLTMxICBB
YWthc2ggSmFpbiAgPGFha2FzaF9qYWluQGFwcGxlLmNvbT4KIAogICAgICAgICBFV1Mgc2hvdWxk
IHN0cmVzcyB0ZXN0IG5ld2x5IGFkZGVkIHRlc3RzCkluZGV4OiBUb29scy9DSVN1cHBvcnQvZXdz
LWJ1aWxkL3N0ZXBzLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQv
c3RlcHMucHkJKHJldmlzaW9uIDI3NTMxMikKKysrIFRvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQv
c3RlcHMucHkJKHdvcmtpbmcgY29weSkKQEAgLTMyNzksNyArMzI3OSwyMCBAQCBjbGFzcyBQdXNo
Q29tbWl0VG9XZWJLaXRSZXBvKHNoZWxsLlNoZWxsCiAgICAgICAgIHJldHVybiByYwogCiAgICAg
ZGVmIHVybF9mb3JfcmV2aXNpb24oc2VsZiwgcmV2aXNpb24pOgotICAgICAgICByZXR1cm4gJ2h0
dHBzOi8vY29tbWl0cy53ZWJraXQub3JnL3J7fScuZm9ybWF0KHJldmlzaW9uKQorICAgICAgICBy
ZXR1cm4gJ3t9cnt9Jy5mb3JtYXQoQ09NTUlUU19JTkZPX1VSTCwgcmV2aXNpb24pCisKKyAgICBk
ZWYgdXJsX2Zvcl9pZGVudGlmaWVyKHNlbGYsIGlkZW50aWZpZXIpOgorICAgICAgICByZXR1cm4g
J3t9e30nLmZvcm1hdChDT01NSVRTX0lORk9fVVJMLCBpZGVudGlmaWVyKQorCisgICAgZGVmIGlk
ZW50aWZpZXJfZm9yX3JldmlzaW9uKHNlbGYsIHJldmlzaW9uKToKKyAgICAgICAgdHJ5OgorICAg
ICAgICAgICAgcmVzcG9uc2UgPSByZXF1ZXN0cy5nZXQoJ3t9L2pzb24nLmZvcm1hdChzZWxmLnVy
bF9mb3JfcmV2aXNpb24ocmV2aXNpb24pKSkKKyAgICAgICAgICAgIGlmIHJlc3BvbnNlIGFuZCBy
ZXNwb25zZS5zdGF0dXNfY29kZSA9PSAyMDA6CisgICAgICAgICAgICAgICAgcHJpbnQocmVzcG9u
c2UudGV4dCkgICMgVGVtcG9yYXJ5IGZvciBsb2dnaW5nIHB1cnBvc2VzCisgICAgICAgICAgICAg
ICAgcmV0dXJuIHJlc3BvbnNlLmpzb24oKS5nZXQoJ2lkZW50aWZpZXInLCAncnt9Jy5mb3JtYXQo
cmV2aXNpb24pKQorICAgICAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CisgICAgICAgICAgICBw
cmludChlKQorICAgICAgICByZXR1cm4gJ3J7fScuZm9ybWF0KHJldmlzaW9uKQogCiAgICAgZGVm
IGNvbW1lbnRfdGV4dF9mb3JfYnVnKHNlbGYsIHN2bl9yZXZpc2lvbj1Ob25lKToKICAgICAgICAg
cGF0Y2hfaWQgPSBzZWxmLmdldFByb3BlcnR5KCdwYXRjaF9pZCcsICcnKQpAQCAtMzI4Nyw3ICsz
MzAwLDEwIEBAIGNsYXNzIFB1c2hDb21taXRUb1dlYktpdFJlcG8oc2hlbGwuU2hlbGwKICAgICAg
ICAgICAgIGNvbW1lbnQgPSAnY29tbWl0LXF1ZXVlIGZhaWxlZCB0byBjb21taXQgYXR0YWNobWVu
dCB7fSB0byBXZWJLaXQgcmVwb3NpdG9yeS4nLmZvcm1hdChwYXRjaF9pZCkKICAgICAgICAgICAg
IGNvbW1lbnQgKz0gJyBUbyByZXRyeSwgcGxlYXNlIHNldCBjcSsgZmxhZyBhZ2Fpbi4nCiAgICAg
ICAgICAgICByZXR1cm4gY29tbWVudAotICAgICAgICBjb21tZW50ID0gJ0NvbW1pdHRlZCBye306
IDx7fT4nLmZvcm1hdChzdm5fcmV2aXNpb24sIHNlbGYudXJsX2Zvcl9yZXZpc2lvbihzdm5fcmV2
aXNpb24pKQorCisgICAgICAgIGNhbmRpZGF0ZSA9IHNlbGYuaWRlbnRpZmllcl9mb3JfcmV2aXNp
b24oc3ZuX3JldmlzaW9uKQorICAgICAgICBpZGVudGlmaWVyID0gY2FuZGlkYXRlIGlmICdAJyBp
biBjYW5kaWRhdGUgZWxzZSAnPycKKyAgICAgICAgY29tbWVudCA9ICdDb21taXR0ZWQgcnt9ICh7
fSk6IDx7fT4nLmZvcm1hdChzdm5fcmV2aXNpb24sIGlkZW50aWZpZXIsIHNlbGYudXJsX2Zvcl9p
ZGVudGlmaWVyKGNhbmRpZGF0ZSkpCiAgICAgICAgIGNvbW1lbnQgKz0gJ1xuXG5BbGwgcmV2aWV3
ZWQgcGF0Y2hlcyBoYXZlIGJlZW4gbGFuZGVkLiBDbG9zaW5nIGJ1ZyBhbmQgY2xlYXJpbmcgZmxh
Z3Mgb24gYXR0YWNobWVudCB7fS4nLmZvcm1hdChwYXRjaF9pZCkKICAgICAgICAgcmV0dXJuIGNv
bW1lbnQKIApJbmRleDogVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9zdGVwc191bml0dGVzdC5w
eQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBUb29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzX3VuaXR0ZXN0
LnB5CShyZXZpc2lvbiAyNzUzMTIpCisrKyBUb29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBz
X3VuaXR0ZXN0LnB5CSh3b3JraW5nIGNvcHkpCkBAIC0zNCw3ICszNCw3IEBAIGZyb20gYnVpbGRi
b3QudGVzdC5mYWtlLnJlbW90ZWNvbW1hbmQgaW0KIGZyb20gYnVpbGRib3QudGVzdC51dGlsLm1p
c2MgaW1wb3J0IFRlc3RSZWFjdG9yTWl4aW4KIGZyb20gYnVpbGRib3QudGVzdC51dGlsLnN0ZXBz
IGltcG9ydCBCdWlsZFN0ZXBNaXhpbgogZnJvbSBidWlsZGJvdC51dGlsIGltcG9ydCBpZGVudGlm
aWVycyBhcyBidWlsZGJvdF9pZGVudGlmaWVycwotZnJvbSBtb2NrIGltcG9ydCBjYWxsCitmcm9t
IG1vY2sgaW1wb3J0IGNhbGwsIHBhdGNoCiBmcm9tIHR3aXN0ZWQuaW50ZXJuZXQgaW1wb3J0IGRl
ZmVyLCBlcnJvciwgcmVhY3RvcgogZnJvbSB0d2lzdGVkLnB5dGhvbiBpbXBvcnQgZmFpbHVyZSwg
bG9nCiBmcm9tIHR3aXN0ZWQudHJpYWwgaW1wb3J0IHVuaXR0ZXN0CkBAIC00MDg5LDYgKzQwODks
MjQgQEAgY2xhc3MgVGVzdFB1c2hDb21taXRUb1dlYktpdFJlcG8oQnVpbGRTdAogICAgIGRlZiB0
ZWFyRG93bihzZWxmKToKICAgICAgICAgcmV0dXJuIHNlbGYudGVhckRvd25CdWlsZFN0ZXAoKQog
CisgICAgZGVmIG1vY2tfY29tbWl0c193ZWJraXRfb3JnKHNlbGYsIGlkZW50aWZpZXI9Tm9uZSk6
CisgICAgICAgIGNsYXNzIFJlc3BvbnNlKG9iamVjdCk6CisgICAgICAgICAgICBkZWYgX19pbml0
X18oc2VsZiwgZGF0YT1Ob25lLCBzdGF0dXNfY29kZT0yMDApOgorICAgICAgICAgICAgICAgIHNl
bGYuc3RhdHVzX2NvZGUgPSBzdGF0dXNfY29kZQorICAgICAgICAgICAgICAgIHNlbGYuaGVhZGVy
cyA9IHsnQ29udGVudC1UeXBlJzogJ3RleHQvanNvbid9CisgICAgICAgICAgICAgICAgc2VsZi50
ZXh0ID0ganNvbi5kdW1wcyhkYXRhIG9yIHt9KQorCisgICAgICAgICAgICBkZWYganNvbihzZWxm
KToKKyAgICAgICAgICAgICAgICByZXR1cm4ganNvbi5sb2FkcyhzZWxmLnRleHQpCisKKyAgICAg
ICAgcmV0dXJuIHBhdGNoKAorICAgICAgICAgICAgJ3JlcXVlc3RzLmdldCcsCisgICAgICAgICAg
ICBsYW1iZGEgKmFyZ3MsICoqa3dhcmdzOiBSZXNwb25zZSgKKyAgICAgICAgICAgICAgICBkYXRh
PWRpY3QoaWRlbnRpZmllcj1pZGVudGlmaWVyKSBpZiBpZGVudGlmaWVyIGVsc2UgZGljdChzdGF0
dXM9J05vdCBGb3VuZCcpLAorICAgICAgICAgICAgICAgIHN0YXR1c19jb2RlPTIwMCBpZiBpZGVu
dGlmaWVyIGVsc2UgNDA0LAorICAgICAgICAgICAgKQorICAgICAgICApCisKICAgICBkZWYgdGVz
dF9zdWNjZXNzKHNlbGYpOgogICAgICAgICBzZWxmLnNldHVwU3RlcChQdXNoQ29tbWl0VG9XZWJL
aXRSZXBvKCkpCiAgICAgICAgIHNlbGYuc2V0UHJvcGVydHkoJ3BhdGNoX2lkJywgJzEyMzQnKQpA
QCAtNDEwMSw5ICs0MTE5LDI3IEBAIGNsYXNzIFRlc3RQdXNoQ29tbWl0VG9XZWJLaXRSZXBvKEJ1
aWxkU3QKICAgICAgICAgICAgIDAsCiAgICAgICAgICkKICAgICAgICAgc2VsZi5leHBlY3RPdXRj
b21lKHJlc3VsdD1TVUNDRVNTLCBzdGF0ZV9zdHJpbmc9J0NvbW1pdHRlZCByMjU2NzI5JykKLSAg
ICAgICAgd2l0aCBjdXJyZW50X2hvc3RuYW1lKEVXU19CVUlMRF9IT1NUTkFNRSk6CisgICAgICAg
IHdpdGggY3VycmVudF9ob3N0bmFtZShFV1NfQlVJTERfSE9TVE5BTUUpLCBzZWxmLm1vY2tfY29t
bWl0c193ZWJraXRfb3JnKGlkZW50aWZpZXI9JzIyMDc5N0BtYWluJyk6CisgICAgICAgICAgICBy
YyA9IHNlbGYucnVuU3RlcCgpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5nZXRQcm9w
ZXJ0eSgnYnVnemlsbGFfY29tbWVudF90ZXh0JyksICdDb21taXR0ZWQgcjI1NjcyOSAoMjIwNzk3
QG1haW4pOiA8aHR0cHM6Ly9jb21taXRzLndlYmtpdC5vcmcvMjIwNzk3QG1haW4+XG5cbkFsbCBy
ZXZpZXdlZCBwYXRjaGVzIGhhdmUgYmVlbiBsYW5kZWQuIENsb3NpbmcgYnVnIGFuZCBjbGVhcmlu
ZyBmbGFncyBvbiBhdHRhY2htZW50IDEyMzQuJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChz
ZWxmLmdldFByb3BlcnR5KCdidWlsZF9maW5pc2hfc3VtbWFyeScpLCBOb25lKQorICAgICAgICBy
ZXR1cm4gcmMKKworICAgIGRlZiB0ZXN0X3N1Y2Nlc3Nfbm9faWRlbnRpZmllcihzZWxmKToKKyAg
ICAgICAgc2VsZi5zZXR1cFN0ZXAoUHVzaENvbW1pdFRvV2ViS2l0UmVwbygpKQorICAgICAgICBz
ZWxmLnNldFByb3BlcnR5KCdwYXRjaF9pZCcsICcxMjM0JykKKyAgICAgICAgc2VsZi5leHBlY3RS
ZW1vdGVDb21tYW5kcygKKyAgICAgICAgICAgIEV4cGVjdFNoZWxsKHdvcmtkaXI9J3drZGlyJywK
KyAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVvdXQ9MzAwLAorICAgICAgICAgICAgICAgICAg
ICAgICAgbG9nRW52aXJvbj1GYWxzZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbW1hbmQ9
WydnaXQnLCAnc3ZuJywgJ2Rjb21taXQnLCAnLS1ybWRpciddKSArCisgICAgICAgICAgICBFeHBl
Y3RTaGVsbC5sb2coJ3N0ZGlvJywgc3Rkb3V0PSdDb21taXR0ZWQgcjI1NjcyOScpICsKKyAgICAg
ICAgICAgIDAsCisgICAgICAgICkKKyAgICAgICAgc2VsZi5leHBlY3RPdXRjb21lKHJlc3VsdD1T
VUNDRVNTLCBzdGF0ZV9zdHJpbmc9J0NvbW1pdHRlZCByMjU2NzI5JykKKyAgICAgICAgd2l0aCBj
dXJyZW50X2hvc3RuYW1lKEVXU19CVUlMRF9IT1NUTkFNRSksIHNlbGYubW9ja19jb21taXRzX3dl
YmtpdF9vcmcoKToKICAgICAgICAgICAgIHJjID0gc2VsZi5ydW5TdGVwKCkKLSAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbChzZWxmLmdldFByb3BlcnR5KCdidWd6aWxsYV9jb21tZW50X3RleHQnKSwg
J0NvbW1pdHRlZCByMjU2NzI5OiA8aHR0cHM6Ly9jb21taXRzLndlYmtpdC5vcmcvcjI1NjcyOT5c
blxuQWxsIHJldmlld2VkIHBhdGNoZXMgaGF2ZSBiZWVuIGxhbmRlZC4gQ2xvc2luZyBidWcgYW5k
IGNsZWFyaW5nIGZsYWdzIG9uIGF0dGFjaG1lbnQgMTIzNC4nKQorICAgICAgICBzZWxmLmFzc2Vy
dEVxdWFsKHNlbGYuZ2V0UHJvcGVydHkoJ2J1Z3ppbGxhX2NvbW1lbnRfdGV4dCcpLCAnQ29tbWl0
dGVkIHIyNTY3MjkgKD8pOiA8aHR0cHM6Ly9jb21taXRzLndlYmtpdC5vcmcvcjI1NjcyOT5cblxu
QWxsIHJldmlld2VkIHBhdGNoZXMgaGF2ZSBiZWVuIGxhbmRlZC4gQ2xvc2luZyBidWcgYW5kIGNs
ZWFyaW5nIGZsYWdzIG9uIGF0dGFjaG1lbnQgMTIzNC4nKQogICAgICAgICBzZWxmLmFzc2VydEVx
dWFsKHNlbGYuZ2V0UHJvcGVydHkoJ2J1aWxkX2ZpbmlzaF9zdW1tYXJ5JyksIE5vbmUpCiAgICAg
ICAgIHJldHVybiByYwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424922</attachid>
            <date>2021-04-01 11:59:35 -0700</date>
            <delta_ts>2021-04-01 12:03:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223829-20210401115935.patch</filename>
            <type>text/plain</type>
            <size>8581</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI3NTM3MCkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDIxIEBACisyMDIxLTA0LTAxICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICBbYnVpbGQud2Via2l0Lm9yZ10gQ29tbWl0IHF1ZXVlIHNob3VsZCBwb3N0
IHRoZSBpZGVudGlmaWVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMjM4MjkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc1OTA4MzIxPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ0lTdXBwb3J0L2V3
cy1idWlsZC9zdGVwcy5weToKKyAgICAgICAgKFB1c2hDb21taXRUb1dlYktpdFJlcG8udXJsX2Zv
cl9yZXZpc2lvbik6IFVzZSBDT01NSVRTX0lORk9fVVJMLgorICAgICAgICAoUHVzaENvbW1pdFRv
V2ViS2l0UmVwby51cmxfZm9yX2lkZW50aWZpZXIpOiBDb252ZXJ0IGlkZW50aWZpZXIKKyAgICAg
ICAgdG8gY29tbWl0cy53ZWJraXQub3JnIFVSTC4KKyAgICAgICAgKFB1c2hDb21taXRUb1dlYktp
dFJlcG8uaWRlbnRpZmllcl9mb3JfcmV2aXNpb24pOiBDb252ZXJ0IGEgY29tbWl0CisgICAgICAg
IHJldmlzaW9uIHRvIGFuIGlkZW50aWZpZXIgc3RyaW5nLgorICAgICAgICAoUHVzaENvbW1pdFRv
V2ViS2l0UmVwby5jb21tZW50X3RleHRfZm9yX2J1Zyk6IENvbnN1bHQgY29tbWl0cy53ZWJraXQu
b3JnCisgICAgICAgIHRvIGNvbnZlcnQgcmV2aXNpb24gdG8gaWRlbnRpZmllci4KKyAgICAgICAg
KiBDSVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzX3VuaXR0ZXN0LnB5OgorCiAyMDIxLTA0LTAxICBK
b25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNvbT4KIAogICAgICAgICBbd2Via2l0c2Nt
cHldIEltcHJvdmUgZ2l0LXN2bi1pZCByZWdleApJbmRleDogVG9vbHMvQ0lTdXBwb3J0L2V3cy1i
dWlsZC9zdGVwcy5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL3N0
ZXBzLnB5CShyZXZpc2lvbiAyNzUzNzApCisrKyBUb29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL3N0
ZXBzLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0zMjYwLDEwICszMjYwLDExIEBAIGNsYXNzIFB1c2hD
b21taXRUb1dlYktpdFJlcG8oc2hlbGwuU2hlbGwKICAgICAgICAgaWYgcmMgPT0gU1VDQ0VTUzoK
ICAgICAgICAgICAgIGxvZ190ZXh0ID0gc2VsZi5sb2dfb2JzZXJ2ZXIuZ2V0U3Rkb3V0KCkgKyBz
ZWxmLmxvZ19vYnNlcnZlci5nZXRTdGRlcnIoKQogICAgICAgICAgICAgc3ZuX3JldmlzaW9uID0g
c2VsZi5zdm5fcmV2aXNpb25fZnJvbV9jb21taXRfdGV4dChsb2dfdGV4dCkKLSAgICAgICAgICAg
IHNlbGYuc2V0UHJvcGVydHkoJ2J1Z3ppbGxhX2NvbW1lbnRfdGV4dCcsIHNlbGYuY29tbWVudF90
ZXh0X2Zvcl9idWcoc3ZuX3JldmlzaW9uKSkKLSAgICAgICAgICAgIGNvbW1pdF9zdW1tYXJ5ID0g
J0NvbW1pdHRlZCBye30nLmZvcm1hdChzdm5fcmV2aXNpb24pCisgICAgICAgICAgICBpZGVudGlm
aWVyID0gaWRlbnRpZmllcl9mb3JfcmV2aXNpb24oc3ZuX3JldmlzaW9uKQorICAgICAgICAgICAg
c2VsZi5zZXRQcm9wZXJ0eSgnYnVnemlsbGFfY29tbWVudF90ZXh0Jywgc2VsZi5jb21tZW50X3Rl
eHRfZm9yX2J1Zyhzdm5fcmV2aXNpb24sIGlkZW50aWZpZXIpKQorICAgICAgICAgICAgY29tbWl0
X3N1bW1hcnkgPSAnQ29tbWl0dGVkIHt9Jy5mb3JtYXQoaWRlbnRpZmllcikKICAgICAgICAgICAg
IHNlbGYuZGVzY3JpcHRpb25Eb25lID0gY29tbWl0X3N1bW1hcnkKLSAgICAgICAgICAgIHNlbGYu
c2V0UHJvcGVydHkoJ2J1aWxkX3N1bW1hcnknLCAnQ29tbWl0dGVkIHJ7fScuZm9ybWF0KHN2bl9y
ZXZpc2lvbikpCisgICAgICAgICAgICBzZWxmLnNldFByb3BlcnR5KCdidWlsZF9zdW1tYXJ5Jywg
J0NvbW1pdHRlZCB7fScuZm9ybWF0KGlkZW50aWZpZXIpKQogICAgICAgICAgICAgc2VsZi5idWls
ZC5hZGRTdGVwc0FmdGVyQ3VycmVudFN0ZXAoW0NvbW1lbnRPbkJ1ZygpLCBSZW1vdmVGbGFnc09u
UGF0Y2goKSwgQ2xvc2VCdWcoKV0pCiAgICAgICAgICAgICBzZWxmLmFkZFVSTCgncnt9Jy5mb3Jt
YXQoc3ZuX3JldmlzaW9uKSwgc2VsZi51cmxfZm9yX3JldmlzaW9uKHN2bl9yZXZpc2lvbikpCiAg
ICAgICAgIGVsc2U6CkBAIC0zMjc5LDE1ICszMjgwLDI5IEBAIGNsYXNzIFB1c2hDb21taXRUb1dl
YktpdFJlcG8oc2hlbGwuU2hlbGwKICAgICAgICAgcmV0dXJuIHJjCiAKICAgICBkZWYgdXJsX2Zv
cl9yZXZpc2lvbihzZWxmLCByZXZpc2lvbik6Ci0gICAgICAgIHJldHVybiAnaHR0cHM6Ly9jb21t
aXRzLndlYmtpdC5vcmcvcnt9Jy5mb3JtYXQocmV2aXNpb24pCisgICAgICAgIHJldHVybiAne31y
e30nLmZvcm1hdChDT01NSVRTX0lORk9fVVJMLCByZXZpc2lvbikKIAotICAgIGRlZiBjb21tZW50
X3RleHRfZm9yX2J1ZyhzZWxmLCBzdm5fcmV2aXNpb249Tm9uZSk6CisgICAgZGVmIHVybF9mb3Jf
aWRlbnRpZmllcihzZWxmLCBpZGVudGlmaWVyKToKKyAgICAgICAgcmV0dXJuICd7fXt9Jy5mb3Jt
YXQoQ09NTUlUU19JTkZPX1VSTCwgaWRlbnRpZmllcikKKworICAgIGRlZiBpZGVudGlmaWVyX2Zv
cl9yZXZpc2lvbihzZWxmLCByZXZpc2lvbik6CisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHJl
c3BvbnNlID0gcmVxdWVzdHMuZ2V0KCd7fS9qc29uJy5mb3JtYXQoc2VsZi51cmxfZm9yX3Jldmlz
aW9uKHJldmlzaW9uKSkpCisgICAgICAgICAgICBpZiByZXNwb25zZSBhbmQgcmVzcG9uc2Uuc3Rh
dHVzX2NvZGUgPT0gMjAwOgorICAgICAgICAgICAgICAgIHJldHVybiByZXNwb25zZS5qc29uKCku
Z2V0KCdpZGVudGlmaWVyJywgJ3J7fScuZm9ybWF0KHJldmlzaW9uKSkKKyAgICAgICAgZXhjZXB0
IEV4Y2VwdGlvbiBhcyBlOgorICAgICAgICAgICAgcHJpbnQoZSkKKyAgICAgICAgcmV0dXJuICdy
e30nLmZvcm1hdChyZXZpc2lvbikKKworICAgIGRlZiBjb21tZW50X3RleHRfZm9yX2J1ZyhzZWxm
LCBzdm5fcmV2aXNpb249Tm9uZSwgaWRlbnRpZmllcj1Ob25lKToKICAgICAgICAgcGF0Y2hfaWQg
PSBzZWxmLmdldFByb3BlcnR5KCdwYXRjaF9pZCcsICcnKQogICAgICAgICBpZiBub3Qgc3ZuX3Jl
dmlzaW9uOgogICAgICAgICAgICAgY29tbWVudCA9ICdjb21taXQtcXVldWUgZmFpbGVkIHRvIGNv
bW1pdCBhdHRhY2htZW50IHt9IHRvIFdlYktpdCByZXBvc2l0b3J5LicuZm9ybWF0KHBhdGNoX2lk
KQogICAgICAgICAgICAgY29tbWVudCArPSAnIFRvIHJldHJ5LCBwbGVhc2Ugc2V0IGNxKyBmbGFn
IGFnYWluLicKICAgICAgICAgICAgIHJldHVybiBjb21tZW50Ci0gICAgICAgIGNvbW1lbnQgPSAn
Q29tbWl0dGVkIHJ7fTogPHt9PicuZm9ybWF0KHN2bl9yZXZpc2lvbiwgc2VsZi51cmxfZm9yX3Jl
dmlzaW9uKHN2bl9yZXZpc2lvbikpCisKKyAgICAgICAgaWRlbnRpZmllciA9IGlkZW50aWZpZXIg
aWYgaWRlbnRpZmllciBhbmQgJ0AnIGluIGlkZW50aWZpZXIgZWxzZSAnPycKKyAgICAgICAgY29t
bWVudCA9ICdDb21taXR0ZWQgcnt9ICh7fSk6IDx7fT4nLmZvcm1hdChzdm5fcmV2aXNpb24sIGlk
ZW50aWZpZXIsIHNlbGYudXJsX2Zvcl9pZGVudGlmaWVyKGNhbmRpZGF0ZSkpCiAgICAgICAgIGNv
bW1lbnQgKz0gJ1xuXG5BbGwgcmV2aWV3ZWQgcGF0Y2hlcyBoYXZlIGJlZW4gbGFuZGVkLiBDbG9z
aW5nIGJ1ZyBhbmQgY2xlYXJpbmcgZmxhZ3Mgb24gYXR0YWNobWVudCB7fS4nLmZvcm1hdChwYXRj
aF9pZCkKICAgICAgICAgcmV0dXJuIGNvbW1lbnQKIApJbmRleDogVG9vbHMvQ0lTdXBwb3J0L2V3
cy1idWlsZC9zdGVwc191bml0dGVzdC5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DSVN1cHBvcnQv
ZXdzLWJ1aWxkL3N0ZXBzX3VuaXR0ZXN0LnB5CShyZXZpc2lvbiAyNzUzNzApCisrKyBUb29scy9D
SVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzX3VuaXR0ZXN0LnB5CSh3b3JraW5nIGNvcHkpCkBAIC0z
NCw3ICszNCw3IEBAIGZyb20gYnVpbGRib3QudGVzdC5mYWtlLnJlbW90ZWNvbW1hbmQgaW0KIGZy
b20gYnVpbGRib3QudGVzdC51dGlsLm1pc2MgaW1wb3J0IFRlc3RSZWFjdG9yTWl4aW4KIGZyb20g
YnVpbGRib3QudGVzdC51dGlsLnN0ZXBzIGltcG9ydCBCdWlsZFN0ZXBNaXhpbgogZnJvbSBidWls
ZGJvdC51dGlsIGltcG9ydCBpZGVudGlmaWVycyBhcyBidWlsZGJvdF9pZGVudGlmaWVycwotZnJv
bSBtb2NrIGltcG9ydCBjYWxsCitmcm9tIG1vY2sgaW1wb3J0IGNhbGwsIHBhdGNoCiBmcm9tIHR3
aXN0ZWQuaW50ZXJuZXQgaW1wb3J0IGRlZmVyLCBlcnJvciwgcmVhY3RvcgogZnJvbSB0d2lzdGVk
LnB5dGhvbiBpbXBvcnQgZmFpbHVyZSwgbG9nCiBmcm9tIHR3aXN0ZWQudHJpYWwgaW1wb3J0IHVu
aXR0ZXN0CkBAIC00MDg5LDIzICs0MDg5LDYxIEBAIGNsYXNzIFRlc3RQdXNoQ29tbWl0VG9XZWJL
aXRSZXBvKEJ1aWxkU3QKICAgICBkZWYgdGVhckRvd24oc2VsZik6CiAgICAgICAgIHJldHVybiBz
ZWxmLnRlYXJEb3duQnVpbGRTdGVwKCkKIAotICAgIGRlZiB0ZXN0X3N1Y2Nlc3Moc2VsZik6Ci0g
ICAgICAgIHNlbGYuc2V0dXBTdGVwKFB1c2hDb21taXRUb1dlYktpdFJlcG8oKSkKLSAgICAgICAg
c2VsZi5zZXRQcm9wZXJ0eSgncGF0Y2hfaWQnLCAnMTIzNCcpCi0gICAgICAgIHNlbGYuZXhwZWN0
UmVtb3RlQ29tbWFuZHMoCi0gICAgICAgICAgICBFeHBlY3RTaGVsbCh3b3JrZGlyPSd3a2Rpcics
Ci0gICAgICAgICAgICAgICAgICAgICAgICB0aW1lb3V0PTMwMCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgIGxvZ0Vudmlyb249RmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICBjb21tYW5k
PVsnZ2l0JywgJ3N2bicsICdkY29tbWl0JywgJy0tcm1kaXInXSkgKwotICAgICAgICAgICAgRXhw
ZWN0U2hlbGwubG9nKCdzdGRpbycsIHN0ZG91dD0nQ29tbWl0dGVkIHIyNTY3MjknKSArCi0gICAg
ICAgICAgICAwLAorICAgIGRlZiBtb2NrX2NvbW1pdHNfd2Via2l0X29yZyhzZWxmLCBpZGVudGlm
aWVyPU5vbmUpOgorICAgICAgICBjbGFzcyBSZXNwb25zZShvYmplY3QpOgorICAgICAgICAgICAg
ZGVmIF9faW5pdF9fKHNlbGYsIGRhdGE9Tm9uZSwgc3RhdHVzX2NvZGU9MjAwKToKKyAgICAgICAg
ICAgICAgICBzZWxmLnN0YXR1c19jb2RlID0gc3RhdHVzX2NvZGUKKyAgICAgICAgICAgICAgICBz
ZWxmLmhlYWRlcnMgPSB7J0NvbnRlbnQtVHlwZSc6ICd0ZXh0L2pzb24nfQorICAgICAgICAgICAg
ICAgIHNlbGYudGV4dCA9IGpzb24uZHVtcHMoZGF0YSBvciB7fSkKKworICAgICAgICAgICAgZGVm
IGpzb24oc2VsZik6CisgICAgICAgICAgICAgICAgcmV0dXJuIGpzb24ubG9hZHMoc2VsZi50ZXh0
KQorCisgICAgICAgIHJldHVybiBwYXRjaCgKKyAgICAgICAgICAgICdyZXF1ZXN0cy5nZXQnLAor
ICAgICAgICAgICAgbGFtYmRhICphcmdzLCAqKmt3YXJnczogUmVzcG9uc2UoCisgICAgICAgICAg
ICAgICAgZGF0YT1kaWN0KGlkZW50aWZpZXI9aWRlbnRpZmllcikgaWYgaWRlbnRpZmllciBlbHNl
IGRpY3Qoc3RhdHVzPSdOb3QgRm91bmQnKSwKKyAgICAgICAgICAgICAgICBzdGF0dXNfY29kZT0y
MDAgaWYgaWRlbnRpZmllciBlbHNlIDQwNCwKKyAgICAgICAgICAgICkKICAgICAgICAgKQotICAg
ICAgICBzZWxmLmV4cGVjdE91dGNvbWUocmVzdWx0PVNVQ0NFU1MsIHN0YXRlX3N0cmluZz0nQ29t
bWl0dGVkIHIyNTY3MjknKQotICAgICAgICB3aXRoIGN1cnJlbnRfaG9zdG5hbWUoRVdTX0JVSUxE
X0hPU1ROQU1FKToKLSAgICAgICAgICAgIHJjID0gc2VsZi5ydW5TdGVwKCkKLSAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbChzZWxmLmdldFByb3BlcnR5KCdidWd6aWxsYV9jb21tZW50X3RleHQnKSwg
J0NvbW1pdHRlZCByMjU2NzI5OiA8aHR0cHM6Ly9jb21taXRzLndlYmtpdC5vcmcvcjI1NjcyOT5c
blxuQWxsIHJldmlld2VkIHBhdGNoZXMgaGF2ZSBiZWVuIGxhbmRlZC4gQ2xvc2luZyBidWcgYW5k
IGNsZWFyaW5nIGZsYWdzIG9uIGF0dGFjaG1lbnQgMTIzNC4nKQotICAgICAgICBzZWxmLmFzc2Vy
dEVxdWFsKHNlbGYuZ2V0UHJvcGVydHkoJ2J1aWxkX2ZpbmlzaF9zdW1tYXJ5JyksIE5vbmUpCi0g
ICAgICAgIHJldHVybiByYworCisgICAgZGVmIHRlc3Rfc3VjY2VzcyhzZWxmKToKKyAgICAgICAg
d2l0aCBzZWxmLm1vY2tfY29tbWl0c193ZWJraXRfb3JnKGlkZW50aWZpZXI9JzIyMDc5N0BtYWlu
Jyk6CisgICAgICAgICAgICBzZWxmLnNldHVwU3RlcChQdXNoQ29tbWl0VG9XZWJLaXRSZXBvKCkp
CisgICAgICAgICAgICBzZWxmLnNldFByb3BlcnR5KCdwYXRjaF9pZCcsICcxMjM0JykKKyAgICAg
ICAgICAgIHNlbGYuZXhwZWN0UmVtb3RlQ29tbWFuZHMoCisgICAgICAgICAgICAgICAgRXhwZWN0
U2hlbGwod29ya2Rpcj0nd2tkaXInLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVv
dXQ9MzAwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvZ0Vudmlyb249RmFsc2UsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tbWFuZD1bJ2dpdCcsICdzdm4nLCAnZGNvbW1p
dCcsICctLXJtZGlyJ10pICsKKyAgICAgICAgICAgICAgICBFeHBlY3RTaGVsbC5sb2coJ3N0ZGlv
Jywgc3Rkb3V0PSdDb21taXR0ZWQgMjIwNzk3QG1haW4nKSArCisgICAgICAgICAgICAgICAgMCwK
KyAgICAgICAgICAgICkKKyAgICAgICAgICAgIHNlbGYuZXhwZWN0T3V0Y29tZShyZXN1bHQ9U1VD
Q0VTUywgc3RhdGVfc3RyaW5nPSdDb21taXR0ZWQgMjIwNzk3QG1haW4nKQorICAgICAgICAgICAg
d2l0aCBjdXJyZW50X2hvc3RuYW1lKEVXU19CVUlMRF9IT1NUTkFNRSk6CisgICAgICAgICAgICAg
ICAgcmMgPSBzZWxmLnJ1blN0ZXAoKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxm
LmdldFByb3BlcnR5KCdidWd6aWxsYV9jb21tZW50X3RleHQnKSwgJ0NvbW1pdHRlZCByMjU2NzI5
ICgyMjA3OTdAbWFpbik6IDxodHRwczovL2NvbW1pdHMud2Via2l0Lm9yZy8yMjA3OTdAbWFpbj5c
blxuQWxsIHJldmlld2VkIHBhdGNoZXMgaGF2ZSBiZWVuIGxhbmRlZC4gQ2xvc2luZyBidWcgYW5k
IGNsZWFyaW5nIGZsYWdzIG9uIGF0dGFjaG1lbnQgMTIzNC4nKQorICAgICAgICAgICAgc2VsZi5h
c3NlcnRFcXVhbChzZWxmLmdldFByb3BlcnR5KCdidWlsZF9maW5pc2hfc3VtbWFyeScpLCBOb25l
KQorICAgICAgICAgICAgcmV0dXJuIHJjCisKKyAgICBkZWYgdGVzdF9zdWNjZXNzX25vX2lkZW50
aWZpZXIoc2VsZik6CisgICAgICAgIHdpdGggc2VsZi5tb2NrX2NvbW1pdHNfd2Via2l0X29yZygp
OgorICAgICAgICAgICAgc2VsZi5zZXR1cFN0ZXAoUHVzaENvbW1pdFRvV2ViS2l0UmVwbygpKQor
ICAgICAgICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgncGF0Y2hfaWQnLCAnMTIzNCcpCisgICAgICAg
ICAgICBzZWxmLmV4cGVjdFJlbW90ZUNvbW1hbmRzKAorICAgICAgICAgICAgICAgIEV4cGVjdFNo
ZWxsKHdvcmtkaXI9J3drZGlyJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aW1lb3V0
PTMwMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2dFbnZpcm9uPUZhbHNlLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbW1hbmQ9WydnaXQnLCAnc3ZuJywgJ2Rjb21taXQn
LCAnLS1ybWRpciddKSArCisgICAgICAgICAgICAgICAgRXhwZWN0U2hlbGwubG9nKCdzdGRpbycs
IHN0ZG91dD0nQ29tbWl0dGVkIHIyNTY3MjknKSArCisgICAgICAgICAgICAgICAgMCwKKyAgICAg
ICAgICAgICkKKyAgICAgICAgICAgIHNlbGYuZXhwZWN0T3V0Y29tZShyZXN1bHQ9U1VDQ0VTUywg
c3RhdGVfc3RyaW5nPSdDb21taXR0ZWQgcjI1NjcyOScpCisgICAgICAgICAgICB3aXRoIGN1cnJl
bnRfaG9zdG5hbWUoRVdTX0JVSUxEX0hPU1ROQU1FKToKKyAgICAgICAgICAgICAgICByYyA9IHNl
bGYucnVuU3RlcCgpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuZ2V0UHJvcGVy
dHkoJ2J1Z3ppbGxhX2NvbW1lbnRfdGV4dCcpLCAnQ29tbWl0dGVkIHIyNTY3MjkgKD8pOiA8aHR0
cHM6Ly9jb21taXRzLndlYmtpdC5vcmcvcjI1NjcyOT5cblxuQWxsIHJldmlld2VkIHBhdGNoZXMg
aGF2ZSBiZWVuIGxhbmRlZC4gQ2xvc2luZyBidWcgYW5kIGNsZWFyaW5nIGZsYWdzIG9uIGF0dGFj
aG1lbnQgMTIzNC4nKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmdldFByb3Bl
cnR5KCdidWlsZF9maW5pc2hfc3VtbWFyeScpLCBOb25lKQorICAgICAgICAgICAgcmV0dXJuIHJj
CiAKICAgICBkZWYgdGVzdF9mYWlsdXJlX3JldHJ5KHNlbGYpOgogICAgICAgICBzZWxmLnNldHVw
U3RlcChQdXNoQ29tbWl0VG9XZWJLaXRSZXBvKCkpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424925</attachid>
            <date>2021-04-01 12:03:07 -0700</date>
            <delta_ts>2021-04-01 12:29:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223829-20210401120306.patch</filename>
            <type>text/plain</type>
            <size>8586</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI3NTM3MCkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDIxIEBACisyMDIxLTA0LTAxICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICBbYnVpbGQud2Via2l0Lm9yZ10gQ29tbWl0IHF1ZXVlIHNob3VsZCBwb3N0
IHRoZSBpZGVudGlmaWVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMjM4MjkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc1OTA4MzIxPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ0lTdXBwb3J0L2V3
cy1idWlsZC9zdGVwcy5weToKKyAgICAgICAgKFB1c2hDb21taXRUb1dlYktpdFJlcG8udXJsX2Zv
cl9yZXZpc2lvbik6IFVzZSBDT01NSVRTX0lORk9fVVJMLgorICAgICAgICAoUHVzaENvbW1pdFRv
V2ViS2l0UmVwby51cmxfZm9yX2lkZW50aWZpZXIpOiBDb252ZXJ0IGlkZW50aWZpZXIKKyAgICAg
ICAgdG8gY29tbWl0cy53ZWJraXQub3JnIFVSTC4KKyAgICAgICAgKFB1c2hDb21taXRUb1dlYktp
dFJlcG8uaWRlbnRpZmllcl9mb3JfcmV2aXNpb24pOiBDb252ZXJ0IGEgY29tbWl0CisgICAgICAg
IHJldmlzaW9uIHRvIGFuIGlkZW50aWZpZXIgc3RyaW5nLgorICAgICAgICAoUHVzaENvbW1pdFRv
V2ViS2l0UmVwby5jb21tZW50X3RleHRfZm9yX2J1Zyk6IENvbnN1bHQgY29tbWl0cy53ZWJraXQu
b3JnCisgICAgICAgIHRvIGNvbnZlcnQgcmV2aXNpb24gdG8gaWRlbnRpZmllci4KKyAgICAgICAg
KiBDSVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzX3VuaXR0ZXN0LnB5OgorCiAyMDIxLTA0LTAxICBK
b25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNvbT4KIAogICAgICAgICBbd2Via2l0c2Nt
cHldIEltcHJvdmUgZ2l0LXN2bi1pZCByZWdleApJbmRleDogVG9vbHMvQ0lTdXBwb3J0L2V3cy1i
dWlsZC9zdGVwcy5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL3N0
ZXBzLnB5CShyZXZpc2lvbiAyNzUzNzApCisrKyBUb29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL3N0
ZXBzLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0zMjYwLDEwICszMjYwLDExIEBAIGNsYXNzIFB1c2hD
b21taXRUb1dlYktpdFJlcG8oc2hlbGwuU2hlbGwKICAgICAgICAgaWYgcmMgPT0gU1VDQ0VTUzoK
ICAgICAgICAgICAgIGxvZ190ZXh0ID0gc2VsZi5sb2dfb2JzZXJ2ZXIuZ2V0U3Rkb3V0KCkgKyBz
ZWxmLmxvZ19vYnNlcnZlci5nZXRTdGRlcnIoKQogICAgICAgICAgICAgc3ZuX3JldmlzaW9uID0g
c2VsZi5zdm5fcmV2aXNpb25fZnJvbV9jb21taXRfdGV4dChsb2dfdGV4dCkKLSAgICAgICAgICAg
IHNlbGYuc2V0UHJvcGVydHkoJ2J1Z3ppbGxhX2NvbW1lbnRfdGV4dCcsIHNlbGYuY29tbWVudF90
ZXh0X2Zvcl9idWcoc3ZuX3JldmlzaW9uKSkKLSAgICAgICAgICAgIGNvbW1pdF9zdW1tYXJ5ID0g
J0NvbW1pdHRlZCBye30nLmZvcm1hdChzdm5fcmV2aXNpb24pCisgICAgICAgICAgICBpZGVudGlm
aWVyID0gc2VsZi5pZGVudGlmaWVyX2Zvcl9yZXZpc2lvbihzdm5fcmV2aXNpb24pCisgICAgICAg
ICAgICBzZWxmLnNldFByb3BlcnR5KCdidWd6aWxsYV9jb21tZW50X3RleHQnLCBzZWxmLmNvbW1l
bnRfdGV4dF9mb3JfYnVnKHN2bl9yZXZpc2lvbiwgaWRlbnRpZmllcikpCisgICAgICAgICAgICBj
b21taXRfc3VtbWFyeSA9ICdDb21taXR0ZWQge30nLmZvcm1hdChpZGVudGlmaWVyKQogICAgICAg
ICAgICAgc2VsZi5kZXNjcmlwdGlvbkRvbmUgPSBjb21taXRfc3VtbWFyeQotICAgICAgICAgICAg
c2VsZi5zZXRQcm9wZXJ0eSgnYnVpbGRfc3VtbWFyeScsICdDb21taXR0ZWQgcnt9Jy5mb3JtYXQo
c3ZuX3JldmlzaW9uKSkKKyAgICAgICAgICAgIHNlbGYuc2V0UHJvcGVydHkoJ2J1aWxkX3N1bW1h
cnknLCAnQ29tbWl0dGVkIHt9Jy5mb3JtYXQoaWRlbnRpZmllcikpCiAgICAgICAgICAgICBzZWxm
LmJ1aWxkLmFkZFN0ZXBzQWZ0ZXJDdXJyZW50U3RlcChbQ29tbWVudE9uQnVnKCksIFJlbW92ZUZs
YWdzT25QYXRjaCgpLCBDbG9zZUJ1ZygpXSkKICAgICAgICAgICAgIHNlbGYuYWRkVVJMKCdye30n
LmZvcm1hdChzdm5fcmV2aXNpb24pLCBzZWxmLnVybF9mb3JfcmV2aXNpb24oc3ZuX3JldmlzaW9u
KSkKICAgICAgICAgZWxzZToKQEAgLTMyNzksMTUgKzMyODAsMjkgQEAgY2xhc3MgUHVzaENvbW1p
dFRvV2ViS2l0UmVwbyhzaGVsbC5TaGVsbAogICAgICAgICByZXR1cm4gcmMKIAogICAgIGRlZiB1
cmxfZm9yX3JldmlzaW9uKHNlbGYsIHJldmlzaW9uKToKLSAgICAgICAgcmV0dXJuICdodHRwczov
L2NvbW1pdHMud2Via2l0Lm9yZy9ye30nLmZvcm1hdChyZXZpc2lvbikKKyAgICAgICAgcmV0dXJu
ICd7fXJ7fScuZm9ybWF0KENPTU1JVFNfSU5GT19VUkwsIHJldmlzaW9uKQogCi0gICAgZGVmIGNv
bW1lbnRfdGV4dF9mb3JfYnVnKHNlbGYsIHN2bl9yZXZpc2lvbj1Ob25lKToKKyAgICBkZWYgdXJs
X2Zvcl9pZGVudGlmaWVyKHNlbGYsIGlkZW50aWZpZXIpOgorICAgICAgICByZXR1cm4gJ3t9e30n
LmZvcm1hdChDT01NSVRTX0lORk9fVVJMLCBpZGVudGlmaWVyKQorCisgICAgZGVmIGlkZW50aWZp
ZXJfZm9yX3JldmlzaW9uKHNlbGYsIHJldmlzaW9uKToKKyAgICAgICAgdHJ5OgorICAgICAgICAg
ICAgcmVzcG9uc2UgPSByZXF1ZXN0cy5nZXQoJ3t9L2pzb24nLmZvcm1hdChzZWxmLnVybF9mb3Jf
cmV2aXNpb24ocmV2aXNpb24pKSkKKyAgICAgICAgICAgIGlmIHJlc3BvbnNlIGFuZCByZXNwb25z
ZS5zdGF0dXNfY29kZSA9PSAyMDA6CisgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlLmpz
b24oKS5nZXQoJ2lkZW50aWZpZXInLCAncnt9Jy5mb3JtYXQocmV2aXNpb24pKQorICAgICAgICBl
eGNlcHQgRXhjZXB0aW9uIGFzIGU6CisgICAgICAgICAgICBwcmludChlKQorICAgICAgICByZXR1
cm4gJ3J7fScuZm9ybWF0KHJldmlzaW9uKQorCisgICAgZGVmIGNvbW1lbnRfdGV4dF9mb3JfYnVn
KHNlbGYsIHN2bl9yZXZpc2lvbj1Ob25lLCBpZGVudGlmaWVyPU5vbmUpOgogICAgICAgICBwYXRj
aF9pZCA9IHNlbGYuZ2V0UHJvcGVydHkoJ3BhdGNoX2lkJywgJycpCiAgICAgICAgIGlmIG5vdCBz
dm5fcmV2aXNpb246CiAgICAgICAgICAgICBjb21tZW50ID0gJ2NvbW1pdC1xdWV1ZSBmYWlsZWQg
dG8gY29tbWl0IGF0dGFjaG1lbnQge30gdG8gV2ViS2l0IHJlcG9zaXRvcnkuJy5mb3JtYXQocGF0
Y2hfaWQpCiAgICAgICAgICAgICBjb21tZW50ICs9ICcgVG8gcmV0cnksIHBsZWFzZSBzZXQgY3Er
IGZsYWcgYWdhaW4uJwogICAgICAgICAgICAgcmV0dXJuIGNvbW1lbnQKLSAgICAgICAgY29tbWVu
dCA9ICdDb21taXR0ZWQgcnt9OiA8e30+Jy5mb3JtYXQoc3ZuX3JldmlzaW9uLCBzZWxmLnVybF9m
b3JfcmV2aXNpb24oc3ZuX3JldmlzaW9uKSkKKworICAgICAgICBpZGVudGlmaWVyID0gaWRlbnRp
ZmllciBpZiBpZGVudGlmaWVyIGFuZCAnQCcgaW4gaWRlbnRpZmllciBlbHNlICc/JworICAgICAg
ICBjb21tZW50ID0gJ0NvbW1pdHRlZCBye30gKHt9KTogPHt9PicuZm9ybWF0KHN2bl9yZXZpc2lv
biwgaWRlbnRpZmllciwgc2VsZi51cmxfZm9yX2lkZW50aWZpZXIoY2FuZGlkYXRlKSkKICAgICAg
ICAgY29tbWVudCArPSAnXG5cbkFsbCByZXZpZXdlZCBwYXRjaGVzIGhhdmUgYmVlbiBsYW5kZWQu
IENsb3NpbmcgYnVnIGFuZCBjbGVhcmluZyBmbGFncyBvbiBhdHRhY2htZW50IHt9LicuZm9ybWF0
KHBhdGNoX2lkKQogICAgICAgICByZXR1cm4gY29tbWVudAogCkluZGV4OiBUb29scy9DSVN1cHBv
cnQvZXdzLWJ1aWxkL3N0ZXBzX3VuaXR0ZXN0LnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0NJU3Vw
cG9ydC9ld3MtYnVpbGQvc3RlcHNfdW5pdHRlc3QucHkJKHJldmlzaW9uIDI3NTM3MCkKKysrIFRv
b2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvc3RlcHNfdW5pdHRlc3QucHkJKHdvcmtpbmcgY29weSkK
QEAgLTM0LDcgKzM0LDcgQEAgZnJvbSBidWlsZGJvdC50ZXN0LmZha2UucmVtb3RlY29tbWFuZCBp
bQogZnJvbSBidWlsZGJvdC50ZXN0LnV0aWwubWlzYyBpbXBvcnQgVGVzdFJlYWN0b3JNaXhpbgog
ZnJvbSBidWlsZGJvdC50ZXN0LnV0aWwuc3RlcHMgaW1wb3J0IEJ1aWxkU3RlcE1peGluCiBmcm9t
IGJ1aWxkYm90LnV0aWwgaW1wb3J0IGlkZW50aWZpZXJzIGFzIGJ1aWxkYm90X2lkZW50aWZpZXJz
Ci1mcm9tIG1vY2sgaW1wb3J0IGNhbGwKK2Zyb20gbW9jayBpbXBvcnQgY2FsbCwgcGF0Y2gKIGZy
b20gdHdpc3RlZC5pbnRlcm5ldCBpbXBvcnQgZGVmZXIsIGVycm9yLCByZWFjdG9yCiBmcm9tIHR3
aXN0ZWQucHl0aG9uIGltcG9ydCBmYWlsdXJlLCBsb2cKIGZyb20gdHdpc3RlZC50cmlhbCBpbXBv
cnQgdW5pdHRlc3QKQEAgLTQwODksMjMgKzQwODksNjEgQEAgY2xhc3MgVGVzdFB1c2hDb21taXRU
b1dlYktpdFJlcG8oQnVpbGRTdAogICAgIGRlZiB0ZWFyRG93bihzZWxmKToKICAgICAgICAgcmV0
dXJuIHNlbGYudGVhckRvd25CdWlsZFN0ZXAoKQogCi0gICAgZGVmIHRlc3Rfc3VjY2VzcyhzZWxm
KToKLSAgICAgICAgc2VsZi5zZXR1cFN0ZXAoUHVzaENvbW1pdFRvV2ViS2l0UmVwbygpKQotICAg
ICAgICBzZWxmLnNldFByb3BlcnR5KCdwYXRjaF9pZCcsICcxMjM0JykKLSAgICAgICAgc2VsZi5l
eHBlY3RSZW1vdGVDb21tYW5kcygKLSAgICAgICAgICAgIEV4cGVjdFNoZWxsKHdvcmtkaXI9J3dr
ZGlyJywKLSAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVvdXQ9MzAwLAotICAgICAgICAgICAg
ICAgICAgICAgICAgbG9nRW52aXJvbj1GYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgIGNv
bW1hbmQ9WydnaXQnLCAnc3ZuJywgJ2Rjb21taXQnLCAnLS1ybWRpciddKSArCi0gICAgICAgICAg
ICBFeHBlY3RTaGVsbC5sb2coJ3N0ZGlvJywgc3Rkb3V0PSdDb21taXR0ZWQgcjI1NjcyOScpICsK
LSAgICAgICAgICAgIDAsCisgICAgZGVmIG1vY2tfY29tbWl0c193ZWJraXRfb3JnKHNlbGYsIGlk
ZW50aWZpZXI9Tm9uZSk6CisgICAgICAgIGNsYXNzIFJlc3BvbnNlKG9iamVjdCk6CisgICAgICAg
ICAgICBkZWYgX19pbml0X18oc2VsZiwgZGF0YT1Ob25lLCBzdGF0dXNfY29kZT0yMDApOgorICAg
ICAgICAgICAgICAgIHNlbGYuc3RhdHVzX2NvZGUgPSBzdGF0dXNfY29kZQorICAgICAgICAgICAg
ICAgIHNlbGYuaGVhZGVycyA9IHsnQ29udGVudC1UeXBlJzogJ3RleHQvanNvbid9CisgICAgICAg
ICAgICAgICAgc2VsZi50ZXh0ID0ganNvbi5kdW1wcyhkYXRhIG9yIHt9KQorCisgICAgICAgICAg
ICBkZWYganNvbihzZWxmKToKKyAgICAgICAgICAgICAgICByZXR1cm4ganNvbi5sb2FkcyhzZWxm
LnRleHQpCisKKyAgICAgICAgcmV0dXJuIHBhdGNoKAorICAgICAgICAgICAgJ3JlcXVlc3RzLmdl
dCcsCisgICAgICAgICAgICBsYW1iZGEgKmFyZ3MsICoqa3dhcmdzOiBSZXNwb25zZSgKKyAgICAg
ICAgICAgICAgICBkYXRhPWRpY3QoaWRlbnRpZmllcj1pZGVudGlmaWVyKSBpZiBpZGVudGlmaWVy
IGVsc2UgZGljdChzdGF0dXM9J05vdCBGb3VuZCcpLAorICAgICAgICAgICAgICAgIHN0YXR1c19j
b2RlPTIwMCBpZiBpZGVudGlmaWVyIGVsc2UgNDA0LAorICAgICAgICAgICAgKQogICAgICAgICAp
Ci0gICAgICAgIHNlbGYuZXhwZWN0T3V0Y29tZShyZXN1bHQ9U1VDQ0VTUywgc3RhdGVfc3RyaW5n
PSdDb21taXR0ZWQgcjI1NjcyOScpCi0gICAgICAgIHdpdGggY3VycmVudF9ob3N0bmFtZShFV1Nf
QlVJTERfSE9TVE5BTUUpOgotICAgICAgICAgICAgcmMgPSBzZWxmLnJ1blN0ZXAoKQotICAgICAg
ICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuZ2V0UHJvcGVydHkoJ2J1Z3ppbGxhX2NvbW1lbnRfdGV4
dCcpLCAnQ29tbWl0dGVkIHIyNTY3Mjk6IDxodHRwczovL2NvbW1pdHMud2Via2l0Lm9yZy9yMjU2
NzI5PlxuXG5BbGwgcmV2aWV3ZWQgcGF0Y2hlcyBoYXZlIGJlZW4gbGFuZGVkLiBDbG9zaW5nIGJ1
ZyBhbmQgY2xlYXJpbmcgZmxhZ3Mgb24gYXR0YWNobWVudCAxMjM0LicpCi0gICAgICAgIHNlbGYu
YXNzZXJ0RXF1YWwoc2VsZi5nZXRQcm9wZXJ0eSgnYnVpbGRfZmluaXNoX3N1bW1hcnknKSwgTm9u
ZSkKLSAgICAgICAgcmV0dXJuIHJjCisKKyAgICBkZWYgdGVzdF9zdWNjZXNzKHNlbGYpOgorICAg
ICAgICB3aXRoIHNlbGYubW9ja19jb21taXRzX3dlYmtpdF9vcmcoaWRlbnRpZmllcj0nMjIwNzk3
QG1haW4nKToKKyAgICAgICAgICAgIHNlbGYuc2V0dXBTdGVwKFB1c2hDb21taXRUb1dlYktpdFJl
cG8oKSkKKyAgICAgICAgICAgIHNlbGYuc2V0UHJvcGVydHkoJ3BhdGNoX2lkJywgJzEyMzQnKQor
ICAgICAgICAgICAgc2VsZi5leHBlY3RSZW1vdGVDb21tYW5kcygKKyAgICAgICAgICAgICAgICBF
eHBlY3RTaGVsbCh3b3JrZGlyPSd3a2RpcicsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dGltZW91dD0zMDAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9nRW52aXJvbj1GYWxz
ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21tYW5kPVsnZ2l0JywgJ3N2bicsICdk
Y29tbWl0JywgJy0tcm1kaXInXSkgKworICAgICAgICAgICAgICAgIEV4cGVjdFNoZWxsLmxvZygn
c3RkaW8nLCBzdGRvdXQ9J0NvbW1pdHRlZCAyMjA3OTdAbWFpbicpICsKKyAgICAgICAgICAgICAg
ICAwLAorICAgICAgICAgICAgKQorICAgICAgICAgICAgc2VsZi5leHBlY3RPdXRjb21lKHJlc3Vs
dD1TVUNDRVNTLCBzdGF0ZV9zdHJpbmc9J0NvbW1pdHRlZCAyMjA3OTdAbWFpbicpCisgICAgICAg
ICAgICB3aXRoIGN1cnJlbnRfaG9zdG5hbWUoRVdTX0JVSUxEX0hPU1ROQU1FKToKKyAgICAgICAg
ICAgICAgICByYyA9IHNlbGYucnVuU3RlcCgpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFs
KHNlbGYuZ2V0UHJvcGVydHkoJ2J1Z3ppbGxhX2NvbW1lbnRfdGV4dCcpLCAnQ29tbWl0dGVkIHIy
NTY3MjkgKDIyMDc5N0BtYWluKTogPGh0dHBzOi8vY29tbWl0cy53ZWJraXQub3JnLzIyMDc5N0Bt
YWluPlxuXG5BbGwgcmV2aWV3ZWQgcGF0Y2hlcyBoYXZlIGJlZW4gbGFuZGVkLiBDbG9zaW5nIGJ1
ZyBhbmQgY2xlYXJpbmcgZmxhZ3Mgb24gYXR0YWNobWVudCAxMjM0LicpCisgICAgICAgICAgICBz
ZWxmLmFzc2VydEVxdWFsKHNlbGYuZ2V0UHJvcGVydHkoJ2J1aWxkX2ZpbmlzaF9zdW1tYXJ5Jyks
IE5vbmUpCisgICAgICAgICAgICByZXR1cm4gcmMKKworICAgIGRlZiB0ZXN0X3N1Y2Nlc3Nfbm9f
aWRlbnRpZmllcihzZWxmKToKKyAgICAgICAgd2l0aCBzZWxmLm1vY2tfY29tbWl0c193ZWJraXRf
b3JnKCk6CisgICAgICAgICAgICBzZWxmLnNldHVwU3RlcChQdXNoQ29tbWl0VG9XZWJLaXRSZXBv
KCkpCisgICAgICAgICAgICBzZWxmLnNldFByb3BlcnR5KCdwYXRjaF9pZCcsICcxMjM0JykKKyAg
ICAgICAgICAgIHNlbGYuZXhwZWN0UmVtb3RlQ29tbWFuZHMoCisgICAgICAgICAgICAgICAgRXhw
ZWN0U2hlbGwod29ya2Rpcj0nd2tkaXInLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRp
bWVvdXQ9MzAwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvZ0Vudmlyb249RmFsc2Us
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tbWFuZD1bJ2dpdCcsICdzdm4nLCAnZGNv
bW1pdCcsICctLXJtZGlyJ10pICsKKyAgICAgICAgICAgICAgICBFeHBlY3RTaGVsbC5sb2coJ3N0
ZGlvJywgc3Rkb3V0PSdDb21taXR0ZWQgcjI1NjcyOScpICsKKyAgICAgICAgICAgICAgICAwLAor
ICAgICAgICAgICAgKQorICAgICAgICAgICAgc2VsZi5leHBlY3RPdXRjb21lKHJlc3VsdD1TVUND
RVNTLCBzdGF0ZV9zdHJpbmc9J0NvbW1pdHRlZCByMjU2NzI5JykKKyAgICAgICAgICAgIHdpdGgg
Y3VycmVudF9ob3N0bmFtZShFV1NfQlVJTERfSE9TVE5BTUUpOgorICAgICAgICAgICAgICAgIHJj
ID0gc2VsZi5ydW5TdGVwKCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5nZXRQ
cm9wZXJ0eSgnYnVnemlsbGFfY29tbWVudF90ZXh0JyksICdDb21taXR0ZWQgcjI1NjcyOSAoPyk6
IDxodHRwczovL2NvbW1pdHMud2Via2l0Lm9yZy9yMjU2NzI5PlxuXG5BbGwgcmV2aWV3ZWQgcGF0
Y2hlcyBoYXZlIGJlZW4gbGFuZGVkLiBDbG9zaW5nIGJ1ZyBhbmQgY2xlYXJpbmcgZmxhZ3Mgb24g
YXR0YWNobWVudCAxMjM0LicpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuZ2V0
UHJvcGVydHkoJ2J1aWxkX2ZpbmlzaF9zdW1tYXJ5JyksIE5vbmUpCisgICAgICAgICAgICByZXR1
cm4gcmMKIAogICAgIGRlZiB0ZXN0X2ZhaWx1cmVfcmV0cnkoc2VsZik6CiAgICAgICAgIHNlbGYu
c2V0dXBTdGVwKFB1c2hDb21taXRUb1dlYktpdFJlcG8oKSkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424932</attachid>
            <date>2021-04-01 12:30:01 -0700</date>
            <delta_ts>2021-04-01 12:38:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223829-20210401123000.patch</filename>
            <type>text/plain</type>
            <size>8601</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI3NTM3MCkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDIxIEBACisyMDIxLTA0LTAxICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICBbYnVpbGQud2Via2l0Lm9yZ10gQ29tbWl0IHF1ZXVlIHNob3VsZCBwb3N0
IHRoZSBpZGVudGlmaWVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMjM4MjkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc1OTA4MzIxPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ0lTdXBwb3J0L2V3
cy1idWlsZC9zdGVwcy5weToKKyAgICAgICAgKFB1c2hDb21taXRUb1dlYktpdFJlcG8udXJsX2Zv
cl9yZXZpc2lvbik6IFVzZSBDT01NSVRTX0lORk9fVVJMLgorICAgICAgICAoUHVzaENvbW1pdFRv
V2ViS2l0UmVwby51cmxfZm9yX2lkZW50aWZpZXIpOiBDb252ZXJ0IGlkZW50aWZpZXIKKyAgICAg
ICAgdG8gY29tbWl0cy53ZWJraXQub3JnIFVSTC4KKyAgICAgICAgKFB1c2hDb21taXRUb1dlYktp
dFJlcG8uaWRlbnRpZmllcl9mb3JfcmV2aXNpb24pOiBDb252ZXJ0IGEgY29tbWl0CisgICAgICAg
IHJldmlzaW9uIHRvIGFuIGlkZW50aWZpZXIgc3RyaW5nLgorICAgICAgICAoUHVzaENvbW1pdFRv
V2ViS2l0UmVwby5jb21tZW50X3RleHRfZm9yX2J1Zyk6IENvbnN1bHQgY29tbWl0cy53ZWJraXQu
b3JnCisgICAgICAgIHRvIGNvbnZlcnQgcmV2aXNpb24gdG8gaWRlbnRpZmllci4KKyAgICAgICAg
KiBDSVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzX3VuaXR0ZXN0LnB5OgorCiAyMDIxLTA0LTAxICBK
b25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNvbT4KIAogICAgICAgICBbd2Via2l0c2Nt
cHldIEltcHJvdmUgZ2l0LXN2bi1pZCByZWdleApJbmRleDogVG9vbHMvQ0lTdXBwb3J0L2V3cy1i
dWlsZC9zdGVwcy5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL3N0
ZXBzLnB5CShyZXZpc2lvbiAyNzUzNzApCisrKyBUb29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL3N0
ZXBzLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0zMjYwLDEwICszMjYwLDExIEBAIGNsYXNzIFB1c2hD
b21taXRUb1dlYktpdFJlcG8oc2hlbGwuU2hlbGwKICAgICAgICAgaWYgcmMgPT0gU1VDQ0VTUzoK
ICAgICAgICAgICAgIGxvZ190ZXh0ID0gc2VsZi5sb2dfb2JzZXJ2ZXIuZ2V0U3Rkb3V0KCkgKyBz
ZWxmLmxvZ19vYnNlcnZlci5nZXRTdGRlcnIoKQogICAgICAgICAgICAgc3ZuX3JldmlzaW9uID0g
c2VsZi5zdm5fcmV2aXNpb25fZnJvbV9jb21taXRfdGV4dChsb2dfdGV4dCkKLSAgICAgICAgICAg
IHNlbGYuc2V0UHJvcGVydHkoJ2J1Z3ppbGxhX2NvbW1lbnRfdGV4dCcsIHNlbGYuY29tbWVudF90
ZXh0X2Zvcl9idWcoc3ZuX3JldmlzaW9uKSkKLSAgICAgICAgICAgIGNvbW1pdF9zdW1tYXJ5ID0g
J0NvbW1pdHRlZCBye30nLmZvcm1hdChzdm5fcmV2aXNpb24pCisgICAgICAgICAgICBpZGVudGlm
aWVyID0gc2VsZi5pZGVudGlmaWVyX2Zvcl9yZXZpc2lvbihzdm5fcmV2aXNpb24pCisgICAgICAg
ICAgICBzZWxmLnNldFByb3BlcnR5KCdidWd6aWxsYV9jb21tZW50X3RleHQnLCBzZWxmLmNvbW1l
bnRfdGV4dF9mb3JfYnVnKHN2bl9yZXZpc2lvbiwgaWRlbnRpZmllcikpCisgICAgICAgICAgICBj
b21taXRfc3VtbWFyeSA9ICdDb21taXR0ZWQge30nLmZvcm1hdChpZGVudGlmaWVyKQogICAgICAg
ICAgICAgc2VsZi5kZXNjcmlwdGlvbkRvbmUgPSBjb21taXRfc3VtbWFyeQotICAgICAgICAgICAg
c2VsZi5zZXRQcm9wZXJ0eSgnYnVpbGRfc3VtbWFyeScsICdDb21taXR0ZWQgcnt9Jy5mb3JtYXQo
c3ZuX3JldmlzaW9uKSkKKyAgICAgICAgICAgIHNlbGYuc2V0UHJvcGVydHkoJ2J1aWxkX3N1bW1h
cnknLCAnQ29tbWl0dGVkIHt9Jy5mb3JtYXQoaWRlbnRpZmllcikpCiAgICAgICAgICAgICBzZWxm
LmJ1aWxkLmFkZFN0ZXBzQWZ0ZXJDdXJyZW50U3RlcChbQ29tbWVudE9uQnVnKCksIFJlbW92ZUZs
YWdzT25QYXRjaCgpLCBDbG9zZUJ1ZygpXSkKICAgICAgICAgICAgIHNlbGYuYWRkVVJMKCdye30n
LmZvcm1hdChzdm5fcmV2aXNpb24pLCBzZWxmLnVybF9mb3JfcmV2aXNpb24oc3ZuX3JldmlzaW9u
KSkKICAgICAgICAgZWxzZToKQEAgLTMyNzksMTUgKzMyODAsMjkgQEAgY2xhc3MgUHVzaENvbW1p
dFRvV2ViS2l0UmVwbyhzaGVsbC5TaGVsbAogICAgICAgICByZXR1cm4gcmMKIAogICAgIGRlZiB1
cmxfZm9yX3JldmlzaW9uKHNlbGYsIHJldmlzaW9uKToKLSAgICAgICAgcmV0dXJuICdodHRwczov
L2NvbW1pdHMud2Via2l0Lm9yZy9ye30nLmZvcm1hdChyZXZpc2lvbikKKyAgICAgICAgcmV0dXJu
ICd7fXJ7fScuZm9ybWF0KENPTU1JVFNfSU5GT19VUkwsIHJldmlzaW9uKQogCi0gICAgZGVmIGNv
bW1lbnRfdGV4dF9mb3JfYnVnKHNlbGYsIHN2bl9yZXZpc2lvbj1Ob25lKToKKyAgICBkZWYgdXJs
X2Zvcl9pZGVudGlmaWVyKHNlbGYsIGlkZW50aWZpZXIpOgorICAgICAgICByZXR1cm4gJ3t9e30n
LmZvcm1hdChDT01NSVRTX0lORk9fVVJMLCBpZGVudGlmaWVyKQorCisgICAgZGVmIGlkZW50aWZp
ZXJfZm9yX3JldmlzaW9uKHNlbGYsIHJldmlzaW9uKToKKyAgICAgICAgdHJ5OgorICAgICAgICAg
ICAgcmVzcG9uc2UgPSByZXF1ZXN0cy5nZXQoJ3t9L2pzb24nLmZvcm1hdChzZWxmLnVybF9mb3Jf
cmV2aXNpb24ocmV2aXNpb24pKSkKKyAgICAgICAgICAgIGlmIHJlc3BvbnNlIGFuZCByZXNwb25z
ZS5zdGF0dXNfY29kZSA9PSAyMDA6CisgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlLmpz
b24oKS5nZXQoJ2lkZW50aWZpZXInLCAncnt9Jy5mb3JtYXQocmV2aXNpb24pKQorICAgICAgICBl
eGNlcHQgRXhjZXB0aW9uIGFzIGU6CisgICAgICAgICAgICBwcmludChlKQorICAgICAgICByZXR1
cm4gJ3J7fScuZm9ybWF0KHJldmlzaW9uKQorCisgICAgZGVmIGNvbW1lbnRfdGV4dF9mb3JfYnVn
KHNlbGYsIHN2bl9yZXZpc2lvbj1Ob25lLCBpZGVudGlmaWVyPU5vbmUpOgogICAgICAgICBwYXRj
aF9pZCA9IHNlbGYuZ2V0UHJvcGVydHkoJ3BhdGNoX2lkJywgJycpCiAgICAgICAgIGlmIG5vdCBz
dm5fcmV2aXNpb246CiAgICAgICAgICAgICBjb21tZW50ID0gJ2NvbW1pdC1xdWV1ZSBmYWlsZWQg
dG8gY29tbWl0IGF0dGFjaG1lbnQge30gdG8gV2ViS2l0IHJlcG9zaXRvcnkuJy5mb3JtYXQocGF0
Y2hfaWQpCiAgICAgICAgICAgICBjb21tZW50ICs9ICcgVG8gcmV0cnksIHBsZWFzZSBzZXQgY3Er
IGZsYWcgYWdhaW4uJwogICAgICAgICAgICAgcmV0dXJuIGNvbW1lbnQKLSAgICAgICAgY29tbWVu
dCA9ICdDb21taXR0ZWQgcnt9OiA8e30+Jy5mb3JtYXQoc3ZuX3JldmlzaW9uLCBzZWxmLnVybF9m
b3JfcmV2aXNpb24oc3ZuX3JldmlzaW9uKSkKKworICAgICAgICBzdHJfaWZfaWRlbnRpZmllciA9
IGlkZW50aWZpZXIgaWYgaWRlbnRpZmllciBhbmQgJ0AnIGluIGlkZW50aWZpZXIgZWxzZSAnPycK
KyAgICAgICAgY29tbWVudCA9ICdDb21taXR0ZWQgcnt9ICh7fSk6IDx7fT4nLmZvcm1hdChzdm5f
cmV2aXNpb24sIHN0cl9pZl9pZGVudGlmaWVyLCBzZWxmLnVybF9mb3JfaWRlbnRpZmllcihpZGVu
dGlmaWVyKSkKICAgICAgICAgY29tbWVudCArPSAnXG5cbkFsbCByZXZpZXdlZCBwYXRjaGVzIGhh
dmUgYmVlbiBsYW5kZWQuIENsb3NpbmcgYnVnIGFuZCBjbGVhcmluZyBmbGFncyBvbiBhdHRhY2ht
ZW50IHt9LicuZm9ybWF0KHBhdGNoX2lkKQogICAgICAgICByZXR1cm4gY29tbWVudAogCkluZGV4
OiBUb29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzX3VuaXR0ZXN0LnB5Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFRvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvc3RlcHNfdW5pdHRlc3QucHkJKHJldmlzaW9u
IDI3NTM3MCkKKysrIFRvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvc3RlcHNfdW5pdHRlc3QucHkJ
KHdvcmtpbmcgY29weSkKQEAgLTM0LDcgKzM0LDcgQEAgZnJvbSBidWlsZGJvdC50ZXN0LmZha2Uu
cmVtb3RlY29tbWFuZCBpbQogZnJvbSBidWlsZGJvdC50ZXN0LnV0aWwubWlzYyBpbXBvcnQgVGVz
dFJlYWN0b3JNaXhpbgogZnJvbSBidWlsZGJvdC50ZXN0LnV0aWwuc3RlcHMgaW1wb3J0IEJ1aWxk
U3RlcE1peGluCiBmcm9tIGJ1aWxkYm90LnV0aWwgaW1wb3J0IGlkZW50aWZpZXJzIGFzIGJ1aWxk
Ym90X2lkZW50aWZpZXJzCi1mcm9tIG1vY2sgaW1wb3J0IGNhbGwKK2Zyb20gbW9jayBpbXBvcnQg
Y2FsbCwgcGF0Y2gKIGZyb20gdHdpc3RlZC5pbnRlcm5ldCBpbXBvcnQgZGVmZXIsIGVycm9yLCBy
ZWFjdG9yCiBmcm9tIHR3aXN0ZWQucHl0aG9uIGltcG9ydCBmYWlsdXJlLCBsb2cKIGZyb20gdHdp
c3RlZC50cmlhbCBpbXBvcnQgdW5pdHRlc3QKQEAgLTQwODksMjMgKzQwODksNjEgQEAgY2xhc3Mg
VGVzdFB1c2hDb21taXRUb1dlYktpdFJlcG8oQnVpbGRTdAogICAgIGRlZiB0ZWFyRG93bihzZWxm
KToKICAgICAgICAgcmV0dXJuIHNlbGYudGVhckRvd25CdWlsZFN0ZXAoKQogCi0gICAgZGVmIHRl
c3Rfc3VjY2VzcyhzZWxmKToKLSAgICAgICAgc2VsZi5zZXR1cFN0ZXAoUHVzaENvbW1pdFRvV2Vi
S2l0UmVwbygpKQotICAgICAgICBzZWxmLnNldFByb3BlcnR5KCdwYXRjaF9pZCcsICcxMjM0JykK
LSAgICAgICAgc2VsZi5leHBlY3RSZW1vdGVDb21tYW5kcygKLSAgICAgICAgICAgIEV4cGVjdFNo
ZWxsKHdvcmtkaXI9J3drZGlyJywKLSAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVvdXQ9MzAw
LAotICAgICAgICAgICAgICAgICAgICAgICAgbG9nRW52aXJvbj1GYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbW1hbmQ9WydnaXQnLCAnc3ZuJywgJ2Rjb21taXQnLCAnLS1ybWRpcidd
KSArCi0gICAgICAgICAgICBFeHBlY3RTaGVsbC5sb2coJ3N0ZGlvJywgc3Rkb3V0PSdDb21taXR0
ZWQgcjI1NjcyOScpICsKLSAgICAgICAgICAgIDAsCisgICAgZGVmIG1vY2tfY29tbWl0c193ZWJr
aXRfb3JnKHNlbGYsIGlkZW50aWZpZXI9Tm9uZSk6CisgICAgICAgIGNsYXNzIFJlc3BvbnNlKG9i
amVjdCk6CisgICAgICAgICAgICBkZWYgX19pbml0X18oc2VsZiwgZGF0YT1Ob25lLCBzdGF0dXNf
Y29kZT0yMDApOgorICAgICAgICAgICAgICAgIHNlbGYuc3RhdHVzX2NvZGUgPSBzdGF0dXNfY29k
ZQorICAgICAgICAgICAgICAgIHNlbGYuaGVhZGVycyA9IHsnQ29udGVudC1UeXBlJzogJ3RleHQv
anNvbid9CisgICAgICAgICAgICAgICAgc2VsZi50ZXh0ID0ganNvbi5kdW1wcyhkYXRhIG9yIHt9
KQorCisgICAgICAgICAgICBkZWYganNvbihzZWxmKToKKyAgICAgICAgICAgICAgICByZXR1cm4g
anNvbi5sb2FkcyhzZWxmLnRleHQpCisKKyAgICAgICAgcmV0dXJuIHBhdGNoKAorICAgICAgICAg
ICAgJ3JlcXVlc3RzLmdldCcsCisgICAgICAgICAgICBsYW1iZGEgKmFyZ3MsICoqa3dhcmdzOiBS
ZXNwb25zZSgKKyAgICAgICAgICAgICAgICBkYXRhPWRpY3QoaWRlbnRpZmllcj1pZGVudGlmaWVy
KSBpZiBpZGVudGlmaWVyIGVsc2UgZGljdChzdGF0dXM9J05vdCBGb3VuZCcpLAorICAgICAgICAg
ICAgICAgIHN0YXR1c19jb2RlPTIwMCBpZiBpZGVudGlmaWVyIGVsc2UgNDA0LAorICAgICAgICAg
ICAgKQogICAgICAgICApCi0gICAgICAgIHNlbGYuZXhwZWN0T3V0Y29tZShyZXN1bHQ9U1VDQ0VT
Uywgc3RhdGVfc3RyaW5nPSdDb21taXR0ZWQgcjI1NjcyOScpCi0gICAgICAgIHdpdGggY3VycmVu
dF9ob3N0bmFtZShFV1NfQlVJTERfSE9TVE5BTUUpOgotICAgICAgICAgICAgcmMgPSBzZWxmLnJ1
blN0ZXAoKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuZ2V0UHJvcGVydHkoJ2J1Z3pp
bGxhX2NvbW1lbnRfdGV4dCcpLCAnQ29tbWl0dGVkIHIyNTY3Mjk6IDxodHRwczovL2NvbW1pdHMu
d2Via2l0Lm9yZy9yMjU2NzI5PlxuXG5BbGwgcmV2aWV3ZWQgcGF0Y2hlcyBoYXZlIGJlZW4gbGFu
ZGVkLiBDbG9zaW5nIGJ1ZyBhbmQgY2xlYXJpbmcgZmxhZ3Mgb24gYXR0YWNobWVudCAxMjM0Licp
Ci0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5nZXRQcm9wZXJ0eSgnYnVpbGRfZmluaXNo
X3N1bW1hcnknKSwgTm9uZSkKLSAgICAgICAgcmV0dXJuIHJjCisKKyAgICBkZWYgdGVzdF9zdWNj
ZXNzKHNlbGYpOgorICAgICAgICB3aXRoIHNlbGYubW9ja19jb21taXRzX3dlYmtpdF9vcmcoaWRl
bnRpZmllcj0nMjIwNzk3QG1haW4nKToKKyAgICAgICAgICAgIHNlbGYuc2V0dXBTdGVwKFB1c2hD
b21taXRUb1dlYktpdFJlcG8oKSkKKyAgICAgICAgICAgIHNlbGYuc2V0UHJvcGVydHkoJ3BhdGNo
X2lkJywgJzEyMzQnKQorICAgICAgICAgICAgc2VsZi5leHBlY3RSZW1vdGVDb21tYW5kcygKKyAg
ICAgICAgICAgICAgICBFeHBlY3RTaGVsbCh3b3JrZGlyPSd3a2RpcicsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdGltZW91dD0zMDAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
bG9nRW52aXJvbj1GYWxzZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21tYW5kPVsn
Z2l0JywgJ3N2bicsICdkY29tbWl0JywgJy0tcm1kaXInXSkgKworICAgICAgICAgICAgICAgIEV4
cGVjdFNoZWxsLmxvZygnc3RkaW8nLCBzdGRvdXQ9J0NvbW1pdHRlZCAyMjA3OTdAbWFpbicpICsK
KyAgICAgICAgICAgICAgICAwLAorICAgICAgICAgICAgKQorICAgICAgICAgICAgc2VsZi5leHBl
Y3RPdXRjb21lKHJlc3VsdD1TVUNDRVNTLCBzdGF0ZV9zdHJpbmc9J0NvbW1pdHRlZCAyMjA3OTdA
bWFpbicpCisgICAgICAgICAgICB3aXRoIGN1cnJlbnRfaG9zdG5hbWUoRVdTX0JVSUxEX0hPU1RO
QU1FKToKKyAgICAgICAgICAgICAgICByYyA9IHNlbGYucnVuU3RlcCgpCisgICAgICAgICAgICBz
ZWxmLmFzc2VydEVxdWFsKHNlbGYuZ2V0UHJvcGVydHkoJ2J1Z3ppbGxhX2NvbW1lbnRfdGV4dCcp
LCAnQ29tbWl0dGVkIHIyNTY3MjkgKDIyMDc5N0BtYWluKTogPGh0dHBzOi8vY29tbWl0cy53ZWJr
aXQub3JnLzIyMDc5N0BtYWluPlxuXG5BbGwgcmV2aWV3ZWQgcGF0Y2hlcyBoYXZlIGJlZW4gbGFu
ZGVkLiBDbG9zaW5nIGJ1ZyBhbmQgY2xlYXJpbmcgZmxhZ3Mgb24gYXR0YWNobWVudCAxMjM0Licp
CisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuZ2V0UHJvcGVydHkoJ2J1aWxkX2Zp
bmlzaF9zdW1tYXJ5JyksIE5vbmUpCisgICAgICAgICAgICByZXR1cm4gcmMKKworICAgIGRlZiB0
ZXN0X3N1Y2Nlc3Nfbm9faWRlbnRpZmllcihzZWxmKToKKyAgICAgICAgd2l0aCBzZWxmLm1vY2tf
Y29tbWl0c193ZWJraXRfb3JnKCk6CisgICAgICAgICAgICBzZWxmLnNldHVwU3RlcChQdXNoQ29t
bWl0VG9XZWJLaXRSZXBvKCkpCisgICAgICAgICAgICBzZWxmLnNldFByb3BlcnR5KCdwYXRjaF9p
ZCcsICcxMjM0JykKKyAgICAgICAgICAgIHNlbGYuZXhwZWN0UmVtb3RlQ29tbWFuZHMoCisgICAg
ICAgICAgICAgICAgRXhwZWN0U2hlbGwod29ya2Rpcj0nd2tkaXInLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHRpbWVvdXQ9MzAwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxv
Z0Vudmlyb249RmFsc2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tbWFuZD1bJ2dp
dCcsICdzdm4nLCAnZGNvbW1pdCcsICctLXJtZGlyJ10pICsKKyAgICAgICAgICAgICAgICBFeHBl
Y3RTaGVsbC5sb2coJ3N0ZGlvJywgc3Rkb3V0PSdDb21taXR0ZWQgcjI1NjcyOScpICsKKyAgICAg
ICAgICAgICAgICAwLAorICAgICAgICAgICAgKQorICAgICAgICAgICAgc2VsZi5leHBlY3RPdXRj
b21lKHJlc3VsdD1TVUNDRVNTLCBzdGF0ZV9zdHJpbmc9J0NvbW1pdHRlZCByMjU2NzI5JykKKyAg
ICAgICAgICAgIHdpdGggY3VycmVudF9ob3N0bmFtZShFV1NfQlVJTERfSE9TVE5BTUUpOgorICAg
ICAgICAgICAgICAgIHJjID0gc2VsZi5ydW5TdGVwKCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0
RXF1YWwoc2VsZi5nZXRQcm9wZXJ0eSgnYnVnemlsbGFfY29tbWVudF90ZXh0JyksICdDb21taXR0
ZWQgcjI1NjcyOSAoPyk6IDxodHRwczovL2NvbW1pdHMud2Via2l0Lm9yZy9yMjU2NzI5PlxuXG5B
bGwgcmV2aWV3ZWQgcGF0Y2hlcyBoYXZlIGJlZW4gbGFuZGVkLiBDbG9zaW5nIGJ1ZyBhbmQgY2xl
YXJpbmcgZmxhZ3Mgb24gYXR0YWNobWVudCAxMjM0LicpCisgICAgICAgICAgICBzZWxmLmFzc2Vy
dEVxdWFsKHNlbGYuZ2V0UHJvcGVydHkoJ2J1aWxkX2ZpbmlzaF9zdW1tYXJ5JyksIE5vbmUpCisg
ICAgICAgICAgICByZXR1cm4gcmMKIAogICAgIGRlZiB0ZXN0X2ZhaWx1cmVfcmV0cnkoc2VsZik6
CiAgICAgICAgIHNlbGYuc2V0dXBTdGVwKFB1c2hDb21taXRUb1dlYktpdFJlcG8oKSkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424941</attachid>
            <date>2021-04-01 12:38:45 -0700</date>
            <delta_ts>2021-04-06 16:38:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223829-20210401123844.patch</filename>
            <type>text/plain</type>
            <size>8803</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI3NTM3MCkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDIxIEBACisyMDIxLTA0LTAxICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICBbYnVpbGQud2Via2l0Lm9yZ10gQ29tbWl0IHF1ZXVlIHNob3VsZCBwb3N0
IHRoZSBpZGVudGlmaWVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMjM4MjkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc1OTA4MzIxPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ0lTdXBwb3J0L2V3
cy1idWlsZC9zdGVwcy5weToKKyAgICAgICAgKFB1c2hDb21taXRUb1dlYktpdFJlcG8udXJsX2Zv
cl9yZXZpc2lvbik6IFVzZSBDT01NSVRTX0lORk9fVVJMLgorICAgICAgICAoUHVzaENvbW1pdFRv
V2ViS2l0UmVwby51cmxfZm9yX2lkZW50aWZpZXIpOiBDb252ZXJ0IGlkZW50aWZpZXIKKyAgICAg
ICAgdG8gY29tbWl0cy53ZWJraXQub3JnIFVSTC4KKyAgICAgICAgKFB1c2hDb21taXRUb1dlYktp
dFJlcG8uaWRlbnRpZmllcl9mb3JfcmV2aXNpb24pOiBDb252ZXJ0IGEgY29tbWl0CisgICAgICAg
IHJldmlzaW9uIHRvIGFuIGlkZW50aWZpZXIgc3RyaW5nLgorICAgICAgICAoUHVzaENvbW1pdFRv
V2ViS2l0UmVwby5jb21tZW50X3RleHRfZm9yX2J1Zyk6IENvbnN1bHQgY29tbWl0cy53ZWJraXQu
b3JnCisgICAgICAgIHRvIGNvbnZlcnQgcmV2aXNpb24gdG8gaWRlbnRpZmllci4KKyAgICAgICAg
KiBDSVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzX3VuaXR0ZXN0LnB5OgorCiAyMDIxLTA0LTAxICBK
b25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNvbT4KIAogICAgICAgICBbd2Via2l0c2Nt
cHldIEltcHJvdmUgZ2l0LXN2bi1pZCByZWdleApJbmRleDogVG9vbHMvQ0lTdXBwb3J0L2V3cy1i
dWlsZC9zdGVwcy5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL3N0
ZXBzLnB5CShyZXZpc2lvbiAyNzUzNzApCisrKyBUb29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL3N0
ZXBzLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0zMjYwLDEwICszMjYwLDExIEBAIGNsYXNzIFB1c2hD
b21taXRUb1dlYktpdFJlcG8oc2hlbGwuU2hlbGwKICAgICAgICAgaWYgcmMgPT0gU1VDQ0VTUzoK
ICAgICAgICAgICAgIGxvZ190ZXh0ID0gc2VsZi5sb2dfb2JzZXJ2ZXIuZ2V0U3Rkb3V0KCkgKyBz
ZWxmLmxvZ19vYnNlcnZlci5nZXRTdGRlcnIoKQogICAgICAgICAgICAgc3ZuX3JldmlzaW9uID0g
c2VsZi5zdm5fcmV2aXNpb25fZnJvbV9jb21taXRfdGV4dChsb2dfdGV4dCkKLSAgICAgICAgICAg
IHNlbGYuc2V0UHJvcGVydHkoJ2J1Z3ppbGxhX2NvbW1lbnRfdGV4dCcsIHNlbGYuY29tbWVudF90
ZXh0X2Zvcl9idWcoc3ZuX3JldmlzaW9uKSkKLSAgICAgICAgICAgIGNvbW1pdF9zdW1tYXJ5ID0g
J0NvbW1pdHRlZCBye30nLmZvcm1hdChzdm5fcmV2aXNpb24pCisgICAgICAgICAgICBpZGVudGlm
aWVyID0gc2VsZi5pZGVudGlmaWVyX2Zvcl9yZXZpc2lvbihzdm5fcmV2aXNpb24pCisgICAgICAg
ICAgICBzZWxmLnNldFByb3BlcnR5KCdidWd6aWxsYV9jb21tZW50X3RleHQnLCBzZWxmLmNvbW1l
bnRfdGV4dF9mb3JfYnVnKHN2bl9yZXZpc2lvbiwgaWRlbnRpZmllcikpCisgICAgICAgICAgICBj
b21taXRfc3VtbWFyeSA9ICdDb21taXR0ZWQge30nLmZvcm1hdChpZGVudGlmaWVyKQogICAgICAg
ICAgICAgc2VsZi5kZXNjcmlwdGlvbkRvbmUgPSBjb21taXRfc3VtbWFyeQotICAgICAgICAgICAg
c2VsZi5zZXRQcm9wZXJ0eSgnYnVpbGRfc3VtbWFyeScsICdDb21taXR0ZWQgcnt9Jy5mb3JtYXQo
c3ZuX3JldmlzaW9uKSkKKyAgICAgICAgICAgIHNlbGYuc2V0UHJvcGVydHkoJ2J1aWxkX3N1bW1h
cnknLCAnQ29tbWl0dGVkIHt9Jy5mb3JtYXQoaWRlbnRpZmllcikpCiAgICAgICAgICAgICBzZWxm
LmJ1aWxkLmFkZFN0ZXBzQWZ0ZXJDdXJyZW50U3RlcChbQ29tbWVudE9uQnVnKCksIFJlbW92ZUZs
YWdzT25QYXRjaCgpLCBDbG9zZUJ1ZygpXSkKICAgICAgICAgICAgIHNlbGYuYWRkVVJMKCdye30n
LmZvcm1hdChzdm5fcmV2aXNpb24pLCBzZWxmLnVybF9mb3JfcmV2aXNpb24oc3ZuX3JldmlzaW9u
KSkKICAgICAgICAgZWxzZToKQEAgLTMyNzksMTUgKzMyODAsMzMgQEAgY2xhc3MgUHVzaENvbW1p
dFRvV2ViS2l0UmVwbyhzaGVsbC5TaGVsbAogICAgICAgICByZXR1cm4gcmMKIAogICAgIGRlZiB1
cmxfZm9yX3JldmlzaW9uKHNlbGYsIHJldmlzaW9uKToKLSAgICAgICAgcmV0dXJuICdodHRwczov
L2NvbW1pdHMud2Via2l0Lm9yZy9ye30nLmZvcm1hdChyZXZpc2lvbikKKyAgICAgICAgcmV0dXJu
ICd7fXJ7fScuZm9ybWF0KENPTU1JVFNfSU5GT19VUkwsIHJldmlzaW9uKQogCi0gICAgZGVmIGNv
bW1lbnRfdGV4dF9mb3JfYnVnKHNlbGYsIHN2bl9yZXZpc2lvbj1Ob25lKToKKyAgICBkZWYgdXJs
X2Zvcl9pZGVudGlmaWVyKHNlbGYsIGlkZW50aWZpZXIpOgorICAgICAgICByZXR1cm4gJ3t9e30n
LmZvcm1hdChDT01NSVRTX0lORk9fVVJMLCBpZGVudGlmaWVyKQorCisgICAgZGVmIGlkZW50aWZp
ZXJfZm9yX3JldmlzaW9uKHNlbGYsIHJldmlzaW9uKToKKyAgICAgICAgdHJ5OgorICAgICAgICAg
ICAgdXJsID0gJ3t9L2pzb24nLmZvcm1hdChzZWxmLnVybF9mb3JfcmV2aXNpb24ocmV2aXNpb24p
KQorICAgICAgICAgICAgcmVzcG9uc2UgPSByZXF1ZXN0cy5nZXQodXJsLCB0aW1lb3V0PTYwKQor
ICAgICAgICAgICAgaWYgcmVzcG9uc2UgYW5kIHJlc3BvbnNlLnN0YXR1c19jb2RlID09IDIwMDoK
KyAgICAgICAgICAgICAgICByZXR1cm4gcmVzcG9uc2UuanNvbigpLmdldCgnaWRlbnRpZmllcics
ICdye30nLmZvcm1hdChyZXZpc2lvbikpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAg
ICAgIHByaW50KCdOb24tMjAwIHN0YXR1cyBjb2RlIHJlY2VpdmVkIGZyb20ge306IHt9Jy5mb3Jt
YXQoQ09NTUlUU19JTkZPX1VSTCwgcmVzcG9uc2Uuc3RhdHVzX2NvZGUpKQorICAgICAgICAgICAg
ICAgIHByaW50KHJlc3BvbnNlLnRleHQpCisgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToK
KyAgICAgICAgICAgIHByaW50KGUpCisgICAgICAgIHJldHVybiAncnt9Jy5mb3JtYXQocmV2aXNp
b24pCisKKyAgICBkZWYgY29tbWVudF90ZXh0X2Zvcl9idWcoc2VsZiwgc3ZuX3JldmlzaW9uPU5v
bmUsIGlkZW50aWZpZXI9Tm9uZSk6CiAgICAgICAgIHBhdGNoX2lkID0gc2VsZi5nZXRQcm9wZXJ0
eSgncGF0Y2hfaWQnLCAnJykKICAgICAgICAgaWYgbm90IHN2bl9yZXZpc2lvbjoKICAgICAgICAg
ICAgIGNvbW1lbnQgPSAnY29tbWl0LXF1ZXVlIGZhaWxlZCB0byBjb21taXQgYXR0YWNobWVudCB7
fSB0byBXZWJLaXQgcmVwb3NpdG9yeS4nLmZvcm1hdChwYXRjaF9pZCkKICAgICAgICAgICAgIGNv
bW1lbnQgKz0gJyBUbyByZXRyeSwgcGxlYXNlIHNldCBjcSsgZmxhZyBhZ2Fpbi4nCiAgICAgICAg
ICAgICByZXR1cm4gY29tbWVudAotICAgICAgICBjb21tZW50ID0gJ0NvbW1pdHRlZCBye306IDx7
fT4nLmZvcm1hdChzdm5fcmV2aXNpb24sIHNlbGYudXJsX2Zvcl9yZXZpc2lvbihzdm5fcmV2aXNp
b24pKQorCisgICAgICAgIHN0cl9pZl9pZGVudGlmaWVyID0gaWRlbnRpZmllciBpZiBpZGVudGlm
aWVyIGFuZCAnQCcgaW4gaWRlbnRpZmllciBlbHNlICc/JworICAgICAgICBjb21tZW50ID0gJ0Nv
bW1pdHRlZCBye30gKHt9KTogPHt9PicuZm9ybWF0KHN2bl9yZXZpc2lvbiwgc3RyX2lmX2lkZW50
aWZpZXIsIHNlbGYudXJsX2Zvcl9pZGVudGlmaWVyKGlkZW50aWZpZXIpKQogICAgICAgICBjb21t
ZW50ICs9ICdcblxuQWxsIHJldmlld2VkIHBhdGNoZXMgaGF2ZSBiZWVuIGxhbmRlZC4gQ2xvc2lu
ZyBidWcgYW5kIGNsZWFyaW5nIGZsYWdzIG9uIGF0dGFjaG1lbnQge30uJy5mb3JtYXQocGF0Y2hf
aWQpCiAgICAgICAgIHJldHVybiBjb21tZW50CiAKSW5kZXg6IFRvb2xzL0NJU3VwcG9ydC9ld3Mt
YnVpbGQvc3RlcHNfdW5pdHRlc3QucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvQ0lTdXBwb3J0L2V3
cy1idWlsZC9zdGVwc191bml0dGVzdC5weQkocmV2aXNpb24gMjc1MzcwKQorKysgVG9vbHMvQ0lT
dXBwb3J0L2V3cy1idWlsZC9zdGVwc191bml0dGVzdC5weQkod29ya2luZyBjb3B5KQpAQCAtMzQs
NyArMzQsNyBAQCBmcm9tIGJ1aWxkYm90LnRlc3QuZmFrZS5yZW1vdGVjb21tYW5kIGltCiBmcm9t
IGJ1aWxkYm90LnRlc3QudXRpbC5taXNjIGltcG9ydCBUZXN0UmVhY3Rvck1peGluCiBmcm9tIGJ1
aWxkYm90LnRlc3QudXRpbC5zdGVwcyBpbXBvcnQgQnVpbGRTdGVwTWl4aW4KIGZyb20gYnVpbGRi
b3QudXRpbCBpbXBvcnQgaWRlbnRpZmllcnMgYXMgYnVpbGRib3RfaWRlbnRpZmllcnMKLWZyb20g
bW9jayBpbXBvcnQgY2FsbAorZnJvbSBtb2NrIGltcG9ydCBjYWxsLCBwYXRjaAogZnJvbSB0d2lz
dGVkLmludGVybmV0IGltcG9ydCBkZWZlciwgZXJyb3IsIHJlYWN0b3IKIGZyb20gdHdpc3RlZC5w
eXRob24gaW1wb3J0IGZhaWx1cmUsIGxvZwogZnJvbSB0d2lzdGVkLnRyaWFsIGltcG9ydCB1bml0
dGVzdApAQCAtNDA4OSwyMyArNDA4OSw2MSBAQCBjbGFzcyBUZXN0UHVzaENvbW1pdFRvV2ViS2l0
UmVwbyhCdWlsZFN0CiAgICAgZGVmIHRlYXJEb3duKHNlbGYpOgogICAgICAgICByZXR1cm4gc2Vs
Zi50ZWFyRG93bkJ1aWxkU3RlcCgpCiAKLSAgICBkZWYgdGVzdF9zdWNjZXNzKHNlbGYpOgotICAg
ICAgICBzZWxmLnNldHVwU3RlcChQdXNoQ29tbWl0VG9XZWJLaXRSZXBvKCkpCi0gICAgICAgIHNl
bGYuc2V0UHJvcGVydHkoJ3BhdGNoX2lkJywgJzEyMzQnKQotICAgICAgICBzZWxmLmV4cGVjdFJl
bW90ZUNvbW1hbmRzKAotICAgICAgICAgICAgRXhwZWN0U2hlbGwod29ya2Rpcj0nd2tkaXInLAot
ICAgICAgICAgICAgICAgICAgICAgICAgdGltZW91dD0zMDAsCi0gICAgICAgICAgICAgICAgICAg
ICAgICBsb2dFbnZpcm9uPUZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgY29tbWFuZD1b
J2dpdCcsICdzdm4nLCAnZGNvbW1pdCcsICctLXJtZGlyJ10pICsKLSAgICAgICAgICAgIEV4cGVj
dFNoZWxsLmxvZygnc3RkaW8nLCBzdGRvdXQ9J0NvbW1pdHRlZCByMjU2NzI5JykgKwotICAgICAg
ICAgICAgMCwKKyAgICBkZWYgbW9ja19jb21taXRzX3dlYmtpdF9vcmcoc2VsZiwgaWRlbnRpZmll
cj1Ob25lKToKKyAgICAgICAgY2xhc3MgUmVzcG9uc2Uob2JqZWN0KToKKyAgICAgICAgICAgIGRl
ZiBfX2luaXRfXyhzZWxmLCBkYXRhPU5vbmUsIHN0YXR1c19jb2RlPTIwMCk6CisgICAgICAgICAg
ICAgICAgc2VsZi5zdGF0dXNfY29kZSA9IHN0YXR1c19jb2RlCisgICAgICAgICAgICAgICAgc2Vs
Zi5oZWFkZXJzID0geydDb250ZW50LVR5cGUnOiAndGV4dC9qc29uJ30KKyAgICAgICAgICAgICAg
ICBzZWxmLnRleHQgPSBqc29uLmR1bXBzKGRhdGEgb3Ige30pCisKKyAgICAgICAgICAgIGRlZiBq
c29uKHNlbGYpOgorICAgICAgICAgICAgICAgIHJldHVybiBqc29uLmxvYWRzKHNlbGYudGV4dCkK
KworICAgICAgICByZXR1cm4gcGF0Y2goCisgICAgICAgICAgICAncmVxdWVzdHMuZ2V0JywKKyAg
ICAgICAgICAgIGxhbWJkYSAqYXJncywgKiprd2FyZ3M6IFJlc3BvbnNlKAorICAgICAgICAgICAg
ICAgIGRhdGE9ZGljdChpZGVudGlmaWVyPWlkZW50aWZpZXIpIGlmIGlkZW50aWZpZXIgZWxzZSBk
aWN0KHN0YXR1cz0nTm90IEZvdW5kJyksCisgICAgICAgICAgICAgICAgc3RhdHVzX2NvZGU9MjAw
IGlmIGlkZW50aWZpZXIgZWxzZSA0MDQsCisgICAgICAgICAgICApCiAgICAgICAgICkKLSAgICAg
ICAgc2VsZi5leHBlY3RPdXRjb21lKHJlc3VsdD1TVUNDRVNTLCBzdGF0ZV9zdHJpbmc9J0NvbW1p
dHRlZCByMjU2NzI5JykKLSAgICAgICAgd2l0aCBjdXJyZW50X2hvc3RuYW1lKEVXU19CVUlMRF9I
T1NUTkFNRSk6Ci0gICAgICAgICAgICByYyA9IHNlbGYucnVuU3RlcCgpCi0gICAgICAgIHNlbGYu
YXNzZXJ0RXF1YWwoc2VsZi5nZXRQcm9wZXJ0eSgnYnVnemlsbGFfY29tbWVudF90ZXh0JyksICdD
b21taXR0ZWQgcjI1NjcyOTogPGh0dHBzOi8vY29tbWl0cy53ZWJraXQub3JnL3IyNTY3Mjk+XG5c
bkFsbCByZXZpZXdlZCBwYXRjaGVzIGhhdmUgYmVlbiBsYW5kZWQuIENsb3NpbmcgYnVnIGFuZCBj
bGVhcmluZyBmbGFncyBvbiBhdHRhY2htZW50IDEyMzQuJykKLSAgICAgICAgc2VsZi5hc3NlcnRF
cXVhbChzZWxmLmdldFByb3BlcnR5KCdidWlsZF9maW5pc2hfc3VtbWFyeScpLCBOb25lKQotICAg
ICAgICByZXR1cm4gcmMKKworICAgIGRlZiB0ZXN0X3N1Y2Nlc3Moc2VsZik6CisgICAgICAgIHdp
dGggc2VsZi5tb2NrX2NvbW1pdHNfd2Via2l0X29yZyhpZGVudGlmaWVyPScyMjA3OTdAbWFpbicp
OgorICAgICAgICAgICAgc2VsZi5zZXR1cFN0ZXAoUHVzaENvbW1pdFRvV2ViS2l0UmVwbygpKQor
ICAgICAgICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgncGF0Y2hfaWQnLCAnMTIzNCcpCisgICAgICAg
ICAgICBzZWxmLmV4cGVjdFJlbW90ZUNvbW1hbmRzKAorICAgICAgICAgICAgICAgIEV4cGVjdFNo
ZWxsKHdvcmtkaXI9J3drZGlyJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aW1lb3V0
PTMwMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2dFbnZpcm9uPUZhbHNlLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbW1hbmQ9WydnaXQnLCAnc3ZuJywgJ2Rjb21taXQn
LCAnLS1ybWRpciddKSArCisgICAgICAgICAgICAgICAgRXhwZWN0U2hlbGwubG9nKCdzdGRpbycs
IHN0ZG91dD0nQ29tbWl0dGVkIHIyNTY3MjknKSArCisgICAgICAgICAgICAgICAgMCwKKyAgICAg
ICAgICAgICkKKyAgICAgICAgICAgIHNlbGYuZXhwZWN0T3V0Y29tZShyZXN1bHQ9U1VDQ0VTUywg
c3RhdGVfc3RyaW5nPSdDb21taXR0ZWQgMjIwNzk3QG1haW4nKQorICAgICAgICAgICAgd2l0aCBj
dXJyZW50X2hvc3RuYW1lKEVXU19CVUlMRF9IT1NUTkFNRSk6CisgICAgICAgICAgICAgICAgcmMg
PSBzZWxmLnJ1blN0ZXAoKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmdldFBy
b3BlcnR5KCdidWd6aWxsYV9jb21tZW50X3RleHQnKSwgJ0NvbW1pdHRlZCByMjU2NzI5ICgyMjA3
OTdAbWFpbik6IDxodHRwczovL2NvbW1pdHMud2Via2l0Lm9yZy8yMjA3OTdAbWFpbj5cblxuQWxs
IHJldmlld2VkIHBhdGNoZXMgaGF2ZSBiZWVuIGxhbmRlZC4gQ2xvc2luZyBidWcgYW5kIGNsZWFy
aW5nIGZsYWdzIG9uIGF0dGFjaG1lbnQgMTIzNC4nKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRF
cXVhbChzZWxmLmdldFByb3BlcnR5KCdidWlsZF9maW5pc2hfc3VtbWFyeScpLCBOb25lKQorICAg
ICAgICAgICAgcmV0dXJuIHJjCisKKyAgICBkZWYgdGVzdF9zdWNjZXNzX25vX2lkZW50aWZpZXIo
c2VsZik6CisgICAgICAgIHdpdGggc2VsZi5tb2NrX2NvbW1pdHNfd2Via2l0X29yZygpOgorICAg
ICAgICAgICAgc2VsZi5zZXR1cFN0ZXAoUHVzaENvbW1pdFRvV2ViS2l0UmVwbygpKQorICAgICAg
ICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgncGF0Y2hfaWQnLCAnMTIzNCcpCisgICAgICAgICAgICBz
ZWxmLmV4cGVjdFJlbW90ZUNvbW1hbmRzKAorICAgICAgICAgICAgICAgIEV4cGVjdFNoZWxsKHdv
cmtkaXI9J3drZGlyJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aW1lb3V0PTMwMCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2dFbnZpcm9uPUZhbHNlLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbW1hbmQ9WydnaXQnLCAnc3ZuJywgJ2Rjb21taXQnLCAnLS1y
bWRpciddKSArCisgICAgICAgICAgICAgICAgRXhwZWN0U2hlbGwubG9nKCdzdGRpbycsIHN0ZG91
dD0nQ29tbWl0dGVkIHIyNTY3MjknKSArCisgICAgICAgICAgICAgICAgMCwKKyAgICAgICAgICAg
ICkKKyAgICAgICAgICAgIHNlbGYuZXhwZWN0T3V0Y29tZShyZXN1bHQ9U1VDQ0VTUywgc3RhdGVf
c3RyaW5nPSdDb21taXR0ZWQgcjI1NjcyOScpCisgICAgICAgICAgICB3aXRoIGN1cnJlbnRfaG9z
dG5hbWUoRVdTX0JVSUxEX0hPU1ROQU1FKToKKyAgICAgICAgICAgICAgICByYyA9IHNlbGYucnVu
U3RlcCgpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuZ2V0UHJvcGVydHkoJ2J1
Z3ppbGxhX2NvbW1lbnRfdGV4dCcpLCAnQ29tbWl0dGVkIHIyNTY3MjkgKD8pOiA8aHR0cHM6Ly9j
b21taXRzLndlYmtpdC5vcmcvcjI1NjcyOT5cblxuQWxsIHJldmlld2VkIHBhdGNoZXMgaGF2ZSBi
ZWVuIGxhbmRlZC4gQ2xvc2luZyBidWcgYW5kIGNsZWFyaW5nIGZsYWdzIG9uIGF0dGFjaG1lbnQg
MTIzNC4nKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmdldFByb3BlcnR5KCdi
dWlsZF9maW5pc2hfc3VtbWFyeScpLCBOb25lKQorICAgICAgICAgICAgcmV0dXJuIHJjCiAKICAg
ICBkZWYgdGVzdF9mYWlsdXJlX3JldHJ5KHNlbGYpOgogICAgICAgICBzZWxmLnNldHVwU3RlcChQ
dXNoQ29tbWl0VG9XZWJLaXRSZXBvKCkpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>425335</attachid>
            <date>2021-04-06 16:38:35 -0700</date>
            <delta_ts>2021-04-07 10:58:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223829-20210406163834.patch</filename>
            <type>text/plain</type>
            <size>9318</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI3NTU2OCkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDIxIEBACisyMDIxLTA0LTA2ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICBbYnVpbGQud2Via2l0Lm9yZ10gQ29tbWl0IHF1ZXVlIHNob3VsZCBwb3N0
IHRoZSBpZGVudGlmaWVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMjM4MjkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc1OTA4MzIxPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ0lTdXBwb3J0L2V3
cy1idWlsZC9zdGVwcy5weToKKyAgICAgICAgKFB1c2hDb21taXRUb1dlYktpdFJlcG8udXJsX2Zv
cl9yZXZpc2lvbik6IFVzZSBDT01NSVRTX0lORk9fVVJMLgorICAgICAgICAoUHVzaENvbW1pdFRv
V2ViS2l0UmVwby51cmxfZm9yX2lkZW50aWZpZXIpOiBDb252ZXJ0IGlkZW50aWZpZXIKKyAgICAg
ICAgdG8gY29tbWl0cy53ZWJraXQub3JnIFVSTC4KKyAgICAgICAgKFB1c2hDb21taXRUb1dlYktp
dFJlcG8uaWRlbnRpZmllcl9mb3JfcmV2aXNpb24pOiBDb252ZXJ0IGEgY29tbWl0CisgICAgICAg
IHJldmlzaW9uIHRvIGFuIGlkZW50aWZpZXIgc3RyaW5nLgorICAgICAgICAoUHVzaENvbW1pdFRv
V2ViS2l0UmVwby5jb21tZW50X3RleHRfZm9yX2J1Zyk6IENvbnN1bHQgY29tbWl0cy53ZWJraXQu
b3JnCisgICAgICAgIHRvIGNvbnZlcnQgcmV2aXNpb24gdG8gaWRlbnRpZmllci4KKyAgICAgICAg
KiBDSVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzX3VuaXR0ZXN0LnB5OgorCiAyMDIxLTA0LTA2ICBB
bGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQWRk
IFUrMDU4MSBhbmQgVSswNTg1IHRvIGxpc3Qgb2YgQXJtZW5pYW4gY2hhcmFjdGVycyB0aGF0IGxv
b2sgbGlrZSBMYXRpbiBjaGFyYWN0ZXJzCkluZGV4OiBUb29scy9DSVN1cHBvcnQvZXdzLWJ1aWxk
L3N0ZXBzLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvc3RlcHMu
cHkJKHJldmlzaW9uIDI3NTU2OCkKKysrIFRvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvc3RlcHMu
cHkJKHdvcmtpbmcgY29weSkKQEAgLTMyNjAsMTIgKzMyNjAsMTMgQEAgY2xhc3MgUHVzaENvbW1p
dFRvV2ViS2l0UmVwbyhzaGVsbC5TaGVsbAogICAgICAgICBpZiByYyA9PSBTVUNDRVNTOgogICAg
ICAgICAgICAgbG9nX3RleHQgPSBzZWxmLmxvZ19vYnNlcnZlci5nZXRTdGRvdXQoKSArIHNlbGYu
bG9nX29ic2VydmVyLmdldFN0ZGVycigpCiAgICAgICAgICAgICBzdm5fcmV2aXNpb24gPSBzZWxm
LnN2bl9yZXZpc2lvbl9mcm9tX2NvbW1pdF90ZXh0KGxvZ190ZXh0KQotICAgICAgICAgICAgc2Vs
Zi5zZXRQcm9wZXJ0eSgnYnVnemlsbGFfY29tbWVudF90ZXh0Jywgc2VsZi5jb21tZW50X3RleHRf
Zm9yX2J1Zyhzdm5fcmV2aXNpb24pKQotICAgICAgICAgICAgY29tbWl0X3N1bW1hcnkgPSAnQ29t
bWl0dGVkIHJ7fScuZm9ybWF0KHN2bl9yZXZpc2lvbikKKyAgICAgICAgICAgIGlkZW50aWZpZXIg
PSBzZWxmLmlkZW50aWZpZXJfZm9yX3JldmlzaW9uKHN2bl9yZXZpc2lvbikKKyAgICAgICAgICAg
IHNlbGYuc2V0UHJvcGVydHkoJ2J1Z3ppbGxhX2NvbW1lbnRfdGV4dCcsIHNlbGYuY29tbWVudF90
ZXh0X2Zvcl9idWcoc3ZuX3JldmlzaW9uLCBpZGVudGlmaWVyKSkKKyAgICAgICAgICAgIGNvbW1p
dF9zdW1tYXJ5ID0gJ0NvbW1pdHRlZCB7fScuZm9ybWF0KGlkZW50aWZpZXIpCiAgICAgICAgICAg
ICBzZWxmLmRlc2NyaXB0aW9uRG9uZSA9IGNvbW1pdF9zdW1tYXJ5Ci0gICAgICAgICAgICBzZWxm
LnNldFByb3BlcnR5KCdidWlsZF9zdW1tYXJ5JywgJ0NvbW1pdHRlZCBye30nLmZvcm1hdChzdm5f
cmV2aXNpb24pKQorICAgICAgICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgnYnVpbGRfc3VtbWFyeScs
IGNvbW1pdF9zdW1tYXJ5KQogICAgICAgICAgICAgc2VsZi5idWlsZC5hZGRTdGVwc0FmdGVyQ3Vy
cmVudFN0ZXAoW0NvbW1lbnRPbkJ1ZygpLCBSZW1vdmVGbGFnc09uUGF0Y2goKSwgQ2xvc2VCdWco
KV0pCi0gICAgICAgICAgICBzZWxmLmFkZFVSTCgncnt9Jy5mb3JtYXQoc3ZuX3JldmlzaW9uKSwg
c2VsZi51cmxfZm9yX3JldmlzaW9uKHN2bl9yZXZpc2lvbikpCisgICAgICAgICAgICBzZWxmLmFk
ZFVSTChpZGVudGlmaWVyLCBzZWxmLnVybF9mb3JfaWRlbnRpZmllcihpZGVudGlmaWVyKSkKICAg
ICAgICAgZWxzZToKICAgICAgICAgICAgIHJldHJ5X2NvdW50ID0gaW50KHNlbGYuZ2V0UHJvcGVy
dHkoJ3JldHJ5X2NvdW50JywgMCkpCiAgICAgICAgICAgICBpZiByZXRyeV9jb3VudCA8IHNlbGYu
TUFYX1JFVFJZOgpAQCAtMzI3OCwxNiArMzI3OSwzMyBAQCBjbGFzcyBQdXNoQ29tbWl0VG9XZWJL
aXRSZXBvKHNoZWxsLlNoZWxsCiAgICAgICAgICAgICBzZWxmLmJ1aWxkLmFkZFN0ZXBzQWZ0ZXJD
dXJyZW50U3RlcChbQ29tbWVudE9uQnVnKCksIFNldENvbW1pdFF1ZXVlTWludXNGbGFnT25QYXRj
aCgpXSkKICAgICAgICAgcmV0dXJuIHJjCiAKLSAgICBkZWYgdXJsX2Zvcl9yZXZpc2lvbihzZWxm
LCByZXZpc2lvbik6Ci0gICAgICAgIHJldHVybiAnaHR0cHM6Ly9jb21taXRzLndlYmtpdC5vcmcv
cnt9Jy5mb3JtYXQocmV2aXNpb24pCisgICAgZGVmIHVybF9mb3JfcmV2aXNpb25fZGV0YWlscyhz
ZWxmLCByZXZpc2lvbik6CisgICAgICAgIHJldHVybiAne31ye30vanNvbicuZm9ybWF0KENPTU1J
VFNfSU5GT19VUkwsIHJldmlzaW9uKQogCi0gICAgZGVmIGNvbW1lbnRfdGV4dF9mb3JfYnVnKHNl
bGYsIHN2bl9yZXZpc2lvbj1Ob25lKToKKyAgICBkZWYgdXJsX2Zvcl9pZGVudGlmaWVyKHNlbGYs
IGlkZW50aWZpZXIpOgorICAgICAgICByZXR1cm4gJ3t9e30nLmZvcm1hdChDT01NSVRTX0lORk9f
VVJMLCBpZGVudGlmaWVyKQorCisgICAgZGVmIGlkZW50aWZpZXJfZm9yX3JldmlzaW9uKHNlbGYs
IHJldmlzaW9uKToKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgcmVzcG9uc2UgPSByZXF1ZXN0
cy5nZXQoc2VsZi51cmxfZm9yX3JldmlzaW9uX2RldGFpbHMocmV2aXNpb24pLCB0aW1lb3V0PTYw
KQorICAgICAgICAgICAgaWYgcmVzcG9uc2UgYW5kIHJlc3BvbnNlLnN0YXR1c19jb2RlID09IDIw
MDoKKyAgICAgICAgICAgICAgICByZXR1cm4gcmVzcG9uc2UuanNvbigpLmdldCgnaWRlbnRpZmll
cicsICdye30nLmZvcm1hdChyZXZpc2lvbikpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAg
ICAgICAgIHByaW50KCdOb24tMjAwIHN0YXR1cyBjb2RlIHJlY2VpdmVkIGZyb20ge306IHt9Jy5m
b3JtYXQoQ09NTUlUU19JTkZPX1VSTCwgcmVzcG9uc2Uuc3RhdHVzX2NvZGUpKQorICAgICAgICAg
ICAgICAgIHByaW50KHJlc3BvbnNlLnRleHQpCisgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMg
ZToKKyAgICAgICAgICAgIHByaW50KGUpCisgICAgICAgIHJldHVybiAncnt9Jy5mb3JtYXQocmV2
aXNpb24pCisKKyAgICBkZWYgY29tbWVudF90ZXh0X2Zvcl9idWcoc2VsZiwgc3ZuX3JldmlzaW9u
PU5vbmUsIGlkZW50aWZpZXI9Tm9uZSk6CiAgICAgICAgIHBhdGNoX2lkID0gc2VsZi5nZXRQcm9w
ZXJ0eSgncGF0Y2hfaWQnLCAnJykKICAgICAgICAgaWYgbm90IHN2bl9yZXZpc2lvbjoKICAgICAg
ICAgICAgIGNvbW1lbnQgPSAnY29tbWl0LXF1ZXVlIGZhaWxlZCB0byBjb21taXQgYXR0YWNobWVu
dCB7fSB0byBXZWJLaXQgcmVwb3NpdG9yeS4nLmZvcm1hdChwYXRjaF9pZCkKICAgICAgICAgICAg
IGNvbW1lbnQgKz0gJyBUbyByZXRyeSwgcGxlYXNlIHNldCBjcSsgZmxhZyBhZ2Fpbi4nCiAgICAg
ICAgICAgICByZXR1cm4gY29tbWVudAotICAgICAgICBjb21tZW50ID0gJ0NvbW1pdHRlZCBye306
IDx7fT4nLmZvcm1hdChzdm5fcmV2aXNpb24sIHNlbGYudXJsX2Zvcl9yZXZpc2lvbihzdm5fcmV2
aXNpb24pKQorCisgICAgICAgIGlkZW50aWZpZXJfc3RyID0gaWRlbnRpZmllciBpZiBpZGVudGlm
aWVyIGFuZCAnQCcgaW4gaWRlbnRpZmllciBlbHNlICc/JworICAgICAgICBjb21tZW50ID0gJ0Nv
bW1pdHRlZCBye30gKHt9KTogPHt9PicuZm9ybWF0KHN2bl9yZXZpc2lvbiwgaWRlbnRpZmllcl9z
dHIsIHNlbGYudXJsX2Zvcl9pZGVudGlmaWVyKGlkZW50aWZpZXIpKQogICAgICAgICBjb21tZW50
ICs9ICdcblxuQWxsIHJldmlld2VkIHBhdGNoZXMgaGF2ZSBiZWVuIGxhbmRlZC4gQ2xvc2luZyBi
dWcgYW5kIGNsZWFyaW5nIGZsYWdzIG9uIGF0dGFjaG1lbnQge30uJy5mb3JtYXQocGF0Y2hfaWQp
CiAgICAgICAgIHJldHVybiBjb21tZW50CiAKSW5kZXg6IFRvb2xzL0NJU3VwcG9ydC9ld3MtYnVp
bGQvc3RlcHNfdW5pdHRlc3QucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvQ0lTdXBwb3J0L2V3cy1i
dWlsZC9zdGVwc191bml0dGVzdC5weQkocmV2aXNpb24gMjc1NTY4KQorKysgVG9vbHMvQ0lTdXBw
b3J0L2V3cy1idWlsZC9zdGVwc191bml0dGVzdC5weQkod29ya2luZyBjb3B5KQpAQCAtMzQsNyAr
MzQsNyBAQCBmcm9tIGJ1aWxkYm90LnRlc3QuZmFrZS5yZW1vdGVjb21tYW5kIGltCiBmcm9tIGJ1
aWxkYm90LnRlc3QudXRpbC5taXNjIGltcG9ydCBUZXN0UmVhY3Rvck1peGluCiBmcm9tIGJ1aWxk
Ym90LnRlc3QudXRpbC5zdGVwcyBpbXBvcnQgQnVpbGRTdGVwTWl4aW4KIGZyb20gYnVpbGRib3Qu
dXRpbCBpbXBvcnQgaWRlbnRpZmllcnMgYXMgYnVpbGRib3RfaWRlbnRpZmllcnMKLWZyb20gbW9j
ayBpbXBvcnQgY2FsbAorZnJvbSBtb2NrIGltcG9ydCBjYWxsLCBwYXRjaAogZnJvbSB0d2lzdGVk
LmludGVybmV0IGltcG9ydCBkZWZlciwgZXJyb3IsIHJlYWN0b3IKIGZyb20gdHdpc3RlZC5weXRo
b24gaW1wb3J0IGZhaWx1cmUsIGxvZwogZnJvbSB0d2lzdGVkLnRyaWFsIGltcG9ydCB1bml0dGVz
dApAQCAtNDA4OSwyMyArNDA4OSw2MyBAQCBjbGFzcyBUZXN0UHVzaENvbW1pdFRvV2ViS2l0UmVw
byhCdWlsZFN0CiAgICAgZGVmIHRlYXJEb3duKHNlbGYpOgogICAgICAgICByZXR1cm4gc2VsZi50
ZWFyRG93bkJ1aWxkU3RlcCgpCiAKLSAgICBkZWYgdGVzdF9zdWNjZXNzKHNlbGYpOgotICAgICAg
ICBzZWxmLnNldHVwU3RlcChQdXNoQ29tbWl0VG9XZWJLaXRSZXBvKCkpCi0gICAgICAgIHNlbGYu
c2V0UHJvcGVydHkoJ3BhdGNoX2lkJywgJzEyMzQnKQotICAgICAgICBzZWxmLmV4cGVjdFJlbW90
ZUNvbW1hbmRzKAotICAgICAgICAgICAgRXhwZWN0U2hlbGwod29ya2Rpcj0nd2tkaXInLAotICAg
ICAgICAgICAgICAgICAgICAgICAgdGltZW91dD0zMDAsCi0gICAgICAgICAgICAgICAgICAgICAg
ICBsb2dFbnZpcm9uPUZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgY29tbWFuZD1bJ2dp
dCcsICdzdm4nLCAnZGNvbW1pdCcsICctLXJtZGlyJ10pICsKLSAgICAgICAgICAgIEV4cGVjdFNo
ZWxsLmxvZygnc3RkaW8nLCBzdGRvdXQ9J0NvbW1pdHRlZCByMjU2NzI5JykgKwotICAgICAgICAg
ICAgMCwKKyAgICBkZWYgbW9ja19jb21taXRzX3dlYmtpdF9vcmcoc2VsZiwgaWRlbnRpZmllcj1O
b25lKToKKyAgICAgICAgY2xhc3MgUmVzcG9uc2Uob2JqZWN0KToKKyAgICAgICAgICAgIGRlZiBf
X2luaXRfXyhzZWxmLCBkYXRhPU5vbmUsIHN0YXR1c19jb2RlPTIwMCk6CisgICAgICAgICAgICAg
ICAgc2VsZi5zdGF0dXNfY29kZSA9IHN0YXR1c19jb2RlCisgICAgICAgICAgICAgICAgc2VsZi5o
ZWFkZXJzID0geydDb250ZW50LVR5cGUnOiAndGV4dC9qc29uJ30KKyAgICAgICAgICAgICAgICBz
ZWxmLnRleHQgPSBqc29uLmR1bXBzKGRhdGEgb3Ige30pCisKKyAgICAgICAgICAgIGRlZiBqc29u
KHNlbGYpOgorICAgICAgICAgICAgICAgIHJldHVybiBqc29uLmxvYWRzKHNlbGYudGV4dCkKKwor
ICAgICAgICByZXR1cm4gcGF0Y2goCisgICAgICAgICAgICAncmVxdWVzdHMuZ2V0JywKKyAgICAg
ICAgICAgIGxhbWJkYSAqYXJncywgKiprd2FyZ3M6IFJlc3BvbnNlKAorICAgICAgICAgICAgICAg
IGRhdGE9ZGljdChpZGVudGlmaWVyPWlkZW50aWZpZXIpIGlmIGlkZW50aWZpZXIgZWxzZSBkaWN0
KHN0YXR1cz0nTm90IEZvdW5kJyksCisgICAgICAgICAgICAgICAgc3RhdHVzX2NvZGU9MjAwIGlm
IGlkZW50aWZpZXIgZWxzZSA0MDQsCisgICAgICAgICAgICApCiAgICAgICAgICkKLSAgICAgICAg
c2VsZi5leHBlY3RPdXRjb21lKHJlc3VsdD1TVUNDRVNTLCBzdGF0ZV9zdHJpbmc9J0NvbW1pdHRl
ZCByMjU2NzI5JykKLSAgICAgICAgd2l0aCBjdXJyZW50X2hvc3RuYW1lKEVXU19CVUlMRF9IT1NU
TkFNRSk6Ci0gICAgICAgICAgICByYyA9IHNlbGYucnVuU3RlcCgpCi0gICAgICAgIHNlbGYuYXNz
ZXJ0RXF1YWwoc2VsZi5nZXRQcm9wZXJ0eSgnYnVnemlsbGFfY29tbWVudF90ZXh0JyksICdDb21t
aXR0ZWQgcjI1NjcyOTogPGh0dHBzOi8vY29tbWl0cy53ZWJraXQub3JnL3IyNTY3Mjk+XG5cbkFs
bCByZXZpZXdlZCBwYXRjaGVzIGhhdmUgYmVlbiBsYW5kZWQuIENsb3NpbmcgYnVnIGFuZCBjbGVh
cmluZyBmbGFncyBvbiBhdHRhY2htZW50IDEyMzQuJykKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVh
bChzZWxmLmdldFByb3BlcnR5KCdidWlsZF9maW5pc2hfc3VtbWFyeScpLCBOb25lKQotICAgICAg
ICByZXR1cm4gcmMKKworICAgIGRlZiB0ZXN0X3N1Y2Nlc3Moc2VsZik6CisgICAgICAgIHdpdGgg
c2VsZi5tb2NrX2NvbW1pdHNfd2Via2l0X29yZyhpZGVudGlmaWVyPScyMjA3OTdAbWFpbicpOgor
ICAgICAgICAgICAgc2VsZi5zZXR1cFN0ZXAoUHVzaENvbW1pdFRvV2ViS2l0UmVwbygpKQorICAg
ICAgICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgncGF0Y2hfaWQnLCAnMTIzNCcpCisgICAgICAgICAg
ICBzZWxmLmV4cGVjdFJlbW90ZUNvbW1hbmRzKAorICAgICAgICAgICAgICAgIEV4cGVjdFNoZWxs
KHdvcmtkaXI9J3drZGlyJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aW1lb3V0PTMw
MCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2dFbnZpcm9uPUZhbHNlLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbW1hbmQ9WydnaXQnLCAnc3ZuJywgJ2Rjb21taXQnLCAn
LS1ybWRpciddKSArCisgICAgICAgICAgICAgICAgRXhwZWN0U2hlbGwubG9nKCdzdGRpbycsIHN0
ZG91dD0nQ29tbWl0dGVkIHIyNTY3MjknKSArCisgICAgICAgICAgICAgICAgMCwKKyAgICAgICAg
ICAgICkKKyAgICAgICAgICAgIHNlbGYuZXhwZWN0T3V0Y29tZShyZXN1bHQ9U1VDQ0VTUywgc3Rh
dGVfc3RyaW5nPSdDb21taXR0ZWQgMjIwNzk3QG1haW4nKQorICAgICAgICAgICAgd2l0aCBjdXJy
ZW50X2hvc3RuYW1lKEVXU19CVUlMRF9IT1NUTkFNRSk6CisgICAgICAgICAgICAgICAgcmMgPSBz
ZWxmLnJ1blN0ZXAoKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmdldFByb3Bl
cnR5KCdidWd6aWxsYV9jb21tZW50X3RleHQnKSwgJ0NvbW1pdHRlZCByMjU2NzI5ICgyMjA3OTdA
bWFpbik6IDxodHRwczovL2NvbW1pdHMud2Via2l0Lm9yZy8yMjA3OTdAbWFpbj5cblxuQWxsIHJl
dmlld2VkIHBhdGNoZXMgaGF2ZSBiZWVuIGxhbmRlZC4gQ2xvc2luZyBidWcgYW5kIGNsZWFyaW5n
IGZsYWdzIG9uIGF0dGFjaG1lbnQgMTIzNC4nKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVh
bChzZWxmLmdldFByb3BlcnR5KCdidWlsZF9maW5pc2hfc3VtbWFyeScpLCBOb25lKQorICAgICAg
ICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmdldFByb3BlcnR5KCdidWlsZF9zdW1tYXJ5Jyks
ICdDb21taXR0ZWQgMjIwNzk3QG1haW4nKQorICAgICAgICAgICAgcmV0dXJuIHJjCisKKyAgICBk
ZWYgdGVzdF9zdWNjZXNzX25vX2lkZW50aWZpZXIoc2VsZik6CisgICAgICAgIHdpdGggc2VsZi5t
b2NrX2NvbW1pdHNfd2Via2l0X29yZygpOgorICAgICAgICAgICAgc2VsZi5zZXR1cFN0ZXAoUHVz
aENvbW1pdFRvV2ViS2l0UmVwbygpKQorICAgICAgICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgncGF0
Y2hfaWQnLCAnMTIzNCcpCisgICAgICAgICAgICBzZWxmLmV4cGVjdFJlbW90ZUNvbW1hbmRzKAor
ICAgICAgICAgICAgICAgIEV4cGVjdFNoZWxsKHdvcmtkaXI9J3drZGlyJywKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB0aW1lb3V0PTMwMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBsb2dFbnZpcm9uPUZhbHNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbW1hbmQ9
WydnaXQnLCAnc3ZuJywgJ2Rjb21taXQnLCAnLS1ybWRpciddKSArCisgICAgICAgICAgICAgICAg
RXhwZWN0U2hlbGwubG9nKCdzdGRpbycsIHN0ZG91dD0nQ29tbWl0dGVkIHIyNTY3MjknKSArCisg
ICAgICAgICAgICAgICAgMCwKKyAgICAgICAgICAgICkKKyAgICAgICAgICAgIHNlbGYuZXhwZWN0
T3V0Y29tZShyZXN1bHQ9U1VDQ0VTUywgc3RhdGVfc3RyaW5nPSdDb21taXR0ZWQgcjI1NjcyOScp
CisgICAgICAgICAgICB3aXRoIGN1cnJlbnRfaG9zdG5hbWUoRVdTX0JVSUxEX0hPU1ROQU1FKToK
KyAgICAgICAgICAgICAgICByYyA9IHNlbGYucnVuU3RlcCgpCisgICAgICAgICAgICBzZWxmLmFz
c2VydEVxdWFsKHNlbGYuZ2V0UHJvcGVydHkoJ2J1Z3ppbGxhX2NvbW1lbnRfdGV4dCcpLCAnQ29t
bWl0dGVkIHIyNTY3MjkgKD8pOiA8aHR0cHM6Ly9jb21taXRzLndlYmtpdC5vcmcvcjI1NjcyOT5c
blxuQWxsIHJldmlld2VkIHBhdGNoZXMgaGF2ZSBiZWVuIGxhbmRlZC4gQ2xvc2luZyBidWcgYW5k
IGNsZWFyaW5nIGZsYWdzIG9uIGF0dGFjaG1lbnQgMTIzNC4nKQorICAgICAgICAgICAgc2VsZi5h
c3NlcnRFcXVhbChzZWxmLmdldFByb3BlcnR5KCdidWlsZF9maW5pc2hfc3VtbWFyeScpLCBOb25l
KQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmdldFByb3BlcnR5KCdidWlsZF9z
dW1tYXJ5JyksICdDb21taXR0ZWQgcjI1NjcyOScpCisgICAgICAgICAgICByZXR1cm4gcmMKIAog
ICAgIGRlZiB0ZXN0X2ZhaWx1cmVfcmV0cnkoc2VsZik6CiAgICAgICAgIHNlbGYuc2V0dXBTdGVw
KFB1c2hDb21taXRUb1dlYktpdFJlcG8oKSkK
</data>

          </attachment>
      

    </bug>

</bugzilla>