<?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>202313</bug_id>
          
          <creation_ts>2019-09-27 08:24:55 -0700</creation_ts>
          <short_desc>[LFC][IFC] Replace Line::Run&apos;s logicalRect/textContext with Display::Run</short_desc>
          <delta_ts>2019-09-27 09:50:02 -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>commit-queue</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>1574814</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2019-09-27 08:24:55 -0700</bug_when>
    <thetext>Display::Run is a container for rect and text context.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1574815</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-09-27 08:25:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/55782430&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1574816</commentid>
    <comment_count>2</comment_count>
      <attachid>379725</attachid>
    <who name="alan">zalan</who>
    <bug_when>2019-09-27 08:28:03 -0700</bug_when>
    <thetext>Created attachment 379725
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1574830</commentid>
    <comment_count>3</comment_count>
      <attachid>379730</attachid>
    <who name="alan">zalan</who>
    <bug_when>2019-09-27 09:04:50 -0700</bug_when>
    <thetext>Created attachment 379730
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1574848</commentid>
    <comment_count>4</comment_count>
      <attachid>379730</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-09-27 09:50:00 -0700</bug_when>
    <thetext>Comment on attachment 379730
Patch

Clearing flags on attachment: 379730

Committed r250429: &lt;https://trac.webkit.org/changeset/250429&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1574849</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-09-27 09:50:02 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>379725</attachid>
            <date>2019-09-27 08:28:03 -0700</date>
            <delta_ts>2019-09-27 09:04:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-202313-20190927082803.patch</filename>
            <type>text/plain</type>
            <size>18642</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUwNDIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWIxZjc5Mjk3ZTRjOWZk
MGRkYTdjZDdjOTAzN2FlMDk3MjU1ZTlhNy4uOTdkM2RmNTU5NWE2ODQ1MDU5OWRkNDVkY2QwZWIz
NjEzYzNhMDc4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDE5LTA5LTI3ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bSUZDXSBSZXBsYWNl
IExpbmU6OlJ1bidzIGxvZ2ljYWxSZWN0L3RleHRDb250ZXh0IHdpdGggRGlzcGxheTo6UnVuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDIzMTMKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU1NzgyNDMwPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIERpc3BsYXk6OlJ1biBpcyBhIGNvbnRhaW5lciBmb3Ig
bG9naWNhbCByZWN0IGFuZCB0ZXh0IGNvbnRleHQuIExldCdzIHJlcGxhY2UgTGluZTo6UnVuJ3Mg
bG9naWNhbCByZWN0L3RleHQgY29udGV4dCB3aXRoIERpc3BsYXk6OlJ1bi4KKworICAgICAgICAq
IGxheW91dC9WZXJpZmljYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpvdXRw
dXRNaXNtYXRjaGluZ1NpbXBsZUxpbmVJbmZvcm1hdGlvbklmTmVlZGVkKToKKyAgICAgICAgKFdl
YkNvcmU6OkxheW91dDo6b3V0cHV0TWlzbWF0Y2hpbmdDb21wbGV4TGluZUluZm9ybWF0aW9uSWZO
ZWVkZWQpOgorICAgICAgICAqIGxheW91dC9kaXNwbGF5dHJlZS9EaXNwbGF5UnVuLmg6CisgICAg
ICAgIChXZWJDb3JlOjpEaXNwbGF5OjpSdW46OmxvZ2ljYWxSZWN0IGNvbnN0KToKKyAgICAgICAg
KiBsYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dExpbmVMYXlv
dXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVGb3JtYXR0aW5nQ29udGV4
dDo6SW5saW5lTGF5b3V0OjpjcmVhdGVEaXNwbGF5UnVucyk6CisgICAgICAgIChXZWJDb3JlOjpM
YXlvdXQ6OklubGluZUZvcm1hdHRpbmdDb250ZXh0OjpJbmxpbmVMYXlvdXQ6OmFsaWduUnVucyBj
b25zdCk6CisgICAgICAgICogbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGlu
Z0NvbnRleHRRdWlya3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVGb3Jt
YXR0aW5nQ29udGV4dDo6UXVpcmtzOjpsaW5lRGVzY2VudE5lZWRzQ29sbGFwc2luZyBjb25zdCk6
CisgICAgICAgICogbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ1N0YXRl
Lmg6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OklubGluZUZvcm1hdHRpbmdTdGF0ZTo6YWRk
SW5saW5lUnVuKToKKyAgICAgICAgKiBsYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5l
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZTo6UnVuOjpSdW4pOgorICAgICAg
ICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lOjppc1Zpc3VhbGx5RW1wdHkgY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lOjphcHBlbmROb25CcmVha2FibGVTcGFjZSk6CisgICAg
ICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmU6OmFwcGVuZFRleHRDb250ZW50KToKKyAgICAgICAg
KFdlYkNvcmU6OkxheW91dDo6TGluZTo6YXBwZW5kTm9uUmVwbGFjZWRJbmxpbmVCb3gpOgorICAg
ICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lOjphcHBlbmRIYXJkTGluZUJyZWFrKToKKyAgICAg
ICAgKiBsYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lLmg6CisgICAgICAgIChXZWJD
b3JlOjpMYXlvdXQ6OkxpbmU6OlJ1bjo6ZGlzcGxheVJ1biBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpMYXlvdXQ6OkxpbmU6OlJ1bjo6bG9naWNhbFJlY3QgY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6TGF5b3V0OjpMaW5lOjpSdW46OmFkanVzdExvZ2ljYWxUb3ApOgorICAgICAgICAoV2Vi
Q29yZTo6TGF5b3V0OjpMaW5lOjpSdW46Om1vdmVWZXJ0aWNhbGx5KToKKyAgICAgICAgKFdlYkNv
cmU6OkxheW91dDo6TGluZTo6UnVuOjptb3ZlSG9yaXpvbnRhbGx5KToKKyAgICAgICAgKFdlYkNv
cmU6OkxheW91dDo6TGluZTo6UnVuOjp0ZXh0Q29udGV4dCBjb25zdCk6IERlbGV0ZWQuCisgICAg
ICAgICogbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0VHJlZUJ1aWxkZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6TGF5b3V0OjpvdXRwdXRJbmxpbmVSdW5zKToKKwogMjAxOS0wOS0yNyAgWmFsYW4g
QnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtMRkNdW0lGQ10gUmVtb3ZlIHJl
ZHVuZGFudCBMaW5lOjpUZXh0Q29udGV4dCBtZW1iZXIgdmFyaWFibGVzCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvVmVyaWZpY2F0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9WZXJpZmljYXRpb24uY3BwCmluZGV4IGZmYTA2MzMxNzRiNWI0YzU5ZDA1YzU0MmEyZDE5
YWQ5NDZlOWZjMTQuLmZmNjdkZmY3YTJjZDU1N2JlOWE0ZjAyMmFlOGU1ODJjNWMzNWE5ZDggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9WZXJpZmljYXRpb24uY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9WZXJpZmljYXRpb24uY3BwCkBAIC04OSwxNyArODksMTcgQEAg
c3RhdGljIGJvb2wgb3V0cHV0TWlzbWF0Y2hpbmdTaW1wbGVMaW5lSW5mb3JtYXRpb25JZk5lZWRl
ZChUZXh0U3RyZWFtJiBzdHJlYW0sIGMKICAgICAgICAgYXV0byYgc2ltcGxlUnVuID0gbGluZUxh
eW91dERhdGEtPnJ1bkF0KGkpOwogICAgICAgICBhdXRvJiBpbmxpbmVSdW4gPSBpbmxpbmVSdW5M
aXN0W2ldOwogCi0gICAgICAgIGF1dG8gbWF0Y2hpbmdSdW5zID0gYXJlRXNzZW50aWFsbHlFcXVh
bChzaW1wbGVSdW4ubG9naWNhbExlZnQsIGlubGluZVJ1bi0+bG9naWNhbExlZnQoKSkgJiYgYXJl
RXNzZW50aWFsbHlFcXVhbChzaW1wbGVSdW4ubG9naWNhbFJpZ2h0LCBpbmxpbmVSdW4tPmxvZ2lj
YWxSaWdodCgpKTsKLSAgICAgICAgaWYgKG1hdGNoaW5nUnVucyAmJiBpbmxpbmVSdW4tPnRleHRD
b250ZXh0KCkpIHsKLSAgICAgICAgICAgIG1hdGNoaW5nUnVucyA9IHNpbXBsZVJ1bi5zdGFydCA9
PSBpbmxpbmVSdW4tPnRleHRDb250ZXh0KCktPnN0YXJ0KCkgJiYgc2ltcGxlUnVuLmVuZCA9PSBp
bmxpbmVSdW4tPnRleHRDb250ZXh0KCktPmVuZCgpOworICAgICAgICBhdXRvIG1hdGNoaW5nUnVu
cyA9IGFyZUVzc2VudGlhbGx5RXF1YWwoc2ltcGxlUnVuLmxvZ2ljYWxMZWZ0LCBpbmxpbmVSdW4u
bG9naWNhbExlZnQoKSkgJiYgYXJlRXNzZW50aWFsbHlFcXVhbChzaW1wbGVSdW4ubG9naWNhbFJp
Z2h0LCBpbmxpbmVSdW4ubG9naWNhbFJpZ2h0KCkpOworICAgICAgICBpZiAobWF0Y2hpbmdSdW5z
ICYmIGlubGluZVJ1bi50ZXh0Q29udGV4dCgpKSB7CisgICAgICAgICAgICBtYXRjaGluZ1J1bnMg
PSBzaW1wbGVSdW4uc3RhcnQgPT0gaW5saW5lUnVuLnRleHRDb250ZXh0KCktPnN0YXJ0KCkgJiYg
c2ltcGxlUnVuLmVuZCA9PSBpbmxpbmVSdW4udGV4dENvbnRleHQoKS0+ZW5kKCk7CiAgICAgICAg
ICAgICAvLyBTTEwgaGFuZGxlcyBzdHJpbmdzIGluIGEgbW9yZSBjb25jYXRlbmF0ZWQgZm9ybWF0
IDxkaXY+Zm9vPGJyPmJhcjwvZGl2PiAtPiBmb28gLT4gMCwzIGJhciAtPiAzLDYgdnMuIDAsMyBh
bmQgMCwzCiAgICAgICAgICAgICBpZiAoIW1hdGNoaW5nUnVucykKLSAgICAgICAgICAgICAgICBt
YXRjaGluZ1J1bnMgPSAoc2ltcGxlUnVuLmVuZCAtIHNpbXBsZVJ1bi5zdGFydCkgPT0gKGlubGlu
ZVJ1bi0+dGV4dENvbnRleHQoKS0+ZW5kKCkgLSBpbmxpbmVSdW4tPnRleHRDb250ZXh0KCktPnN0
YXJ0KCkpOyAKKyAgICAgICAgICAgICAgICBtYXRjaGluZ1J1bnMgPSAoc2ltcGxlUnVuLmVuZCAt
IHNpbXBsZVJ1bi5zdGFydCkgPT0gKGlubGluZVJ1bi50ZXh0Q29udGV4dCgpLT5lbmQoKSAtIGlu
bGluZVJ1bi50ZXh0Q29udGV4dCgpLT5zdGFydCgpKTsgCiAgICAgICAgIH0KICAgICAgICAgaWYg
KG1hdGNoaW5nUnVucykKICAgICAgICAgICAgIGNvbnRpbnVlOwogCi0gICAgICAgIHN0cmVhbSA8
PCAiTWlzbWF0Y2hpbmc6IHNpbXBsZSBydW4oIiA8PCBzaW1wbGVSdW4uc3RhcnQgPDwgIiwgIiA8
PCBzaW1wbGVSdW4uZW5kIDw8ICIpICgiIDw8IHNpbXBsZVJ1bi5sb2dpY2FsTGVmdCA8PCAiLCAi
IDw8IHNpbXBsZVJ1bi5sb2dpY2FsUmlnaHQgPDwgIikgbGF5b3V0IHJ1bigiIDw8IGlubGluZVJ1
bi0+dGV4dENvbnRleHQoKS0+c3RhcnQoKSA8PCAiLCAiIDw8IGlubGluZVJ1bi0+dGV4dENvbnRl
eHQoKS0+ZW5kKCkgPDwgIikgKCIgPDwgaW5saW5lUnVuLT5sb2dpY2FsTGVmdCgpIDw8ICIsICIg
PDwgaW5saW5lUnVuLT5sb2dpY2FsUmlnaHQoKSA8PCAiKSI7CisgICAgICAgIHN0cmVhbSA8PCAi
TWlzbWF0Y2hpbmc6IHNpbXBsZSBydW4oIiA8PCBzaW1wbGVSdW4uc3RhcnQgPDwgIiwgIiA8PCBz
aW1wbGVSdW4uZW5kIDw8ICIpICgiIDw8IHNpbXBsZVJ1bi5sb2dpY2FsTGVmdCA8PCAiLCAiIDw8
IHNpbXBsZVJ1bi5sb2dpY2FsUmlnaHQgPDwgIikgbGF5b3V0IHJ1bigiIDw8IGlubGluZVJ1bi50
ZXh0Q29udGV4dCgpLT5zdGFydCgpIDw8ICIsICIgPDwgaW5saW5lUnVuLnRleHRDb250ZXh0KCkt
PmVuZCgpIDw8ICIpICgiIDw8IGlubGluZVJ1bi5sb2dpY2FsTGVmdCgpIDw8ICIsICIgPDwgaW5s
aW5lUnVuLmxvZ2ljYWxSaWdodCgpIDw8ICIpIjsKICAgICAgICAgc3RyZWFtLm5leHRMaW5lKCk7
CiAgICAgICAgIG1pc21hdGNoZWQgPSB0cnVlOwogICAgIH0KQEAgLTE3Miw3ICsxNzIsNyBAQCBz
dGF0aWMgYm9vbCBvdXRwdXRNaXNtYXRjaGluZ0NvbXBsZXhMaW5lSW5mb3JtYXRpb25JZk5lZWRl
ZChUZXh0U3RyZWFtJiBzdHJlYW0sCiAgICAgICAgIGF1dG8mIGlubGluZVJ1biA9IGlubGluZVJ1
bkxpc3RbcnVuSW5kZXhdOwogICAgICAgICBhdXRvKiBpbmxpbmVCb3ggPSBpbmxpbmVCb3hlc1tp
bmxpbmVCb3hJbmRleF07CiAgICAgICAgIGF1dG8qIGlubGluZVRleHRCb3ggPSBpczxJbmxpbmVU
ZXh0Qm94PihpbmxpbmVCb3gpID8gZG93bmNhc3Q8SW5saW5lVGV4dEJveD4oaW5saW5lQm94KSA6
IG51bGxwdHI7Ci0gICAgICAgIGJvb2wgbWF0Y2hpbmdSdW5zID0gaW5saW5lVGV4dEJveCA/IGNo
ZWNrRm9yTWF0Y2hpbmdUZXh0UnVucygqaW5saW5lUnVuLCAqaW5saW5lVGV4dEJveCkgOiBtYXRj
aGluZ1J1bnMgPSBjaGVja0Zvck1hdGNoaW5nTm9uVGV4dFJ1bnMoKmlubGluZVJ1biwgKmlubGlu
ZUJveCk7CisgICAgICAgIGJvb2wgbWF0Y2hpbmdSdW5zID0gaW5saW5lVGV4dEJveCA/IGNoZWNr
Rm9yTWF0Y2hpbmdUZXh0UnVucyhpbmxpbmVSdW4sICppbmxpbmVUZXh0Qm94KSA6IG1hdGNoaW5n
UnVucyA9IGNoZWNrRm9yTWF0Y2hpbmdOb25UZXh0UnVucyhpbmxpbmVSdW4sICppbmxpbmVCb3gp
OwogCiAgICAgICAgIGlmICghbWF0Y2hpbmdSdW5zKSB7CiAgICAgICAgICAgICAKQEAgLTE5MCw5
ICsxOTAsOSBAQCBzdGF0aWMgYm9vbCBvdXRwdXRNaXNtYXRjaGluZ0NvbXBsZXhMaW5lSW5mb3Jt
YXRpb25JZk5lZWRlZChUZXh0U3RyZWFtJiBzdHJlYW0sCiAgICAgICAgICAgICBzdHJlYW0gPDwg
IiAoIiA8PCBpbmxpbmVCb3gtPmxvZ2ljYWxMZWZ0KCkgPDwgIiwgIiA8PCBpbmxpbmVCb3gtPmxv
Z2ljYWxUb3AoKSA8PCAiKSAoIiA8PCBpbmxpbmVCb3gtPmxvZ2ljYWxXaWR0aCgpIDw8ICJ4IiA8
PCBpbmxpbmVCb3gtPmxvZ2ljYWxIZWlnaHQoKSA8PCAiKSI7CiAKICAgICAgICAgICAgIHN0cmVh
bSA8PCAiIGlubGluZSBydW4iOwotICAgICAgICAgICAgaWYgKGlubGluZVJ1bi0+dGV4dENvbnRl
eHQoKSkKLSAgICAgICAgICAgICAgICBzdHJlYW0gPDwgIiAoIiA8PCBpbmxpbmVSdW4tPnRleHRD
b250ZXh0KCktPnN0YXJ0KCkgPDwgIiwgIiA8PCBpbmxpbmVSdW4tPnRleHRDb250ZXh0KCktPmVu
ZCgpIDw8ICIpIjsKLSAgICAgICAgICAgIHN0cmVhbSA8PCAiICgiIDw8IGlubGluZVJ1bi0+bG9n
aWNhbExlZnQoKSA8PCAiLCAiIDw8IGlubGluZVJ1bi0+bG9naWNhbFRvcCgpIDw8ICIpICgiIDw8
IGlubGluZVJ1bi0+bG9naWNhbFdpZHRoKCkgPDwgIngiIDw8IGlubGluZVJ1bi0+bG9naWNhbEhl
aWdodCgpIDw8ICIpIjsKKyAgICAgICAgICAgIGlmIChpbmxpbmVSdW4udGV4dENvbnRleHQoKSkK
KyAgICAgICAgICAgICAgICBzdHJlYW0gPDwgIiAoIiA8PCBpbmxpbmVSdW4udGV4dENvbnRleHQo
KS0+c3RhcnQoKSA8PCAiLCAiIDw8IGlubGluZVJ1bi50ZXh0Q29udGV4dCgpLT5lbmQoKSA8PCAi
KSI7CisgICAgICAgICAgICBzdHJlYW0gPDwgIiAoIiA8PCBpbmxpbmVSdW4ubG9naWNhbExlZnQo
KSA8PCAiLCAiIDw8IGlubGluZVJ1bi5sb2dpY2FsVG9wKCkgPDwgIikgKCIgPDwgaW5saW5lUnVu
LmxvZ2ljYWxXaWR0aCgpIDw8ICJ4IiA8PCBpbmxpbmVSdW4ubG9naWNhbEhlaWdodCgpIDw8ICIp
IjsKICAgICAgICAgICAgIHN0cmVhbS5uZXh0TGluZSgpOwogICAgICAgICAgICAgbWlzbWF0Y2hl
ZCA9IHRydWU7CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9k
aXNwbGF5dHJlZS9EaXNwbGF5UnVuLmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZGlzcGxheXRy
ZWUvRGlzcGxheVJ1bi5oCmluZGV4IDc5OTE2Mjc1NzQwMTgzZjM1M2Y1YWZkNWIxNTIyZTU2NTNm
Yzg5NDUuLjJkYTcxZGNjZDhiOTRkYzhhZjRiYjc4NjY0MWE2OTZmMDNmMzk2MWQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9kaXNwbGF5dHJlZS9EaXNwbGF5UnVuLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2Rpc3BsYXl0cmVlL0Rpc3BsYXlSdW4uaApAQCAtNTcsNiAr
NTcsOCBAQCBzdHJ1Y3QgUnVuIHsKICAgICBSdW4oUmVjdCBsb2dpY2FsUmVjdCwgVGV4dENvbnRl
eHQpOwogICAgIFJ1bihjb25zdCBSdW4mKTsKIAorICAgIGNvbnN0IFJlY3QmIGxvZ2ljYWxSZWN0
KCkgY29uc3QgeyByZXR1cm4gbV9sb2dpY2FsUmVjdDsgfQorCiAgICAgTGF5b3V0UG9pbnQgbG9n
aWNhbFRvcExlZnQoKSBjb25zdCB7IHJldHVybiBtX2xvZ2ljYWxSZWN0LnRvcExlZnQoKTsgfQog
ICAgIExheW91dFVuaXQgbG9naWNhbExlZnQoKSBjb25zdCB7IHJldHVybiBtX2xvZ2ljYWxSZWN0
LmxlZnQoKTsgfQogICAgIExheW91dFVuaXQgbG9naWNhbFJpZ2h0KCkgY29uc3QgeyByZXR1cm4g
bV9sb2dpY2FsUmVjdC5yaWdodCgpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dExpbmVMYXlvdXQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGlu
Z0NvbnRleHRMaW5lTGF5b3V0LmNwcAppbmRleCBlYmU2MGYyNTVhZTNkZmY3ZTZlYzcyMDQ4N2M5
MjM3NGJjMDc5ZmZlLi5lZmYyMzJlODE0ZjA2ZDFlN2FiNTA2MWU0YzdkZWRlZjBjMzZiN2M2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVG
b3JtYXR0aW5nQ29udGV4dExpbmVMYXlvdXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0TGluZUxheW91dC5jcHAK
QEAgLTM5MSwxMiArMzkxLDExIEBAIHZvaWQgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OklubGlu
ZUxheW91dDo6Y3JlYXRlRGlzcGxheVJ1bnMoY29uc3QgTGluZUNvbnRlbnQmCiAgICAgICAgIGF1
dG8mIGxvZ2ljYWxSZWN0ID0gcnVuLT5sb2dpY2FsUmVjdCgpOwogICAgICAgICAvLyBJbmxpbmUg
bGV2ZWwgYm94IChyZXBsYWNlZCBvciBpbmxpbmUtYmxvY2spIG9yIDxicj4vPHdicj4KICAgICAg
ICAgaWYgKHJ1bi0+aXNMaW5lQnJlYWsoKSB8fCBydW4tPmlzQm94KCkpIHsKLSAgICAgICAgICAg
IGZvcm1hdHRpbmdTdGF0ZS5hZGRJbmxpbmVSdW4obWFrZVVuaXF1ZTxEaXNwbGF5OjpSdW4+KGxv
Z2ljYWxSZWN0KSk7CisgICAgICAgICAgICBmb3JtYXR0aW5nU3RhdGUuYWRkSW5saW5lUnVuKHJ1
bi0+ZGlzcGxheVJ1bigpKTsKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9CiAgICAg
ICAgIGlmIChydW4tPmlzVGV4dCgpKSB7CiAgICAgICAgICAgICAvLyBDb2xsYXBzZWQgbGluZSBy
dW5zIGRvbid0IGdlbmVyYXRlIGRpc3BsYXkgcnVucy4KLSAgICAgICAgICAgIGF1dG8gdGV4dENv
bnRleHQgPSBydW4tPnRleHRDb250ZXh0KCk7CiAgICAgICAgICAgICBpZiAocnVuLT5pc1Zpc3Vh
bGx5RW1wdHkoKSkKICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgIC8vIFRy
eSB0byBqb2luIG11bHRpcGxlIHRleHQgcnVucyB3aGVuIHBvc3NpYmxlLgpAQCAtNDA2LDEwICs0
MDUsMTAgQEAgdm9pZCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6SW5saW5lTGF5b3V0OjpjcmVh
dGVEaXNwbGF5UnVucyhjb25zdCBMaW5lQ29udGVudCYKIAogICAgICAgICAgICAgaWYgKHByZXZp
b3VzUnVuQ2FuQmVFeHRlbmRlZCAmJiBjdXJyZW50UnVuQ2FuQmVNZXJnZWRXaXRoUHJldmlvdXMp
IHsKICAgICAgICAgICAgICAgICBhdXRvJiBwcmV2aW91c0Rpc3BsYXlSdW4gPSBmb3JtYXR0aW5n
U3RhdGUuaW5saW5lUnVucygpLmxhc3QoKTsKLSAgICAgICAgICAgICAgICBwcmV2aW91c0Rpc3Bs
YXlSdW4tPmV4cGFuZEhvcml6b250YWxseShsb2dpY2FsUmVjdC53aWR0aCgpKTsKLSAgICAgICAg
ICAgICAgICBwcmV2aW91c0Rpc3BsYXlSdW4tPnRleHRDb250ZXh0KCktPmV4cGFuZCh0ZXh0Q29u
dGV4dC0+bGVuZ3RoKTsKKyAgICAgICAgICAgICAgICBwcmV2aW91c0Rpc3BsYXlSdW4uZXhwYW5k
SG9yaXpvbnRhbGx5KGxvZ2ljYWxSZWN0LndpZHRoKCkpOworICAgICAgICAgICAgICAgIHByZXZp
b3VzRGlzcGxheVJ1bi50ZXh0Q29udGV4dCgpLT5leHBhbmQocnVuLT5kaXNwbGF5UnVuKCkudGV4
dENvbnRleHQoKS0+bGVuZ3RoKCkpOwogICAgICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICAg
ICAgZm9ybWF0dGluZ1N0YXRlLmFkZElubGluZVJ1bihtYWtlVW5pcXVlPERpc3BsYXk6OlJ1bj4o
bG9naWNhbFJlY3QsIERpc3BsYXk6OlJ1bjo6VGV4dENvbnRleHQgeyB0ZXh0Q29udGV4dC0+c3Rh
cnQsIHRleHRDb250ZXh0LT5sZW5ndGggfSkpOworICAgICAgICAgICAgICAgIGZvcm1hdHRpbmdT
dGF0ZS5hZGRJbmxpbmVSdW4ocnVuLT5kaXNwbGF5UnVuKCkpOwogICAgICAgICAgICAgY29udGlu
dWU7CiAgICAgICAgIH0KICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CkBAIC01MTIsNyAr
NTExLDcgQEAgdm9pZCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6SW5saW5lTGF5b3V0OjphbGln
blJ1bnMoVGV4dEFsaWduTW9kZSB0ZXh0QWxpZ24sIEkKICAgICAgICAgcmV0dXJuOwogCiAgICAg
Zm9yICh1bnNpZ25lZCBpbmRleCA9IGZpcnN0UnVuSW5kZXg7IGluZGV4IDwgaW5saW5lRGlzcGxh
eVJ1bnMuc2l6ZSgpOyArK2luZGV4KQotICAgICAgICBpbmxpbmVEaXNwbGF5UnVuc1tpbmRleF0t
Pm1vdmVIb3Jpem9udGFsbHkoKmFkanVzdG1lbnQpOworICAgICAgICBpbmxpbmVEaXNwbGF5UnVu
c1tpbmRleF0ubW92ZUhvcml6b250YWxseSgqYWRqdXN0bWVudCk7CiB9CiAKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRp
bmdDb250ZXh0UXVpcmtzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0
aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0UXVpcmtzLmNwcAppbmRleCBjMTIzZGVlNWQwMjRm
YmM4ZDdhYTM4ZTcxZWY0ODMwZDc1NWM4MzQxLi5jOWExNzlkY2ZjOWM2ODkxYWYxZDJmYzkxMDc3
YTk4ZWM0ZmYyYWM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9y
bWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dFF1aXJrcy5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHRRdWly
a3MuY3BwCkBAIC01Miw3ICs1Miw3IEBAIGJvb2wgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OlF1
aXJrczo6bGluZURlc2NlbnROZWVkc0NvbGxhcHNpbmcoY29uc3QgTGluZTo6UnVuCiAgICAgICAg
IGlmIChydW4tPmlzTGluZUJyZWFrKCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAg
ICAgIGlmIChydW4tPmlzVGV4dCgpKSB7Ci0gICAgICAgICAgICBpZiAoIXJ1bi0+dGV4dENvbnRl
eHQoKSB8fCAhcnVuLT5pc1Zpc3VhbGx5RW1wdHkoKSkKKyAgICAgICAgICAgIGlmICghcnVuLT5p
c1Zpc3VhbGx5RW1wdHkoKSkKICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAg
ICAgICBjb250aW51ZTsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ1N0YXRlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nU3RhdGUuaAppbmRl
eCBmMzhkNDUzMjM3ODJmODEwMmE5NzBlMGE5MzlkNmEwMzdlZWU2YWY2Li5lNDU0ODc2N2NkNzdh
YzY5YjViY2M2ZGQ3OTg2NTUxODdkZDBjZjFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nU3RhdGUuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nU3RhdGUu
aApAQCAtMzksNyArMzksNyBAQCBuYW1lc3BhY2UgTGF5b3V0IHsKIAogLy8gVGVtcAogdXNpbmcg
SW5saW5lSXRlbXMgPSBWZWN0b3I8c3RkOjp1bmlxdWVfcHRyPElubGluZUl0ZW0+PjsKLXVzaW5n
IElubGluZVJ1bnMgPSBWZWN0b3I8c3RkOjp1bmlxdWVfcHRyPERpc3BsYXk6OlJ1bj4+OwordXNp
bmcgSW5saW5lUnVucyA9IFZlY3RvcjxEaXNwbGF5OjpSdW4+OwogdXNpbmcgTGluZUJveGVzID0g
VmVjdG9yPExpbmVCb3g+OwogLy8gSW5saW5lRm9ybWF0dGluZ1N0YXRlIGhvbGRzIHRoZSBzdGF0
ZSBmb3IgYSBwYXJ0aWN1bGFyIGlubGluZSBmb3JtYXR0aW5nIGNvbnRleHQgdHJlZS4KIGNsYXNz
IElubGluZUZvcm1hdHRpbmdTdGF0ZSA6IHB1YmxpYyBGb3JtYXR0aW5nU3RhdGUgewpAQCAtNTIs
NyArNTIsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBhZGRJbmxpbmVJdGVtKHN0ZDo6dW5pcXVlX3B0
cjxJbmxpbmVJdGVtPiYmIGlubGluZUl0ZW0pIHsgbV9pbmxpbmVJdGVtcy5hcHBlbmQoV1RGTW92
ZShpbmxpbmVJdGVtKSk7IH0KIAogICAgIElubGluZVJ1bnMmIGlubGluZVJ1bnMoKSB7IHJldHVy
biBtX2lubGluZVJ1bnM7IH0KLSAgICB2b2lkIGFkZElubGluZVJ1bihzdGQ6OnVuaXF1ZV9wdHI8
RGlzcGxheTo6UnVuPiYmIGlubGluZVJ1bikgeyBtX2lubGluZVJ1bnMuYXBwZW5kKFdURk1vdmUo
aW5saW5lUnVuKSk7IH0KKyAgICB2b2lkIGFkZElubGluZVJ1bihjb25zdCBEaXNwbGF5OjpSdW4m
IGlubGluZVJ1bikgeyBtX2lubGluZVJ1bnMuYXBwZW5kKGlubGluZVJ1bik7IH0KIAogICAgIExp
bmVCb3hlcyYgbGluZUJveGVzKCkgeyByZXR1cm4gbV9saW5lQm94ZXM7IH0KICAgICB2b2lkIGFk
ZExpbmVCb3goTGluZUJveCBsaW5lQm94KSB7IG1fbGluZUJveGVzLmFwcGVuZChsaW5lQm94KTsg
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5s
aW5lTGluZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9Jbmxp
bmVMaW5lLmNwcAppbmRleCBjM2EzMmM1N2UwOTQwZDE5OTQ3Y2I4NWMxMjU3MjExZTE5OTVmODJh
Li5kM2FhM2NlODdmZDliMmIxNmUyZjQ1ZDFlMDkzZDkxM2U4MzVmNDM2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lLmNwcApA
QCAtMzcsMTYgKzM3LDkgQEAgbmFtZXNwYWNlIExheW91dCB7CiAKIFdURl9NQUtFX0lTT19BTExP
Q0FURURfSU1QTChMaW5lKTsKIAotTGluZTo6UnVuOjpSdW4oY29uc3QgSW5saW5lSXRlbSYgaW5s
aW5lSXRlbSwgY29uc3QgRGlzcGxheTo6UmVjdCYgbG9naWNhbFJlY3QpCitMaW5lOjpSdW46OlJ1
bihjb25zdCBJbmxpbmVJdGVtJiBpbmxpbmVJdGVtLCBjb25zdCBEaXNwbGF5OjpSdW4mIGRpc3Bs
YXlSdW4pCiAgICAgOiBtX2lubGluZUl0ZW0oaW5saW5lSXRlbSkKLSAgICAsIG1fbG9naWNhbFJl
Y3QobG9naWNhbFJlY3QpCi17Ci19Ci0KLUxpbmU6OlJ1bjo6UnVuKGNvbnN0IElubGluZUl0ZW0m
IGlubGluZUl0ZW0sIGNvbnN0IFRleHRDb250ZXh0JiB0ZXh0Q29udGV4dCwgY29uc3QgRGlzcGxh
eTo6UmVjdCYgbG9naWNhbFJlY3QpCi0gICAgOiBtX2lubGluZUl0ZW0oaW5saW5lSXRlbSkKLSAg
ICAsIG1fbG9naWNhbFJlY3QobG9naWNhbFJlY3QpCi0gICAgLCBtX3RleHRDb250ZXh0KHRleHRD
b250ZXh0KQorICAgICwgbV9kaXNwbGF5UnVuKGRpc3BsYXlSdW4pCiB7CiB9CiAKQEAgLTEwNCw3
ICs5Nyw3IEBAIGJvb2wgTGluZTo6aXNWaXN1YWxseUVtcHR5KCkgY29uc3QKICAgICAgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgfQotICAg
ICAgICBpZiAoIXJ1bi0+dGV4dENvbnRleHQoKSB8fCAhcnVuLT5pc1Zpc3VhbGx5RW1wdHkoKSkK
KyAgICAgICAgaWYgKCFydW4tPmlzVGV4dCgpIHx8ICFydW4tPmlzVmlzdWFsbHlFbXB0eSgpKQog
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KICAgICByZXR1cm4gdHJ1ZTsKQEAgLTIy
Myw3ICsyMTYsNyBAQCB2b2lkIExpbmU6OmFwcGVuZChjb25zdCBJbmxpbmVJdGVtJiBpbmxpbmVJ
dGVtLCBMYXlvdXRVbml0IGxvZ2ljYWxXaWR0aCkKIAogdm9pZCBMaW5lOjphcHBlbmROb25CcmVh
a2FibGVTcGFjZShjb25zdCBJbmxpbmVJdGVtJiBpbmxpbmVJdGVtLCBjb25zdCBEaXNwbGF5OjpS
ZWN0JiBsb2dpY2FsUmVjdCkKIHsKLSAgICBtX3J1bkxpc3QuYXBwZW5kKG1ha2VVbmlxdWU8UnVu
PihpbmxpbmVJdGVtLCBsb2dpY2FsUmVjdCkpOworICAgIG1fcnVuTGlzdC5hcHBlbmQobWFrZVVu
aXF1ZTxSdW4+KGlubGluZUl0ZW0sIERpc3BsYXk6OlJ1biB7IGxvZ2ljYWxSZWN0IH0pKTsKICAg
ICBtX2xpbmVCb3guZXhwYW5kSG9yaXpvbnRhbGx5KGxvZ2ljYWxSZWN0LndpZHRoKCkpOwogfQog
CkBAIC0yODYsOCArMjc5LDcgQEAgdm9pZCBMaW5lOjphcHBlbmRUZXh0Q29udGVudChjb25zdCBJ
bmxpbmVUZXh0SXRlbSYgaW5saW5lSXRlbSwgTGF5b3V0VW5pdCBsb2dpY2EKICAgICAgICAgYWRq
dXN0QmFzZWxpbmVBbmRMaW5lSGVpZ2h0KGlubGluZUl0ZW0sIHJ1bkhlaWdodCk7CiAgICAgfQog
Ci0gICAgYXV0byB0ZXh0Q29udGV4dCA9IFJ1bjo6VGV4dENvbnRleHQgeyBpbmxpbmVJdGVtLnN0
YXJ0KCksIGlubGluZUl0ZW0uaXNDb2xsYXBzZWQoKSA/IDEgOiBpbmxpbmVJdGVtLmxlbmd0aCgp
IH07Ci0gICAgYXV0byBsaW5lSXRlbSA9IG1ha2VVbmlxdWU8UnVuPihpbmxpbmVJdGVtLCB0ZXh0
Q29udGV4dCwgbG9naWNhbFJlY3QpOworICAgIGF1dG8gbGluZUl0ZW0gPSBtYWtlVW5pcXVlPFJ1
bj4oaW5saW5lSXRlbSwgRGlzcGxheTo6UnVuIHsgbG9naWNhbFJlY3QsIERpc3BsYXk6OlJ1bjo6
VGV4dENvbnRleHQgeyBpbmxpbmVJdGVtLnN0YXJ0KCksIGlubGluZUl0ZW0uaXNDb2xsYXBzZWQo
KSA/IDEgOiBpbmxpbmVJdGVtLmxlbmd0aCgpIH0gfSk7CiAgICAgYXV0byBpc1Zpc3VhbGx5RW1w
dHkgPSB3aWxsQ29sbGFwc2VDb21wbGV0ZWx5KCk7CiAgICAgaWYgKGlzVmlzdWFsbHlFbXB0eSkK
ICAgICAgICAgbGluZUl0ZW0tPnNldFZpc3VhbGx5SXNFbXB0eSgpOwpAQCAtMzEzLDcgKzMwNSw3
IEBAIHZvaWQgTGluZTo6YXBwZW5kTm9uUmVwbGFjZWRJbmxpbmVCb3goY29uc3QgSW5saW5lSXRl
bSYgaW5saW5lSXRlbSwgTGF5b3V0VW5pdCBsCiAgICAgICAgIGxvZ2ljYWxSZWN0LnNldEhlaWdo
dChpbmxpbmVJdGVtQ29udGVudEhlaWdodChpbmxpbmVJdGVtKSk7CiAgICAgfQogCi0gICAgbV9y
dW5MaXN0LmFwcGVuZChtYWtlVW5pcXVlPFJ1bj4oaW5saW5lSXRlbSwgbG9naWNhbFJlY3QpKTsK
KyAgICBtX3J1bkxpc3QuYXBwZW5kKG1ha2VVbmlxdWU8UnVuPihpbmxpbmVJdGVtLCBEaXNwbGF5
OjpSdW4geyBsb2dpY2FsUmVjdCB9KSk7CiAgICAgbV9saW5lQm94LmV4cGFuZEhvcml6b250YWxs
eShsb2dpY2FsV2lkdGggKyBob3Jpem9udGFsTWFyZ2luLnN0YXJ0ICsgaG9yaXpvbnRhbE1hcmdp
bi5lbmQpOwogICAgIG1fdHJpbW1hYmxlQ29udGVudC5jbGVhcigpOwogfQpAQCAtMzMzLDcgKzMy
NSw3IEBAIHZvaWQgTGluZTo6YXBwZW5kSGFyZExpbmVCcmVhayhjb25zdCBJbmxpbmVJdGVtJiBp
bmxpbmVJdGVtKQogICAgICAgICBhZGp1c3RCYXNlbGluZUFuZExpbmVIZWlnaHQoaW5saW5lSXRl
bSwgeyB9KTsKICAgICAgICAgbG9naWNhbFJlY3Quc2V0SGVpZ2h0KGxvZ2ljYWxIZWlnaHQoKSk7
CiAgICAgfQotICAgIG1fcnVuTGlzdC5hcHBlbmQobWFrZVVuaXF1ZTxSdW4+KGlubGluZUl0ZW0s
IGxvZ2ljYWxSZWN0KSk7CisgICAgbV9ydW5MaXN0LmFwcGVuZChtYWtlVW5pcXVlPFJ1bj4oaW5s
aW5lSXRlbSwgRGlzcGxheTo6UnVuIHsgbG9naWNhbFJlY3QgfSkpOwogfQogCiB2b2lkIExpbmU6
OmFkanVzdEJhc2VsaW5lQW5kTGluZUhlaWdodChjb25zdCBJbmxpbmVJdGVtJiBpbmxpbmVJdGVt
LCBMYXlvdXRVbml0IHJ1bkhlaWdodCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmUuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9p
bmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmUuaAppbmRleCAyNWZlMDZiMzY3NzEwNWM1OGVhMzEz
MzUyOGViMmRjOWEzMWQ4MjEyLi4yMjVkNGFlYmUwNDZiYjEyNGJhNGM1YjZmZWE3NzcyNTcyM2U0
OGYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9J
bmxpbmVMaW5lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcv
SW5saW5lTGluZS5oCkBAIC02NiwxNiArNjYsMTIgQEAgcHVibGljOgogCiAgICAgc3RydWN0IFJ1
biB7CiAgICAgICAgIFdURl9NQUtFX1NUUlVDVF9GQVNUX0FMTE9DQVRFRDsKLSAgICAgICAgc3Ry
dWN0IFRleHRDb250ZXh0IHsKLSAgICAgICAgICAgIHVuc2lnbmVkIHN0YXJ0IHsgMCB9OwotICAg
ICAgICAgICAgdW5zaWduZWQgbGVuZ3RoIHsgMCB9OwotICAgICAgICB9OwotICAgICAgICBSdW4o
Y29uc3QgSW5saW5lSXRlbSYsIGNvbnN0IERpc3BsYXk6OlJlY3QmKTsKLSAgICAgICAgUnVuKGNv
bnN0IElubGluZUl0ZW0mLCBjb25zdCBUZXh0Q29udGV4dCYsIGNvbnN0IERpc3BsYXk6OlJlY3Qm
KTsKKyAgICAgICAgUnVuKGNvbnN0IElubGluZUl0ZW0mLCBjb25zdCBEaXNwbGF5OjpSdW4mKTsK
IAorICAgICAgICBjb25zdCBEaXNwbGF5OjpSdW4mIGRpc3BsYXlSdW4oKSBjb25zdCB7IHJldHVy
biBtX2Rpc3BsYXlSdW47IH0KICAgICAgICAgY29uc3QgQm94JiBsYXlvdXRCb3goKSBjb25zdCB7
IHJldHVybiBtX2lubGluZUl0ZW0ubGF5b3V0Qm94KCk7IH0KLSAgICAgICAgY29uc3QgRGlzcGxh
eTo6UmVjdCYgbG9naWNhbFJlY3QoKSBjb25zdCB7IHJldHVybiBtX2xvZ2ljYWxSZWN0OyB9Ci0g
ICAgICAgIGNvbnN0IE9wdGlvbmFsPFRleHRDb250ZXh0PiB0ZXh0Q29udGV4dCgpIGNvbnN0IHsg
cmV0dXJuIG1fdGV4dENvbnRleHQ7IH0KKworICAgICAgICBjb25zdCBEaXNwbGF5OjpSZWN0JiBs
b2dpY2FsUmVjdCgpIGNvbnN0IHsgcmV0dXJuIG1fZGlzcGxheVJ1bi5sb2dpY2FsUmVjdCgpOyB9
CiAKICAgICAgICAgYm9vbCBpc1RleHQoKSBjb25zdCB7IHJldHVybiBtX2lubGluZUl0ZW0uaXNU
ZXh0KCk7IH0KICAgICAgICAgYm9vbCBpc0JveCgpIGNvbnN0IHsgcmV0dXJuIG1faW5saW5lSXRl
bS5pc0JveCgpOyB9CkBAIC04OSwxNSArODUsMTQgQEAgcHVibGljOgogCiAgICAgcHJpdmF0ZToK
ICAgICAgICAgZnJpZW5kIGNsYXNzIExpbmU7Ci0gICAgICAgIHZvaWQgYWRqdXN0TG9naWNhbFRv
cChMYXlvdXRVbml0IGxvZ2ljYWxUb3ApIHsgbV9sb2dpY2FsUmVjdC5zZXRUb3AobG9naWNhbFRv
cCk7IH0KLSAgICAgICAgdm9pZCBtb3ZlVmVydGljYWxseShMYXlvdXRVbml0IG9mZnNldCkgeyBt
X2xvZ2ljYWxSZWN0Lm1vdmVWZXJ0aWNhbGx5KG9mZnNldCk7IH0KLSAgICAgICAgdm9pZCBtb3Zl
SG9yaXpvbnRhbGx5KExheW91dFVuaXQgb2Zmc2V0KSB7IG1fbG9naWNhbFJlY3QubW92ZUhvcml6
b250YWxseShvZmZzZXQpOyB9CisgICAgICAgIHZvaWQgYWRqdXN0TG9naWNhbFRvcChMYXlvdXRV
bml0IGxvZ2ljYWxUb3ApIHsgbV9kaXNwbGF5UnVuLnNldExvZ2ljYWxUb3AobG9naWNhbFRvcCk7
IH0KKyAgICAgICAgdm9pZCBtb3ZlVmVydGljYWxseShMYXlvdXRVbml0IG9mZnNldCkgeyBtX2Rp
c3BsYXlSdW4ubW92ZVZlcnRpY2FsbHkob2Zmc2V0KTsgfQorICAgICAgICB2b2lkIG1vdmVIb3Jp
em9udGFsbHkoTGF5b3V0VW5pdCBvZmZzZXQpIHsgbV9kaXNwbGF5UnVuLm1vdmVIb3Jpem9udGFs
bHkob2Zmc2V0KTsgfQogICAgICAgICB2b2lkIHNldFZpc3VhbGx5SXNFbXB0eSgpIHsgbV9pc1Zp
c3VhbGx5RW1wdHkgPSB0cnVlOyB9CiAKICAgICAgICAgY29uc3QgSW5saW5lSXRlbSYgbV9pbmxp
bmVJdGVtOwotICAgICAgICBEaXNwbGF5OjpSZWN0IG1fbG9naWNhbFJlY3Q7CisgICAgICAgIERp
c3BsYXk6OlJ1biBtX2Rpc3BsYXlSdW47CiAgICAgICAgIGJvb2wgbV9pc1Zpc3VhbGx5RW1wdHkg
eyBmYWxzZSB9OwotICAgICAgICBPcHRpb25hbDxUZXh0Q29udGV4dD4gbV90ZXh0Q29udGV4dDsK
ICAgICB9OwogICAgIHVzaW5nIFJ1bkxpc3QgPSBWZWN0b3I8c3RkOjp1bmlxdWVfcHRyPFJ1bj4+
OwogICAgIFJ1bkxpc3QgY2xvc2UoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9sYXlvdXR0cmVlL0xheW91dFRyZWVCdWlsZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9sYXlvdXR0cmVlL0xheW91dFRyZWVCdWlsZGVyLmNwcAppbmRleCBiZGI0YjRmMGI2NTdjYWY0
YmYxMWJkNTQzOGI4ZjBlMmI4YzNhZDg2Li43MTAyMmU4YTQzZTA3NTkyMmIzY2JkZWFlNTllMWFk
YWJiMTYyOGFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9M
YXlvdXRUcmVlQnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRy
ZWUvTGF5b3V0VHJlZUJ1aWxkZXIuY3BwCkBAIC0yNTMsMTMgKzI1MywxMyBAQCBzdGF0aWMgdm9p
ZCBvdXRwdXRJbmxpbmVSdW5zKFRleHRTdHJlYW0mIHN0cmVhbSwgY29uc3QgTGF5b3V0U3RhdGUm
IGxheW91dFN0YXRlLAogICAgICAgICB3aGlsZSAoKytwcmludGVkQ2hhcmFjdGVycyA8PSBkZXB0
aCAqIDIpCiAgICAgICAgICAgICBzdHJlYW0gPDwgIiAiOwogICAgICAgICBzdHJlYW0gPDwgIiAg
IjsKLSAgICAgICAgaWYgKGlubGluZVJ1bi0+dGV4dENvbnRleHQoKSkKKyAgICAgICAgaWYgKGlu
bGluZVJ1bi50ZXh0Q29udGV4dCgpKQogICAgICAgICAgICAgc3RyZWFtIDw8ICJpbmxpbmUgdGV4
dCBib3giOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICBzdHJlYW0gPDwgImlubGluZSBib3gi
OwotICAgICAgICBzdHJlYW0gPDwgIiBhdCAoIiA8PCBpbmxpbmVSdW4tPmxvZ2ljYWxMZWZ0KCkg
PDwgIiwiIDw8IGlubGluZVJ1bi0+bG9naWNhbFRvcCgpIDw8ICIpIHNpemUgIiA8PCBpbmxpbmVS
dW4tPmxvZ2ljYWxXaWR0aCgpIDw8ICJ4IiA8PCBpbmxpbmVSdW4tPmxvZ2ljYWxIZWlnaHQoKTsK
LSAgICAgICAgaWYgKGlubGluZVJ1bi0+dGV4dENvbnRleHQoKSkKLSAgICAgICAgICAgIHN0cmVh
bSA8PCAiIHJ1bigiIDw8IGlubGluZVJ1bi0+dGV4dENvbnRleHQoKS0+c3RhcnQoKSA8PCAiLCAi
IDw8IGlubGluZVJ1bi0+dGV4dENvbnRleHQoKS0+ZW5kKCkgPDwgIikiOworICAgICAgICBzdHJl
YW0gPDwgIiBhdCAoIiA8PCBpbmxpbmVSdW4ubG9naWNhbExlZnQoKSA8PCAiLCIgPDwgaW5saW5l
UnVuLmxvZ2ljYWxUb3AoKSA8PCAiKSBzaXplICIgPDwgaW5saW5lUnVuLmxvZ2ljYWxXaWR0aCgp
IDw8ICJ4IiA8PCBpbmxpbmVSdW4ubG9naWNhbEhlaWdodCgpOworICAgICAgICBpZiAoaW5saW5l
UnVuLnRleHRDb250ZXh0KCkpCisgICAgICAgICAgICBzdHJlYW0gPDwgIiBydW4oIiA8PCBpbmxp
bmVSdW4udGV4dENvbnRleHQoKS0+c3RhcnQoKSA8PCAiLCAiIDw8IGlubGluZVJ1bi50ZXh0Q29u
dGV4dCgpLT5lbmQoKSA8PCAiKSI7CiAgICAgICAgIHN0cmVhbS5uZXh0TGluZSgpOwogICAgIH0K
IH0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>379730</attachid>
            <date>2019-09-27 09:04:50 -0700</date>
            <delta_ts>2019-09-27 09:50:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-202313-20190927090447.patch</filename>
            <type>text/plain</type>
            <size>18653</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUwNDI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzZjOTQ1NDgzMDAzNWY2
N2UwZTNhMTMwZWIzN2MyYWEwZjUyNGE2Yi4uMzBkODg0YmQ3NmM2NDJjMWU1ODEzYWZmYmE2Mjc0
NTdiYWI0NmU4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDE5LTA5LTI3ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bSUZDXSBSZXBsYWNl
IExpbmU6OlJ1bidzIGxvZ2ljYWxSZWN0L3RleHRDb250ZXh0IHdpdGggRGlzcGxheTo6UnVuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDIzMTMKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU1NzgyNDMwPgorCisgICAgICAgIFJldmlld2VkIGJ5IEFu
dHRpIEtvaXZpc3RvLgorCisgICAgICAgIERpc3BsYXk6OlJ1biBpcyBhIGNvbnRhaW5lciBmb3Ig
bG9naWNhbCByZWN0IGFuZCB0ZXh0IGNvbnRleHQuIExldCdzIHJlcGxhY2UgTGluZTo6UnVuJ3Mg
bG9naWNhbCByZWN0L3RleHQgY29udGV4dCB3aXRoIERpc3BsYXk6OlJ1bi4KKworICAgICAgICAq
IGxheW91dC9WZXJpZmljYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpvdXRw
dXRNaXNtYXRjaGluZ1NpbXBsZUxpbmVJbmZvcm1hdGlvbklmTmVlZGVkKToKKyAgICAgICAgKFdl
YkNvcmU6OkxheW91dDo6b3V0cHV0TWlzbWF0Y2hpbmdDb21wbGV4TGluZUluZm9ybWF0aW9uSWZO
ZWVkZWQpOgorICAgICAgICAqIGxheW91dC9kaXNwbGF5dHJlZS9EaXNwbGF5UnVuLmg6CisgICAg
ICAgIChXZWJDb3JlOjpEaXNwbGF5OjpSdW46OmxvZ2ljYWxSZWN0IGNvbnN0KToKKyAgICAgICAg
KiBsYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dExpbmVMYXlv
dXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVGb3JtYXR0aW5nQ29udGV4
dDo6SW5saW5lTGF5b3V0OjpjcmVhdGVEaXNwbGF5UnVucyk6CisgICAgICAgIChXZWJDb3JlOjpM
YXlvdXQ6OklubGluZUZvcm1hdHRpbmdDb250ZXh0OjpJbmxpbmVMYXlvdXQ6OmFsaWduUnVucyBj
b25zdCk6CisgICAgICAgICogbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGlu
Z0NvbnRleHRRdWlya3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVGb3Jt
YXR0aW5nQ29udGV4dDo6UXVpcmtzOjpsaW5lRGVzY2VudE5lZWRzQ29sbGFwc2luZyBjb25zdCk6
CisgICAgICAgICogbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ1N0YXRl
Lmg6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OklubGluZUZvcm1hdHRpbmdTdGF0ZTo6YWRk
SW5saW5lUnVuKToKKyAgICAgICAgKiBsYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5l
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZTo6UnVuOjpSdW4pOgorICAgICAg
ICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lOjppc1Zpc3VhbGx5RW1wdHkgY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lOjphcHBlbmROb25CcmVha2FibGVTcGFjZSk6CisgICAg
ICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmU6OmFwcGVuZFRleHRDb250ZW50KToKKyAgICAgICAg
KFdlYkNvcmU6OkxheW91dDo6TGluZTo6YXBwZW5kTm9uUmVwbGFjZWRJbmxpbmVCb3gpOgorICAg
ICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lOjphcHBlbmRIYXJkTGluZUJyZWFrKToKKyAgICAg
ICAgKiBsYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lLmg6CisgICAgICAgIChXZWJD
b3JlOjpMYXlvdXQ6OkxpbmU6OlJ1bjo6ZGlzcGxheVJ1biBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpMYXlvdXQ6OkxpbmU6OlJ1bjo6bG9naWNhbFJlY3QgY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6TGF5b3V0OjpMaW5lOjpSdW46OmFkanVzdExvZ2ljYWxUb3ApOgorICAgICAgICAoV2Vi
Q29yZTo6TGF5b3V0OjpMaW5lOjpSdW46Om1vdmVWZXJ0aWNhbGx5KToKKyAgICAgICAgKFdlYkNv
cmU6OkxheW91dDo6TGluZTo6UnVuOjptb3ZlSG9yaXpvbnRhbGx5KToKKyAgICAgICAgKFdlYkNv
cmU6OkxheW91dDo6TGluZTo6UnVuOjp0ZXh0Q29udGV4dCBjb25zdCk6IERlbGV0ZWQuCisgICAg
ICAgICogbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0VHJlZUJ1aWxkZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6TGF5b3V0OjpvdXRwdXRJbmxpbmVSdW5zKToKKwogMjAxOS0wOS0yNyAgQ2hyaXMg
RHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIElEQlJlcXVlc3Qgc2hvdWxkIG5v
dCBwcmV2ZW50IGEgcGFnZSBmcm9tIGVudGVyaW5nIHRoZSBiYWNrL2ZvcndhcmQgY2FjaGUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9WZXJpZmljYXRpb24uY3BwIGIvU291cmNl
L1dlYkNvcmUvbGF5b3V0L1ZlcmlmaWNhdGlvbi5jcHAKaW5kZXggZmZhMDYzMzE3NGI1YjRjNTlk
MDVjNTQyYTJkMTlhZDk0NmU5ZmMxNC4uZmY2N2RmZjdhMmNkNTU3YmU5YTRmMDIyYWU4ZTU4MmM1
YzM1YTlkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L1ZlcmlmaWNhdGlvbi5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L1ZlcmlmaWNhdGlvbi5jcHAKQEAgLTg5LDE3
ICs4OSwxNyBAQCBzdGF0aWMgYm9vbCBvdXRwdXRNaXNtYXRjaGluZ1NpbXBsZUxpbmVJbmZvcm1h
dGlvbklmTmVlZGVkKFRleHRTdHJlYW0mIHN0cmVhbSwgYwogICAgICAgICBhdXRvJiBzaW1wbGVS
dW4gPSBsaW5lTGF5b3V0RGF0YS0+cnVuQXQoaSk7CiAgICAgICAgIGF1dG8mIGlubGluZVJ1biA9
IGlubGluZVJ1bkxpc3RbaV07CiAKLSAgICAgICAgYXV0byBtYXRjaGluZ1J1bnMgPSBhcmVFc3Nl
bnRpYWxseUVxdWFsKHNpbXBsZVJ1bi5sb2dpY2FsTGVmdCwgaW5saW5lUnVuLT5sb2dpY2FsTGVm
dCgpKSAmJiBhcmVFc3NlbnRpYWxseUVxdWFsKHNpbXBsZVJ1bi5sb2dpY2FsUmlnaHQsIGlubGlu
ZVJ1bi0+bG9naWNhbFJpZ2h0KCkpOwotICAgICAgICBpZiAobWF0Y2hpbmdSdW5zICYmIGlubGlu
ZVJ1bi0+dGV4dENvbnRleHQoKSkgewotICAgICAgICAgICAgbWF0Y2hpbmdSdW5zID0gc2ltcGxl
UnVuLnN0YXJ0ID09IGlubGluZVJ1bi0+dGV4dENvbnRleHQoKS0+c3RhcnQoKSAmJiBzaW1wbGVS
dW4uZW5kID09IGlubGluZVJ1bi0+dGV4dENvbnRleHQoKS0+ZW5kKCk7CisgICAgICAgIGF1dG8g
bWF0Y2hpbmdSdW5zID0gYXJlRXNzZW50aWFsbHlFcXVhbChzaW1wbGVSdW4ubG9naWNhbExlZnQs
IGlubGluZVJ1bi5sb2dpY2FsTGVmdCgpKSAmJiBhcmVFc3NlbnRpYWxseUVxdWFsKHNpbXBsZVJ1
bi5sb2dpY2FsUmlnaHQsIGlubGluZVJ1bi5sb2dpY2FsUmlnaHQoKSk7CisgICAgICAgIGlmICht
YXRjaGluZ1J1bnMgJiYgaW5saW5lUnVuLnRleHRDb250ZXh0KCkpIHsKKyAgICAgICAgICAgIG1h
dGNoaW5nUnVucyA9IHNpbXBsZVJ1bi5zdGFydCA9PSBpbmxpbmVSdW4udGV4dENvbnRleHQoKS0+
c3RhcnQoKSAmJiBzaW1wbGVSdW4uZW5kID09IGlubGluZVJ1bi50ZXh0Q29udGV4dCgpLT5lbmQo
KTsKICAgICAgICAgICAgIC8vIFNMTCBoYW5kbGVzIHN0cmluZ3MgaW4gYSBtb3JlIGNvbmNhdGVu
YXRlZCBmb3JtYXQgPGRpdj5mb288YnI+YmFyPC9kaXY+IC0+IGZvbyAtPiAwLDMgYmFyIC0+IDMs
NiB2cy4gMCwzIGFuZCAwLDMKICAgICAgICAgICAgIGlmICghbWF0Y2hpbmdSdW5zKQotICAgICAg
ICAgICAgICAgIG1hdGNoaW5nUnVucyA9IChzaW1wbGVSdW4uZW5kIC0gc2ltcGxlUnVuLnN0YXJ0
KSA9PSAoaW5saW5lUnVuLT50ZXh0Q29udGV4dCgpLT5lbmQoKSAtIGlubGluZVJ1bi0+dGV4dENv
bnRleHQoKS0+c3RhcnQoKSk7IAorICAgICAgICAgICAgICAgIG1hdGNoaW5nUnVucyA9IChzaW1w
bGVSdW4uZW5kIC0gc2ltcGxlUnVuLnN0YXJ0KSA9PSAoaW5saW5lUnVuLnRleHRDb250ZXh0KCkt
PmVuZCgpIC0gaW5saW5lUnVuLnRleHRDb250ZXh0KCktPnN0YXJ0KCkpOyAKICAgICAgICAgfQog
ICAgICAgICBpZiAobWF0Y2hpbmdSdW5zKQogICAgICAgICAgICAgY29udGludWU7CiAKLSAgICAg
ICAgc3RyZWFtIDw8ICJNaXNtYXRjaGluZzogc2ltcGxlIHJ1bigiIDw8IHNpbXBsZVJ1bi5zdGFy
dCA8PCAiLCAiIDw8IHNpbXBsZVJ1bi5lbmQgPDwgIikgKCIgPDwgc2ltcGxlUnVuLmxvZ2ljYWxM
ZWZ0IDw8ICIsICIgPDwgc2ltcGxlUnVuLmxvZ2ljYWxSaWdodCA8PCAiKSBsYXlvdXQgcnVuKCIg
PDwgaW5saW5lUnVuLT50ZXh0Q29udGV4dCgpLT5zdGFydCgpIDw8ICIsICIgPDwgaW5saW5lUnVu
LT50ZXh0Q29udGV4dCgpLT5lbmQoKSA8PCAiKSAoIiA8PCBpbmxpbmVSdW4tPmxvZ2ljYWxMZWZ0
KCkgPDwgIiwgIiA8PCBpbmxpbmVSdW4tPmxvZ2ljYWxSaWdodCgpIDw8ICIpIjsKKyAgICAgICAg
c3RyZWFtIDw8ICJNaXNtYXRjaGluZzogc2ltcGxlIHJ1bigiIDw8IHNpbXBsZVJ1bi5zdGFydCA8
PCAiLCAiIDw8IHNpbXBsZVJ1bi5lbmQgPDwgIikgKCIgPDwgc2ltcGxlUnVuLmxvZ2ljYWxMZWZ0
IDw8ICIsICIgPDwgc2ltcGxlUnVuLmxvZ2ljYWxSaWdodCA8PCAiKSBsYXlvdXQgcnVuKCIgPDwg
aW5saW5lUnVuLnRleHRDb250ZXh0KCktPnN0YXJ0KCkgPDwgIiwgIiA8PCBpbmxpbmVSdW4udGV4
dENvbnRleHQoKS0+ZW5kKCkgPDwgIikgKCIgPDwgaW5saW5lUnVuLmxvZ2ljYWxMZWZ0KCkgPDwg
IiwgIiA8PCBpbmxpbmVSdW4ubG9naWNhbFJpZ2h0KCkgPDwgIikiOwogICAgICAgICBzdHJlYW0u
bmV4dExpbmUoKTsKICAgICAgICAgbWlzbWF0Y2hlZCA9IHRydWU7CiAgICAgfQpAQCAtMTcyLDcg
KzE3Miw3IEBAIHN0YXRpYyBib29sIG91dHB1dE1pc21hdGNoaW5nQ29tcGxleExpbmVJbmZvcm1h
dGlvbklmTmVlZGVkKFRleHRTdHJlYW0mIHN0cmVhbSwKICAgICAgICAgYXV0byYgaW5saW5lUnVu
ID0gaW5saW5lUnVuTGlzdFtydW5JbmRleF07CiAgICAgICAgIGF1dG8qIGlubGluZUJveCA9IGlu
bGluZUJveGVzW2lubGluZUJveEluZGV4XTsKICAgICAgICAgYXV0byogaW5saW5lVGV4dEJveCA9
IGlzPElubGluZVRleHRCb3g+KGlubGluZUJveCkgPyBkb3duY2FzdDxJbmxpbmVUZXh0Qm94Pihp
bmxpbmVCb3gpIDogbnVsbHB0cjsKLSAgICAgICAgYm9vbCBtYXRjaGluZ1J1bnMgPSBpbmxpbmVU
ZXh0Qm94ID8gY2hlY2tGb3JNYXRjaGluZ1RleHRSdW5zKCppbmxpbmVSdW4sICppbmxpbmVUZXh0
Qm94KSA6IG1hdGNoaW5nUnVucyA9IGNoZWNrRm9yTWF0Y2hpbmdOb25UZXh0UnVucygqaW5saW5l
UnVuLCAqaW5saW5lQm94KTsKKyAgICAgICAgYm9vbCBtYXRjaGluZ1J1bnMgPSBpbmxpbmVUZXh0
Qm94ID8gY2hlY2tGb3JNYXRjaGluZ1RleHRSdW5zKGlubGluZVJ1biwgKmlubGluZVRleHRCb3gp
IDogbWF0Y2hpbmdSdW5zID0gY2hlY2tGb3JNYXRjaGluZ05vblRleHRSdW5zKGlubGluZVJ1biwg
KmlubGluZUJveCk7CiAKICAgICAgICAgaWYgKCFtYXRjaGluZ1J1bnMpIHsKICAgICAgICAgICAg
IApAQCAtMTkwLDkgKzE5MCw5IEBAIHN0YXRpYyBib29sIG91dHB1dE1pc21hdGNoaW5nQ29tcGxl
eExpbmVJbmZvcm1hdGlvbklmTmVlZGVkKFRleHRTdHJlYW0mIHN0cmVhbSwKICAgICAgICAgICAg
IHN0cmVhbSA8PCAiICgiIDw8IGlubGluZUJveC0+bG9naWNhbExlZnQoKSA8PCAiLCAiIDw8IGlu
bGluZUJveC0+bG9naWNhbFRvcCgpIDw8ICIpICgiIDw8IGlubGluZUJveC0+bG9naWNhbFdpZHRo
KCkgPDwgIngiIDw8IGlubGluZUJveC0+bG9naWNhbEhlaWdodCgpIDw8ICIpIjsKIAogICAgICAg
ICAgICAgc3RyZWFtIDw8ICIgaW5saW5lIHJ1biI7Ci0gICAgICAgICAgICBpZiAoaW5saW5lUnVu
LT50ZXh0Q29udGV4dCgpKQotICAgICAgICAgICAgICAgIHN0cmVhbSA8PCAiICgiIDw8IGlubGlu
ZVJ1bi0+dGV4dENvbnRleHQoKS0+c3RhcnQoKSA8PCAiLCAiIDw8IGlubGluZVJ1bi0+dGV4dENv
bnRleHQoKS0+ZW5kKCkgPDwgIikiOwotICAgICAgICAgICAgc3RyZWFtIDw8ICIgKCIgPDwgaW5s
aW5lUnVuLT5sb2dpY2FsTGVmdCgpIDw8ICIsICIgPDwgaW5saW5lUnVuLT5sb2dpY2FsVG9wKCkg
PDwgIikgKCIgPDwgaW5saW5lUnVuLT5sb2dpY2FsV2lkdGgoKSA8PCAieCIgPDwgaW5saW5lUnVu
LT5sb2dpY2FsSGVpZ2h0KCkgPDwgIikiOworICAgICAgICAgICAgaWYgKGlubGluZVJ1bi50ZXh0
Q29udGV4dCgpKQorICAgICAgICAgICAgICAgIHN0cmVhbSA8PCAiICgiIDw8IGlubGluZVJ1bi50
ZXh0Q29udGV4dCgpLT5zdGFydCgpIDw8ICIsICIgPDwgaW5saW5lUnVuLnRleHRDb250ZXh0KCkt
PmVuZCgpIDw8ICIpIjsKKyAgICAgICAgICAgIHN0cmVhbSA8PCAiICgiIDw8IGlubGluZVJ1bi5s
b2dpY2FsTGVmdCgpIDw8ICIsICIgPDwgaW5saW5lUnVuLmxvZ2ljYWxUb3AoKSA8PCAiKSAoIiA8
PCBpbmxpbmVSdW4ubG9naWNhbFdpZHRoKCkgPDwgIngiIDw8IGlubGluZVJ1bi5sb2dpY2FsSGVp
Z2h0KCkgPDwgIikiOwogICAgICAgICAgICAgc3RyZWFtLm5leHRMaW5lKCk7CiAgICAgICAgICAg
ICBtaXNtYXRjaGVkID0gdHJ1ZTsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvbGF5b3V0L2Rpc3BsYXl0cmVlL0Rpc3BsYXlSdW4uaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9kaXNwbGF5dHJlZS9EaXNwbGF5UnVuLmgKaW5kZXggNzk5MTYyNzU3NDAxODNmMzUzZjVhZmQ1
YjE1MjJlNTY1M2ZjODk0NS4uMmRhNzFkY2NkOGI5NGRjOGFmNGJiNzg2NjQxYTY5NmYwM2YzOTYx
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Rpc3BsYXl0cmVlL0Rpc3BsYXlS
dW4uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZGlzcGxheXRyZWUvRGlzcGxheVJ1bi5o
CkBAIC01Nyw2ICs1Nyw4IEBAIHN0cnVjdCBSdW4gewogICAgIFJ1bihSZWN0IGxvZ2ljYWxSZWN0
LCBUZXh0Q29udGV4dCk7CiAgICAgUnVuKGNvbnN0IFJ1biYpOwogCisgICAgY29uc3QgUmVjdCYg
bG9naWNhbFJlY3QoKSBjb25zdCB7IHJldHVybiBtX2xvZ2ljYWxSZWN0OyB9CisKICAgICBMYXlv
dXRQb2ludCBsb2dpY2FsVG9wTGVmdCgpIGNvbnN0IHsgcmV0dXJuIG1fbG9naWNhbFJlY3QudG9w
TGVmdCgpOyB9CiAgICAgTGF5b3V0VW5pdCBsb2dpY2FsTGVmdCgpIGNvbnN0IHsgcmV0dXJuIG1f
bG9naWNhbFJlY3QubGVmdCgpOyB9CiAgICAgTGF5b3V0VW5pdCBsb2dpY2FsUmlnaHQoKSBjb25z
dCB7IHJldHVybiBtX2xvZ2ljYWxSZWN0LnJpZ2h0KCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0TGlu
ZUxheW91dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9Jbmxp
bmVGb3JtYXR0aW5nQ29udGV4dExpbmVMYXlvdXQuY3BwCmluZGV4IGViZTYwZjI1NWFlM2RmZjdl
NmVjNzIwNDg3YzkyMzc0YmMwNzlmZmUuLmVmZjIzMmU4MTRmMDZkMWU3YWI1MDYxZTRjN2RlZGVm
MGMzNmI3YzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0
aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0TGluZUxheW91dC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHRMaW5l
TGF5b3V0LmNwcApAQCAtMzkxLDEyICszOTEsMTEgQEAgdm9pZCBJbmxpbmVGb3JtYXR0aW5nQ29u
dGV4dDo6SW5saW5lTGF5b3V0OjpjcmVhdGVEaXNwbGF5UnVucyhjb25zdCBMaW5lQ29udGVudCYK
ICAgICAgICAgYXV0byYgbG9naWNhbFJlY3QgPSBydW4tPmxvZ2ljYWxSZWN0KCk7CiAgICAgICAg
IC8vIElubGluZSBsZXZlbCBib3ggKHJlcGxhY2VkIG9yIGlubGluZS1ibG9jaykgb3IgPGJyPi88
d2JyPgogICAgICAgICBpZiAocnVuLT5pc0xpbmVCcmVhaygpIHx8IHJ1bi0+aXNCb3goKSkgewot
ICAgICAgICAgICAgZm9ybWF0dGluZ1N0YXRlLmFkZElubGluZVJ1bihtYWtlVW5pcXVlPERpc3Bs
YXk6OlJ1bj4obG9naWNhbFJlY3QpKTsKKyAgICAgICAgICAgIGZvcm1hdHRpbmdTdGF0ZS5hZGRJ
bmxpbmVSdW4ocnVuLT5kaXNwbGF5UnVuKCkpOwogICAgICAgICAgICAgY29udGludWU7CiAgICAg
ICAgIH0KICAgICAgICAgaWYgKHJ1bi0+aXNUZXh0KCkpIHsKICAgICAgICAgICAgIC8vIENvbGxh
cHNlZCBsaW5lIHJ1bnMgZG9uJ3QgZ2VuZXJhdGUgZGlzcGxheSBydW5zLgotICAgICAgICAgICAg
YXV0byB0ZXh0Q29udGV4dCA9IHJ1bi0+dGV4dENvbnRleHQoKTsKICAgICAgICAgICAgIGlmIChy
dW4tPmlzVmlzdWFsbHlFbXB0eSgpKQogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAg
ICAgICAgLy8gVHJ5IHRvIGpvaW4gbXVsdGlwbGUgdGV4dCBydW5zIHdoZW4gcG9zc2libGUuCkBA
IC00MDYsMTAgKzQwNSwxMCBAQCB2b2lkIElubGluZUZvcm1hdHRpbmdDb250ZXh0OjpJbmxpbmVM
YXlvdXQ6OmNyZWF0ZURpc3BsYXlSdW5zKGNvbnN0IExpbmVDb250ZW50JgogCiAgICAgICAgICAg
ICBpZiAocHJldmlvdXNSdW5DYW5CZUV4dGVuZGVkICYmIGN1cnJlbnRSdW5DYW5CZU1lcmdlZFdp
dGhQcmV2aW91cykgewogICAgICAgICAgICAgICAgIGF1dG8mIHByZXZpb3VzRGlzcGxheVJ1biA9
IGZvcm1hdHRpbmdTdGF0ZS5pbmxpbmVSdW5zKCkubGFzdCgpOwotICAgICAgICAgICAgICAgIHBy
ZXZpb3VzRGlzcGxheVJ1bi0+ZXhwYW5kSG9yaXpvbnRhbGx5KGxvZ2ljYWxSZWN0LndpZHRoKCkp
OwotICAgICAgICAgICAgICAgIHByZXZpb3VzRGlzcGxheVJ1bi0+dGV4dENvbnRleHQoKS0+ZXhw
YW5kKHRleHRDb250ZXh0LT5sZW5ndGgpOworICAgICAgICAgICAgICAgIHByZXZpb3VzRGlzcGxh
eVJ1bi5leHBhbmRIb3Jpem9udGFsbHkobG9naWNhbFJlY3Qud2lkdGgoKSk7CisgICAgICAgICAg
ICAgICAgcHJldmlvdXNEaXNwbGF5UnVuLnRleHRDb250ZXh0KCktPmV4cGFuZChydW4tPmRpc3Bs
YXlSdW4oKS50ZXh0Q29udGV4dCgpLT5sZW5ndGgoKSk7CiAgICAgICAgICAgICB9IGVsc2UKLSAg
ICAgICAgICAgICAgICBmb3JtYXR0aW5nU3RhdGUuYWRkSW5saW5lUnVuKG1ha2VVbmlxdWU8RGlz
cGxheTo6UnVuPihsb2dpY2FsUmVjdCwgRGlzcGxheTo6UnVuOjpUZXh0Q29udGV4dCB7IHRleHRD
b250ZXh0LT5zdGFydCwgdGV4dENvbnRleHQtPmxlbmd0aCB9KSk7CisgICAgICAgICAgICAgICAg
Zm9ybWF0dGluZ1N0YXRlLmFkZElubGluZVJ1bihydW4tPmRpc3BsYXlSdW4oKSk7CiAgICAgICAg
ICAgICBjb250aW51ZTsKICAgICAgICAgfQogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsK
QEAgLTUxMiw3ICs1MTEsNyBAQCB2b2lkIElubGluZUZvcm1hdHRpbmdDb250ZXh0OjpJbmxpbmVM
YXlvdXQ6OmFsaWduUnVucyhUZXh0QWxpZ25Nb2RlIHRleHRBbGlnbiwgSQogICAgICAgICByZXR1
cm47CiAKICAgICBmb3IgKHVuc2lnbmVkIGluZGV4ID0gZmlyc3RSdW5JbmRleDsgaW5kZXggPCBp
bmxpbmVEaXNwbGF5UnVucy5zaXplKCk7ICsraW5kZXgpCi0gICAgICAgIGlubGluZURpc3BsYXlS
dW5zW2luZGV4XS0+bW92ZUhvcml6b250YWxseSgqYWRqdXN0bWVudCk7CisgICAgICAgIGlubGlu
ZURpc3BsYXlSdW5zW2luZGV4XS5tb3ZlSG9yaXpvbnRhbGx5KCphZGp1c3RtZW50KTsKIH0KIAog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5s
aW5lRm9ybWF0dGluZ0NvbnRleHRRdWlya3MuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lu
bGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHRRdWlya3MuY3BwCmluZGV4IGMx
MjNkZWU1ZDAyNGZiYzhkN2FhMzhlNzFlZjQ4MzBkNzU1YzgzNDEuLmM5YTE3OWRjZmM5YzY4OTFh
ZjFkMmZjOTEwNzdhOThlYzRmZjJhYzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0UXVpcmtzLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5n
Q29udGV4dFF1aXJrcy5jcHAKQEAgLTUyLDcgKzUyLDcgQEAgYm9vbCBJbmxpbmVGb3JtYXR0aW5n
Q29udGV4dDo6UXVpcmtzOjpsaW5lRGVzY2VudE5lZWRzQ29sbGFwc2luZyhjb25zdCBMaW5lOjpS
dW4KICAgICAgICAgaWYgKHJ1bi0+aXNMaW5lQnJlYWsoKSkKICAgICAgICAgICAgIHJldHVybiBm
YWxzZTsKICAgICAgICAgaWYgKHJ1bi0+aXNUZXh0KCkpIHsKLSAgICAgICAgICAgIGlmICghcnVu
LT50ZXh0Q29udGV4dCgpIHx8ICFydW4tPmlzVmlzdWFsbHlFbXB0eSgpKQorICAgICAgICAgICAg
aWYgKCFydW4tPmlzVmlzdWFsbHlFbXB0eSgpKQogICAgICAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nU3RhdGUuaCBi
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdT
dGF0ZS5oCmluZGV4IGYzOGQ0NTMyMzc4MmY4MTAyYTk3MGUwYTkzOWQ2YTAzN2VlZTZhZjYuLmU0
NTQ4NzY3Y2Q3N2FjNjliNWJjYzZkZDc5ODY1NTE4N2RkMGNmMWUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdTdGF0ZS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1h
dHRpbmdTdGF0ZS5oCkBAIC0zOSw3ICszOSw3IEBAIG5hbWVzcGFjZSBMYXlvdXQgewogCiAvLyBU
ZW1wCiB1c2luZyBJbmxpbmVJdGVtcyA9IFZlY3RvcjxzdGQ6OnVuaXF1ZV9wdHI8SW5saW5lSXRl
bT4+OwotdXNpbmcgSW5saW5lUnVucyA9IFZlY3RvcjxzdGQ6OnVuaXF1ZV9wdHI8RGlzcGxheTo6
UnVuPj47Cit1c2luZyBJbmxpbmVSdW5zID0gVmVjdG9yPERpc3BsYXk6OlJ1bj47CiB1c2luZyBM
aW5lQm94ZXMgPSBWZWN0b3I8TGluZUJveD47CiAvLyBJbmxpbmVGb3JtYXR0aW5nU3RhdGUgaG9s
ZHMgdGhlIHN0YXRlIGZvciBhIHBhcnRpY3VsYXIgaW5saW5lIGZvcm1hdHRpbmcgY29udGV4dCB0
cmVlLgogY2xhc3MgSW5saW5lRm9ybWF0dGluZ1N0YXRlIDogcHVibGljIEZvcm1hdHRpbmdTdGF0
ZSB7CkBAIC01Miw3ICs1Miw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGFkZElubGluZUl0ZW0oc3Rk
Ojp1bmlxdWVfcHRyPElubGluZUl0ZW0+JiYgaW5saW5lSXRlbSkgeyBtX2lubGluZUl0ZW1zLmFw
cGVuZChXVEZNb3ZlKGlubGluZUl0ZW0pKTsgfQogCiAgICAgSW5saW5lUnVucyYgaW5saW5lUnVu
cygpIHsgcmV0dXJuIG1faW5saW5lUnVuczsgfQotICAgIHZvaWQgYWRkSW5saW5lUnVuKHN0ZDo6
dW5pcXVlX3B0cjxEaXNwbGF5OjpSdW4+JiYgaW5saW5lUnVuKSB7IG1faW5saW5lUnVucy5hcHBl
bmQoV1RGTW92ZShpbmxpbmVSdW4pKTsgfQorICAgIHZvaWQgYWRkSW5saW5lUnVuKGNvbnN0IERp
c3BsYXk6OlJ1biYgaW5saW5lUnVuKSB7IG1faW5saW5lUnVucy5hcHBlbmQoaW5saW5lUnVuKTsg
fQogCiAgICAgTGluZUJveGVzJiBsaW5lQm94ZXMoKSB7IHJldHVybiBtX2xpbmVCb3hlczsgfQog
ICAgIHZvaWQgYWRkTGluZUJveChMaW5lQm94IGxpbmVCb3gpIHsgbV9saW5lQm94ZXMuYXBwZW5k
KGxpbmVCb3gpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9y
bWF0dGluZy9JbmxpbmVMaW5lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3Jt
YXR0aW5nL0lubGluZUxpbmUuY3BwCmluZGV4IGMzYTMyYzU3ZTA5NDBkMTk5NDdjYjg1YzEyNTcy
MTFlMTk5NWY4MmEuLmQzYWEzY2U4N2ZkOWIyYjE2ZTJmNDVkMWUwOTNkOTEzZTgzNWY0MzYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxp
bmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGlu
ZUxpbmUuY3BwCkBAIC0zNywxNiArMzcsOSBAQCBuYW1lc3BhY2UgTGF5b3V0IHsKIAogV1RGX01B
S0VfSVNPX0FMTE9DQVRFRF9JTVBMKExpbmUpOwogCi1MaW5lOjpSdW46OlJ1bihjb25zdCBJbmxp
bmVJdGVtJiBpbmxpbmVJdGVtLCBjb25zdCBEaXNwbGF5OjpSZWN0JiBsb2dpY2FsUmVjdCkKK0xp
bmU6OlJ1bjo6UnVuKGNvbnN0IElubGluZUl0ZW0mIGlubGluZUl0ZW0sIGNvbnN0IERpc3BsYXk6
OlJ1biYgZGlzcGxheVJ1bikKICAgICA6IG1faW5saW5lSXRlbShpbmxpbmVJdGVtKQotICAgICwg
bV9sb2dpY2FsUmVjdChsb2dpY2FsUmVjdCkKLXsKLX0KLQotTGluZTo6UnVuOjpSdW4oY29uc3Qg
SW5saW5lSXRlbSYgaW5saW5lSXRlbSwgY29uc3QgVGV4dENvbnRleHQmIHRleHRDb250ZXh0LCBj
b25zdCBEaXNwbGF5OjpSZWN0JiBsb2dpY2FsUmVjdCkKLSAgICA6IG1faW5saW5lSXRlbShpbmxp
bmVJdGVtKQotICAgICwgbV9sb2dpY2FsUmVjdChsb2dpY2FsUmVjdCkKLSAgICAsIG1fdGV4dENv
bnRleHQodGV4dENvbnRleHQpCisgICAgLCBtX2Rpc3BsYXlSdW4oZGlzcGxheVJ1bikKIHsKIH0K
IApAQCAtMTA0LDcgKzk3LDcgQEAgYm9vbCBMaW5lOjppc1Zpc3VhbGx5RW1wdHkoKSBjb25zdAog
ICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAg
ICAgICB9Ci0gICAgICAgIGlmICghcnVuLT50ZXh0Q29udGV4dCgpIHx8ICFydW4tPmlzVmlzdWFs
bHlFbXB0eSgpKQorICAgICAgICBpZiAoIXJ1bi0+aXNUZXh0KCkgfHwgIXJ1bi0+aXNWaXN1YWxs
eUVtcHR5KCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogICAgIHJldHVybiB0
cnVlOwpAQCAtMjIzLDcgKzIxNiw3IEBAIHZvaWQgTGluZTo6YXBwZW5kKGNvbnN0IElubGluZUl0
ZW0mIGlubGluZUl0ZW0sIExheW91dFVuaXQgbG9naWNhbFdpZHRoKQogCiB2b2lkIExpbmU6OmFw
cGVuZE5vbkJyZWFrYWJsZVNwYWNlKGNvbnN0IElubGluZUl0ZW0mIGlubGluZUl0ZW0sIGNvbnN0
IERpc3BsYXk6OlJlY3QmIGxvZ2ljYWxSZWN0KQogewotICAgIG1fcnVuTGlzdC5hcHBlbmQobWFr
ZVVuaXF1ZTxSdW4+KGlubGluZUl0ZW0sIGxvZ2ljYWxSZWN0KSk7CisgICAgbV9ydW5MaXN0LmFw
cGVuZChtYWtlVW5pcXVlPFJ1bj4oaW5saW5lSXRlbSwgRGlzcGxheTo6UnVuIHsgbG9naWNhbFJl
Y3QgfSkpOwogICAgIG1fbGluZUJveC5leHBhbmRIb3Jpem9udGFsbHkobG9naWNhbFJlY3Qud2lk
dGgoKSk7CiB9CiAKQEAgLTI4Niw4ICsyNzksNyBAQCB2b2lkIExpbmU6OmFwcGVuZFRleHRDb250
ZW50KGNvbnN0IElubGluZVRleHRJdGVtJiBpbmxpbmVJdGVtLCBMYXlvdXRVbml0IGxvZ2ljYQog
ICAgICAgICBhZGp1c3RCYXNlbGluZUFuZExpbmVIZWlnaHQoaW5saW5lSXRlbSwgcnVuSGVpZ2h0
KTsKICAgICB9CiAKLSAgICBhdXRvIHRleHRDb250ZXh0ID0gUnVuOjpUZXh0Q29udGV4dCB7IGlu
bGluZUl0ZW0uc3RhcnQoKSwgaW5saW5lSXRlbS5pc0NvbGxhcHNlZCgpID8gMSA6IGlubGluZUl0
ZW0ubGVuZ3RoKCkgfTsKLSAgICBhdXRvIGxpbmVJdGVtID0gbWFrZVVuaXF1ZTxSdW4+KGlubGlu
ZUl0ZW0sIHRleHRDb250ZXh0LCBsb2dpY2FsUmVjdCk7CisgICAgYXV0byBsaW5lSXRlbSA9IG1h
a2VVbmlxdWU8UnVuPihpbmxpbmVJdGVtLCBEaXNwbGF5OjpSdW4geyBsb2dpY2FsUmVjdCwgRGlz
cGxheTo6UnVuOjpUZXh0Q29udGV4dCB7IGlubGluZUl0ZW0uc3RhcnQoKSwgaW5saW5lSXRlbS5p
c0NvbGxhcHNlZCgpID8gMSA6IGlubGluZUl0ZW0ubGVuZ3RoKCkgfSB9KTsKICAgICBhdXRvIGlz
VmlzdWFsbHlFbXB0eSA9IHdpbGxDb2xsYXBzZUNvbXBsZXRlbHkoKTsKICAgICBpZiAoaXNWaXN1
YWxseUVtcHR5KQogICAgICAgICBsaW5lSXRlbS0+c2V0VmlzdWFsbHlJc0VtcHR5KCk7CkBAIC0z
MTMsNyArMzA1LDcgQEAgdm9pZCBMaW5lOjphcHBlbmROb25SZXBsYWNlZElubGluZUJveChjb25z
dCBJbmxpbmVJdGVtJiBpbmxpbmVJdGVtLCBMYXlvdXRVbml0IGwKICAgICAgICAgbG9naWNhbFJl
Y3Quc2V0SGVpZ2h0KGlubGluZUl0ZW1Db250ZW50SGVpZ2h0KGlubGluZUl0ZW0pKTsKICAgICB9
CiAKLSAgICBtX3J1bkxpc3QuYXBwZW5kKG1ha2VVbmlxdWU8UnVuPihpbmxpbmVJdGVtLCBsb2dp
Y2FsUmVjdCkpOworICAgIG1fcnVuTGlzdC5hcHBlbmQobWFrZVVuaXF1ZTxSdW4+KGlubGluZUl0
ZW0sIERpc3BsYXk6OlJ1biB7IGxvZ2ljYWxSZWN0IH0pKTsKICAgICBtX2xpbmVCb3guZXhwYW5k
SG9yaXpvbnRhbGx5KGxvZ2ljYWxXaWR0aCArIGhvcml6b250YWxNYXJnaW4uc3RhcnQgKyBob3Jp
em9udGFsTWFyZ2luLmVuZCk7CiAgICAgbV90cmltbWFibGVDb250ZW50LmNsZWFyKCk7CiB9CkBA
IC0zMzMsNyArMzI1LDcgQEAgdm9pZCBMaW5lOjphcHBlbmRIYXJkTGluZUJyZWFrKGNvbnN0IElu
bGluZUl0ZW0mIGlubGluZUl0ZW0pCiAgICAgICAgIGFkanVzdEJhc2VsaW5lQW5kTGluZUhlaWdo
dChpbmxpbmVJdGVtLCB7IH0pOwogICAgICAgICBsb2dpY2FsUmVjdC5zZXRIZWlnaHQobG9naWNh
bEhlaWdodCgpKTsKICAgICB9Ci0gICAgbV9ydW5MaXN0LmFwcGVuZChtYWtlVW5pcXVlPFJ1bj4o
aW5saW5lSXRlbSwgbG9naWNhbFJlY3QpKTsKKyAgICBtX3J1bkxpc3QuYXBwZW5kKG1ha2VVbmlx
dWU8UnVuPihpbmxpbmVJdGVtLCBEaXNwbGF5OjpSdW4geyBsb2dpY2FsUmVjdCB9KSk7CiB9CiAK
IHZvaWQgTGluZTo6YWRqdXN0QmFzZWxpbmVBbmRMaW5lSGVpZ2h0KGNvbnN0IElubGluZUl0ZW0m
IGlubGluZUl0ZW0sIExheW91dFVuaXQgcnVuSGVpZ2h0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZS5oIGIvU291cmNlL1dlYkNv
cmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZS5oCmluZGV4IDI1ZmUwNmIzNjc3
MTA1YzU4ZWEzMTMzNTI4ZWIyZGM5YTMxZDgyMTIuLjIyNWQ0YWViZTA0NmJiMTI0YmE0YzViNmZl
YTc3NzI1NzIzZTQ4ZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVm
b3JtYXR0aW5nL0lubGluZUxpbmUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5l
Zm9ybWF0dGluZy9JbmxpbmVMaW5lLmgKQEAgLTY2LDE2ICs2NiwxMiBAQCBwdWJsaWM6CiAKICAg
ICBzdHJ1Y3QgUnVuIHsKICAgICAgICAgV1RGX01BS0VfU1RSVUNUX0ZBU1RfQUxMT0NBVEVEOwot
ICAgICAgICBzdHJ1Y3QgVGV4dENvbnRleHQgewotICAgICAgICAgICAgdW5zaWduZWQgc3RhcnQg
eyAwIH07Ci0gICAgICAgICAgICB1bnNpZ25lZCBsZW5ndGggeyAwIH07Ci0gICAgICAgIH07Ci0g
ICAgICAgIFJ1bihjb25zdCBJbmxpbmVJdGVtJiwgY29uc3QgRGlzcGxheTo6UmVjdCYpOwotICAg
ICAgICBSdW4oY29uc3QgSW5saW5lSXRlbSYsIGNvbnN0IFRleHRDb250ZXh0JiwgY29uc3QgRGlz
cGxheTo6UmVjdCYpOworICAgICAgICBSdW4oY29uc3QgSW5saW5lSXRlbSYsIGNvbnN0IERpc3Bs
YXk6OlJ1biYpOwogCisgICAgICAgIGNvbnN0IERpc3BsYXk6OlJ1biYgZGlzcGxheVJ1bigpIGNv
bnN0IHsgcmV0dXJuIG1fZGlzcGxheVJ1bjsgfQogICAgICAgICBjb25zdCBCb3gmIGxheW91dEJv
eCgpIGNvbnN0IHsgcmV0dXJuIG1faW5saW5lSXRlbS5sYXlvdXRCb3goKTsgfQotICAgICAgICBj
b25zdCBEaXNwbGF5OjpSZWN0JiBsb2dpY2FsUmVjdCgpIGNvbnN0IHsgcmV0dXJuIG1fbG9naWNh
bFJlY3Q7IH0KLSAgICAgICAgY29uc3QgT3B0aW9uYWw8VGV4dENvbnRleHQ+IHRleHRDb250ZXh0
KCkgY29uc3QgeyByZXR1cm4gbV90ZXh0Q29udGV4dDsgfQorCisgICAgICAgIGNvbnN0IERpc3Bs
YXk6OlJlY3QmIGxvZ2ljYWxSZWN0KCkgY29uc3QgeyByZXR1cm4gbV9kaXNwbGF5UnVuLmxvZ2lj
YWxSZWN0KCk7IH0KIAogICAgICAgICBib29sIGlzVGV4dCgpIGNvbnN0IHsgcmV0dXJuIG1faW5s
aW5lSXRlbS5pc1RleHQoKTsgfQogICAgICAgICBib29sIGlzQm94KCkgY29uc3QgeyByZXR1cm4g
bV9pbmxpbmVJdGVtLmlzQm94KCk7IH0KQEAgLTg5LDE1ICs4NSwxNCBAQCBwdWJsaWM6CiAKICAg
ICBwcml2YXRlOgogICAgICAgICBmcmllbmQgY2xhc3MgTGluZTsKLSAgICAgICAgdm9pZCBhZGp1
c3RMb2dpY2FsVG9wKExheW91dFVuaXQgbG9naWNhbFRvcCkgeyBtX2xvZ2ljYWxSZWN0LnNldFRv
cChsb2dpY2FsVG9wKTsgfQotICAgICAgICB2b2lkIG1vdmVWZXJ0aWNhbGx5KExheW91dFVuaXQg
b2Zmc2V0KSB7IG1fbG9naWNhbFJlY3QubW92ZVZlcnRpY2FsbHkob2Zmc2V0KTsgfQotICAgICAg
ICB2b2lkIG1vdmVIb3Jpem9udGFsbHkoTGF5b3V0VW5pdCBvZmZzZXQpIHsgbV9sb2dpY2FsUmVj
dC5tb3ZlSG9yaXpvbnRhbGx5KG9mZnNldCk7IH0KKyAgICAgICAgdm9pZCBhZGp1c3RMb2dpY2Fs
VG9wKExheW91dFVuaXQgbG9naWNhbFRvcCkgeyBtX2Rpc3BsYXlSdW4uc2V0TG9naWNhbFRvcChs
b2dpY2FsVG9wKTsgfQorICAgICAgICB2b2lkIG1vdmVWZXJ0aWNhbGx5KExheW91dFVuaXQgb2Zm
c2V0KSB7IG1fZGlzcGxheVJ1bi5tb3ZlVmVydGljYWxseShvZmZzZXQpOyB9CisgICAgICAgIHZv
aWQgbW92ZUhvcml6b250YWxseShMYXlvdXRVbml0IG9mZnNldCkgeyBtX2Rpc3BsYXlSdW4ubW92
ZUhvcml6b250YWxseShvZmZzZXQpOyB9CiAgICAgICAgIHZvaWQgc2V0VmlzdWFsbHlJc0VtcHR5
KCkgeyBtX2lzVmlzdWFsbHlFbXB0eSA9IHRydWU7IH0KIAogICAgICAgICBjb25zdCBJbmxpbmVJ
dGVtJiBtX2lubGluZUl0ZW07Ci0gICAgICAgIERpc3BsYXk6OlJlY3QgbV9sb2dpY2FsUmVjdDsK
KyAgICAgICAgRGlzcGxheTo6UnVuIG1fZGlzcGxheVJ1bjsKICAgICAgICAgYm9vbCBtX2lzVmlz
dWFsbHlFbXB0eSB7IGZhbHNlIH07Ci0gICAgICAgIE9wdGlvbmFsPFRleHRDb250ZXh0PiBtX3Rl
eHRDb250ZXh0OwogICAgIH07CiAgICAgdXNpbmcgUnVuTGlzdCA9IFZlY3RvcjxzdGQ6OnVuaXF1
ZV9wdHI8UnVuPj47CiAgICAgUnVuTGlzdCBjbG9zZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0VHJlZUJ1aWxkZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0VHJlZUJ1aWxkZXIuY3BwCmluZGV4IGJkYjRi
NGYwYjY1N2NhZjRiZjExYmQ1NDM4YjhmMGUyYjhjM2FkODYuLjcxMDIyZThhNDNlMDc1OTIyYjNj
YmRlYWU1OWUxYWRhYmIxNjI4YWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9s
YXlvdXR0cmVlL0xheW91dFRyZWVCdWlsZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvbGF5b3V0dHJlZS9MYXlvdXRUcmVlQnVpbGRlci5jcHAKQEAgLTI1MywxMyArMjUzLDEzIEBA
IHN0YXRpYyB2b2lkIG91dHB1dElubGluZVJ1bnMoVGV4dFN0cmVhbSYgc3RyZWFtLCBjb25zdCBM
YXlvdXRTdGF0ZSYgbGF5b3V0U3RhdGUsCiAgICAgICAgIHdoaWxlICgrK3ByaW50ZWRDaGFyYWN0
ZXJzIDw9IGRlcHRoICogMikKICAgICAgICAgICAgIHN0cmVhbSA8PCAiICI7CiAgICAgICAgIHN0
cmVhbSA8PCAiICAiOwotICAgICAgICBpZiAoaW5saW5lUnVuLT50ZXh0Q29udGV4dCgpKQorICAg
ICAgICBpZiAoaW5saW5lUnVuLnRleHRDb250ZXh0KCkpCiAgICAgICAgICAgICBzdHJlYW0gPDwg
ImlubGluZSB0ZXh0IGJveCI7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIHN0cmVhbSA8PCAi
aW5saW5lIGJveCI7Ci0gICAgICAgIHN0cmVhbSA8PCAiIGF0ICgiIDw8IGlubGluZVJ1bi0+bG9n
aWNhbExlZnQoKSA8PCAiLCIgPDwgaW5saW5lUnVuLT5sb2dpY2FsVG9wKCkgPDwgIikgc2l6ZSAi
IDw8IGlubGluZVJ1bi0+bG9naWNhbFdpZHRoKCkgPDwgIngiIDw8IGlubGluZVJ1bi0+bG9naWNh
bEhlaWdodCgpOwotICAgICAgICBpZiAoaW5saW5lUnVuLT50ZXh0Q29udGV4dCgpKQotICAgICAg
ICAgICAgc3RyZWFtIDw8ICIgcnVuKCIgPDwgaW5saW5lUnVuLT50ZXh0Q29udGV4dCgpLT5zdGFy
dCgpIDw8ICIsICIgPDwgaW5saW5lUnVuLT50ZXh0Q29udGV4dCgpLT5lbmQoKSA8PCAiKSI7Cisg
ICAgICAgIHN0cmVhbSA8PCAiIGF0ICgiIDw8IGlubGluZVJ1bi5sb2dpY2FsTGVmdCgpIDw8ICIs
IiA8PCBpbmxpbmVSdW4ubG9naWNhbFRvcCgpIDw8ICIpIHNpemUgIiA8PCBpbmxpbmVSdW4ubG9n
aWNhbFdpZHRoKCkgPDwgIngiIDw8IGlubGluZVJ1bi5sb2dpY2FsSGVpZ2h0KCk7CisgICAgICAg
IGlmIChpbmxpbmVSdW4udGV4dENvbnRleHQoKSkKKyAgICAgICAgICAgIHN0cmVhbSA8PCAiIHJ1
bigiIDw8IGlubGluZVJ1bi50ZXh0Q29udGV4dCgpLT5zdGFydCgpIDw8ICIsICIgPDwgaW5saW5l
UnVuLnRleHRDb250ZXh0KCktPmVuZCgpIDw8ICIpIjsKICAgICAgICAgc3RyZWFtLm5leHRMaW5l
KCk7CiAgICAgfQogfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>