<?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>285369</bug_id>
          
          <creation_ts>2025-01-03 15:53:35 -0800</creation_ts>
          <short_desc>[Cleanup] Remove misleading RenderBox::available* functions</short_desc>
          <delta_ts>2025-01-06 12:39:15 -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>2084808</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2025-01-03 15:53:35 -0800</bug_when>
    <thetext>ssia</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2084810</commentid>
    <comment_count>1</comment_count>
      <attachid>473769</attachid>
    <who name="alan">zalan</who>
    <bug_when>2025-01-03 16:02:47 -0800</bug_when>
    <thetext>Created attachment 473769
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2085039</commentid>
    <comment_count>2</comment_count>
      <attachid>473803</attachid>
    <who name="alan">zalan</who>
    <bug_when>2025-01-06 06:10:40 -0800</bug_when>
    <thetext>Created attachment 473803
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2085062</commentid>
    <comment_count>3</comment_count>
      <attachid>473809</attachid>
    <who name="alan">zalan</who>
    <bug_when>2025-01-06 08:43:00 -0800</bug_when>
    <thetext>Created attachment 473809
[fast-cq]Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2085161</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2025-01-06 12:38:55 -0800</bug_when>
    <thetext>Committed 288481@main (1538792f6d01): &lt;https://commits.webkit.org/288481@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 473809.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2085162</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2025-01-06 12:39:15 -0800</bug_when>
    <thetext>&lt;rdar://problem/142431976&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>473769</attachid>
            <date>2025-01-03 16:02:47 -0800</date>
            <delta_ts>2025-01-06 06:10:38 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-285369-20250103160247.patch</filename>
            <type>text/plain</type>
            <size>23658</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSBhMjhjNjM2NmQzYWRhN2U1YWRjY2ZlZjU1MDE0ODNlNzZmYmMxY2NiIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJhcmFkbGF5IDx6YWxhbkBhcHBsZS5jb20+CkRhdGU6
IEZyaSwgMyBKYW4gMjAyNSAxNTo1Mjo0NSAtMDgwMApTdWJqZWN0OiBbUEFUQ0hdIFtDbGVhbnVw
XSBSZW1vdmUgbWlzbGVhZGluZyBSZW5kZXJCb3g6OmF2YWlsYWJsZSogZnVuY3Rpb25zCiBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mjg1MzY5CgpSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KCkNoaWxkIGJveGVzIGNhbGwgdGhlc2UgZnVuY3Rpb25zIG9uIHRoZWly
IGNvbnRhaW5pbmcgYmxvY2tzIHRvIGZpbmQgb3V0IGhvdyBtdWNoIHNwYWNlIHRoZXkgaGF2ZS4K
SG93ZXZlciB0aGlzIGF2YWlsYWJsZSBzcGFjZSBtYXkgdmFyeSBkZXBlbmRpbmcgb24gd2hldGhl
ciB0aGUgY2hpbGQgYm94IGlzIGluLSBvciBvdXQtb2YtZmxvdyBib3ggKGNvbnRlbnQgYm94IHZz
LiBwYWRkaW5nIGJveCkuCgoqIFNvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlv
dXRJbnRlZ3JhdGlvbkZvcm1hdHRpbmdDb250ZXh0TGF5b3V0LmNwcDoKKFdlYkNvcmU6OkxheW91
dEludGVncmF0aW9uOjpsYXlvdXRXaXRoRm9ybWF0dGluZ0NvbnRleHRGb3JCb3gpOgoqIFNvdXJj
ZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9mbGV4L0xheW91dEludGVncmF0aW9uRmxleExh
eW91dC5jcHA6CihXZWJDb3JlOjpMYXlvdXRJbnRlZ3JhdGlvbjo6RmxleExheW91dDo6dXBkYXRl
Rm9ybWF0dGluZ0NvbnRleEdlb21ldHJpZXMpOgoqIFNvdXJjZS9XZWJDb3JlL3BhZ2UvTG9jYWxG
cmFtZVZpZXcuY3BwOgooV2ViQ29yZTo6TG9jYWxGcmFtZVZpZXc6OmFwcGx5UGFnaW5hdGlvblRv
Vmlld3BvcnQpOgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHA6CihX
ZWJDb3JlOjpSZW5kZXJCbG9jazo6dGV4dEluZGVudE9mZnNldCBjb25zdCk6CihXZWJDb3JlOjpS
ZW5kZXJCbG9jazo6bG9naWNhbFJpZ2h0T2Zmc2V0Rm9yQ29udGVudCBjb25zdCk6CiogU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHA6CihXZWJDb3JlOjpSZW5kZXJC
bG9ja0Zsb3c6OmNvbHVtbkdhcCBjb25zdCk6CihXZWJDb3JlOjpSZW5kZXJCbG9ja0Zsb3c6OmRl
dGVybWluZUxvZ2ljYWxMZWZ0UG9zaXRpb25Gb3JDaGlsZCk6CiogU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJveC5jcHA6CihXZWJDb3JlOjpSZW5kZXJCb3g6OmNvbnRhaW5pbmdCbG9j
a0xvZ2ljYWxXaWR0aEZvckNvbnRlbnQgY29uc3QpOgooV2ViQ29yZTo6UmVuZGVyQm94Ojpjb21w
dXRlUHJlZmVycmVkTG9naWNhbFdpZHRocyk6CiogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckJveC5oOgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hJbmxpbmVzLmg6
CihXZWJDb3JlOjpSZW5kZXJCb3g6OmF2YWlsYWJsZUhlaWdodCBjb25zdCk6IERlbGV0ZWQuCihX
ZWJDb3JlOjpSZW5kZXJCb3g6OmF2YWlsYWJsZUxvZ2ljYWxXaWR0aCBjb25zdCk6IERlbGV0ZWQu
CihXZWJDb3JlOjpSZW5kZXJCb3g6OmF2YWlsYWJsZVdpZHRoIGNvbnN0KTogRGVsZXRlZC4KKiBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwOgooV2ViQ29y
ZTo6UmVuZGVyQm94TW9kZWxPYmplY3Q6OnJlbGF0aXZlUG9zaXRpb25PZmZzZXQgY29uc3QpOgoo
V2ViQ29yZTo6UmVuZGVyQm94TW9kZWxPYmplY3Q6OmNvbXB1dGVTdGlja3lQb3NpdGlvbkNvbnN0
cmFpbnRzIGNvbnN0KToKKFdlYkNvcmU6OlJlbmRlckJveE1vZGVsT2JqZWN0Ojpjb250YWluaW5n
QmxvY2tMb2dpY2FsV2lkdGhGb3JDb250ZW50IGNvbnN0KToKKiBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyR3JpZC5jcHA6CihXZWJDb3JlOjpSZW5kZXJHcmlkOjphdmFpbGFibGVTcGFj
ZUZvckd1dHRlcnMgY29uc3QpOgooV2ViQ29yZTo6UmVuZGVyR3JpZDo6bGF5b3V0R3JpZCk6CihX
ZWJDb3JlOjpSZW5kZXJHcmlkOjpsYXlvdXRNYXNvbnJ5KToKKFdlYkNvcmU6OlJlbmRlckdyaWQ6
OnBsYWNlSXRlbXMpOgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHA6
CihXZWJDb3JlOjpSZW5kZXJJbWFnZTo6Y29tcHV0ZUludHJpbnNpY1JhdGlvSW5mb3JtYXRpb24g
Y29uc3QpOgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuY3BwOgooV2Vi
Q29yZTo6Y29tcHV0ZU1hcmdpbik6CiogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11
bHRpQ29sdW1uU2V0LmNwcDoKKFdlYkNvcmU6OlJlbmRlck11bHRpQ29sdW1uU2V0Ojpjb2x1bW5H
YXAgY29uc3QpOgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5jcHA6
CihXZWJDb3JlOjpSZW5kZXJSZXBsYWNlZDo6cGFpbnQpOgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5jcHA6CihXZWJDb3JlOjpSZW5kZXJTVkdSb290Ojpjb21w
dXRlUmVwbGFjZWRMb2dpY2FsV2lkdGggY29uc3QpOgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdmcvbGVnYWN5L0xlZ2FjeVJlbmRlclNWR1Jvb3QuY3BwOgooV2ViQ29yZTo6TGVnYWN5UmVu
ZGVyU1ZHUm9vdDo6Y29tcHV0ZVJlcGxhY2VkTG9naWNhbFdpZHRoIGNvbnN0KToKLS0tCiAuLi4v
TGF5b3V0SW50ZWdyYXRpb25Gb3JtYXR0aW5nQ29udGV4dExheW91dC5jcHAgICAgIHwgIDIgKy0K
IC4uLi9pbnRlZ3JhdGlvbi9mbGV4L0xheW91dEludGVncmF0aW9uRmxleExheW91dC5jcHAgfCAg
MiArLQogU291cmNlL1dlYkNvcmUvcGFnZS9Mb2NhbEZyYW1lVmlldy5jcHAgICAgICAgICAgICAg
ICB8ICAyICstCiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwICAgICAg
ICAgICAgIHwgIDQgKystLQogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxv
dy5jcHAgICAgICAgICB8ICA0ICsrLS0KIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
b3guY3BwICAgICAgICAgICAgICAgfCAgNCArKy0tCiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQm94LmggICAgICAgICAgICAgICAgIHwgIDYgLS0tLS0tCiBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQm94SW5saW5lcy5oICAgICAgICAgIHwgIDMgLS0tCiBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwICAgIHwgMTIgKysrKysrLS0t
LS0tCiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5jcHAgICAgICAgICAgICAg
IHwgMTAgKysrKystLS0tLQogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNw
cCAgICAgICAgICAgICB8ICAyICstCiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW5s
aW5lLmNwcCAgICAgICAgICAgIHwgIDIgKy0KIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJNdWx0aUNvbHVtblNldC5jcHAgICAgfCAgMiArLQogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclJlcGxhY2VkLmNwcCAgICAgICAgICB8ICA0ICsrLS0KIFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5jcHAgICAgICAgfCAgMiArLQogLi4uL3JlbmRlcmlu
Zy9zdmcvbGVnYWN5L0xlZ2FjeVJlbmRlclNWR1Jvb3QuY3BwICAgICB8ICAyICstCiAxNiBmaWxl
cyBjaGFuZ2VkLCAyNyBpbnNlcnRpb25zKCspLCAzNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25Gb3Jt
YXR0aW5nQ29udGV4dExheW91dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRp
b24vTGF5b3V0SW50ZWdyYXRpb25Gb3JtYXR0aW5nQ29udGV4dExheW91dC5jcHAKaW5kZXggMjlj
ZTU5MzIxNDcwLi4xM2NmZmI0MWNjMjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkZvcm1hdHRpbmdDb250ZXh0TGF5b3V0LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRp
b25Gb3JtYXR0aW5nQ29udGV4dExheW91dC5jcHAKQEAgLTU4LDcgKzU4LDcgQEAgdm9pZCBsYXlv
dXRXaXRoRm9ybWF0dGluZ0NvbnRleHRGb3JCb3goY29uc3QgTGF5b3V0OjpFbGVtZW50Qm94JiBi
b3gsIHN0ZDo6b3B0aW8KICAgICAgICAgcmV0dXJuICphbmNlc3RvcjsKICAgICB9OwogICAgIGF1
dG8gdXBkYXRlciA9IEJveEdlb21ldHJ5VXBkYXRlciB7IGxheW91dFN0YXRlLCByb290TGF5b3V0
Qm94KCkgfTsKLSAgICB1cGRhdGVyLnVwZGF0ZUJveEdlb21ldHJ5QWZ0ZXJJbnRlZ3JhdGlvbkxh
eW91dChib3gsIHdpZHRoQ29uc3RyYWludC52YWx1ZV9vcihyZW5kZXJlci5jb250YWluaW5nQmxv
Y2soKS0+YXZhaWxhYmxlTG9naWNhbFdpZHRoKCkpKTsKKyAgICB1cGRhdGVyLnVwZGF0ZUJveEdl
b21ldHJ5QWZ0ZXJJbnRlZ3JhdGlvbkxheW91dChib3gsIHdpZHRoQ29uc3RyYWludC52YWx1ZV9v
cihyZW5kZXJlci5jb250YWluaW5nQmxvY2soKS0+Y29udGVudExvZ2ljYWxXaWR0aCgpKSk7CiB9
CiAKIExheW91dFVuaXQgZm9ybWF0dGluZ0NvbnRleHRSb290TG9naWNhbFdpZHRoRm9yVHlwZShj
b25zdCBMYXlvdXQ6OkVsZW1lbnRCb3gmIGJveCwgTG9naWNhbFdpZHRoVHlwZSBsb2dpY2FsV2lk
dGhUeXBlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL2Zs
ZXgvTGF5b3V0SW50ZWdyYXRpb25GbGV4TGF5b3V0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9pbnRlZ3JhdGlvbi9mbGV4L0xheW91dEludGVncmF0aW9uRmxleExheW91dC5jcHAKaW5kZXgg
N2UxOTkwOGUyMDgzLi45ZGJmZjAwODQ1ZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9pbnRlZ3JhdGlvbi9mbGV4L0xheW91dEludGVncmF0aW9uRmxleExheW91dC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL2ZsZXgvTGF5b3V0SW50ZWdyYXRp
b25GbGV4TGF5b3V0LmNwcApAQCAtMTE3LDcgKzExNyw3IEBAIHN0YXRpYyBpbmxpbmUgTGF5b3V0
OjpDb25zdHJhaW50c0ZvckZsZXhDb250ZW50IGNvbnN0cmFpbnRzRm9yRmxleENvbnRlbnQoY29u
c3QKIHZvaWQgRmxleExheW91dDo6dXBkYXRlRm9ybWF0dGluZ0NvbnRleEdlb21ldHJpZXMoKQog
ewogICAgIGF1dG8gYm94R2VvbWV0cnlVcGRhdGVyID0gQm94R2VvbWV0cnlVcGRhdGVyIHsgbGF5
b3V0U3RhdGUoKSwgZmxleEJveCgpIH07Ci0gICAgYm94R2VvbWV0cnlVcGRhdGVyLnNldEZvcm1h
dHRpbmdDb250ZXh0Um9vdEdlb21ldHJ5KGZsZXhCb3hSZW5kZXJlcigpLmNvbnRhaW5pbmdCbG9j
aygpLT5hdmFpbGFibGVMb2dpY2FsV2lkdGgoKSk7CisgICAgYm94R2VvbWV0cnlVcGRhdGVyLnNl
dEZvcm1hdHRpbmdDb250ZXh0Um9vdEdlb21ldHJ5KGZsZXhCb3hSZW5kZXJlcigpLmNvbnRhaW5p
bmdCbG9jaygpLT5jb250ZW50TG9naWNhbFdpZHRoKCkpOwogICAgIGJveEdlb21ldHJ5VXBkYXRl
ci5zZXRGb3JtYXR0aW5nQ29udGV4dENvbnRlbnRHZW9tZXRyeShsYXlvdXRTdGF0ZSgpLmdlb21l
dHJ5Rm9yQm94KGZsZXhCb3goKSkuY29udGVudEJveFdpZHRoKCksIHsgfSk7CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTG9jYWxGcmFtZVZpZXcuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9Mb2NhbEZyYW1lVmlldy5jcHAKaW5kZXggNTI3NmU4ZDk1MWZkLi41MjI2N2Ni
MDE4NmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTG9jYWxGcmFtZVZpZXcuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTG9jYWxGcmFtZVZpZXcuY3BwCkBAIC02NjMsNyAr
NjYzLDcgQEAgdm9pZCBMb2NhbEZyYW1lVmlldzo6YXBwbHlQYWdpbmF0aW9uVG9WaWV3cG9ydCgp
CiAgICAgICAgIGlmICghY29sdW1uR2FwTGVuZ3RoLmlzTm9ybWFsKCkpIHsKICAgICAgICAgICAg
IGF1dG8qIHJlbmRlckJveCA9IGR5bmFtaWNEb3duY2FzdDxSZW5kZXJCb3g+KGRvY3VtZW50T3JC
b2R5UmVuZGVyZXIpOwogICAgICAgICAgICAgaWYgKGF1dG8qIGNvbnRhaW5lckZvclBhZ2luYXRp
b25HYXAgPSByZW5kZXJCb3ggPyByZW5kZXJCb3ggOiBkb2N1bWVudE9yQm9keVJlbmRlcmVyLT5j
b250YWluaW5nQmxvY2soKSkKLSAgICAgICAgICAgICAgICBwYWdpbmF0aW9uLmdhcCA9IHZhbHVl
Rm9yTGVuZ3RoKGNvbHVtbkdhcExlbmd0aC5sZW5ndGgoKSwgY29udGFpbmVyRm9yUGFnaW5hdGlv
bkdhcC0+YXZhaWxhYmxlTG9naWNhbFdpZHRoKCkpLnRvVW5zaWduZWQoKTsKKyAgICAgICAgICAg
ICAgICBwYWdpbmF0aW9uLmdhcCA9IHZhbHVlRm9yTGVuZ3RoKGNvbHVtbkdhcExlbmd0aC5sZW5n
dGgoKSwgY29udGFpbmVyRm9yUGFnaW5hdGlvbkdhcC0+Y29udGVudExvZ2ljYWxXaWR0aCgpKS50
b1Vuc2lnbmVkKCk7CiAgICAgICAgIH0KICAgICB9CiAgICAgc2V0UGFnaW5hdGlvbihwYWdpbmF0
aW9uKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCmluZGV4IDU2NTNm
YTM2OGUwZS4uMWNlZDYwY2U3MmFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQmxvY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
bG9jay5jcHAKQEAgLTE4NTgsNyArMTg1OCw3IEBAIExheW91dFVuaXQgUmVuZGVyQmxvY2s6OnRl
eHRJbmRlbnRPZmZzZXQoKSBjb25zdAogewogICAgIExheW91dFVuaXQgY3c7CiAgICAgaWYgKHN0
eWxlKCkudGV4dEluZGVudCgpLmlzUGVyY2VudE9yQ2FsY3VsYXRlZCgpKQotICAgICAgICBjdyA9
IGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCgpOworICAgICAgICBjdyA9IGNvbnRlbnRMb2dpY2FsV2lk
dGgoKTsKICAgICByZXR1cm4gbWluaW11bVZhbHVlRm9yTGVuZ3RoKHN0eWxlKCkudGV4dEluZGVu
dCgpLCBjdyk7CiB9CiAKQEAgLTE4NzUsNyArMTg3NSw3IEBAIExheW91dFVuaXQgUmVuZGVyQmxv
Y2s6OmxvZ2ljYWxSaWdodE9mZnNldEZvckNvbnRlbnQoKSBjb25zdAogICAgIExheW91dFVuaXQg
bG9naWNhbFJpZ2h0T2Zmc2V0ID0gd3JpdGluZ01vZGUoKS5pc0hvcml6b250YWwoKSA/IGJvcmRl
ckxlZnQoKSArIHBhZGRpbmdMZWZ0KCkgOiBib3JkZXJUb3AoKSArIHBhZGRpbmdUb3AoKTsKICAg
ICBpZiAoc2hvdWxkUGxhY2VWZXJ0aWNhbFNjcm9sbGJhck9uTGVmdCgpICYmIGlzSG9yaXpvbnRh
bFdyaXRpbmdNb2RlKCkpCiAgICAgICAgIGxvZ2ljYWxSaWdodE9mZnNldCArPSB2ZXJ0aWNhbFNj
cm9sbGJhcldpZHRoKCk7Ci0gICAgbG9naWNhbFJpZ2h0T2Zmc2V0ICs9IGF2YWlsYWJsZUxvZ2lj
YWxXaWR0aCgpOworICAgIGxvZ2ljYWxSaWdodE9mZnNldCArPSBjb250ZW50TG9naWNhbFdpZHRo
KCk7CiAgICAgcmV0dXJuIGxvZ2ljYWxSaWdodE9mZnNldDsKIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcAppbmRleCA5ZDk1ZGIwMmRkYmYuLjJlODU4
YWZlMmZjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2Nr
Rmxvdy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5j
cHAKQEAgLTM0Nyw3ICszNDcsNyBAQCBMYXlvdXRVbml0IFJlbmRlckJsb2NrRmxvdzo6Y29sdW1u
R2FwKCkgY29uc3QKIHsKICAgICBpZiAoc3R5bGUoKS5jb2x1bW5HYXAoKS5pc05vcm1hbCgpKQog
ICAgICAgICByZXR1cm4gTGF5b3V0VW5pdChzdHlsZSgpLmZvbnREZXNjcmlwdGlvbigpLmNvbXB1
dGVkU2l6ZSgpKTsgLy8gIjFlbSIgaXMgcmVjb21tZW5kZWQgYXMgdGhlIG5vcm1hbCBnYXAgc2V0
dGluZy4gTWF0Y2hlcyA8cD4gbWFyZ2lucy4KLSAgICByZXR1cm4gdmFsdWVGb3JMZW5ndGgoc3R5
bGUoKS5jb2x1bW5HYXAoKS5sZW5ndGgoKSwgYXZhaWxhYmxlTG9naWNhbFdpZHRoKCkpOworICAg
IHJldHVybiB2YWx1ZUZvckxlbmd0aChzdHlsZSgpLmNvbHVtbkdhcCgpLmxlbmd0aCgpLCBjb250
ZW50TG9naWNhbFdpZHRoKCkpOwogfQogCiB2b2lkIFJlbmRlckJsb2NrRmxvdzo6Y29tcHV0ZUNv
bHVtbkNvdW50QW5kV2lkdGgoKQpAQCAtMTEwNyw3ICsxMTA3LDcgQEAgdm9pZCBSZW5kZXJCbG9j
a0Zsb3c6OmRldGVybWluZUxvZ2ljYWxMZWZ0UG9zaXRpb25Gb3JDaGlsZChSZW5kZXJCb3gmIGNo
aWxkLCBBcHAKICAgICAgICAgc3RhcnRQb3NpdGlvbiArPSAod3JpdGluZ01vZGUoKS5pc0xvZ2lj
YWxMZWZ0SW5saW5lU3RhcnQoKSA/IDEgOiAtMSkgKiB2ZXJ0aWNhbFNjcm9sbGJhcldpZHRoKCk7
CiAgICAgaWYgKHN0eWxlKCkuc2Nyb2xsYmFyR3V0dGVyKCkuYm90aEVkZ2VzICYmICFpc0hvcml6
b250YWxXcml0aW5nTW9kZSgpKQogICAgICAgICBzdGFydFBvc2l0aW9uICs9ICh3cml0aW5nTW9k
ZSgpLmlzTG9naWNhbExlZnRJbmxpbmVTdGFydCgpID8gMSA6IC0xKSAqIGhvcml6b250YWxTY3Jv
bGxiYXJIZWlnaHQoKTsKLSAgICBMYXlvdXRVbml0IHRvdGFsQXZhaWxhYmxlTG9naWNhbFdpZHRo
ID0gYm9yZGVyQW5kUGFkZGluZ0xvZ2ljYWxXaWR0aCgpICsgYXZhaWxhYmxlTG9naWNhbFdpZHRo
KCk7CisgICAgTGF5b3V0VW5pdCB0b3RhbEF2YWlsYWJsZUxvZ2ljYWxXaWR0aCA9IGxvZ2ljYWxX
aWR0aCgpOwogCiAgICAgTGF5b3V0VW5pdCBjaGlsZE1hcmdpblN0YXJ0ID0gbWFyZ2luU3RhcnRG
b3JDaGlsZChjaGlsZCk7CiAgICAgTGF5b3V0VW5pdCBuZXdQb3NpdGlvbiA9IHN0YXJ0UG9zaXRp
b24gKyBjaGlsZE1hcmdpblN0YXJ0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNw
cAppbmRleCAwMGJiYzhkZTRlYmQuLjVlYjMwNTJiYmNhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJveC5jcHAKQEAgLTIyNjQsNyArMjI2NCw3IEBAIExheW91dFVuaXQgUmVuZGVy
Qm94Ojpjb250YWluaW5nQmxvY2tMb2dpY2FsV2lkdGhGb3JDb250ZW50KCkgY29uc3QKICAgICB9
CiAKICAgICBpZiAoYXV0byogY29udGFpbmluZ0Jsb2NrID0gdGhpcy0+Y29udGFpbmluZ0Jsb2Nr
KCkpCi0gICAgICAgIHJldHVybiBpc091dE9mRmxvd1Bvc2l0aW9uZWQoKSA/IGNvbnRhaW5pbmdC
bG9jay0+Y2xpZW50TG9naWNhbFdpZHRoKCkgOiBjb250YWluaW5nQmxvY2stPmF2YWlsYWJsZUxv
Z2ljYWxXaWR0aCgpOworICAgICAgICByZXR1cm4gaXNPdXRPZkZsb3dQb3NpdGlvbmVkKCkgPyBj
b250YWluaW5nQmxvY2stPmNsaWVudExvZ2ljYWxXaWR0aCgpIDogY29udGFpbmluZ0Jsb2NrLT5j
b250ZW50TG9naWNhbFdpZHRoKCk7CiAKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICBy
ZXR1cm4gMF9sdTsKQEAgLTM1NzMsNyArMzU3Myw3IEBAIHZvaWQgUmVuZGVyQm94Ojpjb21wdXRl
UHJlZmVycmVkTG9naWNhbFdpZHRocyhjb25zdCBMZW5ndGgmIG1pbkxvZ2ljYWxXaWR0aCwgY29u
CiAgICAgICAgICAgICBpZiAoIXNob3VsZENvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzRnJv
bVN0eWxlKCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIG1fbWluUHJlZmVycmVkTG9naWNhbFdp
ZHRoOwogCi0gICAgICAgICAgICByZXR1cm4gY29tcHV0ZUludHJpbnNpY0xvZ2ljYWxXaWR0aFVz
aW5nKG1heExvZ2ljYWxXaWR0aCwgYXZhaWxhYmxlTG9naWNhbFdpZHRoKCksIHsgfSk7CisgICAg
ICAgICAgICByZXR1cm4gY29tcHV0ZUludHJpbnNpY0xvZ2ljYWxXaWR0aFVzaW5nKG1heExvZ2lj
YWxXaWR0aCwgY29udGVudExvZ2ljYWxXaWR0aCgpLCB7IH0pOwogICAgICAgICB9CiAgICAgICAg
IHJldHVybiBMYXlvdXRVbml0OjptYXgoKTsKICAgICB9KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQm94LmgKaW5kZXggZDM0MGE1ODcxMjE2Li5iODliZjU2YzExMDkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgKQEAgLTQxNywxNSArNDE3LDkgQEAgcHVibGljOgogICAg
IHN0ZDo6b3B0aW9uYWw8TGF5b3V0VW5pdD4gY29tcHV0ZVBlcmNlbnRhZ2VMb2dpY2FsSGVpZ2h0
KGNvbnN0IExlbmd0aCYgaGVpZ2h0LCBVcGRhdGVQZXJjZW50YWdlSGVpZ2h0RGVzY2VuZGFudHMg
PSBVcGRhdGVQZXJjZW50YWdlSGVpZ2h0RGVzY2VuZGFudHM6OlllcykgY29uc3Q7CiAgICAgYm9v
bCBoYXNBdXRvSGVpZ2h0T3JDb250YWluaW5nQmxvY2tXaXRoQXV0b0hlaWdodChVcGRhdGVQZXJj
ZW50YWdlSGVpZ2h0RGVzY2VuZGFudHMgPSBVcGRhdGVQZXJjZW50YWdlSGVpZ2h0RGVzY2VuZGFu
dHM6OlllcykgY29uc3Q7CiAKLSAgICBpbmxpbmUgTGF5b3V0VW5pdCBhdmFpbGFibGVMb2dpY2Fs
V2lkdGgoKSBjb25zdDsKICAgICB2aXJ0dWFsIExheW91dFVuaXQgYXZhaWxhYmxlTG9naWNhbEhl
aWdodChBdmFpbGFibGVMb2dpY2FsSGVpZ2h0VHlwZSkgY29uc3Q7CiAgICAgTGF5b3V0VW5pdCBh
dmFpbGFibGVMb2dpY2FsSGVpZ2h0VXNpbmcoY29uc3QgTGVuZ3RoJiwgQXZhaWxhYmxlTG9naWNh
bEhlaWdodFR5cGUpIGNvbnN0OwogCi0gICAgLy8gVGhlcmUgYXJlIGEgZmV3IGNhc2VzIHdoZXJl
IHdlIG5lZWQgdG8gcmVmZXIgc3BlY2lmaWNhbGx5IHRvIHRoZSBhdmFpbGFibGUgcGh5c2ljYWwg
d2lkdGggYW5kIGF2YWlsYWJsZSBwaHlzaWNhbCBoZWlnaHQuCi0gICAgLy8gUmVsYXRpdmUgcG9z
aXRpb25pbmcgaXMgb25lIG9mIHRob3NlIGNhc2VzLCBzaW5jZSBsZWZ0L3RvcCBvZmZzZXRzIGFy
ZSBwaHlzaWNhbC4KLSAgICBpbmxpbmUgTGF5b3V0VW5pdCBhdmFpbGFibGVXaWR0aCgpIGNvbnN0
OwotICAgIGlubGluZSBMYXlvdXRVbml0IGF2YWlsYWJsZUhlaWdodCgpIGNvbnN0OwotCiAgICAg
V0VCQ09SRV9FWFBPUlQgdmlydHVhbCBpbnQgdmVydGljYWxTY3JvbGxiYXJXaWR0aCgpIGNvbnN0
OwogICAgIFdFQkNPUkVfRVhQT1JUIHZpcnR1YWwgaW50IGhvcml6b250YWxTY3JvbGxiYXJIZWln
aHQoKSBjb25zdDsKICAgICBpbnQgaW50cmluc2ljU2Nyb2xsYmFyTG9naWNhbFdpZHRoSW5jbHVk
aW5nR3V0dGVyKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQm94SW5saW5lcy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveElu
bGluZXMuaAppbmRleCA3M2M5YjQ1MjNlOWIuLjE3MzBkYTc2MmVmZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveElubGluZXMuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQm94SW5saW5lcy5oCkBAIC0yNCw5ICsyNCw2IEBACiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAotaW5saW5lIExheW91dFVuaXQgUmVuZGVyQm94OjphdmFpbGFi
bGVIZWlnaHQoKSBjb25zdCB7IHJldHVybiB3cml0aW5nTW9kZSgpLmlzSG9yaXpvbnRhbCgpID8g
YXZhaWxhYmxlTG9naWNhbEhlaWdodChBdmFpbGFibGVMb2dpY2FsSGVpZ2h0VHlwZTo6SW5jbHVk
ZU1hcmdpbkJvcmRlclBhZGRpbmcpIDogYXZhaWxhYmxlTG9naWNhbFdpZHRoKCk7IH0KLWlubGlu
ZSBMYXlvdXRVbml0IFJlbmRlckJveDo6YXZhaWxhYmxlTG9naWNhbFdpZHRoKCkgY29uc3QgeyBy
ZXR1cm4gY29udGVudExvZ2ljYWxXaWR0aCgpOyB9Ci1pbmxpbmUgTGF5b3V0VW5pdCBSZW5kZXJC
b3g6OmF2YWlsYWJsZVdpZHRoKCkgY29uc3QgeyByZXR1cm4gd3JpdGluZ01vZGUoKS5pc0hvcml6
b250YWwoKSA/IGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCgpIDogYXZhaWxhYmxlTG9naWNhbEhlaWdo
dChBdmFpbGFibGVMb2dpY2FsSGVpZ2h0VHlwZTo6SW5jbHVkZU1hcmdpbkJvcmRlclBhZGRpbmcp
OyB9CiBpbmxpbmUgTGF5b3V0U2l6ZSBSZW5kZXJCb3g6OmJvcmRlckJveExvZ2ljYWxTaXplKCkg
Y29uc3QgeyByZXR1cm4gbG9naWNhbFNpemUoKTsgfQogaW5saW5lIExheW91dFJlY3QgUmVuZGVy
Qm94OjpjbGllbnRCb3hSZWN0KCkgY29uc3QgeyByZXR1cm4gTGF5b3V0UmVjdChjbGllbnRMZWZ0
KCksIGNsaWVudFRvcCgpLCBjbGllbnRXaWR0aCgpLCBjbGllbnRIZWlnaHQoKSk7IH0KIGlubGlu
ZSBMYXlvdXRVbml0IFJlbmRlckJveDo6Y2xpZW50TGVmdCgpIGNvbnN0IHsgcmV0dXJuIGJvcmRl
ckxlZnQoKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJv
eE1vZGVsT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2Rl
bE9iamVjdC5jcHAKaW5kZXggNzQ3Mjc3OTllYjlkLi4wZDUxNWJmOWI1MTcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcApAQCAtMzc5
LDEyICszNzksMTIgQEAgTGF5b3V0U2l6ZSBSZW5kZXJCb3hNb2RlbE9iamVjdDo6cmVsYXRpdmVQ
b3NpdGlvbk9mZnNldCgpIGNvbnN0CiAgICAgICAgIGF1dG8gYXZhaWxhYmxlV2lkdGggPSBbJl0g
ewogICAgICAgICAgICAgYXV0byogcmVuZGVyQm94ID0gZHluYW1pY0Rvd25jYXN0PFJlbmRlckJv
eD4oKnRoaXMpOwogICAgICAgICAgICAgaWYgKCFyZW5kZXJCb3ggfHwgIXJlbmRlckJveC0+aXNH
cmlkSXRlbSgpKQotICAgICAgICAgICAgICAgIHJldHVybiBjb250YWluaW5nQmxvY2stPmF2YWls
YWJsZVdpZHRoKCk7CisgICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRhaW5pbmdCbG9jay0+Y29u
dGVudFdpZHRoKCk7CiAgICAgICAgICAgICAvLyBGb3IgZ3JpZCBpdGVtcyB0aGUgY29udGFpbmlu
ZyBibG9jayBpcyB0aGUgZ3JpZCBhcmVhLCBzbyBvZmZzZXRzIHNob3VsZCBiZSByZXNvbHZlZCBh
Z2FpbnN0IHRoYXQuCiAgICAgICAgICAgICBhdXRvIGNvbnRhaW5pbmdCbG9ja0NvbnRlbnRXaWR0
aCA9IHJlbmRlckJveC0+Z3JpZEFyZWFDb250ZW50V2lkdGgoY29udGFpbmluZ0Jsb2NrLT53cml0
aW5nTW9kZSgpKTsKICAgICAgICAgICAgIGlmICghY29udGFpbmluZ0Jsb2NrQ29udGVudFdpZHRo
IHx8ICEqY29udGFpbmluZ0Jsb2NrQ29udGVudFdpZHRoKSB7CiAgICAgICAgICAgICAgICAgQVNT
RVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRhaW5pbmdCbG9j
ay0+YXZhaWxhYmxlV2lkdGgoKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gY29udGFpbmluZ0Js
b2NrLT5jb250ZW50V2lkdGgoKTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIHJldHVybiAq
KmNvbnRhaW5pbmdCbG9ja0NvbnRlbnRXaWR0aDsKICAgICAgICAgfTsKQEAgLTQxMiwxMiArNDEy
LDEyIEBAIExheW91dFNpemUgUmVuZGVyQm94TW9kZWxPYmplY3Q6OnJlbGF0aXZlUG9zaXRpb25P
ZmZzZXQoKSBjb25zdAogICAgIGF1dG8gYXZhaWxhYmxlSGVpZ2h0ID0gWyZdIHsKICAgICAgICAg
YXV0byogcmVuZGVyQm94ID0gZHluYW1pY0Rvd25jYXN0PFJlbmRlckJveD4oKnRoaXMpOwogICAg
ICAgICBpZiAoIXJlbmRlckJveCB8fCAhcmVuZGVyQm94LT5pc0dyaWRJdGVtKCkpCi0gICAgICAg
ICAgICByZXR1cm4gY29udGFpbmluZ0Jsb2NrLT5hdmFpbGFibGVIZWlnaHQoKTsKKyAgICAgICAg
ICAgIHJldHVybiBjb250YWluaW5nQmxvY2stPmNvbnRlbnRIZWlnaHQoKTsKICAgICAgICAgLy8g
Rm9yIGdyaWQgaXRlbXMgdGhlIGNvbnRhaW5pbmcgYmxvY2sgaXMgdGhlIGdyaWQgYXJlYSwgc28g
b2Zmc2V0cyBzaG91bGQgYmUgcmVzb2x2ZWQgYWdhaW5zdCB0aGF0LgogICAgICAgICBhdXRvIGNv
bnRhaW5pbmdCbG9ja0NvbnRlbnRIZWlnaHQgPSByZW5kZXJCb3gtPmdyaWRBcmVhQ29udGVudEhl
aWdodChjb250YWluaW5nQmxvY2stPnN0eWxlKCkud3JpdGluZ01vZGUoKSk7CiAgICAgICAgIGlm
ICghY29udGFpbmluZ0Jsb2NrQ29udGVudEhlaWdodCB8fCAhKmNvbnRhaW5pbmdCbG9ja0NvbnRl
bnRIZWlnaHQpIHsKICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICAg
ICAgcmV0dXJuIGNvbnRhaW5pbmdCbG9jay0+YXZhaWxhYmxlSGVpZ2h0KCk7CisgICAgICAgICAg
ICByZXR1cm4gY29udGFpbmluZ0Jsb2NrLT5jb250ZW50SGVpZ2h0KCk7CiAgICAgICAgIH0KICAg
ICAgICAgcmV0dXJuICoqY29udGFpbmluZ0Jsb2NrQ29udGVudEhlaWdodDsKICAgICB9OwpAQCAt
NTMyLDcgKzUzMiw3IEBAIHZvaWQgUmVuZGVyQm94TW9kZWxPYmplY3Q6OmNvbXB1dGVTdGlja3lQ
b3NpdGlvbkNvbnN0cmFpbnRzKFN0aWNreVBvc2l0aW9uVmlld3BvCiAgICAgICAgICAgICBjb250
YWluaW5nQmxvY2stPmNvbXB1dGVkQ1NTUGFkZGluZ0JvdHRvbSgpLCBjb250YWluaW5nQmxvY2st
PmNvbXB1dGVkQ1NTUGFkZGluZ0xlZnQoKSB9KTsKICAgICB9CiAKLSAgICBMYXlvdXRVbml0IG1h
eFdpZHRoID0gY29udGFpbmluZ0Jsb2NrLT5hdmFpbGFibGVMb2dpY2FsV2lkdGgoKTsKKyAgICBM
YXlvdXRVbml0IG1heFdpZHRoID0gY29udGFpbmluZ0Jsb2NrLT5jb250ZW50TG9naWNhbFdpZHRo
KCk7CiAKICAgICAvLyBTdGlja3kgcG9zaXRpb25lZCBlbGVtZW50IGlnbm9yZSBhbnkgb3ZlcnJp
ZGUgbG9naWNhbCB3aWR0aCBvbiB0aGUgY29udGFpbmluZyBibG9jayAoYXMgdGhleSBkb24ndCBj
YWxsCiAgICAgLy8gY29udGFpbmluZ0Jsb2NrTG9naWNhbFdpZHRoRm9yQ29udGVudCkuIEl0J3Mg
dW5jbGVhciB3aGV0aGVyIHRoaXMgaXMgdG90YWxseSBmaW5lLgpAQCAtODU1LDcgKzg1NSw3IEBA
IEJvcmRlclNoYXBlIFJlbmRlckJveE1vZGVsT2JqZWN0Ojpib3JkZXJTaGFwZUZvckNvbnRlbnRD
bGlwcGluZyhjb25zdCBMYXlvdXRSZWN0CiBMYXlvdXRVbml0IFJlbmRlckJveE1vZGVsT2JqZWN0
Ojpjb250YWluaW5nQmxvY2tMb2dpY2FsV2lkdGhGb3JDb250ZW50KCkgY29uc3QKIHsKICAgICBp
ZiAoYXV0byogY29udGFpbmluZ0Jsb2NrID0gdGhpcy0+Y29udGFpbmluZ0Jsb2NrKCkpCi0gICAg
ICAgIHJldHVybiBjb250YWluaW5nQmxvY2stPmF2YWlsYWJsZUxvZ2ljYWxXaWR0aCgpOworICAg
ICAgICByZXR1cm4gY29udGFpbmluZ0Jsb2NrLT5jb250ZW50TG9naWNhbFdpZHRoKCk7CiAgICAg
cmV0dXJuIHsgfTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckdyaWQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwCmlu
ZGV4IGJjNTUzMjI4YzliZi4uZWEyZTExYzkxYmJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckdyaWQuY3BwCkBAIC0xNjEsNyArMTYxLDcgQEAgc3RkOjpvcHRpb25hbDxMYXlvdXRV
bml0PiBSZW5kZXJHcmlkOjphdmFpbGFibGVTcGFjZUZvckd1dHRlcnMoR3JpZFRyYWNrU2l6aW5n
RGkKICAgICBpZiAoZ2FwTGVuZ3RoLmlzTm9ybWFsKCkgfHwgIWdhcExlbmd0aC5sZW5ndGgoKS5p
c1BlcmNlbnRPckNhbGN1bGF0ZWQoKSkKICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKIAot
ICAgIHJldHVybiBpc1Jvd0F4aXMgPyBhdmFpbGFibGVMb2dpY2FsV2lkdGgoKSA6IGNvbnRlbnRM
b2dpY2FsSGVpZ2h0KCk7CisgICAgcmV0dXJuIGlzUm93QXhpcyA/IGNvbnRlbnRMb2dpY2FsV2lk
dGgoKSA6IGNvbnRlbnRMb2dpY2FsSGVpZ2h0KCk7CiB9CiAKIHZvaWQgUmVuZGVyR3JpZDo6Y29t
cHV0ZVRyYWNrU2l6ZXNGb3JEZWZpbml0ZVNpemUoR3JpZFRyYWNrU2l6aW5nRGlyZWN0aW9uIGRp
cmVjdGlvbiwgTGF5b3V0VW5pdCBhdmFpbGFibGVTcGFjZSwgR3JpZExheW91dFN0YXRlJiBncmlk
TGF5b3V0U3RhdGUpCkBAIC0zNDQsNyArMzQ0LDcgQEAgdm9pZCBSZW5kZXJHcmlkOjpsYXlvdXRH
cmlkKGJvb2wgcmVsYXlvdXRDaGlsZHJlbikKICAgICAgICAgLy8gSXQgZG9lc24ndCBnZXQgaW5j
bHVkZWQgaW4gdGhlIG5vcm1hbCBsYXlvdXQgcHJvY2VzcyBidXQgaXMgaW5zdGVhZCBza2lwcGVk
LgogICAgICAgICBsYXlvdXRFeGNsdWRlZENoaWxkcmVuKHJlbGF5b3V0Q2hpbGRyZW4pOwogCi0g
ICAgICAgIExheW91dFVuaXQgYXZhaWxhYmxlU3BhY2VGb3JDb2x1bW5zID0gYXZhaWxhYmxlTG9n
aWNhbFdpZHRoKCk7CisgICAgICAgIExheW91dFVuaXQgYXZhaWxhYmxlU3BhY2VGb3JDb2x1bW5z
ID0gY29udGVudExvZ2ljYWxXaWR0aCgpOwogICAgICAgICBwbGFjZUl0ZW1zT25HcmlkKGF2YWls
YWJsZVNwYWNlRm9yQ29sdW1ucyk7CiAKICAgICAgICAgbV90cmFja1NpemluZ0FsZ29yaXRobS5z
ZXRBdmFpbGFibGVTcGFjZShHcmlkVHJhY2tTaXppbmdEaXJlY3Rpb246OkZvckNvbHVtbnMsIGF2
YWlsYWJsZVNwYWNlRm9yQ29sdW1ucyk7CkBAIC00NzQsNyArNDc0LDcgQEAgdm9pZCBSZW5kZXJH
cmlkOjpsYXlvdXRNYXNvbnJ5KGJvb2wgcmVsYXlvdXRDaGlsZHJlbikKIAogICAgICAgICB1cGRh
dGVMb2dpY2FsV2lkdGgoKTsKIAotICAgICAgICBMYXlvdXRVbml0IGF2YWlsYWJsZVNwYWNlRm9y
Q29sdW1ucyA9IGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCgpOworICAgICAgICBMYXlvdXRVbml0IGF2
YWlsYWJsZVNwYWNlRm9yQ29sdW1ucyA9IGNvbnRlbnRMb2dpY2FsV2lkdGgoKTsKICAgICAgICAg
cGxhY2VJdGVtc09uR3JpZChhdmFpbGFibGVTcGFjZUZvckNvbHVtbnMpOwogCiAgICAgICAgIG1f
dHJhY2tTaXppbmdBbGdvcml0aG0uc2V0QXZhaWxhYmxlU3BhY2UoR3JpZFRyYWNrU2l6aW5nRGly
ZWN0aW9uOjpGb3JDb2x1bW5zLCBhdmFpbGFibGVTcGFjZUZvckNvbHVtbnMpOwpAQCAtOTA3LDcg
KzkwNyw3IEBAIHZvaWQgUmVuZGVyR3JpZDo6cGxhY2VJdGVtcygpCiB7CiAgICAgdXBkYXRlTG9n
aWNhbFdpZHRoKCk7CiAKLSAgICBMYXlvdXRVbml0IGF2YWlsYWJsZVNwYWNlRm9yQ29sdW1ucyA9
IGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCgpOworICAgIExheW91dFVuaXQgYXZhaWxhYmxlU3BhY2VG
b3JDb2x1bW5zID0gY29udGVudExvZ2ljYWxXaWR0aCgpOwogICAgIHBsYWNlSXRlbXNPbkdyaWQo
YXZhaWxhYmxlU3BhY2VGb3JDb2x1bW5zKTsKIH0KIApAQCAtOTg0LDcgKzk4NCw3IEBAIEF1dG9S
ZXBlYXRUeXBlIFJlbmRlckdyaWQ6OmF1dG9SZXBlYXRSb3dzVHlwZSgpIGNvbnN0CiAKIAogLy8g
RklYTUU6IFdlIHNob3VsZG4ndCBoYXZlIHRvIHBhc3MgdGhlIGF2YWlsYWJsZSBsb2dpY2FsIHdp
ZHRoIGFzIGFyZ3VtZW50LiBUaGUgcHJvYmxlbSBpcyB0aGF0Ci0vLyBhdmFpbGFibGVMb2dpY2Fs
V2lkdGgoKSBkb2VzIGFsd2F5cyByZXR1cm4gYSB2YWx1ZSBldmVuIGlmIHdlIGNhbm5vdCByZXNv
bHZlIGl0IGxpa2Ugd2hlbgorLy8gY29udGVudExvZ2ljYWxXaWR0aCgpIGRvZXMgYWx3YXlzIHJl
dHVybiBhIHZhbHVlIGV2ZW4gaWYgd2UgY2Fubm90IHJlc29sdmUgaXQgbGlrZSB3aGVuCiAvLyBj
b21wdXRpbmcgdGhlIGludHJpbnNpYyBzaXplIChwcmVmZXJyZWQgd2lkdGhzKS4gVGhhdCdzIHdo
eSB3ZSBwYXNzIHRoZSByZXNwb25zaWJpbGl0eSB0byB0aGUKIC8vIGNhbGxlciB3aG8gZG9lcyBr
bm93IHdoZXRoZXIgdGhlIGF2YWlsYWJsZSBsb2dpY2FsIHdpZHRoIGlzIGluZGVmaW5pdGUgb3Ig
bm90Lgogdm9pZCBSZW5kZXJHcmlkOjpwbGFjZUl0ZW1zT25HcmlkKHN0ZDo6b3B0aW9uYWw8TGF5
b3V0VW5pdD4gYXZhaWxhYmxlTG9naWNhbFdpZHRoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJJbWFnZS5jcHAKaW5kZXggMTBjYzhlNTI1NWMwLi5lNmJjYmI3ZDUxN2UgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcApAQCAtOTAwLDcgKzkwMCw3IEBAIHZv
aWQgUmVuZGVySW1hZ2U6OmNvbXB1dGVJbnRyaW5zaWNSYXRpb0luZm9ybWF0aW9uKEZsb2F0U2l6
ZSYgaW50cmluc2ljU2l6ZSwgRmxvCiAgICAgaWYgKGludHJpbnNpY1NpemUuaXNFbXB0eSgpICYm
IChpbWFnZVJlc291cmNlKCkuaW1hZ2VIYXNSZWxhdGl2ZVdpZHRoKCkgfHwgaW1hZ2VSZXNvdXJj
ZSgpLmltYWdlSGFzUmVsYXRpdmVIZWlnaHQoKSkpIHsKICAgICAgICAgUmVuZGVyT2JqZWN0KiBj
b250YWluaW5nQmxvY2sgPSBpc091dE9mRmxvd1Bvc2l0aW9uZWQoKSA/IGNvbnRhaW5lcigpIDog
dGhpcy0+Y29udGFpbmluZ0Jsb2NrKCk7CiAgICAgICAgIGlmIChhdXRvKiBib3ggPSBkeW5hbWlj
RG93bmNhc3Q8UmVuZGVyQm94PigqY29udGFpbmluZ0Jsb2NrKSkgewotICAgICAgICAgICAgaW50
cmluc2ljU2l6ZS5zZXRXaWR0aChib3gtPmF2YWlsYWJsZUxvZ2ljYWxXaWR0aCgpKTsKKyAgICAg
ICAgICAgIGludHJpbnNpY1NpemUuc2V0V2lkdGgoYm94LT5jb250ZW50TG9naWNhbFdpZHRoKCkp
OwogICAgICAgICAgICAgaW50cmluc2ljU2l6ZS5zZXRIZWlnaHQoYm94LT5hdmFpbGFibGVMb2dp
Y2FsSGVpZ2h0KEF2YWlsYWJsZUxvZ2ljYWxIZWlnaHRUeXBlOjpJbmNsdWRlTWFyZ2luQm9yZGVy
UGFkZGluZykpOwogICAgICAgICB9CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlcklubGluZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVySW5saW5lLmNwcAppbmRleCAxOTdjNzgzZTRmY2EuLjE4ZDY5N2FkMzE1NyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklubGluZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklubGluZS5jcHAKQEAgLTM0OSw3ICszNDksNyBAQCBz
dGF0aWMgTGF5b3V0VW5pdCBjb21wdXRlTWFyZ2luKGNvbnN0IFJlbmRlcklubGluZSogcmVuZGVy
ZXIsIGNvbnN0IExlbmd0aCYgbWFyZwogICAgIGlmIChtYXJnaW4uaXNGaXhlZCgpKQogICAgICAg
ICByZXR1cm4gTGF5b3V0VW5pdChtYXJnaW4udmFsdWUoKSk7CiAgICAgaWYgKG1hcmdpbi5pc1Bl
cmNlbnRPckNhbGN1bGF0ZWQoKSkKLSAgICAgICAgcmV0dXJuIG1pbmltdW1WYWx1ZUZvckxlbmd0
aChtYXJnaW4sIHN0ZDo6bWF4PExheW91dFVuaXQ+KDAsIHJlbmRlcmVyLT5jb250YWluaW5nQmxv
Y2soKS0+YXZhaWxhYmxlTG9naWNhbFdpZHRoKCkpKTsKKyAgICAgICAgcmV0dXJuIG1pbmltdW1W
YWx1ZUZvckxlbmd0aChtYXJnaW4sIHN0ZDo6bWF4PExheW91dFVuaXQ+KDAsIHJlbmRlcmVyLT5j
b250YWluaW5nQmxvY2soKS0+Y29udGVudExvZ2ljYWxXaWR0aCgpKSk7CiAgICAgcmV0dXJuIDA7
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNv
bHVtblNldC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5T
ZXQuY3BwCmluZGV4IDZlZTNjZTQ2M2UwMi4uZGMwM2E3MjNjMjg4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5TZXQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtblNldC5jcHAKQEAgLTQ0Myw3ICs0
NDMsNyBAQCBMYXlvdXRVbml0IFJlbmRlck11bHRpQ29sdW1uU2V0Ojpjb2x1bW5HYXAoKSBjb25z
dAogICAgIFJlbmRlckJsb2NrRmxvdyYgcGFyZW50QmxvY2sgPSBkb3duY2FzdDxSZW5kZXJCbG9j
a0Zsb3c+KCpwYXJlbnQoKSk7CiAgICAgaWYgKHBhcmVudEJsb2NrLnN0eWxlKCkuY29sdW1uR2Fw
KCkuaXNOb3JtYWwoKSkKICAgICAgICAgcmV0dXJuIExheW91dFVuaXQocGFyZW50QmxvY2suc3R5
bGUoKS5mb250RGVzY3JpcHRpb24oKS5jb21wdXRlZFNpemUoKSk7IC8vICIxZW0iIGlzIHJlY29t
bWVuZGVkIGFzIHRoZSBub3JtYWwgZ2FwIHNldHRpbmcuIE1hdGNoZXMgPHA+IG1hcmdpbnMuCi0g
ICAgcmV0dXJuIHZhbHVlRm9yTGVuZ3RoKHBhcmVudEJsb2NrLnN0eWxlKCkuY29sdW1uR2FwKCku
bGVuZ3RoKCksIHBhcmVudEJsb2NrLmF2YWlsYWJsZUxvZ2ljYWxXaWR0aCgpKTsKKyAgICByZXR1
cm4gdmFsdWVGb3JMZW5ndGgocGFyZW50QmxvY2suc3R5bGUoKS5jb2x1bW5HYXAoKS5sZW5ndGgo
KSwgcGFyZW50QmxvY2suY29udGVudExvZ2ljYWxXaWR0aCgpKTsKIH0KIAogdW5zaWduZWQgUmVu
ZGVyTXVsdGlDb2x1bW5TZXQ6OmNvbHVtbkNvdW50KCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwCmluZGV4IDNmMzllZmIxMTBkYS4uNWVjZTFmOTFj
NTViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5jcHAKQEAg
LTU3MCw3ICs1NzAsNyBAQCBMYXlvdXRVbml0IFJlbmRlclJlcGxhY2VkOjpjb21wdXRlQ29uc3Ry
YWluZWRMb2dpY2FsV2lkdGgoKSBjb25zdAogICAgIC8vICdwYWRkaW5nLXJpZ2h0JyArICdib3Jk
ZXItcmlnaHQtd2lkdGgnICsgJ21hcmdpbi1yaWdodCcgPSB3aWR0aCBvZgogICAgIC8vIGNvbnRh
aW5pbmcgYmxvY2sKICAgICAvLyBzZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL0NTUzIyL3Zpc3Vk
ZXQuaHRtbCNibG9ja3dpZHRoCi0gICAgTGF5b3V0VW5pdCBsb2dpY2FsV2lkdGggPSBjb250YWlu
aW5nQmxvY2soKS0+YXZhaWxhYmxlTG9naWNhbFdpZHRoKCk7CisgICAgTGF5b3V0VW5pdCBsb2dp
Y2FsV2lkdGggPSBjb250YWluaW5nQmxvY2soKS0+Y29udGVudExvZ2ljYWxXaWR0aCgpOwogICAg
IAogICAgIC8vIFRoaXMgc29sdmVzIGFib3ZlIGVxdWF0aW9uIGZvciAnd2lkdGgnICg9PSBsb2dp
Y2FsV2lkdGgpLgogICAgIExheW91dFVuaXQgbWFyZ2luU3RhcnQgPSBtaW5pbXVtVmFsdWVGb3JM
ZW5ndGgoc3R5bGUoKS5tYXJnaW5TdGFydCgpLCBsb2dpY2FsV2lkdGgpOwpAQCAtNzAzLDcgKzcw
Myw3IEBAIExheW91dFVuaXQgUmVuZGVyUmVwbGFjZWQ6OmNvbXB1dGVSZXBsYWNlZExvZ2ljYWxI
ZWlnaHQoc3RkOjpvcHRpb25hbDxMYXlvdXRVbml0CiAgICAgLy8gT3RoZXJ3aXNlLCBpZiAnaGVp
Z2h0JyBoYXMgYSBjb21wdXRlZCB2YWx1ZSBvZiAnYXV0bycsIGFuZCB0aGUgZWxlbWVudCBoYXMg
YW4gaW50cmluc2ljIHJhdGlvIHRoZW4gdGhlIHVzZWQgdmFsdWUgb2YgJ2hlaWdodCcgaXM6CiAg
ICAgLy8gKHVzZWQgd2lkdGgpIC8gKGludHJpbnNpYyByYXRpbykKICAgICBpZiAoIWludHJpbnNp
Y1JhdGlvLmlzRW1wdHkoKSkgewotICAgICAgICBMYXlvdXRVbml0IHVzZWRXaWR0aCA9IGVzdGlt
YXRlZFVzZWRXaWR0aCA/IGVzdGltYXRlZFVzZWRXaWR0aC52YWx1ZSgpIDogYXZhaWxhYmxlTG9n
aWNhbFdpZHRoKCk7CisgICAgICAgIExheW91dFVuaXQgdXNlZFdpZHRoID0gZXN0aW1hdGVkVXNl
ZFdpZHRoID8gZXN0aW1hdGVkVXNlZFdpZHRoLnZhbHVlKCkgOiBjb250ZW50TG9naWNhbFdpZHRo
KCk7CiAgICAgICAgIEJveFNpemluZyBib3hTaXppbmcgPSBCb3hTaXppbmc6OkNvbnRlbnRCb3g7
CiAgICAgICAgIGlmIChzdHlsZSgpLmhhc0FzcGVjdFJhdGlvKCkpCiAgICAgICAgICAgICBib3hT
aXppbmcgPSBzdHlsZSgpLmJveFNpemluZ0ZvckFzcGVjdFJhdGlvKCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290LmNwcAppbmRleCA5Y2UwZWU3MzcwODYu
LjMyNjRlYThjMzRlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9S
ZW5kZXJTVkdSb290LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRl
clNWR1Jvb3QuY3BwCkBAIC0xNTEsNyArMTUxLDcgQEAgTGF5b3V0VW5pdCBSZW5kZXJTVkdSb290
Ojpjb21wdXRlUmVwbGFjZWRMb2dpY2FsV2lkdGgoU2hvdWxkQ29tcHV0ZVByZWZlcnJlZCBzaG8K
ICAgICAgICAgcmV0dXJuIG1fY29udGFpbmVyU2l6ZS53aWR0aCgpOwogCiAgICAgaWYgKGlzRW1i
ZWRkZWRUaHJvdWdoRnJhbWVDb250YWluaW5nU1ZHRG9jdW1lbnQoKSkKLSAgICAgICAgcmV0dXJu
IGNvbnRhaW5pbmdCbG9jaygpLT5hdmFpbGFibGVMb2dpY2FsV2lkdGgoKTsKKyAgICAgICAgcmV0
dXJuIGNvbnRhaW5pbmdCbG9jaygpLT5jb250ZW50TG9naWNhbFdpZHRoKCk7CiAKICAgICAvLyBT
dGFuZGFsb25lIFNWRyAvIFNWRyBlbWJlZGRlZCB2aWEgU1ZHSW1hZ2UgKGJhY2tncm91bmQtaW1h
Z2UvYm9yZGVyLWltYWdlL2V0YykgLyBJbmxpbmUgU1ZHLgogICAgIGF1dG8gcmVzdWx0ID0gUmVu
ZGVyUmVwbGFjZWQ6OmNvbXB1dGVSZXBsYWNlZExvZ2ljYWxXaWR0aChzaG91bGRDb21wdXRlUHJl
ZmVycmVkKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvbGVnYWN5
L0xlZ2FjeVJlbmRlclNWR1Jvb3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9s
ZWdhY3kvTGVnYWN5UmVuZGVyU1ZHUm9vdC5jcHAKaW5kZXggZTFjZmQzOGYxYzBjLi4xYTFjMWQz
NmQ3YTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvbGVnYWN5L0xl
Z2FjeVJlbmRlclNWR1Jvb3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcv
bGVnYWN5L0xlZ2FjeVJlbmRlclNWR1Jvb3QuY3BwCkBAIC0xNDUsNyArMTQ1LDcgQEAgTGF5b3V0
VW5pdCBMZWdhY3lSZW5kZXJTVkdSb290Ojpjb21wdXRlUmVwbGFjZWRMb2dpY2FsV2lkdGgoU2hv
dWxkQ29tcHV0ZVByZWZlcnIKICAgICAgICAgcmV0dXJuIG1fY29udGFpbmVyU2l6ZS53aWR0aCgp
OwogCiAgICAgaWYgKGlzRW1iZWRkZWRUaHJvdWdoRnJhbWVDb250YWluaW5nU1ZHRG9jdW1lbnQo
KSkKLSAgICAgICAgcmV0dXJuIGNvbnRhaW5pbmdCbG9jaygpLT5hdmFpbGFibGVMb2dpY2FsV2lk
dGgoKTsKKyAgICAgICAgcmV0dXJuIGNvbnRhaW5pbmdCbG9jaygpLT5jb250ZW50TG9naWNhbFdp
ZHRoKCk7CiAKICAgICAvLyBTVkcgZW1iZWRkZWQgdmlhIFNWR0ltYWdlIChiYWNrZ3JvdW5kLWlt
YWdlL2JvcmRlci1pbWFnZS9ldGMpIC8gSW5saW5lIFNWRy4KICAgICByZXR1cm4gUmVuZGVyUmVw
bGFjZWQ6OmNvbXB1dGVSZXBsYWNlZExvZ2ljYWxXaWR0aChzaG91bGRDb21wdXRlUHJlZmVycmVk
KTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>473803</attachid>
            <date>2025-01-06 06:10:40 -0800</date>
            <delta_ts>2025-01-06 08:42:57 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-285369-20250106061039.patch</filename>
            <type>text/plain</type>
            <size>23658</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSA4MzQ2MTdmZWE0M2VkNjIxNjMzYzQ4MDg3MTg2MDI4NTdmYjBiZGI2IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJhcmFkbGF5IDx6YWxhbkBhcHBsZS5jb20+CkRhdGU6
IEZyaSwgMyBKYW4gMjAyNSAxNTo1Mjo0NSAtMDgwMApTdWJqZWN0OiBbUEFUQ0hdIFtDbGVhbnVw
XSBSZW1vdmUgbWlzbGVhZGluZyBSZW5kZXJCb3g6OmF2YWlsYWJsZSogZnVuY3Rpb25zCiBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mjg1MzY5CgpSZXZpZXdlZCBieSBB
bnR0aSBLb2l2aXN0by4KCkNoaWxkIGJveGVzIGNhbGwgdGhlc2UgZnVuY3Rpb25zIG9uIHRoZWly
IGNvbnRhaW5pbmcgYmxvY2tzIHRvIGZpbmQgb3V0IGhvdyBtdWNoIHNwYWNlIHRoZXkgaGF2ZS4K
SG93ZXZlciB0aGlzIGF2YWlsYWJsZSBzcGFjZSBtYXkgdmFyeSBkZXBlbmRpbmcgb24gd2hldGhl
ciB0aGUgY2hpbGQgYm94IGlzIGluLSBvciBvdXQtb2YtZmxvdyBib3ggKGNvbnRlbnQgYm94IHZz
LiBwYWRkaW5nIGJveCkuCgoqIFNvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlv
dXRJbnRlZ3JhdGlvbkZvcm1hdHRpbmdDb250ZXh0TGF5b3V0LmNwcDoKKFdlYkNvcmU6OkxheW91
dEludGVncmF0aW9uOjpsYXlvdXRXaXRoRm9ybWF0dGluZ0NvbnRleHRGb3JCb3gpOgoqIFNvdXJj
ZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9mbGV4L0xheW91dEludGVncmF0aW9uRmxleExh
eW91dC5jcHA6CihXZWJDb3JlOjpMYXlvdXRJbnRlZ3JhdGlvbjo6RmxleExheW91dDo6dXBkYXRl
Rm9ybWF0dGluZ0NvbnRleEdlb21ldHJpZXMpOgoqIFNvdXJjZS9XZWJDb3JlL3BhZ2UvTG9jYWxG
cmFtZVZpZXcuY3BwOgooV2ViQ29yZTo6TG9jYWxGcmFtZVZpZXc6OmFwcGx5UGFnaW5hdGlvblRv
Vmlld3BvcnQpOgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHA6CihX
ZWJDb3JlOjpSZW5kZXJCbG9jazo6dGV4dEluZGVudE9mZnNldCBjb25zdCk6CihXZWJDb3JlOjpS
ZW5kZXJCbG9jazo6bG9naWNhbFJpZ2h0T2Zmc2V0Rm9yQ29udGVudCBjb25zdCk6CiogU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHA6CihXZWJDb3JlOjpSZW5kZXJC
bG9ja0Zsb3c6OmNvbHVtbkdhcCBjb25zdCk6CihXZWJDb3JlOjpSZW5kZXJCbG9ja0Zsb3c6OmRl
dGVybWluZUxvZ2ljYWxMZWZ0UG9zaXRpb25Gb3JDaGlsZCk6CiogU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJveC5jcHA6CihXZWJDb3JlOjpSZW5kZXJCb3g6OmNvbnRhaW5pbmdCbG9j
a0xvZ2ljYWxXaWR0aEZvckNvbnRlbnQgY29uc3QpOgooV2ViQ29yZTo6UmVuZGVyQm94Ojpjb21w
dXRlUHJlZmVycmVkTG9naWNhbFdpZHRocyk6CiogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckJveC5oOgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hJbmxpbmVzLmg6
CihXZWJDb3JlOjpSZW5kZXJCb3g6OmF2YWlsYWJsZUhlaWdodCBjb25zdCk6IERlbGV0ZWQuCihX
ZWJDb3JlOjpSZW5kZXJCb3g6OmF2YWlsYWJsZUxvZ2ljYWxXaWR0aCBjb25zdCk6IERlbGV0ZWQu
CihXZWJDb3JlOjpSZW5kZXJCb3g6OmF2YWlsYWJsZVdpZHRoIGNvbnN0KTogRGVsZXRlZC4KKiBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwOgooV2ViQ29y
ZTo6UmVuZGVyQm94TW9kZWxPYmplY3Q6OnJlbGF0aXZlUG9zaXRpb25PZmZzZXQgY29uc3QpOgoo
V2ViQ29yZTo6UmVuZGVyQm94TW9kZWxPYmplY3Q6OmNvbXB1dGVTdGlja3lQb3NpdGlvbkNvbnN0
cmFpbnRzIGNvbnN0KToKKFdlYkNvcmU6OlJlbmRlckJveE1vZGVsT2JqZWN0Ojpjb250YWluaW5n
QmxvY2tMb2dpY2FsV2lkdGhGb3JDb250ZW50IGNvbnN0KToKKiBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyR3JpZC5jcHA6CihXZWJDb3JlOjpSZW5kZXJHcmlkOjphdmFpbGFibGVTcGFj
ZUZvckd1dHRlcnMgY29uc3QpOgooV2ViQ29yZTo6UmVuZGVyR3JpZDo6bGF5b3V0R3JpZCk6CihX
ZWJDb3JlOjpSZW5kZXJHcmlkOjpsYXlvdXRNYXNvbnJ5KToKKFdlYkNvcmU6OlJlbmRlckdyaWQ6
OnBsYWNlSXRlbXMpOgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHA6
CihXZWJDb3JlOjpSZW5kZXJJbWFnZTo6Y29tcHV0ZUludHJpbnNpY1JhdGlvSW5mb3JtYXRpb24g
Y29uc3QpOgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuY3BwOgooV2Vi
Q29yZTo6Y29tcHV0ZU1hcmdpbik6CiogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11
bHRpQ29sdW1uU2V0LmNwcDoKKFdlYkNvcmU6OlJlbmRlck11bHRpQ29sdW1uU2V0Ojpjb2x1bW5H
YXAgY29uc3QpOgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5jcHA6
CihXZWJDb3JlOjpSZW5kZXJSZXBsYWNlZDo6cGFpbnQpOgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5jcHA6CihXZWJDb3JlOjpSZW5kZXJTVkdSb290Ojpjb21w
dXRlUmVwbGFjZWRMb2dpY2FsV2lkdGggY29uc3QpOgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdmcvbGVnYWN5L0xlZ2FjeVJlbmRlclNWR1Jvb3QuY3BwOgooV2ViQ29yZTo6TGVnYWN5UmVu
ZGVyU1ZHUm9vdDo6Y29tcHV0ZVJlcGxhY2VkTG9naWNhbFdpZHRoIGNvbnN0KToKLS0tCiAuLi4v
TGF5b3V0SW50ZWdyYXRpb25Gb3JtYXR0aW5nQ29udGV4dExheW91dC5jcHAgICAgIHwgIDIgKy0K
IC4uLi9pbnRlZ3JhdGlvbi9mbGV4L0xheW91dEludGVncmF0aW9uRmxleExheW91dC5jcHAgfCAg
MiArLQogU291cmNlL1dlYkNvcmUvcGFnZS9Mb2NhbEZyYW1lVmlldy5jcHAgICAgICAgICAgICAg
ICB8ICAyICstCiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwICAgICAg
ICAgICAgIHwgIDQgKystLQogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxv
dy5jcHAgICAgICAgICB8ICA0ICsrLS0KIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
b3guY3BwICAgICAgICAgICAgICAgfCAgNCArKy0tCiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQm94LmggICAgICAgICAgICAgICAgIHwgIDYgLS0tLS0tCiBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQm94SW5saW5lcy5oICAgICAgICAgIHwgIDMgLS0tCiBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwICAgIHwgMTIgKysrKysrLS0t
LS0tCiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5jcHAgICAgICAgICAgICAg
IHwgMTAgKysrKystLS0tLQogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNw
cCAgICAgICAgICAgICB8ICAyICstCiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW5s
aW5lLmNwcCAgICAgICAgICAgIHwgIDIgKy0KIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJNdWx0aUNvbHVtblNldC5jcHAgICAgfCAgMiArLQogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclJlcGxhY2VkLmNwcCAgICAgICAgICB8ICA0ICsrLS0KIFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5jcHAgICAgICAgfCAgMiArLQogLi4uL3JlbmRlcmlu
Zy9zdmcvbGVnYWN5L0xlZ2FjeVJlbmRlclNWR1Jvb3QuY3BwICAgICB8ICAyICstCiAxNiBmaWxl
cyBjaGFuZ2VkLCAyNyBpbnNlcnRpb25zKCspLCAzNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25Gb3Jt
YXR0aW5nQ29udGV4dExheW91dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRp
b24vTGF5b3V0SW50ZWdyYXRpb25Gb3JtYXR0aW5nQ29udGV4dExheW91dC5jcHAKaW5kZXggMjlj
ZTU5MzIxNDcwLi4xM2NmZmI0MWNjMjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkZvcm1hdHRpbmdDb250ZXh0TGF5b3V0LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRp
b25Gb3JtYXR0aW5nQ29udGV4dExheW91dC5jcHAKQEAgLTU4LDcgKzU4LDcgQEAgdm9pZCBsYXlv
dXRXaXRoRm9ybWF0dGluZ0NvbnRleHRGb3JCb3goY29uc3QgTGF5b3V0OjpFbGVtZW50Qm94JiBi
b3gsIHN0ZDo6b3B0aW8KICAgICAgICAgcmV0dXJuICphbmNlc3RvcjsKICAgICB9OwogICAgIGF1
dG8gdXBkYXRlciA9IEJveEdlb21ldHJ5VXBkYXRlciB7IGxheW91dFN0YXRlLCByb290TGF5b3V0
Qm94KCkgfTsKLSAgICB1cGRhdGVyLnVwZGF0ZUJveEdlb21ldHJ5QWZ0ZXJJbnRlZ3JhdGlvbkxh
eW91dChib3gsIHdpZHRoQ29uc3RyYWludC52YWx1ZV9vcihyZW5kZXJlci5jb250YWluaW5nQmxv
Y2soKS0+YXZhaWxhYmxlTG9naWNhbFdpZHRoKCkpKTsKKyAgICB1cGRhdGVyLnVwZGF0ZUJveEdl
b21ldHJ5QWZ0ZXJJbnRlZ3JhdGlvbkxheW91dChib3gsIHdpZHRoQ29uc3RyYWludC52YWx1ZV9v
cihyZW5kZXJlci5jb250YWluaW5nQmxvY2soKS0+Y29udGVudExvZ2ljYWxXaWR0aCgpKSk7CiB9
CiAKIExheW91dFVuaXQgZm9ybWF0dGluZ0NvbnRleHRSb290TG9naWNhbFdpZHRoRm9yVHlwZShj
b25zdCBMYXlvdXQ6OkVsZW1lbnRCb3gmIGJveCwgTG9naWNhbFdpZHRoVHlwZSBsb2dpY2FsV2lk
dGhUeXBlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL2Zs
ZXgvTGF5b3V0SW50ZWdyYXRpb25GbGV4TGF5b3V0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9pbnRlZ3JhdGlvbi9mbGV4L0xheW91dEludGVncmF0aW9uRmxleExheW91dC5jcHAKaW5kZXgg
N2UxOTkwOGUyMDgzLi45ZGJmZjAwODQ1ZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9pbnRlZ3JhdGlvbi9mbGV4L0xheW91dEludGVncmF0aW9uRmxleExheW91dC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL2ZsZXgvTGF5b3V0SW50ZWdyYXRp
b25GbGV4TGF5b3V0LmNwcApAQCAtMTE3LDcgKzExNyw3IEBAIHN0YXRpYyBpbmxpbmUgTGF5b3V0
OjpDb25zdHJhaW50c0ZvckZsZXhDb250ZW50IGNvbnN0cmFpbnRzRm9yRmxleENvbnRlbnQoY29u
c3QKIHZvaWQgRmxleExheW91dDo6dXBkYXRlRm9ybWF0dGluZ0NvbnRleEdlb21ldHJpZXMoKQog
ewogICAgIGF1dG8gYm94R2VvbWV0cnlVcGRhdGVyID0gQm94R2VvbWV0cnlVcGRhdGVyIHsgbGF5
b3V0U3RhdGUoKSwgZmxleEJveCgpIH07Ci0gICAgYm94R2VvbWV0cnlVcGRhdGVyLnNldEZvcm1h
dHRpbmdDb250ZXh0Um9vdEdlb21ldHJ5KGZsZXhCb3hSZW5kZXJlcigpLmNvbnRhaW5pbmdCbG9j
aygpLT5hdmFpbGFibGVMb2dpY2FsV2lkdGgoKSk7CisgICAgYm94R2VvbWV0cnlVcGRhdGVyLnNl
dEZvcm1hdHRpbmdDb250ZXh0Um9vdEdlb21ldHJ5KGZsZXhCb3hSZW5kZXJlcigpLmNvbnRhaW5p
bmdCbG9jaygpLT5jb250ZW50TG9naWNhbFdpZHRoKCkpOwogICAgIGJveEdlb21ldHJ5VXBkYXRl
ci5zZXRGb3JtYXR0aW5nQ29udGV4dENvbnRlbnRHZW9tZXRyeShsYXlvdXRTdGF0ZSgpLmdlb21l
dHJ5Rm9yQm94KGZsZXhCb3goKSkuY29udGVudEJveFdpZHRoKCksIHsgfSk7CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTG9jYWxGcmFtZVZpZXcuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9Mb2NhbEZyYW1lVmlldy5jcHAKaW5kZXggNTI3NmU4ZDk1MWZkLi41MjI2N2Ni
MDE4NmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTG9jYWxGcmFtZVZpZXcuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTG9jYWxGcmFtZVZpZXcuY3BwCkBAIC02NjMsNyAr
NjYzLDcgQEAgdm9pZCBMb2NhbEZyYW1lVmlldzo6YXBwbHlQYWdpbmF0aW9uVG9WaWV3cG9ydCgp
CiAgICAgICAgIGlmICghY29sdW1uR2FwTGVuZ3RoLmlzTm9ybWFsKCkpIHsKICAgICAgICAgICAg
IGF1dG8qIHJlbmRlckJveCA9IGR5bmFtaWNEb3duY2FzdDxSZW5kZXJCb3g+KGRvY3VtZW50T3JC
b2R5UmVuZGVyZXIpOwogICAgICAgICAgICAgaWYgKGF1dG8qIGNvbnRhaW5lckZvclBhZ2luYXRp
b25HYXAgPSByZW5kZXJCb3ggPyByZW5kZXJCb3ggOiBkb2N1bWVudE9yQm9keVJlbmRlcmVyLT5j
b250YWluaW5nQmxvY2soKSkKLSAgICAgICAgICAgICAgICBwYWdpbmF0aW9uLmdhcCA9IHZhbHVl
Rm9yTGVuZ3RoKGNvbHVtbkdhcExlbmd0aC5sZW5ndGgoKSwgY29udGFpbmVyRm9yUGFnaW5hdGlv
bkdhcC0+YXZhaWxhYmxlTG9naWNhbFdpZHRoKCkpLnRvVW5zaWduZWQoKTsKKyAgICAgICAgICAg
ICAgICBwYWdpbmF0aW9uLmdhcCA9IHZhbHVlRm9yTGVuZ3RoKGNvbHVtbkdhcExlbmd0aC5sZW5n
dGgoKSwgY29udGFpbmVyRm9yUGFnaW5hdGlvbkdhcC0+Y29udGVudExvZ2ljYWxXaWR0aCgpKS50
b1Vuc2lnbmVkKCk7CiAgICAgICAgIH0KICAgICB9CiAgICAgc2V0UGFnaW5hdGlvbihwYWdpbmF0
aW9uKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCmluZGV4IDU2NTNm
YTM2OGUwZS4uMWNlZDYwY2U3MmFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQmxvY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
bG9jay5jcHAKQEAgLTE4NTgsNyArMTg1OCw3IEBAIExheW91dFVuaXQgUmVuZGVyQmxvY2s6OnRl
eHRJbmRlbnRPZmZzZXQoKSBjb25zdAogewogICAgIExheW91dFVuaXQgY3c7CiAgICAgaWYgKHN0
eWxlKCkudGV4dEluZGVudCgpLmlzUGVyY2VudE9yQ2FsY3VsYXRlZCgpKQotICAgICAgICBjdyA9
IGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCgpOworICAgICAgICBjdyA9IGNvbnRlbnRMb2dpY2FsV2lk
dGgoKTsKICAgICByZXR1cm4gbWluaW11bVZhbHVlRm9yTGVuZ3RoKHN0eWxlKCkudGV4dEluZGVu
dCgpLCBjdyk7CiB9CiAKQEAgLTE4NzUsNyArMTg3NSw3IEBAIExheW91dFVuaXQgUmVuZGVyQmxv
Y2s6OmxvZ2ljYWxSaWdodE9mZnNldEZvckNvbnRlbnQoKSBjb25zdAogICAgIExheW91dFVuaXQg
bG9naWNhbFJpZ2h0T2Zmc2V0ID0gd3JpdGluZ01vZGUoKS5pc0hvcml6b250YWwoKSA/IGJvcmRl
ckxlZnQoKSArIHBhZGRpbmdMZWZ0KCkgOiBib3JkZXJUb3AoKSArIHBhZGRpbmdUb3AoKTsKICAg
ICBpZiAoc2hvdWxkUGxhY2VWZXJ0aWNhbFNjcm9sbGJhck9uTGVmdCgpICYmIGlzSG9yaXpvbnRh
bFdyaXRpbmdNb2RlKCkpCiAgICAgICAgIGxvZ2ljYWxSaWdodE9mZnNldCArPSB2ZXJ0aWNhbFNj
cm9sbGJhcldpZHRoKCk7Ci0gICAgbG9naWNhbFJpZ2h0T2Zmc2V0ICs9IGF2YWlsYWJsZUxvZ2lj
YWxXaWR0aCgpOworICAgIGxvZ2ljYWxSaWdodE9mZnNldCArPSBjb250ZW50TG9naWNhbFdpZHRo
KCk7CiAgICAgcmV0dXJuIGxvZ2ljYWxSaWdodE9mZnNldDsKIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcAppbmRleCA5ZDk1ZGIwMmRkYmYuLjJlODU4
YWZlMmZjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2Nr
Rmxvdy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5j
cHAKQEAgLTM0Nyw3ICszNDcsNyBAQCBMYXlvdXRVbml0IFJlbmRlckJsb2NrRmxvdzo6Y29sdW1u
R2FwKCkgY29uc3QKIHsKICAgICBpZiAoc3R5bGUoKS5jb2x1bW5HYXAoKS5pc05vcm1hbCgpKQog
ICAgICAgICByZXR1cm4gTGF5b3V0VW5pdChzdHlsZSgpLmZvbnREZXNjcmlwdGlvbigpLmNvbXB1
dGVkU2l6ZSgpKTsgLy8gIjFlbSIgaXMgcmVjb21tZW5kZWQgYXMgdGhlIG5vcm1hbCBnYXAgc2V0
dGluZy4gTWF0Y2hlcyA8cD4gbWFyZ2lucy4KLSAgICByZXR1cm4gdmFsdWVGb3JMZW5ndGgoc3R5
bGUoKS5jb2x1bW5HYXAoKS5sZW5ndGgoKSwgYXZhaWxhYmxlTG9naWNhbFdpZHRoKCkpOworICAg
IHJldHVybiB2YWx1ZUZvckxlbmd0aChzdHlsZSgpLmNvbHVtbkdhcCgpLmxlbmd0aCgpLCBjb250
ZW50TG9naWNhbFdpZHRoKCkpOwogfQogCiB2b2lkIFJlbmRlckJsb2NrRmxvdzo6Y29tcHV0ZUNv
bHVtbkNvdW50QW5kV2lkdGgoKQpAQCAtMTEwNyw3ICsxMTA3LDcgQEAgdm9pZCBSZW5kZXJCbG9j
a0Zsb3c6OmRldGVybWluZUxvZ2ljYWxMZWZ0UG9zaXRpb25Gb3JDaGlsZChSZW5kZXJCb3gmIGNo
aWxkLCBBcHAKICAgICAgICAgc3RhcnRQb3NpdGlvbiArPSAod3JpdGluZ01vZGUoKS5pc0xvZ2lj
YWxMZWZ0SW5saW5lU3RhcnQoKSA/IDEgOiAtMSkgKiB2ZXJ0aWNhbFNjcm9sbGJhcldpZHRoKCk7
CiAgICAgaWYgKHN0eWxlKCkuc2Nyb2xsYmFyR3V0dGVyKCkuYm90aEVkZ2VzICYmICFpc0hvcml6
b250YWxXcml0aW5nTW9kZSgpKQogICAgICAgICBzdGFydFBvc2l0aW9uICs9ICh3cml0aW5nTW9k
ZSgpLmlzTG9naWNhbExlZnRJbmxpbmVTdGFydCgpID8gMSA6IC0xKSAqIGhvcml6b250YWxTY3Jv
bGxiYXJIZWlnaHQoKTsKLSAgICBMYXlvdXRVbml0IHRvdGFsQXZhaWxhYmxlTG9naWNhbFdpZHRo
ID0gYm9yZGVyQW5kUGFkZGluZ0xvZ2ljYWxXaWR0aCgpICsgYXZhaWxhYmxlTG9naWNhbFdpZHRo
KCk7CisgICAgTGF5b3V0VW5pdCB0b3RhbEF2YWlsYWJsZUxvZ2ljYWxXaWR0aCA9IGxvZ2ljYWxX
aWR0aCgpOwogCiAgICAgTGF5b3V0VW5pdCBjaGlsZE1hcmdpblN0YXJ0ID0gbWFyZ2luU3RhcnRG
b3JDaGlsZChjaGlsZCk7CiAgICAgTGF5b3V0VW5pdCBuZXdQb3NpdGlvbiA9IHN0YXJ0UG9zaXRp
b24gKyBjaGlsZE1hcmdpblN0YXJ0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNw
cAppbmRleCA1OTljYjc4MDlhOWMuLjYyYTJkNzQwMWI4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJveC5jcHAKQEAgLTIyNjQsNyArMjI2NCw3IEBAIExheW91dFVuaXQgUmVuZGVy
Qm94Ojpjb250YWluaW5nQmxvY2tMb2dpY2FsV2lkdGhGb3JDb250ZW50KCkgY29uc3QKICAgICB9
CiAKICAgICBpZiAoYXV0byogY29udGFpbmluZ0Jsb2NrID0gdGhpcy0+Y29udGFpbmluZ0Jsb2Nr
KCkpCi0gICAgICAgIHJldHVybiBpc091dE9mRmxvd1Bvc2l0aW9uZWQoKSA/IGNvbnRhaW5pbmdC
bG9jay0+Y2xpZW50TG9naWNhbFdpZHRoKCkgOiBjb250YWluaW5nQmxvY2stPmF2YWlsYWJsZUxv
Z2ljYWxXaWR0aCgpOworICAgICAgICByZXR1cm4gaXNPdXRPZkZsb3dQb3NpdGlvbmVkKCkgPyBj
b250YWluaW5nQmxvY2stPmNsaWVudExvZ2ljYWxXaWR0aCgpIDogY29udGFpbmluZ0Jsb2NrLT5j
b250ZW50TG9naWNhbFdpZHRoKCk7CiAKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICBy
ZXR1cm4gMF9sdTsKQEAgLTM1NzMsNyArMzU3Myw3IEBAIHZvaWQgUmVuZGVyQm94Ojpjb21wdXRl
UHJlZmVycmVkTG9naWNhbFdpZHRocyhjb25zdCBMZW5ndGgmIG1pbkxvZ2ljYWxXaWR0aCwgY29u
CiAgICAgICAgICAgICBpZiAoIXNob3VsZENvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzRnJv
bVN0eWxlKCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIG1fbWluUHJlZmVycmVkTG9naWNhbFdp
ZHRoOwogCi0gICAgICAgICAgICByZXR1cm4gY29tcHV0ZUludHJpbnNpY0xvZ2ljYWxXaWR0aFVz
aW5nKG1heExvZ2ljYWxXaWR0aCwgYXZhaWxhYmxlTG9naWNhbFdpZHRoKCksIHsgfSk7CisgICAg
ICAgICAgICByZXR1cm4gY29tcHV0ZUludHJpbnNpY0xvZ2ljYWxXaWR0aFVzaW5nKG1heExvZ2lj
YWxXaWR0aCwgY29udGVudExvZ2ljYWxXaWR0aCgpLCB7IH0pOwogICAgICAgICB9CiAgICAgICAg
IHJldHVybiBMYXlvdXRVbml0OjptYXgoKTsKICAgICB9KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQm94LmgKaW5kZXggZDM0MGE1ODcxMjE2Li5iODliZjU2YzExMDkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgKQEAgLTQxNywxNSArNDE3LDkgQEAgcHVibGljOgogICAg
IHN0ZDo6b3B0aW9uYWw8TGF5b3V0VW5pdD4gY29tcHV0ZVBlcmNlbnRhZ2VMb2dpY2FsSGVpZ2h0
KGNvbnN0IExlbmd0aCYgaGVpZ2h0LCBVcGRhdGVQZXJjZW50YWdlSGVpZ2h0RGVzY2VuZGFudHMg
PSBVcGRhdGVQZXJjZW50YWdlSGVpZ2h0RGVzY2VuZGFudHM6OlllcykgY29uc3Q7CiAgICAgYm9v
bCBoYXNBdXRvSGVpZ2h0T3JDb250YWluaW5nQmxvY2tXaXRoQXV0b0hlaWdodChVcGRhdGVQZXJj
ZW50YWdlSGVpZ2h0RGVzY2VuZGFudHMgPSBVcGRhdGVQZXJjZW50YWdlSGVpZ2h0RGVzY2VuZGFu
dHM6OlllcykgY29uc3Q7CiAKLSAgICBpbmxpbmUgTGF5b3V0VW5pdCBhdmFpbGFibGVMb2dpY2Fs
V2lkdGgoKSBjb25zdDsKICAgICB2aXJ0dWFsIExheW91dFVuaXQgYXZhaWxhYmxlTG9naWNhbEhl
aWdodChBdmFpbGFibGVMb2dpY2FsSGVpZ2h0VHlwZSkgY29uc3Q7CiAgICAgTGF5b3V0VW5pdCBh
dmFpbGFibGVMb2dpY2FsSGVpZ2h0VXNpbmcoY29uc3QgTGVuZ3RoJiwgQXZhaWxhYmxlTG9naWNh
bEhlaWdodFR5cGUpIGNvbnN0OwogCi0gICAgLy8gVGhlcmUgYXJlIGEgZmV3IGNhc2VzIHdoZXJl
IHdlIG5lZWQgdG8gcmVmZXIgc3BlY2lmaWNhbGx5IHRvIHRoZSBhdmFpbGFibGUgcGh5c2ljYWwg
d2lkdGggYW5kIGF2YWlsYWJsZSBwaHlzaWNhbCBoZWlnaHQuCi0gICAgLy8gUmVsYXRpdmUgcG9z
aXRpb25pbmcgaXMgb25lIG9mIHRob3NlIGNhc2VzLCBzaW5jZSBsZWZ0L3RvcCBvZmZzZXRzIGFy
ZSBwaHlzaWNhbC4KLSAgICBpbmxpbmUgTGF5b3V0VW5pdCBhdmFpbGFibGVXaWR0aCgpIGNvbnN0
OwotICAgIGlubGluZSBMYXlvdXRVbml0IGF2YWlsYWJsZUhlaWdodCgpIGNvbnN0OwotCiAgICAg
V0VCQ09SRV9FWFBPUlQgdmlydHVhbCBpbnQgdmVydGljYWxTY3JvbGxiYXJXaWR0aCgpIGNvbnN0
OwogICAgIFdFQkNPUkVfRVhQT1JUIHZpcnR1YWwgaW50IGhvcml6b250YWxTY3JvbGxiYXJIZWln
aHQoKSBjb25zdDsKICAgICBpbnQgaW50cmluc2ljU2Nyb2xsYmFyTG9naWNhbFdpZHRoSW5jbHVk
aW5nR3V0dGVyKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQm94SW5saW5lcy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveElu
bGluZXMuaAppbmRleCA3M2M5YjQ1MjNlOWIuLjE3MzBkYTc2MmVmZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveElubGluZXMuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQm94SW5saW5lcy5oCkBAIC0yNCw5ICsyNCw2IEBACiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAotaW5saW5lIExheW91dFVuaXQgUmVuZGVyQm94OjphdmFpbGFi
bGVIZWlnaHQoKSBjb25zdCB7IHJldHVybiB3cml0aW5nTW9kZSgpLmlzSG9yaXpvbnRhbCgpID8g
YXZhaWxhYmxlTG9naWNhbEhlaWdodChBdmFpbGFibGVMb2dpY2FsSGVpZ2h0VHlwZTo6SW5jbHVk
ZU1hcmdpbkJvcmRlclBhZGRpbmcpIDogYXZhaWxhYmxlTG9naWNhbFdpZHRoKCk7IH0KLWlubGlu
ZSBMYXlvdXRVbml0IFJlbmRlckJveDo6YXZhaWxhYmxlTG9naWNhbFdpZHRoKCkgY29uc3QgeyBy
ZXR1cm4gY29udGVudExvZ2ljYWxXaWR0aCgpOyB9Ci1pbmxpbmUgTGF5b3V0VW5pdCBSZW5kZXJC
b3g6OmF2YWlsYWJsZVdpZHRoKCkgY29uc3QgeyByZXR1cm4gd3JpdGluZ01vZGUoKS5pc0hvcml6
b250YWwoKSA/IGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCgpIDogYXZhaWxhYmxlTG9naWNhbEhlaWdo
dChBdmFpbGFibGVMb2dpY2FsSGVpZ2h0VHlwZTo6SW5jbHVkZU1hcmdpbkJvcmRlclBhZGRpbmcp
OyB9CiBpbmxpbmUgTGF5b3V0U2l6ZSBSZW5kZXJCb3g6OmJvcmRlckJveExvZ2ljYWxTaXplKCkg
Y29uc3QgeyByZXR1cm4gbG9naWNhbFNpemUoKTsgfQogaW5saW5lIExheW91dFJlY3QgUmVuZGVy
Qm94OjpjbGllbnRCb3hSZWN0KCkgY29uc3QgeyByZXR1cm4gTGF5b3V0UmVjdChjbGllbnRMZWZ0
KCksIGNsaWVudFRvcCgpLCBjbGllbnRXaWR0aCgpLCBjbGllbnRIZWlnaHQoKSk7IH0KIGlubGlu
ZSBMYXlvdXRVbml0IFJlbmRlckJveDo6Y2xpZW50TGVmdCgpIGNvbnN0IHsgcmV0dXJuIGJvcmRl
ckxlZnQoKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJv
eE1vZGVsT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2Rl
bE9iamVjdC5jcHAKaW5kZXggNzQ3Mjc3OTllYjlkLi4wZDUxNWJmOWI1MTcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcApAQCAtMzc5
LDEyICszNzksMTIgQEAgTGF5b3V0U2l6ZSBSZW5kZXJCb3hNb2RlbE9iamVjdDo6cmVsYXRpdmVQ
b3NpdGlvbk9mZnNldCgpIGNvbnN0CiAgICAgICAgIGF1dG8gYXZhaWxhYmxlV2lkdGggPSBbJl0g
ewogICAgICAgICAgICAgYXV0byogcmVuZGVyQm94ID0gZHluYW1pY0Rvd25jYXN0PFJlbmRlckJv
eD4oKnRoaXMpOwogICAgICAgICAgICAgaWYgKCFyZW5kZXJCb3ggfHwgIXJlbmRlckJveC0+aXNH
cmlkSXRlbSgpKQotICAgICAgICAgICAgICAgIHJldHVybiBjb250YWluaW5nQmxvY2stPmF2YWls
YWJsZVdpZHRoKCk7CisgICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRhaW5pbmdCbG9jay0+Y29u
dGVudFdpZHRoKCk7CiAgICAgICAgICAgICAvLyBGb3IgZ3JpZCBpdGVtcyB0aGUgY29udGFpbmlu
ZyBibG9jayBpcyB0aGUgZ3JpZCBhcmVhLCBzbyBvZmZzZXRzIHNob3VsZCBiZSByZXNvbHZlZCBh
Z2FpbnN0IHRoYXQuCiAgICAgICAgICAgICBhdXRvIGNvbnRhaW5pbmdCbG9ja0NvbnRlbnRXaWR0
aCA9IHJlbmRlckJveC0+Z3JpZEFyZWFDb250ZW50V2lkdGgoY29udGFpbmluZ0Jsb2NrLT53cml0
aW5nTW9kZSgpKTsKICAgICAgICAgICAgIGlmICghY29udGFpbmluZ0Jsb2NrQ29udGVudFdpZHRo
IHx8ICEqY29udGFpbmluZ0Jsb2NrQ29udGVudFdpZHRoKSB7CiAgICAgICAgICAgICAgICAgQVNT
RVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRhaW5pbmdCbG9j
ay0+YXZhaWxhYmxlV2lkdGgoKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gY29udGFpbmluZ0Js
b2NrLT5jb250ZW50V2lkdGgoKTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIHJldHVybiAq
KmNvbnRhaW5pbmdCbG9ja0NvbnRlbnRXaWR0aDsKICAgICAgICAgfTsKQEAgLTQxMiwxMiArNDEy
LDEyIEBAIExheW91dFNpemUgUmVuZGVyQm94TW9kZWxPYmplY3Q6OnJlbGF0aXZlUG9zaXRpb25P
ZmZzZXQoKSBjb25zdAogICAgIGF1dG8gYXZhaWxhYmxlSGVpZ2h0ID0gWyZdIHsKICAgICAgICAg
YXV0byogcmVuZGVyQm94ID0gZHluYW1pY0Rvd25jYXN0PFJlbmRlckJveD4oKnRoaXMpOwogICAg
ICAgICBpZiAoIXJlbmRlckJveCB8fCAhcmVuZGVyQm94LT5pc0dyaWRJdGVtKCkpCi0gICAgICAg
ICAgICByZXR1cm4gY29udGFpbmluZ0Jsb2NrLT5hdmFpbGFibGVIZWlnaHQoKTsKKyAgICAgICAg
ICAgIHJldHVybiBjb250YWluaW5nQmxvY2stPmNvbnRlbnRIZWlnaHQoKTsKICAgICAgICAgLy8g
Rm9yIGdyaWQgaXRlbXMgdGhlIGNvbnRhaW5pbmcgYmxvY2sgaXMgdGhlIGdyaWQgYXJlYSwgc28g
b2Zmc2V0cyBzaG91bGQgYmUgcmVzb2x2ZWQgYWdhaW5zdCB0aGF0LgogICAgICAgICBhdXRvIGNv
bnRhaW5pbmdCbG9ja0NvbnRlbnRIZWlnaHQgPSByZW5kZXJCb3gtPmdyaWRBcmVhQ29udGVudEhl
aWdodChjb250YWluaW5nQmxvY2stPnN0eWxlKCkud3JpdGluZ01vZGUoKSk7CiAgICAgICAgIGlm
ICghY29udGFpbmluZ0Jsb2NrQ29udGVudEhlaWdodCB8fCAhKmNvbnRhaW5pbmdCbG9ja0NvbnRl
bnRIZWlnaHQpIHsKICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICAg
ICAgcmV0dXJuIGNvbnRhaW5pbmdCbG9jay0+YXZhaWxhYmxlSGVpZ2h0KCk7CisgICAgICAgICAg
ICByZXR1cm4gY29udGFpbmluZ0Jsb2NrLT5jb250ZW50SGVpZ2h0KCk7CiAgICAgICAgIH0KICAg
ICAgICAgcmV0dXJuICoqY29udGFpbmluZ0Jsb2NrQ29udGVudEhlaWdodDsKICAgICB9OwpAQCAt
NTMyLDcgKzUzMiw3IEBAIHZvaWQgUmVuZGVyQm94TW9kZWxPYmplY3Q6OmNvbXB1dGVTdGlja3lQ
b3NpdGlvbkNvbnN0cmFpbnRzKFN0aWNreVBvc2l0aW9uVmlld3BvCiAgICAgICAgICAgICBjb250
YWluaW5nQmxvY2stPmNvbXB1dGVkQ1NTUGFkZGluZ0JvdHRvbSgpLCBjb250YWluaW5nQmxvY2st
PmNvbXB1dGVkQ1NTUGFkZGluZ0xlZnQoKSB9KTsKICAgICB9CiAKLSAgICBMYXlvdXRVbml0IG1h
eFdpZHRoID0gY29udGFpbmluZ0Jsb2NrLT5hdmFpbGFibGVMb2dpY2FsV2lkdGgoKTsKKyAgICBM
YXlvdXRVbml0IG1heFdpZHRoID0gY29udGFpbmluZ0Jsb2NrLT5jb250ZW50TG9naWNhbFdpZHRo
KCk7CiAKICAgICAvLyBTdGlja3kgcG9zaXRpb25lZCBlbGVtZW50IGlnbm9yZSBhbnkgb3ZlcnJp
ZGUgbG9naWNhbCB3aWR0aCBvbiB0aGUgY29udGFpbmluZyBibG9jayAoYXMgdGhleSBkb24ndCBj
YWxsCiAgICAgLy8gY29udGFpbmluZ0Jsb2NrTG9naWNhbFdpZHRoRm9yQ29udGVudCkuIEl0J3Mg
dW5jbGVhciB3aGV0aGVyIHRoaXMgaXMgdG90YWxseSBmaW5lLgpAQCAtODU1LDcgKzg1NSw3IEBA
IEJvcmRlclNoYXBlIFJlbmRlckJveE1vZGVsT2JqZWN0Ojpib3JkZXJTaGFwZUZvckNvbnRlbnRD
bGlwcGluZyhjb25zdCBMYXlvdXRSZWN0CiBMYXlvdXRVbml0IFJlbmRlckJveE1vZGVsT2JqZWN0
Ojpjb250YWluaW5nQmxvY2tMb2dpY2FsV2lkdGhGb3JDb250ZW50KCkgY29uc3QKIHsKICAgICBp
ZiAoYXV0byogY29udGFpbmluZ0Jsb2NrID0gdGhpcy0+Y29udGFpbmluZ0Jsb2NrKCkpCi0gICAg
ICAgIHJldHVybiBjb250YWluaW5nQmxvY2stPmF2YWlsYWJsZUxvZ2ljYWxXaWR0aCgpOworICAg
ICAgICByZXR1cm4gY29udGFpbmluZ0Jsb2NrLT5jb250ZW50TG9naWNhbFdpZHRoKCk7CiAgICAg
cmV0dXJuIHsgfTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckdyaWQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwCmlu
ZGV4IGJjNTUzMjI4YzliZi4uZWEyZTExYzkxYmJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckdyaWQuY3BwCkBAIC0xNjEsNyArMTYxLDcgQEAgc3RkOjpvcHRpb25hbDxMYXlvdXRV
bml0PiBSZW5kZXJHcmlkOjphdmFpbGFibGVTcGFjZUZvckd1dHRlcnMoR3JpZFRyYWNrU2l6aW5n
RGkKICAgICBpZiAoZ2FwTGVuZ3RoLmlzTm9ybWFsKCkgfHwgIWdhcExlbmd0aC5sZW5ndGgoKS5p
c1BlcmNlbnRPckNhbGN1bGF0ZWQoKSkKICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKIAot
ICAgIHJldHVybiBpc1Jvd0F4aXMgPyBhdmFpbGFibGVMb2dpY2FsV2lkdGgoKSA6IGNvbnRlbnRM
b2dpY2FsSGVpZ2h0KCk7CisgICAgcmV0dXJuIGlzUm93QXhpcyA/IGNvbnRlbnRMb2dpY2FsV2lk
dGgoKSA6IGNvbnRlbnRMb2dpY2FsSGVpZ2h0KCk7CiB9CiAKIHZvaWQgUmVuZGVyR3JpZDo6Y29t
cHV0ZVRyYWNrU2l6ZXNGb3JEZWZpbml0ZVNpemUoR3JpZFRyYWNrU2l6aW5nRGlyZWN0aW9uIGRp
cmVjdGlvbiwgTGF5b3V0VW5pdCBhdmFpbGFibGVTcGFjZSwgR3JpZExheW91dFN0YXRlJiBncmlk
TGF5b3V0U3RhdGUpCkBAIC0zNDQsNyArMzQ0LDcgQEAgdm9pZCBSZW5kZXJHcmlkOjpsYXlvdXRH
cmlkKGJvb2wgcmVsYXlvdXRDaGlsZHJlbikKICAgICAgICAgLy8gSXQgZG9lc24ndCBnZXQgaW5j
bHVkZWQgaW4gdGhlIG5vcm1hbCBsYXlvdXQgcHJvY2VzcyBidXQgaXMgaW5zdGVhZCBza2lwcGVk
LgogICAgICAgICBsYXlvdXRFeGNsdWRlZENoaWxkcmVuKHJlbGF5b3V0Q2hpbGRyZW4pOwogCi0g
ICAgICAgIExheW91dFVuaXQgYXZhaWxhYmxlU3BhY2VGb3JDb2x1bW5zID0gYXZhaWxhYmxlTG9n
aWNhbFdpZHRoKCk7CisgICAgICAgIExheW91dFVuaXQgYXZhaWxhYmxlU3BhY2VGb3JDb2x1bW5z
ID0gY29udGVudExvZ2ljYWxXaWR0aCgpOwogICAgICAgICBwbGFjZUl0ZW1zT25HcmlkKGF2YWls
YWJsZVNwYWNlRm9yQ29sdW1ucyk7CiAKICAgICAgICAgbV90cmFja1NpemluZ0FsZ29yaXRobS5z
ZXRBdmFpbGFibGVTcGFjZShHcmlkVHJhY2tTaXppbmdEaXJlY3Rpb246OkZvckNvbHVtbnMsIGF2
YWlsYWJsZVNwYWNlRm9yQ29sdW1ucyk7CkBAIC00NzQsNyArNDc0LDcgQEAgdm9pZCBSZW5kZXJH
cmlkOjpsYXlvdXRNYXNvbnJ5KGJvb2wgcmVsYXlvdXRDaGlsZHJlbikKIAogICAgICAgICB1cGRh
dGVMb2dpY2FsV2lkdGgoKTsKIAotICAgICAgICBMYXlvdXRVbml0IGF2YWlsYWJsZVNwYWNlRm9y
Q29sdW1ucyA9IGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCgpOworICAgICAgICBMYXlvdXRVbml0IGF2
YWlsYWJsZVNwYWNlRm9yQ29sdW1ucyA9IGNvbnRlbnRMb2dpY2FsV2lkdGgoKTsKICAgICAgICAg
cGxhY2VJdGVtc09uR3JpZChhdmFpbGFibGVTcGFjZUZvckNvbHVtbnMpOwogCiAgICAgICAgIG1f
dHJhY2tTaXppbmdBbGdvcml0aG0uc2V0QXZhaWxhYmxlU3BhY2UoR3JpZFRyYWNrU2l6aW5nRGly
ZWN0aW9uOjpGb3JDb2x1bW5zLCBhdmFpbGFibGVTcGFjZUZvckNvbHVtbnMpOwpAQCAtOTA3LDcg
KzkwNyw3IEBAIHZvaWQgUmVuZGVyR3JpZDo6cGxhY2VJdGVtcygpCiB7CiAgICAgdXBkYXRlTG9n
aWNhbFdpZHRoKCk7CiAKLSAgICBMYXlvdXRVbml0IGF2YWlsYWJsZVNwYWNlRm9yQ29sdW1ucyA9
IGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCgpOworICAgIExheW91dFVuaXQgYXZhaWxhYmxlU3BhY2VG
b3JDb2x1bW5zID0gY29udGVudExvZ2ljYWxXaWR0aCgpOwogICAgIHBsYWNlSXRlbXNPbkdyaWQo
YXZhaWxhYmxlU3BhY2VGb3JDb2x1bW5zKTsKIH0KIApAQCAtOTg0LDcgKzk4NCw3IEBAIEF1dG9S
ZXBlYXRUeXBlIFJlbmRlckdyaWQ6OmF1dG9SZXBlYXRSb3dzVHlwZSgpIGNvbnN0CiAKIAogLy8g
RklYTUU6IFdlIHNob3VsZG4ndCBoYXZlIHRvIHBhc3MgdGhlIGF2YWlsYWJsZSBsb2dpY2FsIHdp
ZHRoIGFzIGFyZ3VtZW50LiBUaGUgcHJvYmxlbSBpcyB0aGF0Ci0vLyBhdmFpbGFibGVMb2dpY2Fs
V2lkdGgoKSBkb2VzIGFsd2F5cyByZXR1cm4gYSB2YWx1ZSBldmVuIGlmIHdlIGNhbm5vdCByZXNv
bHZlIGl0IGxpa2Ugd2hlbgorLy8gY29udGVudExvZ2ljYWxXaWR0aCgpIGRvZXMgYWx3YXlzIHJl
dHVybiBhIHZhbHVlIGV2ZW4gaWYgd2UgY2Fubm90IHJlc29sdmUgaXQgbGlrZSB3aGVuCiAvLyBj
b21wdXRpbmcgdGhlIGludHJpbnNpYyBzaXplIChwcmVmZXJyZWQgd2lkdGhzKS4gVGhhdCdzIHdo
eSB3ZSBwYXNzIHRoZSByZXNwb25zaWJpbGl0eSB0byB0aGUKIC8vIGNhbGxlciB3aG8gZG9lcyBr
bm93IHdoZXRoZXIgdGhlIGF2YWlsYWJsZSBsb2dpY2FsIHdpZHRoIGlzIGluZGVmaW5pdGUgb3Ig
bm90Lgogdm9pZCBSZW5kZXJHcmlkOjpwbGFjZUl0ZW1zT25HcmlkKHN0ZDo6b3B0aW9uYWw8TGF5
b3V0VW5pdD4gYXZhaWxhYmxlTG9naWNhbFdpZHRoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJJbWFnZS5jcHAKaW5kZXggMTBjYzhlNTI1NWMwLi5lNmJjYmI3ZDUxN2UgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcApAQCAtOTAwLDcgKzkwMCw3IEBAIHZv
aWQgUmVuZGVySW1hZ2U6OmNvbXB1dGVJbnRyaW5zaWNSYXRpb0luZm9ybWF0aW9uKEZsb2F0U2l6
ZSYgaW50cmluc2ljU2l6ZSwgRmxvCiAgICAgaWYgKGludHJpbnNpY1NpemUuaXNFbXB0eSgpICYm
IChpbWFnZVJlc291cmNlKCkuaW1hZ2VIYXNSZWxhdGl2ZVdpZHRoKCkgfHwgaW1hZ2VSZXNvdXJj
ZSgpLmltYWdlSGFzUmVsYXRpdmVIZWlnaHQoKSkpIHsKICAgICAgICAgUmVuZGVyT2JqZWN0KiBj
b250YWluaW5nQmxvY2sgPSBpc091dE9mRmxvd1Bvc2l0aW9uZWQoKSA/IGNvbnRhaW5lcigpIDog
dGhpcy0+Y29udGFpbmluZ0Jsb2NrKCk7CiAgICAgICAgIGlmIChhdXRvKiBib3ggPSBkeW5hbWlj
RG93bmNhc3Q8UmVuZGVyQm94PigqY29udGFpbmluZ0Jsb2NrKSkgewotICAgICAgICAgICAgaW50
cmluc2ljU2l6ZS5zZXRXaWR0aChib3gtPmF2YWlsYWJsZUxvZ2ljYWxXaWR0aCgpKTsKKyAgICAg
ICAgICAgIGludHJpbnNpY1NpemUuc2V0V2lkdGgoYm94LT5jb250ZW50TG9naWNhbFdpZHRoKCkp
OwogICAgICAgICAgICAgaW50cmluc2ljU2l6ZS5zZXRIZWlnaHQoYm94LT5hdmFpbGFibGVMb2dp
Y2FsSGVpZ2h0KEF2YWlsYWJsZUxvZ2ljYWxIZWlnaHRUeXBlOjpJbmNsdWRlTWFyZ2luQm9yZGVy
UGFkZGluZykpOwogICAgICAgICB9CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlcklubGluZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVySW5saW5lLmNwcAppbmRleCAxOTdjNzgzZTRmY2EuLjE4ZDY5N2FkMzE1NyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklubGluZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklubGluZS5jcHAKQEAgLTM0OSw3ICszNDksNyBAQCBz
dGF0aWMgTGF5b3V0VW5pdCBjb21wdXRlTWFyZ2luKGNvbnN0IFJlbmRlcklubGluZSogcmVuZGVy
ZXIsIGNvbnN0IExlbmd0aCYgbWFyZwogICAgIGlmIChtYXJnaW4uaXNGaXhlZCgpKQogICAgICAg
ICByZXR1cm4gTGF5b3V0VW5pdChtYXJnaW4udmFsdWUoKSk7CiAgICAgaWYgKG1hcmdpbi5pc1Bl
cmNlbnRPckNhbGN1bGF0ZWQoKSkKLSAgICAgICAgcmV0dXJuIG1pbmltdW1WYWx1ZUZvckxlbmd0
aChtYXJnaW4sIHN0ZDo6bWF4PExheW91dFVuaXQ+KDAsIHJlbmRlcmVyLT5jb250YWluaW5nQmxv
Y2soKS0+YXZhaWxhYmxlTG9naWNhbFdpZHRoKCkpKTsKKyAgICAgICAgcmV0dXJuIG1pbmltdW1W
YWx1ZUZvckxlbmd0aChtYXJnaW4sIHN0ZDo6bWF4PExheW91dFVuaXQ+KDAsIHJlbmRlcmVyLT5j
b250YWluaW5nQmxvY2soKS0+Y29udGVudExvZ2ljYWxXaWR0aCgpKSk7CiAgICAgcmV0dXJuIDA7
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNv
bHVtblNldC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5T
ZXQuY3BwCmluZGV4IDZlZTNjZTQ2M2UwMi4uZGMwM2E3MjNjMjg4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5TZXQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtblNldC5jcHAKQEAgLTQ0Myw3ICs0
NDMsNyBAQCBMYXlvdXRVbml0IFJlbmRlck11bHRpQ29sdW1uU2V0Ojpjb2x1bW5HYXAoKSBjb25z
dAogICAgIFJlbmRlckJsb2NrRmxvdyYgcGFyZW50QmxvY2sgPSBkb3duY2FzdDxSZW5kZXJCbG9j
a0Zsb3c+KCpwYXJlbnQoKSk7CiAgICAgaWYgKHBhcmVudEJsb2NrLnN0eWxlKCkuY29sdW1uR2Fw
KCkuaXNOb3JtYWwoKSkKICAgICAgICAgcmV0dXJuIExheW91dFVuaXQocGFyZW50QmxvY2suc3R5
bGUoKS5mb250RGVzY3JpcHRpb24oKS5jb21wdXRlZFNpemUoKSk7IC8vICIxZW0iIGlzIHJlY29t
bWVuZGVkIGFzIHRoZSBub3JtYWwgZ2FwIHNldHRpbmcuIE1hdGNoZXMgPHA+IG1hcmdpbnMuCi0g
ICAgcmV0dXJuIHZhbHVlRm9yTGVuZ3RoKHBhcmVudEJsb2NrLnN0eWxlKCkuY29sdW1uR2FwKCku
bGVuZ3RoKCksIHBhcmVudEJsb2NrLmF2YWlsYWJsZUxvZ2ljYWxXaWR0aCgpKTsKKyAgICByZXR1
cm4gdmFsdWVGb3JMZW5ndGgocGFyZW50QmxvY2suc3R5bGUoKS5jb2x1bW5HYXAoKS5sZW5ndGgo
KSwgcGFyZW50QmxvY2suY29udGVudExvZ2ljYWxXaWR0aCgpKTsKIH0KIAogdW5zaWduZWQgUmVu
ZGVyTXVsdGlDb2x1bW5TZXQ6OmNvbHVtbkNvdW50KCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwCmluZGV4IDNmMzllZmIxMTBkYS4uNWVjZTFmOTFj
NTViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5jcHAKQEAg
LTU3MCw3ICs1NzAsNyBAQCBMYXlvdXRVbml0IFJlbmRlclJlcGxhY2VkOjpjb21wdXRlQ29uc3Ry
YWluZWRMb2dpY2FsV2lkdGgoKSBjb25zdAogICAgIC8vICdwYWRkaW5nLXJpZ2h0JyArICdib3Jk
ZXItcmlnaHQtd2lkdGgnICsgJ21hcmdpbi1yaWdodCcgPSB3aWR0aCBvZgogICAgIC8vIGNvbnRh
aW5pbmcgYmxvY2sKICAgICAvLyBzZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL0NTUzIyL3Zpc3Vk
ZXQuaHRtbCNibG9ja3dpZHRoCi0gICAgTGF5b3V0VW5pdCBsb2dpY2FsV2lkdGggPSBjb250YWlu
aW5nQmxvY2soKS0+YXZhaWxhYmxlTG9naWNhbFdpZHRoKCk7CisgICAgTGF5b3V0VW5pdCBsb2dp
Y2FsV2lkdGggPSBjb250YWluaW5nQmxvY2soKS0+Y29udGVudExvZ2ljYWxXaWR0aCgpOwogICAg
IAogICAgIC8vIFRoaXMgc29sdmVzIGFib3ZlIGVxdWF0aW9uIGZvciAnd2lkdGgnICg9PSBsb2dp
Y2FsV2lkdGgpLgogICAgIExheW91dFVuaXQgbWFyZ2luU3RhcnQgPSBtaW5pbXVtVmFsdWVGb3JM
ZW5ndGgoc3R5bGUoKS5tYXJnaW5TdGFydCgpLCBsb2dpY2FsV2lkdGgpOwpAQCAtNzAzLDcgKzcw
Myw3IEBAIExheW91dFVuaXQgUmVuZGVyUmVwbGFjZWQ6OmNvbXB1dGVSZXBsYWNlZExvZ2ljYWxI
ZWlnaHQoc3RkOjpvcHRpb25hbDxMYXlvdXRVbml0CiAgICAgLy8gT3RoZXJ3aXNlLCBpZiAnaGVp
Z2h0JyBoYXMgYSBjb21wdXRlZCB2YWx1ZSBvZiAnYXV0bycsIGFuZCB0aGUgZWxlbWVudCBoYXMg
YW4gaW50cmluc2ljIHJhdGlvIHRoZW4gdGhlIHVzZWQgdmFsdWUgb2YgJ2hlaWdodCcgaXM6CiAg
ICAgLy8gKHVzZWQgd2lkdGgpIC8gKGludHJpbnNpYyByYXRpbykKICAgICBpZiAoIWludHJpbnNp
Y1JhdGlvLmlzRW1wdHkoKSkgewotICAgICAgICBMYXlvdXRVbml0IHVzZWRXaWR0aCA9IGVzdGlt
YXRlZFVzZWRXaWR0aCA/IGVzdGltYXRlZFVzZWRXaWR0aC52YWx1ZSgpIDogYXZhaWxhYmxlTG9n
aWNhbFdpZHRoKCk7CisgICAgICAgIExheW91dFVuaXQgdXNlZFdpZHRoID0gZXN0aW1hdGVkVXNl
ZFdpZHRoID8gZXN0aW1hdGVkVXNlZFdpZHRoLnZhbHVlKCkgOiBjb250ZW50TG9naWNhbFdpZHRo
KCk7CiAgICAgICAgIEJveFNpemluZyBib3hTaXppbmcgPSBCb3hTaXppbmc6OkNvbnRlbnRCb3g7
CiAgICAgICAgIGlmIChzdHlsZSgpLmhhc0FzcGVjdFJhdGlvKCkpCiAgICAgICAgICAgICBib3hT
aXppbmcgPSBzdHlsZSgpLmJveFNpemluZ0ZvckFzcGVjdFJhdGlvKCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290LmNwcAppbmRleCA5Y2UwZWU3MzcwODYu
LjMyNjRlYThjMzRlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9S
ZW5kZXJTVkdSb290LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRl
clNWR1Jvb3QuY3BwCkBAIC0xNTEsNyArMTUxLDcgQEAgTGF5b3V0VW5pdCBSZW5kZXJTVkdSb290
Ojpjb21wdXRlUmVwbGFjZWRMb2dpY2FsV2lkdGgoU2hvdWxkQ29tcHV0ZVByZWZlcnJlZCBzaG8K
ICAgICAgICAgcmV0dXJuIG1fY29udGFpbmVyU2l6ZS53aWR0aCgpOwogCiAgICAgaWYgKGlzRW1i
ZWRkZWRUaHJvdWdoRnJhbWVDb250YWluaW5nU1ZHRG9jdW1lbnQoKSkKLSAgICAgICAgcmV0dXJu
IGNvbnRhaW5pbmdCbG9jaygpLT5hdmFpbGFibGVMb2dpY2FsV2lkdGgoKTsKKyAgICAgICAgcmV0
dXJuIGNvbnRhaW5pbmdCbG9jaygpLT5jb250ZW50TG9naWNhbFdpZHRoKCk7CiAKICAgICAvLyBT
dGFuZGFsb25lIFNWRyAvIFNWRyBlbWJlZGRlZCB2aWEgU1ZHSW1hZ2UgKGJhY2tncm91bmQtaW1h
Z2UvYm9yZGVyLWltYWdlL2V0YykgLyBJbmxpbmUgU1ZHLgogICAgIGF1dG8gcmVzdWx0ID0gUmVu
ZGVyUmVwbGFjZWQ6OmNvbXB1dGVSZXBsYWNlZExvZ2ljYWxXaWR0aChzaG91bGRDb21wdXRlUHJl
ZmVycmVkKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvbGVnYWN5
L0xlZ2FjeVJlbmRlclNWR1Jvb3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9s
ZWdhY3kvTGVnYWN5UmVuZGVyU1ZHUm9vdC5jcHAKaW5kZXggZTFjZmQzOGYxYzBjLi4xYTFjMWQz
NmQ3YTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvbGVnYWN5L0xl
Z2FjeVJlbmRlclNWR1Jvb3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcv
bGVnYWN5L0xlZ2FjeVJlbmRlclNWR1Jvb3QuY3BwCkBAIC0xNDUsNyArMTQ1LDcgQEAgTGF5b3V0
VW5pdCBMZWdhY3lSZW5kZXJTVkdSb290Ojpjb21wdXRlUmVwbGFjZWRMb2dpY2FsV2lkdGgoU2hv
dWxkQ29tcHV0ZVByZWZlcnIKICAgICAgICAgcmV0dXJuIG1fY29udGFpbmVyU2l6ZS53aWR0aCgp
OwogCiAgICAgaWYgKGlzRW1iZWRkZWRUaHJvdWdoRnJhbWVDb250YWluaW5nU1ZHRG9jdW1lbnQo
KSkKLSAgICAgICAgcmV0dXJuIGNvbnRhaW5pbmdCbG9jaygpLT5hdmFpbGFibGVMb2dpY2FsV2lk
dGgoKTsKKyAgICAgICAgcmV0dXJuIGNvbnRhaW5pbmdCbG9jaygpLT5jb250ZW50TG9naWNhbFdp
ZHRoKCk7CiAKICAgICAvLyBTVkcgZW1iZWRkZWQgdmlhIFNWR0ltYWdlIChiYWNrZ3JvdW5kLWlt
YWdlL2JvcmRlci1pbWFnZS9ldGMpIC8gSW5saW5lIFNWRy4KICAgICByZXR1cm4gUmVuZGVyUmVw
bGFjZWQ6OmNvbXB1dGVSZXBsYWNlZExvZ2ljYWxXaWR0aChzaG91bGRDb21wdXRlUHJlZmVycmVk
KTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>473809</attachid>
            <date>2025-01-06 08:43:00 -0800</date>
            <delta_ts>2025-01-06 12:38:55 -0800</delta_ts>
            <desc>[fast-cq]Patch</desc>
            <filename>bug-285369-20250106084259.patch</filename>
            <type>text/plain</type>
            <size>23698</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSBkNWZlOTY5NGRmODk2YzcxMDg0OTk4ODBmNThiZTY3MWVhNzdhYWZmIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJhcmFkbGF5IDx6YWxhbkBhcHBsZS5jb20+CkRhdGU6
IEZyaSwgMyBKYW4gMjAyNSAxNTo1Mjo0NSAtMDgwMApTdWJqZWN0OiBbUEFUQ0hdIFtDbGVhbnVw
XSBSZW1vdmUgbWlzbGVhZGluZyBSZW5kZXJCb3g6OmF2YWlsYWJsZSogZnVuY3Rpb25zCiBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mjg1MzY5CgpSZXZpZXdlZCBieSBB
bnR0aSBLb2l2aXN0by4KCkNoaWxkIGJveGVzIGNhbGwgdGhlc2UgZnVuY3Rpb25zIG9uIHRoZWly
IGNvbnRhaW5pbmcgYmxvY2tzIHRvIGZpbmQgb3V0IGhvdyBtdWNoIHNwYWNlIHRoZXkgaGF2ZS4K
SG93ZXZlciB0aGlzIGF2YWlsYWJsZSBzcGFjZSBtYXkgdmFyeSBkZXBlbmRpbmcgb24gd2hldGhl
ciB0aGUgY2hpbGQgYm94IGlzIGluLSBvciBvdXQtb2YtZmxvdyBib3ggKGNvbnRlbnQgYm94IHZz
LiBwYWRkaW5nIGJveCkuCgoqIFNvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlv
dXRJbnRlZ3JhdGlvbkZvcm1hdHRpbmdDb250ZXh0TGF5b3V0LmNwcDoKKFdlYkNvcmU6OkxheW91
dEludGVncmF0aW9uOjpsYXlvdXRXaXRoRm9ybWF0dGluZ0NvbnRleHRGb3JCb3gpOgoqIFNvdXJj
ZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9mbGV4L0xheW91dEludGVncmF0aW9uRmxleExh
eW91dC5jcHA6CihXZWJDb3JlOjpMYXlvdXRJbnRlZ3JhdGlvbjo6RmxleExheW91dDo6dXBkYXRl
Rm9ybWF0dGluZ0NvbnRleEdlb21ldHJpZXMpOgoqIFNvdXJjZS9XZWJDb3JlL3BhZ2UvTG9jYWxG
cmFtZVZpZXcuY3BwOgooV2ViQ29yZTo6TG9jYWxGcmFtZVZpZXc6OmFwcGx5UGFnaW5hdGlvblRv
Vmlld3BvcnQpOgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHA6CihX
ZWJDb3JlOjpSZW5kZXJCbG9jazo6dGV4dEluZGVudE9mZnNldCBjb25zdCk6CihXZWJDb3JlOjpS
ZW5kZXJCbG9jazo6bG9naWNhbFJpZ2h0T2Zmc2V0Rm9yQ29udGVudCBjb25zdCk6CiogU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHA6CihXZWJDb3JlOjpSZW5kZXJC
bG9ja0Zsb3c6OmNvbHVtbkdhcCBjb25zdCk6CihXZWJDb3JlOjpSZW5kZXJCbG9ja0Zsb3c6OmRl
dGVybWluZUxvZ2ljYWxMZWZ0UG9zaXRpb25Gb3JDaGlsZCk6CiogU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJveC5jcHA6CihXZWJDb3JlOjpSZW5kZXJCb3g6OmNvbnRhaW5pbmdCbG9j
a0xvZ2ljYWxXaWR0aEZvckNvbnRlbnQgY29uc3QpOgooV2ViQ29yZTo6UmVuZGVyQm94Ojpjb21w
dXRlUHJlZmVycmVkTG9naWNhbFdpZHRocyk6CiogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckJveC5oOgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hJbmxpbmVzLmg6
CihXZWJDb3JlOjpSZW5kZXJCb3g6OmF2YWlsYWJsZUhlaWdodCBjb25zdCk6IERlbGV0ZWQuCihX
ZWJDb3JlOjpSZW5kZXJCb3g6OmF2YWlsYWJsZUxvZ2ljYWxXaWR0aCBjb25zdCk6IERlbGV0ZWQu
CihXZWJDb3JlOjpSZW5kZXJCb3g6OmF2YWlsYWJsZVdpZHRoIGNvbnN0KTogRGVsZXRlZC4KKiBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwOgooV2ViQ29y
ZTo6UmVuZGVyQm94TW9kZWxPYmplY3Q6OnJlbGF0aXZlUG9zaXRpb25PZmZzZXQgY29uc3QpOgoo
V2ViQ29yZTo6UmVuZGVyQm94TW9kZWxPYmplY3Q6OmNvbXB1dGVTdGlja3lQb3NpdGlvbkNvbnN0
cmFpbnRzIGNvbnN0KToKKFdlYkNvcmU6OlJlbmRlckJveE1vZGVsT2JqZWN0Ojpjb250YWluaW5n
QmxvY2tMb2dpY2FsV2lkdGhGb3JDb250ZW50IGNvbnN0KToKKiBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyR3JpZC5jcHA6CihXZWJDb3JlOjpSZW5kZXJHcmlkOjphdmFpbGFibGVTcGFj
ZUZvckd1dHRlcnMgY29uc3QpOgooV2ViQ29yZTo6UmVuZGVyR3JpZDo6bGF5b3V0R3JpZCk6CihX
ZWJDb3JlOjpSZW5kZXJHcmlkOjpsYXlvdXRNYXNvbnJ5KToKKFdlYkNvcmU6OlJlbmRlckdyaWQ6
OnBsYWNlSXRlbXMpOgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHA6
CihXZWJDb3JlOjpSZW5kZXJJbWFnZTo6Y29tcHV0ZUludHJpbnNpY1JhdGlvSW5mb3JtYXRpb24g
Y29uc3QpOgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuY3BwOgooV2Vi
Q29yZTo6Y29tcHV0ZU1hcmdpbik6CiogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11
bHRpQ29sdW1uU2V0LmNwcDoKKFdlYkNvcmU6OlJlbmRlck11bHRpQ29sdW1uU2V0Ojpjb2x1bW5H
YXAgY29uc3QpOgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5jcHA6
CihXZWJDb3JlOjpSZW5kZXJSZXBsYWNlZDo6cGFpbnQpOgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5jcHA6CihXZWJDb3JlOjpSZW5kZXJTVkdSb290Ojpjb21w
dXRlUmVwbGFjZWRMb2dpY2FsV2lkdGggY29uc3QpOgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdmcvbGVnYWN5L0xlZ2FjeVJlbmRlclNWR1Jvb3QuY3BwOgooV2ViQ29yZTo6TGVnYWN5UmVu
ZGVyU1ZHUm9vdDo6Y29tcHV0ZVJlcGxhY2VkTG9naWNhbFdpZHRoIGNvbnN0KToKLS0tCiAuLi4v
TGF5b3V0SW50ZWdyYXRpb25Gb3JtYXR0aW5nQ29udGV4dExheW91dC5jcHAgICAgIHwgIDIgKy0K
IC4uLi9pbnRlZ3JhdGlvbi9mbGV4L0xheW91dEludGVncmF0aW9uRmxleExheW91dC5jcHAgfCAg
MiArLQogU291cmNlL1dlYkNvcmUvcGFnZS9Mb2NhbEZyYW1lVmlldy5jcHAgICAgICAgICAgICAg
ICB8ICAyICstCiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwICAgICAg
ICAgICAgIHwgIDQgKystLQogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxv
dy5jcHAgICAgICAgICB8ICA0ICsrLS0KIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
b3guY3BwICAgICAgICAgICAgICAgfCAgNCArKy0tCiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQm94LmggICAgICAgICAgICAgICAgIHwgIDYgLS0tLS0tCiBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQm94SW5saW5lcy5oICAgICAgICAgIHwgIDMgLS0tCiBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwICAgIHwgMTIgKysrKysrLS0t
LS0tCiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5jcHAgICAgICAgICAgICAg
IHwgMTAgKysrKystLS0tLQogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNw
cCAgICAgICAgICAgICB8ICAyICstCiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW5s
aW5lLmNwcCAgICAgICAgICAgIHwgIDIgKy0KIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJNdWx0aUNvbHVtblNldC5jcHAgICAgfCAgMiArLQogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclJlcGxhY2VkLmNwcCAgICAgICAgICB8ICA0ICsrLS0KIFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5jcHAgICAgICAgfCAgMiArLQogLi4uL3JlbmRlcmlu
Zy9zdmcvbGVnYWN5L0xlZ2FjeVJlbmRlclNWR1Jvb3QuY3BwICAgICB8ICAyICstCiAxNiBmaWxl
cyBjaGFuZ2VkLCAyNyBpbnNlcnRpb25zKCspLCAzNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25Gb3Jt
YXR0aW5nQ29udGV4dExheW91dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRp
b24vTGF5b3V0SW50ZWdyYXRpb25Gb3JtYXR0aW5nQ29udGV4dExheW91dC5jcHAKaW5kZXggMjlj
ZTU5MzIxNDcwLi4xM2NmZmI0MWNjMjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkZvcm1hdHRpbmdDb250ZXh0TGF5b3V0LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRp
b25Gb3JtYXR0aW5nQ29udGV4dExheW91dC5jcHAKQEAgLTU4LDcgKzU4LDcgQEAgdm9pZCBsYXlv
dXRXaXRoRm9ybWF0dGluZ0NvbnRleHRGb3JCb3goY29uc3QgTGF5b3V0OjpFbGVtZW50Qm94JiBi
b3gsIHN0ZDo6b3B0aW8KICAgICAgICAgcmV0dXJuICphbmNlc3RvcjsKICAgICB9OwogICAgIGF1
dG8gdXBkYXRlciA9IEJveEdlb21ldHJ5VXBkYXRlciB7IGxheW91dFN0YXRlLCByb290TGF5b3V0
Qm94KCkgfTsKLSAgICB1cGRhdGVyLnVwZGF0ZUJveEdlb21ldHJ5QWZ0ZXJJbnRlZ3JhdGlvbkxh
eW91dChib3gsIHdpZHRoQ29uc3RyYWludC52YWx1ZV9vcihyZW5kZXJlci5jb250YWluaW5nQmxv
Y2soKS0+YXZhaWxhYmxlTG9naWNhbFdpZHRoKCkpKTsKKyAgICB1cGRhdGVyLnVwZGF0ZUJveEdl
b21ldHJ5QWZ0ZXJJbnRlZ3JhdGlvbkxheW91dChib3gsIHdpZHRoQ29uc3RyYWludC52YWx1ZV9v
cihyZW5kZXJlci5jb250YWluaW5nQmxvY2soKS0+Y29udGVudExvZ2ljYWxXaWR0aCgpKSk7CiB9
CiAKIExheW91dFVuaXQgZm9ybWF0dGluZ0NvbnRleHRSb290TG9naWNhbFdpZHRoRm9yVHlwZShj
b25zdCBMYXlvdXQ6OkVsZW1lbnRCb3gmIGJveCwgTG9naWNhbFdpZHRoVHlwZSBsb2dpY2FsV2lk
dGhUeXBlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL2Zs
ZXgvTGF5b3V0SW50ZWdyYXRpb25GbGV4TGF5b3V0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9pbnRlZ3JhdGlvbi9mbGV4L0xheW91dEludGVncmF0aW9uRmxleExheW91dC5jcHAKaW5kZXgg
N2UxOTkwOGUyMDgzLi45ZGJmZjAwODQ1ZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9pbnRlZ3JhdGlvbi9mbGV4L0xheW91dEludGVncmF0aW9uRmxleExheW91dC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL2ZsZXgvTGF5b3V0SW50ZWdyYXRp
b25GbGV4TGF5b3V0LmNwcApAQCAtMTE3LDcgKzExNyw3IEBAIHN0YXRpYyBpbmxpbmUgTGF5b3V0
OjpDb25zdHJhaW50c0ZvckZsZXhDb250ZW50IGNvbnN0cmFpbnRzRm9yRmxleENvbnRlbnQoY29u
c3QKIHZvaWQgRmxleExheW91dDo6dXBkYXRlRm9ybWF0dGluZ0NvbnRleEdlb21ldHJpZXMoKQog
ewogICAgIGF1dG8gYm94R2VvbWV0cnlVcGRhdGVyID0gQm94R2VvbWV0cnlVcGRhdGVyIHsgbGF5
b3V0U3RhdGUoKSwgZmxleEJveCgpIH07Ci0gICAgYm94R2VvbWV0cnlVcGRhdGVyLnNldEZvcm1h
dHRpbmdDb250ZXh0Um9vdEdlb21ldHJ5KGZsZXhCb3hSZW5kZXJlcigpLmNvbnRhaW5pbmdCbG9j
aygpLT5hdmFpbGFibGVMb2dpY2FsV2lkdGgoKSk7CisgICAgYm94R2VvbWV0cnlVcGRhdGVyLnNl
dEZvcm1hdHRpbmdDb250ZXh0Um9vdEdlb21ldHJ5KGZsZXhCb3hSZW5kZXJlcigpLmNvbnRhaW5p
bmdCbG9jaygpLT5jb250ZW50TG9naWNhbFdpZHRoKCkpOwogICAgIGJveEdlb21ldHJ5VXBkYXRl
ci5zZXRGb3JtYXR0aW5nQ29udGV4dENvbnRlbnRHZW9tZXRyeShsYXlvdXRTdGF0ZSgpLmdlb21l
dHJ5Rm9yQm94KGZsZXhCb3goKSkuY29udGVudEJveFdpZHRoKCksIHsgfSk7CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTG9jYWxGcmFtZVZpZXcuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9Mb2NhbEZyYW1lVmlldy5jcHAKaW5kZXggNTI3NmU4ZDk1MWZkLi41MjI2N2Ni
MDE4NmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTG9jYWxGcmFtZVZpZXcuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTG9jYWxGcmFtZVZpZXcuY3BwCkBAIC02NjMsNyAr
NjYzLDcgQEAgdm9pZCBMb2NhbEZyYW1lVmlldzo6YXBwbHlQYWdpbmF0aW9uVG9WaWV3cG9ydCgp
CiAgICAgICAgIGlmICghY29sdW1uR2FwTGVuZ3RoLmlzTm9ybWFsKCkpIHsKICAgICAgICAgICAg
IGF1dG8qIHJlbmRlckJveCA9IGR5bmFtaWNEb3duY2FzdDxSZW5kZXJCb3g+KGRvY3VtZW50T3JC
b2R5UmVuZGVyZXIpOwogICAgICAgICAgICAgaWYgKGF1dG8qIGNvbnRhaW5lckZvclBhZ2luYXRp
b25HYXAgPSByZW5kZXJCb3ggPyByZW5kZXJCb3ggOiBkb2N1bWVudE9yQm9keVJlbmRlcmVyLT5j
b250YWluaW5nQmxvY2soKSkKLSAgICAgICAgICAgICAgICBwYWdpbmF0aW9uLmdhcCA9IHZhbHVl
Rm9yTGVuZ3RoKGNvbHVtbkdhcExlbmd0aC5sZW5ndGgoKSwgY29udGFpbmVyRm9yUGFnaW5hdGlv
bkdhcC0+YXZhaWxhYmxlTG9naWNhbFdpZHRoKCkpLnRvVW5zaWduZWQoKTsKKyAgICAgICAgICAg
ICAgICBwYWdpbmF0aW9uLmdhcCA9IHZhbHVlRm9yTGVuZ3RoKGNvbHVtbkdhcExlbmd0aC5sZW5n
dGgoKSwgY29udGFpbmVyRm9yUGFnaW5hdGlvbkdhcC0+Y29udGVudExvZ2ljYWxXaWR0aCgpKS50
b1Vuc2lnbmVkKCk7CiAgICAgICAgIH0KICAgICB9CiAgICAgc2V0UGFnaW5hdGlvbihwYWdpbmF0
aW9uKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCmluZGV4IDU2NTNm
YTM2OGUwZS4uMWNlZDYwY2U3MmFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQmxvY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
bG9jay5jcHAKQEAgLTE4NTgsNyArMTg1OCw3IEBAIExheW91dFVuaXQgUmVuZGVyQmxvY2s6OnRl
eHRJbmRlbnRPZmZzZXQoKSBjb25zdAogewogICAgIExheW91dFVuaXQgY3c7CiAgICAgaWYgKHN0
eWxlKCkudGV4dEluZGVudCgpLmlzUGVyY2VudE9yQ2FsY3VsYXRlZCgpKQotICAgICAgICBjdyA9
IGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCgpOworICAgICAgICBjdyA9IGNvbnRlbnRMb2dpY2FsV2lk
dGgoKTsKICAgICByZXR1cm4gbWluaW11bVZhbHVlRm9yTGVuZ3RoKHN0eWxlKCkudGV4dEluZGVu
dCgpLCBjdyk7CiB9CiAKQEAgLTE4NzUsNyArMTg3NSw3IEBAIExheW91dFVuaXQgUmVuZGVyQmxv
Y2s6OmxvZ2ljYWxSaWdodE9mZnNldEZvckNvbnRlbnQoKSBjb25zdAogICAgIExheW91dFVuaXQg
bG9naWNhbFJpZ2h0T2Zmc2V0ID0gd3JpdGluZ01vZGUoKS5pc0hvcml6b250YWwoKSA/IGJvcmRl
ckxlZnQoKSArIHBhZGRpbmdMZWZ0KCkgOiBib3JkZXJUb3AoKSArIHBhZGRpbmdUb3AoKTsKICAg
ICBpZiAoc2hvdWxkUGxhY2VWZXJ0aWNhbFNjcm9sbGJhck9uTGVmdCgpICYmIGlzSG9yaXpvbnRh
bFdyaXRpbmdNb2RlKCkpCiAgICAgICAgIGxvZ2ljYWxSaWdodE9mZnNldCArPSB2ZXJ0aWNhbFNj
cm9sbGJhcldpZHRoKCk7Ci0gICAgbG9naWNhbFJpZ2h0T2Zmc2V0ICs9IGF2YWlsYWJsZUxvZ2lj
YWxXaWR0aCgpOworICAgIGxvZ2ljYWxSaWdodE9mZnNldCArPSBjb250ZW50TG9naWNhbFdpZHRo
KCk7CiAgICAgcmV0dXJuIGxvZ2ljYWxSaWdodE9mZnNldDsKIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcAppbmRleCA5ZDk1ZGIwMmRkYmYuLmVlNGRl
Yzg5NDQzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2Nr
Rmxvdy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5j
cHAKQEAgLTM0Nyw3ICszNDcsNyBAQCBMYXlvdXRVbml0IFJlbmRlckJsb2NrRmxvdzo6Y29sdW1u
R2FwKCkgY29uc3QKIHsKICAgICBpZiAoc3R5bGUoKS5jb2x1bW5HYXAoKS5pc05vcm1hbCgpKQog
ICAgICAgICByZXR1cm4gTGF5b3V0VW5pdChzdHlsZSgpLmZvbnREZXNjcmlwdGlvbigpLmNvbXB1
dGVkU2l6ZSgpKTsgLy8gIjFlbSIgaXMgcmVjb21tZW5kZWQgYXMgdGhlIG5vcm1hbCBnYXAgc2V0
dGluZy4gTWF0Y2hlcyA8cD4gbWFyZ2lucy4KLSAgICByZXR1cm4gdmFsdWVGb3JMZW5ndGgoc3R5
bGUoKS5jb2x1bW5HYXAoKS5sZW5ndGgoKSwgYXZhaWxhYmxlTG9naWNhbFdpZHRoKCkpOworICAg
IHJldHVybiB2YWx1ZUZvckxlbmd0aChzdHlsZSgpLmNvbHVtbkdhcCgpLmxlbmd0aCgpLCBjb250
ZW50TG9naWNhbFdpZHRoKCkpOwogfQogCiB2b2lkIFJlbmRlckJsb2NrRmxvdzo6Y29tcHV0ZUNv
bHVtbkNvdW50QW5kV2lkdGgoKQpAQCAtMTEwNyw3ICsxMTA3LDcgQEAgdm9pZCBSZW5kZXJCbG9j
a0Zsb3c6OmRldGVybWluZUxvZ2ljYWxMZWZ0UG9zaXRpb25Gb3JDaGlsZChSZW5kZXJCb3gmIGNo
aWxkLCBBcHAKICAgICAgICAgc3RhcnRQb3NpdGlvbiArPSAod3JpdGluZ01vZGUoKS5pc0xvZ2lj
YWxMZWZ0SW5saW5lU3RhcnQoKSA/IDEgOiAtMSkgKiB2ZXJ0aWNhbFNjcm9sbGJhcldpZHRoKCk7
CiAgICAgaWYgKHN0eWxlKCkuc2Nyb2xsYmFyR3V0dGVyKCkuYm90aEVkZ2VzICYmICFpc0hvcml6
b250YWxXcml0aW5nTW9kZSgpKQogICAgICAgICBzdGFydFBvc2l0aW9uICs9ICh3cml0aW5nTW9k
ZSgpLmlzTG9naWNhbExlZnRJbmxpbmVTdGFydCgpID8gMSA6IC0xKSAqIGhvcml6b250YWxTY3Jv
bGxiYXJIZWlnaHQoKTsKLSAgICBMYXlvdXRVbml0IHRvdGFsQXZhaWxhYmxlTG9naWNhbFdpZHRo
ID0gYm9yZGVyQW5kUGFkZGluZ0xvZ2ljYWxXaWR0aCgpICsgYXZhaWxhYmxlTG9naWNhbFdpZHRo
KCk7CisgICAgTGF5b3V0VW5pdCB0b3RhbEF2YWlsYWJsZUxvZ2ljYWxXaWR0aCA9IGJvcmRlckFu
ZFBhZGRpbmdMb2dpY2FsV2lkdGgoKSArIGNvbnRlbnRMb2dpY2FsV2lkdGgoKTsKIAogICAgIExh
eW91dFVuaXQgY2hpbGRNYXJnaW5TdGFydCA9IG1hcmdpblN0YXJ0Rm9yQ2hpbGQoY2hpbGQpOwog
ICAgIExheW91dFVuaXQgbmV3UG9zaXRpb24gPSBzdGFydFBvc2l0aW9uICsgY2hpbGRNYXJnaW5T
dGFydDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3Bw
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKaW5kZXggNTk5Y2I3ODA5
YTljLi42MmEyZDc0MDFiOGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJCb3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3Bw
CkBAIC0yMjY0LDcgKzIyNjQsNyBAQCBMYXlvdXRVbml0IFJlbmRlckJveDo6Y29udGFpbmluZ0Js
b2NrTG9naWNhbFdpZHRoRm9yQ29udGVudCgpIGNvbnN0CiAgICAgfQogCiAgICAgaWYgKGF1dG8q
IGNvbnRhaW5pbmdCbG9jayA9IHRoaXMtPmNvbnRhaW5pbmdCbG9jaygpKQotICAgICAgICByZXR1
cm4gaXNPdXRPZkZsb3dQb3NpdGlvbmVkKCkgPyBjb250YWluaW5nQmxvY2stPmNsaWVudExvZ2lj
YWxXaWR0aCgpIDogY29udGFpbmluZ0Jsb2NrLT5hdmFpbGFibGVMb2dpY2FsV2lkdGgoKTsKKyAg
ICAgICAgcmV0dXJuIGlzT3V0T2ZGbG93UG9zaXRpb25lZCgpID8gY29udGFpbmluZ0Jsb2NrLT5j
bGllbnRMb2dpY2FsV2lkdGgoKSA6IGNvbnRhaW5pbmdCbG9jay0+Y29udGVudExvZ2ljYWxXaWR0
aCgpOwogCiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgcmV0dXJuIDBfbHU7CkBAIC0z
NTczLDcgKzM1NzMsNyBAQCB2b2lkIFJlbmRlckJveDo6Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxX
aWR0aHMoY29uc3QgTGVuZ3RoJiBtaW5Mb2dpY2FsV2lkdGgsIGNvbgogICAgICAgICAgICAgaWYg
KCFzaG91bGRDb21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRoc0Zyb21TdHlsZSgpKQogICAgICAg
ICAgICAgICAgIHJldHVybiBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aDsKIAotICAgICAgICAg
ICAgcmV0dXJuIGNvbXB1dGVJbnRyaW5zaWNMb2dpY2FsV2lkdGhVc2luZyhtYXhMb2dpY2FsV2lk
dGgsIGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCgpLCB7IH0pOworICAgICAgICAgICAgcmV0dXJuIGNv
bXB1dGVJbnRyaW5zaWNMb2dpY2FsV2lkdGhVc2luZyhtYXhMb2dpY2FsV2lkdGgsIGNvbnRlbnRM
b2dpY2FsV2lkdGgoKSwgeyB9KTsKICAgICAgICAgfQogICAgICAgICByZXR1cm4gTGF5b3V0VW5p
dDo6bWF4KCk7CiAgICAgfSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckJveC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oCmluZGV4
IGQzNDBhNTg3MTIxNi4uYjg5YmY1NmMxMTA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQm94LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJveC5oCkBAIC00MTcsMTUgKzQxNyw5IEBAIHB1YmxpYzoKICAgICBzdGQ6Om9wdGlvbmFsPExh
eW91dFVuaXQ+IGNvbXB1dGVQZXJjZW50YWdlTG9naWNhbEhlaWdodChjb25zdCBMZW5ndGgmIGhl
aWdodCwgVXBkYXRlUGVyY2VudGFnZUhlaWdodERlc2NlbmRhbnRzID0gVXBkYXRlUGVyY2VudGFn
ZUhlaWdodERlc2NlbmRhbnRzOjpZZXMpIGNvbnN0OwogICAgIGJvb2wgaGFzQXV0b0hlaWdodE9y
Q29udGFpbmluZ0Jsb2NrV2l0aEF1dG9IZWlnaHQoVXBkYXRlUGVyY2VudGFnZUhlaWdodERlc2Nl
bmRhbnRzID0gVXBkYXRlUGVyY2VudGFnZUhlaWdodERlc2NlbmRhbnRzOjpZZXMpIGNvbnN0Owog
Ci0gICAgaW5saW5lIExheW91dFVuaXQgYXZhaWxhYmxlTG9naWNhbFdpZHRoKCkgY29uc3Q7CiAg
ICAgdmlydHVhbCBMYXlvdXRVbml0IGF2YWlsYWJsZUxvZ2ljYWxIZWlnaHQoQXZhaWxhYmxlTG9n
aWNhbEhlaWdodFR5cGUpIGNvbnN0OwogICAgIExheW91dFVuaXQgYXZhaWxhYmxlTG9naWNhbEhl
aWdodFVzaW5nKGNvbnN0IExlbmd0aCYsIEF2YWlsYWJsZUxvZ2ljYWxIZWlnaHRUeXBlKSBjb25z
dDsKIAotICAgIC8vIFRoZXJlIGFyZSBhIGZldyBjYXNlcyB3aGVyZSB3ZSBuZWVkIHRvIHJlZmVy
IHNwZWNpZmljYWxseSB0byB0aGUgYXZhaWxhYmxlIHBoeXNpY2FsIHdpZHRoIGFuZCBhdmFpbGFi
bGUgcGh5c2ljYWwgaGVpZ2h0LgotICAgIC8vIFJlbGF0aXZlIHBvc2l0aW9uaW5nIGlzIG9uZSBv
ZiB0aG9zZSBjYXNlcywgc2luY2UgbGVmdC90b3Agb2Zmc2V0cyBhcmUgcGh5c2ljYWwuCi0gICAg
aW5saW5lIExheW91dFVuaXQgYXZhaWxhYmxlV2lkdGgoKSBjb25zdDsKLSAgICBpbmxpbmUgTGF5
b3V0VW5pdCBhdmFpbGFibGVIZWlnaHQoKSBjb25zdDsKLQogICAgIFdFQkNPUkVfRVhQT1JUIHZp
cnR1YWwgaW50IHZlcnRpY2FsU2Nyb2xsYmFyV2lkdGgoKSBjb25zdDsKICAgICBXRUJDT1JFX0VY
UE9SVCB2aXJ0dWFsIGludCBob3Jpem9udGFsU2Nyb2xsYmFySGVpZ2h0KCkgY29uc3Q7CiAgICAg
aW50IGludHJpbnNpY1Njcm9sbGJhckxvZ2ljYWxXaWR0aEluY2x1ZGluZ0d1dHRlcigpIGNvbnN0
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveElubGluZXMu
aCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hJbmxpbmVzLmgKaW5kZXggNzNj
OWI0NTIzZTliLi4xNzMwZGE3NjJlZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJCb3hJbmxpbmVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckJveElubGluZXMuaApAQCAtMjQsOSArMjQsNiBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKLWlubGluZSBMYXlvdXRVbml0IFJlbmRlckJveDo6YXZhaWxhYmxlSGVpZ2h0KCkgY29uc3Qg
eyByZXR1cm4gd3JpdGluZ01vZGUoKS5pc0hvcml6b250YWwoKSA/IGF2YWlsYWJsZUxvZ2ljYWxI
ZWlnaHQoQXZhaWxhYmxlTG9naWNhbEhlaWdodFR5cGU6OkluY2x1ZGVNYXJnaW5Cb3JkZXJQYWRk
aW5nKSA6IGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCgpOyB9Ci1pbmxpbmUgTGF5b3V0VW5pdCBSZW5k
ZXJCb3g6OmF2YWlsYWJsZUxvZ2ljYWxXaWR0aCgpIGNvbnN0IHsgcmV0dXJuIGNvbnRlbnRMb2dp
Y2FsV2lkdGgoKTsgfQotaW5saW5lIExheW91dFVuaXQgUmVuZGVyQm94OjphdmFpbGFibGVXaWR0
aCgpIGNvbnN0IHsgcmV0dXJuIHdyaXRpbmdNb2RlKCkuaXNIb3Jpem9udGFsKCkgPyBhdmFpbGFi
bGVMb2dpY2FsV2lkdGgoKSA6IGF2YWlsYWJsZUxvZ2ljYWxIZWlnaHQoQXZhaWxhYmxlTG9naWNh
bEhlaWdodFR5cGU6OkluY2x1ZGVNYXJnaW5Cb3JkZXJQYWRkaW5nKTsgfQogaW5saW5lIExheW91
dFNpemUgUmVuZGVyQm94Ojpib3JkZXJCb3hMb2dpY2FsU2l6ZSgpIGNvbnN0IHsgcmV0dXJuIGxv
Z2ljYWxTaXplKCk7IH0KIGlubGluZSBMYXlvdXRSZWN0IFJlbmRlckJveDo6Y2xpZW50Qm94UmVj
dCgpIGNvbnN0IHsgcmV0dXJuIExheW91dFJlY3QoY2xpZW50TGVmdCgpLCBjbGllbnRUb3AoKSwg
Y2xpZW50V2lkdGgoKSwgY2xpZW50SGVpZ2h0KCkpOyB9CiBpbmxpbmUgTGF5b3V0VW5pdCBSZW5k
ZXJCb3g6OmNsaWVudExlZnQoKSBjb25zdCB7IHJldHVybiBib3JkZXJMZWZ0KCk7IH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCmluZGV4
IDc0NzI3Nzk5ZWI5ZC4uMGQ1MTViZjliNTE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAKQEAgLTM3OSwxMiArMzc5LDEyIEBAIExh
eW91dFNpemUgUmVuZGVyQm94TW9kZWxPYmplY3Q6OnJlbGF0aXZlUG9zaXRpb25PZmZzZXQoKSBj
b25zdAogICAgICAgICBhdXRvIGF2YWlsYWJsZVdpZHRoID0gWyZdIHsKICAgICAgICAgICAgIGF1
dG8qIHJlbmRlckJveCA9IGR5bmFtaWNEb3duY2FzdDxSZW5kZXJCb3g+KCp0aGlzKTsKICAgICAg
ICAgICAgIGlmICghcmVuZGVyQm94IHx8ICFyZW5kZXJCb3gtPmlzR3JpZEl0ZW0oKSkKLSAgICAg
ICAgICAgICAgICByZXR1cm4gY29udGFpbmluZ0Jsb2NrLT5hdmFpbGFibGVXaWR0aCgpOworICAg
ICAgICAgICAgICAgIHJldHVybiBjb250YWluaW5nQmxvY2stPmNvbnRlbnRXaWR0aCgpOwogICAg
ICAgICAgICAgLy8gRm9yIGdyaWQgaXRlbXMgdGhlIGNvbnRhaW5pbmcgYmxvY2sgaXMgdGhlIGdy
aWQgYXJlYSwgc28gb2Zmc2V0cyBzaG91bGQgYmUgcmVzb2x2ZWQgYWdhaW5zdCB0aGF0LgogICAg
ICAgICAgICAgYXV0byBjb250YWluaW5nQmxvY2tDb250ZW50V2lkdGggPSByZW5kZXJCb3gtPmdy
aWRBcmVhQ29udGVudFdpZHRoKGNvbnRhaW5pbmdCbG9jay0+d3JpdGluZ01vZGUoKSk7CiAgICAg
ICAgICAgICBpZiAoIWNvbnRhaW5pbmdCbG9ja0NvbnRlbnRXaWR0aCB8fCAhKmNvbnRhaW5pbmdC
bG9ja0NvbnRlbnRXaWR0aCkgewogICAgICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgp
OwotICAgICAgICAgICAgICAgIHJldHVybiBjb250YWluaW5nQmxvY2stPmF2YWlsYWJsZVdpZHRo
KCk7CisgICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRhaW5pbmdCbG9jay0+Y29udGVudFdpZHRo
KCk7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICByZXR1cm4gKipjb250YWluaW5nQmxvY2tD
b250ZW50V2lkdGg7CiAgICAgICAgIH07CkBAIC00MTIsMTIgKzQxMiwxMiBAQCBMYXlvdXRTaXpl
IFJlbmRlckJveE1vZGVsT2JqZWN0OjpyZWxhdGl2ZVBvc2l0aW9uT2Zmc2V0KCkgY29uc3QKICAg
ICBhdXRvIGF2YWlsYWJsZUhlaWdodCA9IFsmXSB7CiAgICAgICAgIGF1dG8qIHJlbmRlckJveCA9
IGR5bmFtaWNEb3duY2FzdDxSZW5kZXJCb3g+KCp0aGlzKTsKICAgICAgICAgaWYgKCFyZW5kZXJC
b3ggfHwgIXJlbmRlckJveC0+aXNHcmlkSXRlbSgpKQotICAgICAgICAgICAgcmV0dXJuIGNvbnRh
aW5pbmdCbG9jay0+YXZhaWxhYmxlSGVpZ2h0KCk7CisgICAgICAgICAgICByZXR1cm4gY29udGFp
bmluZ0Jsb2NrLT5jb250ZW50SGVpZ2h0KCk7CiAgICAgICAgIC8vIEZvciBncmlkIGl0ZW1zIHRo
ZSBjb250YWluaW5nIGJsb2NrIGlzIHRoZSBncmlkIGFyZWEsIHNvIG9mZnNldHMgc2hvdWxkIGJl
IHJlc29sdmVkIGFnYWluc3QgdGhhdC4KICAgICAgICAgYXV0byBjb250YWluaW5nQmxvY2tDb250
ZW50SGVpZ2h0ID0gcmVuZGVyQm94LT5ncmlkQXJlYUNvbnRlbnRIZWlnaHQoY29udGFpbmluZ0Js
b2NrLT5zdHlsZSgpLndyaXRpbmdNb2RlKCkpOwogICAgICAgICBpZiAoIWNvbnRhaW5pbmdCbG9j
a0NvbnRlbnRIZWlnaHQgfHwgISpjb250YWluaW5nQmxvY2tDb250ZW50SGVpZ2h0KSB7CiAgICAg
ICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAgICAgIHJldHVybiBjb250YWlu
aW5nQmxvY2stPmF2YWlsYWJsZUhlaWdodCgpOworICAgICAgICAgICAgcmV0dXJuIGNvbnRhaW5p
bmdCbG9jay0+Y29udGVudEhlaWdodCgpOwogICAgICAgICB9CiAgICAgICAgIHJldHVybiAqKmNv
bnRhaW5pbmdCbG9ja0NvbnRlbnRIZWlnaHQ7CiAgICAgfTsKQEAgLTUzMiw3ICs1MzIsNyBAQCB2
b2lkIFJlbmRlckJveE1vZGVsT2JqZWN0Ojpjb21wdXRlU3RpY2t5UG9zaXRpb25Db25zdHJhaW50
cyhTdGlja3lQb3NpdGlvblZpZXdwbwogICAgICAgICAgICAgY29udGFpbmluZ0Jsb2NrLT5jb21w
dXRlZENTU1BhZGRpbmdCb3R0b20oKSwgY29udGFpbmluZ0Jsb2NrLT5jb21wdXRlZENTU1BhZGRp
bmdMZWZ0KCkgfSk7CiAgICAgfQogCi0gICAgTGF5b3V0VW5pdCBtYXhXaWR0aCA9IGNvbnRhaW5p
bmdCbG9jay0+YXZhaWxhYmxlTG9naWNhbFdpZHRoKCk7CisgICAgTGF5b3V0VW5pdCBtYXhXaWR0
aCA9IGNvbnRhaW5pbmdCbG9jay0+Y29udGVudExvZ2ljYWxXaWR0aCgpOwogCiAgICAgLy8gU3Rp
Y2t5IHBvc2l0aW9uZWQgZWxlbWVudCBpZ25vcmUgYW55IG92ZXJyaWRlIGxvZ2ljYWwgd2lkdGgg
b24gdGhlIGNvbnRhaW5pbmcgYmxvY2sgKGFzIHRoZXkgZG9uJ3QgY2FsbAogICAgIC8vIGNvbnRh
aW5pbmdCbG9ja0xvZ2ljYWxXaWR0aEZvckNvbnRlbnQpLiBJdCdzIHVuY2xlYXIgd2hldGhlciB0
aGlzIGlzIHRvdGFsbHkgZmluZS4KQEAgLTg1NSw3ICs4NTUsNyBAQCBCb3JkZXJTaGFwZSBSZW5k
ZXJCb3hNb2RlbE9iamVjdDo6Ym9yZGVyU2hhcGVGb3JDb250ZW50Q2xpcHBpbmcoY29uc3QgTGF5
b3V0UmVjdAogTGF5b3V0VW5pdCBSZW5kZXJCb3hNb2RlbE9iamVjdDo6Y29udGFpbmluZ0Jsb2Nr
TG9naWNhbFdpZHRoRm9yQ29udGVudCgpIGNvbnN0CiB7CiAgICAgaWYgKGF1dG8qIGNvbnRhaW5p
bmdCbG9jayA9IHRoaXMtPmNvbnRhaW5pbmdCbG9jaygpKQotICAgICAgICByZXR1cm4gY29udGFp
bmluZ0Jsb2NrLT5hdmFpbGFibGVMb2dpY2FsV2lkdGgoKTsKKyAgICAgICAgcmV0dXJuIGNvbnRh
aW5pbmdCbG9jay0+Y29udGVudExvZ2ljYWxXaWR0aCgpOwogICAgIHJldHVybiB7IH07CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmNwcAppbmRleCBiYzU1MzIyOGM5YmYu
LmVhMmUxMWM5MWJiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckdyaWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmNwcApA
QCAtMTYxLDcgKzE2MSw3IEBAIHN0ZDo6b3B0aW9uYWw8TGF5b3V0VW5pdD4gUmVuZGVyR3JpZDo6
YXZhaWxhYmxlU3BhY2VGb3JHdXR0ZXJzKEdyaWRUcmFja1NpemluZ0RpCiAgICAgaWYgKGdhcExl
bmd0aC5pc05vcm1hbCgpIHx8ICFnYXBMZW5ndGgubGVuZ3RoKCkuaXNQZXJjZW50T3JDYWxjdWxh
dGVkKCkpCiAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAKLSAgICByZXR1cm4gaXNSb3dB
eGlzID8gYXZhaWxhYmxlTG9naWNhbFdpZHRoKCkgOiBjb250ZW50TG9naWNhbEhlaWdodCgpOwor
ICAgIHJldHVybiBpc1Jvd0F4aXMgPyBjb250ZW50TG9naWNhbFdpZHRoKCkgOiBjb250ZW50TG9n
aWNhbEhlaWdodCgpOwogfQogCiB2b2lkIFJlbmRlckdyaWQ6OmNvbXB1dGVUcmFja1NpemVzRm9y
RGVmaW5pdGVTaXplKEdyaWRUcmFja1NpemluZ0RpcmVjdGlvbiBkaXJlY3Rpb24sIExheW91dFVu
aXQgYXZhaWxhYmxlU3BhY2UsIEdyaWRMYXlvdXRTdGF0ZSYgZ3JpZExheW91dFN0YXRlKQpAQCAt
MzQ0LDcgKzM0NCw3IEBAIHZvaWQgUmVuZGVyR3JpZDo6bGF5b3V0R3JpZChib29sIHJlbGF5b3V0
Q2hpbGRyZW4pCiAgICAgICAgIC8vIEl0IGRvZXNuJ3QgZ2V0IGluY2x1ZGVkIGluIHRoZSBub3Jt
YWwgbGF5b3V0IHByb2Nlc3MgYnV0IGlzIGluc3RlYWQgc2tpcHBlZC4KICAgICAgICAgbGF5b3V0
RXhjbHVkZWRDaGlsZHJlbihyZWxheW91dENoaWxkcmVuKTsKIAotICAgICAgICBMYXlvdXRVbml0
IGF2YWlsYWJsZVNwYWNlRm9yQ29sdW1ucyA9IGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCgpOworICAg
ICAgICBMYXlvdXRVbml0IGF2YWlsYWJsZVNwYWNlRm9yQ29sdW1ucyA9IGNvbnRlbnRMb2dpY2Fs
V2lkdGgoKTsKICAgICAgICAgcGxhY2VJdGVtc09uR3JpZChhdmFpbGFibGVTcGFjZUZvckNvbHVt
bnMpOwogCiAgICAgICAgIG1fdHJhY2tTaXppbmdBbGdvcml0aG0uc2V0QXZhaWxhYmxlU3BhY2Uo
R3JpZFRyYWNrU2l6aW5nRGlyZWN0aW9uOjpGb3JDb2x1bW5zLCBhdmFpbGFibGVTcGFjZUZvckNv
bHVtbnMpOwpAQCAtNDc0LDcgKzQ3NCw3IEBAIHZvaWQgUmVuZGVyR3JpZDo6bGF5b3V0TWFzb25y
eShib29sIHJlbGF5b3V0Q2hpbGRyZW4pCiAKICAgICAgICAgdXBkYXRlTG9naWNhbFdpZHRoKCk7
CiAKLSAgICAgICAgTGF5b3V0VW5pdCBhdmFpbGFibGVTcGFjZUZvckNvbHVtbnMgPSBhdmFpbGFi
bGVMb2dpY2FsV2lkdGgoKTsKKyAgICAgICAgTGF5b3V0VW5pdCBhdmFpbGFibGVTcGFjZUZvckNv
bHVtbnMgPSBjb250ZW50TG9naWNhbFdpZHRoKCk7CiAgICAgICAgIHBsYWNlSXRlbXNPbkdyaWQo
YXZhaWxhYmxlU3BhY2VGb3JDb2x1bW5zKTsKIAogICAgICAgICBtX3RyYWNrU2l6aW5nQWxnb3Jp
dGhtLnNldEF2YWlsYWJsZVNwYWNlKEdyaWRUcmFja1NpemluZ0RpcmVjdGlvbjo6Rm9yQ29sdW1u
cywgYXZhaWxhYmxlU3BhY2VGb3JDb2x1bW5zKTsKQEAgLTkwNyw3ICs5MDcsNyBAQCB2b2lkIFJl
bmRlckdyaWQ6OnBsYWNlSXRlbXMoKQogewogICAgIHVwZGF0ZUxvZ2ljYWxXaWR0aCgpOwogCi0g
ICAgTGF5b3V0VW5pdCBhdmFpbGFibGVTcGFjZUZvckNvbHVtbnMgPSBhdmFpbGFibGVMb2dpY2Fs
V2lkdGgoKTsKKyAgICBMYXlvdXRVbml0IGF2YWlsYWJsZVNwYWNlRm9yQ29sdW1ucyA9IGNvbnRl
bnRMb2dpY2FsV2lkdGgoKTsKICAgICBwbGFjZUl0ZW1zT25HcmlkKGF2YWlsYWJsZVNwYWNlRm9y
Q29sdW1ucyk7CiB9CiAKQEAgLTk4NCw3ICs5ODQsNyBAQCBBdXRvUmVwZWF0VHlwZSBSZW5kZXJH
cmlkOjphdXRvUmVwZWF0Um93c1R5cGUoKSBjb25zdAogCiAKIC8vIEZJWE1FOiBXZSBzaG91bGRu
J3QgaGF2ZSB0byBwYXNzIHRoZSBhdmFpbGFibGUgbG9naWNhbCB3aWR0aCBhcyBhcmd1bWVudC4g
VGhlIHByb2JsZW0gaXMgdGhhdAotLy8gYXZhaWxhYmxlTG9naWNhbFdpZHRoKCkgZG9lcyBhbHdh
eXMgcmV0dXJuIGEgdmFsdWUgZXZlbiBpZiB3ZSBjYW5ub3QgcmVzb2x2ZSBpdCBsaWtlIHdoZW4K
Ky8vIGNvbnRlbnRMb2dpY2FsV2lkdGgoKSBkb2VzIGFsd2F5cyByZXR1cm4gYSB2YWx1ZSBldmVu
IGlmIHdlIGNhbm5vdCByZXNvbHZlIGl0IGxpa2Ugd2hlbgogLy8gY29tcHV0aW5nIHRoZSBpbnRy
aW5zaWMgc2l6ZSAocHJlZmVycmVkIHdpZHRocykuIFRoYXQncyB3aHkgd2UgcGFzcyB0aGUgcmVz
cG9uc2liaWxpdHkgdG8gdGhlCiAvLyBjYWxsZXIgd2hvIGRvZXMga25vdyB3aGV0aGVyIHRoZSBh
dmFpbGFibGUgbG9naWNhbCB3aWR0aCBpcyBpbmRlZmluaXRlIG9yIG5vdC4KIHZvaWQgUmVuZGVy
R3JpZDo6cGxhY2VJdGVtc09uR3JpZChzdGQ6Om9wdGlvbmFsPExheW91dFVuaXQ+IGF2YWlsYWJs
ZUxvZ2ljYWxXaWR0aCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJJbWFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwCmlu
ZGV4IDEwY2M4ZTUyNTVjMC4uZTZiY2JiN2Q1MTdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJJbWFnZS5jcHAKQEAgLTkwMCw3ICs5MDAsNyBAQCB2b2lkIFJlbmRlckltYWdlOjpj
b21wdXRlSW50cmluc2ljUmF0aW9JbmZvcm1hdGlvbihGbG9hdFNpemUmIGludHJpbnNpY1NpemUs
IEZsbwogICAgIGlmIChpbnRyaW5zaWNTaXplLmlzRW1wdHkoKSAmJiAoaW1hZ2VSZXNvdXJjZSgp
LmltYWdlSGFzUmVsYXRpdmVXaWR0aCgpIHx8IGltYWdlUmVzb3VyY2UoKS5pbWFnZUhhc1JlbGF0
aXZlSGVpZ2h0KCkpKSB7CiAgICAgICAgIFJlbmRlck9iamVjdCogY29udGFpbmluZ0Jsb2NrID0g
aXNPdXRPZkZsb3dQb3NpdGlvbmVkKCkgPyBjb250YWluZXIoKSA6IHRoaXMtPmNvbnRhaW5pbmdC
bG9jaygpOwogICAgICAgICBpZiAoYXV0byogYm94ID0gZHluYW1pY0Rvd25jYXN0PFJlbmRlckJv
eD4oKmNvbnRhaW5pbmdCbG9jaykpIHsKLSAgICAgICAgICAgIGludHJpbnNpY1NpemUuc2V0V2lk
dGgoYm94LT5hdmFpbGFibGVMb2dpY2FsV2lkdGgoKSk7CisgICAgICAgICAgICBpbnRyaW5zaWNT
aXplLnNldFdpZHRoKGJveC0+Y29udGVudExvZ2ljYWxXaWR0aCgpKTsKICAgICAgICAgICAgIGlu
dHJpbnNpY1NpemUuc2V0SGVpZ2h0KGJveC0+YXZhaWxhYmxlTG9naWNhbEhlaWdodChBdmFpbGFi
bGVMb2dpY2FsSGVpZ2h0VHlwZTo6SW5jbHVkZU1hcmdpbkJvcmRlclBhZGRpbmcpKTsKICAgICAg
ICAgfQogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJ
bmxpbmUuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklubGluZS5jcHAKaW5k
ZXggMTk3Yzc4M2U0ZmNhLi4xOGQ2OTdhZDMxNTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJJbmxpbmUuY3BwCkBAIC0zNDksNyArMzQ5LDcgQEAgc3RhdGljIExheW91dFVuaXQg
Y29tcHV0ZU1hcmdpbihjb25zdCBSZW5kZXJJbmxpbmUqIHJlbmRlcmVyLCBjb25zdCBMZW5ndGgm
IG1hcmcKICAgICBpZiAobWFyZ2luLmlzRml4ZWQoKSkKICAgICAgICAgcmV0dXJuIExheW91dFVu
aXQobWFyZ2luLnZhbHVlKCkpOwogICAgIGlmIChtYXJnaW4uaXNQZXJjZW50T3JDYWxjdWxhdGVk
KCkpCi0gICAgICAgIHJldHVybiBtaW5pbXVtVmFsdWVGb3JMZW5ndGgobWFyZ2luLCBzdGQ6Om1h
eDxMYXlvdXRVbml0PigwLCByZW5kZXJlci0+Y29udGFpbmluZ0Jsb2NrKCktPmF2YWlsYWJsZUxv
Z2ljYWxXaWR0aCgpKSk7CisgICAgICAgIHJldHVybiBtaW5pbXVtVmFsdWVGb3JMZW5ndGgobWFy
Z2luLCBzdGQ6Om1heDxMYXlvdXRVbml0PigwLCByZW5kZXJlci0+Y29udGFpbmluZ0Jsb2NrKCkt
PmNvbnRlbnRMb2dpY2FsV2lkdGgoKSkpOwogICAgIHJldHVybiAwOwogfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5TZXQuY3BwIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uU2V0LmNwcAppbmRleCA2ZWUz
Y2U0NjNlMDIuLmRjMDNhNzIzYzI4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlck11bHRpQ29sdW1uU2V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTXVsdGlDb2x1bW5TZXQuY3BwCkBAIC00NDMsNyArNDQzLDcgQEAgTGF5b3V0VW5p
dCBSZW5kZXJNdWx0aUNvbHVtblNldDo6Y29sdW1uR2FwKCkgY29uc3QKICAgICBSZW5kZXJCbG9j
a0Zsb3cmIHBhcmVudEJsb2NrID0gZG93bmNhc3Q8UmVuZGVyQmxvY2tGbG93PigqcGFyZW50KCkp
OwogICAgIGlmIChwYXJlbnRCbG9jay5zdHlsZSgpLmNvbHVtbkdhcCgpLmlzTm9ybWFsKCkpCiAg
ICAgICAgIHJldHVybiBMYXlvdXRVbml0KHBhcmVudEJsb2NrLnN0eWxlKCkuZm9udERlc2NyaXB0
aW9uKCkuY29tcHV0ZWRTaXplKCkpOyAvLyAiMWVtIiBpcyByZWNvbW1lbmRlZCBhcyB0aGUgbm9y
bWFsIGdhcCBzZXR0aW5nLiBNYXRjaGVzIDxwPiBtYXJnaW5zLgotICAgIHJldHVybiB2YWx1ZUZv
ckxlbmd0aChwYXJlbnRCbG9jay5zdHlsZSgpLmNvbHVtbkdhcCgpLmxlbmd0aCgpLCBwYXJlbnRC
bG9jay5hdmFpbGFibGVMb2dpY2FsV2lkdGgoKSk7CisgICAgcmV0dXJuIHZhbHVlRm9yTGVuZ3Ro
KHBhcmVudEJsb2NrLnN0eWxlKCkuY29sdW1uR2FwKCkubGVuZ3RoKCksIHBhcmVudEJsb2NrLmNv
bnRlbnRMb2dpY2FsV2lkdGgoKSk7CiB9CiAKIHVuc2lnbmVkIFJlbmRlck11bHRpQ29sdW1uU2V0
Ojpjb2x1bW5Db3VudCgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyUmVwbGFjZWQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJl
cGxhY2VkLmNwcAppbmRleCAzZjM5ZWZiMTEwZGEuLjVlY2UxZjkxYzU1YiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwCkBAIC01NzAsNyArNTcwLDcgQEAg
TGF5b3V0VW5pdCBSZW5kZXJSZXBsYWNlZDo6Y29tcHV0ZUNvbnN0cmFpbmVkTG9naWNhbFdpZHRo
KCkgY29uc3QKICAgICAvLyAncGFkZGluZy1yaWdodCcgKyAnYm9yZGVyLXJpZ2h0LXdpZHRoJyAr
ICdtYXJnaW4tcmlnaHQnID0gd2lkdGggb2YKICAgICAvLyBjb250YWluaW5nIGJsb2NrCiAgICAg
Ly8gc2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9DU1MyMi92aXN1ZGV0Lmh0bWwjYmxvY2t3aWR0
aAotICAgIExheW91dFVuaXQgbG9naWNhbFdpZHRoID0gY29udGFpbmluZ0Jsb2NrKCktPmF2YWls
YWJsZUxvZ2ljYWxXaWR0aCgpOworICAgIExheW91dFVuaXQgbG9naWNhbFdpZHRoID0gY29udGFp
bmluZ0Jsb2NrKCktPmNvbnRlbnRMb2dpY2FsV2lkdGgoKTsKICAgICAKICAgICAvLyBUaGlzIHNv
bHZlcyBhYm92ZSBlcXVhdGlvbiBmb3IgJ3dpZHRoJyAoPT0gbG9naWNhbFdpZHRoKS4KICAgICBM
YXlvdXRVbml0IG1hcmdpblN0YXJ0ID0gbWluaW11bVZhbHVlRm9yTGVuZ3RoKHN0eWxlKCkubWFy
Z2luU3RhcnQoKSwgbG9naWNhbFdpZHRoKTsKQEAgLTcwMyw3ICs3MDMsNyBAQCBMYXlvdXRVbml0
IFJlbmRlclJlcGxhY2VkOjpjb21wdXRlUmVwbGFjZWRMb2dpY2FsSGVpZ2h0KHN0ZDo6b3B0aW9u
YWw8TGF5b3V0VW5pdAogICAgIC8vIE90aGVyd2lzZSwgaWYgJ2hlaWdodCcgaGFzIGEgY29tcHV0
ZWQgdmFsdWUgb2YgJ2F1dG8nLCBhbmQgdGhlIGVsZW1lbnQgaGFzIGFuIGludHJpbnNpYyByYXRp
byB0aGVuIHRoZSB1c2VkIHZhbHVlIG9mICdoZWlnaHQnIGlzOgogICAgIC8vICh1c2VkIHdpZHRo
KSAvIChpbnRyaW5zaWMgcmF0aW8pCiAgICAgaWYgKCFpbnRyaW5zaWNSYXRpby5pc0VtcHR5KCkp
IHsKLSAgICAgICAgTGF5b3V0VW5pdCB1c2VkV2lkdGggPSBlc3RpbWF0ZWRVc2VkV2lkdGggPyBl
c3RpbWF0ZWRVc2VkV2lkdGgudmFsdWUoKSA6IGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCgpOworICAg
ICAgICBMYXlvdXRVbml0IHVzZWRXaWR0aCA9IGVzdGltYXRlZFVzZWRXaWR0aCA/IGVzdGltYXRl
ZFVzZWRXaWR0aC52YWx1ZSgpIDogY29udGVudExvZ2ljYWxXaWR0aCgpOwogICAgICAgICBCb3hT
aXppbmcgYm94U2l6aW5nID0gQm94U2l6aW5nOjpDb250ZW50Qm94OwogICAgICAgICBpZiAoc3R5
bGUoKS5oYXNBc3BlY3RSYXRpbygpKQogICAgICAgICAgICAgYm94U2l6aW5nID0gc3R5bGUoKS5i
b3hTaXppbmdGb3JBc3BlY3RSYXRpbygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dmcvUmVuZGVyU1ZHUm9vdC5jcHAKaW5kZXggOWNlMGVlNzM3MDg2Li4zMjY0ZWE4YzM0ZTcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290LmNwcApAQCAt
MTUxLDcgKzE1MSw3IEBAIExheW91dFVuaXQgUmVuZGVyU1ZHUm9vdDo6Y29tcHV0ZVJlcGxhY2Vk
TG9naWNhbFdpZHRoKFNob3VsZENvbXB1dGVQcmVmZXJyZWQgc2hvCiAgICAgICAgIHJldHVybiBt
X2NvbnRhaW5lclNpemUud2lkdGgoKTsKIAogICAgIGlmIChpc0VtYmVkZGVkVGhyb3VnaEZyYW1l
Q29udGFpbmluZ1NWR0RvY3VtZW50KCkpCi0gICAgICAgIHJldHVybiBjb250YWluaW5nQmxvY2so
KS0+YXZhaWxhYmxlTG9naWNhbFdpZHRoKCk7CisgICAgICAgIHJldHVybiBjb250YWluaW5nQmxv
Y2soKS0+Y29udGVudExvZ2ljYWxXaWR0aCgpOwogCiAgICAgLy8gU3RhbmRhbG9uZSBTVkcgLyBT
VkcgZW1iZWRkZWQgdmlhIFNWR0ltYWdlIChiYWNrZ3JvdW5kLWltYWdlL2JvcmRlci1pbWFnZS9l
dGMpIC8gSW5saW5lIFNWRy4KICAgICBhdXRvIHJlc3VsdCA9IFJlbmRlclJlcGxhY2VkOjpjb21w
dXRlUmVwbGFjZWRMb2dpY2FsV2lkdGgoc2hvdWxkQ29tcHV0ZVByZWZlcnJlZCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL2xlZ2FjeS9MZWdhY3lSZW5kZXJTVkdS
b290LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvbGVnYWN5L0xlZ2FjeVJlbmRl
clNWR1Jvb3QuY3BwCmluZGV4IGUxY2ZkMzhmMWMwYy4uMWExYzFkMzZkN2E0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL2xlZ2FjeS9MZWdhY3lSZW5kZXJTVkdSb290
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL2xlZ2FjeS9MZWdhY3lSZW5k
ZXJTVkdSb290LmNwcApAQCAtMTQ1LDcgKzE0NSw3IEBAIExheW91dFVuaXQgTGVnYWN5UmVuZGVy
U1ZHUm9vdDo6Y29tcHV0ZVJlcGxhY2VkTG9naWNhbFdpZHRoKFNob3VsZENvbXB1dGVQcmVmZXJy
CiAgICAgICAgIHJldHVybiBtX2NvbnRhaW5lclNpemUud2lkdGgoKTsKIAogICAgIGlmIChpc0Vt
YmVkZGVkVGhyb3VnaEZyYW1lQ29udGFpbmluZ1NWR0RvY3VtZW50KCkpCi0gICAgICAgIHJldHVy
biBjb250YWluaW5nQmxvY2soKS0+YXZhaWxhYmxlTG9naWNhbFdpZHRoKCk7CisgICAgICAgIHJl
dHVybiBjb250YWluaW5nQmxvY2soKS0+Y29udGVudExvZ2ljYWxXaWR0aCgpOwogCiAgICAgLy8g
U1ZHIGVtYmVkZGVkIHZpYSBTVkdJbWFnZSAoYmFja2dyb3VuZC1pbWFnZS9ib3JkZXItaW1hZ2Uv
ZXRjKSAvIElubGluZSBTVkcuCiAgICAgcmV0dXJuIFJlbmRlclJlcGxhY2VkOjpjb21wdXRlUmVw
bGFjZWRMb2dpY2FsV2lkdGgoc2hvdWxkQ29tcHV0ZVByZWZlcnJlZCk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>