<?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>297832</bug_id>
          
          <creation_ts>2025-08-23 18:13:58 -0700</creation_ts>
          <short_desc>[cleanup] De-virtualize RenderBlock&apos;s deleteLines() function</short_desc>
          <delta_ts>2025-08-25 05:31:15 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>2138496</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2025-08-23 18:13:58 -0700</bug_when>
    <thetext>ssia</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2138497</commentid>
    <comment_count>1</comment_count>
      <attachid>476500</attachid>
    <who name="alan">zalan</who>
    <bug_when>2025-08-23 18:20:30 -0700</bug_when>
    <thetext>Created attachment 476500
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2138502</commentid>
    <comment_count>2</comment_count>
      <attachid>476502</attachid>
    <who name="alan">zalan</who>
    <bug_when>2025-08-23 19:55:05 -0700</bug_when>
    <thetext>Created attachment 476502
[fast-cq]Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2138586</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2025-08-25 05:30:36 -0700</bug_when>
    <thetext>Committed 299109@main (4213214328bf): &lt;https://commits.webkit.org/299109@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 476502.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2138587</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2025-08-25 05:31:15 -0700</bug_when>
    <thetext>&lt;rdar://problem/159098215&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>476500</attachid>
            <date>2025-08-23 18:20:30 -0700</date>
            <delta_ts>2025-08-23 19:55:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-297832-20250823182029.patch</filename>
            <type>text/plain</type>
            <size>21307</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSBiMjNlYzAyNGUwNjFhNDE4MjAxNTVhZGUzMzJkNmQ3OWQ4OTMxYWJjIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJhcmFkbGF5IDx6YWxhbkBhcHBsZS5jb20+CkRhdGU6
IFNhdCwgMjMgQXVnIDIwMjUgMTg6MTQ6MjEgLTA3MDAKU3ViamVjdDogW1BBVENIXSBbY2xlYW51
cF0gRGUtdmlydHVhbGl6ZSBSZW5kZXJCbG9jaydzIGRlbGV0ZUxpbmVzKCkgZnVuY3Rpb24KIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yOTc4MzIKClJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgoKMS4gT25seSBSZW5kZXJCbG9ja0Zsb3cgaGFzIGlubGluZSBsaW5l
cy4KMi4gUmVuZGVyQmxvY2tGbG93J3MgZGVsZXRlTGluZXMoKSBpcyBlc3NlbnRpYWxseSBpbnZh
bGlkYXRpbmcgdGhlIGxpbmUgbGF5b3V0IHBhdGgKc28gaXQgY291bGQganVzdCBkaXZlcnRlZCB0
byBSZW5kZXJCbG9ja0Zsb3c6OmludmFsaWRhdGVMaW5lTGF5b3V0UGF0aAozLiBSZW5hbWUgUmVu
ZGVyQmxvY2tGbG93OjppbnZhbGlkYXRlTGluZUxheW91dFBhdGggdG8gaW52YWxpZGF0ZUxpbmVM
YXlvdXQKCiogU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL2lubGluZS9MYXlvdXRJ
bnRlZ3JhdGlvbkxpbmVMYXlvdXQuY3BwOgooV2ViQ29yZTo6TGF5b3V0SW50ZWdyYXRpb246OnNo
b3VsZEludmFsaWRhdGVMaW5lTGF5b3V0QWZ0ZXJDaGFuZ2VGb3IpOgooV2ViQ29yZTo6TGF5b3V0
SW50ZWdyYXRpb246OkxpbmVMYXlvdXQ6OnNob3VsZEludmFsaWRhdGVMaW5lTGF5b3V0QWZ0ZXJD
b250ZW50Q2hhbmdlKToKKFdlYkNvcmU6OkxheW91dEludGVncmF0aW9uOjpMaW5lTGF5b3V0Ojpz
aG91bGRJbnZhbGlkYXRlTGluZUxheW91dEFmdGVyVHJlZU11dGF0aW9uKToKKFdlYkNvcmU6Okxh
eW91dEludGVncmF0aW9uOjpzaG91bGRJbnZhbGlkYXRlTGluZUxheW91dFBhdGhBZnRlckNoYW5n
ZUZvcik6IERlbGV0ZWQuCihXZWJDb3JlOjpMYXlvdXRJbnRlZ3JhdGlvbjo6TGluZUxheW91dDo6
c2hvdWxkSW52YWxpZGF0ZUxpbmVMYXlvdXRQYXRoQWZ0ZXJDb250ZW50Q2hhbmdlKTogRGVsZXRl
ZC4KKFdlYkNvcmU6OkxheW91dEludGVncmF0aW9uOjpMaW5lTGF5b3V0OjpzaG91bGRJbnZhbGlk
YXRlTGluZUxheW91dFBhdGhBZnRlclRyZWVNdXRhdGlvbik6IERlbGV0ZWQuCiogU291cmNlL1dl
YkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL2lubGluZS9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVMYXlv
dXQuaDoKKiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwOgooV2ViQ29y
ZTo6UmVuZGVyQmxvY2s6OmRlbGV0ZUxpbmVzKTogRGVsZXRlZC4KKiBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQmxvY2suaDoKKiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
QmxvY2tGbG93LmNwcDoKKFdlYkNvcmU6OlJlbmRlckJsb2NrRmxvdzo6aW52YWxpZGF0ZUxpbmVM
YXlvdXQpOgooV2ViQ29yZTo6UmVuZGVyQmxvY2tGbG93OjpkZWxldGVMaW5lcyk6IERlbGV0ZWQu
CihXZWJDb3JlOjpSZW5kZXJCbG9ja0Zsb3c6OmludmFsaWRhdGVMaW5lTGF5b3V0UGF0aCk6IERl
bGV0ZWQuCiogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5oOgoqIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmNwcDoKKFdlYkNvcmU6OmludmFsaWRh
dGVMaW5lTGF5b3V0UGF0aE9uQ29udGVudENoYW5nZUlmTmVlZGVkKToKKiBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHA6CihXZWJDb3JlOjpSZW5kZXJWaWV3Ojp+UmVuZGVy
Vmlldyk6CiogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWls
ZGVyLmNwcDoKKFdlYkNvcmU6OmludmFsaWRhdGVMaW5lTGF5b3V0KToKKFdlYkNvcmU6OlJlbmRl
clRyZWVCdWlsZGVyOjptb3ZlKToKKFdlYkNvcmU6OlJlbmRlclRyZWVCdWlsZGVyOjpjcmVhdGVB
bm9ueW1vdXNXcmFwcGVyc0ZvcklubGluZUNvbnRlbnQpOgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlckJsb2NrLmNwcDoKKFdlYkNvcmU6OlJlbmRl
clRyZWVCdWlsZGVyOjpCbG9jazo6ZGV0YWNoKToKKFdlYkNvcmU6OlJlbmRlclRyZWVCdWlsZGVy
OjpCbG9jazo6ZHJvcEFub255bW91c0JveENoaWxkKToKKiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJJbmxpbmUuY3BwOgooV2ViQ29yZTo6UmVuZGVy
VHJlZUJ1aWxkZXI6OklubGluZTo6c3BsaXRGbG93KToKKiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJNdWx0aUNvbHVtbi5jcHA6CihXZWJDb3JlOjpS
ZW5kZXJUcmVlQnVpbGRlcjo6TXVsdGlDb2x1bW46OmNyZWF0ZUZyYWdtZW50ZWRGbG93KToKKFdl
YkNvcmU6OlJlbmRlclRyZWVCdWlsZGVyOjpNdWx0aUNvbHVtbjo6ZGVzdHJveUZyYWdtZW50ZWRG
bG93KToKKiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxk
ZXJUYWJsZS5jcHA6CihXZWJDb3JlOjpSZW5kZXJUcmVlQnVpbGRlcjo6VGFibGU6OmNvbGxhcHNl
QW5kRGVzdHJveUFub255bW91c1NpYmxpbmdDZWxscyk6Ci0tLQogLi4uL2lubGluZS9MYXlvdXRJ
bnRlZ3JhdGlvbkxpbmVMYXlvdXQuY3BwICAgICAgIHwgMTAgKysrKystLS0tLQogLi4uL2lubGlu
ZS9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVMYXlvdXQuaCAgICAgICAgIHwgIDQgKystLQogU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcCAgICAgICAgIHwgIDYgLS0tLS0tCiBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaCAgICAgICAgICAgfCAgMyAtLS0K
IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwICAgICB8IDE2ICsr
KysrKysrLS0tLS0tLS0KIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cu
aCAgICAgICB8ICA3ICsrKy0tLS0KIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0
LmNwcCAgICAgICAgICB8ICA2ICsrKy0tLQogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clZpZXcuY3BwICAgICAgICAgIHwgIDIgLS0KIC4uLi9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVy
VHJlZUJ1aWxkZXIuY3BwICAgICB8IDEzICsrKysrKystLS0tLS0KIC4uLi91cGRhdGluZy9SZW5k
ZXJUcmVlQnVpbGRlckJsb2NrLmNwcCAgICAgICAgICB8IDEwICsrKysrKy0tLS0KIC4uLi91cGRh
dGluZy9SZW5kZXJUcmVlQnVpbGRlcklubGluZS5jcHAgICAgICAgICB8ICAzICsrLQogLi4uL3Vw
ZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyTXVsdGlDb2x1bW4uY3BwICAgIHwgIDQgKystLQogLi4u
L3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyVGFibGUuY3BwICAgICAgICAgIHwgIDIgKy0KIDEz
IGZpbGVzIGNoYW5nZWQsIDM5IGluc2VydGlvbnMoKyksIDQ3IGRlbGV0aW9ucygtKQoKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9pbmxpbmUvTGF5b3V0SW50
ZWdyYXRpb25MaW5lTGF5b3V0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlv
bi9pbmxpbmUvTGF5b3V0SW50ZWdyYXRpb25MaW5lTGF5b3V0LmNwcAppbmRleCA5YmFhZWM0NTdk
MGMuLjViOWU3NTYzYWVjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVn
cmF0aW9uL2lubGluZS9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVMYXlvdXQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9pbmxpbmUvTGF5b3V0SW50ZWdyYXRpb25MaW5l
TGF5b3V0LmNwcApAQCAtNzAsNyArNzAsNyBAQCBlbnVtIGNsYXNzIFR5cGVPZkNoYW5nZUZvcklu
dmFsaWRhdGlvbiA6IHVpbnQ4X3QgewogICAgIE5vZGVSZW1vdmFsLAogICAgIE5vZGVNdXRhdGlv
bgogfTsKLXN0YXRpYyBib29sIHNob3VsZEludmFsaWRhdGVMaW5lTGF5b3V0UGF0aEFmdGVyQ2hh
bmdlRm9yKGNvbnN0IFJlbmRlckJsb2NrRmxvdyYgcm9vdEJsb2NrQ29udGFpbmVyLCBjb25zdCBS
ZW5kZXJPYmplY3QmIHJlbmRlcmVyLCBjb25zdCBMaW5lTGF5b3V0JiBsaW5lTGF5b3V0LCBUeXBl
T2ZDaGFuZ2VGb3JJbnZhbGlkYXRpb24gdHlwZU9mQ2hhbmdlKQorc3RhdGljIGJvb2wgc2hvdWxk
SW52YWxpZGF0ZUxpbmVMYXlvdXRBZnRlckNoYW5nZUZvcihjb25zdCBSZW5kZXJCbG9ja0Zsb3cm
IHJvb3RCbG9ja0NvbnRhaW5lciwgY29uc3QgUmVuZGVyT2JqZWN0JiByZW5kZXJlciwgY29uc3Qg
TGluZUxheW91dCYgbGluZUxheW91dCwgVHlwZU9mQ2hhbmdlRm9ySW52YWxpZGF0aW9uIHR5cGVP
ZkNoYW5nZSkKIHsKICAgICBhdXRvIGlzU3VwcG9ydGVkUmVuZGVyZXJXaXRoQ2hhbmdlID0gWyZd
KGF1dG8mIHJlbmRlcmVyKSB7CiAgICAgICAgIGlmIChpczxSZW5kZXJUZXh0PihyZW5kZXJlcikp
CkBAIC0zNDcsMTQgKzM0NywxNCBAQCBib29sIExpbmVMYXlvdXQ6OmNhblVzZUZvclByZWZlcnJl
ZFdpZHRoQ29tcHV0YXRpb24oY29uc3QgUmVuZGVyQmxvY2tGbG93JiBmbG93KQogICAgIHJldHVy
biBMYXlvdXRJbnRlZ3JhdGlvbjo6Y2FuVXNlRm9yUHJlZmVycmVkV2lkdGhDb21wdXRhdGlvbihm
bG93KTsKIH0KIAotYm9vbCBMaW5lTGF5b3V0OjpzaG91bGRJbnZhbGlkYXRlTGluZUxheW91dFBh
dGhBZnRlckNvbnRlbnRDaGFuZ2UoY29uc3QgUmVuZGVyQmxvY2tGbG93JiBwYXJlbnQsIGNvbnN0
IFJlbmRlck9iamVjdCYgcmVuZGVyZXJXaXRoTmV3Q29udGVudCwgY29uc3QgTGluZUxheW91dCYg
bGluZUxheW91dCkKK2Jvb2wgTGluZUxheW91dDo6c2hvdWxkSW52YWxpZGF0ZUxpbmVMYXlvdXRB
ZnRlckNvbnRlbnRDaGFuZ2UoY29uc3QgUmVuZGVyQmxvY2tGbG93JiBwYXJlbnQsIGNvbnN0IFJl
bmRlck9iamVjdCYgcmVuZGVyZXJXaXRoTmV3Q29udGVudCwgY29uc3QgTGluZUxheW91dCYgbGlu
ZUxheW91dCkKIHsKLSAgICByZXR1cm4gc2hvdWxkSW52YWxpZGF0ZUxpbmVMYXlvdXRQYXRoQWZ0
ZXJDaGFuZ2VGb3IocGFyZW50LCByZW5kZXJlcldpdGhOZXdDb250ZW50LCBsaW5lTGF5b3V0LCBU
eXBlT2ZDaGFuZ2VGb3JJbnZhbGlkYXRpb246Ok5vZGVNdXRhdGlvbik7CisgICAgcmV0dXJuIHNo
b3VsZEludmFsaWRhdGVMaW5lTGF5b3V0QWZ0ZXJDaGFuZ2VGb3IocGFyZW50LCByZW5kZXJlcldp
dGhOZXdDb250ZW50LCBsaW5lTGF5b3V0LCBUeXBlT2ZDaGFuZ2VGb3JJbnZhbGlkYXRpb246Ok5v
ZGVNdXRhdGlvbik7CiB9CiAKLWJvb2wgTGluZUxheW91dDo6c2hvdWxkSW52YWxpZGF0ZUxpbmVM
YXlvdXRQYXRoQWZ0ZXJUcmVlTXV0YXRpb24oY29uc3QgUmVuZGVyQmxvY2tGbG93JiBwYXJlbnQs
IGNvbnN0IFJlbmRlck9iamVjdCYgcmVuZGVyZXIsIGNvbnN0IExpbmVMYXlvdXQmIGxpbmVMYXlv
dXQsIGJvb2wgaXNSZW1vdmFsKQorYm9vbCBMaW5lTGF5b3V0OjpzaG91bGRJbnZhbGlkYXRlTGlu
ZUxheW91dEFmdGVyVHJlZU11dGF0aW9uKGNvbnN0IFJlbmRlckJsb2NrRmxvdyYgcGFyZW50LCBj
b25zdCBSZW5kZXJPYmplY3QmIHJlbmRlcmVyLCBjb25zdCBMaW5lTGF5b3V0JiBsaW5lTGF5b3V0
LCBib29sIGlzUmVtb3ZhbCkKIHsKLSAgICByZXR1cm4gc2hvdWxkSW52YWxpZGF0ZUxpbmVMYXlv
dXRQYXRoQWZ0ZXJDaGFuZ2VGb3IocGFyZW50LCByZW5kZXJlciwgbGluZUxheW91dCwgaXNSZW1v
dmFsID8gVHlwZU9mQ2hhbmdlRm9ySW52YWxpZGF0aW9uOjpOb2RlUmVtb3ZhbCA6IFR5cGVPZkNo
YW5nZUZvckludmFsaWRhdGlvbjo6Tm9kZUluc2VydGlvbik7CisgICAgcmV0dXJuIHNob3VsZElu
dmFsaWRhdGVMaW5lTGF5b3V0QWZ0ZXJDaGFuZ2VGb3IocGFyZW50LCByZW5kZXJlciwgbGluZUxh
eW91dCwgaXNSZW1vdmFsID8gVHlwZU9mQ2hhbmdlRm9ySW52YWxpZGF0aW9uOjpOb2RlUmVtb3Zh
bCA6IFR5cGVPZkNoYW5nZUZvckludmFsaWRhdGlvbjo6Tm9kZUluc2VydGlvbik7CiB9CiAKIHZv
aWQgTGluZUxheW91dDo6dXBkYXRlRm9ybWF0dGluZ0NvbnRleEdlb21ldHJpZXMoTGF5b3V0VW5p
dCBhdmFpbGFibGVMb2dpY2FsV2lkdGgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvaW50ZWdyYXRpb24vaW5saW5lL0xheW91dEludGVncmF0aW9uTGluZUxheW91dC5oIGIvU291
cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL2lubGluZS9MYXlvdXRJbnRlZ3JhdGlvbkxp
bmVMYXlvdXQuaAppbmRleCAzYjA2ZmRjNDJlYzAuLjAyNzA4MGE5YzQxYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL2lubGluZS9MYXlvdXRJbnRlZ3JhdGlv
bkxpbmVMYXlvdXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vaW5s
aW5lL0xheW91dEludGVncmF0aW9uTGluZUxheW91dC5oCkBAIC03NSw4ICs3NSw4IEBAIHB1Ymxp
YzoKIAogICAgIHN0YXRpYyBib29sIGNhblVzZUZvcihjb25zdCBSZW5kZXJCbG9ja0Zsb3cmKTsK
ICAgICBzdGF0aWMgYm9vbCBjYW5Vc2VGb3JQcmVmZXJyZWRXaWR0aENvbXB1dGF0aW9uKGNvbnN0
IFJlbmRlckJsb2NrRmxvdyYpOwotICAgIHN0YXRpYyBib29sIHNob3VsZEludmFsaWRhdGVMaW5l
TGF5b3V0UGF0aEFmdGVyQ29udGVudENoYW5nZShjb25zdCBSZW5kZXJCbG9ja0Zsb3cmIHBhcmVu
dCwgY29uc3QgUmVuZGVyT2JqZWN0JiByZW5kZXJlcldpdGhOZXdDb250ZW50LCBjb25zdCBMaW5l
TGF5b3V0Jik7Ci0gICAgc3RhdGljIGJvb2wgc2hvdWxkSW52YWxpZGF0ZUxpbmVMYXlvdXRQYXRo
QWZ0ZXJUcmVlTXV0YXRpb24oY29uc3QgUmVuZGVyQmxvY2tGbG93JiBwYXJlbnQsIGNvbnN0IFJl
bmRlck9iamVjdCYgcmVuZGVyZXIsIGNvbnN0IExpbmVMYXlvdXQmLCBib29sIGlzUmVtb3ZhbCk7
CisgICAgc3RhdGljIGJvb2wgc2hvdWxkSW52YWxpZGF0ZUxpbmVMYXlvdXRBZnRlckNvbnRlbnRD
aGFuZ2UoY29uc3QgUmVuZGVyQmxvY2tGbG93JiBwYXJlbnQsIGNvbnN0IFJlbmRlck9iamVjdCYg
cmVuZGVyZXJXaXRoTmV3Q29udGVudCwgY29uc3QgTGluZUxheW91dCYpOworICAgIHN0YXRpYyBi
b29sIHNob3VsZEludmFsaWRhdGVMaW5lTGF5b3V0QWZ0ZXJUcmVlTXV0YXRpb24oY29uc3QgUmVu
ZGVyQmxvY2tGbG93JiBwYXJlbnQsIGNvbnN0IFJlbmRlck9iamVjdCYgcmVuZGVyZXIsIGNvbnN0
IExpbmVMYXlvdXQmLCBib29sIGlzUmVtb3ZhbCk7CiAKICAgICB2b2lkIHVwZGF0ZUZvcm1hdHRp
bmdDb250ZXhHZW9tZXRyaWVzKExheW91dFVuaXQgYXZhaWxhYmxlTG9naWNhbFdpZHRoKTsKICAg
ICB2b2lkIHVwZGF0ZU92ZXJmbG93KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQmxvY2suY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJs
b2NrLmNwcAppbmRleCA4YzdkNTc5ZWNiYjEuLjE3YzE1MDA0ZTdmMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCkBAIC0zOTMsMTIgKzM5Myw2IEBAIHZvaWQgUmVu
ZGVyQmxvY2s6OnN0eWxlRGlkQ2hhbmdlKFN0eWxlRGlmZmVyZW5jZSBkaWZmLCBjb25zdCBSZW5k
ZXJTdHlsZSogb2xkU3R5CiAgICAgc2V0U2hvdWxkRm9yY2VSZWxheW91dENoaWxkcmVuKHNob3Vs
ZEZvcmNlUmVsYXlvdXRDaGlsZHJlbik7CiB9CiAKLXZvaWQgUmVuZGVyQmxvY2s6OmRlbGV0ZUxp
bmVzKCkKLXsKLSAgICBpZiAoQVhPYmplY3RDYWNoZSogY2FjaGUgPSBwcm90ZWN0ZWREb2N1bWVu
dCgpLT5leGlzdGluZ0FYT2JqZWN0Q2FjaGUoKSkKLSAgICAgICAgY2FjaGUtPmRlZmVyUmVjb21w
dXRlSXNJZ25vcmVkKHByb3RlY3RlZEVsZW1lbnQoKS5nZXQoKSk7Ci19Ci0KIGJvb2wgUmVuZGVy
QmxvY2s6OmNoaWxkcmVuUHJldmVudFNlbGZDb2xsYXBzaW5nKCkgY29uc3QKIHsKICAgICAvLyBX
aGV0aGVyIG9yIG5vdCB3ZSBjb2xsYXBzZSBpcyBkZXBlbmRlbnQgb24gd2hldGhlciBhbGwgb3Vy
IG5vcm1hbCBmbG93IGNoaWxkcmVuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQmxvY2suaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5o
CmluZGV4IDI1MTRlMmU0NTE1ZS4uOTMyYTU4MGQ3ZjJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQmxvY2suaApAQCAtNjUsOSArNjUsNiBAQCBwcm90ZWN0ZWQ6CiAgICAgUmVuZGVy
QmxvY2soVHlwZSwgRG9jdW1lbnQmLCBSZW5kZXJTdHlsZSYmLCBPcHRpb25TZXQ8VHlwZUZsYWc+
LCBUeXBlU3BlY2lmaWNGbGFncyA9IHsgfSk7CiAKIHB1YmxpYzoKLSAgICAvLyBGSVhNRS1CTE9D
S0ZMT1c6IFJlbW92ZSB2aXJ0dWFsaXphaW9uIHdoZW4gYWxsIGNhbGxlcnMgaGF2ZSBtb3ZlZCB0
byBSZW5kZXJCbG9ja0Zsb3cKLSAgICB2aXJ0dWFsIHZvaWQgZGVsZXRlTGluZXMoKTsKLQogICAg
IHZpcnR1YWwgdm9pZCBsYXlvdXRCbG9jayhSZWxheW91dENoaWxkcmVuLCBMYXlvdXRVbml0IHBh
Z2VMb2dpY2FsSGVpZ2h0ID0gMF9sdSk7CiAKICAgICB2b2lkIGFkZE91dE9mRmxvd0JveChSZW5k
ZXJCb3gmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9j
a0Zsb3cuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHAK
aW5kZXggNzBkYWU2ZTI5NzM1Li4zNjk5MGNhMjE4NDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwCkBAIC0yNDQ1LDEzICsyNDQ1LDYgQEAgdm9pZCBS
ZW5kZXJCbG9ja0Zsb3c6OnN0eWxlV2lsbENoYW5nZShTdHlsZURpZmZlcmVuY2UgZGlmZiwgY29u
c3QgUmVuZGVyU3R5bGUmIG4KICAgICBSZW5kZXJCbG9jazo6c3R5bGVXaWxsQ2hhbmdlKGRpZmYs
IG5ld1N0eWxlKTsKIH0KIAotdm9pZCBSZW5kZXJCbG9ja0Zsb3c6OmRlbGV0ZUxpbmVzKCkKLXsK
LSAgICBtX2xpbmVMYXlvdXQgPSBzdGQ6Om1vbm9zdGF0ZSgpOwotCi0gICAgUmVuZGVyQmxvY2s6
OmRlbGV0ZUxpbmVzKCk7Ci19Ci0KIHZvaWQgUmVuZGVyQmxvY2tGbG93OjphZGRGbG9hdHNUb05l
d1BhcmVudChSZW5kZXJCbG9ja0Zsb3cmIHRvQmxvY2tGbG93KSBjb25zdAogewogICAgIC8vIFdo
ZW4gYSBwb3J0aW9uIG9mIHRoZSByZW5kZXIgdHJlZSBpcyBiZWluZyBkZXRhY2hlZCwgYW5vbnlt
b3VzIGJsb2NrcwpAQCAtMzgwNCw4ICszNzk3LDE1IEBAIGJvb2wgUmVuZGVyQmxvY2tGbG93Ojpo
YXNMaW5lcygpIGNvbnN0CiAgICAgcmV0dXJuIGNoaWxkcmVuSW5saW5lKCkgPyBsaW5lQ291bnQo
KSA6IGZhbHNlOwogfQogCi12b2lkIFJlbmRlckJsb2NrRmxvdzo6aW52YWxpZGF0ZUxpbmVMYXlv
dXRQYXRoKEludmFsaWRhdGlvblJlYXNvbiBpbnZhbGlkYXRpb25SZWFzb24pCit2b2lkIFJlbmRl
ckJsb2NrRmxvdzo6aW52YWxpZGF0ZUxpbmVMYXlvdXQoSW52YWxpZGF0aW9uUmVhc29uIGludmFs
aWRhdGlvblJlYXNvbikKIHsKKyAgICBpZiAoaW52YWxpZGF0aW9uUmVhc29uID09IEludmFsaWRh
dGlvblJlYXNvbjo6SW50ZXJuYWxNb3ZlKSB7CisgICAgICAgIG1fbGluZUxheW91dCA9IHN0ZDo6
bW9ub3N0YXRlKCk7CisgICAgICAgIGlmIChBWE9iamVjdENhY2hlKiBjYWNoZSA9IHByb3RlY3Rl
ZERvY3VtZW50KCktPmV4aXN0aW5nQVhPYmplY3RDYWNoZSgpKQorICAgICAgICAgICAgY2FjaGUt
PmRlZmVyUmVjb21wdXRlSXNJZ25vcmVkKHByb3RlY3RlZEVsZW1lbnQoKS5nZXQoKSk7CisgICAg
ICAgIHJldHVybjsKKyAgICB9CisKICAgICBzd2l0Y2ggKGxpbmVMYXlvdXRQYXRoKCkpIHsKICAg
ICBjYXNlIFVuZGV0ZXJtaW5lZFBhdGg6CiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuaCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuaAppbmRleCA3NWM0OTE2NGM2MmEuLjFjODNlNTk0
YWU4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxv
dy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuaApAQCAt
MjgyLDcgKzI4Miw2IEBAIHB1YmxpYzoKICAgICBib29sIHN1YnRyZWVDb250YWluc0Zsb2F0cygp
IGNvbnN0OwogICAgIGJvb2wgc3VidHJlZUNvbnRhaW5zRmxvYXQoY29uc3QgUmVuZGVyQm94Jikg
Y29uc3Q7CiAKLSAgICB2b2lkIGRlbGV0ZUxpbmVzKCkgb3ZlcnJpZGU7CiAgICAgdm9pZCBjb21w
dXRlT3ZlcmZsb3coTGF5b3V0VW5pdCBvbGRDbGllbnRBZnRlckVkZ2UsIGJvb2wgcmVjb21wdXRl
RmxvYXRzID0gZmFsc2UpIG92ZXJyaWRlOwogICAgIFBvc2l0aW9uIHBvc2l0aW9uRm9yUG9pbnQo
Y29uc3QgTGF5b3V0UG9pbnQmLCBIaXRUZXN0U291cmNlKSBvdmVycmlkZTsKICAgICBQb3NpdGlv
bldpdGhBZmZpbml0eSBwb3NpdGlvbkZvclBvaW50KGNvbnN0IExheW91dFBvaW50JiwgSGl0VGVz
dFNvdXJjZSwgY29uc3QgUmVuZGVyRnJhZ21lbnRDb250YWluZXIqKSBvdmVycmlkZTsKQEAgLTM0
OSwxMSArMzQ4LDExIEBAIHB1YmxpYzoKICAgICBib29sIGhhc0xpbmVzKCkgY29uc3Q7CiAKICAg
ICBlbnVtIEludmFsaWRhdGlvblJlYXNvbiA6IHVpbnQ4X3QgewotICAgICAgICBTdHlsZUNoYW5n
ZSwKLSAgICAgICAgSW5zZXJ0aW9uT3JSZW1vdmFsLCAvLyByZW5kZXJlciBnZXRzIGNvbnN0cnVj
dGVkL2dvZXMgYXdheQorICAgICAgICBJbnRlcm5hbE1vdmUsICAgICAgIC8vIChhbm9uKSBibG9j
ayBpcyBtb3ZlZCBvciBjb2xsYXBzZWQKKyAgICAgICAgSW5zZXJ0aW9uT3JSZW1vdmFsLCAvLyBj
aGlsZCByZW5kZXJlciBnZXRzIGNvbnN0cnVjdGVkL2dvZXMgYXdheQogICAgICAgICBDb250ZW50
Q2hhbmdlICAgICAgIC8vIGV4aXN0aW5nIHJlbmRlcmVyIGdldHMgY2hhbmdlZCAodGV4dCBjb250
ZW50IG9ubHkgYXRtKQogICAgIH07Ci0gICAgdm9pZCBpbnZhbGlkYXRlTGluZUxheW91dFBhdGgo
SW52YWxpZGF0aW9uUmVhc29uKTsKKyAgICB2b2lkIGludmFsaWRhdGVMaW5lTGF5b3V0KEludmFs
aWRhdGlvblJlYXNvbik7CiAgICAgdm9pZCBjb21wdXRlQW5kU2V0TGluZUxheW91dFBhdGgoKTsK
IAogICAgIGVudW0gTGluZUxheW91dFBhdGggeyBVbmRldGVybWluZWRQYXRoID0gMCwgSW5saW5l
UGF0aCwgU3ZnVGV4dFBhdGggfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmNw
cAppbmRleCBlMWFkM2M1MWU2ZWUuLmQzOGZiZDkxODBhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUZXh0LmNwcApAQCAtMTgwMCwxMiArMTgwMCwxMiBAQCBzdGF0aWMgdm9pZCBp
bnZhbGlkYXRlTGluZUxheW91dFBhdGhPbkNvbnRlbnRDaGFuZ2VJZk5lZWRlZChSZW5kZXJUZXh0
JiByZW5kZXJlcgogICAgIGlmICghaW5saW5lTGF5b3V0KQogICAgICAgICByZXR1cm47CiAKLSAg
ICBpZiAoTGF5b3V0SW50ZWdyYXRpb246OkxpbmVMYXlvdXQ6OnNob3VsZEludmFsaWRhdGVMaW5l
TGF5b3V0UGF0aEFmdGVyQ29udGVudENoYW5nZSgqY29udGFpbmVyLCByZW5kZXJlciwgKmlubGlu
ZUxheW91dCkpIHsKLSAgICAgICAgY29udGFpbmVyLT5pbnZhbGlkYXRlTGluZUxheW91dFBhdGgo
UmVuZGVyQmxvY2tGbG93OjpJbnZhbGlkYXRpb25SZWFzb246OkNvbnRlbnRDaGFuZ2UpOworICAg
IGlmIChMYXlvdXRJbnRlZ3JhdGlvbjo6TGluZUxheW91dDo6c2hvdWxkSW52YWxpZGF0ZUxpbmVM
YXlvdXRBZnRlckNvbnRlbnRDaGFuZ2UoKmNvbnRhaW5lciwgcmVuZGVyZXIsICppbmxpbmVMYXlv
dXQpKSB7CisgICAgICAgIGNvbnRhaW5lci0+aW52YWxpZGF0ZUxpbmVMYXlvdXQoUmVuZGVyQmxv
Y2tGbG93OjpJbnZhbGlkYXRpb25SZWFzb246OkNvbnRlbnRDaGFuZ2UpOwogICAgICAgICByZXR1
cm47CiAgICAgfQogICAgIGlmICghaW5saW5lTGF5b3V0LT51cGRhdGVUZXh0Q29udGVudChyZW5k
ZXJlciwgb2Zmc2V0LCBvbGRMZW5ndGgpKQotICAgICAgICBjb250YWluZXItPmludmFsaWRhdGVM
aW5lTGF5b3V0UGF0aChSZW5kZXJCbG9ja0Zsb3c6OkludmFsaWRhdGlvblJlYXNvbjo6Q29udGVu
dENoYW5nZSk7CisgICAgICAgIGNvbnRhaW5lci0+aW52YWxpZGF0ZUxpbmVMYXlvdXQoUmVuZGVy
QmxvY2tGbG93OjpJbnZhbGlkYXRpb25SZWFzb246OkNvbnRlbnRDaGFuZ2UpOwogfQogCiB2b2lk
IFJlbmRlclRleHQ6OnNldFRleHRJbnRlcm5hbChjb25zdCBTdHJpbmcmIHRleHQsIGJvb2wgZm9y
Y2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAKaW5kZXggMjFkOGZhYzFl
MGU1Li44NmVjMzA2YWI3ZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5j
cHAKQEAgLTEwNSw4ICsxMDUsNiBAQCBSZW5kZXJWaWV3OjpSZW5kZXJWaWV3KERvY3VtZW50JiBk
b2N1bWVudCwgUmVuZGVyU3R5bGUmJiBzdHlsZSkKIFJlbmRlclZpZXc6On5SZW5kZXJWaWV3KCkK
IHsKICAgICBBU1NFUlRfV0lUSF9NRVNTQUdFKCFtX3JlbmRlcmVyQ291bnQsICJBbGwgcmVuZGVy
ZXJzIHNob3VsZCBiZSBpbiB0aGUgcHJvY2VzcyBvZiBiZWluZyBkZWxldGVkLiIpOwotCi0gICAg
ZGVsZXRlTGluZXMoKTsKIH0KIAogdm9pZCBSZW5kZXJWaWV3OjpzdHlsZURpZENoYW5nZShTdHls
ZURpZmZlcmVuY2UgZGlmZiwgY29uc3QgUmVuZGVyU3R5bGUqIG9sZFN0eWxlKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlci5j
cHAKaW5kZXggYzUxNWUyNWE0YWE3Li5kZmZkMzgwZTc3MmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyLmNwcApAQCAt
MTAxLDE1ICsxMDEsMTUgQEAgc3RhdGljIHZvaWQgaW52YWxpZGF0ZUxpbmVMYXlvdXQoUmVuZGVy
T2JqZWN0JiByZW5kZXJlciwgSXNSZW1vdmFsIGlzUmVtb3ZhbCkKICAgICAgICAgcmV0dXJuOwog
ICAgIH0KIAotICAgIGF1dG8gc2hvdWxkSW52YWxpZGF0ZUxpbmVMYXlvdXRQYXRoID0gWyZdKGF1
dG8mIGlubGluZUxheW91dCkgewotICAgICAgICBpZiAoTGF5b3V0SW50ZWdyYXRpb246OkxpbmVM
YXlvdXQ6OnNob3VsZEludmFsaWRhdGVMaW5lTGF5b3V0UGF0aEFmdGVyVHJlZU11dGF0aW9uKCpj
b250YWluZXIsIHJlbmRlcmVyLCBpbmxpbmVMYXlvdXQsIGlzUmVtb3ZhbCA9PSBJc1JlbW92YWw6
OlllcykpCisgICAgYXV0byBzaG91bGRJbnZhbGlkYXRlTGluZUxheW91dCA9IFsmXShhdXRvJiBp
bmxpbmVMYXlvdXQpIHsKKyAgICAgICAgaWYgKExheW91dEludGVncmF0aW9uOjpMaW5lTGF5b3V0
OjpzaG91bGRJbnZhbGlkYXRlTGluZUxheW91dEFmdGVyVHJlZU11dGF0aW9uKCpjb250YWluZXIs
IHJlbmRlcmVyLCBpbmxpbmVMYXlvdXQsIGlzUmVtb3ZhbCA9PSBJc1JlbW92YWw6OlllcykpCiAg
ICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgaWYgKGlzUmVtb3ZhbCA9PSBJc1JlbW92
YWw6OlllcykKICAgICAgICAgICAgIHJldHVybiAhaW5saW5lTGF5b3V0LnJlbW92ZWRGcm9tVHJl
ZSgqcmVuZGVyZXIucGFyZW50KCksIHJlbmRlcmVyKTsKICAgICAgICAgcmV0dXJuICFpbmxpbmVM
YXlvdXQuaW5zZXJ0ZWRJbnRvVHJlZSgqcmVuZGVyZXIucGFyZW50KCksIHJlbmRlcmVyKTsKICAg
ICB9OwotICAgIGlmIChhdXRvKiBpbmxpbmVMYXlvdXQgPSBjb250YWluZXItPmlubGluZUxheW91
dCgpOyBpbmxpbmVMYXlvdXQgJiYgc2hvdWxkSW52YWxpZGF0ZUxpbmVMYXlvdXRQYXRoKCppbmxp
bmVMYXlvdXQpKQotICAgICAgICBjb250YWluZXItPmludmFsaWRhdGVMaW5lTGF5b3V0UGF0aChS
ZW5kZXJCbG9ja0Zsb3c6OkludmFsaWRhdGlvblJlYXNvbjo6SW5zZXJ0aW9uT3JSZW1vdmFsKTsK
KyAgICBpZiAoYXV0byogaW5saW5lTGF5b3V0ID0gY29udGFpbmVyLT5pbmxpbmVMYXlvdXQoKTsg
aW5saW5lTGF5b3V0ICYmIHNob3VsZEludmFsaWRhdGVMaW5lTGF5b3V0KCppbmxpbmVMYXlvdXQp
KQorICAgICAgICBjb250YWluZXItPmludmFsaWRhdGVMaW5lTGF5b3V0KFJlbmRlckJsb2NrRmxv
dzo6SW52YWxpZGF0aW9uUmVhc29uOjpJbnNlcnRpb25PclJlbW92YWwpOwogfQogCiBzdGF0aWMg
dm9pZCBnZXRJbmxpbmVSdW4oUmVuZGVyT2JqZWN0KiBzdGFydCwgUmVuZGVyT2JqZWN0KiBib3Vu
ZGFyeSwgUmVuZGVyT2JqZWN0KiYgaW5saW5lUnVuU3RhcnQsIFJlbmRlck9iamVjdComIGlubGlu
ZVJ1bkVuZCkKQEAgLTU2Myw3ICs1NjMsNyBAQCB2b2lkIFJlbmRlclRyZWVCdWlsZGVyOjptb3Zl
KFJlbmRlckJveE1vZGVsT2JqZWN0JiBmcm9tLCBSZW5kZXJCb3hNb2RlbE9iamVjdCYgdAogICAg
ICAgICBmb3IgKENoZWNrZWRQdHIgY29udGFpbmluZ0Jsb2NrID0gJmZyb207IGNvbnRhaW5pbmdC
bG9jazsgY29udGFpbmluZ0Jsb2NrID0gY29udGFpbmluZ0Jsb2NrLT5jb250YWluaW5nQmxvY2so
KSkgewogICAgICAgICAgICAgY29udGFpbmluZ0Jsb2NrLT5zZXROZWVkc0xheW91dCgpOwogICAg
ICAgICAgICAgaWYgKGF1dG8qIGJsb2NrRmxvdyA9IGR5bmFtaWNEb3duY2FzdDxSZW5kZXJCbG9j
a0Zsb3c+KCpjb250YWluaW5nQmxvY2spKSB7Ci0gICAgICAgICAgICAgICAgYmxvY2tGbG93LT5k
ZWxldGVMaW5lcygpOworICAgICAgICAgICAgICAgIGJsb2NrRmxvdy0+aW52YWxpZGF0ZUxpbmVM
YXlvdXQoUmVuZGVyQmxvY2tGbG93OjpJbnZhbGlkYXRpb25SZWFzb246OkludGVybmFsTW92ZSk7
CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KQEAgLTc1
OCw3ICs3NTgsOCBAQCB2b2lkIFJlbmRlclRyZWVCdWlsZGVyOjpjcmVhdGVBbm9ueW1vdXNXcmFw
cGVyc0ZvcklubGluZUNvbnRlbnQoUmVuZGVyQmxvY2smIHBhcgogICAgIGlmICghY2hpbGQpCiAg
ICAgICAgIHJldHVybjsKIAotICAgIHBhcmVudC5kZWxldGVMaW5lcygpOworICAgIGlmIChDaGVj
a2VkUHRyIGJsb2NrRmxvdyA9IGR5bmFtaWNEb3duY2FzdDxSZW5kZXJCbG9ja0Zsb3c+KHBhcmVu
dCkpCisgICAgICAgIGJsb2NrRmxvdy0+aW52YWxpZGF0ZUxpbmVMYXlvdXQoUmVuZGVyQmxvY2tG
bG93OjpJbnZhbGlkYXRpb25SZWFzb246OkludGVybmFsTW92ZSk7CiAKICAgICB3aGlsZSAoY2hp
bGQpIHsKICAgICAgICAgUmVuZGVyT2JqZWN0KiBpbmxpbmVSdW5TdGFydCA9IG51bGxwdHI7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1
aWxkZXJCbG9jay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVy
VHJlZUJ1aWxkZXJCbG9jay5jcHAKaW5kZXggY2JkNjM1M2Y2NzBhLi5kNDNhMjhiYzkyYWUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVp
bGRlckJsb2NrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVu
ZGVyVHJlZUJ1aWxkZXJCbG9jay5jcHAKQEAgLTM2Myw3ICszNjMsOCBAQCBSZW5kZXJQdHI8UmVu
ZGVyT2JqZWN0PiBSZW5kZXJUcmVlQnVpbGRlcjo6QmxvY2s6OmRldGFjaChSZW5kZXJCbG9jayYg
cGFyZW50LCBSZQogICAgICAgICAgICAgbV9idWlsZGVyLm1vdmVBbGxDaGlsZHJlbkluY2x1ZGlu
Z0Zsb2F0cyhuZXh0QmxvY2ssIHByZXZpb3VzQmxvY2ssIFJlbmRlclRyZWVCdWlsZGVyOjpOb3Jt
YWxpemVBZnRlckluc2VydGlvbjo6Tm8pOwogCiAgICAgICAgICAgICAvLyBEZWxldGUgdGhlIG5v
dy1lbXB0eSBibG9jaydzIGxpbmVzIGFuZCBudWtlIGl0LgotICAgICAgICAgICAgbmV4dEJsb2Nr
LmRlbGV0ZUxpbmVzKCk7CisgICAgICAgICAgICBpZiAoQ2hlY2tlZFB0ciBibG9ja0Zsb3cgPSBk
eW5hbWljRG93bmNhc3Q8UmVuZGVyQmxvY2tGbG93PihuZXh0QmxvY2spKQorICAgICAgICAgICAg
ICAgIGJsb2NrRmxvdy0+aW52YWxpZGF0ZUxpbmVMYXlvdXQoUmVuZGVyQmxvY2tGbG93OjpJbnZh
bGlkYXRpb25SZWFzb246OkludGVybmFsTW92ZSk7CiAgICAgICAgICAgICBtX2J1aWxkZXIuZGVz
dHJveShuZXh0QmxvY2spOwogICAgICAgICAgICAgbmV4dFNpYmxpbmcgPSB7IH07CiAgICAgICAg
IH0KQEAgLTQwMyw4ICs0MDQsOCBAQCBSZW5kZXJQdHI8UmVuZGVyT2JqZWN0PiBSZW5kZXJUcmVl
QnVpbGRlcjo6QmxvY2s6OmRldGFjaChSZW5kZXJCbG9jayYgcGFyZW50LCBSZQogCiAgICAgaWYg
KCFwYXJlbnQuZmlyc3RDaGlsZCgpKSB7CiAgICAgICAgIC8vIElmIHRoaXMgd2FzIG91ciBsYXN0
IGNoaWxkIGJlIHN1cmUgdG8gY2xlYXIgb3V0IG91ciBsaW5lIGJveGVzLgotICAgICAgICBpZiAo
cGFyZW50LmNoaWxkcmVuSW5saW5lKCkpCi0gICAgICAgICAgICBwYXJlbnQuZGVsZXRlTGluZXMo
KTsKKyAgICAgICAgaWYgKENoZWNrZWRQdHIgYmxvY2tGbG93ID0gZHluYW1pY0Rvd25jYXN0PFJl
bmRlckJsb2NrRmxvdz4ocGFyZW50KTsgYmxvY2tGbG93ICYmIGJsb2NrRmxvdy0+Y2hpbGRyZW5J
bmxpbmUoKSkKKyAgICAgICAgICAgIGJsb2NrRmxvdy0+aW52YWxpZGF0ZUxpbmVMYXlvdXQoUmVu
ZGVyQmxvY2tGbG93OjpJbnZhbGlkYXRpb25SZWFzb246OkludGVybmFsTW92ZSk7CiAgICAgfQog
ICAgIHJldHVybiB0YWtlbkNoaWxkOwogfQpAQCAtNDE5LDcgKzQyMCw4IEBAIHZvaWQgUmVuZGVy
VHJlZUJ1aWxkZXI6OkJsb2NrOjpkcm9wQW5vbnltb3VzQm94Q2hpbGQoUmVuZGVyQmxvY2smIHBh
cmVudCwgUmVuZGVyCiAgICAgYXV0byB0b0JlRGVsZXRlZCA9IG1fYnVpbGRlci5kZXRhY2hGcm9t
UmVuZGVyRWxlbWVudChwYXJlbnQsIGNoaWxkLCBXaWxsQmVEZXN0cm95ZWQ6Olllcyk7CiAKICAg
ICAvLyBEZWxldGUgdGhlIG5vdy1lbXB0eSBibG9jaydzIGxpbmVzIGFuZCBudWtlIGl0LgotICAg
IGNoaWxkLmRlbGV0ZUxpbmVzKCk7CisgICAgaWYgKENoZWNrZWRQdHIgYmxvY2tGbG93ID0gZHlu
YW1pY0Rvd25jYXN0PFJlbmRlckJsb2NrRmxvdz4ocGFyZW50KSkKKyAgICAgICAgYmxvY2tGbG93
LT5pbnZhbGlkYXRlTGluZUxheW91dChSZW5kZXJCbG9ja0Zsb3c6OkludmFsaWRhdGlvblJlYXNv
bjo6SW50ZXJuYWxNb3ZlKTsKIH0KIAogUmVuZGVyUHRyPFJlbmRlck9iamVjdD4gUmVuZGVyVHJl
ZUJ1aWxkZXI6OkJsb2NrOjpkZXRhY2goUmVuZGVyQmxvY2tGbG93JiBwYXJlbnQsIFJlbmRlck9i
amVjdCYgY2hpbGQsIFJlbmRlclRyZWVCdWlsZGVyOjpXaWxsQmVEZXN0cm95ZWQgd2lsbEJlRGVz
dHJveWVkLCBDYW5Db2xsYXBzZUFub255bW91c0Jsb2NrIGNhbkNvbGxhcHNlQW5vbnltb3VzQmxv
Y2spCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVy
VHJlZUJ1aWxkZXJJbmxpbmUuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5n
L1JlbmRlclRyZWVCdWlsZGVySW5saW5lLmNwcAppbmRleCBiMTY0NjgyMGE2M2YuLjZhODc5ZWJm
OTUzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRl
clRyZWVCdWlsZGVySW5saW5lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBk
YXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJJbmxpbmUuY3BwCkBAIC0yMjMsNyArMjIzLDggQEAgdm9p
ZCBSZW5kZXJUcmVlQnVpbGRlcjo6SW5saW5lOjpzcGxpdEZsb3coUmVuZGVySW5saW5lJiBwYXJl
bnQsIFJlbmRlck9iamVjdCogYmUKICAgICBSZW5kZXJCbG9jayogYmxvY2sgPSBwYXJlbnQuY29u
dGFpbmluZ0Jsb2NrKCk7CiAKICAgICAvLyBEZWxldGUgb3VyIGxpbmUgYm94ZXMgYmVmb3JlIHdl
IGRvIHRoZSBpbmxpbmUgc3BsaXQgaW50byBjb250aW51YXRpb25zLgotICAgIGJsb2NrLT5kZWxl
dGVMaW5lcygpOworICAgIGlmIChDaGVja2VkUHRyIGJsb2NrRmxvdyA9IGR5bmFtaWNEb3duY2Fz
dDxSZW5kZXJCbG9ja0Zsb3c+KGJsb2NrKSkKKyAgICAgICAgYmxvY2tGbG93LT5pbnZhbGlkYXRl
TGluZUxheW91dChSZW5kZXJCbG9ja0Zsb3c6OkludmFsaWRhdGlvblJlYXNvbjo6SW50ZXJuYWxN
b3ZlKTsKIAogICAgIFJlbmRlclB0cjxSZW5kZXJCbG9jaz4gY3JlYXRlZFByZTsKICAgICBib29s
IG1hZGVOZXdCZWZvcmVCbG9jayA9IGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyTXVsdGlDb2x1bW4uY3BwIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyTXVsdGlDb2x1
bW4uY3BwCmluZGV4IGEzZTM2MGQ3N2FlYi4uZGVmM2RlZGJhZDA3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJNdWx0aUNvbHVt
bi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVC
dWlsZGVyTXVsdGlDb2x1bW4uY3BwCkBAIC0yOTIsNyArMjkyLDcgQEAgUmVuZGVyT2JqZWN0KiBS
ZW5kZXJUcmVlQnVpbGRlcjo6TXVsdGlDb2x1bW46OmFkanVzdEJlZm9yZUNoaWxkRm9yTXVsdGlD
b2x1bW5TcGEKIHZvaWQgUmVuZGVyVHJlZUJ1aWxkZXI6Ok11bHRpQ29sdW1uOjpjcmVhdGVGcmFn
bWVudGVkRmxvdyhSZW5kZXJCbG9ja0Zsb3cmIGZsb3cpCiB7CiAgICAgZmxvdy5zZXRDaGlsZHJl
bklubGluZShmYWxzZSk7IC8vIERvIHRoaXMgdG8gYXZvaWQgd3JhcHBpbmcgaW5saW5lIGNoaWxk
cmVuIHRoYXQgYXJlIGp1c3QgZ29pbmcgdG8gbW92ZSBpbnRvIHRoZSBmbG93IHRocmVhZC4KLSAg
ICBmbG93LmRlbGV0ZUxpbmVzKCk7CisgICAgZmxvdy5pbnZhbGlkYXRlTGluZUxheW91dChSZW5k
ZXJCbG9ja0Zsb3c6OkludmFsaWRhdGlvblJlYXNvbjo6SW50ZXJuYWxNb3ZlKTsKICAgICAvLyBJ
ZiB0aGlzIHNvb24tdG8tYmUgbXVsdGljb2x1bW4gZmxvdyBpcyBhbHJlYWR5IHBhcnQgb2YgYSBt
dWx0aWNvbHVtbiBjb250ZXh0LCB3ZSBuZWVkIHRvIG1vdmUgYmFjayB0aGUgZGVzY2VuZGFudCBz
cGFubmVycwogICAgIC8vIHRvIHRoZWlyIG9yaWdpbmFsIHBvc2l0aW9uIGJlZm9yZSBtb3Zpbmcg
c3VidHJlZXMgYXJvdW5kLgogICAgIGlmIChhdXRvKiBlbmNsb3NpbmdmbG93ID0gZHluYW1pY0Rv
d25jYXN0PFJlbmRlck11bHRpQ29sdW1uRmxvdz4oZmxvdy5lbmNsb3NpbmdGcmFnbWVudGVkRmxv
dygpKSkKQEAgLTMxOSw3ICszMTksNyBAQCB2b2lkIFJlbmRlclRyZWVCdWlsZGVyOjpNdWx0aUNv
bHVtbjo6Y3JlYXRlRnJhZ21lbnRlZEZsb3coUmVuZGVyQmxvY2tGbG93JiBmbG93KQogdm9pZCBS
ZW5kZXJUcmVlQnVpbGRlcjo6TXVsdGlDb2x1bW46OmRlc3Ryb3lGcmFnbWVudGVkRmxvdyhSZW5k
ZXJCbG9ja0Zsb3cmIGZsb3cpCiB7CiAgICAgYXV0byYgbXVsdGlDb2x1bW5GbG93ID0gKmZsb3cu
bXVsdGlDb2x1bW5GbG93KCk7Ci0gICAgbXVsdGlDb2x1bW5GbG93LmRlbGV0ZUxpbmVzKCk7Cisg
ICAgbXVsdGlDb2x1bW5GbG93LmludmFsaWRhdGVMaW5lTGF5b3V0KFJlbmRlckJsb2NrRmxvdzo6
SW52YWxpZGF0aW9uUmVhc29uOjpJbnRlcm5hbE1vdmUpOwogCiAgICAgLy8gTW92ZSBzcGFubmVy
cyBiYWNrIHRvIHRoZWlyIG9yaWdpbmFsIERPTSBwb3NpdGlvbiBpbiB0aGUgdHJlZSwgYW5kIGRl
c3Ryb3kgdGhlIHBsYWNlaG9sZGVycy4KICAgICBhdXRvJiBzcGFubmVycyA9IG11bHRpQ29sdW1u
Rmxvdy5zcGFubmVyTWFwKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
dXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJUYWJsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJUYWJsZS5jcHAKaW5kZXggMzA0MmI4MWMw
NjhiLi5iODZlMzhiYzYxMWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91
cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlclRhYmxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJUYWJsZS5jcHAKQEAgLTI3NSw3ICsy
NzUsNyBAQCBSZW5kZXJQdHI8UmVuZGVyT2JqZWN0PiBSZW5kZXJUcmVlQnVpbGRlcjo6VGFibGU6
OmNvbGxhcHNlQW5kRGV0YWNoQW5vbnltb3VzTmV4dAogdm9pZCBSZW5kZXJUcmVlQnVpbGRlcjo6
VGFibGU6OmNvbGxhcHNlQW5kRGVzdHJveUFub255bW91c1NpYmxpbmdDZWxscyhjb25zdCBSZW5k
ZXJUYWJsZUNlbGwmIHdpbGxCZURlc3Ryb3llZCkKIHsKICAgICBpZiAoYXV0byBuZXh0Q2VsbFRv
RGVzdHJveSA9IGNvbGxhcHNlQW5kRGV0YWNoQW5vbnltb3VzTmV4dFNpYmxpbmcod2lsbEJlRGVz
dHJveWVkLnJvdygpLCB3aWxsQmVEZXN0cm95ZWQucHJldmlvdXNDZWxsKCksIHdpbGxCZURlc3Ry
b3llZC5uZXh0Q2VsbCgpKSkKLSAgICAgICAgZG93bmNhc3Q8UmVuZGVyVGFibGVDZWxsPigqbmV4
dENlbGxUb0Rlc3Ryb3kpLmRlbGV0ZUxpbmVzKCk7CisgICAgICAgIGRvd25jYXN0PFJlbmRlclRh
YmxlQ2VsbD4oKm5leHRDZWxsVG9EZXN0cm95KS5pbnZhbGlkYXRlTGluZUxheW91dChSZW5kZXJC
bG9ja0Zsb3c6OkludmFsaWRhdGlvblJlYXNvbjo6SW50ZXJuYWxNb3ZlKTsKIH0KIAogdm9pZCBS
ZW5kZXJUcmVlQnVpbGRlcjo6VGFibGU6OmNvbGxhcHNlQW5kRGVzdHJveUFub255bW91c1NpYmxp
bmdSb3dzKGNvbnN0IFJlbmRlclRhYmxlUm93JiB3aWxsQmVEZXN0cm95ZWQpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>476502</attachid>
            <date>2025-08-23 19:55:05 -0700</date>
            <delta_ts>2025-08-25 05:30:37 -0700</delta_ts>
            <desc>[fast-cq]Patch</desc>
            <filename>bug-297832-20250823195505.patch</filename>
            <type>text/plain</type>
            <size>22115</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSBiNzE5MmQ0ZmZiNDhlMWIxYmI2OWQ2MTUxOGZhMTRkM2I3ZWE5M2Q1IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJhcmFkbGF5IDx6YWxhbkBhcHBsZS5jb20+CkRhdGU6
IFNhdCwgMjMgQXVnIDIwMjUgMTg6MTQ6MjEgLTA3MDAKU3ViamVjdDogW1BBVENIXSBbY2xlYW51
cF0gRGUtdmlydHVhbGl6ZSBSZW5kZXJCbG9jaydzIGRlbGV0ZUxpbmVzKCkgZnVuY3Rpb24KIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yOTc4MzIKClJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgoKMS4gT25seSBSZW5kZXJCbG9ja0Zsb3cgaGFzIGlubGluZSBsaW5l
cy4KMi4gUmVuZGVyQmxvY2tGbG93J3MgZGVsZXRlTGluZXMoKSBpcyBlc3NlbnRpYWxseSBpbnZh
bGlkYXRpbmcgdGhlIGxpbmUgbGF5b3V0IHBhdGgKc28gaXQgY291bGQganVzdCBkaXZlcnRlZCB0
byBSZW5kZXJCbG9ja0Zsb3c6OmludmFsaWRhdGVMaW5lTGF5b3V0UGF0aAozLiBSZW5hbWUgUmVu
ZGVyQmxvY2tGbG93OjppbnZhbGlkYXRlTGluZUxheW91dFBhdGggdG8gaW52YWxpZGF0ZUxpbmVM
YXlvdXQKCiogU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL2lubGluZS9MYXlvdXRJ
bnRlZ3JhdGlvbkxpbmVMYXlvdXQuY3BwOgooV2ViQ29yZTo6TGF5b3V0SW50ZWdyYXRpb246OnNo
b3VsZEludmFsaWRhdGVMaW5lTGF5b3V0QWZ0ZXJDaGFuZ2VGb3IpOgooV2ViQ29yZTo6TGF5b3V0
SW50ZWdyYXRpb246OkxpbmVMYXlvdXQ6OnNob3VsZEludmFsaWRhdGVMaW5lTGF5b3V0QWZ0ZXJD
b250ZW50Q2hhbmdlKToKKFdlYkNvcmU6OkxheW91dEludGVncmF0aW9uOjpMaW5lTGF5b3V0Ojpz
aG91bGRJbnZhbGlkYXRlTGluZUxheW91dEFmdGVyVHJlZU11dGF0aW9uKToKKFdlYkNvcmU6Okxh
eW91dEludGVncmF0aW9uOjpzaG91bGRJbnZhbGlkYXRlTGluZUxheW91dFBhdGhBZnRlckNoYW5n
ZUZvcik6IERlbGV0ZWQuCihXZWJDb3JlOjpMYXlvdXRJbnRlZ3JhdGlvbjo6TGluZUxheW91dDo6
c2hvdWxkSW52YWxpZGF0ZUxpbmVMYXlvdXRQYXRoQWZ0ZXJDb250ZW50Q2hhbmdlKTogRGVsZXRl
ZC4KKFdlYkNvcmU6OkxheW91dEludGVncmF0aW9uOjpMaW5lTGF5b3V0OjpzaG91bGRJbnZhbGlk
YXRlTGluZUxheW91dFBhdGhBZnRlclRyZWVNdXRhdGlvbik6IERlbGV0ZWQuCiogU291cmNlL1dl
YkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL2lubGluZS9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVMYXlv
dXQuaDoKKiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwOgooV2ViQ29y
ZTo6UmVuZGVyQmxvY2s6OmRlbGV0ZUxpbmVzKTogRGVsZXRlZC4KKiBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQmxvY2suaDoKKiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
QmxvY2tGbG93LmNwcDoKKFdlYkNvcmU6OlJlbmRlckJsb2NrRmxvdzo6aW52YWxpZGF0ZUxpbmVM
YXlvdXQpOgooV2ViQ29yZTo6UmVuZGVyQmxvY2tGbG93OjpkZWxldGVMaW5lcyk6IERlbGV0ZWQu
CihXZWJDb3JlOjpSZW5kZXJCbG9ja0Zsb3c6OmludmFsaWRhdGVMaW5lTGF5b3V0UGF0aCk6IERl
bGV0ZWQuCiogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5oOgoqIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmNwcDoKKFdlYkNvcmU6OmludmFsaWRh
dGVMaW5lTGF5b3V0UGF0aE9uQ29udGVudENoYW5nZUlmTmVlZGVkKToKKiBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHA6CihXZWJDb3JlOjpSZW5kZXJWaWV3Ojp+UmVuZGVy
Vmlldyk6CihXZWJDb3JlOjpSZW5kZXJWaWV3Ojp3aWxsQmVEZXN0cm95ZWQpOgoqIFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3Lmg6CiogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyLmNwcDoKKFdlYkNvcmU6OmludmFsaWRhdGVMaW5l
TGF5b3V0KToKKFdlYkNvcmU6OlJlbmRlclRyZWVCdWlsZGVyOjptb3ZlKToKKFdlYkNvcmU6OlJl
bmRlclRyZWVCdWlsZGVyOjpjcmVhdGVBbm9ueW1vdXNXcmFwcGVyc0ZvcklubGluZUNvbnRlbnQp
OgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlckJs
b2NrLmNwcDoKKFdlYkNvcmU6OlJlbmRlclRyZWVCdWlsZGVyOjpCbG9jazo6ZGV0YWNoKToKKFdl
YkNvcmU6OlJlbmRlclRyZWVCdWlsZGVyOjpCbG9jazo6ZHJvcEFub255bW91c0JveENoaWxkKToK
KiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJJbmxp
bmUuY3BwOgooV2ViQ29yZTo6UmVuZGVyVHJlZUJ1aWxkZXI6OklubGluZTo6c3BsaXRGbG93KToK
KiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJNdWx0
aUNvbHVtbi5jcHA6CihXZWJDb3JlOjpSZW5kZXJUcmVlQnVpbGRlcjo6TXVsdGlDb2x1bW46OmNy
ZWF0ZUZyYWdtZW50ZWRGbG93KToKKFdlYkNvcmU6OlJlbmRlclRyZWVCdWlsZGVyOjpNdWx0aUNv
bHVtbjo6ZGVzdHJveUZyYWdtZW50ZWRGbG93KToKKiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
dXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJUYWJsZS5jcHA6CihXZWJDb3JlOjpSZW5kZXJUcmVl
QnVpbGRlcjo6VGFibGU6OmNvbGxhcHNlQW5kRGVzdHJveUFub255bW91c1NpYmxpbmdDZWxscyk6
Ci0tLQogLi4uL2lubGluZS9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVMYXlvdXQuY3BwICAgICAgIHwg
MTAgKysrKystLS0tLQogLi4uL2lubGluZS9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVMYXlvdXQuaCAg
ICAgICAgIHwgIDQgKystLQogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNw
cCAgICAgICAgIHwgIDYgLS0tLS0tCiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxv
Y2suaCAgICAgICAgICAgfCAgMyAtLS0KIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
bG9ja0Zsb3cuY3BwICAgICB8IDE2ICsrKysrKysrLS0tLS0tLS0KIFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuaCAgICAgICB8ICA3ICsrKy0tLS0KIFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmNwcCAgICAgICAgICB8ICA2ICsrKy0tLQogU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwICAgICAgICAgIHwgIDYgKysrKystCiBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5oICAgICAgICAgICAgfCAgMyArKysK
IC4uLi9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXIuY3BwICAgICB8IDEzICsr
KysrKystLS0tLS0KIC4uLi91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlckJsb2NrLmNwcCAgICAg
ICAgICB8IDEwICsrKysrKy0tLS0KIC4uLi91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlcklubGlu
ZS5jcHAgICAgICAgICB8ICAzICsrLQogLi4uL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyTXVs
dGlDb2x1bW4uY3BwICAgIHwgIDQgKystLQogLi4uL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVy
VGFibGUuY3BwICAgICAgICAgIHwgIDIgKy0KIDE0IGZpbGVzIGNoYW5nZWQsIDQ3IGluc2VydGlv
bnMoKyksIDQ2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9pbnRlZ3JhdGlvbi9pbmxpbmUvTGF5b3V0SW50ZWdyYXRpb25MaW5lTGF5b3V0LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9pbmxpbmUvTGF5b3V0SW50ZWdyYXRpb25M
aW5lTGF5b3V0LmNwcAppbmRleCA5YmFhZWM0NTdkMGMuLjViOWU3NTYzYWVjZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL2lubGluZS9MYXlvdXRJbnRlZ3Jh
dGlvbkxpbmVMYXlvdXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlv
bi9pbmxpbmUvTGF5b3V0SW50ZWdyYXRpb25MaW5lTGF5b3V0LmNwcApAQCAtNzAsNyArNzAsNyBA
QCBlbnVtIGNsYXNzIFR5cGVPZkNoYW5nZUZvckludmFsaWRhdGlvbiA6IHVpbnQ4X3QgewogICAg
IE5vZGVSZW1vdmFsLAogICAgIE5vZGVNdXRhdGlvbgogfTsKLXN0YXRpYyBib29sIHNob3VsZElu
dmFsaWRhdGVMaW5lTGF5b3V0UGF0aEFmdGVyQ2hhbmdlRm9yKGNvbnN0IFJlbmRlckJsb2NrRmxv
dyYgcm9vdEJsb2NrQ29udGFpbmVyLCBjb25zdCBSZW5kZXJPYmplY3QmIHJlbmRlcmVyLCBjb25z
dCBMaW5lTGF5b3V0JiBsaW5lTGF5b3V0LCBUeXBlT2ZDaGFuZ2VGb3JJbnZhbGlkYXRpb24gdHlw
ZU9mQ2hhbmdlKQorc3RhdGljIGJvb2wgc2hvdWxkSW52YWxpZGF0ZUxpbmVMYXlvdXRBZnRlckNo
YW5nZUZvcihjb25zdCBSZW5kZXJCbG9ja0Zsb3cmIHJvb3RCbG9ja0NvbnRhaW5lciwgY29uc3Qg
UmVuZGVyT2JqZWN0JiByZW5kZXJlciwgY29uc3QgTGluZUxheW91dCYgbGluZUxheW91dCwgVHlw
ZU9mQ2hhbmdlRm9ySW52YWxpZGF0aW9uIHR5cGVPZkNoYW5nZSkKIHsKICAgICBhdXRvIGlzU3Vw
cG9ydGVkUmVuZGVyZXJXaXRoQ2hhbmdlID0gWyZdKGF1dG8mIHJlbmRlcmVyKSB7CiAgICAgICAg
IGlmIChpczxSZW5kZXJUZXh0PihyZW5kZXJlcikpCkBAIC0zNDcsMTQgKzM0NywxNCBAQCBib29s
IExpbmVMYXlvdXQ6OmNhblVzZUZvclByZWZlcnJlZFdpZHRoQ29tcHV0YXRpb24oY29uc3QgUmVu
ZGVyQmxvY2tGbG93JiBmbG93KQogICAgIHJldHVybiBMYXlvdXRJbnRlZ3JhdGlvbjo6Y2FuVXNl
Rm9yUHJlZmVycmVkV2lkdGhDb21wdXRhdGlvbihmbG93KTsKIH0KIAotYm9vbCBMaW5lTGF5b3V0
OjpzaG91bGRJbnZhbGlkYXRlTGluZUxheW91dFBhdGhBZnRlckNvbnRlbnRDaGFuZ2UoY29uc3Qg
UmVuZGVyQmxvY2tGbG93JiBwYXJlbnQsIGNvbnN0IFJlbmRlck9iamVjdCYgcmVuZGVyZXJXaXRo
TmV3Q29udGVudCwgY29uc3QgTGluZUxheW91dCYgbGluZUxheW91dCkKK2Jvb2wgTGluZUxheW91
dDo6c2hvdWxkSW52YWxpZGF0ZUxpbmVMYXlvdXRBZnRlckNvbnRlbnRDaGFuZ2UoY29uc3QgUmVu
ZGVyQmxvY2tGbG93JiBwYXJlbnQsIGNvbnN0IFJlbmRlck9iamVjdCYgcmVuZGVyZXJXaXRoTmV3
Q29udGVudCwgY29uc3QgTGluZUxheW91dCYgbGluZUxheW91dCkKIHsKLSAgICByZXR1cm4gc2hv
dWxkSW52YWxpZGF0ZUxpbmVMYXlvdXRQYXRoQWZ0ZXJDaGFuZ2VGb3IocGFyZW50LCByZW5kZXJl
cldpdGhOZXdDb250ZW50LCBsaW5lTGF5b3V0LCBUeXBlT2ZDaGFuZ2VGb3JJbnZhbGlkYXRpb246
Ok5vZGVNdXRhdGlvbik7CisgICAgcmV0dXJuIHNob3VsZEludmFsaWRhdGVMaW5lTGF5b3V0QWZ0
ZXJDaGFuZ2VGb3IocGFyZW50LCByZW5kZXJlcldpdGhOZXdDb250ZW50LCBsaW5lTGF5b3V0LCBU
eXBlT2ZDaGFuZ2VGb3JJbnZhbGlkYXRpb246Ok5vZGVNdXRhdGlvbik7CiB9CiAKLWJvb2wgTGlu
ZUxheW91dDo6c2hvdWxkSW52YWxpZGF0ZUxpbmVMYXlvdXRQYXRoQWZ0ZXJUcmVlTXV0YXRpb24o
Y29uc3QgUmVuZGVyQmxvY2tGbG93JiBwYXJlbnQsIGNvbnN0IFJlbmRlck9iamVjdCYgcmVuZGVy
ZXIsIGNvbnN0IExpbmVMYXlvdXQmIGxpbmVMYXlvdXQsIGJvb2wgaXNSZW1vdmFsKQorYm9vbCBM
aW5lTGF5b3V0OjpzaG91bGRJbnZhbGlkYXRlTGluZUxheW91dEFmdGVyVHJlZU11dGF0aW9uKGNv
bnN0IFJlbmRlckJsb2NrRmxvdyYgcGFyZW50LCBjb25zdCBSZW5kZXJPYmplY3QmIHJlbmRlcmVy
LCBjb25zdCBMaW5lTGF5b3V0JiBsaW5lTGF5b3V0LCBib29sIGlzUmVtb3ZhbCkKIHsKLSAgICBy
ZXR1cm4gc2hvdWxkSW52YWxpZGF0ZUxpbmVMYXlvdXRQYXRoQWZ0ZXJDaGFuZ2VGb3IocGFyZW50
LCByZW5kZXJlciwgbGluZUxheW91dCwgaXNSZW1vdmFsID8gVHlwZU9mQ2hhbmdlRm9ySW52YWxp
ZGF0aW9uOjpOb2RlUmVtb3ZhbCA6IFR5cGVPZkNoYW5nZUZvckludmFsaWRhdGlvbjo6Tm9kZUlu
c2VydGlvbik7CisgICAgcmV0dXJuIHNob3VsZEludmFsaWRhdGVMaW5lTGF5b3V0QWZ0ZXJDaGFu
Z2VGb3IocGFyZW50LCByZW5kZXJlciwgbGluZUxheW91dCwgaXNSZW1vdmFsID8gVHlwZU9mQ2hh
bmdlRm9ySW52YWxpZGF0aW9uOjpOb2RlUmVtb3ZhbCA6IFR5cGVPZkNoYW5nZUZvckludmFsaWRh
dGlvbjo6Tm9kZUluc2VydGlvbik7CiB9CiAKIHZvaWQgTGluZUxheW91dDo6dXBkYXRlRm9ybWF0
dGluZ0NvbnRleEdlb21ldHJpZXMoTGF5b3V0VW5pdCBhdmFpbGFibGVMb2dpY2FsV2lkdGgpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vaW5saW5lL0xheW91
dEludGVncmF0aW9uTGluZUxheW91dC5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0
aW9uL2lubGluZS9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVMYXlvdXQuaAppbmRleCAzYjA2ZmRjNDJl
YzAuLjAyNzA4MGE5YzQxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVn
cmF0aW9uL2lubGluZS9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVMYXlvdXQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vaW5saW5lL0xheW91dEludGVncmF0aW9uTGluZUxh
eW91dC5oCkBAIC03NSw4ICs3NSw4IEBAIHB1YmxpYzoKIAogICAgIHN0YXRpYyBib29sIGNhblVz
ZUZvcihjb25zdCBSZW5kZXJCbG9ja0Zsb3cmKTsKICAgICBzdGF0aWMgYm9vbCBjYW5Vc2VGb3JQ
cmVmZXJyZWRXaWR0aENvbXB1dGF0aW9uKGNvbnN0IFJlbmRlckJsb2NrRmxvdyYpOwotICAgIHN0
YXRpYyBib29sIHNob3VsZEludmFsaWRhdGVMaW5lTGF5b3V0UGF0aEFmdGVyQ29udGVudENoYW5n
ZShjb25zdCBSZW5kZXJCbG9ja0Zsb3cmIHBhcmVudCwgY29uc3QgUmVuZGVyT2JqZWN0JiByZW5k
ZXJlcldpdGhOZXdDb250ZW50LCBjb25zdCBMaW5lTGF5b3V0Jik7Ci0gICAgc3RhdGljIGJvb2wg
c2hvdWxkSW52YWxpZGF0ZUxpbmVMYXlvdXRQYXRoQWZ0ZXJUcmVlTXV0YXRpb24oY29uc3QgUmVu
ZGVyQmxvY2tGbG93JiBwYXJlbnQsIGNvbnN0IFJlbmRlck9iamVjdCYgcmVuZGVyZXIsIGNvbnN0
IExpbmVMYXlvdXQmLCBib29sIGlzUmVtb3ZhbCk7CisgICAgc3RhdGljIGJvb2wgc2hvdWxkSW52
YWxpZGF0ZUxpbmVMYXlvdXRBZnRlckNvbnRlbnRDaGFuZ2UoY29uc3QgUmVuZGVyQmxvY2tGbG93
JiBwYXJlbnQsIGNvbnN0IFJlbmRlck9iamVjdCYgcmVuZGVyZXJXaXRoTmV3Q29udGVudCwgY29u
c3QgTGluZUxheW91dCYpOworICAgIHN0YXRpYyBib29sIHNob3VsZEludmFsaWRhdGVMaW5lTGF5
b3V0QWZ0ZXJUcmVlTXV0YXRpb24oY29uc3QgUmVuZGVyQmxvY2tGbG93JiBwYXJlbnQsIGNvbnN0
IFJlbmRlck9iamVjdCYgcmVuZGVyZXIsIGNvbnN0IExpbmVMYXlvdXQmLCBib29sIGlzUmVtb3Zh
bCk7CiAKICAgICB2b2lkIHVwZGF0ZUZvcm1hdHRpbmdDb250ZXhHZW9tZXRyaWVzKExheW91dFVu
aXQgYXZhaWxhYmxlTG9naWNhbFdpZHRoKTsKICAgICB2b2lkIHVwZGF0ZU92ZXJmbG93KCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAppbmRleCA4YzdkNTc5ZWNiYjEu
LjE3YzE1MDA0ZTdmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJsb2NrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3Bw
CkBAIC0zOTMsMTIgKzM5Myw2IEBAIHZvaWQgUmVuZGVyQmxvY2s6OnN0eWxlRGlkQ2hhbmdlKFN0
eWxlRGlmZmVyZW5jZSBkaWZmLCBjb25zdCBSZW5kZXJTdHlsZSogb2xkU3R5CiAgICAgc2V0U2hv
dWxkRm9yY2VSZWxheW91dENoaWxkcmVuKHNob3VsZEZvcmNlUmVsYXlvdXRDaGlsZHJlbik7CiB9
CiAKLXZvaWQgUmVuZGVyQmxvY2s6OmRlbGV0ZUxpbmVzKCkKLXsKLSAgICBpZiAoQVhPYmplY3RD
YWNoZSogY2FjaGUgPSBwcm90ZWN0ZWREb2N1bWVudCgpLT5leGlzdGluZ0FYT2JqZWN0Q2FjaGUo
KSkKLSAgICAgICAgY2FjaGUtPmRlZmVyUmVjb21wdXRlSXNJZ25vcmVkKHByb3RlY3RlZEVsZW1l
bnQoKS5nZXQoKSk7Ci19Ci0KIGJvb2wgUmVuZGVyQmxvY2s6OmNoaWxkcmVuUHJldmVudFNlbGZD
b2xsYXBzaW5nKCkgY29uc3QKIHsKICAgICAvLyBXaGV0aGVyIG9yIG5vdCB3ZSBjb2xsYXBzZSBp
cyBkZXBlbmRlbnQgb24gd2hldGhlciBhbGwgb3VyIG5vcm1hbCBmbG93IGNoaWxkcmVuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCmluZGV4IDI1MTRlMmU0NTE1ZS4uOTMyYTU4
MGQ3ZjJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2su
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaApAQCAtNjUsOSAr
NjUsNiBAQCBwcm90ZWN0ZWQ6CiAgICAgUmVuZGVyQmxvY2soVHlwZSwgRG9jdW1lbnQmLCBSZW5k
ZXJTdHlsZSYmLCBPcHRpb25TZXQ8VHlwZUZsYWc+LCBUeXBlU3BlY2lmaWNGbGFncyA9IHsgfSk7
CiAKIHB1YmxpYzoKLSAgICAvLyBGSVhNRS1CTE9DS0ZMT1c6IFJlbW92ZSB2aXJ0dWFsaXphaW9u
IHdoZW4gYWxsIGNhbGxlcnMgaGF2ZSBtb3ZlZCB0byBSZW5kZXJCbG9ja0Zsb3cKLSAgICB2aXJ0
dWFsIHZvaWQgZGVsZXRlTGluZXMoKTsKLQogICAgIHZpcnR1YWwgdm9pZCBsYXlvdXRCbG9jayhS
ZWxheW91dENoaWxkcmVuLCBMYXlvdXRVbml0IHBhZ2VMb2dpY2FsSGVpZ2h0ID0gMF9sdSk7CiAK
ICAgICB2b2lkIGFkZE91dE9mRmxvd0JveChSZW5kZXJCb3gmKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHAKaW5kZXggNzBkYWU2ZTI5NzM1Li4zNjk5MGNh
MjE4NDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zs
b3cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3Bw
CkBAIC0yNDQ1LDEzICsyNDQ1LDYgQEAgdm9pZCBSZW5kZXJCbG9ja0Zsb3c6OnN0eWxlV2lsbENo
YW5nZShTdHlsZURpZmZlcmVuY2UgZGlmZiwgY29uc3QgUmVuZGVyU3R5bGUmIG4KICAgICBSZW5k
ZXJCbG9jazo6c3R5bGVXaWxsQ2hhbmdlKGRpZmYsIG5ld1N0eWxlKTsKIH0KIAotdm9pZCBSZW5k
ZXJCbG9ja0Zsb3c6OmRlbGV0ZUxpbmVzKCkKLXsKLSAgICBtX2xpbmVMYXlvdXQgPSBzdGQ6Om1v
bm9zdGF0ZSgpOwotCi0gICAgUmVuZGVyQmxvY2s6OmRlbGV0ZUxpbmVzKCk7Ci19Ci0KIHZvaWQg
UmVuZGVyQmxvY2tGbG93OjphZGRGbG9hdHNUb05ld1BhcmVudChSZW5kZXJCbG9ja0Zsb3cmIHRv
QmxvY2tGbG93KSBjb25zdAogewogICAgIC8vIFdoZW4gYSBwb3J0aW9uIG9mIHRoZSByZW5kZXIg
dHJlZSBpcyBiZWluZyBkZXRhY2hlZCwgYW5vbnltb3VzIGJsb2NrcwpAQCAtMzgwNCw4ICszNzk3
LDE1IEBAIGJvb2wgUmVuZGVyQmxvY2tGbG93OjpoYXNMaW5lcygpIGNvbnN0CiAgICAgcmV0dXJu
IGNoaWxkcmVuSW5saW5lKCkgPyBsaW5lQ291bnQoKSA6IGZhbHNlOwogfQogCi12b2lkIFJlbmRl
ckJsb2NrRmxvdzo6aW52YWxpZGF0ZUxpbmVMYXlvdXRQYXRoKEludmFsaWRhdGlvblJlYXNvbiBp
bnZhbGlkYXRpb25SZWFzb24pCit2b2lkIFJlbmRlckJsb2NrRmxvdzo6aW52YWxpZGF0ZUxpbmVM
YXlvdXQoSW52YWxpZGF0aW9uUmVhc29uIGludmFsaWRhdGlvblJlYXNvbikKIHsKKyAgICBpZiAo
aW52YWxpZGF0aW9uUmVhc29uID09IEludmFsaWRhdGlvblJlYXNvbjo6SW50ZXJuYWxNb3ZlKSB7
CisgICAgICAgIG1fbGluZUxheW91dCA9IHN0ZDo6bW9ub3N0YXRlKCk7CisgICAgICAgIGlmIChB
WE9iamVjdENhY2hlKiBjYWNoZSA9IHByb3RlY3RlZERvY3VtZW50KCktPmV4aXN0aW5nQVhPYmpl
Y3RDYWNoZSgpKQorICAgICAgICAgICAgY2FjaGUtPmRlZmVyUmVjb21wdXRlSXNJZ25vcmVkKHBy
b3RlY3RlZEVsZW1lbnQoKS5nZXQoKSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKICAgICBz
d2l0Y2ggKGxpbmVMYXlvdXRQYXRoKCkpIHsKICAgICBjYXNlIFVuZGV0ZXJtaW5lZFBhdGg6CiAg
ICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJCbG9ja0Zsb3cuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cu
aAppbmRleCA3NWM0OTE2NGM2MmEuLjFjODNlNTk0YWU4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuaApAQCAtMjgyLDcgKzI4Miw2IEBAIHB1YmxpYzoKICAg
ICBib29sIHN1YnRyZWVDb250YWluc0Zsb2F0cygpIGNvbnN0OwogICAgIGJvb2wgc3VidHJlZUNv
bnRhaW5zRmxvYXQoY29uc3QgUmVuZGVyQm94JikgY29uc3Q7CiAKLSAgICB2b2lkIGRlbGV0ZUxp
bmVzKCkgb3ZlcnJpZGU7CiAgICAgdm9pZCBjb21wdXRlT3ZlcmZsb3coTGF5b3V0VW5pdCBvbGRD
bGllbnRBZnRlckVkZ2UsIGJvb2wgcmVjb21wdXRlRmxvYXRzID0gZmFsc2UpIG92ZXJyaWRlOwog
ICAgIFBvc2l0aW9uIHBvc2l0aW9uRm9yUG9pbnQoY29uc3QgTGF5b3V0UG9pbnQmLCBIaXRUZXN0
U291cmNlKSBvdmVycmlkZTsKICAgICBQb3NpdGlvbldpdGhBZmZpbml0eSBwb3NpdGlvbkZvclBv
aW50KGNvbnN0IExheW91dFBvaW50JiwgSGl0VGVzdFNvdXJjZSwgY29uc3QgUmVuZGVyRnJhZ21l
bnRDb250YWluZXIqKSBvdmVycmlkZTsKQEAgLTM0OSwxMSArMzQ4LDExIEBAIHB1YmxpYzoKICAg
ICBib29sIGhhc0xpbmVzKCkgY29uc3Q7CiAKICAgICBlbnVtIEludmFsaWRhdGlvblJlYXNvbiA6
IHVpbnQ4X3QgewotICAgICAgICBTdHlsZUNoYW5nZSwKLSAgICAgICAgSW5zZXJ0aW9uT3JSZW1v
dmFsLCAvLyByZW5kZXJlciBnZXRzIGNvbnN0cnVjdGVkL2dvZXMgYXdheQorICAgICAgICBJbnRl
cm5hbE1vdmUsICAgICAgIC8vIChhbm9uKSBibG9jayBpcyBtb3ZlZCBvciBjb2xsYXBzZWQKKyAg
ICAgICAgSW5zZXJ0aW9uT3JSZW1vdmFsLCAvLyBjaGlsZCByZW5kZXJlciBnZXRzIGNvbnN0cnVj
dGVkL2dvZXMgYXdheQogICAgICAgICBDb250ZW50Q2hhbmdlICAgICAgIC8vIGV4aXN0aW5nIHJl
bmRlcmVyIGdldHMgY2hhbmdlZCAodGV4dCBjb250ZW50IG9ubHkgYXRtKQogICAgIH07Ci0gICAg
dm9pZCBpbnZhbGlkYXRlTGluZUxheW91dFBhdGgoSW52YWxpZGF0aW9uUmVhc29uKTsKKyAgICB2
b2lkIGludmFsaWRhdGVMaW5lTGF5b3V0KEludmFsaWRhdGlvblJlYXNvbik7CiAgICAgdm9pZCBj
b21wdXRlQW5kU2V0TGluZUxheW91dFBhdGgoKTsKIAogICAgIGVudW0gTGluZUxheW91dFBhdGgg
eyBVbmRldGVybWluZWRQYXRoID0gMCwgSW5saW5lUGF0aCwgU3ZnVGV4dFBhdGggfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmNwcAppbmRleCBlMWFkM2M1MWU2ZWUuLmQzOGZi
ZDkxODBhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmNwcApAQCAtMTgw
MCwxMiArMTgwMCwxMiBAQCBzdGF0aWMgdm9pZCBpbnZhbGlkYXRlTGluZUxheW91dFBhdGhPbkNv
bnRlbnRDaGFuZ2VJZk5lZWRlZChSZW5kZXJUZXh0JiByZW5kZXJlcgogICAgIGlmICghaW5saW5l
TGF5b3V0KQogICAgICAgICByZXR1cm47CiAKLSAgICBpZiAoTGF5b3V0SW50ZWdyYXRpb246Okxp
bmVMYXlvdXQ6OnNob3VsZEludmFsaWRhdGVMaW5lTGF5b3V0UGF0aEFmdGVyQ29udGVudENoYW5n
ZSgqY29udGFpbmVyLCByZW5kZXJlciwgKmlubGluZUxheW91dCkpIHsKLSAgICAgICAgY29udGFp
bmVyLT5pbnZhbGlkYXRlTGluZUxheW91dFBhdGgoUmVuZGVyQmxvY2tGbG93OjpJbnZhbGlkYXRp
b25SZWFzb246OkNvbnRlbnRDaGFuZ2UpOworICAgIGlmIChMYXlvdXRJbnRlZ3JhdGlvbjo6TGlu
ZUxheW91dDo6c2hvdWxkSW52YWxpZGF0ZUxpbmVMYXlvdXRBZnRlckNvbnRlbnRDaGFuZ2UoKmNv
bnRhaW5lciwgcmVuZGVyZXIsICppbmxpbmVMYXlvdXQpKSB7CisgICAgICAgIGNvbnRhaW5lci0+
aW52YWxpZGF0ZUxpbmVMYXlvdXQoUmVuZGVyQmxvY2tGbG93OjpJbnZhbGlkYXRpb25SZWFzb246
OkNvbnRlbnRDaGFuZ2UpOwogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIGlmICghaW5saW5l
TGF5b3V0LT51cGRhdGVUZXh0Q29udGVudChyZW5kZXJlciwgb2Zmc2V0LCBvbGRMZW5ndGgpKQot
ICAgICAgICBjb250YWluZXItPmludmFsaWRhdGVMaW5lTGF5b3V0UGF0aChSZW5kZXJCbG9ja0Zs
b3c6OkludmFsaWRhdGlvblJlYXNvbjo6Q29udGVudENoYW5nZSk7CisgICAgICAgIGNvbnRhaW5l
ci0+aW52YWxpZGF0ZUxpbmVMYXlvdXQoUmVuZGVyQmxvY2tGbG93OjpJbnZhbGlkYXRpb25SZWFz
b246OkNvbnRlbnRDaGFuZ2UpOwogfQogCiB2b2lkIFJlbmRlclRleHQ6OnNldFRleHRJbnRlcm5h
bChjb25zdCBTdHJpbmcmIHRleHQsIGJvb2wgZm9yY2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVmlldy5jcHAKaW5kZXggMjFkOGZhYzFlMGU1Li44ZDJhYTZiNGJjOWMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAKQEAgLTEwNSw4ICsxMDUsMTIgQEAgUmVu
ZGVyVmlldzo6UmVuZGVyVmlldyhEb2N1bWVudCYgZG9jdW1lbnQsIFJlbmRlclN0eWxlJiYgc3R5
bGUpCiBSZW5kZXJWaWV3Ojp+UmVuZGVyVmlldygpCiB7CiAgICAgQVNTRVJUX1dJVEhfTUVTU0FH
RSghbV9yZW5kZXJlckNvdW50LCAiQWxsIHJlbmRlcmVycyBzaG91bGQgYmUgaW4gdGhlIHByb2Nl
c3Mgb2YgYmVpbmcgZGVsZXRlZC4iKTsKK30KIAotICAgIGRlbGV0ZUxpbmVzKCk7Cit2b2lkIFJl
bmRlclZpZXc6OndpbGxCZURlc3Ryb3llZCgpCit7CisgICAgaW52YWxpZGF0ZUxpbmVMYXlvdXQo
SW52YWxpZGF0aW9uUmVhc29uOjpJbnNlcnRpb25PclJlbW92YWwpOworICAgIFJlbmRlckJsb2Nr
Rmxvdzo6d2lsbEJlRGVzdHJveWVkKCk7CiB9CiAKIHZvaWQgUmVuZGVyVmlldzo6c3R5bGVEaWRD
aGFuZ2UoU3R5bGVEaWZmZXJlbmNlIGRpZmYsIGNvbnN0IFJlbmRlclN0eWxlKiBvbGRTdHlsZSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5oCmluZGV4IDY2ZDNiZTIyYTU4Yy4uOTM3
OTlmMTcxZDk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmll
dy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmgKQEAgLTIyMiw2
ICsyMjIsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCByZW1vdmVWaWV3VHJhbnNpdGlvbkdyb3VwKGNv
bnN0IEF0b21TdHJpbmcmKTsKICAgICBSZW5kZXJCb3gqIHZpZXdUcmFuc2l0aW9uR3JvdXBGb3JO
YW1lKGNvbnN0IEF0b21TdHJpbmcmKTsKIAorcHJvdGVjdGVkOgorICAgIHZvaWQgd2lsbEJlRGVz
dHJveWVkKCkgb3ZlcnJpZGU7CisKIHByaXZhdGU6CiAgICAgdm9pZCBzdHlsZURpZENoYW5nZShT
dHlsZURpZmZlcmVuY2UsIGNvbnN0IFJlbmRlclN0eWxlKiBvbGRTdHlsZSkgb3ZlcnJpZGU7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVl
QnVpbGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJl
ZUJ1aWxkZXIuY3BwCmluZGV4IGM1MTVlMjVhNGFhNy4uZGZmZDM4MGU3NzJlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRl
ci5jcHAKQEAgLTEwMSwxNSArMTAxLDE1IEBAIHN0YXRpYyB2b2lkIGludmFsaWRhdGVMaW5lTGF5
b3V0KFJlbmRlck9iamVjdCYgcmVuZGVyZXIsIElzUmVtb3ZhbCBpc1JlbW92YWwpCiAgICAgICAg
IHJldHVybjsKICAgICB9CiAKLSAgICBhdXRvIHNob3VsZEludmFsaWRhdGVMaW5lTGF5b3V0UGF0
aCA9IFsmXShhdXRvJiBpbmxpbmVMYXlvdXQpIHsKLSAgICAgICAgaWYgKExheW91dEludGVncmF0
aW9uOjpMaW5lTGF5b3V0OjpzaG91bGRJbnZhbGlkYXRlTGluZUxheW91dFBhdGhBZnRlclRyZWVN
dXRhdGlvbigqY29udGFpbmVyLCByZW5kZXJlciwgaW5saW5lTGF5b3V0LCBpc1JlbW92YWwgPT0g
SXNSZW1vdmFsOjpZZXMpKQorICAgIGF1dG8gc2hvdWxkSW52YWxpZGF0ZUxpbmVMYXlvdXQgPSBb
Jl0oYXV0byYgaW5saW5lTGF5b3V0KSB7CisgICAgICAgIGlmIChMYXlvdXRJbnRlZ3JhdGlvbjo6
TGluZUxheW91dDo6c2hvdWxkSW52YWxpZGF0ZUxpbmVMYXlvdXRBZnRlclRyZWVNdXRhdGlvbigq
Y29udGFpbmVyLCByZW5kZXJlciwgaW5saW5lTGF5b3V0LCBpc1JlbW92YWwgPT0gSXNSZW1vdmFs
OjpZZXMpKQogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIGlmIChpc1JlbW92YWwg
PT0gSXNSZW1vdmFsOjpZZXMpCiAgICAgICAgICAgICByZXR1cm4gIWlubGluZUxheW91dC5yZW1v
dmVkRnJvbVRyZWUoKnJlbmRlcmVyLnBhcmVudCgpLCByZW5kZXJlcik7CiAgICAgICAgIHJldHVy
biAhaW5saW5lTGF5b3V0Lmluc2VydGVkSW50b1RyZWUoKnJlbmRlcmVyLnBhcmVudCgpLCByZW5k
ZXJlcik7CiAgICAgfTsKLSAgICBpZiAoYXV0byogaW5saW5lTGF5b3V0ID0gY29udGFpbmVyLT5p
bmxpbmVMYXlvdXQoKTsgaW5saW5lTGF5b3V0ICYmIHNob3VsZEludmFsaWRhdGVMaW5lTGF5b3V0
UGF0aCgqaW5saW5lTGF5b3V0KSkKLSAgICAgICAgY29udGFpbmVyLT5pbnZhbGlkYXRlTGluZUxh
eW91dFBhdGgoUmVuZGVyQmxvY2tGbG93OjpJbnZhbGlkYXRpb25SZWFzb246Okluc2VydGlvbk9y
UmVtb3ZhbCk7CisgICAgaWYgKGF1dG8qIGlubGluZUxheW91dCA9IGNvbnRhaW5lci0+aW5saW5l
TGF5b3V0KCk7IGlubGluZUxheW91dCAmJiBzaG91bGRJbnZhbGlkYXRlTGluZUxheW91dCgqaW5s
aW5lTGF5b3V0KSkKKyAgICAgICAgY29udGFpbmVyLT5pbnZhbGlkYXRlTGluZUxheW91dChSZW5k
ZXJCbG9ja0Zsb3c6OkludmFsaWRhdGlvblJlYXNvbjo6SW5zZXJ0aW9uT3JSZW1vdmFsKTsKIH0K
IAogc3RhdGljIHZvaWQgZ2V0SW5saW5lUnVuKFJlbmRlck9iamVjdCogc3RhcnQsIFJlbmRlck9i
amVjdCogYm91bmRhcnksIFJlbmRlck9iamVjdComIGlubGluZVJ1blN0YXJ0LCBSZW5kZXJPYmpl
Y3QqJiBpbmxpbmVSdW5FbmQpCkBAIC01NjMsNyArNTYzLDcgQEAgdm9pZCBSZW5kZXJUcmVlQnVp
bGRlcjo6bW92ZShSZW5kZXJCb3hNb2RlbE9iamVjdCYgZnJvbSwgUmVuZGVyQm94TW9kZWxPYmpl
Y3QmIHQKICAgICAgICAgZm9yIChDaGVja2VkUHRyIGNvbnRhaW5pbmdCbG9jayA9ICZmcm9tOyBj
b250YWluaW5nQmxvY2s7IGNvbnRhaW5pbmdCbG9jayA9IGNvbnRhaW5pbmdCbG9jay0+Y29udGFp
bmluZ0Jsb2NrKCkpIHsKICAgICAgICAgICAgIGNvbnRhaW5pbmdCbG9jay0+c2V0TmVlZHNMYXlv
dXQoKTsKICAgICAgICAgICAgIGlmIChhdXRvKiBibG9ja0Zsb3cgPSBkeW5hbWljRG93bmNhc3Q8
UmVuZGVyQmxvY2tGbG93PigqY29udGFpbmluZ0Jsb2NrKSkgewotICAgICAgICAgICAgICAgIGJs
b2NrRmxvdy0+ZGVsZXRlTGluZXMoKTsKKyAgICAgICAgICAgICAgICBibG9ja0Zsb3ctPmludmFs
aWRhdGVMaW5lTGF5b3V0KFJlbmRlckJsb2NrRmxvdzo6SW52YWxpZGF0aW9uUmVhc29uOjpJbnRl
cm5hbE1vdmUpOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgfQogICAgICAg
ICB9CkBAIC03NTgsNyArNzU4LDggQEAgdm9pZCBSZW5kZXJUcmVlQnVpbGRlcjo6Y3JlYXRlQW5v
bnltb3VzV3JhcHBlcnNGb3JJbmxpbmVDb250ZW50KFJlbmRlckJsb2NrJiBwYXIKICAgICBpZiAo
IWNoaWxkKQogICAgICAgICByZXR1cm47CiAKLSAgICBwYXJlbnQuZGVsZXRlTGluZXMoKTsKKyAg
ICBpZiAoQ2hlY2tlZFB0ciBibG9ja0Zsb3cgPSBkeW5hbWljRG93bmNhc3Q8UmVuZGVyQmxvY2tG
bG93PihwYXJlbnQpKQorICAgICAgICBibG9ja0Zsb3ctPmludmFsaWRhdGVMaW5lTGF5b3V0KFJl
bmRlckJsb2NrRmxvdzo6SW52YWxpZGF0aW9uUmVhc29uOjpJbnRlcm5hbE1vdmUpOwogCiAgICAg
d2hpbGUgKGNoaWxkKSB7CiAgICAgICAgIFJlbmRlck9iamVjdCogaW5saW5lUnVuU3RhcnQgPSBu
dWxscHRyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1Jl
bmRlclRyZWVCdWlsZGVyQmxvY2suY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0
aW5nL1JlbmRlclRyZWVCdWlsZGVyQmxvY2suY3BwCmluZGV4IGNiZDYzNTNmNjcwYS4uZDQzYTI4
YmM5MmFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVu
ZGVyVHJlZUJ1aWxkZXJCbG9jay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3Vw
ZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyQmxvY2suY3BwCkBAIC0zNjMsNyArMzYzLDggQEAgUmVu
ZGVyUHRyPFJlbmRlck9iamVjdD4gUmVuZGVyVHJlZUJ1aWxkZXI6OkJsb2NrOjpkZXRhY2goUmVu
ZGVyQmxvY2smIHBhcmVudCwgUmUKICAgICAgICAgICAgIG1fYnVpbGRlci5tb3ZlQWxsQ2hpbGRy
ZW5JbmNsdWRpbmdGbG9hdHMobmV4dEJsb2NrLCBwcmV2aW91c0Jsb2NrLCBSZW5kZXJUcmVlQnVp
bGRlcjo6Tm9ybWFsaXplQWZ0ZXJJbnNlcnRpb246Ok5vKTsKIAogICAgICAgICAgICAgLy8gRGVs
ZXRlIHRoZSBub3ctZW1wdHkgYmxvY2sncyBsaW5lcyBhbmQgbnVrZSBpdC4KLSAgICAgICAgICAg
IG5leHRCbG9jay5kZWxldGVMaW5lcygpOworICAgICAgICAgICAgaWYgKENoZWNrZWRQdHIgYmxv
Y2tGbG93ID0gZHluYW1pY0Rvd25jYXN0PFJlbmRlckJsb2NrRmxvdz4obmV4dEJsb2NrKSkKKyAg
ICAgICAgICAgICAgICBibG9ja0Zsb3ctPmludmFsaWRhdGVMaW5lTGF5b3V0KFJlbmRlckJsb2Nr
Rmxvdzo6SW52YWxpZGF0aW9uUmVhc29uOjpJbnRlcm5hbE1vdmUpOwogICAgICAgICAgICAgbV9i
dWlsZGVyLmRlc3Ryb3kobmV4dEJsb2NrKTsKICAgICAgICAgICAgIG5leHRTaWJsaW5nID0geyB9
OwogICAgICAgICB9CkBAIC00MDMsOCArNDA0LDggQEAgUmVuZGVyUHRyPFJlbmRlck9iamVjdD4g
UmVuZGVyVHJlZUJ1aWxkZXI6OkJsb2NrOjpkZXRhY2goUmVuZGVyQmxvY2smIHBhcmVudCwgUmUK
IAogICAgIGlmICghcGFyZW50LmZpcnN0Q2hpbGQoKSkgewogICAgICAgICAvLyBJZiB0aGlzIHdh
cyBvdXIgbGFzdCBjaGlsZCBiZSBzdXJlIHRvIGNsZWFyIG91dCBvdXIgbGluZSBib3hlcy4KLSAg
ICAgICAgaWYgKHBhcmVudC5jaGlsZHJlbklubGluZSgpKQotICAgICAgICAgICAgcGFyZW50LmRl
bGV0ZUxpbmVzKCk7CisgICAgICAgIGlmIChDaGVja2VkUHRyIGJsb2NrRmxvdyA9IGR5bmFtaWNE
b3duY2FzdDxSZW5kZXJCbG9ja0Zsb3c+KHBhcmVudCk7IGJsb2NrRmxvdyAmJiBibG9ja0Zsb3ct
PmNoaWxkcmVuSW5saW5lKCkpCisgICAgICAgICAgICBibG9ja0Zsb3ctPmludmFsaWRhdGVMaW5l
TGF5b3V0KFJlbmRlckJsb2NrRmxvdzo6SW52YWxpZGF0aW9uUmVhc29uOjpJbnRlcm5hbE1vdmUp
OwogICAgIH0KICAgICByZXR1cm4gdGFrZW5DaGlsZDsKIH0KQEAgLTQxOSw3ICs0MjAsOCBAQCB2
b2lkIFJlbmRlclRyZWVCdWlsZGVyOjpCbG9jazo6ZHJvcEFub255bW91c0JveENoaWxkKFJlbmRl
ckJsb2NrJiBwYXJlbnQsIFJlbmRlcgogICAgIGF1dG8gdG9CZURlbGV0ZWQgPSBtX2J1aWxkZXIu
ZGV0YWNoRnJvbVJlbmRlckVsZW1lbnQocGFyZW50LCBjaGlsZCwgV2lsbEJlRGVzdHJveWVkOjpZ
ZXMpOwogCiAgICAgLy8gRGVsZXRlIHRoZSBub3ctZW1wdHkgYmxvY2sncyBsaW5lcyBhbmQgbnVr
ZSBpdC4KLSAgICBjaGlsZC5kZWxldGVMaW5lcygpOworICAgIGlmIChDaGVja2VkUHRyIGJsb2Nr
RmxvdyA9IGR5bmFtaWNEb3duY2FzdDxSZW5kZXJCbG9ja0Zsb3c+KHBhcmVudCkpCisgICAgICAg
IGJsb2NrRmxvdy0+aW52YWxpZGF0ZUxpbmVMYXlvdXQoUmVuZGVyQmxvY2tGbG93OjpJbnZhbGlk
YXRpb25SZWFzb246OkludGVybmFsTW92ZSk7CiB9CiAKIFJlbmRlclB0cjxSZW5kZXJPYmplY3Q+
IFJlbmRlclRyZWVCdWlsZGVyOjpCbG9jazo6ZGV0YWNoKFJlbmRlckJsb2NrRmxvdyYgcGFyZW50
LCBSZW5kZXJPYmplY3QmIGNoaWxkLCBSZW5kZXJUcmVlQnVpbGRlcjo6V2lsbEJlRGVzdHJveWVk
IHdpbGxCZURlc3Ryb3llZCwgQ2FuQ29sbGFwc2VBbm9ueW1vdXNCbG9jayBjYW5Db2xsYXBzZUFu
b255bW91c0Jsb2NrKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0
aW5nL1JlbmRlclRyZWVCdWlsZGVySW5saW5lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlcklubGluZS5jcHAKaW5kZXggYjE2NDY4MjBhNjNm
Li42YTg3OWViZjk1M2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRh
dGluZy9SZW5kZXJUcmVlQnVpbGRlcklubGluZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVySW5saW5lLmNwcApAQCAtMjIzLDcgKzIy
Myw4IEBAIHZvaWQgUmVuZGVyVHJlZUJ1aWxkZXI6OklubGluZTo6c3BsaXRGbG93KFJlbmRlcklu
bGluZSYgcGFyZW50LCBSZW5kZXJPYmplY3QqIGJlCiAgICAgUmVuZGVyQmxvY2sqIGJsb2NrID0g
cGFyZW50LmNvbnRhaW5pbmdCbG9jaygpOwogCiAgICAgLy8gRGVsZXRlIG91ciBsaW5lIGJveGVz
IGJlZm9yZSB3ZSBkbyB0aGUgaW5saW5lIHNwbGl0IGludG8gY29udGludWF0aW9ucy4KLSAgICBi
bG9jay0+ZGVsZXRlTGluZXMoKTsKKyAgICBpZiAoQ2hlY2tlZFB0ciBibG9ja0Zsb3cgPSBkeW5h
bWljRG93bmNhc3Q8UmVuZGVyQmxvY2tGbG93PihibG9jaykpCisgICAgICAgIGJsb2NrRmxvdy0+
aW52YWxpZGF0ZUxpbmVMYXlvdXQoUmVuZGVyQmxvY2tGbG93OjpJbnZhbGlkYXRpb25SZWFzb246
OkludGVybmFsTW92ZSk7CiAKICAgICBSZW5kZXJQdHI8UmVuZGVyQmxvY2s+IGNyZWF0ZWRQcmU7
CiAgICAgYm9vbCBtYWRlTmV3QmVmb3JlQmxvY2sgPSBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlck11bHRpQ29sdW1u
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRl
ck11bHRpQ29sdW1uLmNwcAppbmRleCBhM2UzNjBkNzdhZWIuLmRlZjNkZWRiYWQwNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVy
TXVsdGlDb2x1bW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9S
ZW5kZXJUcmVlQnVpbGRlck11bHRpQ29sdW1uLmNwcApAQCAtMjkyLDcgKzI5Miw3IEBAIFJlbmRl
ck9iamVjdCogUmVuZGVyVHJlZUJ1aWxkZXI6Ok11bHRpQ29sdW1uOjphZGp1c3RCZWZvcmVDaGls
ZEZvck11bHRpQ29sdW1uU3BhCiB2b2lkIFJlbmRlclRyZWVCdWlsZGVyOjpNdWx0aUNvbHVtbjo6
Y3JlYXRlRnJhZ21lbnRlZEZsb3coUmVuZGVyQmxvY2tGbG93JiBmbG93KQogewogICAgIGZsb3cu
c2V0Q2hpbGRyZW5JbmxpbmUoZmFsc2UpOyAvLyBEbyB0aGlzIHRvIGF2b2lkIHdyYXBwaW5nIGlu
bGluZSBjaGlsZHJlbiB0aGF0IGFyZSBqdXN0IGdvaW5nIHRvIG1vdmUgaW50byB0aGUgZmxvdyB0
aHJlYWQuCi0gICAgZmxvdy5kZWxldGVMaW5lcygpOworICAgIGZsb3cuaW52YWxpZGF0ZUxpbmVM
YXlvdXQoUmVuZGVyQmxvY2tGbG93OjpJbnZhbGlkYXRpb25SZWFzb246OkludGVybmFsTW92ZSk7
CiAgICAgLy8gSWYgdGhpcyBzb29uLXRvLWJlIG11bHRpY29sdW1uIGZsb3cgaXMgYWxyZWFkeSBw
YXJ0IG9mIGEgbXVsdGljb2x1bW4gY29udGV4dCwgd2UgbmVlZCB0byBtb3ZlIGJhY2sgdGhlIGRl
c2NlbmRhbnQgc3Bhbm5lcnMKICAgICAvLyB0byB0aGVpciBvcmlnaW5hbCBwb3NpdGlvbiBiZWZv
cmUgbW92aW5nIHN1YnRyZWVzIGFyb3VuZC4KICAgICBpZiAoYXV0byogZW5jbG9zaW5nZmxvdyA9
IGR5bmFtaWNEb3duY2FzdDxSZW5kZXJNdWx0aUNvbHVtbkZsb3c+KGZsb3cuZW5jbG9zaW5nRnJh
Z21lbnRlZEZsb3coKSkpCkBAIC0zMTksNyArMzE5LDcgQEAgdm9pZCBSZW5kZXJUcmVlQnVpbGRl
cjo6TXVsdGlDb2x1bW46OmNyZWF0ZUZyYWdtZW50ZWRGbG93KFJlbmRlckJsb2NrRmxvdyYgZmxv
dykKIHZvaWQgUmVuZGVyVHJlZUJ1aWxkZXI6Ok11bHRpQ29sdW1uOjpkZXN0cm95RnJhZ21lbnRl
ZEZsb3coUmVuZGVyQmxvY2tGbG93JiBmbG93KQogewogICAgIGF1dG8mIG11bHRpQ29sdW1uRmxv
dyA9ICpmbG93Lm11bHRpQ29sdW1uRmxvdygpOwotICAgIG11bHRpQ29sdW1uRmxvdy5kZWxldGVM
aW5lcygpOworICAgIG11bHRpQ29sdW1uRmxvdy5pbnZhbGlkYXRlTGluZUxheW91dChSZW5kZXJC
bG9ja0Zsb3c6OkludmFsaWRhdGlvblJlYXNvbjo6SW50ZXJuYWxNb3ZlKTsKIAogICAgIC8vIE1v
dmUgc3Bhbm5lcnMgYmFjayB0byB0aGVpciBvcmlnaW5hbCBET00gcG9zaXRpb24gaW4gdGhlIHRy
ZWUsIGFuZCBkZXN0cm95IHRoZSBwbGFjZWhvbGRlcnMuCiAgICAgYXV0byYgc3Bhbm5lcnMgPSBt
dWx0aUNvbHVtbkZsb3cuc3Bhbm5lck1hcCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyVGFibGUuY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyVGFibGUuY3BwCmluZGV4
IDMwNDJiODFjMDY4Yi4uYjg2ZTM4YmM2MTFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJUYWJsZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyVGFibGUuY3BwCkBA
IC0yNzUsNyArMjc1LDcgQEAgUmVuZGVyUHRyPFJlbmRlck9iamVjdD4gUmVuZGVyVHJlZUJ1aWxk
ZXI6OlRhYmxlOjpjb2xsYXBzZUFuZERldGFjaEFub255bW91c05leHQKIHZvaWQgUmVuZGVyVHJl
ZUJ1aWxkZXI6OlRhYmxlOjpjb2xsYXBzZUFuZERlc3Ryb3lBbm9ueW1vdXNTaWJsaW5nQ2VsbHMo
Y29uc3QgUmVuZGVyVGFibGVDZWxsJiB3aWxsQmVEZXN0cm95ZWQpCiB7CiAgICAgaWYgKGF1dG8g
bmV4dENlbGxUb0Rlc3Ryb3kgPSBjb2xsYXBzZUFuZERldGFjaEFub255bW91c05leHRTaWJsaW5n
KHdpbGxCZURlc3Ryb3llZC5yb3coKSwgd2lsbEJlRGVzdHJveWVkLnByZXZpb3VzQ2VsbCgpLCB3
aWxsQmVEZXN0cm95ZWQubmV4dENlbGwoKSkpCi0gICAgICAgIGRvd25jYXN0PFJlbmRlclRhYmxl
Q2VsbD4oKm5leHRDZWxsVG9EZXN0cm95KS5kZWxldGVMaW5lcygpOworICAgICAgICBkb3duY2Fz
dDxSZW5kZXJUYWJsZUNlbGw+KCpuZXh0Q2VsbFRvRGVzdHJveSkuaW52YWxpZGF0ZUxpbmVMYXlv
dXQoUmVuZGVyQmxvY2tGbG93OjpJbnZhbGlkYXRpb25SZWFzb246OkludGVybmFsTW92ZSk7CiB9
CiAKIHZvaWQgUmVuZGVyVHJlZUJ1aWxkZXI6OlRhYmxlOjpjb2xsYXBzZUFuZERlc3Ryb3lBbm9u
eW1vdXNTaWJsaW5nUm93cyhjb25zdCBSZW5kZXJUYWJsZVJvdyYgd2lsbEJlRGVzdHJveWVkKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>