<?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>235627</bug_id>
          
          <creation_ts>2022-01-25 21:13:11 -0800</creation_ts>
          <short_desc>REGRESSION (r281306): Non-breaking space incorrectly collapsed when webkit-nbsp-mode is set to &quot;space&quot;</short_desc>
          <delta_ts>2022-01-26 15:55:03 -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>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1833981</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2022-01-25 21:13:11 -0800</bug_when>
    <thetext>ssia</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1833982</commentid>
    <comment_count>1</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2022-01-25 21:13:41 -0800</bug_when>
    <thetext>&lt;rdar://88004831&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1833984</commentid>
    <comment_count>2</comment_count>
      <attachid>449996</attachid>
    <who name="alan">zalan</who>
    <bug_when>2022-01-25 21:40:13 -0800</bug_when>
    <thetext>Created attachment 449996
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1834182</commentid>
    <comment_count>3</comment_count>
      <attachid>450040</attachid>
    <who name="alan">zalan</who>
    <bug_when>2022-01-26 11:19:09 -0800</bug_when>
    <thetext>Created attachment 450040
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1834319</commentid>
    <comment_count>4</comment_count>
      <attachid>450078</attachid>
    <who name="alan">zalan</who>
    <bug_when>2022-01-26 15:24:43 -0800</bug_when>
    <thetext>Created attachment 450078
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1834336</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-01-26 15:54:59 -0800</bug_when>
    <thetext>Committed r288650 (246458@main): &lt;https://commits.webkit.org/246458@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 450078.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449996</attachid>
            <date>2022-01-25 21:40:13 -0800</date>
            <delta_ts>2022-01-26 11:19:07 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235627-20220125214012.patch</filename>
            <type>text/plain</type>
            <size>21107</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4NDIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWYzYjcxMjMzZDEzY2Ji
M2ZkYjA3NTNhMjUzYTlkZDU5MWUyMWExYy4uMmE4NjAzZmRiNmEzOTg4MGYwZDMzMzI1YzFhMjAz
NDY5MWNlYjU1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDIyLTAxLTI1ICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OIChyMjgxMzA2
KTogTm9uLWJyZWFraW5nIHNwYWNlIGluY29ycmVjdGx5IGNvbGxhcHNlZCB3aGVuIHdlYmtpdC1u
YnNwLW1vZGUgaXMgc2V0IHRvICJzcGFjZSIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIzNTYyNworICAgICAgICA8cmRhcjovLzg4MDA0ODMxPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICItd2Via2l0LW5i
c3AtbW9kZTogc3BhY2UiIGhhcyBhIHBlY3VsaWFyIGNvbGxhcHNpbmcgYmVoYXZpb3IuIEl0IG9u
bHkgY29sbGFwc2VzIGFzIGxlYWRpbmcgY29udGVudAorICAgICAgICBwcmVjZWRlZCBieSBmb3Jj
ZWQgbGluZSBicmVhay4KKworICAgICAgICA8ZGl2IHN0eWxlPSItd2Via2l0LW5ic3AtbW9kZTog
c3BhY2U7IHdpZHRoOiAwcHg7Ij4KKyAgICAgICAgICBmaXJzdF9saW5lJm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7c2Vjb25kX2xpbmUKKyAgICAgICAgPC9kaXY+CisgICAgICAgIFRoZSBu
b24tYnJlYWtpbmcgc3BhY2UgaXMgY29sbGFwc2VkLiBJdCBkb2VzIG5vdCBzaG93IG9uIHRoZSBz
ZWNvbmQgbGluZSBhcyBsZWFkaW5nIGNvbnRlbnQuCisKKyAgICAgICAgPGRpdiBzdHlsZT0iLXdl
YmtpdC1uYnNwLW1vZGU6IHNwYWNlOyB3aWR0aDogMHB4OyI+CisgICAgICAgICAgZmlyc3RfbGlu
ZTxicj4KKyAgICAgICAgICAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtzZWNvbmRfbGlu
ZQorICAgICAgICA8L2Rpdj4KKyAgICAgICAgVGhlIG5vbi1icmVha2luZyBzcGFjZSBpcyBOT1Qg
Y29sbGFwc2VkLiBJdCBzaG93cyB1cCBhcyBsZWFkaW5nIGNvbnRlbnQgb24gdGhlIHNlY29uZCBs
aW5lLCBpbmRlbnRpbmcgdGhlICJzZWNvbmRfbGluZSIgdGV4dCBjb250ZW50LgorCisgICAgICAg
IFRvIG1pbWljIHRoaXMgbGVnYWN5IGJlaGF2aW9yLCBpdCdzIGVhc2llciBqdXN0IHRvIHN3aXRj
aCBiYWNrIHRvIGhhbmRsaW5nIG5ic3A7IGFzIGEgbm9uLXdoaXRlc3BhY2UgaW5saW5lIGl0ZW0g
YW5kCisgICAgICAgIGNvbGxhcHNlIGl0IGFzIGxlYWRpbmcgY29udGVudCAoZGVwZW5kaW5nIG9u
IHRoZSBicmVha2luZyBjb250ZXh0KS4KKyAgICAgICAgKGFzIG9wcG9zZWQgdG8gY3VzdG9taXpl
IHJlZ3VsYXIgd2hpdGVzcGFjZSBjb250ZW50IGNvbGxhcHNpbmcgYmVoYXZpb3IganVzdCB0byBz
dXBwb3J0IHRoaXMgcXVpcmspCisKKyAgICAgICAgVGVzdDogZmFzdC90ZXh0L2NvbGxhcHNpYmxl
LW5vbi1icmVha2luZy1zcGFjZS5odG1sCisKKyAgICAgICAgKiBsYXlvdXQvZm9ybWF0dGluZ0Nv
bnRleHRzL2lubGluZS9JbmxpbmVJdGVtc0J1aWxkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
TGF5b3V0Ojptb3ZlVG9OZXh0Tm9uV2hpdGVzcGFjZVBvc2l0aW9uKTogcmVtb3ZlIHNwZWNpYWwg
bmJzcDsgaGFuZGxpbmcKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6SW5saW5lSXRlbXNCdWls
ZGVyOjpoYW5kbGVUZXh0Q29udGVudCk6IGNyZWF0ZSBhbiBpbmxpbmUgdGV4dCBpdGVtIGZvciB0
aGUgc3BlY2lhbCBtb24tYnJlYWtpbmcgc3BhY2UgY29udGVudC4gCisgICAgICAgICogbGF5b3V0
L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpMYXlvdXQ6OkxpbmU6OmluaXRpYWxpemUpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0
OjpMaW5lOjphcHBlbmRUZXh0Q29udGVudCk6CisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdD
b250ZXh0cy9pbmxpbmUvSW5saW5lTGluZS5oOgorICAgICAgICAqIGxheW91dC9mb3JtYXR0aW5n
Q29udGV4dHMvaW5saW5lL0lubGluZUxpbmVCdWlsZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkxheW91dDo6TGluZUJ1aWxkZXI6OmlubGluZUl0ZW1XaWR0aCBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpMYXlvdXQ6OkxpbmVCdWlsZGVyOjppbml0aWFsaXplKToKKyAgICAgICAgKFdlYkNv
cmU6OkxheW91dDo6TGluZUJ1aWxkZXI6OmNhbmRpZGF0ZUNvbnRlbnRGb3JMaW5lKToKKyAgICAg
ICAgKFdlYkNvcmU6OkxheW91dDo6TGluZUJ1aWxkZXI6OmhhbmRsZUlubGluZUNvbnRlbnQpOgor
ICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lQnVpbGRlcjo6cmVidWlsZExpbmUpOgorICAg
ICAgICAqIGxheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVCdWlsZGVy
Lmg6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCdWlsZGVyOjppc0ZpcnN0TGluZSBj
b25zdCk6CisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5l
VGV4dEl0ZW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVUZXh0SXRlbTo6
aXNDb2xsYXBzaWJsZU5vbkJyZWFraW5nU3BhY2UgY29uc3QpOgorICAgICAgICAqIGxheW91dC9m
b3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZVRleHRJdGVtLmg6CisKIDIwMjItMDEtMjMg
IEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQHdlYmtpdC5vcmc+CiAKICAgICAgICAgbV9sYXN0U3R5
bGVDaGFuZ2VFdmVudFN0eWxlIG51bGwgcHRyIGRlcmVmIGZvciBhY2NlbGVyYXRlZCBDU1MgQW5p
bWF0aW9uIHdpdGggbm8gZHVyYXRpb24gYW5kIGFuIGltcGxpY2l0IGtleWZyYW1lCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9Jbmxp
bmVJdGVtc0J1aWxkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250
ZXh0cy9pbmxpbmUvSW5saW5lSXRlbXNCdWlsZGVyLmNwcAppbmRleCA1MzA3MjIwODJmYjE3NDc5
ZTVlNWNiMGY3NGU5ZThlMWQyZjZhOTVmLi43ZDkyNzg1NDQwOGYxMzNiMWZjZWZkMTI5MGM4MWNi
ZjVlMGU2OTE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0Nv
bnRleHRzL2lubGluZS9JbmxpbmVJdGVtc0J1aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUl0ZW1zQnVpbGRlci5jcHAK
QEAgLTQyLDEzICs0MiwxMyBAQCBzdHJ1Y3QgV2hpdGVzcGFjZUNvbnRlbnQgewogICAgIHNpemVf
dCBsZW5ndGggeyAwIH07CiAgICAgYm9vbCBpc1dvcmRTZXBhcmF0b3IgeyB0cnVlIH07CiB9Owot
c3RhdGljIHN0ZDo6b3B0aW9uYWw8V2hpdGVzcGFjZUNvbnRlbnQ+IG1vdmVUb05leHROb25XaGl0
ZXNwYWNlUG9zaXRpb24oU3RyaW5nVmlldyB0ZXh0Q29udGVudCwgc2l6ZV90IHN0YXJ0UG9zaXRp
b24sIGJvb2wgcHJlc2VydmVOZXdsaW5lLCBib29sIHByZXNlcnZlVGFiLCBib29sIHRyZWF0Tm9u
QnJlYWtpbmdTcGFjZUFzUmVndWxhclNwYWNlLCBib29sIHN0b3BBdFdvcmRTZXBhcmF0b3JCb3Vu
ZGFyeSkKK3N0YXRpYyBzdGQ6Om9wdGlvbmFsPFdoaXRlc3BhY2VDb250ZW50PiBtb3ZlVG9OZXh0
Tm9uV2hpdGVzcGFjZVBvc2l0aW9uKFN0cmluZ1ZpZXcgdGV4dENvbnRlbnQsIHNpemVfdCBzdGFy
dFBvc2l0aW9uLCBib29sIHByZXNlcnZlTmV3bGluZSwgYm9vbCBwcmVzZXJ2ZVRhYiwgYm9vbCBz
dG9wQXRXb3JkU2VwYXJhdG9yQm91bmRhcnkpCiB7CiAgICAgYXV0byBoYXNXb3JkU2VwYXJhdG9y
Q2hhcmFjdGVyID0gZmFsc2U7CiAgICAgYXV0byBpc1dvcmRTZXBhcmF0b3JDaGFyYWN0ZXIgPSBm
YWxzZTsKICAgICBhdXRvIGlzV2hpdGVzcGFjZUNoYXJhY3RlciA9IFsmXShhdXRvIGNoYXJhY3Rl
cikgewogICAgICAgICAvLyB3aGl0ZSBzcGFjZSBwcm9jZXNzaW5nIGluIENTUyBhZmZlY3RzIG9u
bHkgdGhlIGRvY3VtZW50IHdoaXRlIHNwYWNlIGNoYXJhY3RlcnM6IHNwYWNlcyAoVSswMDIwKSwg
dGFicyAoVSswMDA5KSwgYW5kIHNlZ21lbnQgYnJlYWtzLgotICAgICAgICBhdXRvIGlzVHJlYXRl
ZEFzU3BhY2VDaGFyYWN0ZXIgPSBjaGFyYWN0ZXIgPT0gc3BhY2UgfHwgKGNoYXJhY3RlciA9PSBu
ZXdsaW5lQ2hhcmFjdGVyICYmICFwcmVzZXJ2ZU5ld2xpbmUpIHx8IChjaGFyYWN0ZXIgPT0gdGFi
Q2hhcmFjdGVyICYmICFwcmVzZXJ2ZVRhYikgfHwgKGNoYXJhY3RlciA9PSBub0JyZWFrU3BhY2Ug
JiYgdHJlYXROb25CcmVha2luZ1NwYWNlQXNSZWd1bGFyU3BhY2UpOworICAgICAgICBhdXRvIGlz
VHJlYXRlZEFzU3BhY2VDaGFyYWN0ZXIgPSBjaGFyYWN0ZXIgPT0gc3BhY2UgfHwgKGNoYXJhY3Rl
ciA9PSBuZXdsaW5lQ2hhcmFjdGVyICYmICFwcmVzZXJ2ZU5ld2xpbmUpIHx8IChjaGFyYWN0ZXIg
PT0gdGFiQ2hhcmFjdGVyICYmICFwcmVzZXJ2ZVRhYik7CiAgICAgICAgIGlzV29yZFNlcGFyYXRv
ckNoYXJhY3RlciA9IGlzVHJlYXRlZEFzU3BhY2VDaGFyYWN0ZXI7CiAgICAgICAgIGhhc1dvcmRT
ZXBhcmF0b3JDaGFyYWN0ZXIgPSBoYXNXb3JkU2VwYXJhdG9yQ2hhcmFjdGVyIHx8IGlzV29yZFNl
cGFyYXRvckNoYXJhY3RlcjsKICAgICAgICAgcmV0dXJuIGlzVHJlYXRlZEFzU3BhY2VDaGFyYWN0
ZXIgfHwgY2hhcmFjdGVyID09IHRhYkNoYXJhY3RlcjsKQEAgLTQ5MCw3ICs0OTAsNiBAQCB2b2lk
IElubGluZUl0ZW1zQnVpbGRlcjo6aGFuZGxlVGV4dENvbnRlbnQoY29uc3QgSW5saW5lVGV4dEJv
eCYgaW5saW5lVGV4dEJveCwgSQogICAgIGF1dG8mIHN0eWxlID0gaW5saW5lVGV4dEJveC5zdHls
ZSgpOwogICAgIGF1dG8gc2hvdWxkUHJlc2VydmVTcGFjZXNBbmRUYWJzID0gVGV4dFV0aWw6OnNo
b3VsZFByZXNlcnZlU3BhY2VzQW5kVGFicyhpbmxpbmVUZXh0Qm94KTsKICAgICBhdXRvIHNob3Vs
ZFByZXNlcnZlTmV3bGluZSA9IFRleHRVdGlsOjpzaG91bGRQcmVzZXJ2ZU5ld2xpbmUoaW5saW5l
VGV4dEJveCk7Ci0gICAgYXV0byBzaG91bGRUcmVhdE5vbkJyZWFraW5nU3BhY2VBc1JlZ3VsYXJT
cGFjZSA9IHN0eWxlLm5ic3BNb2RlKCkgPT0gTkJTUE1vZGU6OlNwYWNlOwogICAgIGF1dG8gbGlu
ZUJyZWFrSXRlcmF0b3IgPSBMYXp5TGluZUJyZWFrSXRlcmF0b3IgeyB0ZXh0LCBzdHlsZS5jb21w
dXRlZExvY2FsZSgpLCBUZXh0VXRpbDo6bGluZUJyZWFrSXRlcmF0b3JNb2RlKHN0eWxlLmxpbmVC
cmVhaygpKSB9OwogICAgIHVuc2lnbmVkIGN1cnJlbnRQb3NpdGlvbiA9IDA7CiAKQEAgLTUwOCw3
ICs1MDcsNyBAQCB2b2lkIElubGluZUl0ZW1zQnVpbGRlcjo6aGFuZGxlVGV4dENvbnRlbnQoY29u
c3QgSW5saW5lVGV4dEJveCYgaW5saW5lVGV4dEJveCwgSQogCiAgICAgICAgIGF1dG8gaGFuZGxl
V2hpdGVzcGFjZSA9IFsmXSB7CiAgICAgICAgICAgICBhdXRvIHN0b3BBdFdvcmRTZXBhcmF0b3JC
b3VuZGFyeSA9IHNob3VsZFByZXNlcnZlU3BhY2VzQW5kVGFicyAmJiBzdHlsZS5mb250Q2FzY2Fk
ZSgpLndvcmRTcGFjaW5nKCk7Ci0gICAgICAgICAgICBhdXRvIHdoaXRlc3BhY2VDb250ZW50ID0g
bW92ZVRvTmV4dE5vbldoaXRlc3BhY2VQb3NpdGlvbih0ZXh0LCBjdXJyZW50UG9zaXRpb24sIHNo
b3VsZFByZXNlcnZlTmV3bGluZSwgc2hvdWxkUHJlc2VydmVTcGFjZXNBbmRUYWJzLCBzaG91bGRU
cmVhdE5vbkJyZWFraW5nU3BhY2VBc1JlZ3VsYXJTcGFjZSwgc3RvcEF0V29yZFNlcGFyYXRvckJv
dW5kYXJ5KTsKKyAgICAgICAgICAgIGF1dG8gd2hpdGVzcGFjZUNvbnRlbnQgPSBtb3ZlVG9OZXh0
Tm9uV2hpdGVzcGFjZVBvc2l0aW9uKHRleHQsIGN1cnJlbnRQb3NpdGlvbiwgc2hvdWxkUHJlc2Vy
dmVOZXdsaW5lLCBzaG91bGRQcmVzZXJ2ZVNwYWNlc0FuZFRhYnMsIHN0b3BBdFdvcmRTZXBhcmF0
b3JCb3VuZGFyeSk7CiAgICAgICAgICAgICBpZiAoIXdoaXRlc3BhY2VDb250ZW50KQogICAgICAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKIApAQCAtNTI3LDYgKzUyNiwyNiBAQCB2b2lkIElubGlu
ZUl0ZW1zQnVpbGRlcjo6aGFuZGxlVGV4dENvbnRlbnQoY29uc3QgSW5saW5lVGV4dEJveCYgaW5s
aW5lVGV4dEJveCwgSQogICAgICAgICBpZiAoaGFuZGxlV2hpdGVzcGFjZSgpKQogICAgICAgICAg
ICAgY29udGludWU7CiAKKyAgICAgICAgYXV0byBoYW5kbGVOb25CcmVha2luZ1NwYWNlID0gWyZd
IHsKKyAgICAgICAgICAgIGlmIChzdHlsZS5uYnNwTW9kZSgpICE9IE5CU1BNb2RlOjpTcGFjZSkg
eworICAgICAgICAgICAgICAgIC8vIExldCdzIGp1c3QgZGVmZXIgdG8gcmVndWxhciBub24td2hp
dGVzcGFjZSBpbmxpbmUgaXRlbXMgd2hlbiBub24gYnJlYWtpbmcgc3BhY2UgbmVlZHMgbm8gc3Bl
Y2lhbCBoYW5kbGluZy4KKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAg
ICB9CisgICAgICAgICAgICBhdXRvIHN0YXJ0UG9zaXRpb24gPSBjdXJyZW50UG9zaXRpb247Cisg
ICAgICAgICAgICBhdXRvIGVuZFBvc2l0aW9uID0gc3RhcnRQb3NpdGlvbjsKKyAgICAgICAgICAg
IGZvciAoOyBlbmRQb3NpdGlvbiA8IGNvbnRlbnRMZW5ndGg7ICsrZW5kUG9zaXRpb24pIHsKKyAg
ICAgICAgICAgICAgICBpZiAodGV4dFtlbmRQb3NpdGlvbl0gIT0gbm9CcmVha1NwYWNlKQorICAg
ICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmIChz
dGFydFBvc2l0aW9uID09IGVuZFBvc2l0aW9uKQorICAgICAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKKyAgICAgICAgICAgIGlubGluZUl0ZW1zLmFwcGVuZChJbmxpbmVUZXh0SXRlbTo6Y3JlYXRl
Tm9uV2hpdGVzcGFjZUl0ZW0oaW5saW5lVGV4dEJveCwgc3RhcnRQb3NpdGlvbiwgZW5kUG9zaXRp
b24gLSBzdGFydFBvc2l0aW9uLCBVQklESV9ERUZBVUxUX0xUUiwgeyB9LCB7IH0pKTsKKyAgICAg
ICAgICAgIGN1cnJlbnRQb3NpdGlvbiA9IGVuZFBvc2l0aW9uOworICAgICAgICAgICAgcmV0dXJu
IHRydWU7CisgICAgICAgIH07CisgICAgICAgIGlmIChoYW5kbGVOb25CcmVha2luZ1NwYWNlKCkp
CisgICAgICAgICAgICBjb250aW51ZTsKKwogICAgICAgICBhdXRvIGhhbmRsZU5vbldoaXRlc3Bh
Y2UgPSBbJl0gewogICAgICAgICAgICAgYXV0byBzdGFydFBvc2l0aW9uID0gY3VycmVudFBvc2l0
aW9uOwogICAgICAgICAgICAgYXV0byBlbmRQb3NpdGlvbiA9IHN0YXJ0UG9zaXRpb247CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9J
bmxpbmVMaW5lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMv
aW5saW5lL0lubGluZUxpbmUuY3BwCmluZGV4IDg3MDJjNDEyOThmNDM1YjU0NzZlZjVhMTQ3YmY1
MDJmN2QyNjM5NzguLjI0YTJiNGFlMzQ2Nzk4YTA4M2M0NGM3OGQ2NWQ1ZGNmY2E1MTQ1NTQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5l
L0lubGluZUxpbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29u
dGV4dHMvaW5saW5lL0lubGluZUxpbmUuY3BwCkBAIC00OSw4ICs0OSw5IEBAIExpbmU6On5MaW5l
KCkKIHsKIH0KIAotdm9pZCBMaW5lOjppbml0aWFsaXplKGNvbnN0IFZlY3RvcjxJbmxpbmVJdGVt
PiYgbGluZVNwYW5uaW5nSW5saW5lQm94ZXMpCit2b2lkIExpbmU6OmluaXRpYWxpemUoY29uc3Qg
VmVjdG9yPElubGluZUl0ZW0+JiBsaW5lU3Bhbm5pbmdJbmxpbmVCb3hlcywgYm9vbCBjb2xsYXBz
ZUxlYWRpbmdOb25CcmVha2luZ1NwYWNlKQogeworICAgIG1fY29sbGFwc2VMZWFkaW5nTm9uQnJl
YWtpbmdTcGFjZSA9IGNvbGxhcHNlTGVhZGluZ05vbkJyZWFraW5nU3BhY2U7CiAgICAgbV9pbmxp
bmVCb3hMaXN0V2l0aENsb25lZERlY29yYXRpb25FbmQuY2xlYXIoKTsKICAgICBtX2Nsb25lZEVu
ZERlY29yYXRpb25XaWR0aEZvcklubGluZUJveFJ1bnMgPSB7IH07CiAgICAgbV9ub25TcGFubmlu
Z0lubGluZUxldmVsQm94Q291bnQgPSAwOwpAQCAtMjYxLDggKzI2MiwxOSBAQCB2b2lkIExpbmU6
OmFwcGVuZElubGluZUJveEVuZChjb25zdCBJbmxpbmVJdGVtJiBpbmxpbmVJdGVtLCBjb25zdCBS
ZW5kZXJTdHlsZSYgcwogdm9pZCBMaW5lOjphcHBlbmRUZXh0Q29udGVudChjb25zdCBJbmxpbmVU
ZXh0SXRlbSYgaW5saW5lVGV4dEl0ZW0sIGNvbnN0IFJlbmRlclN0eWxlJiBzdHlsZSwgSW5saW5l
TGF5b3V0VW5pdCBsb2dpY2FsV2lkdGgpCiB7CiAgICAgYXV0byB3aWxsQ29sbGFwc2VDb21wbGV0
ZWx5ID0gWyZdIHsKLSAgICAgICAgaWYgKCFpbmxpbmVUZXh0SXRlbS5pc1doaXRlc3BhY2UoKSkK
LSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgaWYgKCFpbmxpbmVUZXh0SXRlbS5p
c1doaXRlc3BhY2UoKSkgeworICAgICAgICAgICAgYXV0byBpc0xlYWRpbmdDb2xsYXBzaWJsZU5v
bkJyZWFraW5nU3BhY2UgPSBbJl0geworICAgICAgICAgICAgICAgIC8vIExldCdzIGNoZWNrIGZv
ciBsZWFkaW5nIG5vbi1icmVha2luZyBzcGFjZSBjb2xsYXBzaW5nIHRvIG1hdGNoIGxlZ2FjeSBs
aW5lIGxheW91dCBxdWlyay4KKyAgICAgICAgICAgICAgICBpZiAoIWlubGluZVRleHRJdGVtLmlz
Q29sbGFwc2libGVOb25CcmVha2luZ1NwYWNlKCkgfHwgIW1fY29sbGFwc2VMZWFkaW5nTm9uQnJl
YWtpbmdTcGFjZSkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAg
ICAgICAgIGZvciAoYXV0byYgcnVuIDogbWFrZVJldmVyc2VkUmFuZ2UobV9ydW5zKSkgeworICAg
ICAgICAgICAgICAgICAgICBpZiAocnVuLmlzQm94KCkgfHwgcnVuLmlzVGV4dCgpKQorICAgICAg
ICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgICAgIH07CisgICAgICAgICAgICByZXR1
cm4gaXNMZWFkaW5nQ29sbGFwc2libGVOb25CcmVha2luZ1NwYWNlKCk7CisgICAgICAgIH0KICAg
ICAgICAgaWYgKElubGluZVRleHRJdGVtOjpzaG91bGRQcmVzZXJ2ZVNwYWNlc0FuZFRhYnMoaW5s
aW5lVGV4dEl0ZW0pKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAvLyBUaGlz
IGNvbnRlbnQgaXMgY29sbGFwc2libGUuIExldCdzIGNoZWNrIGlmIHRoZSBsYXN0IGl0ZW0gaXMg
Y29sbGFwc2VkLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdD
b250ZXh0cy9pbmxpbmUvSW5saW5lTGluZS5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1h
dHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZS5oCmluZGV4IGExZjlkNDMyZjkzMjQyYjZl
N2IwNWY4MTA4MzA3NWUwYzVhMTU5NDQuLmZhOWRmYmVlNTFjNDk2MzVmNGIxZjMwZTY3MGVmN2M4
YWVlNDY0NzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29u
dGV4dHMvaW5saW5lL0lubGluZUxpbmUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9y
bWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lLmgKQEAgLTQzLDcgKzQzLDcgQEAgcHVi
bGljOgogICAgIExpbmUoY29uc3QgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQmKTsKICAgICB+TGlu
ZSgpOwogCi0gICAgdm9pZCBpbml0aWFsaXplKGNvbnN0IFZlY3RvcjxJbmxpbmVJdGVtPiYgbGlu
ZVNwYW5uaW5nSW5saW5lQm94ZXMpOworICAgIHZvaWQgaW5pdGlhbGl6ZShjb25zdCBWZWN0b3I8
SW5saW5lSXRlbT4mIGxpbmVTcGFubmluZ0lubGluZUJveGVzLCBib29sIGNvbGxhcHNlTGVhZGlu
Z05vbkJyZWFraW5nU3BhY2UpOwogCiAgICAgdm9pZCBhcHBlbmQoY29uc3QgSW5saW5lSXRlbSYs
IGNvbnN0IFJlbmRlclN0eWxlJiwgSW5saW5lTGF5b3V0VW5pdCBsb2dpY2FsV2lkdGgpOwogCkBA
IC0yMjksNiArMjI5LDggQEAgcHJpdmF0ZToKICAgICBJbmxpbmVCb3hMaXN0V2l0aENsb25lZERl
Y29yYXRpb25FbmQgbV9pbmxpbmVCb3hMaXN0V2l0aENsb25lZERlY29yYXRpb25FbmQ7CiAgICAg
SW5saW5lTGF5b3V0VW5pdCBtX2Nsb25lZEVuZERlY29yYXRpb25XaWR0aEZvcklubGluZUJveFJ1
bnMgeyAwIH07CiAgICAgYm9vbCBtX2hhc05vbkRlZmF1bHRCaWRpTGV2ZWxSdW4geyBmYWxzZSB9
OworICAgIC8vIE5vdGUgdGhhdCB0aGlzIGlzIG9ubHkgbmVlZGVkIGZvciB0aGUgc3BlY2lhbCAo
YW5kIGFuY2llbnQgYW5kIG5vdCBzdXBwb3J0ZWQgYnkgb3RoZXIgYnJvd3NlcnMpICItd2Via2l0
LW5ic3AtbW9kZTogc3BhY2UiLgorICAgIGJvb2wgbV9jb2xsYXBzZUxlYWRpbmdOb25CcmVha2lu
Z1NwYWNlIHsgZmFsc2UgfTsKIH07CiAKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJ1aWxkZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJ1
aWxkZXIuY3BwCmluZGV4IDMzMjcwYTNjN2NmZjRkY2VmOGU3ZjE3OWIzYWM3ODhhZjg4OTg3ZDUu
Ljk2YWM1NTY5MGU3NjIyZDI5MDdhMDc2ODE5YzZkZTE4NGI2MzVkYjYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVC
dWlsZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRz
L2lubGluZS9JbmxpbmVMaW5lQnVpbGRlci5jcHAKQEAgLTI1OSw3ICsyNTksNyBAQCBJbmxpbmVM
YXlvdXRVbml0IExpbmVCdWlsZGVyOjppbmxpbmVJdGVtV2lkdGgoY29uc3QgSW5saW5lSXRlbSYg
aW5saW5lSXRlbSwgSW5saQogICAgICAgICBhdXRvJiBpbmxpbmVUZXh0SXRlbSA9IGRvd25jYXN0
PElubGluZVRleHRJdGVtPihpbmxpbmVJdGVtKTsKICAgICAgICAgaWYgKGF1dG8gY29udGVudFdp
ZHRoID0gaW5saW5lVGV4dEl0ZW0ud2lkdGgoKSkKICAgICAgICAgICAgIHJldHVybiAqY29udGVu
dFdpZHRoOwotICAgICAgICBhdXRvJiBmb250Q2FzY2FkZSA9IG1faXNGaXJzdExpbmUgPyBpbmxp
bmVUZXh0SXRlbS5maXJzdExpbmVTdHlsZSgpLmZvbnRDYXNjYWRlKCkgOiBpbmxpbmVUZXh0SXRl
bS5zdHlsZSgpLmZvbnRDYXNjYWRlKCk7CisgICAgICAgIGF1dG8mIGZvbnRDYXNjYWRlID0gaXNG
aXJzdExpbmUoKSA/IGlubGluZVRleHRJdGVtLmZpcnN0TGluZVN0eWxlKCkuZm9udENhc2NhZGUo
KSA6IGlubGluZVRleHRJdGVtLnN0eWxlKCkuZm9udENhc2NhZGUoKTsKICAgICAgICAgaWYgKCFp
bmxpbmVUZXh0SXRlbS5pc1doaXRlc3BhY2UoKSB8fCBJbmxpbmVUZXh0SXRlbTo6c2hvdWxkUHJl
c2VydmVTcGFjZXNBbmRUYWJzKGlubGluZVRleHRJdGVtKSkKICAgICAgICAgICAgIHJldHVybiBU
ZXh0VXRpbDo6d2lkdGgoaW5saW5lVGV4dEl0ZW0sIGZvbnRDYXNjYWRlLCBjb250ZW50TG9naWNh
bExlZnQpOwogICAgICAgICByZXR1cm4gVGV4dFV0aWw6OndpZHRoKGlubGluZVRleHRJdGVtLCBm
b250Q2FzY2FkZSwgaW5saW5lVGV4dEl0ZW0uc3RhcnQoKSwgaW5saW5lVGV4dEl0ZW0uc3RhcnQo
KSArIDEsIGNvbnRlbnRMb2dpY2FsTGVmdCk7CkBAIC0yODAsNyArMjgwLDcgQEAgSW5saW5lTGF5
b3V0VW5pdCBMaW5lQnVpbGRlcjo6aW5saW5lSXRlbVdpZHRoKGNvbnN0IElubGluZUl0ZW0mIGlu
bGluZUl0ZW0sIElubGkKICAgICBpZiAoaW5saW5lSXRlbS5pc0lubGluZUJveFN0YXJ0KCkpIHsK
ICAgICAgICAgYXV0byBsb2dpY2FsV2lkdGggPSBib3hHZW9tZXRyeS5tYXJnaW5TdGFydCgpICsg
Ym94R2VvbWV0cnkuYm9yZGVyU3RhcnQoKSArIGJveEdlb21ldHJ5LnBhZGRpbmdTdGFydCgpLnZh
bHVlX29yKDApOwogI2lmIEVOQUJMRShDU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspCi0gICAgICAg
IGF1dG8mIHN0eWxlID0gbV9pc0ZpcnN0TGluZSA/IGlubGluZUl0ZW0uZmlyc3RMaW5lU3R5bGUo
KSA6IGlubGluZUl0ZW0uc3R5bGUoKTsKKyAgICAgICAgYXV0byYgc3R5bGUgPSBpc0ZpcnN0TGlu
ZSgpID8gaW5saW5lSXRlbS5maXJzdExpbmVTdHlsZSgpIDogaW5saW5lSXRlbS5zdHlsZSgpOwog
ICAgICAgICBpZiAoc3R5bGUuYm94RGVjb3JhdGlvbkJyZWFrKCkgPT0gQm94RGVjb3JhdGlvbkJy
ZWFrOjpDbG9uZSkKICAgICAgICAgICAgIGxvZ2ljYWxXaWR0aCArPSBib3hHZW9tZXRyeS5ib3Jk
ZXJFbmQoKSArIGJveEdlb21ldHJ5LnBhZGRpbmdFbmQoKS52YWx1ZV9vcigwX2x1KTsKICNlbmRp
ZgpAQCAtNDAxLDcgKzQwMSw3IEBAIExpbmVCdWlsZGVyOjpJbnRyaW5zaWNDb250ZW50IExpbmVC
dWlsZGVyOjpjb21wdXRlZEludHJpbnNpY1dpZHRoKGNvbnN0IElubGluZUl0CiAKIHZvaWQgTGlu
ZUJ1aWxkZXI6OmluaXRpYWxpemUoY29uc3QgVXNlZENvbnN0cmFpbnRzJiBsaW5lQ29uc3RyYWlu
dHMsIHNpemVfdCBsZWFkaW5nSW5saW5lSXRlbUluZGV4LCBjb25zdCBzdGQ6Om9wdGlvbmFsPFBy
ZXZpb3VzTGluZT4mIHByZXZpb3VzTGluZSkKIHsKLSAgICBtX2lzRmlyc3RMaW5lID0gIXByZXZp
b3VzTGluZTsKKyAgICBtX3ByZXZpb3VzTGluZSA9IHByZXZpb3VzTGluZTsKICAgICBtX2Zsb2F0
cy5jbGVhcigpOwogICAgIG1fbGluZVNwYW5uaW5nSW5saW5lQm94ZXMuY2xlYXIoKTsKICAgICBt
X3dyYXBPcHBvcnR1bml0eUxpc3QuY2xlYXIoKTsKQEAgLTQzOSw3ICs0MzksNyBAQCB2b2lkIExp
bmVCdWlsZGVyOjppbml0aWFsaXplKGNvbnN0IFVzZWRDb25zdHJhaW50cyYgbGluZUNvbnN0cmFp
bnRzLCBzaXplX3QgbGVhZAogICAgICAgICAgICAgbV9saW5lU3Bhbm5pbmdJbmxpbmVCb3hlcy5h
cHBlbmQoeyAqc3Bhbm5pbmdJbmxpbmVCb3gsIElubGluZUl0ZW06OlR5cGU6OklubGluZUJveFN0
YXJ0LCBiaWRpTGV2ZWxGb3JPcGFxdWVJbmxpbmVJdGVtIH0pOwogICAgIH07CiAgICAgY3JlYXRl
TGluZVNwYW5uaW5nSW5saW5lQm94ZXMoKTsKLSAgICBtX2xpbmUuaW5pdGlhbGl6ZShtX2xpbmVT
cGFubmluZ0lubGluZUJveGVzKTsKKyAgICBtX2xpbmUuaW5pdGlhbGl6ZShtX2xpbmVTcGFubmlu
Z0lubGluZUJveGVzLCBtX3ByZXZpb3VzTGluZSAmJiAhbV9wcmV2aW91c0xpbmUtPmVuZHNXaXRo
TGluZUJyZWFrKTsKIAogICAgIG1fbGluZU1hcmdpblN0YXJ0ID0gbGluZUNvbnN0cmFpbnRzLm1h
cmdpblN0YXJ0OwogICAgIG1fbGluZUxvZ2ljYWxSZWN0ID0gbGluZUNvbnN0cmFpbnRzLmxvZ2lj
YWxSZWN0OwpAQCAtNjc0LDcgKzY3NCw3IEBAIHZvaWQgTGluZUJ1aWxkZXI6OmNhbmRpZGF0ZUNv
bnRlbnRGb3JMaW5lKExpbmVDYW5kaWRhdGUmIGxpbmVDYW5kaWRhdGUsIHNpemVfdCBjCiAgICAg
Zm9yIChhdXRvIGluZGV4ID0gY3VycmVudElubGluZUl0ZW1JbmRleDsgaW5kZXggPCBzb2Z0V3Jh
cE9wcG9ydHVuaXR5SW5kZXg7ICsraW5kZXgpIHsKICAgICAgICAgYXV0byYgaW5saW5lSXRlbSA9
IG1faW5saW5lSXRlbXNbaW5kZXhdOwogICAgICAgICBhdXRvJiBzdHlsZSA9IFsmXSAoKSAtPiBj
b25zdCBSZW5kZXJTdHlsZSYgewotICAgICAgICAgICAgcmV0dXJuIG1faXNGaXJzdExpbmUgPyBp
bmxpbmVJdGVtLmZpcnN0TGluZVN0eWxlKCkgOiBpbmxpbmVJdGVtLnN0eWxlKCk7CisgICAgICAg
ICAgICByZXR1cm4gaXNGaXJzdExpbmUoKSA/IGlubGluZUl0ZW0uZmlyc3RMaW5lU3R5bGUoKSA6
IGlubGluZUl0ZW0uc3R5bGUoKTsKICAgICAgICAgfSgpOwogICAgICAgICBpZiAoaW5saW5lSXRl
bS5pc0Zsb2F0KCkpIHsKICAgICAgICAgICAgIGxpbmVDYW5kaWRhdGUuZmxvYXRJdGVtID0gJmlu
bGluZUl0ZW07CkBAIC05NDcsNyArOTQ3LDcgQEAgTGluZUJ1aWxkZXI6OlJlc3VsdCBMaW5lQnVp
bGRlcjo6aGFuZGxlSW5saW5lQ29udGVudChJbmxpbmVDb250ZW50QnJlYWtlciYgaW5saW4KICAg
ICAgICAgaWYgKGlubGluZVRleHRJdGVtLmlzV2hpdGVzcGFjZSgpKQogICAgICAgICAgICAgcmV0
dXJuIHsgfTsKICAgICAgICAgYXV0byYgb3ZlcmZsb3dpbmdSdW4gPSBjYW5kaWRhdGVSdW5zLmZp
cnN0KCk7Ci0gICAgICAgIGlmIChtX2lzRmlyc3RMaW5lKSB7CisgICAgICAgIGlmIChpc0ZpcnN0
TGluZSgpKSB7CiAgICAgICAgICAgICBhdXRvJiB1c2VkU3R5bGUgPSBvdmVyZmxvd2luZ1J1bi5z
dHlsZTsKICAgICAgICAgICAgIGF1dG8mIHN0eWxlID0gb3ZlcmZsb3dpbmdSdW4uaW5saW5lSXRl
bS5zdHlsZSgpOwogICAgICAgICAgICAgaWYgKCZ1c2VkU3R5bGUgIT0gJnN0eWxlICYmIHVzZWRT
dHlsZS5mb250Q2FzY2FkZSgpICE9IHN0eWxlLmZvbnRDYXNjYWRlKCkpIHsKQEAgLTEwNDgsNyAr
MTA0OCw3IEBAIHNpemVfdCBMaW5lQnVpbGRlcjo6cmVidWlsZExpbmUoY29uc3QgSW5saW5lSXRl
bVJhbmdlJiBsYXlvdXRSYW5nZSwgY29uc3QgSW5saW5lCiAgICAgQVNTRVJUKCFtX3dyYXBPcHBv
cnR1bml0eUxpc3QuaXNFbXB0eSgpKTsKICAgICAvLyBXZSBtaWdodCBhbHJlYWR5IGhhdmUgYWRk
ZWQgZmxvYXRzLiBUaGV5IHNocmluayB0aGUgYXZhaWxhYmxlIGhvcml6b250YWwgc3BhY2UgZm9y
IHRoZSBsaW5lLgogICAgIC8vIExldCdzIGp1c3QgcmV1c2Ugd2hhdCB0aGUgbGluZSBoYXMgYXQg
dGhpcyBwb2ludC4KLSAgICBtX2xpbmUuaW5pdGlhbGl6ZShtX2xpbmVTcGFubmluZ0lubGluZUJv
eGVzKTsKKyAgICBtX2xpbmUuaW5pdGlhbGl6ZShtX2xpbmVTcGFubmluZ0lubGluZUJveGVzLCBt
X3ByZXZpb3VzTGluZSAmJiAhbV9wcmV2aW91c0xpbmUtPmVuZHNXaXRoTGluZUJyZWFrKTsKICAg
ICBhdXRvIGN1cnJlbnRJdGVtSW5kZXggPSBsYXlvdXRSYW5nZS5zdGFydDsKICAgICBpZiAobV9w
YXJ0aWFsTGVhZGluZ1RleHRJdGVtKSB7CiAgICAgICAgIG1fbGluZS5hcHBlbmQoKm1fcGFydGlh
bExlYWRpbmdUZXh0SXRlbSwgbV9wYXJ0aWFsTGVhZGluZ1RleHRJdGVtLT5zdHlsZSgpLCBpbmxp
bmVJdGVtV2lkdGgoKm1fcGFydGlhbExlYWRpbmdUZXh0SXRlbSwgeyB9KSk7CkBAIC0xMDU4LDcg
KzEwNTgsNyBAQCBzaXplX3QgTGluZUJ1aWxkZXI6OnJlYnVpbGRMaW5lKGNvbnN0IElubGluZUl0
ZW1SYW5nZSYgbGF5b3V0UmFuZ2UsIGNvbnN0IElubGluZQogICAgIH0KICAgICBmb3IgKDsgY3Vy
cmVudEl0ZW1JbmRleCA8IGxheW91dFJhbmdlLmVuZDsgKytjdXJyZW50SXRlbUluZGV4KSB7CiAg
ICAgICAgIGF1dG8mIGlubGluZUl0ZW0gPSBtX2lubGluZUl0ZW1zW2N1cnJlbnRJdGVtSW5kZXhd
OwotICAgICAgICBhdXRvJiBzdHlsZSA9IG1faXNGaXJzdExpbmUgPyBpbmxpbmVJdGVtLmZpcnN0
TGluZVN0eWxlKCkgOiBpbmxpbmVJdGVtLnN0eWxlKCk7CisgICAgICAgIGF1dG8mIHN0eWxlID0g
aXNGaXJzdExpbmUoKSA/IGlubGluZUl0ZW0uZmlyc3RMaW5lU3R5bGUoKSA6IGlubGluZUl0ZW0u
c3R5bGUoKTsKICAgICAgICAgbV9saW5lLmFwcGVuZChpbmxpbmVJdGVtLCBzdHlsZSwgaW5saW5l
SXRlbVdpZHRoKGlubGluZUl0ZW0sIG1fbGluZS5jb250ZW50TG9naWNhbFJpZ2h0KCkpKTsKICAg
ICAgICAgaWYgKCZpbmxpbmVJdGVtID09ICZsYXN0SW5saW5lSXRlbVRvQWRkKQogICAgICAgICAg
ICAgcmV0dXJuIGN1cnJlbnRJdGVtSW5kZXggLSBsYXlvdXRSYW5nZS5zdGFydCArIDE7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9J
bmxpbmVMaW5lQnVpbGRlci5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250
ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJ1aWxkZXIuaAppbmRleCA3NjQ2YWNkMDI4NTZiZDczYmQ0
YTRkM2M1M2NmYTYzY2RkZGU1ZGE4Li45OWQ5NDBjZmFjMDQyZjE4ODU0YmJhZGVmNzU4YmQyOWJm
ZWIxMGQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRl
eHRzL2lubGluZS9JbmxpbmVMaW5lQnVpbGRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVCdWlsZGVyLmgKQEAgLTEyNSw2
ICsxMjUsOCBAQCBwcml2YXRlOgogICAgIHN0ZDo6b3B0aW9uYWw8SW50cmluc2ljV2lkdGhNb2Rl
PiBpbnRyaW5zaWNXaWR0aE1vZGUoKSBjb25zdCB7IHJldHVybiBtX2ludHJpbnNpY1dpZHRoTW9k
ZTsgfQogICAgIGJvb2wgaXNJbkludHJpbnNpY1dpZHRoTW9kZSgpIGNvbnN0IHsgcmV0dXJuICEh
aW50cmluc2ljV2lkdGhNb2RlKCk7IH0KIAorICAgIGJvb2wgaXNGaXJzdExpbmUoKSBjb25zdCB7
IHJldHVybiAhbV9wcmV2aW91c0xpbmUuaGFzX3ZhbHVlKCk7IH0KKwogICAgIGNvbnN0IElubGlu
ZUZvcm1hdHRpbmdDb250ZXh0JiBmb3JtYXR0aW5nQ29udGV4dCgpIGNvbnN0IHsgcmV0dXJuIG1f
aW5saW5lRm9ybWF0dGluZ0NvbnRleHQ7IH0KICAgICBJbmxpbmVGb3JtYXR0aW5nU3RhdGUqIGZv
cm1hdHRpbmdTdGF0ZSgpIHsgcmV0dXJuIG1faW5saW5lRm9ybWF0dGluZ1N0YXRlOyB9CiAgICAg
RmxvYXRpbmdTdGF0ZSogZmxvYXRpbmdTdGF0ZSgpIHsgcmV0dXJuIG1fZmxvYXRpbmdTdGF0ZTsg
fQpAQCAtMTMzLDcgKzEzNSw3IEBAIHByaXZhdGU6CiAgICAgY29uc3QgTGF5b3V0U3RhdGUmIGxh
eW91dFN0YXRlKCkgY29uc3Q7CiAKIHByaXZhdGU6Ci0gICAgYm9vbCBtX2lzRmlyc3RMaW5lIHsg
ZmFsc2UgfTsKKyAgICBzdGQ6Om9wdGlvbmFsPFByZXZpb3VzTGluZT4gbV9wcmV2aW91c0xpbmUg
eyB9OwogICAgIHN0ZDo6b3B0aW9uYWw8SW50cmluc2ljV2lkdGhNb2RlPiBtX2ludHJpbnNpY1dp
ZHRoTW9kZTsKICAgICBjb25zdCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dCYgbV9pbmxpbmVGb3Jt
YXR0aW5nQ29udGV4dDsKICAgICBJbmxpbmVGb3JtYXR0aW5nU3RhdGUqIG1faW5saW5lRm9ybWF0
dGluZ1N0YXRlIHsgbnVsbHB0ciB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lVGV4dEl0ZW0uY3BwIGIvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lVGV4dEl0ZW0uY3Bw
CmluZGV4IGRlMTVkZDBjYzg3MWI3YjZlNzM3YmY4NmVjNDY5YzkwMDRlZThkYTMuLjg1OGU4Zjc0
YWUyOTAzYmI0ZGU4YjM0NjVkYjY0OTliMzgzYmI3MzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZVRleHRJdGVtLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9Jbmxp
bmVUZXh0SXRlbS5jcHAKQEAgLTg4LDYgKzg4LDE0IEBAIGJvb2wgSW5saW5lVGV4dEl0ZW06Omlz
WmVyb1dpZHRoU3BhY2VTZXBhcmF0b3IoKSBjb25zdAogICAgIHJldHVybiAhbV9sZW5ndGggfHwg
KG1fbGVuZ3RoID09IDEgJiYgaW5saW5lVGV4dEJveCgpLmNvbnRlbnQoKVtzdGFydCgpXSA9PSB6
ZXJvV2lkdGhTcGFjZSk7IAogfQogCitib29sIElubGluZVRleHRJdGVtOjppc0NvbGxhcHNpYmxl
Tm9uQnJlYWtpbmdTcGFjZSgpIGNvbnN0Cit7CisgICAgaWYgKHN0eWxlKCkubmJzcE1vZGUoKSAh
PSBOQlNQTW9kZTo6U3BhY2UpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAvLyBOb3RlIHRo
YXQgdGhpcyB0ZXh0IGl0ZW0gbWF5IGJlIGxvbmdlciB0aGFuIGp1c3Qgb25lIGNoYXJhY3Rlci4K
KyAgICByZXR1cm4gbV9sZW5ndGggJiYgaW5saW5lVGV4dEJveCgpLmNvbnRlbnQoKVtzdGFydCgp
XSA9PSBub0JyZWFrU3BhY2U7Cit9CisKIGJvb2wgSW5saW5lVGV4dEl0ZW06OnNob3VsZFByZXNl
cnZlU3BhY2VzQW5kVGFicyhjb25zdCBJbmxpbmVUZXh0SXRlbSYgaW5saW5lVGV4dEl0ZW0pCiB7
CiAgICAgQVNTRVJUKGlubGluZVRleHRJdGVtLmlzV2hpdGVzcGFjZSgpKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZVRl
eHRJdGVtLmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGlu
ZS9JbmxpbmVUZXh0SXRlbS5oCmluZGV4IDY5MTg0NTcxN2E5MDQzZDlhYzJkODczNjQ3MTU2Mjcx
MzljYzdjMmQuLjVjOTM4MmZmZWJkNjQ1ZTFlYWEyNjVlN2YxNzNhYmUyMzA0MjdjZTggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lu
bGluZVRleHRJdGVtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250
ZXh0cy9pbmxpbmUvSW5saW5lVGV4dEl0ZW0uaApAQCAtNTAsNiArNTAsNyBAQCBwdWJsaWM6CiAg
ICAgYm9vbCBpc1doaXRlc3BhY2UoKSBjb25zdCB7IHJldHVybiBtX3RleHRJdGVtVHlwZSA9PSBU
ZXh0SXRlbVR5cGU6OldoaXRlc3BhY2U7IH0KICAgICBib29sIGlzV29yZFNlcGFyYXRvcigpIGNv
bnN0IHsgcmV0dXJuIG1faXNXb3JkU2VwYXJhdG9yOyB9CiAgICAgYm9vbCBpc1plcm9XaWR0aFNw
YWNlU2VwYXJhdG9yKCkgY29uc3Q7CisgICAgYm9vbCBpc0NvbGxhcHNpYmxlTm9uQnJlYWtpbmdT
cGFjZSgpIGNvbnN0OwogICAgIGJvb2wgaGFzVHJhaWxpbmdTb2Z0SHlwaGVuKCkgY29uc3QgeyBy
ZXR1cm4gbV9oYXNUcmFpbGluZ1NvZnRIeXBoZW47IH0KICAgICBzdGQ6Om9wdGlvbmFsPElubGlu
ZUxheW91dFVuaXQ+IHdpZHRoKCkgY29uc3QgeyByZXR1cm4gbV9oYXNXaWR0aCA/IHN0ZDo6bWFr
ZV9vcHRpb25hbChtX3dpZHRoKSA6IHN0ZDo6b3B0aW9uYWw8SW5saW5lTGF5b3V0VW5pdD4geyB9
OyB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwppbmRleCAyYjcyYTgxNDkwOWE3OTUzNWI1OTlkN2IwOWVkOTFkYjA2NTM4ZTNhLi40
MjlmMjhkYzU4NzU2NDIwMDk5OWNiNjY2NGU5ZGQ3YzQ1MTJhMzc1IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTQgQEAKKzIwMjItMDEtMjUgIEFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgorCisgICAg
ICAgIFJFR1JFU1NJT04gKHIyODEzMDYpOiBOb24tYnJlYWtpbmcgc3BhY2UgaW5jb3JyZWN0bHkg
Y29sbGFwc2VkIHdoZW4gd2Via2l0LW5ic3AtbW9kZSBpcyBzZXQgdG8gInNwYWNlIgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM1NjI3CisgICAgICAg
IDxyZGFyOi8vODgwMDQ4MzE+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBmYXN0L3RleHQvY29sbGFwc2libGUtbm9uLWJyZWFraW5nLXNwYWNlLWV4
cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC9jb2xsYXBzaWJsZS1ub24t
YnJlYWtpbmctc3BhY2UuaHRtbDogQWRkZWQuCisKIDIwMjItMDEtMjMgIEFudG9pbmUgUXVpbnQg
IDxncmFvdXRzQHdlYmtpdC5vcmc+CiAKICAgICAgICAgbV9sYXN0U3R5bGVDaGFuZ2VFdmVudFN0
eWxlIG51bGwgcHRyIGRlcmVmIGZvciBhY2NlbGVyYXRlZCBDU1MgQW5pbWF0aW9uIHdpdGggbm8g
ZHVyYXRpb24gYW5kIGFuIGltcGxpY2l0IGtleWZyYW1lCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L3RleHQvY29sbGFwc2libGUtbm9uLWJyZWFraW5nLXNwYWNlLWV4cGVjdGVkLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvY29sbGFwc2libGUtbm9uLWJyZWFraW5nLXNwYWNlLWV4
cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjYwOTVkMTgzNjdiMWU4MmE3YzVjMjVjM2FjYzQ5MGJl
NWJmM2VhZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9jb2xsYXBz
aWJsZS1ub24tYnJlYWtpbmctc3BhY2UtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDggQEAKKzxz
dHlsZT4KK2RpdiB7CisgIGJhY2tncm91bmQtY29sb3I6IGdyZWVuOworICB3aWR0aDogODBweDsK
KyAgaGVpZ2h0OiAyMjBweDsKK30KKzwvc3R5bGU+Cis8ZGl2PjwvZGl2PgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC90ZXh0L2NvbGxhcHNpYmxlLW5vbi1icmVha2luZy1zcGFjZS5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2NvbGxhcHNpYmxlLW5vbi1icmVha2luZy1zcGFjZS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmEyNjFhNDFhYWZhN2U4NTU3MDQxMjliZDg4ZGI1MzQ5ZWE5NTY4ZTgK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvY29sbGFwc2libGUtbm9u
LWJyZWFraW5nLXNwYWNlLmh0bWwKQEAgLTAsMCArMSwyMiBAQAorPHN0eWxlPgorYm9keSB7Cisg
IGZvbnQtc2l6ZTogMjBweDsKKyAgZm9udC1mYW1pbHk6IEFoZW07CisgIGNvbG9yOiBncmVlbjsK
K30KK2RpdiB7CisgIC13ZWJraXQtbmJzcC1tb2RlOiBzcGFjZTsKKyAgYmFja2dyb3VuZC1jb2xv
cjogZ3JlZW47CisgIGZsb2F0OiBsZWZ0OworICBjbGVhcjogYm90aDsKK30KKzwvc3R5bGU+Cis8
ZGl2PiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzwvZGl2PgorPGRpdj5YWCZuYnNwOyZuYnNwOzwv
ZGl2PgorPGRpdj5YJm5ic3A7Jm5ic3A7WDwvZGl2PgorPGRpdiBzdHlsZT0id2lkdGg6IDBweDsi
PlhYWFgmbmJzcDsmbmJzcDtYWFhYPC9kaXY+Cis8ZGl2IHN0eWxlPSJ3aGl0ZS1zcGFjZTogcHJl
Ij5YWCZuYnNwOyZuYnNwOworWFhYPC9kaXY+Cis8ZGl2IHN0eWxlPSJ3aGl0ZS1zcGFjZTogcHJl
Ij5YWCZuYnNwOyZuYnNwOworJm5ic3A7Jm5ic3A7WFg8L2Rpdj4KKzxkaXY+WFhYJm5ic3A7PGJy
PiZuYnNwO1hYWDwvZGl2Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>450040</attachid>
            <date>2022-01-26 11:19:09 -0800</date>
            <delta_ts>2022-01-26 15:24:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235627-20220126111908.patch</filename>
            <type>text/plain</type>
            <size>24959</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4NjE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWVhNmFlZDFkNjE1NWE3
MThkYjNjOTNjZDFmMTA1YThlNjQ2NWRiNC4uZjEyNWU3NmI0Y2Q3YjcyNGFjNWJhZTZlMDNlMmU4
OTQzN2IxMjBjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDIyLTAxLTI2ICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OIChyMjgxMzA2
KTogTm9uLWJyZWFraW5nIHNwYWNlIGluY29ycmVjdGx5IGNvbGxhcHNlZCB3aGVuIHdlYmtpdC1u
YnNwLW1vZGUgaXMgc2V0IHRvICJzcGFjZSIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIzNTYyNworICAgICAgICA8cmRhcjovLzg4MDA0ODMxPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IEFudHRpIEtvaXZpc3RvLgorCisgICAgICAgICItd2Via2l0LW5i
c3AtbW9kZTogc3BhY2UiIGhhcyBhIHBlY3VsaWFyIGNvbGxhcHNpbmcgYmVoYXZpb3IuIEl0IG9u
bHkgY29sbGFwc2VzIGFzIGxlYWRpbmcgY29udGVudAorICAgICAgICBwcmVjZWRlZCBieSBmb3Jj
ZWQgbGluZSBicmVhay4KKworICAgICAgICA8ZGl2IHN0eWxlPSItd2Via2l0LW5ic3AtbW9kZTog
c3BhY2U7IHdpZHRoOiAwcHg7Ij4KKyAgICAgICAgICBmaXJzdF9saW5lJm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7c2Vjb25kX2xpbmUKKyAgICAgICAgPC9kaXY+CisgICAgICAgIFRoZSBu
b24tYnJlYWtpbmcgc3BhY2UgaXMgY29sbGFwc2VkLiBJdCBkb2VzIG5vdCBzaG93IG9uIHRoZSBz
ZWNvbmQgbGluZSBhcyBsZWFkaW5nIGNvbnRlbnQuCisKKyAgICAgICAgPGRpdiBzdHlsZT0iLXdl
YmtpdC1uYnNwLW1vZGU6IHNwYWNlOyB3aWR0aDogMHB4OyI+CisgICAgICAgICAgZmlyc3RfbGlu
ZTxicj4KKyAgICAgICAgICAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtzZWNvbmRfbGlu
ZQorICAgICAgICA8L2Rpdj4KKyAgICAgICAgVGhlIG5vbi1icmVha2luZyBzcGFjZSBpcyBOT1Qg
Y29sbGFwc2VkLiBJdCBzaG93cyB1cCBhcyBsZWFkaW5nIGNvbnRlbnQgb24gdGhlIHNlY29uZCBs
aW5lLCBpbmRlbnRpbmcgdGhlICJzZWNvbmRfbGluZSIgdGV4dCBjb250ZW50LgorCisgICAgICAg
IFRvIG1pbWljIHRoaXMgbGVnYWN5IGJlaGF2aW9yLCBpdCdzIGVhc2llciBqdXN0IHRvIHN3aXRj
aCBiYWNrIHRvIGhhbmRsaW5nIG5ic3A7IGFzIGEgbm9uLXdoaXRlc3BhY2UgaW5saW5lIGl0ZW0g
YW5kCisgICAgICAgIGNvbGxhcHNlIGl0IGFzIGxlYWRpbmcgY29udGVudCAoZGVwZW5kaW5nIG9u
IHRoZSBicmVha2luZyBjb250ZXh0KS4KKyAgICAgICAgKGFzIG9wcG9zZWQgdG8gY3VzdG9taXpl
IHJlZ3VsYXIgd2hpdGVzcGFjZSBjb250ZW50IGNvbGxhcHNpbmcgYmVoYXZpb3IganVzdCB0byBz
dXBwb3J0IHRoaXMgcXVpcmspCisKKyAgICAgICAgVGVzdDogZmFzdC90ZXh0L2NvbGxhcHNpYmxl
LW5vbi1icmVha2luZy1zcGFjZS5odG1sCisKKyAgICAgICAgKiBsYXlvdXQvZm9ybWF0dGluZ0Nv
bnRleHRzL2lubGluZS9JbmxpbmVJdGVtc0J1aWxkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
TGF5b3V0Ojptb3ZlVG9OZXh0Tm9uV2hpdGVzcGFjZVBvc2l0aW9uKTogcmVtb3ZlIHNwZWNpYWwg
bmJzcDsgaGFuZGxpbmcKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6SW5saW5lSXRlbXNCdWls
ZGVyOjpoYW5kbGVUZXh0Q29udGVudCk6IGNyZWF0ZSBhbiBpbmxpbmUgdGV4dCBpdGVtIGZvciB0
aGUgc3BlY2lhbCBtb24tYnJlYWtpbmcgc3BhY2UgY29udGVudC4gCisgICAgICAgICogbGF5b3V0
L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpMYXlvdXQ6OkxpbmU6OmluaXRpYWxpemUpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0
OjpMaW5lOjphcHBlbmRUZXh0Q29udGVudCk6CisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdD
b250ZXh0cy9pbmxpbmUvSW5saW5lTGluZS5oOgorICAgICAgICAqIGxheW91dC9mb3JtYXR0aW5n
Q29udGV4dHMvaW5saW5lL0lubGluZUxpbmVCdWlsZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkxheW91dDo6TGluZUJ1aWxkZXI6OmlubGluZUl0ZW1XaWR0aCBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpMYXlvdXQ6OkxpbmVCdWlsZGVyOjppbml0aWFsaXplKToKKyAgICAgICAgKFdlYkNv
cmU6OkxheW91dDo6TGluZUJ1aWxkZXI6OmNhbmRpZGF0ZUNvbnRlbnRGb3JMaW5lKToKKyAgICAg
ICAgKFdlYkNvcmU6OkxheW91dDo6TGluZUJ1aWxkZXI6OmhhbmRsZUlubGluZUNvbnRlbnQpOgor
ICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lQnVpbGRlcjo6cmVidWlsZExpbmUpOgorICAg
ICAgICAqIGxheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVCdWlsZGVy
Lmg6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCdWlsZGVyOjppc0ZpcnN0TGluZSBj
b25zdCk6CisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5l
VGV4dEl0ZW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVUZXh0SXRlbTo6
aXNDb2xsYXBzaWJsZU5vbkJyZWFraW5nU3BhY2UgY29uc3QpOgorICAgICAgICAqIGxheW91dC9m
b3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZVRleHRJdGVtLmg6CisKIDIwMjItMDEtMjYg
IEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAgIEFTU0VSVElPTiBG
QUlMRUQ6ICFoYXNQZW5kaW5nU2hlZXRzKCkgdW5kZXIgV2ViQ29yZTo6U3R5bGU6OlNjb3BlOjp+
U2NvcGUoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250
ZXh0cy9pbmxpbmUvSW5saW5lSXRlbXNCdWlsZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUl0ZW1zQnVpbGRlci5jcHAKaW5kZXgg
NTMwNzIyMDgyZmIxNzQ3OWU1ZTVjYjBmNzRlOWU4ZTFkMmY2YTk1Zi4uN2Q5Mjc4NTQ0MDhmMTMz
YjFmY2VmZDEyOTBjODFjYmY1ZTBlNjkxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lSXRlbXNCdWlsZGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVJ
dGVtc0J1aWxkZXIuY3BwCkBAIC00MiwxMyArNDIsMTMgQEAgc3RydWN0IFdoaXRlc3BhY2VDb250
ZW50IHsKICAgICBzaXplX3QgbGVuZ3RoIHsgMCB9OwogICAgIGJvb2wgaXNXb3JkU2VwYXJhdG9y
IHsgdHJ1ZSB9OwogfTsKLXN0YXRpYyBzdGQ6Om9wdGlvbmFsPFdoaXRlc3BhY2VDb250ZW50PiBt
b3ZlVG9OZXh0Tm9uV2hpdGVzcGFjZVBvc2l0aW9uKFN0cmluZ1ZpZXcgdGV4dENvbnRlbnQsIHNp
emVfdCBzdGFydFBvc2l0aW9uLCBib29sIHByZXNlcnZlTmV3bGluZSwgYm9vbCBwcmVzZXJ2ZVRh
YiwgYm9vbCB0cmVhdE5vbkJyZWFraW5nU3BhY2VBc1JlZ3VsYXJTcGFjZSwgYm9vbCBzdG9wQXRX
b3JkU2VwYXJhdG9yQm91bmRhcnkpCitzdGF0aWMgc3RkOjpvcHRpb25hbDxXaGl0ZXNwYWNlQ29u
dGVudD4gbW92ZVRvTmV4dE5vbldoaXRlc3BhY2VQb3NpdGlvbihTdHJpbmdWaWV3IHRleHRDb250
ZW50LCBzaXplX3Qgc3RhcnRQb3NpdGlvbiwgYm9vbCBwcmVzZXJ2ZU5ld2xpbmUsIGJvb2wgcHJl
c2VydmVUYWIsIGJvb2wgc3RvcEF0V29yZFNlcGFyYXRvckJvdW5kYXJ5KQogewogICAgIGF1dG8g
aGFzV29yZFNlcGFyYXRvckNoYXJhY3RlciA9IGZhbHNlOwogICAgIGF1dG8gaXNXb3JkU2VwYXJh
dG9yQ2hhcmFjdGVyID0gZmFsc2U7CiAgICAgYXV0byBpc1doaXRlc3BhY2VDaGFyYWN0ZXIgPSBb
Jl0oYXV0byBjaGFyYWN0ZXIpIHsKICAgICAgICAgLy8gd2hpdGUgc3BhY2UgcHJvY2Vzc2luZyBp
biBDU1MgYWZmZWN0cyBvbmx5IHRoZSBkb2N1bWVudCB3aGl0ZSBzcGFjZSBjaGFyYWN0ZXJzOiBz
cGFjZXMgKFUrMDAyMCksIHRhYnMgKFUrMDAwOSksIGFuZCBzZWdtZW50IGJyZWFrcy4KLSAgICAg
ICAgYXV0byBpc1RyZWF0ZWRBc1NwYWNlQ2hhcmFjdGVyID0gY2hhcmFjdGVyID09IHNwYWNlIHx8
IChjaGFyYWN0ZXIgPT0gbmV3bGluZUNoYXJhY3RlciAmJiAhcHJlc2VydmVOZXdsaW5lKSB8fCAo
Y2hhcmFjdGVyID09IHRhYkNoYXJhY3RlciAmJiAhcHJlc2VydmVUYWIpIHx8IChjaGFyYWN0ZXIg
PT0gbm9CcmVha1NwYWNlICYmIHRyZWF0Tm9uQnJlYWtpbmdTcGFjZUFzUmVndWxhclNwYWNlKTsK
KyAgICAgICAgYXV0byBpc1RyZWF0ZWRBc1NwYWNlQ2hhcmFjdGVyID0gY2hhcmFjdGVyID09IHNw
YWNlIHx8IChjaGFyYWN0ZXIgPT0gbmV3bGluZUNoYXJhY3RlciAmJiAhcHJlc2VydmVOZXdsaW5l
KSB8fCAoY2hhcmFjdGVyID09IHRhYkNoYXJhY3RlciAmJiAhcHJlc2VydmVUYWIpOwogICAgICAg
ICBpc1dvcmRTZXBhcmF0b3JDaGFyYWN0ZXIgPSBpc1RyZWF0ZWRBc1NwYWNlQ2hhcmFjdGVyOwog
ICAgICAgICBoYXNXb3JkU2VwYXJhdG9yQ2hhcmFjdGVyID0gaGFzV29yZFNlcGFyYXRvckNoYXJh
Y3RlciB8fCBpc1dvcmRTZXBhcmF0b3JDaGFyYWN0ZXI7CiAgICAgICAgIHJldHVybiBpc1RyZWF0
ZWRBc1NwYWNlQ2hhcmFjdGVyIHx8IGNoYXJhY3RlciA9PSB0YWJDaGFyYWN0ZXI7CkBAIC00OTAs
NyArNDkwLDYgQEAgdm9pZCBJbmxpbmVJdGVtc0J1aWxkZXI6OmhhbmRsZVRleHRDb250ZW50KGNv
bnN0IElubGluZVRleHRCb3gmIGlubGluZVRleHRCb3gsIEkKICAgICBhdXRvJiBzdHlsZSA9IGlu
bGluZVRleHRCb3guc3R5bGUoKTsKICAgICBhdXRvIHNob3VsZFByZXNlcnZlU3BhY2VzQW5kVGFi
cyA9IFRleHRVdGlsOjpzaG91bGRQcmVzZXJ2ZVNwYWNlc0FuZFRhYnMoaW5saW5lVGV4dEJveCk7
CiAgICAgYXV0byBzaG91bGRQcmVzZXJ2ZU5ld2xpbmUgPSBUZXh0VXRpbDo6c2hvdWxkUHJlc2Vy
dmVOZXdsaW5lKGlubGluZVRleHRCb3gpOwotICAgIGF1dG8gc2hvdWxkVHJlYXROb25CcmVha2lu
Z1NwYWNlQXNSZWd1bGFyU3BhY2UgPSBzdHlsZS5uYnNwTW9kZSgpID09IE5CU1BNb2RlOjpTcGFj
ZTsKICAgICBhdXRvIGxpbmVCcmVha0l0ZXJhdG9yID0gTGF6eUxpbmVCcmVha0l0ZXJhdG9yIHsg
dGV4dCwgc3R5bGUuY29tcHV0ZWRMb2NhbGUoKSwgVGV4dFV0aWw6OmxpbmVCcmVha0l0ZXJhdG9y
TW9kZShzdHlsZS5saW5lQnJlYWsoKSkgfTsKICAgICB1bnNpZ25lZCBjdXJyZW50UG9zaXRpb24g
PSAwOwogCkBAIC01MDgsNyArNTA3LDcgQEAgdm9pZCBJbmxpbmVJdGVtc0J1aWxkZXI6OmhhbmRs
ZVRleHRDb250ZW50KGNvbnN0IElubGluZVRleHRCb3gmIGlubGluZVRleHRCb3gsIEkKIAogICAg
ICAgICBhdXRvIGhhbmRsZVdoaXRlc3BhY2UgPSBbJl0gewogICAgICAgICAgICAgYXV0byBzdG9w
QXRXb3JkU2VwYXJhdG9yQm91bmRhcnkgPSBzaG91bGRQcmVzZXJ2ZVNwYWNlc0FuZFRhYnMgJiYg
c3R5bGUuZm9udENhc2NhZGUoKS53b3JkU3BhY2luZygpOwotICAgICAgICAgICAgYXV0byB3aGl0
ZXNwYWNlQ29udGVudCA9IG1vdmVUb05leHROb25XaGl0ZXNwYWNlUG9zaXRpb24odGV4dCwgY3Vy
cmVudFBvc2l0aW9uLCBzaG91bGRQcmVzZXJ2ZU5ld2xpbmUsIHNob3VsZFByZXNlcnZlU3BhY2Vz
QW5kVGFicywgc2hvdWxkVHJlYXROb25CcmVha2luZ1NwYWNlQXNSZWd1bGFyU3BhY2UsIHN0b3BB
dFdvcmRTZXBhcmF0b3JCb3VuZGFyeSk7CisgICAgICAgICAgICBhdXRvIHdoaXRlc3BhY2VDb250
ZW50ID0gbW92ZVRvTmV4dE5vbldoaXRlc3BhY2VQb3NpdGlvbih0ZXh0LCBjdXJyZW50UG9zaXRp
b24sIHNob3VsZFByZXNlcnZlTmV3bGluZSwgc2hvdWxkUHJlc2VydmVTcGFjZXNBbmRUYWJzLCBz
dG9wQXRXb3JkU2VwYXJhdG9yQm91bmRhcnkpOwogICAgICAgICAgICAgaWYgKCF3aGl0ZXNwYWNl
Q29udGVudCkKICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKQEAgLTUyNyw2ICs1MjYs
MjYgQEAgdm9pZCBJbmxpbmVJdGVtc0J1aWxkZXI6OmhhbmRsZVRleHRDb250ZW50KGNvbnN0IElu
bGluZVRleHRCb3gmIGlubGluZVRleHRCb3gsIEkKICAgICAgICAgaWYgKGhhbmRsZVdoaXRlc3Bh
Y2UoKSkKICAgICAgICAgICAgIGNvbnRpbnVlOwogCisgICAgICAgIGF1dG8gaGFuZGxlTm9uQnJl
YWtpbmdTcGFjZSA9IFsmXSB7CisgICAgICAgICAgICBpZiAoc3R5bGUubmJzcE1vZGUoKSAhPSBO
QlNQTW9kZTo6U3BhY2UpIHsKKyAgICAgICAgICAgICAgICAvLyBMZXQncyBqdXN0IGRlZmVyIHRv
IHJlZ3VsYXIgbm9uLXdoaXRlc3BhY2UgaW5saW5lIGl0ZW1zIHdoZW4gbm9uIGJyZWFraW5nIHNw
YWNlIG5lZWRzIG5vIHNwZWNpYWwgaGFuZGxpbmcuCisgICAgICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOworICAgICAgICAgICAgfQorICAgICAgICAgICAgYXV0byBzdGFydFBvc2l0aW9uID0gY3Vy
cmVudFBvc2l0aW9uOworICAgICAgICAgICAgYXV0byBlbmRQb3NpdGlvbiA9IHN0YXJ0UG9zaXRp
b247CisgICAgICAgICAgICBmb3IgKDsgZW5kUG9zaXRpb24gPCBjb250ZW50TGVuZ3RoOyArK2Vu
ZFBvc2l0aW9uKSB7CisgICAgICAgICAgICAgICAgaWYgKHRleHRbZW5kUG9zaXRpb25dICE9IG5v
QnJlYWtTcGFjZSkKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9Cisg
ICAgICAgICAgICBpZiAoc3RhcnRQb3NpdGlvbiA9PSBlbmRQb3NpdGlvbikKKyAgICAgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICBpbmxpbmVJdGVtcy5hcHBlbmQoSW5saW5l
VGV4dEl0ZW06OmNyZWF0ZU5vbldoaXRlc3BhY2VJdGVtKGlubGluZVRleHRCb3gsIHN0YXJ0UG9z
aXRpb24sIGVuZFBvc2l0aW9uIC0gc3RhcnRQb3NpdGlvbiwgVUJJRElfREVGQVVMVF9MVFIsIHsg
fSwgeyB9KSk7CisgICAgICAgICAgICBjdXJyZW50UG9zaXRpb24gPSBlbmRQb3NpdGlvbjsKKyAg
ICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICB9OworICAgICAgICBpZiAoaGFuZGxlTm9u
QnJlYWtpbmdTcGFjZSgpKQorICAgICAgICAgICAgY29udGludWU7CisKICAgICAgICAgYXV0byBo
YW5kbGVOb25XaGl0ZXNwYWNlID0gWyZdIHsKICAgICAgICAgICAgIGF1dG8gc3RhcnRQb3NpdGlv
biA9IGN1cnJlbnRQb3NpdGlvbjsKICAgICAgICAgICAgIGF1dG8gZW5kUG9zaXRpb24gPSBzdGFy
dFBvc2l0aW9uOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdD
b250ZXh0cy9pbmxpbmUvSW5saW5lTGluZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9y
bWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lLmNwcAppbmRleCA4NzAyYzQxMjk4ZjQz
NWI1NDc2ZWY1YTE0N2JmNTAyZjdkMjYzOTc4Li4yNGEyYjRhZTM0Njc5OGEwODNjNDRjNzhkNjVk
NWRjZmNhNTE0NTU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGlu
Z0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lLmNwcApAQCAtNDksOCArNDks
OSBAQCBMaW5lOjp+TGluZSgpCiB7CiB9CiAKLXZvaWQgTGluZTo6aW5pdGlhbGl6ZShjb25zdCBW
ZWN0b3I8SW5saW5lSXRlbT4mIGxpbmVTcGFubmluZ0lubGluZUJveGVzKQordm9pZCBMaW5lOjpp
bml0aWFsaXplKGNvbnN0IFZlY3RvcjxJbmxpbmVJdGVtPiYgbGluZVNwYW5uaW5nSW5saW5lQm94
ZXMsIGJvb2wgY29sbGFwc2VMZWFkaW5nTm9uQnJlYWtpbmdTcGFjZSkKIHsKKyAgICBtX2NvbGxh
cHNlTGVhZGluZ05vbkJyZWFraW5nU3BhY2UgPSBjb2xsYXBzZUxlYWRpbmdOb25CcmVha2luZ1Nw
YWNlOwogICAgIG1faW5saW5lQm94TGlzdFdpdGhDbG9uZWREZWNvcmF0aW9uRW5kLmNsZWFyKCk7
CiAgICAgbV9jbG9uZWRFbmREZWNvcmF0aW9uV2lkdGhGb3JJbmxpbmVCb3hSdW5zID0geyB9Owog
ICAgIG1fbm9uU3Bhbm5pbmdJbmxpbmVMZXZlbEJveENvdW50ID0gMDsKQEAgLTI2MSw4ICsyNjIs
MTkgQEAgdm9pZCBMaW5lOjphcHBlbmRJbmxpbmVCb3hFbmQoY29uc3QgSW5saW5lSXRlbSYgaW5s
aW5lSXRlbSwgY29uc3QgUmVuZGVyU3R5bGUmIHMKIHZvaWQgTGluZTo6YXBwZW5kVGV4dENvbnRl
bnQoY29uc3QgSW5saW5lVGV4dEl0ZW0mIGlubGluZVRleHRJdGVtLCBjb25zdCBSZW5kZXJTdHls
ZSYgc3R5bGUsIElubGluZUxheW91dFVuaXQgbG9naWNhbFdpZHRoKQogewogICAgIGF1dG8gd2ls
bENvbGxhcHNlQ29tcGxldGVseSA9IFsmXSB7Ci0gICAgICAgIGlmICghaW5saW5lVGV4dEl0ZW0u
aXNXaGl0ZXNwYWNlKCkpCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIGlmICgh
aW5saW5lVGV4dEl0ZW0uaXNXaGl0ZXNwYWNlKCkpIHsKKyAgICAgICAgICAgIGF1dG8gaXNMZWFk
aW5nQ29sbGFwc2libGVOb25CcmVha2luZ1NwYWNlID0gWyZdIHsKKyAgICAgICAgICAgICAgICAv
LyBMZXQncyBjaGVjayBmb3IgbGVhZGluZyBub24tYnJlYWtpbmcgc3BhY2UgY29sbGFwc2luZyB0
byBtYXRjaCBsZWdhY3kgbGluZSBsYXlvdXQgcXVpcmsuCisgICAgICAgICAgICAgICAgaWYgKCFp
bmxpbmVUZXh0SXRlbS5pc0NvbGxhcHNpYmxlTm9uQnJlYWtpbmdTcGFjZSgpIHx8ICFtX2NvbGxh
cHNlTGVhZGluZ05vbkJyZWFraW5nU3BhY2UpCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICAgICAgICAgICAgICBmb3IgKGF1dG8mIHJ1biA6IG1ha2VSZXZlcnNlZFJhbmdl
KG1fcnVucykpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHJ1bi5pc0JveCgpIHx8IHJ1bi5p
c1RleHQoKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgICAgICB9Owor
ICAgICAgICAgICAgcmV0dXJuIGlzTGVhZGluZ0NvbGxhcHNpYmxlTm9uQnJlYWtpbmdTcGFjZSgp
OworICAgICAgICB9CiAgICAgICAgIGlmIChJbmxpbmVUZXh0SXRlbTo6c2hvdWxkUHJlc2VydmVT
cGFjZXNBbmRUYWJzKGlubGluZVRleHRJdGVtKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsK
ICAgICAgICAgLy8gVGhpcyBjb250ZW50IGlzIGNvbGxhcHNpYmxlLiBMZXQncyBjaGVjayBpZiB0
aGUgbGFzdCBpdGVtIGlzIGNvbGxhcHNlZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmUuaCBiL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmUuaAppbmRleCBh
MWY5ZDQzMmY5MzI0MmI2ZTdiMDVmODEwODMwNzVlMGM1YTE1OTQ0Li5mYTlkZmJlZTUxYzQ5NjM1
ZjRiMWYzMGU2NzBlZjdjOGFlZTQ2NDc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZS5oCkBAIC00
Myw3ICs0Myw3IEBAIHB1YmxpYzoKICAgICBMaW5lKGNvbnN0IElubGluZUZvcm1hdHRpbmdDb250
ZXh0Jik7CiAgICAgfkxpbmUoKTsKIAotICAgIHZvaWQgaW5pdGlhbGl6ZShjb25zdCBWZWN0b3I8
SW5saW5lSXRlbT4mIGxpbmVTcGFubmluZ0lubGluZUJveGVzKTsKKyAgICB2b2lkIGluaXRpYWxp
emUoY29uc3QgVmVjdG9yPElubGluZUl0ZW0+JiBsaW5lU3Bhbm5pbmdJbmxpbmVCb3hlcywgYm9v
bCBjb2xsYXBzZUxlYWRpbmdOb25CcmVha2luZ1NwYWNlKTsKIAogICAgIHZvaWQgYXBwZW5kKGNv
bnN0IElubGluZUl0ZW0mLCBjb25zdCBSZW5kZXJTdHlsZSYsIElubGluZUxheW91dFVuaXQgbG9n
aWNhbFdpZHRoKTsKIApAQCAtMjI5LDYgKzIyOSw4IEBAIHByaXZhdGU6CiAgICAgSW5saW5lQm94
TGlzdFdpdGhDbG9uZWREZWNvcmF0aW9uRW5kIG1faW5saW5lQm94TGlzdFdpdGhDbG9uZWREZWNv
cmF0aW9uRW5kOwogICAgIElubGluZUxheW91dFVuaXQgbV9jbG9uZWRFbmREZWNvcmF0aW9uV2lk
dGhGb3JJbmxpbmVCb3hSdW5zIHsgMCB9OwogICAgIGJvb2wgbV9oYXNOb25EZWZhdWx0QmlkaUxl
dmVsUnVuIHsgZmFsc2UgfTsKKyAgICAvLyBOb3RlIHRoYXQgdGhpcyBpcyBvbmx5IG5lZWRlZCBm
b3IgdGhlIHNwZWNpYWwgKGFuZCBhbmNpZW50IGFuZCBub3Qgc3VwcG9ydGVkIGJ5IG90aGVyIGJy
b3dzZXJzKSAiLXdlYmtpdC1uYnNwLW1vZGU6IHNwYWNlIi4KKyAgICBib29sIG1fY29sbGFwc2VM
ZWFkaW5nTm9uQnJlYWtpbmdTcGFjZSB7IGZhbHNlIH07CiB9OwogCiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVC
dWlsZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5s
aW5lL0lubGluZUxpbmVCdWlsZGVyLmNwcAppbmRleCBlNjc3ZDBkY2ZiOTg3NGMyZmUxYjM2MTg5
MzY2MjliMGYxN2JjNWMxLi42NTU2ZWY2OTczNmM1MWQyZjRlZjcxMjdmOTkxNmY5MmJkZmQ2Yjcy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lu
bGluZS9JbmxpbmVMaW5lQnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zv
cm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJ1aWxkZXIuY3BwCkBAIC0yNTksNyAr
MjU5LDcgQEAgSW5saW5lTGF5b3V0VW5pdCBMaW5lQnVpbGRlcjo6aW5saW5lSXRlbVdpZHRoKGNv
bnN0IElubGluZUl0ZW0mIGlubGluZUl0ZW0sIElubGkKICAgICAgICAgYXV0byYgaW5saW5lVGV4
dEl0ZW0gPSBkb3duY2FzdDxJbmxpbmVUZXh0SXRlbT4oaW5saW5lSXRlbSk7CiAgICAgICAgIGlm
IChhdXRvIGNvbnRlbnRXaWR0aCA9IGlubGluZVRleHRJdGVtLndpZHRoKCkpCiAgICAgICAgICAg
ICByZXR1cm4gKmNvbnRlbnRXaWR0aDsKLSAgICAgICAgYXV0byYgZm9udENhc2NhZGUgPSBtX2lz
Rmlyc3RMaW5lID8gaW5saW5lVGV4dEl0ZW0uZmlyc3RMaW5lU3R5bGUoKS5mb250Q2FzY2FkZSgp
IDogaW5saW5lVGV4dEl0ZW0uc3R5bGUoKS5mb250Q2FzY2FkZSgpOworICAgICAgICBhdXRvJiBm
b250Q2FzY2FkZSA9IGlzRmlyc3RMaW5lKCkgPyBpbmxpbmVUZXh0SXRlbS5maXJzdExpbmVTdHls
ZSgpLmZvbnRDYXNjYWRlKCkgOiBpbmxpbmVUZXh0SXRlbS5zdHlsZSgpLmZvbnRDYXNjYWRlKCk7
CiAgICAgICAgIGlmICghaW5saW5lVGV4dEl0ZW0uaXNXaGl0ZXNwYWNlKCkgfHwgSW5saW5lVGV4
dEl0ZW06OnNob3VsZFByZXNlcnZlU3BhY2VzQW5kVGFicyhpbmxpbmVUZXh0SXRlbSkpCiAgICAg
ICAgICAgICByZXR1cm4gVGV4dFV0aWw6OndpZHRoKGlubGluZVRleHRJdGVtLCBmb250Q2FzY2Fk
ZSwgY29udGVudExvZ2ljYWxMZWZ0KTsKICAgICAgICAgcmV0dXJuIFRleHRVdGlsOjp3aWR0aChp
bmxpbmVUZXh0SXRlbSwgZm9udENhc2NhZGUsIGlubGluZVRleHRJdGVtLnN0YXJ0KCksIGlubGlu
ZVRleHRJdGVtLnN0YXJ0KCkgKyAxLCBjb250ZW50TG9naWNhbExlZnQpOwpAQCAtMjgwLDcgKzI4
MCw3IEBAIElubGluZUxheW91dFVuaXQgTGluZUJ1aWxkZXI6OmlubGluZUl0ZW1XaWR0aChjb25z
dCBJbmxpbmVJdGVtJiBpbmxpbmVJdGVtLCBJbmxpCiAgICAgaWYgKGlubGluZUl0ZW0uaXNJbmxp
bmVCb3hTdGFydCgpKSB7CiAgICAgICAgIGF1dG8gbG9naWNhbFdpZHRoID0gYm94R2VvbWV0cnku
bWFyZ2luU3RhcnQoKSArIGJveEdlb21ldHJ5LmJvcmRlclN0YXJ0KCkgKyBib3hHZW9tZXRyeS5w
YWRkaW5nU3RhcnQoKS52YWx1ZV9vcigwKTsKICNpZiBFTkFCTEUoQ1NTX0JPWF9ERUNPUkFUSU9O
X0JSRUFLKQotICAgICAgICBhdXRvJiBzdHlsZSA9IG1faXNGaXJzdExpbmUgPyBpbmxpbmVJdGVt
LmZpcnN0TGluZVN0eWxlKCkgOiBpbmxpbmVJdGVtLnN0eWxlKCk7CisgICAgICAgIGF1dG8mIHN0
eWxlID0gaXNGaXJzdExpbmUoKSA/IGlubGluZUl0ZW0uZmlyc3RMaW5lU3R5bGUoKSA6IGlubGlu
ZUl0ZW0uc3R5bGUoKTsKICAgICAgICAgaWYgKHN0eWxlLmJveERlY29yYXRpb25CcmVhaygpID09
IEJveERlY29yYXRpb25CcmVhazo6Q2xvbmUpCiAgICAgICAgICAgICBsb2dpY2FsV2lkdGggKz0g
Ym94R2VvbWV0cnkuYm9yZGVyRW5kKCkgKyBib3hHZW9tZXRyeS5wYWRkaW5nRW5kKCkudmFsdWVf
b3IoMF9sdSk7CiAjZW5kaWYKQEAgLTQwMSw3ICs0MDEsNyBAQCBMaW5lQnVpbGRlcjo6SW50cmlu
c2ljQ29udGVudCBMaW5lQnVpbGRlcjo6Y29tcHV0ZWRJbnRyaW5zaWNXaWR0aChjb25zdCBJbmxp
bmVJdAogCiB2b2lkIExpbmVCdWlsZGVyOjppbml0aWFsaXplKGNvbnN0IFVzZWRDb25zdHJhaW50
cyYgbGluZUNvbnN0cmFpbnRzLCBzaXplX3QgbGVhZGluZ0lubGluZUl0ZW1JbmRleCwgY29uc3Qg
c3RkOjpvcHRpb25hbDxQcmV2aW91c0xpbmU+JiBwcmV2aW91c0xpbmUpCiB7Ci0gICAgbV9pc0Zp
cnN0TGluZSA9ICFwcmV2aW91c0xpbmU7CisgICAgbV9wcmV2aW91c0xpbmUgPSBwcmV2aW91c0xp
bmU7CiAgICAgbV9mbG9hdHMuY2xlYXIoKTsKICAgICBtX2xpbmVTcGFubmluZ0lubGluZUJveGVz
LmNsZWFyKCk7CiAgICAgbV93cmFwT3Bwb3J0dW5pdHlMaXN0LmNsZWFyKCk7CkBAIC00MzksNyAr
NDM5LDcgQEAgdm9pZCBMaW5lQnVpbGRlcjo6aW5pdGlhbGl6ZShjb25zdCBVc2VkQ29uc3RyYWlu
dHMmIGxpbmVDb25zdHJhaW50cywgc2l6ZV90IGxlYWQKICAgICAgICAgICAgIG1fbGluZVNwYW5u
aW5nSW5saW5lQm94ZXMuYXBwZW5kKHsgKnNwYW5uaW5nSW5saW5lQm94LCBJbmxpbmVJdGVtOjpU
eXBlOjpJbmxpbmVCb3hTdGFydCwgYmlkaUxldmVsRm9yT3BhcXVlSW5saW5lSXRlbSB9KTsKICAg
ICB9OwogICAgIGNyZWF0ZUxpbmVTcGFubmluZ0lubGluZUJveGVzKCk7Ci0gICAgbV9saW5lLmlu
aXRpYWxpemUobV9saW5lU3Bhbm5pbmdJbmxpbmVCb3hlcyk7CisgICAgbV9saW5lLmluaXRpYWxp
emUobV9saW5lU3Bhbm5pbmdJbmxpbmVCb3hlcywgbV9wcmV2aW91c0xpbmUgJiYgIW1fcHJldmlv
dXNMaW5lLT5lbmRzV2l0aExpbmVCcmVhayk7CiAKICAgICBtX2xpbmVNYXJnaW5TdGFydCA9IGxp
bmVDb25zdHJhaW50cy5tYXJnaW5TdGFydDsKICAgICBtX2xpbmVMb2dpY2FsUmVjdCA9IGxpbmVD
b25zdHJhaW50cy5sb2dpY2FsUmVjdDsKQEAgLTY4Niw3ICs2ODYsNyBAQCB2b2lkIExpbmVCdWls
ZGVyOjpjYW5kaWRhdGVDb250ZW50Rm9yTGluZShMaW5lQ2FuZGlkYXRlJiBsaW5lQ2FuZGlkYXRl
LCBzaXplX3QgYwogICAgIGZvciAoYXV0byBpbmRleCA9IGN1cnJlbnRJbmxpbmVJdGVtSW5kZXg7
IGluZGV4IDwgc29mdFdyYXBPcHBvcnR1bml0eUluZGV4OyArK2luZGV4KSB7CiAgICAgICAgIGF1
dG8mIGlubGluZUl0ZW0gPSBtX2lubGluZUl0ZW1zW2luZGV4XTsKICAgICAgICAgYXV0byYgc3R5
bGUgPSBbJl0gKCkgLT4gY29uc3QgUmVuZGVyU3R5bGUmIHsKLSAgICAgICAgICAgIHJldHVybiBt
X2lzRmlyc3RMaW5lID8gaW5saW5lSXRlbS5maXJzdExpbmVTdHlsZSgpIDogaW5saW5lSXRlbS5z
dHlsZSgpOworICAgICAgICAgICAgcmV0dXJuIGlzRmlyc3RMaW5lKCkgPyBpbmxpbmVJdGVtLmZp
cnN0TGluZVN0eWxlKCkgOiBpbmxpbmVJdGVtLnN0eWxlKCk7CiAgICAgICAgIH0oKTsKICAgICAg
ICAgaWYgKGlubGluZUl0ZW0uaXNGbG9hdCgpKSB7CiAgICAgICAgICAgICBsaW5lQ2FuZGlkYXRl
LmZsb2F0SXRlbSA9ICZpbmxpbmVJdGVtOwpAQCAtOTU5LDcgKzk1OSw3IEBAIExpbmVCdWlsZGVy
OjpSZXN1bHQgTGluZUJ1aWxkZXI6OmhhbmRsZUlubGluZUNvbnRlbnQoSW5saW5lQ29udGVudEJy
ZWFrZXImIGlubGluCiAgICAgICAgIGlmIChpbmxpbmVUZXh0SXRlbS5pc1doaXRlc3BhY2UoKSkK
ICAgICAgICAgICAgIHJldHVybiB7IH07CiAgICAgICAgIGF1dG8mIG92ZXJmbG93aW5nUnVuID0g
Y2FuZGlkYXRlUnVucy5maXJzdCgpOwotICAgICAgICBpZiAobV9pc0ZpcnN0TGluZSkgeworICAg
ICAgICBpZiAoaXNGaXJzdExpbmUoKSkgewogICAgICAgICAgICAgYXV0byYgdXNlZFN0eWxlID0g
b3ZlcmZsb3dpbmdSdW4uc3R5bGU7CiAgICAgICAgICAgICBhdXRvJiBzdHlsZSA9IG92ZXJmbG93
aW5nUnVuLmlubGluZUl0ZW0uc3R5bGUoKTsKICAgICAgICAgICAgIGlmICgmdXNlZFN0eWxlICE9
ICZzdHlsZSAmJiB1c2VkU3R5bGUuZm9udENhc2NhZGUoKSAhPSBzdHlsZS5mb250Q2FzY2FkZSgp
KSB7CkBAIC0xMDYwLDcgKzEwNjAsNyBAQCBzaXplX3QgTGluZUJ1aWxkZXI6OnJlYnVpbGRMaW5l
KGNvbnN0IElubGluZUl0ZW1SYW5nZSYgbGF5b3V0UmFuZ2UsIGNvbnN0IElubGluZQogICAgIEFT
U0VSVCghbV93cmFwT3Bwb3J0dW5pdHlMaXN0LmlzRW1wdHkoKSk7CiAgICAgLy8gV2UgbWlnaHQg
YWxyZWFkeSBoYXZlIGFkZGVkIGZsb2F0cy4gVGhleSBzaHJpbmsgdGhlIGF2YWlsYWJsZSBob3Jp
em9udGFsIHNwYWNlIGZvciB0aGUgbGluZS4KICAgICAvLyBMZXQncyBqdXN0IHJldXNlIHdoYXQg
dGhlIGxpbmUgaGFzIGF0IHRoaXMgcG9pbnQuCi0gICAgbV9saW5lLmluaXRpYWxpemUobV9saW5l
U3Bhbm5pbmdJbmxpbmVCb3hlcyk7CisgICAgbV9saW5lLmluaXRpYWxpemUobV9saW5lU3Bhbm5p
bmdJbmxpbmVCb3hlcywgbV9wcmV2aW91c0xpbmUgJiYgIW1fcHJldmlvdXNMaW5lLT5lbmRzV2l0
aExpbmVCcmVhayk7CiAgICAgYXV0byBjdXJyZW50SXRlbUluZGV4ID0gbGF5b3V0UmFuZ2Uuc3Rh
cnQ7CiAgICAgaWYgKG1fcGFydGlhbExlYWRpbmdUZXh0SXRlbSkgewogICAgICAgICBtX2xpbmUu
YXBwZW5kKCptX3BhcnRpYWxMZWFkaW5nVGV4dEl0ZW0sIG1fcGFydGlhbExlYWRpbmdUZXh0SXRl
bS0+c3R5bGUoKSwgaW5saW5lSXRlbVdpZHRoKCptX3BhcnRpYWxMZWFkaW5nVGV4dEl0ZW0sIHsg
fSkpOwpAQCAtMTA3MCw3ICsxMDcwLDcgQEAgc2l6ZV90IExpbmVCdWlsZGVyOjpyZWJ1aWxkTGlu
ZShjb25zdCBJbmxpbmVJdGVtUmFuZ2UmIGxheW91dFJhbmdlLCBjb25zdCBJbmxpbmUKICAgICB9
CiAgICAgZm9yICg7IGN1cnJlbnRJdGVtSW5kZXggPCBsYXlvdXRSYW5nZS5lbmQ7ICsrY3VycmVu
dEl0ZW1JbmRleCkgewogICAgICAgICBhdXRvJiBpbmxpbmVJdGVtID0gbV9pbmxpbmVJdGVtc1tj
dXJyZW50SXRlbUluZGV4XTsKLSAgICAgICAgYXV0byYgc3R5bGUgPSBtX2lzRmlyc3RMaW5lID8g
aW5saW5lSXRlbS5maXJzdExpbmVTdHlsZSgpIDogaW5saW5lSXRlbS5zdHlsZSgpOworICAgICAg
ICBhdXRvJiBzdHlsZSA9IGlzRmlyc3RMaW5lKCkgPyBpbmxpbmVJdGVtLmZpcnN0TGluZVN0eWxl
KCkgOiBpbmxpbmVJdGVtLnN0eWxlKCk7CiAgICAgICAgIG1fbGluZS5hcHBlbmQoaW5saW5lSXRl
bSwgc3R5bGUsIGlubGluZUl0ZW1XaWR0aChpbmxpbmVJdGVtLCBtX2xpbmUuY29udGVudExvZ2lj
YWxSaWdodCgpKSk7CiAgICAgICAgIGlmICgmaW5saW5lSXRlbSA9PSAmbGFzdElubGluZUl0ZW1U
b0FkZCkKICAgICAgICAgICAgIHJldHVybiBjdXJyZW50SXRlbUluZGV4IC0gbGF5b3V0UmFuZ2Uu
c3RhcnQgKyAxOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdD
b250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJ1aWxkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVCdWlsZGVyLmgKaW5kZXggNzY0
NmFjZDAyODU2YmQ3M2JkNGE0ZDNjNTNjZmE2M2NkZGRlNWRhOC4uOTlkOTQwY2ZhYzA0MmYxODg1
NGJiYWRlZjc1OGJkMjliZmViMTBkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJ1aWxkZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQnVp
bGRlci5oCkBAIC0xMjUsNiArMTI1LDggQEAgcHJpdmF0ZToKICAgICBzdGQ6Om9wdGlvbmFsPElu
dHJpbnNpY1dpZHRoTW9kZT4gaW50cmluc2ljV2lkdGhNb2RlKCkgY29uc3QgeyByZXR1cm4gbV9p
bnRyaW5zaWNXaWR0aE1vZGU7IH0KICAgICBib29sIGlzSW5JbnRyaW5zaWNXaWR0aE1vZGUoKSBj
b25zdCB7IHJldHVybiAhIWludHJpbnNpY1dpZHRoTW9kZSgpOyB9CiAKKyAgICBib29sIGlzRmly
c3RMaW5lKCkgY29uc3QgeyByZXR1cm4gIW1fcHJldmlvdXNMaW5lLmhhc192YWx1ZSgpOyB9CisK
ICAgICBjb25zdCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dCYgZm9ybWF0dGluZ0NvbnRleHQoKSBj
b25zdCB7IHJldHVybiBtX2lubGluZUZvcm1hdHRpbmdDb250ZXh0OyB9CiAgICAgSW5saW5lRm9y
bWF0dGluZ1N0YXRlKiBmb3JtYXR0aW5nU3RhdGUoKSB7IHJldHVybiBtX2lubGluZUZvcm1hdHRp
bmdTdGF0ZTsgfQogICAgIEZsb2F0aW5nU3RhdGUqIGZsb2F0aW5nU3RhdGUoKSB7IHJldHVybiBt
X2Zsb2F0aW5nU3RhdGU7IH0KQEAgLTEzMyw3ICsxMzUsNyBAQCBwcml2YXRlOgogICAgIGNvbnN0
IExheW91dFN0YXRlJiBsYXlvdXRTdGF0ZSgpIGNvbnN0OwogCiBwcml2YXRlOgotICAgIGJvb2wg
bV9pc0ZpcnN0TGluZSB7IGZhbHNlIH07CisgICAgc3RkOjpvcHRpb25hbDxQcmV2aW91c0xpbmU+
IG1fcHJldmlvdXNMaW5lIHsgfTsKICAgICBzdGQ6Om9wdGlvbmFsPEludHJpbnNpY1dpZHRoTW9k
ZT4gbV9pbnRyaW5zaWNXaWR0aE1vZGU7CiAgICAgY29uc3QgSW5saW5lRm9ybWF0dGluZ0NvbnRl
eHQmIG1faW5saW5lRm9ybWF0dGluZ0NvbnRleHQ7CiAgICAgSW5saW5lRm9ybWF0dGluZ1N0YXRl
KiBtX2lubGluZUZvcm1hdHRpbmdTdGF0ZSB7IG51bGxwdHIgfTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZVRleHRJdGVt
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lu
bGluZVRleHRJdGVtLmNwcAppbmRleCBkZTE1ZGQwY2M4NzFiN2I2ZTczN2JmODZlYzQ2OWM5MDA0
ZWU4ZGEzLi44NThlOGY3NGFlMjkwM2JiNGRlOGIzNDY1ZGI2NDk5YjM4M2JiNzM0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9Jbmxp
bmVUZXh0SXRlbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250
ZXh0cy9pbmxpbmUvSW5saW5lVGV4dEl0ZW0uY3BwCkBAIC04OCw2ICs4OCwxNCBAQCBib29sIElu
bGluZVRleHRJdGVtOjppc1plcm9XaWR0aFNwYWNlU2VwYXJhdG9yKCkgY29uc3QKICAgICByZXR1
cm4gIW1fbGVuZ3RoIHx8IChtX2xlbmd0aCA9PSAxICYmIGlubGluZVRleHRCb3goKS5jb250ZW50
KClbc3RhcnQoKV0gPT0gemVyb1dpZHRoU3BhY2UpOyAKIH0KIAorYm9vbCBJbmxpbmVUZXh0SXRl
bTo6aXNDb2xsYXBzaWJsZU5vbkJyZWFraW5nU3BhY2UoKSBjb25zdAoreworICAgIGlmIChzdHls
ZSgpLm5ic3BNb2RlKCkgIT0gTkJTUE1vZGU6OlNwYWNlKQorICAgICAgICByZXR1cm4gZmFsc2U7
CisgICAgLy8gTm90ZSB0aGF0IHRoaXMgdGV4dCBpdGVtIG1heSBiZSBsb25nZXIgdGhhbiBqdXN0
IG9uZSBjaGFyYWN0ZXIuCisgICAgcmV0dXJuIG1fbGVuZ3RoICYmIGlubGluZVRleHRCb3goKS5j
b250ZW50KClbc3RhcnQoKV0gPT0gbm9CcmVha1NwYWNlOworfQorCiBib29sIElubGluZVRleHRJ
dGVtOjpzaG91bGRQcmVzZXJ2ZVNwYWNlc0FuZFRhYnMoY29uc3QgSW5saW5lVGV4dEl0ZW0mIGlu
bGluZVRleHRJdGVtKQogewogICAgIEFTU0VSVChpbmxpbmVUZXh0SXRlbS5pc1doaXRlc3BhY2Uo
KSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRz
L2lubGluZS9JbmxpbmVUZXh0SXRlbS5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRp
bmdDb250ZXh0cy9pbmxpbmUvSW5saW5lVGV4dEl0ZW0uaAppbmRleCA2OTE4NDU3MTdhOTA0M2Q5
YWMyZDg3MzY0NzE1NjI3MTM5Y2M3YzJkLi41YzkzODJmZmViZDY0NWUxZWFhMjY1ZTdmMTczYWJl
MjMwNDI3Y2U4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0Nv
bnRleHRzL2lubGluZS9JbmxpbmVUZXh0SXRlbS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZVRleHRJdGVtLmgKQEAgLTUwLDYgKzUw
LDcgQEAgcHVibGljOgogICAgIGJvb2wgaXNXaGl0ZXNwYWNlKCkgY29uc3QgeyByZXR1cm4gbV90
ZXh0SXRlbVR5cGUgPT0gVGV4dEl0ZW1UeXBlOjpXaGl0ZXNwYWNlOyB9CiAgICAgYm9vbCBpc1dv
cmRTZXBhcmF0b3IoKSBjb25zdCB7IHJldHVybiBtX2lzV29yZFNlcGFyYXRvcjsgfQogICAgIGJv
b2wgaXNaZXJvV2lkdGhTcGFjZVNlcGFyYXRvcigpIGNvbnN0OworICAgIGJvb2wgaXNDb2xsYXBz
aWJsZU5vbkJyZWFraW5nU3BhY2UoKSBjb25zdDsKICAgICBib29sIGhhc1RyYWlsaW5nU29mdEh5
cGhlbigpIGNvbnN0IHsgcmV0dXJuIG1faGFzVHJhaWxpbmdTb2Z0SHlwaGVuOyB9CiAgICAgc3Rk
OjpvcHRpb25hbDxJbmxpbmVMYXlvdXRVbml0PiB3aWR0aCgpIGNvbnN0IHsgcmV0dXJuIG1faGFz
V2lkdGggPyBzdGQ6Om1ha2Vfb3B0aW9uYWwobV93aWR0aCkgOiBzdGQ6Om9wdGlvbmFsPElubGlu
ZUxheW91dFVuaXQ+IHsgfTsgfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNjI4OTExYjRkY2FkNzUwMjRlNzc1YTZkYmNl
MDllNGFhZDIwYWQ2YS4uZmI3YjAyOTNjYWJmNmEwM2Q0NjY5ZThmZjU3ODE0YmU0N2VhOThmYyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIyLTAxLTI2ICBBbGFuIEJ1anRhcyAgPHphbGFuQGFw
cGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OIChyMjgxMzA2KTogTm9uLWJyZWFraW5nIHNw
YWNlIGluY29ycmVjdGx5IGNvbGxhcHNlZCB3aGVuIHdlYmtpdC1uYnNwLW1vZGUgaXMgc2V0IHRv
ICJzcGFjZSIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIzNTYyNworICAgICAgICA8cmRhcjovLzg4MDA0ODMxPgorCisgICAgICAgIFJldmlld2VkIGJ5
IEFudHRpIEtvaXZpc3RvLgorCisgICAgICAgICogZmFzdC90ZXh0L2NvbGxhcHNpYmxlLW5vbi1i
cmVha2luZy1zcGFjZS1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3RleHQv
Y29sbGFwc2libGUtbm9uLWJyZWFraW5nLXNwYWNlLmh0bWw6IEFkZGVkLgorCiAyMDIyLTAxLTI2
ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9TXSBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS9nZXRDb21wdXRlZFN0eWxlLWRl
dGFjaGVkLXN1YnRyZWUuaHRtbCBpcyBmYWlsaW5nCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L3RleHQvY29sbGFwc2libGUtbm9uLWJyZWFraW5nLXNwYWNlLWV4cGVjdGVkLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L3RleHQvY29sbGFwc2libGUtbm9uLWJyZWFraW5nLXNwYWNlLWV4cGVj
dGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYjYwOTVkMTgzNjdiMWU4MmE3YzVjMjVjM2FjYzQ5MGJlNWJm
M2VhZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9jb2xsYXBzaWJs
ZS1ub24tYnJlYWtpbmctc3BhY2UtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDggQEAKKzxzdHls
ZT4KK2RpdiB7CisgIGJhY2tncm91bmQtY29sb3I6IGdyZWVuOworICB3aWR0aDogODBweDsKKyAg
aGVpZ2h0OiAyMjBweDsKK30KKzwvc3R5bGU+Cis8ZGl2PjwvZGl2PgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC90ZXh0L2NvbGxhcHNpYmxlLW5vbi1icmVha2luZy1zcGFjZS5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC90ZXh0L2NvbGxhcHNpYmxlLW5vbi1icmVha2luZy1zcGFjZS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmEyNjFhNDFhYWZhN2U4NTU3MDQxMjliZDg4ZGI1MzQ5ZWE5NTY4ZTgKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvY29sbGFwc2libGUtbm9uLWJy
ZWFraW5nLXNwYWNlLmh0bWwKQEAgLTAsMCArMSwyMiBAQAorPHN0eWxlPgorYm9keSB7CisgIGZv
bnQtc2l6ZTogMjBweDsKKyAgZm9udC1mYW1pbHk6IEFoZW07CisgIGNvbG9yOiBncmVlbjsKK30K
K2RpdiB7CisgIC13ZWJraXQtbmJzcC1tb2RlOiBzcGFjZTsKKyAgYmFja2dyb3VuZC1jb2xvcjog
Z3JlZW47CisgIGZsb2F0OiBsZWZ0OworICBjbGVhcjogYm90aDsKK30KKzwvc3R5bGU+Cis8ZGl2
PiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzwvZGl2PgorPGRpdj5YWCZuYnNwOyZuYnNwOzwvZGl2
PgorPGRpdj5YJm5ic3A7Jm5ic3A7WDwvZGl2PgorPGRpdiBzdHlsZT0id2lkdGg6IDBweDsiPlhY
WFgmbmJzcDsmbmJzcDtYWFhYPC9kaXY+Cis8ZGl2IHN0eWxlPSJ3aGl0ZS1zcGFjZTogcHJlIj5Y
WCZuYnNwOyZuYnNwOworWFhYPC9kaXY+Cis8ZGl2IHN0eWxlPSJ3aGl0ZS1zcGFjZTogcHJlIj5Y
WCZuYnNwOyZuYnNwOworJm5ic3A7Jm5ic3A7WFg8L2Rpdj4KKzxkaXY+WFhYJm5ic3A7PGJyPiZu
YnNwO1hYWDwvZGl2PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2Zhc3Qv
dGV4dC93aGl0ZXNwYWNlL25ic3AtbW9kZS1hbmQtbGluZXdyYXBzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2lvcy9mYXN0L3RleHQvd2hpdGVzcGFjZS9uYnNwLW1vZGUtYW5k
LWxpbmV3cmFwcy1leHBlY3RlZC50eHQKaW5kZXggN2FiNWY2M2IyM2RlMWEzNzU3ZTA2NDgwZGM0
YWEyZTNjZGNkODg1Ni4uMGY2NDAwN2U3ODEwZjQwOWM5N2U2M2ZmYzgwYmVjYTljYjY5MTRmOSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2Zhc3QvdGV4dC93aGl0ZXNwYWNl
L25ic3AtbW9kZS1hbmQtbGluZXdyYXBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9pb3MvZmFzdC90ZXh0L3doaXRlc3BhY2UvbmJzcC1tb2RlLWFuZC1saW5ld3JhcHMt
ZXhwZWN0ZWQudHh0CkBAIC01LDEwICs1LDEwIEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYw
MAogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU4NAogbGF5ZXIgYXQg
KDEwMCw4KSBzaXplIDcwMHgyMDgKICAgUmVuZGVyQmxvY2sgKHBvc2l0aW9uZWQpIHtESVZ9IGF0
ICgxMDAsOCkgc2l6ZSA3MDB4MjA4IFtib3JkZXI6ICgycHggc29saWQgI0ZGMDAwMCldCi0gICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxNCwxNSkgc2l6ZSA2NTl4MTc4Ci0gICAgICB0ZXh0IHJ1
biBhdCAoMTQsMTUpIHdpZHRoIDY1OTogIlRoaXMgZGl2IGlzIGFic29sdXRlbHkgcG9zaXRpb25l
ZCB0byB0aGUgbGVmdC4gQWxsIHRoZSBzcGFjZXMgaW4gdGhpcyBkaXYiCi0gICAgICB0ZXh0IHJ1
biBhdCAoMTQsNDUpIHdpZHRoIDYzODogImFyZSByZXBsYWNlZCB3aXRoIG5vbi1icmVha2luZyBz
cGFjZXMsIGFuZCB0aGUgbmJzcC1tb2RlIGZvciB0aGlzIgotICAgICAgdGV4dCBydW4gYXQgKDE0
LDc1KSB3aWR0aCA2MTA6ICJkaXYgaXMgJ3NwYWNlJywgc28gd2hlbiBjYWxjdWxhdGluZyBsaW5l
IGJyZWFrcywgdGhlIG5vbi1icmVha2luZyIKLSAgICAgIHRleHQgcnVuIGF0ICgxNCwxMDUpIHdp
ZHRoIDY1MTogInNwYWNlcyBzaG91bGQgYmUgdHJlYXRlZCBhcyBub3JtYWwgc3BhY2VzLiBJZiB0
aGlzIGlzbid0IHRoZSBjYXNlLCB0aGVuIgotICAgICAgdGV4dCBydW4gYXQgKDE0LDEzNSkgd2lk
dGggNjIyOiAiYWxsIHRoZSB0ZXh0IGZvciB0aGlzIHBhcmFncmFwaCB3aWxsIGJlIHJlbmRlcmVk
IGluIHR3byBsaW5lcywgYW5kIGEiCisgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxNCwxNSkg
c2l6ZSA2NjV4MTc4CisgICAgICB0ZXh0IHJ1biBhdCAoMTQsMTUpIHdpZHRoIDY2NTogIlRoaXMg
ZGl2IGlzIGFic29sdXRlbHkgcG9zaXRpb25lZCB0byB0aGUgbGVmdC4gQWxsIHRoZSBzcGFjZXMg
aW4gdGhpcyBkaXYgIgorICAgICAgdGV4dCBydW4gYXQgKDE0LDQ1KSB3aWR0aCA2NDQ6ICJhcmUg
cmVwbGFjZWQgd2l0aCBub24tYnJlYWtpbmcgc3BhY2VzLCBhbmQgdGhlIG5ic3AtbW9kZSBmb3Ig
dGhpcyAiCisgICAgICB0ZXh0IHJ1biBhdCAoMTQsNzUpIHdpZHRoIDYxNjogImRpdiBpcyAnc3Bh
Y2UnLCBzbyB3aGVuIGNhbGN1bGF0aW5nIGxpbmUgYnJlYWtzLCB0aGUgbm9uLWJyZWFraW5nICIK
KyAgICAgIHRleHQgcnVuIGF0ICgxNCwxMDUpIHdpZHRoIDY1NzogInNwYWNlcyBzaG91bGQgYmUg
dHJlYXRlZCBhcyBub3JtYWwgc3BhY2VzLiBJZiB0aGlzIGlzbid0IHRoZSBjYXNlLCB0aGVuICIK
KyAgICAgIHRleHQgcnVuIGF0ICgxNCwxMzUpIHdpZHRoIDYyODogImFsbCB0aGUgdGV4dCBmb3Ig
dGhpcyBwYXJhZ3JhcGggd2lsbCBiZSByZW5kZXJlZCBpbiB0d28gbGluZXMsIGFuZCBhICIKICAg
ICAgIHRleHQgcnVuIGF0ICgxNCwxNjUpIHdpZHRoIDQ4MjogImhvcml6b250YWwgc2Nyb2xsIGJh
ciB3aWxsIGFwcGVhciBhbG9uZyB0aGUgYm90dG9tLiIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9mYXN0L3RleHQvd2hpdGVzcGFjZS9uYnNwLW1vZGUtYW5kLWxpbmV3cmFw
cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L3doaXRl
c3BhY2UvbmJzcC1tb2RlLWFuZC1saW5ld3JhcHMtZXhwZWN0ZWQudHh0CmluZGV4IGM2OTlkOWU0
NzA4NGM5YjdhODVjMmZmYTRlYmNlYTI1NmU3NjI1M2QuLjhlMmZjZDAyNDg3Mjc0ODRkODMzOTU2
ZTkzZmNmZGEzMTIzMjA0NjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9m
YXN0L3RleHQvd2hpdGVzcGFjZS9uYnNwLW1vZGUtYW5kLWxpbmV3cmFwcy1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC93aGl0ZXNwYWNlL25ic3At
bW9kZS1hbmQtbGluZXdyYXBzLWV4cGVjdGVkLnR4dApAQCAtNSwxMCArNSwxMCBAQCBsYXllciBh
dCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXpl
IDc4NHg1ODQKIGxheWVyIGF0ICgxMDAsOCkgc2l6ZSA3MDB4MTk2CiAgIFJlbmRlckJsb2NrIChw
b3NpdGlvbmVkKSB7RElWfSBhdCAoMTAwLDgpIHNpemUgNzAweDE5NiBbYm9yZGVyOiAoMnB4IHNv
bGlkICNGRjAwMDApXQotICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTQsMTQpIHNpemUgNjU5
eDE2OAotICAgICAgdGV4dCBydW4gYXQgKDE0LDE0KSB3aWR0aCA2NTk6ICJUaGlzIGRpdiBpcyBh
YnNvbHV0ZWx5IHBvc2l0aW9uZWQgdG8gdGhlIGxlZnQuIEFsbCB0aGUgc3BhY2VzIGluIHRoaXMg
ZGl2IgotICAgICAgdGV4dCBydW4gYXQgKDE0LDQyKSB3aWR0aCA2Mzg6ICJhcmUgcmVwbGFjZWQg
d2l0aCBub24tYnJlYWtpbmcgc3BhY2VzLCBhbmQgdGhlIG5ic3AtbW9kZSBmb3IgdGhpcyIKLSAg
ICAgIHRleHQgcnVuIGF0ICgxNCw3MCkgd2lkdGggNjEwOiAiZGl2IGlzICdzcGFjZScsIHNvIHdo
ZW4gY2FsY3VsYXRpbmcgbGluZSBicmVha3MsIHRoZSBub24tYnJlYWtpbmciCi0gICAgICB0ZXh0
IHJ1biBhdCAoMTQsOTgpIHdpZHRoIDY1MTogInNwYWNlcyBzaG91bGQgYmUgdHJlYXRlZCBhcyBu
b3JtYWwgc3BhY2VzLiBJZiB0aGlzIGlzbid0IHRoZSBjYXNlLCB0aGVuIgotICAgICAgdGV4dCBy
dW4gYXQgKDE0LDEyNikgd2lkdGggNjIyOiAiYWxsIHRoZSB0ZXh0IGZvciB0aGlzIHBhcmFncmFw
aCB3aWxsIGJlIHJlbmRlcmVkIGluIHR3byBsaW5lcywgYW5kIGEiCisgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICgxNCwxNCkgc2l6ZSA2NjV4MTY4CisgICAgICB0ZXh0IHJ1biBhdCAoMTQsMTQp
IHdpZHRoIDY2NTogIlRoaXMgZGl2IGlzIGFic29sdXRlbHkgcG9zaXRpb25lZCB0byB0aGUgbGVm
dC4gQWxsIHRoZSBzcGFjZXMgaW4gdGhpcyBkaXYgIgorICAgICAgdGV4dCBydW4gYXQgKDE0LDQy
KSB3aWR0aCA2NDQ6ICJhcmUgcmVwbGFjZWQgd2l0aCBub24tYnJlYWtpbmcgc3BhY2VzLCBhbmQg
dGhlIG5ic3AtbW9kZSBmb3IgdGhpcyAiCisgICAgICB0ZXh0IHJ1biBhdCAoMTQsNzApIHdpZHRo
IDYxNjogImRpdiBpcyAnc3BhY2UnLCBzbyB3aGVuIGNhbGN1bGF0aW5nIGxpbmUgYnJlYWtzLCB0
aGUgbm9uLWJyZWFraW5nICIKKyAgICAgIHRleHQgcnVuIGF0ICgxNCw5OCkgd2lkdGggNjU3OiAi
c3BhY2VzIHNob3VsZCBiZSB0cmVhdGVkIGFzIG5vcm1hbCBzcGFjZXMuIElmIHRoaXMgaXNuJ3Qg
dGhlIGNhc2UsIHRoZW4gIgorICAgICAgdGV4dCBydW4gYXQgKDE0LDEyNikgd2lkdGggNjI4OiAi
YWxsIHRoZSB0ZXh0IGZvciB0aGlzIHBhcmFncmFwaCB3aWxsIGJlIHJlbmRlcmVkIGluIHR3byBs
aW5lcywgYW5kIGEgIgogICAgICAgdGV4dCBydW4gYXQgKDE0LDE1NCkgd2lkdGggNDgyOiAiaG9y
aXpvbnRhbCBzY3JvbGwgYmFyIHdpbGwgYXBwZWFyIGFsb25nIHRoZSBib3R0b20uIgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>450078</attachid>
            <date>2022-01-26 15:24:43 -0800</date>
            <delta_ts>2022-01-26 15:55:01 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235627-20220126152442.patch</filename>
            <type>text/plain</type>
            <size>25269</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4NjE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWVhNmFlZDFkNjE1NWE3
MThkYjNjOTNjZDFmMTA1YThlNjQ2NWRiNC4uZjEyNWU3NmI0Y2Q3YjcyNGFjNWJhZTZlMDNlMmU4
OTQzN2IxMjBjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDIyLTAxLTI2ICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OIChyMjgxMzA2
KTogTm9uLWJyZWFraW5nIHNwYWNlIGluY29ycmVjdGx5IGNvbGxhcHNlZCB3aGVuIHdlYmtpdC1u
YnNwLW1vZGUgaXMgc2V0IHRvICJzcGFjZSIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIzNTYyNworICAgICAgICA8cmRhcjovLzg4MDA0ODMxPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IEFudHRpIEtvaXZpc3RvLgorCisgICAgICAgICItd2Via2l0LW5i
c3AtbW9kZTogc3BhY2UiIGhhcyBhIHBlY3VsaWFyIGNvbGxhcHNpbmcgYmVoYXZpb3IuIEl0IG9u
bHkgY29sbGFwc2VzIGFzIGxlYWRpbmcgY29udGVudAorICAgICAgICBwcmVjZWRlZCBieSBmb3Jj
ZWQgbGluZSBicmVhay4KKworICAgICAgICA8ZGl2IHN0eWxlPSItd2Via2l0LW5ic3AtbW9kZTog
c3BhY2U7IHdpZHRoOiAwcHg7Ij4KKyAgICAgICAgICBmaXJzdF9saW5lJm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7c2Vjb25kX2xpbmUKKyAgICAgICAgPC9kaXY+CisgICAgICAgIFRoZSBu
b24tYnJlYWtpbmcgc3BhY2UgaXMgY29sbGFwc2VkLiBJdCBkb2VzIG5vdCBzaG93IG9uIHRoZSBz
ZWNvbmQgbGluZSBhcyBsZWFkaW5nIGNvbnRlbnQuCisKKyAgICAgICAgPGRpdiBzdHlsZT0iLXdl
YmtpdC1uYnNwLW1vZGU6IHNwYWNlOyB3aWR0aDogMHB4OyI+CisgICAgICAgICAgZmlyc3RfbGlu
ZTxicj4KKyAgICAgICAgICAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtzZWNvbmRfbGlu
ZQorICAgICAgICA8L2Rpdj4KKyAgICAgICAgVGhlIG5vbi1icmVha2luZyBzcGFjZSBpcyBOT1Qg
Y29sbGFwc2VkLiBJdCBzaG93cyB1cCBhcyBsZWFkaW5nIGNvbnRlbnQgb24gdGhlIHNlY29uZCBs
aW5lLCBpbmRlbnRpbmcgdGhlICJzZWNvbmRfbGluZSIgdGV4dCBjb250ZW50LgorCisgICAgICAg
IFRvIG1pbWljIHRoaXMgbGVnYWN5IGJlaGF2aW9yLCBpdCdzIGVhc2llciBqdXN0IHRvIHN3aXRj
aCBiYWNrIHRvIGhhbmRsaW5nIG5ic3A7IGFzIGEgbm9uLXdoaXRlc3BhY2UgaW5saW5lIGl0ZW0g
YW5kCisgICAgICAgIGNvbGxhcHNlIGl0IGFzIGxlYWRpbmcgY29udGVudCAoZGVwZW5kaW5nIG9u
IHRoZSBicmVha2luZyBjb250ZXh0KS4KKyAgICAgICAgKGFzIG9wcG9zZWQgdG8gY3VzdG9taXpl
IHJlZ3VsYXIgd2hpdGVzcGFjZSBjb250ZW50IGNvbGxhcHNpbmcgYmVoYXZpb3IganVzdCB0byBz
dXBwb3J0IHRoaXMgcXVpcmspCisKKyAgICAgICAgVGVzdDogZmFzdC90ZXh0L2NvbGxhcHNpYmxl
LW5vbi1icmVha2luZy1zcGFjZS5odG1sCisKKyAgICAgICAgKiBsYXlvdXQvZm9ybWF0dGluZ0Nv
bnRleHRzL2lubGluZS9JbmxpbmVJdGVtc0J1aWxkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
TGF5b3V0Ojptb3ZlVG9OZXh0Tm9uV2hpdGVzcGFjZVBvc2l0aW9uKTogcmVtb3ZlIHNwZWNpYWwg
bmJzcDsgaGFuZGxpbmcKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6SW5saW5lSXRlbXNCdWls
ZGVyOjpoYW5kbGVUZXh0Q29udGVudCk6IGNyZWF0ZSBhbiBpbmxpbmUgdGV4dCBpdGVtIGZvciB0
aGUgc3BlY2lhbCBtb24tYnJlYWtpbmcgc3BhY2UgY29udGVudC4gCisgICAgICAgICogbGF5b3V0
L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpMYXlvdXQ6OkxpbmU6OmluaXRpYWxpemUpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0
OjpMaW5lOjphcHBlbmRUZXh0Q29udGVudCk6CisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdD
b250ZXh0cy9pbmxpbmUvSW5saW5lTGluZS5oOgorICAgICAgICAqIGxheW91dC9mb3JtYXR0aW5n
Q29udGV4dHMvaW5saW5lL0lubGluZUxpbmVCdWlsZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkxheW91dDo6TGluZUJ1aWxkZXI6OmlubGluZUl0ZW1XaWR0aCBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpMYXlvdXQ6OkxpbmVCdWlsZGVyOjppbml0aWFsaXplKToKKyAgICAgICAgKFdlYkNv
cmU6OkxheW91dDo6TGluZUJ1aWxkZXI6OmNhbmRpZGF0ZUNvbnRlbnRGb3JMaW5lKToKKyAgICAg
ICAgKFdlYkNvcmU6OkxheW91dDo6TGluZUJ1aWxkZXI6OmhhbmRsZUlubGluZUNvbnRlbnQpOgor
ICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lQnVpbGRlcjo6cmVidWlsZExpbmUpOgorICAg
ICAgICAqIGxheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVCdWlsZGVy
Lmg6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCdWlsZGVyOjppc0ZpcnN0TGluZSBj
b25zdCk6CisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5l
VGV4dEl0ZW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVUZXh0SXRlbTo6
aXNDb2xsYXBzaWJsZU5vbkJyZWFraW5nU3BhY2UgY29uc3QpOgorICAgICAgICAqIGxheW91dC9m
b3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZVRleHRJdGVtLmg6CisKIDIwMjItMDEtMjYg
IEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAgIEFTU0VSVElPTiBG
QUlMRUQ6ICFoYXNQZW5kaW5nU2hlZXRzKCkgdW5kZXIgV2ViQ29yZTo6U3R5bGU6OlNjb3BlOjp+
U2NvcGUoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250
ZXh0cy9pbmxpbmUvSW5saW5lSXRlbXNCdWlsZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUl0ZW1zQnVpbGRlci5jcHAKaW5kZXgg
NTMwNzIyMDgyZmIxNzQ3OWU1ZTVjYjBmNzRlOWU4ZTFkMmY2YTk1Zi4uN2Q5Mjc4NTQ0MDhmMTMz
YjFmY2VmZDEyOTBjODFjYmY1ZTBlNjkxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lSXRlbXNCdWlsZGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVJ
dGVtc0J1aWxkZXIuY3BwCkBAIC00MiwxMyArNDIsMTMgQEAgc3RydWN0IFdoaXRlc3BhY2VDb250
ZW50IHsKICAgICBzaXplX3QgbGVuZ3RoIHsgMCB9OwogICAgIGJvb2wgaXNXb3JkU2VwYXJhdG9y
IHsgdHJ1ZSB9OwogfTsKLXN0YXRpYyBzdGQ6Om9wdGlvbmFsPFdoaXRlc3BhY2VDb250ZW50PiBt
b3ZlVG9OZXh0Tm9uV2hpdGVzcGFjZVBvc2l0aW9uKFN0cmluZ1ZpZXcgdGV4dENvbnRlbnQsIHNp
emVfdCBzdGFydFBvc2l0aW9uLCBib29sIHByZXNlcnZlTmV3bGluZSwgYm9vbCBwcmVzZXJ2ZVRh
YiwgYm9vbCB0cmVhdE5vbkJyZWFraW5nU3BhY2VBc1JlZ3VsYXJTcGFjZSwgYm9vbCBzdG9wQXRX
b3JkU2VwYXJhdG9yQm91bmRhcnkpCitzdGF0aWMgc3RkOjpvcHRpb25hbDxXaGl0ZXNwYWNlQ29u
dGVudD4gbW92ZVRvTmV4dE5vbldoaXRlc3BhY2VQb3NpdGlvbihTdHJpbmdWaWV3IHRleHRDb250
ZW50LCBzaXplX3Qgc3RhcnRQb3NpdGlvbiwgYm9vbCBwcmVzZXJ2ZU5ld2xpbmUsIGJvb2wgcHJl
c2VydmVUYWIsIGJvb2wgc3RvcEF0V29yZFNlcGFyYXRvckJvdW5kYXJ5KQogewogICAgIGF1dG8g
aGFzV29yZFNlcGFyYXRvckNoYXJhY3RlciA9IGZhbHNlOwogICAgIGF1dG8gaXNXb3JkU2VwYXJh
dG9yQ2hhcmFjdGVyID0gZmFsc2U7CiAgICAgYXV0byBpc1doaXRlc3BhY2VDaGFyYWN0ZXIgPSBb
Jl0oYXV0byBjaGFyYWN0ZXIpIHsKICAgICAgICAgLy8gd2hpdGUgc3BhY2UgcHJvY2Vzc2luZyBp
biBDU1MgYWZmZWN0cyBvbmx5IHRoZSBkb2N1bWVudCB3aGl0ZSBzcGFjZSBjaGFyYWN0ZXJzOiBz
cGFjZXMgKFUrMDAyMCksIHRhYnMgKFUrMDAwOSksIGFuZCBzZWdtZW50IGJyZWFrcy4KLSAgICAg
ICAgYXV0byBpc1RyZWF0ZWRBc1NwYWNlQ2hhcmFjdGVyID0gY2hhcmFjdGVyID09IHNwYWNlIHx8
IChjaGFyYWN0ZXIgPT0gbmV3bGluZUNoYXJhY3RlciAmJiAhcHJlc2VydmVOZXdsaW5lKSB8fCAo
Y2hhcmFjdGVyID09IHRhYkNoYXJhY3RlciAmJiAhcHJlc2VydmVUYWIpIHx8IChjaGFyYWN0ZXIg
PT0gbm9CcmVha1NwYWNlICYmIHRyZWF0Tm9uQnJlYWtpbmdTcGFjZUFzUmVndWxhclNwYWNlKTsK
KyAgICAgICAgYXV0byBpc1RyZWF0ZWRBc1NwYWNlQ2hhcmFjdGVyID0gY2hhcmFjdGVyID09IHNw
YWNlIHx8IChjaGFyYWN0ZXIgPT0gbmV3bGluZUNoYXJhY3RlciAmJiAhcHJlc2VydmVOZXdsaW5l
KSB8fCAoY2hhcmFjdGVyID09IHRhYkNoYXJhY3RlciAmJiAhcHJlc2VydmVUYWIpOwogICAgICAg
ICBpc1dvcmRTZXBhcmF0b3JDaGFyYWN0ZXIgPSBpc1RyZWF0ZWRBc1NwYWNlQ2hhcmFjdGVyOwog
ICAgICAgICBoYXNXb3JkU2VwYXJhdG9yQ2hhcmFjdGVyID0gaGFzV29yZFNlcGFyYXRvckNoYXJh
Y3RlciB8fCBpc1dvcmRTZXBhcmF0b3JDaGFyYWN0ZXI7CiAgICAgICAgIHJldHVybiBpc1RyZWF0
ZWRBc1NwYWNlQ2hhcmFjdGVyIHx8IGNoYXJhY3RlciA9PSB0YWJDaGFyYWN0ZXI7CkBAIC00OTAs
NyArNDkwLDYgQEAgdm9pZCBJbmxpbmVJdGVtc0J1aWxkZXI6OmhhbmRsZVRleHRDb250ZW50KGNv
bnN0IElubGluZVRleHRCb3gmIGlubGluZVRleHRCb3gsIEkKICAgICBhdXRvJiBzdHlsZSA9IGlu
bGluZVRleHRCb3guc3R5bGUoKTsKICAgICBhdXRvIHNob3VsZFByZXNlcnZlU3BhY2VzQW5kVGFi
cyA9IFRleHRVdGlsOjpzaG91bGRQcmVzZXJ2ZVNwYWNlc0FuZFRhYnMoaW5saW5lVGV4dEJveCk7
CiAgICAgYXV0byBzaG91bGRQcmVzZXJ2ZU5ld2xpbmUgPSBUZXh0VXRpbDo6c2hvdWxkUHJlc2Vy
dmVOZXdsaW5lKGlubGluZVRleHRCb3gpOwotICAgIGF1dG8gc2hvdWxkVHJlYXROb25CcmVha2lu
Z1NwYWNlQXNSZWd1bGFyU3BhY2UgPSBzdHlsZS5uYnNwTW9kZSgpID09IE5CU1BNb2RlOjpTcGFj
ZTsKICAgICBhdXRvIGxpbmVCcmVha0l0ZXJhdG9yID0gTGF6eUxpbmVCcmVha0l0ZXJhdG9yIHsg
dGV4dCwgc3R5bGUuY29tcHV0ZWRMb2NhbGUoKSwgVGV4dFV0aWw6OmxpbmVCcmVha0l0ZXJhdG9y
TW9kZShzdHlsZS5saW5lQnJlYWsoKSkgfTsKICAgICB1bnNpZ25lZCBjdXJyZW50UG9zaXRpb24g
PSAwOwogCkBAIC01MDgsNyArNTA3LDcgQEAgdm9pZCBJbmxpbmVJdGVtc0J1aWxkZXI6OmhhbmRs
ZVRleHRDb250ZW50KGNvbnN0IElubGluZVRleHRCb3gmIGlubGluZVRleHRCb3gsIEkKIAogICAg
ICAgICBhdXRvIGhhbmRsZVdoaXRlc3BhY2UgPSBbJl0gewogICAgICAgICAgICAgYXV0byBzdG9w
QXRXb3JkU2VwYXJhdG9yQm91bmRhcnkgPSBzaG91bGRQcmVzZXJ2ZVNwYWNlc0FuZFRhYnMgJiYg
c3R5bGUuZm9udENhc2NhZGUoKS53b3JkU3BhY2luZygpOwotICAgICAgICAgICAgYXV0byB3aGl0
ZXNwYWNlQ29udGVudCA9IG1vdmVUb05leHROb25XaGl0ZXNwYWNlUG9zaXRpb24odGV4dCwgY3Vy
cmVudFBvc2l0aW9uLCBzaG91bGRQcmVzZXJ2ZU5ld2xpbmUsIHNob3VsZFByZXNlcnZlU3BhY2Vz
QW5kVGFicywgc2hvdWxkVHJlYXROb25CcmVha2luZ1NwYWNlQXNSZWd1bGFyU3BhY2UsIHN0b3BB
dFdvcmRTZXBhcmF0b3JCb3VuZGFyeSk7CisgICAgICAgICAgICBhdXRvIHdoaXRlc3BhY2VDb250
ZW50ID0gbW92ZVRvTmV4dE5vbldoaXRlc3BhY2VQb3NpdGlvbih0ZXh0LCBjdXJyZW50UG9zaXRp
b24sIHNob3VsZFByZXNlcnZlTmV3bGluZSwgc2hvdWxkUHJlc2VydmVTcGFjZXNBbmRUYWJzLCBz
dG9wQXRXb3JkU2VwYXJhdG9yQm91bmRhcnkpOwogICAgICAgICAgICAgaWYgKCF3aGl0ZXNwYWNl
Q29udGVudCkKICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKQEAgLTUyNyw2ICs1MjYs
MjYgQEAgdm9pZCBJbmxpbmVJdGVtc0J1aWxkZXI6OmhhbmRsZVRleHRDb250ZW50KGNvbnN0IElu
bGluZVRleHRCb3gmIGlubGluZVRleHRCb3gsIEkKICAgICAgICAgaWYgKGhhbmRsZVdoaXRlc3Bh
Y2UoKSkKICAgICAgICAgICAgIGNvbnRpbnVlOwogCisgICAgICAgIGF1dG8gaGFuZGxlTm9uQnJl
YWtpbmdTcGFjZSA9IFsmXSB7CisgICAgICAgICAgICBpZiAoc3R5bGUubmJzcE1vZGUoKSAhPSBO
QlNQTW9kZTo6U3BhY2UpIHsKKyAgICAgICAgICAgICAgICAvLyBMZXQncyBqdXN0IGRlZmVyIHRv
IHJlZ3VsYXIgbm9uLXdoaXRlc3BhY2UgaW5saW5lIGl0ZW1zIHdoZW4gbm9uIGJyZWFraW5nIHNw
YWNlIG5lZWRzIG5vIHNwZWNpYWwgaGFuZGxpbmcuCisgICAgICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOworICAgICAgICAgICAgfQorICAgICAgICAgICAgYXV0byBzdGFydFBvc2l0aW9uID0gY3Vy
cmVudFBvc2l0aW9uOworICAgICAgICAgICAgYXV0byBlbmRQb3NpdGlvbiA9IHN0YXJ0UG9zaXRp
b247CisgICAgICAgICAgICBmb3IgKDsgZW5kUG9zaXRpb24gPCBjb250ZW50TGVuZ3RoOyArK2Vu
ZFBvc2l0aW9uKSB7CisgICAgICAgICAgICAgICAgaWYgKHRleHRbZW5kUG9zaXRpb25dICE9IG5v
QnJlYWtTcGFjZSkKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9Cisg
ICAgICAgICAgICBpZiAoc3RhcnRQb3NpdGlvbiA9PSBlbmRQb3NpdGlvbikKKyAgICAgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICBpbmxpbmVJdGVtcy5hcHBlbmQoSW5saW5l
VGV4dEl0ZW06OmNyZWF0ZU5vbldoaXRlc3BhY2VJdGVtKGlubGluZVRleHRCb3gsIHN0YXJ0UG9z
aXRpb24sIGVuZFBvc2l0aW9uIC0gc3RhcnRQb3NpdGlvbiwgVUJJRElfREVGQVVMVF9MVFIsIHsg
fSwgeyB9KSk7CisgICAgICAgICAgICBjdXJyZW50UG9zaXRpb24gPSBlbmRQb3NpdGlvbjsKKyAg
ICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICB9OworICAgICAgICBpZiAoaGFuZGxlTm9u
QnJlYWtpbmdTcGFjZSgpKQorICAgICAgICAgICAgY29udGludWU7CisKICAgICAgICAgYXV0byBo
YW5kbGVOb25XaGl0ZXNwYWNlID0gWyZdIHsKICAgICAgICAgICAgIGF1dG8gc3RhcnRQb3NpdGlv
biA9IGN1cnJlbnRQb3NpdGlvbjsKICAgICAgICAgICAgIGF1dG8gZW5kUG9zaXRpb24gPSBzdGFy
dFBvc2l0aW9uOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdD
b250ZXh0cy9pbmxpbmUvSW5saW5lTGluZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9y
bWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lLmNwcAppbmRleCA4NzAyYzQxMjk4ZjQz
NWI1NDc2ZWY1YTE0N2JmNTAyZjdkMjYzOTc4Li4yNGEyYjRhZTM0Njc5OGEwODNjNDRjNzhkNjVk
NWRjZmNhNTE0NTU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGlu
Z0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lLmNwcApAQCAtNDksOCArNDks
OSBAQCBMaW5lOjp+TGluZSgpCiB7CiB9CiAKLXZvaWQgTGluZTo6aW5pdGlhbGl6ZShjb25zdCBW
ZWN0b3I8SW5saW5lSXRlbT4mIGxpbmVTcGFubmluZ0lubGluZUJveGVzKQordm9pZCBMaW5lOjpp
bml0aWFsaXplKGNvbnN0IFZlY3RvcjxJbmxpbmVJdGVtPiYgbGluZVNwYW5uaW5nSW5saW5lQm94
ZXMsIGJvb2wgY29sbGFwc2VMZWFkaW5nTm9uQnJlYWtpbmdTcGFjZSkKIHsKKyAgICBtX2NvbGxh
cHNlTGVhZGluZ05vbkJyZWFraW5nU3BhY2UgPSBjb2xsYXBzZUxlYWRpbmdOb25CcmVha2luZ1Nw
YWNlOwogICAgIG1faW5saW5lQm94TGlzdFdpdGhDbG9uZWREZWNvcmF0aW9uRW5kLmNsZWFyKCk7
CiAgICAgbV9jbG9uZWRFbmREZWNvcmF0aW9uV2lkdGhGb3JJbmxpbmVCb3hSdW5zID0geyB9Owog
ICAgIG1fbm9uU3Bhbm5pbmdJbmxpbmVMZXZlbEJveENvdW50ID0gMDsKQEAgLTI2MSw4ICsyNjIs
MTkgQEAgdm9pZCBMaW5lOjphcHBlbmRJbmxpbmVCb3hFbmQoY29uc3QgSW5saW5lSXRlbSYgaW5s
aW5lSXRlbSwgY29uc3QgUmVuZGVyU3R5bGUmIHMKIHZvaWQgTGluZTo6YXBwZW5kVGV4dENvbnRl
bnQoY29uc3QgSW5saW5lVGV4dEl0ZW0mIGlubGluZVRleHRJdGVtLCBjb25zdCBSZW5kZXJTdHls
ZSYgc3R5bGUsIElubGluZUxheW91dFVuaXQgbG9naWNhbFdpZHRoKQogewogICAgIGF1dG8gd2ls
bENvbGxhcHNlQ29tcGxldGVseSA9IFsmXSB7Ci0gICAgICAgIGlmICghaW5saW5lVGV4dEl0ZW0u
aXNXaGl0ZXNwYWNlKCkpCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIGlmICgh
aW5saW5lVGV4dEl0ZW0uaXNXaGl0ZXNwYWNlKCkpIHsKKyAgICAgICAgICAgIGF1dG8gaXNMZWFk
aW5nQ29sbGFwc2libGVOb25CcmVha2luZ1NwYWNlID0gWyZdIHsKKyAgICAgICAgICAgICAgICAv
LyBMZXQncyBjaGVjayBmb3IgbGVhZGluZyBub24tYnJlYWtpbmcgc3BhY2UgY29sbGFwc2luZyB0
byBtYXRjaCBsZWdhY3kgbGluZSBsYXlvdXQgcXVpcmsuCisgICAgICAgICAgICAgICAgaWYgKCFp
bmxpbmVUZXh0SXRlbS5pc0NvbGxhcHNpYmxlTm9uQnJlYWtpbmdTcGFjZSgpIHx8ICFtX2NvbGxh
cHNlTGVhZGluZ05vbkJyZWFraW5nU3BhY2UpCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICAgICAgICAgICAgICBmb3IgKGF1dG8mIHJ1biA6IG1ha2VSZXZlcnNlZFJhbmdl
KG1fcnVucykpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHJ1bi5pc0JveCgpIHx8IHJ1bi5p
c1RleHQoKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgICAgICB9Owor
ICAgICAgICAgICAgcmV0dXJuIGlzTGVhZGluZ0NvbGxhcHNpYmxlTm9uQnJlYWtpbmdTcGFjZSgp
OworICAgICAgICB9CiAgICAgICAgIGlmIChJbmxpbmVUZXh0SXRlbTo6c2hvdWxkUHJlc2VydmVT
cGFjZXNBbmRUYWJzKGlubGluZVRleHRJdGVtKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsK
ICAgICAgICAgLy8gVGhpcyBjb250ZW50IGlzIGNvbGxhcHNpYmxlLiBMZXQncyBjaGVjayBpZiB0
aGUgbGFzdCBpdGVtIGlzIGNvbGxhcHNlZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmUuaCBiL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmUuaAppbmRleCBh
MWY5ZDQzMmY5MzI0MmI2ZTdiMDVmODEwODMwNzVlMGM1YTE1OTQ0Li5mYTlkZmJlZTUxYzQ5NjM1
ZjRiMWYzMGU2NzBlZjdjOGFlZTQ2NDc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZS5oCkBAIC00
Myw3ICs0Myw3IEBAIHB1YmxpYzoKICAgICBMaW5lKGNvbnN0IElubGluZUZvcm1hdHRpbmdDb250
ZXh0Jik7CiAgICAgfkxpbmUoKTsKIAotICAgIHZvaWQgaW5pdGlhbGl6ZShjb25zdCBWZWN0b3I8
SW5saW5lSXRlbT4mIGxpbmVTcGFubmluZ0lubGluZUJveGVzKTsKKyAgICB2b2lkIGluaXRpYWxp
emUoY29uc3QgVmVjdG9yPElubGluZUl0ZW0+JiBsaW5lU3Bhbm5pbmdJbmxpbmVCb3hlcywgYm9v
bCBjb2xsYXBzZUxlYWRpbmdOb25CcmVha2luZ1NwYWNlKTsKIAogICAgIHZvaWQgYXBwZW5kKGNv
bnN0IElubGluZUl0ZW0mLCBjb25zdCBSZW5kZXJTdHlsZSYsIElubGluZUxheW91dFVuaXQgbG9n
aWNhbFdpZHRoKTsKIApAQCAtMjI5LDYgKzIyOSw4IEBAIHByaXZhdGU6CiAgICAgSW5saW5lQm94
TGlzdFdpdGhDbG9uZWREZWNvcmF0aW9uRW5kIG1faW5saW5lQm94TGlzdFdpdGhDbG9uZWREZWNv
cmF0aW9uRW5kOwogICAgIElubGluZUxheW91dFVuaXQgbV9jbG9uZWRFbmREZWNvcmF0aW9uV2lk
dGhGb3JJbmxpbmVCb3hSdW5zIHsgMCB9OwogICAgIGJvb2wgbV9oYXNOb25EZWZhdWx0QmlkaUxl
dmVsUnVuIHsgZmFsc2UgfTsKKyAgICAvLyBOb3RlIHRoYXQgdGhpcyBpcyBvbmx5IG5lZWRlZCBm
b3IgdGhlIHNwZWNpYWwgKGFuZCBhbmNpZW50IGFuZCBub3Qgc3VwcG9ydGVkIGJ5IG90aGVyIGJy
b3dzZXJzKSAiLXdlYmtpdC1uYnNwLW1vZGU6IHNwYWNlIi4KKyAgICBib29sIG1fY29sbGFwc2VM
ZWFkaW5nTm9uQnJlYWtpbmdTcGFjZSB7IGZhbHNlIH07CiB9OwogCiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVC
dWlsZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5s
aW5lL0lubGluZUxpbmVCdWlsZGVyLmNwcAppbmRleCBlNjc3ZDBkY2ZiOTg3NGMyZmUxYjM2MTg5
MzY2MjliMGYxN2JjNWMxLi42NTU2ZWY2OTczNmM1MWQyZjRlZjcxMjdmOTkxNmY5MmJkZmQ2Yjcy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lu
bGluZS9JbmxpbmVMaW5lQnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zv
cm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJ1aWxkZXIuY3BwCkBAIC0yNTksNyAr
MjU5LDcgQEAgSW5saW5lTGF5b3V0VW5pdCBMaW5lQnVpbGRlcjo6aW5saW5lSXRlbVdpZHRoKGNv
bnN0IElubGluZUl0ZW0mIGlubGluZUl0ZW0sIElubGkKICAgICAgICAgYXV0byYgaW5saW5lVGV4
dEl0ZW0gPSBkb3duY2FzdDxJbmxpbmVUZXh0SXRlbT4oaW5saW5lSXRlbSk7CiAgICAgICAgIGlm
IChhdXRvIGNvbnRlbnRXaWR0aCA9IGlubGluZVRleHRJdGVtLndpZHRoKCkpCiAgICAgICAgICAg
ICByZXR1cm4gKmNvbnRlbnRXaWR0aDsKLSAgICAgICAgYXV0byYgZm9udENhc2NhZGUgPSBtX2lz
Rmlyc3RMaW5lID8gaW5saW5lVGV4dEl0ZW0uZmlyc3RMaW5lU3R5bGUoKS5mb250Q2FzY2FkZSgp
IDogaW5saW5lVGV4dEl0ZW0uc3R5bGUoKS5mb250Q2FzY2FkZSgpOworICAgICAgICBhdXRvJiBm
b250Q2FzY2FkZSA9IGlzRmlyc3RMaW5lKCkgPyBpbmxpbmVUZXh0SXRlbS5maXJzdExpbmVTdHls
ZSgpLmZvbnRDYXNjYWRlKCkgOiBpbmxpbmVUZXh0SXRlbS5zdHlsZSgpLmZvbnRDYXNjYWRlKCk7
CiAgICAgICAgIGlmICghaW5saW5lVGV4dEl0ZW0uaXNXaGl0ZXNwYWNlKCkgfHwgSW5saW5lVGV4
dEl0ZW06OnNob3VsZFByZXNlcnZlU3BhY2VzQW5kVGFicyhpbmxpbmVUZXh0SXRlbSkpCiAgICAg
ICAgICAgICByZXR1cm4gVGV4dFV0aWw6OndpZHRoKGlubGluZVRleHRJdGVtLCBmb250Q2FzY2Fk
ZSwgY29udGVudExvZ2ljYWxMZWZ0KTsKICAgICAgICAgcmV0dXJuIFRleHRVdGlsOjp3aWR0aChp
bmxpbmVUZXh0SXRlbSwgZm9udENhc2NhZGUsIGlubGluZVRleHRJdGVtLnN0YXJ0KCksIGlubGlu
ZVRleHRJdGVtLnN0YXJ0KCkgKyAxLCBjb250ZW50TG9naWNhbExlZnQpOwpAQCAtMjgwLDcgKzI4
MCw3IEBAIElubGluZUxheW91dFVuaXQgTGluZUJ1aWxkZXI6OmlubGluZUl0ZW1XaWR0aChjb25z
dCBJbmxpbmVJdGVtJiBpbmxpbmVJdGVtLCBJbmxpCiAgICAgaWYgKGlubGluZUl0ZW0uaXNJbmxp
bmVCb3hTdGFydCgpKSB7CiAgICAgICAgIGF1dG8gbG9naWNhbFdpZHRoID0gYm94R2VvbWV0cnku
bWFyZ2luU3RhcnQoKSArIGJveEdlb21ldHJ5LmJvcmRlclN0YXJ0KCkgKyBib3hHZW9tZXRyeS5w
YWRkaW5nU3RhcnQoKS52YWx1ZV9vcigwKTsKICNpZiBFTkFCTEUoQ1NTX0JPWF9ERUNPUkFUSU9O
X0JSRUFLKQotICAgICAgICBhdXRvJiBzdHlsZSA9IG1faXNGaXJzdExpbmUgPyBpbmxpbmVJdGVt
LmZpcnN0TGluZVN0eWxlKCkgOiBpbmxpbmVJdGVtLnN0eWxlKCk7CisgICAgICAgIGF1dG8mIHN0
eWxlID0gaXNGaXJzdExpbmUoKSA/IGlubGluZUl0ZW0uZmlyc3RMaW5lU3R5bGUoKSA6IGlubGlu
ZUl0ZW0uc3R5bGUoKTsKICAgICAgICAgaWYgKHN0eWxlLmJveERlY29yYXRpb25CcmVhaygpID09
IEJveERlY29yYXRpb25CcmVhazo6Q2xvbmUpCiAgICAgICAgICAgICBsb2dpY2FsV2lkdGggKz0g
Ym94R2VvbWV0cnkuYm9yZGVyRW5kKCkgKyBib3hHZW9tZXRyeS5wYWRkaW5nRW5kKCkudmFsdWVf
b3IoMF9sdSk7CiAjZW5kaWYKQEAgLTQwMSw3ICs0MDEsNyBAQCBMaW5lQnVpbGRlcjo6SW50cmlu
c2ljQ29udGVudCBMaW5lQnVpbGRlcjo6Y29tcHV0ZWRJbnRyaW5zaWNXaWR0aChjb25zdCBJbmxp
bmVJdAogCiB2b2lkIExpbmVCdWlsZGVyOjppbml0aWFsaXplKGNvbnN0IFVzZWRDb25zdHJhaW50
cyYgbGluZUNvbnN0cmFpbnRzLCBzaXplX3QgbGVhZGluZ0lubGluZUl0ZW1JbmRleCwgY29uc3Qg
c3RkOjpvcHRpb25hbDxQcmV2aW91c0xpbmU+JiBwcmV2aW91c0xpbmUpCiB7Ci0gICAgbV9pc0Zp
cnN0TGluZSA9ICFwcmV2aW91c0xpbmU7CisgICAgbV9wcmV2aW91c0xpbmUgPSBwcmV2aW91c0xp
bmU7CiAgICAgbV9mbG9hdHMuY2xlYXIoKTsKICAgICBtX2xpbmVTcGFubmluZ0lubGluZUJveGVz
LmNsZWFyKCk7CiAgICAgbV93cmFwT3Bwb3J0dW5pdHlMaXN0LmNsZWFyKCk7CkBAIC00MzksNyAr
NDM5LDcgQEAgdm9pZCBMaW5lQnVpbGRlcjo6aW5pdGlhbGl6ZShjb25zdCBVc2VkQ29uc3RyYWlu
dHMmIGxpbmVDb25zdHJhaW50cywgc2l6ZV90IGxlYWQKICAgICAgICAgICAgIG1fbGluZVNwYW5u
aW5nSW5saW5lQm94ZXMuYXBwZW5kKHsgKnNwYW5uaW5nSW5saW5lQm94LCBJbmxpbmVJdGVtOjpU
eXBlOjpJbmxpbmVCb3hTdGFydCwgYmlkaUxldmVsRm9yT3BhcXVlSW5saW5lSXRlbSB9KTsKICAg
ICB9OwogICAgIGNyZWF0ZUxpbmVTcGFubmluZ0lubGluZUJveGVzKCk7Ci0gICAgbV9saW5lLmlu
aXRpYWxpemUobV9saW5lU3Bhbm5pbmdJbmxpbmVCb3hlcyk7CisgICAgbV9saW5lLmluaXRpYWxp
emUobV9saW5lU3Bhbm5pbmdJbmxpbmVCb3hlcywgbV9wcmV2aW91c0xpbmUgJiYgIW1fcHJldmlv
dXNMaW5lLT5lbmRzV2l0aExpbmVCcmVhayk7CiAKICAgICBtX2xpbmVNYXJnaW5TdGFydCA9IGxp
bmVDb25zdHJhaW50cy5tYXJnaW5TdGFydDsKICAgICBtX2xpbmVMb2dpY2FsUmVjdCA9IGxpbmVD
b25zdHJhaW50cy5sb2dpY2FsUmVjdDsKQEAgLTY4Niw3ICs2ODYsNyBAQCB2b2lkIExpbmVCdWls
ZGVyOjpjYW5kaWRhdGVDb250ZW50Rm9yTGluZShMaW5lQ2FuZGlkYXRlJiBsaW5lQ2FuZGlkYXRl
LCBzaXplX3QgYwogICAgIGZvciAoYXV0byBpbmRleCA9IGN1cnJlbnRJbmxpbmVJdGVtSW5kZXg7
IGluZGV4IDwgc29mdFdyYXBPcHBvcnR1bml0eUluZGV4OyArK2luZGV4KSB7CiAgICAgICAgIGF1
dG8mIGlubGluZUl0ZW0gPSBtX2lubGluZUl0ZW1zW2luZGV4XTsKICAgICAgICAgYXV0byYgc3R5
bGUgPSBbJl0gKCkgLT4gY29uc3QgUmVuZGVyU3R5bGUmIHsKLSAgICAgICAgICAgIHJldHVybiBt
X2lzRmlyc3RMaW5lID8gaW5saW5lSXRlbS5maXJzdExpbmVTdHlsZSgpIDogaW5saW5lSXRlbS5z
dHlsZSgpOworICAgICAgICAgICAgcmV0dXJuIGlzRmlyc3RMaW5lKCkgPyBpbmxpbmVJdGVtLmZp
cnN0TGluZVN0eWxlKCkgOiBpbmxpbmVJdGVtLnN0eWxlKCk7CiAgICAgICAgIH0oKTsKICAgICAg
ICAgaWYgKGlubGluZUl0ZW0uaXNGbG9hdCgpKSB7CiAgICAgICAgICAgICBsaW5lQ2FuZGlkYXRl
LmZsb2F0SXRlbSA9ICZpbmxpbmVJdGVtOwpAQCAtOTU5LDcgKzk1OSw3IEBAIExpbmVCdWlsZGVy
OjpSZXN1bHQgTGluZUJ1aWxkZXI6OmhhbmRsZUlubGluZUNvbnRlbnQoSW5saW5lQ29udGVudEJy
ZWFrZXImIGlubGluCiAgICAgICAgIGlmIChpbmxpbmVUZXh0SXRlbS5pc1doaXRlc3BhY2UoKSkK
ICAgICAgICAgICAgIHJldHVybiB7IH07CiAgICAgICAgIGF1dG8mIG92ZXJmbG93aW5nUnVuID0g
Y2FuZGlkYXRlUnVucy5maXJzdCgpOwotICAgICAgICBpZiAobV9pc0ZpcnN0TGluZSkgeworICAg
ICAgICBpZiAoaXNGaXJzdExpbmUoKSkgewogICAgICAgICAgICAgYXV0byYgdXNlZFN0eWxlID0g
b3ZlcmZsb3dpbmdSdW4uc3R5bGU7CiAgICAgICAgICAgICBhdXRvJiBzdHlsZSA9IG92ZXJmbG93
aW5nUnVuLmlubGluZUl0ZW0uc3R5bGUoKTsKICAgICAgICAgICAgIGlmICgmdXNlZFN0eWxlICE9
ICZzdHlsZSAmJiB1c2VkU3R5bGUuZm9udENhc2NhZGUoKSAhPSBzdHlsZS5mb250Q2FzY2FkZSgp
KSB7CkBAIC0xMDYwLDcgKzEwNjAsNyBAQCBzaXplX3QgTGluZUJ1aWxkZXI6OnJlYnVpbGRMaW5l
KGNvbnN0IElubGluZUl0ZW1SYW5nZSYgbGF5b3V0UmFuZ2UsIGNvbnN0IElubGluZQogICAgIEFT
U0VSVCghbV93cmFwT3Bwb3J0dW5pdHlMaXN0LmlzRW1wdHkoKSk7CiAgICAgLy8gV2UgbWlnaHQg
YWxyZWFkeSBoYXZlIGFkZGVkIGZsb2F0cy4gVGhleSBzaHJpbmsgdGhlIGF2YWlsYWJsZSBob3Jp
em9udGFsIHNwYWNlIGZvciB0aGUgbGluZS4KICAgICAvLyBMZXQncyBqdXN0IHJldXNlIHdoYXQg
dGhlIGxpbmUgaGFzIGF0IHRoaXMgcG9pbnQuCi0gICAgbV9saW5lLmluaXRpYWxpemUobV9saW5l
U3Bhbm5pbmdJbmxpbmVCb3hlcyk7CisgICAgbV9saW5lLmluaXRpYWxpemUobV9saW5lU3Bhbm5p
bmdJbmxpbmVCb3hlcywgbV9wcmV2aW91c0xpbmUgJiYgIW1fcHJldmlvdXNMaW5lLT5lbmRzV2l0
aExpbmVCcmVhayk7CiAgICAgYXV0byBjdXJyZW50SXRlbUluZGV4ID0gbGF5b3V0UmFuZ2Uuc3Rh
cnQ7CiAgICAgaWYgKG1fcGFydGlhbExlYWRpbmdUZXh0SXRlbSkgewogICAgICAgICBtX2xpbmUu
YXBwZW5kKCptX3BhcnRpYWxMZWFkaW5nVGV4dEl0ZW0sIG1fcGFydGlhbExlYWRpbmdUZXh0SXRl
bS0+c3R5bGUoKSwgaW5saW5lSXRlbVdpZHRoKCptX3BhcnRpYWxMZWFkaW5nVGV4dEl0ZW0sIHsg
fSkpOwpAQCAtMTA3MCw3ICsxMDcwLDcgQEAgc2l6ZV90IExpbmVCdWlsZGVyOjpyZWJ1aWxkTGlu
ZShjb25zdCBJbmxpbmVJdGVtUmFuZ2UmIGxheW91dFJhbmdlLCBjb25zdCBJbmxpbmUKICAgICB9
CiAgICAgZm9yICg7IGN1cnJlbnRJdGVtSW5kZXggPCBsYXlvdXRSYW5nZS5lbmQ7ICsrY3VycmVu
dEl0ZW1JbmRleCkgewogICAgICAgICBhdXRvJiBpbmxpbmVJdGVtID0gbV9pbmxpbmVJdGVtc1tj
dXJyZW50SXRlbUluZGV4XTsKLSAgICAgICAgYXV0byYgc3R5bGUgPSBtX2lzRmlyc3RMaW5lID8g
aW5saW5lSXRlbS5maXJzdExpbmVTdHlsZSgpIDogaW5saW5lSXRlbS5zdHlsZSgpOworICAgICAg
ICBhdXRvJiBzdHlsZSA9IGlzRmlyc3RMaW5lKCkgPyBpbmxpbmVJdGVtLmZpcnN0TGluZVN0eWxl
KCkgOiBpbmxpbmVJdGVtLnN0eWxlKCk7CiAgICAgICAgIG1fbGluZS5hcHBlbmQoaW5saW5lSXRl
bSwgc3R5bGUsIGlubGluZUl0ZW1XaWR0aChpbmxpbmVJdGVtLCBtX2xpbmUuY29udGVudExvZ2lj
YWxSaWdodCgpKSk7CiAgICAgICAgIGlmICgmaW5saW5lSXRlbSA9PSAmbGFzdElubGluZUl0ZW1U
b0FkZCkKICAgICAgICAgICAgIHJldHVybiBjdXJyZW50SXRlbUluZGV4IC0gbGF5b3V0UmFuZ2Uu
c3RhcnQgKyAxOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdD
b250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJ1aWxkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVCdWlsZGVyLmgKaW5kZXggNzY0
NmFjZDAyODU2YmQ3M2JkNGE0ZDNjNTNjZmE2M2NkZGRlNWRhOC4uOTlkOTQwY2ZhYzA0MmYxODg1
NGJiYWRlZjc1OGJkMjliZmViMTBkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJ1aWxkZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQnVp
bGRlci5oCkBAIC0xMjUsNiArMTI1LDggQEAgcHJpdmF0ZToKICAgICBzdGQ6Om9wdGlvbmFsPElu
dHJpbnNpY1dpZHRoTW9kZT4gaW50cmluc2ljV2lkdGhNb2RlKCkgY29uc3QgeyByZXR1cm4gbV9p
bnRyaW5zaWNXaWR0aE1vZGU7IH0KICAgICBib29sIGlzSW5JbnRyaW5zaWNXaWR0aE1vZGUoKSBj
b25zdCB7IHJldHVybiAhIWludHJpbnNpY1dpZHRoTW9kZSgpOyB9CiAKKyAgICBib29sIGlzRmly
c3RMaW5lKCkgY29uc3QgeyByZXR1cm4gIW1fcHJldmlvdXNMaW5lLmhhc192YWx1ZSgpOyB9CisK
ICAgICBjb25zdCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dCYgZm9ybWF0dGluZ0NvbnRleHQoKSBj
b25zdCB7IHJldHVybiBtX2lubGluZUZvcm1hdHRpbmdDb250ZXh0OyB9CiAgICAgSW5saW5lRm9y
bWF0dGluZ1N0YXRlKiBmb3JtYXR0aW5nU3RhdGUoKSB7IHJldHVybiBtX2lubGluZUZvcm1hdHRp
bmdTdGF0ZTsgfQogICAgIEZsb2F0aW5nU3RhdGUqIGZsb2F0aW5nU3RhdGUoKSB7IHJldHVybiBt
X2Zsb2F0aW5nU3RhdGU7IH0KQEAgLTEzMyw3ICsxMzUsNyBAQCBwcml2YXRlOgogICAgIGNvbnN0
IExheW91dFN0YXRlJiBsYXlvdXRTdGF0ZSgpIGNvbnN0OwogCiBwcml2YXRlOgotICAgIGJvb2wg
bV9pc0ZpcnN0TGluZSB7IGZhbHNlIH07CisgICAgc3RkOjpvcHRpb25hbDxQcmV2aW91c0xpbmU+
IG1fcHJldmlvdXNMaW5lIHsgfTsKICAgICBzdGQ6Om9wdGlvbmFsPEludHJpbnNpY1dpZHRoTW9k
ZT4gbV9pbnRyaW5zaWNXaWR0aE1vZGU7CiAgICAgY29uc3QgSW5saW5lRm9ybWF0dGluZ0NvbnRl
eHQmIG1faW5saW5lRm9ybWF0dGluZ0NvbnRleHQ7CiAgICAgSW5saW5lRm9ybWF0dGluZ1N0YXRl
KiBtX2lubGluZUZvcm1hdHRpbmdTdGF0ZSB7IG51bGxwdHIgfTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZVRleHRJdGVt
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lu
bGluZVRleHRJdGVtLmNwcAppbmRleCBkZTE1ZGQwY2M4NzFiN2I2ZTczN2JmODZlYzQ2OWM5MDA0
ZWU4ZGEzLi44NThlOGY3NGFlMjkwM2JiNGRlOGIzNDY1ZGI2NDk5YjM4M2JiNzM0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9Jbmxp
bmVUZXh0SXRlbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250
ZXh0cy9pbmxpbmUvSW5saW5lVGV4dEl0ZW0uY3BwCkBAIC04OCw2ICs4OCwxNCBAQCBib29sIElu
bGluZVRleHRJdGVtOjppc1plcm9XaWR0aFNwYWNlU2VwYXJhdG9yKCkgY29uc3QKICAgICByZXR1
cm4gIW1fbGVuZ3RoIHx8IChtX2xlbmd0aCA9PSAxICYmIGlubGluZVRleHRCb3goKS5jb250ZW50
KClbc3RhcnQoKV0gPT0gemVyb1dpZHRoU3BhY2UpOyAKIH0KIAorYm9vbCBJbmxpbmVUZXh0SXRl
bTo6aXNDb2xsYXBzaWJsZU5vbkJyZWFraW5nU3BhY2UoKSBjb25zdAoreworICAgIGlmIChzdHls
ZSgpLm5ic3BNb2RlKCkgIT0gTkJTUE1vZGU6OlNwYWNlKQorICAgICAgICByZXR1cm4gZmFsc2U7
CisgICAgLy8gTm90ZSB0aGF0IHRoaXMgdGV4dCBpdGVtIG1heSBiZSBsb25nZXIgdGhhbiBqdXN0
IG9uZSBjaGFyYWN0ZXIuCisgICAgcmV0dXJuIG1fbGVuZ3RoICYmIGlubGluZVRleHRCb3goKS5j
b250ZW50KClbc3RhcnQoKV0gPT0gbm9CcmVha1NwYWNlOworfQorCiBib29sIElubGluZVRleHRJ
dGVtOjpzaG91bGRQcmVzZXJ2ZVNwYWNlc0FuZFRhYnMoY29uc3QgSW5saW5lVGV4dEl0ZW0mIGlu
bGluZVRleHRJdGVtKQogewogICAgIEFTU0VSVChpbmxpbmVUZXh0SXRlbS5pc1doaXRlc3BhY2Uo
KSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRz
L2lubGluZS9JbmxpbmVUZXh0SXRlbS5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRp
bmdDb250ZXh0cy9pbmxpbmUvSW5saW5lVGV4dEl0ZW0uaAppbmRleCA2OTE4NDU3MTdhOTA0M2Q5
YWMyZDg3MzY0NzE1NjI3MTM5Y2M3YzJkLi41YzkzODJmZmViZDY0NWUxZWFhMjY1ZTdmMTczYWJl
MjMwNDI3Y2U4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0Nv
bnRleHRzL2lubGluZS9JbmxpbmVUZXh0SXRlbS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZVRleHRJdGVtLmgKQEAgLTUwLDYgKzUw
LDcgQEAgcHVibGljOgogICAgIGJvb2wgaXNXaGl0ZXNwYWNlKCkgY29uc3QgeyByZXR1cm4gbV90
ZXh0SXRlbVR5cGUgPT0gVGV4dEl0ZW1UeXBlOjpXaGl0ZXNwYWNlOyB9CiAgICAgYm9vbCBpc1dv
cmRTZXBhcmF0b3IoKSBjb25zdCB7IHJldHVybiBtX2lzV29yZFNlcGFyYXRvcjsgfQogICAgIGJv
b2wgaXNaZXJvV2lkdGhTcGFjZVNlcGFyYXRvcigpIGNvbnN0OworICAgIGJvb2wgaXNDb2xsYXBz
aWJsZU5vbkJyZWFraW5nU3BhY2UoKSBjb25zdDsKICAgICBib29sIGhhc1RyYWlsaW5nU29mdEh5
cGhlbigpIGNvbnN0IHsgcmV0dXJuIG1faGFzVHJhaWxpbmdTb2Z0SHlwaGVuOyB9CiAgICAgc3Rk
OjpvcHRpb25hbDxJbmxpbmVMYXlvdXRVbml0PiB3aWR0aCgpIGNvbnN0IHsgcmV0dXJuIG1faGFz
V2lkdGggPyBzdGQ6Om1ha2Vfb3B0aW9uYWwobV93aWR0aCkgOiBzdGQ6Om9wdGlvbmFsPElubGlu
ZUxheW91dFVuaXQ+IHsgfTsgfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNjI4OTExYjRkY2FkNzUwMjRlNzc1YTZkYmNl
MDllNGFhZDIwYWQ2YS4uNWEwNmI3ZjJlNGFiNzRhZTk0NDkyYWUyMDA5MmYyNzYzN2Q2NTBiMyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIyLTAxLTI2ICBBbGFuIEJ1anRhcyAgPHphbGFuQGFw
cGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OIChyMjgxMzA2KTogTm9uLWJyZWFraW5nIHNw
YWNlIGluY29ycmVjdGx5IGNvbGxhcHNlZCB3aGVuIHdlYmtpdC1uYnNwLW1vZGUgaXMgc2V0IHRv
ICJzcGFjZSIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIzNTYyNworICAgICAgICA8cmRhcjovLzg4MDA0ODMxPgorCisgICAgICAgIFJldmlld2VkIGJ5
IEFudHRpIEtvaXZpc3RvLgorCisgICAgICAgICogZmFzdC90ZXh0L2NvbGxhcHNpYmxlLW5vbi1i
cmVha2luZy1zcGFjZS1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3RleHQv
Y29sbGFwc2libGUtbm9uLWJyZWFraW5nLXNwYWNlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBs
YXRmb3JtL2lvcy9mYXN0L3RleHQvd2hpdGVzcGFjZS9uYnNwLW1vZGUtYW5kLWxpbmV3cmFwcy1l
eHBlY3RlZC50eHQ6IEEgc2xpZ2h0IGJlaGF2aW9yIGNoYW5nZSB3aXRoIHRyYWlsaW5nIGNvbnRl
bnQgdHJpbW1pbmcsIGJ1dAorICAgICAgICBub3QgZ2VuZXJhbGx5IG5vdGljZWFibGUgYW5kIHZl
cnkgc3BlY2lmaWMgdG8gdGhpcyBub24tc3RhbmRhcmQgcHJvcGVydHkuCisgICAgICAgICogcGxh
dGZvcm0vbWFjL2Zhc3QvdGV4dC93aGl0ZXNwYWNlL25ic3AtbW9kZS1hbmQtbGluZXdyYXBzLWV4
cGVjdGVkLnR4dDoKKwogMjAyMi0wMS0yNiAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5j
b20+CiAKICAgICAgICAgW2lPU10gaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3Nzb20vZ2V0Q29tcHV0ZWRTdHlsZS1kZXRhY2hlZC1zdWJ0cmVlLmh0bWwgaXMgZmFpbGluZwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2NvbGxhcHNpYmxlLW5vbi1icmVha2lu
Zy1zcGFjZS1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2NvbGxhcHNpYmxl
LW5vbi1icmVha2luZy1zcGFjZS1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI2MDk1ZDE4MzY3
YjFlODJhN2M1YzI1YzNhY2M0OTBiZTViZjNlYWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L3RleHQvY29sbGFwc2libGUtbm9uLWJyZWFraW5nLXNwYWNlLWV4cGVjdGVkLmh0
bWwKQEAgLTAsMCArMSw4IEBACis8c3R5bGU+CitkaXYgeworICBiYWNrZ3JvdW5kLWNvbG9yOiBn
cmVlbjsKKyAgd2lkdGg6IDgwcHg7CisgIGhlaWdodDogMjIwcHg7Cit9Cis8L3N0eWxlPgorPGRp
dj48L2Rpdj4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9jb2xsYXBzaWJsZS1u
b24tYnJlYWtpbmctc3BhY2UuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9jb2xsYXBzaWJs
ZS1ub24tYnJlYWtpbmctc3BhY2UuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMjYxYTQxYWFmYTdlODU1NzA0
MTI5YmQ4OGRiNTM0OWVhOTU2OGU4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC90ZXh0L2NvbGxhcHNpYmxlLW5vbi1icmVha2luZy1zcGFjZS5odG1sCkBAIC0wLDAgKzEsMjIg
QEAKKzxzdHlsZT4KK2JvZHkgeworICBmb250LXNpemU6IDIwcHg7CisgIGZvbnQtZmFtaWx5OiBB
aGVtOworICBjb2xvcjogZ3JlZW47Cit9CitkaXYgeworICAtd2Via2l0LW5ic3AtbW9kZTogc3Bh
Y2U7CisgIGJhY2tncm91bmQtY29sb3I6IGdyZWVuOworICBmbG9hdDogbGVmdDsKKyAgY2xlYXI6
IGJvdGg7Cit9Cis8L3N0eWxlPgorPGRpdj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8L2Rpdj4K
KzxkaXY+WFgmbmJzcDsmbmJzcDs8L2Rpdj4KKzxkaXY+WCZuYnNwOyZuYnNwO1g8L2Rpdj4KKzxk
aXYgc3R5bGU9IndpZHRoOiAwcHg7Ij5YWFhYJm5ic3A7Jm5ic3A7WFhYWDwvZGl2PgorPGRpdiBz
dHlsZT0id2hpdGUtc3BhY2U6IHByZSI+WFgmbmJzcDsmbmJzcDsKK1hYWDwvZGl2PgorPGRpdiBz
dHlsZT0id2hpdGUtc3BhY2U6IHByZSI+WFgmbmJzcDsmbmJzcDsKKyZuYnNwOyZuYnNwO1hYPC9k
aXY+Cis8ZGl2PlhYWCZuYnNwOzxicj4mbmJzcDtYWFg8L2Rpdj4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL2lvcy9mYXN0L3RleHQvd2hpdGVzcGFjZS9uYnNwLW1vZGUtYW5kLWxp
bmV3cmFwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvZmFzdC90ZXh0
L3doaXRlc3BhY2UvbmJzcC1tb2RlLWFuZC1saW5ld3JhcHMtZXhwZWN0ZWQudHh0CmluZGV4IDdh
YjVmNjNiMjNkZTFhMzc1N2UwNjQ4MGRjNGFhMmUzY2RjZDg4NTYuLjBmNjQwMDdlNzgxMGY0MDlj
OTdlNjNmZmM4MGJlY2E5Y2I2OTE0ZjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2lvcy9mYXN0L3RleHQvd2hpdGVzcGFjZS9uYnNwLW1vZGUtYW5kLWxpbmV3cmFwcy1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2Zhc3QvdGV4dC93aGl0ZXNwYWNl
L25ic3AtbW9kZS1hbmQtbGluZXdyYXBzLWV4cGVjdGVkLnR4dApAQCAtNSwxMCArNSwxMCBAQCBs
YXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4
KSBzaXplIDc4NHg1ODQKIGxheWVyIGF0ICgxMDAsOCkgc2l6ZSA3MDB4MjA4CiAgIFJlbmRlckJs
b2NrIChwb3NpdGlvbmVkKSB7RElWfSBhdCAoMTAwLDgpIHNpemUgNzAweDIwOCBbYm9yZGVyOiAo
MnB4IHNvbGlkICNGRjAwMDApXQotICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTQsMTUpIHNp
emUgNjU5eDE3OAotICAgICAgdGV4dCBydW4gYXQgKDE0LDE1KSB3aWR0aCA2NTk6ICJUaGlzIGRp
diBpcyBhYnNvbHV0ZWx5IHBvc2l0aW9uZWQgdG8gdGhlIGxlZnQuIEFsbCB0aGUgc3BhY2VzIGlu
IHRoaXMgZGl2IgotICAgICAgdGV4dCBydW4gYXQgKDE0LDQ1KSB3aWR0aCA2Mzg6ICJhcmUgcmVw
bGFjZWQgd2l0aCBub24tYnJlYWtpbmcgc3BhY2VzLCBhbmQgdGhlIG5ic3AtbW9kZSBmb3IgdGhp
cyIKLSAgICAgIHRleHQgcnVuIGF0ICgxNCw3NSkgd2lkdGggNjEwOiAiZGl2IGlzICdzcGFjZScs
IHNvIHdoZW4gY2FsY3VsYXRpbmcgbGluZSBicmVha3MsIHRoZSBub24tYnJlYWtpbmciCi0gICAg
ICB0ZXh0IHJ1biBhdCAoMTQsMTA1KSB3aWR0aCA2NTE6ICJzcGFjZXMgc2hvdWxkIGJlIHRyZWF0
ZWQgYXMgbm9ybWFsIHNwYWNlcy4gSWYgdGhpcyBpc24ndCB0aGUgY2FzZSwgdGhlbiIKLSAgICAg
IHRleHQgcnVuIGF0ICgxNCwxMzUpIHdpZHRoIDYyMjogImFsbCB0aGUgdGV4dCBmb3IgdGhpcyBw
YXJhZ3JhcGggd2lsbCBiZSByZW5kZXJlZCBpbiB0d28gbGluZXMsIGFuZCBhIgorICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMTQsMTUpIHNpemUgNjY1eDE3OAorICAgICAgdGV4dCBydW4gYXQg
KDE0LDE1KSB3aWR0aCA2NjU6ICJUaGlzIGRpdiBpcyBhYnNvbHV0ZWx5IHBvc2l0aW9uZWQgdG8g
dGhlIGxlZnQuIEFsbCB0aGUgc3BhY2VzIGluIHRoaXMgZGl2ICIKKyAgICAgIHRleHQgcnVuIGF0
ICgxNCw0NSkgd2lkdGggNjQ0OiAiYXJlIHJlcGxhY2VkIHdpdGggbm9uLWJyZWFraW5nIHNwYWNl
cywgYW5kIHRoZSBuYnNwLW1vZGUgZm9yIHRoaXMgIgorICAgICAgdGV4dCBydW4gYXQgKDE0LDc1
KSB3aWR0aCA2MTY6ICJkaXYgaXMgJ3NwYWNlJywgc28gd2hlbiBjYWxjdWxhdGluZyBsaW5lIGJy
ZWFrcywgdGhlIG5vbi1icmVha2luZyAiCisgICAgICB0ZXh0IHJ1biBhdCAoMTQsMTA1KSB3aWR0
aCA2NTc6ICJzcGFjZXMgc2hvdWxkIGJlIHRyZWF0ZWQgYXMgbm9ybWFsIHNwYWNlcy4gSWYgdGhp
cyBpc24ndCB0aGUgY2FzZSwgdGhlbiAiCisgICAgICB0ZXh0IHJ1biBhdCAoMTQsMTM1KSB3aWR0
aCA2Mjg6ICJhbGwgdGhlIHRleHQgZm9yIHRoaXMgcGFyYWdyYXBoIHdpbGwgYmUgcmVuZGVyZWQg
aW4gdHdvIGxpbmVzLCBhbmQgYSAiCiAgICAgICB0ZXh0IHJ1biBhdCAoMTQsMTY1KSB3aWR0aCA0
ODI6ICJob3Jpem9udGFsIHNjcm9sbCBiYXIgd2lsbCBhcHBlYXIgYWxvbmcgdGhlIGJvdHRvbS4i
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L3doaXRlc3Bh
Y2UvbmJzcC1tb2RlLWFuZC1saW5ld3JhcHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL2Zhc3QvdGV4dC93aGl0ZXNwYWNlL25ic3AtbW9kZS1hbmQtbGluZXdyYXBzLWV4
cGVjdGVkLnR4dAppbmRleCBjNjk5ZDllNDcwODRjOWI3YTg1YzJmZmE0ZWJjZWEyNTZlNzYyNTNk
Li44ZTJmY2QwMjQ4NzI3NDg0ZDgzMzk1NmU5M2ZjZmRhMzEyMzIwNDY0IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L3doaXRlc3BhY2UvbmJzcC1tb2RlLWFu
ZC1saW5ld3JhcHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9m
YXN0L3RleHQvd2hpdGVzcGFjZS9uYnNwLW1vZGUtYW5kLWxpbmV3cmFwcy1leHBlY3RlZC50eHQK
QEAgLTUsMTAgKzUsMTAgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgUmVuZGVy
Qm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTg0CiBsYXllciBhdCAoMTAwLDgpIHNpemUg
NzAweDE5NgogICBSZW5kZXJCbG9jayAocG9zaXRpb25lZCkge0RJVn0gYXQgKDEwMCw4KSBzaXpl
IDcwMHgxOTYgW2JvcmRlcjogKDJweCBzb2xpZCAjRkYwMDAwKV0KLSAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDE0LDE0KSBzaXplIDY1OXgxNjgKLSAgICAgIHRleHQgcnVuIGF0ICgxNCwxNCkg
d2lkdGggNjU5OiAiVGhpcyBkaXYgaXMgYWJzb2x1dGVseSBwb3NpdGlvbmVkIHRvIHRoZSBsZWZ0
LiBBbGwgdGhlIHNwYWNlcyBpbiB0aGlzIGRpdiIKLSAgICAgIHRleHQgcnVuIGF0ICgxNCw0Mikg
d2lkdGggNjM4OiAiYXJlIHJlcGxhY2VkIHdpdGggbm9uLWJyZWFraW5nIHNwYWNlcywgYW5kIHRo
ZSBuYnNwLW1vZGUgZm9yIHRoaXMiCi0gICAgICB0ZXh0IHJ1biBhdCAoMTQsNzApIHdpZHRoIDYx
MDogImRpdiBpcyAnc3BhY2UnLCBzbyB3aGVuIGNhbGN1bGF0aW5nIGxpbmUgYnJlYWtzLCB0aGUg
bm9uLWJyZWFraW5nIgotICAgICAgdGV4dCBydW4gYXQgKDE0LDk4KSB3aWR0aCA2NTE6ICJzcGFj
ZXMgc2hvdWxkIGJlIHRyZWF0ZWQgYXMgbm9ybWFsIHNwYWNlcy4gSWYgdGhpcyBpc24ndCB0aGUg
Y2FzZSwgdGhlbiIKLSAgICAgIHRleHQgcnVuIGF0ICgxNCwxMjYpIHdpZHRoIDYyMjogImFsbCB0
aGUgdGV4dCBmb3IgdGhpcyBwYXJhZ3JhcGggd2lsbCBiZSByZW5kZXJlZCBpbiB0d28gbGluZXMs
IGFuZCBhIgorICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTQsMTQpIHNpemUgNjY1eDE2OAor
ICAgICAgdGV4dCBydW4gYXQgKDE0LDE0KSB3aWR0aCA2NjU6ICJUaGlzIGRpdiBpcyBhYnNvbHV0
ZWx5IHBvc2l0aW9uZWQgdG8gdGhlIGxlZnQuIEFsbCB0aGUgc3BhY2VzIGluIHRoaXMgZGl2ICIK
KyAgICAgIHRleHQgcnVuIGF0ICgxNCw0Mikgd2lkdGggNjQ0OiAiYXJlIHJlcGxhY2VkIHdpdGgg
bm9uLWJyZWFraW5nIHNwYWNlcywgYW5kIHRoZSBuYnNwLW1vZGUgZm9yIHRoaXMgIgorICAgICAg
dGV4dCBydW4gYXQgKDE0LDcwKSB3aWR0aCA2MTY6ICJkaXYgaXMgJ3NwYWNlJywgc28gd2hlbiBj
YWxjdWxhdGluZyBsaW5lIGJyZWFrcywgdGhlIG5vbi1icmVha2luZyAiCisgICAgICB0ZXh0IHJ1
biBhdCAoMTQsOTgpIHdpZHRoIDY1NzogInNwYWNlcyBzaG91bGQgYmUgdHJlYXRlZCBhcyBub3Jt
YWwgc3BhY2VzLiBJZiB0aGlzIGlzbid0IHRoZSBjYXNlLCB0aGVuICIKKyAgICAgIHRleHQgcnVu
IGF0ICgxNCwxMjYpIHdpZHRoIDYyODogImFsbCB0aGUgdGV4dCBmb3IgdGhpcyBwYXJhZ3JhcGgg
d2lsbCBiZSByZW5kZXJlZCBpbiB0d28gbGluZXMsIGFuZCBhICIKICAgICAgIHRleHQgcnVuIGF0
ICgxNCwxNTQpIHdpZHRoIDQ4MjogImhvcml6b250YWwgc2Nyb2xsIGJhciB3aWxsIGFwcGVhciBh
bG9uZyB0aGUgYm90dG9tLiIK
</data>

          </attachment>
      

    </bug>

</bugzilla>