<?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>229406</bug_id>
          
          <creation_ts>2021-08-23 03:55:20 -0700</creation_ts>
          <short_desc>Add &quot;payment&quot; permissions policy</short_desc>
          <delta_ts>2021-10-01 17:57:07 -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>New Bugs</component>
          <version>Safari 14</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="Marcos Caceres">marcos</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>aestes</cc>
    
    <cc>brad.girardeau</cc>
    
    <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hi</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
    
    <cc>zcorpan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1786383</commentid>
    <comment_count>0</comment_count>
    <who name="Marcos Caceres">marcos</who>
    <bug_when>2021-08-23 03:55:20 -0700</bug_when>
    <thetext>The Payment Request API [1] defines defines a policy-controlled feature identified by the string &quot;payment&quot; [permissions-policy]. Its default allowlist is &apos;self&apos;.

However, WebKit currently doesn&apos;t include &quot;payment&quot; as policy controlled feature. 


[1] https://www.w3.org/TR/payment-request/#permissions-policy</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1786385</commentid>
    <comment_count>1</comment_count>
      <attachid>436180</attachid>
    <who name="Marcos Caceres">marcos</who>
    <bug_when>2021-08-23 04:06:38 -0700</bug_when>
    <thetext>Created attachment 436180
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1787028</commentid>
    <comment_count>2</comment_count>
    <who name="Marcos Caceres">marcos</who>
    <bug_when>2021-08-24 17:33:08 -0700</bug_when>
    <thetext>Lacking tests right now, for reasons we discussed on Slack... with a little guidance, I should be able to add them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1787485</commentid>
    <comment_count>3</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-08-26 00:05:50 -0700</bug_when>
    <thetext>We have some WebKit specific tests, for instance LayoutTests/http/tests/media/media-stream/enumerate-devices-iframe-allow-attribute.html.
We also have WPT LayoutTests/imported/w3c/web-platform-tests/mediacapture-streams/MediaStream-default-feature-policy.https.html for instance.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1787486</commentid>
    <comment_count>4</comment_count>
    <who name="Marcos Caceres">marcos</who>
    <bug_when>2021-08-26 00:07:06 -0700</bug_when>
    <thetext>(In reply to youenn fablet from comment #3)
&gt; We have some WebKit specific tests, for instance
&gt; LayoutTests/http/tests/media/media-stream/enumerate-devices-iframe-allow-
&gt; attribute.html.
&gt; We also have WPT
&gt; LayoutTests/imported/w3c/web-platform-tests/mediacapture-streams/MediaStream-
&gt; default-feature-policy.https.html for instance.

Thanks Youenn! I&apos;ll create some tests off those.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1787806</commentid>
    <comment_count>5</comment_count>
      <attachid>436180</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-08-26 14:33:30 -0700</bug_when>
    <thetext>Comment on attachment 436180
Patch

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

&gt; Source/WebCore/Modules/paymentrequest/PaymentRequest.cpp:294
&gt; +    if (!isFeaturePolicyAllowedByDocumentAndAllOwners(FeaturePolicy::Type::Payment, document, LogFeaturePolicyFailure::Yes))

Rather than doing this here, I wonder if this should be moved to `PaymentSession::canCreateSession` so that stuff like `ApplePaySession.canMakePayments` would also throw unless the `&quot;payment&quot;` feature policy is allowed.  This would also cover someone trying to use the Apple Pay JS API &lt;https://developer.apple.com/documentation/apple_pay_on_the_web/apple_pay_js_api&gt;, which I&apos;d imagine should also be covered by this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788409</commentid>
    <comment_count>6</comment_count>
    <who name="Sam Sneddon [:gsnedders]">gsnedders</who>
    <bug_when>2021-08-29 14:22:09 -0700</bug_when>
    <thetext>is this just a dupe of Bug 167417? though given work has been happening here, maybe we should just forward-dupe that to here</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788436</commentid>
    <comment_count>7</comment_count>
    <who name="Marcos Caceres">marcos</who>
    <bug_when>2021-08-29 21:01:03 -0700</bug_when>
    <thetext>(In reply to Sam Sneddon [:gsnedders] from comment #6)
&gt; is this just a dupe of Bug 167417? 

Yes, indeed. Although the scope of this one is a little bigger (it&apos;s the iframe and respecting the http header).  

&gt; though given work has been happening
&gt; here, maybe we should just forward-dupe that to here

Yes, that be great.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788472</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-08-30 03:56:26 -0700</bug_when>
    <thetext>&lt;rdar://problem/82518272&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1789297</commentid>
    <comment_count>9</comment_count>
      <attachid>437018</attachid>
    <who name="Marcos Caceres">marcos</who>
    <bug_when>2021-09-01 05:03:28 -0700</bug_when>
    <thetext>Created attachment 437018
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1789311</commentid>
    <comment_count>10</comment_count>
    <who name="Sam Sneddon [:gsnedders]">gsnedders</who>
    <bug_when>2021-09-01 06:57:23 -0700</bug_when>
    <thetext>*** Bug 167417 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1789405</commentid>
    <comment_count>11</comment_count>
      <attachid>437018</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-09-01 12:10:20 -0700</bug_when>
    <thetext>Comment on attachment 437018
Patch

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

r=me

&gt; Source/WebCore/Modules/applepay/PaymentSession.cpp:54
&gt; +        return Exception { SecurityError, &quot;Payment Request API is disabled Permissions Policy.&quot;_s };

Can we make this error into an actual sentence?  Maybe `&quot;Third-party iframes are not allowed to request payments unless explicitly allowed via Feature-Policy (payment)&quot;`?

&gt; Source/WebCore/Modules/paymentrequest/PaymentRequest.cpp:34
&gt; +#include &quot;FeaturePolicy.h&quot;

NIT: I don&apos;t think this is needed anymore</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1789469</commentid>
    <comment_count>12</comment_count>
      <attachid>437065</attachid>
    <who name="Marcos Caceres">marcos</who>
    <bug_when>2021-09-01 13:54:22 -0700</bug_when>
    <thetext>Created attachment 437065
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1789513</commentid>
    <comment_count>13</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-09-01 15:54:49 -0700</bug_when>
    <thetext>Committed r281885 (241215@main): &lt;https://commits.webkit.org/241215@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 437065.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793142</commentid>
    <comment_count>14</comment_count>
    <who name="Brad">brad.girardeau</who>
    <bug_when>2021-09-13 16:15:51 -0700</bug_when>
    <thetext>Hi glad to see progress here! This doesn&apos;t seem to resolve this duplicate issue: https://bugs.webkit.org/show_bug.cgi?id=226345.

The issue is that https://trac.webkit.org/browser/webkit/trunk/Source/WebCore/Modules/applepay/PaymentSession.cpp?rev=281885#L66 still requires the origins of ancestors frames to match. This seems reasonable to remove now that payments policy is enforced (and is not available to third parties by default).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793528</commentid>
    <comment_count>15</comment_count>
    <who name="Marcos Caceres">marcos</who>
    <bug_when>2021-09-14 17:15:46 -0700</bug_when>
    <thetext>(In reply to Brad from comment #14)
&gt; Hi glad to see progress here! This doesn&apos;t seem to resolve this duplicate
&gt; issue: https://bugs.webkit.org/show_bug.cgi?id=226345.
&gt; 
&gt; The issue is that
&gt; https://trac.webkit.org/browser/webkit/trunk/Source/WebCore/Modules/applepay/
&gt; PaymentSession.cpp?rev=281885#L66 still requires the origins of ancestors
&gt; frames to match. This seems reasonable to remove now that payments policy is
&gt; enforced (and is not available to third parties by default).

Yes, that&apos;s definitely true. I&apos;m guessing that&apos;s a product decision and not a bug? 

It would be great to get input from Apple Pay folks on the above, as there may be technical or security issues around the same origin enforcement.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1799669</commentid>
    <comment_count>16</comment_count>
    <who name="Brad">brad.girardeau</who>
    <bug_when>2021-10-01 17:57:07 -0700</bug_when>
    <thetext>Sure is there an update from them? I reopened the other ticket.

From the developer perspective, it makes it difficult to build a safe Apple Pay integration when using third party vendors, which need to be trusted to process payments but not to receive access to sensitive user data and cookies on the top level origin.

This top level origin restriction made sense from a security perspective before the &quot;payment&quot; permissions policy was implemented, to prevent arbitrary iframes from asking for payments that the top origin didn&apos;t intend. But now that this attribute works and is default denied, it seems safe to allow top origins to delegate the ability to their own payment vendors in specific iframes.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>436180</attachid>
            <date>2021-08-23 04:06:38 -0700</date>
            <delta_ts>2021-09-01 05:03:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229406-20210823210637.patch</filename>
            <type>text/plain</type>
            <size>5101</size>
            <attacher name="Marcos Caceres">marcos</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxMjIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2Q1OTAwOTQ3MjZkNzcx
YTJmYjRlNDc4ZjZlOTg3NTZkZWUyNGQxYy4uMmFmZmQyY2E2ZjM5ZjM3MGZhNTg2OThhMDcwMTRj
MDg4NmEzMDc2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDIxLTA4LTIzICBNYXJj
b3MgQ2FjZXJlcyAgPG1hcmNvc0BtYXJjb3NjLmNvbT4KKworICAgICAgICBBZGQgInBheW1lbnQi
IHBlcm1pc3Npb25zIHBvbGljeQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjI5NDA2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgV2lsbCBhZGQvZml4IHRlc3RzIGFzIHRoZXkgZmFpbCBhbmQgdmlhIFdQVCAo
Y2FuJ3QgdGVzdCBsb2NhbGx5KS4KKworICAgICAgICAqIE1vZHVsZXMvcGF5bWVudHJlcXVlc3Qv
UGF5bWVudFJlcXVlc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGF5bWVudFJlcXVlc3Q6OmNy
ZWF0ZSk6CisgICAgICAgICogaHRtbC9GZWF0dXJlUG9saWN5LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OnBvbGljeVR5cGVOYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OkZlYXR1cmVQb2xpY3k6OnBh
cnNlKToKKyAgICAgICAgKFdlYkNvcmU6OkZlYXR1cmVQb2xpY3k6OmFsbG93cyBjb25zdCk6Cisg
ICAgICAgICogaHRtbC9GZWF0dXJlUG9saWN5Lmg6CisKIDIwMjEtMDgtMTggIERhdmlkIEtpbHpl
ciAgPGRka2lsemVyQGFwcGxlLmNvbT4KIAogICAgICAgICBCdWcgMjI5MjY0OiBMZWFrIG9mIENN
QnVmZmVyUXVldWVSZWYgKHVwIHRvIDc1MiBieXRlcyBlYWNoKSBpbiBjb20uYXBwbGUuV2ViS2l0
LkdQVS5EZXZlbG9wbWVudCBwcm9jZXNzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3QuY3BwCmluZGV4IGE0MWZhMDg2NDI0
YjU2ODEyNjY0NTQ0MzQ3OWFlYWY5YzY5NzNmNGYuLjMxYjQ1NWJhNjVhZmE1NTA5NTViOGI2NTRj
ZjdmYjVhNGI0NzVmZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVu
dHJlcXVlc3QvUGF5bWVudFJlcXVlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
cGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3QuY3BwCkBAIC0zMSw2ICszMSw3IEBACiAjaW5j
bHVkZSAiQXBwbGVQYXlQYXltZW50SGFuZGxlci5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAj
aW5jbHVkZSAiRXZlbnROYW1lcy5oIgorI2luY2x1ZGUgIkZlYXR1cmVQb2xpY3kuaCIKICNpbmNs
dWRlICJKU0RPTVByb21pc2UuaCIKICNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgog
I2luY2x1ZGUgIkpTUGF5bWVudERldGFpbHNVcGRhdGUuaCIKQEAgLTI5MCw2ICsyOTEsOSBAQCBz
dGF0aWMgU3RyaW5nIHN0cmluZ2lmeShjb25zdCBQYXltZW50UmVxdWVzdDo6TWV0aG9kSWRlbnRp
ZmllciYgaWRlbnRpZmllcikKIC8vIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9wYXltZW50LXJlcXVl
c3QvI2NvbnN0cnVjdG9yCiBFeGNlcHRpb25PcjxSZWY8UGF5bWVudFJlcXVlc3Q+PiBQYXltZW50
UmVxdWVzdDo6Y3JlYXRlKERvY3VtZW50JiBkb2N1bWVudCwgVmVjdG9yPFBheW1lbnRNZXRob2RE
YXRhPiYmIG1ldGhvZERhdGEsIFBheW1lbnREZXRhaWxzSW5pdCYmIGRldGFpbHMsIFBheW1lbnRP
cHRpb25zJiYgb3B0aW9ucykKIHsKKyAgICBpZiAoIWlzRmVhdHVyZVBvbGljeUFsbG93ZWRCeURv
Y3VtZW50QW5kQWxsT3duZXJzKEZlYXR1cmVQb2xpY3k6OlR5cGU6OlBheW1lbnQsIGRvY3VtZW50
LCBMb2dGZWF0dXJlUG9saWN5RmFpbHVyZTo6WWVzKSkKKyAgICAgICAgcmV0dXJuIEV4Y2VwdGlv
biB7IFNlY3VyaXR5RXJyb3IsICJQYXltZW50IFJlcXVlc3QgQVBJIGlzIGRpc2FibGVkIFBlcm1p
c3Npb25zIFBvbGljeS4iX3MgfTsKKwogICAgIGF1dG8gY2FuQ3JlYXRlU2Vzc2lvbiA9IFBheW1l
bnRIYW5kbGVyOjpjYW5DcmVhdGVTZXNzaW9uKGRvY3VtZW50KTsKICAgICBpZiAoY2FuQ3JlYXRl
U2Vzc2lvbi5oYXNFeGNlcHRpb24oKSkKICAgICAgICAgcmV0dXJuIGNhbkNyZWF0ZVNlc3Npb24u
cmVsZWFzZUV4Y2VwdGlvbigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9GZWF0
dXJlUG9saWN5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRmVhdHVyZVBvbGljeS5jcHAKaW5k
ZXggODMyYWJiYWE3ZjNjZDcyZDliOGEyODZhOGZlOTA3OTAzZDU4ZDI4ZC4uYTU4YjRiN2I0ZDQy
YzdjZmY5ZTdhYjBmNmUzZWQzZjFlMjdjZjg0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9GZWF0dXJlUG9saWN5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0ZlYXR1cmVQ
b2xpY3kuY3BwCkBAIC01MCw2ICs1MCw4IEBAIHN0YXRpYyBjb25zdCBjaGFyKiBwb2xpY3lUeXBl
TmFtZShGZWF0dXJlUG9saWN5OjpUeXBlIHR5cGUpCiAgICAgICAgIHJldHVybiAiRGlzcGxheUNh
cHR1cmUiOwogICAgIGNhc2UgRmVhdHVyZVBvbGljeTo6VHlwZTo6R2VvbG9jYXRpb246CiAgICAg
ICAgIHJldHVybiAiR2VvbG9jYXRpb24iOworICAgIGNhc2UgRmVhdHVyZVBvbGljeTo6VHlwZTo6
UGF5bWVudDoKKyAgICAgICAgcmV0dXJuICJQYXltZW50IjsKICAgICBjYXNlIEZlYXR1cmVQb2xp
Y3k6OlR5cGU6OlN5bmNYSFI6CiAgICAgICAgIHJldHVybiAiU3luY1hIUiI7CiAgICAgY2FzZSBG
ZWF0dXJlUG9saWN5OjpUeXBlOjpGdWxsc2NyZWVuOgpAQCAtMTcwLDYgKzE3Miw3IEBAIEZlYXR1
cmVQb2xpY3kgRmVhdHVyZVBvbGljeTo6cGFyc2UoRG9jdW1lbnQmIGRvY3VtZW50LCBjb25zdCBI
VE1MSUZyYW1lRWxlbWVudCYKICAgICBib29sIGlzU3BlYWtlclNlbGVjdGlvbkluaXRpYWxpemVk
ID0gZmFsc2U7CiAgICAgYm9vbCBpc0Rpc3BsYXlDYXB0dXJlSW5pdGlhbGl6ZWQgPSBmYWxzZTsK
ICAgICBib29sIGlzR2VvbG9jYXRpb25Jbml0aWFsaXplZCA9IGZhbHNlOworICAgIGJvb2wgaXNQ
YXltZW50SW5pdGlhbGl6ZWQgPSBmYWxzZTsKICAgICBib29sIGlzU3luY1hIUkluaXRpYWxpemVk
ID0gZmFsc2U7CiAgICAgYm9vbCBpc0Z1bGxzY3JlZW5Jbml0aWFsaXplZCA9IGZhbHNlOwogI2lm
IEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCkBAIC0yMDcsNiArMjEwLDExIEBAIEZlYXR1cmVQ
b2xpY3kgRmVhdHVyZVBvbGljeTo6cGFyc2UoRG9jdW1lbnQmIGRvY3VtZW50LCBjb25zdCBIVE1M
SUZyYW1lRWxlbWVudCYKICAgICAgICAgICAgIHVwZGF0ZUxpc3QoZG9jdW1lbnQsIHBvbGljeS5t
X2dlb2xvY2F0aW9uUnVsZSwgaXRlbS5zdWJzdHJpbmcoMTIpKTsKICAgICAgICAgICAgIGNvbnRp
bnVlOwogICAgICAgICB9CisgICAgICAgIGlmIChpdGVtLnN0YXJ0c1dpdGgoInBheW1lbnQiKSkg
eworICAgICAgICAgICAgaXNQYXltZW50SW5pdGlhbGl6ZWQgPSB0cnVlOworICAgICAgICAgICAg
dXBkYXRlTGlzdChkb2N1bWVudCwgcG9saWN5Lm1fcGF5bWVudFJ1bGUsIGl0ZW0uc3Vic3RyaW5n
KDgpKTsKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICB9CiAgICAgICAgIGlmIChpdGVt
LnN0YXJ0c1dpdGgoInN5bmMteGhyIikpIHsKICAgICAgICAgICAgIGlzU3luY1hIUkluaXRpYWxp
emVkID0gdHJ1ZTsKICAgICAgICAgICAgIHVwZGF0ZUxpc3QoZG9jdW1lbnQsIHBvbGljeS5tX3N5
bmNYSFJSdWxlLCBpdGVtLnN1YnN0cmluZyg5KSk7CkBAIC0zMDEsNiArMzA5LDggQEAgYm9vbCBG
ZWF0dXJlUG9saWN5OjphbGxvd3MoVHlwZSB0eXBlLCBjb25zdCBTZWN1cml0eU9yaWdpbkRhdGEm
IG9yaWdpbikgY29uc3QKICAgICAgICAgcmV0dXJuIGlzQWxsb3dlZEJ5RmVhdHVyZVBvbGljeSht
X2Rpc3BsYXlDYXB0dXJlUnVsZSwgb3JpZ2luKTsKICAgICBjYXNlIFR5cGU6Okdlb2xvY2F0aW9u
OgogICAgICAgICByZXR1cm4gaXNBbGxvd2VkQnlGZWF0dXJlUG9saWN5KG1fZ2VvbG9jYXRpb25S
dWxlLCBvcmlnaW4pOworICAgIGNhc2UgVHlwZTo6UGF5bWVudDoKKyAgICAgICAgcmV0dXJuIGlz
QWxsb3dlZEJ5RmVhdHVyZVBvbGljeShtX3BheW1lbnRSdWxlLCBvcmlnaW4pOwogICAgIGNhc2Ug
VHlwZTo6U3luY1hIUjoKICAgICAgICAgcmV0dXJuIGlzQWxsb3dlZEJ5RmVhdHVyZVBvbGljeSht
X3N5bmNYSFJSdWxlLCBvcmlnaW4pOwogICAgIGNhc2UgVHlwZTo6RnVsbHNjcmVlbjoKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRmVhdHVyZVBvbGljeS5oIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9GZWF0dXJlUG9saWN5LmgKaW5kZXggN2I2NDU2MTcxNjVmNDAxY2UzYmI4MDFkMzIw
MjA5NTg3NTIxYjY4NC4uNzllNjZmYjE2NDFiMjQxNmJiMzk3NmI3NmExNDhhOGExMGZkYWY3NSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9GZWF0dXJlUG9saWN5LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9GZWF0dXJlUG9saWN5LmgKQEAgLTQ0LDYgKzQ0LDcgQEAgcHVibGlj
OgogICAgICAgICBTcGVha2VyU2VsZWN0aW9uLAogICAgICAgICBEaXNwbGF5Q2FwdHVyZSwKICAg
ICAgICAgR2VvbG9jYXRpb24sCisgICAgICAgIFBheW1lbnQsCiAgICAgICAgIFN5bmNYSFIsCiAg
ICAgICAgIEZ1bGxzY3JlZW4sCiAjaWYgRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKQEAgLTY5
LDYgKzcwLDcgQEAgcHJpdmF0ZToKICAgICBBbGxvd1J1bGUgbV9zcGVha2VyU2VsZWN0aW9uUnVs
ZTsKICAgICBBbGxvd1J1bGUgbV9kaXNwbGF5Q2FwdHVyZVJ1bGU7CiAgICAgQWxsb3dSdWxlIG1f
Z2VvbG9jYXRpb25SdWxlOworICAgIEFsbG93UnVsZSBtX3BheW1lbnRSdWxlOwogICAgIEFsbG93
UnVsZSBtX3N5bmNYSFJSdWxlOwogICAgIEFsbG93UnVsZSBtX2Z1bGxzY3JlZW5SdWxlOwogI2lm
IEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>437018</attachid>
            <date>2021-09-01 05:03:28 -0700</date>
            <delta_ts>2021-09-01 13:54:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229406-20210901220326.patch</filename>
            <type>text/plain</type>
            <size>17251</size>
            <attacher name="Marcos Caceres">marcos</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxODMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDkwZDBlOWJmM2M3ZmM1
YmRhZDFmMWIxMmM2YTIyNjc0NDM1YmNlMi4uOTViYTQ3MmY1MmU4MzA1OWEzODc1OTY4YTdmNjZj
NTM2MzcxNTZiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDIxLTA5LTAxICBNYXJj
b3MgQ2FjZXJlcyAgPG1hcmNvc0BtYXJjb3NjLmNvbT4KKworICAgICAgICBBZGQgInBheW1lbnQi
IHBlcm1pc3Npb25zIHBvbGljeQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjI5NDA2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGV2aW4gUm91c3NvLgor
CisgICAgICAgIFRlc3Q6IGh0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QvcGF5bWVudC1hbGxvdy1h
dHRyaWJ1dGUuaHR0cHMuaHRtbAorCisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9QYXltZW50
U2Vzc2lvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQYXltZW50U2Vzc2lvbjo6Y2FuQ3JlYXRl
U2Vzc2lvbik6CisgICAgICAgICogTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVz
dC5jcHA6CisgICAgICAgICogaHRtbC9GZWF0dXJlUG9saWN5LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OnBvbGljeVR5cGVOYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OkZlYXR1cmVQb2xpY3k6OnBh
cnNlKToKKyAgICAgICAgKFdlYkNvcmU6OkZlYXR1cmVQb2xpY3k6OmFsbG93cyBjb25zdCk6Cisg
ICAgICAgICogaHRtbC9GZWF0dXJlUG9saWN5Lmg6CisKIDIwMjEtMDgtMzEgIEthdGUgQ2hlbmV5
ICA8a2F0aGVyaW5lX2NoZW5leUBhcHBsZS5jb20+CiAKICAgICAgICAgVXNlIGFmdGVyIG1vdmUg
aW4gU2VydmljZVdvcmtlclRocmVhZFByb3h5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2FwcGxlcGF5L1BheW1lbnRTZXNzaW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvYXBwbGVwYXkvUGF5bWVudFNlc3Npb24uY3BwCmluZGV4IDg5MWI3NGQ5NzM5NzAyYjg5Zjhj
NGQyNjMzN2JmY2YxNWE5YzVmNzQuLmU0MTg4ODRmOTFkZDgxMWIxN2IwZDg4ZTZjYjM1NTMwOGE3
NDJkZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVu
dFNlc3Npb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVu
dFNlc3Npb24uY3BwCkBAIC0zMCw2ICszMCw3IEBACiAKICNpbmNsdWRlICJEb2N1bWVudC5oIgog
I2luY2x1ZGUgIkRvY3VtZW50TG9hZGVyLmgiCisjaW5jbHVkZSAiRmVhdHVyZVBvbGljeS5oIgog
I2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQYXltZW50Q29vcmRpbmF0b3IuaCIKICNpbmNs
dWRlICJTZWN1cml0eU9yaWdpbi5oIgpAQCAtNDksNiArNTAsOSBAQCBzdGF0aWMgYm9vbCBpc1Nl
Y3VyZShEb2N1bWVudExvYWRlciYgZG9jdW1lbnRMb2FkZXIpCiAKIEV4Y2VwdGlvbk9yPHZvaWQ+
IFBheW1lbnRTZXNzaW9uOjpjYW5DcmVhdGVTZXNzaW9uKERvY3VtZW50JiBkb2N1bWVudCkKIHsK
KyAgICBpZiAoIWlzRmVhdHVyZVBvbGljeUFsbG93ZWRCeURvY3VtZW50QW5kQWxsT3duZXJzKEZl
YXR1cmVQb2xpY3k6OlR5cGU6OlBheW1lbnQsIGRvY3VtZW50LCBMb2dGZWF0dXJlUG9saWN5RmFp
bHVyZTo6WWVzKSkKKyAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFNlY3VyaXR5RXJyb3IsICJQ
YXltZW50IFJlcXVlc3QgQVBJIGlzIGRpc2FibGVkIFBlcm1pc3Npb25zIFBvbGljeS4iX3MgfTsK
KwogICAgIGlmICghZG9jdW1lbnQuZnJhbWUoKSkKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7
IEludmFsaWRBY2Nlc3NFcnJvciwgIlRyeWluZyB0byBzdGFydCBhbiBBcHBsZSBQYXkgc2Vzc2lv
biBmcm9tIGFuIGluYWN0aXZlIGRvY3VtZW50LiIgfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0LmNwcAppbmRleCA4
NDE0MjhhMjU2M2QxNGVlNmNlNGRjZDVhMmQwMjEwNzNmMGQ4NjJhLi4wODE2MjA4ODcyYjEwZTA1
MTk4NWMwYzc2MWM5N2I5ODc3ODY5YjNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0LmNwcApAQCAtMzEsNiArMzEs
NyBAQAogI2luY2x1ZGUgIkFwcGxlUGF5UGF5bWVudEhhbmRsZXIuaCIKICNpbmNsdWRlICJEb2N1
bWVudC5oIgogI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKKyNpbmNsdWRlICJGZWF0dXJlUG9saWN5
LmgiCiAjaW5jbHVkZSAiSlNET01Qcm9taXNlLmgiCiAjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVm
ZXJyZWQuaCIKICNpbmNsdWRlICJKU1BheW1lbnREZXRhaWxzVXBkYXRlLmgiCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0ZlYXR1cmVQb2xpY3kuY3BwIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9GZWF0dXJlUG9saWN5LmNwcAppbmRleCA4MzJhYmJhYTdmM2NkNzJkOWI4YTI4NmE4ZmU5
MDc5MDNkNThkMjhkLi4wZjQyMTYzZDNlZDBiZDBiNmY3OGY2Y2VkYWM2ZDQ0MDBmODExZWY3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0ZlYXR1cmVQb2xpY3kuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvRmVhdHVyZVBvbGljeS5jcHAKQEAgLTUwLDYgKzUwLDggQEAgc3Rh
dGljIGNvbnN0IGNoYXIqIHBvbGljeVR5cGVOYW1lKEZlYXR1cmVQb2xpY3k6OlR5cGUgdHlwZSkK
ICAgICAgICAgcmV0dXJuICJEaXNwbGF5Q2FwdHVyZSI7CiAgICAgY2FzZSBGZWF0dXJlUG9saWN5
OjpUeXBlOjpHZW9sb2NhdGlvbjoKICAgICAgICAgcmV0dXJuICJHZW9sb2NhdGlvbiI7CisgICAg
Y2FzZSBGZWF0dXJlUG9saWN5OjpUeXBlOjpQYXltZW50OgorICAgICAgICByZXR1cm4gIlBheW1l
bnQiOwogICAgIGNhc2UgRmVhdHVyZVBvbGljeTo6VHlwZTo6U3luY1hIUjoKICAgICAgICAgcmV0
dXJuICJTeW5jWEhSIjsKICAgICBjYXNlIEZlYXR1cmVQb2xpY3k6OlR5cGU6OkZ1bGxzY3JlZW46
CkBAIC0xNzAsNiArMTcyLDcgQEAgRmVhdHVyZVBvbGljeSBGZWF0dXJlUG9saWN5OjpwYXJzZShE
b2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IEhUTUxJRnJhbWVFbGVtZW50JgogICAgIGJvb2wgaXNT
cGVha2VyU2VsZWN0aW9uSW5pdGlhbGl6ZWQgPSBmYWxzZTsKICAgICBib29sIGlzRGlzcGxheUNh
cHR1cmVJbml0aWFsaXplZCA9IGZhbHNlOwogICAgIGJvb2wgaXNHZW9sb2NhdGlvbkluaXRpYWxp
emVkID0gZmFsc2U7CisgICAgYm9vbCBpc1BheW1lbnRJbml0aWFsaXplZCA9IGZhbHNlOwogICAg
IGJvb2wgaXNTeW5jWEhSSW5pdGlhbGl6ZWQgPSBmYWxzZTsKICAgICBib29sIGlzRnVsbHNjcmVl
bkluaXRpYWxpemVkID0gZmFsc2U7CiAjaWYgRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKQEAg
LTIwNyw2ICsyMTAsMTEgQEAgRmVhdHVyZVBvbGljeSBGZWF0dXJlUG9saWN5OjpwYXJzZShEb2N1
bWVudCYgZG9jdW1lbnQsIGNvbnN0IEhUTUxJRnJhbWVFbGVtZW50JgogICAgICAgICAgICAgdXBk
YXRlTGlzdChkb2N1bWVudCwgcG9saWN5Lm1fZ2VvbG9jYXRpb25SdWxlLCBpdGVtLnN1YnN0cmlu
ZygxMikpOwogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0KKyAgICAgICAgaWYgKGl0
ZW0uc3RhcnRzV2l0aCgicGF5bWVudCIpKSB7CisgICAgICAgICAgICBpc1BheW1lbnRJbml0aWFs
aXplZCA9IHRydWU7CisgICAgICAgICAgICB1cGRhdGVMaXN0KGRvY3VtZW50LCBwb2xpY3kubV9w
YXltZW50UnVsZSwgaXRlbS5zdWJzdHJpbmcoOCkpOworICAgICAgICAgICAgY29udGludWU7Cisg
ICAgICAgIH0KICAgICAgICAgaWYgKGl0ZW0uc3RhcnRzV2l0aCgic3luYy14aHIiKSkgewogICAg
ICAgICAgICAgaXNTeW5jWEhSSW5pdGlhbGl6ZWQgPSB0cnVlOwogICAgICAgICAgICAgdXBkYXRl
TGlzdChkb2N1bWVudCwgcG9saWN5Lm1fc3luY1hIUlJ1bGUsIGl0ZW0uc3Vic3RyaW5nKDkpKTsK
QEAgLTI1NCw2ICsyNjIsOCBAQCBGZWF0dXJlUG9saWN5IEZlYXR1cmVQb2xpY3k6OnBhcnNlKERv
Y3VtZW50JiBkb2N1bWVudCwgY29uc3QgSFRNTElGcmFtZUVsZW1lbnQmCiAgICAgICAgIHBvbGlj
eS5tX2Rpc3BsYXlDYXB0dXJlUnVsZS5hbGxvd2VkTGlzdC5hZGQoZG9jdW1lbnQuc2VjdXJpdHlP
cmlnaW4oKS5kYXRhKCkpOwogICAgIGlmICghaXNHZW9sb2NhdGlvbkluaXRpYWxpemVkKQogICAg
ICAgICBwb2xpY3kubV9nZW9sb2NhdGlvblJ1bGUuYWxsb3dlZExpc3QuYWRkKGRvY3VtZW50LnNl
Y3VyaXR5T3JpZ2luKCkuZGF0YSgpKTsKKyAgICBpZiAoIWlzUGF5bWVudEluaXRpYWxpemVkKQor
ICAgICAgICBwb2xpY3kubV9wYXltZW50UnVsZS5hbGxvd2VkTGlzdC5hZGQoZG9jdW1lbnQuc2Vj
dXJpdHlPcmlnaW4oKS5kYXRhKCkpOwogI2lmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCiAg
ICAgaWYgKCFpc0d5cm9zY29wZUluaXRpYWxpemVkKQogICAgICAgICBwb2xpY3kubV9neXJvc2Nv
cGVSdWxlLmFsbG93ZWRMaXN0LmFkZChkb2N1bWVudC5zZWN1cml0eU9yaWdpbigpLmRhdGEoKSk7
CkBAIC0zMDEsNiArMzExLDggQEAgYm9vbCBGZWF0dXJlUG9saWN5OjphbGxvd3MoVHlwZSB0eXBl
LCBjb25zdCBTZWN1cml0eU9yaWdpbkRhdGEmIG9yaWdpbikgY29uc3QKICAgICAgICAgcmV0dXJu
IGlzQWxsb3dlZEJ5RmVhdHVyZVBvbGljeShtX2Rpc3BsYXlDYXB0dXJlUnVsZSwgb3JpZ2luKTsK
ICAgICBjYXNlIFR5cGU6Okdlb2xvY2F0aW9uOgogICAgICAgICByZXR1cm4gaXNBbGxvd2VkQnlG
ZWF0dXJlUG9saWN5KG1fZ2VvbG9jYXRpb25SdWxlLCBvcmlnaW4pOworICAgIGNhc2UgVHlwZTo6
UGF5bWVudDoKKyAgICAgICAgcmV0dXJuIGlzQWxsb3dlZEJ5RmVhdHVyZVBvbGljeShtX3BheW1l
bnRSdWxlLCBvcmlnaW4pOwogICAgIGNhc2UgVHlwZTo6U3luY1hIUjoKICAgICAgICAgcmV0dXJu
IGlzQWxsb3dlZEJ5RmVhdHVyZVBvbGljeShtX3N5bmNYSFJSdWxlLCBvcmlnaW4pOwogICAgIGNh
c2UgVHlwZTo6RnVsbHNjcmVlbjoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRmVh
dHVyZVBvbGljeS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9GZWF0dXJlUG9saWN5LmgKaW5kZXgg
N2I2NDU2MTcxNjVmNDAxY2UzYmI4MDFkMzIwMjA5NTg3NTIxYjY4NC4uNzllNjZmYjE2NDFiMjQx
NmJiMzk3NmI3NmExNDhhOGExMGZkYWY3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9GZWF0dXJlUG9saWN5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9GZWF0dXJlUG9saWN5
LmgKQEAgLTQ0LDYgKzQ0LDcgQEAgcHVibGljOgogICAgICAgICBTcGVha2VyU2VsZWN0aW9uLAog
ICAgICAgICBEaXNwbGF5Q2FwdHVyZSwKICAgICAgICAgR2VvbG9jYXRpb24sCisgICAgICAgIFBh
eW1lbnQsCiAgICAgICAgIFN5bmNYSFIsCiAgICAgICAgIEZ1bGxzY3JlZW4sCiAjaWYgRU5BQkxF
KERFVklDRV9PUklFTlRBVElPTikKQEAgLTY5LDYgKzcwLDcgQEAgcHJpdmF0ZToKICAgICBBbGxv
d1J1bGUgbV9zcGVha2VyU2VsZWN0aW9uUnVsZTsKICAgICBBbGxvd1J1bGUgbV9kaXNwbGF5Q2Fw
dHVyZVJ1bGU7CiAgICAgQWxsb3dSdWxlIG1fZ2VvbG9jYXRpb25SdWxlOworICAgIEFsbG93UnVs
ZSBtX3BheW1lbnRSdWxlOwogICAgIEFsbG93UnVsZSBtX3N5bmNYSFJSdWxlOwogICAgIEFsbG93
UnVsZSBtX2Z1bGxzY3JlZW5SdWxlOwogI2lmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
aW5kZXggZTg4ZThkZjlhMDFhMjhlNmIyZTZjNjg4ODYxMGIyYWZiNWU2NjZlYS4uMmZjYmZmZmE4
ODJhOWNjNWNmY2E3ZGE4MmYyMmM5MDJjM2Q1NTU2NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisy
MDIxLTA5LTAxICBNYXJjb3MgQ2FjZXJlcyAgPG1hcmNvc0BtYXJjb3NjLmNvbT4KKworICAgICAg
ICBBZGQgInBheW1lbnQiIHBlcm1pc3Npb25zIHBvbGljeQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5NDA2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
RGV2aW4gUm91c3NvLgorCisgICAgICAgICogaHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC9wYXlt
ZW50LWFsbG93LWF0dHJpYnV0ZS5odHRwcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGh0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QvcGF5bWVudC1hbGxvdy1hdHRyaWJ1dGUuaHR0cHMu
aHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC9yZXNvdXJj
ZXMvcGF5bWVudC1wb3N0bWVzc2FnZS5odG1sOiBBZGRlZC4KKwogMjAyMS0wOC0zMSAgTWFyY29z
IENhY2VyZXMgIDxtYXJjb3NAbWFyY29zYy5jb20+CiAKICAgICAgICAgW1BheW1lbnQgUmVxdWVz
dF0gQ2FsbGluZyBQYXltZW50UmVxdWVzdCdzIHNob3coKSBzaG91bGQgY29uc3VtZSB1c2VyIGFj
dGl2YXRpb24KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcGF5bWVudHJlcXVl
c3QvcGF5bWVudC1hbGxvdy1hdHRyaWJ1dGUuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC9wYXltZW50LWFsbG93LWF0dHJpYnV0ZS5odHRw
cy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTJmZWE5NDJhYWY3MWVlOTNhNDFmMDYyODRlNzA2
ZTJhZTJkNWQ3MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcGF5
bWVudHJlcXVlc3QvcGF5bWVudC1hbGxvdy1hdHRyaWJ1dGUuaHR0cHMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTggQEAKK0NPTlNPTEUgTUVTU0FHRTogRmVhdHVyZSBwb2xpY3kgJ1BheW1lbnQn
IGNoZWNrIGZhaWxlZCBmb3IgaWZyYW1lIHdpdGggb3JpZ2luICdodHRwczovL2xvY2FsaG9zdDo4
NDQzJyBhbmQgYWxsb3cgYXR0cmlidXRlICcnLgorQ09OU09MRSBNRVNTQUdFOiBGZWF0dXJlIHBv
bGljeSAnUGF5bWVudCcgY2hlY2sgZmFpbGVkIGZvciBpZnJhbWUgd2l0aCBvcmlnaW4gJ2h0dHBz
Oi8vbG9jYWxob3N0Ojg0NDMnIGFuZCBhbGxvdyBhdHRyaWJ1dGUgJ3BheW1lbnQgJ25vbmUnJy4K
K0NPTlNPTEUgTUVTU0FHRTogRmVhdHVyZSBwb2xpY3kgJ1BheW1lbnQnIGNoZWNrIGZhaWxlZCBm
b3IgaWZyYW1lIHdpdGggb3JpZ2luICdodHRwczovLzEyNy4wLjAuMTo4NDQzJyBhbmQgYWxsb3cg
YXR0cmlidXRlICdwYXltZW50ICdub25lJycuCitDT05TT0xFIE1FU1NBR0U6IEZlYXR1cmUgcG9s
aWN5ICdQYXltZW50JyBjaGVjayBmYWlsZWQgZm9yIGlmcmFtZSB3aXRoIG9yaWdpbiAnaHR0cHM6
Ly9sb2NhbGhvc3Q6ODQ0MycgYW5kIGFsbG93IGF0dHJpYnV0ZSAncGF5bWVudCAnc2VsZicnLgor
Q09OU09MRSBNRVNTQUdFOiBGZWF0dXJlIHBvbGljeSAnUGF5bWVudCcgY2hlY2sgZmFpbGVkIGZv
ciBpZnJhbWUgd2l0aCBvcmlnaW4gJ2h0dHBzOi8vMTI3LjAuMC4xOjg0NDMnIGFuZCBhbGxvdyBh
dHRyaWJ1dGUgJ3BheW1lbnQgaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0MycuCitQQVNTIGlmcmFtZSBz
cmM6ICJodHRwczovL2xvY2FsaG9zdDo4NDQzL3BheW1lbnRyZXF1ZXN0L3Jlc291cmNlcy9wYXlt
ZW50LXBvc3RtZXNzYWdlLmh0bWwiIHdpdGggYWxsb3c9IiIgTVVTVCBOT1QgY3JlYXRlIGEgUGF5
bWVudFJlcXVlc3QuIFNlY3VyaXR5RXJyb3IgUGF5bWVudCBSZXF1ZXN0IEFQSSBpcyBkaXNhYmxl
ZCBQZXJtaXNzaW9ucyBQb2xpY3kuCitQQVNTIGlmcmFtZSBzcmM6ICJodHRwczovLzEyNy4wLjAu
MTo4NDQzL3BheW1lbnRyZXF1ZXN0L3Jlc291cmNlcy9wYXltZW50LXBvc3RtZXNzYWdlLmh0bWwi
IHdpdGggYWxsb3c9IiIgaXMgYWxsb3dlZCB0byBjcmVhdGUgYSBQYXltZW50UmVxdWVzdC4KK1BB
U1MgaWZyYW1lIHNyYzogImh0dHBzOi8vbG9jYWxob3N0Ojg0NDMvcGF5bWVudHJlcXVlc3QvcmVz
b3VyY2VzL3BheW1lbnQtcG9zdG1lc3NhZ2UuaHRtbCIgd2l0aCBhbGxvdz0icGF5bWVudCIgaXMg
YWxsb3dlZCB0byBjcmVhdGUgYSBQYXltZW50UmVxdWVzdC4gU2VjdXJpdHlFcnJvciBUcnlpbmcg
dG8gc3RhcnQgYW4gQXBwbGUgUGF5IHNlc3Npb24gZnJvbSBhIGRvY3VtZW50IHdpdGggYW4gZGlm
ZmVyZW50IHNlY3VyaXR5IG9yaWdpbiB0aGFuIGl0cyB0b3AtbGV2ZWwgZnJhbWUuCitQQVNTIGlm
cmFtZSBzcmM6ICJodHRwczovLzEyNy4wLjAuMTo4NDQzL3BheW1lbnRyZXF1ZXN0L3Jlc291cmNl
cy9wYXltZW50LXBvc3RtZXNzYWdlLmh0bWwiIHdpdGggYWxsb3c9InBheW1lbnQiIGlzIGFsbG93
ZWQgdG8gY3JlYXRlIGEgUGF5bWVudFJlcXVlc3QuCitQQVNTIGlmcmFtZSBzcmM6ICJodHRwczov
L2xvY2FsaG9zdDo4NDQzL3BheW1lbnRyZXF1ZXN0L3Jlc291cmNlcy9wYXltZW50LXBvc3RtZXNz
YWdlLmh0bWwiIHdpdGggYWxsb3c9InBheW1lbnQgKiIgaXMgYWxsb3dlZCB0byBjcmVhdGUgYSBQ
YXltZW50UmVxdWVzdC4gU2VjdXJpdHlFcnJvciBUcnlpbmcgdG8gc3RhcnQgYW4gQXBwbGUgUGF5
IHNlc3Npb24gZnJvbSBhIGRvY3VtZW50IHdpdGggYW4gZGlmZmVyZW50IHNlY3VyaXR5IG9yaWdp
biB0aGFuIGl0cyB0b3AtbGV2ZWwgZnJhbWUuCitQQVNTIGlmcmFtZSBzcmM6ICJodHRwczovLzEy
Ny4wLjAuMTo4NDQzL3BheW1lbnRyZXF1ZXN0L3Jlc291cmNlcy9wYXltZW50LXBvc3RtZXNzYWdl
Lmh0bWwiIHdpdGggYWxsb3c9InBheW1lbnQgKiIgaXMgYWxsb3dlZCB0byBjcmVhdGUgYSBQYXlt
ZW50UmVxdWVzdC4KK1BBU1MgaWZyYW1lIHNyYzogImh0dHBzOi8vbG9jYWxob3N0Ojg0NDMvcGF5
bWVudHJlcXVlc3QvcmVzb3VyY2VzL3BheW1lbnQtcG9zdG1lc3NhZ2UuaHRtbCIgd2l0aCBhbGxv
dz0icGF5bWVudCAnbm9uZSciIE1VU1QgTk9UIGNyZWF0ZSBhIFBheW1lbnRSZXF1ZXN0LiBTZWN1
cml0eUVycm9yIFBheW1lbnQgUmVxdWVzdCBBUEkgaXMgZGlzYWJsZWQgUGVybWlzc2lvbnMgUG9s
aWN5LgorUEFTUyBpZnJhbWUgc3JjOiAiaHR0cHM6Ly8xMjcuMC4wLjE6ODQ0My9wYXltZW50cmVx
dWVzdC9yZXNvdXJjZXMvcGF5bWVudC1wb3N0bWVzc2FnZS5odG1sIiB3aXRoIGFsbG93PSJwYXlt
ZW50ICdub25lJyIgTVVTVCBOT1QgY3JlYXRlIGEgUGF5bWVudFJlcXVlc3QuIFNlY3VyaXR5RXJy
b3IgUGF5bWVudCBSZXF1ZXN0IEFQSSBpcyBkaXNhYmxlZCBQZXJtaXNzaW9ucyBQb2xpY3kuCitQ
QVNTIGlmcmFtZSBzcmM6ICJodHRwczovL2xvY2FsaG9zdDo4NDQzL3BheW1lbnRyZXF1ZXN0L3Jl
c291cmNlcy9wYXltZW50LXBvc3RtZXNzYWdlLmh0bWwiIHdpdGggYWxsb3c9InBheW1lbnQgJ3Nl
bGYnIiBNVVNUIE5PVCBjcmVhdGUgYSBQYXltZW50UmVxdWVzdC4gU2VjdXJpdHlFcnJvciBQYXlt
ZW50IFJlcXVlc3QgQVBJIGlzIGRpc2FibGVkIFBlcm1pc3Npb25zIFBvbGljeS4KK1BBU1MgaWZy
YW1lIHNyYzogImh0dHBzOi8vMTI3LjAuMC4xOjg0NDMvcGF5bWVudHJlcXVlc3QvcmVzb3VyY2Vz
L3BheW1lbnQtcG9zdG1lc3NhZ2UuaHRtbCIgd2l0aCBhbGxvdz0icGF5bWVudCAnc2VsZiciIGlz
IGFsbG93ZWQgdG8gY3JlYXRlIGEgUGF5bWVudFJlcXVlc3QuCitQQVNTIGlmcmFtZSBzcmM6ICJo
dHRwczovL2xvY2FsaG9zdDo4NDQzL3BheW1lbnRyZXF1ZXN0L3Jlc291cmNlcy9wYXltZW50LXBv
c3RtZXNzYWdlLmh0bWwiIHdpdGggYWxsb3c9InBheW1lbnQgaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0
MyIgaXMgYWxsb3dlZCB0byBjcmVhdGUgYSBQYXltZW50UmVxdWVzdC4gU2VjdXJpdHlFcnJvciBU
cnlpbmcgdG8gc3RhcnQgYW4gQXBwbGUgUGF5IHNlc3Npb24gZnJvbSBhIGRvY3VtZW50IHdpdGgg
YW4gZGlmZmVyZW50IHNlY3VyaXR5IG9yaWdpbiB0aGFuIGl0cyB0b3AtbGV2ZWwgZnJhbWUuCitQ
QVNTIGlmcmFtZSBzcmM6ICJodHRwczovLzEyNy4wLjAuMTo4NDQzL3BheW1lbnRyZXF1ZXN0L3Jl
c291cmNlcy9wYXltZW50LXBvc3RtZXNzYWdlLmh0bWwiIHdpdGggYWxsb3c9InBheW1lbnQgaHR0
cHM6Ly9sb2NhbGhvc3Q6ODQ0MyIgTVVTVCBOT1QgY3JlYXRlIGEgUGF5bWVudFJlcXVlc3QuIFNl
Y3VyaXR5RXJyb3IgUGF5bWVudCBSZXF1ZXN0IEFQSSBpcyBkaXNhYmxlZCBQZXJtaXNzaW9ucyBQ
b2xpY3kuCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcGF5bWVudHJlcXVl
c3QvcGF5bWVudC1hbGxvdy1hdHRyaWJ1dGUuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvcGF5bWVudHJlcXVlc3QvcGF5bWVudC1hbGxvdy1hdHRyaWJ1dGUuaHR0cHMuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43NzlhNzk3YjZkZTYxNDJkMDg1ZDAxZjA1MmUzYjA2YWNjNDUyMDIyCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC9wYXlt
ZW50LWFsbG93LWF0dHJpYnV0ZS5odHRwcy5odG1sCkBAIC0wLDAgKzEsMTUzIEBACis8IURPQ1RZ
UEUgaHRtbD4KKzxodG1sPgorICA8aGVhZD4KKyAgICA8c3R5bGU+CisgICAgICBpZnJhbWUgewor
ICAgICAgICBkaXNwbGF5OiBub25lOworICAgICAgfQorICAgIDwvc3R5bGU+CisgICAgPHNjcmlw
dCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlw
dD4KKyAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgICAgICB0ZXN0UnVubmVyLmR1
bXBBc1RleHQoKTsKKyAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgICB9
CisKKyAgICAgIGZ1bmN0aW9uIHdhaXRGb3IodGFyZ2V0LCBldmVudE5hbWUpIHsKKyAgICAgICAg
cmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7CisgICAgICAgICAgdGFyZ2V0LmFkZEV2
ZW50TGlzdGVuZXIoZXZlbnROYW1lLCByZXNvbHZlLCB7IG9uY2U6IHRydWUgfSk7CisgICAgICAg
IH0pOworICAgICAgfQorCisgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgY29uc3QgYWN0aW9uID0gImNyZWF0ZS1wYXltZW50LXJlcXVl
c3QiOworICAgICAgICBmb3IgKGNvbnN0IGlmcmFtZSBvZiBkb2N1bWVudC5xdWVyeVNlbGVjdG9y
QWxsKCJpZnJhbWUiKSkgeworICAgICAgICAgIGlmcmFtZS5zcmMgPSBpZnJhbWUuZGF0YXNldC5z
cmM7CisgICAgICAgICAgYXdhaXQgd2FpdEZvcihpZnJhbWUsICJsb2FkIik7CisgICAgICAgICAg
Y29uc3QgaXNBbGxvd2VkID0gaWZyYW1lLmRhdGFzZXQuZW5hYmxlZCA9PT0gInRydWUiOworICAg
ICAgICAgIGlmcmFtZS5jb250ZW50V2luZG93LnBvc3RNZXNzYWdlKHsgYWN0aW9uIH0sICIqIik7
CisgICAgICAgICAgY29uc3QgeyBkYXRhIH0gPSBhd2FpdCB3YWl0Rm9yKHdpbmRvdywgIm1lc3Nh
Z2UiKTsKKyAgICAgICAgICBjb25zdCB7IGV4Y2VwdGlvbk1lc3NhZ2UsIGV4Y2VwdGlvbk5hbWUs
IHJlc3VsdCB9ID0gZGF0YTsKKworICAgICAgICAgIGNvbnN0IG1zZyA9IGBpZnJhbWUgc3JjOiAi
JHtpZnJhbWUuc3JjfSIgd2l0aCBhbGxvdz0iJHsKKyAgICAgICAgICAgIGlmcmFtZS5hbGxvdwor
ICAgICAgICAgIH0iICR7CisgICAgICAgICAgICBpc0FsbG93ZWQgPyAiaXMgYWxsb3dlZCB0byIg
OiAiTVVTVCBOT1QiCisgICAgICAgICAgfSBjcmVhdGUgYSBQYXltZW50UmVxdWVzdC4gJHtleGNl
cHRpb25OYW1lID8/ICIifSAkeworICAgICAgICAgICAgZXhjZXB0aW9uTWVzc2FnZSA/PyAiIgor
ICAgICAgICAgIH1gOworCisgICAgICAgICAgaWYgKGlzQWxsb3dlZCkgeworICAgICAgICAgICAg
Ly8gQXBwbGVQYXkgc2Vzc2lvbiBkb2Vzbid0IGFsbG93IHJlbW90ZSBvcmlnaW5zIHRvIGNyZWF0
ZSBQYXltZW50UmVxdWVzdHMKKyAgICAgICAgICAgIC8vIHNvIHdlIG5lZWQgdG8gZGlzdGluZ3Vp
c2ggYmV0d2VlbiB0aGUgdHdvIGNhc2VzLgorICAgICAgICAgICAgc3dpdGNoIChyZXN1bHQpIHsK
KyAgICAgICAgICAgICAgY2FzZSAicGF5bWVudCByZXF1ZXN0IGNyZWF0ZWQiOgorICAgICAgICAg
ICAgICAgIHRlc3RQYXNzZWQobXNnKTsKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAg
ICAgICAgICAgY2FzZSAidGhyZXciOgorICAgICAgICAgICAgICAgIC8vIFRoaXMgaXMgb2shIHBv
bGljeSB3b3JrZWQsIGJ1dCBBcHBsZVBheSBpbnRlcnZlbmVkIQorICAgICAgICAgICAgICAgIGlm
IChkYXRhLmV4Y2VwdGlvbk1lc3NhZ2U/LmluY2x1ZGVzKCJBcHBsZSBQYXkiKSkgeworICAgICAg
ICAgICAgICAgICAgdGVzdFBhc3NlZChtc2cpOworICAgICAgICAgICAgICAgICAgY29udGludWU7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQobXNnKTsKKyAg
ICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgICAgZGVmYXVsdDoKKyAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKG1zZyk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBjb250
aW51ZTsKKyAgICAgICAgICB9CisKKyAgICAgICAgICBpZiAoIWlzQWxsb3dlZCkgeworICAgICAg
ICAgICAgc3dpdGNoIChyZXN1bHQpIHsKKyAgICAgICAgICAgICAgY2FzZSAicGF5bWVudCByZXF1
ZXN0IGNyZWF0ZWQiOgorICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQobXNnKTsKKyAgICAgICAg
ICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgICAgY2FzZSAidGhyZXciOgorICAgICAgICAg
ICAgICAgIC8vIFRoZSBvbmx5IGxlZ2l0aW1hdGUgcmVhc29uIGZvciB0aHJvd2luZyBpcyBpZiB0
aGUgcG9saWN5CisgICAgICAgICAgICAgICAgLy8gZGlzYWxsb3dlZCBjcmVhdGluZyB0aGUgUGF5
bWVudFJlcXVlc3QuCisgICAgICAgICAgICAgICAgaWYgKAorICAgICAgICAgICAgICAgICAgZGF0
YS5leGNlcHRpb25NZXNzYWdlLnN0YXJ0c1dpdGgoCisgICAgICAgICAgICAgICAgICAgICJQYXlt
ZW50IFJlcXVlc3QgQVBJIGlzIGRpc2FibGVkIFBlcm1pc3Npb25zIFBvbGljeSIKKyAgICAgICAg
ICAgICAgICAgICkKKyAgICAgICAgICAgICAgICApIHsKKyAgICAgICAgICAgICAgICAgIHRlc3RQ
YXNzZWQobXNnKTsKKyAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKG1zZyk7CisgICAgICAgICAgICAgICAgY29u
dGludWU7CisgICAgICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChtc2cpOworICAgICAgICAgICAgfQorICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICB0
ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICAgIH0pOworCisgICAgICB3aW5kb3cuYWRkRXZl
bnRMaXN0ZW5lcigiZXJyb3IiLCAoZXYpID0+IHsKKyAgICAgICAgdGVzdEZhaWxlZChgVW5leHBl
Y3RlZCBlcnJvci4gVGhyZXcgZXhjZXB0aW9uICR7ZXYubWVzc2FnZX0uYCk7CisgICAgICAgIHRl
c3RSdW5uZXI/Lm5vdGlmeURvbmUoKTsKKyAgICAgIH0pOworICAgIDwvc2NyaXB0PgorICA8L2hl
YWQ+CisgIDxib2R5PgorICAgIDxpZnJhbWUKKyAgICAgIGRhdGEtZW5hYmxlZD0iZmFsc2UiCisg
ICAgICBkYXRhLXNyYz0iaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My9wYXltZW50cmVxdWVzdC9yZXNv
dXJjZXMvcGF5bWVudC1wb3N0bWVzc2FnZS5odG1sIgorICAgID48L2lmcmFtZT4KKyAgICA8aWZy
YW1lCisgICAgICBkYXRhLWVuYWJsZWQ9InRydWUiCisgICAgICBkYXRhLXNyYz0iLi9yZXNvdXJj
ZXMvcGF5bWVudC1wb3N0bWVzc2FnZS5odG1sIgorICAgID48L2lmcmFtZT4KKyAgICA8aWZyYW1l
CisgICAgICBhbGxvdz0icGF5bWVudCIKKyAgICAgIGRhdGEtZW5hYmxlZD0idHJ1ZSIKKyAgICAg
IGRhdGEtc3JjPSJodHRwczovL2xvY2FsaG9zdDo4NDQzL3BheW1lbnRyZXF1ZXN0L3Jlc291cmNl
cy9wYXltZW50LXBvc3RtZXNzYWdlLmh0bWwiCisgICAgPjwvaWZyYW1lPgorICAgIDxpZnJhbWUK
KyAgICAgIGFsbG93PSJwYXltZW50IgorICAgICAgZGF0YS1lbmFibGVkPSJ0cnVlIgorICAgICAg
ZGF0YS1zcmM9Ii4vcmVzb3VyY2VzL3BheW1lbnQtcG9zdG1lc3NhZ2UuaHRtbCIKKyAgICA+PC9p
ZnJhbWU+CisgICAgPGlmcmFtZQorICAgICAgYWxsb3c9InBheW1lbnQgKiIKKyAgICAgIGRhdGEt
ZW5hYmxlZD0idHJ1ZSIKKyAgICAgIGRhdGEtc3JjPSJodHRwczovL2xvY2FsaG9zdDo4NDQzL3Bh
eW1lbnRyZXF1ZXN0L3Jlc291cmNlcy9wYXltZW50LXBvc3RtZXNzYWdlLmh0bWwiCisgICAgPjwv
aWZyYW1lPgorICAgIDxpZnJhbWUKKyAgICAgIGFsbG93PSJwYXltZW50ICoiCisgICAgICBkYXRh
LWVuYWJsZWQ9InRydWUiCisgICAgICBkYXRhLXNyYz0iLi9yZXNvdXJjZXMvcGF5bWVudC1wb3N0
bWVzc2FnZS5odG1sIgorICAgID48L2lmcmFtZT4KKyAgICA8aWZyYW1lCisgICAgICBhbGxvdz0i
cGF5bWVudCAnbm9uZSciCisgICAgICBkYXRhLWVuYWJsZWQ9ImZhbHNlIgorICAgICAgZGF0YS1z
cmM9Imh0dHBzOi8vbG9jYWxob3N0Ojg0NDMvcGF5bWVudHJlcXVlc3QvcmVzb3VyY2VzL3BheW1l
bnQtcG9zdG1lc3NhZ2UuaHRtbCIKKyAgICA+PC9pZnJhbWU+CisgICAgPGlmcmFtZQorICAgICAg
YWxsb3c9InBheW1lbnQgJ25vbmUnIgorICAgICAgZGF0YS1lbmFibGVkPSJmYWxzZSIKKyAgICAg
IGRhdGEtc3JjPSIuL3Jlc291cmNlcy9wYXltZW50LXBvc3RtZXNzYWdlLmh0bWwiCisgICAgPjwv
aWZyYW1lPgorICAgIDxpZnJhbWUKKyAgICAgIGFsbG93PSJwYXltZW50ICdzZWxmJyIKKyAgICAg
IGRhdGEtZW5hYmxlZD0iZmFsc2UiCisgICAgICBkYXRhLXNyYz0iaHR0cHM6Ly9sb2NhbGhvc3Q6
ODQ0My9wYXltZW50cmVxdWVzdC9yZXNvdXJjZXMvcGF5bWVudC1wb3N0bWVzc2FnZS5odG1sIgor
ICAgID48L2lmcmFtZT4KKyAgICA8aWZyYW1lCisgICAgICBhbGxvdz0icGF5bWVudCAnc2VsZici
CisgICAgICBkYXRhLWVuYWJsZWQ9InRydWUiCisgICAgICBkYXRhLXNyYz0iLi9yZXNvdXJjZXMv
cGF5bWVudC1wb3N0bWVzc2FnZS5odG1sIgorICAgID48L2lmcmFtZT4KKyAgICA8aWZyYW1lCisg
ICAgICBhbGxvdz0icGF5bWVudCBodHRwczovL2xvY2FsaG9zdDo4NDQzIgorICAgICAgZGF0YS1l
bmFibGVkPSJ0cnVlIgorICAgICAgZGF0YS1zcmM9Imh0dHBzOi8vbG9jYWxob3N0Ojg0NDMvcGF5
bWVudHJlcXVlc3QvcmVzb3VyY2VzL3BheW1lbnQtcG9zdG1lc3NhZ2UuaHRtbCIKKyAgICA+PC9p
ZnJhbWU+CisgICAgPGlmcmFtZQorICAgICAgYWxsb3c9InBheW1lbnQgaHR0cHM6Ly9sb2NhbGhv
c3Q6ODQ0MyIKKyAgICAgIGRhdGEtZW5hYmxlZD0iZmFsc2UiCisgICAgICBkYXRhLXNyYz0iLi9y
ZXNvdXJjZXMvcGF5bWVudC1wb3N0bWVzc2FnZS5odG1sIgorICAgID48L2lmcmFtZT4KKyAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wYXltZW50
cmVxdWVzdC9yZXNvdXJjZXMvcGF5bWVudC1wb3N0bWVzc2FnZS5odG1sIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC9yZXNvdXJjZXMvcGF5bWVudC1wb3N0bWVzc2FnZS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmJlODBiZTYwMjY3ZTcyMWU5MzFhMDdjOGZjMWJjYzRmMDFhOWE1YzcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0
L3Jlc291cmNlcy9wYXltZW50LXBvc3RtZXNzYWdlLmh0bWwKQEAgLTAsMCArMSwzOCBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4KKzxzY3JpcHQgc3JjPSJoZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKzxib2R5PgorICA8c2NyaXB0PgorICAgIHdpbmRvdy5hZGRFdmVu
dExpc3RlbmVyKCJtZXNzYWdlIiwgKGV2ZW50KSA9PiB7CisgICAgICBjb25zdCB7IGFjdGlvbiB9
ID0gZXZlbnQuZGF0YTsKKyAgICAgIHN3aXRjaCAoYWN0aW9uKSB7CisgICAgICAgIGNhc2UgImNy
ZWF0ZS1wYXltZW50LXJlcXVlc3QiOgorICAgICAgICAgIGxldCByZXN1bHQgPSAiIjsKKyAgICAg
ICAgICBsZXQgZXhjZXB0aW9uTWVzc2FnZTsKKyAgICAgICAgICBsZXQgZXhjZXB0aW9uTmFtZSA9
ICIiOworICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICBuZXcgUGF5bWVudFJlcXVlc3QodmFs
aWRNZXRob2RzLCB2YWxpZERldGFpbHMpOworICAgICAgICAgICAgcmVzdWx0ID0gInBheW1lbnQg
cmVxdWVzdCBjcmVhdGVkIjsKKyAgICAgICAgICB9IGNhdGNoIChlKSB7CisgICAgICAgICAgICBy
ZXN1bHQgPSAidGhyZXciOworICAgICAgICAgICAgZXhjZXB0aW9uTWVzc2FnZSA9IGUubWVzc2Fn
ZTsKKyAgICAgICAgICAgIGV4Y2VwdGlvbk5hbWUgPSBlLm5hbWU7CisgICAgICAgICAgfQorICAg
ICAgICAgIGV2ZW50LnNvdXJjZS5wb3N0TWVzc2FnZSgKKyAgICAgICAgICAgIHsgYWN0aW9uLCBy
ZXN1bHQsIGV4Y2VwdGlvbk1lc3NhZ2UsIGV4Y2VwdGlvbk5hbWUgfSwKKyAgICAgICAgICAgICIq
IgorICAgICAgICAgICk7CisgICAgICAgICAgYnJlYWs7CisgICAgICAgIGRlZmF1bHQ6CisgICAg
ICAgICAgZXZlbnQuc291cmNlLnBvc3RNZXNzYWdlKAorICAgICAgICAgICAgeworICAgICAgICAg
ICAgICBhY3Rpb24sCisgICAgICAgICAgICAgIGV4Y2VwdGlvbk1lc3NhZ2U6ICJVbmtub3duIGFj
dGlvbiIsCisgICAgICAgICAgICB9LAorICAgICAgICAgICAgIioiCisgICAgICAgICAgKTsKKyAg
ICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVua25vd24gYWN0aW9uOiAke2FjdGlvbn1gKTsKKyAg
ICAgIH0KKyAgICB9KTsKKyAgPC9zY3JpcHQ+Cis8L2JvZHk+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>437065</attachid>
            <date>2021-09-01 13:54:22 -0700</date>
            <delta_ts>2021-09-01 15:54:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229406-20210902065420.patch</filename>
            <type>text/plain</type>
            <size>16999</size>
            <attacher name="Marcos Caceres">marcos</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxODMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDkwZDBlOWJmM2M3ZmM1
YmRhZDFmMWIxMmM2YTIyNjc0NDM1YmNlMi4uYjY3ZjZlMzJjYzE2Zjc2NzY1ZTFiNmMyNDY1NGFh
ZTBiZjI4MTRlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDIxLTA5LTAxICBNYXJj
b3MgQ2FjZXJlcyAgPG1hcmNvc0BtYXJjb3NjLmNvbT4KKworICAgICAgICBBZGQgInBheW1lbnQi
IHBlcm1pc3Npb25zIHBvbGljeQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjI5NDA2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGV2aW4gUm91c3NvLgor
CisgICAgICAgIFRlc3Q6IGh0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QvcGF5bWVudC1hbGxvdy1h
dHRyaWJ1dGUuaHR0cHMuaHRtbAorCisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9QYXltZW50
U2Vzc2lvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQYXltZW50U2Vzc2lvbjo6Y2FuQ3JlYXRl
U2Vzc2lvbik6CisgICAgICAgICogaHRtbC9GZWF0dXJlUG9saWN5LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OnBvbGljeVR5cGVOYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OkZlYXR1cmVQb2xpY3k6
OnBhcnNlKToKKyAgICAgICAgKFdlYkNvcmU6OkZlYXR1cmVQb2xpY3k6OmFsbG93cyBjb25zdCk6
CisgICAgICAgICogaHRtbC9GZWF0dXJlUG9saWN5Lmg6CisKIDIwMjEtMDgtMzEgIEthdGUgQ2hl
bmV5ICA8a2F0aGVyaW5lX2NoZW5leUBhcHBsZS5jb20+CiAKICAgICAgICAgVXNlIGFmdGVyIG1v
dmUgaW4gU2VydmljZVdvcmtlclRocmVhZFByb3h5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRTZXNzaW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvYXBwbGVwYXkvUGF5bWVudFNlc3Npb24uY3BwCmluZGV4IDg5MWI3NGQ5NzM5NzAyYjg5
ZjhjNGQyNjMzN2JmY2YxNWE5YzVmNzQuLjMwMWYyOGRiMTdlNTU1YmRiYWUxMjc2MDc0OWRhMjE1
ZDYzMmNmZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5
bWVudFNlc3Npb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5
bWVudFNlc3Npb24uY3BwCkBAIC0zMCw2ICszMCw3IEBACiAKICNpbmNsdWRlICJEb2N1bWVudC5o
IgogI2luY2x1ZGUgIkRvY3VtZW50TG9hZGVyLmgiCisjaW5jbHVkZSAiRmVhdHVyZVBvbGljeS5o
IgogI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQYXltZW50Q29vcmRpbmF0b3IuaCIKICNp
bmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgpAQCAtNDksNiArNTAsOSBAQCBzdGF0aWMgYm9vbCBp
c1NlY3VyZShEb2N1bWVudExvYWRlciYgZG9jdW1lbnRMb2FkZXIpCiAKIEV4Y2VwdGlvbk9yPHZv
aWQ+IFBheW1lbnRTZXNzaW9uOjpjYW5DcmVhdGVTZXNzaW9uKERvY3VtZW50JiBkb2N1bWVudCkK
IHsKKyAgICBpZiAoIWlzRmVhdHVyZVBvbGljeUFsbG93ZWRCeURvY3VtZW50QW5kQWxsT3duZXJz
KEZlYXR1cmVQb2xpY3k6OlR5cGU6OlBheW1lbnQsIGRvY3VtZW50LCBMb2dGZWF0dXJlUG9saWN5
RmFpbHVyZTo6WWVzKSkKKyAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFNlY3VyaXR5RXJyb3Is
ICJUaGlyZC1wYXJ0eSBpZnJhbWVzIGFyZSBub3QgYWxsb3dlZCB0byByZXF1ZXN0IHBheW1lbnRz
IHVubGVzcyBleHBsaWNpdGx5IGFsbG93ZWQgdmlhIEZlYXR1cmUtUG9saWN5IChwYXltZW50KSJf
cyB9OworCiAgICAgaWYgKCFkb2N1bWVudC5mcmFtZSgpKQogICAgICAgICByZXR1cm4gRXhjZXB0
aW9uIHsgSW52YWxpZEFjY2Vzc0Vycm9yLCAiVHJ5aW5nIHRvIHN0YXJ0IGFuIEFwcGxlIFBheSBz
ZXNzaW9uIGZyb20gYW4gaW5hY3RpdmUgZG9jdW1lbnQuIiB9OwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0ZlYXR1cmVQb2xpY3kuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9G
ZWF0dXJlUG9saWN5LmNwcAppbmRleCA4MzJhYmJhYTdmM2NkNzJkOWI4YTI4NmE4ZmU5MDc5MDNk
NThkMjhkLi4wZjQyMTYzZDNlZDBiZDBiNmY3OGY2Y2VkYWM2ZDQ0MDBmODExZWY3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0ZlYXR1cmVQb2xpY3kuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvRmVhdHVyZVBvbGljeS5jcHAKQEAgLTUwLDYgKzUwLDggQEAgc3RhdGljIGNv
bnN0IGNoYXIqIHBvbGljeVR5cGVOYW1lKEZlYXR1cmVQb2xpY3k6OlR5cGUgdHlwZSkKICAgICAg
ICAgcmV0dXJuICJEaXNwbGF5Q2FwdHVyZSI7CiAgICAgY2FzZSBGZWF0dXJlUG9saWN5OjpUeXBl
OjpHZW9sb2NhdGlvbjoKICAgICAgICAgcmV0dXJuICJHZW9sb2NhdGlvbiI7CisgICAgY2FzZSBG
ZWF0dXJlUG9saWN5OjpUeXBlOjpQYXltZW50OgorICAgICAgICByZXR1cm4gIlBheW1lbnQiOwog
ICAgIGNhc2UgRmVhdHVyZVBvbGljeTo6VHlwZTo6U3luY1hIUjoKICAgICAgICAgcmV0dXJuICJT
eW5jWEhSIjsKICAgICBjYXNlIEZlYXR1cmVQb2xpY3k6OlR5cGU6OkZ1bGxzY3JlZW46CkBAIC0x
NzAsNiArMTcyLDcgQEAgRmVhdHVyZVBvbGljeSBGZWF0dXJlUG9saWN5OjpwYXJzZShEb2N1bWVu
dCYgZG9jdW1lbnQsIGNvbnN0IEhUTUxJRnJhbWVFbGVtZW50JgogICAgIGJvb2wgaXNTcGVha2Vy
U2VsZWN0aW9uSW5pdGlhbGl6ZWQgPSBmYWxzZTsKICAgICBib29sIGlzRGlzcGxheUNhcHR1cmVJ
bml0aWFsaXplZCA9IGZhbHNlOwogICAgIGJvb2wgaXNHZW9sb2NhdGlvbkluaXRpYWxpemVkID0g
ZmFsc2U7CisgICAgYm9vbCBpc1BheW1lbnRJbml0aWFsaXplZCA9IGZhbHNlOwogICAgIGJvb2wg
aXNTeW5jWEhSSW5pdGlhbGl6ZWQgPSBmYWxzZTsKICAgICBib29sIGlzRnVsbHNjcmVlbkluaXRp
YWxpemVkID0gZmFsc2U7CiAjaWYgRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKQEAgLTIwNyw2
ICsyMTAsMTEgQEAgRmVhdHVyZVBvbGljeSBGZWF0dXJlUG9saWN5OjpwYXJzZShEb2N1bWVudCYg
ZG9jdW1lbnQsIGNvbnN0IEhUTUxJRnJhbWVFbGVtZW50JgogICAgICAgICAgICAgdXBkYXRlTGlz
dChkb2N1bWVudCwgcG9saWN5Lm1fZ2VvbG9jYXRpb25SdWxlLCBpdGVtLnN1YnN0cmluZygxMikp
OwogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0KKyAgICAgICAgaWYgKGl0ZW0uc3Rh
cnRzV2l0aCgicGF5bWVudCIpKSB7CisgICAgICAgICAgICBpc1BheW1lbnRJbml0aWFsaXplZCA9
IHRydWU7CisgICAgICAgICAgICB1cGRhdGVMaXN0KGRvY3VtZW50LCBwb2xpY3kubV9wYXltZW50
UnVsZSwgaXRlbS5zdWJzdHJpbmcoOCkpOworICAgICAgICAgICAgY29udGludWU7CisgICAgICAg
IH0KICAgICAgICAgaWYgKGl0ZW0uc3RhcnRzV2l0aCgic3luYy14aHIiKSkgewogICAgICAgICAg
ICAgaXNTeW5jWEhSSW5pdGlhbGl6ZWQgPSB0cnVlOwogICAgICAgICAgICAgdXBkYXRlTGlzdChk
b2N1bWVudCwgcG9saWN5Lm1fc3luY1hIUlJ1bGUsIGl0ZW0uc3Vic3RyaW5nKDkpKTsKQEAgLTI1
NCw2ICsyNjIsOCBAQCBGZWF0dXJlUG9saWN5IEZlYXR1cmVQb2xpY3k6OnBhcnNlKERvY3VtZW50
JiBkb2N1bWVudCwgY29uc3QgSFRNTElGcmFtZUVsZW1lbnQmCiAgICAgICAgIHBvbGljeS5tX2Rp
c3BsYXlDYXB0dXJlUnVsZS5hbGxvd2VkTGlzdC5hZGQoZG9jdW1lbnQuc2VjdXJpdHlPcmlnaW4o
KS5kYXRhKCkpOwogICAgIGlmICghaXNHZW9sb2NhdGlvbkluaXRpYWxpemVkKQogICAgICAgICBw
b2xpY3kubV9nZW9sb2NhdGlvblJ1bGUuYWxsb3dlZExpc3QuYWRkKGRvY3VtZW50LnNlY3VyaXR5
T3JpZ2luKCkuZGF0YSgpKTsKKyAgICBpZiAoIWlzUGF5bWVudEluaXRpYWxpemVkKQorICAgICAg
ICBwb2xpY3kubV9wYXltZW50UnVsZS5hbGxvd2VkTGlzdC5hZGQoZG9jdW1lbnQuc2VjdXJpdHlP
cmlnaW4oKS5kYXRhKCkpOwogI2lmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCiAgICAgaWYg
KCFpc0d5cm9zY29wZUluaXRpYWxpemVkKQogICAgICAgICBwb2xpY3kubV9neXJvc2NvcGVSdWxl
LmFsbG93ZWRMaXN0LmFkZChkb2N1bWVudC5zZWN1cml0eU9yaWdpbigpLmRhdGEoKSk7CkBAIC0z
MDEsNiArMzExLDggQEAgYm9vbCBGZWF0dXJlUG9saWN5OjphbGxvd3MoVHlwZSB0eXBlLCBjb25z
dCBTZWN1cml0eU9yaWdpbkRhdGEmIG9yaWdpbikgY29uc3QKICAgICAgICAgcmV0dXJuIGlzQWxs
b3dlZEJ5RmVhdHVyZVBvbGljeShtX2Rpc3BsYXlDYXB0dXJlUnVsZSwgb3JpZ2luKTsKICAgICBj
YXNlIFR5cGU6Okdlb2xvY2F0aW9uOgogICAgICAgICByZXR1cm4gaXNBbGxvd2VkQnlGZWF0dXJl
UG9saWN5KG1fZ2VvbG9jYXRpb25SdWxlLCBvcmlnaW4pOworICAgIGNhc2UgVHlwZTo6UGF5bWVu
dDoKKyAgICAgICAgcmV0dXJuIGlzQWxsb3dlZEJ5RmVhdHVyZVBvbGljeShtX3BheW1lbnRSdWxl
LCBvcmlnaW4pOwogICAgIGNhc2UgVHlwZTo6U3luY1hIUjoKICAgICAgICAgcmV0dXJuIGlzQWxs
b3dlZEJ5RmVhdHVyZVBvbGljeShtX3N5bmNYSFJSdWxlLCBvcmlnaW4pOwogICAgIGNhc2UgVHlw
ZTo6RnVsbHNjcmVlbjoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRmVhdHVyZVBv
bGljeS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9GZWF0dXJlUG9saWN5LmgKaW5kZXggN2I2NDU2
MTcxNjVmNDAxY2UzYmI4MDFkMzIwMjA5NTg3NTIxYjY4NC4uNzllNjZmYjE2NDFiMjQxNmJiMzk3
NmI3NmExNDhhOGExMGZkYWY3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9GZWF0
dXJlUG9saWN5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9GZWF0dXJlUG9saWN5LmgKQEAg
LTQ0LDYgKzQ0LDcgQEAgcHVibGljOgogICAgICAgICBTcGVha2VyU2VsZWN0aW9uLAogICAgICAg
ICBEaXNwbGF5Q2FwdHVyZSwKICAgICAgICAgR2VvbG9jYXRpb24sCisgICAgICAgIFBheW1lbnQs
CiAgICAgICAgIFN5bmNYSFIsCiAgICAgICAgIEZ1bGxzY3JlZW4sCiAjaWYgRU5BQkxFKERFVklD
RV9PUklFTlRBVElPTikKQEAgLTY5LDYgKzcwLDcgQEAgcHJpdmF0ZToKICAgICBBbGxvd1J1bGUg
bV9zcGVha2VyU2VsZWN0aW9uUnVsZTsKICAgICBBbGxvd1J1bGUgbV9kaXNwbGF5Q2FwdHVyZVJ1
bGU7CiAgICAgQWxsb3dSdWxlIG1fZ2VvbG9jYXRpb25SdWxlOworICAgIEFsbG93UnVsZSBtX3Bh
eW1lbnRSdWxlOwogICAgIEFsbG93UnVsZSBtX3N5bmNYSFJSdWxlOwogICAgIEFsbG93UnVsZSBt
X2Z1bGxzY3JlZW5SdWxlOwogI2lmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXgg
ZTg4ZThkZjlhMDFhMjhlNmIyZTZjNjg4ODYxMGIyYWZiNWU2NjZlYS4uMmZjYmZmZmE4ODJhOWNj
NWNmY2E3ZGE4MmYyMmM5MDJjM2Q1NTU2NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIxLTA5
LTAxICBNYXJjb3MgQ2FjZXJlcyAgPG1hcmNvc0BtYXJjb3NjLmNvbT4KKworICAgICAgICBBZGQg
InBheW1lbnQiIHBlcm1pc3Npb25zIHBvbGljeQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5NDA2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGV2aW4g
Um91c3NvLgorCisgICAgICAgICogaHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC9wYXltZW50LWFs
bG93LWF0dHJpYnV0ZS5odHRwcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAv
dGVzdHMvcGF5bWVudHJlcXVlc3QvcGF5bWVudC1hbGxvdy1hdHRyaWJ1dGUuaHR0cHMuaHRtbDog
QWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC9yZXNvdXJjZXMvcGF5
bWVudC1wb3N0bWVzc2FnZS5odG1sOiBBZGRlZC4KKwogMjAyMS0wOC0zMSAgTWFyY29zIENhY2Vy
ZXMgIDxtYXJjb3NAbWFyY29zYy5jb20+CiAKICAgICAgICAgW1BheW1lbnQgUmVxdWVzdF0gQ2Fs
bGluZyBQYXltZW50UmVxdWVzdCdzIHNob3coKSBzaG91bGQgY29uc3VtZSB1c2VyIGFjdGl2YXRp
b24KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QvcGF5
bWVudC1hbGxvdy1hdHRyaWJ1dGUuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9wYXltZW50cmVxdWVzdC9wYXltZW50LWFsbG93LWF0dHJpYnV0ZS5odHRwcy1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYTE5MjVmN2ZiZjFlZjdlZTBiYzI4ZGU5OTE4YjcyNDU2ODUx
MGRjNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcGF5bWVudHJl
cXVlc3QvcGF5bWVudC1hbGxvdy1hdHRyaWJ1dGUuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTggQEAKK0NPTlNPTEUgTUVTU0FHRTogRmVhdHVyZSBwb2xpY3kgJ1BheW1lbnQnIGNoZWNr
IGZhaWxlZCBmb3IgaWZyYW1lIHdpdGggb3JpZ2luICdodHRwczovL2xvY2FsaG9zdDo4NDQzJyBh
bmQgYWxsb3cgYXR0cmlidXRlICcnLgorQ09OU09MRSBNRVNTQUdFOiBGZWF0dXJlIHBvbGljeSAn
UGF5bWVudCcgY2hlY2sgZmFpbGVkIGZvciBpZnJhbWUgd2l0aCBvcmlnaW4gJ2h0dHBzOi8vbG9j
YWxob3N0Ojg0NDMnIGFuZCBhbGxvdyBhdHRyaWJ1dGUgJ3BheW1lbnQgJ25vbmUnJy4KK0NPTlNP
TEUgTUVTU0FHRTogRmVhdHVyZSBwb2xpY3kgJ1BheW1lbnQnIGNoZWNrIGZhaWxlZCBmb3IgaWZy
YW1lIHdpdGggb3JpZ2luICdodHRwczovLzEyNy4wLjAuMTo4NDQzJyBhbmQgYWxsb3cgYXR0cmli
dXRlICdwYXltZW50ICdub25lJycuCitDT05TT0xFIE1FU1NBR0U6IEZlYXR1cmUgcG9saWN5ICdQ
YXltZW50JyBjaGVjayBmYWlsZWQgZm9yIGlmcmFtZSB3aXRoIG9yaWdpbiAnaHR0cHM6Ly9sb2Nh
bGhvc3Q6ODQ0MycgYW5kIGFsbG93IGF0dHJpYnV0ZSAncGF5bWVudCAnc2VsZicnLgorQ09OU09M
RSBNRVNTQUdFOiBGZWF0dXJlIHBvbGljeSAnUGF5bWVudCcgY2hlY2sgZmFpbGVkIGZvciBpZnJh
bWUgd2l0aCBvcmlnaW4gJ2h0dHBzOi8vMTI3LjAuMC4xOjg0NDMnIGFuZCBhbGxvdyBhdHRyaWJ1
dGUgJ3BheW1lbnQgaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0MycuCitQQVNTIGlmcmFtZSBzcmM6ICJo
dHRwczovL2xvY2FsaG9zdDo4NDQzL3BheW1lbnRyZXF1ZXN0L3Jlc291cmNlcy9wYXltZW50LXBv
c3RtZXNzYWdlLmh0bWwiIHdpdGggYWxsb3c9IiIgTVVTVCBOT1QgY3JlYXRlIGEgUGF5bWVudFJl
cXVlc3QuIFNlY3VyaXR5RXJyb3IgVGhpcmQtcGFydHkgaWZyYW1lcyBhcmUgbm90IGFsbG93ZWQg
dG8gcmVxdWVzdCBwYXltZW50cyB1bmxlc3MgZXhwbGljaXRseSBhbGxvd2VkIHZpYSBGZWF0dXJl
LVBvbGljeSAocGF5bWVudCkKK1BBU1MgaWZyYW1lIHNyYzogImh0dHBzOi8vMTI3LjAuMC4xOjg0
NDMvcGF5bWVudHJlcXVlc3QvcmVzb3VyY2VzL3BheW1lbnQtcG9zdG1lc3NhZ2UuaHRtbCIgd2l0
aCBhbGxvdz0iIiBpcyBhbGxvd2VkIHRvIGNyZWF0ZSBhIFBheW1lbnRSZXF1ZXN0LgorUEFTUyBp
ZnJhbWUgc3JjOiAiaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My9wYXltZW50cmVxdWVzdC9yZXNvdXJj
ZXMvcGF5bWVudC1wb3N0bWVzc2FnZS5odG1sIiB3aXRoIGFsbG93PSJwYXltZW50IiBpcyBhbGxv
d2VkIHRvIGNyZWF0ZSBhIFBheW1lbnRSZXF1ZXN0LiBTZWN1cml0eUVycm9yIFRyeWluZyB0byBz
dGFydCBhbiBBcHBsZSBQYXkgc2Vzc2lvbiBmcm9tIGEgZG9jdW1lbnQgd2l0aCBhbiBkaWZmZXJl
bnQgc2VjdXJpdHkgb3JpZ2luIHRoYW4gaXRzIHRvcC1sZXZlbCBmcmFtZS4KK1BBU1MgaWZyYW1l
IHNyYzogImh0dHBzOi8vMTI3LjAuMC4xOjg0NDMvcGF5bWVudHJlcXVlc3QvcmVzb3VyY2VzL3Bh
eW1lbnQtcG9zdG1lc3NhZ2UuaHRtbCIgd2l0aCBhbGxvdz0icGF5bWVudCIgaXMgYWxsb3dlZCB0
byBjcmVhdGUgYSBQYXltZW50UmVxdWVzdC4KK1BBU1MgaWZyYW1lIHNyYzogImh0dHBzOi8vbG9j
YWxob3N0Ojg0NDMvcGF5bWVudHJlcXVlc3QvcmVzb3VyY2VzL3BheW1lbnQtcG9zdG1lc3NhZ2Uu
aHRtbCIgd2l0aCBhbGxvdz0icGF5bWVudCAqIiBpcyBhbGxvd2VkIHRvIGNyZWF0ZSBhIFBheW1l
bnRSZXF1ZXN0LiBTZWN1cml0eUVycm9yIFRyeWluZyB0byBzdGFydCBhbiBBcHBsZSBQYXkgc2Vz
c2lvbiBmcm9tIGEgZG9jdW1lbnQgd2l0aCBhbiBkaWZmZXJlbnQgc2VjdXJpdHkgb3JpZ2luIHRo
YW4gaXRzIHRvcC1sZXZlbCBmcmFtZS4KK1BBU1MgaWZyYW1lIHNyYzogImh0dHBzOi8vMTI3LjAu
MC4xOjg0NDMvcGF5bWVudHJlcXVlc3QvcmVzb3VyY2VzL3BheW1lbnQtcG9zdG1lc3NhZ2UuaHRt
bCIgd2l0aCBhbGxvdz0icGF5bWVudCAqIiBpcyBhbGxvd2VkIHRvIGNyZWF0ZSBhIFBheW1lbnRS
ZXF1ZXN0LgorUEFTUyBpZnJhbWUgc3JjOiAiaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My9wYXltZW50
cmVxdWVzdC9yZXNvdXJjZXMvcGF5bWVudC1wb3N0bWVzc2FnZS5odG1sIiB3aXRoIGFsbG93PSJw
YXltZW50ICdub25lJyIgTVVTVCBOT1QgY3JlYXRlIGEgUGF5bWVudFJlcXVlc3QuIFNlY3VyaXR5
RXJyb3IgVGhpcmQtcGFydHkgaWZyYW1lcyBhcmUgbm90IGFsbG93ZWQgdG8gcmVxdWVzdCBwYXlt
ZW50cyB1bmxlc3MgZXhwbGljaXRseSBhbGxvd2VkIHZpYSBGZWF0dXJlLVBvbGljeSAocGF5bWVu
dCkKK1BBU1MgaWZyYW1lIHNyYzogImh0dHBzOi8vMTI3LjAuMC4xOjg0NDMvcGF5bWVudHJlcXVl
c3QvcmVzb3VyY2VzL3BheW1lbnQtcG9zdG1lc3NhZ2UuaHRtbCIgd2l0aCBhbGxvdz0icGF5bWVu
dCAnbm9uZSciIE1VU1QgTk9UIGNyZWF0ZSBhIFBheW1lbnRSZXF1ZXN0LiBTZWN1cml0eUVycm9y
IFRoaXJkLXBhcnR5IGlmcmFtZXMgYXJlIG5vdCBhbGxvd2VkIHRvIHJlcXVlc3QgcGF5bWVudHMg
dW5sZXNzIGV4cGxpY2l0bHkgYWxsb3dlZCB2aWEgRmVhdHVyZS1Qb2xpY3kgKHBheW1lbnQpCitQ
QVNTIGlmcmFtZSBzcmM6ICJodHRwczovL2xvY2FsaG9zdDo4NDQzL3BheW1lbnRyZXF1ZXN0L3Jl
c291cmNlcy9wYXltZW50LXBvc3RtZXNzYWdlLmh0bWwiIHdpdGggYWxsb3c9InBheW1lbnQgJ3Nl
bGYnIiBNVVNUIE5PVCBjcmVhdGUgYSBQYXltZW50UmVxdWVzdC4gU2VjdXJpdHlFcnJvciBUaGly
ZC1wYXJ0eSBpZnJhbWVzIGFyZSBub3QgYWxsb3dlZCB0byByZXF1ZXN0IHBheW1lbnRzIHVubGVz
cyBleHBsaWNpdGx5IGFsbG93ZWQgdmlhIEZlYXR1cmUtUG9saWN5IChwYXltZW50KQorUEFTUyBp
ZnJhbWUgc3JjOiAiaHR0cHM6Ly8xMjcuMC4wLjE6ODQ0My9wYXltZW50cmVxdWVzdC9yZXNvdXJj
ZXMvcGF5bWVudC1wb3N0bWVzc2FnZS5odG1sIiB3aXRoIGFsbG93PSJwYXltZW50ICdzZWxmJyIg
aXMgYWxsb3dlZCB0byBjcmVhdGUgYSBQYXltZW50UmVxdWVzdC4KK1BBU1MgaWZyYW1lIHNyYzog
Imh0dHBzOi8vbG9jYWxob3N0Ojg0NDMvcGF5bWVudHJlcXVlc3QvcmVzb3VyY2VzL3BheW1lbnQt
cG9zdG1lc3NhZ2UuaHRtbCIgd2l0aCBhbGxvdz0icGF5bWVudCBodHRwczovL2xvY2FsaG9zdDo4
NDQzIiBpcyBhbGxvd2VkIHRvIGNyZWF0ZSBhIFBheW1lbnRSZXF1ZXN0LiBTZWN1cml0eUVycm9y
IFRyeWluZyB0byBzdGFydCBhbiBBcHBsZSBQYXkgc2Vzc2lvbiBmcm9tIGEgZG9jdW1lbnQgd2l0
aCBhbiBkaWZmZXJlbnQgc2VjdXJpdHkgb3JpZ2luIHRoYW4gaXRzIHRvcC1sZXZlbCBmcmFtZS4K
K1BBU1MgaWZyYW1lIHNyYzogImh0dHBzOi8vMTI3LjAuMC4xOjg0NDMvcGF5bWVudHJlcXVlc3Qv
cmVzb3VyY2VzL3BheW1lbnQtcG9zdG1lc3NhZ2UuaHRtbCIgd2l0aCBhbGxvdz0icGF5bWVudCBo
dHRwczovL2xvY2FsaG9zdDo4NDQzIiBNVVNUIE5PVCBjcmVhdGUgYSBQYXltZW50UmVxdWVzdC4g
U2VjdXJpdHlFcnJvciBUaGlyZC1wYXJ0eSBpZnJhbWVzIGFyZSBub3QgYWxsb3dlZCB0byByZXF1
ZXN0IHBheW1lbnRzIHVubGVzcyBleHBsaWNpdGx5IGFsbG93ZWQgdmlhIEZlYXR1cmUtUG9saWN5
IChwYXltZW50KQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BheW1lbnRy
ZXF1ZXN0L3BheW1lbnQtYWxsb3ctYXR0cmlidXRlLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L3BheW1lbnQtYWxsb3ctYXR0cmlidXRlLmh0dHBzLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZTM5NDZmNTJmZTI3ZmExYTk3MjY3ZDY4ZGZmNzE4OGZhNzRiMjdmMQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3Qv
cGF5bWVudC1hbGxvdy1hdHRyaWJ1dGUuaHR0cHMuaHRtbApAQCAtMCwwICsxLDE1MiBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKyAgPGhlYWQ+CisgICAgPHN0eWxlPgorICAgICAgaWZyYW1l
IHsKKyAgICAgICAgZGlzcGxheTogbm9uZTsKKyAgICAgIH0KKyAgICA8L3N0eWxlPgorICAgIDxz
Y3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorICAgIDxz
Y3JpcHQ+CisgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgICAgdGVzdFJ1bm5l
ci5kdW1wQXNUZXh0KCk7CisgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAg
ICAgfQorCisgICAgICBmdW5jdGlvbiB3YWl0Rm9yKHRhcmdldCwgZXZlbnROYW1lKSB7CisgICAg
ICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4geworICAgICAgICAgIHRhcmdldC5h
ZGRFdmVudExpc3RlbmVyKGV2ZW50TmFtZSwgcmVzb2x2ZSwgeyBvbmNlOiB0cnVlIH0pOworICAg
ICAgICB9KTsKKyAgICAgIH0KKworICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBhc3luYyAoKSA9PiB7CisgICAgICAgIGNvbnN0IGFjdGlvbiA9ICJjcmVhdGUtcGF5bWVudC1y
ZXF1ZXN0IjsKKyAgICAgICAgZm9yIChjb25zdCBpZnJhbWUgb2YgZG9jdW1lbnQucXVlcnlTZWxl
Y3RvckFsbCgiaWZyYW1lIikpIHsKKyAgICAgICAgICBpZnJhbWUuc3JjID0gaWZyYW1lLmRhdGFz
ZXQuc3JjOworICAgICAgICAgIGF3YWl0IHdhaXRGb3IoaWZyYW1lLCAibG9hZCIpOworICAgICAg
ICAgIGNvbnN0IGlzQWxsb3dlZCA9IGlmcmFtZS5kYXRhc2V0LmVuYWJsZWQgPT09ICJ0cnVlIjsK
KyAgICAgICAgICBpZnJhbWUuY29udGVudFdpbmRvdy5wb3N0TWVzc2FnZSh7IGFjdGlvbiB9LCAi
KiIpOworICAgICAgICAgIGNvbnN0IHsgZGF0YSB9ID0gYXdhaXQgd2FpdEZvcih3aW5kb3csICJt
ZXNzYWdlIik7CisgICAgICAgICAgY29uc3QgeyBleGNlcHRpb25NZXNzYWdlLCBleGNlcHRpb25O
YW1lLCByZXN1bHQgfSA9IGRhdGE7CisKKyAgICAgICAgICBjb25zdCBtc2cgPSBgaWZyYW1lIHNy
YzogIiR7aWZyYW1lLnNyY30iIHdpdGggYWxsb3c9IiR7CisgICAgICAgICAgICBpZnJhbWUuYWxs
b3cKKyAgICAgICAgICB9IiAkeworICAgICAgICAgICAgaXNBbGxvd2VkID8gImlzIGFsbG93ZWQg
dG8iIDogIk1VU1QgTk9UIgorICAgICAgICAgIH0gY3JlYXRlIGEgUGF5bWVudFJlcXVlc3QuICR7
ZXhjZXB0aW9uTmFtZSA/PyAiIn0gJHsKKyAgICAgICAgICAgIGV4Y2VwdGlvbk1lc3NhZ2UgPz8g
IiIKKyAgICAgICAgICB9YDsKKworICAgICAgICAgIGlmIChpc0FsbG93ZWQpIHsKKyAgICAgICAg
ICAgIC8vIEFwcGxlUGF5IHNlc3Npb24gZG9lc24ndCBhbGxvdyByZW1vdGUgb3JpZ2lucyB0byBj
cmVhdGUgUGF5bWVudFJlcXVlc3RzCisgICAgICAgICAgICAvLyBzbyB3ZSBuZWVkIHRvIGRpc3Rp
bmd1aXNoIGJldHdlZW4gdGhlIHR3byBjYXNlcy4KKyAgICAgICAgICAgIHN3aXRjaCAocmVzdWx0
KSB7CisgICAgICAgICAgICAgIGNhc2UgInBheW1lbnQgcmVxdWVzdCBjcmVhdGVkIjoKKyAgICAg
ICAgICAgICAgICB0ZXN0UGFzc2VkKG1zZyk7CisgICAgICAgICAgICAgICAgY29udGludWU7Cisg
ICAgICAgICAgICAgIGNhc2UgInRocmV3IjoKKyAgICAgICAgICAgICAgICAvLyBUaGlzIGlzIG9r
ISBwb2xpY3kgd29ya2VkLCBidXQgQXBwbGVQYXkgaW50ZXJ2ZW5lZCEKKyAgICAgICAgICAgICAg
ICBpZiAoZGF0YS5leGNlcHRpb25NZXNzYWdlPy5pbmNsdWRlcygiQXBwbGUgUGF5IikpIHsKKyAg
ICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQobXNnKTsKKyAgICAgICAgICAgICAgICAgIGNvbnRp
bnVlOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKG1zZyk7
CisgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICAgIGRlZmF1bHQ6CisgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChtc2cpOworICAgICAgICAgICAgfQorICAgICAgICAgICAg
Y29udGludWU7CisgICAgICAgICAgfQorCisgICAgICAgICAgaWYgKCFpc0FsbG93ZWQpIHsKKyAg
ICAgICAgICAgIHN3aXRjaCAocmVzdWx0KSB7CisgICAgICAgICAgICAgIGNhc2UgInBheW1lbnQg
cmVxdWVzdCBjcmVhdGVkIjoKKyAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKG1zZyk7CisgICAg
ICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICAgIGNhc2UgInRocmV3IjoKKyAgICAg
ICAgICAgICAgICAvLyBUaGUgb25seSBsZWdpdGltYXRlIHJlYXNvbiBmb3IgdGhyb3dpbmcgaXMg
aWYgdGhlIHBvbGljeQorICAgICAgICAgICAgICAgIC8vIGRpc2FsbG93ZWQgY3JlYXRpbmcgdGhl
IFBheW1lbnRSZXF1ZXN0LgorICAgICAgICAgICAgICAgIGlmICgKKyAgICAgICAgICAgICAgICAg
IGRhdGEuZXhjZXB0aW9uTWVzc2FnZSA9PT0KKyAgICAgICAgICAgICAgICAgICJUaGlyZC1wYXJ0
eSBpZnJhbWVzIGFyZSBub3QgYWxsb3dlZCB0byByZXF1ZXN0IHBheW1lbnRzIHVubGVzcyBleHBs
aWNpdGx5IGFsbG93ZWQgdmlhIEZlYXR1cmUtUG9saWN5IChwYXltZW50KSIKKyAgICAgICAgICAg
ICAgICApIHsKKyAgICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQobXNnKTsKKyAgICAgICAgICAg
ICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKG1zZyk7CisgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICAgIGRl
ZmF1bHQ6CisgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChtc2cpOworICAgICAgICAgICAgfQor
ICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsK
KyAgICAgIH0pOworCisgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLCAoZXYp
ID0+IHsKKyAgICAgICAgdGVzdEZhaWxlZChgVW5leHBlY3RlZCBlcnJvci4gVGhyZXcgZXhjZXB0
aW9uICR7ZXYubWVzc2FnZX0uYCk7CisgICAgICAgIHRlc3RSdW5uZXI/Lm5vdGlmeURvbmUoKTsK
KyAgICAgIH0pOworICAgIDwvc2NyaXB0PgorICA8L2hlYWQ+CisgIDxib2R5PgorICAgIDxpZnJh
bWUKKyAgICAgIGRhdGEtZW5hYmxlZD0iZmFsc2UiCisgICAgICBkYXRhLXNyYz0iaHR0cHM6Ly9s
b2NhbGhvc3Q6ODQ0My9wYXltZW50cmVxdWVzdC9yZXNvdXJjZXMvcGF5bWVudC1wb3N0bWVzc2Fn
ZS5odG1sIgorICAgID48L2lmcmFtZT4KKyAgICA8aWZyYW1lCisgICAgICBkYXRhLWVuYWJsZWQ9
InRydWUiCisgICAgICBkYXRhLXNyYz0iLi9yZXNvdXJjZXMvcGF5bWVudC1wb3N0bWVzc2FnZS5o
dG1sIgorICAgID48L2lmcmFtZT4KKyAgICA8aWZyYW1lCisgICAgICBhbGxvdz0icGF5bWVudCIK
KyAgICAgIGRhdGEtZW5hYmxlZD0idHJ1ZSIKKyAgICAgIGRhdGEtc3JjPSJodHRwczovL2xvY2Fs
aG9zdDo4NDQzL3BheW1lbnRyZXF1ZXN0L3Jlc291cmNlcy9wYXltZW50LXBvc3RtZXNzYWdlLmh0
bWwiCisgICAgPjwvaWZyYW1lPgorICAgIDxpZnJhbWUKKyAgICAgIGFsbG93PSJwYXltZW50Igor
ICAgICAgZGF0YS1lbmFibGVkPSJ0cnVlIgorICAgICAgZGF0YS1zcmM9Ii4vcmVzb3VyY2VzL3Bh
eW1lbnQtcG9zdG1lc3NhZ2UuaHRtbCIKKyAgICA+PC9pZnJhbWU+CisgICAgPGlmcmFtZQorICAg
ICAgYWxsb3c9InBheW1lbnQgKiIKKyAgICAgIGRhdGEtZW5hYmxlZD0idHJ1ZSIKKyAgICAgIGRh
dGEtc3JjPSJodHRwczovL2xvY2FsaG9zdDo4NDQzL3BheW1lbnRyZXF1ZXN0L3Jlc291cmNlcy9w
YXltZW50LXBvc3RtZXNzYWdlLmh0bWwiCisgICAgPjwvaWZyYW1lPgorICAgIDxpZnJhbWUKKyAg
ICAgIGFsbG93PSJwYXltZW50ICoiCisgICAgICBkYXRhLWVuYWJsZWQ9InRydWUiCisgICAgICBk
YXRhLXNyYz0iLi9yZXNvdXJjZXMvcGF5bWVudC1wb3N0bWVzc2FnZS5odG1sIgorICAgID48L2lm
cmFtZT4KKyAgICA8aWZyYW1lCisgICAgICBhbGxvdz0icGF5bWVudCAnbm9uZSciCisgICAgICBk
YXRhLWVuYWJsZWQ9ImZhbHNlIgorICAgICAgZGF0YS1zcmM9Imh0dHBzOi8vbG9jYWxob3N0Ojg0
NDMvcGF5bWVudHJlcXVlc3QvcmVzb3VyY2VzL3BheW1lbnQtcG9zdG1lc3NhZ2UuaHRtbCIKKyAg
ICA+PC9pZnJhbWU+CisgICAgPGlmcmFtZQorICAgICAgYWxsb3c9InBheW1lbnQgJ25vbmUnIgor
ICAgICAgZGF0YS1lbmFibGVkPSJmYWxzZSIKKyAgICAgIGRhdGEtc3JjPSIuL3Jlc291cmNlcy9w
YXltZW50LXBvc3RtZXNzYWdlLmh0bWwiCisgICAgPjwvaWZyYW1lPgorICAgIDxpZnJhbWUKKyAg
ICAgIGFsbG93PSJwYXltZW50ICdzZWxmJyIKKyAgICAgIGRhdGEtZW5hYmxlZD0iZmFsc2UiCisg
ICAgICBkYXRhLXNyYz0iaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My9wYXltZW50cmVxdWVzdC9yZXNv
dXJjZXMvcGF5bWVudC1wb3N0bWVzc2FnZS5odG1sIgorICAgID48L2lmcmFtZT4KKyAgICA8aWZy
YW1lCisgICAgICBhbGxvdz0icGF5bWVudCAnc2VsZiciCisgICAgICBkYXRhLWVuYWJsZWQ9InRy
dWUiCisgICAgICBkYXRhLXNyYz0iLi9yZXNvdXJjZXMvcGF5bWVudC1wb3N0bWVzc2FnZS5odG1s
IgorICAgID48L2lmcmFtZT4KKyAgICA8aWZyYW1lCisgICAgICBhbGxvdz0icGF5bWVudCBodHRw
czovL2xvY2FsaG9zdDo4NDQzIgorICAgICAgZGF0YS1lbmFibGVkPSJ0cnVlIgorICAgICAgZGF0
YS1zcmM9Imh0dHBzOi8vbG9jYWxob3N0Ojg0NDMvcGF5bWVudHJlcXVlc3QvcmVzb3VyY2VzL3Bh
eW1lbnQtcG9zdG1lc3NhZ2UuaHRtbCIKKyAgICA+PC9pZnJhbWU+CisgICAgPGlmcmFtZQorICAg
ICAgYWxsb3c9InBheW1lbnQgaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0MyIKKyAgICAgIGRhdGEtZW5h
YmxlZD0iZmFsc2UiCisgICAgICBkYXRhLXNyYz0iLi9yZXNvdXJjZXMvcGF5bWVudC1wb3N0bWVz
c2FnZS5odG1sIgorICAgID48L2lmcmFtZT4KKyAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC9yZXNvdXJjZXMvcGF5bWVu
dC1wb3N0bWVzc2FnZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wYXltZW50cmVxdWVz
dC9yZXNvdXJjZXMvcGF5bWVudC1wb3N0bWVzc2FnZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJlODBiZTYw
MjY3ZTcyMWU5MzFhMDdjOGZjMWJjYzRmMDFhOWE1YzcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L3Jlc291cmNlcy9wYXltZW50LXBvc3Rt
ZXNzYWdlLmh0bWwKQEAgLTAsMCArMSwzOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFy
c2V0PSJ1dGYtOCIgLz4KKzxzY3JpcHQgc3JjPSJoZWxwZXJzLmpzIj48L3NjcmlwdD4KKzxib2R5
PgorICA8c2NyaXB0PgorICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIiwgKGV2
ZW50KSA9PiB7CisgICAgICBjb25zdCB7IGFjdGlvbiB9ID0gZXZlbnQuZGF0YTsKKyAgICAgIHN3
aXRjaCAoYWN0aW9uKSB7CisgICAgICAgIGNhc2UgImNyZWF0ZS1wYXltZW50LXJlcXVlc3QiOgor
ICAgICAgICAgIGxldCByZXN1bHQgPSAiIjsKKyAgICAgICAgICBsZXQgZXhjZXB0aW9uTWVzc2Fn
ZTsKKyAgICAgICAgICBsZXQgZXhjZXB0aW9uTmFtZSA9ICIiOworICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICBuZXcgUGF5bWVudFJlcXVlc3QodmFsaWRNZXRob2RzLCB2YWxpZERldGFpbHMp
OworICAgICAgICAgICAgcmVzdWx0ID0gInBheW1lbnQgcmVxdWVzdCBjcmVhdGVkIjsKKyAgICAg
ICAgICB9IGNhdGNoIChlKSB7CisgICAgICAgICAgICByZXN1bHQgPSAidGhyZXciOworICAgICAg
ICAgICAgZXhjZXB0aW9uTWVzc2FnZSA9IGUubWVzc2FnZTsKKyAgICAgICAgICAgIGV4Y2VwdGlv
bk5hbWUgPSBlLm5hbWU7CisgICAgICAgICAgfQorICAgICAgICAgIGV2ZW50LnNvdXJjZS5wb3N0
TWVzc2FnZSgKKyAgICAgICAgICAgIHsgYWN0aW9uLCByZXN1bHQsIGV4Y2VwdGlvbk1lc3NhZ2Us
IGV4Y2VwdGlvbk5hbWUgfSwKKyAgICAgICAgICAgICIqIgorICAgICAgICAgICk7CisgICAgICAg
ICAgYnJlYWs7CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgZXZlbnQuc291cmNlLnBvc3RN
ZXNzYWdlKAorICAgICAgICAgICAgeworICAgICAgICAgICAgICBhY3Rpb24sCisgICAgICAgICAg
ICAgIGV4Y2VwdGlvbk1lc3NhZ2U6ICJVbmtub3duIGFjdGlvbiIsCisgICAgICAgICAgICB9LAor
ICAgICAgICAgICAgIioiCisgICAgICAgICAgKTsKKyAgICAgICAgICB0aHJvdyBuZXcgRXJyb3Io
YFVua25vd24gYWN0aW9uOiAke2FjdGlvbn1gKTsKKyAgICAgIH0KKyAgICB9KTsKKyAgPC9zY3Jp
cHQ+Cis8L2JvZHk+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>