<?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>290125</bug_id>
          
          <creation_ts>2025-03-20 13:54:55 -0700</creation_ts>
          <short_desc>[Cleanup] Add writingMode to RenderElement</short_desc>
          <delta_ts>2025-03-21 08:49:16 -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>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>2104750</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2025-03-20 13:54:55 -0700</bug_when>
    <thetext>ssia</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2104751</commentid>
    <comment_count>1</comment_count>
      <attachid>474650</attachid>
    <who name="alan">zalan</who>
    <bug_when>2025-03-20 13:56:47 -0700</bug_when>
    <thetext>Created attachment 474650
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2104942</commentid>
    <comment_count>2</comment_count>
      <attachid>474667</attachid>
    <who name="alan">zalan</who>
    <bug_when>2025-03-21 05:15:45 -0700</bug_when>
    <thetext>Created attachment 474667
[fast-cq]Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2104992</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2025-03-21 08:48:28 -0700</bug_when>
    <thetext>Committed 292475@main (a83e326d9ee9): &lt;https://commits.webkit.org/292475@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 474667.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2104993</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2025-03-21 08:49:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/147584357&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>474650</attachid>
            <date>2025-03-20 13:56:47 -0700</date>
            <delta_ts>2025-03-21 05:15:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-290125-20250320135646.patch</filename>
            <type>text/plain</type>
            <size>15964</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSA0NTUwNDgyZWYzMDFiNDU5ZDQwNjIwMmMxNTAxNTE4MDZmZGJhYTJjIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJhcmFkbGF5IDx6YWxhbkBhcHBsZS5jb20+CkRhdGU6
IFRodSwgMjAgTWFyIDIwMjUgMTM6NTU6MDQgLTA3MDAKU3ViamVjdDogW1BBVENIXSBbQ2xlYW51
cF0gQWRkIHdyaXRpbmdNb2RlIHRvIFJlbmRlckVsZW1lbnQKIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yOTAxMjUKClJldmlld2VkIGJ5IEFudHRpIEtvaXZpc3RvLgoK
SGF2aW5nIHdyaXRpbmdNb2RlIG9uIFJlbmRlckVsZW1lbnQgZW5zdXJlcyBub24tYnJhbmNoeSBS
ZW5kZXJTdHlsZSBhY2Nlc3MgKHNlZSBSZW5kZXJPYmplY3Q6OnN0eWxlKS4KCiogU291cmNlL1dl
YkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uQ292ZXJhZ2UuY3BwOgoo
V2ViQ29yZTo6TGF5b3V0SW50ZWdyYXRpb246OmNhblVzZUZvclByZWZlcnJlZFdpZHRoQ29tcHV0
YXRpb24pOgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9MZWdhY3lJbmxpbmVCb3guY3BwOgoo
V2ViQ29yZTo6TGVnYWN5SW5saW5lQm94Ojpsb2NhdGlvbkluY2x1ZGluZ0ZsaXBwaW5nIGNvbnN0
KToKKFdlYkNvcmU6OkxlZ2FjeUlubGluZUJveDo6ZmxpcEZvcldyaXRpbmdNb2RlIGNvbnN0KToK
KiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvTGVnYWN5SW5saW5lSXRlcmF0b3IuaDoKKFdlYkNv
cmU6OkxlZ2FjeUlubGluZUl0ZXJhdG9yOjpkaXJlY3Rpb24gY29uc3QpOgoqIFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9MZWdhY3lJbmxpbmVUZXh0Qm94LmNwcDoKKFdlYkNvcmU6OkxlZ2FjeUlu
bGluZVRleHRCb3g6OmxvY2FsU2VsZWN0aW9uUmVjdCBjb25zdCk6CiogU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaDoKKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OndyaXRp
bmdNb2RlIGNvbnN0KToKKiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVHJlZUFzVGV4
dC5jcHA6CihXZWJDb3JlOjpSZW5kZXJUcmVlQXNUZXh0Ojp3cml0ZVJlbmRlck9iamVjdCk6Ci0t
LQogLi4uL2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uQ292ZXJhZ2UuY3BwIHwgIDUgKy0K
IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9MZWdhY3lJbmxpbmVCb3guY3BwICB8IDM1ICsrKysr
KystLS0tLQogLi4uL1dlYkNvcmUvcmVuZGVyaW5nL0xlZ2FjeUlubGluZUl0ZXJhdG9yLmggIHwg
IDUgKy0KIC4uLi9XZWJDb3JlL3JlbmRlcmluZy9MZWdhY3lJbmxpbmVUZXh0Qm94LmNwcCB8ICAy
ICstCiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oICAgICAgfCAgMiAr
CiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVHJlZUFzVGV4dC5jcHAgfCA1NiArKysr
KysrKystLS0tLS0tLS0tCiA2IGZpbGVzIGNoYW5nZWQsIDU5IGluc2VydGlvbnMoKyksIDQ2IGRl
bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlv
bi9MYXlvdXRJbnRlZ3JhdGlvbkNvdmVyYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9p
bnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkNvdmVyYWdlLmNwcAppbmRleCBjYTE2Zjk4ZGFi
MDQuLmFlN2FhMjI5YmE0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVn
cmF0aW9uL0xheW91dEludGVncmF0aW9uQ292ZXJhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkNvdmVyYWdlLmNwcApAQCAtMzU3
LDcgKzM1Nyw4IEBAIGJvb2wgY2FuVXNlRm9yUHJlZmVycmVkV2lkdGhDb21wdXRhdGlvbihjb25z
dCBSZW5kZXJCbG9ja0Zsb3cmIGJsb2NrQ29udGFpbmVyKQogICAgICAgICBpZiAoaXNGdWxseVN1
cHBvcnRlZEluRmxvd1JlbmRlcmVyKQogICAgICAgICAgICAgY29udGludWU7CiAKLSAgICAgICAg
aWYgKCFyZW5kZXJlci53cml0aW5nTW9kZSgpLmlzSG9yaXpvbnRhbCgpIHx8ICFyZW5kZXJlci5z
dHlsZSgpLmxvZ2ljYWxXaWR0aCgpLmlzRml4ZWQoKSkKKyAgICAgICAgYXV0byYgdW5zdXBwb3J0
ZWRSZW5kZXJFbGVtZW50ID0gZG93bmNhc3Q8UmVuZGVyRWxlbWVudD4ocmVuZGVyZXIpOworICAg
ICAgICBpZiAoIXVuc3VwcG9ydGVkUmVuZGVyRWxlbWVudC53cml0aW5nTW9kZSgpLmlzSG9yaXpv
bnRhbCgpIHx8ICF1bnN1cHBvcnRlZFJlbmRlckVsZW1lbnQuc3R5bGUoKS5sb2dpY2FsV2lkdGgo
KS5pc0ZpeGVkKCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICAgICAgYXV0byBp
c05vblN1cHBvcnRlZEZpeGVkV2lkdGhDb250ZW50ID0gWyZdIHsKQEAgLTM2Nyw3ICszNjgsNyBA
QCBib29sIGNhblVzZUZvclByZWZlcnJlZFdpZHRoQ29tcHV0YXRpb24oY29uc3QgUmVuZGVyQmxv
Y2tGbG93JiBibG9ja0NvbnRhaW5lcikKICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAg
ICAgICAgICAgIC8vIEZJWE1FOiBTZWUgUmVuZGVyUmVwbGFjZWQ6OmNvbXB1dGVQcmVmZXJyZWRM
b2dpY2FsV2lkdGhzIHdoZXJlIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoIGlzIHNldCB0byAw
LgogICAgICAgICAgICAgYXV0byBpc1JlcGxhY2VkV2l0aFNwZWNpYWxJbnRyaW5zaWNXaWR0aCA9
IFsmXSB7Ci0gICAgICAgICAgICAgICAgaWYgKENoZWNrZWRQdHIgcmVuZGVyUmVwbGFjZWQgPSBk
eW5hbWljRG93bmNhc3Q8UmVuZGVyUmVwbGFjZWQ+KHJlbmRlcmVyKSkKKyAgICAgICAgICAgICAg
ICBpZiAoQ2hlY2tlZFB0ciByZW5kZXJSZXBsYWNlZCA9IGR5bmFtaWNEb3duY2FzdDxSZW5kZXJS
ZXBsYWNlZD4odW5zdXBwb3J0ZWRSZW5kZXJFbGVtZW50KSkKICAgICAgICAgICAgICAgICAgICAg
cmV0dXJuIHJlbmRlclJlcGxhY2VkLT5zdHlsZSgpLmxvZ2ljYWxNYXhXaWR0aCgpLmlzUGVyY2Vu
dE9yQ2FsY3VsYXRlZCgpOwogICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAg
ICAgIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvTGVnYWN5SW5saW5l
Qm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9MZWdhY3lJbmxpbmVCb3guY3BwCmlu
ZGV4IGQ4ZWE0MjZmNGEzNi4uY2IwYWRhMDg4NmU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvTGVnYWN5SW5saW5lQm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvTGVnYWN5SW5saW5lQm94LmNwcApAQCAtMjUwLDQwICsyNTAsNDkgQEAgdm9pZCBMZWdh
Y3lJbmxpbmVCb3g6OmNsZWFyS25vd25Ub0hhdmVOb092ZXJmbG93KCkKIAogRmxvYXRQb2ludCBM
ZWdhY3lJbmxpbmVCb3g6OmxvY2F0aW9uSW5jbHVkaW5nRmxpcHBpbmcoKSBjb25zdAogewotICAg
IGlmICghcmVuZGVyZXIoKS53cml0aW5nTW9kZSgpLmlzQmxvY2tGbGlwcGVkKCkpCisgICAgYXV0
byYgcm9vdENvbnRhaW5lciA9IHJvb3QoKS5ibG9ja0Zsb3coKTsKKyAgICBhdXRvIHdyaXRpbmdN
b2RlID0gcm9vdENvbnRhaW5lci53cml0aW5nTW9kZSgpOworICAgIGlmICghd3JpdGluZ01vZGUu
aXNCbG9ja0ZsaXBwZWQoKSkKICAgICAgICAgcmV0dXJuIHRvcExlZnQoKTsKLSAgICBSZW5kZXJC
bG9ja0Zsb3cmIGJsb2NrID0gcm9vdCgpLmJsb2NrRmxvdygpOwotICAgIGlmIChibG9jay53cml0
aW5nTW9kZSgpLmlzSG9yaXpvbnRhbCgpKQotICAgICAgICByZXR1cm4geyB4KCksIGJsb2NrLmhl
aWdodCgpIC0gaGVpZ2h0KCkgLSB5KCkgfTsKLSAgICByZXR1cm4geyBibG9jay53aWR0aCgpIC0g
d2lkdGgoKSAtIHgoKSwgeSgpIH07CisgICAgaWYgKHdyaXRpbmdNb2RlLmlzSG9yaXpvbnRhbCgp
KQorICAgICAgICByZXR1cm4geyB4KCksIHJvb3RDb250YWluZXIuaGVpZ2h0KCkgLSBoZWlnaHQo
KSAtIHkoKSB9OworICAgIHJldHVybiB7IHJvb3RDb250YWluZXIud2lkdGgoKSAtIHdpZHRoKCkg
LSB4KCksIHkoKSB9OwogfQogCiB2b2lkIExlZ2FjeUlubGluZUJveDo6ZmxpcEZvcldyaXRpbmdN
b2RlKEZsb2F0UmVjdCYgcmVjdCkgY29uc3QKIHsKLSAgICBpZiAoIXJlbmRlcmVyKCkud3JpdGlu
Z01vZGUoKS5pc0Jsb2NrRmxpcHBlZCgpKQorICAgIGF1dG8mIHJvb3RDb250YWluZXIgPSByb290
KCkuYmxvY2tGbG93KCk7CisgICAgYXV0byB3cml0aW5nTW9kZSA9IHJvb3RDb250YWluZXIud3Jp
dGluZ01vZGUoKTsKKyAgICBpZiAoIXdyaXRpbmdNb2RlLmlzQmxvY2tGbGlwcGVkKCkpCiAgICAg
ICAgIHJldHVybjsKLSAgICByb290KCkuYmxvY2tGbG93KCkuZmxpcEZvcldyaXRpbmdNb2RlKHJl
Y3QpOworICAgIHJvb3RDb250YWluZXIuZmxpcEZvcldyaXRpbmdNb2RlKHJlY3QpOwogfQogCiBG
bG9hdFBvaW50IExlZ2FjeUlubGluZUJveDo6ZmxpcEZvcldyaXRpbmdNb2RlKGNvbnN0IEZsb2F0
UG9pbnQmIHBvaW50KSBjb25zdAogewotICAgIGlmICghcmVuZGVyZXIoKS53cml0aW5nTW9kZSgp
LmlzQmxvY2tGbGlwcGVkKCkpCisgICAgYXV0byYgcm9vdENvbnRhaW5lciA9IHJvb3QoKS5ibG9j
a0Zsb3coKTsKKyAgICBhdXRvIHdyaXRpbmdNb2RlID0gcm9vdENvbnRhaW5lci53cml0aW5nTW9k
ZSgpOworICAgIGlmICghd3JpdGluZ01vZGUuaXNCbG9ja0ZsaXBwZWQoKSkKICAgICAgICAgcmV0
dXJuIHBvaW50OwotICAgIHJldHVybiByb290KCkuYmxvY2tGbG93KCkuZmxpcEZvcldyaXRpbmdN
b2RlKHBvaW50KTsKKyAgICByZXR1cm4gcm9vdENvbnRhaW5lci5mbGlwRm9yV3JpdGluZ01vZGUo
cG9pbnQpOwogfQogCiB2b2lkIExlZ2FjeUlubGluZUJveDo6ZmxpcEZvcldyaXRpbmdNb2RlKExh
eW91dFJlY3QmIHJlY3QpIGNvbnN0CiB7Ci0gICAgaWYgKCFyZW5kZXJlcigpLndyaXRpbmdNb2Rl
KCkuaXNCbG9ja0ZsaXBwZWQoKSkKKyAgICBhdXRvJiByb290Q29udGFpbmVyID0gcm9vdCgpLmJs
b2NrRmxvdygpOworICAgIGF1dG8gd3JpdGluZ01vZGUgPSByb290Q29udGFpbmVyLndyaXRpbmdN
b2RlKCk7CisgICAgaWYgKCF3cml0aW5nTW9kZS5pc0Jsb2NrRmxpcHBlZCgpKQogICAgICAgICBy
ZXR1cm47Ci0gICAgcm9vdCgpLmJsb2NrRmxvdygpLmZsaXBGb3JXcml0aW5nTW9kZShyZWN0KTsK
KyAgICByb290Q29udGFpbmVyLmZsaXBGb3JXcml0aW5nTW9kZShyZWN0KTsKIH0KIAogTGF5b3V0
UG9pbnQgTGVnYWN5SW5saW5lQm94OjpmbGlwRm9yV3JpdGluZ01vZGUoY29uc3QgTGF5b3V0UG9p
bnQmIHBvaW50KSBjb25zdAogewotICAgIGlmICghcmVuZGVyZXIoKS53cml0aW5nTW9kZSgpLmlz
QmxvY2tGbGlwcGVkKCkpCisgICAgYXV0byYgcm9vdENvbnRhaW5lciA9IHJvb3QoKS5ibG9ja0Zs
b3coKTsKKyAgICBhdXRvIHdyaXRpbmdNb2RlID0gcm9vdENvbnRhaW5lci53cml0aW5nTW9kZSgp
OworICAgIGlmICghd3JpdGluZ01vZGUuaXNCbG9ja0ZsaXBwZWQoKSkKICAgICAgICAgcmV0dXJu
IHBvaW50OwotICAgIHJldHVybiByb290KCkuYmxvY2tGbG93KCkuZmxpcEZvcldyaXRpbmdNb2Rl
KHBvaW50KTsKKyAgICByZXR1cm4gcm9vdENvbnRhaW5lci5mbGlwRm9yV3JpdGluZ01vZGUocG9p
bnQpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvTGVnYWN5SW5saW5lSXRlcmF0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9MZWdhY3lJbmxpbmVJdGVyYXRvci5oCmluZGV4IGMwNTUxYjJkNmQzNi4uNThiZWQw
Yzg3NTA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvTGVnYWN5SW5saW5l
SXRlcmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvTGVnYWN5SW5saW5lSXRl
cmF0b3IuaApAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgIlJlbmRlckJsb2NrRmxvdy5oIgog
I2luY2x1ZGUgIlJlbmRlckNoaWxkSXRlcmF0b3IuaCIKICNpbmNsdWRlICJSZW5kZXJJbmxpbmUu
aCIKKyNpbmNsdWRlICJSZW5kZXJMaXN0TWFya2VyLmgiCiAjaW5jbHVkZSAiUmVuZGVyVGV4dC5o
IgogI2luY2x1ZGUgIlVuaWNvZGVCaWRpLmgiCiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5o
PgpAQCAtMzYwLDggKzM2MSw4IEBAIEFMV0FZU19JTkxJTkUgVUNoYXJEaXJlY3Rpb24gTGVnYWN5
SW5saW5lSXRlcmF0b3I6OmRpcmVjdGlvbigpIGNvbnN0CiAgICAgICAgIHJldHVybiBzdXJyb2dh
dGVUZXh0RGlyZWN0aW9uKGNvZGVVbml0KTsKICAgICB9CiAKLSAgICBpZiAobV9yZW5kZXJlci0+
aXNSZW5kZXJMaXN0TWFya2VyKCkpCi0gICAgICAgIHJldHVybiBtX3JlbmRlcmVyLT53cml0aW5n
TW9kZSgpLmlzQmlkaUxUUigpID8gVV9MRUZUX1RPX1JJR0hUIDogVV9SSUdIVF9UT19MRUZUOwor
ICAgIGlmIChDaGVja2VkUHRyIGxpc3RNYXJrZXJSZW5kZXJlciA9IGR5bmFtaWNEb3duY2FzdDxS
ZW5kZXJMaXN0TWFya2VyPigqbV9yZW5kZXJlcikpCisgICAgICAgIHJldHVybiBsaXN0TWFya2Vy
UmVuZGVyZXItPndyaXRpbmdNb2RlKCkuaXNCaWRpTFRSKCkgPyBVX0xFRlRfVE9fUklHSFQgOiBV
X1JJR0hUX1RPX0xFRlQ7CiAKICAgICByZXR1cm4gVV9PVEhFUl9ORVVUUkFMOwogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0xlZ2FjeUlubGluZVRleHRCb3guY3BwIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0xlZ2FjeUlubGluZVRleHRCb3guY3BwCmluZGV4IGI5
NmZmYjZjOTM2My4uMGZlNGY5NTY1NTFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvTGVnYWN5SW5saW5lVGV4dEJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL0xlZ2FjeUlubGluZVRleHRCb3guY3BwCkBAIC0yMDcsNyArMjA3LDcgQEAgTGF5b3V0UmVj
dCBMZWdhY3lJbmxpbmVUZXh0Qm94Ojpsb2NhbFNlbGVjdGlvblJlY3QodW5zaWduZWQgc3RhcnRQ
b3MsIHVuc2lnbmVkIGUKICAgICBzZWxlY3Rpb25SZWN0Lm1vdmUobG9naWNhbExlZnQoKSwgMCk7
CiAgICAgLy8gRklYTUU6IFRoZSBjb21wdXRhdGlvbiBvZiB0aGUgc25hcHBlZCBzZWxlY3Rpb24g
cmVjdCBkaWZmZXJzIGZyb20gdGhlIGNvbXB1dGF0aW9uIG9mIHRoaXMgcmVjdAogICAgIC8vIGlu
IHBhaW50TWFya2VkVGV4dEJhY2tncm91bmQoKS4gU2VlIDxodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTM4OTEzPi4KLSAgICByZXR1cm4gc25hcHBlZFNlbGVjdGlvblJl
Y3Qoc2VsZWN0aW9uUmVjdCwgbG9naWNhbFJpZ2h0KCksIHJlbmRlcmVyKCkud3JpdGluZ01vZGUo
KSk7CisgICAgcmV0dXJuIHNuYXBwZWRTZWxlY3Rpb25SZWN0KHNlbGVjdGlvblJlY3QsIGxvZ2lj
YWxSaWdodCgpLCB3cml0aW5nTW9kZSk7CiB9CiAKIHZvaWQgTGVnYWN5SW5saW5lVGV4dEJveDo6
ZGVsZXRlTGluZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaAppbmRl
eCA3YjZkZTdmNzY5Y2YuLmI5NTFkMTc5MjQ4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyRWxlbWVudC5oCkBAIC0zMzIsNiArMzMyLDggQEAgcHVibGljOgogICAgIHN0YXRpYyBi
b29sIGlzQWZ0ZXJDb250ZW50KGNvbnN0IFJlbmRlckVsZW1lbnQqKTsKICAgICBzdGF0aWMgYm9v
bCBpc0JlZm9yZU9yQWZ0ZXJDb250ZW50KGNvbnN0IFJlbmRlckVsZW1lbnQqKTsKIAorICAgIFdy
aXRpbmdNb2RlIHdyaXRpbmdNb2RlKCkgY29uc3QgeyByZXR1cm4gc3R5bGUoKS53cml0aW5nTW9k
ZSgpOyB9CisKIHByb3RlY3RlZDoKICAgICBSZW5kZXJFbGVtZW50KFR5cGUsIEVsZW1lbnQmLCBS
ZW5kZXJTdHlsZSYmLCBPcHRpb25TZXQ8VHlwZUZsYWc+LCBUeXBlU3BlY2lmaWNGbGFncyk7CiAg
ICAgUmVuZGVyRWxlbWVudChUeXBlLCBEb2N1bWVudCYsIFJlbmRlclN0eWxlJiYsIE9wdGlvblNl
dDxUeXBlRmxhZz4sIFR5cGVTcGVjaWZpY0ZsYWdzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUcmVlQXNUZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUcmVlQXNUZXh0LmNwcAppbmRleCAxMGQ3YjAxYmYyZjQuLmJmOWUxZDRiNGRj
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRyZWVBc1RleHQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUcmVlQXNUZXh0LmNwcApA
QCAtMjQ1LDMzICsyNDUsMzMgQEAgdm9pZCBSZW5kZXJUcmVlQXNUZXh0Ojp3cml0ZVJlbmRlck9i
amVjdChUZXh0U3RyZWFtJiB0cywgY29uc3QgUmVuZGVyT2JqZWN0JiBvLAogICAgICAgICByZXR1
cm47CiAgICAgfQogCi0gICAgaWYgKCFpczxSZW5kZXJUZXh0PihvKSkgewotICAgICAgICBpZiAo
YXV0byogY29udHJvbCA9IGR5bmFtaWNEb3duY2FzdDxSZW5kZXJGaWxlVXBsb2FkQ29udHJvbD4o
bykpCisgICAgaWYgKENoZWNrZWRQdHIgcmVuZGVyRWxlbWVudCA9IGR5bmFtaWNEb3duY2FzdDxS
ZW5kZXJFbGVtZW50PihvKSkgeworICAgICAgICBpZiAoYXV0byogY29udHJvbCA9IGR5bmFtaWNE
b3duY2FzdDxSZW5kZXJGaWxlVXBsb2FkQ29udHJvbD4oKnJlbmRlckVsZW1lbnQpKQogICAgICAg
ICAgICAgdHMgPDwgJyAnIDw8IHF1b3RlQW5kRXNjYXBlTm9uUHJpbnRhYmxlcyhjb250cm9sLT5m
aWxlVGV4dFZhbHVlKCkpOwogCi0gICAgICAgIGlmIChvLnBhcmVudCgpKSB7Ci0gICAgICAgICAg
ICBDb2xvciBjb2xvciA9IG8uc3R5bGUoKS52aXNpdGVkRGVwZW5kZW50Q29sb3IoQ1NTUHJvcGVy
dHlDb2xvcik7Ci0gICAgICAgICAgICBpZiAoIWVxdWFsSWdub3JpbmdTZW1hbnRpY0NvbG9yKG8u
cGFyZW50KCktPnN0eWxlKCkudmlzaXRlZERlcGVuZGVudENvbG9yKENTU1Byb3BlcnR5Q29sb3Ip
LCBjb2xvcikpCisgICAgICAgIGlmIChyZW5kZXJFbGVtZW50LT5wYXJlbnQoKSkgeworICAgICAg
ICAgICAgQ29sb3IgY29sb3IgPSByZW5kZXJFbGVtZW50LT5zdHlsZSgpLnZpc2l0ZWREZXBlbmRl
bnRDb2xvcihDU1NQcm9wZXJ0eUNvbG9yKTsKKyAgICAgICAgICAgIGlmICghZXF1YWxJZ25vcmlu
Z1NlbWFudGljQ29sb3IocmVuZGVyRWxlbWVudC0+cGFyZW50KCktPnN0eWxlKCkudmlzaXRlZERl
cGVuZGVudENvbG9yKENTU1Byb3BlcnR5Q29sb3IpLCBjb2xvcikpCiAgICAgICAgICAgICAgICAg
dHMgPDwgIiBbY29sb3I9Il9zIDw8IHNlcmlhbGl6YXRpb25Gb3JSZW5kZXJUcmVlQXNUZXh0KGNv
bG9yKSA8PCAnXSc7CiAKICAgICAgICAgICAgIC8vIERvIG5vdCBkdW1wIGludmFsaWQgb3IgdHJh
bnNwYXJlbnQgYmFja2dyb3VuZHMsIHNpbmNlIHRoYXQgaXMgdGhlIGRlZmF1bHQuCi0gICAgICAg
ICAgICBDb2xvciBiYWNrZ3JvdW5kQ29sb3IgPSBvLnN0eWxlKCkudmlzaXRlZERlcGVuZGVudENv
bG9yKENTU1Byb3BlcnR5QmFja2dyb3VuZENvbG9yKTsKLSAgICAgICAgICAgIGlmICghZXF1YWxJ
Z25vcmluZ1NlbWFudGljQ29sb3Ioby5wYXJlbnQoKS0+c3R5bGUoKS52aXNpdGVkRGVwZW5kZW50
Q29sb3IoQ1NTUHJvcGVydHlCYWNrZ3JvdW5kQ29sb3IpLCBiYWNrZ3JvdW5kQ29sb3IpCisgICAg
ICAgICAgICBDb2xvciBiYWNrZ3JvdW5kQ29sb3IgPSByZW5kZXJFbGVtZW50LT5zdHlsZSgpLnZp
c2l0ZWREZXBlbmRlbnRDb2xvcihDU1NQcm9wZXJ0eUJhY2tncm91bmRDb2xvcik7CisgICAgICAg
ICAgICBpZiAoIWVxdWFsSWdub3JpbmdTZW1hbnRpY0NvbG9yKHJlbmRlckVsZW1lbnQtPnBhcmVu
dCgpLT5zdHlsZSgpLnZpc2l0ZWREZXBlbmRlbnRDb2xvcihDU1NQcm9wZXJ0eUJhY2tncm91bmRD
b2xvciksIGJhY2tncm91bmRDb2xvcikKICAgICAgICAgICAgICAgICAmJiBiYWNrZ3JvdW5kQ29s
b3IgIT0gQ29sb3I6OnRyYW5zcGFyZW50QmxhY2spCiAgICAgICAgICAgICAgICAgdHMgPDwgIiBb
Ymdjb2xvcj0iX3MgPDwgc2VyaWFsaXphdGlvbkZvclJlbmRlclRyZWVBc1RleHQoYmFja2dyb3Vu
ZENvbG9yKSA8PCAnXSc7CiAgICAgICAgICAgICAKLSAgICAgICAgICAgIENvbG9yIHRleHRGaWxs
Q29sb3IgPSBvLnN0eWxlKCkudmlzaXRlZERlcGVuZGVudENvbG9yKENTU1Byb3BlcnR5V2Via2l0
VGV4dEZpbGxDb2xvcik7Ci0gICAgICAgICAgICBpZiAoIWVxdWFsSWdub3JpbmdTZW1hbnRpY0Nv
bG9yKG8ucGFyZW50KCktPnN0eWxlKCkudmlzaXRlZERlcGVuZGVudENvbG9yKENTU1Byb3BlcnR5
V2Via2l0VGV4dEZpbGxDb2xvciksIHRleHRGaWxsQ29sb3IpCisgICAgICAgICAgICBDb2xvciB0
ZXh0RmlsbENvbG9yID0gcmVuZGVyRWxlbWVudC0+c3R5bGUoKS52aXNpdGVkRGVwZW5kZW50Q29s
b3IoQ1NTUHJvcGVydHlXZWJraXRUZXh0RmlsbENvbG9yKTsKKyAgICAgICAgICAgIGlmICghZXF1
YWxJZ25vcmluZ1NlbWFudGljQ29sb3IocmVuZGVyRWxlbWVudC0+cGFyZW50KCktPnN0eWxlKCku
dmlzaXRlZERlcGVuZGVudENvbG9yKENTU1Byb3BlcnR5V2Via2l0VGV4dEZpbGxDb2xvciksIHRl
eHRGaWxsQ29sb3IpCiAgICAgICAgICAgICAgICAgJiYgdGV4dEZpbGxDb2xvciAhPSBjb2xvciAm
JiB0ZXh0RmlsbENvbG9yICE9IENvbG9yOjp0cmFuc3BhcmVudEJsYWNrKQogICAgICAgICAgICAg
ICAgIHRzIDw8ICIgW3RleHRGaWxsQ29sb3I9Il9zIDw8IHNlcmlhbGl6YXRpb25Gb3JSZW5kZXJU
cmVlQXNUZXh0KHRleHRGaWxsQ29sb3IpIDw8ICddJzsKIAotICAgICAgICAgICAgQ29sb3IgdGV4
dFN0cm9rZUNvbG9yID0gby5zdHlsZSgpLnZpc2l0ZWREZXBlbmRlbnRDb2xvcihDU1NQcm9wZXJ0
eVdlYmtpdFRleHRTdHJva2VDb2xvcik7Ci0gICAgICAgICAgICBpZiAoIWVxdWFsSWdub3JpbmdT
ZW1hbnRpY0NvbG9yKG8ucGFyZW50KCktPnN0eWxlKCkudmlzaXRlZERlcGVuZGVudENvbG9yKENT
U1Byb3BlcnR5V2Via2l0VGV4dFN0cm9rZUNvbG9yKSwgdGV4dFN0cm9rZUNvbG9yKQorICAgICAg
ICAgICAgQ29sb3IgdGV4dFN0cm9rZUNvbG9yID0gcmVuZGVyRWxlbWVudC0+c3R5bGUoKS52aXNp
dGVkRGVwZW5kZW50Q29sb3IoQ1NTUHJvcGVydHlXZWJraXRUZXh0U3Ryb2tlQ29sb3IpOworICAg
ICAgICAgICAgaWYgKCFlcXVhbElnbm9yaW5nU2VtYW50aWNDb2xvcihyZW5kZXJFbGVtZW50LT5w
YXJlbnQoKS0+c3R5bGUoKS52aXNpdGVkRGVwZW5kZW50Q29sb3IoQ1NTUHJvcGVydHlXZWJraXRU
ZXh0U3Ryb2tlQ29sb3IpLCB0ZXh0U3Ryb2tlQ29sb3IpCiAgICAgICAgICAgICAgICAgJiYgdGV4
dFN0cm9rZUNvbG9yICE9IGNvbG9yICYmIHRleHRTdHJva2VDb2xvciAhPSBDb2xvcjo6dHJhbnNw
YXJlbnRCbGFjaykKICAgICAgICAgICAgICAgICB0cyA8PCAiIFt0ZXh0U3Ryb2tlQ29sb3I9Il9z
IDw8IHNlcmlhbGl6YXRpb25Gb3JSZW5kZXJUcmVlQXNUZXh0KHRleHRTdHJva2VDb2xvcikgPDwg
J10nOwogCi0gICAgICAgICAgICBpZiAoby5wYXJlbnQoKS0+c3R5bGUoKS50ZXh0U3Ryb2tlV2lk
dGgoKSAhPSBvLnN0eWxlKCkudGV4dFN0cm9rZVdpZHRoKCkgJiYgby5zdHlsZSgpLnRleHRTdHJv
a2VXaWR0aCgpID4gMCkKLSAgICAgICAgICAgICAgICB0cyA8PCAiIFt0ZXh0U3Ryb2tlV2lkdGg9
Il9zIDw8IG8uc3R5bGUoKS50ZXh0U3Ryb2tlV2lkdGgoKSA8PCAnXSc7CisgICAgICAgICAgICBp
ZiAocmVuZGVyRWxlbWVudC0+cGFyZW50KCktPnN0eWxlKCkudGV4dFN0cm9rZVdpZHRoKCkgIT0g
cmVuZGVyRWxlbWVudC0+c3R5bGUoKS50ZXh0U3Ryb2tlV2lkdGgoKSAmJiByZW5kZXJFbGVtZW50
LT5zdHlsZSgpLnRleHRTdHJva2VXaWR0aCgpID4gMCkKKyAgICAgICAgICAgICAgICB0cyA8PCAi
IFt0ZXh0U3Ryb2tlV2lkdGg9Il9zIDw8IHJlbmRlckVsZW1lbnQtPnN0eWxlKCkudGV4dFN0cm9r
ZVdpZHRoKCkgPDwgJ10nOwogICAgICAgICB9CiAKICAgICAgICAgYXV0byogYm94ID0gZHluYW1p
Y0Rvd25jYXN0PFJlbmRlckJveE1vZGVsT2JqZWN0PihvKTsKQEAgLTI4MiwxMCArMjgyLDEwIEBA
IHZvaWQgUmVuZGVyVHJlZUFzVGV4dDo6d3JpdGVSZW5kZXJPYmplY3QoVGV4dFN0cmVhbSYgdHMs
IGNvbnN0IFJlbmRlck9iamVjdCYgbywKICAgICAgICAgTGF5b3V0VW5pdCBib3JkZXJSaWdodCA9
IGJveC0+Ym9yZGVyUmlnaHQoKTsKICAgICAgICAgTGF5b3V0VW5pdCBib3JkZXJCb3R0b20gPSBi
b3gtPmJvcmRlckJvdHRvbSgpOwogICAgICAgICBMYXlvdXRVbml0IGJvcmRlckxlZnQgPSBib3gt
PmJvcmRlckxlZnQoKTsKLSAgICAgICAgYm9vbCBvdmVycmlkZGVuID0gby5zdHlsZSgpLmJvcmRl
ckltYWdlKCkub3ZlcnJpZGVzQm9yZGVyV2lkdGhzKCk7CisgICAgICAgIGJvb2wgb3ZlcnJpZGRl
biA9IHJlbmRlckVsZW1lbnQtPnN0eWxlKCkuYm9yZGVySW1hZ2UoKS5vdmVycmlkZXNCb3JkZXJX
aWR0aHMoKTsKICAgICAgICAgaWYgKGJveC0+aXNGaWVsZHNldCgpKSB7CiAgICAgICAgICAgICBj
b25zdCBhdXRvJiBibG9jayA9IGRvd25jYXN0PFJlbmRlckJsb2NrPigqYm94KTsKLSAgICAgICAg
ICAgIHN3aXRjaCAoby53cml0aW5nTW9kZSgpLmJsb2NrRGlyZWN0aW9uKCkpIHsKKyAgICAgICAg
ICAgIHN3aXRjaCAocmVuZGVyRWxlbWVudC0+d3JpdGluZ01vZGUoKS5ibG9ja0RpcmVjdGlvbigp
KSB7CiAgICAgICAgICAgICBjYXNlIEZsb3dEaXJlY3Rpb246OlRvcFRvQm90dG9tOgogICAgICAg
ICAgICAgICAgIGJvcmRlclRvcCAtPSBibG9jay5pbnRyaW5zaWNCb3JkZXJGb3JGaWVsZHNldCgp
OwogICAgICAgICAgICAgICAgIGJyZWFrOwpAQCAtMzAyLDM0ICszMDIsMzQgQEAgdm9pZCBSZW5k
ZXJUcmVlQXNUZXh0Ojp3cml0ZVJlbmRlck9iamVjdChUZXh0U3RyZWFtJiB0cywgY29uc3QgUmVu
ZGVyT2JqZWN0JiBvLAogICAgICAgICBpZiAoYm9yZGVyVG9wIHx8IGJvcmRlclJpZ2h0IHx8IGJv
cmRlckJvdHRvbSB8fCBib3JkZXJMZWZ0KSB7CiAgICAgICAgICAgICB0cyA8PCAiIFtib3JkZXI6
Il9zOwogCi0gICAgICAgICAgICBhdXRvIHByaW50Qm9yZGVyID0gWyZ0cywgJm9dIChjb25zdCBM
YXlvdXRVbml0JiB3aWR0aCwgY29uc3QgQm9yZGVyU3R5bGUmIHN0eWxlLCBjb25zdCBTdHlsZTo6
Q29sb3ImIGNvbG9yKSB7CisgICAgICAgICAgICBhdXRvIHByaW50Qm9yZGVyID0gWyZdIChjb25z
dCBMYXlvdXRVbml0JiB3aWR0aCwgY29uc3QgQm9yZGVyU3R5bGUmIHN0eWxlLCBjb25zdCBTdHls
ZTo6Q29sb3ImIGNvbG9yKSB7CiAgICAgICAgICAgICAgICAgaWYgKCF3aWR0aCkKICAgICAgICAg
ICAgICAgICAgICAgdHMgPDwgIiBub25lIl9zOwogICAgICAgICAgICAgICAgIGVsc2UgewogICAg
ICAgICAgICAgICAgICAgICB0cyA8PCAiICgiX3MgPDwgd2lkdGggPDwgInB4ICJfczsKICAgICAg
ICAgICAgICAgICAgICAgcHJpbnRCb3JkZXJTdHlsZSh0cywgc3R5bGUpOwotICAgICAgICAgICAg
ICAgICAgICBhdXRvIHJlc29sdmVkQ29sb3IgPSBvLnN0eWxlKCkuY29sb3JSZXNvbHZpbmdDdXJy
ZW50Q29sb3IoY29sb3IpOworICAgICAgICAgICAgICAgICAgICBhdXRvIHJlc29sdmVkQ29sb3Ig
PSByZW5kZXJFbGVtZW50LT5zdHlsZSgpLmNvbG9yUmVzb2x2aW5nQ3VycmVudENvbG9yKGNvbG9y
KTsKICAgICAgICAgICAgICAgICAgICAgdHMgPDwgc2VyaWFsaXphdGlvbkZvclJlbmRlclRyZWVB
c1RleHQocmVzb2x2ZWRDb2xvcikgPDwgJyknOwogICAgICAgICAgICAgICAgIH0KIAogICAgICAg
ICAgICAgfTsKIAotICAgICAgICAgICAgQm9yZGVyVmFsdWUgcHJldkJvcmRlciA9IG8uc3R5bGUo
KS5ib3JkZXJUb3AoKTsKLSAgICAgICAgICAgIHByaW50Qm9yZGVyKGJvcmRlclRvcCwgby5zdHls
ZSgpLmJvcmRlclRvcFN0eWxlKCksIG8uc3R5bGUoKS5ib3JkZXJUb3BDb2xvcigpKTsKKyAgICAg
ICAgICAgIEJvcmRlclZhbHVlIHByZXZCb3JkZXIgPSByZW5kZXJFbGVtZW50LT5zdHlsZSgpLmJv
cmRlclRvcCgpOworICAgICAgICAgICAgcHJpbnRCb3JkZXIoYm9yZGVyVG9wLCByZW5kZXJFbGVt
ZW50LT5zdHlsZSgpLmJvcmRlclRvcFN0eWxlKCksIHJlbmRlckVsZW1lbnQtPnN0eWxlKCkuYm9y
ZGVyVG9wQ29sb3IoKSk7CiAKLSAgICAgICAgICAgIGlmIChvLnN0eWxlKCkuYm9yZGVyUmlnaHQo
KSAhPSBwcmV2Qm9yZGVyIHx8IChvdmVycmlkZGVuICYmIGJvcmRlclJpZ2h0ICE9IGJvcmRlclRv
cCkpIHsKLSAgICAgICAgICAgICAgICBwcmV2Qm9yZGVyID0gby5zdHlsZSgpLmJvcmRlclJpZ2h0
KCk7Ci0gICAgICAgICAgICAgICAgcHJpbnRCb3JkZXIoYm9yZGVyUmlnaHQsIG8uc3R5bGUoKS5i
b3JkZXJSaWdodFN0eWxlKCksIG8uc3R5bGUoKS5ib3JkZXJSaWdodENvbG9yKCkpOworICAgICAg
ICAgICAgaWYgKHJlbmRlckVsZW1lbnQtPnN0eWxlKCkuYm9yZGVyUmlnaHQoKSAhPSBwcmV2Qm9y
ZGVyIHx8IChvdmVycmlkZGVuICYmIGJvcmRlclJpZ2h0ICE9IGJvcmRlclRvcCkpIHsKKyAgICAg
ICAgICAgICAgICBwcmV2Qm9yZGVyID0gcmVuZGVyRWxlbWVudC0+c3R5bGUoKS5ib3JkZXJSaWdo
dCgpOworICAgICAgICAgICAgICAgIHByaW50Qm9yZGVyKGJvcmRlclJpZ2h0LCByZW5kZXJFbGVt
ZW50LT5zdHlsZSgpLmJvcmRlclJpZ2h0U3R5bGUoKSwgcmVuZGVyRWxlbWVudC0+c3R5bGUoKS5i
b3JkZXJSaWdodENvbG9yKCkpOwogICAgICAgICAgICAgfQogCi0gICAgICAgICAgICBpZiAoby5z
dHlsZSgpLmJvcmRlckJvdHRvbSgpICE9IHByZXZCb3JkZXIgfHwgKG92ZXJyaWRkZW4gJiYgYm9y
ZGVyQm90dG9tICE9IGJvcmRlclJpZ2h0KSkgewotICAgICAgICAgICAgICAgIHByZXZCb3JkZXIg
PSBvLnN0eWxlKCkuYm9yZGVyQm90dG9tKCk7Ci0gICAgICAgICAgICAgICAgcHJpbnRCb3JkZXIo
Ym9yZGVyQm90dG9tLCBvLnN0eWxlKCkuYm9yZGVyQm90dG9tU3R5bGUoKSwgby5zdHlsZSgpLmJv
cmRlckJvdHRvbUNvbG9yKCkpOworICAgICAgICAgICAgaWYgKHJlbmRlckVsZW1lbnQtPnN0eWxl
KCkuYm9yZGVyQm90dG9tKCkgIT0gcHJldkJvcmRlciB8fCAob3ZlcnJpZGRlbiAmJiBib3JkZXJC
b3R0b20gIT0gYm9yZGVyUmlnaHQpKSB7CisgICAgICAgICAgICAgICAgcHJldkJvcmRlciA9IHJl
bmRlckVsZW1lbnQtPnN0eWxlKCkuYm9yZGVyQm90dG9tKCk7CisgICAgICAgICAgICAgICAgcHJp
bnRCb3JkZXIoYm9yZGVyQm90dG9tLCByZW5kZXJFbGVtZW50LT5zdHlsZSgpLmJvcmRlckJvdHRv
bVN0eWxlKCksIHJlbmRlckVsZW1lbnQtPnN0eWxlKCkuYm9yZGVyQm90dG9tQ29sb3IoKSk7CiAg
ICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIGlmIChvLnN0eWxlKCkuYm9yZGVyTGVmdCgpICE9
IHByZXZCb3JkZXIgfHwgKG92ZXJyaWRkZW4gJiYgYm9yZGVyTGVmdCAhPSBib3JkZXJCb3R0b20p
KSB7Ci0gICAgICAgICAgICAgICAgcHJldkJvcmRlciA9IG8uc3R5bGUoKS5ib3JkZXJMZWZ0KCk7
Ci0gICAgICAgICAgICAgICAgcHJpbnRCb3JkZXIoYm9yZGVyTGVmdCwgby5zdHlsZSgpLmJvcmRl
ckxlZnRTdHlsZSgpLCBvLnN0eWxlKCkuYm9yZGVyTGVmdENvbG9yKCkpOworICAgICAgICAgICAg
aWYgKHJlbmRlckVsZW1lbnQtPnN0eWxlKCkuYm9yZGVyTGVmdCgpICE9IHByZXZCb3JkZXIgfHwg
KG92ZXJyaWRkZW4gJiYgYm9yZGVyTGVmdCAhPSBib3JkZXJCb3R0b20pKSB7CisgICAgICAgICAg
ICAgICAgcHJldkJvcmRlciA9IHJlbmRlckVsZW1lbnQtPnN0eWxlKCkuYm9yZGVyTGVmdCgpOwor
ICAgICAgICAgICAgICAgIHByaW50Qm9yZGVyKGJvcmRlckxlZnQsIHJlbmRlckVsZW1lbnQtPnN0
eWxlKCkuYm9yZGVyTGVmdFN0eWxlKCksIHJlbmRlckVsZW1lbnQtPnN0eWxlKCkuYm9yZGVyTGVm
dENvbG9yKCkpOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgdHMgPDwgJ10nOwogICAgICAg
ICB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>474667</attachid>
            <date>2025-03-21 05:15:45 -0700</date>
            <delta_ts>2025-03-21 08:48:28 -0700</delta_ts>
            <desc>[fast-cq]Patch</desc>
            <filename>bug-290125-20250321051544.patch</filename>
            <type>text/plain</type>
            <size>15964</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSA0NTUwNDgyZWYzMDFiNDU5ZDQwNjIwMmMxNTAxNTE4MDZmZGJhYTJjIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJhcmFkbGF5IDx6YWxhbkBhcHBsZS5jb20+CkRhdGU6
IFRodSwgMjAgTWFyIDIwMjUgMTM6NTU6MDQgLTA3MDAKU3ViamVjdDogW1BBVENIXSBbQ2xlYW51
cF0gQWRkIHdyaXRpbmdNb2RlIHRvIFJlbmRlckVsZW1lbnQKIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yOTAxMjUKClJldmlld2VkIGJ5IEFudHRpIEtvaXZpc3RvLgoK
SGF2aW5nIHdyaXRpbmdNb2RlIG9uIFJlbmRlckVsZW1lbnQgZW5zdXJlcyBub24tYnJhbmNoeSBS
ZW5kZXJTdHlsZSBhY2Nlc3MgKHNlZSBSZW5kZXJPYmplY3Q6OnN0eWxlKS4KCiogU291cmNlL1dl
YkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uQ292ZXJhZ2UuY3BwOgoo
V2ViQ29yZTo6TGF5b3V0SW50ZWdyYXRpb246OmNhblVzZUZvclByZWZlcnJlZFdpZHRoQ29tcHV0
YXRpb24pOgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9MZWdhY3lJbmxpbmVCb3guY3BwOgoo
V2ViQ29yZTo6TGVnYWN5SW5saW5lQm94Ojpsb2NhdGlvbkluY2x1ZGluZ0ZsaXBwaW5nIGNvbnN0
KToKKFdlYkNvcmU6OkxlZ2FjeUlubGluZUJveDo6ZmxpcEZvcldyaXRpbmdNb2RlIGNvbnN0KToK
KiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvTGVnYWN5SW5saW5lSXRlcmF0b3IuaDoKKFdlYkNv
cmU6OkxlZ2FjeUlubGluZUl0ZXJhdG9yOjpkaXJlY3Rpb24gY29uc3QpOgoqIFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9MZWdhY3lJbmxpbmVUZXh0Qm94LmNwcDoKKFdlYkNvcmU6OkxlZ2FjeUlu
bGluZVRleHRCb3g6OmxvY2FsU2VsZWN0aW9uUmVjdCBjb25zdCk6CiogU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaDoKKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OndyaXRp
bmdNb2RlIGNvbnN0KToKKiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVHJlZUFzVGV4
dC5jcHA6CihXZWJDb3JlOjpSZW5kZXJUcmVlQXNUZXh0Ojp3cml0ZVJlbmRlck9iamVjdCk6Ci0t
LQogLi4uL2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uQ292ZXJhZ2UuY3BwIHwgIDUgKy0K
IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9MZWdhY3lJbmxpbmVCb3guY3BwICB8IDM1ICsrKysr
KystLS0tLQogLi4uL1dlYkNvcmUvcmVuZGVyaW5nL0xlZ2FjeUlubGluZUl0ZXJhdG9yLmggIHwg
IDUgKy0KIC4uLi9XZWJDb3JlL3JlbmRlcmluZy9MZWdhY3lJbmxpbmVUZXh0Qm94LmNwcCB8ICAy
ICstCiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oICAgICAgfCAgMiAr
CiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVHJlZUFzVGV4dC5jcHAgfCA1NiArKysr
KysrKystLS0tLS0tLS0tCiA2IGZpbGVzIGNoYW5nZWQsIDU5IGluc2VydGlvbnMoKyksIDQ2IGRl
bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlv
bi9MYXlvdXRJbnRlZ3JhdGlvbkNvdmVyYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9p
bnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkNvdmVyYWdlLmNwcAppbmRleCBjYTE2Zjk4ZGFi
MDQuLmFlN2FhMjI5YmE0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVn
cmF0aW9uL0xheW91dEludGVncmF0aW9uQ292ZXJhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkNvdmVyYWdlLmNwcApAQCAtMzU3
LDcgKzM1Nyw4IEBAIGJvb2wgY2FuVXNlRm9yUHJlZmVycmVkV2lkdGhDb21wdXRhdGlvbihjb25z
dCBSZW5kZXJCbG9ja0Zsb3cmIGJsb2NrQ29udGFpbmVyKQogICAgICAgICBpZiAoaXNGdWxseVN1
cHBvcnRlZEluRmxvd1JlbmRlcmVyKQogICAgICAgICAgICAgY29udGludWU7CiAKLSAgICAgICAg
aWYgKCFyZW5kZXJlci53cml0aW5nTW9kZSgpLmlzSG9yaXpvbnRhbCgpIHx8ICFyZW5kZXJlci5z
dHlsZSgpLmxvZ2ljYWxXaWR0aCgpLmlzRml4ZWQoKSkKKyAgICAgICAgYXV0byYgdW5zdXBwb3J0
ZWRSZW5kZXJFbGVtZW50ID0gZG93bmNhc3Q8UmVuZGVyRWxlbWVudD4ocmVuZGVyZXIpOworICAg
ICAgICBpZiAoIXVuc3VwcG9ydGVkUmVuZGVyRWxlbWVudC53cml0aW5nTW9kZSgpLmlzSG9yaXpv
bnRhbCgpIHx8ICF1bnN1cHBvcnRlZFJlbmRlckVsZW1lbnQuc3R5bGUoKS5sb2dpY2FsV2lkdGgo
KS5pc0ZpeGVkKCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICAgICAgYXV0byBp
c05vblN1cHBvcnRlZEZpeGVkV2lkdGhDb250ZW50ID0gWyZdIHsKQEAgLTM2Nyw3ICszNjgsNyBA
QCBib29sIGNhblVzZUZvclByZWZlcnJlZFdpZHRoQ29tcHV0YXRpb24oY29uc3QgUmVuZGVyQmxv
Y2tGbG93JiBibG9ja0NvbnRhaW5lcikKICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAg
ICAgICAgICAgIC8vIEZJWE1FOiBTZWUgUmVuZGVyUmVwbGFjZWQ6OmNvbXB1dGVQcmVmZXJyZWRM
b2dpY2FsV2lkdGhzIHdoZXJlIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoIGlzIHNldCB0byAw
LgogICAgICAgICAgICAgYXV0byBpc1JlcGxhY2VkV2l0aFNwZWNpYWxJbnRyaW5zaWNXaWR0aCA9
IFsmXSB7Ci0gICAgICAgICAgICAgICAgaWYgKENoZWNrZWRQdHIgcmVuZGVyUmVwbGFjZWQgPSBk
eW5hbWljRG93bmNhc3Q8UmVuZGVyUmVwbGFjZWQ+KHJlbmRlcmVyKSkKKyAgICAgICAgICAgICAg
ICBpZiAoQ2hlY2tlZFB0ciByZW5kZXJSZXBsYWNlZCA9IGR5bmFtaWNEb3duY2FzdDxSZW5kZXJS
ZXBsYWNlZD4odW5zdXBwb3J0ZWRSZW5kZXJFbGVtZW50KSkKICAgICAgICAgICAgICAgICAgICAg
cmV0dXJuIHJlbmRlclJlcGxhY2VkLT5zdHlsZSgpLmxvZ2ljYWxNYXhXaWR0aCgpLmlzUGVyY2Vu
dE9yQ2FsY3VsYXRlZCgpOwogICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAg
ICAgIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvTGVnYWN5SW5saW5l
Qm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9MZWdhY3lJbmxpbmVCb3guY3BwCmlu
ZGV4IGQ4ZWE0MjZmNGEzNi4uY2IwYWRhMDg4NmU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvTGVnYWN5SW5saW5lQm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvTGVnYWN5SW5saW5lQm94LmNwcApAQCAtMjUwLDQwICsyNTAsNDkgQEAgdm9pZCBMZWdh
Y3lJbmxpbmVCb3g6OmNsZWFyS25vd25Ub0hhdmVOb092ZXJmbG93KCkKIAogRmxvYXRQb2ludCBM
ZWdhY3lJbmxpbmVCb3g6OmxvY2F0aW9uSW5jbHVkaW5nRmxpcHBpbmcoKSBjb25zdAogewotICAg
IGlmICghcmVuZGVyZXIoKS53cml0aW5nTW9kZSgpLmlzQmxvY2tGbGlwcGVkKCkpCisgICAgYXV0
byYgcm9vdENvbnRhaW5lciA9IHJvb3QoKS5ibG9ja0Zsb3coKTsKKyAgICBhdXRvIHdyaXRpbmdN
b2RlID0gcm9vdENvbnRhaW5lci53cml0aW5nTW9kZSgpOworICAgIGlmICghd3JpdGluZ01vZGUu
aXNCbG9ja0ZsaXBwZWQoKSkKICAgICAgICAgcmV0dXJuIHRvcExlZnQoKTsKLSAgICBSZW5kZXJC
bG9ja0Zsb3cmIGJsb2NrID0gcm9vdCgpLmJsb2NrRmxvdygpOwotICAgIGlmIChibG9jay53cml0
aW5nTW9kZSgpLmlzSG9yaXpvbnRhbCgpKQotICAgICAgICByZXR1cm4geyB4KCksIGJsb2NrLmhl
aWdodCgpIC0gaGVpZ2h0KCkgLSB5KCkgfTsKLSAgICByZXR1cm4geyBibG9jay53aWR0aCgpIC0g
d2lkdGgoKSAtIHgoKSwgeSgpIH07CisgICAgaWYgKHdyaXRpbmdNb2RlLmlzSG9yaXpvbnRhbCgp
KQorICAgICAgICByZXR1cm4geyB4KCksIHJvb3RDb250YWluZXIuaGVpZ2h0KCkgLSBoZWlnaHQo
KSAtIHkoKSB9OworICAgIHJldHVybiB7IHJvb3RDb250YWluZXIud2lkdGgoKSAtIHdpZHRoKCkg
LSB4KCksIHkoKSB9OwogfQogCiB2b2lkIExlZ2FjeUlubGluZUJveDo6ZmxpcEZvcldyaXRpbmdN
b2RlKEZsb2F0UmVjdCYgcmVjdCkgY29uc3QKIHsKLSAgICBpZiAoIXJlbmRlcmVyKCkud3JpdGlu
Z01vZGUoKS5pc0Jsb2NrRmxpcHBlZCgpKQorICAgIGF1dG8mIHJvb3RDb250YWluZXIgPSByb290
KCkuYmxvY2tGbG93KCk7CisgICAgYXV0byB3cml0aW5nTW9kZSA9IHJvb3RDb250YWluZXIud3Jp
dGluZ01vZGUoKTsKKyAgICBpZiAoIXdyaXRpbmdNb2RlLmlzQmxvY2tGbGlwcGVkKCkpCiAgICAg
ICAgIHJldHVybjsKLSAgICByb290KCkuYmxvY2tGbG93KCkuZmxpcEZvcldyaXRpbmdNb2RlKHJl
Y3QpOworICAgIHJvb3RDb250YWluZXIuZmxpcEZvcldyaXRpbmdNb2RlKHJlY3QpOwogfQogCiBG
bG9hdFBvaW50IExlZ2FjeUlubGluZUJveDo6ZmxpcEZvcldyaXRpbmdNb2RlKGNvbnN0IEZsb2F0
UG9pbnQmIHBvaW50KSBjb25zdAogewotICAgIGlmICghcmVuZGVyZXIoKS53cml0aW5nTW9kZSgp
LmlzQmxvY2tGbGlwcGVkKCkpCisgICAgYXV0byYgcm9vdENvbnRhaW5lciA9IHJvb3QoKS5ibG9j
a0Zsb3coKTsKKyAgICBhdXRvIHdyaXRpbmdNb2RlID0gcm9vdENvbnRhaW5lci53cml0aW5nTW9k
ZSgpOworICAgIGlmICghd3JpdGluZ01vZGUuaXNCbG9ja0ZsaXBwZWQoKSkKICAgICAgICAgcmV0
dXJuIHBvaW50OwotICAgIHJldHVybiByb290KCkuYmxvY2tGbG93KCkuZmxpcEZvcldyaXRpbmdN
b2RlKHBvaW50KTsKKyAgICByZXR1cm4gcm9vdENvbnRhaW5lci5mbGlwRm9yV3JpdGluZ01vZGUo
cG9pbnQpOwogfQogCiB2b2lkIExlZ2FjeUlubGluZUJveDo6ZmxpcEZvcldyaXRpbmdNb2RlKExh
eW91dFJlY3QmIHJlY3QpIGNvbnN0CiB7Ci0gICAgaWYgKCFyZW5kZXJlcigpLndyaXRpbmdNb2Rl
KCkuaXNCbG9ja0ZsaXBwZWQoKSkKKyAgICBhdXRvJiByb290Q29udGFpbmVyID0gcm9vdCgpLmJs
b2NrRmxvdygpOworICAgIGF1dG8gd3JpdGluZ01vZGUgPSByb290Q29udGFpbmVyLndyaXRpbmdN
b2RlKCk7CisgICAgaWYgKCF3cml0aW5nTW9kZS5pc0Jsb2NrRmxpcHBlZCgpKQogICAgICAgICBy
ZXR1cm47Ci0gICAgcm9vdCgpLmJsb2NrRmxvdygpLmZsaXBGb3JXcml0aW5nTW9kZShyZWN0KTsK
KyAgICByb290Q29udGFpbmVyLmZsaXBGb3JXcml0aW5nTW9kZShyZWN0KTsKIH0KIAogTGF5b3V0
UG9pbnQgTGVnYWN5SW5saW5lQm94OjpmbGlwRm9yV3JpdGluZ01vZGUoY29uc3QgTGF5b3V0UG9p
bnQmIHBvaW50KSBjb25zdAogewotICAgIGlmICghcmVuZGVyZXIoKS53cml0aW5nTW9kZSgpLmlz
QmxvY2tGbGlwcGVkKCkpCisgICAgYXV0byYgcm9vdENvbnRhaW5lciA9IHJvb3QoKS5ibG9ja0Zs
b3coKTsKKyAgICBhdXRvIHdyaXRpbmdNb2RlID0gcm9vdENvbnRhaW5lci53cml0aW5nTW9kZSgp
OworICAgIGlmICghd3JpdGluZ01vZGUuaXNCbG9ja0ZsaXBwZWQoKSkKICAgICAgICAgcmV0dXJu
IHBvaW50OwotICAgIHJldHVybiByb290KCkuYmxvY2tGbG93KCkuZmxpcEZvcldyaXRpbmdNb2Rl
KHBvaW50KTsKKyAgICByZXR1cm4gcm9vdENvbnRhaW5lci5mbGlwRm9yV3JpdGluZ01vZGUocG9p
bnQpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvTGVnYWN5SW5saW5lSXRlcmF0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9MZWdhY3lJbmxpbmVJdGVyYXRvci5oCmluZGV4IGMwNTUxYjJkNmQzNi4uNThiZWQw
Yzg3NTA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvTGVnYWN5SW5saW5l
SXRlcmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvTGVnYWN5SW5saW5lSXRl
cmF0b3IuaApAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgIlJlbmRlckJsb2NrRmxvdy5oIgog
I2luY2x1ZGUgIlJlbmRlckNoaWxkSXRlcmF0b3IuaCIKICNpbmNsdWRlICJSZW5kZXJJbmxpbmUu
aCIKKyNpbmNsdWRlICJSZW5kZXJMaXN0TWFya2VyLmgiCiAjaW5jbHVkZSAiUmVuZGVyVGV4dC5o
IgogI2luY2x1ZGUgIlVuaWNvZGVCaWRpLmgiCiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5o
PgpAQCAtMzYwLDggKzM2MSw4IEBAIEFMV0FZU19JTkxJTkUgVUNoYXJEaXJlY3Rpb24gTGVnYWN5
SW5saW5lSXRlcmF0b3I6OmRpcmVjdGlvbigpIGNvbnN0CiAgICAgICAgIHJldHVybiBzdXJyb2dh
dGVUZXh0RGlyZWN0aW9uKGNvZGVVbml0KTsKICAgICB9CiAKLSAgICBpZiAobV9yZW5kZXJlci0+
aXNSZW5kZXJMaXN0TWFya2VyKCkpCi0gICAgICAgIHJldHVybiBtX3JlbmRlcmVyLT53cml0aW5n
TW9kZSgpLmlzQmlkaUxUUigpID8gVV9MRUZUX1RPX1JJR0hUIDogVV9SSUdIVF9UT19MRUZUOwor
ICAgIGlmIChDaGVja2VkUHRyIGxpc3RNYXJrZXJSZW5kZXJlciA9IGR5bmFtaWNEb3duY2FzdDxS
ZW5kZXJMaXN0TWFya2VyPigqbV9yZW5kZXJlcikpCisgICAgICAgIHJldHVybiBsaXN0TWFya2Vy
UmVuZGVyZXItPndyaXRpbmdNb2RlKCkuaXNCaWRpTFRSKCkgPyBVX0xFRlRfVE9fUklHSFQgOiBV
X1JJR0hUX1RPX0xFRlQ7CiAKICAgICByZXR1cm4gVV9PVEhFUl9ORVVUUkFMOwogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0xlZ2FjeUlubGluZVRleHRCb3guY3BwIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0xlZ2FjeUlubGluZVRleHRCb3guY3BwCmluZGV4IGI5
NmZmYjZjOTM2My4uMGZlNGY5NTY1NTFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvTGVnYWN5SW5saW5lVGV4dEJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL0xlZ2FjeUlubGluZVRleHRCb3guY3BwCkBAIC0yMDcsNyArMjA3LDcgQEAgTGF5b3V0UmVj
dCBMZWdhY3lJbmxpbmVUZXh0Qm94Ojpsb2NhbFNlbGVjdGlvblJlY3QodW5zaWduZWQgc3RhcnRQ
b3MsIHVuc2lnbmVkIGUKICAgICBzZWxlY3Rpb25SZWN0Lm1vdmUobG9naWNhbExlZnQoKSwgMCk7
CiAgICAgLy8gRklYTUU6IFRoZSBjb21wdXRhdGlvbiBvZiB0aGUgc25hcHBlZCBzZWxlY3Rpb24g
cmVjdCBkaWZmZXJzIGZyb20gdGhlIGNvbXB1dGF0aW9uIG9mIHRoaXMgcmVjdAogICAgIC8vIGlu
IHBhaW50TWFya2VkVGV4dEJhY2tncm91bmQoKS4gU2VlIDxodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTM4OTEzPi4KLSAgICByZXR1cm4gc25hcHBlZFNlbGVjdGlvblJl
Y3Qoc2VsZWN0aW9uUmVjdCwgbG9naWNhbFJpZ2h0KCksIHJlbmRlcmVyKCkud3JpdGluZ01vZGUo
KSk7CisgICAgcmV0dXJuIHNuYXBwZWRTZWxlY3Rpb25SZWN0KHNlbGVjdGlvblJlY3QsIGxvZ2lj
YWxSaWdodCgpLCB3cml0aW5nTW9kZSk7CiB9CiAKIHZvaWQgTGVnYWN5SW5saW5lVGV4dEJveDo6
ZGVsZXRlTGluZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaAppbmRl
eCA3YjZkZTdmNzY5Y2YuLmI5NTFkMTc5MjQ4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyRWxlbWVudC5oCkBAIC0zMzIsNiArMzMyLDggQEAgcHVibGljOgogICAgIHN0YXRpYyBi
b29sIGlzQWZ0ZXJDb250ZW50KGNvbnN0IFJlbmRlckVsZW1lbnQqKTsKICAgICBzdGF0aWMgYm9v
bCBpc0JlZm9yZU9yQWZ0ZXJDb250ZW50KGNvbnN0IFJlbmRlckVsZW1lbnQqKTsKIAorICAgIFdy
aXRpbmdNb2RlIHdyaXRpbmdNb2RlKCkgY29uc3QgeyByZXR1cm4gc3R5bGUoKS53cml0aW5nTW9k
ZSgpOyB9CisKIHByb3RlY3RlZDoKICAgICBSZW5kZXJFbGVtZW50KFR5cGUsIEVsZW1lbnQmLCBS
ZW5kZXJTdHlsZSYmLCBPcHRpb25TZXQ8VHlwZUZsYWc+LCBUeXBlU3BlY2lmaWNGbGFncyk7CiAg
ICAgUmVuZGVyRWxlbWVudChUeXBlLCBEb2N1bWVudCYsIFJlbmRlclN0eWxlJiYsIE9wdGlvblNl
dDxUeXBlRmxhZz4sIFR5cGVTcGVjaWZpY0ZsYWdzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUcmVlQXNUZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUcmVlQXNUZXh0LmNwcAppbmRleCAxMGQ3YjAxYmYyZjQuLmJmOWUxZDRiNGRj
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRyZWVBc1RleHQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUcmVlQXNUZXh0LmNwcApA
QCAtMjQ1LDMzICsyNDUsMzMgQEAgdm9pZCBSZW5kZXJUcmVlQXNUZXh0Ojp3cml0ZVJlbmRlck9i
amVjdChUZXh0U3RyZWFtJiB0cywgY29uc3QgUmVuZGVyT2JqZWN0JiBvLAogICAgICAgICByZXR1
cm47CiAgICAgfQogCi0gICAgaWYgKCFpczxSZW5kZXJUZXh0PihvKSkgewotICAgICAgICBpZiAo
YXV0byogY29udHJvbCA9IGR5bmFtaWNEb3duY2FzdDxSZW5kZXJGaWxlVXBsb2FkQ29udHJvbD4o
bykpCisgICAgaWYgKENoZWNrZWRQdHIgcmVuZGVyRWxlbWVudCA9IGR5bmFtaWNEb3duY2FzdDxS
ZW5kZXJFbGVtZW50PihvKSkgeworICAgICAgICBpZiAoYXV0byogY29udHJvbCA9IGR5bmFtaWNE
b3duY2FzdDxSZW5kZXJGaWxlVXBsb2FkQ29udHJvbD4oKnJlbmRlckVsZW1lbnQpKQogICAgICAg
ICAgICAgdHMgPDwgJyAnIDw8IHF1b3RlQW5kRXNjYXBlTm9uUHJpbnRhYmxlcyhjb250cm9sLT5m
aWxlVGV4dFZhbHVlKCkpOwogCi0gICAgICAgIGlmIChvLnBhcmVudCgpKSB7Ci0gICAgICAgICAg
ICBDb2xvciBjb2xvciA9IG8uc3R5bGUoKS52aXNpdGVkRGVwZW5kZW50Q29sb3IoQ1NTUHJvcGVy
dHlDb2xvcik7Ci0gICAgICAgICAgICBpZiAoIWVxdWFsSWdub3JpbmdTZW1hbnRpY0NvbG9yKG8u
cGFyZW50KCktPnN0eWxlKCkudmlzaXRlZERlcGVuZGVudENvbG9yKENTU1Byb3BlcnR5Q29sb3Ip
LCBjb2xvcikpCisgICAgICAgIGlmIChyZW5kZXJFbGVtZW50LT5wYXJlbnQoKSkgeworICAgICAg
ICAgICAgQ29sb3IgY29sb3IgPSByZW5kZXJFbGVtZW50LT5zdHlsZSgpLnZpc2l0ZWREZXBlbmRl
bnRDb2xvcihDU1NQcm9wZXJ0eUNvbG9yKTsKKyAgICAgICAgICAgIGlmICghZXF1YWxJZ25vcmlu
Z1NlbWFudGljQ29sb3IocmVuZGVyRWxlbWVudC0+cGFyZW50KCktPnN0eWxlKCkudmlzaXRlZERl
cGVuZGVudENvbG9yKENTU1Byb3BlcnR5Q29sb3IpLCBjb2xvcikpCiAgICAgICAgICAgICAgICAg
dHMgPDwgIiBbY29sb3I9Il9zIDw8IHNlcmlhbGl6YXRpb25Gb3JSZW5kZXJUcmVlQXNUZXh0KGNv
bG9yKSA8PCAnXSc7CiAKICAgICAgICAgICAgIC8vIERvIG5vdCBkdW1wIGludmFsaWQgb3IgdHJh
bnNwYXJlbnQgYmFja2dyb3VuZHMsIHNpbmNlIHRoYXQgaXMgdGhlIGRlZmF1bHQuCi0gICAgICAg
ICAgICBDb2xvciBiYWNrZ3JvdW5kQ29sb3IgPSBvLnN0eWxlKCkudmlzaXRlZERlcGVuZGVudENv
bG9yKENTU1Byb3BlcnR5QmFja2dyb3VuZENvbG9yKTsKLSAgICAgICAgICAgIGlmICghZXF1YWxJ
Z25vcmluZ1NlbWFudGljQ29sb3Ioby5wYXJlbnQoKS0+c3R5bGUoKS52aXNpdGVkRGVwZW5kZW50
Q29sb3IoQ1NTUHJvcGVydHlCYWNrZ3JvdW5kQ29sb3IpLCBiYWNrZ3JvdW5kQ29sb3IpCisgICAg
ICAgICAgICBDb2xvciBiYWNrZ3JvdW5kQ29sb3IgPSByZW5kZXJFbGVtZW50LT5zdHlsZSgpLnZp
c2l0ZWREZXBlbmRlbnRDb2xvcihDU1NQcm9wZXJ0eUJhY2tncm91bmRDb2xvcik7CisgICAgICAg
ICAgICBpZiAoIWVxdWFsSWdub3JpbmdTZW1hbnRpY0NvbG9yKHJlbmRlckVsZW1lbnQtPnBhcmVu
dCgpLT5zdHlsZSgpLnZpc2l0ZWREZXBlbmRlbnRDb2xvcihDU1NQcm9wZXJ0eUJhY2tncm91bmRD
b2xvciksIGJhY2tncm91bmRDb2xvcikKICAgICAgICAgICAgICAgICAmJiBiYWNrZ3JvdW5kQ29s
b3IgIT0gQ29sb3I6OnRyYW5zcGFyZW50QmxhY2spCiAgICAgICAgICAgICAgICAgdHMgPDwgIiBb
Ymdjb2xvcj0iX3MgPDwgc2VyaWFsaXphdGlvbkZvclJlbmRlclRyZWVBc1RleHQoYmFja2dyb3Vu
ZENvbG9yKSA8PCAnXSc7CiAgICAgICAgICAgICAKLSAgICAgICAgICAgIENvbG9yIHRleHRGaWxs
Q29sb3IgPSBvLnN0eWxlKCkudmlzaXRlZERlcGVuZGVudENvbG9yKENTU1Byb3BlcnR5V2Via2l0
VGV4dEZpbGxDb2xvcik7Ci0gICAgICAgICAgICBpZiAoIWVxdWFsSWdub3JpbmdTZW1hbnRpY0Nv
bG9yKG8ucGFyZW50KCktPnN0eWxlKCkudmlzaXRlZERlcGVuZGVudENvbG9yKENTU1Byb3BlcnR5
V2Via2l0VGV4dEZpbGxDb2xvciksIHRleHRGaWxsQ29sb3IpCisgICAgICAgICAgICBDb2xvciB0
ZXh0RmlsbENvbG9yID0gcmVuZGVyRWxlbWVudC0+c3R5bGUoKS52aXNpdGVkRGVwZW5kZW50Q29s
b3IoQ1NTUHJvcGVydHlXZWJraXRUZXh0RmlsbENvbG9yKTsKKyAgICAgICAgICAgIGlmICghZXF1
YWxJZ25vcmluZ1NlbWFudGljQ29sb3IocmVuZGVyRWxlbWVudC0+cGFyZW50KCktPnN0eWxlKCku
dmlzaXRlZERlcGVuZGVudENvbG9yKENTU1Byb3BlcnR5V2Via2l0VGV4dEZpbGxDb2xvciksIHRl
eHRGaWxsQ29sb3IpCiAgICAgICAgICAgICAgICAgJiYgdGV4dEZpbGxDb2xvciAhPSBjb2xvciAm
JiB0ZXh0RmlsbENvbG9yICE9IENvbG9yOjp0cmFuc3BhcmVudEJsYWNrKQogICAgICAgICAgICAg
ICAgIHRzIDw8ICIgW3RleHRGaWxsQ29sb3I9Il9zIDw8IHNlcmlhbGl6YXRpb25Gb3JSZW5kZXJU
cmVlQXNUZXh0KHRleHRGaWxsQ29sb3IpIDw8ICddJzsKIAotICAgICAgICAgICAgQ29sb3IgdGV4
dFN0cm9rZUNvbG9yID0gby5zdHlsZSgpLnZpc2l0ZWREZXBlbmRlbnRDb2xvcihDU1NQcm9wZXJ0
eVdlYmtpdFRleHRTdHJva2VDb2xvcik7Ci0gICAgICAgICAgICBpZiAoIWVxdWFsSWdub3JpbmdT
ZW1hbnRpY0NvbG9yKG8ucGFyZW50KCktPnN0eWxlKCkudmlzaXRlZERlcGVuZGVudENvbG9yKENT
U1Byb3BlcnR5V2Via2l0VGV4dFN0cm9rZUNvbG9yKSwgdGV4dFN0cm9rZUNvbG9yKQorICAgICAg
ICAgICAgQ29sb3IgdGV4dFN0cm9rZUNvbG9yID0gcmVuZGVyRWxlbWVudC0+c3R5bGUoKS52aXNp
dGVkRGVwZW5kZW50Q29sb3IoQ1NTUHJvcGVydHlXZWJraXRUZXh0U3Ryb2tlQ29sb3IpOworICAg
ICAgICAgICAgaWYgKCFlcXVhbElnbm9yaW5nU2VtYW50aWNDb2xvcihyZW5kZXJFbGVtZW50LT5w
YXJlbnQoKS0+c3R5bGUoKS52aXNpdGVkRGVwZW5kZW50Q29sb3IoQ1NTUHJvcGVydHlXZWJraXRU
ZXh0U3Ryb2tlQ29sb3IpLCB0ZXh0U3Ryb2tlQ29sb3IpCiAgICAgICAgICAgICAgICAgJiYgdGV4
dFN0cm9rZUNvbG9yICE9IGNvbG9yICYmIHRleHRTdHJva2VDb2xvciAhPSBDb2xvcjo6dHJhbnNw
YXJlbnRCbGFjaykKICAgICAgICAgICAgICAgICB0cyA8PCAiIFt0ZXh0U3Ryb2tlQ29sb3I9Il9z
IDw8IHNlcmlhbGl6YXRpb25Gb3JSZW5kZXJUcmVlQXNUZXh0KHRleHRTdHJva2VDb2xvcikgPDwg
J10nOwogCi0gICAgICAgICAgICBpZiAoby5wYXJlbnQoKS0+c3R5bGUoKS50ZXh0U3Ryb2tlV2lk
dGgoKSAhPSBvLnN0eWxlKCkudGV4dFN0cm9rZVdpZHRoKCkgJiYgby5zdHlsZSgpLnRleHRTdHJv
a2VXaWR0aCgpID4gMCkKLSAgICAgICAgICAgICAgICB0cyA8PCAiIFt0ZXh0U3Ryb2tlV2lkdGg9
Il9zIDw8IG8uc3R5bGUoKS50ZXh0U3Ryb2tlV2lkdGgoKSA8PCAnXSc7CisgICAgICAgICAgICBp
ZiAocmVuZGVyRWxlbWVudC0+cGFyZW50KCktPnN0eWxlKCkudGV4dFN0cm9rZVdpZHRoKCkgIT0g
cmVuZGVyRWxlbWVudC0+c3R5bGUoKS50ZXh0U3Ryb2tlV2lkdGgoKSAmJiByZW5kZXJFbGVtZW50
LT5zdHlsZSgpLnRleHRTdHJva2VXaWR0aCgpID4gMCkKKyAgICAgICAgICAgICAgICB0cyA8PCAi
IFt0ZXh0U3Ryb2tlV2lkdGg9Il9zIDw8IHJlbmRlckVsZW1lbnQtPnN0eWxlKCkudGV4dFN0cm9r
ZVdpZHRoKCkgPDwgJ10nOwogICAgICAgICB9CiAKICAgICAgICAgYXV0byogYm94ID0gZHluYW1p
Y0Rvd25jYXN0PFJlbmRlckJveE1vZGVsT2JqZWN0PihvKTsKQEAgLTI4MiwxMCArMjgyLDEwIEBA
IHZvaWQgUmVuZGVyVHJlZUFzVGV4dDo6d3JpdGVSZW5kZXJPYmplY3QoVGV4dFN0cmVhbSYgdHMs
IGNvbnN0IFJlbmRlck9iamVjdCYgbywKICAgICAgICAgTGF5b3V0VW5pdCBib3JkZXJSaWdodCA9
IGJveC0+Ym9yZGVyUmlnaHQoKTsKICAgICAgICAgTGF5b3V0VW5pdCBib3JkZXJCb3R0b20gPSBi
b3gtPmJvcmRlckJvdHRvbSgpOwogICAgICAgICBMYXlvdXRVbml0IGJvcmRlckxlZnQgPSBib3gt
PmJvcmRlckxlZnQoKTsKLSAgICAgICAgYm9vbCBvdmVycmlkZGVuID0gby5zdHlsZSgpLmJvcmRl
ckltYWdlKCkub3ZlcnJpZGVzQm9yZGVyV2lkdGhzKCk7CisgICAgICAgIGJvb2wgb3ZlcnJpZGRl
biA9IHJlbmRlckVsZW1lbnQtPnN0eWxlKCkuYm9yZGVySW1hZ2UoKS5vdmVycmlkZXNCb3JkZXJX
aWR0aHMoKTsKICAgICAgICAgaWYgKGJveC0+aXNGaWVsZHNldCgpKSB7CiAgICAgICAgICAgICBj
b25zdCBhdXRvJiBibG9jayA9IGRvd25jYXN0PFJlbmRlckJsb2NrPigqYm94KTsKLSAgICAgICAg
ICAgIHN3aXRjaCAoby53cml0aW5nTW9kZSgpLmJsb2NrRGlyZWN0aW9uKCkpIHsKKyAgICAgICAg
ICAgIHN3aXRjaCAocmVuZGVyRWxlbWVudC0+d3JpdGluZ01vZGUoKS5ibG9ja0RpcmVjdGlvbigp
KSB7CiAgICAgICAgICAgICBjYXNlIEZsb3dEaXJlY3Rpb246OlRvcFRvQm90dG9tOgogICAgICAg
ICAgICAgICAgIGJvcmRlclRvcCAtPSBibG9jay5pbnRyaW5zaWNCb3JkZXJGb3JGaWVsZHNldCgp
OwogICAgICAgICAgICAgICAgIGJyZWFrOwpAQCAtMzAyLDM0ICszMDIsMzQgQEAgdm9pZCBSZW5k
ZXJUcmVlQXNUZXh0Ojp3cml0ZVJlbmRlck9iamVjdChUZXh0U3RyZWFtJiB0cywgY29uc3QgUmVu
ZGVyT2JqZWN0JiBvLAogICAgICAgICBpZiAoYm9yZGVyVG9wIHx8IGJvcmRlclJpZ2h0IHx8IGJv
cmRlckJvdHRvbSB8fCBib3JkZXJMZWZ0KSB7CiAgICAgICAgICAgICB0cyA8PCAiIFtib3JkZXI6
Il9zOwogCi0gICAgICAgICAgICBhdXRvIHByaW50Qm9yZGVyID0gWyZ0cywgJm9dIChjb25zdCBM
YXlvdXRVbml0JiB3aWR0aCwgY29uc3QgQm9yZGVyU3R5bGUmIHN0eWxlLCBjb25zdCBTdHlsZTo6
Q29sb3ImIGNvbG9yKSB7CisgICAgICAgICAgICBhdXRvIHByaW50Qm9yZGVyID0gWyZdIChjb25z
dCBMYXlvdXRVbml0JiB3aWR0aCwgY29uc3QgQm9yZGVyU3R5bGUmIHN0eWxlLCBjb25zdCBTdHls
ZTo6Q29sb3ImIGNvbG9yKSB7CiAgICAgICAgICAgICAgICAgaWYgKCF3aWR0aCkKICAgICAgICAg
ICAgICAgICAgICAgdHMgPDwgIiBub25lIl9zOwogICAgICAgICAgICAgICAgIGVsc2UgewogICAg
ICAgICAgICAgICAgICAgICB0cyA8PCAiICgiX3MgPDwgd2lkdGggPDwgInB4ICJfczsKICAgICAg
ICAgICAgICAgICAgICAgcHJpbnRCb3JkZXJTdHlsZSh0cywgc3R5bGUpOwotICAgICAgICAgICAg
ICAgICAgICBhdXRvIHJlc29sdmVkQ29sb3IgPSBvLnN0eWxlKCkuY29sb3JSZXNvbHZpbmdDdXJy
ZW50Q29sb3IoY29sb3IpOworICAgICAgICAgICAgICAgICAgICBhdXRvIHJlc29sdmVkQ29sb3Ig
PSByZW5kZXJFbGVtZW50LT5zdHlsZSgpLmNvbG9yUmVzb2x2aW5nQ3VycmVudENvbG9yKGNvbG9y
KTsKICAgICAgICAgICAgICAgICAgICAgdHMgPDwgc2VyaWFsaXphdGlvbkZvclJlbmRlclRyZWVB
c1RleHQocmVzb2x2ZWRDb2xvcikgPDwgJyknOwogICAgICAgICAgICAgICAgIH0KIAogICAgICAg
ICAgICAgfTsKIAotICAgICAgICAgICAgQm9yZGVyVmFsdWUgcHJldkJvcmRlciA9IG8uc3R5bGUo
KS5ib3JkZXJUb3AoKTsKLSAgICAgICAgICAgIHByaW50Qm9yZGVyKGJvcmRlclRvcCwgby5zdHls
ZSgpLmJvcmRlclRvcFN0eWxlKCksIG8uc3R5bGUoKS5ib3JkZXJUb3BDb2xvcigpKTsKKyAgICAg
ICAgICAgIEJvcmRlclZhbHVlIHByZXZCb3JkZXIgPSByZW5kZXJFbGVtZW50LT5zdHlsZSgpLmJv
cmRlclRvcCgpOworICAgICAgICAgICAgcHJpbnRCb3JkZXIoYm9yZGVyVG9wLCByZW5kZXJFbGVt
ZW50LT5zdHlsZSgpLmJvcmRlclRvcFN0eWxlKCksIHJlbmRlckVsZW1lbnQtPnN0eWxlKCkuYm9y
ZGVyVG9wQ29sb3IoKSk7CiAKLSAgICAgICAgICAgIGlmIChvLnN0eWxlKCkuYm9yZGVyUmlnaHQo
KSAhPSBwcmV2Qm9yZGVyIHx8IChvdmVycmlkZGVuICYmIGJvcmRlclJpZ2h0ICE9IGJvcmRlclRv
cCkpIHsKLSAgICAgICAgICAgICAgICBwcmV2Qm9yZGVyID0gby5zdHlsZSgpLmJvcmRlclJpZ2h0
KCk7Ci0gICAgICAgICAgICAgICAgcHJpbnRCb3JkZXIoYm9yZGVyUmlnaHQsIG8uc3R5bGUoKS5i
b3JkZXJSaWdodFN0eWxlKCksIG8uc3R5bGUoKS5ib3JkZXJSaWdodENvbG9yKCkpOworICAgICAg
ICAgICAgaWYgKHJlbmRlckVsZW1lbnQtPnN0eWxlKCkuYm9yZGVyUmlnaHQoKSAhPSBwcmV2Qm9y
ZGVyIHx8IChvdmVycmlkZGVuICYmIGJvcmRlclJpZ2h0ICE9IGJvcmRlclRvcCkpIHsKKyAgICAg
ICAgICAgICAgICBwcmV2Qm9yZGVyID0gcmVuZGVyRWxlbWVudC0+c3R5bGUoKS5ib3JkZXJSaWdo
dCgpOworICAgICAgICAgICAgICAgIHByaW50Qm9yZGVyKGJvcmRlclJpZ2h0LCByZW5kZXJFbGVt
ZW50LT5zdHlsZSgpLmJvcmRlclJpZ2h0U3R5bGUoKSwgcmVuZGVyRWxlbWVudC0+c3R5bGUoKS5i
b3JkZXJSaWdodENvbG9yKCkpOwogICAgICAgICAgICAgfQogCi0gICAgICAgICAgICBpZiAoby5z
dHlsZSgpLmJvcmRlckJvdHRvbSgpICE9IHByZXZCb3JkZXIgfHwgKG92ZXJyaWRkZW4gJiYgYm9y
ZGVyQm90dG9tICE9IGJvcmRlclJpZ2h0KSkgewotICAgICAgICAgICAgICAgIHByZXZCb3JkZXIg
PSBvLnN0eWxlKCkuYm9yZGVyQm90dG9tKCk7Ci0gICAgICAgICAgICAgICAgcHJpbnRCb3JkZXIo
Ym9yZGVyQm90dG9tLCBvLnN0eWxlKCkuYm9yZGVyQm90dG9tU3R5bGUoKSwgby5zdHlsZSgpLmJv
cmRlckJvdHRvbUNvbG9yKCkpOworICAgICAgICAgICAgaWYgKHJlbmRlckVsZW1lbnQtPnN0eWxl
KCkuYm9yZGVyQm90dG9tKCkgIT0gcHJldkJvcmRlciB8fCAob3ZlcnJpZGRlbiAmJiBib3JkZXJC
b3R0b20gIT0gYm9yZGVyUmlnaHQpKSB7CisgICAgICAgICAgICAgICAgcHJldkJvcmRlciA9IHJl
bmRlckVsZW1lbnQtPnN0eWxlKCkuYm9yZGVyQm90dG9tKCk7CisgICAgICAgICAgICAgICAgcHJp
bnRCb3JkZXIoYm9yZGVyQm90dG9tLCByZW5kZXJFbGVtZW50LT5zdHlsZSgpLmJvcmRlckJvdHRv
bVN0eWxlKCksIHJlbmRlckVsZW1lbnQtPnN0eWxlKCkuYm9yZGVyQm90dG9tQ29sb3IoKSk7CiAg
ICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIGlmIChvLnN0eWxlKCkuYm9yZGVyTGVmdCgpICE9
IHByZXZCb3JkZXIgfHwgKG92ZXJyaWRkZW4gJiYgYm9yZGVyTGVmdCAhPSBib3JkZXJCb3R0b20p
KSB7Ci0gICAgICAgICAgICAgICAgcHJldkJvcmRlciA9IG8uc3R5bGUoKS5ib3JkZXJMZWZ0KCk7
Ci0gICAgICAgICAgICAgICAgcHJpbnRCb3JkZXIoYm9yZGVyTGVmdCwgby5zdHlsZSgpLmJvcmRl
ckxlZnRTdHlsZSgpLCBvLnN0eWxlKCkuYm9yZGVyTGVmdENvbG9yKCkpOworICAgICAgICAgICAg
aWYgKHJlbmRlckVsZW1lbnQtPnN0eWxlKCkuYm9yZGVyTGVmdCgpICE9IHByZXZCb3JkZXIgfHwg
KG92ZXJyaWRkZW4gJiYgYm9yZGVyTGVmdCAhPSBib3JkZXJCb3R0b20pKSB7CisgICAgICAgICAg
ICAgICAgcHJldkJvcmRlciA9IHJlbmRlckVsZW1lbnQtPnN0eWxlKCkuYm9yZGVyTGVmdCgpOwor
ICAgICAgICAgICAgICAgIHByaW50Qm9yZGVyKGJvcmRlckxlZnQsIHJlbmRlckVsZW1lbnQtPnN0
eWxlKCkuYm9yZGVyTGVmdFN0eWxlKCksIHJlbmRlckVsZW1lbnQtPnN0eWxlKCkuYm9yZGVyTGVm
dENvbG9yKCkpOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgdHMgPDwgJ10nOwogICAgICAg
ICB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>