<?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>192937</bug_id>
          
          <creation_ts>2018-12-20 09:19:38 -0800</creation_ts>
          <short_desc>Move HTTPS_UPGRADE code behind a runtime flag, off by default</short_desc>
          <delta_ts>2018-12-20 16:21:35 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>aestes</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>jberlin</cc>
    
    <cc>v_seth</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1489866</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-12-20 09:19:38 -0800</bug_when>
    <thetext>Move HTTP_UPGRADE code behind a runtime flag, off by default and drop the build time flag.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1489879</commentid>
    <comment_count>1</comment_count>
      <attachid>357821</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-12-20 09:42:40 -0800</bug_when>
    <thetext>Created attachment 357821
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1489883</commentid>
    <comment_count>2</comment_count>
      <attachid>357823</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-12-20 09:45:06 -0800</bug_when>
    <thetext>Created attachment 357823
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1489893</commentid>
    <comment_count>3</comment_count>
      <attachid>357826</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-12-20 09:53:23 -0800</bug_when>
    <thetext>Created attachment 357826
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1489895</commentid>
    <comment_count>4</comment_count>
      <attachid>357827</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-12-20 10:03:26 -0800</bug_when>
    <thetext>Created attachment 357827
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1489903</commentid>
    <comment_count>5</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-12-20 10:12:02 -0800</bug_when>
    <thetext>make: *** No rule to make target `HTTPSUpgradeList.txt&apos;, needed by `HTTPSUpgradeList.db&apos;.  Stop.
make: *** Waiting for unfinished jobs....
Command /bin/sh failed with exit code 2

:/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1489909</commentid>
    <comment_count>6</comment_count>
      <attachid>357827</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-12-20 10:15:56 -0800</bug_when>
    <thetext>Comment on attachment 357827
Patch

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

&gt; Source/WebKit/DerivedSources.make:320
&gt;  HTTPSUpgradeList.db : HTTPSUpgradeList.txt $(WebKit2)/Scripts/generate-https-upgrade-database.sh

Should this be in WebKitDerivedSourcesAdditions.make ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1489914</commentid>
    <comment_count>7</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2018-12-20 10:19:48 -0800</bug_when>
    <thetext>(In reply to Chris Dumez from comment #6)
&gt; Comment on attachment 357827 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=357827&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/DerivedSources.make:320
&gt; &gt;  HTTPSUpgradeList.db : HTTPSUpgradeList.txt $(WebKit2)/Scripts/generate-https-upgrade-database.sh
&gt; 
&gt; Should this be in WebKitDerivedSourcesAdditions.make ?

Yes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1489928</commentid>
    <comment_count>8</comment_count>
      <attachid>357830</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-12-20 10:34:15 -0800</bug_when>
    <thetext>Created attachment 357830
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1489933</commentid>
    <comment_count>9</comment_count>
      <attachid>357830</attachid>
    <who name="Vivek Seth">v_seth</who>
    <bug_when>2018-12-20 10:46:27 -0800</bug_when>
    <thetext>Comment on attachment 357830
Patch

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

&gt; Source/WebKit/Shared/HTTPSUpgrade/HTTPSUpgradeList.txt:1
&gt; +www.bbc.com

Should we use a larger list of domains from the HSTS list?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1489939</commentid>
    <comment_count>10</comment_count>
      <attachid>357833</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-12-20 10:54:09 -0800</bug_when>
    <thetext>Created attachment 357833
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1489942</commentid>
    <comment_count>11</comment_count>
      <attachid>357833</attachid>
    <who name="Vivek Seth">v_seth</who>
    <bug_when>2018-12-20 11:01:37 -0800</bug_when>
    <thetext>Comment on attachment 357833
Patch

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

&gt; Source/WebKit/DerivedSources.make:319
&gt; +VPATH += $(WebKit2)/Shared/HTTPSUpgrade/

I thought we were adding this to WebKitDerivedSourcesAdditions.make. Did that not work?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1489957</commentid>
    <comment_count>12</comment_count>
    <who name="Vivek Seth">v_seth</who>
    <bug_when>2018-12-20 11:24:42 -0800</bug_when>
    <thetext>&gt; /Volumes/Data/EWS/WebKit/Source/WebKit/NetworkProcess/NetworkHTTPSUpgradeChecker.cpp:95&gt; :13: error: unused variable &apos;bindTextResult&apos; [-Werror,-Wunused-variable]
&gt;         int bindTextResult = m_statement-&gt;bindText(1, WTFMove(host));
&gt;             ^
&gt; /Volumes/Data/EWS/WebKit/Source/WebKit/NetworkProcess/NetworkHTTPSUpgradeChecker.cpp:10&gt; 1:13: error: unused variable &apos;resetResult&apos; [-Werror,-Wunused-variable]
&gt;         int resetResult = m_statement-&gt;reset();
&gt;             ^
&gt; 2 errors generated.


This was my mistake, ASSERTS are compiled out on release builds. I didn&apos;t realize unused variables would cause errors. 

Here is one solution: 

void NetworkHTTPSUpgradeChecker::query(String&amp;&amp; host, CompletionHandler&lt;void(bool)&gt;&amp;&amp; callback)
{
   ASSERT(isMainThread());

   if (!this-&gt;m_isSetupComplete) {
       RELEASE_LOG_IF_ALLOWED(&quot;query - database setup is not complete, ignoring query.&quot;);
       callback(false);
       return;
   }

   m_workQueue-&gt;dispatch([this, host = WTFMove(host), callback = WTFMove(callback)] () mutable {
       auto runCallbackOnMainThread = [callback = WTFMove(callback)] (bool foundHost) mutable {
           WTF::RunLoop::main().dispatch([foundHost, callback = WTFMove(callback)] () mutable {
               callback(foundHost);
           });
       };

        if (this-&gt;m_statement-&gt;bindText(1, WTFMove(host)) != SQLITE_OK) {
            ASSERT(false);
            runCallbackOnMainThread(false);
            return;
        }

        int stepResult = this-&gt;m_statement-&gt;step();
        if (stepResult != SQLITE_ROW &amp;&amp; stepResult != SQLITE_DONE) {
            ASSERT(false);
            runCallbackOnMainThread(false);
            return;
        }

        if (this-&gt;m_statement-&gt;reset() != SQLITE_OK) {
            ASSERT(false);
            runCallbackOnMainThread(false);
            return;
        }

        bool foundHost = (stepResult == SQLITE_ROW);
        RELEASE_LOG_IF_ALLOWED(&quot;query - Ran successfully. Result = %s&quot;, (foundHost ? &quot;true&quot; : &quot;false&quot;));
        runCallbackOnMainThread(foundHost);
    });
}</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1489966</commentid>
    <comment_count>13</comment_count>
      <attachid>357841</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-12-20 11:41:36 -0800</bug_when>
    <thetext>Created attachment 357841
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1489968</commentid>
    <comment_count>14</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-12-20 11:43:09 -0800</bug_when>
    <thetext>(In reply to Vivek Seth from comment #11)
&gt; Comment on attachment 357833 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=357833&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/DerivedSources.make:319
&gt; &gt; +VPATH += $(WebKit2)/Shared/HTTPSUpgrade/
&gt; 
&gt; I thought we were adding this to WebKitDerivedSourcesAdditions.make. Did
&gt; that not work?

I haven&apos;t tried, I thought it&apos;d be better to have a minimal db in OpenSource.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1489996</commentid>
    <comment_count>15</comment_count>
      <attachid>357833</attachid>
    <who name="Vivek Seth">v_seth</who>
    <bug_when>2018-12-20 12:14:26 -0800</bug_when>
    <thetext>Comment on attachment 357833
Patch

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

&gt;&gt;&gt; Source/WebKit/DerivedSources.make:319
&gt;&gt;&gt; +VPATH += $(WebKit2)/Shared/HTTPSUpgrade/
&gt;&gt; 
&gt;&gt; I thought we were adding this to WebKitDerivedSourcesAdditions.make. Did that not work?
&gt; 
&gt; I haven&apos;t tried, I thought it&apos;d be better to have a minimal db in OpenSource.

Yeah that would be good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1490089</commentid>
    <comment_count>16</comment_count>
      <attachid>357841</attachid>
    <who name="Vivek Seth">v_seth</who>
    <bug_when>2018-12-20 14:59:24 -0800</bug_when>
    <thetext>Comment on attachment 357841
Patch

Looks good to me!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1490112</commentid>
    <comment_count>17</comment_count>
      <attachid>357841</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-12-20 15:50:00 -0800</bug_when>
    <thetext>Comment on attachment 357841
Patch

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

&gt; Source/WebKit/NetworkProcess/PingLoad.cpp:46
&gt; +    , m_networkLoadChecker(makeUniqueRef&lt;NetworkLoadChecker&gt;(FetchOptions { m_parameters.options}, m_parameters.sessionID, m_parameters.webPageID, m_parameters.webFrameID, WTFMove(m_parameters.originalRequestHeaders), URL { m_parameters.request.url() }, m_parameters.sourceOrigin.copyRef(), m_parameters.preflightPolicy, false, m_parameters.request.httpReferrer()))

Not very clear what false means here.
Maybe isHTTPSUpgradeEnabled should be the last parameter and set to false by default, like requestLoadType.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1490114</commentid>
    <comment_count>18</comment_count>
      <attachid>357841</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2018-12-20 15:52:23 -0800</bug_when>
    <thetext>Comment on attachment 357841
Patch

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

&gt; Source/WebKit/DerivedSources.make:319
&gt; -ifeq ($(ENABLE_HTTPS_UPGRADE),ENABLE_HTTPS_UPGRADE)
&gt; +VPATH += $(WebKit2)/Shared/HTTPSUpgrade/

Nice

&gt; Source/WebKit/Shared/HTTPSUpgrade/HTTPSUpgradeList.txt:3
&gt; +www.bbc.com
&gt; +www.speedtest.net
&gt; +www.bea.gov

webkit.org?

&gt; Source/WebKit/Shared/WebPreferences.yaml:42
&gt; +   humanReadableDescription: &quot;Automatic HTTPS upgrade for sites that support it&quot;

For the sites that we know about, at least :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1490121</commentid>
    <comment_count>19</comment_count>
      <attachid>357886</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-12-20 15:56:01 -0800</bug_when>
    <thetext>Created attachment 357886
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1490125</commentid>
    <comment_count>20</comment_count>
      <attachid>357888</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-12-20 15:57:42 -0800</bug_when>
    <thetext>Created attachment 357888
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1490154</commentid>
    <comment_count>21</comment_count>
      <attachid>357888</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-12-20 16:20:29 -0800</bug_when>
    <thetext>Comment on attachment 357888
Patch

Clearing flags on attachment: 357888

Committed r239474: &lt;https://trac.webkit.org/changeset/239474&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1490155</commentid>
    <comment_count>22</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-12-20 16:20:31 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1490157</commentid>
    <comment_count>23</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-12-20 16:21:35 -0800</bug_when>
    <thetext>&lt;rdar://problem/46887131&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>357821</attachid>
            <date>2018-12-20 09:42:40 -0800</date>
            <delta_ts>2018-12-20 09:45:05 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-192937-20181220094239.patch</filename>
            <type>text/plain</type>
            <size>20883</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM5NDQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmFiOTExZmRmN2NiMzQ0
NmU1NmFmYThmNDlmZGJjY2Q1Mzg1OTM1Ni4uMjE2NGE0Yjk2NzRkNDVlOWQzZGU0M2RiMWNiZjI5
NWY5MDJhNjc2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE4LTEyLTIwICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgTW92ZSBIVFRQX1VQR1JBREUg
Y29kZSBiZWhpbmQgYSBydW50aW1lIGZsYWcsIG9mZiBieSBkZWZhdWx0CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTI5MzcKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNb3ZlIEhUVFBfVVBHUkFERSBjb2Rl
IGJlaGluZCBhIHJ1bnRpbWUgZmxhZywgb2ZmIGJ5IGRlZmF1bHQgYW5kIGRyb3AgdGhlIGJ1aWxk
IHRpbWUgZmxhZy4KKworICAgICAgICAqIHBhZ2UvU2V0dGluZ3MueWFtbDoKKwogMjAxOC0xMi0x
OSAgTWljaGFlbCBDYXRhbnphcm8gIDxtY2F0YW56YXJvQGlnYWxpYS5jb20+CiAKICAgICAgICAg
VW5yZXZpZXdlZCwgZml4IEdUSyBidWlsZCBhZnRlciByMjM5NDEwCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDU5ZTIz
ZmI2ZGI5YTE3YjczZDgyZTgwNzYwY2RhNzdjNmI2MTVhZGQuLjI1NzhlYmE0MGVlOWNkNTQ0YTVl
NjY1NmNhMzBhZGEzMjZjMzc3MDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzUgQEAKKzIwMTgtMTIt
MjAgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBNb3ZlIEhUVFBf
VVBHUkFERSBjb2RlIGJlaGluZCBhIHJ1bnRpbWUgZmxhZywgb2ZmIGJ5IGRlZmF1bHQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MjkzNworCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1vdmUgSFRUUF9VUEdS
QURFIGNvZGUgYmVoaW5kIGEgcnVudGltZSBmbGFnLCBvZmYgYnkgZGVmYXVsdCBhbmQgZHJvcCB0
aGUgYnVpbGQgdGltZSBmbGFnLgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvV2ViS2l0Lnhj
Y29uZmlnOgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogTmV0d29y
a1Byb2Nlc3MvTmV0d29ya0hUVFBTVXBncmFkZUNoZWNrZXIuY3BwOgorICAgICAgICAqIE5ldHdv
cmtQcm9jZXNzL05ldHdvcmtIVFRQU1VwZ3JhZGVDaGVja2VyLmg6CisgICAgICAgICogTmV0d29y
a1Byb2Nlc3MvTmV0d29ya0xvYWRDaGVja2VyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29y
a0xvYWRDaGVja2VyOjpOZXR3b3JrTG9hZENoZWNrZXIpOgorICAgICAgICAoV2ViS2l0OjpOZXR3
b3JrTG9hZENoZWNrZXI6OmFwcGx5SFRUUFNVcGdyYWRlSWZOZWVkZWQgY29uc3QpOgorICAgICAg
ICAoV2ViS2l0OjpOZXR3b3JrTG9hZENoZWNrZXI6OmNoZWNrUmVxdWVzdCk6CisgICAgICAgICog
TmV0d29ya1Byb2Nlc3MvTmV0d29ya0xvYWRDaGVja2VyLmg6CisgICAgICAgICogTmV0d29ya1By
b2Nlc3MvTmV0d29ya1Byb2Nlc3MuaDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3M6
Om5ldHdvcmtIVFRQU1VwZ3JhZGVDaGVja2VyKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9O
ZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycy5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdv
cmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzOjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViS2l0
OjpOZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVyczo6ZGVjb2RlKToKKyAgICAgICAgKiBOZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycy5oOgorICAgICAgICAqIE5l
dHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgICogTmV0d29y
a1Byb2Nlc3MvUGluZ0xvYWQuY3BwOgorICAgICAgICAoV2ViS2l0OjpQaW5nTG9hZDo6UGluZ0xv
YWQpOgorICAgICAgICAqIFNoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sOgorICAgICAgICAqIFdl
YlByb2Nlc3MvTmV0d29yay9XZWJMb2FkZXJTdHJhdGVneS5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYkxvYWRlclN0cmF0ZWd5OjpzY2hlZHVsZUxvYWRGcm9tTmV0d29ya1Byb2Nlc3MpOgorICAg
ICAgICAqIGNvbmZpZy5oOgorCiAyMDE4LTEyLTIwICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNp
ZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdIEZvY3VzaW5nIGFuIGVkaXRhYmxlIGVsZW1l
bnQgc2hvdWxkIHNjcm9sbCB0byByZXZlYWwgdGhlIHNlbGVjdGlvbgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy55YW1sIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0
aW5ncy55YW1sCmluZGV4IGE3OTcxOTM4NmIzYzJjZjkzNDVmNTgwNmJkYWMwM2JmNTc0M2ExOWEu
LmNiMjllYWMzZWZmZDRiOTBhY2NlMjhlNTg0NTkwMmRjYWY4ZDdjNWEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MueWFtbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1NldHRpbmdzLnlhbWwKQEAgLTMyOSw2ICszMjksOSBAQCB3YW50c0JhbGFuY2VkU2V0RGVmZXJz
TG9hZGluZ0JlaGF2aW9yOgogcmVxdWVzdEFuaW1hdGlvbkZyYW1lRW5hYmxlZDoKICAgaW5pdGlh
bDogdHJ1ZQogCitIVFRQU1VwZ3JhZGVFbmFibGVkOgorICBpbml0aWFsOiBmYWxzZQorCiBjb29r
aWVFbmFibGVkOgogICBpbml0aWFsOiB0cnVlCiBtZWRpYUVuYWJsZWQ6CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL1dlYktpdC54Y2NvbmZpZyBiL1NvdXJjZS9XZWJL
aXQvQ29uZmlndXJhdGlvbnMvV2ViS2l0LnhjY29uZmlnCmluZGV4IDI0NTM2ODRlYjJmMTViMjJm
OTBiMDEyZjQ1Mjk2ZWNiOTA3OGMxMzcuLmYyMzE4ZWM0ZTlhZmY2ZmQ4YmI5ZGNmNDc0MjBjMWVl
NjhjZWZmMmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ29uZmlndXJhdGlvbnMvV2ViS2l0
LnhjY29uZmlnCisrKyBiL1NvdXJjZS9XZWJLaXQvQ29uZmlndXJhdGlvbnMvV2ViS2l0LnhjY29u
ZmlnCkBAIC0xNTEsMTEgKzE1MSw4IEBAIFNFQ1RPUkRFUl9GTEFHUyA9ICQoU0VDVE9SREVSX0ZM
QUdTXyQoQ09ORklHVVJBVElPTikpOwogU0VDVE9SREVSX0ZMQUdTX1Byb2R1Y3Rpb25bc2RrPWlw
aG9uZW9zKl0gPSAtV2wsLW9yZGVyX2ZpbGUsJChTREtST09UKS9BcHBsZUludGVybmFsL09yZGVy
RmlsZXMvV2ViS2l0Lm9yZGVyOwogU0VDVE9SREVSX0ZMQUdTX1Byb2R1Y3Rpb25bc2RrPW1hY29z
eCpdID0gLVdsLC1vcmRlcl9maWxlLG1hYy9XZWJLaXQyLm9yZGVyOwogCi1XS19FWENMVURFRF9I
VFRQU19VUEdSQURFX0ZJTEUgPSAkKFdLX0VYQ0xVREVEX0hUVFBTX1VQR1JBREVfRklMRV8kKEVO
QUJMRV9IVFRQU19VUEdSQURFKSk7Ci1XS19FWENMVURFRF9IVFRQU19VUEdSQURFX0ZJTEVfID0g
SFRUUFNVcGdyYWRlTGlzdC5kYjsKLQotRVhDTFVERURfU09VUkNFX0ZJTEVfTkFNRVMgPSBSZXNv
dXJjZXMvaW9zLyogJChXS19FWENMVURFRF9IVFRQU19VUEdSQURFX0ZJTEUpOwotRVhDTFVERURf
U09VUkNFX0ZJTEVfTkFNRVNbc2RrPWlwaG9uZSpdID0gUGx1Z2luUHJvY2Vzc1NoaW0uZHlsaWIg
U2VjSXRlbVNoaW0uZHlsaWIgV2ViUHJvY2Vzc1NoaW0uZHlsaWIgKi5wZGYgUmVzb3VyY2VzL21h
Yy8qIGNvbS5hcHBsZS5XZWJLaXQuTmV0d29ya1Byb2Nlc3Muc2IgY29tLmFwcGxlLldlYlByb2Nl
c3Muc2IgY29tLmFwcGxlLldlYktpdC5wbHVnaW4tY29tbW9uLnNiIFBsdWdJblNhbmRib3hQcm9m
aWxlcy8qLnNiICQoV0tfRVhDTFVERURfSFRUUFNfVVBHUkFERV9GSUxFKTsKK0VYQ0xVREVEX1NP
VVJDRV9GSUxFX05BTUVTID0gUmVzb3VyY2VzL2lvcy8qOworRVhDTFVERURfU09VUkNFX0ZJTEVf
TkFNRVNbc2RrPWlwaG9uZSpdID0gUGx1Z2luUHJvY2Vzc1NoaW0uZHlsaWIgU2VjSXRlbVNoaW0u
ZHlsaWIgV2ViUHJvY2Vzc1NoaW0uZHlsaWIgKi5wZGYgUmVzb3VyY2VzL21hYy8qIGNvbS5hcHBs
ZS5XZWJLaXQuTmV0d29ya1Byb2Nlc3Muc2IgY29tLmFwcGxlLldlYlByb2Nlc3Muc2IgY29tLmFw
cGxlLldlYktpdC5wbHVnaW4tY29tbW9uLnNiIFBsdWdJblNhbmRib3hQcm9maWxlcy8qLnNiOwog
CiBJTlNUQUxMSERSU19TQ1JJUFRfUEhBU0UgPSBZRVM7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMu
bWFrZQppbmRleCAyZmRlNTU1MGNmNGQ3MGFkYzA5ZGVmMzU3YTk4NzgyMjczZTU1NDcyLi5lZmFh
MGUxY2RmMzkzOTgxMDdkNjBmNGRkNTgzZTdkNzE2ODkxNzVkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYktpdC9EZXJpdmVkU291
cmNlcy5tYWtlCkBAIC0zMTYsOCArMzE2LDYgQEAgJChXRUJfUFJFRkVSRU5DRVNfQ09NQklORURf
SU5QVVRfRklMRSkgOiAkKFdFQl9QUkVGRVJFTkNFU19JTlBVVF9GSUxFUykKICQoV0VCX1BSRUZF
UkVOQ0VTX1BBVFRFUk5TKSA6ICQoV2ViS2l0MikvU2NyaXB0cy9HZW5lcmF0ZVByZWZlcmVuY2Vz
LnJiICQoV0VCX1BSRUZFUkVOQ0VTX1RFTVBMQVRFUykgJChXRUJfUFJFRkVSRU5DRVNfQ09NQklO
RURfSU5QVVRfRklMRSkKIAkkKFJVQlkpICQ8IC0taW5wdXQgJChXRUJfUFJFRkVSRU5DRVNfQ09N
QklORURfSU5QVVRfRklMRSkKIAotaWZlcSAoJChFTkFCTEVfSFRUUFNfVVBHUkFERSksRU5BQkxF
X0hUVFBTX1VQR1JBREUpCiBhbGwgOiBIVFRQU1VwZ3JhZGVMaXN0LmRiCiBIVFRQU1VwZ3JhZGVM
aXN0LmRiIDogSFRUUFNVcGdyYWRlTGlzdC50eHQgJChXZWJLaXQyKS9TY3JpcHRzL2dlbmVyYXRl
LWh0dHBzLXVwZ3JhZGUtZGF0YWJhc2Uuc2gKIAlzaCAkKFdlYktpdDIpL1NjcmlwdHMvZ2VuZXJh
dGUtaHR0cHMtdXBncmFkZS1kYXRhYmFzZS5zaCAkPCAkQAotZW5kaWYgIyBFTkFCTEVfSFRUUFNf
VVBHUkFERQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3Jr
SFRUUFNVcGdyYWRlQ2hlY2tlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05l
dHdvcmtIVFRQU1VwZ3JhZGVDaGVja2VyLmNwcAppbmRleCA3M2I0NmMwOWY2YmZkYjU3ODZmNjg1
YWU0NmQ1NGEzMzU5YzA4OWNhLi43MmRhOGYyN2Y5NTFlN2UxZTI5ZjcyYjFiNGM0YjA5MDM1MzAz
YjNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtIVFRQ
U1VwZ3JhZGVDaGVja2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05l
dHdvcmtIVFRQU1VwZ3JhZGVDaGVja2VyLmNwcApAQCAtMjYsOCArMjYsNiBAQAogI2luY2x1ZGUg
ImNvbmZpZy5oIgogI2luY2x1ZGUgIk5ldHdvcmtIVFRQU1VwZ3JhZGVDaGVja2VyLmgiCiAKLSNp
ZiBFTkFCTEUoSFRUUFNfVVBHUkFERSkKLQogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRl
IDxXZWJDb3JlL1NRTGl0ZURhdGFiYXNlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TUUxpdGVTdGF0
ZW1lbnQuaD4KQEAgLTExMyw0ICsxMTEsMyBAQCB2b2lkIE5ldHdvcmtIVFRQU1VwZ3JhZGVDaGVj
a2VyOjpxdWVyeShTdHJpbmcmJiBob3N0LCBQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsCiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYktpdAogCi0jZW5kaWYgLy8gRU5BQkxFKEhUVFBTX1VQR1JBREUpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtIVFRQU1VwZ3Jh
ZGVDaGVja2VyLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtIVFRQU1Vw
Z3JhZGVDaGVja2VyLmgKaW5kZXggYzYzMDNhNzYxNDBiNjA4ZGM1NGE4ZGEyZmRhMDk3ZTRlNGI5
YWRmMS4uMzgzN2U2NzdiNzMwNWU2NWUwZDVkYzVkMjk0MzhkOWExNTk0YzQ5ZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrSFRUUFNVcGdyYWRlQ2hlY2tl
ci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0hUVFBTVXBncmFk
ZUNoZWNrZXIuaApAQCAtMjUsOCArMjUsNiBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2lmIEVOQUJM
RShIVFRQU19VUEdSQURFKQotCiAjaW5jbHVkZSA8d3RmL1VuaXF1ZVJlZi5oPgogCiBuYW1lc3Bh
Y2UgV1RGIHsKQEAgLTY0LDQgKzYyLDMgQEAgcHJpdmF0ZToKIAogfSAvLyBuYW1lc3BhY2UgV2Vi
S2l0CiAKLSNlbmRpZiAvLyBFTkFCTEUoSFRUUFNfVVBHUkFERSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0xvYWRDaGVja2VyLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0xvYWRDaGVja2VyLmNwcAppbmRleCAwZjMwMmRj
NjgxNWUyZTk4YjBkMDMyZTMyYjZjMTcxYjU0ZjUzMDZkLi44OTU3MTRkYjBlMWM4OTliZjA3Y2M0
ZjdjZjJkMjYyNTQ4Y2I5OTcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL05ldHdvcmtMb2FkQ2hlY2tlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrTG9hZENoZWNrZXIuY3BwCkBAIC00Niw3ICs0Niw3IEBAIHN0YXRpYyBpbmxp
bmUgYm9vbCBpc1NhbWVPcmlnaW4oY29uc3QgVVJMJiB1cmwsIGNvbnN0IFNlY3VyaXR5T3JpZ2lu
KiBvcmlnaW4pCiAgICAgcmV0dXJuIHVybC5wcm90b2NvbElzRGF0YSgpIHx8IHVybC5wcm90b2Nv
bElzQmxvYigpIHx8ICFvcmlnaW4gfHwgb3JpZ2luLT5jYW5SZXF1ZXN0KHVybCk7CiB9CiAKLU5l
dHdvcmtMb2FkQ2hlY2tlcjo6TmV0d29ya0xvYWRDaGVja2VyKEZldGNoT3B0aW9ucyYmIG9wdGlv
bnMsIFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgdWludDY0X3QgcGFnZUlELCB1aW50NjRfdCBm
cmFtZUlELCBIVFRQSGVhZGVyTWFwJiYgb3JpZ2luYWxSZXF1ZXN0SGVhZGVycywgVVJMJiYgdXJs
LCBSZWZQdHI8U2VjdXJpdHlPcmlnaW4+JiYgc291cmNlT3JpZ2luLCBQcmVmbGlnaHRQb2xpY3kg
cHJlZmxpZ2h0UG9saWN5LCBTdHJpbmcmJiByZWZlcnJlciwgYm9vbCBzaG91bGRDYXB0dXJlRXh0
cmFOZXR3b3JrTG9hZE1ldHJpY3MsIExvYWRUeXBlIHJlcXVlc3RMb2FkVHlwZSkKK05ldHdvcmtM
b2FkQ2hlY2tlcjo6TmV0d29ya0xvYWRDaGVja2VyKEZldGNoT3B0aW9ucyYmIG9wdGlvbnMsIFBB
TDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgdWludDY0X3QgcGFnZUlELCB1aW50NjRfdCBmcmFtZUlE
LCBIVFRQSGVhZGVyTWFwJiYgb3JpZ2luYWxSZXF1ZXN0SGVhZGVycywgVVJMJiYgdXJsLCBSZWZQ
dHI8U2VjdXJpdHlPcmlnaW4+JiYgc291cmNlT3JpZ2luLCBQcmVmbGlnaHRQb2xpY3kgcHJlZmxp
Z2h0UG9saWN5LCBib29sIGlzSFRUUFNVcGdyYWRlRW5hYmxlZCwgU3RyaW5nJiYgcmVmZXJyZXIs
IGJvb2wgc2hvdWxkQ2FwdHVyZUV4dHJhTmV0d29ya0xvYWRNZXRyaWNzLCBMb2FkVHlwZSByZXF1
ZXN0TG9hZFR5cGUpCiAgICAgOiBtX29wdGlvbnMoV1RGTW92ZShvcHRpb25zKSkKICAgICAsIG1f
c2Vzc2lvbklEKHNlc3Npb25JRCkKICAgICAsIG1fcGFnZUlEKHBhZ2VJRCkKQEAgLTU3LDYgKzU3
LDcgQEAgTmV0d29ya0xvYWRDaGVja2VyOjpOZXR3b3JrTG9hZENoZWNrZXIoRmV0Y2hPcHRpb25z
JiYgb3B0aW9ucywgUEFMOjpTZXNzaW9uSUQgc2UKICAgICAsIG1fcHJlZmxpZ2h0UG9saWN5KHBy
ZWZsaWdodFBvbGljeSkKICAgICAsIG1fcmVmZXJyZXIoV1RGTW92ZShyZWZlcnJlcikpCiAgICAg
LCBtX3Nob3VsZENhcHR1cmVFeHRyYU5ldHdvcmtMb2FkTWV0cmljcyhzaG91bGRDYXB0dXJlRXh0
cmFOZXR3b3JrTG9hZE1ldHJpY3MpCisgICAgLCBtX2lzSFRUUFNVcGdyYWRlRW5hYmxlZChpc0hU
VFBTVXBncmFkZUVuYWJsZWQpCiAgICAgLCBtX3JlcXVlc3RMb2FkVHlwZShyZXF1ZXN0TG9hZFR5
cGUpCiB7CiAgICAgbV9pc1NhbWVPcmlnaW5SZXF1ZXN0ID0gaXNTYW1lT3JpZ2luKG1fdXJsLCBt
X29yaWdpbi5nZXQoKSk7CkBAIC0xOTEsMTAgKzE5MiwxMCBAQCBhdXRvIE5ldHdvcmtMb2FkQ2hl
Y2tlcjo6YWNjZXNzQ29udHJvbEVycm9yRm9yVmFsaWRhdGlvbkhhbmRsZXIoU3RyaW5nJiYgbWVz
c2FnZQogICAgIHJldHVybiBSZXNvdXJjZUVycm9yIHsgU3RyaW5nIHsgfSwgMCwgbV91cmwsIFdU
Rk1vdmUobWVzc2FnZSksIFJlc291cmNlRXJyb3I6OlR5cGU6OkFjY2Vzc0NvbnRyb2wgfTsKIH0K
IAotI2lmIEVOQUJMRShIVFRQU19VUEdSQURFKQogdm9pZCBOZXR3b3JrTG9hZENoZWNrZXI6OmFw
cGx5SFRUUFNVcGdyYWRlSWZOZWVkZWQoUmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCwgQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZChSZXNvdXJjZVJlcXVlc3QmJik+JiYgaGFuZGxlcikgY29uc3QKIHsK
LSAgICBpZiAobV9yZXF1ZXN0TG9hZFR5cGUgIT0gTG9hZFR5cGU6Ok1haW5GcmFtZSkgeworI2lm
IFBMQVRGT1JNKENPQ09BKQorICAgIGlmICghbV9pc0hUVFBTVXBncmFkZUVuYWJsZWQgfHwgbV9y
ZXF1ZXN0TG9hZFR5cGUgIT0gTG9hZFR5cGU6Ok1haW5GcmFtZSkgewogICAgICAgICBoYW5kbGVy
KFdURk1vdmUocmVxdWVzdCkpOwogICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtMjI0LDE2ICsy
MjUsMTYgQEAgdm9pZCBOZXR3b3JrTG9hZENoZWNrZXI6OmFwcGx5SFRUUFNVcGdyYWRlSWZOZWVk
ZWQoUmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCwgQ28KIAogICAgICAgICBoYW5kbGVyKFdURk1v
dmUocmVxdWVzdCkpOwogICAgIH0pOworI2Vsc2UKKyAgICBoYW5kbGVyKFdURk1vdmUocmVxdWVz
dCkpOworI2VuZGlmCiB9Ci0jZW5kaWYgLy8gRU5BQkxFKEhUVFBTX1VQR1JBREUpCiAKIHZvaWQg
TmV0d29ya0xvYWRDaGVja2VyOjpjaGVja1JlcXVlc3QoUmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVz
dCwgQ29udGVudFNlY3VyaXR5UG9saWN5Q2xpZW50KiBjbGllbnQsIFZhbGlkYXRpb25IYW5kbGVy
JiYgaGFuZGxlcikKIHsKICAgICBSZXNvdXJjZVJlcXVlc3Qgb3JpZ2luYWxSZXF1ZXN0ID0gcmVx
dWVzdDsKIAotI2lmIEVOQUJMRShIVFRQU19VUEdSQURFKQogICAgIGFwcGx5SFRUUFNVcGdyYWRl
SWZOZWVkZWQoV1RGTW92ZShyZXF1ZXN0KSwgW3RoaXMsIGNsaWVudCwgaGFuZGxlciA9IFdURk1v
dmUoaGFuZGxlciksIG9yaWdpbmFsUmVxdWVzdCA9IFdURk1vdmUob3JpZ2luYWxSZXF1ZXN0KV0o
YXV0byByZXF1ZXN0KSBtdXRhYmxlIHsKLSNlbmRpZiAvLyBFTkFCTEUoSFRUUFNfVVBHUkFERSkK
IAogICAgICAgICBpZiAoYXV0byogY29udGVudFNlY3VyaXR5UG9saWN5ID0gdGhpcy0+Y29udGVu
dFNlY3VyaXR5UG9saWN5KCkpIHsKICAgICAgICAgICAgIGlmIChpc1JlZGlyZWN0ZWQoKSkgewpA
QCAtMjYzLDExICsyNjQsNyBAQCB2b2lkIE5ldHdvcmtMb2FkQ2hlY2tlcjo6Y2hlY2tSZXF1ZXN0
KFJlc291cmNlUmVxdWVzdCYmIHJlcXVlc3QsIENvbnRlbnRTZWN1cml0eQogI2Vsc2UKICAgICAg
ICAgY29udGludWVDaGVja2luZ1JlcXVlc3RPckRvU3ludGhldGljUmVkaXJlY3QoV1RGTW92ZShv
cmlnaW5hbFJlcXVlc3QpLCBXVEZNb3ZlKHJlcXVlc3QpLCBXVEZNb3ZlKGhhbmRsZXIpKTsKICNl
bmRpZgotCi0jaWYgRU5BQkxFKEhUVFBTX1VQR1JBREUpCiAgICAgfSk7Ci0jZW5kaWYgLy8gRU5B
QkxFKEhUVFBTX1VQR1JBREUpCi0KIH0KIAogdm9pZCBOZXR3b3JrTG9hZENoZWNrZXI6OmNvbnRp
bnVlQ2hlY2tpbmdSZXF1ZXN0T3JEb1N5bnRoZXRpY1JlZGlyZWN0KFJlc291cmNlUmVxdWVzdCYm
IG9yaWdpbmFsUmVxdWVzdCwgUmVzb3VyY2VSZXF1ZXN0JiYgY3VycmVudFJlcXVlc3QsIFZhbGlk
YXRpb25IYW5kbGVyJiYgaGFuZGxlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvTmV0d29ya0xvYWRDaGVja2VyLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL05ldHdvcmtMb2FkQ2hlY2tlci5oCmluZGV4IDI4M2YyNjIyODhkYjE0NWVlNjU3MzQ1Yjhj
ZGM2YTUyYTM1ZDM3NTguLmE2N2I5YjcyZDA2YjUwZjcyNmMyNTQxOTMyMjM4ZTk2MmMyNTJjNTkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0xvYWRDaGVj
a2VyLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZENoZWNr
ZXIuaApAQCAtNTIsNyArNTIsNyBAQCBjbGFzcyBOZXR3b3JrTG9hZENoZWNrZXIgOiBwdWJsaWMg
Q2FuTWFrZVdlYWtQdHI8TmV0d29ya0xvYWRDaGVja2VyPiB7CiBwdWJsaWM6CiAgICAgZW51bSBj
bGFzcyBMb2FkVHlwZSA6IGJvb2wgeyBNYWluRnJhbWUsIE90aGVyIH07CiAKLSAgICBOZXR3b3Jr
TG9hZENoZWNrZXIoV2ViQ29yZTo6RmV0Y2hPcHRpb25zJiYsIFBBTDo6U2Vzc2lvbklELCB1aW50
NjRfdCBwYWdlSUQsIHVpbnQ2NF90IGZyYW1lSUQsIFdlYkNvcmU6OkhUVFBIZWFkZXJNYXAmJiwg
VVJMJiYsIFJlZlB0cjxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbj4mJiwgV2ViQ29yZTo6UHJlZmxp
Z2h0UG9saWN5LCBTdHJpbmcmJiByZWZlcnJlciwgYm9vbCBzaG91bGRDYXB0dXJlRXh0cmFOZXR3
b3JrTG9hZE1ldHJpY3MgPSBmYWxzZSwgTG9hZFR5cGUgcmVxdWVzdExvYWRUeXBlID0gTG9hZFR5
cGU6Ok90aGVyKTsKKyAgICBOZXR3b3JrTG9hZENoZWNrZXIoV2ViQ29yZTo6RmV0Y2hPcHRpb25z
JiYsIFBBTDo6U2Vzc2lvbklELCB1aW50NjRfdCBwYWdlSUQsIHVpbnQ2NF90IGZyYW1lSUQsIFdl
YkNvcmU6OkhUVFBIZWFkZXJNYXAmJiwgVVJMJiYsIFJlZlB0cjxXZWJDb3JlOjpTZWN1cml0eU9y
aWdpbj4mJiwgV2ViQ29yZTo6UHJlZmxpZ2h0UG9saWN5LCBib29sIGlzSFRUUFNVcGdyYWRlRW5h
YmxlZCwgU3RyaW5nJiYgcmVmZXJyZXIsIGJvb2wgc2hvdWxkQ2FwdHVyZUV4dHJhTmV0d29ya0xv
YWRNZXRyaWNzID0gZmFsc2UsIExvYWRUeXBlIHJlcXVlc3RMb2FkVHlwZSA9IExvYWRUeXBlOjpP
dGhlcik7CiAgICAgfk5ldHdvcmtMb2FkQ2hlY2tlcigpOwogCiAgICAgc3RydWN0IFJlZGlyZWN0
aW9uVHJpcGxldCB7CkBAIC0xMTksOSArMTE5LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHByb2Nl
c3NDb250ZW50RXh0ZW5zaW9uUnVsZXNGb3JMb2FkKFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYm
LCBDb250ZW50RXh0ZW5zaW9uQ2FsbGJhY2smJik7CiAjZW5kaWYKIAotI2lmIEVOQUJMRShIVFRQ
U19VUEdSQURFKQogICAgIHZvaWQgYXBwbHlIVFRQU1VwZ3JhZGVJZk5lZWRlZChXZWJDb3JlOjpS
ZXNvdXJjZVJlcXVlc3QmJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpSZXNvdXJj
ZVJlcXVlc3QmJik+JiYpIGNvbnN0OwotI2VuZGlmIC8vIEVOQUJMRShIVFRQU19VUEdSQURFKQog
CiAgICAgV2ViQ29yZTo6RmV0Y2hPcHRpb25zIG1fb3B0aW9uczsKICAgICBXZWJDb3JlOjpTdG9y
ZWRDcmVkZW50aWFsc1BvbGljeSBtX3N0b3JlZENyZWRlbnRpYWxzUG9saWN5OwpAQCAtMTQ5LDYg
KzE0Nyw3IEBAIHByaXZhdGU6CiAgICAgU3RyaW5nIG1fcmVmZXJyZXI7CiAgICAgYm9vbCBtX2No
ZWNrQ29udGVudEV4dGVuc2lvbnMgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9zaG91bGRDYXB0dXJl
RXh0cmFOZXR3b3JrTG9hZE1ldHJpY3MgeyBmYWxzZSB9OworICAgIGJvb2wgbV9pc0hUVFBTVXBn
cmFkZUVuYWJsZWQgeyBmYWxzZSB9OwogICAgIFdlYkNvcmU6Ok5ldHdvcmtMb2FkSW5mb3JtYXRp
b24gbV9sb2FkSW5mb3JtYXRpb247CiAKICAgICBMb2FkVHlwZSBtX3JlcXVlc3RMb2FkVHlwZTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3Mu
aCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaAppbmRleCBl
OTQ4NzEwMjg3ZWQ2OWQxMWMyMjJlZTRlYzM1ODhkZmVjOWEyZjdjLi44NGIyYWNmMTNkZGM1NWVh
YjUxMmRlMGZhNDkyODMxMzgyN2QzNThmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCkBAIC0yMDUsOSArMjA1LDkgQEAgcHVibGljOgogICAgIGJv
b2wgcGFyZW50UHJvY2Vzc0hhc1NlcnZpY2VXb3JrZXJFbnRpdGxlbWVudCgpIGNvbnN0IHsgcmV0
dXJuIHRydWU7IH0KICNlbmRpZgogCi0jaWYgRU5BQkxFKEhUVFBTX1VQR1JBREUpCi0gICAgTmV0
d29ya0hUVFBTVXBncmFkZUNoZWNrZXImIG5ldHdvcmtIVFRQU1VwZ3JhZGVDaGVja2VyKCkgeyBy
ZXR1cm4gbV9uZXR3b3JrSFRUUFNVcGdyYWRlQ2hlY2tlcjsgfTsKLSNlbmRpZiAvLyBFTkFCTEUo
SFRUUFNfVVBHUkFERSkKKyNpZiBQTEFURk9STShDT0NPQSkKKyAgICBOZXR3b3JrSFRUUFNVcGdy
YWRlQ2hlY2tlciYgbmV0d29ya0hUVFBTVXBncmFkZUNoZWNrZXIoKSB7IHJldHVybiBtX25ldHdv
cmtIVFRQU1VwZ3JhZGVDaGVja2VyOyB9CisjZW5kaWYKIAogcHJpdmF0ZToKICAgICBOZXR3b3Jr
UHJvY2VzcygpOwpAQCAtMzk4LDkgKzM5OCw5IEBAIHByaXZhdGU6CiAgICAgSGFzaE1hcDxXZWJD
b3JlOjpTV1NlcnZlckNvbm5lY3Rpb25JZGVudGlmaWVyLCBXZWJTV1NlcnZlckNvbm5lY3Rpb24q
PiBtX3N3U2VydmVyQ29ubmVjdGlvbnM7CiAjZW5kaWYKIAotI2lmIEVOQUJMRShIVFRQU19VUEdS
QURFKQorI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIE5ldHdvcmtIVFRQU1VwZ3JhZGVDaGVja2Vy
IG1fbmV0d29ya0hUVFBTVXBncmFkZUNoZWNrZXI7Ci0jZW5kaWYgLy8gRU5BQkxFKEhUVFBTX1VQ
R1JBREUpCisjZW5kaWYKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVy
cy5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRQ
YXJhbWV0ZXJzLmNwcAppbmRleCAwY2ZlZWE1Y2NkMDYzZmNhN2Y2MTBhYjZjOWQ1YjFkMmMyYmQ5
ZWZjLi44MGI3MGFhYWIyMjc5MTA3Y2UwYmRhNjdhNmVjYTIxMDc1YTJiZWRhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0
ZXJzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJj
ZUxvYWRQYXJhbWV0ZXJzLmNwcApAQCAtOTQsNiArOTQsNyBAQCB2b2lkIE5ldHdvcmtSZXNvdXJj
ZUxvYWRQYXJhbWV0ZXJzOjplbmNvZGUoSVBDOjpFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogICAg
IGVuY29kZXIgPDwgc2hvdWxkRW5hYmxlQ3Jvc3NPcmlnaW5SZXNvdXJjZVBvbGljeTsKIAogICAg
IGVuY29kZXIgPDwgZnJhbWVBbmNlc3Rvck9yaWdpbnM7CisgICAgZW5jb2RlciA8PCBpc0hUVFBT
VXBncmFkZUVuYWJsZWQ7CiAKICNpZiBFTkFCTEUoQ09OVEVOVF9FWFRFTlNJT05TKQogICAgIGVu
Y29kZXIgPDwgbWFpbkRvY3VtZW50VVJMOwpAQCAtMjA0LDYgKzIwNSwxMiBAQCBib29sIE5ldHdv
cmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzOjpkZWNvZGUoSVBDOjpEZWNvZGVyJiBkZWNvZGVyLCBO
ZXR3b3JrUmVzb3VyYwogCiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQuZnJhbWVBbmNl
c3Rvck9yaWdpbnMpKQogICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBPcHRpb25hbDxib29s
PiBpc0hUVFBTVXBncmFkZUVuYWJsZWQ7CisgICAgZGVjb2RlciA+PiBpc0hUVFBTVXBncmFkZUVu
YWJsZWQ7CisgICAgaWYgKCFpc0hUVFBTVXBncmFkZUVuYWJsZWQpCisgICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICByZXN1bHQuaXNIVFRQU1VwZ3JhZGVFbmFibGVkID0gKmlzSFRUUFNVcGdyYWRl
RW5hYmxlZDsKICAgICAKICNpZiBFTkFCTEUoQ09OVEVOVF9FWFRFTlNJT05TKQogICAgIGlmICgh
ZGVjb2Rlci5kZWNvZGUocmVzdWx0Lm1haW5Eb2N1bWVudFVSTCkpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzLmgg
Yi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0
ZXJzLmgKaW5kZXggMTMyNzEwZmNlMGE1Y2JkOWE4MGU2MmRkYjk4ZmY0NDM1YWUxYTNjNS4uYjA1
ZmY4MDNmMTcxOTBhZGUzMTljZGEwNjNkYTAzMTQwNmU0ZjM3NiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycy5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZFBhcmFt
ZXRlcnMuaApAQCAtNTksNiArNTksNyBAQCBwdWJsaWM6CiAgICAgV2ViQ29yZTo6UHJlZmxpZ2h0
UG9saWN5IHByZWZsaWdodFBvbGljeSB7IFdlYkNvcmU6OlByZWZsaWdodFBvbGljeTo6Q29uc2lk
ZXIgfTsKICAgICBib29sIHNob3VsZEVuYWJsZUNyb3NzT3JpZ2luUmVzb3VyY2VQb2xpY3kgeyBm
YWxzZSB9OwogICAgIFZlY3RvcjxSZWZQdHI8V2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4+PiBmcmFt
ZUFuY2VzdG9yT3JpZ2luczsKKyAgICBib29sIGlzSFRUUFNVcGdyYWRlRW5hYmxlZCB7IGZhbHNl
IH07CiAKICNpZiBFTkFCTEUoQ09OVEVOVF9FWFRFTlNJT05TKQogICAgIFVSTCBtYWluRG9jdW1l
bnRVUkw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtS
ZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtS
ZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggNzdmYThlYTI5ZDY1YmExNmRhZTBjZDhlMzVjMjJlNmY5
OTRiOWQ3Zi4uOTk3MDAxYWI5MzJmM2YwMWQwMTkzZTU2ZjBjOTIxYjlmZjFiM2JmOCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9h
ZGVyLmNwcApAQCAtMTEyLDcgKzExMiw3IEBAIE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6TmV0d29y
a1Jlc291cmNlTG9hZGVyKE5ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzJiYgcGFyCiAKICAg
ICBpZiAoc3luY2hyb25vdXNSZXBseSB8fCBwYXJhbWV0ZXJzLnNob3VsZFJlc3RyaWN0SFRUUFJl
c3BvbnNlQWNjZXNzKSB7CiAgICAgICAgIE5ldHdvcmtMb2FkQ2hlY2tlcjo6TG9hZFR5cGUgcmVx
dWVzdExvYWRUeXBlID0gaXNNYWluRnJhbWVMb2FkKCkgPyBOZXR3b3JrTG9hZENoZWNrZXI6Okxv
YWRUeXBlOjpNYWluRnJhbWUgOiBOZXR3b3JrTG9hZENoZWNrZXI6OkxvYWRUeXBlOjpPdGhlcjsK
LSAgICAgICAgbV9uZXR3b3JrTG9hZENoZWNrZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPE5ldHdvcmtM
b2FkQ2hlY2tlcj4oRmV0Y2hPcHRpb25zIHsgbV9wYXJhbWV0ZXJzLm9wdGlvbnMgfSwgbV9wYXJh
bWV0ZXJzLnNlc3Npb25JRCwgbV9wYXJhbWV0ZXJzLndlYlBhZ2VJRCwgbV9wYXJhbWV0ZXJzLndl
YkZyYW1lSUQsIEhUVFBIZWFkZXJNYXAgeyBtX3BhcmFtZXRlcnMub3JpZ2luYWxSZXF1ZXN0SGVh
ZGVycyB9LCBVUkwgeyBtX3BhcmFtZXRlcnMucmVxdWVzdC51cmwoKSB9LCBtX3BhcmFtZXRlcnMu
c291cmNlT3JpZ2luLmNvcHlSZWYoKSwgbV9wYXJhbWV0ZXJzLnByZWZsaWdodFBvbGljeSwgb3Jp
Z2luYWxSZXF1ZXN0KCkuaHR0cFJlZmVycmVyKCksIHNob3VsZENhcHR1cmVFeHRyYU5ldHdvcmtM
b2FkTWV0cmljcygpLCByZXF1ZXN0TG9hZFR5cGUpOworICAgICAgICBtX25ldHdvcmtMb2FkQ2hl
Y2tlciA9IHN0ZDo6bWFrZV91bmlxdWU8TmV0d29ya0xvYWRDaGVja2VyPihGZXRjaE9wdGlvbnMg
eyBtX3BhcmFtZXRlcnMub3B0aW9ucyB9LCBtX3BhcmFtZXRlcnMuc2Vzc2lvbklELCBtX3BhcmFt
ZXRlcnMud2ViUGFnZUlELCBtX3BhcmFtZXRlcnMud2ViRnJhbWVJRCwgSFRUUEhlYWRlck1hcCB7
IG1fcGFyYW1ldGVycy5vcmlnaW5hbFJlcXVlc3RIZWFkZXJzIH0sIFVSTCB7IG1fcGFyYW1ldGVy
cy5yZXF1ZXN0LnVybCgpIH0sIG1fcGFyYW1ldGVycy5zb3VyY2VPcmlnaW4uY29weVJlZigpLCBt
X3BhcmFtZXRlcnMucHJlZmxpZ2h0UG9saWN5LCBtX3BhcmFtZXRlcnMuaXNIVFRQU1VwZ3JhZGVF
bmFibGVkLCBvcmlnaW5hbFJlcXVlc3QoKS5odHRwUmVmZXJyZXIoKSwgc2hvdWxkQ2FwdHVyZUV4
dHJhTmV0d29ya0xvYWRNZXRyaWNzKCksIHJlcXVlc3RMb2FkVHlwZSk7CiAgICAgICAgIGlmICht
X3BhcmFtZXRlcnMuY3NwUmVzcG9uc2VIZWFkZXJzKQogICAgICAgICAgICAgbV9uZXR3b3JrTG9h
ZENoZWNrZXItPnNldENTUFJlc3BvbnNlSGVhZGVycyhDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNw
b25zZUhlYWRlcnMgeyBtX3BhcmFtZXRlcnMuY3NwUmVzcG9uc2VIZWFkZXJzLnZhbHVlKCkgfSk7
CiAjaWYgRU5BQkxFKENPTlRFTlRfRVhURU5TSU9OUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvUGluZ0xvYWQuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9QaW5nTG9hZC5jcHAKaW5kZXggY2EwMTVlZmFjMzQyZTczNDE0NGQxNTRhNWRlOTVhMTNi
Yzk2MjdkNi4uMTcxM2E1YWE1MTZiMzEzODBmZjk4ZTM2YzIwMzZjNWQ2MzFkMGNlYyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9QaW5nTG9hZC5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9QaW5nTG9hZC5jcHAKQEAgLTQzLDcgKzQzLDcgQEAg
UGluZ0xvYWQ6OlBpbmdMb2FkKE5ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzJiYgcGFyYW1l
dGVycywgQ29tcGxldGlvbkhhbmRsZXIKICAgICA6IG1fcGFyYW1ldGVycyhXVEZNb3ZlKHBhcmFt
ZXRlcnMpKQogICAgICwgbV9jb21wbGV0aW9uSGFuZGxlcihXVEZNb3ZlKGNvbXBsZXRpb25IYW5k
bGVyKSkKICAgICAsIG1fdGltZW91dFRpbWVyKCp0aGlzLCAmUGluZ0xvYWQ6OnRpbWVvdXRUaW1l
ckZpcmVkKQotICAgICwgbV9uZXR3b3JrTG9hZENoZWNrZXIobWFrZVVuaXF1ZVJlZjxOZXR3b3Jr
TG9hZENoZWNrZXI+KEZldGNoT3B0aW9ucyB7IG1fcGFyYW1ldGVycy5vcHRpb25zfSwgbV9wYXJh
bWV0ZXJzLnNlc3Npb25JRCwgbV9wYXJhbWV0ZXJzLndlYlBhZ2VJRCwgbV9wYXJhbWV0ZXJzLndl
YkZyYW1lSUQsIFdURk1vdmUobV9wYXJhbWV0ZXJzLm9yaWdpbmFsUmVxdWVzdEhlYWRlcnMpLCBV
UkwgeyBtX3BhcmFtZXRlcnMucmVxdWVzdC51cmwoKSB9LCBtX3BhcmFtZXRlcnMuc291cmNlT3Jp
Z2luLmNvcHlSZWYoKSwgbV9wYXJhbWV0ZXJzLnByZWZsaWdodFBvbGljeSwgbV9wYXJhbWV0ZXJz
LnJlcXVlc3QuaHR0cFJlZmVycmVyKCkpKQorICAgICwgbV9uZXR3b3JrTG9hZENoZWNrZXIobWFr
ZVVuaXF1ZVJlZjxOZXR3b3JrTG9hZENoZWNrZXI+KEZldGNoT3B0aW9ucyB7IG1fcGFyYW1ldGVy
cy5vcHRpb25zfSwgbV9wYXJhbWV0ZXJzLnNlc3Npb25JRCwgbV9wYXJhbWV0ZXJzLndlYlBhZ2VJ
RCwgbV9wYXJhbWV0ZXJzLndlYkZyYW1lSUQsIFdURk1vdmUobV9wYXJhbWV0ZXJzLm9yaWdpbmFs
UmVxdWVzdEhlYWRlcnMpLCBVUkwgeyBtX3BhcmFtZXRlcnMucmVxdWVzdC51cmwoKSB9LCBtX3Bh
cmFtZXRlcnMuc291cmNlT3JpZ2luLmNvcHlSZWYoKSwgbV9wYXJhbWV0ZXJzLnByZWZsaWdodFBv
bGljeSwgZmFsc2UsIG1fcGFyYW1ldGVycy5yZXF1ZXN0Lmh0dHBSZWZlcnJlcigpKSkKIHsKICAg
ICBtX25ldHdvcmtMb2FkQ2hlY2tlci0+ZW5hYmxlQ29udGVudEV4dGVuc2lvbnNDaGVjaygpOwog
ICAgIGlmIChtX3BhcmFtZXRlcnMuY3NwUmVzcG9uc2VIZWFkZXJzKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbCBiL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL1dlYlByZWZlcmVuY2VzLnlhbWwKaW5kZXggMDc3YmRlMzVlYTU2MmVjMzQzZWNlMGNiNTIw
NWNhOWUxZGIxMDAwZS4uZjg1NjU2OGEwNjQ3MjFmODUyYjMzMGY0NGUxMWRkOWY5NzY2YjU0YSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCkBAIC0zNSw2ICszNSwx
MyBAQCBQbHVnaW5zRW5hYmxlZDoKICAgdHlwZTogYm9vbAogICBkZWZhdWx0VmFsdWU6IGZhbHNl
CiAKK0hUVFBTVXBncmFkZUVuYWJsZWQ6CisgICB0eXBlOiBib29sCisgICBkZWZhdWx0VmFsdWU6
IGZhbHNlCisgICBodW1hblJlYWRhYmxlTmFtZTogIkF1dG9tYXRpYyBIVFRQUyB1cGdyYWRlIgor
ICAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiQXV0b21hdGljIEhUVFBTIHVwZ3JhZGUgZm9y
IHNpdGVzIHRoYXQgc3VwcG9ydCBpdCIKKyAgIGNhdGVnb3J5OiBleHBlcmltZW50YWwKKwogSmF2
YUVuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKICAgZGVmYXVsdFZhbHVlOiBmYWxzZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3kuY3Bw
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3kuY3Bw
CmluZGV4IDE2MjNiMjAwOTA4YmUyMGEyNmQ5MGYyMTAyYTBhODVlNjY3YTMzNzkuLmVmY2UzYTM0
YTdlNmMyZjI1ZGI3NDhkNzNmNGJlMTE3NTYxYmQ5ZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5LmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJMb2FkZXJTdHJhdGVneS5jcHAKQEAgLTI3NSw2
ICsyNzUsNyBAQCB2b2lkIFdlYkxvYWRlclN0cmF0ZWd5OjpzY2hlZHVsZUxvYWRGcm9tTmV0d29y
a1Byb2Nlc3MoUmVzb3VyY2VMb2FkZXImIHJlc291cmNlTAogICAgIGxvYWRQYXJhbWV0ZXJzLm1h
eGltdW1CdWZmZXJpbmdUaW1lID0gbWF4aW11bUJ1ZmZlcmluZ1RpbWU7CiAgICAgbG9hZFBhcmFt
ZXRlcnMub3B0aW9ucyA9IHJlc291cmNlTG9hZGVyLm9wdGlvbnMoKTsKICAgICBsb2FkUGFyYW1l
dGVycy5wcmVmbGlnaHRQb2xpY3kgPSByZXNvdXJjZUxvYWRlci5vcHRpb25zKCkucHJlZmxpZ2h0
UG9saWN5OworICAgIGxvYWRQYXJhbWV0ZXJzLmlzSFRUUFNVcGdyYWRlRW5hYmxlZCA9IHJlc291
cmNlTG9hZGVyLmZyYW1lKCkgPyByZXNvdXJjZUxvYWRlci5mcmFtZSgpLT5zZXR0aW5ncygpLkhU
VFBTVXBncmFkZUVuYWJsZWQoKSA6IGZhbHNlOwogCiAgICAgYXV0byogZG9jdW1lbnQgPSByZXNv
dXJjZUxvYWRlci5mcmFtZSgpID8gcmVzb3VyY2VMb2FkZXIuZnJhbWUoKS0+ZG9jdW1lbnQoKSA6
IG51bGxwdHI7CiAgICAgaWYgKHJlc291cmNlTG9hZGVyLm9wdGlvbnMoKS5jc3BSZXNwb25zZUhl
YWRlcnMpCkBAIC0yOTIsMTAgKzI5MywxMCBAQCB2b2lkIFdlYkxvYWRlclN0cmF0ZWd5OjpzY2hl
ZHVsZUxvYWRGcm9tTmV0d29ya1Byb2Nlc3MoUmVzb3VyY2VMb2FkZXImIHJlc291cmNlTAogI2lm
IEVOQUJMRShDT05URU5UX0VYVEVOU0lPTlMpCiAgICAgaWYgKGRvY3VtZW50KSB7CiAgICAgICAg
IGxvYWRQYXJhbWV0ZXJzLm1haW5Eb2N1bWVudFVSTCA9IGRvY3VtZW50LT50b3BEb2N1bWVudCgp
LnVybCgpOwotICAgICAgICAvLyBGSVhNRTogSW5zdGVhZCBvZiBwYXNzaW5nIHVzZXJDb250ZW50
Q29udHJvbGxlcklkZW50aWZpZXIsIHRoZSBOZXR3b3JrUHJvY2VzcyBzaG91bGQgYmUgYWJsZSB0
byBnZXQgaXQgdXNpbmcgd2ViUGFnZUlkLgogICAgICAgICBhdXRvKiB3ZWJGcmFtZUxvYWRlckNs
aWVudCA9IHRvV2ViRnJhbWVMb2FkZXJDbGllbnQocmVzb3VyY2VMb2FkZXIuZnJhbWUoKS0+bG9h
ZGVyKCkuY2xpZW50KCkpOwogICAgICAgICBhdXRvKiB3ZWJGcmFtZSA9IHdlYkZyYW1lTG9hZGVy
Q2xpZW50ID8gd2ViRnJhbWVMb2FkZXJDbGllbnQtPndlYkZyYW1lKCkgOiBudWxscHRyOwogICAg
ICAgICBhdXRvKiB3ZWJQYWdlID0gd2ViRnJhbWUgPyB3ZWJGcmFtZS0+cGFnZSgpIDogbnVsbHB0
cjsKKyAgICAgICAgLy8gRklYTUU6IEluc3RlYWQgb2YgcGFzc2luZyB1c2VyQ29udGVudENvbnRy
b2xsZXJJZGVudGlmaWVyLCB0aGUgTmV0d29ya1Byb2Nlc3Mgc2hvdWxkIGJlIGFibGUgdG8gZ2V0
IGl0IHVzaW5nIHdlYlBhZ2VJZC4KICAgICAgICAgaWYgKHdlYlBhZ2UpCiAgICAgICAgICAgICBs
b2FkUGFyYW1ldGVycy51c2VyQ29udGVudENvbnRyb2xsZXJJZGVudGlmaWVyID0gd2ViUGFnZS0+
dXNlckNvbnRlbnRDb250cm9sbGVySWRlbnRpZmllcigpOwogICAgIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvY29uZmlnLmggYi9Tb3VyY2UvV2ViS2l0L2NvbmZpZy5oCmluZGV4IDA3ZDBk
OGE5ZTMxNzk2OTAyMGYyNmM2OTE5ZWRjOGY1MDY2ZWM4MjUuLmQ5ZThkNjk5NTFhYTNlNzFhNjBk
Njg1MWU2NTVkNzAwZTcxZThkNzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY29uZmlnLmgK
KysrIGIvU291cmNlL1dlYktpdC9jb25maWcuaApAQCAtNzksNiArNzksMyBAQAogI2VuZGlmCiAj
ZW5kaWYKIAotI2lmbmRlZiBFTkFCTEVfSFRUUFNfVVBHUkFERQotI2RlZmluZSBFTkFCTEVfSFRU
UFNfVVBHUkFERSAwCi0jZW5kaWYK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>357823</attachid>
            <date>2018-12-20 09:45:06 -0800</date>
            <delta_ts>2018-12-20 09:53:22 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-192937-20181220094506.patch</filename>
            <type>text/plain</type>
            <size>19993</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM5NDQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmFiOTExZmRmN2NiMzQ0
NmU1NmFmYThmNDlmZGJjY2Q1Mzg1OTM1Ni4uMjE2NGE0Yjk2NzRkNDVlOWQzZGU0M2RiMWNiZjI5
NWY5MDJhNjc2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE4LTEyLTIwICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgTW92ZSBIVFRQX1VQR1JBREUg
Y29kZSBiZWhpbmQgYSBydW50aW1lIGZsYWcsIG9mZiBieSBkZWZhdWx0CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTI5MzcKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNb3ZlIEhUVFBfVVBHUkFERSBjb2Rl
IGJlaGluZCBhIHJ1bnRpbWUgZmxhZywgb2ZmIGJ5IGRlZmF1bHQgYW5kIGRyb3AgdGhlIGJ1aWxk
IHRpbWUgZmxhZy4KKworICAgICAgICAqIHBhZ2UvU2V0dGluZ3MueWFtbDoKKwogMjAxOC0xMi0x
OSAgTWljaGFlbCBDYXRhbnphcm8gIDxtY2F0YW56YXJvQGlnYWxpYS5jb20+CiAKICAgICAgICAg
VW5yZXZpZXdlZCwgZml4IEdUSyBidWlsZCBhZnRlciByMjM5NDEwCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDU5ZTIz
ZmI2ZGI5YTE3YjczZDgyZTgwNzYwY2RhNzdjNmI2MTVhZGQuLjI1NzhlYmE0MGVlOWNkNTQ0YTVl
NjY1NmNhMzBhZGEzMjZjMzc3MDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzUgQEAKKzIwMTgtMTIt
MjAgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBNb3ZlIEhUVFBf
VVBHUkFERSBjb2RlIGJlaGluZCBhIHJ1bnRpbWUgZmxhZywgb2ZmIGJ5IGRlZmF1bHQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MjkzNworCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1vdmUgSFRUUF9VUEdS
QURFIGNvZGUgYmVoaW5kIGEgcnVudGltZSBmbGFnLCBvZmYgYnkgZGVmYXVsdCBhbmQgZHJvcCB0
aGUgYnVpbGQgdGltZSBmbGFnLgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvV2ViS2l0Lnhj
Y29uZmlnOgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogTmV0d29y
a1Byb2Nlc3MvTmV0d29ya0hUVFBTVXBncmFkZUNoZWNrZXIuY3BwOgorICAgICAgICAqIE5ldHdv
cmtQcm9jZXNzL05ldHdvcmtIVFRQU1VwZ3JhZGVDaGVja2VyLmg6CisgICAgICAgICogTmV0d29y
a1Byb2Nlc3MvTmV0d29ya0xvYWRDaGVja2VyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29y
a0xvYWRDaGVja2VyOjpOZXR3b3JrTG9hZENoZWNrZXIpOgorICAgICAgICAoV2ViS2l0OjpOZXR3
b3JrTG9hZENoZWNrZXI6OmFwcGx5SFRUUFNVcGdyYWRlSWZOZWVkZWQgY29uc3QpOgorICAgICAg
ICAoV2ViS2l0OjpOZXR3b3JrTG9hZENoZWNrZXI6OmNoZWNrUmVxdWVzdCk6CisgICAgICAgICog
TmV0d29ya1Byb2Nlc3MvTmV0d29ya0xvYWRDaGVja2VyLmg6CisgICAgICAgICogTmV0d29ya1By
b2Nlc3MvTmV0d29ya1Byb2Nlc3MuaDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3M6
Om5ldHdvcmtIVFRQU1VwZ3JhZGVDaGVja2VyKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9O
ZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycy5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdv
cmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzOjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViS2l0
OjpOZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVyczo6ZGVjb2RlKToKKyAgICAgICAgKiBOZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycy5oOgorICAgICAgICAqIE5l
dHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgICogTmV0d29y
a1Byb2Nlc3MvUGluZ0xvYWQuY3BwOgorICAgICAgICAoV2ViS2l0OjpQaW5nTG9hZDo6UGluZ0xv
YWQpOgorICAgICAgICAqIFNoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sOgorICAgICAgICAqIFdl
YlByb2Nlc3MvTmV0d29yay9XZWJMb2FkZXJTdHJhdGVneS5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYkxvYWRlclN0cmF0ZWd5OjpzY2hlZHVsZUxvYWRGcm9tTmV0d29ya1Byb2Nlc3MpOgorICAg
ICAgICAqIGNvbmZpZy5oOgorCiAyMDE4LTEyLTIwICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNp
ZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdIEZvY3VzaW5nIGFuIGVkaXRhYmxlIGVsZW1l
bnQgc2hvdWxkIHNjcm9sbCB0byByZXZlYWwgdGhlIHNlbGVjdGlvbgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy55YW1sIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0
aW5ncy55YW1sCmluZGV4IGE3OTcxOTM4NmIzYzJjZjkzNDVmNTgwNmJkYWMwM2JmNTc0M2ExOWEu
LmNiMjllYWMzZWZmZDRiOTBhY2NlMjhlNTg0NTkwMmRjYWY4ZDdjNWEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MueWFtbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1NldHRpbmdzLnlhbWwKQEAgLTMyOSw2ICszMjksOSBAQCB3YW50c0JhbGFuY2VkU2V0RGVmZXJz
TG9hZGluZ0JlaGF2aW9yOgogcmVxdWVzdEFuaW1hdGlvbkZyYW1lRW5hYmxlZDoKICAgaW5pdGlh
bDogdHJ1ZQogCitIVFRQU1VwZ3JhZGVFbmFibGVkOgorICBpbml0aWFsOiBmYWxzZQorCiBjb29r
aWVFbmFibGVkOgogICBpbml0aWFsOiB0cnVlCiBtZWRpYUVuYWJsZWQ6CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL1dlYktpdC54Y2NvbmZpZyBiL1NvdXJjZS9XZWJL
aXQvQ29uZmlndXJhdGlvbnMvV2ViS2l0LnhjY29uZmlnCmluZGV4IDI0NTM2ODRlYjJmMTViMjJm
OTBiMDEyZjQ1Mjk2ZWNiOTA3OGMxMzcuLmYyMzE4ZWM0ZTlhZmY2ZmQ4YmI5ZGNmNDc0MjBjMWVl
NjhjZWZmMmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ29uZmlndXJhdGlvbnMvV2ViS2l0
LnhjY29uZmlnCisrKyBiL1NvdXJjZS9XZWJLaXQvQ29uZmlndXJhdGlvbnMvV2ViS2l0LnhjY29u
ZmlnCkBAIC0xNTEsMTEgKzE1MSw4IEBAIFNFQ1RPUkRFUl9GTEFHUyA9ICQoU0VDVE9SREVSX0ZM
QUdTXyQoQ09ORklHVVJBVElPTikpOwogU0VDVE9SREVSX0ZMQUdTX1Byb2R1Y3Rpb25bc2RrPWlw
aG9uZW9zKl0gPSAtV2wsLW9yZGVyX2ZpbGUsJChTREtST09UKS9BcHBsZUludGVybmFsL09yZGVy
RmlsZXMvV2ViS2l0Lm9yZGVyOwogU0VDVE9SREVSX0ZMQUdTX1Byb2R1Y3Rpb25bc2RrPW1hY29z
eCpdID0gLVdsLC1vcmRlcl9maWxlLG1hYy9XZWJLaXQyLm9yZGVyOwogCi1XS19FWENMVURFRF9I
VFRQU19VUEdSQURFX0ZJTEUgPSAkKFdLX0VYQ0xVREVEX0hUVFBTX1VQR1JBREVfRklMRV8kKEVO
QUJMRV9IVFRQU19VUEdSQURFKSk7Ci1XS19FWENMVURFRF9IVFRQU19VUEdSQURFX0ZJTEVfID0g
SFRUUFNVcGdyYWRlTGlzdC5kYjsKLQotRVhDTFVERURfU09VUkNFX0ZJTEVfTkFNRVMgPSBSZXNv
dXJjZXMvaW9zLyogJChXS19FWENMVURFRF9IVFRQU19VUEdSQURFX0ZJTEUpOwotRVhDTFVERURf
U09VUkNFX0ZJTEVfTkFNRVNbc2RrPWlwaG9uZSpdID0gUGx1Z2luUHJvY2Vzc1NoaW0uZHlsaWIg
U2VjSXRlbVNoaW0uZHlsaWIgV2ViUHJvY2Vzc1NoaW0uZHlsaWIgKi5wZGYgUmVzb3VyY2VzL21h
Yy8qIGNvbS5hcHBsZS5XZWJLaXQuTmV0d29ya1Byb2Nlc3Muc2IgY29tLmFwcGxlLldlYlByb2Nl
c3Muc2IgY29tLmFwcGxlLldlYktpdC5wbHVnaW4tY29tbW9uLnNiIFBsdWdJblNhbmRib3hQcm9m
aWxlcy8qLnNiICQoV0tfRVhDTFVERURfSFRUUFNfVVBHUkFERV9GSUxFKTsKK0VYQ0xVREVEX1NP
VVJDRV9GSUxFX05BTUVTID0gUmVzb3VyY2VzL2lvcy8qOworRVhDTFVERURfU09VUkNFX0ZJTEVf
TkFNRVNbc2RrPWlwaG9uZSpdID0gUGx1Z2luUHJvY2Vzc1NoaW0uZHlsaWIgU2VjSXRlbVNoaW0u
ZHlsaWIgV2ViUHJvY2Vzc1NoaW0uZHlsaWIgKi5wZGYgUmVzb3VyY2VzL21hYy8qIGNvbS5hcHBs
ZS5XZWJLaXQuTmV0d29ya1Byb2Nlc3Muc2IgY29tLmFwcGxlLldlYlByb2Nlc3Muc2IgY29tLmFw
cGxlLldlYktpdC5wbHVnaW4tY29tbW9uLnNiIFBsdWdJblNhbmRib3hQcm9maWxlcy8qLnNiOwog
CiBJTlNUQUxMSERSU19TQ1JJUFRfUEhBU0UgPSBZRVM7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMu
bWFrZQppbmRleCAyZmRlNTU1MGNmNGQ3MGFkYzA5ZGVmMzU3YTk4NzgyMjczZTU1NDcyLi5lZmFh
MGUxY2RmMzkzOTgxMDdkNjBmNGRkNTgzZTdkNzE2ODkxNzVkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYktpdC9EZXJpdmVkU291
cmNlcy5tYWtlCkBAIC0zMTYsOCArMzE2LDYgQEAgJChXRUJfUFJFRkVSRU5DRVNfQ09NQklORURf
SU5QVVRfRklMRSkgOiAkKFdFQl9QUkVGRVJFTkNFU19JTlBVVF9GSUxFUykKICQoV0VCX1BSRUZF
UkVOQ0VTX1BBVFRFUk5TKSA6ICQoV2ViS2l0MikvU2NyaXB0cy9HZW5lcmF0ZVByZWZlcmVuY2Vz
LnJiICQoV0VCX1BSRUZFUkVOQ0VTX1RFTVBMQVRFUykgJChXRUJfUFJFRkVSRU5DRVNfQ09NQklO
RURfSU5QVVRfRklMRSkKIAkkKFJVQlkpICQ8IC0taW5wdXQgJChXRUJfUFJFRkVSRU5DRVNfQ09N
QklORURfSU5QVVRfRklMRSkKIAotaWZlcSAoJChFTkFCTEVfSFRUUFNfVVBHUkFERSksRU5BQkxF
X0hUVFBTX1VQR1JBREUpCiBhbGwgOiBIVFRQU1VwZ3JhZGVMaXN0LmRiCiBIVFRQU1VwZ3JhZGVM
aXN0LmRiIDogSFRUUFNVcGdyYWRlTGlzdC50eHQgJChXZWJLaXQyKS9TY3JpcHRzL2dlbmVyYXRl
LWh0dHBzLXVwZ3JhZGUtZGF0YWJhc2Uuc2gKIAlzaCAkKFdlYktpdDIpL1NjcmlwdHMvZ2VuZXJh
dGUtaHR0cHMtdXBncmFkZS1kYXRhYmFzZS5zaCAkPCAkQAotZW5kaWYgIyBFTkFCTEVfSFRUUFNf
VVBHUkFERQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3Jr
SFRUUFNVcGdyYWRlQ2hlY2tlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05l
dHdvcmtIVFRQU1VwZ3JhZGVDaGVja2VyLmNwcAppbmRleCA3M2I0NmMwOWY2YmZkYjU3ODZmNjg1
YWU0NmQ1NGEzMzU5YzA4OWNhLi43MmRhOGYyN2Y5NTFlN2UxZTI5ZjcyYjFiNGM0YjA5MDM1MzAz
YjNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtIVFRQ
U1VwZ3JhZGVDaGVja2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05l
dHdvcmtIVFRQU1VwZ3JhZGVDaGVja2VyLmNwcApAQCAtMjYsOCArMjYsNiBAQAogI2luY2x1ZGUg
ImNvbmZpZy5oIgogI2luY2x1ZGUgIk5ldHdvcmtIVFRQU1VwZ3JhZGVDaGVja2VyLmgiCiAKLSNp
ZiBFTkFCTEUoSFRUUFNfVVBHUkFERSkKLQogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRl
IDxXZWJDb3JlL1NRTGl0ZURhdGFiYXNlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TUUxpdGVTdGF0
ZW1lbnQuaD4KQEAgLTExMyw0ICsxMTEsMyBAQCB2b2lkIE5ldHdvcmtIVFRQU1VwZ3JhZGVDaGVj
a2VyOjpxdWVyeShTdHJpbmcmJiBob3N0LCBQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsCiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYktpdAogCi0jZW5kaWYgLy8gRU5BQkxFKEhUVFBTX1VQR1JBREUpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtIVFRQU1VwZ3Jh
ZGVDaGVja2VyLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtIVFRQU1Vw
Z3JhZGVDaGVja2VyLmgKaW5kZXggYzYzMDNhNzYxNDBiNjA4ZGM1NGE4ZGEyZmRhMDk3ZTRlNGI5
YWRmMS4uMzgzN2U2NzdiNzMwNWU2NWUwZDVkYzVkMjk0MzhkOWExNTk0YzQ5ZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrSFRUUFNVcGdyYWRlQ2hlY2tl
ci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0hUVFBTVXBncmFk
ZUNoZWNrZXIuaApAQCAtMjUsOCArMjUsNiBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2lmIEVOQUJM
RShIVFRQU19VUEdSQURFKQotCiAjaW5jbHVkZSA8d3RmL1VuaXF1ZVJlZi5oPgogCiBuYW1lc3Bh
Y2UgV1RGIHsKQEAgLTY0LDQgKzYyLDMgQEAgcHJpdmF0ZToKIAogfSAvLyBuYW1lc3BhY2UgV2Vi
S2l0CiAKLSNlbmRpZiAvLyBFTkFCTEUoSFRUUFNfVVBHUkFERSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0xvYWRDaGVja2VyLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0xvYWRDaGVja2VyLmNwcAppbmRleCAwZjMwMmRj
NjgxNWUyZTk4YjBkMDMyZTMyYjZjMTcxYjU0ZjUzMDZkLi44OTU3MTRkYjBlMWM4OTliZjA3Y2M0
ZjdjZjJkMjYyNTQ4Y2I5OTcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL05ldHdvcmtMb2FkQ2hlY2tlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrTG9hZENoZWNrZXIuY3BwCkBAIC00Niw3ICs0Niw3IEBAIHN0YXRpYyBpbmxp
bmUgYm9vbCBpc1NhbWVPcmlnaW4oY29uc3QgVVJMJiB1cmwsIGNvbnN0IFNlY3VyaXR5T3JpZ2lu
KiBvcmlnaW4pCiAgICAgcmV0dXJuIHVybC5wcm90b2NvbElzRGF0YSgpIHx8IHVybC5wcm90b2Nv
bElzQmxvYigpIHx8ICFvcmlnaW4gfHwgb3JpZ2luLT5jYW5SZXF1ZXN0KHVybCk7CiB9CiAKLU5l
dHdvcmtMb2FkQ2hlY2tlcjo6TmV0d29ya0xvYWRDaGVja2VyKEZldGNoT3B0aW9ucyYmIG9wdGlv
bnMsIFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgdWludDY0X3QgcGFnZUlELCB1aW50NjRfdCBm
cmFtZUlELCBIVFRQSGVhZGVyTWFwJiYgb3JpZ2luYWxSZXF1ZXN0SGVhZGVycywgVVJMJiYgdXJs
LCBSZWZQdHI8U2VjdXJpdHlPcmlnaW4+JiYgc291cmNlT3JpZ2luLCBQcmVmbGlnaHRQb2xpY3kg
cHJlZmxpZ2h0UG9saWN5LCBTdHJpbmcmJiByZWZlcnJlciwgYm9vbCBzaG91bGRDYXB0dXJlRXh0
cmFOZXR3b3JrTG9hZE1ldHJpY3MsIExvYWRUeXBlIHJlcXVlc3RMb2FkVHlwZSkKK05ldHdvcmtM
b2FkQ2hlY2tlcjo6TmV0d29ya0xvYWRDaGVja2VyKEZldGNoT3B0aW9ucyYmIG9wdGlvbnMsIFBB
TDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgdWludDY0X3QgcGFnZUlELCB1aW50NjRfdCBmcmFtZUlE
LCBIVFRQSGVhZGVyTWFwJiYgb3JpZ2luYWxSZXF1ZXN0SGVhZGVycywgVVJMJiYgdXJsLCBSZWZQ
dHI8U2VjdXJpdHlPcmlnaW4+JiYgc291cmNlT3JpZ2luLCBQcmVmbGlnaHRQb2xpY3kgcHJlZmxp
Z2h0UG9saWN5LCBib29sIGlzSFRUUFNVcGdyYWRlRW5hYmxlZCwgU3RyaW5nJiYgcmVmZXJyZXIs
IGJvb2wgc2hvdWxkQ2FwdHVyZUV4dHJhTmV0d29ya0xvYWRNZXRyaWNzLCBMb2FkVHlwZSByZXF1
ZXN0TG9hZFR5cGUpCiAgICAgOiBtX29wdGlvbnMoV1RGTW92ZShvcHRpb25zKSkKICAgICAsIG1f
c2Vzc2lvbklEKHNlc3Npb25JRCkKICAgICAsIG1fcGFnZUlEKHBhZ2VJRCkKQEAgLTU3LDYgKzU3
LDcgQEAgTmV0d29ya0xvYWRDaGVja2VyOjpOZXR3b3JrTG9hZENoZWNrZXIoRmV0Y2hPcHRpb25z
JiYgb3B0aW9ucywgUEFMOjpTZXNzaW9uSUQgc2UKICAgICAsIG1fcHJlZmxpZ2h0UG9saWN5KHBy
ZWZsaWdodFBvbGljeSkKICAgICAsIG1fcmVmZXJyZXIoV1RGTW92ZShyZWZlcnJlcikpCiAgICAg
LCBtX3Nob3VsZENhcHR1cmVFeHRyYU5ldHdvcmtMb2FkTWV0cmljcyhzaG91bGRDYXB0dXJlRXh0
cmFOZXR3b3JrTG9hZE1ldHJpY3MpCisgICAgLCBtX2lzSFRUUFNVcGdyYWRlRW5hYmxlZChpc0hU
VFBTVXBncmFkZUVuYWJsZWQpCiAgICAgLCBtX3JlcXVlc3RMb2FkVHlwZShyZXF1ZXN0TG9hZFR5
cGUpCiB7CiAgICAgbV9pc1NhbWVPcmlnaW5SZXF1ZXN0ID0gaXNTYW1lT3JpZ2luKG1fdXJsLCBt
X29yaWdpbi5nZXQoKSk7CkBAIC0xOTEsMTAgKzE5MiwxMCBAQCBhdXRvIE5ldHdvcmtMb2FkQ2hl
Y2tlcjo6YWNjZXNzQ29udHJvbEVycm9yRm9yVmFsaWRhdGlvbkhhbmRsZXIoU3RyaW5nJiYgbWVz
c2FnZQogICAgIHJldHVybiBSZXNvdXJjZUVycm9yIHsgU3RyaW5nIHsgfSwgMCwgbV91cmwsIFdU
Rk1vdmUobWVzc2FnZSksIFJlc291cmNlRXJyb3I6OlR5cGU6OkFjY2Vzc0NvbnRyb2wgfTsKIH0K
IAotI2lmIEVOQUJMRShIVFRQU19VUEdSQURFKQogdm9pZCBOZXR3b3JrTG9hZENoZWNrZXI6OmFw
cGx5SFRUUFNVcGdyYWRlSWZOZWVkZWQoUmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCwgQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZChSZXNvdXJjZVJlcXVlc3QmJik+JiYgaGFuZGxlcikgY29uc3QKIHsK
LSAgICBpZiAobV9yZXF1ZXN0TG9hZFR5cGUgIT0gTG9hZFR5cGU6Ok1haW5GcmFtZSkgeworI2lm
IFBMQVRGT1JNKENPQ09BKQorICAgIGlmICghbV9pc0hUVFBTVXBncmFkZUVuYWJsZWQgfHwgbV9y
ZXF1ZXN0TG9hZFR5cGUgIT0gTG9hZFR5cGU6Ok1haW5GcmFtZSkgewogICAgICAgICBoYW5kbGVy
KFdURk1vdmUocmVxdWVzdCkpOwogICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtMjI0LDE2ICsy
MjUsMTYgQEAgdm9pZCBOZXR3b3JrTG9hZENoZWNrZXI6OmFwcGx5SFRUUFNVcGdyYWRlSWZOZWVk
ZWQoUmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCwgQ28KIAogICAgICAgICBoYW5kbGVyKFdURk1v
dmUocmVxdWVzdCkpOwogICAgIH0pOworI2Vsc2UKKyAgICBoYW5kbGVyKFdURk1vdmUocmVxdWVz
dCkpOworI2VuZGlmCiB9Ci0jZW5kaWYgLy8gRU5BQkxFKEhUVFBTX1VQR1JBREUpCiAKIHZvaWQg
TmV0d29ya0xvYWRDaGVja2VyOjpjaGVja1JlcXVlc3QoUmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVz
dCwgQ29udGVudFNlY3VyaXR5UG9saWN5Q2xpZW50KiBjbGllbnQsIFZhbGlkYXRpb25IYW5kbGVy
JiYgaGFuZGxlcikKIHsKICAgICBSZXNvdXJjZVJlcXVlc3Qgb3JpZ2luYWxSZXF1ZXN0ID0gcmVx
dWVzdDsKIAotI2lmIEVOQUJMRShIVFRQU19VUEdSQURFKQogICAgIGFwcGx5SFRUUFNVcGdyYWRl
SWZOZWVkZWQoV1RGTW92ZShyZXF1ZXN0KSwgW3RoaXMsIGNsaWVudCwgaGFuZGxlciA9IFdURk1v
dmUoaGFuZGxlciksIG9yaWdpbmFsUmVxdWVzdCA9IFdURk1vdmUob3JpZ2luYWxSZXF1ZXN0KV0o
YXV0byByZXF1ZXN0KSBtdXRhYmxlIHsKLSNlbmRpZiAvLyBFTkFCTEUoSFRUUFNfVVBHUkFERSkK
IAogICAgICAgICBpZiAoYXV0byogY29udGVudFNlY3VyaXR5UG9saWN5ID0gdGhpcy0+Y29udGVu
dFNlY3VyaXR5UG9saWN5KCkpIHsKICAgICAgICAgICAgIGlmIChpc1JlZGlyZWN0ZWQoKSkgewpA
QCAtMjYzLDExICsyNjQsNyBAQCB2b2lkIE5ldHdvcmtMb2FkQ2hlY2tlcjo6Y2hlY2tSZXF1ZXN0
KFJlc291cmNlUmVxdWVzdCYmIHJlcXVlc3QsIENvbnRlbnRTZWN1cml0eQogI2Vsc2UKICAgICAg
ICAgY29udGludWVDaGVja2luZ1JlcXVlc3RPckRvU3ludGhldGljUmVkaXJlY3QoV1RGTW92ZShv
cmlnaW5hbFJlcXVlc3QpLCBXVEZNb3ZlKHJlcXVlc3QpLCBXVEZNb3ZlKGhhbmRsZXIpKTsKICNl
bmRpZgotCi0jaWYgRU5BQkxFKEhUVFBTX1VQR1JBREUpCiAgICAgfSk7Ci0jZW5kaWYgLy8gRU5B
QkxFKEhUVFBTX1VQR1JBREUpCi0KIH0KIAogdm9pZCBOZXR3b3JrTG9hZENoZWNrZXI6OmNvbnRp
bnVlQ2hlY2tpbmdSZXF1ZXN0T3JEb1N5bnRoZXRpY1JlZGlyZWN0KFJlc291cmNlUmVxdWVzdCYm
IG9yaWdpbmFsUmVxdWVzdCwgUmVzb3VyY2VSZXF1ZXN0JiYgY3VycmVudFJlcXVlc3QsIFZhbGlk
YXRpb25IYW5kbGVyJiYgaGFuZGxlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvTmV0d29ya0xvYWRDaGVja2VyLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL05ldHdvcmtMb2FkQ2hlY2tlci5oCmluZGV4IDI4M2YyNjIyODhkYjE0NWVlNjU3MzQ1Yjhj
ZGM2YTUyYTM1ZDM3NTguLmE2N2I5YjcyZDA2YjUwZjcyNmMyNTQxOTMyMjM4ZTk2MmMyNTJjNTkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0xvYWRDaGVj
a2VyLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZENoZWNr
ZXIuaApAQCAtNTIsNyArNTIsNyBAQCBjbGFzcyBOZXR3b3JrTG9hZENoZWNrZXIgOiBwdWJsaWMg
Q2FuTWFrZVdlYWtQdHI8TmV0d29ya0xvYWRDaGVja2VyPiB7CiBwdWJsaWM6CiAgICAgZW51bSBj
bGFzcyBMb2FkVHlwZSA6IGJvb2wgeyBNYWluRnJhbWUsIE90aGVyIH07CiAKLSAgICBOZXR3b3Jr
TG9hZENoZWNrZXIoV2ViQ29yZTo6RmV0Y2hPcHRpb25zJiYsIFBBTDo6U2Vzc2lvbklELCB1aW50
NjRfdCBwYWdlSUQsIHVpbnQ2NF90IGZyYW1lSUQsIFdlYkNvcmU6OkhUVFBIZWFkZXJNYXAmJiwg
VVJMJiYsIFJlZlB0cjxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbj4mJiwgV2ViQ29yZTo6UHJlZmxp
Z2h0UG9saWN5LCBTdHJpbmcmJiByZWZlcnJlciwgYm9vbCBzaG91bGRDYXB0dXJlRXh0cmFOZXR3
b3JrTG9hZE1ldHJpY3MgPSBmYWxzZSwgTG9hZFR5cGUgcmVxdWVzdExvYWRUeXBlID0gTG9hZFR5
cGU6Ok90aGVyKTsKKyAgICBOZXR3b3JrTG9hZENoZWNrZXIoV2ViQ29yZTo6RmV0Y2hPcHRpb25z
JiYsIFBBTDo6U2Vzc2lvbklELCB1aW50NjRfdCBwYWdlSUQsIHVpbnQ2NF90IGZyYW1lSUQsIFdl
YkNvcmU6OkhUVFBIZWFkZXJNYXAmJiwgVVJMJiYsIFJlZlB0cjxXZWJDb3JlOjpTZWN1cml0eU9y
aWdpbj4mJiwgV2ViQ29yZTo6UHJlZmxpZ2h0UG9saWN5LCBib29sIGlzSFRUUFNVcGdyYWRlRW5h
YmxlZCwgU3RyaW5nJiYgcmVmZXJyZXIsIGJvb2wgc2hvdWxkQ2FwdHVyZUV4dHJhTmV0d29ya0xv
YWRNZXRyaWNzID0gZmFsc2UsIExvYWRUeXBlIHJlcXVlc3RMb2FkVHlwZSA9IExvYWRUeXBlOjpP
dGhlcik7CiAgICAgfk5ldHdvcmtMb2FkQ2hlY2tlcigpOwogCiAgICAgc3RydWN0IFJlZGlyZWN0
aW9uVHJpcGxldCB7CkBAIC0xMTksOSArMTE5LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHByb2Nl
c3NDb250ZW50RXh0ZW5zaW9uUnVsZXNGb3JMb2FkKFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYm
LCBDb250ZW50RXh0ZW5zaW9uQ2FsbGJhY2smJik7CiAjZW5kaWYKIAotI2lmIEVOQUJMRShIVFRQ
U19VUEdSQURFKQogICAgIHZvaWQgYXBwbHlIVFRQU1VwZ3JhZGVJZk5lZWRlZChXZWJDb3JlOjpS
ZXNvdXJjZVJlcXVlc3QmJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpSZXNvdXJj
ZVJlcXVlc3QmJik+JiYpIGNvbnN0OwotI2VuZGlmIC8vIEVOQUJMRShIVFRQU19VUEdSQURFKQog
CiAgICAgV2ViQ29yZTo6RmV0Y2hPcHRpb25zIG1fb3B0aW9uczsKICAgICBXZWJDb3JlOjpTdG9y
ZWRDcmVkZW50aWFsc1BvbGljeSBtX3N0b3JlZENyZWRlbnRpYWxzUG9saWN5OwpAQCAtMTQ5LDYg
KzE0Nyw3IEBAIHByaXZhdGU6CiAgICAgU3RyaW5nIG1fcmVmZXJyZXI7CiAgICAgYm9vbCBtX2No
ZWNrQ29udGVudEV4dGVuc2lvbnMgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9zaG91bGRDYXB0dXJl
RXh0cmFOZXR3b3JrTG9hZE1ldHJpY3MgeyBmYWxzZSB9OworICAgIGJvb2wgbV9pc0hUVFBTVXBn
cmFkZUVuYWJsZWQgeyBmYWxzZSB9OwogICAgIFdlYkNvcmU6Ok5ldHdvcmtMb2FkSW5mb3JtYXRp
b24gbV9sb2FkSW5mb3JtYXRpb247CiAKICAgICBMb2FkVHlwZSBtX3JlcXVlc3RMb2FkVHlwZTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3Mu
aCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaAppbmRleCBl
OTQ4NzEwMjg3ZWQ2OWQxMWMyMjJlZTRlYzM1ODhkZmVjOWEyZjdjLi44NGIyYWNmMTNkZGM1NWVh
YjUxMmRlMGZhNDkyODMxMzgyN2QzNThmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCkBAIC0yMDUsOSArMjA1LDkgQEAgcHVibGljOgogICAgIGJv
b2wgcGFyZW50UHJvY2Vzc0hhc1NlcnZpY2VXb3JrZXJFbnRpdGxlbWVudCgpIGNvbnN0IHsgcmV0
dXJuIHRydWU7IH0KICNlbmRpZgogCi0jaWYgRU5BQkxFKEhUVFBTX1VQR1JBREUpCi0gICAgTmV0
d29ya0hUVFBTVXBncmFkZUNoZWNrZXImIG5ldHdvcmtIVFRQU1VwZ3JhZGVDaGVja2VyKCkgeyBy
ZXR1cm4gbV9uZXR3b3JrSFRUUFNVcGdyYWRlQ2hlY2tlcjsgfTsKLSNlbmRpZiAvLyBFTkFCTEUo
SFRUUFNfVVBHUkFERSkKKyNpZiBQTEFURk9STShDT0NPQSkKKyAgICBOZXR3b3JrSFRUUFNVcGdy
YWRlQ2hlY2tlciYgbmV0d29ya0hUVFBTVXBncmFkZUNoZWNrZXIoKSB7IHJldHVybiBtX25ldHdv
cmtIVFRQU1VwZ3JhZGVDaGVja2VyOyB9CisjZW5kaWYKIAogcHJpdmF0ZToKICAgICBOZXR3b3Jr
UHJvY2VzcygpOwpAQCAtMzk4LDkgKzM5OCw5IEBAIHByaXZhdGU6CiAgICAgSGFzaE1hcDxXZWJD
b3JlOjpTV1NlcnZlckNvbm5lY3Rpb25JZGVudGlmaWVyLCBXZWJTV1NlcnZlckNvbm5lY3Rpb24q
PiBtX3N3U2VydmVyQ29ubmVjdGlvbnM7CiAjZW5kaWYKIAotI2lmIEVOQUJMRShIVFRQU19VUEdS
QURFKQorI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIE5ldHdvcmtIVFRQU1VwZ3JhZGVDaGVja2Vy
IG1fbmV0d29ya0hUVFBTVXBncmFkZUNoZWNrZXI7Ci0jZW5kaWYgLy8gRU5BQkxFKEhUVFBTX1VQ
R1JBREUpCisjZW5kaWYKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVy
cy5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRQ
YXJhbWV0ZXJzLmNwcAppbmRleCAwY2ZlZWE1Y2NkMDYzZmNhN2Y2MTBhYjZjOWQ1YjFkMmMyYmQ5
ZWZjLi44MGI3MGFhYWIyMjc5MTA3Y2UwYmRhNjdhNmVjYTIxMDc1YTJiZWRhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0
ZXJzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJj
ZUxvYWRQYXJhbWV0ZXJzLmNwcApAQCAtOTQsNiArOTQsNyBAQCB2b2lkIE5ldHdvcmtSZXNvdXJj
ZUxvYWRQYXJhbWV0ZXJzOjplbmNvZGUoSVBDOjpFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogICAg
IGVuY29kZXIgPDwgc2hvdWxkRW5hYmxlQ3Jvc3NPcmlnaW5SZXNvdXJjZVBvbGljeTsKIAogICAg
IGVuY29kZXIgPDwgZnJhbWVBbmNlc3Rvck9yaWdpbnM7CisgICAgZW5jb2RlciA8PCBpc0hUVFBT
VXBncmFkZUVuYWJsZWQ7CiAKICNpZiBFTkFCTEUoQ09OVEVOVF9FWFRFTlNJT05TKQogICAgIGVu
Y29kZXIgPDwgbWFpbkRvY3VtZW50VVJMOwpAQCAtMjA0LDYgKzIwNSwxMiBAQCBib29sIE5ldHdv
cmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzOjpkZWNvZGUoSVBDOjpEZWNvZGVyJiBkZWNvZGVyLCBO
ZXR3b3JrUmVzb3VyYwogCiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQuZnJhbWVBbmNl
c3Rvck9yaWdpbnMpKQogICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBPcHRpb25hbDxib29s
PiBpc0hUVFBTVXBncmFkZUVuYWJsZWQ7CisgICAgZGVjb2RlciA+PiBpc0hUVFBTVXBncmFkZUVu
YWJsZWQ7CisgICAgaWYgKCFpc0hUVFBTVXBncmFkZUVuYWJsZWQpCisgICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICByZXN1bHQuaXNIVFRQU1VwZ3JhZGVFbmFibGVkID0gKmlzSFRUUFNVcGdyYWRl
RW5hYmxlZDsKICAgICAKICNpZiBFTkFCTEUoQ09OVEVOVF9FWFRFTlNJT05TKQogICAgIGlmICgh
ZGVjb2Rlci5kZWNvZGUocmVzdWx0Lm1haW5Eb2N1bWVudFVSTCkpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzLmgg
Yi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0
ZXJzLmgKaW5kZXggMTMyNzEwZmNlMGE1Y2JkOWE4MGU2MmRkYjk4ZmY0NDM1YWUxYTNjNS4uYjA1
ZmY4MDNmMTcxOTBhZGUzMTljZGEwNjNkYTAzMTQwNmU0ZjM3NiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycy5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZFBhcmFt
ZXRlcnMuaApAQCAtNTksNiArNTksNyBAQCBwdWJsaWM6CiAgICAgV2ViQ29yZTo6UHJlZmxpZ2h0
UG9saWN5IHByZWZsaWdodFBvbGljeSB7IFdlYkNvcmU6OlByZWZsaWdodFBvbGljeTo6Q29uc2lk
ZXIgfTsKICAgICBib29sIHNob3VsZEVuYWJsZUNyb3NzT3JpZ2luUmVzb3VyY2VQb2xpY3kgeyBm
YWxzZSB9OwogICAgIFZlY3RvcjxSZWZQdHI8V2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4+PiBmcmFt
ZUFuY2VzdG9yT3JpZ2luczsKKyAgICBib29sIGlzSFRUUFNVcGdyYWRlRW5hYmxlZCB7IGZhbHNl
IH07CiAKICNpZiBFTkFCTEUoQ09OVEVOVF9FWFRFTlNJT05TKQogICAgIFVSTCBtYWluRG9jdW1l
bnRVUkw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtS
ZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtS
ZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggNzdmYThlYTI5ZDY1YmExNmRhZTBjZDhlMzVjMjJlNmY5
OTRiOWQ3Zi4uOTk3MDAxYWI5MzJmM2YwMWQwMTkzZTU2ZjBjOTIxYjlmZjFiM2JmOCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9h
ZGVyLmNwcApAQCAtMTEyLDcgKzExMiw3IEBAIE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6TmV0d29y
a1Jlc291cmNlTG9hZGVyKE5ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzJiYgcGFyCiAKICAg
ICBpZiAoc3luY2hyb25vdXNSZXBseSB8fCBwYXJhbWV0ZXJzLnNob3VsZFJlc3RyaWN0SFRUUFJl
c3BvbnNlQWNjZXNzKSB7CiAgICAgICAgIE5ldHdvcmtMb2FkQ2hlY2tlcjo6TG9hZFR5cGUgcmVx
dWVzdExvYWRUeXBlID0gaXNNYWluRnJhbWVMb2FkKCkgPyBOZXR3b3JrTG9hZENoZWNrZXI6Okxv
YWRUeXBlOjpNYWluRnJhbWUgOiBOZXR3b3JrTG9hZENoZWNrZXI6OkxvYWRUeXBlOjpPdGhlcjsK
LSAgICAgICAgbV9uZXR3b3JrTG9hZENoZWNrZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPE5ldHdvcmtM
b2FkQ2hlY2tlcj4oRmV0Y2hPcHRpb25zIHsgbV9wYXJhbWV0ZXJzLm9wdGlvbnMgfSwgbV9wYXJh
bWV0ZXJzLnNlc3Npb25JRCwgbV9wYXJhbWV0ZXJzLndlYlBhZ2VJRCwgbV9wYXJhbWV0ZXJzLndl
YkZyYW1lSUQsIEhUVFBIZWFkZXJNYXAgeyBtX3BhcmFtZXRlcnMub3JpZ2luYWxSZXF1ZXN0SGVh
ZGVycyB9LCBVUkwgeyBtX3BhcmFtZXRlcnMucmVxdWVzdC51cmwoKSB9LCBtX3BhcmFtZXRlcnMu
c291cmNlT3JpZ2luLmNvcHlSZWYoKSwgbV9wYXJhbWV0ZXJzLnByZWZsaWdodFBvbGljeSwgb3Jp
Z2luYWxSZXF1ZXN0KCkuaHR0cFJlZmVycmVyKCksIHNob3VsZENhcHR1cmVFeHRyYU5ldHdvcmtM
b2FkTWV0cmljcygpLCByZXF1ZXN0TG9hZFR5cGUpOworICAgICAgICBtX25ldHdvcmtMb2FkQ2hl
Y2tlciA9IHN0ZDo6bWFrZV91bmlxdWU8TmV0d29ya0xvYWRDaGVja2VyPihGZXRjaE9wdGlvbnMg
eyBtX3BhcmFtZXRlcnMub3B0aW9ucyB9LCBtX3BhcmFtZXRlcnMuc2Vzc2lvbklELCBtX3BhcmFt
ZXRlcnMud2ViUGFnZUlELCBtX3BhcmFtZXRlcnMud2ViRnJhbWVJRCwgSFRUUEhlYWRlck1hcCB7
IG1fcGFyYW1ldGVycy5vcmlnaW5hbFJlcXVlc3RIZWFkZXJzIH0sIFVSTCB7IG1fcGFyYW1ldGVy
cy5yZXF1ZXN0LnVybCgpIH0sIG1fcGFyYW1ldGVycy5zb3VyY2VPcmlnaW4uY29weVJlZigpLCBt
X3BhcmFtZXRlcnMucHJlZmxpZ2h0UG9saWN5LCBtX3BhcmFtZXRlcnMuaXNIVFRQU1VwZ3JhZGVF
bmFibGVkLCBvcmlnaW5hbFJlcXVlc3QoKS5odHRwUmVmZXJyZXIoKSwgc2hvdWxkQ2FwdHVyZUV4
dHJhTmV0d29ya0xvYWRNZXRyaWNzKCksIHJlcXVlc3RMb2FkVHlwZSk7CiAgICAgICAgIGlmICht
X3BhcmFtZXRlcnMuY3NwUmVzcG9uc2VIZWFkZXJzKQogICAgICAgICAgICAgbV9uZXR3b3JrTG9h
ZENoZWNrZXItPnNldENTUFJlc3BvbnNlSGVhZGVycyhDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNw
b25zZUhlYWRlcnMgeyBtX3BhcmFtZXRlcnMuY3NwUmVzcG9uc2VIZWFkZXJzLnZhbHVlKCkgfSk7
CiAjaWYgRU5BQkxFKENPTlRFTlRfRVhURU5TSU9OUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvUGluZ0xvYWQuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9QaW5nTG9hZC5jcHAKaW5kZXggY2EwMTVlZmFjMzQyZTczNDE0NGQxNTRhNWRlOTVhMTNi
Yzk2MjdkNi4uMTcxM2E1YWE1MTZiMzEzODBmZjk4ZTM2YzIwMzZjNWQ2MzFkMGNlYyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9QaW5nTG9hZC5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9QaW5nTG9hZC5jcHAKQEAgLTQzLDcgKzQzLDcgQEAg
UGluZ0xvYWQ6OlBpbmdMb2FkKE5ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzJiYgcGFyYW1l
dGVycywgQ29tcGxldGlvbkhhbmRsZXIKICAgICA6IG1fcGFyYW1ldGVycyhXVEZNb3ZlKHBhcmFt
ZXRlcnMpKQogICAgICwgbV9jb21wbGV0aW9uSGFuZGxlcihXVEZNb3ZlKGNvbXBsZXRpb25IYW5k
bGVyKSkKICAgICAsIG1fdGltZW91dFRpbWVyKCp0aGlzLCAmUGluZ0xvYWQ6OnRpbWVvdXRUaW1l
ckZpcmVkKQotICAgICwgbV9uZXR3b3JrTG9hZENoZWNrZXIobWFrZVVuaXF1ZVJlZjxOZXR3b3Jr
TG9hZENoZWNrZXI+KEZldGNoT3B0aW9ucyB7IG1fcGFyYW1ldGVycy5vcHRpb25zfSwgbV9wYXJh
bWV0ZXJzLnNlc3Npb25JRCwgbV9wYXJhbWV0ZXJzLndlYlBhZ2VJRCwgbV9wYXJhbWV0ZXJzLndl
YkZyYW1lSUQsIFdURk1vdmUobV9wYXJhbWV0ZXJzLm9yaWdpbmFsUmVxdWVzdEhlYWRlcnMpLCBV
UkwgeyBtX3BhcmFtZXRlcnMucmVxdWVzdC51cmwoKSB9LCBtX3BhcmFtZXRlcnMuc291cmNlT3Jp
Z2luLmNvcHlSZWYoKSwgbV9wYXJhbWV0ZXJzLnByZWZsaWdodFBvbGljeSwgbV9wYXJhbWV0ZXJz
LnJlcXVlc3QuaHR0cFJlZmVycmVyKCkpKQorICAgICwgbV9uZXR3b3JrTG9hZENoZWNrZXIobWFr
ZVVuaXF1ZVJlZjxOZXR3b3JrTG9hZENoZWNrZXI+KEZldGNoT3B0aW9ucyB7IG1fcGFyYW1ldGVy
cy5vcHRpb25zfSwgbV9wYXJhbWV0ZXJzLnNlc3Npb25JRCwgbV9wYXJhbWV0ZXJzLndlYlBhZ2VJ
RCwgbV9wYXJhbWV0ZXJzLndlYkZyYW1lSUQsIFdURk1vdmUobV9wYXJhbWV0ZXJzLm9yaWdpbmFs
UmVxdWVzdEhlYWRlcnMpLCBVUkwgeyBtX3BhcmFtZXRlcnMucmVxdWVzdC51cmwoKSB9LCBtX3Bh
cmFtZXRlcnMuc291cmNlT3JpZ2luLmNvcHlSZWYoKSwgbV9wYXJhbWV0ZXJzLnByZWZsaWdodFBv
bGljeSwgZmFsc2UsIG1fcGFyYW1ldGVycy5yZXF1ZXN0Lmh0dHBSZWZlcnJlcigpKSkKIHsKICAg
ICBtX25ldHdvcmtMb2FkQ2hlY2tlci0+ZW5hYmxlQ29udGVudEV4dGVuc2lvbnNDaGVjaygpOwog
ICAgIGlmIChtX3BhcmFtZXRlcnMuY3NwUmVzcG9uc2VIZWFkZXJzKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbCBiL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL1dlYlByZWZlcmVuY2VzLnlhbWwKaW5kZXggMDc3YmRlMzVlYTU2MmVjMzQzZWNlMGNiNTIw
NWNhOWUxZGIxMDAwZS4uZjg1NjU2OGEwNjQ3MjFmODUyYjMzMGY0NGUxMWRkOWY5NzY2YjU0YSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCkBAIC0zNSw2ICszNSwx
MyBAQCBQbHVnaW5zRW5hYmxlZDoKICAgdHlwZTogYm9vbAogICBkZWZhdWx0VmFsdWU6IGZhbHNl
CiAKK0hUVFBTVXBncmFkZUVuYWJsZWQ6CisgICB0eXBlOiBib29sCisgICBkZWZhdWx0VmFsdWU6
IGZhbHNlCisgICBodW1hblJlYWRhYmxlTmFtZTogIkF1dG9tYXRpYyBIVFRQUyB1cGdyYWRlIgor
ICAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiQXV0b21hdGljIEhUVFBTIHVwZ3JhZGUgZm9y
IHNpdGVzIHRoYXQgc3VwcG9ydCBpdCIKKyAgIGNhdGVnb3J5OiBleHBlcmltZW50YWwKKwogSmF2
YUVuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKICAgZGVmYXVsdFZhbHVlOiBmYWxzZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3kuY3Bw
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3kuY3Bw
CmluZGV4IDE2MjNiMjAwOTA4YmUyMGEyNmQ5MGYyMTAyYTBhODVlNjY3YTMzNzkuLjg0YzEyYTA0
YTY4MjE1YjQxMTg5ZjM2ZDVmMDE3M2IzMjY1YzJjNWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5LmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJMb2FkZXJTdHJhdGVneS5jcHAKQEAgLTI3NSw2
ICsyNzUsNyBAQCB2b2lkIFdlYkxvYWRlclN0cmF0ZWd5OjpzY2hlZHVsZUxvYWRGcm9tTmV0d29y
a1Byb2Nlc3MoUmVzb3VyY2VMb2FkZXImIHJlc291cmNlTAogICAgIGxvYWRQYXJhbWV0ZXJzLm1h
eGltdW1CdWZmZXJpbmdUaW1lID0gbWF4aW11bUJ1ZmZlcmluZ1RpbWU7CiAgICAgbG9hZFBhcmFt
ZXRlcnMub3B0aW9ucyA9IHJlc291cmNlTG9hZGVyLm9wdGlvbnMoKTsKICAgICBsb2FkUGFyYW1l
dGVycy5wcmVmbGlnaHRQb2xpY3kgPSByZXNvdXJjZUxvYWRlci5vcHRpb25zKCkucHJlZmxpZ2h0
UG9saWN5OworICAgIGxvYWRQYXJhbWV0ZXJzLmlzSFRUUFNVcGdyYWRlRW5hYmxlZCA9IHJlc291
cmNlTG9hZGVyLmZyYW1lKCkgPyByZXNvdXJjZUxvYWRlci5mcmFtZSgpLT5zZXR0aW5ncygpLkhU
VFBTVXBncmFkZUVuYWJsZWQoKSA6IGZhbHNlOwogCiAgICAgYXV0byogZG9jdW1lbnQgPSByZXNv
dXJjZUxvYWRlci5mcmFtZSgpID8gcmVzb3VyY2VMb2FkZXIuZnJhbWUoKS0+ZG9jdW1lbnQoKSA6
IG51bGxwdHI7CiAgICAgaWYgKHJlc291cmNlTG9hZGVyLm9wdGlvbnMoKS5jc3BSZXNwb25zZUhl
YWRlcnMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2NvbmZpZy5oIGIvU291cmNlL1dlYktp
dC9jb25maWcuaAppbmRleCAwN2QwZDhhOWUzMTc5NjkwMjBmMjZjNjkxOWVkYzhmNTA2NmVjODI1
Li5kOWU4ZDY5OTUxYWEzZTcxYTYwZDY4NTFlNjU1ZDcwMGU3MWU4ZDcxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L2NvbmZpZy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY29uZmlnLmgKQEAgLTc5
LDYgKzc5LDMgQEAKICNlbmRpZgogI2VuZGlmCiAKLSNpZm5kZWYgRU5BQkxFX0hUVFBTX1VQR1JB
REUKLSNkZWZpbmUgRU5BQkxFX0hUVFBTX1VQR1JBREUgMAotI2VuZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>357826</attachid>
            <date>2018-12-20 09:53:23 -0800</date>
            <delta_ts>2018-12-20 10:03:25 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-192937-20181220095322.patch</filename>
            <type>text/plain</type>
            <size>19997</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM5NDQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmFiOTExZmRmN2NiMzQ0
NmU1NmFmYThmNDlmZGJjY2Q1Mzg1OTM1Ni4uNDFlMmYzYzg2YWViNWI1ZWE0ZjMxYWVlOWFlODll
NzI5ZWNlNWMzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE4LTEyLTIwICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgTW92ZSBIVFRQU19VUEdSQURF
IGNvZGUgYmVoaW5kIGEgcnVudGltZSBmbGFnLCBvZmYgYnkgZGVmYXVsdAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkyOTM3CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTW92ZSBIVFRQU19VUEdSQURFIGNv
ZGUgYmVoaW5kIGEgcnVudGltZSBmbGFnLCBvZmYgYnkgZGVmYXVsdCBhbmQgZHJvcCB0aGUgYnVp
bGQgdGltZSBmbGFnLgorCisgICAgICAgICogcGFnZS9TZXR0aW5ncy55YW1sOgorCiAyMDE4LTEy
LTE5ICBNaWNoYWVsIENhdGFuemFybyAgPG1jYXRhbnphcm9AaWdhbGlhLmNvbT4KIAogICAgICAg
ICBVbnJldmlld2VkLCBmaXggR1RLIGJ1aWxkIGFmdGVyIHIyMzk0MTAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggNTll
MjNmYjZkYjlhMTdiNzNkODJlODA3NjBjZGE3N2M2YjYxNWFkZC4uZDIxZTFhZTRkOGNjZTljZGQ1
ZWEyMzdlMDQ5ODUxY2E3Y2RlYmVjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNSBAQAorMjAxOC0x
Mi0yMCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIE1vdmUgSFRU
UFNfVVBHUkFERSBjb2RlIGJlaGluZCBhIHJ1bnRpbWUgZmxhZywgb2ZmIGJ5IGRlZmF1bHQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MjkzNworCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1vdmUgSFRUUFNf
VVBHUkFERSBjb2RlIGJlaGluZCBhIHJ1bnRpbWUgZmxhZywgb2ZmIGJ5IGRlZmF1bHQgYW5kIGRy
b3AgdGhlIGJ1aWxkIHRpbWUgZmxhZy4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL1dlYktp
dC54Y2NvbmZpZzoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIE5l
dHdvcmtQcm9jZXNzL05ldHdvcmtIVFRQU1VwZ3JhZGVDaGVja2VyLmNwcDoKKyAgICAgICAgKiBO
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrSFRUUFNVcGdyYWRlQ2hlY2tlci5oOgorICAgICAgICAqIE5l
dHdvcmtQcm9jZXNzL05ldHdvcmtMb2FkQ2hlY2tlci5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5l
dHdvcmtMb2FkQ2hlY2tlcjo6TmV0d29ya0xvYWRDaGVja2VyKToKKyAgICAgICAgKFdlYktpdDo6
TmV0d29ya0xvYWRDaGVja2VyOjphcHBseUhUVFBTVXBncmFkZUlmTmVlZGVkIGNvbnN0KToKKyAg
ICAgICAgKFdlYktpdDo6TmV0d29ya0xvYWRDaGVja2VyOjpjaGVja1JlcXVlc3QpOgorICAgICAg
ICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtMb2FkQ2hlY2tlci5oOgorICAgICAgICAqIE5ldHdv
cmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmg6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9j
ZXNzOjpuZXR3b3JrSFRUUFNVcGdyYWRlQ2hlY2tlcik6CisgICAgICAgICogTmV0d29ya1Byb2Nl
c3MvTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMuY3BwOgorICAgICAgICAoV2ViS2l0OjpO
ZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVyczo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdl
YktpdDo6TmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnM6OmRlY29kZSk6CisgICAgICAgICog
TmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMuaDoKKyAgICAgICAg
KiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAqIE5l
dHdvcmtQcm9jZXNzL1BpbmdMb2FkLmNwcDoKKyAgICAgICAgKFdlYktpdDo6UGluZ0xvYWQ6OlBp
bmdMb2FkKToKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbDoKKyAgICAgICAg
KiBXZWJQcm9jZXNzL05ldHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3kuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJMb2FkZXJTdHJhdGVneTo6c2NoZWR1bGVMb2FkRnJvbU5ldHdvcmtQcm9jZXNzKToK
KyAgICAgICAgKiBjb25maWcuaDoKKwogMjAxOC0xMi0yMCAgV2Vuc29uIEhzaWVoICA8d2Vuc29u
X2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9TXSBGb2N1c2luZyBhbiBlZGl0YWJsZSBl
bGVtZW50IHNob3VsZCBzY3JvbGwgdG8gcmV2ZWFsIHRoZSBzZWxlY3Rpb24KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MueWFtbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
U2V0dGluZ3MueWFtbAppbmRleCBhNzk3MTkzODZiM2MyY2Y5MzQ1ZjU4MDZiZGFjMDNiZjU3NDNh
MTlhLi5jYjI5ZWFjM2VmZmQ0YjkwYWNjZTI4ZTU4NDU5MDJkY2FmOGQ3YzVhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLnlhbWwKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9TZXR0aW5ncy55YW1sCkBAIC0zMjksNiArMzI5LDkgQEAgd2FudHNCYWxhbmNlZFNldERl
ZmVyc0xvYWRpbmdCZWhhdmlvcjoKIHJlcXVlc3RBbmltYXRpb25GcmFtZUVuYWJsZWQ6CiAgIGlu
aXRpYWw6IHRydWUKIAorSFRUUFNVcGdyYWRlRW5hYmxlZDoKKyAgaW5pdGlhbDogZmFsc2UKKwog
Y29va2llRW5hYmxlZDoKICAgaW5pdGlhbDogdHJ1ZQogbWVkaWFFbmFibGVkOgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9XZWJLaXQueGNjb25maWcgYi9Tb3VyY2Uv
V2ViS2l0L0NvbmZpZ3VyYXRpb25zL1dlYktpdC54Y2NvbmZpZwppbmRleCAyNDUzNjg0ZWIyZjE1
YjIyZjkwYjAxMmY0NTI5NmVjYjkwNzhjMTM3Li5mMjMxOGVjNGU5YWZmNmZkOGJiOWRjZjQ3NDIw
YzFlZTY4Y2VmZjJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL1dl
YktpdC54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL1dlYktpdC54
Y2NvbmZpZwpAQCAtMTUxLDExICsxNTEsOCBAQCBTRUNUT1JERVJfRkxBR1MgPSAkKFNFQ1RPUkRF
Ul9GTEFHU18kKENPTkZJR1VSQVRJT04pKTsKIFNFQ1RPUkRFUl9GTEFHU19Qcm9kdWN0aW9uW3Nk
az1pcGhvbmVvcypdID0gLVdsLC1vcmRlcl9maWxlLCQoU0RLUk9PVCkvQXBwbGVJbnRlcm5hbC9P
cmRlckZpbGVzL1dlYktpdC5vcmRlcjsKIFNFQ1RPUkRFUl9GTEFHU19Qcm9kdWN0aW9uW3Nkaz1t
YWNvc3gqXSA9IC1XbCwtb3JkZXJfZmlsZSxtYWMvV2ViS2l0Mi5vcmRlcjsKIAotV0tfRVhDTFVE
RURfSFRUUFNfVVBHUkFERV9GSUxFID0gJChXS19FWENMVURFRF9IVFRQU19VUEdSQURFX0ZJTEVf
JChFTkFCTEVfSFRUUFNfVVBHUkFERSkpOwotV0tfRVhDTFVERURfSFRUUFNfVVBHUkFERV9GSUxF
XyA9IEhUVFBTVXBncmFkZUxpc3QuZGI7Ci0KLUVYQ0xVREVEX1NPVVJDRV9GSUxFX05BTUVTID0g
UmVzb3VyY2VzL2lvcy8qICQoV0tfRVhDTFVERURfSFRUUFNfVVBHUkFERV9GSUxFKTsKLUVYQ0xV
REVEX1NPVVJDRV9GSUxFX05BTUVTW3Nkaz1pcGhvbmUqXSA9IFBsdWdpblByb2Nlc3NTaGltLmR5
bGliIFNlY0l0ZW1TaGltLmR5bGliIFdlYlByb2Nlc3NTaGltLmR5bGliICoucGRmIFJlc291cmNl
cy9tYWMvKiBjb20uYXBwbGUuV2ViS2l0Lk5ldHdvcmtQcm9jZXNzLnNiIGNvbS5hcHBsZS5XZWJQ
cm9jZXNzLnNiIGNvbS5hcHBsZS5XZWJLaXQucGx1Z2luLWNvbW1vbi5zYiBQbHVnSW5TYW5kYm94
UHJvZmlsZXMvKi5zYiAkKFdLX0VYQ0xVREVEX0hUVFBTX1VQR1JBREVfRklMRSk7CitFWENMVURF
RF9TT1VSQ0VfRklMRV9OQU1FUyA9IFJlc291cmNlcy9pb3MvKjsKK0VYQ0xVREVEX1NPVVJDRV9G
SUxFX05BTUVTW3Nkaz1pcGhvbmUqXSA9IFBsdWdpblByb2Nlc3NTaGltLmR5bGliIFNlY0l0ZW1T
aGltLmR5bGliIFdlYlByb2Nlc3NTaGltLmR5bGliICoucGRmIFJlc291cmNlcy9tYWMvKiBjb20u
YXBwbGUuV2ViS2l0Lk5ldHdvcmtQcm9jZXNzLnNiIGNvbS5hcHBsZS5XZWJQcm9jZXNzLnNiIGNv
bS5hcHBsZS5XZWJLaXQucGx1Z2luLWNvbW1vbi5zYiBQbHVnSW5TYW5kYm94UHJvZmlsZXMvKi5z
YjsKIAogSU5TVEFMTEhEUlNfU0NSSVBUX1BIQVNFID0gWUVTOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3Vy
Y2VzLm1ha2UKaW5kZXggMmZkZTU1NTBjZjRkNzBhZGMwOWRlZjM1N2E5ODc4MjI3M2U1NTQ3Mi4u
ZWZhYTBlMWNkZjM5Mzk4MTA3ZDYwZjRkZDU4M2U3ZDcxNjg5MTc1ZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJLaXQvRGVyaXZl
ZFNvdXJjZXMubWFrZQpAQCAtMzE2LDggKzMxNiw2IEBAICQoV0VCX1BSRUZFUkVOQ0VTX0NPTUJJ
TkVEX0lOUFVUX0ZJTEUpIDogJChXRUJfUFJFRkVSRU5DRVNfSU5QVVRfRklMRVMpCiAkKFdFQl9Q
UkVGRVJFTkNFU19QQVRURVJOUykgOiAkKFdlYktpdDIpL1NjcmlwdHMvR2VuZXJhdGVQcmVmZXJl
bmNlcy5yYiAkKFdFQl9QUkVGRVJFTkNFU19URU1QTEFURVMpICQoV0VCX1BSRUZFUkVOQ0VTX0NP
TUJJTkVEX0lOUFVUX0ZJTEUpCiAJJChSVUJZKSAkPCAtLWlucHV0ICQoV0VCX1BSRUZFUkVOQ0VT
X0NPTUJJTkVEX0lOUFVUX0ZJTEUpCiAKLWlmZXEgKCQoRU5BQkxFX0hUVFBTX1VQR1JBREUpLEVO
QUJMRV9IVFRQU19VUEdSQURFKQogYWxsIDogSFRUUFNVcGdyYWRlTGlzdC5kYgogSFRUUFNVcGdy
YWRlTGlzdC5kYiA6IEhUVFBTVXBncmFkZUxpc3QudHh0ICQoV2ViS2l0MikvU2NyaXB0cy9nZW5l
cmF0ZS1odHRwcy11cGdyYWRlLWRhdGFiYXNlLnNoCiAJc2ggJChXZWJLaXQyKS9TY3JpcHRzL2dl
bmVyYXRlLWh0dHBzLXVwZ3JhZGUtZGF0YWJhc2Uuc2ggJDwgJEAKLWVuZGlmICMgRU5BQkxFX0hU
VFBTX1VQR1JBREUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0
d29ya0hUVFBTVXBncmFkZUNoZWNrZXIuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrSFRUUFNVcGdyYWRlQ2hlY2tlci5jcHAKaW5kZXggNzNiNDZjMDlmNmJmZGI1Nzg2
ZjY4NWFlNDZkNTRhMzM1OWMwODljYS4uNzJkYThmMjdmOTUxZTdlMWUyOWY3MmIxYjRjNGIwOTAz
NTMwM2IzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3Jr
SFRUUFNVcGdyYWRlQ2hlY2tlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrSFRUUFNVcGdyYWRlQ2hlY2tlci5jcHAKQEAgLTI2LDggKzI2LDYgQEAKICNpbmNs
dWRlICJjb25maWcuaCIKICNpbmNsdWRlICJOZXR3b3JrSFRUUFNVcGdyYWRlQ2hlY2tlci5oIgog
Ci0jaWYgRU5BQkxFKEhUVFBTX1VQR1JBREUpCi0KICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5j
bHVkZSA8V2ViQ29yZS9TUUxpdGVEYXRhYmFzZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvU1FMaXRl
U3RhdGVtZW50Lmg+CkBAIC0xMTMsNCArMTExLDMgQEAgdm9pZCBOZXR3b3JrSFRUUFNVcGdyYWRl
Q2hlY2tlcjo6cXVlcnkoU3RyaW5nJiYgaG9zdCwgUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELAog
CiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAotI2VuZGlmIC8vIEVOQUJMRShIVFRQU19VUEdSQURF
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrSFRUUFNV
cGdyYWRlQ2hlY2tlci5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrSFRU
UFNVcGdyYWRlQ2hlY2tlci5oCmluZGV4IGM2MzAzYTc2MTQwYjYwOGRjNTRhOGRhMmZkYTA5N2U0
ZTRiOWFkZjEuLjM4MzdlNjc3YjczMDVlNjVlMGQ1ZGM1ZDI5NDM4ZDlhMTU5NGM0OWUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0hUVFBTVXBncmFkZUNo
ZWNrZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtIVFRQU1Vw
Z3JhZGVDaGVja2VyLmgKQEAgLTI1LDggKzI1LDYgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpZiBF
TkFCTEUoSFRUUFNfVVBHUkFERSkKLQogI2luY2x1ZGUgPHd0Zi9VbmlxdWVSZWYuaD4KIAogbmFt
ZXNwYWNlIFdURiB7CkBAIC02NCw0ICs2MiwzIEBAIHByaXZhdGU6CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYktpdAogCi0jZW5kaWYgLy8gRU5BQkxFKEhUVFBTX1VQR1JBREUpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtMb2FkQ2hlY2tlci5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtMb2FkQ2hlY2tlci5jcHAKaW5kZXggMGYz
MDJkYzY4MTVlMmU5OGIwZDAzMmUzMmI2YzE3MWI1NGY1MzA2ZC4uODk1NzE0ZGIwZTFjODk5YmYw
N2NjNGY3Y2YyZDI2MjU0OGNiOTk3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrTG9hZENoZWNrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvTmV0d29ya0xvYWRDaGVja2VyLmNwcApAQCAtNDYsNyArNDYsNyBAQCBzdGF0aWMg
aW5saW5lIGJvb2wgaXNTYW1lT3JpZ2luKGNvbnN0IFVSTCYgdXJsLCBjb25zdCBTZWN1cml0eU9y
aWdpbiogb3JpZ2luKQogICAgIHJldHVybiB1cmwucHJvdG9jb2xJc0RhdGEoKSB8fCB1cmwucHJv
dG9jb2xJc0Jsb2IoKSB8fCAhb3JpZ2luIHx8IG9yaWdpbi0+Y2FuUmVxdWVzdCh1cmwpOwogfQog
Ci1OZXR3b3JrTG9hZENoZWNrZXI6Ok5ldHdvcmtMb2FkQ2hlY2tlcihGZXRjaE9wdGlvbnMmJiBv
cHRpb25zLCBQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIHVpbnQ2NF90IHBhZ2VJRCwgdWludDY0
X3QgZnJhbWVJRCwgSFRUUEhlYWRlck1hcCYmIG9yaWdpbmFsUmVxdWVzdEhlYWRlcnMsIFVSTCYm
IHVybCwgUmVmUHRyPFNlY3VyaXR5T3JpZ2luPiYmIHNvdXJjZU9yaWdpbiwgUHJlZmxpZ2h0UG9s
aWN5IHByZWZsaWdodFBvbGljeSwgU3RyaW5nJiYgcmVmZXJyZXIsIGJvb2wgc2hvdWxkQ2FwdHVy
ZUV4dHJhTmV0d29ya0xvYWRNZXRyaWNzLCBMb2FkVHlwZSByZXF1ZXN0TG9hZFR5cGUpCitOZXR3
b3JrTG9hZENoZWNrZXI6Ok5ldHdvcmtMb2FkQ2hlY2tlcihGZXRjaE9wdGlvbnMmJiBvcHRpb25z
LCBQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIHVpbnQ2NF90IHBhZ2VJRCwgdWludDY0X3QgZnJh
bWVJRCwgSFRUUEhlYWRlck1hcCYmIG9yaWdpbmFsUmVxdWVzdEhlYWRlcnMsIFVSTCYmIHVybCwg
UmVmUHRyPFNlY3VyaXR5T3JpZ2luPiYmIHNvdXJjZU9yaWdpbiwgUHJlZmxpZ2h0UG9saWN5IHBy
ZWZsaWdodFBvbGljeSwgYm9vbCBpc0hUVFBTVXBncmFkZUVuYWJsZWQsIFN0cmluZyYmIHJlZmVy
cmVyLCBib29sIHNob3VsZENhcHR1cmVFeHRyYU5ldHdvcmtMb2FkTWV0cmljcywgTG9hZFR5cGUg
cmVxdWVzdExvYWRUeXBlKQogICAgIDogbV9vcHRpb25zKFdURk1vdmUob3B0aW9ucykpCiAgICAg
LCBtX3Nlc3Npb25JRChzZXNzaW9uSUQpCiAgICAgLCBtX3BhZ2VJRChwYWdlSUQpCkBAIC01Nyw2
ICs1Nyw3IEBAIE5ldHdvcmtMb2FkQ2hlY2tlcjo6TmV0d29ya0xvYWRDaGVja2VyKEZldGNoT3B0
aW9ucyYmIG9wdGlvbnMsIFBBTDo6U2Vzc2lvbklEIHNlCiAgICAgLCBtX3ByZWZsaWdodFBvbGlj
eShwcmVmbGlnaHRQb2xpY3kpCiAgICAgLCBtX3JlZmVycmVyKFdURk1vdmUocmVmZXJyZXIpKQog
ICAgICwgbV9zaG91bGRDYXB0dXJlRXh0cmFOZXR3b3JrTG9hZE1ldHJpY3Moc2hvdWxkQ2FwdHVy
ZUV4dHJhTmV0d29ya0xvYWRNZXRyaWNzKQorICAgICwgbV9pc0hUVFBTVXBncmFkZUVuYWJsZWQo
aXNIVFRQU1VwZ3JhZGVFbmFibGVkKQogICAgICwgbV9yZXF1ZXN0TG9hZFR5cGUocmVxdWVzdExv
YWRUeXBlKQogewogICAgIG1faXNTYW1lT3JpZ2luUmVxdWVzdCA9IGlzU2FtZU9yaWdpbihtX3Vy
bCwgbV9vcmlnaW4uZ2V0KCkpOwpAQCAtMTkxLDEwICsxOTIsMTAgQEAgYXV0byBOZXR3b3JrTG9h
ZENoZWNrZXI6OmFjY2Vzc0NvbnRyb2xFcnJvckZvclZhbGlkYXRpb25IYW5kbGVyKFN0cmluZyYm
IG1lc3NhZ2UKICAgICByZXR1cm4gUmVzb3VyY2VFcnJvciB7IFN0cmluZyB7IH0sIDAsIG1fdXJs
LCBXVEZNb3ZlKG1lc3NhZ2UpLCBSZXNvdXJjZUVycm9yOjpUeXBlOjpBY2Nlc3NDb250cm9sIH07
CiB9CiAKLSNpZiBFTkFCTEUoSFRUUFNfVVBHUkFERSkKIHZvaWQgTmV0d29ya0xvYWRDaGVja2Vy
OjphcHBseUhUVFBTVXBncmFkZUlmTmVlZGVkKFJlc291cmNlUmVxdWVzdCYmIHJlcXVlc3QsIENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoUmVzb3VyY2VSZXF1ZXN0JiYpPiYmIGhhbmRsZXIpIGNvbnN0
CiB7Ci0gICAgaWYgKG1fcmVxdWVzdExvYWRUeXBlICE9IExvYWRUeXBlOjpNYWluRnJhbWUpIHsK
KyNpZiBQTEFURk9STShDT0NPQSkKKyAgICBpZiAoIW1faXNIVFRQU1VwZ3JhZGVFbmFibGVkIHx8
IG1fcmVxdWVzdExvYWRUeXBlICE9IExvYWRUeXBlOjpNYWluRnJhbWUpIHsKICAgICAgICAgaGFu
ZGxlcihXVEZNb3ZlKHJlcXVlc3QpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTIyNCwx
NiArMjI1LDE2IEBAIHZvaWQgTmV0d29ya0xvYWRDaGVja2VyOjphcHBseUhUVFBTVXBncmFkZUlm
TmVlZGVkKFJlc291cmNlUmVxdWVzdCYmIHJlcXVlc3QsIENvCiAKICAgICAgICAgaGFuZGxlcihX
VEZNb3ZlKHJlcXVlc3QpKTsKICAgICB9KTsKKyNlbHNlCisgICAgaGFuZGxlcihXVEZNb3ZlKHJl
cXVlc3QpKTsKKyNlbmRpZgogfQotI2VuZGlmIC8vIEVOQUJMRShIVFRQU19VUEdSQURFKQogCiB2
b2lkIE5ldHdvcmtMb2FkQ2hlY2tlcjo6Y2hlY2tSZXF1ZXN0KFJlc291cmNlUmVxdWVzdCYmIHJl
cXVlc3QsIENvbnRlbnRTZWN1cml0eVBvbGljeUNsaWVudCogY2xpZW50LCBWYWxpZGF0aW9uSGFu
ZGxlciYmIGhhbmRsZXIpCiB7CiAgICAgUmVzb3VyY2VSZXF1ZXN0IG9yaWdpbmFsUmVxdWVzdCA9
IHJlcXVlc3Q7CiAKLSNpZiBFTkFCTEUoSFRUUFNfVVBHUkFERSkKICAgICBhcHBseUhUVFBTVXBn
cmFkZUlmTmVlZGVkKFdURk1vdmUocmVxdWVzdCksIFt0aGlzLCBjbGllbnQsIGhhbmRsZXIgPSBX
VEZNb3ZlKGhhbmRsZXIpLCBvcmlnaW5hbFJlcXVlc3QgPSBXVEZNb3ZlKG9yaWdpbmFsUmVxdWVz
dCldKGF1dG8gcmVxdWVzdCkgbXV0YWJsZSB7Ci0jZW5kaWYgLy8gRU5BQkxFKEhUVFBTX1VQR1JB
REUpCiAKICAgICAgICAgaWYgKGF1dG8qIGNvbnRlbnRTZWN1cml0eVBvbGljeSA9IHRoaXMtPmNv
bnRlbnRTZWN1cml0eVBvbGljeSgpKSB7CiAgICAgICAgICAgICBpZiAoaXNSZWRpcmVjdGVkKCkp
IHsKQEAgLTI2MywxMSArMjY0LDcgQEAgdm9pZCBOZXR3b3JrTG9hZENoZWNrZXI6OmNoZWNrUmVx
dWVzdChSZXNvdXJjZVJlcXVlc3QmJiByZXF1ZXN0LCBDb250ZW50U2VjdXJpdHkKICNlbHNlCiAg
ICAgICAgIGNvbnRpbnVlQ2hlY2tpbmdSZXF1ZXN0T3JEb1N5bnRoZXRpY1JlZGlyZWN0KFdURk1v
dmUob3JpZ2luYWxSZXF1ZXN0KSwgV1RGTW92ZShyZXF1ZXN0KSwgV1RGTW92ZShoYW5kbGVyKSk7
CiAjZW5kaWYKLQotI2lmIEVOQUJMRShIVFRQU19VUEdSQURFKQogICAgIH0pOwotI2VuZGlmIC8v
IEVOQUJMRShIVFRQU19VUEdSQURFKQotCiB9CiAKIHZvaWQgTmV0d29ya0xvYWRDaGVja2VyOjpj
b250aW51ZUNoZWNraW5nUmVxdWVzdE9yRG9TeW50aGV0aWNSZWRpcmVjdChSZXNvdXJjZVJlcXVl
c3QmJiBvcmlnaW5hbFJlcXVlc3QsIFJlc291cmNlUmVxdWVzdCYmIGN1cnJlbnRSZXF1ZXN0LCBW
YWxpZGF0aW9uSGFuZGxlciYmIGhhbmRsZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL05ldHdvcmtMb2FkQ2hlY2tlci5oIGIvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrTG9hZENoZWNrZXIuaAppbmRleCAyODNmMjYyMjg4ZGIxNDVlZTY1NzM0
NWI4Y2RjNmE1MmEzNWQzNzU4Li5hNjdiOWI3MmQwNmI1MGY3MjZjMjU0MTkzMjIzOGU5NjJjMjUy
YzU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtMb2Fk
Q2hlY2tlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0xvYWRD
aGVja2VyLmgKQEAgLTUyLDcgKzUyLDcgQEAgY2xhc3MgTmV0d29ya0xvYWRDaGVja2VyIDogcHVi
bGljIENhbk1ha2VXZWFrUHRyPE5ldHdvcmtMb2FkQ2hlY2tlcj4gewogcHVibGljOgogICAgIGVu
dW0gY2xhc3MgTG9hZFR5cGUgOiBib29sIHsgTWFpbkZyYW1lLCBPdGhlciB9OwogCi0gICAgTmV0
d29ya0xvYWRDaGVja2VyKFdlYkNvcmU6OkZldGNoT3B0aW9ucyYmLCBQQUw6OlNlc3Npb25JRCwg
dWludDY0X3QgcGFnZUlELCB1aW50NjRfdCBmcmFtZUlELCBXZWJDb3JlOjpIVFRQSGVhZGVyTWFw
JiYsIFVSTCYmLCBSZWZQdHI8V2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4+JiYsIFdlYkNvcmU6OlBy
ZWZsaWdodFBvbGljeSwgU3RyaW5nJiYgcmVmZXJyZXIsIGJvb2wgc2hvdWxkQ2FwdHVyZUV4dHJh
TmV0d29ya0xvYWRNZXRyaWNzID0gZmFsc2UsIExvYWRUeXBlIHJlcXVlc3RMb2FkVHlwZSA9IExv
YWRUeXBlOjpPdGhlcik7CisgICAgTmV0d29ya0xvYWRDaGVja2VyKFdlYkNvcmU6OkZldGNoT3B0
aW9ucyYmLCBQQUw6OlNlc3Npb25JRCwgdWludDY0X3QgcGFnZUlELCB1aW50NjRfdCBmcmFtZUlE
LCBXZWJDb3JlOjpIVFRQSGVhZGVyTWFwJiYsIFVSTCYmLCBSZWZQdHI8V2ViQ29yZTo6U2VjdXJp
dHlPcmlnaW4+JiYsIFdlYkNvcmU6OlByZWZsaWdodFBvbGljeSwgYm9vbCBpc0hUVFBTVXBncmFk
ZUVuYWJsZWQsIFN0cmluZyYmIHJlZmVycmVyLCBib29sIHNob3VsZENhcHR1cmVFeHRyYU5ldHdv
cmtMb2FkTWV0cmljcyA9IGZhbHNlLCBMb2FkVHlwZSByZXF1ZXN0TG9hZFR5cGUgPSBMb2FkVHlw
ZTo6T3RoZXIpOwogICAgIH5OZXR3b3JrTG9hZENoZWNrZXIoKTsKIAogICAgIHN0cnVjdCBSZWRp
cmVjdGlvblRyaXBsZXQgewpAQCAtMTE5LDkgKzExOSw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBw
cm9jZXNzQ29udGVudEV4dGVuc2lvblJ1bGVzRm9yTG9hZChXZWJDb3JlOjpSZXNvdXJjZVJlcXVl
c3QmJiwgQ29udGVudEV4dGVuc2lvbkNhbGxiYWNrJiYpOwogI2VuZGlmCiAKLSNpZiBFTkFCTEUo
SFRUUFNfVVBHUkFERSkKICAgICB2b2lkIGFwcGx5SFRUUFNVcGdyYWRlSWZOZWVkZWQoV2ViQ29y
ZTo6UmVzb3VyY2VSZXF1ZXN0JiYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6UmVz
b3VyY2VSZXF1ZXN0JiYpPiYmKSBjb25zdDsKLSNlbmRpZiAvLyBFTkFCTEUoSFRUUFNfVVBHUkFE
RSkKIAogICAgIFdlYkNvcmU6OkZldGNoT3B0aW9ucyBtX29wdGlvbnM7CiAgICAgV2ViQ29yZTo6
U3RvcmVkQ3JlZGVudGlhbHNQb2xpY3kgbV9zdG9yZWRDcmVkZW50aWFsc1BvbGljeTsKQEAgLTE0
OSw2ICsxNDcsNyBAQCBwcml2YXRlOgogICAgIFN0cmluZyBtX3JlZmVycmVyOwogICAgIGJvb2wg
bV9jaGVja0NvbnRlbnRFeHRlbnNpb25zIHsgZmFsc2UgfTsKICAgICBib29sIG1fc2hvdWxkQ2Fw
dHVyZUV4dHJhTmV0d29ya0xvYWRNZXRyaWNzIHsgZmFsc2UgfTsKKyAgICBib29sIG1faXNIVFRQ
U1VwZ3JhZGVFbmFibGVkIHsgZmFsc2UgfTsKICAgICBXZWJDb3JlOjpOZXR3b3JrTG9hZEluZm9y
bWF0aW9uIG1fbG9hZEluZm9ybWF0aW9uOwogCiAgICAgTG9hZFR5cGUgbV9yZXF1ZXN0TG9hZFR5
cGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9j
ZXNzLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKaW5k
ZXggZTk0ODcxMDI4N2VkNjlkMTFjMjIyZWU0ZWMzNTg4ZGZlYzlhMmY3Yy4uODRiMmFjZjEzZGRj
NTVlYWI1MTJkZTBmYTQ5MjgzMTM4MjdkMzU4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaApAQCAtMjA1LDkgKzIwNSw5IEBAIHB1YmxpYzoKICAg
ICBib29sIHBhcmVudFByb2Nlc3NIYXNTZXJ2aWNlV29ya2VyRW50aXRsZW1lbnQoKSBjb25zdCB7
IHJldHVybiB0cnVlOyB9CiAjZW5kaWYKIAotI2lmIEVOQUJMRShIVFRQU19VUEdSQURFKQotICAg
IE5ldHdvcmtIVFRQU1VwZ3JhZGVDaGVja2VyJiBuZXR3b3JrSFRUUFNVcGdyYWRlQ2hlY2tlcigp
IHsgcmV0dXJuIG1fbmV0d29ya0hUVFBTVXBncmFkZUNoZWNrZXI7IH07Ci0jZW5kaWYgLy8gRU5B
QkxFKEhUVFBTX1VQR1JBREUpCisjaWYgUExBVEZPUk0oQ09DT0EpCisgICAgTmV0d29ya0hUVFBT
VXBncmFkZUNoZWNrZXImIG5ldHdvcmtIVFRQU1VwZ3JhZGVDaGVja2VyKCkgeyByZXR1cm4gbV9u
ZXR3b3JrSFRUUFNVcGdyYWRlQ2hlY2tlcjsgfQorI2VuZGlmCiAKIHByaXZhdGU6CiAgICAgTmV0
d29ya1Byb2Nlc3MoKTsKQEAgLTM5OCw5ICszOTgsOSBAQCBwcml2YXRlOgogICAgIEhhc2hNYXA8
V2ViQ29yZTo6U1dTZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmllciwgV2ViU1dTZXJ2ZXJDb25uZWN0
aW9uKj4gbV9zd1NlcnZlckNvbm5lY3Rpb25zOwogI2VuZGlmCiAKLSNpZiBFTkFCTEUoSFRUUFNf
VVBHUkFERSkKKyNpZiBQTEFURk9STShDT0NPQSkKICAgICBOZXR3b3JrSFRUUFNVcGdyYWRlQ2hl
Y2tlciBtX25ldHdvcmtIVFRQU1VwZ3JhZGVDaGVja2VyOwotI2VuZGlmIC8vIEVOQUJMRShIVFRQ
U19VUEdSQURFKQorI2VuZGlmCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZFBhcmFt
ZXRlcnMuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VM
b2FkUGFyYW1ldGVycy5jcHAKaW5kZXggMGNmZWVhNWNjZDA2M2ZjYTdmNjEwYWI2YzlkNWIxZDJj
MmJkOWVmYy4uODBiNzBhYWFiMjI3OTEwN2NlMGJkYTY3YTZlY2EyMTA3NWEyYmVkYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkUGFy
YW1ldGVycy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVz
b3VyY2VMb2FkUGFyYW1ldGVycy5jcHAKQEAgLTk0LDYgKzk0LDcgQEAgdm9pZCBOZXR3b3JrUmVz
b3VyY2VMb2FkUGFyYW1ldGVyczo6ZW5jb2RlKElQQzo6RW5jb2RlciYgZW5jb2RlcikgY29uc3QK
ICAgICBlbmNvZGVyIDw8IHNob3VsZEVuYWJsZUNyb3NzT3JpZ2luUmVzb3VyY2VQb2xpY3k7CiAK
ICAgICBlbmNvZGVyIDw8IGZyYW1lQW5jZXN0b3JPcmlnaW5zOworICAgIGVuY29kZXIgPDwgaXNI
VFRQU1VwZ3JhZGVFbmFibGVkOwogCiAjaWYgRU5BQkxFKENPTlRFTlRfRVhURU5TSU9OUykKICAg
ICBlbmNvZGVyIDw8IG1haW5Eb2N1bWVudFVSTDsKQEAgLTIwNCw2ICsyMDUsMTIgQEAgYm9vbCBO
ZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVyczo6ZGVjb2RlKElQQzo6RGVjb2RlciYgZGVjb2Rl
ciwgTmV0d29ya1Jlc291cmMKIAogICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0LmZyYW1l
QW5jZXN0b3JPcmlnaW5zKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgT3B0aW9uYWw8
Ym9vbD4gaXNIVFRQU1VwZ3JhZGVFbmFibGVkOworICAgIGRlY29kZXIgPj4gaXNIVFRQU1VwZ3Jh
ZGVFbmFibGVkOworICAgIGlmICghaXNIVFRQU1VwZ3JhZGVFbmFibGVkKQorICAgICAgICByZXR1
cm4gZmFsc2U7CisgICAgcmVzdWx0LmlzSFRUUFNVcGdyYWRlRW5hYmxlZCA9ICppc0hUVFBTVXBn
cmFkZUVuYWJsZWQ7CiAgICAgCiAjaWYgRU5BQkxFKENPTlRFTlRfRVhURU5TSU9OUykKICAgICBp
ZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5tYWluRG9jdW1lbnRVUkwpKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVy
cy5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkUGFy
YW1ldGVycy5oCmluZGV4IDEzMjcxMGZjZTBhNWNiZDlhODBlNjJkZGI5OGZmNDQzNWFlMWEzYzUu
LmIwNWZmODAzZjE3MTkwYWRlMzE5Y2RhMDYzZGEwMzE0MDZlNGYzNzYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRQ
YXJhbWV0ZXJzLmgKQEAgLTU5LDYgKzU5LDcgQEAgcHVibGljOgogICAgIFdlYkNvcmU6OlByZWZs
aWdodFBvbGljeSBwcmVmbGlnaHRQb2xpY3kgeyBXZWJDb3JlOjpQcmVmbGlnaHRQb2xpY3k6OkNv
bnNpZGVyIH07CiAgICAgYm9vbCBzaG91bGRFbmFibGVDcm9zc09yaWdpblJlc291cmNlUG9saWN5
IHsgZmFsc2UgfTsKICAgICBWZWN0b3I8UmVmUHRyPFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luPj4g
ZnJhbWVBbmNlc3Rvck9yaWdpbnM7CisgICAgYm9vbCBpc0hUVFBTVXBncmFkZUVuYWJsZWQgeyBm
YWxzZSB9OwogCiAjaWYgRU5BQkxFKENPTlRFTlRfRVhURU5TSU9OUykKICAgICBVUkwgbWFpbkRv
Y3VtZW50VVJMOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IDc3ZmE4ZWEyOWQ2NWJhMTZkYWUwY2Q4ZTM1YzIy
ZTZmOTk0YjlkN2YuLjk5NzAwMWFiOTMyZjNmMDFkMDE5M2U1NmYwYzkyMWI5ZmYxYjNiZjggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9h
ZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJj
ZUxvYWRlci5jcHAKQEAgLTExMiw3ICsxMTIsNyBAQCBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6Ok5l
dHdvcmtSZXNvdXJjZUxvYWRlcihOZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycyYmIHBhcgog
CiAgICAgaWYgKHN5bmNocm9ub3VzUmVwbHkgfHwgcGFyYW1ldGVycy5zaG91bGRSZXN0cmljdEhU
VFBSZXNwb25zZUFjY2VzcykgewogICAgICAgICBOZXR3b3JrTG9hZENoZWNrZXI6OkxvYWRUeXBl
IHJlcXVlc3RMb2FkVHlwZSA9IGlzTWFpbkZyYW1lTG9hZCgpID8gTmV0d29ya0xvYWRDaGVja2Vy
OjpMb2FkVHlwZTo6TWFpbkZyYW1lIDogTmV0d29ya0xvYWRDaGVja2VyOjpMb2FkVHlwZTo6T3Ro
ZXI7Ci0gICAgICAgIG1fbmV0d29ya0xvYWRDaGVja2VyID0gc3RkOjptYWtlX3VuaXF1ZTxOZXR3
b3JrTG9hZENoZWNrZXI+KEZldGNoT3B0aW9ucyB7IG1fcGFyYW1ldGVycy5vcHRpb25zIH0sIG1f
cGFyYW1ldGVycy5zZXNzaW9uSUQsIG1fcGFyYW1ldGVycy53ZWJQYWdlSUQsIG1fcGFyYW1ldGVy
cy53ZWJGcmFtZUlELCBIVFRQSGVhZGVyTWFwIHsgbV9wYXJhbWV0ZXJzLm9yaWdpbmFsUmVxdWVz
dEhlYWRlcnMgfSwgVVJMIHsgbV9wYXJhbWV0ZXJzLnJlcXVlc3QudXJsKCkgfSwgbV9wYXJhbWV0
ZXJzLnNvdXJjZU9yaWdpbi5jb3B5UmVmKCksIG1fcGFyYW1ldGVycy5wcmVmbGlnaHRQb2xpY3ks
IG9yaWdpbmFsUmVxdWVzdCgpLmh0dHBSZWZlcnJlcigpLCBzaG91bGRDYXB0dXJlRXh0cmFOZXR3
b3JrTG9hZE1ldHJpY3MoKSwgcmVxdWVzdExvYWRUeXBlKTsKKyAgICAgICAgbV9uZXR3b3JrTG9h
ZENoZWNrZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPE5ldHdvcmtMb2FkQ2hlY2tlcj4oRmV0Y2hPcHRp
b25zIHsgbV9wYXJhbWV0ZXJzLm9wdGlvbnMgfSwgbV9wYXJhbWV0ZXJzLnNlc3Npb25JRCwgbV9w
YXJhbWV0ZXJzLndlYlBhZ2VJRCwgbV9wYXJhbWV0ZXJzLndlYkZyYW1lSUQsIEhUVFBIZWFkZXJN
YXAgeyBtX3BhcmFtZXRlcnMub3JpZ2luYWxSZXF1ZXN0SGVhZGVycyB9LCBVUkwgeyBtX3BhcmFt
ZXRlcnMucmVxdWVzdC51cmwoKSB9LCBtX3BhcmFtZXRlcnMuc291cmNlT3JpZ2luLmNvcHlSZWYo
KSwgbV9wYXJhbWV0ZXJzLnByZWZsaWdodFBvbGljeSwgbV9wYXJhbWV0ZXJzLmlzSFRUUFNVcGdy
YWRlRW5hYmxlZCwgb3JpZ2luYWxSZXF1ZXN0KCkuaHR0cFJlZmVycmVyKCksIHNob3VsZENhcHR1
cmVFeHRyYU5ldHdvcmtMb2FkTWV0cmljcygpLCByZXF1ZXN0TG9hZFR5cGUpOwogICAgICAgICBp
ZiAobV9wYXJhbWV0ZXJzLmNzcFJlc3BvbnNlSGVhZGVycykKICAgICAgICAgICAgIG1fbmV0d29y
a0xvYWRDaGVja2VyLT5zZXRDU1BSZXNwb25zZUhlYWRlcnMoQ29udGVudFNlY3VyaXR5UG9saWN5
UmVzcG9uc2VIZWFkZXJzIHsgbV9wYXJhbWV0ZXJzLmNzcFJlc3BvbnNlSGVhZGVycy52YWx1ZSgp
IH0pOwogI2lmIEVOQUJMRShDT05URU5UX0VYVEVOU0lPTlMpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL1BpbmdMb2FkLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvUGluZ0xvYWQuY3BwCmluZGV4IGNhMDE1ZWZhYzM0MmU3MzQxNDRkMTU0YTVkZTk1
YTEzYmM5NjI3ZDYuLjE3MTNhNWFhNTE2YjMxMzgwZmY5OGUzNmMyMDM2YzVkNjMxZDBjZWMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvUGluZ0xvYWQuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvUGluZ0xvYWQuY3BwCkBAIC00Myw3ICs0Myw3
IEBAIFBpbmdMb2FkOjpQaW5nTG9hZChOZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycyYmIHBh
cmFtZXRlcnMsIENvbXBsZXRpb25IYW5kbGVyCiAgICAgOiBtX3BhcmFtZXRlcnMoV1RGTW92ZShw
YXJhbWV0ZXJzKSkKICAgICAsIG1fY29tcGxldGlvbkhhbmRsZXIoV1RGTW92ZShjb21wbGV0aW9u
SGFuZGxlcikpCiAgICAgLCBtX3RpbWVvdXRUaW1lcigqdGhpcywgJlBpbmdMb2FkOjp0aW1lb3V0
VGltZXJGaXJlZCkKLSAgICAsIG1fbmV0d29ya0xvYWRDaGVja2VyKG1ha2VVbmlxdWVSZWY8TmV0
d29ya0xvYWRDaGVja2VyPihGZXRjaE9wdGlvbnMgeyBtX3BhcmFtZXRlcnMub3B0aW9uc30sIG1f
cGFyYW1ldGVycy5zZXNzaW9uSUQsIG1fcGFyYW1ldGVycy53ZWJQYWdlSUQsIG1fcGFyYW1ldGVy
cy53ZWJGcmFtZUlELCBXVEZNb3ZlKG1fcGFyYW1ldGVycy5vcmlnaW5hbFJlcXVlc3RIZWFkZXJz
KSwgVVJMIHsgbV9wYXJhbWV0ZXJzLnJlcXVlc3QudXJsKCkgfSwgbV9wYXJhbWV0ZXJzLnNvdXJj
ZU9yaWdpbi5jb3B5UmVmKCksIG1fcGFyYW1ldGVycy5wcmVmbGlnaHRQb2xpY3ksIG1fcGFyYW1l
dGVycy5yZXF1ZXN0Lmh0dHBSZWZlcnJlcigpKSkKKyAgICAsIG1fbmV0d29ya0xvYWRDaGVja2Vy
KG1ha2VVbmlxdWVSZWY8TmV0d29ya0xvYWRDaGVja2VyPihGZXRjaE9wdGlvbnMgeyBtX3BhcmFt
ZXRlcnMub3B0aW9uc30sIG1fcGFyYW1ldGVycy5zZXNzaW9uSUQsIG1fcGFyYW1ldGVycy53ZWJQ
YWdlSUQsIG1fcGFyYW1ldGVycy53ZWJGcmFtZUlELCBXVEZNb3ZlKG1fcGFyYW1ldGVycy5vcmln
aW5hbFJlcXVlc3RIZWFkZXJzKSwgVVJMIHsgbV9wYXJhbWV0ZXJzLnJlcXVlc3QudXJsKCkgfSwg
bV9wYXJhbWV0ZXJzLnNvdXJjZU9yaWdpbi5jb3B5UmVmKCksIG1fcGFyYW1ldGVycy5wcmVmbGln
aHRQb2xpY3ksIGZhbHNlLCBtX3BhcmFtZXRlcnMucmVxdWVzdC5odHRwUmVmZXJyZXIoKSkpCiB7
CiAgICAgbV9uZXR3b3JrTG9hZENoZWNrZXItPmVuYWJsZUNvbnRlbnRFeHRlbnNpb25zQ2hlY2so
KTsKICAgICBpZiAobV9wYXJhbWV0ZXJzLmNzcFJlc3BvbnNlSGVhZGVycykKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwgYi9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCmluZGV4IDA3N2JkZTM1ZWE1NjJlYzM0M2VjZTBj
YjUyMDVjYTllMWRiMTAwMGUuLmY4NTY1NjhhMDY0NzIxZjg1MmIzMzBmNDRlMTFkZDlmOTc2NmI1
NGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwK
KysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbApAQCAtMzUsNiAr
MzUsMTMgQEAgUGx1Z2luc0VuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKICAgZGVmYXVsdFZhbHVlOiBm
YWxzZQogCitIVFRQU1VwZ3JhZGVFbmFibGVkOgorICAgdHlwZTogYm9vbAorICAgZGVmYXVsdFZh
bHVlOiBmYWxzZQorICAgaHVtYW5SZWFkYWJsZU5hbWU6ICJBdXRvbWF0aWMgSFRUUFMgdXBncmFk
ZSIKKyAgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkF1dG9tYXRpYyBIVFRQUyB1cGdyYWRl
IGZvciBzaXRlcyB0aGF0IHN1cHBvcnQgaXQiCisgICBjYXRlZ29yeTogZXhwZXJpbWVudGFsCisK
IEphdmFFbmFibGVkOgogICB0eXBlOiBib29sCiAgIGRlZmF1bHRWYWx1ZTogZmFsc2UKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5
LmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5
LmNwcAppbmRleCAxNjIzYjIwMDkwOGJlMjBhMjZkOTBmMjEwMmEwYTg1ZTY2N2EzMzc5Li44NGMx
MmEwNGE2ODIxNWI0MTE4OWYzNmQ1ZjAxNzNiMzI2NWMyYzViIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJMb2FkZXJTdHJhdGVneS5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3kuY3BwCkBAIC0y
NzUsNiArMjc1LDcgQEAgdm9pZCBXZWJMb2FkZXJTdHJhdGVneTo6c2NoZWR1bGVMb2FkRnJvbU5l
dHdvcmtQcm9jZXNzKFJlc291cmNlTG9hZGVyJiByZXNvdXJjZUwKICAgICBsb2FkUGFyYW1ldGVy
cy5tYXhpbXVtQnVmZmVyaW5nVGltZSA9IG1heGltdW1CdWZmZXJpbmdUaW1lOwogICAgIGxvYWRQ
YXJhbWV0ZXJzLm9wdGlvbnMgPSByZXNvdXJjZUxvYWRlci5vcHRpb25zKCk7CiAgICAgbG9hZFBh
cmFtZXRlcnMucHJlZmxpZ2h0UG9saWN5ID0gcmVzb3VyY2VMb2FkZXIub3B0aW9ucygpLnByZWZs
aWdodFBvbGljeTsKKyAgICBsb2FkUGFyYW1ldGVycy5pc0hUVFBTVXBncmFkZUVuYWJsZWQgPSBy
ZXNvdXJjZUxvYWRlci5mcmFtZSgpID8gcmVzb3VyY2VMb2FkZXIuZnJhbWUoKS0+c2V0dGluZ3Mo
KS5IVFRQU1VwZ3JhZGVFbmFibGVkKCkgOiBmYWxzZTsKIAogICAgIGF1dG8qIGRvY3VtZW50ID0g
cmVzb3VyY2VMb2FkZXIuZnJhbWUoKSA/IHJlc291cmNlTG9hZGVyLmZyYW1lKCktPmRvY3VtZW50
KCkgOiBudWxscHRyOwogICAgIGlmIChyZXNvdXJjZUxvYWRlci5vcHRpb25zKCkuY3NwUmVzcG9u
c2VIZWFkZXJzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jb25maWcuaCBiL1NvdXJjZS9X
ZWJLaXQvY29uZmlnLmgKaW5kZXggMDdkMGQ4YTllMzE3OTY5MDIwZjI2YzY5MTllZGM4ZjUwNjZl
YzgyNS4uZDllOGQ2OTk1MWFhM2U3MWE2MGQ2ODUxZTY1NWQ3MDBlNzFlOGQ3MSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9jb25maWcuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2NvbmZpZy5oCkBA
IC03OSw2ICs3OSwzIEBACiAjZW5kaWYKICNlbmRpZgogCi0jaWZuZGVmIEVOQUJMRV9IVFRQU19V
UEdSQURFCi0jZGVmaW5lIEVOQUJMRV9IVFRQU19VUEdSQURFIDAKLSNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>357827</attachid>
            <date>2018-12-20 10:03:26 -0800</date>
            <delta_ts>2018-12-20 10:34:14 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-192937-20181220100325.patch</filename>
            <type>text/plain</type>
            <size>21016</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM5NDQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmFiOTExZmRmN2NiMzQ0
NmU1NmFmYThmNDlmZGJjY2Q1Mzg1OTM1Ni4uNDFlMmYzYzg2YWViNWI1ZWE0ZjMxYWVlOWFlODll
NzI5ZWNlNWMzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE4LTEyLTIwICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgTW92ZSBIVFRQU19VUEdSQURF
IGNvZGUgYmVoaW5kIGEgcnVudGltZSBmbGFnLCBvZmYgYnkgZGVmYXVsdAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkyOTM3CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTW92ZSBIVFRQU19VUEdSQURFIGNv
ZGUgYmVoaW5kIGEgcnVudGltZSBmbGFnLCBvZmYgYnkgZGVmYXVsdCBhbmQgZHJvcCB0aGUgYnVp
bGQgdGltZSBmbGFnLgorCisgICAgICAgICogcGFnZS9TZXR0aW5ncy55YW1sOgorCiAyMDE4LTEy
LTE5ICBNaWNoYWVsIENhdGFuemFybyAgPG1jYXRhbnphcm9AaWdhbGlhLmNvbT4KIAogICAgICAg
ICBVbnJldmlld2VkLCBmaXggR1RLIGJ1aWxkIGFmdGVyIHIyMzk0MTAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggNTll
MjNmYjZkYjlhMTdiNzNkODJlODA3NjBjZGE3N2M2YjYxNWFkZC4uZDIxZTFhZTRkOGNjZTljZGQ1
ZWEyMzdlMDQ5ODUxY2E3Y2RlYmVjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNSBAQAorMjAxOC0x
Mi0yMCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIE1vdmUgSFRU
UFNfVVBHUkFERSBjb2RlIGJlaGluZCBhIHJ1bnRpbWUgZmxhZywgb2ZmIGJ5IGRlZmF1bHQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MjkzNworCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1vdmUgSFRUUFNf
VVBHUkFERSBjb2RlIGJlaGluZCBhIHJ1bnRpbWUgZmxhZywgb2ZmIGJ5IGRlZmF1bHQgYW5kIGRy
b3AgdGhlIGJ1aWxkIHRpbWUgZmxhZy4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL1dlYktp
dC54Y2NvbmZpZzoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIE5l
dHdvcmtQcm9jZXNzL05ldHdvcmtIVFRQU1VwZ3JhZGVDaGVja2VyLmNwcDoKKyAgICAgICAgKiBO
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrSFRUUFNVcGdyYWRlQ2hlY2tlci5oOgorICAgICAgICAqIE5l
dHdvcmtQcm9jZXNzL05ldHdvcmtMb2FkQ2hlY2tlci5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5l
dHdvcmtMb2FkQ2hlY2tlcjo6TmV0d29ya0xvYWRDaGVja2VyKToKKyAgICAgICAgKFdlYktpdDo6
TmV0d29ya0xvYWRDaGVja2VyOjphcHBseUhUVFBTVXBncmFkZUlmTmVlZGVkIGNvbnN0KToKKyAg
ICAgICAgKFdlYktpdDo6TmV0d29ya0xvYWRDaGVja2VyOjpjaGVja1JlcXVlc3QpOgorICAgICAg
ICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtMb2FkQ2hlY2tlci5oOgorICAgICAgICAqIE5ldHdv
cmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmg6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9j
ZXNzOjpuZXR3b3JrSFRUUFNVcGdyYWRlQ2hlY2tlcik6CisgICAgICAgICogTmV0d29ya1Byb2Nl
c3MvTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMuY3BwOgorICAgICAgICAoV2ViS2l0OjpO
ZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVyczo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdl
YktpdDo6TmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnM6OmRlY29kZSk6CisgICAgICAgICog
TmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMuaDoKKyAgICAgICAg
KiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAqIE5l
dHdvcmtQcm9jZXNzL1BpbmdMb2FkLmNwcDoKKyAgICAgICAgKFdlYktpdDo6UGluZ0xvYWQ6OlBp
bmdMb2FkKToKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbDoKKyAgICAgICAg
KiBXZWJQcm9jZXNzL05ldHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3kuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJMb2FkZXJTdHJhdGVneTo6c2NoZWR1bGVMb2FkRnJvbU5ldHdvcmtQcm9jZXNzKToK
KyAgICAgICAgKiBjb25maWcuaDoKKwogMjAxOC0xMi0yMCAgV2Vuc29uIEhzaWVoICA8d2Vuc29u
X2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9TXSBGb2N1c2luZyBhbiBlZGl0YWJsZSBl
bGVtZW50IHNob3VsZCBzY3JvbGwgdG8gcmV2ZWFsIHRoZSBzZWxlY3Rpb24KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MueWFtbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
U2V0dGluZ3MueWFtbAppbmRleCBhNzk3MTkzODZiM2MyY2Y5MzQ1ZjU4MDZiZGFjMDNiZjU3NDNh
MTlhLi5jYjI5ZWFjM2VmZmQ0YjkwYWNjZTI4ZTU4NDU5MDJkY2FmOGQ3YzVhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLnlhbWwKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9TZXR0aW5ncy55YW1sCkBAIC0zMjksNiArMzI5LDkgQEAgd2FudHNCYWxhbmNlZFNldERl
ZmVyc0xvYWRpbmdCZWhhdmlvcjoKIHJlcXVlc3RBbmltYXRpb25GcmFtZUVuYWJsZWQ6CiAgIGlu
aXRpYWw6IHRydWUKIAorSFRUUFNVcGdyYWRlRW5hYmxlZDoKKyAgaW5pdGlhbDogZmFsc2UKKwog
Y29va2llRW5hYmxlZDoKICAgaW5pdGlhbDogdHJ1ZQogbWVkaWFFbmFibGVkOgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9XZWJLaXQueGNjb25maWcgYi9Tb3VyY2Uv
V2ViS2l0L0NvbmZpZ3VyYXRpb25zL1dlYktpdC54Y2NvbmZpZwppbmRleCAyNDUzNjg0ZWIyZjE1
YjIyZjkwYjAxMmY0NTI5NmVjYjkwNzhjMTM3Li5mMjMxOGVjNGU5YWZmNmZkOGJiOWRjZjQ3NDIw
YzFlZTY4Y2VmZjJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL1dl
YktpdC54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL1dlYktpdC54
Y2NvbmZpZwpAQCAtMTUxLDExICsxNTEsOCBAQCBTRUNUT1JERVJfRkxBR1MgPSAkKFNFQ1RPUkRF
Ul9GTEFHU18kKENPTkZJR1VSQVRJT04pKTsKIFNFQ1RPUkRFUl9GTEFHU19Qcm9kdWN0aW9uW3Nk
az1pcGhvbmVvcypdID0gLVdsLC1vcmRlcl9maWxlLCQoU0RLUk9PVCkvQXBwbGVJbnRlcm5hbC9P
cmRlckZpbGVzL1dlYktpdC5vcmRlcjsKIFNFQ1RPUkRFUl9GTEFHU19Qcm9kdWN0aW9uW3Nkaz1t
YWNvc3gqXSA9IC1XbCwtb3JkZXJfZmlsZSxtYWMvV2ViS2l0Mi5vcmRlcjsKIAotV0tfRVhDTFVE
RURfSFRUUFNfVVBHUkFERV9GSUxFID0gJChXS19FWENMVURFRF9IVFRQU19VUEdSQURFX0ZJTEVf
JChFTkFCTEVfSFRUUFNfVVBHUkFERSkpOwotV0tfRVhDTFVERURfSFRUUFNfVVBHUkFERV9GSUxF
XyA9IEhUVFBTVXBncmFkZUxpc3QuZGI7Ci0KLUVYQ0xVREVEX1NPVVJDRV9GSUxFX05BTUVTID0g
UmVzb3VyY2VzL2lvcy8qICQoV0tfRVhDTFVERURfSFRUUFNfVVBHUkFERV9GSUxFKTsKLUVYQ0xV
REVEX1NPVVJDRV9GSUxFX05BTUVTW3Nkaz1pcGhvbmUqXSA9IFBsdWdpblByb2Nlc3NTaGltLmR5
bGliIFNlY0l0ZW1TaGltLmR5bGliIFdlYlByb2Nlc3NTaGltLmR5bGliICoucGRmIFJlc291cmNl
cy9tYWMvKiBjb20uYXBwbGUuV2ViS2l0Lk5ldHdvcmtQcm9jZXNzLnNiIGNvbS5hcHBsZS5XZWJQ
cm9jZXNzLnNiIGNvbS5hcHBsZS5XZWJLaXQucGx1Z2luLWNvbW1vbi5zYiBQbHVnSW5TYW5kYm94
UHJvZmlsZXMvKi5zYiAkKFdLX0VYQ0xVREVEX0hUVFBTX1VQR1JBREVfRklMRSk7CitFWENMVURF
RF9TT1VSQ0VfRklMRV9OQU1FUyA9IFJlc291cmNlcy9pb3MvKjsKK0VYQ0xVREVEX1NPVVJDRV9G
SUxFX05BTUVTW3Nkaz1pcGhvbmUqXSA9IFBsdWdpblByb2Nlc3NTaGltLmR5bGliIFNlY0l0ZW1T
aGltLmR5bGliIFdlYlByb2Nlc3NTaGltLmR5bGliICoucGRmIFJlc291cmNlcy9tYWMvKiBjb20u
YXBwbGUuV2ViS2l0Lk5ldHdvcmtQcm9jZXNzLnNiIGNvbS5hcHBsZS5XZWJQcm9jZXNzLnNiIGNv
bS5hcHBsZS5XZWJLaXQucGx1Z2luLWNvbW1vbi5zYiBQbHVnSW5TYW5kYm94UHJvZmlsZXMvKi5z
YjsKIAogSU5TVEFMTEhEUlNfU0NSSVBUX1BIQVNFID0gWUVTOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3Vy
Y2VzLm1ha2UKaW5kZXggMmZkZTU1NTBjZjRkNzBhZGMwOWRlZjM1N2E5ODc4MjI3M2U1NTQ3Mi4u
ZWZhYTBlMWNkZjM5Mzk4MTA3ZDYwZjRkZDU4M2U3ZDcxNjg5MTc1ZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJLaXQvRGVyaXZl
ZFNvdXJjZXMubWFrZQpAQCAtMzE2LDggKzMxNiw2IEBAICQoV0VCX1BSRUZFUkVOQ0VTX0NPTUJJ
TkVEX0lOUFVUX0ZJTEUpIDogJChXRUJfUFJFRkVSRU5DRVNfSU5QVVRfRklMRVMpCiAkKFdFQl9Q
UkVGRVJFTkNFU19QQVRURVJOUykgOiAkKFdlYktpdDIpL1NjcmlwdHMvR2VuZXJhdGVQcmVmZXJl
bmNlcy5yYiAkKFdFQl9QUkVGRVJFTkNFU19URU1QTEFURVMpICQoV0VCX1BSRUZFUkVOQ0VTX0NP
TUJJTkVEX0lOUFVUX0ZJTEUpCiAJJChSVUJZKSAkPCAtLWlucHV0ICQoV0VCX1BSRUZFUkVOQ0VT
X0NPTUJJTkVEX0lOUFVUX0ZJTEUpCiAKLWlmZXEgKCQoRU5BQkxFX0hUVFBTX1VQR1JBREUpLEVO
QUJMRV9IVFRQU19VUEdSQURFKQogYWxsIDogSFRUUFNVcGdyYWRlTGlzdC5kYgogSFRUUFNVcGdy
YWRlTGlzdC5kYiA6IEhUVFBTVXBncmFkZUxpc3QudHh0ICQoV2ViS2l0MikvU2NyaXB0cy9nZW5l
cmF0ZS1odHRwcy11cGdyYWRlLWRhdGFiYXNlLnNoCiAJc2ggJChXZWJLaXQyKS9TY3JpcHRzL2dl
bmVyYXRlLWh0dHBzLXVwZ3JhZGUtZGF0YWJhc2Uuc2ggJDwgJEAKLWVuZGlmICMgRU5BQkxFX0hU
VFBTX1VQR1JBREUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0
d29ya0hUVFBTVXBncmFkZUNoZWNrZXIuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrSFRUUFNVcGdyYWRlQ2hlY2tlci5jcHAKaW5kZXggNzNiNDZjMDlmNmJmZGI1Nzg2
ZjY4NWFlNDZkNTRhMzM1OWMwODljYS4uNzJkYThmMjdmOTUxZTdlMWUyOWY3MmIxYjRjNGIwOTAz
NTMwM2IzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3Jr
SFRUUFNVcGdyYWRlQ2hlY2tlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrSFRUUFNVcGdyYWRlQ2hlY2tlci5jcHAKQEAgLTI2LDggKzI2LDYgQEAKICNpbmNs
dWRlICJjb25maWcuaCIKICNpbmNsdWRlICJOZXR3b3JrSFRUUFNVcGdyYWRlQ2hlY2tlci5oIgog
Ci0jaWYgRU5BQkxFKEhUVFBTX1VQR1JBREUpCi0KICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5j
bHVkZSA8V2ViQ29yZS9TUUxpdGVEYXRhYmFzZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvU1FMaXRl
U3RhdGVtZW50Lmg+CkBAIC0xMTMsNCArMTExLDMgQEAgdm9pZCBOZXR3b3JrSFRUUFNVcGdyYWRl
Q2hlY2tlcjo6cXVlcnkoU3RyaW5nJiYgaG9zdCwgUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELAog
CiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAotI2VuZGlmIC8vIEVOQUJMRShIVFRQU19VUEdSQURF
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrSFRUUFNV
cGdyYWRlQ2hlY2tlci5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrSFRU
UFNVcGdyYWRlQ2hlY2tlci5oCmluZGV4IGM2MzAzYTc2MTQwYjYwOGRjNTRhOGRhMmZkYTA5N2U0
ZTRiOWFkZjEuLjM4MzdlNjc3YjczMDVlNjVlMGQ1ZGM1ZDI5NDM4ZDlhMTU5NGM0OWUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0hUVFBTVXBncmFkZUNo
ZWNrZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtIVFRQU1Vw
Z3JhZGVDaGVja2VyLmgKQEAgLTI1LDggKzI1LDYgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpZiBF
TkFCTEUoSFRUUFNfVVBHUkFERSkKLQogI2luY2x1ZGUgPHd0Zi9VbmlxdWVSZWYuaD4KIAogbmFt
ZXNwYWNlIFdURiB7CkBAIC02NCw0ICs2MiwzIEBAIHByaXZhdGU6CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYktpdAogCi0jZW5kaWYgLy8gRU5BQkxFKEhUVFBTX1VQR1JBREUpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtMb2FkQ2hlY2tlci5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtMb2FkQ2hlY2tlci5jcHAKaW5kZXggMGYz
MDJkYzY4MTVlMmU5OGIwZDAzMmUzMmI2YzE3MWI1NGY1MzA2ZC4uYWVmYTAxOTg0ZjFmMmE4NDAw
NmExNGM5M2Y5YWE0NGNhN2Q0Y2MyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrTG9hZENoZWNrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvTmV0d29ya0xvYWRDaGVja2VyLmNwcApAQCAtNDYsNyArNDYsNyBAQCBzdGF0aWMg
aW5saW5lIGJvb2wgaXNTYW1lT3JpZ2luKGNvbnN0IFVSTCYgdXJsLCBjb25zdCBTZWN1cml0eU9y
aWdpbiogb3JpZ2luKQogICAgIHJldHVybiB1cmwucHJvdG9jb2xJc0RhdGEoKSB8fCB1cmwucHJv
dG9jb2xJc0Jsb2IoKSB8fCAhb3JpZ2luIHx8IG9yaWdpbi0+Y2FuUmVxdWVzdCh1cmwpOwogfQog
Ci1OZXR3b3JrTG9hZENoZWNrZXI6Ok5ldHdvcmtMb2FkQ2hlY2tlcihGZXRjaE9wdGlvbnMmJiBv
cHRpb25zLCBQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIHVpbnQ2NF90IHBhZ2VJRCwgdWludDY0
X3QgZnJhbWVJRCwgSFRUUEhlYWRlck1hcCYmIG9yaWdpbmFsUmVxdWVzdEhlYWRlcnMsIFVSTCYm
IHVybCwgUmVmUHRyPFNlY3VyaXR5T3JpZ2luPiYmIHNvdXJjZU9yaWdpbiwgUHJlZmxpZ2h0UG9s
aWN5IHByZWZsaWdodFBvbGljeSwgU3RyaW5nJiYgcmVmZXJyZXIsIGJvb2wgc2hvdWxkQ2FwdHVy
ZUV4dHJhTmV0d29ya0xvYWRNZXRyaWNzLCBMb2FkVHlwZSByZXF1ZXN0TG9hZFR5cGUpCitOZXR3
b3JrTG9hZENoZWNrZXI6Ok5ldHdvcmtMb2FkQ2hlY2tlcihGZXRjaE9wdGlvbnMmJiBvcHRpb25z
LCBQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIHVpbnQ2NF90IHBhZ2VJRCwgdWludDY0X3QgZnJh
bWVJRCwgSFRUUEhlYWRlck1hcCYmIG9yaWdpbmFsUmVxdWVzdEhlYWRlcnMsIFVSTCYmIHVybCwg
UmVmUHRyPFNlY3VyaXR5T3JpZ2luPiYmIHNvdXJjZU9yaWdpbiwgUHJlZmxpZ2h0UG9saWN5IHBy
ZWZsaWdodFBvbGljeSwgYm9vbCBpc0hUVFBTVXBncmFkZUVuYWJsZWQsIFN0cmluZyYmIHJlZmVy
cmVyLCBib29sIHNob3VsZENhcHR1cmVFeHRyYU5ldHdvcmtMb2FkTWV0cmljcywgTG9hZFR5cGUg
cmVxdWVzdExvYWRUeXBlKQogICAgIDogbV9vcHRpb25zKFdURk1vdmUob3B0aW9ucykpCiAgICAg
LCBtX3Nlc3Npb25JRChzZXNzaW9uSUQpCiAgICAgLCBtX3BhZ2VJRChwYWdlSUQpCkBAIC01Nyw2
ICs1Nyw3IEBAIE5ldHdvcmtMb2FkQ2hlY2tlcjo6TmV0d29ya0xvYWRDaGVja2VyKEZldGNoT3B0
aW9ucyYmIG9wdGlvbnMsIFBBTDo6U2Vzc2lvbklEIHNlCiAgICAgLCBtX3ByZWZsaWdodFBvbGlj
eShwcmVmbGlnaHRQb2xpY3kpCiAgICAgLCBtX3JlZmVycmVyKFdURk1vdmUocmVmZXJyZXIpKQog
ICAgICwgbV9zaG91bGRDYXB0dXJlRXh0cmFOZXR3b3JrTG9hZE1ldHJpY3Moc2hvdWxkQ2FwdHVy
ZUV4dHJhTmV0d29ya0xvYWRNZXRyaWNzKQorICAgICwgbV9pc0hUVFBTVXBncmFkZUVuYWJsZWQo
aXNIVFRQU1VwZ3JhZGVFbmFibGVkKQogICAgICwgbV9yZXF1ZXN0TG9hZFR5cGUocmVxdWVzdExv
YWRUeXBlKQogewogICAgIG1faXNTYW1lT3JpZ2luUmVxdWVzdCA9IGlzU2FtZU9yaWdpbihtX3Vy
bCwgbV9vcmlnaW4uZ2V0KCkpOwpAQCAtMTkxLDEwICsxOTIsMTAgQEAgYXV0byBOZXR3b3JrTG9h
ZENoZWNrZXI6OmFjY2Vzc0NvbnRyb2xFcnJvckZvclZhbGlkYXRpb25IYW5kbGVyKFN0cmluZyYm
IG1lc3NhZ2UKICAgICByZXR1cm4gUmVzb3VyY2VFcnJvciB7IFN0cmluZyB7IH0sIDAsIG1fdXJs
LCBXVEZNb3ZlKG1lc3NhZ2UpLCBSZXNvdXJjZUVycm9yOjpUeXBlOjpBY2Nlc3NDb250cm9sIH07
CiB9CiAKLSNpZiBFTkFCTEUoSFRUUFNfVVBHUkFERSkKIHZvaWQgTmV0d29ya0xvYWRDaGVja2Vy
OjphcHBseUhUVFBTVXBncmFkZUlmTmVlZGVkKFJlc291cmNlUmVxdWVzdCYmIHJlcXVlc3QsIENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoUmVzb3VyY2VSZXF1ZXN0JiYpPiYmIGhhbmRsZXIpIGNvbnN0
CiB7Ci0gICAgaWYgKG1fcmVxdWVzdExvYWRUeXBlICE9IExvYWRUeXBlOjpNYWluRnJhbWUpIHsK
KyNpZiBQTEFURk9STShDT0NPQSkKKyAgICBpZiAoIW1faXNIVFRQU1VwZ3JhZGVFbmFibGVkIHx8
IG1fcmVxdWVzdExvYWRUeXBlICE9IExvYWRUeXBlOjpNYWluRnJhbWUpIHsKICAgICAgICAgaGFu
ZGxlcihXVEZNb3ZlKHJlcXVlc3QpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTIyNCwy
NCArMjI1LDI0IEBAIHZvaWQgTmV0d29ya0xvYWRDaGVja2VyOjphcHBseUhUVFBTVXBncmFkZUlm
TmVlZGVkKFJlc291cmNlUmVxdWVzdCYmIHJlcXVlc3QsIENvCiAKICAgICAgICAgaGFuZGxlcihX
VEZNb3ZlKHJlcXVlc3QpKTsKICAgICB9KTsKKyNlbHNlCisgICAgaGFuZGxlcihXVEZNb3ZlKHJl
cXVlc3QpKTsKKyNlbmRpZgogfQotI2VuZGlmIC8vIEVOQUJMRShIVFRQU19VUEdSQURFKQogCiB2
b2lkIE5ldHdvcmtMb2FkQ2hlY2tlcjo6Y2hlY2tSZXF1ZXN0KFJlc291cmNlUmVxdWVzdCYmIHJl
cXVlc3QsIENvbnRlbnRTZWN1cml0eVBvbGljeUNsaWVudCogY2xpZW50LCBWYWxpZGF0aW9uSGFu
ZGxlciYmIGhhbmRsZXIpCiB7CiAgICAgUmVzb3VyY2VSZXF1ZXN0IG9yaWdpbmFsUmVxdWVzdCA9
IHJlcXVlc3Q7CiAKLSNpZiBFTkFCTEUoSFRUUFNfVVBHUkFERSkKICAgICBhcHBseUhUVFBTVXBn
cmFkZUlmTmVlZGVkKFdURk1vdmUocmVxdWVzdCksIFt0aGlzLCBjbGllbnQsIGhhbmRsZXIgPSBX
VEZNb3ZlKGhhbmRsZXIpLCBvcmlnaW5hbFJlcXVlc3QgPSBXVEZNb3ZlKG9yaWdpbmFsUmVxdWVz
dCldKGF1dG8gcmVxdWVzdCkgbXV0YWJsZSB7Ci0jZW5kaWYgLy8gRU5BQkxFKEhUVFBTX1VQR1JB
REUpCiAKICAgICAgICAgaWYgKGF1dG8qIGNvbnRlbnRTZWN1cml0eVBvbGljeSA9IHRoaXMtPmNv
bnRlbnRTZWN1cml0eVBvbGljeSgpKSB7Ci0gICAgICAgICAgICBpZiAoaXNSZWRpcmVjdGVkKCkp
IHsKKyAgICAgICAgICAgIGlmICh0aGlzLT5pc1JlZGlyZWN0ZWQoKSkgewogICAgICAgICAgICAg
ICAgIGF1dG8gdHlwZSA9IG1fb3B0aW9ucy5tb2RlID09IEZldGNoT3B0aW9uczo6TW9kZTo6TmF2
aWdhdGUgPyBDb250ZW50U2VjdXJpdHlQb2xpY3k6Okluc2VjdXJlUmVxdWVzdFR5cGU6Ok5hdmln
YXRpb24gOiBDb250ZW50U2VjdXJpdHlQb2xpY3k6Okluc2VjdXJlUmVxdWVzdFR5cGU6OkxvYWQ7
CiAgICAgICAgICAgICAgICAgY29udGVudFNlY3VyaXR5UG9saWN5LT51cGdyYWRlSW5zZWN1cmVS
ZXF1ZXN0SWZOZWVkZWQocmVxdWVzdCwgdHlwZSk7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAg
ICBpZiAoIWlzQWxsb3dlZEJ5Q29udGVudFNlY3VyaXR5UG9saWN5KHJlcXVlc3QsIGNsaWVudCkp
IHsKLSAgICAgICAgICAgICAgICBoYW5kbGVyKGFjY2Vzc0NvbnRyb2xFcnJvckZvclZhbGlkYXRp
b25IYW5kbGVyKCJCbG9ja2VkIGJ5IENvbnRlbnQgU2VjdXJpdHkgUG9saWN5LiJfcykpOworICAg
ICAgICAgICAgaWYgKCF0aGlzLT5pc0FsbG93ZWRCeUNvbnRlbnRTZWN1cml0eVBvbGljeShyZXF1
ZXN0LCBjbGllbnQpKSB7CisgICAgICAgICAgICAgICAgaGFuZGxlcih0aGlzLT5hY2Nlc3NDb250
cm9sRXJyb3JGb3JWYWxpZGF0aW9uSGFuZGxlcigiQmxvY2tlZCBieSBDb250ZW50IFNlY3VyaXR5
IFBvbGljeS4iX3MpKTsKICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICB9CiAg
ICAgICAgIH0KQEAgLTI2MSwxMyArMjYyLDkgQEAgdm9pZCBOZXR3b3JrTG9hZENoZWNrZXI6OmNo
ZWNrUmVxdWVzdChSZXNvdXJjZVJlcXVlc3QmJiByZXF1ZXN0LCBDb250ZW50U2VjdXJpdHkKICAg
ICAgICAgICAgIGNvbnRpbnVlQ2hlY2tpbmdSZXF1ZXN0T3JEb1N5bnRoZXRpY1JlZGlyZWN0KFdU
Rk1vdmUob3JpZ2luYWxSZXF1ZXN0KSwgV1RGTW92ZShyZXN1bHQudmFsdWUoKS5yZXF1ZXN0KSwg
V1RGTW92ZShoYW5kbGVyKSk7CiAgICAgICAgIH0pOwogI2Vsc2UKLSAgICAgICAgY29udGludWVD
aGVja2luZ1JlcXVlc3RPckRvU3ludGhldGljUmVkaXJlY3QoV1RGTW92ZShvcmlnaW5hbFJlcXVl
c3QpLCBXVEZNb3ZlKHJlcXVlc3QpLCBXVEZNb3ZlKGhhbmRsZXIpKTsKKyAgICAgICAgdGhpcy0+
Y29udGludWVDaGVja2luZ1JlcXVlc3RPckRvU3ludGhldGljUmVkaXJlY3QoV1RGTW92ZShvcmln
aW5hbFJlcXVlc3QpLCBXVEZNb3ZlKHJlcXVlc3QpLCBXVEZNb3ZlKGhhbmRsZXIpKTsKICNlbmRp
ZgotCi0jaWYgRU5BQkxFKEhUVFBTX1VQR1JBREUpCiAgICAgfSk7Ci0jZW5kaWYgLy8gRU5BQkxF
KEhUVFBTX1VQR1JBREUpCi0KIH0KIAogdm9pZCBOZXR3b3JrTG9hZENoZWNrZXI6OmNvbnRpbnVl
Q2hlY2tpbmdSZXF1ZXN0T3JEb1N5bnRoZXRpY1JlZGlyZWN0KFJlc291cmNlUmVxdWVzdCYmIG9y
aWdpbmFsUmVxdWVzdCwgUmVzb3VyY2VSZXF1ZXN0JiYgY3VycmVudFJlcXVlc3QsIFZhbGlkYXRp
b25IYW5kbGVyJiYgaGFuZGxlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvTmV0d29ya0xvYWRDaGVja2VyLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L05ldHdvcmtMb2FkQ2hlY2tlci5oCmluZGV4IDI4M2YyNjIyODhkYjE0NWVlNjU3MzQ1YjhjZGM2
YTUyYTM1ZDM3NTguLmE2N2I5YjcyZDA2YjUwZjcyNmMyNTQxOTMyMjM4ZTk2MmMyNTJjNTkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0xvYWRDaGVja2Vy
LmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZENoZWNrZXIu
aApAQCAtNTIsNyArNTIsNyBAQCBjbGFzcyBOZXR3b3JrTG9hZENoZWNrZXIgOiBwdWJsaWMgQ2Fu
TWFrZVdlYWtQdHI8TmV0d29ya0xvYWRDaGVja2VyPiB7CiBwdWJsaWM6CiAgICAgZW51bSBjbGFz
cyBMb2FkVHlwZSA6IGJvb2wgeyBNYWluRnJhbWUsIE90aGVyIH07CiAKLSAgICBOZXR3b3JrTG9h
ZENoZWNrZXIoV2ViQ29yZTo6RmV0Y2hPcHRpb25zJiYsIFBBTDo6U2Vzc2lvbklELCB1aW50NjRf
dCBwYWdlSUQsIHVpbnQ2NF90IGZyYW1lSUQsIFdlYkNvcmU6OkhUVFBIZWFkZXJNYXAmJiwgVVJM
JiYsIFJlZlB0cjxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbj4mJiwgV2ViQ29yZTo6UHJlZmxpZ2h0
UG9saWN5LCBTdHJpbmcmJiByZWZlcnJlciwgYm9vbCBzaG91bGRDYXB0dXJlRXh0cmFOZXR3b3Jr
TG9hZE1ldHJpY3MgPSBmYWxzZSwgTG9hZFR5cGUgcmVxdWVzdExvYWRUeXBlID0gTG9hZFR5cGU6
Ok90aGVyKTsKKyAgICBOZXR3b3JrTG9hZENoZWNrZXIoV2ViQ29yZTo6RmV0Y2hPcHRpb25zJiYs
IFBBTDo6U2Vzc2lvbklELCB1aW50NjRfdCBwYWdlSUQsIHVpbnQ2NF90IGZyYW1lSUQsIFdlYkNv
cmU6OkhUVFBIZWFkZXJNYXAmJiwgVVJMJiYsIFJlZlB0cjxXZWJDb3JlOjpTZWN1cml0eU9yaWdp
bj4mJiwgV2ViQ29yZTo6UHJlZmxpZ2h0UG9saWN5LCBib29sIGlzSFRUUFNVcGdyYWRlRW5hYmxl
ZCwgU3RyaW5nJiYgcmVmZXJyZXIsIGJvb2wgc2hvdWxkQ2FwdHVyZUV4dHJhTmV0d29ya0xvYWRN
ZXRyaWNzID0gZmFsc2UsIExvYWRUeXBlIHJlcXVlc3RMb2FkVHlwZSA9IExvYWRUeXBlOjpPdGhl
cik7CiAgICAgfk5ldHdvcmtMb2FkQ2hlY2tlcigpOwogCiAgICAgc3RydWN0IFJlZGlyZWN0aW9u
VHJpcGxldCB7CkBAIC0xMTksOSArMTE5LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHByb2Nlc3ND
b250ZW50RXh0ZW5zaW9uUnVsZXNGb3JMb2FkKFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYmLCBD
b250ZW50RXh0ZW5zaW9uQ2FsbGJhY2smJik7CiAjZW5kaWYKIAotI2lmIEVOQUJMRShIVFRQU19V
UEdSQURFKQogICAgIHZvaWQgYXBwbHlIVFRQU1VwZ3JhZGVJZk5lZWRlZChXZWJDb3JlOjpSZXNv
dXJjZVJlcXVlc3QmJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpSZXNvdXJjZVJl
cXVlc3QmJik+JiYpIGNvbnN0OwotI2VuZGlmIC8vIEVOQUJMRShIVFRQU19VUEdSQURFKQogCiAg
ICAgV2ViQ29yZTo6RmV0Y2hPcHRpb25zIG1fb3B0aW9uczsKICAgICBXZWJDb3JlOjpTdG9yZWRD
cmVkZW50aWFsc1BvbGljeSBtX3N0b3JlZENyZWRlbnRpYWxzUG9saWN5OwpAQCAtMTQ5LDYgKzE0
Nyw3IEBAIHByaXZhdGU6CiAgICAgU3RyaW5nIG1fcmVmZXJyZXI7CiAgICAgYm9vbCBtX2NoZWNr
Q29udGVudEV4dGVuc2lvbnMgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9zaG91bGRDYXB0dXJlRXh0
cmFOZXR3b3JrTG9hZE1ldHJpY3MgeyBmYWxzZSB9OworICAgIGJvb2wgbV9pc0hUVFBTVXBncmFk
ZUVuYWJsZWQgeyBmYWxzZSB9OwogICAgIFdlYkNvcmU6Ok5ldHdvcmtMb2FkSW5mb3JtYXRpb24g
bV9sb2FkSW5mb3JtYXRpb247CiAKICAgICBMb2FkVHlwZSBtX3JlcXVlc3RMb2FkVHlwZTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaCBi
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaAppbmRleCBlOTQ4
NzEwMjg3ZWQ2OWQxMWMyMjJlZTRlYzM1ODhkZmVjOWEyZjdjLi44NGIyYWNmMTNkZGM1NWVhYjUx
MmRlMGZhNDkyODMxMzgyN2QzNThmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrUHJvY2Vzcy5oCkBAIC0yMDUsOSArMjA1LDkgQEAgcHVibGljOgogICAgIGJvb2wg
cGFyZW50UHJvY2Vzc0hhc1NlcnZpY2VXb3JrZXJFbnRpdGxlbWVudCgpIGNvbnN0IHsgcmV0dXJu
IHRydWU7IH0KICNlbmRpZgogCi0jaWYgRU5BQkxFKEhUVFBTX1VQR1JBREUpCi0gICAgTmV0d29y
a0hUVFBTVXBncmFkZUNoZWNrZXImIG5ldHdvcmtIVFRQU1VwZ3JhZGVDaGVja2VyKCkgeyByZXR1
cm4gbV9uZXR3b3JrSFRUUFNVcGdyYWRlQ2hlY2tlcjsgfTsKLSNlbmRpZiAvLyBFTkFCTEUoSFRU
UFNfVVBHUkFERSkKKyNpZiBQTEFURk9STShDT0NPQSkKKyAgICBOZXR3b3JrSFRUUFNVcGdyYWRl
Q2hlY2tlciYgbmV0d29ya0hUVFBTVXBncmFkZUNoZWNrZXIoKSB7IHJldHVybiBtX25ldHdvcmtI
VFRQU1VwZ3JhZGVDaGVja2VyOyB9CisjZW5kaWYKIAogcHJpdmF0ZToKICAgICBOZXR3b3JrUHJv
Y2VzcygpOwpAQCAtMzk4LDkgKzM5OCw5IEBAIHByaXZhdGU6CiAgICAgSGFzaE1hcDxXZWJDb3Jl
OjpTV1NlcnZlckNvbm5lY3Rpb25JZGVudGlmaWVyLCBXZWJTV1NlcnZlckNvbm5lY3Rpb24qPiBt
X3N3U2VydmVyQ29ubmVjdGlvbnM7CiAjZW5kaWYKIAotI2lmIEVOQUJMRShIVFRQU19VUEdSQURF
KQorI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIE5ldHdvcmtIVFRQU1VwZ3JhZGVDaGVja2VyIG1f
bmV0d29ya0hUVFBTVXBncmFkZUNoZWNrZXI7Ci0jZW5kaWYgLy8gRU5BQkxFKEhUVFBTX1VQR1JB
REUpCisjZW5kaWYKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycy5j
cHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRQYXJh
bWV0ZXJzLmNwcAppbmRleCAwY2ZlZWE1Y2NkMDYzZmNhN2Y2MTBhYjZjOWQ1YjFkMmMyYmQ5ZWZj
Li44MGI3MGFhYWIyMjc5MTA3Y2UwYmRhNjdhNmVjYTIxMDc1YTJiZWRhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJz
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxv
YWRQYXJhbWV0ZXJzLmNwcApAQCAtOTQsNiArOTQsNyBAQCB2b2lkIE5ldHdvcmtSZXNvdXJjZUxv
YWRQYXJhbWV0ZXJzOjplbmNvZGUoSVBDOjpFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogICAgIGVu
Y29kZXIgPDwgc2hvdWxkRW5hYmxlQ3Jvc3NPcmlnaW5SZXNvdXJjZVBvbGljeTsKIAogICAgIGVu
Y29kZXIgPDwgZnJhbWVBbmNlc3Rvck9yaWdpbnM7CisgICAgZW5jb2RlciA8PCBpc0hUVFBTVXBn
cmFkZUVuYWJsZWQ7CiAKICNpZiBFTkFCTEUoQ09OVEVOVF9FWFRFTlNJT05TKQogICAgIGVuY29k
ZXIgPDwgbWFpbkRvY3VtZW50VVJMOwpAQCAtMjA0LDYgKzIwNSwxMiBAQCBib29sIE5ldHdvcmtS
ZXNvdXJjZUxvYWRQYXJhbWV0ZXJzOjpkZWNvZGUoSVBDOjpEZWNvZGVyJiBkZWNvZGVyLCBOZXR3
b3JrUmVzb3VyYwogCiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQuZnJhbWVBbmNlc3Rv
ck9yaWdpbnMpKQogICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBPcHRpb25hbDxib29sPiBp
c0hUVFBTVXBncmFkZUVuYWJsZWQ7CisgICAgZGVjb2RlciA+PiBpc0hUVFBTVXBncmFkZUVuYWJs
ZWQ7CisgICAgaWYgKCFpc0hUVFBTVXBncmFkZUVuYWJsZWQpCisgICAgICAgIHJldHVybiBmYWxz
ZTsKKyAgICByZXN1bHQuaXNIVFRQU1VwZ3JhZGVFbmFibGVkID0gKmlzSFRUUFNVcGdyYWRlRW5h
YmxlZDsKICAgICAKICNpZiBFTkFCTEUoQ09OVEVOVF9FWFRFTlNJT05TKQogICAgIGlmICghZGVj
b2Rlci5kZWNvZGUocmVzdWx0Lm1haW5Eb2N1bWVudFVSTCkpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzLmggYi9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJz
LmgKaW5kZXggMTMyNzEwZmNlMGE1Y2JkOWE4MGU2MmRkYjk4ZmY0NDM1YWUxYTNjNS4uYjA1ZmY4
MDNmMTcxOTBhZGUzMTljZGEwNjNkYTAzMTQwNmU0ZjM3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycy5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRl
cnMuaApAQCAtNTksNiArNTksNyBAQCBwdWJsaWM6CiAgICAgV2ViQ29yZTo6UHJlZmxpZ2h0UG9s
aWN5IHByZWZsaWdodFBvbGljeSB7IFdlYkNvcmU6OlByZWZsaWdodFBvbGljeTo6Q29uc2lkZXIg
fTsKICAgICBib29sIHNob3VsZEVuYWJsZUNyb3NzT3JpZ2luUmVzb3VyY2VQb2xpY3kgeyBmYWxz
ZSB9OwogICAgIFZlY3RvcjxSZWZQdHI8V2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4+PiBmcmFtZUFu
Y2VzdG9yT3JpZ2luczsKKyAgICBib29sIGlzSFRUUFNVcGdyYWRlRW5hYmxlZCB7IGZhbHNlIH07
CiAKICNpZiBFTkFCTEUoQ09OVEVOVF9FWFRFTlNJT05TKQogICAgIFVSTCBtYWluRG9jdW1lbnRV
Ukw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNv
dXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNv
dXJjZUxvYWRlci5jcHAKaW5kZXggNzdmYThlYTI5ZDY1YmExNmRhZTBjZDhlMzVjMjJlNmY5OTRi
OWQ3Zi4uOTk3MDAxYWI5MzJmM2YwMWQwMTkzZTU2ZjBjOTIxYjlmZjFiM2JmOCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVy
LmNwcApAQCAtMTEyLDcgKzExMiw3IEBAIE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6TmV0d29ya1Jl
c291cmNlTG9hZGVyKE5ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzJiYgcGFyCiAKICAgICBp
ZiAoc3luY2hyb25vdXNSZXBseSB8fCBwYXJhbWV0ZXJzLnNob3VsZFJlc3RyaWN0SFRUUFJlc3Bv
bnNlQWNjZXNzKSB7CiAgICAgICAgIE5ldHdvcmtMb2FkQ2hlY2tlcjo6TG9hZFR5cGUgcmVxdWVz
dExvYWRUeXBlID0gaXNNYWluRnJhbWVMb2FkKCkgPyBOZXR3b3JrTG9hZENoZWNrZXI6OkxvYWRU
eXBlOjpNYWluRnJhbWUgOiBOZXR3b3JrTG9hZENoZWNrZXI6OkxvYWRUeXBlOjpPdGhlcjsKLSAg
ICAgICAgbV9uZXR3b3JrTG9hZENoZWNrZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPE5ldHdvcmtMb2Fk
Q2hlY2tlcj4oRmV0Y2hPcHRpb25zIHsgbV9wYXJhbWV0ZXJzLm9wdGlvbnMgfSwgbV9wYXJhbWV0
ZXJzLnNlc3Npb25JRCwgbV9wYXJhbWV0ZXJzLndlYlBhZ2VJRCwgbV9wYXJhbWV0ZXJzLndlYkZy
YW1lSUQsIEhUVFBIZWFkZXJNYXAgeyBtX3BhcmFtZXRlcnMub3JpZ2luYWxSZXF1ZXN0SGVhZGVy
cyB9LCBVUkwgeyBtX3BhcmFtZXRlcnMucmVxdWVzdC51cmwoKSB9LCBtX3BhcmFtZXRlcnMuc291
cmNlT3JpZ2luLmNvcHlSZWYoKSwgbV9wYXJhbWV0ZXJzLnByZWZsaWdodFBvbGljeSwgb3JpZ2lu
YWxSZXF1ZXN0KCkuaHR0cFJlZmVycmVyKCksIHNob3VsZENhcHR1cmVFeHRyYU5ldHdvcmtMb2Fk
TWV0cmljcygpLCByZXF1ZXN0TG9hZFR5cGUpOworICAgICAgICBtX25ldHdvcmtMb2FkQ2hlY2tl
ciA9IHN0ZDo6bWFrZV91bmlxdWU8TmV0d29ya0xvYWRDaGVja2VyPihGZXRjaE9wdGlvbnMgeyBt
X3BhcmFtZXRlcnMub3B0aW9ucyB9LCBtX3BhcmFtZXRlcnMuc2Vzc2lvbklELCBtX3BhcmFtZXRl
cnMud2ViUGFnZUlELCBtX3BhcmFtZXRlcnMud2ViRnJhbWVJRCwgSFRUUEhlYWRlck1hcCB7IG1f
cGFyYW1ldGVycy5vcmlnaW5hbFJlcXVlc3RIZWFkZXJzIH0sIFVSTCB7IG1fcGFyYW1ldGVycy5y
ZXF1ZXN0LnVybCgpIH0sIG1fcGFyYW1ldGVycy5zb3VyY2VPcmlnaW4uY29weVJlZigpLCBtX3Bh
cmFtZXRlcnMucHJlZmxpZ2h0UG9saWN5LCBtX3BhcmFtZXRlcnMuaXNIVFRQU1VwZ3JhZGVFbmFi
bGVkLCBvcmlnaW5hbFJlcXVlc3QoKS5odHRwUmVmZXJyZXIoKSwgc2hvdWxkQ2FwdHVyZUV4dHJh
TmV0d29ya0xvYWRNZXRyaWNzKCksIHJlcXVlc3RMb2FkVHlwZSk7CiAgICAgICAgIGlmIChtX3Bh
cmFtZXRlcnMuY3NwUmVzcG9uc2VIZWFkZXJzKQogICAgICAgICAgICAgbV9uZXR3b3JrTG9hZENo
ZWNrZXItPnNldENTUFJlc3BvbnNlSGVhZGVycyhDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25z
ZUhlYWRlcnMgeyBtX3BhcmFtZXRlcnMuY3NwUmVzcG9uc2VIZWFkZXJzLnZhbHVlKCkgfSk7CiAj
aWYgRU5BQkxFKENPTlRFTlRfRVhURU5TSU9OUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvUGluZ0xvYWQuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9QaW5nTG9hZC5jcHAKaW5kZXggY2EwMTVlZmFjMzQyZTczNDE0NGQxNTRhNWRlOTVhMTNiYzk2
MjdkNi4uMTcxM2E1YWE1MTZiMzEzODBmZjk4ZTM2YzIwMzZjNWQ2MzFkMGNlYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9QaW5nTG9hZC5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9QaW5nTG9hZC5jcHAKQEAgLTQzLDcgKzQzLDcgQEAgUGlu
Z0xvYWQ6OlBpbmdMb2FkKE5ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzJiYgcGFyYW1ldGVy
cywgQ29tcGxldGlvbkhhbmRsZXIKICAgICA6IG1fcGFyYW1ldGVycyhXVEZNb3ZlKHBhcmFtZXRl
cnMpKQogICAgICwgbV9jb21wbGV0aW9uSGFuZGxlcihXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVy
KSkKICAgICAsIG1fdGltZW91dFRpbWVyKCp0aGlzLCAmUGluZ0xvYWQ6OnRpbWVvdXRUaW1lckZp
cmVkKQotICAgICwgbV9uZXR3b3JrTG9hZENoZWNrZXIobWFrZVVuaXF1ZVJlZjxOZXR3b3JrTG9h
ZENoZWNrZXI+KEZldGNoT3B0aW9ucyB7IG1fcGFyYW1ldGVycy5vcHRpb25zfSwgbV9wYXJhbWV0
ZXJzLnNlc3Npb25JRCwgbV9wYXJhbWV0ZXJzLndlYlBhZ2VJRCwgbV9wYXJhbWV0ZXJzLndlYkZy
YW1lSUQsIFdURk1vdmUobV9wYXJhbWV0ZXJzLm9yaWdpbmFsUmVxdWVzdEhlYWRlcnMpLCBVUkwg
eyBtX3BhcmFtZXRlcnMucmVxdWVzdC51cmwoKSB9LCBtX3BhcmFtZXRlcnMuc291cmNlT3JpZ2lu
LmNvcHlSZWYoKSwgbV9wYXJhbWV0ZXJzLnByZWZsaWdodFBvbGljeSwgbV9wYXJhbWV0ZXJzLnJl
cXVlc3QuaHR0cFJlZmVycmVyKCkpKQorICAgICwgbV9uZXR3b3JrTG9hZENoZWNrZXIobWFrZVVu
aXF1ZVJlZjxOZXR3b3JrTG9hZENoZWNrZXI+KEZldGNoT3B0aW9ucyB7IG1fcGFyYW1ldGVycy5v
cHRpb25zfSwgbV9wYXJhbWV0ZXJzLnNlc3Npb25JRCwgbV9wYXJhbWV0ZXJzLndlYlBhZ2VJRCwg
bV9wYXJhbWV0ZXJzLndlYkZyYW1lSUQsIFdURk1vdmUobV9wYXJhbWV0ZXJzLm9yaWdpbmFsUmVx
dWVzdEhlYWRlcnMpLCBVUkwgeyBtX3BhcmFtZXRlcnMucmVxdWVzdC51cmwoKSB9LCBtX3BhcmFt
ZXRlcnMuc291cmNlT3JpZ2luLmNvcHlSZWYoKSwgbV9wYXJhbWV0ZXJzLnByZWZsaWdodFBvbGlj
eSwgZmFsc2UsIG1fcGFyYW1ldGVycy5yZXF1ZXN0Lmh0dHBSZWZlcnJlcigpKSkKIHsKICAgICBt
X25ldHdvcmtMb2FkQ2hlY2tlci0+ZW5hYmxlQ29udGVudEV4dGVuc2lvbnNDaGVjaygpOwogICAg
IGlmIChtX3BhcmFtZXRlcnMuY3NwUmVzcG9uc2VIZWFkZXJzKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L1dlYlByZWZlcmVuY2VzLnlhbWwKaW5kZXggMDc3YmRlMzVlYTU2MmVjMzQzZWNlMGNiNTIwNWNh
OWUxZGIxMDAwZS4uZjg1NjU2OGEwNjQ3MjFmODUyYjMzMGY0NGUxMWRkOWY5NzY2YjU0YSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbAorKysgYi9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCkBAIC0zNSw2ICszNSwxMyBA
QCBQbHVnaW5zRW5hYmxlZDoKICAgdHlwZTogYm9vbAogICBkZWZhdWx0VmFsdWU6IGZhbHNlCiAK
K0hUVFBTVXBncmFkZUVuYWJsZWQ6CisgICB0eXBlOiBib29sCisgICBkZWZhdWx0VmFsdWU6IGZh
bHNlCisgICBodW1hblJlYWRhYmxlTmFtZTogIkF1dG9tYXRpYyBIVFRQUyB1cGdyYWRlIgorICAg
aHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiQXV0b21hdGljIEhUVFBTIHVwZ3JhZGUgZm9yIHNp
dGVzIHRoYXQgc3VwcG9ydCBpdCIKKyAgIGNhdGVnb3J5OiBleHBlcmltZW50YWwKKwogSmF2YUVu
YWJsZWQ6CiAgIHR5cGU6IGJvb2wKICAgZGVmYXVsdFZhbHVlOiBmYWxzZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3kuY3BwIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3kuY3BwCmlu
ZGV4IDE2MjNiMjAwOTA4YmUyMGEyNmQ5MGYyMTAyYTBhODVlNjY3YTMzNzkuLjg0YzEyYTA0YTY4
MjE1YjQxMTg5ZjM2ZDVmMDE3M2IzMjY1YzJjNWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5LmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJMb2FkZXJTdHJhdGVneS5jcHAKQEAgLTI3NSw2ICsy
NzUsNyBAQCB2b2lkIFdlYkxvYWRlclN0cmF0ZWd5OjpzY2hlZHVsZUxvYWRGcm9tTmV0d29ya1By
b2Nlc3MoUmVzb3VyY2VMb2FkZXImIHJlc291cmNlTAogICAgIGxvYWRQYXJhbWV0ZXJzLm1heGlt
dW1CdWZmZXJpbmdUaW1lID0gbWF4aW11bUJ1ZmZlcmluZ1RpbWU7CiAgICAgbG9hZFBhcmFtZXRl
cnMub3B0aW9ucyA9IHJlc291cmNlTG9hZGVyLm9wdGlvbnMoKTsKICAgICBsb2FkUGFyYW1ldGVy
cy5wcmVmbGlnaHRQb2xpY3kgPSByZXNvdXJjZUxvYWRlci5vcHRpb25zKCkucHJlZmxpZ2h0UG9s
aWN5OworICAgIGxvYWRQYXJhbWV0ZXJzLmlzSFRUUFNVcGdyYWRlRW5hYmxlZCA9IHJlc291cmNl
TG9hZGVyLmZyYW1lKCkgPyByZXNvdXJjZUxvYWRlci5mcmFtZSgpLT5zZXR0aW5ncygpLkhUVFBT
VXBncmFkZUVuYWJsZWQoKSA6IGZhbHNlOwogCiAgICAgYXV0byogZG9jdW1lbnQgPSByZXNvdXJj
ZUxvYWRlci5mcmFtZSgpID8gcmVzb3VyY2VMb2FkZXIuZnJhbWUoKS0+ZG9jdW1lbnQoKSA6IG51
bGxwdHI7CiAgICAgaWYgKHJlc291cmNlTG9hZGVyLm9wdGlvbnMoKS5jc3BSZXNwb25zZUhlYWRl
cnMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2NvbmZpZy5oIGIvU291cmNlL1dlYktpdC9j
b25maWcuaAppbmRleCAwN2QwZDhhOWUzMTc5NjkwMjBmMjZjNjkxOWVkYzhmNTA2NmVjODI1Li5k
OWU4ZDY5OTUxYWEzZTcxYTYwZDY4NTFlNjU1ZDcwMGU3MWU4ZDcxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L2NvbmZpZy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY29uZmlnLmgKQEAgLTc5LDYg
Kzc5LDMgQEAKICNlbmRpZgogI2VuZGlmCiAKLSNpZm5kZWYgRU5BQkxFX0hUVFBTX1VQR1JBREUK
LSNkZWZpbmUgRU5BQkxFX0hUVFBTX1VQR1JBREUgMAotI2VuZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>357830</attachid>
            <date>2018-12-20 10:34:15 -0800</date>
            <delta_ts>2018-12-20 10:54:08 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-192937-20181220103415.patch</filename>
            <type>text/plain</type>
            <size>21422</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM5NDQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmFiOTExZmRmN2NiMzQ0
NmU1NmFmYThmNDlmZGJjY2Q1Mzg1OTM1Ni4uNDFlMmYzYzg2YWViNWI1ZWE0ZjMxYWVlOWFlODll
NzI5ZWNlNWMzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE4LTEyLTIwICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgTW92ZSBIVFRQU19VUEdSQURF
IGNvZGUgYmVoaW5kIGEgcnVudGltZSBmbGFnLCBvZmYgYnkgZGVmYXVsdAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkyOTM3CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTW92ZSBIVFRQU19VUEdSQURFIGNv
ZGUgYmVoaW5kIGEgcnVudGltZSBmbGFnLCBvZmYgYnkgZGVmYXVsdCBhbmQgZHJvcCB0aGUgYnVp
bGQgdGltZSBmbGFnLgorCisgICAgICAgICogcGFnZS9TZXR0aW5ncy55YW1sOgorCiAyMDE4LTEy
LTE5ICBNaWNoYWVsIENhdGFuemFybyAgPG1jYXRhbnphcm9AaWdhbGlhLmNvbT4KIAogICAgICAg
ICBVbnJldmlld2VkLCBmaXggR1RLIGJ1aWxkIGFmdGVyIHIyMzk0MTAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggNTll
MjNmYjZkYjlhMTdiNzNkODJlODA3NjBjZGE3N2M2YjYxNWFkZC4uZDIxZTFhZTRkOGNjZTljZGQ1
ZWEyMzdlMDQ5ODUxY2E3Y2RlYmVjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNSBAQAorMjAxOC0x
Mi0yMCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIE1vdmUgSFRU
UFNfVVBHUkFERSBjb2RlIGJlaGluZCBhIHJ1bnRpbWUgZmxhZywgb2ZmIGJ5IGRlZmF1bHQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MjkzNworCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1vdmUgSFRUUFNf
VVBHUkFERSBjb2RlIGJlaGluZCBhIHJ1bnRpbWUgZmxhZywgb2ZmIGJ5IGRlZmF1bHQgYW5kIGRy
b3AgdGhlIGJ1aWxkIHRpbWUgZmxhZy4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL1dlYktp
dC54Y2NvbmZpZzoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIE5l
dHdvcmtQcm9jZXNzL05ldHdvcmtIVFRQU1VwZ3JhZGVDaGVja2VyLmNwcDoKKyAgICAgICAgKiBO
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrSFRUUFNVcGdyYWRlQ2hlY2tlci5oOgorICAgICAgICAqIE5l
dHdvcmtQcm9jZXNzL05ldHdvcmtMb2FkQ2hlY2tlci5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5l
dHdvcmtMb2FkQ2hlY2tlcjo6TmV0d29ya0xvYWRDaGVja2VyKToKKyAgICAgICAgKFdlYktpdDo6
TmV0d29ya0xvYWRDaGVja2VyOjphcHBseUhUVFBTVXBncmFkZUlmTmVlZGVkIGNvbnN0KToKKyAg
ICAgICAgKFdlYktpdDo6TmV0d29ya0xvYWRDaGVja2VyOjpjaGVja1JlcXVlc3QpOgorICAgICAg
ICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtMb2FkQ2hlY2tlci5oOgorICAgICAgICAqIE5ldHdv
cmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmg6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9j
ZXNzOjpuZXR3b3JrSFRUUFNVcGdyYWRlQ2hlY2tlcik6CisgICAgICAgICogTmV0d29ya1Byb2Nl
c3MvTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMuY3BwOgorICAgICAgICAoV2ViS2l0OjpO
ZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVyczo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdl
YktpdDo6TmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnM6OmRlY29kZSk6CisgICAgICAgICog
TmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMuaDoKKyAgICAgICAg
KiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAqIE5l
dHdvcmtQcm9jZXNzL1BpbmdMb2FkLmNwcDoKKyAgICAgICAgKFdlYktpdDo6UGluZ0xvYWQ6OlBp
bmdMb2FkKToKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbDoKKyAgICAgICAg
KiBXZWJQcm9jZXNzL05ldHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3kuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJMb2FkZXJTdHJhdGVneTo6c2NoZWR1bGVMb2FkRnJvbU5ldHdvcmtQcm9jZXNzKToK
KyAgICAgICAgKiBjb25maWcuaDoKKwogMjAxOC0xMi0yMCAgV2Vuc29uIEhzaWVoICA8d2Vuc29u
X2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9TXSBGb2N1c2luZyBhbiBlZGl0YWJsZSBl
bGVtZW50IHNob3VsZCBzY3JvbGwgdG8gcmV2ZWFsIHRoZSBzZWxlY3Rpb24KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MueWFtbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
U2V0dGluZ3MueWFtbAppbmRleCBhNzk3MTkzODZiM2MyY2Y5MzQ1ZjU4MDZiZGFjMDNiZjU3NDNh
MTlhLi5jYjI5ZWFjM2VmZmQ0YjkwYWNjZTI4ZTU4NDU5MDJkY2FmOGQ3YzVhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLnlhbWwKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9TZXR0aW5ncy55YW1sCkBAIC0zMjksNiArMzI5LDkgQEAgd2FudHNCYWxhbmNlZFNldERl
ZmVyc0xvYWRpbmdCZWhhdmlvcjoKIHJlcXVlc3RBbmltYXRpb25GcmFtZUVuYWJsZWQ6CiAgIGlu
aXRpYWw6IHRydWUKIAorSFRUUFNVcGdyYWRlRW5hYmxlZDoKKyAgaW5pdGlhbDogZmFsc2UKKwog
Y29va2llRW5hYmxlZDoKICAgaW5pdGlhbDogdHJ1ZQogbWVkaWFFbmFibGVkOgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9XZWJLaXQueGNjb25maWcgYi9Tb3VyY2Uv
V2ViS2l0L0NvbmZpZ3VyYXRpb25zL1dlYktpdC54Y2NvbmZpZwppbmRleCAyNDUzNjg0ZWIyZjE1
YjIyZjkwYjAxMmY0NTI5NmVjYjkwNzhjMTM3Li5mMjMxOGVjNGU5YWZmNmZkOGJiOWRjZjQ3NDIw
YzFlZTY4Y2VmZjJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL1dl
YktpdC54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL1dlYktpdC54
Y2NvbmZpZwpAQCAtMTUxLDExICsxNTEsOCBAQCBTRUNUT1JERVJfRkxBR1MgPSAkKFNFQ1RPUkRF
Ul9GTEFHU18kKENPTkZJR1VSQVRJT04pKTsKIFNFQ1RPUkRFUl9GTEFHU19Qcm9kdWN0aW9uW3Nk
az1pcGhvbmVvcypdID0gLVdsLC1vcmRlcl9maWxlLCQoU0RLUk9PVCkvQXBwbGVJbnRlcm5hbC9P
cmRlckZpbGVzL1dlYktpdC5vcmRlcjsKIFNFQ1RPUkRFUl9GTEFHU19Qcm9kdWN0aW9uW3Nkaz1t
YWNvc3gqXSA9IC1XbCwtb3JkZXJfZmlsZSxtYWMvV2ViS2l0Mi5vcmRlcjsKIAotV0tfRVhDTFVE
RURfSFRUUFNfVVBHUkFERV9GSUxFID0gJChXS19FWENMVURFRF9IVFRQU19VUEdSQURFX0ZJTEVf
JChFTkFCTEVfSFRUUFNfVVBHUkFERSkpOwotV0tfRVhDTFVERURfSFRUUFNfVVBHUkFERV9GSUxF
XyA9IEhUVFBTVXBncmFkZUxpc3QuZGI7Ci0KLUVYQ0xVREVEX1NPVVJDRV9GSUxFX05BTUVTID0g
UmVzb3VyY2VzL2lvcy8qICQoV0tfRVhDTFVERURfSFRUUFNfVVBHUkFERV9GSUxFKTsKLUVYQ0xV
REVEX1NPVVJDRV9GSUxFX05BTUVTW3Nkaz1pcGhvbmUqXSA9IFBsdWdpblByb2Nlc3NTaGltLmR5
bGliIFNlY0l0ZW1TaGltLmR5bGliIFdlYlByb2Nlc3NTaGltLmR5bGliICoucGRmIFJlc291cmNl
cy9tYWMvKiBjb20uYXBwbGUuV2ViS2l0Lk5ldHdvcmtQcm9jZXNzLnNiIGNvbS5hcHBsZS5XZWJQ
cm9jZXNzLnNiIGNvbS5hcHBsZS5XZWJLaXQucGx1Z2luLWNvbW1vbi5zYiBQbHVnSW5TYW5kYm94
UHJvZmlsZXMvKi5zYiAkKFdLX0VYQ0xVREVEX0hUVFBTX1VQR1JBREVfRklMRSk7CitFWENMVURF
RF9TT1VSQ0VfRklMRV9OQU1FUyA9IFJlc291cmNlcy9pb3MvKjsKK0VYQ0xVREVEX1NPVVJDRV9G
SUxFX05BTUVTW3Nkaz1pcGhvbmUqXSA9IFBsdWdpblByb2Nlc3NTaGltLmR5bGliIFNlY0l0ZW1T
aGltLmR5bGliIFdlYlByb2Nlc3NTaGltLmR5bGliICoucGRmIFJlc291cmNlcy9tYWMvKiBjb20u
YXBwbGUuV2ViS2l0Lk5ldHdvcmtQcm9jZXNzLnNiIGNvbS5hcHBsZS5XZWJQcm9jZXNzLnNiIGNv
bS5hcHBsZS5XZWJLaXQucGx1Z2luLWNvbW1vbi5zYiBQbHVnSW5TYW5kYm94UHJvZmlsZXMvKi5z
YjsKIAogSU5TVEFMTEhEUlNfU0NSSVBUX1BIQVNFID0gWUVTOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3Vy
Y2VzLm1ha2UKaW5kZXggMmZkZTU1NTBjZjRkNzBhZGMwOWRlZjM1N2E5ODc4MjI3M2U1NTQ3Mi4u
MDRlZGE1MDMyY2FlODVhOGFjYjU5MzY0YTIzOGU5ZWM0YjZmNmNiNCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJLaXQvRGVyaXZl
ZFNvdXJjZXMubWFrZQpAQCAtMzE2LDggKzMxNiw3IEBAICQoV0VCX1BSRUZFUkVOQ0VTX0NPTUJJ
TkVEX0lOUFVUX0ZJTEUpIDogJChXRUJfUFJFRkVSRU5DRVNfSU5QVVRfRklMRVMpCiAkKFdFQl9Q
UkVGRVJFTkNFU19QQVRURVJOUykgOiAkKFdlYktpdDIpL1NjcmlwdHMvR2VuZXJhdGVQcmVmZXJl
bmNlcy5yYiAkKFdFQl9QUkVGRVJFTkNFU19URU1QTEFURVMpICQoV0VCX1BSRUZFUkVOQ0VTX0NP
TUJJTkVEX0lOUFVUX0ZJTEUpCiAJJChSVUJZKSAkPCAtLWlucHV0ICQoV0VCX1BSRUZFUkVOQ0VT
X0NPTUJJTkVEX0lOUFVUX0ZJTEUpCiAKLWlmZXEgKCQoRU5BQkxFX0hUVFBTX1VQR1JBREUpLEVO
QUJMRV9IVFRQU19VUEdSQURFKQorVlBBVEggKz0gJChXZWJLaXQyKS9IVFRQU1VwZ3JhZGUvCiBh
bGwgOiBIVFRQU1VwZ3JhZGVMaXN0LmRiCiBIVFRQU1VwZ3JhZGVMaXN0LmRiIDogSFRUUFNVcGdy
YWRlTGlzdC50eHQgJChXZWJLaXQyKS9TY3JpcHRzL2dlbmVyYXRlLWh0dHBzLXVwZ3JhZGUtZGF0
YWJhc2Uuc2gKIAlzaCAkKFdlYktpdDIpL1NjcmlwdHMvZ2VuZXJhdGUtaHR0cHMtdXBncmFkZS1k
YXRhYmFzZS5zaCAkPCAkQAotZW5kaWYgIyBFTkFCTEVfSFRUUFNfVVBHUkFERQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrSFRUUFNVcGdyYWRlQ2hlY2tl
ci5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtIVFRQU1VwZ3JhZGVD
aGVja2VyLmNwcAppbmRleCA3M2I0NmMwOWY2YmZkYjU3ODZmNjg1YWU0NmQ1NGEzMzU5YzA4OWNh
Li43MmRhOGYyN2Y5NTFlN2UxZTI5ZjcyYjFiNGM0YjA5MDM1MzAzYjNlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtIVFRQU1VwZ3JhZGVDaGVja2VyLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtIVFRQU1VwZ3JhZGVD
aGVja2VyLmNwcApAQCAtMjYsOCArMjYsNiBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1
ZGUgIk5ldHdvcmtIVFRQU1VwZ3JhZGVDaGVja2VyLmgiCiAKLSNpZiBFTkFCTEUoSFRUUFNfVVBH
UkFERSkKLQogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlIDxXZWJDb3JlL1NRTGl0ZURh
dGFiYXNlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TUUxpdGVTdGF0ZW1lbnQuaD4KQEAgLTExMyw0
ICsxMTEsMyBAQCB2b2lkIE5ldHdvcmtIVFRQU1VwZ3JhZGVDaGVja2VyOjpxdWVyeShTdHJpbmcm
JiBob3N0LCBQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsCiAKIH0gLy8gbmFtZXNwYWNlIFdlYktp
dAogCi0jZW5kaWYgLy8gRU5BQkxFKEhUVFBTX1VQR1JBREUpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtIVFRQU1VwZ3JhZGVDaGVja2VyLmggYi9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtIVFRQU1VwZ3JhZGVDaGVja2VyLmgKaW5k
ZXggYzYzMDNhNzYxNDBiNjA4ZGM1NGE4ZGEyZmRhMDk3ZTRlNGI5YWRmMS4uMzgzN2U2NzdiNzMw
NWU2NWUwZDVkYzVkMjk0MzhkOWExNTk0YzQ5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrSFRUUFNVcGdyYWRlQ2hlY2tlci5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0hUVFBTVXBncmFkZUNoZWNrZXIuaApAQCAtMjUs
OCArMjUsNiBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2lmIEVOQUJMRShIVFRQU19VUEdSQURFKQot
CiAjaW5jbHVkZSA8d3RmL1VuaXF1ZVJlZi5oPgogCiBuYW1lc3BhY2UgV1RGIHsKQEAgLTY0LDQg
KzYyLDMgQEAgcHJpdmF0ZToKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKLSNlbmRpZiAvLyBF
TkFCTEUoSFRUUFNfVVBHUkFERSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvTmV0d29ya0xvYWRDaGVja2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvTmV0d29ya0xvYWRDaGVja2VyLmNwcAppbmRleCAwZjMwMmRjNjgxNWUyZTk4YjBkMDMyZTMy
YjZjMTcxYjU0ZjUzMDZkLi5hZWZhMDE5ODRmMWYyYTg0MDA2YTE0YzkzZjlhYTQ0Y2E3ZDRjYzIw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtMb2FkQ2hl
Y2tlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZENo
ZWNrZXIuY3BwCkBAIC00Niw3ICs0Niw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBpc1NhbWVPcmln
aW4oY29uc3QgVVJMJiB1cmwsIGNvbnN0IFNlY3VyaXR5T3JpZ2luKiBvcmlnaW4pCiAgICAgcmV0
dXJuIHVybC5wcm90b2NvbElzRGF0YSgpIHx8IHVybC5wcm90b2NvbElzQmxvYigpIHx8ICFvcmln
aW4gfHwgb3JpZ2luLT5jYW5SZXF1ZXN0KHVybCk7CiB9CiAKLU5ldHdvcmtMb2FkQ2hlY2tlcjo6
TmV0d29ya0xvYWRDaGVja2VyKEZldGNoT3B0aW9ucyYmIG9wdGlvbnMsIFBBTDo6U2Vzc2lvbklE
IHNlc3Npb25JRCwgdWludDY0X3QgcGFnZUlELCB1aW50NjRfdCBmcmFtZUlELCBIVFRQSGVhZGVy
TWFwJiYgb3JpZ2luYWxSZXF1ZXN0SGVhZGVycywgVVJMJiYgdXJsLCBSZWZQdHI8U2VjdXJpdHlP
cmlnaW4+JiYgc291cmNlT3JpZ2luLCBQcmVmbGlnaHRQb2xpY3kgcHJlZmxpZ2h0UG9saWN5LCBT
dHJpbmcmJiByZWZlcnJlciwgYm9vbCBzaG91bGRDYXB0dXJlRXh0cmFOZXR3b3JrTG9hZE1ldHJp
Y3MsIExvYWRUeXBlIHJlcXVlc3RMb2FkVHlwZSkKK05ldHdvcmtMb2FkQ2hlY2tlcjo6TmV0d29y
a0xvYWRDaGVja2VyKEZldGNoT3B0aW9ucyYmIG9wdGlvbnMsIFBBTDo6U2Vzc2lvbklEIHNlc3Np
b25JRCwgdWludDY0X3QgcGFnZUlELCB1aW50NjRfdCBmcmFtZUlELCBIVFRQSGVhZGVyTWFwJiYg
b3JpZ2luYWxSZXF1ZXN0SGVhZGVycywgVVJMJiYgdXJsLCBSZWZQdHI8U2VjdXJpdHlPcmlnaW4+
JiYgc291cmNlT3JpZ2luLCBQcmVmbGlnaHRQb2xpY3kgcHJlZmxpZ2h0UG9saWN5LCBib29sIGlz
SFRUUFNVcGdyYWRlRW5hYmxlZCwgU3RyaW5nJiYgcmVmZXJyZXIsIGJvb2wgc2hvdWxkQ2FwdHVy
ZUV4dHJhTmV0d29ya0xvYWRNZXRyaWNzLCBMb2FkVHlwZSByZXF1ZXN0TG9hZFR5cGUpCiAgICAg
OiBtX29wdGlvbnMoV1RGTW92ZShvcHRpb25zKSkKICAgICAsIG1fc2Vzc2lvbklEKHNlc3Npb25J
RCkKICAgICAsIG1fcGFnZUlEKHBhZ2VJRCkKQEAgLTU3LDYgKzU3LDcgQEAgTmV0d29ya0xvYWRD
aGVja2VyOjpOZXR3b3JrTG9hZENoZWNrZXIoRmV0Y2hPcHRpb25zJiYgb3B0aW9ucywgUEFMOjpT
ZXNzaW9uSUQgc2UKICAgICAsIG1fcHJlZmxpZ2h0UG9saWN5KHByZWZsaWdodFBvbGljeSkKICAg
ICAsIG1fcmVmZXJyZXIoV1RGTW92ZShyZWZlcnJlcikpCiAgICAgLCBtX3Nob3VsZENhcHR1cmVF
eHRyYU5ldHdvcmtMb2FkTWV0cmljcyhzaG91bGRDYXB0dXJlRXh0cmFOZXR3b3JrTG9hZE1ldHJp
Y3MpCisgICAgLCBtX2lzSFRUUFNVcGdyYWRlRW5hYmxlZChpc0hUVFBTVXBncmFkZUVuYWJsZWQp
CiAgICAgLCBtX3JlcXVlc3RMb2FkVHlwZShyZXF1ZXN0TG9hZFR5cGUpCiB7CiAgICAgbV9pc1Nh
bWVPcmlnaW5SZXF1ZXN0ID0gaXNTYW1lT3JpZ2luKG1fdXJsLCBtX29yaWdpbi5nZXQoKSk7CkBA
IC0xOTEsMTAgKzE5MiwxMCBAQCBhdXRvIE5ldHdvcmtMb2FkQ2hlY2tlcjo6YWNjZXNzQ29udHJv
bEVycm9yRm9yVmFsaWRhdGlvbkhhbmRsZXIoU3RyaW5nJiYgbWVzc2FnZQogICAgIHJldHVybiBS
ZXNvdXJjZUVycm9yIHsgU3RyaW5nIHsgfSwgMCwgbV91cmwsIFdURk1vdmUobWVzc2FnZSksIFJl
c291cmNlRXJyb3I6OlR5cGU6OkFjY2Vzc0NvbnRyb2wgfTsKIH0KIAotI2lmIEVOQUJMRShIVFRQ
U19VUEdSQURFKQogdm9pZCBOZXR3b3JrTG9hZENoZWNrZXI6OmFwcGx5SFRUUFNVcGdyYWRlSWZO
ZWVkZWQoUmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChS
ZXNvdXJjZVJlcXVlc3QmJik+JiYgaGFuZGxlcikgY29uc3QKIHsKLSAgICBpZiAobV9yZXF1ZXN0
TG9hZFR5cGUgIT0gTG9hZFR5cGU6Ok1haW5GcmFtZSkgeworI2lmIFBMQVRGT1JNKENPQ09BKQor
ICAgIGlmICghbV9pc0hUVFBTVXBncmFkZUVuYWJsZWQgfHwgbV9yZXF1ZXN0TG9hZFR5cGUgIT0g
TG9hZFR5cGU6Ok1haW5GcmFtZSkgewogICAgICAgICBoYW5kbGVyKFdURk1vdmUocmVxdWVzdCkp
OwogICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtMjI0LDI0ICsyMjUsMjQgQEAgdm9pZCBOZXR3
b3JrTG9hZENoZWNrZXI6OmFwcGx5SFRUUFNVcGdyYWRlSWZOZWVkZWQoUmVzb3VyY2VSZXF1ZXN0
JiYgcmVxdWVzdCwgQ28KIAogICAgICAgICBoYW5kbGVyKFdURk1vdmUocmVxdWVzdCkpOwogICAg
IH0pOworI2Vsc2UKKyAgICBoYW5kbGVyKFdURk1vdmUocmVxdWVzdCkpOworI2VuZGlmCiB9Ci0j
ZW5kaWYgLy8gRU5BQkxFKEhUVFBTX1VQR1JBREUpCiAKIHZvaWQgTmV0d29ya0xvYWRDaGVja2Vy
OjpjaGVja1JlcXVlc3QoUmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCwgQ29udGVudFNlY3VyaXR5
UG9saWN5Q2xpZW50KiBjbGllbnQsIFZhbGlkYXRpb25IYW5kbGVyJiYgaGFuZGxlcikKIHsKICAg
ICBSZXNvdXJjZVJlcXVlc3Qgb3JpZ2luYWxSZXF1ZXN0ID0gcmVxdWVzdDsKIAotI2lmIEVOQUJM
RShIVFRQU19VUEdSQURFKQogICAgIGFwcGx5SFRUUFNVcGdyYWRlSWZOZWVkZWQoV1RGTW92ZShy
ZXF1ZXN0KSwgW3RoaXMsIGNsaWVudCwgaGFuZGxlciA9IFdURk1vdmUoaGFuZGxlciksIG9yaWdp
bmFsUmVxdWVzdCA9IFdURk1vdmUob3JpZ2luYWxSZXF1ZXN0KV0oYXV0byByZXF1ZXN0KSBtdXRh
YmxlIHsKLSNlbmRpZiAvLyBFTkFCTEUoSFRUUFNfVVBHUkFERSkKIAogICAgICAgICBpZiAoYXV0
byogY29udGVudFNlY3VyaXR5UG9saWN5ID0gdGhpcy0+Y29udGVudFNlY3VyaXR5UG9saWN5KCkp
IHsKLSAgICAgICAgICAgIGlmIChpc1JlZGlyZWN0ZWQoKSkgeworICAgICAgICAgICAgaWYgKHRo
aXMtPmlzUmVkaXJlY3RlZCgpKSB7CiAgICAgICAgICAgICAgICAgYXV0byB0eXBlID0gbV9vcHRp
b25zLm1vZGUgPT0gRmV0Y2hPcHRpb25zOjpNb2RlOjpOYXZpZ2F0ZSA/IENvbnRlbnRTZWN1cml0
eVBvbGljeTo6SW5zZWN1cmVSZXF1ZXN0VHlwZTo6TmF2aWdhdGlvbiA6IENvbnRlbnRTZWN1cml0
eVBvbGljeTo6SW5zZWN1cmVSZXF1ZXN0VHlwZTo6TG9hZDsKICAgICAgICAgICAgICAgICBjb250
ZW50U2VjdXJpdHlQb2xpY3ktPnVwZ3JhZGVJbnNlY3VyZVJlcXVlc3RJZk5lZWRlZChyZXF1ZXN0
LCB0eXBlKTsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlmICghaXNBbGxvd2VkQnlDb250
ZW50U2VjdXJpdHlQb2xpY3kocmVxdWVzdCwgY2xpZW50KSkgewotICAgICAgICAgICAgICAgIGhh
bmRsZXIoYWNjZXNzQ29udHJvbEVycm9yRm9yVmFsaWRhdGlvbkhhbmRsZXIoIkJsb2NrZWQgYnkg
Q29udGVudCBTZWN1cml0eSBQb2xpY3kuIl9zKSk7CisgICAgICAgICAgICBpZiAoIXRoaXMtPmlz
QWxsb3dlZEJ5Q29udGVudFNlY3VyaXR5UG9saWN5KHJlcXVlc3QsIGNsaWVudCkpIHsKKyAgICAg
ICAgICAgICAgICBoYW5kbGVyKHRoaXMtPmFjY2Vzc0NvbnRyb2xFcnJvckZvclZhbGlkYXRpb25I
YW5kbGVyKCJCbG9ja2VkIGJ5IENvbnRlbnQgU2VjdXJpdHkgUG9saWN5LiJfcykpOwogICAgICAg
ICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgIH0KICAgICAgICAgfQpAQCAtMjYxLDEzICsy
NjIsOSBAQCB2b2lkIE5ldHdvcmtMb2FkQ2hlY2tlcjo6Y2hlY2tSZXF1ZXN0KFJlc291cmNlUmVx
dWVzdCYmIHJlcXVlc3QsIENvbnRlbnRTZWN1cml0eQogICAgICAgICAgICAgY29udGludWVDaGVj
a2luZ1JlcXVlc3RPckRvU3ludGhldGljUmVkaXJlY3QoV1RGTW92ZShvcmlnaW5hbFJlcXVlc3Qp
LCBXVEZNb3ZlKHJlc3VsdC52YWx1ZSgpLnJlcXVlc3QpLCBXVEZNb3ZlKGhhbmRsZXIpKTsKICAg
ICAgICAgfSk7CiAjZWxzZQotICAgICAgICBjb250aW51ZUNoZWNraW5nUmVxdWVzdE9yRG9TeW50
aGV0aWNSZWRpcmVjdChXVEZNb3ZlKG9yaWdpbmFsUmVxdWVzdCksIFdURk1vdmUocmVxdWVzdCks
IFdURk1vdmUoaGFuZGxlcikpOworICAgICAgICB0aGlzLT5jb250aW51ZUNoZWNraW5nUmVxdWVz
dE9yRG9TeW50aGV0aWNSZWRpcmVjdChXVEZNb3ZlKG9yaWdpbmFsUmVxdWVzdCksIFdURk1vdmUo
cmVxdWVzdCksIFdURk1vdmUoaGFuZGxlcikpOwogI2VuZGlmCi0KLSNpZiBFTkFCTEUoSFRUUFNf
VVBHUkFERSkKICAgICB9KTsKLSNlbmRpZiAvLyBFTkFCTEUoSFRUUFNfVVBHUkFERSkKLQogfQog
CiB2b2lkIE5ldHdvcmtMb2FkQ2hlY2tlcjo6Y29udGludWVDaGVja2luZ1JlcXVlc3RPckRvU3lu
dGhldGljUmVkaXJlY3QoUmVzb3VyY2VSZXF1ZXN0JiYgb3JpZ2luYWxSZXF1ZXN0LCBSZXNvdXJj
ZVJlcXVlc3QmJiBjdXJyZW50UmVxdWVzdCwgVmFsaWRhdGlvbkhhbmRsZXImJiBoYW5kbGVyKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZENoZWNr
ZXIuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0xvYWRDaGVja2VyLmgK
aW5kZXggMjgzZjI2MjI4OGRiMTQ1ZWU2NTczNDViOGNkYzZhNTJhMzVkMzc1OC4uYTY3YjliNzJk
MDZiNTBmNzI2YzI1NDE5MzIyMzhlOTYyYzI1MmM1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZENoZWNrZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL05ldHdvcmtMb2FkQ2hlY2tlci5oCkBAIC01Miw3ICs1Miw3IEBAIGNs
YXNzIE5ldHdvcmtMb2FkQ2hlY2tlciA6IHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxOZXR3b3JrTG9h
ZENoZWNrZXI+IHsKIHB1YmxpYzoKICAgICBlbnVtIGNsYXNzIExvYWRUeXBlIDogYm9vbCB7IE1h
aW5GcmFtZSwgT3RoZXIgfTsKIAotICAgIE5ldHdvcmtMb2FkQ2hlY2tlcihXZWJDb3JlOjpGZXRj
aE9wdGlvbnMmJiwgUEFMOjpTZXNzaW9uSUQsIHVpbnQ2NF90IHBhZ2VJRCwgdWludDY0X3QgZnJh
bWVJRCwgV2ViQ29yZTo6SFRUUEhlYWRlck1hcCYmLCBVUkwmJiwgUmVmUHRyPFdlYkNvcmU6OlNl
Y3VyaXR5T3JpZ2luPiYmLCBXZWJDb3JlOjpQcmVmbGlnaHRQb2xpY3ksIFN0cmluZyYmIHJlZmVy
cmVyLCBib29sIHNob3VsZENhcHR1cmVFeHRyYU5ldHdvcmtMb2FkTWV0cmljcyA9IGZhbHNlLCBM
b2FkVHlwZSByZXF1ZXN0TG9hZFR5cGUgPSBMb2FkVHlwZTo6T3RoZXIpOworICAgIE5ldHdvcmtM
b2FkQ2hlY2tlcihXZWJDb3JlOjpGZXRjaE9wdGlvbnMmJiwgUEFMOjpTZXNzaW9uSUQsIHVpbnQ2
NF90IHBhZ2VJRCwgdWludDY0X3QgZnJhbWVJRCwgV2ViQ29yZTo6SFRUUEhlYWRlck1hcCYmLCBV
UkwmJiwgUmVmUHRyPFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luPiYmLCBXZWJDb3JlOjpQcmVmbGln
aHRQb2xpY3ksIGJvb2wgaXNIVFRQU1VwZ3JhZGVFbmFibGVkLCBTdHJpbmcmJiByZWZlcnJlciwg
Ym9vbCBzaG91bGRDYXB0dXJlRXh0cmFOZXR3b3JrTG9hZE1ldHJpY3MgPSBmYWxzZSwgTG9hZFR5
cGUgcmVxdWVzdExvYWRUeXBlID0gTG9hZFR5cGU6Ok90aGVyKTsKICAgICB+TmV0d29ya0xvYWRD
aGVja2VyKCk7CiAKICAgICBzdHJ1Y3QgUmVkaXJlY3Rpb25UcmlwbGV0IHsKQEAgLTExOSw5ICsx
MTksNyBAQCBwcml2YXRlOgogICAgIHZvaWQgcHJvY2Vzc0NvbnRlbnRFeHRlbnNpb25SdWxlc0Zv
ckxvYWQoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiYsIENvbnRlbnRFeHRlbnNpb25DYWxsYmFj
ayYmKTsKICNlbmRpZgogCi0jaWYgRU5BQkxFKEhUVFBTX1VQR1JBREUpCiAgICAgdm9pZCBhcHBs
eUhUVFBTVXBncmFkZUlmTmVlZGVkKFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYmLCBDb21wbGV0
aW9uSGFuZGxlcjx2b2lkKFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYmKT4mJikgY29uc3Q7Ci0j
ZW5kaWYgLy8gRU5BQkxFKEhUVFBTX1VQR1JBREUpCiAKICAgICBXZWJDb3JlOjpGZXRjaE9wdGlv
bnMgbV9vcHRpb25zOwogICAgIFdlYkNvcmU6OlN0b3JlZENyZWRlbnRpYWxzUG9saWN5IG1fc3Rv
cmVkQ3JlZGVudGlhbHNQb2xpY3k7CkBAIC0xNDksNiArMTQ3LDcgQEAgcHJpdmF0ZToKICAgICBT
dHJpbmcgbV9yZWZlcnJlcjsKICAgICBib29sIG1fY2hlY2tDb250ZW50RXh0ZW5zaW9ucyB7IGZh
bHNlIH07CiAgICAgYm9vbCBtX3Nob3VsZENhcHR1cmVFeHRyYU5ldHdvcmtMb2FkTWV0cmljcyB7
IGZhbHNlIH07CisgICAgYm9vbCBtX2lzSFRUUFNVcGdyYWRlRW5hYmxlZCB7IGZhbHNlIH07CiAg
ICAgV2ViQ29yZTo6TmV0d29ya0xvYWRJbmZvcm1hdGlvbiBtX2xvYWRJbmZvcm1hdGlvbjsKIAog
ICAgIExvYWRUeXBlIG1fcmVxdWVzdExvYWRUeXBlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCmluZGV4IGU5NDg3MTAyODdlZDY5ZDExYzIyMmVlNGVj
MzU4OGRmZWM5YTJmN2MuLjg0YjJhY2YxM2RkYzU1ZWFiNTEyZGUwZmE0OTI4MzEzODI3ZDM1OGYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3Mu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKQEAg
LTIwNSw5ICsyMDUsOSBAQCBwdWJsaWM6CiAgICAgYm9vbCBwYXJlbnRQcm9jZXNzSGFzU2Vydmlj
ZVdvcmtlckVudGl0bGVtZW50KCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogI2VuZGlmCiAKLSNp
ZiBFTkFCTEUoSFRUUFNfVVBHUkFERSkKLSAgICBOZXR3b3JrSFRUUFNVcGdyYWRlQ2hlY2tlciYg
bmV0d29ya0hUVFBTVXBncmFkZUNoZWNrZXIoKSB7IHJldHVybiBtX25ldHdvcmtIVFRQU1VwZ3Jh
ZGVDaGVja2VyOyB9OwotI2VuZGlmIC8vIEVOQUJMRShIVFRQU19VUEdSQURFKQorI2lmIFBMQVRG
T1JNKENPQ09BKQorICAgIE5ldHdvcmtIVFRQU1VwZ3JhZGVDaGVja2VyJiBuZXR3b3JrSFRUUFNV
cGdyYWRlQ2hlY2tlcigpIHsgcmV0dXJuIG1fbmV0d29ya0hUVFBTVXBncmFkZUNoZWNrZXI7IH0K
KyNlbmRpZgogCiBwcml2YXRlOgogICAgIE5ldHdvcmtQcm9jZXNzKCk7CkBAIC0zOTgsOSArMzk4
LDkgQEAgcHJpdmF0ZToKICAgICBIYXNoTWFwPFdlYkNvcmU6OlNXU2VydmVyQ29ubmVjdGlvbklk
ZW50aWZpZXIsIFdlYlNXU2VydmVyQ29ubmVjdGlvbio+IG1fc3dTZXJ2ZXJDb25uZWN0aW9uczsK
ICNlbmRpZgogCi0jaWYgRU5BQkxFKEhUVFBTX1VQR1JBREUpCisjaWYgUExBVEZPUk0oQ09DT0Ep
CiAgICAgTmV0d29ya0hUVFBTVXBncmFkZUNoZWNrZXIgbV9uZXR3b3JrSFRUUFNVcGdyYWRlQ2hl
Y2tlcjsKLSNlbmRpZiAvLyBFTkFCTEUoSFRUUFNfVVBHUkFERSkKKyNlbmRpZgogfTsKIAogfSAv
LyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMuY3BwCmluZGV4IDBjZmVl
YTVjY2QwNjNmY2E3ZjYxMGFiNmM5ZDViMWQyYzJiZDllZmMuLjgwYjcwYWFhYjIyNzkxMDdjZTBi
ZGE2N2E2ZWNhMjEwNzVhMmJlZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMuY3BwCkBAIC05
NCw2ICs5NCw3IEBAIHZvaWQgTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnM6OmVuY29kZShJ
UEM6OkVuY29kZXImIGVuY29kZXIpIGNvbnN0CiAgICAgZW5jb2RlciA8PCBzaG91bGRFbmFibGVD
cm9zc09yaWdpblJlc291cmNlUG9saWN5OwogCiAgICAgZW5jb2RlciA8PCBmcmFtZUFuY2VzdG9y
T3JpZ2luczsKKyAgICBlbmNvZGVyIDw8IGlzSFRUUFNVcGdyYWRlRW5hYmxlZDsKIAogI2lmIEVO
QUJMRShDT05URU5UX0VYVEVOU0lPTlMpCiAgICAgZW5jb2RlciA8PCBtYWluRG9jdW1lbnRVUkw7
CkBAIC0yMDQsNiArMjA1LDEyIEBAIGJvb2wgTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnM6
OmRlY29kZShJUEM6OkRlY29kZXImIGRlY29kZXIsIE5ldHdvcmtSZXNvdXJjCiAKICAgICBpZiAo
IWRlY29kZXIuZGVjb2RlKHJlc3VsdC5mcmFtZUFuY2VzdG9yT3JpZ2lucykpCiAgICAgICAgIHJl
dHVybiBmYWxzZTsKKworICAgIE9wdGlvbmFsPGJvb2w+IGlzSFRUUFNVcGdyYWRlRW5hYmxlZDsK
KyAgICBkZWNvZGVyID4+IGlzSFRUUFNVcGdyYWRlRW5hYmxlZDsKKyAgICBpZiAoIWlzSFRUUFNV
cGdyYWRlRW5hYmxlZCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIHJlc3VsdC5pc0hUVFBT
VXBncmFkZUVuYWJsZWQgPSAqaXNIVFRQU1VwZ3JhZGVFbmFibGVkOwogICAgIAogI2lmIEVOQUJM
RShDT05URU5UX0VYVEVOU0lPTlMpCiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQubWFp
bkRvY3VtZW50VVJMKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
TmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMuaAppbmRleCAxMzI3MTBmY2UwYTVj
YmQ5YTgwZTYyZGRiOThmZjQ0MzVhZTFhM2M1Li5iMDVmZjgwM2YxNzE5MGFkZTMxOWNkYTA2M2Rh
MDMxNDA2ZTRmMzc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05l
dHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycy5oCkBAIC01OSw2ICs1OSw3IEBA
IHB1YmxpYzoKICAgICBXZWJDb3JlOjpQcmVmbGlnaHRQb2xpY3kgcHJlZmxpZ2h0UG9saWN5IHsg
V2ViQ29yZTo6UHJlZmxpZ2h0UG9saWN5OjpDb25zaWRlciB9OwogICAgIGJvb2wgc2hvdWxkRW5h
YmxlQ3Jvc3NPcmlnaW5SZXNvdXJjZVBvbGljeSB7IGZhbHNlIH07CiAgICAgVmVjdG9yPFJlZlB0
cjxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbj4+IGZyYW1lQW5jZXN0b3JPcmlnaW5zOworICAgIGJv
b2wgaXNIVFRQU1VwZ3JhZGVFbmFibGVkIHsgZmFsc2UgfTsKIAogI2lmIEVOQUJMRShDT05URU5U
X0VYVEVOU0lPTlMpCiAgICAgVVJMIG1haW5Eb2N1bWVudFVSTDsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcAppbmRleCA3
N2ZhOGVhMjlkNjViYTE2ZGFlMGNkOGUzNWMyMmU2Zjk5NGI5ZDdmLi45OTcwMDFhYjkzMmYzZjAx
ZDAxOTNlNTZmMGM5MjFiOWZmMWIzYmY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC0xMTIsNyArMTEyLDcg
QEAgTmV0d29ya1Jlc291cmNlTG9hZGVyOjpOZXR3b3JrUmVzb3VyY2VMb2FkZXIoTmV0d29ya1Jl
c291cmNlTG9hZFBhcmFtZXRlcnMmJiBwYXIKIAogICAgIGlmIChzeW5jaHJvbm91c1JlcGx5IHx8
IHBhcmFtZXRlcnMuc2hvdWxkUmVzdHJpY3RIVFRQUmVzcG9uc2VBY2Nlc3MpIHsKICAgICAgICAg
TmV0d29ya0xvYWRDaGVja2VyOjpMb2FkVHlwZSByZXF1ZXN0TG9hZFR5cGUgPSBpc01haW5GcmFt
ZUxvYWQoKSA/IE5ldHdvcmtMb2FkQ2hlY2tlcjo6TG9hZFR5cGU6Ok1haW5GcmFtZSA6IE5ldHdv
cmtMb2FkQ2hlY2tlcjo6TG9hZFR5cGU6Ok90aGVyOwotICAgICAgICBtX25ldHdvcmtMb2FkQ2hl
Y2tlciA9IHN0ZDo6bWFrZV91bmlxdWU8TmV0d29ya0xvYWRDaGVja2VyPihGZXRjaE9wdGlvbnMg
eyBtX3BhcmFtZXRlcnMub3B0aW9ucyB9LCBtX3BhcmFtZXRlcnMuc2Vzc2lvbklELCBtX3BhcmFt
ZXRlcnMud2ViUGFnZUlELCBtX3BhcmFtZXRlcnMud2ViRnJhbWVJRCwgSFRUUEhlYWRlck1hcCB7
IG1fcGFyYW1ldGVycy5vcmlnaW5hbFJlcXVlc3RIZWFkZXJzIH0sIFVSTCB7IG1fcGFyYW1ldGVy
cy5yZXF1ZXN0LnVybCgpIH0sIG1fcGFyYW1ldGVycy5zb3VyY2VPcmlnaW4uY29weVJlZigpLCBt
X3BhcmFtZXRlcnMucHJlZmxpZ2h0UG9saWN5LCBvcmlnaW5hbFJlcXVlc3QoKS5odHRwUmVmZXJy
ZXIoKSwgc2hvdWxkQ2FwdHVyZUV4dHJhTmV0d29ya0xvYWRNZXRyaWNzKCksIHJlcXVlc3RMb2Fk
VHlwZSk7CisgICAgICAgIG1fbmV0d29ya0xvYWRDaGVja2VyID0gc3RkOjptYWtlX3VuaXF1ZTxO
ZXR3b3JrTG9hZENoZWNrZXI+KEZldGNoT3B0aW9ucyB7IG1fcGFyYW1ldGVycy5vcHRpb25zIH0s
IG1fcGFyYW1ldGVycy5zZXNzaW9uSUQsIG1fcGFyYW1ldGVycy53ZWJQYWdlSUQsIG1fcGFyYW1l
dGVycy53ZWJGcmFtZUlELCBIVFRQSGVhZGVyTWFwIHsgbV9wYXJhbWV0ZXJzLm9yaWdpbmFsUmVx
dWVzdEhlYWRlcnMgfSwgVVJMIHsgbV9wYXJhbWV0ZXJzLnJlcXVlc3QudXJsKCkgfSwgbV9wYXJh
bWV0ZXJzLnNvdXJjZU9yaWdpbi5jb3B5UmVmKCksIG1fcGFyYW1ldGVycy5wcmVmbGlnaHRQb2xp
Y3ksIG1fcGFyYW1ldGVycy5pc0hUVFBTVXBncmFkZUVuYWJsZWQsIG9yaWdpbmFsUmVxdWVzdCgp
Lmh0dHBSZWZlcnJlcigpLCBzaG91bGRDYXB0dXJlRXh0cmFOZXR3b3JrTG9hZE1ldHJpY3MoKSwg
cmVxdWVzdExvYWRUeXBlKTsKICAgICAgICAgaWYgKG1fcGFyYW1ldGVycy5jc3BSZXNwb25zZUhl
YWRlcnMpCiAgICAgICAgICAgICBtX25ldHdvcmtMb2FkQ2hlY2tlci0+c2V0Q1NQUmVzcG9uc2VI
ZWFkZXJzKENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyB7IG1fcGFyYW1ldGVy
cy5jc3BSZXNwb25zZUhlYWRlcnMudmFsdWUoKSB9KTsKICNpZiBFTkFCTEUoQ09OVEVOVF9FWFRF
TlNJT05TKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9QaW5nTG9h
ZC5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1BpbmdMb2FkLmNwcAppbmRleCBj
YTAxNWVmYWMzNDJlNzM0MTQ0ZDE1NGE1ZGU5NWExM2JjOTYyN2Q2Li4xNzEzYTVhYTUxNmIzMTM4
MGZmOThlMzZjMjAzNmM1ZDYzMWQwY2VjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL1BpbmdMb2FkLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L1BpbmdMb2FkLmNwcApAQCAtNDMsNyArNDMsNyBAQCBQaW5nTG9hZDo6UGluZ0xvYWQoTmV0d29y
a1Jlc291cmNlTG9hZFBhcmFtZXRlcnMmJiBwYXJhbWV0ZXJzLCBDb21wbGV0aW9uSGFuZGxlcgog
ICAgIDogbV9wYXJhbWV0ZXJzKFdURk1vdmUocGFyYW1ldGVycykpCiAgICAgLCBtX2NvbXBsZXRp
b25IYW5kbGVyKFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKQogICAgICwgbV90aW1lb3V0VGlt
ZXIoKnRoaXMsICZQaW5nTG9hZDo6dGltZW91dFRpbWVyRmlyZWQpCi0gICAgLCBtX25ldHdvcmtM
b2FkQ2hlY2tlcihtYWtlVW5pcXVlUmVmPE5ldHdvcmtMb2FkQ2hlY2tlcj4oRmV0Y2hPcHRpb25z
IHsgbV9wYXJhbWV0ZXJzLm9wdGlvbnN9LCBtX3BhcmFtZXRlcnMuc2Vzc2lvbklELCBtX3BhcmFt
ZXRlcnMud2ViUGFnZUlELCBtX3BhcmFtZXRlcnMud2ViRnJhbWVJRCwgV1RGTW92ZShtX3BhcmFt
ZXRlcnMub3JpZ2luYWxSZXF1ZXN0SGVhZGVycyksIFVSTCB7IG1fcGFyYW1ldGVycy5yZXF1ZXN0
LnVybCgpIH0sIG1fcGFyYW1ldGVycy5zb3VyY2VPcmlnaW4uY29weVJlZigpLCBtX3BhcmFtZXRl
cnMucHJlZmxpZ2h0UG9saWN5LCBtX3BhcmFtZXRlcnMucmVxdWVzdC5odHRwUmVmZXJyZXIoKSkp
CisgICAgLCBtX25ldHdvcmtMb2FkQ2hlY2tlcihtYWtlVW5pcXVlUmVmPE5ldHdvcmtMb2FkQ2hl
Y2tlcj4oRmV0Y2hPcHRpb25zIHsgbV9wYXJhbWV0ZXJzLm9wdGlvbnN9LCBtX3BhcmFtZXRlcnMu
c2Vzc2lvbklELCBtX3BhcmFtZXRlcnMud2ViUGFnZUlELCBtX3BhcmFtZXRlcnMud2ViRnJhbWVJ
RCwgV1RGTW92ZShtX3BhcmFtZXRlcnMub3JpZ2luYWxSZXF1ZXN0SGVhZGVycyksIFVSTCB7IG1f
cGFyYW1ldGVycy5yZXF1ZXN0LnVybCgpIH0sIG1fcGFyYW1ldGVycy5zb3VyY2VPcmlnaW4uY29w
eVJlZigpLCBtX3BhcmFtZXRlcnMucHJlZmxpZ2h0UG9saWN5LCBmYWxzZSwgbV9wYXJhbWV0ZXJz
LnJlcXVlc3QuaHR0cFJlZmVycmVyKCkpKQogewogICAgIG1fbmV0d29ya0xvYWRDaGVja2VyLT5l
bmFibGVDb250ZW50RXh0ZW5zaW9uc0NoZWNrKCk7CiAgICAgaWYgKG1fcGFyYW1ldGVycy5jc3BS
ZXNwb25zZUhlYWRlcnMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9IVFRQU1Vw
Z3JhZGUvSFRUUFNVcGdyYWRlTGlzdC50eHQgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9IVFRQU1Vw
Z3JhZGUvSFRUUFNVcGdyYWRlTGlzdC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDhhMWFlZmNmZTg1MDQ0YTc2
OWE4MjZhYTZkZjljM2U5MzUwM2ViOAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL0hUVFBTVXBncmFkZS9IVFRQU1VwZ3JhZGVMaXN0LnR4dApAQCAtMCwwICsxLDMgQEAK
K3d3dy5iYmMuY29tCit3d3cuc3BlZWR0ZXN0Lm5ldAord3d3LmJlYS5nb3YKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwgYi9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCmluZGV4IDA3N2JkZTM1ZWE1NjJlYzM0M2VjZTBj
YjUyMDVjYTllMWRiMTAwMGUuLmY4NTY1NjhhMDY0NzIxZjg1MmIzMzBmNDRlMTFkZDlmOTc2NmI1
NGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwK
KysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbApAQCAtMzUsNiAr
MzUsMTMgQEAgUGx1Z2luc0VuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKICAgZGVmYXVsdFZhbHVlOiBm
YWxzZQogCitIVFRQU1VwZ3JhZGVFbmFibGVkOgorICAgdHlwZTogYm9vbAorICAgZGVmYXVsdFZh
bHVlOiBmYWxzZQorICAgaHVtYW5SZWFkYWJsZU5hbWU6ICJBdXRvbWF0aWMgSFRUUFMgdXBncmFk
ZSIKKyAgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkF1dG9tYXRpYyBIVFRQUyB1cGdyYWRl
IGZvciBzaXRlcyB0aGF0IHN1cHBvcnQgaXQiCisgICBjYXRlZ29yeTogZXhwZXJpbWVudGFsCisK
IEphdmFFbmFibGVkOgogICB0eXBlOiBib29sCiAgIGRlZmF1bHRWYWx1ZTogZmFsc2UKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5
LmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5
LmNwcAppbmRleCAxNjIzYjIwMDkwOGJlMjBhMjZkOTBmMjEwMmEwYTg1ZTY2N2EzMzc5Li44NGMx
MmEwNGE2ODIxNWI0MTE4OWYzNmQ1ZjAxNzNiMzI2NWMyYzViIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJMb2FkZXJTdHJhdGVneS5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3kuY3BwCkBAIC0y
NzUsNiArMjc1LDcgQEAgdm9pZCBXZWJMb2FkZXJTdHJhdGVneTo6c2NoZWR1bGVMb2FkRnJvbU5l
dHdvcmtQcm9jZXNzKFJlc291cmNlTG9hZGVyJiByZXNvdXJjZUwKICAgICBsb2FkUGFyYW1ldGVy
cy5tYXhpbXVtQnVmZmVyaW5nVGltZSA9IG1heGltdW1CdWZmZXJpbmdUaW1lOwogICAgIGxvYWRQ
YXJhbWV0ZXJzLm9wdGlvbnMgPSByZXNvdXJjZUxvYWRlci5vcHRpb25zKCk7CiAgICAgbG9hZFBh
cmFtZXRlcnMucHJlZmxpZ2h0UG9saWN5ID0gcmVzb3VyY2VMb2FkZXIub3B0aW9ucygpLnByZWZs
aWdodFBvbGljeTsKKyAgICBsb2FkUGFyYW1ldGVycy5pc0hUVFBTVXBncmFkZUVuYWJsZWQgPSBy
ZXNvdXJjZUxvYWRlci5mcmFtZSgpID8gcmVzb3VyY2VMb2FkZXIuZnJhbWUoKS0+c2V0dGluZ3Mo
KS5IVFRQU1VwZ3JhZGVFbmFibGVkKCkgOiBmYWxzZTsKIAogICAgIGF1dG8qIGRvY3VtZW50ID0g
cmVzb3VyY2VMb2FkZXIuZnJhbWUoKSA/IHJlc291cmNlTG9hZGVyLmZyYW1lKCktPmRvY3VtZW50
KCkgOiBudWxscHRyOwogICAgIGlmIChyZXNvdXJjZUxvYWRlci5vcHRpb25zKCkuY3NwUmVzcG9u
c2VIZWFkZXJzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jb25maWcuaCBiL1NvdXJjZS9X
ZWJLaXQvY29uZmlnLmgKaW5kZXggMDdkMGQ4YTllMzE3OTY5MDIwZjI2YzY5MTllZGM4ZjUwNjZl
YzgyNS4uZDllOGQ2OTk1MWFhM2U3MWE2MGQ2ODUxZTY1NWQ3MDBlNzFlOGQ3MSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9jb25maWcuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2NvbmZpZy5oCkBA
IC03OSw2ICs3OSwzIEBACiAjZW5kaWYKICNlbmRpZgogCi0jaWZuZGVmIEVOQUJMRV9IVFRQU19V
UEdSQURFCi0jZGVmaW5lIEVOQUJMRV9IVFRQU19VUEdSQURFIDAKLSNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>357833</attachid>
            <date>2018-12-20 10:54:09 -0800</date>
            <delta_ts>2018-12-20 11:41:35 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-192937-20181220105408.patch</filename>
            <type>text/plain</type>
            <size>21429</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM5NDQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmFiOTExZmRmN2NiMzQ0
NmU1NmFmYThmNDlmZGJjY2Q1Mzg1OTM1Ni4uNDFlMmYzYzg2YWViNWI1ZWE0ZjMxYWVlOWFlODll
NzI5ZWNlNWMzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE4LTEyLTIwICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgTW92ZSBIVFRQU19VUEdSQURF
IGNvZGUgYmVoaW5kIGEgcnVudGltZSBmbGFnLCBvZmYgYnkgZGVmYXVsdAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkyOTM3CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTW92ZSBIVFRQU19VUEdSQURFIGNv
ZGUgYmVoaW5kIGEgcnVudGltZSBmbGFnLCBvZmYgYnkgZGVmYXVsdCBhbmQgZHJvcCB0aGUgYnVp
bGQgdGltZSBmbGFnLgorCisgICAgICAgICogcGFnZS9TZXR0aW5ncy55YW1sOgorCiAyMDE4LTEy
LTE5ICBNaWNoYWVsIENhdGFuemFybyAgPG1jYXRhbnphcm9AaWdhbGlhLmNvbT4KIAogICAgICAg
ICBVbnJldmlld2VkLCBmaXggR1RLIGJ1aWxkIGFmdGVyIHIyMzk0MTAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggNTll
MjNmYjZkYjlhMTdiNzNkODJlODA3NjBjZGE3N2M2YjYxNWFkZC4uZDIxZTFhZTRkOGNjZTljZGQ1
ZWEyMzdlMDQ5ODUxY2E3Y2RlYmVjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNSBAQAorMjAxOC0x
Mi0yMCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIE1vdmUgSFRU
UFNfVVBHUkFERSBjb2RlIGJlaGluZCBhIHJ1bnRpbWUgZmxhZywgb2ZmIGJ5IGRlZmF1bHQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MjkzNworCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1vdmUgSFRUUFNf
VVBHUkFERSBjb2RlIGJlaGluZCBhIHJ1bnRpbWUgZmxhZywgb2ZmIGJ5IGRlZmF1bHQgYW5kIGRy
b3AgdGhlIGJ1aWxkIHRpbWUgZmxhZy4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL1dlYktp
dC54Y2NvbmZpZzoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIE5l
dHdvcmtQcm9jZXNzL05ldHdvcmtIVFRQU1VwZ3JhZGVDaGVja2VyLmNwcDoKKyAgICAgICAgKiBO
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrSFRUUFNVcGdyYWRlQ2hlY2tlci5oOgorICAgICAgICAqIE5l
dHdvcmtQcm9jZXNzL05ldHdvcmtMb2FkQ2hlY2tlci5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5l
dHdvcmtMb2FkQ2hlY2tlcjo6TmV0d29ya0xvYWRDaGVja2VyKToKKyAgICAgICAgKFdlYktpdDo6
TmV0d29ya0xvYWRDaGVja2VyOjphcHBseUhUVFBTVXBncmFkZUlmTmVlZGVkIGNvbnN0KToKKyAg
ICAgICAgKFdlYktpdDo6TmV0d29ya0xvYWRDaGVja2VyOjpjaGVja1JlcXVlc3QpOgorICAgICAg
ICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtMb2FkQ2hlY2tlci5oOgorICAgICAgICAqIE5ldHdv
cmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmg6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9j
ZXNzOjpuZXR3b3JrSFRUUFNVcGdyYWRlQ2hlY2tlcik6CisgICAgICAgICogTmV0d29ya1Byb2Nl
c3MvTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMuY3BwOgorICAgICAgICAoV2ViS2l0OjpO
ZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVyczo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdl
YktpdDo6TmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnM6OmRlY29kZSk6CisgICAgICAgICog
TmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMuaDoKKyAgICAgICAg
KiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAqIE5l
dHdvcmtQcm9jZXNzL1BpbmdMb2FkLmNwcDoKKyAgICAgICAgKFdlYktpdDo6UGluZ0xvYWQ6OlBp
bmdMb2FkKToKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbDoKKyAgICAgICAg
KiBXZWJQcm9jZXNzL05ldHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3kuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJMb2FkZXJTdHJhdGVneTo6c2NoZWR1bGVMb2FkRnJvbU5ldHdvcmtQcm9jZXNzKToK
KyAgICAgICAgKiBjb25maWcuaDoKKwogMjAxOC0xMi0yMCAgV2Vuc29uIEhzaWVoICA8d2Vuc29u
X2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9TXSBGb2N1c2luZyBhbiBlZGl0YWJsZSBl
bGVtZW50IHNob3VsZCBzY3JvbGwgdG8gcmV2ZWFsIHRoZSBzZWxlY3Rpb24KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MueWFtbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
U2V0dGluZ3MueWFtbAppbmRleCBhNzk3MTkzODZiM2MyY2Y5MzQ1ZjU4MDZiZGFjMDNiZjU3NDNh
MTlhLi5jYjI5ZWFjM2VmZmQ0YjkwYWNjZTI4ZTU4NDU5MDJkY2FmOGQ3YzVhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLnlhbWwKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9TZXR0aW5ncy55YW1sCkBAIC0zMjksNiArMzI5LDkgQEAgd2FudHNCYWxhbmNlZFNldERl
ZmVyc0xvYWRpbmdCZWhhdmlvcjoKIHJlcXVlc3RBbmltYXRpb25GcmFtZUVuYWJsZWQ6CiAgIGlu
aXRpYWw6IHRydWUKIAorSFRUUFNVcGdyYWRlRW5hYmxlZDoKKyAgaW5pdGlhbDogZmFsc2UKKwog
Y29va2llRW5hYmxlZDoKICAgaW5pdGlhbDogdHJ1ZQogbWVkaWFFbmFibGVkOgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9XZWJLaXQueGNjb25maWcgYi9Tb3VyY2Uv
V2ViS2l0L0NvbmZpZ3VyYXRpb25zL1dlYktpdC54Y2NvbmZpZwppbmRleCAyNDUzNjg0ZWIyZjE1
YjIyZjkwYjAxMmY0NTI5NmVjYjkwNzhjMTM3Li5mMjMxOGVjNGU5YWZmNmZkOGJiOWRjZjQ3NDIw
YzFlZTY4Y2VmZjJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL1dl
YktpdC54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL1dlYktpdC54
Y2NvbmZpZwpAQCAtMTUxLDExICsxNTEsOCBAQCBTRUNUT1JERVJfRkxBR1MgPSAkKFNFQ1RPUkRF
Ul9GTEFHU18kKENPTkZJR1VSQVRJT04pKTsKIFNFQ1RPUkRFUl9GTEFHU19Qcm9kdWN0aW9uW3Nk
az1pcGhvbmVvcypdID0gLVdsLC1vcmRlcl9maWxlLCQoU0RLUk9PVCkvQXBwbGVJbnRlcm5hbC9P
cmRlckZpbGVzL1dlYktpdC5vcmRlcjsKIFNFQ1RPUkRFUl9GTEFHU19Qcm9kdWN0aW9uW3Nkaz1t
YWNvc3gqXSA9IC1XbCwtb3JkZXJfZmlsZSxtYWMvV2ViS2l0Mi5vcmRlcjsKIAotV0tfRVhDTFVE
RURfSFRUUFNfVVBHUkFERV9GSUxFID0gJChXS19FWENMVURFRF9IVFRQU19VUEdSQURFX0ZJTEVf
JChFTkFCTEVfSFRUUFNfVVBHUkFERSkpOwotV0tfRVhDTFVERURfSFRUUFNfVVBHUkFERV9GSUxF
XyA9IEhUVFBTVXBncmFkZUxpc3QuZGI7Ci0KLUVYQ0xVREVEX1NPVVJDRV9GSUxFX05BTUVTID0g
UmVzb3VyY2VzL2lvcy8qICQoV0tfRVhDTFVERURfSFRUUFNfVVBHUkFERV9GSUxFKTsKLUVYQ0xV
REVEX1NPVVJDRV9GSUxFX05BTUVTW3Nkaz1pcGhvbmUqXSA9IFBsdWdpblByb2Nlc3NTaGltLmR5
bGliIFNlY0l0ZW1TaGltLmR5bGliIFdlYlByb2Nlc3NTaGltLmR5bGliICoucGRmIFJlc291cmNl
cy9tYWMvKiBjb20uYXBwbGUuV2ViS2l0Lk5ldHdvcmtQcm9jZXNzLnNiIGNvbS5hcHBsZS5XZWJQ
cm9jZXNzLnNiIGNvbS5hcHBsZS5XZWJLaXQucGx1Z2luLWNvbW1vbi5zYiBQbHVnSW5TYW5kYm94
UHJvZmlsZXMvKi5zYiAkKFdLX0VYQ0xVREVEX0hUVFBTX1VQR1JBREVfRklMRSk7CitFWENMVURF
RF9TT1VSQ0VfRklMRV9OQU1FUyA9IFJlc291cmNlcy9pb3MvKjsKK0VYQ0xVREVEX1NPVVJDRV9G
SUxFX05BTUVTW3Nkaz1pcGhvbmUqXSA9IFBsdWdpblByb2Nlc3NTaGltLmR5bGliIFNlY0l0ZW1T
aGltLmR5bGliIFdlYlByb2Nlc3NTaGltLmR5bGliICoucGRmIFJlc291cmNlcy9tYWMvKiBjb20u
YXBwbGUuV2ViS2l0Lk5ldHdvcmtQcm9jZXNzLnNiIGNvbS5hcHBsZS5XZWJQcm9jZXNzLnNiIGNv
bS5hcHBsZS5XZWJLaXQucGx1Z2luLWNvbW1vbi5zYiBQbHVnSW5TYW5kYm94UHJvZmlsZXMvKi5z
YjsKIAogSU5TVEFMTEhEUlNfU0NSSVBUX1BIQVNFID0gWUVTOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3Vy
Y2VzLm1ha2UKaW5kZXggMmZkZTU1NTBjZjRkNzBhZGMwOWRlZjM1N2E5ODc4MjI3M2U1NTQ3Mi4u
MTUzM2YwNjI0MGVmNjk2MGI2ZDRiMDVjYTA0YzhlMDgzYTJlNDM5MyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJLaXQvRGVyaXZl
ZFNvdXJjZXMubWFrZQpAQCAtMzE2LDggKzMxNiw3IEBAICQoV0VCX1BSRUZFUkVOQ0VTX0NPTUJJ
TkVEX0lOUFVUX0ZJTEUpIDogJChXRUJfUFJFRkVSRU5DRVNfSU5QVVRfRklMRVMpCiAkKFdFQl9Q
UkVGRVJFTkNFU19QQVRURVJOUykgOiAkKFdlYktpdDIpL1NjcmlwdHMvR2VuZXJhdGVQcmVmZXJl
bmNlcy5yYiAkKFdFQl9QUkVGRVJFTkNFU19URU1QTEFURVMpICQoV0VCX1BSRUZFUkVOQ0VTX0NP
TUJJTkVEX0lOUFVUX0ZJTEUpCiAJJChSVUJZKSAkPCAtLWlucHV0ICQoV0VCX1BSRUZFUkVOQ0VT
X0NPTUJJTkVEX0lOUFVUX0ZJTEUpCiAKLWlmZXEgKCQoRU5BQkxFX0hUVFBTX1VQR1JBREUpLEVO
QUJMRV9IVFRQU19VUEdSQURFKQorVlBBVEggKz0gJChXZWJLaXQyKS9TaGFyZWQvSFRUUFNVcGdy
YWRlLwogYWxsIDogSFRUUFNVcGdyYWRlTGlzdC5kYgogSFRUUFNVcGdyYWRlTGlzdC5kYiA6IEhU
VFBTVXBncmFkZUxpc3QudHh0ICQoV2ViS2l0MikvU2NyaXB0cy9nZW5lcmF0ZS1odHRwcy11cGdy
YWRlLWRhdGFiYXNlLnNoCiAJc2ggJChXZWJLaXQyKS9TY3JpcHRzL2dlbmVyYXRlLWh0dHBzLXVw
Z3JhZGUtZGF0YWJhc2Uuc2ggJDwgJEAKLWVuZGlmICMgRU5BQkxFX0hUVFBTX1VQR1JBREUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0hUVFBTVXBncmFk
ZUNoZWNrZXIuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrSFRUUFNV
cGdyYWRlQ2hlY2tlci5jcHAKaW5kZXggNzNiNDZjMDlmNmJmZGI1Nzg2ZjY4NWFlNDZkNTRhMzM1
OWMwODljYS4uNzJkYThmMjdmOTUxZTdlMWUyOWY3MmIxYjRjNGIwOTAzNTMwM2IzZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrSFRUUFNVcGdyYWRlQ2hl
Y2tlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrSFRUUFNV
cGdyYWRlQ2hlY2tlci5jcHAKQEAgLTI2LDggKzI2LDYgQEAKICNpbmNsdWRlICJjb25maWcuaCIK
ICNpbmNsdWRlICJOZXR3b3JrSFRUUFNVcGdyYWRlQ2hlY2tlci5oIgogCi0jaWYgRU5BQkxFKEhU
VFBTX1VQR1JBREUpCi0KICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9T
UUxpdGVEYXRhYmFzZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvU1FMaXRlU3RhdGVtZW50Lmg+CkBA
IC0xMTMsNCArMTExLDMgQEAgdm9pZCBOZXR3b3JrSFRUUFNVcGdyYWRlQ2hlY2tlcjo6cXVlcnko
U3RyaW5nJiYgaG9zdCwgUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELAogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJLaXQKIAotI2VuZGlmIC8vIEVOQUJMRShIVFRQU19VUEdSQURFKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrSFRUUFNVcGdyYWRlQ2hlY2tlci5o
IGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrSFRUUFNVcGdyYWRlQ2hlY2tl
ci5oCmluZGV4IGM2MzAzYTc2MTQwYjYwOGRjNTRhOGRhMmZkYTA5N2U0ZTRiOWFkZjEuLjM4Mzdl
Njc3YjczMDVlNjVlMGQ1ZGM1ZDI5NDM4ZDlhMTU5NGM0OWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0hUVFBTVXBncmFkZUNoZWNrZXIuaAorKysgYi9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtIVFRQU1VwZ3JhZGVDaGVja2VyLmgK
QEAgLTI1LDggKzI1LDYgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpZiBFTkFCTEUoSFRUUFNfVVBH
UkFERSkKLQogI2luY2x1ZGUgPHd0Zi9VbmlxdWVSZWYuaD4KIAogbmFtZXNwYWNlIFdURiB7CkBA
IC02NCw0ICs2MiwzIEBAIHByaXZhdGU6CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCi0jZW5k
aWYgLy8gRU5BQkxFKEhUVFBTX1VQR1JBREUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL05ldHdvcmtMb2FkQ2hlY2tlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL05ldHdvcmtMb2FkQ2hlY2tlci5jcHAKaW5kZXggMGYzMDJkYzY4MTVlMmU5OGIw
ZDAzMmUzMmI2YzE3MWI1NGY1MzA2ZC4uYWVmYTAxOTg0ZjFmMmE4NDAwNmExNGM5M2Y5YWE0NGNh
N2Q0Y2MyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3Jr
TG9hZENoZWNrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29y
a0xvYWRDaGVja2VyLmNwcApAQCAtNDYsNyArNDYsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgaXNT
YW1lT3JpZ2luKGNvbnN0IFVSTCYgdXJsLCBjb25zdCBTZWN1cml0eU9yaWdpbiogb3JpZ2luKQog
ICAgIHJldHVybiB1cmwucHJvdG9jb2xJc0RhdGEoKSB8fCB1cmwucHJvdG9jb2xJc0Jsb2IoKSB8
fCAhb3JpZ2luIHx8IG9yaWdpbi0+Y2FuUmVxdWVzdCh1cmwpOwogfQogCi1OZXR3b3JrTG9hZENo
ZWNrZXI6Ok5ldHdvcmtMb2FkQ2hlY2tlcihGZXRjaE9wdGlvbnMmJiBvcHRpb25zLCBQQUw6OlNl
c3Npb25JRCBzZXNzaW9uSUQsIHVpbnQ2NF90IHBhZ2VJRCwgdWludDY0X3QgZnJhbWVJRCwgSFRU
UEhlYWRlck1hcCYmIG9yaWdpbmFsUmVxdWVzdEhlYWRlcnMsIFVSTCYmIHVybCwgUmVmUHRyPFNl
Y3VyaXR5T3JpZ2luPiYmIHNvdXJjZU9yaWdpbiwgUHJlZmxpZ2h0UG9saWN5IHByZWZsaWdodFBv
bGljeSwgU3RyaW5nJiYgcmVmZXJyZXIsIGJvb2wgc2hvdWxkQ2FwdHVyZUV4dHJhTmV0d29ya0xv
YWRNZXRyaWNzLCBMb2FkVHlwZSByZXF1ZXN0TG9hZFR5cGUpCitOZXR3b3JrTG9hZENoZWNrZXI6
Ok5ldHdvcmtMb2FkQ2hlY2tlcihGZXRjaE9wdGlvbnMmJiBvcHRpb25zLCBQQUw6OlNlc3Npb25J
RCBzZXNzaW9uSUQsIHVpbnQ2NF90IHBhZ2VJRCwgdWludDY0X3QgZnJhbWVJRCwgSFRUUEhlYWRl
ck1hcCYmIG9yaWdpbmFsUmVxdWVzdEhlYWRlcnMsIFVSTCYmIHVybCwgUmVmUHRyPFNlY3VyaXR5
T3JpZ2luPiYmIHNvdXJjZU9yaWdpbiwgUHJlZmxpZ2h0UG9saWN5IHByZWZsaWdodFBvbGljeSwg
Ym9vbCBpc0hUVFBTVXBncmFkZUVuYWJsZWQsIFN0cmluZyYmIHJlZmVycmVyLCBib29sIHNob3Vs
ZENhcHR1cmVFeHRyYU5ldHdvcmtMb2FkTWV0cmljcywgTG9hZFR5cGUgcmVxdWVzdExvYWRUeXBl
KQogICAgIDogbV9vcHRpb25zKFdURk1vdmUob3B0aW9ucykpCiAgICAgLCBtX3Nlc3Npb25JRChz
ZXNzaW9uSUQpCiAgICAgLCBtX3BhZ2VJRChwYWdlSUQpCkBAIC01Nyw2ICs1Nyw3IEBAIE5ldHdv
cmtMb2FkQ2hlY2tlcjo6TmV0d29ya0xvYWRDaGVja2VyKEZldGNoT3B0aW9ucyYmIG9wdGlvbnMs
IFBBTDo6U2Vzc2lvbklEIHNlCiAgICAgLCBtX3ByZWZsaWdodFBvbGljeShwcmVmbGlnaHRQb2xp
Y3kpCiAgICAgLCBtX3JlZmVycmVyKFdURk1vdmUocmVmZXJyZXIpKQogICAgICwgbV9zaG91bGRD
YXB0dXJlRXh0cmFOZXR3b3JrTG9hZE1ldHJpY3Moc2hvdWxkQ2FwdHVyZUV4dHJhTmV0d29ya0xv
YWRNZXRyaWNzKQorICAgICwgbV9pc0hUVFBTVXBncmFkZUVuYWJsZWQoaXNIVFRQU1VwZ3JhZGVF
bmFibGVkKQogICAgICwgbV9yZXF1ZXN0TG9hZFR5cGUocmVxdWVzdExvYWRUeXBlKQogewogICAg
IG1faXNTYW1lT3JpZ2luUmVxdWVzdCA9IGlzU2FtZU9yaWdpbihtX3VybCwgbV9vcmlnaW4uZ2V0
KCkpOwpAQCAtMTkxLDEwICsxOTIsMTAgQEAgYXV0byBOZXR3b3JrTG9hZENoZWNrZXI6OmFjY2Vz
c0NvbnRyb2xFcnJvckZvclZhbGlkYXRpb25IYW5kbGVyKFN0cmluZyYmIG1lc3NhZ2UKICAgICBy
ZXR1cm4gUmVzb3VyY2VFcnJvciB7IFN0cmluZyB7IH0sIDAsIG1fdXJsLCBXVEZNb3ZlKG1lc3Nh
Z2UpLCBSZXNvdXJjZUVycm9yOjpUeXBlOjpBY2Nlc3NDb250cm9sIH07CiB9CiAKLSNpZiBFTkFC
TEUoSFRUUFNfVVBHUkFERSkKIHZvaWQgTmV0d29ya0xvYWRDaGVja2VyOjphcHBseUhUVFBTVXBn
cmFkZUlmTmVlZGVkKFJlc291cmNlUmVxdWVzdCYmIHJlcXVlc3QsIENvbXBsZXRpb25IYW5kbGVy
PHZvaWQoUmVzb3VyY2VSZXF1ZXN0JiYpPiYmIGhhbmRsZXIpIGNvbnN0CiB7Ci0gICAgaWYgKG1f
cmVxdWVzdExvYWRUeXBlICE9IExvYWRUeXBlOjpNYWluRnJhbWUpIHsKKyNpZiBQTEFURk9STShD
T0NPQSkKKyAgICBpZiAoIW1faXNIVFRQU1VwZ3JhZGVFbmFibGVkIHx8IG1fcmVxdWVzdExvYWRU
eXBlICE9IExvYWRUeXBlOjpNYWluRnJhbWUpIHsKICAgICAgICAgaGFuZGxlcihXVEZNb3ZlKHJl
cXVlc3QpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTIyNCwyNCArMjI1LDI0IEBAIHZv
aWQgTmV0d29ya0xvYWRDaGVja2VyOjphcHBseUhUVFBTVXBncmFkZUlmTmVlZGVkKFJlc291cmNl
UmVxdWVzdCYmIHJlcXVlc3QsIENvCiAKICAgICAgICAgaGFuZGxlcihXVEZNb3ZlKHJlcXVlc3Qp
KTsKICAgICB9KTsKKyNlbHNlCisgICAgaGFuZGxlcihXVEZNb3ZlKHJlcXVlc3QpKTsKKyNlbmRp
ZgogfQotI2VuZGlmIC8vIEVOQUJMRShIVFRQU19VUEdSQURFKQogCiB2b2lkIE5ldHdvcmtMb2Fk
Q2hlY2tlcjo6Y2hlY2tSZXF1ZXN0KFJlc291cmNlUmVxdWVzdCYmIHJlcXVlc3QsIENvbnRlbnRT
ZWN1cml0eVBvbGljeUNsaWVudCogY2xpZW50LCBWYWxpZGF0aW9uSGFuZGxlciYmIGhhbmRsZXIp
CiB7CiAgICAgUmVzb3VyY2VSZXF1ZXN0IG9yaWdpbmFsUmVxdWVzdCA9IHJlcXVlc3Q7CiAKLSNp
ZiBFTkFCTEUoSFRUUFNfVVBHUkFERSkKICAgICBhcHBseUhUVFBTVXBncmFkZUlmTmVlZGVkKFdU
Rk1vdmUocmVxdWVzdCksIFt0aGlzLCBjbGllbnQsIGhhbmRsZXIgPSBXVEZNb3ZlKGhhbmRsZXIp
LCBvcmlnaW5hbFJlcXVlc3QgPSBXVEZNb3ZlKG9yaWdpbmFsUmVxdWVzdCldKGF1dG8gcmVxdWVz
dCkgbXV0YWJsZSB7Ci0jZW5kaWYgLy8gRU5BQkxFKEhUVFBTX1VQR1JBREUpCiAKICAgICAgICAg
aWYgKGF1dG8qIGNvbnRlbnRTZWN1cml0eVBvbGljeSA9IHRoaXMtPmNvbnRlbnRTZWN1cml0eVBv
bGljeSgpKSB7Ci0gICAgICAgICAgICBpZiAoaXNSZWRpcmVjdGVkKCkpIHsKKyAgICAgICAgICAg
IGlmICh0aGlzLT5pc1JlZGlyZWN0ZWQoKSkgewogICAgICAgICAgICAgICAgIGF1dG8gdHlwZSA9
IG1fb3B0aW9ucy5tb2RlID09IEZldGNoT3B0aW9uczo6TW9kZTo6TmF2aWdhdGUgPyBDb250ZW50
U2VjdXJpdHlQb2xpY3k6Okluc2VjdXJlUmVxdWVzdFR5cGU6Ok5hdmlnYXRpb24gOiBDb250ZW50
U2VjdXJpdHlQb2xpY3k6Okluc2VjdXJlUmVxdWVzdFR5cGU6OkxvYWQ7CiAgICAgICAgICAgICAg
ICAgY29udGVudFNlY3VyaXR5UG9saWN5LT51cGdyYWRlSW5zZWN1cmVSZXF1ZXN0SWZOZWVkZWQo
cmVxdWVzdCwgdHlwZSk7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBpZiAoIWlzQWxsb3dl
ZEJ5Q29udGVudFNlY3VyaXR5UG9saWN5KHJlcXVlc3QsIGNsaWVudCkpIHsKLSAgICAgICAgICAg
ICAgICBoYW5kbGVyKGFjY2Vzc0NvbnRyb2xFcnJvckZvclZhbGlkYXRpb25IYW5kbGVyKCJCbG9j
a2VkIGJ5IENvbnRlbnQgU2VjdXJpdHkgUG9saWN5LiJfcykpOworICAgICAgICAgICAgaWYgKCF0
aGlzLT5pc0FsbG93ZWRCeUNvbnRlbnRTZWN1cml0eVBvbGljeShyZXF1ZXN0LCBjbGllbnQpKSB7
CisgICAgICAgICAgICAgICAgaGFuZGxlcih0aGlzLT5hY2Nlc3NDb250cm9sRXJyb3JGb3JWYWxp
ZGF0aW9uSGFuZGxlcigiQmxvY2tlZCBieSBDb250ZW50IFNlY3VyaXR5IFBvbGljeS4iX3MpKTsK
ICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KQEAgLTI2
MSwxMyArMjYyLDkgQEAgdm9pZCBOZXR3b3JrTG9hZENoZWNrZXI6OmNoZWNrUmVxdWVzdChSZXNv
dXJjZVJlcXVlc3QmJiByZXF1ZXN0LCBDb250ZW50U2VjdXJpdHkKICAgICAgICAgICAgIGNvbnRp
bnVlQ2hlY2tpbmdSZXF1ZXN0T3JEb1N5bnRoZXRpY1JlZGlyZWN0KFdURk1vdmUob3JpZ2luYWxS
ZXF1ZXN0KSwgV1RGTW92ZShyZXN1bHQudmFsdWUoKS5yZXF1ZXN0KSwgV1RGTW92ZShoYW5kbGVy
KSk7CiAgICAgICAgIH0pOwogI2Vsc2UKLSAgICAgICAgY29udGludWVDaGVja2luZ1JlcXVlc3RP
ckRvU3ludGhldGljUmVkaXJlY3QoV1RGTW92ZShvcmlnaW5hbFJlcXVlc3QpLCBXVEZNb3ZlKHJl
cXVlc3QpLCBXVEZNb3ZlKGhhbmRsZXIpKTsKKyAgICAgICAgdGhpcy0+Y29udGludWVDaGVja2lu
Z1JlcXVlc3RPckRvU3ludGhldGljUmVkaXJlY3QoV1RGTW92ZShvcmlnaW5hbFJlcXVlc3QpLCBX
VEZNb3ZlKHJlcXVlc3QpLCBXVEZNb3ZlKGhhbmRsZXIpKTsKICNlbmRpZgotCi0jaWYgRU5BQkxF
KEhUVFBTX1VQR1JBREUpCiAgICAgfSk7Ci0jZW5kaWYgLy8gRU5BQkxFKEhUVFBTX1VQR1JBREUp
Ci0KIH0KIAogdm9pZCBOZXR3b3JrTG9hZENoZWNrZXI6OmNvbnRpbnVlQ2hlY2tpbmdSZXF1ZXN0
T3JEb1N5bnRoZXRpY1JlZGlyZWN0KFJlc291cmNlUmVxdWVzdCYmIG9yaWdpbmFsUmVxdWVzdCwg
UmVzb3VyY2VSZXF1ZXN0JiYgY3VycmVudFJlcXVlc3QsIFZhbGlkYXRpb25IYW5kbGVyJiYgaGFu
ZGxlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0xv
YWRDaGVja2VyLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtMb2FkQ2hl
Y2tlci5oCmluZGV4IDI4M2YyNjIyODhkYjE0NWVlNjU3MzQ1YjhjZGM2YTUyYTM1ZDM3NTguLmE2
N2I5YjcyZDA2YjUwZjcyNmMyNTQxOTMyMjM4ZTk2MmMyNTJjNTkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0xvYWRDaGVja2VyLmgKKysrIGIvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZENoZWNrZXIuaApAQCAtNTIsNyArNTIs
NyBAQCBjbGFzcyBOZXR3b3JrTG9hZENoZWNrZXIgOiBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8TmV0
d29ya0xvYWRDaGVja2VyPiB7CiBwdWJsaWM6CiAgICAgZW51bSBjbGFzcyBMb2FkVHlwZSA6IGJv
b2wgeyBNYWluRnJhbWUsIE90aGVyIH07CiAKLSAgICBOZXR3b3JrTG9hZENoZWNrZXIoV2ViQ29y
ZTo6RmV0Y2hPcHRpb25zJiYsIFBBTDo6U2Vzc2lvbklELCB1aW50NjRfdCBwYWdlSUQsIHVpbnQ2
NF90IGZyYW1lSUQsIFdlYkNvcmU6OkhUVFBIZWFkZXJNYXAmJiwgVVJMJiYsIFJlZlB0cjxXZWJD
b3JlOjpTZWN1cml0eU9yaWdpbj4mJiwgV2ViQ29yZTo6UHJlZmxpZ2h0UG9saWN5LCBTdHJpbmcm
JiByZWZlcnJlciwgYm9vbCBzaG91bGRDYXB0dXJlRXh0cmFOZXR3b3JrTG9hZE1ldHJpY3MgPSBm
YWxzZSwgTG9hZFR5cGUgcmVxdWVzdExvYWRUeXBlID0gTG9hZFR5cGU6Ok90aGVyKTsKKyAgICBO
ZXR3b3JrTG9hZENoZWNrZXIoV2ViQ29yZTo6RmV0Y2hPcHRpb25zJiYsIFBBTDo6U2Vzc2lvbklE
LCB1aW50NjRfdCBwYWdlSUQsIHVpbnQ2NF90IGZyYW1lSUQsIFdlYkNvcmU6OkhUVFBIZWFkZXJN
YXAmJiwgVVJMJiYsIFJlZlB0cjxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbj4mJiwgV2ViQ29yZTo6
UHJlZmxpZ2h0UG9saWN5LCBib29sIGlzSFRUUFNVcGdyYWRlRW5hYmxlZCwgU3RyaW5nJiYgcmVm
ZXJyZXIsIGJvb2wgc2hvdWxkQ2FwdHVyZUV4dHJhTmV0d29ya0xvYWRNZXRyaWNzID0gZmFsc2Us
IExvYWRUeXBlIHJlcXVlc3RMb2FkVHlwZSA9IExvYWRUeXBlOjpPdGhlcik7CiAgICAgfk5ldHdv
cmtMb2FkQ2hlY2tlcigpOwogCiAgICAgc3RydWN0IFJlZGlyZWN0aW9uVHJpcGxldCB7CkBAIC0x
MTksOSArMTE5LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHByb2Nlc3NDb250ZW50RXh0ZW5zaW9u
UnVsZXNGb3JMb2FkKFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYmLCBDb250ZW50RXh0ZW5zaW9u
Q2FsbGJhY2smJik7CiAjZW5kaWYKIAotI2lmIEVOQUJMRShIVFRQU19VUEdSQURFKQogICAgIHZv
aWQgYXBwbHlIVFRQU1VwZ3JhZGVJZk5lZWRlZChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmJiwg
Q29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmJik+JiYpIGNv
bnN0OwotI2VuZGlmIC8vIEVOQUJMRShIVFRQU19VUEdSQURFKQogCiAgICAgV2ViQ29yZTo6RmV0
Y2hPcHRpb25zIG1fb3B0aW9uczsKICAgICBXZWJDb3JlOjpTdG9yZWRDcmVkZW50aWFsc1BvbGlj
eSBtX3N0b3JlZENyZWRlbnRpYWxzUG9saWN5OwpAQCAtMTQ5LDYgKzE0Nyw3IEBAIHByaXZhdGU6
CiAgICAgU3RyaW5nIG1fcmVmZXJyZXI7CiAgICAgYm9vbCBtX2NoZWNrQ29udGVudEV4dGVuc2lv
bnMgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9zaG91bGRDYXB0dXJlRXh0cmFOZXR3b3JrTG9hZE1l
dHJpY3MgeyBmYWxzZSB9OworICAgIGJvb2wgbV9pc0hUVFBTVXBncmFkZUVuYWJsZWQgeyBmYWxz
ZSB9OwogICAgIFdlYkNvcmU6Ok5ldHdvcmtMb2FkSW5mb3JtYXRpb24gbV9sb2FkSW5mb3JtYXRp
b247CiAKICAgICBMb2FkVHlwZSBtX3JlcXVlc3RMb2FkVHlwZTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaAppbmRleCBlOTQ4NzEwMjg3ZWQ2OWQxMWMy
MjJlZTRlYzM1ODhkZmVjOWEyZjdjLi44NGIyYWNmMTNkZGM1NWVhYjUxMmRlMGZhNDkyODMxMzgy
N2QzNThmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQ
cm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vz
cy5oCkBAIC0yMDUsOSArMjA1LDkgQEAgcHVibGljOgogICAgIGJvb2wgcGFyZW50UHJvY2Vzc0hh
c1NlcnZpY2VXb3JrZXJFbnRpdGxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KICNlbmRp
ZgogCi0jaWYgRU5BQkxFKEhUVFBTX1VQR1JBREUpCi0gICAgTmV0d29ya0hUVFBTVXBncmFkZUNo
ZWNrZXImIG5ldHdvcmtIVFRQU1VwZ3JhZGVDaGVja2VyKCkgeyByZXR1cm4gbV9uZXR3b3JrSFRU
UFNVcGdyYWRlQ2hlY2tlcjsgfTsKLSNlbmRpZiAvLyBFTkFCTEUoSFRUUFNfVVBHUkFERSkKKyNp
ZiBQTEFURk9STShDT0NPQSkKKyAgICBOZXR3b3JrSFRUUFNVcGdyYWRlQ2hlY2tlciYgbmV0d29y
a0hUVFBTVXBncmFkZUNoZWNrZXIoKSB7IHJldHVybiBtX25ldHdvcmtIVFRQU1VwZ3JhZGVDaGVj
a2VyOyB9CisjZW5kaWYKIAogcHJpdmF0ZToKICAgICBOZXR3b3JrUHJvY2VzcygpOwpAQCAtMzk4
LDkgKzM5OCw5IEBAIHByaXZhdGU6CiAgICAgSGFzaE1hcDxXZWJDb3JlOjpTV1NlcnZlckNvbm5l
Y3Rpb25JZGVudGlmaWVyLCBXZWJTV1NlcnZlckNvbm5lY3Rpb24qPiBtX3N3U2VydmVyQ29ubmVj
dGlvbnM7CiAjZW5kaWYKIAotI2lmIEVOQUJMRShIVFRQU19VUEdSQURFKQorI2lmIFBMQVRGT1JN
KENPQ09BKQogICAgIE5ldHdvcmtIVFRQU1VwZ3JhZGVDaGVja2VyIG1fbmV0d29ya0hUVFBTVXBn
cmFkZUNoZWNrZXI7Ci0jZW5kaWYgLy8gRU5BQkxFKEhUVFBTX1VQR1JBREUpCisjZW5kaWYKIH07
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycy5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzLmNwcAppbmRl
eCAwY2ZlZWE1Y2NkMDYzZmNhN2Y2MTBhYjZjOWQ1YjFkMmMyYmQ5ZWZjLi44MGI3MGFhYWIyMjc5
MTA3Y2UwYmRhNjdhNmVjYTIxMDc1YTJiZWRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzLmNw
cApAQCAtOTQsNiArOTQsNyBAQCB2b2lkIE5ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzOjpl
bmNvZGUoSVBDOjpFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogICAgIGVuY29kZXIgPDwgc2hvdWxk
RW5hYmxlQ3Jvc3NPcmlnaW5SZXNvdXJjZVBvbGljeTsKIAogICAgIGVuY29kZXIgPDwgZnJhbWVB
bmNlc3Rvck9yaWdpbnM7CisgICAgZW5jb2RlciA8PCBpc0hUVFBTVXBncmFkZUVuYWJsZWQ7CiAK
ICNpZiBFTkFCTEUoQ09OVEVOVF9FWFRFTlNJT05TKQogICAgIGVuY29kZXIgPDwgbWFpbkRvY3Vt
ZW50VVJMOwpAQCAtMjA0LDYgKzIwNSwxMiBAQCBib29sIE5ldHdvcmtSZXNvdXJjZUxvYWRQYXJh
bWV0ZXJzOjpkZWNvZGUoSVBDOjpEZWNvZGVyJiBkZWNvZGVyLCBOZXR3b3JrUmVzb3VyYwogCiAg
ICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQuZnJhbWVBbmNlc3Rvck9yaWdpbnMpKQogICAg
ICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBPcHRpb25hbDxib29sPiBpc0hUVFBTVXBncmFkZUVu
YWJsZWQ7CisgICAgZGVjb2RlciA+PiBpc0hUVFBTVXBncmFkZUVuYWJsZWQ7CisgICAgaWYgKCFp
c0hUVFBTVXBncmFkZUVuYWJsZWQpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICByZXN1bHQu
aXNIVFRQU1VwZ3JhZGVFbmFibGVkID0gKmlzSFRUUFNVcGdyYWRlRW5hYmxlZDsKICAgICAKICNp
ZiBFTkFCTEUoQ09OVEVOVF9FWFRFTlNJT05TKQogICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVz
dWx0Lm1haW5Eb2N1bWVudFVSTCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzLmggYi9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzLmgKaW5kZXggMTMyNzEw
ZmNlMGE1Y2JkOWE4MGU2MmRkYjk4ZmY0NDM1YWUxYTNjNS4uYjA1ZmY4MDNmMTcxOTBhZGUzMTlj
ZGEwNjNkYTAzMTQwNmU0ZjM3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMuaApAQCAtNTksNiAr
NTksNyBAQCBwdWJsaWM6CiAgICAgV2ViQ29yZTo6UHJlZmxpZ2h0UG9saWN5IHByZWZsaWdodFBv
bGljeSB7IFdlYkNvcmU6OlByZWZsaWdodFBvbGljeTo6Q29uc2lkZXIgfTsKICAgICBib29sIHNo
b3VsZEVuYWJsZUNyb3NzT3JpZ2luUmVzb3VyY2VQb2xpY3kgeyBmYWxzZSB9OwogICAgIFZlY3Rv
cjxSZWZQdHI8V2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4+PiBmcmFtZUFuY2VzdG9yT3JpZ2luczsK
KyAgICBib29sIGlzSFRUUFNVcGdyYWRlRW5hYmxlZCB7IGZhbHNlIH07CiAKICNpZiBFTkFCTEUo
Q09OVEVOVF9FWFRFTlNJT05TKQogICAgIFVSTCBtYWluRG9jdW1lbnRVUkw7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAK
aW5kZXggNzdmYThlYTI5ZDY1YmExNmRhZTBjZDhlMzVjMjJlNmY5OTRiOWQ3Zi4uOTk3MDAxYWI5
MzJmM2YwMWQwMTkzZTU2ZjBjOTIxYjlmZjFiM2JmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcApAQCAtMTEyLDcg
KzExMiw3IEBAIE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6TmV0d29ya1Jlc291cmNlTG9hZGVyKE5l
dHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzJiYgcGFyCiAKICAgICBpZiAoc3luY2hyb25vdXNS
ZXBseSB8fCBwYXJhbWV0ZXJzLnNob3VsZFJlc3RyaWN0SFRUUFJlc3BvbnNlQWNjZXNzKSB7CiAg
ICAgICAgIE5ldHdvcmtMb2FkQ2hlY2tlcjo6TG9hZFR5cGUgcmVxdWVzdExvYWRUeXBlID0gaXNN
YWluRnJhbWVMb2FkKCkgPyBOZXR3b3JrTG9hZENoZWNrZXI6OkxvYWRUeXBlOjpNYWluRnJhbWUg
OiBOZXR3b3JrTG9hZENoZWNrZXI6OkxvYWRUeXBlOjpPdGhlcjsKLSAgICAgICAgbV9uZXR3b3Jr
TG9hZENoZWNrZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPE5ldHdvcmtMb2FkQ2hlY2tlcj4oRmV0Y2hP
cHRpb25zIHsgbV9wYXJhbWV0ZXJzLm9wdGlvbnMgfSwgbV9wYXJhbWV0ZXJzLnNlc3Npb25JRCwg
bV9wYXJhbWV0ZXJzLndlYlBhZ2VJRCwgbV9wYXJhbWV0ZXJzLndlYkZyYW1lSUQsIEhUVFBIZWFk
ZXJNYXAgeyBtX3BhcmFtZXRlcnMub3JpZ2luYWxSZXF1ZXN0SGVhZGVycyB9LCBVUkwgeyBtX3Bh
cmFtZXRlcnMucmVxdWVzdC51cmwoKSB9LCBtX3BhcmFtZXRlcnMuc291cmNlT3JpZ2luLmNvcHlS
ZWYoKSwgbV9wYXJhbWV0ZXJzLnByZWZsaWdodFBvbGljeSwgb3JpZ2luYWxSZXF1ZXN0KCkuaHR0
cFJlZmVycmVyKCksIHNob3VsZENhcHR1cmVFeHRyYU5ldHdvcmtMb2FkTWV0cmljcygpLCByZXF1
ZXN0TG9hZFR5cGUpOworICAgICAgICBtX25ldHdvcmtMb2FkQ2hlY2tlciA9IHN0ZDo6bWFrZV91
bmlxdWU8TmV0d29ya0xvYWRDaGVja2VyPihGZXRjaE9wdGlvbnMgeyBtX3BhcmFtZXRlcnMub3B0
aW9ucyB9LCBtX3BhcmFtZXRlcnMuc2Vzc2lvbklELCBtX3BhcmFtZXRlcnMud2ViUGFnZUlELCBt
X3BhcmFtZXRlcnMud2ViRnJhbWVJRCwgSFRUUEhlYWRlck1hcCB7IG1fcGFyYW1ldGVycy5vcmln
aW5hbFJlcXVlc3RIZWFkZXJzIH0sIFVSTCB7IG1fcGFyYW1ldGVycy5yZXF1ZXN0LnVybCgpIH0s
IG1fcGFyYW1ldGVycy5zb3VyY2VPcmlnaW4uY29weVJlZigpLCBtX3BhcmFtZXRlcnMucHJlZmxp
Z2h0UG9saWN5LCBtX3BhcmFtZXRlcnMuaXNIVFRQU1VwZ3JhZGVFbmFibGVkLCBvcmlnaW5hbFJl
cXVlc3QoKS5odHRwUmVmZXJyZXIoKSwgc2hvdWxkQ2FwdHVyZUV4dHJhTmV0d29ya0xvYWRNZXRy
aWNzKCksIHJlcXVlc3RMb2FkVHlwZSk7CiAgICAgICAgIGlmIChtX3BhcmFtZXRlcnMuY3NwUmVz
cG9uc2VIZWFkZXJzKQogICAgICAgICAgICAgbV9uZXR3b3JrTG9hZENoZWNrZXItPnNldENTUFJl
c3BvbnNlSGVhZGVycyhDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMgeyBtX3Bh
cmFtZXRlcnMuY3NwUmVzcG9uc2VIZWFkZXJzLnZhbHVlKCkgfSk7CiAjaWYgRU5BQkxFKENPTlRF
TlRfRVhURU5TSU9OUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
UGluZ0xvYWQuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9QaW5nTG9hZC5jcHAK
aW5kZXggY2EwMTVlZmFjMzQyZTczNDE0NGQxNTRhNWRlOTVhMTNiYzk2MjdkNi4uMTcxM2E1YWE1
MTZiMzEzODBmZjk4ZTM2YzIwMzZjNWQ2MzFkMGNlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9QaW5nTG9hZC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9QaW5nTG9hZC5jcHAKQEAgLTQzLDcgKzQzLDcgQEAgUGluZ0xvYWQ6OlBpbmdMb2Fk
KE5ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzJiYgcGFyYW1ldGVycywgQ29tcGxldGlvbkhh
bmRsZXIKICAgICA6IG1fcGFyYW1ldGVycyhXVEZNb3ZlKHBhcmFtZXRlcnMpKQogICAgICwgbV9j
b21wbGV0aW9uSGFuZGxlcihXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSkKICAgICAsIG1fdGlt
ZW91dFRpbWVyKCp0aGlzLCAmUGluZ0xvYWQ6OnRpbWVvdXRUaW1lckZpcmVkKQotICAgICwgbV9u
ZXR3b3JrTG9hZENoZWNrZXIobWFrZVVuaXF1ZVJlZjxOZXR3b3JrTG9hZENoZWNrZXI+KEZldGNo
T3B0aW9ucyB7IG1fcGFyYW1ldGVycy5vcHRpb25zfSwgbV9wYXJhbWV0ZXJzLnNlc3Npb25JRCwg
bV9wYXJhbWV0ZXJzLndlYlBhZ2VJRCwgbV9wYXJhbWV0ZXJzLndlYkZyYW1lSUQsIFdURk1vdmUo
bV9wYXJhbWV0ZXJzLm9yaWdpbmFsUmVxdWVzdEhlYWRlcnMpLCBVUkwgeyBtX3BhcmFtZXRlcnMu
cmVxdWVzdC51cmwoKSB9LCBtX3BhcmFtZXRlcnMuc291cmNlT3JpZ2luLmNvcHlSZWYoKSwgbV9w
YXJhbWV0ZXJzLnByZWZsaWdodFBvbGljeSwgbV9wYXJhbWV0ZXJzLnJlcXVlc3QuaHR0cFJlZmVy
cmVyKCkpKQorICAgICwgbV9uZXR3b3JrTG9hZENoZWNrZXIobWFrZVVuaXF1ZVJlZjxOZXR3b3Jr
TG9hZENoZWNrZXI+KEZldGNoT3B0aW9ucyB7IG1fcGFyYW1ldGVycy5vcHRpb25zfSwgbV9wYXJh
bWV0ZXJzLnNlc3Npb25JRCwgbV9wYXJhbWV0ZXJzLndlYlBhZ2VJRCwgbV9wYXJhbWV0ZXJzLndl
YkZyYW1lSUQsIFdURk1vdmUobV9wYXJhbWV0ZXJzLm9yaWdpbmFsUmVxdWVzdEhlYWRlcnMpLCBV
UkwgeyBtX3BhcmFtZXRlcnMucmVxdWVzdC51cmwoKSB9LCBtX3BhcmFtZXRlcnMuc291cmNlT3Jp
Z2luLmNvcHlSZWYoKSwgbV9wYXJhbWV0ZXJzLnByZWZsaWdodFBvbGljeSwgZmFsc2UsIG1fcGFy
YW1ldGVycy5yZXF1ZXN0Lmh0dHBSZWZlcnJlcigpKSkKIHsKICAgICBtX25ldHdvcmtMb2FkQ2hl
Y2tlci0+ZW5hYmxlQ29udGVudEV4dGVuc2lvbnNDaGVjaygpOwogICAgIGlmIChtX3BhcmFtZXRl
cnMuY3NwUmVzcG9uc2VIZWFkZXJzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQv
SFRUUFNVcGdyYWRlL0hUVFBTVXBncmFkZUxpc3QudHh0IGIvU291cmNlL1dlYktpdC9TaGFyZWQv
SFRUUFNVcGdyYWRlL0hUVFBTVXBncmFkZUxpc3QudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA4YTFhZWZjZmU4
NTA0NGE3NjlhODI2YWE2ZGY5YzNlOTM1MDNlYjgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9IVFRQU1VwZ3JhZGUvSFRUUFNVcGdyYWRlTGlzdC50eHQKQEAgLTAsMCAr
MSwzIEBACit3d3cuYmJjLmNvbQord3d3LnNwZWVkdGVzdC5uZXQKK3d3dy5iZWEuZ292CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sIGIvU291cmNl
L1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbAppbmRleCAwNzdiZGUzNWVhNTYyZWMz
NDNlY2UwY2I1MjA1Y2E5ZTFkYjEwMDBlLi5mODU2NTY4YTA2NDcyMWY4NTJiMzMwZjQ0ZTExZGQ5
Zjk3NjZiNTRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNl
cy55YW1sCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwKQEAg
LTM1LDYgKzM1LDEzIEBAIFBsdWdpbnNFbmFibGVkOgogICB0eXBlOiBib29sCiAgIGRlZmF1bHRW
YWx1ZTogZmFsc2UKIAorSFRUUFNVcGdyYWRlRW5hYmxlZDoKKyAgIHR5cGU6IGJvb2wKKyAgIGRl
ZmF1bHRWYWx1ZTogZmFsc2UKKyAgIGh1bWFuUmVhZGFibGVOYW1lOiAiQXV0b21hdGljIEhUVFBT
IHVwZ3JhZGUiCisgICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJBdXRvbWF0aWMgSFRUUFMg
dXBncmFkZSBmb3Igc2l0ZXMgdGhhdCBzdXBwb3J0IGl0IgorICAgY2F0ZWdvcnk6IGV4cGVyaW1l
bnRhbAorCiBKYXZhRW5hYmxlZDoKICAgdHlwZTogYm9vbAogICBkZWZhdWx0VmFsdWU6IGZhbHNl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJMb2FkZXJT
dHJhdGVneS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJMb2FkZXJT
dHJhdGVneS5jcHAKaW5kZXggMTYyM2IyMDA5MDhiZTIwYTI2ZDkwZjIxMDJhMGE4NWU2NjdhMzM3
OS4uODRjMTJhMDRhNjgyMTViNDExODlmMzZkNWYwMTczYjMyNjVjMmM1YiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3kuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5LmNw
cApAQCAtMjc1LDYgKzI3NSw3IEBAIHZvaWQgV2ViTG9hZGVyU3RyYXRlZ3k6OnNjaGVkdWxlTG9h
ZEZyb21OZXR3b3JrUHJvY2VzcyhSZXNvdXJjZUxvYWRlciYgcmVzb3VyY2VMCiAgICAgbG9hZFBh
cmFtZXRlcnMubWF4aW11bUJ1ZmZlcmluZ1RpbWUgPSBtYXhpbXVtQnVmZmVyaW5nVGltZTsKICAg
ICBsb2FkUGFyYW1ldGVycy5vcHRpb25zID0gcmVzb3VyY2VMb2FkZXIub3B0aW9ucygpOwogICAg
IGxvYWRQYXJhbWV0ZXJzLnByZWZsaWdodFBvbGljeSA9IHJlc291cmNlTG9hZGVyLm9wdGlvbnMo
KS5wcmVmbGlnaHRQb2xpY3k7CisgICAgbG9hZFBhcmFtZXRlcnMuaXNIVFRQU1VwZ3JhZGVFbmFi
bGVkID0gcmVzb3VyY2VMb2FkZXIuZnJhbWUoKSA/IHJlc291cmNlTG9hZGVyLmZyYW1lKCktPnNl
dHRpbmdzKCkuSFRUUFNVcGdyYWRlRW5hYmxlZCgpIDogZmFsc2U7CiAKICAgICBhdXRvKiBkb2N1
bWVudCA9IHJlc291cmNlTG9hZGVyLmZyYW1lKCkgPyByZXNvdXJjZUxvYWRlci5mcmFtZSgpLT5k
b2N1bWVudCgpIDogbnVsbHB0cjsKICAgICBpZiAocmVzb3VyY2VMb2FkZXIub3B0aW9ucygpLmNz
cFJlc3BvbnNlSGVhZGVycykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY29uZmlnLmggYi9T
b3VyY2UvV2ViS2l0L2NvbmZpZy5oCmluZGV4IDA3ZDBkOGE5ZTMxNzk2OTAyMGYyNmM2OTE5ZWRj
OGY1MDY2ZWM4MjUuLmQ5ZThkNjk5NTFhYTNlNzFhNjBkNjg1MWU2NTVkNzAwZTcxZThkNzEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY29uZmlnLmgKKysrIGIvU291cmNlL1dlYktpdC9jb25m
aWcuaApAQCAtNzksNiArNzksMyBAQAogI2VuZGlmCiAjZW5kaWYKIAotI2lmbmRlZiBFTkFCTEVf
SFRUUFNfVVBHUkFERQotI2RlZmluZSBFTkFCTEVfSFRUUFNfVVBHUkFERSAwCi0jZW5kaWYK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>357841</attachid>
            <date>2018-12-20 11:41:36 -0800</date>
            <delta_ts>2018-12-20 15:56:00 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-192937-20181220114136.patch</filename>
            <type>text/plain</type>
            <size>22217</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM5NDQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmFiOTExZmRmN2NiMzQ0
NmU1NmFmYThmNDlmZGJjY2Q1Mzg1OTM1Ni4uNDFlMmYzYzg2YWViNWI1ZWE0ZjMxYWVlOWFlODll
NzI5ZWNlNWMzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE4LTEyLTIwICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgTW92ZSBIVFRQU19VUEdSQURF
IGNvZGUgYmVoaW5kIGEgcnVudGltZSBmbGFnLCBvZmYgYnkgZGVmYXVsdAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkyOTM3CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTW92ZSBIVFRQU19VUEdSQURFIGNv
ZGUgYmVoaW5kIGEgcnVudGltZSBmbGFnLCBvZmYgYnkgZGVmYXVsdCBhbmQgZHJvcCB0aGUgYnVp
bGQgdGltZSBmbGFnLgorCisgICAgICAgICogcGFnZS9TZXR0aW5ncy55YW1sOgorCiAyMDE4LTEy
LTE5ICBNaWNoYWVsIENhdGFuemFybyAgPG1jYXRhbnphcm9AaWdhbGlhLmNvbT4KIAogICAgICAg
ICBVbnJldmlld2VkLCBmaXggR1RLIGJ1aWxkIGFmdGVyIHIyMzk0MTAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggNTll
MjNmYjZkYjlhMTdiNzNkODJlODA3NjBjZGE3N2M2YjYxNWFkZC4uZDIxZTFhZTRkOGNjZTljZGQ1
ZWEyMzdlMDQ5ODUxY2E3Y2RlYmVjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNSBAQAorMjAxOC0x
Mi0yMCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIE1vdmUgSFRU
UFNfVVBHUkFERSBjb2RlIGJlaGluZCBhIHJ1bnRpbWUgZmxhZywgb2ZmIGJ5IGRlZmF1bHQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MjkzNworCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1vdmUgSFRUUFNf
VVBHUkFERSBjb2RlIGJlaGluZCBhIHJ1bnRpbWUgZmxhZywgb2ZmIGJ5IGRlZmF1bHQgYW5kIGRy
b3AgdGhlIGJ1aWxkIHRpbWUgZmxhZy4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL1dlYktp
dC54Y2NvbmZpZzoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIE5l
dHdvcmtQcm9jZXNzL05ldHdvcmtIVFRQU1VwZ3JhZGVDaGVja2VyLmNwcDoKKyAgICAgICAgKiBO
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrSFRUUFNVcGdyYWRlQ2hlY2tlci5oOgorICAgICAgICAqIE5l
dHdvcmtQcm9jZXNzL05ldHdvcmtMb2FkQ2hlY2tlci5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5l
dHdvcmtMb2FkQ2hlY2tlcjo6TmV0d29ya0xvYWRDaGVja2VyKToKKyAgICAgICAgKFdlYktpdDo6
TmV0d29ya0xvYWRDaGVja2VyOjphcHBseUhUVFBTVXBncmFkZUlmTmVlZGVkIGNvbnN0KToKKyAg
ICAgICAgKFdlYktpdDo6TmV0d29ya0xvYWRDaGVja2VyOjpjaGVja1JlcXVlc3QpOgorICAgICAg
ICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtMb2FkQ2hlY2tlci5oOgorICAgICAgICAqIE5ldHdv
cmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmg6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9j
ZXNzOjpuZXR3b3JrSFRUUFNVcGdyYWRlQ2hlY2tlcik6CisgICAgICAgICogTmV0d29ya1Byb2Nl
c3MvTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMuY3BwOgorICAgICAgICAoV2ViS2l0OjpO
ZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVyczo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdl
YktpdDo6TmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnM6OmRlY29kZSk6CisgICAgICAgICog
TmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMuaDoKKyAgICAgICAg
KiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAqIE5l
dHdvcmtQcm9jZXNzL1BpbmdMb2FkLmNwcDoKKyAgICAgICAgKFdlYktpdDo6UGluZ0xvYWQ6OlBp
bmdMb2FkKToKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbDoKKyAgICAgICAg
KiBXZWJQcm9jZXNzL05ldHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3kuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJMb2FkZXJTdHJhdGVneTo6c2NoZWR1bGVMb2FkRnJvbU5ldHdvcmtQcm9jZXNzKToK
KyAgICAgICAgKiBjb25maWcuaDoKKwogMjAxOC0xMi0yMCAgV2Vuc29uIEhzaWVoICA8d2Vuc29u
X2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9TXSBGb2N1c2luZyBhbiBlZGl0YWJsZSBl
bGVtZW50IHNob3VsZCBzY3JvbGwgdG8gcmV2ZWFsIHRoZSBzZWxlY3Rpb24KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MueWFtbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
U2V0dGluZ3MueWFtbAppbmRleCBhNzk3MTkzODZiM2MyY2Y5MzQ1ZjU4MDZiZGFjMDNiZjU3NDNh
MTlhLi5jYjI5ZWFjM2VmZmQ0YjkwYWNjZTI4ZTU4NDU5MDJkY2FmOGQ3YzVhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLnlhbWwKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9TZXR0aW5ncy55YW1sCkBAIC0zMjksNiArMzI5LDkgQEAgd2FudHNCYWxhbmNlZFNldERl
ZmVyc0xvYWRpbmdCZWhhdmlvcjoKIHJlcXVlc3RBbmltYXRpb25GcmFtZUVuYWJsZWQ6CiAgIGlu
aXRpYWw6IHRydWUKIAorSFRUUFNVcGdyYWRlRW5hYmxlZDoKKyAgaW5pdGlhbDogZmFsc2UKKwog
Y29va2llRW5hYmxlZDoKICAgaW5pdGlhbDogdHJ1ZQogbWVkaWFFbmFibGVkOgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9XZWJLaXQueGNjb25maWcgYi9Tb3VyY2Uv
V2ViS2l0L0NvbmZpZ3VyYXRpb25zL1dlYktpdC54Y2NvbmZpZwppbmRleCAyNDUzNjg0ZWIyZjE1
YjIyZjkwYjAxMmY0NTI5NmVjYjkwNzhjMTM3Li5mMjMxOGVjNGU5YWZmNmZkOGJiOWRjZjQ3NDIw
YzFlZTY4Y2VmZjJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL1dl
YktpdC54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL1dlYktpdC54
Y2NvbmZpZwpAQCAtMTUxLDExICsxNTEsOCBAQCBTRUNUT1JERVJfRkxBR1MgPSAkKFNFQ1RPUkRF
Ul9GTEFHU18kKENPTkZJR1VSQVRJT04pKTsKIFNFQ1RPUkRFUl9GTEFHU19Qcm9kdWN0aW9uW3Nk
az1pcGhvbmVvcypdID0gLVdsLC1vcmRlcl9maWxlLCQoU0RLUk9PVCkvQXBwbGVJbnRlcm5hbC9P
cmRlckZpbGVzL1dlYktpdC5vcmRlcjsKIFNFQ1RPUkRFUl9GTEFHU19Qcm9kdWN0aW9uW3Nkaz1t
YWNvc3gqXSA9IC1XbCwtb3JkZXJfZmlsZSxtYWMvV2ViS2l0Mi5vcmRlcjsKIAotV0tfRVhDTFVE
RURfSFRUUFNfVVBHUkFERV9GSUxFID0gJChXS19FWENMVURFRF9IVFRQU19VUEdSQURFX0ZJTEVf
JChFTkFCTEVfSFRUUFNfVVBHUkFERSkpOwotV0tfRVhDTFVERURfSFRUUFNfVVBHUkFERV9GSUxF
XyA9IEhUVFBTVXBncmFkZUxpc3QuZGI7Ci0KLUVYQ0xVREVEX1NPVVJDRV9GSUxFX05BTUVTID0g
UmVzb3VyY2VzL2lvcy8qICQoV0tfRVhDTFVERURfSFRUUFNfVVBHUkFERV9GSUxFKTsKLUVYQ0xV
REVEX1NPVVJDRV9GSUxFX05BTUVTW3Nkaz1pcGhvbmUqXSA9IFBsdWdpblByb2Nlc3NTaGltLmR5
bGliIFNlY0l0ZW1TaGltLmR5bGliIFdlYlByb2Nlc3NTaGltLmR5bGliICoucGRmIFJlc291cmNl
cy9tYWMvKiBjb20uYXBwbGUuV2ViS2l0Lk5ldHdvcmtQcm9jZXNzLnNiIGNvbS5hcHBsZS5XZWJQ
cm9jZXNzLnNiIGNvbS5hcHBsZS5XZWJLaXQucGx1Z2luLWNvbW1vbi5zYiBQbHVnSW5TYW5kYm94
UHJvZmlsZXMvKi5zYiAkKFdLX0VYQ0xVREVEX0hUVFBTX1VQR1JBREVfRklMRSk7CitFWENMVURF
RF9TT1VSQ0VfRklMRV9OQU1FUyA9IFJlc291cmNlcy9pb3MvKjsKK0VYQ0xVREVEX1NPVVJDRV9G
SUxFX05BTUVTW3Nkaz1pcGhvbmUqXSA9IFBsdWdpblByb2Nlc3NTaGltLmR5bGliIFNlY0l0ZW1T
aGltLmR5bGliIFdlYlByb2Nlc3NTaGltLmR5bGliICoucGRmIFJlc291cmNlcy9tYWMvKiBjb20u
YXBwbGUuV2ViS2l0Lk5ldHdvcmtQcm9jZXNzLnNiIGNvbS5hcHBsZS5XZWJQcm9jZXNzLnNiIGNv
bS5hcHBsZS5XZWJLaXQucGx1Z2luLWNvbW1vbi5zYiBQbHVnSW5TYW5kYm94UHJvZmlsZXMvKi5z
YjsKIAogSU5TVEFMTEhEUlNfU0NSSVBUX1BIQVNFID0gWUVTOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3Vy
Y2VzLm1ha2UKaW5kZXggMmZkZTU1NTBjZjRkNzBhZGMwOWRlZjM1N2E5ODc4MjI3M2U1NTQ3Mi4u
MTUzM2YwNjI0MGVmNjk2MGI2ZDRiMDVjYTA0YzhlMDgzYTJlNDM5MyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJLaXQvRGVyaXZl
ZFNvdXJjZXMubWFrZQpAQCAtMzE2LDggKzMxNiw3IEBAICQoV0VCX1BSRUZFUkVOQ0VTX0NPTUJJ
TkVEX0lOUFVUX0ZJTEUpIDogJChXRUJfUFJFRkVSRU5DRVNfSU5QVVRfRklMRVMpCiAkKFdFQl9Q
UkVGRVJFTkNFU19QQVRURVJOUykgOiAkKFdlYktpdDIpL1NjcmlwdHMvR2VuZXJhdGVQcmVmZXJl
bmNlcy5yYiAkKFdFQl9QUkVGRVJFTkNFU19URU1QTEFURVMpICQoV0VCX1BSRUZFUkVOQ0VTX0NP
TUJJTkVEX0lOUFVUX0ZJTEUpCiAJJChSVUJZKSAkPCAtLWlucHV0ICQoV0VCX1BSRUZFUkVOQ0VT
X0NPTUJJTkVEX0lOUFVUX0ZJTEUpCiAKLWlmZXEgKCQoRU5BQkxFX0hUVFBTX1VQR1JBREUpLEVO
QUJMRV9IVFRQU19VUEdSQURFKQorVlBBVEggKz0gJChXZWJLaXQyKS9TaGFyZWQvSFRUUFNVcGdy
YWRlLwogYWxsIDogSFRUUFNVcGdyYWRlTGlzdC5kYgogSFRUUFNVcGdyYWRlTGlzdC5kYiA6IEhU
VFBTVXBncmFkZUxpc3QudHh0ICQoV2ViS2l0MikvU2NyaXB0cy9nZW5lcmF0ZS1odHRwcy11cGdy
YWRlLWRhdGFiYXNlLnNoCiAJc2ggJChXZWJLaXQyKS9TY3JpcHRzL2dlbmVyYXRlLWh0dHBzLXVw
Z3JhZGUtZGF0YWJhc2Uuc2ggJDwgJEAKLWVuZGlmICMgRU5BQkxFX0hUVFBTX1VQR1JBREUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0hUVFBTVXBncmFk
ZUNoZWNrZXIuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrSFRUUFNV
cGdyYWRlQ2hlY2tlci5jcHAKaW5kZXggNzNiNDZjMDlmNmJmZGI1Nzg2ZjY4NWFlNDZkNTRhMzM1
OWMwODljYS4uODljZmE4MjQ4ZjJjMTUzYThhMDllMTg3MmFhNzMxOGM2MjA5OWVlNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrSFRUUFNVcGdyYWRlQ2hl
Y2tlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrSFRUUFNV
cGdyYWRlQ2hlY2tlci5jcHAKQEAgLTI2LDggKzI2LDYgQEAKICNpbmNsdWRlICJjb25maWcuaCIK
ICNpbmNsdWRlICJOZXR3b3JrSFRUUFNVcGdyYWRlQ2hlY2tlci5oIgogCi0jaWYgRU5BQkxFKEhU
VFBTX1VQR1JBREUpCi0KICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9T
UUxpdGVEYXRhYmFzZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvU1FMaXRlU3RhdGVtZW50Lmg+CkBA
IC05NSwxMyArOTMsMTMgQEAgdm9pZCBOZXR3b3JrSFRUUFNVcGdyYWRlQ2hlY2tlcjo6cXVlcnko
U3RyaW5nJiYgaG9zdCwgUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELAogICAgICAgICBBU1NFUlQo
bV9kaWRTZXR1cENvbXBsZXRlU3VjY2Vzc2Z1bGx5KTsKIAogICAgICAgICBpbnQgYmluZFRleHRS
ZXN1bHQgPSBtX3N0YXRlbWVudC0+YmluZFRleHQoMSwgV1RGTW92ZShob3N0KSk7Ci0gICAgICAg
IEFTU0VSVChiaW5kVGV4dFJlc3VsdCA9PSBTUUxJVEVfT0spOworICAgICAgICBBU1NFUlRfVU5V
U0VEKGJpbmRUZXh0UmVzdWx0LCBiaW5kVGV4dFJlc3VsdCA9PSBTUUxJVEVfT0spOwogCiAgICAg
ICAgIGludCBzdGVwUmVzdWx0ID0gbV9zdGF0ZW1lbnQtPnN0ZXAoKTsKICAgICAgICAgQVNTRVJU
KHN0ZXBSZXN1bHQgPT0gU1FMSVRFX1JPVyB8fCBzdGVwUmVzdWx0ID09IFNRTElURV9ET05FKTsK
IAogICAgICAgICBpbnQgcmVzZXRSZXN1bHQgPSBtX3N0YXRlbWVudC0+cmVzZXQoKTsKLSAgICAg
ICAgQVNTRVJUKHJlc2V0UmVzdWx0ID09IFNRTElURV9PSyk7CisgICAgICAgIEFTU0VSVF9VTlVT
RUQocmVzZXRSZXN1bHQsIHJlc2V0UmVzdWx0ID09IFNRTElURV9PSyk7CiAKICAgICAgICAgYm9v
bCBmb3VuZEhvc3QgPSAoc3RlcFJlc3VsdCA9PSBTUUxJVEVfUk9XKTsKICAgICAgICAgUkVMRUFT
RV9MT0dfSUZfQUxMT1dFRChzZXNzaW9uSUQsICJxdWVyeSAtIFJhbiBzdWNjZXNzZnVsbHkuIFJl
c3VsdCA9ICVzIiwgKGZvdW5kSG9zdCA/ICJ0cnVlIiA6ICJmYWxzZSIpKTsKQEAgLTExMyw0ICsx
MTEsMyBAQCB2b2lkIE5ldHdvcmtIVFRQU1VwZ3JhZGVDaGVja2VyOjpxdWVyeShTdHJpbmcmJiBo
b3N0LCBQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsCiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAog
Ci0jZW5kaWYgLy8gRU5BQkxFKEhUVFBTX1VQR1JBREUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtIVFRQU1VwZ3JhZGVDaGVja2VyLmggYi9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtIVFRQU1VwZ3JhZGVDaGVja2VyLmgKaW5kZXgg
YzYzMDNhNzYxNDBiNjA4ZGM1NGE4ZGEyZmRhMDk3ZTRlNGI5YWRmMS4uMzgzN2U2NzdiNzMwNWU2
NWUwZDVkYzVkMjk0MzhkOWExNTk0YzQ5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrSFRUUFNVcGdyYWRlQ2hlY2tlci5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0hUVFBTVXBncmFkZUNoZWNrZXIuaApAQCAtMjUsOCAr
MjUsNiBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2lmIEVOQUJMRShIVFRQU19VUEdSQURFKQotCiAj
aW5jbHVkZSA8d3RmL1VuaXF1ZVJlZi5oPgogCiBuYW1lc3BhY2UgV1RGIHsKQEAgLTY0LDQgKzYy
LDMgQEAgcHJpdmF0ZToKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKLSNlbmRpZiAvLyBFTkFC
TEUoSFRUUFNfVVBHUkFERSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvTmV0d29ya0xvYWRDaGVja2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
TmV0d29ya0xvYWRDaGVja2VyLmNwcAppbmRleCAwZjMwMmRjNjgxNWUyZTk4YjBkMDMyZTMyYjZj
MTcxYjU0ZjUzMDZkLi5hZWZhMDE5ODRmMWYyYTg0MDA2YTE0YzkzZjlhYTQ0Y2E3ZDRjYzIwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtMb2FkQ2hlY2tl
ci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZENoZWNr
ZXIuY3BwCkBAIC00Niw3ICs0Niw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBpc1NhbWVPcmlnaW4o
Y29uc3QgVVJMJiB1cmwsIGNvbnN0IFNlY3VyaXR5T3JpZ2luKiBvcmlnaW4pCiAgICAgcmV0dXJu
IHVybC5wcm90b2NvbElzRGF0YSgpIHx8IHVybC5wcm90b2NvbElzQmxvYigpIHx8ICFvcmlnaW4g
fHwgb3JpZ2luLT5jYW5SZXF1ZXN0KHVybCk7CiB9CiAKLU5ldHdvcmtMb2FkQ2hlY2tlcjo6TmV0
d29ya0xvYWRDaGVja2VyKEZldGNoT3B0aW9ucyYmIG9wdGlvbnMsIFBBTDo6U2Vzc2lvbklEIHNl
c3Npb25JRCwgdWludDY0X3QgcGFnZUlELCB1aW50NjRfdCBmcmFtZUlELCBIVFRQSGVhZGVyTWFw
JiYgb3JpZ2luYWxSZXF1ZXN0SGVhZGVycywgVVJMJiYgdXJsLCBSZWZQdHI8U2VjdXJpdHlPcmln
aW4+JiYgc291cmNlT3JpZ2luLCBQcmVmbGlnaHRQb2xpY3kgcHJlZmxpZ2h0UG9saWN5LCBTdHJp
bmcmJiByZWZlcnJlciwgYm9vbCBzaG91bGRDYXB0dXJlRXh0cmFOZXR3b3JrTG9hZE1ldHJpY3Ms
IExvYWRUeXBlIHJlcXVlc3RMb2FkVHlwZSkKK05ldHdvcmtMb2FkQ2hlY2tlcjo6TmV0d29ya0xv
YWRDaGVja2VyKEZldGNoT3B0aW9ucyYmIG9wdGlvbnMsIFBBTDo6U2Vzc2lvbklEIHNlc3Npb25J
RCwgdWludDY0X3QgcGFnZUlELCB1aW50NjRfdCBmcmFtZUlELCBIVFRQSGVhZGVyTWFwJiYgb3Jp
Z2luYWxSZXF1ZXN0SGVhZGVycywgVVJMJiYgdXJsLCBSZWZQdHI8U2VjdXJpdHlPcmlnaW4+JiYg
c291cmNlT3JpZ2luLCBQcmVmbGlnaHRQb2xpY3kgcHJlZmxpZ2h0UG9saWN5LCBib29sIGlzSFRU
UFNVcGdyYWRlRW5hYmxlZCwgU3RyaW5nJiYgcmVmZXJyZXIsIGJvb2wgc2hvdWxkQ2FwdHVyZUV4
dHJhTmV0d29ya0xvYWRNZXRyaWNzLCBMb2FkVHlwZSByZXF1ZXN0TG9hZFR5cGUpCiAgICAgOiBt
X29wdGlvbnMoV1RGTW92ZShvcHRpb25zKSkKICAgICAsIG1fc2Vzc2lvbklEKHNlc3Npb25JRCkK
ICAgICAsIG1fcGFnZUlEKHBhZ2VJRCkKQEAgLTU3LDYgKzU3LDcgQEAgTmV0d29ya0xvYWRDaGVj
a2VyOjpOZXR3b3JrTG9hZENoZWNrZXIoRmV0Y2hPcHRpb25zJiYgb3B0aW9ucywgUEFMOjpTZXNz
aW9uSUQgc2UKICAgICAsIG1fcHJlZmxpZ2h0UG9saWN5KHByZWZsaWdodFBvbGljeSkKICAgICAs
IG1fcmVmZXJyZXIoV1RGTW92ZShyZWZlcnJlcikpCiAgICAgLCBtX3Nob3VsZENhcHR1cmVFeHRy
YU5ldHdvcmtMb2FkTWV0cmljcyhzaG91bGRDYXB0dXJlRXh0cmFOZXR3b3JrTG9hZE1ldHJpY3Mp
CisgICAgLCBtX2lzSFRUUFNVcGdyYWRlRW5hYmxlZChpc0hUVFBTVXBncmFkZUVuYWJsZWQpCiAg
ICAgLCBtX3JlcXVlc3RMb2FkVHlwZShyZXF1ZXN0TG9hZFR5cGUpCiB7CiAgICAgbV9pc1NhbWVP
cmlnaW5SZXF1ZXN0ID0gaXNTYW1lT3JpZ2luKG1fdXJsLCBtX29yaWdpbi5nZXQoKSk7CkBAIC0x
OTEsMTAgKzE5MiwxMCBAQCBhdXRvIE5ldHdvcmtMb2FkQ2hlY2tlcjo6YWNjZXNzQ29udHJvbEVy
cm9yRm9yVmFsaWRhdGlvbkhhbmRsZXIoU3RyaW5nJiYgbWVzc2FnZQogICAgIHJldHVybiBSZXNv
dXJjZUVycm9yIHsgU3RyaW5nIHsgfSwgMCwgbV91cmwsIFdURk1vdmUobWVzc2FnZSksIFJlc291
cmNlRXJyb3I6OlR5cGU6OkFjY2Vzc0NvbnRyb2wgfTsKIH0KIAotI2lmIEVOQUJMRShIVFRQU19V
UEdSQURFKQogdm9pZCBOZXR3b3JrTG9hZENoZWNrZXI6OmFwcGx5SFRUUFNVcGdyYWRlSWZOZWVk
ZWQoUmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChSZXNv
dXJjZVJlcXVlc3QmJik+JiYgaGFuZGxlcikgY29uc3QKIHsKLSAgICBpZiAobV9yZXF1ZXN0TG9h
ZFR5cGUgIT0gTG9hZFR5cGU6Ok1haW5GcmFtZSkgeworI2lmIFBMQVRGT1JNKENPQ09BKQorICAg
IGlmICghbV9pc0hUVFBTVXBncmFkZUVuYWJsZWQgfHwgbV9yZXF1ZXN0TG9hZFR5cGUgIT0gTG9h
ZFR5cGU6Ok1haW5GcmFtZSkgewogICAgICAgICBoYW5kbGVyKFdURk1vdmUocmVxdWVzdCkpOwog
ICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtMjI0LDI0ICsyMjUsMjQgQEAgdm9pZCBOZXR3b3Jr
TG9hZENoZWNrZXI6OmFwcGx5SFRUUFNVcGdyYWRlSWZOZWVkZWQoUmVzb3VyY2VSZXF1ZXN0JiYg
cmVxdWVzdCwgQ28KIAogICAgICAgICBoYW5kbGVyKFdURk1vdmUocmVxdWVzdCkpOwogICAgIH0p
OworI2Vsc2UKKyAgICBoYW5kbGVyKFdURk1vdmUocmVxdWVzdCkpOworI2VuZGlmCiB9Ci0jZW5k
aWYgLy8gRU5BQkxFKEhUVFBTX1VQR1JBREUpCiAKIHZvaWQgTmV0d29ya0xvYWRDaGVja2VyOjpj
aGVja1JlcXVlc3QoUmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCwgQ29udGVudFNlY3VyaXR5UG9s
aWN5Q2xpZW50KiBjbGllbnQsIFZhbGlkYXRpb25IYW5kbGVyJiYgaGFuZGxlcikKIHsKICAgICBS
ZXNvdXJjZVJlcXVlc3Qgb3JpZ2luYWxSZXF1ZXN0ID0gcmVxdWVzdDsKIAotI2lmIEVOQUJMRShI
VFRQU19VUEdSQURFKQogICAgIGFwcGx5SFRUUFNVcGdyYWRlSWZOZWVkZWQoV1RGTW92ZShyZXF1
ZXN0KSwgW3RoaXMsIGNsaWVudCwgaGFuZGxlciA9IFdURk1vdmUoaGFuZGxlciksIG9yaWdpbmFs
UmVxdWVzdCA9IFdURk1vdmUob3JpZ2luYWxSZXF1ZXN0KV0oYXV0byByZXF1ZXN0KSBtdXRhYmxl
IHsKLSNlbmRpZiAvLyBFTkFCTEUoSFRUUFNfVVBHUkFERSkKIAogICAgICAgICBpZiAoYXV0byog
Y29udGVudFNlY3VyaXR5UG9saWN5ID0gdGhpcy0+Y29udGVudFNlY3VyaXR5UG9saWN5KCkpIHsK
LSAgICAgICAgICAgIGlmIChpc1JlZGlyZWN0ZWQoKSkgeworICAgICAgICAgICAgaWYgKHRoaXMt
PmlzUmVkaXJlY3RlZCgpKSB7CiAgICAgICAgICAgICAgICAgYXV0byB0eXBlID0gbV9vcHRpb25z
Lm1vZGUgPT0gRmV0Y2hPcHRpb25zOjpNb2RlOjpOYXZpZ2F0ZSA/IENvbnRlbnRTZWN1cml0eVBv
bGljeTo6SW5zZWN1cmVSZXF1ZXN0VHlwZTo6TmF2aWdhdGlvbiA6IENvbnRlbnRTZWN1cml0eVBv
bGljeTo6SW5zZWN1cmVSZXF1ZXN0VHlwZTo6TG9hZDsKICAgICAgICAgICAgICAgICBjb250ZW50
U2VjdXJpdHlQb2xpY3ktPnVwZ3JhZGVJbnNlY3VyZVJlcXVlc3RJZk5lZWRlZChyZXF1ZXN0LCB0
eXBlKTsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlmICghaXNBbGxvd2VkQnlDb250ZW50
U2VjdXJpdHlQb2xpY3kocmVxdWVzdCwgY2xpZW50KSkgewotICAgICAgICAgICAgICAgIGhhbmRs
ZXIoYWNjZXNzQ29udHJvbEVycm9yRm9yVmFsaWRhdGlvbkhhbmRsZXIoIkJsb2NrZWQgYnkgQ29u
dGVudCBTZWN1cml0eSBQb2xpY3kuIl9zKSk7CisgICAgICAgICAgICBpZiAoIXRoaXMtPmlzQWxs
b3dlZEJ5Q29udGVudFNlY3VyaXR5UG9saWN5KHJlcXVlc3QsIGNsaWVudCkpIHsKKyAgICAgICAg
ICAgICAgICBoYW5kbGVyKHRoaXMtPmFjY2Vzc0NvbnRyb2xFcnJvckZvclZhbGlkYXRpb25IYW5k
bGVyKCJCbG9ja2VkIGJ5IENvbnRlbnQgU2VjdXJpdHkgUG9saWN5LiJfcykpOwogICAgICAgICAg
ICAgICAgIHJldHVybjsKICAgICAgICAgICAgIH0KICAgICAgICAgfQpAQCAtMjYxLDEzICsyNjIs
OSBAQCB2b2lkIE5ldHdvcmtMb2FkQ2hlY2tlcjo6Y2hlY2tSZXF1ZXN0KFJlc291cmNlUmVxdWVz
dCYmIHJlcXVlc3QsIENvbnRlbnRTZWN1cml0eQogICAgICAgICAgICAgY29udGludWVDaGVja2lu
Z1JlcXVlc3RPckRvU3ludGhldGljUmVkaXJlY3QoV1RGTW92ZShvcmlnaW5hbFJlcXVlc3QpLCBX
VEZNb3ZlKHJlc3VsdC52YWx1ZSgpLnJlcXVlc3QpLCBXVEZNb3ZlKGhhbmRsZXIpKTsKICAgICAg
ICAgfSk7CiAjZWxzZQotICAgICAgICBjb250aW51ZUNoZWNraW5nUmVxdWVzdE9yRG9TeW50aGV0
aWNSZWRpcmVjdChXVEZNb3ZlKG9yaWdpbmFsUmVxdWVzdCksIFdURk1vdmUocmVxdWVzdCksIFdU
Rk1vdmUoaGFuZGxlcikpOworICAgICAgICB0aGlzLT5jb250aW51ZUNoZWNraW5nUmVxdWVzdE9y
RG9TeW50aGV0aWNSZWRpcmVjdChXVEZNb3ZlKG9yaWdpbmFsUmVxdWVzdCksIFdURk1vdmUocmVx
dWVzdCksIFdURk1vdmUoaGFuZGxlcikpOwogI2VuZGlmCi0KLSNpZiBFTkFCTEUoSFRUUFNfVVBH
UkFERSkKICAgICB9KTsKLSNlbmRpZiAvLyBFTkFCTEUoSFRUUFNfVVBHUkFERSkKLQogfQogCiB2
b2lkIE5ldHdvcmtMb2FkQ2hlY2tlcjo6Y29udGludWVDaGVja2luZ1JlcXVlc3RPckRvU3ludGhl
dGljUmVkaXJlY3QoUmVzb3VyY2VSZXF1ZXN0JiYgb3JpZ2luYWxSZXF1ZXN0LCBSZXNvdXJjZVJl
cXVlc3QmJiBjdXJyZW50UmVxdWVzdCwgVmFsaWRhdGlvbkhhbmRsZXImJiBoYW5kbGVyKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZENoZWNrZXIu
aCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0xvYWRDaGVja2VyLmgKaW5k
ZXggMjgzZjI2MjI4OGRiMTQ1ZWU2NTczNDViOGNkYzZhNTJhMzVkMzc1OC4uYTY3YjliNzJkMDZi
NTBmNzI2YzI1NDE5MzIyMzhlOTYyYzI1MmM1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZENoZWNrZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL05ldHdvcmtMb2FkQ2hlY2tlci5oCkBAIC01Miw3ICs1Miw3IEBAIGNsYXNz
IE5ldHdvcmtMb2FkQ2hlY2tlciA6IHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxOZXR3b3JrTG9hZENo
ZWNrZXI+IHsKIHB1YmxpYzoKICAgICBlbnVtIGNsYXNzIExvYWRUeXBlIDogYm9vbCB7IE1haW5G
cmFtZSwgT3RoZXIgfTsKIAotICAgIE5ldHdvcmtMb2FkQ2hlY2tlcihXZWJDb3JlOjpGZXRjaE9w
dGlvbnMmJiwgUEFMOjpTZXNzaW9uSUQsIHVpbnQ2NF90IHBhZ2VJRCwgdWludDY0X3QgZnJhbWVJ
RCwgV2ViQ29yZTo6SFRUUEhlYWRlck1hcCYmLCBVUkwmJiwgUmVmUHRyPFdlYkNvcmU6OlNlY3Vy
aXR5T3JpZ2luPiYmLCBXZWJDb3JlOjpQcmVmbGlnaHRQb2xpY3ksIFN0cmluZyYmIHJlZmVycmVy
LCBib29sIHNob3VsZENhcHR1cmVFeHRyYU5ldHdvcmtMb2FkTWV0cmljcyA9IGZhbHNlLCBMb2Fk
VHlwZSByZXF1ZXN0TG9hZFR5cGUgPSBMb2FkVHlwZTo6T3RoZXIpOworICAgIE5ldHdvcmtMb2Fk
Q2hlY2tlcihXZWJDb3JlOjpGZXRjaE9wdGlvbnMmJiwgUEFMOjpTZXNzaW9uSUQsIHVpbnQ2NF90
IHBhZ2VJRCwgdWludDY0X3QgZnJhbWVJRCwgV2ViQ29yZTo6SFRUUEhlYWRlck1hcCYmLCBVUkwm
JiwgUmVmUHRyPFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luPiYmLCBXZWJDb3JlOjpQcmVmbGlnaHRQ
b2xpY3ksIGJvb2wgaXNIVFRQU1VwZ3JhZGVFbmFibGVkLCBTdHJpbmcmJiByZWZlcnJlciwgYm9v
bCBzaG91bGRDYXB0dXJlRXh0cmFOZXR3b3JrTG9hZE1ldHJpY3MgPSBmYWxzZSwgTG9hZFR5cGUg
cmVxdWVzdExvYWRUeXBlID0gTG9hZFR5cGU6Ok90aGVyKTsKICAgICB+TmV0d29ya0xvYWRDaGVj
a2VyKCk7CiAKICAgICBzdHJ1Y3QgUmVkaXJlY3Rpb25UcmlwbGV0IHsKQEAgLTExOSw5ICsxMTks
NyBAQCBwcml2YXRlOgogICAgIHZvaWQgcHJvY2Vzc0NvbnRlbnRFeHRlbnNpb25SdWxlc0Zvckxv
YWQoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiYsIENvbnRlbnRFeHRlbnNpb25DYWxsYmFjayYm
KTsKICNlbmRpZgogCi0jaWYgRU5BQkxFKEhUVFBTX1VQR1JBREUpCiAgICAgdm9pZCBhcHBseUhU
VFBTVXBncmFkZUlmTmVlZGVkKFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYmLCBDb21wbGV0aW9u
SGFuZGxlcjx2b2lkKFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYmKT4mJikgY29uc3Q7Ci0jZW5k
aWYgLy8gRU5BQkxFKEhUVFBTX1VQR1JBREUpCiAKICAgICBXZWJDb3JlOjpGZXRjaE9wdGlvbnMg
bV9vcHRpb25zOwogICAgIFdlYkNvcmU6OlN0b3JlZENyZWRlbnRpYWxzUG9saWN5IG1fc3RvcmVk
Q3JlZGVudGlhbHNQb2xpY3k7CkBAIC0xNDksNiArMTQ3LDcgQEAgcHJpdmF0ZToKICAgICBTdHJp
bmcgbV9yZWZlcnJlcjsKICAgICBib29sIG1fY2hlY2tDb250ZW50RXh0ZW5zaW9ucyB7IGZhbHNl
IH07CiAgICAgYm9vbCBtX3Nob3VsZENhcHR1cmVFeHRyYU5ldHdvcmtMb2FkTWV0cmljcyB7IGZh
bHNlIH07CisgICAgYm9vbCBtX2lzSFRUUFNVcGdyYWRlRW5hYmxlZCB7IGZhbHNlIH07CiAgICAg
V2ViQ29yZTo6TmV0d29ya0xvYWRJbmZvcm1hdGlvbiBtX2xvYWRJbmZvcm1hdGlvbjsKIAogICAg
IExvYWRUeXBlIG1fcmVxdWVzdExvYWRUeXBlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCmluZGV4IGU5NDg3MTAyODdlZDY5ZDExYzIyMmVlNGVjMzU4
OGRmZWM5YTJmN2MuLjg0YjJhY2YxM2RkYzU1ZWFiNTEyZGUwZmE0OTI4MzEzODI3ZDM1OGYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKQEAgLTIw
NSw5ICsyMDUsOSBAQCBwdWJsaWM6CiAgICAgYm9vbCBwYXJlbnRQcm9jZXNzSGFzU2VydmljZVdv
cmtlckVudGl0bGVtZW50KCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogI2VuZGlmCiAKLSNpZiBF
TkFCTEUoSFRUUFNfVVBHUkFERSkKLSAgICBOZXR3b3JrSFRUUFNVcGdyYWRlQ2hlY2tlciYgbmV0
d29ya0hUVFBTVXBncmFkZUNoZWNrZXIoKSB7IHJldHVybiBtX25ldHdvcmtIVFRQU1VwZ3JhZGVD
aGVja2VyOyB9OwotI2VuZGlmIC8vIEVOQUJMRShIVFRQU19VUEdSQURFKQorI2lmIFBMQVRGT1JN
KENPQ09BKQorICAgIE5ldHdvcmtIVFRQU1VwZ3JhZGVDaGVja2VyJiBuZXR3b3JrSFRUUFNVcGdy
YWRlQ2hlY2tlcigpIHsgcmV0dXJuIG1fbmV0d29ya0hUVFBTVXBncmFkZUNoZWNrZXI7IH0KKyNl
bmRpZgogCiBwcml2YXRlOgogICAgIE5ldHdvcmtQcm9jZXNzKCk7CkBAIC0zOTgsOSArMzk4LDkg
QEAgcHJpdmF0ZToKICAgICBIYXNoTWFwPFdlYkNvcmU6OlNXU2VydmVyQ29ubmVjdGlvbklkZW50
aWZpZXIsIFdlYlNXU2VydmVyQ29ubmVjdGlvbio+IG1fc3dTZXJ2ZXJDb25uZWN0aW9uczsKICNl
bmRpZgogCi0jaWYgRU5BQkxFKEhUVFBTX1VQR1JBREUpCisjaWYgUExBVEZPUk0oQ09DT0EpCiAg
ICAgTmV0d29ya0hUVFBTVXBncmFkZUNoZWNrZXIgbV9uZXR3b3JrSFRUUFNVcGdyYWRlQ2hlY2tl
cjsKLSNlbmRpZiAvLyBFTkFCTEUoSFRUUFNfVVBHUkFERSkKKyNlbmRpZgogfTsKIAogfSAvLyBu
YW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L05ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMuY3BwCmluZGV4IDBjZmVlYTVj
Y2QwNjNmY2E3ZjYxMGFiNmM5ZDViMWQyYzJiZDllZmMuLjgwYjcwYWFhYjIyNzkxMDdjZTBiZGE2
N2E2ZWNhMjEwNzVhMmJlZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMuY3BwCkBAIC05NCw2
ICs5NCw3IEBAIHZvaWQgTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnM6OmVuY29kZShJUEM6
OkVuY29kZXImIGVuY29kZXIpIGNvbnN0CiAgICAgZW5jb2RlciA8PCBzaG91bGRFbmFibGVDcm9z
c09yaWdpblJlc291cmNlUG9saWN5OwogCiAgICAgZW5jb2RlciA8PCBmcmFtZUFuY2VzdG9yT3Jp
Z2luczsKKyAgICBlbmNvZGVyIDw8IGlzSFRUUFNVcGdyYWRlRW5hYmxlZDsKIAogI2lmIEVOQUJM
RShDT05URU5UX0VYVEVOU0lPTlMpCiAgICAgZW5jb2RlciA8PCBtYWluRG9jdW1lbnRVUkw7CkBA
IC0yMDQsNiArMjA1LDEyIEBAIGJvb2wgTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnM6OmRl
Y29kZShJUEM6OkRlY29kZXImIGRlY29kZXIsIE5ldHdvcmtSZXNvdXJjCiAKICAgICBpZiAoIWRl
Y29kZXIuZGVjb2RlKHJlc3VsdC5mcmFtZUFuY2VzdG9yT3JpZ2lucykpCiAgICAgICAgIHJldHVy
biBmYWxzZTsKKworICAgIE9wdGlvbmFsPGJvb2w+IGlzSFRUUFNVcGdyYWRlRW5hYmxlZDsKKyAg
ICBkZWNvZGVyID4+IGlzSFRUUFNVcGdyYWRlRW5hYmxlZDsKKyAgICBpZiAoIWlzSFRUUFNVcGdy
YWRlRW5hYmxlZCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIHJlc3VsdC5pc0hUVFBTVXBn
cmFkZUVuYWJsZWQgPSAqaXNIVFRQU1VwZ3JhZGVFbmFibGVkOwogICAgIAogI2lmIEVOQUJMRShD
T05URU5UX0VYVEVOU0lPTlMpCiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQubWFpbkRv
Y3VtZW50VVJMKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0
d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMuaAppbmRleCAxMzI3MTBmY2UwYTVjYmQ5
YTgwZTYyZGRiOThmZjQ0MzVhZTFhM2M1Li5iMDVmZjgwM2YxNzE5MGFkZTMxOWNkYTA2M2RhMDMx
NDA2ZTRmMzc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdv
cmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycy5oCkBAIC01OSw2ICs1OSw3IEBAIHB1
YmxpYzoKICAgICBXZWJDb3JlOjpQcmVmbGlnaHRQb2xpY3kgcHJlZmxpZ2h0UG9saWN5IHsgV2Vi
Q29yZTo6UHJlZmxpZ2h0UG9saWN5OjpDb25zaWRlciB9OwogICAgIGJvb2wgc2hvdWxkRW5hYmxl
Q3Jvc3NPcmlnaW5SZXNvdXJjZVBvbGljeSB7IGZhbHNlIH07CiAgICAgVmVjdG9yPFJlZlB0cjxX
ZWJDb3JlOjpTZWN1cml0eU9yaWdpbj4+IGZyYW1lQW5jZXN0b3JPcmlnaW5zOworICAgIGJvb2wg
aXNIVFRQU1VwZ3JhZGVFbmFibGVkIHsgZmFsc2UgfTsKIAogI2lmIEVOQUJMRShDT05URU5UX0VY
VEVOU0lPTlMpCiAgICAgVVJMIG1haW5Eb2N1bWVudFVSTDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcAppbmRleCA3N2Zh
OGVhMjlkNjViYTE2ZGFlMGNkOGUzNWMyMmU2Zjk5NGI5ZDdmLi45OTcwMDFhYjkzMmYzZjAxZDAx
OTNlNTZmMGM5MjFiOWZmMWIzYmY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC0xMTIsNyArMTEyLDcgQEAg
TmV0d29ya1Jlc291cmNlTG9hZGVyOjpOZXR3b3JrUmVzb3VyY2VMb2FkZXIoTmV0d29ya1Jlc291
cmNlTG9hZFBhcmFtZXRlcnMmJiBwYXIKIAogICAgIGlmIChzeW5jaHJvbm91c1JlcGx5IHx8IHBh
cmFtZXRlcnMuc2hvdWxkUmVzdHJpY3RIVFRQUmVzcG9uc2VBY2Nlc3MpIHsKICAgICAgICAgTmV0
d29ya0xvYWRDaGVja2VyOjpMb2FkVHlwZSByZXF1ZXN0TG9hZFR5cGUgPSBpc01haW5GcmFtZUxv
YWQoKSA/IE5ldHdvcmtMb2FkQ2hlY2tlcjo6TG9hZFR5cGU6Ok1haW5GcmFtZSA6IE5ldHdvcmtM
b2FkQ2hlY2tlcjo6TG9hZFR5cGU6Ok90aGVyOwotICAgICAgICBtX25ldHdvcmtMb2FkQ2hlY2tl
ciA9IHN0ZDo6bWFrZV91bmlxdWU8TmV0d29ya0xvYWRDaGVja2VyPihGZXRjaE9wdGlvbnMgeyBt
X3BhcmFtZXRlcnMub3B0aW9ucyB9LCBtX3BhcmFtZXRlcnMuc2Vzc2lvbklELCBtX3BhcmFtZXRl
cnMud2ViUGFnZUlELCBtX3BhcmFtZXRlcnMud2ViRnJhbWVJRCwgSFRUUEhlYWRlck1hcCB7IG1f
cGFyYW1ldGVycy5vcmlnaW5hbFJlcXVlc3RIZWFkZXJzIH0sIFVSTCB7IG1fcGFyYW1ldGVycy5y
ZXF1ZXN0LnVybCgpIH0sIG1fcGFyYW1ldGVycy5zb3VyY2VPcmlnaW4uY29weVJlZigpLCBtX3Bh
cmFtZXRlcnMucHJlZmxpZ2h0UG9saWN5LCBvcmlnaW5hbFJlcXVlc3QoKS5odHRwUmVmZXJyZXIo
KSwgc2hvdWxkQ2FwdHVyZUV4dHJhTmV0d29ya0xvYWRNZXRyaWNzKCksIHJlcXVlc3RMb2FkVHlw
ZSk7CisgICAgICAgIG1fbmV0d29ya0xvYWRDaGVja2VyID0gc3RkOjptYWtlX3VuaXF1ZTxOZXR3
b3JrTG9hZENoZWNrZXI+KEZldGNoT3B0aW9ucyB7IG1fcGFyYW1ldGVycy5vcHRpb25zIH0sIG1f
cGFyYW1ldGVycy5zZXNzaW9uSUQsIG1fcGFyYW1ldGVycy53ZWJQYWdlSUQsIG1fcGFyYW1ldGVy
cy53ZWJGcmFtZUlELCBIVFRQSGVhZGVyTWFwIHsgbV9wYXJhbWV0ZXJzLm9yaWdpbmFsUmVxdWVz
dEhlYWRlcnMgfSwgVVJMIHsgbV9wYXJhbWV0ZXJzLnJlcXVlc3QudXJsKCkgfSwgbV9wYXJhbWV0
ZXJzLnNvdXJjZU9yaWdpbi5jb3B5UmVmKCksIG1fcGFyYW1ldGVycy5wcmVmbGlnaHRQb2xpY3ks
IG1fcGFyYW1ldGVycy5pc0hUVFBTVXBncmFkZUVuYWJsZWQsIG9yaWdpbmFsUmVxdWVzdCgpLmh0
dHBSZWZlcnJlcigpLCBzaG91bGRDYXB0dXJlRXh0cmFOZXR3b3JrTG9hZE1ldHJpY3MoKSwgcmVx
dWVzdExvYWRUeXBlKTsKICAgICAgICAgaWYgKG1fcGFyYW1ldGVycy5jc3BSZXNwb25zZUhlYWRl
cnMpCiAgICAgICAgICAgICBtX25ldHdvcmtMb2FkQ2hlY2tlci0+c2V0Q1NQUmVzcG9uc2VIZWFk
ZXJzKENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyB7IG1fcGFyYW1ldGVycy5j
c3BSZXNwb25zZUhlYWRlcnMudmFsdWUoKSB9KTsKICNpZiBFTkFCTEUoQ09OVEVOVF9FWFRFTlNJ
T05TKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9QaW5nTG9hZC5j
cHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1BpbmdMb2FkLmNwcAppbmRleCBjYTAx
NWVmYWMzNDJlNzM0MTQ0ZDE1NGE1ZGU5NWExM2JjOTYyN2Q2Li4xNzEzYTVhYTUxNmIzMTM4MGZm
OThlMzZjMjAzNmM1ZDYzMWQwY2VjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL1BpbmdMb2FkLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1Bp
bmdMb2FkLmNwcApAQCAtNDMsNyArNDMsNyBAQCBQaW5nTG9hZDo6UGluZ0xvYWQoTmV0d29ya1Jl
c291cmNlTG9hZFBhcmFtZXRlcnMmJiBwYXJhbWV0ZXJzLCBDb21wbGV0aW9uSGFuZGxlcgogICAg
IDogbV9wYXJhbWV0ZXJzKFdURk1vdmUocGFyYW1ldGVycykpCiAgICAgLCBtX2NvbXBsZXRpb25I
YW5kbGVyKFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKQogICAgICwgbV90aW1lb3V0VGltZXIo
KnRoaXMsICZQaW5nTG9hZDo6dGltZW91dFRpbWVyRmlyZWQpCi0gICAgLCBtX25ldHdvcmtMb2Fk
Q2hlY2tlcihtYWtlVW5pcXVlUmVmPE5ldHdvcmtMb2FkQ2hlY2tlcj4oRmV0Y2hPcHRpb25zIHsg
bV9wYXJhbWV0ZXJzLm9wdGlvbnN9LCBtX3BhcmFtZXRlcnMuc2Vzc2lvbklELCBtX3BhcmFtZXRl
cnMud2ViUGFnZUlELCBtX3BhcmFtZXRlcnMud2ViRnJhbWVJRCwgV1RGTW92ZShtX3BhcmFtZXRl
cnMub3JpZ2luYWxSZXF1ZXN0SGVhZGVycyksIFVSTCB7IG1fcGFyYW1ldGVycy5yZXF1ZXN0LnVy
bCgpIH0sIG1fcGFyYW1ldGVycy5zb3VyY2VPcmlnaW4uY29weVJlZigpLCBtX3BhcmFtZXRlcnMu
cHJlZmxpZ2h0UG9saWN5LCBtX3BhcmFtZXRlcnMucmVxdWVzdC5odHRwUmVmZXJyZXIoKSkpCisg
ICAgLCBtX25ldHdvcmtMb2FkQ2hlY2tlcihtYWtlVW5pcXVlUmVmPE5ldHdvcmtMb2FkQ2hlY2tl
cj4oRmV0Y2hPcHRpb25zIHsgbV9wYXJhbWV0ZXJzLm9wdGlvbnN9LCBtX3BhcmFtZXRlcnMuc2Vz
c2lvbklELCBtX3BhcmFtZXRlcnMud2ViUGFnZUlELCBtX3BhcmFtZXRlcnMud2ViRnJhbWVJRCwg
V1RGTW92ZShtX3BhcmFtZXRlcnMub3JpZ2luYWxSZXF1ZXN0SGVhZGVycyksIFVSTCB7IG1fcGFy
YW1ldGVycy5yZXF1ZXN0LnVybCgpIH0sIG1fcGFyYW1ldGVycy5zb3VyY2VPcmlnaW4uY29weVJl
ZigpLCBtX3BhcmFtZXRlcnMucHJlZmxpZ2h0UG9saWN5LCBmYWxzZSwgbV9wYXJhbWV0ZXJzLnJl
cXVlc3QuaHR0cFJlZmVycmVyKCkpKQogewogICAgIG1fbmV0d29ya0xvYWRDaGVja2VyLT5lbmFi
bGVDb250ZW50RXh0ZW5zaW9uc0NoZWNrKCk7CiAgICAgaWYgKG1fcGFyYW1ldGVycy5jc3BSZXNw
b25zZUhlYWRlcnMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9IVFRQU1VwZ3Jh
ZGUvSFRUUFNVcGdyYWRlTGlzdC50eHQgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9IVFRQU1VwZ3Jh
ZGUvSFRUUFNVcGdyYWRlTGlzdC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDhhMWFlZmNmZTg1MDQ0YTc2OWE4
MjZhYTZkZjljM2U5MzUwM2ViOAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL0hUVFBTVXBncmFkZS9IVFRQU1VwZ3JhZGVMaXN0LnR4dApAQCAtMCwwICsxLDMgQEAKK3d3
dy5iYmMuY29tCit3d3cuc3BlZWR0ZXN0Lm5ldAord3d3LmJlYS5nb3YKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwgYi9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCmluZGV4IDA3N2JkZTM1ZWE1NjJlYzM0M2VjZTBjYjUy
MDVjYTllMWRiMTAwMGUuLmY4NTY1NjhhMDY0NzIxZjg1MmIzMzBmNDRlMTFkZDlmOTc2NmI1NGEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwKKysr
IGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbApAQCAtMzUsNiArMzUs
MTMgQEAgUGx1Z2luc0VuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKICAgZGVmYXVsdFZhbHVlOiBmYWxz
ZQogCitIVFRQU1VwZ3JhZGVFbmFibGVkOgorICAgdHlwZTogYm9vbAorICAgZGVmYXVsdFZhbHVl
OiBmYWxzZQorICAgaHVtYW5SZWFkYWJsZU5hbWU6ICJBdXRvbWF0aWMgSFRUUFMgdXBncmFkZSIK
KyAgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkF1dG9tYXRpYyBIVFRQUyB1cGdyYWRlIGZv
ciBzaXRlcyB0aGF0IHN1cHBvcnQgaXQiCisgICBjYXRlZ29yeTogZXhwZXJpbWVudGFsCisKIEph
dmFFbmFibGVkOgogICB0eXBlOiBib29sCiAgIGRlZmF1bHRWYWx1ZTogZmFsc2UKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5LmNw
cCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5LmNw
cAppbmRleCAxNjIzYjIwMDkwOGJlMjBhMjZkOTBmMjEwMmEwYTg1ZTY2N2EzMzc5Li44NGMxMmEw
NGE2ODIxNWI0MTE4OWYzNmQ1ZjAxNzNiMzI2NWMyYzViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJMb2FkZXJTdHJhdGVneS5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3kuY3BwCkBAIC0yNzUs
NiArMjc1LDcgQEAgdm9pZCBXZWJMb2FkZXJTdHJhdGVneTo6c2NoZWR1bGVMb2FkRnJvbU5ldHdv
cmtQcm9jZXNzKFJlc291cmNlTG9hZGVyJiByZXNvdXJjZUwKICAgICBsb2FkUGFyYW1ldGVycy5t
YXhpbXVtQnVmZmVyaW5nVGltZSA9IG1heGltdW1CdWZmZXJpbmdUaW1lOwogICAgIGxvYWRQYXJh
bWV0ZXJzLm9wdGlvbnMgPSByZXNvdXJjZUxvYWRlci5vcHRpb25zKCk7CiAgICAgbG9hZFBhcmFt
ZXRlcnMucHJlZmxpZ2h0UG9saWN5ID0gcmVzb3VyY2VMb2FkZXIub3B0aW9ucygpLnByZWZsaWdo
dFBvbGljeTsKKyAgICBsb2FkUGFyYW1ldGVycy5pc0hUVFBTVXBncmFkZUVuYWJsZWQgPSByZXNv
dXJjZUxvYWRlci5mcmFtZSgpID8gcmVzb3VyY2VMb2FkZXIuZnJhbWUoKS0+c2V0dGluZ3MoKS5I
VFRQU1VwZ3JhZGVFbmFibGVkKCkgOiBmYWxzZTsKIAogICAgIGF1dG8qIGRvY3VtZW50ID0gcmVz
b3VyY2VMb2FkZXIuZnJhbWUoKSA/IHJlc291cmNlTG9hZGVyLmZyYW1lKCktPmRvY3VtZW50KCkg
OiBudWxscHRyOwogICAgIGlmIChyZXNvdXJjZUxvYWRlci5vcHRpb25zKCkuY3NwUmVzcG9uc2VI
ZWFkZXJzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jb25maWcuaCBiL1NvdXJjZS9XZWJL
aXQvY29uZmlnLmgKaW5kZXggMDdkMGQ4YTllMzE3OTY5MDIwZjI2YzY5MTllZGM4ZjUwNjZlYzgy
NS4uZDllOGQ2OTk1MWFhM2U3MWE2MGQ2ODUxZTY1NWQ3MDBlNzFlOGQ3MSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9jb25maWcuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2NvbmZpZy5oCkBAIC03
OSw2ICs3OSwzIEBACiAjZW5kaWYKICNlbmRpZgogCi0jaWZuZGVmIEVOQUJMRV9IVFRQU19VUEdS
QURFCi0jZGVmaW5lIEVOQUJMRV9IVFRQU19VUEdSQURFIDAKLSNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>357886</attachid>
            <date>2018-12-20 15:56:01 -0800</date>
            <delta_ts>2018-12-20 15:57:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-192937-20181220155601.patch</filename>
            <type>text/plain</type>
            <size>20847</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM5NDQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmFiOTExZmRmN2NiMzQ0
NmU1NmFmYThmNDlmZGJjY2Q1Mzg1OTM1Ni4uMzllYzUxMmE3YjA3NTZmNDNiMTU5YzA3ZGU0MDJm
ODM1NDBmYWI3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE4LTEyLTIwICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgTW92ZSBIVFRQU19VUEdSQURF
IGNvZGUgYmVoaW5kIGEgcnVudGltZSBmbGFnLCBvZmYgYnkgZGVmYXVsdAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkyOTM3CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgWW91ZW5uIEZhYmxldC4KKworICAgICAgICBNb3ZlIEhUVFBTX1VQR1JBREUgY29k
ZSBiZWhpbmQgYSBydW50aW1lIGZsYWcsIG9mZiBieSBkZWZhdWx0IGFuZCBkcm9wIHRoZSBidWls
ZCB0aW1lIGZsYWcuCisKKyAgICAgICAgKiBwYWdlL1NldHRpbmdzLnlhbWw6CisKIDIwMTgtMTIt
MTkgIE1pY2hhZWwgQ2F0YW56YXJvICA8bWNhdGFuemFyb0BpZ2FsaWEuY29tPgogCiAgICAgICAg
IFVucmV2aWV3ZWQsIGZpeCBHVEsgYnVpbGQgYWZ0ZXIgcjIzOTQxMApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA1OWUy
M2ZiNmRiOWExN2I3M2Q4MmU4MDc2MGNkYTc3YzZiNjE1YWRkLi45NzA2ZDRiZDAzYTNkY2NlNWQw
YWUyNmIwODZhNWVhN2MyNWRlOWIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDE4LTEy
LTIwICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgTW92ZSBIVFRQ
U19VUEdSQURFIGNvZGUgYmVoaW5kIGEgcnVudGltZSBmbGFnLCBvZmYgYnkgZGVmYXVsdAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkyOTM3CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgWW91ZW5uIEZhYmxldC4KKworICAgICAgICBNb3ZlIEhUVFBTX1VQ
R1JBREUgY29kZSBiZWhpbmQgYSBydW50aW1lIGZsYWcsIG9mZiBieSBkZWZhdWx0IGFuZCBkcm9w
IHRoZSBidWlsZCB0aW1lIGZsYWcuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9XZWJLaXQu
eGNjb25maWc6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBOZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrSFRUUFNVcGdyYWRlQ2hlY2tlci5jcHA6CisgICAgICAgICogTmV0
d29ya1Byb2Nlc3MvTmV0d29ya0hUVFBTVXBncmFkZUNoZWNrZXIuaDoKKyAgICAgICAgKiBOZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZENoZWNrZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3
b3JrTG9hZENoZWNrZXI6Ok5ldHdvcmtMb2FkQ2hlY2tlcik6CisgICAgICAgIChXZWJLaXQ6Ok5l
dHdvcmtMb2FkQ2hlY2tlcjo6YXBwbHlIVFRQU1VwZ3JhZGVJZk5lZWRlZCBjb25zdCk6CisgICAg
ICAgIChXZWJLaXQ6Ok5ldHdvcmtMb2FkQ2hlY2tlcjo6Y2hlY2tSZXF1ZXN0KToKKyAgICAgICAg
KiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZENoZWNrZXIuaDoKKyAgICAgICAgKiBOZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vz
czo6bmV0d29ya0hUVFBTVXBncmFkZUNoZWNrZXIpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNz
L05ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0
d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnM6OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJL
aXQ6Ok5ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzOjpkZWNvZGUpOgorICAgICAgICAqIE5l
dHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzLmg6CisgICAgICAgICog
TmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKiBOZXR3
b3JrUHJvY2Vzcy9QaW5nTG9hZC5jcHA6CisgICAgICAgIChXZWJLaXQ6OlBpbmdMb2FkOjpQaW5n
TG9hZCk6CisgICAgICAgICogU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWw6CisgICAgICAgICog
V2ViUHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5LmNwcDoKKyAgICAgICAgKFdlYktp
dDo6V2ViTG9hZGVyU3RyYXRlZ3k6OnNjaGVkdWxlTG9hZEZyb21OZXR3b3JrUHJvY2Vzcyk6Cisg
ICAgICAgICogY29uZmlnLmg6CisKIDIwMTgtMTItMjAgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9o
c2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgW2lPU10gRm9jdXNpbmcgYW4gZWRpdGFibGUgZWxl
bWVudCBzaG91bGQgc2Nyb2xsIHRvIHJldmVhbCB0aGUgc2VsZWN0aW9uCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLnlhbWwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Nl
dHRpbmdzLnlhbWwKaW5kZXggYTc5NzE5Mzg2YjNjMmNmOTM0NWY1ODA2YmRhYzAzYmY1NzQzYTE5
YS4uY2IyOWVhYzNlZmZkNGI5MGFjY2UyOGU1ODQ1OTAyZGNhZjhkN2M1YSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy55YW1sCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvU2V0dGluZ3MueWFtbApAQCAtMzI5LDYgKzMyOSw5IEBAIHdhbnRzQmFsYW5jZWRTZXREZWZl
cnNMb2FkaW5nQmVoYXZpb3I6CiByZXF1ZXN0QW5pbWF0aW9uRnJhbWVFbmFibGVkOgogICBpbml0
aWFsOiB0cnVlCiAKK0hUVFBTVXBncmFkZUVuYWJsZWQ6CisgIGluaXRpYWw6IGZhbHNlCisKIGNv
b2tpZUVuYWJsZWQ6CiAgIGluaXRpYWw6IHRydWUKIG1lZGlhRW5hYmxlZDoKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvQ29uZmlndXJhdGlvbnMvV2ViS2l0LnhjY29uZmlnIGIvU291cmNlL1dl
YktpdC9Db25maWd1cmF0aW9ucy9XZWJLaXQueGNjb25maWcKaW5kZXggMjQ1MzY4NGViMmYxNWIy
MmY5MGIwMTJmNDUyOTZlY2I5MDc4YzEzNy4uZjIzMThlYzRlOWFmZjZmZDhiYjlkY2Y0NzQyMGMx
ZWU2OGNlZmYyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9XZWJL
aXQueGNjb25maWcKKysrIGIvU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9XZWJLaXQueGNj
b25maWcKQEAgLTE1MSwxMSArMTUxLDggQEAgU0VDVE9SREVSX0ZMQUdTID0gJChTRUNUT1JERVJf
RkxBR1NfJChDT05GSUdVUkFUSU9OKSk7CiBTRUNUT1JERVJfRkxBR1NfUHJvZHVjdGlvbltzZGs9
aXBob25lb3MqXSA9IC1XbCwtb3JkZXJfZmlsZSwkKFNES1JPT1QpL0FwcGxlSW50ZXJuYWwvT3Jk
ZXJGaWxlcy9XZWJLaXQub3JkZXI7CiBTRUNUT1JERVJfRkxBR1NfUHJvZHVjdGlvbltzZGs9bWFj
b3N4Kl0gPSAtV2wsLW9yZGVyX2ZpbGUsbWFjL1dlYktpdDIub3JkZXI7CiAKLVdLX0VYQ0xVREVE
X0hUVFBTX1VQR1JBREVfRklMRSA9ICQoV0tfRVhDTFVERURfSFRUUFNfVVBHUkFERV9GSUxFXyQo
RU5BQkxFX0hUVFBTX1VQR1JBREUpKTsKLVdLX0VYQ0xVREVEX0hUVFBTX1VQR1JBREVfRklMRV8g
PSBIVFRQU1VwZ3JhZGVMaXN0LmRiOwotCi1FWENMVURFRF9TT1VSQ0VfRklMRV9OQU1FUyA9IFJl
c291cmNlcy9pb3MvKiAkKFdLX0VYQ0xVREVEX0hUVFBTX1VQR1JBREVfRklMRSk7Ci1FWENMVURF
RF9TT1VSQ0VfRklMRV9OQU1FU1tzZGs9aXBob25lKl0gPSBQbHVnaW5Qcm9jZXNzU2hpbS5keWxp
YiBTZWNJdGVtU2hpbS5keWxpYiBXZWJQcm9jZXNzU2hpbS5keWxpYiAqLnBkZiBSZXNvdXJjZXMv
bWFjLyogY29tLmFwcGxlLldlYktpdC5OZXR3b3JrUHJvY2Vzcy5zYiBjb20uYXBwbGUuV2ViUHJv
Y2Vzcy5zYiBjb20uYXBwbGUuV2ViS2l0LnBsdWdpbi1jb21tb24uc2IgUGx1Z0luU2FuZGJveFBy
b2ZpbGVzLyouc2IgJChXS19FWENMVURFRF9IVFRQU19VUEdSQURFX0ZJTEUpOworRVhDTFVERURf
U09VUkNFX0ZJTEVfTkFNRVMgPSBSZXNvdXJjZXMvaW9zLyo7CitFWENMVURFRF9TT1VSQ0VfRklM
RV9OQU1FU1tzZGs9aXBob25lKl0gPSBQbHVnaW5Qcm9jZXNzU2hpbS5keWxpYiBTZWNJdGVtU2hp
bS5keWxpYiBXZWJQcm9jZXNzU2hpbS5keWxpYiAqLnBkZiBSZXNvdXJjZXMvbWFjLyogY29tLmFw
cGxlLldlYktpdC5OZXR3b3JrUHJvY2Vzcy5zYiBjb20uYXBwbGUuV2ViUHJvY2Vzcy5zYiBjb20u
YXBwbGUuV2ViS2l0LnBsdWdpbi1jb21tb24uc2IgUGx1Z0luU2FuZGJveFByb2ZpbGVzLyouc2I7
CiAKIElOU1RBTExIRFJTX1NDUklQVF9QSEFTRSA9IFlFUzsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNl
cy5tYWtlCmluZGV4IDJmZGU1NTUwY2Y0ZDcwYWRjMDlkZWYzNTdhOTg3ODIyNzNlNTU0NzIuLjE1
MzNmMDYyNDBlZjY5NjBiNmQ0YjA1Y2EwNGM4ZTA4M2EyZTQzOTMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRT
b3VyY2VzLm1ha2UKQEAgLTMxNiw4ICszMTYsNyBAQCAkKFdFQl9QUkVGRVJFTkNFU19DT01CSU5F
RF9JTlBVVF9GSUxFKSA6ICQoV0VCX1BSRUZFUkVOQ0VTX0lOUFVUX0ZJTEVTKQogJChXRUJfUFJF
RkVSRU5DRVNfUEFUVEVSTlMpIDogJChXZWJLaXQyKS9TY3JpcHRzL0dlbmVyYXRlUHJlZmVyZW5j
ZXMucmIgJChXRUJfUFJFRkVSRU5DRVNfVEVNUExBVEVTKSAkKFdFQl9QUkVGRVJFTkNFU19DT01C
SU5FRF9JTlBVVF9GSUxFKQogCSQoUlVCWSkgJDwgLS1pbnB1dCAkKFdFQl9QUkVGRVJFTkNFU19D
T01CSU5FRF9JTlBVVF9GSUxFKQogCi1pZmVxICgkKEVOQUJMRV9IVFRQU19VUEdSQURFKSxFTkFC
TEVfSFRUUFNfVVBHUkFERSkKK1ZQQVRIICs9ICQoV2ViS2l0MikvU2hhcmVkL0hUVFBTVXBncmFk
ZS8KIGFsbCA6IEhUVFBTVXBncmFkZUxpc3QuZGIKIEhUVFBTVXBncmFkZUxpc3QuZGIgOiBIVFRQ
U1VwZ3JhZGVMaXN0LnR4dCAkKFdlYktpdDIpL1NjcmlwdHMvZ2VuZXJhdGUtaHR0cHMtdXBncmFk
ZS1kYXRhYmFzZS5zaAogCXNoICQoV2ViS2l0MikvU2NyaXB0cy9nZW5lcmF0ZS1odHRwcy11cGdy
YWRlLWRhdGFiYXNlLnNoICQ8ICRACi1lbmRpZiAjIEVOQUJMRV9IVFRQU19VUEdSQURFCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtIVFRQU1VwZ3JhZGVD
aGVja2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0hUVFBTVXBn
cmFkZUNoZWNrZXIuY3BwCmluZGV4IDczYjQ2YzA5ZjZiZmRiNTc4NmY2ODVhZTQ2ZDU0YTMzNTlj
MDg5Y2EuLjg5Y2ZhODI0OGYyYzE1M2E4YTA5ZTE4NzJhYTczMThjNjIwOTllZTQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0hUVFBTVXBncmFkZUNoZWNr
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0hUVFBTVXBn
cmFkZUNoZWNrZXIuY3BwCkBAIC0yNiw4ICsyNiw2IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAj
aW5jbHVkZSAiTmV0d29ya0hUVFBTVXBncmFkZUNoZWNrZXIuaCIKIAotI2lmIEVOQUJMRShIVFRQ
U19VUEdSQURFKQotCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgPFdlYkNvcmUvU1FM
aXRlRGF0YWJhc2UuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1NRTGl0ZVN0YXRlbWVudC5oPgpAQCAt
OTUsMTMgKzkzLDEzIEBAIHZvaWQgTmV0d29ya0hUVFBTVXBncmFkZUNoZWNrZXI6OnF1ZXJ5KFN0
cmluZyYmIGhvc3QsIFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwKICAgICAgICAgQVNTRVJUKG1f
ZGlkU2V0dXBDb21wbGV0ZVN1Y2Nlc3NmdWxseSk7CiAKICAgICAgICAgaW50IGJpbmRUZXh0UmVz
dWx0ID0gbV9zdGF0ZW1lbnQtPmJpbmRUZXh0KDEsIFdURk1vdmUoaG9zdCkpOwotICAgICAgICBB
U1NFUlQoYmluZFRleHRSZXN1bHQgPT0gU1FMSVRFX09LKTsKKyAgICAgICAgQVNTRVJUX1VOVVNF
RChiaW5kVGV4dFJlc3VsdCwgYmluZFRleHRSZXN1bHQgPT0gU1FMSVRFX09LKTsKIAogICAgICAg
ICBpbnQgc3RlcFJlc3VsdCA9IG1fc3RhdGVtZW50LT5zdGVwKCk7CiAgICAgICAgIEFTU0VSVChz
dGVwUmVzdWx0ID09IFNRTElURV9ST1cgfHwgc3RlcFJlc3VsdCA9PSBTUUxJVEVfRE9ORSk7CiAK
ICAgICAgICAgaW50IHJlc2V0UmVzdWx0ID0gbV9zdGF0ZW1lbnQtPnJlc2V0KCk7Ci0gICAgICAg
IEFTU0VSVChyZXNldFJlc3VsdCA9PSBTUUxJVEVfT0spOworICAgICAgICBBU1NFUlRfVU5VU0VE
KHJlc2V0UmVzdWx0LCByZXNldFJlc3VsdCA9PSBTUUxJVEVfT0spOwogCiAgICAgICAgIGJvb2wg
Zm91bmRIb3N0ID0gKHN0ZXBSZXN1bHQgPT0gU1FMSVRFX1JPVyk7CiAgICAgICAgIFJFTEVBU0Vf
TE9HX0lGX0FMTE9XRUQoc2Vzc2lvbklELCAicXVlcnkgLSBSYW4gc3VjY2Vzc2Z1bGx5LiBSZXN1
bHQgPSAlcyIsIChmb3VuZEhvc3QgPyAidHJ1ZSIgOiAiZmFsc2UiKSk7CkBAIC0xMTMsNCArMTEx
LDMgQEAgdm9pZCBOZXR3b3JrSFRUUFNVcGdyYWRlQ2hlY2tlcjo6cXVlcnkoU3RyaW5nJiYgaG9z
dCwgUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELAogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAot
I2VuZGlmIC8vIEVOQUJMRShIVFRQU19VUEdSQURFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrSFRUUFNVcGdyYWRlQ2hlY2tlci5oIGIvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrSFRUUFNVcGdyYWRlQ2hlY2tlci5oCmluZGV4IGM2
MzAzYTc2MTQwYjYwOGRjNTRhOGRhMmZkYTA5N2U0ZTRiOWFkZjEuLjM4MzdlNjc3YjczMDVlNjVl
MGQ1ZGM1ZDI5NDM4ZDlhMTU5NGM0OWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvTmV0d29ya0hUVFBTVXBncmFkZUNoZWNrZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL05ldHdvcmtIVFRQU1VwZ3JhZGVDaGVja2VyLmgKQEAgLTI1LDggKzI1
LDYgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpZiBFTkFCTEUoSFRUUFNfVVBHUkFERSkKLQogI2lu
Y2x1ZGUgPHd0Zi9VbmlxdWVSZWYuaD4KIAogbmFtZXNwYWNlIFdURiB7CkBAIC02NCw0ICs2Miwz
IEBAIHByaXZhdGU6CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCi0jZW5kaWYgLy8gRU5BQkxF
KEhUVFBTX1VQR1JBREUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L05ldHdvcmtMb2FkQ2hlY2tlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05l
dHdvcmtMb2FkQ2hlY2tlci5jcHAKaW5kZXggMGYzMDJkYzY4MTVlMmU5OGIwZDAzMmUzMmI2YzE3
MWI1NGY1MzA2ZC4uZGFiMTUyZTlmM2ZkMjVjMDU2ZmVmNDY2MzMwMDY1YTY2Njg1OGRhNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZENoZWNrZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0xvYWRDaGVja2Vy
LmNwcApAQCAtNDYsNyArNDYsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgaXNTYW1lT3JpZ2luKGNv
bnN0IFVSTCYgdXJsLCBjb25zdCBTZWN1cml0eU9yaWdpbiogb3JpZ2luKQogICAgIHJldHVybiB1
cmwucHJvdG9jb2xJc0RhdGEoKSB8fCB1cmwucHJvdG9jb2xJc0Jsb2IoKSB8fCAhb3JpZ2luIHx8
IG9yaWdpbi0+Y2FuUmVxdWVzdCh1cmwpOwogfQogCi1OZXR3b3JrTG9hZENoZWNrZXI6Ok5ldHdv
cmtMb2FkQ2hlY2tlcihGZXRjaE9wdGlvbnMmJiBvcHRpb25zLCBQQUw6OlNlc3Npb25JRCBzZXNz
aW9uSUQsIHVpbnQ2NF90IHBhZ2VJRCwgdWludDY0X3QgZnJhbWVJRCwgSFRUUEhlYWRlck1hcCYm
IG9yaWdpbmFsUmVxdWVzdEhlYWRlcnMsIFVSTCYmIHVybCwgUmVmUHRyPFNlY3VyaXR5T3JpZ2lu
PiYmIHNvdXJjZU9yaWdpbiwgUHJlZmxpZ2h0UG9saWN5IHByZWZsaWdodFBvbGljeSwgU3RyaW5n
JiYgcmVmZXJyZXIsIGJvb2wgc2hvdWxkQ2FwdHVyZUV4dHJhTmV0d29ya0xvYWRNZXRyaWNzLCBM
b2FkVHlwZSByZXF1ZXN0TG9hZFR5cGUpCitOZXR3b3JrTG9hZENoZWNrZXI6Ok5ldHdvcmtMb2Fk
Q2hlY2tlcihGZXRjaE9wdGlvbnMmJiBvcHRpb25zLCBQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQs
IHVpbnQ2NF90IHBhZ2VJRCwgdWludDY0X3QgZnJhbWVJRCwgSFRUUEhlYWRlck1hcCYmIG9yaWdp
bmFsUmVxdWVzdEhlYWRlcnMsIFVSTCYmIHVybCwgUmVmUHRyPFNlY3VyaXR5T3JpZ2luPiYmIHNv
dXJjZU9yaWdpbiwgUHJlZmxpZ2h0UG9saWN5IHByZWZsaWdodFBvbGljeSwgU3RyaW5nJiYgcmVm
ZXJyZXIsIGJvb2wgaXNIVFRQU1VwZ3JhZGVFbmFibGVkLCBib29sIHNob3VsZENhcHR1cmVFeHRy
YU5ldHdvcmtMb2FkTWV0cmljcywgTG9hZFR5cGUgcmVxdWVzdExvYWRUeXBlKQogICAgIDogbV9v
cHRpb25zKFdURk1vdmUob3B0aW9ucykpCiAgICAgLCBtX3Nlc3Npb25JRChzZXNzaW9uSUQpCiAg
ICAgLCBtX3BhZ2VJRChwYWdlSUQpCkBAIC01Nyw2ICs1Nyw3IEBAIE5ldHdvcmtMb2FkQ2hlY2tl
cjo6TmV0d29ya0xvYWRDaGVja2VyKEZldGNoT3B0aW9ucyYmIG9wdGlvbnMsIFBBTDo6U2Vzc2lv
bklEIHNlCiAgICAgLCBtX3ByZWZsaWdodFBvbGljeShwcmVmbGlnaHRQb2xpY3kpCiAgICAgLCBt
X3JlZmVycmVyKFdURk1vdmUocmVmZXJyZXIpKQogICAgICwgbV9zaG91bGRDYXB0dXJlRXh0cmFO
ZXR3b3JrTG9hZE1ldHJpY3Moc2hvdWxkQ2FwdHVyZUV4dHJhTmV0d29ya0xvYWRNZXRyaWNzKQor
ICAgICwgbV9pc0hUVFBTVXBncmFkZUVuYWJsZWQoaXNIVFRQU1VwZ3JhZGVFbmFibGVkKQogICAg
ICwgbV9yZXF1ZXN0TG9hZFR5cGUocmVxdWVzdExvYWRUeXBlKQogewogICAgIG1faXNTYW1lT3Jp
Z2luUmVxdWVzdCA9IGlzU2FtZU9yaWdpbihtX3VybCwgbV9vcmlnaW4uZ2V0KCkpOwpAQCAtMTkx
LDEwICsxOTIsMTAgQEAgYXV0byBOZXR3b3JrTG9hZENoZWNrZXI6OmFjY2Vzc0NvbnRyb2xFcnJv
ckZvclZhbGlkYXRpb25IYW5kbGVyKFN0cmluZyYmIG1lc3NhZ2UKICAgICByZXR1cm4gUmVzb3Vy
Y2VFcnJvciB7IFN0cmluZyB7IH0sIDAsIG1fdXJsLCBXVEZNb3ZlKG1lc3NhZ2UpLCBSZXNvdXJj
ZUVycm9yOjpUeXBlOjpBY2Nlc3NDb250cm9sIH07CiB9CiAKLSNpZiBFTkFCTEUoSFRUUFNfVVBH
UkFERSkKIHZvaWQgTmV0d29ya0xvYWRDaGVja2VyOjphcHBseUhUVFBTVXBncmFkZUlmTmVlZGVk
KFJlc291cmNlUmVxdWVzdCYmIHJlcXVlc3QsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoUmVzb3Vy
Y2VSZXF1ZXN0JiYpPiYmIGhhbmRsZXIpIGNvbnN0CiB7Ci0gICAgaWYgKG1fcmVxdWVzdExvYWRU
eXBlICE9IExvYWRUeXBlOjpNYWluRnJhbWUpIHsKKyNpZiBQTEFURk9STShDT0NPQSkKKyAgICBp
ZiAoIW1faXNIVFRQU1VwZ3JhZGVFbmFibGVkIHx8IG1fcmVxdWVzdExvYWRUeXBlICE9IExvYWRU
eXBlOjpNYWluRnJhbWUpIHsKICAgICAgICAgaGFuZGxlcihXVEZNb3ZlKHJlcXVlc3QpKTsKICAg
ICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTIyNCwyNCArMjI1LDI0IEBAIHZvaWQgTmV0d29ya0xv
YWRDaGVja2VyOjphcHBseUhUVFBTVXBncmFkZUlmTmVlZGVkKFJlc291cmNlUmVxdWVzdCYmIHJl
cXVlc3QsIENvCiAKICAgICAgICAgaGFuZGxlcihXVEZNb3ZlKHJlcXVlc3QpKTsKICAgICB9KTsK
KyNlbHNlCisgICAgaGFuZGxlcihXVEZNb3ZlKHJlcXVlc3QpKTsKKyNlbmRpZgogfQotI2VuZGlm
IC8vIEVOQUJMRShIVFRQU19VUEdSQURFKQogCiB2b2lkIE5ldHdvcmtMb2FkQ2hlY2tlcjo6Y2hl
Y2tSZXF1ZXN0KFJlc291cmNlUmVxdWVzdCYmIHJlcXVlc3QsIENvbnRlbnRTZWN1cml0eVBvbGlj
eUNsaWVudCogY2xpZW50LCBWYWxpZGF0aW9uSGFuZGxlciYmIGhhbmRsZXIpCiB7CiAgICAgUmVz
b3VyY2VSZXF1ZXN0IG9yaWdpbmFsUmVxdWVzdCA9IHJlcXVlc3Q7CiAKLSNpZiBFTkFCTEUoSFRU
UFNfVVBHUkFERSkKICAgICBhcHBseUhUVFBTVXBncmFkZUlmTmVlZGVkKFdURk1vdmUocmVxdWVz
dCksIFt0aGlzLCBjbGllbnQsIGhhbmRsZXIgPSBXVEZNb3ZlKGhhbmRsZXIpLCBvcmlnaW5hbFJl
cXVlc3QgPSBXVEZNb3ZlKG9yaWdpbmFsUmVxdWVzdCldKGF1dG8gcmVxdWVzdCkgbXV0YWJsZSB7
Ci0jZW5kaWYgLy8gRU5BQkxFKEhUVFBTX1VQR1JBREUpCiAKICAgICAgICAgaWYgKGF1dG8qIGNv
bnRlbnRTZWN1cml0eVBvbGljeSA9IHRoaXMtPmNvbnRlbnRTZWN1cml0eVBvbGljeSgpKSB7Ci0g
ICAgICAgICAgICBpZiAoaXNSZWRpcmVjdGVkKCkpIHsKKyAgICAgICAgICAgIGlmICh0aGlzLT5p
c1JlZGlyZWN0ZWQoKSkgewogICAgICAgICAgICAgICAgIGF1dG8gdHlwZSA9IG1fb3B0aW9ucy5t
b2RlID09IEZldGNoT3B0aW9uczo6TW9kZTo6TmF2aWdhdGUgPyBDb250ZW50U2VjdXJpdHlQb2xp
Y3k6Okluc2VjdXJlUmVxdWVzdFR5cGU6Ok5hdmlnYXRpb24gOiBDb250ZW50U2VjdXJpdHlQb2xp
Y3k6Okluc2VjdXJlUmVxdWVzdFR5cGU6OkxvYWQ7CiAgICAgICAgICAgICAgICAgY29udGVudFNl
Y3VyaXR5UG9saWN5LT51cGdyYWRlSW5zZWN1cmVSZXF1ZXN0SWZOZWVkZWQocmVxdWVzdCwgdHlw
ZSk7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBpZiAoIWlzQWxsb3dlZEJ5Q29udGVudFNl
Y3VyaXR5UG9saWN5KHJlcXVlc3QsIGNsaWVudCkpIHsKLSAgICAgICAgICAgICAgICBoYW5kbGVy
KGFjY2Vzc0NvbnRyb2xFcnJvckZvclZhbGlkYXRpb25IYW5kbGVyKCJCbG9ja2VkIGJ5IENvbnRl
bnQgU2VjdXJpdHkgUG9saWN5LiJfcykpOworICAgICAgICAgICAgaWYgKCF0aGlzLT5pc0FsbG93
ZWRCeUNvbnRlbnRTZWN1cml0eVBvbGljeShyZXF1ZXN0LCBjbGllbnQpKSB7CisgICAgICAgICAg
ICAgICAgaGFuZGxlcih0aGlzLT5hY2Nlc3NDb250cm9sRXJyb3JGb3JWYWxpZGF0aW9uSGFuZGxl
cigiQmxvY2tlZCBieSBDb250ZW50IFNlY3VyaXR5IFBvbGljeS4iX3MpKTsKICAgICAgICAgICAg
ICAgICByZXR1cm47CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KQEAgLTI2MSwxMyArMjYyLDkg
QEAgdm9pZCBOZXR3b3JrTG9hZENoZWNrZXI6OmNoZWNrUmVxdWVzdChSZXNvdXJjZVJlcXVlc3Qm
JiByZXF1ZXN0LCBDb250ZW50U2VjdXJpdHkKICAgICAgICAgICAgIGNvbnRpbnVlQ2hlY2tpbmdS
ZXF1ZXN0T3JEb1N5bnRoZXRpY1JlZGlyZWN0KFdURk1vdmUob3JpZ2luYWxSZXF1ZXN0KSwgV1RG
TW92ZShyZXN1bHQudmFsdWUoKS5yZXF1ZXN0KSwgV1RGTW92ZShoYW5kbGVyKSk7CiAgICAgICAg
IH0pOwogI2Vsc2UKLSAgICAgICAgY29udGludWVDaGVja2luZ1JlcXVlc3RPckRvU3ludGhldGlj
UmVkaXJlY3QoV1RGTW92ZShvcmlnaW5hbFJlcXVlc3QpLCBXVEZNb3ZlKHJlcXVlc3QpLCBXVEZN
b3ZlKGhhbmRsZXIpKTsKKyAgICAgICAgdGhpcy0+Y29udGludWVDaGVja2luZ1JlcXVlc3RPckRv
U3ludGhldGljUmVkaXJlY3QoV1RGTW92ZShvcmlnaW5hbFJlcXVlc3QpLCBXVEZNb3ZlKHJlcXVl
c3QpLCBXVEZNb3ZlKGhhbmRsZXIpKTsKICNlbmRpZgotCi0jaWYgRU5BQkxFKEhUVFBTX1VQR1JB
REUpCiAgICAgfSk7Ci0jZW5kaWYgLy8gRU5BQkxFKEhUVFBTX1VQR1JBREUpCi0KIH0KIAogdm9p
ZCBOZXR3b3JrTG9hZENoZWNrZXI6OmNvbnRpbnVlQ2hlY2tpbmdSZXF1ZXN0T3JEb1N5bnRoZXRp
Y1JlZGlyZWN0KFJlc291cmNlUmVxdWVzdCYmIG9yaWdpbmFsUmVxdWVzdCwgUmVzb3VyY2VSZXF1
ZXN0JiYgY3VycmVudFJlcXVlc3QsIFZhbGlkYXRpb25IYW5kbGVyJiYgaGFuZGxlcikKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0xvYWRDaGVja2VyLmgg
Yi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtMb2FkQ2hlY2tlci5oCmluZGV4
IDI4M2YyNjIyODhkYjE0NWVlNjU3MzQ1YjhjZGM2YTUyYTM1ZDM3NTguLjVmY2Q4ZDA5NTIyOTdj
Mjk3NDQ3NzU1MGQ2MDE5ODQyYjE0NTljOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvTmV0d29ya0xvYWRDaGVja2VyLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZENoZWNrZXIuaApAQCAtNTIsNyArNTIsNyBAQCBjbGFzcyBO
ZXR3b3JrTG9hZENoZWNrZXIgOiBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8TmV0d29ya0xvYWRDaGVj
a2VyPiB7CiBwdWJsaWM6CiAgICAgZW51bSBjbGFzcyBMb2FkVHlwZSA6IGJvb2wgeyBNYWluRnJh
bWUsIE90aGVyIH07CiAKLSAgICBOZXR3b3JrTG9hZENoZWNrZXIoV2ViQ29yZTo6RmV0Y2hPcHRp
b25zJiYsIFBBTDo6U2Vzc2lvbklELCB1aW50NjRfdCBwYWdlSUQsIHVpbnQ2NF90IGZyYW1lSUQs
IFdlYkNvcmU6OkhUVFBIZWFkZXJNYXAmJiwgVVJMJiYsIFJlZlB0cjxXZWJDb3JlOjpTZWN1cml0
eU9yaWdpbj4mJiwgV2ViQ29yZTo6UHJlZmxpZ2h0UG9saWN5LCBTdHJpbmcmJiByZWZlcnJlciwg
Ym9vbCBzaG91bGRDYXB0dXJlRXh0cmFOZXR3b3JrTG9hZE1ldHJpY3MgPSBmYWxzZSwgTG9hZFR5
cGUgcmVxdWVzdExvYWRUeXBlID0gTG9hZFR5cGU6Ok90aGVyKTsKKyAgICBOZXR3b3JrTG9hZENo
ZWNrZXIoV2ViQ29yZTo6RmV0Y2hPcHRpb25zJiYsIFBBTDo6U2Vzc2lvbklELCB1aW50NjRfdCBw
YWdlSUQsIHVpbnQ2NF90IGZyYW1lSUQsIFdlYkNvcmU6OkhUVFBIZWFkZXJNYXAmJiwgVVJMJiYs
IFJlZlB0cjxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbj4mJiwgV2ViQ29yZTo6UHJlZmxpZ2h0UG9s
aWN5LCBTdHJpbmcmJiByZWZlcnJlciwgYm9vbCBpc0hUVFBTVXBncmFkZUVuYWJsZWQgPSBmYWxz
ZSwgYm9vbCBzaG91bGRDYXB0dXJlRXh0cmFOZXR3b3JrTG9hZE1ldHJpY3MgPSBmYWxzZSwgTG9h
ZFR5cGUgcmVxdWVzdExvYWRUeXBlID0gTG9hZFR5cGU6Ok90aGVyKTsKICAgICB+TmV0d29ya0xv
YWRDaGVja2VyKCk7CiAKICAgICBzdHJ1Y3QgUmVkaXJlY3Rpb25UcmlwbGV0IHsKQEAgLTExOSw5
ICsxMTksNyBAQCBwcml2YXRlOgogICAgIHZvaWQgcHJvY2Vzc0NvbnRlbnRFeHRlbnNpb25SdWxl
c0ZvckxvYWQoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiYsIENvbnRlbnRFeHRlbnNpb25DYWxs
YmFjayYmKTsKICNlbmRpZgogCi0jaWYgRU5BQkxFKEhUVFBTX1VQR1JBREUpCiAgICAgdm9pZCBh
cHBseUhUVFBTVXBncmFkZUlmTmVlZGVkKFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYmLCBDb21w
bGV0aW9uSGFuZGxlcjx2b2lkKFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYmKT4mJikgY29uc3Q7
Ci0jZW5kaWYgLy8gRU5BQkxFKEhUVFBTX1VQR1JBREUpCiAKICAgICBXZWJDb3JlOjpGZXRjaE9w
dGlvbnMgbV9vcHRpb25zOwogICAgIFdlYkNvcmU6OlN0b3JlZENyZWRlbnRpYWxzUG9saWN5IG1f
c3RvcmVkQ3JlZGVudGlhbHNQb2xpY3k7CkBAIC0xNDksNiArMTQ3LDcgQEAgcHJpdmF0ZToKICAg
ICBTdHJpbmcgbV9yZWZlcnJlcjsKICAgICBib29sIG1fY2hlY2tDb250ZW50RXh0ZW5zaW9ucyB7
IGZhbHNlIH07CiAgICAgYm9vbCBtX3Nob3VsZENhcHR1cmVFeHRyYU5ldHdvcmtMb2FkTWV0cmlj
cyB7IGZhbHNlIH07CisgICAgYm9vbCBtX2lzSFRUUFNVcGdyYWRlRW5hYmxlZCB7IGZhbHNlIH07
CiAgICAgV2ViQ29yZTo6TmV0d29ya0xvYWRJbmZvcm1hdGlvbiBtX2xvYWRJbmZvcm1hdGlvbjsK
IAogICAgIExvYWRUeXBlIG1fcmVxdWVzdExvYWRUeXBlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCmluZGV4IGU5NDg3MTAyODdlZDY5ZDExYzIyMmVl
NGVjMzU4OGRmZWM5YTJmN2MuLjg0YjJhY2YxM2RkYzU1ZWFiNTEyZGUwZmE0OTI4MzEzODI3ZDM1
OGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nl
c3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgK
QEAgLTIwNSw5ICsyMDUsOSBAQCBwdWJsaWM6CiAgICAgYm9vbCBwYXJlbnRQcm9jZXNzSGFzU2Vy
dmljZVdvcmtlckVudGl0bGVtZW50KCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogI2VuZGlmCiAK
LSNpZiBFTkFCTEUoSFRUUFNfVVBHUkFERSkKLSAgICBOZXR3b3JrSFRUUFNVcGdyYWRlQ2hlY2tl
ciYgbmV0d29ya0hUVFBTVXBncmFkZUNoZWNrZXIoKSB7IHJldHVybiBtX25ldHdvcmtIVFRQU1Vw
Z3JhZGVDaGVja2VyOyB9OwotI2VuZGlmIC8vIEVOQUJMRShIVFRQU19VUEdSQURFKQorI2lmIFBM
QVRGT1JNKENPQ09BKQorICAgIE5ldHdvcmtIVFRQU1VwZ3JhZGVDaGVja2VyJiBuZXR3b3JrSFRU
UFNVcGdyYWRlQ2hlY2tlcigpIHsgcmV0dXJuIG1fbmV0d29ya0hUVFBTVXBncmFkZUNoZWNrZXI7
IH0KKyNlbmRpZgogCiBwcml2YXRlOgogICAgIE5ldHdvcmtQcm9jZXNzKCk7CkBAIC0zOTgsOSAr
Mzk4LDkgQEAgcHJpdmF0ZToKICAgICBIYXNoTWFwPFdlYkNvcmU6OlNXU2VydmVyQ29ubmVjdGlv
bklkZW50aWZpZXIsIFdlYlNXU2VydmVyQ29ubmVjdGlvbio+IG1fc3dTZXJ2ZXJDb25uZWN0aW9u
czsKICNlbmRpZgogCi0jaWYgRU5BQkxFKEhUVFBTX1VQR1JBREUpCisjaWYgUExBVEZPUk0oQ09D
T0EpCiAgICAgTmV0d29ya0hUVFBTVXBncmFkZUNoZWNrZXIgbV9uZXR3b3JrSFRUUFNVcGdyYWRl
Q2hlY2tlcjsKLSNlbmRpZiAvLyBFTkFCTEUoSFRUUFNfVVBHUkFERSkKKyNlbmRpZgogfTsKIAog
fSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzLmNwcCBiL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMuY3BwCmluZGV4IDBj
ZmVlYTVjY2QwNjNmY2E3ZjYxMGFiNmM5ZDViMWQyYzJiZDllZmMuLjgwYjcwYWFhYjIyNzkxMDdj
ZTBiZGE2N2E2ZWNhMjEwNzVhMmJlZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMuY3BwCkBA
IC05NCw2ICs5NCw3IEBAIHZvaWQgTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnM6OmVuY29k
ZShJUEM6OkVuY29kZXImIGVuY29kZXIpIGNvbnN0CiAgICAgZW5jb2RlciA8PCBzaG91bGRFbmFi
bGVDcm9zc09yaWdpblJlc291cmNlUG9saWN5OwogCiAgICAgZW5jb2RlciA8PCBmcmFtZUFuY2Vz
dG9yT3JpZ2luczsKKyAgICBlbmNvZGVyIDw8IGlzSFRUUFNVcGdyYWRlRW5hYmxlZDsKIAogI2lm
IEVOQUJMRShDT05URU5UX0VYVEVOU0lPTlMpCiAgICAgZW5jb2RlciA8PCBtYWluRG9jdW1lbnRV
Ukw7CkBAIC0yMDQsNiArMjA1LDEyIEBAIGJvb2wgTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRl
cnM6OmRlY29kZShJUEM6OkRlY29kZXImIGRlY29kZXIsIE5ldHdvcmtSZXNvdXJjCiAKICAgICBp
ZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5mcmFtZUFuY2VzdG9yT3JpZ2lucykpCiAgICAgICAg
IHJldHVybiBmYWxzZTsKKworICAgIE9wdGlvbmFsPGJvb2w+IGlzSFRUUFNVcGdyYWRlRW5hYmxl
ZDsKKyAgICBkZWNvZGVyID4+IGlzSFRUUFNVcGdyYWRlRW5hYmxlZDsKKyAgICBpZiAoIWlzSFRU
UFNVcGdyYWRlRW5hYmxlZCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIHJlc3VsdC5pc0hU
VFBTVXBncmFkZUVuYWJsZWQgPSAqaXNIVFRQU1VwZ3JhZGVFbmFibGVkOwogICAgIAogI2lmIEVO
QUJMRShDT05URU5UX0VYVEVOU0lPTlMpCiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQu
bWFpbkRvY3VtZW50VVJMKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMuaAppbmRleCAxMzI3MTBmY2Uw
YTVjYmQ5YTgwZTYyZGRiOThmZjQ0MzVhZTFhM2M1Li5iMDVmZjgwM2YxNzE5MGFkZTMxOWNkYTA2
M2RhMDMxNDA2ZTRmMzc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L05ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycy5oCkBAIC01OSw2ICs1OSw3
IEBAIHB1YmxpYzoKICAgICBXZWJDb3JlOjpQcmVmbGlnaHRQb2xpY3kgcHJlZmxpZ2h0UG9saWN5
IHsgV2ViQ29yZTo6UHJlZmxpZ2h0UG9saWN5OjpDb25zaWRlciB9OwogICAgIGJvb2wgc2hvdWxk
RW5hYmxlQ3Jvc3NPcmlnaW5SZXNvdXJjZVBvbGljeSB7IGZhbHNlIH07CiAgICAgVmVjdG9yPFJl
ZlB0cjxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbj4+IGZyYW1lQW5jZXN0b3JPcmlnaW5zOworICAg
IGJvb2wgaXNIVFRQU1VwZ3JhZGVFbmFibGVkIHsgZmFsc2UgfTsKIAogI2lmIEVOQUJMRShDT05U
RU5UX0VYVEVOU0lPTlMpCiAgICAgVVJMIG1haW5Eb2N1bWVudFVSTDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcAppbmRl
eCA3N2ZhOGVhMjlkNjViYTE2ZGFlMGNkOGUzNWMyMmU2Zjk5NGI5ZDdmLi4zM2VjYWFmMWZlZjQy
OWY0ZTA1NTVjMzVhNzc1NWI4ZTdjMzAyYmU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC0xMTIsNyArMTEy
LDcgQEAgTmV0d29ya1Jlc291cmNlTG9hZGVyOjpOZXR3b3JrUmVzb3VyY2VMb2FkZXIoTmV0d29y
a1Jlc291cmNlTG9hZFBhcmFtZXRlcnMmJiBwYXIKIAogICAgIGlmIChzeW5jaHJvbm91c1JlcGx5
IHx8IHBhcmFtZXRlcnMuc2hvdWxkUmVzdHJpY3RIVFRQUmVzcG9uc2VBY2Nlc3MpIHsKICAgICAg
ICAgTmV0d29ya0xvYWRDaGVja2VyOjpMb2FkVHlwZSByZXF1ZXN0TG9hZFR5cGUgPSBpc01haW5G
cmFtZUxvYWQoKSA/IE5ldHdvcmtMb2FkQ2hlY2tlcjo6TG9hZFR5cGU6Ok1haW5GcmFtZSA6IE5l
dHdvcmtMb2FkQ2hlY2tlcjo6TG9hZFR5cGU6Ok90aGVyOwotICAgICAgICBtX25ldHdvcmtMb2Fk
Q2hlY2tlciA9IHN0ZDo6bWFrZV91bmlxdWU8TmV0d29ya0xvYWRDaGVja2VyPihGZXRjaE9wdGlv
bnMgeyBtX3BhcmFtZXRlcnMub3B0aW9ucyB9LCBtX3BhcmFtZXRlcnMuc2Vzc2lvbklELCBtX3Bh
cmFtZXRlcnMud2ViUGFnZUlELCBtX3BhcmFtZXRlcnMud2ViRnJhbWVJRCwgSFRUUEhlYWRlck1h
cCB7IG1fcGFyYW1ldGVycy5vcmlnaW5hbFJlcXVlc3RIZWFkZXJzIH0sIFVSTCB7IG1fcGFyYW1l
dGVycy5yZXF1ZXN0LnVybCgpIH0sIG1fcGFyYW1ldGVycy5zb3VyY2VPcmlnaW4uY29weVJlZigp
LCBtX3BhcmFtZXRlcnMucHJlZmxpZ2h0UG9saWN5LCBvcmlnaW5hbFJlcXVlc3QoKS5odHRwUmVm
ZXJyZXIoKSwgc2hvdWxkQ2FwdHVyZUV4dHJhTmV0d29ya0xvYWRNZXRyaWNzKCksIHJlcXVlc3RM
b2FkVHlwZSk7CisgICAgICAgIG1fbmV0d29ya0xvYWRDaGVja2VyID0gc3RkOjptYWtlX3VuaXF1
ZTxOZXR3b3JrTG9hZENoZWNrZXI+KEZldGNoT3B0aW9ucyB7IG1fcGFyYW1ldGVycy5vcHRpb25z
IH0sIG1fcGFyYW1ldGVycy5zZXNzaW9uSUQsIG1fcGFyYW1ldGVycy53ZWJQYWdlSUQsIG1fcGFy
YW1ldGVycy53ZWJGcmFtZUlELCBIVFRQSGVhZGVyTWFwIHsgbV9wYXJhbWV0ZXJzLm9yaWdpbmFs
UmVxdWVzdEhlYWRlcnMgfSwgVVJMIHsgbV9wYXJhbWV0ZXJzLnJlcXVlc3QudXJsKCkgfSwgbV9w
YXJhbWV0ZXJzLnNvdXJjZU9yaWdpbi5jb3B5UmVmKCksIG1fcGFyYW1ldGVycy5wcmVmbGlnaHRQ
b2xpY3ksIG9yaWdpbmFsUmVxdWVzdCgpLmh0dHBSZWZlcnJlcigpLCBtX3BhcmFtZXRlcnMuaXNI
VFRQU1VwZ3JhZGVFbmFibGVkLCBzaG91bGRDYXB0dXJlRXh0cmFOZXR3b3JrTG9hZE1ldHJpY3Mo
KSwgcmVxdWVzdExvYWRUeXBlKTsKICAgICAgICAgaWYgKG1fcGFyYW1ldGVycy5jc3BSZXNwb25z
ZUhlYWRlcnMpCiAgICAgICAgICAgICBtX25ldHdvcmtMb2FkQ2hlY2tlci0+c2V0Q1NQUmVzcG9u
c2VIZWFkZXJzKENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyB7IG1fcGFyYW1l
dGVycy5jc3BSZXNwb25zZUhlYWRlcnMudmFsdWUoKSB9KTsKICNpZiBFTkFCTEUoQ09OVEVOVF9F
WFRFTlNJT05TKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvSFRUUFNVcGdyYWRl
L0hUVFBTVXBncmFkZUxpc3QudHh0IGIvU291cmNlL1dlYktpdC9TaGFyZWQvSFRUUFNVcGdyYWRl
L0hUVFBTVXBncmFkZUxpc3QudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA4YTFhZWZjZmU4NTA0NGE3NjlhODI2
YWE2ZGY5YzNlOTM1MDNlYjgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9IVFRQU1VwZ3JhZGUvSFRUUFNVcGdyYWRlTGlzdC50eHQKQEAgLTAsMCArMSwzIEBACit3d3cu
YmJjLmNvbQord3d3LnNwZWVkdGVzdC5uZXQKK3d3dy5iZWEuZ292CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sIGIvU291cmNlL1dlYktpdC9TaGFy
ZWQvV2ViUHJlZmVyZW5jZXMueWFtbAppbmRleCAwNzdiZGUzNWVhNTYyZWMzNDNlY2UwY2I1MjA1
Y2E5ZTFkYjEwMDBlLi5mODU2NTY4YTA2NDcyMWY4NTJiMzMwZjQ0ZTExZGQ5Zjk3NjZiNTRhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCisrKyBi
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwKQEAgLTM1LDYgKzM1LDEz
IEBAIFBsdWdpbnNFbmFibGVkOgogICB0eXBlOiBib29sCiAgIGRlZmF1bHRWYWx1ZTogZmFsc2UK
IAorSFRUUFNVcGdyYWRlRW5hYmxlZDoKKyAgIHR5cGU6IGJvb2wKKyAgIGRlZmF1bHRWYWx1ZTog
ZmFsc2UKKyAgIGh1bWFuUmVhZGFibGVOYW1lOiAiQXV0b21hdGljIEhUVFBTIHVwZ3JhZGUiCisg
ICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJBdXRvbWF0aWMgSFRUUFMgdXBncmFkZSBmb3Ig
c2l0ZXMgdGhhdCBzdXBwb3J0IGl0IgorICAgY2F0ZWdvcnk6IGV4cGVyaW1lbnRhbAorCiBKYXZh
RW5hYmxlZDoKICAgdHlwZTogYm9vbAogICBkZWZhdWx0VmFsdWU6IGZhbHNlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJMb2FkZXJTdHJhdGVneS5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJMb2FkZXJTdHJhdGVneS5jcHAK
aW5kZXggMTYyM2IyMDA5MDhiZTIwYTI2ZDkwZjIxMDJhMGE4NWU2NjdhMzM3OS4uODRjMTJhMDRh
NjgyMTViNDExODlmMzZkNWYwMTczYjMyNjVjMmM1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3kuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5LmNwcApAQCAtMjc1LDYg
KzI3NSw3IEBAIHZvaWQgV2ViTG9hZGVyU3RyYXRlZ3k6OnNjaGVkdWxlTG9hZEZyb21OZXR3b3Jr
UHJvY2VzcyhSZXNvdXJjZUxvYWRlciYgcmVzb3VyY2VMCiAgICAgbG9hZFBhcmFtZXRlcnMubWF4
aW11bUJ1ZmZlcmluZ1RpbWUgPSBtYXhpbXVtQnVmZmVyaW5nVGltZTsKICAgICBsb2FkUGFyYW1l
dGVycy5vcHRpb25zID0gcmVzb3VyY2VMb2FkZXIub3B0aW9ucygpOwogICAgIGxvYWRQYXJhbWV0
ZXJzLnByZWZsaWdodFBvbGljeSA9IHJlc291cmNlTG9hZGVyLm9wdGlvbnMoKS5wcmVmbGlnaHRQ
b2xpY3k7CisgICAgbG9hZFBhcmFtZXRlcnMuaXNIVFRQU1VwZ3JhZGVFbmFibGVkID0gcmVzb3Vy
Y2VMb2FkZXIuZnJhbWUoKSA/IHJlc291cmNlTG9hZGVyLmZyYW1lKCktPnNldHRpbmdzKCkuSFRU
UFNVcGdyYWRlRW5hYmxlZCgpIDogZmFsc2U7CiAKICAgICBhdXRvKiBkb2N1bWVudCA9IHJlc291
cmNlTG9hZGVyLmZyYW1lKCkgPyByZXNvdXJjZUxvYWRlci5mcmFtZSgpLT5kb2N1bWVudCgpIDog
bnVsbHB0cjsKICAgICBpZiAocmVzb3VyY2VMb2FkZXIub3B0aW9ucygpLmNzcFJlc3BvbnNlSGVh
ZGVycykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY29uZmlnLmggYi9Tb3VyY2UvV2ViS2l0
L2NvbmZpZy5oCmluZGV4IDA3ZDBkOGE5ZTMxNzk2OTAyMGYyNmM2OTE5ZWRjOGY1MDY2ZWM4MjUu
LmQ5ZThkNjk5NTFhYTNlNzFhNjBkNjg1MWU2NTVkNzAwZTcxZThkNzEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvY29uZmlnLmgKKysrIGIvU291cmNlL1dlYktpdC9jb25maWcuaApAQCAtNzks
NiArNzksMyBAQAogI2VuZGlmCiAjZW5kaWYKIAotI2lmbmRlZiBFTkFCTEVfSFRUUFNfVVBHUkFE
RQotI2RlZmluZSBFTkFCTEVfSFRUUFNfVVBHUkFERSAwCi0jZW5kaWYK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>357888</attachid>
            <date>2018-12-20 15:57:42 -0800</date>
            <delta_ts>2018-12-20 16:20:29 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-192937-20181220155741.patch</filename>
            <type>text/plain</type>
            <size>20847</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM5NDQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmFiOTExZmRmN2NiMzQ0
NmU1NmFmYThmNDlmZGJjY2Q1Mzg1OTM1Ni4uMzllYzUxMmE3YjA3NTZmNDNiMTU5YzA3ZGU0MDJm
ODM1NDBmYWI3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE4LTEyLTIwICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgTW92ZSBIVFRQU19VUEdSQURF
IGNvZGUgYmVoaW5kIGEgcnVudGltZSBmbGFnLCBvZmYgYnkgZGVmYXVsdAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkyOTM3CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgWW91ZW5uIEZhYmxldC4KKworICAgICAgICBNb3ZlIEhUVFBTX1VQR1JBREUgY29k
ZSBiZWhpbmQgYSBydW50aW1lIGZsYWcsIG9mZiBieSBkZWZhdWx0IGFuZCBkcm9wIHRoZSBidWls
ZCB0aW1lIGZsYWcuCisKKyAgICAgICAgKiBwYWdlL1NldHRpbmdzLnlhbWw6CisKIDIwMTgtMTIt
MTkgIE1pY2hhZWwgQ2F0YW56YXJvICA8bWNhdGFuemFyb0BpZ2FsaWEuY29tPgogCiAgICAgICAg
IFVucmV2aWV3ZWQsIGZpeCBHVEsgYnVpbGQgYWZ0ZXIgcjIzOTQxMApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA1OWUy
M2ZiNmRiOWExN2I3M2Q4MmU4MDc2MGNkYTc3YzZiNjE1YWRkLi45NzA2ZDRiZDAzYTNkY2NlNWQw
YWUyNmIwODZhNWVhN2MyNWRlOWIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDE4LTEy
LTIwICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgTW92ZSBIVFRQ
U19VUEdSQURFIGNvZGUgYmVoaW5kIGEgcnVudGltZSBmbGFnLCBvZmYgYnkgZGVmYXVsdAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkyOTM3CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgWW91ZW5uIEZhYmxldC4KKworICAgICAgICBNb3ZlIEhUVFBTX1VQ
R1JBREUgY29kZSBiZWhpbmQgYSBydW50aW1lIGZsYWcsIG9mZiBieSBkZWZhdWx0IGFuZCBkcm9w
IHRoZSBidWlsZCB0aW1lIGZsYWcuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9XZWJLaXQu
eGNjb25maWc6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBOZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrSFRUUFNVcGdyYWRlQ2hlY2tlci5jcHA6CisgICAgICAgICogTmV0
d29ya1Byb2Nlc3MvTmV0d29ya0hUVFBTVXBncmFkZUNoZWNrZXIuaDoKKyAgICAgICAgKiBOZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZENoZWNrZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3
b3JrTG9hZENoZWNrZXI6Ok5ldHdvcmtMb2FkQ2hlY2tlcik6CisgICAgICAgIChXZWJLaXQ6Ok5l
dHdvcmtMb2FkQ2hlY2tlcjo6YXBwbHlIVFRQU1VwZ3JhZGVJZk5lZWRlZCBjb25zdCk6CisgICAg
ICAgIChXZWJLaXQ6Ok5ldHdvcmtMb2FkQ2hlY2tlcjo6Y2hlY2tSZXF1ZXN0KToKKyAgICAgICAg
KiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZENoZWNrZXIuaDoKKyAgICAgICAgKiBOZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vz
czo6bmV0d29ya0hUVFBTVXBncmFkZUNoZWNrZXIpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNz
L05ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0
d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnM6OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJL
aXQ6Ok5ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzOjpkZWNvZGUpOgorICAgICAgICAqIE5l
dHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzLmg6CisgICAgICAgICog
TmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKiBOZXR3
b3JrUHJvY2Vzcy9QaW5nTG9hZC5jcHA6CisgICAgICAgIChXZWJLaXQ6OlBpbmdMb2FkOjpQaW5n
TG9hZCk6CisgICAgICAgICogU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWw6CisgICAgICAgICog
V2ViUHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5LmNwcDoKKyAgICAgICAgKFdlYktp
dDo6V2ViTG9hZGVyU3RyYXRlZ3k6OnNjaGVkdWxlTG9hZEZyb21OZXR3b3JrUHJvY2Vzcyk6Cisg
ICAgICAgICogY29uZmlnLmg6CisKIDIwMTgtMTItMjAgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9o
c2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgW2lPU10gRm9jdXNpbmcgYW4gZWRpdGFibGUgZWxl
bWVudCBzaG91bGQgc2Nyb2xsIHRvIHJldmVhbCB0aGUgc2VsZWN0aW9uCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLnlhbWwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Nl
dHRpbmdzLnlhbWwKaW5kZXggYTc5NzE5Mzg2YjNjMmNmOTM0NWY1ODA2YmRhYzAzYmY1NzQzYTE5
YS4uY2IyOWVhYzNlZmZkNGI5MGFjY2UyOGU1ODQ1OTAyZGNhZjhkN2M1YSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy55YW1sCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvU2V0dGluZ3MueWFtbApAQCAtMzI5LDYgKzMyOSw5IEBAIHdhbnRzQmFsYW5jZWRTZXREZWZl
cnNMb2FkaW5nQmVoYXZpb3I6CiByZXF1ZXN0QW5pbWF0aW9uRnJhbWVFbmFibGVkOgogICBpbml0
aWFsOiB0cnVlCiAKK0hUVFBTVXBncmFkZUVuYWJsZWQ6CisgIGluaXRpYWw6IGZhbHNlCisKIGNv
b2tpZUVuYWJsZWQ6CiAgIGluaXRpYWw6IHRydWUKIG1lZGlhRW5hYmxlZDoKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvQ29uZmlndXJhdGlvbnMvV2ViS2l0LnhjY29uZmlnIGIvU291cmNlL1dl
YktpdC9Db25maWd1cmF0aW9ucy9XZWJLaXQueGNjb25maWcKaW5kZXggMjQ1MzY4NGViMmYxNWIy
MmY5MGIwMTJmNDUyOTZlY2I5MDc4YzEzNy4uZjIzMThlYzRlOWFmZjZmZDhiYjlkY2Y0NzQyMGMx
ZWU2OGNlZmYyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9XZWJL
aXQueGNjb25maWcKKysrIGIvU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9XZWJLaXQueGNj
b25maWcKQEAgLTE1MSwxMSArMTUxLDggQEAgU0VDVE9SREVSX0ZMQUdTID0gJChTRUNUT1JERVJf
RkxBR1NfJChDT05GSUdVUkFUSU9OKSk7CiBTRUNUT1JERVJfRkxBR1NfUHJvZHVjdGlvbltzZGs9
aXBob25lb3MqXSA9IC1XbCwtb3JkZXJfZmlsZSwkKFNES1JPT1QpL0FwcGxlSW50ZXJuYWwvT3Jk
ZXJGaWxlcy9XZWJLaXQub3JkZXI7CiBTRUNUT1JERVJfRkxBR1NfUHJvZHVjdGlvbltzZGs9bWFj
b3N4Kl0gPSAtV2wsLW9yZGVyX2ZpbGUsbWFjL1dlYktpdDIub3JkZXI7CiAKLVdLX0VYQ0xVREVE
X0hUVFBTX1VQR1JBREVfRklMRSA9ICQoV0tfRVhDTFVERURfSFRUUFNfVVBHUkFERV9GSUxFXyQo
RU5BQkxFX0hUVFBTX1VQR1JBREUpKTsKLVdLX0VYQ0xVREVEX0hUVFBTX1VQR1JBREVfRklMRV8g
PSBIVFRQU1VwZ3JhZGVMaXN0LmRiOwotCi1FWENMVURFRF9TT1VSQ0VfRklMRV9OQU1FUyA9IFJl
c291cmNlcy9pb3MvKiAkKFdLX0VYQ0xVREVEX0hUVFBTX1VQR1JBREVfRklMRSk7Ci1FWENMVURF
RF9TT1VSQ0VfRklMRV9OQU1FU1tzZGs9aXBob25lKl0gPSBQbHVnaW5Qcm9jZXNzU2hpbS5keWxp
YiBTZWNJdGVtU2hpbS5keWxpYiBXZWJQcm9jZXNzU2hpbS5keWxpYiAqLnBkZiBSZXNvdXJjZXMv
bWFjLyogY29tLmFwcGxlLldlYktpdC5OZXR3b3JrUHJvY2Vzcy5zYiBjb20uYXBwbGUuV2ViUHJv
Y2Vzcy5zYiBjb20uYXBwbGUuV2ViS2l0LnBsdWdpbi1jb21tb24uc2IgUGx1Z0luU2FuZGJveFBy
b2ZpbGVzLyouc2IgJChXS19FWENMVURFRF9IVFRQU19VUEdSQURFX0ZJTEUpOworRVhDTFVERURf
U09VUkNFX0ZJTEVfTkFNRVMgPSBSZXNvdXJjZXMvaW9zLyo7CitFWENMVURFRF9TT1VSQ0VfRklM
RV9OQU1FU1tzZGs9aXBob25lKl0gPSBQbHVnaW5Qcm9jZXNzU2hpbS5keWxpYiBTZWNJdGVtU2hp
bS5keWxpYiBXZWJQcm9jZXNzU2hpbS5keWxpYiAqLnBkZiBSZXNvdXJjZXMvbWFjLyogY29tLmFw
cGxlLldlYktpdC5OZXR3b3JrUHJvY2Vzcy5zYiBjb20uYXBwbGUuV2ViUHJvY2Vzcy5zYiBjb20u
YXBwbGUuV2ViS2l0LnBsdWdpbi1jb21tb24uc2IgUGx1Z0luU2FuZGJveFByb2ZpbGVzLyouc2I7
CiAKIElOU1RBTExIRFJTX1NDUklQVF9QSEFTRSA9IFlFUzsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNl
cy5tYWtlCmluZGV4IDJmZGU1NTUwY2Y0ZDcwYWRjMDlkZWYzNTdhOTg3ODIyNzNlNTU0NzIuLjE1
MzNmMDYyNDBlZjY5NjBiNmQ0YjA1Y2EwNGM4ZTA4M2EyZTQzOTMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRT
b3VyY2VzLm1ha2UKQEAgLTMxNiw4ICszMTYsNyBAQCAkKFdFQl9QUkVGRVJFTkNFU19DT01CSU5F
RF9JTlBVVF9GSUxFKSA6ICQoV0VCX1BSRUZFUkVOQ0VTX0lOUFVUX0ZJTEVTKQogJChXRUJfUFJF
RkVSRU5DRVNfUEFUVEVSTlMpIDogJChXZWJLaXQyKS9TY3JpcHRzL0dlbmVyYXRlUHJlZmVyZW5j
ZXMucmIgJChXRUJfUFJFRkVSRU5DRVNfVEVNUExBVEVTKSAkKFdFQl9QUkVGRVJFTkNFU19DT01C
SU5FRF9JTlBVVF9GSUxFKQogCSQoUlVCWSkgJDwgLS1pbnB1dCAkKFdFQl9QUkVGRVJFTkNFU19D
T01CSU5FRF9JTlBVVF9GSUxFKQogCi1pZmVxICgkKEVOQUJMRV9IVFRQU19VUEdSQURFKSxFTkFC
TEVfSFRUUFNfVVBHUkFERSkKK1ZQQVRIICs9ICQoV2ViS2l0MikvU2hhcmVkL0hUVFBTVXBncmFk
ZS8KIGFsbCA6IEhUVFBTVXBncmFkZUxpc3QuZGIKIEhUVFBTVXBncmFkZUxpc3QuZGIgOiBIVFRQ
U1VwZ3JhZGVMaXN0LnR4dCAkKFdlYktpdDIpL1NjcmlwdHMvZ2VuZXJhdGUtaHR0cHMtdXBncmFk
ZS1kYXRhYmFzZS5zaAogCXNoICQoV2ViS2l0MikvU2NyaXB0cy9nZW5lcmF0ZS1odHRwcy11cGdy
YWRlLWRhdGFiYXNlLnNoICQ8ICRACi1lbmRpZiAjIEVOQUJMRV9IVFRQU19VUEdSQURFCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtIVFRQU1VwZ3JhZGVD
aGVja2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0hUVFBTVXBn
cmFkZUNoZWNrZXIuY3BwCmluZGV4IDczYjQ2YzA5ZjZiZmRiNTc4NmY2ODVhZTQ2ZDU0YTMzNTlj
MDg5Y2EuLjg5Y2ZhODI0OGYyYzE1M2E4YTA5ZTE4NzJhYTczMThjNjIwOTllZTQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0hUVFBTVXBncmFkZUNoZWNr
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0hUVFBTVXBn
cmFkZUNoZWNrZXIuY3BwCkBAIC0yNiw4ICsyNiw2IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAj
aW5jbHVkZSAiTmV0d29ya0hUVFBTVXBncmFkZUNoZWNrZXIuaCIKIAotI2lmIEVOQUJMRShIVFRQ
U19VUEdSQURFKQotCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgPFdlYkNvcmUvU1FM
aXRlRGF0YWJhc2UuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1NRTGl0ZVN0YXRlbWVudC5oPgpAQCAt
OTUsMTMgKzkzLDEzIEBAIHZvaWQgTmV0d29ya0hUVFBTVXBncmFkZUNoZWNrZXI6OnF1ZXJ5KFN0
cmluZyYmIGhvc3QsIFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwKICAgICAgICAgQVNTRVJUKG1f
ZGlkU2V0dXBDb21wbGV0ZVN1Y2Nlc3NmdWxseSk7CiAKICAgICAgICAgaW50IGJpbmRUZXh0UmVz
dWx0ID0gbV9zdGF0ZW1lbnQtPmJpbmRUZXh0KDEsIFdURk1vdmUoaG9zdCkpOwotICAgICAgICBB
U1NFUlQoYmluZFRleHRSZXN1bHQgPT0gU1FMSVRFX09LKTsKKyAgICAgICAgQVNTRVJUX1VOVVNF
RChiaW5kVGV4dFJlc3VsdCwgYmluZFRleHRSZXN1bHQgPT0gU1FMSVRFX09LKTsKIAogICAgICAg
ICBpbnQgc3RlcFJlc3VsdCA9IG1fc3RhdGVtZW50LT5zdGVwKCk7CiAgICAgICAgIEFTU0VSVChz
dGVwUmVzdWx0ID09IFNRTElURV9ST1cgfHwgc3RlcFJlc3VsdCA9PSBTUUxJVEVfRE9ORSk7CiAK
ICAgICAgICAgaW50IHJlc2V0UmVzdWx0ID0gbV9zdGF0ZW1lbnQtPnJlc2V0KCk7Ci0gICAgICAg
IEFTU0VSVChyZXNldFJlc3VsdCA9PSBTUUxJVEVfT0spOworICAgICAgICBBU1NFUlRfVU5VU0VE
KHJlc2V0UmVzdWx0LCByZXNldFJlc3VsdCA9PSBTUUxJVEVfT0spOwogCiAgICAgICAgIGJvb2wg
Zm91bmRIb3N0ID0gKHN0ZXBSZXN1bHQgPT0gU1FMSVRFX1JPVyk7CiAgICAgICAgIFJFTEVBU0Vf
TE9HX0lGX0FMTE9XRUQoc2Vzc2lvbklELCAicXVlcnkgLSBSYW4gc3VjY2Vzc2Z1bGx5LiBSZXN1
bHQgPSAlcyIsIChmb3VuZEhvc3QgPyAidHJ1ZSIgOiAiZmFsc2UiKSk7CkBAIC0xMTMsNCArMTEx
LDMgQEAgdm9pZCBOZXR3b3JrSFRUUFNVcGdyYWRlQ2hlY2tlcjo6cXVlcnkoU3RyaW5nJiYgaG9z
dCwgUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELAogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAot
I2VuZGlmIC8vIEVOQUJMRShIVFRQU19VUEdSQURFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrSFRUUFNVcGdyYWRlQ2hlY2tlci5oIGIvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrSFRUUFNVcGdyYWRlQ2hlY2tlci5oCmluZGV4IGM2
MzAzYTc2MTQwYjYwOGRjNTRhOGRhMmZkYTA5N2U0ZTRiOWFkZjEuLjM4MzdlNjc3YjczMDVlNjVl
MGQ1ZGM1ZDI5NDM4ZDlhMTU5NGM0OWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvTmV0d29ya0hUVFBTVXBncmFkZUNoZWNrZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL05ldHdvcmtIVFRQU1VwZ3JhZGVDaGVja2VyLmgKQEAgLTI1LDggKzI1
LDYgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpZiBFTkFCTEUoSFRUUFNfVVBHUkFERSkKLQogI2lu
Y2x1ZGUgPHd0Zi9VbmlxdWVSZWYuaD4KIAogbmFtZXNwYWNlIFdURiB7CkBAIC02NCw0ICs2Miwz
IEBAIHByaXZhdGU6CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCi0jZW5kaWYgLy8gRU5BQkxF
KEhUVFBTX1VQR1JBREUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L05ldHdvcmtMb2FkQ2hlY2tlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05l
dHdvcmtMb2FkQ2hlY2tlci5jcHAKaW5kZXggMGYzMDJkYzY4MTVlMmU5OGIwZDAzMmUzMmI2YzE3
MWI1NGY1MzA2ZC4uZGFiMTUyZTlmM2ZkMjVjMDU2ZmVmNDY2MzMwMDY1YTY2Njg1OGRhNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZENoZWNrZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0xvYWRDaGVja2Vy
LmNwcApAQCAtNDYsNyArNDYsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgaXNTYW1lT3JpZ2luKGNv
bnN0IFVSTCYgdXJsLCBjb25zdCBTZWN1cml0eU9yaWdpbiogb3JpZ2luKQogICAgIHJldHVybiB1
cmwucHJvdG9jb2xJc0RhdGEoKSB8fCB1cmwucHJvdG9jb2xJc0Jsb2IoKSB8fCAhb3JpZ2luIHx8
IG9yaWdpbi0+Y2FuUmVxdWVzdCh1cmwpOwogfQogCi1OZXR3b3JrTG9hZENoZWNrZXI6Ok5ldHdv
cmtMb2FkQ2hlY2tlcihGZXRjaE9wdGlvbnMmJiBvcHRpb25zLCBQQUw6OlNlc3Npb25JRCBzZXNz
aW9uSUQsIHVpbnQ2NF90IHBhZ2VJRCwgdWludDY0X3QgZnJhbWVJRCwgSFRUUEhlYWRlck1hcCYm
IG9yaWdpbmFsUmVxdWVzdEhlYWRlcnMsIFVSTCYmIHVybCwgUmVmUHRyPFNlY3VyaXR5T3JpZ2lu
PiYmIHNvdXJjZU9yaWdpbiwgUHJlZmxpZ2h0UG9saWN5IHByZWZsaWdodFBvbGljeSwgU3RyaW5n
JiYgcmVmZXJyZXIsIGJvb2wgc2hvdWxkQ2FwdHVyZUV4dHJhTmV0d29ya0xvYWRNZXRyaWNzLCBM
b2FkVHlwZSByZXF1ZXN0TG9hZFR5cGUpCitOZXR3b3JrTG9hZENoZWNrZXI6Ok5ldHdvcmtMb2Fk
Q2hlY2tlcihGZXRjaE9wdGlvbnMmJiBvcHRpb25zLCBQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQs
IHVpbnQ2NF90IHBhZ2VJRCwgdWludDY0X3QgZnJhbWVJRCwgSFRUUEhlYWRlck1hcCYmIG9yaWdp
bmFsUmVxdWVzdEhlYWRlcnMsIFVSTCYmIHVybCwgUmVmUHRyPFNlY3VyaXR5T3JpZ2luPiYmIHNv
dXJjZU9yaWdpbiwgUHJlZmxpZ2h0UG9saWN5IHByZWZsaWdodFBvbGljeSwgU3RyaW5nJiYgcmVm
ZXJyZXIsIGJvb2wgaXNIVFRQU1VwZ3JhZGVFbmFibGVkLCBib29sIHNob3VsZENhcHR1cmVFeHRy
YU5ldHdvcmtMb2FkTWV0cmljcywgTG9hZFR5cGUgcmVxdWVzdExvYWRUeXBlKQogICAgIDogbV9v
cHRpb25zKFdURk1vdmUob3B0aW9ucykpCiAgICAgLCBtX3Nlc3Npb25JRChzZXNzaW9uSUQpCiAg
ICAgLCBtX3BhZ2VJRChwYWdlSUQpCkBAIC01Nyw2ICs1Nyw3IEBAIE5ldHdvcmtMb2FkQ2hlY2tl
cjo6TmV0d29ya0xvYWRDaGVja2VyKEZldGNoT3B0aW9ucyYmIG9wdGlvbnMsIFBBTDo6U2Vzc2lv
bklEIHNlCiAgICAgLCBtX3ByZWZsaWdodFBvbGljeShwcmVmbGlnaHRQb2xpY3kpCiAgICAgLCBt
X3JlZmVycmVyKFdURk1vdmUocmVmZXJyZXIpKQogICAgICwgbV9zaG91bGRDYXB0dXJlRXh0cmFO
ZXR3b3JrTG9hZE1ldHJpY3Moc2hvdWxkQ2FwdHVyZUV4dHJhTmV0d29ya0xvYWRNZXRyaWNzKQor
ICAgICwgbV9pc0hUVFBTVXBncmFkZUVuYWJsZWQoaXNIVFRQU1VwZ3JhZGVFbmFibGVkKQogICAg
ICwgbV9yZXF1ZXN0TG9hZFR5cGUocmVxdWVzdExvYWRUeXBlKQogewogICAgIG1faXNTYW1lT3Jp
Z2luUmVxdWVzdCA9IGlzU2FtZU9yaWdpbihtX3VybCwgbV9vcmlnaW4uZ2V0KCkpOwpAQCAtMTkx
LDEwICsxOTIsMTAgQEAgYXV0byBOZXR3b3JrTG9hZENoZWNrZXI6OmFjY2Vzc0NvbnRyb2xFcnJv
ckZvclZhbGlkYXRpb25IYW5kbGVyKFN0cmluZyYmIG1lc3NhZ2UKICAgICByZXR1cm4gUmVzb3Vy
Y2VFcnJvciB7IFN0cmluZyB7IH0sIDAsIG1fdXJsLCBXVEZNb3ZlKG1lc3NhZ2UpLCBSZXNvdXJj
ZUVycm9yOjpUeXBlOjpBY2Nlc3NDb250cm9sIH07CiB9CiAKLSNpZiBFTkFCTEUoSFRUUFNfVVBH
UkFERSkKIHZvaWQgTmV0d29ya0xvYWRDaGVja2VyOjphcHBseUhUVFBTVXBncmFkZUlmTmVlZGVk
KFJlc291cmNlUmVxdWVzdCYmIHJlcXVlc3QsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoUmVzb3Vy
Y2VSZXF1ZXN0JiYpPiYmIGhhbmRsZXIpIGNvbnN0CiB7Ci0gICAgaWYgKG1fcmVxdWVzdExvYWRU
eXBlICE9IExvYWRUeXBlOjpNYWluRnJhbWUpIHsKKyNpZiBQTEFURk9STShDT0NPQSkKKyAgICBp
ZiAoIW1faXNIVFRQU1VwZ3JhZGVFbmFibGVkIHx8IG1fcmVxdWVzdExvYWRUeXBlICE9IExvYWRU
eXBlOjpNYWluRnJhbWUpIHsKICAgICAgICAgaGFuZGxlcihXVEZNb3ZlKHJlcXVlc3QpKTsKICAg
ICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTIyNCwyNCArMjI1LDI0IEBAIHZvaWQgTmV0d29ya0xv
YWRDaGVja2VyOjphcHBseUhUVFBTVXBncmFkZUlmTmVlZGVkKFJlc291cmNlUmVxdWVzdCYmIHJl
cXVlc3QsIENvCiAKICAgICAgICAgaGFuZGxlcihXVEZNb3ZlKHJlcXVlc3QpKTsKICAgICB9KTsK
KyNlbHNlCisgICAgaGFuZGxlcihXVEZNb3ZlKHJlcXVlc3QpKTsKKyNlbmRpZgogfQotI2VuZGlm
IC8vIEVOQUJMRShIVFRQU19VUEdSQURFKQogCiB2b2lkIE5ldHdvcmtMb2FkQ2hlY2tlcjo6Y2hl
Y2tSZXF1ZXN0KFJlc291cmNlUmVxdWVzdCYmIHJlcXVlc3QsIENvbnRlbnRTZWN1cml0eVBvbGlj
eUNsaWVudCogY2xpZW50LCBWYWxpZGF0aW9uSGFuZGxlciYmIGhhbmRsZXIpCiB7CiAgICAgUmVz
b3VyY2VSZXF1ZXN0IG9yaWdpbmFsUmVxdWVzdCA9IHJlcXVlc3Q7CiAKLSNpZiBFTkFCTEUoSFRU
UFNfVVBHUkFERSkKICAgICBhcHBseUhUVFBTVXBncmFkZUlmTmVlZGVkKFdURk1vdmUocmVxdWVz
dCksIFt0aGlzLCBjbGllbnQsIGhhbmRsZXIgPSBXVEZNb3ZlKGhhbmRsZXIpLCBvcmlnaW5hbFJl
cXVlc3QgPSBXVEZNb3ZlKG9yaWdpbmFsUmVxdWVzdCldKGF1dG8gcmVxdWVzdCkgbXV0YWJsZSB7
Ci0jZW5kaWYgLy8gRU5BQkxFKEhUVFBTX1VQR1JBREUpCiAKICAgICAgICAgaWYgKGF1dG8qIGNv
bnRlbnRTZWN1cml0eVBvbGljeSA9IHRoaXMtPmNvbnRlbnRTZWN1cml0eVBvbGljeSgpKSB7Ci0g
ICAgICAgICAgICBpZiAoaXNSZWRpcmVjdGVkKCkpIHsKKyAgICAgICAgICAgIGlmICh0aGlzLT5p
c1JlZGlyZWN0ZWQoKSkgewogICAgICAgICAgICAgICAgIGF1dG8gdHlwZSA9IG1fb3B0aW9ucy5t
b2RlID09IEZldGNoT3B0aW9uczo6TW9kZTo6TmF2aWdhdGUgPyBDb250ZW50U2VjdXJpdHlQb2xp
Y3k6Okluc2VjdXJlUmVxdWVzdFR5cGU6Ok5hdmlnYXRpb24gOiBDb250ZW50U2VjdXJpdHlQb2xp
Y3k6Okluc2VjdXJlUmVxdWVzdFR5cGU6OkxvYWQ7CiAgICAgICAgICAgICAgICAgY29udGVudFNl
Y3VyaXR5UG9saWN5LT51cGdyYWRlSW5zZWN1cmVSZXF1ZXN0SWZOZWVkZWQocmVxdWVzdCwgdHlw
ZSk7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBpZiAoIWlzQWxsb3dlZEJ5Q29udGVudFNl
Y3VyaXR5UG9saWN5KHJlcXVlc3QsIGNsaWVudCkpIHsKLSAgICAgICAgICAgICAgICBoYW5kbGVy
KGFjY2Vzc0NvbnRyb2xFcnJvckZvclZhbGlkYXRpb25IYW5kbGVyKCJCbG9ja2VkIGJ5IENvbnRl
bnQgU2VjdXJpdHkgUG9saWN5LiJfcykpOworICAgICAgICAgICAgaWYgKCF0aGlzLT5pc0FsbG93
ZWRCeUNvbnRlbnRTZWN1cml0eVBvbGljeShyZXF1ZXN0LCBjbGllbnQpKSB7CisgICAgICAgICAg
ICAgICAgaGFuZGxlcih0aGlzLT5hY2Nlc3NDb250cm9sRXJyb3JGb3JWYWxpZGF0aW9uSGFuZGxl
cigiQmxvY2tlZCBieSBDb250ZW50IFNlY3VyaXR5IFBvbGljeS4iX3MpKTsKICAgICAgICAgICAg
ICAgICByZXR1cm47CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KQEAgLTI2MSwxMyArMjYyLDkg
QEAgdm9pZCBOZXR3b3JrTG9hZENoZWNrZXI6OmNoZWNrUmVxdWVzdChSZXNvdXJjZVJlcXVlc3Qm
JiByZXF1ZXN0LCBDb250ZW50U2VjdXJpdHkKICAgICAgICAgICAgIGNvbnRpbnVlQ2hlY2tpbmdS
ZXF1ZXN0T3JEb1N5bnRoZXRpY1JlZGlyZWN0KFdURk1vdmUob3JpZ2luYWxSZXF1ZXN0KSwgV1RG
TW92ZShyZXN1bHQudmFsdWUoKS5yZXF1ZXN0KSwgV1RGTW92ZShoYW5kbGVyKSk7CiAgICAgICAg
IH0pOwogI2Vsc2UKLSAgICAgICAgY29udGludWVDaGVja2luZ1JlcXVlc3RPckRvU3ludGhldGlj
UmVkaXJlY3QoV1RGTW92ZShvcmlnaW5hbFJlcXVlc3QpLCBXVEZNb3ZlKHJlcXVlc3QpLCBXVEZN
b3ZlKGhhbmRsZXIpKTsKKyAgICAgICAgdGhpcy0+Y29udGludWVDaGVja2luZ1JlcXVlc3RPckRv
U3ludGhldGljUmVkaXJlY3QoV1RGTW92ZShvcmlnaW5hbFJlcXVlc3QpLCBXVEZNb3ZlKHJlcXVl
c3QpLCBXVEZNb3ZlKGhhbmRsZXIpKTsKICNlbmRpZgotCi0jaWYgRU5BQkxFKEhUVFBTX1VQR1JB
REUpCiAgICAgfSk7Ci0jZW5kaWYgLy8gRU5BQkxFKEhUVFBTX1VQR1JBREUpCi0KIH0KIAogdm9p
ZCBOZXR3b3JrTG9hZENoZWNrZXI6OmNvbnRpbnVlQ2hlY2tpbmdSZXF1ZXN0T3JEb1N5bnRoZXRp
Y1JlZGlyZWN0KFJlc291cmNlUmVxdWVzdCYmIG9yaWdpbmFsUmVxdWVzdCwgUmVzb3VyY2VSZXF1
ZXN0JiYgY3VycmVudFJlcXVlc3QsIFZhbGlkYXRpb25IYW5kbGVyJiYgaGFuZGxlcikKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0xvYWRDaGVja2VyLmgg
Yi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtMb2FkQ2hlY2tlci5oCmluZGV4
IDI4M2YyNjIyODhkYjE0NWVlNjU3MzQ1YjhjZGM2YTUyYTM1ZDM3NTguLjVmY2Q4ZDA5NTIyOTdj
Mjk3NDQ3NzU1MGQ2MDE5ODQyYjE0NTljOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvTmV0d29ya0xvYWRDaGVja2VyLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZENoZWNrZXIuaApAQCAtNTIsNyArNTIsNyBAQCBjbGFzcyBO
ZXR3b3JrTG9hZENoZWNrZXIgOiBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8TmV0d29ya0xvYWRDaGVj
a2VyPiB7CiBwdWJsaWM6CiAgICAgZW51bSBjbGFzcyBMb2FkVHlwZSA6IGJvb2wgeyBNYWluRnJh
bWUsIE90aGVyIH07CiAKLSAgICBOZXR3b3JrTG9hZENoZWNrZXIoV2ViQ29yZTo6RmV0Y2hPcHRp
b25zJiYsIFBBTDo6U2Vzc2lvbklELCB1aW50NjRfdCBwYWdlSUQsIHVpbnQ2NF90IGZyYW1lSUQs
IFdlYkNvcmU6OkhUVFBIZWFkZXJNYXAmJiwgVVJMJiYsIFJlZlB0cjxXZWJDb3JlOjpTZWN1cml0
eU9yaWdpbj4mJiwgV2ViQ29yZTo6UHJlZmxpZ2h0UG9saWN5LCBTdHJpbmcmJiByZWZlcnJlciwg
Ym9vbCBzaG91bGRDYXB0dXJlRXh0cmFOZXR3b3JrTG9hZE1ldHJpY3MgPSBmYWxzZSwgTG9hZFR5
cGUgcmVxdWVzdExvYWRUeXBlID0gTG9hZFR5cGU6Ok90aGVyKTsKKyAgICBOZXR3b3JrTG9hZENo
ZWNrZXIoV2ViQ29yZTo6RmV0Y2hPcHRpb25zJiYsIFBBTDo6U2Vzc2lvbklELCB1aW50NjRfdCBw
YWdlSUQsIHVpbnQ2NF90IGZyYW1lSUQsIFdlYkNvcmU6OkhUVFBIZWFkZXJNYXAmJiwgVVJMJiYs
IFJlZlB0cjxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbj4mJiwgV2ViQ29yZTo6UHJlZmxpZ2h0UG9s
aWN5LCBTdHJpbmcmJiByZWZlcnJlciwgYm9vbCBpc0hUVFBTVXBncmFkZUVuYWJsZWQgPSBmYWxz
ZSwgYm9vbCBzaG91bGRDYXB0dXJlRXh0cmFOZXR3b3JrTG9hZE1ldHJpY3MgPSBmYWxzZSwgTG9h
ZFR5cGUgcmVxdWVzdExvYWRUeXBlID0gTG9hZFR5cGU6Ok90aGVyKTsKICAgICB+TmV0d29ya0xv
YWRDaGVja2VyKCk7CiAKICAgICBzdHJ1Y3QgUmVkaXJlY3Rpb25UcmlwbGV0IHsKQEAgLTExOSw5
ICsxMTksNyBAQCBwcml2YXRlOgogICAgIHZvaWQgcHJvY2Vzc0NvbnRlbnRFeHRlbnNpb25SdWxl
c0ZvckxvYWQoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiYsIENvbnRlbnRFeHRlbnNpb25DYWxs
YmFjayYmKTsKICNlbmRpZgogCi0jaWYgRU5BQkxFKEhUVFBTX1VQR1JBREUpCiAgICAgdm9pZCBh
cHBseUhUVFBTVXBncmFkZUlmTmVlZGVkKFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYmLCBDb21w
bGV0aW9uSGFuZGxlcjx2b2lkKFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYmKT4mJikgY29uc3Q7
Ci0jZW5kaWYgLy8gRU5BQkxFKEhUVFBTX1VQR1JBREUpCiAKICAgICBXZWJDb3JlOjpGZXRjaE9w
dGlvbnMgbV9vcHRpb25zOwogICAgIFdlYkNvcmU6OlN0b3JlZENyZWRlbnRpYWxzUG9saWN5IG1f
c3RvcmVkQ3JlZGVudGlhbHNQb2xpY3k7CkBAIC0xNDksNiArMTQ3LDcgQEAgcHJpdmF0ZToKICAg
ICBTdHJpbmcgbV9yZWZlcnJlcjsKICAgICBib29sIG1fY2hlY2tDb250ZW50RXh0ZW5zaW9ucyB7
IGZhbHNlIH07CiAgICAgYm9vbCBtX3Nob3VsZENhcHR1cmVFeHRyYU5ldHdvcmtMb2FkTWV0cmlj
cyB7IGZhbHNlIH07CisgICAgYm9vbCBtX2lzSFRUUFNVcGdyYWRlRW5hYmxlZCB7IGZhbHNlIH07
CiAgICAgV2ViQ29yZTo6TmV0d29ya0xvYWRJbmZvcm1hdGlvbiBtX2xvYWRJbmZvcm1hdGlvbjsK
IAogICAgIExvYWRUeXBlIG1fcmVxdWVzdExvYWRUeXBlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCmluZGV4IGU5NDg3MTAyODdlZDY5ZDExYzIyMmVl
NGVjMzU4OGRmZWM5YTJmN2MuLjg0YjJhY2YxM2RkYzU1ZWFiNTEyZGUwZmE0OTI4MzEzODI3ZDM1
OGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nl
c3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgK
QEAgLTIwNSw5ICsyMDUsOSBAQCBwdWJsaWM6CiAgICAgYm9vbCBwYXJlbnRQcm9jZXNzSGFzU2Vy
dmljZVdvcmtlckVudGl0bGVtZW50KCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogI2VuZGlmCiAK
LSNpZiBFTkFCTEUoSFRUUFNfVVBHUkFERSkKLSAgICBOZXR3b3JrSFRUUFNVcGdyYWRlQ2hlY2tl
ciYgbmV0d29ya0hUVFBTVXBncmFkZUNoZWNrZXIoKSB7IHJldHVybiBtX25ldHdvcmtIVFRQU1Vw
Z3JhZGVDaGVja2VyOyB9OwotI2VuZGlmIC8vIEVOQUJMRShIVFRQU19VUEdSQURFKQorI2lmIFBM
QVRGT1JNKENPQ09BKQorICAgIE5ldHdvcmtIVFRQU1VwZ3JhZGVDaGVja2VyJiBuZXR3b3JrSFRU
UFNVcGdyYWRlQ2hlY2tlcigpIHsgcmV0dXJuIG1fbmV0d29ya0hUVFBTVXBncmFkZUNoZWNrZXI7
IH0KKyNlbmRpZgogCiBwcml2YXRlOgogICAgIE5ldHdvcmtQcm9jZXNzKCk7CkBAIC0zOTgsOSAr
Mzk4LDkgQEAgcHJpdmF0ZToKICAgICBIYXNoTWFwPFdlYkNvcmU6OlNXU2VydmVyQ29ubmVjdGlv
bklkZW50aWZpZXIsIFdlYlNXU2VydmVyQ29ubmVjdGlvbio+IG1fc3dTZXJ2ZXJDb25uZWN0aW9u
czsKICNlbmRpZgogCi0jaWYgRU5BQkxFKEhUVFBTX1VQR1JBREUpCisjaWYgUExBVEZPUk0oQ09D
T0EpCiAgICAgTmV0d29ya0hUVFBTVXBncmFkZUNoZWNrZXIgbV9uZXR3b3JrSFRUUFNVcGdyYWRl
Q2hlY2tlcjsKLSNlbmRpZiAvLyBFTkFCTEUoSFRUUFNfVVBHUkFERSkKKyNlbmRpZgogfTsKIAog
fSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzLmNwcCBiL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMuY3BwCmluZGV4IDBj
ZmVlYTVjY2QwNjNmY2E3ZjYxMGFiNmM5ZDViMWQyYzJiZDllZmMuLjgwYjcwYWFhYjIyNzkxMDdj
ZTBiZGE2N2E2ZWNhMjEwNzVhMmJlZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMuY3BwCkBA
IC05NCw2ICs5NCw3IEBAIHZvaWQgTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnM6OmVuY29k
ZShJUEM6OkVuY29kZXImIGVuY29kZXIpIGNvbnN0CiAgICAgZW5jb2RlciA8PCBzaG91bGRFbmFi
bGVDcm9zc09yaWdpblJlc291cmNlUG9saWN5OwogCiAgICAgZW5jb2RlciA8PCBmcmFtZUFuY2Vz
dG9yT3JpZ2luczsKKyAgICBlbmNvZGVyIDw8IGlzSFRUUFNVcGdyYWRlRW5hYmxlZDsKIAogI2lm
IEVOQUJMRShDT05URU5UX0VYVEVOU0lPTlMpCiAgICAgZW5jb2RlciA8PCBtYWluRG9jdW1lbnRV
Ukw7CkBAIC0yMDQsNiArMjA1LDEyIEBAIGJvb2wgTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRl
cnM6OmRlY29kZShJUEM6OkRlY29kZXImIGRlY29kZXIsIE5ldHdvcmtSZXNvdXJjCiAKICAgICBp
ZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5mcmFtZUFuY2VzdG9yT3JpZ2lucykpCiAgICAgICAg
IHJldHVybiBmYWxzZTsKKworICAgIE9wdGlvbmFsPGJvb2w+IGlzSFRUUFNVcGdyYWRlRW5hYmxl
ZDsKKyAgICBkZWNvZGVyID4+IGlzSFRUUFNVcGdyYWRlRW5hYmxlZDsKKyAgICBpZiAoIWlzSFRU
UFNVcGdyYWRlRW5hYmxlZCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIHJlc3VsdC5pc0hU
VFBTVXBncmFkZUVuYWJsZWQgPSAqaXNIVFRQU1VwZ3JhZGVFbmFibGVkOwogICAgIAogI2lmIEVO
QUJMRShDT05URU5UX0VYVEVOU0lPTlMpCiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQu
bWFpbkRvY3VtZW50VVJMKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMuaAppbmRleCAxMzI3MTBmY2Uw
YTVjYmQ5YTgwZTYyZGRiOThmZjQ0MzVhZTFhM2M1Li5iMDVmZjgwM2YxNzE5MGFkZTMxOWNkYTA2
M2RhMDMxNDA2ZTRmMzc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L05ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycy5oCkBAIC01OSw2ICs1OSw3
IEBAIHB1YmxpYzoKICAgICBXZWJDb3JlOjpQcmVmbGlnaHRQb2xpY3kgcHJlZmxpZ2h0UG9saWN5
IHsgV2ViQ29yZTo6UHJlZmxpZ2h0UG9saWN5OjpDb25zaWRlciB9OwogICAgIGJvb2wgc2hvdWxk
RW5hYmxlQ3Jvc3NPcmlnaW5SZXNvdXJjZVBvbGljeSB7IGZhbHNlIH07CiAgICAgVmVjdG9yPFJl
ZlB0cjxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbj4+IGZyYW1lQW5jZXN0b3JPcmlnaW5zOworICAg
IGJvb2wgaXNIVFRQU1VwZ3JhZGVFbmFibGVkIHsgZmFsc2UgfTsKIAogI2lmIEVOQUJMRShDT05U
RU5UX0VYVEVOU0lPTlMpCiAgICAgVVJMIG1haW5Eb2N1bWVudFVSTDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcAppbmRl
eCA3N2ZhOGVhMjlkNjViYTE2ZGFlMGNkOGUzNWMyMmU2Zjk5NGI5ZDdmLi4zM2VjYWFmMWZlZjQy
OWY0ZTA1NTVjMzVhNzc1NWI4ZTdjMzAyYmU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC0xMTIsNyArMTEy
LDcgQEAgTmV0d29ya1Jlc291cmNlTG9hZGVyOjpOZXR3b3JrUmVzb3VyY2VMb2FkZXIoTmV0d29y
a1Jlc291cmNlTG9hZFBhcmFtZXRlcnMmJiBwYXIKIAogICAgIGlmIChzeW5jaHJvbm91c1JlcGx5
IHx8IHBhcmFtZXRlcnMuc2hvdWxkUmVzdHJpY3RIVFRQUmVzcG9uc2VBY2Nlc3MpIHsKICAgICAg
ICAgTmV0d29ya0xvYWRDaGVja2VyOjpMb2FkVHlwZSByZXF1ZXN0TG9hZFR5cGUgPSBpc01haW5G
cmFtZUxvYWQoKSA/IE5ldHdvcmtMb2FkQ2hlY2tlcjo6TG9hZFR5cGU6Ok1haW5GcmFtZSA6IE5l
dHdvcmtMb2FkQ2hlY2tlcjo6TG9hZFR5cGU6Ok90aGVyOwotICAgICAgICBtX25ldHdvcmtMb2Fk
Q2hlY2tlciA9IHN0ZDo6bWFrZV91bmlxdWU8TmV0d29ya0xvYWRDaGVja2VyPihGZXRjaE9wdGlv
bnMgeyBtX3BhcmFtZXRlcnMub3B0aW9ucyB9LCBtX3BhcmFtZXRlcnMuc2Vzc2lvbklELCBtX3Bh
cmFtZXRlcnMud2ViUGFnZUlELCBtX3BhcmFtZXRlcnMud2ViRnJhbWVJRCwgSFRUUEhlYWRlck1h
cCB7IG1fcGFyYW1ldGVycy5vcmlnaW5hbFJlcXVlc3RIZWFkZXJzIH0sIFVSTCB7IG1fcGFyYW1l
dGVycy5yZXF1ZXN0LnVybCgpIH0sIG1fcGFyYW1ldGVycy5zb3VyY2VPcmlnaW4uY29weVJlZigp
LCBtX3BhcmFtZXRlcnMucHJlZmxpZ2h0UG9saWN5LCBvcmlnaW5hbFJlcXVlc3QoKS5odHRwUmVm
ZXJyZXIoKSwgc2hvdWxkQ2FwdHVyZUV4dHJhTmV0d29ya0xvYWRNZXRyaWNzKCksIHJlcXVlc3RM
b2FkVHlwZSk7CisgICAgICAgIG1fbmV0d29ya0xvYWRDaGVja2VyID0gc3RkOjptYWtlX3VuaXF1
ZTxOZXR3b3JrTG9hZENoZWNrZXI+KEZldGNoT3B0aW9ucyB7IG1fcGFyYW1ldGVycy5vcHRpb25z
IH0sIG1fcGFyYW1ldGVycy5zZXNzaW9uSUQsIG1fcGFyYW1ldGVycy53ZWJQYWdlSUQsIG1fcGFy
YW1ldGVycy53ZWJGcmFtZUlELCBIVFRQSGVhZGVyTWFwIHsgbV9wYXJhbWV0ZXJzLm9yaWdpbmFs
UmVxdWVzdEhlYWRlcnMgfSwgVVJMIHsgbV9wYXJhbWV0ZXJzLnJlcXVlc3QudXJsKCkgfSwgbV9w
YXJhbWV0ZXJzLnNvdXJjZU9yaWdpbi5jb3B5UmVmKCksIG1fcGFyYW1ldGVycy5wcmVmbGlnaHRQ
b2xpY3ksIG9yaWdpbmFsUmVxdWVzdCgpLmh0dHBSZWZlcnJlcigpLCBtX3BhcmFtZXRlcnMuaXNI
VFRQU1VwZ3JhZGVFbmFibGVkLCBzaG91bGRDYXB0dXJlRXh0cmFOZXR3b3JrTG9hZE1ldHJpY3Mo
KSwgcmVxdWVzdExvYWRUeXBlKTsKICAgICAgICAgaWYgKG1fcGFyYW1ldGVycy5jc3BSZXNwb25z
ZUhlYWRlcnMpCiAgICAgICAgICAgICBtX25ldHdvcmtMb2FkQ2hlY2tlci0+c2V0Q1NQUmVzcG9u
c2VIZWFkZXJzKENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyB7IG1fcGFyYW1l
dGVycy5jc3BSZXNwb25zZUhlYWRlcnMudmFsdWUoKSB9KTsKICNpZiBFTkFCTEUoQ09OVEVOVF9F
WFRFTlNJT05TKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvSFRUUFNVcGdyYWRl
L0hUVFBTVXBncmFkZUxpc3QudHh0IGIvU291cmNlL1dlYktpdC9TaGFyZWQvSFRUUFNVcGdyYWRl
L0hUVFBTVXBncmFkZUxpc3QudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA4YTFhZWZjZmU4NTA0NGE3NjlhODI2
YWE2ZGY5YzNlOTM1MDNlYjgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9IVFRQU1VwZ3JhZGUvSFRUUFNVcGdyYWRlTGlzdC50eHQKQEAgLTAsMCArMSwzIEBACit3d3cu
YmJjLmNvbQord3d3LnNwZWVkdGVzdC5uZXQKK3d3dy5iZWEuZ292CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sIGIvU291cmNlL1dlYktpdC9TaGFy
ZWQvV2ViUHJlZmVyZW5jZXMueWFtbAppbmRleCAwNzdiZGUzNWVhNTYyZWMzNDNlY2UwY2I1MjA1
Y2E5ZTFkYjEwMDBlLi40M2E5NWUzYjc0MzRhNGE0M2ZlYWZiNDAyM2Y1NjIyZWJlNTI1YjFmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCisrKyBi
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwKQEAgLTM1LDYgKzM1LDEz
IEBAIFBsdWdpbnNFbmFibGVkOgogICB0eXBlOiBib29sCiAgIGRlZmF1bHRWYWx1ZTogZmFsc2UK
IAorSFRUUFNVcGdyYWRlRW5hYmxlZDoKKyAgIHR5cGU6IGJvb2wKKyAgIGRlZmF1bHRWYWx1ZTog
ZmFsc2UKKyAgIGh1bWFuUmVhZGFibGVOYW1lOiAiQXV0b21hdGljIEhUVFBTIHVwZ3JhZGUiCisg
ICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJBdXRvbWF0aWMgSFRUUFMgdXBncmFkZSBmb3Ig
a25vd24gc3VwcG9ydGVkIHNpdGVzIgorICAgY2F0ZWdvcnk6IGV4cGVyaW1lbnRhbAorCiBKYXZh
RW5hYmxlZDoKICAgdHlwZTogYm9vbAogICBkZWZhdWx0VmFsdWU6IGZhbHNlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJMb2FkZXJTdHJhdGVneS5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJMb2FkZXJTdHJhdGVneS5jcHAK
aW5kZXggMTYyM2IyMDA5MDhiZTIwYTI2ZDkwZjIxMDJhMGE4NWU2NjdhMzM3OS4uODRjMTJhMDRh
NjgyMTViNDExODlmMzZkNWYwMTczYjMyNjVjMmM1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3kuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5LmNwcApAQCAtMjc1LDYg
KzI3NSw3IEBAIHZvaWQgV2ViTG9hZGVyU3RyYXRlZ3k6OnNjaGVkdWxlTG9hZEZyb21OZXR3b3Jr
UHJvY2VzcyhSZXNvdXJjZUxvYWRlciYgcmVzb3VyY2VMCiAgICAgbG9hZFBhcmFtZXRlcnMubWF4
aW11bUJ1ZmZlcmluZ1RpbWUgPSBtYXhpbXVtQnVmZmVyaW5nVGltZTsKICAgICBsb2FkUGFyYW1l
dGVycy5vcHRpb25zID0gcmVzb3VyY2VMb2FkZXIub3B0aW9ucygpOwogICAgIGxvYWRQYXJhbWV0
ZXJzLnByZWZsaWdodFBvbGljeSA9IHJlc291cmNlTG9hZGVyLm9wdGlvbnMoKS5wcmVmbGlnaHRQ
b2xpY3k7CisgICAgbG9hZFBhcmFtZXRlcnMuaXNIVFRQU1VwZ3JhZGVFbmFibGVkID0gcmVzb3Vy
Y2VMb2FkZXIuZnJhbWUoKSA/IHJlc291cmNlTG9hZGVyLmZyYW1lKCktPnNldHRpbmdzKCkuSFRU
UFNVcGdyYWRlRW5hYmxlZCgpIDogZmFsc2U7CiAKICAgICBhdXRvKiBkb2N1bWVudCA9IHJlc291
cmNlTG9hZGVyLmZyYW1lKCkgPyByZXNvdXJjZUxvYWRlci5mcmFtZSgpLT5kb2N1bWVudCgpIDog
bnVsbHB0cjsKICAgICBpZiAocmVzb3VyY2VMb2FkZXIub3B0aW9ucygpLmNzcFJlc3BvbnNlSGVh
ZGVycykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY29uZmlnLmggYi9Tb3VyY2UvV2ViS2l0
L2NvbmZpZy5oCmluZGV4IDA3ZDBkOGE5ZTMxNzk2OTAyMGYyNmM2OTE5ZWRjOGY1MDY2ZWM4MjUu
LmQ5ZThkNjk5NTFhYTNlNzFhNjBkNjg1MWU2NTVkNzAwZTcxZThkNzEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvY29uZmlnLmgKKysrIGIvU291cmNlL1dlYktpdC9jb25maWcuaApAQCAtNzks
NiArNzksMyBAQAogI2VuZGlmCiAjZW5kaWYKIAotI2lmbmRlZiBFTkFCTEVfSFRUUFNfVVBHUkFE
RQotI2RlZmluZSBFTkFCTEVfSFRUUFNfVVBHUkFERSAwCi0jZW5kaWYK
</data>

          </attachment>
      

    </bug>

</bugzilla>