<?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>224141</bug_id>
          
          <creation_ts>2021-04-02 16:54:56 -0700</creation_ts>
          <short_desc>[MediaSession] Small refactoring of MediaSession implementation classes</short_desc>
          <delta_ts>2021-04-05 17:12:16 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jer Noble">jer.noble</reporter>
          <assigned_to name="Jer Noble">jer.noble</assigned_to>
          <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1746726</commentid>
    <comment_count>0</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2021-04-02 16:54:56 -0700</bug_when>
    <thetext>[MediaSession] Small refactoring of MediaSession implementation classes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1746729</commentid>
    <comment_count>1</comment_count>
      <attachid>425066</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2021-04-02 17:04:14 -0700</bug_when>
    <thetext>Created attachment 425066
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1746732</commentid>
    <comment_count>2</comment_count>
      <attachid>425069</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2021-04-02 17:11:00 -0700</bug_when>
    <thetext>Created attachment 425069
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1746735</commentid>
    <comment_count>3</comment_count>
      <attachid>425070</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2021-04-02 17:16:00 -0700</bug_when>
    <thetext>Created attachment 425070
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1747180</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-04-05 17:11:32 -0700</bug_when>
    <thetext>Committed r275458: &lt;https://commits.webkit.org/r275458&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 425070.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1747181</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-04-05 17:12:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/76243027&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>425066</attachid>
            <date>2021-04-02 17:04:14 -0700</date>
            <delta_ts>2021-04-02 17:10:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224141-20210402170413.patch</filename>
            <type>text/plain</type>
            <size>25122</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc1NDIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDM4ZGE0OTM1OGI3NGEw
Y2U5ODZmM2YwZDlhOWMwYzFlNTlmMmRmYi4uYzE3M2RjOWMxMmY4MmM5YzFhYWFhY2Y4MmQ2M2Vj
ZDgwOGQ2NjdhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDIxLTA0LTAyICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFtNZWRpYVNlc3Npb25dIFNt
YWxsIHJlZmFjdG9yaW5nIG9mIE1lZGlhU2Vzc2lvbiBpbXBsZW1lbnRhdGlvbiBjbGFzc2VzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjQxNDEKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBIHNtb3JnYXNi
b2FyZCBvZiBzbWFsbCByZWZhY3RvcmluZyBjaGFuZ2VzOgorCisgICAgICAgIC0gRG9uJ3QgY2Fs
bCBhY3Rpb24gaGFuZGxlcnMgYnkgZGVmYXVsdCBpbiByZXNwb25zZSB0byBjb29yZGluYXRvciBy
ZXF1ZXN0cy4KKyAgICAgICAgLSBTaW5jZSB3ZSBkb24ndCBjYWxsIHRoZSBhY3Rpb24gaGFuZGxl
cnMsIHdlIGRvbid0IG5lZWQgdGhlIGludGVybmFsIG1ldGhvZHMuCisgICAgICAgIC0gU2ltcGxp
ZnkgdGhlIGNhbGwgc2l0ZSBieSBkZWZpbmluZyB0aGUgYWN0aW9uIGRldGFpbHMgaW5saW5lLgor
CisgICAgICAgICogTW9kdWxlcy9tZWRpYXNlc3Npb24vTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3Iu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTZXNzaW9uQ29vcmRpbmF0b3I6OnNlZWtTZXNz
aW9uVG9UaW1lKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yOjpw
bGF5U2Vzc2lvbik6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNlc3Npb25Db29yZGluYXRvcjo6
cGF1c2VTZXNzaW9uKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9y
OjpzZXRTZXNzaW9uVHJhY2spOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTZXNzaW9uQ29vcmRp
bmF0b3I6OmludGVybmFsU2Vla1RvKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
U2Vzc2lvbkNvb3JkaW5hdG9yOjppbnRlcm5hbFBsYXkpOiBEZWxldGVkLgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFTZXNzaW9uQ29vcmRpbmF0b3I6OmludGVybmFsUGF1c2UpOiBEZWxldGVkLgor
ICAgICAgICAoV2ViQ29yZTo6TWVkaWFTZXNzaW9uQ29vcmRpbmF0b3I6OmludGVybmFsU2V0VHJh
Y2spOiBEZWxldGVkLgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzZXNzaW9uL01lZGlhU2Vzc2lv
bkNvb3JkaW5hdG9yLmg6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXNlc3Npb24vTWVkaWFTZXNz
aW9uQ29vcmRpbmF0b3JQcml2YXRlLmg6CisKIDIwMjEtMDQtMDIgIFR5bGVyIFdpbGNvY2sgIDx0
d2lsY28ub0Bwcm90b25tYWlsLmNvbT4KIAogICAgICAgICBOb24tdW5pZmllZCBidWlsZCBmaXhl
cywgZWFybHkgQXByaWwgMjAyMQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCAyNDEyNWFkMjJkY2IwNGYxNDM0OGRhOTgy
NGYyNTA1YmIxMThjNDg2Li5kMjQ5NGViMTMzNDExNTUzMTZiMTI1NGQ0NzlkN2Q3OWZjNDYxNzYy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDIxLTA0LTAyICBKZXIgTm9ibGUgIDxqZXIu
bm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFtNZWRpYVNlc3Npb25dIFNtYWxsIHJlZmFjdG9y
aW5nIG9mIE1lZGlhU2Vzc2lvbiBpbXBsZW1lbnRhdGlvbiBjbGFzc2VzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjQxNDEKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBIHNtb3JnYXNib2FyZCBvZiBzbWFs
bCByZWZhY3RvcmluZyBjaGFuZ2VzOgorCisgICAgICAgIC0gTWVkaWFTZXNzaW9uQ29vcmRpbmF0
b3JQcm94eVByaXZhdGUgc2hvdWxkIHVzZSBhbiBPcHRpb25hbDxFeGNlcHRpb25EYXRhPiByYXRo
ZXIgdGhhbgorICAgICAgICAgIGFuIGFjdHVhbCBFeGNlcHRpb25EYXRhLCB0byBoYW5kbGUgdGhl
IGNhc2Ugd2hlcmUgbm8gZXhjZXB0aW9uIHdhcyBlbmNvdXRlcmVkLgorICAgICAgICAtIFJlbW90
ZU1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yUHJveHk6OmNyZWF0ZSgpIHNob3VsZCBqdXN0IHJldHVy
biBhIFJlZiwgbm90IGEgUmVmUHRyLgorICAgICAgICAtIExvZ2dpbmcgaW5zaWRlIGEgY29tcGxl
dGlvbiBoYW5kbGVyIHJlcXVpcmVzIGFjY2VzcyB0byB0aGlzLgorICAgICAgICAtIEFkZCBSZW1v
dGVNZWRpYVNlc3Npb25Db29yZGluYXRvclByb3h5LmNwcCB0byB0aGUgYnVpbGQuCisKKyAgICAg
ICAgKiBVSVByb2Nlc3MvTWVkaWEvTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3JQcm94eVByaXZhdGUu
aDoKKyAgICAgICAgKiBVSVByb2Nlc3MvTWVkaWEvUmVtb3RlTWVkaWFTZXNzaW9uQ29vcmRpbmF0
b3JQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhU2Vzc2lvbkNvb3JkaW5h
dG9yUHJveHk6OmNyZWF0ZSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhU2Vzc2lvbkNv
b3JkaW5hdG9yUHJveHk6OlJlbW90ZU1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yUHJveHkpOgorICAg
ICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVNlc3Npb25Db29yZGluYXRvclByb3h5Ojpqb2luKToK
KyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3JQcm94eTo6Y29v
cmRpbmF0ZVNlZWtUbyk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhU2Vzc2lvbkNvb3Jk
aW5hdG9yUHJveHk6OmNvb3JkaW5hdGVQbGF5KToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVk
aWFTZXNzaW9uQ29vcmRpbmF0b3JQcm94eTo6Y29vcmRpbmF0ZVBhdXNlKToKKyAgICAgICAgKFdl
YktpdDo6UmVtb3RlTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3JQcm94eTo6Y29vcmRpbmF0ZVNldFRy
YWNrKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3JQcm94
eTo6cGF1c2VTZXNzaW9uKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFTZXNzaW9uQ29v
cmRpbmF0b3JQcm94eTo6c2V0U2Vzc2lvblRyYWNrKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3Rl
TWVkaWFTZXNzaW9uQ29vcmRpbmF0b3JQcm94eTo6bG9nQ2hhbm5lbCBjb25zdCk6CisgICAgICAg
IChXZWJLaXQ6OlJlbW90ZU1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yUHJveHk6Ojo6Y29vcmRpbmF0
ZVNldFRyYWNrKTogRGVsZXRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvTWVkaWEvUmVtb3RlTWVk
aWFTZXNzaW9uQ29vcmRpbmF0b3JQcm94eS5oOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRp
YVNlc3Npb25Db29yZGluYXRvclByb3h5Ojpsb2dnZXIgY29uc3QpOgorICAgICAgICAoV2ViS2l0
OjpSZW1vdGVNZWRpYVNlc3Npb25Db29yZGluYXRvclByb3h5Ojpsb2dJZGVudGlmaWVyIGNvbnN0
KToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3JQcm94eTo6
bG9nQ2xhc3NOYW1lIGNvbnN0KToKKwogMjAyMS0wMy0yNiAgSmVyIE5vYmxlICA8amVyLm5vYmxl
QGFwcGxlLmNvbT4KIAogICAgICAgICBbQ29jb2FdIEFkZCBXZWJLaXRBZGRpdGlvbnMgc291cmNl
cyB0byBwcm9qZWN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vz
c2lvbi9NZWRpYVNlc3Npb25Db29yZGluYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc2Vzc2lvbi9NZWRpYVNlc3Npb25Db29yZGluYXRvci5jcHAKaW5kZXggMjA4MTk4YmMz
NDAwOGVhOTQ2ZDM5YjFhYWRjNGY4NDRjODU1YTgzYS4uNjkyOGIwMzhkNWI0MDBhNTY5YjI1ZGM1
ZGU3OGEyNjZhODNiZmFiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXNlc3Npb24vTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzZXNzaW9uL01lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yLmNwcApAQCAtMjky
LDcgKzI5Miw4IEBAIHZvaWQgTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3I6OnNlZWtTZXNzaW9uVG9U
aW1lKGRvdWJsZSB0aW1lLCBDb21wbGV0aW9uSGFuZGxlcjx2CiAgICAgICAgIHJldHVybjsKICAg
ICB9CiAKLSAgICBjb21wbGV0aW9uSGFuZGxlcihpbnRlcm5hbFNlZWtUbyh0aW1lKSk7CisgICAg
bV9zZXNzaW9uLT5jYWxsQWN0aW9uSGFuZGxlcih7IC5hY3Rpb24gPSBNZWRpYVNlc3Npb25BY3Rp
b246OlNlZWt0bywgLnNlZWtUaW1lID0gdGltZSB9KTsKKyAgICBjb21wbGV0aW9uSGFuZGxlcih0
cnVlKTsKIH0KIAogdm9pZCBNZWRpYVNlc3Npb25Db29yZGluYXRvcjo6cGxheVNlc3Npb24oQ29t
cGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKQEAgLTMwNCwx
MCArMzA1LDExIEBAIHZvaWQgTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3I6OnBsYXlTZXNzaW9uKENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYgY29tcGxlCiAgICAgICAgIHJldHVybjsKICAg
ICB9CiAKLSAgICBjb21wbGV0aW9uSGFuZGxlcihpbnRlcm5hbFBsYXkoKSk7CisgICAgbV9zZXNz
aW9uLT5jYWxsQWN0aW9uSGFuZGxlcih7IC5hY3Rpb24gPSBNZWRpYVNlc3Npb25BY3Rpb246OlBs
YXkgfSk7CisgICAgY29tcGxldGlvbkhhbmRsZXIodHJ1ZSk7CiB9CiAKLXZvaWQgTWVkaWFTZXNz
aW9uQ29vcmRpbmF0b3I6OnBhdXNlU2Vzc2lvbihDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wp
PiBjb21wbGV0aW9uSGFuZGxlcikKK3ZvaWQgTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3I6OnBhdXNl
U2Vzc2lvbihDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmIGNvbXBsZXRpb25IYW5kbGVy
KQogewogICAgIEFMV0FZU19MT0coTE9HSURFTlRJRklFUiwgbV9zdGF0ZSk7CiAKQEAgLTMxNiwx
MCArMzE4LDExIEBAIHZvaWQgTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3I6OnBhdXNlU2Vzc2lvbihD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiBjb21wbGV0CiAgICAgICAgIHJldHVybjsKICAg
ICB9CiAKLSAgICBjb21wbGV0aW9uSGFuZGxlcihpbnRlcm5hbFBhdXNlKCkpOworICAgIG1fc2Vz
c2lvbi0+Y2FsbEFjdGlvbkhhbmRsZXIoeyAuYWN0aW9uID0gTWVkaWFTZXNzaW9uQWN0aW9uOjpQ
bGF5IH0pOworICAgIGNvbXBsZXRpb25IYW5kbGVyKHRydWUpOwogfQogCi12b2lkIE1lZGlhU2Vz
c2lvbkNvb3JkaW5hdG9yOjpzZXRTZXNzaW9uVHJhY2soY29uc3QgU3RyaW5nJiB0cmFjaywgQ29t
cGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4gY29tcGxldGlvbkhhbmRsZXIpCit2b2lkIE1lZGlh
U2Vzc2lvbkNvb3JkaW5hdG9yOjpzZXRTZXNzaW9uVHJhY2soY29uc3QgU3RyaW5nJiB0cmFjaywg
Q29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKICAg
ICBBTFdBWVNfTE9HKExPR0lERU5USUZJRVIsIG1fc3RhdGUsICIsICIsIHRyYWNrKTsKIApAQCAt
MzI4LDYxICszMzEsOCBAQCB2b2lkIE1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yOjpzZXRTZXNzaW9u
VHJhY2soY29uc3QgU3RyaW5nJiB0cmFjaywgQ29tcGxldGlvbkhhbgogICAgICAgICByZXR1cm47
CiAgICAgfQogCi0gICAgY29tcGxldGlvbkhhbmRsZXIoaW50ZXJuYWxTZXRUcmFjayh0cmFjaykp
OwotfQotCi1ib29sIE1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yOjppbnRlcm5hbFNlZWtUbyhkb3Vi
bGUgdGltZSkKLXsKLSAgICBpZiAoIW1fc2Vzc2lvbikKLSAgICAgICAgcmV0dXJuIGZhbHNlOwot
Ci0gICAgTWVkaWFTZXNzaW9uQWN0aW9uRGV0YWlscyBkZXRhaWxzIHsKLSAgICAgICAgLmFjdGlv
biA9IE1lZGlhU2Vzc2lvbkFjdGlvbjo6U2Vla3RvLAotICAgICAgICAuc2Vla1RpbWUgPSB0aW1l
LAotICAgIH07Ci0gICAgbV9zZXNzaW9uLT5jYWxsQWN0aW9uSGFuZGxlcihkZXRhaWxzKTsKLQot
ICAgIHJldHVybiB0cnVlOwotfQotCi1ib29sIE1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yOjppbnRl
cm5hbFBsYXkoKQotewotICAgIGlmICghbV9zZXNzaW9uKQotICAgICAgICByZXR1cm4gZmFsc2U7
Ci0KLSAgICBNZWRpYVNlc3Npb25BY3Rpb25EZXRhaWxzIGRldGFpbHMgewotICAgICAgICAuYWN0
aW9uID0gTWVkaWFTZXNzaW9uQWN0aW9uOjpQbGF5LAotICAgIH07Ci0gICAgbV9zZXNzaW9uLT5j
YWxsQWN0aW9uSGFuZGxlcihkZXRhaWxzKTsKLQotICAgIHJldHVybiB0cnVlOwotfQotCi1ib29s
IE1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yOjppbnRlcm5hbFBhdXNlKCkKLXsKLSAgICBpZiAoIW1f
c2Vzc2lvbikKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgTWVkaWFTZXNzaW9uQWN0aW9u
RGV0YWlscyBkZXRhaWxzIHsKLSAgICAgICAgLmFjdGlvbiA9IE1lZGlhU2Vzc2lvbkFjdGlvbjo6
UGF1c2UsCi0gICAgfTsKLSAgICBtX3Nlc3Npb24tPmNhbGxBY3Rpb25IYW5kbGVyKGRldGFpbHMp
OwotCi0gICAgcmV0dXJuIHRydWU7Ci19Ci0KLWJvb2wgTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3I6
OmludGVybmFsU2V0VHJhY2soY29uc3QgU3RyaW5nJiB0cmFjaykKLXsKLSAgICBpZiAoIW1fc2Vz
c2lvbikKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgTWVkaWFTZXNzaW9uQWN0aW9uRGV0
YWlscyBkZXRhaWxzIHsKLSAgICAgICAgLmFjdGlvbiA9IE1lZGlhU2Vzc2lvbkFjdGlvbjo6U2V0
dHJhY2ssCi0gICAgICAgIC50cmFja0lkZW50aWZpZXIgPSB0cmFjaywKLSAgICB9OwotICAgIG1f
c2Vzc2lvbi0+Y2FsbEFjdGlvbkhhbmRsZXIoZGV0YWlscyk7Ci0KLSAgICByZXR1cm4gdHJ1ZTsK
KyAgICBtX3Nlc3Npb24tPmNhbGxBY3Rpb25IYW5kbGVyKHsgLmFjdGlvbiA9IE1lZGlhU2Vzc2lv
bkFjdGlvbjo6U2V0dHJhY2ssIC50cmFja0lkZW50aWZpZXIgPSB0cmFjayB9KTsKKyAgICBjb21w
bGV0aW9uSGFuZGxlcih0cnVlKTsKIH0KIAogV1RGTG9nQ2hhbm5lbCYgTWVkaWFTZXNzaW9uQ29v
cmRpbmF0b3I6OmxvZ0NoYW5uZWwoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXNlc3Npb24vTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3IuaCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzZXNzaW9uL01lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yLmgKaW5kZXggZmQ0
YTg3M2QxYmM5YzJlZWVkYzczYTM4NDRhNzA1YTZiZWEyMDMwNy4uNWM4ZGNjYzQ5NjkxYWZhMjll
ZThlOGI2ZGE2ZjBmNjg2ZjBlOGE4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXNlc3Npb24vTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3IuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lvbi9NZWRpYVNlc3Npb25Db29yZGluYXRvci5oCkBAIC03
MywxMyArNzMsOCBAQCBwcml2YXRlOgogICAgIC8vIE1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yQ2xp
ZW50CiAgICAgdm9pZCBzZWVrU2Vzc2lvblRvVGltZShkb3VibGUsIENvbXBsZXRpb25IYW5kbGVy
PHZvaWQoYm9vbCk+JiYpIGZpbmFsOwogICAgIHZvaWQgcGxheVNlc3Npb24oQ29tcGxldGlvbkhh
bmRsZXI8dm9pZChib29sKT4mJikgZmluYWw7Ci0gICAgdm9pZCBwYXVzZVNlc3Npb24oQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZChib29sKT4pIGZpbmFsOwotICAgIHZvaWQgc2V0U2Vzc2lvblRyYWNr
KGNvbnN0IFN0cmluZyYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+KSBmaW5hbDsKLQot
ICAgIGJvb2wgaW50ZXJuYWxTZWVrVG8oZG91YmxlKTsKLSAgICBib29sIGludGVybmFsUGxheSgp
OwotICAgIGJvb2wgaW50ZXJuYWxQYXVzZSgpOwotICAgIGJvb2wgaW50ZXJuYWxTZXRUcmFjayhj
b25zdCBTdHJpbmcmKTsKKyAgICB2b2lkIHBhdXNlU2Vzc2lvbihDb21wbGV0aW9uSGFuZGxlcjx2
b2lkKGJvb2wpPiYmKSBmaW5hbDsKKyAgICB2b2lkIHNldFNlc3Npb25UcmFjayhjb25zdCBTdHJp
bmcmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmKSBmaW5hbDsKIAogICAgIGNvbnN0
IExvZ2dlciYgbG9nZ2VyKCkgY29uc3QgeyByZXR1cm4gbV9sb2dnZXI7IH0KICAgICBjb25zdCB2
b2lkKiBsb2dJZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4gbV9sb2dJZGVudGlmaWVyOyB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lvbi9NZWRpYVNlc3Np
b25Db29yZGluYXRvclByaXZhdGUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzZXNz
aW9uL01lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yUHJpdmF0ZS5oCmluZGV4IGY4MDMwZTc4NzIwODJm
MDI3NGE3YWY1ODk2MmZlZDhjMTQwYjBiMzIuLjUyNzE5MThmZDc4NTIzYjYzYzY5MDYxZDQxNjAz
ZmVlYzk2ODdjZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzZXNz
aW9uL01lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzZXNzaW9uL01lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yUHJpdmF0ZS5oCkBA
IC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSAiTWVkaWFTZXNzaW9uUGxheWJhY2tTdGF0ZS5oIgog
I2luY2x1ZGUgIk1lZGlhU2Vzc2lvblJlYWR5U3RhdGUuaCIKICNpbmNsdWRlIDx3dGYvT3B0aW9u
YWwuaD4KKyNpbmNsdWRlIDx3dGYvV2Vha1B0ci5oPgogCiBuYW1lc3BhY2UgV1RGIHsKIGNsYXNz
IExvZ2dlcjsKQEAgLTQ2LDggKzQ3LDggQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIHNl
ZWtTZXNzaW9uVG9UaW1lKGRvdWJsZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJikg
PSAwOwogICAgIHZpcnR1YWwgdm9pZCBwbGF5U2Vzc2lvbihDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KGJvb2wpPiYmKSA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIHBhdXNlU2Vzc2lvbihDb21wbGV0aW9u
SGFuZGxlcjx2b2lkKGJvb2wpPikgPSAwOwotICAgIHZpcnR1YWwgdm9pZCBzZXRTZXNzaW9uVHJh
Y2soY29uc3QgU3RyaW5nJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4pID0gMDsKKyAg
ICB2aXJ0dWFsIHZvaWQgcGF1c2VTZXNzaW9uKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+
JiYpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0U2Vzc2lvblRyYWNrKGNvbnN0IFN0cmluZyYs
IENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYpID0gMDsKIH07CiAKIGNsYXNzIE1lZGlh
U2Vzc2lvbkNvb3JkaW5hdG9yUHJpdmF0ZSA6IHB1YmxpYyBSZWZDb3VudGVkPE1lZGlhU2Vzc2lv
bkNvb3JkaW5hdG9yUHJpdmF0ZT4gewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvTWVkaWEvTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3JQcm94eVByaXZhdGUuaCBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL01lZGlhL01lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yUHJveHlQcml2YXRl
LmgKaW5kZXggMjJkZGRlZDBhODlmODM0OGJmN2U2ZGMyODhkYmNjMzNmY2Y1ZWM2ZS4uNTc3OThl
OTg2ZWZmODg5YTYyMGRkMzAxZGYyOThhNmU3N2UzNjdiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvTWVkaWEvTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3JQcm94eVByaXZhdGUu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9NZWRpYS9NZWRpYVNlc3Npb25Db29yZGlu
YXRvclByb3h5UHJpdmF0ZS5oCkBAIC0yNyw2ICsyNyw3IEBACiAKICNpZiBFTkFCTEUoTUVESUFf
U0VTU0lPTl9DT09SRElOQVRPUikKIAorI2luY2x1ZGUgPFdlYkNvcmUvRXhjZXB0aW9uRGF0YS5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3JQcml2YXRlLmg+CiAj
aW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CkBAIC00MSwx
MCArNDIsMTIgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBTdHJpbmcgaWRlbnRpZmllcigpIGNv
bnN0ID0gMDsKIAotICAgIHZpcnR1YWwgdm9pZCBzZWVrVG8oZG91YmxlLCBDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKGNvbnN0IFdlYkNvcmU6OkV4Y2VwdGlvbkRhdGEmKT4mJikgPSAwOwotICAgIHZp
cnR1YWwgdm9pZCBwbGF5KENvbXBsZXRpb25IYW5kbGVyPHZvaWQoY29uc3QgV2ViQ29yZTo6RXhj
ZXB0aW9uRGF0YSYpPiYmKSA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIHBhdXNlKENvbXBsZXRpb25I
YW5kbGVyPHZvaWQoY29uc3QgV2ViQ29yZTo6RXhjZXB0aW9uRGF0YSYpPiYmKSA9IDA7Ci0gICAg
dmlydHVhbCB2b2lkIHNldFRyYWNrKGNvbnN0IFN0cmluZyYsIENvbXBsZXRpb25IYW5kbGVyPHZv
aWQoY29uc3QgV2ViQ29yZTo6RXhjZXB0aW9uRGF0YSYpPiYmKSA9IDA7CisgICAgdmlydHVhbCB2
b2lkIGpvaW4oQ29tcGxldGlvbkhhbmRsZXI8dm9pZChPcHRpb25hbDxXZWJDb3JlOjpFeGNlcHRp
b25EYXRhPiYmKT4mJikgPSAwOworICAgIHZpcnR1YWwgdm9pZCBsZWF2ZSgpID0gMDsKKyAgICB2
aXJ0dWFsIHZvaWQgc2Vla1RvKGRvdWJsZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChPcHRpb25h
bDxXZWJDb3JlOjpFeGNlcHRpb25EYXRhPiYmKT4mJikgPSAwOworICAgIHZpcnR1YWwgdm9pZCBw
bGF5KENvbXBsZXRpb25IYW5kbGVyPHZvaWQoT3B0aW9uYWw8V2ViQ29yZTo6RXhjZXB0aW9uRGF0
YT4mJik+JiYpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgcGF1c2UoQ29tcGxldGlvbkhhbmRsZXI8
dm9pZChPcHRpb25hbDxXZWJDb3JlOjpFeGNlcHRpb25EYXRhPiYmKT4mJikgPSAwOworICAgIHZp
cnR1YWwgdm9pZCBzZXRUcmFjayhjb25zdCBTdHJpbmcmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KE9wdGlvbmFsPFdlYkNvcmU6OkV4Y2VwdGlvbkRhdGE+JiYpPiYmKSA9IDA7CiAKICAgICB2aXJ0
dWFsIHZvaWQgcG9zaXRpb25TdGF0ZUNoYW5nZWQoY29uc3QgT3B0aW9uYWw8V2ViQ29yZTo6TWVk
aWFQb3NpdGlvblN0YXRlPiYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgcmVhZHlTdGF0ZUNoYW5n
ZWQoV2ViQ29yZTo6TWVkaWFTZXNzaW9uUmVhZHlTdGF0ZSkgPSAwOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvTWVkaWEvUmVtb3RlTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3JQ
cm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9NZWRpYS9SZW1vdGVNZWRpYVNlc3Np
b25Db29yZGluYXRvclByb3h5LmNwcAppbmRleCA3MjdmZTJkNzYzMWY0ZTVkZTc0MTdmNjMyZDEx
YzYzOWE2NGIyZTA2Li45ZWRmMzNlMGMwNThmNThjYWZiOTUyZjEyMDRjNWZiZjZiNWQ3YzZlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9NZWRpYS9SZW1vdGVNZWRpYVNlc3Np
b25Db29yZGluYXRvclByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9NZWRp
YS9SZW1vdGVNZWRpYVNlc3Npb25Db29yZGluYXRvclByb3h5LmNwcApAQCAtMzAsMTYgKzMwLDIz
IEBACiAKICNpbmNsdWRlICJNZWRpYVNlc3Npb25Db29yZGluYXRvclByb3h5UHJpdmF0ZS5oIgog
I2luY2x1ZGUgIlJlbW90ZU1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yTWVzc2FnZXMuaCIKKyNpbmNs
dWRlICJSZW1vdGVNZWRpYVNlc3Npb25Db29yZGluYXRvclByb3h5TWVzc2FnZXMuaCIKICNpbmNs
dWRlICJXZWJQYWdlUHJveHkuaCIKICNpbmNsdWRlICJXZWJQcm9jZXNzUHJveHkuaCIKICNpbmNs
dWRlIDxXZWJDb3JlL0V4Y2VwdGlvbkRhdGEuaD4KKyNpbmNsdWRlIDx3dGYvTG9nZ2VyLmg+Cisj
aW5jbHVkZSA8d3RmL0xvZ2dlckhlbHBlci5oPgogI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+
CiAjaW5jbHVkZSA8d3RmL1J1bkxvb3AuaD4KIAorbmFtZXNwYWNlIFdlYkNvcmUgeworZXh0ZXJu
IFdURkxvZ0NoYW5uZWwgTG9nTWVkaWE7Cit9CisKIG5hbWVzcGFjZSBXZWJLaXQgewogdXNpbmcg
bmFtZXNwYWNlIFdlYkNvcmU7CiAKLVJlZlB0cjxSZW1vdGVNZWRpYVNlc3Npb25Db29yZGluYXRv
clByb3h5PiBSZW1vdGVNZWRpYVNlc3Npb25Db29yZGluYXRvclByb3h5OjpjcmVhdGUoV2ViUGFn
ZVByb3h5JiB3ZWJQYWdlUHJveHksIFJlZjxNZWRpYVNlc3Npb25Db29yZGluYXRvclByb3h5UHJp
dmF0ZT4mJiBwcml2YXRlQ29vcmRpbmF0b3IpCitSZWY8UmVtb3RlTWVkaWFTZXNzaW9uQ29vcmRp
bmF0b3JQcm94eT4gUmVtb3RlTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3JQcm94eTo6Y3JlYXRlKFdl
YlBhZ2VQcm94eSYgd2ViUGFnZVByb3h5LCBSZWY8TWVkaWFTZXNzaW9uQ29vcmRpbmF0b3JQcm94
eVByaXZhdGU+JiYgcHJpdmF0ZUNvb3JkaW5hdG9yKQogewogICAgIHJldHVybiBhZG9wdFJlZigq
bmV3IFJlbW90ZU1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yUHJveHkod2ViUGFnZVByb3h5LCBXVEZN
b3ZlKHByaXZhdGVDb29yZGluYXRvcikpKTsKIH0KQEAgLTQ3LDggKzU0LDEwIEBAIFJlZlB0cjxS
ZW1vdGVNZWRpYVNlc3Npb25Db29yZGluYXRvclByb3h5PiBSZW1vdGVNZWRpYVNlc3Npb25Db29y
ZGluYXRvclByb3h5OjpjCiBSZW1vdGVNZWRpYVNlc3Npb25Db29yZGluYXRvclByb3h5OjpSZW1v
dGVNZWRpYVNlc3Npb25Db29yZGluYXRvclByb3h5KFdlYlBhZ2VQcm94eSYgd2ViUGFnZVByb3h5
LCBSZWY8TWVkaWFTZXNzaW9uQ29vcmRpbmF0b3JQcm94eVByaXZhdGU+JiYgcHJpdmF0ZUNvb3Jk
aW5hdG9yKQogICAgIDogbV93ZWJQYWdlUHJveHkod2ViUGFnZVByb3h5KQogICAgICwgbV9wcml2
YXRlQ29vcmRpbmF0b3IoV1RGTW92ZShwcml2YXRlQ29vcmRpbmF0b3IpKQorI2lmICFSRUxFQVNF
X0xPR19ESVNBQkxFRAogICAgICwgbV9sb2dnZXIobV93ZWJQYWdlUHJveHkubG9nZ2VyKCkpCi0g
ICAgLCBtX2xvZ0lkZW50aWZpZXIodW5pcXVlTG9nSWRlbnRpZmllcigpKQorICAgICwgbV9sb2dJ
ZGVudGlmaWVyKExvZ2dlckhlbHBlcjo6dW5pcXVlTG9nSWRlbnRpZmllcigpKQorI2VuZGlmCiB7
CiAgICAgbV93ZWJQYWdlUHJveHkucHJvY2VzcygpLmFkZE1lc3NhZ2VSZWNlaXZlcihNZXNzYWdl
czo6UmVtb3RlTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3JQcm94eTo6bWVzc2FnZVJlY2VpdmVyTmFt
ZSgpLCBtX3dlYlBhZ2VQcm94eS53ZWJQYWdlSUQoKSwgKnRoaXMpOwogfQpAQCAtNTgsMTIgKzY3
LDEyIEBAIFJlbW90ZU1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yUHJveHk6On5SZW1vdGVNZWRpYVNl
c3Npb25Db29yZGluYXRvclByb3h5KCkKICAgICBtX3dlYlBhZ2VQcm94eS5wcm9jZXNzKCkucmVt
b3ZlTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpSZW1vdGVNZWRpYVNlc3Npb25Db29yZGluYXRv
clByb3h5OjptZXNzYWdlUmVjZWl2ZXJOYW1lKCksIG1fd2ViUGFnZVByb3h5LndlYlBhZ2VJRCgp
KTsKIH0KIAotdm9pZCBSZW1vdGVNZWRpYVNlc3Npb25Db29yZGluYXRvclByb3h5Ojpqb2luKENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoY29uc3QgV2ViQ29yZTo6RXhjZXB0aW9uRGF0YSYpPiYmKQor
dm9pZCBSZW1vdGVNZWRpYVNlc3Npb25Db29yZGluYXRvclByb3h5Ojpqb2luKENvbW1hbmRDb21w
bGV0aW9uSGFuZGxlciYmIGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIGF1dG8gaWRlbnRpZmll
ciA9IExPR0lERU5USUZJRVI7CiAgICAgQUxXQVlTX0xPRyhpZGVudGlmaWVyKTsKIAotICAgIG1f
cHJpdmF0ZUNvb3JkaW5hdG9yLT5qb2luKFtpZGVudGlmaWVyXSAoY29uc3QgV2ViQ29yZTo6RXhj
ZXB0aW9uRGF0YSYmIGV4Y2VwdGlvbikgbXV0YWJsZSB7CisgICAgbV9wcml2YXRlQ29vcmRpbmF0
b3ItPmpvaW4oW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwgaWRlbnRpZmll
ciwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0gKE9wdGlv
bmFsPEV4Y2VwdGlvbkRhdGE+JiYgZXhjZXB0aW9uKSBtdXRhYmxlIHsKICAgICAgICAgQUxXQVlT
X0xPRyhpZGVudGlmaWVyLCAiY29tcGxldGlvbiIpOwogICAgICAgICBjb21wbGV0aW9uSGFuZGxl
cihXVEZNb3ZlKGV4Y2VwdGlvbikpOwogICAgIH0pOwpAQCAtNzYsNDUgKzg1LDQ1IEBAIHZvaWQg
UmVtb3RlTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3JQcm94eTo6bGVhdmUoKQogICAgIG1fcHJpdmF0
ZUNvb3JkaW5hdG9yLT5sZWF2ZSgpOwogfQogCi12b2lkIFJlbW90ZU1lZGlhU2Vzc2lvbkNvb3Jk
aW5hdG9yUHJveHk6OmNvb3JkaW5hdGVTZWVrVG8oZG91YmxlIHRpbWUsIENvbXBsZXRpb25IYW5k
bGVyPHZvaWQoY29uc3QgV2ViQ29yZTo6RXhjZXB0aW9uRGF0YSYpPiYmIGNvbXBsZXRpb25IYW5k
bGVyKQordm9pZCBSZW1vdGVNZWRpYVNlc3Npb25Db29yZGluYXRvclByb3h5Ojpjb29yZGluYXRl
U2Vla1RvKGRvdWJsZSB0aW1lLCBDb21tYW5kQ29tcGxldGlvbkhhbmRsZXImJiBjb21wbGV0aW9u
SGFuZGxlcikKIHsKICAgICBhdXRvIGlkZW50aWZpZXIgPSBMT0dJREVOVElGSUVSOwogICAgIEFM
V0FZU19MT0coaWRlbnRpZmllciwgdGltZSk7CiAKLSAgICBtX3ByaXZhdGVDb29yZGluYXRvci0+
c2Vla1RvKHRpbWUsIFtpZGVudGlmaWVyXSAoY29uc3QgV2ViQ29yZTo6RXhjZXB0aW9uRGF0YSYm
IGV4Y2VwdGlvbikgbXV0YWJsZSB7CisgICAgbV9wcml2YXRlQ29vcmRpbmF0b3ItPnNlZWtUbyh0
aW1lLCBbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpLCBpZGVudGlmaWVyLCBj
b21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXSAoT3B0aW9uYWw8
RXhjZXB0aW9uRGF0YT4mJiBleGNlcHRpb24pIG11dGFibGUgewogICAgICAgICBBTFdBWVNfTE9H
KGlkZW50aWZpZXIsICJjb21wbGV0aW9uIik7CiAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKFdU
Rk1vdmUoZXhjZXB0aW9uKSk7CiAgICAgfSk7CiB9CiAKLXZvaWQgUmVtb3RlTWVkaWFTZXNzaW9u
Q29vcmRpbmF0b3JQcm94eTo6Y29vcmRpbmF0ZVBsYXkoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChj
b25zdCBXZWJDb3JlOjpFeGNlcHRpb25EYXRhJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCit2b2lk
IFJlbW90ZU1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yUHJveHk6OmNvb3JkaW5hdGVQbGF5KENvbW1h
bmRDb21wbGV0aW9uSGFuZGxlciYmIGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIGF1dG8gaWRl
bnRpZmllciA9IExPR0lERU5USUZJRVI7CiAgICAgQUxXQVlTX0xPRyhpZGVudGlmaWVyKTsKIAot
ICAgIG1fcHJpdmF0ZUNvb3JkaW5hdG9yLT5wbGF5KFtpZGVudGlmaWVyXSAoY29uc3QgV2ViQ29y
ZTo6RXhjZXB0aW9uRGF0YSYmIGV4Y2VwdGlvbikgbXV0YWJsZSB7CisgICAgbV9wcml2YXRlQ29v
cmRpbmF0b3ItPnBsYXkoW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwgaWRl
bnRpZmllciwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0g
KE9wdGlvbmFsPEV4Y2VwdGlvbkRhdGE+JiYgZXhjZXB0aW9uKSBtdXRhYmxlIHsKICAgICAgICAg
QUxXQVlTX0xPRyhpZGVudGlmaWVyLCAiY29tcGxldGlvbiIpOwogICAgICAgICBjb21wbGV0aW9u
SGFuZGxlcihXVEZNb3ZlKGV4Y2VwdGlvbikpOwogICAgIH0pOwogfQogCi12b2lkIFJlbW90ZU1l
ZGlhU2Vzc2lvbkNvb3JkaW5hdG9yUHJveHk6OmNvb3JkaW5hdGVQYXVzZShDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKGNvbnN0IFdlYkNvcmU6OkV4Y2VwdGlvbkRhdGEmKT4mJiBjb21wbGV0aW9uSGFu
ZGxlcikKK3ZvaWQgUmVtb3RlTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3JQcm94eTo6Y29vcmRpbmF0
ZVBhdXNlKENvbW1hbmRDb21wbGV0aW9uSGFuZGxlciYmIGNvbXBsZXRpb25IYW5kbGVyKQogewog
ICAgIGF1dG8gaWRlbnRpZmllciA9IExPR0lERU5USUZJRVI7CiAgICAgQUxXQVlTX0xPRyhpZGVu
dGlmaWVyKTsKIAotICAgIG1fcHJpdmF0ZUNvb3JkaW5hdG9yLT5wYXVzZShbaWRlbnRpZmllcl0g
KGNvbnN0IFdlYkNvcmU6OkV4Y2VwdGlvbkRhdGEmJiBleGNlcHRpb24pIG11dGFibGUgeworICAg
IG1fcHJpdmF0ZUNvb3JkaW5hdG9yLT5wYXVzZShbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VS
ZWYoKnRoaXMpLCBpZGVudGlmaWVyLCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxl
dGlvbkhhbmRsZXIpXSAoT3B0aW9uYWw8RXhjZXB0aW9uRGF0YT4mJiBleGNlcHRpb24pIG11dGFi
bGUgewogICAgICAgICBBTFdBWVNfTE9HKGlkZW50aWZpZXIsICJjb21wbGV0aW9uIik7CiAgICAg
ICAgIGNvbXBsZXRpb25IYW5kbGVyKFdURk1vdmUoZXhjZXB0aW9uKSk7CiAgICAgfSk7CiB9CiAK
LXZvaWQgUmVtb3RlTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3JQcm94eTo6Ojpjb29yZGluYXRlU2V0
VHJhY2soY29uc3QgU3RyaW5nJiB0cmFjaywgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChjb25zdCBX
ZWJDb3JlOjpFeGNlcHRpb25EYXRhJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCit2b2lkIFJlbW90
ZU1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yUHJveHk6OmNvb3JkaW5hdGVTZXRUcmFjayhjb25zdCBT
dHJpbmcmIHRyYWNrLCBDb21tYW5kQ29tcGxldGlvbkhhbmRsZXImJiBjb21wbGV0aW9uSGFuZGxl
cikKIHsKICAgICBhdXRvIGlkZW50aWZpZXIgPSBMT0dJREVOVElGSUVSOwogICAgIEFMV0FZU19M
T0coaWRlbnRpZmllcik7CiAKLSAgICBtX3ByaXZhdGVDb29yZGluYXRvci0+c2V0VHJhY2sodHJh
Y2ssIFtpZGVudGlmaWVyXSAoY29uc3QgV2ViQ29yZTo6RXhjZXB0aW9uRGF0YSYmIGV4Y2VwdGlv
bikgbXV0YWJsZSB7CisgICAgbV9wcml2YXRlQ29vcmRpbmF0b3ItPnNldFRyYWNrKHRyYWNrLCBb
dGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpLCBpZGVudGlmaWVyLCBjb21wbGV0
aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXSAoT3B0aW9uYWw8RXhjZXB0
aW9uRGF0YT4mJiBleGNlcHRpb24pIG11dGFibGUgewogICAgICAgICBBTFdBWVNfTE9HKGlkZW50
aWZpZXIsICJjb21wbGV0aW9uIik7CiAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKFdURk1vdmUo
ZXhjZXB0aW9uKSk7CiAgICAgfSk7CkBAIC0xNDgsMTIgKzE1NywxMiBAQCB2b2lkIFJlbW90ZU1l
ZGlhU2Vzc2lvbkNvb3JkaW5hdG9yUHJveHk6OnBsYXlTZXNzaW9uKENvbXBsZXRpb25IYW5kbGVy
PHZvaWQoYm9vbAogICAgIG1fd2ViUGFnZVByb3h5LnNlbmRXaXRoQXN5bmNSZXBseShNZXNzYWdl
czo6UmVtb3RlTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3I6OlBsYXlTZXNzaW9uIHsgfSwgY2FsbGJh
Y2spOwogfQogCi12b2lkIFJlbW90ZU1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yUHJveHk6OnBhdXNl
U2Vzc2lvbihDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiBjYWxsYmFjaykKK3ZvaWQgUmVt
b3RlTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3JQcm94eTo6cGF1c2VTZXNzaW9uKENvbXBsZXRpb25I
YW5kbGVyPHZvaWQoYm9vbCk+JiYgY2FsbGJhY2spCiB7CiAgICAgbV93ZWJQYWdlUHJveHkuc2Vu
ZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpSZW1vdGVNZWRpYVNlc3Npb25Db29yZGluYXRvcjo6
UGF1c2VTZXNzaW9uIHsgfSwgY2FsbGJhY2spOwogfQogCi12b2lkIFJlbW90ZU1lZGlhU2Vzc2lv
bkNvb3JkaW5hdG9yUHJveHk6OnNldFNlc3Npb25UcmFjayhjb25zdCBTdHJpbmcmIHRyYWNrSWQs
IENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+IGNhbGxiYWNrKQordm9pZCBSZW1vdGVNZWRp
YVNlc3Npb25Db29yZGluYXRvclByb3h5OjpzZXRTZXNzaW9uVHJhY2soY29uc3QgU3RyaW5nJiB0
cmFja0lkLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmIGNhbGxiYWNrKQogewogICAg
IG1fd2ViUGFnZVByb3h5LnNlbmRXaXRoQXN5bmNSZXBseShNZXNzYWdlczo6UmVtb3RlTWVkaWFT
ZXNzaW9uQ29vcmRpbmF0b3I6OlNldFNlc3Npb25UcmFjayB7IHRyYWNrSWQgfSwgY2FsbGJhY2sp
OwogfQpAQCAtMTY0LDYgKzE3MywxMyBAQCB2b2lkIFJlbW90ZU1lZGlhU2Vzc2lvbkNvb3JkaW5h
dG9yUHJveHk6OmNvb3JkaW5hdG9yU3RhdGVDaGFuZ2VkKFdlYkNvcmU6Ok1lZGlhUwogICAgIG1f
cHJpdmF0ZUNvb3JkaW5hdG9yLT5jb29yZGluYXRvclN0YXRlQ2hhbmdlZChzdGF0ZSk7CiB9CiAK
KyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKK1dURkxvZ0NoYW5uZWwmIFJlbW90ZU1lZGlhU2Vz
c2lvbkNvb3JkaW5hdG9yUHJveHk6OmxvZ0NoYW5uZWwoKSBjb25zdAoreworICAgIHJldHVybiBM
b2dNZWRpYTsKK30KKyNlbmRpZgorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI2VuZGlmIC8v
IEVOQUJMRShNRURJQV9TRVNTSU9OX0NPT1JESU5BVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvTWVkaWEvUmVtb3RlTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3JQcm94eS5o
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTWVkaWEvUmVtb3RlTWVkaWFTZXNzaW9uQ29vcmRp
bmF0b3JQcm94eS5oCmluZGV4IDA2OGE1ZjU2ZGQ0ZGJiNjY2NTUxYTdmNjE5ODNiOGUzNTc0ZDAy
NTQuLmFmYjJmNWRhMGQ0YjkzZjdlMTUxZWM0MWRmYThlYzgyMjMxZDdjZGQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL01lZGlhL1JlbW90ZU1lZGlhU2Vzc2lvbkNvb3JkaW5h
dG9yUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9NZWRpYS9SZW1vdGVNZWRp
YVNlc3Npb25Db29yZGluYXRvclByb3h5LmgKQEAgLTY2LDEzICs2NiwxNCBAQCBwcml2YXRlOgog
ICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpEZWNvZGVy
Jikgb3ZlcnJpZGU7CiAKICAgICAvLyBSZWNlaXZlcnMuCi0gICAgdm9pZCBqb2luKENvbXBsZXRp
b25IYW5kbGVyPHZvaWQoY29uc3QgV2ViQ29yZTo6RXhjZXB0aW9uRGF0YSYpPiYmKTsKKyAgICB1
c2luZyBDb21tYW5kQ29tcGxldGlvbkhhbmRsZXIgPSBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKE9w
dGlvbmFsPFdlYkNvcmU6OkV4Y2VwdGlvbkRhdGE+JiYpPjsKKyAgICB2b2lkIGpvaW4oQ29tbWFu
ZENvbXBsZXRpb25IYW5kbGVyJiYpOwogICAgIHZvaWQgbGVhdmUoKTsKLSAgICB2b2lkIGNvb3Jk
aW5hdGVTZWVrVG8oZG91YmxlLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGNvbnN0IFdlYkNvcmU6
OkV4Y2VwdGlvbkRhdGEmKT4mJik7Ci0gICAgdm9pZCBjb29yZGluYXRlUGxheShDb21wbGV0aW9u
SGFuZGxlcjx2b2lkKGNvbnN0IFdlYkNvcmU6OkV4Y2VwdGlvbkRhdGEmKT4mJik7Ci0gICAgdm9p
ZCBjb29yZGluYXRlUGF1c2UoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChjb25zdCBXZWJDb3JlOjpF
eGNlcHRpb25EYXRhJik+JiYpOwotICAgIHZvaWQgY29vcmRpbmF0ZVNldFRyYWNrKGNvbnN0IFN0
cmluZyYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoY29uc3QgV2ViQ29yZTo6RXhjZXB0aW9uRGF0
YSYpPiYmKTsKLSAgICB2b2lkIHBvc2l0aW9uU3RhdGVDaGFuZ2VkKE9wdGlvbmFsPFdlYkNvcmU6
Ok1lZGlhUG9zaXRpb25TdGF0ZT4pOworICAgIHZvaWQgY29vcmRpbmF0ZVNlZWtUbyhkb3VibGUs
IENvbW1hbmRDb21wbGV0aW9uSGFuZGxlciYmKTsKKyAgICB2b2lkIGNvb3JkaW5hdGVQbGF5KENv
bW1hbmRDb21wbGV0aW9uSGFuZGxlciYmKTsKKyAgICB2b2lkIGNvb3JkaW5hdGVQYXVzZShDb21t
YW5kQ29tcGxldGlvbkhhbmRsZXImJik7CisgICAgdm9pZCBjb29yZGluYXRlU2V0VHJhY2soY29u
c3QgU3RyaW5nJiwgQ29tbWFuZENvbXBsZXRpb25IYW5kbGVyJiYpOworICAgIHZvaWQgcG9zaXRp
b25TdGF0ZUNoYW5nZWQoY29uc3QgT3B0aW9uYWw8V2ViQ29yZTo6TWVkaWFQb3NpdGlvblN0YXRl
PiYpOwogICAgIHZvaWQgcmVhZHlTdGF0ZUNoYW5nZWQoV2ViQ29yZTo6TWVkaWFTZXNzaW9uUmVh
ZHlTdGF0ZSk7CiAgICAgdm9pZCBwbGF5YmFja1N0YXRlQ2hhbmdlZChXZWJDb3JlOjpNZWRpYVNl
c3Npb25QbGF5YmFja1N0YXRlKTsKICAgICB2b2lkIGNvb3JkaW5hdG9yU3RhdGVDaGFuZ2VkKFdl
YkNvcmU6Ok1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yU3RhdGUpOwpAQCAtODAsMTMgKzgxLDIyIEBA
IHByaXZhdGU6CiAgICAgLy8gTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3JDbGllbnQKICAgICB2b2lk
IHNlZWtTZXNzaW9uVG9UaW1lKGRvdWJsZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4m
JikgZmluYWw7CiAgICAgdm9pZCBwbGF5U2Vzc2lvbihDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJv
b2wpPiYmKSBmaW5hbDsKLSAgICB2b2lkIHBhdXNlU2Vzc2lvbihDb21wbGV0aW9uSGFuZGxlcjx2
b2lkKGJvb2wpPikgZmluYWw7Ci0gICAgdm9pZCBzZXRTZXNzaW9uVHJhY2soY29uc3QgU3RyaW5n
JiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4pIGZpbmFsOworICAgIHZvaWQgcGF1c2VT
ZXNzaW9uKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYpIGZpbmFsOworICAgIHZvaWQg
c2V0U2Vzc2lvblRyYWNrKGNvbnN0IFN0cmluZyYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9v
bCk+JiYpIGZpbmFsOworCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgY29uc3QgV1RG
OjpMb2dnZXImIGxvZ2dlcigpIGNvbnN0IHsgcmV0dXJuIG1fbG9nZ2VyOyB9CisgICAgY29uc3Qg
dm9pZCogbG9nSWRlbnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIG1fbG9nSWRlbnRpZmllcjsgfQor
ICAgIGNvbnN0IGNoYXIqIGxvZ0NsYXNzTmFtZSgpIGNvbnN0IHsgcmV0dXJuICJSZW1vdGVNZWRp
YVNlc3Npb25Db29yZGluYXRvclByb3h5IjsgfQorICAgIFdURkxvZ0NoYW5uZWwmIGxvZ0NoYW5u
ZWwoKSBjb25zdDsKKyNlbmRpZgogCiAgICAgV2ViUGFnZVByb3h5JiBtX3dlYlBhZ2VQcm94eTsK
ICAgICBSZWY8TWVkaWFTZXNzaW9uQ29vcmRpbmF0b3JQcm94eVByaXZhdGU+IG1fcHJpdmF0ZUNv
b3JkaW5hdG9yOwotICAgIFJlZjxjb25zdCBMb2dnZXI+IG1fbG9nZ2VyOworI2lmICFSRUxFQVNF
X0xPR19ESVNBQkxFRAorICAgIFJlZjxjb25zdCBXVEY6OkxvZ2dlcj4gbV9sb2dnZXI7CiAgICAg
Y29uc3Qgdm9pZCogbV9sb2dJZGVudGlmaWVyOworI2VuZGlmCiB9OwogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCmluZGV4IDMzNGQ1NGVjZWE0NDVkYWE0NWIxOGFkMzU4ZDA3MGVkMzQwMGVjNTUuLjA3MWNi
NWM1MzYxODMxYzRjY2FkM2I1NTZmMjI4MDQ2MGY4ZjAxY2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktp
dC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTg2Myw2ICsxODYzLDcgQEAK
IAkJQ0QwQzY4MzEyMDFGRDEwMTAwQTU5NDA5IC8qIFdLRnVsbFNjcmVlblZpZXdDb250cm9sbGVy
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDBDNjgy
RjIwMUZEMTAxMDBBNTk0MDkgLyogV0tGdWxsU2NyZWVuVmlld0NvbnRyb2xsZXIuaCAqLzsgfTsK
IAkJQ0QxOUEyNkUxQTEzRTgzNDAwOEQ2NTBFIC8qIFdlYkRpYWdub3N0aWNMb2dnaW5nQ2xpZW50
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDE5QTI2
QTFBMTNFODIxMDA4RDY1MEUgLyogV2ViRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuaCAqLzsgfTsK
IAkJQ0QxOUQyRUEyMDQ2NDA2RjAwMTcwNzRBIC8qIEZ1bGxzY3JlZW5Ub3VjaFNlY2hldXJpc3Rp
Yy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0QxOUQy
RTgyMDQ2NDA2RjAwMTcwNzRBIC8qIEZ1bGxzY3JlZW5Ub3VjaFNlY2hldXJpc3RpYy5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUNEMUZFMkQ3MjYx
M0UxODYwMEFEQzI5QiAvKiBSZW1vdGVNZWRpYVNlc3Npb25Db29yZGluYXRvclByb3h5LmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3MzZCNzVDMjYw
RDRBNEUwMEUwNjk5NCAvKiBSZW1vdGVNZWRpYVNlc3Npb25Db29yZGluYXRvclByb3h5LmNwcCAq
LzsgfTsKIAkJQ0QzRUVGNDYyNTc5QzI2MTAwNjU2M0JCIC8qIFJlbW90ZU1lZGlhRW5naW5lQ29u
ZmlndXJhdGlvbkZhY3RvcnlQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDNFRUY0NDI1NzlDMUQ0MDA2NTYzQkIg
LyogUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5TWVzc2FnZVJlY2Vp
dmVyLmNwcCAqLzsgfTsKIAkJQ0Q0NTcwRDMyNDQxMTNCNTAwQTNEQ0VCIC8qIEF1ZGlvU2Vzc2lv
blJvdXRpbmdBcmJpdHJhdG9yUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q0NTcwRDAyNDQxMDE0QTAwQTNEQ0VC
IC8qIEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3Bw
ICovOyB9OwogCQlDRDQ1NzBENDI0NDExRDBGMDBBM0RDRUIgLyogQXVkaW9TZXNzaW9uUm91dGlu
Z0FyYml0cmF0b3IuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQ0Q0NTcwQ0IyNDQwRkIyQTAwQTNEQ0VCIC8qIEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJp
dHJhdG9yLmNwcCAqLzsgfTsKQEAgLTYwMDgsMTIgKzYwMDksMTIgQEAKIAkJCWlzYSA9IFBCWEZy
YW1ld29ya3NCdWlsZFBoYXNlOwogCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKIAkJ
CWZpbGVzID0gKAotCQkJCUNEOTU0OTNGMjYxNTkwOEIwMDgzNzJEOSAvKiBXZWJLaXRTd2lmdC5k
eWxpYiBpbiBGcmFtZXdvcmtzICovLAogCQkJCTM3NjZGOUVFMTg5QTEyNDEwMDNDRjE5QiAvKiBK
YXZhU2NyaXB0Q29yZS5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLywKIAkJCQkzNzY2RjlGMTE4
OUExMjU0MDAzQ0YxOUIgLyogbGliaWN1Y29yZS5keWxpYiBpbiBGcmFtZXdvcmtzICovLAogCQkJ
CTM3NjZGOUVGMTg5QTEyNDQwMDNDRjE5QiAvKiBRdWFydHpDb3JlLmZyYW1ld29yayBpbiBGcmFt
ZXdvcmtzICovLAogCQkJCTM3Njk0NTI1MTg0RkM2QjYwMENERTIxRiAvKiBTZWN1cml0eS5mcmFt
ZXdvcmsgaW4gRnJhbWV3b3JrcyAqLywKIAkJCQkzN0JFQzRERDE5NDhGQzZBMDA4QjQyODYgLyog
V2ViQ29yZS5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLywKKwkJCQlDRDk1NDkzRjI2MTU5MDhC
MDA4MzcyRDkgLyogV2ViS2l0U3dpZnQuZHlsaWIgaW4gRnJhbWV3b3JrcyAqLywKIAkJCSk7CiAJ
CQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTEzMjk0
LDEyICsxMzI5NSwxMiBAQAogCQkJCUUxN0FFMkMzMTZCOUM2M0EwMDFDNDJGMSAvKiBjb20uYXBw
bGUuV2ViS2l0Lk5ldHdvcmtQcm9jZXNzLnNiIGluIFJlc291cmNlcyAqLywKIAkJCQk1NzJFQkJD
NDI1MzZBQjg0MDAwNTUyQjMgLyogY29tLmFwcGxlLldlYktpdC5XZWJBdXRoblByb2Nlc3Muc2Ig
aW4gUmVzb3VyY2VzICovLAogCQkJCUUxMUQzNUFFMTZCNjNEMUIwMDZEMjNENyAvKiBjb20uYXBw
bGUuV2ViUHJvY2Vzcy5zYiBpbiBSZXNvdXJjZXMgKi8sCi0JCQkJQ0QwOUZEMEIyNjE1MkUyNDAw
RTRBQ0YxIC8qIFdlYktpdFN3aWZ0LnhjY29uZmlnIGluIFJlc291cmNlcyAqLywKIAkJCQk0MTRE
RDM3OTIwQkY0M0Y1MDA2OTU5RkIgLyogY29tLmNpc2NvLndlYmV4LnBsdWdpbi5ncGM2NC5zYiBp
biBSZXNvdXJjZXMgKi8sCiAJCQkJNkJFOTY5QzExRTU0RDQ1MjAwOEI3NDgzIC8qIGNvcmVQcmVk
aWN0aW9uX21vZGVsIGluIFJlc291cmNlcyAqLywKIAkJCQk4REMyRUY1MzA0ODZBNjk0MDA5OEIy
MTYgLyogSW5mb1BsaXN0LnN0cmluZ3MgaW4gUmVzb3VyY2VzICovLAogCQkJCTNGQjA4RTQzMUY2
MEIyNDAwMDVFNTMxMiAvKiBpT1MueGNhc3NldHMgaW4gUmVzb3VyY2VzICovLAogCQkJCTVDOEJD
Nzk3MjE4Q0JCNDgwMDgxMzg4NiAvKiBTYWZlQnJvd3NpbmcueGNhc3NldHMgaW4gUmVzb3VyY2Vz
ICovLAorCQkJCUNEMDlGRDBCMjYxNTJFMjQwMEU0QUNGMSAvKiBXZWJLaXRTd2lmdC54Y2NvbmZp
ZyBpbiBSZXNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJv
Y2Vzc2luZyA9IDA7CiAJCX07CkBAIC0xNDEyMiw2ICsxNDEyMyw3IEBACiAJCQkJMDcxQkM1OEYy
M0NFMUVBQTAwNjgwRDdDIC8qIFJlbW90ZU1lZGlhUGxheWVyUHJveHlNZXNzYWdlUmVjZWl2ZXIu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUQ0RDczNzAyM0E5RTU0NzAwNzE3QTI1IC8qIFJlbW90
ZU1lZGlhUmVzb3VyY2VNYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTA3N0JBNTZFMjYwRTZEMUMwMDcyRjE5RiAvKiBSZW1vdGVNZWRpYVNlc3Npb25Db29yZGlu
YXRvci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlDRDFGRTJENzI2MTNFMTg2MDBBREMyOUIgLyog
UmVtb3RlTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3JQcm94eS5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQkxREQyQTY2MzI1NjEyNDZGMDBGRjdCNkYgLyogUmVtb3RlTWVkaWFTb3VyY2VQcm94eU1lc3Nh
Z2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQUMxMzM4NTE4NTkwQzQ2MDBGM0VD
MDUgLyogUmVtb3RlT2JqZWN0UmVnaXN0cnlNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJQ0Q4MjUyRTIyNUQ0OTE5MTAwODYyRkQ4IC8qIFJlbW90ZVJlbW90ZUNvbW1hbmRM
aXN0ZW5lck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>425069</attachid>
            <date>2021-04-02 17:11:00 -0700</date>
            <delta_ts>2021-04-02 17:15:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224141-20210402171059.patch</filename>
            <type>text/plain</type>
            <size>24377</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc1NDIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDM4ZGE0OTM1OGI3NGEw
Y2U5ODZmM2YwZDlhOWMwYzFlNTlmMmRmYi4uYzE3M2RjOWMxMmY4MmM5YzFhYWFhY2Y4MmQ2M2Vj
ZDgwOGQ2NjdhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDIxLTA0LTAyICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFtNZWRpYVNlc3Npb25dIFNt
YWxsIHJlZmFjdG9yaW5nIG9mIE1lZGlhU2Vzc2lvbiBpbXBsZW1lbnRhdGlvbiBjbGFzc2VzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjQxNDEKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBIHNtb3JnYXNi
b2FyZCBvZiBzbWFsbCByZWZhY3RvcmluZyBjaGFuZ2VzOgorCisgICAgICAgIC0gRG9uJ3QgY2Fs
bCBhY3Rpb24gaGFuZGxlcnMgYnkgZGVmYXVsdCBpbiByZXNwb25zZSB0byBjb29yZGluYXRvciBy
ZXF1ZXN0cy4KKyAgICAgICAgLSBTaW5jZSB3ZSBkb24ndCBjYWxsIHRoZSBhY3Rpb24gaGFuZGxl
cnMsIHdlIGRvbid0IG5lZWQgdGhlIGludGVybmFsIG1ldGhvZHMuCisgICAgICAgIC0gU2ltcGxp
ZnkgdGhlIGNhbGwgc2l0ZSBieSBkZWZpbmluZyB0aGUgYWN0aW9uIGRldGFpbHMgaW5saW5lLgor
CisgICAgICAgICogTW9kdWxlcy9tZWRpYXNlc3Npb24vTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3Iu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTZXNzaW9uQ29vcmRpbmF0b3I6OnNlZWtTZXNz
aW9uVG9UaW1lKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yOjpw
bGF5U2Vzc2lvbik6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNlc3Npb25Db29yZGluYXRvcjo6
cGF1c2VTZXNzaW9uKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9y
OjpzZXRTZXNzaW9uVHJhY2spOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTZXNzaW9uQ29vcmRp
bmF0b3I6OmludGVybmFsU2Vla1RvKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
U2Vzc2lvbkNvb3JkaW5hdG9yOjppbnRlcm5hbFBsYXkpOiBEZWxldGVkLgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFTZXNzaW9uQ29vcmRpbmF0b3I6OmludGVybmFsUGF1c2UpOiBEZWxldGVkLgor
ICAgICAgICAoV2ViQ29yZTo6TWVkaWFTZXNzaW9uQ29vcmRpbmF0b3I6OmludGVybmFsU2V0VHJh
Y2spOiBEZWxldGVkLgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzZXNzaW9uL01lZGlhU2Vzc2lv
bkNvb3JkaW5hdG9yLmg6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXNlc3Npb24vTWVkaWFTZXNz
aW9uQ29vcmRpbmF0b3JQcml2YXRlLmg6CisKIDIwMjEtMDQtMDIgIFR5bGVyIFdpbGNvY2sgIDx0
d2lsY28ub0Bwcm90b25tYWlsLmNvbT4KIAogICAgICAgICBOb24tdW5pZmllZCBidWlsZCBmaXhl
cywgZWFybHkgQXByaWwgMjAyMQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA4NmFkYThhMDQ0YjA4MDFiNTAzMmZlZTJl
Y2Y2NjdmM2Y2NDBiM2I5Li5jMWM1ZGEwN2RiZWJjNjJjNjcwYTk0NzhkYWM0Mzk2Y2E0NTM1MWQx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDIxLTA0LTAyICBKZXIgTm9ibGUgIDxqZXIu
bm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFtNZWRpYVNlc3Npb25dIFNtYWxsIHJlZmFjdG9y
aW5nIG9mIE1lZGlhU2Vzc2lvbiBpbXBsZW1lbnRhdGlvbiBjbGFzc2VzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjQxNDEKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBIHNtb3JnYXNib2FyZCBvZiBzbWFs
bCByZWZhY3RvcmluZyBjaGFuZ2VzOgorCisgICAgICAgIC0gTWVkaWFTZXNzaW9uQ29vcmRpbmF0
b3JQcm94eVByaXZhdGUgc2hvdWxkIHVzZSBhbiBPcHRpb25hbDxFeGNlcHRpb25EYXRhPiByYXRo
ZXIgdGhhbgorICAgICAgICAgIGFuIGFjdHVhbCBFeGNlcHRpb25EYXRhLCB0byBoYW5kbGUgdGhl
IGNhc2Ugd2hlcmUgbm8gZXhjZXB0aW9uIHdhcyBlbmNvdXRlcmVkLgorICAgICAgICAtIFJlbW90
ZU1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yUHJveHk6OmNyZWF0ZSgpIHNob3VsZCBqdXN0IHJldHVy
biBhIFJlZiwgbm90IGEgUmVmUHRyLgorICAgICAgICAtIExvZ2dpbmcgaW5zaWRlIGEgY29tcGxl
dGlvbiBoYW5kbGVyIHJlcXVpcmVzIGFjY2VzcyB0byB0aGlzLgorICAgICAgICAtIEFkZCBSZW1v
dGVNZWRpYVNlc3Npb25Db29yZGluYXRvclByb3h5LmNwcCB0byB0aGUgYnVpbGQuCisKKyAgICAg
ICAgKiBVSVByb2Nlc3MvTWVkaWEvTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3JQcm94eVByaXZhdGUu
aDoKKyAgICAgICAgKiBVSVByb2Nlc3MvTWVkaWEvUmVtb3RlTWVkaWFTZXNzaW9uQ29vcmRpbmF0
b3JQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhU2Vzc2lvbkNvb3JkaW5h
dG9yUHJveHk6OmNyZWF0ZSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhU2Vzc2lvbkNv
b3JkaW5hdG9yUHJveHk6OlJlbW90ZU1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yUHJveHkpOgorICAg
ICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVNlc3Npb25Db29yZGluYXRvclByb3h5Ojpqb2luKToK
KyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3JQcm94eTo6Y29v
cmRpbmF0ZVNlZWtUbyk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhU2Vzc2lvbkNvb3Jk
aW5hdG9yUHJveHk6OmNvb3JkaW5hdGVQbGF5KToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVk
aWFTZXNzaW9uQ29vcmRpbmF0b3JQcm94eTo6Y29vcmRpbmF0ZVBhdXNlKToKKyAgICAgICAgKFdl
YktpdDo6UmVtb3RlTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3JQcm94eTo6Y29vcmRpbmF0ZVNldFRy
YWNrKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3JQcm94
eTo6cGF1c2VTZXNzaW9uKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFTZXNzaW9uQ29v
cmRpbmF0b3JQcm94eTo6c2V0U2Vzc2lvblRyYWNrKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3Rl
TWVkaWFTZXNzaW9uQ29vcmRpbmF0b3JQcm94eTo6bG9nQ2hhbm5lbCBjb25zdCk6CisgICAgICAg
IChXZWJLaXQ6OlJlbW90ZU1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yUHJveHk6Ojo6Y29vcmRpbmF0
ZVNldFRyYWNrKTogRGVsZXRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvTWVkaWEvUmVtb3RlTWVk
aWFTZXNzaW9uQ29vcmRpbmF0b3JQcm94eS5oOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRp
YVNlc3Npb25Db29yZGluYXRvclByb3h5Ojpsb2dnZXIgY29uc3QpOgorICAgICAgICAoV2ViS2l0
OjpSZW1vdGVNZWRpYVNlc3Npb25Db29yZGluYXRvclByb3h5Ojpsb2dJZGVudGlmaWVyIGNvbnN0
KToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3JQcm94eTo6
bG9nQ2xhc3NOYW1lIGNvbnN0KToKKwogMjAyMS0wNC0wMiAgWW91ZW5uIEZhYmxldCAgPHlvdWVu
bkBhcHBsZS5jb20+CiAKICAgICAgICAgRG8gbm90IHNlbmQgc2FtcGxlcyB0byBHUFVQcm9jZXNz
IGlmIG1lZGlhc3RyZWFtIHZpZGVvIGlzIG5vdCBwbGF5aW5nCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lvbi9NZWRpYVNlc3Npb25Db29yZGluYXRvci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lvbi9NZWRpYVNlc3Npb25Db29yZGlu
YXRvci5jcHAKaW5kZXggMjA4MTk4YmMzNDAwOGVhOTQ2ZDM5YjFhYWRjNGY4NDRjODU1YTgzYS4u
NjkyOGIwMzhkNWI0MDBhNTY5YjI1ZGM1ZGU3OGEyNjZhODNiZmFiZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNlc3Npb24vTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3Iu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzZXNzaW9uL01lZGlhU2Vzc2lv
bkNvb3JkaW5hdG9yLmNwcApAQCAtMjkyLDcgKzI5Miw4IEBAIHZvaWQgTWVkaWFTZXNzaW9uQ29v
cmRpbmF0b3I6OnNlZWtTZXNzaW9uVG9UaW1lKGRvdWJsZSB0aW1lLCBDb21wbGV0aW9uSGFuZGxl
cjx2CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBjb21wbGV0aW9uSGFuZGxlcihpbnRl
cm5hbFNlZWtUbyh0aW1lKSk7CisgICAgbV9zZXNzaW9uLT5jYWxsQWN0aW9uSGFuZGxlcih7IC5h
Y3Rpb24gPSBNZWRpYVNlc3Npb25BY3Rpb246OlNlZWt0bywgLnNlZWtUaW1lID0gdGltZSB9KTsK
KyAgICBjb21wbGV0aW9uSGFuZGxlcih0cnVlKTsKIH0KIAogdm9pZCBNZWRpYVNlc3Npb25Db29y
ZGluYXRvcjo6cGxheVNlc3Npb24oQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJiBjb21w
bGV0aW9uSGFuZGxlcikKQEAgLTMwNCwxMCArMzA1LDExIEBAIHZvaWQgTWVkaWFTZXNzaW9uQ29v
cmRpbmF0b3I6OnBsYXlTZXNzaW9uKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYgY29t
cGxlCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBjb21wbGV0aW9uSGFuZGxlcihpbnRl
cm5hbFBsYXkoKSk7CisgICAgbV9zZXNzaW9uLT5jYWxsQWN0aW9uSGFuZGxlcih7IC5hY3Rpb24g
PSBNZWRpYVNlc3Npb25BY3Rpb246OlBsYXkgfSk7CisgICAgY29tcGxldGlvbkhhbmRsZXIodHJ1
ZSk7CiB9CiAKLXZvaWQgTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3I6OnBhdXNlU2Vzc2lvbihDb21w
bGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiBjb21wbGV0aW9uSGFuZGxlcikKK3ZvaWQgTWVkaWFT
ZXNzaW9uQ29vcmRpbmF0b3I6OnBhdXNlU2Vzc2lvbihDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJv
b2wpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIEFMV0FZU19MT0coTE9HSURFTlRJRklF
UiwgbV9zdGF0ZSk7CiAKQEAgLTMxNiwxMCArMzE4LDExIEBAIHZvaWQgTWVkaWFTZXNzaW9uQ29v
cmRpbmF0b3I6OnBhdXNlU2Vzc2lvbihDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiBjb21w
bGV0CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBjb21wbGV0aW9uSGFuZGxlcihpbnRl
cm5hbFBhdXNlKCkpOworICAgIG1fc2Vzc2lvbi0+Y2FsbEFjdGlvbkhhbmRsZXIoeyAuYWN0aW9u
ID0gTWVkaWFTZXNzaW9uQWN0aW9uOjpQbGF5IH0pOworICAgIGNvbXBsZXRpb25IYW5kbGVyKHRy
dWUpOwogfQogCi12b2lkIE1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yOjpzZXRTZXNzaW9uVHJhY2so
Y29uc3QgU3RyaW5nJiB0cmFjaywgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4gY29tcGxl
dGlvbkhhbmRsZXIpCit2b2lkIE1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yOjpzZXRTZXNzaW9uVHJh
Y2soY29uc3QgU3RyaW5nJiB0cmFjaywgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJiBj
b21wbGV0aW9uSGFuZGxlcikKIHsKICAgICBBTFdBWVNfTE9HKExPR0lERU5USUZJRVIsIG1fc3Rh
dGUsICIsICIsIHRyYWNrKTsKIApAQCAtMzI4LDYxICszMzEsOCBAQCB2b2lkIE1lZGlhU2Vzc2lv
bkNvb3JkaW5hdG9yOjpzZXRTZXNzaW9uVHJhY2soY29uc3QgU3RyaW5nJiB0cmFjaywgQ29tcGxl
dGlvbkhhbgogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgY29tcGxldGlvbkhhbmRsZXIo
aW50ZXJuYWxTZXRUcmFjayh0cmFjaykpOwotfQotCi1ib29sIE1lZGlhU2Vzc2lvbkNvb3JkaW5h
dG9yOjppbnRlcm5hbFNlZWtUbyhkb3VibGUgdGltZSkKLXsKLSAgICBpZiAoIW1fc2Vzc2lvbikK
LSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgTWVkaWFTZXNzaW9uQWN0aW9uRGV0YWlscyBk
ZXRhaWxzIHsKLSAgICAgICAgLmFjdGlvbiA9IE1lZGlhU2Vzc2lvbkFjdGlvbjo6U2Vla3RvLAot
ICAgICAgICAuc2Vla1RpbWUgPSB0aW1lLAotICAgIH07Ci0gICAgbV9zZXNzaW9uLT5jYWxsQWN0
aW9uSGFuZGxlcihkZXRhaWxzKTsKLQotICAgIHJldHVybiB0cnVlOwotfQotCi1ib29sIE1lZGlh
U2Vzc2lvbkNvb3JkaW5hdG9yOjppbnRlcm5hbFBsYXkoKQotewotICAgIGlmICghbV9zZXNzaW9u
KQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBNZWRpYVNlc3Npb25BY3Rpb25EZXRhaWxz
IGRldGFpbHMgewotICAgICAgICAuYWN0aW9uID0gTWVkaWFTZXNzaW9uQWN0aW9uOjpQbGF5LAot
ICAgIH07Ci0gICAgbV9zZXNzaW9uLT5jYWxsQWN0aW9uSGFuZGxlcihkZXRhaWxzKTsKLQotICAg
IHJldHVybiB0cnVlOwotfQotCi1ib29sIE1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yOjppbnRlcm5h
bFBhdXNlKCkKLXsKLSAgICBpZiAoIW1fc2Vzc2lvbikKLSAgICAgICAgcmV0dXJuIGZhbHNlOwot
Ci0gICAgTWVkaWFTZXNzaW9uQWN0aW9uRGV0YWlscyBkZXRhaWxzIHsKLSAgICAgICAgLmFjdGlv
biA9IE1lZGlhU2Vzc2lvbkFjdGlvbjo6UGF1c2UsCi0gICAgfTsKLSAgICBtX3Nlc3Npb24tPmNh
bGxBY3Rpb25IYW5kbGVyKGRldGFpbHMpOwotCi0gICAgcmV0dXJuIHRydWU7Ci19Ci0KLWJvb2wg
TWVkaWFTZXNzaW9uQ29vcmRpbmF0b3I6OmludGVybmFsU2V0VHJhY2soY29uc3QgU3RyaW5nJiB0
cmFjaykKLXsKLSAgICBpZiAoIW1fc2Vzc2lvbikKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0g
ICAgTWVkaWFTZXNzaW9uQWN0aW9uRGV0YWlscyBkZXRhaWxzIHsKLSAgICAgICAgLmFjdGlvbiA9
IE1lZGlhU2Vzc2lvbkFjdGlvbjo6U2V0dHJhY2ssCi0gICAgICAgIC50cmFja0lkZW50aWZpZXIg
PSB0cmFjaywKLSAgICB9OwotICAgIG1fc2Vzc2lvbi0+Y2FsbEFjdGlvbkhhbmRsZXIoZGV0YWls
cyk7Ci0KLSAgICByZXR1cm4gdHJ1ZTsKKyAgICBtX3Nlc3Npb24tPmNhbGxBY3Rpb25IYW5kbGVy
KHsgLmFjdGlvbiA9IE1lZGlhU2Vzc2lvbkFjdGlvbjo6U2V0dHJhY2ssIC50cmFja0lkZW50aWZp
ZXIgPSB0cmFjayB9KTsKKyAgICBjb21wbGV0aW9uSGFuZGxlcih0cnVlKTsKIH0KIAogV1RGTG9n
Q2hhbm5lbCYgTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3I6OmxvZ0NoYW5uZWwoKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNlc3Npb24vTWVkaWFTZXNzaW9uQ29vcmRp
bmF0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzZXNzaW9uL01lZGlhU2Vzc2lv
bkNvb3JkaW5hdG9yLmgKaW5kZXggZmQ0YTg3M2QxYmM5YzJlZWVkYzczYTM4NDRhNzA1YTZiZWEy
MDMwNy4uNWM4ZGNjYzQ5NjkxYWZhMjllZThlOGI2ZGE2ZjBmNjg2ZjBlOGE4MyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNlc3Npb24vTWVkaWFTZXNzaW9uQ29vcmRp
bmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lvbi9NZWRpYVNl
c3Npb25Db29yZGluYXRvci5oCkBAIC03MywxMyArNzMsOCBAQCBwcml2YXRlOgogICAgIC8vIE1l
ZGlhU2Vzc2lvbkNvb3JkaW5hdG9yQ2xpZW50CiAgICAgdm9pZCBzZWVrU2Vzc2lvblRvVGltZShk
b3VibGUsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYpIGZpbmFsOwogICAgIHZvaWQg
cGxheVNlc3Npb24oQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJikgZmluYWw7Ci0gICAg
dm9pZCBwYXVzZVNlc3Npb24oQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4pIGZpbmFsOwot
ICAgIHZvaWQgc2V0U2Vzc2lvblRyYWNrKGNvbnN0IFN0cmluZyYsIENvbXBsZXRpb25IYW5kbGVy
PHZvaWQoYm9vbCk+KSBmaW5hbDsKLQotICAgIGJvb2wgaW50ZXJuYWxTZWVrVG8oZG91YmxlKTsK
LSAgICBib29sIGludGVybmFsUGxheSgpOwotICAgIGJvb2wgaW50ZXJuYWxQYXVzZSgpOwotICAg
IGJvb2wgaW50ZXJuYWxTZXRUcmFjayhjb25zdCBTdHJpbmcmKTsKKyAgICB2b2lkIHBhdXNlU2Vz
c2lvbihDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmKSBmaW5hbDsKKyAgICB2b2lkIHNl
dFNlc3Npb25UcmFjayhjb25zdCBTdHJpbmcmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wp
PiYmKSBmaW5hbDsKIAogICAgIGNvbnN0IExvZ2dlciYgbG9nZ2VyKCkgY29uc3QgeyByZXR1cm4g
bV9sb2dnZXI7IH0KICAgICBjb25zdCB2b2lkKiBsb2dJZGVudGlmaWVyKCkgY29uc3QgeyByZXR1
cm4gbV9sb2dJZGVudGlmaWVyOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc2Vzc2lvbi9NZWRpYVNlc3Npb25Db29yZGluYXRvclByaXZhdGUuaCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzZXNzaW9uL01lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yUHJpdmF0
ZS5oCmluZGV4IGY4MDMwZTc4NzIwODJmMDI3NGE3YWY1ODk2MmZlZDhjMTQwYjBiMzIuLjUyNzE5
MThmZDc4NTIzYjYzYzY5MDYxZDQxNjAzZmVlYzk2ODdjZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzZXNzaW9uL01lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yUHJpdmF0
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzZXNzaW9uL01lZGlhU2Vzc2lv
bkNvb3JkaW5hdG9yUHJpdmF0ZS5oCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSAiTWVkaWFT
ZXNzaW9uUGxheWJhY2tTdGF0ZS5oIgogI2luY2x1ZGUgIk1lZGlhU2Vzc2lvblJlYWR5U3RhdGUu
aCIKICNpbmNsdWRlIDx3dGYvT3B0aW9uYWwuaD4KKyNpbmNsdWRlIDx3dGYvV2Vha1B0ci5oPgog
CiBuYW1lc3BhY2UgV1RGIHsKIGNsYXNzIExvZ2dlcjsKQEAgLTQ2LDggKzQ3LDggQEAgcHVibGlj
OgogCiAgICAgdmlydHVhbCB2b2lkIHNlZWtTZXNzaW9uVG9UaW1lKGRvdWJsZSwgQ29tcGxldGlv
bkhhbmRsZXI8dm9pZChib29sKT4mJikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBwbGF5U2Vzc2lv
bihDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmKSA9IDA7Ci0gICAgdmlydHVhbCB2b2lk
IHBhdXNlU2Vzc2lvbihDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPikgPSAwOwotICAgIHZp
cnR1YWwgdm9pZCBzZXRTZXNzaW9uVHJhY2soY29uc3QgU3RyaW5nJiwgQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZChib29sKT4pID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgcGF1c2VTZXNzaW9uKENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0U2Vz
c2lvblRyYWNrKGNvbnN0IFN0cmluZyYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYp
ID0gMDsKIH07CiAKIGNsYXNzIE1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yUHJpdmF0ZSA6IHB1Ymxp
YyBSZWZDb3VudGVkPE1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yUHJpdmF0ZT4gewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTWVkaWEvTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3JQ
cm94eVByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL01lZGlhL01lZGlhU2Vzc2lv
bkNvb3JkaW5hdG9yUHJveHlQcml2YXRlLmgKaW5kZXggMjJkZGRlZDBhODlmODM0OGJmN2U2ZGMy
ODhkYmNjMzNmY2Y1ZWM2ZS4uNTc3OThlOTg2ZWZmODg5YTYyMGRkMzAxZGYyOThhNmU3N2UzNjdi
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTWVkaWEvTWVkaWFTZXNzaW9u
Q29vcmRpbmF0b3JQcm94eVByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9N
ZWRpYS9NZWRpYVNlc3Npb25Db29yZGluYXRvclByb3h5UHJpdmF0ZS5oCkBAIC0yNyw2ICsyNyw3
IEBACiAKICNpZiBFTkFCTEUoTUVESUFfU0VTU0lPTl9DT09SRElOQVRPUikKIAorI2luY2x1ZGUg
PFdlYkNvcmUvRXhjZXB0aW9uRGF0YS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvTWVkaWFTZXNzaW9u
Q29vcmRpbmF0b3JQcml2YXRlLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogI2luY2x1ZGUg
PHd0Zi9XZWFrUHRyLmg+CkBAIC00MSwxMCArNDIsMTIgQEAgcHVibGljOgogCiAgICAgdmlydHVh
bCBTdHJpbmcgaWRlbnRpZmllcigpIGNvbnN0ID0gMDsKIAotICAgIHZpcnR1YWwgdm9pZCBzZWVr
VG8oZG91YmxlLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGNvbnN0IFdlYkNvcmU6OkV4Y2VwdGlv
bkRhdGEmKT4mJikgPSAwOwotICAgIHZpcnR1YWwgdm9pZCBwbGF5KENvbXBsZXRpb25IYW5kbGVy
PHZvaWQoY29uc3QgV2ViQ29yZTo6RXhjZXB0aW9uRGF0YSYpPiYmKSA9IDA7Ci0gICAgdmlydHVh
bCB2b2lkIHBhdXNlKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoY29uc3QgV2ViQ29yZTo6RXhjZXB0
aW9uRGF0YSYpPiYmKSA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIHNldFRyYWNrKGNvbnN0IFN0cmlu
ZyYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoY29uc3QgV2ViQ29yZTo6RXhjZXB0aW9uRGF0YSYp
PiYmKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGpvaW4oQ29tcGxldGlvbkhhbmRsZXI8dm9pZChP
cHRpb25hbDxXZWJDb3JlOjpFeGNlcHRpb25EYXRhPiYmKT4mJikgPSAwOworICAgIHZpcnR1YWwg
dm9pZCBsZWF2ZSgpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgc2Vla1RvKGRvdWJsZSwgQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZChPcHRpb25hbDxXZWJDb3JlOjpFeGNlcHRpb25EYXRhPiYmKT4mJikg
PSAwOworICAgIHZpcnR1YWwgdm9pZCBwbGF5KENvbXBsZXRpb25IYW5kbGVyPHZvaWQoT3B0aW9u
YWw8V2ViQ29yZTo6RXhjZXB0aW9uRGF0YT4mJik+JiYpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQg
cGF1c2UoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChPcHRpb25hbDxXZWJDb3JlOjpFeGNlcHRpb25E
YXRhPiYmKT4mJikgPSAwOworICAgIHZpcnR1YWwgdm9pZCBzZXRUcmFjayhjb25zdCBTdHJpbmcm
LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKE9wdGlvbmFsPFdlYkNvcmU6OkV4Y2VwdGlvbkRhdGE+
JiYpPiYmKSA9IDA7CiAKICAgICB2aXJ0dWFsIHZvaWQgcG9zaXRpb25TdGF0ZUNoYW5nZWQoY29u
c3QgT3B0aW9uYWw8V2ViQ29yZTo6TWVkaWFQb3NpdGlvblN0YXRlPiYpID0gMDsKICAgICB2aXJ0
dWFsIHZvaWQgcmVhZHlTdGF0ZUNoYW5nZWQoV2ViQ29yZTo6TWVkaWFTZXNzaW9uUmVhZHlTdGF0
ZSkgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTWVkaWEvUmVtb3Rl
TWVkaWFTZXNzaW9uQ29vcmRpbmF0b3JQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9NZWRpYS9SZW1vdGVNZWRpYVNlc3Npb25Db29yZGluYXRvclByb3h5LmNwcAppbmRleCA3Mjdm
ZTJkNzYzMWY0ZTVkZTc0MTdmNjMyZDExYzYzOWE2NGIyZTA2Li45ZWRmMzNlMGMwNThmNThjYWZi
OTUyZjEyMDRjNWZiZjZiNWQ3YzZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9NZWRpYS9SZW1vdGVNZWRpYVNlc3Npb25Db29yZGluYXRvclByb3h5LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9NZWRpYS9SZW1vdGVNZWRpYVNlc3Npb25Db29yZGluYXRvclBy
b3h5LmNwcApAQCAtMzAsMTYgKzMwLDIzIEBACiAKICNpbmNsdWRlICJNZWRpYVNlc3Npb25Db29y
ZGluYXRvclByb3h5UHJpdmF0ZS5oIgogI2luY2x1ZGUgIlJlbW90ZU1lZGlhU2Vzc2lvbkNvb3Jk
aW5hdG9yTWVzc2FnZXMuaCIKKyNpbmNsdWRlICJSZW1vdGVNZWRpYVNlc3Npb25Db29yZGluYXRv
clByb3h5TWVzc2FnZXMuaCIKICNpbmNsdWRlICJXZWJQYWdlUHJveHkuaCIKICNpbmNsdWRlICJX
ZWJQcm9jZXNzUHJveHkuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0V4Y2VwdGlvbkRhdGEuaD4KKyNp
bmNsdWRlIDx3dGYvTG9nZ2VyLmg+CisjaW5jbHVkZSA8d3RmL0xvZ2dlckhlbHBlci5oPgogI2lu
Y2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CiAjaW5jbHVkZSA8d3RmL1J1bkxvb3AuaD4KIAorbmFt
ZXNwYWNlIFdlYkNvcmUgeworZXh0ZXJuIFdURkxvZ0NoYW5uZWwgTG9nTWVkaWE7Cit9CisKIG5h
bWVzcGFjZSBXZWJLaXQgewogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKLVJlZlB0cjxSZW1v
dGVNZWRpYVNlc3Npb25Db29yZGluYXRvclByb3h5PiBSZW1vdGVNZWRpYVNlc3Npb25Db29yZGlu
YXRvclByb3h5OjpjcmVhdGUoV2ViUGFnZVByb3h5JiB3ZWJQYWdlUHJveHksIFJlZjxNZWRpYVNl
c3Npb25Db29yZGluYXRvclByb3h5UHJpdmF0ZT4mJiBwcml2YXRlQ29vcmRpbmF0b3IpCitSZWY8
UmVtb3RlTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3JQcm94eT4gUmVtb3RlTWVkaWFTZXNzaW9uQ29v
cmRpbmF0b3JQcm94eTo6Y3JlYXRlKFdlYlBhZ2VQcm94eSYgd2ViUGFnZVByb3h5LCBSZWY8TWVk
aWFTZXNzaW9uQ29vcmRpbmF0b3JQcm94eVByaXZhdGU+JiYgcHJpdmF0ZUNvb3JkaW5hdG9yKQog
ewogICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFJlbW90ZU1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9y
UHJveHkod2ViUGFnZVByb3h5LCBXVEZNb3ZlKHByaXZhdGVDb29yZGluYXRvcikpKTsKIH0KQEAg
LTQ3LDggKzU0LDEwIEBAIFJlZlB0cjxSZW1vdGVNZWRpYVNlc3Npb25Db29yZGluYXRvclByb3h5
PiBSZW1vdGVNZWRpYVNlc3Npb25Db29yZGluYXRvclByb3h5OjpjCiBSZW1vdGVNZWRpYVNlc3Np
b25Db29yZGluYXRvclByb3h5OjpSZW1vdGVNZWRpYVNlc3Npb25Db29yZGluYXRvclByb3h5KFdl
YlBhZ2VQcm94eSYgd2ViUGFnZVByb3h5LCBSZWY8TWVkaWFTZXNzaW9uQ29vcmRpbmF0b3JQcm94
eVByaXZhdGU+JiYgcHJpdmF0ZUNvb3JkaW5hdG9yKQogICAgIDogbV93ZWJQYWdlUHJveHkod2Vi
UGFnZVByb3h5KQogICAgICwgbV9wcml2YXRlQ29vcmRpbmF0b3IoV1RGTW92ZShwcml2YXRlQ29v
cmRpbmF0b3IpKQorI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAogICAgICwgbV9sb2dnZXIobV93
ZWJQYWdlUHJveHkubG9nZ2VyKCkpCi0gICAgLCBtX2xvZ0lkZW50aWZpZXIodW5pcXVlTG9nSWRl
bnRpZmllcigpKQorICAgICwgbV9sb2dJZGVudGlmaWVyKExvZ2dlckhlbHBlcjo6dW5pcXVlTG9n
SWRlbnRpZmllcigpKQorI2VuZGlmCiB7CiAgICAgbV93ZWJQYWdlUHJveHkucHJvY2VzcygpLmFk
ZE1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6UmVtb3RlTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3JQ
cm94eTo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCBtX3dlYlBhZ2VQcm94eS53ZWJQYWdlSUQoKSwg
KnRoaXMpOwogfQpAQCAtNTgsMTIgKzY3LDEyIEBAIFJlbW90ZU1lZGlhU2Vzc2lvbkNvb3JkaW5h
dG9yUHJveHk6On5SZW1vdGVNZWRpYVNlc3Npb25Db29yZGluYXRvclByb3h5KCkKICAgICBtX3dl
YlBhZ2VQcm94eS5wcm9jZXNzKCkucmVtb3ZlTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpSZW1v
dGVNZWRpYVNlc3Npb25Db29yZGluYXRvclByb3h5OjptZXNzYWdlUmVjZWl2ZXJOYW1lKCksIG1f
d2ViUGFnZVByb3h5LndlYlBhZ2VJRCgpKTsKIH0KIAotdm9pZCBSZW1vdGVNZWRpYVNlc3Npb25D
b29yZGluYXRvclByb3h5Ojpqb2luKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoY29uc3QgV2ViQ29y
ZTo6RXhjZXB0aW9uRGF0YSYpPiYmKQordm9pZCBSZW1vdGVNZWRpYVNlc3Npb25Db29yZGluYXRv
clByb3h5Ojpqb2luKENvbW1hbmRDb21wbGV0aW9uSGFuZGxlciYmIGNvbXBsZXRpb25IYW5kbGVy
KQogewogICAgIGF1dG8gaWRlbnRpZmllciA9IExPR0lERU5USUZJRVI7CiAgICAgQUxXQVlTX0xP
RyhpZGVudGlmaWVyKTsKIAotICAgIG1fcHJpdmF0ZUNvb3JkaW5hdG9yLT5qb2luKFtpZGVudGlm
aWVyXSAoY29uc3QgV2ViQ29yZTo6RXhjZXB0aW9uRGF0YSYmIGV4Y2VwdGlvbikgbXV0YWJsZSB7
CisgICAgbV9wcml2YXRlQ29vcmRpbmF0b3ItPmpvaW4oW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBt
YWtlUmVmKCp0aGlzKSwgaWRlbnRpZmllciwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNv
bXBsZXRpb25IYW5kbGVyKV0gKE9wdGlvbmFsPEV4Y2VwdGlvbkRhdGE+JiYgZXhjZXB0aW9uKSBt
dXRhYmxlIHsKICAgICAgICAgQUxXQVlTX0xPRyhpZGVudGlmaWVyLCAiY29tcGxldGlvbiIpOwog
ICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihXVEZNb3ZlKGV4Y2VwdGlvbikpOwogICAgIH0pOwpA
QCAtNzYsNDUgKzg1LDQ1IEBAIHZvaWQgUmVtb3RlTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3JQcm94
eTo6bGVhdmUoKQogICAgIG1fcHJpdmF0ZUNvb3JkaW5hdG9yLT5sZWF2ZSgpOwogfQogCi12b2lk
IFJlbW90ZU1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yUHJveHk6OmNvb3JkaW5hdGVTZWVrVG8oZG91
YmxlIHRpbWUsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoY29uc3QgV2ViQ29yZTo6RXhjZXB0aW9u
RGF0YSYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQordm9pZCBSZW1vdGVNZWRpYVNlc3Npb25Db29y
ZGluYXRvclByb3h5Ojpjb29yZGluYXRlU2Vla1RvKGRvdWJsZSB0aW1lLCBDb21tYW5kQ29tcGxl
dGlvbkhhbmRsZXImJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKICAgICBhdXRvIGlkZW50aWZpZXIg
PSBMT0dJREVOVElGSUVSOwogICAgIEFMV0FZU19MT0coaWRlbnRpZmllciwgdGltZSk7CiAKLSAg
ICBtX3ByaXZhdGVDb29yZGluYXRvci0+c2Vla1RvKHRpbWUsIFtpZGVudGlmaWVyXSAoY29uc3Qg
V2ViQ29yZTo6RXhjZXB0aW9uRGF0YSYmIGV4Y2VwdGlvbikgbXV0YWJsZSB7CisgICAgbV9wcml2
YXRlQ29vcmRpbmF0b3ItPnNlZWtUbyh0aW1lLCBbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VS
ZWYoKnRoaXMpLCBpZGVudGlmaWVyLCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxl
dGlvbkhhbmRsZXIpXSAoT3B0aW9uYWw8RXhjZXB0aW9uRGF0YT4mJiBleGNlcHRpb24pIG11dGFi
bGUgewogICAgICAgICBBTFdBWVNfTE9HKGlkZW50aWZpZXIsICJjb21wbGV0aW9uIik7CiAgICAg
ICAgIGNvbXBsZXRpb25IYW5kbGVyKFdURk1vdmUoZXhjZXB0aW9uKSk7CiAgICAgfSk7CiB9CiAK
LXZvaWQgUmVtb3RlTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3JQcm94eTo6Y29vcmRpbmF0ZVBsYXko
Q29tcGxldGlvbkhhbmRsZXI8dm9pZChjb25zdCBXZWJDb3JlOjpFeGNlcHRpb25EYXRhJik+JiYg
Y29tcGxldGlvbkhhbmRsZXIpCit2b2lkIFJlbW90ZU1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yUHJv
eHk6OmNvb3JkaW5hdGVQbGF5KENvbW1hbmRDb21wbGV0aW9uSGFuZGxlciYmIGNvbXBsZXRpb25I
YW5kbGVyKQogewogICAgIGF1dG8gaWRlbnRpZmllciA9IExPR0lERU5USUZJRVI7CiAgICAgQUxX
QVlTX0xPRyhpZGVudGlmaWVyKTsKIAotICAgIG1fcHJpdmF0ZUNvb3JkaW5hdG9yLT5wbGF5KFtp
ZGVudGlmaWVyXSAoY29uc3QgV2ViQ29yZTo6RXhjZXB0aW9uRGF0YSYmIGV4Y2VwdGlvbikgbXV0
YWJsZSB7CisgICAgbV9wcml2YXRlQ29vcmRpbmF0b3ItPnBsYXkoW3RoaXMsIHByb3RlY3RlZFRo
aXMgPSBtYWtlUmVmKCp0aGlzKSwgaWRlbnRpZmllciwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZN
b3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0gKE9wdGlvbmFsPEV4Y2VwdGlvbkRhdGE+JiYgZXhjZXB0
aW9uKSBtdXRhYmxlIHsKICAgICAgICAgQUxXQVlTX0xPRyhpZGVudGlmaWVyLCAiY29tcGxldGlv
biIpOwogICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihXVEZNb3ZlKGV4Y2VwdGlvbikpOwogICAg
IH0pOwogfQogCi12b2lkIFJlbW90ZU1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yUHJveHk6OmNvb3Jk
aW5hdGVQYXVzZShDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGNvbnN0IFdlYkNvcmU6OkV4Y2VwdGlv
bkRhdGEmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKK3ZvaWQgUmVtb3RlTWVkaWFTZXNzaW9uQ29v
cmRpbmF0b3JQcm94eTo6Y29vcmRpbmF0ZVBhdXNlKENvbW1hbmRDb21wbGV0aW9uSGFuZGxlciYm
IGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIGF1dG8gaWRlbnRpZmllciA9IExPR0lERU5USUZJ
RVI7CiAgICAgQUxXQVlTX0xPRyhpZGVudGlmaWVyKTsKIAotICAgIG1fcHJpdmF0ZUNvb3JkaW5h
dG9yLT5wYXVzZShbaWRlbnRpZmllcl0gKGNvbnN0IFdlYkNvcmU6OkV4Y2VwdGlvbkRhdGEmJiBl
eGNlcHRpb24pIG11dGFibGUgeworICAgIG1fcHJpdmF0ZUNvb3JkaW5hdG9yLT5wYXVzZShbdGhp
cywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpLCBpZGVudGlmaWVyLCBjb21wbGV0aW9u
SGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXSAoT3B0aW9uYWw8RXhjZXB0aW9u
RGF0YT4mJiBleGNlcHRpb24pIG11dGFibGUgewogICAgICAgICBBTFdBWVNfTE9HKGlkZW50aWZp
ZXIsICJjb21wbGV0aW9uIik7CiAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKFdURk1vdmUoZXhj
ZXB0aW9uKSk7CiAgICAgfSk7CiB9CiAKLXZvaWQgUmVtb3RlTWVkaWFTZXNzaW9uQ29vcmRpbmF0
b3JQcm94eTo6Ojpjb29yZGluYXRlU2V0VHJhY2soY29uc3QgU3RyaW5nJiB0cmFjaywgQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZChjb25zdCBXZWJDb3JlOjpFeGNlcHRpb25EYXRhJik+JiYgY29tcGxl
dGlvbkhhbmRsZXIpCit2b2lkIFJlbW90ZU1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yUHJveHk6OmNv
b3JkaW5hdGVTZXRUcmFjayhjb25zdCBTdHJpbmcmIHRyYWNrLCBDb21tYW5kQ29tcGxldGlvbkhh
bmRsZXImJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKICAgICBhdXRvIGlkZW50aWZpZXIgPSBMT0dJ
REVOVElGSUVSOwogICAgIEFMV0FZU19MT0coaWRlbnRpZmllcik7CiAKLSAgICBtX3ByaXZhdGVD
b29yZGluYXRvci0+c2V0VHJhY2sodHJhY2ssIFtpZGVudGlmaWVyXSAoY29uc3QgV2ViQ29yZTo6
RXhjZXB0aW9uRGF0YSYmIGV4Y2VwdGlvbikgbXV0YWJsZSB7CisgICAgbV9wcml2YXRlQ29vcmRp
bmF0b3ItPnNldFRyYWNrKHRyYWNrLCBbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRo
aXMpLCBpZGVudGlmaWVyLCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhh
bmRsZXIpXSAoT3B0aW9uYWw8RXhjZXB0aW9uRGF0YT4mJiBleGNlcHRpb24pIG11dGFibGUgewog
ICAgICAgICBBTFdBWVNfTE9HKGlkZW50aWZpZXIsICJjb21wbGV0aW9uIik7CiAgICAgICAgIGNv
bXBsZXRpb25IYW5kbGVyKFdURk1vdmUoZXhjZXB0aW9uKSk7CiAgICAgfSk7CkBAIC0xNDgsMTIg
KzE1NywxMiBAQCB2b2lkIFJlbW90ZU1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yUHJveHk6OnBsYXlT
ZXNzaW9uKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbAogICAgIG1fd2ViUGFnZVByb3h5LnNl
bmRXaXRoQXN5bmNSZXBseShNZXNzYWdlczo6UmVtb3RlTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3I6
OlBsYXlTZXNzaW9uIHsgfSwgY2FsbGJhY2spOwogfQogCi12b2lkIFJlbW90ZU1lZGlhU2Vzc2lv
bkNvb3JkaW5hdG9yUHJveHk6OnBhdXNlU2Vzc2lvbihDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJv
b2wpPiBjYWxsYmFjaykKK3ZvaWQgUmVtb3RlTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3JQcm94eTo6
cGF1c2VTZXNzaW9uKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYgY2FsbGJhY2spCiB7
CiAgICAgbV93ZWJQYWdlUHJveHkuc2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpSZW1vdGVN
ZWRpYVNlc3Npb25Db29yZGluYXRvcjo6UGF1c2VTZXNzaW9uIHsgfSwgY2FsbGJhY2spOwogfQog
Ci12b2lkIFJlbW90ZU1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yUHJveHk6OnNldFNlc3Npb25UcmFj
ayhjb25zdCBTdHJpbmcmIHRyYWNrSWQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+IGNh
bGxiYWNrKQordm9pZCBSZW1vdGVNZWRpYVNlc3Npb25Db29yZGluYXRvclByb3h5OjpzZXRTZXNz
aW9uVHJhY2soY29uc3QgU3RyaW5nJiB0cmFja0lkLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJv
b2wpPiYmIGNhbGxiYWNrKQogewogICAgIG1fd2ViUGFnZVByb3h5LnNlbmRXaXRoQXN5bmNSZXBs
eShNZXNzYWdlczo6UmVtb3RlTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3I6OlNldFNlc3Npb25UcmFj
ayB7IHRyYWNrSWQgfSwgY2FsbGJhY2spOwogfQpAQCAtMTY0LDYgKzE3MywxMyBAQCB2b2lkIFJl
bW90ZU1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yUHJveHk6OmNvb3JkaW5hdG9yU3RhdGVDaGFuZ2Vk
KFdlYkNvcmU6Ok1lZGlhUwogICAgIG1fcHJpdmF0ZUNvb3JkaW5hdG9yLT5jb29yZGluYXRvclN0
YXRlQ2hhbmdlZChzdGF0ZSk7CiB9CiAKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKK1dURkxv
Z0NoYW5uZWwmIFJlbW90ZU1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yUHJveHk6OmxvZ0NoYW5uZWwo
KSBjb25zdAoreworICAgIHJldHVybiBMb2dNZWRpYTsKK30KKyNlbmRpZgorCiB9IC8vIG5hbWVz
cGFjZSBXZWJLaXQKIAogI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TRVNTSU9OX0NPT1JESU5BVE9S
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTWVkaWEvUmVtb3RlTWVkaWFT
ZXNzaW9uQ29vcmRpbmF0b3JQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTWVkaWEv
UmVtb3RlTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3JQcm94eS5oCmluZGV4IDA2OGE1ZjU2ZGQ0ZGJi
NjY2NTUxYTdmNjE5ODNiOGUzNTc0ZDAyNTQuLmFmYjJmNWRhMGQ0YjkzZjdlMTUxZWM0MWRmYThl
YzgyMjMxZDdjZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL01lZGlhL1Jl
bW90ZU1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9NZWRpYS9SZW1vdGVNZWRpYVNlc3Npb25Db29yZGluYXRvclByb3h5LmgKQEAgLTY2
LDEzICs2NiwxNCBAQCBwcml2YXRlOgogICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpD
b25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJikgb3ZlcnJpZGU7CiAKICAgICAvLyBSZWNlaXZlcnMu
Ci0gICAgdm9pZCBqb2luKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoY29uc3QgV2ViQ29yZTo6RXhj
ZXB0aW9uRGF0YSYpPiYmKTsKKyAgICB1c2luZyBDb21tYW5kQ29tcGxldGlvbkhhbmRsZXIgPSBD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKE9wdGlvbmFsPFdlYkNvcmU6OkV4Y2VwdGlvbkRhdGE+JiYp
PjsKKyAgICB2b2lkIGpvaW4oQ29tbWFuZENvbXBsZXRpb25IYW5kbGVyJiYpOwogICAgIHZvaWQg
bGVhdmUoKTsKLSAgICB2b2lkIGNvb3JkaW5hdGVTZWVrVG8oZG91YmxlLCBDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKGNvbnN0IFdlYkNvcmU6OkV4Y2VwdGlvbkRhdGEmKT4mJik7Ci0gICAgdm9pZCBj
b29yZGluYXRlUGxheShDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGNvbnN0IFdlYkNvcmU6OkV4Y2Vw
dGlvbkRhdGEmKT4mJik7Ci0gICAgdm9pZCBjb29yZGluYXRlUGF1c2UoQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZChjb25zdCBXZWJDb3JlOjpFeGNlcHRpb25EYXRhJik+JiYpOwotICAgIHZvaWQgY29v
cmRpbmF0ZVNldFRyYWNrKGNvbnN0IFN0cmluZyYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoY29u
c3QgV2ViQ29yZTo6RXhjZXB0aW9uRGF0YSYpPiYmKTsKLSAgICB2b2lkIHBvc2l0aW9uU3RhdGVD
aGFuZ2VkKE9wdGlvbmFsPFdlYkNvcmU6Ok1lZGlhUG9zaXRpb25TdGF0ZT4pOworICAgIHZvaWQg
Y29vcmRpbmF0ZVNlZWtUbyhkb3VibGUsIENvbW1hbmRDb21wbGV0aW9uSGFuZGxlciYmKTsKKyAg
ICB2b2lkIGNvb3JkaW5hdGVQbGF5KENvbW1hbmRDb21wbGV0aW9uSGFuZGxlciYmKTsKKyAgICB2
b2lkIGNvb3JkaW5hdGVQYXVzZShDb21tYW5kQ29tcGxldGlvbkhhbmRsZXImJik7CisgICAgdm9p
ZCBjb29yZGluYXRlU2V0VHJhY2soY29uc3QgU3RyaW5nJiwgQ29tbWFuZENvbXBsZXRpb25IYW5k
bGVyJiYpOworICAgIHZvaWQgcG9zaXRpb25TdGF0ZUNoYW5nZWQoY29uc3QgT3B0aW9uYWw8V2Vi
Q29yZTo6TWVkaWFQb3NpdGlvblN0YXRlPiYpOwogICAgIHZvaWQgcmVhZHlTdGF0ZUNoYW5nZWQo
V2ViQ29yZTo6TWVkaWFTZXNzaW9uUmVhZHlTdGF0ZSk7CiAgICAgdm9pZCBwbGF5YmFja1N0YXRl
Q2hhbmdlZChXZWJDb3JlOjpNZWRpYVNlc3Npb25QbGF5YmFja1N0YXRlKTsKICAgICB2b2lkIGNv
b3JkaW5hdG9yU3RhdGVDaGFuZ2VkKFdlYkNvcmU6Ok1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yU3Rh
dGUpOwpAQCAtODAsMTMgKzgxLDIyIEBAIHByaXZhdGU6CiAgICAgLy8gTWVkaWFTZXNzaW9uQ29v
cmRpbmF0b3JDbGllbnQKICAgICB2b2lkIHNlZWtTZXNzaW9uVG9UaW1lKGRvdWJsZSwgQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZChib29sKT4mJikgZmluYWw7CiAgICAgdm9pZCBwbGF5U2Vzc2lvbihD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmKSBmaW5hbDsKLSAgICB2b2lkIHBhdXNlU2Vz
c2lvbihDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPikgZmluYWw7Ci0gICAgdm9pZCBzZXRT
ZXNzaW9uVHJhY2soY29uc3QgU3RyaW5nJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4p
IGZpbmFsOworICAgIHZvaWQgcGF1c2VTZXNzaW9uKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9v
bCk+JiYpIGZpbmFsOworICAgIHZvaWQgc2V0U2Vzc2lvblRyYWNrKGNvbnN0IFN0cmluZyYsIENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYpIGZpbmFsOworCisjaWYgIVJFTEVBU0VfTE9H
X0RJU0FCTEVECisgICAgY29uc3QgV1RGOjpMb2dnZXImIGxvZ2dlcigpIGNvbnN0IHsgcmV0dXJu
IG1fbG9nZ2VyOyB9CisgICAgY29uc3Qgdm9pZCogbG9nSWRlbnRpZmllcigpIGNvbnN0IHsgcmV0
dXJuIG1fbG9nSWRlbnRpZmllcjsgfQorICAgIGNvbnN0IGNoYXIqIGxvZ0NsYXNzTmFtZSgpIGNv
bnN0IHsgcmV0dXJuICJSZW1vdGVNZWRpYVNlc3Npb25Db29yZGluYXRvclByb3h5IjsgfQorICAg
IFdURkxvZ0NoYW5uZWwmIGxvZ0NoYW5uZWwoKSBjb25zdDsKKyNlbmRpZgogCiAgICAgV2ViUGFn
ZVByb3h5JiBtX3dlYlBhZ2VQcm94eTsKICAgICBSZWY8TWVkaWFTZXNzaW9uQ29vcmRpbmF0b3JQ
cm94eVByaXZhdGU+IG1fcHJpdmF0ZUNvb3JkaW5hdG9yOwotICAgIFJlZjxjb25zdCBMb2dnZXI+
IG1fbG9nZ2VyOworI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAorICAgIFJlZjxjb25zdCBXVEY6
OkxvZ2dlcj4gbV9sb2dnZXI7CiAgICAgY29uc3Qgdm9pZCogbV9sb2dJZGVudGlmaWVyOworI2Vu
ZGlmCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktp
dC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDI5OWMyMjlhMzE1NjE1YzY4MTA5YmQ3
ZTJiYzk4OGQ5MTc5Mjk2MTYuLjU1OTkzMDJiNjIzNDhjY2NiYjc2ZmQxMzQ4YWZhYWFjYWJlZjUy
MjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agpAQCAtMTg2Miw2ICsxODYyLDcgQEAKIAkJQ0QwQzY4MzEyMDFGRDEwMTAwQTU5NDA5IC8qIFdL
RnVsbFNjcmVlblZpZXdDb250cm9sbGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBDRDBDNjgyRjIwMUZEMTAxMDBBNTk0MDkgLyogV0tGdWxsU2NyZWVu
Vmlld0NvbnRyb2xsZXIuaCAqLzsgfTsKIAkJQ0QxOUEyNkUxQTEzRTgzNDAwOEQ2NTBFIC8qIFdl
YkRpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBDRDE5QTI2QTFBMTNFODIxMDA4RDY1MEUgLyogV2ViRGlhZ25vc3Rp
Y0xvZ2dpbmdDbGllbnQuaCAqLzsgfTsKIAkJQ0QxOUQyRUEyMDQ2NDA2RjAwMTcwNzRBIC8qIEZ1
bGxzY3JlZW5Ub3VjaFNlY2hldXJpc3RpYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQ0QxOUQyRTgyMDQ2NDA2RjAwMTcwNzRBIC8qIEZ1bGxzY3JlZW5U
b3VjaFNlY2hldXJpc3RpYy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CisJCUNEMUZFMkQ3MjYxM0UxODYwMEFEQzI5QiAvKiBSZW1vdGVNZWRpYVNlc3Np
b25Db29yZGluYXRvclByb3h5LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDA3MzZCNzVDMjYwRDRBNEUwMEUwNjk5NCAvKiBSZW1vdGVNZWRpYVNlc3Np
b25Db29yZGluYXRvclByb3h5LmNwcCAqLzsgfTsKIAkJQ0QzRUVGNDYyNTc5QzI2MTAwNjU2M0JC
IC8qIFJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eU1lc3NhZ2VSZWNl
aXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBD
RDNFRUY0NDI1NzlDMUQ0MDA2NTYzQkIgLyogUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9u
RmFjdG9yeVByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsKIAkJQ0Q0NTcwRDMyNDQxMTNC
NTAwQTNEQ0VCIC8qIEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yUHJveHlNZXNzYWdlUmVj
ZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
Q0Q0NTcwRDAyNDQxMDE0QTAwQTNEQ0VCIC8qIEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9y
UHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9OwogCQlDRDQ1NzBENDI0NDExRDBGMDBBM0RD
RUIgLyogQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3IuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q0NTcwQ0IyNDQwRkIyQTAwQTNEQ0VCIC8q
IEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yLmNwcCAqLzsgfTsKQEAgLTU5OTIsNiArNTk5
Myw3IEBACiAJCQkJMzc2NkY5RUYxODlBMTI0NDAwM0NGMTlCIC8qIFF1YXJ0ekNvcmUuZnJhbWV3
b3JrIGluIEZyYW1ld29ya3MgKi8sCiAJCQkJMzc2OTQ1MjUxODRGQzZCNjAwQ0RFMjFGIC8qIFNl
Y3VyaXR5LmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovLAogCQkJCTM3QkVDNEREMTk0OEZDNkEw
MDhCNDI4NiAvKiBXZWJDb3JlLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovLAorCQkJCUNEOTU0
OTNGMjYxNTkwOEIwMDgzNzJEOSAvKiBXZWJLaXRTd2lmdC5keWxpYiBpbiBGcmFtZXdvcmtzICov
LAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9
OwpAQCAtMTMyMTgsNiArMTMyMjAsNyBAQAogCQkJCThEQzJFRjUzMDQ4NkE2OTQwMDk4QjIxNiAv
KiBJbmZvUGxpc3Quc3RyaW5ncyBpbiBSZXNvdXJjZXMgKi8sCiAJCQkJM0ZCMDhFNDMxRjYwQjI0
MDAwNUU1MzEyIC8qIGlPUy54Y2Fzc2V0cyBpbiBSZXNvdXJjZXMgKi8sCiAJCQkJNUM4QkM3OTcy
MThDQkI0ODAwODEzODg2IC8qIFNhZmVCcm93c2luZy54Y2Fzc2V0cyBpbiBSZXNvdXJjZXMgKi8s
CisJCQkJQ0QwOUZEMEIyNjE1MkUyNDAwRTRBQ0YxIC8qIFdlYktpdFN3aWZ0LnhjY29uZmlnIGlu
IFJlc291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNz
aW5nID0gMDsKIAkJfTsKQEAgLTEzOTg5LDYgKzEzOTkyLDcgQEAKIAkJCQkwNzFCQzU4RjIzQ0Ux
RUFBMDA2ODBEN0MgLyogUmVtb3RlTWVkaWFQbGF5ZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQkxRDRENzM3MDIzQTlFNTQ3MDA3MTdBMjUgLyogUmVtb3RlTWVk
aWFSZXNvdXJjZU1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
MDc3QkE1NkUyNjBFNkQxQzAwNzJGMTlGIC8qIFJlbW90ZU1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9y
LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUNEMUZFMkQ3MjYxM0UxODYwMEFEQzI5QiAvKiBSZW1v
dGVNZWRpYVNlc3Npb25Db29yZGluYXRvclByb3h5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFE
RDJBNjYzMjU2MTI0NkYwMEZGN0I2RiAvKiBSZW1vdGVNZWRpYVNvdXJjZVByb3h5TWVzc2FnZVJl
Y2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBQzEzMzg1MTg1OTBDNDYwMEYzRUMwNSAv
KiBSZW1vdGVPYmplY3RSZWdpc3RyeU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQlDRDgyNTJFMjI1RDQ5MTkxMDA4NjJGRDggLyogUmVtb3RlUmVtb3RlQ29tbWFuZExpc3Rl
bmVyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>425070</attachid>
            <date>2021-04-02 17:16:00 -0700</date>
            <delta_ts>2021-04-05 17:11:32 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-224141-20210402171559.patch</filename>
            <type>text/plain</type>
            <size>23659</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc1NDIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDM4ZGE0OTM1OGI3NGEw
Y2U5ODZmM2YwZDlhOWMwYzFlNTlmMmRmYi4uNzMyMjkxY2UzNzdhYmFlOGVlZjMzMWNjZTdjN2E0
MTk1YjllZGNiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDIxLTA0LTAyICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFtNZWRpYVNlc3Npb25dIFNt
YWxsIHJlZmFjdG9yaW5nIG9mIE1lZGlhU2Vzc2lvbiBpbXBsZW1lbnRhdGlvbiBjbGFzc2VzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjQxNDEKKwor
ICAgICAgICBSZXZpZXdlZCBieSBFcmljIENhcmxzb24uCisKKyAgICAgICAgQSBzbW9yZ2FzYm9h
cmQgb2Ygc21hbGwgcmVmYWN0b3JpbmcgY2hhbmdlczoKKworICAgICAgICAtIERvbid0IGNhbGwg
YWN0aW9uIGhhbmRsZXJzIGJ5IGRlZmF1bHQgaW4gcmVzcG9uc2UgdG8gY29vcmRpbmF0b3IgcmVx
dWVzdHMuCisgICAgICAgIC0gU2luY2Ugd2UgZG9uJ3QgY2FsbCB0aGUgYWN0aW9uIGhhbmRsZXJz
LCB3ZSBkb24ndCBuZWVkIHRoZSBpbnRlcm5hbCBtZXRob2RzLgorICAgICAgICAtIFNpbXBsaWZ5
IHRoZSBjYWxsIHNpdGUgYnkgZGVmaW5pbmcgdGhlIGFjdGlvbiBkZXRhaWxzIGlubGluZS4KKwor
ICAgICAgICAqIE1vZHVsZXMvbWVkaWFzZXNzaW9uL01lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yOjpzZWVrU2Vzc2lv
blRvVGltZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNlc3Npb25Db29yZGluYXRvcjo6cGxh
eVNlc3Npb24pOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTZXNzaW9uQ29vcmRpbmF0b3I6OnBh
dXNlU2Vzc2lvbik6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNlc3Npb25Db29yZGluYXRvcjo6
c2V0U2Vzc2lvblRyYWNrKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU2Vzc2lvbkNvb3JkaW5h
dG9yOjppbnRlcm5hbFNlZWtUbyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNl
c3Npb25Db29yZGluYXRvcjo6aW50ZXJuYWxQbGF5KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yOjppbnRlcm5hbFBhdXNlKTogRGVsZXRlZC4KKyAg
ICAgICAgKFdlYkNvcmU6Ok1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yOjppbnRlcm5hbFNldFRyYWNr
KTogRGVsZXRlZC4KKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc2Vzc2lvbi9NZWRpYVNlc3Npb25D
b29yZGluYXRvci5oOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzZXNzaW9uL01lZGlhU2Vzc2lv
bkNvb3JkaW5hdG9yUHJpdmF0ZS5oOgorCiAyMDIxLTA0LTAyICBUeWxlciBXaWxjb2NrICA8dHdp
bGNvLm9AcHJvdG9ubWFpbC5jb20+CiAKICAgICAgICAgTm9uLXVuaWZpZWQgYnVpbGQgZml4ZXMs
IGVhcmx5IEFwcmlsIDIwMjEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggODZhZGE4YTA0NGIwODAxYjUwMzJmZWUyZWNm
NjY3ZjNmNjQwYjNiOS4uNzcyNGFjNjU2YjRmNjVhYmE4MDRlNDIzMTM3NTdlNDU0OGIwMWRmYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwzNiBAQAorMjAyMS0wNC0wMiAgSmVyIE5vYmxlICA8amVyLm5v
YmxlQGFwcGxlLmNvbT4KKworICAgICAgICBbTWVkaWFTZXNzaW9uXSBTbWFsbCByZWZhY3Rvcmlu
ZyBvZiBNZWRpYVNlc3Npb24gaW1wbGVtZW50YXRpb24gY2xhc3NlcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI0MTQxCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgRXJpYyBDYXJsc29uLgorCisgICAgICAgIEEgc21vcmdhc2JvYXJkIG9mIHNtYWxsIHJl
ZmFjdG9yaW5nIGNoYW5nZXM6CisKKyAgICAgICAgLSBNZWRpYVNlc3Npb25Db29yZGluYXRvclBy
b3h5UHJpdmF0ZSBzaG91bGQgdXNlIGFuIE9wdGlvbmFsPEV4Y2VwdGlvbkRhdGE+IHJhdGhlciB0
aGFuCisgICAgICAgICAgYW4gYWN0dWFsIEV4Y2VwdGlvbkRhdGEsIHRvIGhhbmRsZSB0aGUgY2Fz
ZSB3aGVyZSBubyBleGNlcHRpb24gd2FzIGVuY291dGVyZWQuCisgICAgICAgIC0gUmVtb3RlTWVk
aWFTZXNzaW9uQ29vcmRpbmF0b3JQcm94eTo6Y3JlYXRlKCkgc2hvdWxkIGp1c3QgcmV0dXJuIGEg
UmVmLCBub3QgYSBSZWZQdHIuCisgICAgICAgIC0gTG9nZ2luZyBpbnNpZGUgYSBjb21wbGV0aW9u
IGhhbmRsZXIgcmVxdWlyZXMgYWNjZXNzIHRvIHRoaXMuCisgICAgICAgIC0gQWRkIFJlbW90ZU1l
ZGlhU2Vzc2lvbkNvb3JkaW5hdG9yUHJveHkuY3BwIHRvIHRoZSBidWlsZC4KKworICAgICAgICAq
IFVJUHJvY2Vzcy9NZWRpYS9NZWRpYVNlc3Npb25Db29yZGluYXRvclByb3h5UHJpdmF0ZS5oOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9NZWRpYS9SZW1vdGVNZWRpYVNlc3Npb25Db29yZGluYXRvclBy
b3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3JQ
cm94eTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFTZXNzaW9uQ29vcmRp
bmF0b3JQcm94eTo6UmVtb3RlTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3JQcm94eSk6CisgICAgICAg
IChXZWJLaXQ6OlJlbW90ZU1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yUHJveHk6OmpvaW4pOgorICAg
ICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVNlc3Npb25Db29yZGluYXRvclByb3h5Ojpjb29yZGlu
YXRlU2Vla1RvKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFTZXNzaW9uQ29vcmRpbmF0
b3JQcm94eTo6Y29vcmRpbmF0ZVBsYXkpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVNl
c3Npb25Db29yZGluYXRvclByb3h5Ojpjb29yZGluYXRlUGF1c2UpOgorICAgICAgICAoV2ViS2l0
OjpSZW1vdGVNZWRpYVNlc3Npb25Db29yZGluYXRvclByb3h5Ojpjb29yZGluYXRlU2V0VHJhY2sp
OgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVNlc3Npb25Db29yZGluYXRvclByb3h5Ojpw
YXVzZVNlc3Npb24pOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVNlc3Npb25Db29yZGlu
YXRvclByb3h5OjpzZXRTZXNzaW9uVHJhY2spOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRp
YVNlc3Npb25Db29yZGluYXRvclByb3h5Ojpsb2dDaGFubmVsIGNvbnN0KToKKyAgICAgICAgKFdl
YktpdDo6UmVtb3RlTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3JQcm94eTo6Ojpjb29yZGluYXRlU2V0
VHJhY2spOiBEZWxldGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9NZWRpYS9SZW1vdGVNZWRpYVNl
c3Npb25Db29yZGluYXRvclByb3h5Lmg6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhU2Vz
c2lvbkNvb3JkaW5hdG9yUHJveHk6OmxvZ2dlciBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OlJl
bW90ZU1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yUHJveHk6OmxvZ0lkZW50aWZpZXIgY29uc3QpOgor
ICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVNlc3Npb25Db29yZGluYXRvclByb3h5Ojpsb2dD
bGFzc05hbWUgY29uc3QpOgorCiAyMDIxLTA0LTAyICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFw
cGxlLmNvbT4KIAogICAgICAgICBEbyBub3Qgc2VuZCBzYW1wbGVzIHRvIEdQVVByb2Nlc3MgaWYg
bWVkaWFzdHJlYW0gdmlkZW8gaXMgbm90IHBsYXlpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzZXNzaW9uL01lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzZXNzaW9uL01lZGlhU2Vzc2lvbkNvb3JkaW5hdG9y
LmNwcAppbmRleCAyMDgxOThiYzM0MDA4ZWE5NDZkMzliMWFhZGM0Zjg0NGM4NTVhODNhLi42OTI4
YjAzOGQ1YjQwMGE1NjliMjVkYzVkZTc4YTI2NmE4M2JmYWJkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lvbi9NZWRpYVNlc3Npb25Db29yZGluYXRvci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNlc3Npb24vTWVkaWFTZXNzaW9uQ29v
cmRpbmF0b3IuY3BwCkBAIC0yOTIsNyArMjkyLDggQEAgdm9pZCBNZWRpYVNlc3Npb25Db29yZGlu
YXRvcjo6c2Vla1Nlc3Npb25Ub1RpbWUoZG91YmxlIHRpbWUsIENvbXBsZXRpb25IYW5kbGVyPHYK
ICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIGNvbXBsZXRpb25IYW5kbGVyKGludGVybmFs
U2Vla1RvKHRpbWUpKTsKKyAgICBtX3Nlc3Npb24tPmNhbGxBY3Rpb25IYW5kbGVyKHsgLmFjdGlv
biA9IE1lZGlhU2Vzc2lvbkFjdGlvbjo6U2Vla3RvLCAuc2Vla1RpbWUgPSB0aW1lIH0pOworICAg
IGNvbXBsZXRpb25IYW5kbGVyKHRydWUpOwogfQogCiB2b2lkIE1lZGlhU2Vzc2lvbkNvb3JkaW5h
dG9yOjpwbGF5U2Vzc2lvbihDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmIGNvbXBsZXRp
b25IYW5kbGVyKQpAQCAtMzA0LDEwICszMDUsMTEgQEAgdm9pZCBNZWRpYVNlc3Npb25Db29yZGlu
YXRvcjo6cGxheVNlc3Npb24oQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJiBjb21wbGUK
ICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIGNvbXBsZXRpb25IYW5kbGVyKGludGVybmFs
UGxheSgpKTsKKyAgICBtX3Nlc3Npb24tPmNhbGxBY3Rpb25IYW5kbGVyKHsgLmFjdGlvbiA9IE1l
ZGlhU2Vzc2lvbkFjdGlvbjo6UGxheSB9KTsKKyAgICBjb21wbGV0aW9uSGFuZGxlcih0cnVlKTsK
IH0KIAotdm9pZCBNZWRpYVNlc3Npb25Db29yZGluYXRvcjo6cGF1c2VTZXNzaW9uKENvbXBsZXRp
b25IYW5kbGVyPHZvaWQoYm9vbCk+IGNvbXBsZXRpb25IYW5kbGVyKQordm9pZCBNZWRpYVNlc3Np
b25Db29yZGluYXRvcjo6cGF1c2VTZXNzaW9uKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+
JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAgICAgQUxXQVlTX0xPRyhMT0dJREVOVElGSUVSLCBt
X3N0YXRlKTsKIApAQCAtMzE2LDEwICszMTgsMTEgQEAgdm9pZCBNZWRpYVNlc3Npb25Db29yZGlu
YXRvcjo6cGF1c2VTZXNzaW9uKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+IGNvbXBsZXQK
ICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIGNvbXBsZXRpb25IYW5kbGVyKGludGVybmFs
UGF1c2UoKSk7CisgICAgbV9zZXNzaW9uLT5jYWxsQWN0aW9uSGFuZGxlcih7IC5hY3Rpb24gPSBN
ZWRpYVNlc3Npb25BY3Rpb246OlBsYXkgfSk7CisgICAgY29tcGxldGlvbkhhbmRsZXIodHJ1ZSk7
CiB9CiAKLXZvaWQgTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3I6OnNldFNlc3Npb25UcmFjayhjb25z
dCBTdHJpbmcmIHRyYWNrLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiBjb21wbGV0aW9u
SGFuZGxlcikKK3ZvaWQgTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3I6OnNldFNlc3Npb25UcmFjayhj
b25zdCBTdHJpbmcmIHRyYWNrLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmIGNvbXBs
ZXRpb25IYW5kbGVyKQogewogICAgIEFMV0FZU19MT0coTE9HSURFTlRJRklFUiwgbV9zdGF0ZSwg
IiwgIiwgdHJhY2spOwogCkBAIC0zMjgsNjEgKzMzMSw4IEBAIHZvaWQgTWVkaWFTZXNzaW9uQ29v
cmRpbmF0b3I6OnNldFNlc3Npb25UcmFjayhjb25zdCBTdHJpbmcmIHRyYWNrLCBDb21wbGV0aW9u
SGFuCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBjb21wbGV0aW9uSGFuZGxlcihpbnRl
cm5hbFNldFRyYWNrKHRyYWNrKSk7Ci19Ci0KLWJvb2wgTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3I6
OmludGVybmFsU2Vla1RvKGRvdWJsZSB0aW1lKQotewotICAgIGlmICghbV9zZXNzaW9uKQotICAg
ICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBNZWRpYVNlc3Npb25BY3Rpb25EZXRhaWxzIGRldGFp
bHMgewotICAgICAgICAuYWN0aW9uID0gTWVkaWFTZXNzaW9uQWN0aW9uOjpTZWVrdG8sCi0gICAg
ICAgIC5zZWVrVGltZSA9IHRpbWUsCi0gICAgfTsKLSAgICBtX3Nlc3Npb24tPmNhbGxBY3Rpb25I
YW5kbGVyKGRldGFpbHMpOwotCi0gICAgcmV0dXJuIHRydWU7Ci19Ci0KLWJvb2wgTWVkaWFTZXNz
aW9uQ29vcmRpbmF0b3I6OmludGVybmFsUGxheSgpCi17Ci0gICAgaWYgKCFtX3Nlc3Npb24pCi0g
ICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIE1lZGlhU2Vzc2lvbkFjdGlvbkRldGFpbHMgZGV0
YWlscyB7Ci0gICAgICAgIC5hY3Rpb24gPSBNZWRpYVNlc3Npb25BY3Rpb246OlBsYXksCi0gICAg
fTsKLSAgICBtX3Nlc3Npb24tPmNhbGxBY3Rpb25IYW5kbGVyKGRldGFpbHMpOwotCi0gICAgcmV0
dXJuIHRydWU7Ci19Ci0KLWJvb2wgTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3I6OmludGVybmFsUGF1
c2UoKQotewotICAgIGlmICghbV9zZXNzaW9uKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAg
ICBNZWRpYVNlc3Npb25BY3Rpb25EZXRhaWxzIGRldGFpbHMgewotICAgICAgICAuYWN0aW9uID0g
TWVkaWFTZXNzaW9uQWN0aW9uOjpQYXVzZSwKLSAgICB9OwotICAgIG1fc2Vzc2lvbi0+Y2FsbEFj
dGlvbkhhbmRsZXIoZGV0YWlscyk7Ci0KLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQotYm9vbCBNZWRp
YVNlc3Npb25Db29yZGluYXRvcjo6aW50ZXJuYWxTZXRUcmFjayhjb25zdCBTdHJpbmcmIHRyYWNr
KQotewotICAgIGlmICghbV9zZXNzaW9uKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBN
ZWRpYVNlc3Npb25BY3Rpb25EZXRhaWxzIGRldGFpbHMgewotICAgICAgICAuYWN0aW9uID0gTWVk
aWFTZXNzaW9uQWN0aW9uOjpTZXR0cmFjaywKLSAgICAgICAgLnRyYWNrSWRlbnRpZmllciA9IHRy
YWNrLAotICAgIH07Ci0gICAgbV9zZXNzaW9uLT5jYWxsQWN0aW9uSGFuZGxlcihkZXRhaWxzKTsK
LQotICAgIHJldHVybiB0cnVlOworICAgIG1fc2Vzc2lvbi0+Y2FsbEFjdGlvbkhhbmRsZXIoeyAu
YWN0aW9uID0gTWVkaWFTZXNzaW9uQWN0aW9uOjpTZXR0cmFjaywgLnRyYWNrSWRlbnRpZmllciA9
IHRyYWNrIH0pOworICAgIGNvbXBsZXRpb25IYW5kbGVyKHRydWUpOwogfQogCiBXVEZMb2dDaGFu
bmVsJiBNZWRpYVNlc3Npb25Db29yZGluYXRvcjo6bG9nQ2hhbm5lbCgpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lvbi9NZWRpYVNlc3Npb25Db29yZGluYXRv
ci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNlc3Npb24vTWVkaWFTZXNzaW9uQ29v
cmRpbmF0b3IuaAppbmRleCBmZDRhODczZDFiYzljMmVlZWRjNzNhMzg0NGE3MDVhNmJlYTIwMzA3
Li41YzhkY2NjNDk2OTFhZmEyOWVlOGU4YjZkYTZmMGY2ODZmMGU4YTgzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lvbi9NZWRpYVNlc3Npb25Db29yZGluYXRv
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzZXNzaW9uL01lZGlhU2Vzc2lv
bkNvb3JkaW5hdG9yLmgKQEAgLTczLDEzICs3Myw4IEBAIHByaXZhdGU6CiAgICAgLy8gTWVkaWFT
ZXNzaW9uQ29vcmRpbmF0b3JDbGllbnQKICAgICB2b2lkIHNlZWtTZXNzaW9uVG9UaW1lKGRvdWJs
ZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJikgZmluYWw7CiAgICAgdm9pZCBwbGF5
U2Vzc2lvbihDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmKSBmaW5hbDsKLSAgICB2b2lk
IHBhdXNlU2Vzc2lvbihDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPikgZmluYWw7Ci0gICAg
dm9pZCBzZXRTZXNzaW9uVHJhY2soY29uc3QgU3RyaW5nJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZChib29sKT4pIGZpbmFsOwotCi0gICAgYm9vbCBpbnRlcm5hbFNlZWtUbyhkb3VibGUpOwotICAg
IGJvb2wgaW50ZXJuYWxQbGF5KCk7Ci0gICAgYm9vbCBpbnRlcm5hbFBhdXNlKCk7Ci0gICAgYm9v
bCBpbnRlcm5hbFNldFRyYWNrKGNvbnN0IFN0cmluZyYpOworICAgIHZvaWQgcGF1c2VTZXNzaW9u
KENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYpIGZpbmFsOworICAgIHZvaWQgc2V0U2Vz
c2lvblRyYWNrKGNvbnN0IFN0cmluZyYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYp
IGZpbmFsOwogCiAgICAgY29uc3QgTG9nZ2VyJiBsb2dnZXIoKSBjb25zdCB7IHJldHVybiBtX2xv
Z2dlcjsgfQogICAgIGNvbnN0IHZvaWQqIGxvZ0lkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBt
X2xvZ0lkZW50aWZpZXI7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzZXNzaW9uL01lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yUHJpdmF0ZS5oIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXNlc3Npb24vTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3JQcml2YXRlLmgK
aW5kZXggZjgwMzBlNzg3MjA4MmYwMjc0YTdhZjU4OTYyZmVkOGMxNDBiMGIzMi4uNTI3MTkxOGZk
Nzg1MjNiNjNjNjkwNjFkNDE2MDNmZWVjOTY4N2NmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXNlc3Npb24vTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3JQcml2YXRlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNlc3Npb24vTWVkaWFTZXNzaW9uQ29v
cmRpbmF0b3JQcml2YXRlLmgKQEAgLTMzLDYgKzMzLDcgQEAKICNpbmNsdWRlICJNZWRpYVNlc3Np
b25QbGF5YmFja1N0YXRlLmgiCiAjaW5jbHVkZSAiTWVkaWFTZXNzaW9uUmVhZHlTdGF0ZS5oIgog
I2luY2x1ZGUgPHd0Zi9PcHRpb25hbC5oPgorI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CiAKIG5h
bWVzcGFjZSBXVEYgewogY2xhc3MgTG9nZ2VyOwpAQCAtNDYsOCArNDcsOCBAQCBwdWJsaWM6CiAK
ICAgICB2aXJ0dWFsIHZvaWQgc2Vla1Nlc3Npb25Ub1RpbWUoZG91YmxlLCBDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKGJvb2wpPiYmKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHBsYXlTZXNzaW9uKENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYpID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgcGF1
c2VTZXNzaW9uKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+KSA9IDA7Ci0gICAgdmlydHVh
bCB2b2lkIHNldFNlc3Npb25UcmFjayhjb25zdCBTdHJpbmcmLCBDb21wbGV0aW9uSGFuZGxlcjx2
b2lkKGJvb2wpPikgPSAwOworICAgIHZpcnR1YWwgdm9pZCBwYXVzZVNlc3Npb24oQ29tcGxldGlv
bkhhbmRsZXI8dm9pZChib29sKT4mJikgPSAwOworICAgIHZpcnR1YWwgdm9pZCBzZXRTZXNzaW9u
VHJhY2soY29uc3QgU3RyaW5nJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJikgPSAw
OwogfTsKIAogY2xhc3MgTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3JQcml2YXRlIDogcHVibGljIFJl
ZkNvdW50ZWQ8TWVkaWFTZXNzaW9uQ29vcmRpbmF0b3JQcml2YXRlPiB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9NZWRpYS9NZWRpYVNlc3Npb25Db29yZGluYXRvclByb3h5
UHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTWVkaWEvTWVkaWFTZXNzaW9uQ29v
cmRpbmF0b3JQcm94eVByaXZhdGUuaAppbmRleCAyMmRkZGVkMGE4OWY4MzQ4YmY3ZTZkYzI4OGRi
Y2MzM2ZjZjVlYzZlLi41Nzc5OGU5ODZlZmY4ODlhNjIwZGQzMDFkZjI5OGE2ZTc3ZTM2N2I2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9NZWRpYS9NZWRpYVNlc3Npb25Db29y
ZGluYXRvclByb3h5UHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL01lZGlh
L01lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yUHJveHlQcml2YXRlLmgKQEAgLTI3LDYgKzI3LDcgQEAK
IAogI2lmIEVOQUJMRShNRURJQV9TRVNTSU9OX0NPT1JESU5BVE9SKQogCisjaW5jbHVkZSA8V2Vi
Q29yZS9FeGNlcHRpb25EYXRhLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9NZWRpYVNlc3Npb25Db29y
ZGluYXRvclByaXZhdGUuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3Rm
L1dlYWtQdHIuaD4KQEAgLTQxLDEwICs0MiwxMiBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIFN0
cmluZyBpZGVudGlmaWVyKCkgY29uc3QgPSAwOwogCi0gICAgdmlydHVhbCB2b2lkIHNlZWtUbyhk
b3VibGUsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoY29uc3QgV2ViQ29yZTo6RXhjZXB0aW9uRGF0
YSYpPiYmKSA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIHBsYXkoQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZChjb25zdCBXZWJDb3JlOjpFeGNlcHRpb25EYXRhJik+JiYpID0gMDsKLSAgICB2aXJ0dWFsIHZv
aWQgcGF1c2UoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChjb25zdCBXZWJDb3JlOjpFeGNlcHRpb25E
YXRhJik+JiYpID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgc2V0VHJhY2soY29uc3QgU3RyaW5nJiwg
Q29tcGxldGlvbkhhbmRsZXI8dm9pZChjb25zdCBXZWJDb3JlOjpFeGNlcHRpb25EYXRhJik+JiYp
ID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgam9pbihDb21wbGV0aW9uSGFuZGxlcjx2b2lkKE9wdGlv
bmFsPFdlYkNvcmU6OkV4Y2VwdGlvbkRhdGE+JiYpPiYmKSA9IDA7CisgICAgdmlydHVhbCB2b2lk
IGxlYXZlKCkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBzZWVrVG8oZG91YmxlLCBDb21wbGV0aW9u
SGFuZGxlcjx2b2lkKE9wdGlvbmFsPFdlYkNvcmU6OkV4Y2VwdGlvbkRhdGE+JiYpPiYmKSA9IDA7
CisgICAgdmlydHVhbCB2b2lkIHBsYXkoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChPcHRpb25hbDxX
ZWJDb3JlOjpFeGNlcHRpb25EYXRhPiYmKT4mJikgPSAwOworICAgIHZpcnR1YWwgdm9pZCBwYXVz
ZShDb21wbGV0aW9uSGFuZGxlcjx2b2lkKE9wdGlvbmFsPFdlYkNvcmU6OkV4Y2VwdGlvbkRhdGE+
JiYpPiYmKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHNldFRyYWNrKGNvbnN0IFN0cmluZyYsIENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoT3B0aW9uYWw8V2ViQ29yZTo6RXhjZXB0aW9uRGF0YT4mJik+
JiYpID0gMDsKIAogICAgIHZpcnR1YWwgdm9pZCBwb3NpdGlvblN0YXRlQ2hhbmdlZChjb25zdCBP
cHRpb25hbDxXZWJDb3JlOjpNZWRpYVBvc2l0aW9uU3RhdGU+JikgPSAwOwogICAgIHZpcnR1YWwg
dm9pZCByZWFkeVN0YXRlQ2hhbmdlZChXZWJDb3JlOjpNZWRpYVNlc3Npb25SZWFkeVN0YXRlKSA9
IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9NZWRpYS9SZW1vdGVNZWRp
YVNlc3Npb25Db29yZGluYXRvclByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL01l
ZGlhL1JlbW90ZU1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yUHJveHkuY3BwCmluZGV4IDcyN2ZlMmQ3
NjMxZjRlNWRlNzQxN2Y2MzJkMTFjNjM5YTY0YjJlMDYuLjllZGYzM2UwYzA1OGY1OGNhZmI5NTJm
MTIwNGM1ZmJmNmI1ZDdjNmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL01l
ZGlhL1JlbW90ZU1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yUHJveHkuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL01lZGlhL1JlbW90ZU1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yUHJveHku
Y3BwCkBAIC0zMCwxNiArMzAsMjMgQEAKIAogI2luY2x1ZGUgIk1lZGlhU2Vzc2lvbkNvb3JkaW5h
dG9yUHJveHlQcml2YXRlLmgiCiAjaW5jbHVkZSAiUmVtb3RlTWVkaWFTZXNzaW9uQ29vcmRpbmF0
b3JNZXNzYWdlcy5oIgorI2luY2x1ZGUgIlJlbW90ZU1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yUHJv
eHlNZXNzYWdlcy5oIgogI2luY2x1ZGUgIldlYlBhZ2VQcm94eS5oIgogI2luY2x1ZGUgIldlYlBy
b2Nlc3NQcm94eS5oIgogI2luY2x1ZGUgPFdlYkNvcmUvRXhjZXB0aW9uRGF0YS5oPgorI2luY2x1
ZGUgPHd0Zi9Mb2dnZXIuaD4KKyNpbmNsdWRlIDx3dGYvTG9nZ2VySGVscGVyLmg+CiAjaW5jbHVk
ZSA8d3RmL01haW5UaHJlYWQuaD4KICNpbmNsdWRlIDx3dGYvUnVuTG9vcC5oPgogCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CitleHRlcm4gV1RGTG9nQ2hhbm5lbCBMb2dNZWRpYTsKK30KKwogbmFtZXNw
YWNlIFdlYktpdCB7CiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAotUmVmUHRyPFJlbW90ZU1l
ZGlhU2Vzc2lvbkNvb3JkaW5hdG9yUHJveHk+IFJlbW90ZU1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9y
UHJveHk6OmNyZWF0ZShXZWJQYWdlUHJveHkmIHdlYlBhZ2VQcm94eSwgUmVmPE1lZGlhU2Vzc2lv
bkNvb3JkaW5hdG9yUHJveHlQcml2YXRlPiYmIHByaXZhdGVDb29yZGluYXRvcikKK1JlZjxSZW1v
dGVNZWRpYVNlc3Npb25Db29yZGluYXRvclByb3h5PiBSZW1vdGVNZWRpYVNlc3Npb25Db29yZGlu
YXRvclByb3h5OjpjcmVhdGUoV2ViUGFnZVByb3h5JiB3ZWJQYWdlUHJveHksIFJlZjxNZWRpYVNl
c3Npb25Db29yZGluYXRvclByb3h5UHJpdmF0ZT4mJiBwcml2YXRlQ29vcmRpbmF0b3IpCiB7CiAg
ICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUmVtb3RlTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3JQcm94
eSh3ZWJQYWdlUHJveHksIFdURk1vdmUocHJpdmF0ZUNvb3JkaW5hdG9yKSkpOwogfQpAQCAtNDcs
OCArNTQsMTAgQEAgUmVmUHRyPFJlbW90ZU1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yUHJveHk+IFJl
bW90ZU1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yUHJveHk6OmMKIFJlbW90ZU1lZGlhU2Vzc2lvbkNv
b3JkaW5hdG9yUHJveHk6OlJlbW90ZU1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yUHJveHkoV2ViUGFn
ZVByb3h5JiB3ZWJQYWdlUHJveHksIFJlZjxNZWRpYVNlc3Npb25Db29yZGluYXRvclByb3h5UHJp
dmF0ZT4mJiBwcml2YXRlQ29vcmRpbmF0b3IpCiAgICAgOiBtX3dlYlBhZ2VQcm94eSh3ZWJQYWdl
UHJveHkpCiAgICAgLCBtX3ByaXZhdGVDb29yZGluYXRvcihXVEZNb3ZlKHByaXZhdGVDb29yZGlu
YXRvcikpCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECiAgICAgLCBtX2xvZ2dlcihtX3dlYlBh
Z2VQcm94eS5sb2dnZXIoKSkKLSAgICAsIG1fbG9nSWRlbnRpZmllcih1bmlxdWVMb2dJZGVudGlm
aWVyKCkpCisgICAgLCBtX2xvZ0lkZW50aWZpZXIoTG9nZ2VySGVscGVyOjp1bmlxdWVMb2dJZGVu
dGlmaWVyKCkpCisjZW5kaWYKIHsKICAgICBtX3dlYlBhZ2VQcm94eS5wcm9jZXNzKCkuYWRkTWVz
c2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpSZW1vdGVNZWRpYVNlc3Npb25Db29yZGluYXRvclByb3h5
OjptZXNzYWdlUmVjZWl2ZXJOYW1lKCksIG1fd2ViUGFnZVByb3h5LndlYlBhZ2VJRCgpLCAqdGhp
cyk7CiB9CkBAIC01OCwxMiArNjcsMTIgQEAgUmVtb3RlTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3JQ
cm94eTo6flJlbW90ZU1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yUHJveHkoKQogICAgIG1fd2ViUGFn
ZVByb3h5LnByb2Nlc3MoKS5yZW1vdmVNZXNzYWdlUmVjZWl2ZXIoTWVzc2FnZXM6OlJlbW90ZU1l
ZGlhU2Vzc2lvbkNvb3JkaW5hdG9yUHJveHk6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSwgbV93ZWJQ
YWdlUHJveHkud2ViUGFnZUlEKCkpOwogfQogCi12b2lkIFJlbW90ZU1lZGlhU2Vzc2lvbkNvb3Jk
aW5hdG9yUHJveHk6OmpvaW4oQ29tcGxldGlvbkhhbmRsZXI8dm9pZChjb25zdCBXZWJDb3JlOjpF
eGNlcHRpb25EYXRhJik+JiYpCit2b2lkIFJlbW90ZU1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yUHJv
eHk6OmpvaW4oQ29tbWFuZENvbXBsZXRpb25IYW5kbGVyJiYgY29tcGxldGlvbkhhbmRsZXIpCiB7
CiAgICAgYXV0byBpZGVudGlmaWVyID0gTE9HSURFTlRJRklFUjsKICAgICBBTFdBWVNfTE9HKGlk
ZW50aWZpZXIpOwogCi0gICAgbV9wcml2YXRlQ29vcmRpbmF0b3ItPmpvaW4oW2lkZW50aWZpZXJd
IChjb25zdCBXZWJDb3JlOjpFeGNlcHRpb25EYXRhJiYgZXhjZXB0aW9uKSBtdXRhYmxlIHsKKyAg
ICBtX3ByaXZhdGVDb29yZGluYXRvci0+am9pbihbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VS
ZWYoKnRoaXMpLCBpZGVudGlmaWVyLCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxl
dGlvbkhhbmRsZXIpXSAoT3B0aW9uYWw8RXhjZXB0aW9uRGF0YT4mJiBleGNlcHRpb24pIG11dGFi
bGUgewogICAgICAgICBBTFdBWVNfTE9HKGlkZW50aWZpZXIsICJjb21wbGV0aW9uIik7CiAgICAg
ICAgIGNvbXBsZXRpb25IYW5kbGVyKFdURk1vdmUoZXhjZXB0aW9uKSk7CiAgICAgfSk7CkBAIC03
Niw0NSArODUsNDUgQEAgdm9pZCBSZW1vdGVNZWRpYVNlc3Npb25Db29yZGluYXRvclByb3h5Ojps
ZWF2ZSgpCiAgICAgbV9wcml2YXRlQ29vcmRpbmF0b3ItPmxlYXZlKCk7CiB9CiAKLXZvaWQgUmVt
b3RlTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3JQcm94eTo6Y29vcmRpbmF0ZVNlZWtUbyhkb3VibGUg
dGltZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChjb25zdCBXZWJDb3JlOjpFeGNlcHRpb25EYXRh
Jik+JiYgY29tcGxldGlvbkhhbmRsZXIpCit2b2lkIFJlbW90ZU1lZGlhU2Vzc2lvbkNvb3JkaW5h
dG9yUHJveHk6OmNvb3JkaW5hdGVTZWVrVG8oZG91YmxlIHRpbWUsIENvbW1hbmRDb21wbGV0aW9u
SGFuZGxlciYmIGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIGF1dG8gaWRlbnRpZmllciA9IExP
R0lERU5USUZJRVI7CiAgICAgQUxXQVlTX0xPRyhpZGVudGlmaWVyLCB0aW1lKTsKIAotICAgIG1f
cHJpdmF0ZUNvb3JkaW5hdG9yLT5zZWVrVG8odGltZSwgW2lkZW50aWZpZXJdIChjb25zdCBXZWJD
b3JlOjpFeGNlcHRpb25EYXRhJiYgZXhjZXB0aW9uKSBtdXRhYmxlIHsKKyAgICBtX3ByaXZhdGVD
b29yZGluYXRvci0+c2Vla1RvKHRpbWUsIFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigq
dGhpcyksIGlkZW50aWZpZXIsIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9u
SGFuZGxlcildIChPcHRpb25hbDxFeGNlcHRpb25EYXRhPiYmIGV4Y2VwdGlvbikgbXV0YWJsZSB7
CiAgICAgICAgIEFMV0FZU19MT0coaWRlbnRpZmllciwgImNvbXBsZXRpb24iKTsKICAgICAgICAg
Y29tcGxldGlvbkhhbmRsZXIoV1RGTW92ZShleGNlcHRpb24pKTsKICAgICB9KTsKIH0KIAotdm9p
ZCBSZW1vdGVNZWRpYVNlc3Npb25Db29yZGluYXRvclByb3h5Ojpjb29yZGluYXRlUGxheShDb21w
bGV0aW9uSGFuZGxlcjx2b2lkKGNvbnN0IFdlYkNvcmU6OkV4Y2VwdGlvbkRhdGEmKT4mJiBjb21w
bGV0aW9uSGFuZGxlcikKK3ZvaWQgUmVtb3RlTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3JQcm94eTo6
Y29vcmRpbmF0ZVBsYXkoQ29tbWFuZENvbXBsZXRpb25IYW5kbGVyJiYgY29tcGxldGlvbkhhbmRs
ZXIpCiB7CiAgICAgYXV0byBpZGVudGlmaWVyID0gTE9HSURFTlRJRklFUjsKICAgICBBTFdBWVNf
TE9HKGlkZW50aWZpZXIpOwogCi0gICAgbV9wcml2YXRlQ29vcmRpbmF0b3ItPnBsYXkoW2lkZW50
aWZpZXJdIChjb25zdCBXZWJDb3JlOjpFeGNlcHRpb25EYXRhJiYgZXhjZXB0aW9uKSBtdXRhYmxl
IHsKKyAgICBtX3ByaXZhdGVDb29yZGluYXRvci0+cGxheShbdGhpcywgcHJvdGVjdGVkVGhpcyA9
IG1ha2VSZWYoKnRoaXMpLCBpZGVudGlmaWVyLCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUo
Y29tcGxldGlvbkhhbmRsZXIpXSAoT3B0aW9uYWw8RXhjZXB0aW9uRGF0YT4mJiBleGNlcHRpb24p
IG11dGFibGUgewogICAgICAgICBBTFdBWVNfTE9HKGlkZW50aWZpZXIsICJjb21wbGV0aW9uIik7
CiAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKFdURk1vdmUoZXhjZXB0aW9uKSk7CiAgICAgfSk7
CiB9CiAKLXZvaWQgUmVtb3RlTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3JQcm94eTo6Y29vcmRpbmF0
ZVBhdXNlKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoY29uc3QgV2ViQ29yZTo6RXhjZXB0aW9uRGF0
YSYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQordm9pZCBSZW1vdGVNZWRpYVNlc3Npb25Db29yZGlu
YXRvclByb3h5Ojpjb29yZGluYXRlUGF1c2UoQ29tbWFuZENvbXBsZXRpb25IYW5kbGVyJiYgY29t
cGxldGlvbkhhbmRsZXIpCiB7CiAgICAgYXV0byBpZGVudGlmaWVyID0gTE9HSURFTlRJRklFUjsK
ICAgICBBTFdBWVNfTE9HKGlkZW50aWZpZXIpOwogCi0gICAgbV9wcml2YXRlQ29vcmRpbmF0b3It
PnBhdXNlKFtpZGVudGlmaWVyXSAoY29uc3QgV2ViQ29yZTo6RXhjZXB0aW9uRGF0YSYmIGV4Y2Vw
dGlvbikgbXV0YWJsZSB7CisgICAgbV9wcml2YXRlQ29vcmRpbmF0b3ItPnBhdXNlKFt0aGlzLCBw
cm90ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyksIGlkZW50aWZpZXIsIGNvbXBsZXRpb25IYW5k
bGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildIChPcHRpb25hbDxFeGNlcHRpb25EYXRh
PiYmIGV4Y2VwdGlvbikgbXV0YWJsZSB7CiAgICAgICAgIEFMV0FZU19MT0coaWRlbnRpZmllciwg
ImNvbXBsZXRpb24iKTsKICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoV1RGTW92ZShleGNlcHRp
b24pKTsKICAgICB9KTsKIH0KIAotdm9pZCBSZW1vdGVNZWRpYVNlc3Npb25Db29yZGluYXRvclBy
b3h5Ojo6OmNvb3JkaW5hdGVTZXRUcmFjayhjb25zdCBTdHJpbmcmIHRyYWNrLCBDb21wbGV0aW9u
SGFuZGxlcjx2b2lkKGNvbnN0IFdlYkNvcmU6OkV4Y2VwdGlvbkRhdGEmKT4mJiBjb21wbGV0aW9u
SGFuZGxlcikKK3ZvaWQgUmVtb3RlTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3JQcm94eTo6Y29vcmRp
bmF0ZVNldFRyYWNrKGNvbnN0IFN0cmluZyYgdHJhY2ssIENvbW1hbmRDb21wbGV0aW9uSGFuZGxl
ciYmIGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIGF1dG8gaWRlbnRpZmllciA9IExPR0lERU5U
SUZJRVI7CiAgICAgQUxXQVlTX0xPRyhpZGVudGlmaWVyKTsKIAotICAgIG1fcHJpdmF0ZUNvb3Jk
aW5hdG9yLT5zZXRUcmFjayh0cmFjaywgW2lkZW50aWZpZXJdIChjb25zdCBXZWJDb3JlOjpFeGNl
cHRpb25EYXRhJiYgZXhjZXB0aW9uKSBtdXRhYmxlIHsKKyAgICBtX3ByaXZhdGVDb29yZGluYXRv
ci0+c2V0VHJhY2sodHJhY2ssIFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyks
IGlkZW50aWZpZXIsIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxl
cildIChPcHRpb25hbDxFeGNlcHRpb25EYXRhPiYmIGV4Y2VwdGlvbikgbXV0YWJsZSB7CiAgICAg
ICAgIEFMV0FZU19MT0coaWRlbnRpZmllciwgImNvbXBsZXRpb24iKTsKICAgICAgICAgY29tcGxl
dGlvbkhhbmRsZXIoV1RGTW92ZShleGNlcHRpb24pKTsKICAgICB9KTsKQEAgLTE0OCwxMiArMTU3
LDEyIEBAIHZvaWQgUmVtb3RlTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3JQcm94eTo6cGxheVNlc3Np
b24oQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sCiAgICAgbV93ZWJQYWdlUHJveHkuc2VuZFdp
dGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpSZW1vdGVNZWRpYVNlc3Npb25Db29yZGluYXRvcjo6UGxh
eVNlc3Npb24geyB9LCBjYWxsYmFjayk7CiB9CiAKLXZvaWQgUmVtb3RlTWVkaWFTZXNzaW9uQ29v
cmRpbmF0b3JQcm94eTo6cGF1c2VTZXNzaW9uKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+
IGNhbGxiYWNrKQordm9pZCBSZW1vdGVNZWRpYVNlc3Npb25Db29yZGluYXRvclByb3h5OjpwYXVz
ZVNlc3Npb24oQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJiBjYWxsYmFjaykKIHsKICAg
ICBtX3dlYlBhZ2VQcm94eS5zZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6OlJlbW90ZU1lZGlh
U2Vzc2lvbkNvb3JkaW5hdG9yOjpQYXVzZVNlc3Npb24geyB9LCBjYWxsYmFjayk7CiB9CiAKLXZv
aWQgUmVtb3RlTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3JQcm94eTo6c2V0U2Vzc2lvblRyYWNrKGNv
bnN0IFN0cmluZyYgdHJhY2tJZCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4gY2FsbGJh
Y2spCit2b2lkIFJlbW90ZU1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yUHJveHk6OnNldFNlc3Npb25U
cmFjayhjb25zdCBTdHJpbmcmIHRyYWNrSWQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+
JiYgY2FsbGJhY2spCiB7CiAgICAgbV93ZWJQYWdlUHJveHkuc2VuZFdpdGhBc3luY1JlcGx5KE1l
c3NhZ2VzOjpSZW1vdGVNZWRpYVNlc3Npb25Db29yZGluYXRvcjo6U2V0U2Vzc2lvblRyYWNrIHsg
dHJhY2tJZCB9LCBjYWxsYmFjayk7CiB9CkBAIC0xNjQsNiArMTczLDEzIEBAIHZvaWQgUmVtb3Rl
TWVkaWFTZXNzaW9uQ29vcmRpbmF0b3JQcm94eTo6Y29vcmRpbmF0b3JTdGF0ZUNoYW5nZWQoV2Vi
Q29yZTo6TWVkaWFTCiAgICAgbV9wcml2YXRlQ29vcmRpbmF0b3ItPmNvb3JkaW5hdG9yU3RhdGVD
aGFuZ2VkKHN0YXRlKTsKIH0KIAorI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAorV1RGTG9nQ2hh
bm5lbCYgUmVtb3RlTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3JQcm94eTo6bG9nQ2hhbm5lbCgpIGNv
bnN0Cit7CisgICAgcmV0dXJuIExvZ01lZGlhOworfQorI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNl
IFdlYktpdAogCiAjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NFU1NJT05fQ09PUkRJTkFUT1IpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9NZWRpYS9SZW1vdGVNZWRpYVNlc3Np
b25Db29yZGluYXRvclByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9NZWRpYS9SZW1v
dGVNZWRpYVNlc3Npb25Db29yZGluYXRvclByb3h5LmgKaW5kZXggMDY4YTVmNTZkZDRkYmI2NjY1
NTFhN2Y2MTk4M2I4ZTM1NzRkMDI1NC4uYWZiMmY1ZGEwZDRiOTNmN2UxNTFlYzQxZGZhOGVjODIy
MzFkN2NkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTWVkaWEvUmVtb3Rl
TWVkaWFTZXNzaW9uQ29vcmRpbmF0b3JQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL01lZGlhL1JlbW90ZU1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yUHJveHkuaApAQCAtNjYsMTMg
KzY2LDE0IEBAIHByaXZhdGU6CiAgICAgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5l
Y3Rpb24mLCBJUEM6OkRlY29kZXImKSBvdmVycmlkZTsKIAogICAgIC8vIFJlY2VpdmVycy4KLSAg
ICB2b2lkIGpvaW4oQ29tcGxldGlvbkhhbmRsZXI8dm9pZChjb25zdCBXZWJDb3JlOjpFeGNlcHRp
b25EYXRhJik+JiYpOworICAgIHVzaW5nIENvbW1hbmRDb21wbGV0aW9uSGFuZGxlciA9IENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoT3B0aW9uYWw8V2ViQ29yZTo6RXhjZXB0aW9uRGF0YT4mJik+Owor
ICAgIHZvaWQgam9pbihDb21tYW5kQ29tcGxldGlvbkhhbmRsZXImJik7CiAgICAgdm9pZCBsZWF2
ZSgpOwotICAgIHZvaWQgY29vcmRpbmF0ZVNlZWtUbyhkb3VibGUsIENvbXBsZXRpb25IYW5kbGVy
PHZvaWQoY29uc3QgV2ViQ29yZTo6RXhjZXB0aW9uRGF0YSYpPiYmKTsKLSAgICB2b2lkIGNvb3Jk
aW5hdGVQbGF5KENvbXBsZXRpb25IYW5kbGVyPHZvaWQoY29uc3QgV2ViQ29yZTo6RXhjZXB0aW9u
RGF0YSYpPiYmKTsKLSAgICB2b2lkIGNvb3JkaW5hdGVQYXVzZShDb21wbGV0aW9uSGFuZGxlcjx2
b2lkKGNvbnN0IFdlYkNvcmU6OkV4Y2VwdGlvbkRhdGEmKT4mJik7Ci0gICAgdm9pZCBjb29yZGlu
YXRlU2V0VHJhY2soY29uc3QgU3RyaW5nJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChjb25zdCBX
ZWJDb3JlOjpFeGNlcHRpb25EYXRhJik+JiYpOwotICAgIHZvaWQgcG9zaXRpb25TdGF0ZUNoYW5n
ZWQoT3B0aW9uYWw8V2ViQ29yZTo6TWVkaWFQb3NpdGlvblN0YXRlPik7CisgICAgdm9pZCBjb29y
ZGluYXRlU2Vla1RvKGRvdWJsZSwgQ29tbWFuZENvbXBsZXRpb25IYW5kbGVyJiYpOworICAgIHZv
aWQgY29vcmRpbmF0ZVBsYXkoQ29tbWFuZENvbXBsZXRpb25IYW5kbGVyJiYpOworICAgIHZvaWQg
Y29vcmRpbmF0ZVBhdXNlKENvbW1hbmRDb21wbGV0aW9uSGFuZGxlciYmKTsKKyAgICB2b2lkIGNv
b3JkaW5hdGVTZXRUcmFjayhjb25zdCBTdHJpbmcmLCBDb21tYW5kQ29tcGxldGlvbkhhbmRsZXIm
Jik7CisgICAgdm9pZCBwb3NpdGlvblN0YXRlQ2hhbmdlZChjb25zdCBPcHRpb25hbDxXZWJDb3Jl
OjpNZWRpYVBvc2l0aW9uU3RhdGU+Jik7CiAgICAgdm9pZCByZWFkeVN0YXRlQ2hhbmdlZChXZWJD
b3JlOjpNZWRpYVNlc3Npb25SZWFkeVN0YXRlKTsKICAgICB2b2lkIHBsYXliYWNrU3RhdGVDaGFu
Z2VkKFdlYkNvcmU6Ok1lZGlhU2Vzc2lvblBsYXliYWNrU3RhdGUpOwogICAgIHZvaWQgY29vcmRp
bmF0b3JTdGF0ZUNoYW5nZWQoV2ViQ29yZTo6TWVkaWFTZXNzaW9uQ29vcmRpbmF0b3JTdGF0ZSk7
CkBAIC04MCwxMyArODEsMjIgQEAgcHJpdmF0ZToKICAgICAvLyBNZWRpYVNlc3Npb25Db29yZGlu
YXRvckNsaWVudAogICAgIHZvaWQgc2Vla1Nlc3Npb25Ub1RpbWUoZG91YmxlLCBDb21wbGV0aW9u
SGFuZGxlcjx2b2lkKGJvb2wpPiYmKSBmaW5hbDsKICAgICB2b2lkIHBsYXlTZXNzaW9uKENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYpIGZpbmFsOwotICAgIHZvaWQgcGF1c2VTZXNzaW9u
KENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+KSBmaW5hbDsKLSAgICB2b2lkIHNldFNlc3Np
b25UcmFjayhjb25zdCBTdHJpbmcmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPikgZmlu
YWw7CisgICAgdm9pZCBwYXVzZVNlc3Npb24oQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4m
JikgZmluYWw7CisgICAgdm9pZCBzZXRTZXNzaW9uVHJhY2soY29uc3QgU3RyaW5nJiwgQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZChib29sKT4mJikgZmluYWw7CisKKyNpZiAhUkVMRUFTRV9MT0dfRElT
QUJMRUQKKyAgICBjb25zdCBXVEY6OkxvZ2dlciYgbG9nZ2VyKCkgY29uc3QgeyByZXR1cm4gbV9s
b2dnZXI7IH0KKyAgICBjb25zdCB2b2lkKiBsb2dJZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4g
bV9sb2dJZGVudGlmaWVyOyB9CisgICAgY29uc3QgY2hhciogbG9nQ2xhc3NOYW1lKCkgY29uc3Qg
eyByZXR1cm4gIlJlbW90ZU1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yUHJveHkiOyB9CisgICAgV1RG
TG9nQ2hhbm5lbCYgbG9nQ2hhbm5lbCgpIGNvbnN0OworI2VuZGlmCiAKICAgICBXZWJQYWdlUHJv
eHkmIG1fd2ViUGFnZVByb3h5OwogICAgIFJlZjxNZWRpYVNlc3Npb25Db29yZGluYXRvclByb3h5
UHJpdmF0ZT4gbV9wcml2YXRlQ29vcmRpbmF0b3I7Ci0gICAgUmVmPGNvbnN0IExvZ2dlcj4gbV9s
b2dnZXI7CisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgUmVmPGNvbnN0IFdURjo6TG9n
Z2VyPiBtX2xvZ2dlcjsKICAgICBjb25zdCB2b2lkKiBtX2xvZ0lkZW50aWZpZXI7CisjZW5kaWYK
IH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMjk5YzIyOWEzMTU2MTVjNjgxMDliZDdlMmJj
OTg4ZDkxNzkyOTYxNi4uZTk3YzcxMWI1Y2VlMTdlZDdhZGNlZWIzODU1OTQ5NDIwY2E3YWMxZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBA
IC0xODYyLDYgKzE4NjIsNyBAQAogCQlDRDBDNjgzMTIwMUZEMTAxMDBBNTk0MDkgLyogV0tGdWxs
U2NyZWVuVmlld0NvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IENEMEM2ODJGMjAxRkQxMDEwMEE1OTQwOSAvKiBXS0Z1bGxTY3JlZW5WaWV3
Q29udHJvbGxlci5oICovOyB9OwogCQlDRDE5QTI2RTFBMTNFODM0MDA4RDY1MEUgLyogV2ViRGlh
Z25vc3RpY0xvZ2dpbmdDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IENEMTlBMjZBMUExM0U4MjEwMDhENjUwRSAvKiBXZWJEaWFnbm9zdGljTG9n
Z2luZ0NsaWVudC5oICovOyB9OwogCQlDRDE5RDJFQTIwNDY0MDZGMDAxNzA3NEEgLyogRnVsbHNj
cmVlblRvdWNoU2VjaGV1cmlzdGljLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBDRDE5RDJFODIwNDY0MDZGMDAxNzA3NEEgLyogRnVsbHNjcmVlblRvdWNo
U2VjaGV1cmlzdGljLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJQ0QxRkUyRDcyNjEzRTE4NjAwQURDMjlCIC8qIFJlbW90ZU1lZGlhU2Vzc2lvbkNv
b3JkaW5hdG9yUHJveHkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMDczNkI3NUMyNjBENEE0RTAwRTA2OTk0IC8qIFJlbW90ZU1lZGlhU2Vzc2lvbkNv
b3JkaW5hdG9yUHJveHkuY3BwICovOyB9OwogCQlDRDNFRUY0NjI1NzlDMjYxMDA2NTYzQkIgLyog
UmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5TWVzc2FnZVJlY2VpdmVy
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEM0VF
RjQ0MjU3OUMxRDQwMDY1NjNCQiAvKiBSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0
b3J5UHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9OwogCQlDRDQ1NzBEMzI0NDExM0I1MDBB
M0RDRUIgLyogQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3JQcm94eU1lc3NhZ2VSZWNlaXZl
ci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDQ1
NzBEMDI0NDEwMTRBMDBBM0RDRUIgLyogQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3JQcm94
eU1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CiAJCUNENDU3MEQ0MjQ0MTFEMEYwMEEzRENFQiAv
KiBBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDQ1NzBDQjI0NDBGQjJBMDBBM0RDRUIgLyogQXVk
aW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3IuY3BwICovOyB9OwpAQCAtMTM5ODksNiArMTM5OTAs
NyBAQAogCQkJCTA3MUJDNThGMjNDRTFFQUEwMDY4MEQ3QyAvKiBSZW1vdGVNZWRpYVBsYXllclBy
b3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFENEQ3MzcwMjNBOUU1
NDcwMDcxN0EyNSAvKiBSZW1vdGVNZWRpYVJlc291cmNlTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQkwNzdCQTU2RTI2MEU2RDFDMDA3MkYxOUYgLyogUmVtb3Rl
TWVkaWFTZXNzaW9uQ29vcmRpbmF0b3IuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQ0QxRkUyRDcy
NjEzRTE4NjAwQURDMjlCIC8qIFJlbW90ZU1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yUHJveHkuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJMUREMkE2NjMyNTYxMjQ2RjAwRkY3QjZGIC8qIFJlbW90ZU1l
ZGlhU291cmNlUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUFD
MTMzODUxODU5MEM0NjAwRjNFQzA1IC8qIFJlbW90ZU9iamVjdFJlZ2lzdHJ5TWVzc2FnZVJlY2Vp
dmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUNEODI1MkUyMjVENDkxOTEwMDg2MkZEOCAvKiBS
ZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMg
Ki8sCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>