<?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>228066</bug_id>
          
          <creation_ts>2021-07-18 14:56:39 -0700</creation_ts>
          <short_desc>GetIdentifierStringForPreferredVoiceInListWithLocale() is deprecated in Monterey</short_desc>
          <delta_ts>2021-07-29 12:54:40 -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>WebCore Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="David Kilzer (:ddkilzer)">ddkilzer</reporter>
          <assigned_to name="Kate Cheney">katherine_cheney</assigned_to>
          <cc>aestes</cc>
    
    <cc>ap</cc>
    
    <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cfleizach</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>katherine_cheney</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>ryanhaddad</cc>
    
    <cc>sihui_liu</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1777782</commentid>
    <comment_count>0</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2021-07-18 14:56:39 -0700</bug_when>
    <thetext>GetIdentifierStringForPreferredVoiceInListWithLocale() is deprecated in Monterey.

Replacement is CopyIdentifierStringForPreferredVoiceInListWithLocale().

&lt;rdar://problem/80577312&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777784</commentid>
    <comment_count>1</comment_count>
      <attachid>433759</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2021-07-18 15:09:07 -0700</bug_when>
    <thetext>Created attachment 433759
Patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777785</commentid>
    <comment_count>2</comment_count>
      <attachid>433760</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2021-07-18 15:15:56 -0700</bug_when>
    <thetext>Created attachment 433760
Patch v2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777786</commentid>
    <comment_count>3</comment_count>
      <attachid>433760</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2021-07-18 15:30:18 -0700</bug_when>
    <thetext>Comment on attachment 433760
Patch v2

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

&gt; Source/WebCore/platform/mac/PlatformSpeechSynthesizerMac.mm:231
&gt; +    adoptNS(CFBridgingRelease(CopyIdentifierStringForPreferredVoiceInListWithLocale(speechSynthesisGetVoiceIdentifiers().get(), (__bridge CFLocaleRef)userLocale)));

return is missing.

We aren&apos;t using CFBridgingRelease anywhere in WebCore, not sure how much sense it makes to use it in just one function.

&gt; Source/WebCore/platform/mac/PlatformSpeechSynthesizerMac.mm:248
&gt; +        auto defaultVoiceURI = speechSynthesisGetDefaultVoiceIdentifierForLocale(adoptNS([[NSLocale alloc] initWithLocaleIdentifier:language]).get());

:-(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777788</commentid>
    <comment_count>4</comment_count>
      <attachid>433761</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2021-07-18 15:45:09 -0700</bug_when>
    <thetext>Created attachment 433761
Patch v3</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777791</commentid>
    <comment_count>5</comment_count>
      <attachid>433760</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2021-07-18 16:32:34 -0700</bug_when>
    <thetext>Comment on attachment 433760
Patch v2

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

&gt;&gt; Source/WebCore/platform/mac/PlatformSpeechSynthesizerMac.mm:231
&gt;&gt; +    adoptNS(CFBridgingRelease(CopyIdentifierStringForPreferredVoiceInListWithLocale(speechSynthesisGetVoiceIdentifiers().get(), (__bridge CFLocaleRef)userLocale)));
&gt; 
&gt; return is missing.
&gt; 
&gt; We aren&apos;t using CFBridgingRelease anywhere in WebCore, not sure how much sense it makes to use it in just one function.

Thanks!  Will fix return statement in v4.  Will also change to use __bridge_transfer cast instead.

&gt;&gt; Source/WebCore/platform/mac/PlatformSpeechSynthesizerMac.mm:248
&gt;&gt; +        auto defaultVoiceURI = speechSynthesisGetDefaultVoiceIdentifierForLocale(adoptNS([[NSLocale alloc] initWithLocaleIdentifier:language]).get());
&gt; 
&gt; :-(

Not sure why the frowny face here.  Not a fan of `auto`?  In this case, the function returning the value is in the same source file, so it&apos;s not as much of a mystery.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777792</commentid>
    <comment_count>6</comment_count>
      <attachid>433763</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2021-07-18 16:35:22 -0700</bug_when>
    <thetext>Created attachment 433763
Patch v4</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777793</commentid>
    <comment_count>7</comment_count>
      <attachid>433764</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2021-07-18 16:36:54 -0700</bug_when>
    <thetext>Created attachment 433764
Patch v5</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777794</commentid>
    <comment_count>8</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2021-07-18 16:37:29 -0700</bug_when>
    <thetext>(In reply to David Kilzer (:ddkilzer) from comment #6)
&gt; Created attachment 433763 [details]
&gt; Patch v4

Part of another patch was included here because I didn&apos;t use &quot;-g HEAD&quot; with prepare-ChangeLog.  That was weird.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777798</commentid>
    <comment_count>9</comment_count>
      <attachid>433764</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2021-07-18 19:25:29 -0700</bug_when>
    <thetext>Comment on attachment 433764
Patch v5

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

&gt; Source/WebCore/platform/mac/PlatformSpeechSynthesizerMac.mm:231
&gt; +    return adoptNS((__bridge_transfer NString *)CopyIdentifierStringForPreferredVoiceInListWithLocale(speechSynthesisGetVoiceIdentifiers().get(), (__bridge CFLocaleRef)userLocale));

We aren&apos;t using __bridge_transfer anywhere in WebCore/WebKit either.

&gt; Source/WebCore/platform/mac/PlatformSpeechSynthesizerMac.mm:248
&gt; -        NSString *defaultVoiceURI = speechSynthesisGetDefaultVoiceIdentifierForLocale(adoptNS([[NSLocale alloc] initWithLocaleIdentifier:language]).get());
&gt; +        auto defaultVoiceURI = speechSynthesisGetDefaultVoiceIdentifierForLocale(adoptNS([[NSLocale alloc] initWithLocaleIdentifier:language]).get());

Not as much of a mystery as when it&apos;s in another file, but strictly worse than before, in my opinion.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777809</commentid>
    <comment_count>10</comment_count>
      <attachid>433764</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2021-07-18 21:03:12 -0700</bug_when>
    <thetext>Comment on attachment 433764
Patch v5

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

&gt;&gt; Source/WebCore/platform/mac/PlatformSpeechSynthesizerMac.mm:231
&gt;&gt; +    return adoptNS((__bridge_transfer NString *)CopyIdentifierStringForPreferredVoiceInListWithLocale(speechSynthesisGetVoiceIdentifiers().get(), (__bridge CFLocaleRef)userLocale));
&gt; 
&gt; We aren&apos;t using __bridge_transfer anywhere in WebCore/WebKit either.

Previously I changed CFBridgingTranfer() to a (__bridge_transfer) cast, but you made the same comment both times without explaining what your specific concern is.

Can you state your specific concern, and perhaps propose a solution?

BTW, this cast operator is used elsewhere in the project:

$ grep -l -r __bridge_transfer Source/*
Source/ThirdParty/libwebrtc/Source/webrtc/test/mac_capturer.mm
Source/ThirdParty/libwebrtc/Source/webrtc/sdk/WebKit/WebKitDecoder.mm
Source/ThirdParty/libwebrtc/Source/webrtc/sdk/WebKit/WebKitEncoder.mm
Source/WTF/wtf/BlockPtr.h
Source/WTF/wtf/cocoa/URLCocoa.mm
Source/WTF/wtf/text/cocoa/StringCocoa.mm

&gt;&gt; Source/WebCore/platform/mac/PlatformSpeechSynthesizerMac.mm:248
&gt;&gt; +        auto defaultVoiceURI = speechSynthesisGetDefaultVoiceIdentifierForLocale(adoptNS([[NSLocale alloc] initWithLocaleIdentifier:language]).get());
&gt; 
&gt; Not as much of a mystery as when it&apos;s in another file, but strictly worse than before, in my opinion.

Changing the static method to return an NSString * type would require autoreleasing the +1 retained CFStringRef on Monterey, which puts the object in an autoreleasePool, which should be avoided if possible for performance reasaons.

Perhaps the static method should return a RetainPtr&lt;CFStringRef&gt;, and then we can cast it via (_bridge NSString *) where it&apos;s used below?

Would that address both of your concerns?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777878</commentid>
    <comment_count>11</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2021-07-19 09:14:12 -0700</bug_when>
    <thetext>As you used a language facility for the first time in WebCore/WebKit without any explanation, I think that there needs to be an explanation of why you did it.

If it&apos;s in preparation for eventual ARC adoption, I think that there are some unanswered questions:

- Will we be doing such adoption ever?
- What is the value of starting with one function, that just seems to add complexity for no benefit.
- What is the value of doing it in a line that has adoptNS anyway, and thus would need to change again.

None of that is a big deal, but it feels wrong to me to overload a build fix with novel and unrelated changes.

As for auto, the culture in this project is that people you like it just ignore opinions of others who think that it makes code worse in most cases, so I don&apos;t think that it&apos;s worth discussing further.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1778356</commentid>
    <comment_count>12</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2021-07-20 20:58:08 -0700</bug_when>
    <thetext>(In reply to Alexey Proskuryakov from comment #11)
&gt; As you used a language facility for the first time in WebCore/WebKit without
&gt; any explanation, I think that there needs to be an explanation of why you
&gt; did it.
&gt; 
&gt; If it&apos;s in preparation for eventual ARC adoption, I think that there are
&gt; some unanswered questions:
&gt; 
&gt; - Will we be doing such adoption ever?
&gt; - What is the value of starting with one function, that just seems to add
&gt; complexity for no benefit.
&gt; - What is the value of doing it in a line that has adoptNS anyway, and thus
&gt; would need to change again.
&gt; 
&gt; None of that is a big deal, but it feels wrong to me to overload a build fix
&gt; with novel and unrelated changes.

The patch was written (a) to avoid putting any objects in an autoreleasePool, (b) to make speechSynthesisGetDefaultVoiceIdentifierForLocale() return RetainPtr&lt;NSString&gt; to match other variables in the calling function (which makes the `auto` type easier to infer), and (c) put all the casts in the speechSynthesisGetDefaultVoiceIdentifierForLocale() helper method.

But none of this is a big deal since I can use a return value of RetainPtr&lt;CFStringRef&gt; instead and resolve these objections to reviewing the patch.

&gt; As for auto, the culture in this project is that people you like it just
&gt; ignore opinions of others who think that it makes code worse in most cases,
&gt; so I don&apos;t think that it&apos;s worth discussing further.

Okay.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1778357</commentid>
    <comment_count>13</comment_count>
      <attachid>433918</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2021-07-20 20:59:17 -0700</bug_when>
    <thetext>Created attachment 433918
Patch v6</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1778401</commentid>
    <comment_count>14</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-07-21 05:57:29 -0700</bug_when>
    <thetext>Committed r280129 (239839@main): &lt;https://commits.webkit.org/239839@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 433918.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1778477</commentid>
    <comment_count>15</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-07-21 11:23:31 -0700</bug_when>
    <thetext>I believe this broke the internal build:

Ld WebCore
Undefined symbols for architecture x86_64:
  &quot;_CopyIdentifierStringForPreferredVoiceInListWithLocale&quot;, referenced from:
      __ZN7WebCoreL49speechSynthesisGetDefaultVoiceIdentifierForLocaleEP8NSLocale in UnifiedSource36-mm.o
ld: symbol(s) not found for architecture x86_64</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1778492</commentid>
    <comment_count>16</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-07-21 12:27:01 -0700</bug_when>
    <thetext>Reverted r280129 for reason:

Broke the internal Monterey build bots

Committed r280153 (239850@main): &lt;https://commits.webkit.org/239850@main&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1778510</commentid>
    <comment_count>17</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2021-07-21 12:53:44 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #16)
&gt; Reverted r280129 for reason:
&gt; 
&gt; Broke the internal Monterey build bots
&gt; 
&gt; Committed r280153 (239850@main): &lt;https://commits.webkit.org/239850@main&gt;

Thanks for rolling out.  I can’t work on this any longer, so assigning back to the default assignee.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1780198</commentid>
    <comment_count>18</comment_count>
      <attachid>434462</attachid>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2021-07-28 14:04:12 -0700</bug_when>
    <thetext>Created attachment 434462
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1780352</commentid>
    <comment_count>19</comment_count>
      <attachid>434462</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2021-07-29 04:17:41 -0700</bug_when>
    <thetext>Comment on attachment 434462
Patch

r=me to re-land my patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1780353</commentid>
    <comment_count>20</comment_count>
      <attachid>434462</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2021-07-29 04:21:16 -0700</bug_when>
    <thetext>Comment on attachment 434462
Patch

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

&gt; Source/WebCore/platform/mac/PlatformSpeechSynthesizerMac.mm:230
&gt; +#if HAVE(SPEECHSYNTHESIS_MONTEREY_SPI)

We might want to add “&amp;&amp; HAVE(INTERNAL_SDK)”—or whatever the correct macro is—here so Open Source contributors can still build WebKit until this SPI is available in a Monterey Seed build.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1780490</commentid>
    <comment_count>21</comment_count>
      <attachid>434552</attachid>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2021-07-29 11:57:45 -0700</bug_when>
    <thetext>Created attachment 434552
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1780492</commentid>
    <comment_count>22</comment_count>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2021-07-29 11:58:16 -0700</bug_when>
    <thetext>(In reply to David Kilzer (:ddkilzer) from comment #20)
&gt; Comment on attachment 434462 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=434462&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/mac/PlatformSpeechSynthesizerMac.mm:230
&gt; &gt; +#if HAVE(SPEECHSYNTHESIS_MONTEREY_SPI)
&gt; 
&gt; We might want to add “&amp;&amp; HAVE(INTERNAL_SDK)”—or whatever the correct macro
&gt; is—here so Open Source contributors can still build WebKit until this SPI is
&gt; available in a Monterey Seed build.

Added in patch for landing. Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1780521</commentid>
    <comment_count>23</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-07-29 12:54:36 -0700</bug_when>
    <thetext>Committed r280441 (240079@main): &lt;https://commits.webkit.org/240079@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 434552.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433759</attachid>
            <date>2021-07-18 15:09:07 -0700</date>
            <delta_ts>2021-07-18 15:15:54 -0700</delta_ts>
            <desc>Patch v1</desc>
            <filename>bug-228066-20210718150902.patch</filename>
            <type>text/plain</type>
            <size>7966</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5ODU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmQ1ZGU3M2RkZDIzMzUx
MmQ3ZmU0NzIxZTMzNWU4YTgyYWE5MmVhZC4uYWEwY2EyMDZkYzRjMTI0ZmFmZTk4ZmRjMWE2NTg5
NGVhMGE5ODZmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIxLTA3LTE4ICBEYXZp
ZCBLaWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+CisKKyAgICAgICAgR2V0SWRlbnRpZmllclN0
cmluZ0ZvclByZWZlcnJlZFZvaWNlSW5MaXN0V2l0aExvY2FsZSgpIGlzIGRlcHJlY2F0ZWQgaW4g
TW9udGVyZXkKKyAgICAgICAgPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzIyODA2Nj4KKyAgICAgICAg
PHJkYXI6Ly9wcm9ibGVtLzgwNTc3MzEyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogcGxhdGZvcm0vbWFjL1BsYXRmb3JtU3BlZWNoU3ludGhlc2l6
ZXJNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpzcGVlY2hTeW50aGVzaXNHZXREZWZhdWx0Vm9p
Y2VJZGVudGlmaWVyRm9yTG9jYWxlKToKKyAgICAgICAgLSBTd2l0Y2ggdG8gdXNlCisgICAgICAg
ICAgQ29weUlkZW50aWZpZXJTdHJpbmdGb3JQcmVmZXJyZWRWb2ljZUluTGlzdFdpdGhMb2NhbGUo
KQorICAgICAgICAgIGluIE1vbnRlcmV5LgorICAgICAgICAtIENoYW5nZSB0byByZXR1cm4gUmV0
YWluUHRyPD4gdG8gaGFuZGxlIGxpZmV0aW1lIG9mCisgICAgICAgICAgb2JqZWN0IHJldHVybmVk
IGZyb20gbmV3IGZ1bmN0aW9uLgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1TcGVlY2hTeW50
aGVzaXplcjo6aW5pdGlhbGl6ZVZvaWNlTGlzdCk6CisgICAgICAgIC0gQ2hhbmdlIHZhcmlibGUg
dHlwZSB0byAnYXV0bycgc2luY2UgcmV0dXJuIHR5cGUgb2YKKyAgICAgICAgICBzcGVlY2hTeW50
aGVzaXNHZXREZWZhdWx0Vm9pY2VJZGVudGlmaWVyRm9yTG9jYWxlKCkKKyAgICAgICAgICBjaGFu
Z2VkLgorCiAyMDIxLTA3LTEyICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29t
PgogCiAgICAgICAgIEJpZnVyY2F0ZWRHcmFwaGljc0NvbnRleHQgY2FuJ3QgZHJhdyB0ZXh0CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUv
UEFML0NoYW5nZUxvZwppbmRleCAwNDU4MDExNjBiMTZkYmUwZTg2ODg1OGU2YTRiMDgzZmIwZDk5
NmM5Li40YWIyNDRkZDVjNWI4N2MxMDU5ZWFiMTQ5OTM4YzQ1N2Q0YzhlMDVhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAyMS0wNy0xOCAgRGF2aWQgS2lsemVyICA8ZGRr
aWx6ZXJAYXBwbGUuY29tPgorCisgICAgICAgIEdldElkZW50aWZpZXJTdHJpbmdGb3JQcmVmZXJy
ZWRWb2ljZUluTGlzdFdpdGhMb2NhbGUoKSBpcyBkZXByZWNhdGVkIGluIE1vbnRlcmV5CisgICAg
ICAgIDxodHRwczovL3dlYmtpdC5vcmcvYi8yMjgwNjY+CisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS84MDU3NzMxMj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIHBhbC9zcGkvbWFjL1NwZWVjaFN5bnRoZXNpc1NQSS5oOgorICAgICAgICAoQ29weUlk
ZW50aWZpZXJTdHJpbmdGb3JQcmVmZXJyZWRWb2ljZUluTGlzdFdpdGhMb2NhbGUpOiBBZGQuCisg
ICAgICAgIC0gRGVmaW5lIHJlcGxhY2VtZW50IGZ1bmN0aW9uIGZvcgorICAgICAgICAgIEdldElk
ZW50aWZpZXJTdHJpbmdGb3JQcmVmZXJyZWRWb2ljZUluTGlzdFdpdGhMb2NhbGUoKQorICAgICAg
ICAgIGluIE1vbnRlcmV5LgorCiAyMDIxLTA3LTA5ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBw
bGUuY29tPgogCiAgICAgICAgIFtDb2NvYV0gTWFrZSBDb29yZGluYXRvciBwbGF5YmFjayBjb21t
YW5kcyBtb3JlIHByZWNpc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3Bp
L21hYy9TcGVlY2hTeW50aGVzaXNTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL21h
Yy9TcGVlY2hTeW50aGVzaXNTUEkuaAppbmRleCBjN2I3OWU3YTQxZTRhOGVlMDQyMzZjYWI5ZGUy
MDkxNzM4YThhYzQzLi5jNmE2M2NkNTVlOWE4NTc3MTVhMTU4MDE2NzVhZjA2ODgxYWE4ZjUzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMvU3BlZWNoU3ludGhlc2lz
U1BJLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvbWFjL1NwZWVjaFN5bnRoZXNp
c1NQSS5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTctMjAyMSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKQEAgLTM0LDYgKzM0LDEwIEBACiBXVEZfRVhURVJOX0NfQkVHSU4KIAogQ0ZBcnJheVJlZiBD
b3B5U3BlZWNoU3ludGhlc2lzVm9pY2VzRm9yTW9kZShDRlR5cGVSZWYgbW9kZSk7CisjaWYgX19N
QUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMjAwMDAKK0NGU3RyaW5nUmVmIENvcHlJ
ZGVudGlmaWVyU3RyaW5nRm9yUHJlZmVycmVkVm9pY2VJbkxpc3RXaXRoTG9jYWxlKENGQXJyYXlS
ZWYgdm9pY2VzLCBDRkxvY2FsZVJlZik7CisjZWxzZQogQ0ZTdHJpbmdSZWYgR2V0SWRlbnRpZmll
clN0cmluZ0ZvclByZWZlcnJlZFZvaWNlSW5MaXN0V2l0aExvY2FsZShDRkFycmF5UmVmIHZvaWNl
cywgQ0ZMb2NhbGVSZWYpOworI2VuZGlmCiAKIFdURl9FWFRFUk5fQ19FTkQKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9QbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyTWFj
Lm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1BsYXRmb3JtU3BlZWNoU3ludGhlc2l6
ZXJNYWMubW0KaW5kZXggYTI4NWMyMmIyMjExY2ZhNjkxYThlMjhiMmQ5MTA5NjlkOTkwNmU4Zi4u
NTUyMjJiMjczNmI4NGMzZDRjYmEwZTIzNzg1MjVmMzg1YzYwZjc0NSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1BsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNYWMubW0K
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1BsYXRmb3JtU3BlZWNoU3ludGhlc2l6
ZXJNYWMubW0KQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxl
IEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMtMjAyMSBB
cHBsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCkBAIC0yMjIsMTIgKzIyMiwxNiBAQCBzdGF0aWMgUmV0YWluUHRyPENGQXJyYXlSZWY+
IHNwZWVjaFN5bnRoZXNpc0dldFZvaWNlSWRlbnRpZmllcnMoKQogICAgIHJldHVybiBhZG9wdENG
KENvcHlTcGVlY2hTeW50aGVzaXNWb2ljZXNGb3JNb2RlKChfX2JyaWRnZSBDRkFycmF5UmVmKUBb
IEAiVm9pY2VHcm91cERlZmF1bHQiLCBAIlZvaWNlR3JvdXBDb21wYWN0IiBdKSk7CiB9CiAKLXN0
YXRpYyBOU1N0cmluZyAqc3BlZWNoU3ludGhlc2lzR2V0RGVmYXVsdFZvaWNlSWRlbnRpZmllckZv
ckxvY2FsZShOU0xvY2FsZSAqdXNlckxvY2FsZSkKK3N0YXRpYyBSZXRhaW5QdHI8TlNTdHJpbmc+
IHNwZWVjaFN5bnRoZXNpc0dldERlZmF1bHRWb2ljZUlkZW50aWZpZXJGb3JMb2NhbGUoTlNMb2Nh
bGUgKnVzZXJMb2NhbGUpCiB7CiAgICAgaWYgKCF1c2VyTG9jYWxlKQogICAgICAgICByZXR1cm4g
bmlsOwogCisjaWYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMjAwMDAKKyAg
ICBhZG9wdE5TKENGQnJpZGdpbmdSZWxlYXNlKENvcHlJZGVudGlmaWVyU3RyaW5nRm9yUHJlZmVy
cmVkVm9pY2VJbkxpc3RXaXRoTG9jYWxlKHNwZWVjaFN5bnRoZXNpc0dldFZvaWNlSWRlbnRpZmll
cnMoKS5nZXQoKSwgKF9fYnJpZGdlIENGTG9jYWxlUmVmKXVzZXJMb2NhbGUpKSk7CisjZWxzZQog
ICAgIHJldHVybiAoX19icmlkZ2UgTlNTdHJpbmcgKilHZXRJZGVudGlmaWVyU3RyaW5nRm9yUHJl
ZmVycmVkVm9pY2VJbkxpc3RXaXRoTG9jYWxlKHNwZWVjaFN5bnRoZXNpc0dldFZvaWNlSWRlbnRp
ZmllcnMoKS5nZXQoKSwgKF9fYnJpZGdlIENGTG9jYWxlUmVmKXVzZXJMb2NhbGUpOworI2VuZGlm
CiB9CiAKIHZvaWQgUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplcjo6aW5pdGlhbGl6ZVZvaWNlTGlz
dCgpCkBAIC0yNDEsNyArMjQ1LDcgQEAgdm9pZCBQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyOjpp
bml0aWFsaXplVm9pY2VMaXN0KCkKICAgICAgICAgTlNTdHJpbmcgKnZvaWNlVVJJID0gW2F0dHJp
YnV0ZXMgb2JqZWN0Rm9yS2V5Ok5TVm9pY2VJZGVudGlmaWVyXTsKICAgICAgICAgTlNTdHJpbmcg
Km5hbWUgPSBbYXR0cmlidXRlcyBvYmplY3RGb3JLZXk6TlNWb2ljZU5hbWVdOwogICAgICAgICBO
U1N0cmluZyAqbGFuZ3VhZ2UgPSBbYXR0cmlidXRlcyBvYmplY3RGb3JLZXk6TlNWb2ljZUxvY2Fs
ZUlkZW50aWZpZXJdOwotICAgICAgICBOU1N0cmluZyAqZGVmYXVsdFZvaWNlVVJJID0gc3BlZWNo
U3ludGhlc2lzR2V0RGVmYXVsdFZvaWNlSWRlbnRpZmllckZvckxvY2FsZShhZG9wdE5TKFtbTlNM
b2NhbGUgYWxsb2NdIGluaXRXaXRoTG9jYWxlSWRlbnRpZmllcjpsYW5ndWFnZV0pLmdldCgpKTsK
KyAgICAgICAgYXV0byBkZWZhdWx0Vm9pY2VVUkkgPSBzcGVlY2hTeW50aGVzaXNHZXREZWZhdWx0
Vm9pY2VJZGVudGlmaWVyRm9yTG9jYWxlKGFkb3B0TlMoW1tOU0xvY2FsZSBhbGxvY10gaW5pdFdp
dGhMb2NhbGVJZGVudGlmaWVyOmxhbmd1YWdlXSkuZ2V0KCkpOwogCiAgICAgICAgIC8vIENoYW5n
ZSB0byBCQ1AtNDcgZm9ybWF0IGFzIGRlZmluZWQgYnkgc3BlYy4KICAgICAgICAgbGFuZ3VhZ2Ug
PSBbbGFuZ3VhZ2Ugc3RyaW5nQnlSZXBsYWNpbmdPY2N1cnJlbmNlc09mU3RyaW5nOkAiXyIgd2l0
aFN0cmluZzpAIi0iXTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5n
ZUxvZwppbmRleCBkZDQ5ZDMwNmY1YzYxNjAxYmI5MWY2OTZmOWFiYWUzMTFkZmE5MDgwLi42NmI0
YTBiYTEwMmE3Zjk0MTkwYjkxYTM3NTQ3ZmQyNDVkNWZjY2UwIDEwMDY0NAotLS0gYS9Ub29scy9D
aGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMjEtMDct
MTggIERhdmlkIEtpbHplciAgPGRka2lsemVyQGFwcGxlLmNvbT4KKworICAgICAgICBJZ25vcmUg
d2VhayBleHRlcm5hbCBzeW1ib2xzIGluIGNsYW5nIGNvdmVyYWdlIGJ1aWxkcyB1c2luZyBjaGVj
ay1mb3Itd2Vhay12dGFibGVzLWFuZC1leHRlcm5hbHMKKyAgICAgICAgPGh0dHBzOi8vd2Via2l0
Lm9yZy9iLzIyODA2Mz4KKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzgwNDc3MTM4PgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2NyaXB0cy9jaGVj
ay1mb3Itd2Vhay12dGFibGVzLWFuZC1leHRlcm5hbHM6CisgICAgICAgIC0gSWdub3JlIHdlYWsg
c3ltYm9scyBmcm9tIGxsdm0gd2hlbiBidWlsZGluZyB3aXRoCisgICAgICAgICAgY292ZXJhZ2Ug
ZW5hYmxlZC4gIFRoaXMgZml4ZXMgdGhlIGJ1aWxkLgorICAgICAgICAqIGNvdmVyYWdlL2NvdmVy
YWdlLnhjY29uZmlnOgorICAgICAgICAoVU5FWFBPUlRFRF9TWU1CT0xfTERGTEFHU19GT1JfQ09W
RVJBR0UpOiBSZW1vdmUuCisgICAgICAgIC0gQ2FuJ3QgdXNlIC11bmV4cG9ydGVkX3N5bWJvbCBh
bmQgLWV4cG9ydGVkX3N5bWJvbAorICAgICAgICAgIHRvZ2V0aGVyLCBzbyByZW1vdmUgdGhpcy4K
KwogMjAyMS0wNy0xMiAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KIAog
ICAgICAgICBCaWZ1cmNhdGVkR3JhcGhpY3NDb250ZXh0IGNhbid0IGRyYXcgdGV4dApkaWZmIC0t
Z2l0IGEvVG9vbHMvU2NyaXB0cy9jaGVjay1mb3Itd2Vhay12dGFibGVzLWFuZC1leHRlcm5hbHMg
Yi9Ub29scy9TY3JpcHRzL2NoZWNrLWZvci13ZWFrLXZ0YWJsZXMtYW5kLWV4dGVybmFscwppbmRl
eCA4YmNkZWUyODc4MmU5ZmYyZDY2OTc4NTZhY2E2MDE2MDRmNjY4NTk4Li40OGQ2NWYxMDNkYmQ4
MzAxZDE5ZWQ1YjVhMjRiZTFlNGYxMDY2YTBjIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL2No
ZWNrLWZvci13ZWFrLXZ0YWJsZXMtYW5kLWV4dGVybmFscworKysgYi9Ub29scy9TY3JpcHRzL2No
ZWNrLWZvci13ZWFrLXZ0YWJsZXMtYW5kLWV4dGVybmFscwpAQCAtNjgsNiArNjgsOSBAQCBpZiAo
IWRlZmluZWQgJGV4ZWN1dGFibGVQYXRoQWdlIHx8ICFkZWZpbmVkICRidWlsZFRpbWVzdGFtcEFn
ZSB8fCAkZXhlY3V0YWJsZVBhdAogICAgICAgICAgICAgIyBBU2FuIGNvbXBpbGVyLXJ0IGNhbGxz
IGludG8gX19hc2FuX21hcHBpbmdfb2Zmc2V0IGFuZCBfX2FzYW5fbWFwcGluZ19zY2FsZQogICAg
ICAgICAgICAgbmV4dCBpZiAvXGJfX19hc2FuLzsKIAorICAgICAgICAgICAgIyBJZ25vcmUgd2Vh
ayBzeW1ib2xzIHByZXNlbnQgd2hlbiBjb21waWxpbmcgd2l0aCBjb3ZlcmFnZSBlbmFibGVkLgor
ICAgICAgICAgICAgbmV4dCBpZiAvXGIoX19fbGx2bV9wcm9maWxlX2ZpbGVuYW1lfF9fX2xsdm1f
cHJvZmlsZV9yYXdfdmVyc2lvbnxfbHByb2ZEaXJNb2RlKS8gJiYgY292ZXJhZ2VJc0VuYWJsZWQo
KTsKKwogICAgICAgICAgICAgaWYgKC93ZWFrIGV4dGVybmFsIHZ0YWJsZSBmb3IgKC4qKSQvKSB7
CiAgICAgICAgICAgICAgICAgcHVzaCBAd2Vha1ZUYWJsZUNsYXNzZXMsICQxOwogICAgICAgICAg
ICAgfSBlbHNpZiAoL3dlYWsgZXh0ZXJuYWwgKC4qKSQvKSB7CmRpZmYgLS1naXQgYS9Ub29scy9j
b3ZlcmFnZS9jb3ZlcmFnZS54Y2NvbmZpZyBiL1Rvb2xzL2NvdmVyYWdlL2NvdmVyYWdlLnhjY29u
ZmlnCmluZGV4IGRhNTRjMThiNmM1YmZmMTI2MGUyYWY3OTUzNmQ1Njc2MDQ3YjBlNTQuLjBlZjIy
YzE3ZjcyZjYxODY0ZjljMmYzODllZGI0MTgwYWI4MWM3YTcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL2Nv
dmVyYWdlL2NvdmVyYWdlLnhjY29uZmlnCisrKyBiL1Rvb2xzL2NvdmVyYWdlL2NvdmVyYWdlLnhj
Y29uZmlnCkBAIC0xLDUgKzEsMiBAQAotLy8gVW5leHBvcnQgd2VhayBleHRlcm5hbCBzeW1ib2xz
IGZyb20gbGx2bSBjb3ZlcmFnZS4KLVVORVhQT1JURURfU1lNQk9MX0xERkxBR1NfRk9SX0NPVkVS
QUdFID0gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19fbGx2bV9wcm9maWxlX2ZpbGVuYW1l
IC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fX2xsdm1fcHJvZmlsZV9yYXdfdmVyc2lvbiAt
V2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfbHByb2ZEaXJNb2RlOwotCiBPVEhFUl9DRkxBR1Mg
PSAkKGluaGVyaXRlZCkgLWZwcm9maWxlLWluc3RyLWdlbmVyYXRlIC1mY292ZXJhZ2UtbWFwcGlu
ZzsKLU9USEVSX0xERkxBR1MgPSAkKGluaGVyaXRlZCkgLWZwcm9maWxlLWluc3RyLWdlbmVyYXRl
ICQoVU5FWFBPUlRFRF9TWU1CT0xfTERGTEFHU19GT1JfQ09WRVJBR0UpOworT1RIRVJfTERGTEFH
UyA9ICQoaW5oZXJpdGVkKSAtZnByb2ZpbGUtaW5zdHItZ2VuZXJhdGU7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433760</attachid>
            <date>2021-07-18 15:15:56 -0700</date>
            <delta_ts>2021-07-18 15:45:07 -0700</delta_ts>
            <desc>Patch v2</desc>
            <filename>bug-228066-20210718151556.patch</filename>
            <type>text/plain</type>
            <size>8197</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwMDIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDhkZWM2OTgxMjVhYjJi
MTFkOGIxMjA4YWM3Zjg0NzVhOWFlZjllYi4uZWMyOGYxNjI2ZjQ5OGE3NTc1ZDliNjU4NGYxOTk1
ZjgxM2E4ZWJlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIxLTA3LTE4ICBEYXZp
ZCBLaWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+CisKKyAgICAgICAgR2V0SWRlbnRpZmllclN0
cmluZ0ZvclByZWZlcnJlZFZvaWNlSW5MaXN0V2l0aExvY2FsZSgpIGlzIGRlcHJlY2F0ZWQgaW4g
TW9udGVyZXkKKyAgICAgICAgPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzIyODA2Nj4KKyAgICAgICAg
PHJkYXI6Ly9wcm9ibGVtLzgwNTc3MzEyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogcGxhdGZvcm0vbWFjL1BsYXRmb3JtU3BlZWNoU3ludGhlc2l6
ZXJNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpzcGVlY2hTeW50aGVzaXNHZXREZWZhdWx0Vm9p
Y2VJZGVudGlmaWVyRm9yTG9jYWxlKToKKyAgICAgICAgLSBTd2l0Y2ggdG8gdXNlCisgICAgICAg
ICAgQ29weUlkZW50aWZpZXJTdHJpbmdGb3JQcmVmZXJyZWRWb2ljZUluTGlzdFdpdGhMb2NhbGUo
KQorICAgICAgICAgIGluIE1vbnRlcmV5LgorICAgICAgICAtIENoYW5nZSB0byByZXR1cm4gUmV0
YWluUHRyPD4gdG8gaGFuZGxlIGxpZmV0aW1lIG9mCisgICAgICAgICAgb2JqZWN0IHJldHVybmVk
IGZyb20gbmV3IGZ1bmN0aW9uLgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1TcGVlY2hTeW50
aGVzaXplcjo6aW5pdGlhbGl6ZVZvaWNlTGlzdCk6CisgICAgICAgIC0gQ2hhbmdlIHZhcmlibGUg
dHlwZSB0byAnYXV0bycgc2luY2UgcmV0dXJuIHR5cGUgb2YKKyAgICAgICAgICBzcGVlY2hTeW50
aGVzaXNHZXREZWZhdWx0Vm9pY2VJZGVudGlmaWVyRm9yTG9jYWxlKCkKKyAgICAgICAgICBjaGFu
Z2VkLgorCiAyMDIxLTA3LTE4ICBTYW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KIAogICAg
ICAgICBGaXggY2FudmFzIG92ZXJmbG93IGNoZWNraW5nIHRvIHVzZSBDaGVja2VkQXJpdGhtYXRp
YyByYXRoZXIgdGhhbiBhZGhvYyBmbG9hdGluZyBwb2ludCBtZWNoYW5pc20KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdl
TG9nCmluZGV4IDJiYWU4N2E4YjllYzNmYmE3MjhjZjBmNTYzN2EwZTdlMjc1MjY3ZWYuLjMzYmE1
M2U0MzQzYmEzMzZhYWY1MDBiY2Y1NmI3YzA0NjdkZjE5NWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1BBTC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE3IEBACisyMDIxLTA3LTE4ICBEYXZpZCBLaWx6ZXIgIDxkZGtpbHplckBhcHBs
ZS5jb20+CisKKyAgICAgICAgR2V0SWRlbnRpZmllclN0cmluZ0ZvclByZWZlcnJlZFZvaWNlSW5M
aXN0V2l0aExvY2FsZSgpIGlzIGRlcHJlY2F0ZWQgaW4gTW9udGVyZXkKKyAgICAgICAgPGh0dHBz
Oi8vd2Via2l0Lm9yZy9iLzIyODA2Nj4KKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzgwNTc3MzEy
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGFs
L3NwaS9tYWMvU3BlZWNoU3ludGhlc2lzU1BJLmg6CisgICAgICAgIChDb3B5SWRlbnRpZmllclN0
cmluZ0ZvclByZWZlcnJlZFZvaWNlSW5MaXN0V2l0aExvY2FsZSk6IEFkZC4KKyAgICAgICAgLSBE
ZWZpbmUgcmVwbGFjZW1lbnQgZnVuY3Rpb24gZm9yCisgICAgICAgICAgR2V0SWRlbnRpZmllclN0
cmluZ0ZvclByZWZlcnJlZFZvaWNlSW5MaXN0V2l0aExvY2FsZSgpCisgICAgICAgICAgaW4gTW9u
dGVyZXkuCisKIDIwMjEtMDctMTYgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Vi
a2l0Lm9yZz4KIAogICAgICAgICBQcmV2ZW50IEhTVFMgdHJhY2tpbmcgbWl0aWdhdGlvbiBmb3Ig
dG9wIGxldmVsIG5hdmlnYXRpb24gcmVxdWVzdHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1BBTC9wYWwvc3BpL21hYy9TcGVlY2hTeW50aGVzaXNTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL1BB
TC9wYWwvc3BpL21hYy9TcGVlY2hTeW50aGVzaXNTUEkuaAppbmRleCBjN2I3OWU3YTQxZTRhOGVl
MDQyMzZjYWI5ZGUyMDkxNzM4YThhYzQzLi5jNmE2M2NkNTVlOWE4NTc3MTVhMTU4MDE2NzVhZjA2
ODgxYWE4ZjUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMvU3Bl
ZWNoU3ludGhlc2lzU1BJLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvbWFjL1Nw
ZWVjaFN5bnRoZXNpc1NQSS5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykg
MjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTctMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKQEAgLTM0LDYgKzM0LDEwIEBACiBXVEZfRVhURVJOX0NfQkVHSU4KIAog
Q0ZBcnJheVJlZiBDb3B5U3BlZWNoU3ludGhlc2lzVm9pY2VzRm9yTW9kZShDRlR5cGVSZWYgbW9k
ZSk7CisjaWYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMjAwMDAKK0NGU3Ry
aW5nUmVmIENvcHlJZGVudGlmaWVyU3RyaW5nRm9yUHJlZmVycmVkVm9pY2VJbkxpc3RXaXRoTG9j
YWxlKENGQXJyYXlSZWYgdm9pY2VzLCBDRkxvY2FsZVJlZik7CisjZWxzZQogQ0ZTdHJpbmdSZWYg
R2V0SWRlbnRpZmllclN0cmluZ0ZvclByZWZlcnJlZFZvaWNlSW5MaXN0V2l0aExvY2FsZShDRkFy
cmF5UmVmIHZvaWNlcywgQ0ZMb2NhbGVSZWYpOworI2VuZGlmCiAKIFdURl9FWFRFUk5fQ19FTkQK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9QbGF0Zm9ybVNwZWVjaFN5
bnRoZXNpemVyTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1BsYXRmb3JtU3Bl
ZWNoU3ludGhlc2l6ZXJNYWMubW0KaW5kZXggYzExYmYxYTg2ZjNlMzc0YjE2Mzg4YzM3NDhjZTU2
ODcyYzA1YWFhZi4uNTUyMjJiMjczNmI4NGMzZDRjYmEwZTIzNzg1MjVmMzg1YzYwZjc0NSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1BsYXRmb3JtU3BlZWNoU3ludGhl
c2l6ZXJNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1BsYXRmb3JtU3Bl
ZWNoU3ludGhlc2l6ZXJNYWMubW0KQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChD
KSAyMDEzIEFwcGxlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTMtMjAyMSBBcHBsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCkBAIC0yMjIsMTUgKzIyMiwxNiBAQCBzdGF0aWMgUmV0YWluUHRy
PENGQXJyYXlSZWY+IHNwZWVjaFN5bnRoZXNpc0dldFZvaWNlSWRlbnRpZmllcnMoKQogICAgIHJl
dHVybiBhZG9wdENGKENvcHlTcGVlY2hTeW50aGVzaXNWb2ljZXNGb3JNb2RlKChfX2JyaWRnZSBD
RkFycmF5UmVmKUBbIEAiVm9pY2VHcm91cERlZmF1bHQiLCBAIlZvaWNlR3JvdXBDb21wYWN0IiBd
KSk7CiB9CiAKLXN0YXRpYyBOU1N0cmluZyAqc3BlZWNoU3ludGhlc2lzR2V0RGVmYXVsdFZvaWNl
SWRlbnRpZmllckZvckxvY2FsZShOU0xvY2FsZSAqdXNlckxvY2FsZSkKK3N0YXRpYyBSZXRhaW5Q
dHI8TlNTdHJpbmc+IHNwZWVjaFN5bnRoZXNpc0dldERlZmF1bHRWb2ljZUlkZW50aWZpZXJGb3JM
b2NhbGUoTlNMb2NhbGUgKnVzZXJMb2NhbGUpCiB7CiAgICAgaWYgKCF1c2VyTG9jYWxlKQogICAg
ICAgICByZXR1cm4gbmlsOwogCi0jcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgcHVzaAotI3ByYWdt
YSBjbGFuZyBkaWFnbm9zdGljIGlnbm9yZWQgIi1XZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnMiCisj
aWYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMjAwMDAKKyAgICBhZG9wdE5T
KENGQnJpZGdpbmdSZWxlYXNlKENvcHlJZGVudGlmaWVyU3RyaW5nRm9yUHJlZmVycmVkVm9pY2VJ
bkxpc3RXaXRoTG9jYWxlKHNwZWVjaFN5bnRoZXNpc0dldFZvaWNlSWRlbnRpZmllcnMoKS5nZXQo
KSwgKF9fYnJpZGdlIENGTG9jYWxlUmVmKXVzZXJMb2NhbGUpKSk7CisjZWxzZQogICAgIHJldHVy
biAoX19icmlkZ2UgTlNTdHJpbmcgKilHZXRJZGVudGlmaWVyU3RyaW5nRm9yUHJlZmVycmVkVm9p
Y2VJbkxpc3RXaXRoTG9jYWxlKHNwZWVjaFN5bnRoZXNpc0dldFZvaWNlSWRlbnRpZmllcnMoKS5n
ZXQoKSwgKF9fYnJpZGdlIENGTG9jYWxlUmVmKXVzZXJMb2NhbGUpOwotI3ByYWdtYSBjbGFuZyBk
aWFnbm9zdGljIHBvcAorI2VuZGlmCiB9CiAKIHZvaWQgUGxhdGZvcm1TcGVlY2hTeW50aGVzaXpl
cjo6aW5pdGlhbGl6ZVZvaWNlTGlzdCgpCkBAIC0yNDQsNyArMjQ1LDcgQEAgdm9pZCBQbGF0Zm9y
bVNwZWVjaFN5bnRoZXNpemVyOjppbml0aWFsaXplVm9pY2VMaXN0KCkKICAgICAgICAgTlNTdHJp
bmcgKnZvaWNlVVJJID0gW2F0dHJpYnV0ZXMgb2JqZWN0Rm9yS2V5Ok5TVm9pY2VJZGVudGlmaWVy
XTsKICAgICAgICAgTlNTdHJpbmcgKm5hbWUgPSBbYXR0cmlidXRlcyBvYmplY3RGb3JLZXk6TlNW
b2ljZU5hbWVdOwogICAgICAgICBOU1N0cmluZyAqbGFuZ3VhZ2UgPSBbYXR0cmlidXRlcyBvYmpl
Y3RGb3JLZXk6TlNWb2ljZUxvY2FsZUlkZW50aWZpZXJdOwotICAgICAgICBOU1N0cmluZyAqZGVm
YXVsdFZvaWNlVVJJID0gc3BlZWNoU3ludGhlc2lzR2V0RGVmYXVsdFZvaWNlSWRlbnRpZmllckZv
ckxvY2FsZShhZG9wdE5TKFtbTlNMb2NhbGUgYWxsb2NdIGluaXRXaXRoTG9jYWxlSWRlbnRpZmll
cjpsYW5ndWFnZV0pLmdldCgpKTsKKyAgICAgICAgYXV0byBkZWZhdWx0Vm9pY2VVUkkgPSBzcGVl
Y2hTeW50aGVzaXNHZXREZWZhdWx0Vm9pY2VJZGVudGlmaWVyRm9yTG9jYWxlKGFkb3B0TlMoW1tO
U0xvY2FsZSBhbGxvY10gaW5pdFdpdGhMb2NhbGVJZGVudGlmaWVyOmxhbmd1YWdlXSkuZ2V0KCkp
OwogCiAgICAgICAgIC8vIENoYW5nZSB0byBCQ1AtNDcgZm9ybWF0IGFzIGRlZmluZWQgYnkgc3Bl
Yy4KICAgICAgICAgbGFuZ3VhZ2UgPSBbbGFuZ3VhZ2Ugc3RyaW5nQnlSZXBsYWNpbmdPY2N1cnJl
bmNlc09mU3RyaW5nOkAiXyIgd2l0aFN0cmluZzpAIi0iXTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0No
YW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA2NjBjY2ZjYzIyNzdjMDE3YWUzMmFkN2Q1
YzEzNDhmM2I2NzNhNDA0Li41NTYyMjI4MjY1ZjBiNTRmOTZkNjQ3ZGFmYmI0NTQ2ZjQwNjQ4YzAy
IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTkgQEAKKzIwMjEtMDctMTggIERhdmlkIEtpbHplciAgPGRka2lsemVyQGFwcGxlLmNv
bT4KKworICAgICAgICBJZ25vcmUgd2VhayBleHRlcm5hbCBzeW1ib2xzIGluIGNsYW5nIGNvdmVy
YWdlIGJ1aWxkcyB1c2luZyBjaGVjay1mb3Itd2Vhay12dGFibGVzLWFuZC1leHRlcm5hbHMKKyAg
ICAgICAgPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzIyODA2Mz4KKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzgwNDc3MTM4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogU2NyaXB0cy9jaGVjay1mb3Itd2Vhay12dGFibGVzLWFuZC1leHRlcm5hbHM6Cisg
ICAgICAgIC0gSWdub3JlIHdlYWsgc3ltYm9scyBmcm9tIGxsdm0gd2hlbiBidWlsZGluZyB3aXRo
CisgICAgICAgICAgY292ZXJhZ2UgZW5hYmxlZC4gIFRoaXMgZml4ZXMgdGhlIGJ1aWxkLgorICAg
ICAgICAqIGNvdmVyYWdlL2NvdmVyYWdlLnhjY29uZmlnOgorICAgICAgICAoVU5FWFBPUlRFRF9T
WU1CT0xfTERGTEFHU19GT1JfQ09WRVJBR0UpOiBSZW1vdmUuCisgICAgICAgIC0gQ2FuJ3QgdXNl
IC11bmV4cG9ydGVkX3N5bWJvbCBhbmQgLWV4cG9ydGVkX3N5bWJvbAorICAgICAgICAgIHRvZ2V0
aGVyLCBzbyByZW1vdmUgdGhpcy4KKwogMjAyMS0wNy0xNiAgS2F0ZSBDaGVuZXkgIDxrYXRoZXJp
bmVfY2hlbmV5QGFwcGxlLmNvbT4KIAogICAgICAgICBXS1dlYlZpZXcgamF2YXNjcmlwdCBpbmpl
Y3Rpb24gZG9lc24ndCB3b3JrIGlmIGFwcCBpbmNsdWRlcyBXS0FwcEJvdW5kRG9tYWlucwpkaWZm
IC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9jaGVjay1mb3Itd2Vhay12dGFibGVzLWFuZC1leHRlcm5h
bHMgYi9Ub29scy9TY3JpcHRzL2NoZWNrLWZvci13ZWFrLXZ0YWJsZXMtYW5kLWV4dGVybmFscwpp
bmRleCA4YmNkZWUyODc4MmU5ZmYyZDY2OTc4NTZhY2E2MDE2MDRmNjY4NTk4Li40OGQ2NWYxMDNk
YmQ4MzAxZDE5ZWQ1YjVhMjRiZTFlNGYxMDY2YTBjIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRz
L2NoZWNrLWZvci13ZWFrLXZ0YWJsZXMtYW5kLWV4dGVybmFscworKysgYi9Ub29scy9TY3JpcHRz
L2NoZWNrLWZvci13ZWFrLXZ0YWJsZXMtYW5kLWV4dGVybmFscwpAQCAtNjgsNiArNjgsOSBAQCBp
ZiAoIWRlZmluZWQgJGV4ZWN1dGFibGVQYXRoQWdlIHx8ICFkZWZpbmVkICRidWlsZFRpbWVzdGFt
cEFnZSB8fCAkZXhlY3V0YWJsZVBhdAogICAgICAgICAgICAgIyBBU2FuIGNvbXBpbGVyLXJ0IGNh
bGxzIGludG8gX19hc2FuX21hcHBpbmdfb2Zmc2V0IGFuZCBfX2FzYW5fbWFwcGluZ19zY2FsZQog
ICAgICAgICAgICAgbmV4dCBpZiAvXGJfX19hc2FuLzsKIAorICAgICAgICAgICAgIyBJZ25vcmUg
d2VhayBzeW1ib2xzIHByZXNlbnQgd2hlbiBjb21waWxpbmcgd2l0aCBjb3ZlcmFnZSBlbmFibGVk
LgorICAgICAgICAgICAgbmV4dCBpZiAvXGIoX19fbGx2bV9wcm9maWxlX2ZpbGVuYW1lfF9fX2xs
dm1fcHJvZmlsZV9yYXdfdmVyc2lvbnxfbHByb2ZEaXJNb2RlKS8gJiYgY292ZXJhZ2VJc0VuYWJs
ZWQoKTsKKwogICAgICAgICAgICAgaWYgKC93ZWFrIGV4dGVybmFsIHZ0YWJsZSBmb3IgKC4qKSQv
KSB7CiAgICAgICAgICAgICAgICAgcHVzaCBAd2Vha1ZUYWJsZUNsYXNzZXMsICQxOwogICAgICAg
ICAgICAgfSBlbHNpZiAoL3dlYWsgZXh0ZXJuYWwgKC4qKSQvKSB7CmRpZmYgLS1naXQgYS9Ub29s
cy9jb3ZlcmFnZS9jb3ZlcmFnZS54Y2NvbmZpZyBiL1Rvb2xzL2NvdmVyYWdlL2NvdmVyYWdlLnhj
Y29uZmlnCmluZGV4IGRhNTRjMThiNmM1YmZmMTI2MGUyYWY3OTUzNmQ1Njc2MDQ3YjBlNTQuLjBl
ZjIyYzE3ZjcyZjYxODY0ZjljMmYzODllZGI0MTgwYWI4MWM3YTcgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L2NvdmVyYWdlL2NvdmVyYWdlLnhjY29uZmlnCisrKyBiL1Rvb2xzL2NvdmVyYWdlL2NvdmVyYWdl
LnhjY29uZmlnCkBAIC0xLDUgKzEsMiBAQAotLy8gVW5leHBvcnQgd2VhayBleHRlcm5hbCBzeW1i
b2xzIGZyb20gbGx2bSBjb3ZlcmFnZS4KLVVORVhQT1JURURfU1lNQk9MX0xERkxBR1NfRk9SX0NP
VkVSQUdFID0gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19fbGx2bV9wcm9maWxlX2ZpbGVu
YW1lIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fX2xsdm1fcHJvZmlsZV9yYXdfdmVyc2lv
biAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfbHByb2ZEaXJNb2RlOwotCiBPVEhFUl9DRkxB
R1MgPSAkKGluaGVyaXRlZCkgLWZwcm9maWxlLWluc3RyLWdlbmVyYXRlIC1mY292ZXJhZ2UtbWFw
cGluZzsKLU9USEVSX0xERkxBR1MgPSAkKGluaGVyaXRlZCkgLWZwcm9maWxlLWluc3RyLWdlbmVy
YXRlICQoVU5FWFBPUlRFRF9TWU1CT0xfTERGTEFHU19GT1JfQ09WRVJBR0UpOworT1RIRVJfTERG
TEFHUyA9ICQoaW5oZXJpdGVkKSAtZnByb2ZpbGUtaW5zdHItZ2VuZXJhdGU7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433761</attachid>
            <date>2021-07-18 15:45:09 -0700</date>
            <delta_ts>2021-07-18 16:35:19 -0700</delta_ts>
            <desc>Patch v3</desc>
            <filename>bug-228066-20210718154508.patch</filename>
            <type>text/plain</type>
            <size>9428</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwMDIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDFlOGIyNjIzNTI2ZDI1YzNkNjI3ZTlh
MzE0MWM3NDdlNGI0MmQyOTQuLmQ4MGVhNTNkMGYyYWM2MzhiYzY3M2QyNzJiNmQzZTNiNTJjYzQ0
OGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjEtMDctMTggIERhdmlkIEtpbHplciAgPGRka2ls
emVyQGFwcGxlLmNvbT4KKworICAgICAgICBHZXRJZGVudGlmaWVyU3RyaW5nRm9yUHJlZmVycmVk
Vm9pY2VJbkxpc3RXaXRoTG9jYWxlKCkgaXMgZGVwcmVjYXRlZCBpbiBNb250ZXJleQorICAgICAg
ICA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMjI4MDY2PgorICAgICAgICA8cmRhcjovL3Byb2JsZW0v
ODA1NzczMTI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiB3dGYvUGxhdGZvcm1IYXZlLmg6CisgICAgICAgIC0gQWRkIEhBVkUoU1BFRUNIU1lOVEhF
U0lTX01PTlRFUkVZX1NQSSkuCisKIDIwMjEtMDctMTYgIEFsZXhhbmRlciBNaWtoYXlsZW5rbyAg
PGFsZXhtQGdub21lLm9yZz4KIAogICAgICAgICBbR1RLXVtXUEVdIFN1cHBvcnQgY29sb3Itc2No
ZW1lcyBDU1MgcHJvcGVydHkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA0OGRlYzY5ODEyNWFiMmIxMWQ4YjEyMDhh
YzdmODQ3NWE5YWVmOWViLi5lYzI4ZjE2MjZmNDk4YTc1NzVkOWI2NTg0ZjE5OTVmODEzYThlYmU5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMjEtMDctMTggIERhdmlkIEtpbHplciAg
PGRka2lsemVyQGFwcGxlLmNvbT4KKworICAgICAgICBHZXRJZGVudGlmaWVyU3RyaW5nRm9yUHJl
ZmVycmVkVm9pY2VJbkxpc3RXaXRoTG9jYWxlKCkgaXMgZGVwcmVjYXRlZCBpbiBNb250ZXJleQor
ICAgICAgICA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMjI4MDY2PgorICAgICAgICA8cmRhcjovL3By
b2JsZW0vODA1NzczMTI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1hYy5tbToK
KyAgICAgICAgKFdlYkNvcmU6OnNwZWVjaFN5bnRoZXNpc0dldERlZmF1bHRWb2ljZUlkZW50aWZp
ZXJGb3JMb2NhbGUpOgorICAgICAgICAtIFN3aXRjaCB0byB1c2UKKyAgICAgICAgICBDb3B5SWRl
bnRpZmllclN0cmluZ0ZvclByZWZlcnJlZFZvaWNlSW5MaXN0V2l0aExvY2FsZSgpCisgICAgICAg
ICAgaW4gTW9udGVyZXkuCisgICAgICAgIC0gQ2hhbmdlIHRvIHJldHVybiBSZXRhaW5QdHI8PiB0
byBoYW5kbGUgbGlmZXRpbWUgb2YKKyAgICAgICAgICBvYmplY3QgcmV0dXJuZWQgZnJvbSBuZXcg
ZnVuY3Rpb24uCisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyOjpp
bml0aWFsaXplVm9pY2VMaXN0KToKKyAgICAgICAgLSBDaGFuZ2UgdmFyaWJsZSB0eXBlIHRvICdh
dXRvJyBzaW5jZSByZXR1cm4gdHlwZSBvZgorICAgICAgICAgIHNwZWVjaFN5bnRoZXNpc0dldERl
ZmF1bHRWb2ljZUlkZW50aWZpZXJGb3JMb2NhbGUoKQorICAgICAgICAgIGNoYW5nZWQuCisKIDIw
MjEtMDctMTggIFNhbSBXZWluaWcgIDx3ZWluaWdAYXBwbGUuY29tPgogCiAgICAgICAgIEZpeCBj
YW52YXMgb3ZlcmZsb3cgY2hlY2tpbmcgdG8gdXNlIENoZWNrZWRBcml0aG1hdGljIHJhdGhlciB0
aGFuIGFkaG9jIGZsb2F0aW5nIHBvaW50IG1lY2hhbmlzbQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvUEFML0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKaW5kZXgg
MmJhZTg3YThiOWVjM2ZiYTcyOGNmMGY1NjM3YTBlN2UyNzUyNjdlZi4uMzNiYTUzZTQzNDNiYTMz
NmFhZjUwMGJjZjU2YjdjMDQ2N2RmMTk1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFM
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTcgQEAKKzIwMjEtMDctMTggIERhdmlkIEtpbHplciAgPGRka2lsemVyQGFwcGxlLmNvbT4KKwor
ICAgICAgICBHZXRJZGVudGlmaWVyU3RyaW5nRm9yUHJlZmVycmVkVm9pY2VJbkxpc3RXaXRoTG9j
YWxlKCkgaXMgZGVwcmVjYXRlZCBpbiBNb250ZXJleQorICAgICAgICA8aHR0cHM6Ly93ZWJraXQu
b3JnL2IvMjI4MDY2PgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vODA1NzczMTI+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwYWwvc3BpL21hYy9T
cGVlY2hTeW50aGVzaXNTUEkuaDoKKyAgICAgICAgKENvcHlJZGVudGlmaWVyU3RyaW5nRm9yUHJl
ZmVycmVkVm9pY2VJbkxpc3RXaXRoTG9jYWxlKTogQWRkLgorICAgICAgICAtIERlZmluZSByZXBs
YWNlbWVudCBmdW5jdGlvbiBmb3IKKyAgICAgICAgICBHZXRJZGVudGlmaWVyU3RyaW5nRm9yUHJl
ZmVycmVkVm9pY2VJbkxpc3RXaXRoTG9jYWxlKCkKKyAgICAgICAgICBpbiBNb250ZXJleS4KKwog
MjAyMS0wNy0xNiAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgog
CiAgICAgICAgIFByZXZlbnQgSFNUUyB0cmFja2luZyBtaXRpZ2F0aW9uIGZvciB0b3AgbGV2ZWwg
bmF2aWdhdGlvbiByZXF1ZXN0cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1I
YXZlLmggYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaAppbmRleCA1N2RmY2VkN2ExNDZl
MDAzNTg0OTQyYWMxZDdiNmQwMTU2MWZmZDI1Li5kMjM2Y2U5MzA5ZDc5MmJjNmNlY2VmODM1Mjc1
NzFmMTc1ZmNhM2YwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaAor
KysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaApAQCAtODUwLDYgKzg1MCwxMiBAQAog
I2VuZGlmCiAjZW5kaWYKIAorI2lmIFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9O
X01JTl9SRVFVSVJFRCA+PSAxMjAwMDAKKyNpZiAhZGVmaW5lZChIQVZFX1NQRUVDSFNZTlRIRVNJ
U19NT05URVJFWV9TUEkpCisjZGVmaW5lIEhBVkVfU1BFRUNIU1lOVEhFU0lTX01PTlRFUkVZX1NQ
SSAxCisjZW5kaWYKKyNlbmRpZgorCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAjaWYgIWRlZmluZWQo
SEFWRV9DR19DT05URVhUX0RSQVdfUEFUSF9ESVJFQ1QpCiAjZGVmaW5lIEhBVkVfQ0dfQ09OVEVY
VF9EUkFXX1BBVEhfRElSRUNUIDEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwv
c3BpL21hYy9TcGVlY2hTeW50aGVzaXNTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3Bp
L21hYy9TcGVlY2hTeW50aGVzaXNTUEkuaAppbmRleCBjN2I3OWU3YTQxZTRhOGVlMDQyMzZjYWI5
ZGUyMDkxNzM4YThhYzQzLi5iOTI5NzgyYmViMGNkMmM2OTVkZWU2MWNlODc3YWU0MTViYzY4YmM1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMvU3BlZWNoU3ludGhl
c2lzU1BJLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvbWFjL1NwZWVjaFN5bnRo
ZXNpc1NQSS5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTctMjAyMSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKQEAgLTM0LDYgKzM0LDEwIEBACiBXVEZfRVhURVJOX0NfQkVHSU4KIAogQ0ZBcnJheVJl
ZiBDb3B5U3BlZWNoU3ludGhlc2lzVm9pY2VzRm9yTW9kZShDRlR5cGVSZWYgbW9kZSk7CisjaWYg
SEFWRShTUEVFQ0hTWU5USEVTSVNfTU9OVEVSRVlfU1BJKQorQ0ZTdHJpbmdSZWYgQ29weUlkZW50
aWZpZXJTdHJpbmdGb3JQcmVmZXJyZWRWb2ljZUluTGlzdFdpdGhMb2NhbGUoQ0ZBcnJheVJlZiB2
b2ljZXMsIENGTG9jYWxlUmVmKTsKKyNlbHNlCiBDRlN0cmluZ1JlZiBHZXRJZGVudGlmaWVyU3Ry
aW5nRm9yUHJlZmVycmVkVm9pY2VJbkxpc3RXaXRoTG9jYWxlKENGQXJyYXlSZWYgdm9pY2VzLCBD
RkxvY2FsZVJlZik7CisjZW5kaWYKIAogV1RGX0VYVEVSTl9DX0VORApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1BsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNYWMubW0g
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1h
Yy5tbQppbmRleCBjMTFiZjFhODZmM2UzNzRiMTYzODhjMzc0OGNlNTY4NzJjMDVhYWFmLi5jMDhi
ZDM0Y2YyMWM4NzUzMjQ4YzhiYmFhZDJmMTc4OGVlZGIzNDhkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tYWMvUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1hYy5tbQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1h
Yy5tbQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5j
LiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMy0yMDIxIEFwcGxl
IEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKQEAgLTIyMiwxNSArMjIyLDE2IEBAIHN0YXRpYyBSZXRhaW5QdHI8Q0ZBcnJheVJlZj4gc3Bl
ZWNoU3ludGhlc2lzR2V0Vm9pY2VJZGVudGlmaWVycygpCiAgICAgcmV0dXJuIGFkb3B0Q0YoQ29w
eVNwZWVjaFN5bnRoZXNpc1ZvaWNlc0Zvck1vZGUoKF9fYnJpZGdlIENGQXJyYXlSZWYpQFsgQCJW
b2ljZUdyb3VwRGVmYXVsdCIsIEAiVm9pY2VHcm91cENvbXBhY3QiIF0pKTsKIH0KIAotc3RhdGlj
IE5TU3RyaW5nICpzcGVlY2hTeW50aGVzaXNHZXREZWZhdWx0Vm9pY2VJZGVudGlmaWVyRm9yTG9j
YWxlKE5TTG9jYWxlICp1c2VyTG9jYWxlKQorc3RhdGljIFJldGFpblB0cjxOU1N0cmluZz4gc3Bl
ZWNoU3ludGhlc2lzR2V0RGVmYXVsdFZvaWNlSWRlbnRpZmllckZvckxvY2FsZShOU0xvY2FsZSAq
dXNlckxvY2FsZSkKIHsKICAgICBpZiAoIXVzZXJMb2NhbGUpCiAgICAgICAgIHJldHVybiBuaWw7
CiAKLSNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBwdXNoCi0jcHJhZ21hIGNsYW5nIGRpYWdub3N0
aWMgaWdub3JlZCAiLVdkZXByZWNhdGVkLWRlY2xhcmF0aW9ucyIKKyNpZiBIQVZFKFNQRUVDSFNZ
TlRIRVNJU19NT05URVJFWV9TUEkpCisgICAgYWRvcHROUyhDRkJyaWRnaW5nUmVsZWFzZShDb3B5
SWRlbnRpZmllclN0cmluZ0ZvclByZWZlcnJlZFZvaWNlSW5MaXN0V2l0aExvY2FsZShzcGVlY2hT
eW50aGVzaXNHZXRWb2ljZUlkZW50aWZpZXJzKCkuZ2V0KCksIChfX2JyaWRnZSBDRkxvY2FsZVJl
Zil1c2VyTG9jYWxlKSkpOworI2Vsc2UKICAgICByZXR1cm4gKF9fYnJpZGdlIE5TU3RyaW5nICop
R2V0SWRlbnRpZmllclN0cmluZ0ZvclByZWZlcnJlZFZvaWNlSW5MaXN0V2l0aExvY2FsZShzcGVl
Y2hTeW50aGVzaXNHZXRWb2ljZUlkZW50aWZpZXJzKCkuZ2V0KCksIChfX2JyaWRnZSBDRkxvY2Fs
ZVJlZil1c2VyTG9jYWxlKTsKLSNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBwb3AKKyNlbmRpZgog
fQogCiB2b2lkIFBsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXI6OmluaXRpYWxpemVWb2ljZUxpc3Qo
KQpAQCAtMjQ0LDcgKzI0NSw3IEBAIHZvaWQgUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplcjo6aW5p
dGlhbGl6ZVZvaWNlTGlzdCgpCiAgICAgICAgIE5TU3RyaW5nICp2b2ljZVVSSSA9IFthdHRyaWJ1
dGVzIG9iamVjdEZvcktleTpOU1ZvaWNlSWRlbnRpZmllcl07CiAgICAgICAgIE5TU3RyaW5nICpu
YW1lID0gW2F0dHJpYnV0ZXMgb2JqZWN0Rm9yS2V5Ok5TVm9pY2VOYW1lXTsKICAgICAgICAgTlNT
dHJpbmcgKmxhbmd1YWdlID0gW2F0dHJpYnV0ZXMgb2JqZWN0Rm9yS2V5Ok5TVm9pY2VMb2NhbGVJ
ZGVudGlmaWVyXTsKLSAgICAgICAgTlNTdHJpbmcgKmRlZmF1bHRWb2ljZVVSSSA9IHNwZWVjaFN5
bnRoZXNpc0dldERlZmF1bHRWb2ljZUlkZW50aWZpZXJGb3JMb2NhbGUoYWRvcHROUyhbW05TTG9j
YWxlIGFsbG9jXSBpbml0V2l0aExvY2FsZUlkZW50aWZpZXI6bGFuZ3VhZ2VdKS5nZXQoKSk7Cisg
ICAgICAgIGF1dG8gZGVmYXVsdFZvaWNlVVJJID0gc3BlZWNoU3ludGhlc2lzR2V0RGVmYXVsdFZv
aWNlSWRlbnRpZmllckZvckxvY2FsZShhZG9wdE5TKFtbTlNMb2NhbGUgYWxsb2NdIGluaXRXaXRo
TG9jYWxlSWRlbnRpZmllcjpsYW5ndWFnZV0pLmdldCgpKTsKIAogICAgICAgICAvLyBDaGFuZ2Ug
dG8gQkNQLTQ3IGZvcm1hdCBhcyBkZWZpbmVkIGJ5IHNwZWMuCiAgICAgICAgIGxhbmd1YWdlID0g
W2xhbmd1YWdlIHN0cmluZ0J5UmVwbGFjaW5nT2NjdXJyZW5jZXNPZlN0cmluZzpAIl8iIHdpdGhT
dHJpbmc6QCItIl07CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VM
b2cKaW5kZXggNjYwY2NmY2MyMjc3YzAxN2FlMzJhZDdkNWMxMzQ4ZjNiNjczYTQwNC4uNTU2MjIy
ODI2NWYwYjU0Zjk2ZDY0N2RhZmJiNDU0NmY0MDY0OGMwMiAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hh
bmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIxLTA3LTE4
ICBEYXZpZCBLaWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+CisKKyAgICAgICAgSWdub3JlIHdl
YWsgZXh0ZXJuYWwgc3ltYm9scyBpbiBjbGFuZyBjb3ZlcmFnZSBidWlsZHMgdXNpbmcgY2hlY2st
Zm9yLXdlYWstdnRhYmxlcy1hbmQtZXh0ZXJuYWxzCisgICAgICAgIDxodHRwczovL3dlYmtpdC5v
cmcvYi8yMjgwNjM+CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84MDQ3NzEzOD4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNjcmlwdHMvY2hlY2st
Zm9yLXdlYWstdnRhYmxlcy1hbmQtZXh0ZXJuYWxzOgorICAgICAgICAtIElnbm9yZSB3ZWFrIHN5
bWJvbHMgZnJvbSBsbHZtIHdoZW4gYnVpbGRpbmcgd2l0aAorICAgICAgICAgIGNvdmVyYWdlIGVu
YWJsZWQuICBUaGlzIGZpeGVzIHRoZSBidWlsZC4KKyAgICAgICAgKiBjb3ZlcmFnZS9jb3ZlcmFn
ZS54Y2NvbmZpZzoKKyAgICAgICAgKFVORVhQT1JURURfU1lNQk9MX0xERkxBR1NfRk9SX0NPVkVS
QUdFKTogUmVtb3ZlLgorICAgICAgICAtIENhbid0IHVzZSAtdW5leHBvcnRlZF9zeW1ib2wgYW5k
IC1leHBvcnRlZF9zeW1ib2wKKyAgICAgICAgICB0b2dldGhlciwgc28gcmVtb3ZlIHRoaXMuCisK
IDIwMjEtMDctMTYgIEthdGUgQ2hlbmV5ICA8a2F0aGVyaW5lX2NoZW5leUBhcHBsZS5jb20+CiAK
ICAgICAgICAgV0tXZWJWaWV3IGphdmFzY3JpcHQgaW5qZWN0aW9uIGRvZXNuJ3Qgd29yayBpZiBh
cHAgaW5jbHVkZXMgV0tBcHBCb3VuZERvbWFpbnMKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMv
Y2hlY2stZm9yLXdlYWstdnRhYmxlcy1hbmQtZXh0ZXJuYWxzIGIvVG9vbHMvU2NyaXB0cy9jaGVj
ay1mb3Itd2Vhay12dGFibGVzLWFuZC1leHRlcm5hbHMKaW5kZXggOGJjZGVlMjg3ODJlOWZmMmQ2
Njk3ODU2YWNhNjAxNjA0ZjY2ODU5OC4uNDhkNjVmMTAzZGJkODMwMWQxOWVkNWI1YTI0YmUxZTRm
MTA2NmEwYyAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9jaGVjay1mb3Itd2Vhay12dGFibGVz
LWFuZC1leHRlcm5hbHMKKysrIGIvVG9vbHMvU2NyaXB0cy9jaGVjay1mb3Itd2Vhay12dGFibGVz
LWFuZC1leHRlcm5hbHMKQEAgLTY4LDYgKzY4LDkgQEAgaWYgKCFkZWZpbmVkICRleGVjdXRhYmxl
UGF0aEFnZSB8fCAhZGVmaW5lZCAkYnVpbGRUaW1lc3RhbXBBZ2UgfHwgJGV4ZWN1dGFibGVQYXQK
ICAgICAgICAgICAgICMgQVNhbiBjb21waWxlci1ydCBjYWxscyBpbnRvIF9fYXNhbl9tYXBwaW5n
X29mZnNldCBhbmQgX19hc2FuX21hcHBpbmdfc2NhbGUKICAgICAgICAgICAgIG5leHQgaWYgL1xi
X19fYXNhbi87CiAKKyAgICAgICAgICAgICMgSWdub3JlIHdlYWsgc3ltYm9scyBwcmVzZW50IHdo
ZW4gY29tcGlsaW5nIHdpdGggY292ZXJhZ2UgZW5hYmxlZC4KKyAgICAgICAgICAgIG5leHQgaWYg
L1xiKF9fX2xsdm1fcHJvZmlsZV9maWxlbmFtZXxfX19sbHZtX3Byb2ZpbGVfcmF3X3ZlcnNpb258
X2xwcm9mRGlyTW9kZSkvICYmIGNvdmVyYWdlSXNFbmFibGVkKCk7CisKICAgICAgICAgICAgIGlm
ICgvd2VhayBleHRlcm5hbCB2dGFibGUgZm9yICguKikkLykgewogICAgICAgICAgICAgICAgIHB1
c2ggQHdlYWtWVGFibGVDbGFzc2VzLCAkMTsKICAgICAgICAgICAgIH0gZWxzaWYgKC93ZWFrIGV4
dGVybmFsICguKikkLykgewpkaWZmIC0tZ2l0IGEvVG9vbHMvY292ZXJhZ2UvY292ZXJhZ2UueGNj
b25maWcgYi9Ub29scy9jb3ZlcmFnZS9jb3ZlcmFnZS54Y2NvbmZpZwppbmRleCBkYTU0YzE4YjZj
NWJmZjEyNjBlMmFmNzk1MzZkNTY3NjA0N2IwZTU0Li4wZWYyMmMxN2Y3MmY2MTg2NGY5YzJmMzg5
ZWRiNDE4MGFiODFjN2E3IDEwMDY0NAotLS0gYS9Ub29scy9jb3ZlcmFnZS9jb3ZlcmFnZS54Y2Nv
bmZpZworKysgYi9Ub29scy9jb3ZlcmFnZS9jb3ZlcmFnZS54Y2NvbmZpZwpAQCAtMSw1ICsxLDIg
QEAKLS8vIFVuZXhwb3J0IHdlYWsgZXh0ZXJuYWwgc3ltYm9scyBmcm9tIGxsdm0gY292ZXJhZ2Uu
Ci1VTkVYUE9SVEVEX1NZTUJPTF9MREZMQUdTX0ZPUl9DT1ZFUkFHRSA9IC1XbCwtdW5leHBvcnRl
ZF9zeW1ib2wgLVdsLF9fX2xsdm1fcHJvZmlsZV9maWxlbmFtZSAtV2wsLXVuZXhwb3J0ZWRfc3lt
Ym9sIC1XbCxfX19sbHZtX3Byb2ZpbGVfcmF3X3ZlcnNpb24gLVdsLC11bmV4cG9ydGVkX3N5bWJv
bCAtV2wsX2xwcm9mRGlyTW9kZTsKLQogT1RIRVJfQ0ZMQUdTID0gJChpbmhlcml0ZWQpIC1mcHJv
ZmlsZS1pbnN0ci1nZW5lcmF0ZSAtZmNvdmVyYWdlLW1hcHBpbmc7Ci1PVEhFUl9MREZMQUdTID0g
JChpbmhlcml0ZWQpIC1mcHJvZmlsZS1pbnN0ci1nZW5lcmF0ZSAkKFVORVhQT1JURURfU1lNQk9M
X0xERkxBR1NfRk9SX0NPVkVSQUdFKTsKK09USEVSX0xERkxBR1MgPSAkKGluaGVyaXRlZCkgLWZw
cm9maWxlLWluc3RyLWdlbmVyYXRlOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433763</attachid>
            <date>2021-07-18 16:35:22 -0700</date>
            <delta_ts>2021-07-18 16:36:52 -0700</delta_ts>
            <desc>Patch v4</desc>
            <filename>bug-228066-20210718163521.patch</filename>
            <type>text/plain</type>
            <size>9445</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwMDIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDFlOGIyNjIzNTI2ZDI1YzNkNjI3ZTlh
MzE0MWM3NDdlNGI0MmQyOTQuLmQ4MGVhNTNkMGYyYWM2MzhiYzY3M2QyNzJiNmQzZTNiNTJjYzQ0
OGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjEtMDctMTggIERhdmlkIEtpbHplciAgPGRka2ls
emVyQGFwcGxlLmNvbT4KKworICAgICAgICBHZXRJZGVudGlmaWVyU3RyaW5nRm9yUHJlZmVycmVk
Vm9pY2VJbkxpc3RXaXRoTG9jYWxlKCkgaXMgZGVwcmVjYXRlZCBpbiBNb250ZXJleQorICAgICAg
ICA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMjI4MDY2PgorICAgICAgICA8cmRhcjovL3Byb2JsZW0v
ODA1NzczMTI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiB3dGYvUGxhdGZvcm1IYXZlLmg6CisgICAgICAgIC0gQWRkIEhBVkUoU1BFRUNIU1lOVEhF
U0lTX01PTlRFUkVZX1NQSSkuCisKIDIwMjEtMDctMTYgIEFsZXhhbmRlciBNaWtoYXlsZW5rbyAg
PGFsZXhtQGdub21lLm9yZz4KIAogICAgICAgICBbR1RLXVtXUEVdIFN1cHBvcnQgY29sb3Itc2No
ZW1lcyBDU1MgcHJvcGVydHkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA0OGRlYzY5ODEyNWFiMmIxMWQ4YjEyMDhh
YzdmODQ3NWE5YWVmOWViLi5lYzI4ZjE2MjZmNDk4YTc1NzVkOWI2NTg0ZjE5OTVmODEzYThlYmU5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMjEtMDctMTggIERhdmlkIEtpbHplciAg
PGRka2lsemVyQGFwcGxlLmNvbT4KKworICAgICAgICBHZXRJZGVudGlmaWVyU3RyaW5nRm9yUHJl
ZmVycmVkVm9pY2VJbkxpc3RXaXRoTG9jYWxlKCkgaXMgZGVwcmVjYXRlZCBpbiBNb250ZXJleQor
ICAgICAgICA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMjI4MDY2PgorICAgICAgICA8cmRhcjovL3By
b2JsZW0vODA1NzczMTI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1hYy5tbToK
KyAgICAgICAgKFdlYkNvcmU6OnNwZWVjaFN5bnRoZXNpc0dldERlZmF1bHRWb2ljZUlkZW50aWZp
ZXJGb3JMb2NhbGUpOgorICAgICAgICAtIFN3aXRjaCB0byB1c2UKKyAgICAgICAgICBDb3B5SWRl
bnRpZmllclN0cmluZ0ZvclByZWZlcnJlZFZvaWNlSW5MaXN0V2l0aExvY2FsZSgpCisgICAgICAg
ICAgaW4gTW9udGVyZXkuCisgICAgICAgIC0gQ2hhbmdlIHRvIHJldHVybiBSZXRhaW5QdHI8PiB0
byBoYW5kbGUgbGlmZXRpbWUgb2YKKyAgICAgICAgICBvYmplY3QgcmV0dXJuZWQgZnJvbSBuZXcg
ZnVuY3Rpb24uCisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyOjpp
bml0aWFsaXplVm9pY2VMaXN0KToKKyAgICAgICAgLSBDaGFuZ2UgdmFyaWJsZSB0eXBlIHRvICdh
dXRvJyBzaW5jZSByZXR1cm4gdHlwZSBvZgorICAgICAgICAgIHNwZWVjaFN5bnRoZXNpc0dldERl
ZmF1bHRWb2ljZUlkZW50aWZpZXJGb3JMb2NhbGUoKQorICAgICAgICAgIGNoYW5nZWQuCisKIDIw
MjEtMDctMTggIFNhbSBXZWluaWcgIDx3ZWluaWdAYXBwbGUuY29tPgogCiAgICAgICAgIEZpeCBj
YW52YXMgb3ZlcmZsb3cgY2hlY2tpbmcgdG8gdXNlIENoZWNrZWRBcml0aG1hdGljIHJhdGhlciB0
aGFuIGFkaG9jIGZsb2F0aW5nIHBvaW50IG1lY2hhbmlzbQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvUEFML0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKaW5kZXgg
MmJhZTg3YThiOWVjM2ZiYTcyOGNmMGY1NjM3YTBlN2UyNzUyNjdlZi4uMzNiYTUzZTQzNDNiYTMz
NmFhZjUwMGJjZjU2YjdjMDQ2N2RmMTk1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFM
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTcgQEAKKzIwMjEtMDctMTggIERhdmlkIEtpbHplciAgPGRka2lsemVyQGFwcGxlLmNvbT4KKwor
ICAgICAgICBHZXRJZGVudGlmaWVyU3RyaW5nRm9yUHJlZmVycmVkVm9pY2VJbkxpc3RXaXRoTG9j
YWxlKCkgaXMgZGVwcmVjYXRlZCBpbiBNb250ZXJleQorICAgICAgICA8aHR0cHM6Ly93ZWJraXQu
b3JnL2IvMjI4MDY2PgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vODA1NzczMTI+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwYWwvc3BpL21hYy9T
cGVlY2hTeW50aGVzaXNTUEkuaDoKKyAgICAgICAgKENvcHlJZGVudGlmaWVyU3RyaW5nRm9yUHJl
ZmVycmVkVm9pY2VJbkxpc3RXaXRoTG9jYWxlKTogQWRkLgorICAgICAgICAtIERlZmluZSByZXBs
YWNlbWVudCBmdW5jdGlvbiBmb3IKKyAgICAgICAgICBHZXRJZGVudGlmaWVyU3RyaW5nRm9yUHJl
ZmVycmVkVm9pY2VJbkxpc3RXaXRoTG9jYWxlKCkKKyAgICAgICAgICBpbiBNb250ZXJleS4KKwog
MjAyMS0wNy0xNiAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgog
CiAgICAgICAgIFByZXZlbnQgSFNUUyB0cmFja2luZyBtaXRpZ2F0aW9uIGZvciB0b3AgbGV2ZWwg
bmF2aWdhdGlvbiByZXF1ZXN0cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1I
YXZlLmggYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaAppbmRleCA1N2RmY2VkN2ExNDZl
MDAzNTg0OTQyYWMxZDdiNmQwMTU2MWZmZDI1Li5kMjM2Y2U5MzA5ZDc5MmJjNmNlY2VmODM1Mjc1
NzFmMTc1ZmNhM2YwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaAor
KysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaApAQCAtODUwLDYgKzg1MCwxMiBAQAog
I2VuZGlmCiAjZW5kaWYKIAorI2lmIFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9O
X01JTl9SRVFVSVJFRCA+PSAxMjAwMDAKKyNpZiAhZGVmaW5lZChIQVZFX1NQRUVDSFNZTlRIRVNJ
U19NT05URVJFWV9TUEkpCisjZGVmaW5lIEhBVkVfU1BFRUNIU1lOVEhFU0lTX01PTlRFUkVZX1NQ
SSAxCisjZW5kaWYKKyNlbmRpZgorCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAjaWYgIWRlZmluZWQo
SEFWRV9DR19DT05URVhUX0RSQVdfUEFUSF9ESVJFQ1QpCiAjZGVmaW5lIEhBVkVfQ0dfQ09OVEVY
VF9EUkFXX1BBVEhfRElSRUNUIDEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwv
c3BpL21hYy9TcGVlY2hTeW50aGVzaXNTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3Bp
L21hYy9TcGVlY2hTeW50aGVzaXNTUEkuaAppbmRleCBjN2I3OWU3YTQxZTRhOGVlMDQyMzZjYWI5
ZGUyMDkxNzM4YThhYzQzLi5iOTI5NzgyYmViMGNkMmM2OTVkZWU2MWNlODc3YWU0MTViYzY4YmM1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMvU3BlZWNoU3ludGhl
c2lzU1BJLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvbWFjL1NwZWVjaFN5bnRo
ZXNpc1NQSS5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTctMjAyMSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKQEAgLTM0LDYgKzM0LDEwIEBACiBXVEZfRVhURVJOX0NfQkVHSU4KIAogQ0ZBcnJheVJl
ZiBDb3B5U3BlZWNoU3ludGhlc2lzVm9pY2VzRm9yTW9kZShDRlR5cGVSZWYgbW9kZSk7CisjaWYg
SEFWRShTUEVFQ0hTWU5USEVTSVNfTU9OVEVSRVlfU1BJKQorQ0ZTdHJpbmdSZWYgQ29weUlkZW50
aWZpZXJTdHJpbmdGb3JQcmVmZXJyZWRWb2ljZUluTGlzdFdpdGhMb2NhbGUoQ0ZBcnJheVJlZiB2
b2ljZXMsIENGTG9jYWxlUmVmKTsKKyNlbHNlCiBDRlN0cmluZ1JlZiBHZXRJZGVudGlmaWVyU3Ry
aW5nRm9yUHJlZmVycmVkVm9pY2VJbkxpc3RXaXRoTG9jYWxlKENGQXJyYXlSZWYgdm9pY2VzLCBD
RkxvY2FsZVJlZik7CisjZW5kaWYKIAogV1RGX0VYVEVSTl9DX0VORApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1BsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNYWMubW0g
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1h
Yy5tbQppbmRleCBjMTFiZjFhODZmM2UzNzRiMTYzODhjMzc0OGNlNTY4NzJjMDVhYWFmLi4zYmI1
YTJkNWQwZGM5NzRmMmZkMDJhNzEyMjJhYzc0OGJjMWZkZDdjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tYWMvUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1hYy5tbQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1h
Yy5tbQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5j
LiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMy0yMDIxIEFwcGxl
IEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKQEAgLTIyMiwxNSArMjIyLDE2IEBAIHN0YXRpYyBSZXRhaW5QdHI8Q0ZBcnJheVJlZj4gc3Bl
ZWNoU3ludGhlc2lzR2V0Vm9pY2VJZGVudGlmaWVycygpCiAgICAgcmV0dXJuIGFkb3B0Q0YoQ29w
eVNwZWVjaFN5bnRoZXNpc1ZvaWNlc0Zvck1vZGUoKF9fYnJpZGdlIENGQXJyYXlSZWYpQFsgQCJW
b2ljZUdyb3VwRGVmYXVsdCIsIEAiVm9pY2VHcm91cENvbXBhY3QiIF0pKTsKIH0KIAotc3RhdGlj
IE5TU3RyaW5nICpzcGVlY2hTeW50aGVzaXNHZXREZWZhdWx0Vm9pY2VJZGVudGlmaWVyRm9yTG9j
YWxlKE5TTG9jYWxlICp1c2VyTG9jYWxlKQorc3RhdGljIFJldGFpblB0cjxOU1N0cmluZz4gc3Bl
ZWNoU3ludGhlc2lzR2V0RGVmYXVsdFZvaWNlSWRlbnRpZmllckZvckxvY2FsZShOU0xvY2FsZSAq
dXNlckxvY2FsZSkKIHsKICAgICBpZiAoIXVzZXJMb2NhbGUpCiAgICAgICAgIHJldHVybiBuaWw7
CiAKLSNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBwdXNoCi0jcHJhZ21hIGNsYW5nIGRpYWdub3N0
aWMgaWdub3JlZCAiLVdkZXByZWNhdGVkLWRlY2xhcmF0aW9ucyIKKyNpZiBIQVZFKFNQRUVDSFNZ
TlRIRVNJU19NT05URVJFWV9TUEkpCisgICAgcmV0dXJuIGFkb3B0TlMoKF9fYnJpZGdlX3RyYW5z
ZmVyIE5TdHJpbmcgKilDb3B5SWRlbnRpZmllclN0cmluZ0ZvclByZWZlcnJlZFZvaWNlSW5MaXN0
V2l0aExvY2FsZShzcGVlY2hTeW50aGVzaXNHZXRWb2ljZUlkZW50aWZpZXJzKCkuZ2V0KCksIChf
X2JyaWRnZSBDRkxvY2FsZVJlZil1c2VyTG9jYWxlKSk7CisjZWxzZQogICAgIHJldHVybiAoX19i
cmlkZ2UgTlNTdHJpbmcgKilHZXRJZGVudGlmaWVyU3RyaW5nRm9yUHJlZmVycmVkVm9pY2VJbkxp
c3RXaXRoTG9jYWxlKHNwZWVjaFN5bnRoZXNpc0dldFZvaWNlSWRlbnRpZmllcnMoKS5nZXQoKSwg
KF9fYnJpZGdlIENGTG9jYWxlUmVmKXVzZXJMb2NhbGUpOwotI3ByYWdtYSBjbGFuZyBkaWFnbm9z
dGljIHBvcAorI2VuZGlmCiB9CiAKIHZvaWQgUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplcjo6aW5p
dGlhbGl6ZVZvaWNlTGlzdCgpCkBAIC0yNDQsNyArMjQ1LDcgQEAgdm9pZCBQbGF0Zm9ybVNwZWVj
aFN5bnRoZXNpemVyOjppbml0aWFsaXplVm9pY2VMaXN0KCkKICAgICAgICAgTlNTdHJpbmcgKnZv
aWNlVVJJID0gW2F0dHJpYnV0ZXMgb2JqZWN0Rm9yS2V5Ok5TVm9pY2VJZGVudGlmaWVyXTsKICAg
ICAgICAgTlNTdHJpbmcgKm5hbWUgPSBbYXR0cmlidXRlcyBvYmplY3RGb3JLZXk6TlNWb2ljZU5h
bWVdOwogICAgICAgICBOU1N0cmluZyAqbGFuZ3VhZ2UgPSBbYXR0cmlidXRlcyBvYmplY3RGb3JL
ZXk6TlNWb2ljZUxvY2FsZUlkZW50aWZpZXJdOwotICAgICAgICBOU1N0cmluZyAqZGVmYXVsdFZv
aWNlVVJJID0gc3BlZWNoU3ludGhlc2lzR2V0RGVmYXVsdFZvaWNlSWRlbnRpZmllckZvckxvY2Fs
ZShhZG9wdE5TKFtbTlNMb2NhbGUgYWxsb2NdIGluaXRXaXRoTG9jYWxlSWRlbnRpZmllcjpsYW5n
dWFnZV0pLmdldCgpKTsKKyAgICAgICAgYXV0byBkZWZhdWx0Vm9pY2VVUkkgPSBzcGVlY2hTeW50
aGVzaXNHZXREZWZhdWx0Vm9pY2VJZGVudGlmaWVyRm9yTG9jYWxlKGFkb3B0TlMoW1tOU0xvY2Fs
ZSBhbGxvY10gaW5pdFdpdGhMb2NhbGVJZGVudGlmaWVyOmxhbmd1YWdlXSkuZ2V0KCkpOwogCiAg
ICAgICAgIC8vIENoYW5nZSB0byBCQ1AtNDcgZm9ybWF0IGFzIGRlZmluZWQgYnkgc3BlYy4KICAg
ICAgICAgbGFuZ3VhZ2UgPSBbbGFuZ3VhZ2Ugc3RyaW5nQnlSZXBsYWNpbmdPY2N1cnJlbmNlc09m
U3RyaW5nOkAiXyIgd2l0aFN0cmluZzpAIi0iXTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxv
ZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA2NjBjY2ZjYzIyNzdjMDE3YWUzMmFkN2Q1YzEzNDhm
M2I2NzNhNDA0Li41NTYyMjI4MjY1ZjBiNTRmOTZkNjQ3ZGFmYmI0NTQ2ZjQwNjQ4YzAyIDEwMDY0
NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTkgQEAKKzIwMjEtMDctMTggIERhdmlkIEtpbHplciAgPGRka2lsemVyQGFwcGxlLmNvbT4KKwor
ICAgICAgICBJZ25vcmUgd2VhayBleHRlcm5hbCBzeW1ib2xzIGluIGNsYW5nIGNvdmVyYWdlIGJ1
aWxkcyB1c2luZyBjaGVjay1mb3Itd2Vhay12dGFibGVzLWFuZC1leHRlcm5hbHMKKyAgICAgICAg
PGh0dHBzOi8vd2Via2l0Lm9yZy9iLzIyODA2Mz4KKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzgw
NDc3MTM4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogU2NyaXB0cy9jaGVjay1mb3Itd2Vhay12dGFibGVzLWFuZC1leHRlcm5hbHM6CisgICAgICAg
IC0gSWdub3JlIHdlYWsgc3ltYm9scyBmcm9tIGxsdm0gd2hlbiBidWlsZGluZyB3aXRoCisgICAg
ICAgICAgY292ZXJhZ2UgZW5hYmxlZC4gIFRoaXMgZml4ZXMgdGhlIGJ1aWxkLgorICAgICAgICAq
IGNvdmVyYWdlL2NvdmVyYWdlLnhjY29uZmlnOgorICAgICAgICAoVU5FWFBPUlRFRF9TWU1CT0xf
TERGTEFHU19GT1JfQ09WRVJBR0UpOiBSZW1vdmUuCisgICAgICAgIC0gQ2FuJ3QgdXNlIC11bmV4
cG9ydGVkX3N5bWJvbCBhbmQgLWV4cG9ydGVkX3N5bWJvbAorICAgICAgICAgIHRvZ2V0aGVyLCBz
byByZW1vdmUgdGhpcy4KKwogMjAyMS0wNy0xNiAgS2F0ZSBDaGVuZXkgIDxrYXRoZXJpbmVfY2hl
bmV5QGFwcGxlLmNvbT4KIAogICAgICAgICBXS1dlYlZpZXcgamF2YXNjcmlwdCBpbmplY3Rpb24g
ZG9lc24ndCB3b3JrIGlmIGFwcCBpbmNsdWRlcyBXS0FwcEJvdW5kRG9tYWlucwpkaWZmIC0tZ2l0
IGEvVG9vbHMvU2NyaXB0cy9jaGVjay1mb3Itd2Vhay12dGFibGVzLWFuZC1leHRlcm5hbHMgYi9U
b29scy9TY3JpcHRzL2NoZWNrLWZvci13ZWFrLXZ0YWJsZXMtYW5kLWV4dGVybmFscwppbmRleCA4
YmNkZWUyODc4MmU5ZmYyZDY2OTc4NTZhY2E2MDE2MDRmNjY4NTk4Li40OGQ2NWYxMDNkYmQ4MzAx
ZDE5ZWQ1YjVhMjRiZTFlNGYxMDY2YTBjIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL2NoZWNr
LWZvci13ZWFrLXZ0YWJsZXMtYW5kLWV4dGVybmFscworKysgYi9Ub29scy9TY3JpcHRzL2NoZWNr
LWZvci13ZWFrLXZ0YWJsZXMtYW5kLWV4dGVybmFscwpAQCAtNjgsNiArNjgsOSBAQCBpZiAoIWRl
ZmluZWQgJGV4ZWN1dGFibGVQYXRoQWdlIHx8ICFkZWZpbmVkICRidWlsZFRpbWVzdGFtcEFnZSB8
fCAkZXhlY3V0YWJsZVBhdAogICAgICAgICAgICAgIyBBU2FuIGNvbXBpbGVyLXJ0IGNhbGxzIGlu
dG8gX19hc2FuX21hcHBpbmdfb2Zmc2V0IGFuZCBfX2FzYW5fbWFwcGluZ19zY2FsZQogICAgICAg
ICAgICAgbmV4dCBpZiAvXGJfX19hc2FuLzsKIAorICAgICAgICAgICAgIyBJZ25vcmUgd2VhayBz
eW1ib2xzIHByZXNlbnQgd2hlbiBjb21waWxpbmcgd2l0aCBjb3ZlcmFnZSBlbmFibGVkLgorICAg
ICAgICAgICAgbmV4dCBpZiAvXGIoX19fbGx2bV9wcm9maWxlX2ZpbGVuYW1lfF9fX2xsdm1fcHJv
ZmlsZV9yYXdfdmVyc2lvbnxfbHByb2ZEaXJNb2RlKS8gJiYgY292ZXJhZ2VJc0VuYWJsZWQoKTsK
KwogICAgICAgICAgICAgaWYgKC93ZWFrIGV4dGVybmFsIHZ0YWJsZSBmb3IgKC4qKSQvKSB7CiAg
ICAgICAgICAgICAgICAgcHVzaCBAd2Vha1ZUYWJsZUNsYXNzZXMsICQxOwogICAgICAgICAgICAg
fSBlbHNpZiAoL3dlYWsgZXh0ZXJuYWwgKC4qKSQvKSB7CmRpZmYgLS1naXQgYS9Ub29scy9jb3Zl
cmFnZS9jb3ZlcmFnZS54Y2NvbmZpZyBiL1Rvb2xzL2NvdmVyYWdlL2NvdmVyYWdlLnhjY29uZmln
CmluZGV4IGRhNTRjMThiNmM1YmZmMTI2MGUyYWY3OTUzNmQ1Njc2MDQ3YjBlNTQuLjBlZjIyYzE3
ZjcyZjYxODY0ZjljMmYzODllZGI0MTgwYWI4MWM3YTcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL2NvdmVy
YWdlL2NvdmVyYWdlLnhjY29uZmlnCisrKyBiL1Rvb2xzL2NvdmVyYWdlL2NvdmVyYWdlLnhjY29u
ZmlnCkBAIC0xLDUgKzEsMiBAQAotLy8gVW5leHBvcnQgd2VhayBleHRlcm5hbCBzeW1ib2xzIGZy
b20gbGx2bSBjb3ZlcmFnZS4KLVVORVhQT1JURURfU1lNQk9MX0xERkxBR1NfRk9SX0NPVkVSQUdF
ID0gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19fbGx2bV9wcm9maWxlX2ZpbGVuYW1lIC1X
bCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fX2xsdm1fcHJvZmlsZV9yYXdfdmVyc2lvbiAtV2ws
LXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfbHByb2ZEaXJNb2RlOwotCiBPVEhFUl9DRkxBR1MgPSAk
KGluaGVyaXRlZCkgLWZwcm9maWxlLWluc3RyLWdlbmVyYXRlIC1mY292ZXJhZ2UtbWFwcGluZzsK
LU9USEVSX0xERkxBR1MgPSAkKGluaGVyaXRlZCkgLWZwcm9maWxlLWluc3RyLWdlbmVyYXRlICQo
VU5FWFBPUlRFRF9TWU1CT0xfTERGTEFHU19GT1JfQ09WRVJBR0UpOworT1RIRVJfTERGTEFHUyA9
ICQoaW5oZXJpdGVkKSAtZnByb2ZpbGUtaW5zdHItZ2VuZXJhdGU7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433764</attachid>
            <date>2021-07-18 16:36:54 -0700</date>
            <delta_ts>2021-07-20 20:59:15 -0700</delta_ts>
            <desc>Patch v5</desc>
            <filename>bug-228066-20210718163653.patch</filename>
            <type>text/plain</type>
            <size>6813</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwMDIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDFlOGIyNjIzNTI2ZDI1YzNkNjI3ZTlh
MzE0MWM3NDdlNGI0MmQyOTQuLmQ4MGVhNTNkMGYyYWM2MzhiYzY3M2QyNzJiNmQzZTNiNTJjYzQ0
OGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjEtMDctMTggIERhdmlkIEtpbHplciAgPGRka2ls
emVyQGFwcGxlLmNvbT4KKworICAgICAgICBHZXRJZGVudGlmaWVyU3RyaW5nRm9yUHJlZmVycmVk
Vm9pY2VJbkxpc3RXaXRoTG9jYWxlKCkgaXMgZGVwcmVjYXRlZCBpbiBNb250ZXJleQorICAgICAg
ICA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMjI4MDY2PgorICAgICAgICA8cmRhcjovL3Byb2JsZW0v
ODA1NzczMTI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiB3dGYvUGxhdGZvcm1IYXZlLmg6CisgICAgICAgIC0gQWRkIEhBVkUoU1BFRUNIU1lOVEhF
U0lTX01PTlRFUkVZX1NQSSkuCisKIDIwMjEtMDctMTYgIEFsZXhhbmRlciBNaWtoYXlsZW5rbyAg
PGFsZXhtQGdub21lLm9yZz4KIAogICAgICAgICBbR1RLXVtXUEVdIFN1cHBvcnQgY29sb3Itc2No
ZW1lcyBDU1MgcHJvcGVydHkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA0OGRlYzY5ODEyNWFiMmIxMWQ4YjEyMDhh
YzdmODQ3NWE5YWVmOWViLi5lYzI4ZjE2MjZmNDk4YTc1NzVkOWI2NTg0ZjE5OTVmODEzYThlYmU5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMjEtMDctMTggIERhdmlkIEtpbHplciAg
PGRka2lsemVyQGFwcGxlLmNvbT4KKworICAgICAgICBHZXRJZGVudGlmaWVyU3RyaW5nRm9yUHJl
ZmVycmVkVm9pY2VJbkxpc3RXaXRoTG9jYWxlKCkgaXMgZGVwcmVjYXRlZCBpbiBNb250ZXJleQor
ICAgICAgICA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMjI4MDY2PgorICAgICAgICA8cmRhcjovL3By
b2JsZW0vODA1NzczMTI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1hYy5tbToK
KyAgICAgICAgKFdlYkNvcmU6OnNwZWVjaFN5bnRoZXNpc0dldERlZmF1bHRWb2ljZUlkZW50aWZp
ZXJGb3JMb2NhbGUpOgorICAgICAgICAtIFN3aXRjaCB0byB1c2UKKyAgICAgICAgICBDb3B5SWRl
bnRpZmllclN0cmluZ0ZvclByZWZlcnJlZFZvaWNlSW5MaXN0V2l0aExvY2FsZSgpCisgICAgICAg
ICAgaW4gTW9udGVyZXkuCisgICAgICAgIC0gQ2hhbmdlIHRvIHJldHVybiBSZXRhaW5QdHI8PiB0
byBoYW5kbGUgbGlmZXRpbWUgb2YKKyAgICAgICAgICBvYmplY3QgcmV0dXJuZWQgZnJvbSBuZXcg
ZnVuY3Rpb24uCisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyOjpp
bml0aWFsaXplVm9pY2VMaXN0KToKKyAgICAgICAgLSBDaGFuZ2UgdmFyaWJsZSB0eXBlIHRvICdh
dXRvJyBzaW5jZSByZXR1cm4gdHlwZSBvZgorICAgICAgICAgIHNwZWVjaFN5bnRoZXNpc0dldERl
ZmF1bHRWb2ljZUlkZW50aWZpZXJGb3JMb2NhbGUoKQorICAgICAgICAgIGNoYW5nZWQuCisKIDIw
MjEtMDctMTggIFNhbSBXZWluaWcgIDx3ZWluaWdAYXBwbGUuY29tPgogCiAgICAgICAgIEZpeCBj
YW52YXMgb3ZlcmZsb3cgY2hlY2tpbmcgdG8gdXNlIENoZWNrZWRBcml0aG1hdGljIHJhdGhlciB0
aGFuIGFkaG9jIGZsb2F0aW5nIHBvaW50IG1lY2hhbmlzbQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvUEFML0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKaW5kZXgg
MmJhZTg3YThiOWVjM2ZiYTcyOGNmMGY1NjM3YTBlN2UyNzUyNjdlZi4uMzNiYTUzZTQzNDNiYTMz
NmFhZjUwMGJjZjU2YjdjMDQ2N2RmMTk1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFM
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTcgQEAKKzIwMjEtMDctMTggIERhdmlkIEtpbHplciAgPGRka2lsemVyQGFwcGxlLmNvbT4KKwor
ICAgICAgICBHZXRJZGVudGlmaWVyU3RyaW5nRm9yUHJlZmVycmVkVm9pY2VJbkxpc3RXaXRoTG9j
YWxlKCkgaXMgZGVwcmVjYXRlZCBpbiBNb250ZXJleQorICAgICAgICA8aHR0cHM6Ly93ZWJraXQu
b3JnL2IvMjI4MDY2PgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vODA1NzczMTI+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwYWwvc3BpL21hYy9T
cGVlY2hTeW50aGVzaXNTUEkuaDoKKyAgICAgICAgKENvcHlJZGVudGlmaWVyU3RyaW5nRm9yUHJl
ZmVycmVkVm9pY2VJbkxpc3RXaXRoTG9jYWxlKTogQWRkLgorICAgICAgICAtIERlZmluZSByZXBs
YWNlbWVudCBmdW5jdGlvbiBmb3IKKyAgICAgICAgICBHZXRJZGVudGlmaWVyU3RyaW5nRm9yUHJl
ZmVycmVkVm9pY2VJbkxpc3RXaXRoTG9jYWxlKCkKKyAgICAgICAgICBpbiBNb250ZXJleS4KKwog
MjAyMS0wNy0xNiAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgog
CiAgICAgICAgIFByZXZlbnQgSFNUUyB0cmFja2luZyBtaXRpZ2F0aW9uIGZvciB0b3AgbGV2ZWwg
bmF2aWdhdGlvbiByZXF1ZXN0cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1I
YXZlLmggYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaAppbmRleCA1N2RmY2VkN2ExNDZl
MDAzNTg0OTQyYWMxZDdiNmQwMTU2MWZmZDI1Li5kMjM2Y2U5MzA5ZDc5MmJjNmNlY2VmODM1Mjc1
NzFmMTc1ZmNhM2YwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaAor
KysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaApAQCAtODUwLDYgKzg1MCwxMiBAQAog
I2VuZGlmCiAjZW5kaWYKIAorI2lmIFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9O
X01JTl9SRVFVSVJFRCA+PSAxMjAwMDAKKyNpZiAhZGVmaW5lZChIQVZFX1NQRUVDSFNZTlRIRVNJ
U19NT05URVJFWV9TUEkpCisjZGVmaW5lIEhBVkVfU1BFRUNIU1lOVEhFU0lTX01PTlRFUkVZX1NQ
SSAxCisjZW5kaWYKKyNlbmRpZgorCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAjaWYgIWRlZmluZWQo
SEFWRV9DR19DT05URVhUX0RSQVdfUEFUSF9ESVJFQ1QpCiAjZGVmaW5lIEhBVkVfQ0dfQ09OVEVY
VF9EUkFXX1BBVEhfRElSRUNUIDEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwv
c3BpL21hYy9TcGVlY2hTeW50aGVzaXNTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3Bp
L21hYy9TcGVlY2hTeW50aGVzaXNTUEkuaAppbmRleCBjN2I3OWU3YTQxZTRhOGVlMDQyMzZjYWI5
ZGUyMDkxNzM4YThhYzQzLi5iOTI5NzgyYmViMGNkMmM2OTVkZWU2MWNlODc3YWU0MTViYzY4YmM1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMvU3BlZWNoU3ludGhl
c2lzU1BJLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvbWFjL1NwZWVjaFN5bnRo
ZXNpc1NQSS5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTctMjAyMSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKQEAgLTM0LDYgKzM0LDEwIEBACiBXVEZfRVhURVJOX0NfQkVHSU4KIAogQ0ZBcnJheVJl
ZiBDb3B5U3BlZWNoU3ludGhlc2lzVm9pY2VzRm9yTW9kZShDRlR5cGVSZWYgbW9kZSk7CisjaWYg
SEFWRShTUEVFQ0hTWU5USEVTSVNfTU9OVEVSRVlfU1BJKQorQ0ZTdHJpbmdSZWYgQ29weUlkZW50
aWZpZXJTdHJpbmdGb3JQcmVmZXJyZWRWb2ljZUluTGlzdFdpdGhMb2NhbGUoQ0ZBcnJheVJlZiB2
b2ljZXMsIENGTG9jYWxlUmVmKTsKKyNlbHNlCiBDRlN0cmluZ1JlZiBHZXRJZGVudGlmaWVyU3Ry
aW5nRm9yUHJlZmVycmVkVm9pY2VJbkxpc3RXaXRoTG9jYWxlKENGQXJyYXlSZWYgdm9pY2VzLCBD
RkxvY2FsZVJlZik7CisjZW5kaWYKIAogV1RGX0VYVEVSTl9DX0VORApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1BsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNYWMubW0g
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1h
Yy5tbQppbmRleCBjMTFiZjFhODZmM2UzNzRiMTYzODhjMzc0OGNlNTY4NzJjMDVhYWFmLi4zYmI1
YTJkNWQwZGM5NzRmMmZkMDJhNzEyMjJhYzc0OGJjMWZkZDdjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tYWMvUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1hYy5tbQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1h
Yy5tbQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5j
LiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMy0yMDIxIEFwcGxl
IEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKQEAgLTIyMiwxNSArMjIyLDE2IEBAIHN0YXRpYyBSZXRhaW5QdHI8Q0ZBcnJheVJlZj4gc3Bl
ZWNoU3ludGhlc2lzR2V0Vm9pY2VJZGVudGlmaWVycygpCiAgICAgcmV0dXJuIGFkb3B0Q0YoQ29w
eVNwZWVjaFN5bnRoZXNpc1ZvaWNlc0Zvck1vZGUoKF9fYnJpZGdlIENGQXJyYXlSZWYpQFsgQCJW
b2ljZUdyb3VwRGVmYXVsdCIsIEAiVm9pY2VHcm91cENvbXBhY3QiIF0pKTsKIH0KIAotc3RhdGlj
IE5TU3RyaW5nICpzcGVlY2hTeW50aGVzaXNHZXREZWZhdWx0Vm9pY2VJZGVudGlmaWVyRm9yTG9j
YWxlKE5TTG9jYWxlICp1c2VyTG9jYWxlKQorc3RhdGljIFJldGFpblB0cjxOU1N0cmluZz4gc3Bl
ZWNoU3ludGhlc2lzR2V0RGVmYXVsdFZvaWNlSWRlbnRpZmllckZvckxvY2FsZShOU0xvY2FsZSAq
dXNlckxvY2FsZSkKIHsKICAgICBpZiAoIXVzZXJMb2NhbGUpCiAgICAgICAgIHJldHVybiBuaWw7
CiAKLSNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBwdXNoCi0jcHJhZ21hIGNsYW5nIGRpYWdub3N0
aWMgaWdub3JlZCAiLVdkZXByZWNhdGVkLWRlY2xhcmF0aW9ucyIKKyNpZiBIQVZFKFNQRUVDSFNZ
TlRIRVNJU19NT05URVJFWV9TUEkpCisgICAgcmV0dXJuIGFkb3B0TlMoKF9fYnJpZGdlX3RyYW5z
ZmVyIE5TdHJpbmcgKilDb3B5SWRlbnRpZmllclN0cmluZ0ZvclByZWZlcnJlZFZvaWNlSW5MaXN0
V2l0aExvY2FsZShzcGVlY2hTeW50aGVzaXNHZXRWb2ljZUlkZW50aWZpZXJzKCkuZ2V0KCksIChf
X2JyaWRnZSBDRkxvY2FsZVJlZil1c2VyTG9jYWxlKSk7CisjZWxzZQogICAgIHJldHVybiAoX19i
cmlkZ2UgTlNTdHJpbmcgKilHZXRJZGVudGlmaWVyU3RyaW5nRm9yUHJlZmVycmVkVm9pY2VJbkxp
c3RXaXRoTG9jYWxlKHNwZWVjaFN5bnRoZXNpc0dldFZvaWNlSWRlbnRpZmllcnMoKS5nZXQoKSwg
KF9fYnJpZGdlIENGTG9jYWxlUmVmKXVzZXJMb2NhbGUpOwotI3ByYWdtYSBjbGFuZyBkaWFnbm9z
dGljIHBvcAorI2VuZGlmCiB9CiAKIHZvaWQgUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplcjo6aW5p
dGlhbGl6ZVZvaWNlTGlzdCgpCkBAIC0yNDQsNyArMjQ1LDcgQEAgdm9pZCBQbGF0Zm9ybVNwZWVj
aFN5bnRoZXNpemVyOjppbml0aWFsaXplVm9pY2VMaXN0KCkKICAgICAgICAgTlNTdHJpbmcgKnZv
aWNlVVJJID0gW2F0dHJpYnV0ZXMgb2JqZWN0Rm9yS2V5Ok5TVm9pY2VJZGVudGlmaWVyXTsKICAg
ICAgICAgTlNTdHJpbmcgKm5hbWUgPSBbYXR0cmlidXRlcyBvYmplY3RGb3JLZXk6TlNWb2ljZU5h
bWVdOwogICAgICAgICBOU1N0cmluZyAqbGFuZ3VhZ2UgPSBbYXR0cmlidXRlcyBvYmplY3RGb3JL
ZXk6TlNWb2ljZUxvY2FsZUlkZW50aWZpZXJdOwotICAgICAgICBOU1N0cmluZyAqZGVmYXVsdFZv
aWNlVVJJID0gc3BlZWNoU3ludGhlc2lzR2V0RGVmYXVsdFZvaWNlSWRlbnRpZmllckZvckxvY2Fs
ZShhZG9wdE5TKFtbTlNMb2NhbGUgYWxsb2NdIGluaXRXaXRoTG9jYWxlSWRlbnRpZmllcjpsYW5n
dWFnZV0pLmdldCgpKTsKKyAgICAgICAgYXV0byBkZWZhdWx0Vm9pY2VVUkkgPSBzcGVlY2hTeW50
aGVzaXNHZXREZWZhdWx0Vm9pY2VJZGVudGlmaWVyRm9yTG9jYWxlKGFkb3B0TlMoW1tOU0xvY2Fs
ZSBhbGxvY10gaW5pdFdpdGhMb2NhbGVJZGVudGlmaWVyOmxhbmd1YWdlXSkuZ2V0KCkpOwogCiAg
ICAgICAgIC8vIENoYW5nZSB0byBCQ1AtNDcgZm9ybWF0IGFzIGRlZmluZWQgYnkgc3BlYy4KICAg
ICAgICAgbGFuZ3VhZ2UgPSBbbGFuZ3VhZ2Ugc3RyaW5nQnlSZXBsYWNpbmdPY2N1cnJlbmNlc09m
U3RyaW5nOkAiXyIgd2l0aFN0cmluZzpAIi0iXTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433918</attachid>
            <date>2021-07-20 20:59:17 -0700</date>
            <delta_ts>2021-07-28 14:04:06 -0700</delta_ts>
            <desc>Patch v6</desc>
            <filename>bug-228066-20210720205917.patch</filename>
            <type>text/plain</type>
            <size>7221</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwMDIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDFlOGIyNjIzNTI2ZDI1YzNkNjI3ZTlh
MzE0MWM3NDdlNGI0MmQyOTQuLmQ4MGVhNTNkMGYyYWM2MzhiYzY3M2QyNzJiNmQzZTNiNTJjYzQ0
OGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjEtMDctMTggIERhdmlkIEtpbHplciAgPGRka2ls
emVyQGFwcGxlLmNvbT4KKworICAgICAgICBHZXRJZGVudGlmaWVyU3RyaW5nRm9yUHJlZmVycmVk
Vm9pY2VJbkxpc3RXaXRoTG9jYWxlKCkgaXMgZGVwcmVjYXRlZCBpbiBNb250ZXJleQorICAgICAg
ICA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMjI4MDY2PgorICAgICAgICA8cmRhcjovL3Byb2JsZW0v
ODA1NzczMTI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiB3dGYvUGxhdGZvcm1IYXZlLmg6CisgICAgICAgIC0gQWRkIEhBVkUoU1BFRUNIU1lOVEhF
U0lTX01PTlRFUkVZX1NQSSkuCisKIDIwMjEtMDctMTYgIEFsZXhhbmRlciBNaWtoYXlsZW5rbyAg
PGFsZXhtQGdub21lLm9yZz4KIAogICAgICAgICBbR1RLXVtXUEVdIFN1cHBvcnQgY29sb3Itc2No
ZW1lcyBDU1MgcHJvcGVydHkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA0OGRlYzY5ODEyNWFiMmIxMWQ4YjEyMDhh
YzdmODQ3NWE5YWVmOWViLi5lYzI4ZjE2MjZmNDk4YTc1NzVkOWI2NTg0ZjE5OTVmODEzYThlYmU5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMjEtMDctMTggIERhdmlkIEtpbHplciAg
PGRka2lsemVyQGFwcGxlLmNvbT4KKworICAgICAgICBHZXRJZGVudGlmaWVyU3RyaW5nRm9yUHJl
ZmVycmVkVm9pY2VJbkxpc3RXaXRoTG9jYWxlKCkgaXMgZGVwcmVjYXRlZCBpbiBNb250ZXJleQor
ICAgICAgICA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMjI4MDY2PgorICAgICAgICA8cmRhcjovL3By
b2JsZW0vODA1NzczMTI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1hYy5tbToK
KyAgICAgICAgKFdlYkNvcmU6OnNwZWVjaFN5bnRoZXNpc0dldERlZmF1bHRWb2ljZUlkZW50aWZp
ZXJGb3JMb2NhbGUpOgorICAgICAgICAtIFN3aXRjaCB0byB1c2UKKyAgICAgICAgICBDb3B5SWRl
bnRpZmllclN0cmluZ0ZvclByZWZlcnJlZFZvaWNlSW5MaXN0V2l0aExvY2FsZSgpCisgICAgICAg
ICAgaW4gTW9udGVyZXkuCisgICAgICAgIC0gQ2hhbmdlIHRvIHJldHVybiBSZXRhaW5QdHI8PiB0
byBoYW5kbGUgbGlmZXRpbWUgb2YKKyAgICAgICAgICBvYmplY3QgcmV0dXJuZWQgZnJvbSBuZXcg
ZnVuY3Rpb24uCisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyOjpp
bml0aWFsaXplVm9pY2VMaXN0KToKKyAgICAgICAgLSBDaGFuZ2UgdmFyaWJsZSB0eXBlIHRvICdh
dXRvJyBzaW5jZSByZXR1cm4gdHlwZSBvZgorICAgICAgICAgIHNwZWVjaFN5bnRoZXNpc0dldERl
ZmF1bHRWb2ljZUlkZW50aWZpZXJGb3JMb2NhbGUoKQorICAgICAgICAgIGNoYW5nZWQuCisKIDIw
MjEtMDctMTggIFNhbSBXZWluaWcgIDx3ZWluaWdAYXBwbGUuY29tPgogCiAgICAgICAgIEZpeCBj
YW52YXMgb3ZlcmZsb3cgY2hlY2tpbmcgdG8gdXNlIENoZWNrZWRBcml0aG1hdGljIHJhdGhlciB0
aGFuIGFkaG9jIGZsb2F0aW5nIHBvaW50IG1lY2hhbmlzbQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvUEFML0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKaW5kZXgg
MmJhZTg3YThiOWVjM2ZiYTcyOGNmMGY1NjM3YTBlN2UyNzUyNjdlZi4uMzNiYTUzZTQzNDNiYTMz
NmFhZjUwMGJjZjU2YjdjMDQ2N2RmMTk1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFM
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTcgQEAKKzIwMjEtMDctMTggIERhdmlkIEtpbHplciAgPGRka2lsemVyQGFwcGxlLmNvbT4KKwor
ICAgICAgICBHZXRJZGVudGlmaWVyU3RyaW5nRm9yUHJlZmVycmVkVm9pY2VJbkxpc3RXaXRoTG9j
YWxlKCkgaXMgZGVwcmVjYXRlZCBpbiBNb250ZXJleQorICAgICAgICA8aHR0cHM6Ly93ZWJraXQu
b3JnL2IvMjI4MDY2PgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vODA1NzczMTI+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwYWwvc3BpL21hYy9T
cGVlY2hTeW50aGVzaXNTUEkuaDoKKyAgICAgICAgKENvcHlJZGVudGlmaWVyU3RyaW5nRm9yUHJl
ZmVycmVkVm9pY2VJbkxpc3RXaXRoTG9jYWxlKTogQWRkLgorICAgICAgICAtIERlZmluZSByZXBs
YWNlbWVudCBmdW5jdGlvbiBmb3IKKyAgICAgICAgICBHZXRJZGVudGlmaWVyU3RyaW5nRm9yUHJl
ZmVycmVkVm9pY2VJbkxpc3RXaXRoTG9jYWxlKCkKKyAgICAgICAgICBpbiBNb250ZXJleS4KKwog
MjAyMS0wNy0xNiAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgog
CiAgICAgICAgIFByZXZlbnQgSFNUUyB0cmFja2luZyBtaXRpZ2F0aW9uIGZvciB0b3AgbGV2ZWwg
bmF2aWdhdGlvbiByZXF1ZXN0cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1I
YXZlLmggYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaAppbmRleCA1N2RmY2VkN2ExNDZl
MDAzNTg0OTQyYWMxZDdiNmQwMTU2MWZmZDI1Li5kMjM2Y2U5MzA5ZDc5MmJjNmNlY2VmODM1Mjc1
NzFmMTc1ZmNhM2YwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaAor
KysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaApAQCAtODUwLDYgKzg1MCwxMiBAQAog
I2VuZGlmCiAjZW5kaWYKIAorI2lmIFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9O
X01JTl9SRVFVSVJFRCA+PSAxMjAwMDAKKyNpZiAhZGVmaW5lZChIQVZFX1NQRUVDSFNZTlRIRVNJ
U19NT05URVJFWV9TUEkpCisjZGVmaW5lIEhBVkVfU1BFRUNIU1lOVEhFU0lTX01PTlRFUkVZX1NQ
SSAxCisjZW5kaWYKKyNlbmRpZgorCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAjaWYgIWRlZmluZWQo
SEFWRV9DR19DT05URVhUX0RSQVdfUEFUSF9ESVJFQ1QpCiAjZGVmaW5lIEhBVkVfQ0dfQ09OVEVY
VF9EUkFXX1BBVEhfRElSRUNUIDEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwv
c3BpL21hYy9TcGVlY2hTeW50aGVzaXNTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3Bp
L21hYy9TcGVlY2hTeW50aGVzaXNTUEkuaAppbmRleCBjN2I3OWU3YTQxZTRhOGVlMDQyMzZjYWI5
ZGUyMDkxNzM4YThhYzQzLi5iOTI5NzgyYmViMGNkMmM2OTVkZWU2MWNlODc3YWU0MTViYzY4YmM1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMvU3BlZWNoU3ludGhl
c2lzU1BJLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvbWFjL1NwZWVjaFN5bnRo
ZXNpc1NQSS5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTctMjAyMSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKQEAgLTM0LDYgKzM0LDEwIEBACiBXVEZfRVhURVJOX0NfQkVHSU4KIAogQ0ZBcnJheVJl
ZiBDb3B5U3BlZWNoU3ludGhlc2lzVm9pY2VzRm9yTW9kZShDRlR5cGVSZWYgbW9kZSk7CisjaWYg
SEFWRShTUEVFQ0hTWU5USEVTSVNfTU9OVEVSRVlfU1BJKQorQ0ZTdHJpbmdSZWYgQ29weUlkZW50
aWZpZXJTdHJpbmdGb3JQcmVmZXJyZWRWb2ljZUluTGlzdFdpdGhMb2NhbGUoQ0ZBcnJheVJlZiB2
b2ljZXMsIENGTG9jYWxlUmVmKTsKKyNlbHNlCiBDRlN0cmluZ1JlZiBHZXRJZGVudGlmaWVyU3Ry
aW5nRm9yUHJlZmVycmVkVm9pY2VJbkxpc3RXaXRoTG9jYWxlKENGQXJyYXlSZWYgdm9pY2VzLCBD
RkxvY2FsZVJlZik7CisjZW5kaWYKIAogV1RGX0VYVEVSTl9DX0VORApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1BsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNYWMubW0g
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1h
Yy5tbQppbmRleCBjMTFiZjFhODZmM2UzNzRiMTYzODhjMzc0OGNlNTY4NzJjMDVhYWFmLi4zNDNl
YTY5NWJiMzlkMDE5NDRkZDE2ODI3MDM3MmVhZDkyOGNmMDgxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tYWMvUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1hYy5tbQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1h
Yy5tbQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5j
LiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMy0yMDIxIEFwcGxl
IEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKQEAgLTIyMiwxNSArMjIyLDE2IEBAIHN0YXRpYyBSZXRhaW5QdHI8Q0ZBcnJheVJlZj4gc3Bl
ZWNoU3ludGhlc2lzR2V0Vm9pY2VJZGVudGlmaWVycygpCiAgICAgcmV0dXJuIGFkb3B0Q0YoQ29w
eVNwZWVjaFN5bnRoZXNpc1ZvaWNlc0Zvck1vZGUoKF9fYnJpZGdlIENGQXJyYXlSZWYpQFsgQCJW
b2ljZUdyb3VwRGVmYXVsdCIsIEAiVm9pY2VHcm91cENvbXBhY3QiIF0pKTsKIH0KIAotc3RhdGlj
IE5TU3RyaW5nICpzcGVlY2hTeW50aGVzaXNHZXREZWZhdWx0Vm9pY2VJZGVudGlmaWVyRm9yTG9j
YWxlKE5TTG9jYWxlICp1c2VyTG9jYWxlKQorc3RhdGljIFJldGFpblB0cjxDRlN0cmluZ1JlZj4g
c3BlZWNoU3ludGhlc2lzR2V0RGVmYXVsdFZvaWNlSWRlbnRpZmllckZvckxvY2FsZShOU0xvY2Fs
ZSAqdXNlckxvY2FsZSkKIHsKICAgICBpZiAoIXVzZXJMb2NhbGUpCiAgICAgICAgIHJldHVybiBu
aWw7CiAKLSNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBwdXNoCi0jcHJhZ21hIGNsYW5nIGRpYWdu
b3N0aWMgaWdub3JlZCAiLVdkZXByZWNhdGVkLWRlY2xhcmF0aW9ucyIKLSAgICByZXR1cm4gKF9f
YnJpZGdlIE5TU3RyaW5nICopR2V0SWRlbnRpZmllclN0cmluZ0ZvclByZWZlcnJlZFZvaWNlSW5M
aXN0V2l0aExvY2FsZShzcGVlY2hTeW50aGVzaXNHZXRWb2ljZUlkZW50aWZpZXJzKCkuZ2V0KCks
IChfX2JyaWRnZSBDRkxvY2FsZVJlZil1c2VyTG9jYWxlKTsKLSNwcmFnbWEgY2xhbmcgZGlhZ25v
c3RpYyBwb3AKKyNpZiBIQVZFKFNQRUVDSFNZTlRIRVNJU19NT05URVJFWV9TUEkpCisgICAgcmV0
dXJuIGFkb3B0Q0YoQ29weUlkZW50aWZpZXJTdHJpbmdGb3JQcmVmZXJyZWRWb2ljZUluTGlzdFdp
dGhMb2NhbGUoc3BlZWNoU3ludGhlc2lzR2V0Vm9pY2VJZGVudGlmaWVycygpLmdldCgpLCAoX19i
cmlkZ2UgQ0ZMb2NhbGVSZWYpdXNlckxvY2FsZSkpOworI2Vsc2UKKyAgICByZXR1cm4gR2V0SWRl
bnRpZmllclN0cmluZ0ZvclByZWZlcnJlZFZvaWNlSW5MaXN0V2l0aExvY2FsZShzcGVlY2hTeW50
aGVzaXNHZXRWb2ljZUlkZW50aWZpZXJzKCkuZ2V0KCksIChfX2JyaWRnZSBDRkxvY2FsZVJlZil1
c2VyTG9jYWxlKTsKKyNlbmRpZgogfQogCiB2b2lkIFBsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXI6
OmluaXRpYWxpemVWb2ljZUxpc3QoKQpAQCAtMjQ0LDEyICsyNDUsMTIgQEAgdm9pZCBQbGF0Zm9y
bVNwZWVjaFN5bnRoZXNpemVyOjppbml0aWFsaXplVm9pY2VMaXN0KCkKICAgICAgICAgTlNTdHJp
bmcgKnZvaWNlVVJJID0gW2F0dHJpYnV0ZXMgb2JqZWN0Rm9yS2V5Ok5TVm9pY2VJZGVudGlmaWVy
XTsKICAgICAgICAgTlNTdHJpbmcgKm5hbWUgPSBbYXR0cmlidXRlcyBvYmplY3RGb3JLZXk6TlNW
b2ljZU5hbWVdOwogICAgICAgICBOU1N0cmluZyAqbGFuZ3VhZ2UgPSBbYXR0cmlidXRlcyBvYmpl
Y3RGb3JLZXk6TlNWb2ljZUxvY2FsZUlkZW50aWZpZXJdOwotICAgICAgICBOU1N0cmluZyAqZGVm
YXVsdFZvaWNlVVJJID0gc3BlZWNoU3ludGhlc2lzR2V0RGVmYXVsdFZvaWNlSWRlbnRpZmllckZv
ckxvY2FsZShhZG9wdE5TKFtbTlNMb2NhbGUgYWxsb2NdIGluaXRXaXRoTG9jYWxlSWRlbnRpZmll
cjpsYW5ndWFnZV0pLmdldCgpKTsKKyAgICAgICAgYXV0byBkZWZhdWx0Vm9pY2VVUkkgPSBzcGVl
Y2hTeW50aGVzaXNHZXREZWZhdWx0Vm9pY2VJZGVudGlmaWVyRm9yTG9jYWxlKGFkb3B0TlMoW1tO
U0xvY2FsZSBhbGxvY10gaW5pdFdpdGhMb2NhbGVJZGVudGlmaWVyOmxhbmd1YWdlXSkuZ2V0KCkp
OwogCiAgICAgICAgIC8vIENoYW5nZSB0byBCQ1AtNDcgZm9ybWF0IGFzIGRlZmluZWQgYnkgc3Bl
Yy4KICAgICAgICAgbGFuZ3VhZ2UgPSBbbGFuZ3VhZ2Ugc3RyaW5nQnlSZXBsYWNpbmdPY2N1cnJl
bmNlc09mU3RyaW5nOkAiXyIgd2l0aFN0cmluZzpAIi0iXTsKIAotICAgICAgICBib29sIGlzRGVm
YXVsdCA9IFtkZWZhdWx0Vm9pY2VVUkkgaXNFcXVhbFRvU3RyaW5nOnZvaWNlVVJJXTsKKyAgICAg
ICAgYm9vbCBpc0RlZmF1bHQgPSBbKF9fYnJpZGdlIE5TU3RyaW5nICopZGVmYXVsdFZvaWNlVVJJ
LmdldCgpIGlzRXF1YWxUb1N0cmluZzp2b2ljZVVSSV07CiAKICAgICAgICAgbV92b2ljZUxpc3Qu
YXBwZW5kKFBsYXRmb3JtU3BlZWNoU3ludGhlc2lzVm9pY2U6OmNyZWF0ZSh2b2ljZVVSSSwgbmFt
ZSwgbGFuZ3VhZ2UsIHRydWUsIGlzRGVmYXVsdCkpOwogICAgIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>434462</attachid>
            <date>2021-07-28 14:04:12 -0700</date>
            <delta_ts>2021-07-29 11:57:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-228066-20210728140411.patch</filename>
            <type>text/plain</type>
            <size>7328</size>
            <attacher name="Kate Cheney">katherine_cheney</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwMzkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGQ1NGEzZjBlYmEwYjlhOWFkNmMxYjIx
YTlmYTUzYzAwMDJmZTRlODIuLmEyM2U0YzFjMmExNjllNDhlYzljOGZjNjhhZTYwNWYzYThhMmMw
NzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjEtMDctMjggIEthdGUgQ2hlbmV5ICA8a2F0aGVy
aW5lX2NoZW5leUBhcHBsZS5jb20+CisKKyAgICAgICAgR2V0SWRlbnRpZmllclN0cmluZ0ZvclBy
ZWZlcnJlZFZvaWNlSW5MaXN0V2l0aExvY2FsZSgpIGlzIGRlcHJlY2F0ZWQgaW4gTW9udGVyZXkK
KyAgICAgICAgPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzIyODA2Nj4KKyAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzgwNTc3MzEyPgorCisgICAgICAgIFBhdGNoIGJ5IERhdmlkIEtpbHplci4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHd0Zi9QbGF0Zm9y
bUhhdmUuaDoKKyAgICAgICAgLSBBZGQgSEFWRShTUEVFQ0hTWU5USEVTSVNfTU9OVEVSRVlfU1BJ
KS4KKwogMjAyMS0wNy0yNiAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgogCiAg
ICAgICAgIFVucmV2aWV3ZWQsIHNwZWN1bGF0aXZlIHJldmVydCBvZiByMjgwMTkzCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
aW5kZXggMDdiMDczOGQ1MjQ2ODQzYjg0Njc4NTNkYTZjYWY4NGRhYzZjYmIxYy4uM2NmZDYwODc5
N2FiOGVmMDJhZmM0YTI0YmFkYWE0ZmZmMDQ1YmY2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1
IEBACisyMDIxLTA3LTI4ICBLYXRlIENoZW5leSAgPGthdGhlcmluZV9jaGVuZXlAYXBwbGUuY29t
PgorCisgICAgICAgIEdldElkZW50aWZpZXJTdHJpbmdGb3JQcmVmZXJyZWRWb2ljZUluTGlzdFdp
dGhMb2NhbGUoKSBpcyBkZXByZWNhdGVkIGluIE1vbnRlcmV5CisgICAgICAgIDxodHRwczovL3dl
YmtpdC5vcmcvYi8yMjgwNjY+CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84MDU3NzMxMj4KKwor
ICAgICAgICBQYXRjaCBieSBEYXZpZCBLaWx6ZXIuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvUGxhdGZvcm1TcGVlY2hTeW50
aGVzaXplck1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OnNwZWVjaFN5bnRoZXNpc0dldERlZmF1
bHRWb2ljZUlkZW50aWZpZXJGb3JMb2NhbGUpOgorICAgICAgICAtIFN3aXRjaCB0byB1c2UKKyAg
ICAgICAgICBDb3B5SWRlbnRpZmllclN0cmluZ0ZvclByZWZlcnJlZFZvaWNlSW5MaXN0V2l0aExv
Y2FsZSgpCisgICAgICAgICAgaW4gTW9udGVyZXkuCisgICAgICAgIC0gQ2hhbmdlIHRvIHJldHVy
biBSZXRhaW5QdHI8PiB0byBoYW5kbGUgbGlmZXRpbWUgb2YKKyAgICAgICAgICBvYmplY3QgcmV0
dXJuZWQgZnJvbSBuZXcgZnVuY3Rpb24uCisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybVNwZWVj
aFN5bnRoZXNpemVyOjppbml0aWFsaXplVm9pY2VMaXN0KToKKyAgICAgICAgLSBDaGFuZ2UgdmFy
aWJsZSB0eXBlIHRvICdhdXRvJyBzaW5jZSByZXR1cm4gdHlwZSBvZgorICAgICAgICAgIHNwZWVj
aFN5bnRoZXNpc0dldERlZmF1bHRWb2ljZUlkZW50aWZpZXJGb3JMb2NhbGUoKQorICAgICAgICAg
IGNoYW5nZWQuCisKIDIwMjEtMDctMjggIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+
CiAKICAgICAgICAgRGVwbG95IG1vcmUgdXNlIG9mIHNtYXJ0IHBvaW50ZXJzIGluIERvY3VtZW50
LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJDb3JlL1BBTC9DaGFuZ2VMb2cKaW5kZXggYzQ2NmUxODc3NjY0ZTYzNWMwOTljODEwYzg5MWJk
ZjBiYjdiOWJjNC4uNzNlYjdmMWFhYzE2NDZmOGIxODcwNDkwYmFjZTQwNzNjN2EzMThiMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29y
ZS9QQUwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMjEtMDctMjggIEthdGUgQ2hlbmV5
ICA8a2F0aGVyaW5lX2NoZW5leUBhcHBsZS5jb20+CisKKyAgICAgICAgR2V0SWRlbnRpZmllclN0
cmluZ0ZvclByZWZlcnJlZFZvaWNlSW5MaXN0V2l0aExvY2FsZSgpIGlzIGRlcHJlY2F0ZWQgaW4g
TW9udGVyZXkKKyAgICAgICAgPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzIyODA2Nj4KKyAgICAgICAg
PHJkYXI6Ly9wcm9ibGVtLzgwNTc3MzEyPgorCisgICAgICAgIFBhdGNoIGJ5IERhdmlkIEtpbHpl
ci4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBh
bC9zcGkvbWFjL1NwZWVjaFN5bnRoZXNpc1NQSS5oOgorICAgICAgICAqIHBhbC9zcGkvbWFjL1Nw
ZWVjaFN5bnRoZXNpc1NQSS5oOgorICAgICAgICAoQ29weUlkZW50aWZpZXJTdHJpbmdGb3JQcmVm
ZXJyZWRWb2ljZUluTGlzdFdpdGhMb2NhbGUpOiBBZGQuCisgICAgICAgIC0gRGVmaW5lIHJlcGxh
Y2VtZW50IGZ1bmN0aW9uIGZvcgorICAgICAgICAgIEdldElkZW50aWZpZXJTdHJpbmdGb3JQcmVm
ZXJyZWRWb2ljZUluTGlzdFdpdGhMb2NhbGUoKQorICAgICAgICAgIGluIE1vbnRlcmV5LgorCiAy
MDIxLTA3LTI4ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAK
ICAgICAgICAgRml4IGJ1aWxkIHdpdGggU0RLcyBjb250YWluaW5nIG5ldyBDRk5ldHdvcmsgU1BJ
IGRlY2xhcmF0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaCBi
L1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oCmluZGV4IDg2ZjQ0MWU4MGE1MzBhMzRkNWVi
ZDg2YzU2OGZiOTdmOTczY2IwNTEuLjY5MjNmN2RlODRmZjU3ZmU3MzQ1ODVlMTgwMjNmZTkwMDRm
ODAyZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oCisrKyBiL1Nv
dXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oCkBAIC04NTAsNiArODUwLDEyIEBACiAjZW5kaWYK
ICNlbmRpZgogCisjaWYgUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JF
UVVJUkVEID49IDEyMDAwMAorI2lmICFkZWZpbmVkKEhBVkVfU1BFRUNIU1lOVEhFU0lTX01PTlRF
UkVZX1NQSSkKKyNkZWZpbmUgSEFWRV9TUEVFQ0hTWU5USEVTSVNfTU9OVEVSRVlfU1BJIDEKKyNl
bmRpZgorI2VuZGlmCisKICNpZiBQTEFURk9STShDT0NPQSkKICNpZiAhZGVmaW5lZChIQVZFX0NH
X0NPTlRFWFRfRFJBV19QQVRIX0RJUkVDVCkKICNkZWZpbmUgSEFWRV9DR19DT05URVhUX0RSQVdf
UEFUSF9ESVJFQ1QgMQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvbWFj
L1NwZWVjaFN5bnRoZXNpc1NQSS5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvbWFjL1Nw
ZWVjaFN5bnRoZXNpc1NQSS5oCmluZGV4IGM3Yjc5ZTdhNDFlNGE4ZWUwNDIzNmNhYjlkZTIwOTE3
MzhhOGFjNDMuLmI5Mjk3ODJiZWIwY2QyYzY5NWRlZTYxY2U4NzdhZTQxNWJjNjhiYzUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL21hYy9TcGVlY2hTeW50aGVzaXNTUEku
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMvU3BlZWNoU3ludGhlc2lzU1BJ
LmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNy0yMDIxIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpA
QCAtMzQsNiArMzQsMTAgQEAKIFdURl9FWFRFUk5fQ19CRUdJTgogCiBDRkFycmF5UmVmIENvcHlT
cGVlY2hTeW50aGVzaXNWb2ljZXNGb3JNb2RlKENGVHlwZVJlZiBtb2RlKTsKKyNpZiBIQVZFKFNQ
RUVDSFNZTlRIRVNJU19NT05URVJFWV9TUEkpCitDRlN0cmluZ1JlZiBDb3B5SWRlbnRpZmllclN0
cmluZ0ZvclByZWZlcnJlZFZvaWNlSW5MaXN0V2l0aExvY2FsZShDRkFycmF5UmVmIHZvaWNlcywg
Q0ZMb2NhbGVSZWYpOworI2Vsc2UKIENGU3RyaW5nUmVmIEdldElkZW50aWZpZXJTdHJpbmdGb3JQ
cmVmZXJyZWRWb2ljZUluTGlzdFdpdGhMb2NhbGUoQ0ZBcnJheVJlZiB2b2ljZXMsIENGTG9jYWxl
UmVmKTsKKyNlbmRpZgogCiBXVEZfRVhURVJOX0NfRU5ECmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tYWMvUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1hYy5tbSBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9QbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyTWFjLm1tCmlu
ZGV4IGMxMWJmMWE4NmYzZTM3NGIxNjM4OGMzNzQ4Y2U1Njg3MmMwNWFhYWYuLjM0M2VhNjk1YmIz
OWQwMTk0NGRkMTY4MjcwMzcyZWFkOTI4Y2YwODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21hYy9QbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyTWFjLm1tCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9QbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyTWFjLm1tCkBA
IC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuICBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEzLTIwMjEgQXBwbGUgSW5jLiAg
QWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAt
MjIyLDE1ICsyMjIsMTYgQEAgc3RhdGljIFJldGFpblB0cjxDRkFycmF5UmVmPiBzcGVlY2hTeW50
aGVzaXNHZXRWb2ljZUlkZW50aWZpZXJzKCkKICAgICByZXR1cm4gYWRvcHRDRihDb3B5U3BlZWNo
U3ludGhlc2lzVm9pY2VzRm9yTW9kZSgoX19icmlkZ2UgQ0ZBcnJheVJlZilAWyBAIlZvaWNlR3Jv
dXBEZWZhdWx0IiwgQCJWb2ljZUdyb3VwQ29tcGFjdCIgXSkpOwogfQogCi1zdGF0aWMgTlNTdHJp
bmcgKnNwZWVjaFN5bnRoZXNpc0dldERlZmF1bHRWb2ljZUlkZW50aWZpZXJGb3JMb2NhbGUoTlNM
b2NhbGUgKnVzZXJMb2NhbGUpCitzdGF0aWMgUmV0YWluUHRyPENGU3RyaW5nUmVmPiBzcGVlY2hT
eW50aGVzaXNHZXREZWZhdWx0Vm9pY2VJZGVudGlmaWVyRm9yTG9jYWxlKE5TTG9jYWxlICp1c2Vy
TG9jYWxlKQogewogICAgIGlmICghdXNlckxvY2FsZSkKICAgICAgICAgcmV0dXJuIG5pbDsKIAot
I3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIHB1c2gKLSNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBp
Z25vcmVkICItV2RlcHJlY2F0ZWQtZGVjbGFyYXRpb25zIgotICAgIHJldHVybiAoX19icmlkZ2Ug
TlNTdHJpbmcgKilHZXRJZGVudGlmaWVyU3RyaW5nRm9yUHJlZmVycmVkVm9pY2VJbkxpc3RXaXRo
TG9jYWxlKHNwZWVjaFN5bnRoZXNpc0dldFZvaWNlSWRlbnRpZmllcnMoKS5nZXQoKSwgKF9fYnJp
ZGdlIENGTG9jYWxlUmVmKXVzZXJMb2NhbGUpOwotI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIHBv
cAorI2lmIEhBVkUoU1BFRUNIU1lOVEhFU0lTX01PTlRFUkVZX1NQSSkKKyAgICByZXR1cm4gYWRv
cHRDRihDb3B5SWRlbnRpZmllclN0cmluZ0ZvclByZWZlcnJlZFZvaWNlSW5MaXN0V2l0aExvY2Fs
ZShzcGVlY2hTeW50aGVzaXNHZXRWb2ljZUlkZW50aWZpZXJzKCkuZ2V0KCksIChfX2JyaWRnZSBD
RkxvY2FsZVJlZil1c2VyTG9jYWxlKSk7CisjZWxzZQorICAgIHJldHVybiBHZXRJZGVudGlmaWVy
U3RyaW5nRm9yUHJlZmVycmVkVm9pY2VJbkxpc3RXaXRoTG9jYWxlKHNwZWVjaFN5bnRoZXNpc0dl
dFZvaWNlSWRlbnRpZmllcnMoKS5nZXQoKSwgKF9fYnJpZGdlIENGTG9jYWxlUmVmKXVzZXJMb2Nh
bGUpOworI2VuZGlmCiB9CiAKIHZvaWQgUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplcjo6aW5pdGlh
bGl6ZVZvaWNlTGlzdCgpCkBAIC0yNDQsMTIgKzI0NSwxMiBAQCB2b2lkIFBsYXRmb3JtU3BlZWNo
U3ludGhlc2l6ZXI6OmluaXRpYWxpemVWb2ljZUxpc3QoKQogICAgICAgICBOU1N0cmluZyAqdm9p
Y2VVUkkgPSBbYXR0cmlidXRlcyBvYmplY3RGb3JLZXk6TlNWb2ljZUlkZW50aWZpZXJdOwogICAg
ICAgICBOU1N0cmluZyAqbmFtZSA9IFthdHRyaWJ1dGVzIG9iamVjdEZvcktleTpOU1ZvaWNlTmFt
ZV07CiAgICAgICAgIE5TU3RyaW5nICpsYW5ndWFnZSA9IFthdHRyaWJ1dGVzIG9iamVjdEZvcktl
eTpOU1ZvaWNlTG9jYWxlSWRlbnRpZmllcl07Ci0gICAgICAgIE5TU3RyaW5nICpkZWZhdWx0Vm9p
Y2VVUkkgPSBzcGVlY2hTeW50aGVzaXNHZXREZWZhdWx0Vm9pY2VJZGVudGlmaWVyRm9yTG9jYWxl
KGFkb3B0TlMoW1tOU0xvY2FsZSBhbGxvY10gaW5pdFdpdGhMb2NhbGVJZGVudGlmaWVyOmxhbmd1
YWdlXSkuZ2V0KCkpOworICAgICAgICBhdXRvIGRlZmF1bHRWb2ljZVVSSSA9IHNwZWVjaFN5bnRo
ZXNpc0dldERlZmF1bHRWb2ljZUlkZW50aWZpZXJGb3JMb2NhbGUoYWRvcHROUyhbW05TTG9jYWxl
IGFsbG9jXSBpbml0V2l0aExvY2FsZUlkZW50aWZpZXI6bGFuZ3VhZ2VdKS5nZXQoKSk7CiAKICAg
ICAgICAgLy8gQ2hhbmdlIHRvIEJDUC00NyBmb3JtYXQgYXMgZGVmaW5lZCBieSBzcGVjLgogICAg
ICAgICBsYW5ndWFnZSA9IFtsYW5ndWFnZSBzdHJpbmdCeVJlcGxhY2luZ09jY3VycmVuY2VzT2ZT
dHJpbmc6QCJfIiB3aXRoU3RyaW5nOkAiLSJdOwogCi0gICAgICAgIGJvb2wgaXNEZWZhdWx0ID0g
W2RlZmF1bHRWb2ljZVVSSSBpc0VxdWFsVG9TdHJpbmc6dm9pY2VVUkldOworICAgICAgICBib29s
IGlzRGVmYXVsdCA9IFsoX19icmlkZ2UgTlNTdHJpbmcgKilkZWZhdWx0Vm9pY2VVUkkuZ2V0KCkg
aXNFcXVhbFRvU3RyaW5nOnZvaWNlVVJJXTsKIAogICAgICAgICBtX3ZvaWNlTGlzdC5hcHBlbmQo
UGxhdGZvcm1TcGVlY2hTeW50aGVzaXNWb2ljZTo6Y3JlYXRlKHZvaWNlVVJJLCBuYW1lLCBsYW5n
dWFnZSwgdHJ1ZSwgaXNEZWZhdWx0KSk7CiAgICAgfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>434552</attachid>
            <date>2021-07-29 11:57:45 -0700</date>
            <delta_ts>2021-07-29 12:54:38 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-228066-20210729115744.patch</filename>
            <type>text/plain</type>
            <size>7341</size>
            <attacher name="Kate Cheney">katherine_cheney</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwNDM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGMwODU4ZTM4NWZlZDlmNWNhYmI1MjBl
ZmQzOTM4Y2U5MGRhODM0MzEuLjhhNWZhY2E3YTEwMTUzNDYyNTliMmYzNDFjOGQ5OWU2NWU2MzJj
ZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjEtMDctMjkgIEthdGUgQ2hlbmV5ICA8a2F0aGVy
aW5lX2NoZW5leUBhcHBsZS5jb20+CisKKyAgICAgICAgR2V0SWRlbnRpZmllclN0cmluZ0ZvclBy
ZWZlcnJlZFZvaWNlSW5MaXN0V2l0aExvY2FsZSgpIGlzIGRlcHJlY2F0ZWQgaW4gTW9udGVyZXkK
KyAgICAgICAgPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzIyODA2Nj4KKyAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzgwNTc3MzEyPgorCisgICAgICAgIFBhdGNoIGJ5IERhdmlkIEtpbHplci4KKworICAg
ICAgICBSZXZpZXdlZCBieSBEYXZpZCBLaWx6ZXIuCisKKyAgICAgICAgKiB3dGYvUGxhdGZvcm1I
YXZlLmg6CisgICAgICAgIC0gQWRkIEhBVkUoU1BFRUNIU1lOVEhFU0lTX01PTlRFUkVZX1NQSSku
CisKIDIwMjEtMDctMjggIEplYW4tWXZlcyBBdmVuYXJkICA8anlhQGFwcGxlLmNvbT4KIAogICAg
ICAgICBbV2ViQXVkaW9dIEFkZCB3ZWJtL29wdXMgY29udGFpbmVyIHN1cHBvcnQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpp
bmRleCAzZGFiYzU1ODY3ZDA1OTFjMmIzMmRmMmYwZGZlMmNmYjMyNWU3MWE3Li4xN2NkODA1MTUz
MmViOWIxY2YyMDU2NGI4ODMxMWE0OWU1MDM5ZWEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUg
QEAKKzIwMjEtMDctMjkgIEthdGUgQ2hlbmV5ICA8a2F0aGVyaW5lX2NoZW5leUBhcHBsZS5jb20+
CisKKyAgICAgICAgR2V0SWRlbnRpZmllclN0cmluZ0ZvclByZWZlcnJlZFZvaWNlSW5MaXN0V2l0
aExvY2FsZSgpIGlzIGRlcHJlY2F0ZWQgaW4gTW9udGVyZXkKKyAgICAgICAgPGh0dHBzOi8vd2Vi
a2l0Lm9yZy9iLzIyODA2Nj4KKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzgwNTc3MzEyPgorCisg
ICAgICAgIFBhdGNoIGJ5IERhdmlkIEtpbHplci4KKworICAgICAgICBSZXZpZXdlZCBieSBEYXZp
ZCBLaWx6ZXIuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvUGxhdGZvcm1TcGVlY2hTeW50aGVz
aXplck1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OnNwZWVjaFN5bnRoZXNpc0dldERlZmF1bHRW
b2ljZUlkZW50aWZpZXJGb3JMb2NhbGUpOgorICAgICAgICAtIFN3aXRjaCB0byB1c2UKKyAgICAg
ICAgICBDb3B5SWRlbnRpZmllclN0cmluZ0ZvclByZWZlcnJlZFZvaWNlSW5MaXN0V2l0aExvY2Fs
ZSgpCisgICAgICAgICAgaW4gTW9udGVyZXkuCisgICAgICAgIC0gQ2hhbmdlIHRvIHJldHVybiBS
ZXRhaW5QdHI8PiB0byBoYW5kbGUgbGlmZXRpbWUgb2YKKyAgICAgICAgICBvYmplY3QgcmV0dXJu
ZWQgZnJvbSBuZXcgZnVuY3Rpb24uCisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybVNwZWVjaFN5
bnRoZXNpemVyOjppbml0aWFsaXplVm9pY2VMaXN0KToKKyAgICAgICAgLSBDaGFuZ2UgdmFyaWJs
ZSB0eXBlIHRvICdhdXRvJyBzaW5jZSByZXR1cm4gdHlwZSBvZgorICAgICAgICAgIHNwZWVjaFN5
bnRoZXNpc0dldERlZmF1bHRWb2ljZUlkZW50aWZpZXJGb3JMb2NhbGUoKQorICAgICAgICAgIGNo
YW5nZWQuCisKIDIwMjEtMDctMjkgIEFkcmlhbiBQZXJleiBkZSBDYXN0cm8gIDxhcGVyZXpAaWdh
bGlhLmNvbT4KIAogICAgICAgICBbQ01ha2VdIFVzZSBhbiBpbXBvcnRlZCB0YXJnZXQgZm9yIHRo
ZSBsaWJnY3J5cHQgbGlicmFyeQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKaW5kZXggMzZlOTFlOTk5Mzg2YTY5
MDU4YTZjMTA1MDZkOWZhYWFkZDFmZTg3MC4uMzhhNzY3NjdmY2ZmYzlhMTI1NzA1NDI2Njg0ZTAw
NjZlZjlmMDZmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMjEtMDct
MjkgIEthdGUgQ2hlbmV5ICA8a2F0aGVyaW5lX2NoZW5leUBhcHBsZS5jb20+CisKKyAgICAgICAg
R2V0SWRlbnRpZmllclN0cmluZ0ZvclByZWZlcnJlZFZvaWNlSW5MaXN0V2l0aExvY2FsZSgpIGlz
IGRlcHJlY2F0ZWQgaW4gTW9udGVyZXkKKyAgICAgICAgPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzIy
ODA2Nj4KKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzgwNTc3MzEyPgorCisgICAgICAgIFBhdGNo
IGJ5IERhdmlkIEtpbHplci4KKworICAgICAgICBSZXZpZXdlZCBieSBEYXZpZCBLaWx6ZXIuCisK
KyAgICAgICAgKiBwYWwvc3BpL21hYy9TcGVlY2hTeW50aGVzaXNTUEkuaDoKKyAgICAgICAgKiBw
YWwvc3BpL21hYy9TcGVlY2hTeW50aGVzaXNTUEkuaDoKKyAgICAgICAgKENvcHlJZGVudGlmaWVy
U3RyaW5nRm9yUHJlZmVycmVkVm9pY2VJbkxpc3RXaXRoTG9jYWxlKTogQWRkLgorICAgICAgICAt
IERlZmluZSByZXBsYWNlbWVudCBmdW5jdGlvbiBmb3IKKyAgICAgICAgICBHZXRJZGVudGlmaWVy
U3RyaW5nRm9yUHJlZmVycmVkVm9pY2VJbkxpc3RXaXRoTG9jYWxlKCkKKyAgICAgICAgICBpbiBN
b250ZXJleS4KKwogMjAyMS0wNy0yOCAgSmVhbi1ZdmVzIEF2ZW5hcmQgIDxqeWFAYXBwbGUuY29t
PgogCiAgICAgICAgIFtXZWJBdWRpb10gQWRkIHdlYm0vb3B1cyBjb250YWluZXIgc3VwcG9ydApk
aWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1IYXZlLmggYi9Tb3VyY2UvV1RGL3d0
Zi9QbGF0Zm9ybUhhdmUuaAppbmRleCA4NmY0NDFlODBhNTMwYTM0ZDVlYmQ4NmM1NjhmYjk3Zjk3
M2NiMDUxLi42OTIzZjdkZTg0ZmY1N2ZlNzM0NTg1ZTE4MDIzZmU5MDA0ZjgwMmVkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9Q
bGF0Zm9ybUhhdmUuaApAQCAtODUwLDYgKzg1MCwxMiBAQAogI2VuZGlmCiAjZW5kaWYKIAorI2lm
IFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMjAw
MDAKKyNpZiAhZGVmaW5lZChIQVZFX1NQRUVDSFNZTlRIRVNJU19NT05URVJFWV9TUEkpCisjZGVm
aW5lIEhBVkVfU1BFRUNIU1lOVEhFU0lTX01PTlRFUkVZX1NQSSAxCisjZW5kaWYKKyNlbmRpZgor
CiAjaWYgUExBVEZPUk0oQ09DT0EpCiAjaWYgIWRlZmluZWQoSEFWRV9DR19DT05URVhUX0RSQVdf
UEFUSF9ESVJFQ1QpCiAjZGVmaW5lIEhBVkVfQ0dfQ09OVEVYVF9EUkFXX1BBVEhfRElSRUNUIDEK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL21hYy9TcGVlY2hTeW50aGVz
aXNTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL21hYy9TcGVlY2hTeW50aGVzaXNT
UEkuaAppbmRleCBjN2I3OWU3YTQxZTRhOGVlMDQyMzZjYWI5ZGUyMDkxNzM4YThhYzQzLi5iOTI5
NzgyYmViMGNkMmM2OTVkZWU2MWNlODc3YWU0MTViYzY4YmM1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMvU3BlZWNoU3ludGhlc2lzU1BJLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvUEFML3BhbC9zcGkvbWFjL1NwZWVjaFN5bnRoZXNpc1NQSS5oCkBAIC0xLDUgKzEs
NSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTctMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTM0LDYgKzM0LDEw
IEBACiBXVEZfRVhURVJOX0NfQkVHSU4KIAogQ0ZBcnJheVJlZiBDb3B5U3BlZWNoU3ludGhlc2lz
Vm9pY2VzRm9yTW9kZShDRlR5cGVSZWYgbW9kZSk7CisjaWYgSEFWRShTUEVFQ0hTWU5USEVTSVNf
TU9OVEVSRVlfU1BJKQorQ0ZTdHJpbmdSZWYgQ29weUlkZW50aWZpZXJTdHJpbmdGb3JQcmVmZXJy
ZWRWb2ljZUluTGlzdFdpdGhMb2NhbGUoQ0ZBcnJheVJlZiB2b2ljZXMsIENGTG9jYWxlUmVmKTsK
KyNlbHNlCiBDRlN0cmluZ1JlZiBHZXRJZGVudGlmaWVyU3RyaW5nRm9yUHJlZmVycmVkVm9pY2VJ
bkxpc3RXaXRoTG9jYWxlKENGQXJyYXlSZWYgdm9pY2VzLCBDRkxvY2FsZVJlZik7CisjZW5kaWYK
IAogV1RGX0VYVEVSTl9DX0VORApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWFjL1BsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tYWMvUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1hYy5tbQppbmRleCBjMTFiZjFhODZm
M2UzNzRiMTYzODhjMzc0OGNlNTY4NzJjMDVhYWFmLi4zM2U2MDEzODhkYzljMzg2OTM4MmIwNmU1
NWRkNTExNGVmYWQxZGEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMv
UGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tYWMvUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1hYy5tbQpAQCAtMSw1ICsxLDUgQEAK
IC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMy0yMDIxIEFwcGxlIEluYy4gIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTIyMiwxNSArMjIyLDE2
IEBAIHN0YXRpYyBSZXRhaW5QdHI8Q0ZBcnJheVJlZj4gc3BlZWNoU3ludGhlc2lzR2V0Vm9pY2VJ
ZGVudGlmaWVycygpCiAgICAgcmV0dXJuIGFkb3B0Q0YoQ29weVNwZWVjaFN5bnRoZXNpc1ZvaWNl
c0Zvck1vZGUoKF9fYnJpZGdlIENGQXJyYXlSZWYpQFsgQCJWb2ljZUdyb3VwRGVmYXVsdCIsIEAi
Vm9pY2VHcm91cENvbXBhY3QiIF0pKTsKIH0KIAotc3RhdGljIE5TU3RyaW5nICpzcGVlY2hTeW50
aGVzaXNHZXREZWZhdWx0Vm9pY2VJZGVudGlmaWVyRm9yTG9jYWxlKE5TTG9jYWxlICp1c2VyTG9j
YWxlKQorc3RhdGljIFJldGFpblB0cjxDRlN0cmluZ1JlZj4gc3BlZWNoU3ludGhlc2lzR2V0RGVm
YXVsdFZvaWNlSWRlbnRpZmllckZvckxvY2FsZShOU0xvY2FsZSAqdXNlckxvY2FsZSkKIHsKICAg
ICBpZiAoIXVzZXJMb2NhbGUpCiAgICAgICAgIHJldHVybiBuaWw7CiAKLSNwcmFnbWEgY2xhbmcg
ZGlhZ25vc3RpYyBwdXNoCi0jcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgaWdub3JlZCAiLVdkZXBy
ZWNhdGVkLWRlY2xhcmF0aW9ucyIKLSAgICByZXR1cm4gKF9fYnJpZGdlIE5TU3RyaW5nICopR2V0
SWRlbnRpZmllclN0cmluZ0ZvclByZWZlcnJlZFZvaWNlSW5MaXN0V2l0aExvY2FsZShzcGVlY2hT
eW50aGVzaXNHZXRWb2ljZUlkZW50aWZpZXJzKCkuZ2V0KCksIChfX2JyaWRnZSBDRkxvY2FsZVJl
Zil1c2VyTG9jYWxlKTsKLSNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBwb3AKKyNpZiBIQVZFKFNQ
RUVDSFNZTlRIRVNJU19NT05URVJFWV9TUEkpICYmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisg
ICAgcmV0dXJuIGFkb3B0Q0YoQ29weUlkZW50aWZpZXJTdHJpbmdGb3JQcmVmZXJyZWRWb2ljZUlu
TGlzdFdpdGhMb2NhbGUoc3BlZWNoU3ludGhlc2lzR2V0Vm9pY2VJZGVudGlmaWVycygpLmdldCgp
LCAoX19icmlkZ2UgQ0ZMb2NhbGVSZWYpdXNlckxvY2FsZSkpOworI2Vsc2UKKyAgICByZXR1cm4g
R2V0SWRlbnRpZmllclN0cmluZ0ZvclByZWZlcnJlZFZvaWNlSW5MaXN0V2l0aExvY2FsZShzcGVl
Y2hTeW50aGVzaXNHZXRWb2ljZUlkZW50aWZpZXJzKCkuZ2V0KCksIChfX2JyaWRnZSBDRkxvY2Fs
ZVJlZil1c2VyTG9jYWxlKTsKKyNlbmRpZgogfQogCiB2b2lkIFBsYXRmb3JtU3BlZWNoU3ludGhl
c2l6ZXI6OmluaXRpYWxpemVWb2ljZUxpc3QoKQpAQCAtMjQ0LDEyICsyNDUsMTIgQEAgdm9pZCBQ
bGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyOjppbml0aWFsaXplVm9pY2VMaXN0KCkKICAgICAgICAg
TlNTdHJpbmcgKnZvaWNlVVJJID0gW2F0dHJpYnV0ZXMgb2JqZWN0Rm9yS2V5Ok5TVm9pY2VJZGVu
dGlmaWVyXTsKICAgICAgICAgTlNTdHJpbmcgKm5hbWUgPSBbYXR0cmlidXRlcyBvYmplY3RGb3JL
ZXk6TlNWb2ljZU5hbWVdOwogICAgICAgICBOU1N0cmluZyAqbGFuZ3VhZ2UgPSBbYXR0cmlidXRl
cyBvYmplY3RGb3JLZXk6TlNWb2ljZUxvY2FsZUlkZW50aWZpZXJdOwotICAgICAgICBOU1N0cmlu
ZyAqZGVmYXVsdFZvaWNlVVJJID0gc3BlZWNoU3ludGhlc2lzR2V0RGVmYXVsdFZvaWNlSWRlbnRp
ZmllckZvckxvY2FsZShhZG9wdE5TKFtbTlNMb2NhbGUgYWxsb2NdIGluaXRXaXRoTG9jYWxlSWRl
bnRpZmllcjpsYW5ndWFnZV0pLmdldCgpKTsKKyAgICAgICAgYXV0byBkZWZhdWx0Vm9pY2VVUkkg
PSBzcGVlY2hTeW50aGVzaXNHZXREZWZhdWx0Vm9pY2VJZGVudGlmaWVyRm9yTG9jYWxlKGFkb3B0
TlMoW1tOU0xvY2FsZSBhbGxvY10gaW5pdFdpdGhMb2NhbGVJZGVudGlmaWVyOmxhbmd1YWdlXSku
Z2V0KCkpOwogCiAgICAgICAgIC8vIENoYW5nZSB0byBCQ1AtNDcgZm9ybWF0IGFzIGRlZmluZWQg
Ynkgc3BlYy4KICAgICAgICAgbGFuZ3VhZ2UgPSBbbGFuZ3VhZ2Ugc3RyaW5nQnlSZXBsYWNpbmdP
Y2N1cnJlbmNlc09mU3RyaW5nOkAiXyIgd2l0aFN0cmluZzpAIi0iXTsKIAotICAgICAgICBib29s
IGlzRGVmYXVsdCA9IFtkZWZhdWx0Vm9pY2VVUkkgaXNFcXVhbFRvU3RyaW5nOnZvaWNlVVJJXTsK
KyAgICAgICAgYm9vbCBpc0RlZmF1bHQgPSBbKF9fYnJpZGdlIE5TU3RyaW5nICopZGVmYXVsdFZv
aWNlVVJJLmdldCgpIGlzRXF1YWxUb1N0cmluZzp2b2ljZVVSSV07CiAKICAgICAgICAgbV92b2lj
ZUxpc3QuYXBwZW5kKFBsYXRmb3JtU3BlZWNoU3ludGhlc2lzVm9pY2U6OmNyZWF0ZSh2b2ljZVVS
SSwgbmFtZSwgbGFuZ3VhZ2UsIHRydWUsIGlzRGVmYXVsdCkpOwogICAgIH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>