<?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>235161</bug_id>
          
          <creation_ts>2022-01-12 15:39:08 -0800</creation_ts>
          <short_desc>[EWS] Load contributors from stand-alone class</short_desc>
          <delta_ts>2022-01-14 04:08:32 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=234847</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jonathan Bedard">jbedard</reporter>
          <assigned_to name="Jonathan Bedard">jbedard</assigned_to>
          <cc>aakash_jain</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1830376</commentid>
    <comment_count>0</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2022-01-12 15:39:08 -0800</bug_when>
    <thetext>Loading contributors.json is something other steps may also with to do (namely, ValidateChange). We should break off contributors.json parsing into it&apos;s own class.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1830377</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-01-12 15:39:27 -0800</bug_when>
    <thetext>&lt;rdar://problem/87491516&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1830378</commentid>
    <comment_count>2</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2022-01-12 15:40:03 -0800</bug_when>
    <thetext>Pull-request: https://github.com/WebKit/WebKit/pull/70</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1830383</commentid>
    <comment_count>3</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2022-01-12 15:48:42 -0800</bug_when>
    <thetext>(In reply to Jonathan Bedard from comment #2)
&gt; Pull-request: https://github.com/WebKit/WebKit/pull/70

Posted on the wrong bug, https://github.com/WebKit/WebKit/pull/71 is actually the PR for this bug</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1830384</commentid>
    <comment_count>4</comment_count>
      <attachid>449007</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2022-01-12 15:49:34 -0800</bug_when>
    <thetext>Created attachment 449007
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1830393</commentid>
    <comment_count>5</comment_count>
      <attachid>449011</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2022-01-12 15:59:14 -0800</bug_when>
    <thetext>Created attachment 449011
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1830429</commentid>
    <comment_count>6</comment_count>
      <attachid>449011</attachid>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2022-01-12 17:39:47 -0800</bug_when>
    <thetext>Comment on attachment 449011
Patch

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

This re-organization seems fine, just need to be careful in subsequent patches how exactly we use it, especially what we display to our users. Also left few comments.

&gt; Tools/CISupport/ews-build/steps.py:139
&gt; +                    printable=&apos;{} &lt;{}&gt;&apos;.format(name, emails[0].lower()),

let&apos;s skip this printable from this patch, and add it in subsequent patch when we implement the exact use-case.

&gt; Tools/CISupport/ews-build/steps.py:141
&gt; +                    email=emails[0],

Do we need to store name here?

&gt; Tools/CISupport/ews-build/steps.py:1016
&gt; +    def __init__(self, *args, **kwargs):

Let&apos;s skip init and just have &apos;contributors = {}&apos; as a class variable (as it was before)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1830534</commentid>
    <comment_count>7</comment_count>
      <attachid>449011</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2022-01-13 06:29:41 -0800</bug_when>
    <thetext>Comment on attachment 449011
Patch

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

&gt;&gt; Tools/CISupport/ews-build/steps.py:139
&gt;&gt; +                    printable=&apos;{} &lt;{}&gt;&apos;.format(name, emails[0].lower()),
&gt; 
&gt; let&apos;s skip this printable from this patch, and add it in subsequent patch when we implement the exact use-case.

Sounds good!

&gt;&gt; Tools/CISupport/ews-build/steps.py:141
&gt;&gt; +                    email=emails[0],
&gt; 
&gt; Do we need to store name here?

The other mapping is from email -&gt; name/status. We&apos;re going to need username -&gt; email/name/status</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1830535</commentid>
    <comment_count>8</comment_count>
      <attachid>449056</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2022-01-13 06:37:33 -0800</bug_when>
    <thetext>Created attachment 449056
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1830538</commentid>
    <comment_count>9</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2022-01-13 07:24:06 -0800</bug_when>
    <thetext>Landed 246007@main (r287978)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1830865</commentid>
    <comment_count>10</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2022-01-14 04:08:32 -0800</bug_when>
    <thetext>(In reply to Jonathan Bedard from comment #9)
&gt; Landed 246007@main (r287978)

+  email=emails[0],
Please check if we should use emails[0].lower() similar to how we use for bugzilla email. There are some emails in contributors.json which use mixed case.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449007</attachid>
            <date>2022-01-12 15:49:34 -0800</date>
            <delta_ts>2022-01-12 15:59:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235161-20220112154933.patch</filename>
            <type>text/plain</type>
            <size>10367</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3OTU3CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNTE2OGY0NWY2Nzg0YzFkZWQyOTliNWJkMGIyMjAxM2Nl
YTc1MDA5Yy4uYzZlNDNmN2U5YmM0OTAxMmI0NGIxNmI3MWZjODZjMDA3OGFjZjM0YiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4
IEBACisyMDIyLTAxLTEyICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNvbT4KKwor
ICAgICAgICBbRVdTXSBMb2FkIGNvbnRyaWJ1dG9ycyBmcm9tIHN0YW5kLWFsb25lIGNsYXNzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzUxNjEKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzg3NDkxNTE2PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ0lTdXBwb3J0L2V3cy1idWlsZC9zdGVwcy5weToK
KyAgICAgICAgKENvbnRyaWJ1dG9ycyk6IE1vdmVkIGZyb20gVmFsaWRhdGVDb21taXRlckFuZFJl
dmlld2VyLgorICAgICAgICAoVmFsaWRhdGVDb21taXRlckFuZFJldmlld2VyLmxvYWRfY29udHJp
YnV0b3JzX2Zyb21fZGlzayk6IE1vdmVkIHRvIENvbnRyaWJ1dG9ycy4KKyAgICAgICAgKFZhbGlk
YXRlQ29tbWl0ZXJBbmRSZXZpZXdlci5sb2FkX2NvbnRyaWJ1dG9yc19mcm9tX2dpdGh1Yik6IERp
dHRvLgorICAgICAgICAoVmFsaWRhdGVDb21taXRlckFuZFJldmlld2VyLmxvYWRfY29udHJpYnV0
b3JzKTogRGl0dG8uCisgICAgICAgICogQ0lTdXBwb3J0L2V3cy1idWlsZC9zdGVwc191bml0dGVz
dC5weToKKwogMjAyMi0wMS0xMiAgSiBQYXNjb2UgIDxqX3Bhc2NvZUBhcHBsZS5jb20+CiAKICAg
ICAgICAgW1dlYkF1dGhuXSBGaXggZnJlZWJpZSBjYWxsIHdpdGhvdXQgdXNlciBnZXN0dXJlIG5v
dCBiZWluZyBnaXZlbgpkaWZmIC0tZ2l0IGEvVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9zdGVw
cy5weSBiL1Rvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvc3RlcHMucHkKaW5kZXggMmJiMDM5ODA3
N2NkMmYxZjM0ZTdkMjAyMTkwYjc3YTBmMDczZmVkYy4uZDRjYzU2MDE1MDBhM2ZhYTJlNTllZDA0
NjQ5ZGIzYzMwMTkxOGJmMiAxMDA2NDQKLS0tIGEvVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9z
dGVwcy5weQorKysgYi9Ub29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzLnB5CkBAIC04OSw3
ICs4OSw2MSBAQCBjbGFzcyBHaXRIdWIob2JqZWN0KToKICAgICAgICAgcmV0dXJuICd7fXB1bGwv
e30nLmZvcm1hdChyZXBvc2l0b3J5X3VybCwgcHJfbnVtYmVyKQogCiAKLWNsYXNzIENvbmZpZ3Vy
ZUJ1aWxkKGJ1aWxkc3RlcC5CdWlsZFN0ZXApOgorY2xhc3MgQ29udHJpYnV0b3JzKG9iamVjdCk6
CisgICAgdXJsID0gJ2h0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9XZWJLaXQvV2Vi
S2l0L21haW4vbWV0YWRhdGEvY29udHJpYnV0b3JzLmpzb24nCisgICAgY29udHJpYnV0b3JzID0g
e30KKworICAgIEBjbGFzc21ldGhvZAorICAgIGRlZiBsb2FkX2Zyb21fZGlzayhjbHMpOgorICAg
ICAgICBjd2QgPSBvcy5wYXRoLmFic3BhdGgob3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKSkKKyAg
ICAgICAgcmVwb19yb290ID0gb3MucGF0aC5kaXJuYW1lKG9zLnBhdGguZGlybmFtZShvcy5wYXRo
LmRpcm5hbWUoY3dkKSkpCisgICAgICAgIGNvbnRyaWJ1dG9yc19wYXRoID0gb3MucGF0aC5qb2lu
KHJlcG9fcm9vdCwgJ21ldGFkYXRhL2NvbnRyaWJ1dG9ycy5qc29uJykKKyAgICAgICAgdHJ5Ogor
ICAgICAgICAgICAgd2l0aCBvcGVuKGNvbnRyaWJ1dG9yc19wYXRoLCAncmInKSBhcyBjb250cmli
dXRvcnNfanNvbjoKKyAgICAgICAgICAgICAgICByZXR1cm4ganNvbi5sb2FkKGNvbnRyaWJ1dG9y
c19qc29uKSwgTm9uZQorICAgICAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CisgICAgICAgICAg
ICByZXR1cm4ge30sICdGYWlsZWQgdG8gbG9hZCB7fVxuJy5mb3JtYXQoY29udHJpYnV0b3JzX3Bh
dGgpCisKKyAgICBAY2xhc3NtZXRob2QKKyAgICBkZWYgbG9hZF9mcm9tX2dpdGh1YihjbHMpOgor
ICAgICAgICB0cnk6CisgICAgICAgICAgICByZXNwb25zZSA9IHJlcXVlc3RzLmdldChjbHMudXJs
LCB0aW1lb3V0PTYwKQorICAgICAgICAgICAgaWYgcmVzcG9uc2Uuc3RhdHVzX2NvZGUgIT0gMjAw
OgorICAgICAgICAgICAgICAgIHJldHVybiB7fSwgJ0ZhaWxlZCB0byBhY2Nlc3Mge30gd2l0aCBz
dGF0dXMgY29kZToge31cbicuZm9ybWF0KGNscy51cmwsIHJlc3BvbnNlLnN0YXR1c19jb2RlKQor
ICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlLmpzb24oKSwgTm9uZQorICAgICAgICBleGNlcHQg
RXhjZXB0aW9uIGFzIGU6CisgICAgICAgICAgICByZXR1cm4ge30sICdGYWlsZWQgdG8gYWNjZXNz
IHt1cmx9XG4nLmZvcm1hdCh1cmw9Y2xzLnVybCkKKworICAgIEBjbGFzc21ldGhvZAorICAgIGRl
ZiBsb2FkKGNscyk6CisgICAgICAgIGVycm9ycyA9IFtdCisgICAgICAgIGNvbnRyaWJ1dG9yc19q
c29uLCBlcnJvciA9IGNscy5sb2FkX2Zyb21fZ2l0aHViKCkKKyAgICAgICAgaWYgZXJyb3I6Cisg
ICAgICAgICAgICBlcnJvcnMuYXBwZW5kKGVycm9yKQorCisgICAgICAgIGlmIG5vdCBjb250cmli
dXRvcnNfanNvbjoKKyAgICAgICAgICAgIGNvbnRyaWJ1dG9yc19qc29uLCBlcnJvciA9IGNscy5s
b2FkX2Zyb21fZGlzaygpCisgICAgICAgICAgICBpZiBlcnJvcjoKKyAgICAgICAgICAgICAgICBl
cnJvcnMuYXBwZW5kKGVycm9yKQorCisgICAgICAgIGNvbnRyaWJ1dG9ycyA9IHt9CisgICAgICAg
IGZvciB2YWx1ZSBpbiBjb250cmlidXRvcnNfanNvbjoKKyAgICAgICAgICAgIG5hbWUgPSB2YWx1
ZS5nZXQoJ25hbWUnKQorICAgICAgICAgICAgZW1haWxzID0gdmFsdWUuZ2V0KCdlbWFpbHMnKQor
ICAgICAgICAgICAgZ2l0aHViX3VzZXJuYW1lID0gdmFsdWUuZ2V0KCdnaXRodWInKQorICAgICAg
ICAgICAgaWYgbmFtZSBhbmQgZW1haWxzOgorICAgICAgICAgICAgICAgIGJ1Z3ppbGxhX2VtYWls
ID0gZW1haWxzWzBdLmxvd2VyKCkgICMgV2UncmUgcmVxdWlyaW5nIHRoYXQgdGhlIGZpcnN0IGVt
YWlsIGlzIHRoZSBwcmltYXJ5IGJ1Z3ppbGxhIGVtYWlsCisgICAgICAgICAgICAgICAgY29udHJp
YnV0b3JzW2J1Z3ppbGxhX2VtYWlsXSA9IHsnbmFtZSc6IG5hbWUsICdzdGF0dXMnOiB2YWx1ZS5n
ZXQoJ3N0YXR1cycpfQorICAgICAgICAgICAgaWYgZ2l0aHViX3VzZXJuYW1lIGFuZCBuYW1lIGFu
ZCBlbWFpbHM6CisgICAgICAgICAgICAgICAgY29udHJpYnV0b3JzW2dpdGh1Yl91c2VybmFtZV0g
PSBkaWN0KAorICAgICAgICAgICAgICAgICAgICBwcmludGFibGU9J3t9IDx7fT4nLmZvcm1hdChu
YW1lLCBlbWFpbHNbMF0ubG93ZXIoKSksCisgICAgICAgICAgICAgICAgICAgIHN0YXR1cz12YWx1
ZS5nZXQoJ3N0YXR1cycpLAorICAgICAgICAgICAgICAgICAgICBlbWFpbD1lbWFpbHNbMF0sCisg
ICAgICAgICAgICAgICAgKQorICAgICAgICByZXR1cm4gY29udHJpYnV0b3JzLCBlcnJvcnMKKwor
CitjbGFzcyBDb25maWd1cmVCdWlsZChidWlsZHN0ZXAuQnVpbGRTdGVwLCBHaXRIdWJNaXhpbik6
CiAgICAgbmFtZSA9ICdjb25maWd1cmUtYnVpbGQnCiAgICAgZGVzY3JpcHRpb24gPSBbJ2NvbmZp
Z3VyaW5nIGJ1aWxkJ10KICAgICBkZXNjcmlwdGlvbkRvbmUgPSBbJ0NvbmZpZ3VyZWQgYnVpbGQn
XQpAQCAtOTU4LDQ0ICsxMDEyLDEwIEBAIGNsYXNzIFZhbGlkYXRlUGF0Y2goYnVpbGRzdGVwLkJ1
aWxkU3RlcCwgQnVnemlsbGFNaXhpbik6CiBjbGFzcyBWYWxpZGF0ZUNvbW1pdGVyQW5kUmV2aWV3
ZXIoYnVpbGRzdGVwLkJ1aWxkU3RlcCk6CiAgICAgbmFtZSA9ICd2YWxpZGF0ZS1jb21taXRlci1h
bmQtcmV2aWV3ZXInCiAgICAgZGVzY3JpcHRpb25Eb25lID0gWydWYWxpZGF0ZWQgY29tbWl0ZXIg
YW5kIHJldmlld2VyJ10KLSAgICB1cmwgPSAnaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQu
Y29tL1dlYktpdC9XZWJLaXQvbWFpbi9tZXRhZGF0YS9jb250cmlidXRvcnMuanNvbicKLSAgICBj
b250cmlidXRvcnMgPSB7fQotCi0gICAgZGVmIGxvYWRfY29udHJpYnV0b3JzX2Zyb21fZGlzayhz
ZWxmKToKLSAgICAgICAgY3dkID0gb3MucGF0aC5hYnNwYXRoKG9zLnBhdGguZGlybmFtZShfX2Zp
bGVfXykpCi0gICAgICAgIHJlcG9fcm9vdCA9IG9zLnBhdGguZGlybmFtZShvcy5wYXRoLmRpcm5h
bWUob3MucGF0aC5kaXJuYW1lKGN3ZCkpKQotICAgICAgICBjb250cmlidXRvcnNfcGF0aCA9IG9z
LnBhdGguam9pbihyZXBvX3Jvb3QsICdtZXRhZGF0YS9jb250cmlidXRvcnMuanNvbicpCi0gICAg
ICAgIHRyeToKLSAgICAgICAgICAgIHdpdGggb3Blbihjb250cmlidXRvcnNfcGF0aCwgJ3JiJykg
YXMgY29udHJpYnV0b3JzX2pzb246Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGpzb24ubG9hZChj
b250cmlidXRvcnNfanNvbikKLSAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgotICAgICAg
ICAgICAgc2VsZi5fYWRkVG9Mb2coJ3N0ZGlvJywgJ0ZhaWxlZCB0byBsb2FkIHt9XG4nLmZvcm1h
dChjb250cmlidXRvcnNfcGF0aCkpCi0gICAgICAgICAgICByZXR1cm4ge30KLQotICAgIGRlZiBs
b2FkX2NvbnRyaWJ1dG9yc19mcm9tX2dpdGh1YihzZWxmKToKLSAgICAgICAgdHJ5OgotICAgICAg
ICAgICAgcmVzcG9uc2UgPSByZXF1ZXN0cy5nZXQoc2VsZi51cmwsIHRpbWVvdXQ9NjApCi0gICAg
ICAgICAgICBpZiByZXNwb25zZS5zdGF0dXNfY29kZSAhPSAyMDA6Ci0gICAgICAgICAgICAgICAg
c2VsZi5fYWRkVG9Mb2coJ3N0ZGlvJywgJ0ZhaWxlZCB0byBhY2Nlc3Mge30gd2l0aCBzdGF0dXMg
Y29kZToge31cbicuZm9ybWF0KHNlbGYudXJsLCByZXNwb25zZS5zdGF0dXNfY29kZSkpCi0gICAg
ICAgICAgICAgICAgcmV0dXJuIHt9Ci0gICAgICAgICAgICByZXR1cm4gcmVzcG9uc2UuanNvbigp
Ci0gICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKLSAgICAgICAgICAgIHNlbGYuX2FkZFRv
TG9nKCdzdGRpbycsICdGYWlsZWQgdG8gYWNjZXNzIHt1cmx9XG4nLmZvcm1hdCh1cmw9c2VsZi51
cmwpKQotICAgICAgICAgICAgcmV0dXJuIHt9CiAKLSAgICBkZWYgbG9hZF9jb250cmlidXRvcnMo
c2VsZik6Ci0gICAgICAgIGNvbnRyaWJ1dG9yc19qc29uID0gc2VsZi5sb2FkX2NvbnRyaWJ1dG9y
c19mcm9tX2dpdGh1YigpCi0gICAgICAgIGlmIG5vdCBjb250cmlidXRvcnNfanNvbjoKLSAgICAg
ICAgICAgIGNvbnRyaWJ1dG9yc19qc29uID0gc2VsZi5sb2FkX2NvbnRyaWJ1dG9yc19mcm9tX2Rp
c2soKQotCi0gICAgICAgIGNvbnRyaWJ1dG9ycyA9IHt9Ci0gICAgICAgIGZvciB2YWx1ZSBpbiBj
b250cmlidXRvcnNfanNvbjoKLSAgICAgICAgICAgIG5hbWUgPSB2YWx1ZS5nZXQoJ25hbWUnKQot
ICAgICAgICAgICAgZW1haWxzID0gdmFsdWUuZ2V0KCdlbWFpbHMnKQotICAgICAgICAgICAgaWYg
bmFtZSBhbmQgZW1haWxzOgotICAgICAgICAgICAgICAgIGJ1Z3ppbGxhX2VtYWlsID0gZW1haWxz
WzBdLmxvd2VyKCkgICMgV2UncmUgcmVxdWlyaW5nIHRoYXQgdGhlIGZpcnN0IGVtYWlsIGlzIHRo
ZSBwcmltYXJ5IGJ1Z3ppbGxhIGVtYWlsCi0gICAgICAgICAgICAgICAgY29udHJpYnV0b3JzW2J1
Z3ppbGxhX2VtYWlsXSA9IHsnbmFtZSc6IG5hbWUsICdzdGF0dXMnOiB2YWx1ZS5nZXQoJ3N0YXR1
cycpfQotICAgICAgICByZXR1cm4gY29udHJpYnV0b3JzCisgICAgZGVmIF9faW5pdF9fKHNlbGYs
ICphcmdzLCAqKmt3YXJncyk6CisgICAgICAgIHN1cGVyKFZhbGlkYXRlQ29tbWl0ZXJBbmRSZXZp
ZXdlciwgc2VsZikuX19pbml0X18oKmFyZ3MsICoqa3dhcmdzKQorICAgICAgICBzZWxmLmNvbnRy
aWJ1dG9ycyA9IHt9CiAKICAgICBAZGVmZXIuaW5saW5lQ2FsbGJhY2tzCiAgICAgZGVmIF9hZGRU
b0xvZyhzZWxmLCBsb2dOYW1lLCBtZXNzYWdlKToKQEAgLTEwMTIsNyArMTAzMiw3IEBAIGNsYXNz
IFZhbGlkYXRlQ29tbWl0ZXJBbmRSZXZpZXdlcihidWlsZHN0ZXAuQnVpbGRTdGVwKToKIAogICAg
IGRlZiBmYWlsX2J1aWxkKHNlbGYsIGVtYWlsLCBzdGF0dXMpOgogICAgICAgICByZWFzb24gPSAn
e30gZG9lcyBub3QgaGF2ZSB7fSBwZXJtaXNzaW9ucycuZm9ybWF0KGVtYWlsLCBzdGF0dXMpCi0g
ICAgICAgIGNvbW1lbnQgPSAne30gZG9lcyBub3QgaGF2ZSB7fSBwZXJtaXNzaW9ucyBhY2NvcmRp
bmcgdG8ge30uJy5mb3JtYXQoZW1haWwsIHN0YXR1cywgc2VsZi51cmwpCisgICAgICAgIGNvbW1l
bnQgPSAne30gZG9lcyBub3QgaGF2ZSB7fSBwZXJtaXNzaW9ucyBhY2NvcmRpbmcgdG8ge30uJy5m
b3JtYXQoZW1haWwsIHN0YXR1cywgQ29udHJpYnV0b3JzLnVybCkKICAgICAgICAgY29tbWVudCAr
PSAnXG5cblJlamVjdGluZyBhdHRhY2htZW50IHt9IGZyb20gY29tbWl0IHF1ZXVlLicuZm9ybWF0
KHNlbGYuZ2V0UHJvcGVydHkoJ3BhdGNoX2lkJywgJycpKQogICAgICAgICBzZWxmLnNldFByb3Bl
cnR5KCdidWd6aWxsYV9jb21tZW50X3RleHQnLCBjb21tZW50KQogCkBAIC0xMDM3LDcgKzEwNTcs
MTEgQEAgY2xhc3MgVmFsaWRhdGVDb21taXRlckFuZFJldmlld2VyKGJ1aWxkc3RlcC5CdWlsZFN0
ZXApOgogICAgICAgICByZXR1cm4gY29udHJpYnV0b3IuZ2V0KCduYW1lJykKIAogICAgIGRlZiBz
dGFydChzZWxmKToKLSAgICAgICAgc2VsZi5jb250cmlidXRvcnMgPSBzZWxmLmxvYWRfY29udHJp
YnV0b3JzKCkKKyAgICAgICAgc2VsZi5jb250cmlidXRvcnMsIGVycm9ycyA9IENvbnRyaWJ1dG9y
cy5sb2FkKCkKKyAgICAgICAgZm9yIGVycm9yIGluIGVycm9yczoKKyAgICAgICAgICAgIHByaW50
KGVycm9yKQorICAgICAgICAgICAgc2VsZi5fYWRkVG9Mb2coJ3N0ZGlvJywgZXJyb3IpCisKICAg
ICAgICAgaWYgbm90IHNlbGYuY29udHJpYnV0b3JzOgogICAgICAgICAgICAgc2VsZi5maW5pc2hl
ZChGQUlMVVJFKQogICAgICAgICAgICAgc2VsZi5kZXNjcmlwdGlvbkRvbmUgPSAnRmFpbGVkIHRv
IGdldCBjb250cmlidXRvcnMgaW5mb3JtYXRpb24nCmRpZmYgLS1naXQgYS9Ub29scy9DSVN1cHBv
cnQvZXdzLWJ1aWxkL3N0ZXBzX3VuaXR0ZXN0LnB5IGIvVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWls
ZC9zdGVwc191bml0dGVzdC5weQppbmRleCAxMjkwM2UyYTE0YTQyYmJjZmY4MTljMTllMmU0ZWNj
YTlhYmE1ZjAyLi5mYWZjZGM5Mzc1NWYzODNkMDk0NjNhMmViODY1ZThlMGMxNjJiNzY1IDEwMDY0
NAotLS0gYS9Ub29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzX3VuaXR0ZXN0LnB5CisrKyBi
L1Rvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvc3RlcHNfdW5pdHRlc3QucHkKQEAgLTQ0LDcgKzQ0
LDcgQEAgZnJvbSBzdGVwcyBpbXBvcnQgKEFuYWx5emVBUElUZXN0c1Jlc3VsdHMsIEFuYWx5emVD
b21waWxlV2ViS2l0UmVzdWx0cywgQW5hbHl6ZUoKICAgICAgICAgICAgICAgICAgICBBbmFseXpl
TGF5b3V0VGVzdHNSZXN1bHRzLCBBcHBseVBhdGNoLCBBcHBseVdhdGNoTGlzdCwgQXJjaGl2ZUJ1
aWx0UHJvZHVjdCwgQXJjaGl2ZVRlc3RSZXN1bHRzLAogICAgICAgICAgICAgICAgICAgIENoZWNr
T3V0U291cmNlLCBDaGVja091dFNwZWNpZmljUmV2aXNpb24sIENoZWNrUGF0Y2hSZWxldmFuY2Us
IENoZWNrUGF0Y2hTdGF0dXNPbkVXU1F1ZXVlcywgQ2hlY2tTdHlsZSwKICAgICAgICAgICAgICAg
ICAgICBDbGVhbkJ1aWxkLCBDbGVhblVwR2l0SW5kZXhMb2NrLCBDbGVhbkdpdFJlcG8sIENsZWFu
V29ya2luZ0RpcmVjdG9yeSwgQ29tcGlsZUpTQywgQ29tcGlsZUpTQ1dpdGhvdXRQYXRjaCwKLSAg
ICAgICAgICAgICAgICAgICBDb21waWxlV2ViS2l0LCBDb21waWxlV2ViS2l0V2l0aG91dFBhdGNo
LCBDb25maWd1cmVCdWlsZCwgQ3JlYXRlTG9jYWxHSVRDb21taXQsCisgICAgICAgICAgICAgICAg
ICAgQ29tcGlsZVdlYktpdCwgQ29tcGlsZVdlYktpdFdpdGhvdXRQYXRjaCwgQ29uZmlndXJlQnVp
bGQsIENvbmZpZ3VyZUJ1aWxkLCBDb250cmlidXRvcnMsIENyZWF0ZUxvY2FsR0lUQ29tbWl0LAog
ICAgICAgICAgICAgICAgICAgIERvd25sb2FkQnVpbHRQcm9kdWN0LCBEb3dubG9hZEJ1aWx0UHJv
ZHVjdEZyb21NYXN0ZXIsIEVXU19CVUlMRF9IT1NUTkFNRSwgRXh0cmFjdEJ1aWx0UHJvZHVjdCwg
RXh0cmFjdFRlc3RSZXN1bHRzLAogICAgICAgICAgICAgICAgICAgIEZldGNoQnJhbmNoZXMsIEZp
bmRNb2RpZmllZENoYW5nZUxvZ3MsIEZpbmRNb2RpZmllZExheW91dFRlc3RzLCBHaXRSZXNldEhh
cmQsCiAgICAgICAgICAgICAgICAgICAgSW5zdGFsbEJ1aWx0UHJvZHVjdCwgSW5zdGFsbEd0a0Rl
cGVuZGVuY2llcywgSW5zdGFsbFdwZURlcGVuZGVuY2llcywKQEAgLTQ1ODUsMTAgKzQ1ODUsMTAg
QEAgY2xhc3MgVGVzdFZhbGlkYXRlQ29tbWl0ZXJBbmRSZXZpZXdlcihCdWlsZFN0ZXBNaXhpbkFk
ZGl0aW9ucywgdW5pdHRlc3QuVGVzdENhc2UKICAgICBkZWYgc2V0VXAoc2VsZik6CiAgICAgICAg
IHNlbGYubG9uZ01lc3NhZ2UgPSBUcnVlCiAKLSAgICAgICAgZGVmIG1vY2tfbG9hZF9jb250cmli
dXRvcnMoY2xzLCAqYXJncywgKiprd2FyZ3MpOgorICAgICAgICBkZWYgbW9ja19sb2FkX2NvbnRy
aWJ1dG9ycygqYXJncywgKiprd2FyZ3MpOgogICAgICAgICAgICAgcmV0dXJuIHsnYWFrYXNoX2ph
aW5AYXBwbGUuY29tJzogeyduYW1lJzogJ0Fha2FzaCBKYWluJywgJ3N0YXR1cyc6ICdyZXZpZXdl
cid9LAotICAgICAgICAgICAgICAgICAgICAnY29tbWl0dGVyQHdlYmtpdC5vcmcnOiB7J25hbWUn
OiAnV2ViS2l0IENvbW1pdHRlcicsICdzdGF0dXMnOiAnY29tbWl0dGVyJ319Ci0gICAgICAgIFZh
bGlkYXRlQ29tbWl0ZXJBbmRSZXZpZXdlci5sb2FkX2NvbnRyaWJ1dG9ycyA9IG1vY2tfbG9hZF9j
b250cmlidXRvcnMKKyAgICAgICAgICAgICAgICAgICAgJ2NvbW1pdHRlckB3ZWJraXQub3JnJzog
eyduYW1lJzogJ1dlYktpdCBDb21taXR0ZXInLCAnc3RhdHVzJzogJ2NvbW1pdHRlcid9fSwgW10K
KyAgICAgICAgQ29udHJpYnV0b3JzLmxvYWQgPSBtb2NrX2xvYWRfY29udHJpYnV0b3JzCiAgICAg
ICAgIHJldHVybiBzZWxmLnNldFVwQnVpbGRTdGVwKCkKIAogICAgIGRlZiB0ZWFyRG93bihzZWxm
KToKQEAgLTQ2MTYsNyArNDYxNiw3IEBAIGNsYXNzIFRlc3RWYWxpZGF0ZUNvbW1pdGVyQW5kUmV2
aWV3ZXIoQnVpbGRTdGVwTWl4aW5BZGRpdGlvbnMsIHVuaXR0ZXN0LlRlc3RDYXNlCiAgICAgICAg
IHNlbGYuc2V0dXBTdGVwKFZhbGlkYXRlQ29tbWl0ZXJBbmRSZXZpZXdlcigpKQogICAgICAgICBz
ZWxmLnNldFByb3BlcnR5KCdwYXRjaF9pZCcsICcxMjM0JykKICAgICAgICAgc2VsZi5zZXRQcm9w
ZXJ0eSgncGF0Y2hfY29tbWl0dGVyJywgJ2FiY0B3ZWJraXQub3JnJykKLSAgICAgICAgVmFsaWRh
dGVDb21taXRlckFuZFJldmlld2VyLmxvYWRfY29udHJpYnV0b3JzID0gbGFtYmRhIHg6IHt9Cisg
ICAgICAgIENvbnRyaWJ1dG9ycy5sb2FkID0gbGFtYmRhOiAoe30sIFtdKQogICAgICAgICBzZWxm
LmV4cGVjdEhpZGRlbihGYWxzZSkKICAgICAgICAgc2VsZi5leHBlY3RPdXRjb21lKHJlc3VsdD1G
QUlMVVJFLCBzdGF0ZV9zdHJpbmc9J0ZhaWxlZCB0byBnZXQgY29udHJpYnV0b3JzIGluZm9ybWF0
aW9uJykKICAgICAgICAgcmV0dXJuIHNlbGYucnVuU3RlcCgpCkBAIC00NjM5LDggKzQ2MzksNyBA
QCBjbGFzcyBUZXN0VmFsaWRhdGVDb21taXRlckFuZFJldmlld2VyKEJ1aWxkU3RlcE1peGluQWRk
aXRpb25zLCB1bml0dGVzdC5UZXN0Q2FzZQogICAgICAgICByZXR1cm4gc2VsZi5ydW5TdGVwKCkK
IAogICAgIGRlZiB0ZXN0X2xvYWRfY29udHJpYnV0b3JzX2Zyb21fZGlzayhzZWxmKToKLSAgICAg
ICAgVmFsaWRhdGVDb21taXRlckFuZFJldmlld2VyLl9hZGRUb0xvZyA9IGxhbWJkYSBjbHMsIGxv
Z3R5cGUsIGxvZzogc3lzLnN0ZG91dC53cml0ZShsb2cpCi0gICAgICAgIGNvbnRyaWJ1dG9ycyA9
IGZpbHRlcihsYW1iZGEgZWxlbWVudDogZWxlbWVudC5nZXQoJ25hbWUnKSA9PSAnQWFrYXNoIEph
aW4nLCBWYWxpZGF0ZUNvbW1pdGVyQW5kUmV2aWV3ZXIoKS5sb2FkX2NvbnRyaWJ1dG9yc19mcm9t
X2Rpc2soKSkKKyAgICAgICAgY29udHJpYnV0b3JzID0gZmlsdGVyKGxhbWJkYSBlbGVtZW50OiBl
bGVtZW50LmdldCgnbmFtZScpID09ICdBYWthc2ggSmFpbicsIENvbnRyaWJ1dG9ycygpLmxvYWRf
ZnJvbV9kaXNrKClbMF0pCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGlzdChjb250cmlidXRv
cnMpWzBdWydlbWFpbHMnXVswXSwgJ2Fha2FzaF9qYWluQGFwcGxlLmNvbScpCiAKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449011</attachid>
            <date>2022-01-12 15:59:14 -0800</date>
            <delta_ts>2022-01-13 06:37:31 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235161-20220112155913.patch</filename>
            <type>text/plain</type>
            <size>10266</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3OTU3CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNTE2OGY0NWY2Nzg0YzFkZWQyOTliNWJkMGIyMjAxM2Nl
YTc1MDA5Yy4uYzZlNDNmN2U5YmM0OTAxMmI0NGIxNmI3MWZjODZjMDA3OGFjZjM0YiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4
IEBACisyMDIyLTAxLTEyICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNvbT4KKwor
ICAgICAgICBbRVdTXSBMb2FkIGNvbnRyaWJ1dG9ycyBmcm9tIHN0YW5kLWFsb25lIGNsYXNzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzUxNjEKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzg3NDkxNTE2PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ0lTdXBwb3J0L2V3cy1idWlsZC9zdGVwcy5weToK
KyAgICAgICAgKENvbnRyaWJ1dG9ycyk6IE1vdmVkIGZyb20gVmFsaWRhdGVDb21taXRlckFuZFJl
dmlld2VyLgorICAgICAgICAoVmFsaWRhdGVDb21taXRlckFuZFJldmlld2VyLmxvYWRfY29udHJp
YnV0b3JzX2Zyb21fZGlzayk6IE1vdmVkIHRvIENvbnRyaWJ1dG9ycy4KKyAgICAgICAgKFZhbGlk
YXRlQ29tbWl0ZXJBbmRSZXZpZXdlci5sb2FkX2NvbnRyaWJ1dG9yc19mcm9tX2dpdGh1Yik6IERp
dHRvLgorICAgICAgICAoVmFsaWRhdGVDb21taXRlckFuZFJldmlld2VyLmxvYWRfY29udHJpYnV0
b3JzKTogRGl0dG8uCisgICAgICAgICogQ0lTdXBwb3J0L2V3cy1idWlsZC9zdGVwc191bml0dGVz
dC5weToKKwogMjAyMi0wMS0xMiAgSiBQYXNjb2UgIDxqX3Bhc2NvZUBhcHBsZS5jb20+CiAKICAg
ICAgICAgW1dlYkF1dGhuXSBGaXggZnJlZWJpZSBjYWxsIHdpdGhvdXQgdXNlciBnZXN0dXJlIG5v
dCBiZWluZyBnaXZlbgpkaWZmIC0tZ2l0IGEvVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9zdGVw
cy5weSBiL1Rvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvc3RlcHMucHkKaW5kZXggMmJiMDM5ODA3
N2NkMmYxZjM0ZTdkMjAyMTkwYjc3YTBmMDczZmVkYy4uNWQ3OGZlYTFkZGY4NTc2NGVmZjg1OGRi
NTY1NGIyYzk5ZGJlOTQ0NSAxMDA2NDQKLS0tIGEvVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9z
dGVwcy5weQorKysgYi9Ub29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzLnB5CkBAIC04OSw2
ICs4OSw2MCBAQCBjbGFzcyBHaXRIdWIob2JqZWN0KToKICAgICAgICAgcmV0dXJuICd7fXB1bGwv
e30nLmZvcm1hdChyZXBvc2l0b3J5X3VybCwgcHJfbnVtYmVyKQogCiAKK2NsYXNzIENvbnRyaWJ1
dG9ycyhvYmplY3QpOgorICAgIHVybCA9ICdodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5j
b20vV2ViS2l0L1dlYktpdC9tYWluL21ldGFkYXRhL2NvbnRyaWJ1dG9ycy5qc29uJworICAgIGNv
bnRyaWJ1dG9ycyA9IHt9CisKKyAgICBAY2xhc3NtZXRob2QKKyAgICBkZWYgbG9hZF9mcm9tX2Rp
c2soY2xzKToKKyAgICAgICAgY3dkID0gb3MucGF0aC5hYnNwYXRoKG9zLnBhdGguZGlybmFtZShf
X2ZpbGVfXykpCisgICAgICAgIHJlcG9fcm9vdCA9IG9zLnBhdGguZGlybmFtZShvcy5wYXRoLmRp
cm5hbWUob3MucGF0aC5kaXJuYW1lKGN3ZCkpKQorICAgICAgICBjb250cmlidXRvcnNfcGF0aCA9
IG9zLnBhdGguam9pbihyZXBvX3Jvb3QsICdtZXRhZGF0YS9jb250cmlidXRvcnMuanNvbicpCisg
ICAgICAgIHRyeToKKyAgICAgICAgICAgIHdpdGggb3Blbihjb250cmlidXRvcnNfcGF0aCwgJ3Ji
JykgYXMgY29udHJpYnV0b3JzX2pzb246CisgICAgICAgICAgICAgICAgcmV0dXJuIGpzb24ubG9h
ZChjb250cmlidXRvcnNfanNvbiksIE5vbmUKKyAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBl
OgorICAgICAgICAgICAgcmV0dXJuIHt9LCAnRmFpbGVkIHRvIGxvYWQge31cbicuZm9ybWF0KGNv
bnRyaWJ1dG9yc19wYXRoKQorCisgICAgQGNsYXNzbWV0aG9kCisgICAgZGVmIGxvYWRfZnJvbV9n
aXRodWIoY2xzKToKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgcmVzcG9uc2UgPSByZXF1ZXN0
cy5nZXQoY2xzLnVybCwgdGltZW91dD02MCkKKyAgICAgICAgICAgIGlmIHJlc3BvbnNlLnN0YXR1
c19jb2RlICE9IDIwMDoKKyAgICAgICAgICAgICAgICByZXR1cm4ge30sICdGYWlsZWQgdG8gYWNj
ZXNzIHt9IHdpdGggc3RhdHVzIGNvZGU6IHt9XG4nLmZvcm1hdChjbHMudXJsLCByZXNwb25zZS5z
dGF0dXNfY29kZSkKKyAgICAgICAgICAgIHJldHVybiByZXNwb25zZS5qc29uKCksIE5vbmUKKyAg
ICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgorICAgICAgICAgICAgcmV0dXJuIHt9LCAnRmFp
bGVkIHRvIGFjY2VzcyB7dXJsfVxuJy5mb3JtYXQodXJsPWNscy51cmwpCisKKyAgICBAY2xhc3Nt
ZXRob2QKKyAgICBkZWYgbG9hZChjbHMpOgorICAgICAgICBlcnJvcnMgPSBbXQorICAgICAgICBj
b250cmlidXRvcnNfanNvbiwgZXJyb3IgPSBjbHMubG9hZF9mcm9tX2dpdGh1YigpCisgICAgICAg
IGlmIGVycm9yOgorICAgICAgICAgICAgZXJyb3JzLmFwcGVuZChlcnJvcikKKworICAgICAgICBp
ZiBub3QgY29udHJpYnV0b3JzX2pzb246CisgICAgICAgICAgICBjb250cmlidXRvcnNfanNvbiwg
ZXJyb3IgPSBjbHMubG9hZF9mcm9tX2Rpc2soKQorICAgICAgICAgICAgaWYgZXJyb3I6CisgICAg
ICAgICAgICAgICAgZXJyb3JzLmFwcGVuZChlcnJvcikKKworICAgICAgICBjb250cmlidXRvcnMg
PSB7fQorICAgICAgICBmb3IgdmFsdWUgaW4gY29udHJpYnV0b3JzX2pzb246CisgICAgICAgICAg
ICBuYW1lID0gdmFsdWUuZ2V0KCduYW1lJykKKyAgICAgICAgICAgIGVtYWlscyA9IHZhbHVlLmdl
dCgnZW1haWxzJykKKyAgICAgICAgICAgIGdpdGh1Yl91c2VybmFtZSA9IHZhbHVlLmdldCgnZ2l0
aHViJykKKyAgICAgICAgICAgIGlmIG5hbWUgYW5kIGVtYWlsczoKKyAgICAgICAgICAgICAgICBi
dWd6aWxsYV9lbWFpbCA9IGVtYWlsc1swXS5sb3dlcigpICAjIFdlJ3JlIHJlcXVpcmluZyB0aGF0
IHRoZSBmaXJzdCBlbWFpbCBpcyB0aGUgcHJpbWFyeSBidWd6aWxsYSBlbWFpbAorICAgICAgICAg
ICAgICAgIGNvbnRyaWJ1dG9yc1tidWd6aWxsYV9lbWFpbF0gPSB7J25hbWUnOiBuYW1lLCAnc3Rh
dHVzJzogdmFsdWUuZ2V0KCdzdGF0dXMnKX0KKyAgICAgICAgICAgIGlmIGdpdGh1Yl91c2VybmFt
ZSBhbmQgbmFtZSBhbmQgZW1haWxzOgorICAgICAgICAgICAgICAgIGNvbnRyaWJ1dG9yc1tnaXRo
dWJfdXNlcm5hbWVdID0gZGljdCgKKyAgICAgICAgICAgICAgICAgICAgcHJpbnRhYmxlPSd7fSA8
e30+Jy5mb3JtYXQobmFtZSwgZW1haWxzWzBdLmxvd2VyKCkpLAorICAgICAgICAgICAgICAgICAg
ICBzdGF0dXM9dmFsdWUuZ2V0KCdzdGF0dXMnKSwKKyAgICAgICAgICAgICAgICAgICAgZW1haWw9
ZW1haWxzWzBdLAorICAgICAgICAgICAgICAgICkKKyAgICAgICAgcmV0dXJuIGNvbnRyaWJ1dG9y
cywgZXJyb3JzCisKKwogY2xhc3MgQ29uZmlndXJlQnVpbGQoYnVpbGRzdGVwLkJ1aWxkU3RlcCk6
CiAgICAgbmFtZSA9ICdjb25maWd1cmUtYnVpbGQnCiAgICAgZGVzY3JpcHRpb24gPSBbJ2NvbmZp
Z3VyaW5nIGJ1aWxkJ10KQEAgLTk1OCw0NCArMTAxMiwxMCBAQCBjbGFzcyBWYWxpZGF0ZVBhdGNo
KGJ1aWxkc3RlcC5CdWlsZFN0ZXAsIEJ1Z3ppbGxhTWl4aW4pOgogY2xhc3MgVmFsaWRhdGVDb21t
aXRlckFuZFJldmlld2VyKGJ1aWxkc3RlcC5CdWlsZFN0ZXApOgogICAgIG5hbWUgPSAndmFsaWRh
dGUtY29tbWl0ZXItYW5kLXJldmlld2VyJwogICAgIGRlc2NyaXB0aW9uRG9uZSA9IFsnVmFsaWRh
dGVkIGNvbW1pdGVyIGFuZCByZXZpZXdlciddCi0gICAgdXJsID0gJ2h0dHBzOi8vcmF3LmdpdGh1
YnVzZXJjb250ZW50LmNvbS9XZWJLaXQvV2ViS2l0L21haW4vbWV0YWRhdGEvY29udHJpYnV0b3Jz
Lmpzb24nCi0gICAgY29udHJpYnV0b3JzID0ge30KLQotICAgIGRlZiBsb2FkX2NvbnRyaWJ1dG9y
c19mcm9tX2Rpc2soc2VsZik6Ci0gICAgICAgIGN3ZCA9IG9zLnBhdGguYWJzcGF0aChvcy5wYXRo
LmRpcm5hbWUoX19maWxlX18pKQotICAgICAgICByZXBvX3Jvb3QgPSBvcy5wYXRoLmRpcm5hbWUo
b3MucGF0aC5kaXJuYW1lKG9zLnBhdGguZGlybmFtZShjd2QpKSkKLSAgICAgICAgY29udHJpYnV0
b3JzX3BhdGggPSBvcy5wYXRoLmpvaW4ocmVwb19yb290LCAnbWV0YWRhdGEvY29udHJpYnV0b3Jz
Lmpzb24nKQotICAgICAgICB0cnk6Ci0gICAgICAgICAgICB3aXRoIG9wZW4oY29udHJpYnV0b3Jz
X3BhdGgsICdyYicpIGFzIGNvbnRyaWJ1dG9yc19qc29uOgotICAgICAgICAgICAgICAgIHJldHVy
biBqc29uLmxvYWQoY29udHJpYnV0b3JzX2pzb24pCi0gICAgICAgIGV4Y2VwdCBFeGNlcHRpb24g
YXMgZToKLSAgICAgICAgICAgIHNlbGYuX2FkZFRvTG9nKCdzdGRpbycsICdGYWlsZWQgdG8gbG9h
ZCB7fVxuJy5mb3JtYXQoY29udHJpYnV0b3JzX3BhdGgpKQotICAgICAgICAgICAgcmV0dXJuIHt9
Ci0KLSAgICBkZWYgbG9hZF9jb250cmlidXRvcnNfZnJvbV9naXRodWIoc2VsZik6Ci0gICAgICAg
IHRyeToKLSAgICAgICAgICAgIHJlc3BvbnNlID0gcmVxdWVzdHMuZ2V0KHNlbGYudXJsLCB0aW1l
b3V0PTYwKQotICAgICAgICAgICAgaWYgcmVzcG9uc2Uuc3RhdHVzX2NvZGUgIT0gMjAwOgotICAg
ICAgICAgICAgICAgIHNlbGYuX2FkZFRvTG9nKCdzdGRpbycsICdGYWlsZWQgdG8gYWNjZXNzIHt9
IHdpdGggc3RhdHVzIGNvZGU6IHt9XG4nLmZvcm1hdChzZWxmLnVybCwgcmVzcG9uc2Uuc3RhdHVz
X2NvZGUpKQotICAgICAgICAgICAgICAgIHJldHVybiB7fQotICAgICAgICAgICAgcmV0dXJuIHJl
c3BvbnNlLmpzb24oKQotICAgICAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6Ci0gICAgICAgICAg
ICBzZWxmLl9hZGRUb0xvZygnc3RkaW8nLCAnRmFpbGVkIHRvIGFjY2VzcyB7dXJsfVxuJy5mb3Jt
YXQodXJsPXNlbGYudXJsKSkKLSAgICAgICAgICAgIHJldHVybiB7fQogCi0gICAgZGVmIGxvYWRf
Y29udHJpYnV0b3JzKHNlbGYpOgotICAgICAgICBjb250cmlidXRvcnNfanNvbiA9IHNlbGYubG9h
ZF9jb250cmlidXRvcnNfZnJvbV9naXRodWIoKQotICAgICAgICBpZiBub3QgY29udHJpYnV0b3Jz
X2pzb246Ci0gICAgICAgICAgICBjb250cmlidXRvcnNfanNvbiA9IHNlbGYubG9hZF9jb250cmli
dXRvcnNfZnJvbV9kaXNrKCkKLQotICAgICAgICBjb250cmlidXRvcnMgPSB7fQotICAgICAgICBm
b3IgdmFsdWUgaW4gY29udHJpYnV0b3JzX2pzb246Ci0gICAgICAgICAgICBuYW1lID0gdmFsdWUu
Z2V0KCduYW1lJykKLSAgICAgICAgICAgIGVtYWlscyA9IHZhbHVlLmdldCgnZW1haWxzJykKLSAg
ICAgICAgICAgIGlmIG5hbWUgYW5kIGVtYWlsczoKLSAgICAgICAgICAgICAgICBidWd6aWxsYV9l
bWFpbCA9IGVtYWlsc1swXS5sb3dlcigpICAjIFdlJ3JlIHJlcXVpcmluZyB0aGF0IHRoZSBmaXJz
dCBlbWFpbCBpcyB0aGUgcHJpbWFyeSBidWd6aWxsYSBlbWFpbAotICAgICAgICAgICAgICAgIGNv
bnRyaWJ1dG9yc1tidWd6aWxsYV9lbWFpbF0gPSB7J25hbWUnOiBuYW1lLCAnc3RhdHVzJzogdmFs
dWUuZ2V0KCdzdGF0dXMnKX0KLSAgICAgICAgcmV0dXJuIGNvbnRyaWJ1dG9ycworICAgIGRlZiBf
X2luaXRfXyhzZWxmLCAqYXJncywgKiprd2FyZ3MpOgorICAgICAgICBzdXBlcihWYWxpZGF0ZUNv
bW1pdGVyQW5kUmV2aWV3ZXIsIHNlbGYpLl9faW5pdF9fKCphcmdzLCAqKmt3YXJncykKKyAgICAg
ICAgc2VsZi5jb250cmlidXRvcnMgPSB7fQogCiAgICAgQGRlZmVyLmlubGluZUNhbGxiYWNrcwog
ICAgIGRlZiBfYWRkVG9Mb2coc2VsZiwgbG9nTmFtZSwgbWVzc2FnZSk6CkBAIC0xMDEyLDcgKzEw
MzIsNyBAQCBjbGFzcyBWYWxpZGF0ZUNvbW1pdGVyQW5kUmV2aWV3ZXIoYnVpbGRzdGVwLkJ1aWxk
U3RlcCk6CiAKICAgICBkZWYgZmFpbF9idWlsZChzZWxmLCBlbWFpbCwgc3RhdHVzKToKICAgICAg
ICAgcmVhc29uID0gJ3t9IGRvZXMgbm90IGhhdmUge30gcGVybWlzc2lvbnMnLmZvcm1hdChlbWFp
bCwgc3RhdHVzKQotICAgICAgICBjb21tZW50ID0gJ3t9IGRvZXMgbm90IGhhdmUge30gcGVybWlz
c2lvbnMgYWNjb3JkaW5nIHRvIHt9LicuZm9ybWF0KGVtYWlsLCBzdGF0dXMsIHNlbGYudXJsKQor
ICAgICAgICBjb21tZW50ID0gJ3t9IGRvZXMgbm90IGhhdmUge30gcGVybWlzc2lvbnMgYWNjb3Jk
aW5nIHRvIHt9LicuZm9ybWF0KGVtYWlsLCBzdGF0dXMsIENvbnRyaWJ1dG9ycy51cmwpCiAgICAg
ICAgIGNvbW1lbnQgKz0gJ1xuXG5SZWplY3RpbmcgYXR0YWNobWVudCB7fSBmcm9tIGNvbW1pdCBx
dWV1ZS4nLmZvcm1hdChzZWxmLmdldFByb3BlcnR5KCdwYXRjaF9pZCcsICcnKSkKICAgICAgICAg
c2VsZi5zZXRQcm9wZXJ0eSgnYnVnemlsbGFfY29tbWVudF90ZXh0JywgY29tbWVudCkKIApAQCAt
MTAzNyw3ICsxMDU3LDExIEBAIGNsYXNzIFZhbGlkYXRlQ29tbWl0ZXJBbmRSZXZpZXdlcihidWls
ZHN0ZXAuQnVpbGRTdGVwKToKICAgICAgICAgcmV0dXJuIGNvbnRyaWJ1dG9yLmdldCgnbmFtZScp
CiAKICAgICBkZWYgc3RhcnQoc2VsZik6Ci0gICAgICAgIHNlbGYuY29udHJpYnV0b3JzID0gc2Vs
Zi5sb2FkX2NvbnRyaWJ1dG9ycygpCisgICAgICAgIHNlbGYuY29udHJpYnV0b3JzLCBlcnJvcnMg
PSBDb250cmlidXRvcnMubG9hZCgpCisgICAgICAgIGZvciBlcnJvciBpbiBlcnJvcnM6CisgICAg
ICAgICAgICBwcmludChlcnJvcikKKyAgICAgICAgICAgIHNlbGYuX2FkZFRvTG9nKCdzdGRpbycs
IGVycm9yKQorCiAgICAgICAgIGlmIG5vdCBzZWxmLmNvbnRyaWJ1dG9yczoKICAgICAgICAgICAg
IHNlbGYuZmluaXNoZWQoRkFJTFVSRSkKICAgICAgICAgICAgIHNlbGYuZGVzY3JpcHRpb25Eb25l
ID0gJ0ZhaWxlZCB0byBnZXQgY29udHJpYnV0b3JzIGluZm9ybWF0aW9uJwpkaWZmIC0tZ2l0IGEv
VG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9zdGVwc191bml0dGVzdC5weSBiL1Rvb2xzL0NJU3Vw
cG9ydC9ld3MtYnVpbGQvc3RlcHNfdW5pdHRlc3QucHkKaW5kZXggMTI5MDNlMmExNGE0MmJiY2Zm
ODE5YzE5ZTJlNGVjY2E5YWJhNWYwMi4uZmFmY2RjOTM3NTVmMzgzZDA5NDYzYTJlYjg2NWU4ZTBj
MTYyYjc2NSAxMDA2NDQKLS0tIGEvVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9zdGVwc191bml0
dGVzdC5weQorKysgYi9Ub29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzX3VuaXR0ZXN0LnB5
CkBAIC00NCw3ICs0NCw3IEBAIGZyb20gc3RlcHMgaW1wb3J0IChBbmFseXplQVBJVGVzdHNSZXN1
bHRzLCBBbmFseXplQ29tcGlsZVdlYktpdFJlc3VsdHMsIEFuYWx5emVKCiAgICAgICAgICAgICAg
ICAgICAgQW5hbHl6ZUxheW91dFRlc3RzUmVzdWx0cywgQXBwbHlQYXRjaCwgQXBwbHlXYXRjaExp
c3QsIEFyY2hpdmVCdWlsdFByb2R1Y3QsIEFyY2hpdmVUZXN0UmVzdWx0cywKICAgICAgICAgICAg
ICAgICAgICBDaGVja091dFNvdXJjZSwgQ2hlY2tPdXRTcGVjaWZpY1JldmlzaW9uLCBDaGVja1Bh
dGNoUmVsZXZhbmNlLCBDaGVja1BhdGNoU3RhdHVzT25FV1NRdWV1ZXMsIENoZWNrU3R5bGUsCiAg
ICAgICAgICAgICAgICAgICAgQ2xlYW5CdWlsZCwgQ2xlYW5VcEdpdEluZGV4TG9jaywgQ2xlYW5H
aXRSZXBvLCBDbGVhbldvcmtpbmdEaXJlY3RvcnksIENvbXBpbGVKU0MsIENvbXBpbGVKU0NXaXRo
b3V0UGF0Y2gsCi0gICAgICAgICAgICAgICAgICAgQ29tcGlsZVdlYktpdCwgQ29tcGlsZVdlYktp
dFdpdGhvdXRQYXRjaCwgQ29uZmlndXJlQnVpbGQsIENyZWF0ZUxvY2FsR0lUQ29tbWl0LAorICAg
ICAgICAgICAgICAgICAgIENvbXBpbGVXZWJLaXQsIENvbXBpbGVXZWJLaXRXaXRob3V0UGF0Y2gs
IENvbmZpZ3VyZUJ1aWxkLCBDb25maWd1cmVCdWlsZCwgQ29udHJpYnV0b3JzLCBDcmVhdGVMb2Nh
bEdJVENvbW1pdCwKICAgICAgICAgICAgICAgICAgICBEb3dubG9hZEJ1aWx0UHJvZHVjdCwgRG93
bmxvYWRCdWlsdFByb2R1Y3RGcm9tTWFzdGVyLCBFV1NfQlVJTERfSE9TVE5BTUUsIEV4dHJhY3RC
dWlsdFByb2R1Y3QsIEV4dHJhY3RUZXN0UmVzdWx0cywKICAgICAgICAgICAgICAgICAgICBGZXRj
aEJyYW5jaGVzLCBGaW5kTW9kaWZpZWRDaGFuZ2VMb2dzLCBGaW5kTW9kaWZpZWRMYXlvdXRUZXN0
cywgR2l0UmVzZXRIYXJkLAogICAgICAgICAgICAgICAgICAgIEluc3RhbGxCdWlsdFByb2R1Y3Qs
IEluc3RhbGxHdGtEZXBlbmRlbmNpZXMsIEluc3RhbGxXcGVEZXBlbmRlbmNpZXMsCkBAIC00NTg1
LDEwICs0NTg1LDEwIEBAIGNsYXNzIFRlc3RWYWxpZGF0ZUNvbW1pdGVyQW5kUmV2aWV3ZXIoQnVp
bGRTdGVwTWl4aW5BZGRpdGlvbnMsIHVuaXR0ZXN0LlRlc3RDYXNlCiAgICAgZGVmIHNldFVwKHNl
bGYpOgogICAgICAgICBzZWxmLmxvbmdNZXNzYWdlID0gVHJ1ZQogCi0gICAgICAgIGRlZiBtb2Nr
X2xvYWRfY29udHJpYnV0b3JzKGNscywgKmFyZ3MsICoqa3dhcmdzKToKKyAgICAgICAgZGVmIG1v
Y2tfbG9hZF9jb250cmlidXRvcnMoKmFyZ3MsICoqa3dhcmdzKToKICAgICAgICAgICAgIHJldHVy
biB7J2Fha2FzaF9qYWluQGFwcGxlLmNvbSc6IHsnbmFtZSc6ICdBYWthc2ggSmFpbicsICdzdGF0
dXMnOiAncmV2aWV3ZXInfSwKLSAgICAgICAgICAgICAgICAgICAgJ2NvbW1pdHRlckB3ZWJraXQu
b3JnJzogeyduYW1lJzogJ1dlYktpdCBDb21taXR0ZXInLCAnc3RhdHVzJzogJ2NvbW1pdHRlcid9
fQotICAgICAgICBWYWxpZGF0ZUNvbW1pdGVyQW5kUmV2aWV3ZXIubG9hZF9jb250cmlidXRvcnMg
PSBtb2NrX2xvYWRfY29udHJpYnV0b3JzCisgICAgICAgICAgICAgICAgICAgICdjb21taXR0ZXJA
d2Via2l0Lm9yZyc6IHsnbmFtZSc6ICdXZWJLaXQgQ29tbWl0dGVyJywgJ3N0YXR1cyc6ICdjb21t
aXR0ZXInfX0sIFtdCisgICAgICAgIENvbnRyaWJ1dG9ycy5sb2FkID0gbW9ja19sb2FkX2NvbnRy
aWJ1dG9ycwogICAgICAgICByZXR1cm4gc2VsZi5zZXRVcEJ1aWxkU3RlcCgpCiAKICAgICBkZWYg
dGVhckRvd24oc2VsZik6CkBAIC00NjE2LDcgKzQ2MTYsNyBAQCBjbGFzcyBUZXN0VmFsaWRhdGVD
b21taXRlckFuZFJldmlld2VyKEJ1aWxkU3RlcE1peGluQWRkaXRpb25zLCB1bml0dGVzdC5UZXN0
Q2FzZQogICAgICAgICBzZWxmLnNldHVwU3RlcChWYWxpZGF0ZUNvbW1pdGVyQW5kUmV2aWV3ZXIo
KSkKICAgICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgncGF0Y2hfaWQnLCAnMTIzNCcpCiAgICAgICAg
IHNlbGYuc2V0UHJvcGVydHkoJ3BhdGNoX2NvbW1pdHRlcicsICdhYmNAd2Via2l0Lm9yZycpCi0g
ICAgICAgIFZhbGlkYXRlQ29tbWl0ZXJBbmRSZXZpZXdlci5sb2FkX2NvbnRyaWJ1dG9ycyA9IGxh
bWJkYSB4OiB7fQorICAgICAgICBDb250cmlidXRvcnMubG9hZCA9IGxhbWJkYTogKHt9LCBbXSkK
ICAgICAgICAgc2VsZi5leHBlY3RIaWRkZW4oRmFsc2UpCiAgICAgICAgIHNlbGYuZXhwZWN0T3V0
Y29tZShyZXN1bHQ9RkFJTFVSRSwgc3RhdGVfc3RyaW5nPSdGYWlsZWQgdG8gZ2V0IGNvbnRyaWJ1
dG9ycyBpbmZvcm1hdGlvbicpCiAgICAgICAgIHJldHVybiBzZWxmLnJ1blN0ZXAoKQpAQCAtNDYz
OSw4ICs0NjM5LDcgQEAgY2xhc3MgVGVzdFZhbGlkYXRlQ29tbWl0ZXJBbmRSZXZpZXdlcihCdWls
ZFN0ZXBNaXhpbkFkZGl0aW9ucywgdW5pdHRlc3QuVGVzdENhc2UKICAgICAgICAgcmV0dXJuIHNl
bGYucnVuU3RlcCgpCiAKICAgICBkZWYgdGVzdF9sb2FkX2NvbnRyaWJ1dG9yc19mcm9tX2Rpc2so
c2VsZik6Ci0gICAgICAgIFZhbGlkYXRlQ29tbWl0ZXJBbmRSZXZpZXdlci5fYWRkVG9Mb2cgPSBs
YW1iZGEgY2xzLCBsb2d0eXBlLCBsb2c6IHN5cy5zdGRvdXQud3JpdGUobG9nKQotICAgICAgICBj
b250cmlidXRvcnMgPSBmaWx0ZXIobGFtYmRhIGVsZW1lbnQ6IGVsZW1lbnQuZ2V0KCduYW1lJykg
PT0gJ0Fha2FzaCBKYWluJywgVmFsaWRhdGVDb21taXRlckFuZFJldmlld2VyKCkubG9hZF9jb250
cmlidXRvcnNfZnJvbV9kaXNrKCkpCisgICAgICAgIGNvbnRyaWJ1dG9ycyA9IGZpbHRlcihsYW1i
ZGEgZWxlbWVudDogZWxlbWVudC5nZXQoJ25hbWUnKSA9PSAnQWFrYXNoIEphaW4nLCBDb250cmli
dXRvcnMoKS5sb2FkX2Zyb21fZGlzaygpWzBdKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxp
c3QoY29udHJpYnV0b3JzKVswXVsnZW1haWxzJ11bMF0sICdhYWthc2hfamFpbkBhcHBsZS5jb20n
KQogCiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449056</attachid>
            <date>2022-01-13 06:37:33 -0800</date>
            <delta_ts>2022-01-13 06:37:33 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235161-20220113063732.patch</filename>
            <type>text/plain</type>
            <size>10221</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3OTU3CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNTE2OGY0NWY2Nzg0YzFkZWQyOTliNWJkMGIyMjAxM2Nl
YTc1MDA5Yy4uZGZmNzg5ZTc5MzQyZDM3YzExMzU1ODQyMjliYzI4ZDViODI0ZTQwYiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4
IEBACisyMDIyLTAxLTEyICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNvbT4KKwor
ICAgICAgICBbRVdTXSBMb2FkIGNvbnRyaWJ1dG9ycyBmcm9tIHN0YW5kLWFsb25lIGNsYXNzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzUxNjEKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzg3NDkxNTE2PgorCisgICAgICAgIFJldmlld2VkIGJ5IEFh
a2FzaCBKYWluLgorCisgICAgICAgICogQ0lTdXBwb3J0L2V3cy1idWlsZC9zdGVwcy5weToKKyAg
ICAgICAgKENvbnRyaWJ1dG9ycyk6IE1vdmVkIGZyb20gVmFsaWRhdGVDb21taXRlckFuZFJldmll
d2VyLgorICAgICAgICAoVmFsaWRhdGVDb21taXRlckFuZFJldmlld2VyLmxvYWRfY29udHJpYnV0
b3JzX2Zyb21fZGlzayk6IE1vdmVkIHRvIENvbnRyaWJ1dG9ycy4KKyAgICAgICAgKFZhbGlkYXRl
Q29tbWl0ZXJBbmRSZXZpZXdlci5sb2FkX2NvbnRyaWJ1dG9yc19mcm9tX2dpdGh1Yik6IERpdHRv
LgorICAgICAgICAoVmFsaWRhdGVDb21taXRlckFuZFJldmlld2VyLmxvYWRfY29udHJpYnV0b3Jz
KTogRGl0dG8uCisgICAgICAgICogQ0lTdXBwb3J0L2V3cy1idWlsZC9zdGVwc191bml0dGVzdC5w
eToKKwogMjAyMi0wMS0xMiAgSiBQYXNjb2UgIDxqX3Bhc2NvZUBhcHBsZS5jb20+CiAKICAgICAg
ICAgW1dlYkF1dGhuXSBGaXggZnJlZWJpZSBjYWxsIHdpdGhvdXQgdXNlciBnZXN0dXJlIG5vdCBi
ZWluZyBnaXZlbgpkaWZmIC0tZ2l0IGEvVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9zdGVwcy5w
eSBiL1Rvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvc3RlcHMucHkKaW5kZXggMmJiMDM5ODA3N2Nk
MmYxZjM0ZTdkMjAyMTkwYjc3YTBmMDczZmVkYy4uZmUyNGMxMGZjMjQ3YzUwZjEyZTkyNzNhM2Ez
ZTdlYzlmOGNlNDYxMSAxMDA2NDQKLS0tIGEvVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9zdGVw
cy5weQorKysgYi9Ub29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzLnB5CkBAIC04OSw2ICs4
OSw2MCBAQCBjbGFzcyBHaXRIdWIob2JqZWN0KToKICAgICAgICAgcmV0dXJuICd7fXB1bGwve30n
LmZvcm1hdChyZXBvc2l0b3J5X3VybCwgcHJfbnVtYmVyKQogCiAKK2NsYXNzIENvbnRyaWJ1dG9y
cyhvYmplY3QpOgorICAgIHVybCA9ICdodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20v
V2ViS2l0L1dlYktpdC9tYWluL21ldGFkYXRhL2NvbnRyaWJ1dG9ycy5qc29uJworICAgIGNvbnRy
aWJ1dG9ycyA9IHt9CisKKyAgICBAY2xhc3NtZXRob2QKKyAgICBkZWYgbG9hZF9mcm9tX2Rpc2so
Y2xzKToKKyAgICAgICAgY3dkID0gb3MucGF0aC5hYnNwYXRoKG9zLnBhdGguZGlybmFtZShfX2Zp
bGVfXykpCisgICAgICAgIHJlcG9fcm9vdCA9IG9zLnBhdGguZGlybmFtZShvcy5wYXRoLmRpcm5h
bWUob3MucGF0aC5kaXJuYW1lKGN3ZCkpKQorICAgICAgICBjb250cmlidXRvcnNfcGF0aCA9IG9z
LnBhdGguam9pbihyZXBvX3Jvb3QsICdtZXRhZGF0YS9jb250cmlidXRvcnMuanNvbicpCisgICAg
ICAgIHRyeToKKyAgICAgICAgICAgIHdpdGggb3Blbihjb250cmlidXRvcnNfcGF0aCwgJ3JiJykg
YXMgY29udHJpYnV0b3JzX2pzb246CisgICAgICAgICAgICAgICAgcmV0dXJuIGpzb24ubG9hZChj
b250cmlidXRvcnNfanNvbiksIE5vbmUKKyAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgor
ICAgICAgICAgICAgcmV0dXJuIHt9LCAnRmFpbGVkIHRvIGxvYWQge31cbicuZm9ybWF0KGNvbnRy
aWJ1dG9yc19wYXRoKQorCisgICAgQGNsYXNzbWV0aG9kCisgICAgZGVmIGxvYWRfZnJvbV9naXRo
dWIoY2xzKToKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgcmVzcG9uc2UgPSByZXF1ZXN0cy5n
ZXQoY2xzLnVybCwgdGltZW91dD02MCkKKyAgICAgICAgICAgIGlmIHJlc3BvbnNlLnN0YXR1c19j
b2RlICE9IDIwMDoKKyAgICAgICAgICAgICAgICByZXR1cm4ge30sICdGYWlsZWQgdG8gYWNjZXNz
IHt9IHdpdGggc3RhdHVzIGNvZGU6IHt9XG4nLmZvcm1hdChjbHMudXJsLCByZXNwb25zZS5zdGF0
dXNfY29kZSkKKyAgICAgICAgICAgIHJldHVybiByZXNwb25zZS5qc29uKCksIE5vbmUKKyAgICAg
ICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgorICAgICAgICAgICAgcmV0dXJuIHt9LCAnRmFpbGVk
IHRvIGFjY2VzcyB7dXJsfVxuJy5mb3JtYXQodXJsPWNscy51cmwpCisKKyAgICBAY2xhc3NtZXRo
b2QKKyAgICBkZWYgbG9hZChjbHMpOgorICAgICAgICBlcnJvcnMgPSBbXQorICAgICAgICBjb250
cmlidXRvcnNfanNvbiwgZXJyb3IgPSBjbHMubG9hZF9mcm9tX2dpdGh1YigpCisgICAgICAgIGlm
IGVycm9yOgorICAgICAgICAgICAgZXJyb3JzLmFwcGVuZChlcnJvcikKKworICAgICAgICBpZiBu
b3QgY29udHJpYnV0b3JzX2pzb246CisgICAgICAgICAgICBjb250cmlidXRvcnNfanNvbiwgZXJy
b3IgPSBjbHMubG9hZF9mcm9tX2Rpc2soKQorICAgICAgICAgICAgaWYgZXJyb3I6CisgICAgICAg
ICAgICAgICAgZXJyb3JzLmFwcGVuZChlcnJvcikKKworICAgICAgICBjb250cmlidXRvcnMgPSB7
fQorICAgICAgICBmb3IgdmFsdWUgaW4gY29udHJpYnV0b3JzX2pzb246CisgICAgICAgICAgICBu
YW1lID0gdmFsdWUuZ2V0KCduYW1lJykKKyAgICAgICAgICAgIGVtYWlscyA9IHZhbHVlLmdldCgn
ZW1haWxzJykKKyAgICAgICAgICAgIGdpdGh1Yl91c2VybmFtZSA9IHZhbHVlLmdldCgnZ2l0aHVi
JykKKyAgICAgICAgICAgIGlmIG5hbWUgYW5kIGVtYWlsczoKKyAgICAgICAgICAgICAgICBidWd6
aWxsYV9lbWFpbCA9IGVtYWlsc1swXS5sb3dlcigpICAjIFdlJ3JlIHJlcXVpcmluZyB0aGF0IHRo
ZSBmaXJzdCBlbWFpbCBpcyB0aGUgcHJpbWFyeSBidWd6aWxsYSBlbWFpbAorICAgICAgICAgICAg
ICAgIGNvbnRyaWJ1dG9yc1tidWd6aWxsYV9lbWFpbF0gPSB7J25hbWUnOiBuYW1lLCAnc3RhdHVz
JzogdmFsdWUuZ2V0KCdzdGF0dXMnKX0KKyAgICAgICAgICAgIGlmIGdpdGh1Yl91c2VybmFtZSBh
bmQgbmFtZSBhbmQgZW1haWxzOgorICAgICAgICAgICAgICAgIGNvbnRyaWJ1dG9yc1tnaXRodWJf
dXNlcm5hbWVdID0gZGljdCgKKyAgICAgICAgICAgICAgICAgICAgbmFtZT1uYW1lLAorICAgICAg
ICAgICAgICAgICAgICBzdGF0dXM9dmFsdWUuZ2V0KCdzdGF0dXMnKSwKKyAgICAgICAgICAgICAg
ICAgICAgZW1haWw9ZW1haWxzWzBdLAorICAgICAgICAgICAgICAgICkKKyAgICAgICAgcmV0dXJu
IGNvbnRyaWJ1dG9ycywgZXJyb3JzCisKKwogY2xhc3MgQ29uZmlndXJlQnVpbGQoYnVpbGRzdGVw
LkJ1aWxkU3RlcCk6CiAgICAgbmFtZSA9ICdjb25maWd1cmUtYnVpbGQnCiAgICAgZGVzY3JpcHRp
b24gPSBbJ2NvbmZpZ3VyaW5nIGJ1aWxkJ10KQEAgLTk1OCw0NCArMTAxMiwxMCBAQCBjbGFzcyBW
YWxpZGF0ZVBhdGNoKGJ1aWxkc3RlcC5CdWlsZFN0ZXAsIEJ1Z3ppbGxhTWl4aW4pOgogY2xhc3Mg
VmFsaWRhdGVDb21taXRlckFuZFJldmlld2VyKGJ1aWxkc3RlcC5CdWlsZFN0ZXApOgogICAgIG5h
bWUgPSAndmFsaWRhdGUtY29tbWl0ZXItYW5kLXJldmlld2VyJwogICAgIGRlc2NyaXB0aW9uRG9u
ZSA9IFsnVmFsaWRhdGVkIGNvbW1pdGVyIGFuZCByZXZpZXdlciddCi0gICAgdXJsID0gJ2h0dHBz
Oi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9XZWJLaXQvV2ViS2l0L21haW4vbWV0YWRhdGEv
Y29udHJpYnV0b3JzLmpzb24nCi0gICAgY29udHJpYnV0b3JzID0ge30KLQotICAgIGRlZiBsb2Fk
X2NvbnRyaWJ1dG9yc19mcm9tX2Rpc2soc2VsZik6Ci0gICAgICAgIGN3ZCA9IG9zLnBhdGguYWJz
cGF0aChvcy5wYXRoLmRpcm5hbWUoX19maWxlX18pKQotICAgICAgICByZXBvX3Jvb3QgPSBvcy5w
YXRoLmRpcm5hbWUob3MucGF0aC5kaXJuYW1lKG9zLnBhdGguZGlybmFtZShjd2QpKSkKLSAgICAg
ICAgY29udHJpYnV0b3JzX3BhdGggPSBvcy5wYXRoLmpvaW4ocmVwb19yb290LCAnbWV0YWRhdGEv
Y29udHJpYnV0b3JzLmpzb24nKQotICAgICAgICB0cnk6Ci0gICAgICAgICAgICB3aXRoIG9wZW4o
Y29udHJpYnV0b3JzX3BhdGgsICdyYicpIGFzIGNvbnRyaWJ1dG9yc19qc29uOgotICAgICAgICAg
ICAgICAgIHJldHVybiBqc29uLmxvYWQoY29udHJpYnV0b3JzX2pzb24pCi0gICAgICAgIGV4Y2Vw
dCBFeGNlcHRpb24gYXMgZToKLSAgICAgICAgICAgIHNlbGYuX2FkZFRvTG9nKCdzdGRpbycsICdG
YWlsZWQgdG8gbG9hZCB7fVxuJy5mb3JtYXQoY29udHJpYnV0b3JzX3BhdGgpKQotICAgICAgICAg
ICAgcmV0dXJuIHt9Ci0KLSAgICBkZWYgbG9hZF9jb250cmlidXRvcnNfZnJvbV9naXRodWIoc2Vs
Zik6Ci0gICAgICAgIHRyeToKLSAgICAgICAgICAgIHJlc3BvbnNlID0gcmVxdWVzdHMuZ2V0KHNl
bGYudXJsLCB0aW1lb3V0PTYwKQotICAgICAgICAgICAgaWYgcmVzcG9uc2Uuc3RhdHVzX2NvZGUg
IT0gMjAwOgotICAgICAgICAgICAgICAgIHNlbGYuX2FkZFRvTG9nKCdzdGRpbycsICdGYWlsZWQg
dG8gYWNjZXNzIHt9IHdpdGggc3RhdHVzIGNvZGU6IHt9XG4nLmZvcm1hdChzZWxmLnVybCwgcmVz
cG9uc2Uuc3RhdHVzX2NvZGUpKQotICAgICAgICAgICAgICAgIHJldHVybiB7fQotICAgICAgICAg
ICAgcmV0dXJuIHJlc3BvbnNlLmpzb24oKQotICAgICAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6
Ci0gICAgICAgICAgICBzZWxmLl9hZGRUb0xvZygnc3RkaW8nLCAnRmFpbGVkIHRvIGFjY2VzcyB7
dXJsfVxuJy5mb3JtYXQodXJsPXNlbGYudXJsKSkKLSAgICAgICAgICAgIHJldHVybiB7fQogCi0g
ICAgZGVmIGxvYWRfY29udHJpYnV0b3JzKHNlbGYpOgotICAgICAgICBjb250cmlidXRvcnNfanNv
biA9IHNlbGYubG9hZF9jb250cmlidXRvcnNfZnJvbV9naXRodWIoKQotICAgICAgICBpZiBub3Qg
Y29udHJpYnV0b3JzX2pzb246Ci0gICAgICAgICAgICBjb250cmlidXRvcnNfanNvbiA9IHNlbGYu
bG9hZF9jb250cmlidXRvcnNfZnJvbV9kaXNrKCkKLQotICAgICAgICBjb250cmlidXRvcnMgPSB7
fQotICAgICAgICBmb3IgdmFsdWUgaW4gY29udHJpYnV0b3JzX2pzb246Ci0gICAgICAgICAgICBu
YW1lID0gdmFsdWUuZ2V0KCduYW1lJykKLSAgICAgICAgICAgIGVtYWlscyA9IHZhbHVlLmdldCgn
ZW1haWxzJykKLSAgICAgICAgICAgIGlmIG5hbWUgYW5kIGVtYWlsczoKLSAgICAgICAgICAgICAg
ICBidWd6aWxsYV9lbWFpbCA9IGVtYWlsc1swXS5sb3dlcigpICAjIFdlJ3JlIHJlcXVpcmluZyB0
aGF0IHRoZSBmaXJzdCBlbWFpbCBpcyB0aGUgcHJpbWFyeSBidWd6aWxsYSBlbWFpbAotICAgICAg
ICAgICAgICAgIGNvbnRyaWJ1dG9yc1tidWd6aWxsYV9lbWFpbF0gPSB7J25hbWUnOiBuYW1lLCAn
c3RhdHVzJzogdmFsdWUuZ2V0KCdzdGF0dXMnKX0KLSAgICAgICAgcmV0dXJuIGNvbnRyaWJ1dG9y
cworICAgIGRlZiBfX2luaXRfXyhzZWxmLCAqYXJncywgKiprd2FyZ3MpOgorICAgICAgICBzdXBl
cihWYWxpZGF0ZUNvbW1pdGVyQW5kUmV2aWV3ZXIsIHNlbGYpLl9faW5pdF9fKCphcmdzLCAqKmt3
YXJncykKKyAgICAgICAgc2VsZi5jb250cmlidXRvcnMgPSB7fQogCiAgICAgQGRlZmVyLmlubGlu
ZUNhbGxiYWNrcwogICAgIGRlZiBfYWRkVG9Mb2coc2VsZiwgbG9nTmFtZSwgbWVzc2FnZSk6CkBA
IC0xMDEyLDcgKzEwMzIsNyBAQCBjbGFzcyBWYWxpZGF0ZUNvbW1pdGVyQW5kUmV2aWV3ZXIoYnVp
bGRzdGVwLkJ1aWxkU3RlcCk6CiAKICAgICBkZWYgZmFpbF9idWlsZChzZWxmLCBlbWFpbCwgc3Rh
dHVzKToKICAgICAgICAgcmVhc29uID0gJ3t9IGRvZXMgbm90IGhhdmUge30gcGVybWlzc2lvbnMn
LmZvcm1hdChlbWFpbCwgc3RhdHVzKQotICAgICAgICBjb21tZW50ID0gJ3t9IGRvZXMgbm90IGhh
dmUge30gcGVybWlzc2lvbnMgYWNjb3JkaW5nIHRvIHt9LicuZm9ybWF0KGVtYWlsLCBzdGF0dXMs
IHNlbGYudXJsKQorICAgICAgICBjb21tZW50ID0gJ3t9IGRvZXMgbm90IGhhdmUge30gcGVybWlz
c2lvbnMgYWNjb3JkaW5nIHRvIHt9LicuZm9ybWF0KGVtYWlsLCBzdGF0dXMsIENvbnRyaWJ1dG9y
cy51cmwpCiAgICAgICAgIGNvbW1lbnQgKz0gJ1xuXG5SZWplY3RpbmcgYXR0YWNobWVudCB7fSBm
cm9tIGNvbW1pdCBxdWV1ZS4nLmZvcm1hdChzZWxmLmdldFByb3BlcnR5KCdwYXRjaF9pZCcsICcn
KSkKICAgICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgnYnVnemlsbGFfY29tbWVudF90ZXh0JywgY29t
bWVudCkKIApAQCAtMTAzNyw3ICsxMDU3LDExIEBAIGNsYXNzIFZhbGlkYXRlQ29tbWl0ZXJBbmRS
ZXZpZXdlcihidWlsZHN0ZXAuQnVpbGRTdGVwKToKICAgICAgICAgcmV0dXJuIGNvbnRyaWJ1dG9y
LmdldCgnbmFtZScpCiAKICAgICBkZWYgc3RhcnQoc2VsZik6Ci0gICAgICAgIHNlbGYuY29udHJp
YnV0b3JzID0gc2VsZi5sb2FkX2NvbnRyaWJ1dG9ycygpCisgICAgICAgIHNlbGYuY29udHJpYnV0
b3JzLCBlcnJvcnMgPSBDb250cmlidXRvcnMubG9hZCgpCisgICAgICAgIGZvciBlcnJvciBpbiBl
cnJvcnM6CisgICAgICAgICAgICBwcmludChlcnJvcikKKyAgICAgICAgICAgIHNlbGYuX2FkZFRv
TG9nKCdzdGRpbycsIGVycm9yKQorCiAgICAgICAgIGlmIG5vdCBzZWxmLmNvbnRyaWJ1dG9yczoK
ICAgICAgICAgICAgIHNlbGYuZmluaXNoZWQoRkFJTFVSRSkKICAgICAgICAgICAgIHNlbGYuZGVz
Y3JpcHRpb25Eb25lID0gJ0ZhaWxlZCB0byBnZXQgY29udHJpYnV0b3JzIGluZm9ybWF0aW9uJwpk
aWZmIC0tZ2l0IGEvVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9zdGVwc191bml0dGVzdC5weSBi
L1Rvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvc3RlcHNfdW5pdHRlc3QucHkKaW5kZXggMTI5MDNl
MmExNGE0MmJiY2ZmODE5YzE5ZTJlNGVjY2E5YWJhNWYwMi4uZmFmY2RjOTM3NTVmMzgzZDA5NDYz
YTJlYjg2NWU4ZTBjMTYyYjc2NSAxMDA2NDQKLS0tIGEvVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWls
ZC9zdGVwc191bml0dGVzdC5weQorKysgYi9Ub29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBz
X3VuaXR0ZXN0LnB5CkBAIC00NCw3ICs0NCw3IEBAIGZyb20gc3RlcHMgaW1wb3J0IChBbmFseXpl
QVBJVGVzdHNSZXN1bHRzLCBBbmFseXplQ29tcGlsZVdlYktpdFJlc3VsdHMsIEFuYWx5emVKCiAg
ICAgICAgICAgICAgICAgICAgQW5hbHl6ZUxheW91dFRlc3RzUmVzdWx0cywgQXBwbHlQYXRjaCwg
QXBwbHlXYXRjaExpc3QsIEFyY2hpdmVCdWlsdFByb2R1Y3QsIEFyY2hpdmVUZXN0UmVzdWx0cywK
ICAgICAgICAgICAgICAgICAgICBDaGVja091dFNvdXJjZSwgQ2hlY2tPdXRTcGVjaWZpY1Jldmlz
aW9uLCBDaGVja1BhdGNoUmVsZXZhbmNlLCBDaGVja1BhdGNoU3RhdHVzT25FV1NRdWV1ZXMsIENo
ZWNrU3R5bGUsCiAgICAgICAgICAgICAgICAgICAgQ2xlYW5CdWlsZCwgQ2xlYW5VcEdpdEluZGV4
TG9jaywgQ2xlYW5HaXRSZXBvLCBDbGVhbldvcmtpbmdEaXJlY3RvcnksIENvbXBpbGVKU0MsIENv
bXBpbGVKU0NXaXRob3V0UGF0Y2gsCi0gICAgICAgICAgICAgICAgICAgQ29tcGlsZVdlYktpdCwg
Q29tcGlsZVdlYktpdFdpdGhvdXRQYXRjaCwgQ29uZmlndXJlQnVpbGQsIENyZWF0ZUxvY2FsR0lU
Q29tbWl0LAorICAgICAgICAgICAgICAgICAgIENvbXBpbGVXZWJLaXQsIENvbXBpbGVXZWJLaXRX
aXRob3V0UGF0Y2gsIENvbmZpZ3VyZUJ1aWxkLCBDb25maWd1cmVCdWlsZCwgQ29udHJpYnV0b3Jz
LCBDcmVhdGVMb2NhbEdJVENvbW1pdCwKICAgICAgICAgICAgICAgICAgICBEb3dubG9hZEJ1aWx0
UHJvZHVjdCwgRG93bmxvYWRCdWlsdFByb2R1Y3RGcm9tTWFzdGVyLCBFV1NfQlVJTERfSE9TVE5B
TUUsIEV4dHJhY3RCdWlsdFByb2R1Y3QsIEV4dHJhY3RUZXN0UmVzdWx0cywKICAgICAgICAgICAg
ICAgICAgICBGZXRjaEJyYW5jaGVzLCBGaW5kTW9kaWZpZWRDaGFuZ2VMb2dzLCBGaW5kTW9kaWZp
ZWRMYXlvdXRUZXN0cywgR2l0UmVzZXRIYXJkLAogICAgICAgICAgICAgICAgICAgIEluc3RhbGxC
dWlsdFByb2R1Y3QsIEluc3RhbGxHdGtEZXBlbmRlbmNpZXMsIEluc3RhbGxXcGVEZXBlbmRlbmNp
ZXMsCkBAIC00NTg1LDEwICs0NTg1LDEwIEBAIGNsYXNzIFRlc3RWYWxpZGF0ZUNvbW1pdGVyQW5k
UmV2aWV3ZXIoQnVpbGRTdGVwTWl4aW5BZGRpdGlvbnMsIHVuaXR0ZXN0LlRlc3RDYXNlCiAgICAg
ZGVmIHNldFVwKHNlbGYpOgogICAgICAgICBzZWxmLmxvbmdNZXNzYWdlID0gVHJ1ZQogCi0gICAg
ICAgIGRlZiBtb2NrX2xvYWRfY29udHJpYnV0b3JzKGNscywgKmFyZ3MsICoqa3dhcmdzKToKKyAg
ICAgICAgZGVmIG1vY2tfbG9hZF9jb250cmlidXRvcnMoKmFyZ3MsICoqa3dhcmdzKToKICAgICAg
ICAgICAgIHJldHVybiB7J2Fha2FzaF9qYWluQGFwcGxlLmNvbSc6IHsnbmFtZSc6ICdBYWthc2gg
SmFpbicsICdzdGF0dXMnOiAncmV2aWV3ZXInfSwKLSAgICAgICAgICAgICAgICAgICAgJ2NvbW1p
dHRlckB3ZWJraXQub3JnJzogeyduYW1lJzogJ1dlYktpdCBDb21taXR0ZXInLCAnc3RhdHVzJzog
J2NvbW1pdHRlcid9fQotICAgICAgICBWYWxpZGF0ZUNvbW1pdGVyQW5kUmV2aWV3ZXIubG9hZF9j
b250cmlidXRvcnMgPSBtb2NrX2xvYWRfY29udHJpYnV0b3JzCisgICAgICAgICAgICAgICAgICAg
ICdjb21taXR0ZXJAd2Via2l0Lm9yZyc6IHsnbmFtZSc6ICdXZWJLaXQgQ29tbWl0dGVyJywgJ3N0
YXR1cyc6ICdjb21taXR0ZXInfX0sIFtdCisgICAgICAgIENvbnRyaWJ1dG9ycy5sb2FkID0gbW9j
a19sb2FkX2NvbnRyaWJ1dG9ycwogICAgICAgICByZXR1cm4gc2VsZi5zZXRVcEJ1aWxkU3RlcCgp
CiAKICAgICBkZWYgdGVhckRvd24oc2VsZik6CkBAIC00NjE2LDcgKzQ2MTYsNyBAQCBjbGFzcyBU
ZXN0VmFsaWRhdGVDb21taXRlckFuZFJldmlld2VyKEJ1aWxkU3RlcE1peGluQWRkaXRpb25zLCB1
bml0dGVzdC5UZXN0Q2FzZQogICAgICAgICBzZWxmLnNldHVwU3RlcChWYWxpZGF0ZUNvbW1pdGVy
QW5kUmV2aWV3ZXIoKSkKICAgICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgncGF0Y2hfaWQnLCAnMTIz
NCcpCiAgICAgICAgIHNlbGYuc2V0UHJvcGVydHkoJ3BhdGNoX2NvbW1pdHRlcicsICdhYmNAd2Vi
a2l0Lm9yZycpCi0gICAgICAgIFZhbGlkYXRlQ29tbWl0ZXJBbmRSZXZpZXdlci5sb2FkX2NvbnRy
aWJ1dG9ycyA9IGxhbWJkYSB4OiB7fQorICAgICAgICBDb250cmlidXRvcnMubG9hZCA9IGxhbWJk
YTogKHt9LCBbXSkKICAgICAgICAgc2VsZi5leHBlY3RIaWRkZW4oRmFsc2UpCiAgICAgICAgIHNl
bGYuZXhwZWN0T3V0Y29tZShyZXN1bHQ9RkFJTFVSRSwgc3RhdGVfc3RyaW5nPSdGYWlsZWQgdG8g
Z2V0IGNvbnRyaWJ1dG9ycyBpbmZvcm1hdGlvbicpCiAgICAgICAgIHJldHVybiBzZWxmLnJ1blN0
ZXAoKQpAQCAtNDYzOSw4ICs0NjM5LDcgQEAgY2xhc3MgVGVzdFZhbGlkYXRlQ29tbWl0ZXJBbmRS
ZXZpZXdlcihCdWlsZFN0ZXBNaXhpbkFkZGl0aW9ucywgdW5pdHRlc3QuVGVzdENhc2UKICAgICAg
ICAgcmV0dXJuIHNlbGYucnVuU3RlcCgpCiAKICAgICBkZWYgdGVzdF9sb2FkX2NvbnRyaWJ1dG9y
c19mcm9tX2Rpc2soc2VsZik6Ci0gICAgICAgIFZhbGlkYXRlQ29tbWl0ZXJBbmRSZXZpZXdlci5f
YWRkVG9Mb2cgPSBsYW1iZGEgY2xzLCBsb2d0eXBlLCBsb2c6IHN5cy5zdGRvdXQud3JpdGUobG9n
KQotICAgICAgICBjb250cmlidXRvcnMgPSBmaWx0ZXIobGFtYmRhIGVsZW1lbnQ6IGVsZW1lbnQu
Z2V0KCduYW1lJykgPT0gJ0Fha2FzaCBKYWluJywgVmFsaWRhdGVDb21taXRlckFuZFJldmlld2Vy
KCkubG9hZF9jb250cmlidXRvcnNfZnJvbV9kaXNrKCkpCisgICAgICAgIGNvbnRyaWJ1dG9ycyA9
IGZpbHRlcihsYW1iZGEgZWxlbWVudDogZWxlbWVudC5nZXQoJ25hbWUnKSA9PSAnQWFrYXNoIEph
aW4nLCBDb250cmlidXRvcnMoKS5sb2FkX2Zyb21fZGlzaygpWzBdKQogICAgICAgICBzZWxmLmFz
c2VydEVxdWFsKGxpc3QoY29udHJpYnV0b3JzKVswXVsnZW1haWxzJ11bMF0sICdhYWthc2hfamFp
bkBhcHBsZS5jb20nKQogCiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>