<?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>202825</bug_id>
          
          <creation_ts>2019-10-10 14:35:24 -0700</creation_ts>
          <short_desc>Only use CFNetwork SPI for metrics where needed</short_desc>
          <delta_ts>2020-03-08 12:53:29 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>hi</cc>
    
    <cc>joepeck</cc>
    
    <cc>krollin</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1578858</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-10-10 14:35:24 -0700</bug_when>
    <thetext>Only use CFNetwork SPI for metrics where needed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1578859</commentid>
    <comment_count>1</comment_count>
      <attachid>380685</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-10-10 14:35:51 -0700</bug_when>
    <thetext>Created attachment 380685
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1578932</commentid>
    <comment_count>2</comment_count>
      <attachid>380685</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2019-10-10 17:51:00 -0700</bug_when>
    <thetext>Comment on attachment 380685
Patch

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

r=me

The first time we tried this (bug 198762) got rolled out in r247095. Just make sure this test continues to pass!
http/tests/inspector/network/har/har-page.html

&gt; Source/WTF/wtf/Platform.h:1521
&gt; +#if (PLATFORM(MAC) &amp;&amp; __MAC_OS_X_VERSION_MIN_REQUIRED &gt;= 101600) || (PLATFORM(IOS_FAMILY) &amp;&amp; __IPHONE_OS_VERSION_MIN_REQUIRED &gt;= 140000)
&gt; +#define HAVE_CFNETWORK_METRICS 1
&gt; +#endif

Nit: I believe Keith Rollins was just investigating if we should enable these for tvOS / watchOS. The APIs do exist there, so I suggest we do that. Maybe you can sync up with him on how best to do that, but that doesn&apos;t block this.

I&apos;d probably have named this positive for &quot;APIs&quot; since older builds have the &quot;SPIs&quot;. So maybe something like HAVE_CFNETWORK_METRICS_APIS_V4? I&apos;d leave that up to you.

&gt; Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm:710
&gt; +            networkLoadMetrics.tlsCipher = stringForSSLCipher((SSLCipherSuite)[m.negotiatedTLSCipherSuite unsignedShortValue]);

Shouldn&apos;t this be a `tls_ciphersuite_t` not a `SSLCipherSuite`? Or are they interchangeable?

&gt; Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm:734
&gt;              for (NSURLSessionTaskTransactionMetrics *transactionMetrics in metrics.transactionMetrics) {
&gt; +#if HAVE(CFNETWORK_METRICS)
&gt; +                requestHeaderBytesSent += transactionMetrics.countOfRequestHeaderBytesSent;
&gt; +                responseHeaderBytesReceived += transactionMetrics.countOfResponseHeaderBytesReceived;
&gt; +                responseBodyBytesReceived += transactionMetrics.countOfResponseBodyBytesReceived;
&gt; +                responseBodyDecodedSize += transactionMetrics.countOfResponseBodyBytesAfterDecoding ? transactionMetrics.countOfResponseBodyBytesAfterDecoding : transactionMetrics.countOfResponseBodyBytesReceived;
&gt; +#else

Not significant but we should probably update NetworkLoadMetrics&apos;s values here from uint32_ts to uint64_ts. This was done in the first attempt to use the CFNetwork APIs:
https://bugs.webkit.org/attachment.cgi?id=371875&amp;action=review

```
    uint32_t requestHeaderBytesSent;
    uint32_t responseHeaderBytesReceived;
```

The CFNetwork APIs here are `int64_t` and the SPIs here were `NSInteger`. So it seems a &gt;32bit number could happen.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1579164</commentid>
    <comment_count>3</comment_count>
      <attachid>380769</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-10-11 11:17:25 -0700</bug_when>
    <thetext>Created attachment 380769
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1579170</commentid>
    <comment_count>4</comment_count>
      <attachid>380772</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-10-11 11:38:17 -0700</bug_when>
    <thetext>Created attachment 380772
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1579220</commentid>
    <comment_count>5</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2019-10-11 13:36:57 -0700</bug_when>
    <thetext>*** Bug 198762 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1579221</commentid>
    <comment_count>6</comment_count>
      <attachid>380772</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-10-11 13:38:17 -0700</bug_when>
    <thetext>Comment on attachment 380772
Patch

Clearing flags on attachment: 380772

Committed r251021: &lt;https://trac.webkit.org/changeset/251021&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1579222</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-10-11 13:38:19 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1580375</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-10-15 16:47:01 -0700</bug_when>
    <thetext>&lt;rdar://problem/56313694&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1627556</commentid>
    <comment_count>9</comment_count>
      <attachid>380772</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2020-03-08 12:53:29 -0700</bug_when>
    <thetext>Comment on attachment 380772
Patch

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

&gt; Source/WTF/wtf/Platform.h:1519
&gt; +#if (PLATFORM(MAC) &amp;&amp; __MAC_OS_X_VERSION_MIN_REQUIRED &gt;= 101600) || (PLATFORM(IOS_FAMILY) &amp;&amp; __IPHONE_OS_VERSION_MIN_REQUIRED &gt;= 140000)

FWIW &quot;PLATFORM(IOS_FAMILY) &amp;&amp; only testing an IPHONE_OS version&quot; is always wrong. This is disabled on all non-iOS iOS-family platforms.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>380685</attachid>
            <date>2019-10-10 14:35:51 -0700</date>
            <delta_ts>2019-10-11 11:17:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-202825-20191010143551.patch</filename>
            <type>text/plain</type>
            <size>6389</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyNTA5ODMpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDEyIEBACisyMDE5LTEwLTEwICBBbGV4IENocmlzdGVuc2VuICA8
YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgT25seSB1c2UgQ0ZOZXR3b3JrIFNQ
SSBmb3IgbWV0cmljcyB3aGVyZSBuZWVkZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIwMjgyNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogd3RmL1BsYXRmb3JtLmg6CisKIDIwMTktMTAtMDkgIEtlaXRo
IFJvbGxpbiAgPGtyb2xsaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSBzb21lIHN1cHBv
cnQgZm9yIDwgaU9TIDEzCkluZGV4OiBTb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgJKHJldmlzaW9uIDI1MDk4MykKKysrIFNv
dXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgJKHdvcmtpbmcgY29weSkKQEAgLTE1MTYsNiArMTUxNiwx
MCBAQAogI2RlZmluZSBIQVZFX0NGTkVUV09SS19ORUdPVElBVEVEX1NTTF9QUk9UT0NPTF9DSVBI
RVIgMQogI2VuZGlmCiAKKyNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05f
TUlOX1JFUVVJUkVEID49IDEwMTYwMCkgfHwgKFBMQVRGT1JNKElPU19GQU1JTFkpICYmIF9fSVBI
T05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDE0MDAwMCkKKyNkZWZpbmUgSEFWRV9DRk5F
VFdPUktfTUVUUklDUyAxCisjZW5kaWYKKwogI2lmIFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1Nf
WF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1MDAKICNkZWZpbmUgSEFWRV9DU0NIRUNLRklY
RElTQUJMRSAxCiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNTA5ODgpCisrKyBTb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDE5
LTEwLTEwICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAg
ICAgICAgT25seSB1c2UgQ0ZOZXR3b3JrIFNQSSBmb3IgbWV0cmljcyB3aGVyZSBuZWVkZWQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMjgyNQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogTmV0d29ya1By
b2Nlc3MvY29jb2EvTmV0d29ya1Nlc3Npb25Db2NvYS5tbToKKyAgICAgICAgKHN0cmluZ0ZvclNT
TFByb3RvY29sVmVyc2lvbik6CisgICAgICAgICgtW1dLTmV0d29ya1Nlc3Npb25EZWxlZ2F0ZSBV
UkxTZXNzaW9uOnRhc2s6ZGlkRmluaXNoQ29sbGVjdGluZ01ldHJpY3M6XSk6CisKIDIwMTktMTAt
MTAgIEJhc3VrZSBTdXp1a2kgIDxCYXN1a2UuU3V6dWtpQHNvbnkuY29tPgogCiAgICAgICAgIFtX
aW5DYWlyb10gTW92ZSByZW1vdGUgY29tbXVuaWNhdGlvbiBoYW5kbGluZyBmcm9tIFJlbW90ZUlu
c3BlY3RvclNlcnZlciB0byBSZW1vdGVJbnNwZWN0b3IuCkluZGV4OiBTb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtTZXNzaW9uQ29jb2EubW0KPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrU2Vzc2lvbkNvY29hLm1t
CShyZXZpc2lvbiAyNTA5ODMpCisrKyBTb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29h
L05ldHdvcmtTZXNzaW9uQ29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTExMSw2ICsxMTEsMjcg
QEAgc3RhdGljIFdlYkNvcmU6Ok5ldHdvcmtMb2FkUHJpb3JpdHkgdG9OZQogfQogCiAjaWYgSEFW
RShDRk5FVFdPUktfTkVHT1RJQVRFRF9TU0xfUFJPVE9DT0xfQ0lQSEVSKQorI2lmIEhBVkUoQ0ZO
RVRXT1JLX01FVFJJQ1MpCitzdGF0aWMgU3RyaW5nIHN0cmluZ0ZvclNTTFByb3RvY29sVmVyc2lv
bih0bHNfcHJvdG9jb2xfdmVyc2lvbl90IHByb3RvY29sKQoreworICAgIHN3aXRjaCAocHJvdG9j
b2wpIHsKKyAgICBjYXNlIHRsc19wcm90b2NvbF92ZXJzaW9uX1RMU3YxMDoKKyAgICAgICAgcmV0
dXJuICJUTFMgMS4wIl9zOworICAgIGNhc2UgdGxzX3Byb3RvY29sX3ZlcnNpb25fVExTdjExOgor
ICAgICAgICByZXR1cm4gIlRMUyAxLjEiX3M7CisgICAgY2FzZSB0bHNfcHJvdG9jb2xfdmVyc2lv
bl9UTFN2MTI6CisgICAgICAgIHJldHVybiAiVExTIDEuMiJfczsKKyAgICBjYXNlIHRsc19wcm90
b2NvbF92ZXJzaW9uX1RMU3YxMzoKKyAgICAgICAgcmV0dXJuICJUTFMgMS4zIl9zOworICAgIGNh
c2UgdGxzX3Byb3RvY29sX3ZlcnNpb25fRFRMU3YxMDoKKyAgICAgICAgcmV0dXJuICJEVExTIDEu
MCJfczsKKyAgICBjYXNlIHRsc19wcm90b2NvbF92ZXJzaW9uX0RUTFN2MTI6CisgICAgICAgIHJl
dHVybiAiRFRMUyAxLjIiX3M7CisgICAgfQorICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAg
IHJldHVybiBlbXB0eVN0cmluZygpOworfQorI2Vsc2UKIHN0YXRpYyBTdHJpbmcgc3RyaW5nRm9y
U1NMUHJvdG9jb2woU1NMUHJvdG9jb2wgcHJvdG9jb2wpCiB7CiAgICAgQUxMT1dfREVQUkVDQVRF
RF9ERUNMQVJBVElPTlNfQkVHSU4KQEAgLTE0NCw2ICsxNjUsNyBAQCAgICAgc3dpdGNoIChwcm90
b2NvbCkgewogICAgIH0KICAgICBBTExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19FTkQKIH0K
KyNlbmRpZgogCiBzdGF0aWMgU3RyaW5nIHN0cmluZ0ZvclNTTENpcGhlcihTU0xDaXBoZXJTdWl0
ZSBjaXBoZXIpCiB7CkBAIC02NjksMTcgKzY5MSwyOCBAQCAtICh2b2lkKVVSTFNlc3Npb246KE5T
VVJMU2Vzc2lvbiAqKXNlc3NpCiAgICAgICAgIG5ldHdvcmtMb2FkTWV0cmljcy5tYXJrQ29tcGxl
dGUoKTsKICAgICAgICAgbmV0d29ya0xvYWRNZXRyaWNzLnByb3RvY29sID0gU3RyaW5nKG0ubmV0
d29ya1Byb3RvY29sTmFtZSk7CiAKLSAgICAgICAgQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElP
TlNfQkVHSU4KICAgICAgICAgaWYgKG5ldHdvcmtEYXRhVGFzay0+c2hvdWxkQ2FwdHVyZUV4dHJh
TmV0d29ya0xvYWRNZXRyaWNzKCkpIHsKICAgICAgICAgICAgIG5ldHdvcmtMb2FkTWV0cmljcy5w
cmlvcml0eSA9IHRvTmV0d29ya0xvYWRQcmlvcml0eSh0YXNrLnByaW9yaXR5KTsKIAorI2lmIEhB
VkUoQ0ZORVRXT1JLX01FVFJJQ1MpCisgICAgICAgICAgICBpZiAoYXV0byBwb3J0ID0gW20ucmVt
b3RlUG9ydCB1bnNpZ25lZEludFZhbHVlXSkKKyAgICAgICAgICAgICAgICBuZXR3b3JrTG9hZE1l
dHJpY3MucmVtb3RlQWRkcmVzcyA9IG1ha2VTdHJpbmcoU3RyaW5nKG0ucmVtb3RlQWRkcmVzcyks
ICc6JywgcG9ydCk7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgbmV0d29ya0xv
YWRNZXRyaWNzLnJlbW90ZUFkZHJlc3MgPSBtLnJlbW90ZUFkZHJlc3M7CisjZWxzZQogICAgICAg
ICAgICAgbmV0d29ya0xvYWRNZXRyaWNzLnJlbW90ZUFkZHJlc3MgPSBTdHJpbmcobS5fcmVtb3Rl
QWRkcmVzc0FuZFBvcnQpOworI2VuZGlmCiAgICAgICAgICAgICBuZXR3b3JrTG9hZE1ldHJpY3Mu
Y29ubmVjdGlvbklkZW50aWZpZXIgPSBTdHJpbmcoW20uX2Nvbm5lY3Rpb25JZGVudGlmaWVyIFVV
SURTdHJpbmddKTsKIAogI2lmIEhBVkUoQ0ZORVRXT1JLX05FR09USUFURURfU1NMX1BST1RPQ09M
X0NJUEhFUikKKyNpZiBIQVZFKENGTkVUV09SS19NRVRSSUNTKQorICAgICAgICAgICAgbmV0d29y
a0xvYWRNZXRyaWNzLnRsc1Byb3RvY29sID0gc3RyaW5nRm9yU1NMUHJvdG9jb2xWZXJzaW9uKCh0
bHNfcHJvdG9jb2xfdmVyc2lvbl90KVttLm5lZ290aWF0ZWRUTFNQcm90b2NvbFZlcnNpb24gdW5z
aWduZWRTaG9ydFZhbHVlXSk7CisgICAgICAgICAgICBuZXR3b3JrTG9hZE1ldHJpY3MudGxzQ2lw
aGVyID0gc3RyaW5nRm9yU1NMQ2lwaGVyKChTU0xDaXBoZXJTdWl0ZSlbbS5uZWdvdGlhdGVkVExT
Q2lwaGVyU3VpdGUgdW5zaWduZWRTaG9ydFZhbHVlXSk7CisjZWxzZQogICAgICAgICAgICAgbmV0
d29ya0xvYWRNZXRyaWNzLnRsc1Byb3RvY29sID0gc3RyaW5nRm9yU1NMUHJvdG9jb2wobS5fbmVn
b3RpYXRlZFRMU1Byb3RvY29sKTsKICAgICAgICAgICAgIG5ldHdvcmtMb2FkTWV0cmljcy50bHND
aXBoZXIgPSBzdHJpbmdGb3JTU0xDaXBoZXIobS5fbmVnb3RpYXRlZFRMU0NpcGhlcik7CiAjZW5k
aWYKKyNlbmRpZgogCiAgICAgICAgICAgICBfX2Jsb2NrIFdlYkNvcmU6OkhUVFBIZWFkZXJNYXAg
cmVxdWVzdEhlYWRlcnM7CiAgICAgICAgICAgICBbbS5yZXF1ZXN0LmFsbEhUVFBIZWFkZXJGaWVs
ZHMgZW51bWVyYXRlS2V5c0FuZE9iamVjdHNVc2luZ0Jsb2NrOl4oTlNTdHJpbmcgKm5hbWUsIE5T
U3RyaW5nICp2YWx1ZSwgQk9PTCAqKSB7CkBAIC02OTMsMTAgKzcyNiwxNyBAQCAtICh2b2lkKVVS
TFNlc3Npb246KE5TVVJMU2Vzc2lvbiAqKXNlc3NpCiAgICAgICAgICAgICB1aW50NjRfdCByZXNw
b25zZUJvZHlEZWNvZGVkU2l6ZSA9IDA7CiAKICAgICAgICAgICAgIGZvciAoTlNVUkxTZXNzaW9u
VGFza1RyYW5zYWN0aW9uTWV0cmljcyAqdHJhbnNhY3Rpb25NZXRyaWNzIGluIG1ldHJpY3MudHJh
bnNhY3Rpb25NZXRyaWNzKSB7CisjaWYgSEFWRShDRk5FVFdPUktfTUVUUklDUykKKyAgICAgICAg
ICAgICAgICByZXF1ZXN0SGVhZGVyQnl0ZXNTZW50ICs9IHRyYW5zYWN0aW9uTWV0cmljcy5jb3Vu
dE9mUmVxdWVzdEhlYWRlckJ5dGVzU2VudDsKKyAgICAgICAgICAgICAgICByZXNwb25zZUhlYWRl
ckJ5dGVzUmVjZWl2ZWQgKz0gdHJhbnNhY3Rpb25NZXRyaWNzLmNvdW50T2ZSZXNwb25zZUhlYWRl
ckJ5dGVzUmVjZWl2ZWQ7CisgICAgICAgICAgICAgICAgcmVzcG9uc2VCb2R5Qnl0ZXNSZWNlaXZl
ZCArPSB0cmFuc2FjdGlvbk1ldHJpY3MuY291bnRPZlJlc3BvbnNlQm9keUJ5dGVzUmVjZWl2ZWQ7
CisgICAgICAgICAgICAgICAgcmVzcG9uc2VCb2R5RGVjb2RlZFNpemUgKz0gdHJhbnNhY3Rpb25N
ZXRyaWNzLmNvdW50T2ZSZXNwb25zZUJvZHlCeXRlc0FmdGVyRGVjb2RpbmcgPyB0cmFuc2FjdGlv
bk1ldHJpY3MuY291bnRPZlJlc3BvbnNlQm9keUJ5dGVzQWZ0ZXJEZWNvZGluZyA6IHRyYW5zYWN0
aW9uTWV0cmljcy5jb3VudE9mUmVzcG9uc2VCb2R5Qnl0ZXNSZWNlaXZlZDsKKyNlbHNlCiAgICAg
ICAgICAgICAgICAgcmVxdWVzdEhlYWRlckJ5dGVzU2VudCArPSB0cmFuc2FjdGlvbk1ldHJpY3Mu
X3JlcXVlc3RIZWFkZXJCeXRlc1NlbnQ7CiAgICAgICAgICAgICAgICAgcmVzcG9uc2VIZWFkZXJC
eXRlc1JlY2VpdmVkICs9IHRyYW5zYWN0aW9uTWV0cmljcy5fcmVzcG9uc2VIZWFkZXJCeXRlc1Jl
Y2VpdmVkOwogICAgICAgICAgICAgICAgIHJlc3BvbnNlQm9keUJ5dGVzUmVjZWl2ZWQgKz0gdHJh
bnNhY3Rpb25NZXRyaWNzLl9yZXNwb25zZUJvZHlCeXRlc1JlY2VpdmVkOwogICAgICAgICAgICAg
ICAgIHJlc3BvbnNlQm9keURlY29kZWRTaXplICs9IHRyYW5zYWN0aW9uTWV0cmljcy5fcmVzcG9u
c2VCb2R5Qnl0ZXNEZWNvZGVkID8gdHJhbnNhY3Rpb25NZXRyaWNzLl9yZXNwb25zZUJvZHlCeXRl
c0RlY29kZWQgOiB0cmFuc2FjdGlvbk1ldHJpY3MuX3Jlc3BvbnNlQm9keUJ5dGVzUmVjZWl2ZWQ7
CisjZW5kaWYKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgbmV0d29ya0xvYWRNZXRyaWNz
LnJlcXVlc3RIZWFkZXJCeXRlc1NlbnQgPSByZXF1ZXN0SGVhZGVyQnl0ZXNTZW50OwpAQCAtNzA1
LDcgKzc0NSw2IEBAIC0gKHZvaWQpVVJMU2Vzc2lvbjooTlNVUkxTZXNzaW9uICopc2Vzc2kKICAg
ICAgICAgICAgIG5ldHdvcmtMb2FkTWV0cmljcy5yZXNwb25zZUJvZHlCeXRlc1JlY2VpdmVkID0g
cmVzcG9uc2VCb2R5Qnl0ZXNSZWNlaXZlZDsKICAgICAgICAgICAgIG5ldHdvcmtMb2FkTWV0cmlj
cy5yZXNwb25zZUJvZHlEZWNvZGVkU2l6ZSA9IHJlc3BvbnNlQm9keURlY29kZWRTaXplOwogICAg
ICAgICB9Ci0gICAgICAgIEFMTE9XX0RFUFJFQ0FURURfREVDTEFSQVRJT05TX0VORAogICAgIH0K
IH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>380769</attachid>
            <date>2019-10-11 11:17:25 -0700</date>
            <delta_ts>2019-10-11 11:38:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-202825-20191011111725.patch</filename>
            <type>text/plain</type>
            <size>9640</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyNTA5ODMpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDEyIEBACisyMDE5LTEwLTEwICBBbGV4IENocmlzdGVuc2VuICA8
YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgT25seSB1c2UgQ0ZOZXR3b3JrIFNQ
SSBmb3IgbWV0cmljcyB3aGVyZSBuZWVkZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIwMjgyNQorCisgICAgICAgIFJldmlld2VkIGJ5IEpvc2VwaCBQ
ZWNvcmFyby4KKworICAgICAgICAqIHd0Zi9QbGF0Zm9ybS5oOgorCiAyMDE5LTEwLTA5ICBLZWl0
aCBSb2xsaW4gIDxrcm9sbGluQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1vdmUgc29tZSBzdXBw
b3J0IGZvciA8IGlPUyAxMwpJbmRleDogU291cmNlL1dURi93dGYvUGxhdGZvcm0uaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCShyZXZpc2lvbiAyNTA5ODMpCisrKyBT
b3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNTE2LDYgKzE1MTYs
MTAgQEAKICNkZWZpbmUgSEFWRV9DRk5FVFdPUktfTkVHT1RJQVRFRF9TU0xfUFJPVE9DT0xfQ0lQ
SEVSIDEKICNlbmRpZgogCisjaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9O
X01JTl9SRVFVSVJFRCA+PSAxMDE2MDApIHx8IChQTEFURk9STShJT1NfRkFNSUxZKSAmJiBfX0lQ
SE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxNDAwMDApCisjZGVmaW5lIEhBVkVfQ0ZO
RVRXT1JLX01FVFJJQ1NfQVBJU19WNCAxCisjZW5kaWYKKwogI2lmIFBMQVRGT1JNKE1BQykgJiYg
X19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1MDAKICNkZWZpbmUgSEFWRV9D
U0NIRUNLRklYRElTQUJMRSAxCiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1MTAx
MikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsx
LDEyIEBACisyMDE5LTEwLTExICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtp
dC5vcmc+CisKKyAgICAgICAgT25seSB1c2UgQ0ZOZXR3b3JrIFNQSSBmb3IgbWV0cmljcyB3aGVy
ZSBuZWVkZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIwMjgyNQorCisgICAgICAgIFJldmlld2VkIGJ5IEpvc2VwaCBQZWNvcmFyby4KKworICAgICAg
ICAqIHBsYXRmb3JtL25ldHdvcmsvTmV0d29ya0xvYWRNZXRyaWNzLmg6CisKIDIwMTktMTAtMTEg
IEpvbmF0aGFuIEJlZGFyZCAgPGpiZWRhcmRAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3
ZWQsIHJvbGxpbmcgb3V0IHIyNTA5NDUuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL05ldHdvcmtMb2FkTWV0cmljcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya0xvYWRNZXRyaWNzLmgJKHJldmlzaW9uIDI1MDk4MykK
KysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya0xvYWRNZXRyaWNzLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTE3Niw4ICsxNzYsOCBAQCBwdWJsaWM6CiAKICAgICBIVFRQSGVh
ZGVyTWFwIHJlcXVlc3RIZWFkZXJzOwogCi0gICAgdWludDMyX3QgcmVxdWVzdEhlYWRlckJ5dGVz
U2VudDsKLSAgICB1aW50MzJfdCByZXNwb25zZUhlYWRlckJ5dGVzUmVjZWl2ZWQ7CisgICAgdWlu
dDY0X3QgcmVxdWVzdEhlYWRlckJ5dGVzU2VudDsKKyAgICB1aW50NjRfdCByZXNwb25zZUhlYWRl
ckJ5dGVzUmVjZWl2ZWQ7CiAgICAgdWludDY0X3QgcmVxdWVzdEJvZHlCeXRlc1NlbnQ7CiAgICAg
dWludDY0X3QgcmVzcG9uc2VCb2R5Qnl0ZXNSZWNlaXZlZDsKICAgICB1aW50NjRfdCByZXNwb25z
ZUJvZHlEZWNvZGVkU2l6ZTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNTA5ODgpCisrKyBTb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDE5
LTEwLTEwICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAg
ICAgICAgT25seSB1c2UgQ0ZOZXR3b3JrIFNQSSBmb3IgbWV0cmljcyB3aGVyZSBuZWVkZWQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMjgyNQorCisg
ICAgICAgIFJldmlld2VkIGJ5IEpvc2VwaCBQZWNvcmFyby4KKworICAgICAgICAqIE5ldHdvcmtQ
cm9jZXNzL2NvY29hL05ldHdvcmtTZXNzaW9uQ29jb2EubW06CisgICAgICAgIChzdHJpbmdGb3JT
U0xQcm90b2NvbFZlcnNpb24pOgorICAgICAgICAoLVtXS05ldHdvcmtTZXNzaW9uRGVsZWdhdGUg
VVJMU2Vzc2lvbjp0YXNrOmRpZEZpbmlzaENvbGxlY3RpbmdNZXRyaWNzOl0pOgorCiAyMDE5LTEw
LTEwICBCYXN1a2UgU3V6dWtpICA8QmFzdWtlLlN1enVraUBzb255LmNvbT4KIAogICAgICAgICBb
V2luQ2Fpcm9dIE1vdmUgcmVtb3RlIGNvbW11bmljYXRpb24gaGFuZGxpbmcgZnJvbSBSZW1vdGVJ
bnNwZWN0b3JTZXJ2ZXIgdG8gUmVtb3RlSW5zcGVjdG9yLgpJbmRleDogU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrU2Vzc2lvbkNvY29hLm1tCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Nlc3Npb25Db2NvYS5t
bQkocmV2aXNpb24gMjUwOTgzKQorKysgU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2Nv
YS9OZXR3b3JrU2Vzc2lvbkNvY29hLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xMTEsNiArMTExLDcw
IEBAIHN0YXRpYyBXZWJDb3JlOjpOZXR3b3JrTG9hZFByaW9yaXR5IHRvTmUKIH0KIAogI2lmIEhB
VkUoQ0ZORVRXT1JLX05FR09USUFURURfU1NMX1BST1RPQ09MX0NJUEhFUikKKyNpZiBIQVZFKENG
TkVUV09SS19NRVRSSUNTX0FQSVNfVjQpCitzdGF0aWMgU3RyaW5nIHN0cmluZ0ZvclRMU1Byb3Rv
Y29sVmVyc2lvbih0bHNfcHJvdG9jb2xfdmVyc2lvbl90IHByb3RvY29sKQoreworICAgIHN3aXRj
aCAocHJvdG9jb2wpIHsKKyAgICBjYXNlIHRsc19wcm90b2NvbF92ZXJzaW9uX1RMU3YxMDoKKyAg
ICAgICAgcmV0dXJuICJUTFMgMS4wIl9zOworICAgIGNhc2UgdGxzX3Byb3RvY29sX3ZlcnNpb25f
VExTdjExOgorICAgICAgICByZXR1cm4gIlRMUyAxLjEiX3M7CisgICAgY2FzZSB0bHNfcHJvdG9j
b2xfdmVyc2lvbl9UTFN2MTI6CisgICAgICAgIHJldHVybiAiVExTIDEuMiJfczsKKyAgICBjYXNl
IHRsc19wcm90b2NvbF92ZXJzaW9uX1RMU3YxMzoKKyAgICAgICAgcmV0dXJuICJUTFMgMS4zIl9z
OworICAgIGNhc2UgdGxzX3Byb3RvY29sX3ZlcnNpb25fRFRMU3YxMDoKKyAgICAgICAgcmV0dXJu
ICJEVExTIDEuMCJfczsKKyAgICBjYXNlIHRsc19wcm90b2NvbF92ZXJzaW9uX0RUTFN2MTI6Cisg
ICAgICAgIHJldHVybiAiRFRMUyAxLjIiX3M7CisgICAgfQorICAgIEFTU0VSVF9OT1RfUkVBQ0hF
RCgpOworICAgIHJldHVybiBlbXB0eVN0cmluZygpOworfQorCitzdGF0aWMgU3RyaW5nIHN0cmlu
Z0ZvclRMU0NpcGhlclN1aXRlKHRsc19jaXBoZXJzdWl0ZV90IHN1aXRlKQoreworI2RlZmluZSBT
VFJJTkdJRllfQ0lQSEVSKGNpcGhlcikgXAorICAgIGNhc2UgdGxzX2NpcGhlcnN1aXRlXyMjY2lw
aGVyOiBcCisgICAgICAgIHJldHVybiAiIiAjY2lwaGVyICIiX3MKKworICAgIHN3aXRjaCAoc3Vp
dGUpIHsKKyAgICAgICAgU1RSSU5HSUZZX0NJUEhFUihSU0FfV0lUSF8zREVTX0VERV9DQkNfU0hB
KTsKKyAgICAgICAgU1RSSU5HSUZZX0NJUEhFUihSU0FfV0lUSF9BRVNfMTI4X0NCQ19TSEEpOwor
ICAgICAgICBTVFJJTkdJRllfQ0lQSEVSKFJTQV9XSVRIX0FFU18yNTZfQ0JDX1NIQSk7CisgICAg
ICAgIFNUUklOR0lGWV9DSVBIRVIoUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2KTsKKyAgICAg
ICAgU1RSSU5HSUZZX0NJUEhFUihSU0FfV0lUSF9BRVNfMjU2X0dDTV9TSEEzODQpOworICAgICAg
ICBTVFJJTkdJRllfQ0lQSEVSKFJTQV9XSVRIX0FFU18xMjhfQ0JDX1NIQTI1Nik7CisgICAgICAg
IFNUUklOR0lGWV9DSVBIRVIoUlNBX1dJVEhfQUVTXzI1Nl9DQkNfU0hBMjU2KTsKKyAgICAgICAg
U1RSSU5HSUZZX0NJUEhFUihFQ0RIRV9FQ0RTQV9XSVRIXzNERVNfRURFX0NCQ19TSEEpOworICAg
ICAgICBTVFJJTkdJRllfQ0lQSEVSKEVDREhFX0VDRFNBX1dJVEhfQUVTXzEyOF9DQkNfU0hBKTsK
KyAgICAgICAgU1RSSU5HSUZZX0NJUEhFUihFQ0RIRV9FQ0RTQV9XSVRIX0FFU18yNTZfQ0JDX1NI
QSk7CisgICAgICAgIFNUUklOR0lGWV9DSVBIRVIoRUNESEVfUlNBX1dJVEhfM0RFU19FREVfQ0JD
X1NIQSk7CisgICAgICAgIFNUUklOR0lGWV9DSVBIRVIoRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9D
QkNfU0hBKTsKKyAgICAgICAgU1RSSU5HSUZZX0NJUEhFUihFQ0RIRV9SU0FfV0lUSF9BRVNfMjU2
X0NCQ19TSEEpOworICAgICAgICBTVFJJTkdJRllfQ0lQSEVSKEVDREhFX0VDRFNBX1dJVEhfQUVT
XzEyOF9DQkNfU0hBMjU2KTsKKyAgICAgICAgU1RSSU5HSUZZX0NJUEhFUihFQ0RIRV9FQ0RTQV9X
SVRIX0FFU18yNTZfQ0JDX1NIQTM4NCk7CisgICAgICAgIFNUUklOR0lGWV9DSVBIRVIoRUNESEVf
UlNBX1dJVEhfQUVTXzEyOF9DQkNfU0hBMjU2KTsKKyAgICAgICAgU1RSSU5HSUZZX0NJUEhFUihF
Q0RIRV9SU0FfV0lUSF9BRVNfMjU2X0NCQ19TSEEzODQpOworICAgICAgICBTVFJJTkdJRllfQ0lQ
SEVSKEVDREhFX0VDRFNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2KTsKKyAgICAgICAgU1RSSU5H
SUZZX0NJUEhFUihFQ0RIRV9FQ0RTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCk7CisgICAgICAg
IFNUUklOR0lGWV9DSVBIRVIoRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2KTsKKyAg
ICAgICAgU1RSSU5HSUZZX0NJUEhFUihFQ0RIRV9SU0FfV0lUSF9BRVNfMjU2X0dDTV9TSEEzODQp
OworICAgICAgICBTVFJJTkdJRllfQ0lQSEVSKEVDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkx
MzA1X1NIQTI1Nik7CisgICAgICAgIFNUUklOR0lGWV9DSVBIRVIoRUNESEVfRUNEU0FfV0lUSF9D
SEFDSEEyMF9QT0xZMTMwNV9TSEEyNTYpOworICAgICAgICBTVFJJTkdJRllfQ0lQSEVSKEFFU18x
MjhfR0NNX1NIQTI1Nik7CisgICAgICAgIFNUUklOR0lGWV9DSVBIRVIoQUVTXzI1Nl9HQ01fU0hB
Mzg0KTsKKyAgICAgICAgU1RSSU5HSUZZX0NJUEhFUihDSEFDSEEyMF9QT0xZMTMwNV9TSEEyNTYp
OworICAgIH0KKworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiBlbXB0eVN0
cmluZygpOworCisjdW5kZWYgU1RSSU5HSUZZX0NJUEhFUgorfQorCisjZWxzZSAvLyBIQVZFKENG
TkVUV09SS19NRVRSSUNTX0FQSVNfVjQpCisKIHN0YXRpYyBTdHJpbmcgc3RyaW5nRm9yU1NMUHJv
dG9jb2woU1NMUHJvdG9jb2wgcHJvdG9jb2wpCiB7CiAgICAgQUxMT1dfREVQUkVDQVRFRF9ERUNM
QVJBVElPTlNfQkVHSU4KQEAgLTMyNSw3ICszODksOCBAQCBzdGF0aWMgU3RyaW5nIHN0cmluZ0Zv
clNTTENpcGhlcihTU0xDaXBoCiAKICN1bmRlZiBTVFJJTkdJRllfQ0lQSEVSCiB9Ci0jZW5kaWYK
KyNlbmRpZiAvLyBIQVZFKENGTkVUV09SS19NRVRSSUNTX0FQSVNfVjQpCisjZW5kaWYgLy8gSEFW
RShDRk5FVFdPUktfTkVHT1RJQVRFRF9TU0xfUFJPVE9DT0xfQ0lQSEVSKQogCiBAaW50ZXJmYWNl
IFdLTmV0d29ya1Nlc3Npb25EZWxlZ2F0ZSA6IE5TT2JqZWN0IDxOU1VSTFNlc3Npb25EYXRhRGVs
ZWdhdGUKICNpZiBIQVZFKE5TVVJMU0VTU0lPTl9XRUJTT0NLRVQpCkBAIC02NjksMTcgKzczNCwy
OCBAQCAtICh2b2lkKVVSTFNlc3Npb246KE5TVVJMU2Vzc2lvbiAqKXNlc3NpCiAgICAgICAgIG5l
dHdvcmtMb2FkTWV0cmljcy5tYXJrQ29tcGxldGUoKTsKICAgICAgICAgbmV0d29ya0xvYWRNZXRy
aWNzLnByb3RvY29sID0gU3RyaW5nKG0ubmV0d29ya1Byb3RvY29sTmFtZSk7CiAKLSAgICAgICAg
QUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNfQkVHSU4KICAgICAgICAgaWYgKG5ldHdvcmtE
YXRhVGFzay0+c2hvdWxkQ2FwdHVyZUV4dHJhTmV0d29ya0xvYWRNZXRyaWNzKCkpIHsKICAgICAg
ICAgICAgIG5ldHdvcmtMb2FkTWV0cmljcy5wcmlvcml0eSA9IHRvTmV0d29ya0xvYWRQcmlvcml0
eSh0YXNrLnByaW9yaXR5KTsKIAorI2lmIEhBVkUoQ0ZORVRXT1JLX01FVFJJQ1NfQVBJU19WNCkK
KyAgICAgICAgICAgIGlmIChhdXRvIHBvcnQgPSBbbS5yZW1vdGVQb3J0IHVuc2lnbmVkSW50VmFs
dWVdKQorICAgICAgICAgICAgICAgIG5ldHdvcmtMb2FkTWV0cmljcy5yZW1vdGVBZGRyZXNzID0g
bWFrZVN0cmluZyhTdHJpbmcobS5yZW1vdGVBZGRyZXNzKSwgJzonLCBwb3J0KTsKKyAgICAgICAg
ICAgIGVsc2UKKyAgICAgICAgICAgICAgICBuZXR3b3JrTG9hZE1ldHJpY3MucmVtb3RlQWRkcmVz
cyA9IG0ucmVtb3RlQWRkcmVzczsKKyNlbHNlCiAgICAgICAgICAgICBuZXR3b3JrTG9hZE1ldHJp
Y3MucmVtb3RlQWRkcmVzcyA9IFN0cmluZyhtLl9yZW1vdGVBZGRyZXNzQW5kUG9ydCk7CisjZW5k
aWYKICAgICAgICAgICAgIG5ldHdvcmtMb2FkTWV0cmljcy5jb25uZWN0aW9uSWRlbnRpZmllciA9
IFN0cmluZyhbbS5fY29ubmVjdGlvbklkZW50aWZpZXIgVVVJRFN0cmluZ10pOwogCiAjaWYgSEFW
RShDRk5FVFdPUktfTkVHT1RJQVRFRF9TU0xfUFJPVE9DT0xfQ0lQSEVSKQorI2lmIEhBVkUoQ0ZO
RVRXT1JLX01FVFJJQ1NfQVBJU19WNCkKKyAgICAgICAgICAgIG5ldHdvcmtMb2FkTWV0cmljcy50
bHNQcm90b2NvbCA9IHN0cmluZ0ZvclRMU1Byb3RvY29sVmVyc2lvbigodGxzX3Byb3RvY29sX3Zl
cnNpb25fdClbbS5uZWdvdGlhdGVkVExTUHJvdG9jb2xWZXJzaW9uIHVuc2lnbmVkU2hvcnRWYWx1
ZV0pOworICAgICAgICAgICAgbmV0d29ya0xvYWRNZXRyaWNzLnRsc0NpcGhlciA9IHN0cmluZ0Zv
clRMU0NpcGhlclN1aXRlKCh0bHNfY2lwaGVyc3VpdGVfdClbbS5uZWdvdGlhdGVkVExTQ2lwaGVy
U3VpdGUgdW5zaWduZWRTaG9ydFZhbHVlXSk7CisjZWxzZQogICAgICAgICAgICAgbmV0d29ya0xv
YWRNZXRyaWNzLnRsc1Byb3RvY29sID0gc3RyaW5nRm9yU1NMUHJvdG9jb2wobS5fbmVnb3RpYXRl
ZFRMU1Byb3RvY29sKTsKICAgICAgICAgICAgIG5ldHdvcmtMb2FkTWV0cmljcy50bHNDaXBoZXIg
PSBzdHJpbmdGb3JTU0xDaXBoZXIobS5fbmVnb3RpYXRlZFRMU0NpcGhlcik7CiAjZW5kaWYKKyNl
bmRpZgogCiAgICAgICAgICAgICBfX2Jsb2NrIFdlYkNvcmU6OkhUVFBIZWFkZXJNYXAgcmVxdWVz
dEhlYWRlcnM7CiAgICAgICAgICAgICBbbS5yZXF1ZXN0LmFsbEhUVFBIZWFkZXJGaWVsZHMgZW51
bWVyYXRlS2V5c0FuZE9iamVjdHNVc2luZ0Jsb2NrOl4oTlNTdHJpbmcgKm5hbWUsIE5TU3RyaW5n
ICp2YWx1ZSwgQk9PTCAqKSB7CkBAIC02OTMsMTAgKzc2OSwxNyBAQCAtICh2b2lkKVVSTFNlc3Np
b246KE5TVVJMU2Vzc2lvbiAqKXNlc3NpCiAgICAgICAgICAgICB1aW50NjRfdCByZXNwb25zZUJv
ZHlEZWNvZGVkU2l6ZSA9IDA7CiAKICAgICAgICAgICAgIGZvciAoTlNVUkxTZXNzaW9uVGFza1Ry
YW5zYWN0aW9uTWV0cmljcyAqdHJhbnNhY3Rpb25NZXRyaWNzIGluIG1ldHJpY3MudHJhbnNhY3Rp
b25NZXRyaWNzKSB7CisjaWYgSEFWRShDRk5FVFdPUktfTUVUUklDU19BUElTX1Y0KQorICAgICAg
ICAgICAgICAgIHJlcXVlc3RIZWFkZXJCeXRlc1NlbnQgKz0gdHJhbnNhY3Rpb25NZXRyaWNzLmNv
dW50T2ZSZXF1ZXN0SGVhZGVyQnl0ZXNTZW50OworICAgICAgICAgICAgICAgIHJlc3BvbnNlSGVh
ZGVyQnl0ZXNSZWNlaXZlZCArPSB0cmFuc2FjdGlvbk1ldHJpY3MuY291bnRPZlJlc3BvbnNlSGVh
ZGVyQnl0ZXNSZWNlaXZlZDsKKyAgICAgICAgICAgICAgICByZXNwb25zZUJvZHlCeXRlc1JlY2Vp
dmVkICs9IHRyYW5zYWN0aW9uTWV0cmljcy5jb3VudE9mUmVzcG9uc2VCb2R5Qnl0ZXNSZWNlaXZl
ZDsKKyAgICAgICAgICAgICAgICByZXNwb25zZUJvZHlEZWNvZGVkU2l6ZSArPSB0cmFuc2FjdGlv
bk1ldHJpY3MuY291bnRPZlJlc3BvbnNlQm9keUJ5dGVzQWZ0ZXJEZWNvZGluZyA/IHRyYW5zYWN0
aW9uTWV0cmljcy5jb3VudE9mUmVzcG9uc2VCb2R5Qnl0ZXNBZnRlckRlY29kaW5nIDogdHJhbnNh
Y3Rpb25NZXRyaWNzLmNvdW50T2ZSZXNwb25zZUJvZHlCeXRlc1JlY2VpdmVkOworI2Vsc2UKICAg
ICAgICAgICAgICAgICByZXF1ZXN0SGVhZGVyQnl0ZXNTZW50ICs9IHRyYW5zYWN0aW9uTWV0cmlj
cy5fcmVxdWVzdEhlYWRlckJ5dGVzU2VudDsKICAgICAgICAgICAgICAgICByZXNwb25zZUhlYWRl
ckJ5dGVzUmVjZWl2ZWQgKz0gdHJhbnNhY3Rpb25NZXRyaWNzLl9yZXNwb25zZUhlYWRlckJ5dGVz
UmVjZWl2ZWQ7CiAgICAgICAgICAgICAgICAgcmVzcG9uc2VCb2R5Qnl0ZXNSZWNlaXZlZCArPSB0
cmFuc2FjdGlvbk1ldHJpY3MuX3Jlc3BvbnNlQm9keUJ5dGVzUmVjZWl2ZWQ7CiAgICAgICAgICAg
ICAgICAgcmVzcG9uc2VCb2R5RGVjb2RlZFNpemUgKz0gdHJhbnNhY3Rpb25NZXRyaWNzLl9yZXNw
b25zZUJvZHlCeXRlc0RlY29kZWQgPyB0cmFuc2FjdGlvbk1ldHJpY3MuX3Jlc3BvbnNlQm9keUJ5
dGVzRGVjb2RlZCA6IHRyYW5zYWN0aW9uTWV0cmljcy5fcmVzcG9uc2VCb2R5Qnl0ZXNSZWNlaXZl
ZDsKKyNlbmRpZgogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBuZXR3b3JrTG9hZE1ldHJp
Y3MucmVxdWVzdEhlYWRlckJ5dGVzU2VudCA9IHJlcXVlc3RIZWFkZXJCeXRlc1NlbnQ7CkBAIC03
MDUsNyArNzg4LDYgQEAgLSAodm9pZClVUkxTZXNzaW9uOihOU1VSTFNlc3Npb24gKilzZXNzaQog
ICAgICAgICAgICAgbmV0d29ya0xvYWRNZXRyaWNzLnJlc3BvbnNlQm9keUJ5dGVzUmVjZWl2ZWQg
PSByZXNwb25zZUJvZHlCeXRlc1JlY2VpdmVkOwogICAgICAgICAgICAgbmV0d29ya0xvYWRNZXRy
aWNzLnJlc3BvbnNlQm9keURlY29kZWRTaXplID0gcmVzcG9uc2VCb2R5RGVjb2RlZFNpemU7CiAg
ICAgICAgIH0KLSAgICAgICAgQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNfRU5ECiAgICAg
fQogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>380772</attachid>
            <date>2019-10-11 11:38:17 -0700</date>
            <delta_ts>2019-10-11 13:38:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-202825-20191011113817.patch</filename>
            <type>text/plain</type>
            <size>9566</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyNTA5ODMpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDEyIEBACisyMDE5LTEwLTEwICBBbGV4IENocmlzdGVuc2VuICA8
YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgT25seSB1c2UgQ0ZOZXR3b3JrIFNQ
SSBmb3IgbWV0cmljcyB3aGVyZSBuZWVkZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIwMjgyNQorCisgICAgICAgIFJldmlld2VkIGJ5IEpvc2VwaCBQ
ZWNvcmFyby4KKworICAgICAgICAqIHd0Zi9QbGF0Zm9ybS5oOgorCiAyMDE5LTEwLTA5ICBLZWl0
aCBSb2xsaW4gIDxrcm9sbGluQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1vdmUgc29tZSBzdXBw
b3J0IGZvciA8IGlPUyAxMwpJbmRleDogU291cmNlL1dURi93dGYvUGxhdGZvcm0uaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCShyZXZpc2lvbiAyNTA5ODMpCisrKyBT
b3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNTE2LDYgKzE1MTYs
MTAgQEAKICNkZWZpbmUgSEFWRV9DRk5FVFdPUktfTkVHT1RJQVRFRF9TU0xfUFJPVE9DT0xfQ0lQ
SEVSIDEKICNlbmRpZgogCisjaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9O
X01JTl9SRVFVSVJFRCA+PSAxMDE2MDApIHx8IChQTEFURk9STShJT1NfRkFNSUxZKSAmJiBfX0lQ
SE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxNDAwMDApCisjZGVmaW5lIEhBVkVfQ0ZO
RVRXT1JLX01FVFJJQ1NfQVBJU19WNCAxCisjZW5kaWYKKwogI2lmIFBMQVRGT1JNKE1BQykgJiYg
X19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1MDAKICNkZWZpbmUgSEFWRV9D
U0NIRUNLRklYRElTQUJMRSAxCiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1MTAx
MikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsx
LDEyIEBACisyMDE5LTEwLTExICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtp
dC5vcmc+CisKKyAgICAgICAgT25seSB1c2UgQ0ZOZXR3b3JrIFNQSSBmb3IgbWV0cmljcyB3aGVy
ZSBuZWVkZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIwMjgyNQorCisgICAgICAgIFJldmlld2VkIGJ5IEpvc2VwaCBQZWNvcmFyby4KKworICAgICAg
ICAqIHBsYXRmb3JtL25ldHdvcmsvTmV0d29ya0xvYWRNZXRyaWNzLmg6CisKIDIwMTktMTAtMTEg
IEpvbmF0aGFuIEJlZGFyZCAgPGpiZWRhcmRAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3
ZWQsIHJvbGxpbmcgb3V0IHIyNTA5NDUuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL05ldHdvcmtMb2FkTWV0cmljcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya0xvYWRNZXRyaWNzLmgJKHJldmlzaW9uIDI1MDk4MykK
KysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya0xvYWRNZXRyaWNzLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTE3Niw4ICsxNzYsOCBAQCBwdWJsaWM6CiAKICAgICBIVFRQSGVh
ZGVyTWFwIHJlcXVlc3RIZWFkZXJzOwogCi0gICAgdWludDMyX3QgcmVxdWVzdEhlYWRlckJ5dGVz
U2VudDsKLSAgICB1aW50MzJfdCByZXNwb25zZUhlYWRlckJ5dGVzUmVjZWl2ZWQ7CisgICAgdWlu
dDY0X3QgcmVxdWVzdEhlYWRlckJ5dGVzU2VudDsKKyAgICB1aW50NjRfdCByZXNwb25zZUhlYWRl
ckJ5dGVzUmVjZWl2ZWQ7CiAgICAgdWludDY0X3QgcmVxdWVzdEJvZHlCeXRlc1NlbnQ7CiAgICAg
dWludDY0X3QgcmVzcG9uc2VCb2R5Qnl0ZXNSZWNlaXZlZDsKICAgICB1aW50NjRfdCByZXNwb25z
ZUJvZHlEZWNvZGVkU2l6ZTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNTA5ODgpCisrKyBTb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDE5
LTEwLTEwICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAg
ICAgICAgT25seSB1c2UgQ0ZOZXR3b3JrIFNQSSBmb3IgbWV0cmljcyB3aGVyZSBuZWVkZWQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMjgyNQorCisg
ICAgICAgIFJldmlld2VkIGJ5IEpvc2VwaCBQZWNvcmFyby4KKworICAgICAgICAqIE5ldHdvcmtQ
cm9jZXNzL2NvY29hL05ldHdvcmtTZXNzaW9uQ29jb2EubW06CisgICAgICAgIChzdHJpbmdGb3JT
U0xQcm90b2NvbFZlcnNpb24pOgorICAgICAgICAoLVtXS05ldHdvcmtTZXNzaW9uRGVsZWdhdGUg
VVJMU2Vzc2lvbjp0YXNrOmRpZEZpbmlzaENvbGxlY3RpbmdNZXRyaWNzOl0pOgorCiAyMDE5LTEw
LTEwICBCYXN1a2UgU3V6dWtpICA8QmFzdWtlLlN1enVraUBzb255LmNvbT4KIAogICAgICAgICBb
V2luQ2Fpcm9dIE1vdmUgcmVtb3RlIGNvbW11bmljYXRpb24gaGFuZGxpbmcgZnJvbSBSZW1vdGVJ
bnNwZWN0b3JTZXJ2ZXIgdG8gUmVtb3RlSW5zcGVjdG9yLgpJbmRleDogU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrU2Vzc2lvbkNvY29hLm1tCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Nlc3Npb25Db2NvYS5t
bQkocmV2aXNpb24gMjUwOTgzKQorKysgU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2Nv
YS9OZXR3b3JrU2Vzc2lvbkNvY29hLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xMTEsNiArMTExLDY4
IEBAIHN0YXRpYyBXZWJDb3JlOjpOZXR3b3JrTG9hZFByaW9yaXR5IHRvTmUKIH0KIAogI2lmIEhB
VkUoQ0ZORVRXT1JLX05FR09USUFURURfU1NMX1BST1RPQ09MX0NJUEhFUikKKyNpZiBIQVZFKENG
TkVUV09SS19NRVRSSUNTX0FQSVNfVjQpCitzdGF0aWMgU3RyaW5nIHN0cmluZ0ZvclRMU1Byb3Rv
Y29sVmVyc2lvbih0bHNfcHJvdG9jb2xfdmVyc2lvbl90IHByb3RvY29sKQoreworICAgIHN3aXRj
aCAocHJvdG9jb2wpIHsKKyAgICBjYXNlIHRsc19wcm90b2NvbF92ZXJzaW9uX1RMU3YxMDoKKyAg
ICAgICAgcmV0dXJuICJUTFMgMS4wIl9zOworICAgIGNhc2UgdGxzX3Byb3RvY29sX3ZlcnNpb25f
VExTdjExOgorICAgICAgICByZXR1cm4gIlRMUyAxLjEiX3M7CisgICAgY2FzZSB0bHNfcHJvdG9j
b2xfdmVyc2lvbl9UTFN2MTI6CisgICAgICAgIHJldHVybiAiVExTIDEuMiJfczsKKyAgICBjYXNl
IHRsc19wcm90b2NvbF92ZXJzaW9uX1RMU3YxMzoKKyAgICAgICAgcmV0dXJuICJUTFMgMS4zIl9z
OworICAgIGNhc2UgdGxzX3Byb3RvY29sX3ZlcnNpb25fRFRMU3YxMDoKKyAgICAgICAgcmV0dXJu
ICJEVExTIDEuMCJfczsKKyAgICBjYXNlIHRsc19wcm90b2NvbF92ZXJzaW9uX0RUTFN2MTI6Cisg
ICAgICAgIHJldHVybiAiRFRMUyAxLjIiX3M7CisgICAgfQorICAgIHJldHVybiB7IH07Cit9CisK
K3N0YXRpYyBTdHJpbmcgc3RyaW5nRm9yVExTQ2lwaGVyU3VpdGUodGxzX2NpcGhlcnN1aXRlX3Qg
c3VpdGUpCit7CisjZGVmaW5lIFNUUklOR0lGWV9DSVBIRVIoY2lwaGVyKSBcCisgICAgY2FzZSB0
bHNfY2lwaGVyc3VpdGVfIyNjaXBoZXI6IFwKKyAgICAgICAgcmV0dXJuICIiICNjaXBoZXIgIiJf
cworCisgICAgc3dpdGNoIChzdWl0ZSkgeworICAgICAgICBTVFJJTkdJRllfQ0lQSEVSKFJTQV9X
SVRIXzNERVNfRURFX0NCQ19TSEEpOworICAgICAgICBTVFJJTkdJRllfQ0lQSEVSKFJTQV9XSVRI
X0FFU18xMjhfQ0JDX1NIQSk7CisgICAgICAgIFNUUklOR0lGWV9DSVBIRVIoUlNBX1dJVEhfQUVT
XzI1Nl9DQkNfU0hBKTsKKyAgICAgICAgU1RSSU5HSUZZX0NJUEhFUihSU0FfV0lUSF9BRVNfMTI4
X0dDTV9TSEEyNTYpOworICAgICAgICBTVFJJTkdJRllfQ0lQSEVSKFJTQV9XSVRIX0FFU18yNTZf
R0NNX1NIQTM4NCk7CisgICAgICAgIFNUUklOR0lGWV9DSVBIRVIoUlNBX1dJVEhfQUVTXzEyOF9D
QkNfU0hBMjU2KTsKKyAgICAgICAgU1RSSU5HSUZZX0NJUEhFUihSU0FfV0lUSF9BRVNfMjU2X0NC
Q19TSEEyNTYpOworICAgICAgICBTVFJJTkdJRllfQ0lQSEVSKEVDREhFX0VDRFNBX1dJVEhfM0RF
U19FREVfQ0JDX1NIQSk7CisgICAgICAgIFNUUklOR0lGWV9DSVBIRVIoRUNESEVfRUNEU0FfV0lU
SF9BRVNfMTI4X0NCQ19TSEEpOworICAgICAgICBTVFJJTkdJRllfQ0lQSEVSKEVDREhFX0VDRFNB
X1dJVEhfQUVTXzI1Nl9DQkNfU0hBKTsKKyAgICAgICAgU1RSSU5HSUZZX0NJUEhFUihFQ0RIRV9S
U0FfV0lUSF8zREVTX0VERV9DQkNfU0hBKTsKKyAgICAgICAgU1RSSU5HSUZZX0NJUEhFUihFQ0RI
RV9SU0FfV0lUSF9BRVNfMTI4X0NCQ19TSEEpOworICAgICAgICBTVFJJTkdJRllfQ0lQSEVSKEVD
REhFX1JTQV9XSVRIX0FFU18yNTZfQ0JDX1NIQSk7CisgICAgICAgIFNUUklOR0lGWV9DSVBIRVIo
RUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0NCQ19TSEEyNTYpOworICAgICAgICBTVFJJTkdJRllf
Q0lQSEVSKEVDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9DQkNfU0hBMzg0KTsKKyAgICAgICAgU1RS
SU5HSUZZX0NJUEhFUihFQ0RIRV9SU0FfV0lUSF9BRVNfMTI4X0NCQ19TSEEyNTYpOworICAgICAg
ICBTVFJJTkdJRllfQ0lQSEVSKEVDREhFX1JTQV9XSVRIX0FFU18yNTZfQ0JDX1NIQTM4NCk7Cisg
ICAgICAgIFNUUklOR0lGWV9DSVBIRVIoRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEy
NTYpOworICAgICAgICBTVFJJTkdJRllfQ0lQSEVSKEVDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9H
Q01fU0hBMzg0KTsKKyAgICAgICAgU1RSSU5HSUZZX0NJUEhFUihFQ0RIRV9SU0FfV0lUSF9BRVNf
MTI4X0dDTV9TSEEyNTYpOworICAgICAgICBTVFJJTkdJRllfQ0lQSEVSKEVDREhFX1JTQV9XSVRI
X0FFU18yNTZfR0NNX1NIQTM4NCk7CisgICAgICAgIFNUUklOR0lGWV9DSVBIRVIoRUNESEVfUlNB
X1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDVfU0hBMjU2KTsKKyAgICAgICAgU1RSSU5HSUZZX0NJUEhF
UihFQ0RIRV9FQ0RTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1X1NIQTI1Nik7CisgICAgICAgIFNU
UklOR0lGWV9DSVBIRVIoQUVTXzEyOF9HQ01fU0hBMjU2KTsKKyAgICAgICAgU1RSSU5HSUZZX0NJ
UEhFUihBRVNfMjU2X0dDTV9TSEEzODQpOworICAgICAgICBTVFJJTkdJRllfQ0lQSEVSKENIQUNI
QTIwX1BPTFkxMzA1X1NIQTI1Nik7CisgICAgfQorCisgICAgcmV0dXJuIHsgfTsKKworI3VuZGVm
IFNUUklOR0lGWV9DSVBIRVIKK30KKworI2Vsc2UgLy8gSEFWRShDRk5FVFdPUktfTUVUUklDU19B
UElTX1Y0KQorCiBzdGF0aWMgU3RyaW5nIHN0cmluZ0ZvclNTTFByb3RvY29sKFNTTFByb3RvY29s
IHByb3RvY29sKQogewogICAgIEFMTE9XX0RFUFJFQ0FURURfREVDTEFSQVRJT05TX0JFR0lOCkBA
IC0zMjUsNyArMzg3LDggQEAgc3RhdGljIFN0cmluZyBzdHJpbmdGb3JTU0xDaXBoZXIoU1NMQ2lw
aAogCiAjdW5kZWYgU1RSSU5HSUZZX0NJUEhFUgogfQotI2VuZGlmCisjZW5kaWYgLy8gSEFWRShD
Rk5FVFdPUktfTUVUUklDU19BUElTX1Y0KQorI2VuZGlmIC8vIEhBVkUoQ0ZORVRXT1JLX05FR09U
SUFURURfU1NMX1BST1RPQ09MX0NJUEhFUikKIAogQGludGVyZmFjZSBXS05ldHdvcmtTZXNzaW9u
RGVsZWdhdGUgOiBOU09iamVjdCA8TlNVUkxTZXNzaW9uRGF0YURlbGVnYXRlCiAjaWYgSEFWRShO
U1VSTFNFU1NJT05fV0VCU09DS0VUKQpAQCAtNjY5LDE3ICs3MzIsMjggQEAgLSAodm9pZClVUkxT
ZXNzaW9uOihOU1VSTFNlc3Npb24gKilzZXNzaQogICAgICAgICBuZXR3b3JrTG9hZE1ldHJpY3Mu
bWFya0NvbXBsZXRlKCk7CiAgICAgICAgIG5ldHdvcmtMb2FkTWV0cmljcy5wcm90b2NvbCA9IFN0
cmluZyhtLm5ldHdvcmtQcm90b2NvbE5hbWUpOwogCi0gICAgICAgIEFMTE9XX0RFUFJFQ0FURURf
REVDTEFSQVRJT05TX0JFR0lOCiAgICAgICAgIGlmIChuZXR3b3JrRGF0YVRhc2stPnNob3VsZENh
cHR1cmVFeHRyYU5ldHdvcmtMb2FkTWV0cmljcygpKSB7CiAgICAgICAgICAgICBuZXR3b3JrTG9h
ZE1ldHJpY3MucHJpb3JpdHkgPSB0b05ldHdvcmtMb2FkUHJpb3JpdHkodGFzay5wcmlvcml0eSk7
CiAKKyNpZiBIQVZFKENGTkVUV09SS19NRVRSSUNTX0FQSVNfVjQpCisgICAgICAgICAgICBpZiAo
YXV0byBwb3J0ID0gW20ucmVtb3RlUG9ydCB1bnNpZ25lZEludFZhbHVlXSkKKyAgICAgICAgICAg
ICAgICBuZXR3b3JrTG9hZE1ldHJpY3MucmVtb3RlQWRkcmVzcyA9IG1ha2VTdHJpbmcoU3RyaW5n
KG0ucmVtb3RlQWRkcmVzcyksICc6JywgcG9ydCk7CisgICAgICAgICAgICBlbHNlCisgICAgICAg
ICAgICAgICAgbmV0d29ya0xvYWRNZXRyaWNzLnJlbW90ZUFkZHJlc3MgPSBtLnJlbW90ZUFkZHJl
c3M7CisjZWxzZQogICAgICAgICAgICAgbmV0d29ya0xvYWRNZXRyaWNzLnJlbW90ZUFkZHJlc3Mg
PSBTdHJpbmcobS5fcmVtb3RlQWRkcmVzc0FuZFBvcnQpOworI2VuZGlmCiAgICAgICAgICAgICBu
ZXR3b3JrTG9hZE1ldHJpY3MuY29ubmVjdGlvbklkZW50aWZpZXIgPSBTdHJpbmcoW20uX2Nvbm5l
Y3Rpb25JZGVudGlmaWVyIFVVSURTdHJpbmddKTsKIAogI2lmIEhBVkUoQ0ZORVRXT1JLX05FR09U
SUFURURfU1NMX1BST1RPQ09MX0NJUEhFUikKKyNpZiBIQVZFKENGTkVUV09SS19NRVRSSUNTX0FQ
SVNfVjQpCisgICAgICAgICAgICBuZXR3b3JrTG9hZE1ldHJpY3MudGxzUHJvdG9jb2wgPSBzdHJp
bmdGb3JUTFNQcm90b2NvbFZlcnNpb24oKHRsc19wcm90b2NvbF92ZXJzaW9uX3QpW20ubmVnb3Rp
YXRlZFRMU1Byb3RvY29sVmVyc2lvbiB1bnNpZ25lZFNob3J0VmFsdWVdKTsKKyAgICAgICAgICAg
IG5ldHdvcmtMb2FkTWV0cmljcy50bHNDaXBoZXIgPSBzdHJpbmdGb3JUTFNDaXBoZXJTdWl0ZSgo
dGxzX2NpcGhlcnN1aXRlX3QpW20ubmVnb3RpYXRlZFRMU0NpcGhlclN1aXRlIHVuc2lnbmVkU2hv
cnRWYWx1ZV0pOworI2Vsc2UKICAgICAgICAgICAgIG5ldHdvcmtMb2FkTWV0cmljcy50bHNQcm90
b2NvbCA9IHN0cmluZ0ZvclNTTFByb3RvY29sKG0uX25lZ290aWF0ZWRUTFNQcm90b2NvbCk7CiAg
ICAgICAgICAgICBuZXR3b3JrTG9hZE1ldHJpY3MudGxzQ2lwaGVyID0gc3RyaW5nRm9yU1NMQ2lw
aGVyKG0uX25lZ290aWF0ZWRUTFNDaXBoZXIpOwogI2VuZGlmCisjZW5kaWYKIAogICAgICAgICAg
ICAgX19ibG9jayBXZWJDb3JlOjpIVFRQSGVhZGVyTWFwIHJlcXVlc3RIZWFkZXJzOwogICAgICAg
ICAgICAgW20ucmVxdWVzdC5hbGxIVFRQSGVhZGVyRmllbGRzIGVudW1lcmF0ZUtleXNBbmRPYmpl
Y3RzVXNpbmdCbG9jazpeKE5TU3RyaW5nICpuYW1lLCBOU1N0cmluZyAqdmFsdWUsIEJPT0wgKikg
ewpAQCAtNjkzLDEwICs3NjcsMTcgQEAgLSAodm9pZClVUkxTZXNzaW9uOihOU1VSTFNlc3Npb24g
KilzZXNzaQogICAgICAgICAgICAgdWludDY0X3QgcmVzcG9uc2VCb2R5RGVjb2RlZFNpemUgPSAw
OwogCiAgICAgICAgICAgICBmb3IgKE5TVVJMU2Vzc2lvblRhc2tUcmFuc2FjdGlvbk1ldHJpY3Mg
KnRyYW5zYWN0aW9uTWV0cmljcyBpbiBtZXRyaWNzLnRyYW5zYWN0aW9uTWV0cmljcykgeworI2lm
IEhBVkUoQ0ZORVRXT1JLX01FVFJJQ1NfQVBJU19WNCkKKyAgICAgICAgICAgICAgICByZXF1ZXN0
SGVhZGVyQnl0ZXNTZW50ICs9IHRyYW5zYWN0aW9uTWV0cmljcy5jb3VudE9mUmVxdWVzdEhlYWRl
ckJ5dGVzU2VudDsKKyAgICAgICAgICAgICAgICByZXNwb25zZUhlYWRlckJ5dGVzUmVjZWl2ZWQg
Kz0gdHJhbnNhY3Rpb25NZXRyaWNzLmNvdW50T2ZSZXNwb25zZUhlYWRlckJ5dGVzUmVjZWl2ZWQ7
CisgICAgICAgICAgICAgICAgcmVzcG9uc2VCb2R5Qnl0ZXNSZWNlaXZlZCArPSB0cmFuc2FjdGlv
bk1ldHJpY3MuY291bnRPZlJlc3BvbnNlQm9keUJ5dGVzUmVjZWl2ZWQ7CisgICAgICAgICAgICAg
ICAgcmVzcG9uc2VCb2R5RGVjb2RlZFNpemUgKz0gdHJhbnNhY3Rpb25NZXRyaWNzLmNvdW50T2ZS
ZXNwb25zZUJvZHlCeXRlc0FmdGVyRGVjb2RpbmcgPyB0cmFuc2FjdGlvbk1ldHJpY3MuY291bnRP
ZlJlc3BvbnNlQm9keUJ5dGVzQWZ0ZXJEZWNvZGluZyA6IHRyYW5zYWN0aW9uTWV0cmljcy5jb3Vu
dE9mUmVzcG9uc2VCb2R5Qnl0ZXNSZWNlaXZlZDsKKyNlbHNlCiAgICAgICAgICAgICAgICAgcmVx
dWVzdEhlYWRlckJ5dGVzU2VudCArPSB0cmFuc2FjdGlvbk1ldHJpY3MuX3JlcXVlc3RIZWFkZXJC
eXRlc1NlbnQ7CiAgICAgICAgICAgICAgICAgcmVzcG9uc2VIZWFkZXJCeXRlc1JlY2VpdmVkICs9
IHRyYW5zYWN0aW9uTWV0cmljcy5fcmVzcG9uc2VIZWFkZXJCeXRlc1JlY2VpdmVkOwogICAgICAg
ICAgICAgICAgIHJlc3BvbnNlQm9keUJ5dGVzUmVjZWl2ZWQgKz0gdHJhbnNhY3Rpb25NZXRyaWNz
Ll9yZXNwb25zZUJvZHlCeXRlc1JlY2VpdmVkOwogICAgICAgICAgICAgICAgIHJlc3BvbnNlQm9k
eURlY29kZWRTaXplICs9IHRyYW5zYWN0aW9uTWV0cmljcy5fcmVzcG9uc2VCb2R5Qnl0ZXNEZWNv
ZGVkID8gdHJhbnNhY3Rpb25NZXRyaWNzLl9yZXNwb25zZUJvZHlCeXRlc0RlY29kZWQgOiB0cmFu
c2FjdGlvbk1ldHJpY3MuX3Jlc3BvbnNlQm9keUJ5dGVzUmVjZWl2ZWQ7CisjZW5kaWYKICAgICAg
ICAgICAgIH0KIAogICAgICAgICAgICAgbmV0d29ya0xvYWRNZXRyaWNzLnJlcXVlc3RIZWFkZXJC
eXRlc1NlbnQgPSByZXF1ZXN0SGVhZGVyQnl0ZXNTZW50OwpAQCAtNzA1LDcgKzc4Niw2IEBAIC0g
KHZvaWQpVVJMU2Vzc2lvbjooTlNVUkxTZXNzaW9uICopc2Vzc2kKICAgICAgICAgICAgIG5ldHdv
cmtMb2FkTWV0cmljcy5yZXNwb25zZUJvZHlCeXRlc1JlY2VpdmVkID0gcmVzcG9uc2VCb2R5Qnl0
ZXNSZWNlaXZlZDsKICAgICAgICAgICAgIG5ldHdvcmtMb2FkTWV0cmljcy5yZXNwb25zZUJvZHlE
ZWNvZGVkU2l6ZSA9IHJlc3BvbnNlQm9keURlY29kZWRTaXplOwogICAgICAgICB9Ci0gICAgICAg
IEFMTE9XX0RFUFJFQ0FURURfREVDTEFSQVRJT05TX0VORAogICAgIH0KIH0KIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>