<?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>234766</bug_id>
          
          <creation_ts>2021-12-31 08:11:02 -0800</creation_ts>
          <short_desc>[LFC][Integration] Support outlines</short_desc>
          <delta_ts>2022-01-02 16:26:37 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=234802</see_also>
          <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="Antti Koivisto">koivisto</reporter>
          <assigned_to name="Antti Koivisto">koivisto</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>changseok</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>pdr</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>1827341</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-12-31 08:11:02 -0800</bug_when>
    <thetext>Outlines should not require legacy</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1827342</commentid>
    <comment_count>1</comment_count>
      <attachid>448124</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-12-31 08:12:45 -0800</bug_when>
    <thetext>Created attachment 448124
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1827504</commentid>
    <comment_count>2</comment_count>
      <attachid>448174</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2022-01-02 07:50:46 -0800</bug_when>
    <thetext>Created attachment 448174
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1827510</commentid>
    <comment_count>3</comment_count>
      <attachid>448176</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2022-01-02 08:48:47 -0800</bug_when>
    <thetext>Created attachment 448176
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1827517</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-01-02 10:31:59 -0800</bug_when>
    <thetext>Committed r287519 (245654@main): &lt;https://commits.webkit.org/245654@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 448176.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1827518</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-01-02 10:32:21 -0800</bug_when>
    <thetext>&lt;rdar://problem/87050675&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1827540</commentid>
    <comment_count>6</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2022-01-02 13:38:01 -0800</bug_when>
    <thetext>https://trac.webkit.org/changeset/287523/webkit iOS</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>448124</attachid>
            <date>2021-12-31 08:12:45 -0800</date>
            <delta_ts>2022-01-02 07:50:41 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234766-20211231181243.patch</filename>
            <type>text/plain</type>
            <size>13133</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3NDc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjVhM2VjODA0ZmRlMzA5
ZDQzNzdlZjk4MmFkZjc2ODY5M2FjN2QxYi4uMGI2N2M1ZmMxZmYyNWUwMDEyZmY5NzE1OWVjM2Ew
YTQ0NmRlYjA2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDIxLTEyLTMxICBBbnR0
aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtJbnRlZ3JhdGlv
bl0gU3VwcG9ydCBvdXRsaW5lcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjM0NzY2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgT3V0bGluZXMgc2hvdWxkIG5vdCByZXF1aXJlIGxlZ2FjeSBsaW5lIGxheW91
dC4KKworICAgICAgICAqIGxheW91dC9pbnRlZ3JhdGlvbi9JbmxpbmVJdGVyYXRvcklubGluZUJv
eC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVJdGVyYXRvcjo6Zmlyc3RJbmxpbmVCb3hG
b3IpOgorICAgICAgICAqIGxheW91dC9pbnRlZ3JhdGlvbi9JbmxpbmVJdGVyYXRvcklubGluZUJv
eC5oOgorICAgICAgICAqIGxheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkNvdmVy
YWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dEludGVncmF0aW9uOjpwcmludFJlYXNv
bik6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXRJbnRlZ3JhdGlvbjo6Y2FuVXNlRm9yUmVuZGVy
SW5saW5lQ2hpbGQpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0SW50ZWdyYXRpb246OmNhblVz
ZUZvckxpbmVMYXlvdXRXaXRoUmVhc29uKToKKyAgICAgICAgKiBsYXlvdXQvaW50ZWdyYXRpb24v
TGF5b3V0SW50ZWdyYXRpb25Db3ZlcmFnZS5oOgorICAgICAgICAqIGxheW91dC9pbnRlZ3JhdGlv
bi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVMYXlvdXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5
b3V0SW50ZWdyYXRpb246OkxpbmVMYXlvdXQ6OmZpcnN0SW5saW5lQm94Rm9yIGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OkxheW91dEludGVncmF0aW9uOjpMaW5lTGF5b3V0OjpwYWludCk6Cisg
ICAgICAgICogbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uTGluZUxheW91dC5o
OgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbmxpbmUuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVySW5saW5lOjpwYWludE91dGxpbmUpOgorCiAyMDIxLTEyLTI5ICBBbnR0aSBLb2l2
aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KIAogICAgICAgICBNYWtlIE1hdGNoRWxlbWVudCBpbiBS
dWxlRmVhdHVyZSBub24tb3B0aW9uYWwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9pbnRlZ3JhdGlvbi9JbmxpbmVJdGVyYXRvcklubGluZUJveC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvaW50ZWdyYXRpb24vSW5saW5lSXRlcmF0b3JJbmxpbmVCb3guY3BwCmluZGV4IDc0
NTI4MDIxZTAzMTQ2OTRjNWVhNjQ2ZDk3ODAzZWFhZGUwMzE2OWEuLjA0YTY0ZjA5ZDhjMmU3Mzcx
NTNkN2E3MjljNzFhNTA3YTljN2Y2YWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9pbnRlZ3JhdGlvbi9JbmxpbmVJdGVyYXRvcklubGluZUJveC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0lubGluZUl0ZXJhdG9ySW5saW5lQm94LmNwcApAQCAt
MjcsNiArMjcsNyBAQAogI2luY2x1ZGUgIklubGluZUl0ZXJhdG9ySW5saW5lQm94LmgiCiAKICNp
bmNsdWRlICJMYXlvdXRJbnRlZ3JhdGlvbkxpbmVMYXlvdXQuaCIKKyNpbmNsdWRlICJSZW5kZXJJ
bmxpbmUuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogbmFtZXNwYWNlIElubGluZUl0ZXJhdG9y
IHsKQEAgLTEwNiw2ICsxMDcsMTQgQEAgSW5saW5lQm94SXRlcmF0b3ImIElubGluZUJveEl0ZXJh
dG9yOjp0cmF2ZXJzZVByZXZpb3VzSW5saW5lQm94KCkKICAgICByZXR1cm4gKnRoaXM7CiB9CiAK
K0lubGluZUJveEl0ZXJhdG9yIGZpcnN0SW5saW5lQm94Rm9yKGNvbnN0IFJlbmRlcklubGluZSYg
cmVuZGVySW5saW5lKQoreworICAgIGlmIChhdXRvKiBsaW5lTGF5b3V0ID0gTGF5b3V0SW50ZWdy
YXRpb246OkxpbmVMYXlvdXQ6OmNvbnRhaW5pbmcocmVuZGVySW5saW5lKSkKKyAgICAgICAgcmV0
dXJuIGxpbmVMYXlvdXQtPmZpcnN0SW5saW5lQm94Rm9yKHJlbmRlcklubGluZSk7CisKKyAgICBy
ZXR1cm4geyBCb3hMZWdhY3lQYXRoIHsgcmVuZGVySW5saW5lLmZpcnN0TGluZUJveCgpIH0gfTsK
K30KKwogSW5saW5lQm94SXRlcmF0b3IgaW5saW5lQm94Rm9yKGNvbnN0IExlZ2FjeUlubGluZUZs
b3dCb3gmIGxlZ2FjeUlubGluZUZsb3dCb3gpCiB7CiAgICAgcmV0dXJuIHsgQm94TGVnYWN5UGF0
aCB7ICZsZWdhY3lJbmxpbmVGbG93Qm94IH0gfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9pbnRlZ3JhdGlvbi9JbmxpbmVJdGVyYXRvcklubGluZUJveC5oIGIvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0lubGluZUl0ZXJhdG9ySW5saW5lQm94LmgKaW5kZXgg
ZWM5ZjFiNzgyZTE3MGQyMDUwYjZlMzVkODg0MDU4MDkwNjA4MzU2Zi4uNjJlZTNhNjZkMTAzN2Nk
MzdkZmI0ZTJjMGNjYWZlM2E5NWZkNDg2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2ludGVncmF0aW9uL0lubGluZUl0ZXJhdG9ySW5saW5lQm94LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0lubGluZUl0ZXJhdG9ySW5saW5lQm94LmgKQEAgLTY5
LDYgKzY5LDggQEAgcHJpdmF0ZToKICAgICBjb25zdCBJbmxpbmVCb3gmIGdldCgpIGNvbnN0IHsg
cmV0dXJuIGRvd25jYXN0PElubGluZUJveD4obV9ib3gpOyB9CiB9OwogCitJbmxpbmVCb3hJdGVy
YXRvciBmaXJzdElubGluZUJveEZvcihjb25zdCBSZW5kZXJJbmxpbmUmKTsKKwogSW5saW5lQm94
SXRlcmF0b3IgaW5saW5lQm94Rm9yKGNvbnN0IExlZ2FjeUlubGluZUZsb3dCb3gmKTsKICNpZiBF
TkFCTEUoTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkKIElubGluZUJveEl0ZXJhdG9yIGlubGlu
ZUJveEZvcihjb25zdCBMYXlvdXRJbnRlZ3JhdGlvbjo6SW5saW5lQ29udGVudCYsIGNvbnN0IElu
bGluZURpc3BsYXk6OkJveCYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lu
dGVncmF0aW9uL0xheW91dEludGVncmF0aW9uQ292ZXJhZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uQ292ZXJhZ2UuY3BwCmluZGV4IDZl
MzAzNDUxNzM0ZmMwODc3YzM1OTk4NDhkODdkODNkNDU2ZDIwNTguLjZlODc5ODljMjY1NTBlMDY5
NjhmZmQwMzk4MDc3MjU1YzczZWQ3MzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkNvdmVyYWdlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25Db3ZlcmFnZS5jcHAK
QEAgLTg5LDkgKzg5LDYgQEAgc3RhdGljIHZvaWQgcHJpbnRSZWFzb24oQXZvaWRhbmNlUmVhc29u
IHJlYXNvbiwgVGV4dFN0cmVhbSYgc3RyZWFtKQogICAgIGNhc2UgQXZvaWRhbmNlUmVhc29uOjpG
bG93SGFzSG9yaXpvbmFsV3JpdGluZ01vZGU6CiAgICAgICAgIHN0cmVhbSA8PCAiaG9yaXpvbnRh
bCB3cml0aW5nIG1vZGUiOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIEF2b2lkYW5jZVJlYXNv
bjo6Q29udGVudEhhc091dGxpbmU6Ci0gICAgICAgIHN0cmVhbSA8PCAib3V0bGluZSI7Ci0gICAg
ICAgIGJyZWFrOwogICAgIGNhc2UgQXZvaWRhbmNlUmVhc29uOjpDb250ZW50SXNSdWJ5OgogICAg
ICAgICBzdHJlYW0gPDwgInJ1YnkiOwogICAgICAgICBicmVhazsKQEAgLTQ3OSw4ICs0NzYsNiBA
QCBzdGF0aWMgT3B0aW9uU2V0PEF2b2lkYW5jZVJlYXNvbj4gY2FuVXNlRm9yUmVuZGVySW5saW5l
Q2hpbGQoY29uc3QgUmVuZGVySW5saW5lJgogICAgIGlmIChzdHlsZS5ib3hEZWNvcmF0aW9uQnJl
YWsoKSA9PSBCb3hEZWNvcmF0aW9uQnJlYWs6OkNsb25lKQogICAgICAgICBTRVRfUkVBU09OX0FO
RF9SRVRVUk5fSUZfTkVFREVEKEJveERlY29yYXRpb25CcmVha0Nsb25lLCByZWFzb25zLCBpbmNs
dWRlUmVhc29ucyk7CiAjZW5kaWYKLSAgICBpZiAoc3R5bGUuaGFzT3V0bGluZSgpKQotICAgICAg
ICBTRVRfUkVBU09OX0FORF9SRVRVUk5fSUZfTkVFREVEKENvbnRlbnRIYXNPdXRsaW5lLCByZWFz
b25zLCBpbmNsdWRlUmVhc29ucyk7CiAgICAgaWYgKHJlbmRlcklubGluZS5pc0luRmxvd1Bvc2l0
aW9uZWQoKSkKICAgICAgICAgU0VUX1JFQVNPTl9BTkRfUkVUVVJOX0lGX05FRURFRChDaGlsZEJv
eElzRmxvYXRpbmdPclBvc2l0aW9uZWQsIHJlYXNvbnMsIGluY2x1ZGVSZWFzb25zKTsKICAgICBp
ZiAocmVuZGVySW5saW5lLmNvbnRhaW5pbmdCbG9jaygpLT5zdHlsZSgpLmxpbmVCb3hDb250YWlu
KCkgIT0gUmVuZGVyU3R5bGU6OmluaXRpYWxMaW5lQm94Q29udGFpbigpKQpAQCAtNjExLDggKzYw
Niw2IEBAIE9wdGlvblNldDxBdm9pZGFuY2VSZWFzb24+IGNhblVzZUZvckxpbmVMYXlvdXRXaXRo
UmVhc29uKGNvbnN0IFJlbmRlckJsb2NrRmxvdyYKICAgICB9CiAgICAgaWYgKCFmbG93LmlzSG9y
aXpvbnRhbFdyaXRpbmdNb2RlKCkpCiAgICAgICAgIFNFVF9SRUFTT05fQU5EX1JFVFVSTl9JRl9O
RUVERUQoRmxvd0hhc0hvcml6b25hbFdyaXRpbmdNb2RlLCByZWFzb25zLCBpbmNsdWRlUmVhc29u
cyk7Ci0gICAgaWYgKGZsb3cuaGFzT3V0bGluZSgpKQotICAgICAgICBTRVRfUkVBU09OX0FORF9S
RVRVUk5fSUZfTkVFREVEKENvbnRlbnRIYXNPdXRsaW5lLCByZWFzb25zLCBpbmNsdWRlUmVhc29u
cyk7CiAgICAgaWYgKGZsb3cuaXNSdWJ5VGV4dCgpIHx8IGZsb3cuaXNSdWJ5QmFzZSgpKQogICAg
ICAgICBTRVRfUkVBU09OX0FORF9SRVRVUk5fSUZfTkVFREVEKENvbnRlbnRJc1J1YnksIHJlYXNv
bnMsIGluY2x1ZGVSZWFzb25zKTsKICAgICBpZiAoIWZsb3cuc3R5bGUoKS5oYW5naW5nUHVuY3R1
YXRpb24oKS5pc0VtcHR5KCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50
ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25Db3ZlcmFnZS5oIGIvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uQ292ZXJhZ2UuaAppbmRleCBjMjgzYjM4
NDM0OGQwYmU1NjliZjJjMTFhMzY3ZTJkNzg2NTY1OWE2Li40ZjFiZTM5YmVkYTk2N2I2MGViNmY3
M2ZiMzY2MmZkNDhmNDIyZGE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50
ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25Db3ZlcmFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkNvdmVyYWdlLmgKQEAgLTQwLDcg
KzQwLDcgQEAgbmFtZXNwYWNlIExheW91dEludGVncmF0aW9uIHsKIGVudW0gY2xhc3MgQXZvaWRh
bmNlUmVhc29uIDogdWludDY0X3QgewogICAgIEZsb3dJc0luc2lkZUFOb25NdWx0aUNvbHVtblRo
cmVhZCAgICAgICAgICAgID0gMUxMVSAgPDwgMCwKICAgICBGbG93SGFzSG9yaXpvbmFsV3JpdGlu
Z01vZGUgICAgICAgICAgICAgICAgICA9IDFMTFUgIDw8IDEsCi0gICAgQ29udGVudEhhc091dGxp
bmUgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAxTExVICA8PCAyLAorICAgIC8vIFVudXNl
ZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMUxMVSAgPDwgMiwKICAgICBD
b250ZW50SXNSdWJ5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDFMTFUgIDw8IDMs
CiAgICAgRmxvd0lzUGFnaW5hdGVkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAxTExV
ICA8PCA0LAogICAgIEZsb3dIYXNUZXh0T3ZlcmZsb3cgICAgICAgICAgICAgICAgICAgICAgICAg
ID0gMUxMVSAgPDwgNSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3Jh
dGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVMYXlvdXQuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uTGluZUxheW91dC5jcHAKaW5kZXggNjU3
YzdlMDM4NzA2Y2MzMTgxYWNmMmZkMGZkMTEzN2Q1YjdjNDJkNy4uZDMzNjgxZWNjMDQ3MDczYTdj
MDExMGVkYmZkMTIwM2FhYzgzNDhjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uTGluZUxheW91dC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uTGluZUxheW91dC5j
cHAKQEAgLTQ1Niw2ICs0NTYsMTkgQEAgSW5saW5lSXRlcmF0b3I6OkxlYWZCb3hJdGVyYXRvciBM
aW5lTGF5b3V0Ojpib3hGb3IoY29uc3QgUmVuZGVyRWxlbWVudCYgcmVuZGVyRWwKICAgICByZXR1
cm4gSW5saW5lSXRlcmF0b3I6OmJveEZvcigqbV9pbmxpbmVDb250ZW50LCAqZmlyc3RJbmRleCk7
CiB9CiAKK0lubGluZUl0ZXJhdG9yOjpJbmxpbmVCb3hJdGVyYXRvciBMaW5lTGF5b3V0OjpmaXJz
dElubGluZUJveEZvcihjb25zdCBSZW5kZXJJbmxpbmUmIHJlbmRlcklubGluZSkgY29uc3QKK3sK
KyAgICBpZiAoIW1faW5saW5lQ29udGVudCkKKyAgICAgICAgcmV0dXJuIHsgfTsKKworICAgIGF1
dG8mIGxheW91dEJveCA9IG1fYm94VHJlZS5sYXlvdXRCb3hGb3JSZW5kZXJlcihyZW5kZXJJbmxp
bmUpOworICAgIGF1dG8qIGJveCA9IG1faW5saW5lQ29udGVudC0+Zmlyc3RCb3hGb3JMYXlvdXRC
b3gobGF5b3V0Qm94KTsKKyAgICBpZiAoIWJveCkKKyAgICAgICAgcmV0dXJuIHsgfTsKKworICAg
IHJldHVybiBJbmxpbmVJdGVyYXRvcjo6aW5saW5lQm94Rm9yKCptX2lubGluZUNvbnRlbnQsICpi
b3gpOworfQorCiBJbmxpbmVJdGVyYXRvcjo6TGluZUl0ZXJhdG9yIExpbmVMYXlvdXQ6OmZpcnN0
TGluZSgpIGNvbnN0CiB7CiAgICAgaWYgKCFtX2lubGluZUNvbnRlbnQpCkBAIC01NDEsNyArNTU0
LDkgQEAgdm9pZCBMaW5lTGF5b3V0OjpwYWludChQYWludEluZm8mIHBhaW50SW5mbywgY29uc3Qg
TGF5b3V0UG9pbnQmIHBhaW50T2Zmc2V0KQogICAgIGlmICghbV9pbmxpbmVDb250ZW50KQogICAg
ICAgICByZXR1cm47CiAKLSAgICBpZiAocGFpbnRJbmZvLnBoYXNlICE9IFBhaW50UGhhc2U6OkZv
cmVncm91bmQgJiYgcGFpbnRJbmZvLnBoYXNlICE9IFBhaW50UGhhc2U6OkV2ZW50UmVnaW9uICYm
IHBhaW50SW5mby5waGFzZSAhPSBQYWludFBoYXNlOjpUZXh0Q2xpcCAmJiBwYWludEluZm8ucGhh
c2UgIT0gUGFpbnRQaGFzZTo6U2VsZWN0aW9uKQorICAgIGF1dG8gcGhhc2UgPSBwYWludEluZm8u
cGhhc2U7CisKKyAgICBpZiAocGhhc2UgIT0gUGFpbnRQaGFzZTo6Rm9yZWdyb3VuZCAmJiBwaGFz
ZSAhPSBQYWludFBoYXNlOjpFdmVudFJlZ2lvbiAmJiBwaGFzZSAhPSBQYWludFBoYXNlOjpUZXh0
Q2xpcCAmJiBwaGFzZSAhPSBQYWludFBoYXNlOjpTZWxlY3Rpb24gJiYgcGhhc2UgIT0gUGFpbnRQ
aGFzZTo6T3V0bGluZSAmJiBwaGFzZSAhPSBQYWludFBoYXNlOjpTZWxmT3V0bGluZSAmJiBwaGFz
ZSAhPSBQYWludFBoYXNlOjpDaGlsZE91dGxpbmVzKQogICAgICAgICByZXR1cm47CiAKICAgICBh
dXRvIGRhbWFnZVJlY3QgPSBwYWludEluZm8ucmVjdDsKQEAgLTU1NiwzNCArNTcxLDU2IEBAIHZv
aWQgTGluZUxheW91dDo6cGFpbnQoUGFpbnRJbmZvJiBwYWludEluZm8sIGNvbnN0IExheW91dFBv
aW50JiBwYWludE9mZnNldCkKICAgICAgICAgcmV0dXJuIGRhbWFnZVJlY3QubWF4WSgpID4gcmVj
dC55KCkgJiYgZGFtYWdlUmVjdC55KCkgPCByZWN0Lm1heFkoKTsKICAgICB9OwogCisgICAgTGlz
dEhhc2hTZXQ8UmVuZGVySW5saW5lKj4gb3V0bGluZU9iamVjdHM7CisKKyAgICBQYWludEluZm8g
Y29udGVudFBhaW50SW5mbyhwYWludEluZm8pOworICAgIGNvbnRlbnRQYWludEluZm8ucGhhc2Ug
PSBwaGFzZSA9PSBQYWludFBoYXNlOjpDaGlsZE91dGxpbmVzID8gUGFpbnRQaGFzZTo6T3V0bGlu
ZSA6IHBoYXNlOworICAgIGNvbnRlbnRQYWludEluZm8ub3V0bGluZU9iamVjdHMgPSAmb3V0bGlu
ZU9iamVjdHM7CisKICAgICBmb3IgKGF1dG8mIGJveCA6IG1faW5saW5lQ29udGVudC0+Ym94ZXNG
b3JSZWN0KGRhbWFnZVJlY3QpKSB7CiAgICAgICAgIGlmIChib3guaXNMaW5lQnJlYWsoKSkKICAg
ICAgICAgICAgIGNvbnRpbnVlOwogCiAgICAgICAgIGlmIChib3guaXNJbmxpbmVCb3goKSkgewor
ICAgICAgICAgICAgaWYgKHBoYXNlID09IFBhaW50UGhhc2U6OkNoaWxkT3V0bGluZXMgJiYgYm94
LmlzUm9vdElubGluZUJveCgpKQorICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAg
ICAgaWYgKHBoYXNlID09IFBhaW50UGhhc2U6OlNlbGZPdXRsaW5lICYmICFib3guaXNSb290SW5s
aW5lQm94KCkpCisgICAgICAgICAgICAgICAgY29udGludWU7CisKICAgICAgICAgICAgIGlmICgh
aGFzRGFtYWdlKGJveCkpCiAgICAgICAgICAgICAgICAgY29udGludWU7CiAKLSAgICAgICAgICAg
IElubGluZUJveFBhaW50ZXIgcGFpbnRlcigqbV9pbmxpbmVDb250ZW50LCBib3gsIHBhaW50SW5m
bywgcGFpbnRPZmZzZXQpOworICAgICAgICAgICAgSW5saW5lQm94UGFpbnRlciBwYWludGVyKCpt
X2lubGluZUNvbnRlbnQsIGJveCwgY29udGVudFBhaW50SW5mbywgcGFpbnRPZmZzZXQpOwogICAg
ICAgICAgICAgcGFpbnRlci5wYWludCgpOwogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAg
IH0KIAorICAgICAgICBpZiAocGhhc2UgPT0gUGFpbnRQaGFzZTo6U2VsZk91dGxpbmUpCisgICAg
ICAgICAgICBjb250aW51ZTsKKwogICAgICAgICBpZiAoYm94LnRleHQoKSkgewogICAgICAgICAg
ICAgaWYgKCFib3gudGV4dCgpLT5sZW5ndGgoKSB8fCAhaGFzRGFtYWdlKGJveCkpCiAgICAgICAg
ICAgICAgICAgY29udGludWU7CiAKLSAgICAgICAgICAgIFRleHRCb3hQYWludGVyIHBhaW50ZXIo
Km1faW5saW5lQ29udGVudCwgYm94LCBwYWludEluZm8sIHBhaW50T2Zmc2V0KTsKKyAgICAgICAg
ICAgIGlmIChwaGFzZSA9PSBQYWludFBoYXNlOjpPdXRsaW5lIHx8IHBoYXNlID09IFBhaW50UGhh
c2U6OkNoaWxkT3V0bGluZXMpCisgICAgICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAg
ICAgIFRleHRCb3hQYWludGVyIHBhaW50ZXIoKm1faW5saW5lQ29udGVudCwgYm94LCBjb250ZW50
UGFpbnRJbmZvLCBwYWludE9mZnNldCk7CiAgICAgICAgICAgICBwYWludGVyLnBhaW50KCk7CiAg
ICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgfQogCiAgICAgICAgIGlmIChhdXRvJiByZW5k
ZXJlciA9IG1fYm94VHJlZS5yZW5kZXJlckZvckxheW91dEJveChib3gubGF5b3V0Qm94KCkpOyBp
czxSZW5kZXJCb3g+KHJlbmRlcmVyKSAmJiByZW5kZXJlci5pc1JlcGxhY2VkKCkpIHsKICAgICAg
ICAgICAgIGF1dG8mIHJlbmRlckJveCA9IGRvd25jYXN0PFJlbmRlckJveD4ocmVuZGVyZXIpOwot
ICAgICAgICAgICAgaWYgKCFyZW5kZXJCb3guaGFzU2VsZlBhaW50aW5nTGF5ZXIoKSAmJiBwYWlu
dEluZm8uc2hvdWxkUGFpbnRXaXRoaW5Sb290KHJlbmRlckJveCkpCi0gICAgICAgICAgICAgICAg
cmVuZGVyQm94LnBhaW50QXNJbmxpbmVCbG9jayhwYWludEluZm8sIHBhaW50T2Zmc2V0KTsKKyAg
ICAgICAgICAgIGlmICghcmVuZGVyQm94Lmhhc1NlbGZQYWludGluZ0xheWVyKCkgJiYgY29udGVu
dFBhaW50SW5mby5zaG91bGRQYWludFdpdGhpblJvb3QocmVuZGVyQm94KSkKKyAgICAgICAgICAg
ICAgICByZW5kZXJCb3gucGFpbnRBc0lubGluZUJsb2NrKGNvbnRlbnRQYWludEluZm8sIHBhaW50
T2Zmc2V0KTsKICAgICAgICAgfQogICAgIH0KKworICAgIGlmIChwaGFzZSA9PSBQYWludFBoYXNl
OjpPdXRsaW5lIHx8IHBoYXNlID09IFBhaW50UGhhc2U6OlNlbGZPdXRsaW5lIHx8IHBoYXNlID09
IFBhaW50UGhhc2U6OkNoaWxkT3V0bGluZXMpIHsKKyAgICAgICAgZm9yIChhdXRvKiByZW5kZXJJ
bmxpbmUgOiBvdXRsaW5lT2JqZWN0cykKKyAgICAgICAgICAgIHJlbmRlcklubGluZS0+cGFpbnRP
dXRsaW5lKHBhaW50SW5mbywgcGFpbnRPZmZzZXQpOworICAgIH0KIH0KIAogYm9vbCBMaW5lTGF5
b3V0OjpoaXRUZXN0KGNvbnN0IEhpdFRlc3RSZXF1ZXN0JiByZXF1ZXN0LCBIaXRUZXN0UmVzdWx0
JiByZXN1bHQsIGNvbnN0IEhpdFRlc3RMb2NhdGlvbiYgbG9jYXRpb25JbkNvbnRhaW5lciwgY29u
c3QgTGF5b3V0UG9pbnQmIGFjY3VtdWxhdGVkT2Zmc2V0LCBIaXRUZXN0QWN0aW9uIGhpdFRlc3RB
Y3Rpb24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5
b3V0SW50ZWdyYXRpb25MaW5lTGF5b3V0LmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdy
YXRpb24vTGF5b3V0SW50ZWdyYXRpb25MaW5lTGF5b3V0LmgKaW5kZXggOTBlMzhhNDU0MmZiYWE0
OWUxZWM0YzU4YzllMzdiYzJhMDlhODYyZi4uNThmZGFiYzQ4Y2Q1Y2UwOTEzMjBlMmRmMWI2NWIx
MTM2NmRkMTM4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9u
L0xheW91dEludGVncmF0aW9uTGluZUxheW91dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVMYXlvdXQuaApAQCAtMjgsNiArMjgs
NyBAQAogI2lmIEVOQUJMRShMQVlPVVRfRk9STUFUVElOR19DT05URVhUKQogCiAjaW5jbHVkZSAi
RmxvYXRSZWN0LmgiCisjaW5jbHVkZSAiSW5saW5lSXRlcmF0b3JJbmxpbmVCb3guaCIKICNpbmNs
dWRlICJJbmxpbmVJdGVyYXRvckxpbmUuaCIKICNpbmNsdWRlICJJbmxpbmVJdGVyYXRvclRleHRC
b3guaCIKICNpbmNsdWRlICJMYXlvdXRJbnRlZ3JhdGlvbkJveFRyZWUuaCIKQEAgLTEwMSw2ICsx
MDIsNyBAQCBwdWJsaWM6CiAKICAgICBJbmxpbmVJdGVyYXRvcjo6VGV4dEJveEl0ZXJhdG9yIHRl
eHRCb3hlc0Zvcihjb25zdCBSZW5kZXJUZXh0JikgY29uc3Q7CiAgICAgSW5saW5lSXRlcmF0b3I6
OkxlYWZCb3hJdGVyYXRvciBib3hGb3IoY29uc3QgUmVuZGVyRWxlbWVudCYpIGNvbnN0OworICAg
IElubGluZUl0ZXJhdG9yOjpJbmxpbmVCb3hJdGVyYXRvciBmaXJzdElubGluZUJveEZvcihjb25z
dCBSZW5kZXJJbmxpbmUmKSBjb25zdDsKICAgICBJbmxpbmVJdGVyYXRvcjo6TGluZUl0ZXJhdG9y
IGZpcnN0TGluZSgpIGNvbnN0OwogICAgIElubGluZUl0ZXJhdG9yOjpMaW5lSXRlcmF0b3IgbGFz
dExpbmUoKSBjb25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlcklubGluZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW5saW5lLmNw
cAppbmRleCA4Y2Y0ZmUyNWMwMGZjZmQ5MjBiYWIzYTZlNzIxZTcyNjI3MzhiNTNlLi5kYWZlYzI1
YWY5ZGY3ZTA3YWUxNTJkZjE0ZWNmNjVmY2ZmMjE2MjE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVySW5saW5lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVySW5saW5lLmNwcApAQCAtMjgsNiArMjgsNyBAQAogI2luY2x1ZGUgIkZyYW1l
U2VsZWN0aW9uLmgiCiAjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCiAjaW5jbHVkZSAiSGl0
VGVzdFJlc3VsdC5oIgorI2luY2x1ZGUgIklubGluZUl0ZXJhdG9ySW5saW5lQm94LmgiCiAjaW5j
bHVkZSAiTGF5b3V0SW50ZWdyYXRpb25MaW5lTGF5b3V0LmgiCiAjaW5jbHVkZSAiTGVnYWN5SW5s
aW5lRWxlbWVudEJveC5oIgogI2luY2x1ZGUgIkxlZ2FjeUlubGluZVRleHRCb3guaCIKQEAgLTk1
NywxMSArOTU4LDEzIEBAIHZvaWQgUmVuZGVySW5saW5lOjpwYWludE91dGxpbmUoUGFpbnRJbmZv
JiBwYWludEluZm8sIGNvbnN0IExheW91dFBvaW50JiBwYWludE9mCiAKICAgICBWZWN0b3I8TGF5
b3V0UmVjdD4gcmVjdHM7CiAgICAgcmVjdHMuYXBwZW5kKExheW91dFJlY3QoKSk7Ci0gICAgZm9y
IChhdXRvKiBjdXJyID0gZmlyc3RMaW5lQm94KCk7IGN1cnI7IGN1cnIgPSBjdXJyLT5uZXh0TGlu
ZUJveCgpKSB7Ci0gICAgICAgIGNvbnN0IExlZ2FjeVJvb3RJbmxpbmVCb3gmIHJvb3RCb3ggPSBj
dXJyLT5yb290KCk7Ci0gICAgICAgIExheW91dFVuaXQgdG9wID0gc3RkOjptYXgocm9vdEJveC5s
aW5lVG9wKCksIExheW91dFVuaXQoY3Vyci0+bG9naWNhbFRvcCgpKSk7Ci0gICAgICAgIExheW91
dFVuaXQgYm90dG9tID0gc3RkOjptaW4ocm9vdEJveC5saW5lQm90dG9tKCksIExheW91dFVuaXQo
Y3Vyci0+bG9naWNhbEJvdHRvbSgpKSk7Ci0gICAgICAgIHJlY3RzLmFwcGVuZCh7IExheW91dFVu
aXQoY3Vyci0+eCgpKSwgdG9wLCBMYXlvdXRVbml0KGN1cnItPmxvZ2ljYWxXaWR0aCgpKSwgYm90
dG9tIC0gdG9wIH0pOworCisgICAgZm9yIChhdXRvIGJveCA9IElubGluZUl0ZXJhdG9yOjpmaXJz
dElubGluZUJveEZvcigqdGhpcyk7IGJveDsgYm94LnRyYXZlcnNlTmV4dElubGluZUJveCgpKSB7
CisgICAgICAgIGF1dG8gbGluZSA9IGJveC0+bGluZSgpOworICAgICAgICBMYXlvdXRVbml0IHRv
cCA9IHN0ZDo6bWF4KGxpbmUtPnRvcCgpLCBMYXlvdXRVbml0KGJveC0+bG9naWNhbFRvcCgpKSk7
CisgICAgICAgIExheW91dFVuaXQgYm90dG9tID0gc3RkOjptaW4obGluZS0+Ym90dG9tKCksIExh
eW91dFVuaXQoYm94LT5sb2dpY2FsQm90dG9tKCkpKTsKKyAgICAgICAgLy8gRklYTUU6IFRoaXMg
aXMgbWl4aW5nIHBoeXNpY2FsIGFuZCBsb2dpY2FsIGNvb3JkaW5hdGVzLgorICAgICAgICByZWN0
cy5hcHBlbmQoeyBMYXlvdXRVbml0KGJveC0+cmVjdCgpLngoKSksIHRvcCwgTGF5b3V0VW5pdChi
b3gtPmxvZ2ljYWxXaWR0aCgpKSwgYm90dG9tIC0gdG9wIH0pOwogICAgIH0KICAgICByZWN0cy5h
cHBlbmQoTGF5b3V0UmVjdCgpKTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>448174</attachid>
            <date>2022-01-02 07:50:46 -0800</date>
            <delta_ts>2022-01-02 08:48:43 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234766-20220102175045.patch</filename>
            <type>text/plain</type>
            <size>20219</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3NTE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2U2NTA0ZmIxZjYzYmNk
MTIyMzRkOGE1YzdiOGZlYTBkYzk2YzdiZS4uODc3YmYwMDVhYThlMjgzOTU0MTllYjBmZjhiOTMz
ZjI3M2RmNmNkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDIyLTAxLTAyICBBbnR0
aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtJbnRlZ3JhdGlv
bl0gU3VwcG9ydCBvdXRsaW5lcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjM0NzY2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgT3V0bGluZXMgc2hvdWxkIG5vdCByZXF1aXJlIGxlZ2FjeSBsaW5lIGxheW91
dC4KKworICAgICAgICAqIGxheW91dC9pbnRlZ3JhdGlvbi9JbmxpbmVJdGVyYXRvcklubGluZUJv
eC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVJdGVyYXRvcjo6Zmlyc3RJbmxpbmVCb3hG
b3IpOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lSXRlcmF0b3I6OmZpcnN0Um9vdElubGluZUJv
eEZvcik6CisKKyAgICAgICAgQWRkIGl0ZXJhdG9yIHN1cHBvcnQgZm9yIGdldHRpbmcgaW5saW5l
IGJveGVzIGZyb20gcmVuZGVyZXIuCisKKyAgICAgICAgKiBsYXlvdXQvaW50ZWdyYXRpb24vSW5s
aW5lSXRlcmF0b3JJbmxpbmVCb3guaDoKKyAgICAgICAgKiBsYXlvdXQvaW50ZWdyYXRpb24vTGF5
b3V0SW50ZWdyYXRpb25Db3ZlcmFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXRJbnRl
Z3JhdGlvbjo6cHJpbnRSZWFzb24pOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0SW50ZWdyYXRp
b246OmNhblVzZUZvclJlbmRlcklubGluZUNoaWxkKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91
dEludGVncmF0aW9uOjpjYW5Vc2VGb3JMaW5lTGF5b3V0V2l0aFJlYXNvbik6CisgICAgICAgICog
bGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uQ292ZXJhZ2UuaDoKKyAgICAgICAg
KiBsYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25MaW5lTGF5b3V0LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkxheW91dEludGVncmF0aW9uOjpMaW5lTGF5b3V0OjpmaXJzdElubGlu
ZUJveEZvciBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXRJbnRlZ3JhdGlvbjo6TGlu
ZUxheW91dDo6Zmlyc3RSb290SW5saW5lQm94IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6Okxh
eW91dEludGVncmF0aW9uOjpMaW5lTGF5b3V0OjpwYWludCk6CisKKyAgICAgICAgU3VwcG9ydCBv
dXRsaW5lIHBhaW50aW5nLgorCisgICAgICAgICogbGF5b3V0L2ludGVncmF0aW9uL0xheW91dElu
dGVncmF0aW9uTGluZUxheW91dC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9jay5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6cGFpbnRPYmplY3QpOgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyQmxvY2tGbG93OjphZGRGb2N1c1JpbmdSZWN0c0ZvcklubGluZUNoaWxkcmVuKToKKworICAg
ICAgICBQb3J0IHRvIHVzZSBpdGVyYXRvci4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJ
bmxpbmUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVySW5saW5lOjpwYWludE91dGxpbmUp
OgorCisgICAgICAgIFBvcnQgdG8gdXNlIGl0ZXJhdG9yLgorCiAyMDIyLTAxLTAyICBBbGFuIEJ1
anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBJbmxpbmVUZXh0SXRlbXMgc2hvdWxk
IG5ldmVyIHNwbGl0IGluc2lkZSBzdXJyb2dhdGUgcGFpcnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9JbmxpbmVJdGVyYXRvcklubGluZUJveC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vSW5saW5lSXRlcmF0b3JJbmxpbmVCb3gu
Y3BwCmluZGV4IDc0NTI4MDIxZTAzMTQ2OTRjNWVhNjQ2ZDk3ODAzZWFhZGUwMzE2OWEuLjRkODNh
MGZhOGY4YWYyYWQ3YzViNmIxZmY1MTgzOTJmYzA1ZTc2MjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9JbmxpbmVJdGVyYXRvcklubGluZUJveC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0lubGluZUl0ZXJhdG9ySW5saW5l
Qm94LmNwcApAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgIklubGluZUl0ZXJhdG9ySW5saW5l
Qm94LmgiCiAKICNpbmNsdWRlICJMYXlvdXRJbnRlZ3JhdGlvbkxpbmVMYXlvdXQuaCIKKyNpbmNs
dWRlICJSZW5kZXJJbmxpbmUuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogbmFtZXNwYWNlIElu
bGluZUl0ZXJhdG9yIHsKQEAgLTEwNiw2ICsxMDcsMjIgQEAgSW5saW5lQm94SXRlcmF0b3ImIElu
bGluZUJveEl0ZXJhdG9yOjp0cmF2ZXJzZVByZXZpb3VzSW5saW5lQm94KCkKICAgICByZXR1cm4g
KnRoaXM7CiB9CiAKK0lubGluZUJveEl0ZXJhdG9yIGZpcnN0SW5saW5lQm94Rm9yKGNvbnN0IFJl
bmRlcklubGluZSYgcmVuZGVySW5saW5lKQoreworICAgIGlmIChhdXRvKiBsaW5lTGF5b3V0ID0g
TGF5b3V0SW50ZWdyYXRpb246OkxpbmVMYXlvdXQ6OmNvbnRhaW5pbmcocmVuZGVySW5saW5lKSkK
KyAgICAgICAgcmV0dXJuIGxpbmVMYXlvdXQtPmZpcnN0SW5saW5lQm94Rm9yKHJlbmRlcklubGlu
ZSk7CisKKyAgICByZXR1cm4geyBCb3hMZWdhY3lQYXRoIHsgcmVuZGVySW5saW5lLmZpcnN0TGlu
ZUJveCgpIH0gfTsKK30KKworSW5saW5lQm94SXRlcmF0b3IgZmlyc3RSb290SW5saW5lQm94Rm9y
KGNvbnN0IFJlbmRlckJsb2NrRmxvdyYgYmxvY2spCit7CisgICAgaWYgKGF1dG8qIGxpbmVMYXlv
dXQgPSBibG9jay5tb2Rlcm5MaW5lTGF5b3V0KCkpCisgICAgICAgIHJldHVybiBsaW5lTGF5b3V0
LT5maXJzdFJvb3RJbmxpbmVCb3goKTsKKworICAgIHJldHVybiB7IEJveExlZ2FjeVBhdGggeyBi
bG9jay5maXJzdFJvb3RCb3goKSB9IH07Cit9CisKIElubGluZUJveEl0ZXJhdG9yIGlubGluZUJv
eEZvcihjb25zdCBMZWdhY3lJbmxpbmVGbG93Qm94JiBsZWdhY3lJbmxpbmVGbG93Qm94KQogewog
ICAgIHJldHVybiB7IEJveExlZ2FjeVBhdGggeyAmbGVnYWN5SW5saW5lRmxvd0JveCB9IH07CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vSW5saW5lSXRlcmF0
b3JJbmxpbmVCb3guaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9JbmxpbmVJ
dGVyYXRvcklubGluZUJveC5oCmluZGV4IGVjOWYxYjc4MmUxNzBkMjA1MGI2ZTM1ZDg4NDA1ODA5
MDYwODM1NmYuLjFkYTcwOTkzODllZWU3Y2E1OGI3NjJiMWFjNWNkNDZlN2Q2NmEyMWQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9JbmxpbmVJdGVyYXRvcklu
bGluZUJveC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9JbmxpbmVJ
dGVyYXRvcklubGluZUJveC5oCkBAIC02OSw2ICs2OSw5IEBAIHByaXZhdGU6CiAgICAgY29uc3Qg
SW5saW5lQm94JiBnZXQoKSBjb25zdCB7IHJldHVybiBkb3duY2FzdDxJbmxpbmVCb3g+KG1fYm94
KTsgfQogfTsKIAorSW5saW5lQm94SXRlcmF0b3IgZmlyc3RJbmxpbmVCb3hGb3IoY29uc3QgUmVu
ZGVySW5saW5lJik7CitJbmxpbmVCb3hJdGVyYXRvciBmaXJzdFJvb3RJbmxpbmVCb3hGb3IoY29u
c3QgUmVuZGVyQmxvY2tGbG93Jik7CisKIElubGluZUJveEl0ZXJhdG9yIGlubGluZUJveEZvcihj
b25zdCBMZWdhY3lJbmxpbmVGbG93Qm94Jik7CiAjaWYgRU5BQkxFKExBWU9VVF9GT1JNQVRUSU5H
X0NPTlRFWFQpCiBJbmxpbmVCb3hJdGVyYXRvciBpbmxpbmVCb3hGb3IoY29uc3QgTGF5b3V0SW50
ZWdyYXRpb246OklubGluZUNvbnRlbnQmLCBjb25zdCBJbmxpbmVEaXNwbGF5OjpCb3gmKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3Jh
dGlvbkNvdmVyYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlv
dXRJbnRlZ3JhdGlvbkNvdmVyYWdlLmNwcAppbmRleCBiY2ZmZWQwOWVkNmIwNjRjYTIxMmQ3ZTE5
MTcxOGM1YWQyNDAwZTQ4Li4zM2FhMTE5N2FhYzVmNjQxNDkwMTQ4OTQ4MTZhOTg4ZTkwOWMwOTJm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50
ZWdyYXRpb25Db3ZlcmFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0
aW9uL0xheW91dEludGVncmF0aW9uQ292ZXJhZ2UuY3BwCkBAIC04OSw5ICs4OSw2IEBAIHN0YXRp
YyB2b2lkIHByaW50UmVhc29uKEF2b2lkYW5jZVJlYXNvbiByZWFzb24sIFRleHRTdHJlYW0mIHN0
cmVhbSkKICAgICBjYXNlIEF2b2lkYW5jZVJlYXNvbjo6Rmxvd0hhc0hvcml6b25hbFdyaXRpbmdN
b2RlOgogICAgICAgICBzdHJlYW0gPDwgImhvcml6b250YWwgd3JpdGluZyBtb2RlIjsKICAgICAg
ICAgYnJlYWs7Ci0gICAgY2FzZSBBdm9pZGFuY2VSZWFzb246OkNvbnRlbnRIYXNPdXRsaW5lOgot
ICAgICAgICBzdHJlYW0gPDwgIm91dGxpbmUiOwotICAgICAgICBicmVhazsKICAgICBjYXNlIEF2
b2lkYW5jZVJlYXNvbjo6Q29udGVudElzUnVieToKICAgICAgICAgc3RyZWFtIDw8ICJydWJ5IjsK
ICAgICAgICAgYnJlYWs7CkBAIC00NzQsOCArNDcxLDYgQEAgc3RhdGljIE9wdGlvblNldDxBdm9p
ZGFuY2VSZWFzb24+IGNhblVzZUZvclJlbmRlcklubGluZUNoaWxkKGNvbnN0IFJlbmRlcklubGlu
ZSYKICAgICBpZiAoc3R5bGUuYm94RGVjb3JhdGlvbkJyZWFrKCkgPT0gQm94RGVjb3JhdGlvbkJy
ZWFrOjpDbG9uZSkKICAgICAgICAgU0VUX1JFQVNPTl9BTkRfUkVUVVJOX0lGX05FRURFRChCb3hE
ZWNvcmF0aW9uQnJlYWtDbG9uZSwgcmVhc29ucywgaW5jbHVkZVJlYXNvbnMpOwogI2VuZGlmCi0g
ICAgaWYgKHN0eWxlLmhhc091dGxpbmUoKSkKLSAgICAgICAgU0VUX1JFQVNPTl9BTkRfUkVUVVJO
X0lGX05FRURFRChDb250ZW50SGFzT3V0bGluZSwgcmVhc29ucywgaW5jbHVkZVJlYXNvbnMpOwog
ICAgIGlmIChyZW5kZXJJbmxpbmUuaXNJbkZsb3dQb3NpdGlvbmVkKCkpCiAgICAgICAgIFNFVF9S
RUFTT05fQU5EX1JFVFVSTl9JRl9ORUVERUQoQ2hpbGRCb3hJc0Zsb2F0aW5nT3JQb3NpdGlvbmVk
LCByZWFzb25zLCBpbmNsdWRlUmVhc29ucyk7CiAgICAgaWYgKHJlbmRlcklubGluZS5jb250YWlu
aW5nQmxvY2soKS0+c3R5bGUoKS5saW5lQm94Q29udGFpbigpICE9IFJlbmRlclN0eWxlOjppbml0
aWFsTGluZUJveENvbnRhaW4oKSkKQEAgLTYwNiw4ICs2MDEsNiBAQCBPcHRpb25TZXQ8QXZvaWRh
bmNlUmVhc29uPiBjYW5Vc2VGb3JMaW5lTGF5b3V0V2l0aFJlYXNvbihjb25zdCBSZW5kZXJCbG9j
a0Zsb3cmCiAgICAgfQogICAgIGlmICghZmxvdy5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpKQog
ICAgICAgICBTRVRfUkVBU09OX0FORF9SRVRVUk5fSUZfTkVFREVEKEZsb3dIYXNIb3Jpem9uYWxX
cml0aW5nTW9kZSwgcmVhc29ucywgaW5jbHVkZVJlYXNvbnMpOwotICAgIGlmIChmbG93Lmhhc091
dGxpbmUoKSkKLSAgICAgICAgU0VUX1JFQVNPTl9BTkRfUkVUVVJOX0lGX05FRURFRChDb250ZW50
SGFzT3V0bGluZSwgcmVhc29ucywgaW5jbHVkZVJlYXNvbnMpOwogICAgIGlmIChmbG93LmlzUnVi
eVRleHQoKSB8fCBmbG93LmlzUnVieUJhc2UoKSkKICAgICAgICAgU0VUX1JFQVNPTl9BTkRfUkVU
VVJOX0lGX05FRURFRChDb250ZW50SXNSdWJ5LCByZWFzb25zLCBpbmNsdWRlUmVhc29ucyk7CiAg
ICAgaWYgKCFmbG93LnN0eWxlKCkuaGFuZ2luZ1B1bmN0dWF0aW9uKCkuaXNFbXB0eSgpKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0
aW9uQ292ZXJhZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJ
bnRlZ3JhdGlvbkNvdmVyYWdlLmgKaW5kZXggZWZiY2RhZTllOTczZTYwMzIxODBkNGQ3YTViODI4
MWY3MzMxODQ3Yi4uN2QxYjdhYThmMjUzZmE1ZmViMzU5NDk2YWUyN2NjMTIxYWQ2MzAwMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0
aW9uQ292ZXJhZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5
b3V0SW50ZWdyYXRpb25Db3ZlcmFnZS5oCkBAIC00MCw3ICs0MCw3IEBAIG5hbWVzcGFjZSBMYXlv
dXRJbnRlZ3JhdGlvbiB7CiBlbnVtIGNsYXNzIEF2b2lkYW5jZVJlYXNvbiA6IHVpbnQ2NF90IHsK
ICAgICBGbG93SXNJbnNpZGVBTm9uTXVsdGlDb2x1bW5UaHJlYWQgICAgICAgICAgICA9IDFMTFUg
IDw8IDAsCiAgICAgRmxvd0hhc0hvcml6b25hbFdyaXRpbmdNb2RlICAgICAgICAgICAgICAgICAg
PSAxTExVICA8PCAxLAotICAgIENvbnRlbnRIYXNPdXRsaW5lICAgICAgICAgICAgICAgICAgICAg
ICAgICAgID0gMUxMVSAgPDwgMiwKKyAgICAvLyBVbnVzZWQgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICA9IDFMTFUgIDw8IDIsCiAgICAgQ29udGVudElzUnVieSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgPSAxTExVICA8PCAzLAogICAgIEZsb3dJc1BhZ2luYXRlZCAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMUxMVSAgPDwgNCwKICAgICBGbG93SGFzVGV4
dE92ZXJmbG93ICAgICAgICAgICAgICAgICAgICAgICAgICA9IDFMTFUgIDw8IDUsCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25M
aW5lTGF5b3V0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJ
bnRlZ3JhdGlvbkxpbmVMYXlvdXQuY3BwCmluZGV4IDZiN2I0ZGJkNDNkNGZkOGNjMTBjZTc2OTFj
MGU5ZjA4OThkZGVjOTYuLmYxZWExOTY4NzZiMjJkZWFmZTE5NmY2NTU4YThlOTc3OTQyMWViZDEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRl
Z3JhdGlvbkxpbmVMYXlvdXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3Jh
dGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVMYXlvdXQuY3BwCkBAIC00NTYsNiArNDU2LDI3IEBA
IElubGluZUl0ZXJhdG9yOjpMZWFmQm94SXRlcmF0b3IgTGluZUxheW91dDo6Ym94Rm9yKGNvbnN0
IFJlbmRlckVsZW1lbnQmIHJlbmRlckVsCiAgICAgcmV0dXJuIElubGluZUl0ZXJhdG9yOjpib3hG
b3IoKm1faW5saW5lQ29udGVudCwgKmZpcnN0SW5kZXgpOwogfQogCitJbmxpbmVJdGVyYXRvcjo6
SW5saW5lQm94SXRlcmF0b3IgTGluZUxheW91dDo6Zmlyc3RJbmxpbmVCb3hGb3IoY29uc3QgUmVu
ZGVySW5saW5lJiByZW5kZXJJbmxpbmUpIGNvbnN0Cit7CisgICAgaWYgKCFtX2lubGluZUNvbnRl
bnQpCisgICAgICAgIHJldHVybiB7IH07CisKKyAgICBhdXRvJiBsYXlvdXRCb3ggPSBtX2JveFRy
ZWUubGF5b3V0Qm94Rm9yUmVuZGVyZXIocmVuZGVySW5saW5lKTsKKyAgICBhdXRvKiBib3ggPSBt
X2lubGluZUNvbnRlbnQtPmZpcnN0Qm94Rm9yTGF5b3V0Qm94KGxheW91dEJveCk7CisgICAgaWYg
KCFib3gpCisgICAgICAgIHJldHVybiB7IH07CisKKyAgICByZXR1cm4gSW5saW5lSXRlcmF0b3I6
OmlubGluZUJveEZvcigqbV9pbmxpbmVDb250ZW50LCAqYm94KTsKK30KKworSW5saW5lSXRlcmF0
b3I6OklubGluZUJveEl0ZXJhdG9yIExpbmVMYXlvdXQ6OmZpcnN0Um9vdElubGluZUJveCgpIGNv
bnN0Cit7CisgICAgaWYgKCFtX2lubGluZUNvbnRlbnQgfHwgIW1faW5saW5lQ29udGVudC0+aGFz
Q29udGVudCgpKQorICAgICAgICByZXR1cm4geyB9OworCisgICAgcmV0dXJuIElubGluZUl0ZXJh
dG9yOjppbmxpbmVCb3hGb3IoKm1faW5saW5lQ29udGVudCwgbV9pbmxpbmVDb250ZW50LT5ib3hl
c1swXSk7Cit9CisKIElubGluZUl0ZXJhdG9yOjpMaW5lSXRlcmF0b3IgTGluZUxheW91dDo6Zmly
c3RMaW5lKCkgY29uc3QKIHsKICAgICBpZiAoIW1faW5saW5lQ29udGVudCkKQEAgLTU0MSw3ICs1
NjIsMjQgQEAgdm9pZCBMaW5lTGF5b3V0OjpwYWludChQYWludEluZm8mIHBhaW50SW5mbywgY29u
c3QgTGF5b3V0UG9pbnQmIHBhaW50T2Zmc2V0KQogICAgIGlmICghbV9pbmxpbmVDb250ZW50KQog
ICAgICAgICByZXR1cm47CiAKLSAgICBpZiAocGFpbnRJbmZvLnBoYXNlICE9IFBhaW50UGhhc2U6
OkZvcmVncm91bmQgJiYgcGFpbnRJbmZvLnBoYXNlICE9IFBhaW50UGhhc2U6OkV2ZW50UmVnaW9u
ICYmIHBhaW50SW5mby5waGFzZSAhPSBQYWludFBoYXNlOjpUZXh0Q2xpcCAmJiBwYWludEluZm8u
cGhhc2UgIT0gUGFpbnRQaGFzZTo6U2VsZWN0aW9uKQorICAgIGF1dG8gcGFpbnRQaGFzZSA9IHBh
aW50SW5mby5waGFzZTsKKworICAgIGF1dG8gc2hvdWxkUGFpbnRGb3JQaGFzZSA9IFsmXSB7Cisg
ICAgICAgIHN3aXRjaCAocGFpbnRQaGFzZSkgeworICAgICAgICBjYXNlIFBhaW50UGhhc2U6OkZv
cmVncm91bmQ6CisgICAgICAgIGNhc2UgUGFpbnRQaGFzZTo6RXZlbnRSZWdpb246CisgICAgICAg
IGNhc2UgUGFpbnRQaGFzZTo6VGV4dENsaXA6CisgICAgICAgIGNhc2UgUGFpbnRQaGFzZTo6U2Vs
ZWN0aW9uOgorICAgICAgICBjYXNlIFBhaW50UGhhc2U6Ok91dGxpbmU6CisgICAgICAgIGNhc2Ug
UGFpbnRQaGFzZTo6Q2hpbGRPdXRsaW5lczoKKyAgICAgICAgY2FzZSBQYWludFBoYXNlOjpTZWxm
T3V0bGluZToKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICBkZWZhdWx0OgorICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CisgICAgfTsKKworICAgIGlmICghc2hv
dWxkUGFpbnRGb3JQaGFzZSgpKQogICAgICAgICByZXR1cm47CiAKICAgICBhdXRvIGRhbWFnZVJl
Y3QgPSBwYWludEluZm8ucmVjdDsKQEAgLTU1Niw3ICs1OTQsMjEgQEAgdm9pZCBMaW5lTGF5b3V0
OjpwYWludChQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgTGF5b3V0UG9pbnQmIHBhaW50T2Zm
c2V0KQogICAgICAgICByZXR1cm4gZGFtYWdlUmVjdC5tYXhZKCkgPiByZWN0LnkoKSAmJiBkYW1h
Z2VSZWN0LnkoKSA8IHJlY3QubWF4WSgpOwogICAgIH07CiAKKyAgICBhdXRvIHNob3VsZFBhaW50
Qm94Rm9yUGhhc2UgPSBbJl0oYXV0byYgYm94KSB7CisgICAgICAgIHN3aXRjaCAocGFpbnRQaGFz
ZSkgeworICAgICAgICBjYXNlIFBhaW50UGhhc2U6OkNoaWxkT3V0bGluZXM6IHJldHVybiBib3gu
aXNOb25Sb290SW5saW5lQm94KCk7CisgICAgICAgIGNhc2UgUGFpbnRQaGFzZTo6U2VsZk91dGxp
bmU6IHJldHVybiBib3guaXNSb290SW5saW5lQm94KCk7CisgICAgICAgIGNhc2UgUGFpbnRQaGFz
ZTo6T3V0bGluZTogcmV0dXJuIGJveC5pc0lubGluZUJveCgpOworICAgICAgICBkZWZhdWx0OiBy
ZXR1cm4gdHJ1ZTsKKyAgICAgICAgfQorICAgIH07CisKKyAgICBMaXN0SGFzaFNldDxSZW5kZXJJ
bmxpbmUqPiBvdXRsaW5lT2JqZWN0czsKKwogICAgIGZvciAoYXV0byYgYm94IDogbV9pbmxpbmVD
b250ZW50LT5ib3hlc0ZvclJlY3QoZGFtYWdlUmVjdCkpIHsKKyAgICAgICAgaWYgKCFzaG91bGRQ
YWludEJveEZvclBoYXNlKGJveCkpCisgICAgICAgICAgICBjb250aW51ZTsKKwogICAgICAgICBp
ZiAoYm94LmlzTGluZUJyZWFrKCkpCiAgICAgICAgICAgICBjb250aW51ZTsKIApAQCAtNTY0LDcg
KzYxNiwxMSBAQCB2b2lkIExpbmVMYXlvdXQ6OnBhaW50KFBhaW50SW5mbyYgcGFpbnRJbmZvLCBj
b25zdCBMYXlvdXRQb2ludCYgcGFpbnRPZmZzZXQpCiAgICAgICAgICAgICBpZiAoIWhhc0RhbWFn
ZShib3gpKQogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogCi0gICAgICAgICAgICBJbmxpbmVC
b3hQYWludGVyIHBhaW50ZXIoKm1faW5saW5lQ29udGVudCwgYm94LCBwYWludEluZm8sIHBhaW50
T2Zmc2V0KTsKKyAgICAgICAgICAgIFBhaW50SW5mbyBpbmxpbmVCb3hQYWludEluZm8ocGFpbnRJ
bmZvKTsKKyAgICAgICAgICAgIGlubGluZUJveFBhaW50SW5mby5waGFzZSA9IHBhaW50UGhhc2Ug
PT0gUGFpbnRQaGFzZTo6Q2hpbGRPdXRsaW5lcyA/IFBhaW50UGhhc2U6Ok91dGxpbmUgOiBwYWlu
dFBoYXNlOworICAgICAgICAgICAgaW5saW5lQm94UGFpbnRJbmZvLm91dGxpbmVPYmplY3RzID0g
Jm91dGxpbmVPYmplY3RzOworCisgICAgICAgICAgICBJbmxpbmVCb3hQYWludGVyIHBhaW50ZXIo
Km1faW5saW5lQ29udGVudCwgYm94LCBpbmxpbmVCb3hQYWludEluZm8sIHBhaW50T2Zmc2V0KTsK
ICAgICAgICAgICAgIHBhaW50ZXIucGFpbnQoKTsKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAg
ICAgICB9CkBAIC01ODQsNiArNjQwLDkgQEAgdm9pZCBMaW5lTGF5b3V0OjpwYWludChQYWludElu
Zm8mIHBhaW50SW5mbywgY29uc3QgTGF5b3V0UG9pbnQmIHBhaW50T2Zmc2V0KQogICAgICAgICAg
ICAgICAgIHJlbmRlckJveC5wYWludEFzSW5saW5lQmxvY2socGFpbnRJbmZvLCBwYWludE9mZnNl
dCk7CiAgICAgICAgIH0KICAgICB9CisKKyAgICBmb3IgKGF1dG8qIHJlbmRlcklubGluZSA6IG91
dGxpbmVPYmplY3RzKQorICAgICAgICByZW5kZXJJbmxpbmUtPnBhaW50T3V0bGluZShwYWludElu
Zm8sIHBhaW50T2Zmc2V0KTsKIH0KIAogYm9vbCBMaW5lTGF5b3V0OjpoaXRUZXN0KGNvbnN0IEhp
dFRlc3RSZXF1ZXN0JiByZXF1ZXN0LCBIaXRUZXN0UmVzdWx0JiByZXN1bHQsIGNvbnN0IEhpdFRl
c3RMb2NhdGlvbiYgbG9jYXRpb25JbkNvbnRhaW5lciwgY29uc3QgTGF5b3V0UG9pbnQmIGFjY3Vt
dWxhdGVkT2Zmc2V0LCBIaXRUZXN0QWN0aW9uIGhpdFRlc3RBY3Rpb24pCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25MaW5lTGF5
b3V0LmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRp
b25MaW5lTGF5b3V0LmgKaW5kZXggOTBlMzhhNDU0MmZiYWE0OWUxZWM0YzU4YzllMzdiYzJhMDlh
ODYyZi4uYmJhYzA5NWM4ZTYzNmY5MDcwOGZmYjE5Zjk4ODcyMTkyMzQwYjQ3NSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uTGlu
ZUxheW91dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJ
bnRlZ3JhdGlvbkxpbmVMYXlvdXQuaApAQCAtMjgsNiArMjgsNyBAQAogI2lmIEVOQUJMRShMQVlP
VVRfRk9STUFUVElOR19DT05URVhUKQogCiAjaW5jbHVkZSAiRmxvYXRSZWN0LmgiCisjaW5jbHVk
ZSAiSW5saW5lSXRlcmF0b3JJbmxpbmVCb3guaCIKICNpbmNsdWRlICJJbmxpbmVJdGVyYXRvckxp
bmUuaCIKICNpbmNsdWRlICJJbmxpbmVJdGVyYXRvclRleHRCb3guaCIKICNpbmNsdWRlICJMYXlv
dXRJbnRlZ3JhdGlvbkJveFRyZWUuaCIKQEAgLTEwMSw2ICsxMDIsOCBAQCBwdWJsaWM6CiAKICAg
ICBJbmxpbmVJdGVyYXRvcjo6VGV4dEJveEl0ZXJhdG9yIHRleHRCb3hlc0Zvcihjb25zdCBSZW5k
ZXJUZXh0JikgY29uc3Q7CiAgICAgSW5saW5lSXRlcmF0b3I6OkxlYWZCb3hJdGVyYXRvciBib3hG
b3IoY29uc3QgUmVuZGVyRWxlbWVudCYpIGNvbnN0OworICAgIElubGluZUl0ZXJhdG9yOjpJbmxp
bmVCb3hJdGVyYXRvciBmaXJzdElubGluZUJveEZvcihjb25zdCBSZW5kZXJJbmxpbmUmKSBjb25z
dDsKKyAgICBJbmxpbmVJdGVyYXRvcjo6SW5saW5lQm94SXRlcmF0b3IgZmlyc3RSb290SW5saW5l
Qm94KCkgY29uc3Q7CiAgICAgSW5saW5lSXRlcmF0b3I6OkxpbmVJdGVyYXRvciBmaXJzdExpbmUo
KSBjb25zdDsKICAgICBJbmxpbmVJdGVyYXRvcjo6TGluZUl0ZXJhdG9yIGxhc3RMaW5lKCkgY29u
c3Q7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCmluZGV4IDgzYzgx
MDQxMGFhMmFkN2E3NjEzODllZmJjNGIwODQzYWI0YzA5ZDMuLjNlMmE4YjAyNmRmNWI3NzM4MTAz
NjM1M2UyZWExMGFiMTM0NzYwZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCbG9jay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJs
b2NrLmNwcApAQCAtMzksNiArMzksNyBAQAogI2luY2x1ZGUgIkhpdFRlc3RMb2NhdGlvbi5oIgog
I2luY2x1ZGUgIkhpdFRlc3RSZXN1bHQuaCIKICNpbmNsdWRlICJJbWFnZUJ1ZmZlci5oIgorI2lu
Y2x1ZGUgIklubGluZUl0ZXJhdG9ySW5saW5lQm94LmgiCiAjaW5jbHVkZSAiSW5saW5lV2Fsa2Vy
LmgiCiAjaW5jbHVkZSAiTGF5b3V0UmVwYWludGVyLmgiCiAjaW5jbHVkZSAiTGVnYWN5SW5saW5l
RWxlbWVudEJveC5oIgpAQCAtMTM0Nyw3ICsxMzQ4LDcgQEAgdm9pZCBSZW5kZXJCbG9jazo6cGFp
bnRPYmplY3QoUGFpbnRJbmZvJiBwYWludEluZm8sIGNvbnN0IExheW91dFBvaW50JiBwYWludE9m
ZnMKICAgICAgICAgICAgIC8vIGluIHRoZSBzYW1lIGxheWVyLiAKICAgICAgICAgICAgIGlmICgh
aW5saW5lRW5jbG9zZWRJblNlbGZQYWludGluZ0xheWVyICYmICFoYXNMYXllcigpKQogICAgICAg
ICAgICAgICAgIGNvbnRhaW5pbmdCbG9jay0+YWRkQ29udGludWF0aW9uV2l0aE91dGxpbmUoaW5s
aW5lUmVuZGVyZXIpOwotICAgICAgICAgICAgZWxzZSBpZiAoIWlubGluZVJlbmRlcmVyLT5maXJz
dExpbmVCb3goKSB8fCAoIWlubGluZUVuY2xvc2VkSW5TZWxmUGFpbnRpbmdMYXllciAmJiBoYXNM
YXllcigpKSkKKyAgICAgICAgICAgIGVsc2UgaWYgKCFJbmxpbmVJdGVyYXRvcjo6Zmlyc3RJbmxp
bmVCb3hGb3IoKmlubGluZVJlbmRlcmVyKSB8fCAoIWlubGluZUVuY2xvc2VkSW5TZWxmUGFpbnRp
bmdMYXllciAmJiBoYXNMYXllcigpKSkKICAgICAgICAgICAgICAgICBpbmxpbmVSZW5kZXJlci0+
cGFpbnRPdXRsaW5lKHBhaW50SW5mbywgcGFpbnRPZmZzZXQgLSBsb2NhdGlvbk9mZnNldCgpICsg
aW5saW5lUmVuZGVyZXItPmNvbnRhaW5pbmdCbG9jaygpLT5sb2NhdGlvbigpKTsKICAgICAgICAg
fQogICAgICAgICBwYWludENvbnRpbnVhdGlvbk91dGxpbmVzKHBhaW50SW5mbywgcGFpbnRPZmZz
ZXQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxv
dy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcAppbmRl
eCBiN2QxZmVmNmRlZmI3YjhiNWNmYTY5MjIzZjMwNmJiMTEzMmY5NmM3Li5jMmZiMmI3MjRkNmRm
Y2I1MjI0NDJkZDQ0NTI2YzhkMWI1ZDlkNWI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQmxvY2tGbG93LmNwcApAQCAtMzQ0OSwxMCArMzQ0OSwxMiBAQCBWaXNpYmxlUG9z
aXRpb24gUmVuZGVyQmxvY2tGbG93Ojpwb3NpdGlvbkZvclBvaW50KGNvbnN0IExheW91dFBvaW50
JiBwb2ludCwgY29ucwogdm9pZCBSZW5kZXJCbG9ja0Zsb3c6OmFkZEZvY3VzUmluZ1JlY3RzRm9y
SW5saW5lQ2hpbGRyZW4oVmVjdG9yPExheW91dFJlY3Q+JiByZWN0cywgY29uc3QgTGF5b3V0UG9p
bnQmIGFkZGl0aW9uYWxPZmZzZXQsIGNvbnN0IFJlbmRlckxheWVyTW9kZWxPYmplY3QqKQogewog
ICAgIEFTU0VSVChjaGlsZHJlbklubGluZSgpKTsKLSAgICBmb3IgKGF1dG8qIGN1cnIgPSBmaXJz
dFJvb3RCb3goKTsgY3VycjsgY3VyciA9IGN1cnItPm5leHRSb290Qm94KCkpIHsKLSAgICAgICAg
TGF5b3V0VW5pdCB0b3AgPSBzdGQ6Om1heChjdXJyLT5saW5lVG9wKCksIExheW91dFVuaXQoY3Vy
ci0+dG9wKCkpKTsKLSAgICAgICAgTGF5b3V0VW5pdCBib3R0b20gPSBzdGQ6Om1pbihjdXJyLT5s
aW5lQm90dG9tKCksIExheW91dFVuaXQoY3Vyci0+dG9wKCkgKyBjdXJyLT5oZWlnaHQoKSkpOwot
ICAgICAgICBMYXlvdXRSZWN0IHJlY3QgeyBMYXlvdXRVbml0KGFkZGl0aW9uYWxPZmZzZXQueCgp
ICsgY3Vyci0+eCgpKSwgYWRkaXRpb25hbE9mZnNldC55KCkgKyB0b3AsIExheW91dFVuaXQoY3Vy
ci0+d2lkdGgoKSksIGJvdHRvbSAtIHRvcCB9OworICAgIGZvciAoYXV0byBib3ggPSBJbmxpbmVJ
dGVyYXRvcjo6Zmlyc3RSb290SW5saW5lQm94Rm9yKCp0aGlzKTsgYm94OyBib3gudHJhdmVyc2VO
ZXh0SW5saW5lQm94KCkpIHsKKyAgICAgICAgYXV0byBsaW5lID0gYm94LT5saW5lKCk7CisgICAg
ICAgIC8vIEZJWE1FOiBUaGlzIGlzIG1peGluZyBwaHlzaWNhbCBhbmQgbG9naWNhbCBjb29yZGlu
YXRlcy4KKyAgICAgICAgTGF5b3V0VW5pdCB0b3AgPSBzdGQ6Om1heChsaW5lLT50b3AoKSwgTGF5
b3V0VW5pdChib3gtPnJlY3QoKS55KCkpKTsKKyAgICAgICAgTGF5b3V0VW5pdCBib3R0b20gPSBz
dGQ6Om1pbihsaW5lLT5ib3R0b20oKSwgTGF5b3V0VW5pdChib3gtPnJlY3QoKS5tYXhZKCkpKTsK
KyAgICAgICAgTGF5b3V0UmVjdCByZWN0IHsgTGF5b3V0VW5pdChhZGRpdGlvbmFsT2Zmc2V0Lngo
KSArIGJveC0+cmVjdCgpLngoKSksIGFkZGl0aW9uYWxPZmZzZXQueSgpICsgdG9wLCBMYXlvdXRV
bml0KGJveC0+cmVjdCgpLndpZHRoKCkpLCBib3R0b20gLSB0b3AgfTsKICAgICAgICAgaWYgKCFy
ZWN0LmlzRW1wdHkoKSkKICAgICAgICAgICAgIHJlY3RzLmFwcGVuZChyZWN0KTsKICAgICB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW5saW5lLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuY3BwCmluZGV4IDhjZjRmZTI1YzAw
ZmNmZDkyMGJhYjNhNmU3MjFlNzI2MjczOGI1M2UuLmRhZmVjMjVhZjlkZjdlMDdhZTE1MmRmMTRl
Y2Y2NWZjZmYyMTYyMTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJJbmxpbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUu
Y3BwCkBAIC0yOCw2ICsyOCw3IEBACiAjaW5jbHVkZSAiRnJhbWVTZWxlY3Rpb24uaCIKICNpbmNs
dWRlICJHcmFwaGljc0NvbnRleHQuaCIKICNpbmNsdWRlICJIaXRUZXN0UmVzdWx0LmgiCisjaW5j
bHVkZSAiSW5saW5lSXRlcmF0b3JJbmxpbmVCb3guaCIKICNpbmNsdWRlICJMYXlvdXRJbnRlZ3Jh
dGlvbkxpbmVMYXlvdXQuaCIKICNpbmNsdWRlICJMZWdhY3lJbmxpbmVFbGVtZW50Qm94LmgiCiAj
aW5jbHVkZSAiTGVnYWN5SW5saW5lVGV4dEJveC5oIgpAQCAtOTU3LDExICs5NTgsMTMgQEAgdm9p
ZCBSZW5kZXJJbmxpbmU6OnBhaW50T3V0bGluZShQYWludEluZm8mIHBhaW50SW5mbywgY29uc3Qg
TGF5b3V0UG9pbnQmIHBhaW50T2YKIAogICAgIFZlY3RvcjxMYXlvdXRSZWN0PiByZWN0czsKICAg
ICByZWN0cy5hcHBlbmQoTGF5b3V0UmVjdCgpKTsKLSAgICBmb3IgKGF1dG8qIGN1cnIgPSBmaXJz
dExpbmVCb3goKTsgY3VycjsgY3VyciA9IGN1cnItPm5leHRMaW5lQm94KCkpIHsKLSAgICAgICAg
Y29uc3QgTGVnYWN5Um9vdElubGluZUJveCYgcm9vdEJveCA9IGN1cnItPnJvb3QoKTsKLSAgICAg
ICAgTGF5b3V0VW5pdCB0b3AgPSBzdGQ6Om1heChyb290Qm94LmxpbmVUb3AoKSwgTGF5b3V0VW5p
dChjdXJyLT5sb2dpY2FsVG9wKCkpKTsKLSAgICAgICAgTGF5b3V0VW5pdCBib3R0b20gPSBzdGQ6
Om1pbihyb290Qm94LmxpbmVCb3R0b20oKSwgTGF5b3V0VW5pdChjdXJyLT5sb2dpY2FsQm90dG9t
KCkpKTsKLSAgICAgICAgcmVjdHMuYXBwZW5kKHsgTGF5b3V0VW5pdChjdXJyLT54KCkpLCB0b3As
IExheW91dFVuaXQoY3Vyci0+bG9naWNhbFdpZHRoKCkpLCBib3R0b20gLSB0b3AgfSk7CisKKyAg
ICBmb3IgKGF1dG8gYm94ID0gSW5saW5lSXRlcmF0b3I6OmZpcnN0SW5saW5lQm94Rm9yKCp0aGlz
KTsgYm94OyBib3gudHJhdmVyc2VOZXh0SW5saW5lQm94KCkpIHsKKyAgICAgICAgYXV0byBsaW5l
ID0gYm94LT5saW5lKCk7CisgICAgICAgIExheW91dFVuaXQgdG9wID0gc3RkOjptYXgobGluZS0+
dG9wKCksIExheW91dFVuaXQoYm94LT5sb2dpY2FsVG9wKCkpKTsKKyAgICAgICAgTGF5b3V0VW5p
dCBib3R0b20gPSBzdGQ6Om1pbihsaW5lLT5ib3R0b20oKSwgTGF5b3V0VW5pdChib3gtPmxvZ2lj
YWxCb3R0b20oKSkpOworICAgICAgICAvLyBGSVhNRTogVGhpcyBpcyBtaXhpbmcgcGh5c2ljYWwg
YW5kIGxvZ2ljYWwgY29vcmRpbmF0ZXMuCisgICAgICAgIHJlY3RzLmFwcGVuZCh7IExheW91dFVu
aXQoYm94LT5yZWN0KCkueCgpKSwgdG9wLCBMYXlvdXRVbml0KGJveC0+bG9naWNhbFdpZHRoKCkp
LCBib3R0b20gLSB0b3AgfSk7CiAgICAgfQogICAgIHJlY3RzLmFwcGVuZChMYXlvdXRSZWN0KCkp
OwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKaW5kZXggNjI2MTRiMTExMzNlNDJkZTdkM2Y0NmMyNjk2OWU5YmVmYjY0NGY0YS4uYjgz
NWNiMzlhY2RjN2M2ZTUwODQ5MjU0MDI1NTM3MjVmMGJlNGQ1ZiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0
IEBACisyMDIyLTAxLTAyICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAg
ICAgICBbTEZDXVtJbnRlZ3JhdGlvbl0gU3VwcG9ydCBvdXRsaW5lcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM0NzY2CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L3JlcGFpbnQvZm9jdXMtcmlu
Zy1yZXBhaW50LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvZmFzdC90YWJs
ZS90YWJsZS1jb250aW51YXRpb24tb3V0bGluZS1wYWludC1jcmFzaC1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvdGFibGUvdGFibGUtY29udGludWF0aW9uLW91dGxp
bmUtcGFpbnQtY3Jhc2gtZXhwZWN0ZWQudHh0OgorCiAyMDIyLTAxLTAyICBBbGFuIEJ1anRhcyAg
PHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZDXVtJRkNdIE5lc3RlZCBpbmxpbmUgYm94
IGNvbnRpbnVhdGlvbiBmYWlscyB0byBvbWl0IG1hcmdpbi9ib3JkZXIvcGFkZGluZyBzdGFydC9l
bmQgdmFsdWVzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvZm9jdXMtcmlu
Zy1yZXBhaW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9mb2N1cy1y
aW5nLXJlcGFpbnQtZXhwZWN0ZWQudHh0CmluZGV4IDllYjQ5YjMzZGUxNGMzYWUwYzM0ZDc2ZWY5
YTEyY2ZhODI1MjNkMjEuLjMwZDIwYzQ4NzYyNmQ3ZDI0ZjE3OWRlZTBlNWZkOWFkNjE0NzY4N2Ig
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9mb2N1cy1yaW5nLXJlcGFpbnQt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9mb2N1cy1yaW5nLXJl
cGFpbnQtZXhwZWN0ZWQudHh0CkBAIC02LDI3ICs2LDI3IEBACiAKIAogKHJlcGFpbnQgcmVjdHMK
LSAgKHJlY3QgNSA0NTcgMTA2IDcwKQotICAocmVjdCA1IDQ1NyAxMDYgNzApCisgIChyZWN0IDUg
NDU3IDEwMyA2NykKKyAgKHJlY3QgNSA0NTcgMTA2IDY2KQogICAocmVjdCA1IDU0MiAxMDYgNjYp
Ci0gIChyZWN0IDE1IDYyIDM2IDQwKQotICAocmVjdCAxOCA2NSAzMCAzNCkKLSAgKHJlY3QgNSA5
MiA1NiAxMCkKLSAgKHJlY3QgNSAzNSA1NiA2NykKLSAgKHJlY3QgNSAxMTcgMzYgNjApCi0gIChy
ZWN0IDggMTIwIDMwIDU0KQorICAocmVjdCAxNSA2MiAzNiAzNikKKyAgKHJlY3QgMTggNjUgMzAg
MzApCisgIChyZWN0IDE1IDYyIDM2IDI2KQorICAocmVjdCAxOCA2NSAzMCAyMCkKKyAgKHJlY3Qg
NSA4OSA1NiAxMCkKKyAgKHJlY3QgNSAzNSA1NiA2NCkKKyAgKHJlY3QgNSAxMTcgMzYgNTYpCisg
IChyZWN0IDggMTIwIDMwIDUwKQogICAocmVjdCA1IDExNyAzNiA4NikKICAgKHJlY3QgOCAxMjAg
MzAgODApCi0gIChyZWN0IDUgMTc3IDU2IDMwKQotICAocmVjdCA1IDEyMCA1NiA4NykKKyAgKHJl
Y3QgNSAxNzQgNTYgMzApCisgIChyZWN0IDUgMTIwIDU2IDg0KQogICAocmVjdCA1IDIwNSA1NiAz
NykKICAgKHJlY3QgNSAzNzUgNTYgMzcpCi0gIChyZWN0IDUgNDU3IDEwNiA3MCkKKyAgKHJlY3Qg
NSA0NTcgMTAzIDY3KQogICAocmVjdCA4IDQ2MCAxMDAgNjQpCiAgIChyZWN0IDggNTQ1IDEwMCA2
NCkKLSAgKHJlY3QgNSA1NDIgMTA2IDcwKQotICAocmVjdCA1IDYwOSA3NzIgMykKLSAgKHJlY3Qg
MCA2MDkgNzg1IDMpCisgIChyZWN0IDUgNTQyIDEwMyA2NykKICAgKHJlY3QgNDUgMjEyIDM2IDQw
KQogICAocmVjdCA0OCAyMTUgMzAgMzQpCiAgIChyZWN0IDE1NSAyMTIgMzYgNDApCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvZmFzdC90YWJsZS90YWJsZS1jb250aW51YXRp
b24tb3V0bGluZS1wYWludC1jcmFzaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9pb3MvZmFzdC90YWJsZS90YWJsZS1jb250aW51YXRpb24tb3V0bGluZS1wYWludC1jcmFzaC1l
eHBlY3RlZC50eHQKaW5kZXggODUxNWM0MDA3MTBiNThhMjI1NDMyMDdjMzMwODM2NDNjOGM2ZjBh
OC4uMWUxYmNiZjZiYjJlZjBmYWVkZDJmYmJlNWU4ZDlkN2Q2ZDljMThjMCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2Zhc3QvdGFibGUvdGFibGUtY29udGludWF0aW9uLW91
dGxpbmUtcGFpbnQtY3Jhc2gtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2lvcy9mYXN0L3RhYmxlL3RhYmxlLWNvbnRpbnVhdGlvbi1vdXRsaW5lLXBhaW50LWNyYXNoLWV4
cGVjdGVkLnR4dApAQCAtMTQsNCArMTQsNCBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAK
ICAgICAgICAgICAgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDM3eDE5CiAg
ICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMzd4MTkKICAg
ICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDM3OiAiUEFTUyIKLSAgICAg
ICAgICAgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDF4MTkKKyAgICAgICAg
ICAgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDB4MTgKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RhYmxlL3RhYmxlLWNvbnRpbnVhdGlvbi1v
dXRsaW5lLXBhaW50LWNyYXNoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9mYXN0L3RhYmxlL3RhYmxlLWNvbnRpbnVhdGlvbi1vdXRsaW5lLXBhaW50LWNyYXNoLWV4cGVj
dGVkLnR4dAppbmRleCA2M2EwNjFjMzAxOTc3ZWMyMzk4ODA2MmVjMzFlYjFlMDA2ZTNmMjJiLi4w
ZDRjNTc2ZDQ4YzBmN2Y2ZmYwNjBhYTkwM2Q5ZTc1OGQ3NGE5NDEzIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90YWJsZS90YWJsZS1jb250aW51YXRpb24tb3V0bGlu
ZS1wYWludC1jcmFzaC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L2Zhc3QvdGFibGUvdGFibGUtY29udGludWF0aW9uLW91dGxpbmUtcGFpbnQtY3Jhc2gtZXhwZWN0
ZWQudHh0CkBAIC0xNCw0ICsxNCw0IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICAg
ICAgICAgICAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgMzd4MTgKICAgICAg
ICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAzN3gxOAogICAgICAg
ICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMzc6ICJQQVNTIgotICAgICAgICAg
ICAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgMXgxOAorICAgICAgICAgICAg
ICBSZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgMHgxOAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>448176</attachid>
            <date>2022-01-02 08:48:47 -0800</date>
            <delta_ts>2022-01-02 13:29:46 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234766-20220102184846.patch</filename>
            <type>text/plain</type>
            <size>20219</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3NTE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2U2NTA0ZmIxZjYzYmNk
MTIyMzRkOGE1YzdiOGZlYTBkYzk2YzdiZS4uODc3YmYwMDVhYThlMjgzOTU0MTllYjBmZjhiOTMz
ZjI3M2RmNmNkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDIyLTAxLTAyICBBbnR0
aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtJbnRlZ3JhdGlv
bl0gU3VwcG9ydCBvdXRsaW5lcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjM0NzY2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgT3V0bGluZXMgc2hvdWxkIG5vdCByZXF1aXJlIGxlZ2FjeSBsaW5lIGxheW91
dC4KKworICAgICAgICAqIGxheW91dC9pbnRlZ3JhdGlvbi9JbmxpbmVJdGVyYXRvcklubGluZUJv
eC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVJdGVyYXRvcjo6Zmlyc3RJbmxpbmVCb3hG
b3IpOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lSXRlcmF0b3I6OmZpcnN0Um9vdElubGluZUJv
eEZvcik6CisKKyAgICAgICAgQWRkIGl0ZXJhdG9yIHN1cHBvcnQgZm9yIGdldHRpbmcgaW5saW5l
IGJveGVzIGZyb20gcmVuZGVyZXIuCisKKyAgICAgICAgKiBsYXlvdXQvaW50ZWdyYXRpb24vSW5s
aW5lSXRlcmF0b3JJbmxpbmVCb3guaDoKKyAgICAgICAgKiBsYXlvdXQvaW50ZWdyYXRpb24vTGF5
b3V0SW50ZWdyYXRpb25Db3ZlcmFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXRJbnRl
Z3JhdGlvbjo6cHJpbnRSZWFzb24pOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0SW50ZWdyYXRp
b246OmNhblVzZUZvclJlbmRlcklubGluZUNoaWxkKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91
dEludGVncmF0aW9uOjpjYW5Vc2VGb3JMaW5lTGF5b3V0V2l0aFJlYXNvbik6CisgICAgICAgICog
bGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uQ292ZXJhZ2UuaDoKKyAgICAgICAg
KiBsYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25MaW5lTGF5b3V0LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkxheW91dEludGVncmF0aW9uOjpMaW5lTGF5b3V0OjpmaXJzdElubGlu
ZUJveEZvciBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXRJbnRlZ3JhdGlvbjo6TGlu
ZUxheW91dDo6Zmlyc3RSb290SW5saW5lQm94IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6Okxh
eW91dEludGVncmF0aW9uOjpMaW5lTGF5b3V0OjpwYWludCk6CisKKyAgICAgICAgU3VwcG9ydCBv
dXRsaW5lIHBhaW50aW5nLgorCisgICAgICAgICogbGF5b3V0L2ludGVncmF0aW9uL0xheW91dElu
dGVncmF0aW9uTGluZUxheW91dC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9jay5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6cGFpbnRPYmplY3QpOgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyQmxvY2tGbG93OjphZGRGb2N1c1JpbmdSZWN0c0ZvcklubGluZUNoaWxkcmVuKToKKworICAg
ICAgICBQb3J0IHRvIHVzZSBpdGVyYXRvci4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJ
bmxpbmUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVySW5saW5lOjpwYWludE91dGxpbmUp
OgorCisgICAgICAgIFBvcnQgdG8gdXNlIGl0ZXJhdG9yLgorCiAyMDIyLTAxLTAyICBBbGFuIEJ1
anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBJbmxpbmVUZXh0SXRlbXMgc2hvdWxk
IG5ldmVyIHNwbGl0IGluc2lkZSBzdXJyb2dhdGUgcGFpcnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9JbmxpbmVJdGVyYXRvcklubGluZUJveC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vSW5saW5lSXRlcmF0b3JJbmxpbmVCb3gu
Y3BwCmluZGV4IDc0NTI4MDIxZTAzMTQ2OTRjNWVhNjQ2ZDk3ODAzZWFhZGUwMzE2OWEuLjRkODNh
MGZhOGY4YWYyYWQ3YzViNmIxZmY1MTgzOTJmYzA1ZTc2MjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9JbmxpbmVJdGVyYXRvcklubGluZUJveC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0lubGluZUl0ZXJhdG9ySW5saW5l
Qm94LmNwcApAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgIklubGluZUl0ZXJhdG9ySW5saW5l
Qm94LmgiCiAKICNpbmNsdWRlICJMYXlvdXRJbnRlZ3JhdGlvbkxpbmVMYXlvdXQuaCIKKyNpbmNs
dWRlICJSZW5kZXJJbmxpbmUuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogbmFtZXNwYWNlIElu
bGluZUl0ZXJhdG9yIHsKQEAgLTEwNiw2ICsxMDcsMjIgQEAgSW5saW5lQm94SXRlcmF0b3ImIElu
bGluZUJveEl0ZXJhdG9yOjp0cmF2ZXJzZVByZXZpb3VzSW5saW5lQm94KCkKICAgICByZXR1cm4g
KnRoaXM7CiB9CiAKK0lubGluZUJveEl0ZXJhdG9yIGZpcnN0SW5saW5lQm94Rm9yKGNvbnN0IFJl
bmRlcklubGluZSYgcmVuZGVySW5saW5lKQoreworICAgIGlmIChhdXRvKiBsaW5lTGF5b3V0ID0g
TGF5b3V0SW50ZWdyYXRpb246OkxpbmVMYXlvdXQ6OmNvbnRhaW5pbmcocmVuZGVySW5saW5lKSkK
KyAgICAgICAgcmV0dXJuIGxpbmVMYXlvdXQtPmZpcnN0SW5saW5lQm94Rm9yKHJlbmRlcklubGlu
ZSk7CisKKyAgICByZXR1cm4geyBCb3hMZWdhY3lQYXRoIHsgcmVuZGVySW5saW5lLmZpcnN0TGlu
ZUJveCgpIH0gfTsKK30KKworSW5saW5lQm94SXRlcmF0b3IgZmlyc3RSb290SW5saW5lQm94Rm9y
KGNvbnN0IFJlbmRlckJsb2NrRmxvdyYgYmxvY2spCit7CisgICAgaWYgKGF1dG8qIGxpbmVMYXlv
dXQgPSBibG9jay5tb2Rlcm5MaW5lTGF5b3V0KCkpCisgICAgICAgIHJldHVybiBsaW5lTGF5b3V0
LT5maXJzdFJvb3RJbmxpbmVCb3goKTsKKworICAgIHJldHVybiB7IEJveExlZ2FjeVBhdGggeyBi
bG9jay5maXJzdFJvb3RCb3goKSB9IH07Cit9CisKIElubGluZUJveEl0ZXJhdG9yIGlubGluZUJv
eEZvcihjb25zdCBMZWdhY3lJbmxpbmVGbG93Qm94JiBsZWdhY3lJbmxpbmVGbG93Qm94KQogewog
ICAgIHJldHVybiB7IEJveExlZ2FjeVBhdGggeyAmbGVnYWN5SW5saW5lRmxvd0JveCB9IH07CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vSW5saW5lSXRlcmF0
b3JJbmxpbmVCb3guaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9JbmxpbmVJ
dGVyYXRvcklubGluZUJveC5oCmluZGV4IGVjOWYxYjc4MmUxNzBkMjA1MGI2ZTM1ZDg4NDA1ODA5
MDYwODM1NmYuLjFkYTcwOTkzODllZWU3Y2E1OGI3NjJiMWFjNWNkNDZlN2Q2NmEyMWQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9JbmxpbmVJdGVyYXRvcklu
bGluZUJveC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9JbmxpbmVJ
dGVyYXRvcklubGluZUJveC5oCkBAIC02OSw2ICs2OSw5IEBAIHByaXZhdGU6CiAgICAgY29uc3Qg
SW5saW5lQm94JiBnZXQoKSBjb25zdCB7IHJldHVybiBkb3duY2FzdDxJbmxpbmVCb3g+KG1fYm94
KTsgfQogfTsKIAorSW5saW5lQm94SXRlcmF0b3IgZmlyc3RJbmxpbmVCb3hGb3IoY29uc3QgUmVu
ZGVySW5saW5lJik7CitJbmxpbmVCb3hJdGVyYXRvciBmaXJzdFJvb3RJbmxpbmVCb3hGb3IoY29u
c3QgUmVuZGVyQmxvY2tGbG93Jik7CisKIElubGluZUJveEl0ZXJhdG9yIGlubGluZUJveEZvcihj
b25zdCBMZWdhY3lJbmxpbmVGbG93Qm94Jik7CiAjaWYgRU5BQkxFKExBWU9VVF9GT1JNQVRUSU5H
X0NPTlRFWFQpCiBJbmxpbmVCb3hJdGVyYXRvciBpbmxpbmVCb3hGb3IoY29uc3QgTGF5b3V0SW50
ZWdyYXRpb246OklubGluZUNvbnRlbnQmLCBjb25zdCBJbmxpbmVEaXNwbGF5OjpCb3gmKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3Jh
dGlvbkNvdmVyYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlv
dXRJbnRlZ3JhdGlvbkNvdmVyYWdlLmNwcAppbmRleCBiY2ZmZWQwOWVkNmIwNjRjYTIxMmQ3ZTE5
MTcxOGM1YWQyNDAwZTQ4Li4zM2FhMTE5N2FhYzVmNjQxNDkwMTQ4OTQ4MTZhOTg4ZTkwOWMwOTJm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50
ZWdyYXRpb25Db3ZlcmFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0
aW9uL0xheW91dEludGVncmF0aW9uQ292ZXJhZ2UuY3BwCkBAIC04OSw5ICs4OSw2IEBAIHN0YXRp
YyB2b2lkIHByaW50UmVhc29uKEF2b2lkYW5jZVJlYXNvbiByZWFzb24sIFRleHRTdHJlYW0mIHN0
cmVhbSkKICAgICBjYXNlIEF2b2lkYW5jZVJlYXNvbjo6Rmxvd0hhc0hvcml6b25hbFdyaXRpbmdN
b2RlOgogICAgICAgICBzdHJlYW0gPDwgImhvcml6b250YWwgd3JpdGluZyBtb2RlIjsKICAgICAg
ICAgYnJlYWs7Ci0gICAgY2FzZSBBdm9pZGFuY2VSZWFzb246OkNvbnRlbnRIYXNPdXRsaW5lOgot
ICAgICAgICBzdHJlYW0gPDwgIm91dGxpbmUiOwotICAgICAgICBicmVhazsKICAgICBjYXNlIEF2
b2lkYW5jZVJlYXNvbjo6Q29udGVudElzUnVieToKICAgICAgICAgc3RyZWFtIDw8ICJydWJ5IjsK
ICAgICAgICAgYnJlYWs7CkBAIC00NzQsOCArNDcxLDYgQEAgc3RhdGljIE9wdGlvblNldDxBdm9p
ZGFuY2VSZWFzb24+IGNhblVzZUZvclJlbmRlcklubGluZUNoaWxkKGNvbnN0IFJlbmRlcklubGlu
ZSYKICAgICBpZiAoc3R5bGUuYm94RGVjb3JhdGlvbkJyZWFrKCkgPT0gQm94RGVjb3JhdGlvbkJy
ZWFrOjpDbG9uZSkKICAgICAgICAgU0VUX1JFQVNPTl9BTkRfUkVUVVJOX0lGX05FRURFRChCb3hE
ZWNvcmF0aW9uQnJlYWtDbG9uZSwgcmVhc29ucywgaW5jbHVkZVJlYXNvbnMpOwogI2VuZGlmCi0g
ICAgaWYgKHN0eWxlLmhhc091dGxpbmUoKSkKLSAgICAgICAgU0VUX1JFQVNPTl9BTkRfUkVUVVJO
X0lGX05FRURFRChDb250ZW50SGFzT3V0bGluZSwgcmVhc29ucywgaW5jbHVkZVJlYXNvbnMpOwog
ICAgIGlmIChyZW5kZXJJbmxpbmUuaXNJbkZsb3dQb3NpdGlvbmVkKCkpCiAgICAgICAgIFNFVF9S
RUFTT05fQU5EX1JFVFVSTl9JRl9ORUVERUQoQ2hpbGRCb3hJc0Zsb2F0aW5nT3JQb3NpdGlvbmVk
LCByZWFzb25zLCBpbmNsdWRlUmVhc29ucyk7CiAgICAgaWYgKHJlbmRlcklubGluZS5jb250YWlu
aW5nQmxvY2soKS0+c3R5bGUoKS5saW5lQm94Q29udGFpbigpICE9IFJlbmRlclN0eWxlOjppbml0
aWFsTGluZUJveENvbnRhaW4oKSkKQEAgLTYwNiw4ICs2MDEsNiBAQCBPcHRpb25TZXQ8QXZvaWRh
bmNlUmVhc29uPiBjYW5Vc2VGb3JMaW5lTGF5b3V0V2l0aFJlYXNvbihjb25zdCBSZW5kZXJCbG9j
a0Zsb3cmCiAgICAgfQogICAgIGlmICghZmxvdy5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpKQog
ICAgICAgICBTRVRfUkVBU09OX0FORF9SRVRVUk5fSUZfTkVFREVEKEZsb3dIYXNIb3Jpem9uYWxX
cml0aW5nTW9kZSwgcmVhc29ucywgaW5jbHVkZVJlYXNvbnMpOwotICAgIGlmIChmbG93Lmhhc091
dGxpbmUoKSkKLSAgICAgICAgU0VUX1JFQVNPTl9BTkRfUkVUVVJOX0lGX05FRURFRChDb250ZW50
SGFzT3V0bGluZSwgcmVhc29ucywgaW5jbHVkZVJlYXNvbnMpOwogICAgIGlmIChmbG93LmlzUnVi
eVRleHQoKSB8fCBmbG93LmlzUnVieUJhc2UoKSkKICAgICAgICAgU0VUX1JFQVNPTl9BTkRfUkVU
VVJOX0lGX05FRURFRChDb250ZW50SXNSdWJ5LCByZWFzb25zLCBpbmNsdWRlUmVhc29ucyk7CiAg
ICAgaWYgKCFmbG93LnN0eWxlKCkuaGFuZ2luZ1B1bmN0dWF0aW9uKCkuaXNFbXB0eSgpKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0
aW9uQ292ZXJhZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJ
bnRlZ3JhdGlvbkNvdmVyYWdlLmgKaW5kZXggZWZiY2RhZTllOTczZTYwMzIxODBkNGQ3YTViODI4
MWY3MzMxODQ3Yi4uN2QxYjdhYThmMjUzZmE1ZmViMzU5NDk2YWUyN2NjMTIxYWQ2MzAwMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0
aW9uQ292ZXJhZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5
b3V0SW50ZWdyYXRpb25Db3ZlcmFnZS5oCkBAIC00MCw3ICs0MCw3IEBAIG5hbWVzcGFjZSBMYXlv
dXRJbnRlZ3JhdGlvbiB7CiBlbnVtIGNsYXNzIEF2b2lkYW5jZVJlYXNvbiA6IHVpbnQ2NF90IHsK
ICAgICBGbG93SXNJbnNpZGVBTm9uTXVsdGlDb2x1bW5UaHJlYWQgICAgICAgICAgICA9IDFMTFUg
IDw8IDAsCiAgICAgRmxvd0hhc0hvcml6b25hbFdyaXRpbmdNb2RlICAgICAgICAgICAgICAgICAg
PSAxTExVICA8PCAxLAotICAgIENvbnRlbnRIYXNPdXRsaW5lICAgICAgICAgICAgICAgICAgICAg
ICAgICAgID0gMUxMVSAgPDwgMiwKKyAgICAvLyBVbnVzZWQgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICA9IDFMTFUgIDw8IDIsCiAgICAgQ29udGVudElzUnVieSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgPSAxTExVICA8PCAzLAogICAgIEZsb3dJc1BhZ2luYXRlZCAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMUxMVSAgPDwgNCwKICAgICBGbG93SGFzVGV4
dE92ZXJmbG93ICAgICAgICAgICAgICAgICAgICAgICAgICA9IDFMTFUgIDw8IDUsCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25M
aW5lTGF5b3V0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJ
bnRlZ3JhdGlvbkxpbmVMYXlvdXQuY3BwCmluZGV4IDZiN2I0ZGJkNDNkNGZkOGNjMTBjZTc2OTFj
MGU5ZjA4OThkZGVjOTYuLmYxZWExOTY4NzZiMjJkZWFmZTE5NmY2NTU4YThlOTc3OTQyMWViZDEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRl
Z3JhdGlvbkxpbmVMYXlvdXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3Jh
dGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVMYXlvdXQuY3BwCkBAIC00NTYsNiArNDU2LDI3IEBA
IElubGluZUl0ZXJhdG9yOjpMZWFmQm94SXRlcmF0b3IgTGluZUxheW91dDo6Ym94Rm9yKGNvbnN0
IFJlbmRlckVsZW1lbnQmIHJlbmRlckVsCiAgICAgcmV0dXJuIElubGluZUl0ZXJhdG9yOjpib3hG
b3IoKm1faW5saW5lQ29udGVudCwgKmZpcnN0SW5kZXgpOwogfQogCitJbmxpbmVJdGVyYXRvcjo6
SW5saW5lQm94SXRlcmF0b3IgTGluZUxheW91dDo6Zmlyc3RJbmxpbmVCb3hGb3IoY29uc3QgUmVu
ZGVySW5saW5lJiByZW5kZXJJbmxpbmUpIGNvbnN0Cit7CisgICAgaWYgKCFtX2lubGluZUNvbnRl
bnQpCisgICAgICAgIHJldHVybiB7IH07CisKKyAgICBhdXRvJiBsYXlvdXRCb3ggPSBtX2JveFRy
ZWUubGF5b3V0Qm94Rm9yUmVuZGVyZXIocmVuZGVySW5saW5lKTsKKyAgICBhdXRvKiBib3ggPSBt
X2lubGluZUNvbnRlbnQtPmZpcnN0Qm94Rm9yTGF5b3V0Qm94KGxheW91dEJveCk7CisgICAgaWYg
KCFib3gpCisgICAgICAgIHJldHVybiB7IH07CisKKyAgICByZXR1cm4gSW5saW5lSXRlcmF0b3I6
OmlubGluZUJveEZvcigqbV9pbmxpbmVDb250ZW50LCAqYm94KTsKK30KKworSW5saW5lSXRlcmF0
b3I6OklubGluZUJveEl0ZXJhdG9yIExpbmVMYXlvdXQ6OmZpcnN0Um9vdElubGluZUJveCgpIGNv
bnN0Cit7CisgICAgaWYgKCFtX2lubGluZUNvbnRlbnQgfHwgIW1faW5saW5lQ29udGVudC0+aGFz
Q29udGVudCgpKQorICAgICAgICByZXR1cm4geyB9OworCisgICAgcmV0dXJuIElubGluZUl0ZXJh
dG9yOjppbmxpbmVCb3hGb3IoKm1faW5saW5lQ29udGVudCwgbV9pbmxpbmVDb250ZW50LT5ib3hl
c1swXSk7Cit9CisKIElubGluZUl0ZXJhdG9yOjpMaW5lSXRlcmF0b3IgTGluZUxheW91dDo6Zmly
c3RMaW5lKCkgY29uc3QKIHsKICAgICBpZiAoIW1faW5saW5lQ29udGVudCkKQEAgLTU0MSw3ICs1
NjIsMjQgQEAgdm9pZCBMaW5lTGF5b3V0OjpwYWludChQYWludEluZm8mIHBhaW50SW5mbywgY29u
c3QgTGF5b3V0UG9pbnQmIHBhaW50T2Zmc2V0KQogICAgIGlmICghbV9pbmxpbmVDb250ZW50KQog
ICAgICAgICByZXR1cm47CiAKLSAgICBpZiAocGFpbnRJbmZvLnBoYXNlICE9IFBhaW50UGhhc2U6
OkZvcmVncm91bmQgJiYgcGFpbnRJbmZvLnBoYXNlICE9IFBhaW50UGhhc2U6OkV2ZW50UmVnaW9u
ICYmIHBhaW50SW5mby5waGFzZSAhPSBQYWludFBoYXNlOjpUZXh0Q2xpcCAmJiBwYWludEluZm8u
cGhhc2UgIT0gUGFpbnRQaGFzZTo6U2VsZWN0aW9uKQorICAgIGF1dG8gcGFpbnRQaGFzZSA9IHBh
aW50SW5mby5waGFzZTsKKworICAgIGF1dG8gc2hvdWxkUGFpbnRGb3JQaGFzZSA9IFsmXSB7Cisg
ICAgICAgIHN3aXRjaCAocGFpbnRQaGFzZSkgeworICAgICAgICBjYXNlIFBhaW50UGhhc2U6OkZv
cmVncm91bmQ6CisgICAgICAgIGNhc2UgUGFpbnRQaGFzZTo6RXZlbnRSZWdpb246CisgICAgICAg
IGNhc2UgUGFpbnRQaGFzZTo6VGV4dENsaXA6CisgICAgICAgIGNhc2UgUGFpbnRQaGFzZTo6U2Vs
ZWN0aW9uOgorICAgICAgICBjYXNlIFBhaW50UGhhc2U6Ok91dGxpbmU6CisgICAgICAgIGNhc2Ug
UGFpbnRQaGFzZTo6Q2hpbGRPdXRsaW5lczoKKyAgICAgICAgY2FzZSBQYWludFBoYXNlOjpTZWxm
T3V0bGluZToKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICBkZWZhdWx0OgorICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CisgICAgfTsKKworICAgIGlmICghc2hv
dWxkUGFpbnRGb3JQaGFzZSgpKQogICAgICAgICByZXR1cm47CiAKICAgICBhdXRvIGRhbWFnZVJl
Y3QgPSBwYWludEluZm8ucmVjdDsKQEAgLTU1Niw3ICs1OTQsMjEgQEAgdm9pZCBMaW5lTGF5b3V0
OjpwYWludChQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgTGF5b3V0UG9pbnQmIHBhaW50T2Zm
c2V0KQogICAgICAgICByZXR1cm4gZGFtYWdlUmVjdC5tYXhZKCkgPiByZWN0LnkoKSAmJiBkYW1h
Z2VSZWN0LnkoKSA8IHJlY3QubWF4WSgpOwogICAgIH07CiAKKyAgICBhdXRvIHNob3VsZFBhaW50
Qm94Rm9yUGhhc2UgPSBbJl0oYXV0byYgYm94KSB7CisgICAgICAgIHN3aXRjaCAocGFpbnRQaGFz
ZSkgeworICAgICAgICBjYXNlIFBhaW50UGhhc2U6OkNoaWxkT3V0bGluZXM6IHJldHVybiBib3gu
aXNOb25Sb290SW5saW5lQm94KCk7CisgICAgICAgIGNhc2UgUGFpbnRQaGFzZTo6U2VsZk91dGxp
bmU6IHJldHVybiBib3guaXNSb290SW5saW5lQm94KCk7CisgICAgICAgIGNhc2UgUGFpbnRQaGFz
ZTo6T3V0bGluZTogcmV0dXJuIGJveC5pc0lubGluZUJveCgpOworICAgICAgICBkZWZhdWx0OiBy
ZXR1cm4gdHJ1ZTsKKyAgICAgICAgfQorICAgIH07CisKKyAgICBMaXN0SGFzaFNldDxSZW5kZXJJ
bmxpbmUqPiBvdXRsaW5lT2JqZWN0czsKKwogICAgIGZvciAoYXV0byYgYm94IDogbV9pbmxpbmVD
b250ZW50LT5ib3hlc0ZvclJlY3QoZGFtYWdlUmVjdCkpIHsKKyAgICAgICAgaWYgKCFzaG91bGRQ
YWludEJveEZvclBoYXNlKGJveCkpCisgICAgICAgICAgICBjb250aW51ZTsKKwogICAgICAgICBp
ZiAoYm94LmlzTGluZUJyZWFrKCkpCiAgICAgICAgICAgICBjb250aW51ZTsKIApAQCAtNTY0LDcg
KzYxNiwxMSBAQCB2b2lkIExpbmVMYXlvdXQ6OnBhaW50KFBhaW50SW5mbyYgcGFpbnRJbmZvLCBj
b25zdCBMYXlvdXRQb2ludCYgcGFpbnRPZmZzZXQpCiAgICAgICAgICAgICBpZiAoIWhhc0RhbWFn
ZShib3gpKQogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogCi0gICAgICAgICAgICBJbmxpbmVC
b3hQYWludGVyIHBhaW50ZXIoKm1faW5saW5lQ29udGVudCwgYm94LCBwYWludEluZm8sIHBhaW50
T2Zmc2V0KTsKKyAgICAgICAgICAgIFBhaW50SW5mbyBpbmxpbmVCb3hQYWludEluZm8ocGFpbnRJ
bmZvKTsKKyAgICAgICAgICAgIGlubGluZUJveFBhaW50SW5mby5waGFzZSA9IHBhaW50UGhhc2Ug
PT0gUGFpbnRQaGFzZTo6Q2hpbGRPdXRsaW5lcyA/IFBhaW50UGhhc2U6Ok91dGxpbmUgOiBwYWlu
dFBoYXNlOworICAgICAgICAgICAgaW5saW5lQm94UGFpbnRJbmZvLm91dGxpbmVPYmplY3RzID0g
Jm91dGxpbmVPYmplY3RzOworCisgICAgICAgICAgICBJbmxpbmVCb3hQYWludGVyIHBhaW50ZXIo
Km1faW5saW5lQ29udGVudCwgYm94LCBpbmxpbmVCb3hQYWludEluZm8sIHBhaW50T2Zmc2V0KTsK
ICAgICAgICAgICAgIHBhaW50ZXIucGFpbnQoKTsKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAg
ICAgICB9CkBAIC01ODQsNiArNjQwLDkgQEAgdm9pZCBMaW5lTGF5b3V0OjpwYWludChQYWludElu
Zm8mIHBhaW50SW5mbywgY29uc3QgTGF5b3V0UG9pbnQmIHBhaW50T2Zmc2V0KQogICAgICAgICAg
ICAgICAgIHJlbmRlckJveC5wYWludEFzSW5saW5lQmxvY2socGFpbnRJbmZvLCBwYWludE9mZnNl
dCk7CiAgICAgICAgIH0KICAgICB9CisKKyAgICBmb3IgKGF1dG8qIHJlbmRlcklubGluZSA6IG91
dGxpbmVPYmplY3RzKQorICAgICAgICByZW5kZXJJbmxpbmUtPnBhaW50T3V0bGluZShwYWludElu
Zm8sIHBhaW50T2Zmc2V0KTsKIH0KIAogYm9vbCBMaW5lTGF5b3V0OjpoaXRUZXN0KGNvbnN0IEhp
dFRlc3RSZXF1ZXN0JiByZXF1ZXN0LCBIaXRUZXN0UmVzdWx0JiByZXN1bHQsIGNvbnN0IEhpdFRl
c3RMb2NhdGlvbiYgbG9jYXRpb25JbkNvbnRhaW5lciwgY29uc3QgTGF5b3V0UG9pbnQmIGFjY3Vt
dWxhdGVkT2Zmc2V0LCBIaXRUZXN0QWN0aW9uIGhpdFRlc3RBY3Rpb24pCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25MaW5lTGF5
b3V0LmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRp
b25MaW5lTGF5b3V0LmgKaW5kZXggOTBlMzhhNDU0MmZiYWE0OWUxZWM0YzU4YzllMzdiYzJhMDlh
ODYyZi4uYmJhYzA5NWM4ZTYzNmY5MDcwOGZmYjE5Zjk4ODcyMTkyMzQwYjQ3NSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uTGlu
ZUxheW91dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJ
bnRlZ3JhdGlvbkxpbmVMYXlvdXQuaApAQCAtMjgsNiArMjgsNyBAQAogI2lmIEVOQUJMRShMQVlP
VVRfRk9STUFUVElOR19DT05URVhUKQogCiAjaW5jbHVkZSAiRmxvYXRSZWN0LmgiCisjaW5jbHVk
ZSAiSW5saW5lSXRlcmF0b3JJbmxpbmVCb3guaCIKICNpbmNsdWRlICJJbmxpbmVJdGVyYXRvckxp
bmUuaCIKICNpbmNsdWRlICJJbmxpbmVJdGVyYXRvclRleHRCb3guaCIKICNpbmNsdWRlICJMYXlv
dXRJbnRlZ3JhdGlvbkJveFRyZWUuaCIKQEAgLTEwMSw2ICsxMDIsOCBAQCBwdWJsaWM6CiAKICAg
ICBJbmxpbmVJdGVyYXRvcjo6VGV4dEJveEl0ZXJhdG9yIHRleHRCb3hlc0Zvcihjb25zdCBSZW5k
ZXJUZXh0JikgY29uc3Q7CiAgICAgSW5saW5lSXRlcmF0b3I6OkxlYWZCb3hJdGVyYXRvciBib3hG
b3IoY29uc3QgUmVuZGVyRWxlbWVudCYpIGNvbnN0OworICAgIElubGluZUl0ZXJhdG9yOjpJbmxp
bmVCb3hJdGVyYXRvciBmaXJzdElubGluZUJveEZvcihjb25zdCBSZW5kZXJJbmxpbmUmKSBjb25z
dDsKKyAgICBJbmxpbmVJdGVyYXRvcjo6SW5saW5lQm94SXRlcmF0b3IgZmlyc3RSb290SW5saW5l
Qm94KCkgY29uc3Q7CiAgICAgSW5saW5lSXRlcmF0b3I6OkxpbmVJdGVyYXRvciBmaXJzdExpbmUo
KSBjb25zdDsKICAgICBJbmxpbmVJdGVyYXRvcjo6TGluZUl0ZXJhdG9yIGxhc3RMaW5lKCkgY29u
c3Q7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCmluZGV4IDgzYzgx
MDQxMGFhMmFkN2E3NjEzODllZmJjNGIwODQzYWI0YzA5ZDMuLjNlMmE4YjAyNmRmNWI3NzM4MTAz
NjM1M2UyZWExMGFiMTM0NzYwZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCbG9jay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJs
b2NrLmNwcApAQCAtMzksNiArMzksNyBAQAogI2luY2x1ZGUgIkhpdFRlc3RMb2NhdGlvbi5oIgog
I2luY2x1ZGUgIkhpdFRlc3RSZXN1bHQuaCIKICNpbmNsdWRlICJJbWFnZUJ1ZmZlci5oIgorI2lu
Y2x1ZGUgIklubGluZUl0ZXJhdG9ySW5saW5lQm94LmgiCiAjaW5jbHVkZSAiSW5saW5lV2Fsa2Vy
LmgiCiAjaW5jbHVkZSAiTGF5b3V0UmVwYWludGVyLmgiCiAjaW5jbHVkZSAiTGVnYWN5SW5saW5l
RWxlbWVudEJveC5oIgpAQCAtMTM0Nyw3ICsxMzQ4LDcgQEAgdm9pZCBSZW5kZXJCbG9jazo6cGFp
bnRPYmplY3QoUGFpbnRJbmZvJiBwYWludEluZm8sIGNvbnN0IExheW91dFBvaW50JiBwYWludE9m
ZnMKICAgICAgICAgICAgIC8vIGluIHRoZSBzYW1lIGxheWVyLiAKICAgICAgICAgICAgIGlmICgh
aW5saW5lRW5jbG9zZWRJblNlbGZQYWludGluZ0xheWVyICYmICFoYXNMYXllcigpKQogICAgICAg
ICAgICAgICAgIGNvbnRhaW5pbmdCbG9jay0+YWRkQ29udGludWF0aW9uV2l0aE91dGxpbmUoaW5s
aW5lUmVuZGVyZXIpOwotICAgICAgICAgICAgZWxzZSBpZiAoIWlubGluZVJlbmRlcmVyLT5maXJz
dExpbmVCb3goKSB8fCAoIWlubGluZUVuY2xvc2VkSW5TZWxmUGFpbnRpbmdMYXllciAmJiBoYXNM
YXllcigpKSkKKyAgICAgICAgICAgIGVsc2UgaWYgKCFJbmxpbmVJdGVyYXRvcjo6Zmlyc3RJbmxp
bmVCb3hGb3IoKmlubGluZVJlbmRlcmVyKSB8fCAoIWlubGluZUVuY2xvc2VkSW5TZWxmUGFpbnRp
bmdMYXllciAmJiBoYXNMYXllcigpKSkKICAgICAgICAgICAgICAgICBpbmxpbmVSZW5kZXJlci0+
cGFpbnRPdXRsaW5lKHBhaW50SW5mbywgcGFpbnRPZmZzZXQgLSBsb2NhdGlvbk9mZnNldCgpICsg
aW5saW5lUmVuZGVyZXItPmNvbnRhaW5pbmdCbG9jaygpLT5sb2NhdGlvbigpKTsKICAgICAgICAg
fQogICAgICAgICBwYWludENvbnRpbnVhdGlvbk91dGxpbmVzKHBhaW50SW5mbywgcGFpbnRPZmZz
ZXQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxv
dy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcAppbmRl
eCBiN2QxZmVmNmRlZmI3YjhiNWNmYTY5MjIzZjMwNmJiMTEzMmY5NmM3Li5jMmZiMmI3MjRkNmRm
Y2I1MjI0NDJkZDQ0NTI2YzhkMWI1ZDlkNWI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQmxvY2tGbG93LmNwcApAQCAtMzQ0OSwxMCArMzQ0OSwxMiBAQCBWaXNpYmxlUG9z
aXRpb24gUmVuZGVyQmxvY2tGbG93Ojpwb3NpdGlvbkZvclBvaW50KGNvbnN0IExheW91dFBvaW50
JiBwb2ludCwgY29ucwogdm9pZCBSZW5kZXJCbG9ja0Zsb3c6OmFkZEZvY3VzUmluZ1JlY3RzRm9y
SW5saW5lQ2hpbGRyZW4oVmVjdG9yPExheW91dFJlY3Q+JiByZWN0cywgY29uc3QgTGF5b3V0UG9p
bnQmIGFkZGl0aW9uYWxPZmZzZXQsIGNvbnN0IFJlbmRlckxheWVyTW9kZWxPYmplY3QqKQogewog
ICAgIEFTU0VSVChjaGlsZHJlbklubGluZSgpKTsKLSAgICBmb3IgKGF1dG8qIGN1cnIgPSBmaXJz
dFJvb3RCb3goKTsgY3VycjsgY3VyciA9IGN1cnItPm5leHRSb290Qm94KCkpIHsKLSAgICAgICAg
TGF5b3V0VW5pdCB0b3AgPSBzdGQ6Om1heChjdXJyLT5saW5lVG9wKCksIExheW91dFVuaXQoY3Vy
ci0+dG9wKCkpKTsKLSAgICAgICAgTGF5b3V0VW5pdCBib3R0b20gPSBzdGQ6Om1pbihjdXJyLT5s
aW5lQm90dG9tKCksIExheW91dFVuaXQoY3Vyci0+dG9wKCkgKyBjdXJyLT5oZWlnaHQoKSkpOwot
ICAgICAgICBMYXlvdXRSZWN0IHJlY3QgeyBMYXlvdXRVbml0KGFkZGl0aW9uYWxPZmZzZXQueCgp
ICsgY3Vyci0+eCgpKSwgYWRkaXRpb25hbE9mZnNldC55KCkgKyB0b3AsIExheW91dFVuaXQoY3Vy
ci0+d2lkdGgoKSksIGJvdHRvbSAtIHRvcCB9OworICAgIGZvciAoYXV0byBib3ggPSBJbmxpbmVJ
dGVyYXRvcjo6Zmlyc3RSb290SW5saW5lQm94Rm9yKCp0aGlzKTsgYm94OyBib3gudHJhdmVyc2VO
ZXh0SW5saW5lQm94KCkpIHsKKyAgICAgICAgYXV0byBsaW5lID0gYm94LT5saW5lKCk7CisgICAg
ICAgIC8vIEZJWE1FOiBUaGlzIGlzIG1peGluZyBwaHlzaWNhbCBhbmQgbG9naWNhbCBjb29yZGlu
YXRlcy4KKyAgICAgICAgTGF5b3V0VW5pdCB0b3AgPSBzdGQ6Om1heChsaW5lLT50b3AoKSwgTGF5
b3V0VW5pdChib3gtPnJlY3QoKS55KCkpKTsKKyAgICAgICAgTGF5b3V0VW5pdCBib3R0b20gPSBz
dGQ6Om1pbihsaW5lLT5ib3R0b20oKSwgTGF5b3V0VW5pdChib3gtPnJlY3QoKS5tYXhZKCkpKTsK
KyAgICAgICAgTGF5b3V0UmVjdCByZWN0IHsgTGF5b3V0VW5pdChhZGRpdGlvbmFsT2Zmc2V0Lngo
KSArIGJveC0+cmVjdCgpLngoKSksIGFkZGl0aW9uYWxPZmZzZXQueSgpICsgdG9wLCBMYXlvdXRV
bml0KGJveC0+cmVjdCgpLndpZHRoKCkpLCBib3R0b20gLSB0b3AgfTsKICAgICAgICAgaWYgKCFy
ZWN0LmlzRW1wdHkoKSkKICAgICAgICAgICAgIHJlY3RzLmFwcGVuZChyZWN0KTsKICAgICB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW5saW5lLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuY3BwCmluZGV4IDhjZjRmZTI1YzAw
ZmNmZDkyMGJhYjNhNmU3MjFlNzI2MjczOGI1M2UuLmRhZmVjMjVhZjlkZjdlMDdhZTE1MmRmMTRl
Y2Y2NWZjZmYyMTYyMTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJJbmxpbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUu
Y3BwCkBAIC0yOCw2ICsyOCw3IEBACiAjaW5jbHVkZSAiRnJhbWVTZWxlY3Rpb24uaCIKICNpbmNs
dWRlICJHcmFwaGljc0NvbnRleHQuaCIKICNpbmNsdWRlICJIaXRUZXN0UmVzdWx0LmgiCisjaW5j
bHVkZSAiSW5saW5lSXRlcmF0b3JJbmxpbmVCb3guaCIKICNpbmNsdWRlICJMYXlvdXRJbnRlZ3Jh
dGlvbkxpbmVMYXlvdXQuaCIKICNpbmNsdWRlICJMZWdhY3lJbmxpbmVFbGVtZW50Qm94LmgiCiAj
aW5jbHVkZSAiTGVnYWN5SW5saW5lVGV4dEJveC5oIgpAQCAtOTU3LDExICs5NTgsMTMgQEAgdm9p
ZCBSZW5kZXJJbmxpbmU6OnBhaW50T3V0bGluZShQYWludEluZm8mIHBhaW50SW5mbywgY29uc3Qg
TGF5b3V0UG9pbnQmIHBhaW50T2YKIAogICAgIFZlY3RvcjxMYXlvdXRSZWN0PiByZWN0czsKICAg
ICByZWN0cy5hcHBlbmQoTGF5b3V0UmVjdCgpKTsKLSAgICBmb3IgKGF1dG8qIGN1cnIgPSBmaXJz
dExpbmVCb3goKTsgY3VycjsgY3VyciA9IGN1cnItPm5leHRMaW5lQm94KCkpIHsKLSAgICAgICAg
Y29uc3QgTGVnYWN5Um9vdElubGluZUJveCYgcm9vdEJveCA9IGN1cnItPnJvb3QoKTsKLSAgICAg
ICAgTGF5b3V0VW5pdCB0b3AgPSBzdGQ6Om1heChyb290Qm94LmxpbmVUb3AoKSwgTGF5b3V0VW5p
dChjdXJyLT5sb2dpY2FsVG9wKCkpKTsKLSAgICAgICAgTGF5b3V0VW5pdCBib3R0b20gPSBzdGQ6
Om1pbihyb290Qm94LmxpbmVCb3R0b20oKSwgTGF5b3V0VW5pdChjdXJyLT5sb2dpY2FsQm90dG9t
KCkpKTsKLSAgICAgICAgcmVjdHMuYXBwZW5kKHsgTGF5b3V0VW5pdChjdXJyLT54KCkpLCB0b3As
IExheW91dFVuaXQoY3Vyci0+bG9naWNhbFdpZHRoKCkpLCBib3R0b20gLSB0b3AgfSk7CisKKyAg
ICBmb3IgKGF1dG8gYm94ID0gSW5saW5lSXRlcmF0b3I6OmZpcnN0SW5saW5lQm94Rm9yKCp0aGlz
KTsgYm94OyBib3gudHJhdmVyc2VOZXh0SW5saW5lQm94KCkpIHsKKyAgICAgICAgYXV0byBsaW5l
ID0gYm94LT5saW5lKCk7CisgICAgICAgIExheW91dFVuaXQgdG9wID0gc3RkOjptYXgobGluZS0+
dG9wKCksIExheW91dFVuaXQoYm94LT5sb2dpY2FsVG9wKCkpKTsKKyAgICAgICAgTGF5b3V0VW5p
dCBib3R0b20gPSBzdGQ6Om1pbihsaW5lLT5ib3R0b20oKSwgTGF5b3V0VW5pdChib3gtPmxvZ2lj
YWxCb3R0b20oKSkpOworICAgICAgICAvLyBGSVhNRTogVGhpcyBpcyBtaXhpbmcgcGh5c2ljYWwg
YW5kIGxvZ2ljYWwgY29vcmRpbmF0ZXMuCisgICAgICAgIHJlY3RzLmFwcGVuZCh7IExheW91dFVu
aXQoYm94LT5yZWN0KCkueCgpKSwgdG9wLCBMYXlvdXRVbml0KGJveC0+bG9naWNhbFdpZHRoKCkp
LCBib3R0b20gLSB0b3AgfSk7CiAgICAgfQogICAgIHJlY3RzLmFwcGVuZChMYXlvdXRSZWN0KCkp
OwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKaW5kZXggNjI2MTRiMTExMzNlNDJkZTdkM2Y0NmMyNjk2OWU5YmVmYjY0NGY0YS4uYjgz
NWNiMzlhY2RjN2M2ZTUwODQ5MjU0MDI1NTM3MjVmMGJlNGQ1ZiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0
IEBACisyMDIyLTAxLTAyICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAg
ICAgICBbTEZDXVtJbnRlZ3JhdGlvbl0gU3VwcG9ydCBvdXRsaW5lcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM0NzY2CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L3JlcGFpbnQvZm9jdXMtcmlu
Zy1yZXBhaW50LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvZmFzdC90YWJs
ZS90YWJsZS1jb250aW51YXRpb24tb3V0bGluZS1wYWludC1jcmFzaC1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvdGFibGUvdGFibGUtY29udGludWF0aW9uLW91dGxp
bmUtcGFpbnQtY3Jhc2gtZXhwZWN0ZWQudHh0OgorCiAyMDIyLTAxLTAyICBBbGFuIEJ1anRhcyAg
PHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZDXVtJRkNdIE5lc3RlZCBpbmxpbmUgYm94
IGNvbnRpbnVhdGlvbiBmYWlscyB0byBvbWl0IG1hcmdpbi9ib3JkZXIvcGFkZGluZyBzdGFydC9l
bmQgdmFsdWVzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvZm9jdXMtcmlu
Zy1yZXBhaW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9mb2N1cy1y
aW5nLXJlcGFpbnQtZXhwZWN0ZWQudHh0CmluZGV4IDllYjQ5YjMzZGUxNGMzYWUwYzM0ZDc2ZWY5
YTEyY2ZhODI1MjNkMjEuLmEyZGRlZTJjMjQzMmY4NDJkZTM0NjJmNzk1NDYwMjMxMGUwYmE4Y2Eg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9mb2N1cy1yaW5nLXJlcGFpbnQt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9mb2N1cy1yaW5nLXJl
cGFpbnQtZXhwZWN0ZWQudHh0CkBAIC02LDI3ICs2LDI3IEBACiAKIAogKHJlcGFpbnQgcmVjdHMK
KyAgKHJlY3QgNSA0NTcgMTAzIDY3KQogICAocmVjdCA1IDQ1NyAxMDYgNzApCi0gIChyZWN0IDUg
NDU3IDEwNiA3MCkKLSAgKHJlY3QgNSA1NDIgMTA2IDY2KQotICAocmVjdCAxNSA2MiAzNiA0MCkK
LSAgKHJlY3QgMTggNjUgMzAgMzQpCi0gIChyZWN0IDUgOTIgNTYgMTApCi0gIChyZWN0IDUgMzUg
NTYgNjcpCi0gIChyZWN0IDUgMTE3IDM2IDYwKQotICAocmVjdCA4IDEyMCAzMCA1NCkKKyAgKHJl
Y3QgNSA1NDIgMTA2IDcwKQorICAocmVjdCAxNSA2MiAzNiAzNikKKyAgKHJlY3QgMTggNjUgMzAg
MzApCisgIChyZWN0IDE1IDYyIDM2IDI2KQorICAocmVjdCAxOCA2NSAzMCAyMCkKKyAgKHJlY3Qg
NSA4OSA1NiAxMCkKKyAgKHJlY3QgNSAzNSA1NiA2NCkKKyAgKHJlY3QgNSAxMTcgMzYgNTYpCisg
IChyZWN0IDggMTIwIDMwIDUwKQogICAocmVjdCA1IDExNyAzNiA4NikKICAgKHJlY3QgOCAxMjAg
MzAgODApCi0gIChyZWN0IDUgMTc3IDU2IDMwKQotICAocmVjdCA1IDEyMCA1NiA4NykKKyAgKHJl
Y3QgNSAxNzQgNTYgMzApCisgIChyZWN0IDUgMTIwIDU2IDg0KQogICAocmVjdCA1IDIwNSA1NiAz
NykKICAgKHJlY3QgNSAzNzUgNTYgMzcpCi0gIChyZWN0IDUgNDU3IDEwNiA3MCkKKyAgKHJlY3Qg
NSA0NTcgMTAzIDY3KQogICAocmVjdCA4IDQ2MCAxMDAgNjQpCiAgIChyZWN0IDggNTQ1IDEwMCA2
NCkKLSAgKHJlY3QgNSA1NDIgMTA2IDcwKQotICAocmVjdCA1IDYwOSA3NzIgMykKLSAgKHJlY3Qg
MCA2MDkgNzg1IDMpCisgIChyZWN0IDUgNTQyIDEwMyA2NykKICAgKHJlY3QgNDUgMjEyIDM2IDQw
KQogICAocmVjdCA0OCAyMTUgMzAgMzQpCiAgIChyZWN0IDE1NSAyMTIgMzYgNDApCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvZmFzdC90YWJsZS90YWJsZS1jb250aW51YXRp
b24tb3V0bGluZS1wYWludC1jcmFzaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9pb3MvZmFzdC90YWJsZS90YWJsZS1jb250aW51YXRpb24tb3V0bGluZS1wYWludC1jcmFzaC1l
eHBlY3RlZC50eHQKaW5kZXggODUxNWM0MDA3MTBiNThhMjI1NDMyMDdjMzMwODM2NDNjOGM2ZjBh
OC4uMWUxYmNiZjZiYjJlZjBmYWVkZDJmYmJlNWU4ZDlkN2Q2ZDljMThjMCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2Zhc3QvdGFibGUvdGFibGUtY29udGludWF0aW9uLW91
dGxpbmUtcGFpbnQtY3Jhc2gtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2lvcy9mYXN0L3RhYmxlL3RhYmxlLWNvbnRpbnVhdGlvbi1vdXRsaW5lLXBhaW50LWNyYXNoLWV4
cGVjdGVkLnR4dApAQCAtMTQsNCArMTQsNCBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAK
ICAgICAgICAgICAgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDM3eDE5CiAg
ICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMzd4MTkKICAg
ICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDM3OiAiUEFTUyIKLSAgICAg
ICAgICAgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDF4MTkKKyAgICAgICAg
ICAgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDB4MTgKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RhYmxlL3RhYmxlLWNvbnRpbnVhdGlvbi1v
dXRsaW5lLXBhaW50LWNyYXNoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9mYXN0L3RhYmxlL3RhYmxlLWNvbnRpbnVhdGlvbi1vdXRsaW5lLXBhaW50LWNyYXNoLWV4cGVj
dGVkLnR4dAppbmRleCA2M2EwNjFjMzAxOTc3ZWMyMzk4ODA2MmVjMzFlYjFlMDA2ZTNmMjJiLi4w
ZDRjNTc2ZDQ4YzBmN2Y2ZmYwNjBhYTkwM2Q5ZTc1OGQ3NGE5NDEzIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90YWJsZS90YWJsZS1jb250aW51YXRpb24tb3V0bGlu
ZS1wYWludC1jcmFzaC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L2Zhc3QvdGFibGUvdGFibGUtY29udGludWF0aW9uLW91dGxpbmUtcGFpbnQtY3Jhc2gtZXhwZWN0
ZWQudHh0CkBAIC0xNCw0ICsxNCw0IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICAg
ICAgICAgICAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgMzd4MTgKICAgICAg
ICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAzN3gxOAogICAgICAg
ICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMzc6ICJQQVNTIgotICAgICAgICAg
ICAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgMXgxOAorICAgICAgICAgICAg
ICBSZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgMHgxOAo=
</data>
<flag name="commit-queue"
          id="474007"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
      

    </bug>

</bugzilla>