<?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>216585</bug_id>
          
          <creation_ts>2020-09-15 14:39:17 -0700</creation_ts>
          <short_desc>Move TLS certificate bypass SPI from WebProcessPool to WebsiteDataStore</short_desc>
          <delta_ts>2020-09-16 11:22:15 -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>berto</cc>
    
    <cc>cgarcia</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>gustavo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1688855</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2020-09-15 14:39:17 -0700</bug_when>
    <thetext>Move TLS certificate bypass SPI from WebProcessPool to WebsiteDataStore</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1688861</commentid>
    <comment_count>1</comment_count>
      <attachid>408865</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2020-09-15 14:45:19 -0700</bug_when>
    <thetext>Created attachment 408865
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1688863</commentid>
    <comment_count>2</comment_count>
      <attachid>408865</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2020-09-15 14:46:06 -0700</bug_when>
    <thetext>Comment on attachment 408865
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1688864</commentid>
    <comment_count>3</comment_count>
      <attachid>408866</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2020-09-15 14:57:14 -0700</bug_when>
    <thetext>Created attachment 408866
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1688865</commentid>
    <comment_count>4</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2020-09-15 14:57:52 -0700</bug_when>
    <thetext>Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See https://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1688871</commentid>
    <comment_count>5</comment_count>
      <attachid>408867</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2020-09-15 15:10:09 -0700</bug_when>
    <thetext>Created attachment 408867
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1688924</commentid>
    <comment_count>6</comment_count>
      <attachid>408867</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2020-09-15 16:54:26 -0700</bug_when>
    <thetext>Comment on attachment 408867
Patch

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

&gt; Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStore.mm:636
&gt; +- (void)_allowTLSCertificate:(NSArray *)certificateChain forHost:(NSString *)host

I&apos;m going to call this _allowCertificateChain:forHost: because a certificate is one element of the array.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1688925</commentid>
    <comment_count>7</comment_count>
      <attachid>408867</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2020-09-15 16:58:34 -0700</bug_when>
    <thetext>Comment on attachment 408867
Patch

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

&gt;&gt; Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStore.mm:636
&gt;&gt; +- (void)_allowTLSCertificate:(NSArray *)certificateChain forHost:(NSString *)host
&gt; 
&gt; I&apos;m going to call this _allowCertificateChain:forHost: because a certificate is one element of the array.

_allowTLSCertificateChain</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1688934</commentid>
    <comment_count>8</comment_count>
      <attachid>408880</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2020-09-15 17:28:10 -0700</bug_when>
    <thetext>Created attachment 408880
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1689065</commentid>
    <comment_count>9</comment_count>
      <attachid>408880</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2020-09-16 05:29:09 -0700</bug_when>
    <thetext>Comment on attachment 408880
Patch

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

&gt; Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp:1628
&gt; -    context-&gt;priv-&gt;processPool-&gt;allowSpecificHTTPSCertificateForHost(webCertificateInfo.ptr(), String::fromUTF8(host));
&gt; +    WebsiteDataStore::defaultDataStore()-&gt;allowSpecificHTTPSCertificateForHost(webCertificateInfo.ptr(), String::fromUTF8(host));

This should be:

auto&amp; websiteDataStore = webkitWebsiteDataManagerGetDataStore(context-&gt;priv-&gt;websiteDataManager.get());
websiteDataStore.allowSpecificHTTPSCertificateForHost(webCertificateInfo.ptr(), String::fromUTF8(host));

The GLib API doesn&apos;t use the default data store.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1689124</commentid>
    <comment_count>10</comment_count>
      <attachid>408927</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2020-09-16 09:28:52 -0700</bug_when>
    <thetext>Created attachment 408927
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1689166</commentid>
    <comment_count>11</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-09-16 11:21:10 -0700</bug_when>
    <thetext>Committed r267155: &lt;https://trac.webkit.org/changeset/267155&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 408927.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1689167</commentid>
    <comment_count>12</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-09-16 11:22:15 -0700</bug_when>
    <thetext>&lt;rdar://problem/69001622&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408865</attachid>
            <date>2020-09-15 14:45:19 -0700</date>
            <delta_ts>2020-09-15 14:57:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216585-20200915144519.patch</filename>
            <type>text/plain</type>
            <size>13015</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY3MDkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGJlMGIwMzAxYzg4MWE5ZDlj
YjUzYmJhYmU0MTg0Zjc4Mjg4M2EzZjcuLjJkN2ViNGRmZjczZDdlOTM2OGRiNWU4YTQwYzJjZWU5
ZGQyMDdhM2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzQgQEAKKzIwMjAtMDktMTUgIEFsZXggQ2hy
aXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBNb3ZlIFRMUyBj
ZXJ0aWZpY2F0ZSBieXBhc3MgU1BJIGZyb20gV2ViUHJvY2Vzc1Bvb2wgdG8gV2Vic2l0ZURhdGFT
dG9yZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE2
NTg1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSXQg
d2lsbCBldmVudHVhbGx5IGJlIHJlcGxhY2VkIGJ5IFdLTmF2aWdhdGlvbkRlbGVnYXRlJ3MgZGlk
UmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlIGluIHJkYXI6Ly8zMDY1NTc0MAorICAgICAg
ICBidXQgdGhlIFNQSSBuZWVkcyB0byBjb250aW51ZSB0byBleGlzdCBzb21ld2hlcmUgdW50aWwg
dGhhdCBpcyBjb21wbGV0ZS4KKyAgICAgICAgSW4gdGhlIG1lYW50aW1lLCBpdCBuZWVkcyB0byBi
ZSBtb3ZlZCBmcm9tIHRoZSBXZWJQcm9jZXNzUG9vbCBmb3IgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIxNjA0MQorICAgICAgICBhbmQgcmRhcjovL3Byb2JsZW0vNjg5
NDI4MTUgdHJhY2tzIFNhZmFyaSdzIGFkb3B0aW9uIG9mIHRoZSBTUEkgaW50cm9kdWNlZCBoZXJl
LCB3aGljaCBJIHdpbGwgZml4IHdpdGhpbiBhbiBob3VyIG9mIGxhbmRpbmcgdGhpcy4KKworICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHQuY3BwOgorICAgICAgICAoV0tDb250ZXh0
QWxsb3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KToKKyAgICAgICAgKiBVSVByb2Nl
c3MvQVBJL0MvV0tDb250ZXh0UHJpdmF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tQcm9jZXNzR3JvdXAubW06CisgICAgICAgICgtW1dLUHJvY2Vzc0dyb3VwIF9zZXRBbGxv
d3NTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGU6Zm9ySG9zdDpdKTogRGVsZXRlZC4KKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJvY2Vzc0dyb3VwUHJpdmF0ZS5oOgorICAgICAgICAq
IFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcm9jZXNzUG9vbC5tbToKKyAgICAgICAgKC1bV0tQcm9j
ZXNzUG9vbCBfc2V0QWxsb3dzU3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlOmZvckhvc3Q6XSk6Cisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1Byb2Nlc3NQb29sUHJpdmF0ZS5oOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJzaXRlRGF0YVN0b3JlLm1tOgorICAgICAg
ICAoLVtXS1dlYnNpdGVEYXRhU3RvcmUgX2FsbG93VExTQ2VydGlmaWNhdGU6Zm9ySG9zdDpdKToK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0ZURhdGFTdG9yZVByaXZhdGUu
aDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQcm9jZXNzUG9vbDo6YWxsb3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0
KTogRGVsZXRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaDoKKyAgICAg
ICAgKiBVSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5jcHA6CisgICAgICAg
IChXZWJLaXQ6OldlYnNpdGVEYXRhU3RvcmU6OmFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRl
Rm9ySG9zdCk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3Rv
cmUuaDoKKwogMjAyMC0wOS0xNSAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJr
aXQub3JnPgogCiAgICAgICAgIE1vdmUgV0tDb250ZXh0Q2xlYXJDYWNoZWRDcmVkZW50aWFscyBT
UEkgdG8gV0tXZWJzaXRlRGF0YVN0b3JlQ2xlYXJDYWNoZWRDcmVkZW50aWFscwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0LmNwcCBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dC5jcHAKaW5kZXggZDEyY2FiYzc0MmE3Mzk1
MmU3MGMxZGNkNmYwYTJlNTBmN2E2MTUzMS4uY2QyZWUyNzUzMzk2Y2FhMDUwM2I1MzlmMTlhOTA3
YzcxOTUyN2M3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tD
b250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHQu
Y3BwCkBAIC00ODUsOSArNDg1LDggQEAgdm9pZCBXS0NvbnRleHRTZXRJY29uRGF0YWJhc2VQYXRo
KFdLQ29udGV4dFJlZiwgV0tTdHJpbmdSZWYpCiB7CiB9CiAKLXZvaWQgV0tDb250ZXh0QWxsb3dT
cGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KFdLQ29udGV4dFJlZiBjb250ZXh0UmVmLCBX
S0NlcnRpZmljYXRlSW5mb1JlZiBjZXJ0aWZpY2F0ZVJlZiwgV0tTdHJpbmdSZWYgaG9zdFJlZikK
K3ZvaWQgV0tDb250ZXh0QWxsb3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KFdLQ29u
dGV4dFJlZiwgV0tDZXJ0aWZpY2F0ZUluZm9SZWYsIFdLU3RyaW5nUmVmKQogewotICAgIFdlYktp
dDo6dG9JbXBsKGNvbnRleHRSZWYpLT5hbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhv
c3QoV2ViS2l0Ojp0b0ltcGwoY2VydGlmaWNhdGVSZWYpLCBXZWJLaXQ6OnRvSW1wbChob3N0UmVm
KS0+c3RyaW5nKCkpOwogfQogCiB2b2lkIFdLQ29udGV4dERpc2FibGVQcm9jZXNzVGVybWluYXRp
b24oV0tDb250ZXh0UmVmIGNvbnRleHRSZWYpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQy9XS0NvbnRleHRQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQy9XS0NvbnRleHRQcml2YXRlLmgKaW5kZXggMmZmNTNlOGM4Njc1NTQ4ZDRhNWMxYWUy
NzRjZDdhMDc2YjY3MzNiYi4uZWE3N2Q5ODcwZGZjNWE1MjFmNTUzY2M5N2IzNTJhMjlhNDJkNzBj
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0UHJp
dmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dFByaXZh
dGUuaApAQCAtNjgsNyArNjgsNyBAQCBXS19FWFBPUlQgdm9pZCBXS0NvbnRleHRTZXREaXNrQ2Fj
aGVTcGVjdWxhdGl2ZVZhbGlkYXRpb25FbmFibGVkKFdLQ29udGV4dFJlZiBjbwogCiBXS19FWFBP
UlQgdm9pZCBXS0NvbnRleHRTZXRJY29uRGF0YWJhc2VQYXRoKFdLQ29udGV4dFJlZiBjb250ZXh0
LCBXS1N0cmluZ1JlZiBpY29uRGF0YWJhc2VQYXRoKTsKIAotV0tfRVhQT1JUIHZvaWQgV0tDb250
ZXh0QWxsb3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KFdLQ29udGV4dFJlZiBjb250
ZXh0LCBXS0NlcnRpZmljYXRlSW5mb1JlZiBjZXJ0aWZpY2F0ZSwgV0tTdHJpbmdSZWYgaG9zdCk7
CitXS19FWFBPUlQgdm9pZCBXS0NvbnRleHRBbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZv
ckhvc3QoV0tDb250ZXh0UmVmIGNvbnRleHQsIFdLQ2VydGlmaWNhdGVJbmZvUmVmIGNlcnRpZmlj
YXRlLCBXS1N0cmluZ1JlZiBob3N0KSBXS19DX0FQSV9ERVBSRUNBVEVEOwogCiAvLyBGSVhNRTog
VGhpcyBpcyBhIHdvcmthcm91bmQgZm9yIHRlc3RpbmcgcHVycG9zZXMgb25seSBhbmQgc2hvdWxk
IGJlIHJlbW92ZWQgb25jZSBhIGJldHRlcgogLy8gc29sdXRpb24gaGFzIGJlZW4gZm91bmQgZm9y
IHRlc3RpbmcuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tQcm9jZXNzR3JvdXAubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQ
cm9jZXNzR3JvdXAubW0KaW5kZXggMmJjY2JiM2RiNjliODU5MzUxNWIyYTcxNTAwMWIyNDVmNjZi
Yzg4NC4uMDcxMmYzNTAwYWVkOGY0NTE2YzZjYzk1ZTk1OWJmMWJiMWYxNTJiMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJvY2Vzc0dyb3VwLm1tCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1Byb2Nlc3NHcm91cC5tbQpA
QCAtMjY5LDExICsyNjksNiBAQCBBTExPV19ERVBSRUNBVEVEX0lNUExFTUVOVEFUSU9OU19FTkQK
ICAgICByZXR1cm4gdG9BUEkoX3Byb2Nlc3NQb29sLmdldCgpKTsKIH0KIAotLSAodm9pZClfc2V0
QWxsb3dzU3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlOihOU0FycmF5ICopY2VydGlmaWNhdGVDaGFp
biBmb3JIb3N0OihOU1N0cmluZyAqKWhvc3QKLXsKLSAgICBfcHJvY2Vzc1Bvb2wtPmFsbG93U3Bl
Y2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdChXZWJLaXQ6OldlYkNlcnRpZmljYXRlSW5mbzo6
Y3JlYXRlKFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbygoX19icmlkZ2UgQ0ZBcnJheVJlZiljZXJ0
aWZpY2F0ZUNoYWluKSkucHRyKCksIGhvc3QpOwotfQotCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlM
WSkKIC0gKFdLR2VvbG9jYXRpb25Qcm92aWRlcklPUyAqKV9nZW9sb2NhdGlvblByb3ZpZGVyCiB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcm9jZXNz
R3JvdXBQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcm9j
ZXNzR3JvdXBQcml2YXRlLmgKaW5kZXggZmVmYTUyZTQ4MGU4OWI1NjM0NDAwZWZjNWViYzI2OGFj
MTU0ZWMxYi4uMmFiZDBjM2Y0YzllM2MyMDE4ZDhhZTdiY2UxYjdmZGY0NjU4MDdmMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJvY2Vzc0dyb3VwUHJp
dmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1Byb2Nlc3NH
cm91cFByaXZhdGUuaApAQCAtMzUsOCArMzUsNiBAQAogCiBAcHJvcGVydHkocmVhZG9ubHkpIFdL
Q29udGV4dFJlZiBfY29udGV4dFJlZjsKIAotLSAodm9pZClfc2V0QWxsb3dzU3BlY2lmaWNIVFRQ
U0NlcnRpZmljYXRlOihOU0FycmF5ICopY2VydGlmaWNhdGVDaGFpbiBmb3JIb3N0OihOU1N0cmlu
ZyAqKWhvc3Q7Ci0KICNpZiBUQVJHRVRfT1NfSVBIT05FCiBAcHJvcGVydHkocmVhZG9ubHkpIFdL
R2VvbG9jYXRpb25Qcm92aWRlcklPUyAqX2dlb2xvY2F0aW9uUHJvdmlkZXI7CiAjZW5kaWYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1Byb2Nlc3NQb29s
Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJvY2Vzc1Bvb2wubW0K
aW5kZXggODBkZDUyYTI0ZThhZWEwYzBmNTE3YjFjYjBlZDU3NzZlZDY0YjFjYy4uZmYzMDk0OTg2
YzI0M2QwNDc0ZjI1MmQzOTFlNmNjYjc0ZjFmZWQ1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJvY2Vzc1Bvb2wubW0KKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJvY2Vzc1Bvb2wubW0KQEAgLTE4Nyw3ICsxODcsNiBA
QCBzdGF0aWMgV0tQcm9jZXNzUG9vbCAqc2hhcmVkUHJvY2Vzc1Bvb2w7CiAKIC0gKHZvaWQpX3Nl
dEFsbG93c1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZTooTlNBcnJheSAqKWNlcnRpZmljYXRlQ2hh
aW4gZm9ySG9zdDooTlNTdHJpbmcgKilob3N0CiB7Ci0gICAgX3Byb2Nlc3NQb29sLT5hbGxvd1Nw
ZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3QoV2ViS2l0OjpXZWJDZXJ0aWZpY2F0ZUluZm86
OmNyZWF0ZShXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8oKF9fYnJpZGdlIENGQXJyYXlSZWYpY2Vy
dGlmaWNhdGVDaGFpbikpLnB0cigpLCBob3N0KTsKIH0KIAogLSAodm9pZClfcmVnaXN0ZXJVUkxT
Y2hlbWVBc0NhbkRpc3BsYXlPbmx5SWZDYW5SZXF1ZXN0OihOU1N0cmluZyAqKXNjaGVtZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJvY2Vzc1Bvb2xQ
cml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcm9jZXNzUG9v
bFByaXZhdGUuaAppbmRleCAyYTBmNWU2ZGVlNjg3NGFhMDgzZjQ4MGNlMjg1ZDUyNmEyMzhmNGNm
Li5jYmI2Mjc3NTNjNGRmYjA2NzUxYTMzMTI0NGNjNjUyNTNjODRjMTUyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcm9jZXNzUG9vbFByaXZhdGUuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcm9jZXNzUG9vbFByaXZh
dGUuaApAQCAtNDgsNyArNDgsNyBAQAogCiBAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkp
IF9XS1Byb2Nlc3NQb29sQ29uZmlndXJhdGlvbiAqX2NvbmZpZ3VyYXRpb247CiAKLS0gKHZvaWQp
X3NldEFsbG93c1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZTooTlNBcnJheSAqKWNlcnRpZmljYXRl
Q2hhaW4gZm9ySG9zdDooTlNTdHJpbmcgKilob3N0OworLSAodm9pZClfc2V0QWxsb3dzU3BlY2lm
aWNIVFRQU0NlcnRpZmljYXRlOihOU0FycmF5ICopY2VydGlmaWNhdGVDaGFpbiBmb3JIb3N0OihO
U1N0cmluZyAqKWhvc3QgV0tfQVBJX0RFUFJFQ0FURURfV0lUSF9SRVBMQUNFTUVOVCgiV0tXZWJz
aXRlRGF0YVN0b3JlLl9hbGxvd1RMU0NlcnRpZmljYXRlOmZvckhvc3Q6IiwgbWFjb3MoMTAuMTAs
IFdLX01BQ19UQkEpLCBpb3MoOC4wLCBXS19JT1NfVEJBKSk7CiAtICh2b2lkKV9zZXRDYW5IYW5k
bGVIVFRQU1NlcnZlclRydXN0RXZhbHVhdGlvbjooQk9PTCl2YWx1ZSBXS19BUElfREVQUkVDQVRF
RF9XSVRIX1JFUExBQ0VNRU5UKCJfV0tXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbi5mYXN0
U2VydmVyVHJ1c3RFdmFsdWF0aW9uRW5hYmxlZCIsIG1hY29zKDEwLjExLCBXS19NQUNfVEJBKSwg
aW9zKDkuMCwgV0tfSU9TX1RCQSkpOwogLSAodm9pZClfc2V0Q29va2llQWNjZXB0UG9saWN5OihO
U0hUVFBDb29raWVBY2NlcHRQb2xpY3kpcG9saWN5IFdLX0FQSV9ERVBSRUNBVEVEX1dJVEhfUkVQ
TEFDRU1FTlQoIldLSFRUUENvb2tpZVN0b3JlLl9zZXRDb29raWVBY2NlcHRQb2xpY3k6Y29tcGxl
dGlvbkhhbmRsZXI6IiwgbWFjb3MoMTAuMTAsIFdLX01BQ19UQkEpLCBpb3MoOC4wLCBXS19JT1Nf
VEJBKSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9X
S1dlYnNpdGVEYXRhU3RvcmUubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tXZWJzaXRlRGF0YVN0b3JlLm1tCmluZGV4IGVmOTBlOGJmNDg1MTNkYTcyMjljZTlmZDIyZjA3
ZjUxZmU1MTQ4YWUuLmYyMjFiMjcyYThmOTBhODUwYzc3MGQ3NDNmODZiMzk5MmJlNTNjMTMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYnNpdGVEYXRh
U3RvcmUubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0
ZURhdGFTdG9yZS5tbQpAQCAtNjMzLDYgKzYzMywxMSBAQCBzdGF0aWMgVmVjdG9yPFdlYktpdDo6
V2Vic2l0ZURhdGFSZWNvcmQ+IHRvV2Vic2l0ZURhdGFSZWNvcmRzKE5TQXJyYXkgKmRhdGFSZWNv
cgogICAgIHJldHVybiB3cmFwcGVyKF93ZWJzaXRlRGF0YVN0b3JlLT5jb25maWd1cmF0aW9uKCku
Y29weSgpKTsKIH0KIAorLSAodm9pZClfYWxsb3dUTFNDZXJ0aWZpY2F0ZTooTlNBcnJheSAqKWNl
cnRpZmljYXRlQ2hhaW4gZm9ySG9zdDooTlNTdHJpbmcgKilob3N0Cit7CisgICAgX3dlYnNpdGVE
YXRhU3RvcmUtPmFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdChXZWJLaXQ6Oldl
YkNlcnRpZmljYXRlSW5mbzo6Y3JlYXRlKFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbygoX19icmlk
Z2UgQ0ZBcnJheVJlZiljZXJ0aWZpY2F0ZUNoYWluKSkucHRyKCksIGhvc3QpOworfQorCiAtICh2
b2lkKV9hcHBCb3VuZERvbWFpbnM6KHZvaWQgKF4pKE5TQXJyYXk8TlNTdHJpbmcgKj4gKikpY29t
cGxldGlvbkhhbmRsZXIKIHsKICNpZiBFTkFCTEUoQVBQX0JPVU5EX0RPTUFJTlMpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJzaXRlRGF0YVN0b3Jl
UHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0ZURh
dGFTdG9yZVByaXZhdGUuaAppbmRleCBmY2NjNmI1OTdlZjM3N2U3YzA0ZDkyZGI2NzBiZDQxMzVk
ODYxMWY3Li44Y2FiNWVmYTJmYzA1NzdkM2U0MzI4MTFmZGNhZjFiMjU5Yzk1Y2RjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJzaXRlRGF0YVN0b3Jl
UHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYnNp
dGVEYXRhU3RvcmVQcml2YXRlLmgKQEAgLTgxLDYgKzgxLDggQEAgdHlwZWRlZiBOU19PUFRJT05T
KE5TVUludGVnZXIsIF9XS1dlYnNpdGVEYXRhU3RvcmVGZXRjaE9wdGlvbnMpIHsKIC0gKHZvaWQp
X2FwcEJvdW5kRG9tYWluczoodm9pZCAoXikoTlNBcnJheTxOU1N0cmluZyAqPiAqKSljb21wbGV0
aW9uSGFuZGxlciBXS19BUElfQVZBSUxBQkxFKG1hY29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9T
X1RCQSkpOwogLSAodm9pZClfYXBwQm91bmRTY2hlbWVzOih2b2lkICheKShOU0FycmF5PE5TU3Ry
aW5nICo+ICopKWNvbXBsZXRpb25IYW5kbGVyIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFD
X1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CiAKKy0gKHZvaWQpX2FsbG93VExTQ2VydGlmaWNhdGU6
KE5TQXJyYXkgKiljZXJ0aWZpY2F0ZUNoYWluIGZvckhvc3Q6KE5TU3RyaW5nICopaG9zdCBXS19B
UElfQVZBSUxBQkxFKG1hY29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOworCiAtICh2
b2lkKV9yZW5hbWVPcmlnaW46KE5TVVJMICopb2xkTmFtZSB0bzooTlNVUkwgKiluZXdOYW1lIGZv
ckRhdGFPZlR5cGVzOihOU1NldDxOU1N0cmluZyAqPiAqKWRhdGFUeXBlcyBjb21wbGV0aW9uSGFu
ZGxlcjoodm9pZCAoXikodm9pZCkpY29tcGxldGlvbkhhbmRsZXI7CiAKIEBwcm9wZXJ0eSAobnVs
bGFibGUsIG5vbmF0b21pYywgd2VhaykgaWQgPF9XS1dlYnNpdGVEYXRhU3RvcmVEZWxlZ2F0ZT4g
X2RlbGVnYXRlIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoMTAuMTUpLCBpb3MoMTMuMCkpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCmluZGV4IDhkZjFmYTM2NGYz
MGMzOWE4ZGE1Njg3M2Q2ZGE2YWUzNjNiOWVlYjIuLjA5ZDk3ZDE3NTg0ZDY5N2ZhM2M1NDAyMDhj
NTAzNjEwODllNjc1YmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBy
b2Nlc3NQb29sLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9v
bC5jcHAKQEAgLTE4MzgsMTIgKzE4MzgsNiBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjpjbGVhckxl
Z2FjeVByaXZhdGVCcm93c2luZ0xvY2FsU3RvcmFnZShDb21wbGV0aW9uSGFuZGxlcjx2bwogICAg
IGNvbXBsZXRpb25IYW5kbGVyKCk7CiB9CiAKLXZvaWQgV2ViUHJvY2Vzc1Bvb2w6OmFsbG93U3Bl
Y2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdChjb25zdCBXZWJDZXJ0aWZpY2F0ZUluZm8qIGNl
cnRpZmljYXRlLCBjb25zdCBTdHJpbmcmIGhvc3QpCi17Ci0gICAgZW5zdXJlTmV0d29ya1Byb2Nl
c3MoKTsKLSAgICBtX25ldHdvcmtQcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpOZXR3b3JrUHJvY2Vz
czo6QWxsb3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KGNlcnRpZmljYXRlLT5jZXJ0
aWZpY2F0ZUluZm8oKSwgaG9zdCksIDApOwotfQotCiB2b2lkIFdlYlByb2Nlc3NQb29sOjp1cGRh
dGVBdXRvbWF0aW9uQ2FwYWJpbGl0aWVzKCkgY29uc3QKIHsKICNpZiBFTkFCTEUoUkVNT1RFX0lO
U1BFQ1RPUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQ
b29sLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oCmluZGV4IDY3
MzE1YmQ4ZjM3ZmM4ZDBkYmMwYjkxMjdhNjhmYzFiOGVjZjUxZjQuLjEzM2MxYjk2M2QwYTdhNjA0
N2NlMTc3M2E5YzFhNWVjNGRjYThhMjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlByb2Nlc3NQb29sLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJv
Y2Vzc1Bvb2wuaApAQCAtMzM3LDggKzMzNyw2IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgcmVwb3J0
V2ViQ29udGVudENQVVRpbWUoU2Vjb25kcyBjcHVUaW1lLCB1aW50NjRfdCBhY3Rpdml0eVN0YXRl
KTsKIAotICAgIHZvaWQgYWxsb3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KGNvbnN0
IFdlYkNlcnRpZmljYXRlSW5mbyosIGNvbnN0IFN0cmluZyYgaG9zdCk7Ci0KICAgICBXZWJQcm9j
ZXNzUHJveHkmIHByb2Nlc3NGb3JSZWdpc3RyYWJsZURvbWFpbihXZWJzaXRlRGF0YVN0b3JlJiwg
V2ViUGFnZVByb3h5KiwgY29uc3QgV2ViQ29yZTo6UmVnaXN0cmFibGVEb21haW4mKTsgLy8gV2ls
bCByZXR1cm4gYW4gZXhpc3Rpbmcgb25lIGlmIGxpbWl0IGlzIG1ldCBvciBkdWUgdG8gY2FjaGlu
Zy4KIAogICAgIHZvaWQgcHJld2FybVByb2Nlc3MoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuY3BwIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5jcHAKaW5kZXggNGY4
MDU0MmExMjdlNjQyOTliMTU0YTFmNTZlMmQ4Zjk4MDQ0YzFkYy4uYmEyODA2MmM5ODQ3NzUyNDM2
Nzk1OGM2MmUxMGI1NDY2MjE2Y2E3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5jcHAKQEAgLTIwNTcsNiArMjA1
NywxMiBAQCBzdGF0aWMgU3RyaW5nIGNvbXB1dGVNZWRpYUtleUZpbGUoY29uc3QgU3RyaW5nJiBt
ZWRpYUtleURpcmVjdG9yeSkKICAgICByZXR1cm4gRmlsZVN5c3RlbTo6cGF0aEJ5QXBwZW5kaW5n
Q29tcG9uZW50KG1lZGlhS2V5RGlyZWN0b3J5LCAiU2VjdXJlU3RvcC5wbGlzdCIpOwogfQogCit2
b2lkIFdlYnNpdGVEYXRhU3RvcmU6OmFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9z
dChjb25zdCBXZWJDZXJ0aWZpY2F0ZUluZm8qIGNlcnRpZmljYXRlLCBjb25zdCBTdHJpbmcmIGhv
c3QpCit7CisgICAgZm9yIChhdXRvJiBwcm9jZXNzUG9vbCA6IHByb2Nlc3NQb29scygpKQorICAg
ICAgICBwcm9jZXNzUG9vbC0+ZW5zdXJlTmV0d29ya1Byb2Nlc3MoKS5zZW5kKE1lc3NhZ2VzOjpO
ZXR3b3JrUHJvY2Vzczo6QWxsb3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KGNlcnRp
ZmljYXRlLT5jZXJ0aWZpY2F0ZUluZm8oKSwgaG9zdCksIDApOworfQorCiBWZWN0b3I8V2ViQ29y
ZTo6U2VjdXJpdHlPcmlnaW5EYXRhPiBXZWJzaXRlRGF0YVN0b3JlOjptZWRpYUtleU9yaWdpbnMo
Y29uc3QgU3RyaW5nJiBtZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5KQogewogICAgIEFTU0VSVCgh
bWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeS5pc0VtcHR5KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5oIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5oCmluZGV4IDRl
MzcyYWRmNjI5NmI0MjhmMTBlY2MyOTJlYTdkZDM1MzUzNDdhYjkuLjkyYmI3ZjI4ZjUwMDAxMTEx
NjBiZTNhZjVhNzlhYjdhZTZmOWVlMTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmgKQEAgLTc2LDYgKzc2LDcgQEAg
Y2xhc3MgQXV0aGVudGljYXRvck1hbmFnZXI7CiBjbGFzcyBTZWNLZXlQcm94eVN0b3JlOwogY2xh
c3MgRGV2aWNlSWRIYXNoU2FsdFN0b3JhZ2U7CiBjbGFzcyBTT0F1dGhvcml6YXRpb25Db29yZGlu
YXRvcjsKK2NsYXNzIFdlYkNlcnRpZmljYXRlSW5mbzsKIGNsYXNzIFdlYlBhZ2VQcm94eTsKIGNs
YXNzIFdlYlByb2Nlc3NQb29sOwogY2xhc3MgV2ViUHJvY2Vzc1Byb3h5OwpAQCAtMjI3LDYgKzIy
OCw4IEBAIHB1YmxpYzoKICAgICBjb25zdCBTdHJpbmcmIHJlc29sdmVkUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc0RpcmVjdG9yeSgpIGNvbnN0IHsgcmV0dXJuIG1fcmVzb2x2ZWRDb25maWd1cmF0aW9u
LT5yZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGlyZWN0b3J5KCk7IH0KICAgICBjb25zdCBTdHJpbmcm
IHJlc29sdmVkSFNUU1N0b3JhZ2VEaXJlY3RvcnkoKSBjb25zdCB7IHJldHVybiBtX3Jlc29sdmVk
Q29uZmlndXJhdGlvbi0+aHN0c1N0b3JhZ2VEaXJlY3RvcnkoKTsgfQogCisgICAgdm9pZCBhbGxv
d1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3QoY29uc3QgV2ViQ2VydGlmaWNhdGVJbmZv
KiwgY29uc3QgU3RyaW5nJiBob3N0KTsKKwogICAgIERldmljZUlkSGFzaFNhbHRTdG9yYWdlJiBk
ZXZpY2VJZEhhc2hTYWx0U3RvcmFnZSgpIHsgcmV0dXJuIG1fZGV2aWNlSWRIYXNoU2FsdFN0b3Jh
Z2UuZ2V0KCk7IH0KIAogICAgIFdlYlByb2Nlc3NQb29sKiBwcm9jZXNzUG9vbEZvckNvb2tpZVN0
b3JhZ2VPcGVyYXRpb25zKCk7Cg==
</data>
<flag name="commit-queue"
          id="424378"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408866</attachid>
            <date>2020-09-15 14:57:14 -0700</date>
            <delta_ts>2020-09-15 15:10:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216585-20200915145713.patch</filename>
            <type>text/plain</type>
            <size>13258</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNjcxMDEpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM3IEBACisyMDIwLTA5LTE1ICBBbGV4IENocmlz
dGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgTW92ZSBUTFMgY2Vy
dGlmaWNhdGUgYnlwYXNzIFNQSSBmcm9tIFdlYlByb2Nlc3NQb29sIHRvIFdlYnNpdGVEYXRhU3Rv
cmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNjU4
NQorCisgICAgICAgIFJldmlld2VkIGJ5IEdlb2ZmcmV5IEdhcmVuLgorCisgICAgICAgIEl0IHdp
bGwgZXZlbnR1YWxseSBiZSByZXBsYWNlZCBieSBXS05hdmlnYXRpb25EZWxlZ2F0ZSdzIGRpZFJl
Y2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSBpbiByZGFyOi8vMzA2NTU3NDAKKyAgICAgICAg
YnV0IHRoZSBTUEkgbmVlZHMgdG8gY29udGludWUgdG8gZXhpc3Qgc29tZXdoZXJlIHVudGlsIHRo
YXQgaXMgY29tcGxldGUuCisgICAgICAgIEluIHRoZSBtZWFudGltZSwgaXQgbmVlZHMgdG8gYmUg
bW92ZWQgZnJvbSB0aGUgV2ViUHJvY2Vzc1Bvb2wgZm9yIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMTYwNDEKKyAgICAgICAgYW5kIHJkYXI6Ly9wcm9ibGVtLzY4OTQy
ODE1IHRyYWNrcyBTYWZhcmkncyBhZG9wdGlvbiBvZiB0aGUgU1BJIGludHJvZHVjZWQgaGVyZSwg
d2hpY2ggSSB3aWxsIGZpeCB3aXRoaW4gYW4gaG91ciBvZiBsYW5kaW5nIHRoaXMuCisKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0LmNwcDoKKyAgICAgICAgKFdLQ29udGV4dEFs
bG93U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdCk6CisgICAgICAgICogVUlQcm9jZXNz
L0FQSS9DL1dLQ29udGV4dFByaXZhdGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29h
L1dLUHJvY2Vzc0dyb3VwLm1tOgorICAgICAgICAoLVtXS1Byb2Nlc3NHcm91cCBfc2V0QWxsb3dz
U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlOmZvckhvc3Q6XSk6IERlbGV0ZWQuCisgICAgICAgICog
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS1Byb2Nlc3NHcm91cFByaXZhdGUuaDoKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL0NvY29hL1dLUHJvY2Vzc1Bvb2wubW06CisgICAgICAgICgtW1dLUHJvY2Vz
c1Bvb2wgX3NldEFsbG93c1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZTpmb3JIb3N0Ol0pOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcm9jZXNzUG9vbFByaXZhdGUuaDoKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0ZURhdGFTdG9yZS5tbToKKyAgICAgICAg
KC1bV0tXZWJzaXRlRGF0YVN0b3JlIF9hbGxvd1RMU0NlcnRpZmljYXRlOmZvckhvc3Q6XSk6Cisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYnNpdGVEYXRhU3RvcmVQcml2YXRlLmg6
CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFdlYkNvbnRleHQuY3BwOgorICAg
ICAgICAod2Via2l0X3dlYl9jb250ZXh0X2FsbG93X3Rsc19jZXJ0aWZpY2F0ZV9mb3JfaG9zdCk6
CisgICAgICAgIFVzZSB0aGUgZGVmYXVsdCBkYXRhIHN0b3JlIHVudGlsIHRoaXMgQVBJIGNhbiBi
ZSByZXBsYWNlZCBieSBBUEkgaW4gYSBkaWZmZXJlbnQgcGxhY2UuCisgICAgICAgICogVUlQcm9j
ZXNzL1dlYlByb2Nlc3NQb29sLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6
OmFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdCk6IERlbGV0ZWQuCisgICAgICAg
ICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYnNp
dGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJzaXRlRGF0
YVN0b3JlOjphbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3QpOgorICAgICAgICAq
IFVJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmg6CisKIDIwMjAtMDktMTUg
IFNhbSBXZWluaWcgIDx3ZWluaWdAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSBydW50aW1l
IHNldHRpbmcgZm9yIGVuYWJsaW5nL2Rpc2FibGluZyB0aGUgZmV0Y2ggQVBJCkluZGV4OiBTb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCShyZXZpc2lvbiAyNjcwNDIp
CisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTE4NTEsMTIgKzE4NTEsNiBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjpjbGVhckxl
Z2FjeVByaXZhdGVCCiAgICAgY29tcGxldGlvbkhhbmRsZXIoKTsKIH0KIAotdm9pZCBXZWJQcm9j
ZXNzUG9vbDo6YWxsb3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KGNvbnN0IFdlYkNl
cnRpZmljYXRlSW5mbyogY2VydGlmaWNhdGUsIGNvbnN0IFN0cmluZyYgaG9zdCkKLXsKLSAgICBl
bnN1cmVOZXR3b3JrUHJvY2VzcygpOwotICAgIG1fbmV0d29ya1Byb2Nlc3MtPnNlbmQoTWVzc2Fn
ZXM6Ok5ldHdvcmtQcm9jZXNzOjpBbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3Qo
Y2VydGlmaWNhdGUtPmNlcnRpZmljYXRlSW5mbygpLCBob3N0KSwgMCk7Ci19Ci0KIHZvaWQgV2Vi
UHJvY2Vzc1Bvb2w6OnVwZGF0ZUF1dG9tYXRpb25DYXBhYmlsaXRpZXMoKSBjb25zdAogewogI2lm
IEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKQpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUHJvY2Vzc1Bvb2wuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQcm9jZXNzUG9vbC5oCShyZXZpc2lvbiAyNjcwNDIpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQcm9jZXNzUG9vbC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMzksOCArMzM5LDYgQEAg
cHVibGljOgogCiAgICAgdm9pZCByZXBvcnRXZWJDb250ZW50Q1BVVGltZShTZWNvbmRzIGNwdVRp
bWUsIHVpbnQ2NF90IGFjdGl2aXR5U3RhdGUpOwogCi0gICAgdm9pZCBhbGxvd1NwZWNpZmljSFRU
UFNDZXJ0aWZpY2F0ZUZvckhvc3QoY29uc3QgV2ViQ2VydGlmaWNhdGVJbmZvKiwgY29uc3QgU3Ry
aW5nJiBob3N0KTsKLQogICAgIFdlYlByb2Nlc3NQcm94eSYgcHJvY2Vzc0ZvclJlZ2lzdHJhYmxl
RG9tYWluKFdlYnNpdGVEYXRhU3RvcmUmLCBXZWJQYWdlUHJveHkqLCBjb25zdCBXZWJDb3JlOjpS
ZWdpc3RyYWJsZURvbWFpbiYpOyAvLyBXaWxsIHJldHVybiBhbiBleGlzdGluZyBvbmUgaWYgbGlt
aXQgaXMgbWV0IG9yIGR1ZSB0byBjYWNoaW5nLgogCiAgICAgdm9pZCBwcmV3YXJtUHJvY2Vzcygp
OwpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHQuY3BwCShy
ZXZpc2lvbiAyNjcwMzEpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS0NvbnRl
eHQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OTAsOSArNDkwLDggQEAgdm9pZCBXS0NvbnRleHRT
ZXRJY29uRGF0YWJhc2VQYXRoKFdLQ29udAogewogfQogCi12b2lkIFdLQ29udGV4dEFsbG93U3Bl
Y2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdChXS0NvbnRleHRSZWYgY29udGV4dFJlZiwgV0tD
ZXJ0aWZpY2F0ZUluZm9SZWYgY2VydGlmaWNhdGVSZWYsIFdLU3RyaW5nUmVmIGhvc3RSZWYpCit2
b2lkIFdLQ29udGV4dEFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdChXS0NvbnRl
eHRSZWYsIFdLQ2VydGlmaWNhdGVJbmZvUmVmLCBXS1N0cmluZ1JlZikKIHsKLSAgICBXZWJLaXQ6
OnRvSW1wbChjb250ZXh0UmVmKS0+YWxsb3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0
KFdlYktpdDo6dG9JbXBsKGNlcnRpZmljYXRlUmVmKSwgV2ViS2l0Ojp0b0ltcGwoaG9zdFJlZikt
PnN0cmluZygpKTsKIH0KIAogdm9pZCBXS0NvbnRleHREaXNhYmxlUHJvY2Vzc1Rlcm1pbmF0aW9u
KFdLQ29udGV4dFJlZiBjb250ZXh0UmVmKQpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0MvV0tDb250ZXh0UHJpdmF0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9DL1dLQ29udGV4dFByaXZhdGUuaAkocmV2aXNpb24gMjY3MDMxKQorKysgU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0UHJpdmF0ZS5oCSh3b3JraW5nIGNv
cHkpCkBAIC02OCw3ICs2OCw3IEBAIFdLX0VYUE9SVCB2b2lkIFdLQ29udGV4dFNldERpc2tDYWNo
ZVNwZWMKIAogV0tfRVhQT1JUIHZvaWQgV0tDb250ZXh0U2V0SWNvbkRhdGFiYXNlUGF0aChXS0Nv
bnRleHRSZWYgY29udGV4dCwgV0tTdHJpbmdSZWYgaWNvbkRhdGFiYXNlUGF0aCk7CiAKLVdLX0VY
UE9SVCB2b2lkIFdLQ29udGV4dEFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdChX
S0NvbnRleHRSZWYgY29udGV4dCwgV0tDZXJ0aWZpY2F0ZUluZm9SZWYgY2VydGlmaWNhdGUsIFdL
U3RyaW5nUmVmIGhvc3QpOworV0tfRVhQT1JUIHZvaWQgV0tDb250ZXh0QWxsb3dTcGVjaWZpY0hU
VFBTQ2VydGlmaWNhdGVGb3JIb3N0KFdLQ29udGV4dFJlZiBjb250ZXh0LCBXS0NlcnRpZmljYXRl
SW5mb1JlZiBjZXJ0aWZpY2F0ZSwgV0tTdHJpbmdSZWYgaG9zdCkgV0tfQ19BUElfREVQUkVDQVRF
RDsKIAogLy8gRklYTUU6IFRoaXMgaXMgYSB3b3JrYXJvdW5kIGZvciB0ZXN0aW5nIHB1cnBvc2Vz
IG9ubHkgYW5kIHNob3VsZCBiZSByZW1vdmVkIG9uY2UgYSBiZXR0ZXIKIC8vIHNvbHV0aW9uIGhh
cyBiZWVuIGZvdW5kIGZvciB0ZXN0aW5nLgpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0NvY29hL1dLUHJvY2Vzc0dyb3VwLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS1Byb2Nlc3NHcm91cC5tbQkocmV2aXNpb24gMjY3MDMxKQor
KysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJvY2Vzc0dyb3VwLm1tCSh3
b3JraW5nIGNvcHkpCkBAIC0yNjksMTEgKzI2OSw2IEBAIC0gKFdLQ29udGV4dFJlZilfY29udGV4
dFJlZgogICAgIHJldHVybiB0b0FQSShfcHJvY2Vzc1Bvb2wuZ2V0KCkpOwogfQogCi0tICh2b2lk
KV9zZXRBbGxvd3NTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGU6KE5TQXJyYXkgKiljZXJ0aWZpY2F0
ZUNoYWluIGZvckhvc3Q6KE5TU3RyaW5nICopaG9zdAotewotICAgIF9wcm9jZXNzUG9vbC0+YWxs
b3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KFdlYktpdDo6V2ViQ2VydGlmaWNhdGVJ
bmZvOjpjcmVhdGUoV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvKChfX2JyaWRnZSBDRkFycmF5UmVm
KWNlcnRpZmljYXRlQ2hhaW4pKS5wdHIoKSwgaG9zdCk7Ci19Ci0KICNpZiBQTEFURk9STShJT1Nf
RkFNSUxZKQogLSAoV0tHZW9sb2NhdGlvblByb3ZpZGVySU9TICopX2dlb2xvY2F0aW9uUHJvdmlk
ZXIKIHsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1Byb2Nlc3NH
cm91cFByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tQcm9jZXNzR3JvdXBQcml2YXRlLmgJKHJldmlzaW9uIDI2NzAzMSkKKysrIFNvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1Byb2Nlc3NHcm91cFByaXZhdGUuaAkod29y
a2luZyBjb3B5KQpAQCAtMzUsOCArMzUsNiBAQAogCiBAcHJvcGVydHkocmVhZG9ubHkpIFdLQ29u
dGV4dFJlZiBfY29udGV4dFJlZjsKIAotLSAodm9pZClfc2V0QWxsb3dzU3BlY2lmaWNIVFRQU0Nl
cnRpZmljYXRlOihOU0FycmF5ICopY2VydGlmaWNhdGVDaGFpbiBmb3JIb3N0OihOU1N0cmluZyAq
KWhvc3Q7Ci0KICNpZiBUQVJHRVRfT1NfSVBIT05FCiBAcHJvcGVydHkocmVhZG9ubHkpIFdLR2Vv
bG9jYXRpb25Qcm92aWRlcklPUyAqX2dlb2xvY2F0aW9uUHJvdmlkZXI7CiAjZW5kaWYKSW5kZXg6
IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1Byb2Nlc3NQb29sLm1tCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1Byb2Nlc3NQb29s
Lm1tCShyZXZpc2lvbiAyNjcwNDIpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tQcm9jZXNzUG9vbC5tbQkod29ya2luZyBjb3B5KQpAQCAtMTg3LDcgKzE4Nyw2IEBAICsg
KE5TVVJMICopX3dlYnNpdGVEYXRhVVJMRm9yQ29udGFpbmVyV2kKIAogLSAodm9pZClfc2V0QWxs
b3dzU3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlOihOU0FycmF5ICopY2VydGlmaWNhdGVDaGFpbiBm
b3JIb3N0OihOU1N0cmluZyAqKWhvc3QKIHsKLSAgICBfcHJvY2Vzc1Bvb2wtPmFsbG93U3BlY2lm
aWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdChXZWJLaXQ6OldlYkNlcnRpZmljYXRlSW5mbzo6Y3Jl
YXRlKFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbygoX19icmlkZ2UgQ0ZBcnJheVJlZiljZXJ0aWZp
Y2F0ZUNoYWluKSkucHRyKCksIGhvc3QpOwogfQogCiAtICh2b2lkKV9yZWdpc3RlclVSTFNjaGVt
ZUFzQ2FuRGlzcGxheU9ubHlJZkNhblJlcXVlc3Q6KE5TU3RyaW5nICopc2NoZW1lCkluZGV4OiBT
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcm9jZXNzUG9vbFByaXZhdGUuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcm9jZXNz
UG9vbFByaXZhdGUuaAkocmV2aXNpb24gMjY3MDQyKQorKysgU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLUHJvY2Vzc1Bvb2xQcml2YXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ4
LDcgKzQ4LDcgQEAKIAogQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBfV0tQcm9jZXNz
UG9vbENvbmZpZ3VyYXRpb24gKl9jb25maWd1cmF0aW9uOwogCi0tICh2b2lkKV9zZXRBbGxvd3NT
cGVjaWZpY0hUVFBTQ2VydGlmaWNhdGU6KE5TQXJyYXkgKiljZXJ0aWZpY2F0ZUNoYWluIGZvckhv
c3Q6KE5TU3RyaW5nICopaG9zdDsKKy0gKHZvaWQpX3NldEFsbG93c1NwZWNpZmljSFRUUFNDZXJ0
aWZpY2F0ZTooTlNBcnJheSAqKWNlcnRpZmljYXRlQ2hhaW4gZm9ySG9zdDooTlNTdHJpbmcgKilo
b3N0IFdLX0FQSV9ERVBSRUNBVEVEX1dJVEhfUkVQTEFDRU1FTlQoIldLV2Vic2l0ZURhdGFTdG9y
ZS5fYWxsb3dUTFNDZXJ0aWZpY2F0ZTpmb3JIb3N0OiIsIG1hY29zKDEwLjEwLCBXS19NQUNfVEJB
KSwgaW9zKDguMCwgV0tfSU9TX1RCQSkpOwogLSAodm9pZClfc2V0Q2FuSGFuZGxlSFRUUFNTZXJ2
ZXJUcnVzdEV2YWx1YXRpb246KEJPT0wpdmFsdWUgV0tfQVBJX0RFUFJFQ0FURURfV0lUSF9SRVBM
QUNFTUVOVCgiX1dLV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24uZmFzdFNlcnZlclRydXN0
RXZhbHVhdGlvbkVuYWJsZWQiLCBtYWNvcygxMC4xMSwgV0tfTUFDX1RCQSksIGlvcyg5LjAsIFdL
X0lPU19UQkEpKTsKIC0gKHZvaWQpX3NldENvb2tpZUFjY2VwdFBvbGljeTooTlNIVFRQQ29va2ll
QWNjZXB0UG9saWN5KXBvbGljeSBXS19BUElfREVQUkVDQVRFRF9XSVRIX1JFUExBQ0VNRU5UKCJX
S0hUVFBDb29raWVTdG9yZS5fc2V0Q29va2llQWNjZXB0UG9saWN5OmNvbXBsZXRpb25IYW5kbGVy
OiIsIG1hY29zKDEwLjEwLCBXS19NQUNfVEJBKSwgaW9zKDguMCwgV0tfSU9TX1RCQSkpOwogCklu
ZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJzaXRlRGF0YVN0b3Jl
Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dl
YnNpdGVEYXRhU3RvcmUubW0JKHJldmlzaW9uIDI2NzAzMSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS1dlYnNpdGVEYXRhU3RvcmUubW0JKHdvcmtpbmcgY29weSkKQEAg
LTYzMyw2ICs2MzMsMTEgQEAgLSAoX1dLV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24gKilf
YwogICAgIHJldHVybiB3cmFwcGVyKF93ZWJzaXRlRGF0YVN0b3JlLT5jb25maWd1cmF0aW9uKCku
Y29weSgpKTsKIH0KIAorLSAodm9pZClfYWxsb3dUTFNDZXJ0aWZpY2F0ZTooTlNBcnJheSAqKWNl
cnRpZmljYXRlQ2hhaW4gZm9ySG9zdDooTlNTdHJpbmcgKilob3N0Cit7CisgICAgX3dlYnNpdGVE
YXRhU3RvcmUtPmFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdChXZWJLaXQ6Oldl
YkNlcnRpZmljYXRlSW5mbzo6Y3JlYXRlKFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbygoX19icmlk
Z2UgQ0ZBcnJheVJlZiljZXJ0aWZpY2F0ZUNoYWluKSkucHRyKCksIGhvc3QpOworfQorCiAtICh2
b2lkKV9hcHBCb3VuZERvbWFpbnM6KHZvaWQgKF4pKE5TQXJyYXk8TlNTdHJpbmcgKj4gKikpY29t
cGxldGlvbkhhbmRsZXIKIHsKICNpZiBFTkFCTEUoQVBQX0JPVU5EX0RPTUFJTlMpCkluZGV4OiBT
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJzaXRlRGF0YVN0b3JlUHJpdmF0
ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dl
YnNpdGVEYXRhU3RvcmVQcml2YXRlLmgJKHJldmlzaW9uIDI2NzAzMSkKKysrIFNvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYnNpdGVEYXRhU3RvcmVQcml2YXRlLmgJKHdvcmtp
bmcgY29weSkKQEAgLTgxLDYgKzgxLDggQEAgdHlwZWRlZiBOU19PUFRJT05TKE5TVUludGVnZXIs
IF9XS1dlYnNpdAogLSAodm9pZClfYXBwQm91bmREb21haW5zOih2b2lkICheKShOU0FycmF5PE5T
U3RyaW5nICo+ICopKWNvbXBsZXRpb25IYW5kbGVyIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoV0tf
TUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CiAtICh2b2lkKV9hcHBCb3VuZFNjaGVtZXM6KHZv
aWQgKF4pKE5TQXJyYXk8TlNTdHJpbmcgKj4gKikpY29tcGxldGlvbkhhbmRsZXIgV0tfQVBJX0FW
QUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKIAorLSAodm9pZClf
YWxsb3dUTFNDZXJ0aWZpY2F0ZTooTlNBcnJheSAqKWNlcnRpZmljYXRlQ2hhaW4gZm9ySG9zdDoo
TlNTdHJpbmcgKilob3N0IFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlvcyhX
S19JT1NfVEJBKSk7CisKIC0gKHZvaWQpX3JlbmFtZU9yaWdpbjooTlNVUkwgKilvbGROYW1lIHRv
OihOU1VSTCAqKW5ld05hbWUgZm9yRGF0YU9mVHlwZXM6KE5TU2V0PE5TU3RyaW5nICo+ICopZGF0
YVR5cGVzIGNvbXBsZXRpb25IYW5kbGVyOih2b2lkICheKSh2b2lkKSljb21wbGV0aW9uSGFuZGxl
cjsKIAogQHByb3BlcnR5IChudWxsYWJsZSwgbm9uYXRvbWljLCB3ZWFrKSBpZCA8X1dLV2Vic2l0
ZURhdGFTdG9yZURlbGVnYXRlPiBfZGVsZWdhdGUgV0tfQVBJX0FWQUlMQUJMRShtYWNvcygxMC4x
NSksIGlvcygxMy4wKSk7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9X
ZWJLaXRXZWJDb250ZXh0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvZ2xpYi9XZWJLaXRXZWJDb250ZXh0LmNwcAkocmV2aXNpb24gMjY3MDMxKQorKysgU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0V2ViQ29udGV4dC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTU2LDYgKzU2LDcgQEAKICNpbmNsdWRlICJXZWJOb3RpZmljYXRpb25NYW5h
Z2VyUHJveHkuaCIKICNpbmNsdWRlICJXZWJQcm9jZXNzTWVzc2FnZXMuaCIKICNpbmNsdWRlICJX
ZWJVUkxTY2hlbWVIYW5kbGVyLmgiCisjaW5jbHVkZSAiV2Vic2l0ZURhdGFTdG9yZS5oIgogI2lu
Y2x1ZGUgIldlYnNpdGVEYXRhVHlwZS5oIgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL1JlbW90
ZUluc3BlY3Rvci5oPgogI2luY2x1ZGUgPGdsaWIvZ2kxOG4tbGliLmg+CkBAIC0xNjI0LDcgKzE2
MjUsNyBAQCB2b2lkIHdlYmtpdF93ZWJfY29udGV4dF9hbGxvd190bHNfY2VydGlmCiAgICAgZ19y
ZXR1cm5faWZfZmFpbChob3N0KTsKIAogICAgIGF1dG8gd2ViQ2VydGlmaWNhdGVJbmZvID0gV2Vi
Q2VydGlmaWNhdGVJbmZvOjpjcmVhdGUoV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvKGNlcnRpZmlj
YXRlLCBzdGF0aWNfY2FzdDxHVGxzQ2VydGlmaWNhdGVGbGFncz4oMCkpKTsKLSAgICBjb250ZXh0
LT5wcml2LT5wcm9jZXNzUG9vbC0+YWxsb3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0
KHdlYkNlcnRpZmljYXRlSW5mby5wdHIoKSwgU3RyaW5nOjpmcm9tVVRGOChob3N0KSk7CisgICAg
V2Vic2l0ZURhdGFTdG9yZTo6ZGVmYXVsdFdlYnNpdGVEYXRhU3RvcmUoKS0+YWxsb3dTcGVjaWZp
Y0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KHdlYkNlcnRpZmljYXRlSW5mby5wdHIoKSwgU3RyaW5n
Ojpmcm9tVVRGOChob3N0KSk7CiB9CiAKIC8qKgpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5jcHAJKHJldmlz
aW9uIDI2NzA0MikKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNp
dGVEYXRhU3RvcmUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMDU3LDYgKzIwNTcsMTIgQEAgc3Rh
dGljIFN0cmluZyBjb21wdXRlTWVkaWFLZXlGaWxlKGNvbnN0IAogICAgIHJldHVybiBGaWxlU3lz
dGVtOjpwYXRoQnlBcHBlbmRpbmdDb21wb25lbnQobWVkaWFLZXlEaXJlY3RvcnksICJTZWN1cmVT
dG9wLnBsaXN0Iik7CiB9CiAKK3ZvaWQgV2Vic2l0ZURhdGFTdG9yZTo6YWxsb3dTcGVjaWZpY0hU
VFBTQ2VydGlmaWNhdGVGb3JIb3N0KGNvbnN0IFdlYkNlcnRpZmljYXRlSW5mbyogY2VydGlmaWNh
dGUsIGNvbnN0IFN0cmluZyYgaG9zdCkKK3sKKyAgICBmb3IgKGF1dG8mIHByb2Nlc3NQb29sIDog
cHJvY2Vzc1Bvb2xzKCkpCisgICAgICAgIHByb2Nlc3NQb29sLT5lbnN1cmVOZXR3b3JrUHJvY2Vz
cygpLnNlbmQoTWVzc2FnZXM6Ok5ldHdvcmtQcm9jZXNzOjpBbGxvd1NwZWNpZmljSFRUUFNDZXJ0
aWZpY2F0ZUZvckhvc3QoY2VydGlmaWNhdGUtPmNlcnRpZmljYXRlSW5mbygpLCBob3N0KSwgMCk7
Cit9CisKIFZlY3RvcjxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGE+IFdlYnNpdGVEYXRhU3Rv
cmU6Om1lZGlhS2V5T3JpZ2lucyhjb25zdCBTdHJpbmcmIG1lZGlhS2V5c1N0b3JhZ2VEaXJlY3Rv
cnkpCiB7CiAgICAgQVNTRVJUKCFtZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5LmlzRW1wdHkoKSk7
CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0
b3JlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEv
V2Vic2l0ZURhdGFTdG9yZS5oCShyZXZpc2lvbiAyNjcwNDIpCisrKyBTb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmgJKHdvcmtpbmcgY29weSkKQEAg
LTc2LDYgKzc2LDcgQEAgY2xhc3MgQXV0aGVudGljYXRvck1hbmFnZXI7CiBjbGFzcyBTZWNLZXlQ
cm94eVN0b3JlOwogY2xhc3MgRGV2aWNlSWRIYXNoU2FsdFN0b3JhZ2U7CiBjbGFzcyBTT0F1dGhv
cml6YXRpb25Db29yZGluYXRvcjsKK2NsYXNzIFdlYkNlcnRpZmljYXRlSW5mbzsKIGNsYXNzIFdl
YlBhZ2VQcm94eTsKIGNsYXNzIFdlYlByb2Nlc3NQb29sOwogY2xhc3MgV2ViUHJvY2Vzc1Byb3h5
OwpAQCAtMjI3LDYgKzIyOCw4IEBAIHB1YmxpYzoKICAgICBjb25zdCBTdHJpbmcmIHJlc29sdmVk
UmVzb3VyY2VMb2FkU3RhdGlzdGljc0RpcmVjdG9yeSgpIGNvbnN0IHsgcmV0dXJuIG1fcmVzb2x2
ZWRDb25maWd1cmF0aW9uLT5yZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGlyZWN0b3J5KCk7IH0KICAg
ICBjb25zdCBTdHJpbmcmIHJlc29sdmVkSFNUU1N0b3JhZ2VEaXJlY3RvcnkoKSBjb25zdCB7IHJl
dHVybiBtX3Jlc29sdmVkQ29uZmlndXJhdGlvbi0+aHN0c1N0b3JhZ2VEaXJlY3RvcnkoKTsgfQog
CisgICAgdm9pZCBhbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3QoY29uc3QgV2Vi
Q2VydGlmaWNhdGVJbmZvKiwgY29uc3QgU3RyaW5nJiBob3N0KTsKKwogICAgIERldmljZUlkSGFz
aFNhbHRTdG9yYWdlJiBkZXZpY2VJZEhhc2hTYWx0U3RvcmFnZSgpIHsgcmV0dXJuIG1fZGV2aWNl
SWRIYXNoU2FsdFN0b3JhZ2UuZ2V0KCk7IH0KIAogICAgIFdlYlByb2Nlc3NQb29sKiBwcm9jZXNz
UG9vbEZvckNvb2tpZVN0b3JhZ2VPcGVyYXRpb25zKCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408867</attachid>
            <date>2020-09-15 15:10:09 -0700</date>
            <delta_ts>2020-09-15 17:28:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216585-20200915151008.patch</filename>
            <type>text/plain</type>
            <size>13251</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNjcxMDEpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM3IEBACisyMDIwLTA5LTE1ICBBbGV4IENocmlz
dGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgTW92ZSBUTFMgY2Vy
dGlmaWNhdGUgYnlwYXNzIFNQSSBmcm9tIFdlYlByb2Nlc3NQb29sIHRvIFdlYnNpdGVEYXRhU3Rv
cmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNjU4
NQorCisgICAgICAgIFJldmlld2VkIGJ5IEdlb2ZmcmV5IEdhcmVuLgorCisgICAgICAgIEl0IHdp
bGwgZXZlbnR1YWxseSBiZSByZXBsYWNlZCBieSBXS05hdmlnYXRpb25EZWxlZ2F0ZSdzIGRpZFJl
Y2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSBpbiByZGFyOi8vMzA2NTU3NDAKKyAgICAgICAg
YnV0IHRoZSBTUEkgbmVlZHMgdG8gY29udGludWUgdG8gZXhpc3Qgc29tZXdoZXJlIHVudGlsIHRo
YXQgaXMgY29tcGxldGUuCisgICAgICAgIEluIHRoZSBtZWFudGltZSwgaXQgbmVlZHMgdG8gYmUg
bW92ZWQgZnJvbSB0aGUgV2ViUHJvY2Vzc1Bvb2wgZm9yIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMTYwNDEKKyAgICAgICAgYW5kIHJkYXI6Ly9wcm9ibGVtLzY4OTQy
ODE1IHRyYWNrcyBTYWZhcmkncyBhZG9wdGlvbiBvZiB0aGUgU1BJIGludHJvZHVjZWQgaGVyZSwg
d2hpY2ggSSB3aWxsIGZpeCB3aXRoaW4gYW4gaG91ciBvZiBsYW5kaW5nIHRoaXMuCisKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0LmNwcDoKKyAgICAgICAgKFdLQ29udGV4dEFs
bG93U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdCk6CisgICAgICAgICogVUlQcm9jZXNz
L0FQSS9DL1dLQ29udGV4dFByaXZhdGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29h
L1dLUHJvY2Vzc0dyb3VwLm1tOgorICAgICAgICAoLVtXS1Byb2Nlc3NHcm91cCBfc2V0QWxsb3dz
U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlOmZvckhvc3Q6XSk6IERlbGV0ZWQuCisgICAgICAgICog
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS1Byb2Nlc3NHcm91cFByaXZhdGUuaDoKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL0NvY29hL1dLUHJvY2Vzc1Bvb2wubW06CisgICAgICAgICgtW1dLUHJvY2Vz
c1Bvb2wgX3NldEFsbG93c1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZTpmb3JIb3N0Ol0pOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcm9jZXNzUG9vbFByaXZhdGUuaDoKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0ZURhdGFTdG9yZS5tbToKKyAgICAgICAg
KC1bV0tXZWJzaXRlRGF0YVN0b3JlIF9hbGxvd1RMU0NlcnRpZmljYXRlOmZvckhvc3Q6XSk6Cisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYnNpdGVEYXRhU3RvcmVQcml2YXRlLmg6
CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFdlYkNvbnRleHQuY3BwOgorICAg
ICAgICAod2Via2l0X3dlYl9jb250ZXh0X2FsbG93X3Rsc19jZXJ0aWZpY2F0ZV9mb3JfaG9zdCk6
CisgICAgICAgIFVzZSB0aGUgZGVmYXVsdCBkYXRhIHN0b3JlIHVudGlsIHRoaXMgQVBJIGNhbiBi
ZSByZXBsYWNlZCBieSBBUEkgaW4gYSBkaWZmZXJlbnQgcGxhY2UuCisgICAgICAgICogVUlQcm9j
ZXNzL1dlYlByb2Nlc3NQb29sLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6
OmFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdCk6IERlbGV0ZWQuCisgICAgICAg
ICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYnNp
dGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJzaXRlRGF0
YVN0b3JlOjphbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3QpOgorICAgICAgICAq
IFVJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmg6CisKIDIwMjAtMDktMTUg
IFNhbSBXZWluaWcgIDx3ZWluaWdAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSBydW50aW1l
IHNldHRpbmcgZm9yIGVuYWJsaW5nL2Rpc2FibGluZyB0aGUgZmV0Y2ggQVBJCkluZGV4OiBTb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCShyZXZpc2lvbiAyNjcxMDEp
CisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTE4MzgsMTIgKzE4MzgsNiBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjpjbGVhckxl
Z2FjeVByaXZhdGVCCiAgICAgY29tcGxldGlvbkhhbmRsZXIoKTsKIH0KIAotdm9pZCBXZWJQcm9j
ZXNzUG9vbDo6YWxsb3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KGNvbnN0IFdlYkNl
cnRpZmljYXRlSW5mbyogY2VydGlmaWNhdGUsIGNvbnN0IFN0cmluZyYgaG9zdCkKLXsKLSAgICBl
bnN1cmVOZXR3b3JrUHJvY2VzcygpOwotICAgIG1fbmV0d29ya1Byb2Nlc3MtPnNlbmQoTWVzc2Fn
ZXM6Ok5ldHdvcmtQcm9jZXNzOjpBbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3Qo
Y2VydGlmaWNhdGUtPmNlcnRpZmljYXRlSW5mbygpLCBob3N0KSwgMCk7Ci19Ci0KIHZvaWQgV2Vi
UHJvY2Vzc1Bvb2w6OnVwZGF0ZUF1dG9tYXRpb25DYXBhYmlsaXRpZXMoKSBjb25zdAogewogI2lm
IEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKQpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUHJvY2Vzc1Bvb2wuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQcm9jZXNzUG9vbC5oCShyZXZpc2lvbiAyNjcxMDEpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQcm9jZXNzUG9vbC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMzcsOCArMzM3LDYgQEAg
cHVibGljOgogCiAgICAgdm9pZCByZXBvcnRXZWJDb250ZW50Q1BVVGltZShTZWNvbmRzIGNwdVRp
bWUsIHVpbnQ2NF90IGFjdGl2aXR5U3RhdGUpOwogCi0gICAgdm9pZCBhbGxvd1NwZWNpZmljSFRU
UFNDZXJ0aWZpY2F0ZUZvckhvc3QoY29uc3QgV2ViQ2VydGlmaWNhdGVJbmZvKiwgY29uc3QgU3Ry
aW5nJiBob3N0KTsKLQogICAgIFdlYlByb2Nlc3NQcm94eSYgcHJvY2Vzc0ZvclJlZ2lzdHJhYmxl
RG9tYWluKFdlYnNpdGVEYXRhU3RvcmUmLCBXZWJQYWdlUHJveHkqLCBjb25zdCBXZWJDb3JlOjpS
ZWdpc3RyYWJsZURvbWFpbiYpOyAvLyBXaWxsIHJldHVybiBhbiBleGlzdGluZyBvbmUgaWYgbGlt
aXQgaXMgbWV0IG9yIGR1ZSB0byBjYWNoaW5nLgogCiAgICAgdm9pZCBwcmV3YXJtUHJvY2Vzcygp
OwpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHQuY3BwCShy
ZXZpc2lvbiAyNjcxMDEpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS0NvbnRl
eHQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00ODUsOSArNDg1LDggQEAgdm9pZCBXS0NvbnRleHRT
ZXRJY29uRGF0YWJhc2VQYXRoKFdLQ29udAogewogfQogCi12b2lkIFdLQ29udGV4dEFsbG93U3Bl
Y2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdChXS0NvbnRleHRSZWYgY29udGV4dFJlZiwgV0tD
ZXJ0aWZpY2F0ZUluZm9SZWYgY2VydGlmaWNhdGVSZWYsIFdLU3RyaW5nUmVmIGhvc3RSZWYpCit2
b2lkIFdLQ29udGV4dEFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdChXS0NvbnRl
eHRSZWYsIFdLQ2VydGlmaWNhdGVJbmZvUmVmLCBXS1N0cmluZ1JlZikKIHsKLSAgICBXZWJLaXQ6
OnRvSW1wbChjb250ZXh0UmVmKS0+YWxsb3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0
KFdlYktpdDo6dG9JbXBsKGNlcnRpZmljYXRlUmVmKSwgV2ViS2l0Ojp0b0ltcGwoaG9zdFJlZikt
PnN0cmluZygpKTsKIH0KIAogdm9pZCBXS0NvbnRleHREaXNhYmxlUHJvY2Vzc1Rlcm1pbmF0aW9u
KFdLQ29udGV4dFJlZiBjb250ZXh0UmVmKQpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0MvV0tDb250ZXh0UHJpdmF0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9DL1dLQ29udGV4dFByaXZhdGUuaAkocmV2aXNpb24gMjY3MTAxKQorKysgU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0UHJpdmF0ZS5oCSh3b3JraW5nIGNv
cHkpCkBAIC02OCw3ICs2OCw3IEBAIFdLX0VYUE9SVCB2b2lkIFdLQ29udGV4dFNldERpc2tDYWNo
ZVNwZWMKIAogV0tfRVhQT1JUIHZvaWQgV0tDb250ZXh0U2V0SWNvbkRhdGFiYXNlUGF0aChXS0Nv
bnRleHRSZWYgY29udGV4dCwgV0tTdHJpbmdSZWYgaWNvbkRhdGFiYXNlUGF0aCk7CiAKLVdLX0VY
UE9SVCB2b2lkIFdLQ29udGV4dEFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdChX
S0NvbnRleHRSZWYgY29udGV4dCwgV0tDZXJ0aWZpY2F0ZUluZm9SZWYgY2VydGlmaWNhdGUsIFdL
U3RyaW5nUmVmIGhvc3QpOworV0tfRVhQT1JUIHZvaWQgV0tDb250ZXh0QWxsb3dTcGVjaWZpY0hU
VFBTQ2VydGlmaWNhdGVGb3JIb3N0KFdLQ29udGV4dFJlZiBjb250ZXh0LCBXS0NlcnRpZmljYXRl
SW5mb1JlZiBjZXJ0aWZpY2F0ZSwgV0tTdHJpbmdSZWYgaG9zdCkgV0tfQ19BUElfREVQUkVDQVRF
RDsKIAogLy8gRklYTUU6IFRoaXMgaXMgYSB3b3JrYXJvdW5kIGZvciB0ZXN0aW5nIHB1cnBvc2Vz
IG9ubHkgYW5kIHNob3VsZCBiZSByZW1vdmVkIG9uY2UgYSBiZXR0ZXIKIC8vIHNvbHV0aW9uIGhh
cyBiZWVuIGZvdW5kIGZvciB0ZXN0aW5nLgpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0NvY29hL1dLUHJvY2Vzc0dyb3VwLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS1Byb2Nlc3NHcm91cC5tbQkocmV2aXNpb24gMjY3MTAxKQor
KysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJvY2Vzc0dyb3VwLm1tCSh3
b3JraW5nIGNvcHkpCkBAIC0yNjksMTEgKzI2OSw2IEBAIC0gKFdLQ29udGV4dFJlZilfY29udGV4
dFJlZgogICAgIHJldHVybiB0b0FQSShfcHJvY2Vzc1Bvb2wuZ2V0KCkpOwogfQogCi0tICh2b2lk
KV9zZXRBbGxvd3NTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGU6KE5TQXJyYXkgKiljZXJ0aWZpY2F0
ZUNoYWluIGZvckhvc3Q6KE5TU3RyaW5nICopaG9zdAotewotICAgIF9wcm9jZXNzUG9vbC0+YWxs
b3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KFdlYktpdDo6V2ViQ2VydGlmaWNhdGVJ
bmZvOjpjcmVhdGUoV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvKChfX2JyaWRnZSBDRkFycmF5UmVm
KWNlcnRpZmljYXRlQ2hhaW4pKS5wdHIoKSwgaG9zdCk7Ci19Ci0KICNpZiBQTEFURk9STShJT1Nf
RkFNSUxZKQogLSAoV0tHZW9sb2NhdGlvblByb3ZpZGVySU9TICopX2dlb2xvY2F0aW9uUHJvdmlk
ZXIKIHsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1Byb2Nlc3NH
cm91cFByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tQcm9jZXNzR3JvdXBQcml2YXRlLmgJKHJldmlzaW9uIDI2NzEwMSkKKysrIFNvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1Byb2Nlc3NHcm91cFByaXZhdGUuaAkod29y
a2luZyBjb3B5KQpAQCAtMzUsOCArMzUsNiBAQAogCiBAcHJvcGVydHkocmVhZG9ubHkpIFdLQ29u
dGV4dFJlZiBfY29udGV4dFJlZjsKIAotLSAodm9pZClfc2V0QWxsb3dzU3BlY2lmaWNIVFRQU0Nl
cnRpZmljYXRlOihOU0FycmF5ICopY2VydGlmaWNhdGVDaGFpbiBmb3JIb3N0OihOU1N0cmluZyAq
KWhvc3Q7Ci0KICNpZiBUQVJHRVRfT1NfSVBIT05FCiBAcHJvcGVydHkocmVhZG9ubHkpIFdLR2Vv
bG9jYXRpb25Qcm92aWRlcklPUyAqX2dlb2xvY2F0aW9uUHJvdmlkZXI7CiAjZW5kaWYKSW5kZXg6
IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1Byb2Nlc3NQb29sLm1tCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1Byb2Nlc3NQb29s
Lm1tCShyZXZpc2lvbiAyNjcxMDEpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tQcm9jZXNzUG9vbC5tbQkod29ya2luZyBjb3B5KQpAQCAtMTg3LDcgKzE4Nyw2IEBAICsg
KE5TVVJMICopX3dlYnNpdGVEYXRhVVJMRm9yQ29udGFpbmVyV2kKIAogLSAodm9pZClfc2V0QWxs
b3dzU3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlOihOU0FycmF5ICopY2VydGlmaWNhdGVDaGFpbiBm
b3JIb3N0OihOU1N0cmluZyAqKWhvc3QKIHsKLSAgICBfcHJvY2Vzc1Bvb2wtPmFsbG93U3BlY2lm
aWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdChXZWJLaXQ6OldlYkNlcnRpZmljYXRlSW5mbzo6Y3Jl
YXRlKFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbygoX19icmlkZ2UgQ0ZBcnJheVJlZiljZXJ0aWZp
Y2F0ZUNoYWluKSkucHRyKCksIGhvc3QpOwogfQogCiAtICh2b2lkKV9yZWdpc3RlclVSTFNjaGVt
ZUFzQ2FuRGlzcGxheU9ubHlJZkNhblJlcXVlc3Q6KE5TU3RyaW5nICopc2NoZW1lCkluZGV4OiBT
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcm9jZXNzUG9vbFByaXZhdGUuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcm9jZXNz
UG9vbFByaXZhdGUuaAkocmV2aXNpb24gMjY3MTAxKQorKysgU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLUHJvY2Vzc1Bvb2xQcml2YXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ4
LDcgKzQ4LDcgQEAKIAogQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBfV0tQcm9jZXNz
UG9vbENvbmZpZ3VyYXRpb24gKl9jb25maWd1cmF0aW9uOwogCi0tICh2b2lkKV9zZXRBbGxvd3NT
cGVjaWZpY0hUVFBTQ2VydGlmaWNhdGU6KE5TQXJyYXkgKiljZXJ0aWZpY2F0ZUNoYWluIGZvckhv
c3Q6KE5TU3RyaW5nICopaG9zdDsKKy0gKHZvaWQpX3NldEFsbG93c1NwZWNpZmljSFRUUFNDZXJ0
aWZpY2F0ZTooTlNBcnJheSAqKWNlcnRpZmljYXRlQ2hhaW4gZm9ySG9zdDooTlNTdHJpbmcgKilo
b3N0IFdLX0FQSV9ERVBSRUNBVEVEX1dJVEhfUkVQTEFDRU1FTlQoIldLV2Vic2l0ZURhdGFTdG9y
ZS5fYWxsb3dUTFNDZXJ0aWZpY2F0ZTpmb3JIb3N0OiIsIG1hY29zKDEwLjEwLCBXS19NQUNfVEJB
KSwgaW9zKDguMCwgV0tfSU9TX1RCQSkpOwogLSAodm9pZClfc2V0Q2FuSGFuZGxlSFRUUFNTZXJ2
ZXJUcnVzdEV2YWx1YXRpb246KEJPT0wpdmFsdWUgV0tfQVBJX0RFUFJFQ0FURURfV0lUSF9SRVBM
QUNFTUVOVCgiX1dLV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24uZmFzdFNlcnZlclRydXN0
RXZhbHVhdGlvbkVuYWJsZWQiLCBtYWNvcygxMC4xMSwgV0tfTUFDX1RCQSksIGlvcyg5LjAsIFdL
X0lPU19UQkEpKTsKIC0gKHZvaWQpX3NldENvb2tpZUFjY2VwdFBvbGljeTooTlNIVFRQQ29va2ll
QWNjZXB0UG9saWN5KXBvbGljeSBXS19BUElfREVQUkVDQVRFRF9XSVRIX1JFUExBQ0VNRU5UKCJX
S0hUVFBDb29raWVTdG9yZS5fc2V0Q29va2llQWNjZXB0UG9saWN5OmNvbXBsZXRpb25IYW5kbGVy
OiIsIG1hY29zKDEwLjEwLCBXS19NQUNfVEJBKSwgaW9zKDguMCwgV0tfSU9TX1RCQSkpOwogCklu
ZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJzaXRlRGF0YVN0b3Jl
Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dl
YnNpdGVEYXRhU3RvcmUubW0JKHJldmlzaW9uIDI2NzEwMSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS1dlYnNpdGVEYXRhU3RvcmUubW0JKHdvcmtpbmcgY29weSkKQEAg
LTYzMyw2ICs2MzMsMTEgQEAgLSAoX1dLV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24gKilf
YwogICAgIHJldHVybiB3cmFwcGVyKF93ZWJzaXRlRGF0YVN0b3JlLT5jb25maWd1cmF0aW9uKCku
Y29weSgpKTsKIH0KIAorLSAodm9pZClfYWxsb3dUTFNDZXJ0aWZpY2F0ZTooTlNBcnJheSAqKWNl
cnRpZmljYXRlQ2hhaW4gZm9ySG9zdDooTlNTdHJpbmcgKilob3N0Cit7CisgICAgX3dlYnNpdGVE
YXRhU3RvcmUtPmFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdChXZWJLaXQ6Oldl
YkNlcnRpZmljYXRlSW5mbzo6Y3JlYXRlKFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbygoX19icmlk
Z2UgQ0ZBcnJheVJlZiljZXJ0aWZpY2F0ZUNoYWluKSkucHRyKCksIGhvc3QpOworfQorCiAtICh2
b2lkKV9hcHBCb3VuZERvbWFpbnM6KHZvaWQgKF4pKE5TQXJyYXk8TlNTdHJpbmcgKj4gKikpY29t
cGxldGlvbkhhbmRsZXIKIHsKICNpZiBFTkFCTEUoQVBQX0JPVU5EX0RPTUFJTlMpCkluZGV4OiBT
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJzaXRlRGF0YVN0b3JlUHJpdmF0
ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dl
YnNpdGVEYXRhU3RvcmVQcml2YXRlLmgJKHJldmlzaW9uIDI2NzEwMSkKKysrIFNvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYnNpdGVEYXRhU3RvcmVQcml2YXRlLmgJKHdvcmtp
bmcgY29weSkKQEAgLTgxLDYgKzgxLDggQEAgdHlwZWRlZiBOU19PUFRJT05TKE5TVUludGVnZXIs
IF9XS1dlYnNpdAogLSAodm9pZClfYXBwQm91bmREb21haW5zOih2b2lkICheKShOU0FycmF5PE5T
U3RyaW5nICo+ICopKWNvbXBsZXRpb25IYW5kbGVyIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoV0tf
TUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CiAtICh2b2lkKV9hcHBCb3VuZFNjaGVtZXM6KHZv
aWQgKF4pKE5TQXJyYXk8TlNTdHJpbmcgKj4gKikpY29tcGxldGlvbkhhbmRsZXIgV0tfQVBJX0FW
QUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKIAorLSAodm9pZClf
YWxsb3dUTFNDZXJ0aWZpY2F0ZTooTlNBcnJheSAqKWNlcnRpZmljYXRlQ2hhaW4gZm9ySG9zdDoo
TlNTdHJpbmcgKilob3N0IFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlvcyhX
S19JT1NfVEJBKSk7CisKIC0gKHZvaWQpX3JlbmFtZU9yaWdpbjooTlNVUkwgKilvbGROYW1lIHRv
OihOU1VSTCAqKW5ld05hbWUgZm9yRGF0YU9mVHlwZXM6KE5TU2V0PE5TU3RyaW5nICo+ICopZGF0
YVR5cGVzIGNvbXBsZXRpb25IYW5kbGVyOih2b2lkICheKSh2b2lkKSljb21wbGV0aW9uSGFuZGxl
cjsKIAogQHByb3BlcnR5IChudWxsYWJsZSwgbm9uYXRvbWljLCB3ZWFrKSBpZCA8X1dLV2Vic2l0
ZURhdGFTdG9yZURlbGVnYXRlPiBfZGVsZWdhdGUgV0tfQVBJX0FWQUlMQUJMRShtYWNvcygxMC4x
NSksIGlvcygxMy4wKSk7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9X
ZWJLaXRXZWJDb250ZXh0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvZ2xpYi9XZWJLaXRXZWJDb250ZXh0LmNwcAkocmV2aXNpb24gMjY3MTAxKQorKysgU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0V2ViQ29udGV4dC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTU2LDYgKzU2LDcgQEAKICNpbmNsdWRlICJXZWJOb3RpZmljYXRpb25NYW5h
Z2VyUHJveHkuaCIKICNpbmNsdWRlICJXZWJQcm9jZXNzTWVzc2FnZXMuaCIKICNpbmNsdWRlICJX
ZWJVUkxTY2hlbWVIYW5kbGVyLmgiCisjaW5jbHVkZSAiV2Vic2l0ZURhdGFTdG9yZS5oIgogI2lu
Y2x1ZGUgIldlYnNpdGVEYXRhVHlwZS5oIgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL1JlbW90
ZUluc3BlY3Rvci5oPgogI2luY2x1ZGUgPGdsaWIvZ2kxOG4tbGliLmg+CkBAIC0xNjI0LDcgKzE2
MjUsNyBAQCB2b2lkIHdlYmtpdF93ZWJfY29udGV4dF9hbGxvd190bHNfY2VydGlmCiAgICAgZ19y
ZXR1cm5faWZfZmFpbChob3N0KTsKIAogICAgIGF1dG8gd2ViQ2VydGlmaWNhdGVJbmZvID0gV2Vi
Q2VydGlmaWNhdGVJbmZvOjpjcmVhdGUoV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvKGNlcnRpZmlj
YXRlLCBzdGF0aWNfY2FzdDxHVGxzQ2VydGlmaWNhdGVGbGFncz4oMCkpKTsKLSAgICBjb250ZXh0
LT5wcml2LT5wcm9jZXNzUG9vbC0+YWxsb3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0
KHdlYkNlcnRpZmljYXRlSW5mby5wdHIoKSwgU3RyaW5nOjpmcm9tVVRGOChob3N0KSk7CisgICAg
V2Vic2l0ZURhdGFTdG9yZTo6ZGVmYXVsdERhdGFTdG9yZSgpLT5hbGxvd1NwZWNpZmljSFRUUFND
ZXJ0aWZpY2F0ZUZvckhvc3Qod2ViQ2VydGlmaWNhdGVJbmZvLnB0cigpLCBTdHJpbmc6OmZyb21V
VEY4KGhvc3QpKTsKIH0KIAogLyoqCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJz
aXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmNwcAkocmV2aXNpb24gMjY3
MTAxKQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFT
dG9yZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIwNTcsNiArMjA1NywxMiBAQCBzdGF0aWMgU3Ry
aW5nIGNvbXB1dGVNZWRpYUtleUZpbGUoY29uc3QgCiAgICAgcmV0dXJuIEZpbGVTeXN0ZW06OnBh
dGhCeUFwcGVuZGluZ0NvbXBvbmVudChtZWRpYUtleURpcmVjdG9yeSwgIlNlY3VyZVN0b3AucGxp
c3QiKTsKIH0KIAordm9pZCBXZWJzaXRlRGF0YVN0b3JlOjphbGxvd1NwZWNpZmljSFRUUFNDZXJ0
aWZpY2F0ZUZvckhvc3QoY29uc3QgV2ViQ2VydGlmaWNhdGVJbmZvKiBjZXJ0aWZpY2F0ZSwgY29u
c3QgU3RyaW5nJiBob3N0KQoreworICAgIGZvciAoYXV0byYgcHJvY2Vzc1Bvb2wgOiBwcm9jZXNz
UG9vbHMoKSkKKyAgICAgICAgcHJvY2Vzc1Bvb2wtPmVuc3VyZU5ldHdvcmtQcm9jZXNzKCkuc2Vu
ZChNZXNzYWdlczo6TmV0d29ya1Byb2Nlc3M6OkFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRl
Rm9ySG9zdChjZXJ0aWZpY2F0ZS0+Y2VydGlmaWNhdGVJbmZvKCksIGhvc3QpLCAwKTsKK30KKwog
VmVjdG9yPFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YT4gV2Vic2l0ZURhdGFTdG9yZTo6bWVk
aWFLZXlPcmlnaW5zKGNvbnN0IFN0cmluZyYgbWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeSkKIHsK
ICAgICBBU1NFUlQoIW1lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkuaXNFbXB0eSgpKTsKSW5kZXg6
IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRl
RGF0YVN0b3JlLmgJKHJldmlzaW9uIDI2NzEwMSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuaAkod29ya2luZyBjb3B5KQpAQCAtNzYsNiAr
NzYsNyBAQCBjbGFzcyBBdXRoZW50aWNhdG9yTWFuYWdlcjsKIGNsYXNzIFNlY0tleVByb3h5U3Rv
cmU7CiBjbGFzcyBEZXZpY2VJZEhhc2hTYWx0U3RvcmFnZTsKIGNsYXNzIFNPQXV0aG9yaXphdGlv
bkNvb3JkaW5hdG9yOworY2xhc3MgV2ViQ2VydGlmaWNhdGVJbmZvOwogY2xhc3MgV2ViUGFnZVBy
b3h5OwogY2xhc3MgV2ViUHJvY2Vzc1Bvb2w7CiBjbGFzcyBXZWJQcm9jZXNzUHJveHk7CkBAIC0y
MjcsNiArMjI4LDggQEAgcHVibGljOgogICAgIGNvbnN0IFN0cmluZyYgcmVzb2x2ZWRSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzRGlyZWN0b3J5KCkgY29uc3QgeyByZXR1cm4gbV9yZXNvbHZlZENvbmZp
Z3VyYXRpb24tPnJlc291cmNlTG9hZFN0YXRpc3RpY3NEaXJlY3RvcnkoKTsgfQogICAgIGNvbnN0
IFN0cmluZyYgcmVzb2x2ZWRIU1RTU3RvcmFnZURpcmVjdG9yeSgpIGNvbnN0IHsgcmV0dXJuIG1f
cmVzb2x2ZWRDb25maWd1cmF0aW9uLT5oc3RzU3RvcmFnZURpcmVjdG9yeSgpOyB9CiAKKyAgICB2
b2lkIGFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdChjb25zdCBXZWJDZXJ0aWZp
Y2F0ZUluZm8qLCBjb25zdCBTdHJpbmcmIGhvc3QpOworCiAgICAgRGV2aWNlSWRIYXNoU2FsdFN0
b3JhZ2UmIGRldmljZUlkSGFzaFNhbHRTdG9yYWdlKCkgeyByZXR1cm4gbV9kZXZpY2VJZEhhc2hT
YWx0U3RvcmFnZS5nZXQoKTsgfQogCiAgICAgV2ViUHJvY2Vzc1Bvb2wqIHByb2Nlc3NQb29sRm9y
Q29va2llU3RvcmFnZU9wZXJhdGlvbnMoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408880</attachid>
            <date>2020-09-15 17:28:10 -0700</date>
            <delta_ts>2020-09-16 09:28:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216585-20200915172809.patch</filename>
            <type>text/plain</type>
            <size>13266</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNjcxMDEpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM3IEBACisyMDIwLTA5LTE1ICBBbGV4IENocmlz
dGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgTW92ZSBUTFMgY2Vy
dGlmaWNhdGUgYnlwYXNzIFNQSSBmcm9tIFdlYlByb2Nlc3NQb29sIHRvIFdlYnNpdGVEYXRhU3Rv
cmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNjU4
NQorCisgICAgICAgIFJldmlld2VkIGJ5IEdlb2ZmcmV5IEdhcmVuLgorCisgICAgICAgIEl0IHdp
bGwgZXZlbnR1YWxseSBiZSByZXBsYWNlZCBieSBXS05hdmlnYXRpb25EZWxlZ2F0ZSdzIGRpZFJl
Y2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSBpbiByZGFyOi8vMzA2NTU3NDAKKyAgICAgICAg
YnV0IHRoZSBTUEkgbmVlZHMgdG8gY29udGludWUgdG8gZXhpc3Qgc29tZXdoZXJlIHVudGlsIHRo
YXQgaXMgY29tcGxldGUuCisgICAgICAgIEluIHRoZSBtZWFudGltZSwgaXQgbmVlZHMgdG8gYmUg
bW92ZWQgZnJvbSB0aGUgV2ViUHJvY2Vzc1Bvb2wgZm9yIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMTYwNDEKKyAgICAgICAgYW5kIHJkYXI6Ly9wcm9ibGVtLzY4OTQy
ODE1IHRyYWNrcyBTYWZhcmkncyBhZG9wdGlvbiBvZiB0aGUgU1BJIGludHJvZHVjZWQgaGVyZSwg
d2hpY2ggSSB3aWxsIGZpeCB3aXRoaW4gYW4gaG91ciBvZiBsYW5kaW5nIHRoaXMuCisKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0LmNwcDoKKyAgICAgICAgKFdLQ29udGV4dEFs
bG93U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdCk6CisgICAgICAgICogVUlQcm9jZXNz
L0FQSS9DL1dLQ29udGV4dFByaXZhdGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29h
L1dLUHJvY2Vzc0dyb3VwLm1tOgorICAgICAgICAoLVtXS1Byb2Nlc3NHcm91cCBfc2V0QWxsb3dz
U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlOmZvckhvc3Q6XSk6IERlbGV0ZWQuCisgICAgICAgICog
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS1Byb2Nlc3NHcm91cFByaXZhdGUuaDoKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL0NvY29hL1dLUHJvY2Vzc1Bvb2wubW06CisgICAgICAgICgtW1dLUHJvY2Vz
c1Bvb2wgX3NldEFsbG93c1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZTpmb3JIb3N0Ol0pOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcm9jZXNzUG9vbFByaXZhdGUuaDoKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0ZURhdGFTdG9yZS5tbToKKyAgICAgICAg
KC1bV0tXZWJzaXRlRGF0YVN0b3JlIF9hbGxvd1RMU0NlcnRpZmljYXRlOmZvckhvc3Q6XSk6Cisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYnNpdGVEYXRhU3RvcmVQcml2YXRlLmg6
CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFdlYkNvbnRleHQuY3BwOgorICAg
ICAgICAod2Via2l0X3dlYl9jb250ZXh0X2FsbG93X3Rsc19jZXJ0aWZpY2F0ZV9mb3JfaG9zdCk6
CisgICAgICAgIFVzZSB0aGUgZGVmYXVsdCBkYXRhIHN0b3JlIHVudGlsIHRoaXMgQVBJIGNhbiBi
ZSByZXBsYWNlZCBieSBBUEkgaW4gYSBkaWZmZXJlbnQgcGxhY2UuCisgICAgICAgICogVUlQcm9j
ZXNzL1dlYlByb2Nlc3NQb29sLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6
OmFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdCk6IERlbGV0ZWQuCisgICAgICAg
ICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYnNp
dGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJzaXRlRGF0
YVN0b3JlOjphbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3QpOgorICAgICAgICAq
IFVJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmg6CisKIDIwMjAtMDktMTUg
IFNhbSBXZWluaWcgIDx3ZWluaWdAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSBydW50aW1l
IHNldHRpbmcgZm9yIGVuYWJsaW5nL2Rpc2FibGluZyB0aGUgZmV0Y2ggQVBJCkluZGV4OiBTb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCShyZXZpc2lvbiAyNjcxMDEp
CisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTE4MzgsMTIgKzE4MzgsNiBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjpjbGVhckxl
Z2FjeVByaXZhdGVCCiAgICAgY29tcGxldGlvbkhhbmRsZXIoKTsKIH0KIAotdm9pZCBXZWJQcm9j
ZXNzUG9vbDo6YWxsb3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KGNvbnN0IFdlYkNl
cnRpZmljYXRlSW5mbyogY2VydGlmaWNhdGUsIGNvbnN0IFN0cmluZyYgaG9zdCkKLXsKLSAgICBl
bnN1cmVOZXR3b3JrUHJvY2VzcygpOwotICAgIG1fbmV0d29ya1Byb2Nlc3MtPnNlbmQoTWVzc2Fn
ZXM6Ok5ldHdvcmtQcm9jZXNzOjpBbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3Qo
Y2VydGlmaWNhdGUtPmNlcnRpZmljYXRlSW5mbygpLCBob3N0KSwgMCk7Ci19Ci0KIHZvaWQgV2Vi
UHJvY2Vzc1Bvb2w6OnVwZGF0ZUF1dG9tYXRpb25DYXBhYmlsaXRpZXMoKSBjb25zdAogewogI2lm
IEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKQpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUHJvY2Vzc1Bvb2wuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQcm9jZXNzUG9vbC5oCShyZXZpc2lvbiAyNjcxMDEpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQcm9jZXNzUG9vbC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMzcsOCArMzM3LDYgQEAg
cHVibGljOgogCiAgICAgdm9pZCByZXBvcnRXZWJDb250ZW50Q1BVVGltZShTZWNvbmRzIGNwdVRp
bWUsIHVpbnQ2NF90IGFjdGl2aXR5U3RhdGUpOwogCi0gICAgdm9pZCBhbGxvd1NwZWNpZmljSFRU
UFNDZXJ0aWZpY2F0ZUZvckhvc3QoY29uc3QgV2ViQ2VydGlmaWNhdGVJbmZvKiwgY29uc3QgU3Ry
aW5nJiBob3N0KTsKLQogICAgIFdlYlByb2Nlc3NQcm94eSYgcHJvY2Vzc0ZvclJlZ2lzdHJhYmxl
RG9tYWluKFdlYnNpdGVEYXRhU3RvcmUmLCBXZWJQYWdlUHJveHkqLCBjb25zdCBXZWJDb3JlOjpS
ZWdpc3RyYWJsZURvbWFpbiYpOyAvLyBXaWxsIHJldHVybiBhbiBleGlzdGluZyBvbmUgaWYgbGlt
aXQgaXMgbWV0IG9yIGR1ZSB0byBjYWNoaW5nLgogCiAgICAgdm9pZCBwcmV3YXJtUHJvY2Vzcygp
OwpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHQuY3BwCShy
ZXZpc2lvbiAyNjcxMDEpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS0NvbnRl
eHQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00ODUsOSArNDg1LDggQEAgdm9pZCBXS0NvbnRleHRT
ZXRJY29uRGF0YWJhc2VQYXRoKFdLQ29udAogewogfQogCi12b2lkIFdLQ29udGV4dEFsbG93U3Bl
Y2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdChXS0NvbnRleHRSZWYgY29udGV4dFJlZiwgV0tD
ZXJ0aWZpY2F0ZUluZm9SZWYgY2VydGlmaWNhdGVSZWYsIFdLU3RyaW5nUmVmIGhvc3RSZWYpCit2
b2lkIFdLQ29udGV4dEFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdChXS0NvbnRl
eHRSZWYsIFdLQ2VydGlmaWNhdGVJbmZvUmVmLCBXS1N0cmluZ1JlZikKIHsKLSAgICBXZWJLaXQ6
OnRvSW1wbChjb250ZXh0UmVmKS0+YWxsb3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0
KFdlYktpdDo6dG9JbXBsKGNlcnRpZmljYXRlUmVmKSwgV2ViS2l0Ojp0b0ltcGwoaG9zdFJlZikt
PnN0cmluZygpKTsKIH0KIAogdm9pZCBXS0NvbnRleHREaXNhYmxlUHJvY2Vzc1Rlcm1pbmF0aW9u
KFdLQ29udGV4dFJlZiBjb250ZXh0UmVmKQpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0MvV0tDb250ZXh0UHJpdmF0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9DL1dLQ29udGV4dFByaXZhdGUuaAkocmV2aXNpb24gMjY3MTAxKQorKysgU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0UHJpdmF0ZS5oCSh3b3JraW5nIGNv
cHkpCkBAIC02OCw3ICs2OCw3IEBAIFdLX0VYUE9SVCB2b2lkIFdLQ29udGV4dFNldERpc2tDYWNo
ZVNwZWMKIAogV0tfRVhQT1JUIHZvaWQgV0tDb250ZXh0U2V0SWNvbkRhdGFiYXNlUGF0aChXS0Nv
bnRleHRSZWYgY29udGV4dCwgV0tTdHJpbmdSZWYgaWNvbkRhdGFiYXNlUGF0aCk7CiAKLVdLX0VY
UE9SVCB2b2lkIFdLQ29udGV4dEFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdChX
S0NvbnRleHRSZWYgY29udGV4dCwgV0tDZXJ0aWZpY2F0ZUluZm9SZWYgY2VydGlmaWNhdGUsIFdL
U3RyaW5nUmVmIGhvc3QpOworV0tfRVhQT1JUIHZvaWQgV0tDb250ZXh0QWxsb3dTcGVjaWZpY0hU
VFBTQ2VydGlmaWNhdGVGb3JIb3N0KFdLQ29udGV4dFJlZiBjb250ZXh0LCBXS0NlcnRpZmljYXRl
SW5mb1JlZiBjZXJ0aWZpY2F0ZSwgV0tTdHJpbmdSZWYgaG9zdCkgV0tfQ19BUElfREVQUkVDQVRF
RDsKIAogLy8gRklYTUU6IFRoaXMgaXMgYSB3b3JrYXJvdW5kIGZvciB0ZXN0aW5nIHB1cnBvc2Vz
IG9ubHkgYW5kIHNob3VsZCBiZSByZW1vdmVkIG9uY2UgYSBiZXR0ZXIKIC8vIHNvbHV0aW9uIGhh
cyBiZWVuIGZvdW5kIGZvciB0ZXN0aW5nLgpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0NvY29hL1dLUHJvY2Vzc0dyb3VwLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS1Byb2Nlc3NHcm91cC5tbQkocmV2aXNpb24gMjY3MTAxKQor
KysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJvY2Vzc0dyb3VwLm1tCSh3
b3JraW5nIGNvcHkpCkBAIC0yNjksMTEgKzI2OSw2IEBAIC0gKFdLQ29udGV4dFJlZilfY29udGV4
dFJlZgogICAgIHJldHVybiB0b0FQSShfcHJvY2Vzc1Bvb2wuZ2V0KCkpOwogfQogCi0tICh2b2lk
KV9zZXRBbGxvd3NTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGU6KE5TQXJyYXkgKiljZXJ0aWZpY2F0
ZUNoYWluIGZvckhvc3Q6KE5TU3RyaW5nICopaG9zdAotewotICAgIF9wcm9jZXNzUG9vbC0+YWxs
b3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KFdlYktpdDo6V2ViQ2VydGlmaWNhdGVJ
bmZvOjpjcmVhdGUoV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvKChfX2JyaWRnZSBDRkFycmF5UmVm
KWNlcnRpZmljYXRlQ2hhaW4pKS5wdHIoKSwgaG9zdCk7Ci19Ci0KICNpZiBQTEFURk9STShJT1Nf
RkFNSUxZKQogLSAoV0tHZW9sb2NhdGlvblByb3ZpZGVySU9TICopX2dlb2xvY2F0aW9uUHJvdmlk
ZXIKIHsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1Byb2Nlc3NH
cm91cFByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tQcm9jZXNzR3JvdXBQcml2YXRlLmgJKHJldmlzaW9uIDI2NzEwMSkKKysrIFNvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1Byb2Nlc3NHcm91cFByaXZhdGUuaAkod29y
a2luZyBjb3B5KQpAQCAtMzUsOCArMzUsNiBAQAogCiBAcHJvcGVydHkocmVhZG9ubHkpIFdLQ29u
dGV4dFJlZiBfY29udGV4dFJlZjsKIAotLSAodm9pZClfc2V0QWxsb3dzU3BlY2lmaWNIVFRQU0Nl
cnRpZmljYXRlOihOU0FycmF5ICopY2VydGlmaWNhdGVDaGFpbiBmb3JIb3N0OihOU1N0cmluZyAq
KWhvc3Q7Ci0KICNpZiBUQVJHRVRfT1NfSVBIT05FCiBAcHJvcGVydHkocmVhZG9ubHkpIFdLR2Vv
bG9jYXRpb25Qcm92aWRlcklPUyAqX2dlb2xvY2F0aW9uUHJvdmlkZXI7CiAjZW5kaWYKSW5kZXg6
IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1Byb2Nlc3NQb29sLm1tCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1Byb2Nlc3NQb29s
Lm1tCShyZXZpc2lvbiAyNjcxMDEpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tQcm9jZXNzUG9vbC5tbQkod29ya2luZyBjb3B5KQpAQCAtMTg3LDcgKzE4Nyw2IEBAICsg
KE5TVVJMICopX3dlYnNpdGVEYXRhVVJMRm9yQ29udGFpbmVyV2kKIAogLSAodm9pZClfc2V0QWxs
b3dzU3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlOihOU0FycmF5ICopY2VydGlmaWNhdGVDaGFpbiBm
b3JIb3N0OihOU1N0cmluZyAqKWhvc3QKIHsKLSAgICBfcHJvY2Vzc1Bvb2wtPmFsbG93U3BlY2lm
aWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdChXZWJLaXQ6OldlYkNlcnRpZmljYXRlSW5mbzo6Y3Jl
YXRlKFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbygoX19icmlkZ2UgQ0ZBcnJheVJlZiljZXJ0aWZp
Y2F0ZUNoYWluKSkucHRyKCksIGhvc3QpOwogfQogCiAtICh2b2lkKV9yZWdpc3RlclVSTFNjaGVt
ZUFzQ2FuRGlzcGxheU9ubHlJZkNhblJlcXVlc3Q6KE5TU3RyaW5nICopc2NoZW1lCkluZGV4OiBT
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcm9jZXNzUG9vbFByaXZhdGUuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcm9jZXNz
UG9vbFByaXZhdGUuaAkocmV2aXNpb24gMjY3MTAxKQorKysgU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLUHJvY2Vzc1Bvb2xQcml2YXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ4
LDcgKzQ4LDcgQEAKIAogQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBfV0tQcm9jZXNz
UG9vbENvbmZpZ3VyYXRpb24gKl9jb25maWd1cmF0aW9uOwogCi0tICh2b2lkKV9zZXRBbGxvd3NT
cGVjaWZpY0hUVFBTQ2VydGlmaWNhdGU6KE5TQXJyYXkgKiljZXJ0aWZpY2F0ZUNoYWluIGZvckhv
c3Q6KE5TU3RyaW5nICopaG9zdDsKKy0gKHZvaWQpX3NldEFsbG93c1NwZWNpZmljSFRUUFNDZXJ0
aWZpY2F0ZTooTlNBcnJheSAqKWNlcnRpZmljYXRlQ2hhaW4gZm9ySG9zdDooTlNTdHJpbmcgKilo
b3N0IFdLX0FQSV9ERVBSRUNBVEVEX1dJVEhfUkVQTEFDRU1FTlQoIldLV2Vic2l0ZURhdGFTdG9y
ZS5fYWxsb3dUTFNDZXJ0aWZpY2F0ZUNoYWluOmZvckhvc3Q6IiwgbWFjb3MoMTAuMTAsIFdLX01B
Q19UQkEpLCBpb3MoOC4wLCBXS19JT1NfVEJBKSk7CiAtICh2b2lkKV9zZXRDYW5IYW5kbGVIVFRQ
U1NlcnZlclRydXN0RXZhbHVhdGlvbjooQk9PTCl2YWx1ZSBXS19BUElfREVQUkVDQVRFRF9XSVRI
X1JFUExBQ0VNRU5UKCJfV0tXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbi5mYXN0U2VydmVy
VHJ1c3RFdmFsdWF0aW9uRW5hYmxlZCIsIG1hY29zKDEwLjExLCBXS19NQUNfVEJBKSwgaW9zKDku
MCwgV0tfSU9TX1RCQSkpOwogLSAodm9pZClfc2V0Q29va2llQWNjZXB0UG9saWN5OihOU0hUVFBD
b29raWVBY2NlcHRQb2xpY3kpcG9saWN5IFdLX0FQSV9ERVBSRUNBVEVEX1dJVEhfUkVQTEFDRU1F
TlQoIldLSFRUUENvb2tpZVN0b3JlLl9zZXRDb29raWVBY2NlcHRQb2xpY3k6Y29tcGxldGlvbkhh
bmRsZXI6IiwgbWFjb3MoMTAuMTAsIFdLX01BQ19UQkEpLCBpb3MoOC4wLCBXS19JT1NfVEJBKSk7
CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYnNpdGVEYXRh
U3RvcmUubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29h
L1dLV2Vic2l0ZURhdGFTdG9yZS5tbQkocmV2aXNpb24gMjY3MTAxKQorKysgU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0ZURhdGFTdG9yZS5tbQkod29ya2luZyBjb3B5
KQpAQCAtNjMzLDYgKzYzMywxMSBAQCAtIChfV0tXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlv
biAqKV9jCiAgICAgcmV0dXJuIHdyYXBwZXIoX3dlYnNpdGVEYXRhU3RvcmUtPmNvbmZpZ3VyYXRp
b24oKS5jb3B5KCkpOwogfQogCistICh2b2lkKV9hbGxvd1RMU0NlcnRpZmljYXRlQ2hhaW46KE5T
QXJyYXkgKiljZXJ0aWZpY2F0ZUNoYWluIGZvckhvc3Q6KE5TU3RyaW5nICopaG9zdAoreworICAg
IF93ZWJzaXRlRGF0YVN0b3JlLT5hbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3Qo
V2ViS2l0OjpXZWJDZXJ0aWZpY2F0ZUluZm86OmNyZWF0ZShXZWJDb3JlOjpDZXJ0aWZpY2F0ZUlu
Zm8oKF9fYnJpZGdlIENGQXJyYXlSZWYpY2VydGlmaWNhdGVDaGFpbikpLnB0cigpLCBob3N0KTsK
K30KKwogLSAodm9pZClfYXBwQm91bmREb21haW5zOih2b2lkICheKShOU0FycmF5PE5TU3RyaW5n
ICo+ICopKWNvbXBsZXRpb25IYW5kbGVyCiB7CiAjaWYgRU5BQkxFKEFQUF9CT1VORF9ET01BSU5T
KQpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0ZURhdGFT
dG9yZVByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tXZWJzaXRlRGF0YVN0b3JlUHJpdmF0ZS5oCShyZXZpc2lvbiAyNjcxMDEpCisrKyBT
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJzaXRlRGF0YVN0b3JlUHJpdmF0
ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC04MSw2ICs4MSw4IEBAIHR5cGVkZWYgTlNfT1BUSU9OUyhO
U1VJbnRlZ2VyLCBfV0tXZWJzaXQKIC0gKHZvaWQpX2FwcEJvdW5kRG9tYWluczoodm9pZCAoXiko
TlNBcnJheTxOU1N0cmluZyAqPiAqKSljb21wbGV0aW9uSGFuZGxlciBXS19BUElfQVZBSUxBQkxF
KG1hY29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOwogLSAodm9pZClfYXBwQm91bmRT
Y2hlbWVzOih2b2lkICheKShOU0FycmF5PE5TU3RyaW5nICo+ICopKWNvbXBsZXRpb25IYW5kbGVy
IFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CiAK
Ky0gKHZvaWQpX2FsbG93VExTQ2VydGlmaWNhdGVDaGFpbjooTlNBcnJheSAqKWNlcnRpZmljYXRl
Q2hhaW4gZm9ySG9zdDooTlNTdHJpbmcgKilob3N0IFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoV0tf
TUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CisKIC0gKHZvaWQpX3JlbmFtZU9yaWdpbjooTlNV
UkwgKilvbGROYW1lIHRvOihOU1VSTCAqKW5ld05hbWUgZm9yRGF0YU9mVHlwZXM6KE5TU2V0PE5T
U3RyaW5nICo+ICopZGF0YVR5cGVzIGNvbXBsZXRpb25IYW5kbGVyOih2b2lkICheKSh2b2lkKSlj
b21wbGV0aW9uSGFuZGxlcjsKIAogQHByb3BlcnR5IChudWxsYWJsZSwgbm9uYXRvbWljLCB3ZWFr
KSBpZCA8X1dLV2Vic2l0ZURhdGFTdG9yZURlbGVnYXRlPiBfZGVsZWdhdGUgV0tfQVBJX0FWQUlM
QUJMRShtYWNvcygxMC4xNSksIGlvcygxMy4wKSk7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvZ2xpYi9XZWJLaXRXZWJDb250ZXh0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRXZWJDb250ZXh0LmNwcAkocmV2aXNpb24g
MjY3MTAxKQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0V2ViQ29u
dGV4dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU2LDYgKzU2LDcgQEAKICNpbmNsdWRlICJXZWJO
b3RpZmljYXRpb25NYW5hZ2VyUHJveHkuaCIKICNpbmNsdWRlICJXZWJQcm9jZXNzTWVzc2FnZXMu
aCIKICNpbmNsdWRlICJXZWJVUkxTY2hlbWVIYW5kbGVyLmgiCisjaW5jbHVkZSAiV2Vic2l0ZURh
dGFTdG9yZS5oIgogI2luY2x1ZGUgIldlYnNpdGVEYXRhVHlwZS5oIgogI2luY2x1ZGUgPEphdmFT
Y3JpcHRDb3JlL1JlbW90ZUluc3BlY3Rvci5oPgogI2luY2x1ZGUgPGdsaWIvZ2kxOG4tbGliLmg+
CkBAIC0xNjI0LDcgKzE2MjUsNyBAQCB2b2lkIHdlYmtpdF93ZWJfY29udGV4dF9hbGxvd190bHNf
Y2VydGlmCiAgICAgZ19yZXR1cm5faWZfZmFpbChob3N0KTsKIAogICAgIGF1dG8gd2ViQ2VydGlm
aWNhdGVJbmZvID0gV2ViQ2VydGlmaWNhdGVJbmZvOjpjcmVhdGUoV2ViQ29yZTo6Q2VydGlmaWNh
dGVJbmZvKGNlcnRpZmljYXRlLCBzdGF0aWNfY2FzdDxHVGxzQ2VydGlmaWNhdGVGbGFncz4oMCkp
KTsKLSAgICBjb250ZXh0LT5wcml2LT5wcm9jZXNzUG9vbC0+YWxsb3dTcGVjaWZpY0hUVFBTQ2Vy
dGlmaWNhdGVGb3JIb3N0KHdlYkNlcnRpZmljYXRlSW5mby5wdHIoKSwgU3RyaW5nOjpmcm9tVVRG
OChob3N0KSk7CisgICAgV2Vic2l0ZURhdGFTdG9yZTo6ZGVmYXVsdERhdGFTdG9yZSgpLT5hbGxv
d1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3Qod2ViQ2VydGlmaWNhdGVJbmZvLnB0cigp
LCBTdHJpbmc6OmZyb21VVEY4KGhvc3QpKTsKIH0KIAogLyoqCkluZGV4OiBTb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmNw
cAkocmV2aXNpb24gMjY3MTAxKQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURh
dGEvV2Vic2l0ZURhdGFTdG9yZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIwNTcsNiArMjA1Nywx
MiBAQCBzdGF0aWMgU3RyaW5nIGNvbXB1dGVNZWRpYUtleUZpbGUoY29uc3QgCiAgICAgcmV0dXJu
IEZpbGVTeXN0ZW06OnBhdGhCeUFwcGVuZGluZ0NvbXBvbmVudChtZWRpYUtleURpcmVjdG9yeSwg
IlNlY3VyZVN0b3AucGxpc3QiKTsKIH0KIAordm9pZCBXZWJzaXRlRGF0YVN0b3JlOjphbGxvd1Nw
ZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3QoY29uc3QgV2ViQ2VydGlmaWNhdGVJbmZvKiBj
ZXJ0aWZpY2F0ZSwgY29uc3QgU3RyaW5nJiBob3N0KQoreworICAgIGZvciAoYXV0byYgcHJvY2Vz
c1Bvb2wgOiBwcm9jZXNzUG9vbHMoKSkKKyAgICAgICAgcHJvY2Vzc1Bvb2wtPmVuc3VyZU5ldHdv
cmtQcm9jZXNzKCkuc2VuZChNZXNzYWdlczo6TmV0d29ya1Byb2Nlc3M6OkFsbG93U3BlY2lmaWNI
VFRQU0NlcnRpZmljYXRlRm9ySG9zdChjZXJ0aWZpY2F0ZS0+Y2VydGlmaWNhdGVJbmZvKCksIGhv
c3QpLCAwKTsKK30KKwogVmVjdG9yPFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YT4gV2Vic2l0
ZURhdGFTdG9yZTo6bWVkaWFLZXlPcmlnaW5zKGNvbnN0IFN0cmluZyYgbWVkaWFLZXlzU3RvcmFn
ZURpcmVjdG9yeSkKIHsKICAgICBBU1NFUlQoIW1lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkuaXNF
bXB0eSgpKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNp
dGVEYXRhU3RvcmUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJz
aXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmgJKHJldmlzaW9uIDI2NzEwMSkKKysrIFNvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuaAkod29ya2luZyBj
b3B5KQpAQCAtNzYsNiArNzYsNyBAQCBjbGFzcyBBdXRoZW50aWNhdG9yTWFuYWdlcjsKIGNsYXNz
IFNlY0tleVByb3h5U3RvcmU7CiBjbGFzcyBEZXZpY2VJZEhhc2hTYWx0U3RvcmFnZTsKIGNsYXNz
IFNPQXV0aG9yaXphdGlvbkNvb3JkaW5hdG9yOworY2xhc3MgV2ViQ2VydGlmaWNhdGVJbmZvOwog
Y2xhc3MgV2ViUGFnZVByb3h5OwogY2xhc3MgV2ViUHJvY2Vzc1Bvb2w7CiBjbGFzcyBXZWJQcm9j
ZXNzUHJveHk7CkBAIC0yMjcsNiArMjI4LDggQEAgcHVibGljOgogICAgIGNvbnN0IFN0cmluZyYg
cmVzb2x2ZWRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGlyZWN0b3J5KCkgY29uc3QgeyByZXR1cm4g
bV9yZXNvbHZlZENvbmZpZ3VyYXRpb24tPnJlc291cmNlTG9hZFN0YXRpc3RpY3NEaXJlY3Rvcnko
KTsgfQogICAgIGNvbnN0IFN0cmluZyYgcmVzb2x2ZWRIU1RTU3RvcmFnZURpcmVjdG9yeSgpIGNv
bnN0IHsgcmV0dXJuIG1fcmVzb2x2ZWRDb25maWd1cmF0aW9uLT5oc3RzU3RvcmFnZURpcmVjdG9y
eSgpOyB9CiAKKyAgICB2b2lkIGFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdChj
b25zdCBXZWJDZXJ0aWZpY2F0ZUluZm8qLCBjb25zdCBTdHJpbmcmIGhvc3QpOworCiAgICAgRGV2
aWNlSWRIYXNoU2FsdFN0b3JhZ2UmIGRldmljZUlkSGFzaFNhbHRTdG9yYWdlKCkgeyByZXR1cm4g
bV9kZXZpY2VJZEhhc2hTYWx0U3RvcmFnZS5nZXQoKTsgfQogCiAgICAgV2ViUHJvY2Vzc1Bvb2wq
IHByb2Nlc3NQb29sRm9yQ29va2llU3RvcmFnZU9wZXJhdGlvbnMoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408927</attachid>
            <date>2020-09-16 09:28:52 -0700</date>
            <delta_ts>2020-09-16 11:21:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216585-20200916092851.patch</filename>
            <type>text/plain</type>
            <size>13418</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNjcxNDcpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM3IEBACisyMDIwLTA5LTE2ICBBbGV4IENocmlz
dGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgTW92ZSBUTFMgY2Vy
dGlmaWNhdGUgYnlwYXNzIFNQSSBmcm9tIFdlYlByb2Nlc3NQb29sIHRvIFdlYnNpdGVEYXRhU3Rv
cmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNjU4
NQorCisgICAgICAgIFJldmlld2VkIGJ5IEdlb2ZmcmV5IEdhcmVuLgorCisgICAgICAgIEl0IHdp
bGwgZXZlbnR1YWxseSBiZSByZXBsYWNlZCBieSBXS05hdmlnYXRpb25EZWxlZ2F0ZSdzIGRpZFJl
Y2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSBpbiByZGFyOi8vMzA2NTU3NDAKKyAgICAgICAg
YnV0IHRoZSBTUEkgbmVlZHMgdG8gY29udGludWUgdG8gZXhpc3Qgc29tZXdoZXJlIHVudGlsIHRo
YXQgaXMgY29tcGxldGUuCisgICAgICAgIEluIHRoZSBtZWFudGltZSwgaXQgbmVlZHMgdG8gYmUg
bW92ZWQgZnJvbSB0aGUgV2ViUHJvY2Vzc1Bvb2wgZm9yIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMTYwNDEKKyAgICAgICAgYW5kIHJkYXI6Ly9wcm9ibGVtLzY4OTQy
ODE1IHRyYWNrcyBTYWZhcmkncyBhZG9wdGlvbiBvZiB0aGUgU1BJIGludHJvZHVjZWQgaGVyZSwg
d2hpY2ggSSB3aWxsIGZpeCB3aXRoaW4gYW4gaG91ciBvZiBsYW5kaW5nIHRoaXMuCisKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0LmNwcDoKKyAgICAgICAgKFdLQ29udGV4dEFs
bG93U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdCk6CisgICAgICAgICogVUlQcm9jZXNz
L0FQSS9DL1dLQ29udGV4dFByaXZhdGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29h
L1dLUHJvY2Vzc0dyb3VwLm1tOgorICAgICAgICAoLVtXS1Byb2Nlc3NHcm91cCBfc2V0QWxsb3dz
U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlOmZvckhvc3Q6XSk6IERlbGV0ZWQuCisgICAgICAgICog
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS1Byb2Nlc3NHcm91cFByaXZhdGUuaDoKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL0NvY29hL1dLUHJvY2Vzc1Bvb2wubW06CisgICAgICAgICgtW1dLUHJvY2Vz
c1Bvb2wgX3NldEFsbG93c1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZTpmb3JIb3N0Ol0pOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcm9jZXNzUG9vbFByaXZhdGUuaDoKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0ZURhdGFTdG9yZS5tbToKKyAgICAgICAg
KC1bV0tXZWJzaXRlRGF0YVN0b3JlIF9hbGxvd1RMU0NlcnRpZmljYXRlOmZvckhvc3Q6XSk6Cisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYnNpdGVEYXRhU3RvcmVQcml2YXRlLmg6
CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFdlYkNvbnRleHQuY3BwOgorICAg
ICAgICAod2Via2l0X3dlYl9jb250ZXh0X2FsbG93X3Rsc19jZXJ0aWZpY2F0ZV9mb3JfaG9zdCk6
CisgICAgICAgIFVzZSB0aGUgZGVmYXVsdCBkYXRhIHN0b3JlIHVudGlsIHRoaXMgQVBJIGNhbiBi
ZSByZXBsYWNlZCBieSBBUEkgaW4gYSBkaWZmZXJlbnQgcGxhY2UuCisgICAgICAgICogVUlQcm9j
ZXNzL1dlYlByb2Nlc3NQb29sLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6
OmFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdCk6IERlbGV0ZWQuCisgICAgICAg
ICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYnNp
dGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJzaXRlRGF0
YVN0b3JlOjphbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3QpOgorICAgICAgICAq
IFVJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmg6CisKIDIwMjAtMDktMTYg
IFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIE1vdmUgTGliV2Vi
UlRDQ29kZWNzUHJveHkgbWVzc2FnZSBoYW5kbGluZyBvdXQgb2YgdGhlIG1haW4gdGhyZWFkCklu
ZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCShyZXZpc2lv
biAyNjcxNDcpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTE4MTUsMTIgKzE4MTUsNiBAQCB2b2lkIFdlYlByb2Nlc3NQb29s
OjpmbHVzaENvb2tpZXMoY29uc3QgCiAgICAgZW5zdXJlTmV0d29ya1Byb2Nlc3MoKS5mbHVzaENv
b2tpZXMoc2Vzc2lvbklELCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CiB9CiAKLXZvaWQg
V2ViUHJvY2Vzc1Bvb2w6OmFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdChjb25z
dCBXZWJDZXJ0aWZpY2F0ZUluZm8qIGNlcnRpZmljYXRlLCBjb25zdCBTdHJpbmcmIGhvc3QpCi17
Ci0gICAgZW5zdXJlTmV0d29ya1Byb2Nlc3MoKTsKLSAgICBtX25ldHdvcmtQcm9jZXNzLT5zZW5k
KE1lc3NhZ2VzOjpOZXR3b3JrUHJvY2Vzczo6QWxsb3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVG
b3JIb3N0KGNlcnRpZmljYXRlLT5jZXJ0aWZpY2F0ZUluZm8oKSwgaG9zdCksIDApOwotfQotCiB2
b2lkIFdlYlByb2Nlc3NQb29sOjp1cGRhdGVBdXRvbWF0aW9uQ2FwYWJpbGl0aWVzKCkgY29uc3QK
IHsKICNpZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlByb2Nlc3NQb29sLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaAkocmV2aXNpb24gMjY3MTQ3KQorKysgU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaAkod29ya2luZyBjb3B5KQpAQCAtMzMzLDggKzMz
Myw2IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgcmVwb3J0V2ViQ29udGVudENQVVRpbWUoU2Vjb25k
cyBjcHVUaW1lLCB1aW50NjRfdCBhY3Rpdml0eVN0YXRlKTsKIAotICAgIHZvaWQgYWxsb3dTcGVj
aWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KGNvbnN0IFdlYkNlcnRpZmljYXRlSW5mbyosIGNv
bnN0IFN0cmluZyYgaG9zdCk7Ci0KICAgICBXZWJQcm9jZXNzUHJveHkmIHByb2Nlc3NGb3JSZWdp
c3RyYWJsZURvbWFpbihXZWJzaXRlRGF0YVN0b3JlJiwgV2ViUGFnZVByb3h5KiwgY29uc3QgV2Vi
Q29yZTo6UmVnaXN0cmFibGVEb21haW4mKTsgLy8gV2lsbCByZXR1cm4gYW4gZXhpc3Rpbmcgb25l
IGlmIGxpbWl0IGlzIG1ldCBvciBkdWUgdG8gY2FjaGluZy4KIAogICAgIHZvaWQgcHJld2FybVBy
b2Nlc3MoKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0
LmNwcAkocmV2aXNpb24gMjY3MTQ3KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Mv
V0tDb250ZXh0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDc1LDkgKzQ3NSw4IEBAIHZvaWQgV0tD
b250ZXh0U2V0SWNvbkRhdGFiYXNlUGF0aChXS0NvbnQKIHsKIH0KIAotdm9pZCBXS0NvbnRleHRB
bGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3QoV0tDb250ZXh0UmVmIGNvbnRleHRS
ZWYsIFdLQ2VydGlmaWNhdGVJbmZvUmVmIGNlcnRpZmljYXRlUmVmLCBXS1N0cmluZ1JlZiBob3N0
UmVmKQordm9pZCBXS0NvbnRleHRBbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3Qo
V0tDb250ZXh0UmVmLCBXS0NlcnRpZmljYXRlSW5mb1JlZiwgV0tTdHJpbmdSZWYpCiB7Ci0gICAg
V2ViS2l0Ojp0b0ltcGwoY29udGV4dFJlZiktPmFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRl
Rm9ySG9zdChXZWJLaXQ6OnRvSW1wbChjZXJ0aWZpY2F0ZVJlZiksIFdlYktpdDo6dG9JbXBsKGhv
c3RSZWYpLT5zdHJpbmcoKSk7CiB9CiAKIHZvaWQgV0tDb250ZXh0RGlzYWJsZVByb2Nlc3NUZXJt
aW5hdGlvbihXS0NvbnRleHRSZWYgY29udGV4dFJlZikKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9DL1dLQ29udGV4dFByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHRQcml2YXRlLmgJKHJldmlzaW9uIDI2NzE0NykK
KysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dFByaXZhdGUuaAkod29y
a2luZyBjb3B5KQpAQCAtNjgsNyArNjgsNyBAQCBXS19FWFBPUlQgdm9pZCBXS0NvbnRleHRTZXRE
aXNrQ2FjaGVTcGVjCiAKIFdLX0VYUE9SVCB2b2lkIFdLQ29udGV4dFNldEljb25EYXRhYmFzZVBh
dGgoV0tDb250ZXh0UmVmIGNvbnRleHQsIFdLU3RyaW5nUmVmIGljb25EYXRhYmFzZVBhdGgpOwog
Ci1XS19FWFBPUlQgdm9pZCBXS0NvbnRleHRBbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZv
ckhvc3QoV0tDb250ZXh0UmVmIGNvbnRleHQsIFdLQ2VydGlmaWNhdGVJbmZvUmVmIGNlcnRpZmlj
YXRlLCBXS1N0cmluZ1JlZiBob3N0KTsKK1dLX0VYUE9SVCB2b2lkIFdLQ29udGV4dEFsbG93U3Bl
Y2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdChXS0NvbnRleHRSZWYgY29udGV4dCwgV0tDZXJ0
aWZpY2F0ZUluZm9SZWYgY2VydGlmaWNhdGUsIFdLU3RyaW5nUmVmIGhvc3QpIFdLX0NfQVBJX0RF
UFJFQ0FURUQ7CiAKIC8vIEZJWE1FOiBUaGlzIGlzIGEgd29ya2Fyb3VuZCBmb3IgdGVzdGluZyBw
dXJwb3NlcyBvbmx5IGFuZCBzaG91bGQgYmUgcmVtb3ZlZCBvbmNlIGEgYmV0dGVyCiAvLyBzb2x1
dGlvbiBoYXMgYmVlbiBmb3VuZCBmb3IgdGVzdGluZy4KSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS1Byb2Nlc3NHcm91cC5tbQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcm9jZXNzR3JvdXAubW0JKHJldmlzaW9uIDI2
NzE0NykKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1Byb2Nlc3NHcm91
cC5tbQkod29ya2luZyBjb3B5KQpAQCAtMjY5LDExICsyNjksNiBAQCAtIChXS0NvbnRleHRSZWYp
X2NvbnRleHRSZWYKICAgICByZXR1cm4gdG9BUEkoX3Byb2Nlc3NQb29sLmdldCgpKTsKIH0KIAot
LSAodm9pZClfc2V0QWxsb3dzU3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlOihOU0FycmF5ICopY2Vy
dGlmaWNhdGVDaGFpbiBmb3JIb3N0OihOU1N0cmluZyAqKWhvc3QKLXsKLSAgICBfcHJvY2Vzc1Bv
b2wtPmFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdChXZWJLaXQ6OldlYkNlcnRp
ZmljYXRlSW5mbzo6Y3JlYXRlKFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbygoX19icmlkZ2UgQ0ZB
cnJheVJlZiljZXJ0aWZpY2F0ZUNoYWluKSkucHRyKCksIGhvc3QpOwotfQotCiAjaWYgUExBVEZP
Uk0oSU9TX0ZBTUlMWSkKIC0gKFdLR2VvbG9jYXRpb25Qcm92aWRlcklPUyAqKV9nZW9sb2NhdGlv
blByb3ZpZGVyCiB7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQ
cm9jZXNzR3JvdXBQcml2YXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLUHJvY2Vzc0dyb3VwUHJpdmF0ZS5oCShyZXZpc2lvbiAyNjcxNDcpCisr
KyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcm9jZXNzR3JvdXBQcml2YXRl
LmgJKHdvcmtpbmcgY29weSkKQEAgLTM1LDggKzM1LDYgQEAKIAogQHByb3BlcnR5KHJlYWRvbmx5
KSBXS0NvbnRleHRSZWYgX2NvbnRleHRSZWY7CiAKLS0gKHZvaWQpX3NldEFsbG93c1NwZWNpZmlj
SFRUUFNDZXJ0aWZpY2F0ZTooTlNBcnJheSAqKWNlcnRpZmljYXRlQ2hhaW4gZm9ySG9zdDooTlNT
dHJpbmcgKilob3N0OwotCiAjaWYgVEFSR0VUX09TX0lQSE9ORQogQHByb3BlcnR5KHJlYWRvbmx5
KSBXS0dlb2xvY2F0aW9uUHJvdmlkZXJJT1MgKl9nZW9sb2NhdGlvblByb3ZpZGVyOwogI2VuZGlm
CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcm9jZXNzUG9vbC5t
bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcm9j
ZXNzUG9vbC5tbQkocmV2aXNpb24gMjY3MTQ3KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0NvY29hL1dLUHJvY2Vzc1Bvb2wubW0JKHdvcmtpbmcgY29weSkKQEAgLTE4Nyw3ICsxODcs
NiBAQCArIChOU1VSTCAqKV93ZWJzaXRlRGF0YVVSTEZvckNvbnRhaW5lcldpCiAKIC0gKHZvaWQp
X3NldEFsbG93c1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZTooTlNBcnJheSAqKWNlcnRpZmljYXRl
Q2hhaW4gZm9ySG9zdDooTlNTdHJpbmcgKilob3N0CiB7Ci0gICAgX3Byb2Nlc3NQb29sLT5hbGxv
d1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3QoV2ViS2l0OjpXZWJDZXJ0aWZpY2F0ZUlu
Zm86OmNyZWF0ZShXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8oKF9fYnJpZGdlIENGQXJyYXlSZWYp
Y2VydGlmaWNhdGVDaGFpbikpLnB0cigpLCBob3N0KTsKIH0KIAogLSAodm9pZClfcmVnaXN0ZXJV
UkxTY2hlbWVBc0NhbkRpc3BsYXlPbmx5SWZDYW5SZXF1ZXN0OihOU1N0cmluZyAqKXNjaGVtZQpJ
bmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJvY2Vzc1Bvb2xQcml2
YXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
UHJvY2Vzc1Bvb2xQcml2YXRlLmgJKHJldmlzaW9uIDI2NzE0NykKKysrIFNvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS1Byb2Nlc3NQb29sUHJpdmF0ZS5oCSh3b3JraW5nIGNvcHkp
CkBAIC00OCw3ICs0OCw3IEBACiAKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgX1dL
UHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uICpfY29uZmlndXJhdGlvbjsKIAotLSAodm9pZClfc2V0
QWxsb3dzU3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlOihOU0FycmF5ICopY2VydGlmaWNhdGVDaGFp
biBmb3JIb3N0OihOU1N0cmluZyAqKWhvc3Q7CistICh2b2lkKV9zZXRBbGxvd3NTcGVjaWZpY0hU
VFBTQ2VydGlmaWNhdGU6KE5TQXJyYXkgKiljZXJ0aWZpY2F0ZUNoYWluIGZvckhvc3Q6KE5TU3Ry
aW5nICopaG9zdCBXS19BUElfREVQUkVDQVRFRF9XSVRIX1JFUExBQ0VNRU5UKCJXS1dlYnNpdGVE
YXRhU3RvcmUuX2FsbG93VExTQ2VydGlmaWNhdGVDaGFpbjpmb3JIb3N0OiIsIG1hY29zKDEwLjEw
LCBXS19NQUNfVEJBKSwgaW9zKDguMCwgV0tfSU9TX1RCQSkpOwogLSAodm9pZClfc2V0Q2FuSGFu
ZGxlSFRUUFNTZXJ2ZXJUcnVzdEV2YWx1YXRpb246KEJPT0wpdmFsdWUgV0tfQVBJX0RFUFJFQ0FU
RURfV0lUSF9SRVBMQUNFTUVOVCgiX1dLV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24uZmFz
dFNlcnZlclRydXN0RXZhbHVhdGlvbkVuYWJsZWQiLCBtYWNvcygxMC4xMSwgV0tfTUFDX1RCQSks
IGlvcyg5LjAsIFdLX0lPU19UQkEpKTsKIC0gKHZvaWQpX3NldENvb2tpZUFjY2VwdFBvbGljeToo
TlNIVFRQQ29va2llQWNjZXB0UG9saWN5KXBvbGljeSBXS19BUElfREVQUkVDQVRFRF9XSVRIX1JF
UExBQ0VNRU5UKCJXS0hUVFBDb29raWVTdG9yZS5fc2V0Q29va2llQWNjZXB0UG9saWN5OmNvbXBs
ZXRpb25IYW5kbGVyOiIsIG1hY29zKDEwLjEwLCBXS19NQUNfVEJBKSwgaW9zKDguMCwgV0tfSU9T
X1RCQSkpOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJz
aXRlRGF0YVN0b3JlLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS1dlYnNpdGVEYXRhU3RvcmUubW0JKHJldmlzaW9uIDI2NzE0NykKKysrIFNvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYnNpdGVEYXRhU3RvcmUubW0JKHdvcmtp
bmcgY29weSkKQEAgLTYzMyw2ICs2MzMsMTEgQEAgLSAoX1dLV2Vic2l0ZURhdGFTdG9yZUNvbmZp
Z3VyYXRpb24gKilfYwogICAgIHJldHVybiB3cmFwcGVyKF93ZWJzaXRlRGF0YVN0b3JlLT5jb25m
aWd1cmF0aW9uKCkuY29weSgpKTsKIH0KIAorLSAodm9pZClfYWxsb3dUTFNDZXJ0aWZpY2F0ZUNo
YWluOihOU0FycmF5ICopY2VydGlmaWNhdGVDaGFpbiBmb3JIb3N0OihOU1N0cmluZyAqKWhvc3QK
K3sKKyAgICBfd2Vic2l0ZURhdGFTdG9yZS0+YWxsb3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVG
b3JIb3N0KFdlYktpdDo6V2ViQ2VydGlmaWNhdGVJbmZvOjpjcmVhdGUoV2ViQ29yZTo6Q2VydGlm
aWNhdGVJbmZvKChfX2JyaWRnZSBDRkFycmF5UmVmKWNlcnRpZmljYXRlQ2hhaW4pKS5wdHIoKSwg
aG9zdCk7Cit9CisKIC0gKHZvaWQpX2FwcEJvdW5kRG9tYWluczoodm9pZCAoXikoTlNBcnJheTxO
U1N0cmluZyAqPiAqKSljb21wbGV0aW9uSGFuZGxlcgogewogI2lmIEVOQUJMRShBUFBfQk9VTkRf
RE9NQUlOUykKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYnNp
dGVEYXRhU3RvcmVQcml2YXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLV2Vic2l0ZURhdGFTdG9yZVByaXZhdGUuaAkocmV2aXNpb24gMjY3MTQ3
KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0ZURhdGFTdG9y
ZVByaXZhdGUuaAkod29ya2luZyBjb3B5KQpAQCAtODEsNiArODEsOCBAQCB0eXBlZGVmIE5TX09Q
VElPTlMoTlNVSW50ZWdlciwgX1dLV2Vic2l0CiAtICh2b2lkKV9hcHBCb3VuZERvbWFpbnM6KHZv
aWQgKF4pKE5TQXJyYXk8TlNTdHJpbmcgKj4gKikpY29tcGxldGlvbkhhbmRsZXIgV0tfQVBJX0FW
QUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKIC0gKHZvaWQpX2Fw
cEJvdW5kU2NoZW1lczoodm9pZCAoXikoTlNBcnJheTxOU1N0cmluZyAqPiAqKSljb21wbGV0aW9u
SGFuZGxlciBXS19BUElfQVZBSUxBQkxFKG1hY29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RC
QSkpOwogCistICh2b2lkKV9hbGxvd1RMU0NlcnRpZmljYXRlQ2hhaW46KE5TQXJyYXkgKiljZXJ0
aWZpY2F0ZUNoYWluIGZvckhvc3Q6KE5TU3RyaW5nICopaG9zdCBXS19BUElfQVZBSUxBQkxFKG1h
Y29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOworCiAtICh2b2lkKV9yZW5hbWVPcmln
aW46KE5TVVJMICopb2xkTmFtZSB0bzooTlNVUkwgKiluZXdOYW1lIGZvckRhdGFPZlR5cGVzOihO
U1NldDxOU1N0cmluZyAqPiAqKWRhdGFUeXBlcyBjb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXiko
dm9pZCkpY29tcGxldGlvbkhhbmRsZXI7CiAKIEBwcm9wZXJ0eSAobnVsbGFibGUsIG5vbmF0b21p
Yywgd2VhaykgaWQgPF9XS1dlYnNpdGVEYXRhU3RvcmVEZWxlZ2F0ZT4gX2RlbGVnYXRlIFdLX0FQ
SV9BVkFJTEFCTEUobWFjb3MoMTAuMTUpLCBpb3MoMTMuMCkpOwpJbmRleDogU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0V2ViQ29udGV4dC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0V2ViQ29udGV4dC5jcHAJKHJl
dmlzaW9uIDI2NzE0NykKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktp
dFdlYkNvbnRleHQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Niw2ICs1Niw3IEBACiAjaW5jbHVk
ZSAiV2ViTm90aWZpY2F0aW9uTWFuYWdlclByb3h5LmgiCiAjaW5jbHVkZSAiV2ViUHJvY2Vzc01l
c3NhZ2VzLmgiCiAjaW5jbHVkZSAiV2ViVVJMU2NoZW1lSGFuZGxlci5oIgorI2luY2x1ZGUgIldl
YnNpdGVEYXRhU3RvcmUuaCIKICNpbmNsdWRlICJXZWJzaXRlRGF0YVR5cGUuaCIKICNpbmNsdWRl
IDxKYXZhU2NyaXB0Q29yZS9SZW1vdGVJbnNwZWN0b3IuaD4KICNpbmNsdWRlIDxnbGliL2dpMThu
LWxpYi5oPgpAQCAtMTYyNCw3ICsxNjI1LDggQEAgdm9pZCB3ZWJraXRfd2ViX2NvbnRleHRfYWxs
b3dfdGxzX2NlcnRpZgogICAgIGdfcmV0dXJuX2lmX2ZhaWwoaG9zdCk7CiAKICAgICBhdXRvIHdl
YkNlcnRpZmljYXRlSW5mbyA9IFdlYkNlcnRpZmljYXRlSW5mbzo6Y3JlYXRlKFdlYkNvcmU6OkNl
cnRpZmljYXRlSW5mbyhjZXJ0aWZpY2F0ZSwgc3RhdGljX2Nhc3Q8R1Rsc0NlcnRpZmljYXRlRmxh
Z3M+KDApKSk7Ci0gICAgY29udGV4dC0+cHJpdi0+cHJvY2Vzc1Bvb2wtPmFsbG93U3BlY2lmaWNI
VFRQU0NlcnRpZmljYXRlRm9ySG9zdCh3ZWJDZXJ0aWZpY2F0ZUluZm8ucHRyKCksIFN0cmluZzo6
ZnJvbVVURjgoaG9zdCkpOworICAgIGF1dG8mIHdlYnNpdGVEYXRhU3RvcmUgPSB3ZWJraXRXZWJz
aXRlRGF0YU1hbmFnZXJHZXREYXRhU3RvcmUoY29udGV4dC0+cHJpdi0+d2Vic2l0ZURhdGFNYW5h
Z2VyLmdldCgpKTsKKyAgICB3ZWJzaXRlRGF0YVN0b3JlLmFsbG93U3BlY2lmaWNIVFRQU0NlcnRp
ZmljYXRlRm9ySG9zdCh3ZWJDZXJ0aWZpY2F0ZUluZm8ucHRyKCksIFN0cmluZzo6ZnJvbVVURjgo
aG9zdCkpOwogfQogCiAvKioKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVE
YXRhL1dlYnNpdGVEYXRhU3RvcmUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuY3BwCShyZXZpc2lvbiAyNjcxNDcp
CisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3Jl
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjA4Miw2ICsyMDgyLDEyIEBAIHN0YXRpYyBTdHJpbmcg
Y29tcHV0ZU1lZGlhS2V5RmlsZShjb25zdCAKICAgICByZXR1cm4gRmlsZVN5c3RlbTo6cGF0aEJ5
QXBwZW5kaW5nQ29tcG9uZW50KG1lZGlhS2V5RGlyZWN0b3J5LCAiU2VjdXJlU3RvcC5wbGlzdCIp
OwogfQogCit2b2lkIFdlYnNpdGVEYXRhU3RvcmU6OmFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmlj
YXRlRm9ySG9zdChjb25zdCBXZWJDZXJ0aWZpY2F0ZUluZm8qIGNlcnRpZmljYXRlLCBjb25zdCBT
dHJpbmcmIGhvc3QpCit7CisgICAgZm9yIChhdXRvJiBwcm9jZXNzUG9vbCA6IHByb2Nlc3NQb29s
cygpKQorICAgICAgICBwcm9jZXNzUG9vbC0+ZW5zdXJlTmV0d29ya1Byb2Nlc3MoKS5zZW5kKE1l
c3NhZ2VzOjpOZXR3b3JrUHJvY2Vzczo6QWxsb3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JI
b3N0KGNlcnRpZmljYXRlLT5jZXJ0aWZpY2F0ZUluZm8oKSwgaG9zdCksIDApOworfQorCiBWZWN0
b3I8V2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhPiBXZWJzaXRlRGF0YVN0b3JlOjptZWRpYUtl
eU9yaWdpbnMoY29uc3QgU3RyaW5nJiBtZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5KQogewogICAg
IEFTU0VSVCghbWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeS5pc0VtcHR5KCkpOwpJbmRleDogU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRh
U3RvcmUuaAkocmV2aXNpb24gMjY3MTQ3KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
c2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5oCSh3b3JraW5nIGNvcHkpCkBAIC03Niw2ICs3Niw3
IEBAIGNsYXNzIEF1dGhlbnRpY2F0b3JNYW5hZ2VyOwogY2xhc3MgU2VjS2V5UHJveHlTdG9yZTsK
IGNsYXNzIERldmljZUlkSGFzaFNhbHRTdG9yYWdlOwogY2xhc3MgU09BdXRob3JpemF0aW9uQ29v
cmRpbmF0b3I7CitjbGFzcyBXZWJDZXJ0aWZpY2F0ZUluZm87CiBjbGFzcyBXZWJQYWdlUHJveHk7
CiBjbGFzcyBXZWJQcm9jZXNzUG9vbDsKIGNsYXNzIFdlYlByb2Nlc3NQcm94eTsKQEAgLTIzMCw2
ICsyMzEsOCBAQCBwdWJsaWM6CiAgICAgY29uc3QgU3RyaW5nJiByZXNvbHZlZFJlc291cmNlTG9h
ZFN0YXRpc3RpY3NEaXJlY3RvcnkoKSBjb25zdCB7IHJldHVybiBtX3Jlc29sdmVkQ29uZmlndXJh
dGlvbi0+cmVzb3VyY2VMb2FkU3RhdGlzdGljc0RpcmVjdG9yeSgpOyB9CiAgICAgY29uc3QgU3Ry
aW5nJiByZXNvbHZlZEhTVFNTdG9yYWdlRGlyZWN0b3J5KCkgY29uc3QgeyByZXR1cm4gbV9yZXNv
bHZlZENvbmZpZ3VyYXRpb24tPmhzdHNTdG9yYWdlRGlyZWN0b3J5KCk7IH0KIAorICAgIHZvaWQg
YWxsb3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KGNvbnN0IFdlYkNlcnRpZmljYXRl
SW5mbyosIGNvbnN0IFN0cmluZyYgaG9zdCk7CisKICAgICBEZXZpY2VJZEhhc2hTYWx0U3RvcmFn
ZSYgZGV2aWNlSWRIYXNoU2FsdFN0b3JhZ2UoKSB7IHJldHVybiBtX2RldmljZUlkSGFzaFNhbHRT
dG9yYWdlLmdldCgpOyB9CiAKICAgICBXZWJQcm9jZXNzUG9vbCogcHJvY2Vzc1Bvb2xGb3JDb29r
aWVTdG9yYWdlT3BlcmF0aW9ucygpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>