<?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>302568</bug_id>
          
          <creation_ts>2025-11-15 04:28:33 -0800</creation_ts>
          <short_desc>[cleanup] Modernize RenderBlockFlow&apos;s MarginInfo</short_desc>
          <delta_ts>2025-11-15 10:21:11 -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>New Bugs</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>koivisto</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>2158989</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2025-11-15 04:28:33 -0800</bug_when>
    <thetext>ssia</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2158990</commentid>
    <comment_count>1</comment_count>
      <attachid>477401</attachid>
    <who name="alan">zalan</who>
    <bug_when>2025-11-15 05:21:34 -0800</bug_when>
    <thetext>Created attachment 477401
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2158991</commentid>
    <comment_count>2</comment_count>
      <attachid>477402</attachid>
    <who name="alan">zalan</who>
    <bug_when>2025-11-15 06:13:29 -0800</bug_when>
    <thetext>Created attachment 477402
[fast-cq]Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2159008</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2025-11-15 10:20:37 -0800</bug_when>
    <thetext>Committed 303076@main (6b97859e8665): &lt;https://commits.webkit.org/303076@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 477402.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2159009</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2025-11-15 10:21:11 -0800</bug_when>
    <thetext>&lt;rdar://problem/164796544&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>477401</attachid>
            <date>2025-11-15 05:21:34 -0800</date>
            <delta_ts>2025-11-15 05:55:43 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-302568-20251115052133.patch</filename>
            <type>text/plain</type>
            <size>19414</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSBhNGEwMjgxNjMxMDE4MGZjYWQ5ODNiNmFjYTJlMjMxYzM1ZmI1YmM5IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJhcmFkbGF5IDx6YWxhbkBhcHBsZS5jb20+CkRhdGU6
IFNhdCwgMTUgTm92IDIwMjUgMDQ6Mjg6NDAgLTA4MDAKU3ViamVjdDogW1BBVENIXSBbY2xlYW51
cF0gTW9kZXJuaXplIFJlbmRlckJsb2NrRmxvdydzIE1hcmdpbkluZm8KIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMDI1NjgKClJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgoKKiBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRp
b25Gb3JtYXR0aW5nQ29udGV4dExheW91dC5jcHA6CihXZWJDb3JlOjpMYXlvdXRJbnRlZ3JhdGlv
bjo6bGF5b3V0V2l0aEZvcm1hdHRpbmdDb250ZXh0Rm9yQmxvY2tJbklubGluZSk6CiogU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHA6CihXZWJDb3JlOjpSZW5kZXJC
bG9ja0Zsb3c6Ok1hcmdpbkluZm86Ok1hcmdpbkluZm8pOgooV2ViQ29yZTo6UmVuZGVyQmxvY2tG
bG93OjpsYXlvdXRCbG9ja0NoaWxkcmVuKToKKFdlYkNvcmU6OlJlbmRlckJsb2NrRmxvdzo6dHJp
bUJsb2NrRW5kQ2hpbGRyZW5NYXJnaW5zKToKKFdlYkNvcmU6OlJlbmRlckJsb2NrRmxvdzo6bWFy
Z2luQmVmb3JlRXN0aW1hdGVGb3JDaGlsZCBjb25zdCk6CihXZWJDb3JlOjpSZW5kZXJCbG9ja0Zs
b3c6OmhhbmRsZUFmdGVyU2lkZU9mQmxvY2spOgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJCbG9ja0Zsb3cuaDoKKFdlYkNvcmU6OlJlbmRlckJsb2NrRmxvdzo6TWFyZ2luSW5mbzo6
c2V0QXRCZWZvcmVTaWRlT2ZCbG9jayk6CihXZWJDb3JlOjpSZW5kZXJCbG9ja0Zsb3c6Ok1hcmdp
bkluZm86OnNldEF0QWZ0ZXJTaWRlT2ZCbG9jayk6CihXZWJDb3JlOjpSZW5kZXJCbG9ja0Zsb3c6
Ok1hcmdpbkluZm86OmNsZWFyTWFyZ2luKToKKFdlYkNvcmU6OlJlbmRlckJsb2NrRmxvdzo6TWFy
Z2luSW5mbzo6c2V0SGFzTWFyZ2luQmVmb3JlUXVpcmspOgooV2ViQ29yZTo6UmVuZGVyQmxvY2tG
bG93OjpNYXJnaW5JbmZvOjpzZXRIYXNNYXJnaW5BZnRlclF1aXJrKToKKFdlYkNvcmU6OlJlbmRl
ckJsb2NrRmxvdzo6TWFyZ2luSW5mbzo6c2V0RGV0ZXJtaW5lZE1hcmdpbkJlZm9yZVF1aXJrKToK
KFdlYkNvcmU6OlJlbmRlckJsb2NrRmxvdzo6TWFyZ2luSW5mbzo6c2V0UG9zaXRpdmVNYXJnaW4p
OgooV2ViQ29yZTo6UmVuZGVyQmxvY2tGbG93OjpNYXJnaW5JbmZvOjpzZXROZWdhdGl2ZU1hcmdp
bik6CihXZWJDb3JlOjpSZW5kZXJCbG9ja0Zsb3c6Ok1hcmdpbkluZm86OnNldFBvc2l0aXZlTWFy
Z2luSWZMYXJnZXIpOgooV2ViQ29yZTo6UmVuZGVyQmxvY2tGbG93OjpNYXJnaW5JbmZvOjpzZXRO
ZWdhdGl2ZU1hcmdpbklmTGFyZ2VyKToKKFdlYkNvcmU6OlJlbmRlckJsb2NrRmxvdzo6TWFyZ2lu
SW5mbzo6c2V0TWFyZ2luKToKKFdlYkNvcmU6OlJlbmRlckJsb2NrRmxvdzo6TWFyZ2luSW5mbzo6
c2V0Q2FuQ29sbGFwc2VNYXJnaW5BZnRlcldpdGhDaGlsZHJlbik6CihXZWJDb3JlOjpSZW5kZXJC
bG9ja0Zsb3c6Ok1hcmdpbkluZm86OmF0QWZ0ZXJTaWRlT2ZCbG9jayBjb25zdCk6CihXZWJDb3Jl
OjpSZW5kZXJCbG9ja0Zsb3c6Ok1hcmdpbkluZm86OmNhbkNvbGxhcHNlV2l0aENoaWxkcmVuIGNv
bnN0KToKLS0tCiAuLi55b3V0SW50ZWdyYXRpb25Gb3JtYXR0aW5nQ29udGV4dExheW91dC5jcHAg
fCAgIDUgKy0KIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwICB8
ICA1OSArKysrKy0tLS0tCiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93
LmggICAgfCAxMDEgKysrKysrKysrLS0tLS0tLS0tCiAzIGZpbGVzIGNoYW5nZWQsIDgxIGluc2Vy
dGlvbnMoKyksIDg0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkZvcm1hdHRpbmdDb250ZXh0TGF5b3V0
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlv
bkZvcm1hdHRpbmdDb250ZXh0TGF5b3V0LmNwcAppbmRleCBlYTBjNjA4ODAzYWQuLmZkZTAzZGE4
ZTEyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91
dEludGVncmF0aW9uRm9ybWF0dGluZ0NvbnRleHRMYXlvdXQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkZvcm1hdHRpbmdDb250ZXh0
TGF5b3V0LmNwcApAQCAtOTksMTAgKzk5LDcgQEAgdm9pZCBsYXlvdXRXaXRoRm9ybWF0dGluZ0Nv
bnRleHRGb3JCbG9ja0luSW5saW5lKGNvbnN0IExheW91dDo6RWxlbWVudEJveCYgYmxvY2sKICAg
ICAvLyBSZW5kZXIgdHJlZSB1c2VzIGJsb2NrIGhlaWdodCB0byB0cmFjayB0aGUgY2hpbGQgYmxv
Y2sgbGF5b3V0IHBvc2l0aW9uLiBTZXQgaXQgdG8gdGhlIGN1cnJlbnQgcG9zaXRpb24gYmVmb3Jl
IGNhbGxpbmcgbGF5b3V0QmxvY2tDaGlsZC4KICAgICByb290QmxvY2tDb250YWluZXIuc2V0TG9n
aWNhbEhlaWdodChibG9ja0xvZ2ljYWxUb3BMZWZ0LnkoKSAtIHJvb3RCbG9ja0NvbnRhaW5lci5t
YXJnaW5CZWZvcmUoKSk7CiAKLSAgICBhdXRvIGJlZm9yZUVkZ2UgPSByb290QmxvY2tDb250YWlu
ZXIuYm9yZGVyQW5kUGFkZGluZ0JlZm9yZSgpOwotICAgIGF1dG8gYWZ0ZXJFZGdlID0gcm9vdEJs
b2NrQ29udGFpbmVyLmJvcmRlckFuZFBhZGRpbmdBZnRlcigpICsgcm9vdEJsb2NrQ29udGFpbmVy
LnNjcm9sbGJhckxvZ2ljYWxIZWlnaHQoKTsKLQotICAgIFJlbmRlckJsb2NrRmxvdzo6TWFyZ2lu
SW5mbyBtYXJnaW5JbmZvKHJvb3RCbG9ja0NvbnRhaW5lciwgYmVmb3JlRWRnZSwgYWZ0ZXJFZGdl
KTsKKyAgICBhdXRvIG1hcmdpbkluZm8gPSBSZW5kZXJCbG9ja0Zsb3c6Ok1hcmdpbkluZm8geyBy
b290QmxvY2tDb250YWluZXIgfTsKICAgICAvLyBGSVhNRTogVGhlc2UgYXJlIHByb2JhYmx5IG5l
ZWRlZCB0byBtYWtlIHRoZSBjb250YWluZXIgbWFyZ2luIGNvbGxhcHNpbmcgd29yay4KICAgICBt
YXJnaW5JbmZvLnNldEF0QmVmb3JlU2lkZU9mQmxvY2soZmFsc2UpOwogICAgIG1hcmdpbkluZm8u
c2V0QXRBZnRlclNpZGVPZkJsb2NrKGZhbHNlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckJsb2NrRmxvdy5jcHAKaW5kZXggNzQ3ZjQzZDdjMGE1Li4xYWQzMTQwZDM2N2QgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwCkBAIC0xMDgs
MjQgKzEwOCwzMCBAQCBSZW5kZXJCbG9ja0Zsb3dSYXJlRGF0YTo6UmVuZGVyQmxvY2tGbG93UmFy
ZURhdGEoY29uc3QgUmVuZGVyQmxvY2tGbG93JiBibG9jaykKIFJlbmRlckJsb2NrRmxvd1JhcmVE
YXRhOjp+UmVuZGVyQmxvY2tGbG93UmFyZURhdGEoKSA9IGRlZmF1bHQ7CiAKIC8vIE91ciBNYXJn
aW5JbmZvIHN0YXRlIHVzZWQgd2hlbiBsYXlpbmcgb3V0IGJsb2NrIGNoaWxkcmVuLgotUmVuZGVy
QmxvY2tGbG93OjpNYXJnaW5JbmZvOjpNYXJnaW5JbmZvKGNvbnN0IFJlbmRlckJsb2NrRmxvdyYg
YmxvY2ssIExheW91dFVuaXQgYmVmb3JlQm9yZGVyUGFkZGluZywgTGF5b3V0VW5pdCBhZnRlckJv
cmRlclBhZGRpbmcpCi0gICAgOiBtX2F0QmVmb3JlU2lkZU9mQmxvY2sodHJ1ZSkKLSAgICAsIG1f
YXRBZnRlclNpZGVPZkJsb2NrKGZhbHNlKQotICAgICwgbV9oYXNNYXJnaW5CZWZvcmVRdWlyayhm
YWxzZSkKLSAgICAsIG1faGFzTWFyZ2luQWZ0ZXJRdWlyayhmYWxzZSkKLSAgICAsIG1fZGV0ZXJt
aW5lZE1hcmdpbkJlZm9yZVF1aXJrKGZhbHNlKQotewotICAgIGNvbnN0IFJlbmRlclN0eWxlJiBi
bG9ja1N0eWxlID0gYmxvY2suc3R5bGUoKTsKK1JlbmRlckJsb2NrRmxvdzo6TWFyZ2luSW5mbzo6
TWFyZ2luSW5mbyhjb25zdCBSZW5kZXJCbG9ja0Zsb3cmIGJsb2NrLCBJZ25vcmVTY3JvbGxiYXJG
b3JBZnRlck1hcmdpbiBpZ25vcmVTY3JvbGxiYXJGb3JBZnRlck1hcmdpbikKK3sKKyAgICBhdXRv
JiBibG9ja1N0eWxlID0gYmxvY2suc3R5bGUoKTsKICAgICBBU1NFUlQoYmxvY2suaXNSZW5kZXJW
aWV3KCkgfHwgYmxvY2sucGFyZW50KCkpOworCiAgICAgbV9jYW5Db2xsYXBzZVdpdGhDaGlsZHJl
biA9ICFibG9jay5jcmVhdGVzTmV3Rm9ybWF0dGluZ0NvbnRleHQoKSAmJiAhYmxvY2suaXNSZW5k
ZXJWaWV3KCk7CiAKLSAgICBtX2NhbkNvbGxhcHNlTWFyZ2luQmVmb3JlV2l0aENoaWxkcmVuID0g
bV9jYW5Db2xsYXBzZVdpdGhDaGlsZHJlbiAmJiAhYmVmb3JlQm9yZGVyUGFkZGluZzsKKyAgICBt
X2NhbkNvbGxhcHNlTWFyZ2luQmVmb3JlV2l0aENoaWxkcmVuID0gbV9jYW5Db2xsYXBzZVdpdGhD
aGlsZHJlbiAmJiAhYmxvY2suYm9yZGVyQW5kUGFkZGluZ0JlZm9yZSgpOwogCiAgICAgLy8gSWYg
YW55IGhlaWdodCBvdGhlciB0aGFuIGF1dG8gaXMgc3BlY2lmaWVkIGluIENTUywgdGhlbiB3ZSBk
b24ndCBjb2xsYXBzZSBvdXIgYm90dG9tCiAgICAgLy8gbWFyZ2lucyB3aXRoIG91ciBjaGlsZHJl
bidzIG1hcmdpbnMuIFRvIGRvIG90aGVyd2lzZSB3b3VsZCBiZSB0byByaXNrIG9kZCB2aXN1YWwK
ICAgICAvLyBlZmZlY3RzIHdoZW4gdGhlIGNoaWxkcmVuIG92ZXJmbG93IG91dCBvZiB0aGUgcGFy
ZW50IGJsb2NrIGFuZCB5ZXQgc3RpbGwgY29sbGFwc2UKICAgICAvLyB3aXRoIGl0LiBXZSBhbHNv
IGRvbid0IGNvbGxhcHNlIGlmIHdlIGhhdmUgYW55IGJvdHRvbSBib3JkZXIvcGFkZGluZy4KLSAg
ICBtX2NhbkNvbGxhcHNlTWFyZ2luQWZ0ZXJXaXRoQ2hpbGRyZW4gPSBtX2NhbkNvbGxhcHNlV2l0
aENoaWxkcmVuICYmICFhZnRlckJvcmRlclBhZGRpbmcgJiYgYmxvY2tTdHlsZS5sb2dpY2FsSGVp
Z2h0KCkuaXNBdXRvKCk7CisgICAgYXV0byBjYW5Db2xsYXBzZU1hcmdpbkFmdGVyV2l0aENoaWxk
cmVuID0gWyZdKCkgLT4gYm9vbCB7CisgICAgICAgIGlmICghbV9jYW5Db2xsYXBzZVdpdGhDaGls
ZHJlbikKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgaWYgKCFibG9ja1N0eWxl
LmxvZ2ljYWxIZWlnaHQoKS5pc0F1dG8oKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAg
ICAgICAgaWYgKGJsb2NrLmJvcmRlckFuZFBhZGRpbmdBZnRlcigpKQorICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOworICAgICAgICAvLyBGSVhNRTogQ2hlY2sgaWYgYWxsIGNhbGxzaXRlcyBhcmUg
c3VwcG9zZWQgdG8gdGFrZSBzY3JvbGxiYXIgaW50byBhY2NvdW50IGhlcmUuCisgICAgICAgIHJl
dHVybiBpZ25vcmVTY3JvbGxiYXJGb3JBZnRlck1hcmdpbiA9PSBJZ25vcmVTY3JvbGxiYXJGb3JB
ZnRlck1hcmdpbjo6WWVzID8gdHJ1ZSA6IGJsb2NrLnNjcm9sbGJhckxvZ2ljYWxIZWlnaHQoKTsK
KyAgICB9OworICAgIG1fY2FuQ29sbGFwc2VNYXJnaW5BZnRlcldpdGhDaGlsZHJlbiA9IGNhbkNv
bGxhcHNlTWFyZ2luQWZ0ZXJXaXRoQ2hpbGRyZW4oKTsKIAogICAgIG1fcXVpcmtDb250YWluZXIg
PSBibG9jay5pc1JlbmRlclRhYmxlQ2VsbCgpIHx8IGJsb2NrLmlzQm9keSgpOwogCkBAIC04MzIs
MTQgKzgzOCwxMSBAQCB2b2lkIFJlbmRlckJsb2NrRmxvdzo6bGF5b3V0QmxvY2tDaGlsZHJlbihS
ZWxheW91dENoaWxkcmVuIHJlbGF5b3V0Q2hpbGRyZW4sIExheQogewogICAgIEFTU0VSVChmaXJz
dENoaWxkKCkpOwogCi0gICAgTGF5b3V0VW5pdCBiZWZvcmVFZGdlID0gYm9yZGVyQW5kUGFkZGlu
Z0JlZm9yZSgpOwotICAgIExheW91dFVuaXQgYWZ0ZXJFZGdlID0gYm9yZGVyQW5kUGFkZGluZ0Fm
dGVyKCkgKyBzY3JvbGxiYXJMb2dpY2FsSGVpZ2h0KCk7Ci0KLSAgICBzZXRMb2dpY2FsSGVpZ2h0
KGJlZm9yZUVkZ2UpOworICAgIHNldExvZ2ljYWxIZWlnaHQoYm9yZGVyQW5kUGFkZGluZ0JlZm9y
ZSgpKTsKICAgICBhdXRvKiBsYXlvdXRTdGF0ZSA9IHZpZXcoKS5mcmFtZVZpZXcoKS5sYXlvdXRD
b250ZXh0KCkubGF5b3V0U3RhdGUoKTsgCiAKICAgICAvLyBUaGUgbWFyZ2luIHN0cnVjdCBjYWNo
ZXMgYWxsIG91ciBjdXJyZW50IG1hcmdpbiBjb2xsYXBzaW5nIHN0YXRlLgotICAgIE1hcmdpbklu
Zm8gbWFyZ2luSW5mbygqdGhpcywgYmVmb3JlRWRnZSwgYWZ0ZXJFZGdlKTsKKyAgICBhdXRvIG1h
cmdpbkluZm8gPSBNYXJnaW5JbmZvIHsgKnRoaXMsIE1hcmdpbkluZm86Oklnbm9yZVNjcm9sbGJh
ckZvckFmdGVyTWFyZ2luOjpObyB9OwogCiAgICAgYm9vbCBtYXJnaW5UcmltQmxvY2tTdGFydEZy
b21Db250YWluaW5nQmxvY2sgPSBsYXlvdXRTdGF0ZS0+bWFyZ2luVHJpbUJsb2NrU3RhcnQoKTsK
ICAgICBib29sIG5ld01hcmdpblRyaW1CbG9ja1N0YXJ0Rm9yU3VidHJlZSA9IFsmXSB7CkBAIC05
MjAsMTAgKzkyMyw5IEBAIHZvaWQgUmVuZGVyQmxvY2tGbG93OjpsYXlvdXRCbG9ja0NoaWxkcmVu
KFJlbGF5b3V0Q2hpbGRyZW4gcmVsYXlvdXRDaGlsZHJlbiwgTGF5CiAgICAgICAgIHRyaW1CbG9j
a0VuZENoaWxkcmVuTWFyZ2lucygpOwogICAgIC8vIE5vdyBkbyB0aGUgaGFuZGxpbmcgb2YgdGhl
IGJvdHRvbSBvZiB0aGUgYmxvY2ssIGFkZGluZyBpbiBvdXIgYm90dG9tIGJvcmRlci9wYWRkaW5n
IGFuZAogICAgIC8vIGRldGVybWluaW5nIHRoZSBjb3JyZWN0IGNvbGxhcHNlZCBib3R0b20gbWFy
Z2luIGluZm9ybWF0aW9uLgotICAgIGhhbmRsZUFmdGVyU2lkZU9mQmxvY2soYmVmb3JlRWRnZSwg
YWZ0ZXJFZGdlLCBtYXJnaW5JbmZvKTsKKyAgICBoYW5kbGVBZnRlclNpZGVPZkJsb2NrKG1hcmdp
bkluZm8pOwogfQogCi0KIHZvaWQgUmVuZGVyQmxvY2tGbG93Ojp0cmltQmxvY2tFbmRDaGlsZHJl
bk1hcmdpbnMoKQogewogICAgIGF1dG8gdHJpbVNlbGZDb2xsYXBzaW5nQ2hpbGREZXNjZW5kYW50
c01hcmdpbnMgPSBbJl0oUmVuZGVyQm94JiBjaGlsZCkgewpAQCAtOTU4LDEwICs5NjAsOCBAQCB2
b2lkIFJlbmRlckJsb2NrRmxvdzo6dHJpbUJsb2NrRW5kQ2hpbGRyZW5NYXJnaW5zKCkKIAogICAg
ICAgICAgICAgY2hpbGQgPSBjaGlsZC0+cHJldmlvdXNTaWJsaW5nQm94KCk7CiAgICAgICAgIH0g
IGVsc2UgaWYgKGF1dG8qIG5lc3RlZEJsb2NrID0gZHluYW1pY0Rvd25jYXN0PFJlbmRlckJsb2Nr
Rmxvdz4oY2hpbGQpOyBuZXN0ZWRCbG9jayAmJiBuZXN0ZWRCbG9jay0+aXNCbG9ja0NvbnRhaW5l
cigpICYmICFuZXN0ZWRCbG9jay0+Y2hpbGRyZW5JbmxpbmUoKSAmJiAhbmVzdGVkQmxvY2stPnN0
eWxlKCkubWFyZ2luVHJpbSgpLmNvbnRhaW5zKFN0eWxlOjpNYXJnaW5UcmltU2lkZTo6QmxvY2tF
bmQpKSB7Ci0gICAgICAgICAgICBNYXJnaW5JbmZvIG5lc3RlZEJsb2NrTWFyZ2luSW5mbygqbmVz
dGVkQmxvY2ssIG5lc3RlZEJsb2NrLT5ib3JkZXJBbmRQYWRkaW5nQmVmb3JlKCksIG5lc3RlZEJs
b2NrLT5ib3JkZXJBbmRQYWRkaW5nQWZ0ZXIoKSk7Ci0gICAgICAgICAgICAvLyBUaGUgbWFyZ2lu
cyAqaW5zaWRlKiB0aGlzIG5lc3RlZCBibG9jayBhcmUgcHJvdGVjdGVkIHNvIHdlIHNob3VsZCBu
b3QgaW50cm9zcGVjdCBhbmQgdHJ5IHRvCi0gICAgICAgICAgICAvLyB0cmltIGFueSBvZiB0aGVt
LgotICAgICAgICAgICAgaWYgKCFuZXN0ZWRCbG9ja01hcmdpbkluZm8uY2FuQ29sbGFwc2VNYXJn
aW5BZnRlcldpdGhDaGlsZHJlbigpKQorICAgICAgICAgICAgLy8gVGhlIG1hcmdpbnMgKmluc2lk
ZSogdGhpcyBuZXN0ZWQgYmxvY2sgYXJlIHByb3RlY3RlZCBzbyB3ZSBzaG91bGQgbm90IGludHJv
c3BlY3QgYW5kIHRyeSB0byB0cmltIGFueSBvZiB0aGVtLgorICAgICAgICAgICAgaWYgKCFNYXJn
aW5JbmZvIHsgKm5lc3RlZEJsb2NrIH0uY2FuQ29sbGFwc2VNYXJnaW5BZnRlcldpdGhDaGlsZHJl
bigpKQogICAgICAgICAgICAgICAgIGJyZWFrOwogCiAgICAgICAgICAgICBjaGlsZCA9IGNoaWxk
LT5sYXN0Q2hpbGRCb3goKTsKQEAgLTE2NjEsOCArMTY2MSw3IEBAIHZvaWQgUmVuZGVyQmxvY2tG
bG93OjptYXJnaW5CZWZvcmVFc3RpbWF0ZUZvckNoaWxkKFJlbmRlckJveCYgY2hpbGQsIExheW91
dFVuaXQmCiAgICAgaWYgKGNoaWxkQmxvY2stPmNoaWxkcmVuSW5saW5lKCkgfHwgY2hpbGRCbG9j
ay0+aXNXcml0aW5nTW9kZVJvb3QoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgTWFyZ2luSW5m
byBjaGlsZE1hcmdpbkluZm8oKmNoaWxkQmxvY2ssIGNoaWxkQmxvY2stPmJvcmRlckFuZFBhZGRp
bmdCZWZvcmUoKSwgY2hpbGRCbG9jay0+Ym9yZGVyQW5kUGFkZGluZ0FmdGVyKCkpOwotICAgIGlm
ICghY2hpbGRNYXJnaW5JbmZvLmNhbkNvbGxhcHNlTWFyZ2luQmVmb3JlV2l0aENoaWxkcmVuKCkp
CisgICAgaWYgKCFNYXJnaW5JbmZvIHsgKmNoaWxkQmxvY2sgfS5jYW5Db2xsYXBzZU1hcmdpbkJl
Zm9yZVdpdGhDaGlsZHJlbigpKQogICAgICAgICByZXR1cm47CiAKICAgICBSZW5kZXJCb3gqIGdy
YW5kY2hpbGRCb3ggPSBjaGlsZEJsb2NrLT5maXJzdENoaWxkQm94KCk7CkBAIC0xNzY0LDI5ICsx
NzYzLDMxIEBAIHZvaWQgUmVuZGVyQmxvY2tGbG93OjpzZXRDb2xsYXBzZWRCb3R0b21NYXJnaW4o
Y29uc3QgTWFyZ2luSW5mbyYgbWFyZ2luSW5mbykKICAgICB9CiB9CiAKLXZvaWQgUmVuZGVyQmxv
Y2tGbG93OjpoYW5kbGVBZnRlclNpZGVPZkJsb2NrKExheW91dFVuaXQgYmVmb3JlU2lkZSwgTGF5
b3V0VW5pdCBhZnRlclNpZGUsIE1hcmdpbkluZm8mIG1hcmdpbkluZm8pCit2b2lkIFJlbmRlckJs
b2NrRmxvdzo6aGFuZGxlQWZ0ZXJTaWRlT2ZCbG9jayhNYXJnaW5JbmZvJiBtYXJnaW5JbmZvKQog
ewogICAgIG1hcmdpbkluZm8uc2V0QXRBZnRlclNpZGVPZkJsb2NrKHRydWUpOwogCiAgICAgLy8g
SWYgb3VyIGxhc3QgY2hpbGQgd2FzIGEgc2VsZi1jb2xsYXBzaW5nIGJsb2NrIHdpdGggY2xlYXJh
bmNlIHRoZW4gb3VyIGxvZ2ljYWwgaGVpZ2h0IGlzIGZsdXNoIHdpdGggdGhlCiAgICAgLy8gYm90
dG9tIGVkZ2Ugb2YgdGhlIGZsb2F0IHRoYXQgdGhlIGNoaWxkIGNsZWFycy4gVGhlIGNvcnJlY3Qg
dmVydGljYWwgcG9zaXRpb24gZm9yIHRoZSBtYXJnaW4tY29sbGFwc2luZyB3ZSB3YW50CiAgICAg
Ly8gdG8gcGVyZm9ybSBub3cgaXMgYXQgdGhlIGNoaWxkJ3MgbWFyZ2luLXRvcCAtIHNvIGFkanVz
dCBvdXIgaGVpZ2h0IHRvIHRoYXQgcG9zaXRpb24uCi0gICAgaWYgKGF1dG8gdmFsdWUgPSBzZWxm
Q29sbGFwc2luZ01hcmdpbkJlZm9yZVdpdGhDbGVhcihsYXN0Q2hpbGQoKSkpCi0gICAgICAgIHNl
dExvZ2ljYWxIZWlnaHQobG9naWNhbEhlaWdodCgpIC0gKnZhbHVlKTsKKyAgICBhdXRvIGxvZ2lj
YWxIZWlnaHQgPSB0aGlzLT5sb2dpY2FsSGVpZ2h0KCk7CisgICAgaWYgKGF1dG8gc2VsZkNvbGxh
cHNpbmdNYXJnaW5CZWZvcmVXaXRoQ2xlYXIgPSB0aGlzLT5zZWxmQ29sbGFwc2luZ01hcmdpbkJl
Zm9yZVdpdGhDbGVhcihsYXN0Q2hpbGQoKSkpCisgICAgICAgIGxvZ2ljYWxIZWlnaHQgLT0gKnNl
bGZDb2xsYXBzaW5nTWFyZ2luQmVmb3JlV2l0aENsZWFyOwogCiAgICAgLy8gSWYgd2UgY2FuJ3Qg
Y29sbGFwc2Ugd2l0aCBjaGlsZHJlbiB0aGVuIGFkZCBpbiB0aGUgYm90dG9tIG1hcmdpbi4KICAg
ICBpZiAoIW1hcmdpbkluZm8uY2FuQ29sbGFwc2VXaXRoTWFyZ2luQWZ0ZXIoKSAmJiAhbWFyZ2lu
SW5mby5jYW5Db2xsYXBzZVdpdGhNYXJnaW5CZWZvcmUoKQogICAgICAgICAmJiAoIWRvY3VtZW50
KCkuaW5RdWlya3NNb2RlKCkgfHwgIW1hcmdpbkluZm8ucXVpcmtDb250YWluZXIoKSB8fCAhbWFy
Z2luSW5mby5oYXNNYXJnaW5BZnRlclF1aXJrKCkpKSB7Ci0gICAgICAgIHNldExvZ2ljYWxIZWln
aHQobG9naWNhbEhlaWdodCgpICsgbWFyZ2luSW5mby5tYXJnaW4oKSk7CisgICAgICAgIGxvZ2lj
YWxIZWlnaHQgKz0gbWFyZ2luSW5mby5tYXJnaW4oKTsKICAgICB9CiAKICAgICAvLyBOb3cgYWRk
IGluIG91ciBib3R0b20gYm9yZGVyL3BhZGRpbmcuCi0gICAgc2V0TG9naWNhbEhlaWdodChsb2dp
Y2FsSGVpZ2h0KCkgKyBhZnRlclNpZGUpOworICAgIGxvZ2ljYWxIZWlnaHQgKz0gYm9yZGVyQW5k
UGFkZGluZ0FmdGVyKCkgKyBzY3JvbGxiYXJMb2dpY2FsSGVpZ2h0KCk7CiAKICAgICAvLyBOZWdh
dGl2ZSBtYXJnaW5zIGNhbiBjYXVzZSBvdXIgaGVpZ2h0IHRvIHNocmluayBiZWxvdyBvdXIgbWlu
aW1hbCBoZWlnaHQgKGJvcmRlci9wYWRkaW5nKS4KICAgICAvLyBJZiB0aGlzIGhhcHBlbnMsIGVu
c3VyZSB0aGF0IHRoZSBjb21wdXRlZCBoZWlnaHQgaXMgaW5jcmVhc2VkIHRvIHRoZSBtaW5pbWFs
IGhlaWdodC4KLSAgICBzZXRMb2dpY2FsSGVpZ2h0KHN0ZDo6bWF4KGxvZ2ljYWxIZWlnaHQoKSwg
YmVmb3JlU2lkZSArIGFmdGVyU2lkZSkpOworICAgIGxvZ2ljYWxIZWlnaHQgPSBzdGQ6Om1heChs
b2dpY2FsSGVpZ2h0LCBib3JkZXJBbmRQYWRkaW5nQmVmb3JlKCkgKyBib3JkZXJBbmRQYWRkaW5n
QWZ0ZXIoKSArIHNjcm9sbGJhckxvZ2ljYWxIZWlnaHQoKSk7CiAKKyAgICBzZXRMb2dpY2FsSGVp
Z2h0KGxvZ2ljYWxIZWlnaHQpOwogICAgIC8vIFVwZGF0ZSBvdXIgYm90dG9tIGNvbGxhcHNlZCBt
YXJnaW4gaW5mby4KICAgICBzZXRDb2xsYXBzZWRCb3R0b21NYXJnaW4obWFyZ2luSW5mbyk7CiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmgKaW5kZXggN2Q3YWYz
YmI2ZmUzLi5jODMzMTdlZWYwMTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCbG9ja0Zsb3cuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
QmxvY2tGbG93LmgKQEAgLTE2OCw2OSArMTY4LDM4IEBAIHB1YmxpYzoKICAgICBNYXJnaW5WYWx1
ZXMgbWFyZ2luVmFsdWVzRm9yQ2hpbGQoUmVuZGVyQm94JiBjaGlsZCkgY29uc3Q7CiAKICAgICBj
bGFzcyBNYXJnaW5JbmZvIHsKLSAgICAgICAgLy8gQ29sbGFwc2luZyBmbGFncyBmb3Igd2hldGhl
ciB3ZSBjYW4gY29sbGFwc2Ugb3VyIG1hcmdpbnMgd2l0aCBvdXIgY2hpbGRyZW4ncyBtYXJnaW5z
LgotICAgICAgICBib29sIG1fY2FuQ29sbGFwc2VXaXRoQ2hpbGRyZW4gOiAxOwotICAgICAgICBi
b29sIG1fY2FuQ29sbGFwc2VNYXJnaW5CZWZvcmVXaXRoQ2hpbGRyZW4gOiAxOwotICAgICAgICBi
b29sIG1fY2FuQ29sbGFwc2VNYXJnaW5BZnRlcldpdGhDaGlsZHJlbiA6IDE7Ci0KLSAgICAgICAg
Ly8gV2hldGhlciBvciBub3Qgd2UgYXJlIGEgcXVpcmt5IGNvbnRhaW5lciwgaS5lLiwgZG8gd2Ug
Y29sbGFwc2UgYXdheSB0b3AgYW5kIGJvdHRvbQotICAgICAgICAvLyBtYXJnaW5zIGluIG91ciBj
b250YWluZXIuIFRhYmxlIGNlbGxzIGFuZCB0aGUgYm9keSBhcmUgdGhlIGNvbW1vbiBleGFtcGxl
cy4gV2UKLSAgICAgICAgLy8gYWxzbyBoYXZlIGEgY3VzdG9tIHN0eWxlIHByb3BlcnR5IGZvciBT
YWZhcmkgUlNTIHRvIGRlYWwgd2l0aCBUeXBlUGFkIGJsb2cgYXJ0aWNsZXMuCi0gICAgICAgIGJv
b2wgbV9xdWlya0NvbnRhaW5lciA6IDE7Ci0KLSAgICAgICAgLy8gVGhpcyBmbGFnIHRyYWNrcyB3
aGV0aGVyIHdlIGFyZSBzdGlsbCBsb29raW5nIGF0IGNoaWxkIG1hcmdpbnMgdGhhdCBjYW4gYWxs
IGNvbGxhcHNlIHRvZ2V0aGVyIGF0IHRoZSBiZWdpbm5pbmcgb2YgYSBibG9jay4gIAotICAgICAg
ICAvLyBUaGV5IG1heSBvciBtYXkgbm90IGNvbGxhcHNlIHdpdGggdGhlIHRvcCBtYXJnaW4gb2Yg
dGhlIGJsb2NrICh8bV9jYW5Db2xsYXBzZVRvcFdpdGhDaGlsZHJlbnwgdGVsbHMgdXMgdGhhdCks
IGJ1dCB0aGV5IHdpbGwKLSAgICAgICAgLy8gYWx3YXlzIGJlIGNvbGxhcHNpbmcgd2l0aCBvbmUg
YW5vdGhlci4gVGhpcyB2YXJpYWJsZSBjYW4gcmVtYWluIHNldCB0byB0cnVlIHRocm91Z2ggbXVs
dGlwbGUgaXRlcmF0aW9ucyAKLSAgICAgICAgLy8gYXMgbG9uZyBhcyB3ZSBrZWVwIGVuY291bnRl
cmluZyBzZWxmLWNvbGxhcHNpbmcgYmxvY2tzLgotICAgICAgICBib29sIG1fYXRCZWZvcmVTaWRl
T2ZCbG9jayA6IDE7Ci0KLSAgICAgICAgLy8gVGhpcyBmbGFnIGlzIHNldCB3aGVuIHdlIGtub3cg
d2UncmUgZXhhbWluaW5nIGJvdHRvbSBtYXJnaW5zIGFuZCB3ZSBrbm93IHdlJ3JlIGF0IHRoZSBi
b3R0b20gb2YgdGhlIGJsb2NrLgotICAgICAgICBib29sIG1fYXRBZnRlclNpZGVPZkJsb2NrIDog
MTsKLQotICAgICAgICAvLyBUaGVzZSB2YXJpYWJsZXMgYXJlIHVzZWQgdG8gZGV0ZWN0IHF1aXJr
eSBtYXJnaW5zIHRoYXQgd2UgbmVlZCB0byBjb2xsYXBzZSBhd2F5IChpbiB0YWJsZSBjZWxscwot
ICAgICAgICAvLyBhbmQgaW4gdGhlIGJvZHkgZWxlbWVudCkuCi0gICAgICAgIGJvb2wgbV9oYXNN
YXJnaW5CZWZvcmVRdWlyayA6IDE7Ci0gICAgICAgIGJvb2wgbV9oYXNNYXJnaW5BZnRlclF1aXJr
IDogMTsKLSAgICAgICAgYm9vbCBtX2RldGVybWluZWRNYXJnaW5CZWZvcmVRdWlyayA6IDE7Ci0K
LSAgICAgICAgLy8gVGhlc2UgZmxhZ3MgdHJhY2sgdGhlIHByZXZpb3VzIG1heGltYWwgcG9zaXRp
dmUgYW5kIG5lZ2F0aXZlIG1hcmdpbnMuCi0gICAgICAgIExheW91dFVuaXQgbV9wb3NpdGl2ZU1h
cmdpbjsKLSAgICAgICAgTGF5b3V0VW5pdCBtX25lZ2F0aXZlTWFyZ2luOwotCiAgICAgcHVibGlj
OgotICAgICAgICBNYXJnaW5JbmZvKGNvbnN0IFJlbmRlckJsb2NrRmxvdyYsIExheW91dFVuaXQg
YmVmb3JlQm9yZGVyUGFkZGluZywgTGF5b3V0VW5pdCBhZnRlckJvcmRlclBhZGRpbmcpOworICAg
ICAgICBlbnVtIGNsYXNzIElnbm9yZVNjcm9sbGJhckZvckFmdGVyTWFyZ2luIDogYm9vbCB7IE5v
LCBZZXMgfTsKKyAgICAgICAgTWFyZ2luSW5mbyhjb25zdCBSZW5kZXJCbG9ja0Zsb3cmLCBJZ25v
cmVTY3JvbGxiYXJGb3JBZnRlck1hcmdpbiA9IElnbm9yZVNjcm9sbGJhckZvckFmdGVyTWFyZ2lu
OjpZZXMpOwogCi0gICAgICAgIHZvaWQgc2V0QXRCZWZvcmVTaWRlT2ZCbG9jayhib29sIGIpIHsg
bV9hdEJlZm9yZVNpZGVPZkJsb2NrID0gYjsgfQotICAgICAgICB2b2lkIHNldEF0QWZ0ZXJTaWRl
T2ZCbG9jayhib29sIGIpIHsgbV9hdEFmdGVyU2lkZU9mQmxvY2sgPSBiOyB9CisgICAgICAgIHZv
aWQgc2V0QXRCZWZvcmVTaWRlT2ZCbG9jayhib29sIGF0QmVmb3JlU2lkZU9mQmxvY2spIHsgbV9h
dEJlZm9yZVNpZGVPZkJsb2NrID0gYXRCZWZvcmVTaWRlT2ZCbG9jazsgfQorICAgICAgICB2b2lk
IHNldEF0QWZ0ZXJTaWRlT2ZCbG9jayhib29sIGF0QWZ0ZXJTaWRlT2ZCbG9jaykgeyBtX2F0QWZ0
ZXJTaWRlT2ZCbG9jayA9IGF0QWZ0ZXJTaWRlT2ZCbG9jazsgfQogICAgICAgICB2b2lkIGNsZWFy
TWFyZ2luKCkKICAgICAgICAgewotICAgICAgICAgICAgbV9wb3NpdGl2ZU1hcmdpbiA9IDA7Ci0g
ICAgICAgICAgICBtX25lZ2F0aXZlTWFyZ2luID0gMDsKLSAgICAgICAgfQotICAgICAgICB2b2lk
IHNldEhhc01hcmdpbkJlZm9yZVF1aXJrKGJvb2wgYikgeyBtX2hhc01hcmdpbkJlZm9yZVF1aXJr
ID0gYjsgfQotICAgICAgICB2b2lkIHNldEhhc01hcmdpbkFmdGVyUXVpcmsoYm9vbCBiKSB7IG1f
aGFzTWFyZ2luQWZ0ZXJRdWlyayA9IGI7IH0KLSAgICAgICAgdm9pZCBzZXREZXRlcm1pbmVkTWFy
Z2luQmVmb3JlUXVpcmsoYm9vbCBiKSB7IG1fZGV0ZXJtaW5lZE1hcmdpbkJlZm9yZVF1aXJrID0g
YjsgfQotICAgICAgICB2b2lkIHNldFBvc2l0aXZlTWFyZ2luKExheW91dFVuaXQgcCkgeyBtX3Bv
c2l0aXZlTWFyZ2luID0gcDsgfQotICAgICAgICB2b2lkIHNldE5lZ2F0aXZlTWFyZ2luKExheW91
dFVuaXQgbikgeyBtX25lZ2F0aXZlTWFyZ2luID0gbjsgfQotICAgICAgICB2b2lkIHNldFBvc2l0
aXZlTWFyZ2luSWZMYXJnZXIoTGF5b3V0VW5pdCBwKQotICAgICAgICB7Ci0gICAgICAgICAgICBp
ZiAocCA+IG1fcG9zaXRpdmVNYXJnaW4pCi0gICAgICAgICAgICAgICAgbV9wb3NpdGl2ZU1hcmdp
biA9IHA7CisgICAgICAgICAgICBtX3Bvc2l0aXZlTWFyZ2luID0geyB9OworICAgICAgICAgICAg
bV9uZWdhdGl2ZU1hcmdpbiA9IHsgfTsKICAgICAgICAgfQotICAgICAgICB2b2lkIHNldE5lZ2F0
aXZlTWFyZ2luSWZMYXJnZXIoTGF5b3V0VW5pdCBuKQorICAgICAgICB2b2lkIHNldEhhc01hcmdp
bkJlZm9yZVF1aXJrKGJvb2wgaGFzTWFyZ2luQmVmb3JlUXVpcmspIHsgbV9oYXNNYXJnaW5CZWZv
cmVRdWlyayA9IGhhc01hcmdpbkJlZm9yZVF1aXJrOyB9CisgICAgICAgIHZvaWQgc2V0SGFzTWFy
Z2luQWZ0ZXJRdWlyayhib29sIGhhc01hcmdpbkFmdGVyUXVpcmspIHsgbV9oYXNNYXJnaW5BZnRl
clF1aXJrID0gaGFzTWFyZ2luQWZ0ZXJRdWlyazsgfQorICAgICAgICB2b2lkIHNldERldGVybWlu
ZWRNYXJnaW5CZWZvcmVRdWlyayhib29sIGRldGVybWluZWRNYXJnaW5CZWZvcmVRdWlyaykgeyBt
X2RldGVybWluZWRNYXJnaW5CZWZvcmVRdWlyayA9IGRldGVybWluZWRNYXJnaW5CZWZvcmVRdWly
azsgfQorICAgICAgICB2b2lkIHNldFBvc2l0aXZlTWFyZ2luKExheW91dFVuaXQgcG9zaXRpdmVN
YXJnaW4pIHsgbV9wb3NpdGl2ZU1hcmdpbiA9IHBvc2l0aXZlTWFyZ2luOyB9CisgICAgICAgIHZv
aWQgc2V0TmVnYXRpdmVNYXJnaW4oTGF5b3V0VW5pdCBuZWdhdGl2ZU1hcmdpbikgeyBtX25lZ2F0
aXZlTWFyZ2luID0gbmVnYXRpdmVNYXJnaW47IH0KKyAgICAgICAgdm9pZCBzZXRQb3NpdGl2ZU1h
cmdpbklmTGFyZ2VyKExheW91dFVuaXQgcG9zaXRpdmVNYXJnaW4pIHsgbV9wb3NpdGl2ZU1hcmdp
biA9IHN0ZDo6bWF4KHBvc2l0aXZlTWFyZ2luLCBtX3Bvc2l0aXZlTWFyZ2luKTsgfQorICAgICAg
ICB2b2lkIHNldE5lZ2F0aXZlTWFyZ2luSWZMYXJnZXIoTGF5b3V0VW5pdCBuZWdhdGl2ZU1hcmdp
bikgeyBtX25lZ2F0aXZlTWFyZ2luID0gc3RkOjptYXgobmVnYXRpdmVNYXJnaW4sIG1fbmVnYXRp
dmVNYXJnaW4pOyB9CisgICAgICAgIHZvaWQgc2V0TWFyZ2luKExheW91dFVuaXQgcG9zaXRpdmVN
YXJnaW4sIExheW91dFVuaXQgbmVnYXRpdmVNYXJnaW4pCiAgICAgICAgIHsKLSAgICAgICAgICAg
IGlmIChuID4gbV9uZWdhdGl2ZU1hcmdpbikKLSAgICAgICAgICAgICAgICBtX25lZ2F0aXZlTWFy
Z2luID0gbjsKKyAgICAgICAgICAgIHNldFBvc2l0aXZlTWFyZ2luKHBvc2l0aXZlTWFyZ2luKTsK
KyAgICAgICAgICAgIHNldE5lZ2F0aXZlTWFyZ2luKG5lZ2F0aXZlTWFyZ2luKTsKICAgICAgICAg
fQotCi0gICAgICAgIHZvaWQgc2V0TWFyZ2luKExheW91dFVuaXQgcCwgTGF5b3V0VW5pdCBuKSB7
IG1fcG9zaXRpdmVNYXJnaW4gPSBwOyBtX25lZ2F0aXZlTWFyZ2luID0gbjsgfQotICAgICAgICB2
b2lkIHNldENhbkNvbGxhcHNlTWFyZ2luQWZ0ZXJXaXRoQ2hpbGRyZW4oYm9vbCBjb2xsYXBzZSkg
eyBtX2NhbkNvbGxhcHNlTWFyZ2luQWZ0ZXJXaXRoQ2hpbGRyZW4gPSBjb2xsYXBzZTsgfQorICAg
ICAgICB2b2lkIHNldENhbkNvbGxhcHNlTWFyZ2luQWZ0ZXJXaXRoQ2hpbGRyZW4oYm9vbCBjYW5D
b2xsYXBzZSkgeyBtX2NhbkNvbGxhcHNlTWFyZ2luQWZ0ZXJXaXRoQ2hpbGRyZW4gPSBjYW5Db2xs
YXBzZTsgfQogCiAgICAgICAgIGJvb2wgYXRCZWZvcmVTaWRlT2ZCbG9jaygpIGNvbnN0IHsgcmV0
dXJuIG1fYXRCZWZvcmVTaWRlT2ZCbG9jazsgfQorICAgICAgICBib29sIGF0QWZ0ZXJTaWRlT2ZC
bG9jaygpIGNvbnN0IHsgcmV0dXJuIG1fYXRBZnRlclNpZGVPZkJsb2NrOyB9CiAgICAgICAgIGJv
b2wgY2FuQ29sbGFwc2VXaXRoTWFyZ2luQmVmb3JlKCkgY29uc3QgeyByZXR1cm4gbV9hdEJlZm9y
ZVNpZGVPZkJsb2NrICYmIG1fY2FuQ29sbGFwc2VNYXJnaW5CZWZvcmVXaXRoQ2hpbGRyZW47IH0K
ICAgICAgICAgYm9vbCBjYW5Db2xsYXBzZVdpdGhNYXJnaW5BZnRlcigpIGNvbnN0IHsgcmV0dXJu
IG1fYXRBZnRlclNpZGVPZkJsb2NrICYmIG1fY2FuQ29sbGFwc2VNYXJnaW5BZnRlcldpdGhDaGls
ZHJlbjsgfQogICAgICAgICBib29sIGNhbkNvbGxhcHNlTWFyZ2luQmVmb3JlV2l0aENoaWxkcmVu
KCkgY29uc3QgeyByZXR1cm4gbV9jYW5Db2xsYXBzZU1hcmdpbkJlZm9yZVdpdGhDaGlsZHJlbjsg
fQogICAgICAgICBib29sIGNhbkNvbGxhcHNlTWFyZ2luQWZ0ZXJXaXRoQ2hpbGRyZW4oKSBjb25z
dCB7IHJldHVybiBtX2NhbkNvbGxhcHNlTWFyZ2luQWZ0ZXJXaXRoQ2hpbGRyZW47IH0KKyAgICAg
ICAgYm9vbCBjYW5Db2xsYXBzZVdpdGhDaGlsZHJlbigpIGNvbnN0IHsgcmV0dXJuIG1fY2FuQ29s
bGFwc2VXaXRoQ2hpbGRyZW47IH0KICAgICAgICAgYm9vbCBxdWlya0NvbnRhaW5lcigpIGNvbnN0
IHsgcmV0dXJuIG1fcXVpcmtDb250YWluZXI7IH0KICAgICAgICAgYm9vbCBkZXRlcm1pbmVkTWFy
Z2luQmVmb3JlUXVpcmsoKSBjb25zdCB7IHJldHVybiBtX2RldGVybWluZWRNYXJnaW5CZWZvcmVR
dWlyazsgfQogICAgICAgICBib29sIGhhc01hcmdpbkJlZm9yZVF1aXJrKCkgY29uc3QgeyByZXR1
cm4gbV9oYXNNYXJnaW5CZWZvcmVRdWlyazsgfQpAQCAtMjM4LDYgKzIwNywzNiBAQCBwdWJsaWM6
CiAgICAgICAgIExheW91dFVuaXQgcG9zaXRpdmVNYXJnaW4oKSBjb25zdCB7IHJldHVybiBtX3Bv
c2l0aXZlTWFyZ2luOyB9CiAgICAgICAgIExheW91dFVuaXQgbmVnYXRpdmVNYXJnaW4oKSBjb25z
dCB7IHJldHVybiBtX25lZ2F0aXZlTWFyZ2luOyB9CiAgICAgICAgIExheW91dFVuaXQgbWFyZ2lu
KCkgY29uc3QgeyByZXR1cm4gbV9wb3NpdGl2ZU1hcmdpbiAtIG1fbmVnYXRpdmVNYXJnaW47IH0K
KworICAgIHByaXZhdGU6CisgICAgICAgIC8vIENvbGxhcHNpbmcgZmxhZ3MgZm9yIHdoZXRoZXIg
d2UgY2FuIGNvbGxhcHNlIG91ciBtYXJnaW5zIHdpdGggb3VyIGNoaWxkcmVuJ3MgbWFyZ2lucy4K
KyAgICAgICAgYm9vbCBtX2NhbkNvbGxhcHNlV2l0aENoaWxkcmVuIDogMSB7IGZhbHNlIH07Cisg
ICAgICAgIGJvb2wgbV9jYW5Db2xsYXBzZU1hcmdpbkJlZm9yZVdpdGhDaGlsZHJlbiA6IDEgeyBm
YWxzZSB9OworICAgICAgICBib29sIG1fY2FuQ29sbGFwc2VNYXJnaW5BZnRlcldpdGhDaGlsZHJl
biA6IDEgeyBmYWxzZSB9OworCisgICAgICAgIC8vIFdoZXRoZXIgb3Igbm90IHdlIGFyZSBhIHF1
aXJreSBjb250YWluZXIsIGkuZS4sIGRvIHdlIGNvbGxhcHNlIGF3YXkgdG9wIGFuZCBib3R0b20K
KyAgICAgICAgLy8gbWFyZ2lucyBpbiBvdXIgY29udGFpbmVyLiBUYWJsZSBjZWxscyBhbmQgdGhl
IGJvZHkgYXJlIHRoZSBjb21tb24gZXhhbXBsZXMuIFdlCisgICAgICAgIC8vIGFsc28gaGF2ZSBh
IGN1c3RvbSBzdHlsZSBwcm9wZXJ0eSBmb3IgU2FmYXJpIFJTUyB0byBkZWFsIHdpdGggVHlwZVBh
ZCBibG9nIGFydGljbGVzLgorICAgICAgICBib29sIG1fcXVpcmtDb250YWluZXIgOiAxIHsgZmFs
c2UgfTsKKworICAgICAgICAvLyBUaGlzIGZsYWcgdHJhY2tzIHdoZXRoZXIgd2UgYXJlIHN0aWxs
IGxvb2tpbmcgYXQgY2hpbGQgbWFyZ2lucyB0aGF0IGNhbiBhbGwgY29sbGFwc2UgdG9nZXRoZXIg
YXQgdGhlIGJlZ2lubmluZyBvZiBhIGJsb2NrLgorICAgICAgICAvLyBUaGV5IG1heSBvciBtYXkg
bm90IGNvbGxhcHNlIHdpdGggdGhlIHRvcCBtYXJnaW4gb2YgdGhlIGJsb2NrICh8bV9jYW5Db2xs
YXBzZVRvcFdpdGhDaGlsZHJlbnwgdGVsbHMgdXMgdGhhdCksIGJ1dCB0aGV5IHdpbGwKKyAgICAg
ICAgLy8gYWx3YXlzIGJlIGNvbGxhcHNpbmcgd2l0aCBvbmUgYW5vdGhlci4gVGhpcyB2YXJpYWJs
ZSBjYW4gcmVtYWluIHNldCB0byB0cnVlIHRocm91Z2ggbXVsdGlwbGUgaXRlcmF0aW9ucworICAg
ICAgICAvLyBhcyBsb25nIGFzIHdlIGtlZXAgZW5jb3VudGVyaW5nIHNlbGYtY29sbGFwc2luZyBi
bG9ja3MuCisgICAgICAgIGJvb2wgbV9hdEJlZm9yZVNpZGVPZkJsb2NrIDogMSB7IHRydWUgfTsK
KworICAgICAgICAvLyBUaGlzIGZsYWcgaXMgc2V0IHdoZW4gd2Uga25vdyB3ZSdyZSBleGFtaW5p
bmcgYm90dG9tIG1hcmdpbnMgYW5kIHdlIGtub3cgd2UncmUgYXQgdGhlIGJvdHRvbSBvZiB0aGUg
YmxvY2suCisgICAgICAgIGJvb2wgbV9hdEFmdGVyU2lkZU9mQmxvY2sgOiAxIHsgZmFsc2UgfTsK
KworICAgICAgICAvLyBUaGVzZSB2YXJpYWJsZXMgYXJlIHVzZWQgdG8gZGV0ZWN0IHF1aXJreSBt
YXJnaW5zIHRoYXQgd2UgbmVlZCB0byBjb2xsYXBzZSBhd2F5IChpbiB0YWJsZSBjZWxscworICAg
ICAgICAvLyBhbmQgaW4gdGhlIGJvZHkgZWxlbWVudCkuCisgICAgICAgIGJvb2wgbV9oYXNNYXJn
aW5CZWZvcmVRdWlyayA6IDEgeyBmYWxzZSB9OworICAgICAgICBib29sIG1faGFzTWFyZ2luQWZ0
ZXJRdWlyayA6IDEgeyBmYWxzZSB9OworICAgICAgICBib29sIG1fZGV0ZXJtaW5lZE1hcmdpbkJl
Zm9yZVF1aXJrIDogMSB7IGZhbHNlIH07CisKKyAgICAgICAgLy8gVGhlc2UgZmxhZ3MgdHJhY2sg
dGhlIHByZXZpb3VzIG1heGltYWwgcG9zaXRpdmUgYW5kIG5lZ2F0aXZlIG1hcmdpbnMuCisgICAg
ICAgIExheW91dFVuaXQgbV9wb3NpdGl2ZU1hcmdpbjsKKyAgICAgICAgTGF5b3V0VW5pdCBtX25l
Z2F0aXZlTWFyZ2luOwogICAgIH07CiAKICAgICBib29sIHNob3VsZFRyaW1DaGlsZE1hcmdpbihT
dHlsZTo6TWFyZ2luVHJpbVNpZGUsIGNvbnN0IFJlbmRlckJveCYpIGNvbnN0OwpAQCAtMjYwLDcg
KzI1OSw3IEBAIHB1YmxpYzoKICAgICBMYXlvdXRVbml0IGNsZWFyRmxvYXRzSWZOZWVkZWQoUmVu
ZGVyQm94JiBjaGlsZCwgTWFyZ2luSW5mbyYsIExheW91dFVuaXQgb2xkVG9wUG9zTWFyZ2luLCBM
YXlvdXRVbml0IG9sZFRvcE5lZ01hcmdpbiwgTGF5b3V0VW5pdCB5UG9zKTsKICAgICBMYXlvdXRV
bml0IGVzdGltYXRlTG9naWNhbFRvcFBvc2l0aW9uKFJlbmRlckJveCYgY2hpbGQsIGNvbnN0IE1h
cmdpbkluZm8mLCBMYXlvdXRVbml0JiBlc3RpbWF0ZVdpdGhvdXRQYWdpbmF0aW9uKTsKICAgICB2
b2lkIG1hcmdpbkJlZm9yZUVzdGltYXRlRm9yQ2hpbGQoUmVuZGVyQm94JiwgTGF5b3V0VW5pdCYs
IExheW91dFVuaXQmKSBjb25zdDsKLSAgICB2b2lkIGhhbmRsZUFmdGVyU2lkZU9mQmxvY2soTGF5
b3V0VW5pdCB0b3AsIExheW91dFVuaXQgYm90dG9tLCBNYXJnaW5JbmZvJik7CisgICAgdm9pZCBo
YW5kbGVBZnRlclNpZGVPZkJsb2NrKE1hcmdpbkluZm8mKTsKICAgICB2b2lkIHNldENvbGxhcHNl
ZEJvdHRvbU1hcmdpbihjb25zdCBNYXJnaW5JbmZvJik7CiAKICAgICBib29sIGNoaWxkcmVuUHJl
dmVudFNlbGZDb2xsYXBzaW5nKCkgY29uc3QgZmluYWw7Cg==
</data>
<flag name="commit-queue"
          id="499724"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>477402</attachid>
            <date>2025-11-15 06:13:29 -0800</date>
            <delta_ts>2025-11-15 10:20:38 -0800</delta_ts>
            <desc>[fast-cq]Patch</desc>
            <filename>bug-302568-20251115061328.patch</filename>
            <type>text/plain</type>
            <size>19415</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSAxMzA5OGEzNWFjZDkwMWI2MTEwZmYzY2E5NDgzZTc5MzU5OGZmOGRiIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJhcmFkbGF5IDx6YWxhbkBhcHBsZS5jb20+CkRhdGU6
IFNhdCwgMTUgTm92IDIwMjUgMDQ6Mjg6NDAgLTA4MDAKU3ViamVjdDogW1BBVENIXSBbY2xlYW51
cF0gTW9kZXJuaXplIFJlbmRlckJsb2NrRmxvdydzIE1hcmdpbkluZm8KIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMDI1NjgKClJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgoKKiBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRp
b25Gb3JtYXR0aW5nQ29udGV4dExheW91dC5jcHA6CihXZWJDb3JlOjpMYXlvdXRJbnRlZ3JhdGlv
bjo6bGF5b3V0V2l0aEZvcm1hdHRpbmdDb250ZXh0Rm9yQmxvY2tJbklubGluZSk6CiogU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHA6CihXZWJDb3JlOjpSZW5kZXJC
bG9ja0Zsb3c6Ok1hcmdpbkluZm86Ok1hcmdpbkluZm8pOgooV2ViQ29yZTo6UmVuZGVyQmxvY2tG
bG93OjpsYXlvdXRCbG9ja0NoaWxkcmVuKToKKFdlYkNvcmU6OlJlbmRlckJsb2NrRmxvdzo6dHJp
bUJsb2NrRW5kQ2hpbGRyZW5NYXJnaW5zKToKKFdlYkNvcmU6OlJlbmRlckJsb2NrRmxvdzo6bWFy
Z2luQmVmb3JlRXN0aW1hdGVGb3JDaGlsZCBjb25zdCk6CihXZWJDb3JlOjpSZW5kZXJCbG9ja0Zs
b3c6OmhhbmRsZUFmdGVyU2lkZU9mQmxvY2spOgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJCbG9ja0Zsb3cuaDoKKFdlYkNvcmU6OlJlbmRlckJsb2NrRmxvdzo6TWFyZ2luSW5mbzo6
c2V0QXRCZWZvcmVTaWRlT2ZCbG9jayk6CihXZWJDb3JlOjpSZW5kZXJCbG9ja0Zsb3c6Ok1hcmdp
bkluZm86OnNldEF0QWZ0ZXJTaWRlT2ZCbG9jayk6CihXZWJDb3JlOjpSZW5kZXJCbG9ja0Zsb3c6
Ok1hcmdpbkluZm86OmNsZWFyTWFyZ2luKToKKFdlYkNvcmU6OlJlbmRlckJsb2NrRmxvdzo6TWFy
Z2luSW5mbzo6c2V0SGFzTWFyZ2luQmVmb3JlUXVpcmspOgooV2ViQ29yZTo6UmVuZGVyQmxvY2tG
bG93OjpNYXJnaW5JbmZvOjpzZXRIYXNNYXJnaW5BZnRlclF1aXJrKToKKFdlYkNvcmU6OlJlbmRl
ckJsb2NrRmxvdzo6TWFyZ2luSW5mbzo6c2V0RGV0ZXJtaW5lZE1hcmdpbkJlZm9yZVF1aXJrKToK
KFdlYkNvcmU6OlJlbmRlckJsb2NrRmxvdzo6TWFyZ2luSW5mbzo6c2V0UG9zaXRpdmVNYXJnaW4p
OgooV2ViQ29yZTo6UmVuZGVyQmxvY2tGbG93OjpNYXJnaW5JbmZvOjpzZXROZWdhdGl2ZU1hcmdp
bik6CihXZWJDb3JlOjpSZW5kZXJCbG9ja0Zsb3c6Ok1hcmdpbkluZm86OnNldFBvc2l0aXZlTWFy
Z2luSWZMYXJnZXIpOgooV2ViQ29yZTo6UmVuZGVyQmxvY2tGbG93OjpNYXJnaW5JbmZvOjpzZXRO
ZWdhdGl2ZU1hcmdpbklmTGFyZ2VyKToKKFdlYkNvcmU6OlJlbmRlckJsb2NrRmxvdzo6TWFyZ2lu
SW5mbzo6c2V0TWFyZ2luKToKKFdlYkNvcmU6OlJlbmRlckJsb2NrRmxvdzo6TWFyZ2luSW5mbzo6
c2V0Q2FuQ29sbGFwc2VNYXJnaW5BZnRlcldpdGhDaGlsZHJlbik6CihXZWJDb3JlOjpSZW5kZXJC
bG9ja0Zsb3c6Ok1hcmdpbkluZm86OmF0QWZ0ZXJTaWRlT2ZCbG9jayBjb25zdCk6CihXZWJDb3Jl
OjpSZW5kZXJCbG9ja0Zsb3c6Ok1hcmdpbkluZm86OmNhbkNvbGxhcHNlV2l0aENoaWxkcmVuIGNv
bnN0KToKLS0tCiAuLi55b3V0SW50ZWdyYXRpb25Gb3JtYXR0aW5nQ29udGV4dExheW91dC5jcHAg
fCAgIDUgKy0KIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwICB8
ICA1OSArKysrKy0tLS0tCiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93
LmggICAgfCAxMDEgKysrKysrKysrLS0tLS0tLS0tCiAzIGZpbGVzIGNoYW5nZWQsIDgxIGluc2Vy
dGlvbnMoKyksIDg0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkZvcm1hdHRpbmdDb250ZXh0TGF5b3V0
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlv
bkZvcm1hdHRpbmdDb250ZXh0TGF5b3V0LmNwcAppbmRleCBlYTBjNjA4ODAzYWQuLmZkZTAzZGE4
ZTEyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91
dEludGVncmF0aW9uRm9ybWF0dGluZ0NvbnRleHRMYXlvdXQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkZvcm1hdHRpbmdDb250ZXh0
TGF5b3V0LmNwcApAQCAtOTksMTAgKzk5LDcgQEAgdm9pZCBsYXlvdXRXaXRoRm9ybWF0dGluZ0Nv
bnRleHRGb3JCbG9ja0luSW5saW5lKGNvbnN0IExheW91dDo6RWxlbWVudEJveCYgYmxvY2sKICAg
ICAvLyBSZW5kZXIgdHJlZSB1c2VzIGJsb2NrIGhlaWdodCB0byB0cmFjayB0aGUgY2hpbGQgYmxv
Y2sgbGF5b3V0IHBvc2l0aW9uLiBTZXQgaXQgdG8gdGhlIGN1cnJlbnQgcG9zaXRpb24gYmVmb3Jl
IGNhbGxpbmcgbGF5b3V0QmxvY2tDaGlsZC4KICAgICByb290QmxvY2tDb250YWluZXIuc2V0TG9n
aWNhbEhlaWdodChibG9ja0xvZ2ljYWxUb3BMZWZ0LnkoKSAtIHJvb3RCbG9ja0NvbnRhaW5lci5t
YXJnaW5CZWZvcmUoKSk7CiAKLSAgICBhdXRvIGJlZm9yZUVkZ2UgPSByb290QmxvY2tDb250YWlu
ZXIuYm9yZGVyQW5kUGFkZGluZ0JlZm9yZSgpOwotICAgIGF1dG8gYWZ0ZXJFZGdlID0gcm9vdEJs
b2NrQ29udGFpbmVyLmJvcmRlckFuZFBhZGRpbmdBZnRlcigpICsgcm9vdEJsb2NrQ29udGFpbmVy
LnNjcm9sbGJhckxvZ2ljYWxIZWlnaHQoKTsKLQotICAgIFJlbmRlckJsb2NrRmxvdzo6TWFyZ2lu
SW5mbyBtYXJnaW5JbmZvKHJvb3RCbG9ja0NvbnRhaW5lciwgYmVmb3JlRWRnZSwgYWZ0ZXJFZGdl
KTsKKyAgICBhdXRvIG1hcmdpbkluZm8gPSBSZW5kZXJCbG9ja0Zsb3c6Ok1hcmdpbkluZm8geyBy
b290QmxvY2tDb250YWluZXIgfTsKICAgICAvLyBGSVhNRTogVGhlc2UgYXJlIHByb2JhYmx5IG5l
ZWRlZCB0byBtYWtlIHRoZSBjb250YWluZXIgbWFyZ2luIGNvbGxhcHNpbmcgd29yay4KICAgICBt
YXJnaW5JbmZvLnNldEF0QmVmb3JlU2lkZU9mQmxvY2soZmFsc2UpOwogICAgIG1hcmdpbkluZm8u
c2V0QXRBZnRlclNpZGVPZkJsb2NrKGZhbHNlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckJsb2NrRmxvdy5jcHAKaW5kZXggNzQ3ZjQzZDdjMGE1Li45OWVhOTE2NGQ4ZTQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwCkBAIC0xMDgs
MjQgKzEwOCwzMCBAQCBSZW5kZXJCbG9ja0Zsb3dSYXJlRGF0YTo6UmVuZGVyQmxvY2tGbG93UmFy
ZURhdGEoY29uc3QgUmVuZGVyQmxvY2tGbG93JiBibG9jaykKIFJlbmRlckJsb2NrRmxvd1JhcmVE
YXRhOjp+UmVuZGVyQmxvY2tGbG93UmFyZURhdGEoKSA9IGRlZmF1bHQ7CiAKIC8vIE91ciBNYXJn
aW5JbmZvIHN0YXRlIHVzZWQgd2hlbiBsYXlpbmcgb3V0IGJsb2NrIGNoaWxkcmVuLgotUmVuZGVy
QmxvY2tGbG93OjpNYXJnaW5JbmZvOjpNYXJnaW5JbmZvKGNvbnN0IFJlbmRlckJsb2NrRmxvdyYg
YmxvY2ssIExheW91dFVuaXQgYmVmb3JlQm9yZGVyUGFkZGluZywgTGF5b3V0VW5pdCBhZnRlckJv
cmRlclBhZGRpbmcpCi0gICAgOiBtX2F0QmVmb3JlU2lkZU9mQmxvY2sodHJ1ZSkKLSAgICAsIG1f
YXRBZnRlclNpZGVPZkJsb2NrKGZhbHNlKQotICAgICwgbV9oYXNNYXJnaW5CZWZvcmVRdWlyayhm
YWxzZSkKLSAgICAsIG1faGFzTWFyZ2luQWZ0ZXJRdWlyayhmYWxzZSkKLSAgICAsIG1fZGV0ZXJt
aW5lZE1hcmdpbkJlZm9yZVF1aXJrKGZhbHNlKQotewotICAgIGNvbnN0IFJlbmRlclN0eWxlJiBi
bG9ja1N0eWxlID0gYmxvY2suc3R5bGUoKTsKK1JlbmRlckJsb2NrRmxvdzo6TWFyZ2luSW5mbzo6
TWFyZ2luSW5mbyhjb25zdCBSZW5kZXJCbG9ja0Zsb3cmIGJsb2NrLCBJZ25vcmVTY3JvbGxiYXJG
b3JBZnRlck1hcmdpbiBpZ25vcmVTY3JvbGxiYXJGb3JBZnRlck1hcmdpbikKK3sKKyAgICBhdXRv
JiBibG9ja1N0eWxlID0gYmxvY2suc3R5bGUoKTsKICAgICBBU1NFUlQoYmxvY2suaXNSZW5kZXJW
aWV3KCkgfHwgYmxvY2sucGFyZW50KCkpOworCiAgICAgbV9jYW5Db2xsYXBzZVdpdGhDaGlsZHJl
biA9ICFibG9jay5jcmVhdGVzTmV3Rm9ybWF0dGluZ0NvbnRleHQoKSAmJiAhYmxvY2suaXNSZW5k
ZXJWaWV3KCk7CiAKLSAgICBtX2NhbkNvbGxhcHNlTWFyZ2luQmVmb3JlV2l0aENoaWxkcmVuID0g
bV9jYW5Db2xsYXBzZVdpdGhDaGlsZHJlbiAmJiAhYmVmb3JlQm9yZGVyUGFkZGluZzsKKyAgICBt
X2NhbkNvbGxhcHNlTWFyZ2luQmVmb3JlV2l0aENoaWxkcmVuID0gbV9jYW5Db2xsYXBzZVdpdGhD
aGlsZHJlbiAmJiAhYmxvY2suYm9yZGVyQW5kUGFkZGluZ0JlZm9yZSgpOwogCiAgICAgLy8gSWYg
YW55IGhlaWdodCBvdGhlciB0aGFuIGF1dG8gaXMgc3BlY2lmaWVkIGluIENTUywgdGhlbiB3ZSBk
b24ndCBjb2xsYXBzZSBvdXIgYm90dG9tCiAgICAgLy8gbWFyZ2lucyB3aXRoIG91ciBjaGlsZHJl
bidzIG1hcmdpbnMuIFRvIGRvIG90aGVyd2lzZSB3b3VsZCBiZSB0byByaXNrIG9kZCB2aXN1YWwK
ICAgICAvLyBlZmZlY3RzIHdoZW4gdGhlIGNoaWxkcmVuIG92ZXJmbG93IG91dCBvZiB0aGUgcGFy
ZW50IGJsb2NrIGFuZCB5ZXQgc3RpbGwgY29sbGFwc2UKICAgICAvLyB3aXRoIGl0LiBXZSBhbHNv
IGRvbid0IGNvbGxhcHNlIGlmIHdlIGhhdmUgYW55IGJvdHRvbSBib3JkZXIvcGFkZGluZy4KLSAg
ICBtX2NhbkNvbGxhcHNlTWFyZ2luQWZ0ZXJXaXRoQ2hpbGRyZW4gPSBtX2NhbkNvbGxhcHNlV2l0
aENoaWxkcmVuICYmICFhZnRlckJvcmRlclBhZGRpbmcgJiYgYmxvY2tTdHlsZS5sb2dpY2FsSGVp
Z2h0KCkuaXNBdXRvKCk7CisgICAgYXV0byBjYW5Db2xsYXBzZU1hcmdpbkFmdGVyV2l0aENoaWxk
cmVuID0gWyZdKCkgLT4gYm9vbCB7CisgICAgICAgIGlmICghbV9jYW5Db2xsYXBzZVdpdGhDaGls
ZHJlbikKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgaWYgKCFibG9ja1N0eWxl
LmxvZ2ljYWxIZWlnaHQoKS5pc0F1dG8oKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAg
ICAgICAgaWYgKGJsb2NrLmJvcmRlckFuZFBhZGRpbmdBZnRlcigpKQorICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOworICAgICAgICAvLyBGSVhNRTogQ2hlY2sgaWYgYWxsIGNhbGxzaXRlcyBhcmUg
c3VwcG9zZWQgdG8gdGFrZSBzY3JvbGxiYXIgaW50byBhY2NvdW50IGhlcmUuCisgICAgICAgIHJl
dHVybiBpZ25vcmVTY3JvbGxiYXJGb3JBZnRlck1hcmdpbiA9PSBJZ25vcmVTY3JvbGxiYXJGb3JB
ZnRlck1hcmdpbjo6WWVzID8gdHJ1ZSA6ICFibG9jay5zY3JvbGxiYXJMb2dpY2FsSGVpZ2h0KCk7
CisgICAgfTsKKyAgICBtX2NhbkNvbGxhcHNlTWFyZ2luQWZ0ZXJXaXRoQ2hpbGRyZW4gPSBjYW5D
b2xsYXBzZU1hcmdpbkFmdGVyV2l0aENoaWxkcmVuKCk7CiAKICAgICBtX3F1aXJrQ29udGFpbmVy
ID0gYmxvY2suaXNSZW5kZXJUYWJsZUNlbGwoKSB8fCBibG9jay5pc0JvZHkoKTsKIApAQCAtODMy
LDE0ICs4MzgsMTEgQEAgdm9pZCBSZW5kZXJCbG9ja0Zsb3c6OmxheW91dEJsb2NrQ2hpbGRyZW4o
UmVsYXlvdXRDaGlsZHJlbiByZWxheW91dENoaWxkcmVuLCBMYXkKIHsKICAgICBBU1NFUlQoZmly
c3RDaGlsZCgpKTsKIAotICAgIExheW91dFVuaXQgYmVmb3JlRWRnZSA9IGJvcmRlckFuZFBhZGRp
bmdCZWZvcmUoKTsKLSAgICBMYXlvdXRVbml0IGFmdGVyRWRnZSA9IGJvcmRlckFuZFBhZGRpbmdB
ZnRlcigpICsgc2Nyb2xsYmFyTG9naWNhbEhlaWdodCgpOwotCi0gICAgc2V0TG9naWNhbEhlaWdo
dChiZWZvcmVFZGdlKTsKKyAgICBzZXRMb2dpY2FsSGVpZ2h0KGJvcmRlckFuZFBhZGRpbmdCZWZv
cmUoKSk7CiAgICAgYXV0byogbGF5b3V0U3RhdGUgPSB2aWV3KCkuZnJhbWVWaWV3KCkubGF5b3V0
Q29udGV4dCgpLmxheW91dFN0YXRlKCk7IAogCiAgICAgLy8gVGhlIG1hcmdpbiBzdHJ1Y3QgY2Fj
aGVzIGFsbCBvdXIgY3VycmVudCBtYXJnaW4gY29sbGFwc2luZyBzdGF0ZS4KLSAgICBNYXJnaW5J
bmZvIG1hcmdpbkluZm8oKnRoaXMsIGJlZm9yZUVkZ2UsIGFmdGVyRWRnZSk7CisgICAgYXV0byBt
YXJnaW5JbmZvID0gTWFyZ2luSW5mbyB7ICp0aGlzLCBNYXJnaW5JbmZvOjpJZ25vcmVTY3JvbGxi
YXJGb3JBZnRlck1hcmdpbjo6Tm8gfTsKIAogICAgIGJvb2wgbWFyZ2luVHJpbUJsb2NrU3RhcnRG
cm9tQ29udGFpbmluZ0Jsb2NrID0gbGF5b3V0U3RhdGUtPm1hcmdpblRyaW1CbG9ja1N0YXJ0KCk7
CiAgICAgYm9vbCBuZXdNYXJnaW5UcmltQmxvY2tTdGFydEZvclN1YnRyZWUgPSBbJl0gewpAQCAt
OTIwLDEwICs5MjMsOSBAQCB2b2lkIFJlbmRlckJsb2NrRmxvdzo6bGF5b3V0QmxvY2tDaGlsZHJl
bihSZWxheW91dENoaWxkcmVuIHJlbGF5b3V0Q2hpbGRyZW4sIExheQogICAgICAgICB0cmltQmxv
Y2tFbmRDaGlsZHJlbk1hcmdpbnMoKTsKICAgICAvLyBOb3cgZG8gdGhlIGhhbmRsaW5nIG9mIHRo
ZSBib3R0b20gb2YgdGhlIGJsb2NrLCBhZGRpbmcgaW4gb3VyIGJvdHRvbSBib3JkZXIvcGFkZGlu
ZyBhbmQKICAgICAvLyBkZXRlcm1pbmluZyB0aGUgY29ycmVjdCBjb2xsYXBzZWQgYm90dG9tIG1h
cmdpbiBpbmZvcm1hdGlvbi4KLSAgICBoYW5kbGVBZnRlclNpZGVPZkJsb2NrKGJlZm9yZUVkZ2Us
IGFmdGVyRWRnZSwgbWFyZ2luSW5mbyk7CisgICAgaGFuZGxlQWZ0ZXJTaWRlT2ZCbG9jayhtYXJn
aW5JbmZvKTsKIH0KIAotCiB2b2lkIFJlbmRlckJsb2NrRmxvdzo6dHJpbUJsb2NrRW5kQ2hpbGRy
ZW5NYXJnaW5zKCkKIHsKICAgICBhdXRvIHRyaW1TZWxmQ29sbGFwc2luZ0NoaWxkRGVzY2VuZGFu
dHNNYXJnaW5zID0gWyZdKFJlbmRlckJveCYgY2hpbGQpIHsKQEAgLTk1OCwxMCArOTYwLDggQEAg
dm9pZCBSZW5kZXJCbG9ja0Zsb3c6OnRyaW1CbG9ja0VuZENoaWxkcmVuTWFyZ2lucygpCiAKICAg
ICAgICAgICAgIGNoaWxkID0gY2hpbGQtPnByZXZpb3VzU2libGluZ0JveCgpOwogICAgICAgICB9
ICBlbHNlIGlmIChhdXRvKiBuZXN0ZWRCbG9jayA9IGR5bmFtaWNEb3duY2FzdDxSZW5kZXJCbG9j
a0Zsb3c+KGNoaWxkKTsgbmVzdGVkQmxvY2sgJiYgbmVzdGVkQmxvY2stPmlzQmxvY2tDb250YWlu
ZXIoKSAmJiAhbmVzdGVkQmxvY2stPmNoaWxkcmVuSW5saW5lKCkgJiYgIW5lc3RlZEJsb2NrLT5z
dHlsZSgpLm1hcmdpblRyaW0oKS5jb250YWlucyhTdHlsZTo6TWFyZ2luVHJpbVNpZGU6OkJsb2Nr
RW5kKSkgewotICAgICAgICAgICAgTWFyZ2luSW5mbyBuZXN0ZWRCbG9ja01hcmdpbkluZm8oKm5l
c3RlZEJsb2NrLCBuZXN0ZWRCbG9jay0+Ym9yZGVyQW5kUGFkZGluZ0JlZm9yZSgpLCBuZXN0ZWRC
bG9jay0+Ym9yZGVyQW5kUGFkZGluZ0FmdGVyKCkpOwotICAgICAgICAgICAgLy8gVGhlIG1hcmdp
bnMgKmluc2lkZSogdGhpcyBuZXN0ZWQgYmxvY2sgYXJlIHByb3RlY3RlZCBzbyB3ZSBzaG91bGQg
bm90IGludHJvc3BlY3QgYW5kIHRyeSB0bwotICAgICAgICAgICAgLy8gdHJpbSBhbnkgb2YgdGhl
bS4KLSAgICAgICAgICAgIGlmICghbmVzdGVkQmxvY2tNYXJnaW5JbmZvLmNhbkNvbGxhcHNlTWFy
Z2luQWZ0ZXJXaXRoQ2hpbGRyZW4oKSkKKyAgICAgICAgICAgIC8vIFRoZSBtYXJnaW5zICppbnNp
ZGUqIHRoaXMgbmVzdGVkIGJsb2NrIGFyZSBwcm90ZWN0ZWQgc28gd2Ugc2hvdWxkIG5vdCBpbnRy
b3NwZWN0IGFuZCB0cnkgdG8gdHJpbSBhbnkgb2YgdGhlbS4KKyAgICAgICAgICAgIGlmICghTWFy
Z2luSW5mbyB7ICpuZXN0ZWRCbG9jayB9LmNhbkNvbGxhcHNlTWFyZ2luQWZ0ZXJXaXRoQ2hpbGRy
ZW4oKSkKICAgICAgICAgICAgICAgICBicmVhazsKIAogICAgICAgICAgICAgY2hpbGQgPSBjaGls
ZC0+bGFzdENoaWxkQm94KCk7CkBAIC0xNjYxLDggKzE2NjEsNyBAQCB2b2lkIFJlbmRlckJsb2Nr
Rmxvdzo6bWFyZ2luQmVmb3JlRXN0aW1hdGVGb3JDaGlsZChSZW5kZXJCb3gmIGNoaWxkLCBMYXlv
dXRVbml0JgogICAgIGlmIChjaGlsZEJsb2NrLT5jaGlsZHJlbklubGluZSgpIHx8IGNoaWxkQmxv
Y2stPmlzV3JpdGluZ01vZGVSb290KCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIE1hcmdpbklu
Zm8gY2hpbGRNYXJnaW5JbmZvKCpjaGlsZEJsb2NrLCBjaGlsZEJsb2NrLT5ib3JkZXJBbmRQYWRk
aW5nQmVmb3JlKCksIGNoaWxkQmxvY2stPmJvcmRlckFuZFBhZGRpbmdBZnRlcigpKTsKLSAgICBp
ZiAoIWNoaWxkTWFyZ2luSW5mby5jYW5Db2xsYXBzZU1hcmdpbkJlZm9yZVdpdGhDaGlsZHJlbigp
KQorICAgIGlmICghTWFyZ2luSW5mbyB7ICpjaGlsZEJsb2NrIH0uY2FuQ29sbGFwc2VNYXJnaW5C
ZWZvcmVXaXRoQ2hpbGRyZW4oKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgUmVuZGVyQm94KiBn
cmFuZGNoaWxkQm94ID0gY2hpbGRCbG9jay0+Zmlyc3RDaGlsZEJveCgpOwpAQCAtMTc2NCwyOSAr
MTc2MywzMSBAQCB2b2lkIFJlbmRlckJsb2NrRmxvdzo6c2V0Q29sbGFwc2VkQm90dG9tTWFyZ2lu
KGNvbnN0IE1hcmdpbkluZm8mIG1hcmdpbkluZm8pCiAgICAgfQogfQogCi12b2lkIFJlbmRlckJs
b2NrRmxvdzo6aGFuZGxlQWZ0ZXJTaWRlT2ZCbG9jayhMYXlvdXRVbml0IGJlZm9yZVNpZGUsIExh
eW91dFVuaXQgYWZ0ZXJTaWRlLCBNYXJnaW5JbmZvJiBtYXJnaW5JbmZvKQordm9pZCBSZW5kZXJC
bG9ja0Zsb3c6OmhhbmRsZUFmdGVyU2lkZU9mQmxvY2soTWFyZ2luSW5mbyYgbWFyZ2luSW5mbykK
IHsKICAgICBtYXJnaW5JbmZvLnNldEF0QWZ0ZXJTaWRlT2ZCbG9jayh0cnVlKTsKIAogICAgIC8v
IElmIG91ciBsYXN0IGNoaWxkIHdhcyBhIHNlbGYtY29sbGFwc2luZyBibG9jayB3aXRoIGNsZWFy
YW5jZSB0aGVuIG91ciBsb2dpY2FsIGhlaWdodCBpcyBmbHVzaCB3aXRoIHRoZQogICAgIC8vIGJv
dHRvbSBlZGdlIG9mIHRoZSBmbG9hdCB0aGF0IHRoZSBjaGlsZCBjbGVhcnMuIFRoZSBjb3JyZWN0
IHZlcnRpY2FsIHBvc2l0aW9uIGZvciB0aGUgbWFyZ2luLWNvbGxhcHNpbmcgd2Ugd2FudAogICAg
IC8vIHRvIHBlcmZvcm0gbm93IGlzIGF0IHRoZSBjaGlsZCdzIG1hcmdpbi10b3AgLSBzbyBhZGp1
c3Qgb3VyIGhlaWdodCB0byB0aGF0IHBvc2l0aW9uLgotICAgIGlmIChhdXRvIHZhbHVlID0gc2Vs
ZkNvbGxhcHNpbmdNYXJnaW5CZWZvcmVXaXRoQ2xlYXIobGFzdENoaWxkKCkpKQotICAgICAgICBz
ZXRMb2dpY2FsSGVpZ2h0KGxvZ2ljYWxIZWlnaHQoKSAtICp2YWx1ZSk7CisgICAgYXV0byBsb2dp
Y2FsSGVpZ2h0ID0gdGhpcy0+bG9naWNhbEhlaWdodCgpOworICAgIGlmIChhdXRvIHNlbGZDb2xs
YXBzaW5nTWFyZ2luQmVmb3JlV2l0aENsZWFyID0gdGhpcy0+c2VsZkNvbGxhcHNpbmdNYXJnaW5C
ZWZvcmVXaXRoQ2xlYXIobGFzdENoaWxkKCkpKQorICAgICAgICBsb2dpY2FsSGVpZ2h0IC09ICpz
ZWxmQ29sbGFwc2luZ01hcmdpbkJlZm9yZVdpdGhDbGVhcjsKIAogICAgIC8vIElmIHdlIGNhbid0
IGNvbGxhcHNlIHdpdGggY2hpbGRyZW4gdGhlbiBhZGQgaW4gdGhlIGJvdHRvbSBtYXJnaW4uCiAg
ICAgaWYgKCFtYXJnaW5JbmZvLmNhbkNvbGxhcHNlV2l0aE1hcmdpbkFmdGVyKCkgJiYgIW1hcmdp
bkluZm8uY2FuQ29sbGFwc2VXaXRoTWFyZ2luQmVmb3JlKCkKICAgICAgICAgJiYgKCFkb2N1bWVu
dCgpLmluUXVpcmtzTW9kZSgpIHx8ICFtYXJnaW5JbmZvLnF1aXJrQ29udGFpbmVyKCkgfHwgIW1h
cmdpbkluZm8uaGFzTWFyZ2luQWZ0ZXJRdWlyaygpKSkgewotICAgICAgICBzZXRMb2dpY2FsSGVp
Z2h0KGxvZ2ljYWxIZWlnaHQoKSArIG1hcmdpbkluZm8ubWFyZ2luKCkpOworICAgICAgICBsb2dp
Y2FsSGVpZ2h0ICs9IG1hcmdpbkluZm8ubWFyZ2luKCk7CiAgICAgfQogCiAgICAgLy8gTm93IGFk
ZCBpbiBvdXIgYm90dG9tIGJvcmRlci9wYWRkaW5nLgotICAgIHNldExvZ2ljYWxIZWlnaHQobG9n
aWNhbEhlaWdodCgpICsgYWZ0ZXJTaWRlKTsKKyAgICBsb2dpY2FsSGVpZ2h0ICs9IGJvcmRlckFu
ZFBhZGRpbmdBZnRlcigpICsgc2Nyb2xsYmFyTG9naWNhbEhlaWdodCgpOwogCiAgICAgLy8gTmVn
YXRpdmUgbWFyZ2lucyBjYW4gY2F1c2Ugb3VyIGhlaWdodCB0byBzaHJpbmsgYmVsb3cgb3VyIG1p
bmltYWwgaGVpZ2h0IChib3JkZXIvcGFkZGluZykuCiAgICAgLy8gSWYgdGhpcyBoYXBwZW5zLCBl
bnN1cmUgdGhhdCB0aGUgY29tcHV0ZWQgaGVpZ2h0IGlzIGluY3JlYXNlZCB0byB0aGUgbWluaW1h
bCBoZWlnaHQuCi0gICAgc2V0TG9naWNhbEhlaWdodChzdGQ6Om1heChsb2dpY2FsSGVpZ2h0KCks
IGJlZm9yZVNpZGUgKyBhZnRlclNpZGUpKTsKKyAgICBsb2dpY2FsSGVpZ2h0ID0gc3RkOjptYXgo
bG9naWNhbEhlaWdodCwgYm9yZGVyQW5kUGFkZGluZ0JlZm9yZSgpICsgYm9yZGVyQW5kUGFkZGlu
Z0FmdGVyKCkgKyBzY3JvbGxiYXJMb2dpY2FsSGVpZ2h0KCkpOwogCisgICAgc2V0TG9naWNhbEhl
aWdodChsb2dpY2FsSGVpZ2h0KTsKICAgICAvLyBVcGRhdGUgb3VyIGJvdHRvbSBjb2xsYXBzZWQg
bWFyZ2luIGluZm8uCiAgICAgc2V0Q29sbGFwc2VkQm90dG9tTWFyZ2luKG1hcmdpbkluZm8pOwog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5o
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5oCmluZGV4IDdkN2Fm
M2JiNmZlMy4uYzgzMzE3ZWVmMDEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQmxvY2tGbG93LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJsb2NrRmxvdy5oCkBAIC0xNjgsNjkgKzE2OCwzOCBAQCBwdWJsaWM6CiAgICAgTWFyZ2luVmFs
dWVzIG1hcmdpblZhbHVlc0ZvckNoaWxkKFJlbmRlckJveCYgY2hpbGQpIGNvbnN0OwogCiAgICAg
Y2xhc3MgTWFyZ2luSW5mbyB7Ci0gICAgICAgIC8vIENvbGxhcHNpbmcgZmxhZ3MgZm9yIHdoZXRo
ZXIgd2UgY2FuIGNvbGxhcHNlIG91ciBtYXJnaW5zIHdpdGggb3VyIGNoaWxkcmVuJ3MgbWFyZ2lu
cy4KLSAgICAgICAgYm9vbCBtX2NhbkNvbGxhcHNlV2l0aENoaWxkcmVuIDogMTsKLSAgICAgICAg
Ym9vbCBtX2NhbkNvbGxhcHNlTWFyZ2luQmVmb3JlV2l0aENoaWxkcmVuIDogMTsKLSAgICAgICAg
Ym9vbCBtX2NhbkNvbGxhcHNlTWFyZ2luQWZ0ZXJXaXRoQ2hpbGRyZW4gOiAxOwotCi0gICAgICAg
IC8vIFdoZXRoZXIgb3Igbm90IHdlIGFyZSBhIHF1aXJreSBjb250YWluZXIsIGkuZS4sIGRvIHdl
IGNvbGxhcHNlIGF3YXkgdG9wIGFuZCBib3R0b20KLSAgICAgICAgLy8gbWFyZ2lucyBpbiBvdXIg
Y29udGFpbmVyLiBUYWJsZSBjZWxscyBhbmQgdGhlIGJvZHkgYXJlIHRoZSBjb21tb24gZXhhbXBs
ZXMuIFdlCi0gICAgICAgIC8vIGFsc28gaGF2ZSBhIGN1c3RvbSBzdHlsZSBwcm9wZXJ0eSBmb3Ig
U2FmYXJpIFJTUyB0byBkZWFsIHdpdGggVHlwZVBhZCBibG9nIGFydGljbGVzLgotICAgICAgICBi
b29sIG1fcXVpcmtDb250YWluZXIgOiAxOwotCi0gICAgICAgIC8vIFRoaXMgZmxhZyB0cmFja3Mg
d2hldGhlciB3ZSBhcmUgc3RpbGwgbG9va2luZyBhdCBjaGlsZCBtYXJnaW5zIHRoYXQgY2FuIGFs
bCBjb2xsYXBzZSB0b2dldGhlciBhdCB0aGUgYmVnaW5uaW5nIG9mIGEgYmxvY2suICAKLSAgICAg
ICAgLy8gVGhleSBtYXkgb3IgbWF5IG5vdCBjb2xsYXBzZSB3aXRoIHRoZSB0b3AgbWFyZ2luIG9m
IHRoZSBibG9jayAofG1fY2FuQ29sbGFwc2VUb3BXaXRoQ2hpbGRyZW58IHRlbGxzIHVzIHRoYXQp
LCBidXQgdGhleSB3aWxsCi0gICAgICAgIC8vIGFsd2F5cyBiZSBjb2xsYXBzaW5nIHdpdGggb25l
IGFub3RoZXIuIFRoaXMgdmFyaWFibGUgY2FuIHJlbWFpbiBzZXQgdG8gdHJ1ZSB0aHJvdWdoIG11
bHRpcGxlIGl0ZXJhdGlvbnMgCi0gICAgICAgIC8vIGFzIGxvbmcgYXMgd2Uga2VlcCBlbmNvdW50
ZXJpbmcgc2VsZi1jb2xsYXBzaW5nIGJsb2Nrcy4KLSAgICAgICAgYm9vbCBtX2F0QmVmb3JlU2lk
ZU9mQmxvY2sgOiAxOwotCi0gICAgICAgIC8vIFRoaXMgZmxhZyBpcyBzZXQgd2hlbiB3ZSBrbm93
IHdlJ3JlIGV4YW1pbmluZyBib3R0b20gbWFyZ2lucyBhbmQgd2Uga25vdyB3ZSdyZSBhdCB0aGUg
Ym90dG9tIG9mIHRoZSBibG9jay4KLSAgICAgICAgYm9vbCBtX2F0QWZ0ZXJTaWRlT2ZCbG9jayA6
IDE7Ci0KLSAgICAgICAgLy8gVGhlc2UgdmFyaWFibGVzIGFyZSB1c2VkIHRvIGRldGVjdCBxdWly
a3kgbWFyZ2lucyB0aGF0IHdlIG5lZWQgdG8gY29sbGFwc2UgYXdheSAoaW4gdGFibGUgY2VsbHMK
LSAgICAgICAgLy8gYW5kIGluIHRoZSBib2R5IGVsZW1lbnQpLgotICAgICAgICBib29sIG1faGFz
TWFyZ2luQmVmb3JlUXVpcmsgOiAxOwotICAgICAgICBib29sIG1faGFzTWFyZ2luQWZ0ZXJRdWly
ayA6IDE7Ci0gICAgICAgIGJvb2wgbV9kZXRlcm1pbmVkTWFyZ2luQmVmb3JlUXVpcmsgOiAxOwot
Ci0gICAgICAgIC8vIFRoZXNlIGZsYWdzIHRyYWNrIHRoZSBwcmV2aW91cyBtYXhpbWFsIHBvc2l0
aXZlIGFuZCBuZWdhdGl2ZSBtYXJnaW5zLgotICAgICAgICBMYXlvdXRVbml0IG1fcG9zaXRpdmVN
YXJnaW47Ci0gICAgICAgIExheW91dFVuaXQgbV9uZWdhdGl2ZU1hcmdpbjsKLQogICAgIHB1Ymxp
YzoKLSAgICAgICAgTWFyZ2luSW5mbyhjb25zdCBSZW5kZXJCbG9ja0Zsb3cmLCBMYXlvdXRVbml0
IGJlZm9yZUJvcmRlclBhZGRpbmcsIExheW91dFVuaXQgYWZ0ZXJCb3JkZXJQYWRkaW5nKTsKKyAg
ICAgICAgZW51bSBjbGFzcyBJZ25vcmVTY3JvbGxiYXJGb3JBZnRlck1hcmdpbiA6IGJvb2wgeyBO
bywgWWVzIH07CisgICAgICAgIE1hcmdpbkluZm8oY29uc3QgUmVuZGVyQmxvY2tGbG93JiwgSWdu
b3JlU2Nyb2xsYmFyRm9yQWZ0ZXJNYXJnaW4gPSBJZ25vcmVTY3JvbGxiYXJGb3JBZnRlck1hcmdp
bjo6WWVzKTsKIAotICAgICAgICB2b2lkIHNldEF0QmVmb3JlU2lkZU9mQmxvY2soYm9vbCBiKSB7
IG1fYXRCZWZvcmVTaWRlT2ZCbG9jayA9IGI7IH0KLSAgICAgICAgdm9pZCBzZXRBdEFmdGVyU2lk
ZU9mQmxvY2soYm9vbCBiKSB7IG1fYXRBZnRlclNpZGVPZkJsb2NrID0gYjsgfQorICAgICAgICB2
b2lkIHNldEF0QmVmb3JlU2lkZU9mQmxvY2soYm9vbCBhdEJlZm9yZVNpZGVPZkJsb2NrKSB7IG1f
YXRCZWZvcmVTaWRlT2ZCbG9jayA9IGF0QmVmb3JlU2lkZU9mQmxvY2s7IH0KKyAgICAgICAgdm9p
ZCBzZXRBdEFmdGVyU2lkZU9mQmxvY2soYm9vbCBhdEFmdGVyU2lkZU9mQmxvY2spIHsgbV9hdEFm
dGVyU2lkZU9mQmxvY2sgPSBhdEFmdGVyU2lkZU9mQmxvY2s7IH0KICAgICAgICAgdm9pZCBjbGVh
ck1hcmdpbigpCiAgICAgICAgIHsKLSAgICAgICAgICAgIG1fcG9zaXRpdmVNYXJnaW4gPSAwOwot
ICAgICAgICAgICAgbV9uZWdhdGl2ZU1hcmdpbiA9IDA7Ci0gICAgICAgIH0KLSAgICAgICAgdm9p
ZCBzZXRIYXNNYXJnaW5CZWZvcmVRdWlyayhib29sIGIpIHsgbV9oYXNNYXJnaW5CZWZvcmVRdWly
ayA9IGI7IH0KLSAgICAgICAgdm9pZCBzZXRIYXNNYXJnaW5BZnRlclF1aXJrKGJvb2wgYikgeyBt
X2hhc01hcmdpbkFmdGVyUXVpcmsgPSBiOyB9Ci0gICAgICAgIHZvaWQgc2V0RGV0ZXJtaW5lZE1h
cmdpbkJlZm9yZVF1aXJrKGJvb2wgYikgeyBtX2RldGVybWluZWRNYXJnaW5CZWZvcmVRdWlyayA9
IGI7IH0KLSAgICAgICAgdm9pZCBzZXRQb3NpdGl2ZU1hcmdpbihMYXlvdXRVbml0IHApIHsgbV9w
b3NpdGl2ZU1hcmdpbiA9IHA7IH0KLSAgICAgICAgdm9pZCBzZXROZWdhdGl2ZU1hcmdpbihMYXlv
dXRVbml0IG4pIHsgbV9uZWdhdGl2ZU1hcmdpbiA9IG47IH0KLSAgICAgICAgdm9pZCBzZXRQb3Np
dGl2ZU1hcmdpbklmTGFyZ2VyKExheW91dFVuaXQgcCkKLSAgICAgICAgewotICAgICAgICAgICAg
aWYgKHAgPiBtX3Bvc2l0aXZlTWFyZ2luKQotICAgICAgICAgICAgICAgIG1fcG9zaXRpdmVNYXJn
aW4gPSBwOworICAgICAgICAgICAgbV9wb3NpdGl2ZU1hcmdpbiA9IHsgfTsKKyAgICAgICAgICAg
IG1fbmVnYXRpdmVNYXJnaW4gPSB7IH07CiAgICAgICAgIH0KLSAgICAgICAgdm9pZCBzZXROZWdh
dGl2ZU1hcmdpbklmTGFyZ2VyKExheW91dFVuaXQgbikKKyAgICAgICAgdm9pZCBzZXRIYXNNYXJn
aW5CZWZvcmVRdWlyayhib29sIGhhc01hcmdpbkJlZm9yZVF1aXJrKSB7IG1faGFzTWFyZ2luQmVm
b3JlUXVpcmsgPSBoYXNNYXJnaW5CZWZvcmVRdWlyazsgfQorICAgICAgICB2b2lkIHNldEhhc01h
cmdpbkFmdGVyUXVpcmsoYm9vbCBoYXNNYXJnaW5BZnRlclF1aXJrKSB7IG1faGFzTWFyZ2luQWZ0
ZXJRdWlyayA9IGhhc01hcmdpbkFmdGVyUXVpcms7IH0KKyAgICAgICAgdm9pZCBzZXREZXRlcm1p
bmVkTWFyZ2luQmVmb3JlUXVpcmsoYm9vbCBkZXRlcm1pbmVkTWFyZ2luQmVmb3JlUXVpcmspIHsg
bV9kZXRlcm1pbmVkTWFyZ2luQmVmb3JlUXVpcmsgPSBkZXRlcm1pbmVkTWFyZ2luQmVmb3JlUXVp
cms7IH0KKyAgICAgICAgdm9pZCBzZXRQb3NpdGl2ZU1hcmdpbihMYXlvdXRVbml0IHBvc2l0aXZl
TWFyZ2luKSB7IG1fcG9zaXRpdmVNYXJnaW4gPSBwb3NpdGl2ZU1hcmdpbjsgfQorICAgICAgICB2
b2lkIHNldE5lZ2F0aXZlTWFyZ2luKExheW91dFVuaXQgbmVnYXRpdmVNYXJnaW4pIHsgbV9uZWdh
dGl2ZU1hcmdpbiA9IG5lZ2F0aXZlTWFyZ2luOyB9CisgICAgICAgIHZvaWQgc2V0UG9zaXRpdmVN
YXJnaW5JZkxhcmdlcihMYXlvdXRVbml0IHBvc2l0aXZlTWFyZ2luKSB7IG1fcG9zaXRpdmVNYXJn
aW4gPSBzdGQ6Om1heChwb3NpdGl2ZU1hcmdpbiwgbV9wb3NpdGl2ZU1hcmdpbik7IH0KKyAgICAg
ICAgdm9pZCBzZXROZWdhdGl2ZU1hcmdpbklmTGFyZ2VyKExheW91dFVuaXQgbmVnYXRpdmVNYXJn
aW4pIHsgbV9uZWdhdGl2ZU1hcmdpbiA9IHN0ZDo6bWF4KG5lZ2F0aXZlTWFyZ2luLCBtX25lZ2F0
aXZlTWFyZ2luKTsgfQorICAgICAgICB2b2lkIHNldE1hcmdpbihMYXlvdXRVbml0IHBvc2l0aXZl
TWFyZ2luLCBMYXlvdXRVbml0IG5lZ2F0aXZlTWFyZ2luKQogICAgICAgICB7Ci0gICAgICAgICAg
ICBpZiAobiA+IG1fbmVnYXRpdmVNYXJnaW4pCi0gICAgICAgICAgICAgICAgbV9uZWdhdGl2ZU1h
cmdpbiA9IG47CisgICAgICAgICAgICBzZXRQb3NpdGl2ZU1hcmdpbihwb3NpdGl2ZU1hcmdpbik7
CisgICAgICAgICAgICBzZXROZWdhdGl2ZU1hcmdpbihuZWdhdGl2ZU1hcmdpbik7CiAgICAgICAg
IH0KLQotICAgICAgICB2b2lkIHNldE1hcmdpbihMYXlvdXRVbml0IHAsIExheW91dFVuaXQgbikg
eyBtX3Bvc2l0aXZlTWFyZ2luID0gcDsgbV9uZWdhdGl2ZU1hcmdpbiA9IG47IH0KLSAgICAgICAg
dm9pZCBzZXRDYW5Db2xsYXBzZU1hcmdpbkFmdGVyV2l0aENoaWxkcmVuKGJvb2wgY29sbGFwc2Up
IHsgbV9jYW5Db2xsYXBzZU1hcmdpbkFmdGVyV2l0aENoaWxkcmVuID0gY29sbGFwc2U7IH0KKyAg
ICAgICAgdm9pZCBzZXRDYW5Db2xsYXBzZU1hcmdpbkFmdGVyV2l0aENoaWxkcmVuKGJvb2wgY2Fu
Q29sbGFwc2UpIHsgbV9jYW5Db2xsYXBzZU1hcmdpbkFmdGVyV2l0aENoaWxkcmVuID0gY2FuQ29s
bGFwc2U7IH0KIAogICAgICAgICBib29sIGF0QmVmb3JlU2lkZU9mQmxvY2soKSBjb25zdCB7IHJl
dHVybiBtX2F0QmVmb3JlU2lkZU9mQmxvY2s7IH0KKyAgICAgICAgYm9vbCBhdEFmdGVyU2lkZU9m
QmxvY2soKSBjb25zdCB7IHJldHVybiBtX2F0QWZ0ZXJTaWRlT2ZCbG9jazsgfQogICAgICAgICBi
b29sIGNhbkNvbGxhcHNlV2l0aE1hcmdpbkJlZm9yZSgpIGNvbnN0IHsgcmV0dXJuIG1fYXRCZWZv
cmVTaWRlT2ZCbG9jayAmJiBtX2NhbkNvbGxhcHNlTWFyZ2luQmVmb3JlV2l0aENoaWxkcmVuOyB9
CiAgICAgICAgIGJvb2wgY2FuQ29sbGFwc2VXaXRoTWFyZ2luQWZ0ZXIoKSBjb25zdCB7IHJldHVy
biBtX2F0QWZ0ZXJTaWRlT2ZCbG9jayAmJiBtX2NhbkNvbGxhcHNlTWFyZ2luQWZ0ZXJXaXRoQ2hp
bGRyZW47IH0KICAgICAgICAgYm9vbCBjYW5Db2xsYXBzZU1hcmdpbkJlZm9yZVdpdGhDaGlsZHJl
bigpIGNvbnN0IHsgcmV0dXJuIG1fY2FuQ29sbGFwc2VNYXJnaW5CZWZvcmVXaXRoQ2hpbGRyZW47
IH0KICAgICAgICAgYm9vbCBjYW5Db2xsYXBzZU1hcmdpbkFmdGVyV2l0aENoaWxkcmVuKCkgY29u
c3QgeyByZXR1cm4gbV9jYW5Db2xsYXBzZU1hcmdpbkFmdGVyV2l0aENoaWxkcmVuOyB9CisgICAg
ICAgIGJvb2wgY2FuQ29sbGFwc2VXaXRoQ2hpbGRyZW4oKSBjb25zdCB7IHJldHVybiBtX2NhbkNv
bGxhcHNlV2l0aENoaWxkcmVuOyB9CiAgICAgICAgIGJvb2wgcXVpcmtDb250YWluZXIoKSBjb25z
dCB7IHJldHVybiBtX3F1aXJrQ29udGFpbmVyOyB9CiAgICAgICAgIGJvb2wgZGV0ZXJtaW5lZE1h
cmdpbkJlZm9yZVF1aXJrKCkgY29uc3QgeyByZXR1cm4gbV9kZXRlcm1pbmVkTWFyZ2luQmVmb3Jl
UXVpcms7IH0KICAgICAgICAgYm9vbCBoYXNNYXJnaW5CZWZvcmVRdWlyaygpIGNvbnN0IHsgcmV0
dXJuIG1faGFzTWFyZ2luQmVmb3JlUXVpcms7IH0KQEAgLTIzOCw2ICsyMDcsMzYgQEAgcHVibGlj
OgogICAgICAgICBMYXlvdXRVbml0IHBvc2l0aXZlTWFyZ2luKCkgY29uc3QgeyByZXR1cm4gbV9w
b3NpdGl2ZU1hcmdpbjsgfQogICAgICAgICBMYXlvdXRVbml0IG5lZ2F0aXZlTWFyZ2luKCkgY29u
c3QgeyByZXR1cm4gbV9uZWdhdGl2ZU1hcmdpbjsgfQogICAgICAgICBMYXlvdXRVbml0IG1hcmdp
bigpIGNvbnN0IHsgcmV0dXJuIG1fcG9zaXRpdmVNYXJnaW4gLSBtX25lZ2F0aXZlTWFyZ2luOyB9
CisKKyAgICBwcml2YXRlOgorICAgICAgICAvLyBDb2xsYXBzaW5nIGZsYWdzIGZvciB3aGV0aGVy
IHdlIGNhbiBjb2xsYXBzZSBvdXIgbWFyZ2lucyB3aXRoIG91ciBjaGlsZHJlbidzIG1hcmdpbnMu
CisgICAgICAgIGJvb2wgbV9jYW5Db2xsYXBzZVdpdGhDaGlsZHJlbiA6IDEgeyBmYWxzZSB9Owor
ICAgICAgICBib29sIG1fY2FuQ29sbGFwc2VNYXJnaW5CZWZvcmVXaXRoQ2hpbGRyZW4gOiAxIHsg
ZmFsc2UgfTsKKyAgICAgICAgYm9vbCBtX2NhbkNvbGxhcHNlTWFyZ2luQWZ0ZXJXaXRoQ2hpbGRy
ZW4gOiAxIHsgZmFsc2UgfTsKKworICAgICAgICAvLyBXaGV0aGVyIG9yIG5vdCB3ZSBhcmUgYSBx
dWlya3kgY29udGFpbmVyLCBpLmUuLCBkbyB3ZSBjb2xsYXBzZSBhd2F5IHRvcCBhbmQgYm90dG9t
CisgICAgICAgIC8vIG1hcmdpbnMgaW4gb3VyIGNvbnRhaW5lci4gVGFibGUgY2VsbHMgYW5kIHRo
ZSBib2R5IGFyZSB0aGUgY29tbW9uIGV4YW1wbGVzLiBXZQorICAgICAgICAvLyBhbHNvIGhhdmUg
YSBjdXN0b20gc3R5bGUgcHJvcGVydHkgZm9yIFNhZmFyaSBSU1MgdG8gZGVhbCB3aXRoIFR5cGVQ
YWQgYmxvZyBhcnRpY2xlcy4KKyAgICAgICAgYm9vbCBtX3F1aXJrQ29udGFpbmVyIDogMSB7IGZh
bHNlIH07CisKKyAgICAgICAgLy8gVGhpcyBmbGFnIHRyYWNrcyB3aGV0aGVyIHdlIGFyZSBzdGls
bCBsb29raW5nIGF0IGNoaWxkIG1hcmdpbnMgdGhhdCBjYW4gYWxsIGNvbGxhcHNlIHRvZ2V0aGVy
IGF0IHRoZSBiZWdpbm5pbmcgb2YgYSBibG9jay4KKyAgICAgICAgLy8gVGhleSBtYXkgb3IgbWF5
IG5vdCBjb2xsYXBzZSB3aXRoIHRoZSB0b3AgbWFyZ2luIG9mIHRoZSBibG9jayAofG1fY2FuQ29s
bGFwc2VUb3BXaXRoQ2hpbGRyZW58IHRlbGxzIHVzIHRoYXQpLCBidXQgdGhleSB3aWxsCisgICAg
ICAgIC8vIGFsd2F5cyBiZSBjb2xsYXBzaW5nIHdpdGggb25lIGFub3RoZXIuIFRoaXMgdmFyaWFi
bGUgY2FuIHJlbWFpbiBzZXQgdG8gdHJ1ZSB0aHJvdWdoIG11bHRpcGxlIGl0ZXJhdGlvbnMKKyAg
ICAgICAgLy8gYXMgbG9uZyBhcyB3ZSBrZWVwIGVuY291bnRlcmluZyBzZWxmLWNvbGxhcHNpbmcg
YmxvY2tzLgorICAgICAgICBib29sIG1fYXRCZWZvcmVTaWRlT2ZCbG9jayA6IDEgeyB0cnVlIH07
CisKKyAgICAgICAgLy8gVGhpcyBmbGFnIGlzIHNldCB3aGVuIHdlIGtub3cgd2UncmUgZXhhbWlu
aW5nIGJvdHRvbSBtYXJnaW5zIGFuZCB3ZSBrbm93IHdlJ3JlIGF0IHRoZSBib3R0b20gb2YgdGhl
IGJsb2NrLgorICAgICAgICBib29sIG1fYXRBZnRlclNpZGVPZkJsb2NrIDogMSB7IGZhbHNlIH07
CisKKyAgICAgICAgLy8gVGhlc2UgdmFyaWFibGVzIGFyZSB1c2VkIHRvIGRldGVjdCBxdWlya3kg
bWFyZ2lucyB0aGF0IHdlIG5lZWQgdG8gY29sbGFwc2UgYXdheSAoaW4gdGFibGUgY2VsbHMKKyAg
ICAgICAgLy8gYW5kIGluIHRoZSBib2R5IGVsZW1lbnQpLgorICAgICAgICBib29sIG1faGFzTWFy
Z2luQmVmb3JlUXVpcmsgOiAxIHsgZmFsc2UgfTsKKyAgICAgICAgYm9vbCBtX2hhc01hcmdpbkFm
dGVyUXVpcmsgOiAxIHsgZmFsc2UgfTsKKyAgICAgICAgYm9vbCBtX2RldGVybWluZWRNYXJnaW5C
ZWZvcmVRdWlyayA6IDEgeyBmYWxzZSB9OworCisgICAgICAgIC8vIFRoZXNlIGZsYWdzIHRyYWNr
IHRoZSBwcmV2aW91cyBtYXhpbWFsIHBvc2l0aXZlIGFuZCBuZWdhdGl2ZSBtYXJnaW5zLgorICAg
ICAgICBMYXlvdXRVbml0IG1fcG9zaXRpdmVNYXJnaW47CisgICAgICAgIExheW91dFVuaXQgbV9u
ZWdhdGl2ZU1hcmdpbjsKICAgICB9OwogCiAgICAgYm9vbCBzaG91bGRUcmltQ2hpbGRNYXJnaW4o
U3R5bGU6Ok1hcmdpblRyaW1TaWRlLCBjb25zdCBSZW5kZXJCb3gmKSBjb25zdDsKQEAgLTI2MCw3
ICsyNTksNyBAQCBwdWJsaWM6CiAgICAgTGF5b3V0VW5pdCBjbGVhckZsb2F0c0lmTmVlZGVkKFJl
bmRlckJveCYgY2hpbGQsIE1hcmdpbkluZm8mLCBMYXlvdXRVbml0IG9sZFRvcFBvc01hcmdpbiwg
TGF5b3V0VW5pdCBvbGRUb3BOZWdNYXJnaW4sIExheW91dFVuaXQgeVBvcyk7CiAgICAgTGF5b3V0
VW5pdCBlc3RpbWF0ZUxvZ2ljYWxUb3BQb3NpdGlvbihSZW5kZXJCb3gmIGNoaWxkLCBjb25zdCBN
YXJnaW5JbmZvJiwgTGF5b3V0VW5pdCYgZXN0aW1hdGVXaXRob3V0UGFnaW5hdGlvbik7CiAgICAg
dm9pZCBtYXJnaW5CZWZvcmVFc3RpbWF0ZUZvckNoaWxkKFJlbmRlckJveCYsIExheW91dFVuaXQm
LCBMYXlvdXRVbml0JikgY29uc3Q7Ci0gICAgdm9pZCBoYW5kbGVBZnRlclNpZGVPZkJsb2NrKExh
eW91dFVuaXQgdG9wLCBMYXlvdXRVbml0IGJvdHRvbSwgTWFyZ2luSW5mbyYpOworICAgIHZvaWQg
aGFuZGxlQWZ0ZXJTaWRlT2ZCbG9jayhNYXJnaW5JbmZvJik7CiAgICAgdm9pZCBzZXRDb2xsYXBz
ZWRCb3R0b21NYXJnaW4oY29uc3QgTWFyZ2luSW5mbyYpOwogCiAgICAgYm9vbCBjaGlsZHJlblBy
ZXZlbnRTZWxmQ29sbGFwc2luZygpIGNvbnN0IGZpbmFsOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>