<?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>184520</bug_id>
          
          <creation_ts>2018-04-11 17:25:59 -0700</creation_ts>
          <short_desc>[iOS] Add a mechanism for holding Wi-Fi assertions</short_desc>
          <delta_ts>2018-04-12 21:12:51 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>184522</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Andy Estes">aestes</reporter>
          <assigned_to name="Andy Estes">aestes</assigned_to>
          <cc>bdakin</cc>
    
    <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>sam</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1413871</commentid>
    <comment_count>0</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2018-04-11 17:25:59 -0700</bug_when>
    <thetext>[iOS] Add a mechanism for holding Wi-Fi assertions</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1413873</commentid>
    <comment_count>1</comment_count>
      <attachid>337756</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2018-04-11 17:34:44 -0700</bug_when>
    <thetext>Created attachment 337756
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1413881</commentid>
    <comment_count>2</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2018-04-11 17:59:46 -0700</bug_when>
    <thetext>Can this be tested?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1413882</commentid>
    <comment_count>3</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2018-04-11 18:01:30 -0700</bug_when>
    <thetext>(In reply to Sam Weinig from comment #2)
&gt; Can this be tested?

Not with any existing mechanism in WebKit, unfortunately. This is blocked on &lt;rdar://problem/37710976&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1413890</commentid>
    <comment_count>4</comment_count>
      <attachid>337756</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2018-04-11 18:28:00 -0700</bug_when>
    <thetext>Comment on attachment 337756
Patch

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

&gt; Source/WebKit/NetworkProcess/cocoa/WiFiAssertionHolder.cpp:61
&gt; +#include &lt;MobileWiFi/WiFiManagerClient.h&gt;
&gt; +
&gt; +namespace WebKit {
&gt; +
&gt; +static WiFiManagerClientRef ensureWiFiManagerClient()
&gt; +{
&gt; +    static WiFiManagerClientRef wiFiManagerClient = WiFiManagerClientCreate(kCFAllocatorDefault, kWiFiClientTypeNormal);
&gt; +    return wiFiManagerClient;
&gt; +}
&gt; +
&gt; +static uint64_t wiFiAssertionCount;
&gt; +
&gt; +WiFiAssertionHolder::WiFiAssertionHolder()
&gt; +{
&gt; +    if (wiFiAssertionCount++)
&gt; +        return;
&gt; +
&gt; +    RELEASE_LOG(WiFiAssertions, &quot;Acquiring Wi-Fi assertion.&quot;);
&gt; +    WiFiManagerClientSetType(ensureWiFiManagerClient(), kWiFiClientTypeBackground);
&gt; +}
&gt; +
&gt; +WiFiAssertionHolder::~WiFiAssertionHolder()
&gt; +{
&gt; +    ASSERT(wiFiAssertionCount);
&gt; +    if (--wiFiAssertionCount)
&gt; +        return;
&gt; +
&gt; +    RELEASE_LOG(WiFiAssertions, &quot;Releasing Wi-Fi assertion.&quot;);
&gt; +    WiFiManagerClientSetType(ensureWiFiManagerClient(), kWiFiClientTypeNormal);
&gt; +}

This should probably be in a HAVE(MOBILE_WIFI) #ifdef.

Also, it&apos;s a bit confusing that taking the assertion puts things in &quot;background&apos; type, and releasing it makes it normal.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1413892</commentid>
    <comment_count>5</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2018-04-11 18:28:54 -0700</bug_when>
    <thetext>(In reply to Sam Weinig from comment #4)
&gt; Comment on attachment 337756 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=337756&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/NetworkProcess/cocoa/WiFiAssertionHolder.cpp:61
&gt; &gt; +#include &lt;MobileWiFi/WiFiManagerClient.h&gt;
&gt; &gt; +
&gt; &gt; +namespace WebKit {
&gt; &gt; +
&gt; &gt; +static WiFiManagerClientRef ensureWiFiManagerClient()
&gt; &gt; +{
&gt; &gt; +    static WiFiManagerClientRef wiFiManagerClient = WiFiManagerClientCreate(kCFAllocatorDefault, kWiFiClientTypeNormal);
&gt; &gt; +    return wiFiManagerClient;
&gt; &gt; +}
&gt; &gt; +
&gt; &gt; +static uint64_t wiFiAssertionCount;
&gt; &gt; +
&gt; &gt; +WiFiAssertionHolder::WiFiAssertionHolder()
&gt; &gt; +{
&gt; &gt; +    if (wiFiAssertionCount++)
&gt; &gt; +        return;
&gt; &gt; +
&gt; &gt; +    RELEASE_LOG(WiFiAssertions, &quot;Acquiring Wi-Fi assertion.&quot;);
&gt; &gt; +    WiFiManagerClientSetType(ensureWiFiManagerClient(), kWiFiClientTypeBackground);
&gt; &gt; +}
&gt; &gt; +
&gt; &gt; +WiFiAssertionHolder::~WiFiAssertionHolder()
&gt; &gt; +{
&gt; &gt; +    ASSERT(wiFiAssertionCount);
&gt; &gt; +    if (--wiFiAssertionCount)
&gt; &gt; +        return;
&gt; &gt; +
&gt; &gt; +    RELEASE_LOG(WiFiAssertions, &quot;Releasing Wi-Fi assertion.&quot;);
&gt; &gt; +    WiFiManagerClientSetType(ensureWiFiManagerClient(), kWiFiClientTypeNormal);
&gt; &gt; +}
&gt; 
&gt; This should probably be in a HAVE(MOBILE_WIFI) #ifdef.

Ok.

&gt; 
&gt; Also, it&apos;s a bit confusing that taking the assertion puts things in
&gt; &quot;background&apos; type, and releasing it makes it normal.

Agreed. I had to double-check that those are the right types to use. Strangely enough they are.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1413940</commentid>
    <comment_count>6</comment_count>
      <attachid>337773</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2018-04-11 23:19:42 -0700</bug_when>
    <thetext>Created attachment 337773
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1413941</commentid>
    <comment_count>7</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2018-04-11 23:20:10 -0700</bug_when>
    <thetext>rdar://problem/39025726</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1413943</commentid>
    <comment_count>8</comment_count>
      <attachid>337774</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2018-04-11 23:22:10 -0700</bug_when>
    <thetext>Created attachment 337774
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1413954</commentid>
    <comment_count>9</comment_count>
      <attachid>337778</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2018-04-12 00:18:54 -0700</bug_when>
    <thetext>Created attachment 337778
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1413957</commentid>
    <comment_count>10</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2018-04-12 00:55:20 -0700</bug_when>
    <thetext>Committed r230560: &lt;https://trac.webkit.org/changeset/230560&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1414295</commentid>
    <comment_count>11</comment_count>
      <attachid>337778</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-04-12 21:02:16 -0700</bug_when>
    <thetext>Comment on attachment 337778
Patch

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

&gt; Source/WebKit/NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:48
&gt; +#import &lt;WebKitAdditions/NetworkDataTaskCocoaAdditions.mm&gt;

Source/WebKit/NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:48:9: fatal error: &apos;WebKitAdditions/NetworkDataTaskCocoaAdditions.mm&apos; file not found
#import &lt;WebKitAdditions/NetworkDataTaskCocoaAdditions.mm&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1414296</commentid>
    <comment_count>12</comment_count>
      <attachid>337778</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2018-04-12 21:10:05 -0700</bug_when>
    <thetext>Comment on attachment 337778
Patch

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

&gt;&gt; Source/WebKit/NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:48
&gt;&gt; +#import &lt;WebKitAdditions/NetworkDataTaskCocoaAdditions.mm&gt;
&gt; 
&gt; Source/WebKit/NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:48:9: fatal error: &apos;WebKitAdditions/NetworkDataTaskCocoaAdditions.mm&apos; file not found
&gt; #import &lt;WebKitAdditions/NetworkDataTaskCocoaAdditions.mm&gt;

Internal bots seems happy. Did you pull trunk on both repositories?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1414298</commentid>
    <comment_count>13</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-04-12 21:11:12 -0700</bug_when>
    <thetext>(In reply to Wenson Hsieh from comment #12)
&gt; Comment on attachment 337778 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=337778&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebKit/NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:48
&gt; &gt;&gt; +#import &lt;WebKitAdditions/NetworkDataTaskCocoaAdditions.mm&gt;
&gt; &gt; 
&gt; &gt; Source/WebKit/NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:48:9: fatal error: &apos;WebKitAdditions/NetworkDataTaskCocoaAdditions.mm&apos; file not found
&gt; &gt; #import &lt;WebKitAdditions/NetworkDataTaskCocoaAdditions.mm&gt;
&gt; 
&gt; Internal bots seems happy. Did you pull trunk on both repositories?

Yes I did.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1414299</commentid>
    <comment_count>14</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-04-12 21:12:51 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #13)
&gt; (In reply to Wenson Hsieh from comment #12)
&gt; &gt; Comment on attachment 337778 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; View in context:
&gt; &gt; https://bugs.webkit.org/attachment.cgi?id=337778&amp;action=review
&gt; &gt; 
&gt; &gt; &gt;&gt; Source/WebKit/NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:48
&gt; &gt; &gt;&gt; +#import &lt;WebKitAdditions/NetworkDataTaskCocoaAdditions.mm&gt;
&gt; &gt; &gt; 
&gt; &gt; &gt; Source/WebKit/NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:48:9: fatal error: &apos;WebKitAdditions/NetworkDataTaskCocoaAdditions.mm&apos; file not found
&gt; &gt; &gt; #import &lt;WebKitAdditions/NetworkDataTaskCocoaAdditions.mm&gt;
&gt; &gt; 
&gt; &gt; Internal bots seems happy. Did you pull trunk on both repositories?
&gt; 
&gt; Yes I did.

Never mind, I was on a branch...</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>337756</attachid>
            <date>2018-04-11 17:34:44 -0700</date>
            <delta_ts>2018-04-11 23:19:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-184520-20180411173443.patch</filename>
            <type>text/plain</type>
            <size>15857</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMwNDQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGVhMWVlY2NhNmRmYzMzZWMw
NTliZDA1YjZmMWE2ZGZjZjgzOWM3YTIuLjI0YjNkZTI3NDVmYzlkYmE0MDU5NzBjOWQxNjQzYzRi
ZjM4MzViZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzAgQEAKKzIwMTgtMDQtMTEgIEFuZHkgRXN0
ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIEFkZCBhIG1lY2hhbmlzbSBm
b3IgaG9sZGluZyBXaS1GaSBhc3NlcnRpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xODQ1MjAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzM5MDI1
NzI2PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFk
ZCBwbHVtYmluZyBmb3IgaG9sZGluZyBhIFdpLUZpIGFzc2VydGlvbiBvbiBpT1MgYXMgbG9uZyBh
cyB0aGVyZSBhcmUgYWN0aXZlCisgICAgICAgIG5ldHdvcmsgZGF0YSB0YXNrcy4gVGhpcyBmdW5j
dGlvbmFsaXR5IGlzIHR1cm5lZCBvZmYgYnkgZGVmYXVsdCByaWdodCBub3cuCisKKyAgICAgICAg
KiBDb25maWd1cmF0aW9ucy9OZXR3b3JrLWlPUy5lbnRpdGxlbWVudHM6CisgICAgICAgICogTmV0
d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya0RhdGFUYXNrQ29jb2EuaDoKKyAgICAgICAgKiBOZXR3
b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5tbToKKyAgICAgICAgKFdlYktp
dDo6TmV0d29ya0RhdGFUYXNrQ29jb2E6Ok5ldHdvcmtEYXRhVGFza0NvY29hKToKKyAgICAgICAg
KiBOZXR3b3JrUHJvY2Vzcy9jb2NvYS9XaUZpQXNzZXJ0aW9uSG9sZGVyLmNwcDogQWRkZWQuCisg
ICAgICAgIChXZWJLaXQ6OmVuc3VyZVdpRmlNYW5hZ2VyQ2xpZW50KTogQ3JlYXRlIGEgZ2xvYmFs
IFdpRmlNYW5hZ2VyQ2xpZW50IHdoZW4gbmVlZGVkLgorICAgICAgICAoV2ViS2l0OjpXaUZpQXNz
ZXJ0aW9uSG9sZGVyOjpXaUZpQXNzZXJ0aW9uSG9sZGVyKTogSWYgdGhpcyBpcyB0aGUgZmlyc3Qg
YWN0aXZlCisgICAgICAgIFdpLUZpIGFzc2VydGlvbiBob2xkZXIsIHNldCB0aGUgY2xpZW50J3Mg
dHlwZSB0byBrV2lGaUNsaWVudFR5cGVCYWNrZ3JvdW5kLgorICAgICAgICAoV2ViS2l0OjpXaUZp
QXNzZXJ0aW9uSG9sZGVyOjp+V2lGaUFzc2VydGlvbkhvbGRlcik6IElmIHRoZSBsYXN0IGFjdGl2
ZSBXaS1GaQorICAgICAgICBhc3NlcnRpb24gaG9sZGVyIGlzIGJlaW5nIGRlc3Ryb3llZCwgc2V0
IHRoZSBjbGllbnQncyB0eXBlIGJhY2sgdG8KKyAgICAgICAga1dpRmlDbGllbnRUeXBlTm9ybWFs
LgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NvY29hL1dpRmlBc3NlcnRpb25Ib2xkZXIuaDog
QWRkZWQuCisgICAgICAgICogUGxhdGZvcm0vTG9nZ2luZy5oOiBBZGRlZCBhIGxvZ2dpbmcgY2hh
bm5lbCBmb3IgV2ktRmkgYXNzZXJ0aW9ucy4KKyAgICAgICAgKiBSZXNvdXJjZXMvU2FuZGJveFBy
b2ZpbGVzL2lvcy9jb20uYXBwbGUuV2ViS2l0Lk5ldHdvcmtpbmcuc2I6CisgICAgICAgICogV2Vi
S2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisKIDIwMTgtMDQtMDkgIE1pY2hhZWwgQ2F0
YW56YXJvICA8bWNhdGFuemFyb0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIG1v
dmUgJ3VzaW5nIG5hbWVzcGFjZScgYmFjayB0byB0aGUgcmlnaHQgcGxhY2UgYWZ0ZXIgcjIzMDQy
OQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9OZXR3b3JrLWlPUy5l
bnRpdGxlbWVudHMgYi9Tb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL05ldHdvcmstaU9TLmVu
dGl0bGVtZW50cwppbmRleCBiZjg4ZmY2ZWNjNjUwNjQyMzUwMGMxZjBkMDE4Zjc4YWMwODQyMWQ4
Li45NmMyZjlhOGE2OGMxYWZiY2Y0ZGFlMDAyZDFmYTcyMDBmYmZlNGI0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL05ldHdvcmstaU9TLmVudGl0bGVtZW50cworKysg
Yi9Tb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL05ldHdvcmstaU9TLmVudGl0bGVtZW50cwpA
QCAtMiw2ICsyLDggQEAKIDwhRE9DVFlQRSBwbGlzdCBQVUJMSUMgIi0vL0FwcGxlLy9EVEQgUExJ
U1QgMS4wLy9FTiIgImh0dHA6Ly93d3cuYXBwbGUuY29tL0RURHMvUHJvcGVydHlMaXN0LTEuMC5k
dGQiPgogPHBsaXN0IHZlcnNpb249IjEuMCI+CiA8ZGljdD4KKwk8a2V5PmNvbS5hcHBsZS53aWZp
Lm1hbmFnZXItYWNjZXNzPC9rZXk+CisJPHRydWUvPgogCTxrZXk+Y29tLmFwcGxlLnByaXZhdGUu
YWNjb3VudHMuYnVuZGxlaWRzcG9vZmluZzwva2V5PgogCTx0cnVlLz4KIAk8a2V5PnNlYXRiZWx0
LXByb2ZpbGVzPC9rZXk+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29hLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29hLmgKaW5kZXggMWY3Yjg0MmY0MDAyNjE4NzFm
YWJkYzBkZjVlZDUyNTQ1OWFhNDlkMS4uYzM1YzNhZjVmNzUxOTJlMjk2ZWQyMzIzMGU3NjA1MjJj
ZGRkNjQzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9O
ZXR3b3JrRGF0YVRhc2tDb2NvYS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
Y29jb2EvTmV0d29ya0RhdGFUYXNrQ29jb2EuaApAQCAtMjcsNiArMjcsNyBAQAogCiAjaW5jbHVk
ZSAiTmV0d29ya0RhdGFUYXNrLmgiCiAjaW5jbHVkZSAiTmV0d29ya0xvYWRQYXJhbWV0ZXJzLmgi
CisjaW5jbHVkZSAiV2lGaUFzc2VydGlvbkhvbGRlci5oIgogI2luY2x1ZGUgPFdlYkNvcmUvTmV0
d29ya0xvYWRNZXRyaWNzLmg+CiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgogCkBAIC03MSw2
ICs3MiwxNCBAQCBwdWJsaWM6CiAgICAgdWludDY0X3QgZnJhbWVJRCgpIGNvbnN0IHsgcmV0dXJu
IG1fZnJhbWVJRDsgfTsKICAgICB1aW50NjRfdCBwYWdlSUQoKSBjb25zdCB7IHJldHVybiBtX3Bh
Z2VJRDsgfTsKIAorI2lmIEVOQUJMRShXSUZJX0FTU0VSVElPTlMpCisgICAgdm9pZCBhY3F1aXJl
V2lGaUFzc2VydGlvbigpCisgICAgeworICAgICAgICBBU1NFUlQoIW1fd2lGaUFzc2VydGlvbkhv
bGRlcik7CisgICAgICAgIG1fd2lGaUFzc2VydGlvbkhvbGRlci5lbXBsYWNlKCk7CisgICAgfQor
I2VuZGlmCisKIHByaXZhdGU6CiAgICAgTmV0d29ya0RhdGFUYXNrQ29jb2EoTmV0d29ya1Nlc3Np
b24mLCBOZXR3b3JrRGF0YVRhc2tDbGllbnQmLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVl
c3QmLCB1aW50NjRfdCBmcmFtZUlELCB1aW50NjRfdCBwYWdlSUQsIFdlYkNvcmU6OlN0b3JlZENy
ZWRlbnRpYWxzUG9saWN5LCBXZWJDb3JlOjpDb250ZW50U25pZmZpbmdQb2xpY3ksIFdlYkNvcmU6
OkNvbnRlbnRFbmNvZGluZ1NuaWZmaW5nUG9saWN5LCBib29sIHNob3VsZENsZWFyUmVmZXJyZXJP
bkhUVFBTVG9IVFRQUmVkaXJlY3QsIFByZWNvbm5lY3RPbmx5KTsKIApAQCAtOTQsNiArMTAzLDEw
IEBAIHByaXZhdGU6CiAjaWYgSEFWRShDRk5FVFdPUktfU1RPUkFHRV9QQVJUSVRJT05JTkcpCiAg
ICAgYm9vbCBtX2hhc0JlZW5TZXRUb1VzZVN0YXRlbGVzc0Nvb2tpZVN0b3JhZ2UgeyBmYWxzZSB9
OwogI2VuZGlmCisKKyNpZiBFTkFCTEUoV0lGSV9BU1NFUlRJT05TKQorICAgIHN0ZDo6b3B0aW9u
YWw8V2lGaUFzc2VydGlvbkhvbGRlcj4gbV93aUZpQXNzZXJ0aW9uSG9sZGVyOworI2VuZGlmCiB9
OwogCiBXZWJDb3JlOjpDcmVkZW50aWFsIHNlcnZlclRydXN0Q3JlZGVudGlhbChjb25zdCBXZWJD
b3JlOjpBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5tbSBiL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya0RhdGFUYXNrQ29jb2EubW0KaW5kZXgg
OTViYzg0NTVhODc4NmRhY2JiYWU2MzAxOTZmYWJmZTM5YjNkNjBiOS4uNWY2NTJiODFlMDJhYmRh
Mjk4M2JmNmVkNzA1MTJjNjgxMTcyOGU5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29hLm1tCkBAIC00NCw2
ICs0NCwxMCBAQAogI2ltcG9ydCA8d3RmL1Byb2Nlc3NQcml2aWxlZ2UuaD4KICNpbXBvcnQgPHd0
Zi90ZXh0L0Jhc2U2NC5oPgogCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNpbXBvcnQg
PFdlYktpdEFkZGl0aW9ucy9OZXR3b3JrRGF0YVRhc2tDb2NvYUFkZGl0aW9ucy5tbT4KKyNlbmRp
ZgorCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogI2lmIFVTRShDUkVERU5USUFMX1NUT1JBR0VfV0lU
SF9ORVRXT1JLX1NFU1NJT04pCkBAIC0xODksNiArMTkzLDkgQEAgTmV0d29ya0RhdGFUYXNrQ29j
b2E6Ok5ldHdvcmtEYXRhVGFza0NvY29hKE5ldHdvcmtTZXNzaW9uJiBzZXNzaW9uLCBOZXR3b3Jr
RGF0YVQKIAogICAgIE5TVVJMUmVxdWVzdCAqbnNSZXF1ZXN0ID0gcmVxdWVzdC5uc1VSTFJlcXVl
c3QoV2ViQ29yZTo6VXBkYXRlSFRUUEJvZHkpOwogICAgIGFwcGx5U25pZmZpbmdQb2xpY2llc0Fu
ZEJpbmRSZXF1ZXN0VG9JbmZlcmZhY2VJZk5lZWRlZChuc1JlcXVlc3QsIHNob3VsZENvbnRlbnRT
bmlmZiA9PSBXZWJDb3JlOjpTbmlmZkNvbnRlbnQgJiYgIXVybC5pc0xvY2FsRmlsZSgpLCBzaG91
bGRDb250ZW50RW5jb2RpbmdTbmlmZiA9PSBXZWJDb3JlOjpDb250ZW50RW5jb2RpbmdTbmlmZmlu
Z1BvbGljeTo6U25pZmYpOworI2lmIEVOQUJMRShXSUZJX0FTU0VSVElPTlMpCisgICAgYXBwbHlB
ZGRpdGlvbmFsUHJvcGVydGllcyhyZXF1ZXN0LCAqdGhpcywgbnNSZXF1ZXN0KTsKKyNlbmRpZgog
CiAgICAgYXV0byYgY29jb2FTZXNzaW9uID0gc3RhdGljX2Nhc3Q8TmV0d29ya1Nlc3Npb25Db2Nv
YSY+KG1fc2Vzc2lvbi5nZXQoKSk7CiAgICAgaWYgKHN0b3JlZENyZWRlbnRpYWxzUG9saWN5ID09
IFdlYkNvcmU6OlN0b3JlZENyZWRlbnRpYWxzUG9saWN5OjpVc2UpIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvV2lGaUFzc2VydGlvbkhvbGRlci5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL1dpRmlBc3NlcnRpb25Ib2xkZXIu
Y3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjFkYmQxMjg2YWIyYTUyYTZmZDE3M2MzODhlNmY3MTlmZDdjMTA5YWQK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL1dp
RmlBc3NlcnRpb25Ib2xkZXIuY3BwCkBAIC0wLDAgKzEsNjUgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5j
bHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiV2lGaUFzc2VydGlvbkhvbGRlci5oIgorCisjaWYg
RU5BQkxFKFdJRklfQVNTRVJUSU9OUykKKworI2luY2x1ZGUgIkxvZ2dpbmcuaCIKKyNpbmNsdWRl
IDxNb2JpbGVXaUZpL1dpRmlNYW5hZ2VyQ2xpZW50Lmg+CisKK25hbWVzcGFjZSBXZWJLaXQgewor
CitzdGF0aWMgV2lGaU1hbmFnZXJDbGllbnRSZWYgZW5zdXJlV2lGaU1hbmFnZXJDbGllbnQoKQor
eworICAgIHN0YXRpYyBXaUZpTWFuYWdlckNsaWVudFJlZiB3aUZpTWFuYWdlckNsaWVudCA9IFdp
RmlNYW5hZ2VyQ2xpZW50Q3JlYXRlKGtDRkFsbG9jYXRvckRlZmF1bHQsIGtXaUZpQ2xpZW50VHlw
ZU5vcm1hbCk7CisgICAgcmV0dXJuIHdpRmlNYW5hZ2VyQ2xpZW50OworfQorCitzdGF0aWMgdWlu
dDY0X3Qgd2lGaUFzc2VydGlvbkNvdW50OworCitXaUZpQXNzZXJ0aW9uSG9sZGVyOjpXaUZpQXNz
ZXJ0aW9uSG9sZGVyKCkKK3sKKyAgICBpZiAod2lGaUFzc2VydGlvbkNvdW50KyspCisgICAgICAg
IHJldHVybjsKKworICAgIFJFTEVBU0VfTE9HKFdpRmlBc3NlcnRpb25zLCAiQWNxdWlyaW5nIFdp
LUZpIGFzc2VydGlvbi4iKTsKKyAgICBXaUZpTWFuYWdlckNsaWVudFNldFR5cGUoZW5zdXJlV2lG
aU1hbmFnZXJDbGllbnQoKSwga1dpRmlDbGllbnRUeXBlQmFja2dyb3VuZCk7Cit9CisKK1dpRmlB
c3NlcnRpb25Ib2xkZXI6On5XaUZpQXNzZXJ0aW9uSG9sZGVyKCkKK3sKKyAgICBBU1NFUlQod2lG
aUFzc2VydGlvbkNvdW50KTsKKyAgICBpZiAoLS13aUZpQXNzZXJ0aW9uQ291bnQpCisgICAgICAg
IHJldHVybjsKKworICAgIFJFTEVBU0VfTE9HKFdpRmlBc3NlcnRpb25zLCAiUmVsZWFzaW5nIFdp
LUZpIGFzc2VydGlvbi4iKTsKKyAgICBXaUZpTWFuYWdlckNsaWVudFNldFR5cGUoZW5zdXJlV2lG
aU1hbmFnZXJDbGllbnQoKSwga1dpRmlDbGllbnRUeXBlTm9ybWFsKTsKK30KKworfSAvLyBuYW1l
c3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBFTkFCTEUoV0lGSV9BU1NFUlRJT05TKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9XaUZpQXNzZXJ0aW9uSG9s
ZGVyLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL1dpRmlBc3NlcnRpb25I
b2xkZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43NjkyZGViZDFhMGMxYzM2OGMzOTIyNjBiNmQxOGQ0Mjk3MTky
Mjg3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2Nv
YS9XaUZpQXNzZXJ0aW9uSG9sZGVyLmgKQEAgLTAsMCArMSw0MyBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNw
cmFnbWEgb25jZQorCisjaWYgRU5BQkxFKFdJRklfQVNTRVJUSU9OUykKKworI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgV2lGaUFzc2Vy
dGlvbkhvbGRlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2lGaUFzc2VydGlvbkhvbGRl
cik7CitwdWJsaWM6CisgICAgV2lGaUFzc2VydGlvbkhvbGRlcigpOworICAgIH5XaUZpQXNzZXJ0
aW9uSG9sZGVyKCk7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIEVO
QUJMRShXSUZJX0FTU0VSVElPTlMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3Jt
L0xvZ2dpbmcuaCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vTG9nZ2luZy5oCmluZGV4IGY2MTM5
YzQyMjVlMmM1MjRhMDk2YjIwYjkyN2RhNDIyY2E5MWIyZDIuLjYzZTRjOGUxYzM4MzI0YzhkYTMx
OTRiOTNjMzEzMzliY2NhY2ZlMzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0v
TG9nZ2luZy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vTG9nZ2luZy5oCkBAIC03Niw2
ICs3Niw3IEBAIGV4dGVybiAiQyIgewogICAgIE0oVmlydHVhbE1lbW9yeSkgXAogICAgIE0oVmlz
aWJsZVJlY3RzKSBcCiAgICAgTShXZWJSVEMpIFwKKyAgICBNKFdpRmlBc3NlcnRpb25zKSBcCiAK
IFdFQktJVDJfTE9HX0NIQU5ORUxTKERFQ0xBUkVfTE9HX0NIQU5ORUwpCiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvUmVzb3VyY2VzL1NhbmRib3hQcm9maWxlcy9pb3MvY29tLmFwcGxlLldl
YktpdC5OZXR3b3JraW5nLnNiIGIvU291cmNlL1dlYktpdC9SZXNvdXJjZXMvU2FuZGJveFByb2Zp
bGVzL2lvcy9jb20uYXBwbGUuV2ViS2l0Lk5ldHdvcmtpbmcuc2IKaW5kZXggZmM4YTYyZGI3ZjE2
MzYwNDAxMjVhNGQ3ZDJiZjdjMTE5ODk4YTdlYS4uZjNmZDg5YjRlZTY3MDk2MWRlNjA3YmViNGIz
ODdjMmY3YmRlZjAwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9SZXNvdXJjZXMvU2FuZGJv
eFByb2ZpbGVzL2lvcy9jb20uYXBwbGUuV2ViS2l0Lk5ldHdvcmtpbmcuc2IKKysrIGIvU291cmNl
L1dlYktpdC9SZXNvdXJjZXMvU2FuZGJveFByb2ZpbGVzL2lvcy9jb20uYXBwbGUuV2ViS2l0Lk5l
dHdvcmtpbmcuc2IKQEAgLTg5LDQgKzg5LDUgQEAKIDs7IFZhcmlvdXMgc2VydmljZXMgcmVxdWly
ZWQgYnkgc3lzdGVtIGZyYW1ld29ya3MKIChhbGxvdyBtYWNoLWxvb2t1cAogICAgIChnbG9iYWwt
bmFtZSAiY29tLmFwcGxlLmxzZC5tYXBkYiIpCi0gICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUu
YW5hbHl0aWNzZCIpKQorICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLmFuYWx5dGljc2QiKQor
ICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLldpcmVsZXNzQ29leE1hbmFnZXIiKSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9T
b3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDhmMzY1
MjE5YzhiY2NlMDgxNzc0MDQ5ZmU2NWQyYjAwNTk5MzNjNTEuLmI1OTg4NWU2YmZlNTE1ZTc2OGNm
ZDY4NjM0OTVmYTg1ZTI1NWI2YTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTU3MSw2ICsxNTcxLDggQEAKIAkJQTFDNTEyQzgxOTA2
NTZFNTAwNDQ4OTE0IC8qIFdlYlByZXZpZXdMb2FkZXJDbGllbnQuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTFDNTEyQzYxOTA2NTZFNTAwNDQ4OTE0
IC8qIFdlYlByZXZpZXdMb2FkZXJDbGllbnQuY3BwICovOyB9OwogCQlBMUM1MTJDOTE5MDY1NkU1
MDA0NDg5MTQgLyogV2ViUHJldmlld0xvYWRlckNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTFDNTEyQzcxOTA2NTZFNTAwNDQ4OTE0IC8qIFdl
YlByZXZpZXdMb2FkZXJDbGllbnQuaCAqLzsgfTsKIAkJQTFENDIwNDcxREI1NTc4NTAwQkI2QjBE
IC8qIFdLQ29udGV4dE1lbnVMaXN0ZW5lci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBBMUVBMDIzNTFEQUJGRjdFMDA5NjAyMUYgLyogV0tDb250ZXh0
TWVudUxpc3RlbmVyLmNwcCAqLzsgfTsKKwkJQTFEQUZEREYyMDdFOUIxNjAwNUU4QTUyIC8qIFdp
RmlBc3NlcnRpb25Ib2xkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEExREFGREREMjA3RTlCMTYwMDVFOEE1MiAvKiBXaUZpQXNzZXJ0aW9uSG9sZGVy
LmggKi87IH07CisJCUExREFGREUwMjA3RTlCMTYwMDVFOEE1MiAvKiBXaUZpQXNzZXJ0aW9uSG9s
ZGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEEx
REFGRERFMjA3RTlCMTYwMDVFOEE1MiAvKiBXaUZpQXNzZXJ0aW9uSG9sZGVyLmNwcCAqLzsgfTsK
IAkJQTFERjYzMTIxOEUwQjdDODAwM0EzRTJBIC8qIERvd25sb2FkQ2xpZW50Lm1tIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTFERjYzMTAxOEUwQjdDODAw
M0EzRTJBIC8qIERvd25sb2FkQ2xpZW50Lm1tICovOyB9OwogCQlBMURGNjMxMzE4RTBCN0M4MDAz
QTNFMkEgLyogRG93bmxvYWRDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEExREY2MzExMThFMEI3QzgwMDNBM0UyQSAvKiBEb3dubG9hZENsaWVu
dC5oICovOyB9OwogCQlBMUU2ODg3MDFGNkUyQkFCMDA3MDA2QTYgLyogUXVhcmFudGluZVNQSS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTFFNjg4NkYx
RjZFMkJBQjAwNzAwNkE2IC8qIFF1YXJhbnRpbmVTUEkuaCAqLzsgfTsKQEAgLTQwNTgsNiArNDA2
MCw4IEBACiAJCUExQTRGRTYwMThERDU0QTQwMEI1RUE4QSAvKiBfV0tEb3dubG9hZERlbGVnYXRl
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IF9XS0Rvd25sb2FkRGVsZWdhdGUu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTFDNTEyQzYxOTA2NTZFNTAwNDQ4OTE0
IC8qIFdlYlByZXZpZXdMb2FkZXJDbGllbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBuYW1lID0gV2ViUHJldmlld0xvYWRlckNsaWVudC5jcHA7IHBhdGggPSBpb3MvV2ViUHJl
dmlld0xvYWRlckNsaWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUExQzUx
MkM3MTkwNjU2RTUwMDQ0ODkxNCAvKiBXZWJQcmV2aWV3TG9hZGVyQ2xpZW50LmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdlYlByZXZpZXdMb2FkZXJDbGllbnQuaDsgcGF0aCA9
IGlvcy9XZWJQcmV2aWV3TG9hZGVyQ2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUExREFGREREMjA3RTlCMTYwMDVFOEE1MiAvKiBXaUZpQXNzZXJ0aW9uSG9sZGVyLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgbmFtZSA9IFdpRmlBc3NlcnRpb25Ib2xkZXIuaDsgcGF0aCA9IE5ldHdvcmtQcm9jZXNz
L2NvY29hL1dpRmlBc3NlcnRpb25Ib2xkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJQTFEQUZEREUyMDdFOUIxNjAwNUU4QTUyIC8qIFdpRmlBc3NlcnRpb25Ib2xkZXIuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBuYW1lID0gV2lGaUFzc2VydGlvbkhvbGRlci5jcHA7IHBhdGggPSBOZXR3b3Jr
UHJvY2Vzcy9jb2NvYS9XaUZpQXNzZXJ0aW9uSG9sZGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQTFERjYzMTAxOEUwQjdDODAwM0EzRTJBIC8qIERvd25sb2FkQ2xpZW50Lm1t
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gRG93bmxvYWRDbGllbnQu
bW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUExREY2MzExMThFMEI3QzgwMDNBM0Uy
QSAvKiBEb3dubG9hZENsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBE
b3dubG9hZENsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBMUU2ODg2RjFG
NkUyQkFCMDA3MDA2QTYgLyogUXVhcmFudGluZVNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBRdWFyYW50
aW5lU1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC02OTEzLDYgKzY5MTcsOCBA
QAogCQkJCTdFQzRGMEY5MThFNEE5NDUwMDgwNTZBRiAvKiBOZXR3b3JrUHJvY2Vzc0NvY29hLm1t
ICovLAogCQkJCTUzMjE1OTUwMURCQUU2RDcwMDU0QUEzQyAvKiBOZXR3b3JrU2Vzc2lvbkNvY29h
LmggKi8sCiAJCQkJNUMyMENCOUIxQkIwRENEMjAwODk1QkIxIC8qIE5ldHdvcmtTZXNzaW9uQ29j
b2EubW0gKi8sCisJCQkJQTFEQUZEREUyMDdFOUIxNjAwNUU4QTUyIC8qIFdpRmlBc3NlcnRpb25I
b2xkZXIuY3BwICovLAorCQkJCUExREFGREREMjA3RTlCMTYwMDVFOEE1MiAvKiBXaUZpQXNzZXJ0
aW9uSG9sZGVyLmggKi8sCiAJCQkpOwogCQkJbmFtZSA9IGNvY29hOwogCQkJc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsKQEAgLTk0MTAsNiArOTQxNiw3IEBACiAJCQkJMTU3MzlCQkQxQjQyMDQyRDAw
RDI1OEMxIC8qIFdlYlVzZXJNZWRpYUNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODNFRTU3
NUMxREI3RDYxMTAwQzc0QzUwIC8qIFdlYlZhbGlkYXRpb25NZXNzYWdlQ2xpZW50LmggaW4gSGVh
ZGVycyAqLywKIAkJCQkyREZDN0RCQjFCQ0NDMTk1MDBDMTU0OEMgLyogV2ViVmlld0ltcGwuaCBp
biBIZWFkZXJzICovLAorCQkJCUExREFGRERGMjA3RTlCMTYwMDVFOEE1MiAvKiBXaUZpQXNzZXJ0
aW9uSG9sZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkyOUNENTVBQTEyOEUyOTRGMDAxMzNDODUg
LyogV0tBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdEJhc2UuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTI5MjMyREY0MThCMjlENjgwMEQwNTk2RiAvKiBXS0FjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0
TWFjLmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzRCNzI0NDE5RjVCOUJFMDBBRTk2RDYgLyogV0tB
Y3Rpb25NZW51SXRlbVR5cGVzLmggaW4gSGVhZGVycyAqLywKQEAgLTExMTg5LDYgKzExMTk2LDcg
QEAKIAkJCQk4M0VFNTc1QjFEQjdENjExMDBDNzRDNTAgLyogV2ViVmFsaWRhdGlvbk1lc3NhZ2VD
bGllbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkRGQzdEQkMxQkNDQzE5NTAwQzE1NDhDIC8q
IFdlYlZpZXdJbXBsLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQzAzMzdERDExMjdBMjk4MDAwOEZG
NEY0IC8qIFdlYldoZWVsRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTFEQUZERTAyMDdF
OUIxNjAwNUU4QTUyIC8qIFdpRmlBc3NlcnRpb25Ib2xkZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJODY4MTYwRDAxODc2NDU1NzAwMjFFNzlEIC8qIFdpbmRvd1NlcnZlckNvbm5lY3Rpb24ubW0g
aW4gU291cmNlcyAqLywKIAkJCQkyOUNENTVBQjEyOEUyOTRGMDAxMzNDODUgLyogV0tBY2Nlc3Np
YmlsaXR5V2ViUGFnZU9iamVjdEJhc2UubW0gaW4gU291cmNlcyAqLywKIAkJCQkyOTIzMkRGODE4
QjJBOUFFMDBEMDU5NkYgLyogV0tBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdElPUy5tbSBpbiBT
b3VyY2VzICovLAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>337773</attachid>
            <date>2018-04-11 23:19:42 -0700</date>
            <delta_ts>2018-04-11 23:22:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-184520-20180411231941.patch</filename>
            <type>text/plain</type>
            <size>16219</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMwNTU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDI0YzBkMmYwMzhiMGI0Mzdl
Mzk3ODBjOTc5NmIwMmI3MDUxNTliNTYuLmJhODE3YWYzYThkYjBiZmMyNmJiYWQyODI1MzdhZTY0
OTNkOTA3OTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzAgQEAKKzIwMTgtMDQtMTEgIEFuZHkgRXN0
ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIEFkZCBhIG1lY2hhbmlzbSBm
b3IgaG9sZGluZyBXaS1GaSBhc3NlcnRpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xODQ1MjAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzM5MDI1
NzI2PgorCisgICAgICAgIFJldmlld2VkIGJ5IFNhbSBXZWluaWcuCisKKyAgICAgICAgQWRkIHBs
dW1iaW5nIGZvciBob2xkaW5nIGEgV2ktRmkgYXNzZXJ0aW9uIG9uIGlPUyBhcyBsb25nIGFzIHRo
ZXJlIGFyZSBhY3RpdmUKKyAgICAgICAgbmV0d29yayBkYXRhIHRhc2tzLiBUaGlzIGZ1bmN0aW9u
YWxpdHkgaXMgdHVybmVkIG9mZiBieSBkZWZhdWx0IHJpZ2h0IG5vdy4KKworICAgICAgICAqIENv
bmZpZ3VyYXRpb25zL05ldHdvcmstaU9TLmVudGl0bGVtZW50czoKKyAgICAgICAgKiBOZXR3b3Jr
UHJvY2Vzcy9jb2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5oOgorICAgICAgICAqIE5ldHdvcmtQ
cm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpO
ZXR3b3JrRGF0YVRhc2tDb2NvYTo6TmV0d29ya0RhdGFUYXNrQ29jb2EpOgorICAgICAgICAqIE5l
dHdvcmtQcm9jZXNzL2NvY29hL1dpRmlBc3NlcnRpb25Ib2xkZXIuY3BwOiBBZGRlZC4KKyAgICAg
ICAgKFdlYktpdDo6ZW5zdXJlV2lGaU1hbmFnZXJDbGllbnQpOiBDcmVhdGUgYSBnbG9iYWwgV2lG
aU1hbmFnZXJDbGllbnQgd2hlbiBuZWVkZWQuCisgICAgICAgIChXZWJLaXQ6OldpRmlBc3NlcnRp
b25Ib2xkZXI6OldpRmlBc3NlcnRpb25Ib2xkZXIpOiBJZiB0aGlzIGlzIHRoZSBmaXJzdCBhY3Rp
dmUKKyAgICAgICAgV2ktRmkgYXNzZXJ0aW9uIGhvbGRlciwgc2V0IHRoZSBjbGllbnQncyB0eXBl
IHRvIGtXaUZpQ2xpZW50VHlwZUJhY2tncm91bmQuCisgICAgICAgIChXZWJLaXQ6OldpRmlBc3Nl
cnRpb25Ib2xkZXI6On5XaUZpQXNzZXJ0aW9uSG9sZGVyKTogSWYgdGhlIGxhc3QgYWN0aXZlIFdp
LUZpCisgICAgICAgIGFzc2VydGlvbiBob2xkZXIgaXMgYmVpbmcgZGVzdHJveWVkLCBzZXQgdGhl
IGNsaWVudCdzIHR5cGUgYmFjayB0bworICAgICAgICBrV2lGaUNsaWVudFR5cGVOb3JtYWwuCisg
ICAgICAgICogTmV0d29ya1Byb2Nlc3MvY29jb2EvV2lGaUFzc2VydGlvbkhvbGRlci5oOiBBZGRl
ZC4KKyAgICAgICAgKiBQbGF0Zm9ybS9Mb2dnaW5nLmg6IEFkZGVkIGEgbG9nZ2luZyBjaGFubmVs
IGZvciBXaS1GaSBhc3NlcnRpb25zLgorICAgICAgICAqIFJlc291cmNlcy9TYW5kYm94UHJvZmls
ZXMvaW9zL2NvbS5hcHBsZS5XZWJLaXQuTmV0d29ya2luZy5zYjoKKyAgICAgICAgKiBXZWJLaXQu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKwogMjAxOC0wNC0xMSAgRnVqaWkgSGlyb25vcmkg
IDxIaXJvbm9yaS5GdWppaUBzb255LmNvbT4KIAogICAgICAgICBbY3VybF1bV2ViS2l0XSBJbXBs
ZW1lbnQgTmV0d29ya0RhdGFUYXNrQ3VybApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9Db25m
aWd1cmF0aW9ucy9OZXR3b3JrLWlPUy5lbnRpdGxlbWVudHMgYi9Tb3VyY2UvV2ViS2l0L0NvbmZp
Z3VyYXRpb25zL05ldHdvcmstaU9TLmVudGl0bGVtZW50cwppbmRleCBiZjg4ZmY2ZWNjNjUwNjQy
MzUwMGMxZjBkMDE4Zjc4YWMwODQyMWQ4Li45NmMyZjlhOGE2OGMxYWZiY2Y0ZGFlMDAyZDFmYTcy
MDBmYmZlNGI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL05ldHdv
cmstaU9TLmVudGl0bGVtZW50cworKysgYi9Tb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL05l
dHdvcmstaU9TLmVudGl0bGVtZW50cwpAQCAtMiw2ICsyLDggQEAKIDwhRE9DVFlQRSBwbGlzdCBQ
VUJMSUMgIi0vL0FwcGxlLy9EVEQgUExJU1QgMS4wLy9FTiIgImh0dHA6Ly93d3cuYXBwbGUuY29t
L0RURHMvUHJvcGVydHlMaXN0LTEuMC5kdGQiPgogPHBsaXN0IHZlcnNpb249IjEuMCI+CiA8ZGlj
dD4KKwk8a2V5PmNvbS5hcHBsZS53aWZpLm1hbmFnZXItYWNjZXNzPC9rZXk+CisJPHRydWUvPgog
CTxrZXk+Y29tLmFwcGxlLnByaXZhdGUuYWNjb3VudHMuYnVuZGxlaWRzcG9vZmluZzwva2V5Pgog
CTx0cnVlLz4KIAk8a2V5PnNlYXRiZWx0LXByb2ZpbGVzPC9rZXk+CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29hLmggYi9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29hLmgK
aW5kZXggMWY3Yjg0MmY0MDAyNjE4NzFmYWJkYzBkZjVlZDUyNTQ1OWFhNDlkMS4uY2JhNjY0MTI2
MzUyZjVkZTFiZGIxYTlkYWQ2OWRhY2JiMTAzODk1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya0RhdGFUYXNrQ29jb2EuaApAQCAt
MjcsNiArMjcsNyBAQAogCiAjaW5jbHVkZSAiTmV0d29ya0RhdGFUYXNrLmgiCiAjaW5jbHVkZSAi
TmV0d29ya0xvYWRQYXJhbWV0ZXJzLmgiCisjaW5jbHVkZSAiV2lGaUFzc2VydGlvbkhvbGRlci5o
IgogI2luY2x1ZGUgPFdlYkNvcmUvTmV0d29ya0xvYWRNZXRyaWNzLmg+CiAjaW5jbHVkZSA8d3Rm
L1JldGFpblB0ci5oPgogCkBAIC03MSw2ICs3MiwxNCBAQCBwdWJsaWM6CiAgICAgdWludDY0X3Qg
ZnJhbWVJRCgpIGNvbnN0IHsgcmV0dXJuIG1fZnJhbWVJRDsgfTsKICAgICB1aW50NjRfdCBwYWdl
SUQoKSBjb25zdCB7IHJldHVybiBtX3BhZ2VJRDsgfTsKIAorI2lmIEhBVkUoTU9CSUxFX1dJRkkp
CisgICAgdm9pZCBhY3F1aXJlV2lGaUFzc2VydGlvbigpCisgICAgeworICAgICAgICBBU1NFUlQo
IW1fd2lGaUFzc2VydGlvbkhvbGRlcik7CisgICAgICAgIG1fd2lGaUFzc2VydGlvbkhvbGRlci5l
bXBsYWNlKCk7CisgICAgfQorI2VuZGlmCisKIHByaXZhdGU6CiAgICAgTmV0d29ya0RhdGFUYXNr
Q29jb2EoTmV0d29ya1Nlc3Npb24mLCBOZXR3b3JrRGF0YVRhc2tDbGllbnQmLCBjb25zdCBXZWJD
b3JlOjpSZXNvdXJjZVJlcXVlc3QmLCB1aW50NjRfdCBmcmFtZUlELCB1aW50NjRfdCBwYWdlSUQs
IFdlYkNvcmU6OlN0b3JlZENyZWRlbnRpYWxzUG9saWN5LCBXZWJDb3JlOjpDb250ZW50U25pZmZp
bmdQb2xpY3ksIFdlYkNvcmU6OkNvbnRlbnRFbmNvZGluZ1NuaWZmaW5nUG9saWN5LCBib29sIHNo
b3VsZENsZWFyUmVmZXJyZXJPbkhUVFBTVG9IVFRQUmVkaXJlY3QsIFByZWNvbm5lY3RPbmx5KTsK
IApAQCAtOTQsNiArMTAzLDEwIEBAIHByaXZhdGU6CiAjaWYgSEFWRShDRk5FVFdPUktfU1RPUkFH
RV9QQVJUSVRJT05JTkcpCiAgICAgYm9vbCBtX2hhc0JlZW5TZXRUb1VzZVN0YXRlbGVzc0Nvb2tp
ZVN0b3JhZ2UgeyBmYWxzZSB9OwogI2VuZGlmCisKKyNpZiBIQVZFKE1PQklMRV9XSUZJKQorICAg
IHN0ZDo6b3B0aW9uYWw8V2lGaUFzc2VydGlvbkhvbGRlcj4gbV93aUZpQXNzZXJ0aW9uSG9sZGVy
OworI2VuZGlmCiB9OwogCiBXZWJDb3JlOjpDcmVkZW50aWFsIHNlcnZlclRydXN0Q3JlZGVudGlh
bChjb25zdCBXZWJDb3JlOjpBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5t
bSBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya0RhdGFUYXNrQ29j
b2EubW0KaW5kZXggOTViYzg0NTVhODc4NmRhY2JiYWU2MzAxOTZmYWJmZTM5YjNkNjBiOS4uN2E0
Njg1ZmUwNTYyZWFjMDg1ODY5ZWYzZDg2M2E2Njg0ZjIwZWI1NyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29h
Lm1tCkBAIC00NCw2ICs0NCwxMCBAQAogI2ltcG9ydCA8d3RmL1Byb2Nlc3NQcml2aWxlZ2UuaD4K
ICNpbXBvcnQgPHd0Zi90ZXh0L0Jhc2U2NC5oPgogCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NE
SykKKyNpbXBvcnQgPFdlYktpdEFkZGl0aW9ucy9OZXR3b3JrRGF0YVRhc2tDb2NvYUFkZGl0aW9u
cy5tbT4KKyNlbmRpZgorCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogI2lmIFVTRShDUkVERU5USUFM
X1NUT1JBR0VfV0lUSF9ORVRXT1JLX1NFU1NJT04pCkBAIC0xODksNiArMTkzLDkgQEAgTmV0d29y
a0RhdGFUYXNrQ29jb2E6Ok5ldHdvcmtEYXRhVGFza0NvY29hKE5ldHdvcmtTZXNzaW9uJiBzZXNz
aW9uLCBOZXR3b3JrRGF0YVQKIAogICAgIE5TVVJMUmVxdWVzdCAqbnNSZXF1ZXN0ID0gcmVxdWVz
dC5uc1VSTFJlcXVlc3QoV2ViQ29yZTo6VXBkYXRlSFRUUEJvZHkpOwogICAgIGFwcGx5U25pZmZp
bmdQb2xpY2llc0FuZEJpbmRSZXF1ZXN0VG9JbmZlcmZhY2VJZk5lZWRlZChuc1JlcXVlc3QsIHNo
b3VsZENvbnRlbnRTbmlmZiA9PSBXZWJDb3JlOjpTbmlmZkNvbnRlbnQgJiYgIXVybC5pc0xvY2Fs
RmlsZSgpLCBzaG91bGRDb250ZW50RW5jb2RpbmdTbmlmZiA9PSBXZWJDb3JlOjpDb250ZW50RW5j
b2RpbmdTbmlmZmluZ1BvbGljeTo6U25pZmYpOworI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREsp
CisgICAgYXBwbHlBZGRpdGlvbmFsUHJvcGVydGllcyhyZXF1ZXN0LCAqdGhpcywgbnNSZXF1ZXN0
KTsKKyNlbmRpZgogCiAgICAgYXV0byYgY29jb2FTZXNzaW9uID0gc3RhdGljX2Nhc3Q8TmV0d29y
a1Nlc3Npb25Db2NvYSY+KG1fc2Vzc2lvbi5nZXQoKSk7CiAgICAgaWYgKHN0b3JlZENyZWRlbnRp
YWxzUG9saWN5ID09IFdlYkNvcmU6OlN0b3JlZENyZWRlbnRpYWxzUG9saWN5OjpVc2UpIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvV2lGaUFzc2VydGlv
bkhvbGRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL1dpRmlBc3Nl
cnRpb25Ib2xkZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM4NzExNzE1NjU1ZmRlYTcwNjhjNWZhZTA1YzBi
YmI2ZWY0YjdlNGMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL2NvY29hL1dpRmlBc3NlcnRpb25Ib2xkZXIuY3BwCkBAIC0wLDAgKzEsNjUgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiV2lGaUFzc2VydGlvbkhvbGRl
ci5oIgorCisjaWYgSEFWRShNT0JJTEVfV0lGSSkKKworI2luY2x1ZGUgIkxvZ2dpbmcuaCIKKyNp
bmNsdWRlIDxNb2JpbGVXaUZpL1dpRmlNYW5hZ2VyQ2xpZW50Lmg+CisKK25hbWVzcGFjZSBXZWJL
aXQgeworCitzdGF0aWMgV2lGaU1hbmFnZXJDbGllbnRSZWYgZW5zdXJlV2lGaU1hbmFnZXJDbGll
bnQoKQoreworICAgIHN0YXRpYyBXaUZpTWFuYWdlckNsaWVudFJlZiB3aUZpTWFuYWdlckNsaWVu
dCA9IFdpRmlNYW5hZ2VyQ2xpZW50Q3JlYXRlKGtDRkFsbG9jYXRvckRlZmF1bHQsIGtXaUZpQ2xp
ZW50VHlwZU5vcm1hbCk7CisgICAgcmV0dXJuIHdpRmlNYW5hZ2VyQ2xpZW50OworfQorCitzdGF0
aWMgdWludDY0X3Qgd2lGaUFzc2VydGlvbkNvdW50OworCitXaUZpQXNzZXJ0aW9uSG9sZGVyOjpX
aUZpQXNzZXJ0aW9uSG9sZGVyKCkKK3sKKyAgICBpZiAod2lGaUFzc2VydGlvbkNvdW50KyspCisg
ICAgICAgIHJldHVybjsKKworICAgIFJFTEVBU0VfTE9HKFdpRmlBc3NlcnRpb25zLCAiQWNxdWly
aW5nIFdpLUZpIGFzc2VydGlvbi4iKTsKKyAgICBXaUZpTWFuYWdlckNsaWVudFNldFR5cGUoZW5z
dXJlV2lGaU1hbmFnZXJDbGllbnQoKSwga1dpRmlDbGllbnRUeXBlQmFja2dyb3VuZCk7Cit9CisK
K1dpRmlBc3NlcnRpb25Ib2xkZXI6On5XaUZpQXNzZXJ0aW9uSG9sZGVyKCkKK3sKKyAgICBBU1NF
UlQod2lGaUFzc2VydGlvbkNvdW50KTsKKyAgICBpZiAoLS13aUZpQXNzZXJ0aW9uQ291bnQpCisg
ICAgICAgIHJldHVybjsKKworICAgIFJFTEVBU0VfTE9HKFdpRmlBc3NlcnRpb25zLCAiUmVsZWFz
aW5nIFdpLUZpIGFzc2VydGlvbi4iKTsKKyAgICBXaUZpTWFuYWdlckNsaWVudFNldFR5cGUoZW5z
dXJlV2lGaU1hbmFnZXJDbGllbnQoKSwga1dpRmlDbGllbnRUeXBlTm9ybWFsKTsKK30KKworfSAv
LyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBIQVZFKE1PQklMRV9XSUZJKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9XaUZpQXNzZXJ0aW9uSG9s
ZGVyLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL1dpRmlBc3NlcnRpb25I
b2xkZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMDhmY2RiYzU5YWVlYWFiZmI0NGYyYWQzMjIyNzkzNzZlMDg0
Y2E4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2Nv
YS9XaUZpQXNzZXJ0aW9uSG9sZGVyLmgKQEAgLTAsMCArMSw0MyBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNw
cmFnbWEgb25jZQorCisjaWYgSEFWRShNT0JJTEVfV0lGSSkKKworI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgV2lGaUFzc2VydGlvbkhv
bGRlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2lGaUFzc2VydGlvbkhvbGRlcik7Citw
dWJsaWM6CisgICAgV2lGaUFzc2VydGlvbkhvbGRlcigpOworICAgIH5XaUZpQXNzZXJ0aW9uSG9s
ZGVyKCk7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIEhBVkUoTU9C
SUxFX1dJRkkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0xvZ2dpbmcuaCBi
L1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vTG9nZ2luZy5oCmluZGV4IGY2MTM5YzQyMjVlMmM1MjRh
MDk2YjIwYjkyN2RhNDIyY2E5MWIyZDIuLjYzZTRjOGUxYzM4MzI0YzhkYTMxOTRiOTNjMzEzMzli
Y2NhY2ZlMzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vTG9nZ2luZy5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vTG9nZ2luZy5oCkBAIC03Niw2ICs3Niw3IEBAIGV4
dGVybiAiQyIgewogICAgIE0oVmlydHVhbE1lbW9yeSkgXAogICAgIE0oVmlzaWJsZVJlY3RzKSBc
CiAgICAgTShXZWJSVEMpIFwKKyAgICBNKFdpRmlBc3NlcnRpb25zKSBcCiAKIFdFQktJVDJfTE9H
X0NIQU5ORUxTKERFQ0xBUkVfTE9HX0NIQU5ORUwpCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvUmVzb3VyY2VzL1NhbmRib3hQcm9maWxlcy9pb3MvY29tLmFwcGxlLldlYktpdC5OZXR3b3Jr
aW5nLnNiIGIvU291cmNlL1dlYktpdC9SZXNvdXJjZXMvU2FuZGJveFByb2ZpbGVzL2lvcy9jb20u
YXBwbGUuV2ViS2l0Lk5ldHdvcmtpbmcuc2IKaW5kZXggZmM4YTYyZGI3ZjE2MzYwNDAxMjVhNGQ3
ZDJiZjdjMTE5ODk4YTdlYS4uZjNmZDg5YjRlZTY3MDk2MWRlNjA3YmViNGIzODdjMmY3YmRlZjAw
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9SZXNvdXJjZXMvU2FuZGJveFByb2ZpbGVzL2lv
cy9jb20uYXBwbGUuV2ViS2l0Lk5ldHdvcmtpbmcuc2IKKysrIGIvU291cmNlL1dlYktpdC9SZXNv
dXJjZXMvU2FuZGJveFByb2ZpbGVzL2lvcy9jb20uYXBwbGUuV2ViS2l0Lk5ldHdvcmtpbmcuc2IK
QEAgLTg5LDQgKzg5LDUgQEAKIDs7IFZhcmlvdXMgc2VydmljZXMgcmVxdWlyZWQgYnkgc3lzdGVt
IGZyYW1ld29ya3MKIChhbGxvdyBtYWNoLWxvb2t1cAogICAgIChnbG9iYWwtbmFtZSAiY29tLmFw
cGxlLmxzZC5tYXBkYiIpCi0gICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUuYW5hbHl0aWNzZCIp
KQorICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLmFuYWx5dGljc2QiKQorICAgIChnbG9iYWwt
bmFtZSAiY29tLmFwcGxlLldpcmVsZXNzQ29leE1hbmFnZXIiKSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0
L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGQ0ZDI4Mjk0ZDM2ZWExZTdi
MzJhN2I0MDJkOTMzN2U2YjY0YjdmODUuLjkzNjdhYWJkZmNhMDdjMjUwZjNhN2U0NjIyNmZkOTA4
YmRmMDBmNWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagpAQCAtMTU3MSw2ICsxNTcxLDggQEAKIAkJQTFDNTEyQzgxOTA2NTZFNTAwNDQ4OTE0
IC8qIFdlYlByZXZpZXdMb2FkZXJDbGllbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQTFDNTEyQzYxOTA2NTZFNTAwNDQ4OTE0IC8qIFdlYlByZXZp
ZXdMb2FkZXJDbGllbnQuY3BwICovOyB9OwogCQlBMUM1MTJDOTE5MDY1NkU1MDA0NDg5MTQgLyog
V2ViUHJldmlld0xvYWRlckNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQTFDNTEyQzcxOTA2NTZFNTAwNDQ4OTE0IC8qIFdlYlByZXZpZXdMb2Fk
ZXJDbGllbnQuaCAqLzsgfTsKIAkJQTFENDIwNDcxREI1NTc4NTAwQkI2QjBEIC8qIFdLQ29udGV4
dE1lbnVMaXN0ZW5lci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBBMUVBMDIzNTFEQUJGRjdFMDA5NjAyMUYgLyogV0tDb250ZXh0TWVudUxpc3RlbmVy
LmNwcCAqLzsgfTsKKwkJQTFEQUZEREYyMDdFOUIxNjAwNUU4QTUyIC8qIFdpRmlBc3NlcnRpb25I
b2xkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEEx
REFGREREMjA3RTlCMTYwMDVFOEE1MiAvKiBXaUZpQXNzZXJ0aW9uSG9sZGVyLmggKi87IH07CisJ
CUExREFGREUwMjA3RTlCMTYwMDVFOEE1MiAvKiBXaUZpQXNzZXJ0aW9uSG9sZGVyLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExREFGRERFMjA3RTlC
MTYwMDVFOEE1MiAvKiBXaUZpQXNzZXJ0aW9uSG9sZGVyLmNwcCAqLzsgfTsKIAkJQTFERjYzMTIx
OEUwQjdDODAwM0EzRTJBIC8qIERvd25sb2FkQ2xpZW50Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTFERjYzMTAxOEUwQjdDODAwM0EzRTJBIC8qIERv
d25sb2FkQ2xpZW50Lm1tICovOyB9OwogCQlBMURGNjMxMzE4RTBCN0M4MDAzQTNFMkEgLyogRG93
bmxvYWRDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEExREY2MzExMThFMEI3QzgwMDNBM0UyQSAvKiBEb3dubG9hZENsaWVudC5oICovOyB9Owog
CQlBMUU2ODg3MDFGNkUyQkFCMDA3MDA2QTYgLyogUXVhcmFudGluZVNQSS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTFFNjg4NkYxRjZFMkJBQjAwNzAw
NkE2IC8qIFF1YXJhbnRpbmVTUEkuaCAqLzsgfTsKQEAgLTQwNTgsNiArNDA2MCw4IEBACiAJCUEx
QTRGRTYwMThERDU0QTQwMEI1RUE4QSAvKiBfV0tEb3dubG9hZERlbGVnYXRlLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IF9XS0Rvd25sb2FkRGVsZWdhdGUuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTFDNTEyQzYxOTA2NTZFNTAwNDQ4OTE0IC8qIFdlYlByZXZp
ZXdMb2FkZXJDbGllbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0g
V2ViUHJldmlld0xvYWRlckNsaWVudC5jcHA7IHBhdGggPSBpb3MvV2ViUHJldmlld0xvYWRlckNs
aWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUExQzUxMkM3MTkwNjU2RTUw
MDQ0ODkxNCAvKiBXZWJQcmV2aWV3TG9hZGVyQ2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgbmFtZSA9IFdlYlByZXZpZXdMb2FkZXJDbGllbnQuaDsgcGF0aCA9IGlvcy9XZWJQcmV2
aWV3TG9hZGVyQ2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUExREFGRERE
MjA3RTlCMTYwMDVFOEE1MiAvKiBXaUZpQXNzZXJ0aW9uSG9sZGVyLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9
IFdpRmlBc3NlcnRpb25Ib2xkZXIuaDsgcGF0aCA9IE5ldHdvcmtQcm9jZXNzL2NvY29hL1dpRmlB
c3NlcnRpb25Ib2xkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTFEQUZEREUy
MDdFOUIxNjAwNUU4QTUyIC8qIFdpRmlBc3NlcnRpb25Ib2xkZXIuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBu
YW1lID0gV2lGaUFzc2VydGlvbkhvbGRlci5jcHA7IHBhdGggPSBOZXR3b3JrUHJvY2Vzcy9jb2Nv
YS9XaUZpQXNzZXJ0aW9uSG9sZGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
QTFERjYzMTAxOEUwQjdDODAwM0EzRTJBIC8qIERvd25sb2FkQ2xpZW50Lm1tICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gRG93bmxvYWRDbGllbnQubW07IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUExREY2MzExMThFMEI3QzgwMDNBM0UyQSAvKiBEb3dubG9h
ZENsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEb3dubG9hZENsaWVu
dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBMUU2ODg2RjFGNkUyQkFCMDA3MDA2
QTYgLyogUXVhcmFudGluZVNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBRdWFyYW50aW5lU1BJLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC02OTE1LDYgKzY5MTksOCBAQAogCQkJCTdFQzRG
MEY5MThFNEE5NDUwMDgwNTZBRiAvKiBOZXR3b3JrUHJvY2Vzc0NvY29hLm1tICovLAogCQkJCTUz
MjE1OTUwMURCQUU2RDcwMDU0QUEzQyAvKiBOZXR3b3JrU2Vzc2lvbkNvY29hLmggKi8sCiAJCQkJ
NUMyMENCOUIxQkIwRENEMjAwODk1QkIxIC8qIE5ldHdvcmtTZXNzaW9uQ29jb2EubW0gKi8sCisJ
CQkJQTFEQUZEREUyMDdFOUIxNjAwNUU4QTUyIC8qIFdpRmlBc3NlcnRpb25Ib2xkZXIuY3BwICov
LAorCQkJCUExREFGREREMjA3RTlCMTYwMDVFOEE1MiAvKiBXaUZpQXNzZXJ0aW9uSG9sZGVyLmgg
Ki8sCiAJCQkpOwogCQkJbmFtZSA9IGNvY29hOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsK
QEAgLTk0MTAsNiArOTQxNiw3IEBACiAJCQkJMTU3MzlCQkQxQjQyMDQyRDAwRDI1OEMxIC8qIFdl
YlVzZXJNZWRpYUNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODNFRTU3NUMxREI3RDYxMTAw
Qzc0QzUwIC8qIFdlYlZhbGlkYXRpb25NZXNzYWdlQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJ
CQkyREZDN0RCQjFCQ0NDMTk1MDBDMTU0OEMgLyogV2ViVmlld0ltcGwuaCBpbiBIZWFkZXJzICov
LAorCQkJCUExREFGRERGMjA3RTlCMTYwMDVFOEE1MiAvKiBXaUZpQXNzZXJ0aW9uSG9sZGVyLmgg
aW4gSGVhZGVycyAqLywKIAkJCQkyOUNENTVBQTEyOEUyOTRGMDAxMzNDODUgLyogV0tBY2Nlc3Np
YmlsaXR5V2ViUGFnZU9iamVjdEJhc2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTI5MjMyREY0MThC
MjlENjgwMEQwNTk2RiAvKiBXS0FjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0TWFjLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk5MzRCNzI0NDE5RjVCOUJFMDBBRTk2RDYgLyogV0tBY3Rpb25NZW51SXRl
bVR5cGVzLmggaW4gSGVhZGVycyAqLywKQEAgLTExMTg5LDYgKzExMTk2LDcgQEAKIAkJCQk4M0VF
NTc1QjFEQjdENjExMDBDNzRDNTAgLyogV2ViVmFsaWRhdGlvbk1lc3NhZ2VDbGllbnQuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJMkRGQzdEQkMxQkNDQzE5NTAwQzE1NDhDIC8qIFdlYlZpZXdJbXBs
Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQzAzMzdERDExMjdBMjk4MDAwOEZGNEY0IC8qIFdlYldo
ZWVsRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTFEQUZERTAyMDdFOUIxNjAwNUU4QTUy
IC8qIFdpRmlBc3NlcnRpb25Ib2xkZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJODY4MTYwRDAx
ODc2NDU1NzAwMjFFNzlEIC8qIFdpbmRvd1NlcnZlckNvbm5lY3Rpb24ubW0gaW4gU291cmNlcyAq
LywKIAkJCQkyOUNENTVBQjEyOEUyOTRGMDAxMzNDODUgLyogV0tBY2Nlc3NpYmlsaXR5V2ViUGFn
ZU9iamVjdEJhc2UubW0gaW4gU291cmNlcyAqLywKIAkJCQkyOTIzMkRGODE4QjJBOUFFMDBEMDU5
NkYgLyogV0tBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdElPUy5tbSBpbiBTb3VyY2VzICovLApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jb25maWcuaCBiL1NvdXJjZS9XZWJLaXQvY29uZmln
LmgKaW5kZXggMTFhNGEyNGIyMTNlNTVlZGI5ZTJkNTY0MTc2M2MzNGQxZDE2YzNmOC4uZDBmMzRh
ZGI1MTI1OTVmYTMxMjFiYzJjMDliNzU4MTA5YTU1ZWU2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9jb25maWcuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2NvbmZpZy5oCkBAIC0xMjQsMyArMTI0
LDExIEBACiAjZGVmaW5lIEhBVkVfTElOS19QUkVWSUVXIDAKICNlbmRpZgogI2VuZGlmCisKKyNp
Zm5kZWYgSEFWRV9NT0JJTEVfV0lGSQorI2lmIFBMQVRGT1JNKElPUykgJiYgIVRBUkdFVF9PU19T
SU1VTEFUT1IKKyNkZWZpbmUgSEFWRV9NT0JJTEVfV0lGSSAxCisjZWxzZQorI2RlZmluZSBIQVZF
X01PQklMRV9XSUZJIDAKKyNlbmRpZgorI2VuZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>337774</attachid>
            <date>2018-04-11 23:22:10 -0700</date>
            <delta_ts>2018-04-12 00:18:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-184520-20180411232210.patch</filename>
            <type>text/plain</type>
            <size>16258</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMwNTU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDM2Y2QwMjVkNTc0YWU3MTAx
N2VkMjhmZGE3YjA3YjQwNDQwYjg0NWMuLjYyMjgwMGQxZjJjODliMzg3OTk4MWQ2YzQxOTA3YTcw
YjczZmQ1YWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzAgQEAKKzIwMTgtMDQtMTEgIEFuZHkgRXN0
ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIEFkZCBhIG1lY2hhbmlzbSBm
b3IgaG9sZGluZyBXaS1GaSBhc3NlcnRpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xODQ1MjAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzM5MDI1
NzI2PgorCisgICAgICAgIFJldmlld2VkIGJ5IFNhbSBXZWluaWcuCisKKyAgICAgICAgQWRkIHBs
dW1iaW5nIGZvciBob2xkaW5nIGEgV2ktRmkgYXNzZXJ0aW9uIG9uIGlPUyBhcyBsb25nIGFzIHRo
ZXJlIGFyZSBhY3RpdmUKKyAgICAgICAgbmV0d29yayBkYXRhIHRhc2tzLiBUaGlzIGZ1bmN0aW9u
YWxpdHkgaXMgdHVybmVkIG9mZiBieSBkZWZhdWx0IHJpZ2h0IG5vdy4KKworICAgICAgICAqIENv
bmZpZ3VyYXRpb25zL05ldHdvcmstaU9TLmVudGl0bGVtZW50czoKKyAgICAgICAgKiBOZXR3b3Jr
UHJvY2Vzcy9jb2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5oOgorICAgICAgICAqIE5ldHdvcmtQ
cm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpO
ZXR3b3JrRGF0YVRhc2tDb2NvYTo6TmV0d29ya0RhdGFUYXNrQ29jb2EpOgorICAgICAgICAqIE5l
dHdvcmtQcm9jZXNzL2NvY29hL1dpRmlBc3NlcnRpb25Ib2xkZXIuY3BwOiBBZGRlZC4KKyAgICAg
ICAgKFdlYktpdDo6ZW5zdXJlV2lGaU1hbmFnZXJDbGllbnQpOiBDcmVhdGUgYSBnbG9iYWwgV2lG
aU1hbmFnZXJDbGllbnQgd2hlbiBuZWVkZWQuCisgICAgICAgIChXZWJLaXQ6OldpRmlBc3NlcnRp
b25Ib2xkZXI6OldpRmlBc3NlcnRpb25Ib2xkZXIpOiBJZiB0aGlzIGlzIHRoZSBmaXJzdCBhY3Rp
dmUKKyAgICAgICAgV2ktRmkgYXNzZXJ0aW9uIGhvbGRlciwgc2V0IHRoZSBjbGllbnQncyB0eXBl
IHRvIGtXaUZpQ2xpZW50VHlwZUJhY2tncm91bmQuCisgICAgICAgIChXZWJLaXQ6OldpRmlBc3Nl
cnRpb25Ib2xkZXI6On5XaUZpQXNzZXJ0aW9uSG9sZGVyKTogSWYgdGhlIGxhc3QgYWN0aXZlIFdp
LUZpCisgICAgICAgIGFzc2VydGlvbiBob2xkZXIgaXMgYmVpbmcgZGVzdHJveWVkLCBzZXQgdGhl
IGNsaWVudCdzIHR5cGUgYmFjayB0bworICAgICAgICBrV2lGaUNsaWVudFR5cGVOb3JtYWwuCisg
ICAgICAgICogTmV0d29ya1Byb2Nlc3MvY29jb2EvV2lGaUFzc2VydGlvbkhvbGRlci5oOiBBZGRl
ZC4KKyAgICAgICAgKiBQbGF0Zm9ybS9Mb2dnaW5nLmg6IEFkZGVkIGEgbG9nZ2luZyBjaGFubmVs
IGZvciBXaS1GaSBhc3NlcnRpb25zLgorICAgICAgICAqIFJlc291cmNlcy9TYW5kYm94UHJvZmls
ZXMvaW9zL2NvbS5hcHBsZS5XZWJLaXQuTmV0d29ya2luZy5zYjoKKyAgICAgICAgKiBXZWJLaXQu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKwogMjAxOC0wNC0xMSAgWmFuIERvYmVyc2VrICA8
emRvYmVyc2VrQGlnYWxpYS5jb20+CiAKICAgICAgICAgW1dQRV0gTWFrZSBXZWJLaXRXZWJWaWV3
QmFja2VuZCBvYmplY3QgbWFuZGF0b3J5IGZvciB3ZWJraXRfd2ViX3ZpZXdfbmV3KigpIGNvbnN0
cnVjdG9ycwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9OZXR3b3Jr
LWlPUy5lbnRpdGxlbWVudHMgYi9Tb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL05ldHdvcmst
aU9TLmVudGl0bGVtZW50cwppbmRleCBiZjg4ZmY2ZWNjNjUwNjQyMzUwMGMxZjBkMDE4Zjc4YWMw
ODQyMWQ4Li45NmMyZjlhOGE2OGMxYWZiY2Y0ZGFlMDAyZDFmYTcyMDBmYmZlNGI0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL05ldHdvcmstaU9TLmVudGl0bGVtZW50
cworKysgYi9Tb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL05ldHdvcmstaU9TLmVudGl0bGVt
ZW50cwpAQCAtMiw2ICsyLDggQEAKIDwhRE9DVFlQRSBwbGlzdCBQVUJMSUMgIi0vL0FwcGxlLy9E
VEQgUExJU1QgMS4wLy9FTiIgImh0dHA6Ly93d3cuYXBwbGUuY29tL0RURHMvUHJvcGVydHlMaXN0
LTEuMC5kdGQiPgogPHBsaXN0IHZlcnNpb249IjEuMCI+CiA8ZGljdD4KKwk8a2V5PmNvbS5hcHBs
ZS53aWZpLm1hbmFnZXItYWNjZXNzPC9rZXk+CisJPHRydWUvPgogCTxrZXk+Y29tLmFwcGxlLnBy
aXZhdGUuYWNjb3VudHMuYnVuZGxlaWRzcG9vZmluZzwva2V5PgogCTx0cnVlLz4KIAk8a2V5PnNl
YXRiZWx0LXByb2ZpbGVzPC9rZXk+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29hLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29hLmgKaW5kZXggMWY3Yjg0MmY0MDAy
NjE4NzFmYWJkYzBkZjVlZDUyNTQ1OWFhNDlkMS4uY2JhNjY0MTI2MzUyZjVkZTFiZGIxYTlkYWQ2
OWRhY2JiMTAzODk1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9j
b2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvY29jb2EvTmV0d29ya0RhdGFUYXNrQ29jb2EuaApAQCAtMjcsNiArMjcsNyBAQAogCiAj
aW5jbHVkZSAiTmV0d29ya0RhdGFUYXNrLmgiCiAjaW5jbHVkZSAiTmV0d29ya0xvYWRQYXJhbWV0
ZXJzLmgiCisjaW5jbHVkZSAiV2lGaUFzc2VydGlvbkhvbGRlci5oIgogI2luY2x1ZGUgPFdlYkNv
cmUvTmV0d29ya0xvYWRNZXRyaWNzLmg+CiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgogCkBA
IC03MSw2ICs3MiwxNCBAQCBwdWJsaWM6CiAgICAgdWludDY0X3QgZnJhbWVJRCgpIGNvbnN0IHsg
cmV0dXJuIG1fZnJhbWVJRDsgfTsKICAgICB1aW50NjRfdCBwYWdlSUQoKSBjb25zdCB7IHJldHVy
biBtX3BhZ2VJRDsgfTsKIAorI2lmIEhBVkUoTU9CSUxFX1dJRkkpCisgICAgdm9pZCBhY3F1aXJl
V2lGaUFzc2VydGlvbigpCisgICAgeworICAgICAgICBBU1NFUlQoIW1fd2lGaUFzc2VydGlvbkhv
bGRlcik7CisgICAgICAgIG1fd2lGaUFzc2VydGlvbkhvbGRlci5lbXBsYWNlKCk7CisgICAgfQor
I2VuZGlmCisKIHByaXZhdGU6CiAgICAgTmV0d29ya0RhdGFUYXNrQ29jb2EoTmV0d29ya1Nlc3Np
b24mLCBOZXR3b3JrRGF0YVRhc2tDbGllbnQmLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVl
c3QmLCB1aW50NjRfdCBmcmFtZUlELCB1aW50NjRfdCBwYWdlSUQsIFdlYkNvcmU6OlN0b3JlZENy
ZWRlbnRpYWxzUG9saWN5LCBXZWJDb3JlOjpDb250ZW50U25pZmZpbmdQb2xpY3ksIFdlYkNvcmU6
OkNvbnRlbnRFbmNvZGluZ1NuaWZmaW5nUG9saWN5LCBib29sIHNob3VsZENsZWFyUmVmZXJyZXJP
bkhUVFBTVG9IVFRQUmVkaXJlY3QsIFByZWNvbm5lY3RPbmx5KTsKIApAQCAtOTQsNiArMTAzLDEw
IEBAIHByaXZhdGU6CiAjaWYgSEFWRShDRk5FVFdPUktfU1RPUkFHRV9QQVJUSVRJT05JTkcpCiAg
ICAgYm9vbCBtX2hhc0JlZW5TZXRUb1VzZVN0YXRlbGVzc0Nvb2tpZVN0b3JhZ2UgeyBmYWxzZSB9
OwogI2VuZGlmCisKKyNpZiBIQVZFKE1PQklMRV9XSUZJKQorICAgIHN0ZDo6b3B0aW9uYWw8V2lG
aUFzc2VydGlvbkhvbGRlcj4gbV93aUZpQXNzZXJ0aW9uSG9sZGVyOworI2VuZGlmCiB9OwogCiBX
ZWJDb3JlOjpDcmVkZW50aWFsIHNlcnZlclRydXN0Q3JlZGVudGlhbChjb25zdCBXZWJDb3JlOjpB
dXRoZW50aWNhdGlvbkNoYWxsZW5nZSYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya0RhdGFUYXNrQ29jb2EubW0KaW5kZXggOTViYzg0
NTVhODc4NmRhY2JiYWU2MzAxOTZmYWJmZTM5YjNkNjBiOS4uN2E0Njg1ZmUwNTYyZWFjMDg1ODY5
ZWYzZDg2M2E2Njg0ZjIwZWI1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9jb2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29hLm1tCkBAIC00NCw2ICs0NCwx
MCBAQAogI2ltcG9ydCA8d3RmL1Byb2Nlc3NQcml2aWxlZ2UuaD4KICNpbXBvcnQgPHd0Zi90ZXh0
L0Jhc2U2NC5oPgogCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNpbXBvcnQgPFdlYktp
dEFkZGl0aW9ucy9OZXR3b3JrRGF0YVRhc2tDb2NvYUFkZGl0aW9ucy5tbT4KKyNlbmRpZgorCiBu
YW1lc3BhY2UgV2ViS2l0IHsKIAogI2lmIFVTRShDUkVERU5USUFMX1NUT1JBR0VfV0lUSF9ORVRX
T1JLX1NFU1NJT04pCkBAIC0xODksNiArMTkzLDkgQEAgTmV0d29ya0RhdGFUYXNrQ29jb2E6Ok5l
dHdvcmtEYXRhVGFza0NvY29hKE5ldHdvcmtTZXNzaW9uJiBzZXNzaW9uLCBOZXR3b3JrRGF0YVQK
IAogICAgIE5TVVJMUmVxdWVzdCAqbnNSZXF1ZXN0ID0gcmVxdWVzdC5uc1VSTFJlcXVlc3QoV2Vi
Q29yZTo6VXBkYXRlSFRUUEJvZHkpOwogICAgIGFwcGx5U25pZmZpbmdQb2xpY2llc0FuZEJpbmRS
ZXF1ZXN0VG9JbmZlcmZhY2VJZk5lZWRlZChuc1JlcXVlc3QsIHNob3VsZENvbnRlbnRTbmlmZiA9
PSBXZWJDb3JlOjpTbmlmZkNvbnRlbnQgJiYgIXVybC5pc0xvY2FsRmlsZSgpLCBzaG91bGRDb250
ZW50RW5jb2RpbmdTbmlmZiA9PSBXZWJDb3JlOjpDb250ZW50RW5jb2RpbmdTbmlmZmluZ1BvbGlj
eTo6U25pZmYpOworI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisgICAgYXBwbHlBZGRpdGlv
bmFsUHJvcGVydGllcyhyZXF1ZXN0LCAqdGhpcywgbnNSZXF1ZXN0KTsKKyNlbmRpZgogCiAgICAg
YXV0byYgY29jb2FTZXNzaW9uID0gc3RhdGljX2Nhc3Q8TmV0d29ya1Nlc3Npb25Db2NvYSY+KG1f
c2Vzc2lvbi5nZXQoKSk7CiAgICAgaWYgKHN0b3JlZENyZWRlbnRpYWxzUG9saWN5ID09IFdlYkNv
cmU6OlN0b3JlZENyZWRlbnRpYWxzUG9saWN5OjpVc2UpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvV2lGaUFzc2VydGlvbkhvbGRlci5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL1dpRmlBc3NlcnRpb25Ib2xkZXIuY3BwCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjM4NzExNzE1NjU1ZmRlYTcwNjhjNWZhZTA1YzBiYmI2ZWY0YjdlNGMKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL1dpRmlBc3Nl
cnRpb25Ib2xkZXIuY3BwCkBAIC0wLDAgKzEsNjUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAi
Y29uZmlnLmgiCisjaW5jbHVkZSAiV2lGaUFzc2VydGlvbkhvbGRlci5oIgorCisjaWYgSEFWRShN
T0JJTEVfV0lGSSkKKworI2luY2x1ZGUgIkxvZ2dpbmcuaCIKKyNpbmNsdWRlIDxNb2JpbGVXaUZp
L1dpRmlNYW5hZ2VyQ2xpZW50Lmg+CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitzdGF0aWMgV2lG
aU1hbmFnZXJDbGllbnRSZWYgZW5zdXJlV2lGaU1hbmFnZXJDbGllbnQoKQoreworICAgIHN0YXRp
YyBXaUZpTWFuYWdlckNsaWVudFJlZiB3aUZpTWFuYWdlckNsaWVudCA9IFdpRmlNYW5hZ2VyQ2xp
ZW50Q3JlYXRlKGtDRkFsbG9jYXRvckRlZmF1bHQsIGtXaUZpQ2xpZW50VHlwZU5vcm1hbCk7Cisg
ICAgcmV0dXJuIHdpRmlNYW5hZ2VyQ2xpZW50OworfQorCitzdGF0aWMgdWludDY0X3Qgd2lGaUFz
c2VydGlvbkNvdW50OworCitXaUZpQXNzZXJ0aW9uSG9sZGVyOjpXaUZpQXNzZXJ0aW9uSG9sZGVy
KCkKK3sKKyAgICBpZiAod2lGaUFzc2VydGlvbkNvdW50KyspCisgICAgICAgIHJldHVybjsKKwor
ICAgIFJFTEVBU0VfTE9HKFdpRmlBc3NlcnRpb25zLCAiQWNxdWlyaW5nIFdpLUZpIGFzc2VydGlv
bi4iKTsKKyAgICBXaUZpTWFuYWdlckNsaWVudFNldFR5cGUoZW5zdXJlV2lGaU1hbmFnZXJDbGll
bnQoKSwga1dpRmlDbGllbnRUeXBlQmFja2dyb3VuZCk7Cit9CisKK1dpRmlBc3NlcnRpb25Ib2xk
ZXI6On5XaUZpQXNzZXJ0aW9uSG9sZGVyKCkKK3sKKyAgICBBU1NFUlQod2lGaUFzc2VydGlvbkNv
dW50KTsKKyAgICBpZiAoLS13aUZpQXNzZXJ0aW9uQ291bnQpCisgICAgICAgIHJldHVybjsKKwor
ICAgIFJFTEVBU0VfTE9HKFdpRmlBc3NlcnRpb25zLCAiUmVsZWFzaW5nIFdpLUZpIGFzc2VydGlv
bi4iKTsKKyAgICBXaUZpTWFuYWdlckNsaWVudFNldFR5cGUoZW5zdXJlV2lGaU1hbmFnZXJDbGll
bnQoKSwga1dpRmlDbGllbnRUeXBlTm9ybWFsKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0
CisKKyNlbmRpZiAvLyBIQVZFKE1PQklMRV9XSUZJKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9XaUZpQXNzZXJ0aW9uSG9sZGVyLmggYi9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL1dpRmlBc3NlcnRpb25Ib2xkZXIuaApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMDhmY2RiYzU5YWVlYWFiZmI0NGYyYWQzMjIyNzkzNzZlMDg0Y2E4Ci0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9XaUZpQXNzZXJ0aW9uSG9s
ZGVyLmgKQEAgLTAsMCArMSw0MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOCBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwor
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYg
SEFWRShNT0JJTEVfV0lGSSkKKworI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgorCituYW1l
c3BhY2UgV2ViS2l0IHsKKworY2xhc3MgV2lGaUFzc2VydGlvbkhvbGRlciB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoV2lGaUFzc2VydGlvbkhvbGRlcik7CitwdWJsaWM6CisgICAgV2lGaUFz
c2VydGlvbkhvbGRlcigpOworICAgIH5XaUZpQXNzZXJ0aW9uSG9sZGVyKCk7Cit9OworCit9IC8v
IG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIEhBVkUoTU9CSUxFX1dJRkkpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0xvZ2dpbmcuaCBiL1NvdXJjZS9XZWJLaXQvUGxh
dGZvcm0vTG9nZ2luZy5oCmluZGV4IGY2MTM5YzQyMjVlMmM1MjRhMDk2YjIwYjkyN2RhNDIyY2E5
MWIyZDIuLjYzZTRjOGUxYzM4MzI0YzhkYTMxOTRiOTNjMzEzMzliY2NhY2ZlMzIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vTG9nZ2luZy5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
UGxhdGZvcm0vTG9nZ2luZy5oCkBAIC03Niw2ICs3Niw3IEBAIGV4dGVybiAiQyIgewogICAgIE0o
VmlydHVhbE1lbW9yeSkgXAogICAgIE0oVmlzaWJsZVJlY3RzKSBcCiAgICAgTShXZWJSVEMpIFwK
KyAgICBNKFdpRmlBc3NlcnRpb25zKSBcCiAKIFdFQktJVDJfTE9HX0NIQU5ORUxTKERFQ0xBUkVf
TE9HX0NIQU5ORUwpCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUmVzb3VyY2VzL1NhbmRi
b3hQcm9maWxlcy9pb3MvY29tLmFwcGxlLldlYktpdC5OZXR3b3JraW5nLnNiIGIvU291cmNlL1dl
YktpdC9SZXNvdXJjZXMvU2FuZGJveFByb2ZpbGVzL2lvcy9jb20uYXBwbGUuV2ViS2l0Lk5ldHdv
cmtpbmcuc2IKaW5kZXggZmM4YTYyZGI3ZjE2MzYwNDAxMjVhNGQ3ZDJiZjdjMTE5ODk4YTdlYS4u
ZjNmZDg5YjRlZTY3MDk2MWRlNjA3YmViNGIzODdjMmY3YmRlZjAwYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9SZXNvdXJjZXMvU2FuZGJveFByb2ZpbGVzL2lvcy9jb20uYXBwbGUuV2ViS2l0
Lk5ldHdvcmtpbmcuc2IKKysrIGIvU291cmNlL1dlYktpdC9SZXNvdXJjZXMvU2FuZGJveFByb2Zp
bGVzL2lvcy9jb20uYXBwbGUuV2ViS2l0Lk5ldHdvcmtpbmcuc2IKQEAgLTg5LDQgKzg5LDUgQEAK
IDs7IFZhcmlvdXMgc2VydmljZXMgcmVxdWlyZWQgYnkgc3lzdGVtIGZyYW1ld29ya3MKIChhbGxv
dyBtYWNoLWxvb2t1cAogICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLmxzZC5tYXBkYiIpCi0g
ICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUuYW5hbHl0aWNzZCIpKQorICAgIChnbG9iYWwtbmFt
ZSAiY29tLmFwcGxlLmFuYWx5dGljc2QiKQorICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLldp
cmVsZXNzQ29leE1hbmFnZXIiKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCmluZGV4IGQ0ZDI4Mjk0ZDM2ZWExZTdiMzJhN2I0MDJkOTMzN2U2YjY0
YjdmODUuLjkzNjdhYWJkZmNhMDdjMjUwZjNhN2U0NjIyNmZkOTA4YmRmMDBmNWIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIv
U291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTU3MSw2
ICsxNTcxLDggQEAKIAkJQTFDNTEyQzgxOTA2NTZFNTAwNDQ4OTE0IC8qIFdlYlByZXZpZXdMb2Fk
ZXJDbGllbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQTFDNTEyQzYxOTA2NTZFNTAwNDQ4OTE0IC8qIFdlYlByZXZpZXdMb2FkZXJDbGllbnQuY3Bw
ICovOyB9OwogCQlBMUM1MTJDOTE5MDY1NkU1MDA0NDg5MTQgLyogV2ViUHJldmlld0xvYWRlckNs
aWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTFD
NTEyQzcxOTA2NTZFNTAwNDQ4OTE0IC8qIFdlYlByZXZpZXdMb2FkZXJDbGllbnQuaCAqLzsgfTsK
IAkJQTFENDIwNDcxREI1NTc4NTAwQkI2QjBEIC8qIFdLQ29udGV4dE1lbnVMaXN0ZW5lci5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMUVBMDIzNTFE
QUJGRjdFMDA5NjAyMUYgLyogV0tDb250ZXh0TWVudUxpc3RlbmVyLmNwcCAqLzsgfTsKKwkJQTFE
QUZEREYyMDdFOUIxNjAwNUU4QTUyIC8qIFdpRmlBc3NlcnRpb25Ib2xkZXIuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExREFGREREMjA3RTlCMTYwMDVF
OEE1MiAvKiBXaUZpQXNzZXJ0aW9uSG9sZGVyLmggKi87IH07CisJCUExREFGREUwMjA3RTlCMTYw
MDVFOEE1MiAvKiBXaUZpQXNzZXJ0aW9uSG9sZGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExREFGRERFMjA3RTlCMTYwMDVFOEE1MiAvKiBXaUZp
QXNzZXJ0aW9uSG9sZGVyLmNwcCAqLzsgfTsKIAkJQTFERjYzMTIxOEUwQjdDODAwM0EzRTJBIC8q
IERvd25sb2FkQ2xpZW50Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQTFERjYzMTAxOEUwQjdDODAwM0EzRTJBIC8qIERvd25sb2FkQ2xpZW50Lm1tICov
OyB9OwogCQlBMURGNjMxMzE4RTBCN0M4MDAzQTNFMkEgLyogRG93bmxvYWRDbGllbnQuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExREY2MzExMThFMEI3
QzgwMDNBM0UyQSAvKiBEb3dubG9hZENsaWVudC5oICovOyB9OwogCQlBMUU2ODg3MDFGNkUyQkFC
MDA3MDA2QTYgLyogUXVhcmFudGluZVNQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQTFFNjg4NkYxRjZFMkJBQjAwNzAwNkE2IC8qIFF1YXJhbnRpbmVT
UEkuaCAqLzsgfTsKQEAgLTQwNTgsNiArNDA2MCw4IEBACiAJCUExQTRGRTYwMThERDU0QTQwMEI1
RUE4QSAvKiBfV0tEb3dubG9hZERlbGVnYXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IF9XS0Rvd25sb2FkRGVsZWdhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQTFDNTEyQzYxOTA2NTZFNTAwNDQ4OTE0IC8qIFdlYlByZXZpZXdMb2FkZXJDbGllbnQuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gV2ViUHJldmlld0xvYWRlckNs
aWVudC5jcHA7IHBhdGggPSBpb3MvV2ViUHJldmlld0xvYWRlckNsaWVudC5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUExQzUxMkM3MTkwNjU2RTUwMDQ0ODkxNCAvKiBXZWJQcmV2
aWV3TG9hZGVyQ2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdlYlBy
ZXZpZXdMb2FkZXJDbGllbnQuaDsgcGF0aCA9IGlvcy9XZWJQcmV2aWV3TG9hZGVyQ2xpZW50Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUExREFGREREMjA3RTlCMTYwMDVFOEE1MiAv
KiBXaUZpQXNzZXJ0aW9uSG9sZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdpRmlBc3NlcnRpb25Ib2xk
ZXIuaDsgcGF0aCA9IE5ldHdvcmtQcm9jZXNzL2NvY29hL1dpRmlBc3NlcnRpb25Ib2xkZXIuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTFEQUZEREUyMDdFOUIxNjAwNUU4QTUyIC8q
IFdpRmlBc3NlcnRpb25Ib2xkZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gV2lGaUFzc2VydGlv
bkhvbGRlci5jcHA7IHBhdGggPSBOZXR3b3JrUHJvY2Vzcy9jb2NvYS9XaUZpQXNzZXJ0aW9uSG9s
ZGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTFERjYzMTAxOEUwQjdDODAw
M0EzRTJBIC8qIERvd25sb2FkQ2xpZW50Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2Jq
Y3BwOyBwYXRoID0gRG93bmxvYWRDbGllbnQubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUExREY2MzExMThFMEI3QzgwMDNBM0UyQSAvKiBEb3dubG9hZENsaWVudC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEb3dubG9hZENsaWVudC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlBMUU2ODg2RjFGNkUyQkFCMDA3MDA2QTYgLyogUXVhcmFudGluZVNQ
SS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBRdWFyYW50aW5lU1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CkBAIC02OTE1LDYgKzY5MTksOCBAQAogCQkJCTdFQzRGMEY5MThFNEE5NDUwMDgwNTZB
RiAvKiBOZXR3b3JrUHJvY2Vzc0NvY29hLm1tICovLAogCQkJCTUzMjE1OTUwMURCQUU2RDcwMDU0
QUEzQyAvKiBOZXR3b3JrU2Vzc2lvbkNvY29hLmggKi8sCiAJCQkJNUMyMENCOUIxQkIwRENEMjAw
ODk1QkIxIC8qIE5ldHdvcmtTZXNzaW9uQ29jb2EubW0gKi8sCisJCQkJQTFEQUZEREUyMDdFOUIx
NjAwNUU4QTUyIC8qIFdpRmlBc3NlcnRpb25Ib2xkZXIuY3BwICovLAorCQkJCUExREFGREREMjA3
RTlCMTYwMDVFOEE1MiAvKiBXaUZpQXNzZXJ0aW9uSG9sZGVyLmggKi8sCiAJCQkpOwogCQkJbmFt
ZSA9IGNvY29hOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKQEAgLTk0MTAsNiArOTQxNiw3
IEBACiAJCQkJMTU3MzlCQkQxQjQyMDQyRDAwRDI1OEMxIC8qIFdlYlVzZXJNZWRpYUNsaWVudC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJODNFRTU3NUMxREI3RDYxMTAwQzc0QzUwIC8qIFdlYlZhbGlk
YXRpb25NZXNzYWdlQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkyREZDN0RCQjFCQ0NDMTk1
MDBDMTU0OEMgLyogV2ViVmlld0ltcGwuaCBpbiBIZWFkZXJzICovLAorCQkJCUExREFGRERGMjA3
RTlCMTYwMDVFOEE1MiAvKiBXaUZpQXNzZXJ0aW9uSG9sZGVyLmggaW4gSGVhZGVycyAqLywKIAkJ
CQkyOUNENTVBQTEyOEUyOTRGMDAxMzNDODUgLyogV0tBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVj
dEJhc2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTI5MjMyREY0MThCMjlENjgwMEQwNTk2RiAvKiBX
S0FjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0TWFjLmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzRC
NzI0NDE5RjVCOUJFMDBBRTk2RDYgLyogV0tBY3Rpb25NZW51SXRlbVR5cGVzLmggaW4gSGVhZGVy
cyAqLywKQEAgLTExMTg5LDYgKzExMTk2LDcgQEAKIAkJCQk4M0VFNTc1QjFEQjdENjExMDBDNzRD
NTAgLyogV2ViVmFsaWRhdGlvbk1lc3NhZ2VDbGllbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
MkRGQzdEQkMxQkNDQzE5NTAwQzE1NDhDIC8qIFdlYlZpZXdJbXBsLm1tIGluIFNvdXJjZXMgKi8s
CiAJCQkJQzAzMzdERDExMjdBMjk4MDAwOEZGNEY0IC8qIFdlYldoZWVsRXZlbnQuY3BwIGluIFNv
dXJjZXMgKi8sCisJCQkJQTFEQUZERTAyMDdFOUIxNjAwNUU4QTUyIC8qIFdpRmlBc3NlcnRpb25I
b2xkZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJODY4MTYwRDAxODc2NDU1NzAwMjFFNzlEIC8q
IFdpbmRvd1NlcnZlckNvbm5lY3Rpb24ubW0gaW4gU291cmNlcyAqLywKIAkJCQkyOUNENTVBQjEy
OEUyOTRGMDAxMzNDODUgLyogV0tBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdEJhc2UubW0gaW4g
U291cmNlcyAqLywKIAkJCQkyOTIzMkRGODE4QjJBOUFFMDBEMDU5NkYgLyogV0tBY2Nlc3NpYmls
aXR5V2ViUGFnZU9iamVjdElPUy5tbSBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9jb25maWcuaCBiL1NvdXJjZS9XZWJLaXQvY29uZmlnLmgKaW5kZXggMTFhNGEyNGIy
MTNlNTVlZGI5ZTJkNTY0MTc2M2MzNGQxZDE2YzNmOC4uZDBmMzRhZGI1MTI1OTVmYTMxMjFiYzJj
MDliNzU4MTA5YTU1ZWU2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jb25maWcuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L2NvbmZpZy5oCkBAIC0xMjQsMyArMTI0LDExIEBACiAjZGVmaW5lIEhB
VkVfTElOS19QUkVWSUVXIDAKICNlbmRpZgogI2VuZGlmCisKKyNpZm5kZWYgSEFWRV9NT0JJTEVf
V0lGSQorI2lmIFBMQVRGT1JNKElPUykgJiYgIVRBUkdFVF9PU19TSU1VTEFUT1IKKyNkZWZpbmUg
SEFWRV9NT0JJTEVfV0lGSSAxCisjZWxzZQorI2RlZmluZSBIQVZFX01PQklMRV9XSUZJIDAKKyNl
bmRpZgorI2VuZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>337778</attachid>
            <date>2018-04-12 00:18:54 -0700</date>
            <delta_ts>2018-04-12 00:19:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-184520-20180412001853.patch</filename>
            <type>text/plain</type>
            <size>21998</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMwNTU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDM2Y2QwMjVkNTc0YWU3MTAx
N2VkMjhmZGE3YjA3YjQwNDQwYjg0NWMuLjYyMjgwMGQxZjJjODliMzg3OTk4MWQ2YzQxOTA3YTcw
YjczZmQ1YWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzAgQEAKKzIwMTgtMDQtMTEgIEFuZHkgRXN0
ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIEFkZCBhIG1lY2hhbmlzbSBm
b3IgaG9sZGluZyBXaS1GaSBhc3NlcnRpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xODQ1MjAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzM5MDI1
NzI2PgorCisgICAgICAgIFJldmlld2VkIGJ5IFNhbSBXZWluaWcuCisKKyAgICAgICAgQWRkIHBs
dW1iaW5nIGZvciBob2xkaW5nIGEgV2ktRmkgYXNzZXJ0aW9uIG9uIGlPUyBhcyBsb25nIGFzIHRo
ZXJlIGFyZSBhY3RpdmUKKyAgICAgICAgbmV0d29yayBkYXRhIHRhc2tzLiBUaGlzIGZ1bmN0aW9u
YWxpdHkgaXMgdHVybmVkIG9mZiBieSBkZWZhdWx0IHJpZ2h0IG5vdy4KKworICAgICAgICAqIENv
bmZpZ3VyYXRpb25zL05ldHdvcmstaU9TLmVudGl0bGVtZW50czoKKyAgICAgICAgKiBOZXR3b3Jr
UHJvY2Vzcy9jb2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5oOgorICAgICAgICAqIE5ldHdvcmtQ
cm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpO
ZXR3b3JrRGF0YVRhc2tDb2NvYTo6TmV0d29ya0RhdGFUYXNrQ29jb2EpOgorICAgICAgICAqIE5l
dHdvcmtQcm9jZXNzL2NvY29hL1dpRmlBc3NlcnRpb25Ib2xkZXIuY3BwOiBBZGRlZC4KKyAgICAg
ICAgKFdlYktpdDo6ZW5zdXJlV2lGaU1hbmFnZXJDbGllbnQpOiBDcmVhdGUgYSBnbG9iYWwgV2lG
aU1hbmFnZXJDbGllbnQgd2hlbiBuZWVkZWQuCisgICAgICAgIChXZWJLaXQ6OldpRmlBc3NlcnRp
b25Ib2xkZXI6OldpRmlBc3NlcnRpb25Ib2xkZXIpOiBJZiB0aGlzIGlzIHRoZSBmaXJzdCBhY3Rp
dmUKKyAgICAgICAgV2ktRmkgYXNzZXJ0aW9uIGhvbGRlciwgc2V0IHRoZSBjbGllbnQncyB0eXBl
IHRvIGtXaUZpQ2xpZW50VHlwZUJhY2tncm91bmQuCisgICAgICAgIChXZWJLaXQ6OldpRmlBc3Nl
cnRpb25Ib2xkZXI6On5XaUZpQXNzZXJ0aW9uSG9sZGVyKTogSWYgdGhlIGxhc3QgYWN0aXZlIFdp
LUZpCisgICAgICAgIGFzc2VydGlvbiBob2xkZXIgaXMgYmVpbmcgZGVzdHJveWVkLCBzZXQgdGhl
IGNsaWVudCdzIHR5cGUgYmFjayB0bworICAgICAgICBrV2lGaUNsaWVudFR5cGVOb3JtYWwuCisg
ICAgICAgICogTmV0d29ya1Byb2Nlc3MvY29jb2EvV2lGaUFzc2VydGlvbkhvbGRlci5oOiBBZGRl
ZC4KKyAgICAgICAgKiBQbGF0Zm9ybS9Mb2dnaW5nLmg6IEFkZGVkIGEgbG9nZ2luZyBjaGFubmVs
IGZvciBXaS1GaSBhc3NlcnRpb25zLgorICAgICAgICAqIFJlc291cmNlcy9TYW5kYm94UHJvZmls
ZXMvaW9zL2NvbS5hcHBsZS5XZWJLaXQuTmV0d29ya2luZy5zYjoKKyAgICAgICAgKiBXZWJLaXQu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKwogMjAxOC0wNC0xMSAgWmFuIERvYmVyc2VrICA8
emRvYmVyc2VrQGlnYWxpYS5jb20+CiAKICAgICAgICAgW1dQRV0gTWFrZSBXZWJLaXRXZWJWaWV3
QmFja2VuZCBvYmplY3QgbWFuZGF0b3J5IGZvciB3ZWJraXRfd2ViX3ZpZXdfbmV3KigpIGNvbnN0
cnVjdG9ycwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9OZXR3b3Jr
LWlPUy5lbnRpdGxlbWVudHMgYi9Tb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL05ldHdvcmst
aU9TLmVudGl0bGVtZW50cwppbmRleCBiZjg4ZmY2ZWNjNjUwNjQyMzUwMGMxZjBkMDE4Zjc4YWMw
ODQyMWQ4Li45NmMyZjlhOGE2OGMxYWZiY2Y0ZGFlMDAyZDFmYTcyMDBmYmZlNGI0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL05ldHdvcmstaU9TLmVudGl0bGVtZW50
cworKysgYi9Tb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL05ldHdvcmstaU9TLmVudGl0bGVt
ZW50cwpAQCAtMiw2ICsyLDggQEAKIDwhRE9DVFlQRSBwbGlzdCBQVUJMSUMgIi0vL0FwcGxlLy9E
VEQgUExJU1QgMS4wLy9FTiIgImh0dHA6Ly93d3cuYXBwbGUuY29tL0RURHMvUHJvcGVydHlMaXN0
LTEuMC5kdGQiPgogPHBsaXN0IHZlcnNpb249IjEuMCI+CiA8ZGljdD4KKwk8a2V5PmNvbS5hcHBs
ZS53aWZpLm1hbmFnZXItYWNjZXNzPC9rZXk+CisJPHRydWUvPgogCTxrZXk+Y29tLmFwcGxlLnBy
aXZhdGUuYWNjb3VudHMuYnVuZGxlaWRzcG9vZmluZzwva2V5PgogCTx0cnVlLz4KIAk8a2V5PnNl
YXRiZWx0LXByb2ZpbGVzPC9rZXk+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29hLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29hLmgKaW5kZXggMWY3Yjg0MmY0MDAy
NjE4NzFmYWJkYzBkZjVlZDUyNTQ1OWFhNDlkMS4uY2JhNjY0MTI2MzUyZjVkZTFiZGIxYTlkYWQ2
OWRhY2JiMTAzODk1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9j
b2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvY29jb2EvTmV0d29ya0RhdGFUYXNrQ29jb2EuaApAQCAtMjcsNiArMjcsNyBAQAogCiAj
aW5jbHVkZSAiTmV0d29ya0RhdGFUYXNrLmgiCiAjaW5jbHVkZSAiTmV0d29ya0xvYWRQYXJhbWV0
ZXJzLmgiCisjaW5jbHVkZSAiV2lGaUFzc2VydGlvbkhvbGRlci5oIgogI2luY2x1ZGUgPFdlYkNv
cmUvTmV0d29ya0xvYWRNZXRyaWNzLmg+CiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgogCkBA
IC03MSw2ICs3MiwxNCBAQCBwdWJsaWM6CiAgICAgdWludDY0X3QgZnJhbWVJRCgpIGNvbnN0IHsg
cmV0dXJuIG1fZnJhbWVJRDsgfTsKICAgICB1aW50NjRfdCBwYWdlSUQoKSBjb25zdCB7IHJldHVy
biBtX3BhZ2VJRDsgfTsKIAorI2lmIEhBVkUoTU9CSUxFX1dJRkkpCisgICAgdm9pZCBhY3F1aXJl
V2lGaUFzc2VydGlvbigpCisgICAgeworICAgICAgICBBU1NFUlQoIW1fd2lGaUFzc2VydGlvbkhv
bGRlcik7CisgICAgICAgIG1fd2lGaUFzc2VydGlvbkhvbGRlci5lbXBsYWNlKCk7CisgICAgfQor
I2VuZGlmCisKIHByaXZhdGU6CiAgICAgTmV0d29ya0RhdGFUYXNrQ29jb2EoTmV0d29ya1Nlc3Np
b24mLCBOZXR3b3JrRGF0YVRhc2tDbGllbnQmLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVl
c3QmLCB1aW50NjRfdCBmcmFtZUlELCB1aW50NjRfdCBwYWdlSUQsIFdlYkNvcmU6OlN0b3JlZENy
ZWRlbnRpYWxzUG9saWN5LCBXZWJDb3JlOjpDb250ZW50U25pZmZpbmdQb2xpY3ksIFdlYkNvcmU6
OkNvbnRlbnRFbmNvZGluZ1NuaWZmaW5nUG9saWN5LCBib29sIHNob3VsZENsZWFyUmVmZXJyZXJP
bkhUVFBTVG9IVFRQUmVkaXJlY3QsIFByZWNvbm5lY3RPbmx5KTsKIApAQCAtOTQsNiArMTAzLDEw
IEBAIHByaXZhdGU6CiAjaWYgSEFWRShDRk5FVFdPUktfU1RPUkFHRV9QQVJUSVRJT05JTkcpCiAg
ICAgYm9vbCBtX2hhc0JlZW5TZXRUb1VzZVN0YXRlbGVzc0Nvb2tpZVN0b3JhZ2UgeyBmYWxzZSB9
OwogI2VuZGlmCisKKyNpZiBIQVZFKE1PQklMRV9XSUZJKQorICAgIHN0ZDo6b3B0aW9uYWw8V2lG
aUFzc2VydGlvbkhvbGRlcj4gbV93aUZpQXNzZXJ0aW9uSG9sZGVyOworI2VuZGlmCiB9OwogCiBX
ZWJDb3JlOjpDcmVkZW50aWFsIHNlcnZlclRydXN0Q3JlZGVudGlhbChjb25zdCBXZWJDb3JlOjpB
dXRoZW50aWNhdGlvbkNoYWxsZW5nZSYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya0RhdGFUYXNrQ29jb2EubW0KaW5kZXggOTViYzg0
NTVhODc4NmRhY2JiYWU2MzAxOTZmYWJmZTM5YjNkNjBiOS4uN2E0Njg1ZmUwNTYyZWFjMDg1ODY5
ZWYzZDg2M2E2Njg0ZjIwZWI1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9jb2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29hLm1tCkBAIC00NCw2ICs0NCwx
MCBAQAogI2ltcG9ydCA8d3RmL1Byb2Nlc3NQcml2aWxlZ2UuaD4KICNpbXBvcnQgPHd0Zi90ZXh0
L0Jhc2U2NC5oPgogCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNpbXBvcnQgPFdlYktp
dEFkZGl0aW9ucy9OZXR3b3JrRGF0YVRhc2tDb2NvYUFkZGl0aW9ucy5tbT4KKyNlbmRpZgorCiBu
YW1lc3BhY2UgV2ViS2l0IHsKIAogI2lmIFVTRShDUkVERU5USUFMX1NUT1JBR0VfV0lUSF9ORVRX
T1JLX1NFU1NJT04pCkBAIC0xODksNiArMTkzLDkgQEAgTmV0d29ya0RhdGFUYXNrQ29jb2E6Ok5l
dHdvcmtEYXRhVGFza0NvY29hKE5ldHdvcmtTZXNzaW9uJiBzZXNzaW9uLCBOZXR3b3JrRGF0YVQK
IAogICAgIE5TVVJMUmVxdWVzdCAqbnNSZXF1ZXN0ID0gcmVxdWVzdC5uc1VSTFJlcXVlc3QoV2Vi
Q29yZTo6VXBkYXRlSFRUUEJvZHkpOwogICAgIGFwcGx5U25pZmZpbmdQb2xpY2llc0FuZEJpbmRS
ZXF1ZXN0VG9JbmZlcmZhY2VJZk5lZWRlZChuc1JlcXVlc3QsIHNob3VsZENvbnRlbnRTbmlmZiA9
PSBXZWJDb3JlOjpTbmlmZkNvbnRlbnQgJiYgIXVybC5pc0xvY2FsRmlsZSgpLCBzaG91bGRDb250
ZW50RW5jb2RpbmdTbmlmZiA9PSBXZWJDb3JlOjpDb250ZW50RW5jb2RpbmdTbmlmZmluZ1BvbGlj
eTo6U25pZmYpOworI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisgICAgYXBwbHlBZGRpdGlv
bmFsUHJvcGVydGllcyhyZXF1ZXN0LCAqdGhpcywgbnNSZXF1ZXN0KTsKKyNlbmRpZgogCiAgICAg
YXV0byYgY29jb2FTZXNzaW9uID0gc3RhdGljX2Nhc3Q8TmV0d29ya1Nlc3Npb25Db2NvYSY+KG1f
c2Vzc2lvbi5nZXQoKSk7CiAgICAgaWYgKHN0b3JlZENyZWRlbnRpYWxzUG9saWN5ID09IFdlYkNv
cmU6OlN0b3JlZENyZWRlbnRpYWxzUG9saWN5OjpVc2UpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvV2lGaUFzc2VydGlvbkhvbGRlci5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL1dpRmlBc3NlcnRpb25Ib2xkZXIuY3BwCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjQyM2JlNzBlNjA4ZjRjZDExMjdiNzI4NGJlNWRlMjFhNTQxYTAwM2YKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL1dpRmlBc3Nl
cnRpb25Ib2xkZXIuY3BwCkBAIC0wLDAgKzEsNjUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAi
Y29uZmlnLmgiCisjaW5jbHVkZSAiV2lGaUFzc2VydGlvbkhvbGRlci5oIgorCisjaWYgSEFWRShN
T0JJTEVfV0lGSSkKKworI2luY2x1ZGUgIkxvZ2dpbmcuaCIKKyNpbmNsdWRlICJNb2JpbGVXaUZp
U1BJLmgiCisKK25hbWVzcGFjZSBXZWJLaXQgeworCitzdGF0aWMgV2lGaU1hbmFnZXJDbGllbnRS
ZWYgZW5zdXJlV2lGaU1hbmFnZXJDbGllbnQoKQoreworICAgIHN0YXRpYyBXaUZpTWFuYWdlckNs
aWVudFJlZiB3aUZpTWFuYWdlckNsaWVudCA9IFdpRmlNYW5hZ2VyQ2xpZW50Q3JlYXRlKGtDRkFs
bG9jYXRvckRlZmF1bHQsIGtXaUZpQ2xpZW50VHlwZU5vcm1hbCk7CisgICAgcmV0dXJuIHdpRmlN
YW5hZ2VyQ2xpZW50OworfQorCitzdGF0aWMgdWludDY0X3Qgd2lGaUFzc2VydGlvbkNvdW50Owor
CitXaUZpQXNzZXJ0aW9uSG9sZGVyOjpXaUZpQXNzZXJ0aW9uSG9sZGVyKCkKK3sKKyAgICBpZiAo
d2lGaUFzc2VydGlvbkNvdW50KyspCisgICAgICAgIHJldHVybjsKKworICAgIFJFTEVBU0VfTE9H
KFdpRmlBc3NlcnRpb25zLCAiQWNxdWlyaW5nIFdpLUZpIGFzc2VydGlvbi4iKTsKKyAgICBXaUZp
TWFuYWdlckNsaWVudFNldFR5cGUoZW5zdXJlV2lGaU1hbmFnZXJDbGllbnQoKSwga1dpRmlDbGll
bnRUeXBlQmFja2dyb3VuZCk7Cit9CisKK1dpRmlBc3NlcnRpb25Ib2xkZXI6On5XaUZpQXNzZXJ0
aW9uSG9sZGVyKCkKK3sKKyAgICBBU1NFUlQod2lGaUFzc2VydGlvbkNvdW50KTsKKyAgICBpZiAo
LS13aUZpQXNzZXJ0aW9uQ291bnQpCisgICAgICAgIHJldHVybjsKKworICAgIFJFTEVBU0VfTE9H
KFdpRmlBc3NlcnRpb25zLCAiUmVsZWFzaW5nIFdpLUZpIGFzc2VydGlvbi4iKTsKKyAgICBXaUZp
TWFuYWdlckNsaWVudFNldFR5cGUoZW5zdXJlV2lGaU1hbmFnZXJDbGllbnQoKSwga1dpRmlDbGll
bnRUeXBlTm9ybWFsKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBI
QVZFKE1PQklMRV9XSUZJKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9jb2NvYS9XaUZpQXNzZXJ0aW9uSG9sZGVyLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL2NvY29hL1dpRmlBc3NlcnRpb25Ib2xkZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMDhmY2RiYzU5YWVl
YWFiZmI0NGYyYWQzMjIyNzkzNzZlMDg0Y2E4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9XaUZpQXNzZXJ0aW9uSG9sZGVyLmgKQEAgLTAsMCAr
MSw0MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgSEFWRShNT0JJTEVfV0lG
SSkKKworI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsK
KworY2xhc3MgV2lGaUFzc2VydGlvbkhvbGRlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
V2lGaUFzc2VydGlvbkhvbGRlcik7CitwdWJsaWM6CisgICAgV2lGaUFzc2VydGlvbkhvbGRlcigp
OworICAgIH5XaUZpQXNzZXJ0aW9uSG9sZGVyKCk7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJL
aXQKKworI2VuZGlmIC8vIEhBVkUoTU9CSUxFX1dJRkkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1BsYXRmb3JtL0xvZ2dpbmcuaCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vTG9nZ2luZy5o
CmluZGV4IGY2MTM5YzQyMjVlMmM1MjRhMDk2YjIwYjkyN2RhNDIyY2E5MWIyZDIuLjYzZTRjOGUx
YzM4MzI0YzhkYTMxOTRiOTNjMzEzMzliY2NhY2ZlMzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvUGxhdGZvcm0vTG9nZ2luZy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vTG9nZ2lu
Zy5oCkBAIC03Niw2ICs3Niw3IEBAIGV4dGVybiAiQyIgewogICAgIE0oVmlydHVhbE1lbW9yeSkg
XAogICAgIE0oVmlzaWJsZVJlY3RzKSBcCiAgICAgTShXZWJSVEMpIFwKKyAgICBNKFdpRmlBc3Nl
cnRpb25zKSBcCiAKIFdFQktJVDJfTE9HX0NIQU5ORUxTKERFQ0xBUkVfTE9HX0NIQU5ORUwpCiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL2lvcy9Nb2JpbGVXaUZpU1BJ
LmggYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL3NwaS9pb3MvTW9iaWxlV2lGaVNQSS5oCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmRiY2U5ZDA1OGIxOWJhMGJkMDdlNWE3Y2Y5M2JjZjkwMWNjOGVjNWMKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL3NwaS9pb3MvTW9iaWxlV2lGaVNQSS5o
CkBAIC0wLDAgKzEsNDggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTggQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIFVTRShB
UFBMRV9JTlRFUk5BTF9TREspCisKKyNpbmNsdWRlIDxNb2JpbGVXaUZpL1dpRmlNYW5hZ2VyQ2xp
ZW50Lmg+CisKKyNlbHNlCisKK3R5cGVkZWYgZW51bSB7CisgICAga1dpRmlDbGllbnRUeXBlTm9y
bWFsLAorICAgIGtXaUZpQ2xpZW50VHlwZUJhY2tncm91bmQsCit9IFdpRmlDbGllbnRUeXBlOwor
Cit0eXBlZGVmIHZvaWQqIFdpRmlNYW5hZ2VyQ2xpZW50UmVmOworCisjZW5kaWYKKworV1RGX0VY
VEVSTl9DX0JFR0lOCisKK1dpRmlNYW5hZ2VyQ2xpZW50UmVmIFdpRmlNYW5hZ2VyQ2xpZW50Q3Jl
YXRlKENGQWxsb2NhdG9yUmVmLCBXaUZpQ2xpZW50VHlwZSk7Cit2b2lkIFdpRmlNYW5hZ2VyQ2xp
ZW50U2V0VHlwZShXaUZpTWFuYWdlckNsaWVudFJlZiwgV2lGaUNsaWVudFR5cGUpOworCitXVEZf
RVhURVJOX0NfRU5ECmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1Jlc291cmNlcy9TYW5kYm94
UHJvZmlsZXMvaW9zL2NvbS5hcHBsZS5XZWJLaXQuTmV0d29ya2luZy5zYiBiL1NvdXJjZS9XZWJL
aXQvUmVzb3VyY2VzL1NhbmRib3hQcm9maWxlcy9pb3MvY29tLmFwcGxlLldlYktpdC5OZXR3b3Jr
aW5nLnNiCmluZGV4IGZjOGE2MmRiN2YxNjM2MDQwMTI1YTRkN2QyYmY3YzExOTg5OGE3ZWEuLmYz
ZmQ4OWI0ZWU2NzA5NjFkZTYwN2JlYjRiMzg3YzJmN2JkZWYwMGEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvUmVzb3VyY2VzL1NhbmRib3hQcm9maWxlcy9pb3MvY29tLmFwcGxlLldlYktpdC5O
ZXR3b3JraW5nLnNiCisrKyBiL1NvdXJjZS9XZWJLaXQvUmVzb3VyY2VzL1NhbmRib3hQcm9maWxl
cy9pb3MvY29tLmFwcGxlLldlYktpdC5OZXR3b3JraW5nLnNiCkBAIC04OSw0ICs4OSw1IEBACiA7
OyBWYXJpb3VzIHNlcnZpY2VzIHJlcXVpcmVkIGJ5IHN5c3RlbSBmcmFtZXdvcmtzCiAoYWxsb3cg
bWFjaC1sb29rdXAKICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5sc2QubWFwZGIiKQotICAg
IChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLmFuYWx5dGljc2QiKSkKKyAgICAoZ2xvYmFsLW5hbWUg
ImNvbS5hcHBsZS5hbmFseXRpY3NkIikKKyAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5XaXJl
bGVzc0NvZXhNYW5hZ2VyIikpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagppbmRleCBkNGQyODI5NGQzNmVhMWU3YjMyYTdiNDAyZDkzMzdlNmI2NGI3
Zjg1Li43YzJkNDY1MzAxMzAwYzg1YmNmOTNiMzQ1YWE4ZDkyZTc4MGYzZTYwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Nv
dXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE1NTcsNiAr
MTU1Nyw3IEBACiAJCUExMThBOUVGMTkwN0FENkYwMEY3QzkyQiAvKiBRdWlja0xvb2tEb2N1bWVu
dERhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEEx
MThBOUVEMTkwN0FENkYwMEY3QzkyQiAvKiBRdWlja0xvb2tEb2N1bWVudERhdGEuaCAqLzsgfTsK
IAkJQTExOEE5RjIxOTA4QjhFQTAwRjdDOTJCIC8qIF9XS05TRmlsZU1hbmFnZXJFeHRyYXMubW0g
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTE4QTlGMDE5
MDhCOEVBMDBGN0M5MkIgLyogX1dLTlNGaWxlTWFuYWdlckV4dHJhcy5tbSAqLzsgfTsKIAkJQTEx
OEE5RjMxOTA4QjhFQTAwRjdDOTJCIC8qIF9XS05TRmlsZU1hbmFnZXJFeHRyYXMuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExMThBOUYxMTkwOEI4RUEw
MEY3QzkyQiAvKiBfV0tOU0ZpbGVNYW5hZ2VyRXh0cmFzLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTEzQjNEQTIyMDdGMzlERTAwOTBDNThEIC8q
IE1vYmlsZVdpRmlTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEExM0IzREExMjA3RjM5REUwMDkwQzU4RCAvKiBNb2JpbGVXaUZpU1BJLmggKi87IH07
CiAJCUExM0RDNjgyMjA3QUE2QjIwMDY2RUY3MiAvKiBXS0FwcGxpY2F0aW9uU3RhdGVUcmFja2lu
Z1ZpZXcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEEx
M0RDNjgwMjA3QUE2QjIwMDY2RUY3MiAvKiBXS0FwcGxpY2F0aW9uU3RhdGVUcmFja2luZ1ZpZXcu
aCAqLzsgfTsKIAkJQTEzREM2ODMyMDdBQTZCMjAwNjZFRjcyIC8qIFdLQXBwbGljYXRpb25TdGF0
ZVRyYWNraW5nVmlldy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEExM0RDNjgxMjA3QUE2QjIwMDY2RUY3MiAvKiBXS0FwcGxpY2F0aW9uU3RhdGVUcmFj
a2luZ1ZpZXcubW0gKi87IH07CiAJCUExNUVFREU1MUUzMDFDRUUwMDAwNjlCMCAvKiBXS1Bhc3N3
b3JkVmlldy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEExNUVFREUzMUUzMDFDRUUwMDAwNjlCMCAvKiBXS1Bhc3N3b3JkVmlldy5tbSAqLzsgfTsKQEAg
LTE1NzEsNiArMTU3Miw4IEBACiAJCUExQzUxMkM4MTkwNjU2RTUwMDQ0ODkxNCAvKiBXZWJQcmV2
aWV3TG9hZGVyQ2xpZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEExQzUxMkM2MTkwNjU2RTUwMDQ0ODkxNCAvKiBXZWJQcmV2aWV3TG9hZGVyQ2xp
ZW50LmNwcCAqLzsgfTsKIAkJQTFDNTEyQzkxOTA2NTZFNTAwNDQ4OTE0IC8qIFdlYlByZXZpZXdM
b2FkZXJDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEExQzUxMkM3MTkwNjU2RTUwMDQ0ODkxNCAvKiBXZWJQcmV2aWV3TG9hZGVyQ2xpZW50Lmgg
Ki87IH07CiAJCUExRDQyMDQ3MURCNTU3ODUwMEJCNkIwRCAvKiBXS0NvbnRleHRNZW51TGlzdGVu
ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTFF
QTAyMzUxREFCRkY3RTAwOTYwMjFGIC8qIFdLQ29udGV4dE1lbnVMaXN0ZW5lci5jcHAgKi87IH07
CisJCUExREFGRERGMjA3RTlCMTYwMDVFOEE1MiAvKiBXaUZpQXNzZXJ0aW9uSG9sZGVyLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMURBRkRERDIwN0U5
QjE2MDA1RThBNTIgLyogV2lGaUFzc2VydGlvbkhvbGRlci5oICovOyB9OworCQlBMURBRkRFMDIw
N0U5QjE2MDA1RThBNTIgLyogV2lGaUFzc2VydGlvbkhvbGRlci5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMURBRkRERTIwN0U5QjE2MDA1RThBNTIg
LyogV2lGaUFzc2VydGlvbkhvbGRlci5jcHAgKi87IH07CiAJCUExREY2MzEyMThFMEI3QzgwMDNB
M0UyQSAvKiBEb3dubG9hZENsaWVudC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEExREY2MzEwMThFMEI3QzgwMDNBM0UyQSAvKiBEb3dubG9hZENsaWVu
dC5tbSAqLzsgfTsKIAkJQTFERjYzMTMxOEUwQjdDODAwM0EzRTJBIC8qIERvd25sb2FkQ2xpZW50
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMURGNjMx
MTE4RTBCN0M4MDAzQTNFMkEgLyogRG93bmxvYWRDbGllbnQuaCAqLzsgfTsKIAkJQTFFNjg4NzAx
RjZFMkJBQjAwNzAwNkE2IC8qIFF1YXJhbnRpbmVTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExRTY4ODZGMUY2RTJCQUIwMDcwMDZBNiAvKiBRdWFy
YW50aW5lU1BJLmggKi87IH07CkBAIC00MDQ1LDYgKzQwNDgsNyBAQAogCQlBMTE4QTlFRDE5MDdB
RDZGMDBGN0M5MkIgLyogUXVpY2tMb29rRG9jdW1lbnREYXRhLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgbmFtZSA9IFF1aWNrTG9va0RvY3VtZW50RGF0YS5oOyBwYXRoID0gaW9zL1F1aWNr
TG9va0RvY3VtZW50RGF0YS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBMTE4QTlG
MDE5MDhCOEVBMDBGN0M5MkIgLyogX1dLTlNGaWxlTWFuYWdlckV4dHJhcy5tbSAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IF9XS05TRmlsZU1hbmFnZXJFeHRyYXMubW07
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUExMThBOUYxMTkwOEI4RUEwMEY3QzkyQiAv
KiBfV0tOU0ZpbGVNYW5hZ2VyRXh0cmFzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IF9XS05TRmlsZU1hbmFnZXJFeHRyYXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJQTEzQjNEQTEyMDdGMzlERTAwOTBDNThEIC8qIE1vYmlsZVdpRmlTUEkuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gTW9iaWxlV2lGaVNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBMTNE
QzY4MDIwN0FBNkIyMDA2NkVGNzIgLyogV0tBcHBsaWNhdGlvblN0YXRlVHJhY2tpbmdWaWV3Lmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgbmFtZSA9IFdLQXBwbGljYXRpb25TdGF0ZVRyYWNraW5nVmlldy5oOyBwYXRoID0g
aW9zL1dLQXBwbGljYXRpb25TdGF0ZVRyYWNraW5nVmlldy5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlBMTNEQzY4MTIwN0FBNkIyMDA2NkVGNzIgLyogV0tBcHBsaWNhdGlvblN0YXRl
VHJhY2tpbmdWaWV3Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBuYW1lID0gV0tBcHBsaWNhdGlvblN0YXRl
VHJhY2tpbmdWaWV3Lm1tOyBwYXRoID0gaW9zL1dLQXBwbGljYXRpb25TdGF0ZVRyYWNraW5nVmll
dy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTE1RUVERTMxRTMwMUNFRTAwMDA2
OUIwIC8qIFdLUGFzc3dvcmRWaWV3Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3Bw
OyBuYW1lID0gV0tQYXNzd29yZFZpZXcubW07IHBhdGggPSBpb3MvV0tQYXNzd29yZFZpZXcubW07
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC00MDU4LDYgKzQwNjIsOCBAQAogCQlBMUE0
RkU2MDE4REQ1NEE0MDBCNUVBOEEgLyogX1dLRG93bmxvYWREZWxlZ2F0ZS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBfV0tEb3dubG9hZERlbGVnYXRlLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUExQzUxMkM2MTkwNjU2RTUwMDQ0ODkxNCAvKiBXZWJQcmV2aWV3
TG9hZGVyQ2xpZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFdl
YlByZXZpZXdMb2FkZXJDbGllbnQuY3BwOyBwYXRoID0gaW9zL1dlYlByZXZpZXdMb2FkZXJDbGll
bnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBMUM1MTJDNzE5MDY1NkU1MDA0
NDg5MTQgLyogV2ViUHJldmlld0xvYWRlckNsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IG5hbWUgPSBXZWJQcmV2aWV3TG9hZGVyQ2xpZW50Lmg7IHBhdGggPSBpb3MvV2ViUHJldmll
d0xvYWRlckNsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBMURBRkRERDIw
N0U5QjE2MDA1RThBNTIgLyogV2lGaUFzc2VydGlvbkhvbGRlci5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBX
aUZpQXNzZXJ0aW9uSG9sZGVyLmg7IHBhdGggPSBOZXR3b3JrUHJvY2Vzcy9jb2NvYS9XaUZpQXNz
ZXJ0aW9uSG9sZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUExREFGRERFMjA3
RTlCMTYwMDVFOEE1MiAvKiBXaUZpQXNzZXJ0aW9uSG9sZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFt
ZSA9IFdpRmlBc3NlcnRpb25Ib2xkZXIuY3BwOyBwYXRoID0gTmV0d29ya1Byb2Nlc3MvY29jb2Ev
V2lGaUFzc2VydGlvbkhvbGRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUEx
REY2MzEwMThFMEI3QzgwMDNBM0UyQSAvKiBEb3dubG9hZENsaWVudC5tbSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IERvd25sb2FkQ2xpZW50Lm1tOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlBMURGNjMxMTE4RTBCN0M4MDAzQTNFMkEgLyogRG93bmxvYWRD
bGllbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRG93bmxvYWRDbGllbnQu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTFFNjg4NkYxRjZFMkJBQjAwNzAwNkE2
IC8qIFF1YXJhbnRpbmVTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUXVhcmFudGluZVNQSS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNjkxNSw2ICs2OTIxLDggQEAKIAkJCQk3RUM0RjBG
OTE4RTRBOTQ1MDA4MDU2QUYgLyogTmV0d29ya1Byb2Nlc3NDb2NvYS5tbSAqLywKIAkJCQk1MzIx
NTk1MDFEQkFFNkQ3MDA1NEFBM0MgLyogTmV0d29ya1Nlc3Npb25Db2NvYS5oICovLAogCQkJCTVD
MjBDQjlCMUJCMERDRDIwMDg5NUJCMSAvKiBOZXR3b3JrU2Vzc2lvbkNvY29hLm1tICovLAorCQkJ
CUExREFGRERFMjA3RTlCMTYwMDVFOEE1MiAvKiBXaUZpQXNzZXJ0aW9uSG9sZGVyLmNwcCAqLywK
KwkJCQlBMURBRkRERDIwN0U5QjE2MDA1RThBNTIgLyogV2lGaUFzc2VydGlvbkhvbGRlci5oICov
LAogCQkJKTsKIAkJCW5hbWUgPSBjb2NvYTsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CkBA
IC04NTU2LDYgKzg1NjQsNyBAQAogCQkJCUNFMUEwQkNEMUE0OEU2QzYwMDU0RUY3NCAvKiBDb3Jl
UERGU1BJLmggKi8sCiAJCQkJMkQ0QUYwODgyMDQ0QzNDNDAwNkM4ODE3IC8qIEZyb250Qm9hcmRT
ZXJ2aWNlc1NQSS5oICovLAogCQkJCUNFMUEwQkNGMUE0OEU2QzYwMDU0RUY3NCAvKiBNYW5hZ2Vk
Q29uZmlndXJhdGlvblNQSS5oICovLAorCQkJCUExM0IzREExMjA3RjM5REUwMDkwQzU4RCAvKiBN
b2JpbGVXaUZpU1BJLmggKi8sCiAJCQkJQ0UxQTBCRDAxQTQ4RTZDNjAwNTRFRjc0IC8qIFRDQ1NQ
SS5oICovLAogCQkJCUNFMUEwQkQxMUE0OEU2QzYwMDU0RUY3NCAvKiBUZXh0SW5wdXRTUEkuaCAq
LywKIAkJCQlDRUU0QUUyQTFBNURDRjQzMDAwMkY0OUIgLyogVUlLaXRTUEkuaCAqLywKQEAgLTg5
ODIsNiArODk5MSw3IEBACiAJCQkJMUEzRUVEMTIxNjFBNTNENjAwQUVCNEY1IC8qIE1lc3NhZ2VS
ZWNlaXZlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUEzRUVEMEYxNjFBNTM1NDAwQUVCNEY1IC8q
IE1lc3NhZ2VSZWNlaXZlck1hcC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFBQjAzN0ExODVBN0M2
QTAwRURGNTAxIC8qIE1lc3NhZ2VTZW5kZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCUExM0IzREEy
MjA3RjM5REUwMDkwQzU4RCAvKiBNb2JpbGVXaUZpU1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQlD
MEUzQUE3QzEyMDlFODNDMDBBNDlEMDEgLyogTW9kdWxlLmggaW4gSGVhZGVycyAqLywKIAkJCQky
RDUwMzY2QjFCQ0RFMTc5MDBFMjBCQjMgLyogTmF0aXZlV2ViR2VzdHVyZUV2ZW50LmggaW4gSGVh
ZGVycyAqLywKIAkJCQkyNjMxNzJDRjE4QjQ2OTQ5MDA2NUI5QzMgLyogTmF0aXZlV2ViVG91Y2hF
dmVudC5oIGluIEhlYWRlcnMgKi8sCkBAIC05NDEwLDYgKzk0MjAsNyBAQAogCQkJCTE1NzM5QkJE
MUI0MjA0MkQwMEQyNThDMSAvKiBXZWJVc2VyTWVkaWFDbGllbnQuaCBpbiBIZWFkZXJzICovLAog
CQkJCTgzRUU1NzVDMURCN0Q2MTEwMEM3NEM1MCAvKiBXZWJWYWxpZGF0aW9uTWVzc2FnZUNsaWVu
dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkRGQzdEQkIxQkNDQzE5NTAwQzE1NDhDIC8qIFdlYlZp
ZXdJbXBsLmggaW4gSGVhZGVycyAqLywKKwkJCQlBMURBRkRERjIwN0U5QjE2MDA1RThBNTIgLyog
V2lGaUFzc2VydGlvbkhvbGRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMjlDRDU1QUExMjhFMjk0
RjAwMTMzQzg1IC8qIFdLQWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmplY3RCYXNlLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkyOTIzMkRGNDE4QjI5RDY4MDBEMDU5NkYgLyogV0tBY2Nlc3NpYmlsaXR5V2Vi
UGFnZU9iamVjdE1hYy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTM0QjcyNDQxOUY1QjlCRTAwQUU5
NkQ2IC8qIFdLQWN0aW9uTWVudUl0ZW1UeXBlcy5oIGluIEhlYWRlcnMgKi8sCkBAIC0xMTE4OSw2
ICsxMTIwMCw3IEBACiAJCQkJODNFRTU3NUIxREI3RDYxMTAwQzc0QzUwIC8qIFdlYlZhbGlkYXRp
b25NZXNzYWdlQ2xpZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJERkM3REJDMUJDQ0MxOTUw
MEMxNTQ4QyAvKiBXZWJWaWV3SW1wbC5tbSBpbiBTb3VyY2VzICovLAogCQkJCUMwMzM3REQxMTI3
QTI5ODAwMDhGRjRGNCAvKiBXZWJXaGVlbEV2ZW50LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUEx
REFGREUwMjA3RTlCMTYwMDVFOEE1MiAvKiBXaUZpQXNzZXJ0aW9uSG9sZGVyLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTg2ODE2MEQwMTg3NjQ1NTcwMDIxRTc5RCAvKiBXaW5kb3dTZXJ2ZXJDb25u
ZWN0aW9uLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMjlDRDU1QUIxMjhFMjk0RjAwMTMzQzg1IC8q
IFdLQWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmplY3RCYXNlLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJ
MjkyMzJERjgxOEIyQTlBRTAwRDA1OTZGIC8qIFdLQWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmplY3RJ
T1MubW0gaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY29uZmlnLmgg
Yi9Tb3VyY2UvV2ViS2l0L2NvbmZpZy5oCmluZGV4IDExYTRhMjRiMjEzZTU1ZWRiOWUyZDU2NDE3
NjNjMzRkMWQxNmMzZjguLmQwZjM0YWRiNTEyNTk1ZmEzMTIxYmMyYzA5Yjc1ODEwOWE1NWVlNmQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY29uZmlnLmgKKysrIGIvU291cmNlL1dlYktpdC9j
b25maWcuaApAQCAtMTI0LDMgKzEyNCwxMSBAQAogI2RlZmluZSBIQVZFX0xJTktfUFJFVklFVyAw
CiAjZW5kaWYKICNlbmRpZgorCisjaWZuZGVmIEhBVkVfTU9CSUxFX1dJRkkKKyNpZiBQTEFURk9S
TShJT1MpICYmICFUQVJHRVRfT1NfU0lNVUxBVE9SCisjZGVmaW5lIEhBVkVfTU9CSUxFX1dJRkkg
MQorI2Vsc2UKKyNkZWZpbmUgSEFWRV9NT0JJTEVfV0lGSSAwCisjZW5kaWYKKyNlbmRpZgo=
</data>
<flag name="commit-queue"
          id="356132"
          type_id="3"
          status="+"
          setter="aestes"
    />
          </attachment>
      

    </bug>

</bugzilla>