<?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>229679</bug_id>
          
          <creation_ts>2021-08-30 12:05:23 -0700</creation_ts>
          <short_desc>[IFC][Integration] Move integral vertical position adjustment over to createDisplayLines</short_desc>
          <delta_ts>2021-08-31 08:25:27 -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>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>1788606</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2021-08-30 12:05:23 -0700</bug_when>
    <thetext>This enables us to remove the run loop in InlineContentBuilder::createDisplayLineRuns (upcoming patch)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788608</commentid>
    <comment_count>1</comment_count>
      <attachid>436801</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-08-30 12:06:48 -0700</bug_when>
    <thetext>Created attachment 436801
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788776</commentid>
    <comment_count>2</comment_count>
      <attachid>436841</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-08-30 20:19:39 -0700</bug_when>
    <thetext>Created attachment 436841
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788886</commentid>
    <comment_count>3</comment_count>
      <attachid>436881</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-08-31 06:49:07 -0700</bug_when>
    <thetext>Created attachment 436881
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788912</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-08-31 08:24:45 -0700</bug_when>
    <thetext>Committed r281804 (241140@main): &lt;https://commits.webkit.org/241140@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 436881.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788913</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-08-31 08:25:27 -0700</bug_when>
    <thetext>&lt;rdar://problem/82580229&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>436801</attachid>
            <date>2021-08-30 12:06:48 -0700</date>
            <delta_ts>2021-08-30 20:19:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229679-20210830120648.patch</filename>
            <type>text/plain</type>
            <size>10624</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxNzY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODI5YTZkODNlNjk5MjNj
YzUzNTNhMjk3MjBmNGYxMWQwYmE5OTg0MC4uNzAzNTI2MGExMTA2Y2EwMDE3ZmE3ZGQ2MDhkMWQx
ZDk1NGIwZTNjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIxLTA4LTMwICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbSUZDXVtJbnRlZ3JhdGlvbl0g
TW92ZSBpbnRlZ3JhbCB2ZXJ0aWNhbCBwb3NpdGlvbiBhZGp1c3RtZW50IG92ZXIgdG8gY3JlYXRl
RGlzcGxheUxpbmVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMjk2NzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBUaGlzIGlzIGluIHByZXBhcmF0aW9uIGZvciBub3QgY29uc3RydWN0aW5nIHRleHQgcnVu
cyBpbiBJbmxpbmVDb250ZW50QnVpbGRlcjo6Y3JlYXRlRGlzcGxheUxpbmVSdW5zLgorCisgICAg
ICAgICogbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uSW5saW5lQ29udGVudEJ1
aWxkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0SW50ZWdyYXRpb246OklubGluZUNv
bnRlbnRCdWlsZGVyOjpidWlsZCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXRJbnRl
Z3JhdGlvbjo6SW5saW5lQ29udGVudEJ1aWxkZXI6OmNyZWF0ZURpc3BsYXlMaW5lUnVucyBjb25z
dCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXRJbnRlZ3JhdGlvbjo6SW5saW5lQ29udGVudEJ1
aWxkZXI6OmNyZWF0ZURpc3BsYXlMaW5lcyBjb25zdCk6CisgICAgICAgICogbGF5b3V0L2ludGVn
cmF0aW9uL0xheW91dEludGVncmF0aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuaDoKKyAgICAgICAg
KiBsYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25MaW5lLmg6CisgICAgICAgIChX
ZWJDb3JlOjpMYXlvdXRJbnRlZ3JhdGlvbjo6Tm9uUm9vdElubGluZUJveDo6c2V0VmVydGljYWxQ
b3NpdGlvbkludGVncmFsKToKKyAgICAgICAgKiBsYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50
ZWdyYXRpb25SdW4uaDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dEludGVncmF0aW9uOjpSdW46
OnNldFZlcnRpY2FsUG9zaXRpb25JbnRlZ3JhbCk6CisKIDIwMjEtMDgtMzAgIEFsYW4gQnVqdGFz
ICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtJRkNdW0ludGVncmF0aW9uXSBSZW1vdmUg
dW51c2VkIGJpZGkgaGFuZGxpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9p
bnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnRCdWlsZGVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbklubGluZUNv
bnRlbnRCdWlsZGVyLmNwcAppbmRleCAxODU4Y2U3MDk4MmY1MjRhNTE0NmQ2NTg3ZGQxOTkwZDg1
MjNiMGI4Li4wODQ2NjEyYTU4ZTc3MWExMjk3ZjVjNThlNWJiNWQxOTM1NjBiMWM5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25J
bmxpbmVDb250ZW50QnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVn
cmF0aW9uL0xheW91dEludGVncmF0aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuY3BwCkBAIC02Nyw3
MCArNjcsMzUgQEAgSW5saW5lQ29udGVudEJ1aWxkZXI6OklubGluZUNvbnRlbnRCdWlsZGVyKGNv
bnN0IExheW91dDo6TGF5b3V0U3RhdGUmIGxheW91dFN0YXQKIAogdm9pZCBJbmxpbmVDb250ZW50
QnVpbGRlcjo6YnVpbGQoY29uc3QgTGF5b3V0OjpJbmxpbmVGb3JtYXR0aW5nU3RhdGUmIGlubGlu
ZUZvcm1hdHRpbmdTdGF0ZSwgSW5saW5lQ29udGVudCYgaW5saW5lQ29udGVudCkgY29uc3QKIHsK
LSAgICBjcmVhdGVEaXNwbGF5TGluZVJ1bnMoaW5saW5lRm9ybWF0dGluZ1N0YXRlLmxpbmVzKCks
IGlubGluZUZvcm1hdHRpbmdTdGF0ZS5saW5lUnVucygpLCBpbmxpbmVDb250ZW50KTsKKyAgICBj
cmVhdGVEaXNwbGF5TGluZVJ1bnMoaW5saW5lRm9ybWF0dGluZ1N0YXRlLmxpbmVSdW5zKCksIGlu
bGluZUNvbnRlbnQpOwogICAgIGNyZWF0ZURpc3BsYXlMaW5lcyhpbmxpbmVGb3JtYXR0aW5nU3Rh
dGUubGluZXMoKSwgaW5saW5lQ29udGVudCk7CiB9CiAKLXZvaWQgSW5saW5lQ29udGVudEJ1aWxk
ZXI6OmNyZWF0ZURpc3BsYXlMaW5lUnVucyhjb25zdCBMYXlvdXQ6OklubGluZUxpbmVzJiBsaW5l
cywgY29uc3QgTGF5b3V0OjpJbmxpbmVMaW5lUnVucyYgbGluZVJ1bnMsIElubGluZUNvbnRlbnQm
IGlubGluZUNvbnRlbnQpIGNvbnN0Cit2b2lkIElubGluZUNvbnRlbnRCdWlsZGVyOjpjcmVhdGVE
aXNwbGF5TGluZVJ1bnMoY29uc3QgTGF5b3V0OjpJbmxpbmVMaW5lUnVucyYgbGluZVJ1bnMsIElu
bGluZUNvbnRlbnQmIGlubGluZUNvbnRlbnQpIGNvbnN0CiB7CiAgICAgaWYgKGxpbmVSdW5zLmlz
RW1wdHkoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgYXV0byBjcmVhdGVEaXNwbGF5Qm94UnVu
ID0gWyZdKGF1dG8mIGxpbmVSdW4pIHsKLSAgICAgICAgaWYgKGxpbmVSdW4uaXNSb290SW5saW5l
Qm94KCkpIHsKKyAgICBpbmxpbmVDb250ZW50LnJ1bnMucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShs
aW5lUnVucy5zaXplKCkpOworICAgIGZvciAoYXV0byYgbGluZVJ1biA6IGxpbmVSdW5zKSB7Cisg
ICAgICAgIGlmIChhdXRvIHRleHQgPSBsaW5lUnVuLnRleHQoKSkgeworICAgICAgICAgICAgaW5s
aW5lQ29udGVudC5ydW5zLmFwcGVuZCh7IGxpbmVSdW4ubGluZUluZGV4KCksIGxpbmVSdW4ubGF5
b3V0Qm94KCksIGxpbmVSdW4ubG9naWNhbFJlY3QoKSwgbGluZVJ1bi5pbmtPdmVyZmxvdygpLCBS
dW46OkV4cGFuc2lvbiB7IGxpbmVSdW4uZXhwYW5zaW9uKCkuYmVoYXZpb3IsIGxpbmVSdW4uZXhw
YW5zaW9uKCkuaG9yaXpvbnRhbEV4cGFuc2lvbiB9CisgICAgICAgICAgICAgICAgLCBSdW46OlRl
eHRDb250ZW50IHsgdGV4dC0+c3RhcnQoKSwgdGV4dC0+bGVuZ3RoKCksIHRleHQtPm9yaWdpbmFs
Q29udGVudCgpLCB0ZXh0LT5yZW5kZXJlZENvbnRlbnQoKSwgdGV4dC0+aGFzSHlwaGVuKCkgfSB9
KTsKKyAgICAgICAgfSBlbHNlIGlmICghbGluZVJ1bi5pc1Jvb3RJbmxpbmVCb3goKSkgewogICAg
ICAgICAgICAgLy8gRklYTUU6IFRlYWNoIHRoZSBydW4gaXRlcmF0b3JzIHRvIGlnbm9yZSB0aGUg
cm9vdCBpbmxpbmUgYm94IHJ1bnMuCi0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KLSAg
ICAgICAgYXV0byYgbGF5b3V0Qm94ID0gbGluZVJ1bi5sYXlvdXRCb3goKTsKLSAgICAgICAgYXV0
byBsaW5lSW5kZXggPSBsaW5lUnVuLmxpbmVJbmRleCgpOwotICAgICAgICBhdXRvIHJ1blJlY3Qg
PSBGbG9hdFJlY3QgeyBsaW5lUnVuLmxvZ2ljYWxSZWN0KCkgfTsKLSAgICAgICAgYXV0byBpbmtP
dmVyZmxvdyA9IEZsb2F0UmVjdCB7IGxpbmVSdW4uaW5rT3ZlcmZsb3coKSB9OwotICAgICAgICBh
dXRvJiBnZW9tZXRyeSA9IG1fbGF5b3V0U3RhdGUuZ2VvbWV0cnlGb3JCb3gobGF5b3V0Qm94KTsK
LSAgICAgICAgcnVuUmVjdC5zZXRTaXplKHsgZ2VvbWV0cnkuYm9yZGVyQm94V2lkdGgoKSwgZ2Vv
bWV0cnkuYm9yZGVyQm94SGVpZ2h0KCkgfSk7Ci0gICAgICAgIGlmIChsaW5lc1tsaW5lSW5kZXhd
Lm5lZWRzSW50ZWdyYWxQb3NpdGlvbigpKSB7Ci0gICAgICAgICAgICBydW5SZWN0LnNldFkocm91
bmRUb0ludChydW5SZWN0LnkoKSkpOwotICAgICAgICAgICAgaW5rT3ZlcmZsb3cuc2V0WShyb3Vu
ZFRvSW50KGlua092ZXJmbG93LnkoKSkpOwotICAgICAgICB9Ci0gICAgICAgIGlmIChsaW5lUnVu
LmlzSW5saW5lQm94KCkpIHsKLSAgICAgICAgICAgIGF1dG8gbGluZVJ1blJlY3QgPSBsaW5lUnVu
LmxvZ2ljYWxSZWN0KCk7Ci0gICAgICAgICAgICBhdXRvIGhhc1Njcm9sbGFibGVDb250ZW50ID0g
WyZdIHsKLSAgICAgICAgICAgICAgICAvLyBJbiBzdGFuZGFyZHMgbW9kZSwgaW5saW5lIGJveGVz
IGFsd2F5cyBzdGFydCB3aXRoIGFuIGltYWdpbmFyeSBzdHJ1dC4KLSAgICAgICAgICAgICAgICBy
ZXR1cm4gbV9sYXlvdXRTdGF0ZS5pblN0YW5kYXJkc01vZGUoKSB8fCBsaW5lUnVuLmhhc0NvbnRl
bnQoKSB8fCBnZW9tZXRyeS5ob3Jpem9udGFsQm9yZGVyKCkgfHwgKGdlb21ldHJ5Lmhvcml6b250
YWxQYWRkaW5nKCkgJiYgZ2VvbWV0cnkuaG9yaXpvbnRhbFBhZGRpbmcoKS52YWx1ZSgpKTsKLSAg
ICAgICAgICAgIH07Ci0gICAgICAgICAgICBpbmxpbmVDb250ZW50Lm5vblJvb3RJbmxpbmVCb3hl
cy5hcHBlbmQoeyBsaW5lSW5kZXgsIGxheW91dEJveCwgbGluZVJ1blJlY3QsIGhhc1Njcm9sbGFi
bGVDb250ZW50KCkgfSk7Ci0gICAgICAgICAgICBpZiAoIWxpbmVSdW4uaXNMaW5lU3Bhbm5pbmco
KSkgeworICAgICAgICAgICAgYXV0byYgZ2VvbWV0cnkgPSBtX2xheW91dFN0YXRlLmdlb21ldHJ5
Rm9yQm94KGxpbmVSdW4ubGF5b3V0Qm94KCkpOworICAgICAgICAgICAgaWYgKCFsaW5lUnVuLmlz
SW5saW5lQm94KCkgfHwgIWxpbmVSdW4uaXNMaW5lU3Bhbm5pbmcoKSkgewogICAgICAgICAgICAg
ICAgIC8vIEZJWE1FOiBSdW4gaXRlcmF0b3JzIHdpdGggKHRleHQpcnVucyBzcGFubmluZyBvdmVy
IG11bHRpcGxlIGxpbmVzIGV4cGVjdCBubyAiaW4tYmV0d2VlbiIgcnVucyAoZS5nLiBsaW5lIHNw
YW5uaW5nIG9yIHJvb3QgaW5saW5lIGJveGVzKS4KLSAgICAgICAgICAgICAgICBpbmxpbmVDb250
ZW50LnJ1bnMuYXBwZW5kKHsgbGluZUluZGV4LCBsYXlvdXRCb3gsIHJ1blJlY3QsIGlua092ZXJm
bG93LCB7IH0sIHsgfSB9KTsKKyAgICAgICAgICAgICAgICBpbmxpbmVDb250ZW50LnJ1bnMuYXBw
ZW5kKHsgbGluZVJ1bi5saW5lSW5kZXgoKSwgbGluZVJ1bi5sYXlvdXRCb3goKSwgbGluZVJ1bi5s
b2dpY2FsUmVjdCgpLCBsaW5lUnVuLmlua092ZXJmbG93KCksIHsgfSwgeyB9IH0pOworICAgICAg
ICAgICAgfQorICAgICAgICAgICAgaWYgKGxpbmVSdW4uaXNJbmxpbmVCb3goKSkgeworICAgICAg
ICAgICAgICAgIGF1dG8gaGFzU2Nyb2xsYWJsZUNvbnRlbnQgPSBbJl0geworICAgICAgICAgICAg
ICAgICAgICAvLyBJbiBzdGFuZGFyZHMgbW9kZSwgaW5saW5lIGJveGVzIGFsd2F5cyBzdGFydCB3
aXRoIGFuIGltYWdpbmFyeSBzdHJ1dC4KKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG1fbGF5
b3V0U3RhdGUuaW5TdGFuZGFyZHNNb2RlKCkgfHwgbGluZVJ1bi5oYXNDb250ZW50KCkgfHwgZ2Vv
bWV0cnkuaG9yaXpvbnRhbEJvcmRlcigpIHx8IChnZW9tZXRyeS5ob3Jpem9udGFsUGFkZGluZygp
ICYmIGdlb21ldHJ5Lmhvcml6b250YWxQYWRkaW5nKCkudmFsdWUoKSk7CisgICAgICAgICAgICAg
ICAgfTsKKyAgICAgICAgICAgICAgICBpbmxpbmVDb250ZW50Lm5vblJvb3RJbmxpbmVCb3hlcy5h
cHBlbmQoeyBsaW5lUnVuLmxpbmVJbmRleCgpLCBsaW5lUnVuLmxheW91dEJveCgpLCBsaW5lUnVu
LmxvZ2ljYWxSZWN0KCksIGhhc1Njcm9sbGFibGVDb250ZW50KCkgfSk7CiAgICAgICAgICAgICB9
Ci0gICAgICAgIH0gZWxzZQotICAgICAgICAgICAgaW5saW5lQ29udGVudC5ydW5zLmFwcGVuZCh7
IGxpbmVJbmRleCwgbGF5b3V0Qm94LCBydW5SZWN0LCBpbmtPdmVyZmxvdywgeyB9LCB7IH0gfSk7
Ci0gICAgfTsKLQotICAgIGF1dG8gY3JlYXRlRGlzcGxheVRleHRSdW4gPSBbJl0oYXV0byYgbGlu
ZVJ1bikgewotICAgICAgICBhdXRvJiBsYXlvdXRCb3ggPSBsaW5lUnVuLmxheW91dEJveCgpOwot
ICAgICAgICBhdXRvIGxpbmVJbmRleCA9IGxpbmVSdW4ubGluZUluZGV4KCk7Ci0gICAgICAgIGF1
dG8gcnVuUmVjdCA9IEZsb2F0UmVjdCB7IGxpbmVSdW4ubG9naWNhbFJlY3QoKSB9OwotICAgICAg
ICBhdXRvIGlua092ZXJmbG93ID0gRmxvYXRSZWN0IHsgbGluZVJ1bi5pbmtPdmVyZmxvdygpIH07
Ci0gICAgICAgIGlmIChsaW5lc1tsaW5lSW5kZXhdLm5lZWRzSW50ZWdyYWxQb3NpdGlvbigpKSB7
Ci0gICAgICAgICAgICBydW5SZWN0LnNldFkocm91bmRUb0ludChydW5SZWN0LnkoKSkpOwotICAg
ICAgICAgICAgaW5rT3ZlcmZsb3cuc2V0WShyb3VuZFRvSW50KGlua092ZXJmbG93LnkoKSkpOwog
ICAgICAgICB9Ci0KLSAgICAgICAgYXV0byB0ZXh0ID0gbGluZVJ1bi50ZXh0KCk7Ci0gICAgICAg
IGlubGluZUNvbnRlbnQucnVucy5hcHBlbmQoeyBsaW5lSW5kZXgKLSAgICAgICAgICAgICwgbGF5
b3V0Qm94Ci0gICAgICAgICAgICAsIHJ1blJlY3QKLSAgICAgICAgICAgICwgaW5rT3ZlcmZsb3cK
LSAgICAgICAgICAgICwgUnVuOjpFeHBhbnNpb24geyBsaW5lUnVuLmV4cGFuc2lvbigpLmJlaGF2
aW9yLCBsaW5lUnVuLmV4cGFuc2lvbigpLmhvcml6b250YWxFeHBhbnNpb24gfQotICAgICAgICAg
ICAgLCBSdW46OlRleHRDb250ZW50IHsgdGV4dC0+c3RhcnQoKSwgdGV4dC0+bGVuZ3RoKCksIHRl
eHQtPm9yaWdpbmFsQ29udGVudCgpLCB0ZXh0LT5yZW5kZXJlZENvbnRlbnQoKSwgdGV4dC0+aGFz
SHlwaGVuKCkgfSB9KTsKLSAgICB9OwotCi0gICAgaW5saW5lQ29udGVudC5ydW5zLnJlc2VydmVJ
bml0aWFsQ2FwYWNpdHkobGluZVJ1bnMuc2l6ZSgpKTsKLSAgICBmb3IgKGF1dG8mIGxpbmVSdW4g
OiBsaW5lUnVucykgewotICAgICAgICBpZiAobGluZVJ1bi50ZXh0KCkpCi0gICAgICAgICAgICBj
cmVhdGVEaXNwbGF5VGV4dFJ1bihsaW5lUnVuKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAg
Y3JlYXRlRGlzcGxheUJveFJ1bihsaW5lUnVuKTsKICAgICB9CiB9CiAKQEAgLTE1Miw2ICsxMTcs
OSBAQCB2b2lkIElubGluZUNvbnRlbnRCdWlsZGVyOjpjcmVhdGVEaXNwbGF5TGluZXMoY29uc3Qg
TGF5b3V0OjpJbmxpbmVMaW5lcyYgbGluZXMsCiAgICAgICAgIC8vIENvbGxlY3Qgb3ZlcmZsb3cg
ZnJvbSBydW5zLgogICAgICAgICBmb3IgKDsgcnVuSW5kZXggPCBydW5zLnNpemUoKSAmJiBydW5z
W3J1bkluZGV4XS5saW5lSW5kZXgoKSA9PSBsaW5lSW5kZXg7ICsrcnVuSW5kZXgpIHsKICAgICAg
ICAgICAgIGF1dG8mIHJ1biA9IHJ1bnNbcnVuSW5kZXhdOworICAgICAgICAgICAgaWYgKGxpbmUu
bmVlZHNJbnRlZ3JhbFBvc2l0aW9uKCkpCisgICAgICAgICAgICAgICAgcnVuLnNldFZlcnRpY2Fs
UG9zaXRpb25JbnRlZ3JhbCgpOworCiAgICAgICAgICAgICBsaW5lSW5rT3ZlcmZsb3dSZWN0LnVu
aXRlKHJ1bi5pbmtPdmVyZmxvdygpKTsKIAogICAgICAgICAgICAgYXV0byYgbGF5b3V0Qm94ID0g
cnVuLmxheW91dEJveCgpOwpAQCAtMTcyLDYgKzE0MCwxMCBAQCB2b2lkIElubGluZUNvbnRlbnRC
dWlsZGVyOjpjcmVhdGVEaXNwbGF5TGluZXMoY29uc3QgTGF5b3V0OjpJbmxpbmVMaW5lcyYgbGlu
ZXMsCiAgICAgICAgIC8vIENvbGxlY3Qgc2Nyb2xsYWJsZSBvdmVyZmxvdyBmcm9tIGlubGluZSBi
b3hlcy4gQWxsIG90aGVyIGlubGluZSBsZXZlbCBib3hlcyAoZS5nIGF0b21pYyBpbmxpbmUgbGV2
ZWwgYm94ZXMpIHN0cmV0Y2ggdGhlIGxpbmUuCiAgICAgICAgIHdoaWxlIChpbmxpbmVCb3hJbmRl
eCA8IG5vblJvb3RJbmxpbmVCb3hlcy5zaXplKCkgJiYgbm9uUm9vdElubGluZUJveGVzW2lubGlu
ZUJveEluZGV4XS5saW5lSW5kZXgoKSA9PSBsaW5lSW5kZXgpIHsKICAgICAgICAgICAgIGF1dG8m
IGlubGluZUJveCA9IG5vblJvb3RJbmxpbmVCb3hlc1tpbmxpbmVCb3hJbmRleCsrXTsKKworICAg
ICAgICAgICAgaWYgKGxpbmUubmVlZHNJbnRlZ3JhbFBvc2l0aW9uKCkpCisgICAgICAgICAgICAg
ICAgaW5saW5lQm94LnNldFZlcnRpY2FsUG9zaXRpb25JbnRlZ3JhbCgpOworCiAgICAgICAgICAg
ICBpZiAoaW5saW5lQm94Lmhhc1Njcm9sbGFibGVDb250ZW50KCkpCiAgICAgICAgICAgICAgICAg
c2Nyb2xsYWJsZU92ZXJmbG93UmVjdC51bml0ZShpbmxpbmVCb3gucmVjdCgpKTsKICAgICAgICAg
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dElu
dGVncmF0aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9p
bnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnRCdWlsZGVyLmgKaW5kZXgg
NjI5YWZhMDUyODFlNWY1YWVjMGNmZmZhYzIzOWM2MjdhYWM1MDkzNS4uNTE4NGUwZjNlOTQwMDI5
OGVlYjk3OTkyMmI1YTEzODYzMDQ2ZGJhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25J
bmxpbmVDb250ZW50QnVpbGRlci5oCkBAIC00Niw3ICs0Niw3IEBAIHB1YmxpYzoKICAgICB2b2lk
IGJ1aWxkKGNvbnN0IExheW91dDo6SW5saW5lRm9ybWF0dGluZ1N0YXRlJiwgSW5saW5lQ29udGVu
dCYpIGNvbnN0OwogCiBwcml2YXRlOgotICAgIHZvaWQgY3JlYXRlRGlzcGxheUxpbmVSdW5zKGNv
bnN0IExheW91dDo6SW5saW5lTGluZXMmLCBjb25zdCBMYXlvdXQ6OklubGluZUxpbmVSdW5zJiwg
SW5saW5lQ29udGVudCYpIGNvbnN0OworICAgIHZvaWQgY3JlYXRlRGlzcGxheUxpbmVSdW5zKGNv
bnN0IExheW91dDo6SW5saW5lTGluZVJ1bnMmLCBJbmxpbmVDb250ZW50JikgY29uc3Q7CiAgICAg
dm9pZCBjcmVhdGVEaXNwbGF5TGluZXMoY29uc3QgTGF5b3V0OjpJbmxpbmVMaW5lcyYsIElubGlu
ZUNvbnRlbnQmKSBjb25zdDsKIAogICAgIGNvbnN0IExheW91dDo6TGF5b3V0U3RhdGUmIG1fbGF5
b3V0U3RhdGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24v
TGF5b3V0SW50ZWdyYXRpb25MaW5lLmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRp
b24vTGF5b3V0SW50ZWdyYXRpb25MaW5lLmgKaW5kZXggOWFjNzE4MjgxOTAyZTJmNjE5YTNiNzBi
Y2QxYmJhMjc4NzUzMWZlOS4uOTBkZWU4ZDk1N2YwOWMxYzYwYTkwYjViZjVhMGVjMDk0N2RmYjll
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dElu
dGVncmF0aW9uTGluZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9M
YXlvdXRJbnRlZ3JhdGlvbkxpbmUuaApAQCAtMTAzLDYgKzEwMyw4IEBAIHB1YmxpYzoKIAogICAg
IEZsb2F0UmVjdCByZWN0KCkgY29uc3QgeyByZXR1cm4gbV9yZWN0OyB9CiAKKyAgICB2b2lkIHNl
dFZlcnRpY2FsUG9zaXRpb25JbnRlZ3JhbCgpIHsgbV9yZWN0LnNldFkocm91bmRUb0ludChtX3Jl
Y3QueSgpKSk7IH0KKwogICAgIGJvb2wgaGFzU2Nyb2xsYWJsZUNvbnRlbnQoKSBjb25zdCB7IHJl
dHVybiBtX2hhc1Njcm9sbGFibGVDb250ZW50OyB9CiAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25SdW4uaCBi
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvblJ1bi5o
CmluZGV4IDY4MDhlNDJkNjdjZDQ1MjBkYzFhYjE3M2E1NmJkODQ3ZTllZWJiMjguLjZmNDM1Yzg3
YzE2MzZmZmM2MTMyYjQyYWIwYmE3MGY2MWQwNTE2N2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvblJ1bi5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvblJ1bi5oCkBAIC02
Niw2ICs2Niw4IEBAIHN0cnVjdCBSdW4gewogICAgIGNvbnN0IEZsb2F0UmVjdCYgcmVjdCgpIGNv
bnN0IHsgcmV0dXJuIG1fcmVjdDsgfQogICAgIGNvbnN0IEZsb2F0UmVjdCYgaW5rT3ZlcmZsb3co
KSBjb25zdCB7IHJldHVybiBtX2lua092ZXJmbG93OyB9CiAKKyAgICB2b2lkIHNldFZlcnRpY2Fs
UG9zaXRpb25JbnRlZ3JhbCgpOworCiAgICAgc3RkOjpvcHRpb25hbDxUZXh0Q29udGVudD4mIHRl
eHRDb250ZW50KCkgeyByZXR1cm4gbV90ZXh0Q29udGVudDsgfQogICAgIGNvbnN0IHN0ZDo6b3B0
aW9uYWw8VGV4dENvbnRlbnQ+JiB0ZXh0Q29udGVudCgpIGNvbnN0IHsgcmV0dXJuIG1fdGV4dENv
bnRlbnQ7IH0KICAgICAvLyBGSVhNRTogVGhpcyBpbmZvcm1hdGlvbiBzaG91bGQgYmUgcHJlc2Vy
dmVkIGF0IFJ1biBjb25zdHJ1Y3Rpb24gdGltZS4KQEAgLTExNiw2ICsxMTgsMTIgQEAgaW5saW5l
IFJ1bjo6VGV4dENvbnRlbnQ6OlRleHRDb250ZW50KHNpemVfdCBzdGFydCwgc2l6ZV90IGxlbmd0
aCwgY29uc3QgU3RyaW5nJgogewogfQogCitpbmxpbmUgdm9pZCBSdW46OnNldFZlcnRpY2FsUG9z
aXRpb25JbnRlZ3JhbCgpCit7CisgICAgbV9yZWN0LnNldFkocm91bmRUb0ludChtX3JlY3QueSgp
KSk7CisgICAgbV9pbmtPdmVyZmxvdy5zZXRZKHJvdW5kVG9JbnQobV9pbmtPdmVyZmxvdy55KCkp
KTsKK30KKwogfQogfQogI2VuZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>436841</attachid>
            <date>2021-08-30 20:19:39 -0700</date>
            <delta_ts>2021-08-31 06:49:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229679-20210830201938.patch</filename>
            <type>text/plain</type>
            <size>10286</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxNzg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmUxN2JjNGYxOGQ1NTc4
MmZmMTgyNjhjZmZmZWQ1MTcyYzdmZjJmNi4uODg4MzAwNTJjNmQ3NjMwMGYzODJmNjMzMDFmNzNm
Y2FhNTFjYTA1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIxLTA4LTMwICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbSUZDXVtJbnRlZ3JhdGlvbl0g
TW92ZSBpbnRlZ3JhbCB2ZXJ0aWNhbCBwb3NpdGlvbiBhZGp1c3RtZW50IG92ZXIgdG8gY3JlYXRl
RGlzcGxheUxpbmVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMjk2NzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBUaGlzIGlzIGluIHByZXBhcmF0aW9uIGZvciBub3QgY29uc3RydWN0aW5nIHRleHQgcnVu
cyBpbiBJbmxpbmVDb250ZW50QnVpbGRlcjo6Y3JlYXRlRGlzcGxheUxpbmVSdW5zLgorCisgICAg
ICAgICogbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uSW5saW5lQ29udGVudEJ1
aWxkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0SW50ZWdyYXRpb246OklubGluZUNv
bnRlbnRCdWlsZGVyOjpidWlsZCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXRJbnRl
Z3JhdGlvbjo6SW5saW5lQ29udGVudEJ1aWxkZXI6OmNyZWF0ZURpc3BsYXlMaW5lUnVucyBjb25z
dCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXRJbnRlZ3JhdGlvbjo6SW5saW5lQ29udGVudEJ1
aWxkZXI6OmNyZWF0ZURpc3BsYXlMaW5lcyBjb25zdCk6CisgICAgICAgICogbGF5b3V0L2ludGVn
cmF0aW9uL0xheW91dEludGVncmF0aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuaDoKKyAgICAgICAg
KiBsYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25MaW5lLmg6CisgICAgICAgIChX
ZWJDb3JlOjpMYXlvdXRJbnRlZ3JhdGlvbjo6Tm9uUm9vdElubGluZUJveDo6c2V0VmVydGljYWxQ
b3NpdGlvbkludGVncmFsKToKKyAgICAgICAgKiBsYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50
ZWdyYXRpb25SdW4uaDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dEludGVncmF0aW9uOjpSdW46
OnNldFZlcnRpY2FsUG9zaXRpb25JbnRlZ3JhbCk6CisKIDIwMjEtMDgtMzAgIEFsYW4gQnVqdGFz
ICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtMRkNdIHRyeWJvdApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uSW5saW5l
Q29udGVudEJ1aWxkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xh
eW91dEludGVncmF0aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuY3BwCmluZGV4IGU0MDE1NjI4ZTFj
YTI3NmFmYmM4MDNiOWJkZjMxZjAxMjE0YTEwODQuLmM5NGJiNjNiZjFlYmRhZTM3ZTlhN2NjZTJm
MGNmNGQ3NmUyMWRhZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3Jh
dGlvbi9MYXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnRCdWlsZGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250
ZW50QnVpbGRlci5jcHAKQEAgLTY3LDcwICs2NywzNSBAQCBJbmxpbmVDb250ZW50QnVpbGRlcjo6
SW5saW5lQ29udGVudEJ1aWxkZXIoY29uc3QgTGF5b3V0OjpMYXlvdXRTdGF0ZSYgbGF5b3V0U3Rh
dAogCiB2b2lkIElubGluZUNvbnRlbnRCdWlsZGVyOjpidWlsZChjb25zdCBMYXlvdXQ6OklubGlu
ZUZvcm1hdHRpbmdTdGF0ZSYgaW5saW5lRm9ybWF0dGluZ1N0YXRlLCBJbmxpbmVDb250ZW50JiBp
bmxpbmVDb250ZW50KSBjb25zdAogewotICAgIGNyZWF0ZURpc3BsYXlSdW5zKGlubGluZUZvcm1h
dHRpbmdTdGF0ZS5saW5lcygpLCBpbmxpbmVGb3JtYXR0aW5nU3RhdGUucnVucygpLCBpbmxpbmVD
b250ZW50KTsKKyAgICBjcmVhdGVEaXNwbGF5UnVucyhpbmxpbmVGb3JtYXR0aW5nU3RhdGUucnVu
cygpLCBpbmxpbmVDb250ZW50KTsKICAgICBjcmVhdGVEaXNwbGF5TGluZXMoaW5saW5lRm9ybWF0
dGluZ1N0YXRlLmxpbmVzKCksIGlubGluZUNvbnRlbnQpOwogfQogCi12b2lkIElubGluZUNvbnRl
bnRCdWlsZGVyOjpjcmVhdGVEaXNwbGF5UnVucyhjb25zdCBMYXlvdXQ6OklubGluZUxpbmVzJiBs
aW5lcywgY29uc3QgTGF5b3V0OjpJbmxpbmVSdW5zJiBydW5zLCBJbmxpbmVDb250ZW50JiBpbmxp
bmVDb250ZW50KSBjb25zdAordm9pZCBJbmxpbmVDb250ZW50QnVpbGRlcjo6Y3JlYXRlRGlzcGxh
eVJ1bnMoY29uc3QgTGF5b3V0OjpJbmxpbmVSdW5zJiBydW5zLCBJbmxpbmVDb250ZW50JiBpbmxp
bmVDb250ZW50KSBjb25zdAogewogICAgIGlmIChydW5zLmlzRW1wdHkoKSkKICAgICAgICAgcmV0
dXJuOwogCi0gICAgYXV0byBjcmVhdGVEaXNwbGF5Qm94UnVuID0gWyZdKGF1dG8mIHJ1bikgewot
ICAgICAgICBpZiAocnVuLmlzUm9vdElubGluZUJveCgpKSB7CisgICAgaW5saW5lQ29udGVudC5y
dW5zLnJlc2VydmVJbml0aWFsQ2FwYWNpdHkocnVucy5zaXplKCkpOworICAgIGZvciAoYXV0byYg
cnVuIDogcnVucykgeworICAgICAgICBpZiAoYXV0byB0ZXh0ID0gcnVuLnRleHQoKSkgeworICAg
ICAgICAgICAgaW5saW5lQ29udGVudC5ydW5zLmFwcGVuZCh7IHJ1bi5saW5lSW5kZXgoKSwgcnVu
LmxheW91dEJveCgpLCBydW4ubG9naWNhbFJlY3QoKSwgcnVuLmlua092ZXJmbG93KCksIFJ1bjo6
RXhwYW5zaW9uIHsgcnVuLmV4cGFuc2lvbigpLmJlaGF2aW9yLCBydW4uZXhwYW5zaW9uKCkuaG9y
aXpvbnRhbEV4cGFuc2lvbiB9CisgICAgICAgICAgICAgICAgLCBSdW46OlRleHQgeyB0ZXh0LT5z
dGFydCgpLCB0ZXh0LT5sZW5ndGgoKSwgdGV4dC0+b3JpZ2luYWxDb250ZW50KCksIHRleHQtPnJl
bmRlcmVkQ29udGVudCgpLCB0ZXh0LT5oYXNIeXBoZW4oKSB9IH0pOworICAgICAgICB9IGVsc2Ug
aWYgKCFydW4uaXNSb290SW5saW5lQm94KCkpIHsKICAgICAgICAgICAgIC8vIEZJWE1FOiBUZWFj
aCB0aGUgcnVuIGl0ZXJhdG9ycyB0byBpZ25vcmUgdGhlIHJvb3QgaW5saW5lIGJveCBydW5zLgot
ICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0gICAgICAgIGF1dG8mIGxheW91dEJveCA9
IHJ1bi5sYXlvdXRCb3goKTsKLSAgICAgICAgYXV0byBsaW5lSW5kZXggPSBydW4ubGluZUluZGV4
KCk7Ci0gICAgICAgIGF1dG8gcnVuUmVjdCA9IEZsb2F0UmVjdCB7IHJ1bi5sb2dpY2FsUmVjdCgp
IH07Ci0gICAgICAgIGF1dG8gaW5rT3ZlcmZsb3cgPSBGbG9hdFJlY3QgeyBydW4uaW5rT3ZlcmZs
b3coKSB9OwotICAgICAgICBhdXRvJiBnZW9tZXRyeSA9IG1fbGF5b3V0U3RhdGUuZ2VvbWV0cnlG
b3JCb3gobGF5b3V0Qm94KTsKLSAgICAgICAgcnVuUmVjdC5zZXRTaXplKHsgZ2VvbWV0cnkuYm9y
ZGVyQm94V2lkdGgoKSwgZ2VvbWV0cnkuYm9yZGVyQm94SGVpZ2h0KCkgfSk7Ci0gICAgICAgIGlm
IChsaW5lc1tsaW5lSW5kZXhdLm5lZWRzSW50ZWdyYWxQb3NpdGlvbigpKSB7Ci0gICAgICAgICAg
ICBydW5SZWN0LnNldFkocm91bmRUb0ludChydW5SZWN0LnkoKSkpOwotICAgICAgICAgICAgaW5r
T3ZlcmZsb3cuc2V0WShyb3VuZFRvSW50KGlua092ZXJmbG93LnkoKSkpOwotICAgICAgICB9Ci0g
ICAgICAgIGlmIChydW4uaXNJbmxpbmVCb3goKSkgewotICAgICAgICAgICAgYXV0byBydW5SZWN0
ID0gcnVuLmxvZ2ljYWxSZWN0KCk7Ci0gICAgICAgICAgICBhdXRvIGhhc1Njcm9sbGFibGVDb250
ZW50ID0gWyZdIHsKLSAgICAgICAgICAgICAgICAvLyBJbiBzdGFuZGFyZHMgbW9kZSwgaW5saW5l
IGJveGVzIGFsd2F5cyBzdGFydCB3aXRoIGFuIGltYWdpbmFyeSBzdHJ1dC4KLSAgICAgICAgICAg
ICAgICByZXR1cm4gbV9sYXlvdXRTdGF0ZS5pblN0YW5kYXJkc01vZGUoKSB8fCBydW4uaGFzQ29u
dGVudCgpIHx8IGdlb21ldHJ5Lmhvcml6b250YWxCb3JkZXIoKSB8fCAoZ2VvbWV0cnkuaG9yaXpv
bnRhbFBhZGRpbmcoKSAmJiBnZW9tZXRyeS5ob3Jpem9udGFsUGFkZGluZygpLnZhbHVlKCkpOwot
ICAgICAgICAgICAgfTsKLSAgICAgICAgICAgIGlubGluZUNvbnRlbnQubm9uUm9vdElubGluZUJv
eGVzLmFwcGVuZCh7IGxpbmVJbmRleCwgbGF5b3V0Qm94LCBydW5SZWN0LCBoYXNTY3JvbGxhYmxl
Q29udGVudCgpIH0pOwotICAgICAgICAgICAgaWYgKCFydW4uaXNMaW5lU3Bhbm5pbmcoKSkgewor
ICAgICAgICAgICAgYXV0byYgZ2VvbWV0cnkgPSBtX2xheW91dFN0YXRlLmdlb21ldHJ5Rm9yQm94
KHJ1bi5sYXlvdXRCb3goKSk7CisgICAgICAgICAgICBpZiAoIXJ1bi5pc0lubGluZUJveCgpIHx8
ICFydW4uaXNMaW5lU3Bhbm5pbmcoKSkgewogICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBSdW4g
aXRlcmF0b3JzIHdpdGggKHRleHQpcnVucyBzcGFubmluZyBvdmVyIG11bHRpcGxlIGxpbmVzIGV4
cGVjdCBubyAiaW4tYmV0d2VlbiIgcnVucyAoZS5nLiBsaW5lIHNwYW5uaW5nIG9yIHJvb3QgaW5s
aW5lIGJveGVzKS4KLSAgICAgICAgICAgICAgICBpbmxpbmVDb250ZW50LnJ1bnMuYXBwZW5kKHsg
bGluZUluZGV4LCBsYXlvdXRCb3gsIHJ1blJlY3QsIGlua092ZXJmbG93LCB7IH0sIHsgfSB9KTsK
KyAgICAgICAgICAgICAgICBpbmxpbmVDb250ZW50LnJ1bnMuYXBwZW5kKHsgcnVuLmxpbmVJbmRl
eCgpLCBydW4ubGF5b3V0Qm94KCksIHJ1bi5sb2dpY2FsUmVjdCgpLCBydW4uaW5rT3ZlcmZsb3co
KSwgeyB9LCB7IH0gfSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAocnVuLmlzSW5s
aW5lQm94KCkpIHsKKyAgICAgICAgICAgICAgICBhdXRvIGhhc1Njcm9sbGFibGVDb250ZW50ID0g
WyZdIHsKKyAgICAgICAgICAgICAgICAgICAgLy8gSW4gc3RhbmRhcmRzIG1vZGUsIGlubGluZSBi
b3hlcyBhbHdheXMgc3RhcnQgd2l0aCBhbiBpbWFnaW5hcnkgc3RydXQuCisgICAgICAgICAgICAg
ICAgICAgIHJldHVybiBtX2xheW91dFN0YXRlLmluU3RhbmRhcmRzTW9kZSgpIHx8IHJ1bi5oYXND
b250ZW50KCkgfHwgZ2VvbWV0cnkuaG9yaXpvbnRhbEJvcmRlcigpIHx8IChnZW9tZXRyeS5ob3Jp
em9udGFsUGFkZGluZygpICYmIGdlb21ldHJ5Lmhvcml6b250YWxQYWRkaW5nKCkudmFsdWUoKSk7
CisgICAgICAgICAgICAgICAgfTsKKyAgICAgICAgICAgICAgICBpbmxpbmVDb250ZW50Lm5vblJv
b3RJbmxpbmVCb3hlcy5hcHBlbmQoeyBydW4ubGluZUluZGV4KCksIHJ1bi5sYXlvdXRCb3goKSwg
cnVuLmxvZ2ljYWxSZWN0KCksIGhhc1Njcm9sbGFibGVDb250ZW50KCkgfSk7CiAgICAgICAgICAg
ICB9Ci0gICAgICAgIH0gZWxzZQotICAgICAgICAgICAgaW5saW5lQ29udGVudC5ydW5zLmFwcGVu
ZCh7IGxpbmVJbmRleCwgbGF5b3V0Qm94LCBydW5SZWN0LCBpbmtPdmVyZmxvdywgeyB9LCB7IH0g
fSk7Ci0gICAgfTsKLQotICAgIGF1dG8gY3JlYXRlRGlzcGxheVRleHRSdW4gPSBbJl0oYXV0byYg
cnVuKSB7Ci0gICAgICAgIGF1dG8mIGxheW91dEJveCA9IHJ1bi5sYXlvdXRCb3goKTsKLSAgICAg
ICAgYXV0byBsaW5lSW5kZXggPSBydW4ubGluZUluZGV4KCk7Ci0gICAgICAgIGF1dG8gcnVuUmVj
dCA9IEZsb2F0UmVjdCB7IHJ1bi5sb2dpY2FsUmVjdCgpIH07Ci0gICAgICAgIGF1dG8gaW5rT3Zl
cmZsb3cgPSBGbG9hdFJlY3QgeyBydW4uaW5rT3ZlcmZsb3coKSB9OwotICAgICAgICBpZiAobGlu
ZXNbbGluZUluZGV4XS5uZWVkc0ludGVncmFsUG9zaXRpb24oKSkgewotICAgICAgICAgICAgcnVu
UmVjdC5zZXRZKHJvdW5kVG9JbnQocnVuUmVjdC55KCkpKTsKLSAgICAgICAgICAgIGlua092ZXJm
bG93LnNldFkocm91bmRUb0ludChpbmtPdmVyZmxvdy55KCkpKTsKICAgICAgICAgfQotCi0gICAg
ICAgIGF1dG8gdGV4dCA9IHJ1bi50ZXh0KCk7Ci0gICAgICAgIGlubGluZUNvbnRlbnQucnVucy5h
cHBlbmQoeyBsaW5lSW5kZXgKLSAgICAgICAgICAgICwgbGF5b3V0Qm94Ci0gICAgICAgICAgICAs
IHJ1blJlY3QKLSAgICAgICAgICAgICwgaW5rT3ZlcmZsb3cKLSAgICAgICAgICAgICwgUnVuOjpF
eHBhbnNpb24geyBydW4uZXhwYW5zaW9uKCkuYmVoYXZpb3IsIHJ1bi5leHBhbnNpb24oKS5ob3Jp
em9udGFsRXhwYW5zaW9uIH0KLSAgICAgICAgICAgICwgUnVuOjpUZXh0IHsgdGV4dC0+c3RhcnQo
KSwgdGV4dC0+bGVuZ3RoKCksIHRleHQtPm9yaWdpbmFsQ29udGVudCgpLCB0ZXh0LT5yZW5kZXJl
ZENvbnRlbnQoKSwgdGV4dC0+aGFzSHlwaGVuKCkgfSB9KTsKLSAgICB9OwotCi0gICAgaW5saW5l
Q29udGVudC5ydW5zLnJlc2VydmVJbml0aWFsQ2FwYWNpdHkocnVucy5zaXplKCkpOwotICAgIGZv
ciAoYXV0byYgcnVuIDogcnVucykgewotICAgICAgICBpZiAocnVuLnRleHQoKSkKLSAgICAgICAg
ICAgIGNyZWF0ZURpc3BsYXlUZXh0UnVuKHJ1bik7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAg
IGNyZWF0ZURpc3BsYXlCb3hSdW4ocnVuKTsKICAgICB9CiB9CiAKQEAgLTE1Miw2ICsxMTcsOSBA
QCB2b2lkIElubGluZUNvbnRlbnRCdWlsZGVyOjpjcmVhdGVEaXNwbGF5TGluZXMoY29uc3QgTGF5
b3V0OjpJbmxpbmVMaW5lcyYgbGluZXMsCiAgICAgICAgIC8vIENvbGxlY3Qgb3ZlcmZsb3cgZnJv
bSBydW5zLgogICAgICAgICBmb3IgKDsgcnVuSW5kZXggPCBydW5zLnNpemUoKSAmJiBydW5zW3J1
bkluZGV4XS5saW5lSW5kZXgoKSA9PSBsaW5lSW5kZXg7ICsrcnVuSW5kZXgpIHsKICAgICAgICAg
ICAgIGF1dG8mIHJ1biA9IHJ1bnNbcnVuSW5kZXhdOworICAgICAgICAgICAgaWYgKGxpbmUubmVl
ZHNJbnRlZ3JhbFBvc2l0aW9uKCkpCisgICAgICAgICAgICAgICAgcnVuLnNldFZlcnRpY2FsUG9z
aXRpb25JbnRlZ3JhbCgpOworCiAgICAgICAgICAgICBsaW5lSW5rT3ZlcmZsb3dSZWN0LnVuaXRl
KHJ1bi5pbmtPdmVyZmxvdygpKTsKIAogICAgICAgICAgICAgYXV0byYgbGF5b3V0Qm94ID0gcnVu
LmxheW91dEJveCgpOwpAQCAtMTczLDYgKzE0MSwxMCBAQCB2b2lkIElubGluZUNvbnRlbnRCdWls
ZGVyOjpjcmVhdGVEaXNwbGF5TGluZXMoY29uc3QgTGF5b3V0OjpJbmxpbmVMaW5lcyYgbGluZXMs
CiAgICAgICAgIC8vIENvbGxlY3Qgc2Nyb2xsYWJsZSBvdmVyZmxvdyBmcm9tIGlubGluZSBib3hl
cy4gQWxsIG90aGVyIGlubGluZSBsZXZlbCBib3hlcyAoZS5nIGF0b21pYyBpbmxpbmUgbGV2ZWwg
Ym94ZXMpIHN0cmV0Y2ggdGhlIGxpbmUuCiAgICAgICAgIHdoaWxlIChpbmxpbmVCb3hJbmRleCA8
IG5vblJvb3RJbmxpbmVCb3hlcy5zaXplKCkgJiYgbm9uUm9vdElubGluZUJveGVzW2lubGluZUJv
eEluZGV4XS5saW5lSW5kZXgoKSA9PSBsaW5lSW5kZXgpIHsKICAgICAgICAgICAgIGF1dG8mIGlu
bGluZUJveCA9IG5vblJvb3RJbmxpbmVCb3hlc1tpbmxpbmVCb3hJbmRleCsrXTsKKworICAgICAg
ICAgICAgaWYgKGxpbmUubmVlZHNJbnRlZ3JhbFBvc2l0aW9uKCkpCisgICAgICAgICAgICAgICAg
aW5saW5lQm94LnNldFZlcnRpY2FsUG9zaXRpb25JbnRlZ3JhbCgpOworCiAgICAgICAgICAgICBp
ZiAoaW5saW5lQm94Lmhhc1Njcm9sbGFibGVDb250ZW50KCkpCiAgICAgICAgICAgICAgICAgc2Ny
b2xsYWJsZU92ZXJmbG93UmVjdC51bml0ZShpbmxpbmVCb3gucmVjdCgpKTsKICAgICAgICAgfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVn
cmF0aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRl
Z3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnRCdWlsZGVyLmgKaW5kZXggMTZi
NTg3NGI2MzkxYTgyN2Q1NTFlM2MzOWUxYzY3NTU0MjJjNzQ2Ny4uMjA3ZWYxNDBmZDFmYjcxNzI1
ZTdhMmIxNDFlMjlmZDY4MTU5ODk5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25Jbmxp
bmVDb250ZW50QnVpbGRlci5oCkBAIC00Niw3ICs0Niw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGJ1
aWxkKGNvbnN0IExheW91dDo6SW5saW5lRm9ybWF0dGluZ1N0YXRlJiwgSW5saW5lQ29udGVudCYp
IGNvbnN0OwogCiBwcml2YXRlOgotICAgIHZvaWQgY3JlYXRlRGlzcGxheVJ1bnMoY29uc3QgTGF5
b3V0OjpJbmxpbmVMaW5lcyYsIGNvbnN0IExheW91dDo6SW5saW5lUnVucyYsIElubGluZUNvbnRl
bnQmKSBjb25zdDsKKyAgICB2b2lkIGNyZWF0ZURpc3BsYXlSdW5zKGNvbnN0IExheW91dDo6SW5s
aW5lUnVucyYsIElubGluZUNvbnRlbnQmKSBjb25zdDsKICAgICB2b2lkIGNyZWF0ZURpc3BsYXlM
aW5lcyhjb25zdCBMYXlvdXQ6OklubGluZUxpbmVzJiwgSW5saW5lQ29udGVudCYpIGNvbnN0Owog
CiAgICAgY29uc3QgTGF5b3V0OjpMYXlvdXRTdGF0ZSYgbV9sYXlvdXRTdGF0ZTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkxp
bmUuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlv
bkxpbmUuaAppbmRleCA5YWM3MTgyODE5MDJlMmY2MTlhM2I3MGJjZDFiYmEyNzg3NTMxZmU5Li45
MGRlZThkOTU3ZjA5YzFjNjBhOTBiNWJmNWEwZWMwOTQ3ZGZiOWVmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25MaW5lLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uTGlu
ZS5oCkBAIC0xMDMsNiArMTAzLDggQEAgcHVibGljOgogCiAgICAgRmxvYXRSZWN0IHJlY3QoKSBj
b25zdCB7IHJldHVybiBtX3JlY3Q7IH0KIAorICAgIHZvaWQgc2V0VmVydGljYWxQb3NpdGlvbklu
dGVncmFsKCkgeyBtX3JlY3Quc2V0WShyb3VuZFRvSW50KG1fcmVjdC55KCkpKTsgfQorCiAgICAg
Ym9vbCBoYXNTY3JvbGxhYmxlQ29udGVudCgpIGNvbnN0IHsgcmV0dXJuIG1faGFzU2Nyb2xsYWJs
ZUNvbnRlbnQ7IH0KIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvblJ1bi5oIGIvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uUnVuLmgKaW5kZXggZWUxZTQ1MGY3YmE0
OWMyMDUzMzY3MmJhOTAyNmY2MmI1MmE5MDgxNS4uZDc4NzYyNWRjY2Q3YzQ0YjNkYmNjNDNlMzI3
Y2FmNWJiM2Y1YmVlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0
aW9uL0xheW91dEludGVncmF0aW9uUnVuLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lu
dGVncmF0aW9uL0xheW91dEludGVncmF0aW9uUnVuLmgKQEAgLTY2LDYgKzY2LDggQEAgc3RydWN0
IFJ1biB7CiAgICAgY29uc3QgRmxvYXRSZWN0JiBsb2dpY2FsUmVjdCgpIGNvbnN0IHsgcmV0dXJu
IG1fcmVjdDsgfQogICAgIGNvbnN0IEZsb2F0UmVjdCYgaW5rT3ZlcmZsb3coKSBjb25zdCB7IHJl
dHVybiBtX2lua092ZXJmbG93OyB9CiAKKyAgICB2b2lkIHNldFZlcnRpY2FsUG9zaXRpb25JbnRl
Z3JhbCgpOworCiAgICAgc3RkOjpvcHRpb25hbDxUZXh0PiYgdGV4dCgpIHsgcmV0dXJuIG1fdGV4
dDsgfQogICAgIGNvbnN0IHN0ZDo6b3B0aW9uYWw8VGV4dD4mIHRleHQoKSBjb25zdCB7IHJldHVy
biBtX3RleHQ7IH0KICAgICAvLyBGSVhNRTogVGhpcyBpbmZvcm1hdGlvbiBzaG91bGQgYmUgcHJl
c2VydmVkIGF0IFJ1biBjb25zdHJ1Y3Rpb24gdGltZS4KQEAgLTExNCw2ICsxMTYsMTIgQEAgaW5s
aW5lIFJ1bjo6VGV4dDo6VGV4dChzaXplX3Qgc3RhcnQsIHNpemVfdCBsZW5ndGgsIGNvbnN0IFN0
cmluZyYgb3JpZ2luYWxDb250ZW4KIHsKIH0KIAoraW5saW5lIHZvaWQgUnVuOjpzZXRWZXJ0aWNh
bFBvc2l0aW9uSW50ZWdyYWwoKQoreworICAgIG1fcmVjdC5zZXRZKHJvdW5kVG9JbnQobV9yZWN0
LnkoKSkpOworICAgIG1faW5rT3ZlcmZsb3cuc2V0WShyb3VuZFRvSW50KG1faW5rT3ZlcmZsb3cu
eSgpKSk7Cit9CisKIH0KIH0KICNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>436881</attachid>
            <date>2021-08-31 06:49:07 -0700</date>
            <delta_ts>2021-08-31 08:24:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229679-20210831064907.patch</filename>
            <type>text/plain</type>
            <size>10368</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxODAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmU3ZThkYTYyYTdlZDhj
ZmM4N2QwNGZlNmQ3MTkxZWY0ZTM2YjkxZC4uZDU2NTM5N2JmYWIxZDE4NzAwM2IzYTVmMDZlYTQ3
YmRlZjU1MThkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIxLTA4LTMxICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbSUZDXVtJbnRlZ3JhdGlvbl0g
TW92ZSBpbnRlZ3JhbCB2ZXJ0aWNhbCBwb3NpdGlvbiBhZGp1c3RtZW50IG92ZXIgdG8gY3JlYXRl
RGlzcGxheUxpbmVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMjk2NzkKKworICAgICAgICBSZXZpZXdlZCBieSBBbnR0aSBLb2l2aXN0by4KKworICAg
ICAgICBUaGlzIGlzIGluIHByZXBhcmF0aW9uIGZvciBub3QgY29uc3RydWN0aW5nIHRleHQgcnVu
cyBpbiBJbmxpbmVDb250ZW50QnVpbGRlcjo6Y3JlYXRlRGlzcGxheUxpbmVSdW5zLgorCisgICAg
ICAgICogbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uSW5saW5lQ29udGVudEJ1
aWxkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0SW50ZWdyYXRpb246OklubGluZUNv
bnRlbnRCdWlsZGVyOjpidWlsZCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXRJbnRl
Z3JhdGlvbjo6SW5saW5lQ29udGVudEJ1aWxkZXI6OmNyZWF0ZURpc3BsYXlMaW5lUnVucyBjb25z
dCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXRJbnRlZ3JhdGlvbjo6SW5saW5lQ29udGVudEJ1
aWxkZXI6OmNyZWF0ZURpc3BsYXlMaW5lcyBjb25zdCk6CisgICAgICAgICogbGF5b3V0L2ludGVn
cmF0aW9uL0xheW91dEludGVncmF0aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuaDoKKyAgICAgICAg
KiBsYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25MaW5lLmg6CisgICAgICAgIChX
ZWJDb3JlOjpMYXlvdXRJbnRlZ3JhdGlvbjo6Tm9uUm9vdElubGluZUJveDo6c2V0VmVydGljYWxQ
b3NpdGlvbkludGVncmFsKToKKyAgICAgICAgKiBsYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50
ZWdyYXRpb25SdW4uaDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dEludGVncmF0aW9uOjpSdW46
OnNldFZlcnRpY2FsUG9zaXRpb25JbnRlZ3JhbCk6CisKIDIwMjEtMDgtMzEgIEFsYW4gQnVqdGFz
ICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtMRkNdW0ludGVncmF0aW9uXSBNYWtlIG5h
bWluZyBtb3JlIGNvbnNpc3RlbnQgYWNyb3NzIExheW91dDo6UnVuIGFuZCBJbnRlZ3JhdGlvbjo6
UnVuIHN0cnVjdHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlv
bi9MYXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnRCdWlsZGVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnRCdWls
ZGVyLmNwcAppbmRleCBlNDAxNTYyOGUxY2EyNzZhZmJjODAzYjliZGYzMWYwMTIxNGExMDg0Li5j
OTRiYjYzYmYxZWJkYWUzN2U5YTdjY2UyZjBjZjRkNzZlMjFkYWY5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250
ZW50QnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xh
eW91dEludGVncmF0aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuY3BwCkBAIC02Nyw3MCArNjcsMzUg
QEAgSW5saW5lQ29udGVudEJ1aWxkZXI6OklubGluZUNvbnRlbnRCdWlsZGVyKGNvbnN0IExheW91
dDo6TGF5b3V0U3RhdGUmIGxheW91dFN0YXQKIAogdm9pZCBJbmxpbmVDb250ZW50QnVpbGRlcjo6
YnVpbGQoY29uc3QgTGF5b3V0OjpJbmxpbmVGb3JtYXR0aW5nU3RhdGUmIGlubGluZUZvcm1hdHRp
bmdTdGF0ZSwgSW5saW5lQ29udGVudCYgaW5saW5lQ29udGVudCkgY29uc3QKIHsKLSAgICBjcmVh
dGVEaXNwbGF5UnVucyhpbmxpbmVGb3JtYXR0aW5nU3RhdGUubGluZXMoKSwgaW5saW5lRm9ybWF0
dGluZ1N0YXRlLnJ1bnMoKSwgaW5saW5lQ29udGVudCk7CisgICAgY3JlYXRlRGlzcGxheVJ1bnMo
aW5saW5lRm9ybWF0dGluZ1N0YXRlLnJ1bnMoKSwgaW5saW5lQ29udGVudCk7CiAgICAgY3JlYXRl
RGlzcGxheUxpbmVzKGlubGluZUZvcm1hdHRpbmdTdGF0ZS5saW5lcygpLCBpbmxpbmVDb250ZW50
KTsKIH0KIAotdm9pZCBJbmxpbmVDb250ZW50QnVpbGRlcjo6Y3JlYXRlRGlzcGxheVJ1bnMoY29u
c3QgTGF5b3V0OjpJbmxpbmVMaW5lcyYgbGluZXMsIGNvbnN0IExheW91dDo6SW5saW5lUnVucyYg
cnVucywgSW5saW5lQ29udGVudCYgaW5saW5lQ29udGVudCkgY29uc3QKK3ZvaWQgSW5saW5lQ29u
dGVudEJ1aWxkZXI6OmNyZWF0ZURpc3BsYXlSdW5zKGNvbnN0IExheW91dDo6SW5saW5lUnVucyYg
cnVucywgSW5saW5lQ29udGVudCYgaW5saW5lQ29udGVudCkgY29uc3QKIHsKICAgICBpZiAocnVu
cy5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIGF1dG8gY3JlYXRlRGlzcGxheUJv
eFJ1biA9IFsmXShhdXRvJiBydW4pIHsKLSAgICAgICAgaWYgKHJ1bi5pc1Jvb3RJbmxpbmVCb3go
KSkgeworICAgIGlubGluZUNvbnRlbnQucnVucy5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KHJ1bnMu
c2l6ZSgpKTsKKyAgICBmb3IgKGF1dG8mIHJ1biA6IHJ1bnMpIHsKKyAgICAgICAgaWYgKGF1dG8g
dGV4dCA9IHJ1bi50ZXh0KCkpIHsKKyAgICAgICAgICAgIGlubGluZUNvbnRlbnQucnVucy5hcHBl
bmQoeyBydW4ubGluZUluZGV4KCksIHJ1bi5sYXlvdXRCb3goKSwgcnVuLmxvZ2ljYWxSZWN0KCks
IHJ1bi5pbmtPdmVyZmxvdygpLCBSdW46OkV4cGFuc2lvbiB7IHJ1bi5leHBhbnNpb24oKS5iZWhh
dmlvciwgcnVuLmV4cGFuc2lvbigpLmhvcml6b250YWxFeHBhbnNpb24gfQorICAgICAgICAgICAg
ICAgICwgUnVuOjpUZXh0IHsgdGV4dC0+c3RhcnQoKSwgdGV4dC0+bGVuZ3RoKCksIHRleHQtPm9y
aWdpbmFsQ29udGVudCgpLCB0ZXh0LT5yZW5kZXJlZENvbnRlbnQoKSwgdGV4dC0+aGFzSHlwaGVu
KCkgfSB9KTsKKyAgICAgICAgfSBlbHNlIGlmICghcnVuLmlzUm9vdElubGluZUJveCgpKSB7CiAg
ICAgICAgICAgICAvLyBGSVhNRTogVGVhY2ggdGhlIHJ1biBpdGVyYXRvcnMgdG8gaWdub3JlIHRo
ZSByb290IGlubGluZSBib3ggcnVucy4KLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfQot
ICAgICAgICBhdXRvJiBsYXlvdXRCb3ggPSBydW4ubGF5b3V0Qm94KCk7Ci0gICAgICAgIGF1dG8g
bGluZUluZGV4ID0gcnVuLmxpbmVJbmRleCgpOwotICAgICAgICBhdXRvIHJ1blJlY3QgPSBGbG9h
dFJlY3QgeyBydW4ubG9naWNhbFJlY3QoKSB9OwotICAgICAgICBhdXRvIGlua092ZXJmbG93ID0g
RmxvYXRSZWN0IHsgcnVuLmlua092ZXJmbG93KCkgfTsKLSAgICAgICAgYXV0byYgZ2VvbWV0cnkg
PSBtX2xheW91dFN0YXRlLmdlb21ldHJ5Rm9yQm94KGxheW91dEJveCk7Ci0gICAgICAgIHJ1blJl
Y3Quc2V0U2l6ZSh7IGdlb21ldHJ5LmJvcmRlckJveFdpZHRoKCksIGdlb21ldHJ5LmJvcmRlckJv
eEhlaWdodCgpIH0pOwotICAgICAgICBpZiAobGluZXNbbGluZUluZGV4XS5uZWVkc0ludGVncmFs
UG9zaXRpb24oKSkgewotICAgICAgICAgICAgcnVuUmVjdC5zZXRZKHJvdW5kVG9JbnQocnVuUmVj
dC55KCkpKTsKLSAgICAgICAgICAgIGlua092ZXJmbG93LnNldFkocm91bmRUb0ludChpbmtPdmVy
Zmxvdy55KCkpKTsKLSAgICAgICAgfQotICAgICAgICBpZiAocnVuLmlzSW5saW5lQm94KCkpIHsK
LSAgICAgICAgICAgIGF1dG8gcnVuUmVjdCA9IHJ1bi5sb2dpY2FsUmVjdCgpOwotICAgICAgICAg
ICAgYXV0byBoYXNTY3JvbGxhYmxlQ29udGVudCA9IFsmXSB7Ci0gICAgICAgICAgICAgICAgLy8g
SW4gc3RhbmRhcmRzIG1vZGUsIGlubGluZSBib3hlcyBhbHdheXMgc3RhcnQgd2l0aCBhbiBpbWFn
aW5hcnkgc3RydXQuCi0gICAgICAgICAgICAgICAgcmV0dXJuIG1fbGF5b3V0U3RhdGUuaW5TdGFu
ZGFyZHNNb2RlKCkgfHwgcnVuLmhhc0NvbnRlbnQoKSB8fCBnZW9tZXRyeS5ob3Jpem9udGFsQm9y
ZGVyKCkgfHwgKGdlb21ldHJ5Lmhvcml6b250YWxQYWRkaW5nKCkgJiYgZ2VvbWV0cnkuaG9yaXpv
bnRhbFBhZGRpbmcoKS52YWx1ZSgpKTsKLSAgICAgICAgICAgIH07Ci0gICAgICAgICAgICBpbmxp
bmVDb250ZW50Lm5vblJvb3RJbmxpbmVCb3hlcy5hcHBlbmQoeyBsaW5lSW5kZXgsIGxheW91dEJv
eCwgcnVuUmVjdCwgaGFzU2Nyb2xsYWJsZUNvbnRlbnQoKSB9KTsKLSAgICAgICAgICAgIGlmICgh
cnVuLmlzTGluZVNwYW5uaW5nKCkpIHsKKyAgICAgICAgICAgIGF1dG8mIGdlb21ldHJ5ID0gbV9s
YXlvdXRTdGF0ZS5nZW9tZXRyeUZvckJveChydW4ubGF5b3V0Qm94KCkpOworICAgICAgICAgICAg
aWYgKCFydW4uaXNJbmxpbmVCb3goKSB8fCAhcnVuLmlzTGluZVNwYW5uaW5nKCkpIHsKICAgICAg
ICAgICAgICAgICAvLyBGSVhNRTogUnVuIGl0ZXJhdG9ycyB3aXRoICh0ZXh0KXJ1bnMgc3Bhbm5p
bmcgb3ZlciBtdWx0aXBsZSBsaW5lcyBleHBlY3Qgbm8gImluLWJldHdlZW4iIHJ1bnMgKGUuZy4g
bGluZSBzcGFubmluZyBvciByb290IGlubGluZSBib3hlcykuCi0gICAgICAgICAgICAgICAgaW5s
aW5lQ29udGVudC5ydW5zLmFwcGVuZCh7IGxpbmVJbmRleCwgbGF5b3V0Qm94LCBydW5SZWN0LCBp
bmtPdmVyZmxvdywgeyB9LCB7IH0gfSk7CisgICAgICAgICAgICAgICAgaW5saW5lQ29udGVudC5y
dW5zLmFwcGVuZCh7IHJ1bi5saW5lSW5kZXgoKSwgcnVuLmxheW91dEJveCgpLCBydW4ubG9naWNh
bFJlY3QoKSwgcnVuLmlua092ZXJmbG93KCksIHsgfSwgeyB9IH0pOworICAgICAgICAgICAgfQor
ICAgICAgICAgICAgaWYgKHJ1bi5pc0lubGluZUJveCgpKSB7CisgICAgICAgICAgICAgICAgYXV0
byBoYXNTY3JvbGxhYmxlQ29udGVudCA9IFsmXSB7CisgICAgICAgICAgICAgICAgICAgIC8vIElu
IHN0YW5kYXJkcyBtb2RlLCBpbmxpbmUgYm94ZXMgYWx3YXlzIHN0YXJ0IHdpdGggYW4gaW1hZ2lu
YXJ5IHN0cnV0LgorICAgICAgICAgICAgICAgICAgICByZXR1cm4gbV9sYXlvdXRTdGF0ZS5pblN0
YW5kYXJkc01vZGUoKSB8fCBydW4uaGFzQ29udGVudCgpIHx8IGdlb21ldHJ5Lmhvcml6b250YWxC
b3JkZXIoKSB8fCAoZ2VvbWV0cnkuaG9yaXpvbnRhbFBhZGRpbmcoKSAmJiBnZW9tZXRyeS5ob3Jp
em9udGFsUGFkZGluZygpLnZhbHVlKCkpOworICAgICAgICAgICAgICAgIH07CisgICAgICAgICAg
ICAgICAgaW5saW5lQ29udGVudC5ub25Sb290SW5saW5lQm94ZXMuYXBwZW5kKHsgcnVuLmxpbmVJ
bmRleCgpLCBydW4ubGF5b3V0Qm94KCksIHJ1bi5sb2dpY2FsUmVjdCgpLCBoYXNTY3JvbGxhYmxl
Q29udGVudCgpIH0pOwogICAgICAgICAgICAgfQotICAgICAgICB9IGVsc2UKLSAgICAgICAgICAg
IGlubGluZUNvbnRlbnQucnVucy5hcHBlbmQoeyBsaW5lSW5kZXgsIGxheW91dEJveCwgcnVuUmVj
dCwgaW5rT3ZlcmZsb3csIHsgfSwgeyB9IH0pOwotICAgIH07Ci0KLSAgICBhdXRvIGNyZWF0ZURp
c3BsYXlUZXh0UnVuID0gWyZdKGF1dG8mIHJ1bikgewotICAgICAgICBhdXRvJiBsYXlvdXRCb3gg
PSBydW4ubGF5b3V0Qm94KCk7Ci0gICAgICAgIGF1dG8gbGluZUluZGV4ID0gcnVuLmxpbmVJbmRl
eCgpOwotICAgICAgICBhdXRvIHJ1blJlY3QgPSBGbG9hdFJlY3QgeyBydW4ubG9naWNhbFJlY3Qo
KSB9OwotICAgICAgICBhdXRvIGlua092ZXJmbG93ID0gRmxvYXRSZWN0IHsgcnVuLmlua092ZXJm
bG93KCkgfTsKLSAgICAgICAgaWYgKGxpbmVzW2xpbmVJbmRleF0ubmVlZHNJbnRlZ3JhbFBvc2l0
aW9uKCkpIHsKLSAgICAgICAgICAgIHJ1blJlY3Quc2V0WShyb3VuZFRvSW50KHJ1blJlY3QueSgp
KSk7Ci0gICAgICAgICAgICBpbmtPdmVyZmxvdy5zZXRZKHJvdW5kVG9JbnQoaW5rT3ZlcmZsb3cu
eSgpKSk7CiAgICAgICAgIH0KLQotICAgICAgICBhdXRvIHRleHQgPSBydW4udGV4dCgpOwotICAg
ICAgICBpbmxpbmVDb250ZW50LnJ1bnMuYXBwZW5kKHsgbGluZUluZGV4Ci0gICAgICAgICAgICAs
IGxheW91dEJveAotICAgICAgICAgICAgLCBydW5SZWN0Ci0gICAgICAgICAgICAsIGlua092ZXJm
bG93Ci0gICAgICAgICAgICAsIFJ1bjo6RXhwYW5zaW9uIHsgcnVuLmV4cGFuc2lvbigpLmJlaGF2
aW9yLCBydW4uZXhwYW5zaW9uKCkuaG9yaXpvbnRhbEV4cGFuc2lvbiB9Ci0gICAgICAgICAgICAs
IFJ1bjo6VGV4dCB7IHRleHQtPnN0YXJ0KCksIHRleHQtPmxlbmd0aCgpLCB0ZXh0LT5vcmlnaW5h
bENvbnRlbnQoKSwgdGV4dC0+cmVuZGVyZWRDb250ZW50KCksIHRleHQtPmhhc0h5cGhlbigpIH0g
fSk7Ci0gICAgfTsKLQotICAgIGlubGluZUNvbnRlbnQucnVucy5yZXNlcnZlSW5pdGlhbENhcGFj
aXR5KHJ1bnMuc2l6ZSgpKTsKLSAgICBmb3IgKGF1dG8mIHJ1biA6IHJ1bnMpIHsKLSAgICAgICAg
aWYgKHJ1bi50ZXh0KCkpCi0gICAgICAgICAgICBjcmVhdGVEaXNwbGF5VGV4dFJ1bihydW4pOwot
ICAgICAgICBlbHNlCi0gICAgICAgICAgICBjcmVhdGVEaXNwbGF5Qm94UnVuKHJ1bik7CiAgICAg
fQogfQogCkBAIC0xNTIsNiArMTE3LDkgQEAgdm9pZCBJbmxpbmVDb250ZW50QnVpbGRlcjo6Y3Jl
YXRlRGlzcGxheUxpbmVzKGNvbnN0IExheW91dDo6SW5saW5lTGluZXMmIGxpbmVzLAogICAgICAg
ICAvLyBDb2xsZWN0IG92ZXJmbG93IGZyb20gcnVucy4KICAgICAgICAgZm9yICg7IHJ1bkluZGV4
IDwgcnVucy5zaXplKCkgJiYgcnVuc1tydW5JbmRleF0ubGluZUluZGV4KCkgPT0gbGluZUluZGV4
OyArK3J1bkluZGV4KSB7CiAgICAgICAgICAgICBhdXRvJiBydW4gPSBydW5zW3J1bkluZGV4XTsK
KyAgICAgICAgICAgIGlmIChsaW5lLm5lZWRzSW50ZWdyYWxQb3NpdGlvbigpKQorICAgICAgICAg
ICAgICAgIHJ1bi5zZXRWZXJ0aWNhbFBvc2l0aW9uSW50ZWdyYWwoKTsKKwogICAgICAgICAgICAg
bGluZUlua092ZXJmbG93UmVjdC51bml0ZShydW4uaW5rT3ZlcmZsb3coKSk7CiAKICAgICAgICAg
ICAgIGF1dG8mIGxheW91dEJveCA9IHJ1bi5sYXlvdXRCb3goKTsKQEAgLTE3Myw2ICsxNDEsMTAg
QEAgdm9pZCBJbmxpbmVDb250ZW50QnVpbGRlcjo6Y3JlYXRlRGlzcGxheUxpbmVzKGNvbnN0IExh
eW91dDo6SW5saW5lTGluZXMmIGxpbmVzLAogICAgICAgICAvLyBDb2xsZWN0IHNjcm9sbGFibGUg
b3ZlcmZsb3cgZnJvbSBpbmxpbmUgYm94ZXMuIEFsbCBvdGhlciBpbmxpbmUgbGV2ZWwgYm94ZXMg
KGUuZyBhdG9taWMgaW5saW5lIGxldmVsIGJveGVzKSBzdHJldGNoIHRoZSBsaW5lLgogICAgICAg
ICB3aGlsZSAoaW5saW5lQm94SW5kZXggPCBub25Sb290SW5saW5lQm94ZXMuc2l6ZSgpICYmIG5v
blJvb3RJbmxpbmVCb3hlc1tpbmxpbmVCb3hJbmRleF0ubGluZUluZGV4KCkgPT0gbGluZUluZGV4
KSB7CiAgICAgICAgICAgICBhdXRvJiBpbmxpbmVCb3ggPSBub25Sb290SW5saW5lQm94ZXNbaW5s
aW5lQm94SW5kZXgrK107CisKKyAgICAgICAgICAgIGlmIChsaW5lLm5lZWRzSW50ZWdyYWxQb3Np
dGlvbigpKQorICAgICAgICAgICAgICAgIGlubGluZUJveC5zZXRWZXJ0aWNhbFBvc2l0aW9uSW50
ZWdyYWwoKTsKKwogICAgICAgICAgICAgaWYgKGlubGluZUJveC5oYXNTY3JvbGxhYmxlQ29udGVu
dCgpKQogICAgICAgICAgICAgICAgIHNjcm9sbGFibGVPdmVyZmxvd1JlY3QudW5pdGUoaW5saW5l
Qm94LnJlY3QoKSk7CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnRCdWlsZGVyLmggYi9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVD
b250ZW50QnVpbGRlci5oCmluZGV4IDE2YjU4NzRiNjM5MWE4MjdkNTUxZTNjMzllMWM2NzU1NDIy
Yzc0NjcuLjIwN2VmMTQwZmQxZmI3MTcyNWU3YTJiMTQxZTI5ZmQ2ODE1OTg5OTYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbklu
bGluZUNvbnRlbnRCdWlsZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0
aW9uL0xheW91dEludGVncmF0aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuaApAQCAtNDYsNyArNDYs
NyBAQCBwdWJsaWM6CiAgICAgdm9pZCBidWlsZChjb25zdCBMYXlvdXQ6OklubGluZUZvcm1hdHRp
bmdTdGF0ZSYsIElubGluZUNvbnRlbnQmKSBjb25zdDsKIAogcHJpdmF0ZToKLSAgICB2b2lkIGNy
ZWF0ZURpc3BsYXlSdW5zKGNvbnN0IExheW91dDo6SW5saW5lTGluZXMmLCBjb25zdCBMYXlvdXQ6
OklubGluZVJ1bnMmLCBJbmxpbmVDb250ZW50JikgY29uc3Q7CisgICAgdm9pZCBjcmVhdGVEaXNw
bGF5UnVucyhjb25zdCBMYXlvdXQ6OklubGluZVJ1bnMmLCBJbmxpbmVDb250ZW50JikgY29uc3Q7
CiAgICAgdm9pZCBjcmVhdGVEaXNwbGF5TGluZXMoY29uc3QgTGF5b3V0OjpJbmxpbmVMaW5lcyYs
IElubGluZUNvbnRlbnQmKSBjb25zdDsKIAogICAgIGNvbnN0IExheW91dDo6TGF5b3V0U3RhdGUm
IG1fbGF5b3V0U3RhdGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdy
YXRpb24vTGF5b3V0SW50ZWdyYXRpb25MaW5lLmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50
ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25MaW5lLmgKaW5kZXggOWFjNzE4MjgxOTAyZTJmNjE5
YTNiNzBiY2QxYmJhMjc4NzUzMWZlOS4uOTBkZWU4ZDk1N2YwOWMxYzYwYTkwYjViZjVhMGVjMDk0
N2RmYjllZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xh
eW91dEludGVncmF0aW9uTGluZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3Jh
dGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmUuaApAQCAtMTAzLDYgKzEwMyw4IEBAIHB1YmxpYzoK
IAogICAgIEZsb2F0UmVjdCByZWN0KCkgY29uc3QgeyByZXR1cm4gbV9yZWN0OyB9CiAKKyAgICB2
b2lkIHNldFZlcnRpY2FsUG9zaXRpb25JbnRlZ3JhbCgpIHsgbV9yZWN0LnNldFkocm91bmRUb0lu
dChtX3JlY3QueSgpKSk7IH0KKwogICAgIGJvb2wgaGFzU2Nyb2xsYWJsZUNvbnRlbnQoKSBjb25z
dCB7IHJldHVybiBtX2hhc1Njcm9sbGFibGVDb250ZW50OyB9CiAKIHByaXZhdGU6CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25S
dW4uaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlv
blJ1bi5oCmluZGV4IGExOThmNmViNjU3ZDg5OThlY2Y1NTQ4YzUzMjFlNjYwOWRhYThmN2MuLmYz
NzdiZmVlYWViMGQxZWUzZjEwOWIxNjY1ZmFlZjMxMTQxZWM4MjQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvblJ1bi5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvblJ1bi5o
CkBAIC02Niw2ICs2Niw4IEBAIHN0cnVjdCBSdW4gewogICAgIGNvbnN0IEZsb2F0UmVjdCYgbG9n
aWNhbFJlY3QoKSBjb25zdCB7IHJldHVybiBtX3JlY3Q7IH0KICAgICBjb25zdCBGbG9hdFJlY3Qm
IGlua092ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gbV9pbmtPdmVyZmxvdzsgfQogCisgICAgdm9p
ZCBzZXRWZXJ0aWNhbFBvc2l0aW9uSW50ZWdyYWwoKTsKKwogICAgIHN0ZDo6b3B0aW9uYWw8VGV4
dD4mIHRleHQoKSB7IHJldHVybiBtX3RleHQ7IH0KICAgICBjb25zdCBzdGQ6Om9wdGlvbmFsPFRl
eHQ+JiB0ZXh0KCkgY29uc3QgeyByZXR1cm4gbV90ZXh0OyB9CiAgICAgLy8gRklYTUU6IFRoaXMg
aW5mb3JtYXRpb24gc2hvdWxkIGJlIHByZXNlcnZlZCBhdCBSdW4gY29uc3RydWN0aW9uIHRpbWUu
CkBAIC0xMTYsNiArMTE4LDEyIEBAIGlubGluZSBSdW46OlRleHQ6OlRleHQoc2l6ZV90IHN0YXJ0
LCBzaXplX3QgbGVuZ3RoLCBjb25zdCBTdHJpbmcmIG9yaWdpbmFsQ29udGVuCiB7CiB9CiAKK2lu
bGluZSB2b2lkIFJ1bjo6c2V0VmVydGljYWxQb3NpdGlvbkludGVncmFsKCkKK3sKKyAgICBtX3Jl
Y3Quc2V0WShyb3VuZFRvSW50KG1fcmVjdC55KCkpKTsKKyAgICBtX2lua092ZXJmbG93LnNldFko
cm91bmRUb0ludChtX2lua092ZXJmbG93LnkoKSkpOworfQorCiB9CiB9CiAjZW5kaWYK
</data>

          </attachment>
      

    </bug>

</bugzilla>