<?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>228069</bug_id>
          
          <creation_ts>2021-07-18 20:16:56 -0700</creation_ts>
          <short_desc>[LFC][Integration] Use the line runs to check for legacy integral positioning</short_desc>
          <delta_ts>2021-08-26 20:09:05 -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>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>1777800</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2021-07-18 20:16:56 -0700</bug_when>
    <thetext>and not LineBox&apos;s non-rootinlineboxes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777801</commentid>
    <comment_count>1</comment_count>
      <attachid>433766</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-07-18 20:21:54 -0700</bug_when>
    <thetext>Created attachment 433766
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1779394</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-07-25 20:17:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/81087857&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1787069</commentid>
    <comment_count>3</comment_count>
      <attachid>436367</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-08-24 20:04:37 -0700</bug_when>
    <thetext>Created attachment 436367
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1787279</commentid>
    <comment_count>4</comment_count>
      <attachid>436416</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-08-25 13:32:26 -0700</bug_when>
    <thetext>Created attachment 436416
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1787609</commentid>
    <comment_count>5</comment_count>
      <attachid>436513</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-08-26 08:53:08 -0700</bug_when>
    <thetext>Created attachment 436513
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1787855</commentid>
    <comment_count>6</comment_count>
      <attachid>436582</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-08-26 16:00:53 -0700</bug_when>
    <thetext>Created attachment 436582
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1787934</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-08-26 20:09:03 -0700</bug_when>
    <thetext>Committed r281680 (241030@main): &lt;https://commits.webkit.org/241030@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 436582.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433766</attachid>
            <date>2021-07-18 20:21:54 -0700</date>
            <delta_ts>2021-08-24 20:04:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-228069-20210718202153.patch</filename>
            <type>text/plain</type>
            <size>9733</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwMDE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTc0NzBhMzYwZTEyNTEz
MmFiOWM3ZjcwMjViZjQwNGE3NzY2NGI3OC4uMzgzMjIyM2VmOGFlNmNjYzRjZTQ0ZGRiOWIzM2Mx
Zjg2YzYxNjMzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDIxLTA3LTE4ICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtJbnRlZ3JhdGlvbl0g
VXNlIHRoZSBsaW5lIHJ1bnMgdG8gY2hlY2sgZm9yIGxlZ2FjeSBpbnRlZ3JhbCBwb3NpdGlvbmlu
ZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI4MDY5
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm93IHRo
YXQgdGhlIGxpbmUgcnVucyBsaXN0IGhhcyBhbGwgdGhlIGlubGluZSBib3hlcyAoaW5jbHVkaW5n
IHNwYW5uaW5nIGlubGluZSBib3hlcyksIHdlCisgICAgICAgIGNhbiB1c2UgdGhpcyBsaXN0IHRv
IGNoZWNrIGZvciBsZWdhY3kgaW50ZWdyYWwgcG9zaXRpb25pbmcgYW5kIG5vdCBkaXJlY3RseSBp
dGVyYXRpbmcgdGhlIExpbmVCb3gncyBub24tcm9vdGlubGluZWJveCBsaXN0LgorICAgICAgICBX
aGlsZSB0aGlzIG1heSBiZSBhIGJpdCBtb3JlIGV4cGVuc2l2ZSwgdGhlIGxlZ2FjeSBwb3NpdGlv
bmluZyBpcyB0ZW1wb3JhcnkgYW5kIHdpbGwgYmUgcmVtb3ZlZCBzaG9ydGx5LgorCisgICAgICAg
IFRoaXMgaXMgaW4gcHJlcGFyYXRpb24gZm9yIGtlZXBpbmcgdGhlIGlubGluZSBib3ggc3RydWN0
dXJlIHByaXZhdGUgdG8gdGhlIGxheW91dCBjb2RlLgorCisgICAgICAgICogbGF5b3V0L2ludGVn
cmF0aW9uL0xheW91dEludGVncmF0aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6TGF5b3V0SW50ZWdyYXRpb246OklubGluZUNvbnRlbnRCdWlsZGVyOjpidWls
ZCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXRJbnRlZ3JhdGlvbjo6SW5saW5lQ29u
dGVudEJ1aWxkZXI6OmNvbXB1dGVMaW5lTGV2ZWxWaXN1YWxBZGp1c3RtZW50c0ZvclJ1bnMgY29u
c3QpOgorICAgICAgICAqIGxheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbklubGlu
ZUNvbnRlbnRCdWlsZGVyLmg6CisKIDIwMjEtMDctMTggIEFsYW4gQnVqdGFzICA8emFsYW5AYXBw
bGUuY29tPgogCiAgICAgICAgIFtJRkNdW0ludGVncmF0aW9uXSBUaGUgcm9vdCBpbmxpbmVib3gn
cyBzdHlsZSBpcyBhbHdheXMgdGhlIElGQydzIHJvb3Qgc3R5bGUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRl
bnRCdWlsZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJ
bnRlZ3JhdGlvbklubGluZUNvbnRlbnRCdWlsZGVyLmNwcAppbmRleCBiZWExZTg3M2Q0MzI5Mjdm
MTVhYTU5YzZiNjM5YWMwZThmMjQ3ZmNkLi5hMmUxYjljZmFhZTMzZDQ2MmRhMWEwZDIyMDY3ZDk2
NTk0N2RkMWYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24v
TGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250ZW50QnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uSW5saW5lQ29udGVudEJ1
aWxkZXIuY3BwCkBAIC0xNjUsNTIgKzE2NSw2NSBAQCBJbmxpbmVDb250ZW50QnVpbGRlcjo6SW5s
aW5lQ29udGVudEJ1aWxkZXIoY29uc3QgTGF5b3V0OjpMYXlvdXRTdGF0ZSYgbGF5b3V0U3RhdAog
CiB2b2lkIElubGluZUNvbnRlbnRCdWlsZGVyOjpidWlsZChjb25zdCBMYXlvdXQ6OklubGluZUZv
cm1hdHRpbmdTdGF0ZSYgaW5saW5lRm9ybWF0dGluZ1N0YXRlLCBJbmxpbmVDb250ZW50JiBpbmxp
bmVDb250ZW50KSBjb25zdAogewotICAgIGF1dG8gbGluZUxldmVsVmlzdWFsQWRqdXN0bWVudHNG
b3JSdW5zID0gY29tcHV0ZUxpbmVMZXZlbFZpc3VhbEFkanVzdG1lbnRzRm9yUnVucyhpbmxpbmVG
b3JtYXR0aW5nU3RhdGUpOworICAgIGF1dG8gbGluZUxldmVsVmlzdWFsQWRqdXN0bWVudHNGb3JS
dW5zID0gY29tcHV0ZUxpbmVMZXZlbFZpc3VhbEFkanVzdG1lbnRzRm9yUnVucyhpbmxpbmVGb3Jt
YXR0aW5nU3RhdGUubGluZXMoKSwgaW5saW5lRm9ybWF0dGluZ1N0YXRlLmxpbmVSdW5zKCkpOwog
ICAgIGNyZWF0ZURpc3BsYXlMaW5lUnVucyhpbmxpbmVGb3JtYXR0aW5nU3RhdGUubGluZXMoKSwg
aW5saW5lRm9ybWF0dGluZ1N0YXRlLmxpbmVSdW5zKCksIGlubGluZUNvbnRlbnQsIGxpbmVMZXZl
bFZpc3VhbEFkanVzdG1lbnRzRm9yUnVucyk7CiAgICAgY3JlYXRlRGlzcGxheUxpbmVzKGlubGlu
ZUZvcm1hdHRpbmdTdGF0ZS5saW5lcygpLCBpbmxpbmVDb250ZW50LCBsaW5lTGV2ZWxWaXN1YWxB
ZGp1c3RtZW50c0ZvclJ1bnMpOwogfQogCi1JbmxpbmVDb250ZW50QnVpbGRlcjo6TGluZUxldmVs
VmlzdWFsQWRqdXN0bWVudHNGb3JSdW5zTGlzdCBJbmxpbmVDb250ZW50QnVpbGRlcjo6Y29tcHV0
ZUxpbmVMZXZlbFZpc3VhbEFkanVzdG1lbnRzRm9yUnVucyhjb25zdCBMYXlvdXQ6OklubGluZUZv
cm1hdHRpbmdTdGF0ZSYgaW5saW5lRm9ybWF0dGluZ1N0YXRlKSBjb25zdAorSW5saW5lQ29udGVu
dEJ1aWxkZXI6OkxpbmVMZXZlbFZpc3VhbEFkanVzdG1lbnRzRm9yUnVuc0xpc3QgSW5saW5lQ29u
dGVudEJ1aWxkZXI6OmNvbXB1dGVMaW5lTGV2ZWxWaXN1YWxBZGp1c3RtZW50c0ZvclJ1bnMoY29u
c3QgTGF5b3V0OjpJbmxpbmVMaW5lcyYgbGluZXMsIGNvbnN0IExheW91dDo6SW5saW5lTGluZVJ1
bnMmIGxpbmVSdW5zKSBjb25zdAogewotICAgIGF1dG8mIGxpbmVzID0gaW5saW5lRm9ybWF0dGlu
Z1N0YXRlLmxpbmVzKCk7CisgICAgYXV0byBsaW5lTGV2ZWxWaXN1YWxBZGp1c3RtZW50c0ZvclJ1
bnMgPSBMaW5lTGV2ZWxWaXN1YWxBZGp1c3RtZW50c0ZvclJ1bnNMaXN0IHsgbGluZXMuc2l6ZSgp
IH07CiAgICAgYXV0byYgcm9vdFN0eWxlID0gbV9sYXlvdXRTdGF0ZS5yb290KCkuc3R5bGUoKTsK
LSAgICBhdXRvIHNob3VsZENoZWNrSG9yaXpvbnRhbE92ZXJmbG93Rm9yQ29udGVudFJlcGxhY2Vt
ZW50ID0gcm9vdFN0eWxlLm92ZXJmbG93WCgpID09IE92ZXJmbG93OjpIaWRkZW4gJiYgcm9vdFN0
eWxlLnRleHRPdmVyZmxvdygpICE9IFRleHRPdmVyZmxvdzo6Q2xpcDsKIAotICAgIGF1dG8gbGlu
ZUxldmVsVmlzdWFsQWRqdXN0bWVudHNGb3JSdW5zID0gTGluZUxldmVsVmlzdWFsQWRqdXN0bWVu
dHNGb3JSdW5zTGlzdCB7IGxpbmVzLnNpemUoKSB9OwotICAgIGZvciAoc2l6ZV90IGxpbmVJbmRl
eCA9IDA7IGxpbmVJbmRleCA8IGxpbmVzLnNpemUoKTsgKytsaW5lSW5kZXgpIHsKLSAgICAgICAg
YXV0byBsaW5lTmVlZHNMZWdhY3lJbnRlZ3JhbFZlcnRpY2FsUG9zaXRpb24gPSBbJl0geworICAg
IGF1dG8gaW5saW5lTGV2ZWxCb3hQcmV2ZW50c0ludGVncmFsUG9zaXRpb24gPSBmYWxzZTsKKyAg
ICBzaXplX3QgbGluZUluZGV4VG9DaGVjayA9IDA7CisgICAgZm9yIChhdXRvJiBsaW5lUnVuIDog
bGluZVJ1bnMpIHsKKyAgICAgICAgYXV0byBsaW5lSW5kZXggPSBsaW5lUnVuLmxpbmVJbmRleCgp
OworICAgICAgICBhdXRvJiBsYXlvdXRCb3ggPSBsaW5lUnVuLmxheW91dEJveCgpOworCisgICAg
ICAgIGlmIChsaW5lSW5kZXhUb0NoZWNrICE9IGxpbmVJbmRleCkgeworICAgICAgICAgICAgbGlu
ZUxldmVsVmlzdWFsQWRqdXN0bWVudHNGb3JSdW5zW2xpbmVJbmRleFRvQ2hlY2tdLm5lZWRzSW50
ZWdyYWxQb3NpdGlvbiA9ICFpbmxpbmVMZXZlbEJveFByZXZlbnRzSW50ZWdyYWxQb3NpdGlvbjsK
KyAgICAgICAgICAgIGxpbmVJbmRleFRvQ2hlY2sgPSBsaW5lSW5kZXg7CisgICAgICAgICAgICBp
bmxpbmVMZXZlbEJveFByZXZlbnRzSW50ZWdyYWxQb3NpdGlvbiA9IGZhbHNlOworICAgICAgICB9
CisKKyAgICAgICAgaWYgKCFsYXlvdXRCb3guaXNJbmxpbmVMZXZlbEJveCgpIHx8IGlubGluZUxl
dmVsQm94UHJldmVudHNJbnRlZ3JhbFBvc2l0aW9uKQorICAgICAgICAgICAgY29udGludWU7CisK
KyAgICAgICAgYXV0byBpbmxpbmVMZXZlbEJveFByZXZlbnRzTGVnYWN5SW50ZWdyYWxWZXJ0aWNh
bFBvc2l0aW9uID0gWyZdIHsKKyAgICAgICAgICAgIEFTU0VSVChsYXlvdXRCb3guaXNJbmxpbmVM
ZXZlbEJveCgpKTsKICAgICAgICAgICAgIC8vIExlZ2FjeSBpbmxpbmUgdHJlZSBpbnRlZ3JhbCBy
b3VuZHMgdGhlIHZlcnRpY2FsIHBvc2l0aW9uIGZvciBjZXJ0YWluIGNvbnRlbnQgKHNlZSBMZWdh
Y3lJbmxpbmVGbG93Qm94OjpwbGFjZUJveGVzSW5CbG9ja0RpcmVjdGlvbiBhbmQgOjphZGRUb0xp
bmUpLgotICAgICAgICAgICAgYXV0byYgbm9uUm9vdElubGluZUxldmVsQm94TGlzdCA9IGlubGlu
ZUZvcm1hdHRpbmdTdGF0ZS5saW5lQm94ZXMoKVtsaW5lSW5kZXhdLm5vblJvb3RJbmxpbmVMZXZl
bEJveGVzKCk7Ci0gICAgICAgICAgICBpZiAobm9uUm9vdElubGluZUxldmVsQm94TGlzdC5pc0Vt
cHR5KCkpIHsKLSAgICAgICAgICAgICAgICAvLyBUaGlzIGlzIHRleHQgY29udGVudCBvbmx5IHdp
dGggcm9vdCBpbmxpbmUgYm94LgorICAgICAgICAgICAgLy8gU2VlIHNob3VsZENsZWFyRGVzY2Vu
ZGFudHNIYXZlU2FtZUxpbmVIZWlnaHRBbmRCYXNlbGluZSBpbiBMZWdhY3lJbmxpbmVGbG93Qm94
OjphZGRUb0xpbmUuCisgICAgICAgICAgICBhdXRvIGNvbnRlbnRQcmV2ZW50c0ludGVncmFsU25h
cHBpbmcgPSBsYXlvdXRCb3guaXNBdG9taWNJbmxpbmVMZXZlbEJveCgpIHx8IChsYXlvdXRCb3gu
aXNMaW5lQnJlYWtCb3goKSAmJiAhbV9sYXlvdXRTdGF0ZS5pblN0YW5kYXJkc01vZGUoKSk7Cisg
ICAgICAgICAgICBpZiAoY29udGVudFByZXZlbnRzSW50ZWdyYWxTbmFwcGluZykKICAgICAgICAg
ICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGZvciAoYXV0
byYgaW5saW5lTGV2ZWxCb3ggOiBub25Sb290SW5saW5lTGV2ZWxCb3hMaXN0KSB7Ci0gICAgICAg
ICAgICAgICAgLy8gU2VlIHNob3VsZENsZWFyRGVzY2VuZGFudHNIYXZlU2FtZUxpbmVIZWlnaHRB
bmRCYXNlbGluZSBpbiBMZWdhY3lJbmxpbmVGbG93Qm94OjphZGRUb0xpbmUuCi0gICAgICAgICAg
ICAgICAgYXV0byBjb250ZW50UHJldmVudHNJbnRlZ3JhbFNuYXBwaW5nID0gaW5saW5lTGV2ZWxC
b3guaXNBdG9taWNJbmxpbmVMZXZlbEJveCgpIHx8IChpbmxpbmVMZXZlbEJveC5pc0xpbmVCcmVh
a0JveCgpICYmICFtX2xheW91dFN0YXRlLmluU3RhbmRhcmRzTW9kZSgpKTsKLSAgICAgICAgICAg
ICAgICBpZiAoY29udGVudFByZXZlbnRzSW50ZWdyYWxTbmFwcGluZykKLSAgICAgICAgICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgICAgICAgICAgICAgYXV0byYgaW5saW5lTGV2ZWxC
b3hTdHlsZSA9IGlubGluZUxldmVsQm94LnN0eWxlKCk7Ci0gICAgICAgICAgICAgICAgYXV0byBz
dHlsZVByZXZlbnRzSW50ZWdyYWxTbmFwcGluZyA9IHJvb3RTdHlsZS5saW5lSGVpZ2h0KCkgIT0g
aW5saW5lTGV2ZWxCb3hTdHlsZS5saW5lSGVpZ2h0KCkgfHwgaW5saW5lTGV2ZWxCb3hTdHlsZS52
ZXJ0aWNhbEFsaWduKCkgIT0gVmVydGljYWxBbGlnbjo6QmFzZWxpbmU7Ci0gICAgICAgICAgICAg
ICAgaWYgKHN0eWxlUHJldmVudHNJbnRlZ3JhbFNuYXBwaW5nKQotICAgICAgICAgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7Ci0KLSAgICAgICAgICAgICAgICBhdXRvJiByb290Rm9udE1ldHJpY3Mg
PSByb290U3R5bGUuZm9udENhc2NhZGUoKS5mb250TWV0cmljcygpOwotICAgICAgICAgICAgICAg
IGF1dG8mIGlubGluZUxldmVsQm94Rm9udE1ldHJpY3MgPSBpbmxpbmVMZXZlbEJveFN0eWxlLmZv
bnRDYXNjYWRlKCkuZm9udE1ldHJpY3MoKTsKLSAgICAgICAgICAgICAgICBhdXRvIGZvbnRQcmV2
ZW50c0ludGVncmFsU25hcHBpbmcgPSAhcm9vdEZvbnRNZXRyaWNzLmhhc0lkZW50aWNhbEFzY2Vu
dERlc2NlbnRBbmRMaW5lR2FwKGlubGluZUxldmVsQm94Rm9udE1ldHJpY3MpOwotICAgICAgICAg
ICAgICAgIGlmIChmb250UHJldmVudHNJbnRlZ3JhbFNuYXBwaW5nKQotICAgICAgICAgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICByZXR1cm4gdHJ1
ZTsKKworICAgICAgICAgICAgYXV0byYgaW5saW5lTGV2ZWxCb3hTdHlsZSA9IGxheW91dEJveC5z
dHlsZSgpOworICAgICAgICAgICAgYXV0byBzdHlsZVByZXZlbnRzSW50ZWdyYWxTbmFwcGluZyA9
IHJvb3RTdHlsZS5saW5lSGVpZ2h0KCkgIT0gaW5saW5lTGV2ZWxCb3hTdHlsZS5saW5lSGVpZ2h0
KCkgfHwgaW5saW5lTGV2ZWxCb3hTdHlsZS52ZXJ0aWNhbEFsaWduKCkgIT0gVmVydGljYWxBbGln
bjo6QmFzZWxpbmU7CisgICAgICAgICAgICBpZiAoc3R5bGVQcmV2ZW50c0ludGVncmFsU25hcHBp
bmcpCisgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICAgICAgICAgIGF1dG8mIHJv
b3RGb250TWV0cmljcyA9IHJvb3RTdHlsZS5mb250Q2FzY2FkZSgpLmZvbnRNZXRyaWNzKCk7Cisg
ICAgICAgICAgICBhdXRvJiBpbmxpbmVMZXZlbEJveEZvbnRNZXRyaWNzID0gaW5saW5lTGV2ZWxC
b3hTdHlsZS5mb250Q2FzY2FkZSgpLmZvbnRNZXRyaWNzKCk7CisgICAgICAgICAgICBhdXRvIGZv
bnRQcmV2ZW50c0ludGVncmFsU25hcHBpbmcgPSAhcm9vdEZvbnRNZXRyaWNzLmhhc0lkZW50aWNh
bEFzY2VudERlc2NlbnRBbmRMaW5lR2FwKGlubGluZUxldmVsQm94Rm9udE1ldHJpY3MpOworICAg
ICAgICAgICAgaWYgKGZvbnRQcmV2ZW50c0ludGVncmFsU25hcHBpbmcpCisgICAgICAgICAgICAg
ICAgcmV0dXJuIHRydWU7CisKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgfTsK
LSAgICAgICAgbGluZUxldmVsVmlzdWFsQWRqdXN0bWVudHNGb3JSdW5zW2xpbmVJbmRleF0ubmVl
ZHNJbnRlZ3JhbFBvc2l0aW9uID0gbGluZU5lZWRzTGVnYWN5SW50ZWdyYWxWZXJ0aWNhbFBvc2l0
aW9uKCk7Ci0gICAgICAgIGlmIChzaG91bGRDaGVja0hvcml6b250YWxPdmVyZmxvd0ZvckNvbnRl
bnRSZXBsYWNlbWVudCkgewotICAgICAgICAgICAgYXV0byYgbGluZSA9IGxpbmVzW2xpbmVJbmRl
eF07Ci0gICAgICAgICAgICBhdXRvIGxpbmVCb3hMb2dpY2FsV2lkdGggPSBsaW5lLmxpbmVCb3hM
b2dpY2FsUmVjdCgpLndpZHRoKCk7Ci0gICAgICAgICAgICBhdXRvIG92ZXJmbG93V2lkdGggPSBs
aW5lT3ZlcmZsb3dXaWR0aChtX2Jsb2NrRmxvdywgbGluZUJveExvZ2ljYWxXaWR0aCwgbGluZS5j
b250ZW50TG9naWNhbFdpZHRoKCkpOwotICAgICAgICAgICAgbGluZUxldmVsVmlzdWFsQWRqdXN0
bWVudHNGb3JSdW5zW2xpbmVJbmRleF0ubmVlZHNUcmFpbGluZ0NvbnRlbnRSZXBsYWNlbWVudCA9
IG92ZXJmbG93V2lkdGggPiBsaW5lQm94TG9naWNhbFdpZHRoOwotICAgICAgICB9CisgICAgICAg
IGlubGluZUxldmVsQm94UHJldmVudHNJbnRlZ3JhbFBvc2l0aW9uID0gaW5saW5lTGV2ZWxCb3hQ
cmV2ZW50c0xlZ2FjeUludGVncmFsVmVydGljYWxQb3NpdGlvbigpOworICAgIH0KKyAgICBsaW5l
TGV2ZWxWaXN1YWxBZGp1c3RtZW50c0ZvclJ1bnNbbGluZUluZGV4VG9DaGVja10ubmVlZHNJbnRl
Z3JhbFBvc2l0aW9uID0gIWlubGluZUxldmVsQm94UHJldmVudHNJbnRlZ3JhbFBvc2l0aW9uOwor
CisgICAgYXV0byBzaG91bGRDaGVja0hvcml6b250YWxPdmVyZmxvd0ZvckNvbnRlbnRSZXBsYWNl
bWVudCA9IHJvb3RTdHlsZS5vdmVyZmxvd1goKSA9PSBPdmVyZmxvdzo6SGlkZGVuICYmIHJvb3RT
dHlsZS50ZXh0T3ZlcmZsb3coKSAhPSBUZXh0T3ZlcmZsb3c6OkNsaXA7CisgICAgaWYgKCFzaG91
bGRDaGVja0hvcml6b250YWxPdmVyZmxvd0ZvckNvbnRlbnRSZXBsYWNlbWVudCkKKyAgICAgICAg
cmV0dXJuIGxpbmVMZXZlbFZpc3VhbEFkanVzdG1lbnRzRm9yUnVuczsKKworICAgIGZvciAoc2l6
ZV90IGxpbmVJbmRleCA9IDA7IGxpbmVJbmRleCA8IGxpbmVzLnNpemUoKTsgKytsaW5lSW5kZXgp
IHsKKyAgICAgICAgYXV0byYgbGluZSA9IGxpbmVzW2xpbmVJbmRleF07CisgICAgICAgIGF1dG8g
bGluZUJveExvZ2ljYWxXaWR0aCA9IGxpbmUubGluZUJveExvZ2ljYWxSZWN0KCkud2lkdGgoKTsK
KyAgICAgICAgYXV0byBvdmVyZmxvd1dpZHRoID0gbGluZU92ZXJmbG93V2lkdGgobV9ibG9ja0Zs
b3csIGxpbmVCb3hMb2dpY2FsV2lkdGgsIGxpbmUuY29udGVudExvZ2ljYWxXaWR0aCgpKTsKKyAg
ICAgICAgbGluZUxldmVsVmlzdWFsQWRqdXN0bWVudHNGb3JSdW5zW2xpbmVJbmRleF0ubmVlZHNU
cmFpbGluZ0NvbnRlbnRSZXBsYWNlbWVudCA9IG92ZXJmbG93V2lkdGggPiBsaW5lQm94TG9naWNh
bFdpZHRoOwogICAgIH0KICAgICByZXR1cm4gbGluZUxldmVsVmlzdWFsQWRqdXN0bWVudHNGb3JS
dW5zOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xh
eW91dEludGVncmF0aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnRCdWlsZGVyLmgK
aW5kZXggMmZiMDFlMmQyZjA2NzQxZTQ0YTgyMDYxYzAyM2QwYjVlZDgyNmQyNS4uZmE5MDgwMDZh
OTQyOWEyNmNhN2ZmMmFlMThjMGFjN2FjM2NmY2Y5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uSW5saW5lQ29udGVudEJ1aWxk
ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdy
YXRpb25JbmxpbmVDb250ZW50QnVpbGRlci5oCkBAIC00OSw3ICs0OSw3IEBAIHB1YmxpYzoKIHBy
aXZhdGU6CiAgICAgdXNpbmcgTGluZUxldmVsVmlzdWFsQWRqdXN0bWVudHNGb3JSdW5zTGlzdCA9
IFZlY3RvcjxMaW5lTGV2ZWxWaXN1YWxBZGp1c3RtZW50c0ZvclJ1bnM+OwogCi0gICAgTGluZUxl
dmVsVmlzdWFsQWRqdXN0bWVudHNGb3JSdW5zTGlzdCBjb21wdXRlTGluZUxldmVsVmlzdWFsQWRq
dXN0bWVudHNGb3JSdW5zKGNvbnN0IExheW91dDo6SW5saW5lRm9ybWF0dGluZ1N0YXRlJikgY29u
c3Q7CisgICAgTGluZUxldmVsVmlzdWFsQWRqdXN0bWVudHNGb3JSdW5zTGlzdCBjb21wdXRlTGlu
ZUxldmVsVmlzdWFsQWRqdXN0bWVudHNGb3JSdW5zKGNvbnN0IExheW91dDo6SW5saW5lTGluZXMm
LCBjb25zdCBMYXlvdXQ6OklubGluZUxpbmVSdW5zJikgY29uc3Q7CiAgICAgdm9pZCBjcmVhdGVE
aXNwbGF5TGluZVJ1bnMoY29uc3QgTGF5b3V0OjpJbmxpbmVMaW5lcyYsIGNvbnN0IExheW91dDo6
SW5saW5lTGluZVJ1bnMmLCBJbmxpbmVDb250ZW50JiwgY29uc3QgTGluZUxldmVsVmlzdWFsQWRq
dXN0bWVudHNGb3JSdW5zTGlzdCYpIGNvbnN0OwogICAgIHZvaWQgY3JlYXRlRGlzcGxheUxpbmVz
KGNvbnN0IExheW91dDo6SW5saW5lTGluZXMmLCBJbmxpbmVDb250ZW50JiwgY29uc3QgTGluZUxl
dmVsVmlzdWFsQWRqdXN0bWVudHNGb3JSdW5zTGlzdCYpIGNvbnN0OwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>436367</attachid>
            <date>2021-08-24 20:04:37 -0700</date>
            <delta_ts>2021-08-25 13:32:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-228069-20210824200436.patch</filename>
            <type>text/plain</type>
            <size>9697</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxNDk1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWUxYjJiMjZiNjAzYWEy
MDJiMGI2YTAxMTU0YzA0Njk2MGRjZjVhMS4uMDFmYWQwZTg3YzgwMmZlNjI1MzQ2OTcxZTI4MGNj
YzIyZGY1NDcyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIxLTA4LTI0ICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtJbnRlZ3JhdGlvbl0g
VXNlIHRoZSBsaW5lIHJ1bnMgdG8gY2hlY2sgZm9yIGxlZ2FjeSBpbnRlZ3JhbCBwb3NpdGlvbmlu
ZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI4MDY5
CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84MTA4Nzg1Nz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBBbnR0aSBLb2l2aXN0by4KKworICAgICAgICBOb3cgdGhhdCB0aGUgbGluZSBydW5zIGxpc3Qg
aGFzIGFsbCB0aGUgaW5saW5lIGJveGVzIChpbmNsdWRpbmcgc3Bhbm5pbmcgaW5saW5lIGJveGVz
KSwgd2UKKyAgICAgICAgY2FuIHVzZSB0aGlzIGxpc3QgdG8gY2hlY2sgZm9yIGxlZ2FjeSBpbnRl
Z3JhbCBwb3NpdGlvbmluZyBhbmQgbm90IGRpcmVjdGx5IGl0ZXJhdGluZyB0aGUgTGluZUJveCdz
IG5vbi1yb290aW5saW5lYm94IGxpc3QuCisgICAgICAgIFdoaWxlIHRoaXMgbWF5IGJlIGEgYml0
IG1vcmUgZXhwZW5zaXZlLCB0aGUgbGVnYWN5IHBvc2l0aW9uaW5nIGlzIHRlbXBvcmFyeSBhbmQg
d2lsbCBiZSByZW1vdmVkIHNob3J0bHkuCisKKyAgICAgICAgVGhpcyBpcyBpbiBwcmVwYXJhdGlv
biBmb3Iga2VlcGluZyB0aGUgaW5saW5lIGJveCBzdHJ1Y3R1cmUgcHJpdmF0ZSB0byB0aGUgbGF5
b3V0IGNvZGUuCisKKyAgICAgICAgKiBsYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRp
b25JbmxpbmVDb250ZW50QnVpbGRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXRJbnRl
Z3JhdGlvbjo6SW5saW5lQ29udGVudEJ1aWxkZXI6OmJ1aWxkIGNvbnN0KToKKyAgICAgICAgKFdl
YkNvcmU6OkxheW91dEludGVncmF0aW9uOjpJbmxpbmVDb250ZW50QnVpbGRlcjo6Y29tcHV0ZUxp
bmVMZXZlbFZpc3VhbEFkanVzdG1lbnRzRm9yUnVucyBjb25zdCk6CisgICAgICAgICogbGF5b3V0
L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuaDoKKwog
MjAyMS0wOC0yNCAgQWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0xG
Q11bSUZDXSBMaW5lIHNwYW5uaW5nIGlubGluZSBib3hlcyBzaG91bGQgYWxzbyBiZSBpbiB0aGUg
cnVuIGxpc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9M
YXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnRCdWlsZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnRCdWlsZGVy
LmNwcAppbmRleCBiNjNiMjA4YTdlMmJiMTgxZWVmOTJjYTg2ZjUyYTM4OWFlZGNiZTE3Li41ZDI3
MDg5MTNhZWI2ZTdlMzM2MjAwMjdkZDU2ZGJmMzliYTU1NTEzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250ZW50
QnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91
dEludGVncmF0aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuY3BwCkBAIC0xNjQsNTIgKzE2NCw2MiBA
QCBJbmxpbmVDb250ZW50QnVpbGRlcjo6SW5saW5lQ29udGVudEJ1aWxkZXIoY29uc3QgTGF5b3V0
OjpMYXlvdXRTdGF0ZSYgbGF5b3V0U3RhdAogCiB2b2lkIElubGluZUNvbnRlbnRCdWlsZGVyOjpi
dWlsZChjb25zdCBMYXlvdXQ6OklubGluZUZvcm1hdHRpbmdTdGF0ZSYgaW5saW5lRm9ybWF0dGlu
Z1N0YXRlLCBJbmxpbmVDb250ZW50JiBpbmxpbmVDb250ZW50KSBjb25zdAogewotICAgIGF1dG8g
bGluZUxldmVsVmlzdWFsQWRqdXN0bWVudHNGb3JSdW5zID0gY29tcHV0ZUxpbmVMZXZlbFZpc3Vh
bEFkanVzdG1lbnRzRm9yUnVucyhpbmxpbmVGb3JtYXR0aW5nU3RhdGUpOworICAgIGF1dG8gbGlu
ZUxldmVsVmlzdWFsQWRqdXN0bWVudHNGb3JSdW5zID0gY29tcHV0ZUxpbmVMZXZlbFZpc3VhbEFk
anVzdG1lbnRzRm9yUnVucyhpbmxpbmVGb3JtYXR0aW5nU3RhdGUubGluZXMoKSwgaW5saW5lRm9y
bWF0dGluZ1N0YXRlLmxpbmVSdW5zKCkpOwogICAgIGNyZWF0ZURpc3BsYXlMaW5lUnVucyhpbmxp
bmVGb3JtYXR0aW5nU3RhdGUubGluZXMoKSwgaW5saW5lRm9ybWF0dGluZ1N0YXRlLmxpbmVSdW5z
KCksIGlubGluZUNvbnRlbnQsIGxpbmVMZXZlbFZpc3VhbEFkanVzdG1lbnRzRm9yUnVucyk7CiAg
ICAgY3JlYXRlRGlzcGxheUxpbmVzKGlubGluZUZvcm1hdHRpbmdTdGF0ZS5saW5lcygpLCBpbmxp
bmVDb250ZW50LCBsaW5lTGV2ZWxWaXN1YWxBZGp1c3RtZW50c0ZvclJ1bnMpOwogfQogCi1Jbmxp
bmVDb250ZW50QnVpbGRlcjo6TGluZUxldmVsVmlzdWFsQWRqdXN0bWVudHNGb3JSdW5zTGlzdCBJ
bmxpbmVDb250ZW50QnVpbGRlcjo6Y29tcHV0ZUxpbmVMZXZlbFZpc3VhbEFkanVzdG1lbnRzRm9y
UnVucyhjb25zdCBMYXlvdXQ6OklubGluZUZvcm1hdHRpbmdTdGF0ZSYgaW5saW5lRm9ybWF0dGlu
Z1N0YXRlKSBjb25zdAorSW5saW5lQ29udGVudEJ1aWxkZXI6OkxpbmVMZXZlbFZpc3VhbEFkanVz
dG1lbnRzRm9yUnVuc0xpc3QgSW5saW5lQ29udGVudEJ1aWxkZXI6OmNvbXB1dGVMaW5lTGV2ZWxW
aXN1YWxBZGp1c3RtZW50c0ZvclJ1bnMoY29uc3QgTGF5b3V0OjpJbmxpbmVMaW5lcyYgbGluZXMs
IGNvbnN0IExheW91dDo6SW5saW5lTGluZVJ1bnMmIGxpbmVSdW5zKSBjb25zdAogewotICAgIGF1
dG8mIGxpbmVzID0gaW5saW5lRm9ybWF0dGluZ1N0YXRlLmxpbmVzKCk7CisgICAgYXV0byBsaW5l
TGV2ZWxWaXN1YWxBZGp1c3RtZW50c0ZvclJ1bnMgPSBMaW5lTGV2ZWxWaXN1YWxBZGp1c3RtZW50
c0ZvclJ1bnNMaXN0IHsgbGluZXMuc2l6ZSgpIH07CiAgICAgYXV0byYgcm9vdFN0eWxlID0gbV9s
YXlvdXRTdGF0ZS5yb290KCkuc3R5bGUoKTsKLSAgICBhdXRvIHNob3VsZENoZWNrSG9yaXpvbnRh
bE92ZXJmbG93Rm9yQ29udGVudFJlcGxhY2VtZW50ID0gcm9vdFN0eWxlLm92ZXJmbG93WCgpID09
IE92ZXJmbG93OjpIaWRkZW4gJiYgcm9vdFN0eWxlLnRleHRPdmVyZmxvdygpICE9IFRleHRPdmVy
Zmxvdzo6Q2xpcDsKIAotICAgIGF1dG8gbGluZUxldmVsVmlzdWFsQWRqdXN0bWVudHNGb3JSdW5z
ID0gTGluZUxldmVsVmlzdWFsQWRqdXN0bWVudHNGb3JSdW5zTGlzdCB7IGxpbmVzLnNpemUoKSB9
OwotICAgIGZvciAoc2l6ZV90IGxpbmVJbmRleCA9IDA7IGxpbmVJbmRleCA8IGxpbmVzLnNpemUo
KTsgKytsaW5lSW5kZXgpIHsKLSAgICAgICAgYXV0byBsaW5lTmVlZHNMZWdhY3lJbnRlZ3JhbFZl
cnRpY2FsUG9zaXRpb24gPSBbJl0geworICAgIGF1dG8gaW5saW5lTGV2ZWxCb3hQcmV2ZW50c0lu
dGVncmFsUG9zaXRpb24gPSBmYWxzZTsKKyAgICBzaXplX3QgbGluZUluZGV4VG9DaGVjayA9IDA7
CisgICAgZm9yIChhdXRvJiBsaW5lUnVuIDogbGluZVJ1bnMpIHsKKyAgICAgICAgYXV0byBsaW5l
SW5kZXggPSBsaW5lUnVuLmxpbmVJbmRleCgpOworICAgICAgICBhdXRvJiBsYXlvdXRCb3ggPSBs
aW5lUnVuLmxheW91dEJveCgpOworCisgICAgICAgIGlmIChsaW5lSW5kZXhUb0NoZWNrICE9IGxp
bmVJbmRleCkgeworICAgICAgICAgICAgbGluZUxldmVsVmlzdWFsQWRqdXN0bWVudHNGb3JSdW5z
W2xpbmVJbmRleFRvQ2hlY2tdLm5lZWRzSW50ZWdyYWxQb3NpdGlvbiA9ICFpbmxpbmVMZXZlbEJv
eFByZXZlbnRzSW50ZWdyYWxQb3NpdGlvbjsKKyAgICAgICAgICAgIGxpbmVJbmRleFRvQ2hlY2sg
PSBsaW5lSW5kZXg7CisgICAgICAgICAgICBpbmxpbmVMZXZlbEJveFByZXZlbnRzSW50ZWdyYWxQ
b3NpdGlvbiA9IGZhbHNlOworICAgICAgICB9CisKKyAgICAgICAgaWYgKCFsYXlvdXRCb3guaXNJ
bmxpbmVMZXZlbEJveCgpIHx8IGlubGluZUxldmVsQm94UHJldmVudHNJbnRlZ3JhbFBvc2l0aW9u
KQorICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgYXV0byBpbmxpbmVMZXZlbEJveFBy
ZXZlbnRzTGVnYWN5SW50ZWdyYWxWZXJ0aWNhbFBvc2l0aW9uID0gWyZdIHsKKyAgICAgICAgICAg
IEFTU0VSVChsYXlvdXRCb3guaXNJbmxpbmVMZXZlbEJveCgpKTsKICAgICAgICAgICAgIC8vIExl
Z2FjeSBpbmxpbmUgdHJlZSBpbnRlZ3JhbCByb3VuZHMgdGhlIHZlcnRpY2FsIHBvc2l0aW9uIGZv
ciBjZXJ0YWluIGNvbnRlbnQgKHNlZSBMZWdhY3lJbmxpbmVGbG93Qm94OjpwbGFjZUJveGVzSW5C
bG9ja0RpcmVjdGlvbiBhbmQgOjphZGRUb0xpbmUpLgotICAgICAgICAgICAgYXV0byYgbm9uUm9v
dElubGluZUxldmVsQm94TGlzdCA9IGlubGluZUZvcm1hdHRpbmdTdGF0ZS5saW5lQm94ZXMoKVts
aW5lSW5kZXhdLm5vblJvb3RJbmxpbmVMZXZlbEJveGVzKCk7Ci0gICAgICAgICAgICBpZiAobm9u
Um9vdElubGluZUxldmVsQm94TGlzdC5pc0VtcHR5KCkpIHsKLSAgICAgICAgICAgICAgICAvLyBU
aGlzIGlzIHRleHQgY29udGVudCBvbmx5IHdpdGggcm9vdCBpbmxpbmUgYm94LgorICAgICAgICAg
ICAgLy8gU2VlIHNob3VsZENsZWFyRGVzY2VuZGFudHNIYXZlU2FtZUxpbmVIZWlnaHRBbmRCYXNl
bGluZSBpbiBMZWdhY3lJbmxpbmVGbG93Qm94OjphZGRUb0xpbmUuCisgICAgICAgICAgICBhdXRv
IGNvbnRlbnRQcmV2ZW50c0ludGVncmFsU25hcHBpbmcgPSBsaW5lUnVuLmlzQXRvbWljSW5saW5l
TGV2ZWxCb3goKSB8fCAobGluZVJ1bi5pc0xpbmVCcmVhaygpICYmICFtX2xheW91dFN0YXRlLmlu
U3RhbmRhcmRzTW9kZSgpKTsKKyAgICAgICAgICAgIGlmIChjb250ZW50UHJldmVudHNJbnRlZ3Jh
bFNuYXBwaW5nKQogICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICAgICAgfQot
ICAgICAgICAgICAgZm9yIChhdXRvJiBpbmxpbmVMZXZlbEJveCA6IG5vblJvb3RJbmxpbmVMZXZl
bEJveExpc3QpIHsKLSAgICAgICAgICAgICAgICAvLyBTZWUgc2hvdWxkQ2xlYXJEZXNjZW5kYW50
c0hhdmVTYW1lTGluZUhlaWdodEFuZEJhc2VsaW5lIGluIExlZ2FjeUlubGluZUZsb3dCb3g6OmFk
ZFRvTGluZS4KLSAgICAgICAgICAgICAgICBhdXRvIGNvbnRlbnRQcmV2ZW50c0ludGVncmFsU25h
cHBpbmcgPSBpbmxpbmVMZXZlbEJveC5pc0F0b21pY0lubGluZUxldmVsQm94KCkgfHwgKGlubGlu
ZUxldmVsQm94LmlzTGluZUJyZWFrQm94KCkgJiYgIW1fbGF5b3V0U3RhdGUuaW5TdGFuZGFyZHNN
b2RlKCkpOwotICAgICAgICAgICAgICAgIGlmIChjb250ZW50UHJldmVudHNJbnRlZ3JhbFNuYXBw
aW5nKQotICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICAgICAgICAgICAg
ICBhdXRvJiBpbmxpbmVMZXZlbEJveFN0eWxlID0gaW5saW5lTGV2ZWxCb3guc3R5bGUoKTsKLSAg
ICAgICAgICAgICAgICBhdXRvIHN0eWxlUHJldmVudHNJbnRlZ3JhbFNuYXBwaW5nID0gcm9vdFN0
eWxlLmxpbmVIZWlnaHQoKSAhPSBpbmxpbmVMZXZlbEJveFN0eWxlLmxpbmVIZWlnaHQoKSB8fCBp
bmxpbmVMZXZlbEJveFN0eWxlLnZlcnRpY2FsQWxpZ24oKSAhPSBWZXJ0aWNhbEFsaWduOjpCYXNl
bGluZTsKLSAgICAgICAgICAgICAgICBpZiAoc3R5bGVQcmV2ZW50c0ludGVncmFsU25hcHBpbmcp
Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgICAgICAgICAgICAgIGF1
dG8mIHJvb3RGb250TWV0cmljcyA9IHJvb3RTdHlsZS5mb250Q2FzY2FkZSgpLmZvbnRNZXRyaWNz
KCk7Ci0gICAgICAgICAgICAgICAgYXV0byYgaW5saW5lTGV2ZWxCb3hGb250TWV0cmljcyA9IGlu
bGluZUxldmVsQm94U3R5bGUuZm9udENhc2NhZGUoKS5mb250TWV0cmljcygpOwotICAgICAgICAg
ICAgICAgIGF1dG8gZm9udFByZXZlbnRzSW50ZWdyYWxTbmFwcGluZyA9ICFyb290Rm9udE1ldHJp
Y3MuaGFzSWRlbnRpY2FsQXNjZW50RGVzY2VudEFuZExpbmVHYXAoaW5saW5lTGV2ZWxCb3hGb250
TWV0cmljcyk7Ci0gICAgICAgICAgICAgICAgaWYgKGZvbnRQcmV2ZW50c0ludGVncmFsU25hcHBp
bmcpCi0gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgIHJldHVybiB0cnVlOworCisgICAgICAgICAgICBhdXRvJiBpbmxpbmVMZXZlbEJv
eFN0eWxlID0gbGF5b3V0Qm94LnN0eWxlKCk7CisgICAgICAgICAgICBhdXRvIHN0eWxlUHJldmVu
dHNJbnRlZ3JhbFNuYXBwaW5nID0gcm9vdFN0eWxlLmxpbmVIZWlnaHQoKSAhPSBpbmxpbmVMZXZl
bEJveFN0eWxlLmxpbmVIZWlnaHQoKSB8fCBpbmxpbmVMZXZlbEJveFN0eWxlLnZlcnRpY2FsQWxp
Z24oKSAhPSBWZXJ0aWNhbEFsaWduOjpCYXNlbGluZTsKKyAgICAgICAgICAgIGlmIChzdHlsZVBy
ZXZlbnRzSW50ZWdyYWxTbmFwcGluZykKKyAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKwor
ICAgICAgICAgICAgYXV0byYgcm9vdEZvbnRNZXRyaWNzID0gcm9vdFN0eWxlLmZvbnRDYXNjYWRl
KCkuZm9udE1ldHJpY3MoKTsKKyAgICAgICAgICAgIGF1dG8mIGlubGluZUxldmVsQm94Rm9udE1l
dHJpY3MgPSBpbmxpbmVMZXZlbEJveFN0eWxlLmZvbnRDYXNjYWRlKCkuZm9udE1ldHJpY3MoKTsK
KyAgICAgICAgICAgIGF1dG8gZm9udFByZXZlbnRzSW50ZWdyYWxTbmFwcGluZyA9ICFyb290Rm9u
dE1ldHJpY3MuaGFzSWRlbnRpY2FsQXNjZW50RGVzY2VudEFuZExpbmVHYXAoaW5saW5lTGV2ZWxC
b3hGb250TWV0cmljcyk7CisgICAgICAgICAgICByZXR1cm4gZm9udFByZXZlbnRzSW50ZWdyYWxT
bmFwcGluZzsKICAgICAgICAgfTsKLSAgICAgICAgbGluZUxldmVsVmlzdWFsQWRqdXN0bWVudHNG
b3JSdW5zW2xpbmVJbmRleF0ubmVlZHNJbnRlZ3JhbFBvc2l0aW9uID0gbGluZU5lZWRzTGVnYWN5
SW50ZWdyYWxWZXJ0aWNhbFBvc2l0aW9uKCk7Ci0gICAgICAgIGlmIChzaG91bGRDaGVja0hvcml6
b250YWxPdmVyZmxvd0ZvckNvbnRlbnRSZXBsYWNlbWVudCkgewotICAgICAgICAgICAgYXV0byYg
bGluZSA9IGxpbmVzW2xpbmVJbmRleF07Ci0gICAgICAgICAgICBhdXRvIGxpbmVCb3hMb2dpY2Fs
V2lkdGggPSBsaW5lLmxpbmVCb3hMb2dpY2FsUmVjdCgpLndpZHRoKCk7Ci0gICAgICAgICAgICBh
dXRvIG92ZXJmbG93V2lkdGggPSBsaW5lT3ZlcmZsb3dXaWR0aChtX2Jsb2NrRmxvdywgbGluZUJv
eExvZ2ljYWxXaWR0aCwgbGluZS5jb250ZW50TG9naWNhbFdpZHRoKCkpOwotICAgICAgICAgICAg
bGluZUxldmVsVmlzdWFsQWRqdXN0bWVudHNGb3JSdW5zW2xpbmVJbmRleF0ubmVlZHNUcmFpbGlu
Z0NvbnRlbnRSZXBsYWNlbWVudCA9IG92ZXJmbG93V2lkdGggPiBsaW5lQm94TG9naWNhbFdpZHRo
OwotICAgICAgICB9CisgICAgICAgIGlubGluZUxldmVsQm94UHJldmVudHNJbnRlZ3JhbFBvc2l0
aW9uID0gaW5saW5lTGV2ZWxCb3hQcmV2ZW50c0xlZ2FjeUludGVncmFsVmVydGljYWxQb3NpdGlv
bigpOworICAgIH0KKyAgICBsaW5lTGV2ZWxWaXN1YWxBZGp1c3RtZW50c0ZvclJ1bnNbbGluZUlu
ZGV4VG9DaGVja10ubmVlZHNJbnRlZ3JhbFBvc2l0aW9uID0gIWlubGluZUxldmVsQm94UHJldmVu
dHNJbnRlZ3JhbFBvc2l0aW9uOworCisgICAgYXV0byBzaG91bGRDaGVja0hvcml6b250YWxPdmVy
Zmxvd0ZvckNvbnRlbnRSZXBsYWNlbWVudCA9IHJvb3RTdHlsZS5vdmVyZmxvd1goKSA9PSBPdmVy
Zmxvdzo6SGlkZGVuICYmIHJvb3RTdHlsZS50ZXh0T3ZlcmZsb3coKSAhPSBUZXh0T3ZlcmZsb3c6
OkNsaXA7CisgICAgaWYgKCFzaG91bGRDaGVja0hvcml6b250YWxPdmVyZmxvd0ZvckNvbnRlbnRS
ZXBsYWNlbWVudCkKKyAgICAgICAgcmV0dXJuIGxpbmVMZXZlbFZpc3VhbEFkanVzdG1lbnRzRm9y
UnVuczsKKworICAgIGZvciAoc2l6ZV90IGxpbmVJbmRleCA9IDA7IGxpbmVJbmRleCA8IGxpbmVz
LnNpemUoKTsgKytsaW5lSW5kZXgpIHsKKyAgICAgICAgYXV0byYgbGluZSA9IGxpbmVzW2xpbmVJ
bmRleF07CisgICAgICAgIGF1dG8gbGluZUJveExvZ2ljYWxXaWR0aCA9IGxpbmUubGluZUJveExv
Z2ljYWxSZWN0KCkud2lkdGgoKTsKKyAgICAgICAgYXV0byBvdmVyZmxvd1dpZHRoID0gbGluZU92
ZXJmbG93V2lkdGgobV9ibG9ja0Zsb3csIGxpbmVCb3hMb2dpY2FsV2lkdGgsIGxpbmUuY29udGVu
dExvZ2ljYWxXaWR0aCgpKTsKKyAgICAgICAgbGluZUxldmVsVmlzdWFsQWRqdXN0bWVudHNGb3JS
dW5zW2xpbmVJbmRleF0ubmVlZHNUcmFpbGluZ0NvbnRlbnRSZXBsYWNlbWVudCA9IG92ZXJmbG93
V2lkdGggPiBsaW5lQm94TG9naWNhbFdpZHRoOwogICAgIH0KICAgICByZXR1cm4gbGluZUxldmVs
VmlzdWFsQWRqdXN0bWVudHNGb3JSdW5zOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uSW5saW5lQ29udGVudEJ1aWxkZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbklu
bGluZUNvbnRlbnRCdWlsZGVyLmgKaW5kZXggMmZiMDFlMmQyZjA2NzQxZTQ0YTgyMDYxYzAyM2Qw
YjVlZDgyNmQyNS4uZmE5MDgwMDZhOTQyOWEyNmNhN2ZmMmFlMThjMGFjN2FjM2NmY2Y5MiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0
aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50
ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250ZW50QnVpbGRlci5oCkBAIC00OSw3
ICs0OSw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgdXNpbmcgTGluZUxldmVsVmlzdWFsQWRq
dXN0bWVudHNGb3JSdW5zTGlzdCA9IFZlY3RvcjxMaW5lTGV2ZWxWaXN1YWxBZGp1c3RtZW50c0Zv
clJ1bnM+OwogCi0gICAgTGluZUxldmVsVmlzdWFsQWRqdXN0bWVudHNGb3JSdW5zTGlzdCBjb21w
dXRlTGluZUxldmVsVmlzdWFsQWRqdXN0bWVudHNGb3JSdW5zKGNvbnN0IExheW91dDo6SW5saW5l
Rm9ybWF0dGluZ1N0YXRlJikgY29uc3Q7CisgICAgTGluZUxldmVsVmlzdWFsQWRqdXN0bWVudHNG
b3JSdW5zTGlzdCBjb21wdXRlTGluZUxldmVsVmlzdWFsQWRqdXN0bWVudHNGb3JSdW5zKGNvbnN0
IExheW91dDo6SW5saW5lTGluZXMmLCBjb25zdCBMYXlvdXQ6OklubGluZUxpbmVSdW5zJikgY29u
c3Q7CiAgICAgdm9pZCBjcmVhdGVEaXNwbGF5TGluZVJ1bnMoY29uc3QgTGF5b3V0OjpJbmxpbmVM
aW5lcyYsIGNvbnN0IExheW91dDo6SW5saW5lTGluZVJ1bnMmLCBJbmxpbmVDb250ZW50JiwgY29u
c3QgTGluZUxldmVsVmlzdWFsQWRqdXN0bWVudHNGb3JSdW5zTGlzdCYpIGNvbnN0OwogICAgIHZv
aWQgY3JlYXRlRGlzcGxheUxpbmVzKGNvbnN0IExheW91dDo6SW5saW5lTGluZXMmLCBJbmxpbmVD
b250ZW50JiwgY29uc3QgTGluZUxldmVsVmlzdWFsQWRqdXN0bWVudHNGb3JSdW5zTGlzdCYpIGNv
bnN0OwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>436416</attachid>
            <date>2021-08-25 13:32:26 -0700</date>
            <delta_ts>2021-08-26 08:53:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-228069-20210825133226.patch</filename>
            <type>text/plain</type>
            <size>9697</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxNTc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDZkNzJiNWU2ODBkYjJh
YTNkMjJiMjQwZmMxMTBhY2U1ZjBkY2NlZS4uODkxOTQ2NDNlODgwMDQzZDY3ZTlhZjg2ZDUwZjYw
YWM0NmNjZTBkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIxLTA4LTI1ICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtJbnRlZ3JhdGlvbl0g
VXNlIHRoZSBsaW5lIHJ1bnMgdG8gY2hlY2sgZm9yIGxlZ2FjeSBpbnRlZ3JhbCBwb3NpdGlvbmlu
ZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI4MDY5
CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84MTA4Nzg1Nz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBBbnR0aSBLb2l2aXN0by4KKworICAgICAgICBOb3cgdGhhdCB0aGUgbGluZSBydW5zIGxpc3Qg
aGFzIGFsbCB0aGUgaW5saW5lIGJveGVzIChpbmNsdWRpbmcgc3Bhbm5pbmcgaW5saW5lIGJveGVz
KSwgd2UKKyAgICAgICAgY2FuIHVzZSB0aGlzIGxpc3QgdG8gY2hlY2sgZm9yIGxlZ2FjeSBpbnRl
Z3JhbCBwb3NpdGlvbmluZyBhbmQgbm90IGRpcmVjdGx5IGl0ZXJhdGluZyB0aGUgTGluZUJveCdz
IG5vbi1yb290aW5saW5lYm94IGxpc3QuCisgICAgICAgIFdoaWxlIHRoaXMgbWF5IGJlIGEgYml0
IG1vcmUgZXhwZW5zaXZlLCB0aGUgbGVnYWN5IHBvc2l0aW9uaW5nIGlzIHRlbXBvcmFyeSBhbmQg
d2lsbCBiZSByZW1vdmVkIHNob3J0bHkuCisKKyAgICAgICAgVGhpcyBpcyBpbiBwcmVwYXJhdGlv
biBmb3Iga2VlcGluZyB0aGUgaW5saW5lIGJveCBzdHJ1Y3R1cmUgcHJpdmF0ZSB0byB0aGUgbGF5
b3V0IGNvZGUuCisKKyAgICAgICAgKiBsYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRp
b25JbmxpbmVDb250ZW50QnVpbGRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXRJbnRl
Z3JhdGlvbjo6SW5saW5lQ29udGVudEJ1aWxkZXI6OmJ1aWxkIGNvbnN0KToKKyAgICAgICAgKFdl
YkNvcmU6OkxheW91dEludGVncmF0aW9uOjpJbmxpbmVDb250ZW50QnVpbGRlcjo6Y29tcHV0ZUxp
bmVMZXZlbFZpc3VhbEFkanVzdG1lbnRzRm9yUnVucyBjb25zdCk6CisgICAgICAgICogbGF5b3V0
L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuaDoKKwog
MjAyMS0wOC0yNSAgQWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0xG
Q11bSUZDXSBMaW5lIHNwYW5uaW5nIGlubGluZSBib3hlcyBzaG91bGQgYWxzbyBiZSBpbiB0aGUg
cnVuIGxpc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9M
YXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnRCdWlsZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnRCdWlsZGVy
LmNwcAppbmRleCBiNjNiMjA4YTdlMmJiMTgxZWVmOTJjYTg2ZjUyYTM4OWFlZGNiZTE3Li41ZDI3
MDg5MTNhZWI2ZTdlMzM2MjAwMjdkZDU2ZGJmMzliYTU1NTEzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250ZW50
QnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91
dEludGVncmF0aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuY3BwCkBAIC0xNjQsNTIgKzE2NCw2MiBA
QCBJbmxpbmVDb250ZW50QnVpbGRlcjo6SW5saW5lQ29udGVudEJ1aWxkZXIoY29uc3QgTGF5b3V0
OjpMYXlvdXRTdGF0ZSYgbGF5b3V0U3RhdAogCiB2b2lkIElubGluZUNvbnRlbnRCdWlsZGVyOjpi
dWlsZChjb25zdCBMYXlvdXQ6OklubGluZUZvcm1hdHRpbmdTdGF0ZSYgaW5saW5lRm9ybWF0dGlu
Z1N0YXRlLCBJbmxpbmVDb250ZW50JiBpbmxpbmVDb250ZW50KSBjb25zdAogewotICAgIGF1dG8g
bGluZUxldmVsVmlzdWFsQWRqdXN0bWVudHNGb3JSdW5zID0gY29tcHV0ZUxpbmVMZXZlbFZpc3Vh
bEFkanVzdG1lbnRzRm9yUnVucyhpbmxpbmVGb3JtYXR0aW5nU3RhdGUpOworICAgIGF1dG8gbGlu
ZUxldmVsVmlzdWFsQWRqdXN0bWVudHNGb3JSdW5zID0gY29tcHV0ZUxpbmVMZXZlbFZpc3VhbEFk
anVzdG1lbnRzRm9yUnVucyhpbmxpbmVGb3JtYXR0aW5nU3RhdGUubGluZXMoKSwgaW5saW5lRm9y
bWF0dGluZ1N0YXRlLmxpbmVSdW5zKCkpOwogICAgIGNyZWF0ZURpc3BsYXlMaW5lUnVucyhpbmxp
bmVGb3JtYXR0aW5nU3RhdGUubGluZXMoKSwgaW5saW5lRm9ybWF0dGluZ1N0YXRlLmxpbmVSdW5z
KCksIGlubGluZUNvbnRlbnQsIGxpbmVMZXZlbFZpc3VhbEFkanVzdG1lbnRzRm9yUnVucyk7CiAg
ICAgY3JlYXRlRGlzcGxheUxpbmVzKGlubGluZUZvcm1hdHRpbmdTdGF0ZS5saW5lcygpLCBpbmxp
bmVDb250ZW50LCBsaW5lTGV2ZWxWaXN1YWxBZGp1c3RtZW50c0ZvclJ1bnMpOwogfQogCi1Jbmxp
bmVDb250ZW50QnVpbGRlcjo6TGluZUxldmVsVmlzdWFsQWRqdXN0bWVudHNGb3JSdW5zTGlzdCBJ
bmxpbmVDb250ZW50QnVpbGRlcjo6Y29tcHV0ZUxpbmVMZXZlbFZpc3VhbEFkanVzdG1lbnRzRm9y
UnVucyhjb25zdCBMYXlvdXQ6OklubGluZUZvcm1hdHRpbmdTdGF0ZSYgaW5saW5lRm9ybWF0dGlu
Z1N0YXRlKSBjb25zdAorSW5saW5lQ29udGVudEJ1aWxkZXI6OkxpbmVMZXZlbFZpc3VhbEFkanVz
dG1lbnRzRm9yUnVuc0xpc3QgSW5saW5lQ29udGVudEJ1aWxkZXI6OmNvbXB1dGVMaW5lTGV2ZWxW
aXN1YWxBZGp1c3RtZW50c0ZvclJ1bnMoY29uc3QgTGF5b3V0OjpJbmxpbmVMaW5lcyYgbGluZXMs
IGNvbnN0IExheW91dDo6SW5saW5lTGluZVJ1bnMmIGxpbmVSdW5zKSBjb25zdAogewotICAgIGF1
dG8mIGxpbmVzID0gaW5saW5lRm9ybWF0dGluZ1N0YXRlLmxpbmVzKCk7CisgICAgYXV0byBsaW5l
TGV2ZWxWaXN1YWxBZGp1c3RtZW50c0ZvclJ1bnMgPSBMaW5lTGV2ZWxWaXN1YWxBZGp1c3RtZW50
c0ZvclJ1bnNMaXN0IHsgbGluZXMuc2l6ZSgpIH07CiAgICAgYXV0byYgcm9vdFN0eWxlID0gbV9s
YXlvdXRTdGF0ZS5yb290KCkuc3R5bGUoKTsKLSAgICBhdXRvIHNob3VsZENoZWNrSG9yaXpvbnRh
bE92ZXJmbG93Rm9yQ29udGVudFJlcGxhY2VtZW50ID0gcm9vdFN0eWxlLm92ZXJmbG93WCgpID09
IE92ZXJmbG93OjpIaWRkZW4gJiYgcm9vdFN0eWxlLnRleHRPdmVyZmxvdygpICE9IFRleHRPdmVy
Zmxvdzo6Q2xpcDsKIAotICAgIGF1dG8gbGluZUxldmVsVmlzdWFsQWRqdXN0bWVudHNGb3JSdW5z
ID0gTGluZUxldmVsVmlzdWFsQWRqdXN0bWVudHNGb3JSdW5zTGlzdCB7IGxpbmVzLnNpemUoKSB9
OwotICAgIGZvciAoc2l6ZV90IGxpbmVJbmRleCA9IDA7IGxpbmVJbmRleCA8IGxpbmVzLnNpemUo
KTsgKytsaW5lSW5kZXgpIHsKLSAgICAgICAgYXV0byBsaW5lTmVlZHNMZWdhY3lJbnRlZ3JhbFZl
cnRpY2FsUG9zaXRpb24gPSBbJl0geworICAgIGF1dG8gaW5saW5lTGV2ZWxCb3hQcmV2ZW50c0lu
dGVncmFsUG9zaXRpb24gPSBmYWxzZTsKKyAgICBzaXplX3QgbGluZUluZGV4VG9DaGVjayA9IDA7
CisgICAgZm9yIChhdXRvJiBsaW5lUnVuIDogbGluZVJ1bnMpIHsKKyAgICAgICAgYXV0byBsaW5l
SW5kZXggPSBsaW5lUnVuLmxpbmVJbmRleCgpOworICAgICAgICBhdXRvJiBsYXlvdXRCb3ggPSBs
aW5lUnVuLmxheW91dEJveCgpOworCisgICAgICAgIGlmIChsaW5lSW5kZXhUb0NoZWNrICE9IGxp
bmVJbmRleCkgeworICAgICAgICAgICAgbGluZUxldmVsVmlzdWFsQWRqdXN0bWVudHNGb3JSdW5z
W2xpbmVJbmRleFRvQ2hlY2tdLm5lZWRzSW50ZWdyYWxQb3NpdGlvbiA9ICFpbmxpbmVMZXZlbEJv
eFByZXZlbnRzSW50ZWdyYWxQb3NpdGlvbjsKKyAgICAgICAgICAgIGxpbmVJbmRleFRvQ2hlY2sg
PSBsaW5lSW5kZXg7CisgICAgICAgICAgICBpbmxpbmVMZXZlbEJveFByZXZlbnRzSW50ZWdyYWxQ
b3NpdGlvbiA9IGZhbHNlOworICAgICAgICB9CisKKyAgICAgICAgaWYgKCFsYXlvdXRCb3guaXNJ
bmxpbmVMZXZlbEJveCgpIHx8IGlubGluZUxldmVsQm94UHJldmVudHNJbnRlZ3JhbFBvc2l0aW9u
KQorICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgYXV0byBpbmxpbmVMZXZlbEJveFBy
ZXZlbnRzTGVnYWN5SW50ZWdyYWxWZXJ0aWNhbFBvc2l0aW9uID0gWyZdIHsKKyAgICAgICAgICAg
IEFTU0VSVChsYXlvdXRCb3guaXNJbmxpbmVMZXZlbEJveCgpKTsKICAgICAgICAgICAgIC8vIExl
Z2FjeSBpbmxpbmUgdHJlZSBpbnRlZ3JhbCByb3VuZHMgdGhlIHZlcnRpY2FsIHBvc2l0aW9uIGZv
ciBjZXJ0YWluIGNvbnRlbnQgKHNlZSBMZWdhY3lJbmxpbmVGbG93Qm94OjpwbGFjZUJveGVzSW5C
bG9ja0RpcmVjdGlvbiBhbmQgOjphZGRUb0xpbmUpLgotICAgICAgICAgICAgYXV0byYgbm9uUm9v
dElubGluZUxldmVsQm94TGlzdCA9IGlubGluZUZvcm1hdHRpbmdTdGF0ZS5saW5lQm94ZXMoKVts
aW5lSW5kZXhdLm5vblJvb3RJbmxpbmVMZXZlbEJveGVzKCk7Ci0gICAgICAgICAgICBpZiAobm9u
Um9vdElubGluZUxldmVsQm94TGlzdC5pc0VtcHR5KCkpIHsKLSAgICAgICAgICAgICAgICAvLyBU
aGlzIGlzIHRleHQgY29udGVudCBvbmx5IHdpdGggcm9vdCBpbmxpbmUgYm94LgorICAgICAgICAg
ICAgLy8gU2VlIHNob3VsZENsZWFyRGVzY2VuZGFudHNIYXZlU2FtZUxpbmVIZWlnaHRBbmRCYXNl
bGluZSBpbiBMZWdhY3lJbmxpbmVGbG93Qm94OjphZGRUb0xpbmUuCisgICAgICAgICAgICBhdXRv
IGNvbnRlbnRQcmV2ZW50c0ludGVncmFsU25hcHBpbmcgPSBsaW5lUnVuLmlzQXRvbWljSW5saW5l
TGV2ZWxCb3goKSB8fCAobGluZVJ1bi5pc0xpbmVCcmVhaygpICYmICFtX2xheW91dFN0YXRlLmlu
U3RhbmRhcmRzTW9kZSgpKTsKKyAgICAgICAgICAgIGlmIChjb250ZW50UHJldmVudHNJbnRlZ3Jh
bFNuYXBwaW5nKQogICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICAgICAgfQot
ICAgICAgICAgICAgZm9yIChhdXRvJiBpbmxpbmVMZXZlbEJveCA6IG5vblJvb3RJbmxpbmVMZXZl
bEJveExpc3QpIHsKLSAgICAgICAgICAgICAgICAvLyBTZWUgc2hvdWxkQ2xlYXJEZXNjZW5kYW50
c0hhdmVTYW1lTGluZUhlaWdodEFuZEJhc2VsaW5lIGluIExlZ2FjeUlubGluZUZsb3dCb3g6OmFk
ZFRvTGluZS4KLSAgICAgICAgICAgICAgICBhdXRvIGNvbnRlbnRQcmV2ZW50c0ludGVncmFsU25h
cHBpbmcgPSBpbmxpbmVMZXZlbEJveC5pc0F0b21pY0lubGluZUxldmVsQm94KCkgfHwgKGlubGlu
ZUxldmVsQm94LmlzTGluZUJyZWFrQm94KCkgJiYgIW1fbGF5b3V0U3RhdGUuaW5TdGFuZGFyZHNN
b2RlKCkpOwotICAgICAgICAgICAgICAgIGlmIChjb250ZW50UHJldmVudHNJbnRlZ3JhbFNuYXBw
aW5nKQotICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICAgICAgICAgICAg
ICBhdXRvJiBpbmxpbmVMZXZlbEJveFN0eWxlID0gaW5saW5lTGV2ZWxCb3guc3R5bGUoKTsKLSAg
ICAgICAgICAgICAgICBhdXRvIHN0eWxlUHJldmVudHNJbnRlZ3JhbFNuYXBwaW5nID0gcm9vdFN0
eWxlLmxpbmVIZWlnaHQoKSAhPSBpbmxpbmVMZXZlbEJveFN0eWxlLmxpbmVIZWlnaHQoKSB8fCBp
bmxpbmVMZXZlbEJveFN0eWxlLnZlcnRpY2FsQWxpZ24oKSAhPSBWZXJ0aWNhbEFsaWduOjpCYXNl
bGluZTsKLSAgICAgICAgICAgICAgICBpZiAoc3R5bGVQcmV2ZW50c0ludGVncmFsU25hcHBpbmcp
Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgICAgICAgICAgICAgIGF1
dG8mIHJvb3RGb250TWV0cmljcyA9IHJvb3RTdHlsZS5mb250Q2FzY2FkZSgpLmZvbnRNZXRyaWNz
KCk7Ci0gICAgICAgICAgICAgICAgYXV0byYgaW5saW5lTGV2ZWxCb3hGb250TWV0cmljcyA9IGlu
bGluZUxldmVsQm94U3R5bGUuZm9udENhc2NhZGUoKS5mb250TWV0cmljcygpOwotICAgICAgICAg
ICAgICAgIGF1dG8gZm9udFByZXZlbnRzSW50ZWdyYWxTbmFwcGluZyA9ICFyb290Rm9udE1ldHJp
Y3MuaGFzSWRlbnRpY2FsQXNjZW50RGVzY2VudEFuZExpbmVHYXAoaW5saW5lTGV2ZWxCb3hGb250
TWV0cmljcyk7Ci0gICAgICAgICAgICAgICAgaWYgKGZvbnRQcmV2ZW50c0ludGVncmFsU25hcHBp
bmcpCi0gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgIHJldHVybiB0cnVlOworCisgICAgICAgICAgICBhdXRvJiBpbmxpbmVMZXZlbEJv
eFN0eWxlID0gbGF5b3V0Qm94LnN0eWxlKCk7CisgICAgICAgICAgICBhdXRvIHN0eWxlUHJldmVu
dHNJbnRlZ3JhbFNuYXBwaW5nID0gcm9vdFN0eWxlLmxpbmVIZWlnaHQoKSAhPSBpbmxpbmVMZXZl
bEJveFN0eWxlLmxpbmVIZWlnaHQoKSB8fCBpbmxpbmVMZXZlbEJveFN0eWxlLnZlcnRpY2FsQWxp
Z24oKSAhPSBWZXJ0aWNhbEFsaWduOjpCYXNlbGluZTsKKyAgICAgICAgICAgIGlmIChzdHlsZVBy
ZXZlbnRzSW50ZWdyYWxTbmFwcGluZykKKyAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKwor
ICAgICAgICAgICAgYXV0byYgcm9vdEZvbnRNZXRyaWNzID0gcm9vdFN0eWxlLmZvbnRDYXNjYWRl
KCkuZm9udE1ldHJpY3MoKTsKKyAgICAgICAgICAgIGF1dG8mIGlubGluZUxldmVsQm94Rm9udE1l
dHJpY3MgPSBpbmxpbmVMZXZlbEJveFN0eWxlLmZvbnRDYXNjYWRlKCkuZm9udE1ldHJpY3MoKTsK
KyAgICAgICAgICAgIGF1dG8gZm9udFByZXZlbnRzSW50ZWdyYWxTbmFwcGluZyA9ICFyb290Rm9u
dE1ldHJpY3MuaGFzSWRlbnRpY2FsQXNjZW50RGVzY2VudEFuZExpbmVHYXAoaW5saW5lTGV2ZWxC
b3hGb250TWV0cmljcyk7CisgICAgICAgICAgICByZXR1cm4gZm9udFByZXZlbnRzSW50ZWdyYWxT
bmFwcGluZzsKICAgICAgICAgfTsKLSAgICAgICAgbGluZUxldmVsVmlzdWFsQWRqdXN0bWVudHNG
b3JSdW5zW2xpbmVJbmRleF0ubmVlZHNJbnRlZ3JhbFBvc2l0aW9uID0gbGluZU5lZWRzTGVnYWN5
SW50ZWdyYWxWZXJ0aWNhbFBvc2l0aW9uKCk7Ci0gICAgICAgIGlmIChzaG91bGRDaGVja0hvcml6
b250YWxPdmVyZmxvd0ZvckNvbnRlbnRSZXBsYWNlbWVudCkgewotICAgICAgICAgICAgYXV0byYg
bGluZSA9IGxpbmVzW2xpbmVJbmRleF07Ci0gICAgICAgICAgICBhdXRvIGxpbmVCb3hMb2dpY2Fs
V2lkdGggPSBsaW5lLmxpbmVCb3hMb2dpY2FsUmVjdCgpLndpZHRoKCk7Ci0gICAgICAgICAgICBh
dXRvIG92ZXJmbG93V2lkdGggPSBsaW5lT3ZlcmZsb3dXaWR0aChtX2Jsb2NrRmxvdywgbGluZUJv
eExvZ2ljYWxXaWR0aCwgbGluZS5jb250ZW50TG9naWNhbFdpZHRoKCkpOwotICAgICAgICAgICAg
bGluZUxldmVsVmlzdWFsQWRqdXN0bWVudHNGb3JSdW5zW2xpbmVJbmRleF0ubmVlZHNUcmFpbGlu
Z0NvbnRlbnRSZXBsYWNlbWVudCA9IG92ZXJmbG93V2lkdGggPiBsaW5lQm94TG9naWNhbFdpZHRo
OwotICAgICAgICB9CisgICAgICAgIGlubGluZUxldmVsQm94UHJldmVudHNJbnRlZ3JhbFBvc2l0
aW9uID0gaW5saW5lTGV2ZWxCb3hQcmV2ZW50c0xlZ2FjeUludGVncmFsVmVydGljYWxQb3NpdGlv
bigpOworICAgIH0KKyAgICBsaW5lTGV2ZWxWaXN1YWxBZGp1c3RtZW50c0ZvclJ1bnNbbGluZUlu
ZGV4VG9DaGVja10ubmVlZHNJbnRlZ3JhbFBvc2l0aW9uID0gIWlubGluZUxldmVsQm94UHJldmVu
dHNJbnRlZ3JhbFBvc2l0aW9uOworCisgICAgYXV0byBzaG91bGRDaGVja0hvcml6b250YWxPdmVy
Zmxvd0ZvckNvbnRlbnRSZXBsYWNlbWVudCA9IHJvb3RTdHlsZS5vdmVyZmxvd1goKSA9PSBPdmVy
Zmxvdzo6SGlkZGVuICYmIHJvb3RTdHlsZS50ZXh0T3ZlcmZsb3coKSAhPSBUZXh0T3ZlcmZsb3c6
OkNsaXA7CisgICAgaWYgKCFzaG91bGRDaGVja0hvcml6b250YWxPdmVyZmxvd0ZvckNvbnRlbnRS
ZXBsYWNlbWVudCkKKyAgICAgICAgcmV0dXJuIGxpbmVMZXZlbFZpc3VhbEFkanVzdG1lbnRzRm9y
UnVuczsKKworICAgIGZvciAoc2l6ZV90IGxpbmVJbmRleCA9IDA7IGxpbmVJbmRleCA8IGxpbmVz
LnNpemUoKTsgKytsaW5lSW5kZXgpIHsKKyAgICAgICAgYXV0byYgbGluZSA9IGxpbmVzW2xpbmVJ
bmRleF07CisgICAgICAgIGF1dG8gbGluZUJveExvZ2ljYWxXaWR0aCA9IGxpbmUubGluZUJveExv
Z2ljYWxSZWN0KCkud2lkdGgoKTsKKyAgICAgICAgYXV0byBvdmVyZmxvd1dpZHRoID0gbGluZU92
ZXJmbG93V2lkdGgobV9ibG9ja0Zsb3csIGxpbmVCb3hMb2dpY2FsV2lkdGgsIGxpbmUuY29udGVu
dExvZ2ljYWxXaWR0aCgpKTsKKyAgICAgICAgbGluZUxldmVsVmlzdWFsQWRqdXN0bWVudHNGb3JS
dW5zW2xpbmVJbmRleF0ubmVlZHNUcmFpbGluZ0NvbnRlbnRSZXBsYWNlbWVudCA9IG92ZXJmbG93
V2lkdGggPiBsaW5lQm94TG9naWNhbFdpZHRoOwogICAgIH0KICAgICByZXR1cm4gbGluZUxldmVs
VmlzdWFsQWRqdXN0bWVudHNGb3JSdW5zOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uSW5saW5lQ29udGVudEJ1aWxkZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbklu
bGluZUNvbnRlbnRCdWlsZGVyLmgKaW5kZXggMmZiMDFlMmQyZjA2NzQxZTQ0YTgyMDYxYzAyM2Qw
YjVlZDgyNmQyNS4uZmE5MDgwMDZhOTQyOWEyNmNhN2ZmMmFlMThjMGFjN2FjM2NmY2Y5MiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0
aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50
ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250ZW50QnVpbGRlci5oCkBAIC00OSw3
ICs0OSw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgdXNpbmcgTGluZUxldmVsVmlzdWFsQWRq
dXN0bWVudHNGb3JSdW5zTGlzdCA9IFZlY3RvcjxMaW5lTGV2ZWxWaXN1YWxBZGp1c3RtZW50c0Zv
clJ1bnM+OwogCi0gICAgTGluZUxldmVsVmlzdWFsQWRqdXN0bWVudHNGb3JSdW5zTGlzdCBjb21w
dXRlTGluZUxldmVsVmlzdWFsQWRqdXN0bWVudHNGb3JSdW5zKGNvbnN0IExheW91dDo6SW5saW5l
Rm9ybWF0dGluZ1N0YXRlJikgY29uc3Q7CisgICAgTGluZUxldmVsVmlzdWFsQWRqdXN0bWVudHNG
b3JSdW5zTGlzdCBjb21wdXRlTGluZUxldmVsVmlzdWFsQWRqdXN0bWVudHNGb3JSdW5zKGNvbnN0
IExheW91dDo6SW5saW5lTGluZXMmLCBjb25zdCBMYXlvdXQ6OklubGluZUxpbmVSdW5zJikgY29u
c3Q7CiAgICAgdm9pZCBjcmVhdGVEaXNwbGF5TGluZVJ1bnMoY29uc3QgTGF5b3V0OjpJbmxpbmVM
aW5lcyYsIGNvbnN0IExheW91dDo6SW5saW5lTGluZVJ1bnMmLCBJbmxpbmVDb250ZW50JiwgY29u
c3QgTGluZUxldmVsVmlzdWFsQWRqdXN0bWVudHNGb3JSdW5zTGlzdCYpIGNvbnN0OwogICAgIHZv
aWQgY3JlYXRlRGlzcGxheUxpbmVzKGNvbnN0IExheW91dDo6SW5saW5lTGluZXMmLCBJbmxpbmVD
b250ZW50JiwgY29uc3QgTGluZUxldmVsVmlzdWFsQWRqdXN0bWVudHNGb3JSdW5zTGlzdCYpIGNv
bnN0OwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>436513</attachid>
            <date>2021-08-26 08:53:08 -0700</date>
            <delta_ts>2021-08-26 16:00:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-228069-20210826085307.patch</filename>
            <type>text/plain</type>
            <size>15717</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxNjEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWZjNTgxNzlkM2M1NGIz
YmVkYzViNWQzMzZiZWNkZTJiNjVjMjk0YS4uODNkNmE4OTgzMDEyNjJjOGRhMWQwYWVkODU4YmYw
YmEwN2Y1MmQ1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIxLTA4LTI1ICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtJbnRlZ3JhdGlvbl0g
VXNlIHRoZSBsaW5lIHJ1bnMgdG8gY2hlY2sgZm9yIGxlZ2FjeSBpbnRlZ3JhbCBwb3NpdGlvbmlu
ZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI4MDY5
CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84MTA4Nzg1Nz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBBbnR0aSBLb2l2aXN0by4KKworICAgICAgICBOb3cgdGhhdCB0aGUgbGluZSBydW5zIGxpc3Qg
aGFzIGFsbCB0aGUgaW5saW5lIGJveGVzIChpbmNsdWRpbmcgc3Bhbm5pbmcgaW5saW5lIGJveGVz
KSwgd2UKKyAgICAgICAgY2FuIHVzZSB0aGlzIGxpc3QgdG8gY2hlY2sgZm9yIGxlZ2FjeSBpbnRl
Z3JhbCBwb3NpdGlvbmluZyBhbmQgbm90IGRpcmVjdGx5IGl0ZXJhdGluZyB0aGUgTGluZUJveCdz
IG5vbi1yb290aW5saW5lYm94IGxpc3QuCisgICAgICAgIFdoaWxlIHRoaXMgbWF5IGJlIGEgYml0
IG1vcmUgZXhwZW5zaXZlLCB0aGUgbGVnYWN5IHBvc2l0aW9uaW5nIGlzIHRlbXBvcmFyeSBhbmQg
d2lsbCBiZSByZW1vdmVkIHNob3J0bHkuCisKKyAgICAgICAgVGhpcyBpcyBpbiBwcmVwYXJhdGlv
biBmb3Iga2VlcGluZyB0aGUgaW5saW5lIGJveCBzdHJ1Y3R1cmUgcHJpdmF0ZSB0byB0aGUgbGF5
b3V0IGNvZGUuCisKKyAgICAgICAgKiBsYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRp
b25JbmxpbmVDb250ZW50QnVpbGRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXRJbnRl
Z3JhdGlvbjo6SW5saW5lQ29udGVudEJ1aWxkZXI6OmJ1aWxkIGNvbnN0KToKKyAgICAgICAgKFdl
YkNvcmU6OkxheW91dEludGVncmF0aW9uOjpJbmxpbmVDb250ZW50QnVpbGRlcjo6Y29tcHV0ZUxp
bmVMZXZlbFZpc3VhbEFkanVzdG1lbnRzRm9yUnVucyBjb25zdCk6CisgICAgICAgICogbGF5b3V0
L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuaDoKKwog
MjAyMS0wOC0yNSAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAg
ICAgICBSZW1vdmUgc29tZSBpT1Mtc3BlY2lmaWMgY29tcGlsZS10aW1lIGd1YXJkcyB0aGF0IGFy
ZSBubyBsb25nZXIgbmVlZGVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9y
bWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVGb3JtYXR0
aW5nQ29udGV4dC5jcHAKaW5kZXggMDNiYzQ0ZGI5N2U2NjI4MzJkNTg4MDE5ODE1ZWM4OTg0ZTM2
MzI0Yy4uNjMxYmNkMDJlOWI2MWEzMWU5ZjQzMTEzOWY4ZTBiNDI5MWY5YmQ4OCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5l
Rm9ybWF0dGluZ0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0
aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmNwcApAQCAtNjIyLDE0
ICs2MjIsMTQgQEAgSW5saW5lUmVjdCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZUdl
b21ldHJ5Rm9yTGluZUNvbnRlbnQoY29uc3QgTGluZUJ1aWwKICAgICAgICAgICAgICAgICBpZiAo
bGF5b3V0Qm94LmlzTGluZUJyZWFrQm94KCkpIHsKICAgICAgICAgICAgICAgICAgICAgLy8gT25s
eSBoYXJkIGxpbmVicmVha3MgaGF2ZSBhc3NvY2lhdGVkIGxheW91dCBib3hlcy4KICAgICAgICAg
ICAgICAgICAgICAgYXV0byBsaW5lQnJlYWtCb3hSZWN0ID0gbGluZUJveC5sb2dpY2FsUmVjdEZv
ckxpbmVCcmVha0JveChsYXlvdXRCb3gpOwotICAgICAgICAgICAgICAgICAgICBmb3JtYXR0aW5n
U3RhdGUuYWRkTGluZVJ1bih7IGxpbmVJbmRleCwgTGluZVJ1bjo6VHlwZTo6TGluZUJyZWFrLCBs
YXlvdXRCb3gsIGxpbmVCcmVha0JveFJlY3QsIGxpbmVSdW4uZXhwYW5zaW9uKCksIHsgfSB9KTsK
KyAgICAgICAgICAgICAgICAgICAgZm9ybWF0dGluZ1N0YXRlLmFkZExpbmVSdW4oeyBsaW5lSW5k
ZXgsIExpbmVSdW46OlR5cGU6OkxpbmVCcmVha0JveCwgbGF5b3V0Qm94LCBsaW5lQnJlYWtCb3hS
ZWN0LCBsaW5lUnVuLmV4cGFuc2lvbigpLCB7IH0gfSk7CiAKICAgICAgICAgICAgICAgICAgICAg
YXV0byYgYm94R2VvbWV0cnkgPSBmb3JtYXR0aW5nU3RhdGUuYm94R2VvbWV0cnkobGF5b3V0Qm94
KTsKICAgICAgICAgICAgICAgICAgICAgbGluZUJyZWFrQm94UmVjdC5tb3ZlQnkobGluZUJveExv
Z2ljYWxSZWN0LnRvcExlZnQoKSk7CiAgICAgICAgICAgICAgICAgICAgIGJveEdlb21ldHJ5LnNl
dExvZ2ljYWxUb3BMZWZ0KHRvTGF5b3V0UG9pbnQobGluZUJyZWFrQm94UmVjdC50b3BMZWZ0KCkp
KTsKICAgICAgICAgICAgICAgICAgICAgYm94R2VvbWV0cnkuc2V0Q29udGVudEJveEhlaWdodCh0
b0xheW91dFVuaXQobGluZUJyZWFrQm94UmVjdC5oZWlnaHQoKSkpOwogICAgICAgICAgICAgICAg
IH0gZWxzZSAKLSAgICAgICAgICAgICAgICAgICAgZm9ybWF0dGluZ1N0YXRlLmFkZExpbmVSdW4o
eyBsaW5lSW5kZXgsIExpbmVSdW46OlR5cGU6OkxpbmVCcmVhaywgbGF5b3V0Qm94LCBsaW5lQm94
LmxvZ2ljYWxSZWN0Rm9yVGV4dFJ1bihsaW5lUnVuKSwgbGluZVJ1bi5leHBhbnNpb24oKSwgbGlu
ZVJ1bi50ZXh0Q29udGVudCgpIH0pOworICAgICAgICAgICAgICAgICAgICBmb3JtYXR0aW5nU3Rh
dGUuYWRkTGluZVJ1bih7IGxpbmVJbmRleCwgTGluZVJ1bjo6VHlwZTo6U29mdExpbmVCcmVhaywg
bGF5b3V0Qm94LCBsaW5lQm94LmxvZ2ljYWxSZWN0Rm9yVGV4dFJ1bihsaW5lUnVuKSwgbGluZVJ1
bi5leHBhbnNpb24oKSwgbGluZVJ1bi50ZXh0Q29udGVudCgpIH0pOwogICAgICAgICAgICAgICAg
IGNvbnRpbnVlOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgaWYgKGxpbmVSdW4uaXNCb3go
KSkgewpAQCAtNjUwLDcgKzY1MCw3IEBAIElubGluZVJlY3QgSW5saW5lRm9ybWF0dGluZ0NvbnRl
eHQ6OmNvbXB1dGVHZW9tZXRyeUZvckxpbmVDb250ZW50KGNvbnN0IExpbmVCdWlsCiAgICAgICAg
ICAgICBpZiAobGluZVJ1bi5pc0lubGluZUJveFN0YXJ0KCkpIHsKICAgICAgICAgICAgICAgICBh
dXRvJiBib3hHZW9tZXRyeSA9IGZvcm1hdHRpbmdTdGF0ZS5ib3hHZW9tZXRyeShsYXlvdXRCb3gp
OwogICAgICAgICAgICAgICAgIGF1dG8gaW5saW5lQm94TG9naWNhbFJlY3QgPSBsaW5lQm94Lmxv
Z2ljYWxCb3JkZXJCb3hGb3JJbmxpbmVCb3gobGF5b3V0Qm94LCBib3hHZW9tZXRyeSk7Ci0gICAg
ICAgICAgICAgICAgZm9ybWF0dGluZ1N0YXRlLmFkZExpbmVSdW4oeyBsaW5lSW5kZXgsIExpbmVS
dW46OlR5cGU6OklubGluZUJveCwgbGF5b3V0Qm94LCBpbmxpbmVCb3hMb2dpY2FsUmVjdCwgbGlu
ZVJ1bi5leHBhbnNpb24oKSwgeyB9LCBsaW5lQm94LmlubGluZUxldmVsQm94Rm9yTGF5b3V0Qm94
KGxheW91dEJveCkuaGFzQ29udGVudCgpIH0pOworICAgICAgICAgICAgICAgIGZvcm1hdHRpbmdT
dGF0ZS5hZGRMaW5lUnVuKHsgbGluZUluZGV4LCBMaW5lUnVuOjpUeXBlOjpOb25Sb290SW5saW5l
Qm94LCBsYXlvdXRCb3gsIGlubGluZUJveExvZ2ljYWxSZWN0LCBsaW5lUnVuLmV4cGFuc2lvbigp
LCB7IH0sIGxpbmVCb3guaW5saW5lTGV2ZWxCb3hGb3JMYXlvdXRCb3gobGF5b3V0Qm94KS5oYXND
b250ZW50KCkgfSk7CiAgICAgICAgICAgICAgICAgaW5saW5lQm94U3RhcnRTZXQuYWRkKCZsYXlv
dXRCb3gpOwogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgfQpAQCAtNjg1
LDcgKzY4NSw3IEBAIElubGluZVJlY3QgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVH
ZW9tZXRyeUZvckxpbmVDb250ZW50KGNvbnN0IExpbmVCdWlsCiAgICAgICAgICAgICAgICAgY29u
dGludWU7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICAvLyBNaWRkbGUgb3IgZW5kIG9mIHRo
ZSBpbmxpbmUgYm94LiBMZXQncyBzdHJldGNoIHRoZSBib3ggYXMgbmVlZGVkLgotICAgICAgICAg
ICAgZm9ybWF0dGluZ1N0YXRlLmxpbmVSdW5zKCkuaW5zZXJ0KGxpbmVTcGFubmluZ0lubGluZUJv
eEluZGV4KyssIHsgbGluZUluZGV4LCBMaW5lUnVuOjpUeXBlOjpJbmxpbmVCb3gsIGxheW91dEJv
eCwgaW5saW5lQm94Qm9yZGVyQm94LCB7IH0sIHsgfSwgaW5saW5lTGV2ZWxCb3guaGFzQ29udGVu
dCgpLCB0cnVlIH0pOworICAgICAgICAgICAgZm9ybWF0dGluZ1N0YXRlLmxpbmVSdW5zKCkuaW5z
ZXJ0KGxpbmVTcGFubmluZ0lubGluZUJveEluZGV4KyssIHsgbGluZUluZGV4LCBMaW5lUnVuOjpU
eXBlOjpOb25Sb290SW5saW5lQm94LCBsYXlvdXRCb3gsIGlubGluZUJveEJvcmRlckJveCwgeyB9
LCB7IH0sIGlubGluZUxldmVsQm94Lmhhc0NvbnRlbnQoKSwgdHJ1ZSB9KTsKIAogICAgICAgICAg
ICAgYXV0byBlbmNsb3NpbmdCb3JkZXJCb3hSZWN0ID0gQm94R2VvbWV0cnk6OmJvcmRlckJveFJl
Y3QoYm94R2VvbWV0cnkpOwogICAgICAgICAgICAgZW5jbG9zaW5nQm9yZGVyQm94UmVjdC5leHBh
bmRUb0NvbnRhaW4obG9naWNhbFJlY3QpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZVJ1bi5oIGIvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZVJ1bi5oCmlu
ZGV4IGJhMWE2ZWMzNjUwYjFhMDA0MTk1ZGFmMGY3NDY2Y2NmNTcwYzE1ODguLmMyOWNmYTU3Njlk
Zjk2NTMyMjk5OGUzNzk4M2ZkMjkwM2MwOGU5OTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVSdW4uaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5l
UnVuLmgKQEAgLTYxLDkgKzYxLDEwIEBAIHN0cnVjdCBMaW5lUnVuIHsKIAogICAgIGVudW0gY2xh
c3MgVHlwZSB7CiAgICAgICAgIFRleHQsCi0gICAgICAgIExpbmVCcmVhaywKKyAgICAgICAgU29m
dExpbmVCcmVhaywKKyAgICAgICAgTGluZUJyZWFrQm94LAogICAgICAgICBBdG9taWNJbmxpbmVM
ZXZlbEJveCwKLSAgICAgICAgSW5saW5lQm94LAorICAgICAgICBOb25Sb290SW5saW5lQm94LAog
ICAgICAgICBSb290SW5saW5lQm94LAogICAgICAgICBHZW5lcmljSW5saW5lTGV2ZWxCb3gKICAg
ICB9OwpAQCAtNzEsMTAgKzcyLDE2IEBAIHN0cnVjdCBMaW5lUnVuIHsKICAgICBMaW5lUnVuKHNp
emVfdCBsaW5lSW5kZXgsIFR5cGUsIGNvbnN0IEJveCYsIGNvbnN0IElubGluZVJlY3QmLCBFeHBh
bnNpb24sIHN0ZDo6b3B0aW9uYWw8VGV4dD4gPSBzdGQ6Om51bGxvcHQsIGJvb2wgaGFzQ29udGVu
dCA9IHRydWUsIGJvb2wgaXNMaW5lU3Bhbm5pbmcgPSBmYWxzZSk7CiAKICAgICBib29sIGlzVGV4
dCgpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZSA9PSBUeXBlOjpUZXh0OyB9Ci0gICAgYm9vbCBpc0xp
bmVCcmVhaygpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZSA9PSBUeXBlOjpMaW5lQnJlYWs7IH0KKyAg
ICBib29sIGlzU29mdExpbmVCcmVhaygpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZSA9PSBUeXBlOjpT
b2Z0TGluZUJyZWFrOyB9CisgICAgYm9vbCBpc0xpbmVCcmVha0JveCgpIGNvbnN0IHsgcmV0dXJu
IG1fdHlwZSA9PSBUeXBlOjpMaW5lQnJlYWtCb3g7IH0KKyAgICBib29sIGlzTGluZUJyZWFrKCkg
Y29uc3QgeyByZXR1cm4gaXNTb2Z0TGluZUJyZWFrKCkgfHwgaXNMaW5lQnJlYWtCb3goKTsgfQog
ICAgIGJvb2wgaXNBdG9taWNJbmxpbmVMZXZlbEJveCgpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZSA9
PSBUeXBlOjpBdG9taWNJbmxpbmVMZXZlbEJveDsgfQotICAgIGJvb2wgaXNJbmxpbmVCb3goKSBj
b25zdCB7IHJldHVybiBtX3R5cGUgPT0gVHlwZTo6SW5saW5lQm94IHx8IGlzUm9vdElubGluZUJv
eCgpOyB9CisgICAgYm9vbCBpc0lubGluZUJveCgpIGNvbnN0IHsgcmV0dXJuIGlzTm9uUm9vdElu
bGluZUJveCgpIHx8IGlzUm9vdElubGluZUJveCgpOyB9CisgICAgYm9vbCBpc05vblJvb3RJbmxp
bmVCb3goKSBjb25zdCB7IHJldHVybiBtX3R5cGUgPT0gVHlwZTo6Tm9uUm9vdElubGluZUJveDsg
fQogICAgIGJvb2wgaXNSb290SW5saW5lQm94KCkgY29uc3QgeyByZXR1cm4gbV90eXBlID09IFR5
cGU6OlJvb3RJbmxpbmVCb3g7IH0KKyAgICBib29sIGlzR2VuZXJpY0lubGluZUxldmVsQm94KCkg
Y29uc3QgeyByZXR1cm4gbV90eXBlID09IFR5cGU6OkdlbmVyaWNJbmxpbmVMZXZlbEJveDsgfQor
ICAgIGJvb2wgaXNJbmxpbmVMZXZlbEJveCgpIGNvbnN0IHsgcmV0dXJuIGlzQXRvbWljSW5saW5l
TGV2ZWxCb3goKSB8fCBpc0xpbmVCcmVha0JveCgpIHx8IGlzSW5saW5lQm94KCkgfHwgaXNHZW5l
cmljSW5saW5lTGV2ZWxCb3goKTsgfQorICAgIGJvb2wgaXNOb25Sb290SW5saW5lTGV2ZWxCb3go
KSBjb25zdCB7IHJldHVybiBpc0lubGluZUxldmVsQm94KCkgJiYgIWlzUm9vdElubGluZUJveCgp
OyB9CiAgICAgVHlwZSB0eXBlKCkgY29uc3QgeyByZXR1cm4gbV90eXBlOyB9CiAKICAgICBib29s
IGhhc0NvbnRlbnQoKSBjb25zdCB7IHJldHVybiBtX2hhc0NvbnRlbnQ7IH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbklubGlu
ZUNvbnRlbnRCdWlsZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9M
YXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnRCdWlsZGVyLmNwcAppbmRleCBiNjNiMjA4YTdl
MmJiMTgxZWVmOTJjYTg2ZjUyYTM4OWFlZGNiZTE3Li42YjU2NmUyYWE3MmUyOGEyMzVlOTBhZGFm
ZjNkOTczYmNkOGEyODU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdy
YXRpb24vTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250ZW50QnVpbGRlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uSW5saW5lQ29u
dGVudEJ1aWxkZXIuY3BwCkBAIC0xNjQsNTIgKzE2NCw3MCBAQCBJbmxpbmVDb250ZW50QnVpbGRl
cjo6SW5saW5lQ29udGVudEJ1aWxkZXIoY29uc3QgTGF5b3V0OjpMYXlvdXRTdGF0ZSYgbGF5b3V0
U3RhdAogCiB2b2lkIElubGluZUNvbnRlbnRCdWlsZGVyOjpidWlsZChjb25zdCBMYXlvdXQ6Oklu
bGluZUZvcm1hdHRpbmdTdGF0ZSYgaW5saW5lRm9ybWF0dGluZ1N0YXRlLCBJbmxpbmVDb250ZW50
JiBpbmxpbmVDb250ZW50KSBjb25zdAogewotICAgIGF1dG8gbGluZUxldmVsVmlzdWFsQWRqdXN0
bWVudHNGb3JSdW5zID0gY29tcHV0ZUxpbmVMZXZlbFZpc3VhbEFkanVzdG1lbnRzRm9yUnVucyhp
bmxpbmVGb3JtYXR0aW5nU3RhdGUpOworICAgIGF1dG8gbGluZUxldmVsVmlzdWFsQWRqdXN0bWVu
dHNGb3JSdW5zID0gY29tcHV0ZUxpbmVMZXZlbFZpc3VhbEFkanVzdG1lbnRzRm9yUnVucyhpbmxp
bmVGb3JtYXR0aW5nU3RhdGUubGluZXMoKSwgaW5saW5lRm9ybWF0dGluZ1N0YXRlLmxpbmVSdW5z
KCkpOwogICAgIGNyZWF0ZURpc3BsYXlMaW5lUnVucyhpbmxpbmVGb3JtYXR0aW5nU3RhdGUubGlu
ZXMoKSwgaW5saW5lRm9ybWF0dGluZ1N0YXRlLmxpbmVSdW5zKCksIGlubGluZUNvbnRlbnQsIGxp
bmVMZXZlbFZpc3VhbEFkanVzdG1lbnRzRm9yUnVucyk7CiAgICAgY3JlYXRlRGlzcGxheUxpbmVz
KGlubGluZUZvcm1hdHRpbmdTdGF0ZS5saW5lcygpLCBpbmxpbmVDb250ZW50LCBsaW5lTGV2ZWxW
aXN1YWxBZGp1c3RtZW50c0ZvclJ1bnMpOwogfQogCi1JbmxpbmVDb250ZW50QnVpbGRlcjo6TGlu
ZUxldmVsVmlzdWFsQWRqdXN0bWVudHNGb3JSdW5zTGlzdCBJbmxpbmVDb250ZW50QnVpbGRlcjo6
Y29tcHV0ZUxpbmVMZXZlbFZpc3VhbEFkanVzdG1lbnRzRm9yUnVucyhjb25zdCBMYXlvdXQ6Oklu
bGluZUZvcm1hdHRpbmdTdGF0ZSYgaW5saW5lRm9ybWF0dGluZ1N0YXRlKSBjb25zdAorSW5saW5l
Q29udGVudEJ1aWxkZXI6OkxpbmVMZXZlbFZpc3VhbEFkanVzdG1lbnRzRm9yUnVuc0xpc3QgSW5s
aW5lQ29udGVudEJ1aWxkZXI6OmNvbXB1dGVMaW5lTGV2ZWxWaXN1YWxBZGp1c3RtZW50c0ZvclJ1
bnMoY29uc3QgTGF5b3V0OjpJbmxpbmVMaW5lcyYgbGluZXMsIGNvbnN0IExheW91dDo6SW5saW5l
TGluZVJ1bnMmIGxpbmVSdW5zKSBjb25zdAogewotICAgIGF1dG8mIGxpbmVzID0gaW5saW5lRm9y
bWF0dGluZ1N0YXRlLmxpbmVzKCk7CisgICAgYXV0byBsaW5lTGV2ZWxWaXN1YWxBZGp1c3RtZW50
c0ZvclJ1bnMgPSBMaW5lTGV2ZWxWaXN1YWxBZGp1c3RtZW50c0ZvclJ1bnNMaXN0IHsgbGluZXMu
c2l6ZSgpIH07CiAgICAgYXV0byYgcm9vdFN0eWxlID0gbV9sYXlvdXRTdGF0ZS5yb290KCkuc3R5
bGUoKTsKLSAgICBhdXRvIHNob3VsZENoZWNrSG9yaXpvbnRhbE92ZXJmbG93Rm9yQ29udGVudFJl
cGxhY2VtZW50ID0gcm9vdFN0eWxlLm92ZXJmbG93WCgpID09IE92ZXJmbG93OjpIaWRkZW4gJiYg
cm9vdFN0eWxlLnRleHRPdmVyZmxvdygpICE9IFRleHRPdmVyZmxvdzo6Q2xpcDsKIAotICAgIGF1
dG8gbGluZUxldmVsVmlzdWFsQWRqdXN0bWVudHNGb3JSdW5zID0gTGluZUxldmVsVmlzdWFsQWRq
dXN0bWVudHNGb3JSdW5zTGlzdCB7IGxpbmVzLnNpemUoKSB9OwotICAgIGZvciAoc2l6ZV90IGxp
bmVJbmRleCA9IDA7IGxpbmVJbmRleCA8IGxpbmVzLnNpemUoKTsgKytsaW5lSW5kZXgpIHsKLSAg
ICAgICAgYXV0byBsaW5lTmVlZHNMZWdhY3lJbnRlZ3JhbFZlcnRpY2FsUG9zaXRpb24gPSBbJl0g
eworICAgIGF1dG8gaW5saW5lTGV2ZWxCb3hQcmV2ZW50c0ludGVncmFsUG9zaXRpb24gPSBzdGQ6
Om9wdGlvbmFsPGJvb2w+IHsgfTsKKyAgICBzaXplX3QgbGluZUluZGV4VG9DaGVjayA9IDA7Cisg
ICAgZm9yIChhdXRvJiBsaW5lUnVuIDogbGluZVJ1bnMpIHsKKyAgICAgICAgYXV0byBsaW5lSW5k
ZXggPSBsaW5lUnVuLmxpbmVJbmRleCgpOworICAgICAgICBhdXRvJiBsYXlvdXRCb3ggPSBsaW5l
UnVuLmxheW91dEJveCgpOworCisgICAgICAgIGlmIChsaW5lSW5kZXhUb0NoZWNrICE9IGxpbmVJ
bmRleCkgeworICAgICAgICAgICAgYXV0byBsaW5lTmVlZHNJbnRlZ3JhbFBvc2l0aW9uaW5nID0g
WyZdIHsKKyAgICAgICAgICAgICAgICBpZiAoIWlubGluZUxldmVsQm94UHJldmVudHNJbnRlZ3Jh
bFBvc2l0aW9uLmhhc192YWx1ZSgpKSB7CisgICAgICAgICAgICAgICAgICAgIC8vIFRoaXMgbGlu
ZSBkb2VzIG5vdCBoYXZlIGFueSBub24tcm9vdCBpbmxpbmUgYm94ZXMuCisgICAgICAgICAgICAg
ICAgICAgIC8vIExpbmVzIGxpa2UgdGhpcyB3aXRoIHJvb3QgaW5saW5lIGJveCBvbmx5IGZvcmNl
IGludGVncmFsIHBvc2l0aW9uaW5nLgorICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgcmV0dXJuICEqaW5saW5lTGV2ZWxC
b3hQcmV2ZW50c0ludGVncmFsUG9zaXRpb247CisgICAgICAgICAgICB9OworICAgICAgICAgICAg
bGluZUxldmVsVmlzdWFsQWRqdXN0bWVudHNGb3JSdW5zW2xpbmVJbmRleFRvQ2hlY2tdLm5lZWRz
SW50ZWdyYWxQb3NpdGlvbiA9IGxpbmVOZWVkc0ludGVncmFsUG9zaXRpb25pbmcoKTsKKyAgICAg
ICAgICAgIGxpbmVJbmRleFRvQ2hlY2sgPSBsaW5lSW5kZXg7CisgICAgICAgICAgICBpbmxpbmVM
ZXZlbEJveFByZXZlbnRzSW50ZWdyYWxQb3NpdGlvbiA9IHsgfTsKKyAgICAgICAgfQorCisgICAg
ICAgIGlmICghbGluZVJ1bi5pc05vblJvb3RJbmxpbmVMZXZlbEJveCgpIHx8IGlubGluZUxldmVs
Qm94UHJldmVudHNJbnRlZ3JhbFBvc2l0aW9uKQorICAgICAgICAgICAgY29udGludWU7CisKKyAg
ICAgICAgYXV0byBpbmxpbmVMZXZlbEJveFByZXZlbnRzTGVnYWN5SW50ZWdyYWxWZXJ0aWNhbFBv
c2l0aW9uID0gWyZdIHsKKyAgICAgICAgICAgIEFTU0VSVChsaW5lUnVuLmlzTm9uUm9vdElubGlu
ZUxldmVsQm94KCkpOwogICAgICAgICAgICAgLy8gTGVnYWN5IGlubGluZSB0cmVlIGludGVncmFs
IHJvdW5kcyB0aGUgdmVydGljYWwgcG9zaXRpb24gZm9yIGNlcnRhaW4gY29udGVudCAoc2VlIExl
Z2FjeUlubGluZUZsb3dCb3g6OnBsYWNlQm94ZXNJbkJsb2NrRGlyZWN0aW9uIGFuZCA6OmFkZFRv
TGluZSkuCi0gICAgICAgICAgICBhdXRvJiBub25Sb290SW5saW5lTGV2ZWxCb3hMaXN0ID0gaW5s
aW5lRm9ybWF0dGluZ1N0YXRlLmxpbmVCb3hlcygpW2xpbmVJbmRleF0ubm9uUm9vdElubGluZUxl
dmVsQm94ZXMoKTsKLSAgICAgICAgICAgIGlmIChub25Sb290SW5saW5lTGV2ZWxCb3hMaXN0Lmlz
RW1wdHkoKSkgewotICAgICAgICAgICAgICAgIC8vIFRoaXMgaXMgdGV4dCBjb250ZW50IG9ubHkg
d2l0aCByb290IGlubGluZSBib3guCisgICAgICAgICAgICAvLyBTZWUgc2hvdWxkQ2xlYXJEZXNj
ZW5kYW50c0hhdmVTYW1lTGluZUhlaWdodEFuZEJhc2VsaW5lIGluIExlZ2FjeUlubGluZUZsb3dC
b3g6OmFkZFRvTGluZS4KKyAgICAgICAgICAgIGF1dG8gY29udGVudFByZXZlbnRzSW50ZWdyYWxT
bmFwcGluZyA9IGxpbmVSdW4uaXNBdG9taWNJbmxpbmVMZXZlbEJveCgpIHx8IChsaW5lUnVuLmlz
TGluZUJyZWFrQm94KCkgJiYgIW1fbGF5b3V0U3RhdGUuaW5TdGFuZGFyZHNNb2RlKCkpOworICAg
ICAgICAgICAgaWYgKGNvbnRlbnRQcmV2ZW50c0ludGVncmFsU25hcHBpbmcpCiAgICAgICAgICAg
ICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBmb3IgKGF1dG8m
IGlubGluZUxldmVsQm94IDogbm9uUm9vdElubGluZUxldmVsQm94TGlzdCkgewotICAgICAgICAg
ICAgICAgIC8vIFNlZSBzaG91bGRDbGVhckRlc2NlbmRhbnRzSGF2ZVNhbWVMaW5lSGVpZ2h0QW5k
QmFzZWxpbmUgaW4gTGVnYWN5SW5saW5lRmxvd0JveDo6YWRkVG9MaW5lLgotICAgICAgICAgICAg
ICAgIGF1dG8gY29udGVudFByZXZlbnRzSW50ZWdyYWxTbmFwcGluZyA9IGlubGluZUxldmVsQm94
LmlzQXRvbWljSW5saW5lTGV2ZWxCb3goKSB8fCAoaW5saW5lTGV2ZWxCb3guaXNMaW5lQnJlYWtC
b3goKSAmJiAhbV9sYXlvdXRTdGF0ZS5pblN0YW5kYXJkc01vZGUoKSk7Ci0gICAgICAgICAgICAg
ICAgaWYgKGNvbnRlbnRQcmV2ZW50c0ludGVncmFsU25hcHBpbmcpCi0gICAgICAgICAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKLQotICAgICAgICAgICAgICAgIGF1dG8mIGlubGluZUxldmVsQm94
U3R5bGUgPSBpbmxpbmVMZXZlbEJveC5zdHlsZSgpOwotICAgICAgICAgICAgICAgIGF1dG8gc3R5
bGVQcmV2ZW50c0ludGVncmFsU25hcHBpbmcgPSByb290U3R5bGUubGluZUhlaWdodCgpICE9IGlu
bGluZUxldmVsQm94U3R5bGUubGluZUhlaWdodCgpIHx8IGlubGluZUxldmVsQm94U3R5bGUudmVy
dGljYWxBbGlnbigpICE9IFZlcnRpY2FsQWxpZ246OkJhc2VsaW5lOwotICAgICAgICAgICAgICAg
IGlmIChzdHlsZVByZXZlbnRzSW50ZWdyYWxTbmFwcGluZykKLSAgICAgICAgICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOwotCi0gICAgICAgICAgICAgICAgYXV0byYgcm9vdEZvbnRNZXRyaWNzID0g
cm9vdFN0eWxlLmZvbnRDYXNjYWRlKCkuZm9udE1ldHJpY3MoKTsKLSAgICAgICAgICAgICAgICBh
dXRvJiBpbmxpbmVMZXZlbEJveEZvbnRNZXRyaWNzID0gaW5saW5lTGV2ZWxCb3hTdHlsZS5mb250
Q2FzY2FkZSgpLmZvbnRNZXRyaWNzKCk7Ci0gICAgICAgICAgICAgICAgYXV0byBmb250UHJldmVu
dHNJbnRlZ3JhbFNuYXBwaW5nID0gIXJvb3RGb250TWV0cmljcy5oYXNJZGVudGljYWxBc2NlbnRE
ZXNjZW50QW5kTGluZUdhcChpbmxpbmVMZXZlbEJveEZvbnRNZXRyaWNzKTsKLSAgICAgICAgICAg
ICAgICBpZiAoZm9udFByZXZlbnRzSW50ZWdyYWxTbmFwcGluZykKLSAgICAgICAgICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgcmV0dXJuIHRydWU7
CisKKyAgICAgICAgICAgIGF1dG8mIGlubGluZUxldmVsQm94U3R5bGUgPSBsYXlvdXRCb3guc3R5
bGUoKTsKKyAgICAgICAgICAgIGF1dG8gc3R5bGVQcmV2ZW50c0ludGVncmFsU25hcHBpbmcgPSBy
b290U3R5bGUubGluZUhlaWdodCgpICE9IGlubGluZUxldmVsQm94U3R5bGUubGluZUhlaWdodCgp
IHx8IGlubGluZUxldmVsQm94U3R5bGUudmVydGljYWxBbGlnbigpICE9IFZlcnRpY2FsQWxpZ246
OkJhc2VsaW5lOworICAgICAgICAgICAgaWYgKHN0eWxlUHJldmVudHNJbnRlZ3JhbFNuYXBwaW5n
KQorICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOworCisgICAgICAgICAgICBhdXRvJiByb290
Rm9udE1ldHJpY3MgPSByb290U3R5bGUuZm9udENhc2NhZGUoKS5mb250TWV0cmljcygpOworICAg
ICAgICAgICAgYXV0byYgaW5saW5lTGV2ZWxCb3hGb250TWV0cmljcyA9IGlubGluZUxldmVsQm94
U3R5bGUuZm9udENhc2NhZGUoKS5mb250TWV0cmljcygpOworICAgICAgICAgICAgYXV0byBmb250
UHJldmVudHNJbnRlZ3JhbFNuYXBwaW5nID0gIXJvb3RGb250TWV0cmljcy5oYXNJZGVudGljYWxB
c2NlbnREZXNjZW50QW5kTGluZUdhcChpbmxpbmVMZXZlbEJveEZvbnRNZXRyaWNzKTsKKyAgICAg
ICAgICAgIHJldHVybiBmb250UHJldmVudHNJbnRlZ3JhbFNuYXBwaW5nOwogICAgICAgICB9Owot
ICAgICAgICBsaW5lTGV2ZWxWaXN1YWxBZGp1c3RtZW50c0ZvclJ1bnNbbGluZUluZGV4XS5uZWVk
c0ludGVncmFsUG9zaXRpb24gPSBsaW5lTmVlZHNMZWdhY3lJbnRlZ3JhbFZlcnRpY2FsUG9zaXRp
b24oKTsKLSAgICAgICAgaWYgKHNob3VsZENoZWNrSG9yaXpvbnRhbE92ZXJmbG93Rm9yQ29udGVu
dFJlcGxhY2VtZW50KSB7Ci0gICAgICAgICAgICBhdXRvJiBsaW5lID0gbGluZXNbbGluZUluZGV4
XTsKLSAgICAgICAgICAgIGF1dG8gbGluZUJveExvZ2ljYWxXaWR0aCA9IGxpbmUubGluZUJveExv
Z2ljYWxSZWN0KCkud2lkdGgoKTsKLSAgICAgICAgICAgIGF1dG8gb3ZlcmZsb3dXaWR0aCA9IGxp
bmVPdmVyZmxvd1dpZHRoKG1fYmxvY2tGbG93LCBsaW5lQm94TG9naWNhbFdpZHRoLCBsaW5lLmNv
bnRlbnRMb2dpY2FsV2lkdGgoKSk7Ci0gICAgICAgICAgICBsaW5lTGV2ZWxWaXN1YWxBZGp1c3Rt
ZW50c0ZvclJ1bnNbbGluZUluZGV4XS5uZWVkc1RyYWlsaW5nQ29udGVudFJlcGxhY2VtZW50ID0g
b3ZlcmZsb3dXaWR0aCA+IGxpbmVCb3hMb2dpY2FsV2lkdGg7Ci0gICAgICAgIH0KKyAgICAgICAg
aW5saW5lTGV2ZWxCb3hQcmV2ZW50c0ludGVncmFsUG9zaXRpb24gPSBpbmxpbmVMZXZlbEJveFBy
ZXZlbnRzTGVnYWN5SW50ZWdyYWxWZXJ0aWNhbFBvc2l0aW9uKCk7CisgICAgfQorICAgIGxpbmVM
ZXZlbFZpc3VhbEFkanVzdG1lbnRzRm9yUnVuc1tsaW5lSW5kZXhUb0NoZWNrXS5uZWVkc0ludGVn
cmFsUG9zaXRpb24gPSAhaW5saW5lTGV2ZWxCb3hQcmV2ZW50c0ludGVncmFsUG9zaXRpb247CisK
KyAgICBhdXRvIHNob3VsZENoZWNrSG9yaXpvbnRhbE92ZXJmbG93Rm9yQ29udGVudFJlcGxhY2Vt
ZW50ID0gcm9vdFN0eWxlLm92ZXJmbG93WCgpID09IE92ZXJmbG93OjpIaWRkZW4gJiYgcm9vdFN0
eWxlLnRleHRPdmVyZmxvdygpICE9IFRleHRPdmVyZmxvdzo6Q2xpcDsKKyAgICBpZiAoIXNob3Vs
ZENoZWNrSG9yaXpvbnRhbE92ZXJmbG93Rm9yQ29udGVudFJlcGxhY2VtZW50KQorICAgICAgICBy
ZXR1cm4gbGluZUxldmVsVmlzdWFsQWRqdXN0bWVudHNGb3JSdW5zOworCisgICAgZm9yIChzaXpl
X3QgbGluZUluZGV4ID0gMDsgbGluZUluZGV4IDwgbGluZXMuc2l6ZSgpOyArK2xpbmVJbmRleCkg
eworICAgICAgICBhdXRvJiBsaW5lID0gbGluZXNbbGluZUluZGV4XTsKKyAgICAgICAgYXV0byBs
aW5lQm94TG9naWNhbFdpZHRoID0gbGluZS5saW5lQm94TG9naWNhbFJlY3QoKS53aWR0aCgpOwor
ICAgICAgICBhdXRvIG92ZXJmbG93V2lkdGggPSBsaW5lT3ZlcmZsb3dXaWR0aChtX2Jsb2NrRmxv
dywgbGluZUJveExvZ2ljYWxXaWR0aCwgbGluZS5jb250ZW50TG9naWNhbFdpZHRoKCkpOworICAg
ICAgICBsaW5lTGV2ZWxWaXN1YWxBZGp1c3RtZW50c0ZvclJ1bnNbbGluZUluZGV4XS5uZWVkc1Ry
YWlsaW5nQ29udGVudFJlcGxhY2VtZW50ID0gb3ZlcmZsb3dXaWR0aCA+IGxpbmVCb3hMb2dpY2Fs
V2lkdGg7CiAgICAgfQogICAgIHJldHVybiBsaW5lTGV2ZWxWaXN1YWxBZGp1c3RtZW50c0ZvclJ1
bnM7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5
b3V0SW50ZWdyYXRpb25JbmxpbmVDb250ZW50QnVpbGRlci5oIGIvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuaApp
bmRleCAyZmIwMWUyZDJmMDY3NDFlNDRhODIwNjFjMDIzZDBiNWVkODI2ZDI1Li5mYTkwODAwNmE5
NDI5YTI2Y2E3ZmYyYWUxOGMwYWM3YWMzY2ZjZjkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250ZW50QnVpbGRl
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3Jh
dGlvbklubGluZUNvbnRlbnRCdWlsZGVyLmgKQEAgLTQ5LDcgKzQ5LDcgQEAgcHVibGljOgogcHJp
dmF0ZToKICAgICB1c2luZyBMaW5lTGV2ZWxWaXN1YWxBZGp1c3RtZW50c0ZvclJ1bnNMaXN0ID0g
VmVjdG9yPExpbmVMZXZlbFZpc3VhbEFkanVzdG1lbnRzRm9yUnVucz47CiAKLSAgICBMaW5lTGV2
ZWxWaXN1YWxBZGp1c3RtZW50c0ZvclJ1bnNMaXN0IGNvbXB1dGVMaW5lTGV2ZWxWaXN1YWxBZGp1
c3RtZW50c0ZvclJ1bnMoY29uc3QgTGF5b3V0OjpJbmxpbmVGb3JtYXR0aW5nU3RhdGUmKSBjb25z
dDsKKyAgICBMaW5lTGV2ZWxWaXN1YWxBZGp1c3RtZW50c0ZvclJ1bnNMaXN0IGNvbXB1dGVMaW5l
TGV2ZWxWaXN1YWxBZGp1c3RtZW50c0ZvclJ1bnMoY29uc3QgTGF5b3V0OjpJbmxpbmVMaW5lcyYs
IGNvbnN0IExheW91dDo6SW5saW5lTGluZVJ1bnMmKSBjb25zdDsKICAgICB2b2lkIGNyZWF0ZURp
c3BsYXlMaW5lUnVucyhjb25zdCBMYXlvdXQ6OklubGluZUxpbmVzJiwgY29uc3QgTGF5b3V0OjpJ
bmxpbmVMaW5lUnVucyYsIElubGluZUNvbnRlbnQmLCBjb25zdCBMaW5lTGV2ZWxWaXN1YWxBZGp1
c3RtZW50c0ZvclJ1bnNMaXN0JikgY29uc3Q7CiAgICAgdm9pZCBjcmVhdGVEaXNwbGF5TGluZXMo
Y29uc3QgTGF5b3V0OjpJbmxpbmVMaW5lcyYsIElubGluZUNvbnRlbnQmLCBjb25zdCBMaW5lTGV2
ZWxWaXN1YWxBZGp1c3RtZW50c0ZvclJ1bnNMaXN0JikgY29uc3Q7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>436582</attachid>
            <date>2021-08-26 16:00:53 -0700</date>
            <delta_ts>2021-08-26 20:09:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-228069-20210826160052.patch</filename>
            <type>text/plain</type>
            <size>15830</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxNjEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWZjNTgxNzlkM2M1NGIz
YmVkYzViNWQzMzZiZWNkZTJiNjVjMjk0YS4uODNkNmE4OTgzMDEyNjJjOGRhMWQwYWVkODU4YmYw
YmEwN2Y1MmQ1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIxLTA4LTI1ICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtJbnRlZ3JhdGlvbl0g
VXNlIHRoZSBsaW5lIHJ1bnMgdG8gY2hlY2sgZm9yIGxlZ2FjeSBpbnRlZ3JhbCBwb3NpdGlvbmlu
ZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI4MDY5
CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84MTA4Nzg1Nz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBBbnR0aSBLb2l2aXN0by4KKworICAgICAgICBOb3cgdGhhdCB0aGUgbGluZSBydW5zIGxpc3Qg
aGFzIGFsbCB0aGUgaW5saW5lIGJveGVzIChpbmNsdWRpbmcgc3Bhbm5pbmcgaW5saW5lIGJveGVz
KSwgd2UKKyAgICAgICAgY2FuIHVzZSB0aGlzIGxpc3QgdG8gY2hlY2sgZm9yIGxlZ2FjeSBpbnRl
Z3JhbCBwb3NpdGlvbmluZyBhbmQgbm90IGRpcmVjdGx5IGl0ZXJhdGluZyB0aGUgTGluZUJveCdz
IG5vbi1yb290aW5saW5lYm94IGxpc3QuCisgICAgICAgIFdoaWxlIHRoaXMgbWF5IGJlIGEgYml0
IG1vcmUgZXhwZW5zaXZlLCB0aGUgbGVnYWN5IHBvc2l0aW9uaW5nIGlzIHRlbXBvcmFyeSBhbmQg
d2lsbCBiZSByZW1vdmVkIHNob3J0bHkuCisKKyAgICAgICAgVGhpcyBpcyBpbiBwcmVwYXJhdGlv
biBmb3Iga2VlcGluZyB0aGUgaW5saW5lIGJveCBzdHJ1Y3R1cmUgcHJpdmF0ZSB0byB0aGUgbGF5
b3V0IGNvZGUuCisKKyAgICAgICAgKiBsYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRp
b25JbmxpbmVDb250ZW50QnVpbGRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXRJbnRl
Z3JhdGlvbjo6SW5saW5lQ29udGVudEJ1aWxkZXI6OmJ1aWxkIGNvbnN0KToKKyAgICAgICAgKFdl
YkNvcmU6OkxheW91dEludGVncmF0aW9uOjpJbmxpbmVDb250ZW50QnVpbGRlcjo6Y29tcHV0ZUxp
bmVMZXZlbFZpc3VhbEFkanVzdG1lbnRzRm9yUnVucyBjb25zdCk6CisgICAgICAgICogbGF5b3V0
L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuaDoKKwog
MjAyMS0wOC0yNSAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAg
ICAgICBSZW1vdmUgc29tZSBpT1Mtc3BlY2lmaWMgY29tcGlsZS10aW1lIGd1YXJkcyB0aGF0IGFy
ZSBubyBsb25nZXIgbmVlZGVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9y
bWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVGb3JtYXR0
aW5nQ29udGV4dC5jcHAKaW5kZXggMDNiYzQ0ZGI5N2U2NjI4MzJkNTg4MDE5ODE1ZWM4OTg0ZTM2
MzI0Yy4uNjMxYmNkMDJlOWI2MWEzMWU5ZjQzMTEzOWY4ZTBiNDI5MWY5YmQ4OCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5l
Rm9ybWF0dGluZ0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0
aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmNwcApAQCAtNjIyLDE0
ICs2MjIsMTQgQEAgSW5saW5lUmVjdCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZUdl
b21ldHJ5Rm9yTGluZUNvbnRlbnQoY29uc3QgTGluZUJ1aWwKICAgICAgICAgICAgICAgICBpZiAo
bGF5b3V0Qm94LmlzTGluZUJyZWFrQm94KCkpIHsKICAgICAgICAgICAgICAgICAgICAgLy8gT25s
eSBoYXJkIGxpbmVicmVha3MgaGF2ZSBhc3NvY2lhdGVkIGxheW91dCBib3hlcy4KICAgICAgICAg
ICAgICAgICAgICAgYXV0byBsaW5lQnJlYWtCb3hSZWN0ID0gbGluZUJveC5sb2dpY2FsUmVjdEZv
ckxpbmVCcmVha0JveChsYXlvdXRCb3gpOwotICAgICAgICAgICAgICAgICAgICBmb3JtYXR0aW5n
U3RhdGUuYWRkTGluZVJ1bih7IGxpbmVJbmRleCwgTGluZVJ1bjo6VHlwZTo6TGluZUJyZWFrLCBs
YXlvdXRCb3gsIGxpbmVCcmVha0JveFJlY3QsIGxpbmVSdW4uZXhwYW5zaW9uKCksIHsgfSB9KTsK
KyAgICAgICAgICAgICAgICAgICAgZm9ybWF0dGluZ1N0YXRlLmFkZExpbmVSdW4oeyBsaW5lSW5k
ZXgsIExpbmVSdW46OlR5cGU6OkxpbmVCcmVha0JveCwgbGF5b3V0Qm94LCBsaW5lQnJlYWtCb3hS
ZWN0LCBsaW5lUnVuLmV4cGFuc2lvbigpLCB7IH0gfSk7CiAKICAgICAgICAgICAgICAgICAgICAg
YXV0byYgYm94R2VvbWV0cnkgPSBmb3JtYXR0aW5nU3RhdGUuYm94R2VvbWV0cnkobGF5b3V0Qm94
KTsKICAgICAgICAgICAgICAgICAgICAgbGluZUJyZWFrQm94UmVjdC5tb3ZlQnkobGluZUJveExv
Z2ljYWxSZWN0LnRvcExlZnQoKSk7CiAgICAgICAgICAgICAgICAgICAgIGJveEdlb21ldHJ5LnNl
dExvZ2ljYWxUb3BMZWZ0KHRvTGF5b3V0UG9pbnQobGluZUJyZWFrQm94UmVjdC50b3BMZWZ0KCkp
KTsKICAgICAgICAgICAgICAgICAgICAgYm94R2VvbWV0cnkuc2V0Q29udGVudEJveEhlaWdodCh0
b0xheW91dFVuaXQobGluZUJyZWFrQm94UmVjdC5oZWlnaHQoKSkpOwogICAgICAgICAgICAgICAg
IH0gZWxzZSAKLSAgICAgICAgICAgICAgICAgICAgZm9ybWF0dGluZ1N0YXRlLmFkZExpbmVSdW4o
eyBsaW5lSW5kZXgsIExpbmVSdW46OlR5cGU6OkxpbmVCcmVhaywgbGF5b3V0Qm94LCBsaW5lQm94
LmxvZ2ljYWxSZWN0Rm9yVGV4dFJ1bihsaW5lUnVuKSwgbGluZVJ1bi5leHBhbnNpb24oKSwgbGlu
ZVJ1bi50ZXh0Q29udGVudCgpIH0pOworICAgICAgICAgICAgICAgICAgICBmb3JtYXR0aW5nU3Rh
dGUuYWRkTGluZVJ1bih7IGxpbmVJbmRleCwgTGluZVJ1bjo6VHlwZTo6U29mdExpbmVCcmVhaywg
bGF5b3V0Qm94LCBsaW5lQm94LmxvZ2ljYWxSZWN0Rm9yVGV4dFJ1bihsaW5lUnVuKSwgbGluZVJ1
bi5leHBhbnNpb24oKSwgbGluZVJ1bi50ZXh0Q29udGVudCgpIH0pOwogICAgICAgICAgICAgICAg
IGNvbnRpbnVlOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgaWYgKGxpbmVSdW4uaXNCb3go
KSkgewpAQCAtNjUwLDcgKzY1MCw3IEBAIElubGluZVJlY3QgSW5saW5lRm9ybWF0dGluZ0NvbnRl
eHQ6OmNvbXB1dGVHZW9tZXRyeUZvckxpbmVDb250ZW50KGNvbnN0IExpbmVCdWlsCiAgICAgICAg
ICAgICBpZiAobGluZVJ1bi5pc0lubGluZUJveFN0YXJ0KCkpIHsKICAgICAgICAgICAgICAgICBh
dXRvJiBib3hHZW9tZXRyeSA9IGZvcm1hdHRpbmdTdGF0ZS5ib3hHZW9tZXRyeShsYXlvdXRCb3gp
OwogICAgICAgICAgICAgICAgIGF1dG8gaW5saW5lQm94TG9naWNhbFJlY3QgPSBsaW5lQm94Lmxv
Z2ljYWxCb3JkZXJCb3hGb3JJbmxpbmVCb3gobGF5b3V0Qm94LCBib3hHZW9tZXRyeSk7Ci0gICAg
ICAgICAgICAgICAgZm9ybWF0dGluZ1N0YXRlLmFkZExpbmVSdW4oeyBsaW5lSW5kZXgsIExpbmVS
dW46OlR5cGU6OklubGluZUJveCwgbGF5b3V0Qm94LCBpbmxpbmVCb3hMb2dpY2FsUmVjdCwgbGlu
ZVJ1bi5leHBhbnNpb24oKSwgeyB9LCBsaW5lQm94LmlubGluZUxldmVsQm94Rm9yTGF5b3V0Qm94
KGxheW91dEJveCkuaGFzQ29udGVudCgpIH0pOworICAgICAgICAgICAgICAgIGZvcm1hdHRpbmdT
dGF0ZS5hZGRMaW5lUnVuKHsgbGluZUluZGV4LCBMaW5lUnVuOjpUeXBlOjpOb25Sb290SW5saW5l
Qm94LCBsYXlvdXRCb3gsIGlubGluZUJveExvZ2ljYWxSZWN0LCBsaW5lUnVuLmV4cGFuc2lvbigp
LCB7IH0sIGxpbmVCb3guaW5saW5lTGV2ZWxCb3hGb3JMYXlvdXRCb3gobGF5b3V0Qm94KS5oYXND
b250ZW50KCkgfSk7CiAgICAgICAgICAgICAgICAgaW5saW5lQm94U3RhcnRTZXQuYWRkKCZsYXlv
dXRCb3gpOwogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgfQpAQCAtNjg1
LDcgKzY4NSw3IEBAIElubGluZVJlY3QgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVH
ZW9tZXRyeUZvckxpbmVDb250ZW50KGNvbnN0IExpbmVCdWlsCiAgICAgICAgICAgICAgICAgY29u
dGludWU7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICAvLyBNaWRkbGUgb3IgZW5kIG9mIHRo
ZSBpbmxpbmUgYm94LiBMZXQncyBzdHJldGNoIHRoZSBib3ggYXMgbmVlZGVkLgotICAgICAgICAg
ICAgZm9ybWF0dGluZ1N0YXRlLmxpbmVSdW5zKCkuaW5zZXJ0KGxpbmVTcGFubmluZ0lubGluZUJv
eEluZGV4KyssIHsgbGluZUluZGV4LCBMaW5lUnVuOjpUeXBlOjpJbmxpbmVCb3gsIGxheW91dEJv
eCwgaW5saW5lQm94Qm9yZGVyQm94LCB7IH0sIHsgfSwgaW5saW5lTGV2ZWxCb3guaGFzQ29udGVu
dCgpLCB0cnVlIH0pOworICAgICAgICAgICAgZm9ybWF0dGluZ1N0YXRlLmxpbmVSdW5zKCkuaW5z
ZXJ0KGxpbmVTcGFubmluZ0lubGluZUJveEluZGV4KyssIHsgbGluZUluZGV4LCBMaW5lUnVuOjpU
eXBlOjpOb25Sb290SW5saW5lQm94LCBsYXlvdXRCb3gsIGlubGluZUJveEJvcmRlckJveCwgeyB9
LCB7IH0sIGlubGluZUxldmVsQm94Lmhhc0NvbnRlbnQoKSwgdHJ1ZSB9KTsKIAogICAgICAgICAg
ICAgYXV0byBlbmNsb3NpbmdCb3JkZXJCb3hSZWN0ID0gQm94R2VvbWV0cnk6OmJvcmRlckJveFJl
Y3QoYm94R2VvbWV0cnkpOwogICAgICAgICAgICAgZW5jbG9zaW5nQm9yZGVyQm94UmVjdC5leHBh
bmRUb0NvbnRhaW4obG9naWNhbFJlY3QpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZVJ1bi5oIGIvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZVJ1bi5oCmlu
ZGV4IGJhMWE2ZWMzNjUwYjFhMDA0MTk1ZGFmMGY3NDY2Y2NmNTcwYzE1ODguLmMyOWNmYTU3Njlk
Zjk2NTMyMjk5OGUzNzk4M2ZkMjkwM2MwOGU5OTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVSdW4uaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5l
UnVuLmgKQEAgLTYxLDkgKzYxLDEwIEBAIHN0cnVjdCBMaW5lUnVuIHsKIAogICAgIGVudW0gY2xh
c3MgVHlwZSB7CiAgICAgICAgIFRleHQsCi0gICAgICAgIExpbmVCcmVhaywKKyAgICAgICAgU29m
dExpbmVCcmVhaywKKyAgICAgICAgTGluZUJyZWFrQm94LAogICAgICAgICBBdG9taWNJbmxpbmVM
ZXZlbEJveCwKLSAgICAgICAgSW5saW5lQm94LAorICAgICAgICBOb25Sb290SW5saW5lQm94LAog
ICAgICAgICBSb290SW5saW5lQm94LAogICAgICAgICBHZW5lcmljSW5saW5lTGV2ZWxCb3gKICAg
ICB9OwpAQCAtNzEsMTAgKzcyLDE2IEBAIHN0cnVjdCBMaW5lUnVuIHsKICAgICBMaW5lUnVuKHNp
emVfdCBsaW5lSW5kZXgsIFR5cGUsIGNvbnN0IEJveCYsIGNvbnN0IElubGluZVJlY3QmLCBFeHBh
bnNpb24sIHN0ZDo6b3B0aW9uYWw8VGV4dD4gPSBzdGQ6Om51bGxvcHQsIGJvb2wgaGFzQ29udGVu
dCA9IHRydWUsIGJvb2wgaXNMaW5lU3Bhbm5pbmcgPSBmYWxzZSk7CiAKICAgICBib29sIGlzVGV4
dCgpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZSA9PSBUeXBlOjpUZXh0OyB9Ci0gICAgYm9vbCBpc0xp
bmVCcmVhaygpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZSA9PSBUeXBlOjpMaW5lQnJlYWs7IH0KKyAg
ICBib29sIGlzU29mdExpbmVCcmVhaygpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZSA9PSBUeXBlOjpT
b2Z0TGluZUJyZWFrOyB9CisgICAgYm9vbCBpc0xpbmVCcmVha0JveCgpIGNvbnN0IHsgcmV0dXJu
IG1fdHlwZSA9PSBUeXBlOjpMaW5lQnJlYWtCb3g7IH0KKyAgICBib29sIGlzTGluZUJyZWFrKCkg
Y29uc3QgeyByZXR1cm4gaXNTb2Z0TGluZUJyZWFrKCkgfHwgaXNMaW5lQnJlYWtCb3goKTsgfQog
ICAgIGJvb2wgaXNBdG9taWNJbmxpbmVMZXZlbEJveCgpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZSA9
PSBUeXBlOjpBdG9taWNJbmxpbmVMZXZlbEJveDsgfQotICAgIGJvb2wgaXNJbmxpbmVCb3goKSBj
b25zdCB7IHJldHVybiBtX3R5cGUgPT0gVHlwZTo6SW5saW5lQm94IHx8IGlzUm9vdElubGluZUJv
eCgpOyB9CisgICAgYm9vbCBpc0lubGluZUJveCgpIGNvbnN0IHsgcmV0dXJuIGlzTm9uUm9vdElu
bGluZUJveCgpIHx8IGlzUm9vdElubGluZUJveCgpOyB9CisgICAgYm9vbCBpc05vblJvb3RJbmxp
bmVCb3goKSBjb25zdCB7IHJldHVybiBtX3R5cGUgPT0gVHlwZTo6Tm9uUm9vdElubGluZUJveDsg
fQogICAgIGJvb2wgaXNSb290SW5saW5lQm94KCkgY29uc3QgeyByZXR1cm4gbV90eXBlID09IFR5
cGU6OlJvb3RJbmxpbmVCb3g7IH0KKyAgICBib29sIGlzR2VuZXJpY0lubGluZUxldmVsQm94KCkg
Y29uc3QgeyByZXR1cm4gbV90eXBlID09IFR5cGU6OkdlbmVyaWNJbmxpbmVMZXZlbEJveDsgfQor
ICAgIGJvb2wgaXNJbmxpbmVMZXZlbEJveCgpIGNvbnN0IHsgcmV0dXJuIGlzQXRvbWljSW5saW5l
TGV2ZWxCb3goKSB8fCBpc0xpbmVCcmVha0JveCgpIHx8IGlzSW5saW5lQm94KCkgfHwgaXNHZW5l
cmljSW5saW5lTGV2ZWxCb3goKTsgfQorICAgIGJvb2wgaXNOb25Sb290SW5saW5lTGV2ZWxCb3go
KSBjb25zdCB7IHJldHVybiBpc0lubGluZUxldmVsQm94KCkgJiYgIWlzUm9vdElubGluZUJveCgp
OyB9CiAgICAgVHlwZSB0eXBlKCkgY29uc3QgeyByZXR1cm4gbV90eXBlOyB9CiAKICAgICBib29s
IGhhc0NvbnRlbnQoKSBjb25zdCB7IHJldHVybiBtX2hhc0NvbnRlbnQ7IH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbklubGlu
ZUNvbnRlbnRCdWlsZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9M
YXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnRCdWlsZGVyLmNwcAppbmRleCBiNjNiMjA4YTdl
MmJiMTgxZWVmOTJjYTg2ZjUyYTM4OWFlZGNiZTE3Li45MGNhMmY5YmEwNzk1ODY5NGVlOWYzZDBi
NDY4MTE5MWVlYjhjZGEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdy
YXRpb24vTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250ZW50QnVpbGRlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uSW5saW5lQ29u
dGVudEJ1aWxkZXIuY3BwCkBAIC0xNjQsNTIgKzE2NCw3MCBAQCBJbmxpbmVDb250ZW50QnVpbGRl
cjo6SW5saW5lQ29udGVudEJ1aWxkZXIoY29uc3QgTGF5b3V0OjpMYXlvdXRTdGF0ZSYgbGF5b3V0
U3RhdAogCiB2b2lkIElubGluZUNvbnRlbnRCdWlsZGVyOjpidWlsZChjb25zdCBMYXlvdXQ6Oklu
bGluZUZvcm1hdHRpbmdTdGF0ZSYgaW5saW5lRm9ybWF0dGluZ1N0YXRlLCBJbmxpbmVDb250ZW50
JiBpbmxpbmVDb250ZW50KSBjb25zdAogewotICAgIGF1dG8gbGluZUxldmVsVmlzdWFsQWRqdXN0
bWVudHNGb3JSdW5zID0gY29tcHV0ZUxpbmVMZXZlbFZpc3VhbEFkanVzdG1lbnRzRm9yUnVucyhp
bmxpbmVGb3JtYXR0aW5nU3RhdGUpOworICAgIGF1dG8gbGluZUxldmVsVmlzdWFsQWRqdXN0bWVu
dHNGb3JSdW5zID0gY29tcHV0ZUxpbmVMZXZlbFZpc3VhbEFkanVzdG1lbnRzRm9yUnVucyhpbmxp
bmVGb3JtYXR0aW5nU3RhdGUubGluZXMoKSwgaW5saW5lRm9ybWF0dGluZ1N0YXRlLmxpbmVSdW5z
KCkpOwogICAgIGNyZWF0ZURpc3BsYXlMaW5lUnVucyhpbmxpbmVGb3JtYXR0aW5nU3RhdGUubGlu
ZXMoKSwgaW5saW5lRm9ybWF0dGluZ1N0YXRlLmxpbmVSdW5zKCksIGlubGluZUNvbnRlbnQsIGxp
bmVMZXZlbFZpc3VhbEFkanVzdG1lbnRzRm9yUnVucyk7CiAgICAgY3JlYXRlRGlzcGxheUxpbmVz
KGlubGluZUZvcm1hdHRpbmdTdGF0ZS5saW5lcygpLCBpbmxpbmVDb250ZW50LCBsaW5lTGV2ZWxW
aXN1YWxBZGp1c3RtZW50c0ZvclJ1bnMpOwogfQogCi1JbmxpbmVDb250ZW50QnVpbGRlcjo6TGlu
ZUxldmVsVmlzdWFsQWRqdXN0bWVudHNGb3JSdW5zTGlzdCBJbmxpbmVDb250ZW50QnVpbGRlcjo6
Y29tcHV0ZUxpbmVMZXZlbFZpc3VhbEFkanVzdG1lbnRzRm9yUnVucyhjb25zdCBMYXlvdXQ6Oklu
bGluZUZvcm1hdHRpbmdTdGF0ZSYgaW5saW5lRm9ybWF0dGluZ1N0YXRlKSBjb25zdAorSW5saW5l
Q29udGVudEJ1aWxkZXI6OkxpbmVMZXZlbFZpc3VhbEFkanVzdG1lbnRzRm9yUnVuc0xpc3QgSW5s
aW5lQ29udGVudEJ1aWxkZXI6OmNvbXB1dGVMaW5lTGV2ZWxWaXN1YWxBZGp1c3RtZW50c0ZvclJ1
bnMoY29uc3QgTGF5b3V0OjpJbmxpbmVMaW5lcyYgbGluZXMsIGNvbnN0IExheW91dDo6SW5saW5l
TGluZVJ1bnMmIGxpbmVSdW5zKSBjb25zdAogewotICAgIGF1dG8mIGxpbmVzID0gaW5saW5lRm9y
bWF0dGluZ1N0YXRlLmxpbmVzKCk7CisgICAgYXV0byBsaW5lTGV2ZWxWaXN1YWxBZGp1c3RtZW50
c0ZvclJ1bnMgPSBMaW5lTGV2ZWxWaXN1YWxBZGp1c3RtZW50c0ZvclJ1bnNMaXN0IHsgbGluZXMu
c2l6ZSgpIH07CiAgICAgYXV0byYgcm9vdFN0eWxlID0gbV9sYXlvdXRTdGF0ZS5yb290KCkuc3R5
bGUoKTsKLSAgICBhdXRvIHNob3VsZENoZWNrSG9yaXpvbnRhbE92ZXJmbG93Rm9yQ29udGVudFJl
cGxhY2VtZW50ID0gcm9vdFN0eWxlLm92ZXJmbG93WCgpID09IE92ZXJmbG93OjpIaWRkZW4gJiYg
cm9vdFN0eWxlLnRleHRPdmVyZmxvdygpICE9IFRleHRPdmVyZmxvdzo6Q2xpcDsKIAotICAgIGF1
dG8gbGluZUxldmVsVmlzdWFsQWRqdXN0bWVudHNGb3JSdW5zID0gTGluZUxldmVsVmlzdWFsQWRq
dXN0bWVudHNGb3JSdW5zTGlzdCB7IGxpbmVzLnNpemUoKSB9OwotICAgIGZvciAoc2l6ZV90IGxp
bmVJbmRleCA9IDA7IGxpbmVJbmRleCA8IGxpbmVzLnNpemUoKTsgKytsaW5lSW5kZXgpIHsKLSAg
ICAgICAgYXV0byBsaW5lTmVlZHNMZWdhY3lJbnRlZ3JhbFZlcnRpY2FsUG9zaXRpb24gPSBbJl0g
eworICAgIGF1dG8gaW5saW5lTGV2ZWxCb3hQcmV2ZW50c0ludGVncmFsUG9zaXRpb24gPSBzdGQ6
Om9wdGlvbmFsPGJvb2w+IHsgfTsKKyAgICBzaXplX3QgbGluZUluZGV4VG9DaGVjayA9IDA7Cisg
ICAgZm9yIChhdXRvJiBsaW5lUnVuIDogbGluZVJ1bnMpIHsKKyAgICAgICAgYXV0byBsaW5lSW5k
ZXggPSBsaW5lUnVuLmxpbmVJbmRleCgpOworICAgICAgICBhdXRvJiBsYXlvdXRCb3ggPSBsaW5l
UnVuLmxheW91dEJveCgpOworCisgICAgICAgIGlmIChsaW5lSW5kZXhUb0NoZWNrICE9IGxpbmVJ
bmRleCkgeworICAgICAgICAgICAgYXV0byBsaW5lTmVlZHNJbnRlZ3JhbFBvc2l0aW9uaW5nID0g
WyZdIHsKKyAgICAgICAgICAgICAgICBpZiAoIWlubGluZUxldmVsQm94UHJldmVudHNJbnRlZ3Jh
bFBvc2l0aW9uLmhhc192YWx1ZSgpKSB7CisgICAgICAgICAgICAgICAgICAgIC8vIFRoaXMgbGlu
ZSBkb2VzIG5vdCBoYXZlIGFueSBub24tcm9vdCBpbmxpbmUgYm94ZXMuCisgICAgICAgICAgICAg
ICAgICAgIC8vIExpbmVzIGxpa2UgdGhpcyB3aXRoIHJvb3QgaW5saW5lIGJveCBvbmx5IGZvcmNl
IGludGVncmFsIHBvc2l0aW9uaW5nLgorICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgcmV0dXJuICEqaW5saW5lTGV2ZWxC
b3hQcmV2ZW50c0ludGVncmFsUG9zaXRpb247CisgICAgICAgICAgICB9OworICAgICAgICAgICAg
bGluZUxldmVsVmlzdWFsQWRqdXN0bWVudHNGb3JSdW5zW2xpbmVJbmRleFRvQ2hlY2tdLm5lZWRz
SW50ZWdyYWxQb3NpdGlvbiA9IGxpbmVOZWVkc0ludGVncmFsUG9zaXRpb25pbmcoKTsKKyAgICAg
ICAgICAgIGxpbmVJbmRleFRvQ2hlY2sgPSBsaW5lSW5kZXg7CisgICAgICAgICAgICBpbmxpbmVM
ZXZlbEJveFByZXZlbnRzSW50ZWdyYWxQb3NpdGlvbiA9IHsgfTsKKyAgICAgICAgfQorCisgICAg
ICAgIGlmICghbGluZVJ1bi5pc05vblJvb3RJbmxpbmVMZXZlbEJveCgpIHx8IChpbmxpbmVMZXZl
bEJveFByZXZlbnRzSW50ZWdyYWxQb3NpdGlvbi5oYXNfdmFsdWUoKSAmJiAqaW5saW5lTGV2ZWxC
b3hQcmV2ZW50c0ludGVncmFsUG9zaXRpb24pKQorICAgICAgICAgICAgY29udGludWU7CisKKyAg
ICAgICAgYXV0byBpbmxpbmVMZXZlbEJveFByZXZlbnRzTGVnYWN5SW50ZWdyYWxWZXJ0aWNhbFBv
c2l0aW9uID0gWyZdIHsKKyAgICAgICAgICAgIEFTU0VSVChsaW5lUnVuLmlzTm9uUm9vdElubGlu
ZUxldmVsQm94KCkpOwogICAgICAgICAgICAgLy8gTGVnYWN5IGlubGluZSB0cmVlIGludGVncmFs
IHJvdW5kcyB0aGUgdmVydGljYWwgcG9zaXRpb24gZm9yIGNlcnRhaW4gY29udGVudCAoc2VlIExl
Z2FjeUlubGluZUZsb3dCb3g6OnBsYWNlQm94ZXNJbkJsb2NrRGlyZWN0aW9uIGFuZCA6OmFkZFRv
TGluZSkuCi0gICAgICAgICAgICBhdXRvJiBub25Sb290SW5saW5lTGV2ZWxCb3hMaXN0ID0gaW5s
aW5lRm9ybWF0dGluZ1N0YXRlLmxpbmVCb3hlcygpW2xpbmVJbmRleF0ubm9uUm9vdElubGluZUxl
dmVsQm94ZXMoKTsKLSAgICAgICAgICAgIGlmIChub25Sb290SW5saW5lTGV2ZWxCb3hMaXN0Lmlz
RW1wdHkoKSkgewotICAgICAgICAgICAgICAgIC8vIFRoaXMgaXMgdGV4dCBjb250ZW50IG9ubHkg
d2l0aCByb290IGlubGluZSBib3guCisgICAgICAgICAgICAvLyBTZWUgc2hvdWxkQ2xlYXJEZXNj
ZW5kYW50c0hhdmVTYW1lTGluZUhlaWdodEFuZEJhc2VsaW5lIGluIExlZ2FjeUlubGluZUZsb3dC
b3g6OmFkZFRvTGluZS4KKyAgICAgICAgICAgIGF1dG8gY29udGVudFByZXZlbnRzSW50ZWdyYWxT
bmFwcGluZyA9IGxpbmVSdW4uaXNBdG9taWNJbmxpbmVMZXZlbEJveCgpIHx8IChsaW5lUnVuLmlz
TGluZUJyZWFrQm94KCkgJiYgIW1fbGF5b3V0U3RhdGUuaW5TdGFuZGFyZHNNb2RlKCkpOworICAg
ICAgICAgICAgaWYgKGNvbnRlbnRQcmV2ZW50c0ludGVncmFsU25hcHBpbmcpCiAgICAgICAgICAg
ICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBmb3IgKGF1dG8m
IGlubGluZUxldmVsQm94IDogbm9uUm9vdElubGluZUxldmVsQm94TGlzdCkgewotICAgICAgICAg
ICAgICAgIC8vIFNlZSBzaG91bGRDbGVhckRlc2NlbmRhbnRzSGF2ZVNhbWVMaW5lSGVpZ2h0QW5k
QmFzZWxpbmUgaW4gTGVnYWN5SW5saW5lRmxvd0JveDo6YWRkVG9MaW5lLgotICAgICAgICAgICAg
ICAgIGF1dG8gY29udGVudFByZXZlbnRzSW50ZWdyYWxTbmFwcGluZyA9IGlubGluZUxldmVsQm94
LmlzQXRvbWljSW5saW5lTGV2ZWxCb3goKSB8fCAoaW5saW5lTGV2ZWxCb3guaXNMaW5lQnJlYWtC
b3goKSAmJiAhbV9sYXlvdXRTdGF0ZS5pblN0YW5kYXJkc01vZGUoKSk7Ci0gICAgICAgICAgICAg
ICAgaWYgKGNvbnRlbnRQcmV2ZW50c0ludGVncmFsU25hcHBpbmcpCi0gICAgICAgICAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKLQotICAgICAgICAgICAgICAgIGF1dG8mIGlubGluZUxldmVsQm94
U3R5bGUgPSBpbmxpbmVMZXZlbEJveC5zdHlsZSgpOwotICAgICAgICAgICAgICAgIGF1dG8gc3R5
bGVQcmV2ZW50c0ludGVncmFsU25hcHBpbmcgPSByb290U3R5bGUubGluZUhlaWdodCgpICE9IGlu
bGluZUxldmVsQm94U3R5bGUubGluZUhlaWdodCgpIHx8IGlubGluZUxldmVsQm94U3R5bGUudmVy
dGljYWxBbGlnbigpICE9IFZlcnRpY2FsQWxpZ246OkJhc2VsaW5lOwotICAgICAgICAgICAgICAg
IGlmIChzdHlsZVByZXZlbnRzSW50ZWdyYWxTbmFwcGluZykKLSAgICAgICAgICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOwotCi0gICAgICAgICAgICAgICAgYXV0byYgcm9vdEZvbnRNZXRyaWNzID0g
cm9vdFN0eWxlLmZvbnRDYXNjYWRlKCkuZm9udE1ldHJpY3MoKTsKLSAgICAgICAgICAgICAgICBh
dXRvJiBpbmxpbmVMZXZlbEJveEZvbnRNZXRyaWNzID0gaW5saW5lTGV2ZWxCb3hTdHlsZS5mb250
Q2FzY2FkZSgpLmZvbnRNZXRyaWNzKCk7Ci0gICAgICAgICAgICAgICAgYXV0byBmb250UHJldmVu
dHNJbnRlZ3JhbFNuYXBwaW5nID0gIXJvb3RGb250TWV0cmljcy5oYXNJZGVudGljYWxBc2NlbnRE
ZXNjZW50QW5kTGluZUdhcChpbmxpbmVMZXZlbEJveEZvbnRNZXRyaWNzKTsKLSAgICAgICAgICAg
ICAgICBpZiAoZm9udFByZXZlbnRzSW50ZWdyYWxTbmFwcGluZykKLSAgICAgICAgICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgcmV0dXJuIHRydWU7
CisKKyAgICAgICAgICAgIGF1dG8mIGlubGluZUxldmVsQm94U3R5bGUgPSBsYXlvdXRCb3guc3R5
bGUoKTsKKyAgICAgICAgICAgIGF1dG8gc3R5bGVQcmV2ZW50c0ludGVncmFsU25hcHBpbmcgPSBy
b290U3R5bGUubGluZUhlaWdodCgpICE9IGlubGluZUxldmVsQm94U3R5bGUubGluZUhlaWdodCgp
IHx8IGlubGluZUxldmVsQm94U3R5bGUudmVydGljYWxBbGlnbigpICE9IFZlcnRpY2FsQWxpZ246
OkJhc2VsaW5lOworICAgICAgICAgICAgaWYgKHN0eWxlUHJldmVudHNJbnRlZ3JhbFNuYXBwaW5n
KQorICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOworCisgICAgICAgICAgICBhdXRvJiByb290
Rm9udE1ldHJpY3MgPSByb290U3R5bGUuZm9udENhc2NhZGUoKS5mb250TWV0cmljcygpOworICAg
ICAgICAgICAgYXV0byYgaW5saW5lTGV2ZWxCb3hGb250TWV0cmljcyA9IGlubGluZUxldmVsQm94
U3R5bGUuZm9udENhc2NhZGUoKS5mb250TWV0cmljcygpOworICAgICAgICAgICAgYXV0byBmb250
UHJldmVudHNJbnRlZ3JhbFNuYXBwaW5nID0gIXJvb3RGb250TWV0cmljcy5oYXNJZGVudGljYWxB
c2NlbnREZXNjZW50QW5kTGluZUdhcChpbmxpbmVMZXZlbEJveEZvbnRNZXRyaWNzKTsKKyAgICAg
ICAgICAgIHJldHVybiBmb250UHJldmVudHNJbnRlZ3JhbFNuYXBwaW5nOwogICAgICAgICB9Owot
ICAgICAgICBsaW5lTGV2ZWxWaXN1YWxBZGp1c3RtZW50c0ZvclJ1bnNbbGluZUluZGV4XS5uZWVk
c0ludGVncmFsUG9zaXRpb24gPSBsaW5lTmVlZHNMZWdhY3lJbnRlZ3JhbFZlcnRpY2FsUG9zaXRp
b24oKTsKLSAgICAgICAgaWYgKHNob3VsZENoZWNrSG9yaXpvbnRhbE92ZXJmbG93Rm9yQ29udGVu
dFJlcGxhY2VtZW50KSB7Ci0gICAgICAgICAgICBhdXRvJiBsaW5lID0gbGluZXNbbGluZUluZGV4
XTsKLSAgICAgICAgICAgIGF1dG8gbGluZUJveExvZ2ljYWxXaWR0aCA9IGxpbmUubGluZUJveExv
Z2ljYWxSZWN0KCkud2lkdGgoKTsKLSAgICAgICAgICAgIGF1dG8gb3ZlcmZsb3dXaWR0aCA9IGxp
bmVPdmVyZmxvd1dpZHRoKG1fYmxvY2tGbG93LCBsaW5lQm94TG9naWNhbFdpZHRoLCBsaW5lLmNv
bnRlbnRMb2dpY2FsV2lkdGgoKSk7Ci0gICAgICAgICAgICBsaW5lTGV2ZWxWaXN1YWxBZGp1c3Rt
ZW50c0ZvclJ1bnNbbGluZUluZGV4XS5uZWVkc1RyYWlsaW5nQ29udGVudFJlcGxhY2VtZW50ID0g
b3ZlcmZsb3dXaWR0aCA+IGxpbmVCb3hMb2dpY2FsV2lkdGg7Ci0gICAgICAgIH0KKyAgICAgICAg
aW5saW5lTGV2ZWxCb3hQcmV2ZW50c0ludGVncmFsUG9zaXRpb24gPSBpbmxpbmVMZXZlbEJveFBy
ZXZlbnRzTGVnYWN5SW50ZWdyYWxWZXJ0aWNhbFBvc2l0aW9uKCk7CisgICAgfQorICAgIGxpbmVM
ZXZlbFZpc3VhbEFkanVzdG1lbnRzRm9yUnVuc1tsaW5lSW5kZXhUb0NoZWNrXS5uZWVkc0ludGVn
cmFsUG9zaXRpb24gPSAhaW5saW5lTGV2ZWxCb3hQcmV2ZW50c0ludGVncmFsUG9zaXRpb24uaGFz
X3ZhbHVlKCkgfHwgISppbmxpbmVMZXZlbEJveFByZXZlbnRzSW50ZWdyYWxQb3NpdGlvbjsKKwor
ICAgIGF1dG8gc2hvdWxkQ2hlY2tIb3Jpem9udGFsT3ZlcmZsb3dGb3JDb250ZW50UmVwbGFjZW1l
bnQgPSByb290U3R5bGUub3ZlcmZsb3dYKCkgPT0gT3ZlcmZsb3c6OkhpZGRlbiAmJiByb290U3R5
bGUudGV4dE92ZXJmbG93KCkgIT0gVGV4dE92ZXJmbG93OjpDbGlwOworICAgIGlmICghc2hvdWxk
Q2hlY2tIb3Jpem9udGFsT3ZlcmZsb3dGb3JDb250ZW50UmVwbGFjZW1lbnQpCisgICAgICAgIHJl
dHVybiBsaW5lTGV2ZWxWaXN1YWxBZGp1c3RtZW50c0ZvclJ1bnM7CisKKyAgICBmb3IgKHNpemVf
dCBsaW5lSW5kZXggPSAwOyBsaW5lSW5kZXggPCBsaW5lcy5zaXplKCk7ICsrbGluZUluZGV4KSB7
CisgICAgICAgIGF1dG8mIGxpbmUgPSBsaW5lc1tsaW5lSW5kZXhdOworICAgICAgICBhdXRvIGxp
bmVCb3hMb2dpY2FsV2lkdGggPSBsaW5lLmxpbmVCb3hMb2dpY2FsUmVjdCgpLndpZHRoKCk7Cisg
ICAgICAgIGF1dG8gb3ZlcmZsb3dXaWR0aCA9IGxpbmVPdmVyZmxvd1dpZHRoKG1fYmxvY2tGbG93
LCBsaW5lQm94TG9naWNhbFdpZHRoLCBsaW5lLmNvbnRlbnRMb2dpY2FsV2lkdGgoKSk7CisgICAg
ICAgIGxpbmVMZXZlbFZpc3VhbEFkanVzdG1lbnRzRm9yUnVuc1tsaW5lSW5kZXhdLm5lZWRzVHJh
aWxpbmdDb250ZW50UmVwbGFjZW1lbnQgPSBvdmVyZmxvd1dpZHRoID4gbGluZUJveExvZ2ljYWxX
aWR0aDsKICAgICB9CiAgICAgcmV0dXJuIGxpbmVMZXZlbFZpc3VhbEFkanVzdG1lbnRzRm9yUnVu
czsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlv
dXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnRCdWlsZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250ZW50QnVpbGRlci5oCmlu
ZGV4IDJmYjAxZTJkMmYwNjc0MWU0NGE4MjA2MWMwMjNkMGI1ZWQ4MjZkMjUuLmZhOTA4MDA2YTk0
MjlhMjZjYTdmZjJhZTE4YzBhYzdhYzNjZmNmOTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnRCdWlsZGVy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0
aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuaApAQCAtNDksNyArNDksNyBAQCBwdWJsaWM6CiBwcml2
YXRlOgogICAgIHVzaW5nIExpbmVMZXZlbFZpc3VhbEFkanVzdG1lbnRzRm9yUnVuc0xpc3QgPSBW
ZWN0b3I8TGluZUxldmVsVmlzdWFsQWRqdXN0bWVudHNGb3JSdW5zPjsKIAotICAgIExpbmVMZXZl
bFZpc3VhbEFkanVzdG1lbnRzRm9yUnVuc0xpc3QgY29tcHV0ZUxpbmVMZXZlbFZpc3VhbEFkanVz
dG1lbnRzRm9yUnVucyhjb25zdCBMYXlvdXQ6OklubGluZUZvcm1hdHRpbmdTdGF0ZSYpIGNvbnN0
OworICAgIExpbmVMZXZlbFZpc3VhbEFkanVzdG1lbnRzRm9yUnVuc0xpc3QgY29tcHV0ZUxpbmVM
ZXZlbFZpc3VhbEFkanVzdG1lbnRzRm9yUnVucyhjb25zdCBMYXlvdXQ6OklubGluZUxpbmVzJiwg
Y29uc3QgTGF5b3V0OjpJbmxpbmVMaW5lUnVucyYpIGNvbnN0OwogICAgIHZvaWQgY3JlYXRlRGlz
cGxheUxpbmVSdW5zKGNvbnN0IExheW91dDo6SW5saW5lTGluZXMmLCBjb25zdCBMYXlvdXQ6Oklu
bGluZUxpbmVSdW5zJiwgSW5saW5lQ29udGVudCYsIGNvbnN0IExpbmVMZXZlbFZpc3VhbEFkanVz
dG1lbnRzRm9yUnVuc0xpc3QmKSBjb25zdDsKICAgICB2b2lkIGNyZWF0ZURpc3BsYXlMaW5lcyhj
b25zdCBMYXlvdXQ6OklubGluZUxpbmVzJiwgSW5saW5lQ29udGVudCYsIGNvbnN0IExpbmVMZXZl
bFZpc3VhbEFkanVzdG1lbnRzRm9yUnVuc0xpc3QmKSBjb25zdDsKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>