<?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>298149</bug_id>
          
          <creation_ts>2025-08-30 07:42:52 -0700</creation_ts>
          <short_desc>[cleanup] Replace InlineFormattingUtils&apos;s previousLineState with enum class LineEndsWithLineBreak</short_desc>
          <delta_ts>2025-09-01 16:27:21 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>koivisto</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>2139873</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2025-08-30 07:42:52 -0700</bug_when>
    <thetext>ssia</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2139874</commentid>
    <comment_count>1</comment_count>
      <attachid>476566</attachid>
    <who name="alan">zalan</who>
    <bug_when>2025-08-30 07:45:57 -0700</bug_when>
    <thetext>Created attachment 476566
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2140111</commentid>
    <comment_count>2</comment_count>
      <attachid>476578</attachid>
    <who name="alan">zalan</who>
    <bug_when>2025-09-01 14:44:55 -0700</bug_when>
    <thetext>Created attachment 476578
[fast-cq]Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2140119</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2025-09-01 16:26:43 -0700</bug_when>
    <thetext>Committed 299411@main (d612fd95356b): &lt;https://commits.webkit.org/299411@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 476578.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2140120</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2025-09-01 16:27:21 -0700</bug_when>
    <thetext>&lt;rdar://problem/159626644&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>476566</attachid>
            <date>2025-08-30 07:45:57 -0700</date>
            <delta_ts>2025-09-01 14:44:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-298149-20250830074556.patch</filename>
            <type>text/plain</type>
            <size>18017</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSBiZGFiN2IzMTJhNjE3ZjU4MWZhYzNlYTMwYWEyOGMyMDVjZjUzMWU3IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJhcmFkbGF5IDx6YWxhbkBhcHBsZS5jb20+CkRhdGU6
IFNhdCwgMzAgQXVnIDIwMjUgMDc6NDM6MDQgLTA3MDAKU3ViamVjdDogW1BBVENIXSBbY2xlYW51
cF0gUmVwbGFjZSBJbmxpbmVGb3JtYXR0aW5nVXRpbHMncyBwcmV2aW91c0xpbmVTdGF0ZQogd2l0
aCBlbnVtIGNsYXNzIExpbmVFbmRzV2l0aExpbmVCcmVhawogaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTI5ODE0OQoKUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCgpQ
cmV2aW91c0xpbmVTdGF0ZSBpcyByYXRoZXIgdmFndWUuIEl0IHNpbXBseSBtZWFucyBzdGQ6Om9w
dGlvbmFsPExpbmVFbmRzV2l0aExpbmVCcmVhaz4uCgoqIFNvdXJjZS9XZWJDb3JlL2xheW91dC9m
b3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUNvbnRlbnRDb25zdHJhaW5lci5jcHA6CihX
ZWJDb3JlOjpMYXlvdXQ6OklubGluZUNvbnRlbnRDb25zdHJhaW5lcjo6aW5pdGlhbGl6ZSk6CihX
ZWJDb3JlOjpMYXlvdXQ6OklubGluZUNvbnRlbnRDb25zdHJhaW5lcjo6YmFsYW5jZVJhbmdlV2l0
aExpbmVSZXF1aXJlbWVudCk6CihXZWJDb3JlOjpMYXlvdXQ6OklubGluZUNvbnRlbnRDb25zdHJh
aW5lcjo6YmFsYW5jZVJhbmdlV2l0aE5vTGluZVJlcXVpcmVtZW50KToKKFdlYkNvcmU6OkxheW91
dDo6SW5saW5lQ29udGVudENvbnN0cmFpbmVyOjpwcmV0dGlmeVJhbmdlKToKKFdlYkNvcmU6Okxh
eW91dDo6SW5saW5lQ29udGVudENvbnN0cmFpbmVyOjpjb21wdXRlTGluZVdpZHRoc0Zyb21CcmVh
a3MgY29uc3QpOgooV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVDb250ZW50Q29uc3RyYWluZXI6OmNv
bXB1dGVNYXhUZXh0SW5kZW50IGNvbnN0KToKKFdlYkNvcmU6OkxheW91dDo6SW5saW5lQ29udGVu
dENvbnN0cmFpbmVyOjpjb21wdXRlVGV4dEluZGVudCBjb25zdCk6CiogU291cmNlL1dlYkNvcmUv
bGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lQ29udGVudENvbnN0cmFpbmVy
Lmg6CiogU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5s
aW5lRm9ybWF0dGluZ1V0aWxzLmNwcDoKKFdlYkNvcmU6OkxheW91dDo6SW5saW5lRm9ybWF0dGlu
Z1V0aWxzOjpjb21wdXRlZFRleHRJbmRlbnQgY29uc3QpOgoqIFNvdXJjZS9XZWJDb3JlL2xheW91
dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdVdGlscy5oOgoqIFNv
dXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVC
dWlsZGVyLmNwcDoKKFdlYkNvcmU6OkxheW91dDo6TGluZUJ1aWxkZXI6OmxheW91dElubGluZUNv
bnRlbnQpOgooV2ViQ29yZTo6TGF5b3V0OjpMaW5lQnVpbGRlcjo6aW5pdGlhbGl6ZSk6CiogU291
cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJ1
aWxkZXIuaDoKKiBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGlu
ZS9JbmxpbmVMaW5lVHlwZXMuaDoKLS0tCiAuLi4vaW5saW5lL0lubGluZUNvbnRlbnRDb25zdHJh
aW5lci5jcHAgICAgICAgfCAyOCArKysrKysrKystLS0tLS0tLS0tCiAuLi4vaW5saW5lL0lubGlu
ZUNvbnRlbnRDb25zdHJhaW5lci5oICAgICAgICAgfCAgMiArLQogLi4uL2lubGluZS9JbmxpbmVG
b3JtYXR0aW5nVXRpbHMuY3BwICAgICAgICAgIHwgMTMgKystLS0tLS0tCiAuLi4vaW5saW5lL0lu
bGluZUZvcm1hdHRpbmdVdGlscy5oICAgICAgICAgICAgfCAgMyArLQogLi4uL2lubGluZS9Jbmxp
bmVMaW5lQnVpbGRlci5jcHAgICAgICAgICAgICAgIHwgIDggKysrLS0tCiAuLi4vaW5saW5lL0lu
bGluZUxpbmVCdWlsZGVyLmggICAgICAgICAgICAgICAgfCAgMiArLQogLi4uL2lubGluZS9Jbmxp
bmVMaW5lVHlwZXMuaCAgICAgICAgICAgICAgICAgIHwgIDYgLS0tLQogNyBmaWxlcyBjaGFuZ2Vk
LCAyNSBpbnNlcnRpb25zKCspLCAzNyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVDb250ZW50Q29u
c3RyYWluZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9p
bmxpbmUvSW5saW5lQ29udGVudENvbnN0cmFpbmVyLmNwcAppbmRleCAwYzU3MWUyMTc0YmYuLmZl
OTJlYTA1NWJkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdD
b250ZXh0cy9pbmxpbmUvSW5saW5lQ29udGVudENvbnN0cmFpbmVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVDb250ZW50Q29u
c3RyYWluZXIuY3BwCkBAIC0yNzksNyArMjc5LDcgQEAgdm9pZCBJbmxpbmVDb250ZW50Q29uc3Ry
YWluZXI6OmluaXRpYWxpemUoKQogICAgICAgICBib29sIHVzZUZpcnN0TGluZVN0eWxlID0gIWxp
bmVJbmRleDsKICAgICAgICAgYm9vbCBpc0ZpcnN0TGluZUluQ2h1bmsgPSAhbGluZUluZGV4IHx8
IG1fb3JpZ2luYWxMaW5lRW5kc1dpdGhGb3JjZWRCcmVha1tsaW5lSW5kZXggLSAxXTsKICAgICAg
ICAgU2xpZGluZ1dpZHRoIGxpbmVTbGlkaW5nV2lkdGggeyAqdGhpcywgbV9pbmxpbmVJdGVtTGlz
dCwgbGluZUxheW91dFJlc3VsdC5pbmxpbmVJdGVtUmFuZ2Uuc3RhcnRJbmRleCgpLCBsaW5lTGF5
b3V0UmVzdWx0LmlubGluZUl0ZW1SYW5nZS5lbmRJbmRleCgpLCB1c2VGaXJzdExpbmVTdHlsZSwg
aXNGaXJzdExpbmVJbkNodW5rIH07Ci0gICAgICAgIGF1dG8gcHJldmlvdXNMaW5lRW5kc1dpdGhM
aW5lQnJlYWsgPSBsaW5lSW5kZXggPyAobV9vcmlnaW5hbExpbmVFbmRzV2l0aEZvcmNlZEJyZWFr
W2xpbmVJbmRleCAtIDFdID8gUHJldmlvdXNMaW5lU3RhdGU6OkVuZHNXaXRoTGluZUJyZWFrIDog
UHJldmlvdXNMaW5lU3RhdGU6OkRvZXNOb3RFbmRXaXRoTGluZUJyZWFrKSAgOiBQcmV2aW91c0xp
bmVTdGF0ZTo6Tm9QcmV2aW91c0xpbmU7CisgICAgICAgIGF1dG8gcHJldmlvdXNMaW5lRW5kc1dp
dGhMaW5lQnJlYWsgPSBsaW5lSW5kZXggPyBzdGQ6Om1ha2Vfb3B0aW9uYWwobV9vcmlnaW5hbExp
bmVFbmRzV2l0aEZvcmNlZEJyZWFrW2xpbmVJbmRleCAtIDFdID8gSW5saW5lRm9ybWF0dGluZ1V0
aWxzOjpMaW5lRW5kc1dpdGhMaW5lQnJlYWs6OlllcyA6IElubGluZUZvcm1hdHRpbmdVdGlsczo6
TGluZUVuZHNXaXRoTGluZUJyZWFrOjpObykgOiBzdGQ6Om51bGxvcHQ7CiAgICAgICAgIGF1dG8g
dGV4dEluZGVudCA9IG1faW5saW5lRm9ybWF0dGluZ0NvbnRleHQuZm9ybWF0dGluZ1V0aWxzKCku
Y29tcHV0ZWRUZXh0SW5kZW50KElubGluZUZvcm1hdHRpbmdVdGlsczo6SXNJbnRyaW5zaWNXaWR0
aE1vZGU6Ok5vLCBwcmV2aW91c0xpbmVFbmRzV2l0aExpbmVCcmVhaywgbV9tYXhpbXVtTGluZVdp
ZHRoQ29uc3RyYWludCk7CiAgICAgICAgIG1fb3JpZ2luYWxMaW5lQ29uc3RyYWludHMuYXBwZW5k
KGNvbXB1dGVMaW5lV2lkdGhGcm9tU2xpZGluZ1dpZHRoKHRleHRJbmRlbnQsIGxpbmVTbGlkaW5n
V2lkdGgpKTsKIApAQCAtMzgwLDkgKzM4MCw5IEBAIHN0ZDo6b3B0aW9uYWw8VmVjdG9yPExheW91
dFVuaXQ+PiBJbmxpbmVDb250ZW50Q29uc3RyYWluZXI6OmJhbGFuY2VSYW5nZVdpdGhMaW5lCiAg
ICAgYXV0byBudW1iZXJPZkJyZWFrT3Bwb3J0dW5pdGllcyA9IGJyZWFrT3Bwb3J0dW5pdGllcy5z
aXplKCk7CiAKICAgICAvLyBJbmRlbnRhdGlvbiBvZmZzZXRzCi0gICAgYXV0byBwcmV2aW91c0xp
bmVFbmRzV2l0aExpbmVCcmVhayA9IGlzRmlyc3RDaHVuayA/IFByZXZpb3VzTGluZVN0YXRlOjpO
b1ByZXZpb3VzTGluZSA6IFByZXZpb3VzTGluZVN0YXRlOjpFbmRzV2l0aExpbmVCcmVhazsKKyAg
ICBhdXRvIHByZXZpb3VzTGluZUVuZHNXaXRoTGluZUJyZWFrID0gaXNGaXJzdENodW5rID8gc3Rk
OjpudWxsb3B0IDogc3RkOjptYWtlX29wdGlvbmFsKElubGluZUZvcm1hdHRpbmdVdGlsczo6TGlu
ZUVuZHNXaXRoTGluZUJyZWFrOjpZZXMpOwogICAgIGF1dG8gZmlyc3RMaW5lVGV4dEluZGVudCA9
IGNvbXB1dGVUZXh0SW5kZW50KHByZXZpb3VzTGluZUVuZHNXaXRoTGluZUJyZWFrKTsKLSAgICBh
dXRvIHRleHRJbmRlbnQgPSBjb21wdXRlVGV4dEluZGVudChQcmV2aW91c0xpbmVTdGF0ZTo6RG9l
c05vdEVuZFdpdGhMaW5lQnJlYWspOworICAgIGF1dG8gdGV4dEluZGVudCA9IGNvbXB1dGVUZXh0
SW5kZW50KHsgSW5saW5lRm9ybWF0dGluZ1V0aWxzOjpMaW5lRW5kc1dpdGhMaW5lQnJlYWs6Ok5v
IH0pOwogICAgIC8vIHN0YXRlW2ldW2pdIGhvbGRzIHRoZSBvcHRpbWFsIHNldCBvZiBsaW5lIGJy
ZWFrcyB3aGVyZSB0aGUganRoIGxpbmUgYnJlYWsgKDEtaW5kZXhlZCkgaXMKICAgICAvLyByaWdo
dCBiZWZvcmUgbV9pbmxpbmVJdGVtTGlzdFticmVha09wcG9ydHVuaXRpZXNbaV1dLiAiT3B0aW1h
bCIgaW4gdGhpcyBjb250ZXh0IG1lYW5zIHRoZQogICAgIC8vIGxvd2VzdCBwb3NzaWJsZSBhY2N1
bXVsYXRlZCBjb3N0LgpAQCAtNDY5LDkgKzQ2OSw5IEBAIHN0ZDo6b3B0aW9uYWw8VmVjdG9yPExh
eW91dFVuaXQ+PiBJbmxpbmVDb250ZW50Q29uc3RyYWluZXI6OmJhbGFuY2VSYW5nZVdpdGhOb0xp
CiAgICAgYXV0byBudW1iZXJPZkJyZWFrT3Bwb3J0dW5pdGllcyA9IGJyZWFrT3Bwb3J0dW5pdGll
cy5zaXplKCk7CiAKICAgICAvLyBJbmRlbnRhdGlvbiBvZmZzZXRzCi0gICAgYXV0byBwcmV2aW91
c0xpbmVFbmRzV2l0aExpbmVCcmVhayA9IGlzRmlyc3RDaHVuayA/IFByZXZpb3VzTGluZVN0YXRl
OjpOb1ByZXZpb3VzTGluZSA6IFByZXZpb3VzTGluZVN0YXRlOjpFbmRzV2l0aExpbmVCcmVhazsK
KyAgICBhdXRvIHByZXZpb3VzTGluZUVuZHNXaXRoTGluZUJyZWFrID0gaXNGaXJzdENodW5rID8g
c3RkOjpudWxsb3B0IDogc3RkOjptYWtlX29wdGlvbmFsKElubGluZUZvcm1hdHRpbmdVdGlsczo6
TGluZUVuZHNXaXRoTGluZUJyZWFrOjpZZXMpOwogICAgIGF1dG8gZmlyc3RMaW5lVGV4dEluZGVu
dCA9IGNvbXB1dGVUZXh0SW5kZW50KHByZXZpb3VzTGluZUVuZHNXaXRoTGluZUJyZWFrKTsKLSAg
ICBhdXRvIHRleHRJbmRlbnQgPSBjb21wdXRlVGV4dEluZGVudChQcmV2aW91c0xpbmVTdGF0ZTo6
RG9lc05vdEVuZFdpdGhMaW5lQnJlYWspOworICAgIGF1dG8gdGV4dEluZGVudCA9IGNvbXB1dGVU
ZXh0SW5kZW50KHsgSW5saW5lRm9ybWF0dGluZ1V0aWxzOjpMaW5lRW5kc1dpdGhMaW5lQnJlYWs6
Ok5vIH0pOwogCiAgICAgLy8gc3RhdGVbaV0gaG9sZHMgdGhlIG9wdGltYWwgc2V0IG9mIGxpbmUg
YnJlYWtzIHdoZXJlIHRoZSBsYXN0IGxpbmUgYnJlYWsgaXMgcmlnaHQKICAgICAvLyBiZWZvcmUg
bV9pbmxpbmVJdGVtTGlzdFticmVha09wcG9ydHVuaXRpZXNbaV1dLiAiT3B0aW1hbCIgaW4gdGhp
cyBjb250ZXh0IG1lYW5zIHRoZQpAQCAtNTU5LDkgKzU1OSw5IEBAIHN0ZDo6b3B0aW9uYWw8VmVj
dG9yPExheW91dFVuaXQ+PiBJbmxpbmVDb250ZW50Q29uc3RyYWluZXI6OnByZXR0aWZ5UmFuZ2Uo
SW5saW5lCiAgICAgYXV0byBudW1iZXJPZkJyZWFrT3Bwb3J0dW5pdGllcyA9IGJyZWFrT3Bwb3J0
dW5pdGllcy5zaXplKCk7CiAKICAgICAvLyBJbmRlbnRhdGlvbiBvZmZzZXRzCi0gICAgYXV0byBw
cmV2aW91c0xpbmVFbmRzV2l0aExpbmVCcmVhayA9IGlzRmlyc3RDaHVuayA/IFByZXZpb3VzTGlu
ZVN0YXRlOjpOb1ByZXZpb3VzTGluZSA6IFByZXZpb3VzTGluZVN0YXRlOjpFbmRzV2l0aExpbmVC
cmVhazsKKyAgICBhdXRvIHByZXZpb3VzTGluZUVuZHNXaXRoTGluZUJyZWFrID0gaXNGaXJzdENo
dW5rID8gc3RkOjpudWxsb3B0IDogc3RkOjptYWtlX29wdGlvbmFsKElubGluZUZvcm1hdHRpbmdV
dGlsczo6TGluZUVuZHNXaXRoTGluZUJyZWFrOjpZZXMpOwogICAgIGF1dG8gZmlyc3RMaW5lVGV4
dEluZGVudCA9IGNvbXB1dGVUZXh0SW5kZW50KHByZXZpb3VzTGluZUVuZHNXaXRoTGluZUJyZWFr
KTsKLSAgICBhdXRvIHRleHRJbmRlbnQgPSBjb21wdXRlVGV4dEluZGVudChQcmV2aW91c0xpbmVT
dGF0ZTo6RG9lc05vdEVuZFdpdGhMaW5lQnJlYWspOworICAgIGF1dG8gdGV4dEluZGVudCA9IGNv
bXB1dGVUZXh0SW5kZW50KHsgSW5saW5lRm9ybWF0dGluZ1V0aWxzOjpMaW5lRW5kc1dpdGhMaW5l
QnJlYWs6Ok5vIH0pOwogCiAgICAgLy8gc3RhdGVbaV0gaG9sZHMgdGhlIG9wdGltYWwgc2V0IG9m
IGxpbmUgYnJlYWtzIHdoZXJlIHRoZSBsYXN0IGxpbmUgYnJlYWsgaXMgcmlnaHQKICAgICAvLyBi
ZWZvcmUgbV9pbmxpbmVJdGVtTGlzdFticmVha09wcG9ydHVuaXRpZXNbaV1dLiAiT3B0aW1hbCIg
aW4gdGhpcyBjb250ZXh0IG1lYW5zIHRoZQpAQCAtODQ2LDkgKzg0Niw5IEBAIFZlY3RvcjxzaXpl
X3Q+IElubGluZUNvbnRlbnRDb25zdHJhaW5lcjo6Y29tcHV0ZUJyZWFrT3Bwb3J0dW5pdGllcyhJ
bmxpbmVJdGVtUmFuCiBWZWN0b3I8TGF5b3V0VW5pdD4gSW5saW5lQ29udGVudENvbnN0cmFpbmVy
Ojpjb21wdXRlTGluZVdpZHRoc0Zyb21CcmVha3MoSW5saW5lSXRlbVJhbmdlIGlubGluZUl0ZW1z
LCBjb25zdCBWZWN0b3I8c2l6ZV90PiYgYnJlYWtzLCBib29sIGlzRmlyc3RDaHVuaykgY29uc3QK
IHsKICAgICBWZWN0b3I8TGF5b3V0VW5pdD4gbGluZVdpZHRocyhicmVha3Muc2l6ZSgpKTsKLSAg
ICBhdXRvIHByZXZpb3VzTGluZUVuZHNXaXRoTGluZUJyZWFrID0gaXNGaXJzdENodW5rID8gUHJl
dmlvdXNMaW5lU3RhdGU6Ok5vUHJldmlvdXNMaW5lIDogUHJldmlvdXNMaW5lU3RhdGU6OkVuZHNX
aXRoTGluZUJyZWFrOworICAgIGF1dG8gcHJldmlvdXNMaW5lRW5kc1dpdGhMaW5lQnJlYWsgPSBp
c0ZpcnN0Q2h1bmsgPyBzdGQ6Om51bGxvcHQgOiBzdGQ6Om1ha2Vfb3B0aW9uYWwoSW5saW5lRm9y
bWF0dGluZ1V0aWxzOjpMaW5lRW5kc1dpdGhMaW5lQnJlYWs6Olllcyk7CiAgICAgYXV0byBmaXJz
dExpbmVUZXh0SW5kZW50ID0gY29tcHV0ZVRleHRJbmRlbnQocHJldmlvdXNMaW5lRW5kc1dpdGhM
aW5lQnJlYWspOwotICAgIGF1dG8gdGV4dEluZGVudCA9IGNvbXB1dGVUZXh0SW5kZW50KFByZXZp
b3VzTGluZVN0YXRlOjpEb2VzTm90RW5kV2l0aExpbmVCcmVhayk7CisgICAgYXV0byB0ZXh0SW5k
ZW50ID0gY29tcHV0ZVRleHRJbmRlbnQoeyBJbmxpbmVGb3JtYXR0aW5nVXRpbHM6OkxpbmVFbmRz
V2l0aExpbmVCcmVhazo6Tm8gfSk7CiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBicmVha3Mu
c2l6ZSgpOyBpKyspIHsKICAgICAgICAgYXV0byBzdGFydCA9ICFpID8gaW5saW5lSXRlbXMuc3Rh
cnRJbmRleCgpIDogYnJlYWtzW2kgLSAxXTsKICAgICAgICAgYXV0byBlbmQgPSBicmVha3NbaV07
CkBAIC04NjEsMTcgKzg2MSwxNyBAQCBWZWN0b3I8TGF5b3V0VW5pdD4gSW5saW5lQ29udGVudENv
bnN0cmFpbmVyOjpjb21wdXRlTGluZVdpZHRoc0Zyb21CcmVha3MoSW5saW5lSQogCiBJbmxpbmVM
YXlvdXRVbml0IElubGluZUNvbnRlbnRDb25zdHJhaW5lcjo6Y29tcHV0ZU1heFRleHRJbmRlbnQo
KSBjb25zdAogewotICAgIGF1dG8gbm9QcmV2aW91c0xpbmVUZXh0SW5kZW50ID0gY29tcHV0ZVRl
eHRJbmRlbnQoUHJldmlvdXNMaW5lU3RhdGU6Ok5vUHJldmlvdXNMaW5lKTsKLSAgICBhdXRvIGZp
cnN0TGluZVRleHRJbmRlbnQgPSBjb21wdXRlVGV4dEluZGVudChQcmV2aW91c0xpbmVTdGF0ZTo6
RW5kc1dpdGhMaW5lQnJlYWspOwotICAgIGF1dG8gdGV4dEluZGVudCA9IGNvbXB1dGVUZXh0SW5k
ZW50KFByZXZpb3VzTGluZVN0YXRlOjpEb2VzTm90RW5kV2l0aExpbmVCcmVhayk7CisgICAgYXV0
byBub1ByZXZpb3VzTGluZVRleHRJbmRlbnQgPSBjb21wdXRlVGV4dEluZGVudCh7IH0pOworICAg
IGF1dG8gZmlyc3RMaW5lVGV4dEluZGVudCA9IGNvbXB1dGVUZXh0SW5kZW50KHsgSW5saW5lRm9y
bWF0dGluZ1V0aWxzOjpMaW5lRW5kc1dpdGhMaW5lQnJlYWs6OlllcyB9KTsKKyAgICBhdXRvIHRl
eHRJbmRlbnQgPSBjb21wdXRlVGV4dEluZGVudCh7IElubGluZUZvcm1hdHRpbmdVdGlsczo6TGlu
ZUVuZHNXaXRoTGluZUJyZWFrOjpObyB9KTsKIAogICAgIC8vIFJldHVybiB0aGUgbWF4aW11bSBp
bmRlbnQgdmFsdWUKICAgICByZXR1cm4gc3RkOjptYXgoeyBub1ByZXZpb3VzTGluZVRleHRJbmRl
bnQsIGZpcnN0TGluZVRleHRJbmRlbnQsIHRleHRJbmRlbnQgfSk7CiB9CiAKLUlubGluZUxheW91
dFVuaXQgSW5saW5lQ29udGVudENvbnN0cmFpbmVyOjpjb21wdXRlVGV4dEluZGVudChQcmV2aW91
c0xpbmVTdGF0ZSBwcmV2aW91c0xpbmVTdGF0ZSkgY29uc3QKK0lubGluZUxheW91dFVuaXQgSW5s
aW5lQ29udGVudENvbnN0cmFpbmVyOjpjb21wdXRlVGV4dEluZGVudChzdGQ6Om9wdGlvbmFsPElu
bGluZUZvcm1hdHRpbmdVdGlsczo6TGluZUVuZHNXaXRoTGluZUJyZWFrPiBsaW5lRW5kc1dpdGhM
aW5lQnJlYWspIGNvbnN0CiB7Ci0gICAgcmV0dXJuIG1faW5saW5lRm9ybWF0dGluZ0NvbnRleHQu
Zm9ybWF0dGluZ1V0aWxzKCkuY29tcHV0ZWRUZXh0SW5kZW50KElubGluZUZvcm1hdHRpbmdVdGls
czo6SXNJbnRyaW5zaWNXaWR0aE1vZGU6Ok5vLCBwcmV2aW91c0xpbmVTdGF0ZSwgbV9tYXhpbXVt
TGluZVdpZHRoQ29uc3RyYWludCk7CisgICAgcmV0dXJuIG1faW5saW5lRm9ybWF0dGluZ0NvbnRl
eHQuZm9ybWF0dGluZ1V0aWxzKCkuY29tcHV0ZWRUZXh0SW5kZW50KElubGluZUZvcm1hdHRpbmdV
dGlsczo6SXNJbnRyaW5zaWNXaWR0aE1vZGU6Ok5vLCBsaW5lRW5kc1dpdGhMaW5lQnJlYWssIG1f
bWF4aW11bUxpbmVXaWR0aENvbnN0cmFpbnQpOwogfQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVDb250ZW50Q29u
c3RyYWluZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5s
aW5lL0lubGluZUNvbnRlbnRDb25zdHJhaW5lci5oCmluZGV4IDJhMzFmY2ZiOGUwYS4uMWE3ZWYx
OGZhMWM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRl
eHRzL2lubGluZS9JbmxpbmVDb250ZW50Q29uc3RyYWluZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVDb250ZW50Q29uc3RyYWlu
ZXIuaApAQCAtNzQsNyArNzQsNyBAQCBwcml2YXRlOgogICAgIFZlY3RvcjxzaXplX3Q+IGNvbXB1
dGVCcmVha09wcG9ydHVuaXRpZXMoSW5saW5lSXRlbVJhbmdlKSBjb25zdDsKICAgICBWZWN0b3I8
TGF5b3V0VW5pdD4gY29tcHV0ZUxpbmVXaWR0aHNGcm9tQnJlYWtzKElubGluZUl0ZW1SYW5nZSwg
Y29uc3QgVmVjdG9yPHNpemVfdD4mIGJyZWFrcywgYm9vbCBpc0ZpcnN0Q2h1bmspIGNvbnN0Owog
ICAgIElubGluZUxheW91dFVuaXQgY29tcHV0ZU1heFRleHRJbmRlbnQoKSBjb25zdDsKLSAgICBJ
bmxpbmVMYXlvdXRVbml0IGNvbXB1dGVUZXh0SW5kZW50KFByZXZpb3VzTGluZVN0YXRlKSBjb25z
dDsKKyAgICBJbmxpbmVMYXlvdXRVbml0IGNvbXB1dGVUZXh0SW5kZW50KHN0ZDo6b3B0aW9uYWw8
SW5saW5lRm9ybWF0dGluZ1V0aWxzOjpMaW5lRW5kc1dpdGhMaW5lQnJlYWs+KSBjb25zdDsKIAog
ICAgIElubGluZUZvcm1hdHRpbmdDb250ZXh0JiBtX2lubGluZUZvcm1hdHRpbmdDb250ZXh0Owog
ICAgIGNvbnN0IElubGluZUl0ZW1MaXN0JiBtX2lubGluZUl0ZW1MaXN0OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9y
bWF0dGluZ1V0aWxzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4
dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdVdGlscy5jcHAKaW5kZXggM2I0NDMxZThlMzA3Li5m
YmE0ZTk1MDBlOTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5n
Q29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdVdGlscy5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ1V0
aWxzLmNwcApAQCAtMTQ2LDcgKzE0Niw3IEBAIElubGluZVJlY3QgSW5saW5lRm9ybWF0dGluZ1V0
aWxzOjpmbGlwVmlzdWFsUmVjdFRvTG9naWNhbEZvcldyaXRpbmdNb2RlKGNvbnN0IEluCiAgICAg
cmV0dXJuIHZpc3VhbFJlY3Q7CiB9CiAKLUlubGluZUxheW91dFVuaXQgSW5saW5lRm9ybWF0dGlu
Z1V0aWxzOjpjb21wdXRlZFRleHRJbmRlbnQoSXNJbnRyaW5zaWNXaWR0aE1vZGUgaXNJbnRyaW5z
aWNXaWR0aE1vZGUsIFByZXZpb3VzTGluZVN0YXRlIHByZXZpb3VzTGluZVN0YXRlLCBJbmxpbmVM
YXlvdXRVbml0IGF2YWlsYWJsZVdpZHRoKSBjb25zdAorSW5saW5lTGF5b3V0VW5pdCBJbmxpbmVG
b3JtYXR0aW5nVXRpbHM6OmNvbXB1dGVkVGV4dEluZGVudChJc0ludHJpbnNpY1dpZHRoTW9kZSBp
c0ludHJpbnNpY1dpZHRoTW9kZSwgc3RkOjpvcHRpb25hbDxMaW5lRW5kc1dpdGhMaW5lQnJlYWs+
IHByZXZpb3VzTGluZUVuZHNXaXRoTGluZUJyZWFrLCBJbmxpbmVMYXlvdXRVbml0IGF2YWlsYWJs
ZVdpZHRoKSBjb25zdAogewogICAgIGF1dG8mIHJvb3QgPSBmb3JtYXR0aW5nQ29udGV4dCgpLnJv
b3QoKTsKIApAQCAtMTU3LDggKzE1Nyw3IEBAIElubGluZUxheW91dFVuaXQgSW5saW5lRm9ybWF0
dGluZ1V0aWxzOjpjb21wdXRlZFRleHRJbmRlbnQoSXNJbnRyaW5zaWNXaWR0aE1vZGUKICAgICAv
LyBJZiAnZWFjaC1saW5lJyBpcyBzcGVjaWZpZWQsIGluZGVudGF0aW9uIGFsc28gYXBwbGllcyB0
byBhbGwgbGluZXMgd2hlcmUgdGhlIHByZXZpb3VzIGxpbmUgZW5kcyB3aXRoIGEgaGFyZCBicmVh
ay4KICAgICAvLyBbSW50ZWdyYXRpb25dIHJvb3QoKS0+cGFyZW50KCkgd291bGQgbm9ybWFsbHkg
cHJvZHVjZSBhIHZhbGlkIGxheW91dCBib3guCiAgICAgYm9vbCBzaG91bGRJbmRlbnQgPSBmYWxz
ZTsKLSAgICBzd2l0Y2ggKHByZXZpb3VzTGluZVN0YXRlKSB7Ci0gICAgY2FzZSBQcmV2aW91c0xp
bmVTdGF0ZTo6Tm9QcmV2aW91c0xpbmU6CisgICAgaWYgKCFwcmV2aW91c0xpbmVFbmRzV2l0aExp
bmVCcmVhaykgewogICAgICAgICBzaG91bGRJbmRlbnQgPSAhcm9vdC5pc0Fub255bW91cygpOwog
ICAgICAgICBpZiAocm9vdC5pc0Fub255bW91cygpKSB7CiAgICAgICAgICAgICBpZiAoIXJvb3Qu
aXNJbmxpbmVJbnRlZ3JhdGlvblJvb3QoKSkKQEAgLTE2NiwxNCArMTY1LDggQEAgSW5saW5lTGF5
b3V0VW5pdCBJbmxpbmVGb3JtYXR0aW5nVXRpbHM6OmNvbXB1dGVkVGV4dEluZGVudChJc0ludHJp
bnNpY1dpZHRoTW9kZQogICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgIHNob3VsZElu
ZGVudCA9IHJvb3QuaXNGaXJzdENoaWxkRm9ySW50ZWdyYXRpb24oKTsKICAgICAgICAgfQotICAg
ICAgICBicmVhazsKLSAgICBjYXNlIFByZXZpb3VzTGluZVN0YXRlOjpFbmRzV2l0aExpbmVCcmVh
azoKKyAgICB9IGVsc2UgaWYgKCpwcmV2aW91c0xpbmVFbmRzV2l0aExpbmVCcmVhayA9PSBMaW5l
RW5kc1dpdGhMaW5lQnJlYWs6OlllcykKICAgICAgICAgc2hvdWxkSW5kZW50ID0gcm9vdC5zdHls
ZSgpLnRleHRJbmRlbnQoKS5lYWNoTGluZS5oYXNfdmFsdWUoKTsKLSAgICAgICAgYnJlYWs7Ci0g
ICAgY2FzZSBQcmV2aW91c0xpbmVTdGF0ZTo6RG9lc05vdEVuZFdpdGhMaW5lQnJlYWs6Ci0gICAg
ICAgIHNob3VsZEluZGVudCA9IGZhbHNlOwotICAgICAgICBicmVhazsKLSAgICB9CiAKICAgICAv
LyBTcGVjaWZ5aW5nICdoYW5naW5nJyBpbnZlcnRzIHdoZXRoZXIgdGhlIGxpbmUgc2hvdWxkIGJl
IGluZGVudGVkIG9yIG5vdC4KICAgICBpZiAocm9vdC5zdHlsZSgpLnRleHRJbmRlbnQoKS5oYW5n
aW5nLmhhc192YWx1ZSgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1h
dHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ1V0aWxzLmggYi9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVGb3JtYXR0aW5nVXRp
bHMuaAppbmRleCA3Y2Y1NGFmMTUxNmEuLjU5MGI4YmQzODc4NCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGlu
Z1V0aWxzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9p
bmxpbmUvSW5saW5lRm9ybWF0dGluZ1V0aWxzLmgKQEAgLTQ1LDcgKzQ1LDggQEAgcHVibGljOgog
ICAgIENvbnRlbnRXaWR0aEFuZE1hcmdpbiBpbmxpbmVCbG9ja0NvbnRlbnRXaWR0aEFuZE1hcmdp
bihjb25zdCBCb3gmLCBjb25zdCBIb3Jpem9udGFsQ29uc3RyYWludHMmLCBjb25zdCBPdmVycmlk
ZGVuSG9yaXpvbnRhbFZhbHVlcyYpIGNvbnN0OwogCiAgICAgZW51bSBjbGFzcyBJc0ludHJpbnNp
Y1dpZHRoTW9kZSA6IGJvb2wgeyBObywgWWVzIH07Ci0gICAgSW5saW5lTGF5b3V0VW5pdCBjb21w
dXRlZFRleHRJbmRlbnQoSXNJbnRyaW5zaWNXaWR0aE1vZGUsIFByZXZpb3VzTGluZVN0YXRlLCBJ
bmxpbmVMYXlvdXRVbml0IGF2YWlsYWJsZVdpZHRoKSBjb25zdDsKKyAgICBlbnVtIGNsYXNzIExp
bmVFbmRzV2l0aExpbmVCcmVhayA6IGJvb2wgeyBObywgWWVzIH07CisgICAgSW5saW5lTGF5b3V0
VW5pdCBjb21wdXRlZFRleHRJbmRlbnQoSXNJbnRyaW5zaWNXaWR0aE1vZGUsIHN0ZDo6b3B0aW9u
YWw8TGluZUVuZHNXaXRoTGluZUJyZWFrPiBwcmV2aW91c0xpbmVFbmRzV2l0aExpbmVCcmVhaywg
SW5saW5lTGF5b3V0VW5pdCBhdmFpbGFibGVXaWR0aCkgY29uc3Q7CiAKICAgICBib29sIGlubGlu
ZUxldmVsQm94QWZmZWN0c0xpbmVCb3goY29uc3QgSW5saW5lTGV2ZWxCb3gmKSBjb25zdDsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxp
bmUvSW5saW5lTGluZUJ1aWxkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRp
bmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJ1aWxkZXIuY3BwCmluZGV4IDkzNzc5MzRjNTQ0
Yi4uNDhjMmZmMjI0ZDBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0
dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJ1aWxkZXIu
Y3BwCkBAIC0yNjYsOCArMjY2LDcgQEAgTGluZUJ1aWxkZXI6OkxpbmVCdWlsZGVyKElubGluZUZv
cm1hdHRpbmdDb250ZXh0JiBpbmxpbmVGb3JtYXR0aW5nQ29udGV4dCwgSG9yaXoKIAogTGluZUxh
eW91dFJlc3VsdCBMaW5lQnVpbGRlcjo6bGF5b3V0SW5saW5lQ29udGVudChjb25zdCBMaW5lSW5w
dXQmIGxpbmVJbnB1dCwgY29uc3Qgc3RkOjpvcHRpb25hbDxQcmV2aW91c0xpbmU+JiBwcmV2aW91
c0xpbmUsIGJvb2wgaXNGaXJzdEZvcm1hdHRlZExpbmVDYW5kaWRhdGUpCiB7Ci0gICAgYXV0byBw
cmV2aW91c0xpbmVTdGF0ZSA9ICFwcmV2aW91c0xpbmUgfHwgIXByZXZpb3VzTGluZS0+aGFzSW5s
aW5lQ29udGVudCA/IFByZXZpb3VzTGluZVN0YXRlOjpOb1ByZXZpb3VzTGluZSA6IChwcmV2aW91
c0xpbmUtPmVuZHNXaXRoTGluZUJyZWFrID8gUHJldmlvdXNMaW5lU3RhdGU6OkVuZHNXaXRoTGlu
ZUJyZWFrIDogUHJldmlvdXNMaW5lU3RhdGU6OkRvZXNOb3RFbmRXaXRoTGluZUJyZWFrKTsKLSAg
ICBpbml0aWFsaXplKGxpbmVJbnB1dC5pbml0aWFsTG9naWNhbFJlY3QsIGxpbmVJbnB1dC5uZWVk
c0xheW91dFJhbmdlLCBwcmV2aW91c0xpbmUsIHByZXZpb3VzTGluZVN0YXRlLCBpc0ZpcnN0Rm9y
bWF0dGVkTGluZUNhbmRpZGF0ZSk7CisgICAgaW5pdGlhbGl6ZShsaW5lSW5wdXQuaW5pdGlhbExv
Z2ljYWxSZWN0LCBsaW5lSW5wdXQubmVlZHNMYXlvdXRSYW5nZSwgcHJldmlvdXNMaW5lLCBpc0Zp
cnN0Rm9ybWF0dGVkTGluZUNhbmRpZGF0ZSk7CiAgICAgYXV0byBsaW5lQ29udGVudCA9IHBsYWNl
SW5saW5lQW5kRmxvYXRDb250ZW50KGxpbmVJbnB1dC5uZWVkc0xheW91dFJhbmdlKTsKICAgICBh
dXRvIHJlc3VsdCA9IG1fbGluZS5jbG9zZSgpOwogCkBAIC0zMDksNyArMzA4LDcgQEAgTGluZUxh
eW91dFJlc3VsdCBMaW5lQnVpbGRlcjo6bGF5b3V0SW5saW5lQ29udGVudChjb25zdCBMaW5lSW5w
dXQmIGxpbmVJbnB1dCwgY28KICAgICB9OwogfQogCi12b2lkIExpbmVCdWlsZGVyOjppbml0aWFs
aXplKGNvbnN0IElubGluZVJlY3QmIGluaXRpYWxMaW5lTG9naWNhbFJlY3QsIGNvbnN0IElubGlu
ZUl0ZW1SYW5nZSYgbmVlZHNMYXlvdXRSYW5nZSwgY29uc3Qgc3RkOjpvcHRpb25hbDxQcmV2aW91
c0xpbmU+JiBwcmV2aW91c0xpbmUsIFByZXZpb3VzTGluZVN0YXRlIHByZXZpb3VzTGluZVN0YXRl
LCBib29sIGlzRmlyc3RGb3JtYXR0ZWRMaW5lQ2FuZGlkYXRlKQordm9pZCBMaW5lQnVpbGRlcjo6
aW5pdGlhbGl6ZShjb25zdCBJbmxpbmVSZWN0JiBpbml0aWFsTGluZUxvZ2ljYWxSZWN0LCBjb25z
dCBJbmxpbmVJdGVtUmFuZ2UmIG5lZWRzTGF5b3V0UmFuZ2UsIGNvbnN0IHN0ZDo6b3B0aW9uYWw8
UHJldmlvdXNMaW5lPiYgcHJldmlvdXNMaW5lLCBib29sIGlzRmlyc3RGb3JtYXR0ZWRMaW5lQ2Fu
ZGlkYXRlKQogewogICAgIEFTU0VSVCghbmVlZHNMYXlvdXRSYW5nZS5pc0VtcHR5KCkgfHwgKHBy
ZXZpb3VzTGluZSAmJiAhcHJldmlvdXNMaW5lLT5zdXNwZW5kZWRGbG9hdHMuaXNFbXB0eSgpKSk7
CiAgICAgcmVzZXQoKTsKQEAgLTM3NCw3ICszNzMsOCBAQCB2b2lkIExpbmVCdWlsZGVyOjppbml0
aWFsaXplKGNvbnN0IElubGluZVJlY3QmIGluaXRpYWxMaW5lTG9naWNhbFJlY3QsIGNvbnN0IElu
bAogICAgIG1fbGluZS5pbml0aWFsaXplKG1fbGluZVNwYW5uaW5nSW5saW5lQm94ZXMsIGlzRmly
c3RGb3JtYXR0ZWRMaW5lQ2FuZGlkYXRlKTsKIAogICAgIG1fbGluZUluaXRpYWxMb2dpY2FsUmVj
dCA9IGluaXRpYWxMaW5lTG9naWNhbFJlY3Q7Ci0gICAgbV9saW5lTWFyZ2luU3RhcnQgPSBmb3Jt
YXR0aW5nQ29udGV4dCgpLmZvcm1hdHRpbmdVdGlscygpLmNvbXB1dGVkVGV4dEluZGVudChpc0lu
SW50cmluc2ljV2lkdGhNb2RlKCkgPyBJbmxpbmVGb3JtYXR0aW5nVXRpbHM6OklzSW50cmluc2lj
V2lkdGhNb2RlOjpZZXMgOiBJbmxpbmVGb3JtYXR0aW5nVXRpbHM6OklzSW50cmluc2ljV2lkdGhN
b2RlOjpObywgcHJldmlvdXNMaW5lU3RhdGUsIGluaXRpYWxMaW5lTG9naWNhbFJlY3Qud2lkdGgo
KSk7CisgICAgYXV0byBwcmV2aW91c0xpbmVFbmRzV2l0aExpbmVCcmVhayA9IHByZXZpb3VzTGlu
ZSAmJiBwcmV2aW91c0xpbmUtPmhhc0lubGluZUNvbnRlbnQgPyBzdGQ6Om1ha2Vfb3B0aW9uYWwo
cHJldmlvdXNMaW5lLT5lbmRzV2l0aExpbmVCcmVhayA/IElubGluZUZvcm1hdHRpbmdVdGlsczo6
TGluZUVuZHNXaXRoTGluZUJyZWFrOjpZZXMgOiBJbmxpbmVGb3JtYXR0aW5nVXRpbHM6OkxpbmVF
bmRzV2l0aExpbmVCcmVhazo6Tm8pIDogc3RkOjpudWxsb3B0OworICAgIG1fbGluZU1hcmdpblN0
YXJ0ID0gZm9ybWF0dGluZ0NvbnRleHQoKS5mb3JtYXR0aW5nVXRpbHMoKS5jb21wdXRlZFRleHRJ
bmRlbnQoaXNJbkludHJpbnNpY1dpZHRoTW9kZSgpID8gSW5saW5lRm9ybWF0dGluZ1V0aWxzOjpJ
c0ludHJpbnNpY1dpZHRoTW9kZTo6WWVzIDogSW5saW5lRm9ybWF0dGluZ1V0aWxzOjpJc0ludHJp
bnNpY1dpZHRoTW9kZTo6Tm8sIHByZXZpb3VzTGluZUVuZHNXaXRoTGluZUJyZWFrLCBpbml0aWFs
TGluZUxvZ2ljYWxSZWN0LndpZHRoKCkpOwogCiAgICAgYXV0byBjb25zdHJhaW50cyA9IGZsb2F0
QXZvaWRpbmdSZWN0KGluaXRpYWxMaW5lTG9naWNhbFJlY3QsIHsgfSk7CiAgICAgbV9saW5lTG9n
aWNhbFJlY3QgPSBjb25zdHJhaW50cy5sb2dpY2FsUmVjdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVCdWlsZGVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9Jbmxp
bmVMaW5lQnVpbGRlci5oCmluZGV4IGEzMzI2MWNkYzk3Yy4uN2RjNzA5ZTI5NmEyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9Jbmxp
bmVMaW5lQnVpbGRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29u
dGV4dHMvaW5saW5lL0lubGluZUxpbmVCdWlsZGVyLmgKQEAgLTY5LDcgKzY5LDcgQEAgcHJpdmF0
ZToKICAgICBzaXplX3QgcmVidWlsZExpbmVXaXRoSW5saW5lQ29udGVudChjb25zdCBJbmxpbmVJ
dGVtUmFuZ2UmIG5lZWRzTGF5b3V0UmFuZ2UsIGNvbnN0IElubGluZUl0ZW0mIGxhc3RJbmxpbmVJ
dGVtVG9BZGQpOwogICAgIHNpemVfdCByZWJ1aWxkTGluZUZvclRyYWlsaW5nU29mdEh5cGhlbihj
b25zdCBJbmxpbmVJdGVtUmFuZ2UmIGxheW91dFJhbmdlKTsKICAgICB2b2lkIGNvbW1pdFBhcnRp
YWxDb250ZW50KGNvbnN0IElubGluZUNvbnRlbnRCcmVha2VyOjpDb250aW51b3VzQ29udGVudDo6
UnVuTGlzdCYsIGNvbnN0IElubGluZUNvbnRlbnRCcmVha2VyOjpSZXN1bHQ6OlBhcnRpYWxUcmFp
bGluZ0NvbnRlbnQmKTsKLSAgICB2b2lkIGluaXRpYWxpemUoY29uc3QgSW5saW5lUmVjdCYgaW5p
dGlhbExpbmVMb2dpY2FsUmVjdCwgY29uc3QgSW5saW5lSXRlbVJhbmdlJiBuZWVkc0xheW91dFJh
bmdlLCBjb25zdCBzdGQ6Om9wdGlvbmFsPFByZXZpb3VzTGluZT4mLCAgUHJldmlvdXNMaW5lU3Rh
dGUsIGJvb2wgaXNGaXJzdEZvcm1hdHRlZExpbmVDYW5kaWRhdGUpOworICAgIHZvaWQgaW5pdGlh
bGl6ZShjb25zdCBJbmxpbmVSZWN0JiBpbml0aWFsTGluZUxvZ2ljYWxSZWN0LCBjb25zdCBJbmxp
bmVJdGVtUmFuZ2UmIG5lZWRzTGF5b3V0UmFuZ2UsIGNvbnN0IHN0ZDo6b3B0aW9uYWw8UHJldmlv
dXNMaW5lPiYsIGJvb2wgaXNGaXJzdEZvcm1hdHRlZExpbmVDYW5kaWRhdGUpOwogICAgIFVuaXF1
ZVJlZjxMaW5lQ29udGVudD4gcGxhY2VJbmxpbmVBbmRGbG9hdENvbnRlbnQoY29uc3QgSW5saW5l
SXRlbVJhbmdlJik7CiAgICAgc3RydWN0IEluaXRpYWxMZXR0ZXJPZmZzZXRzIHsKICAgICAgICAg
TGF5b3V0VW5pdCBjYXBIZWlnaHRPZmZzZXQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lVHlwZXMuaCBiL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVUeXBl
cy5oCmluZGV4IDIyM2NkNzQyNzBmYi4uM2ZhYmZhNjBhZWViIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lVHlwZXMu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9J
bmxpbmVMaW5lVHlwZXMuaApAQCAtNDIsMTIgKzQyLDYgQEAgc3RydWN0IFRleHRTcGFjaW5nQ29u
dGV4dCB7CiAgICAgVHJpbW1hYmxlVGV4dFNwYWNpbmdzIHRyaW1tYWJsZVRleHRTcGFjaW5nczsK
IH07CiAKLWVudW0gY2xhc3MgUHJldmlvdXNMaW5lU3RhdGUgewotICAgIE5vUHJldmlvdXNMaW5l
LAotICAgIEVuZHNXaXRoTGluZUJyZWFrLAotICAgIERvZXNOb3RFbmRXaXRoTGluZUJyZWFrLAot
fTsKLQogZW51bSBjbGFzcyBMaW5lRW5kaW5nVHJ1bmNhdGlvblBvbGljeSA6IHVpbnQ4X3Qgewog
ICAgIE5vVHJ1bmNhdGlvbiwKICAgICBXaGVuQ29udGVudE92ZXJmbG93c0luSW5saW5lRGlyZWN0
aW9uLAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>476578</attachid>
            <date>2025-09-01 14:44:55 -0700</date>
            <delta_ts>2025-09-01 16:26:48 -0700</delta_ts>
            <desc>[fast-cq]Patch</desc>
            <filename>bug-298149-20250901144454.patch</filename>
            <type>text/plain</type>
            <size>18017</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSAzZjUyZWZkZGUzMzcxYzA3NDI3ZWY2NDkzMDk4OWNlNjg5NTYxYjE0IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJhcmFkbGF5IDx6YWxhbkBhcHBsZS5jb20+CkRhdGU6
IFNhdCwgMzAgQXVnIDIwMjUgMDc6NDM6MDQgLTA3MDAKU3ViamVjdDogW1BBVENIXSBbY2xlYW51
cF0gUmVwbGFjZSBJbmxpbmVGb3JtYXR0aW5nVXRpbHMncyBwcmV2aW91c0xpbmVTdGF0ZQogd2l0
aCBlbnVtIGNsYXNzIExpbmVFbmRzV2l0aExpbmVCcmVhawogaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTI5ODE0OQoKUmV2aWV3ZWQgYnkgQW50dGkgS29pdmlzdG8uCgpQ
cmV2aW91c0xpbmVTdGF0ZSBpcyByYXRoZXIgdmFndWUuIEl0IHNpbXBseSBtZWFucyBzdGQ6Om9w
dGlvbmFsPExpbmVFbmRzV2l0aExpbmVCcmVhaz4uCgoqIFNvdXJjZS9XZWJDb3JlL2xheW91dC9m
b3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUNvbnRlbnRDb25zdHJhaW5lci5jcHA6CihX
ZWJDb3JlOjpMYXlvdXQ6OklubGluZUNvbnRlbnRDb25zdHJhaW5lcjo6aW5pdGlhbGl6ZSk6CihX
ZWJDb3JlOjpMYXlvdXQ6OklubGluZUNvbnRlbnRDb25zdHJhaW5lcjo6YmFsYW5jZVJhbmdlV2l0
aExpbmVSZXF1aXJlbWVudCk6CihXZWJDb3JlOjpMYXlvdXQ6OklubGluZUNvbnRlbnRDb25zdHJh
aW5lcjo6YmFsYW5jZVJhbmdlV2l0aE5vTGluZVJlcXVpcmVtZW50KToKKFdlYkNvcmU6OkxheW91
dDo6SW5saW5lQ29udGVudENvbnN0cmFpbmVyOjpwcmV0dGlmeVJhbmdlKToKKFdlYkNvcmU6Okxh
eW91dDo6SW5saW5lQ29udGVudENvbnN0cmFpbmVyOjpjb21wdXRlTGluZVdpZHRoc0Zyb21CcmVh
a3MgY29uc3QpOgooV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVDb250ZW50Q29uc3RyYWluZXI6OmNv
bXB1dGVNYXhUZXh0SW5kZW50IGNvbnN0KToKKFdlYkNvcmU6OkxheW91dDo6SW5saW5lQ29udGVu
dENvbnN0cmFpbmVyOjpjb21wdXRlVGV4dEluZGVudCBjb25zdCk6CiogU291cmNlL1dlYkNvcmUv
bGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lQ29udGVudENvbnN0cmFpbmVy
Lmg6CiogU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5s
aW5lRm9ybWF0dGluZ1V0aWxzLmNwcDoKKFdlYkNvcmU6OkxheW91dDo6SW5saW5lRm9ybWF0dGlu
Z1V0aWxzOjpjb21wdXRlZFRleHRJbmRlbnQgY29uc3QpOgoqIFNvdXJjZS9XZWJDb3JlL2xheW91
dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdVdGlscy5oOgoqIFNv
dXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVC
dWlsZGVyLmNwcDoKKFdlYkNvcmU6OkxheW91dDo6TGluZUJ1aWxkZXI6OmxheW91dElubGluZUNv
bnRlbnQpOgooV2ViQ29yZTo6TGF5b3V0OjpMaW5lQnVpbGRlcjo6aW5pdGlhbGl6ZSk6CiogU291
cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJ1
aWxkZXIuaDoKKiBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGlu
ZS9JbmxpbmVMaW5lVHlwZXMuaDoKLS0tCiAuLi4vaW5saW5lL0lubGluZUNvbnRlbnRDb25zdHJh
aW5lci5jcHAgICAgICAgfCAyOCArKysrKysrKystLS0tLS0tLS0tCiAuLi4vaW5saW5lL0lubGlu
ZUNvbnRlbnRDb25zdHJhaW5lci5oICAgICAgICAgfCAgMiArLQogLi4uL2lubGluZS9JbmxpbmVG
b3JtYXR0aW5nVXRpbHMuY3BwICAgICAgICAgIHwgMTMgKystLS0tLS0tCiAuLi4vaW5saW5lL0lu
bGluZUZvcm1hdHRpbmdVdGlscy5oICAgICAgICAgICAgfCAgMyArLQogLi4uL2lubGluZS9Jbmxp
bmVMaW5lQnVpbGRlci5jcHAgICAgICAgICAgICAgIHwgIDggKysrLS0tCiAuLi4vaW5saW5lL0lu
bGluZUxpbmVCdWlsZGVyLmggICAgICAgICAgICAgICAgfCAgMiArLQogLi4uL2lubGluZS9Jbmxp
bmVMaW5lVHlwZXMuaCAgICAgICAgICAgICAgICAgIHwgIDYgLS0tLQogNyBmaWxlcyBjaGFuZ2Vk
LCAyNSBpbnNlcnRpb25zKCspLCAzNyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVDb250ZW50Q29u
c3RyYWluZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9p
bmxpbmUvSW5saW5lQ29udGVudENvbnN0cmFpbmVyLmNwcAppbmRleCAwYzU3MWUyMTc0YmYuLmZl
OTJlYTA1NWJkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdD
b250ZXh0cy9pbmxpbmUvSW5saW5lQ29udGVudENvbnN0cmFpbmVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVDb250ZW50Q29u
c3RyYWluZXIuY3BwCkBAIC0yNzksNyArMjc5LDcgQEAgdm9pZCBJbmxpbmVDb250ZW50Q29uc3Ry
YWluZXI6OmluaXRpYWxpemUoKQogICAgICAgICBib29sIHVzZUZpcnN0TGluZVN0eWxlID0gIWxp
bmVJbmRleDsKICAgICAgICAgYm9vbCBpc0ZpcnN0TGluZUluQ2h1bmsgPSAhbGluZUluZGV4IHx8
IG1fb3JpZ2luYWxMaW5lRW5kc1dpdGhGb3JjZWRCcmVha1tsaW5lSW5kZXggLSAxXTsKICAgICAg
ICAgU2xpZGluZ1dpZHRoIGxpbmVTbGlkaW5nV2lkdGggeyAqdGhpcywgbV9pbmxpbmVJdGVtTGlz
dCwgbGluZUxheW91dFJlc3VsdC5pbmxpbmVJdGVtUmFuZ2Uuc3RhcnRJbmRleCgpLCBsaW5lTGF5
b3V0UmVzdWx0LmlubGluZUl0ZW1SYW5nZS5lbmRJbmRleCgpLCB1c2VGaXJzdExpbmVTdHlsZSwg
aXNGaXJzdExpbmVJbkNodW5rIH07Ci0gICAgICAgIGF1dG8gcHJldmlvdXNMaW5lRW5kc1dpdGhM
aW5lQnJlYWsgPSBsaW5lSW5kZXggPyAobV9vcmlnaW5hbExpbmVFbmRzV2l0aEZvcmNlZEJyZWFr
W2xpbmVJbmRleCAtIDFdID8gUHJldmlvdXNMaW5lU3RhdGU6OkVuZHNXaXRoTGluZUJyZWFrIDog
UHJldmlvdXNMaW5lU3RhdGU6OkRvZXNOb3RFbmRXaXRoTGluZUJyZWFrKSAgOiBQcmV2aW91c0xp
bmVTdGF0ZTo6Tm9QcmV2aW91c0xpbmU7CisgICAgICAgIGF1dG8gcHJldmlvdXNMaW5lRW5kc1dp
dGhMaW5lQnJlYWsgPSBsaW5lSW5kZXggPyBzdGQ6Om1ha2Vfb3B0aW9uYWwobV9vcmlnaW5hbExp
bmVFbmRzV2l0aEZvcmNlZEJyZWFrW2xpbmVJbmRleCAtIDFdID8gSW5saW5lRm9ybWF0dGluZ1V0
aWxzOjpMaW5lRW5kc1dpdGhMaW5lQnJlYWs6OlllcyA6IElubGluZUZvcm1hdHRpbmdVdGlsczo6
TGluZUVuZHNXaXRoTGluZUJyZWFrOjpObykgOiBzdGQ6Om51bGxvcHQ7CiAgICAgICAgIGF1dG8g
dGV4dEluZGVudCA9IG1faW5saW5lRm9ybWF0dGluZ0NvbnRleHQuZm9ybWF0dGluZ1V0aWxzKCku
Y29tcHV0ZWRUZXh0SW5kZW50KElubGluZUZvcm1hdHRpbmdVdGlsczo6SXNJbnRyaW5zaWNXaWR0
aE1vZGU6Ok5vLCBwcmV2aW91c0xpbmVFbmRzV2l0aExpbmVCcmVhaywgbV9tYXhpbXVtTGluZVdp
ZHRoQ29uc3RyYWludCk7CiAgICAgICAgIG1fb3JpZ2luYWxMaW5lQ29uc3RyYWludHMuYXBwZW5k
KGNvbXB1dGVMaW5lV2lkdGhGcm9tU2xpZGluZ1dpZHRoKHRleHRJbmRlbnQsIGxpbmVTbGlkaW5n
V2lkdGgpKTsKIApAQCAtMzgwLDkgKzM4MCw5IEBAIHN0ZDo6b3B0aW9uYWw8VmVjdG9yPExheW91
dFVuaXQ+PiBJbmxpbmVDb250ZW50Q29uc3RyYWluZXI6OmJhbGFuY2VSYW5nZVdpdGhMaW5lCiAg
ICAgYXV0byBudW1iZXJPZkJyZWFrT3Bwb3J0dW5pdGllcyA9IGJyZWFrT3Bwb3J0dW5pdGllcy5z
aXplKCk7CiAKICAgICAvLyBJbmRlbnRhdGlvbiBvZmZzZXRzCi0gICAgYXV0byBwcmV2aW91c0xp
bmVFbmRzV2l0aExpbmVCcmVhayA9IGlzRmlyc3RDaHVuayA/IFByZXZpb3VzTGluZVN0YXRlOjpO
b1ByZXZpb3VzTGluZSA6IFByZXZpb3VzTGluZVN0YXRlOjpFbmRzV2l0aExpbmVCcmVhazsKKyAg
ICBhdXRvIHByZXZpb3VzTGluZUVuZHNXaXRoTGluZUJyZWFrID0gaXNGaXJzdENodW5rID8gc3Rk
OjpudWxsb3B0IDogc3RkOjptYWtlX29wdGlvbmFsKElubGluZUZvcm1hdHRpbmdVdGlsczo6TGlu
ZUVuZHNXaXRoTGluZUJyZWFrOjpZZXMpOwogICAgIGF1dG8gZmlyc3RMaW5lVGV4dEluZGVudCA9
IGNvbXB1dGVUZXh0SW5kZW50KHByZXZpb3VzTGluZUVuZHNXaXRoTGluZUJyZWFrKTsKLSAgICBh
dXRvIHRleHRJbmRlbnQgPSBjb21wdXRlVGV4dEluZGVudChQcmV2aW91c0xpbmVTdGF0ZTo6RG9l
c05vdEVuZFdpdGhMaW5lQnJlYWspOworICAgIGF1dG8gdGV4dEluZGVudCA9IGNvbXB1dGVUZXh0
SW5kZW50KHsgSW5saW5lRm9ybWF0dGluZ1V0aWxzOjpMaW5lRW5kc1dpdGhMaW5lQnJlYWs6Ok5v
IH0pOwogICAgIC8vIHN0YXRlW2ldW2pdIGhvbGRzIHRoZSBvcHRpbWFsIHNldCBvZiBsaW5lIGJy
ZWFrcyB3aGVyZSB0aGUganRoIGxpbmUgYnJlYWsgKDEtaW5kZXhlZCkgaXMKICAgICAvLyByaWdo
dCBiZWZvcmUgbV9pbmxpbmVJdGVtTGlzdFticmVha09wcG9ydHVuaXRpZXNbaV1dLiAiT3B0aW1h
bCIgaW4gdGhpcyBjb250ZXh0IG1lYW5zIHRoZQogICAgIC8vIGxvd2VzdCBwb3NzaWJsZSBhY2N1
bXVsYXRlZCBjb3N0LgpAQCAtNDY5LDkgKzQ2OSw5IEBAIHN0ZDo6b3B0aW9uYWw8VmVjdG9yPExh
eW91dFVuaXQ+PiBJbmxpbmVDb250ZW50Q29uc3RyYWluZXI6OmJhbGFuY2VSYW5nZVdpdGhOb0xp
CiAgICAgYXV0byBudW1iZXJPZkJyZWFrT3Bwb3J0dW5pdGllcyA9IGJyZWFrT3Bwb3J0dW5pdGll
cy5zaXplKCk7CiAKICAgICAvLyBJbmRlbnRhdGlvbiBvZmZzZXRzCi0gICAgYXV0byBwcmV2aW91
c0xpbmVFbmRzV2l0aExpbmVCcmVhayA9IGlzRmlyc3RDaHVuayA/IFByZXZpb3VzTGluZVN0YXRl
OjpOb1ByZXZpb3VzTGluZSA6IFByZXZpb3VzTGluZVN0YXRlOjpFbmRzV2l0aExpbmVCcmVhazsK
KyAgICBhdXRvIHByZXZpb3VzTGluZUVuZHNXaXRoTGluZUJyZWFrID0gaXNGaXJzdENodW5rID8g
c3RkOjpudWxsb3B0IDogc3RkOjptYWtlX29wdGlvbmFsKElubGluZUZvcm1hdHRpbmdVdGlsczo6
TGluZUVuZHNXaXRoTGluZUJyZWFrOjpZZXMpOwogICAgIGF1dG8gZmlyc3RMaW5lVGV4dEluZGVu
dCA9IGNvbXB1dGVUZXh0SW5kZW50KHByZXZpb3VzTGluZUVuZHNXaXRoTGluZUJyZWFrKTsKLSAg
ICBhdXRvIHRleHRJbmRlbnQgPSBjb21wdXRlVGV4dEluZGVudChQcmV2aW91c0xpbmVTdGF0ZTo6
RG9lc05vdEVuZFdpdGhMaW5lQnJlYWspOworICAgIGF1dG8gdGV4dEluZGVudCA9IGNvbXB1dGVU
ZXh0SW5kZW50KHsgSW5saW5lRm9ybWF0dGluZ1V0aWxzOjpMaW5lRW5kc1dpdGhMaW5lQnJlYWs6
Ok5vIH0pOwogCiAgICAgLy8gc3RhdGVbaV0gaG9sZHMgdGhlIG9wdGltYWwgc2V0IG9mIGxpbmUg
YnJlYWtzIHdoZXJlIHRoZSBsYXN0IGxpbmUgYnJlYWsgaXMgcmlnaHQKICAgICAvLyBiZWZvcmUg
bV9pbmxpbmVJdGVtTGlzdFticmVha09wcG9ydHVuaXRpZXNbaV1dLiAiT3B0aW1hbCIgaW4gdGhp
cyBjb250ZXh0IG1lYW5zIHRoZQpAQCAtNTU5LDkgKzU1OSw5IEBAIHN0ZDo6b3B0aW9uYWw8VmVj
dG9yPExheW91dFVuaXQ+PiBJbmxpbmVDb250ZW50Q29uc3RyYWluZXI6OnByZXR0aWZ5UmFuZ2Uo
SW5saW5lCiAgICAgYXV0byBudW1iZXJPZkJyZWFrT3Bwb3J0dW5pdGllcyA9IGJyZWFrT3Bwb3J0
dW5pdGllcy5zaXplKCk7CiAKICAgICAvLyBJbmRlbnRhdGlvbiBvZmZzZXRzCi0gICAgYXV0byBw
cmV2aW91c0xpbmVFbmRzV2l0aExpbmVCcmVhayA9IGlzRmlyc3RDaHVuayA/IFByZXZpb3VzTGlu
ZVN0YXRlOjpOb1ByZXZpb3VzTGluZSA6IFByZXZpb3VzTGluZVN0YXRlOjpFbmRzV2l0aExpbmVC
cmVhazsKKyAgICBhdXRvIHByZXZpb3VzTGluZUVuZHNXaXRoTGluZUJyZWFrID0gaXNGaXJzdENo
dW5rID8gc3RkOjpudWxsb3B0IDogc3RkOjptYWtlX29wdGlvbmFsKElubGluZUZvcm1hdHRpbmdV
dGlsczo6TGluZUVuZHNXaXRoTGluZUJyZWFrOjpZZXMpOwogICAgIGF1dG8gZmlyc3RMaW5lVGV4
dEluZGVudCA9IGNvbXB1dGVUZXh0SW5kZW50KHByZXZpb3VzTGluZUVuZHNXaXRoTGluZUJyZWFr
KTsKLSAgICBhdXRvIHRleHRJbmRlbnQgPSBjb21wdXRlVGV4dEluZGVudChQcmV2aW91c0xpbmVT
dGF0ZTo6RG9lc05vdEVuZFdpdGhMaW5lQnJlYWspOworICAgIGF1dG8gdGV4dEluZGVudCA9IGNv
bXB1dGVUZXh0SW5kZW50KHsgSW5saW5lRm9ybWF0dGluZ1V0aWxzOjpMaW5lRW5kc1dpdGhMaW5l
QnJlYWs6Ok5vIH0pOwogCiAgICAgLy8gc3RhdGVbaV0gaG9sZHMgdGhlIG9wdGltYWwgc2V0IG9m
IGxpbmUgYnJlYWtzIHdoZXJlIHRoZSBsYXN0IGxpbmUgYnJlYWsgaXMgcmlnaHQKICAgICAvLyBi
ZWZvcmUgbV9pbmxpbmVJdGVtTGlzdFticmVha09wcG9ydHVuaXRpZXNbaV1dLiAiT3B0aW1hbCIg
aW4gdGhpcyBjb250ZXh0IG1lYW5zIHRoZQpAQCAtODQ2LDkgKzg0Niw5IEBAIFZlY3RvcjxzaXpl
X3Q+IElubGluZUNvbnRlbnRDb25zdHJhaW5lcjo6Y29tcHV0ZUJyZWFrT3Bwb3J0dW5pdGllcyhJ
bmxpbmVJdGVtUmFuCiBWZWN0b3I8TGF5b3V0VW5pdD4gSW5saW5lQ29udGVudENvbnN0cmFpbmVy
Ojpjb21wdXRlTGluZVdpZHRoc0Zyb21CcmVha3MoSW5saW5lSXRlbVJhbmdlIGlubGluZUl0ZW1z
LCBjb25zdCBWZWN0b3I8c2l6ZV90PiYgYnJlYWtzLCBib29sIGlzRmlyc3RDaHVuaykgY29uc3QK
IHsKICAgICBWZWN0b3I8TGF5b3V0VW5pdD4gbGluZVdpZHRocyhicmVha3Muc2l6ZSgpKTsKLSAg
ICBhdXRvIHByZXZpb3VzTGluZUVuZHNXaXRoTGluZUJyZWFrID0gaXNGaXJzdENodW5rID8gUHJl
dmlvdXNMaW5lU3RhdGU6Ok5vUHJldmlvdXNMaW5lIDogUHJldmlvdXNMaW5lU3RhdGU6OkVuZHNX
aXRoTGluZUJyZWFrOworICAgIGF1dG8gcHJldmlvdXNMaW5lRW5kc1dpdGhMaW5lQnJlYWsgPSBp
c0ZpcnN0Q2h1bmsgPyBzdGQ6Om51bGxvcHQgOiBzdGQ6Om1ha2Vfb3B0aW9uYWwoSW5saW5lRm9y
bWF0dGluZ1V0aWxzOjpMaW5lRW5kc1dpdGhMaW5lQnJlYWs6Olllcyk7CiAgICAgYXV0byBmaXJz
dExpbmVUZXh0SW5kZW50ID0gY29tcHV0ZVRleHRJbmRlbnQocHJldmlvdXNMaW5lRW5kc1dpdGhM
aW5lQnJlYWspOwotICAgIGF1dG8gdGV4dEluZGVudCA9IGNvbXB1dGVUZXh0SW5kZW50KFByZXZp
b3VzTGluZVN0YXRlOjpEb2VzTm90RW5kV2l0aExpbmVCcmVhayk7CisgICAgYXV0byB0ZXh0SW5k
ZW50ID0gY29tcHV0ZVRleHRJbmRlbnQoeyBJbmxpbmVGb3JtYXR0aW5nVXRpbHM6OkxpbmVFbmRz
V2l0aExpbmVCcmVhazo6Tm8gfSk7CiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBicmVha3Mu
c2l6ZSgpOyBpKyspIHsKICAgICAgICAgYXV0byBzdGFydCA9ICFpID8gaW5saW5lSXRlbXMuc3Rh
cnRJbmRleCgpIDogYnJlYWtzW2kgLSAxXTsKICAgICAgICAgYXV0byBlbmQgPSBicmVha3NbaV07
CkBAIC04NjEsMTcgKzg2MSwxNyBAQCBWZWN0b3I8TGF5b3V0VW5pdD4gSW5saW5lQ29udGVudENv
bnN0cmFpbmVyOjpjb21wdXRlTGluZVdpZHRoc0Zyb21CcmVha3MoSW5saW5lSQogCiBJbmxpbmVM
YXlvdXRVbml0IElubGluZUNvbnRlbnRDb25zdHJhaW5lcjo6Y29tcHV0ZU1heFRleHRJbmRlbnQo
KSBjb25zdAogewotICAgIGF1dG8gbm9QcmV2aW91c0xpbmVUZXh0SW5kZW50ID0gY29tcHV0ZVRl
eHRJbmRlbnQoUHJldmlvdXNMaW5lU3RhdGU6Ok5vUHJldmlvdXNMaW5lKTsKLSAgICBhdXRvIGZp
cnN0TGluZVRleHRJbmRlbnQgPSBjb21wdXRlVGV4dEluZGVudChQcmV2aW91c0xpbmVTdGF0ZTo6
RW5kc1dpdGhMaW5lQnJlYWspOwotICAgIGF1dG8gdGV4dEluZGVudCA9IGNvbXB1dGVUZXh0SW5k
ZW50KFByZXZpb3VzTGluZVN0YXRlOjpEb2VzTm90RW5kV2l0aExpbmVCcmVhayk7CisgICAgYXV0
byBub1ByZXZpb3VzTGluZVRleHRJbmRlbnQgPSBjb21wdXRlVGV4dEluZGVudCh7IH0pOworICAg
IGF1dG8gZmlyc3RMaW5lVGV4dEluZGVudCA9IGNvbXB1dGVUZXh0SW5kZW50KHsgSW5saW5lRm9y
bWF0dGluZ1V0aWxzOjpMaW5lRW5kc1dpdGhMaW5lQnJlYWs6OlllcyB9KTsKKyAgICBhdXRvIHRl
eHRJbmRlbnQgPSBjb21wdXRlVGV4dEluZGVudCh7IElubGluZUZvcm1hdHRpbmdVdGlsczo6TGlu
ZUVuZHNXaXRoTGluZUJyZWFrOjpObyB9KTsKIAogICAgIC8vIFJldHVybiB0aGUgbWF4aW11bSBp
bmRlbnQgdmFsdWUKICAgICByZXR1cm4gc3RkOjptYXgoeyBub1ByZXZpb3VzTGluZVRleHRJbmRl
bnQsIGZpcnN0TGluZVRleHRJbmRlbnQsIHRleHRJbmRlbnQgfSk7CiB9CiAKLUlubGluZUxheW91
dFVuaXQgSW5saW5lQ29udGVudENvbnN0cmFpbmVyOjpjb21wdXRlVGV4dEluZGVudChQcmV2aW91
c0xpbmVTdGF0ZSBwcmV2aW91c0xpbmVTdGF0ZSkgY29uc3QKK0lubGluZUxheW91dFVuaXQgSW5s
aW5lQ29udGVudENvbnN0cmFpbmVyOjpjb21wdXRlVGV4dEluZGVudChzdGQ6Om9wdGlvbmFsPElu
bGluZUZvcm1hdHRpbmdVdGlsczo6TGluZUVuZHNXaXRoTGluZUJyZWFrPiBsaW5lRW5kc1dpdGhM
aW5lQnJlYWspIGNvbnN0CiB7Ci0gICAgcmV0dXJuIG1faW5saW5lRm9ybWF0dGluZ0NvbnRleHQu
Zm9ybWF0dGluZ1V0aWxzKCkuY29tcHV0ZWRUZXh0SW5kZW50KElubGluZUZvcm1hdHRpbmdVdGls
czo6SXNJbnRyaW5zaWNXaWR0aE1vZGU6Ok5vLCBwcmV2aW91c0xpbmVTdGF0ZSwgbV9tYXhpbXVt
TGluZVdpZHRoQ29uc3RyYWludCk7CisgICAgcmV0dXJuIG1faW5saW5lRm9ybWF0dGluZ0NvbnRl
eHQuZm9ybWF0dGluZ1V0aWxzKCkuY29tcHV0ZWRUZXh0SW5kZW50KElubGluZUZvcm1hdHRpbmdV
dGlsczo6SXNJbnRyaW5zaWNXaWR0aE1vZGU6Ok5vLCBsaW5lRW5kc1dpdGhMaW5lQnJlYWssIG1f
bWF4aW11bUxpbmVXaWR0aENvbnN0cmFpbnQpOwogfQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVDb250ZW50Q29u
c3RyYWluZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5s
aW5lL0lubGluZUNvbnRlbnRDb25zdHJhaW5lci5oCmluZGV4IDJhMzFmY2ZiOGUwYS4uMWE3ZWYx
OGZhMWM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRl
eHRzL2lubGluZS9JbmxpbmVDb250ZW50Q29uc3RyYWluZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVDb250ZW50Q29uc3RyYWlu
ZXIuaApAQCAtNzQsNyArNzQsNyBAQCBwcml2YXRlOgogICAgIFZlY3RvcjxzaXplX3Q+IGNvbXB1
dGVCcmVha09wcG9ydHVuaXRpZXMoSW5saW5lSXRlbVJhbmdlKSBjb25zdDsKICAgICBWZWN0b3I8
TGF5b3V0VW5pdD4gY29tcHV0ZUxpbmVXaWR0aHNGcm9tQnJlYWtzKElubGluZUl0ZW1SYW5nZSwg
Y29uc3QgVmVjdG9yPHNpemVfdD4mIGJyZWFrcywgYm9vbCBpc0ZpcnN0Q2h1bmspIGNvbnN0Owog
ICAgIElubGluZUxheW91dFVuaXQgY29tcHV0ZU1heFRleHRJbmRlbnQoKSBjb25zdDsKLSAgICBJ
bmxpbmVMYXlvdXRVbml0IGNvbXB1dGVUZXh0SW5kZW50KFByZXZpb3VzTGluZVN0YXRlKSBjb25z
dDsKKyAgICBJbmxpbmVMYXlvdXRVbml0IGNvbXB1dGVUZXh0SW5kZW50KHN0ZDo6b3B0aW9uYWw8
SW5saW5lRm9ybWF0dGluZ1V0aWxzOjpMaW5lRW5kc1dpdGhMaW5lQnJlYWs+KSBjb25zdDsKIAog
ICAgIElubGluZUZvcm1hdHRpbmdDb250ZXh0JiBtX2lubGluZUZvcm1hdHRpbmdDb250ZXh0Owog
ICAgIGNvbnN0IElubGluZUl0ZW1MaXN0JiBtX2lubGluZUl0ZW1MaXN0OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9y
bWF0dGluZ1V0aWxzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4
dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdVdGlscy5jcHAKaW5kZXggM2I0NDMxZThlMzA3Li5m
YmE0ZTk1MDBlOTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5n
Q29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdVdGlscy5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ1V0
aWxzLmNwcApAQCAtMTQ2LDcgKzE0Niw3IEBAIElubGluZVJlY3QgSW5saW5lRm9ybWF0dGluZ1V0
aWxzOjpmbGlwVmlzdWFsUmVjdFRvTG9naWNhbEZvcldyaXRpbmdNb2RlKGNvbnN0IEluCiAgICAg
cmV0dXJuIHZpc3VhbFJlY3Q7CiB9CiAKLUlubGluZUxheW91dFVuaXQgSW5saW5lRm9ybWF0dGlu
Z1V0aWxzOjpjb21wdXRlZFRleHRJbmRlbnQoSXNJbnRyaW5zaWNXaWR0aE1vZGUgaXNJbnRyaW5z
aWNXaWR0aE1vZGUsIFByZXZpb3VzTGluZVN0YXRlIHByZXZpb3VzTGluZVN0YXRlLCBJbmxpbmVM
YXlvdXRVbml0IGF2YWlsYWJsZVdpZHRoKSBjb25zdAorSW5saW5lTGF5b3V0VW5pdCBJbmxpbmVG
b3JtYXR0aW5nVXRpbHM6OmNvbXB1dGVkVGV4dEluZGVudChJc0ludHJpbnNpY1dpZHRoTW9kZSBp
c0ludHJpbnNpY1dpZHRoTW9kZSwgc3RkOjpvcHRpb25hbDxMaW5lRW5kc1dpdGhMaW5lQnJlYWs+
IHByZXZpb3VzTGluZUVuZHNXaXRoTGluZUJyZWFrLCBJbmxpbmVMYXlvdXRVbml0IGF2YWlsYWJs
ZVdpZHRoKSBjb25zdAogewogICAgIGF1dG8mIHJvb3QgPSBmb3JtYXR0aW5nQ29udGV4dCgpLnJv
b3QoKTsKIApAQCAtMTU3LDggKzE1Nyw3IEBAIElubGluZUxheW91dFVuaXQgSW5saW5lRm9ybWF0
dGluZ1V0aWxzOjpjb21wdXRlZFRleHRJbmRlbnQoSXNJbnRyaW5zaWNXaWR0aE1vZGUKICAgICAv
LyBJZiAnZWFjaC1saW5lJyBpcyBzcGVjaWZpZWQsIGluZGVudGF0aW9uIGFsc28gYXBwbGllcyB0
byBhbGwgbGluZXMgd2hlcmUgdGhlIHByZXZpb3VzIGxpbmUgZW5kcyB3aXRoIGEgaGFyZCBicmVh
ay4KICAgICAvLyBbSW50ZWdyYXRpb25dIHJvb3QoKS0+cGFyZW50KCkgd291bGQgbm9ybWFsbHkg
cHJvZHVjZSBhIHZhbGlkIGxheW91dCBib3guCiAgICAgYm9vbCBzaG91bGRJbmRlbnQgPSBmYWxz
ZTsKLSAgICBzd2l0Y2ggKHByZXZpb3VzTGluZVN0YXRlKSB7Ci0gICAgY2FzZSBQcmV2aW91c0xp
bmVTdGF0ZTo6Tm9QcmV2aW91c0xpbmU6CisgICAgaWYgKCFwcmV2aW91c0xpbmVFbmRzV2l0aExp
bmVCcmVhaykgewogICAgICAgICBzaG91bGRJbmRlbnQgPSAhcm9vdC5pc0Fub255bW91cygpOwog
ICAgICAgICBpZiAocm9vdC5pc0Fub255bW91cygpKSB7CiAgICAgICAgICAgICBpZiAoIXJvb3Qu
aXNJbmxpbmVJbnRlZ3JhdGlvblJvb3QoKSkKQEAgLTE2NiwxNCArMTY1LDggQEAgSW5saW5lTGF5
b3V0VW5pdCBJbmxpbmVGb3JtYXR0aW5nVXRpbHM6OmNvbXB1dGVkVGV4dEluZGVudChJc0ludHJp
bnNpY1dpZHRoTW9kZQogICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgIHNob3VsZElu
ZGVudCA9IHJvb3QuaXNGaXJzdENoaWxkRm9ySW50ZWdyYXRpb24oKTsKICAgICAgICAgfQotICAg
ICAgICBicmVhazsKLSAgICBjYXNlIFByZXZpb3VzTGluZVN0YXRlOjpFbmRzV2l0aExpbmVCcmVh
azoKKyAgICB9IGVsc2UgaWYgKCpwcmV2aW91c0xpbmVFbmRzV2l0aExpbmVCcmVhayA9PSBMaW5l
RW5kc1dpdGhMaW5lQnJlYWs6OlllcykKICAgICAgICAgc2hvdWxkSW5kZW50ID0gcm9vdC5zdHls
ZSgpLnRleHRJbmRlbnQoKS5lYWNoTGluZS5oYXNfdmFsdWUoKTsKLSAgICAgICAgYnJlYWs7Ci0g
ICAgY2FzZSBQcmV2aW91c0xpbmVTdGF0ZTo6RG9lc05vdEVuZFdpdGhMaW5lQnJlYWs6Ci0gICAg
ICAgIHNob3VsZEluZGVudCA9IGZhbHNlOwotICAgICAgICBicmVhazsKLSAgICB9CiAKICAgICAv
LyBTcGVjaWZ5aW5nICdoYW5naW5nJyBpbnZlcnRzIHdoZXRoZXIgdGhlIGxpbmUgc2hvdWxkIGJl
IGluZGVudGVkIG9yIG5vdC4KICAgICBpZiAocm9vdC5zdHlsZSgpLnRleHRJbmRlbnQoKS5oYW5n
aW5nLmhhc192YWx1ZSgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1h
dHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ1V0aWxzLmggYi9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVGb3JtYXR0aW5nVXRp
bHMuaAppbmRleCA3Y2Y1NGFmMTUxNmEuLjU5MGI4YmQzODc4NCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGlu
Z1V0aWxzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9p
bmxpbmUvSW5saW5lRm9ybWF0dGluZ1V0aWxzLmgKQEAgLTQ1LDcgKzQ1LDggQEAgcHVibGljOgog
ICAgIENvbnRlbnRXaWR0aEFuZE1hcmdpbiBpbmxpbmVCbG9ja0NvbnRlbnRXaWR0aEFuZE1hcmdp
bihjb25zdCBCb3gmLCBjb25zdCBIb3Jpem9udGFsQ29uc3RyYWludHMmLCBjb25zdCBPdmVycmlk
ZGVuSG9yaXpvbnRhbFZhbHVlcyYpIGNvbnN0OwogCiAgICAgZW51bSBjbGFzcyBJc0ludHJpbnNp
Y1dpZHRoTW9kZSA6IGJvb2wgeyBObywgWWVzIH07Ci0gICAgSW5saW5lTGF5b3V0VW5pdCBjb21w
dXRlZFRleHRJbmRlbnQoSXNJbnRyaW5zaWNXaWR0aE1vZGUsIFByZXZpb3VzTGluZVN0YXRlLCBJ
bmxpbmVMYXlvdXRVbml0IGF2YWlsYWJsZVdpZHRoKSBjb25zdDsKKyAgICBlbnVtIGNsYXNzIExp
bmVFbmRzV2l0aExpbmVCcmVhayA6IGJvb2wgeyBObywgWWVzIH07CisgICAgSW5saW5lTGF5b3V0
VW5pdCBjb21wdXRlZFRleHRJbmRlbnQoSXNJbnRyaW5zaWNXaWR0aE1vZGUsIHN0ZDo6b3B0aW9u
YWw8TGluZUVuZHNXaXRoTGluZUJyZWFrPiBwcmV2aW91c0xpbmVFbmRzV2l0aExpbmVCcmVhaywg
SW5saW5lTGF5b3V0VW5pdCBhdmFpbGFibGVXaWR0aCkgY29uc3Q7CiAKICAgICBib29sIGlubGlu
ZUxldmVsQm94QWZmZWN0c0xpbmVCb3goY29uc3QgSW5saW5lTGV2ZWxCb3gmKSBjb25zdDsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxp
bmUvSW5saW5lTGluZUJ1aWxkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRp
bmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJ1aWxkZXIuY3BwCmluZGV4IDk0MzQ2NDdiMmE3
MS4uYzNkNjMxNmNmYzZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0
dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJ1aWxkZXIu
Y3BwCkBAIC0yNjYsOCArMjY2LDcgQEAgTGluZUJ1aWxkZXI6OkxpbmVCdWlsZGVyKElubGluZUZv
cm1hdHRpbmdDb250ZXh0JiBpbmxpbmVGb3JtYXR0aW5nQ29udGV4dCwgSG9yaXoKIAogTGluZUxh
eW91dFJlc3VsdCBMaW5lQnVpbGRlcjo6bGF5b3V0SW5saW5lQ29udGVudChjb25zdCBMaW5lSW5w
dXQmIGxpbmVJbnB1dCwgY29uc3Qgc3RkOjpvcHRpb25hbDxQcmV2aW91c0xpbmU+JiBwcmV2aW91
c0xpbmUsIGJvb2wgaXNGaXJzdEZvcm1hdHRlZExpbmVDYW5kaWRhdGUpCiB7Ci0gICAgYXV0byBw
cmV2aW91c0xpbmVTdGF0ZSA9ICFwcmV2aW91c0xpbmUgfHwgIXByZXZpb3VzTGluZS0+aGFzSW5s
aW5lQ29udGVudCA/IFByZXZpb3VzTGluZVN0YXRlOjpOb1ByZXZpb3VzTGluZSA6IChwcmV2aW91
c0xpbmUtPmVuZHNXaXRoTGluZUJyZWFrID8gUHJldmlvdXNMaW5lU3RhdGU6OkVuZHNXaXRoTGlu
ZUJyZWFrIDogUHJldmlvdXNMaW5lU3RhdGU6OkRvZXNOb3RFbmRXaXRoTGluZUJyZWFrKTsKLSAg
ICBpbml0aWFsaXplKGxpbmVJbnB1dC5pbml0aWFsTG9naWNhbFJlY3QsIGxpbmVJbnB1dC5uZWVk
c0xheW91dFJhbmdlLCBwcmV2aW91c0xpbmUsIHByZXZpb3VzTGluZVN0YXRlLCBpc0ZpcnN0Rm9y
bWF0dGVkTGluZUNhbmRpZGF0ZSk7CisgICAgaW5pdGlhbGl6ZShsaW5lSW5wdXQuaW5pdGlhbExv
Z2ljYWxSZWN0LCBsaW5lSW5wdXQubmVlZHNMYXlvdXRSYW5nZSwgcHJldmlvdXNMaW5lLCBpc0Zp
cnN0Rm9ybWF0dGVkTGluZUNhbmRpZGF0ZSk7CiAgICAgYXV0byBsaW5lQ29udGVudCA9IHBsYWNl
SW5saW5lQW5kRmxvYXRDb250ZW50KGxpbmVJbnB1dC5uZWVkc0xheW91dFJhbmdlKTsKICAgICBh
dXRvIHJlc3VsdCA9IG1fbGluZS5jbG9zZSgpOwogCkBAIC0zMTksNyArMzE4LDcgQEAgTGluZUxh
eW91dFJlc3VsdCBMaW5lQnVpbGRlcjo6bGF5b3V0SW5saW5lQ29udGVudChjb25zdCBMaW5lSW5w
dXQmIGxpbmVJbnB1dCwgY28KICAgICB9OwogfQogCi12b2lkIExpbmVCdWlsZGVyOjppbml0aWFs
aXplKGNvbnN0IElubGluZVJlY3QmIGluaXRpYWxMaW5lTG9naWNhbFJlY3QsIGNvbnN0IElubGlu
ZUl0ZW1SYW5nZSYgbmVlZHNMYXlvdXRSYW5nZSwgY29uc3Qgc3RkOjpvcHRpb25hbDxQcmV2aW91
c0xpbmU+JiBwcmV2aW91c0xpbmUsIFByZXZpb3VzTGluZVN0YXRlIHByZXZpb3VzTGluZVN0YXRl
LCBib29sIGlzRmlyc3RGb3JtYXR0ZWRMaW5lQ2FuZGlkYXRlKQordm9pZCBMaW5lQnVpbGRlcjo6
aW5pdGlhbGl6ZShjb25zdCBJbmxpbmVSZWN0JiBpbml0aWFsTGluZUxvZ2ljYWxSZWN0LCBjb25z
dCBJbmxpbmVJdGVtUmFuZ2UmIG5lZWRzTGF5b3V0UmFuZ2UsIGNvbnN0IHN0ZDo6b3B0aW9uYWw8
UHJldmlvdXNMaW5lPiYgcHJldmlvdXNMaW5lLCBib29sIGlzRmlyc3RGb3JtYXR0ZWRMaW5lQ2Fu
ZGlkYXRlKQogewogICAgIEFTU0VSVCghbmVlZHNMYXlvdXRSYW5nZS5pc0VtcHR5KCkgfHwgKHBy
ZXZpb3VzTGluZSAmJiAhcHJldmlvdXNMaW5lLT5zdXNwZW5kZWRGbG9hdHMuaXNFbXB0eSgpKSk7
CiAgICAgcmVzZXQoKTsKQEAgLTM4NCw3ICszODMsOCBAQCB2b2lkIExpbmVCdWlsZGVyOjppbml0
aWFsaXplKGNvbnN0IElubGluZVJlY3QmIGluaXRpYWxMaW5lTG9naWNhbFJlY3QsIGNvbnN0IElu
bAogICAgIG1fbGluZS5pbml0aWFsaXplKG1fbGluZVNwYW5uaW5nSW5saW5lQm94ZXMsIGlzRmly
c3RGb3JtYXR0ZWRMaW5lQ2FuZGlkYXRlKTsKIAogICAgIG1fbGluZUluaXRpYWxMb2dpY2FsUmVj
dCA9IGluaXRpYWxMaW5lTG9naWNhbFJlY3Q7Ci0gICAgbV9saW5lTWFyZ2luU3RhcnQgPSBmb3Jt
YXR0aW5nQ29udGV4dCgpLmZvcm1hdHRpbmdVdGlscygpLmNvbXB1dGVkVGV4dEluZGVudChpc0lu
SW50cmluc2ljV2lkdGhNb2RlKCkgPyBJbmxpbmVGb3JtYXR0aW5nVXRpbHM6OklzSW50cmluc2lj
V2lkdGhNb2RlOjpZZXMgOiBJbmxpbmVGb3JtYXR0aW5nVXRpbHM6OklzSW50cmluc2ljV2lkdGhN
b2RlOjpObywgcHJldmlvdXNMaW5lU3RhdGUsIGluaXRpYWxMaW5lTG9naWNhbFJlY3Qud2lkdGgo
KSk7CisgICAgYXV0byBwcmV2aW91c0xpbmVFbmRzV2l0aExpbmVCcmVhayA9IHByZXZpb3VzTGlu
ZSAmJiBwcmV2aW91c0xpbmUtPmhhc0lubGluZUNvbnRlbnQgPyBzdGQ6Om1ha2Vfb3B0aW9uYWwo
cHJldmlvdXNMaW5lLT5lbmRzV2l0aExpbmVCcmVhayA/IElubGluZUZvcm1hdHRpbmdVdGlsczo6
TGluZUVuZHNXaXRoTGluZUJyZWFrOjpZZXMgOiBJbmxpbmVGb3JtYXR0aW5nVXRpbHM6OkxpbmVF
bmRzV2l0aExpbmVCcmVhazo6Tm8pIDogc3RkOjpudWxsb3B0OworICAgIG1fbGluZU1hcmdpblN0
YXJ0ID0gZm9ybWF0dGluZ0NvbnRleHQoKS5mb3JtYXR0aW5nVXRpbHMoKS5jb21wdXRlZFRleHRJ
bmRlbnQoaXNJbkludHJpbnNpY1dpZHRoTW9kZSgpID8gSW5saW5lRm9ybWF0dGluZ1V0aWxzOjpJ
c0ludHJpbnNpY1dpZHRoTW9kZTo6WWVzIDogSW5saW5lRm9ybWF0dGluZ1V0aWxzOjpJc0ludHJp
bnNpY1dpZHRoTW9kZTo6Tm8sIHByZXZpb3VzTGluZUVuZHNXaXRoTGluZUJyZWFrLCBpbml0aWFs
TGluZUxvZ2ljYWxSZWN0LndpZHRoKCkpOwogCiAgICAgYXV0byBjb25zdHJhaW50cyA9IGZsb2F0
QXZvaWRpbmdSZWN0KGluaXRpYWxMaW5lTG9naWNhbFJlY3QsIHsgfSk7CiAgICAgbV9saW5lTG9n
aWNhbFJlY3QgPSBjb25zdHJhaW50cy5sb2dpY2FsUmVjdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVCdWlsZGVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9Jbmxp
bmVMaW5lQnVpbGRlci5oCmluZGV4IGEzMzI2MWNkYzk3Yy4uN2RjNzA5ZTI5NmEyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9Jbmxp
bmVMaW5lQnVpbGRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29u
dGV4dHMvaW5saW5lL0lubGluZUxpbmVCdWlsZGVyLmgKQEAgLTY5LDcgKzY5LDcgQEAgcHJpdmF0
ZToKICAgICBzaXplX3QgcmVidWlsZExpbmVXaXRoSW5saW5lQ29udGVudChjb25zdCBJbmxpbmVJ
dGVtUmFuZ2UmIG5lZWRzTGF5b3V0UmFuZ2UsIGNvbnN0IElubGluZUl0ZW0mIGxhc3RJbmxpbmVJ
dGVtVG9BZGQpOwogICAgIHNpemVfdCByZWJ1aWxkTGluZUZvclRyYWlsaW5nU29mdEh5cGhlbihj
b25zdCBJbmxpbmVJdGVtUmFuZ2UmIGxheW91dFJhbmdlKTsKICAgICB2b2lkIGNvbW1pdFBhcnRp
YWxDb250ZW50KGNvbnN0IElubGluZUNvbnRlbnRCcmVha2VyOjpDb250aW51b3VzQ29udGVudDo6
UnVuTGlzdCYsIGNvbnN0IElubGluZUNvbnRlbnRCcmVha2VyOjpSZXN1bHQ6OlBhcnRpYWxUcmFp
bGluZ0NvbnRlbnQmKTsKLSAgICB2b2lkIGluaXRpYWxpemUoY29uc3QgSW5saW5lUmVjdCYgaW5p
dGlhbExpbmVMb2dpY2FsUmVjdCwgY29uc3QgSW5saW5lSXRlbVJhbmdlJiBuZWVkc0xheW91dFJh
bmdlLCBjb25zdCBzdGQ6Om9wdGlvbmFsPFByZXZpb3VzTGluZT4mLCAgUHJldmlvdXNMaW5lU3Rh
dGUsIGJvb2wgaXNGaXJzdEZvcm1hdHRlZExpbmVDYW5kaWRhdGUpOworICAgIHZvaWQgaW5pdGlh
bGl6ZShjb25zdCBJbmxpbmVSZWN0JiBpbml0aWFsTGluZUxvZ2ljYWxSZWN0LCBjb25zdCBJbmxp
bmVJdGVtUmFuZ2UmIG5lZWRzTGF5b3V0UmFuZ2UsIGNvbnN0IHN0ZDo6b3B0aW9uYWw8UHJldmlv
dXNMaW5lPiYsIGJvb2wgaXNGaXJzdEZvcm1hdHRlZExpbmVDYW5kaWRhdGUpOwogICAgIFVuaXF1
ZVJlZjxMaW5lQ29udGVudD4gcGxhY2VJbmxpbmVBbmRGbG9hdENvbnRlbnQoY29uc3QgSW5saW5l
SXRlbVJhbmdlJik7CiAgICAgc3RydWN0IEluaXRpYWxMZXR0ZXJPZmZzZXRzIHsKICAgICAgICAg
TGF5b3V0VW5pdCBjYXBIZWlnaHRPZmZzZXQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lVHlwZXMuaCBiL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVUeXBl
cy5oCmluZGV4IDIyM2NkNzQyNzBmYi4uM2ZhYmZhNjBhZWViIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lVHlwZXMu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9J
bmxpbmVMaW5lVHlwZXMuaApAQCAtNDIsMTIgKzQyLDYgQEAgc3RydWN0IFRleHRTcGFjaW5nQ29u
dGV4dCB7CiAgICAgVHJpbW1hYmxlVGV4dFNwYWNpbmdzIHRyaW1tYWJsZVRleHRTcGFjaW5nczsK
IH07CiAKLWVudW0gY2xhc3MgUHJldmlvdXNMaW5lU3RhdGUgewotICAgIE5vUHJldmlvdXNMaW5l
LAotICAgIEVuZHNXaXRoTGluZUJyZWFrLAotICAgIERvZXNOb3RFbmRXaXRoTGluZUJyZWFrLAot
fTsKLQogZW51bSBjbGFzcyBMaW5lRW5kaW5nVHJ1bmNhdGlvblBvbGljeSA6IHVpbnQ4X3Qgewog
ICAgIE5vVHJ1bmNhdGlvbiwKICAgICBXaGVuQ29udGVudE92ZXJmbG93c0luSW5saW5lRGlyZWN0
aW9uLAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>