<?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>214233</bug_id>
          
          <creation_ts>2020-07-12 07:57:11 -0700</creation_ts>
          <short_desc>REGRESSION (r261152): 10 blocks of critical sandboxing code disabled because they are guarded with HAVE(SANDBOX_ISSUE_READ_EXTENSION_TO_PROCESS_BY_AUDIT_TOKEN)</short_desc>
          <delta_ts>2020-07-13 13:34:35 -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>WebKit2</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=211427</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=214244</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P1</priority>
          <bug_severity>Critical</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Darin Adler">darin</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fujii</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>pvollan</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1670854</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-07-12 07:57:11 -0700</bug_when>
    <thetext>The change in r261152 intended to remove no-longer-needed conditionals that are now always true on Cocoa platforms.

However, when I made that change I accidentally left 9 blocks of code guarded by HAVE(SANDBOX_ISSUE_READ_EXTENSION_TO_PROCESS_BY_AUDIT_TOKEN) behind. So these were all disabled!

These 9 blocks of code must either be:

1) enabled unconditionally
2) guarded by #HAVE(AUDIT_TOKEN)
3) guarded by ENABLE(SANDBOX_EXTENSIONS)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1670856</commentid>
    <comment_count>1</comment_count>
      <attachid>404096</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-07-12 08:04:12 -0700</bug_when>
    <thetext>Created attachment 404096
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1670857</commentid>
    <comment_count>2</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-07-12 08:04:55 -0700</bug_when>
    <thetext>Patch enables these code paths unconditionally. I’ll count on EWS to detect if I need to guard these with HAVE(AUDIO_TOKEN) or ENABLE(SANDBOX_EXTENSIONS).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1670860</commentid>
    <comment_count>3</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-07-12 08:21:45 -0700</bug_when>
    <thetext>To fix the WinCairo build I am working on a revised version that puts more code inside ENABLE(SANDBOX_EXTENSIONS).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1670864</commentid>
    <comment_count>4</comment_count>
      <attachid>404098</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-07-12 08:39:44 -0700</bug_when>
    <thetext>Created attachment 404098
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1670865</commentid>
    <comment_count>5</comment_count>
      <attachid>404099</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-07-12 08:50:01 -0700</bug_when>
    <thetext>Created attachment 404099
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1670869</commentid>
    <comment_count>6</comment_count>
      <attachid>404101</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-07-12 09:07:47 -0700</bug_when>
    <thetext>Created attachment 404101
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1670876</commentid>
    <comment_count>7</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-07-12 09:59:42 -0700</bug_when>
    <thetext>Ended up adding a couple ENABLE(SANDBOX_EXTENSIONS) guards. Patch is ready for review now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1670893</commentid>
    <comment_count>8</comment_count>
      <attachid>404101</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-07-12 11:27:08 -0700</bug_when>
    <thetext>Comment on attachment 404101
Patch

R=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1670896</commentid>
    <comment_count>9</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-07-12 11:53:57 -0700</bug_when>
    <thetext>Committed r264283: &lt;https://trac.webkit.org/changeset/264283&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 404101.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1670897</commentid>
    <comment_count>10</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-07-12 11:54:12 -0700</bug_when>
    <thetext>&lt;rdar://problem/65439117&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1670974</commentid>
    <comment_count>11</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2020-07-13 00:13:39 -0700</bug_when>
    <thetext>WinCairo can&apos;t load local files since this change.
Filed: Bug 214248 – [WinCairo][WK2] REGRESSION (r264283): Can&apos;t load file: URL</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1671137</commentid>
    <comment_count>12</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-07-13 13:34:35 -0700</bug_when>
    <thetext>rdar://64219585</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>404096</attachid>
            <date>2020-07-12 08:04:12 -0700</date>
            <delta_ts>2020-07-12 08:39:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214233-20200712080411.patch</filename>
            <type>text/plain</type>
            <size>11121</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0MjcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGM2YTY2MGZiMTc2YjkwYTE3
NTE4ZDg4ZDkxMDEwZjUyMTcyZjZjNDAuLmIxOTMxMTYzNTRmYzUzYTFmYzY3YjczNzQ1MTM0MmU5
MjYxN2I0NjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMjAtMDctMTIgIERhcmluIEFk
bGVyICA8ZGFyaW5AYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT04gKHIyNjExNTIpOiA5
IGJsb2NrcyBvZiBjcml0aWNhbCBzYW5kYm94aW5nIGNvZGUgZGlzYWJsZWQgYmVjYXVzZSB0aGV5
IGFyZSBndWFyZGVkIHdpdGggSEFWRShTQU5EQk9YX0lTU1VFX1JFQURfRVhURU5TSU9OX1RPX1BS
T0NFU1NfQllfQVVESVRfVE9LRU4pCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMTQyMzMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0
ZXJzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnM6
OmVuY29kZSBjb25zdCk6IFJlbW92ZSAjaWYgSEFWRS4KKyAgICAgICAgKiBVSVByb2Nlc3MvQ29j
b2EvV2ViUGFnZVByb3h5Q29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6
Y3JlYXRlU2FuZGJveEV4dGVuc2lvbnNJZk5lZWRlZCk6IERpdHRvLgorICAgICAgICAqIFVJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6Om1h
eWJlSW5pdGlhbGl6ZVNhbmRib3hFeHRlbnNpb25IYW5kbGUpOiBEaXR0by4KKyAgICAgICAgKFdl
YktpdDo6V2ViUGFnZVByb3h5Ojpsb2FkUmVxdWVzdFdpdGhOYXZpZ2F0aW9uU2hhcmVkKTogRGl0
dG8uCisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6bG9hZEZpbGUpOiBEaXR0by4KKyAg
ICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6
V2ViUHJvY2Vzc1Byb3h5OjpzaG91bGRTZW5kUGVuZGluZ01lc3NhZ2UpOiBEaXR0by4KKyAgICAg
ICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6Ok1lZGlhUGxheWVyUHJp
dmF0ZVJlbW90ZTo6bG9hZCk6IERpdHRvLgorCiAyMDIwLTA3LTExICBEYXJpbiBBZGxlciAgPGRh
cmluQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1vdmUgbGl2ZSByYW5nZXMgZnJvbSBBY2Nlc3Np
YmlsaXR5T2JqZWN0LmgsIEFjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaCwgQWNjZXNzaWJp
bGl0eVJlbmRlck9iamVjdC5oLCBBWElzb2xhdGVkT2JqZWN0LmgKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMuY3Bw
IGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1l
dGVycy5jcHAKaW5kZXggZmVlOThiNjg4OWU4YjNiMjhiYWI4YjJkNTc1N2RmMjE5MGQ1NmYwOS4u
ZTljODdiMDViMGEwNGFkOTJlOGY0NjI2NTc5ODgyMGExOGNlYmFkYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycy5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2Fk
UGFyYW1ldGVycy5jcHAKQEAgLTY2LDE0ICs2NiwxMCBAQCB2b2lkIE5ldHdvcmtSZXNvdXJjZUxv
YWRQYXJhbWV0ZXJzOjplbmNvZGUoSVBDOjpFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogCiAgICAg
aWYgKHJlcXVlc3QudXJsKCkuaXNMb2NhbEZpbGUoKSkgewogICAgICAgICBTYW5kYm94RXh0ZW5z
aW9uOjpIYW5kbGUgcmVxdWVzdFNhbmRib3hFeHRlbnNpb247Ci0jaWYgSEFWRShTQU5EQk9YX0lT
U1VFX1JFQURfRVhURU5TSU9OX1RPX1BST0NFU1NfQllfQVVESVRfVE9LRU4pCiAgICAgICAgIGlm
IChuZXR3b3JrUHJvY2Vzc0F1ZGl0VG9rZW4pCiAgICAgICAgICAgICBTYW5kYm94RXh0ZW5zaW9u
OjpjcmVhdGVIYW5kbGVGb3JSZWFkQnlBdWRpdFRva2VuKHJlcXVlc3QudXJsKCkuZmlsZVN5c3Rl
bVBhdGgoKSwgKm5ldHdvcmtQcm9jZXNzQXVkaXRUb2tlbiwgcmVxdWVzdFNhbmRib3hFeHRlbnNp
b24pOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICBTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVI
YW5kbGUocmVxdWVzdC51cmwoKS5maWxlU3lzdGVtUGF0aCgpLCBTYW5kYm94RXh0ZW5zaW9uOjpU
eXBlOjpSZWFkT25seSwgcmVxdWVzdFNhbmRib3hFeHRlbnNpb24pOwotI2Vsc2UKLSAgICAgICAg
U2FuZGJveEV4dGVuc2lvbjo6Y3JlYXRlSGFuZGxlKHJlcXVlc3QudXJsKCkuZmlsZVN5c3RlbVBh
dGgoKSwgU2FuZGJveEV4dGVuc2lvbjo6VHlwZTo6UmVhZE9ubHksIHJlcXVlc3RTYW5kYm94RXh0
ZW5zaW9uKTsKLSNlbmRpZgogICAgICAgICBlbmNvZGVyIDw8IHJlcXVlc3RTYW5kYm94RXh0ZW5z
aW9uOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2Ev
V2ViUGFnZVByb3h5Q29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQ
YWdlUHJveHlDb2NvYS5tbQppbmRleCBjNmM0YjY5MzhlZWI3MDAwODAxZDA0ZmRlMmFkYjk1YmRm
ODFlZTU2Li5mZmRmOGNmNTMzZmU1MTg1NmZmYmY3MmU5OWViZTg3MDQ0NDZjZGIyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbQpA
QCAtMTg0LDE1ICsxODQsMTEgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmNyZWF0ZVNhbmRib3hFeHRl
bnNpb25zSWZOZWVkZWQoY29uc3QgVmVjdG9yPFN0cmluZz4mIGZpbGVzLAogICAgIGlmIChmaWxl
cy5zaXplKCkgPT0gMSkgewogICAgICAgICBCT09MIGlzRGlyZWN0b3J5OwogICAgICAgICBpZiAo
W1tOU0ZpbGVNYW5hZ2VyIGRlZmF1bHRNYW5hZ2VyXSBmaWxlRXhpc3RzQXRQYXRoOmZpbGVzWzBd
IGlzRGlyZWN0b3J5OiZpc0RpcmVjdG9yeV0gJiYgIWlzRGlyZWN0b3J5KSB7Ci0jaWYgSEFWRShT
QU5EQk9YX0lTU1VFX1JFQURfRVhURU5TSU9OX1RPX1BST0NFU1NfQllfQVVESVRfVE9LRU4pCiAg
ICAgICAgICAgICBBU1NFUlQocHJvY2VzcygpLmNvbm5lY3Rpb24oKSAmJiBwcm9jZXNzKCkuY29u
bmVjdGlvbigpLT5nZXRBdWRpdFRva2VuKCkpOwogICAgICAgICAgICAgaWYgKHByb2Nlc3MoKS5j
b25uZWN0aW9uKCkgJiYgcHJvY2VzcygpLmNvbm5lY3Rpb24oKS0+Z2V0QXVkaXRUb2tlbigpKQog
ICAgICAgICAgICAgICAgIFNhbmRib3hFeHRlbnNpb246OmNyZWF0ZUhhbmRsZUZvclJlYWRCeUF1
ZGl0VG9rZW4oIi8iLCAqKHByb2Nlc3MoKS5jb25uZWN0aW9uKCktPmdldEF1ZGl0VG9rZW4oKSks
IGZpbGVSZWFkSGFuZGxlKTsKICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICBTYW5k
Ym94RXh0ZW5zaW9uOjpjcmVhdGVIYW5kbGUoIi8iLCBTYW5kYm94RXh0ZW5zaW9uOjpUeXBlOjpS
ZWFkT25seSwgZmlsZVJlYWRIYW5kbGUpOwotI2Vsc2UKLSAgICAgICAgICAgIFNhbmRib3hFeHRl
bnNpb246OmNyZWF0ZUhhbmRsZSgiLyIsIFNhbmRib3hFeHRlbnNpb246OlR5cGU6OlJlYWRPbmx5
LCBmaWxlUmVhZEhhbmRsZSk7Ci0jZW5kaWYKICAgICAgICAgICAgIHdpbGxBY3F1aXJlVW5pdmVy
c2FsRmlsZVJlYWRTYW5kYm94RXh0ZW5zaW9uKG1fcHJvY2Vzcyk7CiAgICAgICAgIH0KICAgICB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCA4NWUzZjMxNTZk
YjhkZWZlMmI2NWRhNmQyNWI3MTM2N2JkZTIwMDIxLi4xMjIzY2M0NDJjMDNjMWEyMTc1ZmIzYWQx
YjQxOTlmMDA0OGM2MjZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5j
cHAKQEAgLTExODUsMTggKzExODUsMTUgQEAgdm9pZCBXZWJQYWdlUHJveHk6Om1heWJlSW5pdGlh
bGl6ZVNhbmRib3hFeHRlbnNpb25IYW5kbGUoV2ViUHJvY2Vzc1Byb3h5JiBwcm9jZXMKICAgICBp
ZiAoIXVybC5pc0xvY2FsRmlsZSgpKQogICAgICAgICByZXR1cm47CiAKLSNpZiBIQVZFKFNBTkRC
T1hfSVNTVUVfUkVBRF9FWFRFTlNJT05fVE9fUFJPQ0VTU19CWV9BVURJVF9UT0tFTikKICAgICAv
LyBJZiB0aGUgcHJvY2VzcyBpcyBzdGlsbCBsYXVuY2hpbmcgdGhlbiBpdCBkb2VzIG5vdCBoYXZl
IGEgUElEIHlldC4gV2Ugd2lsbCB0YWtlIGNhcmUgb2YgY3JlYXRpbmcgdGhlIHNhbmRib3ggZXh0
ZW5zaW9uCiAgICAgLy8gb25jZSB0aGUgcHJvY2VzcyBoYXMgZmluaXNoZWQgbGF1bmNoaW5nLgog
ICAgIGlmIChwcm9jZXNzLmlzTGF1bmNoaW5nKCkgfHwgcHJvY2Vzcy53YXNUZXJtaW5hdGVkKCkp
CiAgICAgICAgIHJldHVybjsKLSNlbmRpZgogCiAgICAgaWYgKCFyZXNvdXJjZURpcmVjdG9yeVVS
TC5pc0VtcHR5KCkpIHsKICAgICAgICAgaWYgKGNoZWNrQXNzdW1lZFJlYWRBY2Nlc3NUb1Jlc291
cmNlVVJMICYmIHByb2Nlc3MuaGFzQXNzdW1lZFJlYWRBY2Nlc3NUb1VSTChyZXNvdXJjZURpcmVj
dG9yeVVSTCkpCiAgICAgICAgICAgICByZXR1cm47CiAKLSNpZiBIQVZFKFNBTkRCT1hfSVNTVUVf
UkVBRF9FWFRFTlNJT05fVE9fUFJPQ0VTU19CWV9BVURJVF9UT0tFTikKICAgICAgICAgQVNTRVJU
KHByb2Nlc3MuY29ubmVjdGlvbigpICYmIHByb2Nlc3MuY29ubmVjdGlvbigpLT5nZXRBdWRpdFRv
a2VuKCkpOwogICAgICAgICBib29sIGNyZWF0ZWRFeHRlbnNpb24gPSBmYWxzZTsKICAgICAgICAg
aWYgKHByb2Nlc3MuY29ubmVjdGlvbigpICYmIHByb2Nlc3MuY29ubmVjdGlvbigpLT5nZXRBdWRp
dFRva2VuKCkpCkBAIC0xMjA4LDEyICsxMjA1LDYgQEAgdm9pZCBXZWJQYWdlUHJveHk6Om1heWJl
SW5pdGlhbGl6ZVNhbmRib3hFeHRlbnNpb25IYW5kbGUoV2ViUHJvY2Vzc1Byb3h5JiBwcm9jZXMK
ICAgICAgICAgICAgIHByb2Nlc3MuYXNzdW1lUmVhZEFjY2Vzc1RvQmFzZVVSTCgqdGhpcywgcmVz
b3VyY2VEaXJlY3RvcnlVUkwuc3RyaW5nKCkpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAg
ICB9Ci0jZWxzZQotICAgICAgICBpZiAoU2FuZGJveEV4dGVuc2lvbjo6Y3JlYXRlSGFuZGxlKHJl
c291cmNlRGlyZWN0b3J5VVJMLmZpbGVTeXN0ZW1QYXRoKCksIFNhbmRib3hFeHRlbnNpb246OlR5
cGU6OlJlYWRPbmx5LCBzYW5kYm94RXh0ZW5zaW9uSGFuZGxlKSkgewotICAgICAgICAgICAgcHJv
Y2Vzcy5hc3N1bWVSZWFkQWNjZXNzVG9CYXNlVVJMKCp0aGlzLCByZXNvdXJjZURpcmVjdG9yeVVS
TC5zdHJpbmcoKSk7Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KLSNlbmRpZgogICAg
IH0KIAogICAgIGlmIChwcm9jZXNzLmhhc0Fzc3VtZWRSZWFkQWNjZXNzVG9VUkwodXJsKSkKQEAg
LTEyMjIsNyArMTIxMyw2IEBAIHZvaWQgV2ViUGFnZVByb3h5OjptYXliZUluaXRpYWxpemVTYW5k
Ym94RXh0ZW5zaW9uSGFuZGxlKFdlYlByb2Nlc3NQcm94eSYgcHJvY2VzCiAgICAgLy8gSW5zcGVj
dG9yIHJlc291cmNlcyBhcmUgaW4gYSBkaXJlY3Rvcnkgd2l0aCBhc3N1bWVkIGFjY2Vzcy4KICAg
ICBSRUxFQVNFX0FTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKCFXZWJLaXQ6OmlzSW5z
cGVjdG9yUGFnZSgqdGhpcykpOwogCi0jaWYgSEFWRShTQU5EQk9YX0lTU1VFX1JFQURfRVhURU5T
SU9OX1RPX1BST0NFU1NfQllfQVVESVRfVE9LRU4pCiAgICAgQVNTRVJUKHByb2Nlc3MuY29ubmVj
dGlvbigpICYmIHByb2Nlc3MuY29ubmVjdGlvbigpLT5nZXRBdWRpdFRva2VuKCkpOwogICAgIGJv
b2wgY3JlYXRlZEV4dGVuc2lvbiA9IGZhbHNlOwogICAgIGlmIChwcm9jZXNzLmNvbm5lY3Rpb24o
KSAmJiBwcm9jZXNzLmNvbm5lY3Rpb24oKS0+Z2V0QXVkaXRUb2tlbigpKQpAQCAtMTIzNCwxMiAr
MTIyNCw2IEBAIHZvaWQgV2ViUGFnZVByb3h5OjptYXliZUluaXRpYWxpemVTYW5kYm94RXh0ZW5z
aW9uSGFuZGxlKFdlYlByb2Nlc3NQcm94eSYgcHJvY2VzCiAgICAgICAgIHdpbGxBY3F1aXJlVW5p
dmVyc2FsRmlsZVJlYWRTYW5kYm94RXh0ZW5zaW9uKHByb2Nlc3MpOwogICAgICAgICByZXR1cm47
CiAgICAgfQotI2Vsc2UKLSAgICBpZiAoU2FuZGJveEV4dGVuc2lvbjo6Y3JlYXRlSGFuZGxlKCIv
IiwgU2FuZGJveEV4dGVuc2lvbjo6VHlwZTo6UmVhZE9ubHksIHNhbmRib3hFeHRlbnNpb25IYW5k
bGUpKSB7Ci0gICAgICAgIHdpbGxBY3F1aXJlVW5pdmVyc2FsRmlsZVJlYWRTYW5kYm94RXh0ZW5z
aW9uKHByb2Nlc3MpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotI2VuZGlmCiAKICNpZiBQTEFU
Rk9STShDT0NPQSkKICAgICBpZiAoIWxpbmtlZE9uT3JBZnRlcihTREtWZXJzaW9uOjpGaXJzdFdp
dGhvdXRVbmNvbmRpdGlvbmFsVW5pdmVyc2FsU2FuZGJveEV4dGVuc2lvbikpCkBAIC0xMjUxLDcg
KzEyMzUsNiBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6bWF5YmVJbml0aWFsaXplU2FuZGJveEV4dGVu
c2lvbkhhbmRsZShXZWJQcm9jZXNzUHJveHkmIHByb2NlcwogICAgIGF1dG8gYmFzZVBhdGggPSBi
YXNlVVJMLmZpbGVTeXN0ZW1QYXRoKCk7CiAgICAgaWYgKGJhc2VQYXRoLmlzTnVsbCgpKQogICAg
ICAgICByZXR1cm47Ci0jaWYgSEFWRShTQU5EQk9YX0lTU1VFX1JFQURfRVhURU5TSU9OX1RPX1BS
T0NFU1NfQllfQVVESVRfVE9LRU4pCiAgICAgaWYgKHByb2Nlc3MuY29ubmVjdGlvbigpICYmIHBy
b2Nlc3MuY29ubmVjdGlvbigpLT5nZXRBdWRpdFRva2VuKCkpCiAgICAgICAgIGNyZWF0ZWRFeHRl
bnNpb24gPSBTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVIYW5kbGVGb3JSZWFkQnlBdWRpdFRva2Vu
KGJhc2VQYXRoLCAqKHByb2Nlc3MuY29ubmVjdGlvbigpLT5nZXRBdWRpdFRva2VuKCkpLCBzYW5k
Ym94RXh0ZW5zaW9uSGFuZGxlKTsKICAgICBlbHNlCkBAIC0xMjU5LDEwICsxMjQyLDYgQEAgdm9p
ZCBXZWJQYWdlUHJveHk6Om1heWJlSW5pdGlhbGl6ZVNhbmRib3hFeHRlbnNpb25IYW5kbGUoV2Vi
UHJvY2Vzc1Byb3h5JiBwcm9jZXMKICAgICAKICAgICBpZiAoY3JlYXRlZEV4dGVuc2lvbikKICAg
ICAgICAgcHJvY2Vzcy5hc3N1bWVSZWFkQWNjZXNzVG9CYXNlVVJMKCp0aGlzLCBiYXNlVVJMLnN0
cmluZygpKTsKLSNlbHNlCi0gICAgaWYgKFNhbmRib3hFeHRlbnNpb246OmNyZWF0ZUhhbmRsZShi
YXNlUGF0aCwgU2FuZGJveEV4dGVuc2lvbjo6VHlwZTo6UmVhZE9ubHksIHNhbmRib3hFeHRlbnNp
b25IYW5kbGUpKQotICAgICAgICBwcm9jZXNzLmFzc3VtZVJlYWRBY2Nlc3NUb0Jhc2VVUkwoKnRo
aXMsIGJhc2VVUkwuc3RyaW5nKCkpOwotI2VuZGlmCiB9CiAKICNpZiAhUExBVEZPUk0oQ09DT0Ep
CkBAIC0xMzI5LDE0ICsxMzA4LDEwIEBAIHZvaWQgV2ViUGFnZVByb3h5Ojpsb2FkUmVxdWVzdFdp
dGhOYXZpZ2F0aW9uU2hhcmVkKFJlZjxXZWJQcm9jZXNzUHJveHk+JiYgcHJvY2VzCiAKICAgICBu
YXZpZ2F0aW9uLnNldElzTG9hZGVkV2l0aE5hdmlnYXRpb25TaGFyZWQodHJ1ZSk7CiAKLSNpZiBI
QVZFKFNBTkRCT1hfSVNTVUVfUkVBRF9FWFRFTlNJT05fVE9fUFJPQ0VTU19CWV9BVURJVF9UT0tF
TikKICAgICBpZiAoIXByb2Nlc3MtPmlzTGF1bmNoaW5nKCkgfHwgIXVybC5pc0xvY2FsRmlsZSgp
KQogICAgICAgICBwcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpMb2FkUmVxdWVzdChs
b2FkUGFyYW1ldGVycyksIHdlYlBhZ2VJRCk7CiAgICAgZWxzZQogICAgICAgICBwcm9jZXNzLT5z
ZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpMb2FkUmVxdWVzdFdhaXRpbmdGb3JQcm9jZXNzTGF1bmNo
KGxvYWRQYXJhbWV0ZXJzLCBtX3BhZ2VMb2FkU3RhdGUucmVzb3VyY2VEaXJlY3RvcnlVUkwoKSwg
bV9pZGVudGlmaWVyLCB0cnVlKSwgd2ViUGFnZUlEKTsKLSNlbHNlCi0gICAgcHJvY2Vzcy0+c2Vu
ZChNZXNzYWdlczo6V2ViUGFnZTo6TG9hZFJlcXVlc3QobG9hZFBhcmFtZXRlcnMpLCB3ZWJQYWdl
SUQpOwotI2VuZGlmCiAgICAgcHJvY2Vzcy0+c3RhcnRSZXNwb25zaXZlbmVzc1RpbWVyKCk7CiB9
CiAKQEAgLTEzODcsMTQgKzEzNjIsMTAgQEAgUmVmUHRyPEFQSTo6TmF2aWdhdGlvbj4gV2ViUGFn
ZVByb3h5Ojpsb2FkRmlsZShjb25zdCBTdHJpbmcmIGZpbGVVUkxTdHJpbmcsIGNvbnMKICAgICBt
YXliZUluaXRpYWxpemVTYW5kYm94RXh0ZW5zaW9uSGFuZGxlKG1fcHJvY2VzcywgZmlsZVVSTCwg
cmVzb3VyY2VEaXJlY3RvcnlVUkwsIGxvYWRQYXJhbWV0ZXJzLnNhbmRib3hFeHRlbnNpb25IYW5k
bGUsIGNoZWNrQXNzdW1lZFJlYWRBY2Nlc3NUb1Jlc291cmNlVVJMKTsKICAgICBhZGRQbGF0Zm9y
bUxvYWRQYXJhbWV0ZXJzKG1fcHJvY2VzcywgbG9hZFBhcmFtZXRlcnMpOwogCi0jaWYgSEFWRShT
QU5EQk9YX0lTU1VFX1JFQURfRVhURU5TSU9OX1RPX1BST0NFU1NfQllfQVVESVRfVE9LRU4pCiAg
ICAgaWYgKG1fcHJvY2Vzcy0+aXNMYXVuY2hpbmcoKSkKICAgICAgICAgc2VuZChNZXNzYWdlczo6
V2ViUGFnZTo6TG9hZFJlcXVlc3RXYWl0aW5nRm9yUHJvY2Vzc0xhdW5jaChsb2FkUGFyYW1ldGVy
cywgcmVzb3VyY2VEaXJlY3RvcnlVUkwsIG1faWRlbnRpZmllciwgY2hlY2tBc3N1bWVkUmVhZEFj
Y2Vzc1RvUmVzb3VyY2VVUkwpKTsKICAgICBlbHNlCiAgICAgICAgIHNlbmQoTWVzc2FnZXM6Oldl
YlBhZ2U6OkxvYWRSZXF1ZXN0KGxvYWRQYXJhbWV0ZXJzKSk7Ci0jZWxzZQotICAgIHNlbmQoTWVz
c2FnZXM6OldlYlBhZ2U6OkxvYWRSZXF1ZXN0KGxvYWRQYXJhbWV0ZXJzKSk7Ci0jZW5kaWYKICAg
ICBtX3Byb2Nlc3MtPnN0YXJ0UmVzcG9uc2l2ZW5lc3NUaW1lcigpOwogCiAgICAgcmV0dXJuIG5h
dmlnYXRpb247CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNz
UHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcApp
bmRleCAyZjU0YWMyOWExMzkzZjVhODdkNzRmZDk0OThhNmYxYTY4MzZjYzFlLi41YjNjNTRlNTg3
ZmNjNWI4OTM5NjhiNjE2OTFiZmI4OGNlY2YwNTc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAKQEAgLTM1OCw3ICszNTgsNiBAQCB2b2lkIFdlYlByb2Nl
c3NQcm94eTo6cGxhdGZvcm1HZXRMYXVuY2hPcHRpb25zKFByb2Nlc3NMYXVuY2hlcjo6TGF1bmNo
T3B0aW9ucyYgbAogCiBib29sIFdlYlByb2Nlc3NQcm94eTo6c2hvdWxkU2VuZFBlbmRpbmdNZXNz
YWdlKGNvbnN0IFBlbmRpbmdNZXNzYWdlJiBtZXNzYWdlKQogewotI2lmIEhBVkUoU0FOREJPWF9J
U1NVRV9SRUFEX0VYVEVOU0lPTl9UT19QUk9DRVNTX0JZX0FVRElUX1RPS0VOKQogICAgIGlmICht
ZXNzYWdlLmVuY29kZXItPm1lc3NhZ2VOYW1lKCkgPT0gSVBDOjpNZXNzYWdlTmFtZTo6V2ViUGFn
ZV9Mb2FkUmVxdWVzdFdhaXRpbmdGb3JQcm9jZXNzTGF1bmNoKSB7CiAgICAgICAgIGF1dG8gYnVm
ZmVyID0gbWVzc2FnZS5lbmNvZGVyLT5idWZmZXIoKTsKICAgICAgICAgYXV0byBidWZmZXJTaXpl
ID0gbWVzc2FnZS5lbmNvZGVyLT5idWZmZXJTaXplKCk7CkBAIC0zNzYsNyArMzc1LDYgQEAgYm9v
bCBXZWJQcm9jZXNzUHJveHk6OnNob3VsZFNlbmRQZW5kaW5nTWVzc2FnZShjb25zdCBQZW5kaW5n
TWVzc2FnZSYgbWVzc2FnZSkKICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAg
ICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQotI2VuZGlmCiAgICAgcmV0dXJuIHRydWU7CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5
ZXJQcml2YXRlUmVtb3RlLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEv
TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmNwcAppbmRleCA5ZmE4Nzk2NWIyZDcyZTczOTUzOWJk
NjE1MGY3OTQ1MDQ5MzgyYmNjLi42N2IwZWY3MGJkZmI4ZjgwYTViYzcxZTA3NWM5NGU4NGZkYjBk
NTk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlh
UGxheWVyUHJpdmF0ZVJlbW90ZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQ
VS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3BwCkBAIC0xNDQsMTEgKzE0NCw4IEBA
IHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6
OmxvYWQoY29uc3QgVVJMJiB1cmwsIGNvCiAgICAgICAgIGF1dG8gZmlsZVN5c3RlbVBhdGggPSB1
cmwuZmlsZVN5c3RlbVBhdGgoKTsKIAogICAgICAgICBhdXRvIGNyZWF0ZUV4dGVuc2lvbiA9IFsm
XSB7Ci0jaWYgSEFWRShTQU5EQk9YX0lTU1VFX1JFQURfRVhURU5TSU9OX1RPX1BST0NFU1NfQllf
QVVESVRfVE9LRU4pCiAgICAgICAgICAgICBpZiAoYXV0byBhdWRpdFRva2VuID0gbV9tYW5hZ2Vy
LmdwdVByb2Nlc3NDb25uZWN0aW9uKCkuYXVkaXRUb2tlbigpKQogICAgICAgICAgICAgICAgIHJl
dHVybiBTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVIYW5kbGVGb3JSZWFkQnlBdWRpdFRva2VuKGZp
bGVTeXN0ZW1QYXRoLCBhdWRpdFRva2VuLnZhbHVlKCksIGhhbmRsZSk7Ci0jZW5kaWYKLQogICAg
ICAgICAgICAgcmV0dXJuIFNhbmRib3hFeHRlbnNpb246OmNyZWF0ZUhhbmRsZShmaWxlU3lzdGVt
UGF0aCwgU2FuZGJveEV4dGVuc2lvbjo6VHlwZTo6UmVhZE9ubHksIGhhbmRsZSk7CiAgICAgICAg
IH07CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>404098</attachid>
            <date>2020-07-12 08:39:44 -0700</date>
            <delta_ts>2020-07-12 08:50:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214233-20200712083943.patch</filename>
            <type>text/plain</type>
            <size>11711</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0Mjc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGM2YTY2MGZiMTc2YjkwYTE3
NTE4ZDg4ZDkxMDEwZjUyMTcyZjZjNDAuLmIxOTMxMTYzNTRmYzUzYTFmYzY3YjczNzQ1MTM0MmU5
MjYxN2I0NjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMjAtMDctMTIgIERhcmluIEFk
bGVyICA8ZGFyaW5AYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT04gKHIyNjExNTIpOiA5
IGJsb2NrcyBvZiBjcml0aWNhbCBzYW5kYm94aW5nIGNvZGUgZGlzYWJsZWQgYmVjYXVzZSB0aGV5
IGFyZSBndWFyZGVkIHdpdGggSEFWRShTQU5EQk9YX0lTU1VFX1JFQURfRVhURU5TSU9OX1RPX1BS
T0NFU1NfQllfQVVESVRfVE9LRU4pCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMTQyMzMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0
ZXJzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnM6
OmVuY29kZSBjb25zdCk6IFJlbW92ZSAjaWYgSEFWRS4KKyAgICAgICAgKiBVSVByb2Nlc3MvQ29j
b2EvV2ViUGFnZVByb3h5Q29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6
Y3JlYXRlU2FuZGJveEV4dGVuc2lvbnNJZk5lZWRlZCk6IERpdHRvLgorICAgICAgICAqIFVJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6Om1h
eWJlSW5pdGlhbGl6ZVNhbmRib3hFeHRlbnNpb25IYW5kbGUpOiBEaXR0by4KKyAgICAgICAgKFdl
YktpdDo6V2ViUGFnZVByb3h5Ojpsb2FkUmVxdWVzdFdpdGhOYXZpZ2F0aW9uU2hhcmVkKTogRGl0
dG8uCisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6bG9hZEZpbGUpOiBEaXR0by4KKyAg
ICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6
V2ViUHJvY2Vzc1Byb3h5OjpzaG91bGRTZW5kUGVuZGluZ01lc3NhZ2UpOiBEaXR0by4KKyAgICAg
ICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6Ok1lZGlhUGxheWVyUHJp
dmF0ZVJlbW90ZTo6bG9hZCk6IERpdHRvLgorCiAyMDIwLTA3LTExICBEYXJpbiBBZGxlciAgPGRh
cmluQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1vdmUgbGl2ZSByYW5nZXMgZnJvbSBBY2Nlc3Np
YmlsaXR5T2JqZWN0LmgsIEFjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaCwgQWNjZXNzaWJp
bGl0eVJlbmRlck9iamVjdC5oLCBBWElzb2xhdGVkT2JqZWN0LmgKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMuY3Bw
IGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1l
dGVycy5jcHAKaW5kZXggZmVlOThiNjg4OWU4YjNiMjhiYWI4YjJkNTc1N2RmMjE5MGQ1NmYwOS4u
OTllZDg1ZjI5NjU3NTNlNGYwMjIzMDBhNWFjNjdjMjcxMmE5YzFhZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycy5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2Fk
UGFyYW1ldGVycy5jcHAKQEAgLTY2LDEzICs2NiwxMSBAQCB2b2lkIE5ldHdvcmtSZXNvdXJjZUxv
YWRQYXJhbWV0ZXJzOjplbmNvZGUoSVBDOjpFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogCiAgICAg
aWYgKHJlcXVlc3QudXJsKCkuaXNMb2NhbEZpbGUoKSkgewogICAgICAgICBTYW5kYm94RXh0ZW5z
aW9uOjpIYW5kbGUgcmVxdWVzdFNhbmRib3hFeHRlbnNpb247Ci0jaWYgSEFWRShTQU5EQk9YX0lT
U1VFX1JFQURfRVhURU5TSU9OX1RPX1BST0NFU1NfQllfQVVESVRfVE9LRU4pCisjaWYgRU5BQkxF
KFNBTkRCT1hfRVhURU5TSU9OUykKICAgICAgICAgaWYgKG5ldHdvcmtQcm9jZXNzQXVkaXRUb2tl
bikKICAgICAgICAgICAgIFNhbmRib3hFeHRlbnNpb246OmNyZWF0ZUhhbmRsZUZvclJlYWRCeUF1
ZGl0VG9rZW4ocmVxdWVzdC51cmwoKS5maWxlU3lzdGVtUGF0aCgpLCAqbmV0d29ya1Byb2Nlc3NB
dWRpdFRva2VuLCByZXF1ZXN0U2FuZGJveEV4dGVuc2lvbik7CiAgICAgICAgIGVsc2UKICAgICAg
ICAgICAgIFNhbmRib3hFeHRlbnNpb246OmNyZWF0ZUhhbmRsZShyZXF1ZXN0LnVybCgpLmZpbGVT
eXN0ZW1QYXRoKCksIFNhbmRib3hFeHRlbnNpb246OlR5cGU6OlJlYWRPbmx5LCByZXF1ZXN0U2Fu
ZGJveEV4dGVuc2lvbik7Ci0jZWxzZQotICAgICAgICBTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVI
YW5kbGUocmVxdWVzdC51cmwoKS5maWxlU3lzdGVtUGF0aCgpLCBTYW5kYm94RXh0ZW5zaW9uOjpU
eXBlOjpSZWFkT25seSwgcmVxdWVzdFNhbmRib3hFeHRlbnNpb24pOwogI2VuZGlmCiAgICAgICAg
IGVuY29kZXIgPDwgcmVxdWVzdFNhbmRib3hFeHRlbnNpb247CiAgICAgfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW0gYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbQppbmRleCBjNmM0
YjY5MzhlZWI3MDAwODAxZDA0ZmRlMmFkYjk1YmRmODFlZTU2Li5mZmRmOGNmNTMzZmU1MTg1NmZm
YmY3MmU5OWViZTg3MDQ0NDZjZGIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbQpAQCAtMTg0LDE1ICsxODQsMTEgQEAgdm9pZCBX
ZWJQYWdlUHJveHk6OmNyZWF0ZVNhbmRib3hFeHRlbnNpb25zSWZOZWVkZWQoY29uc3QgVmVjdG9y
PFN0cmluZz4mIGZpbGVzLAogICAgIGlmIChmaWxlcy5zaXplKCkgPT0gMSkgewogICAgICAgICBC
T09MIGlzRGlyZWN0b3J5OwogICAgICAgICBpZiAoW1tOU0ZpbGVNYW5hZ2VyIGRlZmF1bHRNYW5h
Z2VyXSBmaWxlRXhpc3RzQXRQYXRoOmZpbGVzWzBdIGlzRGlyZWN0b3J5OiZpc0RpcmVjdG9yeV0g
JiYgIWlzRGlyZWN0b3J5KSB7Ci0jaWYgSEFWRShTQU5EQk9YX0lTU1VFX1JFQURfRVhURU5TSU9O
X1RPX1BST0NFU1NfQllfQVVESVRfVE9LRU4pCiAgICAgICAgICAgICBBU1NFUlQocHJvY2Vzcygp
LmNvbm5lY3Rpb24oKSAmJiBwcm9jZXNzKCkuY29ubmVjdGlvbigpLT5nZXRBdWRpdFRva2VuKCkp
OwogICAgICAgICAgICAgaWYgKHByb2Nlc3MoKS5jb25uZWN0aW9uKCkgJiYgcHJvY2VzcygpLmNv
bm5lY3Rpb24oKS0+Z2V0QXVkaXRUb2tlbigpKQogICAgICAgICAgICAgICAgIFNhbmRib3hFeHRl
bnNpb246OmNyZWF0ZUhhbmRsZUZvclJlYWRCeUF1ZGl0VG9rZW4oIi8iLCAqKHByb2Nlc3MoKS5j
b25uZWN0aW9uKCktPmdldEF1ZGl0VG9rZW4oKSksIGZpbGVSZWFkSGFuZGxlKTsKICAgICAgICAg
ICAgIGVsc2UKICAgICAgICAgICAgICAgICBTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVIYW5kbGUo
Ii8iLCBTYW5kYm94RXh0ZW5zaW9uOjpUeXBlOjpSZWFkT25seSwgZmlsZVJlYWRIYW5kbGUpOwot
I2Vsc2UKLSAgICAgICAgICAgIFNhbmRib3hFeHRlbnNpb246OmNyZWF0ZUhhbmRsZSgiLyIsIFNh
bmRib3hFeHRlbnNpb246OlR5cGU6OlJlYWRPbmx5LCBmaWxlUmVhZEhhbmRsZSk7Ci0jZW5kaWYK
ICAgICAgICAgICAgIHdpbGxBY3F1aXJlVW5pdmVyc2FsRmlsZVJlYWRTYW5kYm94RXh0ZW5zaW9u
KG1fcHJvY2Vzcyk7CiAgICAgICAgIH0KICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmNwcAppbmRleCA4NWUzZjMxNTZkYjhkZWZlMmI2NWRhNmQyNWI3MTM2N2JkZTIw
MDIxLi5kNGZiZGJlOTBiZDY5OGNhMzhiZmFmYzQwZjRhOTE4NjJjYWI0N2M0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTExODAsMjMgKzExODAsMjggQEAg
dm9pZCBXZWJQYWdlUHJveHk6OnRyeUNsb3NlVGltZWRPdXQoKQogICAgIGNsb3NlUGFnZSgpOwog
fQogCisjaWYgIUVOQUJMRShTQU5EQk9YX0VYVEVOU0lPTlMpCisKK3ZvaWQgV2ViUGFnZVByb3h5
OjptYXliZUluaXRpYWxpemVTYW5kYm94RXh0ZW5zaW9uSGFuZGxlKFdlYlByb2Nlc3NQcm94eSYs
IGNvbnN0IFVSTCYsIGNvbnN0IFVSTCYsIFNhbmRib3hFeHRlbnNpb246OkhhbmRsZSYsIGJvb2wp
Cit7Cit9CisKKyNlbHNlCisKIHZvaWQgV2ViUGFnZVByb3h5OjptYXliZUluaXRpYWxpemVTYW5k
Ym94RXh0ZW5zaW9uSGFuZGxlKFdlYlByb2Nlc3NQcm94eSYgcHJvY2VzcywgY29uc3QgVVJMJiB1
cmwsIGNvbnN0IFVSTCYgcmVzb3VyY2VEaXJlY3RvcnlVUkwsIFNhbmRib3hFeHRlbnNpb246Okhh
bmRsZSYgc2FuZGJveEV4dGVuc2lvbkhhbmRsZSwgYm9vbCBjaGVja0Fzc3VtZWRSZWFkQWNjZXNz
VG9SZXNvdXJjZVVSTCkKIHsKICAgICBpZiAoIXVybC5pc0xvY2FsRmlsZSgpKQogICAgICAgICBy
ZXR1cm47CiAKLSNpZiBIQVZFKFNBTkRCT1hfSVNTVUVfUkVBRF9FWFRFTlNJT05fVE9fUFJPQ0VT
U19CWV9BVURJVF9UT0tFTikKICAgICAvLyBJZiB0aGUgcHJvY2VzcyBpcyBzdGlsbCBsYXVuY2hp
bmcgdGhlbiBpdCBkb2VzIG5vdCBoYXZlIGEgUElEIHlldC4gV2Ugd2lsbCB0YWtlIGNhcmUgb2Yg
Y3JlYXRpbmcgdGhlIHNhbmRib3ggZXh0ZW5zaW9uCiAgICAgLy8gb25jZSB0aGUgcHJvY2VzcyBo
YXMgZmluaXNoZWQgbGF1bmNoaW5nLgogICAgIGlmIChwcm9jZXNzLmlzTGF1bmNoaW5nKCkgfHwg
cHJvY2Vzcy53YXNUZXJtaW5hdGVkKCkpCiAgICAgICAgIHJldHVybjsKLSNlbmRpZgogCiAgICAg
aWYgKCFyZXNvdXJjZURpcmVjdG9yeVVSTC5pc0VtcHR5KCkpIHsKICAgICAgICAgaWYgKGNoZWNr
QXNzdW1lZFJlYWRBY2Nlc3NUb1Jlc291cmNlVVJMICYmIHByb2Nlc3MuaGFzQXNzdW1lZFJlYWRB
Y2Nlc3NUb1VSTChyZXNvdXJjZURpcmVjdG9yeVVSTCkpCiAgICAgICAgICAgICByZXR1cm47CiAK
LSNpZiBIQVZFKFNBTkRCT1hfSVNTVUVfUkVBRF9FWFRFTlNJT05fVE9fUFJPQ0VTU19CWV9BVURJ
VF9UT0tFTikKICAgICAgICAgQVNTRVJUKHByb2Nlc3MuY29ubmVjdGlvbigpICYmIHByb2Nlc3Mu
Y29ubmVjdGlvbigpLT5nZXRBdWRpdFRva2VuKCkpOwogICAgICAgICBib29sIGNyZWF0ZWRFeHRl
bnNpb24gPSBmYWxzZTsKICAgICAgICAgaWYgKHByb2Nlc3MuY29ubmVjdGlvbigpICYmIHByb2Nl
c3MuY29ubmVjdGlvbigpLT5nZXRBdWRpdFRva2VuKCkpCkBAIC0xMjA4LDEyICsxMjEzLDYgQEAg
dm9pZCBXZWJQYWdlUHJveHk6Om1heWJlSW5pdGlhbGl6ZVNhbmRib3hFeHRlbnNpb25IYW5kbGUo
V2ViUHJvY2Vzc1Byb3h5JiBwcm9jZXMKICAgICAgICAgICAgIHByb2Nlc3MuYXNzdW1lUmVhZEFj
Y2Vzc1RvQmFzZVVSTCgqdGhpcywgcmVzb3VyY2VEaXJlY3RvcnlVUkwuc3RyaW5nKCkpOwogICAg
ICAgICAgICAgcmV0dXJuOwogICAgICAgICB9Ci0jZWxzZQotICAgICAgICBpZiAoU2FuZGJveEV4
dGVuc2lvbjo6Y3JlYXRlSGFuZGxlKHJlc291cmNlRGlyZWN0b3J5VVJMLmZpbGVTeXN0ZW1QYXRo
KCksIFNhbmRib3hFeHRlbnNpb246OlR5cGU6OlJlYWRPbmx5LCBzYW5kYm94RXh0ZW5zaW9uSGFu
ZGxlKSkgewotICAgICAgICAgICAgcHJvY2Vzcy5hc3N1bWVSZWFkQWNjZXNzVG9CYXNlVVJMKCp0
aGlzLCByZXNvdXJjZURpcmVjdG9yeVVSTC5zdHJpbmcoKSk7Ci0gICAgICAgICAgICByZXR1cm47
Ci0gICAgICAgIH0KLSNlbmRpZgogICAgIH0KIAogICAgIGlmIChwcm9jZXNzLmhhc0Fzc3VtZWRS
ZWFkQWNjZXNzVG9VUkwodXJsKSkKQEAgLTEyMjIsNyArMTIyMSw2IEBAIHZvaWQgV2ViUGFnZVBy
b3h5OjptYXliZUluaXRpYWxpemVTYW5kYm94RXh0ZW5zaW9uSGFuZGxlKFdlYlByb2Nlc3NQcm94
eSYgcHJvY2VzCiAgICAgLy8gSW5zcGVjdG9yIHJlc291cmNlcyBhcmUgaW4gYSBkaXJlY3Rvcnkg
d2l0aCBhc3N1bWVkIGFjY2Vzcy4KICAgICBSRUxFQVNFX0FTU0VSVF9XSVRIX1NFQ1VSSVRZX0lN
UExJQ0FUSU9OKCFXZWJLaXQ6OmlzSW5zcGVjdG9yUGFnZSgqdGhpcykpOwogCi0jaWYgSEFWRShT
QU5EQk9YX0lTU1VFX1JFQURfRVhURU5TSU9OX1RPX1BST0NFU1NfQllfQVVESVRfVE9LRU4pCiAg
ICAgQVNTRVJUKHByb2Nlc3MuY29ubmVjdGlvbigpICYmIHByb2Nlc3MuY29ubmVjdGlvbigpLT5n
ZXRBdWRpdFRva2VuKCkpOwogICAgIGJvb2wgY3JlYXRlZEV4dGVuc2lvbiA9IGZhbHNlOwogICAg
IGlmIChwcm9jZXNzLmNvbm5lY3Rpb24oKSAmJiBwcm9jZXNzLmNvbm5lY3Rpb24oKS0+Z2V0QXVk
aXRUb2tlbigpKQpAQCAtMTIzNCwxMiArMTIzMiw2IEBAIHZvaWQgV2ViUGFnZVByb3h5OjptYXli
ZUluaXRpYWxpemVTYW5kYm94RXh0ZW5zaW9uSGFuZGxlKFdlYlByb2Nlc3NQcm94eSYgcHJvY2Vz
CiAgICAgICAgIHdpbGxBY3F1aXJlVW5pdmVyc2FsRmlsZVJlYWRTYW5kYm94RXh0ZW5zaW9uKHBy
b2Nlc3MpOwogICAgICAgICByZXR1cm47CiAgICAgfQotI2Vsc2UKLSAgICBpZiAoU2FuZGJveEV4
dGVuc2lvbjo6Y3JlYXRlSGFuZGxlKCIvIiwgU2FuZGJveEV4dGVuc2lvbjo6VHlwZTo6UmVhZE9u
bHksIHNhbmRib3hFeHRlbnNpb25IYW5kbGUpKSB7Ci0gICAgICAgIHdpbGxBY3F1aXJlVW5pdmVy
c2FsRmlsZVJlYWRTYW5kYm94RXh0ZW5zaW9uKHByb2Nlc3MpOwotICAgICAgICByZXR1cm47Ci0g
ICAgfQotI2VuZGlmCiAKICNpZiBQTEFURk9STShDT0NPQSkKICAgICBpZiAoIWxpbmtlZE9uT3JB
ZnRlcihTREtWZXJzaW9uOjpGaXJzdFdpdGhvdXRVbmNvbmRpdGlvbmFsVW5pdmVyc2FsU2FuZGJv
eEV4dGVuc2lvbikpCkBAIC0xMjUxLDcgKzEyNDMsNiBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6bWF5
YmVJbml0aWFsaXplU2FuZGJveEV4dGVuc2lvbkhhbmRsZShXZWJQcm9jZXNzUHJveHkmIHByb2Nl
cwogICAgIGF1dG8gYmFzZVBhdGggPSBiYXNlVVJMLmZpbGVTeXN0ZW1QYXRoKCk7CiAgICAgaWYg
KGJhc2VQYXRoLmlzTnVsbCgpKQogICAgICAgICByZXR1cm47Ci0jaWYgSEFWRShTQU5EQk9YX0lT
U1VFX1JFQURfRVhURU5TSU9OX1RPX1BST0NFU1NfQllfQVVESVRfVE9LRU4pCiAgICAgaWYgKHBy
b2Nlc3MuY29ubmVjdGlvbigpICYmIHByb2Nlc3MuY29ubmVjdGlvbigpLT5nZXRBdWRpdFRva2Vu
KCkpCiAgICAgICAgIGNyZWF0ZWRFeHRlbnNpb24gPSBTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVI
YW5kbGVGb3JSZWFkQnlBdWRpdFRva2VuKGJhc2VQYXRoLCAqKHByb2Nlc3MuY29ubmVjdGlvbigp
LT5nZXRBdWRpdFRva2VuKCkpLCBzYW5kYm94RXh0ZW5zaW9uSGFuZGxlKTsKICAgICBlbHNlCkBA
IC0xMjU5LDE2ICsxMjUwLDE3IEBAIHZvaWQgV2ViUGFnZVByb3h5OjptYXliZUluaXRpYWxpemVT
YW5kYm94RXh0ZW5zaW9uSGFuZGxlKFdlYlByb2Nlc3NQcm94eSYgcHJvY2VzCiAgICAgCiAgICAg
aWYgKGNyZWF0ZWRFeHRlbnNpb24pCiAgICAgICAgIHByb2Nlc3MuYXNzdW1lUmVhZEFjY2Vzc1Rv
QmFzZVVSTCgqdGhpcywgYmFzZVVSTC5zdHJpbmcoKSk7Ci0jZWxzZQotICAgIGlmIChTYW5kYm94
RXh0ZW5zaW9uOjpjcmVhdGVIYW5kbGUoYmFzZVBhdGgsIFNhbmRib3hFeHRlbnNpb246OlR5cGU6
OlJlYWRPbmx5LCBzYW5kYm94RXh0ZW5zaW9uSGFuZGxlKSkKLSAgICAgICAgcHJvY2Vzcy5hc3N1
bWVSZWFkQWNjZXNzVG9CYXNlVVJMKCp0aGlzLCBiYXNlVVJMLnN0cmluZygpKTsKICNlbmRpZgog
fQogCisjZW5kaWYKKwogI2lmICFQTEFURk9STShDT0NPQSkKKwogdm9pZCBXZWJQYWdlUHJveHk6
OmFkZFBsYXRmb3JtTG9hZFBhcmFtZXRlcnMoV2ViUHJvY2Vzc1Byb3h5JiwgTG9hZFBhcmFtZXRl
cnMmKQogewogfQorCiAjZW5kaWYKIAogV2ViUHJvY2Vzc1Byb3h5JiBXZWJQYWdlUHJveHk6OmVu
c3VyZVJ1bm5pbmdQcm9jZXNzKCkKQEAgLTEzMjksMTQgKzEzMjEsMTAgQEAgdm9pZCBXZWJQYWdl
UHJveHk6OmxvYWRSZXF1ZXN0V2l0aE5hdmlnYXRpb25TaGFyZWQoUmVmPFdlYlByb2Nlc3NQcm94
eT4mJiBwcm9jZXMKIAogICAgIG5hdmlnYXRpb24uc2V0SXNMb2FkZWRXaXRoTmF2aWdhdGlvblNo
YXJlZCh0cnVlKTsKIAotI2lmIEhBVkUoU0FOREJPWF9JU1NVRV9SRUFEX0VYVEVOU0lPTl9UT19Q
Uk9DRVNTX0JZX0FVRElUX1RPS0VOKQogICAgIGlmICghcHJvY2Vzcy0+aXNMYXVuY2hpbmcoKSB8
fCAhdXJsLmlzTG9jYWxGaWxlKCkpCiAgICAgICAgIHByb2Nlc3MtPnNlbmQoTWVzc2FnZXM6Oldl
YlBhZ2U6OkxvYWRSZXF1ZXN0KGxvYWRQYXJhbWV0ZXJzKSwgd2ViUGFnZUlEKTsKICAgICBlbHNl
CiAgICAgICAgIHByb2Nlc3MtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OkxvYWRSZXF1ZXN0V2Fp
dGluZ0ZvclByb2Nlc3NMYXVuY2gobG9hZFBhcmFtZXRlcnMsIG1fcGFnZUxvYWRTdGF0ZS5yZXNv
dXJjZURpcmVjdG9yeVVSTCgpLCBtX2lkZW50aWZpZXIsIHRydWUpLCB3ZWJQYWdlSUQpOwotI2Vs
c2UKLSAgICBwcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpMb2FkUmVxdWVzdChsb2Fk
UGFyYW1ldGVycyksIHdlYlBhZ2VJRCk7Ci0jZW5kaWYKICAgICBwcm9jZXNzLT5zdGFydFJlc3Bv
bnNpdmVuZXNzVGltZXIoKTsKIH0KIApAQCAtMTM4NywxNCArMTM3NSwxMCBAQCBSZWZQdHI8QVBJ
OjpOYXZpZ2F0aW9uPiBXZWJQYWdlUHJveHk6OmxvYWRGaWxlKGNvbnN0IFN0cmluZyYgZmlsZVVS
TFN0cmluZywgY29ucwogICAgIG1heWJlSW5pdGlhbGl6ZVNhbmRib3hFeHRlbnNpb25IYW5kbGUo
bV9wcm9jZXNzLCBmaWxlVVJMLCByZXNvdXJjZURpcmVjdG9yeVVSTCwgbG9hZFBhcmFtZXRlcnMu
c2FuZGJveEV4dGVuc2lvbkhhbmRsZSwgY2hlY2tBc3N1bWVkUmVhZEFjY2Vzc1RvUmVzb3VyY2VV
UkwpOwogICAgIGFkZFBsYXRmb3JtTG9hZFBhcmFtZXRlcnMobV9wcm9jZXNzLCBsb2FkUGFyYW1l
dGVycyk7CiAKLSNpZiBIQVZFKFNBTkRCT1hfSVNTVUVfUkVBRF9FWFRFTlNJT05fVE9fUFJPQ0VT
U19CWV9BVURJVF9UT0tFTikKICAgICBpZiAobV9wcm9jZXNzLT5pc0xhdW5jaGluZygpKQogICAg
ICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpMb2FkUmVxdWVzdFdhaXRpbmdGb3JQcm9jZXNz
TGF1bmNoKGxvYWRQYXJhbWV0ZXJzLCByZXNvdXJjZURpcmVjdG9yeVVSTCwgbV9pZGVudGlmaWVy
LCBjaGVja0Fzc3VtZWRSZWFkQWNjZXNzVG9SZXNvdXJjZVVSTCkpOwogICAgIGVsc2UKICAgICAg
ICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZTo6TG9hZFJlcXVlc3QobG9hZFBhcmFtZXRlcnMpKTsK
LSNlbHNlCi0gICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZTo6TG9hZFJlcXVlc3QobG9hZFBhcmFt
ZXRlcnMpKTsKLSNlbmRpZgogICAgIG1fcHJvY2Vzcy0+c3RhcnRSZXNwb25zaXZlbmVzc1RpbWVy
KCk7CiAKICAgICByZXR1cm4gbmF2aWdhdGlvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQcm9jZXNzUHJveHkuY3BwCmluZGV4IDJmNTRhYzI5YTEzOTNmNWE4N2Q3NGZkOTQ5OGE2ZjFh
NjgzNmNjMWUuLjViM2M1NGU1ODdmY2M1Yjg5Mzk2OGI2MTY5MWJmYjg4Y2VjZjA1NzggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcApAQCAtMzU4LDcgKzM1
OCw2IEBAIHZvaWQgV2ViUHJvY2Vzc1Byb3h5OjpwbGF0Zm9ybUdldExhdW5jaE9wdGlvbnMoUHJv
Y2Vzc0xhdW5jaGVyOjpMYXVuY2hPcHRpb25zJiBsCiAKIGJvb2wgV2ViUHJvY2Vzc1Byb3h5Ojpz
aG91bGRTZW5kUGVuZGluZ01lc3NhZ2UoY29uc3QgUGVuZGluZ01lc3NhZ2UmIG1lc3NhZ2UpCiB7
Ci0jaWYgSEFWRShTQU5EQk9YX0lTU1VFX1JFQURfRVhURU5TSU9OX1RPX1BST0NFU1NfQllfQVVE
SVRfVE9LRU4pCiAgICAgaWYgKG1lc3NhZ2UuZW5jb2Rlci0+bWVzc2FnZU5hbWUoKSA9PSBJUEM6
Ok1lc3NhZ2VOYW1lOjpXZWJQYWdlX0xvYWRSZXF1ZXN0V2FpdGluZ0ZvclByb2Nlc3NMYXVuY2gp
IHsKICAgICAgICAgYXV0byBidWZmZXIgPSBtZXNzYWdlLmVuY29kZXItPmJ1ZmZlcigpOwogICAg
ICAgICBhdXRvIGJ1ZmZlclNpemUgPSBtZXNzYWdlLmVuY29kZXItPmJ1ZmZlclNpemUoKTsKQEAg
LTM3Niw3ICszNzUsNiBAQCBib29sIFdlYlByb2Nlc3NQcm94eTo6c2hvdWxkU2VuZFBlbmRpbmdN
ZXNzYWdlKGNvbnN0IFBlbmRpbmdNZXNzYWdlJiBtZXNzYWdlKQogICAgICAgICAgICAgQVNTRVJU
X05PVF9SRUFDSEVEKCk7CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9Ci0jZW5kaWYKICAg
ICByZXR1cm4gdHJ1ZTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3BwIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3BwCmluZGV4IDlm
YTg3OTY1YjJkNzJlNzM5NTM5YmQ2MTUwZjc5NDUwNDkzODJiY2MuLjY3YjBlZjcwYmRmYjhmODBh
NWJjNzFlMDc1Yzk0ZTg0ZmRiMGQ1OTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5jcHAK
QEAgLTE0NCwxMSArMTQ0LDggQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6Ok1lZGlh
UGxheWVyUHJpdmF0ZVJlbW90ZTo6bG9hZChjb25zdCBVUkwmIHVybCwgY28KICAgICAgICAgYXV0
byBmaWxlU3lzdGVtUGF0aCA9IHVybC5maWxlU3lzdGVtUGF0aCgpOwogCiAgICAgICAgIGF1dG8g
Y3JlYXRlRXh0ZW5zaW9uID0gWyZdIHsKLSNpZiBIQVZFKFNBTkRCT1hfSVNTVUVfUkVBRF9FWFRF
TlNJT05fVE9fUFJPQ0VTU19CWV9BVURJVF9UT0tFTikKICAgICAgICAgICAgIGlmIChhdXRvIGF1
ZGl0VG9rZW4gPSBtX21hbmFnZXIuZ3B1UHJvY2Vzc0Nvbm5lY3Rpb24oKS5hdWRpdFRva2VuKCkp
CiAgICAgICAgICAgICAgICAgcmV0dXJuIFNhbmRib3hFeHRlbnNpb246OmNyZWF0ZUhhbmRsZUZv
clJlYWRCeUF1ZGl0VG9rZW4oZmlsZVN5c3RlbVBhdGgsIGF1ZGl0VG9rZW4udmFsdWUoKSwgaGFu
ZGxlKTsKLSNlbmRpZgotCiAgICAgICAgICAgICByZXR1cm4gU2FuZGJveEV4dGVuc2lvbjo6Y3Jl
YXRlSGFuZGxlKGZpbGVTeXN0ZW1QYXRoLCBTYW5kYm94RXh0ZW5zaW9uOjpUeXBlOjpSZWFkT25s
eSwgaGFuZGxlKTsKICAgICAgICAgfTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>404099</attachid>
            <date>2020-07-12 08:50:01 -0700</date>
            <delta_ts>2020-07-12 09:07:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214233-20200712085001.patch</filename>
            <type>text/plain</type>
            <size>11711</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0Mjc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGM2YTY2MGZiMTc2YjkwYTE3
NTE4ZDg4ZDkxMDEwZjUyMTcyZjZjNDAuLmIxOTMxMTYzNTRmYzUzYTFmYzY3YjczNzQ1MTM0MmU5
MjYxN2I0NjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMjAtMDctMTIgIERhcmluIEFk
bGVyICA8ZGFyaW5AYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT04gKHIyNjExNTIpOiA5
IGJsb2NrcyBvZiBjcml0aWNhbCBzYW5kYm94aW5nIGNvZGUgZGlzYWJsZWQgYmVjYXVzZSB0aGV5
IGFyZSBndWFyZGVkIHdpdGggSEFWRShTQU5EQk9YX0lTU1VFX1JFQURfRVhURU5TSU9OX1RPX1BS
T0NFU1NfQllfQVVESVRfVE9LRU4pCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMTQyMzMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0
ZXJzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnM6
OmVuY29kZSBjb25zdCk6IFJlbW92ZSAjaWYgSEFWRS4KKyAgICAgICAgKiBVSVByb2Nlc3MvQ29j
b2EvV2ViUGFnZVByb3h5Q29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6
Y3JlYXRlU2FuZGJveEV4dGVuc2lvbnNJZk5lZWRlZCk6IERpdHRvLgorICAgICAgICAqIFVJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6Om1h
eWJlSW5pdGlhbGl6ZVNhbmRib3hFeHRlbnNpb25IYW5kbGUpOiBEaXR0by4KKyAgICAgICAgKFdl
YktpdDo6V2ViUGFnZVByb3h5Ojpsb2FkUmVxdWVzdFdpdGhOYXZpZ2F0aW9uU2hhcmVkKTogRGl0
dG8uCisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6bG9hZEZpbGUpOiBEaXR0by4KKyAg
ICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6
V2ViUHJvY2Vzc1Byb3h5OjpzaG91bGRTZW5kUGVuZGluZ01lc3NhZ2UpOiBEaXR0by4KKyAgICAg
ICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6Ok1lZGlhUGxheWVyUHJp
dmF0ZVJlbW90ZTo6bG9hZCk6IERpdHRvLgorCiAyMDIwLTA3LTExICBEYXJpbiBBZGxlciAgPGRh
cmluQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1vdmUgbGl2ZSByYW5nZXMgZnJvbSBBY2Nlc3Np
YmlsaXR5T2JqZWN0LmgsIEFjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaCwgQWNjZXNzaWJp
bGl0eVJlbmRlck9iamVjdC5oLCBBWElzb2xhdGVkT2JqZWN0LmgKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMuY3Bw
IGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1l
dGVycy5jcHAKaW5kZXggZmVlOThiNjg4OWU4YjNiMjhiYWI4YjJkNTc1N2RmMjE5MGQ1NmYwOS4u
OTllZDg1ZjI5NjU3NTNlNGYwMjIzMDBhNWFjNjdjMjcxMmE5YzFhZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycy5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2Fk
UGFyYW1ldGVycy5jcHAKQEAgLTY2LDEzICs2NiwxMSBAQCB2b2lkIE5ldHdvcmtSZXNvdXJjZUxv
YWRQYXJhbWV0ZXJzOjplbmNvZGUoSVBDOjpFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogCiAgICAg
aWYgKHJlcXVlc3QudXJsKCkuaXNMb2NhbEZpbGUoKSkgewogICAgICAgICBTYW5kYm94RXh0ZW5z
aW9uOjpIYW5kbGUgcmVxdWVzdFNhbmRib3hFeHRlbnNpb247Ci0jaWYgSEFWRShTQU5EQk9YX0lT
U1VFX1JFQURfRVhURU5TSU9OX1RPX1BST0NFU1NfQllfQVVESVRfVE9LRU4pCisjaWYgRU5BQkxF
KFNBTkRCT1hfRVhURU5TSU9OUykKICAgICAgICAgaWYgKG5ldHdvcmtQcm9jZXNzQXVkaXRUb2tl
bikKICAgICAgICAgICAgIFNhbmRib3hFeHRlbnNpb246OmNyZWF0ZUhhbmRsZUZvclJlYWRCeUF1
ZGl0VG9rZW4ocmVxdWVzdC51cmwoKS5maWxlU3lzdGVtUGF0aCgpLCAqbmV0d29ya1Byb2Nlc3NB
dWRpdFRva2VuLCByZXF1ZXN0U2FuZGJveEV4dGVuc2lvbik7CiAgICAgICAgIGVsc2UKICAgICAg
ICAgICAgIFNhbmRib3hFeHRlbnNpb246OmNyZWF0ZUhhbmRsZShyZXF1ZXN0LnVybCgpLmZpbGVT
eXN0ZW1QYXRoKCksIFNhbmRib3hFeHRlbnNpb246OlR5cGU6OlJlYWRPbmx5LCByZXF1ZXN0U2Fu
ZGJveEV4dGVuc2lvbik7Ci0jZWxzZQotICAgICAgICBTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVI
YW5kbGUocmVxdWVzdC51cmwoKS5maWxlU3lzdGVtUGF0aCgpLCBTYW5kYm94RXh0ZW5zaW9uOjpU
eXBlOjpSZWFkT25seSwgcmVxdWVzdFNhbmRib3hFeHRlbnNpb24pOwogI2VuZGlmCiAgICAgICAg
IGVuY29kZXIgPDwgcmVxdWVzdFNhbmRib3hFeHRlbnNpb247CiAgICAgfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW0gYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbQppbmRleCBjNmM0
YjY5MzhlZWI3MDAwODAxZDA0ZmRlMmFkYjk1YmRmODFlZTU2Li5mZmRmOGNmNTMzZmU1MTg1NmZm
YmY3MmU5OWViZTg3MDQ0NDZjZGIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbQpAQCAtMTg0LDE1ICsxODQsMTEgQEAgdm9pZCBX
ZWJQYWdlUHJveHk6OmNyZWF0ZVNhbmRib3hFeHRlbnNpb25zSWZOZWVkZWQoY29uc3QgVmVjdG9y
PFN0cmluZz4mIGZpbGVzLAogICAgIGlmIChmaWxlcy5zaXplKCkgPT0gMSkgewogICAgICAgICBC
T09MIGlzRGlyZWN0b3J5OwogICAgICAgICBpZiAoW1tOU0ZpbGVNYW5hZ2VyIGRlZmF1bHRNYW5h
Z2VyXSBmaWxlRXhpc3RzQXRQYXRoOmZpbGVzWzBdIGlzRGlyZWN0b3J5OiZpc0RpcmVjdG9yeV0g
JiYgIWlzRGlyZWN0b3J5KSB7Ci0jaWYgSEFWRShTQU5EQk9YX0lTU1VFX1JFQURfRVhURU5TSU9O
X1RPX1BST0NFU1NfQllfQVVESVRfVE9LRU4pCiAgICAgICAgICAgICBBU1NFUlQocHJvY2Vzcygp
LmNvbm5lY3Rpb24oKSAmJiBwcm9jZXNzKCkuY29ubmVjdGlvbigpLT5nZXRBdWRpdFRva2VuKCkp
OwogICAgICAgICAgICAgaWYgKHByb2Nlc3MoKS5jb25uZWN0aW9uKCkgJiYgcHJvY2VzcygpLmNv
bm5lY3Rpb24oKS0+Z2V0QXVkaXRUb2tlbigpKQogICAgICAgICAgICAgICAgIFNhbmRib3hFeHRl
bnNpb246OmNyZWF0ZUhhbmRsZUZvclJlYWRCeUF1ZGl0VG9rZW4oIi8iLCAqKHByb2Nlc3MoKS5j
b25uZWN0aW9uKCktPmdldEF1ZGl0VG9rZW4oKSksIGZpbGVSZWFkSGFuZGxlKTsKICAgICAgICAg
ICAgIGVsc2UKICAgICAgICAgICAgICAgICBTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVIYW5kbGUo
Ii8iLCBTYW5kYm94RXh0ZW5zaW9uOjpUeXBlOjpSZWFkT25seSwgZmlsZVJlYWRIYW5kbGUpOwot
I2Vsc2UKLSAgICAgICAgICAgIFNhbmRib3hFeHRlbnNpb246OmNyZWF0ZUhhbmRsZSgiLyIsIFNh
bmRib3hFeHRlbnNpb246OlR5cGU6OlJlYWRPbmx5LCBmaWxlUmVhZEhhbmRsZSk7Ci0jZW5kaWYK
ICAgICAgICAgICAgIHdpbGxBY3F1aXJlVW5pdmVyc2FsRmlsZVJlYWRTYW5kYm94RXh0ZW5zaW9u
KG1fcHJvY2Vzcyk7CiAgICAgICAgIH0KICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmNwcAppbmRleCA4NWUzZjMxNTZkYjhkZWZlMmI2NWRhNmQyNWI3MTM2N2JkZTIw
MDIxLi42NzNkNzcwODZlNGJiNjA5ZDFiN2U5MzMzOWRkZmNkNzE1MzhiYTI4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTExODAsMjMgKzExODAsMjggQEAg
dm9pZCBXZWJQYWdlUHJveHk6OnRyeUNsb3NlVGltZWRPdXQoKQogICAgIGNsb3NlUGFnZSgpOwog
fQogCisjaWYgIUVOQUJMRShTQU5EQk9YX0VYVEVOU0lPTlMpCisKK3ZvaWQgV2ViUGFnZVByb3h5
OjptYXliZUluaXRpYWxpemVTYW5kYm94RXh0ZW5zaW9uSGFuZGxlKFdlYlByb2Nlc3NQcm94eSYs
IGNvbnN0IFVSTCYsIGNvbnN0IFVSTCYsIFNhbmRib3hFeHRlbnNpb246OkhhbmRsZSYsIGJvb2wp
Cit7Cit9CisKKyNlbHNlCisKIHZvaWQgV2ViUGFnZVByb3h5OjptYXliZUluaXRpYWxpemVTYW5k
Ym94RXh0ZW5zaW9uSGFuZGxlKFdlYlByb2Nlc3NQcm94eSYgcHJvY2VzcywgY29uc3QgVVJMJiB1
cmwsIGNvbnN0IFVSTCYgcmVzb3VyY2VEaXJlY3RvcnlVUkwsIFNhbmRib3hFeHRlbnNpb246Okhh
bmRsZSYgc2FuZGJveEV4dGVuc2lvbkhhbmRsZSwgYm9vbCBjaGVja0Fzc3VtZWRSZWFkQWNjZXNz
VG9SZXNvdXJjZVVSTCkKIHsKICAgICBpZiAoIXVybC5pc0xvY2FsRmlsZSgpKQogICAgICAgICBy
ZXR1cm47CiAKLSNpZiBIQVZFKFNBTkRCT1hfSVNTVUVfUkVBRF9FWFRFTlNJT05fVE9fUFJPQ0VT
U19CWV9BVURJVF9UT0tFTikKICAgICAvLyBJZiB0aGUgcHJvY2VzcyBpcyBzdGlsbCBsYXVuY2hp
bmcgdGhlbiBpdCBkb2VzIG5vdCBoYXZlIGEgUElEIHlldC4gV2Ugd2lsbCB0YWtlIGNhcmUgb2Yg
Y3JlYXRpbmcgdGhlIHNhbmRib3ggZXh0ZW5zaW9uCiAgICAgLy8gb25jZSB0aGUgcHJvY2VzcyBo
YXMgZmluaXNoZWQgbGF1bmNoaW5nLgogICAgIGlmIChwcm9jZXNzLmlzTGF1bmNoaW5nKCkgfHwg
cHJvY2Vzcy53YXNUZXJtaW5hdGVkKCkpCiAgICAgICAgIHJldHVybjsKLSNlbmRpZgogCiAgICAg
aWYgKCFyZXNvdXJjZURpcmVjdG9yeVVSTC5pc0VtcHR5KCkpIHsKICAgICAgICAgaWYgKGNoZWNr
QXNzdW1lZFJlYWRBY2Nlc3NUb1Jlc291cmNlVVJMICYmIHByb2Nlc3MuaGFzQXNzdW1lZFJlYWRB
Y2Nlc3NUb1VSTChyZXNvdXJjZURpcmVjdG9yeVVSTCkpCiAgICAgICAgICAgICByZXR1cm47CiAK
LSNpZiBIQVZFKFNBTkRCT1hfSVNTVUVfUkVBRF9FWFRFTlNJT05fVE9fUFJPQ0VTU19CWV9BVURJ
VF9UT0tFTikKICAgICAgICAgQVNTRVJUKHByb2Nlc3MuY29ubmVjdGlvbigpICYmIHByb2Nlc3Mu
Y29ubmVjdGlvbigpLT5nZXRBdWRpdFRva2VuKCkpOwogICAgICAgICBib29sIGNyZWF0ZWRFeHRl
bnNpb24gPSBmYWxzZTsKICAgICAgICAgaWYgKHByb2Nlc3MuY29ubmVjdGlvbigpICYmIHByb2Nl
c3MuY29ubmVjdGlvbigpLT5nZXRBdWRpdFRva2VuKCkpCkBAIC0xMjA4LDEyICsxMjEzLDYgQEAg
dm9pZCBXZWJQYWdlUHJveHk6Om1heWJlSW5pdGlhbGl6ZVNhbmRib3hFeHRlbnNpb25IYW5kbGUo
V2ViUHJvY2Vzc1Byb3h5JiBwcm9jZXMKICAgICAgICAgICAgIHByb2Nlc3MuYXNzdW1lUmVhZEFj
Y2Vzc1RvQmFzZVVSTCgqdGhpcywgcmVzb3VyY2VEaXJlY3RvcnlVUkwuc3RyaW5nKCkpOwogICAg
ICAgICAgICAgcmV0dXJuOwogICAgICAgICB9Ci0jZWxzZQotICAgICAgICBpZiAoU2FuZGJveEV4
dGVuc2lvbjo6Y3JlYXRlSGFuZGxlKHJlc291cmNlRGlyZWN0b3J5VVJMLmZpbGVTeXN0ZW1QYXRo
KCksIFNhbmRib3hFeHRlbnNpb246OlR5cGU6OlJlYWRPbmx5LCBzYW5kYm94RXh0ZW5zaW9uSGFu
ZGxlKSkgewotICAgICAgICAgICAgcHJvY2Vzcy5hc3N1bWVSZWFkQWNjZXNzVG9CYXNlVVJMKCp0
aGlzLCByZXNvdXJjZURpcmVjdG9yeVVSTC5zdHJpbmcoKSk7Ci0gICAgICAgICAgICByZXR1cm47
Ci0gICAgICAgIH0KLSNlbmRpZgogICAgIH0KIAogICAgIGlmIChwcm9jZXNzLmhhc0Fzc3VtZWRS
ZWFkQWNjZXNzVG9VUkwodXJsKSkKQEAgLTEyMjIsNyArMTIyMSw2IEBAIHZvaWQgV2ViUGFnZVBy
b3h5OjptYXliZUluaXRpYWxpemVTYW5kYm94RXh0ZW5zaW9uSGFuZGxlKFdlYlByb2Nlc3NQcm94
eSYgcHJvY2VzCiAgICAgLy8gSW5zcGVjdG9yIHJlc291cmNlcyBhcmUgaW4gYSBkaXJlY3Rvcnkg
d2l0aCBhc3N1bWVkIGFjY2Vzcy4KICAgICBSRUxFQVNFX0FTU0VSVF9XSVRIX1NFQ1VSSVRZX0lN
UExJQ0FUSU9OKCFXZWJLaXQ6OmlzSW5zcGVjdG9yUGFnZSgqdGhpcykpOwogCi0jaWYgSEFWRShT
QU5EQk9YX0lTU1VFX1JFQURfRVhURU5TSU9OX1RPX1BST0NFU1NfQllfQVVESVRfVE9LRU4pCiAg
ICAgQVNTRVJUKHByb2Nlc3MuY29ubmVjdGlvbigpICYmIHByb2Nlc3MuY29ubmVjdGlvbigpLT5n
ZXRBdWRpdFRva2VuKCkpOwogICAgIGJvb2wgY3JlYXRlZEV4dGVuc2lvbiA9IGZhbHNlOwogICAg
IGlmIChwcm9jZXNzLmNvbm5lY3Rpb24oKSAmJiBwcm9jZXNzLmNvbm5lY3Rpb24oKS0+Z2V0QXVk
aXRUb2tlbigpKQpAQCAtMTIzNCwxMiArMTIzMiw2IEBAIHZvaWQgV2ViUGFnZVByb3h5OjptYXli
ZUluaXRpYWxpemVTYW5kYm94RXh0ZW5zaW9uSGFuZGxlKFdlYlByb2Nlc3NQcm94eSYgcHJvY2Vz
CiAgICAgICAgIHdpbGxBY3F1aXJlVW5pdmVyc2FsRmlsZVJlYWRTYW5kYm94RXh0ZW5zaW9uKHBy
b2Nlc3MpOwogICAgICAgICByZXR1cm47CiAgICAgfQotI2Vsc2UKLSAgICBpZiAoU2FuZGJveEV4
dGVuc2lvbjo6Y3JlYXRlSGFuZGxlKCIvIiwgU2FuZGJveEV4dGVuc2lvbjo6VHlwZTo6UmVhZE9u
bHksIHNhbmRib3hFeHRlbnNpb25IYW5kbGUpKSB7Ci0gICAgICAgIHdpbGxBY3F1aXJlVW5pdmVy
c2FsRmlsZVJlYWRTYW5kYm94RXh0ZW5zaW9uKHByb2Nlc3MpOwotICAgICAgICByZXR1cm47Ci0g
ICAgfQotI2VuZGlmCiAKICNpZiBQTEFURk9STShDT0NPQSkKICAgICBpZiAoIWxpbmtlZE9uT3JB
ZnRlcihTREtWZXJzaW9uOjpGaXJzdFdpdGhvdXRVbmNvbmRpdGlvbmFsVW5pdmVyc2FsU2FuZGJv
eEV4dGVuc2lvbikpCkBAIC0xMjUxLDcgKzEyNDMsNiBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6bWF5
YmVJbml0aWFsaXplU2FuZGJveEV4dGVuc2lvbkhhbmRsZShXZWJQcm9jZXNzUHJveHkmIHByb2Nl
cwogICAgIGF1dG8gYmFzZVBhdGggPSBiYXNlVVJMLmZpbGVTeXN0ZW1QYXRoKCk7CiAgICAgaWYg
KGJhc2VQYXRoLmlzTnVsbCgpKQogICAgICAgICByZXR1cm47Ci0jaWYgSEFWRShTQU5EQk9YX0lT
U1VFX1JFQURfRVhURU5TSU9OX1RPX1BST0NFU1NfQllfQVVESVRfVE9LRU4pCiAgICAgaWYgKHBy
b2Nlc3MuY29ubmVjdGlvbigpICYmIHByb2Nlc3MuY29ubmVjdGlvbigpLT5nZXRBdWRpdFRva2Vu
KCkpCiAgICAgICAgIGNyZWF0ZWRFeHRlbnNpb24gPSBTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVI
YW5kbGVGb3JSZWFkQnlBdWRpdFRva2VuKGJhc2VQYXRoLCAqKHByb2Nlc3MuY29ubmVjdGlvbigp
LT5nZXRBdWRpdFRva2VuKCkpLCBzYW5kYm94RXh0ZW5zaW9uSGFuZGxlKTsKICAgICBlbHNlCkBA
IC0xMjU5LDE2ICsxMjUwLDE2IEBAIHZvaWQgV2ViUGFnZVByb3h5OjptYXliZUluaXRpYWxpemVT
YW5kYm94RXh0ZW5zaW9uSGFuZGxlKFdlYlByb2Nlc3NQcm94eSYgcHJvY2VzCiAgICAgCiAgICAg
aWYgKGNyZWF0ZWRFeHRlbnNpb24pCiAgICAgICAgIHByb2Nlc3MuYXNzdW1lUmVhZEFjY2Vzc1Rv
QmFzZVVSTCgqdGhpcywgYmFzZVVSTC5zdHJpbmcoKSk7Ci0jZWxzZQotICAgIGlmIChTYW5kYm94
RXh0ZW5zaW9uOjpjcmVhdGVIYW5kbGUoYmFzZVBhdGgsIFNhbmRib3hFeHRlbnNpb246OlR5cGU6
OlJlYWRPbmx5LCBzYW5kYm94RXh0ZW5zaW9uSGFuZGxlKSkKLSAgICAgICAgcHJvY2Vzcy5hc3N1
bWVSZWFkQWNjZXNzVG9CYXNlVVJMKCp0aGlzLCBiYXNlVVJMLnN0cmluZygpKTsKLSNlbmRpZgog
fQogCisjZW5kaWYKKwogI2lmICFQTEFURk9STShDT0NPQSkKKwogdm9pZCBXZWJQYWdlUHJveHk6
OmFkZFBsYXRmb3JtTG9hZFBhcmFtZXRlcnMoV2ViUHJvY2Vzc1Byb3h5JiwgTG9hZFBhcmFtZXRl
cnMmKQogewogfQorCiAjZW5kaWYKIAogV2ViUHJvY2Vzc1Byb3h5JiBXZWJQYWdlUHJveHk6OmVu
c3VyZVJ1bm5pbmdQcm9jZXNzKCkKQEAgLTEzMjksMTQgKzEzMjAsMTAgQEAgdm9pZCBXZWJQYWdl
UHJveHk6OmxvYWRSZXF1ZXN0V2l0aE5hdmlnYXRpb25TaGFyZWQoUmVmPFdlYlByb2Nlc3NQcm94
eT4mJiBwcm9jZXMKIAogICAgIG5hdmlnYXRpb24uc2V0SXNMb2FkZWRXaXRoTmF2aWdhdGlvblNo
YXJlZCh0cnVlKTsKIAotI2lmIEhBVkUoU0FOREJPWF9JU1NVRV9SRUFEX0VYVEVOU0lPTl9UT19Q
Uk9DRVNTX0JZX0FVRElUX1RPS0VOKQogICAgIGlmICghcHJvY2Vzcy0+aXNMYXVuY2hpbmcoKSB8
fCAhdXJsLmlzTG9jYWxGaWxlKCkpCiAgICAgICAgIHByb2Nlc3MtPnNlbmQoTWVzc2FnZXM6Oldl
YlBhZ2U6OkxvYWRSZXF1ZXN0KGxvYWRQYXJhbWV0ZXJzKSwgd2ViUGFnZUlEKTsKICAgICBlbHNl
CiAgICAgICAgIHByb2Nlc3MtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OkxvYWRSZXF1ZXN0V2Fp
dGluZ0ZvclByb2Nlc3NMYXVuY2gobG9hZFBhcmFtZXRlcnMsIG1fcGFnZUxvYWRTdGF0ZS5yZXNv
dXJjZURpcmVjdG9yeVVSTCgpLCBtX2lkZW50aWZpZXIsIHRydWUpLCB3ZWJQYWdlSUQpOwotI2Vs
c2UKLSAgICBwcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpMb2FkUmVxdWVzdChsb2Fk
UGFyYW1ldGVycyksIHdlYlBhZ2VJRCk7Ci0jZW5kaWYKICAgICBwcm9jZXNzLT5zdGFydFJlc3Bv
bnNpdmVuZXNzVGltZXIoKTsKIH0KIApAQCAtMTM4NywxNCArMTM3NCwxMCBAQCBSZWZQdHI8QVBJ
OjpOYXZpZ2F0aW9uPiBXZWJQYWdlUHJveHk6OmxvYWRGaWxlKGNvbnN0IFN0cmluZyYgZmlsZVVS
TFN0cmluZywgY29ucwogICAgIG1heWJlSW5pdGlhbGl6ZVNhbmRib3hFeHRlbnNpb25IYW5kbGUo
bV9wcm9jZXNzLCBmaWxlVVJMLCByZXNvdXJjZURpcmVjdG9yeVVSTCwgbG9hZFBhcmFtZXRlcnMu
c2FuZGJveEV4dGVuc2lvbkhhbmRsZSwgY2hlY2tBc3N1bWVkUmVhZEFjY2Vzc1RvUmVzb3VyY2VV
UkwpOwogICAgIGFkZFBsYXRmb3JtTG9hZFBhcmFtZXRlcnMobV9wcm9jZXNzLCBsb2FkUGFyYW1l
dGVycyk7CiAKLSNpZiBIQVZFKFNBTkRCT1hfSVNTVUVfUkVBRF9FWFRFTlNJT05fVE9fUFJPQ0VT
U19CWV9BVURJVF9UT0tFTikKICAgICBpZiAobV9wcm9jZXNzLT5pc0xhdW5jaGluZygpKQogICAg
ICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpMb2FkUmVxdWVzdFdhaXRpbmdGb3JQcm9jZXNz
TGF1bmNoKGxvYWRQYXJhbWV0ZXJzLCByZXNvdXJjZURpcmVjdG9yeVVSTCwgbV9pZGVudGlmaWVy
LCBjaGVja0Fzc3VtZWRSZWFkQWNjZXNzVG9SZXNvdXJjZVVSTCkpOwogICAgIGVsc2UKICAgICAg
ICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZTo6TG9hZFJlcXVlc3QobG9hZFBhcmFtZXRlcnMpKTsK
LSNlbHNlCi0gICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZTo6TG9hZFJlcXVlc3QobG9hZFBhcmFt
ZXRlcnMpKTsKLSNlbmRpZgogICAgIG1fcHJvY2Vzcy0+c3RhcnRSZXNwb25zaXZlbmVzc1RpbWVy
KCk7CiAKICAgICByZXR1cm4gbmF2aWdhdGlvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQcm9jZXNzUHJveHkuY3BwCmluZGV4IDJmNTRhYzI5YTEzOTNmNWE4N2Q3NGZkOTQ5OGE2ZjFh
NjgzNmNjMWUuLjViM2M1NGU1ODdmY2M1Yjg5Mzk2OGI2MTY5MWJmYjg4Y2VjZjA1NzggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcApAQCAtMzU4LDcgKzM1
OCw2IEBAIHZvaWQgV2ViUHJvY2Vzc1Byb3h5OjpwbGF0Zm9ybUdldExhdW5jaE9wdGlvbnMoUHJv
Y2Vzc0xhdW5jaGVyOjpMYXVuY2hPcHRpb25zJiBsCiAKIGJvb2wgV2ViUHJvY2Vzc1Byb3h5Ojpz
aG91bGRTZW5kUGVuZGluZ01lc3NhZ2UoY29uc3QgUGVuZGluZ01lc3NhZ2UmIG1lc3NhZ2UpCiB7
Ci0jaWYgSEFWRShTQU5EQk9YX0lTU1VFX1JFQURfRVhURU5TSU9OX1RPX1BST0NFU1NfQllfQVVE
SVRfVE9LRU4pCiAgICAgaWYgKG1lc3NhZ2UuZW5jb2Rlci0+bWVzc2FnZU5hbWUoKSA9PSBJUEM6
Ok1lc3NhZ2VOYW1lOjpXZWJQYWdlX0xvYWRSZXF1ZXN0V2FpdGluZ0ZvclByb2Nlc3NMYXVuY2gp
IHsKICAgICAgICAgYXV0byBidWZmZXIgPSBtZXNzYWdlLmVuY29kZXItPmJ1ZmZlcigpOwogICAg
ICAgICBhdXRvIGJ1ZmZlclNpemUgPSBtZXNzYWdlLmVuY29kZXItPmJ1ZmZlclNpemUoKTsKQEAg
LTM3Niw3ICszNzUsNiBAQCBib29sIFdlYlByb2Nlc3NQcm94eTo6c2hvdWxkU2VuZFBlbmRpbmdN
ZXNzYWdlKGNvbnN0IFBlbmRpbmdNZXNzYWdlJiBtZXNzYWdlKQogICAgICAgICAgICAgQVNTRVJU
X05PVF9SRUFDSEVEKCk7CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9Ci0jZW5kaWYKICAg
ICByZXR1cm4gdHJ1ZTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3BwIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3BwCmluZGV4IDlm
YTg3OTY1YjJkNzJlNzM5NTM5YmQ2MTUwZjc5NDUwNDkzODJiY2MuLjY3YjBlZjcwYmRmYjhmODBh
NWJjNzFlMDc1Yzk0ZTg0ZmRiMGQ1OTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5jcHAK
QEAgLTE0NCwxMSArMTQ0LDggQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6Ok1lZGlh
UGxheWVyUHJpdmF0ZVJlbW90ZTo6bG9hZChjb25zdCBVUkwmIHVybCwgY28KICAgICAgICAgYXV0
byBmaWxlU3lzdGVtUGF0aCA9IHVybC5maWxlU3lzdGVtUGF0aCgpOwogCiAgICAgICAgIGF1dG8g
Y3JlYXRlRXh0ZW5zaW9uID0gWyZdIHsKLSNpZiBIQVZFKFNBTkRCT1hfSVNTVUVfUkVBRF9FWFRF
TlNJT05fVE9fUFJPQ0VTU19CWV9BVURJVF9UT0tFTikKICAgICAgICAgICAgIGlmIChhdXRvIGF1
ZGl0VG9rZW4gPSBtX21hbmFnZXIuZ3B1UHJvY2Vzc0Nvbm5lY3Rpb24oKS5hdWRpdFRva2VuKCkp
CiAgICAgICAgICAgICAgICAgcmV0dXJuIFNhbmRib3hFeHRlbnNpb246OmNyZWF0ZUhhbmRsZUZv
clJlYWRCeUF1ZGl0VG9rZW4oZmlsZVN5c3RlbVBhdGgsIGF1ZGl0VG9rZW4udmFsdWUoKSwgaGFu
ZGxlKTsKLSNlbmRpZgotCiAgICAgICAgICAgICByZXR1cm4gU2FuZGJveEV4dGVuc2lvbjo6Y3Jl
YXRlSGFuZGxlKGZpbGVTeXN0ZW1QYXRoLCBTYW5kYm94RXh0ZW5zaW9uOjpUeXBlOjpSZWFkT25s
eSwgaGFuZGxlKTsKICAgICAgICAgfTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>404101</attachid>
            <date>2020-07-12 09:07:47 -0700</date>
            <delta_ts>2020-07-12 11:53:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214233-20200712090747.patch</filename>
            <type>text/plain</type>
            <size>12401</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0Mjc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGM2YTY2MGZiMTc2YjkwYTE3
NTE4ZDg4ZDkxMDEwZjUyMTcyZjZjNDAuLmIxOTMxMTYzNTRmYzUzYTFmYzY3YjczNzQ1MTM0MmU5
MjYxN2I0NjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMjAtMDctMTIgIERhcmluIEFk
bGVyICA8ZGFyaW5AYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT04gKHIyNjExNTIpOiA5
IGJsb2NrcyBvZiBjcml0aWNhbCBzYW5kYm94aW5nIGNvZGUgZGlzYWJsZWQgYmVjYXVzZSB0aGV5
IGFyZSBndWFyZGVkIHdpdGggSEFWRShTQU5EQk9YX0lTU1VFX1JFQURfRVhURU5TSU9OX1RPX1BS
T0NFU1NfQllfQVVESVRfVE9LRU4pCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMTQyMzMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0
ZXJzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnM6
OmVuY29kZSBjb25zdCk6IFJlbW92ZSAjaWYgSEFWRS4KKyAgICAgICAgKiBVSVByb2Nlc3MvQ29j
b2EvV2ViUGFnZVByb3h5Q29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6
Y3JlYXRlU2FuZGJveEV4dGVuc2lvbnNJZk5lZWRlZCk6IERpdHRvLgorICAgICAgICAqIFVJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6Om1h
eWJlSW5pdGlhbGl6ZVNhbmRib3hFeHRlbnNpb25IYW5kbGUpOiBEaXR0by4KKyAgICAgICAgKFdl
YktpdDo6V2ViUGFnZVByb3h5Ojpsb2FkUmVxdWVzdFdpdGhOYXZpZ2F0aW9uU2hhcmVkKTogRGl0
dG8uCisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6bG9hZEZpbGUpOiBEaXR0by4KKyAg
ICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6
V2ViUHJvY2Vzc1Byb3h5OjpzaG91bGRTZW5kUGVuZGluZ01lc3NhZ2UpOiBEaXR0by4KKyAgICAg
ICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6Ok1lZGlhUGxheWVyUHJp
dmF0ZVJlbW90ZTo6bG9hZCk6IERpdHRvLgorCiAyMDIwLTA3LTExICBEYXJpbiBBZGxlciAgPGRh
cmluQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1vdmUgbGl2ZSByYW5nZXMgZnJvbSBBY2Nlc3Np
YmlsaXR5T2JqZWN0LmgsIEFjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaCwgQWNjZXNzaWJp
bGl0eVJlbmRlck9iamVjdC5oLCBBWElzb2xhdGVkT2JqZWN0LmgKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMuY3Bw
IGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1l
dGVycy5jcHAKaW5kZXggZmVlOThiNjg4OWU4YjNiMjhiYWI4YjJkNTc1N2RmMjE5MGQ1NmYwOS4u
OTllZDg1ZjI5NjU3NTNlNGYwMjIzMDBhNWFjNjdjMjcxMmE5YzFhZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycy5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2Fk
UGFyYW1ldGVycy5jcHAKQEAgLTY2LDEzICs2NiwxMSBAQCB2b2lkIE5ldHdvcmtSZXNvdXJjZUxv
YWRQYXJhbWV0ZXJzOjplbmNvZGUoSVBDOjpFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogCiAgICAg
aWYgKHJlcXVlc3QudXJsKCkuaXNMb2NhbEZpbGUoKSkgewogICAgICAgICBTYW5kYm94RXh0ZW5z
aW9uOjpIYW5kbGUgcmVxdWVzdFNhbmRib3hFeHRlbnNpb247Ci0jaWYgSEFWRShTQU5EQk9YX0lT
U1VFX1JFQURfRVhURU5TSU9OX1RPX1BST0NFU1NfQllfQVVESVRfVE9LRU4pCisjaWYgRU5BQkxF
KFNBTkRCT1hfRVhURU5TSU9OUykKICAgICAgICAgaWYgKG5ldHdvcmtQcm9jZXNzQXVkaXRUb2tl
bikKICAgICAgICAgICAgIFNhbmRib3hFeHRlbnNpb246OmNyZWF0ZUhhbmRsZUZvclJlYWRCeUF1
ZGl0VG9rZW4ocmVxdWVzdC51cmwoKS5maWxlU3lzdGVtUGF0aCgpLCAqbmV0d29ya1Byb2Nlc3NB
dWRpdFRva2VuLCByZXF1ZXN0U2FuZGJveEV4dGVuc2lvbik7CiAgICAgICAgIGVsc2UKICAgICAg
ICAgICAgIFNhbmRib3hFeHRlbnNpb246OmNyZWF0ZUhhbmRsZShyZXF1ZXN0LnVybCgpLmZpbGVT
eXN0ZW1QYXRoKCksIFNhbmRib3hFeHRlbnNpb246OlR5cGU6OlJlYWRPbmx5LCByZXF1ZXN0U2Fu
ZGJveEV4dGVuc2lvbik7Ci0jZWxzZQotICAgICAgICBTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVI
YW5kbGUocmVxdWVzdC51cmwoKS5maWxlU3lzdGVtUGF0aCgpLCBTYW5kYm94RXh0ZW5zaW9uOjpU
eXBlOjpSZWFkT25seSwgcmVxdWVzdFNhbmRib3hFeHRlbnNpb24pOwogI2VuZGlmCiAgICAgICAg
IGVuY29kZXIgPDwgcmVxdWVzdFNhbmRib3hFeHRlbnNpb247CiAgICAgfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW0gYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbQppbmRleCBjNmM0
YjY5MzhlZWI3MDAwODAxZDA0ZmRlMmFkYjk1YmRmODFlZTU2Li5mZmRmOGNmNTMzZmU1MTg1NmZm
YmY3MmU5OWViZTg3MDQ0NDZjZGIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbQpAQCAtMTg0LDE1ICsxODQsMTEgQEAgdm9pZCBX
ZWJQYWdlUHJveHk6OmNyZWF0ZVNhbmRib3hFeHRlbnNpb25zSWZOZWVkZWQoY29uc3QgVmVjdG9y
PFN0cmluZz4mIGZpbGVzLAogICAgIGlmIChmaWxlcy5zaXplKCkgPT0gMSkgewogICAgICAgICBC
T09MIGlzRGlyZWN0b3J5OwogICAgICAgICBpZiAoW1tOU0ZpbGVNYW5hZ2VyIGRlZmF1bHRNYW5h
Z2VyXSBmaWxlRXhpc3RzQXRQYXRoOmZpbGVzWzBdIGlzRGlyZWN0b3J5OiZpc0RpcmVjdG9yeV0g
JiYgIWlzRGlyZWN0b3J5KSB7Ci0jaWYgSEFWRShTQU5EQk9YX0lTU1VFX1JFQURfRVhURU5TSU9O
X1RPX1BST0NFU1NfQllfQVVESVRfVE9LRU4pCiAgICAgICAgICAgICBBU1NFUlQocHJvY2Vzcygp
LmNvbm5lY3Rpb24oKSAmJiBwcm9jZXNzKCkuY29ubmVjdGlvbigpLT5nZXRBdWRpdFRva2VuKCkp
OwogICAgICAgICAgICAgaWYgKHByb2Nlc3MoKS5jb25uZWN0aW9uKCkgJiYgcHJvY2VzcygpLmNv
bm5lY3Rpb24oKS0+Z2V0QXVkaXRUb2tlbigpKQogICAgICAgICAgICAgICAgIFNhbmRib3hFeHRl
bnNpb246OmNyZWF0ZUhhbmRsZUZvclJlYWRCeUF1ZGl0VG9rZW4oIi8iLCAqKHByb2Nlc3MoKS5j
b25uZWN0aW9uKCktPmdldEF1ZGl0VG9rZW4oKSksIGZpbGVSZWFkSGFuZGxlKTsKICAgICAgICAg
ICAgIGVsc2UKICAgICAgICAgICAgICAgICBTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVIYW5kbGUo
Ii8iLCBTYW5kYm94RXh0ZW5zaW9uOjpUeXBlOjpSZWFkT25seSwgZmlsZVJlYWRIYW5kbGUpOwot
I2Vsc2UKLSAgICAgICAgICAgIFNhbmRib3hFeHRlbnNpb246OmNyZWF0ZUhhbmRsZSgiLyIsIFNh
bmRib3hFeHRlbnNpb246OlR5cGU6OlJlYWRPbmx5LCBmaWxlUmVhZEhhbmRsZSk7Ci0jZW5kaWYK
ICAgICAgICAgICAgIHdpbGxBY3F1aXJlVW5pdmVyc2FsRmlsZVJlYWRTYW5kYm94RXh0ZW5zaW9u
KG1fcHJvY2Vzcyk7CiAgICAgICAgIH0KICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmNwcAppbmRleCA4NWUzZjMxNTZkYjhkZWZlMmI2NWRhNmQyNWI3MTM2N2JkZTIw
MDIxLi42NzNkNzcwODZlNGJiNjA5ZDFiN2U5MzMzOWRkZmNkNzE1MzhiYTI4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTExODAsMjMgKzExODAsMjggQEAg
dm9pZCBXZWJQYWdlUHJveHk6OnRyeUNsb3NlVGltZWRPdXQoKQogICAgIGNsb3NlUGFnZSgpOwog
fQogCisjaWYgIUVOQUJMRShTQU5EQk9YX0VYVEVOU0lPTlMpCisKK3ZvaWQgV2ViUGFnZVByb3h5
OjptYXliZUluaXRpYWxpemVTYW5kYm94RXh0ZW5zaW9uSGFuZGxlKFdlYlByb2Nlc3NQcm94eSYs
IGNvbnN0IFVSTCYsIGNvbnN0IFVSTCYsIFNhbmRib3hFeHRlbnNpb246OkhhbmRsZSYsIGJvb2wp
Cit7Cit9CisKKyNlbHNlCisKIHZvaWQgV2ViUGFnZVByb3h5OjptYXliZUluaXRpYWxpemVTYW5k
Ym94RXh0ZW5zaW9uSGFuZGxlKFdlYlByb2Nlc3NQcm94eSYgcHJvY2VzcywgY29uc3QgVVJMJiB1
cmwsIGNvbnN0IFVSTCYgcmVzb3VyY2VEaXJlY3RvcnlVUkwsIFNhbmRib3hFeHRlbnNpb246Okhh
bmRsZSYgc2FuZGJveEV4dGVuc2lvbkhhbmRsZSwgYm9vbCBjaGVja0Fzc3VtZWRSZWFkQWNjZXNz
VG9SZXNvdXJjZVVSTCkKIHsKICAgICBpZiAoIXVybC5pc0xvY2FsRmlsZSgpKQogICAgICAgICBy
ZXR1cm47CiAKLSNpZiBIQVZFKFNBTkRCT1hfSVNTVUVfUkVBRF9FWFRFTlNJT05fVE9fUFJPQ0VT
U19CWV9BVURJVF9UT0tFTikKICAgICAvLyBJZiB0aGUgcHJvY2VzcyBpcyBzdGlsbCBsYXVuY2hp
bmcgdGhlbiBpdCBkb2VzIG5vdCBoYXZlIGEgUElEIHlldC4gV2Ugd2lsbCB0YWtlIGNhcmUgb2Yg
Y3JlYXRpbmcgdGhlIHNhbmRib3ggZXh0ZW5zaW9uCiAgICAgLy8gb25jZSB0aGUgcHJvY2VzcyBo
YXMgZmluaXNoZWQgbGF1bmNoaW5nLgogICAgIGlmIChwcm9jZXNzLmlzTGF1bmNoaW5nKCkgfHwg
cHJvY2Vzcy53YXNUZXJtaW5hdGVkKCkpCiAgICAgICAgIHJldHVybjsKLSNlbmRpZgogCiAgICAg
aWYgKCFyZXNvdXJjZURpcmVjdG9yeVVSTC5pc0VtcHR5KCkpIHsKICAgICAgICAgaWYgKGNoZWNr
QXNzdW1lZFJlYWRBY2Nlc3NUb1Jlc291cmNlVVJMICYmIHByb2Nlc3MuaGFzQXNzdW1lZFJlYWRB
Y2Nlc3NUb1VSTChyZXNvdXJjZURpcmVjdG9yeVVSTCkpCiAgICAgICAgICAgICByZXR1cm47CiAK
LSNpZiBIQVZFKFNBTkRCT1hfSVNTVUVfUkVBRF9FWFRFTlNJT05fVE9fUFJPQ0VTU19CWV9BVURJ
VF9UT0tFTikKICAgICAgICAgQVNTRVJUKHByb2Nlc3MuY29ubmVjdGlvbigpICYmIHByb2Nlc3Mu
Y29ubmVjdGlvbigpLT5nZXRBdWRpdFRva2VuKCkpOwogICAgICAgICBib29sIGNyZWF0ZWRFeHRl
bnNpb24gPSBmYWxzZTsKICAgICAgICAgaWYgKHByb2Nlc3MuY29ubmVjdGlvbigpICYmIHByb2Nl
c3MuY29ubmVjdGlvbigpLT5nZXRBdWRpdFRva2VuKCkpCkBAIC0xMjA4LDEyICsxMjEzLDYgQEAg
dm9pZCBXZWJQYWdlUHJveHk6Om1heWJlSW5pdGlhbGl6ZVNhbmRib3hFeHRlbnNpb25IYW5kbGUo
V2ViUHJvY2Vzc1Byb3h5JiBwcm9jZXMKICAgICAgICAgICAgIHByb2Nlc3MuYXNzdW1lUmVhZEFj
Y2Vzc1RvQmFzZVVSTCgqdGhpcywgcmVzb3VyY2VEaXJlY3RvcnlVUkwuc3RyaW5nKCkpOwogICAg
ICAgICAgICAgcmV0dXJuOwogICAgICAgICB9Ci0jZWxzZQotICAgICAgICBpZiAoU2FuZGJveEV4
dGVuc2lvbjo6Y3JlYXRlSGFuZGxlKHJlc291cmNlRGlyZWN0b3J5VVJMLmZpbGVTeXN0ZW1QYXRo
KCksIFNhbmRib3hFeHRlbnNpb246OlR5cGU6OlJlYWRPbmx5LCBzYW5kYm94RXh0ZW5zaW9uSGFu
ZGxlKSkgewotICAgICAgICAgICAgcHJvY2Vzcy5hc3N1bWVSZWFkQWNjZXNzVG9CYXNlVVJMKCp0
aGlzLCByZXNvdXJjZURpcmVjdG9yeVVSTC5zdHJpbmcoKSk7Ci0gICAgICAgICAgICByZXR1cm47
Ci0gICAgICAgIH0KLSNlbmRpZgogICAgIH0KIAogICAgIGlmIChwcm9jZXNzLmhhc0Fzc3VtZWRS
ZWFkQWNjZXNzVG9VUkwodXJsKSkKQEAgLTEyMjIsNyArMTIyMSw2IEBAIHZvaWQgV2ViUGFnZVBy
b3h5OjptYXliZUluaXRpYWxpemVTYW5kYm94RXh0ZW5zaW9uSGFuZGxlKFdlYlByb2Nlc3NQcm94
eSYgcHJvY2VzCiAgICAgLy8gSW5zcGVjdG9yIHJlc291cmNlcyBhcmUgaW4gYSBkaXJlY3Rvcnkg
d2l0aCBhc3N1bWVkIGFjY2Vzcy4KICAgICBSRUxFQVNFX0FTU0VSVF9XSVRIX1NFQ1VSSVRZX0lN
UExJQ0FUSU9OKCFXZWJLaXQ6OmlzSW5zcGVjdG9yUGFnZSgqdGhpcykpOwogCi0jaWYgSEFWRShT
QU5EQk9YX0lTU1VFX1JFQURfRVhURU5TSU9OX1RPX1BST0NFU1NfQllfQVVESVRfVE9LRU4pCiAg
ICAgQVNTRVJUKHByb2Nlc3MuY29ubmVjdGlvbigpICYmIHByb2Nlc3MuY29ubmVjdGlvbigpLT5n
ZXRBdWRpdFRva2VuKCkpOwogICAgIGJvb2wgY3JlYXRlZEV4dGVuc2lvbiA9IGZhbHNlOwogICAg
IGlmIChwcm9jZXNzLmNvbm5lY3Rpb24oKSAmJiBwcm9jZXNzLmNvbm5lY3Rpb24oKS0+Z2V0QXVk
aXRUb2tlbigpKQpAQCAtMTIzNCwxMiArMTIzMiw2IEBAIHZvaWQgV2ViUGFnZVByb3h5OjptYXli
ZUluaXRpYWxpemVTYW5kYm94RXh0ZW5zaW9uSGFuZGxlKFdlYlByb2Nlc3NQcm94eSYgcHJvY2Vz
CiAgICAgICAgIHdpbGxBY3F1aXJlVW5pdmVyc2FsRmlsZVJlYWRTYW5kYm94RXh0ZW5zaW9uKHBy
b2Nlc3MpOwogICAgICAgICByZXR1cm47CiAgICAgfQotI2Vsc2UKLSAgICBpZiAoU2FuZGJveEV4
dGVuc2lvbjo6Y3JlYXRlSGFuZGxlKCIvIiwgU2FuZGJveEV4dGVuc2lvbjo6VHlwZTo6UmVhZE9u
bHksIHNhbmRib3hFeHRlbnNpb25IYW5kbGUpKSB7Ci0gICAgICAgIHdpbGxBY3F1aXJlVW5pdmVy
c2FsRmlsZVJlYWRTYW5kYm94RXh0ZW5zaW9uKHByb2Nlc3MpOwotICAgICAgICByZXR1cm47Ci0g
ICAgfQotI2VuZGlmCiAKICNpZiBQTEFURk9STShDT0NPQSkKICAgICBpZiAoIWxpbmtlZE9uT3JB
ZnRlcihTREtWZXJzaW9uOjpGaXJzdFdpdGhvdXRVbmNvbmRpdGlvbmFsVW5pdmVyc2FsU2FuZGJv
eEV4dGVuc2lvbikpCkBAIC0xMjUxLDcgKzEyNDMsNiBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6bWF5
YmVJbml0aWFsaXplU2FuZGJveEV4dGVuc2lvbkhhbmRsZShXZWJQcm9jZXNzUHJveHkmIHByb2Nl
cwogICAgIGF1dG8gYmFzZVBhdGggPSBiYXNlVVJMLmZpbGVTeXN0ZW1QYXRoKCk7CiAgICAgaWYg
KGJhc2VQYXRoLmlzTnVsbCgpKQogICAgICAgICByZXR1cm47Ci0jaWYgSEFWRShTQU5EQk9YX0lT
U1VFX1JFQURfRVhURU5TSU9OX1RPX1BST0NFU1NfQllfQVVESVRfVE9LRU4pCiAgICAgaWYgKHBy
b2Nlc3MuY29ubmVjdGlvbigpICYmIHByb2Nlc3MuY29ubmVjdGlvbigpLT5nZXRBdWRpdFRva2Vu
KCkpCiAgICAgICAgIGNyZWF0ZWRFeHRlbnNpb24gPSBTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVI
YW5kbGVGb3JSZWFkQnlBdWRpdFRva2VuKGJhc2VQYXRoLCAqKHByb2Nlc3MuY29ubmVjdGlvbigp
LT5nZXRBdWRpdFRva2VuKCkpLCBzYW5kYm94RXh0ZW5zaW9uSGFuZGxlKTsKICAgICBlbHNlCkBA
IC0xMjU5LDE2ICsxMjUwLDE2IEBAIHZvaWQgV2ViUGFnZVByb3h5OjptYXliZUluaXRpYWxpemVT
YW5kYm94RXh0ZW5zaW9uSGFuZGxlKFdlYlByb2Nlc3NQcm94eSYgcHJvY2VzCiAgICAgCiAgICAg
aWYgKGNyZWF0ZWRFeHRlbnNpb24pCiAgICAgICAgIHByb2Nlc3MuYXNzdW1lUmVhZEFjY2Vzc1Rv
QmFzZVVSTCgqdGhpcywgYmFzZVVSTC5zdHJpbmcoKSk7Ci0jZWxzZQotICAgIGlmIChTYW5kYm94
RXh0ZW5zaW9uOjpjcmVhdGVIYW5kbGUoYmFzZVBhdGgsIFNhbmRib3hFeHRlbnNpb246OlR5cGU6
OlJlYWRPbmx5LCBzYW5kYm94RXh0ZW5zaW9uSGFuZGxlKSkKLSAgICAgICAgcHJvY2Vzcy5hc3N1
bWVSZWFkQWNjZXNzVG9CYXNlVVJMKCp0aGlzLCBiYXNlVVJMLnN0cmluZygpKTsKLSNlbmRpZgog
fQogCisjZW5kaWYKKwogI2lmICFQTEFURk9STShDT0NPQSkKKwogdm9pZCBXZWJQYWdlUHJveHk6
OmFkZFBsYXRmb3JtTG9hZFBhcmFtZXRlcnMoV2ViUHJvY2Vzc1Byb3h5JiwgTG9hZFBhcmFtZXRl
cnMmKQogewogfQorCiAjZW5kaWYKIAogV2ViUHJvY2Vzc1Byb3h5JiBXZWJQYWdlUHJveHk6OmVu
c3VyZVJ1bm5pbmdQcm9jZXNzKCkKQEAgLTEzMjksMTQgKzEzMjAsMTAgQEAgdm9pZCBXZWJQYWdl
UHJveHk6OmxvYWRSZXF1ZXN0V2l0aE5hdmlnYXRpb25TaGFyZWQoUmVmPFdlYlByb2Nlc3NQcm94
eT4mJiBwcm9jZXMKIAogICAgIG5hdmlnYXRpb24uc2V0SXNMb2FkZWRXaXRoTmF2aWdhdGlvblNo
YXJlZCh0cnVlKTsKIAotI2lmIEhBVkUoU0FOREJPWF9JU1NVRV9SRUFEX0VYVEVOU0lPTl9UT19Q
Uk9DRVNTX0JZX0FVRElUX1RPS0VOKQogICAgIGlmICghcHJvY2Vzcy0+aXNMYXVuY2hpbmcoKSB8
fCAhdXJsLmlzTG9jYWxGaWxlKCkpCiAgICAgICAgIHByb2Nlc3MtPnNlbmQoTWVzc2FnZXM6Oldl
YlBhZ2U6OkxvYWRSZXF1ZXN0KGxvYWRQYXJhbWV0ZXJzKSwgd2ViUGFnZUlEKTsKICAgICBlbHNl
CiAgICAgICAgIHByb2Nlc3MtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OkxvYWRSZXF1ZXN0V2Fp
dGluZ0ZvclByb2Nlc3NMYXVuY2gobG9hZFBhcmFtZXRlcnMsIG1fcGFnZUxvYWRTdGF0ZS5yZXNv
dXJjZURpcmVjdG9yeVVSTCgpLCBtX2lkZW50aWZpZXIsIHRydWUpLCB3ZWJQYWdlSUQpOwotI2Vs
c2UKLSAgICBwcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpMb2FkUmVxdWVzdChsb2Fk
UGFyYW1ldGVycyksIHdlYlBhZ2VJRCk7Ci0jZW5kaWYKICAgICBwcm9jZXNzLT5zdGFydFJlc3Bv
bnNpdmVuZXNzVGltZXIoKTsKIH0KIApAQCAtMTM4NywxNCArMTM3NCwxMCBAQCBSZWZQdHI8QVBJ
OjpOYXZpZ2F0aW9uPiBXZWJQYWdlUHJveHk6OmxvYWRGaWxlKGNvbnN0IFN0cmluZyYgZmlsZVVS
TFN0cmluZywgY29ucwogICAgIG1heWJlSW5pdGlhbGl6ZVNhbmRib3hFeHRlbnNpb25IYW5kbGUo
bV9wcm9jZXNzLCBmaWxlVVJMLCByZXNvdXJjZURpcmVjdG9yeVVSTCwgbG9hZFBhcmFtZXRlcnMu
c2FuZGJveEV4dGVuc2lvbkhhbmRsZSwgY2hlY2tBc3N1bWVkUmVhZEFjY2Vzc1RvUmVzb3VyY2VV
UkwpOwogICAgIGFkZFBsYXRmb3JtTG9hZFBhcmFtZXRlcnMobV9wcm9jZXNzLCBsb2FkUGFyYW1l
dGVycyk7CiAKLSNpZiBIQVZFKFNBTkRCT1hfSVNTVUVfUkVBRF9FWFRFTlNJT05fVE9fUFJPQ0VT
U19CWV9BVURJVF9UT0tFTikKICAgICBpZiAobV9wcm9jZXNzLT5pc0xhdW5jaGluZygpKQogICAg
ICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpMb2FkUmVxdWVzdFdhaXRpbmdGb3JQcm9jZXNz
TGF1bmNoKGxvYWRQYXJhbWV0ZXJzLCByZXNvdXJjZURpcmVjdG9yeVVSTCwgbV9pZGVudGlmaWVy
LCBjaGVja0Fzc3VtZWRSZWFkQWNjZXNzVG9SZXNvdXJjZVVSTCkpOwogICAgIGVsc2UKICAgICAg
ICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZTo6TG9hZFJlcXVlc3QobG9hZFBhcmFtZXRlcnMpKTsK
LSNlbHNlCi0gICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZTo6TG9hZFJlcXVlc3QobG9hZFBhcmFt
ZXRlcnMpKTsKLSNlbmRpZgogICAgIG1fcHJvY2Vzcy0+c3RhcnRSZXNwb25zaXZlbmVzc1RpbWVy
KCk7CiAKICAgICByZXR1cm4gbmF2aWdhdGlvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQcm9jZXNzUHJveHkuY3BwCmluZGV4IDJmNTRhYzI5YTEzOTNmNWE4N2Q3NGZkOTQ5OGE2ZjFh
NjgzNmNjMWUuLjViM2M1NGU1ODdmY2M1Yjg5Mzk2OGI2MTY5MWJmYjg4Y2VjZjA1NzggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcApAQCAtMzU4LDcgKzM1
OCw2IEBAIHZvaWQgV2ViUHJvY2Vzc1Byb3h5OjpwbGF0Zm9ybUdldExhdW5jaE9wdGlvbnMoUHJv
Y2Vzc0xhdW5jaGVyOjpMYXVuY2hPcHRpb25zJiBsCiAKIGJvb2wgV2ViUHJvY2Vzc1Byb3h5Ojpz
aG91bGRTZW5kUGVuZGluZ01lc3NhZ2UoY29uc3QgUGVuZGluZ01lc3NhZ2UmIG1lc3NhZ2UpCiB7
Ci0jaWYgSEFWRShTQU5EQk9YX0lTU1VFX1JFQURfRVhURU5TSU9OX1RPX1BST0NFU1NfQllfQVVE
SVRfVE9LRU4pCiAgICAgaWYgKG1lc3NhZ2UuZW5jb2Rlci0+bWVzc2FnZU5hbWUoKSA9PSBJUEM6
Ok1lc3NhZ2VOYW1lOjpXZWJQYWdlX0xvYWRSZXF1ZXN0V2FpdGluZ0ZvclByb2Nlc3NMYXVuY2gp
IHsKICAgICAgICAgYXV0byBidWZmZXIgPSBtZXNzYWdlLmVuY29kZXItPmJ1ZmZlcigpOwogICAg
ICAgICBhdXRvIGJ1ZmZlclNpemUgPSBtZXNzYWdlLmVuY29kZXItPmJ1ZmZlclNpemUoKTsKQEAg
LTM3Niw3ICszNzUsNiBAQCBib29sIFdlYlByb2Nlc3NQcm94eTo6c2hvdWxkU2VuZFBlbmRpbmdN
ZXNzYWdlKGNvbnN0IFBlbmRpbmdNZXNzYWdlJiBtZXNzYWdlKQogICAgICAgICAgICAgQVNTRVJU
X05PVF9SRUFDSEVEKCk7CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9Ci0jZW5kaWYKICAg
ICByZXR1cm4gdHJ1ZTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3BwIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3BwCmluZGV4IDlm
YTg3OTY1YjJkNzJlNzM5NTM5YmQ2MTUwZjc5NDUwNDkzODJiY2MuLjQxYWQzNWM0ZjczYTNjYTE1
MjVhM2FmM2QwMzU2ZWVkNmRkMzNlMDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5jcHAK
QEAgLTEzOSwxNiArMTM5LDE1IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpwcmVw
YXJlRm9yUGxheWJhY2soYm9vbCBwcml2YXRlTW9kZSwgTWVkaWFQbGF5ZXI6CiB2b2lkIE1lZGlh
UGxheWVyUHJpdmF0ZVJlbW90ZTo6TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpsb2FkKGNvbnN0
IFVSTCYgdXJsLCBjb25zdCBDb250ZW50VHlwZSYgY29udGVudFR5cGUsIGNvbnN0IFN0cmluZyYg
a2V5U3lzdGVtKQogewogICAgIE9wdGlvbmFsPFNhbmRib3hFeHRlbnNpb246OkhhbmRsZT4gc2Fu
ZGJveEV4dGVuc2lvbkhhbmRsZTsKKworI2lmIEVOQUJMRShTQU5EQk9YX0VYVEVOU0lPTlMpCiAg
ICAgaWYgKHVybC5pc0xvY2FsRmlsZSgpKSB7CiAgICAgICAgIFNhbmRib3hFeHRlbnNpb246Okhh
bmRsZSBoYW5kbGU7CiAgICAgICAgIGF1dG8gZmlsZVN5c3RlbVBhdGggPSB1cmwuZmlsZVN5c3Rl
bVBhdGgoKTsKIAogICAgICAgICBhdXRvIGNyZWF0ZUV4dGVuc2lvbiA9IFsmXSB7Ci0jaWYgSEFW
RShTQU5EQk9YX0lTU1VFX1JFQURfRVhURU5TSU9OX1RPX1BST0NFU1NfQllfQVVESVRfVE9LRU4p
CiAgICAgICAgICAgICBpZiAoYXV0byBhdWRpdFRva2VuID0gbV9tYW5hZ2VyLmdwdVByb2Nlc3ND
b25uZWN0aW9uKCkuYXVkaXRUb2tlbigpKQogICAgICAgICAgICAgICAgIHJldHVybiBTYW5kYm94
RXh0ZW5zaW9uOjpjcmVhdGVIYW5kbGVGb3JSZWFkQnlBdWRpdFRva2VuKGZpbGVTeXN0ZW1QYXRo
LCBhdWRpdFRva2VuLnZhbHVlKCksIGhhbmRsZSk7Ci0jZW5kaWYKLQogICAgICAgICAgICAgcmV0
dXJuIFNhbmRib3hFeHRlbnNpb246OmNyZWF0ZUhhbmRsZShmaWxlU3lzdGVtUGF0aCwgU2FuZGJv
eEV4dGVuc2lvbjo6VHlwZTo6UmVhZE9ubHksIGhhbmRsZSk7CiAgICAgICAgIH07CiAKQEAgLTE2
MSw2ICsxNjAsNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6TWVkaWFQbGF5ZXJQ
cml2YXRlUmVtb3RlOjpsb2FkKGNvbnN0IFVSTCYgdXJsLCBjbwogCiAgICAgICAgIHNhbmRib3hF
eHRlbnNpb25IYW5kbGUgPSBXVEZNb3ZlKGhhbmRsZSk7CiAgICAgfQorI2VuZGlmCiAKICAgICBj
b25uZWN0aW9uKCkuc2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpSZW1vdGVNZWRpYVBsYXll
clByb3h5OjpMb2FkKHVybCwgc2FuZGJveEV4dGVuc2lvbkhhbmRsZSwgY29udGVudFR5cGUsIGtl
eVN5c3RlbSksIFt3ZWFrVGhpcyA9IG1ha2VXZWFrUHRyKCp0aGlzKV0oYXV0byYmIGNvbmZpZ3Vy
YXRpb24pIHsKICAgICAgICAgaWYgKHdlYWtUaGlzKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>