<?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>228050</bug_id>
          
          <creation_ts>2021-07-17 09:16:56 -0700</creation_ts>
          <short_desc>[LFC][IFC] LineBox provides redundant geometry information</short_desc>
          <delta_ts>2021-08-20 13:50:52 -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>Layout and Rendering</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="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1777713</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2021-07-17 09:16:56 -0700</bug_when>
    <thetext>LineBoxGeometry is where we need this information</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777714</commentid>
    <comment_count>1</comment_count>
      <attachid>433732</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-07-17 09:35:21 -0700</bug_when>
    <thetext>Created attachment 433732
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777717</commentid>
    <comment_count>2</comment_count>
      <attachid>433733</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-07-17 11:24:29 -0700</bug_when>
    <thetext>Created attachment 433733
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777770</commentid>
    <comment_count>3</comment_count>
      <attachid>433733</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-07-18 12:35:11 -0700</bug_when>
    <thetext>Comment on attachment 433733
Patch

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

&gt; Source/WebCore/layout/formattingContexts/inline/InlineFormattingGeometry.cpp:359
&gt; +        m_logicalHeight =  { };

extra space.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1779328</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-07-24 09:17:15 -0700</bug_when>
    <thetext>&lt;rdar://problem/81057163&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1785628</commentid>
    <comment_count>5</comment_count>
      <attachid>435924</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-08-19 17:01:06 -0700</bug_when>
    <thetext>Created attachment 435924
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1785678</commentid>
    <comment_count>6</comment_count>
      <attachid>435935</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-08-19 20:13:16 -0700</bug_when>
    <thetext>Created attachment 435935
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1785848</commentid>
    <comment_count>7</comment_count>
      <attachid>435993</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-08-20 08:49:32 -0700</bug_when>
    <thetext>Created attachment 435993
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1785970</commentid>
    <comment_count>8</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-08-20 13:50:50 -0700</bug_when>
    <thetext>Committed r281335 (240752@main): &lt;https://commits.webkit.org/240752@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 435993.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433732</attachid>
            <date>2021-07-17 09:35:21 -0700</date>
            <delta_ts>2021-07-17 11:24:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-228050-20210717093520.patch</filename>
            <type>text/plain</type>
            <size>14840</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwMDE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWU0MWRkNjA4OTBhMDQy
MDI0NjY1YmE2MmRmNWE3YjRiN2NiMTY2Zi4uMzFkYWI2YTViNWViZmEwNWZjYWZlYmMzNWRhNWZh
OGU1NzFlMTE4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDIxLTA3LTE3ICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtJRkNdIExpbmVCb3gg
cHJvdmlkZXMgcmVkdW5kYW50IGdlb21ldHJ5IGluZm9ybWF0aW9uCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjgwNTAKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBMaW5lQm94R2VvbWV0cnkgY2xhc3MgcHJv
dmlkZXMgdGhlIGxpbmUncyBnZW9tZXRyeS4gVGhpcyBpcyBhbHNvIGluIHByZXBhcmF0aW9uIGZv
ciBtYWtpbmcgTGluZUJveCBhIG5vbi1wZXJzaXN0ZW50IHR5cGUgb2Ygc3RydWN0dXJlLgorCisg
ICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGlu
Z0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVGb3JtYXR0aW5n
Q29udGV4dDo6Y29tcHV0ZUdlb21ldHJ5Rm9yTGluZUNvbnRlbnQpOgorICAgICAgICAqIGxheW91
dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdHZW9tZXRyeS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCb3hCdWlsZGVyOjpidWlsZCk6CisgICAg
ICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCb3hCdWlsZGVyOjpjb25zdHJ1Y3RBbmRBbGlnbklu
bGluZUxldmVsQm94ZXMpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lQm94QnVpbGRl
cjo6Y29tcHV0ZUxpbmVCb3hIZWlnaHRBbmRBbGlnbklubGluZUxldmVsQm94ZXNWZXJ0aWNhbGx5
KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6SW5saW5lRm9ybWF0dGluZ0dlb21ldHJ5Ojp2
ZXJ0aWNhbGx5QWRqdXN0ZWRMaW5lRm9yTGluZUNvbnRlbnQgY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6TGF5b3V0OjpJbmxpbmVGb3JtYXR0aW5nR2VvbWV0cnk6OmxpbmVCb3hGb3JMaW5lQ29u
dGVudCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0
cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0dlb21ldHJ5Lmg6CisgICAgICAgICogbGF5b3V0L2Zv
cm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJveC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpMYXlvdXQ6OkxpbmVCb3g6OkxpbmVCb3gpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0
OjptX3Jvb3RJbmxpbmVCb3gpOiBEZWxldGVkLgorICAgICAgICAqIGxheW91dC9mb3JtYXR0aW5n
Q29udGV4dHMvaW5saW5lL0lubGluZUxpbmVCb3guaDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91
dDo6TGluZUJveDo6bG9naWNhbFJlY3QgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29y
ZTo6TGF5b3V0OjpMaW5lQm94OjphbGlnbm1lbnRCYXNlbGluZSBjb25zdCk6IERlbGV0ZWQuCisg
ICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCb3g6OnNldExvZ2ljYWxIZWlnaHQpOiBEZWxl
dGVkLgorICAgICAgICAqIGxheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbklubGlu
ZUNvbnRlbnRCdWlsZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dEludGVncmF0aW9u
OjpJbmxpbmVDb250ZW50QnVpbGRlcjo6Y3JlYXRlRGlzcGxheU5vblJvb3RJbmxpbmVCb3hlcyBj
b25zdCk6CisKIDIwMjEtMDctMTYgIEFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAg
ICAgICAgIFtMRkNdW0lGQ10gUmVtb3ZlIHJlZHVuZGFudCBMaW5lQm94IGZ1bmN0aW9ucwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUv
SW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1h
dHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwCmluZGV4IGQ0
N2NhNjlmZWI4MTA0YjJmZjhjNTMyOWZkZGQwMDRjMzZiZTkxYmMuLmIwMWE0NDZlN2UzNGI3MmQ4
ODVlZGEwZjUyMzEyZjkzOTZkM2JhNGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9Jbmxp
bmVGb3JtYXR0aW5nQ29udGV4dC5jcHAKQEAgLTQ2OCwxMCArNDY4LDExIEBAIElubGluZVJlY3Qg
SW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVHZW9tZXRyeUZvckxpbmVDb250ZW50KGNv
bnN0IExpbmVCdWlsCiAgICAgYXV0byYgZm9ybWF0dGluZ1N0YXRlID0gdGhpcy0+Zm9ybWF0dGlu
Z1N0YXRlKCk7CiAgICAgYXV0byYgZm9ybWF0dGluZ0dlb21ldHJ5ID0gdGhpcy0+Zm9ybWF0dGlu
Z0dlb21ldHJ5KCk7CiAKLSAgICBmb3JtYXR0aW5nU3RhdGUuYWRkTGluZUJveChmb3JtYXR0aW5n
R2VvbWV0cnkubGluZUJveEZvckxpbmVDb250ZW50KGxpbmVDb250ZW50KSk7Ci0gICAgY29uc3Qg
YXV0byYgbGluZUJveCA9IGZvcm1hdHRpbmdTdGF0ZS5saW5lQm94ZXMoKS5sYXN0KCk7CisgICAg
YXV0byBsaW5lID0gZm9ybWF0dGluZ0dlb21ldHJ5LnZlcnRpY2FsbHlBZGp1c3RlZExpbmVGb3JM
aW5lQ29udGVudChsaW5lQ29udGVudCk7CisgICAgY29uc3QgYXV0byYgbGluZUJveCA9IGxpbmUu
bGluZUJveDsKICAgICBhdXRvIGxpbmVJbmRleCA9IGZvcm1hdHRpbmdTdGF0ZS5saW5lcygpLnNp
emUoKTsKLSAgICBhdXRvJiBsaW5lQm94TG9naWNhbFJlY3QgPSBsaW5lQm94LmxvZ2ljYWxSZWN0
KCk7CisgICAgYXV0byBsaW5lQm94TG9naWNhbFJlY3QgPSBJbmxpbmVSZWN0IHsgbGluZUNvbnRl
bnQubG9naWNhbFRvcExlZnQsIGxpbmVDb250ZW50LmxpbmVMb2dpY2FsV2lkdGgsIGxpbmUubG9n
aWNhbEhlaWdodCB9OworCiAgICAgaWYgKCFsaW5lQm94Lmhhc0NvbnRlbnQoKSkgewogICAgICAg
ICAvLyBGYXN0IHBhdGggZm9yIGxpbmVzIHdpdGggbm8gY29udGVudCBlLmcuIDxkaXY+PHNwYW4+
PC9zcGFuPjxzcGFuPjwvc3Bhbj48L2Rpdj4gb3IgPHNwYW4+PGRpdj48L2Rpdj48L3NwYW4+IHdo
ZXJlIHdlIGNvbnN0cnVjdCBlbXB0eSBwcmUgYW5kIHBvc3QgYmxvY2tzLgogICAgICAgICBBU1NF
UlQoIWxpbmVCb3gucm9vdElubGluZUJveCgpLmhhc0NvbnRlbnQoKSAmJiAhbGluZUJveExvZ2lj
YWxSZWN0LmhlaWdodCgpKTsKQEAgLTYwNywxMCArNjA4LDEwIEBAIElubGluZVJlY3QgSW5saW5l
Rm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVHZW9tZXRyeUZvckxpbmVDb250ZW50KGNvbnN0IExp
bmVCdWlsCiAgICAgdXBkYXRlQm94R2VvbWV0cnlGb3JJbmxpbmVCb3hlcygpOwogCiAgICAgYXV0
byBjb25zdHJ1Y3RMaW5lR2VvbWV0cnkgPSBbJl0gewotICAgICAgICBmb3JtYXR0aW5nU3RhdGUu
YWRkTGluZSh7IGxpbmVCb3hMb2dpY2FsUmVjdCwgZW5jbG9zaW5nVG9wQW5kQm90dG9tLCBsaW5l
Qm94LmFsaWdubWVudEJhc2VsaW5lKCksIHJvb3RJbmxpbmVCb3hMb2dpY2FsUmVjdC5sZWZ0KCks
IGxpbmVDb250ZW50LmNvbnRlbnRMb2dpY2FsV2lkdGggfSk7CisgICAgICAgIGZvcm1hdHRpbmdT
dGF0ZS5hZGRMaW5lKHsgbGluZUJveExvZ2ljYWxSZWN0LCBlbmNsb3NpbmdUb3BBbmRCb3R0b20s
IHJvb3RJbmxpbmVCb3hMb2dpY2FsUmVjdC50b3AoKSArIGxpbmVCb3gucm9vdElubGluZUJveCgp
LmJhc2VsaW5lKCksIHJvb3RJbmxpbmVCb3hMb2dpY2FsUmVjdC5sZWZ0KCksIHJvb3RJbmxpbmVC
b3hMb2dpY2FsUmVjdC53aWR0aCgpIH0pOwogICAgIH07CiAgICAgY29uc3RydWN0TGluZUdlb21l
dHJ5KCk7Ci0KKyAgICBmb3JtYXR0aW5nU3RhdGUuYWRkTGluZUJveChXVEZNb3ZlKGxpbmUubGlu
ZUJveCkpOwogICAgIHJldHVybiBsaW5lQm94TG9naWNhbFJlY3Q7CiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZv
cm1hdHRpbmdHZW9tZXRyeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0Nv
bnRleHRzL2lubGluZS9JbmxpbmVGb3JtYXR0aW5nR2VvbWV0cnkuY3BwCmluZGV4IGVjZDMyM2Nl
OTVlZGFmNzMwMDFiZDAzMjczODM5ZmRhZjE4MjY3ZjkuLjM0ZDFkMzM2YzU5YWVlYjNkNjEwOGZj
YTIzMTY5NjM4NzQ0YmE0NGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3Jt
YXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdHZW9tZXRyeS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9y
bWF0dGluZ0dlb21ldHJ5LmNwcApAQCAtNDMsNyArNDMsNyBAQCBuYW1lc3BhY2UgTGF5b3V0IHsK
IGNsYXNzIExpbmVCb3hCdWlsZGVyIHsKIHB1YmxpYzoKICAgICBMaW5lQm94QnVpbGRlcihjb25z
dCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dCYpOwotICAgIExpbmVCb3ggYnVpbGQoY29uc3QgTGlu
ZUJ1aWxkZXI6OkxpbmVDb250ZW50Jik7CisgICAgSW5saW5lRm9ybWF0dGluZ0dlb21ldHJ5OjpM
aW5lIGJ1aWxkKGNvbnN0IExpbmVCdWlsZGVyOjpMaW5lQ29udGVudCYpOwogCiBwcml2YXRlOgog
ICAgIHN0cnVjdCBTaW1wbGlmaWVkVmVydGljYWxBbGlnbm1lbnQgewpAQCAtODEsNiArODEsNyBA
QCBwcml2YXRlOgogCiBwcml2YXRlOgogICAgIGNvbnN0IElubGluZUZvcm1hdHRpbmdDb250ZXh0
JiBtX2lubGluZUZvcm1hdHRpbmdDb250ZXh0OworICAgIElubGluZUxheW91dFVuaXQgbV9sb2dp
Y2FsSGVpZ2h0IHsgMCB9OwogfTsKIAogc3RhdGljIElubGluZUxheW91dFVuaXQgaGFuZ2luZ0ds
eXBoV2lkdGgoSW5saW5lTGF5b3V0VW5pdCBleHRyYUhvcml6b250YWxTcGFjZSwgY29uc3QgTGlu
ZTo6UnVuTGlzdCYgcnVucywgYm9vbCBpc0xhc3RMaW5lV2l0aElubGluZUNvbnRlbnQpCkBAIC0x
NTYsMTUgKzE1NywxNCBAQCBMaW5lQm94QnVpbGRlcjo6TGluZUJveEJ1aWxkZXIoY29uc3QgSW5s
aW5lRm9ybWF0dGluZ0NvbnRleHQmIGlubGluZUZvcm1hdHRpbmdDbwogewogfQogCi1MaW5lQm94
IExpbmVCb3hCdWlsZGVyOjpidWlsZChjb25zdCBMaW5lQnVpbGRlcjo6TGluZUNvbnRlbnQmIGxp
bmVDb250ZW50KQorSW5saW5lRm9ybWF0dGluZ0dlb21ldHJ5OjpMaW5lIExpbmVCb3hCdWlsZGVy
OjpidWlsZChjb25zdCBMaW5lQnVpbGRlcjo6TGluZUNvbnRlbnQmIGxpbmVDb250ZW50KQogewog
ICAgIGF1dG8mIHJ1bnMgPSBsaW5lQ29udGVudC5ydW5zOwotICAgIGF1dG8gbGluZUxvZ2ljYWxX
aWR0aCA9IGxpbmVDb250ZW50LmxpbmVMb2dpY2FsV2lkdGg7CiAgICAgYXV0byBjb250ZW50TG9n
aWNhbFdpZHRoID0gbGluZUNvbnRlbnQuY29udGVudExvZ2ljYWxXaWR0aDsKLSAgICBhdXRvIGhv
cml6b250YWxBbGlnbm1lbnRPZmZzZXQgPSBMYXlvdXQ6Omhvcml6b250YWxBbGlnbm1lbnRPZmZz
ZXQocnVucywgcm9vdEJveCgpLnN0eWxlKCkudGV4dEFsaWduKCksIGxpbmVMb2dpY2FsV2lkdGgs
IGNvbnRlbnRMb2dpY2FsV2lkdGgsIGxpbmVDb250ZW50LmlzTGFzdExpbmVXaXRoSW5saW5lQ29u
dGVudCk7Ci0gICAgYXV0byBsaW5lQm94ID0gTGluZUJveCB7IHJvb3RCb3goKSwgbGluZUNvbnRl
bnQubG9naWNhbFRvcExlZnQsIGxpbmVMb2dpY2FsV2lkdGgsIGhvcml6b250YWxBbGlnbm1lbnRP
ZmZzZXQudmFsdWVfb3IoSW5saW5lTGF5b3V0VW5pdCB7IH0pLCBjb250ZW50TG9naWNhbFdpZHRo
LCBsaW5lQ29udGVudC5ub25TcGFubmluZ0lubGluZUxldmVsQm94Q291bnQgfTsKKyAgICBhdXRv
IGNvbnRlbnRMb2dpY2FsTGVmdCA9IExheW91dDo6aG9yaXpvbnRhbEFsaWdubWVudE9mZnNldChy
dW5zLCByb290Qm94KCkuc3R5bGUoKS50ZXh0QWxpZ24oKSwgbGluZUNvbnRlbnQubGluZUxvZ2lj
YWxXaWR0aCwgY29udGVudExvZ2ljYWxXaWR0aCwgbGluZUNvbnRlbnQuaXNMYXN0TGluZVdpdGhJ
bmxpbmVDb250ZW50KS52YWx1ZV9vcihJbmxpbmVMYXlvdXRVbml0IHsgfSk7CisgICAgYXV0byBs
aW5lQm94ID0gTGluZUJveCB7IHJvb3RCb3goKSwgY29udGVudExvZ2ljYWxMZWZ0LCBjb250ZW50
TG9naWNhbFdpZHRoLCBsaW5lQ29udGVudC5ub25TcGFubmluZ0lubGluZUxldmVsQm94Q291bnQg
fTsKICAgICBjb25zdHJ1Y3RBbmRBbGlnbklubGluZUxldmVsQm94ZXMobGluZUJveCwgcnVucyk7
Ci0gICAgcmV0dXJuIGxpbmVCb3g7CisgICAgcmV0dXJuIHsgbGluZUJveCwgbV9sb2dpY2FsSGVp
Z2h0IH07CiB9CiAKIHZvaWQgTGluZUJveEJ1aWxkZXI6OnNldFZlcnRpY2FsR2VvbWV0cnlGb3JJ
bmxpbmVCb3goSW5saW5lTGV2ZWxCb3gmIGlubGluZUxldmVsQm94KSBjb25zdApAQCAtMzU1LDEw
ICszNTUsMTMgQEAgdm9pZCBMaW5lQm94QnVpbGRlcjo6Y29uc3RydWN0QW5kQWxpZ25JbmxpbmVM
ZXZlbEJveGVzKExpbmVCb3gmIGxpbmVCb3gsIGNvbnN0IEwKICAgICB9CiAKICAgICBsaW5lQm94
LnNldEhhc0NvbnRlbnQobGluZUhhc0NvbnRlbnQpOwotICAgIGlmIChzaW1wbGlmaWVkVmVydGlj
YWxBbGlnbm1lbnQuaXNFbmFibGVkKCkgfHwgIWxpbmVIYXNDb250ZW50KSB7CisgICAgaWYgKCFs
aW5lSGFzQ29udGVudCkgeworICAgICAgICBtX2xvZ2ljYWxIZWlnaHQgPSAgeyB9OworICAgICAg
ICByb290SW5saW5lQm94LnNldExvZ2ljYWxUb3AoLXJvb3RJbmxpbmVCb3guYmFzZWxpbmUoKSk7
CisgICAgfSBlbHNlIGlmIChzaW1wbGlmaWVkVmVydGljYWxBbGlnbm1lbnQuaXNFbmFibGVkKCkp
IHsKICAgICAgICAgLy8gV2Ugc2hvdWxkIGFsd2F5cyBiZSBhYmxlIHRvIGV4ZXJjaXNlIHRoZSBm
YXN0IHBhdGggd2hlbiB0aGUgbGluZSBoYXMgbm8gY29udGVudCBhdCBhbGwsIGV2ZW4gaW4gbm9u
LXN0YW5kYXJkcyBtb2RlIG9yIHdpdGggbGluZS1oZWlnaHQgc2V0LgotICAgICAgICByb290SW5s
aW5lQm94LnNldExvZ2ljYWxUb3AobGluZUhhc0NvbnRlbnQgPyBzaW1wbGlmaWVkVmVydGljYWxB
bGlnbm1lbnQucm9vdElubGluZUJveExvZ2ljYWxUb3AoKSA6IC1yb290SW5saW5lQm94LmJhc2Vs
aW5lKCkpOwotICAgICAgICBsaW5lQm94LnNldExvZ2ljYWxIZWlnaHQobGluZUhhc0NvbnRlbnQg
PyBzaW1wbGlmaWVkVmVydGljYWxBbGlnbm1lbnQubGluZUJveEhlaWdodCgpIDogSW5saW5lTGF5
b3V0VW5pdCgpKTsKKyAgICAgICAgbV9sb2dpY2FsSGVpZ2h0ID0gc2ltcGxpZmllZFZlcnRpY2Fs
QWxpZ25tZW50LmxpbmVCb3hIZWlnaHQoKTsKKyAgICAgICAgcm9vdElubGluZUJveC5zZXRMb2dp
Y2FsVG9wKHNpbXBsaWZpZWRWZXJ0aWNhbEFsaWdubWVudC5yb290SW5saW5lQm94TG9naWNhbFRv
cCgpKTsKICAgICB9IGVsc2UKICAgICAgICAgY29tcHV0ZUxpbmVCb3hIZWlnaHRBbmRBbGlnbklu
bGluZUxldmVsQm94ZXNWZXJ0aWNhbGx5KGxpbmVCb3gpOwogfQpAQCAtNDYxLDkgKzQ2NCw5IEBA
IHZvaWQgTGluZUJveEJ1aWxkZXI6OmNvbXB1dGVMaW5lQm94SGVpZ2h0QW5kQWxpZ25JbmxpbmVM
ZXZlbEJveGVzVmVydGljYWxseShMaW5lCiAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAg
ICAgICAgICBsaW5lQm94TG9naWNhbEhlaWdodCA9IHN0ZDo6bWF4KGxpbmVCb3hMb2dpY2FsSGVp
Z2h0LCBsaW5lQm94UmVsYXRpdmVJbmxpbmVMZXZlbEJveC0+bGF5b3V0Qm91bmRzKCkuaGVpZ2h0
KCkpOwogICAgICAgICB9Ci0gICAgICAgIGxpbmVCb3guc2V0TG9naWNhbEhlaWdodChsaW5lQm94
TG9naWNhbEhlaWdodCk7CisgICAgICAgIHJldHVybiBsaW5lQm94TG9naWNhbEhlaWdodDsKICAg
ICB9OwotICAgIGNvbXB1dGVMaW5lQm94TG9naWNhbEhlaWdodCgpOworICAgIG1fbG9naWNhbEhl
aWdodCA9IGNvbXB1dGVMaW5lQm94TG9naWNhbEhlaWdodCgpOwogCiAgICAgYXV0byBjb21wdXRl
Um9vdElubGluZUJveFZlcnRpY2FsUG9zaXRpb24gPSBbJl0gewogICAgICAgICBIYXNoTWFwPGNv
bnN0IElubGluZUxldmVsQm94KiwgSW5saW5lTGF5b3V0VW5pdD4gaW5saW5lTGV2ZWxCb3hBYnNv
bHV0ZUJhc2VsaW5lT2Zmc2V0TWFwOwpAQCAtNTg2LDcgKzU4OSw3IEBAIHZvaWQgTGluZUJveEJ1
aWxkZXI6OmNvbXB1dGVMaW5lQm94SGVpZ2h0QW5kQWxpZ25JbmxpbmVMZXZlbEJveGVzVmVydGlj
YWxseShMaW5lCiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBjYXNlIFZlcnRp
Y2FsQWxpZ246OkJvdHRvbToKICAgICAgICAgICAgICAgICAvLyBOb3RlIHRoYXQgdGhpcyBsb2dp
Y2FsIHRvcCBpcyBub3QgcmVsYXRpdmUgdG8gdGhlIHBhcmVudCBpbmxpbmUgYm94LgotICAgICAg
ICAgICAgICAgIGxvZ2ljYWxUb3AgPSBsaW5lQm94LmxvZ2ljYWxSZWN0KCkuaGVpZ2h0KCkgLSBp
bmxpbmVMZXZlbEJveC5sYXlvdXRCb3VuZHMoKS5kZXNjZW50IC0gaW5saW5lTGV2ZWxCb3guYmFz
ZWxpbmUoKTsKKyAgICAgICAgICAgICAgICBsb2dpY2FsVG9wID0gbV9sb2dpY2FsSGVpZ2h0IC0g
aW5saW5lTGV2ZWxCb3gubGF5b3V0Qm91bmRzKCkuZGVzY2VudCAtIGlubGluZUxldmVsQm94LmJh
c2VsaW5lKCk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBkZWZhdWx0Ogog
ICAgICAgICAgICAgICAgIEFTU0VSVF9OT1RfSU1QTEVNRU5URURfWUVUKCk7CkBAIC02NTEsNyAr
NjU0LDcgQEAgSW5saW5lRm9ybWF0dGluZ0dlb21ldHJ5OjpJbmxpbmVGb3JtYXR0aW5nR2VvbWV0
cnkoY29uc3QgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQKIHsKIH0KIAotTGluZUJveCBJbmxpbmVG
b3JtYXR0aW5nR2VvbWV0cnk6OmxpbmVCb3hGb3JMaW5lQ29udGVudChjb25zdCBMaW5lQnVpbGRl
cjo6TGluZUNvbnRlbnQmIGxpbmVDb250ZW50KSBjb25zdAorSW5saW5lRm9ybWF0dGluZ0dlb21l
dHJ5OjpMaW5lIElubGluZUZvcm1hdHRpbmdHZW9tZXRyeTo6dmVydGljYWxseUFkanVzdGVkTGlu
ZUZvckxpbmVDb250ZW50KGNvbnN0IExpbmVCdWlsZGVyOjpMaW5lQ29udGVudCYgbGluZUNvbnRl
bnQpIGNvbnN0CiB7CiAgICAgcmV0dXJuIExpbmVCb3hCdWlsZGVyKGZvcm1hdHRpbmdDb250ZXh0
KCkpLmJ1aWxkKGxpbmVDb250ZW50KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdHZW9tZXRyeS5o
IGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5l
Rm9ybWF0dGluZ0dlb21ldHJ5LmgKaW5kZXggZTBlZWY3YzhmZWQyNTI2ZDU2NGZmNTg1MGEyZWU2
N2E4YzY1MWIxNy4uNzQxZWQ3NWJiZTNiNGJkNzU3YWRkMjc2MTA3MTZjZDhmMDZiMDIwNCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUv
SW5saW5lRm9ybWF0dGluZ0dlb21ldHJ5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zv
cm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0dlb21ldHJ5LmgKQEAgLTQw
LDcgKzQwLDExIEBAIGNsYXNzIElubGluZUZvcm1hdHRpbmdHZW9tZXRyeSA6IHB1YmxpYyBGb3Jt
YXR0aW5nR2VvbWV0cnkgewogcHVibGljOgogICAgIElubGluZUZvcm1hdHRpbmdHZW9tZXRyeShj
b25zdCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dCYpOwogCi0gICAgTGluZUJveCBsaW5lQm94Rm9y
TGluZUNvbnRlbnQoY29uc3QgTGluZUJ1aWxkZXI6OkxpbmVDb250ZW50JikgY29uc3Q7CisgICAg
c3RydWN0IExpbmUgeworICAgICAgICBMaW5lQm94IGxpbmVCb3g7CisgICAgICAgIElubGluZUxh
eW91dFVuaXQgbG9naWNhbEhlaWdodCB7IDAgfTsKKyAgICB9OworICAgIExpbmUgdmVydGljYWxs
eUFkanVzdGVkTGluZUZvckxpbmVDb250ZW50KGNvbnN0IExpbmVCdWlsZGVyOjpMaW5lQ29udGVu
dCYpIGNvbnN0OwogICAgIElubGluZUxheW91dFVuaXQgbG9naWNhbFRvcEZvck5leHRMaW5lKGNv
bnN0IExpbmVCdWlsZGVyOjpMaW5lQ29udGVudCYsIElubGluZUxheW91dFVuaXQgcHJldmlvdXNM
aW5lTG9naWNhbEJvdHRvbSwgY29uc3QgRmxvYXRpbmdDb250ZXh0JikgY29uc3Q7CiAKICAgICBD
b250ZW50SGVpZ2h0QW5kTWFyZ2luIGlubGluZUJsb2NrQ29udGVudEhlaWdodEFuZE1hcmdpbihj
b25zdCBCb3gmLCBjb25zdCBIb3Jpem9udGFsQ29uc3RyYWludHMmLCBjb25zdCBPdmVycmlkZGVu
VmVydGljYWxWYWx1ZXMmKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVCb3guY3BwIGIvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJveC5jcHAK
aW5kZXggNmNmNGI2ZTAxMTk4YTJlZjI3ZWFhMTJjZTMwNTRkMjE3MGM2ZDE0ZS4uYmU2ZDY3M2Vi
ZWQ3ZTAzZDg2YjUzZmEwNDZlN2Q2YmM2MWJiZGViMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJveC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5l
TGluZUJveC5jcHAKQEAgLTM0LDkgKzM0LDggQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIG5hbWVz
cGFjZSBMYXlvdXQgewogCi1MaW5lQm94OjpMaW5lQm94KGNvbnN0IEJveCYgcm9vdExheW91dEJv
eCwgY29uc3QgSW5saW5lTGF5b3V0UG9pbnQmIGxvZ2ljYWxUb3BsZWZ0LCBJbmxpbmVMYXlvdXRV
bml0IGxpbmVMb2dpY2FsV2lkdGgsIElubGluZUxheW91dFVuaXQgY29udGVudExvZ2ljYWxMZWZ0
LCBJbmxpbmVMYXlvdXRVbml0IGNvbnRlbnRMb2dpY2FsV2lkdGgsIHNpemVfdCBub25TcGFubmlu
Z0lubGluZUxldmVsQm94Q291bnQpCi0gICAgOiBtX2xvZ2ljYWxSZWN0KGxvZ2ljYWxUb3BsZWZ0
LCBJbmxpbmVMYXlvdXRTaXplIHsgbGluZUxvZ2ljYWxXaWR0aCwgeyB9IH0pCi0gICAgLCBtX3Jv
b3RJbmxpbmVCb3gocm9vdExheW91dEJveCwgY29udGVudExvZ2ljYWxMZWZ0LCBJbmxpbmVMYXlv
dXRTaXplIHsgY29udGVudExvZ2ljYWxXaWR0aCwgeyB9IH0sIElubGluZUxldmVsQm94OjpUeXBl
OjpSb290SW5saW5lQm94KQorTGluZUJveDo6TGluZUJveChjb25zdCBCb3gmIHJvb3RMYXlvdXRC
b3gsIElubGluZUxheW91dFVuaXQgY29udGVudExvZ2ljYWxMZWZ0LCBJbmxpbmVMYXlvdXRVbml0
IGNvbnRlbnRMb2dpY2FsV2lkdGgsIHNpemVfdCBub25TcGFubmluZ0lubGluZUxldmVsQm94Q291
bnQpCisgICAgOiBtX3Jvb3RJbmxpbmVCb3gocm9vdExheW91dEJveCwgY29udGVudExvZ2ljYWxM
ZWZ0LCBJbmxpbmVMYXlvdXRTaXplIHsgY29udGVudExvZ2ljYWxXaWR0aCwgeyB9IH0sIElubGlu
ZUxldmVsQm94OjpUeXBlOjpSb290SW5saW5lQm94KQogewogICAgIG1fbm9uUm9vdElubGluZUxl
dmVsQm94TGlzdC5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KG5vblNwYW5uaW5nSW5saW5lTGV2ZWxC
b3hDb3VudCk7CiAgICAgbV9ub25Sb290SW5saW5lTGV2ZWxCb3hNYXAucmVzZXJ2ZUluaXRpYWxD
YXBhY2l0eShub25TcGFubmluZ0lubGluZUxldmVsQm94Q291bnQpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJv
eC5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5s
aW5lTGluZUJveC5oCmluZGV4IDIxOWNjZmNmOGVlNTdlOWQ5NjAzMjM2Y2QxMjA0N2ZiYmUzZjBi
MzkuLmI1ZjFhNjJiOWJmNGE3ZGI0ODIwOWEyMDdhYzY1NWNiZTcwMTc2NTkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxp
bmVCb3guaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lu
bGluZS9JbmxpbmVMaW5lQm94LmgKQEAgLTYwLDkgKzYwLDggQEAgc3RydWN0IFNpbXBsaWZpZWRW
ZXJ0aWNhbEFsaWdubWVudDsKIGNsYXNzIExpbmVCb3ggewogICAgIFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogcHVibGljOgotICAgIExpbmVCb3goY29uc3QgQm94JiByb290TGF5b3V0Qm94LCBj
b25zdCBJbmxpbmVMYXlvdXRQb2ludCYgbG9naWNhbFRvcExlZnQsIElubGluZUxheW91dFVuaXQg
Y29udGVudExvZ2ljYWxMZWZ0LCBJbmxpbmVMYXlvdXRVbml0IGxpbmVMb2dpY2FsV2lkdGgsIElu
bGluZUxheW91dFVuaXQgY29udGVudExvZ2ljYWxXaWR0aCwgc2l6ZV90IG5vblNwYW5uaW5nSW5s
aW5lTGV2ZWxCb3hDb3VudCk7CisgICAgTGluZUJveChjb25zdCBCb3gmIHJvb3RMYXlvdXRCb3gs
IElubGluZUxheW91dFVuaXQgY29udGVudExvZ2ljYWxMZWZ0LCBJbmxpbmVMYXlvdXRVbml0IGNv
bnRlbnRMb2dpY2FsV2lkdGgsIHNpemVfdCBub25TcGFubmluZ0lubGluZUxldmVsQm94Q291bnQp
OwogCi0gICAgY29uc3QgSW5saW5lUmVjdCYgbG9naWNhbFJlY3QoKSBjb25zdCB7IHJldHVybiBt
X2xvZ2ljYWxSZWN0OyB9CiAgICAgLy8gTm90ZSB0aGF0IHRoZSBsaW5lIGNhbiBoYXZlIG1hbnkg
aW5saW5lIGJveGVzIGFuZCBiZSAiZW1wdHkiIHRoZSBzYW1lIHRpbWUgZS5nLiA8ZGl2PjxzcGFu
Pjwvc3Bhbj48c3Bhbj48L3NwYW4+PC9kaXY+CiAgICAgYm9vbCBoYXNDb250ZW50KCkgY29uc3Qg
eyByZXR1cm4gbV9oYXNDb250ZW50OyB9CiAgICAgYm9vbCBoYXNJbmxpbmVCb3goKSBjb25zdCB7
IHJldHVybiBtX2JveFR5cGVzLmNvbnRhaW5zKElubGluZUxldmVsQm94OjpUeXBlOjpJbmxpbmVC
b3gpOyB9CkBAIC04MSwxMyArODAsOSBAQCBwdWJsaWM6CiAgICAgdXNpbmcgSW5saW5lTGV2ZWxC
b3hMaXN0ID0gVmVjdG9yPElubGluZUxldmVsQm94PjsKICAgICBjb25zdCBJbmxpbmVMZXZlbEJv
eExpc3QmIG5vblJvb3RJbmxpbmVMZXZlbEJveGVzKCkgY29uc3QgeyByZXR1cm4gbV9ub25Sb290
SW5saW5lTGV2ZWxCb3hMaXN0OyB9CiAKLSAgICBJbmxpbmVMYXlvdXRVbml0IGFsaWdubWVudEJh
c2VsaW5lKCkgY29uc3QgeyByZXR1cm4gbV9yb290SW5saW5lQm94LmxvZ2ljYWxUb3AoKSArIG1f
cm9vdElubGluZUJveC5iYXNlbGluZSgpOyB9Ci0KIHByaXZhdGU6CiAgICAgZnJpZW5kIGNsYXNz
IExpbmVCb3hCdWlsZGVyOwogCi0gICAgdm9pZCBzZXRMb2dpY2FsSGVpZ2h0KElubGluZUxheW91
dFVuaXQgbG9naWNhbEhlaWdodCkgeyBtX2xvZ2ljYWxSZWN0LnNldEhlaWdodChsb2dpY2FsSGVp
Z2h0KTsgfQotCiAgICAgdm9pZCBhZGRJbmxpbmVMZXZlbEJveChJbmxpbmVMZXZlbEJveCYmKTsK
ICAgICBJbmxpbmVMZXZlbEJveExpc3QmIG5vblJvb3RJbmxpbmVMZXZlbEJveGVzKCkgeyByZXR1
cm4gbV9ub25Sb290SW5saW5lTGV2ZWxCb3hMaXN0OyB9CiAKQEAgLTk5LDcgKzk0LDYgQEAgcHJp
dmF0ZToKICAgICB2b2lkIHNldEhhc0NvbnRlbnQoYm9vbCBoYXNDb250ZW50KSB7IG1faGFzQ29u
dGVudCA9IGhhc0NvbnRlbnQ7IH0KIAogcHJpdmF0ZToKLSAgICBJbmxpbmVSZWN0IG1fbG9naWNh
bFJlY3Q7CiAgICAgYm9vbCBtX2hhc0NvbnRlbnQgeyBmYWxzZSB9OwogICAgIE9wdGlvblNldDxJ
bmxpbmVMZXZlbEJveDo6VHlwZT4gbV9ib3hUeXBlczsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uSW5saW5lQ29udGVudEJ1
aWxkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVn
cmF0aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuY3BwCmluZGV4IDA3OGQ4NGRlMmZiYTkxMzBjYjJi
MjYzMDU2NjcxMjE2ZWNhMmVlZGUuLmU4YTkwMmJmMWMyNjYxYWIzNjI4ZjJjNjkyYjkyMGFmMDk3
OWFiMTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlv
dXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnRCdWlsZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250ZW50QnVpbGRl
ci5jcHAKQEAgLTM4NSw3ICszODUsNyBAQCB2b2lkIElubGluZUNvbnRlbnRCdWlsZGVyOjpjcmVh
dGVEaXNwbGF5Tm9uUm9vdElubGluZUJveGVzKGNvbnN0IExheW91dDo6SW5saW5lRgogICAgICAg
ICBpZiAoIWxpbmVCb3guaGFzSW5saW5lQm94KCkpCiAgICAgICAgICAgICBjb250aW51ZTsKIAot
ICAgICAgICBhdXRvJiBsaW5lQm94TG9naWNhbFJlY3QgPSBsaW5lQm94LmxvZ2ljYWxSZWN0KCk7
CisgICAgICAgIGF1dG8gbGluZUJveExvZ2ljYWxSZWN0ID0gaW5saW5lRm9ybWF0dGluZ1N0YXRl
LmxpbmVzKClbbGluZUluZGV4XS5saW5lQm94TG9naWNhbFJlY3QoKTsKICAgICAgICAgZm9yIChh
dXRvJiBpbmxpbmVMZXZlbEJveCA6IGxpbmVCb3gubm9uUm9vdElubGluZUxldmVsQm94ZXMoKSkg
ewogICAgICAgICAgICAgaWYgKCFpbmxpbmVMZXZlbEJveC5pc0lubGluZUJveCgpKQogICAgICAg
ICAgICAgICAgIGNvbnRpbnVlOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433733</attachid>
            <date>2021-07-17 11:24:29 -0700</date>
            <delta_ts>2021-08-19 17:01:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-228050-20210717112428.patch</filename>
            <type>text/plain</type>
            <size>15195</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwMDE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWU0MWRkNjA4OTBhMDQy
MDI0NjY1YmE2MmRmNWE3YjRiN2NiMTY2Zi4uMzFkYWI2YTViNWViZmEwNWZjYWZlYmMzNWRhNWZh
OGU1NzFlMTE4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDIxLTA3LTE3ICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtJRkNdIExpbmVCb3gg
cHJvdmlkZXMgcmVkdW5kYW50IGdlb21ldHJ5IGluZm9ybWF0aW9uCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjgwNTAKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBMaW5lQm94R2VvbWV0cnkgY2xhc3MgcHJv
dmlkZXMgdGhlIGxpbmUncyBnZW9tZXRyeS4gVGhpcyBpcyBhbHNvIGluIHByZXBhcmF0aW9uIGZv
ciBtYWtpbmcgTGluZUJveCBhIG5vbi1wZXJzaXN0ZW50IHR5cGUgb2Ygc3RydWN0dXJlLgorCisg
ICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGlu
Z0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVGb3JtYXR0aW5n
Q29udGV4dDo6Y29tcHV0ZUdlb21ldHJ5Rm9yTGluZUNvbnRlbnQpOgorICAgICAgICAqIGxheW91
dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdHZW9tZXRyeS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCb3hCdWlsZGVyOjpidWlsZCk6CisgICAg
ICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCb3hCdWlsZGVyOjpjb25zdHJ1Y3RBbmRBbGlnbklu
bGluZUxldmVsQm94ZXMpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lQm94QnVpbGRl
cjo6Y29tcHV0ZUxpbmVCb3hIZWlnaHRBbmRBbGlnbklubGluZUxldmVsQm94ZXNWZXJ0aWNhbGx5
KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6SW5saW5lRm9ybWF0dGluZ0dlb21ldHJ5Ojp2
ZXJ0aWNhbGx5QWRqdXN0ZWRMaW5lRm9yTGluZUNvbnRlbnQgY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6TGF5b3V0OjpJbmxpbmVGb3JtYXR0aW5nR2VvbWV0cnk6OmxpbmVCb3hGb3JMaW5lQ29u
dGVudCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0
cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0dlb21ldHJ5Lmg6CisgICAgICAgICogbGF5b3V0L2Zv
cm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJveC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpMYXlvdXQ6OkxpbmVCb3g6OkxpbmVCb3gpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0
OjptX3Jvb3RJbmxpbmVCb3gpOiBEZWxldGVkLgorICAgICAgICAqIGxheW91dC9mb3JtYXR0aW5n
Q29udGV4dHMvaW5saW5lL0lubGluZUxpbmVCb3guaDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91
dDo6TGluZUJveDo6bG9naWNhbFJlY3QgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29y
ZTo6TGF5b3V0OjpMaW5lQm94OjphbGlnbm1lbnRCYXNlbGluZSBjb25zdCk6IERlbGV0ZWQuCisg
ICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCb3g6OnNldExvZ2ljYWxIZWlnaHQpOiBEZWxl
dGVkLgorICAgICAgICAqIGxheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbklubGlu
ZUNvbnRlbnRCdWlsZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dEludGVncmF0aW9u
OjpJbmxpbmVDb250ZW50QnVpbGRlcjo6Y3JlYXRlRGlzcGxheU5vblJvb3RJbmxpbmVCb3hlcyBj
b25zdCk6CisKIDIwMjEtMDctMTYgIEFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAg
ICAgICAgIFtMRkNdW0lGQ10gUmVtb3ZlIHJlZHVuZGFudCBMaW5lQm94IGZ1bmN0aW9ucwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUv
SW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1h
dHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwCmluZGV4IGQ0
N2NhNjlmZWI4MTA0YjJmZjhjNTMyOWZkZGQwMDRjMzZiZTkxYmMuLjcxOTcwN2IyNDk4NTRiNGM5
YjRhMTcwODQ3N2M4OGI0YTcwYzZkMjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9Jbmxp
bmVGb3JtYXR0aW5nQ29udGV4dC5jcHAKQEAgLTQ2OCwxMCArNDY4LDExIEBAIElubGluZVJlY3Qg
SW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVHZW9tZXRyeUZvckxpbmVDb250ZW50KGNv
bnN0IExpbmVCdWlsCiAgICAgYXV0byYgZm9ybWF0dGluZ1N0YXRlID0gdGhpcy0+Zm9ybWF0dGlu
Z1N0YXRlKCk7CiAgICAgYXV0byYgZm9ybWF0dGluZ0dlb21ldHJ5ID0gdGhpcy0+Zm9ybWF0dGlu
Z0dlb21ldHJ5KCk7CiAKLSAgICBmb3JtYXR0aW5nU3RhdGUuYWRkTGluZUJveChmb3JtYXR0aW5n
R2VvbWV0cnkubGluZUJveEZvckxpbmVDb250ZW50KGxpbmVDb250ZW50KSk7Ci0gICAgY29uc3Qg
YXV0byYgbGluZUJveCA9IGZvcm1hdHRpbmdTdGF0ZS5saW5lQm94ZXMoKS5sYXN0KCk7CisgICAg
YXV0byBsaW5lID0gZm9ybWF0dGluZ0dlb21ldHJ5LnZlcnRpY2FsbHlBZGp1c3RlZExpbmVGb3JM
aW5lQ29udGVudChsaW5lQ29udGVudCk7CisgICAgY29uc3QgYXV0byYgbGluZUJveCA9IGxpbmUu
bGluZUJveDsKICAgICBhdXRvIGxpbmVJbmRleCA9IGZvcm1hdHRpbmdTdGF0ZS5saW5lcygpLnNp
emUoKTsKLSAgICBhdXRvJiBsaW5lQm94TG9naWNhbFJlY3QgPSBsaW5lQm94LmxvZ2ljYWxSZWN0
KCk7CisgICAgYXV0byBsaW5lQm94TG9naWNhbFJlY3QgPSBJbmxpbmVSZWN0IHsgbGluZUNvbnRl
bnQubG9naWNhbFRvcExlZnQsIGxpbmVDb250ZW50LmxpbmVMb2dpY2FsV2lkdGgsIGxpbmUubG9n
aWNhbEhlaWdodCB9OworCiAgICAgaWYgKCFsaW5lQm94Lmhhc0NvbnRlbnQoKSkgewogICAgICAg
ICAvLyBGYXN0IHBhdGggZm9yIGxpbmVzIHdpdGggbm8gY29udGVudCBlLmcuIDxkaXY+PHNwYW4+
PC9zcGFuPjxzcGFuPjwvc3Bhbj48L2Rpdj4gb3IgPHNwYW4+PGRpdj48L2Rpdj48L3NwYW4+IHdo
ZXJlIHdlIGNvbnN0cnVjdCBlbXB0eSBwcmUgYW5kIHBvc3QgYmxvY2tzLgogICAgICAgICBBU1NF
UlQoIWxpbmVCb3gucm9vdElubGluZUJveCgpLmhhc0NvbnRlbnQoKSAmJiAhbGluZUJveExvZ2lj
YWxSZWN0LmhlaWdodCgpKTsKQEAgLTQ5Niw2ICs0OTcsNyBAQCBJbmxpbmVSZWN0IElubGluZUZv
cm1hdHRpbmdDb250ZXh0Ojpjb21wdXRlR2VvbWV0cnlGb3JMaW5lQ29udGVudChjb25zdCBMaW5l
QnVpbAogICAgICAgICB9OwogICAgICAgICB1cGRhdGVJbmxpbmVCb3hlc0dlb21ldHJ5SWZBcHBs
aWNhYmxlKCk7CiAgICAgICAgIGZvcm1hdHRpbmdTdGF0ZS5hZGRMaW5lKHsgbGluZUJveExvZ2lj
YWxSZWN0LCB7IHsgfSwgeyB9IH0sIHsgfSwgeyB9LCB7IH0gfSk7CisgICAgICAgIGZvcm1hdHRp
bmdTdGF0ZS5hZGRMaW5lQm94KFdURk1vdmUobGluZS5saW5lQm94KSk7CiAgICAgICAgIHJldHVy
biBsaW5lQm94TG9naWNhbFJlY3Q7CiAgICAgfQogCkBAIC02MDcsMTAgKzYwOSwxMCBAQCBJbmxp
bmVSZWN0IElubGluZUZvcm1hdHRpbmdDb250ZXh0Ojpjb21wdXRlR2VvbWV0cnlGb3JMaW5lQ29u
dGVudChjb25zdCBMaW5lQnVpbAogICAgIHVwZGF0ZUJveEdlb21ldHJ5Rm9ySW5saW5lQm94ZXMo
KTsKIAogICAgIGF1dG8gY29uc3RydWN0TGluZUdlb21ldHJ5ID0gWyZdIHsKLSAgICAgICAgZm9y
bWF0dGluZ1N0YXRlLmFkZExpbmUoeyBsaW5lQm94TG9naWNhbFJlY3QsIGVuY2xvc2luZ1RvcEFu
ZEJvdHRvbSwgbGluZUJveC5hbGlnbm1lbnRCYXNlbGluZSgpLCByb290SW5saW5lQm94TG9naWNh
bFJlY3QubGVmdCgpLCBsaW5lQ29udGVudC5jb250ZW50TG9naWNhbFdpZHRoIH0pOworICAgICAg
ICBmb3JtYXR0aW5nU3RhdGUuYWRkTGluZSh7IGxpbmVCb3hMb2dpY2FsUmVjdCwgZW5jbG9zaW5n
VG9wQW5kQm90dG9tLCByb290SW5saW5lQm94TG9naWNhbFJlY3QudG9wKCkgKyBsaW5lQm94LnJv
b3RJbmxpbmVCb3goKS5iYXNlbGluZSgpLCByb290SW5saW5lQm94TG9naWNhbFJlY3QubGVmdCgp
LCByb290SW5saW5lQm94TG9naWNhbFJlY3Qud2lkdGgoKSB9KTsKICAgICB9OwogICAgIGNvbnN0
cnVjdExpbmVHZW9tZXRyeSgpOwotCisgICAgZm9ybWF0dGluZ1N0YXRlLmFkZExpbmVCb3goV1RG
TW92ZShsaW5lLmxpbmVCb3gpKTsKICAgICByZXR1cm4gbGluZUJveExvZ2ljYWxSZWN0OwogfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lu
bGluZS9JbmxpbmVGb3JtYXR0aW5nR2VvbWV0cnkuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0dlb21ldHJ5LmNwcApp
bmRleCBlY2QzMjNjZTk1ZWRhZjczMDAxYmQwMzI3MzgzOWZkYWYxODI2N2Y5Li4zNGQxZDMzNmM1
OWFlZWIzZDYxMDhmY2EyMzE2OTYzODc0NGJhNDRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVGb3JtYXR0aW5nR2VvbWV0
cnkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5s
aW5lL0lubGluZUZvcm1hdHRpbmdHZW9tZXRyeS5jcHAKQEAgLTQzLDcgKzQzLDcgQEAgbmFtZXNw
YWNlIExheW91dCB7CiBjbGFzcyBMaW5lQm94QnVpbGRlciB7CiBwdWJsaWM6CiAgICAgTGluZUJv
eEJ1aWxkZXIoY29uc3QgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQmKTsKLSAgICBMaW5lQm94IGJ1
aWxkKGNvbnN0IExpbmVCdWlsZGVyOjpMaW5lQ29udGVudCYpOworICAgIElubGluZUZvcm1hdHRp
bmdHZW9tZXRyeTo6TGluZSBidWlsZChjb25zdCBMaW5lQnVpbGRlcjo6TGluZUNvbnRlbnQmKTsK
IAogcHJpdmF0ZToKICAgICBzdHJ1Y3QgU2ltcGxpZmllZFZlcnRpY2FsQWxpZ25tZW50IHsKQEAg
LTgxLDYgKzgxLDcgQEAgcHJpdmF0ZToKIAogcHJpdmF0ZToKICAgICBjb25zdCBJbmxpbmVGb3Jt
YXR0aW5nQ29udGV4dCYgbV9pbmxpbmVGb3JtYXR0aW5nQ29udGV4dDsKKyAgICBJbmxpbmVMYXlv
dXRVbml0IG1fbG9naWNhbEhlaWdodCB7IDAgfTsKIH07CiAKIHN0YXRpYyBJbmxpbmVMYXlvdXRV
bml0IGhhbmdpbmdHbHlwaFdpZHRoKElubGluZUxheW91dFVuaXQgZXh0cmFIb3Jpem9udGFsU3Bh
Y2UsIGNvbnN0IExpbmU6OlJ1bkxpc3QmIHJ1bnMsIGJvb2wgaXNMYXN0TGluZVdpdGhJbmxpbmVD
b250ZW50KQpAQCAtMTU2LDE1ICsxNTcsMTQgQEAgTGluZUJveEJ1aWxkZXI6OkxpbmVCb3hCdWls
ZGVyKGNvbnN0IElubGluZUZvcm1hdHRpbmdDb250ZXh0JiBpbmxpbmVGb3JtYXR0aW5nQ28KIHsK
IH0KIAotTGluZUJveCBMaW5lQm94QnVpbGRlcjo6YnVpbGQoY29uc3QgTGluZUJ1aWxkZXI6Okxp
bmVDb250ZW50JiBsaW5lQ29udGVudCkKK0lubGluZUZvcm1hdHRpbmdHZW9tZXRyeTo6TGluZSBM
aW5lQm94QnVpbGRlcjo6YnVpbGQoY29uc3QgTGluZUJ1aWxkZXI6OkxpbmVDb250ZW50JiBsaW5l
Q29udGVudCkKIHsKICAgICBhdXRvJiBydW5zID0gbGluZUNvbnRlbnQucnVuczsKLSAgICBhdXRv
IGxpbmVMb2dpY2FsV2lkdGggPSBsaW5lQ29udGVudC5saW5lTG9naWNhbFdpZHRoOwogICAgIGF1
dG8gY29udGVudExvZ2ljYWxXaWR0aCA9IGxpbmVDb250ZW50LmNvbnRlbnRMb2dpY2FsV2lkdGg7
Ci0gICAgYXV0byBob3Jpem9udGFsQWxpZ25tZW50T2Zmc2V0ID0gTGF5b3V0Ojpob3Jpem9udGFs
QWxpZ25tZW50T2Zmc2V0KHJ1bnMsIHJvb3RCb3goKS5zdHlsZSgpLnRleHRBbGlnbigpLCBsaW5l
TG9naWNhbFdpZHRoLCBjb250ZW50TG9naWNhbFdpZHRoLCBsaW5lQ29udGVudC5pc0xhc3RMaW5l
V2l0aElubGluZUNvbnRlbnQpOwotICAgIGF1dG8gbGluZUJveCA9IExpbmVCb3ggeyByb290Qm94
KCksIGxpbmVDb250ZW50LmxvZ2ljYWxUb3BMZWZ0LCBsaW5lTG9naWNhbFdpZHRoLCBob3Jpem9u
dGFsQWxpZ25tZW50T2Zmc2V0LnZhbHVlX29yKElubGluZUxheW91dFVuaXQgeyB9KSwgY29udGVu
dExvZ2ljYWxXaWR0aCwgbGluZUNvbnRlbnQubm9uU3Bhbm5pbmdJbmxpbmVMZXZlbEJveENvdW50
IH07CisgICAgYXV0byBjb250ZW50TG9naWNhbExlZnQgPSBMYXlvdXQ6Omhvcml6b250YWxBbGln
bm1lbnRPZmZzZXQocnVucywgcm9vdEJveCgpLnN0eWxlKCkudGV4dEFsaWduKCksIGxpbmVDb250
ZW50LmxpbmVMb2dpY2FsV2lkdGgsIGNvbnRlbnRMb2dpY2FsV2lkdGgsIGxpbmVDb250ZW50Lmlz
TGFzdExpbmVXaXRoSW5saW5lQ29udGVudCkudmFsdWVfb3IoSW5saW5lTGF5b3V0VW5pdCB7IH0p
OworICAgIGF1dG8gbGluZUJveCA9IExpbmVCb3ggeyByb290Qm94KCksIGNvbnRlbnRMb2dpY2Fs
TGVmdCwgY29udGVudExvZ2ljYWxXaWR0aCwgbGluZUNvbnRlbnQubm9uU3Bhbm5pbmdJbmxpbmVM
ZXZlbEJveENvdW50IH07CiAgICAgY29uc3RydWN0QW5kQWxpZ25JbmxpbmVMZXZlbEJveGVzKGxp
bmVCb3gsIHJ1bnMpOwotICAgIHJldHVybiBsaW5lQm94OworICAgIHJldHVybiB7IGxpbmVCb3gs
IG1fbG9naWNhbEhlaWdodCB9OwogfQogCiB2b2lkIExpbmVCb3hCdWlsZGVyOjpzZXRWZXJ0aWNh
bEdlb21ldHJ5Rm9ySW5saW5lQm94KElubGluZUxldmVsQm94JiBpbmxpbmVMZXZlbEJveCkgY29u
c3QKQEAgLTM1NSwxMCArMzU1LDEzIEBAIHZvaWQgTGluZUJveEJ1aWxkZXI6OmNvbnN0cnVjdEFu
ZEFsaWduSW5saW5lTGV2ZWxCb3hlcyhMaW5lQm94JiBsaW5lQm94LCBjb25zdCBMCiAgICAgfQog
CiAgICAgbGluZUJveC5zZXRIYXNDb250ZW50KGxpbmVIYXNDb250ZW50KTsKLSAgICBpZiAoc2lt
cGxpZmllZFZlcnRpY2FsQWxpZ25tZW50LmlzRW5hYmxlZCgpIHx8ICFsaW5lSGFzQ29udGVudCkg
eworICAgIGlmICghbGluZUhhc0NvbnRlbnQpIHsKKyAgICAgICAgbV9sb2dpY2FsSGVpZ2h0ID0g
IHsgfTsKKyAgICAgICAgcm9vdElubGluZUJveC5zZXRMb2dpY2FsVG9wKC1yb290SW5saW5lQm94
LmJhc2VsaW5lKCkpOworICAgIH0gZWxzZSBpZiAoc2ltcGxpZmllZFZlcnRpY2FsQWxpZ25tZW50
LmlzRW5hYmxlZCgpKSB7CiAgICAgICAgIC8vIFdlIHNob3VsZCBhbHdheXMgYmUgYWJsZSB0byBl
eGVyY2lzZSB0aGUgZmFzdCBwYXRoIHdoZW4gdGhlIGxpbmUgaGFzIG5vIGNvbnRlbnQgYXQgYWxs
LCBldmVuIGluIG5vbi1zdGFuZGFyZHMgbW9kZSBvciB3aXRoIGxpbmUtaGVpZ2h0IHNldC4KLSAg
ICAgICAgcm9vdElubGluZUJveC5zZXRMb2dpY2FsVG9wKGxpbmVIYXNDb250ZW50ID8gc2ltcGxp
ZmllZFZlcnRpY2FsQWxpZ25tZW50LnJvb3RJbmxpbmVCb3hMb2dpY2FsVG9wKCkgOiAtcm9vdElu
bGluZUJveC5iYXNlbGluZSgpKTsKLSAgICAgICAgbGluZUJveC5zZXRMb2dpY2FsSGVpZ2h0KGxp
bmVIYXNDb250ZW50ID8gc2ltcGxpZmllZFZlcnRpY2FsQWxpZ25tZW50LmxpbmVCb3hIZWlnaHQo
KSA6IElubGluZUxheW91dFVuaXQoKSk7CisgICAgICAgIG1fbG9naWNhbEhlaWdodCA9IHNpbXBs
aWZpZWRWZXJ0aWNhbEFsaWdubWVudC5saW5lQm94SGVpZ2h0KCk7CisgICAgICAgIHJvb3RJbmxp
bmVCb3guc2V0TG9naWNhbFRvcChzaW1wbGlmaWVkVmVydGljYWxBbGlnbm1lbnQucm9vdElubGlu
ZUJveExvZ2ljYWxUb3AoKSk7CiAgICAgfSBlbHNlCiAgICAgICAgIGNvbXB1dGVMaW5lQm94SGVp
Z2h0QW5kQWxpZ25JbmxpbmVMZXZlbEJveGVzVmVydGljYWxseShsaW5lQm94KTsKIH0KQEAgLTQ2
MSw5ICs0NjQsOSBAQCB2b2lkIExpbmVCb3hCdWlsZGVyOjpjb21wdXRlTGluZUJveEhlaWdodEFu
ZEFsaWduSW5saW5lTGV2ZWxCb3hlc1ZlcnRpY2FsbHkoTGluZQogICAgICAgICAgICAgICAgIGNv
bnRpbnVlOwogICAgICAgICAgICAgbGluZUJveExvZ2ljYWxIZWlnaHQgPSBzdGQ6Om1heChsaW5l
Qm94TG9naWNhbEhlaWdodCwgbGluZUJveFJlbGF0aXZlSW5saW5lTGV2ZWxCb3gtPmxheW91dEJv
dW5kcygpLmhlaWdodCgpKTsKICAgICAgICAgfQotICAgICAgICBsaW5lQm94LnNldExvZ2ljYWxI
ZWlnaHQobGluZUJveExvZ2ljYWxIZWlnaHQpOworICAgICAgICByZXR1cm4gbGluZUJveExvZ2lj
YWxIZWlnaHQ7CiAgICAgfTsKLSAgICBjb21wdXRlTGluZUJveExvZ2ljYWxIZWlnaHQoKTsKKyAg
ICBtX2xvZ2ljYWxIZWlnaHQgPSBjb21wdXRlTGluZUJveExvZ2ljYWxIZWlnaHQoKTsKIAogICAg
IGF1dG8gY29tcHV0ZVJvb3RJbmxpbmVCb3hWZXJ0aWNhbFBvc2l0aW9uID0gWyZdIHsKICAgICAg
ICAgSGFzaE1hcDxjb25zdCBJbmxpbmVMZXZlbEJveCosIElubGluZUxheW91dFVuaXQ+IGlubGlu
ZUxldmVsQm94QWJzb2x1dGVCYXNlbGluZU9mZnNldE1hcDsKQEAgLTU4Niw3ICs1ODksNyBAQCB2
b2lkIExpbmVCb3hCdWlsZGVyOjpjb21wdXRlTGluZUJveEhlaWdodEFuZEFsaWduSW5saW5lTGV2
ZWxCb3hlc1ZlcnRpY2FsbHkoTGluZQogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAg
ICAgY2FzZSBWZXJ0aWNhbEFsaWduOjpCb3R0b206CiAgICAgICAgICAgICAgICAgLy8gTm90ZSB0
aGF0IHRoaXMgbG9naWNhbCB0b3AgaXMgbm90IHJlbGF0aXZlIHRvIHRoZSBwYXJlbnQgaW5saW5l
IGJveC4KLSAgICAgICAgICAgICAgICBsb2dpY2FsVG9wID0gbGluZUJveC5sb2dpY2FsUmVjdCgp
LmhlaWdodCgpIC0gaW5saW5lTGV2ZWxCb3gubGF5b3V0Qm91bmRzKCkuZGVzY2VudCAtIGlubGlu
ZUxldmVsQm94LmJhc2VsaW5lKCk7CisgICAgICAgICAgICAgICAgbG9naWNhbFRvcCA9IG1fbG9n
aWNhbEhlaWdodCAtIGlubGluZUxldmVsQm94LmxheW91dEJvdW5kcygpLmRlc2NlbnQgLSBpbmxp
bmVMZXZlbEJveC5iYXNlbGluZSgpOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAg
ICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgICBBU1NFUlRfTk9UX0lNUExFTUVOVEVEX1lFVCgp
OwpAQCAtNjUxLDcgKzY1NCw3IEBAIElubGluZUZvcm1hdHRpbmdHZW9tZXRyeTo6SW5saW5lRm9y
bWF0dGluZ0dlb21ldHJ5KGNvbnN0IElubGluZUZvcm1hdHRpbmdDb250ZXh0CiB7CiB9CiAKLUxp
bmVCb3ggSW5saW5lRm9ybWF0dGluZ0dlb21ldHJ5OjpsaW5lQm94Rm9yTGluZUNvbnRlbnQoY29u
c3QgTGluZUJ1aWxkZXI6OkxpbmVDb250ZW50JiBsaW5lQ29udGVudCkgY29uc3QKK0lubGluZUZv
cm1hdHRpbmdHZW9tZXRyeTo6TGluZSBJbmxpbmVGb3JtYXR0aW5nR2VvbWV0cnk6OnZlcnRpY2Fs
bHlBZGp1c3RlZExpbmVGb3JMaW5lQ29udGVudChjb25zdCBMaW5lQnVpbGRlcjo6TGluZUNvbnRl
bnQmIGxpbmVDb250ZW50KSBjb25zdAogewogICAgIHJldHVybiBMaW5lQm94QnVpbGRlcihmb3Jt
YXR0aW5nQ29udGV4dCgpKS5idWlsZChsaW5lQ29udGVudCk7CiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVGb3JtYXR0
aW5nR2VvbWV0cnkuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMv
aW5saW5lL0lubGluZUZvcm1hdHRpbmdHZW9tZXRyeS5oCmluZGV4IGUwZWVmN2M4ZmVkMjUyNmQ1
NjRmZjU4NTBhMmVlNjdhOGM2NTFiMTcuLjc0MWVkNzViYmUzYjRiZDc1N2FkZDI3NjEwNzE2Y2Q4
ZjA2YjAyMDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29u
dGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdHZW9tZXRyeS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdHZW9t
ZXRyeS5oCkBAIC00MCw3ICs0MCwxMSBAQCBjbGFzcyBJbmxpbmVGb3JtYXR0aW5nR2VvbWV0cnkg
OiBwdWJsaWMgRm9ybWF0dGluZ0dlb21ldHJ5IHsKIHB1YmxpYzoKICAgICBJbmxpbmVGb3JtYXR0
aW5nR2VvbWV0cnkoY29uc3QgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQmKTsKIAotICAgIExpbmVC
b3ggbGluZUJveEZvckxpbmVDb250ZW50KGNvbnN0IExpbmVCdWlsZGVyOjpMaW5lQ29udGVudCYp
IGNvbnN0OworICAgIHN0cnVjdCBMaW5lIHsKKyAgICAgICAgTGluZUJveCBsaW5lQm94OworICAg
ICAgICBJbmxpbmVMYXlvdXRVbml0IGxvZ2ljYWxIZWlnaHQgeyAwIH07CisgICAgfTsKKyAgICBM
aW5lIHZlcnRpY2FsbHlBZGp1c3RlZExpbmVGb3JMaW5lQ29udGVudChjb25zdCBMaW5lQnVpbGRl
cjo6TGluZUNvbnRlbnQmKSBjb25zdDsKICAgICBJbmxpbmVMYXlvdXRVbml0IGxvZ2ljYWxUb3BG
b3JOZXh0TGluZShjb25zdCBMaW5lQnVpbGRlcjo6TGluZUNvbnRlbnQmLCBJbmxpbmVMYXlvdXRV
bml0IHByZXZpb3VzTGluZUxvZ2ljYWxCb3R0b20sIGNvbnN0IEZsb2F0aW5nQ29udGV4dCYpIGNv
bnN0OwogCiAgICAgQ29udGVudEhlaWdodEFuZE1hcmdpbiBpbmxpbmVCbG9ja0NvbnRlbnRIZWln
aHRBbmRNYXJnaW4oY29uc3QgQm94JiwgY29uc3QgSG9yaXpvbnRhbENvbnN0cmFpbnRzJiwgY29u
c3QgT3ZlcnJpZGRlblZlcnRpY2FsVmFsdWVzJikgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQm94LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGlu
ZUxpbmVCb3guY3BwCmluZGV4IDZjZjRiNmUwMTE5OGEyZWYyN2VhYTEyY2UzMDU0ZDIxNzBjNmQx
NGUuLmJlNmQ2NzNlYmVkN2UwM2Q4NmI1M2ZhMDQ2ZTdkNmJjNjFiYmRlYjMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxp
bmVCb3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMv
aW5saW5lL0lubGluZUxpbmVCb3guY3BwCkBAIC0zNCw5ICszNCw4IEBACiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiBuYW1lc3BhY2UgTGF5b3V0IHsKIAotTGluZUJveDo6TGluZUJveChjb25zdCBCb3gm
IHJvb3RMYXlvdXRCb3gsIGNvbnN0IElubGluZUxheW91dFBvaW50JiBsb2dpY2FsVG9wbGVmdCwg
SW5saW5lTGF5b3V0VW5pdCBsaW5lTG9naWNhbFdpZHRoLCBJbmxpbmVMYXlvdXRVbml0IGNvbnRl
bnRMb2dpY2FsTGVmdCwgSW5saW5lTGF5b3V0VW5pdCBjb250ZW50TG9naWNhbFdpZHRoLCBzaXpl
X3Qgbm9uU3Bhbm5pbmdJbmxpbmVMZXZlbEJveENvdW50KQotICAgIDogbV9sb2dpY2FsUmVjdChs
b2dpY2FsVG9wbGVmdCwgSW5saW5lTGF5b3V0U2l6ZSB7IGxpbmVMb2dpY2FsV2lkdGgsIHsgfSB9
KQotICAgICwgbV9yb290SW5saW5lQm94KHJvb3RMYXlvdXRCb3gsIGNvbnRlbnRMb2dpY2FsTGVm
dCwgSW5saW5lTGF5b3V0U2l6ZSB7IGNvbnRlbnRMb2dpY2FsV2lkdGgsIHsgfSB9LCBJbmxpbmVM
ZXZlbEJveDo6VHlwZTo6Um9vdElubGluZUJveCkKK0xpbmVCb3g6OkxpbmVCb3goY29uc3QgQm94
JiByb290TGF5b3V0Qm94LCBJbmxpbmVMYXlvdXRVbml0IGNvbnRlbnRMb2dpY2FsTGVmdCwgSW5s
aW5lTGF5b3V0VW5pdCBjb250ZW50TG9naWNhbFdpZHRoLCBzaXplX3Qgbm9uU3Bhbm5pbmdJbmxp
bmVMZXZlbEJveENvdW50KQorICAgIDogbV9yb290SW5saW5lQm94KHJvb3RMYXlvdXRCb3gsIGNv
bnRlbnRMb2dpY2FsTGVmdCwgSW5saW5lTGF5b3V0U2l6ZSB7IGNvbnRlbnRMb2dpY2FsV2lkdGgs
IHsgfSB9LCBJbmxpbmVMZXZlbEJveDo6VHlwZTo6Um9vdElubGluZUJveCkKIHsKICAgICBtX25v
blJvb3RJbmxpbmVMZXZlbEJveExpc3QucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShub25TcGFubmlu
Z0lubGluZUxldmVsQm94Q291bnQpOwogICAgIG1fbm9uUm9vdElubGluZUxldmVsQm94TWFwLnJl
c2VydmVJbml0aWFsQ2FwYWNpdHkobm9uU3Bhbm5pbmdJbmxpbmVMZXZlbEJveENvdW50KTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5l
L0lubGluZUxpbmVCb3guaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4
dHMvaW5saW5lL0lubGluZUxpbmVCb3guaAppbmRleCAyMTljY2ZjZjhlZTU3ZTlkOTYwMzIzNmNk
MTIwNDdmYmJlM2YwYjM5Li5iNWYxYTYyYjliZjRhN2RiNDgyMDlhMjA3YWM2NTVjYmU3MDE3NjU5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lu
bGluZS9JbmxpbmVMaW5lQm94LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRp
bmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJveC5oCkBAIC02MCw5ICs2MCw4IEBAIHN0cnVj
dCBTaW1wbGlmaWVkVmVydGljYWxBbGlnbm1lbnQ7CiBjbGFzcyBMaW5lQm94IHsKICAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKLSAgICBMaW5lQm94KGNvbnN0IEJveCYgcm9v
dExheW91dEJveCwgY29uc3QgSW5saW5lTGF5b3V0UG9pbnQmIGxvZ2ljYWxUb3BMZWZ0LCBJbmxp
bmVMYXlvdXRVbml0IGNvbnRlbnRMb2dpY2FsTGVmdCwgSW5saW5lTGF5b3V0VW5pdCBsaW5lTG9n
aWNhbFdpZHRoLCBJbmxpbmVMYXlvdXRVbml0IGNvbnRlbnRMb2dpY2FsV2lkdGgsIHNpemVfdCBu
b25TcGFubmluZ0lubGluZUxldmVsQm94Q291bnQpOworICAgIExpbmVCb3goY29uc3QgQm94JiBy
b290TGF5b3V0Qm94LCBJbmxpbmVMYXlvdXRVbml0IGNvbnRlbnRMb2dpY2FsTGVmdCwgSW5saW5l
TGF5b3V0VW5pdCBjb250ZW50TG9naWNhbFdpZHRoLCBzaXplX3Qgbm9uU3Bhbm5pbmdJbmxpbmVM
ZXZlbEJveENvdW50KTsKIAotICAgIGNvbnN0IElubGluZVJlY3QmIGxvZ2ljYWxSZWN0KCkgY29u
c3QgeyByZXR1cm4gbV9sb2dpY2FsUmVjdDsgfQogICAgIC8vIE5vdGUgdGhhdCB0aGUgbGluZSBj
YW4gaGF2ZSBtYW55IGlubGluZSBib3hlcyBhbmQgYmUgImVtcHR5IiB0aGUgc2FtZSB0aW1lIGUu
Zy4gPGRpdj48c3Bhbj48L3NwYW4+PHNwYW4+PC9zcGFuPjwvZGl2PgogICAgIGJvb2wgaGFzQ29u
dGVudCgpIGNvbnN0IHsgcmV0dXJuIG1faGFzQ29udGVudDsgfQogICAgIGJvb2wgaGFzSW5saW5l
Qm94KCkgY29uc3QgeyByZXR1cm4gbV9ib3hUeXBlcy5jb250YWlucyhJbmxpbmVMZXZlbEJveDo6
VHlwZTo6SW5saW5lQm94KTsgfQpAQCAtODEsMTMgKzgwLDkgQEAgcHVibGljOgogICAgIHVzaW5n
IElubGluZUxldmVsQm94TGlzdCA9IFZlY3RvcjxJbmxpbmVMZXZlbEJveD47CiAgICAgY29uc3Qg
SW5saW5lTGV2ZWxCb3hMaXN0JiBub25Sb290SW5saW5lTGV2ZWxCb3hlcygpIGNvbnN0IHsgcmV0
dXJuIG1fbm9uUm9vdElubGluZUxldmVsQm94TGlzdDsgfQogCi0gICAgSW5saW5lTGF5b3V0VW5p
dCBhbGlnbm1lbnRCYXNlbGluZSgpIGNvbnN0IHsgcmV0dXJuIG1fcm9vdElubGluZUJveC5sb2dp
Y2FsVG9wKCkgKyBtX3Jvb3RJbmxpbmVCb3guYmFzZWxpbmUoKTsgfQotCiBwcml2YXRlOgogICAg
IGZyaWVuZCBjbGFzcyBMaW5lQm94QnVpbGRlcjsKIAotICAgIHZvaWQgc2V0TG9naWNhbEhlaWdo
dChJbmxpbmVMYXlvdXRVbml0IGxvZ2ljYWxIZWlnaHQpIHsgbV9sb2dpY2FsUmVjdC5zZXRIZWln
aHQobG9naWNhbEhlaWdodCk7IH0KLQogICAgIHZvaWQgYWRkSW5saW5lTGV2ZWxCb3goSW5saW5l
TGV2ZWxCb3gmJik7CiAgICAgSW5saW5lTGV2ZWxCb3hMaXN0JiBub25Sb290SW5saW5lTGV2ZWxC
b3hlcygpIHsgcmV0dXJuIG1fbm9uUm9vdElubGluZUxldmVsQm94TGlzdDsgfQogCkBAIC05OSw3
ICs5NCw2IEBAIHByaXZhdGU6CiAgICAgdm9pZCBzZXRIYXNDb250ZW50KGJvb2wgaGFzQ29udGVu
dCkgeyBtX2hhc0NvbnRlbnQgPSBoYXNDb250ZW50OyB9CiAKIHByaXZhdGU6Ci0gICAgSW5saW5l
UmVjdCBtX2xvZ2ljYWxSZWN0OwogICAgIGJvb2wgbV9oYXNDb250ZW50IHsgZmFsc2UgfTsKICAg
ICBPcHRpb25TZXQ8SW5saW5lTGV2ZWxCb3g6OlR5cGU+IG1fYm94VHlwZXM7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbklu
bGluZUNvbnRlbnRCdWlsZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlv
bi9MYXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnRCdWlsZGVyLmNwcAppbmRleCAwNzhkODRk
ZTJmYmE5MTMwY2IyYjI2MzA1NjY3MTIxNmVjYTJlZWRlLi5lOGE5MDJiZjFjMjY2MWFiMzYyOGYy
YzY5MmI5MjBhZjA5NzlhYjE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50
ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250ZW50QnVpbGRlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uSW5saW5l
Q29udGVudEJ1aWxkZXIuY3BwCkBAIC0zODUsNyArMzg1LDcgQEAgdm9pZCBJbmxpbmVDb250ZW50
QnVpbGRlcjo6Y3JlYXRlRGlzcGxheU5vblJvb3RJbmxpbmVCb3hlcyhjb25zdCBMYXlvdXQ6Oklu
bGluZUYKICAgICAgICAgaWYgKCFsaW5lQm94Lmhhc0lubGluZUJveCgpKQogICAgICAgICAgICAg
Y29udGludWU7CiAKLSAgICAgICAgYXV0byYgbGluZUJveExvZ2ljYWxSZWN0ID0gbGluZUJveC5s
b2dpY2FsUmVjdCgpOworICAgICAgICBhdXRvIGxpbmVCb3hMb2dpY2FsUmVjdCA9IGlubGluZUZv
cm1hdHRpbmdTdGF0ZS5saW5lcygpW2xpbmVJbmRleF0ubGluZUJveExvZ2ljYWxSZWN0KCk7CiAg
ICAgICAgIGZvciAoYXV0byYgaW5saW5lTGV2ZWxCb3ggOiBsaW5lQm94Lm5vblJvb3RJbmxpbmVM
ZXZlbEJveGVzKCkpIHsKICAgICAgICAgICAgIGlmICghaW5saW5lTGV2ZWxCb3guaXNJbmxpbmVC
b3goKSkKICAgICAgICAgICAgICAgICBjb250aW51ZTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>435924</attachid>
            <date>2021-08-19 17:01:06 -0700</date>
            <delta_ts>2021-08-19 20:13:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-228050-20210819170105.patch</filename>
            <type>text/plain</type>
            <size>14704</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxMjc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGEwN2EzN2IzYzE5YjU1
YmVkYzRkMzFlODczMmNkMTE0MTQyNTU1YS4uYWUwYjA0ODU3Nzc3NTRmMWI5NGI4Yzk0NTUwMjc0
YzZjY2VkNzYxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDIxLTA4LTE5ICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtJRkNdIExpbmVCb3gg
cHJvdmlkZXMgcmVkdW5kYW50IGdlb21ldHJ5IGluZm9ybWF0aW9uCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjgwNTAKKworICAgICAgICBSZXZpZXdl
ZCBieSBTYW0gV2VpbmlnLgorCisgICAgICAgIExpbmVCb3hHZW9tZXRyeSBjbGFzcyBwcm92aWRl
cyB0aGUgbGluZSdzIGdlb21ldHJ5LiBUaGlzIGlzIGFsc28gaW4gcHJlcGFyYXRpb24gZm9yIG1h
a2luZyBMaW5lQm94IGEgbm9uLXBlcnNpc3RlbnQgdHlwZSBvZiBzdHJ1Y3R1cmUuCisKKyAgICAg
ICAgKiBsYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVGb3JtYXR0aW5nQ29u
dGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OklubGluZUZvcm1hdHRpbmdDb250
ZXh0Ojpjb21wdXRlR2VvbWV0cnlGb3JMaW5lQ29udGVudCk6CisgICAgICAgICogbGF5b3V0L2Zv
cm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0dlb21ldHJ5LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZUJveEJ1aWxkZXI6OmJ1aWxkKToKKyAgICAgICAg
KFdlYkNvcmU6OkxheW91dDo6TGluZUJveEJ1aWxkZXI6OmNvbnN0cnVjdEFuZEFsaWduSW5saW5l
TGV2ZWxCb3hlcyk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCb3hCdWlsZGVyOjpj
b21wdXRlTGluZUJveEhlaWdodEFuZEFsaWduSW5saW5lTGV2ZWxCb3hlc1ZlcnRpY2FsbHkpOgor
ICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVGb3JtYXR0aW5nR2VvbWV0cnk6OnZlcnRp
Y2FsbHlBZGp1c3RlZExpbmVGb3JMaW5lQ29udGVudCBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpMYXlvdXQ6OklubGluZUZvcm1hdHRpbmdHZW9tZXRyeTo6bGluZUJveEZvckxpbmVDb250ZW50
IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBsYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lu
bGluZS9JbmxpbmVGb3JtYXR0aW5nR2VvbWV0cnkuaDoKKyAgICAgICAgKiBsYXlvdXQvZm9ybWF0
dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkxheW91dDo6TGluZUJveDo6TGluZUJveCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6Om1f
cm9vdElubGluZUJveCk6IERlbGV0ZWQuCisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250
ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJveC5oOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpM
aW5lQm94Ojpsb2dpY2FsUmVjdCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpM
YXlvdXQ6OkxpbmVCb3g6OmFsaWdubWVudEJhc2VsaW5lIGNvbnN0KTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OkxheW91dDo6TGluZUJveDo6c2V0TG9naWNhbEhlaWdodCk6IERlbGV0ZWQu
CisgICAgICAgICogbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uSW5saW5lQ29u
dGVudEJ1aWxkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0SW50ZWdyYXRpb246Oklu
bGluZUNvbnRlbnRCdWlsZGVyOjpjcmVhdGVEaXNwbGF5Tm9uUm9vdElubGluZUJveGVzIGNvbnN0
KToKKwogMjAyMS0wOC0xOSAgQWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAg
ICAgW0xGQ11bSUZDXSBSZW1vdmUgcmVkdW5kYW50IExpbmVCb3ggZnVuY3Rpb25zCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9Jbmxp
bmVGb3JtYXR0aW5nQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGlu
Z0NvbnRleHRzL2lubGluZS9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5jcHAKaW5kZXggZDQ3Y2E2
OWZlYjgxMDRiMmZmOGM1MzI5ZmRkZDAwNGMzNmJlOTFiYy4uZjdmOTJhMmMxNTJlMTc3NTZlMjAw
MjJiNjEwNDlmOTRiYzNjNGFlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zv
cm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZv
cm1hdHRpbmdDb250ZXh0LmNwcApAQCAtNDY3LDExICs0NjcsMTMgQEAgSW5saW5lUmVjdCBJbmxp
bmVGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZUdlb21ldHJ5Rm9yTGluZUNvbnRlbnQoY29uc3Qg
TGluZUJ1aWwKIHsKICAgICBhdXRvJiBmb3JtYXR0aW5nU3RhdGUgPSB0aGlzLT5mb3JtYXR0aW5n
U3RhdGUoKTsKICAgICBhdXRvJiBmb3JtYXR0aW5nR2VvbWV0cnkgPSB0aGlzLT5mb3JtYXR0aW5n
R2VvbWV0cnkoKTsKKyAgICBhdXRvIGxpbmVJbmRleCA9IGZvcm1hdHRpbmdTdGF0ZS5saW5lcygp
LnNpemUoKTsKIAotICAgIGZvcm1hdHRpbmdTdGF0ZS5hZGRMaW5lQm94KGZvcm1hdHRpbmdHZW9t
ZXRyeS5saW5lQm94Rm9yTGluZUNvbnRlbnQobGluZUNvbnRlbnQpKTsKKyAgICBhdXRvIGxpbmVC
b3hBbmRHZW9tZXRyeSA9IGZvcm1hdHRpbmdHZW9tZXRyeS5saW5lQm94Rm9yTGluZUNvbnRlbnQo
bGluZUNvbnRlbnQpOworICAgIGZvcm1hdHRpbmdTdGF0ZS5hZGRMaW5lQm94KFdURk1vdmUobGlu
ZUJveEFuZEdlb21ldHJ5LmxpbmVCb3gpKTsKICAgICBjb25zdCBhdXRvJiBsaW5lQm94ID0gZm9y
bWF0dGluZ1N0YXRlLmxpbmVCb3hlcygpLmxhc3QoKTsKLSAgICBhdXRvIGxpbmVJbmRleCA9IGZv
cm1hdHRpbmdTdGF0ZS5saW5lcygpLnNpemUoKTsKLSAgICBhdXRvJiBsaW5lQm94TG9naWNhbFJl
Y3QgPSBsaW5lQm94LmxvZ2ljYWxSZWN0KCk7CisgICAgYXV0byBsaW5lQm94TG9naWNhbFJlY3Qg
PSBsaW5lQm94QW5kR2VvbWV0cnkubG9naWNhbFJlY3Q7CisKICAgICBpZiAoIWxpbmVCb3guaGFz
Q29udGVudCgpKSB7CiAgICAgICAgIC8vIEZhc3QgcGF0aCBmb3IgbGluZXMgd2l0aCBubyBjb250
ZW50IGUuZy4gPGRpdj48c3Bhbj48L3NwYW4+PHNwYW4+PC9zcGFuPjwvZGl2PiBvciA8c3Bhbj48
ZGl2PjwvZGl2Pjwvc3Bhbj4gd2hlcmUgd2UgY29uc3RydWN0IGVtcHR5IHByZSBhbmQgcG9zdCBi
bG9ja3MuCiAgICAgICAgIEFTU0VSVCghbGluZUJveC5yb290SW5saW5lQm94KCkuaGFzQ29udGVu
dCgpICYmICFsaW5lQm94TG9naWNhbFJlY3QuaGVpZ2h0KCkpOwpAQCAtNjA3LDEwICs2MDksOSBA
QCBJbmxpbmVSZWN0IElubGluZUZvcm1hdHRpbmdDb250ZXh0Ojpjb21wdXRlR2VvbWV0cnlGb3JM
aW5lQ29udGVudChjb25zdCBMaW5lQnVpbAogICAgIHVwZGF0ZUJveEdlb21ldHJ5Rm9ySW5saW5l
Qm94ZXMoKTsKIAogICAgIGF1dG8gY29uc3RydWN0TGluZUdlb21ldHJ5ID0gWyZdIHsKLSAgICAg
ICAgZm9ybWF0dGluZ1N0YXRlLmFkZExpbmUoeyBsaW5lQm94TG9naWNhbFJlY3QsIGVuY2xvc2lu
Z1RvcEFuZEJvdHRvbSwgbGluZUJveC5hbGlnbm1lbnRCYXNlbGluZSgpLCByb290SW5saW5lQm94
TG9naWNhbFJlY3QubGVmdCgpLCBsaW5lQ29udGVudC5jb250ZW50TG9naWNhbFdpZHRoIH0pOwor
ICAgICAgICBmb3JtYXR0aW5nU3RhdGUuYWRkTGluZSh7IGxpbmVCb3hMb2dpY2FsUmVjdCwgZW5j
bG9zaW5nVG9wQW5kQm90dG9tLCByb290SW5saW5lQm94TG9naWNhbFJlY3QudG9wKCkgKyBsaW5l
Qm94LnJvb3RJbmxpbmVCb3goKS5iYXNlbGluZSgpLCByb290SW5saW5lQm94TG9naWNhbFJlY3Qu
bGVmdCgpLCByb290SW5saW5lQm94TG9naWNhbFJlY3Qud2lkdGgoKSB9KTsKICAgICB9OwogICAg
IGNvbnN0cnVjdExpbmVHZW9tZXRyeSgpOwotCiAgICAgcmV0dXJuIGxpbmVCb3hMb2dpY2FsUmVj
dDsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250
ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0dlb21ldHJ5LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdHZW9tZXRy
eS5jcHAKaW5kZXggODNkODExZjE2NDg1NTU4ODExNzNmY2M2ZjU5MTVhZjlhMjljYzczZS4uMTU2
MTA2NTMyYjRmMzU1MjY3M2QxNTJmMzc3NzgzOThjNDIwMzk4MCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGlu
Z0dlb21ldHJ5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRl
eHRzL2lubGluZS9JbmxpbmVGb3JtYXR0aW5nR2VvbWV0cnkuY3BwCkBAIC00Myw3ICs0Myw3IEBA
IG5hbWVzcGFjZSBMYXlvdXQgewogY2xhc3MgTGluZUJveEJ1aWxkZXIgewogcHVibGljOgogICAg
IExpbmVCb3hCdWlsZGVyKGNvbnN0IElubGluZUZvcm1hdHRpbmdDb250ZXh0Jik7Ci0gICAgTGlu
ZUJveCBidWlsZChjb25zdCBMaW5lQnVpbGRlcjo6TGluZUNvbnRlbnQmKTsKKyAgICBJbmxpbmVG
b3JtYXR0aW5nR2VvbWV0cnk6OkxpbmVCb3hBbmRHZW9tZXRyeSBidWlsZChjb25zdCBMaW5lQnVp
bGRlcjo6TGluZUNvbnRlbnQmKTsKIAogcHJpdmF0ZToKICAgICBzdHJ1Y3QgU2ltcGxpZmllZFZl
cnRpY2FsQWxpZ25tZW50IHsKQEAgLTgxLDYgKzgxLDcgQEAgcHJpdmF0ZToKIAogcHJpdmF0ZToK
ICAgICBjb25zdCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dCYgbV9pbmxpbmVGb3JtYXR0aW5nQ29u
dGV4dDsKKyAgICBJbmxpbmVMYXlvdXRVbml0IG1fbG9naWNhbEhlaWdodCB7IDAgfTsKIH07CiAK
IHN0YXRpYyBJbmxpbmVMYXlvdXRVbml0IGhhbmdpbmdHbHlwaFdpZHRoKElubGluZUxheW91dFVu
aXQgZXh0cmFIb3Jpem9udGFsU3BhY2UsIGNvbnN0IExpbmU6OlJ1bkxpc3QmIHJ1bnMsIGJvb2wg
aXNMYXN0TGluZVdpdGhJbmxpbmVDb250ZW50KQpAQCAtMTU2LDE1ICsxNTcsMTQgQEAgTGluZUJv
eEJ1aWxkZXI6OkxpbmVCb3hCdWlsZGVyKGNvbnN0IElubGluZUZvcm1hdHRpbmdDb250ZXh0JiBp
bmxpbmVGb3JtYXR0aW5nQ28KIHsKIH0KIAotTGluZUJveCBMaW5lQm94QnVpbGRlcjo6YnVpbGQo
Y29uc3QgTGluZUJ1aWxkZXI6OkxpbmVDb250ZW50JiBsaW5lQ29udGVudCkKK0lubGluZUZvcm1h
dHRpbmdHZW9tZXRyeTo6TGluZUJveEFuZEdlb21ldHJ5IExpbmVCb3hCdWlsZGVyOjpidWlsZChj
b25zdCBMaW5lQnVpbGRlcjo6TGluZUNvbnRlbnQmIGxpbmVDb250ZW50KQogewogICAgIGF1dG8m
IHJ1bnMgPSBsaW5lQ29udGVudC5ydW5zOwotICAgIGF1dG8gbGluZUxvZ2ljYWxXaWR0aCA9IGxp
bmVDb250ZW50LmxpbmVMb2dpY2FsV2lkdGg7CiAgICAgYXV0byBjb250ZW50TG9naWNhbFdpZHRo
ID0gbGluZUNvbnRlbnQuY29udGVudExvZ2ljYWxXaWR0aDsKLSAgICBhdXRvIGhvcml6b250YWxB
bGlnbm1lbnRPZmZzZXQgPSBMYXlvdXQ6Omhvcml6b250YWxBbGlnbm1lbnRPZmZzZXQocnVucywg
cm9vdEJveCgpLnN0eWxlKCkudGV4dEFsaWduKCksIGxpbmVMb2dpY2FsV2lkdGgsIGNvbnRlbnRM
b2dpY2FsV2lkdGgsIGxpbmVDb250ZW50LmlzTGFzdExpbmVXaXRoSW5saW5lQ29udGVudCk7Ci0g
ICAgYXV0byBsaW5lQm94ID0gTGluZUJveCB7IHJvb3RCb3goKSwgbGluZUNvbnRlbnQubG9naWNh
bFRvcExlZnQsIGxpbmVMb2dpY2FsV2lkdGgsIGhvcml6b250YWxBbGlnbm1lbnRPZmZzZXQudmFs
dWVfb3IoSW5saW5lTGF5b3V0VW5pdCB7IH0pLCBjb250ZW50TG9naWNhbFdpZHRoLCBsaW5lQ29u
dGVudC5ub25TcGFubmluZ0lubGluZUxldmVsQm94Q291bnQgfTsKKyAgICBhdXRvIGNvbnRlbnRM
b2dpY2FsTGVmdCA9IExheW91dDo6aG9yaXpvbnRhbEFsaWdubWVudE9mZnNldChydW5zLCByb290
Qm94KCkuc3R5bGUoKS50ZXh0QWxpZ24oKSwgbGluZUNvbnRlbnQubGluZUxvZ2ljYWxXaWR0aCwg
Y29udGVudExvZ2ljYWxXaWR0aCwgbGluZUNvbnRlbnQuaXNMYXN0TGluZVdpdGhJbmxpbmVDb250
ZW50KS52YWx1ZV9vcihJbmxpbmVMYXlvdXRVbml0IHsgfSk7CisgICAgYXV0byBsaW5lQm94ID0g
TGluZUJveCB7IHJvb3RCb3goKSwgY29udGVudExvZ2ljYWxMZWZ0LCBjb250ZW50TG9naWNhbFdp
ZHRoLCBsaW5lQ29udGVudC5ub25TcGFubmluZ0lubGluZUxldmVsQm94Q291bnQgfTsKICAgICBj
b25zdHJ1Y3RBbmRBbGlnbklubGluZUxldmVsQm94ZXMobGluZUJveCwgcnVucyk7Ci0gICAgcmV0
dXJuIGxpbmVCb3g7CisgICAgcmV0dXJuIHsgbGluZUJveCwgSW5saW5lUmVjdCB7IGxpbmVDb250
ZW50LmxvZ2ljYWxUb3BMZWZ0LCBsaW5lQ29udGVudC5saW5lTG9naWNhbFdpZHRoLCBtX2xvZ2lj
YWxIZWlnaHQgfSB9OwogfQogCiB2b2lkIExpbmVCb3hCdWlsZGVyOjpzZXRWZXJ0aWNhbEdlb21l
dHJ5Rm9ySW5saW5lQm94KElubGluZUxldmVsQm94JiBpbmxpbmVMZXZlbEJveCkgY29uc3QKQEAg
LTM1OCwxMCArMzU4LDEzIEBAIHZvaWQgTGluZUJveEJ1aWxkZXI6OmNvbnN0cnVjdEFuZEFsaWdu
SW5saW5lTGV2ZWxCb3hlcyhMaW5lQm94JiBsaW5lQm94LCBjb25zdCBMCiAgICAgfQogCiAgICAg
bGluZUJveC5zZXRIYXNDb250ZW50KGxpbmVIYXNDb250ZW50KTsKLSAgICBpZiAoc2ltcGxpZmll
ZFZlcnRpY2FsQWxpZ25tZW50LmlzRW5hYmxlZCgpIHx8ICFsaW5lSGFzQ29udGVudCkgeworICAg
IGlmICghbGluZUhhc0NvbnRlbnQpIHsKKyAgICAgICAgbV9sb2dpY2FsSGVpZ2h0ID0geyB9Owor
ICAgICAgICByb290SW5saW5lQm94LnNldExvZ2ljYWxUb3AoLXJvb3RJbmxpbmVCb3guYmFzZWxp
bmUoKSk7CisgICAgfSBlbHNlIGlmIChzaW1wbGlmaWVkVmVydGljYWxBbGlnbm1lbnQuaXNFbmFi
bGVkKCkpIHsKICAgICAgICAgLy8gV2Ugc2hvdWxkIGFsd2F5cyBiZSBhYmxlIHRvIGV4ZXJjaXNl
IHRoZSBmYXN0IHBhdGggd2hlbiB0aGUgbGluZSBoYXMgbm8gY29udGVudCBhdCBhbGwsIGV2ZW4g
aW4gbm9uLXN0YW5kYXJkcyBtb2RlIG9yIHdpdGggbGluZS1oZWlnaHQgc2V0LgotICAgICAgICBy
b290SW5saW5lQm94LnNldExvZ2ljYWxUb3AobGluZUhhc0NvbnRlbnQgPyBzaW1wbGlmaWVkVmVy
dGljYWxBbGlnbm1lbnQucm9vdElubGluZUJveExvZ2ljYWxUb3AoKSA6IC1yb290SW5saW5lQm94
LmJhc2VsaW5lKCkpOwotICAgICAgICBsaW5lQm94LnNldExvZ2ljYWxIZWlnaHQobGluZUhhc0Nv
bnRlbnQgPyBzaW1wbGlmaWVkVmVydGljYWxBbGlnbm1lbnQubGluZUJveEhlaWdodCgpIDogSW5s
aW5lTGF5b3V0VW5pdCgpKTsKKyAgICAgICAgbV9sb2dpY2FsSGVpZ2h0ID0gc2ltcGxpZmllZFZl
cnRpY2FsQWxpZ25tZW50LmxpbmVCb3hIZWlnaHQoKTsKKyAgICAgICAgcm9vdElubGluZUJveC5z
ZXRMb2dpY2FsVG9wKHNpbXBsaWZpZWRWZXJ0aWNhbEFsaWdubWVudC5yb290SW5saW5lQm94TG9n
aWNhbFRvcCgpKTsKICAgICB9IGVsc2UKICAgICAgICAgY29tcHV0ZUxpbmVCb3hIZWlnaHRBbmRB
bGlnbklubGluZUxldmVsQm94ZXNWZXJ0aWNhbGx5KGxpbmVCb3gpOwogfQpAQCAtNDY0LDcgKzQ2
Nyw3IEBAIHZvaWQgTGluZUJveEJ1aWxkZXI6OmNvbXB1dGVMaW5lQm94SGVpZ2h0QW5kQWxpZ25J
bmxpbmVMZXZlbEJveGVzVmVydGljYWxseShMaW5lCiAgICAgICAgICAgICAgICAgY29udGludWU7
CiAgICAgICAgICAgICBsaW5lQm94TG9naWNhbEhlaWdodCA9IHN0ZDo6bWF4KGxpbmVCb3hMb2dp
Y2FsSGVpZ2h0LCBsaW5lQm94UmVsYXRpdmVJbmxpbmVMZXZlbEJveC0+bGF5b3V0Qm91bmRzKCku
aGVpZ2h0KCkpOwogICAgICAgICB9Ci0gICAgICAgIGxpbmVCb3guc2V0TG9naWNhbEhlaWdodChs
aW5lQm94TG9naWNhbEhlaWdodCk7CisgICAgICAgIG1fbG9naWNhbEhlaWdodCA9IGxpbmVCb3hM
b2dpY2FsSGVpZ2h0OwogICAgIH07CiAgICAgY29tcHV0ZUxpbmVCb3hMb2dpY2FsSGVpZ2h0KCk7
CiAKQEAgLTU4OSw3ICs1OTIsNyBAQCB2b2lkIExpbmVCb3hCdWlsZGVyOjpjb21wdXRlTGluZUJv
eEhlaWdodEFuZEFsaWduSW5saW5lTGV2ZWxCb3hlc1ZlcnRpY2FsbHkoTGluZQogICAgICAgICAg
ICAgICAgIGJyZWFrOwogICAgICAgICAgICAgY2FzZSBWZXJ0aWNhbEFsaWduOjpCb3R0b206CiAg
ICAgICAgICAgICAgICAgLy8gTm90ZSB0aGF0IHRoaXMgbG9naWNhbCB0b3AgaXMgbm90IHJlbGF0
aXZlIHRvIHRoZSBwYXJlbnQgaW5saW5lIGJveC4KLSAgICAgICAgICAgICAgICBsb2dpY2FsVG9w
ID0gbGluZUJveC5sb2dpY2FsUmVjdCgpLmhlaWdodCgpIC0gaW5saW5lTGV2ZWxCb3gubGF5b3V0
Qm91bmRzKCkuZGVzY2VudCAtIGlubGluZUxldmVsQm94LmJhc2VsaW5lKCk7CisgICAgICAgICAg
ICAgICAgbG9naWNhbFRvcCA9IG1fbG9naWNhbEhlaWdodCAtIGlubGluZUxldmVsQm94LmxheW91
dEJvdW5kcygpLmRlc2NlbnQgLSBpbmxpbmVMZXZlbEJveC5iYXNlbGluZSgpOwogICAgICAgICAg
ICAgICAgIGJyZWFrOwogICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgICBBU1NF
UlRfTk9UX0lNUExFTUVOVEVEX1lFVCgpOwpAQCAtNjU0LDcgKzY1Nyw3IEBAIElubGluZUZvcm1h
dHRpbmdHZW9tZXRyeTo6SW5saW5lRm9ybWF0dGluZ0dlb21ldHJ5KGNvbnN0IElubGluZUZvcm1h
dHRpbmdDb250ZXh0CiB7CiB9CiAKLUxpbmVCb3ggSW5saW5lRm9ybWF0dGluZ0dlb21ldHJ5Ojps
aW5lQm94Rm9yTGluZUNvbnRlbnQoY29uc3QgTGluZUJ1aWxkZXI6OkxpbmVDb250ZW50JiBsaW5l
Q29udGVudCkgY29uc3QKK0lubGluZUZvcm1hdHRpbmdHZW9tZXRyeTo6TGluZUJveEFuZEdlb21l
dHJ5IElubGluZUZvcm1hdHRpbmdHZW9tZXRyeTo6bGluZUJveEZvckxpbmVDb250ZW50KGNvbnN0
IExpbmVCdWlsZGVyOjpMaW5lQ29udGVudCYgbGluZUNvbnRlbnQpIGNvbnN0CiB7CiAgICAgcmV0
dXJuIExpbmVCb3hCdWlsZGVyKGZvcm1hdHRpbmdDb250ZXh0KCkpLmJ1aWxkKGxpbmVDb250ZW50
KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4
dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdHZW9tZXRyeS5oIGIvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0dlb21ldHJ5LmgK
aW5kZXggZTBlZWY3YzhmZWQyNTI2ZDU2NGZmNTg1MGEyZWU2N2E4YzY1MWIxNy4uYWFjNDE4OWRh
YzNkZjY5NmIyZjUxZjdkOGI1NzgxZWVmMjk1N2FiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0dlb21l
dHJ5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxp
bmUvSW5saW5lRm9ybWF0dGluZ0dlb21ldHJ5LmgKQEAgLTQwLDcgKzQwLDExIEBAIGNsYXNzIElu
bGluZUZvcm1hdHRpbmdHZW9tZXRyeSA6IHB1YmxpYyBGb3JtYXR0aW5nR2VvbWV0cnkgewogcHVi
bGljOgogICAgIElubGluZUZvcm1hdHRpbmdHZW9tZXRyeShjb25zdCBJbmxpbmVGb3JtYXR0aW5n
Q29udGV4dCYpOwogCi0gICAgTGluZUJveCBsaW5lQm94Rm9yTGluZUNvbnRlbnQoY29uc3QgTGlu
ZUJ1aWxkZXI6OkxpbmVDb250ZW50JikgY29uc3Q7CisgICAgc3RydWN0IExpbmVCb3hBbmRHZW9t
ZXRyeSB7CisgICAgICAgIExpbmVCb3ggbGluZUJveDsKKyAgICAgICAgSW5saW5lUmVjdCBsb2dp
Y2FsUmVjdDsKKyAgICB9OworICAgIExpbmVCb3hBbmRHZW9tZXRyeSBsaW5lQm94Rm9yTGluZUNv
bnRlbnQoY29uc3QgTGluZUJ1aWxkZXI6OkxpbmVDb250ZW50JikgY29uc3Q7CiAgICAgSW5saW5l
TGF5b3V0VW5pdCBsb2dpY2FsVG9wRm9yTmV4dExpbmUoY29uc3QgTGluZUJ1aWxkZXI6OkxpbmVD
b250ZW50JiwgSW5saW5lTGF5b3V0VW5pdCBwcmV2aW91c0xpbmVMb2dpY2FsQm90dG9tLCBjb25z
dCBGbG9hdGluZ0NvbnRleHQmKSBjb25zdDsKIAogICAgIENvbnRlbnRIZWlnaHRBbmRNYXJnaW4g
aW5saW5lQmxvY2tDb250ZW50SGVpZ2h0QW5kTWFyZ2luKGNvbnN0IEJveCYsIGNvbnN0IEhvcml6
b250YWxDb25zdHJhaW50cyYsIGNvbnN0IE92ZXJyaWRkZW5WZXJ0aWNhbFZhbHVlcyYpIGNvbnN0
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9p
bmxpbmUvSW5saW5lTGluZUJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGlu
Z0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQm94LmNwcAppbmRleCA2Y2Y0YjZlMDExOThhMmVm
MjdlYWExMmNlMzA1NGQyMTcwYzZkMTRlLi5iZTZkNjczZWJlZDdlMDNkODZiNTNmYTA0NmU3ZDZi
YzYxYmJkZWIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0Nv
bnRleHRzL2lubGluZS9JbmxpbmVMaW5lQm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQm94LmNwcApAQCAtMzQsOSAr
MzQsOCBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogbmFtZXNwYWNlIExheW91dCB7CiAKLUxpbmVC
b3g6OkxpbmVCb3goY29uc3QgQm94JiByb290TGF5b3V0Qm94LCBjb25zdCBJbmxpbmVMYXlvdXRQ
b2ludCYgbG9naWNhbFRvcGxlZnQsIElubGluZUxheW91dFVuaXQgbGluZUxvZ2ljYWxXaWR0aCwg
SW5saW5lTGF5b3V0VW5pdCBjb250ZW50TG9naWNhbExlZnQsIElubGluZUxheW91dFVuaXQgY29u
dGVudExvZ2ljYWxXaWR0aCwgc2l6ZV90IG5vblNwYW5uaW5nSW5saW5lTGV2ZWxCb3hDb3VudCkK
LSAgICA6IG1fbG9naWNhbFJlY3QobG9naWNhbFRvcGxlZnQsIElubGluZUxheW91dFNpemUgeyBs
aW5lTG9naWNhbFdpZHRoLCB7IH0gfSkKLSAgICAsIG1fcm9vdElubGluZUJveChyb290TGF5b3V0
Qm94LCBjb250ZW50TG9naWNhbExlZnQsIElubGluZUxheW91dFNpemUgeyBjb250ZW50TG9naWNh
bFdpZHRoLCB7IH0gfSwgSW5saW5lTGV2ZWxCb3g6OlR5cGU6OlJvb3RJbmxpbmVCb3gpCitMaW5l
Qm94OjpMaW5lQm94KGNvbnN0IEJveCYgcm9vdExheW91dEJveCwgSW5saW5lTGF5b3V0VW5pdCBj
b250ZW50TG9naWNhbExlZnQsIElubGluZUxheW91dFVuaXQgY29udGVudExvZ2ljYWxXaWR0aCwg
c2l6ZV90IG5vblNwYW5uaW5nSW5saW5lTGV2ZWxCb3hDb3VudCkKKyAgICA6IG1fcm9vdElubGlu
ZUJveChyb290TGF5b3V0Qm94LCBjb250ZW50TG9naWNhbExlZnQsIElubGluZUxheW91dFNpemUg
eyBjb250ZW50TG9naWNhbFdpZHRoLCB7IH0gfSwgSW5saW5lTGV2ZWxCb3g6OlR5cGU6OlJvb3RJ
bmxpbmVCb3gpCiB7CiAgICAgbV9ub25Sb290SW5saW5lTGV2ZWxCb3hMaXN0LnJlc2VydmVJbml0
aWFsQ2FwYWNpdHkobm9uU3Bhbm5pbmdJbmxpbmVMZXZlbEJveENvdW50KTsKICAgICBtX25vblJv
b3RJbmxpbmVMZXZlbEJveE1hcC5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KG5vblNwYW5uaW5nSW5s
aW5lTGV2ZWxCb3hDb3VudCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9y
bWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQm94LmggYi9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQm94LmgKaW5kZXggMjE5
Y2NmY2Y4ZWU1N2U5ZDk2MDMyMzZjZDEyMDQ3ZmJiZTNmMGIzOS4uYjVmMWE2MmI5YmY0YTdkYjQ4
MjA5YTIwN2FjNjU1Y2JlNzAxNzY1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJveC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVCb3guaApA
QCAtNjAsOSArNjAsOCBAQCBzdHJ1Y3QgU2ltcGxpZmllZFZlcnRpY2FsQWxpZ25tZW50OwogY2xh
c3MgTGluZUJveCB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAg
TGluZUJveChjb25zdCBCb3gmIHJvb3RMYXlvdXRCb3gsIGNvbnN0IElubGluZUxheW91dFBvaW50
JiBsb2dpY2FsVG9wTGVmdCwgSW5saW5lTGF5b3V0VW5pdCBjb250ZW50TG9naWNhbExlZnQsIElu
bGluZUxheW91dFVuaXQgbGluZUxvZ2ljYWxXaWR0aCwgSW5saW5lTGF5b3V0VW5pdCBjb250ZW50
TG9naWNhbFdpZHRoLCBzaXplX3Qgbm9uU3Bhbm5pbmdJbmxpbmVMZXZlbEJveENvdW50KTsKKyAg
ICBMaW5lQm94KGNvbnN0IEJveCYgcm9vdExheW91dEJveCwgSW5saW5lTGF5b3V0VW5pdCBjb250
ZW50TG9naWNhbExlZnQsIElubGluZUxheW91dFVuaXQgY29udGVudExvZ2ljYWxXaWR0aCwgc2l6
ZV90IG5vblNwYW5uaW5nSW5saW5lTGV2ZWxCb3hDb3VudCk7CiAKLSAgICBjb25zdCBJbmxpbmVS
ZWN0JiBsb2dpY2FsUmVjdCgpIGNvbnN0IHsgcmV0dXJuIG1fbG9naWNhbFJlY3Q7IH0KICAgICAv
LyBOb3RlIHRoYXQgdGhlIGxpbmUgY2FuIGhhdmUgbWFueSBpbmxpbmUgYm94ZXMgYW5kIGJlICJl
bXB0eSIgdGhlIHNhbWUgdGltZSBlLmcuIDxkaXY+PHNwYW4+PC9zcGFuPjxzcGFuPjwvc3Bhbj48
L2Rpdj4KICAgICBib29sIGhhc0NvbnRlbnQoKSBjb25zdCB7IHJldHVybiBtX2hhc0NvbnRlbnQ7
IH0KICAgICBib29sIGhhc0lubGluZUJveCgpIGNvbnN0IHsgcmV0dXJuIG1fYm94VHlwZXMuY29u
dGFpbnMoSW5saW5lTGV2ZWxCb3g6OlR5cGU6OklubGluZUJveCk7IH0KQEAgLTgxLDEzICs4MCw5
IEBAIHB1YmxpYzoKICAgICB1c2luZyBJbmxpbmVMZXZlbEJveExpc3QgPSBWZWN0b3I8SW5saW5l
TGV2ZWxCb3g+OwogICAgIGNvbnN0IElubGluZUxldmVsQm94TGlzdCYgbm9uUm9vdElubGluZUxl
dmVsQm94ZXMoKSBjb25zdCB7IHJldHVybiBtX25vblJvb3RJbmxpbmVMZXZlbEJveExpc3Q7IH0K
IAotICAgIElubGluZUxheW91dFVuaXQgYWxpZ25tZW50QmFzZWxpbmUoKSBjb25zdCB7IHJldHVy
biBtX3Jvb3RJbmxpbmVCb3gubG9naWNhbFRvcCgpICsgbV9yb290SW5saW5lQm94LmJhc2VsaW5l
KCk7IH0KLQogcHJpdmF0ZToKICAgICBmcmllbmQgY2xhc3MgTGluZUJveEJ1aWxkZXI7CiAKLSAg
ICB2b2lkIHNldExvZ2ljYWxIZWlnaHQoSW5saW5lTGF5b3V0VW5pdCBsb2dpY2FsSGVpZ2h0KSB7
IG1fbG9naWNhbFJlY3Quc2V0SGVpZ2h0KGxvZ2ljYWxIZWlnaHQpOyB9Ci0KICAgICB2b2lkIGFk
ZElubGluZUxldmVsQm94KElubGluZUxldmVsQm94JiYpOwogICAgIElubGluZUxldmVsQm94TGlz
dCYgbm9uUm9vdElubGluZUxldmVsQm94ZXMoKSB7IHJldHVybiBtX25vblJvb3RJbmxpbmVMZXZl
bEJveExpc3Q7IH0KIApAQCAtOTksNyArOTQsNiBAQCBwcml2YXRlOgogICAgIHZvaWQgc2V0SGFz
Q29udGVudChib29sIGhhc0NvbnRlbnQpIHsgbV9oYXNDb250ZW50ID0gaGFzQ29udGVudDsgfQog
CiBwcml2YXRlOgotICAgIElubGluZVJlY3QgbV9sb2dpY2FsUmVjdDsKICAgICBib29sIG1faGFz
Q29udGVudCB7IGZhbHNlIH07CiAgICAgT3B0aW9uU2V0PElubGluZUxldmVsQm94OjpUeXBlPiBt
X2JveFR5cGVzOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRp
b24vTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250ZW50QnVpbGRlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250ZW50QnVp
bGRlci5jcHAKaW5kZXggMDc4ZDg0ZGUyZmJhOTEzMGNiMmIyNjMwNTY2NzEyMTZlY2EyZWVkZS4u
ZThhOTAyYmYxYzI2NjFhYjM2MjhmMmM2OTJiOTIwYWYwOTc5YWIxNSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uSW5saW5lQ29u
dGVudEJ1aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9M
YXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnRCdWlsZGVyLmNwcApAQCAtMzg1LDcgKzM4NSw3
IEBAIHZvaWQgSW5saW5lQ29udGVudEJ1aWxkZXI6OmNyZWF0ZURpc3BsYXlOb25Sb290SW5saW5l
Qm94ZXMoY29uc3QgTGF5b3V0OjpJbmxpbmVGCiAgICAgICAgIGlmICghbGluZUJveC5oYXNJbmxp
bmVCb3goKSkKICAgICAgICAgICAgIGNvbnRpbnVlOwogCi0gICAgICAgIGF1dG8mIGxpbmVCb3hM
b2dpY2FsUmVjdCA9IGxpbmVCb3gubG9naWNhbFJlY3QoKTsKKyAgICAgICAgYXV0byBsaW5lQm94
TG9naWNhbFJlY3QgPSBpbmxpbmVGb3JtYXR0aW5nU3RhdGUubGluZXMoKVtsaW5lSW5kZXhdLmxp
bmVCb3hMb2dpY2FsUmVjdCgpOwogICAgICAgICBmb3IgKGF1dG8mIGlubGluZUxldmVsQm94IDog
bGluZUJveC5ub25Sb290SW5saW5lTGV2ZWxCb3hlcygpKSB7CiAgICAgICAgICAgICBpZiAoIWlu
bGluZUxldmVsQm94LmlzSW5saW5lQm94KCkpCiAgICAgICAgICAgICAgICAgY29udGludWU7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>435935</attachid>
            <date>2021-08-19 20:13:16 -0700</date>
            <delta_ts>2021-08-20 08:49:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-228050-20210819201315.patch</filename>
            <type>text/plain</type>
            <size>24829</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxMjg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjIwZGYxYzc1YjRkYzdk
MzMwMDA0MDE1ZGNjYjBmNDA2ZGZjZjZhMC4uMWIwMTBiNmRlMmYwMmI1ZDE3MjJkNjIxZjAyOGM2
MDdjZDJlOGIwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDIxLTA4LTE5ICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtJRkNdIExpbmVCb3gg
cHJvdmlkZXMgcmVkdW5kYW50IGdlb21ldHJ5IGluZm9ybWF0aW9uCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjgwNTAKKworICAgICAgICBSZXZpZXdl
ZCBieSBTYW0gV2VpbmlnLgorCisgICAgICAgIExpbmVCb3hHZW9tZXRyeSBjbGFzcyBwcm92aWRl
cyB0aGUgbGluZSdzIGdlb21ldHJ5LiBUaGlzIGlzIGFsc28gaW4gcHJlcGFyYXRpb24gZm9yIG1h
a2luZyBMaW5lQm94IGEgbm9uLXBlcnNpc3RlbnQgdHlwZSBvZiBzdHJ1Y3R1cmUuCisKKyAgICAg
ICAgKiBsYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVGb3JtYXR0aW5nQ29u
dGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OklubGluZUZvcm1hdHRpbmdDb250
ZXh0Ojpjb21wdXRlR2VvbWV0cnlGb3JMaW5lQ29udGVudCk6CisgICAgICAgICogbGF5b3V0L2Zv
cm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0dlb21ldHJ5LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZUJveEJ1aWxkZXI6OmJ1aWxkKToKKyAgICAgICAg
KFdlYkNvcmU6OkxheW91dDo6TGluZUJveEJ1aWxkZXI6OmNvbnN0cnVjdEFuZEFsaWduSW5saW5l
TGV2ZWxCb3hlcyk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCb3hCdWlsZGVyOjpj
b21wdXRlTGluZUJveEhlaWdodEFuZEFsaWduSW5saW5lTGV2ZWxCb3hlc1ZlcnRpY2FsbHkpOgor
ICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVGb3JtYXR0aW5nR2VvbWV0cnk6OnZlcnRp
Y2FsbHlBZGp1c3RlZExpbmVGb3JMaW5lQ29udGVudCBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpMYXlvdXQ6OklubGluZUZvcm1hdHRpbmdHZW9tZXRyeTo6bGluZUJveEZvckxpbmVDb250ZW50
IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBsYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lu
bGluZS9JbmxpbmVGb3JtYXR0aW5nR2VvbWV0cnkuaDoKKyAgICAgICAgKiBsYXlvdXQvZm9ybWF0
dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkxheW91dDo6TGluZUJveDo6TGluZUJveCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6Om1f
cm9vdElubGluZUJveCk6IERlbGV0ZWQuCisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250
ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJveC5oOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpM
aW5lQm94Ojpsb2dpY2FsUmVjdCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpM
YXlvdXQ6OkxpbmVCb3g6OmFsaWdubWVudEJhc2VsaW5lIGNvbnN0KTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OkxheW91dDo6TGluZUJveDo6c2V0TG9naWNhbEhlaWdodCk6IERlbGV0ZWQu
CisgICAgICAgICogbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uSW5saW5lQ29u
dGVudEJ1aWxkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0SW50ZWdyYXRpb246Oklu
bGluZUNvbnRlbnRCdWlsZGVyOjpjcmVhdGVEaXNwbGF5Tm9uUm9vdElubGluZUJveGVzIGNvbnN0
KToKKwogMjAyMS0wOC0xOSAgQWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAg
ICAgW0xGQ11bSUZDXSBSZW1vdmUgcmVkdW5kYW50IGlubGluZUJveEVuZFNldCBpbiBJbmxpbmVG
b3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZUdlb21ldHJ5Rm9yTGluZUNvbnRlbnQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Rpc3BsYXkvY3NzL0Rpc3BsYXlCb3hGYWN0b3J5LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2Rpc3BsYXkvY3NzL0Rpc3BsYXlCb3hGYWN0b3J5LmNwcAppbmRleCBjM2I5
NjQzMmVjZjc5NjAyNTI0ZGQ2MDM0NzEyYTAxYTI2ZTM2YTc0Li5jODg4ZTg3NjAyM2Q4NzYyY2Fh
MzI3ZTQwODIzMzIwM2U1OTgzYzk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kaXNwbGF5
L2Nzcy9EaXNwbGF5Qm94RmFjdG9yeS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZGlzcGxheS9j
c3MvRGlzcGxheUJveEZhY3RvcnkuY3BwCkBAIC0xNDMsNyArMTQzLDcgQEAgc3RkOjp1bmlxdWVf
cHRyPEJveD4gQm94RmFjdG9yeTo6ZGlzcGxheUJveEZvckxheW91dEJveChjb25zdCBMYXlvdXQ6
OkJveCYgbGF5b3UKICAgICByZXR1cm4gbWFrZVVuaXF1ZTxCb3g+KG1fdHJlZUJ1aWxkZXIudHJl
ZSgpLCBwaXhlbFNuYXBwZWRCb3JkZXJCb3hSZWN0LCBXVEZNb3ZlKHN0eWxlKSwgZmxhZ3MpOwog
fQogCi1zdGQ6OnVuaXF1ZV9wdHI8Qm94PiBCb3hGYWN0b3J5OjpkaXNwbGF5Qm94Rm9yVGV4dFJ1
bihjb25zdCBMYXlvdXQ6OkxpbmVSdW4mIHJ1biwgY29uc3QgTGF5b3V0OjpJbmxpbmVMaW5lR2Vv
bWV0cnkmIGxpbmVHZW9tZXRyeSwgY29uc3QgQ29udGFpbmluZ0Jsb2NrQ29udGV4dCYgY29udGFp
bmluZ0Jsb2NrQ29udGV4dCkgY29uc3QKK3N0ZDo6dW5pcXVlX3B0cjxCb3g+IEJveEZhY3Rvcnk6
OmRpc3BsYXlCb3hGb3JUZXh0UnVuKGNvbnN0IExheW91dDo6TGluZVJ1biYgcnVuLCBjb25zdCBM
YXlvdXQ6OkxpbmVHZW9tZXRyeSYgbGluZUdlb21ldHJ5LCBjb25zdCBDb250YWluaW5nQmxvY2tD
b250ZXh0JiBjb250YWluaW5nQmxvY2tDb250ZXh0KSBjb25zdAogewogICAgIEFTU0VSVChydW4u
dGV4dCgpKTsKICAgICBhdXRvIGxpbmVSZWN0ID0gbGluZUdlb21ldHJ5LmxpbmVCb3hMb2dpY2Fs
UmVjdCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZGlzcGxheS9jc3MvRGlzcGxheUJv
eEZhY3RvcnkuaCBiL1NvdXJjZS9XZWJDb3JlL2Rpc3BsYXkvY3NzL0Rpc3BsYXlCb3hGYWN0b3J5
LmgKaW5kZXggYzg0MzFjOTBkYTMyMTMwMjkwZjc3YWQ1OTdkMDkzZTVlMGVjOWYxYi4uNzA1Yjg3
Y2Y4ZGIzNTMyOWY5MTk5ODA2ZWQ4ODY5YzBjNDEyMDU4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZGlzcGxheS9jc3MvRGlzcGxheUJveEZhY3RvcnkuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kaXNwbGF5L2Nzcy9EaXNwbGF5Qm94RmFjdG9yeS5oCkBAIC00MCw3ICs0MCw3IEBAIG5hbWVz
cGFjZSBMYXlvdXQgewogY2xhc3MgQm94OwogY2xhc3MgQm94R2VvbWV0cnk7CiBjbGFzcyBDb250
YWluZXJCb3g7Ci1jbGFzcyBJbmxpbmVMaW5lR2VvbWV0cnk7CitjbGFzcyBMaW5lR2VvbWV0cnk7
CiBzdHJ1Y3QgTGluZVJ1bjsKIH0KIApAQCAtNzQsNyArNzQsNyBAQCBwdWJsaWM6CiAgICAgc3Rk
Ojp1bmlxdWVfcHRyPEJveD4gZGlzcGxheUJveEZvckJvZHlCb3goY29uc3QgTGF5b3V0OjpCb3gm
LCBjb25zdCBMYXlvdXQ6OkJveEdlb21ldHJ5JiwgY29uc3QgQ29udGFpbmluZ0Jsb2NrQ29udGV4
dCYsIFJvb3RCYWNrZ3JvdW5kUHJvcGFnYXRpb24pIGNvbnN0OwogICAgIHN0ZDo6dW5pcXVlX3B0
cjxCb3g+IGRpc3BsYXlCb3hGb3JMYXlvdXRCb3goY29uc3QgTGF5b3V0OjpCb3gmLCBjb25zdCBM
YXlvdXQ6OkJveEdlb21ldHJ5JiwgY29uc3QgQ29udGFpbmluZ0Jsb2NrQ29udGV4dCYpIGNvbnN0
OwogCi0gICAgc3RkOjp1bmlxdWVfcHRyPEJveD4gZGlzcGxheUJveEZvclRleHRSdW4oY29uc3Qg
TGF5b3V0OjpMaW5lUnVuJiwgY29uc3QgTGF5b3V0OjpJbmxpbmVMaW5lR2VvbWV0cnkmLCBjb25z
dCBDb250YWluaW5nQmxvY2tDb250ZXh0JikgY29uc3Q7CisgICAgc3RkOjp1bmlxdWVfcHRyPEJv
eD4gZGlzcGxheUJveEZvclRleHRSdW4oY29uc3QgTGF5b3V0OjpMaW5lUnVuJiwgY29uc3QgTGF5
b3V0OjpMaW5lR2VvbWV0cnkmLCBjb25zdCBDb250YWluaW5nQmxvY2tDb250ZXh0JikgY29uc3Q7
CiAKIHByaXZhdGU6CiAgICAgc3RkOjp1bmlxdWVfcHRyPEJveD4gZGlzcGxheUJveEZvckxheW91
dEJveChjb25zdCBMYXlvdXQ6OkJveCYsIGNvbnN0IExheW91dDo6Qm94R2VvbWV0cnkmLCBjb25z
dCBDb250YWluaW5nQmxvY2tDb250ZXh0JiwgY29uc3QgUmVuZGVyU3R5bGUqIHN0eWxlRm9yQmFj
a2dyb3VuZCwgU3R5bGUmJikgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVG
b3JtYXR0aW5nQ29udGV4dC5jcHAKaW5kZXggMDFiMWJkODg3NjcxYzU5YTk4YjNmNGEzNWMxNWE5
NTJiNTQ0NjE4ZS4uOTdkYzNjNDQyNzBjYzQ4ZGEyNTcyYjIyZjFlODBjNmFhZDliZTg0NyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUv
SW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9m
b3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmNwcApAQCAt
NDY3LDExICs0NjcsMTUgQEAgSW5saW5lUmVjdCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6Y29t
cHV0ZUdlb21ldHJ5Rm9yTGluZUNvbnRlbnQoY29uc3QgTGluZUJ1aWwKIHsKICAgICBhdXRvJiBm
b3JtYXR0aW5nU3RhdGUgPSB0aGlzLT5mb3JtYXR0aW5nU3RhdGUoKTsKICAgICBhdXRvJiBmb3Jt
YXR0aW5nR2VvbWV0cnkgPSB0aGlzLT5mb3JtYXR0aW5nR2VvbWV0cnkoKTsKKyAgICBhdXRvIGxp
bmVJbmRleCA9IGZvcm1hdHRpbmdTdGF0ZS5saW5lcygpLnNpemUoKTsKKworICAgIGF1dG8gbGlu
ZUJveEFuZEdlb21ldHJ5ID0gZm9ybWF0dGluZ0dlb21ldHJ5LmxpbmVCb3hGb3JMaW5lQ29udGVu
dChsaW5lQ29udGVudCk7CisgICAgZm9ybWF0dGluZ1N0YXRlLmFkZExpbmVCb3goV1RGTW92ZShs
aW5lQm94QW5kR2VvbWV0cnkubGluZUJveCkpOworICAgIGZvcm1hdHRpbmdTdGF0ZS5hZGRMaW5l
KGxpbmVCb3hBbmRHZW9tZXRyeS5saW5lR2VvbWV0cnkpOwogCi0gICAgZm9ybWF0dGluZ1N0YXRl
LmFkZExpbmVCb3goZm9ybWF0dGluZ0dlb21ldHJ5LmxpbmVCb3hGb3JMaW5lQ29udGVudChsaW5l
Q29udGVudCkpOwogICAgIGNvbnN0IGF1dG8mIGxpbmVCb3ggPSBmb3JtYXR0aW5nU3RhdGUubGlu
ZUJveGVzKCkubGFzdCgpOwotICAgIGF1dG8gbGluZUluZGV4ID0gZm9ybWF0dGluZ1N0YXRlLmxp
bmVzKCkuc2l6ZSgpOwotICAgIGF1dG8mIGxpbmVCb3hMb2dpY2FsUmVjdCA9IGxpbmVCb3gubG9n
aWNhbFJlY3QoKTsKKyAgICBhdXRvIGxpbmVCb3hMb2dpY2FsUmVjdCA9IGxpbmVCb3hBbmRHZW9t
ZXRyeS5saW5lR2VvbWV0cnkubGluZUJveExvZ2ljYWxSZWN0KCk7CisKICAgICBpZiAoIWxpbmVC
b3guaGFzQ29udGVudCgpKSB7CiAgICAgICAgIC8vIEZhc3QgcGF0aCBmb3IgbGluZXMgd2l0aCBu
byBjb250ZW50IGUuZy4gPGRpdj48c3Bhbj48L3NwYW4+PHNwYW4+PC9zcGFuPjwvZGl2PiBvciA8
c3Bhbj48ZGl2PjwvZGl2Pjwvc3Bhbj4gd2hlcmUgd2UgY29uc3RydWN0IGVtcHR5IHByZSBhbmQg
cG9zdCBibG9ja3MuCiAgICAgICAgIEFTU0VSVCghbGluZUJveC5yb290SW5saW5lQm94KCkuaGFz
Q29udGVudCgpICYmICFsaW5lQm94TG9naWNhbFJlY3QuaGVpZ2h0KCkpOwpAQCAtNDk1LDE0ICs0
OTksMTAgQEAgSW5saW5lUmVjdCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZUdlb21l
dHJ5Rm9yTGluZUNvbnRlbnQoY29uc3QgTGluZUJ1aWwKICAgICAgICAgICAgIH0KICAgICAgICAg
fTsKICAgICAgICAgdXBkYXRlSW5saW5lQm94ZXNHZW9tZXRyeUlmQXBwbGljYWJsZSgpOwotICAg
ICAgICBmb3JtYXR0aW5nU3RhdGUuYWRkTGluZSh7IGxpbmVCb3hMb2dpY2FsUmVjdCwgeyB7IH0s
IHsgfSB9LCB7IH0sIHsgfSwgeyB9IH0pOwogICAgICAgICByZXR1cm4gbGluZUJveExvZ2ljYWxS
ZWN0OwogICAgIH0KIAotICAgIGF1dG8gcm9vdElubGluZUJveExvZ2ljYWxSZWN0ID0gbGluZUJv
eC5sb2dpY2FsUmVjdEZvclJvb3RJbmxpbmVCb3goKTsKLSAgICBhdXRvIGVuY2xvc2luZ1RvcEFu
ZEJvdHRvbSA9IElubGluZUxpbmVHZW9tZXRyeTo6RW5jbG9zaW5nVG9wQW5kQm90dG9tIHsgcm9v
dElubGluZUJveExvZ2ljYWxSZWN0LnRvcCgpLCByb290SW5saW5lQm94TG9naWNhbFJlY3QuYm90
dG9tKCkgfTsKICAgICBIYXNoU2V0PGNvbnN0IEJveCo+IGlubGluZUJveFN0YXJ0U2V0OwotCiAg
ICAgYXV0byBjb25zdHJ1Y3RMaW5lUnVuc0FuZFVwZGF0ZUJveEdlb21ldHJ5ID0gWyZdIHsKICAg
ICAgICAgLy8gQ3JlYXRlIHRoZSBpbmxpbmUgcnVucyBvbiB0aGUgY3VycmVudCBsaW5lLiBUaGlz
IGlzIG1vc3RseSB0ZXh0IGFuZCBhdG9taWMgaW5saW5lIHJ1bnMuCiAgICAgICAgIGZvciAoYXV0
byYgbGluZVJ1biA6IGxpbmVDb250ZW50LnJ1bnMpIHsKQEAgLTUzOSwxMSArNTM5LDYgQEAgSW5s
aW5lUmVjdCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZUdlb21ldHJ5Rm9yTGluZUNv
bnRlbnQoY29uc3QgTGluZUJ1aWwKICAgICAgICAgICAgICAgICAgICAgYm9yZGVyQm94TG9naWNh
bFRvcExlZnQgKz0gZm9ybWF0dGluZ0dlb21ldHJ5LmluRmxvd1Bvc2l0aW9uZWRQb3NpdGlvbk9m
ZnNldChsYXlvdXRCb3gsIGhvcml6b250YWxDb25zdHJhaW50cyk7CiAgICAgICAgICAgICAgICAg
Ly8gQXRvbWljIGlubGluZSBib3hlcyBhcmUgYWxsIHNldC4gVGhlaXIgbWFyZ2luL2JvcmRlci9j
b250ZW50IGJveCBnZW9tZXRyaWVzIGFyZSBhbHJlYWR5IGNvbXB1dGVkLiBXZSBqdXN0IGhhdmUg
dG8gcG9zaXRpb24gdGhlbSBoZXJlLgogICAgICAgICAgICAgICAgIGJveEdlb21ldHJ5LnNldExv
Z2ljYWxUb3BMZWZ0KHRvTGF5b3V0UG9pbnQoYm9yZGVyQm94TG9naWNhbFRvcExlZnQpKTsKLQot
ICAgICAgICAgICAgICAgIGF1dG8gYm9yZGVyQm94VG9wID0gYm9yZGVyQm94TG9naWNhbFRvcExl
ZnQueSgpOwotICAgICAgICAgICAgICAgIGF1dG8gYm9yZGVyQm94Qm90dG9tID0gYm9yZGVyQm94
VG9wICsgYm94R2VvbWV0cnkuYm9yZGVyQm94SGVpZ2h0KCk7Ci0gICAgICAgICAgICAgICAgZW5j
bG9zaW5nVG9wQW5kQm90dG9tLnRvcCA9IHN0ZDo6bWluKGVuY2xvc2luZ1RvcEFuZEJvdHRvbS50
b3AsIGJvcmRlckJveFRvcCk7Ci0gICAgICAgICAgICAgICAgZW5jbG9zaW5nVG9wQW5kQm90dG9t
LmJvdHRvbSA9IHN0ZDo6bWF4KGVuY2xvc2luZ1RvcEFuZEJvdHRvbS5ib3R0b20sIGJvcmRlckJv
eEJvdHRvbSk7CiAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICB9CiAgICAg
ICAgICAgICBpZiAobGluZVJ1bi5pc0lubGluZUJveFN0YXJ0KCkpIHsKQEAgLTU1MSwxOSArNTQ2
LDkgQEAgSW5saW5lUmVjdCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZUdlb21ldHJ5
Rm9yTGluZUNvbnRlbnQoY29uc3QgTGluZUJ1aWwKICAgICAgICAgICAgICAgICBhdXRvIGlubGlu
ZUJveExvZ2ljYWxSZWN0ID0gbGluZUJveC5sb2dpY2FsQm9yZGVyQm94Rm9ySW5saW5lQm94KGxh
eW91dEJveCwgYm94R2VvbWV0cnkpOwogICAgICAgICAgICAgICAgIGZvcm1hdHRpbmdTdGF0ZS5h
ZGRMaW5lUnVuKHsgbGluZUluZGV4LCBsYXlvdXRCb3gsIGlubGluZUJveExvZ2ljYWxSZWN0LCBs
aW5lUnVuLmV4cGFuc2lvbigpLCB7IH0gfSk7CiAgICAgICAgICAgICAgICAgaW5saW5lQm94U3Rh
cnRTZXQuYWRkKCZsYXlvdXRCb3gpOwotICAgICAgICAgICAgICAgIGVuY2xvc2luZ1RvcEFuZEJv
dHRvbS50b3AgPSBzdGQ6Om1pbihlbmNsb3NpbmdUb3BBbmRCb3R0b20udG9wLCBpbmxpbmVCb3hM
b2dpY2FsUmVjdC50b3AoKSk7CiAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAg
ICB9Ci0gICAgICAgICAgICBpZiAobGluZVJ1bi5pc0lubGluZUJveEVuZCgpKSB7Ci0gICAgICAg
ICAgICAgICAgaWYgKCFpbmxpbmVCb3hTdGFydFNldC5jb250YWlucygmbGF5b3V0Qm94KSkgewot
ICAgICAgICAgICAgICAgICAgICAvLyBBbiBpbmxpbmUgYm94IGNhbiBzcGFuIG11bHRpcGxlIGxp
bmVzLiBVc2UgdGhlIFtpbmxpbmUgYm94IGVuZF0gc2lnbmFsIHRvIGluY2x1ZGUgaXQgaW4gdGhl
IGVuY2xvc2luZyBnZW9tZXRyeQotICAgICAgICAgICAgICAgICAgICAvLyBvbmx5IHdoZW4gaXQg
c3RhcnRzIGF0IGEgcHJldmlvdXMgbGluZS4KLSAgICAgICAgICAgICAgICAgICAgYXV0byBpbmxp
bmVCb3hMb2dpY2FsUmVjdCA9IGxpbmVCb3gubG9naWNhbEJvcmRlckJveEZvcklubGluZUJveChs
YXlvdXRCb3gsIGZvcm1hdHRpbmdTdGF0ZS5ib3hHZW9tZXRyeShsYXlvdXRCb3gpKTsKLSAgICAg
ICAgICAgICAgICAgICAgZW5jbG9zaW5nVG9wQW5kQm90dG9tLmJvdHRvbSA9IHN0ZDo6bWF4KGVu
Y2xvc2luZ1RvcEFuZEJvdHRvbS5ib3R0b20sIGlubGluZUJveExvZ2ljYWxSZWN0LmJvdHRvbSgp
KTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAg
ICAgICB9Ci0gICAgICAgICAgICBBU1NFUlQobGluZVJ1bi5pc1dvcmRCcmVha09wcG9ydHVuaXR5
KCkpOworICAgICAgICAgICAgQVNTRVJUKGxpbmVSdW4uaXNJbmxpbmVCb3hFbmQoKSB8fCBsaW5l
UnVuLmlzV29yZEJyZWFrT3Bwb3J0dW5pdHkoKSk7CiAgICAgICAgIH0KICAgICB9OwogICAgIGNv
bnN0cnVjdExpbmVSdW5zQW5kVXBkYXRlQm94R2VvbWV0cnkoKTsKQEAgLTYwMywxMiArNTg4LDcg
QEAgSW5saW5lUmVjdCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZUdlb21ldHJ5Rm9y
TGluZUNvbnRlbnQoY29uc3QgTGluZUJ1aWwKICAgICAgICAgfQogICAgIH07CiAgICAgdXBkYXRl
Qm94R2VvbWV0cnlGb3JJbmxpbmVCb3hlcygpOwotCi0gICAgYXV0byBjb25zdHJ1Y3RMaW5lR2Vv
bWV0cnkgPSBbJl0gewotICAgICAgICBmb3JtYXR0aW5nU3RhdGUuYWRkTGluZSh7IGxpbmVCb3hM
b2dpY2FsUmVjdCwgZW5jbG9zaW5nVG9wQW5kQm90dG9tLCBsaW5lQm94LmFsaWdubWVudEJhc2Vs
aW5lKCksIHJvb3RJbmxpbmVCb3hMb2dpY2FsUmVjdC5sZWZ0KCksIGxpbmVDb250ZW50LmNvbnRl
bnRMb2dpY2FsV2lkdGggfSk7Ci0gICAgfTsKLSAgICBjb25zdHJ1Y3RMaW5lR2VvbWV0cnkoKTsK
LQorICAgIAogICAgIHJldHVybiBsaW5lQm94TG9naWNhbFJlY3Q7CiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZv
cm1hdHRpbmdHZW9tZXRyeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0Nv
bnRleHRzL2lubGluZS9JbmxpbmVGb3JtYXR0aW5nR2VvbWV0cnkuY3BwCmluZGV4IDgzZDgxMWYx
NjQ4NTU1ODgxMTczZmNjNmY1OTE1YWY5YTI5Y2M3M2UuLjY3MmQyMjdiZWM5ZDEyYTE4MmZhZWE2
ZDBiMDk2ZjAyNTBkZDc3OWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3Jt
YXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdHZW9tZXRyeS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9y
bWF0dGluZ0dlb21ldHJ5LmNwcApAQCAtNDMsNyArNDMsOCBAQCBuYW1lc3BhY2UgTGF5b3V0IHsK
IGNsYXNzIExpbmVCb3hCdWlsZGVyIHsKIHB1YmxpYzoKICAgICBMaW5lQm94QnVpbGRlcihjb25z
dCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dCYpOwotICAgIExpbmVCb3ggYnVpbGQoY29uc3QgTGlu
ZUJ1aWxkZXI6OkxpbmVDb250ZW50Jik7CisKKyAgICBJbmxpbmVGb3JtYXR0aW5nR2VvbWV0cnk6
OkxpbmVCb3hBbmRHZW9tZXRyeSBidWlsZChjb25zdCBMaW5lQnVpbGRlcjo6TGluZUNvbnRlbnQm
KTsKIAogcHJpdmF0ZToKICAgICBzdHJ1Y3QgU2ltcGxpZmllZFZlcnRpY2FsQWxpZ25tZW50IHsK
QEAgLTgxLDYgKzgyLDcgQEAgcHJpdmF0ZToKIAogcHJpdmF0ZToKICAgICBjb25zdCBJbmxpbmVG
b3JtYXR0aW5nQ29udGV4dCYgbV9pbmxpbmVGb3JtYXR0aW5nQ29udGV4dDsKKyAgICBJbmxpbmVM
YXlvdXRVbml0IG1fbG9naWNhbEhlaWdodCB7IDAgfTsKIH07CiAKIHN0YXRpYyBJbmxpbmVMYXlv
dXRVbml0IGhhbmdpbmdHbHlwaFdpZHRoKElubGluZUxheW91dFVuaXQgZXh0cmFIb3Jpem9udGFs
U3BhY2UsIGNvbnN0IExpbmU6OlJ1bkxpc3QmIHJ1bnMsIGJvb2wgaXNMYXN0TGluZVdpdGhJbmxp
bmVDb250ZW50KQpAQCAtMTU2LDE1ICsxNTgsMzYgQEAgTGluZUJveEJ1aWxkZXI6OkxpbmVCb3hC
dWlsZGVyKGNvbnN0IElubGluZUZvcm1hdHRpbmdDb250ZXh0JiBpbmxpbmVGb3JtYXR0aW5nQ28K
IHsKIH0KIAotTGluZUJveCBMaW5lQm94QnVpbGRlcjo6YnVpbGQoY29uc3QgTGluZUJ1aWxkZXI6
OkxpbmVDb250ZW50JiBsaW5lQ29udGVudCkKK0lubGluZUZvcm1hdHRpbmdHZW9tZXRyeTo6TGlu
ZUJveEFuZEdlb21ldHJ5IExpbmVCb3hCdWlsZGVyOjpidWlsZChjb25zdCBMaW5lQnVpbGRlcjo6
TGluZUNvbnRlbnQmIGxpbmVDb250ZW50KQogewogICAgIGF1dG8mIHJ1bnMgPSBsaW5lQ29udGVu
dC5ydW5zOwotICAgIGF1dG8gbGluZUxvZ2ljYWxXaWR0aCA9IGxpbmVDb250ZW50LmxpbmVMb2dp
Y2FsV2lkdGg7CiAgICAgYXV0byBjb250ZW50TG9naWNhbFdpZHRoID0gbGluZUNvbnRlbnQuY29u
dGVudExvZ2ljYWxXaWR0aDsKLSAgICBhdXRvIGhvcml6b250YWxBbGlnbm1lbnRPZmZzZXQgPSBM
YXlvdXQ6Omhvcml6b250YWxBbGlnbm1lbnRPZmZzZXQocnVucywgcm9vdEJveCgpLnN0eWxlKCku
dGV4dEFsaWduKCksIGxpbmVMb2dpY2FsV2lkdGgsIGNvbnRlbnRMb2dpY2FsV2lkdGgsIGxpbmVD
b250ZW50LmlzTGFzdExpbmVXaXRoSW5saW5lQ29udGVudCk7Ci0gICAgYXV0byBsaW5lQm94ID0g
TGluZUJveCB7IHJvb3RCb3goKSwgbGluZUNvbnRlbnQubG9naWNhbFRvcExlZnQsIGxpbmVMb2dp
Y2FsV2lkdGgsIGhvcml6b250YWxBbGlnbm1lbnRPZmZzZXQudmFsdWVfb3IoSW5saW5lTGF5b3V0
VW5pdCB7IH0pLCBjb250ZW50TG9naWNhbFdpZHRoLCBsaW5lQ29udGVudC5ub25TcGFubmluZ0lu
bGluZUxldmVsQm94Q291bnQgfTsKKyAgICBhdXRvIGNvbnRlbnRMb2dpY2FsTGVmdCA9IExheW91
dDo6aG9yaXpvbnRhbEFsaWdubWVudE9mZnNldChydW5zLCByb290Qm94KCkuc3R5bGUoKS50ZXh0
QWxpZ24oKSwgbGluZUNvbnRlbnQubGluZUxvZ2ljYWxXaWR0aCwgY29udGVudExvZ2ljYWxXaWR0
aCwgbGluZUNvbnRlbnQuaXNMYXN0TGluZVdpdGhJbmxpbmVDb250ZW50KS52YWx1ZV9vcihJbmxp
bmVMYXlvdXRVbml0IHsgfSk7CisgICAgYXV0byBsaW5lQm94ID0gTGluZUJveCB7IHJvb3RCb3go
KSwgY29udGVudExvZ2ljYWxMZWZ0LCBjb250ZW50TG9naWNhbFdpZHRoLCBsaW5lQ29udGVudC5u
b25TcGFubmluZ0lubGluZUxldmVsQm94Q291bnQgfTsKKwogICAgIGNvbnN0cnVjdEFuZEFsaWdu
SW5saW5lTGV2ZWxCb3hlcyhsaW5lQm94LCBydW5zKTsKLSAgICByZXR1cm4gbGluZUJveDsKKwor
ICAgIGF1dG8gbGluZUdlb21ldHJ5ID0gWyZdIHsKKyAgICAgICAgYXV0byBsaW5lQm94TG9naWNh
bFJlY3QgPSBJbmxpbmVSZWN0IHsgbGluZUNvbnRlbnQubG9naWNhbFRvcExlZnQsIGxpbmVDb250
ZW50LmxpbmVMb2dpY2FsV2lkdGgsIG1fbG9naWNhbEhlaWdodCB9OworICAgICAgICBhdXRvJiBy
b290SW5saW5lQm94ID0gbGluZUJveC5yb290SW5saW5lQm94KCk7CisgICAgICAgIGF1dG8gZW5j
bG9zaW5nVG9wQW5kQm90dG9tID0gTGluZUdlb21ldHJ5OjpFbmNsb3NpbmdUb3BBbmRCb3R0b20g
eyByb290SW5saW5lQm94LmxvZ2ljYWxUb3AoKSwgcm9vdElubGluZUJveC5sb2dpY2FsQm90dG9t
KCkgfTsKKyAgICAgICAgCisgICAgICAgIGZvciAoYXV0byYgaW5saW5lTGV2ZWxCb3ggOiBsaW5l
Qm94Lm5vblJvb3RJbmxpbmVMZXZlbEJveGVzKCkpIHsKKyAgICAgICAgICAgIGF1dG8mIGxheW91
dEJveCA9IGlubGluZUxldmVsQm94LmxheW91dEJveCgpOworICAgICAgICAgICAgYXV0byBib3Jk
ZXJCb3ggPSBJbmxpbmVSZWN0IHsgfTsKKworICAgICAgICAgICAgaWYgKGlubGluZUxldmVsQm94
LmlzQXRvbWljSW5saW5lTGV2ZWxCb3goKSkKKyAgICAgICAgICAgICAgICBib3JkZXJCb3ggPSBs
aW5lQm94LmxvZ2ljYWxCb3JkZXJCb3hGb3JBdG9taWNJbmxpbmVMZXZlbEJveChsYXlvdXRCb3gs
IGZvcm1hdHRpbmdDb250ZXh0KCkuZ2VvbWV0cnlGb3JCb3gobGF5b3V0Qm94KSk7CisgICAgICAg
ICAgICBlbHNlIGlmIChpbmxpbmVMZXZlbEJveC5pc0lubGluZUJveCgpKQorICAgICAgICAgICAg
ICAgIGJvcmRlckJveCA9IGxpbmVCb3gubG9naWNhbEJvcmRlckJveEZvcklubGluZUJveChsYXlv
dXRCb3gsIGZvcm1hdHRpbmdDb250ZXh0KCkuZ2VvbWV0cnlGb3JCb3gobGF5b3V0Qm94KSk7Cisg
ICAgICAgICAgICAKKyAgICAgICAgICAgIGJvcmRlckJveC5tb3ZlQnkobGluZUJveExvZ2ljYWxS
ZWN0LnRvcExlZnQoKSk7CisgICAgICAgICAgICBlbmNsb3NpbmdUb3BBbmRCb3R0b20udG9wID0g
c3RkOjptaW4oZW5jbG9zaW5nVG9wQW5kQm90dG9tLnRvcCwgYm9yZGVyQm94LnRvcCgpKTsKKyAg
ICAgICAgICAgIGVuY2xvc2luZ1RvcEFuZEJvdHRvbS5ib3R0b20gPSBzdGQ6Om1heChlbmNsb3Np
bmdUb3BBbmRCb3R0b20uYm90dG9tLCBib3JkZXJCb3guYm90dG9tKCkpOworICAgICAgICB9Cisg
ICAgICAgIHJldHVybiBMaW5lR2VvbWV0cnkgeyBsaW5lQm94TG9naWNhbFJlY3QsIGVuY2xvc2lu
Z1RvcEFuZEJvdHRvbSwgcm9vdElubGluZUJveC5sb2dpY2FsVG9wKCkgKyByb290SW5saW5lQm94
LmJhc2VsaW5lKCksIHJvb3RJbmxpbmVCb3gubG9naWNhbExlZnQoKSwgcm9vdElubGluZUJveC5s
b2dpY2FsV2lkdGgoKSB9OworICAgIH07CisgICAgcmV0dXJuIHsgbGluZUJveCwgbGluZUdlb21l
dHJ5KCkgfTsKIH0KIAogdm9pZCBMaW5lQm94QnVpbGRlcjo6c2V0VmVydGljYWxHZW9tZXRyeUZv
cklubGluZUJveChJbmxpbmVMZXZlbEJveCYgaW5saW5lTGV2ZWxCb3gpIGNvbnN0CkBAIC0zNTgs
MTAgKzM4MSwxMyBAQCB2b2lkIExpbmVCb3hCdWlsZGVyOjpjb25zdHJ1Y3RBbmRBbGlnbklubGlu
ZUxldmVsQm94ZXMoTGluZUJveCYgbGluZUJveCwgY29uc3QgTAogICAgIH0KIAogICAgIGxpbmVC
b3guc2V0SGFzQ29udGVudChsaW5lSGFzQ29udGVudCk7Ci0gICAgaWYgKHNpbXBsaWZpZWRWZXJ0
aWNhbEFsaWdubWVudC5pc0VuYWJsZWQoKSB8fCAhbGluZUhhc0NvbnRlbnQpIHsKKyAgICBpZiAo
IWxpbmVIYXNDb250ZW50KSB7CisgICAgICAgIG1fbG9naWNhbEhlaWdodCA9IHsgfTsKKyAgICAg
ICAgcm9vdElubGluZUJveC5zZXRMb2dpY2FsVG9wKC1yb290SW5saW5lQm94LmJhc2VsaW5lKCkp
OworICAgIH0gZWxzZSBpZiAoc2ltcGxpZmllZFZlcnRpY2FsQWxpZ25tZW50LmlzRW5hYmxlZCgp
KSB7CiAgICAgICAgIC8vIFdlIHNob3VsZCBhbHdheXMgYmUgYWJsZSB0byBleGVyY2lzZSB0aGUg
ZmFzdCBwYXRoIHdoZW4gdGhlIGxpbmUgaGFzIG5vIGNvbnRlbnQgYXQgYWxsLCBldmVuIGluIG5v
bi1zdGFuZGFyZHMgbW9kZSBvciB3aXRoIGxpbmUtaGVpZ2h0IHNldC4KLSAgICAgICAgcm9vdElu
bGluZUJveC5zZXRMb2dpY2FsVG9wKGxpbmVIYXNDb250ZW50ID8gc2ltcGxpZmllZFZlcnRpY2Fs
QWxpZ25tZW50LnJvb3RJbmxpbmVCb3hMb2dpY2FsVG9wKCkgOiAtcm9vdElubGluZUJveC5iYXNl
bGluZSgpKTsKLSAgICAgICAgbGluZUJveC5zZXRMb2dpY2FsSGVpZ2h0KGxpbmVIYXNDb250ZW50
ID8gc2ltcGxpZmllZFZlcnRpY2FsQWxpZ25tZW50LmxpbmVCb3hIZWlnaHQoKSA6IElubGluZUxh
eW91dFVuaXQoKSk7CisgICAgICAgIG1fbG9naWNhbEhlaWdodCA9IHNpbXBsaWZpZWRWZXJ0aWNh
bEFsaWdubWVudC5saW5lQm94SGVpZ2h0KCk7CisgICAgICAgIHJvb3RJbmxpbmVCb3guc2V0TG9n
aWNhbFRvcChzaW1wbGlmaWVkVmVydGljYWxBbGlnbm1lbnQucm9vdElubGluZUJveExvZ2ljYWxU
b3AoKSk7CiAgICAgfSBlbHNlCiAgICAgICAgIGNvbXB1dGVMaW5lQm94SGVpZ2h0QW5kQWxpZ25J
bmxpbmVMZXZlbEJveGVzVmVydGljYWxseShsaW5lQm94KTsKIH0KQEAgLTQ2NCw3ICs0OTAsNyBA
QCB2b2lkIExpbmVCb3hCdWlsZGVyOjpjb21wdXRlTGluZUJveEhlaWdodEFuZEFsaWduSW5saW5l
TGV2ZWxCb3hlc1ZlcnRpY2FsbHkoTGluZQogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAg
ICAgICAgICAgbGluZUJveExvZ2ljYWxIZWlnaHQgPSBzdGQ6Om1heChsaW5lQm94TG9naWNhbEhl
aWdodCwgbGluZUJveFJlbGF0aXZlSW5saW5lTGV2ZWxCb3gtPmxheW91dEJvdW5kcygpLmhlaWdo
dCgpKTsKICAgICAgICAgfQotICAgICAgICBsaW5lQm94LnNldExvZ2ljYWxIZWlnaHQobGluZUJv
eExvZ2ljYWxIZWlnaHQpOworICAgICAgICBtX2xvZ2ljYWxIZWlnaHQgPSBsaW5lQm94TG9naWNh
bEhlaWdodDsKICAgICB9OwogICAgIGNvbXB1dGVMaW5lQm94TG9naWNhbEhlaWdodCgpOwogCkBA
IC01ODksNyArNjE1LDcgQEAgdm9pZCBMaW5lQm94QnVpbGRlcjo6Y29tcHV0ZUxpbmVCb3hIZWln
aHRBbmRBbGlnbklubGluZUxldmVsQm94ZXNWZXJ0aWNhbGx5KExpbmUKICAgICAgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgICAgIGNhc2UgVmVydGljYWxBbGlnbjo6Qm90dG9tOgogICAgICAg
ICAgICAgICAgIC8vIE5vdGUgdGhhdCB0aGlzIGxvZ2ljYWwgdG9wIGlzIG5vdCByZWxhdGl2ZSB0
byB0aGUgcGFyZW50IGlubGluZSBib3guCi0gICAgICAgICAgICAgICAgbG9naWNhbFRvcCA9IGxp
bmVCb3gubG9naWNhbFJlY3QoKS5oZWlnaHQoKSAtIGlubGluZUxldmVsQm94LmxheW91dEJvdW5k
cygpLmRlc2NlbnQgLSBpbmxpbmVMZXZlbEJveC5iYXNlbGluZSgpOworICAgICAgICAgICAgICAg
IGxvZ2ljYWxUb3AgPSBtX2xvZ2ljYWxIZWlnaHQgLSBpbmxpbmVMZXZlbEJveC5sYXlvdXRCb3Vu
ZHMoKS5kZXNjZW50IC0gaW5saW5lTGV2ZWxCb3guYmFzZWxpbmUoKTsKICAgICAgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgICAgQVNTRVJUX05P
VF9JTVBMRU1FTlRFRF9ZRVQoKTsKQEAgLTY1NCw3ICs2ODAsNyBAQCBJbmxpbmVGb3JtYXR0aW5n
R2VvbWV0cnk6OklubGluZUZvcm1hdHRpbmdHZW9tZXRyeShjb25zdCBJbmxpbmVGb3JtYXR0aW5n
Q29udGV4dAogewogfQogCi1MaW5lQm94IElubGluZUZvcm1hdHRpbmdHZW9tZXRyeTo6bGluZUJv
eEZvckxpbmVDb250ZW50KGNvbnN0IExpbmVCdWlsZGVyOjpMaW5lQ29udGVudCYgbGluZUNvbnRl
bnQpIGNvbnN0CitJbmxpbmVGb3JtYXR0aW5nR2VvbWV0cnk6OkxpbmVCb3hBbmRHZW9tZXRyeSBJ
bmxpbmVGb3JtYXR0aW5nR2VvbWV0cnk6OmxpbmVCb3hGb3JMaW5lQ29udGVudChjb25zdCBMaW5l
QnVpbGRlcjo6TGluZUNvbnRlbnQmIGxpbmVDb250ZW50KSBjb25zdAogewogICAgIHJldHVybiBM
aW5lQm94QnVpbGRlcihmb3JtYXR0aW5nQ29udGV4dCgpKS5idWlsZChsaW5lQ29udGVudCk7CiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lu
bGluZS9JbmxpbmVGb3JtYXR0aW5nR2VvbWV0cnkuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9m
b3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdHZW9tZXRyeS5oCmluZGV4
IGUwZWVmN2M4ZmVkMjUyNmQ1NjRmZjU4NTBhMmVlNjdhOGM2NTFiMTcuLjVhODU4YjA4YThlYzgw
OGJkYWEwOTJiZWQxYjU1NjljZWFmZDY2ODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdHZW9tZXRyeS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lu
bGluZUZvcm1hdHRpbmdHZW9tZXRyeS5oCkBAIC00MCw3ICs0MCwxMSBAQCBjbGFzcyBJbmxpbmVG
b3JtYXR0aW5nR2VvbWV0cnkgOiBwdWJsaWMgRm9ybWF0dGluZ0dlb21ldHJ5IHsKIHB1YmxpYzoK
ICAgICBJbmxpbmVGb3JtYXR0aW5nR2VvbWV0cnkoY29uc3QgSW5saW5lRm9ybWF0dGluZ0NvbnRl
eHQmKTsKIAotICAgIExpbmVCb3ggbGluZUJveEZvckxpbmVDb250ZW50KGNvbnN0IExpbmVCdWls
ZGVyOjpMaW5lQ29udGVudCYpIGNvbnN0OworICAgIHN0cnVjdCBMaW5lQm94QW5kR2VvbWV0cnkg
eworICAgICAgICBMaW5lQm94IGxpbmVCb3g7CisgICAgICAgIExpbmVHZW9tZXRyeSBsaW5lR2Vv
bWV0cnk7CisgICAgfTsKKyAgICBMaW5lQm94QW5kR2VvbWV0cnkgbGluZUJveEZvckxpbmVDb250
ZW50KGNvbnN0IExpbmVCdWlsZGVyOjpMaW5lQ29udGVudCYpIGNvbnN0OwogICAgIElubGluZUxh
eW91dFVuaXQgbG9naWNhbFRvcEZvck5leHRMaW5lKGNvbnN0IExpbmVCdWlsZGVyOjpMaW5lQ29u
dGVudCYsIElubGluZUxheW91dFVuaXQgcHJldmlvdXNMaW5lTG9naWNhbEJvdHRvbSwgY29uc3Qg
RmxvYXRpbmdDb250ZXh0JikgY29uc3Q7CiAKICAgICBDb250ZW50SGVpZ2h0QW5kTWFyZ2luIGlu
bGluZUJsb2NrQ29udGVudEhlaWdodEFuZE1hcmdpbihjb25zdCBCb3gmLCBjb25zdCBIb3Jpem9u
dGFsQ29uc3RyYWludHMmLCBjb25zdCBPdmVycmlkZGVuVmVydGljYWxWYWx1ZXMmKSBjb25zdDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5s
aW5lL0lubGluZUZvcm1hdHRpbmdTdGF0ZS5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1h
dHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ1N0YXRlLmgKaW5kZXggMzYzYjE2
MDM2ODRlNTk0MDA3YTA4MjdiYzk0Y2I5N2I0YmEwMTc0Zi4uYjk0ODMzZjk4YWI2NWJjYzM0NDE5
OWJiMTI1YjZkMWYxZWJlZWI4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zv
cm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ1N0YXRlLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0
dGluZ1N0YXRlLmgKQEAgLTM4LDcgKzM4LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogbmFtZXNw
YWNlIExheW91dCB7CiAKIHVzaW5nIElubGluZUl0ZW1zID0gVmVjdG9yPElubGluZUl0ZW0+Owot
dXNpbmcgSW5saW5lTGluZXMgPSBWZWN0b3I8SW5saW5lTGluZUdlb21ldHJ5PjsKK3VzaW5nIElu
bGluZUxpbmVzID0gVmVjdG9yPExpbmVHZW9tZXRyeT47CiB1c2luZyBJbmxpbmVMaW5lQm94ZXMg
PSBWZWN0b3I8TGluZUJveD47CiB1c2luZyBJbmxpbmVMaW5lUnVucyA9IFZlY3RvcjxMaW5lUnVu
PjsKIApAQCAtNTUsNyArNTUsNyBAQCBwdWJsaWM6CiAKICAgICBjb25zdCBJbmxpbmVMaW5lcyYg
bGluZXMoKSBjb25zdCB7IHJldHVybiBtX2xpbmVzOyB9CiAgICAgSW5saW5lTGluZXMmIGxpbmVz
KCkgeyByZXR1cm4gbV9saW5lczsgfQotICAgIHZvaWQgYWRkTGluZShjb25zdCBJbmxpbmVMaW5l
R2VvbWV0cnkmIGxpbmUpIHsgbV9saW5lcy5hcHBlbmQobGluZSk7IH0KKyAgICB2b2lkIGFkZExp
bmUoY29uc3QgTGluZUdlb21ldHJ5JiBsaW5lKSB7IG1fbGluZXMuYXBwZW5kKGxpbmUpOyB9CiAK
ICAgICBjb25zdCBJbmxpbmVMaW5lQm94ZXMmIGxpbmVCb3hlcygpIGNvbnN0IHsgcmV0dXJuIG1f
bGluZUJveGVzOyB9CiAgICAgdm9pZCBhZGRMaW5lQm94KExpbmVCb3gmJiBsaW5lQm94KSB7IG1f
bGluZUJveGVzLmFwcGVuZChXVEZNb3ZlKGxpbmVCb3gpKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJveC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9Jbmxp
bmVMaW5lQm94LmNwcAppbmRleCA2Y2Y0YjZlMDExOThhMmVmMjdlYWExMmNlMzA1NGQyMTcwYzZk
MTRlLi5iZTZkNjczZWJlZDdlMDNkODZiNTNmYTA0NmU3ZDZiYzYxYmJkZWIzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVM
aW5lQm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRz
L2lubGluZS9JbmxpbmVMaW5lQm94LmNwcApAQCAtMzQsOSArMzQsOCBAQAogbmFtZXNwYWNlIFdl
YkNvcmUgewogbmFtZXNwYWNlIExheW91dCB7CiAKLUxpbmVCb3g6OkxpbmVCb3goY29uc3QgQm94
JiByb290TGF5b3V0Qm94LCBjb25zdCBJbmxpbmVMYXlvdXRQb2ludCYgbG9naWNhbFRvcGxlZnQs
IElubGluZUxheW91dFVuaXQgbGluZUxvZ2ljYWxXaWR0aCwgSW5saW5lTGF5b3V0VW5pdCBjb250
ZW50TG9naWNhbExlZnQsIElubGluZUxheW91dFVuaXQgY29udGVudExvZ2ljYWxXaWR0aCwgc2l6
ZV90IG5vblNwYW5uaW5nSW5saW5lTGV2ZWxCb3hDb3VudCkKLSAgICA6IG1fbG9naWNhbFJlY3Qo
bG9naWNhbFRvcGxlZnQsIElubGluZUxheW91dFNpemUgeyBsaW5lTG9naWNhbFdpZHRoLCB7IH0g
fSkKLSAgICAsIG1fcm9vdElubGluZUJveChyb290TGF5b3V0Qm94LCBjb250ZW50TG9naWNhbExl
ZnQsIElubGluZUxheW91dFNpemUgeyBjb250ZW50TG9naWNhbFdpZHRoLCB7IH0gfSwgSW5saW5l
TGV2ZWxCb3g6OlR5cGU6OlJvb3RJbmxpbmVCb3gpCitMaW5lQm94OjpMaW5lQm94KGNvbnN0IEJv
eCYgcm9vdExheW91dEJveCwgSW5saW5lTGF5b3V0VW5pdCBjb250ZW50TG9naWNhbExlZnQsIElu
bGluZUxheW91dFVuaXQgY29udGVudExvZ2ljYWxXaWR0aCwgc2l6ZV90IG5vblNwYW5uaW5nSW5s
aW5lTGV2ZWxCb3hDb3VudCkKKyAgICA6IG1fcm9vdElubGluZUJveChyb290TGF5b3V0Qm94LCBj
b250ZW50TG9naWNhbExlZnQsIElubGluZUxheW91dFNpemUgeyBjb250ZW50TG9naWNhbFdpZHRo
LCB7IH0gfSwgSW5saW5lTGV2ZWxCb3g6OlR5cGU6OlJvb3RJbmxpbmVCb3gpCiB7CiAgICAgbV9u
b25Sb290SW5saW5lTGV2ZWxCb3hMaXN0LnJlc2VydmVJbml0aWFsQ2FwYWNpdHkobm9uU3Bhbm5p
bmdJbmxpbmVMZXZlbEJveENvdW50KTsKICAgICBtX25vblJvb3RJbmxpbmVMZXZlbEJveE1hcC5y
ZXNlcnZlSW5pdGlhbENhcGFjaXR5KG5vblNwYW5uaW5nSW5saW5lTGV2ZWxCb3hDb3VudCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGlu
ZS9JbmxpbmVMaW5lQm94LmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRl
eHRzL2lubGluZS9JbmxpbmVMaW5lQm94LmgKaW5kZXggMjE5Y2NmY2Y4ZWU1N2U5ZDk2MDMyMzZj
ZDEyMDQ3ZmJiZTNmMGIzOS4uYjVmMWE2MmI5YmY0YTdkYjQ4MjA5YTIwN2FjNjU1Y2JlNzAxNzY1
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9p
bmxpbmUvSW5saW5lTGluZUJveC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0
aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVCb3guaApAQCAtNjAsOSArNjAsOCBAQCBzdHJ1
Y3QgU2ltcGxpZmllZFZlcnRpY2FsQWxpZ25tZW50OwogY2xhc3MgTGluZUJveCB7CiAgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgTGluZUJveChjb25zdCBCb3gmIHJv
b3RMYXlvdXRCb3gsIGNvbnN0IElubGluZUxheW91dFBvaW50JiBsb2dpY2FsVG9wTGVmdCwgSW5s
aW5lTGF5b3V0VW5pdCBjb250ZW50TG9naWNhbExlZnQsIElubGluZUxheW91dFVuaXQgbGluZUxv
Z2ljYWxXaWR0aCwgSW5saW5lTGF5b3V0VW5pdCBjb250ZW50TG9naWNhbFdpZHRoLCBzaXplX3Qg
bm9uU3Bhbm5pbmdJbmxpbmVMZXZlbEJveENvdW50KTsKKyAgICBMaW5lQm94KGNvbnN0IEJveCYg
cm9vdExheW91dEJveCwgSW5saW5lTGF5b3V0VW5pdCBjb250ZW50TG9naWNhbExlZnQsIElubGlu
ZUxheW91dFVuaXQgY29udGVudExvZ2ljYWxXaWR0aCwgc2l6ZV90IG5vblNwYW5uaW5nSW5saW5l
TGV2ZWxCb3hDb3VudCk7CiAKLSAgICBjb25zdCBJbmxpbmVSZWN0JiBsb2dpY2FsUmVjdCgpIGNv
bnN0IHsgcmV0dXJuIG1fbG9naWNhbFJlY3Q7IH0KICAgICAvLyBOb3RlIHRoYXQgdGhlIGxpbmUg
Y2FuIGhhdmUgbWFueSBpbmxpbmUgYm94ZXMgYW5kIGJlICJlbXB0eSIgdGhlIHNhbWUgdGltZSBl
LmcuIDxkaXY+PHNwYW4+PC9zcGFuPjxzcGFuPjwvc3Bhbj48L2Rpdj4KICAgICBib29sIGhhc0Nv
bnRlbnQoKSBjb25zdCB7IHJldHVybiBtX2hhc0NvbnRlbnQ7IH0KICAgICBib29sIGhhc0lubGlu
ZUJveCgpIGNvbnN0IHsgcmV0dXJuIG1fYm94VHlwZXMuY29udGFpbnMoSW5saW5lTGV2ZWxCb3g6
OlR5cGU6OklubGluZUJveCk7IH0KQEAgLTgxLDEzICs4MCw5IEBAIHB1YmxpYzoKICAgICB1c2lu
ZyBJbmxpbmVMZXZlbEJveExpc3QgPSBWZWN0b3I8SW5saW5lTGV2ZWxCb3g+OwogICAgIGNvbnN0
IElubGluZUxldmVsQm94TGlzdCYgbm9uUm9vdElubGluZUxldmVsQm94ZXMoKSBjb25zdCB7IHJl
dHVybiBtX25vblJvb3RJbmxpbmVMZXZlbEJveExpc3Q7IH0KIAotICAgIElubGluZUxheW91dFVu
aXQgYWxpZ25tZW50QmFzZWxpbmUoKSBjb25zdCB7IHJldHVybiBtX3Jvb3RJbmxpbmVCb3gubG9n
aWNhbFRvcCgpICsgbV9yb290SW5saW5lQm94LmJhc2VsaW5lKCk7IH0KLQogcHJpdmF0ZToKICAg
ICBmcmllbmQgY2xhc3MgTGluZUJveEJ1aWxkZXI7CiAKLSAgICB2b2lkIHNldExvZ2ljYWxIZWln
aHQoSW5saW5lTGF5b3V0VW5pdCBsb2dpY2FsSGVpZ2h0KSB7IG1fbG9naWNhbFJlY3Quc2V0SGVp
Z2h0KGxvZ2ljYWxIZWlnaHQpOyB9Ci0KICAgICB2b2lkIGFkZElubGluZUxldmVsQm94KElubGlu
ZUxldmVsQm94JiYpOwogICAgIElubGluZUxldmVsQm94TGlzdCYgbm9uUm9vdElubGluZUxldmVs
Qm94ZXMoKSB7IHJldHVybiBtX25vblJvb3RJbmxpbmVMZXZlbEJveExpc3Q7IH0KIApAQCAtOTks
NyArOTQsNiBAQCBwcml2YXRlOgogICAgIHZvaWQgc2V0SGFzQ29udGVudChib29sIGhhc0NvbnRl
bnQpIHsgbV9oYXNDb250ZW50ID0gaGFzQ29udGVudDsgfQogCiBwcml2YXRlOgotICAgIElubGlu
ZVJlY3QgbV9sb2dpY2FsUmVjdDsKICAgICBib29sIG1faGFzQ29udGVudCB7IGZhbHNlIH07CiAg
ICAgT3B0aW9uU2V0PElubGluZUxldmVsQm94OjpUeXBlPiBtX2JveFR5cGVzOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9Jbmxp
bmVMaW5lR2VvbWV0cnkuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4
dHMvaW5saW5lL0lubGluZUxpbmVHZW9tZXRyeS5oCmluZGV4IGQ2YTJjNThhMDc2ZTQ5YzJjZDNj
OWUyZjkyYWIzNmQwM2YyNzI5ZTUuLmU2MjM3NGQyMTFhYTZmNWViZWU2NjBkODU1NGUyNmUzYzNk
NmU5ZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4
dHMvaW5saW5lL0lubGluZUxpbmVHZW9tZXRyeS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVHZW9tZXRyeS5oCkBAIC0zMiw3
ICszMiw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBuYW1lc3BhY2UgTGF5b3V0IHsKIAotY2xh
c3MgSW5saW5lTGluZUdlb21ldHJ5IHsKK2NsYXNzIExpbmVHZW9tZXRyeSB7CiAgICAgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RydWN0IEVuY2xvc2luZ1RvcEFuZEJv
dHRvbSB7CkBAIC00MCw3ICs0MCw3IEBAIHB1YmxpYzoKICAgICAgICAgSW5saW5lTGF5b3V0VW5p
dCB0b3AgeyAwIH07CiAgICAgICAgIElubGluZUxheW91dFVuaXQgYm90dG9tIHsgMCB9OwogICAg
IH07Ci0gICAgSW5saW5lTGluZUdlb21ldHJ5KGNvbnN0IElubGluZVJlY3QmIGxpbmVCb3hMb2dp
Y2FsUmVjdCwgRW5jbG9zaW5nVG9wQW5kQm90dG9tLCBJbmxpbmVMYXlvdXRVbml0IGFsaWdtZW50
QmFzZWxpbmUsIElubGluZUxheW91dFVuaXQgY29udGVudExvZ2ljYWxMZWZ0LCBJbmxpbmVMYXlv
dXRVbml0IGNvbnRlbnRMb2dpY2FsV2lkdGgpOworICAgIExpbmVHZW9tZXRyeShjb25zdCBJbmxp
bmVSZWN0JiBsaW5lQm94TG9naWNhbFJlY3QsIEVuY2xvc2luZ1RvcEFuZEJvdHRvbSwgSW5saW5l
TGF5b3V0VW5pdCBhbGlnbWVudEJhc2VsaW5lLCBJbmxpbmVMYXlvdXRVbml0IGNvbnRlbnRMb2dp
Y2FsTGVmdCwgSW5saW5lTGF5b3V0VW5pdCBjb250ZW50TG9naWNhbFdpZHRoKTsKIAogICAgIGNv
bnN0IElubGluZVJlY3QmIGxpbmVCb3hMb2dpY2FsUmVjdCgpIGNvbnN0IHsgcmV0dXJuIG1fbGlu
ZUJveExvZ2ljYWxSZWN0OyB9CiAKQEAgLTY1LDcgKzY1LDcgQEAgcHJpdmF0ZToKICAgICBJbmxp
bmVMYXlvdXRVbml0IG1fY29udGVudExvZ2ljYWxXaWR0aCB7IDAgfTsKIH07CiAKLWlubGluZSBJ
bmxpbmVMaW5lR2VvbWV0cnk6OklubGluZUxpbmVHZW9tZXRyeShjb25zdCBJbmxpbmVSZWN0JiBs
aW5lQm94TG9naWNhbFJlY3QsIEVuY2xvc2luZ1RvcEFuZEJvdHRvbSBlbmNsb3NpbmdUb3BBbmRC
b3R0b20sIElubGluZUxheW91dFVuaXQgYWxpZ21lbnRCYXNlbGluZSwgSW5saW5lTGF5b3V0VW5p
dCBjb250ZW50TG9naWNhbExlZnQsIElubGluZUxheW91dFVuaXQgY29udGVudExvZ2ljYWxXaWR0
aCkKK2lubGluZSBMaW5lR2VvbWV0cnk6OkxpbmVHZW9tZXRyeShjb25zdCBJbmxpbmVSZWN0JiBs
aW5lQm94TG9naWNhbFJlY3QsIEVuY2xvc2luZ1RvcEFuZEJvdHRvbSBlbmNsb3NpbmdUb3BBbmRC
b3R0b20sIElubGluZUxheW91dFVuaXQgYWxpZ21lbnRCYXNlbGluZSwgSW5saW5lTGF5b3V0VW5p
dCBjb250ZW50TG9naWNhbExlZnQsIElubGluZUxheW91dFVuaXQgY29udGVudExvZ2ljYWxXaWR0
aCkKICAgICA6IG1fbGluZUJveExvZ2ljYWxSZWN0KGxpbmVCb3hMb2dpY2FsUmVjdCkKICAgICAs
IG1fZW5jbG9zaW5nVG9wQW5kQm90dG9tKGVuY2xvc2luZ1RvcEFuZEJvdHRvbSkKICAgICAsIG1f
YWxpZ21lbnRCYXNlbGluZShhbGlnbWVudEJhc2VsaW5lKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uSW5saW5lQ29udGVudEJ1
aWxkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVn
cmF0aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuY3BwCmluZGV4IDA3OGQ4NGRlMmZiYTkxMzBjYjJi
MjYzMDU2NjcxMjE2ZWNhMmVlZGUuLmRhMWUxOTg0YmE3ZGRmNGJlMjUxNGY0ZmExMTBjYTY0ZjRl
NTY2Y2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlv
dXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnRCdWlsZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250ZW50QnVpbGRl
ci5jcHAKQEAgLTUyLDcgKzUyLDcgQEAgc3RydWN0IExpbmVMZXZlbFZpc3VhbEFkanVzdG1lbnRz
Rm9yUnVucyB7CiAgICAgYm9vbCBuZWVkc1RyYWlsaW5nQ29udGVudFJlcGxhY2VtZW50IHsgZmFs
c2UgfTsKIH07CiAKLWlubGluZSBMYXlvdXQ6OklubGluZUxpbmVHZW9tZXRyeTo6RW5jbG9zaW5n
VG9wQW5kQm90dG9tIG9wZXJhdG9yKyhjb25zdCBMYXlvdXQ6OklubGluZUxpbmVHZW9tZXRyeTo6
RW5jbG9zaW5nVG9wQW5kQm90dG9tIGVuY2xvc2luZ1RvcEFuZEJvdHRvbSwgZmxvYXQgb2Zmc2V0
KQoraW5saW5lIExheW91dDo6TGluZUdlb21ldHJ5OjpFbmNsb3NpbmdUb3BBbmRCb3R0b20gb3Bl
cmF0b3IrKGNvbnN0IExheW91dDo6TGluZUdlb21ldHJ5OjpFbmNsb3NpbmdUb3BBbmRCb3R0b20g
ZW5jbG9zaW5nVG9wQW5kQm90dG9tLCBmbG9hdCBvZmZzZXQpCiB7CiAgICAgcmV0dXJuIHsgZW5j
bG9zaW5nVG9wQW5kQm90dG9tLnRvcCArIG9mZnNldCwgZW5jbG9zaW5nVG9wQW5kQm90dG9tLmJv
dHRvbSArIG9mZnNldCB9OwogfQpAQCAtMzg1LDcgKzM4NSw3IEBAIHZvaWQgSW5saW5lQ29udGVu
dEJ1aWxkZXI6OmNyZWF0ZURpc3BsYXlOb25Sb290SW5saW5lQm94ZXMoY29uc3QgTGF5b3V0OjpJ
bmxpbmVGCiAgICAgICAgIGlmICghbGluZUJveC5oYXNJbmxpbmVCb3goKSkKICAgICAgICAgICAg
IGNvbnRpbnVlOwogCi0gICAgICAgIGF1dG8mIGxpbmVCb3hMb2dpY2FsUmVjdCA9IGxpbmVCb3gu
bG9naWNhbFJlY3QoKTsKKyAgICAgICAgYXV0byBsaW5lQm94TG9naWNhbFJlY3QgPSBpbmxpbmVG
b3JtYXR0aW5nU3RhdGUubGluZXMoKVtsaW5lSW5kZXhdLmxpbmVCb3hMb2dpY2FsUmVjdCgpOwog
ICAgICAgICBmb3IgKGF1dG8mIGlubGluZUxldmVsQm94IDogbGluZUJveC5ub25Sb290SW5saW5l
TGV2ZWxCb3hlcygpKSB7CiAgICAgICAgICAgICBpZiAoIWlubGluZUxldmVsQm94LmlzSW5saW5l
Qm94KCkpCiAgICAgICAgICAgICAgICAgY29udGludWU7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>435993</attachid>
            <date>2021-08-20 08:49:32 -0700</date>
            <delta_ts>2021-08-20 13:50:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-228050-20210820084931.patch</filename>
            <type>text/plain</type>
            <size>24925</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxMzE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODU3ODFkYjdmYTlmNTM4
YjNlMmE0Yjg3ODRiNWJmMDFlOGI3N2E1OS4uNTVlZmRlYmRmYzkxYzEwNTIxMDk2M2FjMWJmZGNj
NWVjMDkxM2Y5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDIxLTA4LTIwICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtJRkNdIExpbmVCb3gg
cHJvdmlkZXMgcmVkdW5kYW50IGdlb21ldHJ5IGluZm9ybWF0aW9uCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjgwNTAKKworICAgICAgICBSZXZpZXdl
ZCBieSBTYW0gV2VpbmlnLgorCisgICAgICAgIExpbmVCb3hHZW9tZXRyeSBjbGFzcyBwcm92aWRl
cyB0aGUgbGluZSdzIGdlb21ldHJ5LiBUaGlzIGlzIGFsc28gaW4gcHJlcGFyYXRpb24gZm9yIG1h
a2luZyBMaW5lQm94IGEgbm9uLXBlcnNpc3RlbnQgdHlwZSBvZiBzdHJ1Y3R1cmUuCisKKyAgICAg
ICAgKiBsYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVGb3JtYXR0aW5nQ29u
dGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OklubGluZUZvcm1hdHRpbmdDb250
ZXh0Ojpjb21wdXRlR2VvbWV0cnlGb3JMaW5lQ29udGVudCk6CisgICAgICAgICogbGF5b3V0L2Zv
cm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0dlb21ldHJ5LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZUJveEJ1aWxkZXI6OmJ1aWxkKToKKyAgICAgICAg
KFdlYkNvcmU6OkxheW91dDo6TGluZUJveEJ1aWxkZXI6OmNvbnN0cnVjdEFuZEFsaWduSW5saW5l
TGV2ZWxCb3hlcyk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCb3hCdWlsZGVyOjpj
b21wdXRlTGluZUJveEhlaWdodEFuZEFsaWduSW5saW5lTGV2ZWxCb3hlc1ZlcnRpY2FsbHkpOgor
ICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVGb3JtYXR0aW5nR2VvbWV0cnk6OnZlcnRp
Y2FsbHlBZGp1c3RlZExpbmVGb3JMaW5lQ29udGVudCBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpMYXlvdXQ6OklubGluZUZvcm1hdHRpbmdHZW9tZXRyeTo6bGluZUJveEZvckxpbmVDb250ZW50
IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBsYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lu
bGluZS9JbmxpbmVGb3JtYXR0aW5nR2VvbWV0cnkuaDoKKyAgICAgICAgKiBsYXlvdXQvZm9ybWF0
dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkxheW91dDo6TGluZUJveDo6TGluZUJveCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6Om1f
cm9vdElubGluZUJveCk6IERlbGV0ZWQuCisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250
ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJveC5oOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpM
aW5lQm94Ojpsb2dpY2FsUmVjdCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpM
YXlvdXQ6OkxpbmVCb3g6OmFsaWdubWVudEJhc2VsaW5lIGNvbnN0KTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OkxheW91dDo6TGluZUJveDo6c2V0TG9naWNhbEhlaWdodCk6IERlbGV0ZWQu
CisgICAgICAgICogbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uSW5saW5lQ29u
dGVudEJ1aWxkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0SW50ZWdyYXRpb246Oklu
bGluZUNvbnRlbnRCdWlsZGVyOjpjcmVhdGVEaXNwbGF5Tm9uUm9vdElubGluZUJveGVzIGNvbnN0
KToKKwogMjAyMS0wOC0yMCAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtpdC5vcmc+
CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcmV2ZXJ0aW5nIHIyODEzMDcuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9kaXNwbGF5L2Nzcy9EaXNwbGF5Qm94RmFjdG9yeS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9kaXNwbGF5L2Nzcy9EaXNwbGF5Qm94RmFjdG9yeS5jcHAKaW5kZXggYzNiOTY0MzJl
Y2Y3OTYwMjUyNGRkNjAzNDcxMmEwMWEyNmUzNmE3NC4uYzg4OGU4NzYwMjNkODc2MmNhYTMyN2U0
MDgyMzMyMDNlNTk4M2M5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZGlzcGxheS9jc3Mv
RGlzcGxheUJveEZhY3RvcnkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rpc3BsYXkvY3NzL0Rp
c3BsYXlCb3hGYWN0b3J5LmNwcApAQCAtMTQzLDcgKzE0Myw3IEBAIHN0ZDo6dW5pcXVlX3B0cjxC
b3g+IEJveEZhY3Rvcnk6OmRpc3BsYXlCb3hGb3JMYXlvdXRCb3goY29uc3QgTGF5b3V0OjpCb3gm
IGxheW91CiAgICAgcmV0dXJuIG1ha2VVbmlxdWU8Qm94PihtX3RyZWVCdWlsZGVyLnRyZWUoKSwg
cGl4ZWxTbmFwcGVkQm9yZGVyQm94UmVjdCwgV1RGTW92ZShzdHlsZSksIGZsYWdzKTsKIH0KIAot
c3RkOjp1bmlxdWVfcHRyPEJveD4gQm94RmFjdG9yeTo6ZGlzcGxheUJveEZvclRleHRSdW4oY29u
c3QgTGF5b3V0OjpMaW5lUnVuJiBydW4sIGNvbnN0IExheW91dDo6SW5saW5lTGluZUdlb21ldHJ5
JiBsaW5lR2VvbWV0cnksIGNvbnN0IENvbnRhaW5pbmdCbG9ja0NvbnRleHQmIGNvbnRhaW5pbmdC
bG9ja0NvbnRleHQpIGNvbnN0CitzdGQ6OnVuaXF1ZV9wdHI8Qm94PiBCb3hGYWN0b3J5OjpkaXNw
bGF5Qm94Rm9yVGV4dFJ1bihjb25zdCBMYXlvdXQ6OkxpbmVSdW4mIHJ1biwgY29uc3QgTGF5b3V0
OjpMaW5lR2VvbWV0cnkmIGxpbmVHZW9tZXRyeSwgY29uc3QgQ29udGFpbmluZ0Jsb2NrQ29udGV4
dCYgY29udGFpbmluZ0Jsb2NrQ29udGV4dCkgY29uc3QKIHsKICAgICBBU1NFUlQocnVuLnRleHQo
KSk7CiAgICAgYXV0byBsaW5lUmVjdCA9IGxpbmVHZW9tZXRyeS5saW5lQm94TG9naWNhbFJlY3Qo
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rpc3BsYXkvY3NzL0Rpc3BsYXlCb3hGYWN0
b3J5LmggYi9Tb3VyY2UvV2ViQ29yZS9kaXNwbGF5L2Nzcy9EaXNwbGF5Qm94RmFjdG9yeS5oCmlu
ZGV4IGM4NDMxYzkwZGEzMjEzMDI5MGY3N2FkNTk3ZDA5M2U1ZTBlYzlmMWIuLjcwNWI4N2NmOGRi
MzUzMjlmOTE5OTgwNmVkODg2OWMwYzQxMjA1ODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Rpc3BsYXkvY3NzL0Rpc3BsYXlCb3hGYWN0b3J5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZGlz
cGxheS9jc3MvRGlzcGxheUJveEZhY3RvcnkuaApAQCAtNDAsNyArNDAsNyBAQCBuYW1lc3BhY2Ug
TGF5b3V0IHsKIGNsYXNzIEJveDsKIGNsYXNzIEJveEdlb21ldHJ5OwogY2xhc3MgQ29udGFpbmVy
Qm94OwotY2xhc3MgSW5saW5lTGluZUdlb21ldHJ5OworY2xhc3MgTGluZUdlb21ldHJ5Owogc3Ry
dWN0IExpbmVSdW47CiB9CiAKQEAgLTc0LDcgKzc0LDcgQEAgcHVibGljOgogICAgIHN0ZDo6dW5p
cXVlX3B0cjxCb3g+IGRpc3BsYXlCb3hGb3JCb2R5Qm94KGNvbnN0IExheW91dDo6Qm94JiwgY29u
c3QgTGF5b3V0OjpCb3hHZW9tZXRyeSYsIGNvbnN0IENvbnRhaW5pbmdCbG9ja0NvbnRleHQmLCBS
b290QmFja2dyb3VuZFByb3BhZ2F0aW9uKSBjb25zdDsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8Qm94
PiBkaXNwbGF5Qm94Rm9yTGF5b3V0Qm94KGNvbnN0IExheW91dDo6Qm94JiwgY29uc3QgTGF5b3V0
OjpCb3hHZW9tZXRyeSYsIGNvbnN0IENvbnRhaW5pbmdCbG9ja0NvbnRleHQmKSBjb25zdDsKIAot
ICAgIHN0ZDo6dW5pcXVlX3B0cjxCb3g+IGRpc3BsYXlCb3hGb3JUZXh0UnVuKGNvbnN0IExheW91
dDo6TGluZVJ1biYsIGNvbnN0IExheW91dDo6SW5saW5lTGluZUdlb21ldHJ5JiwgY29uc3QgQ29u
dGFpbmluZ0Jsb2NrQ29udGV4dCYpIGNvbnN0OworICAgIHN0ZDo6dW5pcXVlX3B0cjxCb3g+IGRp
c3BsYXlCb3hGb3JUZXh0UnVuKGNvbnN0IExheW91dDo6TGluZVJ1biYsIGNvbnN0IExheW91dDo6
TGluZUdlb21ldHJ5JiwgY29uc3QgQ29udGFpbmluZ0Jsb2NrQ29udGV4dCYpIGNvbnN0OwogCiBw
cml2YXRlOgogICAgIHN0ZDo6dW5pcXVlX3B0cjxCb3g+IGRpc3BsYXlCb3hGb3JMYXlvdXRCb3go
Y29uc3QgTGF5b3V0OjpCb3gmLCBjb25zdCBMYXlvdXQ6OkJveEdlb21ldHJ5JiwgY29uc3QgQ29u
dGFpbmluZ0Jsb2NrQ29udGV4dCYsIGNvbnN0IFJlbmRlclN0eWxlKiBzdHlsZUZvckJhY2tncm91
bmQsIFN0eWxlJiYpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zv
cm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwIGIvU291
cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0
dGluZ0NvbnRleHQuY3BwCmluZGV4IDAxYjFiZDg4NzY3MWM1OWE5OGIzZjRhMzVjMTVhOTUyYjU0
NDYxOGUuLjk3ZGMzYzQ0MjcwY2M0OGRhMjU3MmIyMmYxZTgwYzZhYWQ5YmU4NDcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGlu
ZUZvcm1hdHRpbmdDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0
dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5jcHAKQEAgLTQ2Nywx
MSArNDY3LDE1IEBAIElubGluZVJlY3QgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVH
ZW9tZXRyeUZvckxpbmVDb250ZW50KGNvbnN0IExpbmVCdWlsCiB7CiAgICAgYXV0byYgZm9ybWF0
dGluZ1N0YXRlID0gdGhpcy0+Zm9ybWF0dGluZ1N0YXRlKCk7CiAgICAgYXV0byYgZm9ybWF0dGlu
Z0dlb21ldHJ5ID0gdGhpcy0+Zm9ybWF0dGluZ0dlb21ldHJ5KCk7CisgICAgYXV0byBsaW5lSW5k
ZXggPSBmb3JtYXR0aW5nU3RhdGUubGluZXMoKS5zaXplKCk7CisKKyAgICBhdXRvIGxpbmVCb3hB
bmRHZW9tZXRyeSA9IGZvcm1hdHRpbmdHZW9tZXRyeS5saW5lQm94Rm9yTGluZUNvbnRlbnQobGlu
ZUNvbnRlbnQpOworICAgIGZvcm1hdHRpbmdTdGF0ZS5hZGRMaW5lQm94KFdURk1vdmUobGluZUJv
eEFuZEdlb21ldHJ5LmxpbmVCb3gpKTsKKyAgICBmb3JtYXR0aW5nU3RhdGUuYWRkTGluZShsaW5l
Qm94QW5kR2VvbWV0cnkubGluZUdlb21ldHJ5KTsKIAotICAgIGZvcm1hdHRpbmdTdGF0ZS5hZGRM
aW5lQm94KGZvcm1hdHRpbmdHZW9tZXRyeS5saW5lQm94Rm9yTGluZUNvbnRlbnQobGluZUNvbnRl
bnQpKTsKICAgICBjb25zdCBhdXRvJiBsaW5lQm94ID0gZm9ybWF0dGluZ1N0YXRlLmxpbmVCb3hl
cygpLmxhc3QoKTsKLSAgICBhdXRvIGxpbmVJbmRleCA9IGZvcm1hdHRpbmdTdGF0ZS5saW5lcygp
LnNpemUoKTsKLSAgICBhdXRvJiBsaW5lQm94TG9naWNhbFJlY3QgPSBsaW5lQm94LmxvZ2ljYWxS
ZWN0KCk7CisgICAgYXV0byBsaW5lQm94TG9naWNhbFJlY3QgPSBsaW5lQm94QW5kR2VvbWV0cnku
bGluZUdlb21ldHJ5LmxpbmVCb3hMb2dpY2FsUmVjdCgpOworCiAgICAgaWYgKCFsaW5lQm94Lmhh
c0NvbnRlbnQoKSkgewogICAgICAgICAvLyBGYXN0IHBhdGggZm9yIGxpbmVzIHdpdGggbm8gY29u
dGVudCBlLmcuIDxkaXY+PHNwYW4+PC9zcGFuPjxzcGFuPjwvc3Bhbj48L2Rpdj4gb3IgPHNwYW4+
PGRpdj48L2Rpdj48L3NwYW4+IHdoZXJlIHdlIGNvbnN0cnVjdCBlbXB0eSBwcmUgYW5kIHBvc3Qg
YmxvY2tzLgogICAgICAgICBBU1NFUlQoIWxpbmVCb3gucm9vdElubGluZUJveCgpLmhhc0NvbnRl
bnQoKSAmJiAhbGluZUJveExvZ2ljYWxSZWN0LmhlaWdodCgpKTsKQEAgLTQ5NSwxNCArNDk5LDEw
IEBAIElubGluZVJlY3QgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVHZW9tZXRyeUZv
ckxpbmVDb250ZW50KGNvbnN0IExpbmVCdWlsCiAgICAgICAgICAgICB9CiAgICAgICAgIH07CiAg
ICAgICAgIHVwZGF0ZUlubGluZUJveGVzR2VvbWV0cnlJZkFwcGxpY2FibGUoKTsKLSAgICAgICAg
Zm9ybWF0dGluZ1N0YXRlLmFkZExpbmUoeyBsaW5lQm94TG9naWNhbFJlY3QsIHsgeyB9LCB7IH0g
fSwgeyB9LCB7IH0sIHsgfSB9KTsKICAgICAgICAgcmV0dXJuIGxpbmVCb3hMb2dpY2FsUmVjdDsK
ICAgICB9CiAKLSAgICBhdXRvIHJvb3RJbmxpbmVCb3hMb2dpY2FsUmVjdCA9IGxpbmVCb3gubG9n
aWNhbFJlY3RGb3JSb290SW5saW5lQm94KCk7Ci0gICAgYXV0byBlbmNsb3NpbmdUb3BBbmRCb3R0
b20gPSBJbmxpbmVMaW5lR2VvbWV0cnk6OkVuY2xvc2luZ1RvcEFuZEJvdHRvbSB7IHJvb3RJbmxp
bmVCb3hMb2dpY2FsUmVjdC50b3AoKSwgcm9vdElubGluZUJveExvZ2ljYWxSZWN0LmJvdHRvbSgp
IH07CiAgICAgSGFzaFNldDxjb25zdCBCb3gqPiBpbmxpbmVCb3hTdGFydFNldDsKLQogICAgIGF1
dG8gY29uc3RydWN0TGluZVJ1bnNBbmRVcGRhdGVCb3hHZW9tZXRyeSA9IFsmXSB7CiAgICAgICAg
IC8vIENyZWF0ZSB0aGUgaW5saW5lIHJ1bnMgb24gdGhlIGN1cnJlbnQgbGluZS4gVGhpcyBpcyBt
b3N0bHkgdGV4dCBhbmQgYXRvbWljIGlubGluZSBydW5zLgogICAgICAgICBmb3IgKGF1dG8mIGxp
bmVSdW4gOiBsaW5lQ29udGVudC5ydW5zKSB7CkBAIC01MzksMTEgKzUzOSw2IEBAIElubGluZVJl
Y3QgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVHZW9tZXRyeUZvckxpbmVDb250ZW50
KGNvbnN0IExpbmVCdWlsCiAgICAgICAgICAgICAgICAgICAgIGJvcmRlckJveExvZ2ljYWxUb3BM
ZWZ0ICs9IGZvcm1hdHRpbmdHZW9tZXRyeS5pbkZsb3dQb3NpdGlvbmVkUG9zaXRpb25PZmZzZXQo
bGF5b3V0Qm94LCBob3Jpem9udGFsQ29uc3RyYWludHMpOwogICAgICAgICAgICAgICAgIC8vIEF0
b21pYyBpbmxpbmUgYm94ZXMgYXJlIGFsbCBzZXQuIFRoZWlyIG1hcmdpbi9ib3JkZXIvY29udGVu
dCBib3ggZ2VvbWV0cmllcyBhcmUgYWxyZWFkeSBjb21wdXRlZC4gV2UganVzdCBoYXZlIHRvIHBv
c2l0aW9uIHRoZW0gaGVyZS4KICAgICAgICAgICAgICAgICBib3hHZW9tZXRyeS5zZXRMb2dpY2Fs
VG9wTGVmdCh0b0xheW91dFBvaW50KGJvcmRlckJveExvZ2ljYWxUb3BMZWZ0KSk7Ci0KLSAgICAg
ICAgICAgICAgICBhdXRvIGJvcmRlckJveFRvcCA9IGJvcmRlckJveExvZ2ljYWxUb3BMZWZ0Lnko
KTsKLSAgICAgICAgICAgICAgICBhdXRvIGJvcmRlckJveEJvdHRvbSA9IGJvcmRlckJveFRvcCAr
IGJveEdlb21ldHJ5LmJvcmRlckJveEhlaWdodCgpOwotICAgICAgICAgICAgICAgIGVuY2xvc2lu
Z1RvcEFuZEJvdHRvbS50b3AgPSBzdGQ6Om1pbihlbmNsb3NpbmdUb3BBbmRCb3R0b20udG9wLCBi
b3JkZXJCb3hUb3ApOwotICAgICAgICAgICAgICAgIGVuY2xvc2luZ1RvcEFuZEJvdHRvbS5ib3R0
b20gPSBzdGQ6Om1heChlbmNsb3NpbmdUb3BBbmRCb3R0b20uYm90dG9tLCBib3JkZXJCb3hCb3R0
b20pOwogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgfQogICAgICAgICAg
ICAgaWYgKGxpbmVSdW4uaXNJbmxpbmVCb3hTdGFydCgpKSB7CkBAIC01NTEsMTkgKzU0Niw5IEBA
IElubGluZVJlY3QgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVHZW9tZXRyeUZvckxp
bmVDb250ZW50KGNvbnN0IExpbmVCdWlsCiAgICAgICAgICAgICAgICAgYXV0byBpbmxpbmVCb3hM
b2dpY2FsUmVjdCA9IGxpbmVCb3gubG9naWNhbEJvcmRlckJveEZvcklubGluZUJveChsYXlvdXRC
b3gsIGJveEdlb21ldHJ5KTsKICAgICAgICAgICAgICAgICBmb3JtYXR0aW5nU3RhdGUuYWRkTGlu
ZVJ1bih7IGxpbmVJbmRleCwgbGF5b3V0Qm94LCBpbmxpbmVCb3hMb2dpY2FsUmVjdCwgbGluZVJ1
bi5leHBhbnNpb24oKSwgeyB9IH0pOwogICAgICAgICAgICAgICAgIGlubGluZUJveFN0YXJ0U2V0
LmFkZCgmbGF5b3V0Qm94KTsKLSAgICAgICAgICAgICAgICBlbmNsb3NpbmdUb3BBbmRCb3R0b20u
dG9wID0gc3RkOjptaW4oZW5jbG9zaW5nVG9wQW5kQm90dG9tLnRvcCwgaW5saW5lQm94TG9naWNh
bFJlY3QudG9wKCkpOwogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgfQot
ICAgICAgICAgICAgaWYgKGxpbmVSdW4uaXNJbmxpbmVCb3hFbmQoKSkgewotICAgICAgICAgICAg
ICAgIGlmICghaW5saW5lQm94U3RhcnRTZXQuY29udGFpbnMoJmxheW91dEJveCkpIHsKLSAgICAg
ICAgICAgICAgICAgICAgLy8gQW4gaW5saW5lIGJveCBjYW4gc3BhbiBtdWx0aXBsZSBsaW5lcy4g
VXNlIHRoZSBbaW5saW5lIGJveCBlbmRdIHNpZ25hbCB0byBpbmNsdWRlIGl0IGluIHRoZSBlbmNs
b3NpbmcgZ2VvbWV0cnkKLSAgICAgICAgICAgICAgICAgICAgLy8gb25seSB3aGVuIGl0IHN0YXJ0
cyBhdCBhIHByZXZpb3VzIGxpbmUuCi0gICAgICAgICAgICAgICAgICAgIGF1dG8gaW5saW5lQm94
TG9naWNhbFJlY3QgPSBsaW5lQm94LmxvZ2ljYWxCb3JkZXJCb3hGb3JJbmxpbmVCb3gobGF5b3V0
Qm94LCBmb3JtYXR0aW5nU3RhdGUuYm94R2VvbWV0cnkobGF5b3V0Qm94KSk7Ci0gICAgICAgICAg
ICAgICAgICAgIGVuY2xvc2luZ1RvcEFuZEJvdHRvbS5ib3R0b20gPSBzdGQ6Om1heChlbmNsb3Np
bmdUb3BBbmRCb3R0b20uYm90dG9tLCBpbmxpbmVCb3hMb2dpY2FsUmVjdC5ib3R0b20oKSk7Ci0g
ICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAg
fQotICAgICAgICAgICAgQVNTRVJUKGxpbmVSdW4uaXNXb3JkQnJlYWtPcHBvcnR1bml0eSgpKTsK
KyAgICAgICAgICAgIEFTU0VSVChsaW5lUnVuLmlzSW5saW5lQm94RW5kKCkgfHwgbGluZVJ1bi5p
c1dvcmRCcmVha09wcG9ydHVuaXR5KCkpOwogICAgICAgICB9CiAgICAgfTsKICAgICBjb25zdHJ1
Y3RMaW5lUnVuc0FuZFVwZGF0ZUJveEdlb21ldHJ5KCk7CkBAIC02MDMsMTIgKzU4OCw3IEBAIElu
bGluZVJlY3QgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVHZW9tZXRyeUZvckxpbmVD
b250ZW50KGNvbnN0IExpbmVCdWlsCiAgICAgICAgIH0KICAgICB9OwogICAgIHVwZGF0ZUJveEdl
b21ldHJ5Rm9ySW5saW5lQm94ZXMoKTsKLQotICAgIGF1dG8gY29uc3RydWN0TGluZUdlb21ldHJ5
ID0gWyZdIHsKLSAgICAgICAgZm9ybWF0dGluZ1N0YXRlLmFkZExpbmUoeyBsaW5lQm94TG9naWNh
bFJlY3QsIGVuY2xvc2luZ1RvcEFuZEJvdHRvbSwgbGluZUJveC5hbGlnbm1lbnRCYXNlbGluZSgp
LCByb290SW5saW5lQm94TG9naWNhbFJlY3QubGVmdCgpLCBsaW5lQ29udGVudC5jb250ZW50TG9n
aWNhbFdpZHRoIH0pOwotICAgIH07Ci0gICAgY29uc3RydWN0TGluZUdlb21ldHJ5KCk7Ci0KKyAg
ICAKICAgICByZXR1cm4gbGluZUJveExvZ2ljYWxSZWN0OwogfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVGb3JtYXR0
aW5nR2VvbWV0cnkuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0
cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0dlb21ldHJ5LmNwcAppbmRleCA4M2Q4MTFmMTY0ODU1
NTg4MTE3M2ZjYzZmNTkxNWFmOWEyOWNjNzNlLi45MDg4NWZiMjY5OTExMWE0NDYyNzI0YzcyMDRh
Njg5YzU2MTUxYWVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGlu
Z0NvbnRleHRzL2lubGluZS9JbmxpbmVGb3JtYXR0aW5nR2VvbWV0cnkuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRp
bmdHZW9tZXRyeS5jcHAKQEAgLTQzLDcgKzQzLDggQEAgbmFtZXNwYWNlIExheW91dCB7CiBjbGFz
cyBMaW5lQm94QnVpbGRlciB7CiBwdWJsaWM6CiAgICAgTGluZUJveEJ1aWxkZXIoY29uc3QgSW5s
aW5lRm9ybWF0dGluZ0NvbnRleHQmKTsKLSAgICBMaW5lQm94IGJ1aWxkKGNvbnN0IExpbmVCdWls
ZGVyOjpMaW5lQ29udGVudCYpOworCisgICAgSW5saW5lRm9ybWF0dGluZ0dlb21ldHJ5OjpMaW5l
Qm94QW5kR2VvbWV0cnkgYnVpbGQoY29uc3QgTGluZUJ1aWxkZXI6OkxpbmVDb250ZW50Jik7CiAK
IHByaXZhdGU6CiAgICAgc3RydWN0IFNpbXBsaWZpZWRWZXJ0aWNhbEFsaWdubWVudCB7CkBAIC04
MSw2ICs4Miw3IEBAIHByaXZhdGU6CiAKIHByaXZhdGU6CiAgICAgY29uc3QgSW5saW5lRm9ybWF0
dGluZ0NvbnRleHQmIG1faW5saW5lRm9ybWF0dGluZ0NvbnRleHQ7CisgICAgSW5saW5lTGF5b3V0
VW5pdCBtX2xvZ2ljYWxIZWlnaHQgeyAwIH07CiB9OwogCiBzdGF0aWMgSW5saW5lTGF5b3V0VW5p
dCBoYW5naW5nR2x5cGhXaWR0aChJbmxpbmVMYXlvdXRVbml0IGV4dHJhSG9yaXpvbnRhbFNwYWNl
LCBjb25zdCBMaW5lOjpSdW5MaXN0JiBydW5zLCBib29sIGlzTGFzdExpbmVXaXRoSW5saW5lQ29u
dGVudCkKQEAgLTE1NiwxNSArMTU4LDQxIEBAIExpbmVCb3hCdWlsZGVyOjpMaW5lQm94QnVpbGRl
cihjb25zdCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dCYgaW5saW5lRm9ybWF0dGluZ0NvCiB7CiB9
CiAKLUxpbmVCb3ggTGluZUJveEJ1aWxkZXI6OmJ1aWxkKGNvbnN0IExpbmVCdWlsZGVyOjpMaW5l
Q29udGVudCYgbGluZUNvbnRlbnQpCitJbmxpbmVGb3JtYXR0aW5nR2VvbWV0cnk6OkxpbmVCb3hB
bmRHZW9tZXRyeSBMaW5lQm94QnVpbGRlcjo6YnVpbGQoY29uc3QgTGluZUJ1aWxkZXI6OkxpbmVD
b250ZW50JiBsaW5lQ29udGVudCkKIHsKICAgICBhdXRvJiBydW5zID0gbGluZUNvbnRlbnQucnVu
czsKLSAgICBhdXRvIGxpbmVMb2dpY2FsV2lkdGggPSBsaW5lQ29udGVudC5saW5lTG9naWNhbFdp
ZHRoOwogICAgIGF1dG8gY29udGVudExvZ2ljYWxXaWR0aCA9IGxpbmVDb250ZW50LmNvbnRlbnRM
b2dpY2FsV2lkdGg7Ci0gICAgYXV0byBob3Jpem9udGFsQWxpZ25tZW50T2Zmc2V0ID0gTGF5b3V0
Ojpob3Jpem9udGFsQWxpZ25tZW50T2Zmc2V0KHJ1bnMsIHJvb3RCb3goKS5zdHlsZSgpLnRleHRB
bGlnbigpLCBsaW5lTG9naWNhbFdpZHRoLCBjb250ZW50TG9naWNhbFdpZHRoLCBsaW5lQ29udGVu
dC5pc0xhc3RMaW5lV2l0aElubGluZUNvbnRlbnQpOwotICAgIGF1dG8gbGluZUJveCA9IExpbmVC
b3ggeyByb290Qm94KCksIGxpbmVDb250ZW50LmxvZ2ljYWxUb3BMZWZ0LCBsaW5lTG9naWNhbFdp
ZHRoLCBob3Jpem9udGFsQWxpZ25tZW50T2Zmc2V0LnZhbHVlX29yKElubGluZUxheW91dFVuaXQg
eyB9KSwgY29udGVudExvZ2ljYWxXaWR0aCwgbGluZUNvbnRlbnQubm9uU3Bhbm5pbmdJbmxpbmVM
ZXZlbEJveENvdW50IH07CisgICAgYXV0byBjb250ZW50TG9naWNhbExlZnQgPSBMYXlvdXQ6Omhv
cml6b250YWxBbGlnbm1lbnRPZmZzZXQocnVucywgcm9vdEJveCgpLnN0eWxlKCkudGV4dEFsaWdu
KCksIGxpbmVDb250ZW50LmxpbmVMb2dpY2FsV2lkdGgsIGNvbnRlbnRMb2dpY2FsV2lkdGgsIGxp
bmVDb250ZW50LmlzTGFzdExpbmVXaXRoSW5saW5lQ29udGVudCkudmFsdWVfb3IoSW5saW5lTGF5
b3V0VW5pdCB7IH0pOworICAgIGF1dG8gbGluZUJveCA9IExpbmVCb3ggeyByb290Qm94KCksIGNv
bnRlbnRMb2dpY2FsTGVmdCwgY29udGVudExvZ2ljYWxXaWR0aCwgbGluZUNvbnRlbnQubm9uU3Bh
bm5pbmdJbmxpbmVMZXZlbEJveENvdW50IH07CisKICAgICBjb25zdHJ1Y3RBbmRBbGlnbklubGlu
ZUxldmVsQm94ZXMobGluZUJveCwgcnVucyk7Ci0gICAgcmV0dXJuIGxpbmVCb3g7CisKKyAgICBh
dXRvIGxpbmVHZW9tZXRyeSA9IFsmXSB7CisgICAgICAgIGF1dG8gbGluZUJveExvZ2ljYWxSZWN0
ID0gSW5saW5lUmVjdCB7IGxpbmVDb250ZW50LmxvZ2ljYWxUb3BMZWZ0LCBsaW5lQ29udGVudC5s
aW5lTG9naWNhbFdpZHRoLCBtX2xvZ2ljYWxIZWlnaHQgfTsKKyAgICAgICAgYXV0byYgcm9vdElu
bGluZUJveCA9IGxpbmVCb3gucm9vdElubGluZUJveCgpOworICAgICAgICBhdXRvIGVuY2xvc2lu
Z1RvcEFuZEJvdHRvbSA9IExpbmVHZW9tZXRyeTo6RW5jbG9zaW5nVG9wQW5kQm90dG9tIHsgcm9v
dElubGluZUJveC5sb2dpY2FsVG9wKCksIHJvb3RJbmxpbmVCb3gubG9naWNhbEJvdHRvbSgpIH07
CisKKyAgICAgICAgZm9yIChhdXRvJiBpbmxpbmVMZXZlbEJveCA6IGxpbmVCb3gubm9uUm9vdElu
bGluZUxldmVsQm94ZXMoKSkgeworICAgICAgICAgICAgaWYgKCFpbmxpbmVMZXZlbEJveC5pc0F0
b21pY0lubGluZUxldmVsQm94KCkgfHwgIWlubGluZUxldmVsQm94LmlzSW5saW5lQm94KCkpCisg
ICAgICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgICAgIGF1dG8mIGxheW91dEJveCA9
IGlubGluZUxldmVsQm94LmxheW91dEJveCgpOworICAgICAgICAgICAgYXV0byBib3JkZXJCb3gg
PSBJbmxpbmVSZWN0IHsgfTsKKworICAgICAgICAgICAgaWYgKGlubGluZUxldmVsQm94LmlzQXRv
bWljSW5saW5lTGV2ZWxCb3goKSkKKyAgICAgICAgICAgICAgICBib3JkZXJCb3ggPSBsaW5lQm94
LmxvZ2ljYWxCb3JkZXJCb3hGb3JBdG9taWNJbmxpbmVMZXZlbEJveChsYXlvdXRCb3gsIGZvcm1h
dHRpbmdDb250ZXh0KCkuZ2VvbWV0cnlGb3JCb3gobGF5b3V0Qm94KSk7CisgICAgICAgICAgICBl
bHNlIGlmIChpbmxpbmVMZXZlbEJveC5pc0lubGluZUJveCgpKQorICAgICAgICAgICAgICAgIGJv
cmRlckJveCA9IGxpbmVCb3gubG9naWNhbEJvcmRlckJveEZvcklubGluZUJveChsYXlvdXRCb3gs
IGZvcm1hdHRpbmdDb250ZXh0KCkuZ2VvbWV0cnlGb3JCb3gobGF5b3V0Qm94KSk7CisgICAgICAg
ICAgICBlbHNlCisgICAgICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisKKyAgICAg
ICAgICAgIGJvcmRlckJveC5tb3ZlQnkobGluZUJveExvZ2ljYWxSZWN0LnRvcExlZnQoKSk7Cisg
ICAgICAgICAgICBlbmNsb3NpbmdUb3BBbmRCb3R0b20udG9wID0gc3RkOjptaW4oZW5jbG9zaW5n
VG9wQW5kQm90dG9tLnRvcCwgYm9yZGVyQm94LnRvcCgpKTsKKyAgICAgICAgICAgIGVuY2xvc2lu
Z1RvcEFuZEJvdHRvbS5ib3R0b20gPSBzdGQ6Om1heChlbmNsb3NpbmdUb3BBbmRCb3R0b20uYm90
dG9tLCBib3JkZXJCb3guYm90dG9tKCkpOworICAgICAgICB9CisgICAgICAgIHJldHVybiBMaW5l
R2VvbWV0cnkgeyBsaW5lQm94TG9naWNhbFJlY3QsIGVuY2xvc2luZ1RvcEFuZEJvdHRvbSwgcm9v
dElubGluZUJveC5sb2dpY2FsVG9wKCkgKyByb290SW5saW5lQm94LmJhc2VsaW5lKCksIHJvb3RJ
bmxpbmVCb3gubG9naWNhbExlZnQoKSwgcm9vdElubGluZUJveC5sb2dpY2FsV2lkdGgoKSB9Owor
ICAgIH07CisgICAgcmV0dXJuIHsgbGluZUJveCwgbGluZUdlb21ldHJ5KCkgfTsKIH0KIAogdm9p
ZCBMaW5lQm94QnVpbGRlcjo6c2V0VmVydGljYWxHZW9tZXRyeUZvcklubGluZUJveChJbmxpbmVM
ZXZlbEJveCYgaW5saW5lTGV2ZWxCb3gpIGNvbnN0CkBAIC0zNTgsMTAgKzM4NiwxMyBAQCB2b2lk
IExpbmVCb3hCdWlsZGVyOjpjb25zdHJ1Y3RBbmRBbGlnbklubGluZUxldmVsQm94ZXMoTGluZUJv
eCYgbGluZUJveCwgY29uc3QgTAogICAgIH0KIAogICAgIGxpbmVCb3guc2V0SGFzQ29udGVudChs
aW5lSGFzQ29udGVudCk7Ci0gICAgaWYgKHNpbXBsaWZpZWRWZXJ0aWNhbEFsaWdubWVudC5pc0Vu
YWJsZWQoKSB8fCAhbGluZUhhc0NvbnRlbnQpIHsKKyAgICBpZiAoIWxpbmVIYXNDb250ZW50KSB7
CisgICAgICAgIG1fbG9naWNhbEhlaWdodCA9IHsgfTsKKyAgICAgICAgcm9vdElubGluZUJveC5z
ZXRMb2dpY2FsVG9wKC1yb290SW5saW5lQm94LmJhc2VsaW5lKCkpOworICAgIH0gZWxzZSBpZiAo
c2ltcGxpZmllZFZlcnRpY2FsQWxpZ25tZW50LmlzRW5hYmxlZCgpKSB7CiAgICAgICAgIC8vIFdl
IHNob3VsZCBhbHdheXMgYmUgYWJsZSB0byBleGVyY2lzZSB0aGUgZmFzdCBwYXRoIHdoZW4gdGhl
IGxpbmUgaGFzIG5vIGNvbnRlbnQgYXQgYWxsLCBldmVuIGluIG5vbi1zdGFuZGFyZHMgbW9kZSBv
ciB3aXRoIGxpbmUtaGVpZ2h0IHNldC4KLSAgICAgICAgcm9vdElubGluZUJveC5zZXRMb2dpY2Fs
VG9wKGxpbmVIYXNDb250ZW50ID8gc2ltcGxpZmllZFZlcnRpY2FsQWxpZ25tZW50LnJvb3RJbmxp
bmVCb3hMb2dpY2FsVG9wKCkgOiAtcm9vdElubGluZUJveC5iYXNlbGluZSgpKTsKLSAgICAgICAg
bGluZUJveC5zZXRMb2dpY2FsSGVpZ2h0KGxpbmVIYXNDb250ZW50ID8gc2ltcGxpZmllZFZlcnRp
Y2FsQWxpZ25tZW50LmxpbmVCb3hIZWlnaHQoKSA6IElubGluZUxheW91dFVuaXQoKSk7CisgICAg
ICAgIG1fbG9naWNhbEhlaWdodCA9IHNpbXBsaWZpZWRWZXJ0aWNhbEFsaWdubWVudC5saW5lQm94
SGVpZ2h0KCk7CisgICAgICAgIHJvb3RJbmxpbmVCb3guc2V0TG9naWNhbFRvcChzaW1wbGlmaWVk
VmVydGljYWxBbGlnbm1lbnQucm9vdElubGluZUJveExvZ2ljYWxUb3AoKSk7CiAgICAgfSBlbHNl
CiAgICAgICAgIGNvbXB1dGVMaW5lQm94SGVpZ2h0QW5kQWxpZ25JbmxpbmVMZXZlbEJveGVzVmVy
dGljYWxseShsaW5lQm94KTsKIH0KQEAgLTQ2NCw3ICs0OTUsNyBAQCB2b2lkIExpbmVCb3hCdWls
ZGVyOjpjb21wdXRlTGluZUJveEhlaWdodEFuZEFsaWduSW5saW5lTGV2ZWxCb3hlc1ZlcnRpY2Fs
bHkoTGluZQogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgbGluZUJveExv
Z2ljYWxIZWlnaHQgPSBzdGQ6Om1heChsaW5lQm94TG9naWNhbEhlaWdodCwgbGluZUJveFJlbGF0
aXZlSW5saW5lTGV2ZWxCb3gtPmxheW91dEJvdW5kcygpLmhlaWdodCgpKTsKICAgICAgICAgfQot
ICAgICAgICBsaW5lQm94LnNldExvZ2ljYWxIZWlnaHQobGluZUJveExvZ2ljYWxIZWlnaHQpOwor
ICAgICAgICBtX2xvZ2ljYWxIZWlnaHQgPSBsaW5lQm94TG9naWNhbEhlaWdodDsKICAgICB9Owog
ICAgIGNvbXB1dGVMaW5lQm94TG9naWNhbEhlaWdodCgpOwogCkBAIC01ODksNyArNjIwLDcgQEAg
dm9pZCBMaW5lQm94QnVpbGRlcjo6Y29tcHV0ZUxpbmVCb3hIZWlnaHRBbmRBbGlnbklubGluZUxl
dmVsQm94ZXNWZXJ0aWNhbGx5KExpbmUKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAg
ICAgIGNhc2UgVmVydGljYWxBbGlnbjo6Qm90dG9tOgogICAgICAgICAgICAgICAgIC8vIE5vdGUg
dGhhdCB0aGlzIGxvZ2ljYWwgdG9wIGlzIG5vdCByZWxhdGl2ZSB0byB0aGUgcGFyZW50IGlubGlu
ZSBib3guCi0gICAgICAgICAgICAgICAgbG9naWNhbFRvcCA9IGxpbmVCb3gubG9naWNhbFJlY3Qo
KS5oZWlnaHQoKSAtIGlubGluZUxldmVsQm94LmxheW91dEJvdW5kcygpLmRlc2NlbnQgLSBpbmxp
bmVMZXZlbEJveC5iYXNlbGluZSgpOworICAgICAgICAgICAgICAgIGxvZ2ljYWxUb3AgPSBtX2xv
Z2ljYWxIZWlnaHQgLSBpbmxpbmVMZXZlbEJveC5sYXlvdXRCb3VuZHMoKS5kZXNjZW50IC0gaW5s
aW5lTGV2ZWxCb3guYmFzZWxpbmUoKTsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAg
ICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgICAgQVNTRVJUX05PVF9JTVBMRU1FTlRFRF9ZRVQo
KTsKQEAgLTY1NCw3ICs2ODUsNyBAQCBJbmxpbmVGb3JtYXR0aW5nR2VvbWV0cnk6OklubGluZUZv
cm1hdHRpbmdHZW9tZXRyeShjb25zdCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dAogewogfQogCi1M
aW5lQm94IElubGluZUZvcm1hdHRpbmdHZW9tZXRyeTo6bGluZUJveEZvckxpbmVDb250ZW50KGNv
bnN0IExpbmVCdWlsZGVyOjpMaW5lQ29udGVudCYgbGluZUNvbnRlbnQpIGNvbnN0CitJbmxpbmVG
b3JtYXR0aW5nR2VvbWV0cnk6OkxpbmVCb3hBbmRHZW9tZXRyeSBJbmxpbmVGb3JtYXR0aW5nR2Vv
bWV0cnk6OmxpbmVCb3hGb3JMaW5lQ29udGVudChjb25zdCBMaW5lQnVpbGRlcjo6TGluZUNvbnRl
bnQmIGxpbmVDb250ZW50KSBjb25zdAogewogICAgIHJldHVybiBMaW5lQm94QnVpbGRlcihmb3Jt
YXR0aW5nQ29udGV4dCgpKS5idWlsZChsaW5lQ29udGVudCk7CiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVGb3JtYXR0
aW5nR2VvbWV0cnkuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMv
aW5saW5lL0lubGluZUZvcm1hdHRpbmdHZW9tZXRyeS5oCmluZGV4IGUwZWVmN2M4ZmVkMjUyNmQ1
NjRmZjU4NTBhMmVlNjdhOGM2NTFiMTcuLjVhODU4YjA4YThlYzgwOGJkYWEwOTJiZWQxYjU1Njlj
ZWFmZDY2ODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29u
dGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdHZW9tZXRyeS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdHZW9t
ZXRyeS5oCkBAIC00MCw3ICs0MCwxMSBAQCBjbGFzcyBJbmxpbmVGb3JtYXR0aW5nR2VvbWV0cnkg
OiBwdWJsaWMgRm9ybWF0dGluZ0dlb21ldHJ5IHsKIHB1YmxpYzoKICAgICBJbmxpbmVGb3JtYXR0
aW5nR2VvbWV0cnkoY29uc3QgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQmKTsKIAotICAgIExpbmVC
b3ggbGluZUJveEZvckxpbmVDb250ZW50KGNvbnN0IExpbmVCdWlsZGVyOjpMaW5lQ29udGVudCYp
IGNvbnN0OworICAgIHN0cnVjdCBMaW5lQm94QW5kR2VvbWV0cnkgeworICAgICAgICBMaW5lQm94
IGxpbmVCb3g7CisgICAgICAgIExpbmVHZW9tZXRyeSBsaW5lR2VvbWV0cnk7CisgICAgfTsKKyAg
ICBMaW5lQm94QW5kR2VvbWV0cnkgbGluZUJveEZvckxpbmVDb250ZW50KGNvbnN0IExpbmVCdWls
ZGVyOjpMaW5lQ29udGVudCYpIGNvbnN0OwogICAgIElubGluZUxheW91dFVuaXQgbG9naWNhbFRv
cEZvck5leHRMaW5lKGNvbnN0IExpbmVCdWlsZGVyOjpMaW5lQ29udGVudCYsIElubGluZUxheW91
dFVuaXQgcHJldmlvdXNMaW5lTG9naWNhbEJvdHRvbSwgY29uc3QgRmxvYXRpbmdDb250ZXh0Jikg
Y29uc3Q7CiAKICAgICBDb250ZW50SGVpZ2h0QW5kTWFyZ2luIGlubGluZUJsb2NrQ29udGVudEhl
aWdodEFuZE1hcmdpbihjb25zdCBCb3gmLCBjb25zdCBIb3Jpem9udGFsQ29uc3RyYWludHMmLCBj
b25zdCBPdmVycmlkZGVuVmVydGljYWxWYWx1ZXMmKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRp
bmdTdGF0ZS5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxp
bmUvSW5saW5lRm9ybWF0dGluZ1N0YXRlLmgKaW5kZXggMzYzYjE2MDM2ODRlNTk0MDA3YTA4Mjdi
Yzk0Y2I5N2I0YmEwMTc0Zi4uYjk0ODMzZjk4YWI2NWJjYzM0NDE5OWJiMTI1YjZkMWYxZWJlZWI4
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9p
bmxpbmUvSW5saW5lRm9ybWF0dGluZ1N0YXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ1N0YXRlLmgKQEAgLTM4
LDcgKzM4LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogbmFtZXNwYWNlIExheW91dCB7CiAKIHVz
aW5nIElubGluZUl0ZW1zID0gVmVjdG9yPElubGluZUl0ZW0+OwotdXNpbmcgSW5saW5lTGluZXMg
PSBWZWN0b3I8SW5saW5lTGluZUdlb21ldHJ5PjsKK3VzaW5nIElubGluZUxpbmVzID0gVmVjdG9y
PExpbmVHZW9tZXRyeT47CiB1c2luZyBJbmxpbmVMaW5lQm94ZXMgPSBWZWN0b3I8TGluZUJveD47
CiB1c2luZyBJbmxpbmVMaW5lUnVucyA9IFZlY3RvcjxMaW5lUnVuPjsKIApAQCAtNTUsNyArNTUs
NyBAQCBwdWJsaWM6CiAKICAgICBjb25zdCBJbmxpbmVMaW5lcyYgbGluZXMoKSBjb25zdCB7IHJl
dHVybiBtX2xpbmVzOyB9CiAgICAgSW5saW5lTGluZXMmIGxpbmVzKCkgeyByZXR1cm4gbV9saW5l
czsgfQotICAgIHZvaWQgYWRkTGluZShjb25zdCBJbmxpbmVMaW5lR2VvbWV0cnkmIGxpbmUpIHsg
bV9saW5lcy5hcHBlbmQobGluZSk7IH0KKyAgICB2b2lkIGFkZExpbmUoY29uc3QgTGluZUdlb21l
dHJ5JiBsaW5lKSB7IG1fbGluZXMuYXBwZW5kKGxpbmUpOyB9CiAKICAgICBjb25zdCBJbmxpbmVM
aW5lQm94ZXMmIGxpbmVCb3hlcygpIGNvbnN0IHsgcmV0dXJuIG1fbGluZUJveGVzOyB9CiAgICAg
dm9pZCBhZGRMaW5lQm94KExpbmVCb3gmJiBsaW5lQm94KSB7IG1fbGluZUJveGVzLmFwcGVuZChX
VEZNb3ZlKGxpbmVCb3gpKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zv
cm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJveC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQm94LmNwcAppbmRl
eCA2Y2Y0YjZlMDExOThhMmVmMjdlYWExMmNlMzA1NGQyMTcwYzZkMTRlLi5iZTZkNjczZWJlZDdl
MDNkODZiNTNmYTA0NmU3ZDZiYzYxYmJkZWIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQm94LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5l
Qm94LmNwcApAQCAtMzQsOSArMzQsOCBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogbmFtZXNwYWNl
IExheW91dCB7CiAKLUxpbmVCb3g6OkxpbmVCb3goY29uc3QgQm94JiByb290TGF5b3V0Qm94LCBj
b25zdCBJbmxpbmVMYXlvdXRQb2ludCYgbG9naWNhbFRvcGxlZnQsIElubGluZUxheW91dFVuaXQg
bGluZUxvZ2ljYWxXaWR0aCwgSW5saW5lTGF5b3V0VW5pdCBjb250ZW50TG9naWNhbExlZnQsIElu
bGluZUxheW91dFVuaXQgY29udGVudExvZ2ljYWxXaWR0aCwgc2l6ZV90IG5vblNwYW5uaW5nSW5s
aW5lTGV2ZWxCb3hDb3VudCkKLSAgICA6IG1fbG9naWNhbFJlY3QobG9naWNhbFRvcGxlZnQsIElu
bGluZUxheW91dFNpemUgeyBsaW5lTG9naWNhbFdpZHRoLCB7IH0gfSkKLSAgICAsIG1fcm9vdElu
bGluZUJveChyb290TGF5b3V0Qm94LCBjb250ZW50TG9naWNhbExlZnQsIElubGluZUxheW91dFNp
emUgeyBjb250ZW50TG9naWNhbFdpZHRoLCB7IH0gfSwgSW5saW5lTGV2ZWxCb3g6OlR5cGU6OlJv
b3RJbmxpbmVCb3gpCitMaW5lQm94OjpMaW5lQm94KGNvbnN0IEJveCYgcm9vdExheW91dEJveCwg
SW5saW5lTGF5b3V0VW5pdCBjb250ZW50TG9naWNhbExlZnQsIElubGluZUxheW91dFVuaXQgY29u
dGVudExvZ2ljYWxXaWR0aCwgc2l6ZV90IG5vblNwYW5uaW5nSW5saW5lTGV2ZWxCb3hDb3VudCkK
KyAgICA6IG1fcm9vdElubGluZUJveChyb290TGF5b3V0Qm94LCBjb250ZW50TG9naWNhbExlZnQs
IElubGluZUxheW91dFNpemUgeyBjb250ZW50TG9naWNhbFdpZHRoLCB7IH0gfSwgSW5saW5lTGV2
ZWxCb3g6OlR5cGU6OlJvb3RJbmxpbmVCb3gpCiB7CiAgICAgbV9ub25Sb290SW5saW5lTGV2ZWxC
b3hMaXN0LnJlc2VydmVJbml0aWFsQ2FwYWNpdHkobm9uU3Bhbm5pbmdJbmxpbmVMZXZlbEJveENv
dW50KTsKICAgICBtX25vblJvb3RJbmxpbmVMZXZlbEJveE1hcC5yZXNlcnZlSW5pdGlhbENhcGFj
aXR5KG5vblNwYW5uaW5nSW5saW5lTGV2ZWxCb3hDb3VudCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQm94Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVM
aW5lQm94LmgKaW5kZXggMjE5Y2NmY2Y4ZWU1N2U5ZDk2MDMyMzZjZDEyMDQ3ZmJiZTNmMGIzOS4u
YjVmMWE2MmI5YmY0YTdkYjQ4MjA5YTIwN2FjNjU1Y2JlNzAxNzY1OSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJv
eC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5l
L0lubGluZUxpbmVCb3guaApAQCAtNjAsOSArNjAsOCBAQCBzdHJ1Y3QgU2ltcGxpZmllZFZlcnRp
Y2FsQWxpZ25tZW50OwogY2xhc3MgTGluZUJveCB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiBwdWJsaWM6Ci0gICAgTGluZUJveChjb25zdCBCb3gmIHJvb3RMYXlvdXRCb3gsIGNvbnN0
IElubGluZUxheW91dFBvaW50JiBsb2dpY2FsVG9wTGVmdCwgSW5saW5lTGF5b3V0VW5pdCBjb250
ZW50TG9naWNhbExlZnQsIElubGluZUxheW91dFVuaXQgbGluZUxvZ2ljYWxXaWR0aCwgSW5saW5l
TGF5b3V0VW5pdCBjb250ZW50TG9naWNhbFdpZHRoLCBzaXplX3Qgbm9uU3Bhbm5pbmdJbmxpbmVM
ZXZlbEJveENvdW50KTsKKyAgICBMaW5lQm94KGNvbnN0IEJveCYgcm9vdExheW91dEJveCwgSW5s
aW5lTGF5b3V0VW5pdCBjb250ZW50TG9naWNhbExlZnQsIElubGluZUxheW91dFVuaXQgY29udGVu
dExvZ2ljYWxXaWR0aCwgc2l6ZV90IG5vblNwYW5uaW5nSW5saW5lTGV2ZWxCb3hDb3VudCk7CiAK
LSAgICBjb25zdCBJbmxpbmVSZWN0JiBsb2dpY2FsUmVjdCgpIGNvbnN0IHsgcmV0dXJuIG1fbG9n
aWNhbFJlY3Q7IH0KICAgICAvLyBOb3RlIHRoYXQgdGhlIGxpbmUgY2FuIGhhdmUgbWFueSBpbmxp
bmUgYm94ZXMgYW5kIGJlICJlbXB0eSIgdGhlIHNhbWUgdGltZSBlLmcuIDxkaXY+PHNwYW4+PC9z
cGFuPjxzcGFuPjwvc3Bhbj48L2Rpdj4KICAgICBib29sIGhhc0NvbnRlbnQoKSBjb25zdCB7IHJl
dHVybiBtX2hhc0NvbnRlbnQ7IH0KICAgICBib29sIGhhc0lubGluZUJveCgpIGNvbnN0IHsgcmV0
dXJuIG1fYm94VHlwZXMuY29udGFpbnMoSW5saW5lTGV2ZWxCb3g6OlR5cGU6OklubGluZUJveCk7
IH0KQEAgLTgxLDEzICs4MCw5IEBAIHB1YmxpYzoKICAgICB1c2luZyBJbmxpbmVMZXZlbEJveExp
c3QgPSBWZWN0b3I8SW5saW5lTGV2ZWxCb3g+OwogICAgIGNvbnN0IElubGluZUxldmVsQm94TGlz
dCYgbm9uUm9vdElubGluZUxldmVsQm94ZXMoKSBjb25zdCB7IHJldHVybiBtX25vblJvb3RJbmxp
bmVMZXZlbEJveExpc3Q7IH0KIAotICAgIElubGluZUxheW91dFVuaXQgYWxpZ25tZW50QmFzZWxp
bmUoKSBjb25zdCB7IHJldHVybiBtX3Jvb3RJbmxpbmVCb3gubG9naWNhbFRvcCgpICsgbV9yb290
SW5saW5lQm94LmJhc2VsaW5lKCk7IH0KLQogcHJpdmF0ZToKICAgICBmcmllbmQgY2xhc3MgTGlu
ZUJveEJ1aWxkZXI7CiAKLSAgICB2b2lkIHNldExvZ2ljYWxIZWlnaHQoSW5saW5lTGF5b3V0VW5p
dCBsb2dpY2FsSGVpZ2h0KSB7IG1fbG9naWNhbFJlY3Quc2V0SGVpZ2h0KGxvZ2ljYWxIZWlnaHQp
OyB9Ci0KICAgICB2b2lkIGFkZElubGluZUxldmVsQm94KElubGluZUxldmVsQm94JiYpOwogICAg
IElubGluZUxldmVsQm94TGlzdCYgbm9uUm9vdElubGluZUxldmVsQm94ZXMoKSB7IHJldHVybiBt
X25vblJvb3RJbmxpbmVMZXZlbEJveExpc3Q7IH0KIApAQCAtOTksNyArOTQsNiBAQCBwcml2YXRl
OgogICAgIHZvaWQgc2V0SGFzQ29udGVudChib29sIGhhc0NvbnRlbnQpIHsgbV9oYXNDb250ZW50
ID0gaGFzQ29udGVudDsgfQogCiBwcml2YXRlOgotICAgIElubGluZVJlY3QgbV9sb2dpY2FsUmVj
dDsKICAgICBib29sIG1faGFzQ29udGVudCB7IGZhbHNlIH07CiAgICAgT3B0aW9uU2V0PElubGlu
ZUxldmVsQm94OjpUeXBlPiBtX2JveFR5cGVzOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lR2VvbWV0cnkuaCBi
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxp
bmVHZW9tZXRyeS5oCmluZGV4IGQ2YTJjNThhMDc2ZTQ5YzJjZDNjOWUyZjkyYWIzNmQwM2YyNzI5
ZTUuLmU2MjM3NGQyMTFhYTZmNWViZWU2NjBkODU1NGUyNmUzYzNkNmU5ZDMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxp
bmVHZW9tZXRyeS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4
dHMvaW5saW5lL0lubGluZUxpbmVHZW9tZXRyeS5oCkBAIC0zMiw3ICszMiw3IEBACiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiBuYW1lc3BhY2UgTGF5b3V0IHsKIAotY2xhc3MgSW5saW5lTGluZUdlb21l
dHJ5IHsKK2NsYXNzIExpbmVHZW9tZXRyeSB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiBwdWJsaWM6CiAgICAgc3RydWN0IEVuY2xvc2luZ1RvcEFuZEJvdHRvbSB7CkBAIC00MCw3ICs0
MCw3IEBAIHB1YmxpYzoKICAgICAgICAgSW5saW5lTGF5b3V0VW5pdCB0b3AgeyAwIH07CiAgICAg
ICAgIElubGluZUxheW91dFVuaXQgYm90dG9tIHsgMCB9OwogICAgIH07Ci0gICAgSW5saW5lTGlu
ZUdlb21ldHJ5KGNvbnN0IElubGluZVJlY3QmIGxpbmVCb3hMb2dpY2FsUmVjdCwgRW5jbG9zaW5n
VG9wQW5kQm90dG9tLCBJbmxpbmVMYXlvdXRVbml0IGFsaWdtZW50QmFzZWxpbmUsIElubGluZUxh
eW91dFVuaXQgY29udGVudExvZ2ljYWxMZWZ0LCBJbmxpbmVMYXlvdXRVbml0IGNvbnRlbnRMb2dp
Y2FsV2lkdGgpOworICAgIExpbmVHZW9tZXRyeShjb25zdCBJbmxpbmVSZWN0JiBsaW5lQm94TG9n
aWNhbFJlY3QsIEVuY2xvc2luZ1RvcEFuZEJvdHRvbSwgSW5saW5lTGF5b3V0VW5pdCBhbGlnbWVu
dEJhc2VsaW5lLCBJbmxpbmVMYXlvdXRVbml0IGNvbnRlbnRMb2dpY2FsTGVmdCwgSW5saW5lTGF5
b3V0VW5pdCBjb250ZW50TG9naWNhbFdpZHRoKTsKIAogICAgIGNvbnN0IElubGluZVJlY3QmIGxp
bmVCb3hMb2dpY2FsUmVjdCgpIGNvbnN0IHsgcmV0dXJuIG1fbGluZUJveExvZ2ljYWxSZWN0OyB9
CiAKQEAgLTY1LDcgKzY1LDcgQEAgcHJpdmF0ZToKICAgICBJbmxpbmVMYXlvdXRVbml0IG1fY29u
dGVudExvZ2ljYWxXaWR0aCB7IDAgfTsKIH07CiAKLWlubGluZSBJbmxpbmVMaW5lR2VvbWV0cnk6
OklubGluZUxpbmVHZW9tZXRyeShjb25zdCBJbmxpbmVSZWN0JiBsaW5lQm94TG9naWNhbFJlY3Qs
IEVuY2xvc2luZ1RvcEFuZEJvdHRvbSBlbmNsb3NpbmdUb3BBbmRCb3R0b20sIElubGluZUxheW91
dFVuaXQgYWxpZ21lbnRCYXNlbGluZSwgSW5saW5lTGF5b3V0VW5pdCBjb250ZW50TG9naWNhbExl
ZnQsIElubGluZUxheW91dFVuaXQgY29udGVudExvZ2ljYWxXaWR0aCkKK2lubGluZSBMaW5lR2Vv
bWV0cnk6OkxpbmVHZW9tZXRyeShjb25zdCBJbmxpbmVSZWN0JiBsaW5lQm94TG9naWNhbFJlY3Qs
IEVuY2xvc2luZ1RvcEFuZEJvdHRvbSBlbmNsb3NpbmdUb3BBbmRCb3R0b20sIElubGluZUxheW91
dFVuaXQgYWxpZ21lbnRCYXNlbGluZSwgSW5saW5lTGF5b3V0VW5pdCBjb250ZW50TG9naWNhbExl
ZnQsIElubGluZUxheW91dFVuaXQgY29udGVudExvZ2ljYWxXaWR0aCkKICAgICA6IG1fbGluZUJv
eExvZ2ljYWxSZWN0KGxpbmVCb3hMb2dpY2FsUmVjdCkKICAgICAsIG1fZW5jbG9zaW5nVG9wQW5k
Qm90dG9tKGVuY2xvc2luZ1RvcEFuZEJvdHRvbSkKICAgICAsIG1fYWxpZ21lbnRCYXNlbGluZShh
bGlnbWVudEJhc2VsaW5lKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVn
cmF0aW9uL0xheW91dEludGVncmF0aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uSW5saW5lQ29udGVu
dEJ1aWxkZXIuY3BwCmluZGV4IDU2OGM1OTc0ZjZhMTBiMWUwOWZhMjJjYWM5NDRjYTA2OWRlNjhm
M2EuLjRjMDg5YjI0OWUxYjAxMjk2YTVmY2MxMDFlN2Y4M2Y4ZGI2MjE4ZjggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbklubGlu
ZUNvbnRlbnRCdWlsZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRp
b24vTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250ZW50QnVpbGRlci5jcHAKQEAgLTUyLDcgKzUy
LDcgQEAgc3RydWN0IExpbmVMZXZlbFZpc3VhbEFkanVzdG1lbnRzRm9yUnVucyB7CiAgICAgYm9v
bCBuZWVkc1RyYWlsaW5nQ29udGVudFJlcGxhY2VtZW50IHsgZmFsc2UgfTsKIH07CiAKLWlubGlu
ZSBMYXlvdXQ6OklubGluZUxpbmVHZW9tZXRyeTo6RW5jbG9zaW5nVG9wQW5kQm90dG9tIG9wZXJh
dG9yKyhjb25zdCBMYXlvdXQ6OklubGluZUxpbmVHZW9tZXRyeTo6RW5jbG9zaW5nVG9wQW5kQm90
dG9tIGVuY2xvc2luZ1RvcEFuZEJvdHRvbSwgZmxvYXQgb2Zmc2V0KQoraW5saW5lIExheW91dDo6
TGluZUdlb21ldHJ5OjpFbmNsb3NpbmdUb3BBbmRCb3R0b20gb3BlcmF0b3IrKGNvbnN0IExheW91
dDo6TGluZUdlb21ldHJ5OjpFbmNsb3NpbmdUb3BBbmRCb3R0b20gZW5jbG9zaW5nVG9wQW5kQm90
dG9tLCBmbG9hdCBvZmZzZXQpCiB7CiAgICAgcmV0dXJuIHsgZW5jbG9zaW5nVG9wQW5kQm90dG9t
LnRvcCArIG9mZnNldCwgZW5jbG9zaW5nVG9wQW5kQm90dG9tLmJvdHRvbSArIG9mZnNldCB9Owog
fQpAQCAtMzgzLDcgKzM4Myw3IEBAIHZvaWQgSW5saW5lQ29udGVudEJ1aWxkZXI6OmNyZWF0ZURp
c3BsYXlOb25Sb290SW5saW5lQm94ZXMoY29uc3QgTGF5b3V0OjpJbmxpbmVGCiAgICAgICAgIGlm
ICghbGluZUJveC5oYXNJbmxpbmVCb3goKSkKICAgICAgICAgICAgIGNvbnRpbnVlOwogCi0gICAg
ICAgIGF1dG8mIGxpbmVCb3hMb2dpY2FsUmVjdCA9IGxpbmVCb3gubG9naWNhbFJlY3QoKTsKKyAg
ICAgICAgYXV0byBsaW5lQm94TG9naWNhbFJlY3QgPSBpbmxpbmVGb3JtYXR0aW5nU3RhdGUubGlu
ZXMoKVtsaW5lSW5kZXhdLmxpbmVCb3hMb2dpY2FsUmVjdCgpOwogICAgICAgICBmb3IgKGF1dG8m
IGlubGluZUxldmVsQm94IDogbGluZUJveC5ub25Sb290SW5saW5lTGV2ZWxCb3hlcygpKSB7CiAg
ICAgICAgICAgICBpZiAoIWlubGluZUxldmVsQm94LmlzSW5saW5lQm94KCkpCiAgICAgICAgICAg
ICAgICAgY29udGludWU7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>