<?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>236135</bug_id>
          
          <creation_ts>2022-02-04 06:23:07 -0800</creation_ts>
          <short_desc>Update preference location used for CaptivePortalMode</short_desc>
          <delta_ts>2022-02-12 17:06:21 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</component>
          <version>Other</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="Gavin">gavin.p</reporter>
          <assigned_to name="Gavin">gavin.p</assigned_to>
          <cc>annulen</cc>
    
    <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>darin</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kkinnunen</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1837338</commentid>
    <comment_count>0</comment_count>
    <who name="Gavin">gavin.p</who>
    <bug_when>2022-02-04 06:23:07 -0800</bug_when>
    <thetext>Change the preference location used to determine whether to enable CaptivePortalMode</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1837342</commentid>
    <comment_count>1</comment_count>
    <who name="Gavin">gavin.p</who>
    <bug_when>2022-02-04 06:29:24 -0800</bug_when>
    <thetext>&lt;rdar://problem/88486544&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1837345</commentid>
    <comment_count>2</comment_count>
      <attachid>450887</attachid>
    <who name="Gavin">gavin.p</who>
    <bug_when>2022-02-04 06:31:33 -0800</bug_when>
    <thetext>Created attachment 450887
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1837443</commentid>
    <comment_count>3</comment_count>
      <attachid>450887</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2022-02-04 08:41:59 -0800</bug_when>
    <thetext>Comment on attachment 450887
Patch

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

Looks fine except for the storage leaks.

&gt; Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm:134
&gt; +static const char* const WebKitCaptivePortalModeChangedNotification_Legacy = &quot;WebKitCaptivePortalModeEnabled&quot;;
&gt; +static const char* const WebKitCaptivePortalModeChangedNotification = &quot;WKCaptivePortalModeEnabled&quot;;
&gt; +static const char* const WebKitCaptivePortalModeIgnoredNotification = &quot;WKCaptivePortalModeIgnored&quot;;

In new code it’s better to use constexpr. Instead of &quot;static const char* const&quot; I would write &quot;constexpr auto&quot;.

&gt; Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm:956
&gt; +    CFBooleanRef systemValue = dynamic_cf_cast&lt;CFBooleanRef&gt;(CFPreferencesCopyValue(CFStringCreateWithCString(kCFAllocatorDefault, WebKitCaptivePortalModeChangedNotification, kCFStringEncodingUTF8), kCFPreferencesAnyApplication, kCFPreferencesAnyUser, kCFPreferencesCurrentHost));
&gt; +    if (!systemValue || !CFBooleanGetValue(systemValue))
&gt; +        return false;

This has two storage leaks, leaks a string every time and theoretically leaks a preferences value each time, although that is not a problem when the value is a CFBoolean. We must use adoptCF any time we call a CF Copy or Create function. But also, if we want to check for boolean true and only that value, we can do it without converting to CFBoolean. I would write the code like this.

    auto changedNotificationName = adoptCF(CFStringCreateWithCString(kCFAllocatorDefault, WebKitCaptivePortalModeChangedNotification, kCFStringEncodingUTF8));
    if (adoptCF(CFPreferencesCopyValue(changedNotificationName(), kCFPreferencesAnyApplication, kCFPreferencesAnyUser, kCFPreferencesCurrentHost)).get() != kCFBooleanTrue)
        return false;

Since the code is a little bit repetitive we could add a helper function, but I also think the above is OK.

&gt; Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm:960
&gt; +    CFBooleanRef configIgnoreValue = dynamic_cf_cast&lt;CFBooleanRef&gt;(CFPreferencesCopyValue(CFStringCreateWithCString(kCFAllocatorDefault, WebKitCaptivePortalModeIgnoredNotification, kCFStringEncodingUTF8), CFSTR(&quot;com.apple.WebKit.cpmconfig&quot;), kCFPreferencesCurrentUser, kCFPreferencesAnyHost));
&gt; +    if (configIgnoreValue &amp;&amp; CFBooleanGetValue(configIgnoreValue))
&gt; +        return false;

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1839294</commentid>
    <comment_count>4</comment_count>
      <attachid>451410</attachid>
    <who name="Gavin">gavin.p</who>
    <bug_when>2022-02-09 11:08:55 -0800</bug_when>
    <thetext>Created attachment 451410
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1839402</commentid>
    <comment_count>5</comment_count>
      <attachid>451410</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2022-02-09 14:02:55 -0800</bug_when>
    <thetext>Comment on attachment 451410
Patch

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

Some comments on the WIP patch.

&gt; Source/WebKit/UIProcess/API/C/mac/WKCaptivePortalModePrivateMac.mm:39
&gt; +    auto pref_val = adoptCF(CFPreferencesCopyValue(CFSTR(&quot;WKCaptivePortalModeEnabled&quot;), kCFPreferencesAnyApplication, kCFPreferencesAnyUser, kCFPreferencesCurrentHost));
&gt; +    return pref_val.get() == kCFBooleanTrue;

WebKit coding style says local variables would be named value or preferenceValue, not pref_val. But you can also just use the one line style without local variable as below.

&gt; Source/WebKit/UIProcess/API/C/mac/WKCaptivePortalModePrivateMac.mm:41
&gt; +    return false

Need a semicolon. Not sure about ignoring this entirely without the APPLE_INTERNAL_SDK, that’s not our usual approach.

&gt; Source/WebKit/UIProcess/API/C/mac/WKCaptivePortalModePrivateMac.mm:51
&gt; +    return false

Semicolon.

&gt; Source/WebKit/UIProcess/API/C/mac/WKCaptivePortalModePrivateMac.mm:55
&gt; +bool WKCaptivePortalModeGetIgnoredForContainer(NSString* containerPath)

WebKit coding style says write this as &quot;NSString *containerPath&quot;.

&gt; Source/WebKit/UIProcess/API/C/mac/WKCaptivePortalModePrivateMac.mm:60
&gt; +    return false

Semicolon.

&gt; Source/WebKit/UIProcess/API/C/mac/WKCaptivePortalModePrivateMac.mm:64
&gt; +bool WKCaptivePortalModeSetIgnoredForContainer(NSString* containerPath, bool ignored)

WebKit coding style says write this as &quot;NSString *containerPath&quot;.

&gt; Source/WebKit/UIProcess/API/C/mac/WKCaptivePortalModePrivateMac.mm:70
&gt; +    return false

Semicolon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1839808</commentid>
    <comment_count>6</comment_count>
      <attachid>451570</attachid>
    <who name="Gavin">gavin.p</who>
    <bug_when>2022-02-10 10:51:31 -0800</bug_when>
    <thetext>Created attachment 451570
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1839825</commentid>
    <comment_count>7</comment_count>
      <attachid>451570</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-02-10 11:08:01 -0800</bug_when>
    <thetext>Comment on attachment 451570
Patch

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

Looks like there are some build issues on iOS.

&gt; Source/WebKit/UIProcess/API/Cocoa/_WKSystemPreferences.h:32
&gt; ++ (BOOL) _isCaptivePortalModeEnabledGlobally;

Looking at our other headers, looks like we usually don&apos;t have a space between (BOOL) and the method name.

&gt; Source/WebKit/UIProcess/API/Cocoa/_WKSystemPreferences.h:35
&gt; ++ (BOOL) _setCaptivePortalModeIgnoredForContainer:(NSString*)containerPath :(BOOL)ignore;

Somebody more familiar with our APIs and Objective C will have to comment on this. I have never seen an unnamed parameter in ObjC :)

&gt; Source/WebKit/UIProcess/API/Cocoa/_WKSystemPreferences.mm:31
&gt; +#if USE(APPLE_INTERNAL_SDK)

Need a blank line before this.

But also, why do we need this guard, what API is not part of the public SDK? We use CFPreferences API elsewhere in WebKit without guards.

Also, I assume the NSUserDefaults ObjC API is insufficient here for some reason and that&apos;s why you have to use CFPreferences?

&gt; Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm:630
&gt; +    auto pool = extractWebProcessPool(observer);

I think this would look nicer like so:
```
if (auto pool = extractWebProcessPool(observer))
    pool-&gt;captivePortalModeStateChanged();
```</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1839868</commentid>
    <comment_count>8</comment_count>
      <attachid>451570</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2022-02-10 12:16:44 -0800</bug_when>
    <thetext>Comment on attachment 451570
Patch

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

&gt; Source/WebKit/UIProcess/API/Cocoa/_WKSystemPreferences.h:37
&gt; +WK_CLASS_AVAILABLE(macos(WK_MAC_TBA), ios(WK_IOS_TBA))
&gt; +@interface _WKSystemPreferences : NSObject
&gt; +
&gt; ++ (BOOL) _isCaptivePortalModeEnabledGlobally;
&gt; ++ (BOOL) _setCaptivePortalModeEnabledGlobally:(BOOL)enabled;
&gt; ++ (BOOL) _isCaptivePortalModeIgnoredForContainer:(NSString*)containerPath;
&gt; ++ (BOOL) _setCaptivePortalModeIgnoredForContainer:(NSString*)containerPath :(BOOL)ignore;
&gt; +
&gt; +@end

Coding style issue:

Not sure we are adding value by including all these underscores. If the class is internal and only intended for use inside WebKit, then OK, use an underscore. If it’s intended for outside WebKit, then no underscore is needed. Please discuss with the people who think about WebKit public, private, and internal things.

Within a class that is itself not API, no reason to make the methods have a leading underscore.

Also, unnamed &quot;ignore&quot; argument for setCaptivePortalModeIgnoredForContainer is not right. Should follow Cocoa method naming guidelines for such things.

Finally, &quot;NSString*&quot; -&gt; &quot;NSString *&quot; in WebKit code and especially in public APIs.

Non-obvious that these setters can fail and the BOOL they return indicates whether they succeeded or not. May need a comment. Also, will any callers really take advantage of this? If not, then it’s a bit innovative and confusing, but for no benefit.

&gt; Source/WebKit/UIProcess/API/Cocoa/_WKSystemPreferences.mm:62
&gt; +    return [[NSFileManager defaultManager] fileExistsAtPath:cpmconfigIgnoreFilePath] == TRUE;

Should not write &quot;== TRUE&quot; if we are returning a bool.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1839877</commentid>
    <comment_count>9</comment_count>
      <attachid>451590</attachid>
    <who name="Gavin">gavin.p</who>
    <bug_when>2022-02-10 12:49:22 -0800</bug_when>
    <thetext>Created attachment 451590
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1839891</commentid>
    <comment_count>10</comment_count>
      <attachid>451594</attachid>
    <who name="Gavin">gavin.p</who>
    <bug_when>2022-02-10 13:25:07 -0800</bug_when>
    <thetext>Created attachment 451594
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1839913</commentid>
    <comment_count>11</comment_count>
      <attachid>451594</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2022-02-10 13:50:10 -0800</bug_when>
    <thetext>Comment on attachment 451594
Patch

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

The nice thing about putting the strings in constants is that it&apos;s a compile time guarantee against typo. A secondary nicety is that the strings themselves are a little non-obvious.

&gt; Source/WebKit/UIProcess/API/Cocoa/_WKSystemPreferences.mm:37
&gt; +    auto preferenceValue = adoptCF(CFPreferencesCopyValue(CFSTR(&quot;WKCaptivePortalModeEnabled&quot;), kCFPreferencesAnyApplication, kCFPreferencesAnyUser, kCFPreferencesCurrentHost));

Would be nice to put &quot;WKCaptivePortalModeEnabled&quot; in a constant in the header.

&gt; Source/WebKit/UIProcess/API/Cocoa/_WKSystemPreferences.mm:55
&gt; +    NSString *cpmconfigIgnoreFilePath = [containerPath stringByAppendingPathComponent:@&quot;Library/Preferences/com.apple.WebKit.cpmconfig_ignore&quot;];

Would be nice to put @&quot;Library/Preferences/com.apple.WebKit.cpmconfig_ignore&quot; in a constant at the top of the file.

&gt; Source/WebKit/UIProcess/API/Cocoa/_WKSystemPreferences.mm:75
&gt; +    CFNotificationCenterPostNotification(CFNotificationCenterGetDarwinNotifyCenter(), CFSTR(&quot;com.apple.WebKit.cpmconfig&quot;), nullptr, nullptr, true);

Would be nice to put &quot;com.apple.WebKit.cpmconfig&quot; in a constant in the header.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1839959</commentid>
    <comment_count>12</comment_count>
      <attachid>451602</attachid>
    <who name="Gavin">gavin.p</who>
    <bug_when>2022-02-10 14:34:05 -0800</bug_when>
    <thetext>Created attachment 451602
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1839976</commentid>
    <comment_count>13</comment_count>
      <attachid>451604</attachid>
    <who name="Gavin">gavin.p</who>
    <bug_when>2022-02-10 14:49:35 -0800</bug_when>
    <thetext>Created attachment 451604
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1839981</commentid>
    <comment_count>14</comment_count>
      <attachid>451606</attachid>
    <who name="Gavin">gavin.p</who>
    <bug_when>2022-02-10 14:52:54 -0800</bug_when>
    <thetext>Created attachment 451606
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1840021</commentid>
    <comment_count>15</comment_count>
      <attachid>451606</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2022-02-10 16:00:12 -0800</bug_when>
    <thetext>Comment on attachment 451606
Patch

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

&gt; Source/WebKit/UIProcess/API/Cocoa/_WKSystemPreferences.mm:38
&gt; +#if USE(APPLE_INTERNAL_SDK)

Looks pretty good to me.

I think this is the one piece of feedback not yet addressed. Chris had asked:

But also, why do we need this guard, what API is not part of the public SDK? We use CFPreferences API elsewhere in WebKit without guards.

&gt; Source/WebKit/UIProcess/API/Cocoa/_WKSystemPreferences.mm:59
&gt; +    NSString *cpmconfigIgnoreFilePath = [containerPath stringByAppendingPathComponent:CaptivePortalConfigurationIgnoreFilePath];

I think you could do pathWithComponents:@{ containerPath, @&quot;Library/Preferences/&quot;, WebKitCaptivePortalModeContainerConfigurationChangedNotification }. (And then no need for CaptivePortalConfigurationIgnoreFilePath.)

FWIW, I like how that makes explicit how we put together the path.

&gt; Source/WebKit/UIProcess/API/Cocoa/_WKSystemPreferencesInternal.h:29
&gt; +constexpr auto WebKitCaptivePortalModeGlobalConfigurationChangedNotification = &quot;WKCaptivePortalModeEnabled&quot;;
&gt; +constexpr auto WebKitCaptivePortalModeContainerConfigurationChangedNotification = @&quot;com.apple.WebKit.cpmconfig&quot;;

Apologies, I didn&apos;t fully grasp before that these were change notifications. We usually try to make those strings more symbolically similar to the constant names. (See, e.g., AXObjectCacheMac.mm.)

Would this work, or does it conflict with something else?

constexpr auto WKCaptivePortalModeGlobalConfigurationChangedNotification = &quot;WKCaptivePortalModeGlobalConfigurationChangedNotification&quot;;
constexpr auto WKCaptivePortalModeContainerConfigurationChangedNotification = @&quot;WKCaptivePortalModeContainerConfigurationChangedNotification&quot;;

(I subbed in WK because that&apos;s WebKit&apos;s public prefix.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1840031</commentid>
    <comment_count>16</comment_count>
      <attachid>451606</attachid>
    <who name="Gavin">gavin.p</who>
    <bug_when>2022-02-10 16:21:00 -0800</bug_when>
    <thetext>Comment on attachment 451606
Patch

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

&gt;&gt; Source/WebKit/UIProcess/API/Cocoa/_WKSystemPreferences.mm:38
&gt;&gt; +#if USE(APPLE_INTERNAL_SDK)
&gt; 
&gt; Looks pretty good to me.
&gt; 
&gt; I think this is the one piece of feedback not yet addressed. Chris had asked:
&gt; 
&gt; But also, why do we need this guard, what API is not part of the public SDK? We use CFPreferences API elsewhere in WebKit without guards.

I agree, I think this can now be removed. I&apos;ll address this.

&gt;&gt; Source/WebKit/UIProcess/API/Cocoa/_WKSystemPreferences.mm:59
&gt;&gt; +    NSString *cpmconfigIgnoreFilePath = [containerPath stringByAppendingPathComponent:CaptivePortalConfigurationIgnoreFilePath];
&gt; 
&gt; I think you could do pathWithComponents:@{ containerPath, @&quot;Library/Preferences/&quot;, WebKitCaptivePortalModeContainerConfigurationChangedNotification }. (And then no need for CaptivePortalConfigurationIgnoreFilePath.)
&gt; 
&gt; FWIW, I like how that makes explicit how we put together the path.

We want the file name to have a somewhat fixed format which doesn&apos;t align with your suggestion for the notification name. That said, I think pathWithComponents is much clearer - so I&apos;ll address this this too but with a new FileName variable if that&apos;s OK (This filename and notification name don&apos;t have to match).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1840035</commentid>
    <comment_count>17</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2022-02-10 16:24:18 -0800</bug_when>
    <thetext>&gt; We want the file name to have a somewhat fixed format which doesn&apos;t align
&gt; with your suggestion for the notification name. That said, I think
&gt; pathWithComponents is much clearer - so I&apos;ll address this this too but with
&gt; a new FileName variable if that&apos;s OK (This filename and notification name
&gt; don&apos;t have to match).

Sure, sounds good!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1840042</commentid>
    <comment_count>18</comment_count>
      <attachid>451617</attachid>
    <who name="Gavin">gavin.p</who>
    <bug_when>2022-02-10 16:43:07 -0800</bug_when>
    <thetext>Created attachment 451617
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1840053</commentid>
    <comment_count>19</comment_count>
      <attachid>451620</attachid>
    <who name="Gavin">gavin.p</who>
    <bug_when>2022-02-10 16:55:15 -0800</bug_when>
    <thetext>Created attachment 451620
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1840562</commentid>
    <comment_count>20</comment_count>
      <attachid>451746</attachid>
    <who name="Gavin">gavin.p</who>
    <bug_when>2022-02-11 14:35:30 -0800</bug_when>
    <thetext>Created attachment 451746
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1840587</commentid>
    <comment_count>21</comment_count>
      <attachid>451746</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2022-02-11 15:06:42 -0800</bug_when>
    <thetext>Comment on attachment 451746
Patch

r=me

Looks good!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1840588</commentid>
    <comment_count>22</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2022-02-11 15:07:54 -0800</bug_when>
    <thetext>Follow-up thought: probably good to write some basic &quot;API tests&quot;. That would mean adding a couple cases to Tools/TestWebKitAPI that set and get these preferences in basic ways.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1840590</commentid>
    <comment_count>23</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2022-02-11 15:08:29 -0800</bug_when>
    <thetext>...Not super sure at first glance if that&apos;s possible without accidentally changing the behavior of the surrounding device.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1840743</commentid>
    <comment_count>24</comment_count>
      <attachid>451746</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2022-02-12 16:45:11 -0800</bug_when>
    <thetext>Comment on attachment 451746
Patch

Looks great!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1840745</commentid>
    <comment_count>25</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-02-12 17:06:17 -0800</bug_when>
    <thetext>Committed r289702 (247187@main): &lt;https://commits.webkit.org/247187@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 451746.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>450887</attachid>
            <date>2022-02-04 06:31:33 -0800</date>
            <delta_ts>2022-02-09 11:08:51 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-236135-20220204063132.patch</filename>
            <type>text/plain</type>
            <size>6120</size>
            <attacher name="Gavin">gavin.p</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4ODcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDA4NzcwMjQ5Mjk5YzdlNmM2
M2I3YTY1OTNmZmY2YTdhYjg3Y2M2NTEuLjAyMzJkZTQ2OWJkOTBlYzdiYzdkZDUxMDJhM2EwNmI2
ODQ2NjUzNjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMjItMDItMDQgIEdhdmluIFBo
aWxsaXBzICA8Z2F2aW4ucEBhcHBsZS5jb20+CisKKyAgICAgICAgVXBkYXRlIHByZWZlcmVuY2Ug
bG9jYXRpb24gdXNlZCBmb3IgQ2FwdGl2ZVBvcnRhbE1vZGUuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzYxMzUKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzg4NDg2NTQ0PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogVUlQcm9jZXNzL0NvY29hL1ByZWZlcmVuY2VPYnNlcnZlci5tbToKKyAgICAgICAg
KC1bV0tVc2VyRGVmYXVsdHMgZmluZFByZWZlcmVuY2VDaGFuZ2VzQW5kTm90aWZ5Rm9yS2V5czp0
b1ZhbHVlc0ZvcktleXM6XSk6CisgICAgICAgICgtW1dLUHJlZmVyZW5jZU9ic2VydmVyIGluaXRd
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbToKKyAg
ICAgICAgKFdlYktpdDo6aXNDYXB0aXZlUG9ydGFsTW9kZUVuYWJsZWRCeVN5c3RlbUlnbm9yaW5n
Q2FjaGluZyk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpub3RpZnlQcmVmZXJl
bmNlc0NoYW5nZWQpOgorCiAyMDIyLTAxLTMxICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVs
ZEBhcHBsZS5jb20+CiAKICAgICAgICAgUmVuYW1lIEZvbnRDYXNjYWRlOjpmb250TWV0cmljcygp
IGFuZCBSZW5kZXJTdHlsZTo6Zm9udE1ldHJpY3MoKSB0byBmb250TWV0cmljc09mUHJpbWFyeUZv
bnQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvUHJlZmVyZW5j
ZU9ic2VydmVyLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvUHJlZmVyZW5jZU9i
c2VydmVyLm1tCmluZGV4IDM0YmZhNzkyNWQ1ZDQ0ZTBlOWU4MTIwMjQ3OWU3NzU4MTVlYWM2YmMu
LjNmNDIwMzhlODQ2YWI3M2YzOWJkYmUxZTdjNWFjYWZkNmY1NTBhMGIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1ByZWZlcmVuY2VPYnNlcnZlci5tbQorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9QcmVmZXJlbmNlT2JzZXJ2ZXIubW0KQEAgLTcx
LDYgKzcxLDcgQEAKICAgICAgICAgICAgIGVuY29kZWRTdHJpbmcgPSBbZGF0YSBiYXNlNjRFbmNv
ZGVkU3RyaW5nV2l0aE9wdGlvbnM6MF07CiAgICAgICAgIH0KIAorICAgICAgICBhdXRvIHN5c3Rl
bVZhbHVlID0gYWRvcHRDRihDRlByZWZlcmVuY2VzQ29weVZhbHVlKChfX2JyaWRnZSBDRlN0cmlu
Z1JlZilrZXksIGtDRlByZWZlcmVuY2VzQW55QXBwbGljYXRpb24sIGtDRlByZWZlcmVuY2VzQW55
VXNlciwga0NGUHJlZmVyZW5jZXNBbnlIb3N0KSk7CiAgICAgICAgIGF1dG8gZ2xvYmFsVmFsdWUg
PSBhZG9wdENGKENGUHJlZmVyZW5jZXNDb3B5VmFsdWUoKF9fYnJpZGdlIENGU3RyaW5nUmVmKWtl
eSwga0NGUHJlZmVyZW5jZXNBbnlBcHBsaWNhdGlvbiwga0NGUHJlZmVyZW5jZXNDdXJyZW50VXNl
ciwga0NGUHJlZmVyZW5jZXNBbnlIb3N0KSk7CiAgICAgICAgIGF1dG8gZG9tYWluVmFsdWUgPSBh
ZG9wdENGKENGUHJlZmVyZW5jZXNDb3B5VmFsdWUoKF9fYnJpZGdlIENGU3RyaW5nUmVmKWtleSwg
KF9fYnJpZGdlIENGU3RyaW5nUmVmKW1fc3VpdGVOYW1lLmdldCgpLCBrQ0ZQcmVmZXJlbmNlc0N1
cnJlbnRVc2VyLCBrQ0ZQcmVmZXJlbmNlc0FueUhvc3QpKTsKIApAQCAtNzgsNyArNzksNyBAQAog
ICAgICAgICAgICAgcmV0dXJuIGEgPT0gYiB8fCBbYSBpc0VxdWFsOmJdOwogICAgICAgICB9Owog
Ci0gICAgICAgIGlmIChwcmVmZXJlbmNlVmFsdWVzQXJlRXF1YWwoKF9fYnJpZGdlIGlkKWdsb2Jh
bFZhbHVlLmdldCgpLCBuZXdWYWx1ZSkpCisgICAgICAgIGlmIChwcmVmZXJlbmNlVmFsdWVzQXJl
RXF1YWwoKF9fYnJpZGdlIGlkKXN5c3RlbVZhbHVlLmdldCgpLCBuZXdWYWx1ZSkgfHwgcHJlZmVy
ZW5jZVZhbHVlc0FyZUVxdWFsKChfX2JyaWRnZSBpZClnbG9iYWxWYWx1ZS5nZXQoKSwgbmV3VmFs
dWUpKQogICAgICAgICAgICAgW21fb2JzZXJ2ZXIgcHJlZmVyZW5jZURpZENoYW5nZTpuaWwga2V5
OmtleSBlbmNvZGVkVmFsdWU6ZW5jb2RlZFN0cmluZ107CiAKICAgICAgICAgaWYgKHByZWZlcmVu
Y2VWYWx1ZXNBcmVFcXVhbCgoX19icmlkZ2UgaWQpZG9tYWluVmFsdWUuZ2V0KCksIG5ld1ZhbHVl
KSkKQEAgLTE0MSw2ICsxNDIsNyBAQAogICAgICAgICBAImNvbS5hcHBsZS5tZWRpYXJlbW90ZSIs
CiAgICAgICAgIEAiY29tLmFwcGxlLnByZWZlcmVuY2VzLnNvdW5kcyIsCiAgICAgICAgIEAiY29t
LmFwcGxlLnZvaWNlc2VydmljZXMiLAorICAgICAgICBAImNvbS5hcHBsZS5XZWJLaXQuY3BtY29u
ZmlnIiwKICNlbHNlCiAgICAgICAgIEAiY29tLmFwcGxlLkNGTmV0d29yayIsCiAgICAgICAgIEAi
Y29tLmFwcGxlLkNvcmVHcmFwaGljcyIsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQppbmRleCBjYzVmNmIwNzIyYzQwNjFkNTNm
ZjY0MDVhZjc5ZWYzZDQ1YjU2MGY3Li5mM2I5YzAwYzYyZTZmYjlkNTEyMTFlYWU2YzNkYjI3ZmVj
MDk0NGIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9j
ZXNzUG9vbENvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBy
b2Nlc3NQb29sQ29jb2EubW0KQEAgLTcwLDYgKzcwLDcgQEAKICNpbXBvcnQgPHd0Zi9GaWxlU3lz
dGVtLmg+CiAjaW1wb3J0IDx3dGYvUHJvY2Vzc1ByaXZpbGVnZS5oPgogI2ltcG9ydCA8d3RmL1Nv
ZnRMaW5raW5nLmg+CisjaW1wb3J0IDx3dGYvY2YvVHlwZUNhc3RzQ0YuaD4KICNpbXBvcnQgPHd0
Zi9jb2NvYS9FbnRpdGxlbWVudHMuaD4KICNpbXBvcnQgPHd0Zi9jb2NvYS9SdW50aW1lQXBwbGlj
YXRpb25DaGVja3NDb2NvYS5oPgogI2ltcG9ydCA8d3RmL2NvY29hL1R5cGVDYXN0c0NvY29hLmg+
CkBAIC0xMjgsNyArMTI5LDkgQEAgTlNTdHJpbmcgKldlYktpdEpTQ0ZUTEpJVEVuYWJsZWREZWZh
dWx0c0tleSA9IEAiV2ViS2l0SlNDRlRMSklURW5hYmxlZERlZmF1bHRzS2UKIHN0YXRpYyBOU1N0
cmluZyAqV2ViS2l0QXBwbGljYXRpb25EaWRDaGFuZ2VBY2Nlc3NpYmlsaXR5RW5oYW5jZWRVc2Vy
SW50ZXJmYWNlTm90aWZpY2F0aW9uID0gQCJOU0FwcGxpY2F0aW9uRGlkQ2hhbmdlQWNjZXNzaWJp
bGl0eUVuaGFuY2VkVXNlckludGVyZmFjZU5vdGlmaWNhdGlvbiI7CiBzdGF0aWMgQ0ZTdHJpbmdS
ZWYgQXBwbGVDb2xvclByZWZlcmVuY2VzQ2hhbmdlZE5vdGlmaWNhdGlvbiA9IENGU1RSKCJBcHBs
ZUNvbG9yUHJlZmVyZW5jZXNDaGFuZ2VkTm90aWZpY2F0aW9uIik7CiAjZW5kaWYKLXN0YXRpYyBj
b25zdCBjaGFyKiBjb25zdCBXZWJLaXRDYXB0aXZlUG9ydGFsTW9kZUNoYW5nZWROb3RpZmljYXRp
b24gPSAiV2ViS2l0Q2FwdGl2ZVBvcnRhbE1vZGVFbmFibGVkIjsKK3N0YXRpYyBjb25zdCBjaGFy
KiBjb25zdCBXZWJLaXRDYXB0aXZlUG9ydGFsTW9kZUNoYW5nZWROb3RpZmljYXRpb25fTGVnYWN5
ID0gIldlYktpdENhcHRpdmVQb3J0YWxNb2RlRW5hYmxlZCI7CitzdGF0aWMgY29uc3QgY2hhciog
Y29uc3QgV2ViS2l0Q2FwdGl2ZVBvcnRhbE1vZGVDaGFuZ2VkTm90aWZpY2F0aW9uID0gIldLQ2Fw
dGl2ZVBvcnRhbE1vZGVFbmFibGVkIjsKK3N0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBXZWJLaXRD
YXB0aXZlUG9ydGFsTW9kZUlnbm9yZWROb3RpZmljYXRpb24gPSAiV0tDYXB0aXZlUG9ydGFsTW9k
ZUlnbm9yZWQiOwogCiBzdGF0aWMgTlNTdHJpbmcgKiBjb25zdCBXZWJLaXRTdXBwcmVzc01lbW9y
eVByZXNzdXJlSGFuZGxlckRlZmF1bHRzS2V5ID0gQCJXZWJLaXRTdXBwcmVzc01lbW9yeVByZXNz
dXJlSGFuZGxlciI7CiAKQEAgLTk0NSw3ICs5NDgsMTggQEAgc3RhdGljIGJvb2wgaXNDYXB0aXZl
UG9ydGFsTW9kZUVuYWJsZWRCeVN5c3RlbUlnbm9yaW5nQ2FjaGluZygpCiAgICAgaWYgKGF1dG8m
IGVuYWJsZWRGb3JUZXN0aW5nID0gaXNDYXB0aXZlUG9ydGFsTW9kZUVuYWJsZWRHbG9iYWxseUZv
clRlc3RpbmcoKSkKICAgICAgICAgcmV0dXJuICplbmFibGVkRm9yVGVzdGluZzsKIAotICAgIHJl
dHVybiBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSBib29sRm9yS2V5OltO
U1N0cmluZyBzdHJpbmdXaXRoVVRGOFN0cmluZzpXZWJLaXRDYXB0aXZlUG9ydGFsTW9kZUNoYW5n
ZWROb3RpZmljYXRpb25dXTsKKyAgICBpZiAoW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJE
ZWZhdWx0c10gYm9vbEZvcktleTpbTlNTdHJpbmcgc3RyaW5nV2l0aFVURjhTdHJpbmc6V2ViS2l0
Q2FwdGl2ZVBvcnRhbE1vZGVDaGFuZ2VkTm90aWZpY2F0aW9uX0xlZ2FjeV1dKQorICAgICAgICBy
ZXR1cm4gdHJ1ZTsKKworICAgIENGQm9vbGVhblJlZiBzeXN0ZW1WYWx1ZSA9IGR5bmFtaWNfY2Zf
Y2FzdDxDRkJvb2xlYW5SZWY+KENGUHJlZmVyZW5jZXNDb3B5VmFsdWUoQ0ZTdHJpbmdDcmVhdGVX
aXRoQ1N0cmluZyhrQ0ZBbGxvY2F0b3JEZWZhdWx0LCBXZWJLaXRDYXB0aXZlUG9ydGFsTW9kZUNo
YW5nZWROb3RpZmljYXRpb24sIGtDRlN0cmluZ0VuY29kaW5nVVRGOCksIGtDRlByZWZlcmVuY2Vz
QW55QXBwbGljYXRpb24sIGtDRlByZWZlcmVuY2VzQW55VXNlciwga0NGUHJlZmVyZW5jZXNDdXJy
ZW50SG9zdCkpOworICAgIGlmICghc3lzdGVtVmFsdWUgfHwgIUNGQm9vbGVhbkdldFZhbHVlKHN5
c3RlbVZhbHVlKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgQ0ZCb29sZWFuUmVmIGNv
bmZpZ0lnbm9yZVZhbHVlID0gZHluYW1pY19jZl9jYXN0PENGQm9vbGVhblJlZj4oQ0ZQcmVmZXJl
bmNlc0NvcHlWYWx1ZShDRlN0cmluZ0NyZWF0ZVdpdGhDU3RyaW5nKGtDRkFsbG9jYXRvckRlZmF1
bHQsIFdlYktpdENhcHRpdmVQb3J0YWxNb2RlSWdub3JlZE5vdGlmaWNhdGlvbiwga0NGU3RyaW5n
RW5jb2RpbmdVVEY4KSwgQ0ZTVFIoImNvbS5hcHBsZS5XZWJLaXQuY3BtY29uZmlnIiksIGtDRlBy
ZWZlcmVuY2VzQ3VycmVudFVzZXIsIGtDRlByZWZlcmVuY2VzQW55SG9zdCkpOworICAgIGlmIChj
b25maWdJZ25vcmVWYWx1ZSAmJiBDRkJvb2xlYW5HZXRWYWx1ZShjb25maWdJZ25vcmVWYWx1ZSkp
CisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIHJldHVybiB0cnVlOwogfQogCiB2b2lkIFdl
YlByb2Nlc3NQb29sOjpjYXB0aXZlUG9ydGFsTW9kZVN0YXRlQ2hhbmdlZCgpCkBAIC0xMDc4LDcg
KzEwOTIsNyBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjpub3RpZnlQcmVmZXJlbmNlc0NoYW5nZWQo
Y29uc3QgU3RyaW5nJiBkb21haW4sIGNvbnN0IFN0cmluZwogICAgICAgICB3ZWJBdXRoblByb2Nl
c3MtPnNlbmQoTWVzc2FnZXM6OldlYkF1dGhuUHJvY2Vzczo6Tm90aWZ5UHJlZmVyZW5jZXNDaGFu
Z2VkKGRvbWFpbiwga2V5LCBlbmNvZGVkVmFsdWUpLCAwKTsKICNlbmRpZgogCi0gICAgaWYgKGtl
eSA9PSBXZWJLaXRDYXB0aXZlUG9ydGFsTW9kZUNoYW5nZWROb3RpZmljYXRpb24pCisgICAgaWYg
KGtleSA9PSBXZWJLaXRDYXB0aXZlUG9ydGFsTW9kZUNoYW5nZWROb3RpZmljYXRpb24gfHwga2V5
ID09IFdlYktpdENhcHRpdmVQb3J0YWxNb2RlSWdub3JlZE5vdGlmaWNhdGlvbiB8fCBrZXkgPT0g
V2ViS2l0Q2FwdGl2ZVBvcnRhbE1vZGVDaGFuZ2VkTm90aWZpY2F0aW9uX0xlZ2FjeSkKICAgICAg
ICAgY2FwdGl2ZVBvcnRhbE1vZGVTdGF0ZUNoYW5nZWQoKTsKIH0KICNlbmRpZiAvLyBFTkFCTEUo
Q0ZQUkVGU19ESVJFQ1RfTU9ERSkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>451410</attachid>
            <date>2022-02-09 11:08:55 -0800</date>
            <delta_ts>2022-02-10 10:51:27 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-236135-20220209110854.patch</filename>
            <type>text/plain</type>
            <size>20252</size>
            <attacher name="Gavin">gavin.p</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg5MjIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDg0ZjNjY2NkYThiYjgzMTE2
MTRmZGIxYzk4MmZmYmI1MjQxYjYyNWIuLmE3Nzc1ZmVmYjdjNTkyNDVkM2ZiY2Q1YTI2ZmYzY2Uw
Zjg5MDIxNzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzEgQEAKKzIwMjItMDItMDkgIEdhdmluIFBo
aWxsaXBzICA8Z2F2aW4ucEBhcHBsZS5jb20+CisKKyAgICAgICAgVXBkYXRlIHByZWZlcmVuY2Ug
bG9jYXRpb24gdXNlZCBmb3IgQ2FwdGl2ZVBvcnRhbE1vZGUuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzYxMzUKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzg4NDg2NTQ0PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogUGxhdGZvcm1NYWMuY21ha2U6CisgICAgICAgICogU291cmNlc0NvY29hLnR4dDoK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvbWFjL1dLQ2FwdGl2ZVBvcnRhbE1vZGVQcml2YXRl
TWFjLmg6IEFkZGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9tYWMvV0tDYXB0aXZlUG9y
dGFsTW9kZVByaXZhdGVNYWMubW06IEFkZGVkLgorICAgICAgICAoV0tDYXB0aXZlUG9ydGFsTW9k
ZUdldEVuYWJsZWRHbG9iYWxseSk6CisgICAgICAgIChXS0NhcHRpdmVQb3J0YWxNb2RlU2V0RW5h
YmxlZEdsb2JhbGx5KToKKyAgICAgICAgKFdLQ2FwdGl2ZVBvcnRhbE1vZGVHZXRJZ25vcmVkRm9y
Q29udGFpbmVyKToKKyAgICAgICAgKFdLQ2FwdGl2ZVBvcnRhbE1vZGVTZXRJZ25vcmVkRm9yQ29u
dGFpbmVyKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvUHJlZmVyZW5jZU9ic2VydmVyLm1t
OgorICAgICAgICAoLVtXS1VzZXJEZWZhdWx0cyBmaW5kUHJlZmVyZW5jZUNoYW5nZXNBbmROb3Rp
ZnlGb3JLZXlzOnRvVmFsdWVzRm9yS2V5czpdKToKKyAgICAgICAgKC1bV0tQcmVmZXJlbmNlT2Jz
ZXJ2ZXIgaW5pdF0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2Nv
YS5tbToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbToK
KyAgICAgICAgKFdlYktpdDo6aXNDYXB0aXZlUG9ydGFsTW9kZUVuYWJsZWRCeVN5c3RlbUlnbm9y
aW5nQ2FjaGluZyk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpub3RpZnlQcmVm
ZXJlbmNlc0NoYW5nZWQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvRGlzcGxheUNhcHR1cmVT
ZXNzaW9uTWFuYWdlci5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvRGlzcGxheUNhcHR1cmVT
ZXNzaW9uTWFuYWdlci5tbToKKyAgICAgICAgKFdlYktpdDo6RGlzcGxheUNhcHR1cmVTZXNzaW9u
TWFuYWdlcjo6cHJvbXB0Rm9yR2V0RGlzcGxheU1lZGlhKToKKyAgICAgICAgKiBXZWJLaXQueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgCiAyMDIyLTAyLTA3ICBDYXJsb3MgR2Fy
Y2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBbV2ViRHJpdmVyXSBB
ZGQgc3VwcG9ydCBmb3Igc2hhZG93IHJvb3RzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1Bs
YXRmb3JtTWFjLmNtYWtlIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybU1hYy5jbWFrZQppbmRleCBl
Mjk2NmQ1MTNiYjU4MzlkZjEyYjMyMmFmMmVlYjA1NGViNGQ2NjU1Li5lNGY4NGQyYjVjYjgzYzRi
YzExNDU5NGMyNmRiMTYyMzk3NTJlZDlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRm
b3JtTWFjLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm1NYWMuY21ha2UKQEAgLTMw
MCw2ICszMDAsNyBAQCBsaXN0KEFQUEVORCBXZWJLaXRfUFVCTElDX0ZSQU1FV09SS19IRUFERVJT
CiAgICAgU2hhcmVkL0FQSS9jL21hYy9XS1dlYkFyY2hpdmVSZWYuaAogICAgIFNoYXJlZC9BUEkv
Yy9tYWMvV0tXZWJBcmNoaXZlUmVzb3VyY2UuaAogCisgICAgVUlQcm9jZXNzL0FQSS9DL21hYy9X
S0NhcHRpdmVQb3J0YWxNb2RlUHJpdmF0ZU1hYy5oCiAgICAgVUlQcm9jZXNzL0FQSS9DL21hYy9X
S0NvbnRleHRQcml2YXRlTWFjLmgKICAgICBVSVByb2Nlc3MvQVBJL0MvbWFjL1dLSW5zcGVjdG9y
UHJpdmF0ZU1hYy5oCiAgICAgVUlQcm9jZXNzL0FQSS9DL21hYy9XS1BhZ2VQcml2YXRlTWFjLmgK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dCBiL1NvdXJjZS9XZWJL
aXQvU291cmNlc0NvY29hLnR4dAppbmRleCAzYTcyNTk2YTRkN2E1Y2FiNDU2NjI3NzEzNjU2NGJh
MDE1YjE5NmNkLi5kNjFlM2M1MTVhNDZkNjVlODE1MmU0NTAwNjFlZDg1MDJkMTY2MTczIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQKKysrIGIvU291cmNlL1dlYktp
dC9Tb3VyY2VzQ29jb2EudHh0CkBAIC0yNjMsNiArMjYzLDcgQEAgVUlQcm9jZXNzL0FQSS9DL1dL
VXNlclNjcmlwdFJlZi5jcHAKIAogVUlQcm9jZXNzL0FQSS9DL2NnL1dLSWNvbkRhdGFiYXNlQ0cu
Y3BwCiAKK1VJUHJvY2Vzcy9BUEkvQy9tYWMvV0tDYXB0aXZlUG9ydGFsTW9kZVByaXZhdGVNYWMu
bW0KIFVJUHJvY2Vzcy9BUEkvQy9tYWMvV0tDb250ZXh0UHJpdmF0ZU1hYy5tbQogVUlQcm9jZXNz
L0FQSS9DL21hYy9XS1BhZ2VQcml2YXRlTWFjLm1tCiBVSVByb2Nlc3MvQVBJL0MvbWFjL1dLUHJv
dGVjdGlvblNwYWNlTlMubW0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9DL21hYy9XS0NhcHRpdmVQb3J0YWxNb2RlUHJpdmF0ZU1hYy5oIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0MvbWFjL1dLQ2FwdGl2ZVBvcnRhbE1vZGVQcml2YXRlTWFjLmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZDEzN2FiNDAxNjc4MDFhZTg1NGYyNDk2Mjk0YmU3ZTgxNzEwNTgyNQotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL21hYy9XS0NhcHRpdmVQb3J0
YWxNb2RlUHJpdmF0ZU1hYy5oCkBAIC0wLDAgKzEsNDUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMjIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVm
IFdLQ2FwdGl2ZVBvcnRhbE1vZGVfaAorI2RlZmluZSBXS0NhcHRpdmVQb3J0YWxNb2RlX2gKKwor
I2ltcG9ydCA8V2ViS2l0L1dLRm91bmRhdGlvbi5oPgorCisjaWZkZWYgX19jcGx1c3BsdXMKK2V4
dGVybiAiQyIgeworI2VuZGlmCisKK1dLX0VYUE9SVCBib29sIFdLQ2FwdGl2ZVBvcnRhbE1vZGVH
ZXRFbmFibGVkR2xvYmFsbHkodm9pZCk7CitXS19FWFBPUlQgYm9vbCBXS0NhcHRpdmVQb3J0YWxN
b2RlU2V0RW5hYmxlZEdsb2JhbGx5KGJvb2wgZW5hYmxlZCk7CisKK1dLX0VYUE9SVCBib29sIFdL
Q2FwdGl2ZVBvcnRhbE1vZGVHZXRJZ25vcmVkRm9yQ29udGFpbmVyKE5TU3RyaW5nKiBjb250YWlu
ZXJQYXRoKTsKK1dLX0VYUE9SVCBib29sIFdLQ2FwdGl2ZVBvcnRhbE1vZGVTZXRJZ25vcmVkRm9y
Q29udGFpbmVyKE5TU3RyaW5nKiBjb250YWluZXJQYXRoLCBib29sIGlnbm9yZWQpOworCisjaWZk
ZWYgX19jcGx1c3BsdXMKK30KKyNlbmRpZgorCisjZW5kaWYgLyogV0tDYXB0aXZlUG9ydGFsTW9k
ZV9oICovCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9tYWMvV0tD
YXB0aXZlUG9ydGFsTW9kZVByaXZhdGVNYWMubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQy9tYWMvV0tDYXB0aXZlUG9ydGFsTW9kZVByaXZhdGVNYWMubW0KbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDY3
NTBmZjQzNTAyZDRhOTlkMGRjZDY1NjkwMGIwN2FlOGE1NzYwYgotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL21hYy9XS0NhcHRpdmVQb3J0YWxNb2RlUHJp
dmF0ZU1hYy5tbQpAQCAtMCwwICsxLDcyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIyIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9ydCAiY29uZmln
LmgiCisjaW1wb3J0ICJXS0NhcHRpdmVQb3J0YWxNb2RlUHJpdmF0ZU1hYy5oIgorCisjaW1wb3J0
IDx3dGYvUmV0YWluUHRyLmg+CisKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorI2ltcG9y
dCA8Q29yZUZvdW5kYXRpb24vQ0ZQcmVmZXJlbmNlc19Qcml2YXRlLmg+CisjZW5kaWYKKworYm9v
bCBXS0NhcHRpdmVQb3J0YWxNb2RlR2V0RW5hYmxlZEdsb2JhbGx5KCkKK3sKKyNpZiBVU0UoQVBQ
TEVfSU5URVJOQUxfU0RLKQorICAgIGF1dG8gcHJlZl92YWwgPSBhZG9wdENGKENGUHJlZmVyZW5j
ZXNDb3B5VmFsdWUoQ0ZTVFIoIldLQ2FwdGl2ZVBvcnRhbE1vZGVFbmFibGVkIiksIGtDRlByZWZl
cmVuY2VzQW55QXBwbGljYXRpb24sIGtDRlByZWZlcmVuY2VzQW55VXNlciwga0NGUHJlZmVyZW5j
ZXNDdXJyZW50SG9zdCkpOworICAgIHJldHVybiBwcmVmX3ZhbC5nZXQoKSA9PSBrQ0ZCb29sZWFu
VHJ1ZTsKKyNlbHNlCisgICAgcmV0dXJuIGZhbHNlCisjZW5kaWYKK30KKworYm9vbCBXS0NhcHRp
dmVQb3J0YWxNb2RlU2V0RW5hYmxlZEdsb2JhbGx5KGJvb2wgZW5hYmxlZCkKK3sKKyNpZiBVU0Uo
QVBQTEVfSU5URVJOQUxfU0RLKQorICAgIENGUHJlZmVyZW5jZXNTZXRWYWx1ZShDRlNUUigiV0tD
YXB0aXZlUG9ydGFsTW9kZUVuYWJsZWQiKSwgZW5hYmxlZCA/IGtDRkJvb2xlYW5UcnVlIDoga0NG
Qm9vbGVhbkZhbHNlLCBrQ0ZQcmVmZXJlbmNlc0FueUFwcGxpY2F0aW9uLCBrQ0ZQcmVmZXJlbmNl
c0FueVVzZXIsIGtDRlByZWZlcmVuY2VzQ3VycmVudEhvc3QpOworICAgIHJldHVybiBDRlByZWZl
cmVuY2VzU3luY2hyb25pemUoa0NGUHJlZmVyZW5jZXNBbnlBcHBsaWNhdGlvbiwga0NGUHJlZmVy
ZW5jZXNBbnlVc2VyLCBrQ0ZQcmVmZXJlbmNlc0FueUhvc3QpOworI2Vsc2UKKyAgICByZXR1cm4g
ZmFsc2UKKyNlbmRpZgorfQorCitib29sIFdLQ2FwdGl2ZVBvcnRhbE1vZGVHZXRJZ25vcmVkRm9y
Q29udGFpbmVyKE5TU3RyaW5nKiBjb250YWluZXJQYXRoKQoreworI2lmIFVTRShBUFBMRV9JTlRF
Uk5BTF9TREspICYmIFBMQVRGT1JNKElPU19GQU1JTFkpCisgICAgcmV0dXJuIGFkb3B0Q0YoX0NG
UHJlZmVyZW5jZXNDb3B5VmFsdWVXaXRoQ29udGFpbmVyKENGU1RSKCJXS0NhcHRpdmVQb3J0YWxN
b2RlSWdub3JlZCIpLCBDRlNUUigiY29tLmFwcGxlLldlYktpdC5jcG1jb25maWciKSwgQ0ZTVFIo
Im1vYmlsZSIpLCBrQ0ZQcmVmZXJlbmNlc0FueUhvc3QsIChfX2JyaWRnZSBDRlN0cmluZ1JlZilj
b250YWluZXJQYXRoKSkuZ2V0KCkgPT0ga0NGQm9vbGVhblRydWU7CisjZWxzZQorICAgIHJldHVy
biBmYWxzZQorI2VuZGlmCit9CisKK2Jvb2wgV0tDYXB0aXZlUG9ydGFsTW9kZVNldElnbm9yZWRG
b3JDb250YWluZXIoTlNTdHJpbmcqIGNvbnRhaW5lclBhdGgsIGJvb2wgaWdub3JlZCkKK3sKKyNp
ZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKSAmJiBQTEFURk9STShJT1NfRkFNSUxZKQorICAgIF9D
RlByZWZlcmVuY2VzU2V0VmFsdWVXaXRoQ29udGFpbmVyKENGU1RSKCJXS0NhcHRpdmVQb3J0YWxN
b2RlSWdub3JlZCIpLCBpZ25vcmVkID8ga0NGQm9vbGVhblRydWUgOiBrQ0ZCb29sZWFuRmFsc2Us
IENGU1RSKCJjb20uYXBwbGUuV2ViS2l0LmNwbWNvbmZpZyIpLCBDRlNUUigibW9iaWxlIiksIGtD
RlByZWZlcmVuY2VzQW55SG9zdCwgKF9fYnJpZGdlIENGU3RyaW5nUmVmKWNvbnRhaW5lclBhdGgp
OworICAgIHJldHVybiBDRlByZWZlcmVuY2VzU3luY2hyb25pemUoQ0ZTVFIoImNvbS5hcHBsZS5X
ZWJLaXQuY3BtY29uZmlnIiksIENGU1RSKCJtb2JpbGUiKSwga0NGUHJlZmVyZW5jZXNBbnlIb3N0
KTsKKyNlbHNlCisgICAgcmV0dXJuIGZhbHNlCisjZW5kaWYKK30KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1ByZWZlcmVuY2VPYnNlcnZlci5tbSBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0NvY29hL1ByZWZlcmVuY2VPYnNlcnZlci5tbQppbmRleCAzNGJmYTc5
MjVkNWQ0NGUwZTllODEyMDI0NzllNzc1ODE1ZWFjNmJjLi4zZjQyMDM4ZTg0NmFiNzNmMzliZGJl
MWU3YzVhY2FmZDZmNTUwYTBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9D
b2NvYS9QcmVmZXJlbmNlT2JzZXJ2ZXIubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
Q29jb2EvUHJlZmVyZW5jZU9ic2VydmVyLm1tCkBAIC03MSw2ICs3MSw3IEBACiAgICAgICAgICAg
ICBlbmNvZGVkU3RyaW5nID0gW2RhdGEgYmFzZTY0RW5jb2RlZFN0cmluZ1dpdGhPcHRpb25zOjBd
OwogICAgICAgICB9CiAKKyAgICAgICAgYXV0byBzeXN0ZW1WYWx1ZSA9IGFkb3B0Q0YoQ0ZQcmVm
ZXJlbmNlc0NvcHlWYWx1ZSgoX19icmlkZ2UgQ0ZTdHJpbmdSZWYpa2V5LCBrQ0ZQcmVmZXJlbmNl
c0FueUFwcGxpY2F0aW9uLCBrQ0ZQcmVmZXJlbmNlc0FueVVzZXIsIGtDRlByZWZlcmVuY2VzQW55
SG9zdCkpOwogICAgICAgICBhdXRvIGdsb2JhbFZhbHVlID0gYWRvcHRDRihDRlByZWZlcmVuY2Vz
Q29weVZhbHVlKChfX2JyaWRnZSBDRlN0cmluZ1JlZilrZXksIGtDRlByZWZlcmVuY2VzQW55QXBw
bGljYXRpb24sIGtDRlByZWZlcmVuY2VzQ3VycmVudFVzZXIsIGtDRlByZWZlcmVuY2VzQW55SG9z
dCkpOwogICAgICAgICBhdXRvIGRvbWFpblZhbHVlID0gYWRvcHRDRihDRlByZWZlcmVuY2VzQ29w
eVZhbHVlKChfX2JyaWRnZSBDRlN0cmluZ1JlZilrZXksIChfX2JyaWRnZSBDRlN0cmluZ1JlZilt
X3N1aXRlTmFtZS5nZXQoKSwga0NGUHJlZmVyZW5jZXNDdXJyZW50VXNlciwga0NGUHJlZmVyZW5j
ZXNBbnlIb3N0KSk7CiAKQEAgLTc4LDcgKzc5LDcgQEAKICAgICAgICAgICAgIHJldHVybiBhID09
IGIgfHwgW2EgaXNFcXVhbDpiXTsKICAgICAgICAgfTsKIAotICAgICAgICBpZiAocHJlZmVyZW5j
ZVZhbHVlc0FyZUVxdWFsKChfX2JyaWRnZSBpZClnbG9iYWxWYWx1ZS5nZXQoKSwgbmV3VmFsdWUp
KQorICAgICAgICBpZiAocHJlZmVyZW5jZVZhbHVlc0FyZUVxdWFsKChfX2JyaWRnZSBpZClzeXN0
ZW1WYWx1ZS5nZXQoKSwgbmV3VmFsdWUpIHx8IHByZWZlcmVuY2VWYWx1ZXNBcmVFcXVhbCgoX19i
cmlkZ2UgaWQpZ2xvYmFsVmFsdWUuZ2V0KCksIG5ld1ZhbHVlKSkKICAgICAgICAgICAgIFttX29i
c2VydmVyIHByZWZlcmVuY2VEaWRDaGFuZ2U6bmlsIGtleTprZXkgZW5jb2RlZFZhbHVlOmVuY29k
ZWRTdHJpbmddOwogCiAgICAgICAgIGlmIChwcmVmZXJlbmNlVmFsdWVzQXJlRXF1YWwoKF9fYnJp
ZGdlIGlkKWRvbWFpblZhbHVlLmdldCgpLCBuZXdWYWx1ZSkpCkBAIC0xNDEsNiArMTQyLDcgQEAK
ICAgICAgICAgQCJjb20uYXBwbGUubWVkaWFyZW1vdGUiLAogICAgICAgICBAImNvbS5hcHBsZS5w
cmVmZXJlbmNlcy5zb3VuZHMiLAogICAgICAgICBAImNvbS5hcHBsZS52b2ljZXNlcnZpY2VzIiwK
KyAgICAgICAgQCJjb20uYXBwbGUuV2ViS2l0LmNwbWNvbmZpZyIsCiAjZWxzZQogICAgICAgICBA
ImNvbS5hcHBsZS5DRk5ldHdvcmsiLAogICAgICAgICBAImNvbS5hcHBsZS5Db3JlR3JhcGhpY3Mi
LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5
Q29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2Nv
YS5tbQppbmRleCA2YTk1OGE4ZTEwNzcxODFmOTgwY2VhZjg5NWEwYWYyYTczMDJiOWZiLi5iOWZm
NDMxMWMwOTk2NzAxMTNlN2ZmMjhhOTllZjcyNjY5NWY0NTQxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbQpAQCAtMzcsNiArMzcs
NyBAQAogI2ltcG9ydCAiTG9hZFBhcmFtZXRlcnMuaCIKICNpbXBvcnQgIk1vZGFsQ29udGFpbmVy
Q29udHJvbENsYXNzaWZpZXIuaCIKICNpbXBvcnQgIlBhZ2VDbGllbnQuaCIKKyNpbXBvcnQgIlBs
YXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eS5oIgogI2ltcG9ydCAiUXVhcmFudGluZVNQSS5oIgog
I2ltcG9ydCAiUXVpY2tMb29rVGh1bWJuYWlsTG9hZGVyLmgiCiAjaW1wb3J0ICJTYWZlQnJvd3Np
bmdTUEkuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBy
b2Nlc3NQb29sQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9j
ZXNzUG9vbENvY29hLm1tCmluZGV4IGM3ODY1NjkxNGE2NjQwZWQyZjJjOTkzZmI2YWZmYTNkMGNi
ZDZkMGQuLjJjYzRkNWZjOGE5NzVkNTc1YWY1YWFkOTk4NmExZjc0N2FjODZiZjEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0K
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5t
bQpAQCAtNzAsNiArNzAsNyBAQAogI2ltcG9ydCA8d3RmL0ZpbGVTeXN0ZW0uaD4KICNpbXBvcnQg
PHd0Zi9Qcm9jZXNzUHJpdmlsZWdlLmg+CiAjaW1wb3J0IDx3dGYvU29mdExpbmtpbmcuaD4KKyNp
bXBvcnQgPHd0Zi9jZi9UeXBlQ2FzdHNDRi5oPgogI2ltcG9ydCA8d3RmL2NvY29hL0VudGl0bGVt
ZW50cy5oPgogI2ltcG9ydCA8d3RmL2NvY29hL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29h
Lmg+CiAjaW1wb3J0IDx3dGYvY29jb2EvVHlwZUNhc3RzQ29jb2EuaD4KQEAgLTEyOCw3ICsxMjks
OSBAQCBOU1N0cmluZyAqV2ViS2l0SlNDRlRMSklURW5hYmxlZERlZmF1bHRzS2V5ID0gQCJXZWJL
aXRKU0NGVExKSVRFbmFibGVkRGVmYXVsdHNLZQogc3RhdGljIE5TU3RyaW5nICpXZWJLaXRBcHBs
aWNhdGlvbkRpZENoYW5nZUFjY2Vzc2liaWxpdHlFbmhhbmNlZFVzZXJJbnRlcmZhY2VOb3RpZmlj
YXRpb24gPSBAIk5TQXBwbGljYXRpb25EaWRDaGFuZ2VBY2Nlc3NpYmlsaXR5RW5oYW5jZWRVc2Vy
SW50ZXJmYWNlTm90aWZpY2F0aW9uIjsKIHN0YXRpYyBDRlN0cmluZ1JlZiBBcHBsZUNvbG9yUHJl
ZmVyZW5jZXNDaGFuZ2VkTm90aWZpY2F0aW9uID0gQ0ZTVFIoIkFwcGxlQ29sb3JQcmVmZXJlbmNl
c0NoYW5nZWROb3RpZmljYXRpb24iKTsKICNlbmRpZgotc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0
IFdlYktpdENhcHRpdmVQb3J0YWxNb2RlQ2hhbmdlZE5vdGlmaWNhdGlvbiA9ICJXZWJLaXRDYXB0
aXZlUG9ydGFsTW9kZUVuYWJsZWQiOworY29uc3RleHByIGF1dG8gV2ViS2l0Q2FwdGl2ZVBvcnRh
bE1vZGVDaGFuZ2VkTm90aWZpY2F0aW9uX0xlZ2FjeSA9ICJXZWJLaXRDYXB0aXZlUG9ydGFsTW9k
ZUVuYWJsZWQiOworY29uc3RleHByIGF1dG8gV2ViS2l0Q2FwdGl2ZVBvcnRhbE1vZGVDaGFuZ2Vk
Tm90aWZpY2F0aW9uID0gIldLQ2FwdGl2ZVBvcnRhbE1vZGVFbmFibGVkIjsKK2NvbnN0ZXhwciBh
dXRvIFdlYktpdENhcHRpdmVQb3J0YWxNb2RlSWdub3JlZE5vdGlmaWNhdGlvbiA9ICJXS0NhcHRp
dmVQb3J0YWxNb2RlSWdub3JlZCI7CiAKIHN0YXRpYyBOU1N0cmluZyAqIGNvbnN0IFdlYktpdFN1
cHByZXNzTWVtb3J5UHJlc3N1cmVIYW5kbGVyRGVmYXVsdHNLZXkgPSBAIldlYktpdFN1cHByZXNz
TWVtb3J5UHJlc3N1cmVIYW5kbGVyIjsKIApAQCAtOTMwLDcgKzkzMywyMCBAQCBzdGF0aWMgYm9v
bCBpc0NhcHRpdmVQb3J0YWxNb2RlRW5hYmxlZEJ5U3lzdGVtSWdub3JpbmdDYWNoaW5nKCkKICAg
ICBpZiAoYXV0byYgZW5hYmxlZEZvclRlc3RpbmcgPSBpc0NhcHRpdmVQb3J0YWxNb2RlRW5hYmxl
ZEdsb2JhbGx5Rm9yVGVzdGluZygpKQogICAgICAgICByZXR1cm4gKmVuYWJsZWRGb3JUZXN0aW5n
OwogCi0gICAgcmV0dXJuIFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIGJv
b2xGb3JLZXk6W05TU3RyaW5nIHN0cmluZ1dpdGhVVEY4U3RyaW5nOldlYktpdENhcHRpdmVQb3J0
YWxNb2RlQ2hhbmdlZE5vdGlmaWNhdGlvbl1dOworICAgIGlmIChbW05TVXNlckRlZmF1bHRzIHN0
YW5kYXJkVXNlckRlZmF1bHRzXSBib29sRm9yS2V5OltOU1N0cmluZyBzdHJpbmdXaXRoVVRGOFN0
cmluZzpXZWJLaXRDYXB0aXZlUG9ydGFsTW9kZUNoYW5nZWROb3RpZmljYXRpb25fTGVnYWN5XV0p
CisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgYXV0byBtb2RlQ2hhbmdlZE5vdGlmaWNhdGlv
bk5hbWUgPSBhZG9wdENGKENGU3RyaW5nQ3JlYXRlV2l0aENTdHJpbmcoa0NGQWxsb2NhdG9yRGVm
YXVsdCwgV2ViS2l0Q2FwdGl2ZVBvcnRhbE1vZGVDaGFuZ2VkTm90aWZpY2F0aW9uLCBrQ0ZTdHJp
bmdFbmNvZGluZ1VURjgpKTsKKyAgICBpZiAoYWRvcHRDRihDRlByZWZlcmVuY2VzQ29weVZhbHVl
KG1vZGVDaGFuZ2VkTm90aWZpY2F0aW9uTmFtZS5nZXQoKSwga0NGUHJlZmVyZW5jZXNBbnlBcHBs
aWNhdGlvbiwga0NGUHJlZmVyZW5jZXNBbnlVc2VyLCBrQ0ZQcmVmZXJlbmNlc0N1cnJlbnRIb3N0
KSkuZ2V0KCkgIT0ga0NGQm9vbGVhblRydWUpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworI2lm
IFBMQVRGT1JNKElPU19GQU1JTFkpCisgICAgYXV0byBpZ25vcmVkQ2hhbmdlZE5vdGlmaWNhdGlv
bk5hbWUgPSBhZG9wdENGKENGU3RyaW5nQ3JlYXRlV2l0aENTdHJpbmcoa0NGQWxsb2NhdG9yRGVm
YXVsdCwgV2ViS2l0Q2FwdGl2ZVBvcnRhbE1vZGVJZ25vcmVkTm90aWZpY2F0aW9uLCBrQ0ZTdHJp
bmdFbmNvZGluZ1VURjgpKTsKKyAgICBpZiAoYWRvcHRDRihDRlByZWZlcmVuY2VzQ29weVZhbHVl
KENGU1RSKCJXS0NhcHRpdmVQb3J0YWxNb2RlSWdub3JlZCIpLCBDRlNUUigiY29tLmFwcGxlLldl
YktpdC5jcG1jb25maWciKSwga0NGUHJlZmVyZW5jZXNDdXJyZW50VXNlciwga0NGUHJlZmVyZW5j
ZXNBbnlIb3N0KSkuZ2V0KCkgPT0ga0NGQm9vbGVhblRydWUpCisgICAgICAgIHJldHVybiBmYWxz
ZTsKKyNlbmRpZgorICAgIAorICAgIHJldHVybiB0cnVlOwogfQogCiB2b2lkIFdlYlByb2Nlc3NQ
b29sOjpjYXB0aXZlUG9ydGFsTW9kZVN0YXRlQ2hhbmdlZCgpCkBAIC0xMDYzLDcgKzEwNzksNyBA
QCB2b2lkIFdlYlByb2Nlc3NQb29sOjpub3RpZnlQcmVmZXJlbmNlc0NoYW5nZWQoY29uc3QgU3Ry
aW5nJiBkb21haW4sIGNvbnN0IFN0cmluZwogICAgICAgICB3ZWJBdXRoblByb2Nlc3MtPnNlbmQo
TWVzc2FnZXM6OldlYkF1dGhuUHJvY2Vzczo6Tm90aWZ5UHJlZmVyZW5jZXNDaGFuZ2VkKGRvbWFp
biwga2V5LCBlbmNvZGVkVmFsdWUpLCAwKTsKICNlbmRpZgogCi0gICAgaWYgKGtleSA9PSBXZWJL
aXRDYXB0aXZlUG9ydGFsTW9kZUNoYW5nZWROb3RpZmljYXRpb24pCisgICAgaWYgKGtleSA9PSBX
ZWJLaXRDYXB0aXZlUG9ydGFsTW9kZUNoYW5nZWROb3RpZmljYXRpb24gfHwga2V5ID09IFdlYktp
dENhcHRpdmVQb3J0YWxNb2RlSWdub3JlZE5vdGlmaWNhdGlvbiB8fCBrZXkgPT0gV2ViS2l0Q2Fw
dGl2ZVBvcnRhbE1vZGVDaGFuZ2VkTm90aWZpY2F0aW9uX0xlZ2FjeSkKICAgICAgICAgY2FwdGl2
ZVBvcnRhbE1vZGVTdGF0ZUNoYW5nZWQoKTsKIH0KICNlbmRpZiAvLyBFTkFCTEUoQ0ZQUkVGU19E
SVJFQ1RfTU9ERSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9EaXNw
bGF5Q2FwdHVyZVNlc3Npb25NYW5hZ2VyLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMv
RGlzcGxheUNhcHR1cmVTZXNzaW9uTWFuYWdlci5oCmluZGV4IDYwZDkzYjNjNmExMjhmYjZkMThi
MzVlOWE5NzY2ZjdlOWFlMzAxMGUuLjU1OGMyOGIzYzM4MjllN2FlZWRmNDdlNzU5NDI1MzhlMDdi
MjJlYWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9EaXNwbGF5Q2Fw
dHVyZVNlc3Npb25NYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL0Rp
c3BsYXlDYXB0dXJlU2Vzc2lvbk1hbmFnZXIuaApAQCAtMjgsNiArMjgsOCBAQAogI2lmIFBMQVRG
T1JNKENPQ09BKSAmJiBFTkFCTEUoTUVESUFfU1RSRUFNKQogCiAjaW5jbHVkZSAiVXNlck1lZGlh
UGVybWlzc2lvblJlcXVlc3RQcm94eS5oIgorI2luY2x1ZGUgIldlYlBhZ2VQcm94eS5oIgorI2lu
Y2x1ZGUgPFdlYkNvcmUvQ2FwdHVyZURldmljZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvU2VjdXJp
dHlPcmlnaW5EYXRhLmg+CiAjaW5jbHVkZSA8d3RmL0NvbXBsZXRpb25IYW5kbGVyLmg+CiAjaW5j
bHVkZSA8d3RmL1dlYWtQdHIuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L21hYy9EaXNwbGF5Q2FwdHVyZVNlc3Npb25NYW5hZ2VyLm1tIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvbWFjL0Rpc3BsYXlDYXB0dXJlU2Vzc2lvbk1hbmFnZXIubW0KaW5kZXggNzk5ZjZmMTNh
MjQyOWYwZDc5NjYyNzIxODBjYzY0YzMwNmEyMzJlYy4uODkzZWUyMDUzNGNkNDY2NmRmODBhMGIx
MDFmOWFhODVkMjI3YWRmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFj
L0Rpc3BsYXlDYXB0dXJlU2Vzc2lvbk1hbmFnZXIubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvbWFjL0Rpc3BsYXlDYXB0dXJlU2Vzc2lvbk1hbmFnZXIubW0KQEAgLTI1NCw3ICsyNTQs
NyBAQCBEaXNwbGF5Q2FwdHVyZVNlc3Npb25NYW5hZ2VyOjp+RGlzcGxheUNhcHR1cmVTZXNzaW9u
TWFuYWdlcigpCiB7CiB9CiAKLXZvaWQgRGlzcGxheUNhcHR1cmVTZXNzaW9uTWFuYWdlcjo6cHJv
bXB0Rm9yR2V0RGlzcGxheU1lZGlhKFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0UHJveHk6OlVz
ZXJNZWRpYURpc3BsYXlDYXB0dXJlUHJvbXB0VHlwZSBwcm9tcHRUeXBlLCBXZWJQYWdlUHJveHkm
IHBhZ2UsIGNvbnN0IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YSYgb3JpZ2luLCBDb21wbGV0
aW9uSGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9uYWw8Q2FwdHVyZURldmljZT4pPiYmIGNvbXBsZXRp
b25IYW5kbGVyKQordm9pZCBEaXNwbGF5Q2FwdHVyZVNlc3Npb25NYW5hZ2VyOjpwcm9tcHRGb3JH
ZXREaXNwbGF5TWVkaWEoVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RQcm94eTo6VXNlck1lZGlh
RGlzcGxheUNhcHR1cmVQcm9tcHRUeXBlIHByb21wdFR5cGUsIFdlYlBhZ2VQcm94eSYgcGFnZSwg
Y29uc3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhJiBvcmlnaW4sIENvbXBsZXRpb25IYW5k
bGVyPHZvaWQoc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpDYXB0dXJlRGV2aWNlPik+JiYgY29tcGxl
dGlvbkhhbmRsZXIpCiB7CiAgICAgQVNTRVJUKGlzQXZhaWxhYmxlKCkpOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNl
L1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAwYzdjMzFiYzU1
N2I1NWQ1MTcwNWZjMzlkN2U2NzljOTRjNmEwYWYzLi5iNzRiNjRjZWVkZjgwNWY3OTlkYTUwNWY3
OTBmOTVmMGRhMzU2NWVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKQEAgLTE0MDMsNiArMTQwMyw3IEBACiAJCTgzRjFBMDdBMUY5NkU3Nzkw
MDQ1Qjk0RSAvKiBXZWJTV09yaWdpblRhYmxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA4M0YxQTA3ODFGOTZFNzcxMDA0NUI5NEUgLyogV2ViU1dPcmln
aW5UYWJsZS5oICovOyB9OwogCQk4M0Y5NjQ0RTFGQTBGNzZFMDBDNDc3NTAgLyogU2hhcmVkU3Ry
aW5nSGFzaFRhYmxlUmVhZE9ubHkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDgzRjk2NDRDMUZBMEY3NjMwMEM0Nzc1MCAvKiBTaGFyZWRTdHJpbmdIYXNo
VGFibGVSZWFkT25seS5oICovOyB9OwogCQk4NDQ3Nzg1MzE3NkZDQzA4MDBDREM3QkIgLyogSW5q
ZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0TWVkaWFUeXBlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NDQ3Nzg1MTE3NkZDQUMxMDBDREM3QkIgLyogSW5q
ZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0TWVkaWFUeXBlLmggKi87IH07CisJCTg2RDFENEFDMjdC
M0U0Q0IwMDJFNUE4MiAvKiBXS0NhcHRpdmVQb3J0YWxNb2RlUHJpdmF0ZU1hYy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODZEMUQ0QUEyN0IzRTRDQjAw
MkU1QTgyIC8qIFdLQ2FwdGl2ZVBvcnRhbE1vZGVQcml2YXRlTWFjLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJODZFNjdBMjUxOTEwQjlEMTAwMDA0
QUI3IC8qIFByb2Nlc3NUaHJvdHRsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDg2RTY3QTIxMTkwRjQxMTgwMDAwNEFCNyAvKiBQcm9jZXNzVGhyb3R0
bGVyLmggKi87IH07CiAJCTg2Rjk1MzY1MThGRjU4RjUwMDFEQjJFRiAvKiBQcm9jZXNzQXNzZXJ0
aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NkY5
NTM2MDE4RkY0RkQ0MDAxREIyRUYgLyogUHJvY2Vzc0Fzc2VydGlvbi5oICovOyB9OwogCQk4REMy
RUY1MzA0ODZBNjk0MDA5OEIyMTYgLyogSW5mb1BsaXN0LnN0cmluZ3MgaW4gUmVzb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4OUMxNjY2RkU4NDExNThDMDJBQUMw
NyAvKiBJbmZvUGxpc3Quc3RyaW5ncyAqLzsgfTsKQEAgLTUyNTAsNiArNTI1MSw4IEBACiAJCTg0
NDc3ODUxMTc2RkNBQzEwMENEQzdCQiAvKiBJbmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHRNZWRp
YVR5cGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5qZWN0ZWRCdW5kbGVI
aXRUZXN0UmVzdWx0TWVkaWFUeXBlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg2
ODE2MENEMTg3NjNENEIwMDIxRTc5RCAvKiBXaW5kb3dTZXJ2ZXJDb25uZWN0aW9uLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFdpbmRvd1NlcnZlckNvbm5lY3Rpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJODY4MTYwQ0YxODc2NDUzNzAwMjFFNzlEIC8qIFdpbmRvd1NlcnZlckNvbm5lY3Rp
b24ubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXaW5kb3dTZXJ2ZXJDb25uZWN0aW9uLm1tOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NkQxRDRBQTI3QjNFNENCMDAyRTVBODIgLyog
V0tDYXB0aXZlUG9ydGFsTW9kZVByaXZhdGVNYWMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBuYW1lID0gV0tDYXB0aXZlUG9ydGFsTW9kZVByaXZhdGVNYWMuaDsgcGF0aCA9IG1hYy9XS0Nh
cHRpdmVQb3J0YWxNb2RlUHJpdmF0ZU1hYy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk4NkQxRDRBQjI3QjNFNENCMDAyRTVBODIgLyogV0tDYXB0aXZlUG9ydGFsTW9kZVByaXZhdGVN
YWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBXS0NhcHRpdmVQ
b3J0YWxNb2RlUHJpdmF0ZU1hYy5tbTsgcGF0aCA9IG1hYy9XS0NhcHRpdmVQb3J0YWxNb2RlUHJp
dmF0ZU1hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODZFNjdBMjExOTBGNDEx
ODAwMDA0QUI3IC8qIFByb2Nlc3NUaHJvdHRsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gUHJvY2Vzc1Rocm90dGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk4NkU2N0EyMjE5MEY0MTE4MDAwMDRBQjcgLyogUHJvY2Vzc1Rocm90dGxlci5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQcm9jZXNzVGhyb3R0bGVyLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODZGOTUzNjAxOEZGNEZENDAwMURCMkVGIC8qIFBy
b2Nlc3NBc3NlcnRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUHJvY2Vz
c0Fzc2VydGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTAxOTIsNiArMTAx
OTUsOCBAQAogCQk2RUU4NDlDNDEzNjhEOTA0MDAzOEQ0ODEgLyogbWFjICovID0gewogCQkJaXNh
ID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQk4NkQxRDRBQTI3QjNFNENCMDAyRTVB
ODIgLyogV0tDYXB0aXZlUG9ydGFsTW9kZVByaXZhdGVNYWMuaCAqLywKKwkJCQk4NkQxRDRBQjI3
QjNFNENCMDAyRTVBODIgLyogV0tDYXB0aXZlUG9ydGFsTW9kZVByaXZhdGVNYWMubW0gKi8sCiAJ
CQkJOUZCNUYzOTMxNjlFNkE4MDAwMkMyNUJGIC8qIFdLQ29udGV4dFByaXZhdGVNYWMuaCAqLywK
IAkJCQk5RkI1RjM5MjE2OUU2QTgwMDAyQzI1QkYgLyogV0tDb250ZXh0UHJpdmF0ZU1hYy5tbSAq
LywKIAkJCQk2RUU4NDlDNjEzNjhEOTJEMDAzOEQ0ODEgLyogV0tJbnNwZWN0b3JQcml2YXRlTWFj
LmggKi8sCkBAIC0xMzc3MSw2ICsxMzc3Niw3IEBACiAJCQkJQkM2MEM1NzkxMjQwQTU0NjAwOEM1
RTI5IC8qIFdLQnVuZGxlUmFuZ2VIYW5kbGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDNUQyNEM3
MTZDRDczQzUwMDdENTQ2MSAvKiBXS0J1bmRsZVJhbmdlSGFuZGxlUHJpdmF0ZS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQkMxNERGOUYxMjBCNjM1RjAwODI2QzBDIC8qIFdLQnVuZGxlU2NyaXB0V29y
bGQuaCBpbiBIZWFkZXJzICovLAorCQkJCTg2RDFENEFDMjdCM0U0Q0IwMDJFNUE4MiAvKiBXS0Nh
cHRpdmVQb3J0YWxNb2RlUHJpdmF0ZU1hYy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM0MDc1RjYx
MjRGRjAyNzAwNjhGMjBBIC8qIFdLQ2VydGlmaWNhdGVJbmZvLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlCQzQwNzYyNzEyNEZGMDQwMDA2OEYyMEEgLyogV0tDZXJ0aWZpY2F0ZUluZm9NYWMuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUJDQTI4NEQ3MTQ5MkYyQzcwMDFGOTA0MiAvKiBXS0Nvbm5lY3Rpb24u
aCBpbiBIZWFkZXJzICovLAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>451570</attachid>
            <date>2022-02-10 10:51:31 -0800</date>
            <delta_ts>2022-02-10 12:49:18 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-236135-20220210105130.patch</filename>
            <type>text/plain</type>
            <size>22986</size>
            <attacher name="Gavin">gavin.p</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg5MjIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDg0ZjNjY2NkYThiYjgzMTE2
MTRmZGIxYzk4MmZmYmI1MjQxYjYyNWIuLjU2ZWRmZTE2ODQzN2QyNTcyMzkxNjE1MDkwYjEwMDVh
ZjllYTYyMzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzQgQEAKKzIwMjItMDItMTAgIEdhdmluIFBo
aWxsaXBzICA8Z2F2aW4ucEBhcHBsZS5jb20+CisKKyAgICAgICAgVXBkYXRlIHByZWZlcmVuY2Ug
bG9jYXRpb24gdXNlZCBmb3IgQ2FwdGl2ZVBvcnRhbE1vZGUuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzYxMzUKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzg4NDg2NTQ0PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogUGxhdGZvcm1NYWMuY21ha2U6CisgICAgICAgICogU291cmNlc0NvY29hLnR4dDoK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS1N5c3RlbVByZWZlcmVuY2VzLmg6IEFk
ZGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLU3lzdGVtUHJlZmVyZW5jZXMu
bW06IEFkZGVkLgorICAgICAgICAoK1tfV0tTeXN0ZW1QcmVmZXJlbmNlcyBfaXNDYXB0aXZlUG9y
dGFsTW9kZUVuYWJsZWRHbG9iYWxseV0pOgorICAgICAgICAoK1tfV0tTeXN0ZW1QcmVmZXJlbmNl
cyBfc2V0Q2FwdGl2ZVBvcnRhbE1vZGVFbmFibGVkR2xvYmFsbHk6XSk6CisgICAgICAgICgrW19X
S1N5c3RlbVByZWZlcmVuY2VzIF9pc0NhcHRpdmVQb3J0YWxNb2RlSWdub3JlZEZvckNvbnRhaW5l
cjpdKToKKyAgICAgICAgKCtbX1dLU3lzdGVtUHJlZmVyZW5jZXMgX3NldENhcHRpdmVQb3J0YWxN
b2RlSWdub3JlZEZvckNvbnRhaW5lcjo6XSk6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1By
ZWZlcmVuY2VPYnNlcnZlci5tbToKKyAgICAgICAgKC1bV0tVc2VyRGVmYXVsdHMgZmluZFByZWZl
cmVuY2VDaGFuZ2VzQW5kTm90aWZ5Rm9yS2V5czp0b1ZhbHVlc0ZvcktleXM6XSk6CisgICAgICAg
ICogVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNvY29hLm1tOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
cm9jZXNzUG9vbDo6Y2FwdGl2ZVBvcnRhbE1vZGVDb25maWdVcGRhdGVDYWxsYmFjayk6CisgICAg
ICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpyZWdpc3Rlck5vdGlmaWNhdGlvbk9ic2VydmVy
cyk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjp1bnJlZ2lzdGVyTm90aWZpY2F0
aW9uT2JzZXJ2ZXJzKToKKyAgICAgICAgKFdlYktpdDo6aXNDYXB0aXZlUG9ydGFsTW9kZUVuYWJs
ZWRCeVN5c3RlbUlnbm9yaW5nQ2FjaGluZyk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQ
b29sOjpub3RpZnlQcmVmZXJlbmNlc0NoYW5nZWQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQ
cm9jZXNzUG9vbC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvRGlzcGxheUNhcHR1cmVTZXNz
aW9uTWFuYWdlci5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvRGlzcGxheUNhcHR1cmVTZXNz
aW9uTWFuYWdlci5tbToKKyAgICAgICAgKFdlYktpdDo6RGlzcGxheUNhcHR1cmVTZXNzaW9uTWFu
YWdlcjo6cHJvbXB0Rm9yR2V0RGlzcGxheU1lZGlhKToKKyAgICAgICAgKiBXZWJLaXQueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvajoKKwogMjAyMi0wMi0wNyAgQ2FybG9zIEdhcmNpYSBDYW1wb3Mg
IDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgW1dlYkRyaXZlcl0gQWRkIHN1cHBvcnQg
Zm9yIHNoYWRvdyByb290cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybU1hYy5j
bWFrZSBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm1NYWMuY21ha2UKaW5kZXggZTI5NjZkNTEzYmI1
ODM5ZGYxMmIzMjJhZjJlZWIwNTRlYjRkNjY1NS4uMTAwZGY4MGIyN2NhNzgwMTBiMmYxZGQ4MDcz
NjE3NDQwZDUyNmE3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybU1hYy5jbWFr
ZQorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtTWFjLmNtYWtlCkBAIC00NjAsNiArNDYwLDcg
QEAgbGlzdChBUFBFTkQgV2ViS2l0X1BVQkxJQ19GUkFNRVdPUktfSEVBREVSUwogICAgIFVJUHJv
Y2Vzcy9BUEkvQ29jb2EvX1dLUmVzb3VyY2VMb2FkU3RhdGlzdGljc0ZpcnN0UGFydHkuaAogICAg
IFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLUmVzb3VyY2VMb2FkU3RhdGlzdGljc1RoaXJkUGFydHku
aAogICAgIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLU2Vzc2lvblN0YXRlLmgKKyAgICBVSVByb2Nl
c3MvQVBJL0NvY29hL19XS1N5c3RlbVByZWZlcmVuY2VzLmgKICAgICBVSVByb2Nlc3MvQVBJL0Nv
Y29hL19XS1RhcEhhbmRsaW5nUmVzdWx0LmgKICAgICBVSVByb2Nlc3MvQVBJL0NvY29hL19XS1Rl
eHRJbnB1dENvbnRleHQuaAogICAgIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLVGV4dE1hbmlwdWxh
dGlvbkNvbmZpZ3VyYXRpb24uaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29j
b2EudHh0IGIvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CmluZGV4IDNhNzI1OTZhNGQ3
YTVjYWI0NTY2Mjc3MTM2NTY0YmEwMTViMTk2Y2QuLjNhOGFmNmM2ZjdjMDVhODRiMjkzMGRkYzk0
YjNlNWYxNDI2OGIyZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4
dAorKysgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQKQEAgLTI5NSw2ICsyOTUsNyBA
QCBVSVByb2Nlc3MvQVBJL0NvY29hL19XS1Byb2Nlc3NQb29sQ29uZmlndXJhdGlvbi5tbQogVUlQ
cm9jZXNzL0FQSS9Db2NvYS9fV0tSZW1vdGVXZWJJbnNwZWN0b3JWaWV3Q29udHJvbGxlci5tbQog
VUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tSZXNvdXJjZUxvYWRJbmZvLm1tCiBVSVByb2Nlc3MvQVBJ
L0NvY29hL19XS1Nlc3Npb25TdGF0ZS5tbQorVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tTeXN0ZW1Q
cmVmZXJlbmNlcy5tbQogVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tUZXh0SW5wdXRDb250ZXh0Lm1t
CiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS1RleHRNYW5pcHVsYXRpb25Db25maWd1cmF0aW9uLm1t
CiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS1RleHRNYW5pcHVsYXRpb25FeGNsdXNpb25SdWxlLm1t
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLU3lzdGVt
UHJlZmVyZW5jZXMuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tTeXN0
ZW1QcmVmZXJlbmNlcy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVlMDdhNjIwNjQ5OTVlMzIyOTQwMDI0ZDE5YjI5
NTRiMTI4Nzc0YzQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQ29jb2EvX1dLU3lzdGVtUHJlZmVyZW5jZXMuaApAQCAtMCwwICsxLDM3IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDIyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CisjaW1wb3J0IDxXZWJLaXQv
V0tGb3VuZGF0aW9uLmg+CisKK1dLX0NMQVNTX0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwg
aW9zKFdLX0lPU19UQkEpKQorQGludGVyZmFjZSBfV0tTeXN0ZW1QcmVmZXJlbmNlcyA6IE5TT2Jq
ZWN0CisKKysgKEJPT0wpIF9pc0NhcHRpdmVQb3J0YWxNb2RlRW5hYmxlZEdsb2JhbGx5OworKyAo
Qk9PTCkgX3NldENhcHRpdmVQb3J0YWxNb2RlRW5hYmxlZEdsb2JhbGx5OihCT09MKWVuYWJsZWQ7
CisrIChCT09MKSBfaXNDYXB0aXZlUG9ydGFsTW9kZUlnbm9yZWRGb3JDb250YWluZXI6KE5TU3Ry
aW5nKiljb250YWluZXJQYXRoOworKyAoQk9PTCkgX3NldENhcHRpdmVQb3J0YWxNb2RlSWdub3Jl
ZEZvckNvbnRhaW5lcjooTlNTdHJpbmcqKWNvbnRhaW5lclBhdGggOihCT09MKWlnbm9yZTsKKwor
QGVuZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1N5
c3RlbVByZWZlcmVuY2VzLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19X
S1N5c3RlbVByZWZlcmVuY2VzLm1tCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZiYTk5N2Q1MDYxNThhNDU5Y2M2YmY1
YzQ5NTNhYTlmZjRhNTAzYWYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvX1dLU3lzdGVtUHJlZmVyZW5jZXMubW0KQEAgLTAsMCArMSw5MCBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAyMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpbXBvcnQgImNvbmZpZy5oIgorI2ltcG9ydCAiX1dLU3lzdGVtUHJlZmVy
ZW5jZXMuaCIKKworI2ltcG9ydCA8d3RmL0Fzc2VydGlvbnMuaD4KKyNpbXBvcnQgPHd0Zi9SZXRh
aW5QdHIuaD4KKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorI2ltcG9ydCA8Q29yZUZvdW5k
YXRpb24vQ0ZQcmVmZXJlbmNlc19Qcml2YXRlLmg+CisjaW1wb3J0IDxDb3JlRm91bmRhdGlvbi9D
RlByaXYuaD4KKyNlbmRpZgorCitAaW1wbGVtZW50YXRpb24gX1dLU3lzdGVtUHJlZmVyZW5jZXMK
KworKyAoQk9PTCkgX2lzQ2FwdGl2ZVBvcnRhbE1vZGVFbmFibGVkR2xvYmFsbHkKK3sKKyNpZiBV
U0UoQVBQTEVfSU5URVJOQUxfU0RLKQorICAgIGF1dG8gcHJlZmVyZW5jZVZhbHVlID0gYWRvcHRD
RihDRlByZWZlcmVuY2VzQ29weVZhbHVlKENGU1RSKCJXS0NhcHRpdmVQb3J0YWxNb2RlRW5hYmxl
ZCIpLCBrQ0ZQcmVmZXJlbmNlc0FueUFwcGxpY2F0aW9uLCBrQ0ZQcmVmZXJlbmNlc0FueVVzZXIs
IGtDRlByZWZlcmVuY2VzQ3VycmVudEhvc3QpKTsKKyAgICByZXR1cm4gcHJlZmVyZW5jZVZhbHVl
LmdldCgpID09IGtDRkJvb2xlYW5UcnVlOworI2Vsc2UKKyAgICByZXR1cm4gZmFsc2U7CisjZW5k
aWYKK30KKworKyAoQk9PTCkgX3NldENhcHRpdmVQb3J0YWxNb2RlRW5hYmxlZEdsb2JhbGx5OihC
T09MKWVuYWJsZWQKK3sKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorICAgIENGUHJlZmVy
ZW5jZXNTZXRWYWx1ZShDRlNUUigiV0tDYXB0aXZlUG9ydGFsTW9kZUVuYWJsZWQiKSwgZW5hYmxl
ZCA/IGtDRkJvb2xlYW5UcnVlIDoga0NGQm9vbGVhbkZhbHNlLCBrQ0ZQcmVmZXJlbmNlc0FueUFw
cGxpY2F0aW9uLCBrQ0ZQcmVmZXJlbmNlc0FueVVzZXIsIGtDRlByZWZlcmVuY2VzQ3VycmVudEhv
c3QpOworICAgIHJldHVybiBDRlByZWZlcmVuY2VzU3luY2hyb25pemUoa0NGUHJlZmVyZW5jZXNB
bnlBcHBsaWNhdGlvbiwga0NGUHJlZmVyZW5jZXNBbnlVc2VyLCBrQ0ZQcmVmZXJlbmNlc0FueUhv
c3QpOworI2Vsc2UKKyAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYKK30KKworKyAoQk9PTCkgX2lz
Q2FwdGl2ZVBvcnRhbE1vZGVJZ25vcmVkRm9yQ29udGFpbmVyOihOU1N0cmluZyopY29udGFpbmVy
UGF0aAoreworI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspICYmIFBMQVRGT1JNKElPU19GQU1J
TFkpCisgICAgTlNTdHJpbmcqIGNwbWNvbmZpZ0lnbm9yZUZpbGVQYXRoID0gW2NvbnRhaW5lclBh
dGggc3RyaW5nQnlBcHBlbmRpbmdQYXRoQ29tcG9uZW50OkAiTGlicmFyeS9QcmVmZXJlbmNlcy9j
b20uYXBwbGUuV2ViS2l0LmNwbWNvbmZpZ19pZ25vcmUiXTsKKyAgICByZXR1cm4gW1tOU0ZpbGVN
YW5hZ2VyIGRlZmF1bHRNYW5hZ2VyXSBmaWxlRXhpc3RzQXRQYXRoOmNwbWNvbmZpZ0lnbm9yZUZp
bGVQYXRoXSA9PSBUUlVFOworI2Vsc2UKKyAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYKK30KKwor
KyAoQk9PTCkgX3NldENhcHRpdmVQb3J0YWxNb2RlSWdub3JlZEZvckNvbnRhaW5lcjooTlNTdHJp
bmcqKWNvbnRhaW5lclBhdGggOihCT09MKWlnbm9yZQoreworI2lmIFVTRShBUFBMRV9JTlRFUk5B
TF9TREspICYmIFBMQVRGT1JNKElPU19GQU1JTFkpCisgICAgTlNTdHJpbmcqIGNwbWNvbmZpZ0ln
bm9yZUZpbGVQYXRoID0gW2NvbnRhaW5lclBhdGggc3RyaW5nQnlBcHBlbmRpbmdQYXRoQ29tcG9u
ZW50OkAiTGlicmFyeS9QcmVmZXJlbmNlcy9jb20uYXBwbGUuV2ViS2l0LmNwbWNvbmZpZ19pZ25v
cmUiXTsKKyAgICAKKyAgICBpZiAoW1tOU0ZpbGVNYW5hZ2VyIGRlZmF1bHRNYW5hZ2VyXSBmaWxl
RXhpc3RzQXRQYXRoOmNwbWNvbmZpZ0lnbm9yZUZpbGVQYXRoXSA9PSBpZ25vcmUpCisgICAgICAg
IHJldHVybiB0cnVlOworICAgIAorICAgIGlmIChpZ25vcmUpIHsKKyAgICAgICAgaWYgKCFbW05T
RmlsZU1hbmFnZXIgZGVmYXVsdE1hbmFnZXJdIGNyZWF0ZUZpbGVBdFBhdGg6Y3BtY29uZmlnSWdu
b3JlRmlsZVBhdGggY29udGVudHM6TlVMTCBhdHRyaWJ1dGVzOk5VTExdKQorICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOworICAgIH0gZWxzZSB7CisgICAgICAgIGlmICghW1tOU0ZpbGVNYW5hZ2Vy
IGRlZmF1bHRNYW5hZ2VyXSByZW1vdmVJdGVtQXRQYXRoOmNwbWNvbmZpZ0lnbm9yZUZpbGVQYXRo
IGVycm9yOk5VTExdKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKyAgICBDRk5v
dGlmaWNhdGlvbkNlbnRlclBvc3ROb3RpZmljYXRpb24oQ0ZOb3RpZmljYXRpb25DZW50ZXJHZXRE
aXN0cmlidXRlZENlbnRlcigpLCBDRlNUUigiY29tLmFwcGxlLldlYktpdC5jcG1jb25maWciKSwg
bnVsbHB0ciwgbnVsbHB0ciwgdHJ1ZSk7CisgICAgcmV0dXJuIHRydWU7CisjZWxzZQorICAgIHJl
dHVybiBmYWxzZTsKKyNlbmRpZgorfQorCitAZW5kCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9Db2NvYS9QcmVmZXJlbmNlT2JzZXJ2ZXIubW0gYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9Db2NvYS9QcmVmZXJlbmNlT2JzZXJ2ZXIubW0KaW5kZXggMzRiZmE3OTI1ZDVkNDRl
MGU5ZTgxMjAyNDc5ZTc3NTgxNWVhYzZiYy4uMGE2MWM3NTE0MTZhMTRjOWIwNzEwMzhlOTk5MTM1
YWFhN2Y4ZjkzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvUHJl
ZmVyZW5jZU9ic2VydmVyLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1By
ZWZlcmVuY2VPYnNlcnZlci5tbQpAQCAtNzEsNiArNzEsNyBAQAogICAgICAgICAgICAgZW5jb2Rl
ZFN0cmluZyA9IFtkYXRhIGJhc2U2NEVuY29kZWRTdHJpbmdXaXRoT3B0aW9uczowXTsKICAgICAg
ICAgfQogCisgICAgICAgIGF1dG8gc3lzdGVtVmFsdWUgPSBhZG9wdENGKENGUHJlZmVyZW5jZXND
b3B5VmFsdWUoKF9fYnJpZGdlIENGU3RyaW5nUmVmKWtleSwga0NGUHJlZmVyZW5jZXNBbnlBcHBs
aWNhdGlvbiwga0NGUHJlZmVyZW5jZXNBbnlVc2VyLCBrQ0ZQcmVmZXJlbmNlc0FueUhvc3QpKTsK
ICAgICAgICAgYXV0byBnbG9iYWxWYWx1ZSA9IGFkb3B0Q0YoQ0ZQcmVmZXJlbmNlc0NvcHlWYWx1
ZSgoX19icmlkZ2UgQ0ZTdHJpbmdSZWYpa2V5LCBrQ0ZQcmVmZXJlbmNlc0FueUFwcGxpY2F0aW9u
LCBrQ0ZQcmVmZXJlbmNlc0N1cnJlbnRVc2VyLCBrQ0ZQcmVmZXJlbmNlc0FueUhvc3QpKTsKICAg
ICAgICAgYXV0byBkb21haW5WYWx1ZSA9IGFkb3B0Q0YoQ0ZQcmVmZXJlbmNlc0NvcHlWYWx1ZSgo
X19icmlkZ2UgQ0ZTdHJpbmdSZWYpa2V5LCAoX19icmlkZ2UgQ0ZTdHJpbmdSZWYpbV9zdWl0ZU5h
bWUuZ2V0KCksIGtDRlByZWZlcmVuY2VzQ3VycmVudFVzZXIsIGtDRlByZWZlcmVuY2VzQW55SG9z
dCkpOwogCkBAIC03OCw3ICs3OSw3IEBACiAgICAgICAgICAgICByZXR1cm4gYSA9PSBiIHx8IFth
IGlzRXF1YWw6Yl07CiAgICAgICAgIH07CiAKLSAgICAgICAgaWYgKHByZWZlcmVuY2VWYWx1ZXNB
cmVFcXVhbCgoX19icmlkZ2UgaWQpZ2xvYmFsVmFsdWUuZ2V0KCksIG5ld1ZhbHVlKSkKKyAgICAg
ICAgaWYgKHByZWZlcmVuY2VWYWx1ZXNBcmVFcXVhbCgoX19icmlkZ2UgaWQpc3lzdGVtVmFsdWUu
Z2V0KCksIG5ld1ZhbHVlKSB8fCBwcmVmZXJlbmNlVmFsdWVzQXJlRXF1YWwoKF9fYnJpZGdlIGlk
KWdsb2JhbFZhbHVlLmdldCgpLCBuZXdWYWx1ZSkpCiAgICAgICAgICAgICBbbV9vYnNlcnZlciBw
cmVmZXJlbmNlRGlkQ2hhbmdlOm5pbCBrZXk6a2V5IGVuY29kZWRWYWx1ZTplbmNvZGVkU3RyaW5n
XTsKIAogICAgICAgICBpZiAocHJlZmVyZW5jZVZhbHVlc0FyZUVxdWFsKChfX2JyaWRnZSBpZClk
b21haW5WYWx1ZS5nZXQoKSwgbmV3VmFsdWUpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbQppbmRleCA2YTk1OGE4ZTEwNzcxODFmOTgw
Y2VhZjg5NWEwYWYyYTczMDJiOWZiLi5iOWZmNDMxMWMwOTk2NzAxMTNlN2ZmMjhhOTllZjcyNjY5
NWY0NTQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdl
UHJveHlDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdl
UHJveHlDb2NvYS5tbQpAQCAtMzcsNiArMzcsNyBAQAogI2ltcG9ydCAiTG9hZFBhcmFtZXRlcnMu
aCIKICNpbXBvcnQgIk1vZGFsQ29udGFpbmVyQ29udHJvbENsYXNzaWZpZXIuaCIKICNpbXBvcnQg
IlBhZ2VDbGllbnQuaCIKKyNpbXBvcnQgIlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eS5oIgog
I2ltcG9ydCAiUXVhcmFudGluZVNQSS5oIgogI2ltcG9ydCAiUXVpY2tMb29rVGh1bWJuYWlsTG9h
ZGVyLmgiCiAjaW1wb3J0ICJTYWZlQnJvd3NpbmdTUEkuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0gYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCmluZGV4IGM3ODY1Njkx
NGE2NjQwZWQyZjJjOTkzZmI2YWZmYTNkMGNiZDZkMGQuLmUyMzAxNDA3ZGU3NTRlM2FmMDIxZGVj
MjNhNzRjZmM5MzA4OWU3MzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0Nv
Y29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
Q29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQpAQCAtNTIsNiArNTIsNyBAQAogI2ltcG9ydCAi
V2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIgogI2ltcG9ydCAiV2ViUHJvY2Vzc01lc3Nh
Z2VzLmgiCiAjaW1wb3J0ICJXaW5kb3dTZXJ2ZXJDb25uZWN0aW9uLmgiCisjaW1wb3J0ICJfV0tT
eXN0ZW1QcmVmZXJlbmNlcy5oIgogI2ltcG9ydCA8V2ViQ29yZS9BR1hDb21waWxlclNlcnZpY2Uu
aD4KICNpbXBvcnQgPFdlYkNvcmUvQ29sb3IuaD4KICNpbXBvcnQgPFdlYkNvcmUvTG9jYWxpemVk
RGV2aWNlTW9kZWwuaD4KQEAgLTcwLDYgKzcxLDcgQEAKICNpbXBvcnQgPHd0Zi9GaWxlU3lzdGVt
Lmg+CiAjaW1wb3J0IDx3dGYvUHJvY2Vzc1ByaXZpbGVnZS5oPgogI2ltcG9ydCA8d3RmL1NvZnRM
aW5raW5nLmg+CisjaW1wb3J0IDx3dGYvY2YvVHlwZUNhc3RzQ0YuaD4KICNpbXBvcnQgPHd0Zi9j
b2NvYS9FbnRpdGxlbWVudHMuaD4KICNpbXBvcnQgPHd0Zi9jb2NvYS9SdW50aW1lQXBwbGljYXRp
b25DaGVja3NDb2NvYS5oPgogI2ltcG9ydCA8d3RmL2NvY29hL1R5cGVDYXN0c0NvY29hLmg+CkBA
IC0xMjgsNyArMTMwLDggQEAgTlNTdHJpbmcgKldlYktpdEpTQ0ZUTEpJVEVuYWJsZWREZWZhdWx0
c0tleSA9IEAiV2ViS2l0SlNDRlRMSklURW5hYmxlZERlZmF1bHRzS2UKIHN0YXRpYyBOU1N0cmlu
ZyAqV2ViS2l0QXBwbGljYXRpb25EaWRDaGFuZ2VBY2Nlc3NpYmlsaXR5RW5oYW5jZWRVc2VySW50
ZXJmYWNlTm90aWZpY2F0aW9uID0gQCJOU0FwcGxpY2F0aW9uRGlkQ2hhbmdlQWNjZXNzaWJpbGl0
eUVuaGFuY2VkVXNlckludGVyZmFjZU5vdGlmaWNhdGlvbiI7CiBzdGF0aWMgQ0ZTdHJpbmdSZWYg
QXBwbGVDb2xvclByZWZlcmVuY2VzQ2hhbmdlZE5vdGlmaWNhdGlvbiA9IENGU1RSKCJBcHBsZUNv
bG9yUHJlZmVyZW5jZXNDaGFuZ2VkTm90aWZpY2F0aW9uIik7CiAjZW5kaWYKLXN0YXRpYyBjb25z
dCBjaGFyKiBjb25zdCBXZWJLaXRDYXB0aXZlUG9ydGFsTW9kZUNoYW5nZWROb3RpZmljYXRpb24g
PSAiV2ViS2l0Q2FwdGl2ZVBvcnRhbE1vZGVFbmFibGVkIjsKK2NvbnN0ZXhwciBhdXRvIFdlYktp
dENhcHRpdmVQb3J0YWxNb2RlQ2hhbmdlZE5vdGlmaWNhdGlvbl9MZWdhY3kgPSAiV2ViS2l0Q2Fw
dGl2ZVBvcnRhbE1vZGVFbmFibGVkIjsKK2NvbnN0ZXhwciBhdXRvIFdlYktpdENhcHRpdmVQb3J0
YWxNb2RlQ2hhbmdlZE5vdGlmaWNhdGlvbiA9ICJXS0NhcHRpdmVQb3J0YWxNb2RlRW5hYmxlZCI7
CiAKIHN0YXRpYyBOU1N0cmluZyAqIGNvbnN0IFdlYktpdFN1cHByZXNzTWVtb3J5UHJlc3N1cmVI
YW5kbGVyRGVmYXVsdHNLZXkgPSBAIldlYktpdFN1cHByZXNzTWVtb3J5UHJlc3N1cmVIYW5kbGVy
IjsKIApAQCAtNjIyLDYgKzYyNSwxNCBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjpyZW1vdGVXZWJJ
bnNwZWN0b3JFbmFibGVkQ2FsbGJhY2soQ0ZOb3RpZmljYXRpb25DZW50ZXJSZWYsCiB9CiAjZW5k
aWYKIAordm9pZCBXZWJQcm9jZXNzUG9vbDo6Y2FwdGl2ZVBvcnRhbE1vZGVDb25maWdVcGRhdGVD
YWxsYmFjayhDRk5vdGlmaWNhdGlvbkNlbnRlclJlZiwgdm9pZCogb2JzZXJ2ZXIsIENGU3RyaW5n
UmVmLCBjb25zdCB2b2lkKiwgQ0ZEaWN0aW9uYXJ5UmVmKQoreworICAgIGF1dG8gcG9vbCA9IGV4
dHJhY3RXZWJQcm9jZXNzUG9vbChvYnNlcnZlcik7CisgICAgaWYgKCFwb29sKQorICAgICAgICBy
ZXR1cm47CisgICAgcG9vbC0+Y2FwdGl2ZVBvcnRhbE1vZGVTdGF0ZUNoYW5nZWQoKTsKK30KKwog
I2lmIEVOQUJMRShDRlBSRUZTX0RJUkVDVF9NT0RFKQogdm9pZCBXZWJQcm9jZXNzUG9vbDo6c3Rh
cnRPYnNlcnZpbmdQcmVmZXJlbmNlQ2hhbmdlcygpCiB7CkBAIC03MzQsNiArNzQ1LDggQEAgdm9p
ZCBXZWJQcm9jZXNzUG9vbDo6cmVnaXN0ZXJOb3RpZmljYXRpb25PYnNlcnZlcnMoKQogICAgIG1f
cG93ZXJTb3VyY2VOb3RpZmllciA9IFdURjo6bWFrZVVuaXF1ZTxXZWJDb3JlOjpQb3dlclNvdXJj
ZU5vdGlmaWVyPihbdGhpc10gKGJvb2wgaGFzQUMpIHsKICAgICAgICAgc2VuZFRvQWxsUHJvY2Vz
c2VzKE1lc3NhZ2VzOjpXZWJQcm9jZXNzOjpQb3dlclNvdXJjZURpZENoYW5nZShoYXNBQykpOwog
ICAgIH0pOworICAgIAorICAgIGFkZENGTm90aWZpY2F0aW9uT2JzZXJ2ZXIoY2FwdGl2ZVBvcnRh
bE1vZGVDb25maWdVcGRhdGVDYWxsYmFjaywgQ0ZTVFIoImNvbS5hcHBsZS5XZWJLaXQuY3BtY29u
ZmlnIiksIENGTm90aWZpY2F0aW9uQ2VudGVyR2V0RGlzdHJpYnV0ZWRDZW50ZXIoKSk7CiAKICNp
ZiBIQVZFKFBFUl9BUFBfQUNDRVNTSUJJTElUWV9QUkVGRVJFTkNFUykKICAgICBhZGRDRk5vdGlm
aWNhdGlvbk9ic2VydmVyKGFjY2Vzc2liaWxpdHlQcmVmZXJlbmNlc0NoYW5nZWRDYWxsYmFjaywg
a0FYU1JlZHVjZU1vdGlvbkNoYW5nZWROb3RpZmljYXRpb24pOwpAQCAtNzc4LDYgKzc5MSw4IEBA
IHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnVucmVnaXN0ZXJOb3RpZmljYXRpb25PYnNlcnZlcnMoKQog
ICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gcmVtb3ZlT2JzZXJ2ZXI6
bV9hY3RpdmF0aW9uT2JzZXJ2ZXIuZ2V0KCldOwogCiAgICAgbV9wb3dlclNvdXJjZU5vdGlmaWVy
ID0gbnVsbHB0cjsKKyAgICAKKyAgICByZW1vdmVDRk5vdGlmaWNhdGlvbk9ic2VydmVyKENGU1RS
KCJjb20uYXBwbGUuV2ViS2l0LmNwbWNvbmZpZyIpLCBDRk5vdGlmaWNhdGlvbkNlbnRlckdldERp
c3RyaWJ1dGVkQ2VudGVyKCkpOwogCiAjaWYgSEFWRShQRVJfQVBQX0FDQ0VTU0lCSUxJVFlfUFJF
RkVSRU5DRVMpCiAgICAgcmVtb3ZlQ0ZOb3RpZmljYXRpb25PYnNlcnZlcihrQVhTUmVkdWNlTW90
aW9uQ2hhbmdlZE5vdGlmaWNhdGlvbik7CkBAIC05MzAsNyArOTQ1LDIzIEBAIHN0YXRpYyBib29s
IGlzQ2FwdGl2ZVBvcnRhbE1vZGVFbmFibGVkQnlTeXN0ZW1JZ25vcmluZ0NhY2hpbmcoKQogICAg
IGlmIChhdXRvJiBlbmFibGVkRm9yVGVzdGluZyA9IGlzQ2FwdGl2ZVBvcnRhbE1vZGVFbmFibGVk
R2xvYmFsbHlGb3JUZXN0aW5nKCkpCiAgICAgICAgIHJldHVybiAqZW5hYmxlZEZvclRlc3Rpbmc7
CiAKLSAgICByZXR1cm4gW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gYm9v
bEZvcktleTpbTlNTdHJpbmcgc3RyaW5nV2l0aFVURjhTdHJpbmc6V2ViS2l0Q2FwdGl2ZVBvcnRh
bE1vZGVDaGFuZ2VkTm90aWZpY2F0aW9uXV07CisgICAgaWYgKFtbTlNVc2VyRGVmYXVsdHMgc3Rh
bmRhcmRVc2VyRGVmYXVsdHNdIGJvb2xGb3JLZXk6W05TU3RyaW5nIHN0cmluZ1dpdGhVVEY4U3Ry
aW5nOldlYktpdENhcHRpdmVQb3J0YWxNb2RlQ2hhbmdlZE5vdGlmaWNhdGlvbl9MZWdhY3ldXSkK
KyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICBpZiAoIVtfV0tTeXN0ZW1QcmVmZXJlbmNlcyBf
aXNDYXB0aXZlUG9ydGFsTW9kZUVuYWJsZWRHbG9iYWxseV0pCisgICAgICAgIHJldHVybiBmYWxz
ZTsKKworI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCisgICAgaWYgKHByb2Nlc3NIYXNDb250YWlu
ZXIoKSAmJiBbX1dLU3lzdGVtUHJlZmVyZW5jZXMgX2lzQ2FwdGl2ZVBvcnRhbE1vZGVJZ25vcmVk
Rm9yQ29udGFpbmVyOnBhdGhGb3JQcm9jZXNzQ29udGFpbmVyKCldKQorICAgICAgICByZXR1cm4g
ZmFsc2U7CisjZW5kaWYKKyAgICAKKyNpZiBQTEFURk9STShNQUMpCisgICAgaWYgKCFXZWJDb3Jl
OjpNYWNBcHBsaWNhdGlvbjo6aXNTYWZhcmkoKSAmJiAhV2ViQ29yZTo6TWFjQXBwbGljYXRpb246
OmlzTWluaUJyb3dzZXIoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworI2VuZGlmCisgICAgCisg
ICAgcmV0dXJuIHRydWU7CiB9CiAKIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OmNhcHRpdmVQb3J0YWxN
b2RlU3RhdGVDaGFuZ2VkKCkKQEAgLTEwNjMsNyArMTA5NCw3IEBAIHZvaWQgV2ViUHJvY2Vzc1Bv
b2w6Om5vdGlmeVByZWZlcmVuY2VzQ2hhbmdlZChjb25zdCBTdHJpbmcmIGRvbWFpbiwgY29uc3Qg
U3RyaW5nCiAgICAgICAgIHdlYkF1dGhuUHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViQXV0aG5Q
cm9jZXNzOjpOb3RpZnlQcmVmZXJlbmNlc0NoYW5nZWQoZG9tYWluLCBrZXksIGVuY29kZWRWYWx1
ZSksIDApOwogI2VuZGlmCiAKLSAgICBpZiAoa2V5ID09IFdlYktpdENhcHRpdmVQb3J0YWxNb2Rl
Q2hhbmdlZE5vdGlmaWNhdGlvbikKKyAgICBpZiAoa2V5ID09IFdlYktpdENhcHRpdmVQb3J0YWxN
b2RlQ2hhbmdlZE5vdGlmaWNhdGlvbiB8fCBrZXkgPT0gV2ViS2l0Q2FwdGl2ZVBvcnRhbE1vZGVD
aGFuZ2VkTm90aWZpY2F0aW9uX0xlZ2FjeSkKICAgICAgICAgY2FwdGl2ZVBvcnRhbE1vZGVTdGF0
ZUNoYW5nZWQoKTsKIH0KICNlbmRpZiAvLyBFTkFCTEUoQ0ZQUkVGU19ESVJFQ1RfTU9ERSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmggYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oCmluZGV4IGViNjZkODk0OTBkZmUw
MjhiMTAxMjVlOTNmZmJkMTk4ZDAyN2Y3Y2UuLmUxYWJkZjU4ZTEwMmJkMjFmZGMzMjgwYjRhNjU2
Nzg5NDhhZWU2NTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nl
c3NQb29sLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaApA
QCAtNTgwLDYgKzU4MCw4IEBAIHByaXZhdGU6CiAgICAgc3RhdGljIHZvaWQgcmVtb3RlV2ViSW5z
cGVjdG9yRW5hYmxlZENhbGxiYWNrKENGTm90aWZpY2F0aW9uQ2VudGVyUmVmLCB2b2lkKiBvYnNl
cnZlciwgQ0ZTdHJpbmdSZWYgbmFtZSwgY29uc3Qgdm9pZCogcG9zdGluZ09iamVjdCwgQ0ZEaWN0
aW9uYXJ5UmVmIHVzZXJJbmZvKTsKICNlbmRpZgogI2VuZGlmCisgICAgCisgICAgc3RhdGljIHZv
aWQgY2FwdGl2ZVBvcnRhbE1vZGVDb25maWdVcGRhdGVDYWxsYmFjayhDRk5vdGlmaWNhdGlvbkNl
bnRlclJlZiwgdm9pZCogb2JzZXJ2ZXIsIENGU3RyaW5nUmVmIG5hbWUsIGNvbnN0IHZvaWQqIHBv
c3RpbmdPYmplY3QsIENGRGljdGlvbmFyeVJlZiB1c2VySW5mbyk7CiAKICNpZiBQTEFURk9STShD
T0NPQSkKICAgICBzdGF0aWMgdm9pZCBhY2Nlc3NpYmlsaXR5UHJlZmVyZW5jZXNDaGFuZ2VkQ2Fs
bGJhY2soQ0ZOb3RpZmljYXRpb25DZW50ZXJSZWYsIHZvaWQqIG9ic2VydmVyLCBDRlN0cmluZ1Jl
ZiBuYW1lLCBjb25zdCB2b2lkKiBwb3N0aW5nT2JqZWN0LCBDRkRpY3Rpb25hcnlSZWYgdXNlcklu
Zm8pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL0Rpc3BsYXlDYXB0
dXJlU2Vzc2lvbk1hbmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9EaXNwbGF5
Q2FwdHVyZVNlc3Npb25NYW5hZ2VyLmgKaW5kZXggNjBkOTNiM2M2YTEyOGZiNmQxOGIzNWU5YTk3
NjZmN2U5YWUzMDEwZS4uOGUwNGI3NjM4ODMzMzAyYjIxM2ExYzQxYTRhM2JhMzZhNDM1Yjk2NCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL0Rpc3BsYXlDYXB0dXJlU2Vz
c2lvbk1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvRGlzcGxheUNh
cHR1cmVTZXNzaW9uTWFuYWdlci5oCkBAIC0yOCw2ICsyOCw3IEBACiAjaWYgUExBVEZPUk0oQ09D
T0EpICYmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAKICNpbmNsdWRlICJVc2VyTWVkaWFQZXJtaXNz
aW9uUmVxdWVzdFByb3h5LmgiCisjaW5jbHVkZSAiV2ViUGFnZVByb3h5LmgiCiAjaW5jbHVkZSA8
V2ViQ29yZS9TZWN1cml0eU9yaWdpbkRhdGEuaD4KICNpbmNsdWRlIDx3dGYvQ29tcGxldGlvbkhh
bmRsZXIuaD4KICNpbmNsdWRlIDx3dGYvV2Vha1B0ci5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvbWFjL0Rpc3BsYXlDYXB0dXJlU2Vzc2lvbk1hbmFnZXIubW0gYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvRGlzcGxheUNhcHR1cmVTZXNzaW9uTWFuYWdlci5tbQpp
bmRleCA3OTlmNmYxM2EyNDI5ZjBkNzk2NjI3MjE4MGNjNjRjMzA2YTIzMmVjLi44OTNlZTIwNTM0
Y2Q0NjY2ZGY4MGEwYjEwMWY5YWE4NWQyMjdhZGZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9tYWMvRGlzcGxheUNhcHR1cmVTZXNzaW9uTWFuYWdlci5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvRGlzcGxheUNhcHR1cmVTZXNzaW9uTWFuYWdlci5tbQpA
QCAtMjU0LDcgKzI1NCw3IEBAIERpc3BsYXlDYXB0dXJlU2Vzc2lvbk1hbmFnZXI6On5EaXNwbGF5
Q2FwdHVyZVNlc3Npb25NYW5hZ2VyKCkKIHsKIH0KIAotdm9pZCBEaXNwbGF5Q2FwdHVyZVNlc3Np
b25NYW5hZ2VyOjpwcm9tcHRGb3JHZXREaXNwbGF5TWVkaWEoVXNlck1lZGlhUGVybWlzc2lvblJl
cXVlc3RQcm94eTo6VXNlck1lZGlhRGlzcGxheUNhcHR1cmVQcm9tcHRUeXBlIHByb21wdFR5cGUs
IFdlYlBhZ2VQcm94eSYgcGFnZSwgY29uc3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhJiBv
cmlnaW4sIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoc3RkOjpvcHRpb25hbDxDYXB0dXJlRGV2aWNl
Pik+JiYgY29tcGxldGlvbkhhbmRsZXIpCit2b2lkIERpc3BsYXlDYXB0dXJlU2Vzc2lvbk1hbmFn
ZXI6OnByb21wdEZvckdldERpc3BsYXlNZWRpYShVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdFBy
b3h5OjpVc2VyTWVkaWFEaXNwbGF5Q2FwdHVyZVByb21wdFR5cGUgcHJvbXB0VHlwZSwgV2ViUGFn
ZVByb3h5JiBwYWdlLCBjb25zdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEmIG9yaWdpbiwg
Q29tcGxldGlvbkhhbmRsZXI8dm9pZChzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkNhcHR1cmVEZXZp
Y2U+KT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKICAgICBBU1NFUlQoaXNBdmFpbGFibGUoKSk7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmlu
ZGV4IDBjN2MzMWJjNTU3YjU1ZDUxNzA1ZmMzOWQ3ZTY3OWM5NGM2YTBhZjMuLmVhZjgwYTI2MjBh
OWQ1M2Y4MWM0MDAxMzc2NWEzODY0NjAzOTk1YTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
V2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJL
aXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTQwMyw2ICsxNDAzLDcgQEAKIAkJODNG
MUEwN0ExRjk2RTc3OTAwNDVCOTRFIC8qIFdlYlNXT3JpZ2luVGFibGUuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDgzRjFBMDc4MUY5NkU3NzEwMDQ1Qjk0
RSAvKiBXZWJTV09yaWdpblRhYmxlLmggKi87IH07CiAJCTgzRjk2NDRFMUZBMEY3NkUwMEM0Nzc1
MCAvKiBTaGFyZWRTdHJpbmdIYXNoVGFibGVSZWFkT25seS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODNGOTY0NEMxRkEwRjc2MzAwQzQ3NzUwIC8qIFNo
YXJlZFN0cmluZ0hhc2hUYWJsZVJlYWRPbmx5LmggKi87IH07CiAJCTg0NDc3ODUzMTc2RkNDMDgw
MENEQzdCQiAvKiBJbmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGUuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg0NDc3ODUxMTc2RkNBQzEw
MENEQzdCQiAvKiBJbmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGUuaCAqLzsgfTsK
KwkJODY0NDg5MEIyN0I0NzAyMDAwN0ExQzY2IC8qIF9XS1N5c3RlbVByZWZlcmVuY2VzLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NjQ0ODkwQTI3QjQ3
MDIwMDA3QTFDNjYgLyogX1dLU3lzdGVtUHJlZmVyZW5jZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk4NkU2N0EyNTE5MTBCOUQxMDAwMDRBQjcg
LyogUHJvY2Vzc1Rocm90dGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gODZFNjdBMjExOTBGNDExODAwMDA0QUI3IC8qIFByb2Nlc3NUaHJvdHRsZXIu
aCAqLzsgfTsKIAkJODZGOTUzNjUxOEZGNThGNTAwMURCMkVGIC8qIFByb2Nlc3NBc3NlcnRpb24u
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2Rjk1MzYw
MThGRjRGRDQwMDFEQjJFRiAvKiBQcm9jZXNzQXNzZXJ0aW9uLmggKi87IH07CiAJCThEQzJFRjUz
MDQ4NkE2OTQwMDk4QjIxNiAvKiBJbmZvUGxpc3Quc3RyaW5ncyBpbiBSZXNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDg5QzE2NjZGRTg0MTE1OEMwMkFBQzA3IC8q
IEluZm9QbGlzdC5zdHJpbmdzICovOyB9OwpAQCAtNTI0OCw2ICs1MjQ5LDggQEAKIAkJODNGOTY0
NEIxRkEwRjc2MjAwQzQ3NzUwIC8qIFNoYXJlZFN0cmluZ0hhc2hUYWJsZVJlYWRPbmx5LmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNoYXJlZFN0cmluZ0hhc2hUYWJs
ZVJlYWRPbmx5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODNGOTY0NEMxRkEw
Rjc2MzAwQzQ3NzUwIC8qIFNoYXJlZFN0cmluZ0hhc2hUYWJsZVJlYWRPbmx5LmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNoYXJlZFN0cmluZ0hhc2hUYWJsZVJlYWRPbmx5Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg0NDc3ODUxMTc2RkNBQzEwMENEQzdCQiAv
KiBJbmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGUuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gSW5qZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0TWVkaWFUeXBlLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg2NDQ4OTBBMjdCNDcwMjAwMDdBMUM2NiAv
KiBfV0tTeXN0ZW1QcmVmZXJlbmNlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBfV0tTeXN0ZW1QcmVmZXJlbmNlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4
NjQ0ODkwQzI3QjQ3MDQ1MDA3QTFDNjYgLyogX1dLU3lzdGVtUHJlZmVyZW5jZXMubW0gKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5vYmpjcHA7IHBhdGggPSBfV0tTeXN0ZW1QcmVmZXJlbmNlcy5tbTsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJODY4MTYwQ0QxODc2M0Q0QjAwMjFFNzlEIC8qIFdpbmRvd1NlcnZlckNv
bm5lY3Rpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2luZG93U2VydmVyQ29ubmVjdGlvbi5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NjgxNjBDRjE4NzY0NTM3MDAyMUU3OUQgLyogV2lu
ZG93U2VydmVyQ29ubmVjdGlvbi5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdpbmRvd1NlcnZl
ckNvbm5lY3Rpb24ubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg2RTY3QTIxMTkw
RjQxMTgwMDAwNEFCNyAvKiBQcm9jZXNzVGhyb3R0bGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFByb2Nlc3NUaHJvdHRsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKQEAgLTg4MjMsNiArODgyNiw4IEBACiAJCQkJMUEwMDJEM0YxOTZCMzI5NDAwQjlBRDQ0IC8q
IF9XS1Nlc3Npb25TdGF0ZS5oICovLAogCQkJCTFBMDAyRDNFMTk2QjMyOTQwMEI5QUQ0NCAvKiBf
V0tTZXNzaW9uU3RhdGUubW0gKi8sCiAJCQkJMUEwMDJENDIxOTZCMzM3MDAwQjlBRDQ0IC8qIF9X
S1Nlc3Npb25TdGF0ZUludGVybmFsLmggKi8sCisJCQkJODY0NDg5MEEyN0I0NzAyMDAwN0ExQzY2
IC8qIF9XS1N5c3RlbVByZWZlcmVuY2VzLmggKi8sCisJCQkJODY0NDg5MEMyN0I0NzA0NTAwN0Ex
QzY2IC8qIF9XS1N5c3RlbVByZWZlcmVuY2VzLm1tICovLAogCQkJCUY0RDk4NUM3MjY5MEZCRUYw
MEJCQ0NCRSAvKiBfV0tUYXBIYW5kbGluZ1Jlc3VsdC5oICovLAogCQkJCTJERTlCMTM4MjIzMUY2
MUMwMDUyODdCNyAvKiBfV0tUZXh0SW5wdXRDb250ZXh0LmggKi8sCiAJCQkJMkRFOUIxMzcyMjMx
RjYxQzAwNTI4N0I3IC8qIF9XS1RleHRJbnB1dENvbnRleHQubW0gKi8sCkBAIC0xMjc4OCw2ICsx
Mjc5Myw3IEBACiAJCQkJMzc2MzExRkUxQTNGQjYwMDAwNUEyRTUxIC8qIF9XS1NhbWVEb2N1bWVu
dE5hdmlnYXRpb25UeXBlSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBMDAyRDQ0MTk2
QjMzODkwMEI5QUQ0NCAvKiBfV0tTZXNzaW9uU3RhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTFB
MDAyRDQzMTk2QjMzNzAwMEI5QUQ0NCAvKiBfV0tTZXNzaW9uU3RhdGVJbnRlcm5hbC5oIGluIEhl
YWRlcnMgKi8sCisJCQkJODY0NDg5MEIyN0I0NzAyMDAwN0ExQzY2IC8qIF9XS1N5c3RlbVByZWZl
cmVuY2VzLmggaW4gSGVhZGVycyAqLywKIAkJCQlGNEQ5ODVDODI2OTBGQzEyMDBCQkNDQkUgLyog
X1dLVGFwSGFuZGxpbmdSZXN1bHQuaCBpbiBIZWFkZXJzICovLAogCQkJCTJERTlCMTNBMjIzMUY2
MUMwMDUyODdCNyAvKiBfV0tUZXh0SW5wdXRDb250ZXh0LmggaW4gSGVhZGVycyAqLywKIAkJCQky
REU5QjEzQzIyMzFGNzdDMDA1Mjg3QjcgLyogX1dLVGV4dElucHV0Q29udGV4dEludGVybmFsLmgg
aW4gSGVhZGVycyAqLywK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>451590</attachid>
            <date>2022-02-10 12:49:22 -0800</date>
            <delta_ts>2022-02-10 13:37:35 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-236135-20220210124921.patch</filename>
            <type>text/plain</type>
            <size>22907</size>
            <attacher name="Gavin">gavin.p</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg5NTU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGYyNmUwMDhhNWQ4ODJkYTkw
MDUyMDg4OTQ4Y2U3ZGZjZTY1NWRlMmUuLjM2MjFjYTIwZjRmNWNiNTJlY2Y3MzliM2E1OWQ1NDMx
OGU2YzljOGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzQgQEAKKzIwMjItMDItMTAgIEdhdmluIFBo
aWxsaXBzICA8Z2F2aW4ucEBhcHBsZS5jb20+CisKKyAgICAgICAgVXBkYXRlIHByZWZlcmVuY2Ug
bG9jYXRpb24gdXNlZCBmb3IgQ2FwdGl2ZVBvcnRhbE1vZGUuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzYxMzUKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzg4NDg2NTQ0PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogUGxhdGZvcm1NYWMuY21ha2U6CisgICAgICAgICogU291cmNlc0NvY29hLnR4dDoK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS1N5c3RlbVByZWZlcmVuY2VzLmg6IEFk
ZGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLU3lzdGVtUHJlZmVyZW5jZXMu
bW06IEFkZGVkLgorICAgICAgICAoK1tfV0tTeXN0ZW1QcmVmZXJlbmNlcyBpc0NhcHRpdmVQb3J0
YWxNb2RlRW5hYmxlZEdsb2JhbGx5XSk6CisgICAgICAgICgrW19XS1N5c3RlbVByZWZlcmVuY2Vz
IHNldENhcHRpdmVQb3J0YWxNb2RlRW5hYmxlZEdsb2JhbGx5Ol0pOgorICAgICAgICAoK1tfV0tT
eXN0ZW1QcmVmZXJlbmNlcyBpc0NhcHRpdmVQb3J0YWxNb2RlSWdub3JlZEZvckNvbnRhaW5lcjpd
KToKKyAgICAgICAgKCtbX1dLU3lzdGVtUHJlZmVyZW5jZXMgc2V0Q2FwdGl2ZVBvcnRhbE1vZGVJ
Z25vcmVkRm9yQ29udGFpbmVyOmlnbm9yZTpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2Ev
UHJlZmVyZW5jZU9ic2VydmVyLm1tOgorICAgICAgICAoLVtXS1VzZXJEZWZhdWx0cyBmaW5kUHJl
ZmVyZW5jZUNoYW5nZXNBbmROb3RpZnlGb3JLZXlzOnRvVmFsdWVzRm9yS2V5czpdKToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW06CisgICAgICAgICogVUlQ
cm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6Oldl
YlByb2Nlc3NQb29sOjpjYXB0aXZlUG9ydGFsTW9kZUNvbmZpZ1VwZGF0ZUNhbGxiYWNrKToKKyAg
ICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OnJlZ2lzdGVyTm90aWZpY2F0aW9uT2JzZXJ2
ZXJzKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OnVucmVnaXN0ZXJOb3RpZmlj
YXRpb25PYnNlcnZlcnMpOgorICAgICAgICAoV2ViS2l0Ojppc0NhcHRpdmVQb3J0YWxNb2RlRW5h
YmxlZEJ5U3lzdGVtSWdub3JpbmdDYWNoaW5nKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vz
c1Bvb2w6Om5vdGlmeVByZWZlcmVuY2VzQ2hhbmdlZCk6CisgICAgICAgICogVUlQcm9jZXNzL1dl
YlByb2Nlc3NQb29sLmg6CisgICAgICAgICogVUlQcm9jZXNzL21hYy9EaXNwbGF5Q2FwdHVyZVNl
c3Npb25NYW5hZ2VyLmg6CisgICAgICAgICogVUlQcm9jZXNzL21hYy9EaXNwbGF5Q2FwdHVyZVNl
c3Npb25NYW5hZ2VyLm1tOgorICAgICAgICAoV2ViS2l0OjpEaXNwbGF5Q2FwdHVyZVNlc3Npb25N
YW5hZ2VyOjpwcm9tcHRGb3JHZXREaXNwbGF5TWVkaWEpOgorICAgICAgICAqIFdlYktpdC54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qOgorCiAyMDIyLTAyLTEwICBXZW5zb24gSHNpZWggIDx3ZW5z
b25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFN1cHBvcnQgYFdlYlBhZ2VQcm94eTo6cmVw
bGFjZVNlbGVjdGlvbldpdGhQYXN0ZWJvYXJkRGF0YSgpYCBvbiBpT1MKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvUGxhdGZvcm1NYWMuY21ha2UgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtTWFj
LmNtYWtlCmluZGV4IGUyOTY2ZDUxM2JiNTgzOWRmMTJiMzIyYWYyZWViMDU0ZWI0ZDY2NTUuLjEw
MGRmODBiMjdjYTc4MDEwYjJmMWRkODA3MzYxNzQ0MGQ1MjZhNzQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvUGxhdGZvcm1NYWMuY21ha2UKKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybU1h
Yy5jbWFrZQpAQCAtNDYwLDYgKzQ2MCw3IEBAIGxpc3QoQVBQRU5EIFdlYktpdF9QVUJMSUNfRlJB
TUVXT1JLX0hFQURFUlMKICAgICBVSVByb2Nlc3MvQVBJL0NvY29hL19XS1Jlc291cmNlTG9hZFN0
YXRpc3RpY3NGaXJzdFBhcnR5LmgKICAgICBVSVByb2Nlc3MvQVBJL0NvY29hL19XS1Jlc291cmNl
TG9hZFN0YXRpc3RpY3NUaGlyZFBhcnR5LmgKICAgICBVSVByb2Nlc3MvQVBJL0NvY29hL19XS1Nl
c3Npb25TdGF0ZS5oCisgICAgVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tTeXN0ZW1QcmVmZXJlbmNl
cy5oCiAgICAgVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tUYXBIYW5kbGluZ1Jlc3VsdC5oCiAgICAg
VUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tUZXh0SW5wdXRDb250ZXh0LmgKICAgICBVSVByb2Nlc3Mv
QVBJL0NvY29hL19XS1RleHRNYW5pcHVsYXRpb25Db25maWd1cmF0aW9uLmgKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dCBiL1NvdXJjZS9XZWJLaXQvU291cmNlc0Nv
Y29hLnR4dAppbmRleCA5ODk3NGZhMDhiNTlkNDc3YzIzMWZiNWQzZmEyNzFhMDliMmQ1ZDAxLi4z
MDg0YzFlODA4NWJkODQ5ODk2YWNhYTI5ZjE5YTQ0NjA5MWEyZjQ3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQKKysrIGIvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29j
b2EudHh0CkBAIC0yOTUsNiArMjk1LDcgQEAgVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tQcm9jZXNz
UG9vbENvbmZpZ3VyYXRpb24ubW0KIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLUmVtb3RlV2ViSW5z
cGVjdG9yVmlld0NvbnRyb2xsZXIubW0KIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLUmVzb3VyY2VM
b2FkSW5mby5tbQogVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tTZXNzaW9uU3RhdGUubW0KK1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvX1dLU3lzdGVtUHJlZmVyZW5jZXMubW0KIFVJUHJvY2Vzcy9BUEkvQ29j
b2EvX1dLVGV4dElucHV0Q29udGV4dC5tbQogVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tUZXh0TWFu
aXB1bGF0aW9uQ29uZmlndXJhdGlvbi5tbQogVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tUZXh0TWFu
aXB1bGF0aW9uRXhjbHVzaW9uUnVsZS5tbQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0NvY29hL19XS1N5c3RlbVByZWZlcmVuY2VzLmggYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvX1dLU3lzdGVtUHJlZmVyZW5jZXMuaApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NTI2
MWNkOWMyMzNhNjliZTdmNTdjOTVkODlhYjU0MjcyNTlmZTA4Ci0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1N5c3RlbVByZWZlcmVuY2VzLmgK
QEAgLTAsMCArMSwzNyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMiBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgPEZvdW5kYXRpb24vRm91bmRh
dGlvbi5oPgorI2ltcG9ydCA8V2ViS2l0L1dLRm91bmRhdGlvbi5oPgorCitXS19DTEFTU19BVkFJ
TEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSkKK0BpbnRlcmZhY2UgX1dL
U3lzdGVtUHJlZmVyZW5jZXMgOiBOU09iamVjdAorCisrIChCT09MKWlzQ2FwdGl2ZVBvcnRhbE1v
ZGVFbmFibGVkR2xvYmFsbHk7CisrICh2b2lkKXNldENhcHRpdmVQb3J0YWxNb2RlRW5hYmxlZEds
b2JhbGx5OihCT09MKWVuYWJsZWQ7CisrIChCT09MKWlzQ2FwdGl2ZVBvcnRhbE1vZGVJZ25vcmVk
Rm9yQ29udGFpbmVyOihOU1N0cmluZyAqKWNvbnRhaW5lclBhdGg7CisrICh2b2lkKXNldENhcHRp
dmVQb3J0YWxNb2RlSWdub3JlZEZvckNvbnRhaW5lcjooTlNTdHJpbmcgKiljb250YWluZXJQYXRo
IGlnbm9yZTooQk9PTClpZ25vcmU7CisKK0BlbmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tTeXN0ZW1QcmVmZXJlbmNlcy5tbSBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tTeXN0ZW1QcmVmZXJlbmNlcy5tbQpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mOWMxNTMyZWVlY2JmM2VlNWI3YTQxODk4ZjcxMjgzYjlmYzZjNDhhCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1N5c3RlbVByZWZlcmVu
Y2VzLm1tCkBAIC0wLDAgKzEsNzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjIgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
KyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0ICJjb25maWcuaCIK
KyNpbXBvcnQgIl9XS1N5c3RlbVByZWZlcmVuY2VzLmgiCisKKyNpbXBvcnQgPHd0Zi9Bc3NlcnRp
b25zLmg+CisjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CisKK0BpbXBsZW1lbnRhdGlvbiBfV0tT
eXN0ZW1QcmVmZXJlbmNlcworCisrIChCT09MKWlzQ2FwdGl2ZVBvcnRhbE1vZGVFbmFibGVkR2xv
YmFsbHkKK3sKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorICAgIGF1dG8gcHJlZmVyZW5j
ZVZhbHVlID0gYWRvcHRDRihDRlByZWZlcmVuY2VzQ29weVZhbHVlKENGU1RSKCJXS0NhcHRpdmVQ
b3J0YWxNb2RlRW5hYmxlZCIpLCBrQ0ZQcmVmZXJlbmNlc0FueUFwcGxpY2F0aW9uLCBrQ0ZQcmVm
ZXJlbmNlc0FueVVzZXIsIGtDRlByZWZlcmVuY2VzQ3VycmVudEhvc3QpKTsKKyAgICByZXR1cm4g
cHJlZmVyZW5jZVZhbHVlLmdldCgpID09IGtDRkJvb2xlYW5UcnVlOworI2Vsc2UKKyAgICByZXR1
cm4gZmFsc2U7CisjZW5kaWYKK30KKworKyAodm9pZClzZXRDYXB0aXZlUG9ydGFsTW9kZUVuYWJs
ZWRHbG9iYWxseTooQk9PTCllbmFibGVkCit7CisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykK
KyAgICBDRlByZWZlcmVuY2VzU2V0VmFsdWUoQ0ZTVFIoIldLQ2FwdGl2ZVBvcnRhbE1vZGVFbmFi
bGVkIiksIGVuYWJsZWQgPyBrQ0ZCb29sZWFuVHJ1ZSA6IGtDRkJvb2xlYW5GYWxzZSwga0NGUHJl
ZmVyZW5jZXNBbnlBcHBsaWNhdGlvbiwga0NGUHJlZmVyZW5jZXNBbnlVc2VyLCBrQ0ZQcmVmZXJl
bmNlc0N1cnJlbnRIb3N0KTsKKyAgICBDRlByZWZlcmVuY2VzU3luY2hyb25pemUoa0NGUHJlZmVy
ZW5jZXNBbnlBcHBsaWNhdGlvbiwga0NGUHJlZmVyZW5jZXNBbnlVc2VyLCBrQ0ZQcmVmZXJlbmNl
c0FueUhvc3QpOworI2VuZGlmCit9CisKKysgKEJPT0wpaXNDYXB0aXZlUG9ydGFsTW9kZUlnbm9y
ZWRGb3JDb250YWluZXI6KE5TU3RyaW5nICopY29udGFpbmVyUGF0aAoreworI2lmIFVTRShBUFBM
RV9JTlRFUk5BTF9TREspICYmIFBMQVRGT1JNKElPU19GQU1JTFkpCisgICAgTlNTdHJpbmcgKmNw
bWNvbmZpZ0lnbm9yZUZpbGVQYXRoID0gW2NvbnRhaW5lclBhdGggc3RyaW5nQnlBcHBlbmRpbmdQ
YXRoQ29tcG9uZW50OkAiTGlicmFyeS9QcmVmZXJlbmNlcy9jb20uYXBwbGUuV2ViS2l0LmNwbWNv
bmZpZ19pZ25vcmUiXTsKKyAgICByZXR1cm4gW1tOU0ZpbGVNYW5hZ2VyIGRlZmF1bHRNYW5hZ2Vy
XSBmaWxlRXhpc3RzQXRQYXRoOmNwbWNvbmZpZ0lnbm9yZUZpbGVQYXRoXTsKKyNlbHNlCisgICAg
cmV0dXJuIGZhbHNlOworI2VuZGlmCit9CisKKysgKHZvaWQpc2V0Q2FwdGl2ZVBvcnRhbE1vZGVJ
Z25vcmVkRm9yQ29udGFpbmVyOihOU1N0cmluZyAqKWNvbnRhaW5lclBhdGggaWdub3JlOihCT09M
KWlnbm9yZQoreworI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspICYmIFBMQVRGT1JNKElPU19G
QU1JTFkpCisgICAgTlNTdHJpbmcgKmNwbWNvbmZpZ0lnbm9yZUZpbGVQYXRoID0gW2NvbnRhaW5l
clBhdGggc3RyaW5nQnlBcHBlbmRpbmdQYXRoQ29tcG9uZW50OkAiTGlicmFyeS9QcmVmZXJlbmNl
cy9jb20uYXBwbGUuV2ViS2l0LmNwbWNvbmZpZ19pZ25vcmUiXTsKKyAgICAKKyAgICBpZiAoW1tO
U0ZpbGVNYW5hZ2VyIGRlZmF1bHRNYW5hZ2VyXSBmaWxlRXhpc3RzQXRQYXRoOmNwbWNvbmZpZ0ln
bm9yZUZpbGVQYXRoXSA9PSBpZ25vcmUpCisgICAgICAgIHJldHVybjsKKyAgICAKKyAgICBpZiAo
aWdub3JlKQorICAgICAgICBbW05TRmlsZU1hbmFnZXIgZGVmYXVsdE1hbmFnZXJdIGNyZWF0ZUZp
bGVBdFBhdGg6Y3BtY29uZmlnSWdub3JlRmlsZVBhdGggY29udGVudHM6TlVMTCBhdHRyaWJ1dGVz
Ok5VTExdOworICAgIGVsc2UKKyAgICAgICAgW1tOU0ZpbGVNYW5hZ2VyIGRlZmF1bHRNYW5hZ2Vy
XSByZW1vdmVJdGVtQXRQYXRoOmNwbWNvbmZpZ0lnbm9yZUZpbGVQYXRoIGVycm9yOk5VTExdOwor
CisgICAgQ0ZOb3RpZmljYXRpb25DZW50ZXJQb3N0Tm90aWZpY2F0aW9uKENGTm90aWZpY2F0aW9u
Q2VudGVyR2V0RGFyd2luTm90aWZ5Q2VudGVyKCksIENGU1RSKCJjb20uYXBwbGUuV2ViS2l0LmNw
bWNvbmZpZyIpLCBudWxscHRyLCBudWxscHRyLCB0cnVlKTsKKyNlbmRpZgorfQorCitAZW5kCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9QcmVmZXJlbmNlT2JzZXJ2
ZXIubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9QcmVmZXJlbmNlT2JzZXJ2ZXIu
bW0KaW5kZXggMzRiZmE3OTI1ZDVkNDRlMGU5ZTgxMjAyNDc5ZTc3NTgxNWVhYzZiYy4uMGE2MWM3
NTE0MTZhMTRjOWIwNzEwMzhlOTk5MTM1YWFhN2Y4ZjkzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQ29jb2EvUHJlZmVyZW5jZU9ic2VydmVyLm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0NvY29hL1ByZWZlcmVuY2VPYnNlcnZlci5tbQpAQCAtNzEsNiArNzEs
NyBAQAogICAgICAgICAgICAgZW5jb2RlZFN0cmluZyA9IFtkYXRhIGJhc2U2NEVuY29kZWRTdHJp
bmdXaXRoT3B0aW9uczowXTsKICAgICAgICAgfQogCisgICAgICAgIGF1dG8gc3lzdGVtVmFsdWUg
PSBhZG9wdENGKENGUHJlZmVyZW5jZXNDb3B5VmFsdWUoKF9fYnJpZGdlIENGU3RyaW5nUmVmKWtl
eSwga0NGUHJlZmVyZW5jZXNBbnlBcHBsaWNhdGlvbiwga0NGUHJlZmVyZW5jZXNBbnlVc2VyLCBr
Q0ZQcmVmZXJlbmNlc0FueUhvc3QpKTsKICAgICAgICAgYXV0byBnbG9iYWxWYWx1ZSA9IGFkb3B0
Q0YoQ0ZQcmVmZXJlbmNlc0NvcHlWYWx1ZSgoX19icmlkZ2UgQ0ZTdHJpbmdSZWYpa2V5LCBrQ0ZQ
cmVmZXJlbmNlc0FueUFwcGxpY2F0aW9uLCBrQ0ZQcmVmZXJlbmNlc0N1cnJlbnRVc2VyLCBrQ0ZQ
cmVmZXJlbmNlc0FueUhvc3QpKTsKICAgICAgICAgYXV0byBkb21haW5WYWx1ZSA9IGFkb3B0Q0Yo
Q0ZQcmVmZXJlbmNlc0NvcHlWYWx1ZSgoX19icmlkZ2UgQ0ZTdHJpbmdSZWYpa2V5LCAoX19icmlk
Z2UgQ0ZTdHJpbmdSZWYpbV9zdWl0ZU5hbWUuZ2V0KCksIGtDRlByZWZlcmVuY2VzQ3VycmVudFVz
ZXIsIGtDRlByZWZlcmVuY2VzQW55SG9zdCkpOwogCkBAIC03OCw3ICs3OSw3IEBACiAgICAgICAg
ICAgICByZXR1cm4gYSA9PSBiIHx8IFthIGlzRXF1YWw6Yl07CiAgICAgICAgIH07CiAKLSAgICAg
ICAgaWYgKHByZWZlcmVuY2VWYWx1ZXNBcmVFcXVhbCgoX19icmlkZ2UgaWQpZ2xvYmFsVmFsdWUu
Z2V0KCksIG5ld1ZhbHVlKSkKKyAgICAgICAgaWYgKHByZWZlcmVuY2VWYWx1ZXNBcmVFcXVhbCgo
X19icmlkZ2UgaWQpc3lzdGVtVmFsdWUuZ2V0KCksIG5ld1ZhbHVlKSB8fCBwcmVmZXJlbmNlVmFs
dWVzQXJlRXF1YWwoKF9fYnJpZGdlIGlkKWdsb2JhbFZhbHVlLmdldCgpLCBuZXdWYWx1ZSkpCiAg
ICAgICAgICAgICBbbV9vYnNlcnZlciBwcmVmZXJlbmNlRGlkQ2hhbmdlOm5pbCBrZXk6a2V5IGVu
Y29kZWRWYWx1ZTplbmNvZGVkU3RyaW5nXTsKIAogICAgICAgICBpZiAocHJlZmVyZW5jZVZhbHVl
c0FyZUVxdWFsKChfX2JyaWRnZSBpZClkb21haW5WYWx1ZS5nZXQoKSwgbmV3VmFsdWUpKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2Eu
bW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbQpp
bmRleCAwMjYzNmI1MTg4ZTNhYzYyZmQ1YzI2ZTMxYjM2NWJhNzJjMjAzYWYyLi4zYzQ3M2E1OGVl
ZmRlZTcwOWZiYTUyNTEyZDNmZDg4MDc3MGZiNzlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbQpAQCAtMzcsMTIgKzM3LDE0IEBA
CiAjaW1wb3J0ICJMb2FkUGFyYW1ldGVycy5oIgogI2ltcG9ydCAiTW9kYWxDb250YWluZXJDb250
cm9sQ2xhc3NpZmllci5oIgogI2ltcG9ydCAiUGFnZUNsaWVudC5oIgorI2ltcG9ydCAiUGxheWJh
Y2tTZXNzaW9uTWFuYWdlclByb3h5LmgiCiAjaW1wb3J0ICJRdWFyYW50aW5lU1BJLmgiCiAjaW1w
b3J0ICJRdWlja0xvb2tUaHVtYm5haWxMb2FkZXIuaCIKICNpbXBvcnQgIlNhZmVCcm93c2luZ1NQ
SS5oIgogI2ltcG9ydCAiU2FmZUJyb3dzaW5nV2FybmluZy5oIgogI2ltcG9ydCAiU2hhcmVkQnVm
ZmVyQ29weS5oIgogI2ltcG9ydCAiU3luYXBzZVNQSS5oIgorI2ltcG9ydCAiVmlkZW9GdWxsc2Ny
ZWVuTWFuYWdlclByb3h5LmgiCiAjaW1wb3J0ICJXZWJDb250ZXh0TWVudVByb3h5LmgiCiAjaW1w
b3J0ICJXZWJQYWdlLmgiCiAjaW1wb3J0ICJXZWJQYWdlTWVzc2FnZXMuaCIKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0gYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCmluZGV4
IGM3ODY1NjkxNGE2NjQwZWQyZjJjOTkzZmI2YWZmYTNkMGNiZDZkMGQuLjNiY2VjMjcxMWNmMjY3
NGQ0MmViZDNmNTE4NTI1ODI3ZjU3NTA2YmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQpAQCAtNTIsNiArNTIsNyBAQAog
I2ltcG9ydCAiV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIgogI2ltcG9ydCAiV2ViUHJv
Y2Vzc01lc3NhZ2VzLmgiCiAjaW1wb3J0ICJXaW5kb3dTZXJ2ZXJDb25uZWN0aW9uLmgiCisjaW1w
b3J0ICJfV0tTeXN0ZW1QcmVmZXJlbmNlcy5oIgogI2ltcG9ydCA8V2ViQ29yZS9BR1hDb21waWxl
clNlcnZpY2UuaD4KICNpbXBvcnQgPFdlYkNvcmUvQ29sb3IuaD4KICNpbXBvcnQgPFdlYkNvcmUv
TG9jYWxpemVkRGV2aWNlTW9kZWwuaD4KQEAgLTcwLDYgKzcxLDcgQEAKICNpbXBvcnQgPHd0Zi9G
aWxlU3lzdGVtLmg+CiAjaW1wb3J0IDx3dGYvUHJvY2Vzc1ByaXZpbGVnZS5oPgogI2ltcG9ydCA8
d3RmL1NvZnRMaW5raW5nLmg+CisjaW1wb3J0IDx3dGYvY2YvVHlwZUNhc3RzQ0YuaD4KICNpbXBv
cnQgPHd0Zi9jb2NvYS9FbnRpdGxlbWVudHMuaD4KICNpbXBvcnQgPHd0Zi9jb2NvYS9SdW50aW1l
QXBwbGljYXRpb25DaGVja3NDb2NvYS5oPgogI2ltcG9ydCA8d3RmL2NvY29hL1R5cGVDYXN0c0Nv
Y29hLmg+CkBAIC0xMjgsNyArMTMwLDggQEAgTlNTdHJpbmcgKldlYktpdEpTQ0ZUTEpJVEVuYWJs
ZWREZWZhdWx0c0tleSA9IEAiV2ViS2l0SlNDRlRMSklURW5hYmxlZERlZmF1bHRzS2UKIHN0YXRp
YyBOU1N0cmluZyAqV2ViS2l0QXBwbGljYXRpb25EaWRDaGFuZ2VBY2Nlc3NpYmlsaXR5RW5oYW5j
ZWRVc2VySW50ZXJmYWNlTm90aWZpY2F0aW9uID0gQCJOU0FwcGxpY2F0aW9uRGlkQ2hhbmdlQWNj
ZXNzaWJpbGl0eUVuaGFuY2VkVXNlckludGVyZmFjZU5vdGlmaWNhdGlvbiI7CiBzdGF0aWMgQ0ZT
dHJpbmdSZWYgQXBwbGVDb2xvclByZWZlcmVuY2VzQ2hhbmdlZE5vdGlmaWNhdGlvbiA9IENGU1RS
KCJBcHBsZUNvbG9yUHJlZmVyZW5jZXNDaGFuZ2VkTm90aWZpY2F0aW9uIik7CiAjZW5kaWYKLXN0
YXRpYyBjb25zdCBjaGFyKiBjb25zdCBXZWJLaXRDYXB0aXZlUG9ydGFsTW9kZUNoYW5nZWROb3Rp
ZmljYXRpb24gPSAiV2ViS2l0Q2FwdGl2ZVBvcnRhbE1vZGVFbmFibGVkIjsKK2NvbnN0ZXhwciBh
dXRvIFdlYktpdENhcHRpdmVQb3J0YWxNb2RlQ2hhbmdlZE5vdGlmaWNhdGlvbl9MZWdhY3kgPSAi
V2ViS2l0Q2FwdGl2ZVBvcnRhbE1vZGVFbmFibGVkIjsKK2NvbnN0ZXhwciBhdXRvIFdlYktpdENh
cHRpdmVQb3J0YWxNb2RlQ2hhbmdlZE5vdGlmaWNhdGlvbiA9ICJXS0NhcHRpdmVQb3J0YWxNb2Rl
RW5hYmxlZCI7CiAKIHN0YXRpYyBOU1N0cmluZyAqIGNvbnN0IFdlYktpdFN1cHByZXNzTWVtb3J5
UHJlc3N1cmVIYW5kbGVyRGVmYXVsdHNLZXkgPSBAIldlYktpdFN1cHByZXNzTWVtb3J5UHJlc3N1
cmVIYW5kbGVyIjsKIApAQCAtNjIyLDYgKzYyNSwxMiBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjpy
ZW1vdGVXZWJJbnNwZWN0b3JFbmFibGVkQ2FsbGJhY2soQ0ZOb3RpZmljYXRpb25DZW50ZXJSZWYs
CiB9CiAjZW5kaWYKIAordm9pZCBXZWJQcm9jZXNzUG9vbDo6Y2FwdGl2ZVBvcnRhbE1vZGVDb25m
aWdVcGRhdGVDYWxsYmFjayhDRk5vdGlmaWNhdGlvbkNlbnRlclJlZiwgdm9pZCogb2JzZXJ2ZXIs
IENGU3RyaW5nUmVmLCBjb25zdCB2b2lkKiwgQ0ZEaWN0aW9uYXJ5UmVmKQoreworICAgIGlmIChh
dXRvIHBvb2wgPSBleHRyYWN0V2ViUHJvY2Vzc1Bvb2wob2JzZXJ2ZXIpKQorICAgICAgICBwb29s
LT5jYXB0aXZlUG9ydGFsTW9kZVN0YXRlQ2hhbmdlZCgpOworfQorCiAjaWYgRU5BQkxFKENGUFJF
RlNfRElSRUNUX01PREUpCiB2b2lkIFdlYlByb2Nlc3NQb29sOjpzdGFydE9ic2VydmluZ1ByZWZl
cmVuY2VDaGFuZ2VzKCkKIHsKQEAgLTczNSw2ICs3NDQsMTAgQEAgdm9pZCBXZWJQcm9jZXNzUG9v
bDo6cmVnaXN0ZXJOb3RpZmljYXRpb25PYnNlcnZlcnMoKQogICAgICAgICBzZW5kVG9BbGxQcm9j
ZXNzZXMoTWVzc2FnZXM6OldlYlByb2Nlc3M6OlBvd2VyU291cmNlRGlkQ2hhbmdlKGhhc0FDKSk7
CiAgICAgfSk7CiAKKyNpZiBQTEFURk9STShJT1NfRkFNSUxZKQorICAgIGFkZENGTm90aWZpY2F0
aW9uT2JzZXJ2ZXIoY2FwdGl2ZVBvcnRhbE1vZGVDb25maWdVcGRhdGVDYWxsYmFjaywgQ0ZTVFIo
ImNvbS5hcHBsZS5XZWJLaXQuY3BtY29uZmlnIikpOworI2VuZGlmCisKICNpZiBIQVZFKFBFUl9B
UFBfQUNDRVNTSUJJTElUWV9QUkVGRVJFTkNFUykKICAgICBhZGRDRk5vdGlmaWNhdGlvbk9ic2Vy
dmVyKGFjY2Vzc2liaWxpdHlQcmVmZXJlbmNlc0NoYW5nZWRDYWxsYmFjaywga0FYU1JlZHVjZU1v
dGlvbkNoYW5nZWROb3RpZmljYXRpb24pOwogICAgIGFkZENGTm90aWZpY2F0aW9uT2JzZXJ2ZXIo
YWNjZXNzaWJpbGl0eVByZWZlcmVuY2VzQ2hhbmdlZENhbGxiYWNrLCBrQVhTSW5jcmVhc2VCdXR0
b25MZWdpYmlsaXR5Tm90aWZpY2F0aW9uKTsKQEAgLTc3OCw2ICs3OTEsMTAgQEAgdm9pZCBXZWJQ
cm9jZXNzUG9vbDo6dW5yZWdpc3Rlck5vdGlmaWNhdGlvbk9ic2VydmVycygpCiAgICAgW1tOU05v
dGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSByZW1vdmVPYnNlcnZlcjptX2FjdGl2YXRp
b25PYnNlcnZlci5nZXQoKV07CiAKICAgICBtX3Bvd2VyU291cmNlTm90aWZpZXIgPSBudWxscHRy
OworICAgIAorI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCisgICAgcmVtb3ZlQ0ZOb3RpZmljYXRp
b25PYnNlcnZlcihDRlNUUigiY29tLmFwcGxlLldlYktpdC5jcG1jb25maWciKSk7CisjZW5kaWYK
IAogI2lmIEhBVkUoUEVSX0FQUF9BQ0NFU1NJQklMSVRZX1BSRUZFUkVOQ0VTKQogICAgIHJlbW92
ZUNGTm90aWZpY2F0aW9uT2JzZXJ2ZXIoa0FYU1JlZHVjZU1vdGlvbkNoYW5nZWROb3RpZmljYXRp
b24pOwpAQCAtOTMwLDcgKzk0NywyMyBAQCBzdGF0aWMgYm9vbCBpc0NhcHRpdmVQb3J0YWxNb2Rl
RW5hYmxlZEJ5U3lzdGVtSWdub3JpbmdDYWNoaW5nKCkKICAgICBpZiAoYXV0byYgZW5hYmxlZEZv
clRlc3RpbmcgPSBpc0NhcHRpdmVQb3J0YWxNb2RlRW5hYmxlZEdsb2JhbGx5Rm9yVGVzdGluZygp
KQogICAgICAgICByZXR1cm4gKmVuYWJsZWRGb3JUZXN0aW5nOwogCi0gICAgcmV0dXJuIFtbTlNV
c2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIGJvb2xGb3JLZXk6W05TU3RyaW5nIHN0
cmluZ1dpdGhVVEY4U3RyaW5nOldlYktpdENhcHRpdmVQb3J0YWxNb2RlQ2hhbmdlZE5vdGlmaWNh
dGlvbl1dOworICAgIGlmIChbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSBi
b29sRm9yS2V5OltOU1N0cmluZyBzdHJpbmdXaXRoVVRGOFN0cmluZzpXZWJLaXRDYXB0aXZlUG9y
dGFsTW9kZUNoYW5nZWROb3RpZmljYXRpb25fTGVnYWN5XV0pCisgICAgICAgIHJldHVybiB0cnVl
OworCisgICAgaWYgKCFbX1dLU3lzdGVtUHJlZmVyZW5jZXMgaXNDYXB0aXZlUG9ydGFsTW9kZUVu
YWJsZWRHbG9iYWxseV0pCisgICAgICAgIHJldHVybiBmYWxzZTsKKworI2lmIFBMQVRGT1JNKElP
U19GQU1JTFkpCisgICAgaWYgKHByb2Nlc3NIYXNDb250YWluZXIoKSAmJiBbX1dLU3lzdGVtUHJl
ZmVyZW5jZXMgaXNDYXB0aXZlUG9ydGFsTW9kZUlnbm9yZWRGb3JDb250YWluZXI6cGF0aEZvclBy
b2Nlc3NDb250YWluZXIoKV0pCisgICAgICAgIHJldHVybiBmYWxzZTsKKyNlbmRpZgorICAgIAor
I2lmIFBMQVRGT1JNKE1BQykKKyAgICBpZiAoIVdlYkNvcmU6Ok1hY0FwcGxpY2F0aW9uOjppc1Nh
ZmFyaSgpICYmICFXZWJDb3JlOjpNYWNBcHBsaWNhdGlvbjo6aXNNaW5pQnJvd3NlcigpKQorICAg
ICAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYKKyAgICAKKyAgICByZXR1cm4gdHJ1ZTsKIH0KIAog
dm9pZCBXZWJQcm9jZXNzUG9vbDo6Y2FwdGl2ZVBvcnRhbE1vZGVTdGF0ZUNoYW5nZWQoKQpAQCAt
MTA2Myw3ICsxMDk2LDcgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6bm90aWZ5UHJlZmVyZW5jZXND
aGFuZ2VkKGNvbnN0IFN0cmluZyYgZG9tYWluLCBjb25zdCBTdHJpbmcKICAgICAgICAgd2ViQXV0
aG5Qcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJBdXRoblByb2Nlc3M6Ok5vdGlmeVByZWZlcmVu
Y2VzQ2hhbmdlZChkb21haW4sIGtleSwgZW5jb2RlZFZhbHVlKSwgMCk7CiAjZW5kaWYKIAotICAg
IGlmIChrZXkgPT0gV2ViS2l0Q2FwdGl2ZVBvcnRhbE1vZGVDaGFuZ2VkTm90aWZpY2F0aW9uKQor
ICAgIGlmIChrZXkgPT0gV2ViS2l0Q2FwdGl2ZVBvcnRhbE1vZGVDaGFuZ2VkTm90aWZpY2F0aW9u
IHx8IGtleSA9PSBXZWJLaXRDYXB0aXZlUG9ydGFsTW9kZUNoYW5nZWROb3RpZmljYXRpb25fTGVn
YWN5KQogICAgICAgICBjYXB0aXZlUG9ydGFsTW9kZVN0YXRlQ2hhbmdlZCgpOwogfQogI2VuZGlm
IC8vIEVOQUJMRShDRlBSRUZTX0RJUkVDVF9NT0RFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlByb2Nlc3NQb29sLmgKaW5kZXggZTI1M2E1ZTczYTQ4NjlhYjg5ZDQyMDcwODA2NmYxMDVlZTgx
MDg5OC4uOTdlZWJiYTA4NDFiYzA3MDFhYjg0NTQ1NmQxNzI4ZDIyNWQ0ZWFlNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oCkBAIC01ODMsNiArNTgzLDggQEAgcHJp
dmF0ZToKICAgICBzdGF0aWMgdm9pZCByZW1vdGVXZWJJbnNwZWN0b3JFbmFibGVkQ2FsbGJhY2so
Q0ZOb3RpZmljYXRpb25DZW50ZXJSZWYsIHZvaWQqIG9ic2VydmVyLCBDRlN0cmluZ1JlZiBuYW1l
LCBjb25zdCB2b2lkKiBwb3N0aW5nT2JqZWN0LCBDRkRpY3Rpb25hcnlSZWYgdXNlckluZm8pOwog
I2VuZGlmCiAjZW5kaWYKKyAgICAKKyAgICBzdGF0aWMgdm9pZCBjYXB0aXZlUG9ydGFsTW9kZUNv
bmZpZ1VwZGF0ZUNhbGxiYWNrKENGTm90aWZpY2F0aW9uQ2VudGVyUmVmLCB2b2lkKiBvYnNlcnZl
ciwgQ0ZTdHJpbmdSZWYgbmFtZSwgY29uc3Qgdm9pZCogcG9zdGluZ09iamVjdCwgQ0ZEaWN0aW9u
YXJ5UmVmIHVzZXJJbmZvKTsKIAogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIHN0YXRpYyB2b2lk
IGFjY2Vzc2liaWxpdHlQcmVmZXJlbmNlc0NoYW5nZWRDYWxsYmFjayhDRk5vdGlmaWNhdGlvbkNl
bnRlclJlZiwgdm9pZCogb2JzZXJ2ZXIsIENGU3RyaW5nUmVmIG5hbWUsIGNvbnN0IHZvaWQqIHBv
c3RpbmdPYmplY3QsIENGRGljdGlvbmFyeVJlZiB1c2VySW5mbyk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvRGlzcGxheUNhcHR1cmVTZXNzaW9uTWFuYWdlci5oIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL0Rpc3BsYXlDYXB0dXJlU2Vzc2lvbk1hbmFnZXIu
aAppbmRleCA2MGQ5M2IzYzZhMTI4ZmI2ZDE4YjM1ZTlhOTc2NmY3ZTlhZTMwMTBlLi44ZTA0Yjc2
Mzg4MzMzMDJiMjEzYTFjNDFhNGEzYmEzNmE0MzViOTY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9tYWMvRGlzcGxheUNhcHR1cmVTZXNzaW9uTWFuYWdlci5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9EaXNwbGF5Q2FwdHVyZVNlc3Npb25NYW5hZ2VyLmgK
QEAgLTI4LDYgKzI4LDcgQEAKICNpZiBQTEFURk9STShDT0NPQSkgJiYgRU5BQkxFKE1FRElBX1NU
UkVBTSkKIAogI2luY2x1ZGUgIlVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0UHJveHkuaCIKKyNp
bmNsdWRlICJXZWJQYWdlUHJveHkuaCIKICNpbmNsdWRlIDxXZWJDb3JlL1NlY3VyaXR5T3JpZ2lu
RGF0YS5oPgogI2luY2x1ZGUgPHd0Zi9Db21wbGV0aW9uSGFuZGxlci5oPgogI2luY2x1ZGUgPHd0
Zi9XZWFrUHRyLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvRGlz
cGxheUNhcHR1cmVTZXNzaW9uTWFuYWdlci5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21h
Yy9EaXNwbGF5Q2FwdHVyZVNlc3Npb25NYW5hZ2VyLm1tCmluZGV4IDc5OWY2ZjEzYTI0MjlmMGQ3
OTY2MjcyMTgwY2M2NGMzMDZhMjMyZWMuLjg5M2VlMjA1MzRjZDQ2NjZkZjgwYTBiMTAxZjlhYTg1
ZDIyN2FkZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9EaXNwbGF5
Q2FwdHVyZVNlc3Npb25NYW5hZ2VyLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21h
Yy9EaXNwbGF5Q2FwdHVyZVNlc3Npb25NYW5hZ2VyLm1tCkBAIC0yNTQsNyArMjU0LDcgQEAgRGlz
cGxheUNhcHR1cmVTZXNzaW9uTWFuYWdlcjo6fkRpc3BsYXlDYXB0dXJlU2Vzc2lvbk1hbmFnZXIo
KQogewogfQogCi12b2lkIERpc3BsYXlDYXB0dXJlU2Vzc2lvbk1hbmFnZXI6OnByb21wdEZvckdl
dERpc3BsYXlNZWRpYShVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdFByb3h5OjpVc2VyTWVkaWFE
aXNwbGF5Q2FwdHVyZVByb21wdFR5cGUgcHJvbXB0VHlwZSwgV2ViUGFnZVByb3h5JiBwYWdlLCBj
b25zdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEmIG9yaWdpbiwgQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZChzdGQ6Om9wdGlvbmFsPENhcHR1cmVEZXZpY2U+KT4mJiBjb21wbGV0aW9uSGFuZGxl
cikKK3ZvaWQgRGlzcGxheUNhcHR1cmVTZXNzaW9uTWFuYWdlcjo6cHJvbXB0Rm9yR2V0RGlzcGxh
eU1lZGlhKFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0UHJveHk6OlVzZXJNZWRpYURpc3BsYXlD
YXB0dXJlUHJvbXB0VHlwZSBwcm9tcHRUeXBlLCBXZWJQYWdlUHJveHkmIHBhZ2UsIGNvbnN0IFdl
YkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YSYgb3JpZ2luLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6Q2FwdHVyZURldmljZT4pPiYmIGNvbXBsZXRpb25IYW5k
bGVyKQogewogICAgIEFTU0VSVChpc0F2YWlsYWJsZSgpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQv
V2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNTk0MDIzYjZkZjYyNzExMGFk
ZjUxOWQ0NDNmNWFiNWI4YWZlNjQ2NC4uYzM3MDQ3OThmNzY1ZTFhYmVlZDFhZjFjMGZjY2ZiMzUy
NmI5YTY2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCkBAIC0xNDA5LDYgKzE0MDksNyBAQAogCQk4M0YxQTA3QTFGOTZFNzc5MDA0NUI5NEUg
LyogV2ViU1dPcmlnaW5UYWJsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gODNGMUEwNzgxRjk2RTc3MTAwNDVCOTRFIC8qIFdlYlNXT3JpZ2luVGFibGUu
aCAqLzsgfTsKIAkJODNGOTY0NEUxRkEwRjc2RTAwQzQ3NzUwIC8qIFNoYXJlZFN0cmluZ0hhc2hU
YWJsZVJlYWRPbmx5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA4M0Y5NjQ0QzFGQTBGNzYzMDBDNDc3NTAgLyogU2hhcmVkU3RyaW5nSGFzaFRhYmxlUmVh
ZE9ubHkuaCAqLzsgfTsKIAkJODQ0Nzc4NTMxNzZGQ0MwODAwQ0RDN0JCIC8qIEluamVjdGVkQnVu
ZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlwZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gODQ0Nzc4NTExNzZGQ0FDMTAwQ0RDN0JCIC8qIEluamVjdGVkQnVu
ZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlwZS5oICovOyB9OworCQk4NjQ0ODkwQjI3QjQ3MDIwMDA3
QTFDNjYgLyogX1dLU3lzdGVtUHJlZmVyZW5jZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2NDQ4OTBBMjdCNDcwMjAwMDdBMUM2NiAvKiBfV0tTeXN0
ZW1QcmVmZXJlbmNlcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCTg2RTY3QTI1MTkxMEI5RDEwMDAwNEFCNyAvKiBQcm9jZXNzVGhyb3R0bGVyLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NkU2N0EyMTE5
MEY0MTE4MDAwMDRBQjcgLyogUHJvY2Vzc1Rocm90dGxlci5oICovOyB9OwogCQk4NkY5NTM2NTE4
RkY1OEY1MDAxREIyRUYgLyogUHJvY2Vzc0Fzc2VydGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODZGOTUzNjAxOEZGNEZENDAwMURCMkVGIC8qIFBy
b2Nlc3NBc3NlcnRpb24uaCAqLzsgfTsKIAkJOERDMkVGNTMwNDg2QTY5NDAwOThCMjE2IC8qIElu
Zm9QbGlzdC5zdHJpbmdzIGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwODlDMTY2NkZFODQxMTU4QzAyQUFDMDcgLyogSW5mb1BsaXN0LnN0cmluZ3MgKi87
IH07CkBAIC01Mjg0LDYgKzUyODUsOCBAQAogCQk4M0Y5NjQ0QjFGQTBGNzYyMDBDNDc3NTAgLyog
U2hhcmVkU3RyaW5nSGFzaFRhYmxlUmVhZE9ubHkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gU2hhcmVkU3RyaW5nSGFzaFRhYmxlUmVhZE9ubHkuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk4M0Y5NjQ0QzFGQTBGNzYzMDBDNDc3NTAgLyogU2hhcmVk
U3RyaW5nSGFzaFRhYmxlUmVhZE9ubHkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gU2hhcmVkU3RyaW5nSGFzaFRhYmxlUmVhZE9ubHkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJODQ0Nzc4NTExNzZGQ0FDMTAwQ0RDN0JCIC8qIEluamVjdGVkQnVuZGxlSGl0VGVz
dFJlc3VsdE1lZGlhVHlwZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbmpl
Y3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJODY0NDg5MEEyN0I0NzAyMDAwN0ExQzY2IC8qIF9XS1N5c3RlbVByZWZlcmVuY2Vz
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IF9XS1N5c3RlbVByZWZlcmVuY2Vz
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg2NDQ4OTBDMjdCNDcwNDUwMDdBMUM2
NiAvKiBfV0tTeXN0ZW1QcmVmZXJlbmNlcy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IF9XS1N5
c3RlbVByZWZlcmVuY2VzLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NjgxNjBD
RDE4NzYzRDRCMDAyMUU3OUQgLyogV2luZG93U2VydmVyQ29ubmVjdGlvbi5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBXaW5kb3dTZXJ2ZXJDb25uZWN0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTg2ODE2MENGMTg3NjQ1MzcwMDIxRTc5RCAvKiBXaW5kb3dTZXJ2ZXJDb25uZWN0aW9uLm1t
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2luZG93U2VydmVyQ29ubmVjdGlvbi5tbTsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODZFNjdBMjExOTBGNDExODAwMDA0QUI3IC8qIFByb2Nl
c3NUaHJvdHRsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUHJvY2Vzc1Ro
cm90dGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtODg4MCw2ICs4ODgzLDgg
QEAKIAkJCQkxQTAwMkQzRjE5NkIzMjk0MDBCOUFENDQgLyogX1dLU2Vzc2lvblN0YXRlLmggKi8s
CiAJCQkJMUEwMDJEM0UxOTZCMzI5NDAwQjlBRDQ0IC8qIF9XS1Nlc3Npb25TdGF0ZS5tbSAqLywK
IAkJCQkxQTAwMkQ0MjE5NkIzMzcwMDBCOUFENDQgLyogX1dLU2Vzc2lvblN0YXRlSW50ZXJuYWwu
aCAqLywKKwkJCQk4NjQ0ODkwQTI3QjQ3MDIwMDA3QTFDNjYgLyogX1dLU3lzdGVtUHJlZmVyZW5j
ZXMuaCAqLywKKwkJCQk4NjQ0ODkwQzI3QjQ3MDQ1MDA3QTFDNjYgLyogX1dLU3lzdGVtUHJlZmVy
ZW5jZXMubW0gKi8sCiAJCQkJRjREOTg1QzcyNjkwRkJFRjAwQkJDQ0JFIC8qIF9XS1RhcEhhbmRs
aW5nUmVzdWx0LmggKi8sCiAJCQkJMkRFOUIxMzgyMjMxRjYxQzAwNTI4N0I3IC8qIF9XS1RleHRJ
bnB1dENvbnRleHQuaCAqLywKIAkJCQkyREU5QjEzNzIyMzFGNjFDMDA1Mjg3QjcgLyogX1dLVGV4
dElucHV0Q29udGV4dC5tbSAqLywKQEAgLTEyODc3LDYgKzEyODgyLDcgQEAKIAkJCQkzNzYzMTFG
RTFBM0ZCNjAwMDA1QTJFNTEgLyogX1dLU2FtZURvY3VtZW50TmF2aWdhdGlvblR5cGVJbnRlcm5h
bC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUEwMDJENDQxOTZCMzM4OTAwQjlBRDQ0IC8qIF9XS1Nl
c3Npb25TdGF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUEwMDJENDMxOTZCMzM3MDAwQjlBRDQ0
IC8qIF9XS1Nlc3Npb25TdGF0ZUludGVybmFsLmggaW4gSGVhZGVycyAqLywKKwkJCQk4NjQ0ODkw
QjI3QjQ3MDIwMDA3QTFDNjYgLyogX1dLU3lzdGVtUHJlZmVyZW5jZXMuaCBpbiBIZWFkZXJzICov
LAogCQkJCUY0RDk4NUM4MjY5MEZDMTIwMEJCQ0NCRSAvKiBfV0tUYXBIYW5kbGluZ1Jlc3VsdC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJMkRFOUIxM0EyMjMxRjYxQzAwNTI4N0I3IC8qIF9XS1RleHRJ
bnB1dENvbnRleHQuaCBpbiBIZWFkZXJzICovLAogCQkJCTJERTlCMTNDMjIzMUY3N0MwMDUyODdC
NyAvKiBfV0tUZXh0SW5wdXRDb250ZXh0SW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAo=
</data>
<flag name="commit-queue"
          id="478365"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>451594</attachid>
            <date>2022-02-10 13:25:07 -0800</date>
            <delta_ts>2022-02-10 14:40:57 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-236135-20220210132505.patch</filename>
            <type>text/plain</type>
            <size>22941</size>
            <attacher name="Gavin">gavin.p</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg5NTU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGYyNmUwMDhhNWQ4ODJkYTkw
MDUyMDg4OTQ4Y2U3ZGZjZTY1NWRlMmUuLjM2MjFjYTIwZjRmNWNiNTJlY2Y3MzliM2E1OWQ1NDMx
OGU2YzljOGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzQgQEAKKzIwMjItMDItMTAgIEdhdmluIFBo
aWxsaXBzICA8Z2F2aW4ucEBhcHBsZS5jb20+CisKKyAgICAgICAgVXBkYXRlIHByZWZlcmVuY2Ug
bG9jYXRpb24gdXNlZCBmb3IgQ2FwdGl2ZVBvcnRhbE1vZGUuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzYxMzUKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzg4NDg2NTQ0PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogUGxhdGZvcm1NYWMuY21ha2U6CisgICAgICAgICogU291cmNlc0NvY29hLnR4dDoK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS1N5c3RlbVByZWZlcmVuY2VzLmg6IEFk
ZGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLU3lzdGVtUHJlZmVyZW5jZXMu
bW06IEFkZGVkLgorICAgICAgICAoK1tfV0tTeXN0ZW1QcmVmZXJlbmNlcyBpc0NhcHRpdmVQb3J0
YWxNb2RlRW5hYmxlZEdsb2JhbGx5XSk6CisgICAgICAgICgrW19XS1N5c3RlbVByZWZlcmVuY2Vz
IHNldENhcHRpdmVQb3J0YWxNb2RlRW5hYmxlZEdsb2JhbGx5Ol0pOgorICAgICAgICAoK1tfV0tT
eXN0ZW1QcmVmZXJlbmNlcyBpc0NhcHRpdmVQb3J0YWxNb2RlSWdub3JlZEZvckNvbnRhaW5lcjpd
KToKKyAgICAgICAgKCtbX1dLU3lzdGVtUHJlZmVyZW5jZXMgc2V0Q2FwdGl2ZVBvcnRhbE1vZGVJ
Z25vcmVkRm9yQ29udGFpbmVyOmlnbm9yZTpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2Ev
UHJlZmVyZW5jZU9ic2VydmVyLm1tOgorICAgICAgICAoLVtXS1VzZXJEZWZhdWx0cyBmaW5kUHJl
ZmVyZW5jZUNoYW5nZXNBbmROb3RpZnlGb3JLZXlzOnRvVmFsdWVzRm9yS2V5czpdKToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW06CisgICAgICAgICogVUlQ
cm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6Oldl
YlByb2Nlc3NQb29sOjpjYXB0aXZlUG9ydGFsTW9kZUNvbmZpZ1VwZGF0ZUNhbGxiYWNrKToKKyAg
ICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OnJlZ2lzdGVyTm90aWZpY2F0aW9uT2JzZXJ2
ZXJzKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OnVucmVnaXN0ZXJOb3RpZmlj
YXRpb25PYnNlcnZlcnMpOgorICAgICAgICAoV2ViS2l0Ojppc0NhcHRpdmVQb3J0YWxNb2RlRW5h
YmxlZEJ5U3lzdGVtSWdub3JpbmdDYWNoaW5nKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vz
c1Bvb2w6Om5vdGlmeVByZWZlcmVuY2VzQ2hhbmdlZCk6CisgICAgICAgICogVUlQcm9jZXNzL1dl
YlByb2Nlc3NQb29sLmg6CisgICAgICAgICogVUlQcm9jZXNzL21hYy9EaXNwbGF5Q2FwdHVyZVNl
c3Npb25NYW5hZ2VyLmg6CisgICAgICAgICogVUlQcm9jZXNzL21hYy9EaXNwbGF5Q2FwdHVyZVNl
c3Npb25NYW5hZ2VyLm1tOgorICAgICAgICAoV2ViS2l0OjpEaXNwbGF5Q2FwdHVyZVNlc3Npb25N
YW5hZ2VyOjpwcm9tcHRGb3JHZXREaXNwbGF5TWVkaWEpOgorICAgICAgICAqIFdlYktpdC54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qOgorCiAyMDIyLTAyLTEwICBXZW5zb24gSHNpZWggIDx3ZW5z
b25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFN1cHBvcnQgYFdlYlBhZ2VQcm94eTo6cmVw
bGFjZVNlbGVjdGlvbldpdGhQYXN0ZWJvYXJkRGF0YSgpYCBvbiBpT1MKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvUGxhdGZvcm1NYWMuY21ha2UgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtTWFj
LmNtYWtlCmluZGV4IGUyOTY2ZDUxM2JiNTgzOWRmMTJiMzIyYWYyZWViMDU0ZWI0ZDY2NTUuLjEw
MGRmODBiMjdjYTc4MDEwYjJmMWRkODA3MzYxNzQ0MGQ1MjZhNzQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvUGxhdGZvcm1NYWMuY21ha2UKKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybU1h
Yy5jbWFrZQpAQCAtNDYwLDYgKzQ2MCw3IEBAIGxpc3QoQVBQRU5EIFdlYktpdF9QVUJMSUNfRlJB
TUVXT1JLX0hFQURFUlMKICAgICBVSVByb2Nlc3MvQVBJL0NvY29hL19XS1Jlc291cmNlTG9hZFN0
YXRpc3RpY3NGaXJzdFBhcnR5LmgKICAgICBVSVByb2Nlc3MvQVBJL0NvY29hL19XS1Jlc291cmNl
TG9hZFN0YXRpc3RpY3NUaGlyZFBhcnR5LmgKICAgICBVSVByb2Nlc3MvQVBJL0NvY29hL19XS1Nl
c3Npb25TdGF0ZS5oCisgICAgVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tTeXN0ZW1QcmVmZXJlbmNl
cy5oCiAgICAgVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tUYXBIYW5kbGluZ1Jlc3VsdC5oCiAgICAg
VUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tUZXh0SW5wdXRDb250ZXh0LmgKICAgICBVSVByb2Nlc3Mv
QVBJL0NvY29hL19XS1RleHRNYW5pcHVsYXRpb25Db25maWd1cmF0aW9uLmgKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dCBiL1NvdXJjZS9XZWJLaXQvU291cmNlc0Nv
Y29hLnR4dAppbmRleCA5ODk3NGZhMDhiNTlkNDc3YzIzMWZiNWQzZmEyNzFhMDliMmQ1ZDAxLi4z
MDg0YzFlODA4NWJkODQ5ODk2YWNhYTI5ZjE5YTQ0NjA5MWEyZjQ3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQKKysrIGIvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29j
b2EudHh0CkBAIC0yOTUsNiArMjk1LDcgQEAgVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tQcm9jZXNz
UG9vbENvbmZpZ3VyYXRpb24ubW0KIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLUmVtb3RlV2ViSW5z
cGVjdG9yVmlld0NvbnRyb2xsZXIubW0KIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLUmVzb3VyY2VM
b2FkSW5mby5tbQogVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tTZXNzaW9uU3RhdGUubW0KK1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvX1dLU3lzdGVtUHJlZmVyZW5jZXMubW0KIFVJUHJvY2Vzcy9BUEkvQ29j
b2EvX1dLVGV4dElucHV0Q29udGV4dC5tbQogVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tUZXh0TWFu
aXB1bGF0aW9uQ29uZmlndXJhdGlvbi5tbQogVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tUZXh0TWFu
aXB1bGF0aW9uRXhjbHVzaW9uUnVsZS5tbQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0NvY29hL19XS1N5c3RlbVByZWZlcmVuY2VzLmggYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvX1dLU3lzdGVtUHJlZmVyZW5jZXMuaApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NTI2
MWNkOWMyMzNhNjliZTdmNTdjOTVkODlhYjU0MjcyNTlmZTA4Ci0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1N5c3RlbVByZWZlcmVuY2VzLmgK
QEAgLTAsMCArMSwzNyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMiBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgPEZvdW5kYXRpb24vRm91bmRh
dGlvbi5oPgorI2ltcG9ydCA8V2ViS2l0L1dLRm91bmRhdGlvbi5oPgorCitXS19DTEFTU19BVkFJ
TEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSkKK0BpbnRlcmZhY2UgX1dL
U3lzdGVtUHJlZmVyZW5jZXMgOiBOU09iamVjdAorCisrIChCT09MKWlzQ2FwdGl2ZVBvcnRhbE1v
ZGVFbmFibGVkR2xvYmFsbHk7CisrICh2b2lkKXNldENhcHRpdmVQb3J0YWxNb2RlRW5hYmxlZEds
b2JhbGx5OihCT09MKWVuYWJsZWQ7CisrIChCT09MKWlzQ2FwdGl2ZVBvcnRhbE1vZGVJZ25vcmVk
Rm9yQ29udGFpbmVyOihOU1N0cmluZyAqKWNvbnRhaW5lclBhdGg7CisrICh2b2lkKXNldENhcHRp
dmVQb3J0YWxNb2RlSWdub3JlZEZvckNvbnRhaW5lcjooTlNTdHJpbmcgKiljb250YWluZXJQYXRo
IGlnbm9yZTooQk9PTClpZ25vcmU7CisKK0BlbmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tTeXN0ZW1QcmVmZXJlbmNlcy5tbSBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tTeXN0ZW1QcmVmZXJlbmNlcy5tbQpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mOWMxNTMyZWVlY2JmM2VlNWI3YTQxODk4ZjcxMjgzYjlmYzZjNDhhCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1N5c3RlbVByZWZlcmVu
Y2VzLm1tCkBAIC0wLDAgKzEsNzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjIgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
KyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0ICJjb25maWcuaCIK
KyNpbXBvcnQgIl9XS1N5c3RlbVByZWZlcmVuY2VzLmgiCisKKyNpbXBvcnQgPHd0Zi9Bc3NlcnRp
b25zLmg+CisjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CisKK0BpbXBsZW1lbnRhdGlvbiBfV0tT
eXN0ZW1QcmVmZXJlbmNlcworCisrIChCT09MKWlzQ2FwdGl2ZVBvcnRhbE1vZGVFbmFibGVkR2xv
YmFsbHkKK3sKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorICAgIGF1dG8gcHJlZmVyZW5j
ZVZhbHVlID0gYWRvcHRDRihDRlByZWZlcmVuY2VzQ29weVZhbHVlKENGU1RSKCJXS0NhcHRpdmVQ
b3J0YWxNb2RlRW5hYmxlZCIpLCBrQ0ZQcmVmZXJlbmNlc0FueUFwcGxpY2F0aW9uLCBrQ0ZQcmVm
ZXJlbmNlc0FueVVzZXIsIGtDRlByZWZlcmVuY2VzQ3VycmVudEhvc3QpKTsKKyAgICByZXR1cm4g
cHJlZmVyZW5jZVZhbHVlLmdldCgpID09IGtDRkJvb2xlYW5UcnVlOworI2Vsc2UKKyAgICByZXR1
cm4gZmFsc2U7CisjZW5kaWYKK30KKworKyAodm9pZClzZXRDYXB0aXZlUG9ydGFsTW9kZUVuYWJs
ZWRHbG9iYWxseTooQk9PTCllbmFibGVkCit7CisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykK
KyAgICBDRlByZWZlcmVuY2VzU2V0VmFsdWUoQ0ZTVFIoIldLQ2FwdGl2ZVBvcnRhbE1vZGVFbmFi
bGVkIiksIGVuYWJsZWQgPyBrQ0ZCb29sZWFuVHJ1ZSA6IGtDRkJvb2xlYW5GYWxzZSwga0NGUHJl
ZmVyZW5jZXNBbnlBcHBsaWNhdGlvbiwga0NGUHJlZmVyZW5jZXNBbnlVc2VyLCBrQ0ZQcmVmZXJl
bmNlc0N1cnJlbnRIb3N0KTsKKyAgICBDRlByZWZlcmVuY2VzU3luY2hyb25pemUoa0NGUHJlZmVy
ZW5jZXNBbnlBcHBsaWNhdGlvbiwga0NGUHJlZmVyZW5jZXNBbnlVc2VyLCBrQ0ZQcmVmZXJlbmNl
c0FueUhvc3QpOworI2VuZGlmCit9CisKKysgKEJPT0wpaXNDYXB0aXZlUG9ydGFsTW9kZUlnbm9y
ZWRGb3JDb250YWluZXI6KE5TU3RyaW5nICopY29udGFpbmVyUGF0aAoreworI2lmIFVTRShBUFBM
RV9JTlRFUk5BTF9TREspICYmIFBMQVRGT1JNKElPU19GQU1JTFkpCisgICAgTlNTdHJpbmcgKmNw
bWNvbmZpZ0lnbm9yZUZpbGVQYXRoID0gW2NvbnRhaW5lclBhdGggc3RyaW5nQnlBcHBlbmRpbmdQ
YXRoQ29tcG9uZW50OkAiTGlicmFyeS9QcmVmZXJlbmNlcy9jb20uYXBwbGUuV2ViS2l0LmNwbWNv
bmZpZ19pZ25vcmUiXTsKKyAgICByZXR1cm4gW1tOU0ZpbGVNYW5hZ2VyIGRlZmF1bHRNYW5hZ2Vy
XSBmaWxlRXhpc3RzQXRQYXRoOmNwbWNvbmZpZ0lnbm9yZUZpbGVQYXRoXTsKKyNlbHNlCisgICAg
cmV0dXJuIGZhbHNlOworI2VuZGlmCit9CisKKysgKHZvaWQpc2V0Q2FwdGl2ZVBvcnRhbE1vZGVJ
Z25vcmVkRm9yQ29udGFpbmVyOihOU1N0cmluZyAqKWNvbnRhaW5lclBhdGggaWdub3JlOihCT09M
KWlnbm9yZQoreworI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspICYmIFBMQVRGT1JNKElPU19G
QU1JTFkpCisgICAgTlNTdHJpbmcgKmNwbWNvbmZpZ0lnbm9yZUZpbGVQYXRoID0gW2NvbnRhaW5l
clBhdGggc3RyaW5nQnlBcHBlbmRpbmdQYXRoQ29tcG9uZW50OkAiTGlicmFyeS9QcmVmZXJlbmNl
cy9jb20uYXBwbGUuV2ViS2l0LmNwbWNvbmZpZ19pZ25vcmUiXTsKKyAgICAKKyAgICBpZiAoW1tO
U0ZpbGVNYW5hZ2VyIGRlZmF1bHRNYW5hZ2VyXSBmaWxlRXhpc3RzQXRQYXRoOmNwbWNvbmZpZ0ln
bm9yZUZpbGVQYXRoXSA9PSBpZ25vcmUpCisgICAgICAgIHJldHVybjsKKyAgICAKKyAgICBpZiAo
aWdub3JlKQorICAgICAgICBbW05TRmlsZU1hbmFnZXIgZGVmYXVsdE1hbmFnZXJdIGNyZWF0ZUZp
bGVBdFBhdGg6Y3BtY29uZmlnSWdub3JlRmlsZVBhdGggY29udGVudHM6TlVMTCBhdHRyaWJ1dGVz
Ok5VTExdOworICAgIGVsc2UKKyAgICAgICAgW1tOU0ZpbGVNYW5hZ2VyIGRlZmF1bHRNYW5hZ2Vy
XSByZW1vdmVJdGVtQXRQYXRoOmNwbWNvbmZpZ0lnbm9yZUZpbGVQYXRoIGVycm9yOk5VTExdOwor
CisgICAgQ0ZOb3RpZmljYXRpb25DZW50ZXJQb3N0Tm90aWZpY2F0aW9uKENGTm90aWZpY2F0aW9u
Q2VudGVyR2V0RGFyd2luTm90aWZ5Q2VudGVyKCksIENGU1RSKCJjb20uYXBwbGUuV2ViS2l0LmNw
bWNvbmZpZyIpLCBudWxscHRyLCBudWxscHRyLCB0cnVlKTsKKyNlbmRpZgorfQorCitAZW5kCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9QcmVmZXJlbmNlT2JzZXJ2
ZXIubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9QcmVmZXJlbmNlT2JzZXJ2ZXIu
bW0KaW5kZXggMzRiZmE3OTI1ZDVkNDRlMGU5ZTgxMjAyNDc5ZTc3NTgxNWVhYzZiYy4uMGE2MWM3
NTE0MTZhMTRjOWIwNzEwMzhlOTk5MTM1YWFhN2Y4ZjkzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQ29jb2EvUHJlZmVyZW5jZU9ic2VydmVyLm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0NvY29hL1ByZWZlcmVuY2VPYnNlcnZlci5tbQpAQCAtNzEsNiArNzEs
NyBAQAogICAgICAgICAgICAgZW5jb2RlZFN0cmluZyA9IFtkYXRhIGJhc2U2NEVuY29kZWRTdHJp
bmdXaXRoT3B0aW9uczowXTsKICAgICAgICAgfQogCisgICAgICAgIGF1dG8gc3lzdGVtVmFsdWUg
PSBhZG9wdENGKENGUHJlZmVyZW5jZXNDb3B5VmFsdWUoKF9fYnJpZGdlIENGU3RyaW5nUmVmKWtl
eSwga0NGUHJlZmVyZW5jZXNBbnlBcHBsaWNhdGlvbiwga0NGUHJlZmVyZW5jZXNBbnlVc2VyLCBr
Q0ZQcmVmZXJlbmNlc0FueUhvc3QpKTsKICAgICAgICAgYXV0byBnbG9iYWxWYWx1ZSA9IGFkb3B0
Q0YoQ0ZQcmVmZXJlbmNlc0NvcHlWYWx1ZSgoX19icmlkZ2UgQ0ZTdHJpbmdSZWYpa2V5LCBrQ0ZQ
cmVmZXJlbmNlc0FueUFwcGxpY2F0aW9uLCBrQ0ZQcmVmZXJlbmNlc0N1cnJlbnRVc2VyLCBrQ0ZQ
cmVmZXJlbmNlc0FueUhvc3QpKTsKICAgICAgICAgYXV0byBkb21haW5WYWx1ZSA9IGFkb3B0Q0Yo
Q0ZQcmVmZXJlbmNlc0NvcHlWYWx1ZSgoX19icmlkZ2UgQ0ZTdHJpbmdSZWYpa2V5LCAoX19icmlk
Z2UgQ0ZTdHJpbmdSZWYpbV9zdWl0ZU5hbWUuZ2V0KCksIGtDRlByZWZlcmVuY2VzQ3VycmVudFVz
ZXIsIGtDRlByZWZlcmVuY2VzQW55SG9zdCkpOwogCkBAIC03OCw3ICs3OSw3IEBACiAgICAgICAg
ICAgICByZXR1cm4gYSA9PSBiIHx8IFthIGlzRXF1YWw6Yl07CiAgICAgICAgIH07CiAKLSAgICAg
ICAgaWYgKHByZWZlcmVuY2VWYWx1ZXNBcmVFcXVhbCgoX19icmlkZ2UgaWQpZ2xvYmFsVmFsdWUu
Z2V0KCksIG5ld1ZhbHVlKSkKKyAgICAgICAgaWYgKHByZWZlcmVuY2VWYWx1ZXNBcmVFcXVhbCgo
X19icmlkZ2UgaWQpc3lzdGVtVmFsdWUuZ2V0KCksIG5ld1ZhbHVlKSB8fCBwcmVmZXJlbmNlVmFs
dWVzQXJlRXF1YWwoKF9fYnJpZGdlIGlkKWdsb2JhbFZhbHVlLmdldCgpLCBuZXdWYWx1ZSkpCiAg
ICAgICAgICAgICBbbV9vYnNlcnZlciBwcmVmZXJlbmNlRGlkQ2hhbmdlOm5pbCBrZXk6a2V5IGVu
Y29kZWRWYWx1ZTplbmNvZGVkU3RyaW5nXTsKIAogICAgICAgICBpZiAocHJlZmVyZW5jZVZhbHVl
c0FyZUVxdWFsKChfX2JyaWRnZSBpZClkb21haW5WYWx1ZS5nZXQoKSwgbmV3VmFsdWUpKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2Eu
bW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbQpp
bmRleCAwMjYzNmI1MTg4ZTNhYzYyZmQ1YzI2ZTMxYjM2NWJhNzJjMjAzYWYyLi4zYzQ3M2E1OGVl
ZmRlZTcwOWZiYTUyNTEyZDNmZDg4MDc3MGZiNzlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbQpAQCAtMzcsMTIgKzM3LDE0IEBA
CiAjaW1wb3J0ICJMb2FkUGFyYW1ldGVycy5oIgogI2ltcG9ydCAiTW9kYWxDb250YWluZXJDb250
cm9sQ2xhc3NpZmllci5oIgogI2ltcG9ydCAiUGFnZUNsaWVudC5oIgorI2ltcG9ydCAiUGxheWJh
Y2tTZXNzaW9uTWFuYWdlclByb3h5LmgiCiAjaW1wb3J0ICJRdWFyYW50aW5lU1BJLmgiCiAjaW1w
b3J0ICJRdWlja0xvb2tUaHVtYm5haWxMb2FkZXIuaCIKICNpbXBvcnQgIlNhZmVCcm93c2luZ1NQ
SS5oIgogI2ltcG9ydCAiU2FmZUJyb3dzaW5nV2FybmluZy5oIgogI2ltcG9ydCAiU2hhcmVkQnVm
ZmVyQ29weS5oIgogI2ltcG9ydCAiU3luYXBzZVNQSS5oIgorI2ltcG9ydCAiVmlkZW9GdWxsc2Ny
ZWVuTWFuYWdlclByb3h5LmgiCiAjaW1wb3J0ICJXZWJDb250ZXh0TWVudVByb3h5LmgiCiAjaW1w
b3J0ICJXZWJQYWdlLmgiCiAjaW1wb3J0ICJXZWJQYWdlTWVzc2FnZXMuaCIKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0gYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCmluZGV4
IGM3ODY1NjkxNGE2NjQwZWQyZjJjOTkzZmI2YWZmYTNkMGNiZDZkMGQuLjIwNmNmY2ZjN2UyNzc0
NGM3ZGZkMDI2NDI4NjdkN2Y0NmIzZTBjNDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQpAQCAtNTIsNiArNTIsNyBAQAog
I2ltcG9ydCAiV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIgogI2ltcG9ydCAiV2ViUHJv
Y2Vzc01lc3NhZ2VzLmgiCiAjaW1wb3J0ICJXaW5kb3dTZXJ2ZXJDb25uZWN0aW9uLmgiCisjaW1w
b3J0ICJfV0tTeXN0ZW1QcmVmZXJlbmNlcy5oIgogI2ltcG9ydCA8V2ViQ29yZS9BR1hDb21waWxl
clNlcnZpY2UuaD4KICNpbXBvcnQgPFdlYkNvcmUvQ29sb3IuaD4KICNpbXBvcnQgPFdlYkNvcmUv
TG9jYWxpemVkRGV2aWNlTW9kZWwuaD4KQEAgLTcwLDYgKzcxLDcgQEAKICNpbXBvcnQgPHd0Zi9G
aWxlU3lzdGVtLmg+CiAjaW1wb3J0IDx3dGYvUHJvY2Vzc1ByaXZpbGVnZS5oPgogI2ltcG9ydCA8
d3RmL1NvZnRMaW5raW5nLmg+CisjaW1wb3J0IDx3dGYvY2YvVHlwZUNhc3RzQ0YuaD4KICNpbXBv
cnQgPHd0Zi9jb2NvYS9FbnRpdGxlbWVudHMuaD4KICNpbXBvcnQgPHd0Zi9jb2NvYS9SdW50aW1l
QXBwbGljYXRpb25DaGVja3NDb2NvYS5oPgogI2ltcG9ydCA8d3RmL2NvY29hL1R5cGVDYXN0c0Nv
Y29hLmg+CkBAIC0xMjgsNyArMTMwLDggQEAgTlNTdHJpbmcgKldlYktpdEpTQ0ZUTEpJVEVuYWJs
ZWREZWZhdWx0c0tleSA9IEAiV2ViS2l0SlNDRlRMSklURW5hYmxlZERlZmF1bHRzS2UKIHN0YXRp
YyBOU1N0cmluZyAqV2ViS2l0QXBwbGljYXRpb25EaWRDaGFuZ2VBY2Nlc3NpYmlsaXR5RW5oYW5j
ZWRVc2VySW50ZXJmYWNlTm90aWZpY2F0aW9uID0gQCJOU0FwcGxpY2F0aW9uRGlkQ2hhbmdlQWNj
ZXNzaWJpbGl0eUVuaGFuY2VkVXNlckludGVyZmFjZU5vdGlmaWNhdGlvbiI7CiBzdGF0aWMgQ0ZT
dHJpbmdSZWYgQXBwbGVDb2xvclByZWZlcmVuY2VzQ2hhbmdlZE5vdGlmaWNhdGlvbiA9IENGU1RS
KCJBcHBsZUNvbG9yUHJlZmVyZW5jZXNDaGFuZ2VkTm90aWZpY2F0aW9uIik7CiAjZW5kaWYKLXN0
YXRpYyBjb25zdCBjaGFyKiBjb25zdCBXZWJLaXRDYXB0aXZlUG9ydGFsTW9kZUNoYW5nZWROb3Rp
ZmljYXRpb24gPSAiV2ViS2l0Q2FwdGl2ZVBvcnRhbE1vZGVFbmFibGVkIjsKK2NvbnN0ZXhwciBh
dXRvIFdlYktpdENhcHRpdmVQb3J0YWxNb2RlQ2hhbmdlZE5vdGlmaWNhdGlvbl9MZWdhY3kgPSAi
V2ViS2l0Q2FwdGl2ZVBvcnRhbE1vZGVFbmFibGVkIjsKK2NvbnN0ZXhwciBhdXRvIFdlYktpdENh
cHRpdmVQb3J0YWxNb2RlQ2hhbmdlZE5vdGlmaWNhdGlvbiA9ICJXS0NhcHRpdmVQb3J0YWxNb2Rl
RW5hYmxlZCI7CiAKIHN0YXRpYyBOU1N0cmluZyAqIGNvbnN0IFdlYktpdFN1cHByZXNzTWVtb3J5
UHJlc3N1cmVIYW5kbGVyRGVmYXVsdHNLZXkgPSBAIldlYktpdFN1cHByZXNzTWVtb3J5UHJlc3N1
cmVIYW5kbGVyIjsKIApAQCAtNjIyLDYgKzYyNSwxNCBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjpy
ZW1vdGVXZWJJbnNwZWN0b3JFbmFibGVkQ2FsbGJhY2soQ0ZOb3RpZmljYXRpb25DZW50ZXJSZWYs
CiB9CiAjZW5kaWYKIAorI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCit2b2lkIFdlYlByb2Nlc3NQ
b29sOjpjYXB0aXZlUG9ydGFsTW9kZUNvbmZpZ1VwZGF0ZUNhbGxiYWNrKENGTm90aWZpY2F0aW9u
Q2VudGVyUmVmLCB2b2lkKiBvYnNlcnZlciwgQ0ZTdHJpbmdSZWYsIGNvbnN0IHZvaWQqLCBDRkRp
Y3Rpb25hcnlSZWYpCit7CisgICAgaWYgKGF1dG8gcG9vbCA9IGV4dHJhY3RXZWJQcm9jZXNzUG9v
bChvYnNlcnZlcikpCisgICAgICAgIHBvb2wtPmNhcHRpdmVQb3J0YWxNb2RlU3RhdGVDaGFuZ2Vk
KCk7Cit9CisjZW5kaWYKKwogI2lmIEVOQUJMRShDRlBSRUZTX0RJUkVDVF9NT0RFKQogdm9pZCBX
ZWJQcm9jZXNzUG9vbDo6c3RhcnRPYnNlcnZpbmdQcmVmZXJlbmNlQ2hhbmdlcygpCiB7CkBAIC03
MzUsNiArNzQ2LDEwIEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnJlZ2lzdGVyTm90aWZpY2F0aW9u
T2JzZXJ2ZXJzKCkKICAgICAgICAgc2VuZFRvQWxsUHJvY2Vzc2VzKE1lc3NhZ2VzOjpXZWJQcm9j
ZXNzOjpQb3dlclNvdXJjZURpZENoYW5nZShoYXNBQykpOwogICAgIH0pOwogCisjaWYgUExBVEZP
Uk0oSU9TX0ZBTUlMWSkKKyAgICBhZGRDRk5vdGlmaWNhdGlvbk9ic2VydmVyKGNhcHRpdmVQb3J0
YWxNb2RlQ29uZmlnVXBkYXRlQ2FsbGJhY2ssIENGU1RSKCJjb20uYXBwbGUuV2ViS2l0LmNwbWNv
bmZpZyIpKTsKKyNlbmRpZgorCiAjaWYgSEFWRShQRVJfQVBQX0FDQ0VTU0lCSUxJVFlfUFJFRkVS
RU5DRVMpCiAgICAgYWRkQ0ZOb3RpZmljYXRpb25PYnNlcnZlcihhY2Nlc3NpYmlsaXR5UHJlZmVy
ZW5jZXNDaGFuZ2VkQ2FsbGJhY2ssIGtBWFNSZWR1Y2VNb3Rpb25DaGFuZ2VkTm90aWZpY2F0aW9u
KTsKICAgICBhZGRDRk5vdGlmaWNhdGlvbk9ic2VydmVyKGFjY2Vzc2liaWxpdHlQcmVmZXJlbmNl
c0NoYW5nZWRDYWxsYmFjaywga0FYU0luY3JlYXNlQnV0dG9uTGVnaWJpbGl0eU5vdGlmaWNhdGlv
bik7CkBAIC03NzgsNiArNzkzLDEwIEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnVucmVnaXN0ZXJO
b3RpZmljYXRpb25PYnNlcnZlcnMoKQogICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVs
dENlbnRlcl0gcmVtb3ZlT2JzZXJ2ZXI6bV9hY3RpdmF0aW9uT2JzZXJ2ZXIuZ2V0KCldOwogCiAg
ICAgbV9wb3dlclNvdXJjZU5vdGlmaWVyID0gbnVsbHB0cjsKKyAgICAKKyNpZiBQTEFURk9STShJ
T1NfRkFNSUxZKQorICAgIHJlbW92ZUNGTm90aWZpY2F0aW9uT2JzZXJ2ZXIoQ0ZTVFIoImNvbS5h
cHBsZS5XZWJLaXQuY3BtY29uZmlnIikpOworI2VuZGlmCiAKICNpZiBIQVZFKFBFUl9BUFBfQUND
RVNTSUJJTElUWV9QUkVGRVJFTkNFUykKICAgICByZW1vdmVDRk5vdGlmaWNhdGlvbk9ic2VydmVy
KGtBWFNSZWR1Y2VNb3Rpb25DaGFuZ2VkTm90aWZpY2F0aW9uKTsKQEAgLTkzMCw3ICs5NDksMjMg
QEAgc3RhdGljIGJvb2wgaXNDYXB0aXZlUG9ydGFsTW9kZUVuYWJsZWRCeVN5c3RlbUlnbm9yaW5n
Q2FjaGluZygpCiAgICAgaWYgKGF1dG8mIGVuYWJsZWRGb3JUZXN0aW5nID0gaXNDYXB0aXZlUG9y
dGFsTW9kZUVuYWJsZWRHbG9iYWxseUZvclRlc3RpbmcoKSkKICAgICAgICAgcmV0dXJuICplbmFi
bGVkRm9yVGVzdGluZzsKIAotICAgIHJldHVybiBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNl
ckRlZmF1bHRzXSBib29sRm9yS2V5OltOU1N0cmluZyBzdHJpbmdXaXRoVVRGOFN0cmluZzpXZWJL
aXRDYXB0aXZlUG9ydGFsTW9kZUNoYW5nZWROb3RpZmljYXRpb25dXTsKKyAgICBpZiAoW1tOU1Vz
ZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gYm9vbEZvcktleTpbTlNTdHJpbmcgc3Ry
aW5nV2l0aFVURjhTdHJpbmc6V2ViS2l0Q2FwdGl2ZVBvcnRhbE1vZGVDaGFuZ2VkTm90aWZpY2F0
aW9uX0xlZ2FjeV1dKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIGlmICghW19XS1N5c3Rl
bVByZWZlcmVuY2VzIGlzQ2FwdGl2ZVBvcnRhbE1vZGVFbmFibGVkR2xvYmFsbHldKQorICAgICAg
ICByZXR1cm4gZmFsc2U7CisKKyNpZiBQTEFURk9STShJT1NfRkFNSUxZKQorICAgIGlmIChwcm9j
ZXNzSGFzQ29udGFpbmVyKCkgJiYgW19XS1N5c3RlbVByZWZlcmVuY2VzIGlzQ2FwdGl2ZVBvcnRh
bE1vZGVJZ25vcmVkRm9yQ29udGFpbmVyOnBhdGhGb3JQcm9jZXNzQ29udGFpbmVyKCldKQorICAg
ICAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYKKyAgICAKKyNpZiBQTEFURk9STShNQUMpCisgICAg
aWYgKCFXZWJDb3JlOjpNYWNBcHBsaWNhdGlvbjo6aXNTYWZhcmkoKSAmJiAhV2ViQ29yZTo6TWFj
QXBwbGljYXRpb246OmlzTWluaUJyb3dzZXIoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworI2Vu
ZGlmCisgICAgCisgICAgcmV0dXJuIHRydWU7CiB9CiAKIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OmNh
cHRpdmVQb3J0YWxNb2RlU3RhdGVDaGFuZ2VkKCkKQEAgLTEwNjMsNyArMTA5OCw3IEBAIHZvaWQg
V2ViUHJvY2Vzc1Bvb2w6Om5vdGlmeVByZWZlcmVuY2VzQ2hhbmdlZChjb25zdCBTdHJpbmcmIGRv
bWFpbiwgY29uc3QgU3RyaW5nCiAgICAgICAgIHdlYkF1dGhuUHJvY2Vzcy0+c2VuZChNZXNzYWdl
czo6V2ViQXV0aG5Qcm9jZXNzOjpOb3RpZnlQcmVmZXJlbmNlc0NoYW5nZWQoZG9tYWluLCBrZXks
IGVuY29kZWRWYWx1ZSksIDApOwogI2VuZGlmCiAKLSAgICBpZiAoa2V5ID09IFdlYktpdENhcHRp
dmVQb3J0YWxNb2RlQ2hhbmdlZE5vdGlmaWNhdGlvbikKKyAgICBpZiAoa2V5ID09IFdlYktpdENh
cHRpdmVQb3J0YWxNb2RlQ2hhbmdlZE5vdGlmaWNhdGlvbiB8fCBrZXkgPT0gV2ViS2l0Q2FwdGl2
ZVBvcnRhbE1vZGVDaGFuZ2VkTm90aWZpY2F0aW9uX0xlZ2FjeSkKICAgICAgICAgY2FwdGl2ZVBv
cnRhbE1vZGVTdGF0ZUNoYW5nZWQoKTsKIH0KICNlbmRpZiAvLyBFTkFCTEUoQ0ZQUkVGU19ESVJF
Q1RfTU9ERSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQ
b29sLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oCmluZGV4IGUy
NTNhNWU3M2E0ODY5YWI4OWQ0MjA3MDgwNjZmMTA1ZWU4MTA4OTguLjk3ZWViYmEwODQxYmMwNzAx
YWI4NDU0NTZkMTcyOGQyMjVkNGVhZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlByb2Nlc3NQb29sLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJv
Y2Vzc1Bvb2wuaApAQCAtNTgzLDYgKzU4Myw4IEBAIHByaXZhdGU6CiAgICAgc3RhdGljIHZvaWQg
cmVtb3RlV2ViSW5zcGVjdG9yRW5hYmxlZENhbGxiYWNrKENGTm90aWZpY2F0aW9uQ2VudGVyUmVm
LCB2b2lkKiBvYnNlcnZlciwgQ0ZTdHJpbmdSZWYgbmFtZSwgY29uc3Qgdm9pZCogcG9zdGluZ09i
amVjdCwgQ0ZEaWN0aW9uYXJ5UmVmIHVzZXJJbmZvKTsKICNlbmRpZgogI2VuZGlmCisgICAgCisg
ICAgc3RhdGljIHZvaWQgY2FwdGl2ZVBvcnRhbE1vZGVDb25maWdVcGRhdGVDYWxsYmFjayhDRk5v
dGlmaWNhdGlvbkNlbnRlclJlZiwgdm9pZCogb2JzZXJ2ZXIsIENGU3RyaW5nUmVmIG5hbWUsIGNv
bnN0IHZvaWQqIHBvc3RpbmdPYmplY3QsIENGRGljdGlvbmFyeVJlZiB1c2VySW5mbyk7CiAKICNp
ZiBQTEFURk9STShDT0NPQSkKICAgICBzdGF0aWMgdm9pZCBhY2Nlc3NpYmlsaXR5UHJlZmVyZW5j
ZXNDaGFuZ2VkQ2FsbGJhY2soQ0ZOb3RpZmljYXRpb25DZW50ZXJSZWYsIHZvaWQqIG9ic2VydmVy
LCBDRlN0cmluZ1JlZiBuYW1lLCBjb25zdCB2b2lkKiBwb3N0aW5nT2JqZWN0LCBDRkRpY3Rpb25h
cnlSZWYgdXNlckluZm8pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFj
L0Rpc3BsYXlDYXB0dXJlU2Vzc2lvbk1hbmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L21hYy9EaXNwbGF5Q2FwdHVyZVNlc3Npb25NYW5hZ2VyLmgKaW5kZXggNjBkOTNiM2M2YTEyOGZi
NmQxOGIzNWU5YTk3NjZmN2U5YWUzMDEwZS4uOGUwNGI3NjM4ODMzMzAyYjIxM2ExYzQxYTRhM2Jh
MzZhNDM1Yjk2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL0Rpc3Bs
YXlDYXB0dXJlU2Vzc2lvbk1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9t
YWMvRGlzcGxheUNhcHR1cmVTZXNzaW9uTWFuYWdlci5oCkBAIC0yOCw2ICsyOCw3IEBACiAjaWYg
UExBVEZPUk0oQ09DT0EpICYmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAKICNpbmNsdWRlICJVc2Vy
TWVkaWFQZXJtaXNzaW9uUmVxdWVzdFByb3h5LmgiCisjaW5jbHVkZSAiV2ViUGFnZVByb3h5Lmgi
CiAjaW5jbHVkZSA8V2ViQ29yZS9TZWN1cml0eU9yaWdpbkRhdGEuaD4KICNpbmNsdWRlIDx3dGYv
Q29tcGxldGlvbkhhbmRsZXIuaD4KICNpbmNsdWRlIDx3dGYvV2Vha1B0ci5oPgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL0Rpc3BsYXlDYXB0dXJlU2Vzc2lvbk1hbmFn
ZXIubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvRGlzcGxheUNhcHR1cmVTZXNzaW9u
TWFuYWdlci5tbQppbmRleCA3OTlmNmYxM2EyNDI5ZjBkNzk2NjI3MjE4MGNjNjRjMzA2YTIzMmVj
Li44OTNlZTIwNTM0Y2Q0NjY2ZGY4MGEwYjEwMWY5YWE4NWQyMjdhZGZkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvRGlzcGxheUNhcHR1cmVTZXNzaW9uTWFuYWdlci5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvRGlzcGxheUNhcHR1cmVTZXNzaW9u
TWFuYWdlci5tbQpAQCAtMjU0LDcgKzI1NCw3IEBAIERpc3BsYXlDYXB0dXJlU2Vzc2lvbk1hbmFn
ZXI6On5EaXNwbGF5Q2FwdHVyZVNlc3Npb25NYW5hZ2VyKCkKIHsKIH0KIAotdm9pZCBEaXNwbGF5
Q2FwdHVyZVNlc3Npb25NYW5hZ2VyOjpwcm9tcHRGb3JHZXREaXNwbGF5TWVkaWEoVXNlck1lZGlh
UGVybWlzc2lvblJlcXVlc3RQcm94eTo6VXNlck1lZGlhRGlzcGxheUNhcHR1cmVQcm9tcHRUeXBl
IHByb21wdFR5cGUsIFdlYlBhZ2VQcm94eSYgcGFnZSwgY29uc3QgV2ViQ29yZTo6U2VjdXJpdHlP
cmlnaW5EYXRhJiBvcmlnaW4sIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoc3RkOjpvcHRpb25hbDxD
YXB0dXJlRGV2aWNlPik+JiYgY29tcGxldGlvbkhhbmRsZXIpCit2b2lkIERpc3BsYXlDYXB0dXJl
U2Vzc2lvbk1hbmFnZXI6OnByb21wdEZvckdldERpc3BsYXlNZWRpYShVc2VyTWVkaWFQZXJtaXNz
aW9uUmVxdWVzdFByb3h5OjpVc2VyTWVkaWFEaXNwbGF5Q2FwdHVyZVByb21wdFR5cGUgcHJvbXB0
VHlwZSwgV2ViUGFnZVByb3h5JiBwYWdlLCBjb25zdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRh
dGEmIG9yaWdpbiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6
OkNhcHR1cmVEZXZpY2U+KT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKICAgICBBU1NFUlQoaXNB
dmFpbGFibGUoKSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCmluZGV4IDU5NDAyM2I2ZGY2MjcxMTBhZGY1MTlkNDQzZjVhYjViOGFmZTY0NjQu
LmMzNzA0Nzk4Zjc2NWUxYWJlZWQxYWYxYzBmY2NmYjM1MjZiOWE2NjggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNl
L1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTQwOSw2ICsxNDA5
LDcgQEAKIAkJODNGMUEwN0ExRjk2RTc3OTAwNDVCOTRFIC8qIFdlYlNXT3JpZ2luVGFibGUuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDgzRjFBMDc4MUY5
NkU3NzEwMDQ1Qjk0RSAvKiBXZWJTV09yaWdpblRhYmxlLmggKi87IH07CiAJCTgzRjk2NDRFMUZB
MEY3NkUwMEM0Nzc1MCAvKiBTaGFyZWRTdHJpbmdIYXNoVGFibGVSZWFkT25seS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODNGOTY0NEMxRkEwRjc2MzAw
QzQ3NzUwIC8qIFNoYXJlZFN0cmluZ0hhc2hUYWJsZVJlYWRPbmx5LmggKi87IH07CiAJCTg0NDc3
ODUzMTc2RkNDMDgwMENEQzdCQiAvKiBJbmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5
cGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg0NDc3
ODUxMTc2RkNBQzEwMENEQzdCQiAvKiBJbmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5
cGUuaCAqLzsgfTsKKwkJODY0NDg5MEIyN0I0NzAyMDAwN0ExQzY2IC8qIF9XS1N5c3RlbVByZWZl
cmVuY2VzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4
NjQ0ODkwQTI3QjQ3MDIwMDA3QTFDNjYgLyogX1dLU3lzdGVtUHJlZmVyZW5jZXMuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk4NkU2N0EyNTE5MTBC
OUQxMDAwMDRBQjcgLyogUHJvY2Vzc1Rocm90dGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODZFNjdBMjExOTBGNDExODAwMDA0QUI3IC8qIFByb2Nl
c3NUaHJvdHRsZXIuaCAqLzsgfTsKIAkJODZGOTUzNjUxOEZGNThGNTAwMURCMkVGIC8qIFByb2Nl
c3NBc3NlcnRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDg2Rjk1MzYwMThGRjRGRDQwMDFEQjJFRiAvKiBQcm9jZXNzQXNzZXJ0aW9uLmggKi87IH07
CiAJCThEQzJFRjUzMDQ4NkE2OTQwMDk4QjIxNiAvKiBJbmZvUGxpc3Quc3RyaW5ncyBpbiBSZXNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDg5QzE2NjZGRTg0MTE1
OEMwMkFBQzA3IC8qIEluZm9QbGlzdC5zdHJpbmdzICovOyB9OwpAQCAtNTI4NCw2ICs1Mjg1LDgg
QEAKIAkJODNGOTY0NEIxRkEwRjc2MjAwQzQ3NzUwIC8qIFNoYXJlZFN0cmluZ0hhc2hUYWJsZVJl
YWRPbmx5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNoYXJlZFN0
cmluZ0hhc2hUYWJsZVJlYWRPbmx5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
ODNGOTY0NEMxRkEwRjc2MzAwQzQ3NzUwIC8qIFNoYXJlZFN0cmluZ0hhc2hUYWJsZVJlYWRPbmx5
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNoYXJlZFN0cmluZ0hhc2hUYWJs
ZVJlYWRPbmx5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg0NDc3ODUxMTc2RkNB
QzEwMENEQzdCQiAvKiBJbmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGUuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5qZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0
TWVkaWFUeXBlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg2NDQ4OTBBMjdCNDcw
MjAwMDdBMUM2NiAvKiBfV0tTeXN0ZW1QcmVmZXJlbmNlcy5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBfV0tTeXN0ZW1QcmVmZXJlbmNlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk4NjQ0ODkwQzI3QjQ3MDQ1MDA3QTFDNjYgLyogX1dLU3lzdGVtUHJlZmVyZW5j
ZXMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBfV0tTeXN0ZW1QcmVmZXJlbmNlcy5tbTsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODY4MTYwQ0QxODc2M0Q0QjAwMjFFNzlEIC8qIFdp
bmRvd1NlcnZlckNvbm5lY3Rpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2luZG93U2VydmVyQ29ubmVj
dGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NjgxNjBDRjE4NzY0NTM3MDAy
MUU3OUQgLyogV2luZG93U2VydmVyQ29ubmVjdGlvbi5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9
IFdpbmRvd1NlcnZlckNvbm5lY3Rpb24ubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTg2RTY3QTIxMTkwRjQxMTgwMDAwNEFCNyAvKiBQcm9jZXNzVGhyb3R0bGVyLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFByb2Nlc3NUaHJvdHRsZXIuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKQEAgLTg4ODAsNiArODg4Myw4IEBACiAJCQkJMUEwMDJEM0YxOTZCMzI5
NDAwQjlBRDQ0IC8qIF9XS1Nlc3Npb25TdGF0ZS5oICovLAogCQkJCTFBMDAyRDNFMTk2QjMyOTQw
MEI5QUQ0NCAvKiBfV0tTZXNzaW9uU3RhdGUubW0gKi8sCiAJCQkJMUEwMDJENDIxOTZCMzM3MDAw
QjlBRDQ0IC8qIF9XS1Nlc3Npb25TdGF0ZUludGVybmFsLmggKi8sCisJCQkJODY0NDg5MEEyN0I0
NzAyMDAwN0ExQzY2IC8qIF9XS1N5c3RlbVByZWZlcmVuY2VzLmggKi8sCisJCQkJODY0NDg5MEMy
N0I0NzA0NTAwN0ExQzY2IC8qIF9XS1N5c3RlbVByZWZlcmVuY2VzLm1tICovLAogCQkJCUY0RDk4
NUM3MjY5MEZCRUYwMEJCQ0NCRSAvKiBfV0tUYXBIYW5kbGluZ1Jlc3VsdC5oICovLAogCQkJCTJE
RTlCMTM4MjIzMUY2MUMwMDUyODdCNyAvKiBfV0tUZXh0SW5wdXRDb250ZXh0LmggKi8sCiAJCQkJ
MkRFOUIxMzcyMjMxRjYxQzAwNTI4N0I3IC8qIF9XS1RleHRJbnB1dENvbnRleHQubW0gKi8sCkBA
IC0xMjg3Nyw2ICsxMjg4Miw3IEBACiAJCQkJMzc2MzExRkUxQTNGQjYwMDAwNUEyRTUxIC8qIF9X
S1NhbWVEb2N1bWVudE5hdmlnYXRpb25UeXBlSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTFBMDAyRDQ0MTk2QjMzODkwMEI5QUQ0NCAvKiBfV0tTZXNzaW9uU3RhdGUuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTFBMDAyRDQzMTk2QjMzNzAwMEI5QUQ0NCAvKiBfV0tTZXNzaW9uU3RhdGVJbnRl
cm5hbC5oIGluIEhlYWRlcnMgKi8sCisJCQkJODY0NDg5MEIyN0I0NzAyMDAwN0ExQzY2IC8qIF9X
S1N5c3RlbVByZWZlcmVuY2VzLmggaW4gSGVhZGVycyAqLywKIAkJCQlGNEQ5ODVDODI2OTBGQzEy
MDBCQkNDQkUgLyogX1dLVGFwSGFuZGxpbmdSZXN1bHQuaCBpbiBIZWFkZXJzICovLAogCQkJCTJE
RTlCMTNBMjIzMUY2MUMwMDUyODdCNyAvKiBfV0tUZXh0SW5wdXRDb250ZXh0LmggaW4gSGVhZGVy
cyAqLywKIAkJCQkyREU5QjEzQzIyMzFGNzdDMDA1Mjg3QjcgLyogX1dLVGV4dElucHV0Q29udGV4
dEludGVybmFsLmggaW4gSGVhZGVycyAqLywK
</data>
<flag name="commit-queue"
          id="478378"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>451602</attachid>
            <date>2022-02-10 14:34:05 -0800</date>
            <delta_ts>2022-02-10 14:49:30 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-236135-20220210143403.patch</filename>
            <type>text/plain</type>
            <size>23570</size>
            <attacher name="Gavin">gavin.p</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg5NTU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGYyNmUwMDhhNWQ4ODJkYTkw
MDUyMDg4OTQ4Y2U3ZGZjZTY1NWRlMmUuLjM2MjFjYTIwZjRmNWNiNTJlY2Y3MzliM2E1OWQ1NDMx
OGU2YzljOGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzQgQEAKKzIwMjItMDItMTAgIEdhdmluIFBo
aWxsaXBzICA8Z2F2aW4ucEBhcHBsZS5jb20+CisKKyAgICAgICAgVXBkYXRlIHByZWZlcmVuY2Ug
bG9jYXRpb24gdXNlZCBmb3IgQ2FwdGl2ZVBvcnRhbE1vZGUuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzYxMzUKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzg4NDg2NTQ0PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogUGxhdGZvcm1NYWMuY21ha2U6CisgICAgICAgICogU291cmNlc0NvY29hLnR4dDoK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS1N5c3RlbVByZWZlcmVuY2VzLmg6IEFk
ZGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLU3lzdGVtUHJlZmVyZW5jZXMu
bW06IEFkZGVkLgorICAgICAgICAoK1tfV0tTeXN0ZW1QcmVmZXJlbmNlcyBpc0NhcHRpdmVQb3J0
YWxNb2RlRW5hYmxlZEdsb2JhbGx5XSk6CisgICAgICAgICgrW19XS1N5c3RlbVByZWZlcmVuY2Vz
IHNldENhcHRpdmVQb3J0YWxNb2RlRW5hYmxlZEdsb2JhbGx5Ol0pOgorICAgICAgICAoK1tfV0tT
eXN0ZW1QcmVmZXJlbmNlcyBpc0NhcHRpdmVQb3J0YWxNb2RlSWdub3JlZEZvckNvbnRhaW5lcjpd
KToKKyAgICAgICAgKCtbX1dLU3lzdGVtUHJlZmVyZW5jZXMgc2V0Q2FwdGl2ZVBvcnRhbE1vZGVJ
Z25vcmVkRm9yQ29udGFpbmVyOmlnbm9yZTpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2Ev
UHJlZmVyZW5jZU9ic2VydmVyLm1tOgorICAgICAgICAoLVtXS1VzZXJEZWZhdWx0cyBmaW5kUHJl
ZmVyZW5jZUNoYW5nZXNBbmROb3RpZnlGb3JLZXlzOnRvVmFsdWVzRm9yS2V5czpdKToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW06CisgICAgICAgICogVUlQ
cm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6Oldl
YlByb2Nlc3NQb29sOjpjYXB0aXZlUG9ydGFsTW9kZUNvbmZpZ1VwZGF0ZUNhbGxiYWNrKToKKyAg
ICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OnJlZ2lzdGVyTm90aWZpY2F0aW9uT2JzZXJ2
ZXJzKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OnVucmVnaXN0ZXJOb3RpZmlj
YXRpb25PYnNlcnZlcnMpOgorICAgICAgICAoV2ViS2l0Ojppc0NhcHRpdmVQb3J0YWxNb2RlRW5h
YmxlZEJ5U3lzdGVtSWdub3JpbmdDYWNoaW5nKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vz
c1Bvb2w6Om5vdGlmeVByZWZlcmVuY2VzQ2hhbmdlZCk6CisgICAgICAgICogVUlQcm9jZXNzL1dl
YlByb2Nlc3NQb29sLmg6CisgICAgICAgICogVUlQcm9jZXNzL21hYy9EaXNwbGF5Q2FwdHVyZVNl
c3Npb25NYW5hZ2VyLmg6CisgICAgICAgICogVUlQcm9jZXNzL21hYy9EaXNwbGF5Q2FwdHVyZVNl
c3Npb25NYW5hZ2VyLm1tOgorICAgICAgICAoV2ViS2l0OjpEaXNwbGF5Q2FwdHVyZVNlc3Npb25N
YW5hZ2VyOjpwcm9tcHRGb3JHZXREaXNwbGF5TWVkaWEpOgorICAgICAgICAqIFdlYktpdC54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qOgorCiAyMDIyLTAyLTEwICBXZW5zb24gSHNpZWggIDx3ZW5z
b25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFN1cHBvcnQgYFdlYlBhZ2VQcm94eTo6cmVw
bGFjZVNlbGVjdGlvbldpdGhQYXN0ZWJvYXJkRGF0YSgpYCBvbiBpT1MKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvUGxhdGZvcm1NYWMuY21ha2UgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtTWFj
LmNtYWtlCmluZGV4IGUyOTY2ZDUxM2JiNTgzOWRmMTJiMzIyYWYyZWViMDU0ZWI0ZDY2NTUuLjEw
MGRmODBiMjdjYTc4MDEwYjJmMWRkODA3MzYxNzQ0MGQ1MjZhNzQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvUGxhdGZvcm1NYWMuY21ha2UKKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybU1h
Yy5jbWFrZQpAQCAtNDYwLDYgKzQ2MCw3IEBAIGxpc3QoQVBQRU5EIFdlYktpdF9QVUJMSUNfRlJB
TUVXT1JLX0hFQURFUlMKICAgICBVSVByb2Nlc3MvQVBJL0NvY29hL19XS1Jlc291cmNlTG9hZFN0
YXRpc3RpY3NGaXJzdFBhcnR5LmgKICAgICBVSVByb2Nlc3MvQVBJL0NvY29hL19XS1Jlc291cmNl
TG9hZFN0YXRpc3RpY3NUaGlyZFBhcnR5LmgKICAgICBVSVByb2Nlc3MvQVBJL0NvY29hL19XS1Nl
c3Npb25TdGF0ZS5oCisgICAgVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tTeXN0ZW1QcmVmZXJlbmNl
cy5oCiAgICAgVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tUYXBIYW5kbGluZ1Jlc3VsdC5oCiAgICAg
VUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tUZXh0SW5wdXRDb250ZXh0LmgKICAgICBVSVByb2Nlc3Mv
QVBJL0NvY29hL19XS1RleHRNYW5pcHVsYXRpb25Db25maWd1cmF0aW9uLmgKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dCBiL1NvdXJjZS9XZWJLaXQvU291cmNlc0Nv
Y29hLnR4dAppbmRleCA5ODk3NGZhMDhiNTlkNDc3YzIzMWZiNWQzZmEyNzFhMDliMmQ1ZDAxLi4z
MDg0YzFlODA4NWJkODQ5ODk2YWNhYTI5ZjE5YTQ0NjA5MWEyZjQ3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQKKysrIGIvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29j
b2EudHh0CkBAIC0yOTUsNiArMjk1LDcgQEAgVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tQcm9jZXNz
UG9vbENvbmZpZ3VyYXRpb24ubW0KIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLUmVtb3RlV2ViSW5z
cGVjdG9yVmlld0NvbnRyb2xsZXIubW0KIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLUmVzb3VyY2VM
b2FkSW5mby5tbQogVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tTZXNzaW9uU3RhdGUubW0KK1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvX1dLU3lzdGVtUHJlZmVyZW5jZXMubW0KIFVJUHJvY2Vzcy9BUEkvQ29j
b2EvX1dLVGV4dElucHV0Q29udGV4dC5tbQogVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tUZXh0TWFu
aXB1bGF0aW9uQ29uZmlndXJhdGlvbi5tbQogVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tUZXh0TWFu
aXB1bGF0aW9uRXhjbHVzaW9uUnVsZS5tbQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0NvY29hL19XS1N5c3RlbVByZWZlcmVuY2VzLmggYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvX1dLU3lzdGVtUHJlZmVyZW5jZXMuaApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTdm
NGYyMTM3ZDIyNGI1NzBmYjRmZTIwNjdkMzdhYjgwNDg5MTM2Ci0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1N5c3RlbVByZWZlcmVuY2VzLmgK
QEAgLTAsMCArMSw0MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMiBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgPEZvdW5kYXRpb24vRm91bmRh
dGlvbi5oPgorI2ltcG9ydCA8V2ViS2l0L1dLRm91bmRhdGlvbi5oPgorCitjb25zdGV4cHIgYXV0
byBXZWJLaXRDYXB0aXZlUG9ydGFsTW9kZUdsb2JhbENvbmZpZ3VyYXRpb25DaGFuZ2VkTm90aWZp
Y2F0aW9uID0gIldLQ2FwdGl2ZVBvcnRhbE1vZGVFbmFibGVkIjsKK2NvbnN0ZXhwciBhdXRvIFdl
YktpdENhcHRpdmVQb3J0YWxNb2RlQ29udGFpbmVyQ29uZmlndXJhdGlvbkNoYW5nZWROb3RpZmlj
YXRpb24gPSBAImNvbS5hcHBsZS5XZWJLaXQuY3BtY29uZmlnIjsKKworV0tfQ0xBU1NfQVZBSUxB
QkxFKG1hY29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpCitAaW50ZXJmYWNlIF9XS1N5
c3RlbVByZWZlcmVuY2VzIDogTlNPYmplY3QKKworKyAoQk9PTClpc0NhcHRpdmVQb3J0YWxNb2Rl
RW5hYmxlZEdsb2JhbGx5OworKyAodm9pZClzZXRDYXB0aXZlUG9ydGFsTW9kZUVuYWJsZWRHbG9i
YWxseTooQk9PTCllbmFibGVkOworKyAoQk9PTClpc0NhcHRpdmVQb3J0YWxNb2RlSWdub3JlZEZv
ckNvbnRhaW5lcjooTlNTdHJpbmcgKiljb250YWluZXJQYXRoOworKyAodm9pZClzZXRDYXB0aXZl
UG9ydGFsTW9kZUlnbm9yZWRGb3JDb250YWluZXI6KE5TU3RyaW5nICopY29udGFpbmVyUGF0aCBp
Z25vcmU6KEJPT0wpaWdub3JlOworCitAZW5kCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvX1dLU3lzdGVtUHJlZmVyZW5jZXMubW0gYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLU3lzdGVtUHJlZmVyZW5jZXMubW0KbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YjdlZDdlNmIyNjczMjdkNDEwZGM5NmEwMjc4NDE3NGNkNmE5OGZmNwotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tTeXN0ZW1QcmVmZXJlbmNl
cy5tbQpAQCAtMCwwICsxLDgzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIyIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9ydCAiY29uZmlnLmgiCisj
aW1wb3J0ICJfV0tTeXN0ZW1QcmVmZXJlbmNlcy5oIgorCisjaW1wb3J0IDx3dGYvQXNzZXJ0aW9u
cy5oPgorI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgorCitjb25zdGV4cHIgYXV0byBDYXB0aXZl
UG9ydGFsQ29uZmlndXJhdGlvbklnbm9yZUZpbGVQYXRoID0gQCJMaWJyYXJ5L1ByZWZlcmVuY2Vz
L2NvbS5hcHBsZS5XZWJLaXQuY3BtY29uZmlnX2lnbm9yZSI7CisKK0BpbXBsZW1lbnRhdGlvbiBf
V0tTeXN0ZW1QcmVmZXJlbmNlcworCisrIChCT09MKWlzQ2FwdGl2ZVBvcnRhbE1vZGVFbmFibGVk
R2xvYmFsbHkKK3sKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorICAgIGF1dG8gY2hhbmdl
ZE5vdGlmaWNhdGlvbk5hbWUgPSBhZG9wdENGKENGU3RyaW5nQ3JlYXRlV2l0aENTdHJpbmcoa0NG
QWxsb2NhdG9yRGVmYXVsdCwgV2ViS2l0Q2FwdGl2ZVBvcnRhbE1vZGVHbG9iYWxDb25maWd1cmF0
aW9uQ2hhbmdlZE5vdGlmaWNhdGlvbiwga0NGU3RyaW5nRW5jb2RpbmdVVEY4KSk7CisgICAgYXV0
byBwcmVmZXJlbmNlVmFsdWUgPSBhZG9wdENGKENGUHJlZmVyZW5jZXNDb3B5VmFsdWUoY2hhbmdl
ZE5vdGlmaWNhdGlvbk5hbWUuZ2V0KCksIGtDRlByZWZlcmVuY2VzQW55QXBwbGljYXRpb24sIGtD
RlByZWZlcmVuY2VzQW55VXNlciwga0NGUHJlZmVyZW5jZXNDdXJyZW50SG9zdCkpOworICAgIHJl
dHVybiBwcmVmZXJlbmNlVmFsdWUuZ2V0KCkgPT0ga0NGQm9vbGVhblRydWU7CisjZWxzZQorICAg
IHJldHVybiBmYWxzZTsKKyNlbmRpZgorfQorCisrICh2b2lkKXNldENhcHRpdmVQb3J0YWxNb2Rl
RW5hYmxlZEdsb2JhbGx5OihCT09MKWVuYWJsZWQKK3sKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxf
U0RLKQorICAgIGF1dG8gY2hhbmdlZE5vdGlmaWNhdGlvbk5hbWUgPSBhZG9wdENGKENGU3RyaW5n
Q3JlYXRlV2l0aENTdHJpbmcoa0NGQWxsb2NhdG9yRGVmYXVsdCwgV2ViS2l0Q2FwdGl2ZVBvcnRh
bE1vZGVHbG9iYWxDb25maWd1cmF0aW9uQ2hhbmdlZE5vdGlmaWNhdGlvbiwga0NGU3RyaW5nRW5j
b2RpbmdVVEY4KSk7CisgICAgQ0ZQcmVmZXJlbmNlc1NldFZhbHVlKGNoYW5nZWROb3RpZmljYXRp
b25OYW1lLmdldCgpLCBlbmFibGVkID8ga0NGQm9vbGVhblRydWUgOiBrQ0ZCb29sZWFuRmFsc2Us
IGtDRlByZWZlcmVuY2VzQW55QXBwbGljYXRpb24sIGtDRlByZWZlcmVuY2VzQW55VXNlciwga0NG
UHJlZmVyZW5jZXNDdXJyZW50SG9zdCk7CisgICAgQ0ZQcmVmZXJlbmNlc1N5bmNocm9uaXplKGtD
RlByZWZlcmVuY2VzQW55QXBwbGljYXRpb24sIGtDRlByZWZlcmVuY2VzQW55VXNlciwga0NGUHJl
ZmVyZW5jZXNBbnlIb3N0KTsKKyNlbmRpZgorfQorCisrIChCT09MKWlzQ2FwdGl2ZVBvcnRhbE1v
ZGVJZ25vcmVkRm9yQ29udGFpbmVyOihOU1N0cmluZyAqKWNvbnRhaW5lclBhdGgKK3sKKyNpZiBV
U0UoQVBQTEVfSU5URVJOQUxfU0RLKSAmJiBQTEFURk9STShJT1NfRkFNSUxZKQorICAgIE5TU3Ry
aW5nICpjcG1jb25maWdJZ25vcmVGaWxlUGF0aCA9IFtjb250YWluZXJQYXRoIHN0cmluZ0J5QXBw
ZW5kaW5nUGF0aENvbXBvbmVudDpDYXB0aXZlUG9ydGFsQ29uZmlndXJhdGlvbklnbm9yZUZpbGVQ
YXRoXTsKKyAgICByZXR1cm4gW1tOU0ZpbGVNYW5hZ2VyIGRlZmF1bHRNYW5hZ2VyXSBmaWxlRXhp
c3RzQXRQYXRoOmNwbWNvbmZpZ0lnbm9yZUZpbGVQYXRoXTsKKyNlbHNlCisgICAgcmV0dXJuIGZh
bHNlOworI2VuZGlmCit9CisKKysgKHZvaWQpc2V0Q2FwdGl2ZVBvcnRhbE1vZGVJZ25vcmVkRm9y
Q29udGFpbmVyOihOU1N0cmluZyAqKWNvbnRhaW5lclBhdGggaWdub3JlOihCT09MKWlnbm9yZQor
eworI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspICYmIFBMQVRGT1JNKElPU19GQU1JTFkpCisg
ICAgTlNTdHJpbmcgKmNwbWNvbmZpZ0lnbm9yZUZpbGVQYXRoID0gW2NvbnRhaW5lclBhdGggc3Ry
aW5nQnlBcHBlbmRpbmdQYXRoQ29tcG9uZW50OkNhcHRpdmVQb3J0YWxDb25maWd1cmF0aW9uSWdu
b3JlRmlsZVBhdGhdOworICAgIAorICAgIGlmIChbW05TRmlsZU1hbmFnZXIgZGVmYXVsdE1hbmFn
ZXJdIGZpbGVFeGlzdHNBdFBhdGg6Y3BtY29uZmlnSWdub3JlRmlsZVBhdGhdID09IGlnbm9yZSkK
KyAgICAgICAgcmV0dXJuOworICAgIAorICAgIGlmIChpZ25vcmUpCisgICAgICAgIFtbTlNGaWxl
TWFuYWdlciBkZWZhdWx0TWFuYWdlcl0gY3JlYXRlRmlsZUF0UGF0aDpjcG1jb25maWdJZ25vcmVG
aWxlUGF0aCBjb250ZW50czpOVUxMIGF0dHJpYnV0ZXM6TlVMTF07CisgICAgZWxzZQorICAgICAg
ICBbW05TRmlsZU1hbmFnZXIgZGVmYXVsdE1hbmFnZXJdIHJlbW92ZUl0ZW1BdFBhdGg6Y3BtY29u
ZmlnSWdub3JlRmlsZVBhdGggZXJyb3I6TlVMTF07CisKKyAgICBDRk5vdGlmaWNhdGlvbkNlbnRl
clBvc3ROb3RpZmljYXRpb24oQ0ZOb3RpZmljYXRpb25DZW50ZXJHZXREYXJ3aW5Ob3RpZnlDZW50
ZXIoKSwgKF9fYnJpZGdlIENGU3RyaW5nUmVmKVdlYktpdENhcHRpdmVQb3J0YWxNb2RlQ29udGFp
bmVyQ29uZmlndXJhdGlvbkNoYW5nZWROb3RpZmljYXRpb24sIG51bGxwdHIsIG51bGxwdHIsIHRy
dWUpOworI2VuZGlmCit9CisKK0BlbmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0NvY29hL1ByZWZlcmVuY2VPYnNlcnZlci5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0NvY29hL1ByZWZlcmVuY2VPYnNlcnZlci5tbQppbmRleCAzNGJmYTc5MjVkNWQ0NGUwZTllODEy
MDI0NzllNzc1ODE1ZWFjNmJjLi4wYTYxYzc1MTQxNmExNGM5YjA3MTAzOGU5OTkxMzVhYWE3Zjhm
OTM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9QcmVmZXJlbmNl
T2JzZXJ2ZXIubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvUHJlZmVyZW5j
ZU9ic2VydmVyLm1tCkBAIC03MSw2ICs3MSw3IEBACiAgICAgICAgICAgICBlbmNvZGVkU3RyaW5n
ID0gW2RhdGEgYmFzZTY0RW5jb2RlZFN0cmluZ1dpdGhPcHRpb25zOjBdOwogICAgICAgICB9CiAK
KyAgICAgICAgYXV0byBzeXN0ZW1WYWx1ZSA9IGFkb3B0Q0YoQ0ZQcmVmZXJlbmNlc0NvcHlWYWx1
ZSgoX19icmlkZ2UgQ0ZTdHJpbmdSZWYpa2V5LCBrQ0ZQcmVmZXJlbmNlc0FueUFwcGxpY2F0aW9u
LCBrQ0ZQcmVmZXJlbmNlc0FueVVzZXIsIGtDRlByZWZlcmVuY2VzQW55SG9zdCkpOwogICAgICAg
ICBhdXRvIGdsb2JhbFZhbHVlID0gYWRvcHRDRihDRlByZWZlcmVuY2VzQ29weVZhbHVlKChfX2Jy
aWRnZSBDRlN0cmluZ1JlZilrZXksIGtDRlByZWZlcmVuY2VzQW55QXBwbGljYXRpb24sIGtDRlBy
ZWZlcmVuY2VzQ3VycmVudFVzZXIsIGtDRlByZWZlcmVuY2VzQW55SG9zdCkpOwogICAgICAgICBh
dXRvIGRvbWFpblZhbHVlID0gYWRvcHRDRihDRlByZWZlcmVuY2VzQ29weVZhbHVlKChfX2JyaWRn
ZSBDRlN0cmluZ1JlZilrZXksIChfX2JyaWRnZSBDRlN0cmluZ1JlZiltX3N1aXRlTmFtZS5nZXQo
KSwga0NGUHJlZmVyZW5jZXNDdXJyZW50VXNlciwga0NGUHJlZmVyZW5jZXNBbnlIb3N0KSk7CiAK
QEAgLTc4LDcgKzc5LDcgQEAKICAgICAgICAgICAgIHJldHVybiBhID09IGIgfHwgW2EgaXNFcXVh
bDpiXTsKICAgICAgICAgfTsKIAotICAgICAgICBpZiAocHJlZmVyZW5jZVZhbHVlc0FyZUVxdWFs
KChfX2JyaWRnZSBpZClnbG9iYWxWYWx1ZS5nZXQoKSwgbmV3VmFsdWUpKQorICAgICAgICBpZiAo
cHJlZmVyZW5jZVZhbHVlc0FyZUVxdWFsKChfX2JyaWRnZSBpZClzeXN0ZW1WYWx1ZS5nZXQoKSwg
bmV3VmFsdWUpIHx8IHByZWZlcmVuY2VWYWx1ZXNBcmVFcXVhbCgoX19icmlkZ2UgaWQpZ2xvYmFs
VmFsdWUuZ2V0KCksIG5ld1ZhbHVlKSkKICAgICAgICAgICAgIFttX29ic2VydmVyIHByZWZlcmVu
Y2VEaWRDaGFuZ2U6bmlsIGtleTprZXkgZW5jb2RlZFZhbHVlOmVuY29kZWRTdHJpbmddOwogCiAg
ICAgICAgIGlmIChwcmVmZXJlbmNlVmFsdWVzQXJlRXF1YWwoKF9fYnJpZGdlIGlkKWRvbWFpblZh
bHVlLmdldCgpLCBuZXdWYWx1ZSkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0Nv
Y29hL1dlYlBhZ2VQcm94eUNvY29hLm1tCmluZGV4IDAyNjM2YjUxODhlM2FjNjJmZDVjMjZlMzFi
MzY1YmE3MmMyMDNhZjIuLjNjNDczYTU4ZWVmZGVlNzA5ZmJhNTI1MTJkM2ZkODgwNzcwZmI3OWQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNv
Y29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNv
Y29hLm1tCkBAIC0zNywxMiArMzcsMTQgQEAKICNpbXBvcnQgIkxvYWRQYXJhbWV0ZXJzLmgiCiAj
aW1wb3J0ICJNb2RhbENvbnRhaW5lckNvbnRyb2xDbGFzc2lmaWVyLmgiCiAjaW1wb3J0ICJQYWdl
Q2xpZW50LmgiCisjaW1wb3J0ICJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHkuaCIKICNpbXBv
cnQgIlF1YXJhbnRpbmVTUEkuaCIKICNpbXBvcnQgIlF1aWNrTG9va1RodW1ibmFpbExvYWRlci5o
IgogI2ltcG9ydCAiU2FmZUJyb3dzaW5nU1BJLmgiCiAjaW1wb3J0ICJTYWZlQnJvd3NpbmdXYXJu
aW5nLmgiCiAjaW1wb3J0ICJTaGFyZWRCdWZmZXJDb3B5LmgiCiAjaW1wb3J0ICJTeW5hcHNlU1BJ
LmgiCisjaW1wb3J0ICJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkuaCIKICNpbXBvcnQgIldl
YkNvbnRleHRNZW51UHJveHkuaCIKICNpbXBvcnQgIldlYlBhZ2UuaCIKICNpbXBvcnQgIldlYlBh
Z2VNZXNzYWdlcy5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2Ev
V2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dl
YlByb2Nlc3NQb29sQ29jb2EubW0KaW5kZXggYzc4NjU2OTE0YTY2NDBlZDJmMmM5OTNmYjZhZmZh
M2QwY2JkNmQwZC4uMmJlMDZkMmQ1NzNmNWU4MGY1MzRlMjc4MTlkZmJiZGFjYTkxODYyYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2Nv
YS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENv
Y29hLm1tCkBAIC01Miw2ICs1Miw3IEBACiAjaW1wb3J0ICJXZWJQcm9jZXNzQ3JlYXRpb25QYXJh
bWV0ZXJzLmgiCiAjaW1wb3J0ICJXZWJQcm9jZXNzTWVzc2FnZXMuaCIKICNpbXBvcnQgIldpbmRv
d1NlcnZlckNvbm5lY3Rpb24uaCIKKyNpbXBvcnQgIl9XS1N5c3RlbVByZWZlcmVuY2VzLmgiCiAj
aW1wb3J0IDxXZWJDb3JlL0FHWENvbXBpbGVyU2VydmljZS5oPgogI2ltcG9ydCA8V2ViQ29yZS9D
b2xvci5oPgogI2ltcG9ydCA8V2ViQ29yZS9Mb2NhbGl6ZWREZXZpY2VNb2RlbC5oPgpAQCAtNzAs
NiArNzEsNyBAQAogI2ltcG9ydCA8d3RmL0ZpbGVTeXN0ZW0uaD4KICNpbXBvcnQgPHd0Zi9Qcm9j
ZXNzUHJpdmlsZWdlLmg+CiAjaW1wb3J0IDx3dGYvU29mdExpbmtpbmcuaD4KKyNpbXBvcnQgPHd0
Zi9jZi9UeXBlQ2FzdHNDRi5oPgogI2ltcG9ydCA8d3RmL2NvY29hL0VudGl0bGVtZW50cy5oPgog
I2ltcG9ydCA8d3RmL2NvY29hL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmg+CiAjaW1w
b3J0IDx3dGYvY29jb2EvVHlwZUNhc3RzQ29jb2EuaD4KQEAgLTEyOCw3ICsxMzAsNyBAQCBOU1N0
cmluZyAqV2ViS2l0SlNDRlRMSklURW5hYmxlZERlZmF1bHRzS2V5ID0gQCJXZWJLaXRKU0NGVExK
SVRFbmFibGVkRGVmYXVsdHNLZQogc3RhdGljIE5TU3RyaW5nICpXZWJLaXRBcHBsaWNhdGlvbkRp
ZENoYW5nZUFjY2Vzc2liaWxpdHlFbmhhbmNlZFVzZXJJbnRlcmZhY2VOb3RpZmljYXRpb24gPSBA
Ik5TQXBwbGljYXRpb25EaWRDaGFuZ2VBY2Nlc3NpYmlsaXR5RW5oYW5jZWRVc2VySW50ZXJmYWNl
Tm90aWZpY2F0aW9uIjsKIHN0YXRpYyBDRlN0cmluZ1JlZiBBcHBsZUNvbG9yUHJlZmVyZW5jZXND
aGFuZ2VkTm90aWZpY2F0aW9uID0gQ0ZTVFIoIkFwcGxlQ29sb3JQcmVmZXJlbmNlc0NoYW5nZWRO
b3RpZmljYXRpb24iKTsKICNlbmRpZgotc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IFdlYktpdENh
cHRpdmVQb3J0YWxNb2RlQ2hhbmdlZE5vdGlmaWNhdGlvbiA9ICJXZWJLaXRDYXB0aXZlUG9ydGFs
TW9kZUVuYWJsZWQiOworc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IFdlYktpdENhcHRpdmVQb3J0
YWxNb2RlQ2hhbmdlZE5vdGlmaWNhdGlvbl9MZWdhY3kgPSAiV2ViS2l0Q2FwdGl2ZVBvcnRhbE1v
ZGVFbmFibGVkIjsKIAogc3RhdGljIE5TU3RyaW5nICogY29uc3QgV2ViS2l0U3VwcHJlc3NNZW1v
cnlQcmVzc3VyZUhhbmRsZXJEZWZhdWx0c0tleSA9IEAiV2ViS2l0U3VwcHJlc3NNZW1vcnlQcmVz
c3VyZUhhbmRsZXIiOwogCkBAIC02MjIsNiArNjI0LDE0IEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6
OnJlbW90ZVdlYkluc3BlY3RvckVuYWJsZWRDYWxsYmFjayhDRk5vdGlmaWNhdGlvbkNlbnRlclJl
ZiwKIH0KICNlbmRpZgogCisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKK3ZvaWQgV2ViUHJvY2Vz
c1Bvb2w6OmNhcHRpdmVQb3J0YWxNb2RlQ29uZmlnVXBkYXRlQ2FsbGJhY2soQ0ZOb3RpZmljYXRp
b25DZW50ZXJSZWYsIHZvaWQqIG9ic2VydmVyLCBDRlN0cmluZ1JlZiwgY29uc3Qgdm9pZCosIENG
RGljdGlvbmFyeVJlZikKK3sKKyAgICBpZiAoYXV0byBwb29sID0gZXh0cmFjdFdlYlByb2Nlc3NQ
b29sKG9ic2VydmVyKSkKKyAgICAgICAgcG9vbC0+Y2FwdGl2ZVBvcnRhbE1vZGVTdGF0ZUNoYW5n
ZWQoKTsKK30KKyNlbmRpZgorCiAjaWYgRU5BQkxFKENGUFJFRlNfRElSRUNUX01PREUpCiB2b2lk
IFdlYlByb2Nlc3NQb29sOjpzdGFydE9ic2VydmluZ1ByZWZlcmVuY2VDaGFuZ2VzKCkKIHsKQEAg
LTczNSw2ICs3NDUsMTAgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6cmVnaXN0ZXJOb3RpZmljYXRp
b25PYnNlcnZlcnMoKQogICAgICAgICBzZW5kVG9BbGxQcm9jZXNzZXMoTWVzc2FnZXM6OldlYlBy
b2Nlc3M6OlBvd2VyU291cmNlRGlkQ2hhbmdlKGhhc0FDKSk7CiAgICAgfSk7CiAKKyNpZiBQTEFU
Rk9STShJT1NfRkFNSUxZKQorICAgIGFkZENGTm90aWZpY2F0aW9uT2JzZXJ2ZXIoY2FwdGl2ZVBv
cnRhbE1vZGVDb25maWdVcGRhdGVDYWxsYmFjaywgKF9fYnJpZGdlIENGU3RyaW5nUmVmKVdlYktp
dENhcHRpdmVQb3J0YWxNb2RlQ29udGFpbmVyQ29uZmlndXJhdGlvbkNoYW5nZWROb3RpZmljYXRp
b24pOworI2VuZGlmCisKICNpZiBIQVZFKFBFUl9BUFBfQUNDRVNTSUJJTElUWV9QUkVGRVJFTkNF
UykKICAgICBhZGRDRk5vdGlmaWNhdGlvbk9ic2VydmVyKGFjY2Vzc2liaWxpdHlQcmVmZXJlbmNl
c0NoYW5nZWRDYWxsYmFjaywga0FYU1JlZHVjZU1vdGlvbkNoYW5nZWROb3RpZmljYXRpb24pOwog
ICAgIGFkZENGTm90aWZpY2F0aW9uT2JzZXJ2ZXIoYWNjZXNzaWJpbGl0eVByZWZlcmVuY2VzQ2hh
bmdlZENhbGxiYWNrLCBrQVhTSW5jcmVhc2VCdXR0b25MZWdpYmlsaXR5Tm90aWZpY2F0aW9uKTsK
QEAgLTc3OCw2ICs3OTIsMTAgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6dW5yZWdpc3Rlck5vdGlm
aWNhdGlvbk9ic2VydmVycygpCiAgICAgW1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2Vu
dGVyXSByZW1vdmVPYnNlcnZlcjptX2FjdGl2YXRpb25PYnNlcnZlci5nZXQoKV07CiAKICAgICBt
X3Bvd2VyU291cmNlTm90aWZpZXIgPSBudWxscHRyOworICAgIAorI2lmIFBMQVRGT1JNKElPU19G
QU1JTFkpCisgICAgcmVtb3ZlQ0ZOb3RpZmljYXRpb25PYnNlcnZlcigoX19icmlkZ2UgQ0ZTdHJp
bmdSZWYpV2ViS2l0Q2FwdGl2ZVBvcnRhbE1vZGVDb250YWluZXJDb25maWd1cmF0aW9uQ2hhbmdl
ZE5vdGlmaWNhdGlvbik7CisjZW5kaWYKIAogI2lmIEhBVkUoUEVSX0FQUF9BQ0NFU1NJQklMSVRZ
X1BSRUZFUkVOQ0VTKQogICAgIHJlbW92ZUNGTm90aWZpY2F0aW9uT2JzZXJ2ZXIoa0FYU1JlZHVj
ZU1vdGlvbkNoYW5nZWROb3RpZmljYXRpb24pOwpAQCAtOTMwLDcgKzk0OCwyMyBAQCBzdGF0aWMg
Ym9vbCBpc0NhcHRpdmVQb3J0YWxNb2RlRW5hYmxlZEJ5U3lzdGVtSWdub3JpbmdDYWNoaW5nKCkK
ICAgICBpZiAoYXV0byYgZW5hYmxlZEZvclRlc3RpbmcgPSBpc0NhcHRpdmVQb3J0YWxNb2RlRW5h
YmxlZEdsb2JhbGx5Rm9yVGVzdGluZygpKQogICAgICAgICByZXR1cm4gKmVuYWJsZWRGb3JUZXN0
aW5nOwogCi0gICAgcmV0dXJuIFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNd
IGJvb2xGb3JLZXk6W05TU3RyaW5nIHN0cmluZ1dpdGhVVEY4U3RyaW5nOldlYktpdENhcHRpdmVQ
b3J0YWxNb2RlQ2hhbmdlZE5vdGlmaWNhdGlvbl1dOworICAgIGlmIChbW05TVXNlckRlZmF1bHRz
IHN0YW5kYXJkVXNlckRlZmF1bHRzXSBib29sRm9yS2V5OltOU1N0cmluZyBzdHJpbmdXaXRoVVRG
OFN0cmluZzpXZWJLaXRDYXB0aXZlUG9ydGFsTW9kZUNoYW5nZWROb3RpZmljYXRpb25fTGVnYWN5
XV0pCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgaWYgKCFbX1dLU3lzdGVtUHJlZmVyZW5j
ZXMgaXNDYXB0aXZlUG9ydGFsTW9kZUVuYWJsZWRHbG9iYWxseV0pCisgICAgICAgIHJldHVybiBm
YWxzZTsKKworI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCisgICAgaWYgKHByb2Nlc3NIYXNDb250
YWluZXIoKSAmJiBbX1dLU3lzdGVtUHJlZmVyZW5jZXMgaXNDYXB0aXZlUG9ydGFsTW9kZUlnbm9y
ZWRGb3JDb250YWluZXI6cGF0aEZvclByb2Nlc3NDb250YWluZXIoKV0pCisgICAgICAgIHJldHVy
biBmYWxzZTsKKyNlbmRpZgorICAgIAorI2lmIFBMQVRGT1JNKE1BQykKKyAgICBpZiAoIVdlYkNv
cmU6Ok1hY0FwcGxpY2F0aW9uOjppc1NhZmFyaSgpICYmICFXZWJDb3JlOjpNYWNBcHBsaWNhdGlv
bjo6aXNNaW5pQnJvd3NlcigpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYKKyAgICAK
KyAgICByZXR1cm4gdHJ1ZTsKIH0KIAogdm9pZCBXZWJQcm9jZXNzUG9vbDo6Y2FwdGl2ZVBvcnRh
bE1vZGVTdGF0ZUNoYW5nZWQoKQpAQCAtMTA2Myw3ICsxMDk3LDcgQEAgdm9pZCBXZWJQcm9jZXNz
UG9vbDo6bm90aWZ5UHJlZmVyZW5jZXNDaGFuZ2VkKGNvbnN0IFN0cmluZyYgZG9tYWluLCBjb25z
dCBTdHJpbmcKICAgICAgICAgd2ViQXV0aG5Qcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJBdXRo
blByb2Nlc3M6Ok5vdGlmeVByZWZlcmVuY2VzQ2hhbmdlZChkb21haW4sIGtleSwgZW5jb2RlZFZh
bHVlKSwgMCk7CiAjZW5kaWYKIAotICAgIGlmIChrZXkgPT0gV2ViS2l0Q2FwdGl2ZVBvcnRhbE1v
ZGVDaGFuZ2VkTm90aWZpY2F0aW9uKQorICAgIGlmIChrZXkgPT0gV2ViS2l0Q2FwdGl2ZVBvcnRh
bE1vZGVHbG9iYWxDb25maWd1cmF0aW9uQ2hhbmdlZE5vdGlmaWNhdGlvbiB8fCBrZXkgPT0gV2Vi
S2l0Q2FwdGl2ZVBvcnRhbE1vZGVDaGFuZ2VkTm90aWZpY2F0aW9uX0xlZ2FjeSkKICAgICAgICAg
Y2FwdGl2ZVBvcnRhbE1vZGVTdGF0ZUNoYW5nZWQoKTsKIH0KICNlbmRpZiAvLyBFTkFCTEUoQ0ZQ
UkVGU19ESVJFQ1RfTU9ERSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlByb2Nlc3NQb29sLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5o
CmluZGV4IGUyNTNhNWU3M2E0ODY5YWI4OWQ0MjA3MDgwNjZmMTA1ZWU4MTA4OTguLmVmZTRjM2Ni
MzhiOTRiNGI0YjAyNWJmZGVkYWFhZWM5MWI0Y2FmNTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUHJvY2Vzc1Bvb2wuaApAQCAtNTg0LDYgKzU4NCwxMCBAQCBwcml2YXRlOgogI2VuZGlm
CiAjZW5kaWYKIAorI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCisgICAgc3RhdGljIHZvaWQgY2Fw
dGl2ZVBvcnRhbE1vZGVDb25maWdVcGRhdGVDYWxsYmFjayhDRk5vdGlmaWNhdGlvbkNlbnRlclJl
Ziwgdm9pZCogb2JzZXJ2ZXIsIENGU3RyaW5nUmVmIG5hbWUsIGNvbnN0IHZvaWQqIHBvc3RpbmdP
YmplY3QsIENGRGljdGlvbmFyeVJlZiB1c2VySW5mbyk7CisjZW5kaWYKKyAgICAKICNpZiBQTEFU
Rk9STShDT0NPQSkKICAgICBzdGF0aWMgdm9pZCBhY2Nlc3NpYmlsaXR5UHJlZmVyZW5jZXNDaGFu
Z2VkQ2FsbGJhY2soQ0ZOb3RpZmljYXRpb25DZW50ZXJSZWYsIHZvaWQqIG9ic2VydmVyLCBDRlN0
cmluZ1JlZiBuYW1lLCBjb25zdCB2b2lkKiBwb3N0aW5nT2JqZWN0LCBDRkRpY3Rpb25hcnlSZWYg
dXNlckluZm8pOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9t
YWMvRGlzcGxheUNhcHR1cmVTZXNzaW9uTWFuYWdlci5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvbWFjL0Rpc3BsYXlDYXB0dXJlU2Vzc2lvbk1hbmFnZXIuaAppbmRleCA2MGQ5M2IzYzZhMTI4
ZmI2ZDE4YjM1ZTlhOTc2NmY3ZTlhZTMwMTBlLi44ZTA0Yjc2Mzg4MzMzMDJiMjEzYTFjNDFhNGEz
YmEzNmE0MzViOTY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvRGlz
cGxheUNhcHR1cmVTZXNzaW9uTWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L21hYy9EaXNwbGF5Q2FwdHVyZVNlc3Npb25NYW5hZ2VyLmgKQEAgLTI4LDYgKzI4LDcgQEAKICNp
ZiBQTEFURk9STShDT0NPQSkgJiYgRU5BQkxFKE1FRElBX1NUUkVBTSkKIAogI2luY2x1ZGUgIlVz
ZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0UHJveHkuaCIKKyNpbmNsdWRlICJXZWJQYWdlUHJveHku
aCIKICNpbmNsdWRlIDxXZWJDb3JlL1NlY3VyaXR5T3JpZ2luRGF0YS5oPgogI2luY2x1ZGUgPHd0
Zi9Db21wbGV0aW9uSGFuZGxlci5oPgogI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvRGlzcGxheUNhcHR1cmVTZXNzaW9uTWFu
YWdlci5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9EaXNwbGF5Q2FwdHVyZVNlc3Np
b25NYW5hZ2VyLm1tCmluZGV4IDc5OWY2ZjEzYTI0MjlmMGQ3OTY2MjcyMTgwY2M2NGMzMDZhMjMy
ZWMuLjg5M2VlMjA1MzRjZDQ2NjZkZjgwYTBiMTAxZjlhYTg1ZDIyN2FkZmQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9EaXNwbGF5Q2FwdHVyZVNlc3Npb25NYW5hZ2Vy
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9EaXNwbGF5Q2FwdHVyZVNlc3Np
b25NYW5hZ2VyLm1tCkBAIC0yNTQsNyArMjU0LDcgQEAgRGlzcGxheUNhcHR1cmVTZXNzaW9uTWFu
YWdlcjo6fkRpc3BsYXlDYXB0dXJlU2Vzc2lvbk1hbmFnZXIoKQogewogfQogCi12b2lkIERpc3Bs
YXlDYXB0dXJlU2Vzc2lvbk1hbmFnZXI6OnByb21wdEZvckdldERpc3BsYXlNZWRpYShVc2VyTWVk
aWFQZXJtaXNzaW9uUmVxdWVzdFByb3h5OjpVc2VyTWVkaWFEaXNwbGF5Q2FwdHVyZVByb21wdFR5
cGUgcHJvbXB0VHlwZSwgV2ViUGFnZVByb3h5JiBwYWdlLCBjb25zdCBXZWJDb3JlOjpTZWN1cml0
eU9yaWdpbkRhdGEmIG9yaWdpbiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChzdGQ6Om9wdGlvbmFs
PENhcHR1cmVEZXZpY2U+KT4mJiBjb21wbGV0aW9uSGFuZGxlcikKK3ZvaWQgRGlzcGxheUNhcHR1
cmVTZXNzaW9uTWFuYWdlcjo6cHJvbXB0Rm9yR2V0RGlzcGxheU1lZGlhKFVzZXJNZWRpYVBlcm1p
c3Npb25SZXF1ZXN0UHJveHk6OlVzZXJNZWRpYURpc3BsYXlDYXB0dXJlUHJvbXB0VHlwZSBwcm9t
cHRUeXBlLCBXZWJQYWdlUHJveHkmIHBhZ2UsIGNvbnN0IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2lu
RGF0YSYgb3JpZ2luLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9uYWw8V2ViQ29y
ZTo6Q2FwdHVyZURldmljZT4pPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIEFTU0VSVChp
c0F2YWlsYWJsZSgpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKaW5kZXggNTk0MDIzYjZkZjYyNzExMGFkZjUxOWQ0NDNmNWFiNWI4YWZlNjQ2
NC4uYzM3MDQ3OThmNzY1ZTFhYmVlZDFhZjFjMGZjY2ZiMzUyNmI5YTY2OCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xNDA5LDYgKzE0
MDksNyBAQAogCQk4M0YxQTA3QTFGOTZFNzc5MDA0NUI5NEUgLyogV2ViU1dPcmlnaW5UYWJsZS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODNGMUEwNzgx
Rjk2RTc3MTAwNDVCOTRFIC8qIFdlYlNXT3JpZ2luVGFibGUuaCAqLzsgfTsKIAkJODNGOTY0NEUx
RkEwRjc2RTAwQzQ3NzUwIC8qIFNoYXJlZFN0cmluZ0hhc2hUYWJsZVJlYWRPbmx5LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4M0Y5NjQ0QzFGQTBGNzYz
MDBDNDc3NTAgLyogU2hhcmVkU3RyaW5nSGFzaFRhYmxlUmVhZE9ubHkuaCAqLzsgfTsKIAkJODQ0
Nzc4NTMxNzZGQ0MwODAwQ0RDN0JCIC8qIEluamVjdGVkQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlh
VHlwZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODQ0
Nzc4NTExNzZGQ0FDMTAwQ0RDN0JCIC8qIEluamVjdGVkQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlh
VHlwZS5oICovOyB9OworCQk4NjQ0ODkwQjI3QjQ3MDIwMDA3QTFDNjYgLyogX1dLU3lzdGVtUHJl
ZmVyZW5jZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDg2NDQ4OTBBMjdCNDcwMjAwMDdBMUM2NiAvKiBfV0tTeXN0ZW1QcmVmZXJlbmNlcy5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTg2RTY3QTI1MTkx
MEI5RDEwMDAwNEFCNyAvKiBQcm9jZXNzVGhyb3R0bGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NkU2N0EyMTE5MEY0MTE4MDAwMDRBQjcgLyogUHJv
Y2Vzc1Rocm90dGxlci5oICovOyB9OwogCQk4NkY5NTM2NTE4RkY1OEY1MDAxREIyRUYgLyogUHJv
Y2Vzc0Fzc2VydGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gODZGOTUzNjAxOEZGNEZENDAwMURCMkVGIC8qIFByb2Nlc3NBc3NlcnRpb24uaCAqLzsg
fTsKIAkJOERDMkVGNTMwNDg2QTY5NDAwOThCMjE2IC8qIEluZm9QbGlzdC5zdHJpbmdzIGluIFJl
c291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwODlDMTY2NkZFODQx
MTU4QzAyQUFDMDcgLyogSW5mb1BsaXN0LnN0cmluZ3MgKi87IH07CkBAIC01Mjg0LDYgKzUyODUs
OCBAQAogCQk4M0Y5NjQ0QjFGQTBGNzYyMDBDNDc3NTAgLyogU2hhcmVkU3RyaW5nSGFzaFRhYmxl
UmVhZE9ubHkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2hhcmVk
U3RyaW5nSGFzaFRhYmxlUmVhZE9ubHkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk4M0Y5NjQ0QzFGQTBGNzYzMDBDNDc3NTAgLyogU2hhcmVkU3RyaW5nSGFzaFRhYmxlUmVhZE9u
bHkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2hhcmVkU3RyaW5nSGFzaFRh
YmxlUmVhZE9ubHkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODQ0Nzc4NTExNzZG
Q0FDMTAwQ0RDN0JCIC8qIEluamVjdGVkQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlwZS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1
bHRNZWRpYVR5cGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODY0NDg5MEEyN0I0
NzAyMDAwN0ExQzY2IC8qIF9XS1N5c3RlbVByZWZlcmVuY2VzLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IF9XS1N5c3RlbVByZWZlcmVuY2VzLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTg2NDQ4OTBDMjdCNDcwNDUwMDdBMUM2NiAvKiBfV0tTeXN0ZW1QcmVmZXJl
bmNlcy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IF9XS1N5c3RlbVByZWZlcmVuY2VzLm1tOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NjgxNjBDRDE4NzYzRDRCMDAyMUU3OUQgLyog
V2luZG93U2VydmVyQ29ubmVjdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXaW5kb3dTZXJ2ZXJDb25u
ZWN0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg2ODE2MENGMTg3NjQ1Mzcw
MDIxRTc5RCAvKiBXaW5kb3dTZXJ2ZXJDb25uZWN0aW9uLm1tICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRo
ID0gV2luZG93U2VydmVyQ29ubmVjdGlvbi5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJODZFNjdBMjExOTBGNDExODAwMDA0QUI3IC8qIFByb2Nlc3NUaHJvdHRsZXIuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUHJvY2Vzc1Rocm90dGxlci5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwpAQCAtODg4MCw2ICs4ODgzLDggQEAKIAkJCQkxQTAwMkQzRjE5NkIz
Mjk0MDBCOUFENDQgLyogX1dLU2Vzc2lvblN0YXRlLmggKi8sCiAJCQkJMUEwMDJEM0UxOTZCMzI5
NDAwQjlBRDQ0IC8qIF9XS1Nlc3Npb25TdGF0ZS5tbSAqLywKIAkJCQkxQTAwMkQ0MjE5NkIzMzcw
MDBCOUFENDQgLyogX1dLU2Vzc2lvblN0YXRlSW50ZXJuYWwuaCAqLywKKwkJCQk4NjQ0ODkwQTI3
QjQ3MDIwMDA3QTFDNjYgLyogX1dLU3lzdGVtUHJlZmVyZW5jZXMuaCAqLywKKwkJCQk4NjQ0ODkw
QzI3QjQ3MDQ1MDA3QTFDNjYgLyogX1dLU3lzdGVtUHJlZmVyZW5jZXMubW0gKi8sCiAJCQkJRjRE
OTg1QzcyNjkwRkJFRjAwQkJDQ0JFIC8qIF9XS1RhcEhhbmRsaW5nUmVzdWx0LmggKi8sCiAJCQkJ
MkRFOUIxMzgyMjMxRjYxQzAwNTI4N0I3IC8qIF9XS1RleHRJbnB1dENvbnRleHQuaCAqLywKIAkJ
CQkyREU5QjEzNzIyMzFGNjFDMDA1Mjg3QjcgLyogX1dLVGV4dElucHV0Q29udGV4dC5tbSAqLywK
QEAgLTEyODc3LDYgKzEyODgyLDcgQEAKIAkJCQkzNzYzMTFGRTFBM0ZCNjAwMDA1QTJFNTEgLyog
X1dLU2FtZURvY3VtZW50TmF2aWdhdGlvblR5cGVJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMUEwMDJENDQxOTZCMzM4OTAwQjlBRDQ0IC8qIF9XS1Nlc3Npb25TdGF0ZS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMUEwMDJENDMxOTZCMzM3MDAwQjlBRDQ0IC8qIF9XS1Nlc3Npb25TdGF0ZUlu
dGVybmFsLmggaW4gSGVhZGVycyAqLywKKwkJCQk4NjQ0ODkwQjI3QjQ3MDIwMDA3QTFDNjYgLyog
X1dLU3lzdGVtUHJlZmVyZW5jZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUY0RDk4NUM4MjY5MEZD
MTIwMEJCQ0NCRSAvKiBfV0tUYXBIYW5kbGluZ1Jlc3VsdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MkRFOUIxM0EyMjMxRjYxQzAwNTI4N0I3IC8qIF9XS1RleHRJbnB1dENvbnRleHQuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTJERTlCMTNDMjIzMUY3N0MwMDUyODdCNyAvKiBfV0tUZXh0SW5wdXRDb250
ZXh0SW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>451604</attachid>
            <date>2022-02-10 14:49:35 -0800</date>
            <delta_ts>2022-02-10 14:52:49 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-236135-20220210144933.patch</filename>
            <type>text/plain</type>
            <size>25962</size>
            <attacher name="Gavin">gavin.p</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg5NTU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGYyNmUwMDhhNWQ4ODJkYTkw
MDUyMDg4OTQ4Y2U3ZGZjZTY1NWRlMmUuLmUzODI4OGRmNTI0NzEzNDNmM2VkMDFkYzA4OThkMzkx
MzkyYzg0MjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzUgQEAKKzIwMjItMDItMTAgIEdhdmluIFBo
aWxsaXBzICA8Z2F2aW4ucEBhcHBsZS5jb20+CisKKyAgICAgICAgVXBkYXRlIHByZWZlcmVuY2Ug
bG9jYXRpb24gdXNlZCBmb3IgQ2FwdGl2ZVBvcnRhbE1vZGUuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzYxMzUKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzg4NDg2NTQ0PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogUGxhdGZvcm1NYWMuY21ha2U6CisgICAgICAgICogU291cmNlc0NvY29hLnR4dDoK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS1N5c3RlbVByZWZlcmVuY2VzLmg6IEFk
ZGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLU3lzdGVtUHJlZmVyZW5jZXMu
bW06IEFkZGVkLgorICAgICAgICAoK1tfV0tTeXN0ZW1QcmVmZXJlbmNlcyBpc0NhcHRpdmVQb3J0
YWxNb2RlRW5hYmxlZEdsb2JhbGx5XSk6CisgICAgICAgICgrW19XS1N5c3RlbVByZWZlcmVuY2Vz
IHNldENhcHRpdmVQb3J0YWxNb2RlRW5hYmxlZEdsb2JhbGx5Ol0pOgorICAgICAgICAoK1tfV0tT
eXN0ZW1QcmVmZXJlbmNlcyBpc0NhcHRpdmVQb3J0YWxNb2RlSWdub3JlZEZvckNvbnRhaW5lcjpd
KToKKyAgICAgICAgKCtbX1dLU3lzdGVtUHJlZmVyZW5jZXMgc2V0Q2FwdGl2ZVBvcnRhbE1vZGVJ
Z25vcmVkRm9yQ29udGFpbmVyOmlnbm9yZTpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0Nv
Y29hL19XS1N5c3RlbVByZWZlcmVuY2VzSW50ZXJuYWwuaDogQWRkZWQuCisgICAgICAgICogVUlQ
cm9jZXNzL0NvY29hL1ByZWZlcmVuY2VPYnNlcnZlci5tbToKKyAgICAgICAgKC1bV0tVc2VyRGVm
YXVsdHMgZmluZFByZWZlcmVuY2VDaGFuZ2VzQW5kTm90aWZ5Rm9yS2V5czp0b1ZhbHVlc0Zvcktl
eXM6XSk6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNvY29hLm1tOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6Y2FwdGl2ZVBvcnRhbE1vZGVDb25maWdVcGRhdGVD
YWxsYmFjayk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpyZWdpc3Rlck5vdGlm
aWNhdGlvbk9ic2VydmVycyk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjp1bnJl
Z2lzdGVyTm90aWZpY2F0aW9uT2JzZXJ2ZXJzKToKKyAgICAgICAgKFdlYktpdDo6aXNDYXB0aXZl
UG9ydGFsTW9kZUVuYWJsZWRCeVN5c3RlbUlnbm9yaW5nQ2FjaGluZyk6CisgICAgICAgIChXZWJL
aXQ6OldlYlByb2Nlc3NQb29sOjpub3RpZnlQcmVmZXJlbmNlc0NoYW5nZWQpOgorICAgICAgICAq
IFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvRGlz
cGxheUNhcHR1cmVTZXNzaW9uTWFuYWdlci5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvRGlz
cGxheUNhcHR1cmVTZXNzaW9uTWFuYWdlci5tbToKKyAgICAgICAgKFdlYktpdDo6RGlzcGxheUNh
cHR1cmVTZXNzaW9uTWFuYWdlcjo6cHJvbXB0Rm9yR2V0RGlzcGxheU1lZGlhKToKKyAgICAgICAg
KiBXZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKwogMjAyMi0wMi0xMCAgV2Vuc29u
IEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBTdXBwb3J0IGBXZWJQ
YWdlUHJveHk6OnJlcGxhY2VTZWxlY3Rpb25XaXRoUGFzdGVib2FyZERhdGEoKWAgb24gaU9TCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtTWFjLmNtYWtlIGIvU291cmNlL1dlYktp
dC9QbGF0Zm9ybU1hYy5jbWFrZQppbmRleCBlMjk2NmQ1MTNiYjU4MzlkZjEyYjMyMmFmMmVlYjA1
NGViNGQ2NjU1Li4xMDBkZjgwYjI3Y2E3ODAxMGIyZjFkZDgwNzM2MTc0NDBkNTI2YTc0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtTWFjLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJL
aXQvUGxhdGZvcm1NYWMuY21ha2UKQEAgLTQ2MCw2ICs0NjAsNyBAQCBsaXN0KEFQUEVORCBXZWJL
aXRfUFVCTElDX0ZSQU1FV09SS19IRUFERVJTCiAgICAgVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzRmlyc3RQYXJ0eS5oCiAgICAgVUlQcm9jZXNzL0FQSS9Db2Nv
YS9fV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzVGhpcmRQYXJ0eS5oCiAgICAgVUlQcm9jZXNzL0FQ
SS9Db2NvYS9fV0tTZXNzaW9uU3RhdGUuaAorICAgIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLU3lz
dGVtUHJlZmVyZW5jZXMuaAogICAgIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLVGFwSGFuZGxpbmdS
ZXN1bHQuaAogICAgIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLVGV4dElucHV0Q29udGV4dC5oCiAg
ICAgVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tUZXh0TWFuaXB1bGF0aW9uQ29uZmlndXJhdGlvbi5o
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQgYi9Tb3VyY2UvV2Vi
S2l0L1NvdXJjZXNDb2NvYS50eHQKaW5kZXggOTg5NzRmYTA4YjU5ZDQ3N2MyMzFmYjVkM2ZhMjcx
YTA5YjJkNWQwMS4uMzA4NGMxZTgwODViZDg0OTg5NmFjYWEyOWYxOWE0NDYwOTFhMmY0NyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CisrKyBiL1NvdXJjZS9XZWJL
aXQvU291cmNlc0NvY29hLnR4dApAQCAtMjk1LDYgKzI5NSw3IEBAIFVJUHJvY2Vzcy9BUEkvQ29j
b2EvX1dLUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLm1tCiBVSVByb2Nlc3MvQVBJL0NvY29hL19X
S1JlbW90ZVdlYkluc3BlY3RvclZpZXdDb250cm9sbGVyLm1tCiBVSVByb2Nlc3MvQVBJL0NvY29h
L19XS1Jlc291cmNlTG9hZEluZm8ubW0KIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLU2Vzc2lvblN0
YXRlLm1tCitVSVByb2Nlc3MvQVBJL0NvY29hL19XS1N5c3RlbVByZWZlcmVuY2VzLm1tCiBVSVBy
b2Nlc3MvQVBJL0NvY29hL19XS1RleHRJbnB1dENvbnRleHQubW0KIFVJUHJvY2Vzcy9BUEkvQ29j
b2EvX1dLVGV4dE1hbmlwdWxhdGlvbkNvbmZpZ3VyYXRpb24ubW0KIFVJUHJvY2Vzcy9BUEkvQ29j
b2EvX1dLVGV4dE1hbmlwdWxhdGlvbkV4Y2x1c2lvblJ1bGUubW0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tTeXN0ZW1QcmVmZXJlbmNlcy5oIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1N5c3RlbVByZWZlcmVuY2VzLmgKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNzUyNjFjZDljMjMzYTY5YmU3ZjU3Yzk1ZDg5YWI1NDI3MjU5ZmUwOAotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tTeXN0ZW1Q
cmVmZXJlbmNlcy5oCkBAIC0wLDAgKzEsMzcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjIg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0IDxGb3Vu
ZGF0aW9uL0ZvdW5kYXRpb24uaD4KKyNpbXBvcnQgPFdlYktpdC9XS0ZvdW5kYXRpb24uaD4KKwor
V0tfQ0xBU1NfQVZBSUxBQkxFKG1hY29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpCitA
aW50ZXJmYWNlIF9XS1N5c3RlbVByZWZlcmVuY2VzIDogTlNPYmplY3QKKworKyAoQk9PTClpc0Nh
cHRpdmVQb3J0YWxNb2RlRW5hYmxlZEdsb2JhbGx5OworKyAodm9pZClzZXRDYXB0aXZlUG9ydGFs
TW9kZUVuYWJsZWRHbG9iYWxseTooQk9PTCllbmFibGVkOworKyAoQk9PTClpc0NhcHRpdmVQb3J0
YWxNb2RlSWdub3JlZEZvckNvbnRhaW5lcjooTlNTdHJpbmcgKiljb250YWluZXJQYXRoOworKyAo
dm9pZClzZXRDYXB0aXZlUG9ydGFsTW9kZUlnbm9yZWRGb3JDb250YWluZXI6KE5TU3RyaW5nICop
Y29udGFpbmVyUGF0aCBpZ25vcmU6KEJPT0wpaWdub3JlOworCitAZW5kCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLU3lzdGVtUHJlZmVyZW5jZXMubW0g
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLU3lzdGVtUHJlZmVyZW5jZXMu
bW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZGQ1MTlmZDY5OTk5NTk5MTJiYjgwZTQ0NjRjMGQ3MTkxYzdjZTI3ZAot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tT
eXN0ZW1QcmVmZXJlbmNlcy5tbQpAQCAtMCwwICsxLDgzIEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDIyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9y
dCAiY29uZmlnLmgiCisjaW1wb3J0ICJfV0tTeXN0ZW1QcmVmZXJlbmNlc0ludGVybmFsLmgiCisK
KyNpbXBvcnQgPHd0Zi9Bc3NlcnRpb25zLmg+CisjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CisK
K2NvbnN0ZXhwciBhdXRvIENhcHRpdmVQb3J0YWxDb25maWd1cmF0aW9uSWdub3JlRmlsZVBhdGgg
PSBAIkxpYnJhcnkvUHJlZmVyZW5jZXMvY29tLmFwcGxlLldlYktpdC5jcG1jb25maWdfaWdub3Jl
IjsKKworQGltcGxlbWVudGF0aW9uIF9XS1N5c3RlbVByZWZlcmVuY2VzCisKKysgKEJPT0wpaXND
YXB0aXZlUG9ydGFsTW9kZUVuYWJsZWRHbG9iYWxseQoreworI2lmIFVTRShBUFBMRV9JTlRFUk5B
TF9TREspCisgICAgYXV0byBjaGFuZ2VkTm90aWZpY2F0aW9uTmFtZSA9IGFkb3B0Q0YoQ0ZTdHJp
bmdDcmVhdGVXaXRoQ1N0cmluZyhrQ0ZBbGxvY2F0b3JEZWZhdWx0LCBXZWJLaXRDYXB0aXZlUG9y
dGFsTW9kZUdsb2JhbENvbmZpZ3VyYXRpb25DaGFuZ2VkTm90aWZpY2F0aW9uLCBrQ0ZTdHJpbmdF
bmNvZGluZ1VURjgpKTsKKyAgICBhdXRvIHByZWZlcmVuY2VWYWx1ZSA9IGFkb3B0Q0YoQ0ZQcmVm
ZXJlbmNlc0NvcHlWYWx1ZShjaGFuZ2VkTm90aWZpY2F0aW9uTmFtZS5nZXQoKSwga0NGUHJlZmVy
ZW5jZXNBbnlBcHBsaWNhdGlvbiwga0NGUHJlZmVyZW5jZXNBbnlVc2VyLCBrQ0ZQcmVmZXJlbmNl
c0N1cnJlbnRIb3N0KSk7CisgICAgcmV0dXJuIHByZWZlcmVuY2VWYWx1ZS5nZXQoKSA9PSBrQ0ZC
b29sZWFuVHJ1ZTsKKyNlbHNlCisgICAgcmV0dXJuIGZhbHNlOworI2VuZGlmCit9CisKKysgKHZv
aWQpc2V0Q2FwdGl2ZVBvcnRhbE1vZGVFbmFibGVkR2xvYmFsbHk6KEJPT0wpZW5hYmxlZAorewor
I2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisgICAgYXV0byBjaGFuZ2VkTm90aWZpY2F0aW9u
TmFtZSA9IGFkb3B0Q0YoQ0ZTdHJpbmdDcmVhdGVXaXRoQ1N0cmluZyhrQ0ZBbGxvY2F0b3JEZWZh
dWx0LCBXZWJLaXRDYXB0aXZlUG9ydGFsTW9kZUdsb2JhbENvbmZpZ3VyYXRpb25DaGFuZ2VkTm90
aWZpY2F0aW9uLCBrQ0ZTdHJpbmdFbmNvZGluZ1VURjgpKTsKKyAgICBDRlByZWZlcmVuY2VzU2V0
VmFsdWUoY2hhbmdlZE5vdGlmaWNhdGlvbk5hbWUuZ2V0KCksIGVuYWJsZWQgPyBrQ0ZCb29sZWFu
VHJ1ZSA6IGtDRkJvb2xlYW5GYWxzZSwga0NGUHJlZmVyZW5jZXNBbnlBcHBsaWNhdGlvbiwga0NG
UHJlZmVyZW5jZXNBbnlVc2VyLCBrQ0ZQcmVmZXJlbmNlc0N1cnJlbnRIb3N0KTsKKyAgICBDRlBy
ZWZlcmVuY2VzU3luY2hyb25pemUoa0NGUHJlZmVyZW5jZXNBbnlBcHBsaWNhdGlvbiwga0NGUHJl
ZmVyZW5jZXNBbnlVc2VyLCBrQ0ZQcmVmZXJlbmNlc0FueUhvc3QpOworI2VuZGlmCit9CisKKysg
KEJPT0wpaXNDYXB0aXZlUG9ydGFsTW9kZUlnbm9yZWRGb3JDb250YWluZXI6KE5TU3RyaW5nICop
Y29udGFpbmVyUGF0aAoreworI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspICYmIFBMQVRGT1JN
KElPU19GQU1JTFkpCisgICAgTlNTdHJpbmcgKmNwbWNvbmZpZ0lnbm9yZUZpbGVQYXRoID0gW2Nv
bnRhaW5lclBhdGggc3RyaW5nQnlBcHBlbmRpbmdQYXRoQ29tcG9uZW50OkNhcHRpdmVQb3J0YWxD
b25maWd1cmF0aW9uSWdub3JlRmlsZVBhdGhdOworICAgIHJldHVybiBbW05TRmlsZU1hbmFnZXIg
ZGVmYXVsdE1hbmFnZXJdIGZpbGVFeGlzdHNBdFBhdGg6Y3BtY29uZmlnSWdub3JlRmlsZVBhdGhd
OworI2Vsc2UKKyAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYKK30KKworKyAodm9pZClzZXRDYXB0
aXZlUG9ydGFsTW9kZUlnbm9yZWRGb3JDb250YWluZXI6KE5TU3RyaW5nICopY29udGFpbmVyUGF0
aCBpZ25vcmU6KEJPT0wpaWdub3JlCit7CisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykgJiYg
UExBVEZPUk0oSU9TX0ZBTUlMWSkKKyAgICBOU1N0cmluZyAqY3BtY29uZmlnSWdub3JlRmlsZVBh
dGggPSBbY29udGFpbmVyUGF0aCBzdHJpbmdCeUFwcGVuZGluZ1BhdGhDb21wb25lbnQ6Q2FwdGl2
ZVBvcnRhbENvbmZpZ3VyYXRpb25JZ25vcmVGaWxlUGF0aF07CisgICAgCisgICAgaWYgKFtbTlNG
aWxlTWFuYWdlciBkZWZhdWx0TWFuYWdlcl0gZmlsZUV4aXN0c0F0UGF0aDpjcG1jb25maWdJZ25v
cmVGaWxlUGF0aF0gPT0gaWdub3JlKQorICAgICAgICByZXR1cm47CisgICAgCisgICAgaWYgKGln
bm9yZSkKKyAgICAgICAgW1tOU0ZpbGVNYW5hZ2VyIGRlZmF1bHRNYW5hZ2VyXSBjcmVhdGVGaWxl
QXRQYXRoOmNwbWNvbmZpZ0lnbm9yZUZpbGVQYXRoIGNvbnRlbnRzOk5VTEwgYXR0cmlidXRlczpO
VUxMXTsKKyAgICBlbHNlCisgICAgICAgIFtbTlNGaWxlTWFuYWdlciBkZWZhdWx0TWFuYWdlcl0g
cmVtb3ZlSXRlbUF0UGF0aDpjcG1jb25maWdJZ25vcmVGaWxlUGF0aCBlcnJvcjpOVUxMXTsKKwor
ICAgIENGTm90aWZpY2F0aW9uQ2VudGVyUG9zdE5vdGlmaWNhdGlvbihDRk5vdGlmaWNhdGlvbkNl
bnRlckdldERhcndpbk5vdGlmeUNlbnRlcigpLCAoX19icmlkZ2UgQ0ZTdHJpbmdSZWYpV2ViS2l0
Q2FwdGl2ZVBvcnRhbE1vZGVDb250YWluZXJDb25maWd1cmF0aW9uQ2hhbmdlZE5vdGlmaWNhdGlv
biwgbnVsbHB0ciwgbnVsbHB0ciwgdHJ1ZSk7CisjZW5kaWYKK30KKworQGVuZApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1N5c3RlbVByZWZlcmVuY2Vz
SW50ZXJuYWwuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tTeXN0ZW1Q
cmVmZXJlbmNlc0ludGVybmFsLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDA1NTdmOWVlNzczMmQzOWI5ZWIwYzZh
MjM2NmVkOTZlN2NiMTNiYgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9fV0tTeXN0ZW1QcmVmZXJlbmNlc0ludGVybmFsLmgKQEAgLTAsMCArMSwy
OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgIl9XS1N5c3RlbVByZWZlcmVuY2VzLmgiCisKK2Nv
bnN0ZXhwciBhdXRvIFdlYktpdENhcHRpdmVQb3J0YWxNb2RlR2xvYmFsQ29uZmlndXJhdGlvbkNo
YW5nZWROb3RpZmljYXRpb24gPSAiV0tDYXB0aXZlUG9ydGFsTW9kZUVuYWJsZWQiOworY29uc3Rl
eHByIGF1dG8gV2ViS2l0Q2FwdGl2ZVBvcnRhbE1vZGVDb250YWluZXJDb25maWd1cmF0aW9uQ2hh
bmdlZE5vdGlmaWNhdGlvbiA9IEAiY29tLmFwcGxlLldlYktpdC5jcG1jb25maWciOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvUHJlZmVyZW5jZU9ic2VydmVyLm1t
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvUHJlZmVyZW5jZU9ic2VydmVyLm1tCmlu
ZGV4IDM0YmZhNzkyNWQ1ZDQ0ZTBlOWU4MTIwMjQ3OWU3NzU4MTVlYWM2YmMuLjBhNjFjNzUxNDE2
YTE0YzliMDcxMDM4ZTk5OTEzNWFhYTdmOGY5MzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0NvY29hL1ByZWZlcmVuY2VPYnNlcnZlci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9Db2NvYS9QcmVmZXJlbmNlT2JzZXJ2ZXIubW0KQEAgLTcxLDYgKzcxLDcgQEAK
ICAgICAgICAgICAgIGVuY29kZWRTdHJpbmcgPSBbZGF0YSBiYXNlNjRFbmNvZGVkU3RyaW5nV2l0
aE9wdGlvbnM6MF07CiAgICAgICAgIH0KIAorICAgICAgICBhdXRvIHN5c3RlbVZhbHVlID0gYWRv
cHRDRihDRlByZWZlcmVuY2VzQ29weVZhbHVlKChfX2JyaWRnZSBDRlN0cmluZ1JlZilrZXksIGtD
RlByZWZlcmVuY2VzQW55QXBwbGljYXRpb24sIGtDRlByZWZlcmVuY2VzQW55VXNlciwga0NGUHJl
ZmVyZW5jZXNBbnlIb3N0KSk7CiAgICAgICAgIGF1dG8gZ2xvYmFsVmFsdWUgPSBhZG9wdENGKENG
UHJlZmVyZW5jZXNDb3B5VmFsdWUoKF9fYnJpZGdlIENGU3RyaW5nUmVmKWtleSwga0NGUHJlZmVy
ZW5jZXNBbnlBcHBsaWNhdGlvbiwga0NGUHJlZmVyZW5jZXNDdXJyZW50VXNlciwga0NGUHJlZmVy
ZW5jZXNBbnlIb3N0KSk7CiAgICAgICAgIGF1dG8gZG9tYWluVmFsdWUgPSBhZG9wdENGKENGUHJl
ZmVyZW5jZXNDb3B5VmFsdWUoKF9fYnJpZGdlIENGU3RyaW5nUmVmKWtleSwgKF9fYnJpZGdlIENG
U3RyaW5nUmVmKW1fc3VpdGVOYW1lLmdldCgpLCBrQ0ZQcmVmZXJlbmNlc0N1cnJlbnRVc2VyLCBr
Q0ZQcmVmZXJlbmNlc0FueUhvc3QpKTsKIApAQCAtNzgsNyArNzksNyBAQAogICAgICAgICAgICAg
cmV0dXJuIGEgPT0gYiB8fCBbYSBpc0VxdWFsOmJdOwogICAgICAgICB9OwogCi0gICAgICAgIGlm
IChwcmVmZXJlbmNlVmFsdWVzQXJlRXF1YWwoKF9fYnJpZGdlIGlkKWdsb2JhbFZhbHVlLmdldCgp
LCBuZXdWYWx1ZSkpCisgICAgICAgIGlmIChwcmVmZXJlbmNlVmFsdWVzQXJlRXF1YWwoKF9fYnJp
ZGdlIGlkKXN5c3RlbVZhbHVlLmdldCgpLCBuZXdWYWx1ZSkgfHwgcHJlZmVyZW5jZVZhbHVlc0Fy
ZUVxdWFsKChfX2JyaWRnZSBpZClnbG9iYWxWYWx1ZS5nZXQoKSwgbmV3VmFsdWUpKQogICAgICAg
ICAgICAgW21fb2JzZXJ2ZXIgcHJlZmVyZW5jZURpZENoYW5nZTpuaWwga2V5OmtleSBlbmNvZGVk
VmFsdWU6ZW5jb2RlZFN0cmluZ107CiAKICAgICAgICAgaWYgKHByZWZlcmVuY2VWYWx1ZXNBcmVF
cXVhbCgoX19icmlkZ2UgaWQpZG9tYWluVmFsdWUuZ2V0KCksIG5ld1ZhbHVlKSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNvY29hLm1tIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW0KaW5kZXgg
MDI2MzZiNTE4OGUzYWM2MmZkNWMyNmUzMWIzNjViYTcyYzIwM2FmMi4uM2M0NzNhNThlZWZkZWU3
MDlmYmE1MjUxMmQzZmQ4ODA3NzBmYjc5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW0KQEAgLTM3LDEyICszNywxNCBAQAogI2lt
cG9ydCAiTG9hZFBhcmFtZXRlcnMuaCIKICNpbXBvcnQgIk1vZGFsQ29udGFpbmVyQ29udHJvbENs
YXNzaWZpZXIuaCIKICNpbXBvcnQgIlBhZ2VDbGllbnQuaCIKKyNpbXBvcnQgIlBsYXliYWNrU2Vz
c2lvbk1hbmFnZXJQcm94eS5oIgogI2ltcG9ydCAiUXVhcmFudGluZVNQSS5oIgogI2ltcG9ydCAi
UXVpY2tMb29rVGh1bWJuYWlsTG9hZGVyLmgiCiAjaW1wb3J0ICJTYWZlQnJvd3NpbmdTUEkuaCIK
ICNpbXBvcnQgIlNhZmVCcm93c2luZ1dhcm5pbmcuaCIKICNpbXBvcnQgIlNoYXJlZEJ1ZmZlckNv
cHkuaCIKICNpbXBvcnQgIlN5bmFwc2VTUEkuaCIKKyNpbXBvcnQgIlZpZGVvRnVsbHNjcmVlbk1h
bmFnZXJQcm94eS5oIgogI2ltcG9ydCAiV2ViQ29udGV4dE1lbnVQcm94eS5oIgogI2ltcG9ydCAi
V2ViUGFnZS5oIgogI2ltcG9ydCAiV2ViUGFnZU1lc3NhZ2VzLmgiCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQppbmRleCBjNzg2
NTY5MTRhNjY0MGVkMmYyYzk5M2ZiNmFmZmEzZDBjYmQ2ZDBkLi41MmJlMjc2MDJjNjdkNTI3OGYz
Mjc4YmE0YjM4ZDE3ZjFiYjI4NTM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0KQEAgLTUyLDYgKzUyLDcgQEAKICNpbXBv
cnQgIldlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaCIKICNpbXBvcnQgIldlYlByb2Nlc3NN
ZXNzYWdlcy5oIgogI2ltcG9ydCAiV2luZG93U2VydmVyQ29ubmVjdGlvbi5oIgorI2ltcG9ydCAi
X1dLU3lzdGVtUHJlZmVyZW5jZXNJbnRlcm5hbC5oIgogI2ltcG9ydCA8V2ViQ29yZS9BR1hDb21w
aWxlclNlcnZpY2UuaD4KICNpbXBvcnQgPFdlYkNvcmUvQ29sb3IuaD4KICNpbXBvcnQgPFdlYkNv
cmUvTG9jYWxpemVkRGV2aWNlTW9kZWwuaD4KQEAgLTcwLDYgKzcxLDcgQEAKICNpbXBvcnQgPHd0
Zi9GaWxlU3lzdGVtLmg+CiAjaW1wb3J0IDx3dGYvUHJvY2Vzc1ByaXZpbGVnZS5oPgogI2ltcG9y
dCA8d3RmL1NvZnRMaW5raW5nLmg+CisjaW1wb3J0IDx3dGYvY2YvVHlwZUNhc3RzQ0YuaD4KICNp
bXBvcnQgPHd0Zi9jb2NvYS9FbnRpdGxlbWVudHMuaD4KICNpbXBvcnQgPHd0Zi9jb2NvYS9SdW50
aW1lQXBwbGljYXRpb25DaGVja3NDb2NvYS5oPgogI2ltcG9ydCA8d3RmL2NvY29hL1R5cGVDYXN0
c0NvY29hLmg+CkBAIC0xMjgsNyArMTMwLDcgQEAgTlNTdHJpbmcgKldlYktpdEpTQ0ZUTEpJVEVu
YWJsZWREZWZhdWx0c0tleSA9IEAiV2ViS2l0SlNDRlRMSklURW5hYmxlZERlZmF1bHRzS2UKIHN0
YXRpYyBOU1N0cmluZyAqV2ViS2l0QXBwbGljYXRpb25EaWRDaGFuZ2VBY2Nlc3NpYmlsaXR5RW5o
YW5jZWRVc2VySW50ZXJmYWNlTm90aWZpY2F0aW9uID0gQCJOU0FwcGxpY2F0aW9uRGlkQ2hhbmdl
QWNjZXNzaWJpbGl0eUVuaGFuY2VkVXNlckludGVyZmFjZU5vdGlmaWNhdGlvbiI7CiBzdGF0aWMg
Q0ZTdHJpbmdSZWYgQXBwbGVDb2xvclByZWZlcmVuY2VzQ2hhbmdlZE5vdGlmaWNhdGlvbiA9IENG
U1RSKCJBcHBsZUNvbG9yUHJlZmVyZW5jZXNDaGFuZ2VkTm90aWZpY2F0aW9uIik7CiAjZW5kaWYK
LXN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBXZWJLaXRDYXB0aXZlUG9ydGFsTW9kZUNoYW5nZWRO
b3RpZmljYXRpb24gPSAiV2ViS2l0Q2FwdGl2ZVBvcnRhbE1vZGVFbmFibGVkIjsKK3N0YXRpYyBj
b25zdCBjaGFyKiBjb25zdCBXZWJLaXRDYXB0aXZlUG9ydGFsTW9kZUNoYW5nZWROb3RpZmljYXRp
b25fTGVnYWN5ID0gIldlYktpdENhcHRpdmVQb3J0YWxNb2RlRW5hYmxlZCI7CiAKIHN0YXRpYyBO
U1N0cmluZyAqIGNvbnN0IFdlYktpdFN1cHByZXNzTWVtb3J5UHJlc3N1cmVIYW5kbGVyRGVmYXVs
dHNLZXkgPSBAIldlYktpdFN1cHByZXNzTWVtb3J5UHJlc3N1cmVIYW5kbGVyIjsKIApAQCAtNjIy
LDYgKzYyNCwxNCBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjpyZW1vdGVXZWJJbnNwZWN0b3JFbmFi
bGVkQ2FsbGJhY2soQ0ZOb3RpZmljYXRpb25DZW50ZXJSZWYsCiB9CiAjZW5kaWYKIAorI2lmIFBM
QVRGT1JNKElPU19GQU1JTFkpCit2b2lkIFdlYlByb2Nlc3NQb29sOjpjYXB0aXZlUG9ydGFsTW9k
ZUNvbmZpZ1VwZGF0ZUNhbGxiYWNrKENGTm90aWZpY2F0aW9uQ2VudGVyUmVmLCB2b2lkKiBvYnNl
cnZlciwgQ0ZTdHJpbmdSZWYsIGNvbnN0IHZvaWQqLCBDRkRpY3Rpb25hcnlSZWYpCit7CisgICAg
aWYgKGF1dG8gcG9vbCA9IGV4dHJhY3RXZWJQcm9jZXNzUG9vbChvYnNlcnZlcikpCisgICAgICAg
IHBvb2wtPmNhcHRpdmVQb3J0YWxNb2RlU3RhdGVDaGFuZ2VkKCk7Cit9CisjZW5kaWYKKwogI2lm
IEVOQUJMRShDRlBSRUZTX0RJUkVDVF9NT0RFKQogdm9pZCBXZWJQcm9jZXNzUG9vbDo6c3RhcnRP
YnNlcnZpbmdQcmVmZXJlbmNlQ2hhbmdlcygpCiB7CkBAIC03MzUsNiArNzQ1LDEwIEBAIHZvaWQg
V2ViUHJvY2Vzc1Bvb2w6OnJlZ2lzdGVyTm90aWZpY2F0aW9uT2JzZXJ2ZXJzKCkKICAgICAgICAg
c2VuZFRvQWxsUHJvY2Vzc2VzKE1lc3NhZ2VzOjpXZWJQcm9jZXNzOjpQb3dlclNvdXJjZURpZENo
YW5nZShoYXNBQykpOwogICAgIH0pOwogCisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyAgICBh
ZGRDRk5vdGlmaWNhdGlvbk9ic2VydmVyKGNhcHRpdmVQb3J0YWxNb2RlQ29uZmlnVXBkYXRlQ2Fs
bGJhY2ssIChfX2JyaWRnZSBDRlN0cmluZ1JlZilXZWJLaXRDYXB0aXZlUG9ydGFsTW9kZUNvbnRh
aW5lckNvbmZpZ3VyYXRpb25DaGFuZ2VkTm90aWZpY2F0aW9uKTsKKyNlbmRpZgorCiAjaWYgSEFW
RShQRVJfQVBQX0FDQ0VTU0lCSUxJVFlfUFJFRkVSRU5DRVMpCiAgICAgYWRkQ0ZOb3RpZmljYXRp
b25PYnNlcnZlcihhY2Nlc3NpYmlsaXR5UHJlZmVyZW5jZXNDaGFuZ2VkQ2FsbGJhY2ssIGtBWFNS
ZWR1Y2VNb3Rpb25DaGFuZ2VkTm90aWZpY2F0aW9uKTsKICAgICBhZGRDRk5vdGlmaWNhdGlvbk9i
c2VydmVyKGFjY2Vzc2liaWxpdHlQcmVmZXJlbmNlc0NoYW5nZWRDYWxsYmFjaywga0FYU0luY3Jl
YXNlQnV0dG9uTGVnaWJpbGl0eU5vdGlmaWNhdGlvbik7CkBAIC03NzgsNiArNzkyLDEwIEBAIHZv
aWQgV2ViUHJvY2Vzc1Bvb2w6OnVucmVnaXN0ZXJOb3RpZmljYXRpb25PYnNlcnZlcnMoKQogICAg
IFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gcmVtb3ZlT2JzZXJ2ZXI6bV9h
Y3RpdmF0aW9uT2JzZXJ2ZXIuZ2V0KCldOwogCiAgICAgbV9wb3dlclNvdXJjZU5vdGlmaWVyID0g
bnVsbHB0cjsKKyAgICAKKyNpZiBQTEFURk9STShJT1NfRkFNSUxZKQorICAgIHJlbW92ZUNGTm90
aWZpY2F0aW9uT2JzZXJ2ZXIoKF9fYnJpZGdlIENGU3RyaW5nUmVmKVdlYktpdENhcHRpdmVQb3J0
YWxNb2RlQ29udGFpbmVyQ29uZmlndXJhdGlvbkNoYW5nZWROb3RpZmljYXRpb24pOworI2VuZGlm
CiAKICNpZiBIQVZFKFBFUl9BUFBfQUNDRVNTSUJJTElUWV9QUkVGRVJFTkNFUykKICAgICByZW1v
dmVDRk5vdGlmaWNhdGlvbk9ic2VydmVyKGtBWFNSZWR1Y2VNb3Rpb25DaGFuZ2VkTm90aWZpY2F0
aW9uKTsKQEAgLTkzMCw3ICs5NDgsMjMgQEAgc3RhdGljIGJvb2wgaXNDYXB0aXZlUG9ydGFsTW9k
ZUVuYWJsZWRCeVN5c3RlbUlnbm9yaW5nQ2FjaGluZygpCiAgICAgaWYgKGF1dG8mIGVuYWJsZWRG
b3JUZXN0aW5nID0gaXNDYXB0aXZlUG9ydGFsTW9kZUVuYWJsZWRHbG9iYWxseUZvclRlc3Rpbmco
KSkKICAgICAgICAgcmV0dXJuICplbmFibGVkRm9yVGVzdGluZzsKIAotICAgIHJldHVybiBbW05T
VXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSBib29sRm9yS2V5OltOU1N0cmluZyBz
dHJpbmdXaXRoVVRGOFN0cmluZzpXZWJLaXRDYXB0aXZlUG9ydGFsTW9kZUNoYW5nZWROb3RpZmlj
YXRpb25dXTsKKyAgICBpZiAoW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10g
Ym9vbEZvcktleTpbTlNTdHJpbmcgc3RyaW5nV2l0aFVURjhTdHJpbmc6V2ViS2l0Q2FwdGl2ZVBv
cnRhbE1vZGVDaGFuZ2VkTm90aWZpY2F0aW9uX0xlZ2FjeV1dKQorICAgICAgICByZXR1cm4gdHJ1
ZTsKKworICAgIGlmICghW19XS1N5c3RlbVByZWZlcmVuY2VzIGlzQ2FwdGl2ZVBvcnRhbE1vZGVF
bmFibGVkR2xvYmFsbHldKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyNpZiBQTEFURk9STShJ
T1NfRkFNSUxZKQorICAgIGlmIChwcm9jZXNzSGFzQ29udGFpbmVyKCkgJiYgW19XS1N5c3RlbVBy
ZWZlcmVuY2VzIGlzQ2FwdGl2ZVBvcnRhbE1vZGVJZ25vcmVkRm9yQ29udGFpbmVyOnBhdGhGb3JQ
cm9jZXNzQ29udGFpbmVyKCldKQorICAgICAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYKKyAgICAK
KyNpZiBQTEFURk9STShNQUMpCisgICAgaWYgKCFXZWJDb3JlOjpNYWNBcHBsaWNhdGlvbjo6aXNT
YWZhcmkoKSAmJiAhV2ViQ29yZTo6TWFjQXBwbGljYXRpb246OmlzTWluaUJyb3dzZXIoKSkKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworI2VuZGlmCisgICAgCisgICAgcmV0dXJuIHRydWU7CiB9CiAK
IHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OmNhcHRpdmVQb3J0YWxNb2RlU3RhdGVDaGFuZ2VkKCkKQEAg
LTEwNjMsNyArMTA5Nyw3IEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6Om5vdGlmeVByZWZlcmVuY2Vz
Q2hhbmdlZChjb25zdCBTdHJpbmcmIGRvbWFpbiwgY29uc3QgU3RyaW5nCiAgICAgICAgIHdlYkF1
dGhuUHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViQXV0aG5Qcm9jZXNzOjpOb3RpZnlQcmVmZXJl
bmNlc0NoYW5nZWQoZG9tYWluLCBrZXksIGVuY29kZWRWYWx1ZSksIDApOwogI2VuZGlmCiAKLSAg
ICBpZiAoa2V5ID09IFdlYktpdENhcHRpdmVQb3J0YWxNb2RlQ2hhbmdlZE5vdGlmaWNhdGlvbikK
KyAgICBpZiAoa2V5ID09IFdlYktpdENhcHRpdmVQb3J0YWxNb2RlR2xvYmFsQ29uZmlndXJhdGlv
bkNoYW5nZWROb3RpZmljYXRpb24gfHwga2V5ID09IFdlYktpdENhcHRpdmVQb3J0YWxNb2RlQ2hh
bmdlZE5vdGlmaWNhdGlvbl9MZWdhY3kpCiAgICAgICAgIGNhcHRpdmVQb3J0YWxNb2RlU3RhdGVD
aGFuZ2VkKCk7CiB9CiAjZW5kaWYgLy8gRU5BQkxFKENGUFJFRlNfRElSRUNUX01PREUpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaAppbmRleCBlMjUzYTVlNzNhNDg2OWFi
ODlkNDIwNzA4MDY2ZjEwNWVlODEwODk4Li5lZmU0YzNjYjM4Yjk0YjRiNGIwMjViZmRlZGFhYWVj
OTFiNGNhZjUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNz
UG9vbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmgKQEAg
LTU4NCw2ICs1ODQsMTAgQEAgcHJpdmF0ZToKICNlbmRpZgogI2VuZGlmCiAKKyNpZiBQTEFURk9S
TShJT1NfRkFNSUxZKQorICAgIHN0YXRpYyB2b2lkIGNhcHRpdmVQb3J0YWxNb2RlQ29uZmlnVXBk
YXRlQ2FsbGJhY2soQ0ZOb3RpZmljYXRpb25DZW50ZXJSZWYsIHZvaWQqIG9ic2VydmVyLCBDRlN0
cmluZ1JlZiBuYW1lLCBjb25zdCB2b2lkKiBwb3N0aW5nT2JqZWN0LCBDRkRpY3Rpb25hcnlSZWYg
dXNlckluZm8pOworI2VuZGlmCisgICAgCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgc3RhdGlj
IHZvaWQgYWNjZXNzaWJpbGl0eVByZWZlcmVuY2VzQ2hhbmdlZENhbGxiYWNrKENGTm90aWZpY2F0
aW9uQ2VudGVyUmVmLCB2b2lkKiBvYnNlcnZlciwgQ0ZTdHJpbmdSZWYgbmFtZSwgY29uc3Qgdm9p
ZCogcG9zdGluZ09iamVjdCwgQ0ZEaWN0aW9uYXJ5UmVmIHVzZXJJbmZvKTsKICNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL0Rpc3BsYXlDYXB0dXJlU2Vzc2lv
bk1hbmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9EaXNwbGF5Q2FwdHVyZVNl
c3Npb25NYW5hZ2VyLmgKaW5kZXggNjBkOTNiM2M2YTEyOGZiNmQxOGIzNWU5YTk3NjZmN2U5YWUz
MDEwZS4uOGUwNGI3NjM4ODMzMzAyYjIxM2ExYzQxYTRhM2JhMzZhNDM1Yjk2NCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL0Rpc3BsYXlDYXB0dXJlU2Vzc2lvbk1hbmFn
ZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvRGlzcGxheUNhcHR1cmVTZXNz
aW9uTWFuYWdlci5oCkBAIC0yOCw2ICsyOCw3IEBACiAjaWYgUExBVEZPUk0oQ09DT0EpICYmIEVO
QUJMRShNRURJQV9TVFJFQU0pCiAKICNpbmNsdWRlICJVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVz
dFByb3h5LmgiCisjaW5jbHVkZSAiV2ViUGFnZVByb3h5LmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9T
ZWN1cml0eU9yaWdpbkRhdGEuaD4KICNpbmNsdWRlIDx3dGYvQ29tcGxldGlvbkhhbmRsZXIuaD4K
ICNpbmNsdWRlIDx3dGYvV2Vha1B0ci5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvbWFjL0Rpc3BsYXlDYXB0dXJlU2Vzc2lvbk1hbmFnZXIubW0gYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9tYWMvRGlzcGxheUNhcHR1cmVTZXNzaW9uTWFuYWdlci5tbQppbmRleCA3OTlm
NmYxM2EyNDI5ZjBkNzk2NjI3MjE4MGNjNjRjMzA2YTIzMmVjLi44OTNlZTIwNTM0Y2Q0NjY2ZGY4
MGEwYjEwMWY5YWE4NWQyMjdhZGZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9tYWMvRGlzcGxheUNhcHR1cmVTZXNzaW9uTWFuYWdlci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9tYWMvRGlzcGxheUNhcHR1cmVTZXNzaW9uTWFuYWdlci5tbQpAQCAtMjU0LDcg
KzI1NCw3IEBAIERpc3BsYXlDYXB0dXJlU2Vzc2lvbk1hbmFnZXI6On5EaXNwbGF5Q2FwdHVyZVNl
c3Npb25NYW5hZ2VyKCkKIHsKIH0KIAotdm9pZCBEaXNwbGF5Q2FwdHVyZVNlc3Npb25NYW5hZ2Vy
Ojpwcm9tcHRGb3JHZXREaXNwbGF5TWVkaWEoVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RQcm94
eTo6VXNlck1lZGlhRGlzcGxheUNhcHR1cmVQcm9tcHRUeXBlIHByb21wdFR5cGUsIFdlYlBhZ2VQ
cm94eSYgcGFnZSwgY29uc3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhJiBvcmlnaW4sIENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoc3RkOjpvcHRpb25hbDxDYXB0dXJlRGV2aWNlPik+JiYgY29t
cGxldGlvbkhhbmRsZXIpCit2b2lkIERpc3BsYXlDYXB0dXJlU2Vzc2lvbk1hbmFnZXI6OnByb21w
dEZvckdldERpc3BsYXlNZWRpYShVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdFByb3h5OjpVc2Vy
TWVkaWFEaXNwbGF5Q2FwdHVyZVByb21wdFR5cGUgcHJvbXB0VHlwZSwgV2ViUGFnZVByb3h5JiBw
YWdlLCBjb25zdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEmIG9yaWdpbiwgQ29tcGxldGlv
bkhhbmRsZXI8dm9pZChzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkNhcHR1cmVEZXZpY2U+KT4mJiBj
b21wbGV0aW9uSGFuZGxlcikKIHsKICAgICBBU1NFUlQoaXNBdmFpbGFibGUoKSk7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9T
b3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDU5NDAy
M2I2ZGY2MjcxMTBhZGY1MTlkNDQzZjVhYjViOGFmZTY0NjQuLjdjYWM2MTQyMmM3ZDhkOTJhMDIz
YzQxNjZhZTkyM2QzMmVmMzhjMDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTQwOSw2ICsxNDA5LDggQEAKIAkJODNGMUEwN0ExRjk2
RTc3OTAwNDVCOTRFIC8qIFdlYlNXT3JpZ2luVGFibGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDgzRjFBMDc4MUY5NkU3NzEwMDQ1Qjk0RSAvKiBXZWJT
V09yaWdpblRhYmxlLmggKi87IH07CiAJCTgzRjk2NDRFMUZBMEY3NkUwMEM0Nzc1MCAvKiBTaGFy
ZWRTdHJpbmdIYXNoVGFibGVSZWFkT25seS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gODNGOTY0NEMxRkEwRjc2MzAwQzQ3NzUwIC8qIFNoYXJlZFN0cmlu
Z0hhc2hUYWJsZVJlYWRPbmx5LmggKi87IH07CiAJCTg0NDc3ODUzMTc2RkNDMDgwMENEQzdCQiAv
KiBJbmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGUuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg0NDc3ODUxMTc2RkNBQzEwMENEQzdCQiAv
KiBJbmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGUuaCAqLzsgfTsKKwkJODY0NDg5
MEIyN0I0NzAyMDAwN0ExQzY2IC8qIF9XS1N5c3RlbVByZWZlcmVuY2VzLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NjQ0ODkwQTI3QjQ3MDIwMDA3QTFD
NjYgLyogX1dLU3lzdGVtUHJlZmVyZW5jZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OworCQk4NjQ0ODkwRjI3QjVDQjQzMDA3QTFDNjYgLyogX1dLU3lz
dGVtUHJlZmVyZW5jZXNJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gODY0NDg5MEUyN0I1Q0I0MzAwN0ExQzY2IC8qIF9XS1N5c3RlbVByZWZl
cmVuY2VzSW50ZXJuYWwuaCAqLzsgfTsKIAkJODZFNjdBMjUxOTEwQjlEMTAwMDA0QUI3IC8qIFBy
b2Nlc3NUaHJvdHRsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDg2RTY3QTIxMTkwRjQxMTgwMDAwNEFCNyAvKiBQcm9jZXNzVGhyb3R0bGVyLmggKi87
IH07CiAJCTg2Rjk1MzY1MThGRjU4RjUwMDFEQjJFRiAvKiBQcm9jZXNzQXNzZXJ0aW9uLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NkY5NTM2MDE4RkY0
RkQ0MDAxREIyRUYgLyogUHJvY2Vzc0Fzc2VydGlvbi5oICovOyB9OwogCQk4REMyRUY1MzA0ODZB
Njk0MDA5OEIyMTYgLyogSW5mb1BsaXN0LnN0cmluZ3MgaW4gUmVzb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4OUMxNjY2RkU4NDExNThDMDJBQUMwNyAvKiBJbmZv
UGxpc3Quc3RyaW5ncyAqLzsgfTsKQEAgLTUyODQsNiArNTI4Niw5IEBACiAJCTgzRjk2NDRCMUZB
MEY3NjIwMEM0Nzc1MCAvKiBTaGFyZWRTdHJpbmdIYXNoVGFibGVSZWFkT25seS5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTaGFyZWRTdHJpbmdIYXNoVGFibGVSZWFk
T25seS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTgzRjk2NDRDMUZBMEY3NjMw
MEM0Nzc1MCAvKiBTaGFyZWRTdHJpbmdIYXNoVGFibGVSZWFkT25seS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBTaGFyZWRTdHJpbmdIYXNoVGFibGVSZWFkT25seS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NDQ3Nzg1MTE3NkZDQUMxMDBDREM3QkIgLyogSW5q
ZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0TWVkaWFUeXBlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEluamVjdGVkQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlwZS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NjQ0ODkwQTI3QjQ3MDIwMDA3QTFDNjYgLyogX1dL
U3lzdGVtUHJlZmVyZW5jZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gX1dL
U3lzdGVtUHJlZmVyZW5jZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODY0NDg5
MEMyN0I0NzA0NTAwN0ExQzY2IC8qIF9XS1N5c3RlbVByZWZlcmVuY2VzLm1tICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2Jq
Y3BwOyBwYXRoID0gX1dLU3lzdGVtUHJlZmVyZW5jZXMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTg2NDQ4OTBFMjdCNUNCNDMwMDdBMUM2NiAvKiBfV0tTeXN0ZW1QcmVmZXJlbmNl
c0ludGVybmFsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IF9XS1N5c3RlbVBy
ZWZlcmVuY2VzSW50ZXJuYWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODY4MTYw
Q0QxODc2M0Q0QjAwMjFFNzlEIC8qIFdpbmRvd1NlcnZlckNvbm5lY3Rpb24uaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gV2luZG93U2VydmVyQ29ubmVjdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk4NjgxNjBDRjE4NzY0NTM3MDAyMUU3OUQgLyogV2luZG93U2VydmVyQ29ubmVjdGlvbi5t
bSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdpbmRvd1NlcnZlckNvbm5lY3Rpb24ubW07IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg2RTY3QTIxMTkwRjQxMTgwMDAwNEFCNyAvKiBQcm9j
ZXNzVGhyb3R0bGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFByb2Nlc3NU
aHJvdHRsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTg4ODAsNiArODg4NSw5
IEBACiAJCQkJMUEwMDJEM0YxOTZCMzI5NDAwQjlBRDQ0IC8qIF9XS1Nlc3Npb25TdGF0ZS5oICov
LAogCQkJCTFBMDAyRDNFMTk2QjMyOTQwMEI5QUQ0NCAvKiBfV0tTZXNzaW9uU3RhdGUubW0gKi8s
CiAJCQkJMUEwMDJENDIxOTZCMzM3MDAwQjlBRDQ0IC8qIF9XS1Nlc3Npb25TdGF0ZUludGVybmFs
LmggKi8sCisJCQkJODY0NDg5MEEyN0I0NzAyMDAwN0ExQzY2IC8qIF9XS1N5c3RlbVByZWZlcmVu
Y2VzLmggKi8sCisJCQkJODY0NDg5MEMyN0I0NzA0NTAwN0ExQzY2IC8qIF9XS1N5c3RlbVByZWZl
cmVuY2VzLm1tICovLAorCQkJCTg2NDQ4OTBFMjdCNUNCNDMwMDdBMUM2NiAvKiBfV0tTeXN0ZW1Q
cmVmZXJlbmNlc0ludGVybmFsLmggKi8sCiAJCQkJRjREOTg1QzcyNjkwRkJFRjAwQkJDQ0JFIC8q
IF9XS1RhcEhhbmRsaW5nUmVzdWx0LmggKi8sCiAJCQkJMkRFOUIxMzgyMjMxRjYxQzAwNTI4N0I3
IC8qIF9XS1RleHRJbnB1dENvbnRleHQuaCAqLywKIAkJCQkyREU5QjEzNzIyMzFGNjFDMDA1Mjg3
QjcgLyogX1dLVGV4dElucHV0Q29udGV4dC5tbSAqLywKQEAgLTEyODc3LDYgKzEyODg1LDggQEAK
IAkJCQkzNzYzMTFGRTFBM0ZCNjAwMDA1QTJFNTEgLyogX1dLU2FtZURvY3VtZW50TmF2aWdhdGlv
blR5cGVJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUEwMDJENDQxOTZCMzM4OTAwQjlB
RDQ0IC8qIF9XS1Nlc3Npb25TdGF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUEwMDJENDMxOTZC
MzM3MDAwQjlBRDQ0IC8qIF9XS1Nlc3Npb25TdGF0ZUludGVybmFsLmggaW4gSGVhZGVycyAqLywK
KwkJCQk4NjQ0ODkwQjI3QjQ3MDIwMDA3QTFDNjYgLyogX1dLU3lzdGVtUHJlZmVyZW5jZXMuaCBp
biBIZWFkZXJzICovLAorCQkJCTg2NDQ4OTBGMjdCNUNCNDMwMDdBMUM2NiAvKiBfV0tTeXN0ZW1Q
cmVmZXJlbmNlc0ludGVybmFsLmggaW4gSGVhZGVycyAqLywKIAkJCQlGNEQ5ODVDODI2OTBGQzEy
MDBCQkNDQkUgLyogX1dLVGFwSGFuZGxpbmdSZXN1bHQuaCBpbiBIZWFkZXJzICovLAogCQkJCTJE
RTlCMTNBMjIzMUY2MUMwMDUyODdCNyAvKiBfV0tUZXh0SW5wdXRDb250ZXh0LmggaW4gSGVhZGVy
cyAqLywKIAkJCQkyREU5QjEzQzIyMzFGNzdDMDA1Mjg3QjcgLyogX1dLVGV4dElucHV0Q29udGV4
dEludGVybmFsLmggaW4gSGVhZGVycyAqLywK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>451606</attachid>
            <date>2022-02-10 14:52:54 -0800</date>
            <delta_ts>2022-02-10 16:43:01 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-236135-20220210145252.patch</filename>
            <type>text/plain</type>
            <size>25962</size>
            <attacher name="Gavin">gavin.p</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg5NTU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGYyNmUwMDhhNWQ4ODJkYTkw
MDUyMDg4OTQ4Y2U3ZGZjZTY1NWRlMmUuLmUzODI4OGRmNTI0NzEzNDNmM2VkMDFkYzA4OThkMzkx
MzkyYzg0MjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzUgQEAKKzIwMjItMDItMTAgIEdhdmluIFBo
aWxsaXBzICA8Z2F2aW4ucEBhcHBsZS5jb20+CisKKyAgICAgICAgVXBkYXRlIHByZWZlcmVuY2Ug
bG9jYXRpb24gdXNlZCBmb3IgQ2FwdGl2ZVBvcnRhbE1vZGUuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzYxMzUKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzg4NDg2NTQ0PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogUGxhdGZvcm1NYWMuY21ha2U6CisgICAgICAgICogU291cmNlc0NvY29hLnR4dDoK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS1N5c3RlbVByZWZlcmVuY2VzLmg6IEFk
ZGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLU3lzdGVtUHJlZmVyZW5jZXMu
bW06IEFkZGVkLgorICAgICAgICAoK1tfV0tTeXN0ZW1QcmVmZXJlbmNlcyBpc0NhcHRpdmVQb3J0
YWxNb2RlRW5hYmxlZEdsb2JhbGx5XSk6CisgICAgICAgICgrW19XS1N5c3RlbVByZWZlcmVuY2Vz
IHNldENhcHRpdmVQb3J0YWxNb2RlRW5hYmxlZEdsb2JhbGx5Ol0pOgorICAgICAgICAoK1tfV0tT
eXN0ZW1QcmVmZXJlbmNlcyBpc0NhcHRpdmVQb3J0YWxNb2RlSWdub3JlZEZvckNvbnRhaW5lcjpd
KToKKyAgICAgICAgKCtbX1dLU3lzdGVtUHJlZmVyZW5jZXMgc2V0Q2FwdGl2ZVBvcnRhbE1vZGVJ
Z25vcmVkRm9yQ29udGFpbmVyOmlnbm9yZTpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0Nv
Y29hL19XS1N5c3RlbVByZWZlcmVuY2VzSW50ZXJuYWwuaDogQWRkZWQuCisgICAgICAgICogVUlQ
cm9jZXNzL0NvY29hL1ByZWZlcmVuY2VPYnNlcnZlci5tbToKKyAgICAgICAgKC1bV0tVc2VyRGVm
YXVsdHMgZmluZFByZWZlcmVuY2VDaGFuZ2VzQW5kTm90aWZ5Rm9yS2V5czp0b1ZhbHVlc0Zvcktl
eXM6XSk6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNvY29hLm1tOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6Y2FwdGl2ZVBvcnRhbE1vZGVDb25maWdVcGRhdGVD
YWxsYmFjayk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpyZWdpc3Rlck5vdGlm
aWNhdGlvbk9ic2VydmVycyk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjp1bnJl
Z2lzdGVyTm90aWZpY2F0aW9uT2JzZXJ2ZXJzKToKKyAgICAgICAgKFdlYktpdDo6aXNDYXB0aXZl
UG9ydGFsTW9kZUVuYWJsZWRCeVN5c3RlbUlnbm9yaW5nQ2FjaGluZyk6CisgICAgICAgIChXZWJL
aXQ6OldlYlByb2Nlc3NQb29sOjpub3RpZnlQcmVmZXJlbmNlc0NoYW5nZWQpOgorICAgICAgICAq
IFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvRGlz
cGxheUNhcHR1cmVTZXNzaW9uTWFuYWdlci5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvRGlz
cGxheUNhcHR1cmVTZXNzaW9uTWFuYWdlci5tbToKKyAgICAgICAgKFdlYktpdDo6RGlzcGxheUNh
cHR1cmVTZXNzaW9uTWFuYWdlcjo6cHJvbXB0Rm9yR2V0RGlzcGxheU1lZGlhKToKKyAgICAgICAg
KiBXZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKwogMjAyMi0wMi0xMCAgV2Vuc29u
IEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBTdXBwb3J0IGBXZWJQ
YWdlUHJveHk6OnJlcGxhY2VTZWxlY3Rpb25XaXRoUGFzdGVib2FyZERhdGEoKWAgb24gaU9TCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtTWFjLmNtYWtlIGIvU291cmNlL1dlYktp
dC9QbGF0Zm9ybU1hYy5jbWFrZQppbmRleCBlMjk2NmQ1MTNiYjU4MzlkZjEyYjMyMmFmMmVlYjA1
NGViNGQ2NjU1Li4xMDBkZjgwYjI3Y2E3ODAxMGIyZjFkZDgwNzM2MTc0NDBkNTI2YTc0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtTWFjLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJL
aXQvUGxhdGZvcm1NYWMuY21ha2UKQEAgLTQ2MCw2ICs0NjAsNyBAQCBsaXN0KEFQUEVORCBXZWJL
aXRfUFVCTElDX0ZSQU1FV09SS19IRUFERVJTCiAgICAgVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzRmlyc3RQYXJ0eS5oCiAgICAgVUlQcm9jZXNzL0FQSS9Db2Nv
YS9fV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzVGhpcmRQYXJ0eS5oCiAgICAgVUlQcm9jZXNzL0FQ
SS9Db2NvYS9fV0tTZXNzaW9uU3RhdGUuaAorICAgIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLU3lz
dGVtUHJlZmVyZW5jZXMuaAogICAgIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLVGFwSGFuZGxpbmdS
ZXN1bHQuaAogICAgIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLVGV4dElucHV0Q29udGV4dC5oCiAg
ICAgVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tUZXh0TWFuaXB1bGF0aW9uQ29uZmlndXJhdGlvbi5o
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQgYi9Tb3VyY2UvV2Vi
S2l0L1NvdXJjZXNDb2NvYS50eHQKaW5kZXggOTg5NzRmYTA4YjU5ZDQ3N2MyMzFmYjVkM2ZhMjcx
YTA5YjJkNWQwMS4uMzA4NGMxZTgwODViZDg0OTg5NmFjYWEyOWYxOWE0NDYwOTFhMmY0NyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CisrKyBiL1NvdXJjZS9XZWJL
aXQvU291cmNlc0NvY29hLnR4dApAQCAtMjk1LDYgKzI5NSw3IEBAIFVJUHJvY2Vzcy9BUEkvQ29j
b2EvX1dLUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLm1tCiBVSVByb2Nlc3MvQVBJL0NvY29hL19X
S1JlbW90ZVdlYkluc3BlY3RvclZpZXdDb250cm9sbGVyLm1tCiBVSVByb2Nlc3MvQVBJL0NvY29h
L19XS1Jlc291cmNlTG9hZEluZm8ubW0KIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLU2Vzc2lvblN0
YXRlLm1tCitVSVByb2Nlc3MvQVBJL0NvY29hL19XS1N5c3RlbVByZWZlcmVuY2VzLm1tCiBVSVBy
b2Nlc3MvQVBJL0NvY29hL19XS1RleHRJbnB1dENvbnRleHQubW0KIFVJUHJvY2Vzcy9BUEkvQ29j
b2EvX1dLVGV4dE1hbmlwdWxhdGlvbkNvbmZpZ3VyYXRpb24ubW0KIFVJUHJvY2Vzcy9BUEkvQ29j
b2EvX1dLVGV4dE1hbmlwdWxhdGlvbkV4Y2x1c2lvblJ1bGUubW0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tTeXN0ZW1QcmVmZXJlbmNlcy5oIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1N5c3RlbVByZWZlcmVuY2VzLmgKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNzUyNjFjZDljMjMzYTY5YmU3ZjU3Yzk1ZDg5YWI1NDI3MjU5ZmUwOAotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tTeXN0ZW1Q
cmVmZXJlbmNlcy5oCkBAIC0wLDAgKzEsMzcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjIg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0IDxGb3Vu
ZGF0aW9uL0ZvdW5kYXRpb24uaD4KKyNpbXBvcnQgPFdlYktpdC9XS0ZvdW5kYXRpb24uaD4KKwor
V0tfQ0xBU1NfQVZBSUxBQkxFKG1hY29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpCitA
aW50ZXJmYWNlIF9XS1N5c3RlbVByZWZlcmVuY2VzIDogTlNPYmplY3QKKworKyAoQk9PTClpc0Nh
cHRpdmVQb3J0YWxNb2RlRW5hYmxlZEdsb2JhbGx5OworKyAodm9pZClzZXRDYXB0aXZlUG9ydGFs
TW9kZUVuYWJsZWRHbG9iYWxseTooQk9PTCllbmFibGVkOworKyAoQk9PTClpc0NhcHRpdmVQb3J0
YWxNb2RlSWdub3JlZEZvckNvbnRhaW5lcjooTlNTdHJpbmcgKiljb250YWluZXJQYXRoOworKyAo
dm9pZClzZXRDYXB0aXZlUG9ydGFsTW9kZUlnbm9yZWRGb3JDb250YWluZXI6KE5TU3RyaW5nICop
Y29udGFpbmVyUGF0aCBpZ25vcmU6KEJPT0wpaWdub3JlOworCitAZW5kCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLU3lzdGVtUHJlZmVyZW5jZXMubW0g
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLU3lzdGVtUHJlZmVyZW5jZXMu
bW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZGQ1MTlmZDY5OTk5NTk5MTJiYjgwZTQ0NjRjMGQ3MTkxYzdjZTI3ZAot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tT
eXN0ZW1QcmVmZXJlbmNlcy5tbQpAQCAtMCwwICsxLDgzIEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDIyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9y
dCAiY29uZmlnLmgiCisjaW1wb3J0ICJfV0tTeXN0ZW1QcmVmZXJlbmNlc0ludGVybmFsLmgiCisK
KyNpbXBvcnQgPHd0Zi9Bc3NlcnRpb25zLmg+CisjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CisK
K2NvbnN0ZXhwciBhdXRvIENhcHRpdmVQb3J0YWxDb25maWd1cmF0aW9uSWdub3JlRmlsZVBhdGgg
PSBAIkxpYnJhcnkvUHJlZmVyZW5jZXMvY29tLmFwcGxlLldlYktpdC5jcG1jb25maWdfaWdub3Jl
IjsKKworQGltcGxlbWVudGF0aW9uIF9XS1N5c3RlbVByZWZlcmVuY2VzCisKKysgKEJPT0wpaXND
YXB0aXZlUG9ydGFsTW9kZUVuYWJsZWRHbG9iYWxseQoreworI2lmIFVTRShBUFBMRV9JTlRFUk5B
TF9TREspCisgICAgYXV0byBjaGFuZ2VkTm90aWZpY2F0aW9uTmFtZSA9IGFkb3B0Q0YoQ0ZTdHJp
bmdDcmVhdGVXaXRoQ1N0cmluZyhrQ0ZBbGxvY2F0b3JEZWZhdWx0LCBXZWJLaXRDYXB0aXZlUG9y
dGFsTW9kZUdsb2JhbENvbmZpZ3VyYXRpb25DaGFuZ2VkTm90aWZpY2F0aW9uLCBrQ0ZTdHJpbmdF
bmNvZGluZ1VURjgpKTsKKyAgICBhdXRvIHByZWZlcmVuY2VWYWx1ZSA9IGFkb3B0Q0YoQ0ZQcmVm
ZXJlbmNlc0NvcHlWYWx1ZShjaGFuZ2VkTm90aWZpY2F0aW9uTmFtZS5nZXQoKSwga0NGUHJlZmVy
ZW5jZXNBbnlBcHBsaWNhdGlvbiwga0NGUHJlZmVyZW5jZXNBbnlVc2VyLCBrQ0ZQcmVmZXJlbmNl
c0N1cnJlbnRIb3N0KSk7CisgICAgcmV0dXJuIHByZWZlcmVuY2VWYWx1ZS5nZXQoKSA9PSBrQ0ZC
b29sZWFuVHJ1ZTsKKyNlbHNlCisgICAgcmV0dXJuIGZhbHNlOworI2VuZGlmCit9CisKKysgKHZv
aWQpc2V0Q2FwdGl2ZVBvcnRhbE1vZGVFbmFibGVkR2xvYmFsbHk6KEJPT0wpZW5hYmxlZAorewor
I2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisgICAgYXV0byBjaGFuZ2VkTm90aWZpY2F0aW9u
TmFtZSA9IGFkb3B0Q0YoQ0ZTdHJpbmdDcmVhdGVXaXRoQ1N0cmluZyhrQ0ZBbGxvY2F0b3JEZWZh
dWx0LCBXZWJLaXRDYXB0aXZlUG9ydGFsTW9kZUdsb2JhbENvbmZpZ3VyYXRpb25DaGFuZ2VkTm90
aWZpY2F0aW9uLCBrQ0ZTdHJpbmdFbmNvZGluZ1VURjgpKTsKKyAgICBDRlByZWZlcmVuY2VzU2V0
VmFsdWUoY2hhbmdlZE5vdGlmaWNhdGlvbk5hbWUuZ2V0KCksIGVuYWJsZWQgPyBrQ0ZCb29sZWFu
VHJ1ZSA6IGtDRkJvb2xlYW5GYWxzZSwga0NGUHJlZmVyZW5jZXNBbnlBcHBsaWNhdGlvbiwga0NG
UHJlZmVyZW5jZXNBbnlVc2VyLCBrQ0ZQcmVmZXJlbmNlc0N1cnJlbnRIb3N0KTsKKyAgICBDRlBy
ZWZlcmVuY2VzU3luY2hyb25pemUoa0NGUHJlZmVyZW5jZXNBbnlBcHBsaWNhdGlvbiwga0NGUHJl
ZmVyZW5jZXNBbnlVc2VyLCBrQ0ZQcmVmZXJlbmNlc0FueUhvc3QpOworI2VuZGlmCit9CisKKysg
KEJPT0wpaXNDYXB0aXZlUG9ydGFsTW9kZUlnbm9yZWRGb3JDb250YWluZXI6KE5TU3RyaW5nICop
Y29udGFpbmVyUGF0aAoreworI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspICYmIFBMQVRGT1JN
KElPU19GQU1JTFkpCisgICAgTlNTdHJpbmcgKmNwbWNvbmZpZ0lnbm9yZUZpbGVQYXRoID0gW2Nv
bnRhaW5lclBhdGggc3RyaW5nQnlBcHBlbmRpbmdQYXRoQ29tcG9uZW50OkNhcHRpdmVQb3J0YWxD
b25maWd1cmF0aW9uSWdub3JlRmlsZVBhdGhdOworICAgIHJldHVybiBbW05TRmlsZU1hbmFnZXIg
ZGVmYXVsdE1hbmFnZXJdIGZpbGVFeGlzdHNBdFBhdGg6Y3BtY29uZmlnSWdub3JlRmlsZVBhdGhd
OworI2Vsc2UKKyAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYKK30KKworKyAodm9pZClzZXRDYXB0
aXZlUG9ydGFsTW9kZUlnbm9yZWRGb3JDb250YWluZXI6KE5TU3RyaW5nICopY29udGFpbmVyUGF0
aCBpZ25vcmU6KEJPT0wpaWdub3JlCit7CisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykgJiYg
UExBVEZPUk0oSU9TX0ZBTUlMWSkKKyAgICBOU1N0cmluZyAqY3BtY29uZmlnSWdub3JlRmlsZVBh
dGggPSBbY29udGFpbmVyUGF0aCBzdHJpbmdCeUFwcGVuZGluZ1BhdGhDb21wb25lbnQ6Q2FwdGl2
ZVBvcnRhbENvbmZpZ3VyYXRpb25JZ25vcmVGaWxlUGF0aF07CisgICAgCisgICAgaWYgKFtbTlNG
aWxlTWFuYWdlciBkZWZhdWx0TWFuYWdlcl0gZmlsZUV4aXN0c0F0UGF0aDpjcG1jb25maWdJZ25v
cmVGaWxlUGF0aF0gPT0gaWdub3JlKQorICAgICAgICByZXR1cm47CisgICAgCisgICAgaWYgKGln
bm9yZSkKKyAgICAgICAgW1tOU0ZpbGVNYW5hZ2VyIGRlZmF1bHRNYW5hZ2VyXSBjcmVhdGVGaWxl
QXRQYXRoOmNwbWNvbmZpZ0lnbm9yZUZpbGVQYXRoIGNvbnRlbnRzOk5VTEwgYXR0cmlidXRlczpO
VUxMXTsKKyAgICBlbHNlCisgICAgICAgIFtbTlNGaWxlTWFuYWdlciBkZWZhdWx0TWFuYWdlcl0g
cmVtb3ZlSXRlbUF0UGF0aDpjcG1jb25maWdJZ25vcmVGaWxlUGF0aCBlcnJvcjpOVUxMXTsKKwor
ICAgIENGTm90aWZpY2F0aW9uQ2VudGVyUG9zdE5vdGlmaWNhdGlvbihDRk5vdGlmaWNhdGlvbkNl
bnRlckdldERhcndpbk5vdGlmeUNlbnRlcigpLCAoX19icmlkZ2UgQ0ZTdHJpbmdSZWYpV2ViS2l0
Q2FwdGl2ZVBvcnRhbE1vZGVDb250YWluZXJDb25maWd1cmF0aW9uQ2hhbmdlZE5vdGlmaWNhdGlv
biwgbnVsbHB0ciwgbnVsbHB0ciwgdHJ1ZSk7CisjZW5kaWYKK30KKworQGVuZApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1N5c3RlbVByZWZlcmVuY2Vz
SW50ZXJuYWwuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tTeXN0ZW1Q
cmVmZXJlbmNlc0ludGVybmFsLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDA1NTdmOWVlNzczMmQzOWI5ZWIwYzZh
MjM2NmVkOTZlN2NiMTNiYgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9fV0tTeXN0ZW1QcmVmZXJlbmNlc0ludGVybmFsLmgKQEAgLTAsMCArMSwy
OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgIl9XS1N5c3RlbVByZWZlcmVuY2VzLmgiCisKK2Nv
bnN0ZXhwciBhdXRvIFdlYktpdENhcHRpdmVQb3J0YWxNb2RlR2xvYmFsQ29uZmlndXJhdGlvbkNo
YW5nZWROb3RpZmljYXRpb24gPSAiV0tDYXB0aXZlUG9ydGFsTW9kZUVuYWJsZWQiOworY29uc3Rl
eHByIGF1dG8gV2ViS2l0Q2FwdGl2ZVBvcnRhbE1vZGVDb250YWluZXJDb25maWd1cmF0aW9uQ2hh
bmdlZE5vdGlmaWNhdGlvbiA9IEAiY29tLmFwcGxlLldlYktpdC5jcG1jb25maWciOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvUHJlZmVyZW5jZU9ic2VydmVyLm1t
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvUHJlZmVyZW5jZU9ic2VydmVyLm1tCmlu
ZGV4IDM0YmZhNzkyNWQ1ZDQ0ZTBlOWU4MTIwMjQ3OWU3NzU4MTVlYWM2YmMuLjBhNjFjNzUxNDE2
YTE0YzliMDcxMDM4ZTk5OTEzNWFhYTdmOGY5MzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0NvY29hL1ByZWZlcmVuY2VPYnNlcnZlci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9Db2NvYS9QcmVmZXJlbmNlT2JzZXJ2ZXIubW0KQEAgLTcxLDYgKzcxLDcgQEAK
ICAgICAgICAgICAgIGVuY29kZWRTdHJpbmcgPSBbZGF0YSBiYXNlNjRFbmNvZGVkU3RyaW5nV2l0
aE9wdGlvbnM6MF07CiAgICAgICAgIH0KIAorICAgICAgICBhdXRvIHN5c3RlbVZhbHVlID0gYWRv
cHRDRihDRlByZWZlcmVuY2VzQ29weVZhbHVlKChfX2JyaWRnZSBDRlN0cmluZ1JlZilrZXksIGtD
RlByZWZlcmVuY2VzQW55QXBwbGljYXRpb24sIGtDRlByZWZlcmVuY2VzQW55VXNlciwga0NGUHJl
ZmVyZW5jZXNBbnlIb3N0KSk7CiAgICAgICAgIGF1dG8gZ2xvYmFsVmFsdWUgPSBhZG9wdENGKENG
UHJlZmVyZW5jZXNDb3B5VmFsdWUoKF9fYnJpZGdlIENGU3RyaW5nUmVmKWtleSwga0NGUHJlZmVy
ZW5jZXNBbnlBcHBsaWNhdGlvbiwga0NGUHJlZmVyZW5jZXNDdXJyZW50VXNlciwga0NGUHJlZmVy
ZW5jZXNBbnlIb3N0KSk7CiAgICAgICAgIGF1dG8gZG9tYWluVmFsdWUgPSBhZG9wdENGKENGUHJl
ZmVyZW5jZXNDb3B5VmFsdWUoKF9fYnJpZGdlIENGU3RyaW5nUmVmKWtleSwgKF9fYnJpZGdlIENG
U3RyaW5nUmVmKW1fc3VpdGVOYW1lLmdldCgpLCBrQ0ZQcmVmZXJlbmNlc0N1cnJlbnRVc2VyLCBr
Q0ZQcmVmZXJlbmNlc0FueUhvc3QpKTsKIApAQCAtNzgsNyArNzksNyBAQAogICAgICAgICAgICAg
cmV0dXJuIGEgPT0gYiB8fCBbYSBpc0VxdWFsOmJdOwogICAgICAgICB9OwogCi0gICAgICAgIGlm
IChwcmVmZXJlbmNlVmFsdWVzQXJlRXF1YWwoKF9fYnJpZGdlIGlkKWdsb2JhbFZhbHVlLmdldCgp
LCBuZXdWYWx1ZSkpCisgICAgICAgIGlmIChwcmVmZXJlbmNlVmFsdWVzQXJlRXF1YWwoKF9fYnJp
ZGdlIGlkKXN5c3RlbVZhbHVlLmdldCgpLCBuZXdWYWx1ZSkgfHwgcHJlZmVyZW5jZVZhbHVlc0Fy
ZUVxdWFsKChfX2JyaWRnZSBpZClnbG9iYWxWYWx1ZS5nZXQoKSwgbmV3VmFsdWUpKQogICAgICAg
ICAgICAgW21fb2JzZXJ2ZXIgcHJlZmVyZW5jZURpZENoYW5nZTpuaWwga2V5OmtleSBlbmNvZGVk
VmFsdWU6ZW5jb2RlZFN0cmluZ107CiAKICAgICAgICAgaWYgKHByZWZlcmVuY2VWYWx1ZXNBcmVF
cXVhbCgoX19icmlkZ2UgaWQpZG9tYWluVmFsdWUuZ2V0KCksIG5ld1ZhbHVlKSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNvY29hLm1tIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW0KaW5kZXgg
MDI2MzZiNTE4OGUzYWM2MmZkNWMyNmUzMWIzNjViYTcyYzIwM2FmMi4uM2M0NzNhNThlZWZkZWU3
MDlmYmE1MjUxMmQzZmQ4ODA3NzBmYjc5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW0KQEAgLTM3LDEyICszNywxNCBAQAogI2lt
cG9ydCAiTG9hZFBhcmFtZXRlcnMuaCIKICNpbXBvcnQgIk1vZGFsQ29udGFpbmVyQ29udHJvbENs
YXNzaWZpZXIuaCIKICNpbXBvcnQgIlBhZ2VDbGllbnQuaCIKKyNpbXBvcnQgIlBsYXliYWNrU2Vz
c2lvbk1hbmFnZXJQcm94eS5oIgogI2ltcG9ydCAiUXVhcmFudGluZVNQSS5oIgogI2ltcG9ydCAi
UXVpY2tMb29rVGh1bWJuYWlsTG9hZGVyLmgiCiAjaW1wb3J0ICJTYWZlQnJvd3NpbmdTUEkuaCIK
ICNpbXBvcnQgIlNhZmVCcm93c2luZ1dhcm5pbmcuaCIKICNpbXBvcnQgIlNoYXJlZEJ1ZmZlckNv
cHkuaCIKICNpbXBvcnQgIlN5bmFwc2VTUEkuaCIKKyNpbXBvcnQgIlZpZGVvRnVsbHNjcmVlbk1h
bmFnZXJQcm94eS5oIgogI2ltcG9ydCAiV2ViQ29udGV4dE1lbnVQcm94eS5oIgogI2ltcG9ydCAi
V2ViUGFnZS5oIgogI2ltcG9ydCAiV2ViUGFnZU1lc3NhZ2VzLmgiCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQppbmRleCBjNzg2
NTY5MTRhNjY0MGVkMmYyYzk5M2ZiNmFmZmEzZDBjYmQ2ZDBkLi41MmJlMjc2MDJjNjdkNTI3OGYz
Mjc4YmE0YjM4ZDE3ZjFiYjI4NTM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0KQEAgLTUyLDYgKzUyLDcgQEAKICNpbXBv
cnQgIldlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaCIKICNpbXBvcnQgIldlYlByb2Nlc3NN
ZXNzYWdlcy5oIgogI2ltcG9ydCAiV2luZG93U2VydmVyQ29ubmVjdGlvbi5oIgorI2ltcG9ydCAi
X1dLU3lzdGVtUHJlZmVyZW5jZXNJbnRlcm5hbC5oIgogI2ltcG9ydCA8V2ViQ29yZS9BR1hDb21w
aWxlclNlcnZpY2UuaD4KICNpbXBvcnQgPFdlYkNvcmUvQ29sb3IuaD4KICNpbXBvcnQgPFdlYkNv
cmUvTG9jYWxpemVkRGV2aWNlTW9kZWwuaD4KQEAgLTcwLDYgKzcxLDcgQEAKICNpbXBvcnQgPHd0
Zi9GaWxlU3lzdGVtLmg+CiAjaW1wb3J0IDx3dGYvUHJvY2Vzc1ByaXZpbGVnZS5oPgogI2ltcG9y
dCA8d3RmL1NvZnRMaW5raW5nLmg+CisjaW1wb3J0IDx3dGYvY2YvVHlwZUNhc3RzQ0YuaD4KICNp
bXBvcnQgPHd0Zi9jb2NvYS9FbnRpdGxlbWVudHMuaD4KICNpbXBvcnQgPHd0Zi9jb2NvYS9SdW50
aW1lQXBwbGljYXRpb25DaGVja3NDb2NvYS5oPgogI2ltcG9ydCA8d3RmL2NvY29hL1R5cGVDYXN0
c0NvY29hLmg+CkBAIC0xMjgsNyArMTMwLDcgQEAgTlNTdHJpbmcgKldlYktpdEpTQ0ZUTEpJVEVu
YWJsZWREZWZhdWx0c0tleSA9IEAiV2ViS2l0SlNDRlRMSklURW5hYmxlZERlZmF1bHRzS2UKIHN0
YXRpYyBOU1N0cmluZyAqV2ViS2l0QXBwbGljYXRpb25EaWRDaGFuZ2VBY2Nlc3NpYmlsaXR5RW5o
YW5jZWRVc2VySW50ZXJmYWNlTm90aWZpY2F0aW9uID0gQCJOU0FwcGxpY2F0aW9uRGlkQ2hhbmdl
QWNjZXNzaWJpbGl0eUVuaGFuY2VkVXNlckludGVyZmFjZU5vdGlmaWNhdGlvbiI7CiBzdGF0aWMg
Q0ZTdHJpbmdSZWYgQXBwbGVDb2xvclByZWZlcmVuY2VzQ2hhbmdlZE5vdGlmaWNhdGlvbiA9IENG
U1RSKCJBcHBsZUNvbG9yUHJlZmVyZW5jZXNDaGFuZ2VkTm90aWZpY2F0aW9uIik7CiAjZW5kaWYK
LXN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBXZWJLaXRDYXB0aXZlUG9ydGFsTW9kZUNoYW5nZWRO
b3RpZmljYXRpb24gPSAiV2ViS2l0Q2FwdGl2ZVBvcnRhbE1vZGVFbmFibGVkIjsKK3N0YXRpYyBj
b25zdCBjaGFyKiBjb25zdCBXZWJLaXRDYXB0aXZlUG9ydGFsTW9kZUNoYW5nZWROb3RpZmljYXRp
b25fTGVnYWN5ID0gIldlYktpdENhcHRpdmVQb3J0YWxNb2RlRW5hYmxlZCI7CiAKIHN0YXRpYyBO
U1N0cmluZyAqIGNvbnN0IFdlYktpdFN1cHByZXNzTWVtb3J5UHJlc3N1cmVIYW5kbGVyRGVmYXVs
dHNLZXkgPSBAIldlYktpdFN1cHByZXNzTWVtb3J5UHJlc3N1cmVIYW5kbGVyIjsKIApAQCAtNjIy
LDYgKzYyNCwxNCBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjpyZW1vdGVXZWJJbnNwZWN0b3JFbmFi
bGVkQ2FsbGJhY2soQ0ZOb3RpZmljYXRpb25DZW50ZXJSZWYsCiB9CiAjZW5kaWYKIAorI2lmIFBM
QVRGT1JNKElPU19GQU1JTFkpCit2b2lkIFdlYlByb2Nlc3NQb29sOjpjYXB0aXZlUG9ydGFsTW9k
ZUNvbmZpZ1VwZGF0ZUNhbGxiYWNrKENGTm90aWZpY2F0aW9uQ2VudGVyUmVmLCB2b2lkKiBvYnNl
cnZlciwgQ0ZTdHJpbmdSZWYsIGNvbnN0IHZvaWQqLCBDRkRpY3Rpb25hcnlSZWYpCit7CisgICAg
aWYgKGF1dG8gcG9vbCA9IGV4dHJhY3RXZWJQcm9jZXNzUG9vbChvYnNlcnZlcikpCisgICAgICAg
IHBvb2wtPmNhcHRpdmVQb3J0YWxNb2RlU3RhdGVDaGFuZ2VkKCk7Cit9CisjZW5kaWYKKwogI2lm
IEVOQUJMRShDRlBSRUZTX0RJUkVDVF9NT0RFKQogdm9pZCBXZWJQcm9jZXNzUG9vbDo6c3RhcnRP
YnNlcnZpbmdQcmVmZXJlbmNlQ2hhbmdlcygpCiB7CkBAIC03MzUsNiArNzQ1LDEwIEBAIHZvaWQg
V2ViUHJvY2Vzc1Bvb2w6OnJlZ2lzdGVyTm90aWZpY2F0aW9uT2JzZXJ2ZXJzKCkKICAgICAgICAg
c2VuZFRvQWxsUHJvY2Vzc2VzKE1lc3NhZ2VzOjpXZWJQcm9jZXNzOjpQb3dlclNvdXJjZURpZENo
YW5nZShoYXNBQykpOwogICAgIH0pOwogCisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyAgICBh
ZGRDRk5vdGlmaWNhdGlvbk9ic2VydmVyKGNhcHRpdmVQb3J0YWxNb2RlQ29uZmlnVXBkYXRlQ2Fs
bGJhY2ssIChfX2JyaWRnZSBDRlN0cmluZ1JlZilXZWJLaXRDYXB0aXZlUG9ydGFsTW9kZUNvbnRh
aW5lckNvbmZpZ3VyYXRpb25DaGFuZ2VkTm90aWZpY2F0aW9uKTsKKyNlbmRpZgorCiAjaWYgSEFW
RShQRVJfQVBQX0FDQ0VTU0lCSUxJVFlfUFJFRkVSRU5DRVMpCiAgICAgYWRkQ0ZOb3RpZmljYXRp
b25PYnNlcnZlcihhY2Nlc3NpYmlsaXR5UHJlZmVyZW5jZXNDaGFuZ2VkQ2FsbGJhY2ssIGtBWFNS
ZWR1Y2VNb3Rpb25DaGFuZ2VkTm90aWZpY2F0aW9uKTsKICAgICBhZGRDRk5vdGlmaWNhdGlvbk9i
c2VydmVyKGFjY2Vzc2liaWxpdHlQcmVmZXJlbmNlc0NoYW5nZWRDYWxsYmFjaywga0FYU0luY3Jl
YXNlQnV0dG9uTGVnaWJpbGl0eU5vdGlmaWNhdGlvbik7CkBAIC03NzgsNiArNzkyLDEwIEBAIHZv
aWQgV2ViUHJvY2Vzc1Bvb2w6OnVucmVnaXN0ZXJOb3RpZmljYXRpb25PYnNlcnZlcnMoKQogICAg
IFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gcmVtb3ZlT2JzZXJ2ZXI6bV9h
Y3RpdmF0aW9uT2JzZXJ2ZXIuZ2V0KCldOwogCiAgICAgbV9wb3dlclNvdXJjZU5vdGlmaWVyID0g
bnVsbHB0cjsKKyAgICAKKyNpZiBQTEFURk9STShJT1NfRkFNSUxZKQorICAgIHJlbW92ZUNGTm90
aWZpY2F0aW9uT2JzZXJ2ZXIoKF9fYnJpZGdlIENGU3RyaW5nUmVmKVdlYktpdENhcHRpdmVQb3J0
YWxNb2RlQ29udGFpbmVyQ29uZmlndXJhdGlvbkNoYW5nZWROb3RpZmljYXRpb24pOworI2VuZGlm
CiAKICNpZiBIQVZFKFBFUl9BUFBfQUNDRVNTSUJJTElUWV9QUkVGRVJFTkNFUykKICAgICByZW1v
dmVDRk5vdGlmaWNhdGlvbk9ic2VydmVyKGtBWFNSZWR1Y2VNb3Rpb25DaGFuZ2VkTm90aWZpY2F0
aW9uKTsKQEAgLTkzMCw3ICs5NDgsMjMgQEAgc3RhdGljIGJvb2wgaXNDYXB0aXZlUG9ydGFsTW9k
ZUVuYWJsZWRCeVN5c3RlbUlnbm9yaW5nQ2FjaGluZygpCiAgICAgaWYgKGF1dG8mIGVuYWJsZWRG
b3JUZXN0aW5nID0gaXNDYXB0aXZlUG9ydGFsTW9kZUVuYWJsZWRHbG9iYWxseUZvclRlc3Rpbmco
KSkKICAgICAgICAgcmV0dXJuICplbmFibGVkRm9yVGVzdGluZzsKIAotICAgIHJldHVybiBbW05T
VXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSBib29sRm9yS2V5OltOU1N0cmluZyBz
dHJpbmdXaXRoVVRGOFN0cmluZzpXZWJLaXRDYXB0aXZlUG9ydGFsTW9kZUNoYW5nZWROb3RpZmlj
YXRpb25dXTsKKyAgICBpZiAoW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10g
Ym9vbEZvcktleTpbTlNTdHJpbmcgc3RyaW5nV2l0aFVURjhTdHJpbmc6V2ViS2l0Q2FwdGl2ZVBv
cnRhbE1vZGVDaGFuZ2VkTm90aWZpY2F0aW9uX0xlZ2FjeV1dKQorICAgICAgICByZXR1cm4gdHJ1
ZTsKKworICAgIGlmICghW19XS1N5c3RlbVByZWZlcmVuY2VzIGlzQ2FwdGl2ZVBvcnRhbE1vZGVF
bmFibGVkR2xvYmFsbHldKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyNpZiBQTEFURk9STShJ
T1NfRkFNSUxZKQorICAgIGlmIChwcm9jZXNzSGFzQ29udGFpbmVyKCkgJiYgW19XS1N5c3RlbVBy
ZWZlcmVuY2VzIGlzQ2FwdGl2ZVBvcnRhbE1vZGVJZ25vcmVkRm9yQ29udGFpbmVyOnBhdGhGb3JQ
cm9jZXNzQ29udGFpbmVyKCldKQorICAgICAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYKKyAgICAK
KyNpZiBQTEFURk9STShNQUMpCisgICAgaWYgKCFXZWJDb3JlOjpNYWNBcHBsaWNhdGlvbjo6aXNT
YWZhcmkoKSAmJiAhV2ViQ29yZTo6TWFjQXBwbGljYXRpb246OmlzTWluaUJyb3dzZXIoKSkKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworI2VuZGlmCisgICAgCisgICAgcmV0dXJuIHRydWU7CiB9CiAK
IHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OmNhcHRpdmVQb3J0YWxNb2RlU3RhdGVDaGFuZ2VkKCkKQEAg
LTEwNjMsNyArMTA5Nyw3IEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6Om5vdGlmeVByZWZlcmVuY2Vz
Q2hhbmdlZChjb25zdCBTdHJpbmcmIGRvbWFpbiwgY29uc3QgU3RyaW5nCiAgICAgICAgIHdlYkF1
dGhuUHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViQXV0aG5Qcm9jZXNzOjpOb3RpZnlQcmVmZXJl
bmNlc0NoYW5nZWQoZG9tYWluLCBrZXksIGVuY29kZWRWYWx1ZSksIDApOwogI2VuZGlmCiAKLSAg
ICBpZiAoa2V5ID09IFdlYktpdENhcHRpdmVQb3J0YWxNb2RlQ2hhbmdlZE5vdGlmaWNhdGlvbikK
KyAgICBpZiAoa2V5ID09IFdlYktpdENhcHRpdmVQb3J0YWxNb2RlR2xvYmFsQ29uZmlndXJhdGlv
bkNoYW5nZWROb3RpZmljYXRpb24gfHwga2V5ID09IFdlYktpdENhcHRpdmVQb3J0YWxNb2RlQ2hh
bmdlZE5vdGlmaWNhdGlvbl9MZWdhY3kpCiAgICAgICAgIGNhcHRpdmVQb3J0YWxNb2RlU3RhdGVD
aGFuZ2VkKCk7CiB9CiAjZW5kaWYgLy8gRU5BQkxFKENGUFJFRlNfRElSRUNUX01PREUpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaAppbmRleCBlMjUzYTVlNzNhNDg2OWFi
ODlkNDIwNzA4MDY2ZjEwNWVlODEwODk4Li5lZmU0YzNjYjM4Yjk0YjRiNGIwMjViZmRlZGFhYWVj
OTFiNGNhZjUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNz
UG9vbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmgKQEAg
LTU4NCw2ICs1ODQsMTAgQEAgcHJpdmF0ZToKICNlbmRpZgogI2VuZGlmCiAKKyNpZiBQTEFURk9S
TShJT1NfRkFNSUxZKQorICAgIHN0YXRpYyB2b2lkIGNhcHRpdmVQb3J0YWxNb2RlQ29uZmlnVXBk
YXRlQ2FsbGJhY2soQ0ZOb3RpZmljYXRpb25DZW50ZXJSZWYsIHZvaWQqIG9ic2VydmVyLCBDRlN0
cmluZ1JlZiBuYW1lLCBjb25zdCB2b2lkKiBwb3N0aW5nT2JqZWN0LCBDRkRpY3Rpb25hcnlSZWYg
dXNlckluZm8pOworI2VuZGlmCisgICAgCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgc3RhdGlj
IHZvaWQgYWNjZXNzaWJpbGl0eVByZWZlcmVuY2VzQ2hhbmdlZENhbGxiYWNrKENGTm90aWZpY2F0
aW9uQ2VudGVyUmVmLCB2b2lkKiBvYnNlcnZlciwgQ0ZTdHJpbmdSZWYgbmFtZSwgY29uc3Qgdm9p
ZCogcG9zdGluZ09iamVjdCwgQ0ZEaWN0aW9uYXJ5UmVmIHVzZXJJbmZvKTsKICNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL0Rpc3BsYXlDYXB0dXJlU2Vzc2lv
bk1hbmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9EaXNwbGF5Q2FwdHVyZVNl
c3Npb25NYW5hZ2VyLmgKaW5kZXggNjBkOTNiM2M2YTEyOGZiNmQxOGIzNWU5YTk3NjZmN2U5YWUz
MDEwZS4uOGUwNGI3NjM4ODMzMzAyYjIxM2ExYzQxYTRhM2JhMzZhNDM1Yjk2NCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL0Rpc3BsYXlDYXB0dXJlU2Vzc2lvbk1hbmFn
ZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvRGlzcGxheUNhcHR1cmVTZXNz
aW9uTWFuYWdlci5oCkBAIC0yOCw2ICsyOCw3IEBACiAjaWYgUExBVEZPUk0oQ09DT0EpICYmIEVO
QUJMRShNRURJQV9TVFJFQU0pCiAKICNpbmNsdWRlICJVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVz
dFByb3h5LmgiCisjaW5jbHVkZSAiV2ViUGFnZVByb3h5LmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9T
ZWN1cml0eU9yaWdpbkRhdGEuaD4KICNpbmNsdWRlIDx3dGYvQ29tcGxldGlvbkhhbmRsZXIuaD4K
ICNpbmNsdWRlIDx3dGYvV2Vha1B0ci5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvbWFjL0Rpc3BsYXlDYXB0dXJlU2Vzc2lvbk1hbmFnZXIubW0gYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9tYWMvRGlzcGxheUNhcHR1cmVTZXNzaW9uTWFuYWdlci5tbQppbmRleCA3OTlm
NmYxM2EyNDI5ZjBkNzk2NjI3MjE4MGNjNjRjMzA2YTIzMmVjLi44OTNlZTIwNTM0Y2Q0NjY2ZGY4
MGEwYjEwMWY5YWE4NWQyMjdhZGZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9tYWMvRGlzcGxheUNhcHR1cmVTZXNzaW9uTWFuYWdlci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9tYWMvRGlzcGxheUNhcHR1cmVTZXNzaW9uTWFuYWdlci5tbQpAQCAtMjU0LDcg
KzI1NCw3IEBAIERpc3BsYXlDYXB0dXJlU2Vzc2lvbk1hbmFnZXI6On5EaXNwbGF5Q2FwdHVyZVNl
c3Npb25NYW5hZ2VyKCkKIHsKIH0KIAotdm9pZCBEaXNwbGF5Q2FwdHVyZVNlc3Npb25NYW5hZ2Vy
Ojpwcm9tcHRGb3JHZXREaXNwbGF5TWVkaWEoVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RQcm94
eTo6VXNlck1lZGlhRGlzcGxheUNhcHR1cmVQcm9tcHRUeXBlIHByb21wdFR5cGUsIFdlYlBhZ2VQ
cm94eSYgcGFnZSwgY29uc3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhJiBvcmlnaW4sIENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoc3RkOjpvcHRpb25hbDxDYXB0dXJlRGV2aWNlPik+JiYgY29t
cGxldGlvbkhhbmRsZXIpCit2b2lkIERpc3BsYXlDYXB0dXJlU2Vzc2lvbk1hbmFnZXI6OnByb21w
dEZvckdldERpc3BsYXlNZWRpYShVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdFByb3h5OjpVc2Vy
TWVkaWFEaXNwbGF5Q2FwdHVyZVByb21wdFR5cGUgcHJvbXB0VHlwZSwgV2ViUGFnZVByb3h5JiBw
YWdlLCBjb25zdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEmIG9yaWdpbiwgQ29tcGxldGlv
bkhhbmRsZXI8dm9pZChzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkNhcHR1cmVEZXZpY2U+KT4mJiBj
b21wbGV0aW9uSGFuZGxlcikKIHsKICAgICBBU1NFUlQoaXNBdmFpbGFibGUoKSk7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9T
b3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDU5NDAy
M2I2ZGY2MjcxMTBhZGY1MTlkNDQzZjVhYjViOGFmZTY0NjQuLjdjYWM2MTQyMmM3ZDhkOTJhMDIz
YzQxNjZhZTkyM2QzMmVmMzhjMDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTQwOSw2ICsxNDA5LDggQEAKIAkJODNGMUEwN0ExRjk2
RTc3OTAwNDVCOTRFIC8qIFdlYlNXT3JpZ2luVGFibGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDgzRjFBMDc4MUY5NkU3NzEwMDQ1Qjk0RSAvKiBXZWJT
V09yaWdpblRhYmxlLmggKi87IH07CiAJCTgzRjk2NDRFMUZBMEY3NkUwMEM0Nzc1MCAvKiBTaGFy
ZWRTdHJpbmdIYXNoVGFibGVSZWFkT25seS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gODNGOTY0NEMxRkEwRjc2MzAwQzQ3NzUwIC8qIFNoYXJlZFN0cmlu
Z0hhc2hUYWJsZVJlYWRPbmx5LmggKi87IH07CiAJCTg0NDc3ODUzMTc2RkNDMDgwMENEQzdCQiAv
KiBJbmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGUuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg0NDc3ODUxMTc2RkNBQzEwMENEQzdCQiAv
KiBJbmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGUuaCAqLzsgfTsKKwkJODY0NDg5
MEIyN0I0NzAyMDAwN0ExQzY2IC8qIF9XS1N5c3RlbVByZWZlcmVuY2VzLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NjQ0ODkwQTI3QjQ3MDIwMDA3QTFD
NjYgLyogX1dLU3lzdGVtUHJlZmVyZW5jZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OworCQk4NjQ0ODkwRjI3QjVDQjQzMDA3QTFDNjYgLyogX1dLU3lz
dGVtUHJlZmVyZW5jZXNJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gODY0NDg5MEUyN0I1Q0I0MzAwN0ExQzY2IC8qIF9XS1N5c3RlbVByZWZl
cmVuY2VzSW50ZXJuYWwuaCAqLzsgfTsKIAkJODZFNjdBMjUxOTEwQjlEMTAwMDA0QUI3IC8qIFBy
b2Nlc3NUaHJvdHRsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDg2RTY3QTIxMTkwRjQxMTgwMDAwNEFCNyAvKiBQcm9jZXNzVGhyb3R0bGVyLmggKi87
IH07CiAJCTg2Rjk1MzY1MThGRjU4RjUwMDFEQjJFRiAvKiBQcm9jZXNzQXNzZXJ0aW9uLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NkY5NTM2MDE4RkY0
RkQ0MDAxREIyRUYgLyogUHJvY2Vzc0Fzc2VydGlvbi5oICovOyB9OwogCQk4REMyRUY1MzA0ODZB
Njk0MDA5OEIyMTYgLyogSW5mb1BsaXN0LnN0cmluZ3MgaW4gUmVzb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4OUMxNjY2RkU4NDExNThDMDJBQUMwNyAvKiBJbmZv
UGxpc3Quc3RyaW5ncyAqLzsgfTsKQEAgLTUyODQsNiArNTI4Niw5IEBACiAJCTgzRjk2NDRCMUZB
MEY3NjIwMEM0Nzc1MCAvKiBTaGFyZWRTdHJpbmdIYXNoVGFibGVSZWFkT25seS5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTaGFyZWRTdHJpbmdIYXNoVGFibGVSZWFk
T25seS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTgzRjk2NDRDMUZBMEY3NjMw
MEM0Nzc1MCAvKiBTaGFyZWRTdHJpbmdIYXNoVGFibGVSZWFkT25seS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBTaGFyZWRTdHJpbmdIYXNoVGFibGVSZWFkT25seS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NDQ3Nzg1MTE3NkZDQUMxMDBDREM3QkIgLyogSW5q
ZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0TWVkaWFUeXBlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEluamVjdGVkQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlwZS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NjQ0ODkwQTI3QjQ3MDIwMDA3QTFDNjYgLyogX1dL
U3lzdGVtUHJlZmVyZW5jZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gX1dL
U3lzdGVtUHJlZmVyZW5jZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODY0NDg5
MEMyN0I0NzA0NTAwN0ExQzY2IC8qIF9XS1N5c3RlbVByZWZlcmVuY2VzLm1tICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2Jq
Y3BwOyBwYXRoID0gX1dLU3lzdGVtUHJlZmVyZW5jZXMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTg2NDQ4OTBFMjdCNUNCNDMwMDdBMUM2NiAvKiBfV0tTeXN0ZW1QcmVmZXJlbmNl
c0ludGVybmFsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IF9XS1N5c3RlbVBy
ZWZlcmVuY2VzSW50ZXJuYWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODY4MTYw
Q0QxODc2M0Q0QjAwMjFFNzlEIC8qIFdpbmRvd1NlcnZlckNvbm5lY3Rpb24uaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gV2luZG93U2VydmVyQ29ubmVjdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk4NjgxNjBDRjE4NzY0NTM3MDAyMUU3OUQgLyogV2luZG93U2VydmVyQ29ubmVjdGlvbi5t
bSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdpbmRvd1NlcnZlckNvbm5lY3Rpb24ubW07IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg2RTY3QTIxMTkwRjQxMTgwMDAwNEFCNyAvKiBQcm9j
ZXNzVGhyb3R0bGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFByb2Nlc3NU
aHJvdHRsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTg4ODAsNiArODg4NSw5
IEBACiAJCQkJMUEwMDJEM0YxOTZCMzI5NDAwQjlBRDQ0IC8qIF9XS1Nlc3Npb25TdGF0ZS5oICov
LAogCQkJCTFBMDAyRDNFMTk2QjMyOTQwMEI5QUQ0NCAvKiBfV0tTZXNzaW9uU3RhdGUubW0gKi8s
CiAJCQkJMUEwMDJENDIxOTZCMzM3MDAwQjlBRDQ0IC8qIF9XS1Nlc3Npb25TdGF0ZUludGVybmFs
LmggKi8sCisJCQkJODY0NDg5MEEyN0I0NzAyMDAwN0ExQzY2IC8qIF9XS1N5c3RlbVByZWZlcmVu
Y2VzLmggKi8sCisJCQkJODY0NDg5MEMyN0I0NzA0NTAwN0ExQzY2IC8qIF9XS1N5c3RlbVByZWZl
cmVuY2VzLm1tICovLAorCQkJCTg2NDQ4OTBFMjdCNUNCNDMwMDdBMUM2NiAvKiBfV0tTeXN0ZW1Q
cmVmZXJlbmNlc0ludGVybmFsLmggKi8sCiAJCQkJRjREOTg1QzcyNjkwRkJFRjAwQkJDQ0JFIC8q
IF9XS1RhcEhhbmRsaW5nUmVzdWx0LmggKi8sCiAJCQkJMkRFOUIxMzgyMjMxRjYxQzAwNTI4N0I3
IC8qIF9XS1RleHRJbnB1dENvbnRleHQuaCAqLywKIAkJCQkyREU5QjEzNzIyMzFGNjFDMDA1Mjg3
QjcgLyogX1dLVGV4dElucHV0Q29udGV4dC5tbSAqLywKQEAgLTEyODc3LDYgKzEyODg1LDggQEAK
IAkJCQkzNzYzMTFGRTFBM0ZCNjAwMDA1QTJFNTEgLyogX1dLU2FtZURvY3VtZW50TmF2aWdhdGlv
blR5cGVJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUEwMDJENDQxOTZCMzM4OTAwQjlB
RDQ0IC8qIF9XS1Nlc3Npb25TdGF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUEwMDJENDMxOTZC
MzM3MDAwQjlBRDQ0IC8qIF9XS1Nlc3Npb25TdGF0ZUludGVybmFsLmggaW4gSGVhZGVycyAqLywK
KwkJCQk4NjQ0ODkwQjI3QjQ3MDIwMDA3QTFDNjYgLyogX1dLU3lzdGVtUHJlZmVyZW5jZXMuaCBp
biBIZWFkZXJzICovLAorCQkJCTg2NDQ4OTBGMjdCNUNCNDMwMDdBMUM2NiAvKiBfV0tTeXN0ZW1Q
cmVmZXJlbmNlc0ludGVybmFsLmggaW4gSGVhZGVycyAqLywKIAkJCQlGNEQ5ODVDODI2OTBGQzEy
MDBCQkNDQkUgLyogX1dLVGFwSGFuZGxpbmdSZXN1bHQuaCBpbiBIZWFkZXJzICovLAogCQkJCTJE
RTlCMTNBMjIzMUY2MUMwMDUyODdCNyAvKiBfV0tUZXh0SW5wdXRDb250ZXh0LmggaW4gSGVhZGVy
cyAqLywKIAkJCQkyREU5QjEzQzIyMzFGNzdDMDA1Mjg3QjcgLyogX1dLVGV4dElucHV0Q29udGV4
dEludGVybmFsLmggaW4gSGVhZGVycyAqLywK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>451617</attachid>
            <date>2022-02-10 16:43:07 -0800</date>
            <delta_ts>2022-02-10 16:55:09 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-236135-20220210164305.patch</filename>
            <type>text/plain</type>
            <size>25741</size>
            <attacher name="Gavin">gavin.p</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg5NTU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGYyNmUwMDhhNWQ4ODJkYTkw
MDUyMDg4OTQ4Y2U3ZGZjZTY1NWRlMmUuLmUzODI4OGRmNTI0NzEzNDNmM2VkMDFkYzA4OThkMzkx
MzkyYzg0MjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzUgQEAKKzIwMjItMDItMTAgIEdhdmluIFBo
aWxsaXBzICA8Z2F2aW4ucEBhcHBsZS5jb20+CisKKyAgICAgICAgVXBkYXRlIHByZWZlcmVuY2Ug
bG9jYXRpb24gdXNlZCBmb3IgQ2FwdGl2ZVBvcnRhbE1vZGUuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzYxMzUKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzg4NDg2NTQ0PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogUGxhdGZvcm1NYWMuY21ha2U6CisgICAgICAgICogU291cmNlc0NvY29hLnR4dDoK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS1N5c3RlbVByZWZlcmVuY2VzLmg6IEFk
ZGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLU3lzdGVtUHJlZmVyZW5jZXMu
bW06IEFkZGVkLgorICAgICAgICAoK1tfV0tTeXN0ZW1QcmVmZXJlbmNlcyBpc0NhcHRpdmVQb3J0
YWxNb2RlRW5hYmxlZEdsb2JhbGx5XSk6CisgICAgICAgICgrW19XS1N5c3RlbVByZWZlcmVuY2Vz
IHNldENhcHRpdmVQb3J0YWxNb2RlRW5hYmxlZEdsb2JhbGx5Ol0pOgorICAgICAgICAoK1tfV0tT
eXN0ZW1QcmVmZXJlbmNlcyBpc0NhcHRpdmVQb3J0YWxNb2RlSWdub3JlZEZvckNvbnRhaW5lcjpd
KToKKyAgICAgICAgKCtbX1dLU3lzdGVtUHJlZmVyZW5jZXMgc2V0Q2FwdGl2ZVBvcnRhbE1vZGVJ
Z25vcmVkRm9yQ29udGFpbmVyOmlnbm9yZTpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0Nv
Y29hL19XS1N5c3RlbVByZWZlcmVuY2VzSW50ZXJuYWwuaDogQWRkZWQuCisgICAgICAgICogVUlQ
cm9jZXNzL0NvY29hL1ByZWZlcmVuY2VPYnNlcnZlci5tbToKKyAgICAgICAgKC1bV0tVc2VyRGVm
YXVsdHMgZmluZFByZWZlcmVuY2VDaGFuZ2VzQW5kTm90aWZ5Rm9yS2V5czp0b1ZhbHVlc0Zvcktl
eXM6XSk6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNvY29hLm1tOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6Y2FwdGl2ZVBvcnRhbE1vZGVDb25maWdVcGRhdGVD
YWxsYmFjayk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpyZWdpc3Rlck5vdGlm
aWNhdGlvbk9ic2VydmVycyk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjp1bnJl
Z2lzdGVyTm90aWZpY2F0aW9uT2JzZXJ2ZXJzKToKKyAgICAgICAgKFdlYktpdDo6aXNDYXB0aXZl
UG9ydGFsTW9kZUVuYWJsZWRCeVN5c3RlbUlnbm9yaW5nQ2FjaGluZyk6CisgICAgICAgIChXZWJL
aXQ6OldlYlByb2Nlc3NQb29sOjpub3RpZnlQcmVmZXJlbmNlc0NoYW5nZWQpOgorICAgICAgICAq
IFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvRGlz
cGxheUNhcHR1cmVTZXNzaW9uTWFuYWdlci5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvRGlz
cGxheUNhcHR1cmVTZXNzaW9uTWFuYWdlci5tbToKKyAgICAgICAgKFdlYktpdDo6RGlzcGxheUNh
cHR1cmVTZXNzaW9uTWFuYWdlcjo6cHJvbXB0Rm9yR2V0RGlzcGxheU1lZGlhKToKKyAgICAgICAg
KiBXZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKwogMjAyMi0wMi0xMCAgV2Vuc29u
IEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBTdXBwb3J0IGBXZWJQ
YWdlUHJveHk6OnJlcGxhY2VTZWxlY3Rpb25XaXRoUGFzdGVib2FyZERhdGEoKWAgb24gaU9TCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtTWFjLmNtYWtlIGIvU291cmNlL1dlYktp
dC9QbGF0Zm9ybU1hYy5jbWFrZQppbmRleCBlMjk2NmQ1MTNiYjU4MzlkZjEyYjMyMmFmMmVlYjA1
NGViNGQ2NjU1Li4xMDBkZjgwYjI3Y2E3ODAxMGIyZjFkZDgwNzM2MTc0NDBkNTI2YTc0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtTWFjLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJL
aXQvUGxhdGZvcm1NYWMuY21ha2UKQEAgLTQ2MCw2ICs0NjAsNyBAQCBsaXN0KEFQUEVORCBXZWJL
aXRfUFVCTElDX0ZSQU1FV09SS19IRUFERVJTCiAgICAgVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzRmlyc3RQYXJ0eS5oCiAgICAgVUlQcm9jZXNzL0FQSS9Db2Nv
YS9fV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzVGhpcmRQYXJ0eS5oCiAgICAgVUlQcm9jZXNzL0FQ
SS9Db2NvYS9fV0tTZXNzaW9uU3RhdGUuaAorICAgIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLU3lz
dGVtUHJlZmVyZW5jZXMuaAogICAgIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLVGFwSGFuZGxpbmdS
ZXN1bHQuaAogICAgIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLVGV4dElucHV0Q29udGV4dC5oCiAg
ICAgVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tUZXh0TWFuaXB1bGF0aW9uQ29uZmlndXJhdGlvbi5o
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQgYi9Tb3VyY2UvV2Vi
S2l0L1NvdXJjZXNDb2NvYS50eHQKaW5kZXggOTg5NzRmYTA4YjU5ZDQ3N2MyMzFmYjVkM2ZhMjcx
YTA5YjJkNWQwMS4uMzA4NGMxZTgwODViZDg0OTg5NmFjYWEyOWYxOWE0NDYwOTFhMmY0NyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CisrKyBiL1NvdXJjZS9XZWJL
aXQvU291cmNlc0NvY29hLnR4dApAQCAtMjk1LDYgKzI5NSw3IEBAIFVJUHJvY2Vzcy9BUEkvQ29j
b2EvX1dLUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLm1tCiBVSVByb2Nlc3MvQVBJL0NvY29hL19X
S1JlbW90ZVdlYkluc3BlY3RvclZpZXdDb250cm9sbGVyLm1tCiBVSVByb2Nlc3MvQVBJL0NvY29h
L19XS1Jlc291cmNlTG9hZEluZm8ubW0KIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLU2Vzc2lvblN0
YXRlLm1tCitVSVByb2Nlc3MvQVBJL0NvY29hL19XS1N5c3RlbVByZWZlcmVuY2VzLm1tCiBVSVBy
b2Nlc3MvQVBJL0NvY29hL19XS1RleHRJbnB1dENvbnRleHQubW0KIFVJUHJvY2Vzcy9BUEkvQ29j
b2EvX1dLVGV4dE1hbmlwdWxhdGlvbkNvbmZpZ3VyYXRpb24ubW0KIFVJUHJvY2Vzcy9BUEkvQ29j
b2EvX1dLVGV4dE1hbmlwdWxhdGlvbkV4Y2x1c2lvblJ1bGUubW0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tTeXN0ZW1QcmVmZXJlbmNlcy5oIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1N5c3RlbVByZWZlcmVuY2VzLmgKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNzUyNjFjZDljMjMzYTY5YmU3ZjU3Yzk1ZDg5YWI1NDI3MjU5ZmUwOAotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tTeXN0ZW1Q
cmVmZXJlbmNlcy5oCkBAIC0wLDAgKzEsMzcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjIg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0IDxGb3Vu
ZGF0aW9uL0ZvdW5kYXRpb24uaD4KKyNpbXBvcnQgPFdlYktpdC9XS0ZvdW5kYXRpb24uaD4KKwor
V0tfQ0xBU1NfQVZBSUxBQkxFKG1hY29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpCitA
aW50ZXJmYWNlIF9XS1N5c3RlbVByZWZlcmVuY2VzIDogTlNPYmplY3QKKworKyAoQk9PTClpc0Nh
cHRpdmVQb3J0YWxNb2RlRW5hYmxlZEdsb2JhbGx5OworKyAodm9pZClzZXRDYXB0aXZlUG9ydGFs
TW9kZUVuYWJsZWRHbG9iYWxseTooQk9PTCllbmFibGVkOworKyAoQk9PTClpc0NhcHRpdmVQb3J0
YWxNb2RlSWdub3JlZEZvckNvbnRhaW5lcjooTlNTdHJpbmcgKiljb250YWluZXJQYXRoOworKyAo
dm9pZClzZXRDYXB0aXZlUG9ydGFsTW9kZUlnbm9yZWRGb3JDb250YWluZXI6KE5TU3RyaW5nICop
Y29udGFpbmVyUGF0aCBpZ25vcmU6KEJPT0wpaWdub3JlOworCitAZW5kCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLU3lzdGVtUHJlZmVyZW5jZXMubW0g
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLU3lzdGVtUHJlZmVyZW5jZXMu
bW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZGIxNjFmODk5ZmQ4MGY1NThjZDNjMTY3ZjZjNzc0ZWMzZWJlMDJjZgot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tT
eXN0ZW1QcmVmZXJlbmNlcy5tbQpAQCAtMCwwICsxLDc1IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDIyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9y
dCAiY29uZmlnLmgiCisjaW1wb3J0ICJfV0tTeXN0ZW1QcmVmZXJlbmNlc0ludGVybmFsLmgiCisK
KyNpbXBvcnQgPHd0Zi9Bc3NlcnRpb25zLmg+CisjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CisK
K2NvbnN0ZXhwciBhdXRvIENhcHRpdmVQb3J0YWxDb25maWd1cmF0aW9uSWdub3JlRmlsZU5hbWUg
PSBAImNvbS5hcHBsZS5XZWJLaXQuY3BtY29uZmlnX2lnbm9yZSI7CisKK0BpbXBsZW1lbnRhdGlv
biBfV0tTeXN0ZW1QcmVmZXJlbmNlcworCisrIChCT09MKWlzQ2FwdGl2ZVBvcnRhbE1vZGVFbmFi
bGVkR2xvYmFsbHkKK3sKKyAgICBhdXRvIGNoYW5nZWROb3RpZmljYXRpb25LZXkgPSBhZG9wdENG
KENGU3RyaW5nQ3JlYXRlV2l0aENTdHJpbmcoa0NGQWxsb2NhdG9yRGVmYXVsdCwgV0tDYXB0aXZl
UG9ydGFsTW9kZUdsb2JhbGx5RW5hYmxlZEtleSwga0NGU3RyaW5nRW5jb2RpbmdVVEY4KSk7Cisg
ICAgYXV0byBwcmVmZXJlbmNlVmFsdWUgPSBhZG9wdENGKENGUHJlZmVyZW5jZXNDb3B5VmFsdWUo
Y2hhbmdlZE5vdGlmaWNhdGlvbktleS5nZXQoKSwga0NGUHJlZmVyZW5jZXNBbnlBcHBsaWNhdGlv
biwga0NGUHJlZmVyZW5jZXNBbnlVc2VyLCBrQ0ZQcmVmZXJlbmNlc0N1cnJlbnRIb3N0KSk7Cisg
ICAgcmV0dXJuIHByZWZlcmVuY2VWYWx1ZS5nZXQoKSA9PSBrQ0ZCb29sZWFuVHJ1ZTsKK30KKwor
KyAodm9pZClzZXRDYXB0aXZlUG9ydGFsTW9kZUVuYWJsZWRHbG9iYWxseTooQk9PTCllbmFibGVk
Cit7CisgICAgYXV0byBjaGFuZ2VkTm90aWZpY2F0aW9uS2V5ID0gYWRvcHRDRihDRlN0cmluZ0Ny
ZWF0ZVdpdGhDU3RyaW5nKGtDRkFsbG9jYXRvckRlZmF1bHQsIFdLQ2FwdGl2ZVBvcnRhbE1vZGVH
bG9iYWxseUVuYWJsZWRLZXksIGtDRlN0cmluZ0VuY29kaW5nVVRGOCkpOworICAgIENGUHJlZmVy
ZW5jZXNTZXRWYWx1ZShjaGFuZ2VkTm90aWZpY2F0aW9uS2V5LmdldCgpLCBlbmFibGVkID8ga0NG
Qm9vbGVhblRydWUgOiBrQ0ZCb29sZWFuRmFsc2UsIGtDRlByZWZlcmVuY2VzQW55QXBwbGljYXRp
b24sIGtDRlByZWZlcmVuY2VzQW55VXNlciwga0NGUHJlZmVyZW5jZXNDdXJyZW50SG9zdCk7Cisg
ICAgQ0ZQcmVmZXJlbmNlc1N5bmNocm9uaXplKGtDRlByZWZlcmVuY2VzQW55QXBwbGljYXRpb24s
IGtDRlByZWZlcmVuY2VzQW55VXNlciwga0NGUHJlZmVyZW5jZXNBbnlIb3N0KTsKK30KKworKyAo
Qk9PTClpc0NhcHRpdmVQb3J0YWxNb2RlSWdub3JlZEZvckNvbnRhaW5lcjooTlNTdHJpbmcgKilj
b250YWluZXJQYXRoCit7CisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyAgICBOU1N0cmluZyAq
Y3BtY29uZmlnSWdub3JlRmlsZVBhdGggPSBbTlNTdHJpbmcgcGF0aFdpdGhDb21wb25lbnRzOkBb
Y29udGFpbmVyUGF0aCwgQCJMaWJyYXJ5L1ByZWZlcmVuY2VzLyIsIENhcHRpdmVQb3J0YWxDb25m
aWd1cmF0aW9uSWdub3JlRmlsZU5hbWVdXTsKKyAgICByZXR1cm4gW1tOU0ZpbGVNYW5hZ2VyIGRl
ZmF1bHRNYW5hZ2VyXSBmaWxlRXhpc3RzQXRQYXRoOmNwbWNvbmZpZ0lnbm9yZUZpbGVQYXRoXTsK
KyNlbmRpZgorICAgIHJldHVybiBmYWxzZTsKK30KKworKyAodm9pZClzZXRDYXB0aXZlUG9ydGFs
TW9kZUlnbm9yZWRGb3JDb250YWluZXI6KE5TU3RyaW5nICopY29udGFpbmVyUGF0aCBpZ25vcmU6
KEJPT0wpaWdub3JlCit7CisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyAgICBOU1N0cmluZyAq
Y3BtY29uZmlnSWdub3JlRmlsZVBhdGggPSBbTlNTdHJpbmcgcGF0aFdpdGhDb21wb25lbnRzOkBb
Y29udGFpbmVyUGF0aCwgQCJMaWJyYXJ5L1ByZWZlcmVuY2VzLyIsIENhcHRpdmVQb3J0YWxDb25m
aWd1cmF0aW9uSWdub3JlRmlsZU5hbWVdXTsKKyAgICBpZiAoW1tOU0ZpbGVNYW5hZ2VyIGRlZmF1
bHRNYW5hZ2VyXSBmaWxlRXhpc3RzQXRQYXRoOmNwbWNvbmZpZ0lnbm9yZUZpbGVQYXRoXSA9PSBp
Z25vcmUpCisgICAgICAgIHJldHVybjsKKyAgICAKKyAgICBpZiAoaWdub3JlKQorICAgICAgICBb
W05TRmlsZU1hbmFnZXIgZGVmYXVsdE1hbmFnZXJdIGNyZWF0ZUZpbGVBdFBhdGg6Y3BtY29uZmln
SWdub3JlRmlsZVBhdGggY29udGVudHM6TlVMTCBhdHRyaWJ1dGVzOk5VTExdOworICAgIGVsc2UK
KyAgICAgICAgW1tOU0ZpbGVNYW5hZ2VyIGRlZmF1bHRNYW5hZ2VyXSByZW1vdmVJdGVtQXRQYXRo
OmNwbWNvbmZpZ0lnbm9yZUZpbGVQYXRoIGVycm9yOk5VTExdOworCisgICAgQ0ZOb3RpZmljYXRp
b25DZW50ZXJQb3N0Tm90aWZpY2F0aW9uKENGTm90aWZpY2F0aW9uQ2VudGVyR2V0RGFyd2luTm90
aWZ5Q2VudGVyKCksIChfX2JyaWRnZSBDRlN0cmluZ1JlZilXS0NhcHRpdmVQb3J0YWxNb2RlQ29u
dGFpbmVyQ29uZmlndXJhdGlvbkNoYW5nZWROb3RpZmljYXRpb24sIG51bGxwdHIsIG51bGxwdHIs
IHRydWUpOworI2VuZGlmCit9CisKK0BlbmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9fV0tTeXN0ZW1QcmVmZXJlbmNlc0ludGVybmFsLmggYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLU3lzdGVtUHJlZmVyZW5jZXNJbnRlcm5hbC5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjRlMjJjZDBhMTVmZmJiYmM4NzVmZDRjNzM5NDgzYzEzNjQyYmU4MjAKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLU3lz
dGVtUHJlZmVyZW5jZXNJbnRlcm5hbC5oCkBAIC0wLDAgKzEsMjkgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMjIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aW1wb3J0ICJfV0tTeXN0ZW1QcmVmZXJlbmNlcy5oIgorCitjb25zdGV4cHIgYXV0byBXS0NhcHRp
dmVQb3J0YWxNb2RlR2xvYmFsbHlFbmFibGVkS2V5ID0gIldLQ2FwdGl2ZVBvcnRhbE1vZGVHbG9i
YWxseUVuYWJsZWQiOworY29uc3RleHByIGF1dG8gV0tDYXB0aXZlUG9ydGFsTW9kZUNvbnRhaW5l
ckNvbmZpZ3VyYXRpb25DaGFuZ2VkTm90aWZpY2F0aW9uID0gQCJXS0NhcHRpdmVQb3J0YWxNb2Rl
Q29udGFpbmVyQ29uZmlndXJhdGlvbkNoYW5nZWQiOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQ29jb2EvUHJlZmVyZW5jZU9ic2VydmVyLm1tIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQ29jb2EvUHJlZmVyZW5jZU9ic2VydmVyLm1tCmluZGV4IDM0YmZhNzkyNWQ1ZDQ0
ZTBlOWU4MTIwMjQ3OWU3NzU4MTVlYWM2YmMuLjBhNjFjNzUxNDE2YTE0YzliMDcxMDM4ZTk5OTEz
NWFhYTdmOGY5MzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1By
ZWZlcmVuY2VPYnNlcnZlci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9Q
cmVmZXJlbmNlT2JzZXJ2ZXIubW0KQEAgLTcxLDYgKzcxLDcgQEAKICAgICAgICAgICAgIGVuY29k
ZWRTdHJpbmcgPSBbZGF0YSBiYXNlNjRFbmNvZGVkU3RyaW5nV2l0aE9wdGlvbnM6MF07CiAgICAg
ICAgIH0KIAorICAgICAgICBhdXRvIHN5c3RlbVZhbHVlID0gYWRvcHRDRihDRlByZWZlcmVuY2Vz
Q29weVZhbHVlKChfX2JyaWRnZSBDRlN0cmluZ1JlZilrZXksIGtDRlByZWZlcmVuY2VzQW55QXBw
bGljYXRpb24sIGtDRlByZWZlcmVuY2VzQW55VXNlciwga0NGUHJlZmVyZW5jZXNBbnlIb3N0KSk7
CiAgICAgICAgIGF1dG8gZ2xvYmFsVmFsdWUgPSBhZG9wdENGKENGUHJlZmVyZW5jZXNDb3B5VmFs
dWUoKF9fYnJpZGdlIENGU3RyaW5nUmVmKWtleSwga0NGUHJlZmVyZW5jZXNBbnlBcHBsaWNhdGlv
biwga0NGUHJlZmVyZW5jZXNDdXJyZW50VXNlciwga0NGUHJlZmVyZW5jZXNBbnlIb3N0KSk7CiAg
ICAgICAgIGF1dG8gZG9tYWluVmFsdWUgPSBhZG9wdENGKENGUHJlZmVyZW5jZXNDb3B5VmFsdWUo
KF9fYnJpZGdlIENGU3RyaW5nUmVmKWtleSwgKF9fYnJpZGdlIENGU3RyaW5nUmVmKW1fc3VpdGVO
YW1lLmdldCgpLCBrQ0ZQcmVmZXJlbmNlc0N1cnJlbnRVc2VyLCBrQ0ZQcmVmZXJlbmNlc0FueUhv
c3QpKTsKIApAQCAtNzgsNyArNzksNyBAQAogICAgICAgICAgICAgcmV0dXJuIGEgPT0gYiB8fCBb
YSBpc0VxdWFsOmJdOwogICAgICAgICB9OwogCi0gICAgICAgIGlmIChwcmVmZXJlbmNlVmFsdWVz
QXJlRXF1YWwoKF9fYnJpZGdlIGlkKWdsb2JhbFZhbHVlLmdldCgpLCBuZXdWYWx1ZSkpCisgICAg
ICAgIGlmIChwcmVmZXJlbmNlVmFsdWVzQXJlRXF1YWwoKF9fYnJpZGdlIGlkKXN5c3RlbVZhbHVl
LmdldCgpLCBuZXdWYWx1ZSkgfHwgcHJlZmVyZW5jZVZhbHVlc0FyZUVxdWFsKChfX2JyaWRnZSBp
ZClnbG9iYWxWYWx1ZS5nZXQoKSwgbmV3VmFsdWUpKQogICAgICAgICAgICAgW21fb2JzZXJ2ZXIg
cHJlZmVyZW5jZURpZENoYW5nZTpuaWwga2V5OmtleSBlbmNvZGVkVmFsdWU6ZW5jb2RlZFN0cmlu
Z107CiAKICAgICAgICAgaWYgKHByZWZlcmVuY2VWYWx1ZXNBcmVFcXVhbCgoX19icmlkZ2UgaWQp
ZG9tYWluVmFsdWUuZ2V0KCksIG5ld1ZhbHVlKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNvY29hLm1tIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW0KaW5kZXggMDI2MzZiNTE4OGUzYWM2MmZk
NWMyNmUzMWIzNjViYTcyYzIwM2FmMi4uM2M0NzNhNThlZWZkZWU3MDlmYmE1MjUxMmQzZmQ4ODA3
NzBmYjc5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFn
ZVByb3h5Q29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFn
ZVByb3h5Q29jb2EubW0KQEAgLTM3LDEyICszNywxNCBAQAogI2ltcG9ydCAiTG9hZFBhcmFtZXRl
cnMuaCIKICNpbXBvcnQgIk1vZGFsQ29udGFpbmVyQ29udHJvbENsYXNzaWZpZXIuaCIKICNpbXBv
cnQgIlBhZ2VDbGllbnQuaCIKKyNpbXBvcnQgIlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eS5o
IgogI2ltcG9ydCAiUXVhcmFudGluZVNQSS5oIgogI2ltcG9ydCAiUXVpY2tMb29rVGh1bWJuYWls
TG9hZGVyLmgiCiAjaW1wb3J0ICJTYWZlQnJvd3NpbmdTUEkuaCIKICNpbXBvcnQgIlNhZmVCcm93
c2luZ1dhcm5pbmcuaCIKICNpbXBvcnQgIlNoYXJlZEJ1ZmZlckNvcHkuaCIKICNpbXBvcnQgIlN5
bmFwc2VTUEkuaCIKKyNpbXBvcnQgIlZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eS5oIgogI2lt
cG9ydCAiV2ViQ29udGV4dE1lbnVQcm94eS5oIgogI2ltcG9ydCAiV2ViUGFnZS5oIgogI2ltcG9y
dCAiV2ViUGFnZU1lc3NhZ2VzLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
Q29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQppbmRleCBjNzg2NTY5MTRhNjY0MGVkMmYyYzk5
M2ZiNmFmZmEzZDBjYmQ2ZDBkLi42M2Q1NTAxZTllMTI4MGYyMzQ4MGUzYTY4YjEwYjc3MDBhZmMz
MzhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNz
UG9vbENvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nl
c3NQb29sQ29jb2EubW0KQEAgLTUyLDYgKzUyLDcgQEAKICNpbXBvcnQgIldlYlByb2Nlc3NDcmVh
dGlvblBhcmFtZXRlcnMuaCIKICNpbXBvcnQgIldlYlByb2Nlc3NNZXNzYWdlcy5oIgogI2ltcG9y
dCAiV2luZG93U2VydmVyQ29ubmVjdGlvbi5oIgorI2ltcG9ydCAiX1dLU3lzdGVtUHJlZmVyZW5j
ZXNJbnRlcm5hbC5oIgogI2ltcG9ydCA8V2ViQ29yZS9BR1hDb21waWxlclNlcnZpY2UuaD4KICNp
bXBvcnQgPFdlYkNvcmUvQ29sb3IuaD4KICNpbXBvcnQgPFdlYkNvcmUvTG9jYWxpemVkRGV2aWNl
TW9kZWwuaD4KQEAgLTcwLDYgKzcxLDcgQEAKICNpbXBvcnQgPHd0Zi9GaWxlU3lzdGVtLmg+CiAj
aW1wb3J0IDx3dGYvUHJvY2Vzc1ByaXZpbGVnZS5oPgogI2ltcG9ydCA8d3RmL1NvZnRMaW5raW5n
Lmg+CisjaW1wb3J0IDx3dGYvY2YvVHlwZUNhc3RzQ0YuaD4KICNpbXBvcnQgPHd0Zi9jb2NvYS9F
bnRpdGxlbWVudHMuaD4KICNpbXBvcnQgPHd0Zi9jb2NvYS9SdW50aW1lQXBwbGljYXRpb25DaGVj
a3NDb2NvYS5oPgogI2ltcG9ydCA8d3RmL2NvY29hL1R5cGVDYXN0c0NvY29hLmg+CkBAIC0xMjgs
NyArMTMwLDcgQEAgTlNTdHJpbmcgKldlYktpdEpTQ0ZUTEpJVEVuYWJsZWREZWZhdWx0c0tleSA9
IEAiV2ViS2l0SlNDRlRMSklURW5hYmxlZERlZmF1bHRzS2UKIHN0YXRpYyBOU1N0cmluZyAqV2Vi
S2l0QXBwbGljYXRpb25EaWRDaGFuZ2VBY2Nlc3NpYmlsaXR5RW5oYW5jZWRVc2VySW50ZXJmYWNl
Tm90aWZpY2F0aW9uID0gQCJOU0FwcGxpY2F0aW9uRGlkQ2hhbmdlQWNjZXNzaWJpbGl0eUVuaGFu
Y2VkVXNlckludGVyZmFjZU5vdGlmaWNhdGlvbiI7CiBzdGF0aWMgQ0ZTdHJpbmdSZWYgQXBwbGVD
b2xvclByZWZlcmVuY2VzQ2hhbmdlZE5vdGlmaWNhdGlvbiA9IENGU1RSKCJBcHBsZUNvbG9yUHJl
ZmVyZW5jZXNDaGFuZ2VkTm90aWZpY2F0aW9uIik7CiAjZW5kaWYKLXN0YXRpYyBjb25zdCBjaGFy
KiBjb25zdCBXZWJLaXRDYXB0aXZlUG9ydGFsTW9kZUNoYW5nZWROb3RpZmljYXRpb24gPSAiV2Vi
S2l0Q2FwdGl2ZVBvcnRhbE1vZGVFbmFibGVkIjsKK3N0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBX
ZWJLaXRDYXB0aXZlUG9ydGFsTW9kZUNoYW5nZWROb3RpZmljYXRpb25fTGVnYWN5ID0gIldlYktp
dENhcHRpdmVQb3J0YWxNb2RlRW5hYmxlZCI7CiAKIHN0YXRpYyBOU1N0cmluZyAqIGNvbnN0IFdl
YktpdFN1cHByZXNzTWVtb3J5UHJlc3N1cmVIYW5kbGVyRGVmYXVsdHNLZXkgPSBAIldlYktpdFN1
cHByZXNzTWVtb3J5UHJlc3N1cmVIYW5kbGVyIjsKIApAQCAtNjIyLDYgKzYyNCwxNCBAQCB2b2lk
IFdlYlByb2Nlc3NQb29sOjpyZW1vdGVXZWJJbnNwZWN0b3JFbmFibGVkQ2FsbGJhY2soQ0ZOb3Rp
ZmljYXRpb25DZW50ZXJSZWYsCiB9CiAjZW5kaWYKIAorI2lmIFBMQVRGT1JNKElPU19GQU1JTFkp
Cit2b2lkIFdlYlByb2Nlc3NQb29sOjpjYXB0aXZlUG9ydGFsTW9kZUNvbmZpZ1VwZGF0ZUNhbGxi
YWNrKENGTm90aWZpY2F0aW9uQ2VudGVyUmVmLCB2b2lkKiBvYnNlcnZlciwgQ0ZTdHJpbmdSZWYs
IGNvbnN0IHZvaWQqLCBDRkRpY3Rpb25hcnlSZWYpCit7CisgICAgaWYgKGF1dG8gcG9vbCA9IGV4
dHJhY3RXZWJQcm9jZXNzUG9vbChvYnNlcnZlcikpCisgICAgICAgIHBvb2wtPmNhcHRpdmVQb3J0
YWxNb2RlU3RhdGVDaGFuZ2VkKCk7Cit9CisjZW5kaWYKKwogI2lmIEVOQUJMRShDRlBSRUZTX0RJ
UkVDVF9NT0RFKQogdm9pZCBXZWJQcm9jZXNzUG9vbDo6c3RhcnRPYnNlcnZpbmdQcmVmZXJlbmNl
Q2hhbmdlcygpCiB7CkBAIC03MzUsNiArNzQ1LDEwIEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnJl
Z2lzdGVyTm90aWZpY2F0aW9uT2JzZXJ2ZXJzKCkKICAgICAgICAgc2VuZFRvQWxsUHJvY2Vzc2Vz
KE1lc3NhZ2VzOjpXZWJQcm9jZXNzOjpQb3dlclNvdXJjZURpZENoYW5nZShoYXNBQykpOwogICAg
IH0pOwogCisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyAgICBhZGRDRk5vdGlmaWNhdGlvbk9i
c2VydmVyKGNhcHRpdmVQb3J0YWxNb2RlQ29uZmlnVXBkYXRlQ2FsbGJhY2ssIChfX2JyaWRnZSBD
RlN0cmluZ1JlZilXS0NhcHRpdmVQb3J0YWxNb2RlQ29udGFpbmVyQ29uZmlndXJhdGlvbkNoYW5n
ZWROb3RpZmljYXRpb24pOworI2VuZGlmCisKICNpZiBIQVZFKFBFUl9BUFBfQUNDRVNTSUJJTElU
WV9QUkVGRVJFTkNFUykKICAgICBhZGRDRk5vdGlmaWNhdGlvbk9ic2VydmVyKGFjY2Vzc2liaWxp
dHlQcmVmZXJlbmNlc0NoYW5nZWRDYWxsYmFjaywga0FYU1JlZHVjZU1vdGlvbkNoYW5nZWROb3Rp
ZmljYXRpb24pOwogICAgIGFkZENGTm90aWZpY2F0aW9uT2JzZXJ2ZXIoYWNjZXNzaWJpbGl0eVBy
ZWZlcmVuY2VzQ2hhbmdlZENhbGxiYWNrLCBrQVhTSW5jcmVhc2VCdXR0b25MZWdpYmlsaXR5Tm90
aWZpY2F0aW9uKTsKQEAgLTc3OCw2ICs3OTIsMTAgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6dW5y
ZWdpc3Rlck5vdGlmaWNhdGlvbk9ic2VydmVycygpCiAgICAgW1tOU05vdGlmaWNhdGlvbkNlbnRl
ciBkZWZhdWx0Q2VudGVyXSByZW1vdmVPYnNlcnZlcjptX2FjdGl2YXRpb25PYnNlcnZlci5nZXQo
KV07CiAKICAgICBtX3Bvd2VyU291cmNlTm90aWZpZXIgPSBudWxscHRyOworICAgIAorI2lmIFBM
QVRGT1JNKElPU19GQU1JTFkpCisgICAgcmVtb3ZlQ0ZOb3RpZmljYXRpb25PYnNlcnZlcigoX19i
cmlkZ2UgQ0ZTdHJpbmdSZWYpV0tDYXB0aXZlUG9ydGFsTW9kZUNvbnRhaW5lckNvbmZpZ3VyYXRp
b25DaGFuZ2VkTm90aWZpY2F0aW9uKTsKKyNlbmRpZgogCiAjaWYgSEFWRShQRVJfQVBQX0FDQ0VT
U0lCSUxJVFlfUFJFRkVSRU5DRVMpCiAgICAgcmVtb3ZlQ0ZOb3RpZmljYXRpb25PYnNlcnZlcihr
QVhTUmVkdWNlTW90aW9uQ2hhbmdlZE5vdGlmaWNhdGlvbik7CkBAIC05MzAsNyArOTQ4LDIzIEBA
IHN0YXRpYyBib29sIGlzQ2FwdGl2ZVBvcnRhbE1vZGVFbmFibGVkQnlTeXN0ZW1JZ25vcmluZ0Nh
Y2hpbmcoKQogICAgIGlmIChhdXRvJiBlbmFibGVkRm9yVGVzdGluZyA9IGlzQ2FwdGl2ZVBvcnRh
bE1vZGVFbmFibGVkR2xvYmFsbHlGb3JUZXN0aW5nKCkpCiAgICAgICAgIHJldHVybiAqZW5hYmxl
ZEZvclRlc3Rpbmc7CiAKLSAgICByZXR1cm4gW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJE
ZWZhdWx0c10gYm9vbEZvcktleTpbTlNTdHJpbmcgc3RyaW5nV2l0aFVURjhTdHJpbmc6V2ViS2l0
Q2FwdGl2ZVBvcnRhbE1vZGVDaGFuZ2VkTm90aWZpY2F0aW9uXV07CisgICAgaWYgKFtbTlNVc2Vy
RGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIGJvb2xGb3JLZXk6W05TU3RyaW5nIHN0cmlu
Z1dpdGhVVEY4U3RyaW5nOldlYktpdENhcHRpdmVQb3J0YWxNb2RlQ2hhbmdlZE5vdGlmaWNhdGlv
bl9MZWdhY3ldXSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICBpZiAoIVtfV0tTeXN0ZW1Q
cmVmZXJlbmNlcyBpc0NhcHRpdmVQb3J0YWxNb2RlRW5hYmxlZEdsb2JhbGx5XSkKKyAgICAgICAg
cmV0dXJuIGZhbHNlOworCisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyAgICBpZiAocHJvY2Vz
c0hhc0NvbnRhaW5lcigpICYmIFtfV0tTeXN0ZW1QcmVmZXJlbmNlcyBpc0NhcHRpdmVQb3J0YWxN
b2RlSWdub3JlZEZvckNvbnRhaW5lcjpwYXRoRm9yUHJvY2Vzc0NvbnRhaW5lcigpXSkKKyAgICAg
ICAgcmV0dXJuIGZhbHNlOworI2VuZGlmCisgICAgCisjaWYgUExBVEZPUk0oTUFDKQorICAgIGlm
ICghV2ViQ29yZTo6TWFjQXBwbGljYXRpb246OmlzU2FmYXJpKCkgJiYgIVdlYkNvcmU6Ok1hY0Fw
cGxpY2F0aW9uOjppc01pbmlCcm93c2VyKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyNlbmRp
ZgorICAgIAorICAgIHJldHVybiB0cnVlOwogfQogCiB2b2lkIFdlYlByb2Nlc3NQb29sOjpjYXB0
aXZlUG9ydGFsTW9kZVN0YXRlQ2hhbmdlZCgpCkBAIC0xMDYzLDcgKzEwOTcsNyBAQCB2b2lkIFdl
YlByb2Nlc3NQb29sOjpub3RpZnlQcmVmZXJlbmNlc0NoYW5nZWQoY29uc3QgU3RyaW5nJiBkb21h
aW4sIGNvbnN0IFN0cmluZwogICAgICAgICB3ZWJBdXRoblByb2Nlc3MtPnNlbmQoTWVzc2FnZXM6
OldlYkF1dGhuUHJvY2Vzczo6Tm90aWZ5UHJlZmVyZW5jZXNDaGFuZ2VkKGRvbWFpbiwga2V5LCBl
bmNvZGVkVmFsdWUpLCAwKTsKICNlbmRpZgogCi0gICAgaWYgKGtleSA9PSBXZWJLaXRDYXB0aXZl
UG9ydGFsTW9kZUNoYW5nZWROb3RpZmljYXRpb24pCisgICAgaWYgKGtleSA9PSBXS0NhcHRpdmVQ
b3J0YWxNb2RlR2xvYmFsbHlFbmFibGVkS2V5IHx8IGtleSA9PSBXZWJLaXRDYXB0aXZlUG9ydGFs
TW9kZUNoYW5nZWROb3RpZmljYXRpb25fTGVnYWN5KQogICAgICAgICBjYXB0aXZlUG9ydGFsTW9k
ZVN0YXRlQ2hhbmdlZCgpOwogfQogI2VuZGlmIC8vIEVOQUJMRShDRlBSRUZTX0RJUkVDVF9NT0RF
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaCBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmgKaW5kZXggZTI1M2E1ZTcz
YTQ4NjlhYjg5ZDQyMDcwODA2NmYxMDVlZTgxMDg5OC4uZWZlNGMzY2IzOGI5NGI0YjRiMDI1YmZk
ZWRhYWFlYzkxYjRjYWY1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UHJvY2Vzc1Bvb2wuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9v
bC5oCkBAIC01ODQsNiArNTg0LDEwIEBAIHByaXZhdGU6CiAjZW5kaWYKICNlbmRpZgogCisjaWYg
UExBVEZPUk0oSU9TX0ZBTUlMWSkKKyAgICBzdGF0aWMgdm9pZCBjYXB0aXZlUG9ydGFsTW9kZUNv
bmZpZ1VwZGF0ZUNhbGxiYWNrKENGTm90aWZpY2F0aW9uQ2VudGVyUmVmLCB2b2lkKiBvYnNlcnZl
ciwgQ0ZTdHJpbmdSZWYgbmFtZSwgY29uc3Qgdm9pZCogcG9zdGluZ09iamVjdCwgQ0ZEaWN0aW9u
YXJ5UmVmIHVzZXJJbmZvKTsKKyNlbmRpZgorICAgIAogI2lmIFBMQVRGT1JNKENPQ09BKQogICAg
IHN0YXRpYyB2b2lkIGFjY2Vzc2liaWxpdHlQcmVmZXJlbmNlc0NoYW5nZWRDYWxsYmFjayhDRk5v
dGlmaWNhdGlvbkNlbnRlclJlZiwgdm9pZCogb2JzZXJ2ZXIsIENGU3RyaW5nUmVmIG5hbWUsIGNv
bnN0IHZvaWQqIHBvc3RpbmdPYmplY3QsIENGRGljdGlvbmFyeVJlZiB1c2VySW5mbyk7CiAjZW5k
aWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9EaXNwbGF5Q2FwdHVy
ZVNlc3Npb25NYW5hZ2VyLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvRGlzcGxheUNh
cHR1cmVTZXNzaW9uTWFuYWdlci5oCmluZGV4IDYwZDkzYjNjNmExMjhmYjZkMThiMzVlOWE5NzY2
ZjdlOWFlMzAxMGUuLjhlMDRiNzYzODgzMzMwMmIyMTNhMWM0MWE0YTNiYTM2YTQzNWI5NjQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9EaXNwbGF5Q2FwdHVyZVNlc3Np
b25NYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL0Rpc3BsYXlDYXB0
dXJlU2Vzc2lvbk1hbmFnZXIuaApAQCAtMjgsNiArMjgsNyBAQAogI2lmIFBMQVRGT1JNKENPQ09B
KSAmJiBFTkFCTEUoTUVESUFfU1RSRUFNKQogCiAjaW5jbHVkZSAiVXNlck1lZGlhUGVybWlzc2lv
blJlcXVlc3RQcm94eS5oIgorI2luY2x1ZGUgIldlYlBhZ2VQcm94eS5oIgogI2luY2x1ZGUgPFdl
YkNvcmUvU2VjdXJpdHlPcmlnaW5EYXRhLmg+CiAjaW5jbHVkZSA8d3RmL0NvbXBsZXRpb25IYW5k
bGVyLmg+CiAjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL21hYy9EaXNwbGF5Q2FwdHVyZVNlc3Npb25NYW5hZ2VyLm1tIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvbWFjL0Rpc3BsYXlDYXB0dXJlU2Vzc2lvbk1hbmFnZXIubW0KaW5k
ZXggNzk5ZjZmMTNhMjQyOWYwZDc5NjYyNzIxODBjYzY0YzMwNmEyMzJlYy4uODkzZWUyMDUzNGNk
NDY2NmRmODBhMGIxMDFmOWFhODVkMjI3YWRmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvbWFjL0Rpc3BsYXlDYXB0dXJlU2Vzc2lvbk1hbmFnZXIubW0KKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvbWFjL0Rpc3BsYXlDYXB0dXJlU2Vzc2lvbk1hbmFnZXIubW0KQEAg
LTI1NCw3ICsyNTQsNyBAQCBEaXNwbGF5Q2FwdHVyZVNlc3Npb25NYW5hZ2VyOjp+RGlzcGxheUNh
cHR1cmVTZXNzaW9uTWFuYWdlcigpCiB7CiB9CiAKLXZvaWQgRGlzcGxheUNhcHR1cmVTZXNzaW9u
TWFuYWdlcjo6cHJvbXB0Rm9yR2V0RGlzcGxheU1lZGlhKFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1
ZXN0UHJveHk6OlVzZXJNZWRpYURpc3BsYXlDYXB0dXJlUHJvbXB0VHlwZSBwcm9tcHRUeXBlLCBX
ZWJQYWdlUHJveHkmIHBhZ2UsIGNvbnN0IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YSYgb3Jp
Z2luLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9uYWw8Q2FwdHVyZURldmljZT4p
PiYmIGNvbXBsZXRpb25IYW5kbGVyKQordm9pZCBEaXNwbGF5Q2FwdHVyZVNlc3Npb25NYW5hZ2Vy
Ojpwcm9tcHRGb3JHZXREaXNwbGF5TWVkaWEoVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RQcm94
eTo6VXNlck1lZGlhRGlzcGxheUNhcHR1cmVQcm9tcHRUeXBlIHByb21wdFR5cGUsIFdlYlBhZ2VQ
cm94eSYgcGFnZSwgY29uc3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhJiBvcmlnaW4sIENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpDYXB0dXJlRGV2aWNl
Pik+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAgICAgQVNTRVJUKGlzQXZhaWxhYmxlKCkpOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRl
eCA1OTQwMjNiNmRmNjI3MTEwYWRmNTE5ZDQ0M2Y1YWI1YjhhZmU2NDY0Li43Y2FjNjE0MjJjN2Q4
ZDkyYTAyM2M0MTY2YWU5MjNkMzJlZjM4YzA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dl
YktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE0MDksNiArMTQwOSw4IEBACiAJCTgzRjFB
MDdBMUY5NkU3NzkwMDQ1Qjk0RSAvKiBXZWJTV09yaWdpblRhYmxlLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4M0YxQTA3ODFGOTZFNzcxMDA0NUI5NEUg
LyogV2ViU1dPcmlnaW5UYWJsZS5oICovOyB9OwogCQk4M0Y5NjQ0RTFGQTBGNzZFMDBDNDc3NTAg
LyogU2hhcmVkU3RyaW5nSGFzaFRhYmxlUmVhZE9ubHkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDgzRjk2NDRDMUZBMEY3NjMwMEM0Nzc1MCAvKiBTaGFy
ZWRTdHJpbmdIYXNoVGFibGVSZWFkT25seS5oICovOyB9OwogCQk4NDQ3Nzg1MzE3NkZDQzA4MDBD
REM3QkIgLyogSW5qZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0TWVkaWFUeXBlLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NDQ3Nzg1MTE3NkZDQUMxMDBD
REM3QkIgLyogSW5qZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0TWVkaWFUeXBlLmggKi87IH07CisJ
CTg2NDQ4OTBCMjdCNDcwMjAwMDdBMUM2NiAvKiBfV0tTeXN0ZW1QcmVmZXJlbmNlcy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODY0NDg5MEEyN0I0NzAy
MDAwN0ExQzY2IC8qIF9XS1N5c3RlbVByZWZlcmVuY2VzLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJODY0NDg5MEYyN0I1Q0I0MzAwN0ExQzY2IC8q
IF9XS1N5c3RlbVByZWZlcmVuY2VzSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2NDQ4OTBFMjdCNUNCNDMwMDdBMUM2NiAvKiBfV0tTeXN0
ZW1QcmVmZXJlbmNlc0ludGVybmFsLmggKi87IH07CiAJCTg2RTY3QTI1MTkxMEI5RDEwMDAwNEFC
NyAvKiBQcm9jZXNzVGhyb3R0bGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA4NkU2N0EyMTE5MEY0MTE4MDAwMDRBQjcgLyogUHJvY2Vzc1Rocm90dGxl
ci5oICovOyB9OwogCQk4NkY5NTM2NTE4RkY1OEY1MDAxREIyRUYgLyogUHJvY2Vzc0Fzc2VydGlv
bi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODZGOTUz
NjAxOEZGNEZENDAwMURCMkVGIC8qIFByb2Nlc3NBc3NlcnRpb24uaCAqLzsgfTsKIAkJOERDMkVG
NTMwNDg2QTY5NDAwOThCMjE2IC8qIEluZm9QbGlzdC5zdHJpbmdzIGluIFJlc291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwODlDMTY2NkZFODQxMTU4QzAyQUFDMDcg
LyogSW5mb1BsaXN0LnN0cmluZ3MgKi87IH07CkBAIC01Mjg0LDYgKzUyODYsOSBAQAogCQk4M0Y5
NjQ0QjFGQTBGNzYyMDBDNDc3NTAgLyogU2hhcmVkU3RyaW5nSGFzaFRhYmxlUmVhZE9ubHkuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2hhcmVkU3RyaW5nSGFzaFRh
YmxlUmVhZE9ubHkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4M0Y5NjQ0QzFG
QTBGNzYzMDBDNDc3NTAgLyogU2hhcmVkU3RyaW5nSGFzaFRhYmxlUmVhZE9ubHkuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2hhcmVkU3RyaW5nSGFzaFRhYmxlUmVhZE9ubHku
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODQ0Nzc4NTExNzZGQ0FDMTAwQ0RDN0JC
IC8qIEluamVjdGVkQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlwZS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBJbmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGUu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODY0NDg5MEEyN0I0NzAyMDAwN0ExQzY2
IC8qIF9XS1N5c3RlbVByZWZlcmVuY2VzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IF9XS1N5c3RlbVByZWZlcmVuY2VzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTg2NDQ4OTBDMjdCNDcwNDUwMDdBMUM2NiAvKiBfV0tTeXN0ZW1QcmVmZXJlbmNlcy5tbSAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLm9iamNwcDsgcGF0aCA9IF9XS1N5c3RlbVByZWZlcmVuY2VzLm1tOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk4NjQ0ODkwRTI3QjVDQjQzMDA3QTFDNjYgLyogX1dLU3lzdGVtUHJl
ZmVyZW5jZXNJbnRlcm5hbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBfV0tT
eXN0ZW1QcmVmZXJlbmNlc0ludGVybmFsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTg2ODE2MENEMTg3NjNENEIwMDIxRTc5RCAvKiBXaW5kb3dTZXJ2ZXJDb25uZWN0aW9uLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFdpbmRvd1NlcnZlckNvbm5lY3Rpb24uaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJODY4MTYwQ0YxODc2NDUzNzAwMjFFNzlEIC8qIFdpbmRvd1NlcnZlckNvbm5l
Y3Rpb24ubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXaW5kb3dTZXJ2ZXJDb25uZWN0aW9uLm1t
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NkU2N0EyMTE5MEY0MTE4MDAwMDRBQjcg
LyogUHJvY2Vzc1Rocm90dGxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQ
cm9jZXNzVGhyb3R0bGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC04ODgwLDYg
Kzg4ODUsOSBAQAogCQkJCTFBMDAyRDNGMTk2QjMyOTQwMEI5QUQ0NCAvKiBfV0tTZXNzaW9uU3Rh
dGUuaCAqLywKIAkJCQkxQTAwMkQzRTE5NkIzMjk0MDBCOUFENDQgLyogX1dLU2Vzc2lvblN0YXRl
Lm1tICovLAogCQkJCTFBMDAyRDQyMTk2QjMzNzAwMEI5QUQ0NCAvKiBfV0tTZXNzaW9uU3RhdGVJ
bnRlcm5hbC5oICovLAorCQkJCTg2NDQ4OTBBMjdCNDcwMjAwMDdBMUM2NiAvKiBfV0tTeXN0ZW1Q
cmVmZXJlbmNlcy5oICovLAorCQkJCTg2NDQ4OTBDMjdCNDcwNDUwMDdBMUM2NiAvKiBfV0tTeXN0
ZW1QcmVmZXJlbmNlcy5tbSAqLywKKwkJCQk4NjQ0ODkwRTI3QjVDQjQzMDA3QTFDNjYgLyogX1dL
U3lzdGVtUHJlZmVyZW5jZXNJbnRlcm5hbC5oICovLAogCQkJCUY0RDk4NUM3MjY5MEZCRUYwMEJC
Q0NCRSAvKiBfV0tUYXBIYW5kbGluZ1Jlc3VsdC5oICovLAogCQkJCTJERTlCMTM4MjIzMUY2MUMw
MDUyODdCNyAvKiBfV0tUZXh0SW5wdXRDb250ZXh0LmggKi8sCiAJCQkJMkRFOUIxMzcyMjMxRjYx
QzAwNTI4N0I3IC8qIF9XS1RleHRJbnB1dENvbnRleHQubW0gKi8sCkBAIC0xMjg3Nyw2ICsxMjg4
NSw4IEBACiAJCQkJMzc2MzExRkUxQTNGQjYwMDAwNUEyRTUxIC8qIF9XS1NhbWVEb2N1bWVudE5h
dmlnYXRpb25UeXBlSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBMDAyRDQ0MTk2QjMz
ODkwMEI5QUQ0NCAvKiBfV0tTZXNzaW9uU3RhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBMDAy
RDQzMTk2QjMzNzAwMEI5QUQ0NCAvKiBfV0tTZXNzaW9uU3RhdGVJbnRlcm5hbC5oIGluIEhlYWRl
cnMgKi8sCisJCQkJODY0NDg5MEIyN0I0NzAyMDAwN0ExQzY2IC8qIF9XS1N5c3RlbVByZWZlcmVu
Y2VzLmggaW4gSGVhZGVycyAqLywKKwkJCQk4NjQ0ODkwRjI3QjVDQjQzMDA3QTFDNjYgLyogX1dL
U3lzdGVtUHJlZmVyZW5jZXNJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRjREOTg1Qzgy
NjkwRkMxMjAwQkJDQ0JFIC8qIF9XS1RhcEhhbmRsaW5nUmVzdWx0LmggaW4gSGVhZGVycyAqLywK
IAkJCQkyREU5QjEzQTIyMzFGNjFDMDA1Mjg3QjcgLyogX1dLVGV4dElucHV0Q29udGV4dC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMkRFOUIxM0MyMjMxRjc3QzAwNTI4N0I3IC8qIF9XS1RleHRJbnB1
dENvbnRleHRJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>451620</attachid>
            <date>2022-02-10 16:55:15 -0800</date>
            <delta_ts>2022-02-11 14:35:25 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-236135-20220210165513.patch</filename>
            <type>text/plain</type>
            <size>25741</size>
            <attacher name="Gavin">gavin.p</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg5NTU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGYyNmUwMDhhNWQ4ODJkYTkw
MDUyMDg4OTQ4Y2U3ZGZjZTY1NWRlMmUuLmUzODI4OGRmNTI0NzEzNDNmM2VkMDFkYzA4OThkMzkx
MzkyYzg0MjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzUgQEAKKzIwMjItMDItMTAgIEdhdmluIFBo
aWxsaXBzICA8Z2F2aW4ucEBhcHBsZS5jb20+CisKKyAgICAgICAgVXBkYXRlIHByZWZlcmVuY2Ug
bG9jYXRpb24gdXNlZCBmb3IgQ2FwdGl2ZVBvcnRhbE1vZGUuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzYxMzUKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzg4NDg2NTQ0PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogUGxhdGZvcm1NYWMuY21ha2U6CisgICAgICAgICogU291cmNlc0NvY29hLnR4dDoK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS1N5c3RlbVByZWZlcmVuY2VzLmg6IEFk
ZGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLU3lzdGVtUHJlZmVyZW5jZXMu
bW06IEFkZGVkLgorICAgICAgICAoK1tfV0tTeXN0ZW1QcmVmZXJlbmNlcyBpc0NhcHRpdmVQb3J0
YWxNb2RlRW5hYmxlZEdsb2JhbGx5XSk6CisgICAgICAgICgrW19XS1N5c3RlbVByZWZlcmVuY2Vz
IHNldENhcHRpdmVQb3J0YWxNb2RlRW5hYmxlZEdsb2JhbGx5Ol0pOgorICAgICAgICAoK1tfV0tT
eXN0ZW1QcmVmZXJlbmNlcyBpc0NhcHRpdmVQb3J0YWxNb2RlSWdub3JlZEZvckNvbnRhaW5lcjpd
KToKKyAgICAgICAgKCtbX1dLU3lzdGVtUHJlZmVyZW5jZXMgc2V0Q2FwdGl2ZVBvcnRhbE1vZGVJ
Z25vcmVkRm9yQ29udGFpbmVyOmlnbm9yZTpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0Nv
Y29hL19XS1N5c3RlbVByZWZlcmVuY2VzSW50ZXJuYWwuaDogQWRkZWQuCisgICAgICAgICogVUlQ
cm9jZXNzL0NvY29hL1ByZWZlcmVuY2VPYnNlcnZlci5tbToKKyAgICAgICAgKC1bV0tVc2VyRGVm
YXVsdHMgZmluZFByZWZlcmVuY2VDaGFuZ2VzQW5kTm90aWZ5Rm9yS2V5czp0b1ZhbHVlc0Zvcktl
eXM6XSk6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNvY29hLm1tOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6Y2FwdGl2ZVBvcnRhbE1vZGVDb25maWdVcGRhdGVD
YWxsYmFjayk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpyZWdpc3Rlck5vdGlm
aWNhdGlvbk9ic2VydmVycyk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjp1bnJl
Z2lzdGVyTm90aWZpY2F0aW9uT2JzZXJ2ZXJzKToKKyAgICAgICAgKFdlYktpdDo6aXNDYXB0aXZl
UG9ydGFsTW9kZUVuYWJsZWRCeVN5c3RlbUlnbm9yaW5nQ2FjaGluZyk6CisgICAgICAgIChXZWJL
aXQ6OldlYlByb2Nlc3NQb29sOjpub3RpZnlQcmVmZXJlbmNlc0NoYW5nZWQpOgorICAgICAgICAq
IFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvRGlz
cGxheUNhcHR1cmVTZXNzaW9uTWFuYWdlci5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvRGlz
cGxheUNhcHR1cmVTZXNzaW9uTWFuYWdlci5tbToKKyAgICAgICAgKFdlYktpdDo6RGlzcGxheUNh
cHR1cmVTZXNzaW9uTWFuYWdlcjo6cHJvbXB0Rm9yR2V0RGlzcGxheU1lZGlhKToKKyAgICAgICAg
KiBXZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKwogMjAyMi0wMi0xMCAgV2Vuc29u
IEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBTdXBwb3J0IGBXZWJQ
YWdlUHJveHk6OnJlcGxhY2VTZWxlY3Rpb25XaXRoUGFzdGVib2FyZERhdGEoKWAgb24gaU9TCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtTWFjLmNtYWtlIGIvU291cmNlL1dlYktp
dC9QbGF0Zm9ybU1hYy5jbWFrZQppbmRleCBlMjk2NmQ1MTNiYjU4MzlkZjEyYjMyMmFmMmVlYjA1
NGViNGQ2NjU1Li4xMDBkZjgwYjI3Y2E3ODAxMGIyZjFkZDgwNzM2MTc0NDBkNTI2YTc0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtTWFjLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJL
aXQvUGxhdGZvcm1NYWMuY21ha2UKQEAgLTQ2MCw2ICs0NjAsNyBAQCBsaXN0KEFQUEVORCBXZWJL
aXRfUFVCTElDX0ZSQU1FV09SS19IRUFERVJTCiAgICAgVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzRmlyc3RQYXJ0eS5oCiAgICAgVUlQcm9jZXNzL0FQSS9Db2Nv
YS9fV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzVGhpcmRQYXJ0eS5oCiAgICAgVUlQcm9jZXNzL0FQ
SS9Db2NvYS9fV0tTZXNzaW9uU3RhdGUuaAorICAgIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLU3lz
dGVtUHJlZmVyZW5jZXMuaAogICAgIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLVGFwSGFuZGxpbmdS
ZXN1bHQuaAogICAgIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLVGV4dElucHV0Q29udGV4dC5oCiAg
ICAgVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tUZXh0TWFuaXB1bGF0aW9uQ29uZmlndXJhdGlvbi5o
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQgYi9Tb3VyY2UvV2Vi
S2l0L1NvdXJjZXNDb2NvYS50eHQKaW5kZXggOTg5NzRmYTA4YjU5ZDQ3N2MyMzFmYjVkM2ZhMjcx
YTA5YjJkNWQwMS4uMzA4NGMxZTgwODViZDg0OTg5NmFjYWEyOWYxOWE0NDYwOTFhMmY0NyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CisrKyBiL1NvdXJjZS9XZWJL
aXQvU291cmNlc0NvY29hLnR4dApAQCAtMjk1LDYgKzI5NSw3IEBAIFVJUHJvY2Vzcy9BUEkvQ29j
b2EvX1dLUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLm1tCiBVSVByb2Nlc3MvQVBJL0NvY29hL19X
S1JlbW90ZVdlYkluc3BlY3RvclZpZXdDb250cm9sbGVyLm1tCiBVSVByb2Nlc3MvQVBJL0NvY29h
L19XS1Jlc291cmNlTG9hZEluZm8ubW0KIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLU2Vzc2lvblN0
YXRlLm1tCitVSVByb2Nlc3MvQVBJL0NvY29hL19XS1N5c3RlbVByZWZlcmVuY2VzLm1tCiBVSVBy
b2Nlc3MvQVBJL0NvY29hL19XS1RleHRJbnB1dENvbnRleHQubW0KIFVJUHJvY2Vzcy9BUEkvQ29j
b2EvX1dLVGV4dE1hbmlwdWxhdGlvbkNvbmZpZ3VyYXRpb24ubW0KIFVJUHJvY2Vzcy9BUEkvQ29j
b2EvX1dLVGV4dE1hbmlwdWxhdGlvbkV4Y2x1c2lvblJ1bGUubW0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tTeXN0ZW1QcmVmZXJlbmNlcy5oIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1N5c3RlbVByZWZlcmVuY2VzLmgKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNzUyNjFjZDljMjMzYTY5YmU3ZjU3Yzk1ZDg5YWI1NDI3MjU5ZmUwOAotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tTeXN0ZW1Q
cmVmZXJlbmNlcy5oCkBAIC0wLDAgKzEsMzcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjIg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0IDxGb3Vu
ZGF0aW9uL0ZvdW5kYXRpb24uaD4KKyNpbXBvcnQgPFdlYktpdC9XS0ZvdW5kYXRpb24uaD4KKwor
V0tfQ0xBU1NfQVZBSUxBQkxFKG1hY29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpCitA
aW50ZXJmYWNlIF9XS1N5c3RlbVByZWZlcmVuY2VzIDogTlNPYmplY3QKKworKyAoQk9PTClpc0Nh
cHRpdmVQb3J0YWxNb2RlRW5hYmxlZEdsb2JhbGx5OworKyAodm9pZClzZXRDYXB0aXZlUG9ydGFs
TW9kZUVuYWJsZWRHbG9iYWxseTooQk9PTCllbmFibGVkOworKyAoQk9PTClpc0NhcHRpdmVQb3J0
YWxNb2RlSWdub3JlZEZvckNvbnRhaW5lcjooTlNTdHJpbmcgKiljb250YWluZXJQYXRoOworKyAo
dm9pZClzZXRDYXB0aXZlUG9ydGFsTW9kZUlnbm9yZWRGb3JDb250YWluZXI6KE5TU3RyaW5nICop
Y29udGFpbmVyUGF0aCBpZ25vcmU6KEJPT0wpaWdub3JlOworCitAZW5kCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLU3lzdGVtUHJlZmVyZW5jZXMubW0g
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLU3lzdGVtUHJlZmVyZW5jZXMu
bW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uOTI2NGI1YTczYTk4ZDcyOTNiYWU2OGM4YTJiZDhhMTE2NGMxMjJlMAot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tT
eXN0ZW1QcmVmZXJlbmNlcy5tbQpAQCAtMCwwICsxLDc1IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDIyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9y
dCAiY29uZmlnLmgiCisjaW1wb3J0ICJfV0tTeXN0ZW1QcmVmZXJlbmNlc0ludGVybmFsLmgiCisK
KyNpbXBvcnQgPHd0Zi9Bc3NlcnRpb25zLmg+CisjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CisK
K2NvbnN0ZXhwciBhdXRvIENhcHRpdmVQb3J0YWxDb25maWd1cmF0aW9uSWdub3JlRmlsZU5hbWUg
PSBAImNvbS5hcHBsZS5XZWJLaXQuY3BtY29uZmlnX2lnbm9yZSI7CisKK0BpbXBsZW1lbnRhdGlv
biBfV0tTeXN0ZW1QcmVmZXJlbmNlcworCisrIChCT09MKWlzQ2FwdGl2ZVBvcnRhbE1vZGVFbmFi
bGVkR2xvYmFsbHkKK3sKKyAgICBhdXRvIGNoYW5nZWROb3RpZmljYXRpb25LZXkgPSBhZG9wdENG
KENGU3RyaW5nQ3JlYXRlV2l0aENTdHJpbmcoa0NGQWxsb2NhdG9yRGVmYXVsdCwgV0tDYXB0aXZl
UG9ydGFsTW9kZUVuYWJsZWRHbG9iYWxseUtleSwga0NGU3RyaW5nRW5jb2RpbmdVVEY4KSk7Cisg
ICAgYXV0byBwcmVmZXJlbmNlVmFsdWUgPSBhZG9wdENGKENGUHJlZmVyZW5jZXNDb3B5VmFsdWUo
Y2hhbmdlZE5vdGlmaWNhdGlvbktleS5nZXQoKSwga0NGUHJlZmVyZW5jZXNBbnlBcHBsaWNhdGlv
biwga0NGUHJlZmVyZW5jZXNBbnlVc2VyLCBrQ0ZQcmVmZXJlbmNlc0N1cnJlbnRIb3N0KSk7Cisg
ICAgcmV0dXJuIHByZWZlcmVuY2VWYWx1ZS5nZXQoKSA9PSBrQ0ZCb29sZWFuVHJ1ZTsKK30KKwor
KyAodm9pZClzZXRDYXB0aXZlUG9ydGFsTW9kZUVuYWJsZWRHbG9iYWxseTooQk9PTCllbmFibGVk
Cit7CisgICAgYXV0byBjaGFuZ2VkTm90aWZpY2F0aW9uS2V5ID0gYWRvcHRDRihDRlN0cmluZ0Ny
ZWF0ZVdpdGhDU3RyaW5nKGtDRkFsbG9jYXRvckRlZmF1bHQsIFdLQ2FwdGl2ZVBvcnRhbE1vZGVF
bmFibGVkR2xvYmFsbHlLZXksIGtDRlN0cmluZ0VuY29kaW5nVVRGOCkpOworICAgIENGUHJlZmVy
ZW5jZXNTZXRWYWx1ZShjaGFuZ2VkTm90aWZpY2F0aW9uS2V5LmdldCgpLCBlbmFibGVkID8ga0NG
Qm9vbGVhblRydWUgOiBrQ0ZCb29sZWFuRmFsc2UsIGtDRlByZWZlcmVuY2VzQW55QXBwbGljYXRp
b24sIGtDRlByZWZlcmVuY2VzQW55VXNlciwga0NGUHJlZmVyZW5jZXNDdXJyZW50SG9zdCk7Cisg
ICAgQ0ZQcmVmZXJlbmNlc1N5bmNocm9uaXplKGtDRlByZWZlcmVuY2VzQW55QXBwbGljYXRpb24s
IGtDRlByZWZlcmVuY2VzQW55VXNlciwga0NGUHJlZmVyZW5jZXNBbnlIb3N0KTsKK30KKworKyAo
Qk9PTClpc0NhcHRpdmVQb3J0YWxNb2RlSWdub3JlZEZvckNvbnRhaW5lcjooTlNTdHJpbmcgKilj
b250YWluZXJQYXRoCit7CisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyAgICBOU1N0cmluZyAq
Y3BtY29uZmlnSWdub3JlRmlsZVBhdGggPSBbTlNTdHJpbmcgcGF0aFdpdGhDb21wb25lbnRzOkBb
Y29udGFpbmVyUGF0aCwgQCJMaWJyYXJ5L1ByZWZlcmVuY2VzLyIsIENhcHRpdmVQb3J0YWxDb25m
aWd1cmF0aW9uSWdub3JlRmlsZU5hbWVdXTsKKyAgICByZXR1cm4gW1tOU0ZpbGVNYW5hZ2VyIGRl
ZmF1bHRNYW5hZ2VyXSBmaWxlRXhpc3RzQXRQYXRoOmNwbWNvbmZpZ0lnbm9yZUZpbGVQYXRoXTsK
KyNlbmRpZgorICAgIHJldHVybiBmYWxzZTsKK30KKworKyAodm9pZClzZXRDYXB0aXZlUG9ydGFs
TW9kZUlnbm9yZWRGb3JDb250YWluZXI6KE5TU3RyaW5nICopY29udGFpbmVyUGF0aCBpZ25vcmU6
KEJPT0wpaWdub3JlCit7CisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyAgICBOU1N0cmluZyAq
Y3BtY29uZmlnSWdub3JlRmlsZVBhdGggPSBbTlNTdHJpbmcgcGF0aFdpdGhDb21wb25lbnRzOkBb
Y29udGFpbmVyUGF0aCwgQCJMaWJyYXJ5L1ByZWZlcmVuY2VzLyIsIENhcHRpdmVQb3J0YWxDb25m
aWd1cmF0aW9uSWdub3JlRmlsZU5hbWVdXTsKKyAgICBpZiAoW1tOU0ZpbGVNYW5hZ2VyIGRlZmF1
bHRNYW5hZ2VyXSBmaWxlRXhpc3RzQXRQYXRoOmNwbWNvbmZpZ0lnbm9yZUZpbGVQYXRoXSA9PSBp
Z25vcmUpCisgICAgICAgIHJldHVybjsKKyAgICAKKyAgICBpZiAoaWdub3JlKQorICAgICAgICBb
W05TRmlsZU1hbmFnZXIgZGVmYXVsdE1hbmFnZXJdIGNyZWF0ZUZpbGVBdFBhdGg6Y3BtY29uZmln
SWdub3JlRmlsZVBhdGggY29udGVudHM6TlVMTCBhdHRyaWJ1dGVzOk5VTExdOworICAgIGVsc2UK
KyAgICAgICAgW1tOU0ZpbGVNYW5hZ2VyIGRlZmF1bHRNYW5hZ2VyXSByZW1vdmVJdGVtQXRQYXRo
OmNwbWNvbmZpZ0lnbm9yZUZpbGVQYXRoIGVycm9yOk5VTExdOworCisgICAgQ0ZOb3RpZmljYXRp
b25DZW50ZXJQb3N0Tm90aWZpY2F0aW9uKENGTm90aWZpY2F0aW9uQ2VudGVyR2V0RGFyd2luTm90
aWZ5Q2VudGVyKCksIChfX2JyaWRnZSBDRlN0cmluZ1JlZilXS0NhcHRpdmVQb3J0YWxNb2RlQ29u
dGFpbmVyQ29uZmlndXJhdGlvbkNoYW5nZWROb3RpZmljYXRpb24sIG51bGxwdHIsIG51bGxwdHIs
IHRydWUpOworI2VuZGlmCit9CisKK0BlbmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9fV0tTeXN0ZW1QcmVmZXJlbmNlc0ludGVybmFsLmggYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLU3lzdGVtUHJlZmVyZW5jZXNJbnRlcm5hbC5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmFjMzkyY2ZhNjllNzE2ZjQ5Nzk2YTVjZTFmYTgxYzU0YTBjY2FjMzMKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLU3lz
dGVtUHJlZmVyZW5jZXNJbnRlcm5hbC5oCkBAIC0wLDAgKzEsMjkgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMjIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aW1wb3J0ICJfV0tTeXN0ZW1QcmVmZXJlbmNlcy5oIgorCitjb25zdGV4cHIgYXV0byBXS0NhcHRp
dmVQb3J0YWxNb2RlRW5hYmxlZEdsb2JhbGx5S2V5ID0gIldLQ2FwdGl2ZVBvcnRhbE1vZGVFbmFi
bGVkR2xvYmFsbHkiOworY29uc3RleHByIGF1dG8gV0tDYXB0aXZlUG9ydGFsTW9kZUNvbnRhaW5l
ckNvbmZpZ3VyYXRpb25DaGFuZ2VkTm90aWZpY2F0aW9uID0gQCJXS0NhcHRpdmVQb3J0YWxNb2Rl
Q29udGFpbmVyQ29uZmlndXJhdGlvbkNoYW5nZWQiOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQ29jb2EvUHJlZmVyZW5jZU9ic2VydmVyLm1tIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQ29jb2EvUHJlZmVyZW5jZU9ic2VydmVyLm1tCmluZGV4IDM0YmZhNzkyNWQ1ZDQ0
ZTBlOWU4MTIwMjQ3OWU3NzU4MTVlYWM2YmMuLjBhNjFjNzUxNDE2YTE0YzliMDcxMDM4ZTk5OTEz
NWFhYTdmOGY5MzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1By
ZWZlcmVuY2VPYnNlcnZlci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9Q
cmVmZXJlbmNlT2JzZXJ2ZXIubW0KQEAgLTcxLDYgKzcxLDcgQEAKICAgICAgICAgICAgIGVuY29k
ZWRTdHJpbmcgPSBbZGF0YSBiYXNlNjRFbmNvZGVkU3RyaW5nV2l0aE9wdGlvbnM6MF07CiAgICAg
ICAgIH0KIAorICAgICAgICBhdXRvIHN5c3RlbVZhbHVlID0gYWRvcHRDRihDRlByZWZlcmVuY2Vz
Q29weVZhbHVlKChfX2JyaWRnZSBDRlN0cmluZ1JlZilrZXksIGtDRlByZWZlcmVuY2VzQW55QXBw
bGljYXRpb24sIGtDRlByZWZlcmVuY2VzQW55VXNlciwga0NGUHJlZmVyZW5jZXNBbnlIb3N0KSk7
CiAgICAgICAgIGF1dG8gZ2xvYmFsVmFsdWUgPSBhZG9wdENGKENGUHJlZmVyZW5jZXNDb3B5VmFs
dWUoKF9fYnJpZGdlIENGU3RyaW5nUmVmKWtleSwga0NGUHJlZmVyZW5jZXNBbnlBcHBsaWNhdGlv
biwga0NGUHJlZmVyZW5jZXNDdXJyZW50VXNlciwga0NGUHJlZmVyZW5jZXNBbnlIb3N0KSk7CiAg
ICAgICAgIGF1dG8gZG9tYWluVmFsdWUgPSBhZG9wdENGKENGUHJlZmVyZW5jZXNDb3B5VmFsdWUo
KF9fYnJpZGdlIENGU3RyaW5nUmVmKWtleSwgKF9fYnJpZGdlIENGU3RyaW5nUmVmKW1fc3VpdGVO
YW1lLmdldCgpLCBrQ0ZQcmVmZXJlbmNlc0N1cnJlbnRVc2VyLCBrQ0ZQcmVmZXJlbmNlc0FueUhv
c3QpKTsKIApAQCAtNzgsNyArNzksNyBAQAogICAgICAgICAgICAgcmV0dXJuIGEgPT0gYiB8fCBb
YSBpc0VxdWFsOmJdOwogICAgICAgICB9OwogCi0gICAgICAgIGlmIChwcmVmZXJlbmNlVmFsdWVz
QXJlRXF1YWwoKF9fYnJpZGdlIGlkKWdsb2JhbFZhbHVlLmdldCgpLCBuZXdWYWx1ZSkpCisgICAg
ICAgIGlmIChwcmVmZXJlbmNlVmFsdWVzQXJlRXF1YWwoKF9fYnJpZGdlIGlkKXN5c3RlbVZhbHVl
LmdldCgpLCBuZXdWYWx1ZSkgfHwgcHJlZmVyZW5jZVZhbHVlc0FyZUVxdWFsKChfX2JyaWRnZSBp
ZClnbG9iYWxWYWx1ZS5nZXQoKSwgbmV3VmFsdWUpKQogICAgICAgICAgICAgW21fb2JzZXJ2ZXIg
cHJlZmVyZW5jZURpZENoYW5nZTpuaWwga2V5OmtleSBlbmNvZGVkVmFsdWU6ZW5jb2RlZFN0cmlu
Z107CiAKICAgICAgICAgaWYgKHByZWZlcmVuY2VWYWx1ZXNBcmVFcXVhbCgoX19icmlkZ2UgaWQp
ZG9tYWluVmFsdWUuZ2V0KCksIG5ld1ZhbHVlKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNvY29hLm1tIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW0KaW5kZXggMDI2MzZiNTE4OGUzYWM2MmZk
NWMyNmUzMWIzNjViYTcyYzIwM2FmMi4uM2M0NzNhNThlZWZkZWU3MDlmYmE1MjUxMmQzZmQ4ODA3
NzBmYjc5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFn
ZVByb3h5Q29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFn
ZVByb3h5Q29jb2EubW0KQEAgLTM3LDEyICszNywxNCBAQAogI2ltcG9ydCAiTG9hZFBhcmFtZXRl
cnMuaCIKICNpbXBvcnQgIk1vZGFsQ29udGFpbmVyQ29udHJvbENsYXNzaWZpZXIuaCIKICNpbXBv
cnQgIlBhZ2VDbGllbnQuaCIKKyNpbXBvcnQgIlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eS5o
IgogI2ltcG9ydCAiUXVhcmFudGluZVNQSS5oIgogI2ltcG9ydCAiUXVpY2tMb29rVGh1bWJuYWls
TG9hZGVyLmgiCiAjaW1wb3J0ICJTYWZlQnJvd3NpbmdTUEkuaCIKICNpbXBvcnQgIlNhZmVCcm93
c2luZ1dhcm5pbmcuaCIKICNpbXBvcnQgIlNoYXJlZEJ1ZmZlckNvcHkuaCIKICNpbXBvcnQgIlN5
bmFwc2VTUEkuaCIKKyNpbXBvcnQgIlZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eS5oIgogI2lt
cG9ydCAiV2ViQ29udGV4dE1lbnVQcm94eS5oIgogI2ltcG9ydCAiV2ViUGFnZS5oIgogI2ltcG9y
dCAiV2ViUGFnZU1lc3NhZ2VzLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
Q29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQppbmRleCBjNzg2NTY5MTRhNjY0MGVkMmYyYzk5
M2ZiNmFmZmEzZDBjYmQ2ZDBkLi4zMWJkZmVmZTZkOWJmMGFjNzZkZjY5ZDhjNGExODMyODQ1N2Uy
YjM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNz
UG9vbENvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nl
c3NQb29sQ29jb2EubW0KQEAgLTUyLDYgKzUyLDcgQEAKICNpbXBvcnQgIldlYlByb2Nlc3NDcmVh
dGlvblBhcmFtZXRlcnMuaCIKICNpbXBvcnQgIldlYlByb2Nlc3NNZXNzYWdlcy5oIgogI2ltcG9y
dCAiV2luZG93U2VydmVyQ29ubmVjdGlvbi5oIgorI2ltcG9ydCAiX1dLU3lzdGVtUHJlZmVyZW5j
ZXNJbnRlcm5hbC5oIgogI2ltcG9ydCA8V2ViQ29yZS9BR1hDb21waWxlclNlcnZpY2UuaD4KICNp
bXBvcnQgPFdlYkNvcmUvQ29sb3IuaD4KICNpbXBvcnQgPFdlYkNvcmUvTG9jYWxpemVkRGV2aWNl
TW9kZWwuaD4KQEAgLTcwLDYgKzcxLDcgQEAKICNpbXBvcnQgPHd0Zi9GaWxlU3lzdGVtLmg+CiAj
aW1wb3J0IDx3dGYvUHJvY2Vzc1ByaXZpbGVnZS5oPgogI2ltcG9ydCA8d3RmL1NvZnRMaW5raW5n
Lmg+CisjaW1wb3J0IDx3dGYvY2YvVHlwZUNhc3RzQ0YuaD4KICNpbXBvcnQgPHd0Zi9jb2NvYS9F
bnRpdGxlbWVudHMuaD4KICNpbXBvcnQgPHd0Zi9jb2NvYS9SdW50aW1lQXBwbGljYXRpb25DaGVj
a3NDb2NvYS5oPgogI2ltcG9ydCA8d3RmL2NvY29hL1R5cGVDYXN0c0NvY29hLmg+CkBAIC0xMjgs
NyArMTMwLDcgQEAgTlNTdHJpbmcgKldlYktpdEpTQ0ZUTEpJVEVuYWJsZWREZWZhdWx0c0tleSA9
IEAiV2ViS2l0SlNDRlRMSklURW5hYmxlZERlZmF1bHRzS2UKIHN0YXRpYyBOU1N0cmluZyAqV2Vi
S2l0QXBwbGljYXRpb25EaWRDaGFuZ2VBY2Nlc3NpYmlsaXR5RW5oYW5jZWRVc2VySW50ZXJmYWNl
Tm90aWZpY2F0aW9uID0gQCJOU0FwcGxpY2F0aW9uRGlkQ2hhbmdlQWNjZXNzaWJpbGl0eUVuaGFu
Y2VkVXNlckludGVyZmFjZU5vdGlmaWNhdGlvbiI7CiBzdGF0aWMgQ0ZTdHJpbmdSZWYgQXBwbGVD
b2xvclByZWZlcmVuY2VzQ2hhbmdlZE5vdGlmaWNhdGlvbiA9IENGU1RSKCJBcHBsZUNvbG9yUHJl
ZmVyZW5jZXNDaGFuZ2VkTm90aWZpY2F0aW9uIik7CiAjZW5kaWYKLXN0YXRpYyBjb25zdCBjaGFy
KiBjb25zdCBXZWJLaXRDYXB0aXZlUG9ydGFsTW9kZUNoYW5nZWROb3RpZmljYXRpb24gPSAiV2Vi
S2l0Q2FwdGl2ZVBvcnRhbE1vZGVFbmFibGVkIjsKK3N0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBX
ZWJLaXRDYXB0aXZlUG9ydGFsTW9kZUNoYW5nZWROb3RpZmljYXRpb25fTGVnYWN5ID0gIldlYktp
dENhcHRpdmVQb3J0YWxNb2RlRW5hYmxlZCI7CiAKIHN0YXRpYyBOU1N0cmluZyAqIGNvbnN0IFdl
YktpdFN1cHByZXNzTWVtb3J5UHJlc3N1cmVIYW5kbGVyRGVmYXVsdHNLZXkgPSBAIldlYktpdFN1
cHByZXNzTWVtb3J5UHJlc3N1cmVIYW5kbGVyIjsKIApAQCAtNjIyLDYgKzYyNCwxNCBAQCB2b2lk
IFdlYlByb2Nlc3NQb29sOjpyZW1vdGVXZWJJbnNwZWN0b3JFbmFibGVkQ2FsbGJhY2soQ0ZOb3Rp
ZmljYXRpb25DZW50ZXJSZWYsCiB9CiAjZW5kaWYKIAorI2lmIFBMQVRGT1JNKElPU19GQU1JTFkp
Cit2b2lkIFdlYlByb2Nlc3NQb29sOjpjYXB0aXZlUG9ydGFsTW9kZUNvbmZpZ1VwZGF0ZUNhbGxi
YWNrKENGTm90aWZpY2F0aW9uQ2VudGVyUmVmLCB2b2lkKiBvYnNlcnZlciwgQ0ZTdHJpbmdSZWYs
IGNvbnN0IHZvaWQqLCBDRkRpY3Rpb25hcnlSZWYpCit7CisgICAgaWYgKGF1dG8gcG9vbCA9IGV4
dHJhY3RXZWJQcm9jZXNzUG9vbChvYnNlcnZlcikpCisgICAgICAgIHBvb2wtPmNhcHRpdmVQb3J0
YWxNb2RlU3RhdGVDaGFuZ2VkKCk7Cit9CisjZW5kaWYKKwogI2lmIEVOQUJMRShDRlBSRUZTX0RJ
UkVDVF9NT0RFKQogdm9pZCBXZWJQcm9jZXNzUG9vbDo6c3RhcnRPYnNlcnZpbmdQcmVmZXJlbmNl
Q2hhbmdlcygpCiB7CkBAIC03MzUsNiArNzQ1LDEwIEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnJl
Z2lzdGVyTm90aWZpY2F0aW9uT2JzZXJ2ZXJzKCkKICAgICAgICAgc2VuZFRvQWxsUHJvY2Vzc2Vz
KE1lc3NhZ2VzOjpXZWJQcm9jZXNzOjpQb3dlclNvdXJjZURpZENoYW5nZShoYXNBQykpOwogICAg
IH0pOwogCisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyAgICBhZGRDRk5vdGlmaWNhdGlvbk9i
c2VydmVyKGNhcHRpdmVQb3J0YWxNb2RlQ29uZmlnVXBkYXRlQ2FsbGJhY2ssIChfX2JyaWRnZSBD
RlN0cmluZ1JlZilXS0NhcHRpdmVQb3J0YWxNb2RlQ29udGFpbmVyQ29uZmlndXJhdGlvbkNoYW5n
ZWROb3RpZmljYXRpb24pOworI2VuZGlmCisKICNpZiBIQVZFKFBFUl9BUFBfQUNDRVNTSUJJTElU
WV9QUkVGRVJFTkNFUykKICAgICBhZGRDRk5vdGlmaWNhdGlvbk9ic2VydmVyKGFjY2Vzc2liaWxp
dHlQcmVmZXJlbmNlc0NoYW5nZWRDYWxsYmFjaywga0FYU1JlZHVjZU1vdGlvbkNoYW5nZWROb3Rp
ZmljYXRpb24pOwogICAgIGFkZENGTm90aWZpY2F0aW9uT2JzZXJ2ZXIoYWNjZXNzaWJpbGl0eVBy
ZWZlcmVuY2VzQ2hhbmdlZENhbGxiYWNrLCBrQVhTSW5jcmVhc2VCdXR0b25MZWdpYmlsaXR5Tm90
aWZpY2F0aW9uKTsKQEAgLTc3OCw2ICs3OTIsMTAgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6dW5y
ZWdpc3Rlck5vdGlmaWNhdGlvbk9ic2VydmVycygpCiAgICAgW1tOU05vdGlmaWNhdGlvbkNlbnRl
ciBkZWZhdWx0Q2VudGVyXSByZW1vdmVPYnNlcnZlcjptX2FjdGl2YXRpb25PYnNlcnZlci5nZXQo
KV07CiAKICAgICBtX3Bvd2VyU291cmNlTm90aWZpZXIgPSBudWxscHRyOworICAgIAorI2lmIFBM
QVRGT1JNKElPU19GQU1JTFkpCisgICAgcmVtb3ZlQ0ZOb3RpZmljYXRpb25PYnNlcnZlcigoX19i
cmlkZ2UgQ0ZTdHJpbmdSZWYpV0tDYXB0aXZlUG9ydGFsTW9kZUNvbnRhaW5lckNvbmZpZ3VyYXRp
b25DaGFuZ2VkTm90aWZpY2F0aW9uKTsKKyNlbmRpZgogCiAjaWYgSEFWRShQRVJfQVBQX0FDQ0VT
U0lCSUxJVFlfUFJFRkVSRU5DRVMpCiAgICAgcmVtb3ZlQ0ZOb3RpZmljYXRpb25PYnNlcnZlcihr
QVhTUmVkdWNlTW90aW9uQ2hhbmdlZE5vdGlmaWNhdGlvbik7CkBAIC05MzAsNyArOTQ4LDIzIEBA
IHN0YXRpYyBib29sIGlzQ2FwdGl2ZVBvcnRhbE1vZGVFbmFibGVkQnlTeXN0ZW1JZ25vcmluZ0Nh
Y2hpbmcoKQogICAgIGlmIChhdXRvJiBlbmFibGVkRm9yVGVzdGluZyA9IGlzQ2FwdGl2ZVBvcnRh
bE1vZGVFbmFibGVkR2xvYmFsbHlGb3JUZXN0aW5nKCkpCiAgICAgICAgIHJldHVybiAqZW5hYmxl
ZEZvclRlc3Rpbmc7CiAKLSAgICByZXR1cm4gW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJE
ZWZhdWx0c10gYm9vbEZvcktleTpbTlNTdHJpbmcgc3RyaW5nV2l0aFVURjhTdHJpbmc6V2ViS2l0
Q2FwdGl2ZVBvcnRhbE1vZGVDaGFuZ2VkTm90aWZpY2F0aW9uXV07CisgICAgaWYgKFtbTlNVc2Vy
RGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIGJvb2xGb3JLZXk6W05TU3RyaW5nIHN0cmlu
Z1dpdGhVVEY4U3RyaW5nOldlYktpdENhcHRpdmVQb3J0YWxNb2RlQ2hhbmdlZE5vdGlmaWNhdGlv
bl9MZWdhY3ldXSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICBpZiAoIVtfV0tTeXN0ZW1Q
cmVmZXJlbmNlcyBpc0NhcHRpdmVQb3J0YWxNb2RlRW5hYmxlZEdsb2JhbGx5XSkKKyAgICAgICAg
cmV0dXJuIGZhbHNlOworCisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyAgICBpZiAocHJvY2Vz
c0hhc0NvbnRhaW5lcigpICYmIFtfV0tTeXN0ZW1QcmVmZXJlbmNlcyBpc0NhcHRpdmVQb3J0YWxN
b2RlSWdub3JlZEZvckNvbnRhaW5lcjpwYXRoRm9yUHJvY2Vzc0NvbnRhaW5lcigpXSkKKyAgICAg
ICAgcmV0dXJuIGZhbHNlOworI2VuZGlmCisgICAgCisjaWYgUExBVEZPUk0oTUFDKQorICAgIGlm
ICghV2ViQ29yZTo6TWFjQXBwbGljYXRpb246OmlzU2FmYXJpKCkgJiYgIVdlYkNvcmU6Ok1hY0Fw
cGxpY2F0aW9uOjppc01pbmlCcm93c2VyKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyNlbmRp
ZgorICAgIAorICAgIHJldHVybiB0cnVlOwogfQogCiB2b2lkIFdlYlByb2Nlc3NQb29sOjpjYXB0
aXZlUG9ydGFsTW9kZVN0YXRlQ2hhbmdlZCgpCkBAIC0xMDYzLDcgKzEwOTcsNyBAQCB2b2lkIFdl
YlByb2Nlc3NQb29sOjpub3RpZnlQcmVmZXJlbmNlc0NoYW5nZWQoY29uc3QgU3RyaW5nJiBkb21h
aW4sIGNvbnN0IFN0cmluZwogICAgICAgICB3ZWJBdXRoblByb2Nlc3MtPnNlbmQoTWVzc2FnZXM6
OldlYkF1dGhuUHJvY2Vzczo6Tm90aWZ5UHJlZmVyZW5jZXNDaGFuZ2VkKGRvbWFpbiwga2V5LCBl
bmNvZGVkVmFsdWUpLCAwKTsKICNlbmRpZgogCi0gICAgaWYgKGtleSA9PSBXZWJLaXRDYXB0aXZl
UG9ydGFsTW9kZUNoYW5nZWROb3RpZmljYXRpb24pCisgICAgaWYgKGtleSA9PSBXS0NhcHRpdmVQ
b3J0YWxNb2RlRW5hYmxlZEdsb2JhbGx5S2V5IHx8IGtleSA9PSBXZWJLaXRDYXB0aXZlUG9ydGFs
TW9kZUNoYW5nZWROb3RpZmljYXRpb25fTGVnYWN5KQogICAgICAgICBjYXB0aXZlUG9ydGFsTW9k
ZVN0YXRlQ2hhbmdlZCgpOwogfQogI2VuZGlmIC8vIEVOQUJMRShDRlBSRUZTX0RJUkVDVF9NT0RF
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaCBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmgKaW5kZXggZTI1M2E1ZTcz
YTQ4NjlhYjg5ZDQyMDcwODA2NmYxMDVlZTgxMDg5OC4uZWZlNGMzY2IzOGI5NGI0YjRiMDI1YmZk
ZWRhYWFlYzkxYjRjYWY1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UHJvY2Vzc1Bvb2wuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9v
bC5oCkBAIC01ODQsNiArNTg0LDEwIEBAIHByaXZhdGU6CiAjZW5kaWYKICNlbmRpZgogCisjaWYg
UExBVEZPUk0oSU9TX0ZBTUlMWSkKKyAgICBzdGF0aWMgdm9pZCBjYXB0aXZlUG9ydGFsTW9kZUNv
bmZpZ1VwZGF0ZUNhbGxiYWNrKENGTm90aWZpY2F0aW9uQ2VudGVyUmVmLCB2b2lkKiBvYnNlcnZl
ciwgQ0ZTdHJpbmdSZWYgbmFtZSwgY29uc3Qgdm9pZCogcG9zdGluZ09iamVjdCwgQ0ZEaWN0aW9u
YXJ5UmVmIHVzZXJJbmZvKTsKKyNlbmRpZgorICAgIAogI2lmIFBMQVRGT1JNKENPQ09BKQogICAg
IHN0YXRpYyB2b2lkIGFjY2Vzc2liaWxpdHlQcmVmZXJlbmNlc0NoYW5nZWRDYWxsYmFjayhDRk5v
dGlmaWNhdGlvbkNlbnRlclJlZiwgdm9pZCogb2JzZXJ2ZXIsIENGU3RyaW5nUmVmIG5hbWUsIGNv
bnN0IHZvaWQqIHBvc3RpbmdPYmplY3QsIENGRGljdGlvbmFyeVJlZiB1c2VySW5mbyk7CiAjZW5k
aWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9EaXNwbGF5Q2FwdHVy
ZVNlc3Npb25NYW5hZ2VyLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvRGlzcGxheUNh
cHR1cmVTZXNzaW9uTWFuYWdlci5oCmluZGV4IDYwZDkzYjNjNmExMjhmYjZkMThiMzVlOWE5NzY2
ZjdlOWFlMzAxMGUuLjhlMDRiNzYzODgzMzMwMmIyMTNhMWM0MWE0YTNiYTM2YTQzNWI5NjQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9EaXNwbGF5Q2FwdHVyZVNlc3Np
b25NYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL0Rpc3BsYXlDYXB0
dXJlU2Vzc2lvbk1hbmFnZXIuaApAQCAtMjgsNiArMjgsNyBAQAogI2lmIFBMQVRGT1JNKENPQ09B
KSAmJiBFTkFCTEUoTUVESUFfU1RSRUFNKQogCiAjaW5jbHVkZSAiVXNlck1lZGlhUGVybWlzc2lv
blJlcXVlc3RQcm94eS5oIgorI2luY2x1ZGUgIldlYlBhZ2VQcm94eS5oIgogI2luY2x1ZGUgPFdl
YkNvcmUvU2VjdXJpdHlPcmlnaW5EYXRhLmg+CiAjaW5jbHVkZSA8d3RmL0NvbXBsZXRpb25IYW5k
bGVyLmg+CiAjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL21hYy9EaXNwbGF5Q2FwdHVyZVNlc3Npb25NYW5hZ2VyLm1tIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvbWFjL0Rpc3BsYXlDYXB0dXJlU2Vzc2lvbk1hbmFnZXIubW0KaW5k
ZXggNzk5ZjZmMTNhMjQyOWYwZDc5NjYyNzIxODBjYzY0YzMwNmEyMzJlYy4uODkzZWUyMDUzNGNk
NDY2NmRmODBhMGIxMDFmOWFhODVkMjI3YWRmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvbWFjL0Rpc3BsYXlDYXB0dXJlU2Vzc2lvbk1hbmFnZXIubW0KKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvbWFjL0Rpc3BsYXlDYXB0dXJlU2Vzc2lvbk1hbmFnZXIubW0KQEAg
LTI1NCw3ICsyNTQsNyBAQCBEaXNwbGF5Q2FwdHVyZVNlc3Npb25NYW5hZ2VyOjp+RGlzcGxheUNh
cHR1cmVTZXNzaW9uTWFuYWdlcigpCiB7CiB9CiAKLXZvaWQgRGlzcGxheUNhcHR1cmVTZXNzaW9u
TWFuYWdlcjo6cHJvbXB0Rm9yR2V0RGlzcGxheU1lZGlhKFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1
ZXN0UHJveHk6OlVzZXJNZWRpYURpc3BsYXlDYXB0dXJlUHJvbXB0VHlwZSBwcm9tcHRUeXBlLCBX
ZWJQYWdlUHJveHkmIHBhZ2UsIGNvbnN0IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YSYgb3Jp
Z2luLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9uYWw8Q2FwdHVyZURldmljZT4p
PiYmIGNvbXBsZXRpb25IYW5kbGVyKQordm9pZCBEaXNwbGF5Q2FwdHVyZVNlc3Npb25NYW5hZ2Vy
Ojpwcm9tcHRGb3JHZXREaXNwbGF5TWVkaWEoVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RQcm94
eTo6VXNlck1lZGlhRGlzcGxheUNhcHR1cmVQcm9tcHRUeXBlIHByb21wdFR5cGUsIFdlYlBhZ2VQ
cm94eSYgcGFnZSwgY29uc3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhJiBvcmlnaW4sIENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpDYXB0dXJlRGV2aWNl
Pik+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAgICAgQVNTRVJUKGlzQXZhaWxhYmxlKCkpOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRl
eCA1OTQwMjNiNmRmNjI3MTEwYWRmNTE5ZDQ0M2Y1YWI1YjhhZmU2NDY0Li43Y2FjNjE0MjJjN2Q4
ZDkyYTAyM2M0MTY2YWU5MjNkMzJlZjM4YzA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dl
YktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE0MDksNiArMTQwOSw4IEBACiAJCTgzRjFB
MDdBMUY5NkU3NzkwMDQ1Qjk0RSAvKiBXZWJTV09yaWdpblRhYmxlLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4M0YxQTA3ODFGOTZFNzcxMDA0NUI5NEUg
LyogV2ViU1dPcmlnaW5UYWJsZS5oICovOyB9OwogCQk4M0Y5NjQ0RTFGQTBGNzZFMDBDNDc3NTAg
LyogU2hhcmVkU3RyaW5nSGFzaFRhYmxlUmVhZE9ubHkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDgzRjk2NDRDMUZBMEY3NjMwMEM0Nzc1MCAvKiBTaGFy
ZWRTdHJpbmdIYXNoVGFibGVSZWFkT25seS5oICovOyB9OwogCQk4NDQ3Nzg1MzE3NkZDQzA4MDBD
REM3QkIgLyogSW5qZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0TWVkaWFUeXBlLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NDQ3Nzg1MTE3NkZDQUMxMDBD
REM3QkIgLyogSW5qZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0TWVkaWFUeXBlLmggKi87IH07CisJ
CTg2NDQ4OTBCMjdCNDcwMjAwMDdBMUM2NiAvKiBfV0tTeXN0ZW1QcmVmZXJlbmNlcy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODY0NDg5MEEyN0I0NzAy
MDAwN0ExQzY2IC8qIF9XS1N5c3RlbVByZWZlcmVuY2VzLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJODY0NDg5MEYyN0I1Q0I0MzAwN0ExQzY2IC8q
IF9XS1N5c3RlbVByZWZlcmVuY2VzSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2NDQ4OTBFMjdCNUNCNDMwMDdBMUM2NiAvKiBfV0tTeXN0
ZW1QcmVmZXJlbmNlc0ludGVybmFsLmggKi87IH07CiAJCTg2RTY3QTI1MTkxMEI5RDEwMDAwNEFC
NyAvKiBQcm9jZXNzVGhyb3R0bGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA4NkU2N0EyMTE5MEY0MTE4MDAwMDRBQjcgLyogUHJvY2Vzc1Rocm90dGxl
ci5oICovOyB9OwogCQk4NkY5NTM2NTE4RkY1OEY1MDAxREIyRUYgLyogUHJvY2Vzc0Fzc2VydGlv
bi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODZGOTUz
NjAxOEZGNEZENDAwMURCMkVGIC8qIFByb2Nlc3NBc3NlcnRpb24uaCAqLzsgfTsKIAkJOERDMkVG
NTMwNDg2QTY5NDAwOThCMjE2IC8qIEluZm9QbGlzdC5zdHJpbmdzIGluIFJlc291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwODlDMTY2NkZFODQxMTU4QzAyQUFDMDcg
LyogSW5mb1BsaXN0LnN0cmluZ3MgKi87IH07CkBAIC01Mjg0LDYgKzUyODYsOSBAQAogCQk4M0Y5
NjQ0QjFGQTBGNzYyMDBDNDc3NTAgLyogU2hhcmVkU3RyaW5nSGFzaFRhYmxlUmVhZE9ubHkuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2hhcmVkU3RyaW5nSGFzaFRh
YmxlUmVhZE9ubHkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4M0Y5NjQ0QzFG
QTBGNzYzMDBDNDc3NTAgLyogU2hhcmVkU3RyaW5nSGFzaFRhYmxlUmVhZE9ubHkuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2hhcmVkU3RyaW5nSGFzaFRhYmxlUmVhZE9ubHku
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODQ0Nzc4NTExNzZGQ0FDMTAwQ0RDN0JC
IC8qIEluamVjdGVkQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlwZS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBJbmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGUu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODY0NDg5MEEyN0I0NzAyMDAwN0ExQzY2
IC8qIF9XS1N5c3RlbVByZWZlcmVuY2VzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IF9XS1N5c3RlbVByZWZlcmVuY2VzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTg2NDQ4OTBDMjdCNDcwNDUwMDdBMUM2NiAvKiBfV0tTeXN0ZW1QcmVmZXJlbmNlcy5tbSAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLm9iamNwcDsgcGF0aCA9IF9XS1N5c3RlbVByZWZlcmVuY2VzLm1tOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk4NjQ0ODkwRTI3QjVDQjQzMDA3QTFDNjYgLyogX1dLU3lzdGVtUHJl
ZmVyZW5jZXNJbnRlcm5hbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBfV0tT
eXN0ZW1QcmVmZXJlbmNlc0ludGVybmFsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTg2ODE2MENEMTg3NjNENEIwMDIxRTc5RCAvKiBXaW5kb3dTZXJ2ZXJDb25uZWN0aW9uLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFdpbmRvd1NlcnZlckNvbm5lY3Rpb24uaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJODY4MTYwQ0YxODc2NDUzNzAwMjFFNzlEIC8qIFdpbmRvd1NlcnZlckNvbm5l
Y3Rpb24ubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXaW5kb3dTZXJ2ZXJDb25uZWN0aW9uLm1t
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NkU2N0EyMTE5MEY0MTE4MDAwMDRBQjcg
LyogUHJvY2Vzc1Rocm90dGxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQ
cm9jZXNzVGhyb3R0bGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC04ODgwLDYg
Kzg4ODUsOSBAQAogCQkJCTFBMDAyRDNGMTk2QjMyOTQwMEI5QUQ0NCAvKiBfV0tTZXNzaW9uU3Rh
dGUuaCAqLywKIAkJCQkxQTAwMkQzRTE5NkIzMjk0MDBCOUFENDQgLyogX1dLU2Vzc2lvblN0YXRl
Lm1tICovLAogCQkJCTFBMDAyRDQyMTk2QjMzNzAwMEI5QUQ0NCAvKiBfV0tTZXNzaW9uU3RhdGVJ
bnRlcm5hbC5oICovLAorCQkJCTg2NDQ4OTBBMjdCNDcwMjAwMDdBMUM2NiAvKiBfV0tTeXN0ZW1Q
cmVmZXJlbmNlcy5oICovLAorCQkJCTg2NDQ4OTBDMjdCNDcwNDUwMDdBMUM2NiAvKiBfV0tTeXN0
ZW1QcmVmZXJlbmNlcy5tbSAqLywKKwkJCQk4NjQ0ODkwRTI3QjVDQjQzMDA3QTFDNjYgLyogX1dL
U3lzdGVtUHJlZmVyZW5jZXNJbnRlcm5hbC5oICovLAogCQkJCUY0RDk4NUM3MjY5MEZCRUYwMEJC
Q0NCRSAvKiBfV0tUYXBIYW5kbGluZ1Jlc3VsdC5oICovLAogCQkJCTJERTlCMTM4MjIzMUY2MUMw
MDUyODdCNyAvKiBfV0tUZXh0SW5wdXRDb250ZXh0LmggKi8sCiAJCQkJMkRFOUIxMzcyMjMxRjYx
QzAwNTI4N0I3IC8qIF9XS1RleHRJbnB1dENvbnRleHQubW0gKi8sCkBAIC0xMjg3Nyw2ICsxMjg4
NSw4IEBACiAJCQkJMzc2MzExRkUxQTNGQjYwMDAwNUEyRTUxIC8qIF9XS1NhbWVEb2N1bWVudE5h
dmlnYXRpb25UeXBlSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBMDAyRDQ0MTk2QjMz
ODkwMEI5QUQ0NCAvKiBfV0tTZXNzaW9uU3RhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBMDAy
RDQzMTk2QjMzNzAwMEI5QUQ0NCAvKiBfV0tTZXNzaW9uU3RhdGVJbnRlcm5hbC5oIGluIEhlYWRl
cnMgKi8sCisJCQkJODY0NDg5MEIyN0I0NzAyMDAwN0ExQzY2IC8qIF9XS1N5c3RlbVByZWZlcmVu
Y2VzLmggaW4gSGVhZGVycyAqLywKKwkJCQk4NjQ0ODkwRjI3QjVDQjQzMDA3QTFDNjYgLyogX1dL
U3lzdGVtUHJlZmVyZW5jZXNJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRjREOTg1Qzgy
NjkwRkMxMjAwQkJDQ0JFIC8qIF9XS1RhcEhhbmRsaW5nUmVzdWx0LmggaW4gSGVhZGVycyAqLywK
IAkJCQkyREU5QjEzQTIyMzFGNjFDMDA1Mjg3QjcgLyogX1dLVGV4dElucHV0Q29udGV4dC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMkRFOUIxM0MyMjMxRjc3QzAwNTI4N0I3IC8qIF9XS1RleHRJbnB1
dENvbnRleHRJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>451746</attachid>
            <date>2022-02-11 14:35:30 -0800</date>
            <delta_ts>2022-02-12 17:06:19 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-236135-20220211143528.patch</filename>
            <type>text/plain</type>
            <size>25569</size>
            <attacher name="Gavin">gavin.p</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg5NTU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGYyNmUwMDhhNWQ4ODJkYTkw
MDUyMDg4OTQ4Y2U3ZGZjZTY1NWRlMmUuLmY1Y2M5NWVjMzc2NzIwOTIwMTA5ZTEyYTg4ZTg1ODA5
ZmM3ZmUzYzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzUgQEAKKzIwMjItMDItMTEgIEdhdmluIFBo
aWxsaXBzICA8Z2F2aW4ucEBhcHBsZS5jb20+CisgICAgICAgIAorICAgICAgICBVcGRhdGUgcHJl
ZmVyZW5jZSBsb2NhdGlvbiB1c2VkIGZvciBDYXB0aXZlUG9ydGFsTW9kZS4KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNjEzNQorICAgICAgICA8cmRh
cjovL3Byb2JsZW0vODg0ODY1NDQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBQbGF0Zm9ybU1hYy5jbWFrZToKKyAgICAgICAgKiBTb3VyY2VzQ29j
b2EudHh0OgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLU3lzdGVtUHJlZmVyZW5j
ZXMuaDogQWRkZWQuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tTeXN0ZW1QcmVm
ZXJlbmNlcy5tbTogQWRkZWQuCisgICAgICAgICgrW19XS1N5c3RlbVByZWZlcmVuY2VzIGlzQ2Fw
dGl2ZVBvcnRhbE1vZGVFbmFibGVkXSk6CisgICAgICAgICgrW19XS1N5c3RlbVByZWZlcmVuY2Vz
IHNldENhcHRpdmVQb3J0YWxNb2RlRW5hYmxlZDpdKToKKyAgICAgICAgKCtbX1dLU3lzdGVtUHJl
ZmVyZW5jZXMgaXNDYXB0aXZlUG9ydGFsTW9kZUlnbm9yZWQ6XSk6CisgICAgICAgICgrW19XS1N5
c3RlbVByZWZlcmVuY2VzIHNldENhcHRpdmVQb3J0YWxNb2RlSWdub3JlZDppZ25vcmU6XSk6Cisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tTeXN0ZW1QcmVmZXJlbmNlc0ludGVybmFs
Lmg6IEFkZGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9QcmVmZXJlbmNlT2JzZXJ2ZXIu
bW06CisgICAgICAgICgtW1dLVXNlckRlZmF1bHRzIGZpbmRQcmVmZXJlbmNlQ2hhbmdlc0FuZE5v
dGlmeUZvcktleXM6dG9WYWx1ZXNGb3JLZXlzOl0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2Nv
YS9XZWJQYWdlUHJveHlDb2NvYS5tbToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUHJv
Y2Vzc1Bvb2xDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OmNhcHRp
dmVQb3J0YWxNb2RlQ29uZmlnVXBkYXRlQ2FsbGJhY2spOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
cm9jZXNzUG9vbDo6cmVnaXN0ZXJOb3RpZmljYXRpb25PYnNlcnZlcnMpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQcm9jZXNzUG9vbDo6dW5yZWdpc3Rlck5vdGlmaWNhdGlvbk9ic2VydmVycyk6Cisg
ICAgICAgIChXZWJLaXQ6OmlzQ2FwdGl2ZVBvcnRhbE1vZGVFbmFibGVkQnlTeXN0ZW1JZ25vcmlu
Z0NhY2hpbmcpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6bm90aWZ5UHJlZmVy
ZW5jZXNDaGFuZ2VkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaDoKKyAg
ICAgICAgKiBVSVByb2Nlc3MvbWFjL0Rpc3BsYXlDYXB0dXJlU2Vzc2lvbk1hbmFnZXIuaDoKKyAg
ICAgICAgKiBVSVByb2Nlc3MvbWFjL0Rpc3BsYXlDYXB0dXJlU2Vzc2lvbk1hbmFnZXIubW06Cisg
ICAgICAgIChXZWJLaXQ6OkRpc3BsYXlDYXB0dXJlU2Vzc2lvbk1hbmFnZXI6OnByb21wdEZvckdl
dERpc3BsYXlNZWRpYSk6CisgICAgICAgICogV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2o6CisKIDIwMjItMDItMTAgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+
CiAKICAgICAgICAgU3VwcG9ydCBgV2ViUGFnZVByb3h5OjpyZXBsYWNlU2VsZWN0aW9uV2l0aFBh
c3RlYm9hcmREYXRhKClgIG9uIGlPUwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9y
bU1hYy5jbWFrZSBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm1NYWMuY21ha2UKaW5kZXggZTI5NjZk
NTEzYmI1ODM5ZGYxMmIzMjJhZjJlZWIwNTRlYjRkNjY1NS4uMTAwZGY4MGIyN2NhNzgwMTBiMmYx
ZGQ4MDczNjE3NDQwZDUyNmE3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybU1h
Yy5jbWFrZQorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtTWFjLmNtYWtlCkBAIC00NjAsNiAr
NDYwLDcgQEAgbGlzdChBUFBFTkQgV2ViS2l0X1BVQkxJQ19GUkFNRVdPUktfSEVBREVSUwogICAg
IFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLUmVzb3VyY2VMb2FkU3RhdGlzdGljc0ZpcnN0UGFydHku
aAogICAgIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLUmVzb3VyY2VMb2FkU3RhdGlzdGljc1RoaXJk
UGFydHkuaAogICAgIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLU2Vzc2lvblN0YXRlLmgKKyAgICBV
SVByb2Nlc3MvQVBJL0NvY29hL19XS1N5c3RlbVByZWZlcmVuY2VzLmgKICAgICBVSVByb2Nlc3Mv
QVBJL0NvY29hL19XS1RhcEhhbmRsaW5nUmVzdWx0LmgKICAgICBVSVByb2Nlc3MvQVBJL0NvY29h
L19XS1RleHRJbnB1dENvbnRleHQuaAogICAgIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLVGV4dE1h
bmlwdWxhdGlvbkNvbmZpZ3VyYXRpb24uaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9Tb3Vy
Y2VzQ29jb2EudHh0IGIvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CmluZGV4IDk4OTc0
ZmEwOGI1OWQ0NzdjMjMxZmI1ZDNmYTI3MWEwOWIyZDVkMDEuLjMwODRjMWU4MDg1YmQ4NDk4OTZh
Y2FhMjlmMTlhNDQ2MDkxYTJmNDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU291cmNlc0Nv
Y29hLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQKQEAgLTI5NSw2ICsy
OTUsNyBAQCBVSVByb2Nlc3MvQVBJL0NvY29hL19XS1Byb2Nlc3NQb29sQ29uZmlndXJhdGlvbi5t
bQogVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tSZW1vdGVXZWJJbnNwZWN0b3JWaWV3Q29udHJvbGxl
ci5tbQogVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tSZXNvdXJjZUxvYWRJbmZvLm1tCiBVSVByb2Nl
c3MvQVBJL0NvY29hL19XS1Nlc3Npb25TdGF0ZS5tbQorVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tT
eXN0ZW1QcmVmZXJlbmNlcy5tbQogVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tUZXh0SW5wdXRDb250
ZXh0Lm1tCiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS1RleHRNYW5pcHVsYXRpb25Db25maWd1cmF0
aW9uLm1tCiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS1RleHRNYW5pcHVsYXRpb25FeGNsdXNpb25S
dWxlLm1tCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dL
U3lzdGVtUHJlZmVyZW5jZXMuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9f
V0tTeXN0ZW1QcmVmZXJlbmNlcy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY0ODU5ZmUzMmM3NDBmMTllZmE4OGQ1
MmE3NGY2MmUwZTczNDc5YTIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvX1dLU3lzdGVtUHJlZmVyZW5jZXMuaApAQCAtMCwwICsxLDM3IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDIyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CisjaW1wb3J0IDxX
ZWJLaXQvV0tGb3VuZGF0aW9uLmg+CisKK1dLX0NMQVNTX0FWQUlMQUJMRShtYWNvcyhXS19NQUNf
VEJBKSwgaW9zKFdLX0lPU19UQkEpKQorQGludGVyZmFjZSBfV0tTeXN0ZW1QcmVmZXJlbmNlcyA6
IE5TT2JqZWN0CisKKysgKEJPT0wpaXNDYXB0aXZlUG9ydGFsTW9kZUVuYWJsZWQ7CisrICh2b2lk
KXNldENhcHRpdmVQb3J0YWxNb2RlRW5hYmxlZDooQk9PTCllbmFibGVkOworKyAoQk9PTClpc0Nh
cHRpdmVQb3J0YWxNb2RlSWdub3JlZDooTlNTdHJpbmcgKiljb250YWluZXJQYXRoOworKyAodm9p
ZClzZXRDYXB0aXZlUG9ydGFsTW9kZUlnbm9yZWQ6KE5TU3RyaW5nICopY29udGFpbmVyUGF0aCBp
Z25vcmU6KEJPT0wpaWdub3JlOworCitAZW5kCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvX1dLU3lzdGVtUHJlZmVyZW5jZXMubW0gYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLU3lzdGVtUHJlZmVyZW5jZXMubW0KbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MGJhODI3OWY4ZmJiNTk3YjM3ZDlhYjJkZmFmNGY4NjdkOWM4Njg3NAotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tTeXN0ZW1QcmVmZXJlbmNl
cy5tbQpAQCAtMCwwICsxLDc1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIyIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9ydCAiY29uZmlnLmgiCisj
aW1wb3J0ICJfV0tTeXN0ZW1QcmVmZXJlbmNlc0ludGVybmFsLmgiCisKKyNpbXBvcnQgPHd0Zi9B
c3NlcnRpb25zLmg+CisjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CisKK2NvbnN0ZXhwciBhdXRv
IENhcHRpdmVQb3J0YWxDb25maWd1cmF0aW9uSWdub3JlRmlsZU5hbWUgPSBAImNvbS5hcHBsZS5X
ZWJLaXQuY3BtY29uZmlnX2lnbm9yZSI7CisKK0BpbXBsZW1lbnRhdGlvbiBfV0tTeXN0ZW1QcmVm
ZXJlbmNlcworCisrIChCT09MKWlzQ2FwdGl2ZVBvcnRhbE1vZGVFbmFibGVkCit7CisgICAgYXV0
byBjaGFuZ2VkTm90aWZpY2F0aW9uS2V5ID0gYWRvcHRDRihDRlN0cmluZ0NyZWF0ZVdpdGhDU3Ry
aW5nKGtDRkFsbG9jYXRvckRlZmF1bHQsIFdLQ2FwdGl2ZVBvcnRhbE1vZGVFbmFibGVkS2V5LCBr
Q0ZTdHJpbmdFbmNvZGluZ1VURjgpKTsKKyAgICBhdXRvIHByZWZlcmVuY2VWYWx1ZSA9IGFkb3B0
Q0YoQ0ZQcmVmZXJlbmNlc0NvcHlWYWx1ZShjaGFuZ2VkTm90aWZpY2F0aW9uS2V5LmdldCgpLCBr
Q0ZQcmVmZXJlbmNlc0FueUFwcGxpY2F0aW9uLCBrQ0ZQcmVmZXJlbmNlc0FueVVzZXIsIGtDRlBy
ZWZlcmVuY2VzQ3VycmVudEhvc3QpKTsKKyAgICByZXR1cm4gcHJlZmVyZW5jZVZhbHVlLmdldCgp
ID09IGtDRkJvb2xlYW5UcnVlOworfQorCisrICh2b2lkKXNldENhcHRpdmVQb3J0YWxNb2RlRW5h
YmxlZDooQk9PTCllbmFibGVkCit7CisgICAgYXV0byBjaGFuZ2VkTm90aWZpY2F0aW9uS2V5ID0g
YWRvcHRDRihDRlN0cmluZ0NyZWF0ZVdpdGhDU3RyaW5nKGtDRkFsbG9jYXRvckRlZmF1bHQsIFdL
Q2FwdGl2ZVBvcnRhbE1vZGVFbmFibGVkS2V5LCBrQ0ZTdHJpbmdFbmNvZGluZ1VURjgpKTsKKyAg
ICBDRlByZWZlcmVuY2VzU2V0VmFsdWUoY2hhbmdlZE5vdGlmaWNhdGlvbktleS5nZXQoKSwgZW5h
YmxlZCA/IGtDRkJvb2xlYW5UcnVlIDoga0NGQm9vbGVhbkZhbHNlLCBrQ0ZQcmVmZXJlbmNlc0Fu
eUFwcGxpY2F0aW9uLCBrQ0ZQcmVmZXJlbmNlc0FueVVzZXIsIGtDRlByZWZlcmVuY2VzQ3VycmVu
dEhvc3QpOworICAgIENGUHJlZmVyZW5jZXNTeW5jaHJvbml6ZShrQ0ZQcmVmZXJlbmNlc0FueUFw
cGxpY2F0aW9uLCBrQ0ZQcmVmZXJlbmNlc0FueVVzZXIsIGtDRlByZWZlcmVuY2VzQW55SG9zdCk7
Cit9CisKKysgKEJPT0wpaXNDYXB0aXZlUG9ydGFsTW9kZUlnbm9yZWQ6KE5TU3RyaW5nICopY29u
dGFpbmVyUGF0aAoreworI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCisgICAgTlNTdHJpbmcgKmNw
bWNvbmZpZ0lnbm9yZUZpbGVQYXRoID0gW05TU3RyaW5nIHBhdGhXaXRoQ29tcG9uZW50czpAW2Nv
bnRhaW5lclBhdGgsIEAiTGlicmFyeS9QcmVmZXJlbmNlcy8iLCBDYXB0aXZlUG9ydGFsQ29uZmln
dXJhdGlvbklnbm9yZUZpbGVOYW1lXV07CisgICAgcmV0dXJuIFtbTlNGaWxlTWFuYWdlciBkZWZh
dWx0TWFuYWdlcl0gZmlsZUV4aXN0c0F0UGF0aDpjcG1jb25maWdJZ25vcmVGaWxlUGF0aF07Cisj
ZW5kaWYKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKKysgKHZvaWQpc2V0Q2FwdGl2ZVBvcnRhbE1v
ZGVJZ25vcmVkOihOU1N0cmluZyAqKWNvbnRhaW5lclBhdGggaWdub3JlOihCT09MKWlnbm9yZQor
eworI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCisgICAgTlNTdHJpbmcgKmNwbWNvbmZpZ0lnbm9y
ZUZpbGVQYXRoID0gW05TU3RyaW5nIHBhdGhXaXRoQ29tcG9uZW50czpAW2NvbnRhaW5lclBhdGgs
IEAiTGlicmFyeS9QcmVmZXJlbmNlcy8iLCBDYXB0aXZlUG9ydGFsQ29uZmlndXJhdGlvbklnbm9y
ZUZpbGVOYW1lXV07CisgICAgaWYgKFtbTlNGaWxlTWFuYWdlciBkZWZhdWx0TWFuYWdlcl0gZmls
ZUV4aXN0c0F0UGF0aDpjcG1jb25maWdJZ25vcmVGaWxlUGF0aF0gPT0gaWdub3JlKQorICAgICAg
ICByZXR1cm47CisgICAgCisgICAgaWYgKGlnbm9yZSkKKyAgICAgICAgW1tOU0ZpbGVNYW5hZ2Vy
IGRlZmF1bHRNYW5hZ2VyXSBjcmVhdGVGaWxlQXRQYXRoOmNwbWNvbmZpZ0lnbm9yZUZpbGVQYXRo
IGNvbnRlbnRzOk5VTEwgYXR0cmlidXRlczpOVUxMXTsKKyAgICBlbHNlCisgICAgICAgIFtbTlNG
aWxlTWFuYWdlciBkZWZhdWx0TWFuYWdlcl0gcmVtb3ZlSXRlbUF0UGF0aDpjcG1jb25maWdJZ25v
cmVGaWxlUGF0aCBlcnJvcjpOVUxMXTsKKworICAgIENGTm90aWZpY2F0aW9uQ2VudGVyUG9zdE5v
dGlmaWNhdGlvbihDRk5vdGlmaWNhdGlvbkNlbnRlckdldERhcndpbk5vdGlmeUNlbnRlcigpLCAo
X19icmlkZ2UgQ0ZTdHJpbmdSZWYpV0tDYXB0aXZlUG9ydGFsTW9kZUNvbnRhaW5lckNvbmZpZ3Vy
YXRpb25DaGFuZ2VkTm90aWZpY2F0aW9uLCBudWxscHRyLCBudWxscHRyLCB0cnVlKTsKKyNlbmRp
ZgorfQorCitAZW5kCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29j
b2EvX1dLU3lzdGVtUHJlZmVyZW5jZXNJbnRlcm5hbC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL19XS1N5c3RlbVByZWZlcmVuY2VzSW50ZXJuYWwuaApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5k
YjlmYjM0MGMyNjFjNzU4ZjgwZTVmM2QxYzliNzIwMjVmODQ4OThkCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1N5c3RlbVByZWZlcmVuY2Vz
SW50ZXJuYWwuaApAQCAtMCwwICsxLDI5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIyIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9ydCAiX1dLU3lz
dGVtUHJlZmVyZW5jZXMuaCIKKworY29uc3RleHByIGF1dG8gV0tDYXB0aXZlUG9ydGFsTW9kZUVu
YWJsZWRLZXkgPSAiV0tDYXB0aXZlUG9ydGFsTW9kZUVuYWJsZWQiOworY29uc3RleHByIGF1dG8g
V0tDYXB0aXZlUG9ydGFsTW9kZUNvbnRhaW5lckNvbmZpZ3VyYXRpb25DaGFuZ2VkTm90aWZpY2F0
aW9uID0gQCJXS0NhcHRpdmVQb3J0YWxNb2RlQ29udGFpbmVyQ29uZmlndXJhdGlvbkNoYW5nZWQi
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvUHJlZmVyZW5jZU9i
c2VydmVyLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvUHJlZmVyZW5jZU9ic2Vy
dmVyLm1tCmluZGV4IDM0YmZhNzkyNWQ1ZDQ0ZTBlOWU4MTIwMjQ3OWU3NzU4MTVlYWM2YmMuLjBh
NjFjNzUxNDE2YTE0YzliMDcxMDM4ZTk5OTEzNWFhYTdmOGY5MzQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1ByZWZlcmVuY2VPYnNlcnZlci5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9QcmVmZXJlbmNlT2JzZXJ2ZXIubW0KQEAgLTcxLDYg
KzcxLDcgQEAKICAgICAgICAgICAgIGVuY29kZWRTdHJpbmcgPSBbZGF0YSBiYXNlNjRFbmNvZGVk
U3RyaW5nV2l0aE9wdGlvbnM6MF07CiAgICAgICAgIH0KIAorICAgICAgICBhdXRvIHN5c3RlbVZh
bHVlID0gYWRvcHRDRihDRlByZWZlcmVuY2VzQ29weVZhbHVlKChfX2JyaWRnZSBDRlN0cmluZ1Jl
ZilrZXksIGtDRlByZWZlcmVuY2VzQW55QXBwbGljYXRpb24sIGtDRlByZWZlcmVuY2VzQW55VXNl
ciwga0NGUHJlZmVyZW5jZXNBbnlIb3N0KSk7CiAgICAgICAgIGF1dG8gZ2xvYmFsVmFsdWUgPSBh
ZG9wdENGKENGUHJlZmVyZW5jZXNDb3B5VmFsdWUoKF9fYnJpZGdlIENGU3RyaW5nUmVmKWtleSwg
a0NGUHJlZmVyZW5jZXNBbnlBcHBsaWNhdGlvbiwga0NGUHJlZmVyZW5jZXNDdXJyZW50VXNlciwg
a0NGUHJlZmVyZW5jZXNBbnlIb3N0KSk7CiAgICAgICAgIGF1dG8gZG9tYWluVmFsdWUgPSBhZG9w
dENGKENGUHJlZmVyZW5jZXNDb3B5VmFsdWUoKF9fYnJpZGdlIENGU3RyaW5nUmVmKWtleSwgKF9f
YnJpZGdlIENGU3RyaW5nUmVmKW1fc3VpdGVOYW1lLmdldCgpLCBrQ0ZQcmVmZXJlbmNlc0N1cnJl
bnRVc2VyLCBrQ0ZQcmVmZXJlbmNlc0FueUhvc3QpKTsKIApAQCAtNzgsNyArNzksNyBAQAogICAg
ICAgICAgICAgcmV0dXJuIGEgPT0gYiB8fCBbYSBpc0VxdWFsOmJdOwogICAgICAgICB9OwogCi0g
ICAgICAgIGlmIChwcmVmZXJlbmNlVmFsdWVzQXJlRXF1YWwoKF9fYnJpZGdlIGlkKWdsb2JhbFZh
bHVlLmdldCgpLCBuZXdWYWx1ZSkpCisgICAgICAgIGlmIChwcmVmZXJlbmNlVmFsdWVzQXJlRXF1
YWwoKF9fYnJpZGdlIGlkKXN5c3RlbVZhbHVlLmdldCgpLCBuZXdWYWx1ZSkgfHwgcHJlZmVyZW5j
ZVZhbHVlc0FyZUVxdWFsKChfX2JyaWRnZSBpZClnbG9iYWxWYWx1ZS5nZXQoKSwgbmV3VmFsdWUp
KQogICAgICAgICAgICAgW21fb2JzZXJ2ZXIgcHJlZmVyZW5jZURpZENoYW5nZTpuaWwga2V5Omtl
eSBlbmNvZGVkVmFsdWU6ZW5jb2RlZFN0cmluZ107CiAKICAgICAgICAgaWYgKHByZWZlcmVuY2VW
YWx1ZXNBcmVFcXVhbCgoX19icmlkZ2UgaWQpZG9tYWluVmFsdWUuZ2V0KCksIG5ld1ZhbHVlKSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNv
Y29hLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2Eu
bW0KaW5kZXggMDI2MzZiNTE4OGUzYWM2MmZkNWMyNmUzMWIzNjViYTcyYzIwM2FmMi4uM2M0NzNh
NThlZWZkZWU3MDlmYmE1MjUxMmQzZmQ4ODA3NzBmYjc5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW0KKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW0KQEAgLTM3LDEyICszNywx
NCBAQAogI2ltcG9ydCAiTG9hZFBhcmFtZXRlcnMuaCIKICNpbXBvcnQgIk1vZGFsQ29udGFpbmVy
Q29udHJvbENsYXNzaWZpZXIuaCIKICNpbXBvcnQgIlBhZ2VDbGllbnQuaCIKKyNpbXBvcnQgIlBs
YXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eS5oIgogI2ltcG9ydCAiUXVhcmFudGluZVNQSS5oIgog
I2ltcG9ydCAiUXVpY2tMb29rVGh1bWJuYWlsTG9hZGVyLmgiCiAjaW1wb3J0ICJTYWZlQnJvd3Np
bmdTUEkuaCIKICNpbXBvcnQgIlNhZmVCcm93c2luZ1dhcm5pbmcuaCIKICNpbXBvcnQgIlNoYXJl
ZEJ1ZmZlckNvcHkuaCIKICNpbXBvcnQgIlN5bmFwc2VTUEkuaCIKKyNpbXBvcnQgIlZpZGVvRnVs
bHNjcmVlbk1hbmFnZXJQcm94eS5oIgogI2ltcG9ydCAiV2ViQ29udGV4dE1lbnVQcm94eS5oIgog
I2ltcG9ydCAiV2ViUGFnZS5oIgogI2ltcG9ydCAiV2ViUGFnZU1lc3NhZ2VzLmgiCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1t
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQpp
bmRleCBjNzg2NTY5MTRhNjY0MGVkMmYyYzk5M2ZiNmFmZmEzZDBjYmQ2ZDBkLi41Njk2ZGEzODk4
ODUyN2M3YWU2OTNiOGZjNzFkNmJiNWY0YWU4NjA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0KQEAgLTUyLDYgKzUyLDcg
QEAKICNpbXBvcnQgIldlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaCIKICNpbXBvcnQgIldl
YlByb2Nlc3NNZXNzYWdlcy5oIgogI2ltcG9ydCAiV2luZG93U2VydmVyQ29ubmVjdGlvbi5oIgor
I2ltcG9ydCAiX1dLU3lzdGVtUHJlZmVyZW5jZXNJbnRlcm5hbC5oIgogI2ltcG9ydCA8V2ViQ29y
ZS9BR1hDb21waWxlclNlcnZpY2UuaD4KICNpbXBvcnQgPFdlYkNvcmUvQ29sb3IuaD4KICNpbXBv
cnQgPFdlYkNvcmUvTG9jYWxpemVkRGV2aWNlTW9kZWwuaD4KQEAgLTcwLDYgKzcxLDcgQEAKICNp
bXBvcnQgPHd0Zi9GaWxlU3lzdGVtLmg+CiAjaW1wb3J0IDx3dGYvUHJvY2Vzc1ByaXZpbGVnZS5o
PgogI2ltcG9ydCA8d3RmL1NvZnRMaW5raW5nLmg+CisjaW1wb3J0IDx3dGYvY2YvVHlwZUNhc3Rz
Q0YuaD4KICNpbXBvcnQgPHd0Zi9jb2NvYS9FbnRpdGxlbWVudHMuaD4KICNpbXBvcnQgPHd0Zi9j
b2NvYS9SdW50aW1lQXBwbGljYXRpb25DaGVja3NDb2NvYS5oPgogI2ltcG9ydCA8d3RmL2NvY29h
L1R5cGVDYXN0c0NvY29hLmg+CkBAIC0xMjgsNyArMTMwLDcgQEAgTlNTdHJpbmcgKldlYktpdEpT
Q0ZUTEpJVEVuYWJsZWREZWZhdWx0c0tleSA9IEAiV2ViS2l0SlNDRlRMSklURW5hYmxlZERlZmF1
bHRzS2UKIHN0YXRpYyBOU1N0cmluZyAqV2ViS2l0QXBwbGljYXRpb25EaWRDaGFuZ2VBY2Nlc3Np
YmlsaXR5RW5oYW5jZWRVc2VySW50ZXJmYWNlTm90aWZpY2F0aW9uID0gQCJOU0FwcGxpY2F0aW9u
RGlkQ2hhbmdlQWNjZXNzaWJpbGl0eUVuaGFuY2VkVXNlckludGVyZmFjZU5vdGlmaWNhdGlvbiI7
CiBzdGF0aWMgQ0ZTdHJpbmdSZWYgQXBwbGVDb2xvclByZWZlcmVuY2VzQ2hhbmdlZE5vdGlmaWNh
dGlvbiA9IENGU1RSKCJBcHBsZUNvbG9yUHJlZmVyZW5jZXNDaGFuZ2VkTm90aWZpY2F0aW9uIik7
CiAjZW5kaWYKLXN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBXZWJLaXRDYXB0aXZlUG9ydGFsTW9k
ZUNoYW5nZWROb3RpZmljYXRpb24gPSAiV2ViS2l0Q2FwdGl2ZVBvcnRhbE1vZGVFbmFibGVkIjsK
K3N0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBXZWJLaXRDYXB0aXZlUG9ydGFsTW9kZUNoYW5nZWRO
b3RpZmljYXRpb25fTGVnYWN5ID0gIldlYktpdENhcHRpdmVQb3J0YWxNb2RlRW5hYmxlZCI7CiAK
IHN0YXRpYyBOU1N0cmluZyAqIGNvbnN0IFdlYktpdFN1cHByZXNzTWVtb3J5UHJlc3N1cmVIYW5k
bGVyRGVmYXVsdHNLZXkgPSBAIldlYktpdFN1cHByZXNzTWVtb3J5UHJlc3N1cmVIYW5kbGVyIjsK
IApAQCAtNjIyLDYgKzYyNCwxNCBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjpyZW1vdGVXZWJJbnNw
ZWN0b3JFbmFibGVkQ2FsbGJhY2soQ0ZOb3RpZmljYXRpb25DZW50ZXJSZWYsCiB9CiAjZW5kaWYK
IAorI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCit2b2lkIFdlYlByb2Nlc3NQb29sOjpjYXB0aXZl
UG9ydGFsTW9kZUNvbmZpZ1VwZGF0ZUNhbGxiYWNrKENGTm90aWZpY2F0aW9uQ2VudGVyUmVmLCB2
b2lkKiBvYnNlcnZlciwgQ0ZTdHJpbmdSZWYsIGNvbnN0IHZvaWQqLCBDRkRpY3Rpb25hcnlSZWYp
Cit7CisgICAgaWYgKGF1dG8gcG9vbCA9IGV4dHJhY3RXZWJQcm9jZXNzUG9vbChvYnNlcnZlcikp
CisgICAgICAgIHBvb2wtPmNhcHRpdmVQb3J0YWxNb2RlU3RhdGVDaGFuZ2VkKCk7Cit9CisjZW5k
aWYKKwogI2lmIEVOQUJMRShDRlBSRUZTX0RJUkVDVF9NT0RFKQogdm9pZCBXZWJQcm9jZXNzUG9v
bDo6c3RhcnRPYnNlcnZpbmdQcmVmZXJlbmNlQ2hhbmdlcygpCiB7CkBAIC03MzUsNiArNzQ1LDEw
IEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnJlZ2lzdGVyTm90aWZpY2F0aW9uT2JzZXJ2ZXJzKCkK
ICAgICAgICAgc2VuZFRvQWxsUHJvY2Vzc2VzKE1lc3NhZ2VzOjpXZWJQcm9jZXNzOjpQb3dlclNv
dXJjZURpZENoYW5nZShoYXNBQykpOwogICAgIH0pOwogCisjaWYgUExBVEZPUk0oSU9TX0ZBTUlM
WSkKKyAgICBhZGRDRk5vdGlmaWNhdGlvbk9ic2VydmVyKGNhcHRpdmVQb3J0YWxNb2RlQ29uZmln
VXBkYXRlQ2FsbGJhY2ssIChfX2JyaWRnZSBDRlN0cmluZ1JlZilXS0NhcHRpdmVQb3J0YWxNb2Rl
Q29udGFpbmVyQ29uZmlndXJhdGlvbkNoYW5nZWROb3RpZmljYXRpb24pOworI2VuZGlmCisKICNp
ZiBIQVZFKFBFUl9BUFBfQUNDRVNTSUJJTElUWV9QUkVGRVJFTkNFUykKICAgICBhZGRDRk5vdGlm
aWNhdGlvbk9ic2VydmVyKGFjY2Vzc2liaWxpdHlQcmVmZXJlbmNlc0NoYW5nZWRDYWxsYmFjaywg
a0FYU1JlZHVjZU1vdGlvbkNoYW5nZWROb3RpZmljYXRpb24pOwogICAgIGFkZENGTm90aWZpY2F0
aW9uT2JzZXJ2ZXIoYWNjZXNzaWJpbGl0eVByZWZlcmVuY2VzQ2hhbmdlZENhbGxiYWNrLCBrQVhT
SW5jcmVhc2VCdXR0b25MZWdpYmlsaXR5Tm90aWZpY2F0aW9uKTsKQEAgLTc3OCw2ICs3OTIsMTAg
QEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6dW5yZWdpc3Rlck5vdGlmaWNhdGlvbk9ic2VydmVycygp
CiAgICAgW1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSByZW1vdmVPYnNlcnZl
cjptX2FjdGl2YXRpb25PYnNlcnZlci5nZXQoKV07CiAKICAgICBtX3Bvd2VyU291cmNlTm90aWZp
ZXIgPSBudWxscHRyOworICAgIAorI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCisgICAgcmVtb3Zl
Q0ZOb3RpZmljYXRpb25PYnNlcnZlcigoX19icmlkZ2UgQ0ZTdHJpbmdSZWYpV0tDYXB0aXZlUG9y
dGFsTW9kZUNvbnRhaW5lckNvbmZpZ3VyYXRpb25DaGFuZ2VkTm90aWZpY2F0aW9uKTsKKyNlbmRp
ZgogCiAjaWYgSEFWRShQRVJfQVBQX0FDQ0VTU0lCSUxJVFlfUFJFRkVSRU5DRVMpCiAgICAgcmVt
b3ZlQ0ZOb3RpZmljYXRpb25PYnNlcnZlcihrQVhTUmVkdWNlTW90aW9uQ2hhbmdlZE5vdGlmaWNh
dGlvbik7CkBAIC05MzAsNyArOTQ4LDIzIEBAIHN0YXRpYyBib29sIGlzQ2FwdGl2ZVBvcnRhbE1v
ZGVFbmFibGVkQnlTeXN0ZW1JZ25vcmluZ0NhY2hpbmcoKQogICAgIGlmIChhdXRvJiBlbmFibGVk
Rm9yVGVzdGluZyA9IGlzQ2FwdGl2ZVBvcnRhbE1vZGVFbmFibGVkR2xvYmFsbHlGb3JUZXN0aW5n
KCkpCiAgICAgICAgIHJldHVybiAqZW5hYmxlZEZvclRlc3Rpbmc7CiAKLSAgICByZXR1cm4gW1tO
U1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gYm9vbEZvcktleTpbTlNTdHJpbmcg
c3RyaW5nV2l0aFVURjhTdHJpbmc6V2ViS2l0Q2FwdGl2ZVBvcnRhbE1vZGVDaGFuZ2VkTm90aWZp
Y2F0aW9uXV07CisgICAgaWYgKFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNd
IGJvb2xGb3JLZXk6W05TU3RyaW5nIHN0cmluZ1dpdGhVVEY4U3RyaW5nOldlYktpdENhcHRpdmVQ
b3J0YWxNb2RlQ2hhbmdlZE5vdGlmaWNhdGlvbl9MZWdhY3ldXSkKKyAgICAgICAgcmV0dXJuIHRy
dWU7CisKKyAgICBpZiAoIVtfV0tTeXN0ZW1QcmVmZXJlbmNlcyBpc0NhcHRpdmVQb3J0YWxNb2Rl
RW5hYmxlZF0pCisgICAgICAgIHJldHVybiBmYWxzZTsKKworI2lmIFBMQVRGT1JNKElPU19GQU1J
TFkpCisgICAgaWYgKHByb2Nlc3NIYXNDb250YWluZXIoKSAmJiBbX1dLU3lzdGVtUHJlZmVyZW5j
ZXMgaXNDYXB0aXZlUG9ydGFsTW9kZUlnbm9yZWQ6cGF0aEZvclByb2Nlc3NDb250YWluZXIoKV0p
CisgICAgICAgIHJldHVybiBmYWxzZTsKKyNlbmRpZgorICAgIAorI2lmIFBMQVRGT1JNKE1BQykK
KyAgICBpZiAoIVdlYkNvcmU6Ok1hY0FwcGxpY2F0aW9uOjppc1NhZmFyaSgpICYmICFXZWJDb3Jl
OjpNYWNBcHBsaWNhdGlvbjo6aXNNaW5pQnJvd3NlcigpKQorICAgICAgICByZXR1cm4gZmFsc2U7
CisjZW5kaWYKKyAgICAKKyAgICByZXR1cm4gdHJ1ZTsKIH0KIAogdm9pZCBXZWJQcm9jZXNzUG9v
bDo6Y2FwdGl2ZVBvcnRhbE1vZGVTdGF0ZUNoYW5nZWQoKQpAQCAtMTA2Myw3ICsxMDk3LDcgQEAg
dm9pZCBXZWJQcm9jZXNzUG9vbDo6bm90aWZ5UHJlZmVyZW5jZXNDaGFuZ2VkKGNvbnN0IFN0cmlu
ZyYgZG9tYWluLCBjb25zdCBTdHJpbmcKICAgICAgICAgd2ViQXV0aG5Qcm9jZXNzLT5zZW5kKE1l
c3NhZ2VzOjpXZWJBdXRoblByb2Nlc3M6Ok5vdGlmeVByZWZlcmVuY2VzQ2hhbmdlZChkb21haW4s
IGtleSwgZW5jb2RlZFZhbHVlKSwgMCk7CiAjZW5kaWYKIAotICAgIGlmIChrZXkgPT0gV2ViS2l0
Q2FwdGl2ZVBvcnRhbE1vZGVDaGFuZ2VkTm90aWZpY2F0aW9uKQorICAgIGlmIChrZXkgPT0gV0tD
YXB0aXZlUG9ydGFsTW9kZUVuYWJsZWRLZXkgfHwga2V5ID09IFdlYktpdENhcHRpdmVQb3J0YWxN
b2RlQ2hhbmdlZE5vdGlmaWNhdGlvbl9MZWdhY3kpCiAgICAgICAgIGNhcHRpdmVQb3J0YWxNb2Rl
U3RhdGVDaGFuZ2VkKCk7CiB9CiAjZW5kaWYgLy8gRU5BQkxFKENGUFJFRlNfRElSRUNUX01PREUp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaAppbmRleCBlMjUzYTVlNzNh
NDg2OWFiODlkNDIwNzA4MDY2ZjEwNWVlODEwODk4Li5lZmU0YzNjYjM4Yjk0YjRiNGIwMjViZmRl
ZGFhYWVjOTFiNGNhZjUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
cm9jZXNzUG9vbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29s
LmgKQEAgLTU4NCw2ICs1ODQsMTAgQEAgcHJpdmF0ZToKICNlbmRpZgogI2VuZGlmCiAKKyNpZiBQ
TEFURk9STShJT1NfRkFNSUxZKQorICAgIHN0YXRpYyB2b2lkIGNhcHRpdmVQb3J0YWxNb2RlQ29u
ZmlnVXBkYXRlQ2FsbGJhY2soQ0ZOb3RpZmljYXRpb25DZW50ZXJSZWYsIHZvaWQqIG9ic2VydmVy
LCBDRlN0cmluZ1JlZiBuYW1lLCBjb25zdCB2b2lkKiBwb3N0aW5nT2JqZWN0LCBDRkRpY3Rpb25h
cnlSZWYgdXNlckluZm8pOworI2VuZGlmCisgICAgCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAg
c3RhdGljIHZvaWQgYWNjZXNzaWJpbGl0eVByZWZlcmVuY2VzQ2hhbmdlZENhbGxiYWNrKENGTm90
aWZpY2F0aW9uQ2VudGVyUmVmLCB2b2lkKiBvYnNlcnZlciwgQ0ZTdHJpbmdSZWYgbmFtZSwgY29u
c3Qgdm9pZCogcG9zdGluZ09iamVjdCwgQ0ZEaWN0aW9uYXJ5UmVmIHVzZXJJbmZvKTsKICNlbmRp
ZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL0Rpc3BsYXlDYXB0dXJl
U2Vzc2lvbk1hbmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9EaXNwbGF5Q2Fw
dHVyZVNlc3Npb25NYW5hZ2VyLmgKaW5kZXggNjBkOTNiM2M2YTEyOGZiNmQxOGIzNWU5YTk3NjZm
N2U5YWUzMDEwZS4uOGUwNGI3NjM4ODMzMzAyYjIxM2ExYzQxYTRhM2JhMzZhNDM1Yjk2NCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL0Rpc3BsYXlDYXB0dXJlU2Vzc2lv
bk1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvRGlzcGxheUNhcHR1
cmVTZXNzaW9uTWFuYWdlci5oCkBAIC0yOCw2ICsyOCw3IEBACiAjaWYgUExBVEZPUk0oQ09DT0Ep
ICYmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAKICNpbmNsdWRlICJVc2VyTWVkaWFQZXJtaXNzaW9u
UmVxdWVzdFByb3h5LmgiCisjaW5jbHVkZSAiV2ViUGFnZVByb3h5LmgiCiAjaW5jbHVkZSA8V2Vi
Q29yZS9TZWN1cml0eU9yaWdpbkRhdGEuaD4KICNpbmNsdWRlIDx3dGYvQ29tcGxldGlvbkhhbmRs
ZXIuaD4KICNpbmNsdWRlIDx3dGYvV2Vha1B0ci5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvbWFjL0Rpc3BsYXlDYXB0dXJlU2Vzc2lvbk1hbmFnZXIubW0gYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9tYWMvRGlzcGxheUNhcHR1cmVTZXNzaW9uTWFuYWdlci5tbQppbmRl
eCA3OTlmNmYxM2EyNDI5ZjBkNzk2NjI3MjE4MGNjNjRjMzA2YTIzMmVjLi44OTNlZTIwNTM0Y2Q0
NjY2ZGY4MGEwYjEwMWY5YWE4NWQyMjdhZGZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9tYWMvRGlzcGxheUNhcHR1cmVTZXNzaW9uTWFuYWdlci5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9tYWMvRGlzcGxheUNhcHR1cmVTZXNzaW9uTWFuYWdlci5tbQpAQCAt
MjU0LDcgKzI1NCw3IEBAIERpc3BsYXlDYXB0dXJlU2Vzc2lvbk1hbmFnZXI6On5EaXNwbGF5Q2Fw
dHVyZVNlc3Npb25NYW5hZ2VyKCkKIHsKIH0KIAotdm9pZCBEaXNwbGF5Q2FwdHVyZVNlc3Npb25N
YW5hZ2VyOjpwcm9tcHRGb3JHZXREaXNwbGF5TWVkaWEoVXNlck1lZGlhUGVybWlzc2lvblJlcXVl
c3RQcm94eTo6VXNlck1lZGlhRGlzcGxheUNhcHR1cmVQcm9tcHRUeXBlIHByb21wdFR5cGUsIFdl
YlBhZ2VQcm94eSYgcGFnZSwgY29uc3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhJiBvcmln
aW4sIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoc3RkOjpvcHRpb25hbDxDYXB0dXJlRGV2aWNlPik+
JiYgY29tcGxldGlvbkhhbmRsZXIpCit2b2lkIERpc3BsYXlDYXB0dXJlU2Vzc2lvbk1hbmFnZXI6
OnByb21wdEZvckdldERpc3BsYXlNZWRpYShVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdFByb3h5
OjpVc2VyTWVkaWFEaXNwbGF5Q2FwdHVyZVByb21wdFR5cGUgcHJvbXB0VHlwZSwgV2ViUGFnZVBy
b3h5JiBwYWdlLCBjb25zdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEmIG9yaWdpbiwgQ29t
cGxldGlvbkhhbmRsZXI8dm9pZChzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkNhcHR1cmVEZXZpY2U+
KT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKICAgICBBU1NFUlQoaXNBdmFpbGFibGUoKSk7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4
IDU5NDAyM2I2ZGY2MjcxMTBhZGY1MTlkNDQzZjVhYjViOGFmZTY0NjQuLjdjYWM2MTQyMmM3ZDhk
OTJhMDIzYzQxNjZhZTkyM2QzMmVmMzhjMDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
S2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTQwOSw2ICsxNDA5LDggQEAKIAkJODNGMUEw
N0ExRjk2RTc3OTAwNDVCOTRFIC8qIFdlYlNXT3JpZ2luVGFibGUuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDgzRjFBMDc4MUY5NkU3NzEwMDQ1Qjk0RSAv
KiBXZWJTV09yaWdpblRhYmxlLmggKi87IH07CiAJCTgzRjk2NDRFMUZBMEY3NkUwMEM0Nzc1MCAv
KiBTaGFyZWRTdHJpbmdIYXNoVGFibGVSZWFkT25seS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODNGOTY0NEMxRkEwRjc2MzAwQzQ3NzUwIC8qIFNoYXJl
ZFN0cmluZ0hhc2hUYWJsZVJlYWRPbmx5LmggKi87IH07CiAJCTg0NDc3ODUzMTc2RkNDMDgwMENE
QzdCQiAvKiBJbmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGUuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg0NDc3ODUxMTc2RkNBQzEwMENE
QzdCQiAvKiBJbmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGUuaCAqLzsgfTsKKwkJ
ODY0NDg5MEIyN0I0NzAyMDAwN0ExQzY2IC8qIF9XS1N5c3RlbVByZWZlcmVuY2VzLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NjQ0ODkwQTI3QjQ3MDIw
MDA3QTFDNjYgLyogX1dLU3lzdGVtUHJlZmVyZW5jZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk4NjQ0ODkwRjI3QjVDQjQzMDA3QTFDNjYgLyog
X1dLU3lzdGVtUHJlZmVyZW5jZXNJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gODY0NDg5MEUyN0I1Q0I0MzAwN0ExQzY2IC8qIF9XS1N5c3Rl
bVByZWZlcmVuY2VzSW50ZXJuYWwuaCAqLzsgfTsKIAkJODZFNjdBMjUxOTEwQjlEMTAwMDA0QUI3
IC8qIFByb2Nlc3NUaHJvdHRsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDg2RTY3QTIxMTkwRjQxMTgwMDAwNEFCNyAvKiBQcm9jZXNzVGhyb3R0bGVy
LmggKi87IH07CiAJCTg2Rjk1MzY1MThGRjU4RjUwMDFEQjJFRiAvKiBQcm9jZXNzQXNzZXJ0aW9u
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NkY5NTM2
MDE4RkY0RkQ0MDAxREIyRUYgLyogUHJvY2Vzc0Fzc2VydGlvbi5oICovOyB9OwogCQk4REMyRUY1
MzA0ODZBNjk0MDA5OEIyMTYgLyogSW5mb1BsaXN0LnN0cmluZ3MgaW4gUmVzb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4OUMxNjY2RkU4NDExNThDMDJBQUMwNyAv
KiBJbmZvUGxpc3Quc3RyaW5ncyAqLzsgfTsKQEAgLTUyODQsNiArNTI4Niw5IEBACiAJCTgzRjk2
NDRCMUZBMEY3NjIwMEM0Nzc1MCAvKiBTaGFyZWRTdHJpbmdIYXNoVGFibGVSZWFkT25seS5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTaGFyZWRTdHJpbmdIYXNoVGFi
bGVSZWFkT25seS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTgzRjk2NDRDMUZB
MEY3NjMwMEM0Nzc1MCAvKiBTaGFyZWRTdHJpbmdIYXNoVGFibGVSZWFkT25seS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTaGFyZWRTdHJpbmdIYXNoVGFibGVSZWFkT25seS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NDQ3Nzg1MTE3NkZDQUMxMDBDREM3QkIg
LyogSW5qZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0TWVkaWFUeXBlLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEluamVjdGVkQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlwZS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NjQ0ODkwQTI3QjQ3MDIwMDA3QTFDNjYg
LyogX1dLU3lzdGVtUHJlZmVyZW5jZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gX1dLU3lzdGVtUHJlZmVyZW5jZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
ODY0NDg5MEMyN0I0NzA0NTAwN0ExQzY2IC8qIF9XS1N5c3RlbVByZWZlcmVuY2VzLm1tICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAub2JqY3BwOyBwYXRoID0gX1dLU3lzdGVtUHJlZmVyZW5jZXMubW07IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTg2NDQ4OTBFMjdCNUNCNDMwMDdBMUM2NiAvKiBfV0tTeXN0ZW1QcmVm
ZXJlbmNlc0ludGVybmFsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IF9XS1N5
c3RlbVByZWZlcmVuY2VzSW50ZXJuYWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
ODY4MTYwQ0QxODc2M0Q0QjAwMjFFNzlEIC8qIFdpbmRvd1NlcnZlckNvbm5lY3Rpb24uaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gV2luZG93U2VydmVyQ29ubmVjdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk4NjgxNjBDRjE4NzY0NTM3MDAyMUU3OUQgLyogV2luZG93U2VydmVyQ29ubmVj
dGlvbi5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdpbmRvd1NlcnZlckNvbm5lY3Rpb24ubW07
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg2RTY3QTIxMTkwRjQxMTgwMDAwNEFCNyAv
KiBQcm9jZXNzVGhyb3R0bGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBy
b2Nlc3NUaHJvdHRsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTg4ODAsNiAr
ODg4NSw5IEBACiAJCQkJMUEwMDJEM0YxOTZCMzI5NDAwQjlBRDQ0IC8qIF9XS1Nlc3Npb25TdGF0
ZS5oICovLAogCQkJCTFBMDAyRDNFMTk2QjMyOTQwMEI5QUQ0NCAvKiBfV0tTZXNzaW9uU3RhdGUu
bW0gKi8sCiAJCQkJMUEwMDJENDIxOTZCMzM3MDAwQjlBRDQ0IC8qIF9XS1Nlc3Npb25TdGF0ZUlu
dGVybmFsLmggKi8sCisJCQkJODY0NDg5MEEyN0I0NzAyMDAwN0ExQzY2IC8qIF9XS1N5c3RlbVBy
ZWZlcmVuY2VzLmggKi8sCisJCQkJODY0NDg5MEMyN0I0NzA0NTAwN0ExQzY2IC8qIF9XS1N5c3Rl
bVByZWZlcmVuY2VzLm1tICovLAorCQkJCTg2NDQ4OTBFMjdCNUNCNDMwMDdBMUM2NiAvKiBfV0tT
eXN0ZW1QcmVmZXJlbmNlc0ludGVybmFsLmggKi8sCiAJCQkJRjREOTg1QzcyNjkwRkJFRjAwQkJD
Q0JFIC8qIF9XS1RhcEhhbmRsaW5nUmVzdWx0LmggKi8sCiAJCQkJMkRFOUIxMzgyMjMxRjYxQzAw
NTI4N0I3IC8qIF9XS1RleHRJbnB1dENvbnRleHQuaCAqLywKIAkJCQkyREU5QjEzNzIyMzFGNjFD
MDA1Mjg3QjcgLyogX1dLVGV4dElucHV0Q29udGV4dC5tbSAqLywKQEAgLTEyODc3LDYgKzEyODg1
LDggQEAKIAkJCQkzNzYzMTFGRTFBM0ZCNjAwMDA1QTJFNTEgLyogX1dLU2FtZURvY3VtZW50TmF2
aWdhdGlvblR5cGVJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUEwMDJENDQxOTZCMzM4
OTAwQjlBRDQ0IC8qIF9XS1Nlc3Npb25TdGF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUEwMDJE
NDMxOTZCMzM3MDAwQjlBRDQ0IC8qIF9XS1Nlc3Npb25TdGF0ZUludGVybmFsLmggaW4gSGVhZGVy
cyAqLywKKwkJCQk4NjQ0ODkwQjI3QjQ3MDIwMDA3QTFDNjYgLyogX1dLU3lzdGVtUHJlZmVyZW5j
ZXMuaCBpbiBIZWFkZXJzICovLAorCQkJCTg2NDQ4OTBGMjdCNUNCNDMwMDdBMUM2NiAvKiBfV0tT
eXN0ZW1QcmVmZXJlbmNlc0ludGVybmFsLmggaW4gSGVhZGVycyAqLywKIAkJCQlGNEQ5ODVDODI2
OTBGQzEyMDBCQkNDQkUgLyogX1dLVGFwSGFuZGxpbmdSZXN1bHQuaCBpbiBIZWFkZXJzICovLAog
CQkJCTJERTlCMTNBMjIzMUY2MUMwMDUyODdCNyAvKiBfV0tUZXh0SW5wdXRDb250ZXh0LmggaW4g
SGVhZGVycyAqLywKIAkJCQkyREU5QjEzQzIyMzFGNzdDMDA1Mjg3QjcgLyogX1dLVGV4dElucHV0
Q29udGV4dEludGVybmFsLmggaW4gSGVhZGVycyAqLywK
</data>

          </attachment>
      

    </bug>

</bugzilla>