<?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>222249</bug_id>
          
          <creation_ts>2021-02-21 08:26:31 -0800</creation_ts>
          <short_desc>[LFC][IFC] Hittest should be using the border box (and not the margin box)</short_desc>
          <delta_ts>2021-02-21 13:39:14 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>koivisto</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>1731946</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2021-02-21 08:26:31 -0800</bug_when>
    <thetext>ssia</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1731950</commentid>
    <comment_count>1</comment_count>
      <attachid>421141</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-02-21 08:36:20 -0800</bug_when>
    <thetext>Created attachment 421141
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1731965</commentid>
    <comment_count>2</comment_count>
      <attachid>421143</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-02-21 11:06:47 -0800</bug_when>
    <thetext>Created attachment 421143
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1731969</commentid>
    <comment_count>3</comment_count>
      <attachid>421144</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-02-21 11:33:53 -0800</bug_when>
    <thetext>Created attachment 421144
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1731990</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-02-21 13:38:46 -0800</bug_when>
    <thetext>Committed r273223: &lt;https://commits.webkit.org/r273223&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 421144.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1731991</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-02-21 13:39:14 -0800</bug_when>
    <thetext>&lt;rdar://problem/74574306&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>421141</attachid>
            <date>2021-02-21 08:36:20 -0800</date>
            <delta_ts>2021-02-21 11:40:37 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-222249-20210221083619.patch</filename>
            <type>text/plain</type>
            <size>20753</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjczMTk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2Y0YWE3MTEyNmFmZjFj
NmU5YTkzM2Q5NjNmZjI3NjE3YmM1NGUzZC4uZDEzM2ZiMzAzMDI2NTEzODgzOTliMTA3OWY0ZjQy
ZjIyZjgyNmM0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDIxLTAyLTIxICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bSUZDXSBIaXR0ZXN0
IHNob3VsZCBiZSB1c2luZyB0aGUgYm9yZGVyIGJveCAoYW5kIG5vdCB0aGUgbWFyZ2luIGJveCkK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMjI0OQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0
Y2ggZml4ZXMgdGhlIGNhc2VzIHdoZW4gdGhlIGlubGluZSBib3ggKGUuZy4gPHNwYW4+KSBoYXMg
aG9yaXpvbnRhbAorICAgICAgICBtYXJnaW5zIGFuZCB3ZSBmaW5kIHRob3NlIGlubGluZSBib3hl
cyBpbnN0ZWFkIG9mIHRoZWlyIGNvbnRhaW5pbmcgYmxvY2tzLgorICAgICAgICBlLmcuCisgICAg
ICAgIDxkaXY+PHNwYW4gc3R5bGU9Im1hcmdpbi1sZWZ0OiAxMDBweDsiPmJvcmRlciBib3ggc3Rh
cnRzIGF0IDEwMHB4PC9zcGFuPjwvZGl2PgorICAgICAgICBkb2N1bWVudC5lbGVtZW50RnJvbVBv
aW50KDUwLCAxMCkgc2hvdWxkIG5vdCBmaW5kIHRoZSA8c3Bhbj4uCisKKyAgICAgICAgTGV0J3Mg
c2ltcGxpZnkgTGluZUJveCBpbnRlcmZhY2Ugc28gdGhhdCBpdCByZXR1cm5zIHRoZSBib3JkZXIg
Ym94LiBDbGllbnRzCisgICAgICAgIGFyZSBtYWlubHkgaW50ZXJlc3RlZCBpbiB0aGUgYm9yZGVy
IGJveC4gCisgICAgICAgIChMaW5lQm94IGlzIG1vc3RseSB0aGVyZSB0byBzdXBwb3J0IHZlcnRp
Y2FsIGFsaWdubWVudCBhbmQgdGhlIHZlcnRpY2FsCisgICAgICAgIGFsaWdubWVudCB1c2VzIHRo
ZSBtYXJnaW4gYm94IGhlaWdodC4gVGhlIGlubGluZSBsZXZlbCBib3hlcyBvbiB0aGUgbGluZSBu
b3cgaGF2ZQorICAgICAgICB0aGlzIHNlZW1pbmdseSBvZGQgY29tYmluYXRpb24gb2YgYm9yZGVy
IGJveCB3aWR0aCBhbmQgbWFyZ2luIGJveCBoZWlnaHQsIGJ1dAorICAgICAgICB0aGF0J3MgcmVx
dWlyZWQgdG8ga2VlcCB0aGUgYWxpZ25tZW50IGxvZ2ljIGNsZWFuIGFuZCBzaW1wbGUuKQorCisg
ICAgICAgICogbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6
Y29tcHV0ZUdlb21ldHJ5Rm9yTGluZUNvbnRlbnQpOgorICAgICAgICAqIGxheW91dC9pbmxpbmVm
b3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0R2VvbWV0cnkuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6TGF5b3V0OjpMaW5lQm94QnVpbGRlcjo6Y29uc3RydWN0SW5saW5lTGV2ZWxCb3hl
cyk6CisgICAgICAgICogbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUJveC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCb3g6OmxvZ2ljYWxCb3JkZXJCb3hGb3JB
dG9taWNJbmxpbmVMZXZlbEJveCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6Okxp
bmVCb3g6OmxvZ2ljYWxCb3JkZXJCb3hGb3JJbmxpbmVCb3ggY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6TGF5b3V0OjpMaW5lQm94Ojpsb2dpY2FsTWFyZ2luUmVjdEZvckF0b21pY0lubGluZUxl
dmVsQm94IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZUJv
eDo6bG9naWNhbFJlY3RGb3JJbmxpbmVCb3ggY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIGxh
eW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVCb3guaDoKKyAgICAgICAgKiBsYXlvdXQv
aW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250ZW50QnVpbGRlci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpMYXlvdXRJbnRlZ3JhdGlvbjo6SW5saW5lQ29udGVudEJ1aWxkZXI6
OmNyZWF0ZURpc3BsYXlMaW5lUnVucyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXRJ
bnRlZ3JhdGlvbjo6SW5saW5lQ29udGVudEJ1aWxkZXI6OmNyZWF0ZURpc3BsYXlOb25Sb290SW5s
aW5lQm94ZXMgY29uc3QpOgorICAgICAgICAqIGxheW91dC9sYXlvdXR0cmVlL0xheW91dFRyZWVC
dWlsZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6c2hvd0lubGluZVRyZWVBbmRS
dW5zKToKKwogMjAyMS0wMi0yMCAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAg
ICAgICAgIFtMRkNdW0ludGVncmF0aW9uXSBFbmNsb3NpbmcgdG9wIGFuZCBib3R0b20gdmFsdWUg
YXJlIHJlbGF0aXZlIHRvIHRoZSBjb250YWluaW5nIGJsb2NrJ3MgYm9yZGVyIGJveApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0
dGluZ0NvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcv
SW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwCmluZGV4IGIxMmY0MTU2OTBkMDcyZDVmZDNiMmRi
Mjg0NGRkY2FkM2Q3MzM2YmMuLjgzNmQyOGZiNDMyODkwMDE2YzYwM2I1N2ZkY2JmOTdkMmE5NmUz
MzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lu
bGluZUZvcm1hdHRpbmdDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5s
aW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5jcHAKQEAgLTQ2Niw3ICs0NjYs
NyBAQCBJbmxpbmVSZWN0IElubGluZUZvcm1hdHRpbmdDb250ZXh0Ojpjb21wdXRlR2VvbWV0cnlG
b3JMaW5lQ29udGVudChjb25zdCBMaW5lQnVpbAogICAgICAgICAgICAgfQogICAgICAgICAgICAg
Zm9yIChhdXRvKiBsYXlvdXRCb3ggOiBsYXlvdXRCb3hMaXN0KSB7CiAgICAgICAgICAgICAgICAg
YXV0byYgYm94R2VvbWV0cnkgPSBmb3JtYXR0aW5nU3RhdGUuYm94R2VvbWV0cnkoKmxheW91dEJv
eCk7Ci0gICAgICAgICAgICAgICAgYXV0byBpbmxpbmVCb3hMb2dpY2FsSGVpZ2h0ID0gTGF5b3V0
VW5pdDo6ZnJvbUZsb2F0Q2VpbChsaW5lQm94LmxvZ2ljYWxSZWN0Rm9ySW5saW5lQm94KCpsYXlv
dXRCb3gsIGJveEdlb21ldHJ5KS5oZWlnaHQoKSk7CisgICAgICAgICAgICAgICAgYXV0byBpbmxp
bmVCb3hMb2dpY2FsSGVpZ2h0ID0gTGF5b3V0VW5pdDo6ZnJvbUZsb2F0Q2VpbChsaW5lQm94Lmxv
Z2ljYWxCb3JkZXJCb3hGb3JJbmxpbmVCb3goKmxheW91dEJveCwgYm94R2VvbWV0cnkpLmhlaWdo
dCgpKTsKICAgICAgICAgICAgICAgICBib3hHZW9tZXRyeS5zZXRDb250ZW50Qm94SGVpZ2h0KGlu
bGluZUJveExvZ2ljYWxIZWlnaHQpOwogICAgICAgICAgICAgICAgIGJveEdlb21ldHJ5LnNldENv
bnRlbnRCb3hXaWR0aCh7IH0pOwogICAgICAgICAgICAgICAgIGJveEdlb21ldHJ5LnNldExvZ2lj
YWxUb3BMZWZ0KHRvTGF5b3V0UG9pbnQobGluZUJveExvZ2ljYWxSZWN0LnRvcExlZnQoKSkpOwpA
QCAtNTA3LDEyICs1MDcsMTEgQEAgSW5saW5lUmVjdCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6
Y29tcHV0ZUdlb21ldHJ5Rm9yTGluZUNvbnRlbnQoY29uc3QgTGluZUJ1aWwKICAgICAgICAgICAg
IH0KICAgICAgICAgICAgIGlmIChsaW5lUnVuLmlzQm94KCkpIHsKICAgICAgICAgICAgICAgICBB
U1NFUlQobGF5b3V0Qm94LmlzQXRvbWljSW5saW5lTGV2ZWxCb3goKSk7Ci0gICAgICAgICAgICAg
ICAgYXV0byBsb2dpY2FsTWFyZ2luUmVjdCA9IGxpbmVCb3gubG9naWNhbE1hcmdpblJlY3RGb3JB
dG9taWNJbmxpbmVMZXZlbEJveChsYXlvdXRCb3gpOwotICAgICAgICAgICAgICAgIGZvcm1hdHRp
bmdTdGF0ZS5hZGRMaW5lUnVuKHsgbGluZUluZGV4LCBsYXlvdXRCb3gsIGxvZ2ljYWxNYXJnaW5S
ZWN0LCBsaW5lUnVuLmV4cGFuc2lvbigpLCB7IH0gfSk7Ci0KLSAgICAgICAgICAgICAgICBhdXRv
IGJvcmRlckJveExvZ2ljYWxUb3BMZWZ0ID0gbG9naWNhbE1hcmdpblJlY3QudG9wTGVmdCgpOwog
ICAgICAgICAgICAgICAgIGF1dG8mIGJveEdlb21ldHJ5ID0gZm9ybWF0dGluZ1N0YXRlLmJveEdl
b21ldHJ5KGxheW91dEJveCk7Ci0gICAgICAgICAgICAgICAgYm9yZGVyQm94TG9naWNhbFRvcExl
ZnQubW92ZShzdGQ6Om1heCgwX2x1LCBib3hHZW9tZXRyeS5tYXJnaW5TdGFydCgpKSwgc3RkOjpt
YXgoMF9sdSwgYm94R2VvbWV0cnkubWFyZ2luQmVmb3JlKCkpKTsKKyAgICAgICAgICAgICAgICBh
dXRvIGxvZ2ljYWxCb3JkZXJCb3ggPSBsaW5lQm94LmxvZ2ljYWxCb3JkZXJCb3hGb3JBdG9taWNJ
bmxpbmVMZXZlbEJveChsYXlvdXRCb3gsIGJveEdlb21ldHJ5KTsKKyAgICAgICAgICAgICAgICBm
b3JtYXR0aW5nU3RhdGUuYWRkTGluZVJ1bih7IGxpbmVJbmRleCwgbGF5b3V0Qm94LCBsb2dpY2Fs
Qm9yZGVyQm94LCBsaW5lUnVuLmV4cGFuc2lvbigpLCB7IH0gfSk7CisKKyAgICAgICAgICAgICAg
ICBhdXRvIGJvcmRlckJveExvZ2ljYWxUb3BMZWZ0ID0gbG9naWNhbEJvcmRlckJveC50b3BMZWZ0
KCk7CiAgICAgICAgICAgICAgICAgLy8gTm90ZSB0aGF0IGlubGluZSBib3hlcyBhcmUgcmVsYXRp
dmUgdG8gdGhlIGxpbmUgYW5kIHRoZWlyIHRvcCBwb3NpdGlvbiBjYW4gYmUgbmVnYXRpdmUuCiAg
ICAgICAgICAgICAgICAgYm9yZGVyQm94TG9naWNhbFRvcExlZnQubW92ZUJ5KGxpbmVCb3hMb2dp
Y2FsUmVjdC50b3BMZWZ0KCkpOwogICAgICAgICAgICAgICAgIGlmIChsYXlvdXRCb3guaXNJbkZs
b3dQb3NpdGlvbmVkKCkpCkBAIC01MjgsNyArNTI3LDcgQEAgSW5saW5lUmVjdCBJbmxpbmVGb3Jt
YXR0aW5nQ29udGV4dDo6Y29tcHV0ZUdlb21ldHJ5Rm9yTGluZUNvbnRlbnQoY29uc3QgTGluZUJ1
aWwKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGlmIChsaW5lUnVuLmlzSW5saW5lQm94U3Rh
cnQoKSkgewogICAgICAgICAgICAgICAgIGF1dG8mIGJveEdlb21ldHJ5ID0gZm9ybWF0dGluZ1N0
YXRlLmJveEdlb21ldHJ5KGxheW91dEJveCk7Ci0gICAgICAgICAgICAgICAgYXV0byBpbmxpbmVC
b3hMb2dpY2FsUmVjdCA9IGxpbmVCb3gubG9naWNhbFJlY3RGb3JJbmxpbmVCb3gobGF5b3V0Qm94
LCBib3hHZW9tZXRyeSk7CisgICAgICAgICAgICAgICAgYXV0byBpbmxpbmVCb3hMb2dpY2FsUmVj
dCA9IGxpbmVCb3gubG9naWNhbEJvcmRlckJveEZvcklubGluZUJveChsYXlvdXRCb3gsIGJveEdl
b21ldHJ5KTsKICAgICAgICAgICAgICAgICBmb3JtYXR0aW5nU3RhdGUuYWRkTGluZVJ1bih7IGxp
bmVJbmRleCwgbGF5b3V0Qm94LCBpbmxpbmVCb3hMb2dpY2FsUmVjdCwgbGluZVJ1bi5leHBhbnNp
b24oKSwgeyB9IH0pOwogICAgICAgICAgICAgICAgIGlubGluZUJveFN0YXJ0U2V0LmFkZCgmbGF5
b3V0Qm94KTsKICAgICAgICAgICAgICAgICBlbmNsb3NpbmdUb3BBbmRCb3R0b20udG9wID0gc3Rk
OjptaW4oZW5jbG9zaW5nVG9wQW5kQm90dG9tLnRvcCwgaW5saW5lQm94TG9naWNhbFJlY3QudG9w
KCkpOwpAQCAtNTM2LDcgKzUzNSw3IEBAIElubGluZVJlY3QgSW5saW5lRm9ybWF0dGluZ0NvbnRl
eHQ6OmNvbXB1dGVHZW9tZXRyeUZvckxpbmVDb250ZW50KGNvbnN0IExpbmVCdWlsCiAgICAgICAg
ICAgICB9CiAgICAgICAgICAgICBpZiAobGluZVJ1bi5pc0lubGluZUJveEVuZCgpKSB7CiAgICAg
ICAgICAgICAgICAgaW5saW5lQm94RW5kU2V0LmFkZCgmbGF5b3V0Qm94KTsKLSAgICAgICAgICAg
ICAgICBhdXRvIGlubGluZUJveExvZ2ljYWxSZWN0ID0gbGluZUJveC5sb2dpY2FsUmVjdEZvcklu
bGluZUJveChsYXlvdXRCb3gsIGZvcm1hdHRpbmdTdGF0ZS5ib3hHZW9tZXRyeShsYXlvdXRCb3gp
KTsKKyAgICAgICAgICAgICAgICBhdXRvIGlubGluZUJveExvZ2ljYWxSZWN0ID0gbGluZUJveC5s
b2dpY2FsQm9yZGVyQm94Rm9ySW5saW5lQm94KGxheW91dEJveCwgZm9ybWF0dGluZ1N0YXRlLmJv
eEdlb21ldHJ5KGxheW91dEJveCkpOwogICAgICAgICAgICAgICAgIGVuY2xvc2luZ1RvcEFuZEJv
dHRvbS5ib3R0b20gPSBzdGQ6Om1heChlbmNsb3NpbmdUb3BBbmRCb3R0b20uYm90dG9tLCBpbmxp
bmVCb3hMb2dpY2FsUmVjdC5ib3R0b20oKSk7CiAgICAgICAgICAgICAgICAgY29udGludWU7CiAg
ICAgICAgICAgICB9CkBAIC01NTcsMzAgKzU1NiwyMCBAQCBJbmxpbmVSZWN0IElubGluZUZvcm1h
dHRpbmdDb250ZXh0Ojpjb21wdXRlR2VvbWV0cnlGb3JMaW5lQ29udGVudChjb25zdCBMaW5lQnVp
bAogICAgICAgICAgICAgYXV0byYgbGF5b3V0Qm94ID0gaW5saW5lTGV2ZWxCb3gtPmxheW91dEJv
eCgpOwogICAgICAgICAgICAgYXV0byYgYm94R2VvbWV0cnkgPSBmb3JtYXR0aW5nU3RhdGUuYm94
R2VvbWV0cnkobGF5b3V0Qm94KTsKICAgICAgICAgICAgIC8vIElubGluZSBib3hlcyBtYXkgb3Ig
bWF5IG5vdCBiZSB3cmFwcGVkIGFuZCBoYXZlIHJ1bnMgb24gbXVsdGlwbGUgbGluZXMgKGUuZy4g
PHNwYW4+Zmlyc3QgbGluZTxicj5zZWNvbmQgbGluZTxicj50aGlyZCBsaW5lPC9zcGFuPikKLSAg
ICAgICAgICAgIGF1dG8gaW5saW5lQm94TWFyZ2luUmVjdCA9IGxpbmVCb3gubG9naWNhbFJlY3RG
b3JJbmxpbmVCb3gobGF5b3V0Qm94LCBib3hHZW9tZXRyeSk7Ci0gICAgICAgICAgICBhdXRvIGlu
bGluZUJveFNpemUgPSBMYXlvdXRTaXplIHsgTGF5b3V0VW5pdDo6ZnJvbUZsb2F0Q2VpbChpbmxp
bmVCb3hNYXJnaW5SZWN0LndpZHRoKCkpLCBMYXlvdXRVbml0Ojpmcm9tRmxvYXRDZWlsKGlubGlu
ZUJveE1hcmdpblJlY3QuaGVpZ2h0KCkpIH07Ci0gICAgICAgICAgICBhdXRvIGxvZ2ljYWxSZWN0
ID0gUmVjdCB7IExheW91dFBvaW50IHsgaW5saW5lQm94TWFyZ2luUmVjdC50b3BMZWZ0KCkgfSwg
aW5saW5lQm94U2l6ZSB9OworICAgICAgICAgICAgYXV0byBpbmxpbmVCb3hCb3JkZXJCb3ggPSBs
aW5lQm94LmxvZ2ljYWxCb3JkZXJCb3hGb3JJbmxpbmVCb3gobGF5b3V0Qm94LCBib3hHZW9tZXRy
eSk7CisgICAgICAgICAgICBhdXRvIGlubGluZUJveFNpemUgPSBMYXlvdXRTaXplIHsgTGF5b3V0
VW5pdDo6ZnJvbUZsb2F0Q2VpbChpbmxpbmVCb3hCb3JkZXJCb3gud2lkdGgoKSksIExheW91dFVu
aXQ6OmZyb21GbG9hdENlaWwoaW5saW5lQm94Qm9yZGVyQm94LmhlaWdodCgpKSB9OworICAgICAg
ICAgICAgYXV0byBsb2dpY2FsUmVjdCA9IFJlY3QgeyBMYXlvdXRQb2ludCB7IGlubGluZUJveEJv
cmRlckJveC50b3BMZWZ0KCkgfSwgaW5saW5lQm94U2l6ZSB9OwogICAgICAgICAgICAgbG9naWNh
bFJlY3QubW92ZUJ5KExheW91dFBvaW50IHsgbGluZUJveExvZ2ljYWxSZWN0LnRvcExlZnQoKSB9
KTsKICAgICAgICAgICAgIGlmIChpbmxpbmVCb3hTdGFydFNldC5jb250YWlucygmbGF5b3V0Qm94
KSkgewogICAgICAgICAgICAgICAgIC8vIFRoaXMgaW5saW5lIGJveCBzaG93ZWQgdXAgZmlyc3Qg
b24gdGhpcyBsaW5lLgotICAgICAgICAgICAgICAgIGxvZ2ljYWxSZWN0Lm1vdmVIb3Jpem9udGFs
bHkoYm94R2VvbWV0cnkubWFyZ2luU3RhcnQoKSk7CiAgICAgICAgICAgICAgICAgYm94R2VvbWV0
cnkuc2V0TG9naWNhbFRvcExlZnQobG9naWNhbFJlY3QudG9wTGVmdCgpKTsKICAgICAgICAgICAg
ICAgICBhdXRvIGNvbnRlbnRCb3hIZWlnaHQgPSBsb2dpY2FsUmVjdC5oZWlnaHQoKSAtIChib3hH
ZW9tZXRyeS52ZXJ0aWNhbEJvcmRlcigpICsgYm94R2VvbWV0cnkudmVydGljYWxQYWRkaW5nKCku
dmFsdWVPcigwX2x1KSk7CiAgICAgICAgICAgICAgICAgYm94R2VvbWV0cnkuc2V0Q29udGVudEJv
eEhlaWdodChjb250ZW50Qm94SGVpZ2h0KTsKICAgICAgICAgICAgICAgICBhdXRvIGNvbnRlbnRC
b3hXaWR0aCA9IGxvZ2ljYWxSZWN0LndpZHRoKCkgLSAoYm94R2VvbWV0cnkuaG9yaXpvbnRhbEJv
cmRlcigpICsgYm94R2VvbWV0cnkuaG9yaXpvbnRhbFBhZGRpbmcoKS52YWx1ZU9yKDBfbHUpKTsK
LSAgICAgICAgICAgICAgICBpZiAoaW5saW5lQm94RW5kU2V0LmNvbnRhaW5zKCZsYXlvdXRCb3gp
KSB7Ci0gICAgICAgICAgICAgICAgICAgIC8vIFRoaXMgaXMgYSBzaW5nbGUgbGluZSBpbmxpbmUg
Ym94LgotICAgICAgICAgICAgICAgICAgICBjb250ZW50Qm94V2lkdGggLT0gc3RkOjptYXgoMF9s
dSwgYm94R2VvbWV0cnkubWFyZ2luU3RhcnQoKSkgKyBzdGQ6Om1heCgwX2x1LCBib3hHZW9tZXRy
eS5tYXJnaW5FbmQoKSk7Ci0gICAgICAgICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICAgICAg
ICAgIGNvbnRlbnRCb3hXaWR0aCAtPSBzdGQ6Om1heCgwX2x1LCBib3hHZW9tZXRyeS5tYXJnaW5T
dGFydCgpKTsKICAgICAgICAgICAgICAgICBib3hHZW9tZXRyeS5zZXRDb250ZW50Qm94V2lkdGgo
Y29udGVudEJveFdpZHRoKTsKICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAg
IH0KICAgICAgICAgICAgIC8vIE1pZGRsZSBvciBlbmQgb2YgdGhlIGlubGluZSBib3guIExldCdz
IHN0cmV0Y2ggdGhlIGJveCBhcyBuZWVkZWQuCi0gICAgICAgICAgICBpZiAoaW5saW5lQm94RW5k
U2V0LmNvbnRhaW5zKCZsYXlvdXRCb3gpKSB7Ci0gICAgICAgICAgICAgICAgLy8gVGhlIGlubGlu
ZSBib3ggZW5kcyBvbiB0aGlzIGxpbmUgZS5nLiA8c3Bhbj5maXN0PGJyPm1pZGRsZTxicj5sYXN0
IGxpbmU8L3NwYW4+Ci0gICAgICAgICAgICAgICAgbG9naWNhbFJlY3QuZXhwYW5kSG9yaXpvbnRh
bGx5KC1zdGQ6Om1heCgwX2x1LCBib3hHZW9tZXRyeS5tYXJnaW5FbmQoKSkpOwotICAgICAgICAg
ICAgfQogICAgICAgICAgICAgYXV0byBlbmNsb3NpbmdCb3JkZXJCb3hSZWN0ID0gQm94R2VvbWV0
cnk6OmJvcmRlckJveFJlY3QoYm94R2VvbWV0cnkpOwogICAgICAgICAgICAgZW5jbG9zaW5nQm9y
ZGVyQm94UmVjdC5leHBhbmRUb0NvbnRhaW4obG9naWNhbFJlY3QpOwogICAgICAgICAgICAgYm94
R2VvbWV0cnkuc2V0TG9naWNhbExlZnQoZW5jbG9zaW5nQm9yZGVyQm94UmVjdC5sZWZ0KCkpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5l
Rm9ybWF0dGluZ0NvbnRleHRHZW9tZXRyeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5s
aW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcAppbmRleCBj
OTgzNTA5MGE0YmYwNWI1MTYwM2Y0N2VhMDFhY2IyNmZjYTkwZTk4Li45Y2NiMDg2ZmZjZmUyYTA4
OWMzOTM4ZTk2MzIyMWRlNGVkMDk2ODQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0
aW5nQ29udGV4dEdlb21ldHJ5LmNwcApAQCAtMzAxLDcgKzMwMSw4IEBAIHZvaWQgTGluZUJveEJ1
aWxkZXI6OmNvbnN0cnVjdElubGluZUxldmVsQm94ZXMoTGluZUJveCYgbGluZUJveCwgY29uc3Qg
TGluZTo6UnVuCiAgICAgICAgICAgICAgICAgYXNjZW50ID0gZG93bmNhc3Q8UmVwbGFjZWRCb3g+
KGxheW91dEJveCkuYmFzZWxpbmUoKS52YWx1ZU9yKG1hcmdpbkJveEhlaWdodCk7CiAgICAgICAg
ICAgICBlbHNlCiAgICAgICAgICAgICAgICAgYXNjZW50ID0gbWFyZ2luQm94SGVpZ2h0OwotICAg
ICAgICAgICAgYXV0byBhdG9taWNJbmxpbmVMZXZlbEJveCA9IExpbmVCb3g6OklubGluZUxldmVs
Qm94OjpjcmVhdGVBdG9taWNJbmxpbmVMZXZlbEJveChsYXlvdXRCb3gsIGxvZ2ljYWxMZWZ0LCB7
IHJ1bi5sb2dpY2FsV2lkdGgoKSwgbWFyZ2luQm94SGVpZ2h0IH0pOworICAgICAgICAgICAgbG9n
aWNhbExlZnQgKz0gc3RkOjptYXgoMF9sdSwgaW5saW5lTGV2ZWxCb3hHZW9tZXRyeS5tYXJnaW5T
dGFydCgpKTsKKyAgICAgICAgICAgIGF1dG8gYXRvbWljSW5saW5lTGV2ZWxCb3ggPSBMaW5lQm94
OjpJbmxpbmVMZXZlbEJveDo6Y3JlYXRlQXRvbWljSW5saW5lTGV2ZWxCb3gobGF5b3V0Qm94LCBs
b2dpY2FsTGVmdCwgeyBpbmxpbmVMZXZlbEJveEdlb21ldHJ5LmJvcmRlckJveFdpZHRoKCksIG1h
cmdpbkJveEhlaWdodCB9KTsKICAgICAgICAgICAgIGF0b21pY0lubGluZUxldmVsQm94LT5zZXRC
YXNlbGluZShhc2NlbnQpOwogICAgICAgICAgICAgYXRvbWljSW5saW5lTGV2ZWxCb3gtPnNldExh
eW91dEJvdW5kcyhMaW5lQm94OjpJbmxpbmVMZXZlbEJveDo6TGF5b3V0Qm91bmRzIHsgYXNjZW50
LCBtYXJnaW5Cb3hIZWlnaHQgLSBhc2NlbnQgfSk7CiAgICAgICAgICAgICAvLyBMZXQncyBwcmUt
Y29tcHV0ZSB0aGUgbG9naWNhbCB0b3Agc28gdGhhdCB3ZSBjYW4gYXZvaWQgcnVubmluZyB0aGUg
YWxpZ25tZW50IG9uIHNpbXBsZSBpbmxpbmUgYm94ZXMuCkBAIC0zMzUsOCArMzM2LDE0IEBAIHZv
aWQgTGluZUJveEJ1aWxkZXI6OmNvbnN0cnVjdElubGluZUxldmVsQm94ZXMoTGluZUJveCYgbGlu
ZUJveCwgY29uc3QgTGluZTo6UnVuCiAgICAgICAgIC8vIGUuZy4gPGRpdj48c3Bhbj48L3NwYW4+
PHNwYW4+PC9zcGFuPjwvZGl2PiBpcyBzdGlsbCBva2F5LgogICAgICAgICBtX2lubGluZUxldmVs
Qm94ZXNOZWVkVmVydGljYWxBbGlnbm1lbnQgPSBtX2lubGluZUxldmVsQm94ZXNOZWVkVmVydGlj
YWxBbGlnbm1lbnQgfHwgbGluZUhhc0NvbnRlbnQ7CiAgICAgICAgIGlmIChydW4uaXNJbmxpbmVC
b3hTdGFydCgpKSB7CisgICAgICAgICAgICAvLyBBdCB0aGlzIHBvaW50IHdlIGRvbid0IGtub3cg
eWV0IGhvdyB3aWRlIHRoaXMgaW5saW5lIGJveCBpcy4gTGV0J3MgYXNzdW1lIGl0J3MgYXMgbG9u
ZyBhcyB0aGUgbGluZSBpcworICAgICAgICAgICAgLy8gYW5kIGFkanVzdCBpdCBsYXRlciBpZiB3
ZSBjb21lIGFjcm9zcyBhbiBpbmxpbmVCb3hFbmQgcnVuIChzZWUgYmVsb3cpLgogICAgICAgICAg
ICAgYXV0byBpbml0aWFsTG9naWNhbFdpZHRoID0gbGluZUJveC5jb250ZW50TG9naWNhbFdpZHRo
KCkgLSBydW4ubG9naWNhbExlZnQoKTsKICAgICAgICAgICAgIEFTU0VSVChpbml0aWFsTG9naWNh
bFdpZHRoID49IDApOworICAgICAgICAgICAgLy8gSW5saW5lIGJveCBydW4gaXMgYmFzZWQgb24g
bWFyZ2luIGJveC4gTGV0J3MgY29udmVydCBpdCB0byBib3JkZXIgYm94LgorICAgICAgICAgICAg
YXV0byBtYXJnaW5TdGFydCA9IHN0ZDo6bWF4KDBfbHUsIGZvcm1hdHRpbmdDb250ZXh0KCkuZ2Vv
bWV0cnlGb3JCb3gobGF5b3V0Qm94KS5tYXJnaW5TdGFydCgpKTsKKyAgICAgICAgICAgIGxvZ2lj
YWxMZWZ0ICs9IG1hcmdpblN0YXJ0OworICAgICAgICAgICAgaW5pdGlhbExvZ2ljYWxXaWR0aCAt
PSBtYXJnaW5TdGFydDsKICAgICAgICAgICAgIGF1dG8gaW5saW5lQm94ID0gTGluZUJveDo6SW5s
aW5lTGV2ZWxCb3g6OmNyZWF0ZUlubGluZUJveChsYXlvdXRCb3gsIGxvZ2ljYWxMZWZ0LCBpbml0
aWFsTG9naWNhbFdpZHRoKTsKICAgICAgICAgICAgIHNldFZlcnRpY2FsR2VvbWV0cnlGb3JJbmxp
bmVCb3goKmlubGluZUJveCk7CiAgICAgICAgICAgICBsaW5lQm94LmFkZElubGluZUxldmVsQm94
KFdURk1vdmUoaW5saW5lQm94KSk7CkBAIC0zNDYsNyArMzUzLDkgQEAgdm9pZCBMaW5lQm94QnVp
bGRlcjo6Y29uc3RydWN0SW5saW5lTGV2ZWxCb3hlcyhMaW5lQm94JiBsaW5lQm94LCBjb25zdCBM
aW5lOjpSdW4KICAgICAgICAgICAgIC8vIEFkanVzdCB0aGUgbG9naWNhbCB3aWR0aCB3aGVuIHRo
ZSBpbmxpbmUgbGV2ZWwgY29udGFpbmVyIGNsb3NlcyBvbiB0aGlzIGxpbmUuCiAgICAgICAgICAg
ICBhdXRvJiBpbmxpbmVCb3ggPSBsaW5lQm94LmlubGluZUxldmVsQm94Rm9yTGF5b3V0Qm94KGxh
eW91dEJveCk7CiAgICAgICAgICAgICBBU1NFUlQoaW5saW5lQm94LmlzSW5saW5lQm94KCkpOwot
ICAgICAgICAgICAgYXV0byBpbmxpbmVCb3hMb2dpY2FsUmlnaHQgPSBsb2dpY2FsTGVmdCArIHJ1
bi5sb2dpY2FsV2lkdGgoKTsgCisgICAgICAgICAgICAvLyBJbmxpbmUgYm94IHJ1biBpcyBiYXNl
ZCBvbiBtYXJnaW4gYm94LiBMZXQncyBjb252ZXJ0IGl0IHRvIGJvcmRlciBib3guCisgICAgICAg
ICAgICBhdXRvIG1hcmdpbkVuZCA9IHN0ZDo6bWF4KDBfbHUsIGZvcm1hdHRpbmdDb250ZXh0KCku
Z2VvbWV0cnlGb3JCb3gobGF5b3V0Qm94KS5tYXJnaW5FbmQoKSk7CisgICAgICAgICAgICBhdXRv
IGlubGluZUJveExvZ2ljYWxSaWdodCA9IGxvZ2ljYWxMZWZ0ICsgcnVuLmxvZ2ljYWxXaWR0aCgp
IC0gbWFyZ2luRW5kOwogICAgICAgICAgICAgaW5saW5lQm94LnNldExvZ2ljYWxXaWR0aChpbmxp
bmVCb3hMb2dpY2FsUmlnaHQgLSBpbmxpbmVCb3gubG9naWNhbExlZnQoKSk7CiAgICAgICAgICAg
ICBjb250aW51ZTsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lQm94LmNwcAppbmRleCAwNDE0ZDk4ODYwY2M1
MDJmZGE1NDc0YmM3NDA2NmQzOTg2NThkMjE0Li40NDA1NWQ0ODY0YmYzOTg1MDE1YTE2YTRmODhj
MTgxNTkzODRmMzU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9y
bWF0dGluZy9JbmxpbmVMaW5lQm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5s
aW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lQm94LmNwcApAQCAtMTUyLDIwICsxNTIsMjUgQEAgSW5s
aW5lUmVjdCBMaW5lQm94Ojpsb2dpY2FsUmVjdEZvcklubGluZUxldmVsQm94KGNvbnN0IEJveCYg
bGF5b3V0Qm94KSBjb25zdAogICAgIHJldHVybiBJbmxpbmVSZWN0IHsgaW5saW5lQm94QWJzb2x1
dGVsb2dpY2FsVG9wLCBpbmxpbmVCb3hMb2dpY2FsUmVjdC5sZWZ0KCksIGlubGluZUJveExvZ2lj
YWxSZWN0LndpZHRoKCksIGlubGluZUJveExvZ2ljYWxSZWN0LmhlaWdodCgpIH07CiB9CiAKLUlu
bGluZVJlY3QgTGluZUJveDo6bG9naWNhbE1hcmdpblJlY3RGb3JBdG9taWNJbmxpbmVMZXZlbEJv
eChjb25zdCBCb3gmIGxheW91dEJveCkgY29uc3QKK0lubGluZVJlY3QgTGluZUJveDo6bG9naWNh
bEJvcmRlckJveEZvckF0b21pY0lubGluZUxldmVsQm94KGNvbnN0IEJveCYgbGF5b3V0Qm94LCBj
b25zdCBCb3hHZW9tZXRyeSYgYm94R2VvbWV0cnkpIGNvbnN0CiB7CiAgICAgQVNTRVJUKGxheW91
dEJveC5pc0F0b21pY0lubGluZUxldmVsQm94KCkpOwotICAgIHJldHVybiBsb2dpY2FsUmVjdEZv
cklubGluZUxldmVsQm94KGxheW91dEJveCk7CisgICAgYXV0byBsb2dpY2FsUmVjdCA9IGxvZ2lj
YWxSZWN0Rm9ySW5saW5lTGV2ZWxCb3gobGF5b3V0Qm94KTsKKyAgICAvLyBJbmxpbmUgbGV2ZWwg
Ym94ZXMgdXNlIHRoZWlyIG1hcmdpbiBib3ggZm9yIHZlcnRpY2FsIGFsaWdubWVudC4gTGV0J3Mg
Y292ZXJ0IHRoZW0gdG8gYm9yZGVyIGJveGVzLgorICAgIGF1dG8gdXNlZE1hcmdpbkJlZm9yZSA9
IHN0ZDo6bWF4KDBfbHUsIGJveEdlb21ldHJ5Lm1hcmdpbkJlZm9yZSgpKTsKKyAgICBsb2dpY2Fs
UmVjdC5tb3ZlVmVydGljYWxseSh1c2VkTWFyZ2luQmVmb3JlKTsKKyAgICBhdXRvIHZlcnRpY2Fs
TWFyZ2luID0gdXNlZE1hcmdpbkJlZm9yZSArIHN0ZDo6bWF4KDBfbHUsIGJveEdlb21ldHJ5Lm1h
cmdpbkFmdGVyKCkpOworICAgIGxvZ2ljYWxSZWN0LmV4cGFuZFZlcnRpY2FsbHkoLXZlcnRpY2Fs
TWFyZ2luKTsKKyAgICByZXR1cm4gbG9naWNhbFJlY3Q7CiB9CiAKLUlubGluZVJlY3QgTGluZUJv
eDo6bG9naWNhbFJlY3RGb3JJbmxpbmVCb3goY29uc3QgQm94JiBsYXlvdXRCb3gsIGNvbnN0IEJv
eEdlb21ldHJ5JiBib3hHZW9tZXRyeSkgY29uc3QKK0lubGluZVJlY3QgTGluZUJveDo6bG9naWNh
bEJvcmRlckJveEZvcklubGluZUJveChjb25zdCBCb3gmIGxheW91dEJveCwgY29uc3QgQm94R2Vv
bWV0cnkmIGJveEdlb21ldHJ5KSBjb25zdAogewogICAgIGF1dG8gbG9naWNhbFJlY3QgPSBsb2dp
Y2FsUmVjdEZvcklubGluZUxldmVsQm94KGxheW91dEJveCk7Ci0gICAgLy8gVGhpcyBsb2dpY2Fs
IHJlY3QgaXMgYXMgdGFsbCBhcyB0aGUgInRleHQiIGNvbnRlbnQgaXMuIExldCdzIGFkanVzdCB3
aXRoIHZlcnRpY2FsIGJvcmRlciBhbmQgcGFkZGluZyAtdmVydGljYWwgbWFyZ2luIGlzIGlnbm9y
ZWQuCisgICAgLy8gVGhpcyBsb2dpY2FsIHJlY3QgaXMgYXMgdGFsbCBhcyB0aGUgInRleHQiIGNv
bnRlbnQgaXMuIExldCdzIGFkanVzdCB3aXRoIHZlcnRpY2FsIGJvcmRlciBhbmQgcGFkZGluZy4K
ICAgICBhdXRvIHZlcnRpY2FsQm9yZGVyQW5kUGFkZGluZyA9IGJveEdlb21ldHJ5LnZlcnRpY2Fs
Qm9yZGVyKCkgKyBib3hHZW9tZXRyeS52ZXJ0aWNhbFBhZGRpbmcoKS52YWx1ZU9yKDBfbHUpOwog
ICAgIGxvZ2ljYWxSZWN0LmV4cGFuZFZlcnRpY2FsbHkodmVydGljYWxCb3JkZXJBbmRQYWRkaW5n
KTsKICAgICBsb2dpY2FsUmVjdC5tb3ZlVmVydGljYWxseSgtKGJveEdlb21ldHJ5LmJvcmRlclRv
cCgpICsgYm94R2VvbWV0cnkucGFkZGluZ1RvcCgpLnZhbHVlT3IoMF9sdSkpKTsKLSAgICAvLyBU
aGlzIGlzIGVzc2VudGlhbGx5IG1hcmdpbiBib3ggcmVjdCB3aXRob3V0IHRoZSB2ZXJ0aWNhbCBt
YXJnaW5zLgogICAgIHJldHVybiBsb2dpY2FsUmVjdDsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUJveC5oIGIvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUJveC5oCmluZGV4IGNm
MjIzMmNmM2FiNzk4MDQwN2M2Njc0NDk0Y2ZkMmZkZmY3NmYzOGMuLjRkMzE4Y2QzY2Q0Y2ZhMGM3
MzRhN2YxMDliMzdhNmQ4MGYwYjA2MzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVCb3guaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lQm94LmgKQEAgLTEyMiw2ICsxMjIsNyBA
QCBwdWJsaWM6CiAKICAgICBwcml2YXRlOgogICAgICAgICBXZWFrUHRyPGNvbnN0IEJveD4gbV9s
YXlvdXRCb3g7CisgICAgICAgIC8vIFRoaXMgaXMgdGhlIGNvbWJpbmF0aW9uIG9mIG1hcmdpbiBh
bmQgYm9yZGVyIGJveGVzLiBJbmxpbmUgbGV2ZWwgYm94ZXMgYXJlIHZlcnRpY2FsbHkgYWxpZ25l
ZCB1c2luZyB0aGVpciBtYXJnaW4gYm94ZXMuCiAgICAgICAgIElubGluZVJlY3QgbV9sb2dpY2Fs
UmVjdDsKICAgICAgICAgTGF5b3V0Qm91bmRzIG1fbGF5b3V0Qm91bmRzOwogICAgICAgICBJbmxp
bmVMYXlvdXRVbml0IG1fYmFzZWxpbmUgeyAwIH07CkBAIC0xNTEsOSArMTUyLDkgQEAgcHVibGlj
OgogCiAgICAgSW5saW5lUmVjdCBsb2dpY2FsUmVjdEZvclRleHRSdW4oY29uc3QgTGluZTo6UnVu
JikgY29uc3Q7CiAgICAgSW5saW5lUmVjdCBsb2dpY2FsUmVjdEZvckxpbmVCcmVha0JveChjb25z
dCBCb3gmKSBjb25zdDsKLSAgICBJbmxpbmVSZWN0IGxvZ2ljYWxNYXJnaW5SZWN0Rm9yQXRvbWlj
SW5saW5lTGV2ZWxCb3goY29uc3QgQm94JikgY29uc3Q7CiAgICAgSW5saW5lUmVjdCBsb2dpY2Fs
UmVjdEZvclJvb3RJbmxpbmVCb3goKSBjb25zdCB7IHJldHVybiBtX3Jvb3RJbmxpbmVCb3gtPmxv
Z2ljYWxSZWN0KCk7IH0KLSAgICBJbmxpbmVSZWN0IGxvZ2ljYWxSZWN0Rm9ySW5saW5lQm94KGNv
bnN0IEJveCYsIGNvbnN0IEJveEdlb21ldHJ5JikgY29uc3Q7CisgICAgSW5saW5lUmVjdCBsb2dp
Y2FsQm9yZGVyQm94Rm9yQXRvbWljSW5saW5lTGV2ZWxCb3goY29uc3QgQm94JiwgY29uc3QgQm94
R2VvbWV0cnkmKSBjb25zdDsKKyAgICBJbmxpbmVSZWN0IGxvZ2ljYWxCb3JkZXJCb3hGb3JJbmxp
bmVCb3goY29uc3QgQm94JiwgY29uc3QgQm94R2VvbWV0cnkmKSBjb25zdDsKIAogICAgIGNvbnN0
IElubGluZUxldmVsQm94JiByb290SW5saW5lQm94KCkgY29uc3QgeyByZXR1cm4gKm1fcm9vdElu
bGluZUJveDsgfQogICAgIHVzaW5nIElubGluZUxldmVsQm94TGlzdCA9IFZlY3RvcjxzdGQ6OnVu
aXF1ZV9wdHI8SW5saW5lTGV2ZWxCb3g+PjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnRCdWlsZGVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbklu
bGluZUNvbnRlbnRCdWlsZGVyLmNwcAppbmRleCBiNjcyODk5ZmYzOTMyZDNmOWYyMjQ1MGU2OTgz
NTNhNTczMThkZDkxLi4zNzYzYWE3YjAxMWJlNDgwMjZmN2VjYmU2MGIwMTEwZmY5OWYwYmY0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdy
YXRpb25JbmxpbmVDb250ZW50QnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuY3BwCkBA
IC0yMjgsMTIgKzIyOCwxMSBAQCB2b2lkIElubGluZUNvbnRlbnRCdWlsZGVyOjpjcmVhdGVEaXNw
bGF5TGluZVJ1bnMoY29uc3QgTGF5b3V0OjpJbmxpbmVGb3JtYXR0aW5nUwogICAgICAgICBhdXRv
JiBsYXlvdXRCb3ggPSBsaW5lUnVuLmxheW91dEJveCgpOwogICAgICAgICBhdXRvIGxpbmVJbmRl
eCA9IGxpbmVSdW4ubGluZUluZGV4KCk7CiAgICAgICAgIGF1dG8mIGxpbmVCb3hMb2dpY2FsUmVj
dCA9IGxpbmVzW2xpbmVJbmRleF0ubGluZUJveExvZ2ljYWxSZWN0KCk7Ci0gICAgICAgIC8vIElu
bGluZSBib3hlcyBhcmUgcmVsYXRpdmUgdG8gdGhlIGxpbmUgYm94IHdoaWxlIGZpbmFsIFJ1bnMg
bmVlZCB0byBiZSByZWxhdGl2ZSB0byB0aGUgcGFyZW50IEJveAorICAgICAgICAvLyBJbmxpbmUg
Ym94ZXMgYXJlIHJlbGF0aXZlIHRvIHRoZSBsaW5lIGJveCB3aGlsZSBmaW5hbCBydW5zIG5lZWQg
dG8gYmUgcmVsYXRpdmUgdG8gdGhlIHBhcmVudCBib3gKICAgICAgICAgLy8gRklYTUU6IFNob3Vs
ZG4ndCB3ZSBqdXN0IGxlYXZlIHRoZW0gYmUgcmVsYXRpdmUgdG8gdGhlIGxpbmUgYm94PwogICAg
ICAgICBhdXRvIHJ1blJlY3QgPSBGbG9hdFJlY3QgeyBsaW5lUnVuLmxvZ2ljYWxSZWN0KCkgfTsK
LSAgICAgICAgLy8gTGluZSBydW5zIGFyZSBtYXJnaW4gYm94IGJhc2VkLCBsZXQncyBjb252ZXJ0
IHRoZW0gdG8gYm9yZGVyIGJveC4KICAgICAgICAgYXV0byYgZ2VvbWV0cnkgPSBtX2xheW91dFN0
YXRlLmdlb21ldHJ5Rm9yQm94KGxheW91dEJveCk7Ci0gICAgICAgIHJ1blJlY3QubW92ZUJ5KHsg
bGluZUJveExvZ2ljYWxSZWN0LmxlZnQoKSArIHN0ZDo6bWF4KGdlb21ldHJ5Lm1hcmdpblN0YXJ0
KCksIDBfbHUpLCBsaW5lQm94TG9naWNhbFJlY3QudG9wKCkgKyBnZW9tZXRyeS5tYXJnaW5CZWZv
cmUoKSB9KTsKKyAgICAgICAgcnVuUmVjdC5tb3ZlQnkoeyBsaW5lQm94TG9naWNhbFJlY3QubGVm
dCgpLCBsaW5lQm94TG9naWNhbFJlY3QudG9wKCkgfSk7CiAgICAgICAgIHJ1blJlY3Quc2V0U2l6
ZSh7IGdlb21ldHJ5LmJvcmRlckJveFdpZHRoKCksIGdlb21ldHJ5LmJvcmRlckJveEhlaWdodCgp
IH0pOwogICAgICAgICBpZiAobGluZUxldmVsVmlzdWFsQWRqdXN0bWVudHNGb3JSdW5zW2xpbmVJ
bmRleF0ubmVlZHNJbnRlZ3JhbFBvc2l0aW9uKQogICAgICAgICAgICAgcnVuUmVjdC5zZXRZKHJv
dW5kVG9JbnQocnVuUmVjdC55KCkpKTsKQEAgLTI0OCw4ICsyNDcsNiBAQCB2b2lkIElubGluZUNv
bnRlbnRCdWlsZGVyOjpjcmVhdGVEaXNwbGF5TGluZVJ1bnMoY29uc3QgTGF5b3V0OjpJbmxpbmVG
b3JtYXR0aW5nUwogICAgICAgICBhdXRvIGxpbmVJbmRleCA9IGxpbmVSdW4ubGluZUluZGV4KCk7
CiAgICAgICAgIGF1dG8mIGxpbmVCb3hMb2dpY2FsUmVjdCA9IGxpbmVzW2xpbmVJbmRleF0ubGlu
ZUJveExvZ2ljYWxSZWN0KCk7CiAgICAgICAgIGF1dG8gcnVuUmVjdCA9IEZsb2F0UmVjdCB7IGxp
bmVSdW4ubG9naWNhbFJlY3QoKSB9OwotICAgICAgICAvLyBJbmxpbmUgYm94ZXMgYXJlIHJlbGF0
aXZlIHRvIHRoZSBsaW5lIGJveCB3aGlsZSBmaW5hbCBSdW5zIG5lZWQgdG8gYmUgcmVsYXRpdmUg
dG8gdGhlIHBhcmVudCBCb3gKLSAgICAgICAgLy8gRklYTUU6IFNob3VsZG4ndCB3ZSBqdXN0IGxl
YXZlIHRoZW0gYmUgcmVsYXRpdmUgdG8gdGhlIGxpbmUgYm94PwogICAgICAgICBydW5SZWN0Lm1v
dmVCeSh7IGxpbmVCb3hMb2dpY2FsUmVjdC5sZWZ0KCksIGxpbmVCb3hMb2dpY2FsUmVjdC50b3Ao
KSB9KTsKICAgICAgICAgaWYgKGxpbmVMZXZlbFZpc3VhbEFkanVzdG1lbnRzRm9yUnVuc1tsaW5l
SW5kZXhdLm5lZWRzSW50ZWdyYWxQb3NpdGlvbikKICAgICAgICAgICAgIHJ1blJlY3Quc2V0WShy
b3VuZFRvSW50KHJ1blJlY3QueSgpKSk7CkBAIC0zNzgsNyArMzc1LDcgQEAgdm9pZCBJbmxpbmVD
b250ZW50QnVpbGRlcjo6Y3JlYXRlRGlzcGxheU5vblJvb3RJbmxpbmVCb3hlcyhjb25zdCBMYXlv
dXQ6OklubGluZUYKICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgIGF1dG8m
IGxheW91dEJveCA9IGlubGluZUxldmVsQm94LT5sYXlvdXRCb3goKTsKICAgICAgICAgICAgIGF1
dG8mIGJveEdlb21ldHJ5ID0gbV9sYXlvdXRTdGF0ZS5nZW9tZXRyeUZvckJveChsYXlvdXRCb3gp
OwotICAgICAgICAgICAgYXV0byBpbmxpbmVCb3hSZWN0ID0gbGluZUJveC5sb2dpY2FsUmVjdEZv
cklubGluZUJveChsYXlvdXRCb3gsIGJveEdlb21ldHJ5KTsKKyAgICAgICAgICAgIGF1dG8gaW5s
aW5lQm94UmVjdCA9IGxpbmVCb3gubG9naWNhbEJvcmRlckJveEZvcklubGluZUJveChsYXlvdXRC
b3gsIGJveEdlb21ldHJ5KTsKICAgICAgICAgICAgIGlubGluZUJveFJlY3QubW92ZUJ5KGxpbmVC
b3hMb2dpY2FsUmVjdC50b3BMZWZ0KCkpOwogCiAgICAgICAgICAgICBpbmxpbmVDb250ZW50Lm5v
blJvb3RJbmxpbmVCb3hlcy5hcHBlbmQoeyBsaW5lSW5kZXgsIGxheW91dEJveCwgaW5saW5lQm94
UmVjdCwgaW5saW5lUXVpcmtzLmlubGluZUxldmVsQm94QWZmZWN0c0xpbmVCb3goKmlubGluZUxl
dmVsQm94LCBsaW5lQm94KSB9KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9s
YXlvdXR0cmVlL0xheW91dFRyZWVCdWlsZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9s
YXlvdXR0cmVlL0xheW91dFRyZWVCdWlsZGVyLmNwcAppbmRleCA5NDg5ZWMwODRmMmU4NDk4NDVk
OGZiNjY0ODcxZDkwMTNkZTFmMTlmLi41MjQ2MTE4OTE1OWY1OTQ5NTBiYmIzZTQ2ZDk3YzA1NmQz
N2I0ZGY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlv
dXRUcmVlQnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUv
TGF5b3V0VHJlZUJ1aWxkZXIuY3BwCkBAIC00MTMsMTMgKzQxMywxMyBAQCB2b2lkIHNob3dJbmxp
bmVUcmVlQW5kUnVucyhUZXh0U3RyZWFtJiBzdHJlYW0sIGNvbnN0IExheW91dFN0YXRlJiBsYXlv
dXRTdGF0ZSwgYwogICAgICAgICAgICAgICAgIGxvZ2ljYWxSZWN0ID0gbGluZUJveC5sb2dpY2Fs
UmVjdEZvclJvb3RJbmxpbmVCb3goKTsKICAgICAgICAgICAgIH0gZWxzZSBpZiAoaW5saW5lTGV2
ZWxCb3guaXNBdG9taWNJbmxpbmVMZXZlbEJveCgpKSB7CiAgICAgICAgICAgICAgICAgc3RyZWFt
IDw8ICJBdG9taWMgaW5saW5lIGxldmVsIGJveCI7Ci0gICAgICAgICAgICAgICAgbG9naWNhbFJl
Y3QgPSBsaW5lQm94LmxvZ2ljYWxNYXJnaW5SZWN0Rm9yQXRvbWljSW5saW5lTGV2ZWxCb3gobGF5
b3V0Qm94KTsKKyAgICAgICAgICAgICAgICBsb2dpY2FsUmVjdCA9IGxpbmVCb3gubG9naWNhbEJv
cmRlckJveEZvckF0b21pY0lubGluZUxldmVsQm94KGxheW91dEJveCwgbGF5b3V0U3RhdGUuZ2Vv
bWV0cnlGb3JCb3gobGF5b3V0Qm94KSk7CiAgICAgICAgICAgICB9IGVsc2UgaWYgKGlubGluZUxl
dmVsQm94LmlzTGluZUJyZWFrQm94KCkpIHsKICAgICAgICAgICAgICAgICBzdHJlYW0gPDwgIkxp
bmUgYnJlYWsgYm94IjsKICAgICAgICAgICAgICAgICBsb2dpY2FsUmVjdCA9IGxpbmVCb3gubG9n
aWNhbFJlY3RGb3JMaW5lQnJlYWtCb3gobGF5b3V0Qm94KTsKICAgICAgICAgICAgIH0gZWxzZSBp
ZiAoaW5saW5lTGV2ZWxCb3guaXNJbmxpbmVCb3goKSkgewogICAgICAgICAgICAgICAgIHN0cmVh
bSA8PCAiSW5saW5lIGJveCI7Ci0gICAgICAgICAgICAgICAgbG9naWNhbFJlY3QgPSBsaW5lQm94
LmxvZ2ljYWxSZWN0Rm9ySW5saW5lQm94KGxheW91dEJveCwgbGF5b3V0U3RhdGUuZ2VvbWV0cnlG
b3JCb3gobGF5b3V0Qm94KSk7CisgICAgICAgICAgICAgICAgbG9naWNhbFJlY3QgPSBsaW5lQm94
LmxvZ2ljYWxCb3JkZXJCb3hGb3JJbmxpbmVCb3gobGF5b3V0Qm94LCBsYXlvdXRTdGF0ZS5nZW9t
ZXRyeUZvckJveChsYXlvdXRCb3gpKTsKICAgICAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAg
ICAgIHN0cmVhbSA8PCAiR2VuZXJpYyBpbmxpbmUgbGV2ZWwgYm94IjsKICAgICAgICAgICAgIHN0
cmVhbQo=
</data>
<flag name="commit-queue"
          id="439910"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>421143</attachid>
            <date>2021-02-21 11:06:47 -0800</date>
            <delta_ts>2021-02-21 11:33:51 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-222249-20210221110646.patch</filename>
            <type>text/plain</type>
            <size>20684</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjczMTk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2Y0YWE3MTEyNmFmZjFj
NmU5YTkzM2Q5NjNmZjI3NjE3YmM1NGUzZC4uZDEzM2ZiMzAzMDI2NTEzODgzOTliMTA3OWY0ZjQy
ZjIyZjgyNmM0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDIxLTAyLTIxICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bSUZDXSBIaXR0ZXN0
IHNob3VsZCBiZSB1c2luZyB0aGUgYm9yZGVyIGJveCAoYW5kIG5vdCB0aGUgbWFyZ2luIGJveCkK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMjI0OQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0
Y2ggZml4ZXMgdGhlIGNhc2VzIHdoZW4gdGhlIGlubGluZSBib3ggKGUuZy4gPHNwYW4+KSBoYXMg
aG9yaXpvbnRhbAorICAgICAgICBtYXJnaW5zIGFuZCB3ZSBmaW5kIHRob3NlIGlubGluZSBib3hl
cyBpbnN0ZWFkIG9mIHRoZWlyIGNvbnRhaW5pbmcgYmxvY2tzLgorICAgICAgICBlLmcuCisgICAg
ICAgIDxkaXY+PHNwYW4gc3R5bGU9Im1hcmdpbi1sZWZ0OiAxMDBweDsiPmJvcmRlciBib3ggc3Rh
cnRzIGF0IDEwMHB4PC9zcGFuPjwvZGl2PgorICAgICAgICBkb2N1bWVudC5lbGVtZW50RnJvbVBv
aW50KDUwLCAxMCkgc2hvdWxkIG5vdCBmaW5kIHRoZSA8c3Bhbj4uCisKKyAgICAgICAgTGV0J3Mg
c2ltcGxpZnkgTGluZUJveCBpbnRlcmZhY2Ugc28gdGhhdCBpdCByZXR1cm5zIHRoZSBib3JkZXIg
Ym94LiBDbGllbnRzCisgICAgICAgIGFyZSBtYWlubHkgaW50ZXJlc3RlZCBpbiB0aGUgYm9yZGVy
IGJveC4gCisgICAgICAgIChMaW5lQm94IGlzIG1vc3RseSB0aGVyZSB0byBzdXBwb3J0IHZlcnRp
Y2FsIGFsaWdubWVudCBhbmQgdGhlIHZlcnRpY2FsCisgICAgICAgIGFsaWdubWVudCB1c2VzIHRo
ZSBtYXJnaW4gYm94IGhlaWdodC4gVGhlIGlubGluZSBsZXZlbCBib3hlcyBvbiB0aGUgbGluZSBu
b3cgaGF2ZQorICAgICAgICB0aGlzIHNlZW1pbmdseSBvZGQgY29tYmluYXRpb24gb2YgYm9yZGVy
IGJveCB3aWR0aCBhbmQgbWFyZ2luIGJveCBoZWlnaHQsIGJ1dAorICAgICAgICB0aGF0J3MgcmVx
dWlyZWQgdG8ga2VlcCB0aGUgYWxpZ25tZW50IGxvZ2ljIGNsZWFuIGFuZCBzaW1wbGUuKQorCisg
ICAgICAgICogbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6
Y29tcHV0ZUdlb21ldHJ5Rm9yTGluZUNvbnRlbnQpOgorICAgICAgICAqIGxheW91dC9pbmxpbmVm
b3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0R2VvbWV0cnkuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6TGF5b3V0OjpMaW5lQm94QnVpbGRlcjo6Y29uc3RydWN0SW5saW5lTGV2ZWxCb3hl
cyk6CisgICAgICAgICogbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUJveC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCb3g6OmxvZ2ljYWxCb3JkZXJCb3hGb3JB
dG9taWNJbmxpbmVMZXZlbEJveCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6Okxp
bmVCb3g6OmxvZ2ljYWxCb3JkZXJCb3hGb3JJbmxpbmVCb3ggY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6TGF5b3V0OjpMaW5lQm94Ojpsb2dpY2FsTWFyZ2luUmVjdEZvckF0b21pY0lubGluZUxl
dmVsQm94IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZUJv
eDo6bG9naWNhbFJlY3RGb3JJbmxpbmVCb3ggY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIGxh
eW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVCb3guaDoKKyAgICAgICAgKiBsYXlvdXQv
aW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250ZW50QnVpbGRlci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpMYXlvdXRJbnRlZ3JhdGlvbjo6SW5saW5lQ29udGVudEJ1aWxkZXI6
OmNyZWF0ZURpc3BsYXlMaW5lUnVucyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXRJ
bnRlZ3JhdGlvbjo6SW5saW5lQ29udGVudEJ1aWxkZXI6OmNyZWF0ZURpc3BsYXlOb25Sb290SW5s
aW5lQm94ZXMgY29uc3QpOgorICAgICAgICAqIGxheW91dC9sYXlvdXR0cmVlL0xheW91dFRyZWVC
dWlsZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6c2hvd0lubGluZVRyZWVBbmRS
dW5zKToKKwogMjAyMS0wMi0yMCAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAg
ICAgICAgIFtMRkNdW0ludGVncmF0aW9uXSBFbmNsb3NpbmcgdG9wIGFuZCBib3R0b20gdmFsdWUg
YXJlIHJlbGF0aXZlIHRvIHRoZSBjb250YWluaW5nIGJsb2NrJ3MgYm9yZGVyIGJveApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0
dGluZ0NvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcv
SW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwCmluZGV4IGIxMmY0MTU2OTBkMDcyZDVmZDNiMmRi
Mjg0NGRkY2FkM2Q3MzM2YmMuLjgzNmQyOGZiNDMyODkwMDE2YzYwM2I1N2ZkY2JmOTdkMmE5NmUz
MzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lu
bGluZUZvcm1hdHRpbmdDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5s
aW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5jcHAKQEAgLTQ2Niw3ICs0NjYs
NyBAQCBJbmxpbmVSZWN0IElubGluZUZvcm1hdHRpbmdDb250ZXh0Ojpjb21wdXRlR2VvbWV0cnlG
b3JMaW5lQ29udGVudChjb25zdCBMaW5lQnVpbAogICAgICAgICAgICAgfQogICAgICAgICAgICAg
Zm9yIChhdXRvKiBsYXlvdXRCb3ggOiBsYXlvdXRCb3hMaXN0KSB7CiAgICAgICAgICAgICAgICAg
YXV0byYgYm94R2VvbWV0cnkgPSBmb3JtYXR0aW5nU3RhdGUuYm94R2VvbWV0cnkoKmxheW91dEJv
eCk7Ci0gICAgICAgICAgICAgICAgYXV0byBpbmxpbmVCb3hMb2dpY2FsSGVpZ2h0ID0gTGF5b3V0
VW5pdDo6ZnJvbUZsb2F0Q2VpbChsaW5lQm94LmxvZ2ljYWxSZWN0Rm9ySW5saW5lQm94KCpsYXlv
dXRCb3gsIGJveEdlb21ldHJ5KS5oZWlnaHQoKSk7CisgICAgICAgICAgICAgICAgYXV0byBpbmxp
bmVCb3hMb2dpY2FsSGVpZ2h0ID0gTGF5b3V0VW5pdDo6ZnJvbUZsb2F0Q2VpbChsaW5lQm94Lmxv
Z2ljYWxCb3JkZXJCb3hGb3JJbmxpbmVCb3goKmxheW91dEJveCwgYm94R2VvbWV0cnkpLmhlaWdo
dCgpKTsKICAgICAgICAgICAgICAgICBib3hHZW9tZXRyeS5zZXRDb250ZW50Qm94SGVpZ2h0KGlu
bGluZUJveExvZ2ljYWxIZWlnaHQpOwogICAgICAgICAgICAgICAgIGJveEdlb21ldHJ5LnNldENv
bnRlbnRCb3hXaWR0aCh7IH0pOwogICAgICAgICAgICAgICAgIGJveEdlb21ldHJ5LnNldExvZ2lj
YWxUb3BMZWZ0KHRvTGF5b3V0UG9pbnQobGluZUJveExvZ2ljYWxSZWN0LnRvcExlZnQoKSkpOwpA
QCAtNTA3LDEyICs1MDcsMTEgQEAgSW5saW5lUmVjdCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6
Y29tcHV0ZUdlb21ldHJ5Rm9yTGluZUNvbnRlbnQoY29uc3QgTGluZUJ1aWwKICAgICAgICAgICAg
IH0KICAgICAgICAgICAgIGlmIChsaW5lUnVuLmlzQm94KCkpIHsKICAgICAgICAgICAgICAgICBB
U1NFUlQobGF5b3V0Qm94LmlzQXRvbWljSW5saW5lTGV2ZWxCb3goKSk7Ci0gICAgICAgICAgICAg
ICAgYXV0byBsb2dpY2FsTWFyZ2luUmVjdCA9IGxpbmVCb3gubG9naWNhbE1hcmdpblJlY3RGb3JB
dG9taWNJbmxpbmVMZXZlbEJveChsYXlvdXRCb3gpOwotICAgICAgICAgICAgICAgIGZvcm1hdHRp
bmdTdGF0ZS5hZGRMaW5lUnVuKHsgbGluZUluZGV4LCBsYXlvdXRCb3gsIGxvZ2ljYWxNYXJnaW5S
ZWN0LCBsaW5lUnVuLmV4cGFuc2lvbigpLCB7IH0gfSk7Ci0KLSAgICAgICAgICAgICAgICBhdXRv
IGJvcmRlckJveExvZ2ljYWxUb3BMZWZ0ID0gbG9naWNhbE1hcmdpblJlY3QudG9wTGVmdCgpOwog
ICAgICAgICAgICAgICAgIGF1dG8mIGJveEdlb21ldHJ5ID0gZm9ybWF0dGluZ1N0YXRlLmJveEdl
b21ldHJ5KGxheW91dEJveCk7Ci0gICAgICAgICAgICAgICAgYm9yZGVyQm94TG9naWNhbFRvcExl
ZnQubW92ZShzdGQ6Om1heCgwX2x1LCBib3hHZW9tZXRyeS5tYXJnaW5TdGFydCgpKSwgc3RkOjpt
YXgoMF9sdSwgYm94R2VvbWV0cnkubWFyZ2luQmVmb3JlKCkpKTsKKyAgICAgICAgICAgICAgICBh
dXRvIGxvZ2ljYWxCb3JkZXJCb3ggPSBsaW5lQm94LmxvZ2ljYWxCb3JkZXJCb3hGb3JBdG9taWNJ
bmxpbmVMZXZlbEJveChsYXlvdXRCb3gsIGJveEdlb21ldHJ5KTsKKyAgICAgICAgICAgICAgICBm
b3JtYXR0aW5nU3RhdGUuYWRkTGluZVJ1bih7IGxpbmVJbmRleCwgbGF5b3V0Qm94LCBsb2dpY2Fs
Qm9yZGVyQm94LCBsaW5lUnVuLmV4cGFuc2lvbigpLCB7IH0gfSk7CisKKyAgICAgICAgICAgICAg
ICBhdXRvIGJvcmRlckJveExvZ2ljYWxUb3BMZWZ0ID0gbG9naWNhbEJvcmRlckJveC50b3BMZWZ0
KCk7CiAgICAgICAgICAgICAgICAgLy8gTm90ZSB0aGF0IGlubGluZSBib3hlcyBhcmUgcmVsYXRp
dmUgdG8gdGhlIGxpbmUgYW5kIHRoZWlyIHRvcCBwb3NpdGlvbiBjYW4gYmUgbmVnYXRpdmUuCiAg
ICAgICAgICAgICAgICAgYm9yZGVyQm94TG9naWNhbFRvcExlZnQubW92ZUJ5KGxpbmVCb3hMb2dp
Y2FsUmVjdC50b3BMZWZ0KCkpOwogICAgICAgICAgICAgICAgIGlmIChsYXlvdXRCb3guaXNJbkZs
b3dQb3NpdGlvbmVkKCkpCkBAIC01MjgsNyArNTI3LDcgQEAgSW5saW5lUmVjdCBJbmxpbmVGb3Jt
YXR0aW5nQ29udGV4dDo6Y29tcHV0ZUdlb21ldHJ5Rm9yTGluZUNvbnRlbnQoY29uc3QgTGluZUJ1
aWwKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGlmIChsaW5lUnVuLmlzSW5saW5lQm94U3Rh
cnQoKSkgewogICAgICAgICAgICAgICAgIGF1dG8mIGJveEdlb21ldHJ5ID0gZm9ybWF0dGluZ1N0
YXRlLmJveEdlb21ldHJ5KGxheW91dEJveCk7Ci0gICAgICAgICAgICAgICAgYXV0byBpbmxpbmVC
b3hMb2dpY2FsUmVjdCA9IGxpbmVCb3gubG9naWNhbFJlY3RGb3JJbmxpbmVCb3gobGF5b3V0Qm94
LCBib3hHZW9tZXRyeSk7CisgICAgICAgICAgICAgICAgYXV0byBpbmxpbmVCb3hMb2dpY2FsUmVj
dCA9IGxpbmVCb3gubG9naWNhbEJvcmRlckJveEZvcklubGluZUJveChsYXlvdXRCb3gsIGJveEdl
b21ldHJ5KTsKICAgICAgICAgICAgICAgICBmb3JtYXR0aW5nU3RhdGUuYWRkTGluZVJ1bih7IGxp
bmVJbmRleCwgbGF5b3V0Qm94LCBpbmxpbmVCb3hMb2dpY2FsUmVjdCwgbGluZVJ1bi5leHBhbnNp
b24oKSwgeyB9IH0pOwogICAgICAgICAgICAgICAgIGlubGluZUJveFN0YXJ0U2V0LmFkZCgmbGF5
b3V0Qm94KTsKICAgICAgICAgICAgICAgICBlbmNsb3NpbmdUb3BBbmRCb3R0b20udG9wID0gc3Rk
OjptaW4oZW5jbG9zaW5nVG9wQW5kQm90dG9tLnRvcCwgaW5saW5lQm94TG9naWNhbFJlY3QudG9w
KCkpOwpAQCAtNTM2LDcgKzUzNSw3IEBAIElubGluZVJlY3QgSW5saW5lRm9ybWF0dGluZ0NvbnRl
eHQ6OmNvbXB1dGVHZW9tZXRyeUZvckxpbmVDb250ZW50KGNvbnN0IExpbmVCdWlsCiAgICAgICAg
ICAgICB9CiAgICAgICAgICAgICBpZiAobGluZVJ1bi5pc0lubGluZUJveEVuZCgpKSB7CiAgICAg
ICAgICAgICAgICAgaW5saW5lQm94RW5kU2V0LmFkZCgmbGF5b3V0Qm94KTsKLSAgICAgICAgICAg
ICAgICBhdXRvIGlubGluZUJveExvZ2ljYWxSZWN0ID0gbGluZUJveC5sb2dpY2FsUmVjdEZvcklu
bGluZUJveChsYXlvdXRCb3gsIGZvcm1hdHRpbmdTdGF0ZS5ib3hHZW9tZXRyeShsYXlvdXRCb3gp
KTsKKyAgICAgICAgICAgICAgICBhdXRvIGlubGluZUJveExvZ2ljYWxSZWN0ID0gbGluZUJveC5s
b2dpY2FsQm9yZGVyQm94Rm9ySW5saW5lQm94KGxheW91dEJveCwgZm9ybWF0dGluZ1N0YXRlLmJv
eEdlb21ldHJ5KGxheW91dEJveCkpOwogICAgICAgICAgICAgICAgIGVuY2xvc2luZ1RvcEFuZEJv
dHRvbS5ib3R0b20gPSBzdGQ6Om1heChlbmNsb3NpbmdUb3BBbmRCb3R0b20uYm90dG9tLCBpbmxp
bmVCb3hMb2dpY2FsUmVjdC5ib3R0b20oKSk7CiAgICAgICAgICAgICAgICAgY29udGludWU7CiAg
ICAgICAgICAgICB9CkBAIC01NTcsMzAgKzU1NiwyMCBAQCBJbmxpbmVSZWN0IElubGluZUZvcm1h
dHRpbmdDb250ZXh0Ojpjb21wdXRlR2VvbWV0cnlGb3JMaW5lQ29udGVudChjb25zdCBMaW5lQnVp
bAogICAgICAgICAgICAgYXV0byYgbGF5b3V0Qm94ID0gaW5saW5lTGV2ZWxCb3gtPmxheW91dEJv
eCgpOwogICAgICAgICAgICAgYXV0byYgYm94R2VvbWV0cnkgPSBmb3JtYXR0aW5nU3RhdGUuYm94
R2VvbWV0cnkobGF5b3V0Qm94KTsKICAgICAgICAgICAgIC8vIElubGluZSBib3hlcyBtYXkgb3Ig
bWF5IG5vdCBiZSB3cmFwcGVkIGFuZCBoYXZlIHJ1bnMgb24gbXVsdGlwbGUgbGluZXMgKGUuZy4g
PHNwYW4+Zmlyc3QgbGluZTxicj5zZWNvbmQgbGluZTxicj50aGlyZCBsaW5lPC9zcGFuPikKLSAg
ICAgICAgICAgIGF1dG8gaW5saW5lQm94TWFyZ2luUmVjdCA9IGxpbmVCb3gubG9naWNhbFJlY3RG
b3JJbmxpbmVCb3gobGF5b3V0Qm94LCBib3hHZW9tZXRyeSk7Ci0gICAgICAgICAgICBhdXRvIGlu
bGluZUJveFNpemUgPSBMYXlvdXRTaXplIHsgTGF5b3V0VW5pdDo6ZnJvbUZsb2F0Q2VpbChpbmxp
bmVCb3hNYXJnaW5SZWN0LndpZHRoKCkpLCBMYXlvdXRVbml0Ojpmcm9tRmxvYXRDZWlsKGlubGlu
ZUJveE1hcmdpblJlY3QuaGVpZ2h0KCkpIH07Ci0gICAgICAgICAgICBhdXRvIGxvZ2ljYWxSZWN0
ID0gUmVjdCB7IExheW91dFBvaW50IHsgaW5saW5lQm94TWFyZ2luUmVjdC50b3BMZWZ0KCkgfSwg
aW5saW5lQm94U2l6ZSB9OworICAgICAgICAgICAgYXV0byBpbmxpbmVCb3hCb3JkZXJCb3ggPSBs
aW5lQm94LmxvZ2ljYWxCb3JkZXJCb3hGb3JJbmxpbmVCb3gobGF5b3V0Qm94LCBib3hHZW9tZXRy
eSk7CisgICAgICAgICAgICBhdXRvIGlubGluZUJveFNpemUgPSBMYXlvdXRTaXplIHsgTGF5b3V0
VW5pdDo6ZnJvbUZsb2F0Q2VpbChpbmxpbmVCb3hCb3JkZXJCb3gud2lkdGgoKSksIExheW91dFVu
aXQ6OmZyb21GbG9hdENlaWwoaW5saW5lQm94Qm9yZGVyQm94LmhlaWdodCgpKSB9OworICAgICAg
ICAgICAgYXV0byBsb2dpY2FsUmVjdCA9IFJlY3QgeyBMYXlvdXRQb2ludCB7IGlubGluZUJveEJv
cmRlckJveC50b3BMZWZ0KCkgfSwgaW5saW5lQm94U2l6ZSB9OwogICAgICAgICAgICAgbG9naWNh
bFJlY3QubW92ZUJ5KExheW91dFBvaW50IHsgbGluZUJveExvZ2ljYWxSZWN0LnRvcExlZnQoKSB9
KTsKICAgICAgICAgICAgIGlmIChpbmxpbmVCb3hTdGFydFNldC5jb250YWlucygmbGF5b3V0Qm94
KSkgewogICAgICAgICAgICAgICAgIC8vIFRoaXMgaW5saW5lIGJveCBzaG93ZWQgdXAgZmlyc3Qg
b24gdGhpcyBsaW5lLgotICAgICAgICAgICAgICAgIGxvZ2ljYWxSZWN0Lm1vdmVIb3Jpem9udGFs
bHkoYm94R2VvbWV0cnkubWFyZ2luU3RhcnQoKSk7CiAgICAgICAgICAgICAgICAgYm94R2VvbWV0
cnkuc2V0TG9naWNhbFRvcExlZnQobG9naWNhbFJlY3QudG9wTGVmdCgpKTsKICAgICAgICAgICAg
ICAgICBhdXRvIGNvbnRlbnRCb3hIZWlnaHQgPSBsb2dpY2FsUmVjdC5oZWlnaHQoKSAtIChib3hH
ZW9tZXRyeS52ZXJ0aWNhbEJvcmRlcigpICsgYm94R2VvbWV0cnkudmVydGljYWxQYWRkaW5nKCku
dmFsdWVPcigwX2x1KSk7CiAgICAgICAgICAgICAgICAgYm94R2VvbWV0cnkuc2V0Q29udGVudEJv
eEhlaWdodChjb250ZW50Qm94SGVpZ2h0KTsKICAgICAgICAgICAgICAgICBhdXRvIGNvbnRlbnRC
b3hXaWR0aCA9IGxvZ2ljYWxSZWN0LndpZHRoKCkgLSAoYm94R2VvbWV0cnkuaG9yaXpvbnRhbEJv
cmRlcigpICsgYm94R2VvbWV0cnkuaG9yaXpvbnRhbFBhZGRpbmcoKS52YWx1ZU9yKDBfbHUpKTsK
LSAgICAgICAgICAgICAgICBpZiAoaW5saW5lQm94RW5kU2V0LmNvbnRhaW5zKCZsYXlvdXRCb3gp
KSB7Ci0gICAgICAgICAgICAgICAgICAgIC8vIFRoaXMgaXMgYSBzaW5nbGUgbGluZSBpbmxpbmUg
Ym94LgotICAgICAgICAgICAgICAgICAgICBjb250ZW50Qm94V2lkdGggLT0gc3RkOjptYXgoMF9s
dSwgYm94R2VvbWV0cnkubWFyZ2luU3RhcnQoKSkgKyBzdGQ6Om1heCgwX2x1LCBib3hHZW9tZXRy
eS5tYXJnaW5FbmQoKSk7Ci0gICAgICAgICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICAgICAg
ICAgIGNvbnRlbnRCb3hXaWR0aCAtPSBzdGQ6Om1heCgwX2x1LCBib3hHZW9tZXRyeS5tYXJnaW5T
dGFydCgpKTsKICAgICAgICAgICAgICAgICBib3hHZW9tZXRyeS5zZXRDb250ZW50Qm94V2lkdGgo
Y29udGVudEJveFdpZHRoKTsKICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAg
IH0KICAgICAgICAgICAgIC8vIE1pZGRsZSBvciBlbmQgb2YgdGhlIGlubGluZSBib3guIExldCdz
IHN0cmV0Y2ggdGhlIGJveCBhcyBuZWVkZWQuCi0gICAgICAgICAgICBpZiAoaW5saW5lQm94RW5k
U2V0LmNvbnRhaW5zKCZsYXlvdXRCb3gpKSB7Ci0gICAgICAgICAgICAgICAgLy8gVGhlIGlubGlu
ZSBib3ggZW5kcyBvbiB0aGlzIGxpbmUgZS5nLiA8c3Bhbj5maXN0PGJyPm1pZGRsZTxicj5sYXN0
IGxpbmU8L3NwYW4+Ci0gICAgICAgICAgICAgICAgbG9naWNhbFJlY3QuZXhwYW5kSG9yaXpvbnRh
bGx5KC1zdGQ6Om1heCgwX2x1LCBib3hHZW9tZXRyeS5tYXJnaW5FbmQoKSkpOwotICAgICAgICAg
ICAgfQogICAgICAgICAgICAgYXV0byBlbmNsb3NpbmdCb3JkZXJCb3hSZWN0ID0gQm94R2VvbWV0
cnk6OmJvcmRlckJveFJlY3QoYm94R2VvbWV0cnkpOwogICAgICAgICAgICAgZW5jbG9zaW5nQm9y
ZGVyQm94UmVjdC5leHBhbmRUb0NvbnRhaW4obG9naWNhbFJlY3QpOwogICAgICAgICAgICAgYm94
R2VvbWV0cnkuc2V0TG9naWNhbExlZnQoZW5jbG9zaW5nQm9yZGVyQm94UmVjdC5sZWZ0KCkpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5l
Rm9ybWF0dGluZ0NvbnRleHRHZW9tZXRyeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5s
aW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcAppbmRleCBj
OTgzNTA5MGE0YmYwNWI1MTYwM2Y0N2VhMDFhY2IyNmZjYTkwZTk4Li45Y2NiMDg2ZmZjZmUyYTA4
OWMzOTM4ZTk2MzIyMWRlNGVkMDk2ODQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0
aW5nQ29udGV4dEdlb21ldHJ5LmNwcApAQCAtMzAxLDcgKzMwMSw4IEBAIHZvaWQgTGluZUJveEJ1
aWxkZXI6OmNvbnN0cnVjdElubGluZUxldmVsQm94ZXMoTGluZUJveCYgbGluZUJveCwgY29uc3Qg
TGluZTo6UnVuCiAgICAgICAgICAgICAgICAgYXNjZW50ID0gZG93bmNhc3Q8UmVwbGFjZWRCb3g+
KGxheW91dEJveCkuYmFzZWxpbmUoKS52YWx1ZU9yKG1hcmdpbkJveEhlaWdodCk7CiAgICAgICAg
ICAgICBlbHNlCiAgICAgICAgICAgICAgICAgYXNjZW50ID0gbWFyZ2luQm94SGVpZ2h0OwotICAg
ICAgICAgICAgYXV0byBhdG9taWNJbmxpbmVMZXZlbEJveCA9IExpbmVCb3g6OklubGluZUxldmVs
Qm94OjpjcmVhdGVBdG9taWNJbmxpbmVMZXZlbEJveChsYXlvdXRCb3gsIGxvZ2ljYWxMZWZ0LCB7
IHJ1bi5sb2dpY2FsV2lkdGgoKSwgbWFyZ2luQm94SGVpZ2h0IH0pOworICAgICAgICAgICAgbG9n
aWNhbExlZnQgKz0gc3RkOjptYXgoMF9sdSwgaW5saW5lTGV2ZWxCb3hHZW9tZXRyeS5tYXJnaW5T
dGFydCgpKTsKKyAgICAgICAgICAgIGF1dG8gYXRvbWljSW5saW5lTGV2ZWxCb3ggPSBMaW5lQm94
OjpJbmxpbmVMZXZlbEJveDo6Y3JlYXRlQXRvbWljSW5saW5lTGV2ZWxCb3gobGF5b3V0Qm94LCBs
b2dpY2FsTGVmdCwgeyBpbmxpbmVMZXZlbEJveEdlb21ldHJ5LmJvcmRlckJveFdpZHRoKCksIG1h
cmdpbkJveEhlaWdodCB9KTsKICAgICAgICAgICAgIGF0b21pY0lubGluZUxldmVsQm94LT5zZXRC
YXNlbGluZShhc2NlbnQpOwogICAgICAgICAgICAgYXRvbWljSW5saW5lTGV2ZWxCb3gtPnNldExh
eW91dEJvdW5kcyhMaW5lQm94OjpJbmxpbmVMZXZlbEJveDo6TGF5b3V0Qm91bmRzIHsgYXNjZW50
LCBtYXJnaW5Cb3hIZWlnaHQgLSBhc2NlbnQgfSk7CiAgICAgICAgICAgICAvLyBMZXQncyBwcmUt
Y29tcHV0ZSB0aGUgbG9naWNhbCB0b3Agc28gdGhhdCB3ZSBjYW4gYXZvaWQgcnVubmluZyB0aGUg
YWxpZ25tZW50IG9uIHNpbXBsZSBpbmxpbmUgYm94ZXMuCkBAIC0zMzUsOCArMzM2LDE0IEBAIHZv
aWQgTGluZUJveEJ1aWxkZXI6OmNvbnN0cnVjdElubGluZUxldmVsQm94ZXMoTGluZUJveCYgbGlu
ZUJveCwgY29uc3QgTGluZTo6UnVuCiAgICAgICAgIC8vIGUuZy4gPGRpdj48c3Bhbj48L3NwYW4+
PHNwYW4+PC9zcGFuPjwvZGl2PiBpcyBzdGlsbCBva2F5LgogICAgICAgICBtX2lubGluZUxldmVs
Qm94ZXNOZWVkVmVydGljYWxBbGlnbm1lbnQgPSBtX2lubGluZUxldmVsQm94ZXNOZWVkVmVydGlj
YWxBbGlnbm1lbnQgfHwgbGluZUhhc0NvbnRlbnQ7CiAgICAgICAgIGlmIChydW4uaXNJbmxpbmVC
b3hTdGFydCgpKSB7CisgICAgICAgICAgICAvLyBBdCB0aGlzIHBvaW50IHdlIGRvbid0IGtub3cg
eWV0IGhvdyB3aWRlIHRoaXMgaW5saW5lIGJveCBpcy4gTGV0J3MgYXNzdW1lIGl0J3MgYXMgbG9u
ZyBhcyB0aGUgbGluZSBpcworICAgICAgICAgICAgLy8gYW5kIGFkanVzdCBpdCBsYXRlciBpZiB3
ZSBjb21lIGFjcm9zcyBhbiBpbmxpbmVCb3hFbmQgcnVuIChzZWUgYmVsb3cpLgogICAgICAgICAg
ICAgYXV0byBpbml0aWFsTG9naWNhbFdpZHRoID0gbGluZUJveC5jb250ZW50TG9naWNhbFdpZHRo
KCkgLSBydW4ubG9naWNhbExlZnQoKTsKICAgICAgICAgICAgIEFTU0VSVChpbml0aWFsTG9naWNh
bFdpZHRoID49IDApOworICAgICAgICAgICAgLy8gSW5saW5lIGJveCBydW4gaXMgYmFzZWQgb24g
bWFyZ2luIGJveC4gTGV0J3MgY29udmVydCBpdCB0byBib3JkZXIgYm94LgorICAgICAgICAgICAg
YXV0byBtYXJnaW5TdGFydCA9IHN0ZDo6bWF4KDBfbHUsIGZvcm1hdHRpbmdDb250ZXh0KCkuZ2Vv
bWV0cnlGb3JCb3gobGF5b3V0Qm94KS5tYXJnaW5TdGFydCgpKTsKKyAgICAgICAgICAgIGxvZ2lj
YWxMZWZ0ICs9IG1hcmdpblN0YXJ0OworICAgICAgICAgICAgaW5pdGlhbExvZ2ljYWxXaWR0aCAt
PSBtYXJnaW5TdGFydDsKICAgICAgICAgICAgIGF1dG8gaW5saW5lQm94ID0gTGluZUJveDo6SW5s
aW5lTGV2ZWxCb3g6OmNyZWF0ZUlubGluZUJveChsYXlvdXRCb3gsIGxvZ2ljYWxMZWZ0LCBpbml0
aWFsTG9naWNhbFdpZHRoKTsKICAgICAgICAgICAgIHNldFZlcnRpY2FsR2VvbWV0cnlGb3JJbmxp
bmVCb3goKmlubGluZUJveCk7CiAgICAgICAgICAgICBsaW5lQm94LmFkZElubGluZUxldmVsQm94
KFdURk1vdmUoaW5saW5lQm94KSk7CkBAIC0zNDYsNyArMzUzLDkgQEAgdm9pZCBMaW5lQm94QnVp
bGRlcjo6Y29uc3RydWN0SW5saW5lTGV2ZWxCb3hlcyhMaW5lQm94JiBsaW5lQm94LCBjb25zdCBM
aW5lOjpSdW4KICAgICAgICAgICAgIC8vIEFkanVzdCB0aGUgbG9naWNhbCB3aWR0aCB3aGVuIHRo
ZSBpbmxpbmUgbGV2ZWwgY29udGFpbmVyIGNsb3NlcyBvbiB0aGlzIGxpbmUuCiAgICAgICAgICAg
ICBhdXRvJiBpbmxpbmVCb3ggPSBsaW5lQm94LmlubGluZUxldmVsQm94Rm9yTGF5b3V0Qm94KGxh
eW91dEJveCk7CiAgICAgICAgICAgICBBU1NFUlQoaW5saW5lQm94LmlzSW5saW5lQm94KCkpOwot
ICAgICAgICAgICAgYXV0byBpbmxpbmVCb3hMb2dpY2FsUmlnaHQgPSBsb2dpY2FsTGVmdCArIHJ1
bi5sb2dpY2FsV2lkdGgoKTsgCisgICAgICAgICAgICAvLyBJbmxpbmUgYm94IHJ1biBpcyBiYXNl
ZCBvbiBtYXJnaW4gYm94LiBMZXQncyBjb252ZXJ0IGl0IHRvIGJvcmRlciBib3guCisgICAgICAg
ICAgICBhdXRvIG1hcmdpbkVuZCA9IHN0ZDo6bWF4KDBfbHUsIGZvcm1hdHRpbmdDb250ZXh0KCku
Z2VvbWV0cnlGb3JCb3gobGF5b3V0Qm94KS5tYXJnaW5FbmQoKSk7CisgICAgICAgICAgICBhdXRv
IGlubGluZUJveExvZ2ljYWxSaWdodCA9IGxvZ2ljYWxMZWZ0ICsgcnVuLmxvZ2ljYWxXaWR0aCgp
IC0gbWFyZ2luRW5kOwogICAgICAgICAgICAgaW5saW5lQm94LnNldExvZ2ljYWxXaWR0aChpbmxp
bmVCb3hMb2dpY2FsUmlnaHQgLSBpbmxpbmVCb3gubG9naWNhbExlZnQoKSk7CiAgICAgICAgICAg
ICBjb250aW51ZTsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lQm94LmNwcAppbmRleCAwNDE0ZDk4ODYwY2M1
MDJmZGE1NDc0YmM3NDA2NmQzOTg2NThkMjE0Li5iOGEwYzZhNTQyMTFhZDQ3OGU3NWUwMzA0M2Nj
MTg4MDg3ZTI0ZWZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9y
bWF0dGluZy9JbmxpbmVMaW5lQm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5s
aW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lQm94LmNwcApAQCAtMTUyLDIwICsxNTIsMjQgQEAgSW5s
aW5lUmVjdCBMaW5lQm94Ojpsb2dpY2FsUmVjdEZvcklubGluZUxldmVsQm94KGNvbnN0IEJveCYg
bGF5b3V0Qm94KSBjb25zdAogICAgIHJldHVybiBJbmxpbmVSZWN0IHsgaW5saW5lQm94QWJzb2x1
dGVsb2dpY2FsVG9wLCBpbmxpbmVCb3hMb2dpY2FsUmVjdC5sZWZ0KCksIGlubGluZUJveExvZ2lj
YWxSZWN0LndpZHRoKCksIGlubGluZUJveExvZ2ljYWxSZWN0LmhlaWdodCgpIH07CiB9CiAKLUlu
bGluZVJlY3QgTGluZUJveDo6bG9naWNhbE1hcmdpblJlY3RGb3JBdG9taWNJbmxpbmVMZXZlbEJv
eChjb25zdCBCb3gmIGxheW91dEJveCkgY29uc3QKK0lubGluZVJlY3QgTGluZUJveDo6bG9naWNh
bEJvcmRlckJveEZvckF0b21pY0lubGluZUxldmVsQm94KGNvbnN0IEJveCYgbGF5b3V0Qm94LCBj
b25zdCBCb3hHZW9tZXRyeSYgYm94R2VvbWV0cnkpIGNvbnN0CiB7CiAgICAgQVNTRVJUKGxheW91
dEJveC5pc0F0b21pY0lubGluZUxldmVsQm94KCkpOwotICAgIHJldHVybiBsb2dpY2FsUmVjdEZv
cklubGluZUxldmVsQm94KGxheW91dEJveCk7CisgICAgYXV0byBsb2dpY2FsUmVjdCA9IGxvZ2lj
YWxSZWN0Rm9ySW5saW5lTGV2ZWxCb3gobGF5b3V0Qm94KTsKKyAgICAvLyBJbmxpbmUgbGV2ZWwg
Ym94ZXMgdXNlIHRoZWlyIG1hcmdpbiBib3ggZm9yIHZlcnRpY2FsIGFsaWdubWVudC4gTGV0J3Mg
Y292ZXJ0IHRoZW0gdG8gYm9yZGVyIGJveGVzLgorICAgIGxvZ2ljYWxSZWN0Lm1vdmVWZXJ0aWNh
bGx5KGJveEdlb21ldHJ5Lm1hcmdpbkJlZm9yZSgpKTsKKyAgICBhdXRvIHZlcnRpY2FsTWFyZ2lu
ID0gYm94R2VvbWV0cnkubWFyZ2luQmVmb3JlKCkgKyBib3hHZW9tZXRyeS5tYXJnaW5BZnRlcigp
OworICAgIGxvZ2ljYWxSZWN0LmV4cGFuZFZlcnRpY2FsbHkoLXZlcnRpY2FsTWFyZ2luKTsKKyAg
ICByZXR1cm4gbG9naWNhbFJlY3Q7CiB9CiAKLUlubGluZVJlY3QgTGluZUJveDo6bG9naWNhbFJl
Y3RGb3JJbmxpbmVCb3goY29uc3QgQm94JiBsYXlvdXRCb3gsIGNvbnN0IEJveEdlb21ldHJ5JiBi
b3hHZW9tZXRyeSkgY29uc3QKK0lubGluZVJlY3QgTGluZUJveDo6bG9naWNhbEJvcmRlckJveEZv
cklubGluZUJveChjb25zdCBCb3gmIGxheW91dEJveCwgY29uc3QgQm94R2VvbWV0cnkmIGJveEdl
b21ldHJ5KSBjb25zdAogewogICAgIGF1dG8gbG9naWNhbFJlY3QgPSBsb2dpY2FsUmVjdEZvcklu
bGluZUxldmVsQm94KGxheW91dEJveCk7Ci0gICAgLy8gVGhpcyBsb2dpY2FsIHJlY3QgaXMgYXMg
dGFsbCBhcyB0aGUgInRleHQiIGNvbnRlbnQgaXMuIExldCdzIGFkanVzdCB3aXRoIHZlcnRpY2Fs
IGJvcmRlciBhbmQgcGFkZGluZyAtdmVydGljYWwgbWFyZ2luIGlzIGlnbm9yZWQuCisgICAgLy8g
VGhpcyBsb2dpY2FsIHJlY3QgaXMgYXMgdGFsbCBhcyB0aGUgInRleHQiIGNvbnRlbnQgaXMuIExl
dCdzIGFkanVzdCB3aXRoIHZlcnRpY2FsIGJvcmRlciBhbmQgcGFkZGluZy4KICAgICBhdXRvIHZl
cnRpY2FsQm9yZGVyQW5kUGFkZGluZyA9IGJveEdlb21ldHJ5LnZlcnRpY2FsQm9yZGVyKCkgKyBi
b3hHZW9tZXRyeS52ZXJ0aWNhbFBhZGRpbmcoKS52YWx1ZU9yKDBfbHUpOwogICAgIGxvZ2ljYWxS
ZWN0LmV4cGFuZFZlcnRpY2FsbHkodmVydGljYWxCb3JkZXJBbmRQYWRkaW5nKTsKICAgICBsb2dp
Y2FsUmVjdC5tb3ZlVmVydGljYWxseSgtKGJveEdlb21ldHJ5LmJvcmRlclRvcCgpICsgYm94R2Vv
bWV0cnkucGFkZGluZ1RvcCgpLnZhbHVlT3IoMF9sdSkpKTsKLSAgICAvLyBUaGlzIGlzIGVzc2Vu
dGlhbGx5IG1hcmdpbiBib3ggcmVjdCB3aXRob3V0IHRoZSB2ZXJ0aWNhbCBtYXJnaW5zLgogICAg
IHJldHVybiBsb2dpY2FsUmVjdDsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUJveC5oIGIvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUJveC5oCmluZGV4IGNmMjIzMmNmM2FiNzk4
MDQwN2M2Njc0NDk0Y2ZkMmZkZmY3NmYzOGMuLjRkMzE4Y2QzY2Q0Y2ZhMGM3MzRhN2YxMDliMzdh
NmQ4MGYwYjA2MzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3Jt
YXR0aW5nL0lubGluZUxpbmVCb3guaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5l
Zm9ybWF0dGluZy9JbmxpbmVMaW5lQm94LmgKQEAgLTEyMiw2ICsxMjIsNyBAQCBwdWJsaWM6CiAK
ICAgICBwcml2YXRlOgogICAgICAgICBXZWFrUHRyPGNvbnN0IEJveD4gbV9sYXlvdXRCb3g7Cisg
ICAgICAgIC8vIFRoaXMgaXMgdGhlIGNvbWJpbmF0aW9uIG9mIG1hcmdpbiBhbmQgYm9yZGVyIGJv
eGVzLiBJbmxpbmUgbGV2ZWwgYm94ZXMgYXJlIHZlcnRpY2FsbHkgYWxpZ25lZCB1c2luZyB0aGVp
ciBtYXJnaW4gYm94ZXMuCiAgICAgICAgIElubGluZVJlY3QgbV9sb2dpY2FsUmVjdDsKICAgICAg
ICAgTGF5b3V0Qm91bmRzIG1fbGF5b3V0Qm91bmRzOwogICAgICAgICBJbmxpbmVMYXlvdXRVbml0
IG1fYmFzZWxpbmUgeyAwIH07CkBAIC0xNTEsOSArMTUyLDkgQEAgcHVibGljOgogCiAgICAgSW5s
aW5lUmVjdCBsb2dpY2FsUmVjdEZvclRleHRSdW4oY29uc3QgTGluZTo6UnVuJikgY29uc3Q7CiAg
ICAgSW5saW5lUmVjdCBsb2dpY2FsUmVjdEZvckxpbmVCcmVha0JveChjb25zdCBCb3gmKSBjb25z
dDsKLSAgICBJbmxpbmVSZWN0IGxvZ2ljYWxNYXJnaW5SZWN0Rm9yQXRvbWljSW5saW5lTGV2ZWxC
b3goY29uc3QgQm94JikgY29uc3Q7CiAgICAgSW5saW5lUmVjdCBsb2dpY2FsUmVjdEZvclJvb3RJ
bmxpbmVCb3goKSBjb25zdCB7IHJldHVybiBtX3Jvb3RJbmxpbmVCb3gtPmxvZ2ljYWxSZWN0KCk7
IH0KLSAgICBJbmxpbmVSZWN0IGxvZ2ljYWxSZWN0Rm9ySW5saW5lQm94KGNvbnN0IEJveCYsIGNv
bnN0IEJveEdlb21ldHJ5JikgY29uc3Q7CisgICAgSW5saW5lUmVjdCBsb2dpY2FsQm9yZGVyQm94
Rm9yQXRvbWljSW5saW5lTGV2ZWxCb3goY29uc3QgQm94JiwgY29uc3QgQm94R2VvbWV0cnkmKSBj
b25zdDsKKyAgICBJbmxpbmVSZWN0IGxvZ2ljYWxCb3JkZXJCb3hGb3JJbmxpbmVCb3goY29uc3Qg
Qm94JiwgY29uc3QgQm94R2VvbWV0cnkmKSBjb25zdDsKIAogICAgIGNvbnN0IElubGluZUxldmVs
Qm94JiByb290SW5saW5lQm94KCkgY29uc3QgeyByZXR1cm4gKm1fcm9vdElubGluZUJveDsgfQog
ICAgIHVzaW5nIElubGluZUxldmVsQm94TGlzdCA9IFZlY3RvcjxzdGQ6OnVuaXF1ZV9wdHI8SW5s
aW5lTGV2ZWxCb3g+PjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3Jh
dGlvbi9MYXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnRCdWlsZGVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnRC
dWlsZGVyLmNwcAppbmRleCBiNjcyODk5ZmYzOTMyZDNmOWYyMjQ1MGU2OTgzNTNhNTczMThkZDkx
Li4zNzYzYWE3YjAxMWJlNDgwMjZmN2VjYmU2MGIwMTEwZmY5OWYwYmY0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVD
b250ZW50QnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9u
L0xheW91dEludGVncmF0aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuY3BwCkBAIC0yMjgsMTIgKzIy
OCwxMSBAQCB2b2lkIElubGluZUNvbnRlbnRCdWlsZGVyOjpjcmVhdGVEaXNwbGF5TGluZVJ1bnMo
Y29uc3QgTGF5b3V0OjpJbmxpbmVGb3JtYXR0aW5nUwogICAgICAgICBhdXRvJiBsYXlvdXRCb3gg
PSBsaW5lUnVuLmxheW91dEJveCgpOwogICAgICAgICBhdXRvIGxpbmVJbmRleCA9IGxpbmVSdW4u
bGluZUluZGV4KCk7CiAgICAgICAgIGF1dG8mIGxpbmVCb3hMb2dpY2FsUmVjdCA9IGxpbmVzW2xp
bmVJbmRleF0ubGluZUJveExvZ2ljYWxSZWN0KCk7Ci0gICAgICAgIC8vIElubGluZSBib3hlcyBh
cmUgcmVsYXRpdmUgdG8gdGhlIGxpbmUgYm94IHdoaWxlIGZpbmFsIFJ1bnMgbmVlZCB0byBiZSBy
ZWxhdGl2ZSB0byB0aGUgcGFyZW50IEJveAorICAgICAgICAvLyBJbmxpbmUgYm94ZXMgYXJlIHJl
bGF0aXZlIHRvIHRoZSBsaW5lIGJveCB3aGlsZSBmaW5hbCBydW5zIG5lZWQgdG8gYmUgcmVsYXRp
dmUgdG8gdGhlIHBhcmVudCBib3gKICAgICAgICAgLy8gRklYTUU6IFNob3VsZG4ndCB3ZSBqdXN0
IGxlYXZlIHRoZW0gYmUgcmVsYXRpdmUgdG8gdGhlIGxpbmUgYm94PwogICAgICAgICBhdXRvIHJ1
blJlY3QgPSBGbG9hdFJlY3QgeyBsaW5lUnVuLmxvZ2ljYWxSZWN0KCkgfTsKLSAgICAgICAgLy8g
TGluZSBydW5zIGFyZSBtYXJnaW4gYm94IGJhc2VkLCBsZXQncyBjb252ZXJ0IHRoZW0gdG8gYm9y
ZGVyIGJveC4KICAgICAgICAgYXV0byYgZ2VvbWV0cnkgPSBtX2xheW91dFN0YXRlLmdlb21ldHJ5
Rm9yQm94KGxheW91dEJveCk7Ci0gICAgICAgIHJ1blJlY3QubW92ZUJ5KHsgbGluZUJveExvZ2lj
YWxSZWN0LmxlZnQoKSArIHN0ZDo6bWF4KGdlb21ldHJ5Lm1hcmdpblN0YXJ0KCksIDBfbHUpLCBs
aW5lQm94TG9naWNhbFJlY3QudG9wKCkgKyBnZW9tZXRyeS5tYXJnaW5CZWZvcmUoKSB9KTsKKyAg
ICAgICAgcnVuUmVjdC5tb3ZlQnkoeyBsaW5lQm94TG9naWNhbFJlY3QubGVmdCgpLCBsaW5lQm94
TG9naWNhbFJlY3QudG9wKCkgfSk7CiAgICAgICAgIHJ1blJlY3Quc2V0U2l6ZSh7IGdlb21ldHJ5
LmJvcmRlckJveFdpZHRoKCksIGdlb21ldHJ5LmJvcmRlckJveEhlaWdodCgpIH0pOwogICAgICAg
ICBpZiAobGluZUxldmVsVmlzdWFsQWRqdXN0bWVudHNGb3JSdW5zW2xpbmVJbmRleF0ubmVlZHNJ
bnRlZ3JhbFBvc2l0aW9uKQogICAgICAgICAgICAgcnVuUmVjdC5zZXRZKHJvdW5kVG9JbnQocnVu
UmVjdC55KCkpKTsKQEAgLTI0OCw4ICsyNDcsNiBAQCB2b2lkIElubGluZUNvbnRlbnRCdWlsZGVy
OjpjcmVhdGVEaXNwbGF5TGluZVJ1bnMoY29uc3QgTGF5b3V0OjpJbmxpbmVGb3JtYXR0aW5nUwog
ICAgICAgICBhdXRvIGxpbmVJbmRleCA9IGxpbmVSdW4ubGluZUluZGV4KCk7CiAgICAgICAgIGF1
dG8mIGxpbmVCb3hMb2dpY2FsUmVjdCA9IGxpbmVzW2xpbmVJbmRleF0ubGluZUJveExvZ2ljYWxS
ZWN0KCk7CiAgICAgICAgIGF1dG8gcnVuUmVjdCA9IEZsb2F0UmVjdCB7IGxpbmVSdW4ubG9naWNh
bFJlY3QoKSB9OwotICAgICAgICAvLyBJbmxpbmUgYm94ZXMgYXJlIHJlbGF0aXZlIHRvIHRoZSBs
aW5lIGJveCB3aGlsZSBmaW5hbCBSdW5zIG5lZWQgdG8gYmUgcmVsYXRpdmUgdG8gdGhlIHBhcmVu
dCBCb3gKLSAgICAgICAgLy8gRklYTUU6IFNob3VsZG4ndCB3ZSBqdXN0IGxlYXZlIHRoZW0gYmUg
cmVsYXRpdmUgdG8gdGhlIGxpbmUgYm94PwogICAgICAgICBydW5SZWN0Lm1vdmVCeSh7IGxpbmVC
b3hMb2dpY2FsUmVjdC5sZWZ0KCksIGxpbmVCb3hMb2dpY2FsUmVjdC50b3AoKSB9KTsKICAgICAg
ICAgaWYgKGxpbmVMZXZlbFZpc3VhbEFkanVzdG1lbnRzRm9yUnVuc1tsaW5lSW5kZXhdLm5lZWRz
SW50ZWdyYWxQb3NpdGlvbikKICAgICAgICAgICAgIHJ1blJlY3Quc2V0WShyb3VuZFRvSW50KHJ1
blJlY3QueSgpKSk7CkBAIC0zNzgsNyArMzc1LDcgQEAgdm9pZCBJbmxpbmVDb250ZW50QnVpbGRl
cjo6Y3JlYXRlRGlzcGxheU5vblJvb3RJbmxpbmVCb3hlcyhjb25zdCBMYXlvdXQ6OklubGluZUYK
ICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgIGF1dG8mIGxheW91dEJveCA9
IGlubGluZUxldmVsQm94LT5sYXlvdXRCb3goKTsKICAgICAgICAgICAgIGF1dG8mIGJveEdlb21l
dHJ5ID0gbV9sYXlvdXRTdGF0ZS5nZW9tZXRyeUZvckJveChsYXlvdXRCb3gpOwotICAgICAgICAg
ICAgYXV0byBpbmxpbmVCb3hSZWN0ID0gbGluZUJveC5sb2dpY2FsUmVjdEZvcklubGluZUJveChs
YXlvdXRCb3gsIGJveEdlb21ldHJ5KTsKKyAgICAgICAgICAgIGF1dG8gaW5saW5lQm94UmVjdCA9
IGxpbmVCb3gubG9naWNhbEJvcmRlckJveEZvcklubGluZUJveChsYXlvdXRCb3gsIGJveEdlb21l
dHJ5KTsKICAgICAgICAgICAgIGlubGluZUJveFJlY3QubW92ZUJ5KGxpbmVCb3hMb2dpY2FsUmVj
dC50b3BMZWZ0KCkpOwogCiAgICAgICAgICAgICBpbmxpbmVDb250ZW50Lm5vblJvb3RJbmxpbmVC
b3hlcy5hcHBlbmQoeyBsaW5lSW5kZXgsIGxheW91dEJveCwgaW5saW5lQm94UmVjdCwgaW5saW5l
UXVpcmtzLmlubGluZUxldmVsQm94QWZmZWN0c0xpbmVCb3goKmlubGluZUxldmVsQm94LCBsaW5l
Qm94KSB9KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xh
eW91dFRyZWVCdWlsZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xh
eW91dFRyZWVCdWlsZGVyLmNwcAppbmRleCA5NDg5ZWMwODRmMmU4NDk4NDVkOGZiNjY0ODcxZDkw
MTNkZTFmMTlmLi41MjQ2MTE4OTE1OWY1OTQ5NTBiYmIzZTQ2ZDk3YzA1NmQzN2I0ZGY2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRUcmVlQnVpbGRl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0VHJlZUJ1
aWxkZXIuY3BwCkBAIC00MTMsMTMgKzQxMywxMyBAQCB2b2lkIHNob3dJbmxpbmVUcmVlQW5kUnVu
cyhUZXh0U3RyZWFtJiBzdHJlYW0sIGNvbnN0IExheW91dFN0YXRlJiBsYXlvdXRTdGF0ZSwgYwog
ICAgICAgICAgICAgICAgIGxvZ2ljYWxSZWN0ID0gbGluZUJveC5sb2dpY2FsUmVjdEZvclJvb3RJ
bmxpbmVCb3goKTsKICAgICAgICAgICAgIH0gZWxzZSBpZiAoaW5saW5lTGV2ZWxCb3guaXNBdG9t
aWNJbmxpbmVMZXZlbEJveCgpKSB7CiAgICAgICAgICAgICAgICAgc3RyZWFtIDw8ICJBdG9taWMg
aW5saW5lIGxldmVsIGJveCI7Ci0gICAgICAgICAgICAgICAgbG9naWNhbFJlY3QgPSBsaW5lQm94
LmxvZ2ljYWxNYXJnaW5SZWN0Rm9yQXRvbWljSW5saW5lTGV2ZWxCb3gobGF5b3V0Qm94KTsKKyAg
ICAgICAgICAgICAgICBsb2dpY2FsUmVjdCA9IGxpbmVCb3gubG9naWNhbEJvcmRlckJveEZvckF0
b21pY0lubGluZUxldmVsQm94KGxheW91dEJveCwgbGF5b3V0U3RhdGUuZ2VvbWV0cnlGb3JCb3go
bGF5b3V0Qm94KSk7CiAgICAgICAgICAgICB9IGVsc2UgaWYgKGlubGluZUxldmVsQm94LmlzTGlu
ZUJyZWFrQm94KCkpIHsKICAgICAgICAgICAgICAgICBzdHJlYW0gPDwgIkxpbmUgYnJlYWsgYm94
IjsKICAgICAgICAgICAgICAgICBsb2dpY2FsUmVjdCA9IGxpbmVCb3gubG9naWNhbFJlY3RGb3JM
aW5lQnJlYWtCb3gobGF5b3V0Qm94KTsKICAgICAgICAgICAgIH0gZWxzZSBpZiAoaW5saW5lTGV2
ZWxCb3guaXNJbmxpbmVCb3goKSkgewogICAgICAgICAgICAgICAgIHN0cmVhbSA8PCAiSW5saW5l
IGJveCI7Ci0gICAgICAgICAgICAgICAgbG9naWNhbFJlY3QgPSBsaW5lQm94LmxvZ2ljYWxSZWN0
Rm9ySW5saW5lQm94KGxheW91dEJveCwgbGF5b3V0U3RhdGUuZ2VvbWV0cnlGb3JCb3gobGF5b3V0
Qm94KSk7CisgICAgICAgICAgICAgICAgbG9naWNhbFJlY3QgPSBsaW5lQm94LmxvZ2ljYWxCb3Jk
ZXJCb3hGb3JJbmxpbmVCb3gobGF5b3V0Qm94LCBsYXlvdXRTdGF0ZS5nZW9tZXRyeUZvckJveChs
YXlvdXRCb3gpKTsKICAgICAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgICAgIHN0cmVhbSA8
PCAiR2VuZXJpYyBpbmxpbmUgbGV2ZWwgYm94IjsKICAgICAgICAgICAgIHN0cmVhbQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>421144</attachid>
            <date>2021-02-21 11:33:53 -0800</date>
            <delta_ts>2021-02-21 13:38:47 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-222249-20210221113352.patch</filename>
            <type>text/plain</type>
            <size>20684</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjczMTk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2Y0YWE3MTEyNmFmZjFj
NmU5YTkzM2Q5NjNmZjI3NjE3YmM1NGUzZC4uOWNhOWMwNTRlYTczMDE0OTRiMmI1ZjBiODJjZDgw
ZTU5OGVkMTgyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDIxLTAyLTIxICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bSUZDXSBIaXR0ZXN0
IHNob3VsZCBiZSB1c2luZyB0aGUgYm9yZGVyIGJveCAoYW5kIG5vdCB0aGUgbWFyZ2luIGJveCkK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMjI0OQor
CisgICAgICAgIFJldmlld2VkIGJ5IEFudHRpIEtvaXZpc3RvLgorCisgICAgICAgIFRoaXMgcGF0
Y2ggZml4ZXMgdGhlIGNhc2VzIHdoZW4gdGhlIGlubGluZSBib3ggKGUuZy4gPHNwYW4+KSBoYXMg
aG9yaXpvbnRhbAorICAgICAgICBtYXJnaW5zIGFuZCB3ZSBmaW5kIHRob3NlIGlubGluZSBib3hl
cyBpbnN0ZWFkIG9mIHRoZWlyIGNvbnRhaW5pbmcgYmxvY2tzLgorICAgICAgICBlLmcuCisgICAg
ICAgIDxkaXY+PHNwYW4gc3R5bGU9Im1hcmdpbi1sZWZ0OiAxMDBweDsiPmJvcmRlciBib3ggc3Rh
cnRzIGF0IDEwMHB4PC9zcGFuPjwvZGl2PgorICAgICAgICBkb2N1bWVudC5lbGVtZW50RnJvbVBv
aW50KDUwLCAxMCkgc2hvdWxkIG5vdCBmaW5kIHRoZSA8c3Bhbj4uCisKKyAgICAgICAgTGV0J3Mg
c2ltcGxpZnkgTGluZUJveCBpbnRlcmZhY2Ugc28gdGhhdCBpdCByZXR1cm5zIHRoZSBib3JkZXIg
Ym94LiBDbGllbnRzCisgICAgICAgIGFyZSBtYWlubHkgaW50ZXJlc3RlZCBpbiB0aGUgYm9yZGVy
IGJveC4gCisgICAgICAgIChMaW5lQm94IGlzIG1vc3RseSB0aGVyZSB0byBzdXBwb3J0IHZlcnRp
Y2FsIGFsaWdubWVudCBhbmQgdGhlIHZlcnRpY2FsCisgICAgICAgIGFsaWdubWVudCB1c2VzIHRo
ZSBtYXJnaW4gYm94IGhlaWdodC4gVGhlIGlubGluZSBsZXZlbCBib3hlcyBvbiB0aGUgbGluZSBu
b3cgaGF2ZQorICAgICAgICB0aGlzIHNlZW1pbmdseSBvZGQgY29tYmluYXRpb24gb2YgYm9yZGVy
IGJveCB3aWR0aCBhbmQgbWFyZ2luIGJveCBoZWlnaHQsIGJ1dAorICAgICAgICB0aGF0J3MgcmVx
dWlyZWQgdG8ga2VlcCB0aGUgYWxpZ25tZW50IGxvZ2ljIGNsZWFuIGFuZCBzaW1wbGUuKQorCisg
ICAgICAgICogbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6
Y29tcHV0ZUdlb21ldHJ5Rm9yTGluZUNvbnRlbnQpOgorICAgICAgICAqIGxheW91dC9pbmxpbmVm
b3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0R2VvbWV0cnkuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6TGF5b3V0OjpMaW5lQm94QnVpbGRlcjo6Y29uc3RydWN0SW5saW5lTGV2ZWxCb3hl
cyk6CisgICAgICAgICogbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUJveC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCb3g6OmxvZ2ljYWxCb3JkZXJCb3hGb3JB
dG9taWNJbmxpbmVMZXZlbEJveCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6Okxp
bmVCb3g6OmxvZ2ljYWxCb3JkZXJCb3hGb3JJbmxpbmVCb3ggY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6TGF5b3V0OjpMaW5lQm94Ojpsb2dpY2FsTWFyZ2luUmVjdEZvckF0b21pY0lubGluZUxl
dmVsQm94IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZUJv
eDo6bG9naWNhbFJlY3RGb3JJbmxpbmVCb3ggY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIGxh
eW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVCb3guaDoKKyAgICAgICAgKiBsYXlvdXQv
aW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250ZW50QnVpbGRlci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpMYXlvdXRJbnRlZ3JhdGlvbjo6SW5saW5lQ29udGVudEJ1aWxkZXI6
OmNyZWF0ZURpc3BsYXlMaW5lUnVucyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXRJ
bnRlZ3JhdGlvbjo6SW5saW5lQ29udGVudEJ1aWxkZXI6OmNyZWF0ZURpc3BsYXlOb25Sb290SW5s
aW5lQm94ZXMgY29uc3QpOgorICAgICAgICAqIGxheW91dC9sYXlvdXR0cmVlL0xheW91dFRyZWVC
dWlsZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6c2hvd0lubGluZVRyZWVBbmRS
dW5zKToKKwogMjAyMS0wMi0yMCAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAg
ICAgICAgIFtMRkNdW0ludGVncmF0aW9uXSBFbmNsb3NpbmcgdG9wIGFuZCBib3R0b20gdmFsdWUg
YXJlIHJlbGF0aXZlIHRvIHRoZSBjb250YWluaW5nIGJsb2NrJ3MgYm9yZGVyIGJveApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0
dGluZ0NvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcv
SW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwCmluZGV4IGIxMmY0MTU2OTBkMDcyZDVmZDNiMmRi
Mjg0NGRkY2FkM2Q3MzM2YmMuLjgzNmQyOGZiNDMyODkwMDE2YzYwM2I1N2ZkY2JmOTdkMmE5NmUz
MzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lu
bGluZUZvcm1hdHRpbmdDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5s
aW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5jcHAKQEAgLTQ2Niw3ICs0NjYs
NyBAQCBJbmxpbmVSZWN0IElubGluZUZvcm1hdHRpbmdDb250ZXh0Ojpjb21wdXRlR2VvbWV0cnlG
b3JMaW5lQ29udGVudChjb25zdCBMaW5lQnVpbAogICAgICAgICAgICAgfQogICAgICAgICAgICAg
Zm9yIChhdXRvKiBsYXlvdXRCb3ggOiBsYXlvdXRCb3hMaXN0KSB7CiAgICAgICAgICAgICAgICAg
YXV0byYgYm94R2VvbWV0cnkgPSBmb3JtYXR0aW5nU3RhdGUuYm94R2VvbWV0cnkoKmxheW91dEJv
eCk7Ci0gICAgICAgICAgICAgICAgYXV0byBpbmxpbmVCb3hMb2dpY2FsSGVpZ2h0ID0gTGF5b3V0
VW5pdDo6ZnJvbUZsb2F0Q2VpbChsaW5lQm94LmxvZ2ljYWxSZWN0Rm9ySW5saW5lQm94KCpsYXlv
dXRCb3gsIGJveEdlb21ldHJ5KS5oZWlnaHQoKSk7CisgICAgICAgICAgICAgICAgYXV0byBpbmxp
bmVCb3hMb2dpY2FsSGVpZ2h0ID0gTGF5b3V0VW5pdDo6ZnJvbUZsb2F0Q2VpbChsaW5lQm94Lmxv
Z2ljYWxCb3JkZXJCb3hGb3JJbmxpbmVCb3goKmxheW91dEJveCwgYm94R2VvbWV0cnkpLmhlaWdo
dCgpKTsKICAgICAgICAgICAgICAgICBib3hHZW9tZXRyeS5zZXRDb250ZW50Qm94SGVpZ2h0KGlu
bGluZUJveExvZ2ljYWxIZWlnaHQpOwogICAgICAgICAgICAgICAgIGJveEdlb21ldHJ5LnNldENv
bnRlbnRCb3hXaWR0aCh7IH0pOwogICAgICAgICAgICAgICAgIGJveEdlb21ldHJ5LnNldExvZ2lj
YWxUb3BMZWZ0KHRvTGF5b3V0UG9pbnQobGluZUJveExvZ2ljYWxSZWN0LnRvcExlZnQoKSkpOwpA
QCAtNTA3LDEyICs1MDcsMTEgQEAgSW5saW5lUmVjdCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6
Y29tcHV0ZUdlb21ldHJ5Rm9yTGluZUNvbnRlbnQoY29uc3QgTGluZUJ1aWwKICAgICAgICAgICAg
IH0KICAgICAgICAgICAgIGlmIChsaW5lUnVuLmlzQm94KCkpIHsKICAgICAgICAgICAgICAgICBB
U1NFUlQobGF5b3V0Qm94LmlzQXRvbWljSW5saW5lTGV2ZWxCb3goKSk7Ci0gICAgICAgICAgICAg
ICAgYXV0byBsb2dpY2FsTWFyZ2luUmVjdCA9IGxpbmVCb3gubG9naWNhbE1hcmdpblJlY3RGb3JB
dG9taWNJbmxpbmVMZXZlbEJveChsYXlvdXRCb3gpOwotICAgICAgICAgICAgICAgIGZvcm1hdHRp
bmdTdGF0ZS5hZGRMaW5lUnVuKHsgbGluZUluZGV4LCBsYXlvdXRCb3gsIGxvZ2ljYWxNYXJnaW5S
ZWN0LCBsaW5lUnVuLmV4cGFuc2lvbigpLCB7IH0gfSk7Ci0KLSAgICAgICAgICAgICAgICBhdXRv
IGJvcmRlckJveExvZ2ljYWxUb3BMZWZ0ID0gbG9naWNhbE1hcmdpblJlY3QudG9wTGVmdCgpOwog
ICAgICAgICAgICAgICAgIGF1dG8mIGJveEdlb21ldHJ5ID0gZm9ybWF0dGluZ1N0YXRlLmJveEdl
b21ldHJ5KGxheW91dEJveCk7Ci0gICAgICAgICAgICAgICAgYm9yZGVyQm94TG9naWNhbFRvcExl
ZnQubW92ZShzdGQ6Om1heCgwX2x1LCBib3hHZW9tZXRyeS5tYXJnaW5TdGFydCgpKSwgc3RkOjpt
YXgoMF9sdSwgYm94R2VvbWV0cnkubWFyZ2luQmVmb3JlKCkpKTsKKyAgICAgICAgICAgICAgICBh
dXRvIGxvZ2ljYWxCb3JkZXJCb3ggPSBsaW5lQm94LmxvZ2ljYWxCb3JkZXJCb3hGb3JBdG9taWNJ
bmxpbmVMZXZlbEJveChsYXlvdXRCb3gsIGJveEdlb21ldHJ5KTsKKyAgICAgICAgICAgICAgICBm
b3JtYXR0aW5nU3RhdGUuYWRkTGluZVJ1bih7IGxpbmVJbmRleCwgbGF5b3V0Qm94LCBsb2dpY2Fs
Qm9yZGVyQm94LCBsaW5lUnVuLmV4cGFuc2lvbigpLCB7IH0gfSk7CisKKyAgICAgICAgICAgICAg
ICBhdXRvIGJvcmRlckJveExvZ2ljYWxUb3BMZWZ0ID0gbG9naWNhbEJvcmRlckJveC50b3BMZWZ0
KCk7CiAgICAgICAgICAgICAgICAgLy8gTm90ZSB0aGF0IGlubGluZSBib3hlcyBhcmUgcmVsYXRp
dmUgdG8gdGhlIGxpbmUgYW5kIHRoZWlyIHRvcCBwb3NpdGlvbiBjYW4gYmUgbmVnYXRpdmUuCiAg
ICAgICAgICAgICAgICAgYm9yZGVyQm94TG9naWNhbFRvcExlZnQubW92ZUJ5KGxpbmVCb3hMb2dp
Y2FsUmVjdC50b3BMZWZ0KCkpOwogICAgICAgICAgICAgICAgIGlmIChsYXlvdXRCb3guaXNJbkZs
b3dQb3NpdGlvbmVkKCkpCkBAIC01MjgsNyArNTI3LDcgQEAgSW5saW5lUmVjdCBJbmxpbmVGb3Jt
YXR0aW5nQ29udGV4dDo6Y29tcHV0ZUdlb21ldHJ5Rm9yTGluZUNvbnRlbnQoY29uc3QgTGluZUJ1
aWwKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGlmIChsaW5lUnVuLmlzSW5saW5lQm94U3Rh
cnQoKSkgewogICAgICAgICAgICAgICAgIGF1dG8mIGJveEdlb21ldHJ5ID0gZm9ybWF0dGluZ1N0
YXRlLmJveEdlb21ldHJ5KGxheW91dEJveCk7Ci0gICAgICAgICAgICAgICAgYXV0byBpbmxpbmVC
b3hMb2dpY2FsUmVjdCA9IGxpbmVCb3gubG9naWNhbFJlY3RGb3JJbmxpbmVCb3gobGF5b3V0Qm94
LCBib3hHZW9tZXRyeSk7CisgICAgICAgICAgICAgICAgYXV0byBpbmxpbmVCb3hMb2dpY2FsUmVj
dCA9IGxpbmVCb3gubG9naWNhbEJvcmRlckJveEZvcklubGluZUJveChsYXlvdXRCb3gsIGJveEdl
b21ldHJ5KTsKICAgICAgICAgICAgICAgICBmb3JtYXR0aW5nU3RhdGUuYWRkTGluZVJ1bih7IGxp
bmVJbmRleCwgbGF5b3V0Qm94LCBpbmxpbmVCb3hMb2dpY2FsUmVjdCwgbGluZVJ1bi5leHBhbnNp
b24oKSwgeyB9IH0pOwogICAgICAgICAgICAgICAgIGlubGluZUJveFN0YXJ0U2V0LmFkZCgmbGF5
b3V0Qm94KTsKICAgICAgICAgICAgICAgICBlbmNsb3NpbmdUb3BBbmRCb3R0b20udG9wID0gc3Rk
OjptaW4oZW5jbG9zaW5nVG9wQW5kQm90dG9tLnRvcCwgaW5saW5lQm94TG9naWNhbFJlY3QudG9w
KCkpOwpAQCAtNTM2LDcgKzUzNSw3IEBAIElubGluZVJlY3QgSW5saW5lRm9ybWF0dGluZ0NvbnRl
eHQ6OmNvbXB1dGVHZW9tZXRyeUZvckxpbmVDb250ZW50KGNvbnN0IExpbmVCdWlsCiAgICAgICAg
ICAgICB9CiAgICAgICAgICAgICBpZiAobGluZVJ1bi5pc0lubGluZUJveEVuZCgpKSB7CiAgICAg
ICAgICAgICAgICAgaW5saW5lQm94RW5kU2V0LmFkZCgmbGF5b3V0Qm94KTsKLSAgICAgICAgICAg
ICAgICBhdXRvIGlubGluZUJveExvZ2ljYWxSZWN0ID0gbGluZUJveC5sb2dpY2FsUmVjdEZvcklu
bGluZUJveChsYXlvdXRCb3gsIGZvcm1hdHRpbmdTdGF0ZS5ib3hHZW9tZXRyeShsYXlvdXRCb3gp
KTsKKyAgICAgICAgICAgICAgICBhdXRvIGlubGluZUJveExvZ2ljYWxSZWN0ID0gbGluZUJveC5s
b2dpY2FsQm9yZGVyQm94Rm9ySW5saW5lQm94KGxheW91dEJveCwgZm9ybWF0dGluZ1N0YXRlLmJv
eEdlb21ldHJ5KGxheW91dEJveCkpOwogICAgICAgICAgICAgICAgIGVuY2xvc2luZ1RvcEFuZEJv
dHRvbS5ib3R0b20gPSBzdGQ6Om1heChlbmNsb3NpbmdUb3BBbmRCb3R0b20uYm90dG9tLCBpbmxp
bmVCb3hMb2dpY2FsUmVjdC5ib3R0b20oKSk7CiAgICAgICAgICAgICAgICAgY29udGludWU7CiAg
ICAgICAgICAgICB9CkBAIC01NTcsMzAgKzU1NiwyMCBAQCBJbmxpbmVSZWN0IElubGluZUZvcm1h
dHRpbmdDb250ZXh0Ojpjb21wdXRlR2VvbWV0cnlGb3JMaW5lQ29udGVudChjb25zdCBMaW5lQnVp
bAogICAgICAgICAgICAgYXV0byYgbGF5b3V0Qm94ID0gaW5saW5lTGV2ZWxCb3gtPmxheW91dEJv
eCgpOwogICAgICAgICAgICAgYXV0byYgYm94R2VvbWV0cnkgPSBmb3JtYXR0aW5nU3RhdGUuYm94
R2VvbWV0cnkobGF5b3V0Qm94KTsKICAgICAgICAgICAgIC8vIElubGluZSBib3hlcyBtYXkgb3Ig
bWF5IG5vdCBiZSB3cmFwcGVkIGFuZCBoYXZlIHJ1bnMgb24gbXVsdGlwbGUgbGluZXMgKGUuZy4g
PHNwYW4+Zmlyc3QgbGluZTxicj5zZWNvbmQgbGluZTxicj50aGlyZCBsaW5lPC9zcGFuPikKLSAg
ICAgICAgICAgIGF1dG8gaW5saW5lQm94TWFyZ2luUmVjdCA9IGxpbmVCb3gubG9naWNhbFJlY3RG
b3JJbmxpbmVCb3gobGF5b3V0Qm94LCBib3hHZW9tZXRyeSk7Ci0gICAgICAgICAgICBhdXRvIGlu
bGluZUJveFNpemUgPSBMYXlvdXRTaXplIHsgTGF5b3V0VW5pdDo6ZnJvbUZsb2F0Q2VpbChpbmxp
bmVCb3hNYXJnaW5SZWN0LndpZHRoKCkpLCBMYXlvdXRVbml0Ojpmcm9tRmxvYXRDZWlsKGlubGlu
ZUJveE1hcmdpblJlY3QuaGVpZ2h0KCkpIH07Ci0gICAgICAgICAgICBhdXRvIGxvZ2ljYWxSZWN0
ID0gUmVjdCB7IExheW91dFBvaW50IHsgaW5saW5lQm94TWFyZ2luUmVjdC50b3BMZWZ0KCkgfSwg
aW5saW5lQm94U2l6ZSB9OworICAgICAgICAgICAgYXV0byBpbmxpbmVCb3hCb3JkZXJCb3ggPSBs
aW5lQm94LmxvZ2ljYWxCb3JkZXJCb3hGb3JJbmxpbmVCb3gobGF5b3V0Qm94LCBib3hHZW9tZXRy
eSk7CisgICAgICAgICAgICBhdXRvIGlubGluZUJveFNpemUgPSBMYXlvdXRTaXplIHsgTGF5b3V0
VW5pdDo6ZnJvbUZsb2F0Q2VpbChpbmxpbmVCb3hCb3JkZXJCb3gud2lkdGgoKSksIExheW91dFVu
aXQ6OmZyb21GbG9hdENlaWwoaW5saW5lQm94Qm9yZGVyQm94LmhlaWdodCgpKSB9OworICAgICAg
ICAgICAgYXV0byBsb2dpY2FsUmVjdCA9IFJlY3QgeyBMYXlvdXRQb2ludCB7IGlubGluZUJveEJv
cmRlckJveC50b3BMZWZ0KCkgfSwgaW5saW5lQm94U2l6ZSB9OwogICAgICAgICAgICAgbG9naWNh
bFJlY3QubW92ZUJ5KExheW91dFBvaW50IHsgbGluZUJveExvZ2ljYWxSZWN0LnRvcExlZnQoKSB9
KTsKICAgICAgICAgICAgIGlmIChpbmxpbmVCb3hTdGFydFNldC5jb250YWlucygmbGF5b3V0Qm94
KSkgewogICAgICAgICAgICAgICAgIC8vIFRoaXMgaW5saW5lIGJveCBzaG93ZWQgdXAgZmlyc3Qg
b24gdGhpcyBsaW5lLgotICAgICAgICAgICAgICAgIGxvZ2ljYWxSZWN0Lm1vdmVIb3Jpem9udGFs
bHkoYm94R2VvbWV0cnkubWFyZ2luU3RhcnQoKSk7CiAgICAgICAgICAgICAgICAgYm94R2VvbWV0
cnkuc2V0TG9naWNhbFRvcExlZnQobG9naWNhbFJlY3QudG9wTGVmdCgpKTsKICAgICAgICAgICAg
ICAgICBhdXRvIGNvbnRlbnRCb3hIZWlnaHQgPSBsb2dpY2FsUmVjdC5oZWlnaHQoKSAtIChib3hH
ZW9tZXRyeS52ZXJ0aWNhbEJvcmRlcigpICsgYm94R2VvbWV0cnkudmVydGljYWxQYWRkaW5nKCku
dmFsdWVPcigwX2x1KSk7CiAgICAgICAgICAgICAgICAgYm94R2VvbWV0cnkuc2V0Q29udGVudEJv
eEhlaWdodChjb250ZW50Qm94SGVpZ2h0KTsKICAgICAgICAgICAgICAgICBhdXRvIGNvbnRlbnRC
b3hXaWR0aCA9IGxvZ2ljYWxSZWN0LndpZHRoKCkgLSAoYm94R2VvbWV0cnkuaG9yaXpvbnRhbEJv
cmRlcigpICsgYm94R2VvbWV0cnkuaG9yaXpvbnRhbFBhZGRpbmcoKS52YWx1ZU9yKDBfbHUpKTsK
LSAgICAgICAgICAgICAgICBpZiAoaW5saW5lQm94RW5kU2V0LmNvbnRhaW5zKCZsYXlvdXRCb3gp
KSB7Ci0gICAgICAgICAgICAgICAgICAgIC8vIFRoaXMgaXMgYSBzaW5nbGUgbGluZSBpbmxpbmUg
Ym94LgotICAgICAgICAgICAgICAgICAgICBjb250ZW50Qm94V2lkdGggLT0gc3RkOjptYXgoMF9s
dSwgYm94R2VvbWV0cnkubWFyZ2luU3RhcnQoKSkgKyBzdGQ6Om1heCgwX2x1LCBib3hHZW9tZXRy
eS5tYXJnaW5FbmQoKSk7Ci0gICAgICAgICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICAgICAg
ICAgIGNvbnRlbnRCb3hXaWR0aCAtPSBzdGQ6Om1heCgwX2x1LCBib3hHZW9tZXRyeS5tYXJnaW5T
dGFydCgpKTsKICAgICAgICAgICAgICAgICBib3hHZW9tZXRyeS5zZXRDb250ZW50Qm94V2lkdGgo
Y29udGVudEJveFdpZHRoKTsKICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAg
IH0KICAgICAgICAgICAgIC8vIE1pZGRsZSBvciBlbmQgb2YgdGhlIGlubGluZSBib3guIExldCdz
IHN0cmV0Y2ggdGhlIGJveCBhcyBuZWVkZWQuCi0gICAgICAgICAgICBpZiAoaW5saW5lQm94RW5k
U2V0LmNvbnRhaW5zKCZsYXlvdXRCb3gpKSB7Ci0gICAgICAgICAgICAgICAgLy8gVGhlIGlubGlu
ZSBib3ggZW5kcyBvbiB0aGlzIGxpbmUgZS5nLiA8c3Bhbj5maXN0PGJyPm1pZGRsZTxicj5sYXN0
IGxpbmU8L3NwYW4+Ci0gICAgICAgICAgICAgICAgbG9naWNhbFJlY3QuZXhwYW5kSG9yaXpvbnRh
bGx5KC1zdGQ6Om1heCgwX2x1LCBib3hHZW9tZXRyeS5tYXJnaW5FbmQoKSkpOwotICAgICAgICAg
ICAgfQogICAgICAgICAgICAgYXV0byBlbmNsb3NpbmdCb3JkZXJCb3hSZWN0ID0gQm94R2VvbWV0
cnk6OmJvcmRlckJveFJlY3QoYm94R2VvbWV0cnkpOwogICAgICAgICAgICAgZW5jbG9zaW5nQm9y
ZGVyQm94UmVjdC5leHBhbmRUb0NvbnRhaW4obG9naWNhbFJlY3QpOwogICAgICAgICAgICAgYm94
R2VvbWV0cnkuc2V0TG9naWNhbExlZnQoZW5jbG9zaW5nQm9yZGVyQm94UmVjdC5sZWZ0KCkpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5l
Rm9ybWF0dGluZ0NvbnRleHRHZW9tZXRyeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5s
aW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcAppbmRleCBj
OTgzNTA5MGE0YmYwNWI1MTYwM2Y0N2VhMDFhY2IyNmZjYTkwZTk4Li45Y2NiMDg2ZmZjZmUyYTA4
OWMzOTM4ZTk2MzIyMWRlNGVkMDk2ODQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0
aW5nQ29udGV4dEdlb21ldHJ5LmNwcApAQCAtMzAxLDcgKzMwMSw4IEBAIHZvaWQgTGluZUJveEJ1
aWxkZXI6OmNvbnN0cnVjdElubGluZUxldmVsQm94ZXMoTGluZUJveCYgbGluZUJveCwgY29uc3Qg
TGluZTo6UnVuCiAgICAgICAgICAgICAgICAgYXNjZW50ID0gZG93bmNhc3Q8UmVwbGFjZWRCb3g+
KGxheW91dEJveCkuYmFzZWxpbmUoKS52YWx1ZU9yKG1hcmdpbkJveEhlaWdodCk7CiAgICAgICAg
ICAgICBlbHNlCiAgICAgICAgICAgICAgICAgYXNjZW50ID0gbWFyZ2luQm94SGVpZ2h0OwotICAg
ICAgICAgICAgYXV0byBhdG9taWNJbmxpbmVMZXZlbEJveCA9IExpbmVCb3g6OklubGluZUxldmVs
Qm94OjpjcmVhdGVBdG9taWNJbmxpbmVMZXZlbEJveChsYXlvdXRCb3gsIGxvZ2ljYWxMZWZ0LCB7
IHJ1bi5sb2dpY2FsV2lkdGgoKSwgbWFyZ2luQm94SGVpZ2h0IH0pOworICAgICAgICAgICAgbG9n
aWNhbExlZnQgKz0gc3RkOjptYXgoMF9sdSwgaW5saW5lTGV2ZWxCb3hHZW9tZXRyeS5tYXJnaW5T
dGFydCgpKTsKKyAgICAgICAgICAgIGF1dG8gYXRvbWljSW5saW5lTGV2ZWxCb3ggPSBMaW5lQm94
OjpJbmxpbmVMZXZlbEJveDo6Y3JlYXRlQXRvbWljSW5saW5lTGV2ZWxCb3gobGF5b3V0Qm94LCBs
b2dpY2FsTGVmdCwgeyBpbmxpbmVMZXZlbEJveEdlb21ldHJ5LmJvcmRlckJveFdpZHRoKCksIG1h
cmdpbkJveEhlaWdodCB9KTsKICAgICAgICAgICAgIGF0b21pY0lubGluZUxldmVsQm94LT5zZXRC
YXNlbGluZShhc2NlbnQpOwogICAgICAgICAgICAgYXRvbWljSW5saW5lTGV2ZWxCb3gtPnNldExh
eW91dEJvdW5kcyhMaW5lQm94OjpJbmxpbmVMZXZlbEJveDo6TGF5b3V0Qm91bmRzIHsgYXNjZW50
LCBtYXJnaW5Cb3hIZWlnaHQgLSBhc2NlbnQgfSk7CiAgICAgICAgICAgICAvLyBMZXQncyBwcmUt
Y29tcHV0ZSB0aGUgbG9naWNhbCB0b3Agc28gdGhhdCB3ZSBjYW4gYXZvaWQgcnVubmluZyB0aGUg
YWxpZ25tZW50IG9uIHNpbXBsZSBpbmxpbmUgYm94ZXMuCkBAIC0zMzUsOCArMzM2LDE0IEBAIHZv
aWQgTGluZUJveEJ1aWxkZXI6OmNvbnN0cnVjdElubGluZUxldmVsQm94ZXMoTGluZUJveCYgbGlu
ZUJveCwgY29uc3QgTGluZTo6UnVuCiAgICAgICAgIC8vIGUuZy4gPGRpdj48c3Bhbj48L3NwYW4+
PHNwYW4+PC9zcGFuPjwvZGl2PiBpcyBzdGlsbCBva2F5LgogICAgICAgICBtX2lubGluZUxldmVs
Qm94ZXNOZWVkVmVydGljYWxBbGlnbm1lbnQgPSBtX2lubGluZUxldmVsQm94ZXNOZWVkVmVydGlj
YWxBbGlnbm1lbnQgfHwgbGluZUhhc0NvbnRlbnQ7CiAgICAgICAgIGlmIChydW4uaXNJbmxpbmVC
b3hTdGFydCgpKSB7CisgICAgICAgICAgICAvLyBBdCB0aGlzIHBvaW50IHdlIGRvbid0IGtub3cg
eWV0IGhvdyB3aWRlIHRoaXMgaW5saW5lIGJveCBpcy4gTGV0J3MgYXNzdW1lIGl0J3MgYXMgbG9u
ZyBhcyB0aGUgbGluZSBpcworICAgICAgICAgICAgLy8gYW5kIGFkanVzdCBpdCBsYXRlciBpZiB3
ZSBjb21lIGFjcm9zcyBhbiBpbmxpbmVCb3hFbmQgcnVuIChzZWUgYmVsb3cpLgogICAgICAgICAg
ICAgYXV0byBpbml0aWFsTG9naWNhbFdpZHRoID0gbGluZUJveC5jb250ZW50TG9naWNhbFdpZHRo
KCkgLSBydW4ubG9naWNhbExlZnQoKTsKICAgICAgICAgICAgIEFTU0VSVChpbml0aWFsTG9naWNh
bFdpZHRoID49IDApOworICAgICAgICAgICAgLy8gSW5saW5lIGJveCBydW4gaXMgYmFzZWQgb24g
bWFyZ2luIGJveC4gTGV0J3MgY29udmVydCBpdCB0byBib3JkZXIgYm94LgorICAgICAgICAgICAg
YXV0byBtYXJnaW5TdGFydCA9IHN0ZDo6bWF4KDBfbHUsIGZvcm1hdHRpbmdDb250ZXh0KCkuZ2Vv
bWV0cnlGb3JCb3gobGF5b3V0Qm94KS5tYXJnaW5TdGFydCgpKTsKKyAgICAgICAgICAgIGxvZ2lj
YWxMZWZ0ICs9IG1hcmdpblN0YXJ0OworICAgICAgICAgICAgaW5pdGlhbExvZ2ljYWxXaWR0aCAt
PSBtYXJnaW5TdGFydDsKICAgICAgICAgICAgIGF1dG8gaW5saW5lQm94ID0gTGluZUJveDo6SW5s
aW5lTGV2ZWxCb3g6OmNyZWF0ZUlubGluZUJveChsYXlvdXRCb3gsIGxvZ2ljYWxMZWZ0LCBpbml0
aWFsTG9naWNhbFdpZHRoKTsKICAgICAgICAgICAgIHNldFZlcnRpY2FsR2VvbWV0cnlGb3JJbmxp
bmVCb3goKmlubGluZUJveCk7CiAgICAgICAgICAgICBsaW5lQm94LmFkZElubGluZUxldmVsQm94
KFdURk1vdmUoaW5saW5lQm94KSk7CkBAIC0zNDYsNyArMzUzLDkgQEAgdm9pZCBMaW5lQm94QnVp
bGRlcjo6Y29uc3RydWN0SW5saW5lTGV2ZWxCb3hlcyhMaW5lQm94JiBsaW5lQm94LCBjb25zdCBM
aW5lOjpSdW4KICAgICAgICAgICAgIC8vIEFkanVzdCB0aGUgbG9naWNhbCB3aWR0aCB3aGVuIHRo
ZSBpbmxpbmUgbGV2ZWwgY29udGFpbmVyIGNsb3NlcyBvbiB0aGlzIGxpbmUuCiAgICAgICAgICAg
ICBhdXRvJiBpbmxpbmVCb3ggPSBsaW5lQm94LmlubGluZUxldmVsQm94Rm9yTGF5b3V0Qm94KGxh
eW91dEJveCk7CiAgICAgICAgICAgICBBU1NFUlQoaW5saW5lQm94LmlzSW5saW5lQm94KCkpOwot
ICAgICAgICAgICAgYXV0byBpbmxpbmVCb3hMb2dpY2FsUmlnaHQgPSBsb2dpY2FsTGVmdCArIHJ1
bi5sb2dpY2FsV2lkdGgoKTsgCisgICAgICAgICAgICAvLyBJbmxpbmUgYm94IHJ1biBpcyBiYXNl
ZCBvbiBtYXJnaW4gYm94LiBMZXQncyBjb252ZXJ0IGl0IHRvIGJvcmRlciBib3guCisgICAgICAg
ICAgICBhdXRvIG1hcmdpbkVuZCA9IHN0ZDo6bWF4KDBfbHUsIGZvcm1hdHRpbmdDb250ZXh0KCku
Z2VvbWV0cnlGb3JCb3gobGF5b3V0Qm94KS5tYXJnaW5FbmQoKSk7CisgICAgICAgICAgICBhdXRv
IGlubGluZUJveExvZ2ljYWxSaWdodCA9IGxvZ2ljYWxMZWZ0ICsgcnVuLmxvZ2ljYWxXaWR0aCgp
IC0gbWFyZ2luRW5kOwogICAgICAgICAgICAgaW5saW5lQm94LnNldExvZ2ljYWxXaWR0aChpbmxp
bmVCb3hMb2dpY2FsUmlnaHQgLSBpbmxpbmVCb3gubG9naWNhbExlZnQoKSk7CiAgICAgICAgICAg
ICBjb250aW51ZTsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lQm94LmNwcAppbmRleCAwNDE0ZDk4ODYwY2M1
MDJmZGE1NDc0YmM3NDA2NmQzOTg2NThkMjE0Li5iOGEwYzZhNTQyMTFhZDQ3OGU3NWUwMzA0M2Nj
MTg4MDg3ZTI0ZWZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9y
bWF0dGluZy9JbmxpbmVMaW5lQm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5s
aW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lQm94LmNwcApAQCAtMTUyLDIwICsxNTIsMjQgQEAgSW5s
aW5lUmVjdCBMaW5lQm94Ojpsb2dpY2FsUmVjdEZvcklubGluZUxldmVsQm94KGNvbnN0IEJveCYg
bGF5b3V0Qm94KSBjb25zdAogICAgIHJldHVybiBJbmxpbmVSZWN0IHsgaW5saW5lQm94QWJzb2x1
dGVsb2dpY2FsVG9wLCBpbmxpbmVCb3hMb2dpY2FsUmVjdC5sZWZ0KCksIGlubGluZUJveExvZ2lj
YWxSZWN0LndpZHRoKCksIGlubGluZUJveExvZ2ljYWxSZWN0LmhlaWdodCgpIH07CiB9CiAKLUlu
bGluZVJlY3QgTGluZUJveDo6bG9naWNhbE1hcmdpblJlY3RGb3JBdG9taWNJbmxpbmVMZXZlbEJv
eChjb25zdCBCb3gmIGxheW91dEJveCkgY29uc3QKK0lubGluZVJlY3QgTGluZUJveDo6bG9naWNh
bEJvcmRlckJveEZvckF0b21pY0lubGluZUxldmVsQm94KGNvbnN0IEJveCYgbGF5b3V0Qm94LCBj
b25zdCBCb3hHZW9tZXRyeSYgYm94R2VvbWV0cnkpIGNvbnN0CiB7CiAgICAgQVNTRVJUKGxheW91
dEJveC5pc0F0b21pY0lubGluZUxldmVsQm94KCkpOwotICAgIHJldHVybiBsb2dpY2FsUmVjdEZv
cklubGluZUxldmVsQm94KGxheW91dEJveCk7CisgICAgYXV0byBsb2dpY2FsUmVjdCA9IGxvZ2lj
YWxSZWN0Rm9ySW5saW5lTGV2ZWxCb3gobGF5b3V0Qm94KTsKKyAgICAvLyBJbmxpbmUgbGV2ZWwg
Ym94ZXMgdXNlIHRoZWlyIG1hcmdpbiBib3ggZm9yIHZlcnRpY2FsIGFsaWdubWVudC4gTGV0J3Mg
Y292ZXJ0IHRoZW0gdG8gYm9yZGVyIGJveGVzLgorICAgIGxvZ2ljYWxSZWN0Lm1vdmVWZXJ0aWNh
bGx5KGJveEdlb21ldHJ5Lm1hcmdpbkJlZm9yZSgpKTsKKyAgICBhdXRvIHZlcnRpY2FsTWFyZ2lu
ID0gYm94R2VvbWV0cnkubWFyZ2luQmVmb3JlKCkgKyBib3hHZW9tZXRyeS5tYXJnaW5BZnRlcigp
OworICAgIGxvZ2ljYWxSZWN0LmV4cGFuZFZlcnRpY2FsbHkoLXZlcnRpY2FsTWFyZ2luKTsKKyAg
ICByZXR1cm4gbG9naWNhbFJlY3Q7CiB9CiAKLUlubGluZVJlY3QgTGluZUJveDo6bG9naWNhbFJl
Y3RGb3JJbmxpbmVCb3goY29uc3QgQm94JiBsYXlvdXRCb3gsIGNvbnN0IEJveEdlb21ldHJ5JiBi
b3hHZW9tZXRyeSkgY29uc3QKK0lubGluZVJlY3QgTGluZUJveDo6bG9naWNhbEJvcmRlckJveEZv
cklubGluZUJveChjb25zdCBCb3gmIGxheW91dEJveCwgY29uc3QgQm94R2VvbWV0cnkmIGJveEdl
b21ldHJ5KSBjb25zdAogewogICAgIGF1dG8gbG9naWNhbFJlY3QgPSBsb2dpY2FsUmVjdEZvcklu
bGluZUxldmVsQm94KGxheW91dEJveCk7Ci0gICAgLy8gVGhpcyBsb2dpY2FsIHJlY3QgaXMgYXMg
dGFsbCBhcyB0aGUgInRleHQiIGNvbnRlbnQgaXMuIExldCdzIGFkanVzdCB3aXRoIHZlcnRpY2Fs
IGJvcmRlciBhbmQgcGFkZGluZyAtdmVydGljYWwgbWFyZ2luIGlzIGlnbm9yZWQuCisgICAgLy8g
VGhpcyBsb2dpY2FsIHJlY3QgaXMgYXMgdGFsbCBhcyB0aGUgInRleHQiIGNvbnRlbnQgaXMuIExl
dCdzIGFkanVzdCB3aXRoIHZlcnRpY2FsIGJvcmRlciBhbmQgcGFkZGluZy4KICAgICBhdXRvIHZl
cnRpY2FsQm9yZGVyQW5kUGFkZGluZyA9IGJveEdlb21ldHJ5LnZlcnRpY2FsQm9yZGVyKCkgKyBi
b3hHZW9tZXRyeS52ZXJ0aWNhbFBhZGRpbmcoKS52YWx1ZU9yKDBfbHUpOwogICAgIGxvZ2ljYWxS
ZWN0LmV4cGFuZFZlcnRpY2FsbHkodmVydGljYWxCb3JkZXJBbmRQYWRkaW5nKTsKICAgICBsb2dp
Y2FsUmVjdC5tb3ZlVmVydGljYWxseSgtKGJveEdlb21ldHJ5LmJvcmRlclRvcCgpICsgYm94R2Vv
bWV0cnkucGFkZGluZ1RvcCgpLnZhbHVlT3IoMF9sdSkpKTsKLSAgICAvLyBUaGlzIGlzIGVzc2Vu
dGlhbGx5IG1hcmdpbiBib3ggcmVjdCB3aXRob3V0IHRoZSB2ZXJ0aWNhbCBtYXJnaW5zLgogICAg
IHJldHVybiBsb2dpY2FsUmVjdDsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUJveC5oIGIvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUJveC5oCmluZGV4IGNmMjIzMmNmM2FiNzk4
MDQwN2M2Njc0NDk0Y2ZkMmZkZmY3NmYzOGMuLjRkMzE4Y2QzY2Q0Y2ZhMGM3MzRhN2YxMDliMzdh
NmQ4MGYwYjA2MzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3Jt
YXR0aW5nL0lubGluZUxpbmVCb3guaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5l
Zm9ybWF0dGluZy9JbmxpbmVMaW5lQm94LmgKQEAgLTEyMiw2ICsxMjIsNyBAQCBwdWJsaWM6CiAK
ICAgICBwcml2YXRlOgogICAgICAgICBXZWFrUHRyPGNvbnN0IEJveD4gbV9sYXlvdXRCb3g7Cisg
ICAgICAgIC8vIFRoaXMgaXMgdGhlIGNvbWJpbmF0aW9uIG9mIG1hcmdpbiBhbmQgYm9yZGVyIGJv
eGVzLiBJbmxpbmUgbGV2ZWwgYm94ZXMgYXJlIHZlcnRpY2FsbHkgYWxpZ25lZCB1c2luZyB0aGVp
ciBtYXJnaW4gYm94ZXMuCiAgICAgICAgIElubGluZVJlY3QgbV9sb2dpY2FsUmVjdDsKICAgICAg
ICAgTGF5b3V0Qm91bmRzIG1fbGF5b3V0Qm91bmRzOwogICAgICAgICBJbmxpbmVMYXlvdXRVbml0
IG1fYmFzZWxpbmUgeyAwIH07CkBAIC0xNTEsOSArMTUyLDkgQEAgcHVibGljOgogCiAgICAgSW5s
aW5lUmVjdCBsb2dpY2FsUmVjdEZvclRleHRSdW4oY29uc3QgTGluZTo6UnVuJikgY29uc3Q7CiAg
ICAgSW5saW5lUmVjdCBsb2dpY2FsUmVjdEZvckxpbmVCcmVha0JveChjb25zdCBCb3gmKSBjb25z
dDsKLSAgICBJbmxpbmVSZWN0IGxvZ2ljYWxNYXJnaW5SZWN0Rm9yQXRvbWljSW5saW5lTGV2ZWxC
b3goY29uc3QgQm94JikgY29uc3Q7CiAgICAgSW5saW5lUmVjdCBsb2dpY2FsUmVjdEZvclJvb3RJ
bmxpbmVCb3goKSBjb25zdCB7IHJldHVybiBtX3Jvb3RJbmxpbmVCb3gtPmxvZ2ljYWxSZWN0KCk7
IH0KLSAgICBJbmxpbmVSZWN0IGxvZ2ljYWxSZWN0Rm9ySW5saW5lQm94KGNvbnN0IEJveCYsIGNv
bnN0IEJveEdlb21ldHJ5JikgY29uc3Q7CisgICAgSW5saW5lUmVjdCBsb2dpY2FsQm9yZGVyQm94
Rm9yQXRvbWljSW5saW5lTGV2ZWxCb3goY29uc3QgQm94JiwgY29uc3QgQm94R2VvbWV0cnkmKSBj
b25zdDsKKyAgICBJbmxpbmVSZWN0IGxvZ2ljYWxCb3JkZXJCb3hGb3JJbmxpbmVCb3goY29uc3Qg
Qm94JiwgY29uc3QgQm94R2VvbWV0cnkmKSBjb25zdDsKIAogICAgIGNvbnN0IElubGluZUxldmVs
Qm94JiByb290SW5saW5lQm94KCkgY29uc3QgeyByZXR1cm4gKm1fcm9vdElubGluZUJveDsgfQog
ICAgIHVzaW5nIElubGluZUxldmVsQm94TGlzdCA9IFZlY3RvcjxzdGQ6OnVuaXF1ZV9wdHI8SW5s
aW5lTGV2ZWxCb3g+PjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3Jh
dGlvbi9MYXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnRCdWlsZGVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnRC
dWlsZGVyLmNwcAppbmRleCBiNjcyODk5ZmYzOTMyZDNmOWYyMjQ1MGU2OTgzNTNhNTczMThkZDkx
Li4zNzYzYWE3YjAxMWJlNDgwMjZmN2VjYmU2MGIwMTEwZmY5OWYwYmY0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVD
b250ZW50QnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9u
L0xheW91dEludGVncmF0aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuY3BwCkBAIC0yMjgsMTIgKzIy
OCwxMSBAQCB2b2lkIElubGluZUNvbnRlbnRCdWlsZGVyOjpjcmVhdGVEaXNwbGF5TGluZVJ1bnMo
Y29uc3QgTGF5b3V0OjpJbmxpbmVGb3JtYXR0aW5nUwogICAgICAgICBhdXRvJiBsYXlvdXRCb3gg
PSBsaW5lUnVuLmxheW91dEJveCgpOwogICAgICAgICBhdXRvIGxpbmVJbmRleCA9IGxpbmVSdW4u
bGluZUluZGV4KCk7CiAgICAgICAgIGF1dG8mIGxpbmVCb3hMb2dpY2FsUmVjdCA9IGxpbmVzW2xp
bmVJbmRleF0ubGluZUJveExvZ2ljYWxSZWN0KCk7Ci0gICAgICAgIC8vIElubGluZSBib3hlcyBh
cmUgcmVsYXRpdmUgdG8gdGhlIGxpbmUgYm94IHdoaWxlIGZpbmFsIFJ1bnMgbmVlZCB0byBiZSBy
ZWxhdGl2ZSB0byB0aGUgcGFyZW50IEJveAorICAgICAgICAvLyBJbmxpbmUgYm94ZXMgYXJlIHJl
bGF0aXZlIHRvIHRoZSBsaW5lIGJveCB3aGlsZSBmaW5hbCBydW5zIG5lZWQgdG8gYmUgcmVsYXRp
dmUgdG8gdGhlIHBhcmVudCBib3gKICAgICAgICAgLy8gRklYTUU6IFNob3VsZG4ndCB3ZSBqdXN0
IGxlYXZlIHRoZW0gYmUgcmVsYXRpdmUgdG8gdGhlIGxpbmUgYm94PwogICAgICAgICBhdXRvIHJ1
blJlY3QgPSBGbG9hdFJlY3QgeyBsaW5lUnVuLmxvZ2ljYWxSZWN0KCkgfTsKLSAgICAgICAgLy8g
TGluZSBydW5zIGFyZSBtYXJnaW4gYm94IGJhc2VkLCBsZXQncyBjb252ZXJ0IHRoZW0gdG8gYm9y
ZGVyIGJveC4KICAgICAgICAgYXV0byYgZ2VvbWV0cnkgPSBtX2xheW91dFN0YXRlLmdlb21ldHJ5
Rm9yQm94KGxheW91dEJveCk7Ci0gICAgICAgIHJ1blJlY3QubW92ZUJ5KHsgbGluZUJveExvZ2lj
YWxSZWN0LmxlZnQoKSArIHN0ZDo6bWF4KGdlb21ldHJ5Lm1hcmdpblN0YXJ0KCksIDBfbHUpLCBs
aW5lQm94TG9naWNhbFJlY3QudG9wKCkgKyBnZW9tZXRyeS5tYXJnaW5CZWZvcmUoKSB9KTsKKyAg
ICAgICAgcnVuUmVjdC5tb3ZlQnkoeyBsaW5lQm94TG9naWNhbFJlY3QubGVmdCgpLCBsaW5lQm94
TG9naWNhbFJlY3QudG9wKCkgfSk7CiAgICAgICAgIHJ1blJlY3Quc2V0U2l6ZSh7IGdlb21ldHJ5
LmJvcmRlckJveFdpZHRoKCksIGdlb21ldHJ5LmJvcmRlckJveEhlaWdodCgpIH0pOwogICAgICAg
ICBpZiAobGluZUxldmVsVmlzdWFsQWRqdXN0bWVudHNGb3JSdW5zW2xpbmVJbmRleF0ubmVlZHNJ
bnRlZ3JhbFBvc2l0aW9uKQogICAgICAgICAgICAgcnVuUmVjdC5zZXRZKHJvdW5kVG9JbnQocnVu
UmVjdC55KCkpKTsKQEAgLTI0OCw4ICsyNDcsNiBAQCB2b2lkIElubGluZUNvbnRlbnRCdWlsZGVy
OjpjcmVhdGVEaXNwbGF5TGluZVJ1bnMoY29uc3QgTGF5b3V0OjpJbmxpbmVGb3JtYXR0aW5nUwog
ICAgICAgICBhdXRvIGxpbmVJbmRleCA9IGxpbmVSdW4ubGluZUluZGV4KCk7CiAgICAgICAgIGF1
dG8mIGxpbmVCb3hMb2dpY2FsUmVjdCA9IGxpbmVzW2xpbmVJbmRleF0ubGluZUJveExvZ2ljYWxS
ZWN0KCk7CiAgICAgICAgIGF1dG8gcnVuUmVjdCA9IEZsb2F0UmVjdCB7IGxpbmVSdW4ubG9naWNh
bFJlY3QoKSB9OwotICAgICAgICAvLyBJbmxpbmUgYm94ZXMgYXJlIHJlbGF0aXZlIHRvIHRoZSBs
aW5lIGJveCB3aGlsZSBmaW5hbCBSdW5zIG5lZWQgdG8gYmUgcmVsYXRpdmUgdG8gdGhlIHBhcmVu
dCBCb3gKLSAgICAgICAgLy8gRklYTUU6IFNob3VsZG4ndCB3ZSBqdXN0IGxlYXZlIHRoZW0gYmUg
cmVsYXRpdmUgdG8gdGhlIGxpbmUgYm94PwogICAgICAgICBydW5SZWN0Lm1vdmVCeSh7IGxpbmVC
b3hMb2dpY2FsUmVjdC5sZWZ0KCksIGxpbmVCb3hMb2dpY2FsUmVjdC50b3AoKSB9KTsKICAgICAg
ICAgaWYgKGxpbmVMZXZlbFZpc3VhbEFkanVzdG1lbnRzRm9yUnVuc1tsaW5lSW5kZXhdLm5lZWRz
SW50ZWdyYWxQb3NpdGlvbikKICAgICAgICAgICAgIHJ1blJlY3Quc2V0WShyb3VuZFRvSW50KHJ1
blJlY3QueSgpKSk7CkBAIC0zNzgsNyArMzc1LDcgQEAgdm9pZCBJbmxpbmVDb250ZW50QnVpbGRl
cjo6Y3JlYXRlRGlzcGxheU5vblJvb3RJbmxpbmVCb3hlcyhjb25zdCBMYXlvdXQ6OklubGluZUYK
ICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgIGF1dG8mIGxheW91dEJveCA9
IGlubGluZUxldmVsQm94LT5sYXlvdXRCb3goKTsKICAgICAgICAgICAgIGF1dG8mIGJveEdlb21l
dHJ5ID0gbV9sYXlvdXRTdGF0ZS5nZW9tZXRyeUZvckJveChsYXlvdXRCb3gpOwotICAgICAgICAg
ICAgYXV0byBpbmxpbmVCb3hSZWN0ID0gbGluZUJveC5sb2dpY2FsUmVjdEZvcklubGluZUJveChs
YXlvdXRCb3gsIGJveEdlb21ldHJ5KTsKKyAgICAgICAgICAgIGF1dG8gaW5saW5lQm94UmVjdCA9
IGxpbmVCb3gubG9naWNhbEJvcmRlckJveEZvcklubGluZUJveChsYXlvdXRCb3gsIGJveEdlb21l
dHJ5KTsKICAgICAgICAgICAgIGlubGluZUJveFJlY3QubW92ZUJ5KGxpbmVCb3hMb2dpY2FsUmVj
dC50b3BMZWZ0KCkpOwogCiAgICAgICAgICAgICBpbmxpbmVDb250ZW50Lm5vblJvb3RJbmxpbmVC
b3hlcy5hcHBlbmQoeyBsaW5lSW5kZXgsIGxheW91dEJveCwgaW5saW5lQm94UmVjdCwgaW5saW5l
UXVpcmtzLmlubGluZUxldmVsQm94QWZmZWN0c0xpbmVCb3goKmlubGluZUxldmVsQm94LCBsaW5l
Qm94KSB9KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xh
eW91dFRyZWVCdWlsZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xh
eW91dFRyZWVCdWlsZGVyLmNwcAppbmRleCA5NDg5ZWMwODRmMmU4NDk4NDVkOGZiNjY0ODcxZDkw
MTNkZTFmMTlmLi41MjQ2MTE4OTE1OWY1OTQ5NTBiYmIzZTQ2ZDk3YzA1NmQzN2I0ZGY2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRUcmVlQnVpbGRl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0VHJlZUJ1
aWxkZXIuY3BwCkBAIC00MTMsMTMgKzQxMywxMyBAQCB2b2lkIHNob3dJbmxpbmVUcmVlQW5kUnVu
cyhUZXh0U3RyZWFtJiBzdHJlYW0sIGNvbnN0IExheW91dFN0YXRlJiBsYXlvdXRTdGF0ZSwgYwog
ICAgICAgICAgICAgICAgIGxvZ2ljYWxSZWN0ID0gbGluZUJveC5sb2dpY2FsUmVjdEZvclJvb3RJ
bmxpbmVCb3goKTsKICAgICAgICAgICAgIH0gZWxzZSBpZiAoaW5saW5lTGV2ZWxCb3guaXNBdG9t
aWNJbmxpbmVMZXZlbEJveCgpKSB7CiAgICAgICAgICAgICAgICAgc3RyZWFtIDw8ICJBdG9taWMg
aW5saW5lIGxldmVsIGJveCI7Ci0gICAgICAgICAgICAgICAgbG9naWNhbFJlY3QgPSBsaW5lQm94
LmxvZ2ljYWxNYXJnaW5SZWN0Rm9yQXRvbWljSW5saW5lTGV2ZWxCb3gobGF5b3V0Qm94KTsKKyAg
ICAgICAgICAgICAgICBsb2dpY2FsUmVjdCA9IGxpbmVCb3gubG9naWNhbEJvcmRlckJveEZvckF0
b21pY0lubGluZUxldmVsQm94KGxheW91dEJveCwgbGF5b3V0U3RhdGUuZ2VvbWV0cnlGb3JCb3go
bGF5b3V0Qm94KSk7CiAgICAgICAgICAgICB9IGVsc2UgaWYgKGlubGluZUxldmVsQm94LmlzTGlu
ZUJyZWFrQm94KCkpIHsKICAgICAgICAgICAgICAgICBzdHJlYW0gPDwgIkxpbmUgYnJlYWsgYm94
IjsKICAgICAgICAgICAgICAgICBsb2dpY2FsUmVjdCA9IGxpbmVCb3gubG9naWNhbFJlY3RGb3JM
aW5lQnJlYWtCb3gobGF5b3V0Qm94KTsKICAgICAgICAgICAgIH0gZWxzZSBpZiAoaW5saW5lTGV2
ZWxCb3guaXNJbmxpbmVCb3goKSkgewogICAgICAgICAgICAgICAgIHN0cmVhbSA8PCAiSW5saW5l
IGJveCI7Ci0gICAgICAgICAgICAgICAgbG9naWNhbFJlY3QgPSBsaW5lQm94LmxvZ2ljYWxSZWN0
Rm9ySW5saW5lQm94KGxheW91dEJveCwgbGF5b3V0U3RhdGUuZ2VvbWV0cnlGb3JCb3gobGF5b3V0
Qm94KSk7CisgICAgICAgICAgICAgICAgbG9naWNhbFJlY3QgPSBsaW5lQm94LmxvZ2ljYWxCb3Jk
ZXJCb3hGb3JJbmxpbmVCb3gobGF5b3V0Qm94LCBsYXlvdXRTdGF0ZS5nZW9tZXRyeUZvckJveChs
YXlvdXRCb3gpKTsKICAgICAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgICAgIHN0cmVhbSA8
PCAiR2VuZXJpYyBpbmxpbmUgbGV2ZWwgYm94IjsKICAgICAgICAgICAgIHN0cmVhbQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>