<?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>219226</bug_id>
          
          <creation_ts>2020-11-20 14:41:19 -0800</creation_ts>
          <short_desc>[LFC][IFC] Remove InlineLineGeometry::logicalLeft/top/bottom/right/width/height helper functions</short_desc>
          <delta_ts>2020-11-21 05:14:19 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>koivisto</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1709661</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2020-11-20 14:41:19 -0800</bug_when>
    <thetext>This is in preparation for having lineBoxLogicalRect on InlineLineGeometry</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1709668</commentid>
    <comment_count>1</comment_count>
      <attachid>414731</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-11-20 14:49:02 -0800</bug_when>
    <thetext>Created attachment 414731
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1709689</commentid>
    <comment_count>2</comment_count>
      <attachid>414740</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-11-20 15:54:46 -0800</bug_when>
    <thetext>Created attachment 414740
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1709749</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-11-21 05:13:52 -0800</bug_when>
    <thetext>Committed r270144: &lt;https://trac.webkit.org/changeset/270144&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 414740.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1709750</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-11-21 05:14:19 -0800</bug_when>
    <thetext>&lt;rdar://problem/71654553&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>414731</attachid>
            <date>2020-11-20 14:49:02 -0800</date>
            <delta_ts>2020-11-20 15:54:44 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219226-20201120144901.patch</filename>
            <type>text/plain</type>
            <size>14331</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcwMTIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2FjOGE4ODU3ZmMxOGRj
NTgwNjJjZGRkZTUxNWVlMDdiODVlMDMyYi4uZTI5Y2Q4ZjBkZTIxMmUwMmFlYzNkODBhZjRjZTZl
YmUyYTdiZThmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDIwLTExLTIwICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bSUZDXSBSZW1vdmUg
SW5saW5lTGluZUdlb21ldHJ5Ojpsb2dpY2FsTGVmdC90b3AvYm90dG9tL3JpZ2h0L3dpZHRoL2hl
aWdodCBoZWxwZXIgZnVuY3Rpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMTkyMjYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBUaGlzIGlzIGluIHByZXBhcmF0aW9uIGZvciBoYXZpbmcgbGluZUJveExv
Z2ljYWxSZWN0KCkgb24gSW5saW5lTGluZUdlb21ldHJ5LiBJdCBtYWtlcyBpdCBhYnNvbHV0ZWx5
IGNsZWFyCisgICAgICAgIG9mIHdoYXQgdHlwZSBvZiBsb2dpY2FsIHJlY3Qgd2UgaGF2ZSBoZXJl
LgorCisgICAgICAgICogbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0R2VvbWV0cnkuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6TGF5b3V0OjpGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6OmNvbnRl
bnRIZWlnaHRGb3JGb3JtYXR0aW5nQ29udGV4dFJvb3QgY29uc3QpOgorICAgICAgICAqIGxheW91
dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkxheW91dDo6QmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6
OmluRmxvd05vblJlcGxhY2VkQ29udGVudEhlaWdodEFuZE1hcmdpbik6CisgICAgICAgICogbGF5
b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHRHZW9tZXRyeS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCb3hCdWlsZGVyOjpjb25zdHJ1Y3RJbmxp
bmVMZXZlbEJveGVzKToKKyAgICAgICAgKiBsYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVM
aW5lR2VvbWV0cnkuaDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6SW5saW5lTGluZUdlb21l
dHJ5Ojpsb2dpY2FsTGVmdCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpMYXlv
dXQ6OklubGluZUxpbmVHZW9tZXRyeTo6bG9naWNhbFJpZ2h0IGNvbnN0KTogRGVsZXRlZC4KKyAg
ICAgICAgKFdlYkNvcmU6OkxheW91dDo6SW5saW5lTGluZUdlb21ldHJ5Ojpsb2dpY2FsVG9wIGNv
bnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6SW5saW5lTGluZUdlb21l
dHJ5Ojpsb2dpY2FsQm90dG9tIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6Okxh
eW91dDo6SW5saW5lTGluZUdlb21ldHJ5Ojpsb2dpY2FsV2lkdGggY29uc3QpOiBEZWxldGVkLgor
ICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVMaW5lR2VvbWV0cnk6OmxvZ2ljYWxIZWln
aHQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIGxheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJ
bnRlZ3JhdGlvbklubGluZUNvbnRlbnRCdWlsZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okxh
eW91dEludGVncmF0aW9uOjpJbmxpbmVDb250ZW50QnVpbGRlcjo6Y29tcHV0ZUxpbmVMZXZlbFZp
c3VhbEFkanVzdG1lbnRzRm9yUnVucyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXRJ
bnRlZ3JhdGlvbjo6SW5saW5lQ29udGVudEJ1aWxkZXI6OmNyZWF0ZURpc3BsYXlMaW5lUnVucyBj
b25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXRJbnRlZ3JhdGlvbjo6SW5saW5lQ29udGVu
dEJ1aWxkZXI6OmNyZWF0ZURpc3BsYXlMaW5lcyBjb25zdCk6CisgICAgICAgICogbGF5b3V0L2xh
eW91dHRyZWUvTGF5b3V0VHJlZUJ1aWxkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0
OjpzaG93SW5saW5lVHJlZUFuZFJ1bnMpOgorCiAyMDIwLTExLTIwICBaYWxhbiBCdWp0YXMgIDx6
YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0xGQ11bSW50ZWdyYXRpb25dIEFkZCBjb250ZW50
TG9naWNhbE9mZnNldCBhbmQgY29udGVudExvZ2ljYWxXaWR0aCB0byBMaW5lCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHRHZW9tZXRyeS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHRHZW9tZXRyeS5jcHAKaW5kZXgg
MGNiYjA1NGIxZDBhNjVkMmNiOGVlYmI2Mzc5NzY1ZTRjYzhiMzc0NC4uZjU3ZDFhZTY3N2FiYWFm
MmJjOWNlODlkYWQ2NTYyYTE3Yzg2M2QwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5
b3V0L0Zvcm1hdHRpbmdDb250ZXh0R2VvbWV0cnkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9Gb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcApAQCAtMTk3LDggKzE5Nyw4IEBAIExh
eW91dFVuaXQgRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5Ojpjb250ZW50SGVpZ2h0Rm9yRm9y
bWF0dGluZ0NvbnRleHRSb290KGNvCiAgICAgICAgIGF1dG8mIGxpbmVzID0gaW5saW5lRm9ybWF0
dGluZ1N0YXRlLmxpbmVzKCk7CiAgICAgICAgIC8vIEV2ZW4gZW1wdHkgY29udGFpbmVycyBnZW5l
cmF0ZSBvbmUgbGluZS4KICAgICAgICAgQVNTRVJUKCFsaW5lcy5pc0VtcHR5KCkpOwotICAgICAg
ICB0b3AgPSBsaW5lcy5maXJzdCgpLmxvZ2ljYWxUb3AoKTsKLSAgICAgICAgYm90dG9tID0gbGlu
ZXMubGFzdCgpLmxvZ2ljYWxCb3R0b20oKSArIGlubGluZUZvcm1hdHRpbmdTdGF0ZS5jbGVhckdh
cEFmdGVyTGFzdExpbmUoKTsKKyAgICAgICAgdG9wID0gbGluZXMuZmlyc3QoKS5sb2dpY2FsUmVj
dCgpLnRvcCgpOworICAgICAgICBib3R0b20gPSBsaW5lcy5sYXN0KCkubG9naWNhbFJlY3QoKS5i
b3R0b20oKSArIGlubGluZUZvcm1hdHRpbmdTdGF0ZS5jbGVhckdhcEFmdGVyTGFzdExpbmUoKTsK
ICAgICB9IGVsc2UgaWYgKGZvcm1hdHRpbmdDb250ZXh0Um9vdC5lc3RhYmxpc2hlc0ZsZXhGb3Jt
YXR0aW5nQ29udGV4dCgpKSB7CiAgICAgICAgIGF1dG8mIGxpbmVzID0gbGF5b3V0U3RhdGUuZXN0
YWJsaXNoZWRGbGV4Rm9ybWF0dGluZ1N0YXRlKGZvcm1hdHRpbmdDb250ZXh0Um9vdCkubGluZXMo
KTsKICAgICAgICAgQVNTRVJUKCFsaW5lcy5pc0VtcHR5KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0R2Vv
bWV0cnkuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zv
cm1hdHRpbmdDb250ZXh0R2VvbWV0cnkuY3BwCmluZGV4IGE4ZTQ1YjlkNjM2MmY1YzAxOWZiODU5
YWJjMDk0ZDE2OGJkNTEyNjUuLjgwYWIyMWNkZjFhYTRjNTJkN2MyZmYxZjM1YmZjOWQ1MjcwNjI3
ZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxv
Y2tGb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHRHZW9tZXRyeS5jcHAKQEAg
LTgxLDcgKzgxLDcgQEAgQ29udGVudEhlaWdodEFuZE1hcmdpbiBCbG9ja0Zvcm1hdHRpbmdDb250
ZXh0OjpHZW9tZXRyeTo6aW5GbG93Tm9uUmVwbGFjZWRDb250ZW4KICAgICAgICAgICAgIGF1dG8m
IGxpbmVzID0gaW5saW5lRm9ybWF0dGluZ1N0YXRlLmxpbmVzKCk7CiAgICAgICAgICAgICAvLyBF
dmVuIGVtcHR5IGNvbnRhaW5lcnMgZ2VuZXJhdGUgb25lIGxpbmUuIAogICAgICAgICAgICAgQVNT
RVJUKCFsaW5lcy5pc0VtcHR5KCkpOwotICAgICAgICAgICAgcmV0dXJuIHsgdG9MYXlvdXRVbml0
KGxpbmVzLmxhc3QoKS5sb2dpY2FsQm90dG9tKCkgKyBpbmxpbmVGb3JtYXR0aW5nU3RhdGUuY2xl
YXJHYXBBZnRlckxhc3RMaW5lKCkpIC0gYm9yZGVyQW5kUGFkZGluZ1RvcCwgbm9uQ29sbGFwc2Vk
TWFyZ2luIH07CisgICAgICAgICAgICByZXR1cm4geyB0b0xheW91dFVuaXQobGluZXMubGFzdCgp
LmxvZ2ljYWxSZWN0KCkuYm90dG9tKCkgKyBpbmxpbmVGb3JtYXR0aW5nU3RhdGUuY2xlYXJHYXBB
ZnRlckxhc3RMaW5lKCkpIC0gYm9yZGVyQW5kUGFkZGluZ1RvcCwgbm9uQ29sbGFwc2VkTWFyZ2lu
IH07CiAgICAgICAgIH0KIAogICAgICAgICAvLyAyLiB0aGUgYm90dG9tIGVkZ2Ugb2YgdGhlIGJv
dHRvbSAocG9zc2libHkgY29sbGFwc2VkKSBtYXJnaW4gb2YgaXRzIGxhc3QgaW4tZmxvdyBjaGls
ZCwgaWYgdGhlIGNoaWxkJ3MgYm90dG9tIG1hcmdpbi4uLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHRHZW9t
ZXRyeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVG
b3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcAppbmRleCBlNzVmMzJmOWJiYjA3ZmM1YzgwNDQ3
YTAzYzI1Nzk5NGI4ZTdjNDUwLi40OGViMTA2ZDQ5NDBlMzkwY2Q2NzFlMDE5MWI2NzA3NDA2Y2Zl
YjU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9J
bmxpbmVGb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNw
cApAQCAtMjU5LDcgKzI1OSw3IEBAIHZvaWQgTGluZUJveEJ1aWxkZXI6OmNvbnN0cnVjdElubGlu
ZUxldmVsQm94ZXMoTGluZUJveCYgbGluZUJveCwgY29uc3QgTGluZTo6UnVuCiAgICAgICAgICAg
ICBpZiAobGF5b3V0Qm94LmlzSW5saW5lQmxvY2tCb3goKSAmJiBsYXlvdXRCb3guZXN0YWJsaXNo
ZXNJbmxpbmVGb3JtYXR0aW5nQ29udGV4dCgpKSB7CiAgICAgICAgICAgICAgICAgYXV0byYgZm9y
bWF0dGluZ1N0YXRlID0gbGF5b3V0U3RhdGUoKS5lc3RhYmxpc2hlZElubGluZUZvcm1hdHRpbmdT
dGF0ZShkb3duY2FzdDxDb250YWluZXJCb3g+KGxheW91dEJveCkpOwogICAgICAgICAgICAgICAg
IGF1dG8mIGxhc3RMaW5lID0gZm9ybWF0dGluZ1N0YXRlLmxpbmVzKCkubGFzdCgpOwotICAgICAg
ICAgICAgICAgIGF1dG8gaW5saW5lQmxvY2tCYXNlbGluZSA9IGxhc3RMaW5lLmxvZ2ljYWxUb3Ao
KSArIGxhc3RMaW5lLmJhc2VsaW5lKCk7CisgICAgICAgICAgICAgICAgYXV0byBpbmxpbmVCbG9j
a0Jhc2VsaW5lID0gbGFzdExpbmUubG9naWNhbFJlY3QoKS50b3AoKSArIGxhc3RMaW5lLmJhc2Vs
aW5lKCk7CiAgICAgICAgICAgICAgICAgYXNjZW50ID0gaW5saW5lTGV2ZWxCb3hHZW9tZXRyeS5t
YXJnaW5CZWZvcmUoKSArIGlubGluZUxldmVsQm94R2VvbWV0cnkuYm9yZGVyVG9wKCkgKyBpbmxp
bmVMZXZlbEJveEdlb21ldHJ5LnBhZGRpbmdUb3AoKS52YWx1ZU9yKDApICsgaW5saW5lQmxvY2tC
YXNlbGluZTsKICAgICAgICAgICAgIH0gZWxzZSBpZiAobGF5b3V0Qm94LmlzUmVwbGFjZWRCb3go
KSkKICAgICAgICAgICAgICAgICBhc2NlbnQgPSBkb3duY2FzdDxSZXBsYWNlZEJveD4obGF5b3V0
Qm94KS5iYXNlbGluZSgpLnZhbHVlT3IobWFyZ2luQm94SGVpZ2h0KTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVHZW9tZXRyeS5o
IGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUdlb21l
dHJ5LmgKaW5kZXggN2Q5NjNmOWMzZDBkYmNhNTk0ZDM4Nzg2MzJiODMwNmE4YzBjYzhjMS4uMzI0
MDM4ZGJmN2U0OTVlZGRmZmQ0MTYwNjI2YWMyYmIxNDVhNmRhMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUdlb21ldHJ5LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUdlb21l
dHJ5LmgKQEAgLTM3LDE1ICszNyw2IEBAIGNsYXNzIElubGluZUxpbmVHZW9tZXRyeSB7CiBwdWJs
aWM6CiAgICAgSW5saW5lTGluZUdlb21ldHJ5KGNvbnN0IElubGluZVJlY3QmIGxpbmVMb2dpY2Fs
UmVjdCwgY29uc3QgSW5saW5lTGF5b3V0U2l6ZSYgbGluZUJveExvZ2ljYWxTaXplLCBJbmxpbmVM
YXlvdXRVbml0IGFsaWdtZW50QmFzZWxpbmUsIElubGluZUxheW91dFVuaXQgY29udGVudExvZ2lj
YWxPZmZzZXQsIElubGluZUxheW91dFVuaXQgY29udGVudExvZ2ljYWxXaWR0aCk7CiAKLSAgICBJ
bmxpbmVMYXlvdXRVbml0IGxvZ2ljYWxMZWZ0KCkgY29uc3QgeyByZXR1cm4gbG9naWNhbFJlY3Qo
KS5sZWZ0KCk7IH07Ci0gICAgSW5saW5lTGF5b3V0VW5pdCBsb2dpY2FsUmlnaHQoKSBjb25zdCB7
IHJldHVybiBsb2dpY2FsUmVjdCgpLnJpZ2h0KCk7IH07Ci0KLSAgICBJbmxpbmVMYXlvdXRVbml0
IGxvZ2ljYWxUb3AoKSBjb25zdCB7IHJldHVybiBsb2dpY2FsUmVjdCgpLnRvcCgpOyB9OwotICAg
IElubGluZUxheW91dFVuaXQgbG9naWNhbEJvdHRvbSgpIGNvbnN0IHsgcmV0dXJuIGxvZ2ljYWxS
ZWN0KCkuYm90dG9tKCk7IH07Ci0KLSAgICBJbmxpbmVMYXlvdXRVbml0IGxvZ2ljYWxXaWR0aCgp
IGNvbnN0IHsgcmV0dXJuIGxvZ2ljYWxSZWN0KCkud2lkdGgoKTsgfTsKLSAgICBJbmxpbmVMYXlv
dXRVbml0IGxvZ2ljYWxIZWlnaHQoKSBjb25zdCB7IHJldHVybiBsb2dpY2FsUmVjdCgpLmhlaWdo
dCgpOyB9OwotCiAgICAgY29uc3QgSW5saW5lUmVjdCYgbG9naWNhbFJlY3QoKSBjb25zdCB7IHJl
dHVybiBtX2xvZ2ljYWxSZWN0OyB9CiAgICAgY29uc3QgSW5saW5lTGF5b3V0U2l6ZSYgbGluZUJv
eExvZ2ljYWxTaXplKCkgY29uc3QgeyByZXR1cm4gbV9saW5lQm94TG9naWNhbFNpemU7IH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVn
cmF0aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lu
dGVncmF0aW9uL0xheW91dEludGVncmF0aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuY3BwCmluZGV4
IDc3Mjk4ZTYzM2U0YzY5MWQ3NTQyNDlmNTg5YzM2OGY1Y2U2NDhjMzAuLmFjZTgyOWY2ZWM5YmZl
MjdmZDc1YWYyMThhNjZmMTk5NDAwN2QzZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnRCdWlsZGVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRp
b25JbmxpbmVDb250ZW50QnVpbGRlci5jcHAKQEAgLTE4Niw4ICsxODYsOSBAQCBJbmxpbmVDb250
ZW50QnVpbGRlcjo6TGluZUxldmVsVmlzdWFsQWRqdXN0bWVudHNGb3JSdW5zTGlzdCBJbmxpbmVD
b250ZW50QnVpbGRlcgogICAgICAgICBsaW5lTGV2ZWxWaXN1YWxBZGp1c3RtZW50c0ZvclJ1bnNb
bGluZUluZGV4XS5uZWVkc0ludGVncmFsUG9zaXRpb24gPSBsaW5lTmVlZHNMZWdhY3lJbnRlZ3Jh
bFZlcnRpY2FsUG9zaXRpb24oKTsKICAgICAgICAgaWYgKHNob3VsZENoZWNrSG9yaXpvbnRhbE92
ZXJmbG93Rm9yQ29udGVudFJlcGxhY2VtZW50KSB7CiAgICAgICAgICAgICBhdXRvJiBsaW5lID0g
bGluZXNbbGluZUluZGV4XTsKLSAgICAgICAgICAgIGF1dG8gb3ZlcmZsb3dXaWR0aCA9IGxpbmVP
dmVyZmxvd1dpZHRoKG1fYmxvY2tGbG93LCBsaW5lLmxvZ2ljYWxXaWR0aCgpLCBsaW5lLmxpbmVC
b3hMb2dpY2FsU2l6ZSgpLndpZHRoKCkpOwotICAgICAgICAgICAgbGluZUxldmVsVmlzdWFsQWRq
dXN0bWVudHNGb3JSdW5zW2xpbmVJbmRleF0ubmVlZHNUcmFpbGluZ0NvbnRlbnRSZXBsYWNlbWVu
dCA9IG92ZXJmbG93V2lkdGggPiBsaW5lLmxvZ2ljYWxXaWR0aCgpOworICAgICAgICAgICAgYXV0
byYgbGluZUxvZ2ljYWxSZWN0ID0gbGluZS5sb2dpY2FsUmVjdCgpOworICAgICAgICAgICAgYXV0
byBvdmVyZmxvd1dpZHRoID0gbGluZU92ZXJmbG93V2lkdGgobV9ibG9ja0Zsb3csIGxpbmVMb2dp
Y2FsUmVjdC53aWR0aCgpLCBsaW5lLmxpbmVCb3hMb2dpY2FsU2l6ZSgpLndpZHRoKCkpOworICAg
ICAgICAgICAgbGluZUxldmVsVmlzdWFsQWRqdXN0bWVudHNGb3JSdW5zW2xpbmVJbmRleF0ubmVl
ZHNUcmFpbGluZ0NvbnRlbnRSZXBsYWNlbWVudCA9IG92ZXJmbG93V2lkdGggPiBsaW5lTG9naWNh
bFJlY3Qud2lkdGgoKTsKICAgICAgICAgfQogICAgIH0KICAgICByZXR1cm4gbGluZUxldmVsVmlz
dWFsQWRqdXN0bWVudHNGb3JSdW5zOwpAQCAtMjEyLDEzICsyMTMsMTMgQEAgdm9pZCBJbmxpbmVD
b250ZW50QnVpbGRlcjo6Y3JlYXRlRGlzcGxheUxpbmVSdW5zKGNvbnN0IExheW91dDo6SW5saW5l
Rm9ybWF0dGluZ1MKICAgICBhdXRvIGNyZWF0ZURpc3BsYXlCb3hSdW4gPSBbJl0oYXV0byYgbGlu
ZVJ1bikgewogICAgICAgICBhdXRvJiBsYXlvdXRCb3ggPSBsaW5lUnVuLmxheW91dEJveCgpOwog
ICAgICAgICBhdXRvIGxpbmVJbmRleCA9IGxpbmVSdW4ubGluZUluZGV4KCk7Ci0gICAgICAgIGF1
dG8mIGxpbmUgPSBsaW5lc1tsaW5lSW5kZXhdOworICAgICAgICBhdXRvJiBsaW5lTG9naWNhbFJl
Y3QgPSBsaW5lc1tsaW5lSW5kZXhdLmxvZ2ljYWxSZWN0KCk7CiAgICAgICAgIC8vIElubGluZSBi
b3hlcyBhcmUgcmVsYXRpdmUgdG8gdGhlIGxpbmUgYm94IHdoaWxlIGZpbmFsIFJ1bnMgbmVlZCB0
byBiZSByZWxhdGl2ZSB0byB0aGUgcGFyZW50IEJveAogICAgICAgICAvLyBGSVhNRTogU2hvdWxk
bid0IHdlIGp1c3QgbGVhdmUgdGhlbSBiZSByZWxhdGl2ZSB0byB0aGUgbGluZSBib3g/CiAgICAg
ICAgIGF1dG8gcnVuUmVjdCA9IEZsb2F0UmVjdCB7IGxpbmVSdW4ubG9naWNhbFJlY3QoKSB9Owog
ICAgICAgICAvLyBMaW5lIHJ1bnMgYXJlIG1hcmdpbiBib3ggYmFzZWQsIGxldCdzIGNvbnZlcnQg
dGhlbSB0byBib3JkZXIgYm94LgogICAgICAgICBhdXRvJiBnZW9tZXRyeSA9IG1fbGF5b3V0U3Rh
dGUuZ2VvbWV0cnlGb3JCb3gobGF5b3V0Qm94KTsKLSAgICAgICAgcnVuUmVjdC5tb3ZlQnkoeyBs
aW5lLmxvZ2ljYWxMZWZ0KCkgKyBzdGQ6Om1heChnZW9tZXRyeS5tYXJnaW5TdGFydCgpLCAwX2x1
KSwgbGluZS5sb2dpY2FsVG9wKCkgKyBnZW9tZXRyeS5tYXJnaW5CZWZvcmUoKSB9KTsKKyAgICAg
ICAgcnVuUmVjdC5tb3ZlQnkoeyBsaW5lTG9naWNhbFJlY3QubGVmdCgpICsgc3RkOjptYXgoZ2Vv
bWV0cnkubWFyZ2luU3RhcnQoKSwgMF9sdSksIGxpbmVMb2dpY2FsUmVjdC50b3AoKSArIGdlb21l
dHJ5Lm1hcmdpbkJlZm9yZSgpIH0pOwogICAgICAgICBydW5SZWN0LnNldFNpemUoeyBnZW9tZXRy
eS5ib3JkZXJCb3hXaWR0aCgpLCBnZW9tZXRyeS5ib3JkZXJCb3hIZWlnaHQoKSB9KTsKICAgICAg
ICAgaWYgKGxpbmVMZXZlbFZpc3VhbEFkanVzdG1lbnRzRm9yUnVuc1tsaW5lSW5kZXhdLm5lZWRz
SW50ZWdyYWxQb3NpdGlvbikKICAgICAgICAgICAgIHJ1blJlY3Quc2V0WShyb3VuZFRvSW50KHJ1
blJlY3QueSgpKSk7CkBAIC0yMzEsMTEgKzIzMiwxMSBAQCB2b2lkIElubGluZUNvbnRlbnRCdWls
ZGVyOjpjcmVhdGVEaXNwbGF5TGluZVJ1bnMoY29uc3QgTGF5b3V0OjpJbmxpbmVGb3JtYXR0aW5n
UwogICAgICAgICBSRUxFQVNFX0FTU0VSVChzdGFydE9mZnNldCA8IGVuZE9mZnNldCk7CiAgICAg
ICAgIGF1dG8mIGxheW91dEJveCA9IGxpbmVSdW4ubGF5b3V0Qm94KCk7CiAgICAgICAgIGF1dG8g
bGluZUluZGV4ID0gbGluZVJ1bi5saW5lSW5kZXgoKTsKLSAgICAgICAgYXV0byYgbGluZSA9IGxp
bmVzW2xpbmVJbmRleF07CisgICAgICAgIGF1dG8mIGxpbmVMb2dpY2FsUmVjdCA9IGxpbmVzW2xp
bmVJbmRleF0ubG9naWNhbFJlY3QoKTsKICAgICAgICAgYXV0byBydW5SZWN0ID0gRmxvYXRSZWN0
IHsgbGluZVJ1bi5sb2dpY2FsUmVjdCgpIH07CiAgICAgICAgIC8vIElubGluZSBib3hlcyBhcmUg
cmVsYXRpdmUgdG8gdGhlIGxpbmUgYm94IHdoaWxlIGZpbmFsIFJ1bnMgbmVlZCB0byBiZSByZWxh
dGl2ZSB0byB0aGUgcGFyZW50IEJveAogICAgICAgICAvLyBGSVhNRTogU2hvdWxkbid0IHdlIGp1
c3QgbGVhdmUgdGhlbSBiZSByZWxhdGl2ZSB0byB0aGUgbGluZSBib3g/Ci0gICAgICAgIHJ1blJl
Y3QubW92ZUJ5KHsgbGluZS5sb2dpY2FsTGVmdCgpLCBsaW5lLmxvZ2ljYWxUb3AoKSB9KTsKKyAg
ICAgICAgcnVuUmVjdC5tb3ZlQnkoeyBsaW5lTG9naWNhbFJlY3QubGVmdCgpLCBsaW5lTG9naWNh
bFJlY3QudG9wKCkgfSk7CiAgICAgICAgIGlmIChsaW5lTGV2ZWxWaXN1YWxBZGp1c3RtZW50c0Zv
clJ1bnNbbGluZUluZGV4XS5uZWVkc0ludGVncmFsUG9zaXRpb24pCiAgICAgICAgICAgICBydW5S
ZWN0LnNldFkocm91bmRUb0ludChydW5SZWN0LnkoKSkpOwogCkBAIC0yNTIsMTQgKzI1MywxMyBA
QCB2b2lkIElubGluZUNvbnRlbnRCdWlsZGVyOjpjcmVhdGVEaXNwbGF5TGluZVJ1bnMoY29uc3Qg
TGF5b3V0OjpJbmxpbmVGb3JtYXR0aW5nUwogICAgICAgICAgICAgICAgICAgICByZXR1cm4gZW1w
dHlTdHJpbmcoKTsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgYXV0byBydW5M
b2dpY2FsUmVjdCA9IGxpbmVSdW4ubG9naWNhbFJlY3QoKTsKLSAgICAgICAgICAgICAgICBhdXRv
IGxpbmVMb2dpY2FsUmlnaHQgPSBsaW5lLmxvZ2ljYWxSaWdodCgpOwogICAgICAgICAgICAgICAg
IGF1dG8gZWxsaXBzaXNXaWR0aCA9IHN0eWxlLmZvbnRDYXNjYWRlKCkud2lkdGgoV2ViQ29yZTo6
VGV4dFJ1biB7ICZob3Jpem9udGFsRWxsaXBzaXMgfSk7Ci0gICAgICAgICAgICAgICAgaWYgKHJ1
bkxvZ2ljYWxSZWN0LnJpZ2h0KCkgKyBlbGxpcHNpc1dpZHRoID4gbGluZUxvZ2ljYWxSaWdodCkg
eworICAgICAgICAgICAgICAgIGlmIChydW5Mb2dpY2FsUmVjdC5yaWdodCgpICsgZWxsaXBzaXNX
aWR0aCA+IGxpbmVMb2dpY2FsUmVjdC5yaWdodCgpKSB7CiAgICAgICAgICAgICAgICAgICAgIC8v
IFRoZSBuZXh0IHJ1biB3aXRoIGVsbGlwc2lzIHdvdWxkIHN1cmVseSBvdmVyZmxvdy4gU28gbGV0
J3MganVzdCBhZGQgaXQgdG8gdGhpcyBydW4gZXZlbiBpZgogICAgICAgICAgICAgICAgICAgICAv
LyBpdCBtYWtlcyB0aGUgcnVuIHdpZGVyIHRoYW4gaXQgb3JpZ2luYWxseSB3YXMuCiAgICAgICAg
ICAgICAgICAgICAgIGhhc0FkanVzdGVkVHJhaWxpbmdMaW5lTGlzdFtsaW5lSW5kZXhdID0gdHJ1
ZTsKICAgICAgICAgICAgICAgICAgICAgZmxvYXQgcmVzdWx0V2lkdGggPSAwOwotICAgICAgICAg
ICAgICAgICAgICBhdXRvIG1heFdpZHRoID0gbGluZS5sb2dpY2FsV2lkdGgoKSAtIHJ1bkxvZ2lj
YWxSZWN0LmxlZnQoKTsKKyAgICAgICAgICAgICAgICAgICAgYXV0byBtYXhXaWR0aCA9IGxpbmVM
b2dpY2FsUmVjdC53aWR0aCgpIC0gcnVuTG9naWNhbFJlY3QubGVmdCgpOwogICAgICAgICAgICAg
ICAgICAgICByZXR1cm4gU3RyaW5nVHJ1bmNhdG9yOjpyaWdodFRydW5jYXRlKG9yaWdpbmFsQ29u
dGVudCwgbWF4V2lkdGgsIHN0eWxlLmZvbnRDYXNjYWRlKCksIHJlc3VsdFdpZHRoLCB0cnVlKTsK
ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9CkBAIC0zMDcsMTYgKzMwNywxNyBAQCB2
b2lkIElubGluZUNvbnRlbnRCdWlsZGVyOjpjcmVhdGVEaXNwbGF5TGluZXMoY29uc3QgTGF5b3V0
OjpJbmxpbmVGb3JtYXR0aW5nU3RhdAogICAgIHNpemVfdCBydW5JbmRleCA9IDA7CiAgICAgZm9y
IChzaXplX3QgbGluZUluZGV4ID0gMDsgbGluZUluZGV4IDwgbGluZXMuc2l6ZSgpOyArK2xpbmVJ
bmRleCkgewogICAgICAgICBhdXRvJiBsaW5lID0gbGluZXNbbGluZUluZGV4XTsKKyAgICAgICAg
YXV0byYgbGluZUxvZ2ljYWxSZWN0ID0gbGluZS5sb2dpY2FsUmVjdCgpOwogICAgICAgICBhdXRv
IGxpbmVCb3hMb2dpY2FsU2l6ZSA9IGxpbmUubGluZUJveExvZ2ljYWxTaXplKCk7CiAgICAgICAg
IC8vIEZJWE1FOiBUaGlzIGlzIHdoZXJlIHRoZSBsb2dpY2FsIHRvIHBoeXNpY2FsIHRyYW5zbGF0
ZSBzaG91bGQgaGFwcGVuLgotICAgICAgICBhdXRvIHNjcm9sbGFibGVPdmVyZmxvd1JlY3QgPSBG
bG9hdFJlY3QgeyBsaW5lLmxvZ2ljYWxMZWZ0KCksIGxpbmUubG9naWNhbFRvcCgpLCBsaW5lT3Zl
cmZsb3dXaWR0aChtX2Jsb2NrRmxvdywgbGluZS5sb2dpY2FsV2lkdGgoKSwgbGluZUJveExvZ2lj
YWxTaXplLndpZHRoKCkpLCBsaW5lLmxvZ2ljYWxIZWlnaHQoKSB9OworICAgICAgICBhdXRvIHNj
cm9sbGFibGVPdmVyZmxvd1JlY3QgPSBGbG9hdFJlY3QgeyBsaW5lTG9naWNhbFJlY3QubGVmdCgp
LCBsaW5lTG9naWNhbFJlY3QudG9wKCksIGxpbmVPdmVyZmxvd1dpZHRoKG1fYmxvY2tGbG93LCBs
aW5lTG9naWNhbFJlY3Qud2lkdGgoKSwgbGluZUJveExvZ2ljYWxTaXplLndpZHRoKCkpLCBsaW5l
TG9naWNhbFJlY3QuaGVpZ2h0KCkgfTsKIAogICAgICAgICBhdXRvIGZpcnN0UnVuSW5kZXggPSBy
dW5JbmRleDsKICAgICAgICAgYXV0byBsaW5lSW5rT3ZlcmZsb3dSZWN0ID0gc2Nyb2xsYWJsZU92
ZXJmbG93UmVjdDsKICAgICAgICAgd2hpbGUgKHJ1bkluZGV4IDwgcnVucy5zaXplKCkgJiYgcnVu
c1tydW5JbmRleF0ubGluZUluZGV4KCkgPT0gbGluZUluZGV4KQogICAgICAgICAgICAgbGluZUlu
a092ZXJmbG93UmVjdC51bml0ZShydW5zW3J1bkluZGV4KytdLmlua092ZXJmbG93KCkpOwogICAg
ICAgICBhdXRvIHJ1bkNvdW50ID0gcnVuSW5kZXggLSBmaXJzdFJ1bkluZGV4OwotICAgICAgICBh
dXRvIGxpbmVSZWN0ID0gRmxvYXRSZWN0IHsgbGluZS5sb2dpY2FsUmVjdCgpIH07CisgICAgICAg
IGF1dG8gbGluZVJlY3QgPSBGbG9hdFJlY3QgeyBsaW5lTG9naWNhbFJlY3QgfTsKICAgICAgICAg
YXV0byBlbmNsb3NpbmdUb3BBbmRCb3R0b20gPSBbJl0gewogICAgICAgICAgICAgLy8gTGV0J3Mg
KHZlcnRpY2FsbHkpZW5jbG9zZSBhbGwgdGhlIGlubGluZSBsZXZlbCBib3hlcy4KICAgICAgICAg
ICAgIC8vIFRoaXMgbW9zdGx5IG1hdGNoZXMgJ2xpbmVSZWN0JywgdW5sZXNzIGxpbmUtaGVpZ2h0
IHRyaWdnZXJzIGxpbmUgYm94IG92ZXJmbG93IChub3QgdG8gYmUgY29uZnVzZWQgd2l0aCBpbmsg
b3Igc2Nyb2xsIG92ZXJmbG93KS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9s
YXlvdXR0cmVlL0xheW91dFRyZWVCdWlsZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9s
YXlvdXR0cmVlL0xheW91dFRyZWVCdWlsZGVyLmNwcAppbmRleCA3NmYzNDI1NDhiMjhmMGUwN2Zk
ODFkOGE0MDg2MmZmNmVhMGJlYmYyLi42MzAzYjliMzMwZDYzOTAyOTY3MDY2Y2RjMzk2MjgzMDcx
YWY5YTRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlv
dXRUcmVlQnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUv
TGF5b3V0VHJlZUJ1aWxkZXIuY3BwCkBAIC0zOTQsNyArMzk0LDggQEAgdm9pZCBzaG93SW5saW5l
VHJlZUFuZFJ1bnMoVGV4dFN0cmVhbSYgc3RyZWFtLCBjb25zdCBMYXlvdXRTdGF0ZSYgbGF5b3V0
U3RhdGUsIGMKICAgICAgICAgfTsKICAgICAgICAgYWRkU3BhY2luZygpOwogICAgICAgICBhdXRv
JiBsaW5lID0gbGluZXNbbGluZUluZGV4XTsKLSAgICAgICAgc3RyZWFtIDw8ICJsaW5lIGF0ICgi
IDw8IGxpbmUubG9naWNhbExlZnQoKSA8PCAiLCIgPDwgbGluZS5sb2dpY2FsVG9wKCkgPDwgIikg
c2l6ZSAoIiA8PCBsaW5lLmxvZ2ljYWxXaWR0aCgpIDw8ICJ4IiA8PCBsaW5lLmxvZ2ljYWxIZWln
aHQoKSA8PCAiKSBiYXNlbGluZSAoIiA8PCBsaW5lLmJhc2VsaW5lKCkgPDwgIikiOworICAgICAg
ICBhdXRvJiBsaW5lTG9naWNhbFJlY3QgPSBsaW5lLmxvZ2ljYWxSZWN0KCk7CisgICAgICAgIHN0
cmVhbSA8PCAibGluZSBhdCAoIiA8PCBsaW5lTG9naWNhbFJlY3QubGVmdCgpIDw8ICIsIiA8PCBs
aW5lTG9naWNhbFJlY3QudG9wKCkgPDwgIikgc2l6ZSAoIiA8PCBsaW5lTG9naWNhbFJlY3Qud2lk
dGgoKSA8PCAieCIgPDwgbGluZUxvZ2ljYWxSZWN0LmhlaWdodCgpIDw8ICIpIGJhc2VsaW5lICgi
IDw8IGxpbmUuYmFzZWxpbmUoKSA8PCAiKSI7CiAgICAgICAgIHN0cmVhbS5uZXh0TGluZSgpOwog
CiAgICAgICAgIGFkZFNwYWNpbmcoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>414740</attachid>
            <date>2020-11-20 15:54:46 -0800</date>
            <delta_ts>2020-11-21 05:13:52 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219226-20201120155445.patch</filename>
            <type>text/plain</type>
            <size>14355</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcwMTIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmY3MTk3MjlkNzYzMzVh
NTVkMjk4NzFhNzRiMWMzOGMxZjYwNDcyYy4uZWNjYmI4MDg4ZWU4ZTE1MGIxMmQ0MDAyNDU1ZGFk
MTM0MDZmZDViYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDIwLTExLTIwICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bSUZDXSBSZW1vdmUg
SW5saW5lTGluZUdlb21ldHJ5Ojpsb2dpY2FsTGVmdC90b3AvYm90dG9tL3JpZ2h0L3dpZHRoL2hl
aWdodCBoZWxwZXIgZnVuY3Rpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMTkyMjYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBUaGlzIGlzIGluIHByZXBhcmF0aW9uIGZvciBoYXZpbmcgbGluZUJveExv
Z2ljYWxSZWN0KCkgb24gSW5saW5lTGluZUdlb21ldHJ5LiBJdCBtYWtlcyBpdCBhYnNvbHV0ZWx5
IGNsZWFyCisgICAgICAgIG9mIHdoYXQgdHlwZSBvZiBsb2dpY2FsIHJlY3Qgd2UgaGF2ZSBoZXJl
LgorCisgICAgICAgICogbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0R2VvbWV0cnkuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6TGF5b3V0OjpGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6OmNvbnRl
bnRIZWlnaHRGb3JGb3JtYXR0aW5nQ29udGV4dFJvb3QgY29uc3QpOgorICAgICAgICAqIGxheW91
dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkxheW91dDo6QmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6
OmluRmxvd05vblJlcGxhY2VkQ29udGVudEhlaWdodEFuZE1hcmdpbik6CisgICAgICAgICogbGF5
b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHRHZW9tZXRyeS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCb3hCdWlsZGVyOjpjb25zdHJ1Y3RJbmxp
bmVMZXZlbEJveGVzKToKKyAgICAgICAgKiBsYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVM
aW5lR2VvbWV0cnkuaDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6SW5saW5lTGluZUdlb21l
dHJ5Ojpsb2dpY2FsTGVmdCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpMYXlv
dXQ6OklubGluZUxpbmVHZW9tZXRyeTo6bG9naWNhbFJpZ2h0IGNvbnN0KTogRGVsZXRlZC4KKyAg
ICAgICAgKFdlYkNvcmU6OkxheW91dDo6SW5saW5lTGluZUdlb21ldHJ5Ojpsb2dpY2FsVG9wIGNv
bnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6SW5saW5lTGluZUdlb21l
dHJ5Ojpsb2dpY2FsQm90dG9tIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6Okxh
eW91dDo6SW5saW5lTGluZUdlb21ldHJ5Ojpsb2dpY2FsV2lkdGggY29uc3QpOiBEZWxldGVkLgor
ICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVMaW5lR2VvbWV0cnk6OmxvZ2ljYWxIZWln
aHQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIGxheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJ
bnRlZ3JhdGlvbklubGluZUNvbnRlbnRCdWlsZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okxh
eW91dEludGVncmF0aW9uOjpJbmxpbmVDb250ZW50QnVpbGRlcjo6Y29tcHV0ZUxpbmVMZXZlbFZp
c3VhbEFkanVzdG1lbnRzRm9yUnVucyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXRJ
bnRlZ3JhdGlvbjo6SW5saW5lQ29udGVudEJ1aWxkZXI6OmNyZWF0ZURpc3BsYXlMaW5lUnVucyBj
b25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXRJbnRlZ3JhdGlvbjo6SW5saW5lQ29udGVu
dEJ1aWxkZXI6OmNyZWF0ZURpc3BsYXlMaW5lcyBjb25zdCk6CisgICAgICAgICogbGF5b3V0L2xh
eW91dHRyZWUvTGF5b3V0VHJlZUJ1aWxkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0
OjpzaG93SW5saW5lVHJlZUFuZFJ1bnMpOgorCiAyMDIwLTExLTIwICBaYWxhbiBCdWp0YXMgIDx6
YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0xGQ11bSW50ZWdyYXRpb25dIEFkZCBjb250ZW50
TG9naWNhbE9mZnNldCBhbmQgY29udGVudExvZ2ljYWxXaWR0aCB0byBJbmxpbmVMaW5lR2VvbWV0
cnkoTGluZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9Gb3JtYXR0aW5nQ29u
dGV4dEdlb21ldHJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9Gb3JtYXR0aW5nQ29udGV4
dEdlb21ldHJ5LmNwcAppbmRleCAwY2JiMDU0YjFkMGE2NWQyY2I4ZWViYjYzNzk3NjVlNGNjOGIz
NzQ0Li5mNTdkMWFlNjc3YWJhYWYyYmM5Y2U4OWRhZDY1NjJhMTdjODYzZDAxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHRHZW9tZXRyeS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0R2VvbWV0cnkuY3BwCkBA
IC0xOTcsOCArMTk3LDggQEAgTGF5b3V0VW5pdCBGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6
OmNvbnRlbnRIZWlnaHRGb3JGb3JtYXR0aW5nQ29udGV4dFJvb3QoY28KICAgICAgICAgYXV0byYg
bGluZXMgPSBpbmxpbmVGb3JtYXR0aW5nU3RhdGUubGluZXMoKTsKICAgICAgICAgLy8gRXZlbiBl
bXB0eSBjb250YWluZXJzIGdlbmVyYXRlIG9uZSBsaW5lLgogICAgICAgICBBU1NFUlQoIWxpbmVz
LmlzRW1wdHkoKSk7Ci0gICAgICAgIHRvcCA9IGxpbmVzLmZpcnN0KCkubG9naWNhbFRvcCgpOwot
ICAgICAgICBib3R0b20gPSBsaW5lcy5sYXN0KCkubG9naWNhbEJvdHRvbSgpICsgaW5saW5lRm9y
bWF0dGluZ1N0YXRlLmNsZWFyR2FwQWZ0ZXJMYXN0TGluZSgpOworICAgICAgICB0b3AgPSBsaW5l
cy5maXJzdCgpLmxvZ2ljYWxSZWN0KCkudG9wKCk7CisgICAgICAgIGJvdHRvbSA9IGxpbmVzLmxh
c3QoKS5sb2dpY2FsUmVjdCgpLmJvdHRvbSgpICsgaW5saW5lRm9ybWF0dGluZ1N0YXRlLmNsZWFy
R2FwQWZ0ZXJMYXN0TGluZSgpOwogICAgIH0gZWxzZSBpZiAoZm9ybWF0dGluZ0NvbnRleHRSb290
LmVzdGFibGlzaGVzRmxleEZvcm1hdHRpbmdDb250ZXh0KCkpIHsKICAgICAgICAgYXV0byYgbGlu
ZXMgPSBsYXlvdXRTdGF0ZS5lc3RhYmxpc2hlZEZsZXhGb3JtYXR0aW5nU3RhdGUoZm9ybWF0dGlu
Z0NvbnRleHRSb290KS5saW5lcygpOwogICAgICAgICBBU1NFUlQoIWxpbmVzLmlzRW1wdHkoKSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2Nr
Rm9ybWF0dGluZ0NvbnRleHRHZW9tZXRyeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxv
Y2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHRHZW9tZXRyeS5jcHAKaW5kZXggYThl
NDViOWQ2MzYyZjVjMDE5ZmI4NTlhYmMwOTRkMTY4YmQ1MTI2NS4uODBhYjIxY2RmMWFhNGM1MmQ3
YzJmZjFmMzViZmM5ZDUyNzA2MjdkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0R2VvbWV0cnkuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29u
dGV4dEdlb21ldHJ5LmNwcApAQCAtODEsNyArODEsNyBAQCBDb250ZW50SGVpZ2h0QW5kTWFyZ2lu
IEJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjppbkZsb3dOb25SZXBsYWNlZENvbnRl
bgogICAgICAgICAgICAgYXV0byYgbGluZXMgPSBpbmxpbmVGb3JtYXR0aW5nU3RhdGUubGluZXMo
KTsKICAgICAgICAgICAgIC8vIEV2ZW4gZW1wdHkgY29udGFpbmVycyBnZW5lcmF0ZSBvbmUgbGlu
ZS4gCiAgICAgICAgICAgICBBU1NFUlQoIWxpbmVzLmlzRW1wdHkoKSk7Ci0gICAgICAgICAgICBy
ZXR1cm4geyB0b0xheW91dFVuaXQobGluZXMubGFzdCgpLmxvZ2ljYWxCb3R0b20oKSArIGlubGlu
ZUZvcm1hdHRpbmdTdGF0ZS5jbGVhckdhcEFmdGVyTGFzdExpbmUoKSkgLSBib3JkZXJBbmRQYWRk
aW5nVG9wLCBub25Db2xsYXBzZWRNYXJnaW4gfTsKKyAgICAgICAgICAgIHJldHVybiB7IHRvTGF5
b3V0VW5pdChsaW5lcy5sYXN0KCkubG9naWNhbFJlY3QoKS5ib3R0b20oKSArIGlubGluZUZvcm1h
dHRpbmdTdGF0ZS5jbGVhckdhcEFmdGVyTGFzdExpbmUoKSkgLSBib3JkZXJBbmRQYWRkaW5nVG9w
LCBub25Db2xsYXBzZWRNYXJnaW4gfTsKICAgICAgICAgfQogCiAgICAgICAgIC8vIDIuIHRoZSBi
b3R0b20gZWRnZSBvZiB0aGUgYm90dG9tIChwb3NzaWJseSBjb2xsYXBzZWQpIG1hcmdpbiBvZiBp
dHMgbGFzdCBpbi1mbG93IGNoaWxkLCBpZiB0aGUgY2hpbGQncyBib3R0b20gbWFyZ2luLi4uCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVG
b3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxp
bmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0R2VvbWV0cnkuY3BwCmluZGV4IGU3
NWYzMmY5YmJiMDdmYzVjODA0NDdhMDNjMjU3OTk0YjhlN2M0NTAuLjQ4ZWIxMDZkNDk0MGUzOTBj
ZDY3MWUwMTkxYjY3MDc0MDZjZmViNTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0R2VvbWV0cnkuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRp
bmdDb250ZXh0R2VvbWV0cnkuY3BwCkBAIC0yNTksNyArMjU5LDcgQEAgdm9pZCBMaW5lQm94QnVp
bGRlcjo6Y29uc3RydWN0SW5saW5lTGV2ZWxCb3hlcyhMaW5lQm94JiBsaW5lQm94LCBjb25zdCBM
aW5lOjpSdW4KICAgICAgICAgICAgIGlmIChsYXlvdXRCb3guaXNJbmxpbmVCbG9ja0JveCgpICYm
IGxheW91dEJveC5lc3RhYmxpc2hlc0lubGluZUZvcm1hdHRpbmdDb250ZXh0KCkpIHsKICAgICAg
ICAgICAgICAgICBhdXRvJiBmb3JtYXR0aW5nU3RhdGUgPSBsYXlvdXRTdGF0ZSgpLmVzdGFibGlz
aGVkSW5saW5lRm9ybWF0dGluZ1N0YXRlKGRvd25jYXN0PENvbnRhaW5lckJveD4obGF5b3V0Qm94
KSk7CiAgICAgICAgICAgICAgICAgYXV0byYgbGFzdExpbmUgPSBmb3JtYXR0aW5nU3RhdGUubGlu
ZXMoKS5sYXN0KCk7Ci0gICAgICAgICAgICAgICAgYXV0byBpbmxpbmVCbG9ja0Jhc2VsaW5lID0g
bGFzdExpbmUubG9naWNhbFRvcCgpICsgbGFzdExpbmUuYmFzZWxpbmUoKTsKKyAgICAgICAgICAg
ICAgICBhdXRvIGlubGluZUJsb2NrQmFzZWxpbmUgPSBsYXN0TGluZS5sb2dpY2FsUmVjdCgpLnRv
cCgpICsgbGFzdExpbmUuYmFzZWxpbmUoKTsKICAgICAgICAgICAgICAgICBhc2NlbnQgPSBpbmxp
bmVMZXZlbEJveEdlb21ldHJ5Lm1hcmdpbkJlZm9yZSgpICsgaW5saW5lTGV2ZWxCb3hHZW9tZXRy
eS5ib3JkZXJUb3AoKSArIGlubGluZUxldmVsQm94R2VvbWV0cnkucGFkZGluZ1RvcCgpLnZhbHVl
T3IoMCkgKyBpbmxpbmVCbG9ja0Jhc2VsaW5lOwogICAgICAgICAgICAgfSBlbHNlIGlmIChsYXlv
dXRCb3guaXNSZXBsYWNlZEJveCgpKQogICAgICAgICAgICAgICAgIGFzY2VudCA9IGRvd25jYXN0
PFJlcGxhY2VkQm94PihsYXlvdXRCb3gpLmJhc2VsaW5lKCkudmFsdWVPcihtYXJnaW5Cb3hIZWln
aHQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcv
SW5saW5lTGluZUdlb21ldHJ5LmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0
dGluZy9JbmxpbmVMaW5lR2VvbWV0cnkuaAppbmRleCAzN2RjZDNiMzI1YjYzYzllMWQ1OWQ1MTky
MWFhZGIzN2JiZjJlOTQ4Li41ZWQzYmZkMDc0ZjM5NjdiM2Y4NWVkMzQ1MWI0YTFhYjgyMTc2MmYw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9Jbmxp
bmVMaW5lR2VvbWV0cnkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0
dGluZy9JbmxpbmVMaW5lR2VvbWV0cnkuaApAQCAtMzcsMTUgKzM3LDYgQEAgY2xhc3MgSW5saW5l
TGluZUdlb21ldHJ5IHsKIHB1YmxpYzoKICAgICBJbmxpbmVMaW5lR2VvbWV0cnkoY29uc3QgSW5s
aW5lUmVjdCYgbGluZUxvZ2ljYWxSZWN0LCBjb25zdCBJbmxpbmVMYXlvdXRTaXplJiBsaW5lQm94
TG9naWNhbFNpemUsIElubGluZUxheW91dFVuaXQgYWxpZ21lbnRCYXNlbGluZSwgSW5saW5lTGF5
b3V0VW5pdCBjb250ZW50TG9naWNhbExlZnRPZmZzZXQsIElubGluZUxheW91dFVuaXQgY29udGVu
dExvZ2ljYWxXaWR0aCk7CiAKLSAgICBJbmxpbmVMYXlvdXRVbml0IGxvZ2ljYWxMZWZ0KCkgY29u
c3QgeyByZXR1cm4gbG9naWNhbFJlY3QoKS5sZWZ0KCk7IH07Ci0gICAgSW5saW5lTGF5b3V0VW5p
dCBsb2dpY2FsUmlnaHQoKSBjb25zdCB7IHJldHVybiBsb2dpY2FsUmVjdCgpLnJpZ2h0KCk7IH07
Ci0KLSAgICBJbmxpbmVMYXlvdXRVbml0IGxvZ2ljYWxUb3AoKSBjb25zdCB7IHJldHVybiBsb2dp
Y2FsUmVjdCgpLnRvcCgpOyB9OwotICAgIElubGluZUxheW91dFVuaXQgbG9naWNhbEJvdHRvbSgp
IGNvbnN0IHsgcmV0dXJuIGxvZ2ljYWxSZWN0KCkuYm90dG9tKCk7IH07Ci0KLSAgICBJbmxpbmVM
YXlvdXRVbml0IGxvZ2ljYWxXaWR0aCgpIGNvbnN0IHsgcmV0dXJuIGxvZ2ljYWxSZWN0KCkud2lk
dGgoKTsgfTsKLSAgICBJbmxpbmVMYXlvdXRVbml0IGxvZ2ljYWxIZWlnaHQoKSBjb25zdCB7IHJl
dHVybiBsb2dpY2FsUmVjdCgpLmhlaWdodCgpOyB9OwotCiAgICAgY29uc3QgSW5saW5lUmVjdCYg
bG9naWNhbFJlY3QoKSBjb25zdCB7IHJldHVybiBtX2xvZ2ljYWxSZWN0OyB9CiAgICAgY29uc3Qg
SW5saW5lTGF5b3V0U2l6ZSYgbGluZUJveExvZ2ljYWxTaXplKCkgY29uc3QgeyByZXR1cm4gbV9s
aW5lQm94TG9naWNhbFNpemU7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uSW5saW5l
Q29udGVudEJ1aWxkZXIuY3BwCmluZGV4IGM1ODA4YjZjNDcyMTI3NzBjM2U0YmYxYWEwOWI4OTY1
NWZhODk5MDEuLjhhZGNkOTk0NjZjNTg1ZjVhYjRiOGMzY2JmZDNkZWU4OGYzY2VjNDMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlv
bklubGluZUNvbnRlbnRCdWlsZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50
ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250ZW50QnVpbGRlci5jcHAKQEAgLTE4
Niw4ICsxODYsOSBAQCBJbmxpbmVDb250ZW50QnVpbGRlcjo6TGluZUxldmVsVmlzdWFsQWRqdXN0
bWVudHNGb3JSdW5zTGlzdCBJbmxpbmVDb250ZW50QnVpbGRlcgogICAgICAgICBsaW5lTGV2ZWxW
aXN1YWxBZGp1c3RtZW50c0ZvclJ1bnNbbGluZUluZGV4XS5uZWVkc0ludGVncmFsUG9zaXRpb24g
PSBsaW5lTmVlZHNMZWdhY3lJbnRlZ3JhbFZlcnRpY2FsUG9zaXRpb24oKTsKICAgICAgICAgaWYg
KHNob3VsZENoZWNrSG9yaXpvbnRhbE92ZXJmbG93Rm9yQ29udGVudFJlcGxhY2VtZW50KSB7CiAg
ICAgICAgICAgICBhdXRvJiBsaW5lID0gbGluZXNbbGluZUluZGV4XTsKLSAgICAgICAgICAgIGF1
dG8gb3ZlcmZsb3dXaWR0aCA9IGxpbmVPdmVyZmxvd1dpZHRoKG1fYmxvY2tGbG93LCBsaW5lLmxv
Z2ljYWxXaWR0aCgpLCBsaW5lLmxpbmVCb3hMb2dpY2FsU2l6ZSgpLndpZHRoKCkpOwotICAgICAg
ICAgICAgbGluZUxldmVsVmlzdWFsQWRqdXN0bWVudHNGb3JSdW5zW2xpbmVJbmRleF0ubmVlZHNU
cmFpbGluZ0NvbnRlbnRSZXBsYWNlbWVudCA9IG92ZXJmbG93V2lkdGggPiBsaW5lLmxvZ2ljYWxX
aWR0aCgpOworICAgICAgICAgICAgYXV0byYgbGluZUxvZ2ljYWxSZWN0ID0gbGluZS5sb2dpY2Fs
UmVjdCgpOworICAgICAgICAgICAgYXV0byBvdmVyZmxvd1dpZHRoID0gbGluZU92ZXJmbG93V2lk
dGgobV9ibG9ja0Zsb3csIGxpbmVMb2dpY2FsUmVjdC53aWR0aCgpLCBsaW5lLmxpbmVCb3hMb2dp
Y2FsU2l6ZSgpLndpZHRoKCkpOworICAgICAgICAgICAgbGluZUxldmVsVmlzdWFsQWRqdXN0bWVu
dHNGb3JSdW5zW2xpbmVJbmRleF0ubmVlZHNUcmFpbGluZ0NvbnRlbnRSZXBsYWNlbWVudCA9IG92
ZXJmbG93V2lkdGggPiBsaW5lTG9naWNhbFJlY3Qud2lkdGgoKTsKICAgICAgICAgfQogICAgIH0K
ICAgICByZXR1cm4gbGluZUxldmVsVmlzdWFsQWRqdXN0bWVudHNGb3JSdW5zOwpAQCAtMjEyLDEz
ICsyMTMsMTMgQEAgdm9pZCBJbmxpbmVDb250ZW50QnVpbGRlcjo6Y3JlYXRlRGlzcGxheUxpbmVS
dW5zKGNvbnN0IExheW91dDo6SW5saW5lRm9ybWF0dGluZ1MKICAgICBhdXRvIGNyZWF0ZURpc3Bs
YXlCb3hSdW4gPSBbJl0oYXV0byYgbGluZVJ1bikgewogICAgICAgICBhdXRvJiBsYXlvdXRCb3gg
PSBsaW5lUnVuLmxheW91dEJveCgpOwogICAgICAgICBhdXRvIGxpbmVJbmRleCA9IGxpbmVSdW4u
bGluZUluZGV4KCk7Ci0gICAgICAgIGF1dG8mIGxpbmUgPSBsaW5lc1tsaW5lSW5kZXhdOworICAg
ICAgICBhdXRvJiBsaW5lTG9naWNhbFJlY3QgPSBsaW5lc1tsaW5lSW5kZXhdLmxvZ2ljYWxSZWN0
KCk7CiAgICAgICAgIC8vIElubGluZSBib3hlcyBhcmUgcmVsYXRpdmUgdG8gdGhlIGxpbmUgYm94
IHdoaWxlIGZpbmFsIFJ1bnMgbmVlZCB0byBiZSByZWxhdGl2ZSB0byB0aGUgcGFyZW50IEJveAog
ICAgICAgICAvLyBGSVhNRTogU2hvdWxkbid0IHdlIGp1c3QgbGVhdmUgdGhlbSBiZSByZWxhdGl2
ZSB0byB0aGUgbGluZSBib3g/CiAgICAgICAgIGF1dG8gcnVuUmVjdCA9IEZsb2F0UmVjdCB7IGxp
bmVSdW4ubG9naWNhbFJlY3QoKSB9OwogICAgICAgICAvLyBMaW5lIHJ1bnMgYXJlIG1hcmdpbiBi
b3ggYmFzZWQsIGxldCdzIGNvbnZlcnQgdGhlbSB0byBib3JkZXIgYm94LgogICAgICAgICBhdXRv
JiBnZW9tZXRyeSA9IG1fbGF5b3V0U3RhdGUuZ2VvbWV0cnlGb3JCb3gobGF5b3V0Qm94KTsKLSAg
ICAgICAgcnVuUmVjdC5tb3ZlQnkoeyBsaW5lLmxvZ2ljYWxMZWZ0KCkgKyBzdGQ6Om1heChnZW9t
ZXRyeS5tYXJnaW5TdGFydCgpLCAwX2x1KSwgbGluZS5sb2dpY2FsVG9wKCkgKyBnZW9tZXRyeS5t
YXJnaW5CZWZvcmUoKSB9KTsKKyAgICAgICAgcnVuUmVjdC5tb3ZlQnkoeyBsaW5lTG9naWNhbFJl
Y3QubGVmdCgpICsgc3RkOjptYXgoZ2VvbWV0cnkubWFyZ2luU3RhcnQoKSwgMF9sdSksIGxpbmVM
b2dpY2FsUmVjdC50b3AoKSArIGdlb21ldHJ5Lm1hcmdpbkJlZm9yZSgpIH0pOwogICAgICAgICBy
dW5SZWN0LnNldFNpemUoeyBnZW9tZXRyeS5ib3JkZXJCb3hXaWR0aCgpLCBnZW9tZXRyeS5ib3Jk
ZXJCb3hIZWlnaHQoKSB9KTsKICAgICAgICAgaWYgKGxpbmVMZXZlbFZpc3VhbEFkanVzdG1lbnRz
Rm9yUnVuc1tsaW5lSW5kZXhdLm5lZWRzSW50ZWdyYWxQb3NpdGlvbikKICAgICAgICAgICAgIHJ1
blJlY3Quc2V0WShyb3VuZFRvSW50KHJ1blJlY3QueSgpKSk7CkBAIC0yMzEsMTEgKzIzMiwxMSBA
QCB2b2lkIElubGluZUNvbnRlbnRCdWlsZGVyOjpjcmVhdGVEaXNwbGF5TGluZVJ1bnMoY29uc3Qg
TGF5b3V0OjpJbmxpbmVGb3JtYXR0aW5nUwogICAgICAgICBSRUxFQVNFX0FTU0VSVChzdGFydE9m
ZnNldCA8IGVuZE9mZnNldCk7CiAgICAgICAgIGF1dG8mIGxheW91dEJveCA9IGxpbmVSdW4ubGF5
b3V0Qm94KCk7CiAgICAgICAgIGF1dG8gbGluZUluZGV4ID0gbGluZVJ1bi5saW5lSW5kZXgoKTsK
LSAgICAgICAgYXV0byYgbGluZSA9IGxpbmVzW2xpbmVJbmRleF07CisgICAgICAgIGF1dG8mIGxp
bmVMb2dpY2FsUmVjdCA9IGxpbmVzW2xpbmVJbmRleF0ubG9naWNhbFJlY3QoKTsKICAgICAgICAg
YXV0byBydW5SZWN0ID0gRmxvYXRSZWN0IHsgbGluZVJ1bi5sb2dpY2FsUmVjdCgpIH07CiAgICAg
ICAgIC8vIElubGluZSBib3hlcyBhcmUgcmVsYXRpdmUgdG8gdGhlIGxpbmUgYm94IHdoaWxlIGZp
bmFsIFJ1bnMgbmVlZCB0byBiZSByZWxhdGl2ZSB0byB0aGUgcGFyZW50IEJveAogICAgICAgICAv
LyBGSVhNRTogU2hvdWxkbid0IHdlIGp1c3QgbGVhdmUgdGhlbSBiZSByZWxhdGl2ZSB0byB0aGUg
bGluZSBib3g/Ci0gICAgICAgIHJ1blJlY3QubW92ZUJ5KHsgbGluZS5sb2dpY2FsTGVmdCgpLCBs
aW5lLmxvZ2ljYWxUb3AoKSB9KTsKKyAgICAgICAgcnVuUmVjdC5tb3ZlQnkoeyBsaW5lTG9naWNh
bFJlY3QubGVmdCgpLCBsaW5lTG9naWNhbFJlY3QudG9wKCkgfSk7CiAgICAgICAgIGlmIChsaW5l
TGV2ZWxWaXN1YWxBZGp1c3RtZW50c0ZvclJ1bnNbbGluZUluZGV4XS5uZWVkc0ludGVncmFsUG9z
aXRpb24pCiAgICAgICAgICAgICBydW5SZWN0LnNldFkocm91bmRUb0ludChydW5SZWN0LnkoKSkp
OwogCkBAIC0yNTIsMTQgKzI1MywxMyBAQCB2b2lkIElubGluZUNvbnRlbnRCdWlsZGVyOjpjcmVh
dGVEaXNwbGF5TGluZVJ1bnMoY29uc3QgTGF5b3V0OjpJbmxpbmVGb3JtYXR0aW5nUwogICAgICAg
ICAgICAgICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKICAgICAgICAgICAgICAgICB9CiAg
ICAgICAgICAgICAgICAgYXV0byBydW5Mb2dpY2FsUmVjdCA9IGxpbmVSdW4ubG9naWNhbFJlY3Qo
KTsKLSAgICAgICAgICAgICAgICBhdXRvIGxpbmVMb2dpY2FsUmlnaHQgPSBsaW5lLmxvZ2ljYWxS
aWdodCgpOwogICAgICAgICAgICAgICAgIGF1dG8gZWxsaXBzaXNXaWR0aCA9IHN0eWxlLmZvbnRD
YXNjYWRlKCkud2lkdGgoV2ViQ29yZTo6VGV4dFJ1biB7ICZob3Jpem9udGFsRWxsaXBzaXMgfSk7
Ci0gICAgICAgICAgICAgICAgaWYgKHJ1bkxvZ2ljYWxSZWN0LnJpZ2h0KCkgKyBlbGxpcHNpc1dp
ZHRoID4gbGluZUxvZ2ljYWxSaWdodCkgeworICAgICAgICAgICAgICAgIGlmIChydW5Mb2dpY2Fs
UmVjdC5yaWdodCgpICsgZWxsaXBzaXNXaWR0aCA+IGxpbmVMb2dpY2FsUmVjdC5yaWdodCgpKSB7
CiAgICAgICAgICAgICAgICAgICAgIC8vIFRoZSBuZXh0IHJ1biB3aXRoIGVsbGlwc2lzIHdvdWxk
IHN1cmVseSBvdmVyZmxvdy4gU28gbGV0J3MganVzdCBhZGQgaXQgdG8gdGhpcyBydW4gZXZlbiBp
ZgogICAgICAgICAgICAgICAgICAgICAvLyBpdCBtYWtlcyB0aGUgcnVuIHdpZGVyIHRoYW4gaXQg
b3JpZ2luYWxseSB3YXMuCiAgICAgICAgICAgICAgICAgICAgIGhhc0FkanVzdGVkVHJhaWxpbmdM
aW5lTGlzdFtsaW5lSW5kZXhdID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICAgZmxvYXQgcmVz
dWx0V2lkdGggPSAwOwotICAgICAgICAgICAgICAgICAgICBhdXRvIG1heFdpZHRoID0gbGluZS5s
b2dpY2FsV2lkdGgoKSAtIHJ1bkxvZ2ljYWxSZWN0LmxlZnQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgYXV0byBtYXhXaWR0aCA9IGxpbmVMb2dpY2FsUmVjdC53aWR0aCgpIC0gcnVuTG9naWNhbFJl
Y3QubGVmdCgpOwogICAgICAgICAgICAgICAgICAgICByZXR1cm4gU3RyaW5nVHJ1bmNhdG9yOjpy
aWdodFRydW5jYXRlKG9yaWdpbmFsQ29udGVudCwgbWF4V2lkdGgsIHN0eWxlLmZvbnRDYXNjYWRl
KCksIHJlc3VsdFdpZHRoLCB0cnVlKTsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9
CkBAIC0zMDcsMTYgKzMwNywxNyBAQCB2b2lkIElubGluZUNvbnRlbnRCdWlsZGVyOjpjcmVhdGVE
aXNwbGF5TGluZXMoY29uc3QgTGF5b3V0OjpJbmxpbmVGb3JtYXR0aW5nU3RhdAogICAgIHNpemVf
dCBydW5JbmRleCA9IDA7CiAgICAgZm9yIChzaXplX3QgbGluZUluZGV4ID0gMDsgbGluZUluZGV4
IDwgbGluZXMuc2l6ZSgpOyArK2xpbmVJbmRleCkgewogICAgICAgICBhdXRvJiBsaW5lID0gbGlu
ZXNbbGluZUluZGV4XTsKKyAgICAgICAgYXV0byYgbGluZUxvZ2ljYWxSZWN0ID0gbGluZS5sb2dp
Y2FsUmVjdCgpOwogICAgICAgICBhdXRvIGxpbmVCb3hMb2dpY2FsU2l6ZSA9IGxpbmUubGluZUJv
eExvZ2ljYWxTaXplKCk7CiAgICAgICAgIC8vIEZJWE1FOiBUaGlzIGlzIHdoZXJlIHRoZSBsb2dp
Y2FsIHRvIHBoeXNpY2FsIHRyYW5zbGF0ZSBzaG91bGQgaGFwcGVuLgotICAgICAgICBhdXRvIHNj
cm9sbGFibGVPdmVyZmxvd1JlY3QgPSBGbG9hdFJlY3QgeyBsaW5lLmxvZ2ljYWxMZWZ0KCksIGxp
bmUubG9naWNhbFRvcCgpLCBsaW5lT3ZlcmZsb3dXaWR0aChtX2Jsb2NrRmxvdywgbGluZS5sb2dp
Y2FsV2lkdGgoKSwgbGluZUJveExvZ2ljYWxTaXplLndpZHRoKCkpLCBsaW5lLmxvZ2ljYWxIZWln
aHQoKSB9OworICAgICAgICBhdXRvIHNjcm9sbGFibGVPdmVyZmxvd1JlY3QgPSBGbG9hdFJlY3Qg
eyBsaW5lTG9naWNhbFJlY3QubGVmdCgpLCBsaW5lTG9naWNhbFJlY3QudG9wKCksIGxpbmVPdmVy
Zmxvd1dpZHRoKG1fYmxvY2tGbG93LCBsaW5lTG9naWNhbFJlY3Qud2lkdGgoKSwgbGluZUJveExv
Z2ljYWxTaXplLndpZHRoKCkpLCBsaW5lTG9naWNhbFJlY3QuaGVpZ2h0KCkgfTsKIAogICAgICAg
ICBhdXRvIGZpcnN0UnVuSW5kZXggPSBydW5JbmRleDsKICAgICAgICAgYXV0byBsaW5lSW5rT3Zl
cmZsb3dSZWN0ID0gc2Nyb2xsYWJsZU92ZXJmbG93UmVjdDsKICAgICAgICAgd2hpbGUgKHJ1bklu
ZGV4IDwgcnVucy5zaXplKCkgJiYgcnVuc1tydW5JbmRleF0ubGluZUluZGV4KCkgPT0gbGluZUlu
ZGV4KQogICAgICAgICAgICAgbGluZUlua092ZXJmbG93UmVjdC51bml0ZShydW5zW3J1bkluZGV4
KytdLmlua092ZXJmbG93KCkpOwogICAgICAgICBhdXRvIHJ1bkNvdW50ID0gcnVuSW5kZXggLSBm
aXJzdFJ1bkluZGV4OwotICAgICAgICBhdXRvIGxpbmVSZWN0ID0gRmxvYXRSZWN0IHsgbGluZS5s
b2dpY2FsUmVjdCgpIH07CisgICAgICAgIGF1dG8gbGluZVJlY3QgPSBGbG9hdFJlY3QgeyBsaW5l
TG9naWNhbFJlY3QgfTsKICAgICAgICAgYXV0byBlbmNsb3NpbmdUb3BBbmRCb3R0b20gPSBbJl0g
ewogICAgICAgICAgICAgLy8gTGV0J3MgKHZlcnRpY2FsbHkpZW5jbG9zZSBhbGwgdGhlIGlubGlu
ZSBsZXZlbCBib3hlcy4KICAgICAgICAgICAgIC8vIFRoaXMgbW9zdGx5IG1hdGNoZXMgJ2xpbmVS
ZWN0JywgdW5sZXNzIGxpbmUtaGVpZ2h0IHRyaWdnZXJzIGxpbmUgYm94IG92ZXJmbG93IChub3Qg
dG8gYmUgY29uZnVzZWQgd2l0aCBpbmsgb3Igc2Nyb2xsIG92ZXJmbG93KS4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dFRyZWVCdWlsZGVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dFRyZWVCdWlsZGVyLmNwcApp
bmRleCA3NmYzNDI1NDhiMjhmMGUwN2ZkODFkOGE0MDg2MmZmNmVhMGJlYmYyLi42MzAzYjliMzMw
ZDYzOTAyOTY3MDY2Y2RjMzk2MjgzMDcxYWY5YTRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRUcmVlQnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0VHJlZUJ1aWxkZXIuY3BwCkBAIC0zOTQsNyAr
Mzk0LDggQEAgdm9pZCBzaG93SW5saW5lVHJlZUFuZFJ1bnMoVGV4dFN0cmVhbSYgc3RyZWFtLCBj
b25zdCBMYXlvdXRTdGF0ZSYgbGF5b3V0U3RhdGUsIGMKICAgICAgICAgfTsKICAgICAgICAgYWRk
U3BhY2luZygpOwogICAgICAgICBhdXRvJiBsaW5lID0gbGluZXNbbGluZUluZGV4XTsKLSAgICAg
ICAgc3RyZWFtIDw8ICJsaW5lIGF0ICgiIDw8IGxpbmUubG9naWNhbExlZnQoKSA8PCAiLCIgPDwg
bGluZS5sb2dpY2FsVG9wKCkgPDwgIikgc2l6ZSAoIiA8PCBsaW5lLmxvZ2ljYWxXaWR0aCgpIDw8
ICJ4IiA8PCBsaW5lLmxvZ2ljYWxIZWlnaHQoKSA8PCAiKSBiYXNlbGluZSAoIiA8PCBsaW5lLmJh
c2VsaW5lKCkgPDwgIikiOworICAgICAgICBhdXRvJiBsaW5lTG9naWNhbFJlY3QgPSBsaW5lLmxv
Z2ljYWxSZWN0KCk7CisgICAgICAgIHN0cmVhbSA8PCAibGluZSBhdCAoIiA8PCBsaW5lTG9naWNh
bFJlY3QubGVmdCgpIDw8ICIsIiA8PCBsaW5lTG9naWNhbFJlY3QudG9wKCkgPDwgIikgc2l6ZSAo
IiA8PCBsaW5lTG9naWNhbFJlY3Qud2lkdGgoKSA8PCAieCIgPDwgbGluZUxvZ2ljYWxSZWN0Lmhl
aWdodCgpIDw8ICIpIGJhc2VsaW5lICgiIDw8IGxpbmUuYmFzZWxpbmUoKSA8PCAiKSI7CiAgICAg
ICAgIHN0cmVhbS5uZXh0TGluZSgpOwogCiAgICAgICAgIGFkZFNwYWNpbmcoKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>