<?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>265759</bug_id>
          
          <creation_ts>2023-12-03 11:23:47 -0800</creation_ts>
          <short_desc>[IFC][Ruby] Can&apos;t add interlinear annotation display box until bidi content is processed</short_desc>
          <delta_ts>2023-12-04 13:03:15 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>koivisto</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1996562</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2023-12-03 11:23:47 -0800</bug_when>
    <thetext>ssia</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1996563</commentid>
    <comment_count>1</comment_count>
      <attachid>468844</attachid>
    <who name="alan">zalan</who>
    <bug_when>2023-12-03 11:29:17 -0800</bug_when>
    <thetext>Created attachment 468844
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1996660</commentid>
    <comment_count>2</comment_count>
      <attachid>468844</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2023-12-04 01:04:46 -0800</bug_when>
    <thetext>Comment on attachment 468844
Patch

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

&gt; Source/WebCore/layout/formattingContexts/inline/display/InlineDisplayContentBuilder.cpp:375
&gt; +    m_haSeenRubyBase = m_haSeenRubyBase || layoutBox.isRubyBase();

dropped an s</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1996806</commentid>
    <comment_count>3</comment_count>
      <attachid>468870</attachid>
    <who name="alan">zalan</who>
    <bug_when>2023-12-04 11:45:53 -0800</bug_when>
    <thetext>Created attachment 468870
[fast-cq]Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1996825</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2023-12-04 13:02:11 -0800</bug_when>
    <thetext>Committed 271503@main (fb8f991e77ed): &lt;https://commits.webkit.org/271503@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 468870.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1996828</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2023-12-04 13:03:15 -0800</bug_when>
    <thetext>&lt;rdar://problem/119149400&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>468844</attachid>
            <date>2023-12-03 11:29:17 -0800</date>
            <delta_ts>2023-12-04 11:45:51 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-265759-20231203112916.patch</filename>
            <type>text/plain</type>
            <size>13604</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSA3MjU4NGViYTg2ZGI1NjMzNmRhZWE4NzBjYzMxYTQ0MGMwN2QzMTZkIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJhcmFkbGF5IDx6YWxhbkBhcHBsZS5jb20+CkRhdGU6
IFN1biwgMyBEZWMgMjAyMyAxMToyMzo1NiAtMDgwMApTdWJqZWN0OiBbUEFUQ0hdIFtJRkNdW1J1
YnldIENhbid0IGFkZCBpbnRlcmxpbmVhciBhbm5vdGF0aW9uIGRpc3BsYXkgYm94CiB1bnRpbCBi
aWRpIGNvbnRlbnQgaXMgcHJvY2Vzc2VkCiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjY1NzU5IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKVGhpcyBwYXRjaCBp
cyBpbiBwcmVwYXJhdGlvbiBmb3Igc3VwcG9ydGluZyBiaWRpIGNvbnRlbnQgaW4gcnVieS4KCiog
U291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvZGlzcGxheS9J
bmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXIuY3BwOgpNb3ZlIGFubm90YXRpb24gYm94IGNvbnN0
cnVjdGlvbiB0byBhIGxhdGVyIHRpbWUgd2hlbiB3ZSBmaW5pc2hlZCBjb25zdHJ1Y3RpbmcgYWxs
IHRoZSBkaXNwbGF5IGJveGVzLiBJdCBlbnN1cmVzCnN1Y2ggYW5ub3RhdGlvbiBib3hlcyBnZXQg
dG8gdGhlaXIgY29ycmVjdCBfdmlzdWFsXyBwb3NpdGlvbnMuCgooV2ViQ29yZTo6TGF5b3V0OjpJ
bmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXI6OmJ1aWxkKToKKFdlYkNvcmU6OkxheW91dDo6SW5s
aW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyOjphcHBlbmRJbmxpbmVCb3hEaXNwbGF5Qm94KToKKFdl
YkNvcmU6OkxheW91dDo6SW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyOjphcHBlbmRTcGFubmlu
Z0lubGluZUJveERpc3BsYXlCb3gpOgooV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVEaXNwbGF5Q29u
dGVudEJ1aWxkZXI6OmFwcGVuZElubGluZURpc3BsYXlCb3hBdEJpZGlCb3VuZGFyeSk6CihXZWJD
b3JlOjpMYXlvdXQ6OklubGluZURpc3BsYXlDb250ZW50QnVpbGRlcjo6aW5zZXJ0UnVieUFubm90
YXRpb25Cb3gpOgooV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXI6
OnByb2Nlc3NOb25CaWRpQ29udGVudCk6CihXZWJDb3JlOjpMYXlvdXQ6OklubGluZURpc3BsYXlD
b250ZW50QnVpbGRlcjo6cHJvY2Vzc1J1YnlDb250ZW50KToKKFdlYkNvcmU6OkxheW91dDo6SW5s
aW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyOjphcHBseVJ1YnlPdmVyaGFuZyk6CihXZWJDb3JlOjpM
YXlvdXQ6OklubGluZURpc3BsYXlDb250ZW50QnVpbGRlcjo6aGFuZGxlSW5saW5lQm94RW5kKTog
RGVsZXRlZC4KKFdlYkNvcmU6OkxheW91dDo6SW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyOjph
cHBlbmRSdWJ5QW5ub3RhdGlvbkJveCk6IERlbGV0ZWQuCiogU291cmNlL1dlYkNvcmUvbGF5b3V0
L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvZGlzcGxheS9JbmxpbmVEaXNwbGF5Q29udGVudEJ1
aWxkZXIuaDoKLS0tCiAuLi4vZGlzcGxheS9JbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXIuY3Bw
ICAgfCA5NCArKysrKysrKysrLS0tLS0tLS0tCiAuLi4vZGlzcGxheS9JbmxpbmVEaXNwbGF5Q29u
dGVudEJ1aWxkZXIuaCAgICAgfCAgOSArLQogMiBmaWxlcyBjaGFuZ2VkLCA1NiBpbnNlcnRpb25z
KCspLCA0NyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
Zm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9kaXNwbGF5L0lubGluZURpc3BsYXlDb250ZW50QnVp
bGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGlu
ZS9kaXNwbGF5L0lubGluZURpc3BsYXlDb250ZW50QnVpbGRlci5jcHAKaW5kZXggMjNhNjRhNTU1
YWQ0Li4yNTlhYzljNjk1NGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3Jt
YXR0aW5nQ29udGV4dHMvaW5saW5lL2Rpc3BsYXkvSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGlu
ZS9kaXNwbGF5L0lubGluZURpc3BsYXlDb250ZW50QnVpbGRlci5jcHAKQEAgLTEwOCw4ICsxMDgs
NyBAQCBJbmxpbmVEaXNwbGF5OjpCb3hlcyBJbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXI6OmJ1
aWxkKGNvbnN0IExpbmVMYXlvdXRSZXN1bHQmCiAgICAgZWxzZQogICAgICAgICBwcm9jZXNzTm9u
QmlkaUNvbnRlbnQobGluZUxheW91dFJlc3VsdCwgbGluZUJveCwgYm94ZXMpOwogICAgIHByb2Nl
c3NGbG9hdEJveGVzKGxpbmVMYXlvdXRSZXN1bHQpOwotCi0gICAgYXBwbHlSdWJ5T3Zlcmhhbmco
Ym94ZXMpOworICAgIHByb2Nlc3NSdWJ5Q29udGVudChib3hlcyk7CiAKICAgICBjb2xsZWN0SW5r
T3ZlcmZsb3dGb3JUZXh0RGVjb3JhdGlvbnMoYm94ZXMpOwogICAgIGNvbGxlY3RJbmtPdmVyZmxv
d0ZvcklubGluZUJveGVzKGJveGVzKTsKQEAgLTM3Myw2ICszNzIsNyBAQCB2b2lkIElubGluZURp
c3BsYXlDb250ZW50QnVpbGRlcjo6YXBwZW5kSW5saW5lQm94RGlzcGxheUJveChjb25zdCBMaW5l
OjpSdW4mIGxpbgogICAgICAgICByZXR1cm47CiAgICAgfQogCisgICAgbV9oYVNlZW5SdWJ5QmFz
ZSA9IG1faGFTZWVuUnVieUJhc2UgfHwgbGF5b3V0Qm94LmlzUnVieUJhc2UoKTsKICAgICBhdXRv
IGlua092ZXJmbG93ID0gWyZdIHsKICAgICAgICAgYXV0byYgc3R5bGUgPSAhbV9saW5lSW5kZXgg
PyBsYXlvdXRCb3guZmlyc3RMaW5lU3R5bGUoKSA6IGxheW91dEJveC5zdHlsZSgpOwogICAgICAg
ICBhdXRvIGlua092ZXJmbG93ID0gRmxvYXRSZWN0IHsgaW5saW5lQm94Qm9yZGVyQm94IH07CkBA
IC0zOTIsMTMgKzM5Miw2IEBAIHZvaWQgSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyOjphcHBl
bmRJbmxpbmVCb3hEaXNwbGF5Qm94KGNvbnN0IExpbmU6OlJ1biYgbGluCiAgICAgICAgICwgaXNM
aW5lRnVsbHlUcnVuY2F0ZWRJbkJsb2NrRGlyZWN0aW9uKCkKICAgICAgICAgLCBpc0ZpcnN0TGFz
dEJveChpbmxpbmVCb3gpCiAgICAgfSk7Ci0KLSAgICBpZiAoYXV0byogYW5ub3RhdGlvbkJveCA9
IGxheW91dEJveC5hc3NvY2lhdGVkUnVieUFubm90YXRpb25Cb3goKSkgewotICAgICAgICBBU1NF
UlQobGF5b3V0Qm94LmlzUnVieUJhc2UoKSk7Ci0gICAgICAgIGlmIChpc0ludGVybGluZWFyQW5u
b3RhdGlvbkJveChhbm5vdGF0aW9uQm94KSkKLSAgICAgICAgICAgIG1faW50ZXJsaW5lYXJSdWJ5
Q29sdW1uUmFuZ2VMaXN0LmFwcGVuZCh7IGJveGVzLnNpemUoKSAtIDEsIGJveGVzLnNpemUoKSB9
KTsKLSAgICAgICAgYXBwZW5kUnVieUFubm90YXRpb25Cb3gobGF5b3V0Qm94LCBib3hlcyk7Ci0g
ICAgfQogfQogCiB2b2lkIElubGluZURpc3BsYXlDb250ZW50QnVpbGRlcjo6YXBwZW5kU3Bhbm5p
bmdJbmxpbmVCb3hEaXNwbGF5Qm94KGNvbnN0IExpbmU6OlJ1biYgbGluZVJ1biwgY29uc3QgSW5s
aW5lTGV2ZWxCb3gmIGlubGluZUJveCwgY29uc3QgSW5saW5lUmVjdCYgaW5saW5lQm94Qm9yZGVy
Qm94LCBib29sIGxpbmVIYXNDb250ZW50LCBJbmxpbmVEaXNwbGF5OjpCb3hlcyYgYm94ZXMpCkBA
IC00MTYsNiArNDA5LDcgQEAgdm9pZCBJbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXI6OmFwcGVu
ZFNwYW5uaW5nSW5saW5lQm94RGlzcGxheUJveChjb25zdCBMaW5lOjoKIAogICAgIC8vIE1pZGRs
ZSBvciBlbmQgb2YgdGhlIGlubGluZSBib3guIExldCdzIHN0cmV0Y2ggdGhlIGJveCBhcyBuZWVk
ZWQuCiAgICAgYXV0byYgbGF5b3V0Qm94ID0gbGluZVJ1bi5sYXlvdXRCb3goKTsKKyAgICBtX2hh
U2VlblJ1YnlCYXNlID0gbV9oYVNlZW5SdWJ5QmFzZSB8fCBsYXlvdXRCb3guaXNSdWJ5QmFzZSgp
OwogICAgIHNldElubGluZUJveEdlb21ldHJ5KGxheW91dEJveCwgaW5saW5lQm94Qm9yZGVyQm94
LCBmYWxzZSk7CiAgICAgYXV0byBpbmtPdmVyZmxvdyA9IFsmXSB7CiAgICAgICAgIGF1dG8mIHN0
eWxlID0gIW1fbGluZUluZGV4ID8gbGF5b3V0Qm94LmZpcnN0TGluZVN0eWxlKCkgOiBsYXlvdXRC
b3guc3R5bGUoKTsKQEAgLTQzOCwyNyArNDMyLDExIEBAIHZvaWQgSW5saW5lRGlzcGxheUNvbnRl
bnRCdWlsZGVyOjphcHBlbmRTcGFubmluZ0lubGluZUJveERpc3BsYXlCb3goY29uc3QgTGluZTo6
CiAgICAgfSk7CiB9CiAKLXZvaWQgSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyOjpoYW5kbGVJ
bmxpbmVCb3hFbmQoY29uc3QgTGluZTo6UnVuJiBsaW5lUnVuLCBjb25zdCBJbmxpbmVEaXNwbGF5
OjpCb3hlcyYgYm94ZXMpCi17Ci0gICAgaWYgKCFsaW5lUnVuLmxheW91dEJveCgpLmlzUnVieUJh
c2UoKSkKLSAgICAgICAgcmV0dXJuOwotICAgIGF1dG8qIGFubm90YXRpb25Cb3ggPSBsaW5lUnVu
LmxheW91dEJveCgpLmFzc29jaWF0ZWRSdWJ5QW5ub3RhdGlvbkJveCgpOwotICAgIGlmICghYW5u
b3RhdGlvbkJveCkKLSAgICAgICAgcmV0dXJuOwotICAgIGlmIChpc0ludGVybGluZWFyQW5ub3Rh
dGlvbkJveChhbm5vdGF0aW9uQm94KSkgewotICAgICAgICBpZiAobV9pbnRlcmxpbmVhclJ1YnlD
b2x1bW5SYW5nZUxpc3QuaXNFbXB0eSgpKSB7Ci0gICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNI
RUQoKTsKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfQotICAgICAgICBtX2ludGVybGlu
ZWFyUnVieUNvbHVtblJhbmdlTGlzdC5sYXN0KCkgPSB7IG1faW50ZXJsaW5lYXJSdWJ5Q29sdW1u
UmFuZ2VMaXN0Lmxhc3QoKS5iZWdpbigpLCBib3hlcy5zaXplKCkgLSAxIH07Ci0gICAgICAgIHJl
dHVybjsKLSAgICB9Ci19Ci0KIHZvaWQgSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyOjphcHBl
bmRJbmxpbmVEaXNwbGF5Qm94QXRCaWRpQm91bmRhcnkoY29uc3QgQm94JiBsYXlvdXRCb3gsIElu
bGluZURpc3BsYXk6OkJveGVzJiBib3hlcykKIHsKICAgICAvLyBHZW9tZXRyaWVzIGZvciBpbmxp
bmUgYm94ZXMgYXQgYmlkaSBib3VuZGFyaWVzIGFyZSBjb21wdXRlZCBhdCBhIHBvc3QtcHJvY2Vz
cyBzdGVwLgogICAgIGF1dG8gaXNDb250ZW50ZnVsID0gdHJ1ZTsKKyAgICBtX2hhU2VlblJ1YnlC
YXNlID0gbV9oYVNlZW5SdWJ5QmFzZSB8fCBsYXlvdXRCb3guaXNSdWJ5QmFzZSgpOwogICAgIGJv
eGVzLmFwcGVuZCh7IG1fbGluZUluZGV4CiAgICAgICAgICwgSW5saW5lRGlzcGxheTo6Qm94OjpU
eXBlOjpOb25Sb290SW5saW5lQm94CiAgICAgICAgICwgbGF5b3V0Qm94CkBAIC00NzIsNyArNDUw
LDcgQEAgdm9pZCBJbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXI6OmFwcGVuZElubGluZURpc3Bs
YXlCb3hBdEJpZGlCb3VuZGFyeShjb25zdCBCb3gKICAgICB9KTsKIH0KIAotdm9pZCBJbmxpbmVE
aXNwbGF5Q29udGVudEJ1aWxkZXI6OmFwcGVuZFJ1YnlBbm5vdGF0aW9uQm94KGNvbnN0IEJveCYg
cnVieUJhc2VMYXlvdXRCb3gsIElubGluZURpc3BsYXk6OkJveGVzJiBib3hlcykKK3ZvaWQgSW5s
aW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyOjppbnNlcnRSdWJ5QW5ub3RhdGlvbkJveChjb25zdCBC
b3gmIHJ1YnlCYXNlTGF5b3V0Qm94LCBzaXplX3QgaW5zZXJ0aW9uUG9zaXRpb24sIElubGluZURp
c3BsYXk6OkJveGVzJiBib3hlcykKIHsKICAgICBBU1NFUlQocnVieUJhc2VMYXlvdXRCb3guaXNS
dWJ5QmFzZSgpKTsKIApAQCAtNDg3LDcgKzQ2NSw3IEBAIHZvaWQgSW5saW5lRGlzcGxheUNvbnRl
bnRCdWlsZGVyOjphcHBlbmRSdWJ5QW5ub3RhdGlvbkJveChjb25zdCBCb3gmIHJ1YnlCYXNlTGF5
CiAKICAgICBhdXRvIHZpc3VhbEJvcmRlckJveFJlY3QgPSBCb3hHZW9tZXRyeTo6Ym9yZGVyQm94
UmVjdChhbm5vdGF0aW9uQm94R2VvbWV0cnkpOwogCi0gICAgYm94ZXMuYXBwZW5kKHsgbV9saW5l
SW5kZXgKKyAgICBib3hlcy5pbnNlcnQoaW5zZXJ0aW9uUG9zaXRpb24sIHsgbV9saW5lSW5kZXgK
ICAgICAgICAgLCBJbmxpbmVEaXNwbGF5OjpCb3g6OlR5cGU6OkF0b21pY0lubGluZUxldmVsQm94
CiAgICAgICAgICwgYW5ub3RhdGlvbkJveAogICAgICAgICAsIFVCSURJX0RFRkFVTFRfTFRSCkBA
IC01NjgsMTEgKzU0Niw3IEBAIHZvaWQgSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyOjpwcm9j
ZXNzTm9uQmlkaUNvbnRlbnQoY29uc3QgTGluZUxheW91dFJlc3VsdCYKICAgICAgICAgICAgICAg
ICBibG9ja0xldmVsT3V0T2ZGbG93Qm94TGlzdC5hcHBlbmQoaW5kZXgpOwogICAgICAgICAgICAg
Y29udGludWU7CiAgICAgICAgIH0KLSAgICAgICAgaWYgKGxpbmVSdW4uaXNJbmxpbmVCb3hFbmQo
KSkgewotICAgICAgICAgICAgaGFuZGxlSW5saW5lQm94RW5kKGxpbmVSdW4sIGJveGVzKTsKLSAg
ICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICB9Ci0gICAgICAgIEFTU0VSVChsaW5lUnVuLmlz
V29yZEJyZWFrT3Bwb3J0dW5pdHkoKSk7CisgICAgICAgIEFTU0VSVChsaW5lUnVuLmlzV29yZEJy
ZWFrT3Bwb3J0dW5pdHkoKSB8fCBsaW5lUnVuLmlzSW5saW5lQm94RW5kKCkpOwogICAgIH0KICAg
ICBzZXRHZW9tZXRyeUZvckJsb2NrTGV2ZWxPdXRPZkZsb3dCb3hlcyhibG9ja0xldmVsT3V0T2ZG
bG93Qm94TGlzdCwgbGluZUJveCwgbGluZUxheW91dFJlc3VsdC5pbmxpbmVDb250ZW50KTsKIH0K
QEAgLTEwOTAsMzAgKzEwNjQsNjQgQEAgdm9pZCBJbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXI6
OmNvbGxlY3RJbmtPdmVyZmxvd0ZvclRleHREZWNvcmF0aW9ucyhJbmxpbmVEaXMKICAgICB9CiB9
CiAKLXZvaWQgSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyOjphcHBseVJ1YnlPdmVyaGFuZyhJ
bmxpbmVEaXNwbGF5OjpCb3hlcyYgYm94ZXMpCit2b2lkIElubGluZURpc3BsYXlDb250ZW50QnVp
bGRlcjo6cHJvY2Vzc1J1YnlDb250ZW50KElubGluZURpc3BsYXk6OkJveGVzJiBkaXNwbGF5Qm94
ZXMpCit7CisgICAgaWYgKCFtX2hhU2VlblJ1YnlCYXNlKQorICAgICAgICByZXR1cm47CisKKyAg
ICBWZWN0b3I8V1RGOjpSYW5nZTxzaXplX3Q+PiBpbnRlcmxpbmVhclJ1YnlDb2x1bW5SYW5nZUxp
c3Q7CisgICAgVmVjdG9yPHNpemVfdD4gcnVieUJhc2VTdGFydEluZGV4TGlzdFdpdGhBbm5vdGF0
aW9uOworICAgIGZvciAoc2l6ZV90IGluZGV4ID0gMDsgaW5kZXggPCBkaXNwbGF5Qm94ZXMuc2l6
ZSgpOyArK2luZGV4KSB7CisgICAgICAgIGF1dG8mIGxheW91dEJveCA9IGRpc3BsYXlCb3hlc1tp
bmRleF0ubGF5b3V0Qm94KCk7CisgICAgICAgIGF1dG8qIGFubm90YXRpb25Cb3ggPSBsYXlvdXRC
b3guYXNzb2NpYXRlZFJ1YnlBbm5vdGF0aW9uQm94KCk7CisgICAgICAgIGlmICghYW5ub3RhdGlv
bkJveCkKKyAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgIHJ1YnlCYXNlU3RhcnRJbmRl
eExpc3RXaXRoQW5ub3RhdGlvbi5hcHBlbmQoaW5kZXgpOworICAgICAgICBpZiAoIWlzSW50ZXJs
aW5lYXJBbm5vdGF0aW9uQm94KGFubm90YXRpb25Cb3gpKQorICAgICAgICAgICAgY29udGludWU7
CisKKyAgICAgICAgYXV0byBydWJ5QmFzZVN0YXJ0SW5kZXggPSBpbmRleDsKKyAgICAgICAgYXV0
byBydWJ5QmFzZUVuZEluZGV4ID0gWyZdIHsKKyAgICAgICAgICAgIGF1dG8mIHJ1YnlCb3ggPSBs
YXlvdXRCb3gucGFyZW50KCk7CisgICAgICAgICAgICBmb3IgKCsraW5kZXg7IGluZGV4IDwgZGlz
cGxheUJveGVzLnNpemUoKTsgKytpbmRleCkgeworICAgICAgICAgICAgICAgIGlmICgmZGlzcGxh
eUJveGVzW2luZGV4XS5sYXlvdXRCb3goKS5wYXJlbnQoKSA9PSAmcnVieUJveCkKKyAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuIGluZGV4IC0gMTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IHJldHVybiBkaXNwbGF5Qm94ZXMuc2l6ZSgpIC0gMTsKKyAgICAgICAgfTsKKyAgICAgICAgaW50
ZXJsaW5lYXJSdWJ5Q29sdW1uUmFuZ2VMaXN0LmFwcGVuZCh7IHJ1YnlCYXNlU3RhcnRJbmRleCwg
cnVieUJhc2VFbmRJbmRleCgpIH0pOworICAgIH0KKyAgICBhcHBseVJ1YnlPdmVyaGFuZyhkaXNw
bGF5Qm94ZXMsIGludGVybGluZWFyUnVieUNvbHVtblJhbmdlTGlzdCk7CisKKyAgICBmb3IgKGF1
dG8gYmFzZUluZGV4IDogbWFrZVJldmVyc2VkUmFuZ2UocnVieUJhc2VTdGFydEluZGV4TGlzdFdp
dGhBbm5vdGF0aW9uKSkKKyAgICAgICAgaW5zZXJ0UnVieUFubm90YXRpb25Cb3goZGlzcGxheUJv
eGVzW2Jhc2VJbmRleF0ubGF5b3V0Qm94KCksIGJhc2VJbmRleCArIDEsIGRpc3BsYXlCb3hlcyk7
Cit9CisKK3ZvaWQgSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyOjphcHBseVJ1YnlPdmVyaGFu
ZyhJbmxpbmVEaXNwbGF5OjpCb3hlcyYgZGlzcGxheUJveGVzLCBjb25zdCBWZWN0b3I8V1RGOjpS
YW5nZTxzaXplX3Q+PiYgaW50ZXJsaW5lYXJSdWJ5Q29sdW1uUmFuZ2VMaXN0KQogewogICAgIC8v
IEZJWE1FOiBXZSBhcmUgb25seSBzdXBwb3NlZCB0byBhcHBseSBvdmVyaGFuZyB3aGVuIGFubm90
YXRpb24gYm94IGlzIHdpZGVyIHRoYW4gYmFzZSwgYnV0IGF0IHRoaXMgcG9pbnQgd2UgY2FuJ3Qg
dGVsbCAodGhpcyBuZWVkcyB0byBiZSBhZGRyZXNzZWQgdG9nZXRoZXIgd2l0aCBhbm5vdGF0aW9u
IGJveCBzaXppbmcpLgotICAgIGlmIChtX2ludGVybGluZWFyUnVieUNvbHVtblJhbmdlTGlzdC5p
c0VtcHR5KCkpCisgICAgaWYgKGludGVybGluZWFyUnVieUNvbHVtblJhbmdlTGlzdC5pc0VtcHR5
KCkpCiAgICAgICAgIHJldHVybjsKIAogICAgIGF1dG8gaXNIb3Jpem9udGFsV3JpdGluZ01vZGUg
PSByb290KCkuc3R5bGUoKS5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpOwogICAgIGF1dG8gcnVi
eUZvcm1hdHRpbmdDb250ZXh0ID0gUnVieUZvcm1hdHRpbmdDb250ZXh0IHsgZm9ybWF0dGluZ0Nv
bnRleHQoKSB9OwotICAgIGZvciAoYXV0byBzdGFydEVuZFBhaXIgOiBtX2ludGVybGluZWFyUnVi
eUNvbHVtblJhbmdlTGlzdCkgeworICAgIGZvciAoYXV0byBzdGFydEVuZFBhaXIgOiBpbnRlcmxp
bmVhclJ1YnlDb2x1bW5SYW5nZUxpc3QpIHsKICAgICAgICAgYXV0byBydWJ5QmFzZUluZGV4ID0g
c3RhcnRFbmRQYWlyLmJlZ2luKCk7Ci0gICAgICAgIGF1dG8mIHJ1YnlCYXNlTGF5b3V0Qm94ID0g
Ym94ZXNbcnVieUJhc2VJbmRleF0ubGF5b3V0Qm94KCk7CisgICAgICAgIGF1dG8mIHJ1YnlCYXNl
TGF5b3V0Qm94ID0gZGlzcGxheUJveGVzW3J1YnlCYXNlSW5kZXhdLmxheW91dEJveCgpOwogICAg
ICAgICBBU1NFUlQocnVieUJhc2VMYXlvdXRCb3guaXNSdWJ5QmFzZSgpKTsKICAgICAgICAgQVNT
RVJUKGlzSW50ZXJsaW5lYXJBbm5vdGF0aW9uQm94KHJ1YnlCYXNlTGF5b3V0Qm94LmFzc29jaWF0
ZWRSdWJ5QW5ub3RhdGlvbkJveCgpKSk7CiAKLSAgICAgICAgYXV0byBiZWZvcmVPdmVyaGFuZyA9
IHJ1YnlGb3JtYXR0aW5nQ29udGV4dC5vdmVyaGFuZ0ZvckFubm90YXRpb25CZWZvcmUocnVieUJh
c2VMYXlvdXRCb3gsIHJ1YnlCYXNlSW5kZXgsIGJveGVzKTsKLSAgICAgICAgYXV0byBhZnRlck92
ZXJoYW5nID0gcnVieUZvcm1hdHRpbmdDb250ZXh0Lm92ZXJoYW5nRm9yQW5ub3RhdGlvbkFmdGVy
KHJ1YnlCYXNlTGF5b3V0Qm94LCBydWJ5QmFzZUluZGV4LCBzdGFydEVuZFBhaXIuZW5kKCksIGJv
eGVzKTsKKyAgICAgICAgYXV0byBiZWZvcmVPdmVyaGFuZyA9IHJ1YnlGb3JtYXR0aW5nQ29udGV4
dC5vdmVyaGFuZ0ZvckFubm90YXRpb25CZWZvcmUocnVieUJhc2VMYXlvdXRCb3gsIHJ1YnlCYXNl
SW5kZXgsIGRpc3BsYXlCb3hlcyk7CisgICAgICAgIGF1dG8gYWZ0ZXJPdmVyaGFuZyA9IHJ1YnlG
b3JtYXR0aW5nQ29udGV4dC5vdmVyaGFuZ0ZvckFubm90YXRpb25BZnRlcihydWJ5QmFzZUxheW91
dEJveCwgcnVieUJhc2VJbmRleCwgc3RhcnRFbmRQYWlyLmVuZCgpLCBkaXNwbGF5Qm94ZXMpOwog
CiAgICAgICAgIC8vIEZJWE1FOiBJZiB0aGlzIHR1cm5zIG91dCB0byBiZSBhIHByZWYgYm90dGxl
bmVjaywgbWFrZSBzdXJlIHdlIHBhc3MgaW4gdGhlIGFjY3VtdWxhdGVkIHNoaWZ0IHRvIG92ZXJo
YW5nRm9yQW5ub3RhdGlvbkJlZm9yZS9hZnRlciBhbmQKICAgICAgICAgLy8gb2Zmc2V0IGFsbCBi
b3ggZ2VvbWV0cnkgYXMgd2UgY2hlY2sgZm9yIG92ZXJsYXAuCiAgICAgICAgIGF1dG8gbW92ZUJv
eFJhbmdlVG9WaXN1YWxMZWZ0ID0gWyZdKGF1dG8gc3RhcnQsIGF1dG8gZW5kLCBhdXRvIHNoaWZ0
VmFsdWUpIHsKICAgICAgICAgICAgIGZvciAoYXV0byBpbmRleCA9IHN0YXJ0OyBpbmRleCA8PSBl
bmQ7ICsraW5kZXgpIHsKLSAgICAgICAgICAgICAgICBpc0hvcml6b250YWxXcml0aW5nTW9kZSA/
IGJveGVzW2luZGV4XS5tb3ZlSG9yaXpvbnRhbGx5KExheW91dFVuaXQgeyAtc2hpZnRWYWx1ZSB9
KSA6IGJveGVzW2luZGV4XS5tb3ZlVmVydGljYWxseShMYXlvdXRVbml0IHsgLXNoaWZ0VmFsdWUg
fSk7CisgICAgICAgICAgICAgICAgaXNIb3Jpem9udGFsV3JpdGluZ01vZGUgPyBkaXNwbGF5Qm94
ZXNbaW5kZXhdLm1vdmVIb3Jpem9udGFsbHkoTGF5b3V0VW5pdCB7IC1zaGlmdFZhbHVlIH0pIDog
ZGlzcGxheUJveGVzW2luZGV4XS5tb3ZlVmVydGljYWxseShMYXlvdXRVbml0IHsgLXNoaWZ0VmFs
dWUgfSk7CiAgICAgICAgICAgICAgICAgYXV0byB1cGRhdGVBbm5vdGF0aW9uR2VvbWV0cnlJZk5l
ZWRlZCA9IFsmXSB7Ci0gICAgICAgICAgICAgICAgICAgIGF1dG8mIGxheW91dEJveCA9IGJveGVz
W2luZGV4XS5sYXlvdXRCb3goKTsKKyAgICAgICAgICAgICAgICAgICAgYXV0byYgbGF5b3V0Qm94
ID0gZGlzcGxheUJveGVzW2luZGV4XS5sYXlvdXRCb3goKTsKICAgICAgICAgICAgICAgICAgICAg
aWYgKCFsYXlvdXRCb3guaXNSdWJ5QmFzZSgpIHx8ICFsYXlvdXRCb3guYXNzb2NpYXRlZFJ1YnlB
bm5vdGF0aW9uQm94KCkpCiAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAg
ICAgICAgICAgICAgIGF1dG8mIGFubm90YXRpb25Cb3hHZW9tZXRyeSA9IGZvcm1hdHRpbmdDb250
ZXh0KCkuZ2VvbWV0cnlGb3JCb3goKmxheW91dEJveC5hc3NvY2lhdGVkUnVieUFubm90YXRpb25C
b3goKSk7CkBAIC0xMTIzLDkgKzExMzEsOSBAQCB2b2lkIElubGluZURpc3BsYXlDb250ZW50QnVp
bGRlcjo6YXBwbHlSdWJ5T3ZlcmhhbmcoSW5saW5lRGlzcGxheTo6Qm94ZXMmIGJveGVzKQogICAg
ICAgICAgICAgfQogICAgICAgICB9OwogICAgICAgICBpZiAoYmVmb3JlT3ZlcmhhbmcpCi0gICAg
ICAgICAgICBtb3ZlQm94UmFuZ2VUb1Zpc3VhbExlZnQocnVieUJhc2VJbmRleCwgYm94ZXMuc2l6
ZSgpIC0gMSwgYmVmb3JlT3ZlcmhhbmcpOworICAgICAgICAgICAgbW92ZUJveFJhbmdlVG9WaXN1
YWxMZWZ0KHJ1YnlCYXNlSW5kZXgsIGRpc3BsYXlCb3hlcy5zaXplKCkgLSAxLCBiZWZvcmVPdmVy
aGFuZyk7CiAgICAgICAgIGlmIChhZnRlck92ZXJoYW5nKQotICAgICAgICAgICAgbW92ZUJveFJh
bmdlVG9WaXN1YWxMZWZ0KHN0YXJ0RW5kUGFpci5lbmQoKSArIDEsIGJveGVzLnNpemUoKSAtIDEs
IGFmdGVyT3ZlcmhhbmcpOworICAgICAgICAgICAgbW92ZUJveFJhbmdlVG9WaXN1YWxMZWZ0KHN0
YXJ0RW5kUGFpci5lbmQoKSArIDEsIGRpc3BsYXlCb3hlcy5zaXplKCkgLSAxLCBhZnRlck92ZXJo
YW5nKTsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3Jt
YXR0aW5nQ29udGV4dHMvaW5saW5lL2Rpc3BsYXkvSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9kaXNw
bGF5L0lubGluZURpc3BsYXlDb250ZW50QnVpbGRlci5oCmluZGV4IDdiNzc0MTNmMGRiYS4uMWM0
YThlOTM2YzI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0Nv
bnRleHRzL2lubGluZS9kaXNwbGF5L0lubGluZURpc3BsYXlDb250ZW50QnVpbGRlci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL2Rpc3BsYXkv
SW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyLmgKQEAgLTYxLDkgKzYxLDEwIEBAIHByaXZhdGU6
CiAgICAgdm9pZCBhcHBlbmRJbmxpbmVCb3hEaXNwbGF5Qm94KGNvbnN0IExpbmU6OlJ1biYsIGNv
bnN0IElubGluZUxldmVsQm94JiwgY29uc3QgSW5saW5lUmVjdCYsIGJvb2wgbGluZUhhc0NvbnRl
bnQsIElubGluZURpc3BsYXk6OkJveGVzJik7CiAgICAgdm9pZCBhcHBlbmRTcGFubmluZ0lubGlu
ZUJveERpc3BsYXlCb3goY29uc3QgTGluZTo6UnVuJiwgY29uc3QgSW5saW5lTGV2ZWxCb3gmLCBj
b25zdCBJbmxpbmVSZWN0JiwgYm9vbCBsaW5lSGFzQ29udGVudCwgSW5saW5lRGlzcGxheTo6Qm94
ZXMmKTsKICAgICB2b2lkIGFwcGVuZElubGluZURpc3BsYXlCb3hBdEJpZGlCb3VuZGFyeShjb25z
dCBCb3gmLCBJbmxpbmVEaXNwbGF5OjpCb3hlcyYpOwotICAgIHZvaWQgYXBwZW5kUnVieUFubm90
YXRpb25Cb3goY29uc3QgQm94JiBydWJ5QmFzZUxheW91dEJveCwgSW5saW5lRGlzcGxheTo6Qm94
ZXMmKTsKLSAgICB2b2lkIGhhbmRsZUlubGluZUJveEVuZChjb25zdCBMaW5lOjpSdW4mLCBjb25z
dCBJbmxpbmVEaXNwbGF5OjpCb3hlcyYpOwotICAgIHZvaWQgYXBwbHlSdWJ5T3ZlcmhhbmcoSW5s
aW5lRGlzcGxheTo6Qm94ZXMmKTsKKyAgICB2b2lkIGluc2VydFJ1YnlBbm5vdGF0aW9uQm94KGNv
bnN0IEJveCYgcnVieUJhc2VMYXlvdXRCb3gsIHNpemVfdCBpbnNlcnRpb25Qb3NpdGlvbiwgSW5s
aW5lRGlzcGxheTo6Qm94ZXMmKTsKKworICAgIHZvaWQgcHJvY2Vzc1J1YnlDb250ZW50KElubGlu
ZURpc3BsYXk6OkJveGVzJik7CisgICAgdm9pZCBhcHBseVJ1YnlPdmVyaGFuZyhJbmxpbmVEaXNw
bGF5OjpCb3hlcyYsIGNvbnN0IFZlY3RvcjxXVEY6OlJhbmdlPHNpemVfdD4+JiBpbnRlcmxpbmVh
clJ1YnlDb2x1bW5SYW5nZUxpc3QpOwogCiAgICAgdm9pZCBzZXRJbmxpbmVCb3hHZW9tZXRyeShj
b25zdCBCb3gmLCBjb25zdCBJbmxpbmVSZWN0JiwgYm9vbCBpc0ZpcnN0SW5saW5lQm94RnJhZ21l
bnQpOwogICAgIHZvaWQgYWRqdXN0VmlzdWFsR2VvbWV0cnlGb3JEaXNwbGF5Qm94KHNpemVfdCBk
aXNwbGF5Qm94Tm9kZUluZGV4LCBJbmxpbmVMYXlvdXRVbml0JiBhY2N1bXVsYXRlZE9mZnNldCwg
SW5saW5lTGF5b3V0VW5pdCBsaW5lQm94TG9naWNhbFRvcCwgY29uc3QgRGlzcGxheUJveFRyZWUm
LCBJbmxpbmVEaXNwbGF5OjpCb3hlcyYsIGNvbnN0IExpbmVCb3gmLCBjb25zdCBIYXNoTWFwPGNv
bnN0IEJveCosIElzRmlyc3RMYXN0SW5kZXg+Jik7CkBAIC05NSw3ICs5Niw3IEBAIHByaXZhdGU6
CiAgICAgLy8gRklYTUU6IFRoaXMgc2hvdWxkIHRha2UgRGlzcGxheUxpbmU6OmlzVHJ1bmNhdGVk
SW5CbG9ja0RpcmVjdGlvbigpIGZvciBub24tcHJlZml4ZWQgbGluZS1jbGFtcC4KICAgICBib29s
IG1fbGluZUlzRnVsbHlUcnVuY2F0ZWRJbkJsb2NrRGlyZWN0aW9uIHsgZmFsc2UgfTsKICAgICBi
b29sIG1fY29udGVudEhhc0lua092ZXJmbG93IHsgZmFsc2UgfTsKLSAgICBWZWN0b3I8V1RGOjpS
YW5nZTxzaXplX3Q+PiBtX2ludGVybGluZWFyUnVieUNvbHVtblJhbmdlTGlzdDsKKyAgICBib29s
IG1faGFTZWVuUnVieUJhc2UgeyBmYWxzZSB9OwogfTsKIAogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>468870</attachid>
            <date>2023-12-04 11:45:53 -0800</date>
            <delta_ts>2023-12-04 13:02:12 -0800</delta_ts>
            <desc>[fast-cq]Patch</desc>
            <filename>bug-265759-20231204114553.patch</filename>
            <type>text/plain</type>
            <size>14459</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSA0OTEyNmQzNDIwMmZjNWVmYTAyNzZiMGJkZTFmMjhmNTE3NTgxNTRhIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJhcmFkbGF5IDx6YWxhbkBhcHBsZS5jb20+CkRhdGU6
IFN1biwgMyBEZWMgMjAyMyAxMToyMzo1NiAtMDgwMApTdWJqZWN0OiBbUEFUQ0hdIFtJRkNdW1J1
YnldIENhbid0IGFkZCBpbnRlcmxpbmVhciBhbm5vdGF0aW9uIGRpc3BsYXkgYm94CiB1bnRpbCBi
aWRpIGNvbnRlbnQgaXMgcHJvY2Vzc2VkCiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjY1NzU5CgpSZXZpZXdlZCBieSBBbnR0aSBLb2l2aXN0by4KClRoaXMgcGF0Y2gg
aXMgaW4gcHJlcGFyYXRpb24gZm9yIHN1cHBvcnRpbmcgYmlkaSBjb250ZW50IGluIHJ1YnkuCgoq
IFNvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL2Rpc3BsYXkv
SW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyLmNwcDoKTW92ZSBhbm5vdGF0aW9uIGJveCBjb25z
dHJ1Y3Rpb24gdG8gYSBsYXRlciB0aW1lIHdoZW4gd2UgZmluaXNoZWQgY29uc3RydWN0aW5nIGFs
bCB0aGUgZGlzcGxheSBib3hlcy4gSXQgZW5zdXJlcwpzdWNoIGFubm90YXRpb24gYm94ZXMgZ2V0
IHRvIHRoZWlyIGNvcnJlY3QgX3Zpc3VhbF8gcG9zaXRpb25zLgoKKFdlYkNvcmU6OkxheW91dDo6
SW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyOjpidWlsZCk6CihXZWJDb3JlOjpMYXlvdXQ6Oklu
bGluZURpc3BsYXlDb250ZW50QnVpbGRlcjo6YXBwZW5kSW5saW5lQm94RGlzcGxheUJveCk6CihX
ZWJDb3JlOjpMYXlvdXQ6OklubGluZURpc3BsYXlDb250ZW50QnVpbGRlcjo6YXBwZW5kU3Bhbm5p
bmdJbmxpbmVCb3hEaXNwbGF5Qm94KToKKFdlYkNvcmU6OkxheW91dDo6SW5saW5lRGlzcGxheUNv
bnRlbnRCdWlsZGVyOjphcHBlbmRJbmxpbmVEaXNwbGF5Qm94QXRCaWRpQm91bmRhcnkpOgooV2Vi
Q29yZTo6TGF5b3V0OjpJbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXI6Omluc2VydFJ1YnlBbm5v
dGF0aW9uQm94KToKKFdlYkNvcmU6OkxheW91dDo6SW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVy
Ojpwcm9jZXNzTm9uQmlkaUNvbnRlbnQpOgooV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVEaXNwbGF5
Q29udGVudEJ1aWxkZXI6OnByb2Nlc3NSdWJ5Q29udGVudCk6CihXZWJDb3JlOjpMYXlvdXQ6Oklu
bGluZURpc3BsYXlDb250ZW50QnVpbGRlcjo6YXBwbHlSdWJ5T3ZlcmhhbmcpOgooV2ViQ29yZTo6
TGF5b3V0OjpJbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXI6OmhhbmRsZUlubGluZUJveEVuZCk6
IERlbGV0ZWQuCihXZWJDb3JlOjpMYXlvdXQ6OklubGluZURpc3BsYXlDb250ZW50QnVpbGRlcjo6
YXBwZW5kUnVieUFubm90YXRpb25Cb3gpOiBEZWxldGVkLgoqIFNvdXJjZS9XZWJDb3JlL2xheW91
dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL2Rpc3BsYXkvSW5saW5lRGlzcGxheUNvbnRlbnRC
dWlsZGVyLmg6Ci0tLQogLi4uL2Rpc3BsYXkvSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyLmNw
cCAgIHwgOTQgKysrKysrKysrKy0tLS0tLS0tLQogLi4uL2Rpc3BsYXkvSW5saW5lRGlzcGxheUNv
bnRlbnRCdWlsZGVyLmggICAgIHwgIDkgKy0KIExheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMg
ICAgICAgICAgICAgICAgICB8ICAxICsKIDMgZmlsZXMgY2hhbmdlZCwgNTcgaW5zZXJ0aW9ucygr
KSwgNDcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zv
cm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvZGlzcGxheS9JbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxk
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUv
ZGlzcGxheS9JbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXIuY3BwCmluZGV4IDIzYTY0YTU1NWFk
NC4uNDY5ODE4MGNhNTQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0
dGluZ0NvbnRleHRzL2lubGluZS9kaXNwbGF5L0lubGluZURpc3BsYXlDb250ZW50QnVpbGRlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUv
ZGlzcGxheS9JbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXIuY3BwCkBAIC0xMDgsOCArMTA4LDcg
QEAgSW5saW5lRGlzcGxheTo6Qm94ZXMgSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyOjpidWls
ZChjb25zdCBMaW5lTGF5b3V0UmVzdWx0JgogICAgIGVsc2UKICAgICAgICAgcHJvY2Vzc05vbkJp
ZGlDb250ZW50KGxpbmVMYXlvdXRSZXN1bHQsIGxpbmVCb3gsIGJveGVzKTsKICAgICBwcm9jZXNz
RmxvYXRCb3hlcyhsaW5lTGF5b3V0UmVzdWx0KTsKLQotICAgIGFwcGx5UnVieU92ZXJoYW5nKGJv
eGVzKTsKKyAgICBwcm9jZXNzUnVieUNvbnRlbnQoYm94ZXMpOwogCiAgICAgY29sbGVjdElua092
ZXJmbG93Rm9yVGV4dERlY29yYXRpb25zKGJveGVzKTsKICAgICBjb2xsZWN0SW5rT3ZlcmZsb3dG
b3JJbmxpbmVCb3hlcyhib3hlcyk7CkBAIC0zNzMsNiArMzcyLDcgQEAgdm9pZCBJbmxpbmVEaXNw
bGF5Q29udGVudEJ1aWxkZXI6OmFwcGVuZElubGluZUJveERpc3BsYXlCb3goY29uc3QgTGluZTo6
UnVuJiBsaW4KICAgICAgICAgcmV0dXJuOwogICAgIH0KIAorICAgIG1faGFzU2VlblJ1YnlCYXNl
ID0gbV9oYXNTZWVuUnVieUJhc2UgfHwgbGF5b3V0Qm94LmlzUnVieUJhc2UoKTsKICAgICBhdXRv
IGlua092ZXJmbG93ID0gWyZdIHsKICAgICAgICAgYXV0byYgc3R5bGUgPSAhbV9saW5lSW5kZXgg
PyBsYXlvdXRCb3guZmlyc3RMaW5lU3R5bGUoKSA6IGxheW91dEJveC5zdHlsZSgpOwogICAgICAg
ICBhdXRvIGlua092ZXJmbG93ID0gRmxvYXRSZWN0IHsgaW5saW5lQm94Qm9yZGVyQm94IH07CkBA
IC0zOTIsMTMgKzM5Miw2IEBAIHZvaWQgSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyOjphcHBl
bmRJbmxpbmVCb3hEaXNwbGF5Qm94KGNvbnN0IExpbmU6OlJ1biYgbGluCiAgICAgICAgICwgaXNM
aW5lRnVsbHlUcnVuY2F0ZWRJbkJsb2NrRGlyZWN0aW9uKCkKICAgICAgICAgLCBpc0ZpcnN0TGFz
dEJveChpbmxpbmVCb3gpCiAgICAgfSk7Ci0KLSAgICBpZiAoYXV0byogYW5ub3RhdGlvbkJveCA9
IGxheW91dEJveC5hc3NvY2lhdGVkUnVieUFubm90YXRpb25Cb3goKSkgewotICAgICAgICBBU1NF
UlQobGF5b3V0Qm94LmlzUnVieUJhc2UoKSk7Ci0gICAgICAgIGlmIChpc0ludGVybGluZWFyQW5u
b3RhdGlvbkJveChhbm5vdGF0aW9uQm94KSkKLSAgICAgICAgICAgIG1faW50ZXJsaW5lYXJSdWJ5
Q29sdW1uUmFuZ2VMaXN0LmFwcGVuZCh7IGJveGVzLnNpemUoKSAtIDEsIGJveGVzLnNpemUoKSB9
KTsKLSAgICAgICAgYXBwZW5kUnVieUFubm90YXRpb25Cb3gobGF5b3V0Qm94LCBib3hlcyk7Ci0g
ICAgfQogfQogCiB2b2lkIElubGluZURpc3BsYXlDb250ZW50QnVpbGRlcjo6YXBwZW5kU3Bhbm5p
bmdJbmxpbmVCb3hEaXNwbGF5Qm94KGNvbnN0IExpbmU6OlJ1biYgbGluZVJ1biwgY29uc3QgSW5s
aW5lTGV2ZWxCb3gmIGlubGluZUJveCwgY29uc3QgSW5saW5lUmVjdCYgaW5saW5lQm94Qm9yZGVy
Qm94LCBib29sIGxpbmVIYXNDb250ZW50LCBJbmxpbmVEaXNwbGF5OjpCb3hlcyYgYm94ZXMpCkBA
IC00MTYsNiArNDA5LDcgQEAgdm9pZCBJbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXI6OmFwcGVu
ZFNwYW5uaW5nSW5saW5lQm94RGlzcGxheUJveChjb25zdCBMaW5lOjoKIAogICAgIC8vIE1pZGRs
ZSBvciBlbmQgb2YgdGhlIGlubGluZSBib3guIExldCdzIHN0cmV0Y2ggdGhlIGJveCBhcyBuZWVk
ZWQuCiAgICAgYXV0byYgbGF5b3V0Qm94ID0gbGluZVJ1bi5sYXlvdXRCb3goKTsKKyAgICBtX2hh
c1NlZW5SdWJ5QmFzZSA9IG1faGFzU2VlblJ1YnlCYXNlIHx8IGxheW91dEJveC5pc1J1YnlCYXNl
KCk7CiAgICAgc2V0SW5saW5lQm94R2VvbWV0cnkobGF5b3V0Qm94LCBpbmxpbmVCb3hCb3JkZXJC
b3gsIGZhbHNlKTsKICAgICBhdXRvIGlua092ZXJmbG93ID0gWyZdIHsKICAgICAgICAgYXV0byYg
c3R5bGUgPSAhbV9saW5lSW5kZXggPyBsYXlvdXRCb3guZmlyc3RMaW5lU3R5bGUoKSA6IGxheW91
dEJveC5zdHlsZSgpOwpAQCAtNDM4LDI3ICs0MzIsMTEgQEAgdm9pZCBJbmxpbmVEaXNwbGF5Q29u
dGVudEJ1aWxkZXI6OmFwcGVuZFNwYW5uaW5nSW5saW5lQm94RGlzcGxheUJveChjb25zdCBMaW5l
OjoKICAgICB9KTsKIH0KIAotdm9pZCBJbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXI6OmhhbmRs
ZUlubGluZUJveEVuZChjb25zdCBMaW5lOjpSdW4mIGxpbmVSdW4sIGNvbnN0IElubGluZURpc3Bs
YXk6OkJveGVzJiBib3hlcykKLXsKLSAgICBpZiAoIWxpbmVSdW4ubGF5b3V0Qm94KCkuaXNSdWJ5
QmFzZSgpKQotICAgICAgICByZXR1cm47Ci0gICAgYXV0byogYW5ub3RhdGlvbkJveCA9IGxpbmVS
dW4ubGF5b3V0Qm94KCkuYXNzb2NpYXRlZFJ1YnlBbm5vdGF0aW9uQm94KCk7Ci0gICAgaWYgKCFh
bm5vdGF0aW9uQm94KQotICAgICAgICByZXR1cm47Ci0gICAgaWYgKGlzSW50ZXJsaW5lYXJBbm5v
dGF0aW9uQm94KGFubm90YXRpb25Cb3gpKSB7Ci0gICAgICAgIGlmIChtX2ludGVybGluZWFyUnVi
eUNvbHVtblJhbmdlTGlzdC5pc0VtcHR5KCkpIHsKLSAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVB
Q0hFRCgpOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0gICAgICAgIG1faW50ZXJs
aW5lYXJSdWJ5Q29sdW1uUmFuZ2VMaXN0Lmxhc3QoKSA9IHsgbV9pbnRlcmxpbmVhclJ1YnlDb2x1
bW5SYW5nZUxpc3QubGFzdCgpLmJlZ2luKCksIGJveGVzLnNpemUoKSAtIDEgfTsKLSAgICAgICAg
cmV0dXJuOwotICAgIH0KLX0KLQogdm9pZCBJbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXI6OmFw
cGVuZElubGluZURpc3BsYXlCb3hBdEJpZGlCb3VuZGFyeShjb25zdCBCb3gmIGxheW91dEJveCwg
SW5saW5lRGlzcGxheTo6Qm94ZXMmIGJveGVzKQogewogICAgIC8vIEdlb21ldHJpZXMgZm9yIGlu
bGluZSBib3hlcyBhdCBiaWRpIGJvdW5kYXJpZXMgYXJlIGNvbXB1dGVkIGF0IGEgcG9zdC1wcm9j
ZXNzIHN0ZXAuCiAgICAgYXV0byBpc0NvbnRlbnRmdWwgPSB0cnVlOworICAgIG1faGFzU2VlblJ1
YnlCYXNlID0gbV9oYXNTZWVuUnVieUJhc2UgfHwgbGF5b3V0Qm94LmlzUnVieUJhc2UoKTsKICAg
ICBib3hlcy5hcHBlbmQoeyBtX2xpbmVJbmRleAogICAgICAgICAsIElubGluZURpc3BsYXk6OkJv
eDo6VHlwZTo6Tm9uUm9vdElubGluZUJveAogICAgICAgICAsIGxheW91dEJveApAQCAtNDcyLDcg
KzQ1MCw3IEBAIHZvaWQgSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyOjphcHBlbmRJbmxpbmVE
aXNwbGF5Qm94QXRCaWRpQm91bmRhcnkoY29uc3QgQm94CiAgICAgfSk7CiB9CiAKLXZvaWQgSW5s
aW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyOjphcHBlbmRSdWJ5QW5ub3RhdGlvbkJveChjb25zdCBC
b3gmIHJ1YnlCYXNlTGF5b3V0Qm94LCBJbmxpbmVEaXNwbGF5OjpCb3hlcyYgYm94ZXMpCit2b2lk
IElubGluZURpc3BsYXlDb250ZW50QnVpbGRlcjo6aW5zZXJ0UnVieUFubm90YXRpb25Cb3goY29u
c3QgQm94JiBydWJ5QmFzZUxheW91dEJveCwgc2l6ZV90IGluc2VydGlvblBvc2l0aW9uLCBJbmxp
bmVEaXNwbGF5OjpCb3hlcyYgYm94ZXMpCiB7CiAgICAgQVNTRVJUKHJ1YnlCYXNlTGF5b3V0Qm94
LmlzUnVieUJhc2UoKSk7CiAKQEAgLTQ4Nyw3ICs0NjUsNyBAQCB2b2lkIElubGluZURpc3BsYXlD
b250ZW50QnVpbGRlcjo6YXBwZW5kUnVieUFubm90YXRpb25Cb3goY29uc3QgQm94JiBydWJ5QmFz
ZUxheQogCiAgICAgYXV0byB2aXN1YWxCb3JkZXJCb3hSZWN0ID0gQm94R2VvbWV0cnk6OmJvcmRl
ckJveFJlY3QoYW5ub3RhdGlvbkJveEdlb21ldHJ5KTsKIAotICAgIGJveGVzLmFwcGVuZCh7IG1f
bGluZUluZGV4CisgICAgYm94ZXMuaW5zZXJ0KGluc2VydGlvblBvc2l0aW9uLCB7IG1fbGluZUlu
ZGV4CiAgICAgICAgICwgSW5saW5lRGlzcGxheTo6Qm94OjpUeXBlOjpBdG9taWNJbmxpbmVMZXZl
bEJveAogICAgICAgICAsIGFubm90YXRpb25Cb3gKICAgICAgICAgLCBVQklESV9ERUZBVUxUX0xU
UgpAQCAtNTY4LDExICs1NDYsNyBAQCB2b2lkIElubGluZURpc3BsYXlDb250ZW50QnVpbGRlcjo6
cHJvY2Vzc05vbkJpZGlDb250ZW50KGNvbnN0IExpbmVMYXlvdXRSZXN1bHQmCiAgICAgICAgICAg
ICAgICAgYmxvY2tMZXZlbE91dE9mRmxvd0JveExpc3QuYXBwZW5kKGluZGV4KTsKICAgICAgICAg
ICAgIGNvbnRpbnVlOwogICAgICAgICB9Ci0gICAgICAgIGlmIChsaW5lUnVuLmlzSW5saW5lQm94
RW5kKCkpIHsKLSAgICAgICAgICAgIGhhbmRsZUlubGluZUJveEVuZChsaW5lUnVuLCBib3hlcyk7
Ci0gICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgfQotICAgICAgICBBU1NFUlQobGluZVJ1
bi5pc1dvcmRCcmVha09wcG9ydHVuaXR5KCkpOworICAgICAgICBBU1NFUlQobGluZVJ1bi5pc1dv
cmRCcmVha09wcG9ydHVuaXR5KCkgfHwgbGluZVJ1bi5pc0lubGluZUJveEVuZCgpKTsKICAgICB9
CiAgICAgc2V0R2VvbWV0cnlGb3JCbG9ja0xldmVsT3V0T2ZGbG93Qm94ZXMoYmxvY2tMZXZlbE91
dE9mRmxvd0JveExpc3QsIGxpbmVCb3gsIGxpbmVMYXlvdXRSZXN1bHQuaW5saW5lQ29udGVudCk7
CiB9CkBAIC0xMDkwLDMwICsxMDY0LDY0IEBAIHZvaWQgSW5saW5lRGlzcGxheUNvbnRlbnRCdWls
ZGVyOjpjb2xsZWN0SW5rT3ZlcmZsb3dGb3JUZXh0RGVjb3JhdGlvbnMoSW5saW5lRGlzCiAgICAg
fQogfQogCi12b2lkIElubGluZURpc3BsYXlDb250ZW50QnVpbGRlcjo6YXBwbHlSdWJ5T3Zlcmhh
bmcoSW5saW5lRGlzcGxheTo6Qm94ZXMmIGJveGVzKQordm9pZCBJbmxpbmVEaXNwbGF5Q29udGVu
dEJ1aWxkZXI6OnByb2Nlc3NSdWJ5Q29udGVudChJbmxpbmVEaXNwbGF5OjpCb3hlcyYgZGlzcGxh
eUJveGVzKQoreworICAgIGlmICghbV9oYXNTZWVuUnVieUJhc2UpCisgICAgICAgIHJldHVybjsK
KworICAgIFZlY3RvcjxXVEY6OlJhbmdlPHNpemVfdD4+IGludGVybGluZWFyUnVieUNvbHVtblJh
bmdlTGlzdDsKKyAgICBWZWN0b3I8c2l6ZV90PiBydWJ5QmFzZVN0YXJ0SW5kZXhMaXN0V2l0aEFu
bm90YXRpb247CisgICAgZm9yIChzaXplX3QgaW5kZXggPSAwOyBpbmRleCA8IGRpc3BsYXlCb3hl
cy5zaXplKCk7ICsraW5kZXgpIHsKKyAgICAgICAgYXV0byYgbGF5b3V0Qm94ID0gZGlzcGxheUJv
eGVzW2luZGV4XS5sYXlvdXRCb3goKTsKKyAgICAgICAgYXV0byogYW5ub3RhdGlvbkJveCA9IGxh
eW91dEJveC5hc3NvY2lhdGVkUnVieUFubm90YXRpb25Cb3goKTsKKyAgICAgICAgaWYgKCFhbm5v
dGF0aW9uQm94KQorICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgcnVieUJhc2VTdGFy
dEluZGV4TGlzdFdpdGhBbm5vdGF0aW9uLmFwcGVuZChpbmRleCk7CisgICAgICAgIGlmICghaXNJ
bnRlcmxpbmVhckFubm90YXRpb25Cb3goYW5ub3RhdGlvbkJveCkpCisgICAgICAgICAgICBjb250
aW51ZTsKKworICAgICAgICBhdXRvIHJ1YnlCYXNlU3RhcnRJbmRleCA9IGluZGV4OworICAgICAg
ICBhdXRvIHJ1YnlCYXNlRW5kSW5kZXggPSBbJl0geworICAgICAgICAgICAgYXV0byYgcnVieUJv
eCA9IGxheW91dEJveC5wYXJlbnQoKTsKKyAgICAgICAgICAgIGZvciAoKytpbmRleDsgaW5kZXgg
PCBkaXNwbGF5Qm94ZXMuc2l6ZSgpOyArK2luZGV4KSB7CisgICAgICAgICAgICAgICAgaWYgKCZk
aXNwbGF5Qm94ZXNbaW5kZXhdLmxheW91dEJveCgpLnBhcmVudCgpID09ICZydWJ5Qm94KQorICAg
ICAgICAgICAgICAgICAgICByZXR1cm4gaW5kZXggLSAxOworICAgICAgICAgICAgfQorICAgICAg
ICAgICAgcmV0dXJuIGRpc3BsYXlCb3hlcy5zaXplKCkgLSAxOworICAgICAgICB9OworICAgICAg
ICBpbnRlcmxpbmVhclJ1YnlDb2x1bW5SYW5nZUxpc3QuYXBwZW5kKHsgcnVieUJhc2VTdGFydElu
ZGV4LCBydWJ5QmFzZUVuZEluZGV4KCkgfSk7CisgICAgfQorICAgIGFwcGx5UnVieU92ZXJoYW5n
KGRpc3BsYXlCb3hlcywgaW50ZXJsaW5lYXJSdWJ5Q29sdW1uUmFuZ2VMaXN0KTsKKworICAgIGZv
ciAoYXV0byBiYXNlSW5kZXggOiBtYWtlUmV2ZXJzZWRSYW5nZShydWJ5QmFzZVN0YXJ0SW5kZXhM
aXN0V2l0aEFubm90YXRpb24pKQorICAgICAgICBpbnNlcnRSdWJ5QW5ub3RhdGlvbkJveChkaXNw
bGF5Qm94ZXNbYmFzZUluZGV4XS5sYXlvdXRCb3goKSwgYmFzZUluZGV4ICsgMSwgZGlzcGxheUJv
eGVzKTsKK30KKwordm9pZCBJbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXI6OmFwcGx5UnVieU92
ZXJoYW5nKElubGluZURpc3BsYXk6OkJveGVzJiBkaXNwbGF5Qm94ZXMsIGNvbnN0IFZlY3RvcjxX
VEY6OlJhbmdlPHNpemVfdD4+JiBpbnRlcmxpbmVhclJ1YnlDb2x1bW5SYW5nZUxpc3QpCiB7CiAg
ICAgLy8gRklYTUU6IFdlIGFyZSBvbmx5IHN1cHBvc2VkIHRvIGFwcGx5IG92ZXJoYW5nIHdoZW4g
YW5ub3RhdGlvbiBib3ggaXMgd2lkZXIgdGhhbiBiYXNlLCBidXQgYXQgdGhpcyBwb2ludCB3ZSBj
YW4ndCB0ZWxsICh0aGlzIG5lZWRzIHRvIGJlIGFkZHJlc3NlZCB0b2dldGhlciB3aXRoIGFubm90
YXRpb24gYm94IHNpemluZykuCi0gICAgaWYgKG1faW50ZXJsaW5lYXJSdWJ5Q29sdW1uUmFuZ2VM
aXN0LmlzRW1wdHkoKSkKKyAgICBpZiAoaW50ZXJsaW5lYXJSdWJ5Q29sdW1uUmFuZ2VMaXN0Lmlz
RW1wdHkoKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgYXV0byBpc0hvcml6b250YWxXcml0aW5n
TW9kZSA9IHJvb3QoKS5zdHlsZSgpLmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCk7CiAgICAgYXV0
byBydWJ5Rm9ybWF0dGluZ0NvbnRleHQgPSBSdWJ5Rm9ybWF0dGluZ0NvbnRleHQgeyBmb3JtYXR0
aW5nQ29udGV4dCgpIH07Ci0gICAgZm9yIChhdXRvIHN0YXJ0RW5kUGFpciA6IG1faW50ZXJsaW5l
YXJSdWJ5Q29sdW1uUmFuZ2VMaXN0KSB7CisgICAgZm9yIChhdXRvIHN0YXJ0RW5kUGFpciA6IGlu
dGVybGluZWFyUnVieUNvbHVtblJhbmdlTGlzdCkgewogICAgICAgICBhdXRvIHJ1YnlCYXNlSW5k
ZXggPSBzdGFydEVuZFBhaXIuYmVnaW4oKTsKLSAgICAgICAgYXV0byYgcnVieUJhc2VMYXlvdXRC
b3ggPSBib3hlc1tydWJ5QmFzZUluZGV4XS5sYXlvdXRCb3goKTsKKyAgICAgICAgYXV0byYgcnVi
eUJhc2VMYXlvdXRCb3ggPSBkaXNwbGF5Qm94ZXNbcnVieUJhc2VJbmRleF0ubGF5b3V0Qm94KCk7
CiAgICAgICAgIEFTU0VSVChydWJ5QmFzZUxheW91dEJveC5pc1J1YnlCYXNlKCkpOwogICAgICAg
ICBBU1NFUlQoaXNJbnRlcmxpbmVhckFubm90YXRpb25Cb3gocnVieUJhc2VMYXlvdXRCb3guYXNz
b2NpYXRlZFJ1YnlBbm5vdGF0aW9uQm94KCkpKTsKIAotICAgICAgICBhdXRvIGJlZm9yZU92ZXJo
YW5nID0gcnVieUZvcm1hdHRpbmdDb250ZXh0Lm92ZXJoYW5nRm9yQW5ub3RhdGlvbkJlZm9yZShy
dWJ5QmFzZUxheW91dEJveCwgcnVieUJhc2VJbmRleCwgYm94ZXMpOwotICAgICAgICBhdXRvIGFm
dGVyT3ZlcmhhbmcgPSBydWJ5Rm9ybWF0dGluZ0NvbnRleHQub3ZlcmhhbmdGb3JBbm5vdGF0aW9u
QWZ0ZXIocnVieUJhc2VMYXlvdXRCb3gsIHJ1YnlCYXNlSW5kZXgsIHN0YXJ0RW5kUGFpci5lbmQo
KSwgYm94ZXMpOworICAgICAgICBhdXRvIGJlZm9yZU92ZXJoYW5nID0gcnVieUZvcm1hdHRpbmdD
b250ZXh0Lm92ZXJoYW5nRm9yQW5ub3RhdGlvbkJlZm9yZShydWJ5QmFzZUxheW91dEJveCwgcnVi
eUJhc2VJbmRleCwgZGlzcGxheUJveGVzKTsKKyAgICAgICAgYXV0byBhZnRlck92ZXJoYW5nID0g
cnVieUZvcm1hdHRpbmdDb250ZXh0Lm92ZXJoYW5nRm9yQW5ub3RhdGlvbkFmdGVyKHJ1YnlCYXNl
TGF5b3V0Qm94LCBydWJ5QmFzZUluZGV4LCBzdGFydEVuZFBhaXIuZW5kKCksIGRpc3BsYXlCb3hl
cyk7CiAKICAgICAgICAgLy8gRklYTUU6IElmIHRoaXMgdHVybnMgb3V0IHRvIGJlIGEgcHJlZiBi
b3R0bGVuZWNrLCBtYWtlIHN1cmUgd2UgcGFzcyBpbiB0aGUgYWNjdW11bGF0ZWQgc2hpZnQgdG8g
b3ZlcmhhbmdGb3JBbm5vdGF0aW9uQmVmb3JlL2FmdGVyIGFuZAogICAgICAgICAvLyBvZmZzZXQg
YWxsIGJveCBnZW9tZXRyeSBhcyB3ZSBjaGVjayBmb3Igb3ZlcmxhcC4KICAgICAgICAgYXV0byBt
b3ZlQm94UmFuZ2VUb1Zpc3VhbExlZnQgPSBbJl0oYXV0byBzdGFydCwgYXV0byBlbmQsIGF1dG8g
c2hpZnRWYWx1ZSkgewogICAgICAgICAgICAgZm9yIChhdXRvIGluZGV4ID0gc3RhcnQ7IGluZGV4
IDw9IGVuZDsgKytpbmRleCkgewotICAgICAgICAgICAgICAgIGlzSG9yaXpvbnRhbFdyaXRpbmdN
b2RlID8gYm94ZXNbaW5kZXhdLm1vdmVIb3Jpem9udGFsbHkoTGF5b3V0VW5pdCB7IC1zaGlmdFZh
bHVlIH0pIDogYm94ZXNbaW5kZXhdLm1vdmVWZXJ0aWNhbGx5KExheW91dFVuaXQgeyAtc2hpZnRW
YWx1ZSB9KTsKKyAgICAgICAgICAgICAgICBpc0hvcml6b250YWxXcml0aW5nTW9kZSA/IGRpc3Bs
YXlCb3hlc1tpbmRleF0ubW92ZUhvcml6b250YWxseShMYXlvdXRVbml0IHsgLXNoaWZ0VmFsdWUg
fSkgOiBkaXNwbGF5Qm94ZXNbaW5kZXhdLm1vdmVWZXJ0aWNhbGx5KExheW91dFVuaXQgeyAtc2hp
ZnRWYWx1ZSB9KTsKICAgICAgICAgICAgICAgICBhdXRvIHVwZGF0ZUFubm90YXRpb25HZW9tZXRy
eUlmTmVlZGVkID0gWyZdIHsKLSAgICAgICAgICAgICAgICAgICAgYXV0byYgbGF5b3V0Qm94ID0g
Ym94ZXNbaW5kZXhdLmxheW91dEJveCgpOworICAgICAgICAgICAgICAgICAgICBhdXRvJiBsYXlv
dXRCb3ggPSBkaXNwbGF5Qm94ZXNbaW5kZXhdLmxheW91dEJveCgpOwogICAgICAgICAgICAgICAg
ICAgICBpZiAoIWxheW91dEJveC5pc1J1YnlCYXNlKCkgfHwgIWxheW91dEJveC5hc3NvY2lhdGVk
UnVieUFubm90YXRpb25Cb3goKSkKICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKICAg
ICAgICAgICAgICAgICAgICAgYXV0byYgYW5ub3RhdGlvbkJveEdlb21ldHJ5ID0gZm9ybWF0dGlu
Z0NvbnRleHQoKS5nZW9tZXRyeUZvckJveCgqbGF5b3V0Qm94LmFzc29jaWF0ZWRSdWJ5QW5ub3Rh
dGlvbkJveCgpKTsKQEAgLTExMjMsOSArMTEzMSw5IEBAIHZvaWQgSW5saW5lRGlzcGxheUNvbnRl
bnRCdWlsZGVyOjphcHBseVJ1YnlPdmVyaGFuZyhJbmxpbmVEaXNwbGF5OjpCb3hlcyYgYm94ZXMp
CiAgICAgICAgICAgICB9CiAgICAgICAgIH07CiAgICAgICAgIGlmIChiZWZvcmVPdmVyaGFuZykK
LSAgICAgICAgICAgIG1vdmVCb3hSYW5nZVRvVmlzdWFsTGVmdChydWJ5QmFzZUluZGV4LCBib3hl
cy5zaXplKCkgLSAxLCBiZWZvcmVPdmVyaGFuZyk7CisgICAgICAgICAgICBtb3ZlQm94UmFuZ2VU
b1Zpc3VhbExlZnQocnVieUJhc2VJbmRleCwgZGlzcGxheUJveGVzLnNpemUoKSAtIDEsIGJlZm9y
ZU92ZXJoYW5nKTsKICAgICAgICAgaWYgKGFmdGVyT3ZlcmhhbmcpCi0gICAgICAgICAgICBtb3Zl
Qm94UmFuZ2VUb1Zpc3VhbExlZnQoc3RhcnRFbmRQYWlyLmVuZCgpICsgMSwgYm94ZXMuc2l6ZSgp
IC0gMSwgYWZ0ZXJPdmVyaGFuZyk7CisgICAgICAgICAgICBtb3ZlQm94UmFuZ2VUb1Zpc3VhbExl
ZnQoc3RhcnRFbmRQYWlyLmVuZCgpICsgMSwgZGlzcGxheUJveGVzLnNpemUoKSAtIDEsIGFmdGVy
T3ZlcmhhbmcpOwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvZGlzcGxheS9JbmxpbmVEaXNwbGF5Q29udGVudEJ1
aWxkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5l
L2Rpc3BsYXkvSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyLmgKaW5kZXggN2I3NzQxM2YwZGJh
Li45MGUyYzUxYjZmMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0
aW5nQ29udGV4dHMvaW5saW5lL2Rpc3BsYXkvSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvZGlz
cGxheS9JbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXIuaApAQCAtNjEsOSArNjEsMTAgQEAgcHJp
dmF0ZToKICAgICB2b2lkIGFwcGVuZElubGluZUJveERpc3BsYXlCb3goY29uc3QgTGluZTo6UnVu
JiwgY29uc3QgSW5saW5lTGV2ZWxCb3gmLCBjb25zdCBJbmxpbmVSZWN0JiwgYm9vbCBsaW5lSGFz
Q29udGVudCwgSW5saW5lRGlzcGxheTo6Qm94ZXMmKTsKICAgICB2b2lkIGFwcGVuZFNwYW5uaW5n
SW5saW5lQm94RGlzcGxheUJveChjb25zdCBMaW5lOjpSdW4mLCBjb25zdCBJbmxpbmVMZXZlbEJv
eCYsIGNvbnN0IElubGluZVJlY3QmLCBib29sIGxpbmVIYXNDb250ZW50LCBJbmxpbmVEaXNwbGF5
OjpCb3hlcyYpOwogICAgIHZvaWQgYXBwZW5kSW5saW5lRGlzcGxheUJveEF0QmlkaUJvdW5kYXJ5
KGNvbnN0IEJveCYsIElubGluZURpc3BsYXk6OkJveGVzJik7Ci0gICAgdm9pZCBhcHBlbmRSdWJ5
QW5ub3RhdGlvbkJveChjb25zdCBCb3gmIHJ1YnlCYXNlTGF5b3V0Qm94LCBJbmxpbmVEaXNwbGF5
OjpCb3hlcyYpOwotICAgIHZvaWQgaGFuZGxlSW5saW5lQm94RW5kKGNvbnN0IExpbmU6OlJ1biYs
IGNvbnN0IElubGluZURpc3BsYXk6OkJveGVzJik7Ci0gICAgdm9pZCBhcHBseVJ1YnlPdmVyaGFu
ZyhJbmxpbmVEaXNwbGF5OjpCb3hlcyYpOworICAgIHZvaWQgaW5zZXJ0UnVieUFubm90YXRpb25C
b3goY29uc3QgQm94JiBydWJ5QmFzZUxheW91dEJveCwgc2l6ZV90IGluc2VydGlvblBvc2l0aW9u
LCBJbmxpbmVEaXNwbGF5OjpCb3hlcyYpOworCisgICAgdm9pZCBwcm9jZXNzUnVieUNvbnRlbnQo
SW5saW5lRGlzcGxheTo6Qm94ZXMmKTsKKyAgICB2b2lkIGFwcGx5UnVieU92ZXJoYW5nKElubGlu
ZURpc3BsYXk6OkJveGVzJiwgY29uc3QgVmVjdG9yPFdURjo6UmFuZ2U8c2l6ZV90Pj4mIGludGVy
bGluZWFyUnVieUNvbHVtblJhbmdlTGlzdCk7CiAKICAgICB2b2lkIHNldElubGluZUJveEdlb21l
dHJ5KGNvbnN0IEJveCYsIGNvbnN0IElubGluZVJlY3QmLCBib29sIGlzRmlyc3RJbmxpbmVCb3hG
cmFnbWVudCk7CiAgICAgdm9pZCBhZGp1c3RWaXN1YWxHZW9tZXRyeUZvckRpc3BsYXlCb3goc2l6
ZV90IGRpc3BsYXlCb3hOb2RlSW5kZXgsIElubGluZUxheW91dFVuaXQmIGFjY3VtdWxhdGVkT2Zm
c2V0LCBJbmxpbmVMYXlvdXRVbml0IGxpbmVCb3hMb2dpY2FsVG9wLCBjb25zdCBEaXNwbGF5Qm94
VHJlZSYsIElubGluZURpc3BsYXk6OkJveGVzJiwgY29uc3QgTGluZUJveCYsIGNvbnN0IEhhc2hN
YXA8Y29uc3QgQm94KiwgSXNGaXJzdExhc3RJbmRleD4mKTsKQEAgLTk1LDcgKzk2LDcgQEAgcHJp
dmF0ZToKICAgICAvLyBGSVhNRTogVGhpcyBzaG91bGQgdGFrZSBEaXNwbGF5TGluZTo6aXNUcnVu
Y2F0ZWRJbkJsb2NrRGlyZWN0aW9uKCkgZm9yIG5vbi1wcmVmaXhlZCBsaW5lLWNsYW1wLgogICAg
IGJvb2wgbV9saW5lSXNGdWxseVRydW5jYXRlZEluQmxvY2tEaXJlY3Rpb24geyBmYWxzZSB9Owog
ICAgIGJvb2wgbV9jb250ZW50SGFzSW5rT3ZlcmZsb3cgeyBmYWxzZSB9OwotICAgIFZlY3RvcjxX
VEY6OlJhbmdlPHNpemVfdD4+IG1faW50ZXJsaW5lYXJSdWJ5Q29sdW1uUmFuZ2VMaXN0OworICAg
IGJvb2wgbV9oYXNTZWVuUnVieUJhc2UgeyBmYWxzZSB9OwogfTsKIAogfQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlv
bnMKaW5kZXggYzQ2NjM1NmY2N2IxLi44ZDY4MTAyYmQ3ODYgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwpA
QCAtMzE1Nyw2ICszMTU3LDcgQEAgd2Via2l0Lm9yZy9iLzY3MDA3IGZhc3QvcnVieS9hZnRlci1i
bG9jay1kb2VzbnQtY3Jhc2guaHRtbCBbIFNraXAgXQogd2Via2l0Lm9yZy9iLzY3MDA3IGZhc3Qv
cnVieS9hZnRlci10YWJsZS1kb2VzbnQtY3Jhc2guaHRtbCBbIFNraXAgXQogd2Via2l0Lm9yZy9i
LzY3MDA3IGZhc3QvcnVieS9nZW5lcmF0ZWQtYWZ0ZXItY291bnRlci1kb2VzbnQtY3Jhc2guaHRt
bCBbIFNraXAgXQogd2Via2l0Lm9yZy9iLzY3MDA3IGZhc3QvcnVieS9nZW5lcmF0ZWQtYmVmb3Jl
LWFuZC1hZnRlci1jb3VudGVyLWRvZXNudC1jcmFzaC5odG1sIFsgU2tpcCBdCit3ZWJraXQub3Jn
L2IvMjY1NzY2IGZhc3QvcnVieS9ydWJ5LWxpbmUtaGVpZ2h0Lmh0bWwgWyBTa2lwIF0KIHdlYmtp
dC5vcmcvYi8xNjQ4ODggZmFzdC9zaGFkb3ctZG9tL2NvcHktc2hhZG93LXRyZWUuaHRtbCBbIFNr
aXAgXQogd2Via2l0Lm9yZy9iLzgxODI2IGZhc3QvdGFibGUvZG91YmxlLWhlaWdodC10YWJsZS1u
by10Ym9keS5odG1sIFsgU2tpcCBdCiB3ZWJraXQub3JnL2IvNTYxNDAgZmFzdC90ZXh0L2xhcmdl
LXRleHQtY29tcG9zZWQtY2hhci1kb3MuaHRtbCBbIFNraXAgXQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>