<?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>234110</bug_id>
          
          <creation_ts>2021-12-09 15:59:35 -0800</creation_ts>
          <short_desc>[LFC][IFC] Replace Vector&lt;std::unique_ptr&lt;DisplayBoxNode&gt; with Vector&lt;DisplayBoxTree::Node&gt;</short_desc>
          <delta_ts>2021-12-10 08:22:20 -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>1822402</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2021-12-09 15:59:35 -0800</bug_when>
    <thetext>as suggested in bug 233880</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1822407</commentid>
    <comment_count>1</comment_count>
      <attachid>446627</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-12-09 16:11:41 -0800</bug_when>
    <thetext>Created attachment 446627
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1822664</commentid>
    <comment_count>2</comment_count>
      <attachid>446627</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-12-10 06:05:57 -0800</bug_when>
    <thetext>Comment on attachment 446627
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=446627&amp;action=review

&gt; Source/WebCore/layout/formattingContexts/inline/InlineDisplayContentBuilder.cpp:347
&gt; +        // Node index in m_displayBoxNodes.
&gt; +        size_t thisIndex { 0 };

This doesn&apos;t appear to be used.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1822698</commentid>
    <comment_count>3</comment_count>
      <attachid>446727</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-12-10 07:46:01 -0800</bug_when>
    <thetext>Created attachment 446727
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1822719</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-12-10 08:21:53 -0800</bug_when>
    <thetext>Committed r286851 (245084@main): &lt;https://commits.webkit.org/245084@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 446727.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1822720</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-12-10 08:22:20 -0800</bug_when>
    <thetext>&lt;rdar://problem/86322728&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>446627</attachid>
            <date>2021-12-09 16:11:41 -0800</date>
            <delta_ts>2021-12-10 07:45:58 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234110-20211209161140.patch</filename>
            <type>text/plain</type>
            <size>15415</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2NzkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTI1YmNiODZiMmU1NjBk
ZTkyZTM1NzI0Mzc5OWNiNTMyM2JiZmViZi4uMDA1ODhmYjc2ZDFmNWRjMmE4OGViYjczMDQ3MWY2
Nzc0ZTM3MTM5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDIxLTEyLTA5ICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtJRkNdIFJlcGxhY2Ug
VmVjdG9yPHN0ZDo6dW5pcXVlX3B0cjxEaXNwbGF5Qm94Tm9kZT4gd2l0aCBWZWN0b3I8RGlzcGxh
eUJveFRyZWU6Ok5vZGU+CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMzQxMTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBUaGlzIHBhdGNoIHN3aXRjaGVzIG92ZXIgZnJvbSB1c2luZyBEaXNwbGF5Qm94Tm9k
ZSogaW4gQW5jZXN0b3JTdGFjayB0byBzaW1wbGUgaW5kZXhlcyB0byBjb250YWluIGhlYXAgYWxs
b2NhdGlvbnMuCisKKyAgICAgICAgKiBsYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9J
bmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0
OjpEaXNwbGF5Qm94VHJlZTo6RGlzcGxheUJveFRyZWUpOgorICAgICAgICAoV2ViQ29yZTo6TGF5
b3V0OjpEaXNwbGF5Qm94VHJlZTo6aGFzSW5saW5lQm94IGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6OkxheW91dDo6RGlzcGxheUJveFRyZWU6OnJvb3QgY29uc3QpOgorICAgICAgICAoV2ViQ29y
ZTo6TGF5b3V0OjpEaXNwbGF5Qm94VHJlZTo6YXQpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0
OjpEaXNwbGF5Qm94VHJlZTo6YXQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpE
aXNwbGF5Qm94VHJlZTo6YXBwZW5kKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6QW5jZXN0
b3JTdGFjazo6dW53aW5kKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6QW5jZXN0b3JTdGFj
azo6cHVzaCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OmNyZWF0ZWREaXNwbGF5Qm94Tm9k
ZUZvckNvbnRhaW5lckJveEFuZFB1c2hUb0FuY2VzdG9yU3RhY2spOgorICAgICAgICAoV2ViQ29y
ZTo6TGF5b3V0OjpJbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXI6OmVuc3VyZURpc3BsYXlCb3hG
b3JDb250YWluZXIpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVEaXNwbGF5Q29u
dGVudEJ1aWxkZXI6OmFkanVzdFZpc3VhbEdlb21ldHJ5Rm9yRGlzcGxheUJveCk6CisgICAgICAg
IChXZWJDb3JlOjpMYXlvdXQ6OklubGluZURpc3BsYXlDb250ZW50QnVpbGRlcjo6cHJvY2Vzc0Jp
ZGlDb250ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6RGlzcGxheUJveE5vZGU6OkRp
c3BsYXlCb3hOb2RlKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6RGlzcGxh
eUJveE5vZGU6OmFwcGVuZENoaWxkKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkxheW91
dDo6SW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyOjphZGp1c3RWaXN1YWxHZW9tZXRyeUZvckNo
aWxkTm9kZSk6IERlbGV0ZWQuCisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9p
bmxpbmUvSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyLmg6CisKIDIwMjEtMTItMDkgIEFsYW4g
QnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtMRkNdW0lGQ10gQWRkIHN1cHBv
cnQgZm9yIGluayBvdmVyZmxvdyBvbiBiaWRpIGlubGluZSBib3hlcwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRGlzcGxh
eUNvbnRlbnRCdWlsZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29u
dGV4dHMvaW5saW5lL0lubGluZURpc3BsYXlDb250ZW50QnVpbGRlci5jcHAKaW5kZXggZTU0NGFj
N2ZiZThiNWU2MGU3ZTdhNTBkYTBmMWZhY2RmYWNiOTkwNC4uNGNhMjViZmJhMDBhM2U4NDYyN2Nk
ZDZiYzZiNzgzMTJmMGFhYTI5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zv
cm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9Jbmxp
bmVEaXNwbGF5Q29udGVudEJ1aWxkZXIuY3BwCkBAIC0zNDAsMjggKzM0MCw0NyBAQCB2b2lkIElu
bGluZURpc3BsYXlDb250ZW50QnVpbGRlcjo6cHJvY2Vzc05vbkJpZGlDb250ZW50KGNvbnN0IExp
bmVCdWlsZGVyOjpMaW5lQwogICAgIH0KIH0KIAotc3RydWN0IERpc3BsYXlCb3hOb2RlIHsKLSAg
ICBXVEZfTUFLRV9TVFJVQ1RfRkFTVF9BTExPQ0FURUQ7Ci0gICAgRGlzcGxheUJveE5vZGUoKSA9
IGRlZmF1bHQ7Ci0gICAgRGlzcGxheUJveE5vZGUoc2l6ZV90IGluZGV4LCBEaXNwbGF5Qm94Tm9k
ZSogcGFyZW50KQotICAgICAgICA6IGluZGV4KGluZGV4KQotICAgICAgICAsIHBhcmVudChwYXJl
bnQpCi0gICAgICAgIHsKLSAgICAgICAgfQorc3RydWN0IERpc3BsYXlCb3hUcmVlIHsKK3B1Ymxp
YzoKKyAgICBzdHJ1Y3QgTm9kZSB7CisgICAgICAgIC8vIE5vZGUgaW5kZXggaW4gbV9kaXNwbGF5
Qm94Tm9kZXMuCisgICAgICAgIHNpemVfdCB0aGlzSW5kZXggeyAwIH07CisgICAgICAgIC8vIE5v
ZGUncyBwYXJlbnQgaW5kZXggaW4gbV9kaXNwbGF5Qm94Tm9kZXMuCisgICAgICAgIHN0ZDo6b3B0
aW9uYWw8c2l6ZV90PiBwYXJlbnRJbmRleDsKKyAgICAgICAgLy8gQXNzb2NpYXRlZCBkaXNwbGF5
IGJveCBpbmRleCBpbiBEaXNwbGF5Qm94ZXMuCisgICAgICAgIHNpemVfdCBkaXNwbGF5Qm94SW5k
ZXggeyAwIH07CisgICAgICAgIC8vIENoaWxkIGluZGV4ZXMgaW4gbV9kaXNwbGF5Qm94Tm9kZXMu
CisgICAgICAgIFZlY3RvcjxzaXplX3Q+IGNoaWxkcmVuIHsgfTsKKyAgICB9OworCisgICAgRGlz
cGxheUJveFRyZWUoKQorICAgIHsKKyAgICAgICAgbV9kaXNwbGF5Qm94Tm9kZXMuYXBwZW5kKHsg
fSk7CisgICAgfQogCi0gICAgdm9pZCBhcHBlbmRDaGlsZChzaXplX3QgY2hpbGRJbmRleCkgeyBj
aGlsZHJlbi5hcHBlbmQobWFrZVVuaXF1ZTxEaXNwbGF5Qm94Tm9kZT4oY2hpbGRJbmRleCwgdGhp
cykpOyB9CisgICAgYm9vbCBoYXNJbmxpbmVCb3goKSBjb25zdCB7IHJldHVybiBtX2Rpc3BsYXlC
b3hOb2Rlcy5zaXplKCkgPiAxOyB9CisgICAgY29uc3QgTm9kZSYgcm9vdCgpIGNvbnN0IHsgcmV0
dXJuIG1fZGlzcGxheUJveE5vZGVzLmZpcnN0KCk7IH0KKyAgICBOb2RlJiBhdChzaXplX3QgaW5k
ZXgpIHsgcmV0dXJuIG1fZGlzcGxheUJveE5vZGVzW2luZGV4XTsgfQorICAgIGNvbnN0IE5vZGUm
IGF0KHNpemVfdCBpbmRleCkgY29uc3QgeyByZXR1cm4gbV9kaXNwbGF5Qm94Tm9kZXNbaW5kZXhd
OyB9CiAKLSAgICBzaXplX3QgaW5kZXggeyAwIH07Ci0gICAgRGlzcGxheUJveE5vZGUqIHBhcmVu
dCB7IG51bGxwdHIgfTsKLSAgICBWZWN0b3I8c3RkOjp1bmlxdWVfcHRyPERpc3BsYXlCb3hOb2Rl
Pj4gY2hpbGRyZW47CisgICAgc2l6ZV90IGFwcGVuZChzaXplX3QgcGFyZW50Tm9kZUluZGV4LCBz
aXplX3QgY2hpbGREaXNwbGF5Qm94SW5kZXgpCisgICAgeworICAgICAgICBhdXRvIGNoaWxkRGlz
cGxheUJveE5vZGVJbmRleCA9IG1fZGlzcGxheUJveE5vZGVzLnNpemUoKTsKKyAgICAgICAgbV9k
aXNwbGF5Qm94Tm9kZXMuYXBwZW5kKHsgY2hpbGREaXNwbGF5Qm94Tm9kZUluZGV4LCBwYXJlbnRO
b2RlSW5kZXgsIGNoaWxkRGlzcGxheUJveEluZGV4IH0pOworICAgICAgICBhdChwYXJlbnROb2Rl
SW5kZXgpLmNoaWxkcmVuLmFwcGVuZChjaGlsZERpc3BsYXlCb3hOb2RlSW5kZXgpOworICAgICAg
ICByZXR1cm4gY2hpbGREaXNwbGF5Qm94Tm9kZUluZGV4OworICAgIH0KKworcHJpdmF0ZToKKyAg
ICBWZWN0b3I8Tm9kZSwgMTA+IG1fZGlzcGxheUJveE5vZGVzOwogfTsKIAogc3RydWN0IEFuY2Vz
dG9yU3RhY2sgewotICAgIERpc3BsYXlCb3hOb2RlKiB1bndpbmQoY29uc3QgQ29udGFpbmVyQm94
JiBjb250YWluZXJCb3gpCisgICAgc3RkOjpvcHRpb25hbDxzaXplX3Q+IHVud2luZChjb25zdCBD
b250YWluZXJCb3gmIGNvbnRhaW5lckJveCkKICAgICB7CiAgICAgICAgIC8vIFVud2luZCB0aGUg
c3RhY2sgYWxsIHRoZSB3YXkgdG8gY29udGFpbmVyIGJveC4KICAgICAgICAgaWYgKCFtX3NldC5j
b250YWlucygmY29udGFpbmVyQm94KSkKLSAgICAgICAgICAgIHJldHVybiBudWxscHRyOworICAg
ICAgICAgICAgcmV0dXJuIHsgfTsKICAgICAgICAgd2hpbGUgKG1fc2V0Lmxhc3QoKSAhPSAmY29u
dGFpbmVyQm94KSB7CiAgICAgICAgICAgICBtX3N0YWNrLnJlbW92ZUxhc3QoKTsKICAgICAgICAg
ICAgIG1fc2V0LnJlbW92ZUxhc3QoKTsKQEAgLTM3MSw0NCArMzkwLDQyIEBAIHN0cnVjdCBBbmNl
c3RvclN0YWNrIHsKICAgICAgICAgcmV0dXJuIG1fc3RhY2subGFzdCgpOwogICAgIH0KIAotICAg
IHZvaWQgcHVzaChEaXNwbGF5Qm94Tm9kZSYgZGlzcGxheUJveE5vZGUsIGNvbnN0IENvbnRhaW5l
ckJveCYgY29udGFpbmVyQm94KQorICAgIHZvaWQgcHVzaChzaXplX3QgZGlzcGxheUJveE5vZGVJ
bmRleEZvckNvbnRhaW5lckJveCwgY29uc3QgQ29udGFpbmVyQm94JiBjb250YWluZXJCb3gpCiAg
ICAgewotICAgICAgICBtX3N0YWNrLmFwcGVuZCgmZGlzcGxheUJveE5vZGUpOworICAgICAgICBt
X3N0YWNrLmFwcGVuZChkaXNwbGF5Qm94Tm9kZUluZGV4Rm9yQ29udGFpbmVyQm94KTsKICAgICAg
ICAgQVNTRVJUKCFtX3NldC5jb250YWlucygmY29udGFpbmVyQm94KSk7CiAgICAgICAgIG1fc2V0
LmFkZCgmY29udGFpbmVyQm94KTsKICAgICB9CiAKIHByaXZhdGU6Ci0gICAgVmVjdG9yPERpc3Bs
YXlCb3hOb2RlKj4gbV9zdGFjazsKKyAgICBWZWN0b3I8c2l6ZV90PiBtX3N0YWNrOwogICAgIExp
c3RIYXNoU2V0PGNvbnN0IENvbnRhaW5lckJveCo+IG1fc2V0OwogfTsKIAotc3RhdGljIGlubGlu
ZSBEaXNwbGF5Qm94Tm9kZSYgY3JlYXRlZERpc3BsYXlCb3hOb2RlRm9yQ29udGFpbmVyQm94QW5k
UHVzaFRvQW5jZXN0b3JTdGFjayhjb25zdCBDb250YWluZXJCb3gmIGNvbnRhaW5lckJveCwgc2l6
ZV90IGRpc3BsYXlCb3hJbmRleCwgRGlzcGxheUJveE5vZGUmIHBhcmVudERpc3BsYXlCb3hOb2Rl
LCBBbmNlc3RvclN0YWNrJiBhbmNlc3RvclN0YWNrKQorc3RhdGljIGlubGluZSBzaXplX3QgY3Jl
YXRlZERpc3BsYXlCb3hOb2RlRm9yQ29udGFpbmVyQm94QW5kUHVzaFRvQW5jZXN0b3JTdGFjayhj
b25zdCBDb250YWluZXJCb3gmIGNvbnRhaW5lckJveCwgc2l6ZV90IGRpc3BsYXlCb3hJbmRleCwg
c2l6ZV90IHBhcmVudERpc3BsYXlCb3hOb2RlSW5kZXgsIERpc3BsYXlCb3hUcmVlJiBkaXNwbGF5
Qm94VHJlZSwgQW5jZXN0b3JTdGFjayYgYW5jZXN0b3JTdGFjaykKIHsKLSAgICBwYXJlbnREaXNw
bGF5Qm94Tm9kZS5hcHBlbmRDaGlsZChkaXNwbGF5Qm94SW5kZXgpOwotICAgIGF1dG8mIGRpc3Bs
YXlCb3hOb2RlID0gKnBhcmVudERpc3BsYXlCb3hOb2RlLmNoaWxkcmVuLmxhc3QoKTsKLSAgICBh
bmNlc3RvclN0YWNrLnB1c2goZGlzcGxheUJveE5vZGUsIGNvbnRhaW5lckJveCk7Ci0gICAgcmV0
dXJuIGRpc3BsYXlCb3hOb2RlOworICAgIGF1dG8gZGlzcGxheUJveE5vZGVJbmRleCA9IGRpc3Bs
YXlCb3hUcmVlLmFwcGVuZChwYXJlbnREaXNwbGF5Qm94Tm9kZUluZGV4LCBkaXNwbGF5Qm94SW5k
ZXgpOworICAgIGFuY2VzdG9yU3RhY2sucHVzaChkaXNwbGF5Qm94Tm9kZUluZGV4LCBjb250YWlu
ZXJCb3gpOworICAgIHJldHVybiBkaXNwbGF5Qm94Tm9kZUluZGV4OwogfQogCi1EaXNwbGF5Qm94
Tm9kZSYgSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyOjplbnN1cmVEaXNwbGF5Qm94Rm9yQ29u
dGFpbmVyKGNvbnN0IENvbnRhaW5lckJveCYgY29udGFpbmVyQm94LCBBbmNlc3RvclN0YWNrJiBh
bmNlc3RvclN0YWNrLCBEaXNwbGF5Qm94ZXMmIGJveGVzKQorc2l6ZV90IElubGluZURpc3BsYXlD
b250ZW50QnVpbGRlcjo6ZW5zdXJlRGlzcGxheUJveEZvckNvbnRhaW5lcihjb25zdCBDb250YWlu
ZXJCb3gmIGNvbnRhaW5lckJveCwgRGlzcGxheUJveFRyZWUmIGRpc3BsYXlCb3hUcmVlLCBBbmNl
c3RvclN0YWNrJiBhbmNlc3RvclN0YWNrLCBEaXNwbGF5Qm94ZXMmIGJveGVzKQogewogICAgIEFT
U0VSVChjb250YWluZXJCb3guaXNJbmxpbmVCb3goKSB8fCAmY29udGFpbmVyQm94ID09ICZyb290
KCkpOwotICAgIGlmIChhdXRvKiBsb3dlc3RDb21tb25BbmNlc3RvciA9IGFuY2VzdG9yU3RhY2su
dW53aW5kKGNvbnRhaW5lckJveCkpCi0gICAgICAgIHJldHVybiAqbG93ZXN0Q29tbW9uQW5jZXN0
b3I7Ci0gICAgYXV0byYgZW5jbG9zaW5nRGlzcGxheUJveE5vZGVGb3JDb250YWluZXIgPSBlbnN1
cmVEaXNwbGF5Qm94Rm9yQ29udGFpbmVyKGNvbnRhaW5lckJveC5wYXJlbnQoKSwgYW5jZXN0b3JT
dGFjaywgYm94ZXMpOworICAgIGlmIChhdXRvIGxvd2VzdENvbW1vbkFuY2VzdG9ySW5kZXggPSBh
bmNlc3RvclN0YWNrLnVud2luZChjb250YWluZXJCb3gpKQorICAgICAgICByZXR1cm4gKmxvd2Vz
dENvbW1vbkFuY2VzdG9ySW5kZXg7CisgICAgYXV0byBlbmNsb3NpbmdEaXNwbGF5Qm94Tm9kZUlu
ZGV4Rm9yQ29udGFpbmVyID0gZW5zdXJlRGlzcGxheUJveEZvckNvbnRhaW5lcihjb250YWluZXJC
b3gucGFyZW50KCksIGRpc3BsYXlCb3hUcmVlLCBhbmNlc3RvclN0YWNrLCBib3hlcyk7CiAgICAg
YXBwZW5kSW5saW5lRGlzcGxheUJveEF0QmlkaUJvdW5kYXJ5KGNvbnRhaW5lckJveCwgYm94ZXMp
OwotICAgIHJldHVybiBjcmVhdGVkRGlzcGxheUJveE5vZGVGb3JDb250YWluZXJCb3hBbmRQdXNo
VG9BbmNlc3RvclN0YWNrKGNvbnRhaW5lckJveCwgYm94ZXMuc2l6ZSgpIC0gMSwgZW5jbG9zaW5n
RGlzcGxheUJveE5vZGVGb3JDb250YWluZXIsIGFuY2VzdG9yU3RhY2spOworICAgIHJldHVybiBj
cmVhdGVkRGlzcGxheUJveE5vZGVGb3JDb250YWluZXJCb3hBbmRQdXNoVG9BbmNlc3RvclN0YWNr
KGNvbnRhaW5lckJveCwgYm94ZXMuc2l6ZSgpIC0gMSwgZW5jbG9zaW5nRGlzcGxheUJveE5vZGVJ
bmRleEZvckNvbnRhaW5lciwgZGlzcGxheUJveFRyZWUsIGFuY2VzdG9yU3RhY2spOwogfQogCi12
b2lkIElubGluZURpc3BsYXlDb250ZW50QnVpbGRlcjo6YWRqdXN0VmlzdWFsR2VvbWV0cnlGb3JD
aGlsZE5vZGUoY29uc3QgRGlzcGxheUJveE5vZGUmIGRpc3BsYXlCb3hOb2RlLCBJbmxpbmVMYXlv
dXRVbml0JiBjb250ZW50UmlnaHRJblZpc3VhbE9yZGVyLCBJbmxpbmVMYXlvdXRVbml0IGxpbmVC
b3hMb2dpY2FsVG9wLCBEaXNwbGF5Qm94ZXMmIGJveGVzLCBjb25zdCBMaW5lQm94JiBsaW5lQm94
KQordm9pZCBJbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXI6OmFkanVzdFZpc3VhbEdlb21ldHJ5
Rm9yRGlzcGxheUJveChzaXplX3QgZGlzcGxheUJveE5vZGVJbmRleCwgSW5saW5lTGF5b3V0VW5p
dCYgY29udGVudFJpZ2h0SW5WaXN1YWxPcmRlciwgSW5saW5lTGF5b3V0VW5pdCBsaW5lQm94TG9n
aWNhbFRvcCwgY29uc3QgRGlzcGxheUJveFRyZWUmIGRpc3BsYXlCb3hUcmVlLCBEaXNwbGF5Qm94
ZXMmIGJveGVzLCBjb25zdCBMaW5lQm94JiBsaW5lQm94KQogewogICAgIC8vIE5vbi1pbmxpbmUg
Ym94IGRpc3BsYXkgYm94ZXMganVzdCBuZWVkIGEgaG9yaXpvbnRhbCBhZGp1c3RtZW50IHdoaWxl
CiAgICAgLy8gaW5saW5lIGJveCB0eXBlIG9mIGRpc3BsYXkgYm94ZXMgbmVlZAogICAgIC8vIDEu
IGhvcml6b250YWwgYWRqdXN0bWVudCBhbmQgbWFyZ2luL2JvcmRlci9wYWRkaW5nIHN0YXJ0IG9m
ZnNldHRpbmcgb24gdGhlIGZpcnN0IGJveAogICAgIC8vIDIuIHJpZ2h0IGVkZ2UgY29tcHV0YXRp
b24gaW5jbHVkaW5nIGRlc2NlbmRhbnQgY29udGVudCB3aWR0aCBhbmQgbWFyZ2luL2JvcmRlci9w
YWRkaW5nIGVuZCBvZmZzZXR0aW5nIG9uIHRoZSBsYXN0IGJveAotICAgIEFTU0VSVChkaXNwbGF5
Qm94Tm9kZS5pbmRleCk7Ci0gICAgYXV0byYgZGlzcGxheUJveCA9IGJveGVzW2Rpc3BsYXlCb3hO
b2RlLmluZGV4XTsKKyAgICBhdXRvJiBkaXNwbGF5Qm94ID0gYm94ZXNbZGlzcGxheUJveFRyZWUu
YXQoZGlzcGxheUJveE5vZGVJbmRleCkuZGlzcGxheUJveEluZGV4XTsKICAgICBhdXRvJiBsYXlv
dXRCb3ggPSBkaXNwbGF5Qm94LmxheW91dEJveCgpOwogCiAgICAgaWYgKCFkaXNwbGF5Qm94Lmlz
Tm9uUm9vdElubGluZUJveCgpKSB7CkBAIC00MzMsOCArNDUwLDggQEAgdm9pZCBJbmxpbmVEaXNw
bGF5Q29udGVudEJ1aWxkZXI6OmFkanVzdFZpc3VhbEdlb21ldHJ5Rm9yQ2hpbGROb2RlKGNvbnN0
IERpc3BsYXkKICAgICB9OwogICAgIGJlZm9yZUlubGluZUJveENvbnRlbnQoKTsKIAotICAgIGZv
ciAoYXV0byYgY2hpbGREaXNwbGF5Qm94Tm9kZSA6IGRpc3BsYXlCb3hOb2RlLmNoaWxkcmVuKQot
ICAgICAgICBhZGp1c3RWaXN1YWxHZW9tZXRyeUZvckNoaWxkTm9kZSgqY2hpbGREaXNwbGF5Qm94
Tm9kZSwgY29udGVudFJpZ2h0SW5WaXN1YWxPcmRlciwgbGluZUJveExvZ2ljYWxUb3AsIGJveGVz
LCBsaW5lQm94KTsKKyAgICBmb3IgKGF1dG8gY2hpbGREaXNwbGF5Qm94Tm9kZUluZGV4IDogZGlz
cGxheUJveFRyZWUuYXQoZGlzcGxheUJveE5vZGVJbmRleCkuY2hpbGRyZW4pCisgICAgICAgIGFk
anVzdFZpc3VhbEdlb21ldHJ5Rm9yRGlzcGxheUJveChjaGlsZERpc3BsYXlCb3hOb2RlSW5kZXgs
IGNvbnRlbnRSaWdodEluVmlzdWFsT3JkZXIsIGxpbmVCb3hMb2dpY2FsVG9wLCBkaXNwbGF5Qm94
VHJlZSwgYm94ZXMsIGxpbmVCb3gpOwogCiAgICAgYXV0byBhZnRlcklubGluZUJveENvbnRlbnQg
PSBbJl0gewogICAgICAgICBpZiAoIWRpc3BsYXlCb3guaXNMYXN0Rm9yTGF5b3V0Qm94KCkpCkBA
IC00NjMsOCArNDgwLDggQEAgdm9pZCBJbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXI6OnByb2Nl
c3NCaWRpQ29udGVudChjb25zdCBMaW5lQnVpbGRlcjo6TGluZUNvbnQKICAgICBBU1NFUlQobGlu
ZUNvbnRlbnQudmlzdWFsT3JkZXJMaXN0LnNpemUoKSA9PSBsaW5lQ29udGVudC5ydW5zLnNpemUo
KSk7CiAKICAgICBBbmNlc3RvclN0YWNrIGFuY2VzdG9yU3RhY2s7Ci0gICAgRGlzcGxheUJveE5v
ZGUgcm9vdERpc3BsYXlCb3hOb2RlID0geyB9OwotICAgIGFuY2VzdG9yU3RhY2sucHVzaChyb290
RGlzcGxheUJveE5vZGUsIHJvb3QoKSk7CisgICAgYXV0byBkaXNwbGF5Qm94VHJlZSA9IERpc3Bs
YXlCb3hUcmVlIHsgfTsKKyAgICBhbmNlc3RvclN0YWNrLnB1c2goeyB9LCByb290KCkpOwogCiAg
ICAgYXV0byBjb250ZW50U3RhcnRJblZpc3VhbE9yZGVyID0gSW5saW5lTGF5b3V0VW5pdCB7IH07
CiAgICAgYXV0byBjcmVhdGVEaXNwbGF5Qm94ZXNJblZpc3VhbE9yZGVyID0gWyZdIHsKQEAgLTQ5
NCwyNCArNTExLDI0IEBAIHZvaWQgSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyOjpwcm9jZXNz
QmlkaUNvbnRlbnQoY29uc3QgTGluZUJ1aWxkZXI6OkxpbmVDb250CiAgICAgICAgICAgICAgICAg
cmV0dXJuIGxvZ2ljYWxsUmVjdDsKICAgICAgICAgICAgIH07CiAKLSAgICAgICAgICAgIGF1dG8m
IHBhcmVudERpc3BsYXlCb3hOb2RlID0gZW5zdXJlRGlzcGxheUJveEZvckNvbnRhaW5lcihsYXlv
dXRCb3gucGFyZW50KCksIGFuY2VzdG9yU3RhY2ssIGJveGVzKTsKKyAgICAgICAgICAgIGF1dG8g
cGFyZW50RGlzcGxheUJveE5vZGVJbmRleCA9IGVuc3VyZURpc3BsYXlCb3hGb3JDb250YWluZXIo
bGF5b3V0Qm94LnBhcmVudCgpLCBkaXNwbGF5Qm94VHJlZSwgYW5jZXN0b3JTdGFjaywgYm94ZXMp
OwogICAgICAgICAgICAgaWYgKGxpbmVSdW4uaXNUZXh0KCkpIHsKICAgICAgICAgICAgICAgICBh
dXRvIHZpc3VhbFJlY3QgPSB2aXN1YWxSZWN0UmVsYXRpdmVUb1Jvb3QobGluZUJveC5sb2dpY2Fs
UmVjdEZvclRleHRSdW4obGluZVJ1bikpOwogICAgICAgICAgICAgICAgIGFwcGVuZFRleHREaXNw
bGF5Qm94KGxpbmVSdW4sIHZpc3VhbFJlY3QsIGJveGVzKTsKICAgICAgICAgICAgICAgICBjb250
ZW50UmlnaHRJblZpc3VhbE9yZGVyICs9IHZpc3VhbFJlY3Qud2lkdGgoKTsKLSAgICAgICAgICAg
ICAgICBwYXJlbnREaXNwbGF5Qm94Tm9kZS5hcHBlbmRDaGlsZChib3hlcy5zaXplKCkgLSAxKTsK
KyAgICAgICAgICAgICAgICBkaXNwbGF5Qm94VHJlZS5hcHBlbmQocGFyZW50RGlzcGxheUJveE5v
ZGVJbmRleCwgYm94ZXMuc2l6ZSgpIC0gMSk7CiAgICAgICAgICAgICAgICAgY29udGludWU7CiAg
ICAgICAgICAgICB9CiAgICAgICAgICAgICBpZiAobGluZVJ1bi5pc1NvZnRMaW5lQnJlYWsoKSkg
ewogICAgICAgICAgICAgICAgIEFTU0VSVCghdmlzdWFsUmVjdFJlbGF0aXZlVG9Sb290KGxpbmVC
b3gubG9naWNhbFJlY3RGb3JUZXh0UnVuKGxpbmVSdW4pKS53aWR0aCgpKTsKICAgICAgICAgICAg
ICAgICBhcHBlbmRTb2Z0TGluZUJyZWFrRGlzcGxheUJveChsaW5lUnVuLCB2aXN1YWxSZWN0UmVs
YXRpdmVUb1Jvb3QobGluZUJveC5sb2dpY2FsUmVjdEZvclRleHRSdW4obGluZVJ1bikpLCBib3hl
cyk7Ci0gICAgICAgICAgICAgICAgcGFyZW50RGlzcGxheUJveE5vZGUuYXBwZW5kQ2hpbGQoYm94
ZXMuc2l6ZSgpIC0gMSk7CisgICAgICAgICAgICAgICAgZGlzcGxheUJveFRyZWUuYXBwZW5kKHBh
cmVudERpc3BsYXlCb3hOb2RlSW5kZXgsIGJveGVzLnNpemUoKSAtIDEpOwogICAgICAgICAgICAg
ICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgaWYgKGxpbmVSdW4uaXNI
YXJkTGluZUJyZWFrKCkpIHsKICAgICAgICAgICAgICAgICBBU1NFUlQoIXZpc3VhbFJlY3RSZWxh
dGl2ZVRvUm9vdChsaW5lQm94LmxvZ2ljYWxSZWN0Rm9yTGluZUJyZWFrQm94KGxheW91dEJveCkp
LndpZHRoKCkpOwogICAgICAgICAgICAgICAgIGFwcGVuZEhhcmRMaW5lQnJlYWtEaXNwbGF5Qm94
KGxpbmVSdW4sIHZpc3VhbFJlY3RSZWxhdGl2ZVRvUm9vdChsaW5lQm94LmxvZ2ljYWxSZWN0Rm9y
TGluZUJyZWFrQm94KGxheW91dEJveCkpLCBib3hlcyk7Ci0gICAgICAgICAgICAgICAgcGFyZW50
RGlzcGxheUJveE5vZGUuYXBwZW5kQ2hpbGQoYm94ZXMuc2l6ZSgpIC0gMSk7CisgICAgICAgICAg
ICAgICAgZGlzcGxheUJveFRyZWUuYXBwZW5kKHBhcmVudERpc3BsYXlCb3hOb2RlSW5kZXgsIGJv
eGVzLnNpemUoKSAtIDEpOwogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAg
fQogICAgICAgICAgICAgaWYgKGxpbmVSdW4uaXNCb3goKSkgewpAQCAtNTIwLDEyICs1MzcsMTIg
QEAgdm9pZCBJbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXI6OnByb2Nlc3NCaWRpQ29udGVudChj
b25zdCBMaW5lQnVpbGRlcjo6TGluZUNvbnQKICAgICAgICAgICAgICAgICB2aXN1YWxSZWN0Lm1v
dmVIb3Jpem9udGFsbHkoYm94R2VvbWV0cnkubWFyZ2luU3RhcnQoKSk7CiAgICAgICAgICAgICAg
ICAgYXBwZW5kQXRvbWljSW5saW5lTGV2ZWxEaXNwbGF5Qm94KGxpbmVSdW4sIHZpc3VhbFJlY3Qs
IGJveGVzKTsKICAgICAgICAgICAgICAgICBjb250ZW50UmlnaHRJblZpc3VhbE9yZGVyICs9IGJv
eEdlb21ldHJ5Lm1hcmdpblN0YXJ0KCkgKyB2aXN1YWxSZWN0LndpZHRoKCkgKyBib3hHZW9tZXRy
eS5tYXJnaW5FbmQoKTsKLSAgICAgICAgICAgICAgICBwYXJlbnREaXNwbGF5Qm94Tm9kZS5hcHBl
bmRDaGlsZChib3hlcy5zaXplKCkgLSAxKTsKKyAgICAgICAgICAgICAgICBkaXNwbGF5Qm94VHJl
ZS5hcHBlbmQocGFyZW50RGlzcGxheUJveE5vZGVJbmRleCwgYm94ZXMuc2l6ZSgpIC0gMSk7CiAg
ICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBpZiAo
bGluZVJ1bi5pc0lubGluZUJveFN0YXJ0KCkgfHwgbGluZVJ1bi5pc0xpbmVTcGFubmluZ0lubGlu
ZUJveFN0YXJ0KCkpIHsKICAgICAgICAgICAgICAgICBhcHBlbmRJbmxpbmVEaXNwbGF5Qm94QXRC
aWRpQm91bmRhcnkobGF5b3V0Qm94LCBib3hlcyk7Ci0gICAgICAgICAgICAgICAgY3JlYXRlZERp
c3BsYXlCb3hOb2RlRm9yQ29udGFpbmVyQm94QW5kUHVzaFRvQW5jZXN0b3JTdGFjayhkb3duY2Fz
dDxDb250YWluZXJCb3g+KGxheW91dEJveCksIGJveGVzLnNpemUoKSAtIDEsIHBhcmVudERpc3Bs
YXlCb3hOb2RlLCBhbmNlc3RvclN0YWNrKTsKKyAgICAgICAgICAgICAgICBjcmVhdGVkRGlzcGxh
eUJveE5vZGVGb3JDb250YWluZXJCb3hBbmRQdXNoVG9BbmNlc3RvclN0YWNrKGRvd25jYXN0PENv
bnRhaW5lckJveD4obGF5b3V0Qm94KSwgYm94ZXMuc2l6ZSgpIC0gMSwgcGFyZW50RGlzcGxheUJv
eE5vZGVJbmRleCwgZGlzcGxheUJveFRyZWUsIGFuY2VzdG9yU3RhY2spOwogICAgICAgICAgICAg
ICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFD
SEVEKCk7CkBAIC01MzMsNyArNTUwLDcgQEAgdm9pZCBJbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxk
ZXI6OnByb2Nlc3NCaWRpQ29udGVudChjb25zdCBMaW5lQnVpbGRlcjo6TGluZUNvbnQKICAgICB9
OwogICAgIGNyZWF0ZURpc3BsYXlCb3hlc0luVmlzdWFsT3JkZXIoKTsKIAotICAgIGlmICghcm9v
dERpc3BsYXlCb3hOb2RlLmNoaWxkcmVuLmlzRW1wdHkoKSkgeworICAgIGlmIChkaXNwbGF5Qm94
VHJlZS5oYXNJbmxpbmVCb3goKSkgewogICAgICAgICBhdXRvIGNvbXB1dGVJc0ZpcnN0SXNMYXN0
Qm94ID0gWyZdIHsKICAgICAgICAgICAgIEhhc2hNYXA8Y29uc3QgQm94Kiwgc2l6ZV90PiBsYXN0
RGlzcGxheUJveEluZGV4ZXM7CiAgICAgICAgICAgICBBU1NFUlQoYm94ZXNbMF0uaXNSb290SW5s
aW5lQm94KCkpOwpAQCAtNTU1LDggKzU3Miw5IEBAIHZvaWQgSW5saW5lRGlzcGxheUNvbnRlbnRC
dWlsZGVyOjpwcm9jZXNzQmlkaUNvbnRlbnQoY29uc3QgTGluZUJ1aWxkZXI6OkxpbmVDb250CiAK
ICAgICAgICAgYXV0byBhZGp1c3RWaXN1YWxHZW9tZXRyeVdpdGhJbmxpbmVCb3hlcyA9IFsmXSB7
CiAgICAgICAgICAgICBhdXRvIGNvbnRlbnRSaWdodEluVmlzdWFsT3JkZXIgPSBsaW5lQm94TG9n
aWNhbFRvcExlZnQueCgpICsgY29udGVudFN0YXJ0SW5WaXN1YWxPcmRlcjsKLSAgICAgICAgICAg
IGZvciAoYXV0byYgY2hpbGREaXNwbGF5Qm94Tm9kZSA6IHJvb3REaXNwbGF5Qm94Tm9kZS5jaGls
ZHJlbikKLSAgICAgICAgICAgICAgICBhZGp1c3RWaXN1YWxHZW9tZXRyeUZvckNoaWxkTm9kZSgq
Y2hpbGREaXNwbGF5Qm94Tm9kZSwgY29udGVudFJpZ2h0SW5WaXN1YWxPcmRlciwgbGluZUJveExv
Z2ljYWxUb3BMZWZ0LnkoKSwgYm94ZXMsIGxpbmVCb3gpOworCisgICAgICAgICAgICBmb3IgKGF1
dG8gY2hpbGREaXNwbGF5Qm94Tm9kZUluZGV4IDogZGlzcGxheUJveFRyZWUucm9vdCgpLmNoaWxk
cmVuKQorICAgICAgICAgICAgICAgIGFkanVzdFZpc3VhbEdlb21ldHJ5Rm9yRGlzcGxheUJveChj
aGlsZERpc3BsYXlCb3hOb2RlSW5kZXgsIGNvbnRlbnRSaWdodEluVmlzdWFsT3JkZXIsIGxpbmVC
b3hMb2dpY2FsVG9wTGVmdC55KCksIGRpc3BsYXlCb3hUcmVlLCBib3hlcywgbGluZUJveCk7CiAg
ICAgICAgIH07CiAgICAgICAgIGFkanVzdFZpc3VhbEdlb21ldHJ5V2l0aElubGluZUJveGVzKCk7
CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250
ZXh0cy9pbmxpbmUvSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVEaXNwbGF5Q29udGVudEJ1
aWxkZXIuaAppbmRleCBhZjcwMjY1YjA1ZWFhYjZjZGJjNjdhNjk2YzgwYjU0YTZkYjMyYjBlLi41
YzQyNDEzYjBiNzdlMGQ2ODhhNTRkYTNkMjc5YjI4NTYzZDMzYzcwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVEaXNwbGF5
Q29udGVudEJ1aWxkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0Nv
bnRleHRzL2lubGluZS9JbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXIuaApAQCAtMzUsNyArMzUs
NyBAQCBuYW1lc3BhY2UgTGF5b3V0IHsKIAogc3RydWN0IEFuY2VzdG9yU3RhY2s7CiBjbGFzcyBD
b250YWluZXJCb3g7Ci1zdHJ1Y3QgRGlzcGxheUJveE5vZGU7CitzdHJ1Y3QgRGlzcGxheUJveFRy
ZWU7CiBjbGFzcyBJbmxpbmVGb3JtYXR0aW5nU3RhdGU7CiBjbGFzcyBMaW5lQm94OwogCkBAIC02
Miw4ICs2Miw4IEBAIHByaXZhdGU6CiAgICAgdm9pZCBhcHBlbmRJbmxpbmVEaXNwbGF5Qm94QXRC
aWRpQm91bmRhcnkoY29uc3QgQm94JiwgRGlzcGxheUJveGVzJik7CiAKICAgICB2b2lkIHNldElu
bGluZUJveEdlb21ldHJ5KGNvbnN0IEJveCYsIGNvbnN0IElubGluZVJlY3QmLCBib29sIGlzRmly
c3RJbmxpbmVCb3hGcmFnbWVudCk7Ci0gICAgdm9pZCBhZGp1c3RWaXN1YWxHZW9tZXRyeUZvckNo
aWxkTm9kZShjb25zdCBEaXNwbGF5Qm94Tm9kZSYsIElubGluZUxheW91dFVuaXQmIGFjY3VtdWxh
dGVkT2Zmc2V0LCBJbmxpbmVMYXlvdXRVbml0IGxpbmVCb3hMb2dpY2FsVG9wLCBEaXNwbGF5Qm94
ZXMmLCBjb25zdCBMaW5lQm94Jik7Ci0gICAgRGlzcGxheUJveE5vZGUmIGVuc3VyZURpc3BsYXlC
b3hGb3JDb250YWluZXIoY29uc3QgQ29udGFpbmVyQm94JiwgQW5jZXN0b3JTdGFjayYsIERpc3Bs
YXlCb3hlcyYpOworICAgIHZvaWQgYWRqdXN0VmlzdWFsR2VvbWV0cnlGb3JEaXNwbGF5Qm94KHNp
emVfdCBkaXNwbGF5Qm94Tm9kZUluZGV4LCBJbmxpbmVMYXlvdXRVbml0JiBhY2N1bXVsYXRlZE9m
ZnNldCwgSW5saW5lTGF5b3V0VW5pdCBsaW5lQm94TG9naWNhbFRvcCwgY29uc3QgRGlzcGxheUJv
eFRyZWUmLCBEaXNwbGF5Qm94ZXMmLCBjb25zdCBMaW5lQm94Jik7CisgICAgc2l6ZV90IGVuc3Vy
ZURpc3BsYXlCb3hGb3JDb250YWluZXIoY29uc3QgQ29udGFpbmVyQm94JiwgRGlzcGxheUJveFRy
ZWUmLCBBbmNlc3RvclN0YWNrJiwgRGlzcGxheUJveGVzJik7CiAKICAgICBjb25zdCBDb250YWlu
ZXJCb3gmIHJvb3QoKSBjb25zdCB7IHJldHVybiBtX2Zvcm1hdHRpbmdDb250ZXh0Um9vdDsgfQog
ICAgIElubGluZUZvcm1hdHRpbmdTdGF0ZSYgZm9ybWF0dGluZ1N0YXRlKCkgY29uc3QgeyByZXR1
cm4gbV9mb3JtYXR0aW5nU3RhdGU7IH0gCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>446727</attachid>
            <date>2021-12-10 07:46:01 -0800</date>
            <delta_ts>2021-12-10 08:21:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234110-20211210074600.patch</filename>
            <type>text/plain</type>
            <size>15284</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2ODEzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2M4MjgwNjM5NDZjMDA4
ZDE2NmQzNTUyMDUxOWQ3ZDIwNzFhZWZiMi4uNjM3MzA3YTVmMDhjZGE5NzBlMzBhNTk2ZTY3ODc1
NzQyMDgxODMyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDIxLTEyLTEwICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtJRkNdIFJlcGxhY2Ug
VmVjdG9yPHN0ZDo6dW5pcXVlX3B0cjxEaXNwbGF5Qm94Tm9kZT4gd2l0aCBWZWN0b3I8RGlzcGxh
eUJveFRyZWU6Ok5vZGU+CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMzQxMTAKKworICAgICAgICBSZXZpZXdlZCBieSBBbnR0aSBLb2l2aXN0by4KKwor
ICAgICAgICBUaGlzIHBhdGNoIHN3aXRjaGVzIG92ZXIgZnJvbSB1c2luZyBEaXNwbGF5Qm94Tm9k
ZSogaW4gQW5jZXN0b3JTdGFjayB0byBzaW1wbGUgaW5kZXhlcyB0byBjb250YWluIGhlYXAgYWxs
b2NhdGlvbnMuCisKKyAgICAgICAgKiBsYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9J
bmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0
OjpEaXNwbGF5Qm94VHJlZTo6RGlzcGxheUJveFRyZWUpOgorICAgICAgICAoV2ViQ29yZTo6TGF5
b3V0OjpEaXNwbGF5Qm94VHJlZTo6aGFzSW5saW5lQm94IGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6OkxheW91dDo6RGlzcGxheUJveFRyZWU6OnJvb3QgY29uc3QpOgorICAgICAgICAoV2ViQ29y
ZTo6TGF5b3V0OjpEaXNwbGF5Qm94VHJlZTo6YXQpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0
OjpEaXNwbGF5Qm94VHJlZTo6YXQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpE
aXNwbGF5Qm94VHJlZTo6YXBwZW5kKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6QW5jZXN0
b3JTdGFjazo6dW53aW5kKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6QW5jZXN0b3JTdGFj
azo6cHVzaCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OmNyZWF0ZWREaXNwbGF5Qm94Tm9k
ZUZvckNvbnRhaW5lckJveEFuZFB1c2hUb0FuY2VzdG9yU3RhY2spOgorICAgICAgICAoV2ViQ29y
ZTo6TGF5b3V0OjpJbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXI6OmVuc3VyZURpc3BsYXlCb3hG
b3JDb250YWluZXIpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVEaXNwbGF5Q29u
dGVudEJ1aWxkZXI6OmFkanVzdFZpc3VhbEdlb21ldHJ5Rm9yRGlzcGxheUJveCk6CisgICAgICAg
IChXZWJDb3JlOjpMYXlvdXQ6OklubGluZURpc3BsYXlDb250ZW50QnVpbGRlcjo6cHJvY2Vzc0Jp
ZGlDb250ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6RGlzcGxheUJveE5vZGU6OkRp
c3BsYXlCb3hOb2RlKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6RGlzcGxh
eUJveE5vZGU6OmFwcGVuZENoaWxkKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkxheW91
dDo6SW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyOjphZGp1c3RWaXN1YWxHZW9tZXRyeUZvckNo
aWxkTm9kZSk6IERlbGV0ZWQuCisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9p
bmxpbmUvSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyLmg6CisKIDIwMjEtMTItMDkgIFJvYmVy
dCBKZW5uZXIgIDxKZW5uZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJldmVy
dGluZyByMjg2NzU0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRp
bmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZURpc3BsYXlD
b250ZW50QnVpbGRlci5jcHAKaW5kZXggMGNkMDhmMzRhZTU5Zjc1NmRiYWZhN2IwODBlNjhjZjc3
NjIzYTM5OS4uZGNlMTk1MzE5ZWMzZDg1OGRjODE5ZmI3ZTM4MTA0ZTA2OTVlZWY5NiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5s
aW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
Zm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXIuY3Bw
CkBAIC0zNDAsMjggKzM0MCw0NSBAQCB2b2lkIElubGluZURpc3BsYXlDb250ZW50QnVpbGRlcjo6
cHJvY2Vzc05vbkJpZGlDb250ZW50KGNvbnN0IExpbmVCdWlsZGVyOjpMaW5lQwogICAgIH0KIH0K
IAotc3RydWN0IERpc3BsYXlCb3hOb2RlIHsKLSAgICBXVEZfTUFLRV9TVFJVQ1RfRkFTVF9BTExP
Q0FURUQ7Ci0gICAgRGlzcGxheUJveE5vZGUoKSA9IGRlZmF1bHQ7Ci0gICAgRGlzcGxheUJveE5v
ZGUoc2l6ZV90IGluZGV4LCBEaXNwbGF5Qm94Tm9kZSogcGFyZW50KQotICAgICAgICA6IGluZGV4
KGluZGV4KQotICAgICAgICAsIHBhcmVudChwYXJlbnQpCi0gICAgICAgIHsKLSAgICAgICAgfQor
c3RydWN0IERpc3BsYXlCb3hUcmVlIHsKK3B1YmxpYzoKKyAgICBzdHJ1Y3QgTm9kZSB7CisgICAg
ICAgIC8vIE5vZGUncyBwYXJlbnQgaW5kZXggaW4gbV9kaXNwbGF5Qm94Tm9kZXMuCisgICAgICAg
IHN0ZDo6b3B0aW9uYWw8c2l6ZV90PiBwYXJlbnRJbmRleDsKKyAgICAgICAgLy8gQXNzb2NpYXRl
ZCBkaXNwbGF5IGJveCBpbmRleCBpbiBEaXNwbGF5Qm94ZXMuCisgICAgICAgIHNpemVfdCBkaXNw
bGF5Qm94SW5kZXggeyAwIH07CisgICAgICAgIC8vIENoaWxkIGluZGV4ZXMgaW4gbV9kaXNwbGF5
Qm94Tm9kZXMuCisgICAgICAgIFZlY3RvcjxzaXplX3Q+IGNoaWxkcmVuIHsgfTsKKyAgICB9Owor
CisgICAgRGlzcGxheUJveFRyZWUoKQorICAgIHsKKyAgICAgICAgbV9kaXNwbGF5Qm94Tm9kZXMu
YXBwZW5kKHsgfSk7CisgICAgfQogCi0gICAgdm9pZCBhcHBlbmRDaGlsZChzaXplX3QgY2hpbGRJ
bmRleCkgeyBjaGlsZHJlbi5hcHBlbmQobWFrZVVuaXF1ZTxEaXNwbGF5Qm94Tm9kZT4oY2hpbGRJ
bmRleCwgdGhpcykpOyB9CisgICAgYm9vbCBoYXNJbmxpbmVCb3goKSBjb25zdCB7IHJldHVybiBt
X2Rpc3BsYXlCb3hOb2Rlcy5zaXplKCkgPiAxOyB9CisgICAgY29uc3QgTm9kZSYgcm9vdCgpIGNv
bnN0IHsgcmV0dXJuIG1fZGlzcGxheUJveE5vZGVzLmZpcnN0KCk7IH0KKyAgICBOb2RlJiBhdChz
aXplX3QgaW5kZXgpIHsgcmV0dXJuIG1fZGlzcGxheUJveE5vZGVzW2luZGV4XTsgfQorICAgIGNv
bnN0IE5vZGUmIGF0KHNpemVfdCBpbmRleCkgY29uc3QgeyByZXR1cm4gbV9kaXNwbGF5Qm94Tm9k
ZXNbaW5kZXhdOyB9CiAKLSAgICBzaXplX3QgaW5kZXggeyAwIH07Ci0gICAgRGlzcGxheUJveE5v
ZGUqIHBhcmVudCB7IG51bGxwdHIgfTsKLSAgICBWZWN0b3I8c3RkOjp1bmlxdWVfcHRyPERpc3Bs
YXlCb3hOb2RlPj4gY2hpbGRyZW47CisgICAgc2l6ZV90IGFwcGVuZChzaXplX3QgcGFyZW50Tm9k
ZUluZGV4LCBzaXplX3QgY2hpbGREaXNwbGF5Qm94SW5kZXgpCisgICAgeworICAgICAgICBhdXRv
IGNoaWxkRGlzcGxheUJveE5vZGVJbmRleCA9IG1fZGlzcGxheUJveE5vZGVzLnNpemUoKTsKKyAg
ICAgICAgbV9kaXNwbGF5Qm94Tm9kZXMuYXBwZW5kKHsgcGFyZW50Tm9kZUluZGV4LCBjaGlsZERp
c3BsYXlCb3hJbmRleCB9KTsKKyAgICAgICAgYXQocGFyZW50Tm9kZUluZGV4KS5jaGlsZHJlbi5h
cHBlbmQoY2hpbGREaXNwbGF5Qm94Tm9kZUluZGV4KTsKKyAgICAgICAgcmV0dXJuIGNoaWxkRGlz
cGxheUJveE5vZGVJbmRleDsKKyAgICB9CisKK3ByaXZhdGU6CisgICAgVmVjdG9yPE5vZGUsIDEw
PiBtX2Rpc3BsYXlCb3hOb2RlczsKIH07CiAKIHN0cnVjdCBBbmNlc3RvclN0YWNrIHsKLSAgICBE
aXNwbGF5Qm94Tm9kZSogdW53aW5kKGNvbnN0IENvbnRhaW5lckJveCYgY29udGFpbmVyQm94KQor
ICAgIHN0ZDo6b3B0aW9uYWw8c2l6ZV90PiB1bndpbmQoY29uc3QgQ29udGFpbmVyQm94JiBjb250
YWluZXJCb3gpCiAgICAgewogICAgICAgICAvLyBVbndpbmQgdGhlIHN0YWNrIGFsbCB0aGUgd2F5
IHRvIGNvbnRhaW5lciBib3guCiAgICAgICAgIGlmICghbV9zZXQuY29udGFpbnMoJmNvbnRhaW5l
ckJveCkpCi0gICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAgICAgICAgIHJldHVybiB7
IH07CiAgICAgICAgIHdoaWxlIChtX3NldC5sYXN0KCkgIT0gJmNvbnRhaW5lckJveCkgewogICAg
ICAgICAgICAgbV9zdGFjay5yZW1vdmVMYXN0KCk7CiAgICAgICAgICAgICBtX3NldC5yZW1vdmVM
YXN0KCk7CkBAIC0zNzEsNDQgKzM4OCw0MiBAQCBzdHJ1Y3QgQW5jZXN0b3JTdGFjayB7CiAgICAg
ICAgIHJldHVybiBtX3N0YWNrLmxhc3QoKTsKICAgICB9CiAKLSAgICB2b2lkIHB1c2goRGlzcGxh
eUJveE5vZGUmIGRpc3BsYXlCb3hOb2RlLCBjb25zdCBDb250YWluZXJCb3gmIGNvbnRhaW5lckJv
eCkKKyAgICB2b2lkIHB1c2goc2l6ZV90IGRpc3BsYXlCb3hOb2RlSW5kZXhGb3JDb250YWluZXJC
b3gsIGNvbnN0IENvbnRhaW5lckJveCYgY29udGFpbmVyQm94KQogICAgIHsKLSAgICAgICAgbV9z
dGFjay5hcHBlbmQoJmRpc3BsYXlCb3hOb2RlKTsKKyAgICAgICAgbV9zdGFjay5hcHBlbmQoZGlz
cGxheUJveE5vZGVJbmRleEZvckNvbnRhaW5lckJveCk7CiAgICAgICAgIEFTU0VSVCghbV9zZXQu
Y29udGFpbnMoJmNvbnRhaW5lckJveCkpOwogICAgICAgICBtX3NldC5hZGQoJmNvbnRhaW5lckJv
eCk7CiAgICAgfQogCiBwcml2YXRlOgotICAgIFZlY3RvcjxEaXNwbGF5Qm94Tm9kZSo+IG1fc3Rh
Y2s7CisgICAgVmVjdG9yPHNpemVfdD4gbV9zdGFjazsKICAgICBMaXN0SGFzaFNldDxjb25zdCBD
b250YWluZXJCb3gqPiBtX3NldDsKIH07CiAKLXN0YXRpYyBpbmxpbmUgRGlzcGxheUJveE5vZGUm
IGNyZWF0ZWREaXNwbGF5Qm94Tm9kZUZvckNvbnRhaW5lckJveEFuZFB1c2hUb0FuY2VzdG9yU3Rh
Y2soY29uc3QgQ29udGFpbmVyQm94JiBjb250YWluZXJCb3gsIHNpemVfdCBkaXNwbGF5Qm94SW5k
ZXgsIERpc3BsYXlCb3hOb2RlJiBwYXJlbnREaXNwbGF5Qm94Tm9kZSwgQW5jZXN0b3JTdGFjayYg
YW5jZXN0b3JTdGFjaykKK3N0YXRpYyBpbmxpbmUgc2l6ZV90IGNyZWF0ZWREaXNwbGF5Qm94Tm9k
ZUZvckNvbnRhaW5lckJveEFuZFB1c2hUb0FuY2VzdG9yU3RhY2soY29uc3QgQ29udGFpbmVyQm94
JiBjb250YWluZXJCb3gsIHNpemVfdCBkaXNwbGF5Qm94SW5kZXgsIHNpemVfdCBwYXJlbnREaXNw
bGF5Qm94Tm9kZUluZGV4LCBEaXNwbGF5Qm94VHJlZSYgZGlzcGxheUJveFRyZWUsIEFuY2VzdG9y
U3RhY2smIGFuY2VzdG9yU3RhY2spCiB7Ci0gICAgcGFyZW50RGlzcGxheUJveE5vZGUuYXBwZW5k
Q2hpbGQoZGlzcGxheUJveEluZGV4KTsKLSAgICBhdXRvJiBkaXNwbGF5Qm94Tm9kZSA9ICpwYXJl
bnREaXNwbGF5Qm94Tm9kZS5jaGlsZHJlbi5sYXN0KCk7Ci0gICAgYW5jZXN0b3JTdGFjay5wdXNo
KGRpc3BsYXlCb3hOb2RlLCBjb250YWluZXJCb3gpOwotICAgIHJldHVybiBkaXNwbGF5Qm94Tm9k
ZTsKKyAgICBhdXRvIGRpc3BsYXlCb3hOb2RlSW5kZXggPSBkaXNwbGF5Qm94VHJlZS5hcHBlbmQo
cGFyZW50RGlzcGxheUJveE5vZGVJbmRleCwgZGlzcGxheUJveEluZGV4KTsKKyAgICBhbmNlc3Rv
clN0YWNrLnB1c2goZGlzcGxheUJveE5vZGVJbmRleCwgY29udGFpbmVyQm94KTsKKyAgICByZXR1
cm4gZGlzcGxheUJveE5vZGVJbmRleDsKIH0KIAotRGlzcGxheUJveE5vZGUmIElubGluZURpc3Bs
YXlDb250ZW50QnVpbGRlcjo6ZW5zdXJlRGlzcGxheUJveEZvckNvbnRhaW5lcihjb25zdCBDb250
YWluZXJCb3gmIGNvbnRhaW5lckJveCwgQW5jZXN0b3JTdGFjayYgYW5jZXN0b3JTdGFjaywgRGlz
cGxheUJveGVzJiBib3hlcykKK3NpemVfdCBJbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXI6OmVu
c3VyZURpc3BsYXlCb3hGb3JDb250YWluZXIoY29uc3QgQ29udGFpbmVyQm94JiBjb250YWluZXJC
b3gsIERpc3BsYXlCb3hUcmVlJiBkaXNwbGF5Qm94VHJlZSwgQW5jZXN0b3JTdGFjayYgYW5jZXN0
b3JTdGFjaywgRGlzcGxheUJveGVzJiBib3hlcykKIHsKICAgICBBU1NFUlQoY29udGFpbmVyQm94
LmlzSW5saW5lQm94KCkgfHwgJmNvbnRhaW5lckJveCA9PSAmcm9vdCgpKTsKLSAgICBpZiAoYXV0
byogbG93ZXN0Q29tbW9uQW5jZXN0b3IgPSBhbmNlc3RvclN0YWNrLnVud2luZChjb250YWluZXJC
b3gpKQotICAgICAgICByZXR1cm4gKmxvd2VzdENvbW1vbkFuY2VzdG9yOwotICAgIGF1dG8mIGVu
Y2xvc2luZ0Rpc3BsYXlCb3hOb2RlRm9yQ29udGFpbmVyID0gZW5zdXJlRGlzcGxheUJveEZvckNv
bnRhaW5lcihjb250YWluZXJCb3gucGFyZW50KCksIGFuY2VzdG9yU3RhY2ssIGJveGVzKTsKKyAg
ICBpZiAoYXV0byBsb3dlc3RDb21tb25BbmNlc3RvckluZGV4ID0gYW5jZXN0b3JTdGFjay51bndp
bmQoY29udGFpbmVyQm94KSkKKyAgICAgICAgcmV0dXJuICpsb3dlc3RDb21tb25BbmNlc3Rvcklu
ZGV4OworICAgIGF1dG8gZW5jbG9zaW5nRGlzcGxheUJveE5vZGVJbmRleEZvckNvbnRhaW5lciA9
IGVuc3VyZURpc3BsYXlCb3hGb3JDb250YWluZXIoY29udGFpbmVyQm94LnBhcmVudCgpLCBkaXNw
bGF5Qm94VHJlZSwgYW5jZXN0b3JTdGFjaywgYm94ZXMpOwogICAgIGFwcGVuZElubGluZURpc3Bs
YXlCb3hBdEJpZGlCb3VuZGFyeShjb250YWluZXJCb3gsIGJveGVzKTsKLSAgICByZXR1cm4gY3Jl
YXRlZERpc3BsYXlCb3hOb2RlRm9yQ29udGFpbmVyQm94QW5kUHVzaFRvQW5jZXN0b3JTdGFjayhj
b250YWluZXJCb3gsIGJveGVzLnNpemUoKSAtIDEsIGVuY2xvc2luZ0Rpc3BsYXlCb3hOb2RlRm9y
Q29udGFpbmVyLCBhbmNlc3RvclN0YWNrKTsKKyAgICByZXR1cm4gY3JlYXRlZERpc3BsYXlCb3hO
b2RlRm9yQ29udGFpbmVyQm94QW5kUHVzaFRvQW5jZXN0b3JTdGFjayhjb250YWluZXJCb3gsIGJv
eGVzLnNpemUoKSAtIDEsIGVuY2xvc2luZ0Rpc3BsYXlCb3hOb2RlSW5kZXhGb3JDb250YWluZXIs
IGRpc3BsYXlCb3hUcmVlLCBhbmNlc3RvclN0YWNrKTsKIH0KIAotdm9pZCBJbmxpbmVEaXNwbGF5
Q29udGVudEJ1aWxkZXI6OmFkanVzdFZpc3VhbEdlb21ldHJ5Rm9yQ2hpbGROb2RlKGNvbnN0IERp
c3BsYXlCb3hOb2RlJiBkaXNwbGF5Qm94Tm9kZSwgSW5saW5lTGF5b3V0VW5pdCYgY29udGVudFJp
Z2h0SW5WaXN1YWxPcmRlciwgSW5saW5lTGF5b3V0VW5pdCBsaW5lQm94TG9naWNhbFRvcCwgRGlz
cGxheUJveGVzJiBib3hlcywgY29uc3QgTGluZUJveCYgbGluZUJveCkKK3ZvaWQgSW5saW5lRGlz
cGxheUNvbnRlbnRCdWlsZGVyOjphZGp1c3RWaXN1YWxHZW9tZXRyeUZvckRpc3BsYXlCb3goc2l6
ZV90IGRpc3BsYXlCb3hOb2RlSW5kZXgsIElubGluZUxheW91dFVuaXQmIGNvbnRlbnRSaWdodElu
VmlzdWFsT3JkZXIsIElubGluZUxheW91dFVuaXQgbGluZUJveExvZ2ljYWxUb3AsIGNvbnN0IERp
c3BsYXlCb3hUcmVlJiBkaXNwbGF5Qm94VHJlZSwgRGlzcGxheUJveGVzJiBib3hlcywgY29uc3Qg
TGluZUJveCYgbGluZUJveCkKIHsKICAgICAvLyBOb24taW5saW5lIGJveCBkaXNwbGF5IGJveGVz
IGp1c3QgbmVlZCBhIGhvcml6b250YWwgYWRqdXN0bWVudCB3aGlsZQogICAgIC8vIGlubGluZSBi
b3ggdHlwZSBvZiBkaXNwbGF5IGJveGVzIG5lZWQKICAgICAvLyAxLiBob3Jpem9udGFsIGFkanVz
dG1lbnQgYW5kIG1hcmdpbi9ib3JkZXIvcGFkZGluZyBzdGFydCBvZmZzZXR0aW5nIG9uIHRoZSBm
aXJzdCBib3gKICAgICAvLyAyLiByaWdodCBlZGdlIGNvbXB1dGF0aW9uIGluY2x1ZGluZyBkZXNj
ZW5kYW50IGNvbnRlbnQgd2lkdGggYW5kIG1hcmdpbi9ib3JkZXIvcGFkZGluZyBlbmQgb2Zmc2V0
dGluZyBvbiB0aGUgbGFzdCBib3gKLSAgICBBU1NFUlQoZGlzcGxheUJveE5vZGUuaW5kZXgpOwot
ICAgIGF1dG8mIGRpc3BsYXlCb3ggPSBib3hlc1tkaXNwbGF5Qm94Tm9kZS5pbmRleF07CisgICAg
YXV0byYgZGlzcGxheUJveCA9IGJveGVzW2Rpc3BsYXlCb3hUcmVlLmF0KGRpc3BsYXlCb3hOb2Rl
SW5kZXgpLmRpc3BsYXlCb3hJbmRleF07CiAgICAgYXV0byYgbGF5b3V0Qm94ID0gZGlzcGxheUJv
eC5sYXlvdXRCb3goKTsKIAogICAgIGlmICghZGlzcGxheUJveC5pc05vblJvb3RJbmxpbmVCb3go
KSkgewpAQCAtNDMzLDggKzQ0OCw4IEBAIHZvaWQgSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVy
OjphZGp1c3RWaXN1YWxHZW9tZXRyeUZvckNoaWxkTm9kZShjb25zdCBEaXNwbGF5CiAgICAgfTsK
ICAgICBiZWZvcmVJbmxpbmVCb3hDb250ZW50KCk7CiAKLSAgICBmb3IgKGF1dG8mIGNoaWxkRGlz
cGxheUJveE5vZGUgOiBkaXNwbGF5Qm94Tm9kZS5jaGlsZHJlbikKLSAgICAgICAgYWRqdXN0Vmlz
dWFsR2VvbWV0cnlGb3JDaGlsZE5vZGUoKmNoaWxkRGlzcGxheUJveE5vZGUsIGNvbnRlbnRSaWdo
dEluVmlzdWFsT3JkZXIsIGxpbmVCb3hMb2dpY2FsVG9wLCBib3hlcywgbGluZUJveCk7CisgICAg
Zm9yIChhdXRvIGNoaWxkRGlzcGxheUJveE5vZGVJbmRleCA6IGRpc3BsYXlCb3hUcmVlLmF0KGRp
c3BsYXlCb3hOb2RlSW5kZXgpLmNoaWxkcmVuKQorICAgICAgICBhZGp1c3RWaXN1YWxHZW9tZXRy
eUZvckRpc3BsYXlCb3goY2hpbGREaXNwbGF5Qm94Tm9kZUluZGV4LCBjb250ZW50UmlnaHRJblZp
c3VhbE9yZGVyLCBsaW5lQm94TG9naWNhbFRvcCwgZGlzcGxheUJveFRyZWUsIGJveGVzLCBsaW5l
Qm94KTsKIAogICAgIGF1dG8gYWZ0ZXJJbmxpbmVCb3hDb250ZW50ID0gWyZdIHsKICAgICAgICAg
aWYgKCFkaXNwbGF5Qm94LmlzTGFzdEZvckxheW91dEJveCgpKQpAQCAtNDYzLDggKzQ3OCw4IEBA
IHZvaWQgSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyOjpwcm9jZXNzQmlkaUNvbnRlbnQoY29u
c3QgTGluZUJ1aWxkZXI6OkxpbmVDb250CiAgICAgQVNTRVJUKGxpbmVDb250ZW50LnZpc3VhbE9y
ZGVyTGlzdC5zaXplKCkgPD0gbGluZUNvbnRlbnQucnVucy5zaXplKCkpOwogCiAgICAgQW5jZXN0
b3JTdGFjayBhbmNlc3RvclN0YWNrOwotICAgIERpc3BsYXlCb3hOb2RlIHJvb3REaXNwbGF5Qm94
Tm9kZSA9IHsgfTsKLSAgICBhbmNlc3RvclN0YWNrLnB1c2gocm9vdERpc3BsYXlCb3hOb2RlLCBy
b290KCkpOworICAgIGF1dG8gZGlzcGxheUJveFRyZWUgPSBEaXNwbGF5Qm94VHJlZSB7IH07Cisg
ICAgYW5jZXN0b3JTdGFjay5wdXNoKHsgfSwgcm9vdCgpKTsKIAogICAgIGF1dG8gY29udGVudFN0
YXJ0SW5WaXN1YWxPcmRlciA9IElubGluZUxheW91dFVuaXQgeyB9OwogICAgIGF1dG8gY3JlYXRl
RGlzcGxheUJveGVzSW5WaXN1YWxPcmRlciA9IFsmXSB7CkBAIC00OTUsMjQgKzUxMCwyNCBAQCB2
b2lkIElubGluZURpc3BsYXlDb250ZW50QnVpbGRlcjo6cHJvY2Vzc0JpZGlDb250ZW50KGNvbnN0
IExpbmVCdWlsZGVyOjpMaW5lQ29udAogICAgICAgICAgICAgICAgIHJldHVybiBsb2dpY2FsbFJl
Y3Q7CiAgICAgICAgICAgICB9OwogCi0gICAgICAgICAgICBhdXRvJiBwYXJlbnREaXNwbGF5Qm94
Tm9kZSA9IGVuc3VyZURpc3BsYXlCb3hGb3JDb250YWluZXIobGF5b3V0Qm94LnBhcmVudCgpLCBh
bmNlc3RvclN0YWNrLCBib3hlcyk7CisgICAgICAgICAgICBhdXRvIHBhcmVudERpc3BsYXlCb3hO
b2RlSW5kZXggPSBlbnN1cmVEaXNwbGF5Qm94Rm9yQ29udGFpbmVyKGxheW91dEJveC5wYXJlbnQo
KSwgZGlzcGxheUJveFRyZWUsIGFuY2VzdG9yU3RhY2ssIGJveGVzKTsKICAgICAgICAgICAgIGlm
IChsaW5lUnVuLmlzVGV4dCgpKSB7CiAgICAgICAgICAgICAgICAgYXV0byB2aXN1YWxSZWN0ID0g
dmlzdWFsUmVjdFJlbGF0aXZlVG9Sb290KGxpbmVCb3gubG9naWNhbFJlY3RGb3JUZXh0UnVuKGxp
bmVSdW4pKTsKICAgICAgICAgICAgICAgICBhcHBlbmRUZXh0RGlzcGxheUJveChsaW5lUnVuLCB2
aXN1YWxSZWN0LCBib3hlcyk7CiAgICAgICAgICAgICAgICAgY29udGVudFJpZ2h0SW5WaXN1YWxP
cmRlciArPSB2aXN1YWxSZWN0LndpZHRoKCk7Ci0gICAgICAgICAgICAgICAgcGFyZW50RGlzcGxh
eUJveE5vZGUuYXBwZW5kQ2hpbGQoYm94ZXMuc2l6ZSgpIC0gMSk7CisgICAgICAgICAgICAgICAg
ZGlzcGxheUJveFRyZWUuYXBwZW5kKHBhcmVudERpc3BsYXlCb3hOb2RlSW5kZXgsIGJveGVzLnNp
emUoKSAtIDEpOwogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgfQogICAg
ICAgICAgICAgaWYgKGxpbmVSdW4uaXNTb2Z0TGluZUJyZWFrKCkpIHsKICAgICAgICAgICAgICAg
ICBBU1NFUlQoIXZpc3VhbFJlY3RSZWxhdGl2ZVRvUm9vdChsaW5lQm94LmxvZ2ljYWxSZWN0Rm9y
VGV4dFJ1bihsaW5lUnVuKSkud2lkdGgoKSk7CiAgICAgICAgICAgICAgICAgYXBwZW5kU29mdExp
bmVCcmVha0Rpc3BsYXlCb3gobGluZVJ1biwgdmlzdWFsUmVjdFJlbGF0aXZlVG9Sb290KGxpbmVC
b3gubG9naWNhbFJlY3RGb3JUZXh0UnVuKGxpbmVSdW4pKSwgYm94ZXMpOwotICAgICAgICAgICAg
ICAgIHBhcmVudERpc3BsYXlCb3hOb2RlLmFwcGVuZENoaWxkKGJveGVzLnNpemUoKSAtIDEpOwor
ICAgICAgICAgICAgICAgIGRpc3BsYXlCb3hUcmVlLmFwcGVuZChwYXJlbnREaXNwbGF5Qm94Tm9k
ZUluZGV4LCBib3hlcy5zaXplKCkgLSAxKTsKICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAg
ICAgICAgICAgIH0KICAgICAgICAgICAgIGlmIChsaW5lUnVuLmlzSGFyZExpbmVCcmVhaygpKSB7
CiAgICAgICAgICAgICAgICAgQVNTRVJUKCF2aXN1YWxSZWN0UmVsYXRpdmVUb1Jvb3QobGluZUJv
eC5sb2dpY2FsUmVjdEZvckxpbmVCcmVha0JveChsYXlvdXRCb3gpKS53aWR0aCgpKTsKICAgICAg
ICAgICAgICAgICBhcHBlbmRIYXJkTGluZUJyZWFrRGlzcGxheUJveChsaW5lUnVuLCB2aXN1YWxS
ZWN0UmVsYXRpdmVUb1Jvb3QobGluZUJveC5sb2dpY2FsUmVjdEZvckxpbmVCcmVha0JveChsYXlv
dXRCb3gpKSwgYm94ZXMpOwotICAgICAgICAgICAgICAgIHBhcmVudERpc3BsYXlCb3hOb2RlLmFw
cGVuZENoaWxkKGJveGVzLnNpemUoKSAtIDEpOworICAgICAgICAgICAgICAgIGRpc3BsYXlCb3hU
cmVlLmFwcGVuZChwYXJlbnREaXNwbGF5Qm94Tm9kZUluZGV4LCBib3hlcy5zaXplKCkgLSAxKTsK
ICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGlm
IChsaW5lUnVuLmlzQm94KCkpIHsKQEAgLTUyMSwxMiArNTM2LDEyIEBAIHZvaWQgSW5saW5lRGlz
cGxheUNvbnRlbnRCdWlsZGVyOjpwcm9jZXNzQmlkaUNvbnRlbnQoY29uc3QgTGluZUJ1aWxkZXI6
OkxpbmVDb250CiAgICAgICAgICAgICAgICAgdmlzdWFsUmVjdC5tb3ZlSG9yaXpvbnRhbGx5KGJv
eEdlb21ldHJ5Lm1hcmdpblN0YXJ0KCkpOwogICAgICAgICAgICAgICAgIGFwcGVuZEF0b21pY0lu
bGluZUxldmVsRGlzcGxheUJveChsaW5lUnVuLCB2aXN1YWxSZWN0LCBib3hlcyk7CiAgICAgICAg
ICAgICAgICAgY29udGVudFJpZ2h0SW5WaXN1YWxPcmRlciArPSBib3hHZW9tZXRyeS5tYXJnaW5T
dGFydCgpICsgdmlzdWFsUmVjdC53aWR0aCgpICsgYm94R2VvbWV0cnkubWFyZ2luRW5kKCk7Ci0g
ICAgICAgICAgICAgICAgcGFyZW50RGlzcGxheUJveE5vZGUuYXBwZW5kQ2hpbGQoYm94ZXMuc2l6
ZSgpIC0gMSk7CisgICAgICAgICAgICAgICAgZGlzcGxheUJveFRyZWUuYXBwZW5kKHBhcmVudERp
c3BsYXlCb3hOb2RlSW5kZXgsIGJveGVzLnNpemUoKSAtIDEpOwogICAgICAgICAgICAgICAgIGNv
bnRpbnVlOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgaWYgKGxpbmVSdW4uaXNJbmxpbmVC
b3hTdGFydCgpIHx8IGxpbmVSdW4uaXNMaW5lU3Bhbm5pbmdJbmxpbmVCb3hTdGFydCgpKSB7CiAg
ICAgICAgICAgICAgICAgYXBwZW5kSW5saW5lRGlzcGxheUJveEF0QmlkaUJvdW5kYXJ5KGxheW91
dEJveCwgYm94ZXMpOwotICAgICAgICAgICAgICAgIGNyZWF0ZWREaXNwbGF5Qm94Tm9kZUZvckNv
bnRhaW5lckJveEFuZFB1c2hUb0FuY2VzdG9yU3RhY2soZG93bmNhc3Q8Q29udGFpbmVyQm94Pihs
YXlvdXRCb3gpLCBib3hlcy5zaXplKCkgLSAxLCBwYXJlbnREaXNwbGF5Qm94Tm9kZSwgYW5jZXN0
b3JTdGFjayk7CisgICAgICAgICAgICAgICAgY3JlYXRlZERpc3BsYXlCb3hOb2RlRm9yQ29udGFp
bmVyQm94QW5kUHVzaFRvQW5jZXN0b3JTdGFjayhkb3duY2FzdDxDb250YWluZXJCb3g+KGxheW91
dEJveCksIGJveGVzLnNpemUoKSAtIDEsIHBhcmVudERpc3BsYXlCb3hOb2RlSW5kZXgsIGRpc3Bs
YXlCb3hUcmVlLCBhbmNlc3RvclN0YWNrKTsKICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAg
ICAgICAgICAgIH0KICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwpAQCAtNTM0LDcg
KzU0OSw3IEBAIHZvaWQgSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyOjpwcm9jZXNzQmlkaUNv
bnRlbnQoY29uc3QgTGluZUJ1aWxkZXI6OkxpbmVDb250CiAgICAgfTsKICAgICBjcmVhdGVEaXNw
bGF5Qm94ZXNJblZpc3VhbE9yZGVyKCk7CiAKLSAgICBpZiAoIXJvb3REaXNwbGF5Qm94Tm9kZS5j
aGlsZHJlbi5pc0VtcHR5KCkpIHsKKyAgICBpZiAoZGlzcGxheUJveFRyZWUuaGFzSW5saW5lQm94
KCkpIHsKICAgICAgICAgYXV0byBjb21wdXRlSXNGaXJzdElzTGFzdEJveCA9IFsmXSB7CiAgICAg
ICAgICAgICBIYXNoTWFwPGNvbnN0IEJveCosIHNpemVfdD4gbGFzdERpc3BsYXlCb3hJbmRleGVz
OwogICAgICAgICAgICAgQVNTRVJUKGJveGVzWzBdLmlzUm9vdElubGluZUJveCgpKTsKQEAgLTU1
Niw4ICs1NzEsOSBAQCB2b2lkIElubGluZURpc3BsYXlDb250ZW50QnVpbGRlcjo6cHJvY2Vzc0Jp
ZGlDb250ZW50KGNvbnN0IExpbmVCdWlsZGVyOjpMaW5lQ29udAogCiAgICAgICAgIGF1dG8gYWRq
dXN0VmlzdWFsR2VvbWV0cnlXaXRoSW5saW5lQm94ZXMgPSBbJl0gewogICAgICAgICAgICAgYXV0
byBjb250ZW50UmlnaHRJblZpc3VhbE9yZGVyID0gbGluZUJveExvZ2ljYWxUb3BMZWZ0LngoKSAr
IGNvbnRlbnRTdGFydEluVmlzdWFsT3JkZXI7Ci0gICAgICAgICAgICBmb3IgKGF1dG8mIGNoaWxk
RGlzcGxheUJveE5vZGUgOiByb290RGlzcGxheUJveE5vZGUuY2hpbGRyZW4pCi0gICAgICAgICAg
ICAgICAgYWRqdXN0VmlzdWFsR2VvbWV0cnlGb3JDaGlsZE5vZGUoKmNoaWxkRGlzcGxheUJveE5v
ZGUsIGNvbnRlbnRSaWdodEluVmlzdWFsT3JkZXIsIGxpbmVCb3hMb2dpY2FsVG9wTGVmdC55KCks
IGJveGVzLCBsaW5lQm94KTsKKworICAgICAgICAgICAgZm9yIChhdXRvIGNoaWxkRGlzcGxheUJv
eE5vZGVJbmRleCA6IGRpc3BsYXlCb3hUcmVlLnJvb3QoKS5jaGlsZHJlbikKKyAgICAgICAgICAg
ICAgICBhZGp1c3RWaXN1YWxHZW9tZXRyeUZvckRpc3BsYXlCb3goY2hpbGREaXNwbGF5Qm94Tm9k
ZUluZGV4LCBjb250ZW50UmlnaHRJblZpc3VhbE9yZGVyLCBsaW5lQm94TG9naWNhbFRvcExlZnQu
eSgpLCBkaXNwbGF5Qm94VHJlZSwgYm94ZXMsIGxpbmVCb3gpOwogICAgICAgICB9OwogICAgICAg
ICBhZGp1c3RWaXN1YWxHZW9tZXRyeVdpdGhJbmxpbmVCb3hlcygpOwogICAgIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGlu
ZURpc3BsYXlDb250ZW50QnVpbGRlci5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRp
bmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyLmgKaW5kZXggYWY3
MDI2NWIwNWVhYWI2Y2RiYzY3YTY5NmM4MGI1NGE2ZGIzMmIwZS4uNWM0MjQxM2IwYjc3ZTBkNjg4
YTU0ZGEzZDI3OWIyODU2M2QzM2M3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5s
aW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyLmgKQEAgLTM1LDcgKzM1LDcgQEAgbmFtZXNwYWNlIExh
eW91dCB7CiAKIHN0cnVjdCBBbmNlc3RvclN0YWNrOwogY2xhc3MgQ29udGFpbmVyQm94Owotc3Ry
dWN0IERpc3BsYXlCb3hOb2RlOworc3RydWN0IERpc3BsYXlCb3hUcmVlOwogY2xhc3MgSW5saW5l
Rm9ybWF0dGluZ1N0YXRlOwogY2xhc3MgTGluZUJveDsKIApAQCAtNjIsOCArNjIsOCBAQCBwcml2
YXRlOgogICAgIHZvaWQgYXBwZW5kSW5saW5lRGlzcGxheUJveEF0QmlkaUJvdW5kYXJ5KGNvbnN0
IEJveCYsIERpc3BsYXlCb3hlcyYpOwogCiAgICAgdm9pZCBzZXRJbmxpbmVCb3hHZW9tZXRyeShj
b25zdCBCb3gmLCBjb25zdCBJbmxpbmVSZWN0JiwgYm9vbCBpc0ZpcnN0SW5saW5lQm94RnJhZ21l
bnQpOwotICAgIHZvaWQgYWRqdXN0VmlzdWFsR2VvbWV0cnlGb3JDaGlsZE5vZGUoY29uc3QgRGlz
cGxheUJveE5vZGUmLCBJbmxpbmVMYXlvdXRVbml0JiBhY2N1bXVsYXRlZE9mZnNldCwgSW5saW5l
TGF5b3V0VW5pdCBsaW5lQm94TG9naWNhbFRvcCwgRGlzcGxheUJveGVzJiwgY29uc3QgTGluZUJv
eCYpOwotICAgIERpc3BsYXlCb3hOb2RlJiBlbnN1cmVEaXNwbGF5Qm94Rm9yQ29udGFpbmVyKGNv
bnN0IENvbnRhaW5lckJveCYsIEFuY2VzdG9yU3RhY2smLCBEaXNwbGF5Qm94ZXMmKTsKKyAgICB2
b2lkIGFkanVzdFZpc3VhbEdlb21ldHJ5Rm9yRGlzcGxheUJveChzaXplX3QgZGlzcGxheUJveE5v
ZGVJbmRleCwgSW5saW5lTGF5b3V0VW5pdCYgYWNjdW11bGF0ZWRPZmZzZXQsIElubGluZUxheW91
dFVuaXQgbGluZUJveExvZ2ljYWxUb3AsIGNvbnN0IERpc3BsYXlCb3hUcmVlJiwgRGlzcGxheUJv
eGVzJiwgY29uc3QgTGluZUJveCYpOworICAgIHNpemVfdCBlbnN1cmVEaXNwbGF5Qm94Rm9yQ29u
dGFpbmVyKGNvbnN0IENvbnRhaW5lckJveCYsIERpc3BsYXlCb3hUcmVlJiwgQW5jZXN0b3JTdGFj
ayYsIERpc3BsYXlCb3hlcyYpOwogCiAgICAgY29uc3QgQ29udGFpbmVyQm94JiByb290KCkgY29u
c3QgeyByZXR1cm4gbV9mb3JtYXR0aW5nQ29udGV4dFJvb3Q7IH0KICAgICBJbmxpbmVGb3JtYXR0
aW5nU3RhdGUmIGZvcm1hdHRpbmdTdGF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fZm9ybWF0dGluZ1N0
YXRlOyB9IAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>