<?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>218518</bug_id>
          
          <creation_ts>2020-11-03 08:47:40 -0800</creation_ts>
          <short_desc>Replace DisplayList::Recorder::Delegate::(will|did)AppendItem with (will|did)AppendItemOfType</short_desc>
          <delta_ts>2020-11-03 13:10:03 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</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>
          
          <blocked>218406</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>annulen</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sabouhallawa</cc>
    
    <cc>sam</cc>
    
    <cc>sergio</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1704020</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-11-03 08:47:40 -0800</bug_when>
    <thetext>SSIA</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1704112</commentid>
    <comment_count>1</comment_count>
      <attachid>413084</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-11-03 11:41:22 -0800</bug_when>
    <thetext>Created attachment 413084
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1704113</commentid>
    <comment_count>2</comment_count>
      <attachid>413085</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-11-03 11:42:05 -0800</bug_when>
    <thetext>Created attachment 413085
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1704154</commentid>
    <comment_count>3</comment_count>
      <attachid>413085</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-11-03 12:53:41 -0800</bug_when>
    <thetext>Comment on attachment 413085
Patch

Thanks for the review!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1704175</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-11-03 13:08:43 -0800</bug_when>
    <thetext>Committed r269330: &lt;https://trac.webkit.org/changeset/269330&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 413085.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1704181</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-11-03 13:10:03 -0800</bug_when>
    <thetext>&lt;rdar://problem/71007875&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>413084</attachid>
            <date>2020-11-03 11:41:22 -0800</date>
            <delta_ts>2020-11-03 11:41:31 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218518-20201103114121.patch</filename>
            <type>text/plain</type>
            <size>35945</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5MzE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmM1NzU0Njg0OTQ3NDU1
YjU3ZTZlZTcxZTczMjE1ZmRmNjVlY2ZkNy4uMmI3ODdiNGNiMjkwMWRkNjMyMjFiM2U5NjQzMDU3
N2ViNjk3M2M0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxIEBACisyMDIwLTExLTAzICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFJlcGxhY2UgRGlz
cGxheUxpc3Q6OlJlY29yZGVyOjpEZWxlZ2F0ZTo6KHdpbGx8ZGlkKUFwcGVuZEl0ZW0gd2l0aCAo
d2lsbHxkaWQpQXBwZW5kSXRlbU9mVHlwZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjE4NTE4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgSW4gcHJlcGFyYXRpb24gZm9yIGxhcmdlciBjaGFuZ2VzIHRvIGRp
c3BsYXkgbGlzdHMgYW5kIGRpc3BsYXkgbGlzdCBpdGVtcyBpbiA8d2Via2l0Lm9yZy9iLzIxODQw
Nj4sIHJlcGxhY2UKKyAgICAgICAgYERpc3BsYXlMaXN0OjpSZWNvcmRlcjo6RGVsZWdhdGVgJ3Mg
YHdpbGxBcHBlbmRJdGVtYCBhbmQgYGRpZEFwcGVuZEl0ZW1gIGNsaWVudCBob29rcyB3aXRoCisg
ICAgICAgIGB3aWxsQXBwZW5kSXRlbU9mVHlwZWAgYW5kIGBkaWRBcHBlbmRJdGVtT2ZUeXBlYCBp
bnN0ZWFkLiBPbmNlIGFsbCBkaXNwbGF5IGxpc3QgaXRlbXMgYXJlIG5vIGxvbmdlciByZWYtY291
bnRlZAorICAgICAgICBvYmplY3RzIHRoYXQgaW5oZXJpdCBmcm9tIGBEaXNwbGF5TGlzdDo6SXRl
bWAsIHBsdW1iaW5nIHRoZXNlIGl0ZW1zIHRocm91Z2ggdmlydHVhbCBjbGllbnQgaG9va3Mgd2ls
bCBpbnRyb2R1Y2UKKyAgICAgICAgdW5uZWNlc3NhcnkgY29tcGxleGl0eSBhbmQgcnVudGltZSBv
dmVyaGVhZC4KKworICAgICAgICBJbnN0ZWFkLCB3ZSBjYW4gcmVmYWN0b3IgdGhlc2UgbWV0aG9k
cyB0byBvbmx5IHBhc3MgdGhlIHR5cGUgb2YgdGhlIGRpc3BsYXkgbGlzdCBpdGVtIGJlaW5nIGFw
cGVuZGVkOyB0aGlzIGlzCisgICAgICAgIGJlY2F1c2UgYWxsIGV4dGFudCBjbGllbnRzIHRoYXQg
aW1wbGVtZW50IHRoZXNlIGhvb2tzIG9ubHkgcmVxdWlyZSB0aGUgaXRlbSBmb3IgaXRzIGBJdGVt
VHlwZWAuCisKKyAgICAgICAgKiBIZWFkZXJzLmNtYWtlOgorCisgICAgICAgIFB1bGwgYERpc3Bs
YXlMaXN0OjpJdGVtVHlwZWAgb3V0IGludG8gYSBzZXBhcmF0ZSBoZWFkZXI6IGBEaXNwbGF5TGlz
dEl0ZW1UeXBlLmhgLiBUaGlzIGhlYWRlciBhZGRpdGlvbmFsbHkKKyAgICAgICAgY29udGFpbnMg
c2V2ZXJhbCBoZWxwZXIgZnVuY3Rpb25zIChgc2l6ZU9mSXRlbUluQnl0ZXNgLCBgaXNJbmxpbmVJ
dGVtYCwgYW5kIGBpc0RyYXdpbmdJdGVtYCkgdGhhdCBvcGVyYXRlIG9ubHkKKyAgICAgICAgb24g
YEl0ZW1UeXBlYHMsIHJhdGhlciB0aGFuIGl0ZW1zIHRoZW1zZWx2ZXMuCisKKyAgICAgICAgV2Ug
d2lsbCB1c2UgdGhlc2UgaGVscGVyIGZ1bmN0aW9ucyBhcyB3ZSB3b3JrIHRvd2FyZHMgPHdlYmtp
dC5vcmcvYi8yMTg0MDY+LgorCisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdEl0ZW1UeXBlLmNwcDogQWRkZWQuCisgICAgICAg
IChXZWJDb3JlOjpEaXNwbGF5TGlzdDo6c2l6ZU9mSXRlbUluQnl0ZXMpOgorICAgICAgICAoV2Vi
Q29yZTo6RGlzcGxheUxpc3Q6OmlzRHJhd2luZ0l0ZW0pOgorICAgICAgICAoV2ViQ29yZTo6RGlz
cGxheUxpc3Q6OmlzSW5saW5lSXRlbSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZGlz
cGxheWxpc3RzL0Rpc3BsYXlMaXN0SXRlbVR5cGUuaDogQWRkZWQuCisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0UmVjb3JkZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RGlzcGxheUxpc3Q6OlJlY29yZGVyOjp3aWxsQXBwZW5kSXRlbU9mVHlwZSk6
CisKKyAgICAgICAgVXNlIHRoZSBuZXcgYERpc3BsYXlMaXN0Ojppc0RyYXdpbmdJdGVtKEl0ZW1U
eXBlKWAgZnVuY3Rpb24gaGVyZSwgaW5zdGVhZCBvZiBjaGVja2luZyB3aGV0aGVyIHRoZSBpdGVt
IGlzIGEKKyAgICAgICAgc3ViY2xhc3Mgb2YgYERyYXdpbmdJdGVtYC4KKworICAgICAgICAoV2Vi
Q29yZTo6RGlzcGxheUxpc3Q6OlJlY29yZGVyOjpkaWRBcHBlbmRJdGVtT2ZUeXBlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpSZWNvcmRlcjo6YXBwZW5kSXRlbSk6CisgICAgICAg
IChXZWJDb3JlOjpEaXNwbGF5TGlzdDo6UmVjb3JkZXI6OndpbGxBcHBlbmRJdGVtKTogRGVsZXRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpSZWNvcmRlcjo6ZGlkQXBwZW5kSXRl
bSk6IERlbGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rp
c3BsYXlMaXN0UmVjb3JkZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpSZWNv
cmRlcjo6RGVsZWdhdGU6OndpbGxBcHBlbmRJdGVtT2ZUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6
OkRpc3BsYXlMaXN0OjpSZWNvcmRlcjo6RGVsZWdhdGU6OmRpZEFwcGVuZEl0ZW1PZlR5cGUpOgor
ICAgICAgICAoV2ViQ29yZTo6RGlzcGxheUxpc3Q6OlJlY29yZGVyOjpEZWxlZ2F0ZTo6d2lsbEFw
cGVuZEl0ZW0pOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6RGlzcGxheUxpc3Q6OlJlY29y
ZGVyOjpEZWxlZ2F0ZTo6ZGlkQXBwZW5kSXRlbSk6IERlbGV0ZWQuCisKIDIwMjAtMTEtMDMgIENv
bW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3
ZWQsIHJldmVydGluZyByMjY4NTY0LCByMjY4OTU3LCBhbmQgcjI2ODk2Mi4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXgg
NzM5MGUyOTRjN2QxMWI3NzcwZjM2ZjljOGE1NTc1NTA1NWQ4OWYyMy4uOTllNWI3NWJjMDQyYWQ2
YmRmZWRmMGU2MDE3OWVlNjFlZGQ5ODBjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MiBAQAorMjAy
MC0xMS0wMyAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAgICAg
ICBSZXBsYWNlIERpc3BsYXlMaXN0OjpSZWNvcmRlcjo6RGVsZWdhdGU6Oih3aWxsfGRpZClBcHBl
bmRJdGVtIHdpdGggKHdpbGx8ZGlkKUFwcGVuZEl0ZW1PZlR5cGUKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxODUxOAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNlZSBXZWJDb3JlIENoYW5nZUxvZyBmb3Ig
bW9yZSBpbmZvcm1hdGlvbi4KKworICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1Jl
bW90ZUltYWdlQnVmZmVyUHJveHkuaDoKKworMjAyMC0xMS0wMyAgV2Vuc29uIEhzaWVoICA8d2Vu
c29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgaGVscGVyIG1ldGhvZHMgdG8gZW5j
b2RlIGFuZCBkZWNvZGUgSVBDIGFyZ3VtZW50cyBhcyByYXcgZGF0YQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4NTE2CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgR2VvZmYgR2FyZW4uCisKKyAgICAgICAgQWRkIG5ldyBoZWxwZXIgbWV0aG9kcyB0byBg
SVBDOjpFbmNvZGVyYCBhbmQgYElQQzo6RGVjb2RlcmAgdGhhdCBjYW4gYmUgdXNlZCB0byBjb252
ZXJ0IGFueXRoaW5nIHRoYXQgY2FuIGJlCisgICAgICAgIHNlbnQgYXMgYW4gSVBDIGFyZ3VtZW50
IGludG8gcmF3IGJ5dGVzIChpLmUuIHVzaW5nIGBXZWJDb3JlOjpTaGFyZWRCdWZmZXJgKSwgYXMg
bG9uZyBhcyB0aGVyZSBhcmUgbm8gSVBDCisgICAgICAgIGF0dGFjaG1lbnRzIGluIHRoZSBlbmNv
ZGVkIGRhdGEuCisKKyAgICAgICAgRm9yIG1vcmUgZGV0YWlscywgc2VlIDx3ZWJraXQub3JnL2Iv
MjE4NDA2Pi4KKworICAgICAgICAqIFBsYXRmb3JtL0lQQy9EZWNvZGVyLmNwcDoKKyAgICAgICAg
KElQQzo6RGVjb2Rlcjo6RGVjb2Rlcik6CisKKyAgICAgICAgQWRkIHByaXZhdGUgdmVyc2lvbnMg
b2YgdGhlIEVuY29kZXIgYW5kIERlY29kZXIgY29uc3RydWN0b3JzIHRoYXQgYXZvaWQgSVBDIGhl
YWRlciBkYXRhLiBUaGVzZSBjb25zdHJ1Y3RvcnMgYXJlCisgICAgICAgIGNhbGxlZCBvbmx5IGZy
b20gd2l0aGluIGBlbmNvZGVTaW5nbGVPYmplY3RgIGFuZCBgZGVjb2RlU2luZ2xlT2JqZWN0YCwg
cmVzcGVjdGl2ZWx5LgorCisgICAgICAgIChJUEM6Om1fYnVmZmVyRGVhbGxvY2F0b3IpOgorICAg
ICAgICAqIFBsYXRmb3JtL0lQQy9EZWNvZGVyLmg6CisgICAgICAgIChJUEM6OkRlY29kZXI6OmRl
Y29kZVNpbmdsZU9iamVjdCk6CisgICAgICAgICogUGxhdGZvcm0vSVBDL0VuY29kZXIuY3BwOgor
ICAgICAgICAoSVBDOjpFbmNvZGVyOjpFbmNvZGVyKToKKyAgICAgICAgKElQQzo6RW5jb2Rlcjo6
cmVsZWFzZUF0dGFjaG1lbnRzKToKKyAgICAgICAgKElQQzo6RW5jb2Rlcjo6aGFzQXR0YWNobWVu
dHMgY29uc3QpOgorICAgICAgICAqIFBsYXRmb3JtL0lQQy9FbmNvZGVyLmg6CisKIDIwMjAtMTEt
MDMgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgUmVw
bGFjZSBEaXNwbGF5TGlzdDo6aXRlbUNvdW50IHdpdGggRGlzcGxheUxpc3Q6OmlzRW1wdHkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UgYi9Tb3VyY2UvV2ViQ29yZS9I
ZWFkZXJzLmNtYWtlCmluZGV4IGU4ZTMzOGUzN2EzMjFlODFlY2QzMTliZjRiZmEzYjZhNzU1NWJm
NTUuLmVjNzBiNDY0MjM4NTEzNjZhNGE0MTQ2NDU4N2I1NDVmNWI3ZTNiZTUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvSGVhZGVy
cy5jbWFrZQpAQCAtMTI0Miw2ICsxMjQyLDcgQEAgc2V0KFdlYkNvcmVfUFJJVkFURV9GUkFNRVdP
UktfSEVBREVSUwogICAgIHBsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlz
dERyYXdHbHlwaHNSZWNvcmRlci5oCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3Rz
L0Rpc3BsYXlMaXN0RHJhd2luZ0NvbnRleHQuaAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL2Rpc3Bs
YXlsaXN0cy9EaXNwbGF5TGlzdEltYWdlQnVmZmVyLmgKKyAgICBwbGF0Zm9ybS9ncmFwaGljcy9k
aXNwbGF5bGlzdHMvRGlzcGxheUxpc3RJdGVtVHlwZS5oCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3Mv
ZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0SXRlbXMuaAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL2Rp
c3BsYXlsaXN0cy9EaXNwbGF5TGlzdFJlY29yZGVyLmgKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9k
aXNwbGF5bGlzdHMvRGlzcGxheUxpc3RSZXBsYXllci5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4IDYzNzcx
YjA0MDU4N2E5NDg1ZjQ0NjA4ZjhjMTI4M2VmNzZjNjE1ZjkuLmRhYWJmZjczMGYzYTFlYmI0Mjk0
ZGJjYWYzOTc2ZmYwN2IzMjE3NmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMu
dHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CkBAIC0xOTYxLDYgKzE5NjEsNyBA
QCBwbGF0Zm9ybS9ncmFwaGljcy9jcHUvYXJtL2ZpbHRlcnMvRkVMaWdodGluZ05FT04uY3BwCiBw
bGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3QuY3BwCiBwbGF0Zm9ybS9n
cmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3REcmF3aW5nQ29udGV4dC5jcHAKIHBsYXRm
b3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdEl0ZW1zLmNwcAorcGxhdGZvcm0v
Z3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0SXRlbVR5cGUuY3BwCiBwbGF0Zm9ybS9n
cmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RSZWNvcmRlci5jcHAKIHBsYXRmb3JtL2dy
YXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdFJlcGxheWVyLmNwcAogcGxhdGZvcm0vZ3Jh
cGhpY3MvZmlsdGVycy9EaXN0YW50TGlnaHRTb3VyY2UuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNzA0ZmYxNzhhZDIyNmQ2
MzYyYjRjOTdkZWMxMDU0N2FlOGIyNDc2Mi4uMDZlY2U3YjBhZTcxMjA5YTU4OWM3MDI5NDVmYjY5
MzYyNTMxZjFhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagpAQCAtNTE2Myw2ICs1MTYzLDcgQEAKIAkJRjQwM0U3ODcyMzYzQjU4QzAw
MDQ0NTUwIC8qIEVudGVyS2V5SGludC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRjQwM0U3ODUyMzYzQjU4QzAwMDQ0NTUwIC8qIEVudGVyS2V5SGludC5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUY0Mjky
NjE4MjUyNjRENDQwMDAwNzg5OCAvKiBNZWRpYVBsYXllcklkZW50aWZpZXIuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0MjkyNjE3MjUyNjRENDQwMDAw
Nzg5OCAvKiBNZWRpYVBsYXllcklkZW50aWZpZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlGNDMzRTkwMzFEQkJEQkEyMDBFRjBEMTQgLyogU3Rh
dGljUGFzdGVib2FyZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gRjQzM0U5MDIxREJCREJBMjAwRUYwRDE0IC8qIFN0YXRpY1Bhc3RlYm9hcmQuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlGNDM3N0Q1NzI1
NTFDOUM2MDA4MEFCRkUgLyogRGlzcGxheUxpc3RJdGVtVHlwZS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQzNzdENTUyNTUxQzlDNjAwODBBQkZFIC8q
IERpc3BsYXlMaXN0SXRlbVR5cGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQlGNDQwRTc3QTIzM0Q5NEQ3MDA2M0Y5QUIgLyogTmF2aWdhdG9yQ2xp
cGJvYXJkLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBG
NDQwRTc2RjIzM0Q5NEQzMDA2M0Y5QUIgLyogTmF2aWdhdG9yQ2xpcGJvYXJkLmggKi87IH07CiAJ
CUY0NDBFNzdCMjMzRDk0RDcwMDYzRjlBQiAvKiBDbGlwYm9hcmRJdGVtLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNDQwRTc3MDIzM0Q5NEQ0MDA2M0Y5
QUIgLyogQ2xpcGJvYXJkSXRlbS5oICovOyB9OwogCQlGNDQwRTc3RDIzM0Q5NEQ3MDA2M0Y5QUIg
LyogQ2xpcGJvYXJkLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBGNDQwRTc3MjIzM0Q5NEQ1MDA2M0Y5QUIgLyogQ2xpcGJvYXJkLmggKi87IH07CkBAIC0x
NjMxOCw2ICsxNjMxOSw4IEBACiAJCUY0MkNFQjU0MjE0MDMxRUUwMDJEQ0E3MiAvKiBGb250QXR0
cmlidXRlQ2hhbmdlc0NvY29hLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gRm9udEF0dHJpYnV0
ZUNoYW5nZXNDb2NvYS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjQzM0U5MDIx
REJCREJBMjAwRUYwRDE0IC8qIFN0YXRpY1Bhc3RlYm9hcmQuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gU3RhdGljUGFzdGVib2FyZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlGNDMzRTkwNDFEQkJEQkMyMDBFRjBEMTQgLyogU3RhdGljUGFzdGVib2FyZC5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBTdGF0aWNQYXN0ZWJvYXJkLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJRjQzNzdENTUyNTUxQzlDNjAwODBBQkZFIC8qIERpc3BsYXlMaXN0SXRl
bVR5cGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGlzcGxheUxpc3RJdGVtVHlwZS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlGNDM3N0Q1NjI1NTFDOUM2MDA4MEFCRkUgLyogRGlzcGxheUxp
c3RJdGVtVHlwZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBEaXNwbGF5TGlzdEl0ZW1UeXBlLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjQ0MEU3NkUyMzNEOTREMzAwNjNGOUFC
IC8qIENsaXBib2FyZC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBD
bGlwYm9hcmQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNDQwRTc2RjIzM0Q5
NEQzMDA2M0Y5QUIgLyogTmF2aWdhdG9yQ2xpcGJvYXJkLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IE5hdmlnYXRvckNsaXBib2FyZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlGNDQwRTc3MDIzM0Q5NEQ0MDA2M0Y5QUIgLyogQ2xpcGJvYXJkSXRlbS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDbGlwYm9hcmRJdGVtLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC0xNzYyNCw2ICsxNzYyNyw4IEBACiAJCQkJNzJFQTA5RjcyM0ZD
Q0IzRDAwODUwNEE1IC8qIERpc3BsYXlMaXN0SW1hZ2VCdWZmZXIuaCAqLywKIAkJCQkwRkU1RkJD
QzFDM0RENTFFMDAwN0EyQ0EgLyogRGlzcGxheUxpc3RJdGVtcy5jcHAgKi8sCiAJCQkJMEZFNUZC
Q0QxQzNERDUxRTAwMDdBMkNBIC8qIERpc3BsYXlMaXN0SXRlbXMuaCAqLywKKwkJCQlGNDM3N0Q1
NjI1NTFDOUM2MDA4MEFCRkUgLyogRGlzcGxheUxpc3RJdGVtVHlwZS5jcHAgKi8sCisJCQkJRjQz
NzdENTUyNTUxQzlDNjAwODBBQkZFIC8qIERpc3BsYXlMaXN0SXRlbVR5cGUuaCAqLywKIAkJCQkw
RkU1RkJDRTFDM0RENTFFMDAwN0EyQ0EgLyogRGlzcGxheUxpc3RSZWNvcmRlci5jcHAgKi8sCiAJ
CQkJMEZFNUZCQ0YxQzNERDUxRTAwMDdBMkNBIC8qIERpc3BsYXlMaXN0UmVjb3JkZXIuaCAqLywK
IAkJCQkwRkU1RkJEMDFDM0RENTFFMDAwN0EyQ0EgLyogRGlzcGxheUxpc3RSZXBsYXllci5jcHAg
Ki8sCkBAIC0zMTQ0OCw2ICszMTQ1Myw3IEBACiAJCQkJNTVBRDA5NDAyNDA4OTY0MDAwREU0RDJG
IC8qIERpc3BsYXlMaXN0RHJhd2luZ0NvbnRleHQuaCBpbiBIZWFkZXJzICovLAogCQkJCTU1QUQw
OTNFMjQwODk2MzUwMERFNEQyRiAvKiBEaXNwbGF5TGlzdEltYWdlQnVmZmVyLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkwRkU1RkJENTFDM0RENTFFMDAwN0EyQ0EgLyogRGlzcGxheUxpc3RJdGVtcy5o
IGluIEhlYWRlcnMgKi8sCisJCQkJRjQzNzdENTcyNTUxQzlDNjAwODBBQkZFIC8qIERpc3BsYXlM
aXN0SXRlbVR5cGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGRTVGQkQ3MUMzREQ1MUUwMDA3QTJD
QSAvKiBEaXNwbGF5TGlzdFJlY29yZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkU1RkJEOTFD
M0RENTFFMDAwN0EyQ0EgLyogRGlzcGxheUxpc3RSZXBsYXllci5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJNDlBRjJENjkxNDQzNUQwNTAwMTZBNzg0IC8qIERpc3BsYXlSZWZyZXNoTW9uaXRvci5oIGlu
IEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3QuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdC5oCmluZGV4IGQyZGFhN2U5OTEzNjUxMTFi
NWNlNWUxYjA1MWI3NDc0MGZlNWVlYTguLmY5YzkzOThmMGI3MjIyNGY2OTAyYTM4Zjc5NTc1NjMy
ZDFiMWEzMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rp
c3BsYXlsaXN0cy9EaXNwbGF5TGlzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdC5oCkBAIC0yNSw2ICsyNSw3IEBACiAKICNw
cmFnbWEgb25jZQogCisjaW5jbHVkZSAiRGlzcGxheUxpc3RJdGVtVHlwZS5oIgogI2luY2x1ZGUg
IkZsb2F0UmVjdC5oIgogI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgogI2luY2x1ZGUgPHd0
Zi9GYXN0TWFsbG9jLmg+CkBAIC0zOSw3MyArNDAsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IG5hbWVzcGFjZSBEaXNwbGF5TGlzdCB7CiAKLWVudW0gY2xhc3MgSXRlbVR5cGUgOiB1aW50OF90
IHsKLSAgICBTYXZlLAotICAgIFJlc3RvcmUsCi0gICAgVHJhbnNsYXRlLAotICAgIFJvdGF0ZSwK
LSAgICBTY2FsZSwKLSAgICBDb25jYXRlbmF0ZUNUTSwKLSAgICBTZXRDVE0sCi0gICAgU2V0SW5s
aW5lRmlsbEdyYWRpZW50LAotICAgIFNldElubGluZUZpbGxDb2xvciwKLSAgICBTZXRJbmxpbmVT
dHJva2VDb2xvciwKLSAgICBTZXRTdHJva2VUaGlja25lc3MsCi0gICAgU2V0U3RhdGUsCi0gICAg
U2V0TGluZUNhcCwKLSAgICBTZXRMaW5lRGFzaCwKLSAgICBTZXRMaW5lSm9pbiwKLSAgICBTZXRN
aXRlckxpbWl0LAotICAgIENsZWFyU2hhZG93LAotICAgIENsaXAsCi0gICAgQ2xpcE91dCwKLSAg
ICBDbGlwT3V0VG9QYXRoLAotICAgIENsaXBQYXRoLAotICAgIENsaXBUb0RyYXdpbmdDb21tYW5k
cywKLSAgICBEcmF3R2x5cGhzLAotICAgIERyYXdJbWFnZSwKLSAgICBEcmF3VGlsZWRJbWFnZSwK
LSAgICBEcmF3VGlsZWRTY2FsZWRJbWFnZSwKLSAgICBEcmF3SW1hZ2VCdWZmZXIsCi0gICAgRHJh
d05hdGl2ZUltYWdlLAotICAgIERyYXdQYXR0ZXJuLAotICAgIERyYXdSZWN0LAotICAgIERyYXdM
aW5lLAotICAgIERyYXdMaW5lc0ZvclRleHQsCi0gICAgRHJhd0RvdHNGb3JEb2N1bWVudE1hcmtl
ciwKLSAgICBEcmF3RWxsaXBzZSwKLSAgICBEcmF3UGF0aCwKLSAgICBEcmF3Rm9jdXNSaW5nUGF0
aCwKLSAgICBEcmF3Rm9jdXNSaW5nUmVjdHMsCi0gICAgRmlsbFJlY3QsCi0gICAgRmlsbFJlY3RX
aXRoQ29sb3IsCi0gICAgRmlsbFJlY3RXaXRoR3JhZGllbnQsCi0gICAgRmlsbENvbXBvc2l0ZWRS
ZWN0LAotICAgIEZpbGxSb3VuZGVkUmVjdCwKLSAgICBGaWxsUmVjdFdpdGhSb3VuZGVkSG9sZSwK
LSNpZiBFTkFCTEUoSU5MSU5FX1BBVEhfREFUQSkKLSAgICBGaWxsSW5saW5lUGF0aCwKLSNlbmRp
ZgotICAgIEZpbGxQYXRoLAotICAgIEZpbGxFbGxpcHNlLAotICAgIFB1dEltYWdlRGF0YSwKLSAg
ICBQYWludEZyYW1lRm9yTWVkaWEsCi0gICAgU3Ryb2tlUmVjdCwKLSNpZiBFTkFCTEUoSU5MSU5F
X1BBVEhfREFUQSkKLSAgICBTdHJva2VJbmxpbmVQYXRoLAotI2VuZGlmCi0gICAgU3Ryb2tlUGF0
aCwKLSAgICBTdHJva2VFbGxpcHNlLAotICAgIENsZWFyUmVjdCwKLSAgICBCZWdpblRyYW5zcGFy
ZW5jeUxheWVyLAotICAgIEVuZFRyYW5zcGFyZW5jeUxheWVyLAotI2lmIFVTRShDRykKLSAgICBB
cHBseVN0cm9rZVBhdHRlcm4sIC8vIEZJWE1FOiBzaG91bGQgbm90IGJlIGEgcmVjb3JkZWQgaXRl
bS4KLSAgICBBcHBseUZpbGxQYXR0ZXJuLCAvLyBGSVhNRTogc2hvdWxkIG5vdCBiZSBhIHJlY29y
ZGVkIGl0ZW0uCi0jZW5kaWYKLSAgICBBcHBseURldmljZVNjYWxlRmFjdG9yLAotfTsKLQogY2xh
c3MgSXRlbSA6IHB1YmxpYyBSZWZDb3VudGVkPEl0ZW0+IHsKIHB1YmxpYzoKICAgICBJdGVtKCkg
PSBkZWxldGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9k
aXNwbGF5bGlzdHMvRGlzcGxheUxpc3RJdGVtVHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RJdGVtVHlwZS5jcHAKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNDU3YWVkZGUzMjk2YTc4MjQ1MDkwZDZhZWUxMTY5MDVhMjNhNGRkYwotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9E
aXNwbGF5TGlzdEl0ZW1UeXBlLmNwcApAQCAtMCwwICsxLDMxMyBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
bmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJEaXNwbGF5TGlzdEl0ZW1UeXBlLmgiCisKKyNp
bmNsdWRlICJEaXNwbGF5TGlzdEl0ZW1zLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKK25hbWVz
cGFjZSBEaXNwbGF5TGlzdCB7CisKK3NpemVfdCBzaXplT2ZJdGVtSW5CeXRlcyhJdGVtVHlwZSB0
eXBlKQoreworICAgIHN3aXRjaCAodHlwZSkgeworICAgIGNhc2UgSXRlbVR5cGU6OlNhdmU6Cisg
ICAgICAgIHJldHVybiBzaXplb2YoU2F2ZSk7CisgICAgY2FzZSBJdGVtVHlwZTo6UmVzdG9yZToK
KyAgICAgICAgcmV0dXJuIHNpemVvZihSZXN0b3JlKTsKKyAgICBjYXNlIEl0ZW1UeXBlOjpUcmFu
c2xhdGU6CisgICAgICAgIHJldHVybiBzaXplb2YoVHJhbnNsYXRlKTsKKyAgICBjYXNlIEl0ZW1U
eXBlOjpSb3RhdGU6CisgICAgICAgIHJldHVybiBzaXplb2YoUm90YXRlKTsKKyAgICBjYXNlIEl0
ZW1UeXBlOjpTY2FsZToKKyAgICAgICAgcmV0dXJuIHNpemVvZihTY2FsZSk7CisgICAgY2FzZSBJ
dGVtVHlwZTo6Q29uY2F0ZW5hdGVDVE06CisgICAgICAgIHJldHVybiBzaXplb2YoQ29uY2F0ZW5h
dGVDVE0pOworICAgIGNhc2UgSXRlbVR5cGU6OlNldENUTToKKyAgICAgICAgcmV0dXJuIHNpemVv
ZihTZXRDVE0pOworICAgIGNhc2UgSXRlbVR5cGU6OlNldElubGluZUZpbGxHcmFkaWVudDoKKyAg
ICAgICAgcmV0dXJuIHNpemVvZihTZXRJbmxpbmVGaWxsR3JhZGllbnQpOworICAgIGNhc2UgSXRl
bVR5cGU6OlNldElubGluZUZpbGxDb2xvcjoKKyAgICAgICAgcmV0dXJuIHNpemVvZihTZXRJbmxp
bmVGaWxsQ29sb3IpOworICAgIGNhc2UgSXRlbVR5cGU6OlNldElubGluZVN0cm9rZUNvbG9yOgor
ICAgICAgICByZXR1cm4gc2l6ZW9mKFNldElubGluZVN0cm9rZUNvbG9yKTsKKyAgICBjYXNlIEl0
ZW1UeXBlOjpTZXRTdHJva2VUaGlja25lc3M6CisgICAgICAgIHJldHVybiBzaXplb2YoU2V0U3Ry
b2tlVGhpY2tuZXNzKTsKKyAgICBjYXNlIEl0ZW1UeXBlOjpTZXRTdGF0ZToKKyAgICAgICAgcmV0
dXJuIHNpemVvZihTZXRTdGF0ZSk7CisgICAgY2FzZSBJdGVtVHlwZTo6U2V0TGluZUNhcDoKKyAg
ICAgICAgcmV0dXJuIHNpemVvZihTZXRMaW5lQ2FwKTsKKyAgICBjYXNlIEl0ZW1UeXBlOjpTZXRM
aW5lRGFzaDoKKyAgICAgICAgcmV0dXJuIHNpemVvZihTZXRMaW5lRGFzaCk7CisgICAgY2FzZSBJ
dGVtVHlwZTo6U2V0TGluZUpvaW46CisgICAgICAgIHJldHVybiBzaXplb2YoU2V0TGluZUpvaW4p
OworICAgIGNhc2UgSXRlbVR5cGU6OlNldE1pdGVyTGltaXQ6CisgICAgICAgIHJldHVybiBzaXpl
b2YoU2V0TWl0ZXJMaW1pdCk7CisgICAgY2FzZSBJdGVtVHlwZTo6Q2xlYXJTaGFkb3c6CisgICAg
ICAgIHJldHVybiBzaXplb2YoQ2xlYXJTaGFkb3cpOworICAgIGNhc2UgSXRlbVR5cGU6OkNsaXA6
CisgICAgICAgIHJldHVybiBzaXplb2YoQ2xpcCk7CisgICAgY2FzZSBJdGVtVHlwZTo6Q2xpcE91
dDoKKyAgICAgICAgcmV0dXJuIHNpemVvZihDbGlwT3V0KTsKKyAgICBjYXNlIEl0ZW1UeXBlOjpD
bGlwT3V0VG9QYXRoOgorICAgICAgICByZXR1cm4gc2l6ZW9mKENsaXBPdXRUb1BhdGgpOworICAg
IGNhc2UgSXRlbVR5cGU6OkNsaXBQYXRoOgorICAgICAgICByZXR1cm4gc2l6ZW9mKENsaXBQYXRo
KTsKKyAgICBjYXNlIEl0ZW1UeXBlOjpDbGlwVG9EcmF3aW5nQ29tbWFuZHM6CisgICAgICAgIHJl
dHVybiBzaXplb2YoQ2xpcFRvRHJhd2luZ0NvbW1hbmRzKTsKKyAgICBjYXNlIEl0ZW1UeXBlOjpE
cmF3R2x5cGhzOgorICAgICAgICByZXR1cm4gc2l6ZW9mKERyYXdHbHlwaHMpOworICAgIGNhc2Ug
SXRlbVR5cGU6OkRyYXdJbWFnZToKKyAgICAgICAgcmV0dXJuIHNpemVvZihEcmF3SW1hZ2UpOwor
ICAgIGNhc2UgSXRlbVR5cGU6OkRyYXdUaWxlZEltYWdlOgorICAgICAgICByZXR1cm4gc2l6ZW9m
KERyYXdUaWxlZEltYWdlKTsKKyAgICBjYXNlIEl0ZW1UeXBlOjpEcmF3VGlsZWRTY2FsZWRJbWFn
ZToKKyAgICAgICAgcmV0dXJuIHNpemVvZihEcmF3VGlsZWRTY2FsZWRJbWFnZSk7CisgICAgY2Fz
ZSBJdGVtVHlwZTo6RHJhd0ltYWdlQnVmZmVyOgorICAgICAgICByZXR1cm4gc2l6ZW9mKERyYXdJ
bWFnZUJ1ZmZlcik7CisgICAgY2FzZSBJdGVtVHlwZTo6RHJhd05hdGl2ZUltYWdlOgorICAgICAg
ICByZXR1cm4gc2l6ZW9mKERyYXdOYXRpdmVJbWFnZSk7CisgICAgY2FzZSBJdGVtVHlwZTo6RHJh
d1BhdHRlcm46CisgICAgICAgIHJldHVybiBzaXplb2YoRHJhd1BhdHRlcm4pOworICAgIGNhc2Ug
SXRlbVR5cGU6OkRyYXdSZWN0OgorICAgICAgICByZXR1cm4gc2l6ZW9mKERyYXdSZWN0KTsKKyAg
ICBjYXNlIEl0ZW1UeXBlOjpEcmF3TGluZToKKyAgICAgICAgcmV0dXJuIHNpemVvZihEcmF3TGlu
ZSk7CisgICAgY2FzZSBJdGVtVHlwZTo6RHJhd0xpbmVzRm9yVGV4dDoKKyAgICAgICAgcmV0dXJu
IHNpemVvZihEcmF3TGluZXNGb3JUZXh0KTsKKyAgICBjYXNlIEl0ZW1UeXBlOjpEcmF3RG90c0Zv
ckRvY3VtZW50TWFya2VyOgorICAgICAgICByZXR1cm4gc2l6ZW9mKERyYXdEb3RzRm9yRG9jdW1l
bnRNYXJrZXIpOworICAgIGNhc2UgSXRlbVR5cGU6OkRyYXdFbGxpcHNlOgorICAgICAgICByZXR1
cm4gc2l6ZW9mKERyYXdFbGxpcHNlKTsKKyAgICBjYXNlIEl0ZW1UeXBlOjpEcmF3UGF0aDoKKyAg
ICAgICAgcmV0dXJuIHNpemVvZihEcmF3UGF0aCk7CisgICAgY2FzZSBJdGVtVHlwZTo6RHJhd0Zv
Y3VzUmluZ1BhdGg6CisgICAgICAgIHJldHVybiBzaXplb2YoRHJhd0ZvY3VzUmluZ1BhdGgpOwor
ICAgIGNhc2UgSXRlbVR5cGU6OkRyYXdGb2N1c1JpbmdSZWN0czoKKyAgICAgICAgcmV0dXJuIHNp
emVvZihEcmF3Rm9jdXNSaW5nUmVjdHMpOworICAgIGNhc2UgSXRlbVR5cGU6OkZpbGxSZWN0Ogor
ICAgICAgICByZXR1cm4gc2l6ZW9mKEZpbGxSZWN0KTsKKyAgICBjYXNlIEl0ZW1UeXBlOjpGaWxs
UmVjdFdpdGhDb2xvcjoKKyAgICAgICAgcmV0dXJuIHNpemVvZihGaWxsUmVjdFdpdGhDb2xvcik7
CisgICAgY2FzZSBJdGVtVHlwZTo6RmlsbFJlY3RXaXRoR3JhZGllbnQ6CisgICAgICAgIHJldHVy
biBzaXplb2YoRmlsbFJlY3RXaXRoR3JhZGllbnQpOworICAgIGNhc2UgSXRlbVR5cGU6OkZpbGxD
b21wb3NpdGVkUmVjdDoKKyAgICAgICAgcmV0dXJuIHNpemVvZihGaWxsQ29tcG9zaXRlZFJlY3Qp
OworICAgIGNhc2UgSXRlbVR5cGU6OkZpbGxSb3VuZGVkUmVjdDoKKyAgICAgICAgcmV0dXJuIHNp
emVvZihGaWxsUm91bmRlZFJlY3QpOworICAgIGNhc2UgSXRlbVR5cGU6OkZpbGxSZWN0V2l0aFJv
dW5kZWRIb2xlOgorICAgICAgICByZXR1cm4gc2l6ZW9mKEZpbGxSZWN0V2l0aFJvdW5kZWRIb2xl
KTsKKyNpZiBFTkFCTEUoSU5MSU5FX1BBVEhfREFUQSkKKyAgICBjYXNlIEl0ZW1UeXBlOjpGaWxs
SW5saW5lUGF0aDoKKyAgICAgICAgcmV0dXJuIHNpemVvZihGaWxsSW5saW5lUGF0aCk7CisjZW5k
aWYKKyAgICBjYXNlIEl0ZW1UeXBlOjpGaWxsUGF0aDoKKyAgICAgICAgcmV0dXJuIHNpemVvZihG
aWxsUGF0aCk7CisgICAgY2FzZSBJdGVtVHlwZTo6RmlsbEVsbGlwc2U6CisgICAgICAgIHJldHVy
biBzaXplb2YoRmlsbEVsbGlwc2UpOworICAgIGNhc2UgSXRlbVR5cGU6OlB1dEltYWdlRGF0YToK
KyAgICAgICAgcmV0dXJuIHNpemVvZihQdXRJbWFnZURhdGEpOworICAgIGNhc2UgSXRlbVR5cGU6
OlBhaW50RnJhbWVGb3JNZWRpYToKKyAgICAgICAgcmV0dXJuIHNpemVvZihQYWludEZyYW1lRm9y
TWVkaWEpOworICAgIGNhc2UgSXRlbVR5cGU6OlN0cm9rZVJlY3Q6CisgICAgICAgIHJldHVybiBz
aXplb2YoU3Ryb2tlUmVjdCk7CisjaWYgRU5BQkxFKElOTElORV9QQVRIX0RBVEEpCisgICAgY2Fz
ZSBJdGVtVHlwZTo6U3Ryb2tlSW5saW5lUGF0aDoKKyAgICAgICAgcmV0dXJuIHNpemVvZihTdHJv
a2VJbmxpbmVQYXRoKTsKKyNlbmRpZgorICAgIGNhc2UgSXRlbVR5cGU6OlN0cm9rZVBhdGg6Cisg
ICAgICAgIHJldHVybiBzaXplb2YoU3Ryb2tlUGF0aCk7CisgICAgY2FzZSBJdGVtVHlwZTo6U3Ry
b2tlRWxsaXBzZToKKyAgICAgICAgcmV0dXJuIHNpemVvZihTdHJva2VFbGxpcHNlKTsKKyAgICBj
YXNlIEl0ZW1UeXBlOjpDbGVhclJlY3Q6CisgICAgICAgIHJldHVybiBzaXplb2YoQ2xlYXJSZWN0
KTsKKyAgICBjYXNlIEl0ZW1UeXBlOjpCZWdpblRyYW5zcGFyZW5jeUxheWVyOgorICAgICAgICBy
ZXR1cm4gc2l6ZW9mKEJlZ2luVHJhbnNwYXJlbmN5TGF5ZXIpOworICAgIGNhc2UgSXRlbVR5cGU6
OkVuZFRyYW5zcGFyZW5jeUxheWVyOgorICAgICAgICByZXR1cm4gc2l6ZW9mKEVuZFRyYW5zcGFy
ZW5jeUxheWVyKTsKKyNpZiBVU0UoQ0cpCisgICAgY2FzZSBJdGVtVHlwZTo6QXBwbHlTdHJva2VQ
YXR0ZXJuOgorICAgICAgICByZXR1cm4gc2l6ZW9mKEFwcGx5U3Ryb2tlUGF0dGVybik7CisgICAg
Y2FzZSBJdGVtVHlwZTo6QXBwbHlGaWxsUGF0dGVybjoKKyAgICAgICAgcmV0dXJuIHNpemVvZihB
cHBseUZpbGxQYXR0ZXJuKTsKKyNlbmRpZgorICAgIGNhc2UgSXRlbVR5cGU6OkFwcGx5RGV2aWNl
U2NhbGVGYWN0b3I6CisgICAgICAgIHJldHVybiBzaXplb2YoQXBwbHlEZXZpY2VTY2FsZUZhY3Rv
cik7CisgICAgfQorICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiAwOworfQor
Citib29sIGlzRHJhd2luZ0l0ZW0oSXRlbVR5cGUgdHlwZSkKK3sKKyAgICBzd2l0Y2ggKHR5cGUp
IHsKKyAgICBjYXNlIEl0ZW1UeXBlOjpBcHBseURldmljZVNjYWxlRmFjdG9yOgorI2lmIFVTRShD
RykKKyAgICBjYXNlIEl0ZW1UeXBlOjpBcHBseUZpbGxQYXR0ZXJuOgorICAgIGNhc2UgSXRlbVR5
cGU6OkFwcGx5U3Ryb2tlUGF0dGVybjoKKyNlbmRpZgorICAgIGNhc2UgSXRlbVR5cGU6OkNsZWFy
U2hhZG93OgorICAgIGNhc2UgSXRlbVR5cGU6OkNsaXA6CisgICAgY2FzZSBJdGVtVHlwZTo6Q2xp
cE91dDoKKyAgICBjYXNlIEl0ZW1UeXBlOjpDbGlwT3V0VG9QYXRoOgorICAgIGNhc2UgSXRlbVR5
cGU6OkNsaXBQYXRoOgorICAgIGNhc2UgSXRlbVR5cGU6OkNsaXBUb0RyYXdpbmdDb21tYW5kczoK
KyAgICBjYXNlIEl0ZW1UeXBlOjpDb25jYXRlbmF0ZUNUTToKKyAgICBjYXNlIEl0ZW1UeXBlOjpS
ZXN0b3JlOgorICAgIGNhc2UgSXRlbVR5cGU6OlJvdGF0ZToKKyAgICBjYXNlIEl0ZW1UeXBlOjpT
YXZlOgorICAgIGNhc2UgSXRlbVR5cGU6OlNjYWxlOgorICAgIGNhc2UgSXRlbVR5cGU6OlNldENU
TToKKyAgICBjYXNlIEl0ZW1UeXBlOjpTZXRJbmxpbmVGaWxsQ29sb3I6CisgICAgY2FzZSBJdGVt
VHlwZTo6U2V0SW5saW5lRmlsbEdyYWRpZW50OgorICAgIGNhc2UgSXRlbVR5cGU6OlNldElubGlu
ZVN0cm9rZUNvbG9yOgorICAgIGNhc2UgSXRlbVR5cGU6OlNldExpbmVDYXA6CisgICAgY2FzZSBJ
dGVtVHlwZTo6U2V0TGluZURhc2g6CisgICAgY2FzZSBJdGVtVHlwZTo6U2V0TGluZUpvaW46Cisg
ICAgY2FzZSBJdGVtVHlwZTo6U2V0TWl0ZXJMaW1pdDoKKyAgICBjYXNlIEl0ZW1UeXBlOjpTZXRT
dGF0ZToKKyAgICBjYXNlIEl0ZW1UeXBlOjpTZXRTdHJva2VUaGlja25lc3M6CisgICAgY2FzZSBJ
dGVtVHlwZTo6VHJhbnNsYXRlOgorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgY2FzZSBJdGVt
VHlwZTo6QmVnaW5UcmFuc3BhcmVuY3lMYXllcjoKKyAgICBjYXNlIEl0ZW1UeXBlOjpDbGVhclJl
Y3Q6CisgICAgY2FzZSBJdGVtVHlwZTo6RHJhd0RvdHNGb3JEb2N1bWVudE1hcmtlcjoKKyAgICBj
YXNlIEl0ZW1UeXBlOjpEcmF3RWxsaXBzZToKKyAgICBjYXNlIEl0ZW1UeXBlOjpEcmF3Rm9jdXNS
aW5nUGF0aDoKKyAgICBjYXNlIEl0ZW1UeXBlOjpEcmF3Rm9jdXNSaW5nUmVjdHM6CisgICAgY2Fz
ZSBJdGVtVHlwZTo6RHJhd0dseXBoczoKKyAgICBjYXNlIEl0ZW1UeXBlOjpEcmF3SW1hZ2U6Cisg
ICAgY2FzZSBJdGVtVHlwZTo6RHJhd0ltYWdlQnVmZmVyOgorICAgIGNhc2UgSXRlbVR5cGU6OkRy
YXdMaW5lOgorICAgIGNhc2UgSXRlbVR5cGU6OkRyYXdMaW5lc0ZvclRleHQ6CisgICAgY2FzZSBJ
dGVtVHlwZTo6RHJhd05hdGl2ZUltYWdlOgorICAgIGNhc2UgSXRlbVR5cGU6OkRyYXdQYXRoOgor
ICAgIGNhc2UgSXRlbVR5cGU6OkRyYXdQYXR0ZXJuOgorICAgIGNhc2UgSXRlbVR5cGU6OkRyYXdS
ZWN0OgorICAgIGNhc2UgSXRlbVR5cGU6OkRyYXdUaWxlZEltYWdlOgorICAgIGNhc2UgSXRlbVR5
cGU6OkRyYXdUaWxlZFNjYWxlZEltYWdlOgorICAgIGNhc2UgSXRlbVR5cGU6OkVuZFRyYW5zcGFy
ZW5jeUxheWVyOgorICAgIGNhc2UgSXRlbVR5cGU6OkZpbGxDb21wb3NpdGVkUmVjdDoKKyAgICBj
YXNlIEl0ZW1UeXBlOjpGaWxsRWxsaXBzZToKKyNpZiBFTkFCTEUoSU5MSU5FX1BBVEhfREFUQSkK
KyAgICBjYXNlIEl0ZW1UeXBlOjpGaWxsSW5saW5lUGF0aDoKKyNlbmRpZgorICAgIGNhc2UgSXRl
bVR5cGU6OkZpbGxQYXRoOgorICAgIGNhc2UgSXRlbVR5cGU6OkZpbGxSZWN0OgorICAgIGNhc2Ug
SXRlbVR5cGU6OkZpbGxSZWN0V2l0aENvbG9yOgorICAgIGNhc2UgSXRlbVR5cGU6OkZpbGxSZWN0
V2l0aEdyYWRpZW50OgorICAgIGNhc2UgSXRlbVR5cGU6OkZpbGxSZWN0V2l0aFJvdW5kZWRIb2xl
OgorICAgIGNhc2UgSXRlbVR5cGU6OkZpbGxSb3VuZGVkUmVjdDoKKyAgICBjYXNlIEl0ZW1UeXBl
OjpQYWludEZyYW1lRm9yTWVkaWE6CisgICAgY2FzZSBJdGVtVHlwZTo6UHV0SW1hZ2VEYXRhOgor
ICAgIGNhc2UgSXRlbVR5cGU6OlN0cm9rZUVsbGlwc2U6CisjaWYgRU5BQkxFKElOTElORV9QQVRI
X0RBVEEpCisgICAgY2FzZSBJdGVtVHlwZTo6U3Ryb2tlSW5saW5lUGF0aDoKKyNlbmRpZgorICAg
IGNhc2UgSXRlbVR5cGU6OlN0cm9rZVBhdGg6CisgICAgY2FzZSBJdGVtVHlwZTo6U3Ryb2tlUmVj
dDoKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgp
OworICAgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCBpc0lubGluZUl0ZW0oSXRlbVR5cGUgdHlw
ZSkKK3sKKyAgICBzd2l0Y2ggKHR5cGUpIHsKKyAgICBjYXNlIEl0ZW1UeXBlOjpDbGlwT3V0VG9Q
YXRoOgorICAgIGNhc2UgSXRlbVR5cGU6OkNsaXBQYXRoOgorICAgIGNhc2UgSXRlbVR5cGU6OkNs
aXBUb0RyYXdpbmdDb21tYW5kczoKKyAgICBjYXNlIEl0ZW1UeXBlOjpEcmF3Rm9jdXNSaW5nUGF0
aDoKKyAgICBjYXNlIEl0ZW1UeXBlOjpEcmF3Rm9jdXNSaW5nUmVjdHM6CisgICAgY2FzZSBJdGVt
VHlwZTo6RHJhd0dseXBoczoKKyAgICBjYXNlIEl0ZW1UeXBlOjpEcmF3SW1hZ2U6CisgICAgY2Fz
ZSBJdGVtVHlwZTo6RHJhd0ltYWdlQnVmZmVyOgorICAgIGNhc2UgSXRlbVR5cGU6OkRyYXdMaW5l
c0ZvclRleHQ6CisgICAgY2FzZSBJdGVtVHlwZTo6RHJhd05hdGl2ZUltYWdlOgorICAgIGNhc2Ug
SXRlbVR5cGU6OkRyYXdQYXRoOgorICAgIGNhc2UgSXRlbVR5cGU6OkRyYXdQYXR0ZXJuOgorICAg
IGNhc2UgSXRlbVR5cGU6OkRyYXdUaWxlZEltYWdlOgorICAgIGNhc2UgSXRlbVR5cGU6OkRyYXdU
aWxlZFNjYWxlZEltYWdlOgorICAgIGNhc2UgSXRlbVR5cGU6OkZpbGxDb21wb3NpdGVkUmVjdDoK
KyAgICBjYXNlIEl0ZW1UeXBlOjpGaWxsUGF0aDoKKyAgICBjYXNlIEl0ZW1UeXBlOjpGaWxsUmVj
dFdpdGhDb2xvcjoKKyAgICBjYXNlIEl0ZW1UeXBlOjpGaWxsUmVjdFdpdGhHcmFkaWVudDoKKyAg
ICBjYXNlIEl0ZW1UeXBlOjpGaWxsUmVjdFdpdGhSb3VuZGVkSG9sZToKKyAgICBjYXNlIEl0ZW1U
eXBlOjpGaWxsUm91bmRlZFJlY3Q6CisgICAgY2FzZSBJdGVtVHlwZTo6UHV0SW1hZ2VEYXRhOgor
ICAgIGNhc2UgSXRlbVR5cGU6OlNldExpbmVEYXNoOgorICAgIGNhc2UgSXRlbVR5cGU6OlNldFN0
YXRlOgorICAgIGNhc2UgSXRlbVR5cGU6OlN0cm9rZVBhdGg6CisgICAgICAgIHJldHVybiBmYWxz
ZTsKKyAgICBjYXNlIEl0ZW1UeXBlOjpBcHBseURldmljZVNjYWxlRmFjdG9yOgorI2lmIFVTRShD
RykKKyAgICBjYXNlIEl0ZW1UeXBlOjpBcHBseUZpbGxQYXR0ZXJuOgorICAgIGNhc2UgSXRlbVR5
cGU6OkFwcGx5U3Ryb2tlUGF0dGVybjoKKyNlbmRpZgorICAgIGNhc2UgSXRlbVR5cGU6OkJlZ2lu
VHJhbnNwYXJlbmN5TGF5ZXI6CisgICAgY2FzZSBJdGVtVHlwZTo6Q2xlYXJSZWN0OgorICAgIGNh
c2UgSXRlbVR5cGU6OkNsZWFyU2hhZG93OgorICAgIGNhc2UgSXRlbVR5cGU6OkNsaXA6CisgICAg
Y2FzZSBJdGVtVHlwZTo6Q2xpcE91dDoKKyAgICBjYXNlIEl0ZW1UeXBlOjpDb25jYXRlbmF0ZUNU
TToKKyAgICBjYXNlIEl0ZW1UeXBlOjpEcmF3RG90c0ZvckRvY3VtZW50TWFya2VyOgorICAgIGNh
c2UgSXRlbVR5cGU6OkRyYXdFbGxpcHNlOgorICAgIGNhc2UgSXRlbVR5cGU6OkRyYXdMaW5lOgor
ICAgIGNhc2UgSXRlbVR5cGU6OkRyYXdSZWN0OgorICAgIGNhc2UgSXRlbVR5cGU6OkVuZFRyYW5z
cGFyZW5jeUxheWVyOgorICAgIGNhc2UgSXRlbVR5cGU6OkZpbGxFbGxpcHNlOgorI2lmIEVOQUJM
RShJTkxJTkVfUEFUSF9EQVRBKQorICAgIGNhc2UgSXRlbVR5cGU6OkZpbGxJbmxpbmVQYXRoOgor
I2VuZGlmCisgICAgY2FzZSBJdGVtVHlwZTo6RmlsbFJlY3Q6CisgICAgY2FzZSBJdGVtVHlwZTo6
UGFpbnRGcmFtZUZvck1lZGlhOgorICAgIGNhc2UgSXRlbVR5cGU6OlJlc3RvcmU6CisgICAgY2Fz
ZSBJdGVtVHlwZTo6Um90YXRlOgorICAgIGNhc2UgSXRlbVR5cGU6OlNhdmU6CisgICAgY2FzZSBJ
dGVtVHlwZTo6U2NhbGU6CisgICAgY2FzZSBJdGVtVHlwZTo6U2V0Q1RNOgorICAgIGNhc2UgSXRl
bVR5cGU6OlNldElubGluZUZpbGxDb2xvcjoKKyAgICBjYXNlIEl0ZW1UeXBlOjpTZXRJbmxpbmVG
aWxsR3JhZGllbnQ6CisgICAgY2FzZSBJdGVtVHlwZTo6U2V0SW5saW5lU3Ryb2tlQ29sb3I6Cisg
ICAgY2FzZSBJdGVtVHlwZTo6U2V0TGluZUNhcDoKKyAgICBjYXNlIEl0ZW1UeXBlOjpTZXRMaW5l
Sm9pbjoKKyAgICBjYXNlIEl0ZW1UeXBlOjpTZXRNaXRlckxpbWl0OgorICAgIGNhc2UgSXRlbVR5
cGU6OlNldFN0cm9rZVRoaWNrbmVzczoKKyAgICBjYXNlIEl0ZW1UeXBlOjpTdHJva2VFbGxpcHNl
OgorI2lmIEVOQUJMRShJTkxJTkVfUEFUSF9EQVRBKQorICAgIGNhc2UgSXRlbVR5cGU6OlN0cm9r
ZUlubGluZVBhdGg6CisjZW5kaWYKKyAgICBjYXNlIEl0ZW1UeXBlOjpTdHJva2VSZWN0OgorICAg
IGNhc2UgSXRlbVR5cGU6OlRyYW5zbGF0ZToKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQor
ICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiBmYWxzZTsKK30KKworfSAvLyBu
YW1lc3BhY2UgRGlzcGxheUxpc3QKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlz
dEl0ZW1UeXBlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlz
dHMvRGlzcGxheUxpc3RJdGVtVHlwZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNlNGY4NTc5YWM4NzdiYjg4M2I0
OTYzMzMyN2ZhNzhjMjMxNzFjYzYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RJdGVtVHlwZS5oCkBAIC0w
LDAgKzEsMTAzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKK25hbWVzcGFjZSBEaXNwbGF5TGlzdCB7CisKK2VudW0gY2xhc3MgSXRlbVR5cGUgOiB1
aW50OF90IHsKKyAgICBTYXZlLAorICAgIFJlc3RvcmUsCisgICAgVHJhbnNsYXRlLAorICAgIFJv
dGF0ZSwKKyAgICBTY2FsZSwKKyAgICBDb25jYXRlbmF0ZUNUTSwKKyAgICBTZXRDVE0sCisgICAg
U2V0SW5saW5lRmlsbEdyYWRpZW50LAorICAgIFNldElubGluZUZpbGxDb2xvciwKKyAgICBTZXRJ
bmxpbmVTdHJva2VDb2xvciwKKyAgICBTZXRTdHJva2VUaGlja25lc3MsCisgICAgU2V0U3RhdGUs
CisgICAgU2V0TGluZUNhcCwKKyAgICBTZXRMaW5lRGFzaCwKKyAgICBTZXRMaW5lSm9pbiwKKyAg
ICBTZXRNaXRlckxpbWl0LAorICAgIENsZWFyU2hhZG93LAorICAgIENsaXAsCisgICAgQ2xpcE91
dCwKKyAgICBDbGlwT3V0VG9QYXRoLAorICAgIENsaXBQYXRoLAorICAgIENsaXBUb0RyYXdpbmdD
b21tYW5kcywKKyAgICBEcmF3R2x5cGhzLAorICAgIERyYXdJbWFnZSwKKyAgICBEcmF3VGlsZWRJ
bWFnZSwKKyAgICBEcmF3VGlsZWRTY2FsZWRJbWFnZSwKKyAgICBEcmF3SW1hZ2VCdWZmZXIsCisg
ICAgRHJhd05hdGl2ZUltYWdlLAorICAgIERyYXdQYXR0ZXJuLAorICAgIERyYXdSZWN0LAorICAg
IERyYXdMaW5lLAorICAgIERyYXdMaW5lc0ZvclRleHQsCisgICAgRHJhd0RvdHNGb3JEb2N1bWVu
dE1hcmtlciwKKyAgICBEcmF3RWxsaXBzZSwKKyAgICBEcmF3UGF0aCwKKyAgICBEcmF3Rm9jdXNS
aW5nUGF0aCwKKyAgICBEcmF3Rm9jdXNSaW5nUmVjdHMsCisgICAgRmlsbFJlY3QsCisgICAgRmls
bFJlY3RXaXRoQ29sb3IsCisgICAgRmlsbFJlY3RXaXRoR3JhZGllbnQsCisgICAgRmlsbENvbXBv
c2l0ZWRSZWN0LAorICAgIEZpbGxSb3VuZGVkUmVjdCwKKyAgICBGaWxsUmVjdFdpdGhSb3VuZGVk
SG9sZSwKKyNpZiBFTkFCTEUoSU5MSU5FX1BBVEhfREFUQSkKKyAgICBGaWxsSW5saW5lUGF0aCwK
KyNlbmRpZgorICAgIEZpbGxQYXRoLAorICAgIEZpbGxFbGxpcHNlLAorICAgIFB1dEltYWdlRGF0
YSwKKyAgICBQYWludEZyYW1lRm9yTWVkaWEsCisgICAgU3Ryb2tlUmVjdCwKKyNpZiBFTkFCTEUo
SU5MSU5FX1BBVEhfREFUQSkKKyAgICBTdHJva2VJbmxpbmVQYXRoLAorI2VuZGlmCisgICAgU3Ry
b2tlUGF0aCwKKyAgICBTdHJva2VFbGxpcHNlLAorICAgIENsZWFyUmVjdCwKKyAgICBCZWdpblRy
YW5zcGFyZW5jeUxheWVyLAorICAgIEVuZFRyYW5zcGFyZW5jeUxheWVyLAorI2lmIFVTRShDRykK
KyAgICBBcHBseVN0cm9rZVBhdHRlcm4sIC8vIEZJWE1FOiBzaG91bGQgbm90IGJlIGEgcmVjb3Jk
ZWQgaXRlbS4KKyAgICBBcHBseUZpbGxQYXR0ZXJuLCAvLyBGSVhNRTogc2hvdWxkIG5vdCBiZSBh
IHJlY29yZGVkIGl0ZW0uCisjZW5kaWYKKyAgICBBcHBseURldmljZVNjYWxlRmFjdG9yLAorfTsK
KworV0VCQ09SRV9FWFBPUlQgc2l6ZV90IHNpemVPZkl0ZW1JbkJ5dGVzKEl0ZW1UeXBlKTsKK1dF
QkNPUkVfRVhQT1JUIGJvb2wgaXNJbmxpbmVJdGVtKEl0ZW1UeXBlKTsKK1dFQkNPUkVfRVhQT1JU
IGJvb2wgaXNEcmF3aW5nSXRlbShJdGVtVHlwZSk7CisKK30gLy8gbmFtZXNwYWNlIERpc3BsYXlM
aXN0Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RSZWNvcmRlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RS
ZWNvcmRlci5jcHAKaW5kZXggZDE0MmMzNzc5Y2I5OTNlNzM3MmJiOGI4ODg3ZmNjNGM3NTJmZTk4
OS4uYmY1YjgzYjIyYzNmNGM3MjU4MWU2OGI5YTUyZDc3MzAyZDI4Mjk0ZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0
UmVjb3JkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3Bs
YXlsaXN0cy9EaXNwbGF5TGlzdFJlY29yZGVyLmNwcApAQCAtMTA0LDE0ICsxMDQsMTQgQEAgdm9p
ZCBSZWNvcmRlcjo6YXBwZW5kU3RhdGVDaGFuZ2VJdGVtKGNvbnN0IEdyYXBoaWNzQ29udGV4dFN0
YXRlQ2hhbmdlJiBjaGFuZ2VzLAogICAgICAgICBtX2Rpc3BsYXlMaXN0LmFwcGVuZEl0ZW0oU2V0
SW5saW5lRmlsbEdyYWRpZW50OjpjcmVhdGUoKmNoYW5nZXMubV9zdGF0ZS5maWxsR3JhZGllbnQp
KTsKIH0KIAotdm9pZCBSZWNvcmRlcjo6d2lsbEFwcGVuZEl0ZW0oY29uc3QgSXRlbSYgaXRlbSkK
K3ZvaWQgUmVjb3JkZXI6OndpbGxBcHBlbmRJdGVtT2ZUeXBlKEl0ZW1UeXBlIHR5cGUpCiB7CiAg
ICAgaWYgKG1fZGVsZWdhdGUpCi0gICAgICAgIG1fZGVsZWdhdGUtPndpbGxBcHBlbmRJdGVtKGl0
ZW0pOworICAgICAgICBtX2RlbGVnYXRlLT53aWxsQXBwZW5kSXRlbU9mVHlwZSh0eXBlKTsKIAot
ICAgIGlmIChpdGVtLmlzRHJhd2luZ0l0ZW0oKQorICAgIGlmIChpc0RyYXdpbmdJdGVtKHR5cGUp
CiAjaWYgVVNFKENHKQotICAgICAgICB8fCBpdGVtLnR5cGUoKSA9PSBJdGVtVHlwZTo6QXBwbHlT
dHJva2VQYXR0ZXJuIHx8IGl0ZW0udHlwZSgpID09IEl0ZW1UeXBlOjpBcHBseVN0cm9rZVBhdHRl
cm4KKyAgICAgICAgfHwgdHlwZSA9PSBJdGVtVHlwZTo6QXBwbHlTdHJva2VQYXR0ZXJuIHx8IHR5
cGUgPT0gSXRlbVR5cGU6OkFwcGx5U3Ryb2tlUGF0dGVybgogI2VuZGlmCiAgICAgKSB7CiAgICAg
ICAgIEdyYXBoaWNzQ29udGV4dFN0YXRlQ2hhbmdlJiBzdGF0ZUNoYW5nZXMgPSBjdXJyZW50U3Rh
dGUoKS5zdGF0ZUNoYW5nZTsKQEAgLTEyNiwxMCArMTI2LDEwIEBAIHZvaWQgUmVjb3JkZXI6Ondp
bGxBcHBlbmRJdGVtKGNvbnN0IEl0ZW0mIGl0ZW0pCiAgICAgfQogfQogCi12b2lkIFJlY29yZGVy
OjpkaWRBcHBlbmRJdGVtKGNvbnN0IEl0ZW0mIGl0ZW0pCit2b2lkIFJlY29yZGVyOjpkaWRBcHBl
bmRJdGVtT2ZUeXBlKEl0ZW1UeXBlIHR5cGUpCiB7CiAgICAgaWYgKG1fZGVsZWdhdGUpCi0gICAg
ICAgIG1fZGVsZWdhdGUtPmRpZEFwcGVuZEl0ZW0oaXRlbSk7CisgICAgICAgIG1fZGVsZWdhdGUt
PmRpZEFwcGVuZEl0ZW1PZlR5cGUodHlwZSk7CiB9CiAKIHZvaWQgUmVjb3JkZXI6OnVwZGF0ZVN0
YXRlKGNvbnN0IEdyYXBoaWNzQ29udGV4dFN0YXRlJiBzdGF0ZSwgR3JhcGhpY3NDb250ZXh0U3Rh
dGU6OlN0YXRlQ2hhbmdlRmxhZ3MgZmxhZ3MpCkBAIC00NzUsOSArNDc1LDEwIEBAIHZvaWQgUmVj
b3JkZXI6OmFwcGVuZEl0ZW1BbmRVcGRhdGVFeHRlbnQoUmVmPERyYXdpbmdJdGVtPiYmIGl0ZW0p
CiB2b2lkIFJlY29yZGVyOjphcHBlbmRJdGVtKFJlZjxJdGVtPiYmIGl0ZW0pCiB7CiAgICAgSXRl
bSYgbmV3SXRlbSA9IGl0ZW0uZ2V0KCk7Ci0gICAgd2lsbEFwcGVuZEl0ZW0oaXRlbS5nZXQoKSk7
CisgICAgYXV0byB0eXBlID0gbmV3SXRlbS50eXBlKCk7CisgICAgd2lsbEFwcGVuZEl0ZW1PZlR5
cGUodHlwZSk7CiAgICAgbV9kaXNwbGF5TGlzdC5hcHBlbmQoV1RGTW92ZShpdGVtKSk7Ci0gICAg
ZGlkQXBwZW5kSXRlbShuZXdJdGVtKTsKKyAgICBkaWRBcHBlbmRJdGVtT2ZUeXBlKHR5cGUpOwog
fQogCiB2b2lkIFJlY29yZGVyOjp1cGRhdGVJdGVtRXh0ZW50KERyYXdpbmdJdGVtJiBpdGVtKSBj
b25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxh
eWxpc3RzL0Rpc3BsYXlMaXN0UmVjb3JkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdFJlY29yZGVyLmgKaW5kZXggMzQxNWMzMTdh
ZTIwMDY1YjQzNzQ0ODllOTFlMDhhYTAzYWQxNDE1MC4uOTJjMDUxM2E3ZjljNmJjYTUyNTA0NDhm
MzA4M2ZkZTFjZDY2ZDg5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0UmVjb3JkZXIuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RSZWNvcmRlci5o
CkBAIC02Niw4ICs2Niw4IEBAIHB1YmxpYzoKICAgICBwdWJsaWM6CiAgICAgICAgIHZpcnR1YWwg
fkRlbGVnYXRlKCkgeyB9CiAgICAgICAgIHZpcnR1YWwgYm9vbCBsb2NrUmVtb3RlSW1hZ2VCdWZm
ZXIoV2ViQ29yZTo6SW1hZ2VCdWZmZXImKSB7IHJldHVybiBmYWxzZTsgfQotICAgICAgICB2aXJ0
dWFsIHZvaWQgd2lsbEFwcGVuZEl0ZW0oY29uc3QgSXRlbSYpIHsgfTsKLSAgICAgICAgdmlydHVh
bCB2b2lkIGRpZEFwcGVuZEl0ZW0oY29uc3QgSXRlbSYpIHsgfTsKKyAgICAgICAgdmlydHVhbCB2
b2lkIHdpbGxBcHBlbmRJdGVtT2ZUeXBlKEl0ZW1UeXBlKSB7IH0KKyAgICAgICAgdmlydHVhbCB2
b2lkIGRpZEFwcGVuZEl0ZW1PZlR5cGUoSXRlbVR5cGUpIHsgfQogICAgIH07CiAKIHByaXZhdGU6
CkBAIC0xNDksOCArMTQ5LDggQEAgcHJpdmF0ZToKICAgICBGbG9hdFJlY3Qgcm91bmRUb0Rldmlj
ZVBpeGVscyhjb25zdCBGbG9hdFJlY3QmLCBHcmFwaGljc0NvbnRleHQ6OlJvdW5kaW5nTW9kZSkg
b3ZlcnJpZGU7CiAKICAgICB2b2lkIGFwcGVuZEl0ZW0oUmVmPEl0ZW0+JiYpOwotICAgIHZvaWQg
d2lsbEFwcGVuZEl0ZW0oY29uc3QgSXRlbSYpOwotICAgIHZvaWQgZGlkQXBwZW5kSXRlbShjb25z
dCBJdGVtJik7CisgICAgdm9pZCB3aWxsQXBwZW5kSXRlbU9mVHlwZShJdGVtVHlwZSk7CisgICAg
dm9pZCBkaWRBcHBlbmRJdGVtT2ZUeXBlKEl0ZW1UeXBlKTsKICAgICB2b2lkIGFwcGVuZEl0ZW1B
bmRVcGRhdGVFeHRlbnQoUmVmPERyYXdpbmdJdGVtPiYmKTsKIAogICAgIHZvaWQgYXBwZW5kU3Rh
dGVDaGFuZ2VJdGVtKGNvbnN0IEdyYXBoaWNzQ29udGV4dFN0YXRlQ2hhbmdlJiwgR3JhcGhpY3ND
b250ZXh0U3RhdGU6OlN0YXRlQ2hhbmdlRmxhZ3MpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9QbGF0Zm9ybS9JUEMvRGVjb2Rlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9E
ZWNvZGVyLmNwcAppbmRleCA1Y2EyMTI3YTM0NmNkMmE0NjljYTI5N2Y0YWIxMzkwMmY2YTA2Zjhh
Li41MWI5ZmZkOTMwMzQwYmRmZjJmYjcxZDBlNDZjYWNmNDA5MzQ2NTMxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9EZWNvZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L1BsYXRmb3JtL0lQQy9EZWNvZGVyLmNwcApAQCAtNzQsNiArNzQsMTYgQEAgRGVjb2Rlcjo6RGVj
b2Rlcihjb25zdCB1aW50OF90KiBidWZmZXIsIHNpemVfdCBidWZmZXJTaXplLCB2b2lkICgqYnVm
ZmVyRGVhbGxvY2EKICAgICAgICAgcmV0dXJuOwogfQogCitEZWNvZGVyOjpEZWNvZGVyKGNvbnN0
IHVpbnQ4X3QqIGJ1ZmZlciwgc2l6ZV90IGJ1ZmZlclNpemUsIENvbnN0cnVjdFdpdGhvdXRIZWFk
ZXJUYWcpCisgICAgOiBtX2J1ZmZlciB7IGJ1ZmZlciB9CisgICAgLCBtX2J1ZmZlclBvcyB7IG1f
YnVmZmVyIH0KKyAgICAsIG1fYnVmZmVyRW5kIHsgbV9idWZmZXIgKyBidWZmZXJTaXplIH0KKyAg
ICAsIG1fYnVmZmVyRGVhbGxvY2F0b3IoW10gKGNvbnN0IHVpbnQ4X3QqLCBzaXplX3QpIHsgfSkK
K3sKKyAgICBpZiAocmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KG1fYnVmZmVyKSAlIGFsaWdu
b2YodWludDY0X3QpKQorICAgICAgICBtYXJrSW52YWxpZCgpOworfQorCiBEZWNvZGVyOjp+RGVj
b2RlcigpCiB7CiAgICAgQVNTRVJUKG1fYnVmZmVyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvUGxhdGZvcm0vSVBDL0RlY29kZXIuaCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0Rl
Y29kZXIuaAppbmRleCAzZGQyNDY5NmVmNmNhN2RjOTdkMDEzYTBmZTg3NWQ3YmQ0N2RlMzBhLi5i
MGNhYmVlYmI4Njk4MmRiNWZhM2NhNjA3OWE4ZTIzM2RmY2Q4MTRlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9EZWNvZGVyLmgKKysrIGIvU291cmNlL1dlYktpdC9QbGF0
Zm9ybS9JUEMvRGVjb2Rlci5oCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiTWVzc2FnZU5h
bWVzLmgiCiAjaW5jbHVkZSAiU3RyaW5nUmVmZXJlbmNlLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9D
b250ZXh0TWVudUl0ZW0uaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1NoYXJlZEJ1ZmZlci5oPgogI2lu
Y2x1ZGUgPHd0Zi9PcHRpb25TZXQuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKQEAgLTE3
Myw3ICsxNzQsMjIgQEAgcHVibGljOgogCiAgICAgc3RhdGljIGNvbnN0IGJvb2wgaXNJUENEZWNv
ZGVyID0gdHJ1ZTsKIAorICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgorICAgIHN0YXRpYyBPcHRp
b25hbDxUPiBkZWNvZGVTaW5nbGVPYmplY3QoY29uc3QgdWludDhfdCogc291cmNlLCBzaXplX3Qg
bnVtYmVyT2ZCeXRlcykKKyAgICB7CisgICAgICAgIE9wdGlvbmFsPFQ+IHJlc3VsdDsKKyAgICAg
ICAgRGVjb2RlciBkZWNvZGVyKHNvdXJjZSwgbnVtYmVyT2ZCeXRlcywgQ29uc3RydWN0V2l0aG91
dEhlYWRlcik7CisgICAgICAgIGlmICghZGVjb2Rlci5pc1ZhbGlkKCkpCisgICAgICAgICAgICBy
ZXR1cm4gV1RGOjpudWxsb3B0OworCisgICAgICAgIGRlY29kZXIgPj4gcmVzdWx0OworICAgICAg
ICByZXR1cm4gcmVzdWx0OworICAgIH0KKwogcHJpdmF0ZToKKyAgICBlbnVtIENvbnN0cnVjdFdp
dGhvdXRIZWFkZXJUYWcgeyBDb25zdHJ1Y3RXaXRob3V0SGVhZGVyIH07CisgICAgRGVjb2Rlcihj
b25zdCB1aW50OF90KiBidWZmZXIsIHNpemVfdCBidWZmZXJTaXplLCBDb25zdHJ1Y3RXaXRob3V0
SGVhZGVyVGFnKTsKKwogICAgIGJvb2wgYWxpZ25CdWZmZXJQb3NpdGlvbihzaXplX3QgYWxpZ25t
ZW50LCBzaXplX3QpOwogICAgIGJvb2wgYnVmZmVySXNMYXJnZUVub3VnaFRvQ29udGFpbihzaXpl
X3QgYWxpZ25tZW50LCBzaXplX3QpIGNvbnN0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1BsYXRmb3JtL0lQQy9FbmNvZGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0Vu
Y29kZXIuY3BwCmluZGV4IDg3ZmU5NTU1MmFjNjA1MmRiY2Q3NmU0OTBkNGFiNmE2NjJlYzhhZDQu
LmZkNDA5MDc3NGIyYmMyYTc2MjliOWMwMmRjNTU0YzRjZGM5OGY1Y2IgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0VuY29kZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
UGxhdGZvcm0vSVBDL0VuY29kZXIuY3BwCkBAIC03Miw2ICs3MiwxNiBAQCBFbmNvZGVyOjpFbmNv
ZGVyKE1lc3NhZ2VOYW1lIG1lc3NhZ2VOYW1lLCB1aW50NjRfdCBkZXN0aW5hdGlvbklEKQogICAg
IGVuY29kZUhlYWRlcigpOwogfQogCitFbmNvZGVyOjpFbmNvZGVyKENvbnN0cnVjdFdpdGhvdXRI
ZWFkZXJUYWcpCisgICAgOiBtX21lc3NhZ2VOYW1lKCkKKyAgICAsIG1fZGVzdGluYXRpb25JRCgw
KQorICAgICwgbV9idWZmZXIobV9pbmxpbmVCdWZmZXIpCisgICAgLCBtX2J1ZmZlclBvaW50ZXIo
bV9pbmxpbmVCdWZmZXIpCisgICAgLCBtX2J1ZmZlclNpemUoMCkKKyAgICAsIG1fYnVmZmVyQ2Fw
YWNpdHkoc2l6ZW9mKG1faW5saW5lQnVmZmVyKSkKK3sKK30KKwogRW5jb2Rlcjo6fkVuY29kZXIo
KQogewogICAgIGlmIChtX2J1ZmZlciAhPSBtX2lubGluZUJ1ZmZlcikKQEAgLTIxOSw3ICsyMjks
MTIgQEAgdm9pZCBFbmNvZGVyOjphZGRBdHRhY2htZW50KEF0dGFjaG1lbnQmJiBhdHRhY2htZW50
KQogCiBWZWN0b3I8QXR0YWNobWVudD4gRW5jb2Rlcjo6cmVsZWFzZUF0dGFjaG1lbnRzKCkKIHsK
LSAgICByZXR1cm4gV1RGTW92ZShtX2F0dGFjaG1lbnRzKTsKKyAgICByZXR1cm4gc3RkOjpleGNo
YW5nZShtX2F0dGFjaG1lbnRzLCB7IH0pOworfQorCitib29sIEVuY29kZXI6Omhhc0F0dGFjaG1l
bnRzKCkgY29uc3QKK3sKKyAgICByZXR1cm4gIW1fYXR0YWNobWVudHMuaXNFbXB0eSgpOwogfQog
CiB9IC8vIG5hbWVzcGFjZSBJUEMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0v
SVBDL0VuY29kZXIuaCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0VuY29kZXIuaAppbmRl
eCAzNjc4ZDRmYWUyOTE1MmQ5OTBmNGQzYTRmMGI3ZTBhZjZjZjc0NzJiLi4wZWNmNTQxZjc3ODU4
NTM2ZjFmY2ZhODM2Yjc2ZjI0ODJlNGM5YTExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1Bs
YXRmb3JtL0lQQy9FbmNvZGVyLmgKKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvRW5j
b2Rlci5oCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiTWVzc2FnZU5hbWVzLmgiCiAjaW5j
bHVkZSAiU3RyaW5nUmVmZXJlbmNlLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9Db250ZXh0TWVudUl0
ZW0uaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1NoYXJlZEJ1ZmZlci5oPgogI2luY2x1ZGUgPHd0Zi9P
cHRpb25TZXQuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKQEAgLTk5LDcgKzEwMCwyNCBA
QCBwdWJsaWM6CiAKICAgICBzdGF0aWMgY29uc3QgYm9vbCBpc0lQQ0VuY29kZXIgPSB0cnVlOwog
CisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4KKyAgICBzdGF0aWMgUmVmUHRyPFdlYkNvcmU6OlNo
YXJlZEJ1ZmZlcj4gZW5jb2RlU2luZ2xlT2JqZWN0KGNvbnN0IFQmIG9iamVjdCkKKyAgICB7Cisg
ICAgICAgIEVuY29kZXIgZW5jb2RlcihDb25zdHJ1Y3RXaXRob3V0SGVhZGVyKTsKKyAgICAgICAg
ZW5jb2RlciA8PCBvYmplY3Q7CisKKyAgICAgICAgaWYgKGVuY29kZXIuaGFzQXR0YWNobWVudHMo
KSkgeworICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgICAgICByZXR1
cm4gbnVsbHB0cjsKKyAgICAgICAgfQorCisgICAgICAgIHJldHVybiBXZWJDb3JlOjpTaGFyZWRC
dWZmZXI6OmNyZWF0ZShlbmNvZGVyLmJ1ZmZlcigpLCBlbmNvZGVyLmJ1ZmZlclNpemUoKSk7Cisg
ICAgfQorCiBwcml2YXRlOgorICAgIGVudW0gQ29uc3RydWN0V2l0aG91dEhlYWRlclRhZyB7IENv
bnN0cnVjdFdpdGhvdXRIZWFkZXIgfTsKKyAgICBFbmNvZGVyKENvbnN0cnVjdFdpdGhvdXRIZWFk
ZXJUYWcpOworCiAgICAgdWludDhfdCogZ3JvdyhzaXplX3QgYWxpZ25tZW50LCBzaXplX3QpOwog
CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgRSwgc3RkOjplbmFibGVfaWZfdDxzdGQ6OmlzX2VudW08
RT46OnZhbHVlPiogPSBudWxscHRyPgpAQCAtMTA5LDYgKzEyNyw4IEBAIHByaXZhdGU6CiAgICAg
ICAgIGVuY29kZShXVEY6OmVudW1Ub1VuZGVybHlpbmdUeXBlPEU+KGVudW1WYWx1ZSkpOwogICAg
IH0KIAorICAgIGJvb2wgaGFzQXR0YWNobWVudHMoKSBjb25zdDsKKwogICAgIHZvaWQgZW5jb2Rl
SGVhZGVyKCk7CiAgICAgY29uc3QgT3B0aW9uU2V0PE1lc3NhZ2VGbGFncz4mIG1lc3NhZ2VGbGFn
cygpIGNvbnN0OwogICAgIE9wdGlvblNldDxNZXNzYWdlRmxhZ3M+JiBtZXNzYWdlRmxhZ3MoKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVtb3Rl
SW1hZ2VCdWZmZXJQcm94eS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGlj
cy9SZW1vdGVJbWFnZUJ1ZmZlclByb3h5LmgKaW5kZXggNWNhNTk2Njg0YTNkYWE2OTk4YzA2ZWY4
OTkzZmQwMWQyODc4NzIxZi4uYmM0MTFkNmRiZjUyY2FmOGIyYzExZmM3YTRiYjM4OGE2YmNiMDg4
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9SZW1v
dGVJbWFnZUJ1ZmZlclByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9n
cmFwaGljcy9SZW1vdGVJbWFnZUJ1ZmZlclByb3h5LmgKQEAgLTE3Myw3ICsxNzMsNyBAQCBwcm90
ZWN0ZWQ6CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KIAotICAgIHZvaWQgd2lsbEFwcGVu
ZEl0ZW0oY29uc3QgV2ViQ29yZTo6RGlzcGxheUxpc3Q6Okl0ZW0mKSBvdmVycmlkZQorICAgIHZv
aWQgd2lsbEFwcGVuZEl0ZW1PZlR5cGUoV2ViQ29yZTo6RGlzcGxheUxpc3Q6Okl0ZW1UeXBlKSBv
dmVycmlkZQogICAgIHsKICAgICAgICAgY29uc3RleHByIHNpemVfdCBEaXNwbGF5TGlzdEJhdGNo
U2l6ZSA9IDUxMjsKICAgICAgICAgYXV0byYgZGlzcGxheUxpc3QgPSBtX2RyYXdpbmdDb250ZXh0
LmRpc3BsYXlMaXN0KCk7CkBAIC0xODUsOSArMTg1LDkgQEAgcHJvdGVjdGVkOgogICAgICAgICBk
aXNwbGF5TGlzdC5jbGVhcigpOwogICAgIH0KIAotICAgIHZvaWQgZGlkQXBwZW5kSXRlbShjb25z
dCBXZWJDb3JlOjpEaXNwbGF5TGlzdDo6SXRlbSYgaXRlbSkgb3ZlcnJpZGUKKyAgICB2b2lkIGRp
ZEFwcGVuZEl0ZW1PZlR5cGUoV2ViQ29yZTo6RGlzcGxheUxpc3Q6Okl0ZW1UeXBlIHR5cGUpIG92
ZXJyaWRlCiAgICAgewotICAgICAgICBpZiAoaXRlbS50eXBlKCkgPT0gV2ViQ29yZTo6RGlzcGxh
eUxpc3Q6Okl0ZW1UeXBlOjpEcmF3SW1hZ2VCdWZmZXIpCisgICAgICAgIGlmICh0eXBlID09IFdl
YkNvcmU6OkRpc3BsYXlMaXN0OjpJdGVtVHlwZTo6RHJhd0ltYWdlQnVmZmVyKQogICAgICAgICAg
ICAgZmx1c2hEcmF3aW5nQ29udGV4dCgpOwogICAgIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>413085</attachid>
            <date>2020-11-03 11:42:05 -0800</date>
            <delta_ts>2020-11-03 13:08:44 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218518-20201103114204.patch</filename>
            <type>text/plain</type>
            <size>30321</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5MzE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmM1NzU0Njg0OTQ3NDU1
YjU3ZTZlZTcxZTczMjE1ZmRmNjVlY2ZkNy4uMmI3ODdiNGNiMjkwMWRkNjMyMjFiM2U5NjQzMDU3
N2ViNjk3M2M0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxIEBACisyMDIwLTExLTAzICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFJlcGxhY2UgRGlz
cGxheUxpc3Q6OlJlY29yZGVyOjpEZWxlZ2F0ZTo6KHdpbGx8ZGlkKUFwcGVuZEl0ZW0gd2l0aCAo
d2lsbHxkaWQpQXBwZW5kSXRlbU9mVHlwZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjE4NTE4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgSW4gcHJlcGFyYXRpb24gZm9yIGxhcmdlciBjaGFuZ2VzIHRvIGRp
c3BsYXkgbGlzdHMgYW5kIGRpc3BsYXkgbGlzdCBpdGVtcyBpbiA8d2Via2l0Lm9yZy9iLzIxODQw
Nj4sIHJlcGxhY2UKKyAgICAgICAgYERpc3BsYXlMaXN0OjpSZWNvcmRlcjo6RGVsZWdhdGVgJ3Mg
YHdpbGxBcHBlbmRJdGVtYCBhbmQgYGRpZEFwcGVuZEl0ZW1gIGNsaWVudCBob29rcyB3aXRoCisg
ICAgICAgIGB3aWxsQXBwZW5kSXRlbU9mVHlwZWAgYW5kIGBkaWRBcHBlbmRJdGVtT2ZUeXBlYCBp
bnN0ZWFkLiBPbmNlIGFsbCBkaXNwbGF5IGxpc3QgaXRlbXMgYXJlIG5vIGxvbmdlciByZWYtY291
bnRlZAorICAgICAgICBvYmplY3RzIHRoYXQgaW5oZXJpdCBmcm9tIGBEaXNwbGF5TGlzdDo6SXRl
bWAsIHBsdW1iaW5nIHRoZXNlIGl0ZW1zIHRocm91Z2ggdmlydHVhbCBjbGllbnQgaG9va3Mgd2ls
bCBpbnRyb2R1Y2UKKyAgICAgICAgdW5uZWNlc3NhcnkgY29tcGxleGl0eSBhbmQgcnVudGltZSBv
dmVyaGVhZC4KKworICAgICAgICBJbnN0ZWFkLCB3ZSBjYW4gcmVmYWN0b3IgdGhlc2UgbWV0aG9k
cyB0byBvbmx5IHBhc3MgdGhlIHR5cGUgb2YgdGhlIGRpc3BsYXkgbGlzdCBpdGVtIGJlaW5nIGFw
cGVuZGVkOyB0aGlzIGlzCisgICAgICAgIGJlY2F1c2UgYWxsIGV4dGFudCBjbGllbnRzIHRoYXQg
aW1wbGVtZW50IHRoZXNlIGhvb2tzIG9ubHkgcmVxdWlyZSB0aGUgaXRlbSBmb3IgaXRzIGBJdGVt
VHlwZWAuCisKKyAgICAgICAgKiBIZWFkZXJzLmNtYWtlOgorCisgICAgICAgIFB1bGwgYERpc3Bs
YXlMaXN0OjpJdGVtVHlwZWAgb3V0IGludG8gYSBzZXBhcmF0ZSBoZWFkZXI6IGBEaXNwbGF5TGlz
dEl0ZW1UeXBlLmhgLiBUaGlzIGhlYWRlciBhZGRpdGlvbmFsbHkKKyAgICAgICAgY29udGFpbnMg
c2V2ZXJhbCBoZWxwZXIgZnVuY3Rpb25zIChgc2l6ZU9mSXRlbUluQnl0ZXNgLCBgaXNJbmxpbmVJ
dGVtYCwgYW5kIGBpc0RyYXdpbmdJdGVtYCkgdGhhdCBvcGVyYXRlIG9ubHkKKyAgICAgICAgb24g
YEl0ZW1UeXBlYHMsIHJhdGhlciB0aGFuIGl0ZW1zIHRoZW1zZWx2ZXMuCisKKyAgICAgICAgV2Ug
d2lsbCB1c2UgdGhlc2UgaGVscGVyIGZ1bmN0aW9ucyBhcyB3ZSB3b3JrIHRvd2FyZHMgPHdlYmtp
dC5vcmcvYi8yMTg0MDY+LgorCisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdEl0ZW1UeXBlLmNwcDogQWRkZWQuCisgICAgICAg
IChXZWJDb3JlOjpEaXNwbGF5TGlzdDo6c2l6ZU9mSXRlbUluQnl0ZXMpOgorICAgICAgICAoV2Vi
Q29yZTo6RGlzcGxheUxpc3Q6OmlzRHJhd2luZ0l0ZW0pOgorICAgICAgICAoV2ViQ29yZTo6RGlz
cGxheUxpc3Q6OmlzSW5saW5lSXRlbSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZGlz
cGxheWxpc3RzL0Rpc3BsYXlMaXN0SXRlbVR5cGUuaDogQWRkZWQuCisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0UmVjb3JkZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RGlzcGxheUxpc3Q6OlJlY29yZGVyOjp3aWxsQXBwZW5kSXRlbU9mVHlwZSk6
CisKKyAgICAgICAgVXNlIHRoZSBuZXcgYERpc3BsYXlMaXN0Ojppc0RyYXdpbmdJdGVtKEl0ZW1U
eXBlKWAgZnVuY3Rpb24gaGVyZSwgaW5zdGVhZCBvZiBjaGVja2luZyB3aGV0aGVyIHRoZSBpdGVt
IGlzIGEKKyAgICAgICAgc3ViY2xhc3Mgb2YgYERyYXdpbmdJdGVtYC4KKworICAgICAgICAoV2Vi
Q29yZTo6RGlzcGxheUxpc3Q6OlJlY29yZGVyOjpkaWRBcHBlbmRJdGVtT2ZUeXBlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpSZWNvcmRlcjo6YXBwZW5kSXRlbSk6CisgICAgICAg
IChXZWJDb3JlOjpEaXNwbGF5TGlzdDo6UmVjb3JkZXI6OndpbGxBcHBlbmRJdGVtKTogRGVsZXRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpSZWNvcmRlcjo6ZGlkQXBwZW5kSXRl
bSk6IERlbGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rp
c3BsYXlMaXN0UmVjb3JkZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpSZWNv
cmRlcjo6RGVsZWdhdGU6OndpbGxBcHBlbmRJdGVtT2ZUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6
OkRpc3BsYXlMaXN0OjpSZWNvcmRlcjo6RGVsZWdhdGU6OmRpZEFwcGVuZEl0ZW1PZlR5cGUpOgor
ICAgICAgICAoV2ViQ29yZTo6RGlzcGxheUxpc3Q6OlJlY29yZGVyOjpEZWxlZ2F0ZTo6d2lsbEFw
cGVuZEl0ZW0pOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6RGlzcGxheUxpc3Q6OlJlY29y
ZGVyOjpEZWxlZ2F0ZTo6ZGlkQXBwZW5kSXRlbSk6IERlbGV0ZWQuCisKIDIwMjAtMTEtMDMgIENv
bW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3
ZWQsIHJldmVydGluZyByMjY4NTY0LCByMjY4OTU3LCBhbmQgcjI2ODk2Mi4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXgg
ZThhNmRkNmZiZTY1MzhhMTEwMGEzOTk2MDE4ZDkwMGNiYjgxNTRjZC4uOTllNWI3NWJjMDQyYWQ2
YmRmZWRmMGU2MDE3OWVlNjFlZGQ5ODBjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAy
MC0xMS0wMyAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAgICAg
ICBSZXBsYWNlIERpc3BsYXlMaXN0OjpSZWNvcmRlcjo6RGVsZWdhdGU6Oih3aWxsfGRpZClBcHBl
bmRJdGVtIHdpdGggKHdpbGx8ZGlkKUFwcGVuZEl0ZW1PZlR5cGUKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxODUxOAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNlZSBXZWJDb3JlIENoYW5nZUxvZyBmb3Ig
bW9yZSBpbmZvcm1hdGlvbi4KKworICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1Jl
bW90ZUltYWdlQnVmZmVyUHJveHkuaDoKKwogMjAyMC0xMS0wMyAgV2Vuc29uIEhzaWVoICA8d2Vu
c29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgaGVscGVyIG1ldGhvZHMgdG8gZW5j
b2RlIGFuZCBkZWNvZGUgSVBDIGFyZ3VtZW50cyBhcyByYXcgZGF0YQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UK
aW5kZXggZThlMzM4ZTM3YTMyMWU4MWVjZDMxOWJmNGJmYTNiNmE3NTU1YmY1NS4uZWM3MGI0NjQy
Mzg1MTM2NmE0YTQxNDY0NTg3YjU0NWY1YjdlM2JlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvSGVhZGVycy5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCkBAIC0x
MjQyLDYgKzEyNDIsNyBAQCBzZXQoV2ViQ29yZV9QUklWQVRFX0ZSQU1FV09SS19IRUFERVJTCiAg
ICAgcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0RHJhd0dseXBoc1Jl
Y29yZGVyLmgKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RE
cmF3aW5nQ29udGV4dC5oCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3Bs
YXlMaXN0SW1hZ2VCdWZmZXIuaAorICAgIHBsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9E
aXNwbGF5TGlzdEl0ZW1UeXBlLmgKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMv
RGlzcGxheUxpc3RJdGVtcy5oCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rp
c3BsYXlMaXN0UmVjb3JkZXIuaAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9E
aXNwbGF5TGlzdFJlcGxheWVyLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMu
dHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKaW5kZXggNjM3NzFiMDQwNTg3YTk0ODVm
NDQ2MDhmOGMxMjgzZWY3NmM2MTVmOS4uZGFhYmZmNzMwZjNhMWViYjQyOTRkYmNhZjM5NzZmZjA3
YjMyMTc2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKKysrIGIvU291
cmNlL1dlYkNvcmUvU291cmNlcy50eHQKQEAgLTE5NjEsNiArMTk2MSw3IEBAIHBsYXRmb3JtL2dy
YXBoaWNzL2NwdS9hcm0vZmlsdGVycy9GRUxpZ2h0aW5nTkVPTi5jcHAKIHBsYXRmb3JtL2dyYXBo
aWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdC5jcHAKIHBsYXRmb3JtL2dyYXBoaWNzL2Rpc3Bs
YXlsaXN0cy9EaXNwbGF5TGlzdERyYXdpbmdDb250ZXh0LmNwcAogcGxhdGZvcm0vZ3JhcGhpY3Mv
ZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0SXRlbXMuY3BwCitwbGF0Zm9ybS9ncmFwaGljcy9kaXNw
bGF5bGlzdHMvRGlzcGxheUxpc3RJdGVtVHlwZS5jcHAKIHBsYXRmb3JtL2dyYXBoaWNzL2Rpc3Bs
YXlsaXN0cy9EaXNwbGF5TGlzdFJlY29yZGVyLmNwcAogcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxh
eWxpc3RzL0Rpc3BsYXlMaXN0UmVwbGF5ZXIuY3BwCiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJz
L0Rpc3RhbnRMaWdodFNvdXJjZS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA3MDRmZjE3OGFkMjI2ZDYzNjJiNGM5N2RlYzEw
NTQ3YWU4YjI0NzYyLi4wNmVjZTdiMGFlNzEyMDlhNTg5YzcwMjk0NWZiNjkzNjI1MzFmMWFlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CkBAIC01MTYzLDYgKzUxNjMsNyBAQAogCQlGNDAzRTc4NzIzNjNCNThDMDAwNDQ1NTAgLyogRW50
ZXJLZXlIaW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBGNDAzRTc4NTIzNjNCNThDMDAwNDQ1NTAgLyogRW50ZXJLZXlIaW50LmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRjQyOTI2MTgyNTI2NEQ0NDAw
MDA3ODk4IC8qIE1lZGlhUGxheWVySWRlbnRpZmllci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQyOTI2MTcyNTI2NEQ0NDAwMDA3ODk4IC8qIE1lZGlh
UGxheWVySWRlbnRpZmllci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CiAJCUY0MzNFOTAzMURCQkRCQTIwMEVGMEQxNCAvKiBTdGF0aWNQYXN0ZWJvYXJk
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNDMzRTkw
MjFEQkJEQkEyMDBFRjBEMTQgLyogU3RhdGljUGFzdGVib2FyZC5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUY0Mzc3RDU3MjU1MUM5QzYwMDgwQUJG
RSAvKiBEaXNwbGF5TGlzdEl0ZW1UeXBlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBGNDM3N0Q1NTI1NTFDOUM2MDA4MEFCRkUgLyogRGlzcGxheUxpc3RJ
dGVtVHlwZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCUY0NDBFNzdBMjMzRDk0RDcwMDYzRjlBQiAvKiBOYXZpZ2F0b3JDbGlwYm9hcmQuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0NDBFNzZGMjMzRDk0
RDMwMDYzRjlBQiAvKiBOYXZpZ2F0b3JDbGlwYm9hcmQuaCAqLzsgfTsKIAkJRjQ0MEU3N0IyMzNE
OTRENzAwNjNGOUFCIC8qIENsaXBib2FyZEl0ZW0uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0NDBFNzcwMjMzRDk0RDQwMDYzRjlBQiAvKiBDbGlwYm9h
cmRJdGVtLmggKi87IH07CiAJCUY0NDBFNzdEMjMzRDk0RDcwMDYzRjlBQiAvKiBDbGlwYm9hcmQu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0NDBFNzcy
MjMzRDk0RDUwMDYzRjlBQiAvKiBDbGlwYm9hcmQuaCAqLzsgfTsKQEAgLTE2MzE4LDYgKzE2MzE5
LDggQEAKIAkJRjQyQ0VCNTQyMTQwMzFFRTAwMkRDQTcyIC8qIEZvbnRBdHRyaWJ1dGVDaGFuZ2Vz
Q29jb2EubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBGb250QXR0cmlidXRlQ2hhbmdlc0NvY29h
Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNDMzRTkwMjFEQkJEQkEyMDBFRjBE
MTQgLyogU3RhdGljUGFzdGVib2FyZC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBTdGF0aWNQYXN0ZWJvYXJkLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0MzNF
OTA0MURCQkRCQzIwMEVGMEQxNCAvKiBTdGF0aWNQYXN0ZWJvYXJkLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFN0YXRpY1Bhc3RlYm9hcmQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQlGNDM3N0Q1NTI1NTFDOUM2MDA4MEFCRkUgLyogRGlzcGxheUxpc3RJdGVtVHlwZS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBEaXNwbGF5TGlzdEl0ZW1UeXBlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCUY0Mzc3RDU2MjU1MUM5QzYwMDgwQUJGRSAvKiBEaXNwbGF5TGlzdEl0ZW1UeXBlLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERpc3BsYXlMaXN0SXRlbVR5cGUuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlGNDQwRTc2RTIzM0Q5NEQzMDA2M0Y5QUIgLyogQ2xpcGJvYXJk
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENsaXBib2FyZC5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0NDBFNzZGMjMzRDk0RDMwMDYzRjlBQiAv
KiBOYXZpZ2F0b3JDbGlwYm9hcmQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
TmF2aWdhdG9yQ2xpcGJvYXJkLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0NDBF
NzcwMjMzRDk0RDQwMDYzRjlBQiAvKiBDbGlwYm9hcmRJdGVtLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IENsaXBib2FyZEl0ZW0uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKQEAgLTE3NjI0LDYgKzE3NjI3LDggQEAKIAkJCQk3MkVBMDlGNzIzRkNDQjNEMDA4NTA0QTUg
LyogRGlzcGxheUxpc3RJbWFnZUJ1ZmZlci5oICovLAogCQkJCTBGRTVGQkNDMUMzREQ1MUUwMDA3
QTJDQSAvKiBEaXNwbGF5TGlzdEl0ZW1zLmNwcCAqLywKIAkJCQkwRkU1RkJDRDFDM0RENTFFMDAw
N0EyQ0EgLyogRGlzcGxheUxpc3RJdGVtcy5oICovLAorCQkJCUY0Mzc3RDU2MjU1MUM5QzYwMDgw
QUJGRSAvKiBEaXNwbGF5TGlzdEl0ZW1UeXBlLmNwcCAqLywKKwkJCQlGNDM3N0Q1NTI1NTFDOUM2
MDA4MEFCRkUgLyogRGlzcGxheUxpc3RJdGVtVHlwZS5oICovLAogCQkJCTBGRTVGQkNFMUMzREQ1
MUUwMDA3QTJDQSAvKiBEaXNwbGF5TGlzdFJlY29yZGVyLmNwcCAqLywKIAkJCQkwRkU1RkJDRjFD
M0RENTFFMDAwN0EyQ0EgLyogRGlzcGxheUxpc3RSZWNvcmRlci5oICovLAogCQkJCTBGRTVGQkQw
MUMzREQ1MUUwMDA3QTJDQSAvKiBEaXNwbGF5TGlzdFJlcGxheWVyLmNwcCAqLywKQEAgLTMxNDQ4
LDYgKzMxNDUzLDcgQEAKIAkJCQk1NUFEMDk0MDI0MDg5NjQwMDBERTREMkYgLyogRGlzcGxheUxp
c3REcmF3aW5nQ29udGV4dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTVBRDA5M0UyNDA4OTYzNTAw
REU0RDJGIC8qIERpc3BsYXlMaXN0SW1hZ2VCdWZmZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTBG
RTVGQkQ1MUMzREQ1MUUwMDA3QTJDQSAvKiBEaXNwbGF5TGlzdEl0ZW1zLmggaW4gSGVhZGVycyAq
LywKKwkJCQlGNDM3N0Q1NzI1NTFDOUM2MDA4MEFCRkUgLyogRGlzcGxheUxpc3RJdGVtVHlwZS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJMEZFNUZCRDcxQzNERDUxRTAwMDdBMkNBIC8qIERpc3BsYXlM
aXN0UmVjb3JkZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGRTVGQkQ5MUMzREQ1MUUwMDA3QTJD
QSAvKiBEaXNwbGF5TGlzdFJlcGxheWVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk0OUFGMkQ2OTE0
NDM1RDA1MDAxNkE3ODQgLyogRGlzcGxheVJlZnJlc2hNb25pdG9yLmggaW4gSGVhZGVycyAqLywK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0
cy9EaXNwbGF5TGlzdC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxh
eWxpc3RzL0Rpc3BsYXlMaXN0LmgKaW5kZXggZDJkYWE3ZTk5MTM2NTExMWI1Y2U1ZTFiMDUxYjc0
NzQwZmU1ZWVhOC4uZjljOTM5OGYwYjcyMjI0ZjY5MDJhMzhmNzk1NzU2MzJkMWIxYTMyMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rp
c3BsYXlMaXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxh
eWxpc3RzL0Rpc3BsYXlMaXN0LmgKQEAgLTI1LDYgKzI1LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAK
KyNpbmNsdWRlICJEaXNwbGF5TGlzdEl0ZW1UeXBlLmgiCiAjaW5jbHVkZSAiRmxvYXRSZWN0Lmgi
CiAjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCiAjaW5jbHVkZSA8d3RmL0Zhc3RNYWxsb2Mu
aD4KQEAgLTM5LDczICs0MCw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogbmFtZXNwYWNlIERp
c3BsYXlMaXN0IHsKIAotZW51bSBjbGFzcyBJdGVtVHlwZSA6IHVpbnQ4X3QgewotICAgIFNhdmUs
Ci0gICAgUmVzdG9yZSwKLSAgICBUcmFuc2xhdGUsCi0gICAgUm90YXRlLAotICAgIFNjYWxlLAot
ICAgIENvbmNhdGVuYXRlQ1RNLAotICAgIFNldENUTSwKLSAgICBTZXRJbmxpbmVGaWxsR3JhZGll
bnQsCi0gICAgU2V0SW5saW5lRmlsbENvbG9yLAotICAgIFNldElubGluZVN0cm9rZUNvbG9yLAot
ICAgIFNldFN0cm9rZVRoaWNrbmVzcywKLSAgICBTZXRTdGF0ZSwKLSAgICBTZXRMaW5lQ2FwLAot
ICAgIFNldExpbmVEYXNoLAotICAgIFNldExpbmVKb2luLAotICAgIFNldE1pdGVyTGltaXQsCi0g
ICAgQ2xlYXJTaGFkb3csCi0gICAgQ2xpcCwKLSAgICBDbGlwT3V0LAotICAgIENsaXBPdXRUb1Bh
dGgsCi0gICAgQ2xpcFBhdGgsCi0gICAgQ2xpcFRvRHJhd2luZ0NvbW1hbmRzLAotICAgIERyYXdH
bHlwaHMsCi0gICAgRHJhd0ltYWdlLAotICAgIERyYXdUaWxlZEltYWdlLAotICAgIERyYXdUaWxl
ZFNjYWxlZEltYWdlLAotICAgIERyYXdJbWFnZUJ1ZmZlciwKLSAgICBEcmF3TmF0aXZlSW1hZ2Us
Ci0gICAgRHJhd1BhdHRlcm4sCi0gICAgRHJhd1JlY3QsCi0gICAgRHJhd0xpbmUsCi0gICAgRHJh
d0xpbmVzRm9yVGV4dCwKLSAgICBEcmF3RG90c0ZvckRvY3VtZW50TWFya2VyLAotICAgIERyYXdF
bGxpcHNlLAotICAgIERyYXdQYXRoLAotICAgIERyYXdGb2N1c1JpbmdQYXRoLAotICAgIERyYXdG
b2N1c1JpbmdSZWN0cywKLSAgICBGaWxsUmVjdCwKLSAgICBGaWxsUmVjdFdpdGhDb2xvciwKLSAg
ICBGaWxsUmVjdFdpdGhHcmFkaWVudCwKLSAgICBGaWxsQ29tcG9zaXRlZFJlY3QsCi0gICAgRmls
bFJvdW5kZWRSZWN0LAotICAgIEZpbGxSZWN0V2l0aFJvdW5kZWRIb2xlLAotI2lmIEVOQUJMRShJ
TkxJTkVfUEFUSF9EQVRBKQotICAgIEZpbGxJbmxpbmVQYXRoLAotI2VuZGlmCi0gICAgRmlsbFBh
dGgsCi0gICAgRmlsbEVsbGlwc2UsCi0gICAgUHV0SW1hZ2VEYXRhLAotICAgIFBhaW50RnJhbWVG
b3JNZWRpYSwKLSAgICBTdHJva2VSZWN0LAotI2lmIEVOQUJMRShJTkxJTkVfUEFUSF9EQVRBKQot
ICAgIFN0cm9rZUlubGluZVBhdGgsCi0jZW5kaWYKLSAgICBTdHJva2VQYXRoLAotICAgIFN0cm9r
ZUVsbGlwc2UsCi0gICAgQ2xlYXJSZWN0LAotICAgIEJlZ2luVHJhbnNwYXJlbmN5TGF5ZXIsCi0g
ICAgRW5kVHJhbnNwYXJlbmN5TGF5ZXIsCi0jaWYgVVNFKENHKQotICAgIEFwcGx5U3Ryb2tlUGF0
dGVybiwgLy8gRklYTUU6IHNob3VsZCBub3QgYmUgYSByZWNvcmRlZCBpdGVtLgotICAgIEFwcGx5
RmlsbFBhdHRlcm4sIC8vIEZJWE1FOiBzaG91bGQgbm90IGJlIGEgcmVjb3JkZWQgaXRlbS4KLSNl
bmRpZgotICAgIEFwcGx5RGV2aWNlU2NhbGVGYWN0b3IsCi19OwotCiBjbGFzcyBJdGVtIDogcHVi
bGljIFJlZkNvdW50ZWQ8SXRlbT4gewogcHVibGljOgogICAgIEl0ZW0oKSA9IGRlbGV0ZTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9E
aXNwbGF5TGlzdEl0ZW1UeXBlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdEl0ZW1UeXBlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40NTdhZWRk
ZTMyOTZhNzgyNDUwOTBkNmFlZTExNjkwNWEyM2E0ZGRjCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0SXRl
bVR5cGUuY3BwCkBAIC0wLDAgKzEsMzEzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZp
Zy5oIgorI2luY2x1ZGUgIkRpc3BsYXlMaXN0SXRlbVR5cGUuaCIKKworI2luY2x1ZGUgIkRpc3Bs
YXlMaXN0SXRlbXMuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworbmFtZXNwYWNlIERpc3BsYXlM
aXN0IHsKKworc2l6ZV90IHNpemVPZkl0ZW1JbkJ5dGVzKEl0ZW1UeXBlIHR5cGUpCit7CisgICAg
c3dpdGNoICh0eXBlKSB7CisgICAgY2FzZSBJdGVtVHlwZTo6U2F2ZToKKyAgICAgICAgcmV0dXJu
IHNpemVvZihTYXZlKTsKKyAgICBjYXNlIEl0ZW1UeXBlOjpSZXN0b3JlOgorICAgICAgICByZXR1
cm4gc2l6ZW9mKFJlc3RvcmUpOworICAgIGNhc2UgSXRlbVR5cGU6OlRyYW5zbGF0ZToKKyAgICAg
ICAgcmV0dXJuIHNpemVvZihUcmFuc2xhdGUpOworICAgIGNhc2UgSXRlbVR5cGU6OlJvdGF0ZToK
KyAgICAgICAgcmV0dXJuIHNpemVvZihSb3RhdGUpOworICAgIGNhc2UgSXRlbVR5cGU6OlNjYWxl
OgorICAgICAgICByZXR1cm4gc2l6ZW9mKFNjYWxlKTsKKyAgICBjYXNlIEl0ZW1UeXBlOjpDb25j
YXRlbmF0ZUNUTToKKyAgICAgICAgcmV0dXJuIHNpemVvZihDb25jYXRlbmF0ZUNUTSk7CisgICAg
Y2FzZSBJdGVtVHlwZTo6U2V0Q1RNOgorICAgICAgICByZXR1cm4gc2l6ZW9mKFNldENUTSk7Cisg
ICAgY2FzZSBJdGVtVHlwZTo6U2V0SW5saW5lRmlsbEdyYWRpZW50OgorICAgICAgICByZXR1cm4g
c2l6ZW9mKFNldElubGluZUZpbGxHcmFkaWVudCk7CisgICAgY2FzZSBJdGVtVHlwZTo6U2V0SW5s
aW5lRmlsbENvbG9yOgorICAgICAgICByZXR1cm4gc2l6ZW9mKFNldElubGluZUZpbGxDb2xvcik7
CisgICAgY2FzZSBJdGVtVHlwZTo6U2V0SW5saW5lU3Ryb2tlQ29sb3I6CisgICAgICAgIHJldHVy
biBzaXplb2YoU2V0SW5saW5lU3Ryb2tlQ29sb3IpOworICAgIGNhc2UgSXRlbVR5cGU6OlNldFN0
cm9rZVRoaWNrbmVzczoKKyAgICAgICAgcmV0dXJuIHNpemVvZihTZXRTdHJva2VUaGlja25lc3Mp
OworICAgIGNhc2UgSXRlbVR5cGU6OlNldFN0YXRlOgorICAgICAgICByZXR1cm4gc2l6ZW9mKFNl
dFN0YXRlKTsKKyAgICBjYXNlIEl0ZW1UeXBlOjpTZXRMaW5lQ2FwOgorICAgICAgICByZXR1cm4g
c2l6ZW9mKFNldExpbmVDYXApOworICAgIGNhc2UgSXRlbVR5cGU6OlNldExpbmVEYXNoOgorICAg
ICAgICByZXR1cm4gc2l6ZW9mKFNldExpbmVEYXNoKTsKKyAgICBjYXNlIEl0ZW1UeXBlOjpTZXRM
aW5lSm9pbjoKKyAgICAgICAgcmV0dXJuIHNpemVvZihTZXRMaW5lSm9pbik7CisgICAgY2FzZSBJ
dGVtVHlwZTo6U2V0TWl0ZXJMaW1pdDoKKyAgICAgICAgcmV0dXJuIHNpemVvZihTZXRNaXRlckxp
bWl0KTsKKyAgICBjYXNlIEl0ZW1UeXBlOjpDbGVhclNoYWRvdzoKKyAgICAgICAgcmV0dXJuIHNp
emVvZihDbGVhclNoYWRvdyk7CisgICAgY2FzZSBJdGVtVHlwZTo6Q2xpcDoKKyAgICAgICAgcmV0
dXJuIHNpemVvZihDbGlwKTsKKyAgICBjYXNlIEl0ZW1UeXBlOjpDbGlwT3V0OgorICAgICAgICBy
ZXR1cm4gc2l6ZW9mKENsaXBPdXQpOworICAgIGNhc2UgSXRlbVR5cGU6OkNsaXBPdXRUb1BhdGg6
CisgICAgICAgIHJldHVybiBzaXplb2YoQ2xpcE91dFRvUGF0aCk7CisgICAgY2FzZSBJdGVtVHlw
ZTo6Q2xpcFBhdGg6CisgICAgICAgIHJldHVybiBzaXplb2YoQ2xpcFBhdGgpOworICAgIGNhc2Ug
SXRlbVR5cGU6OkNsaXBUb0RyYXdpbmdDb21tYW5kczoKKyAgICAgICAgcmV0dXJuIHNpemVvZihD
bGlwVG9EcmF3aW5nQ29tbWFuZHMpOworICAgIGNhc2UgSXRlbVR5cGU6OkRyYXdHbHlwaHM6Cisg
ICAgICAgIHJldHVybiBzaXplb2YoRHJhd0dseXBocyk7CisgICAgY2FzZSBJdGVtVHlwZTo6RHJh
d0ltYWdlOgorICAgICAgICByZXR1cm4gc2l6ZW9mKERyYXdJbWFnZSk7CisgICAgY2FzZSBJdGVt
VHlwZTo6RHJhd1RpbGVkSW1hZ2U6CisgICAgICAgIHJldHVybiBzaXplb2YoRHJhd1RpbGVkSW1h
Z2UpOworICAgIGNhc2UgSXRlbVR5cGU6OkRyYXdUaWxlZFNjYWxlZEltYWdlOgorICAgICAgICBy
ZXR1cm4gc2l6ZW9mKERyYXdUaWxlZFNjYWxlZEltYWdlKTsKKyAgICBjYXNlIEl0ZW1UeXBlOjpE
cmF3SW1hZ2VCdWZmZXI6CisgICAgICAgIHJldHVybiBzaXplb2YoRHJhd0ltYWdlQnVmZmVyKTsK
KyAgICBjYXNlIEl0ZW1UeXBlOjpEcmF3TmF0aXZlSW1hZ2U6CisgICAgICAgIHJldHVybiBzaXpl
b2YoRHJhd05hdGl2ZUltYWdlKTsKKyAgICBjYXNlIEl0ZW1UeXBlOjpEcmF3UGF0dGVybjoKKyAg
ICAgICAgcmV0dXJuIHNpemVvZihEcmF3UGF0dGVybik7CisgICAgY2FzZSBJdGVtVHlwZTo6RHJh
d1JlY3Q6CisgICAgICAgIHJldHVybiBzaXplb2YoRHJhd1JlY3QpOworICAgIGNhc2UgSXRlbVR5
cGU6OkRyYXdMaW5lOgorICAgICAgICByZXR1cm4gc2l6ZW9mKERyYXdMaW5lKTsKKyAgICBjYXNl
IEl0ZW1UeXBlOjpEcmF3TGluZXNGb3JUZXh0OgorICAgICAgICByZXR1cm4gc2l6ZW9mKERyYXdM
aW5lc0ZvclRleHQpOworICAgIGNhc2UgSXRlbVR5cGU6OkRyYXdEb3RzRm9yRG9jdW1lbnRNYXJr
ZXI6CisgICAgICAgIHJldHVybiBzaXplb2YoRHJhd0RvdHNGb3JEb2N1bWVudE1hcmtlcik7Cisg
ICAgY2FzZSBJdGVtVHlwZTo6RHJhd0VsbGlwc2U6CisgICAgICAgIHJldHVybiBzaXplb2YoRHJh
d0VsbGlwc2UpOworICAgIGNhc2UgSXRlbVR5cGU6OkRyYXdQYXRoOgorICAgICAgICByZXR1cm4g
c2l6ZW9mKERyYXdQYXRoKTsKKyAgICBjYXNlIEl0ZW1UeXBlOjpEcmF3Rm9jdXNSaW5nUGF0aDoK
KyAgICAgICAgcmV0dXJuIHNpemVvZihEcmF3Rm9jdXNSaW5nUGF0aCk7CisgICAgY2FzZSBJdGVt
VHlwZTo6RHJhd0ZvY3VzUmluZ1JlY3RzOgorICAgICAgICByZXR1cm4gc2l6ZW9mKERyYXdGb2N1
c1JpbmdSZWN0cyk7CisgICAgY2FzZSBJdGVtVHlwZTo6RmlsbFJlY3Q6CisgICAgICAgIHJldHVy
biBzaXplb2YoRmlsbFJlY3QpOworICAgIGNhc2UgSXRlbVR5cGU6OkZpbGxSZWN0V2l0aENvbG9y
OgorICAgICAgICByZXR1cm4gc2l6ZW9mKEZpbGxSZWN0V2l0aENvbG9yKTsKKyAgICBjYXNlIEl0
ZW1UeXBlOjpGaWxsUmVjdFdpdGhHcmFkaWVudDoKKyAgICAgICAgcmV0dXJuIHNpemVvZihGaWxs
UmVjdFdpdGhHcmFkaWVudCk7CisgICAgY2FzZSBJdGVtVHlwZTo6RmlsbENvbXBvc2l0ZWRSZWN0
OgorICAgICAgICByZXR1cm4gc2l6ZW9mKEZpbGxDb21wb3NpdGVkUmVjdCk7CisgICAgY2FzZSBJ
dGVtVHlwZTo6RmlsbFJvdW5kZWRSZWN0OgorICAgICAgICByZXR1cm4gc2l6ZW9mKEZpbGxSb3Vu
ZGVkUmVjdCk7CisgICAgY2FzZSBJdGVtVHlwZTo6RmlsbFJlY3RXaXRoUm91bmRlZEhvbGU6Cisg
ICAgICAgIHJldHVybiBzaXplb2YoRmlsbFJlY3RXaXRoUm91bmRlZEhvbGUpOworI2lmIEVOQUJM
RShJTkxJTkVfUEFUSF9EQVRBKQorICAgIGNhc2UgSXRlbVR5cGU6OkZpbGxJbmxpbmVQYXRoOgor
ICAgICAgICByZXR1cm4gc2l6ZW9mKEZpbGxJbmxpbmVQYXRoKTsKKyNlbmRpZgorICAgIGNhc2Ug
SXRlbVR5cGU6OkZpbGxQYXRoOgorICAgICAgICByZXR1cm4gc2l6ZW9mKEZpbGxQYXRoKTsKKyAg
ICBjYXNlIEl0ZW1UeXBlOjpGaWxsRWxsaXBzZToKKyAgICAgICAgcmV0dXJuIHNpemVvZihGaWxs
RWxsaXBzZSk7CisgICAgY2FzZSBJdGVtVHlwZTo6UHV0SW1hZ2VEYXRhOgorICAgICAgICByZXR1
cm4gc2l6ZW9mKFB1dEltYWdlRGF0YSk7CisgICAgY2FzZSBJdGVtVHlwZTo6UGFpbnRGcmFtZUZv
ck1lZGlhOgorICAgICAgICByZXR1cm4gc2l6ZW9mKFBhaW50RnJhbWVGb3JNZWRpYSk7CisgICAg
Y2FzZSBJdGVtVHlwZTo6U3Ryb2tlUmVjdDoKKyAgICAgICAgcmV0dXJuIHNpemVvZihTdHJva2VS
ZWN0KTsKKyNpZiBFTkFCTEUoSU5MSU5FX1BBVEhfREFUQSkKKyAgICBjYXNlIEl0ZW1UeXBlOjpT
dHJva2VJbmxpbmVQYXRoOgorICAgICAgICByZXR1cm4gc2l6ZW9mKFN0cm9rZUlubGluZVBhdGgp
OworI2VuZGlmCisgICAgY2FzZSBJdGVtVHlwZTo6U3Ryb2tlUGF0aDoKKyAgICAgICAgcmV0dXJu
IHNpemVvZihTdHJva2VQYXRoKTsKKyAgICBjYXNlIEl0ZW1UeXBlOjpTdHJva2VFbGxpcHNlOgor
ICAgICAgICByZXR1cm4gc2l6ZW9mKFN0cm9rZUVsbGlwc2UpOworICAgIGNhc2UgSXRlbVR5cGU6
OkNsZWFyUmVjdDoKKyAgICAgICAgcmV0dXJuIHNpemVvZihDbGVhclJlY3QpOworICAgIGNhc2Ug
SXRlbVR5cGU6OkJlZ2luVHJhbnNwYXJlbmN5TGF5ZXI6CisgICAgICAgIHJldHVybiBzaXplb2Yo
QmVnaW5UcmFuc3BhcmVuY3lMYXllcik7CisgICAgY2FzZSBJdGVtVHlwZTo6RW5kVHJhbnNwYXJl
bmN5TGF5ZXI6CisgICAgICAgIHJldHVybiBzaXplb2YoRW5kVHJhbnNwYXJlbmN5TGF5ZXIpOwor
I2lmIFVTRShDRykKKyAgICBjYXNlIEl0ZW1UeXBlOjpBcHBseVN0cm9rZVBhdHRlcm46CisgICAg
ICAgIHJldHVybiBzaXplb2YoQXBwbHlTdHJva2VQYXR0ZXJuKTsKKyAgICBjYXNlIEl0ZW1UeXBl
OjpBcHBseUZpbGxQYXR0ZXJuOgorICAgICAgICByZXR1cm4gc2l6ZW9mKEFwcGx5RmlsbFBhdHRl
cm4pOworI2VuZGlmCisgICAgY2FzZSBJdGVtVHlwZTo6QXBwbHlEZXZpY2VTY2FsZUZhY3RvcjoK
KyAgICAgICAgcmV0dXJuIHNpemVvZihBcHBseURldmljZVNjYWxlRmFjdG9yKTsKKyAgICB9Cisg
ICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIDA7Cit9CisKK2Jvb2wgaXNEcmF3
aW5nSXRlbShJdGVtVHlwZSB0eXBlKQoreworICAgIHN3aXRjaCAodHlwZSkgeworICAgIGNhc2Ug
SXRlbVR5cGU6OkFwcGx5RGV2aWNlU2NhbGVGYWN0b3I6CisjaWYgVVNFKENHKQorICAgIGNhc2Ug
SXRlbVR5cGU6OkFwcGx5RmlsbFBhdHRlcm46CisgICAgY2FzZSBJdGVtVHlwZTo6QXBwbHlTdHJv
a2VQYXR0ZXJuOgorI2VuZGlmCisgICAgY2FzZSBJdGVtVHlwZTo6Q2xlYXJTaGFkb3c6CisgICAg
Y2FzZSBJdGVtVHlwZTo6Q2xpcDoKKyAgICBjYXNlIEl0ZW1UeXBlOjpDbGlwT3V0OgorICAgIGNh
c2UgSXRlbVR5cGU6OkNsaXBPdXRUb1BhdGg6CisgICAgY2FzZSBJdGVtVHlwZTo6Q2xpcFBhdGg6
CisgICAgY2FzZSBJdGVtVHlwZTo6Q2xpcFRvRHJhd2luZ0NvbW1hbmRzOgorICAgIGNhc2UgSXRl
bVR5cGU6OkNvbmNhdGVuYXRlQ1RNOgorICAgIGNhc2UgSXRlbVR5cGU6OlJlc3RvcmU6CisgICAg
Y2FzZSBJdGVtVHlwZTo6Um90YXRlOgorICAgIGNhc2UgSXRlbVR5cGU6OlNhdmU6CisgICAgY2Fz
ZSBJdGVtVHlwZTo6U2NhbGU6CisgICAgY2FzZSBJdGVtVHlwZTo6U2V0Q1RNOgorICAgIGNhc2Ug
SXRlbVR5cGU6OlNldElubGluZUZpbGxDb2xvcjoKKyAgICBjYXNlIEl0ZW1UeXBlOjpTZXRJbmxp
bmVGaWxsR3JhZGllbnQ6CisgICAgY2FzZSBJdGVtVHlwZTo6U2V0SW5saW5lU3Ryb2tlQ29sb3I6
CisgICAgY2FzZSBJdGVtVHlwZTo6U2V0TGluZUNhcDoKKyAgICBjYXNlIEl0ZW1UeXBlOjpTZXRM
aW5lRGFzaDoKKyAgICBjYXNlIEl0ZW1UeXBlOjpTZXRMaW5lSm9pbjoKKyAgICBjYXNlIEl0ZW1U
eXBlOjpTZXRNaXRlckxpbWl0OgorICAgIGNhc2UgSXRlbVR5cGU6OlNldFN0YXRlOgorICAgIGNh
c2UgSXRlbVR5cGU6OlNldFN0cm9rZVRoaWNrbmVzczoKKyAgICBjYXNlIEl0ZW1UeXBlOjpUcmFu
c2xhdGU6CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBjYXNlIEl0ZW1UeXBlOjpCZWdpblRy
YW5zcGFyZW5jeUxheWVyOgorICAgIGNhc2UgSXRlbVR5cGU6OkNsZWFyUmVjdDoKKyAgICBjYXNl
IEl0ZW1UeXBlOjpEcmF3RG90c0ZvckRvY3VtZW50TWFya2VyOgorICAgIGNhc2UgSXRlbVR5cGU6
OkRyYXdFbGxpcHNlOgorICAgIGNhc2UgSXRlbVR5cGU6OkRyYXdGb2N1c1JpbmdQYXRoOgorICAg
IGNhc2UgSXRlbVR5cGU6OkRyYXdGb2N1c1JpbmdSZWN0czoKKyAgICBjYXNlIEl0ZW1UeXBlOjpE
cmF3R2x5cGhzOgorICAgIGNhc2UgSXRlbVR5cGU6OkRyYXdJbWFnZToKKyAgICBjYXNlIEl0ZW1U
eXBlOjpEcmF3SW1hZ2VCdWZmZXI6CisgICAgY2FzZSBJdGVtVHlwZTo6RHJhd0xpbmU6CisgICAg
Y2FzZSBJdGVtVHlwZTo6RHJhd0xpbmVzRm9yVGV4dDoKKyAgICBjYXNlIEl0ZW1UeXBlOjpEcmF3
TmF0aXZlSW1hZ2U6CisgICAgY2FzZSBJdGVtVHlwZTo6RHJhd1BhdGg6CisgICAgY2FzZSBJdGVt
VHlwZTo6RHJhd1BhdHRlcm46CisgICAgY2FzZSBJdGVtVHlwZTo6RHJhd1JlY3Q6CisgICAgY2Fz
ZSBJdGVtVHlwZTo6RHJhd1RpbGVkSW1hZ2U6CisgICAgY2FzZSBJdGVtVHlwZTo6RHJhd1RpbGVk
U2NhbGVkSW1hZ2U6CisgICAgY2FzZSBJdGVtVHlwZTo6RW5kVHJhbnNwYXJlbmN5TGF5ZXI6Cisg
ICAgY2FzZSBJdGVtVHlwZTo6RmlsbENvbXBvc2l0ZWRSZWN0OgorICAgIGNhc2UgSXRlbVR5cGU6
OkZpbGxFbGxpcHNlOgorI2lmIEVOQUJMRShJTkxJTkVfUEFUSF9EQVRBKQorICAgIGNhc2UgSXRl
bVR5cGU6OkZpbGxJbmxpbmVQYXRoOgorI2VuZGlmCisgICAgY2FzZSBJdGVtVHlwZTo6RmlsbFBh
dGg6CisgICAgY2FzZSBJdGVtVHlwZTo6RmlsbFJlY3Q6CisgICAgY2FzZSBJdGVtVHlwZTo6Rmls
bFJlY3RXaXRoQ29sb3I6CisgICAgY2FzZSBJdGVtVHlwZTo6RmlsbFJlY3RXaXRoR3JhZGllbnQ6
CisgICAgY2FzZSBJdGVtVHlwZTo6RmlsbFJlY3RXaXRoUm91bmRlZEhvbGU6CisgICAgY2FzZSBJ
dGVtVHlwZTo6RmlsbFJvdW5kZWRSZWN0OgorICAgIGNhc2UgSXRlbVR5cGU6OlBhaW50RnJhbWVG
b3JNZWRpYToKKyAgICBjYXNlIEl0ZW1UeXBlOjpQdXRJbWFnZURhdGE6CisgICAgY2FzZSBJdGVt
VHlwZTo6U3Ryb2tlRWxsaXBzZToKKyNpZiBFTkFCTEUoSU5MSU5FX1BBVEhfREFUQSkKKyAgICBj
YXNlIEl0ZW1UeXBlOjpTdHJva2VJbmxpbmVQYXRoOgorI2VuZGlmCisgICAgY2FzZSBJdGVtVHlw
ZTo6U3Ryb2tlUGF0aDoKKyAgICBjYXNlIEl0ZW1UeXBlOjpTdHJva2VSZWN0OgorICAgICAgICBy
ZXR1cm4gdHJ1ZTsKKyAgICB9CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJu
IGZhbHNlOworfQorCitib29sIGlzSW5saW5lSXRlbShJdGVtVHlwZSB0eXBlKQoreworICAgIHN3
aXRjaCAodHlwZSkgeworICAgIGNhc2UgSXRlbVR5cGU6OkNsaXBPdXRUb1BhdGg6CisgICAgY2Fz
ZSBJdGVtVHlwZTo6Q2xpcFBhdGg6CisgICAgY2FzZSBJdGVtVHlwZTo6Q2xpcFRvRHJhd2luZ0Nv
bW1hbmRzOgorICAgIGNhc2UgSXRlbVR5cGU6OkRyYXdGb2N1c1JpbmdQYXRoOgorICAgIGNhc2Ug
SXRlbVR5cGU6OkRyYXdGb2N1c1JpbmdSZWN0czoKKyAgICBjYXNlIEl0ZW1UeXBlOjpEcmF3R2x5
cGhzOgorICAgIGNhc2UgSXRlbVR5cGU6OkRyYXdJbWFnZToKKyAgICBjYXNlIEl0ZW1UeXBlOjpE
cmF3SW1hZ2VCdWZmZXI6CisgICAgY2FzZSBJdGVtVHlwZTo6RHJhd0xpbmVzRm9yVGV4dDoKKyAg
ICBjYXNlIEl0ZW1UeXBlOjpEcmF3TmF0aXZlSW1hZ2U6CisgICAgY2FzZSBJdGVtVHlwZTo6RHJh
d1BhdGg6CisgICAgY2FzZSBJdGVtVHlwZTo6RHJhd1BhdHRlcm46CisgICAgY2FzZSBJdGVtVHlw
ZTo6RHJhd1RpbGVkSW1hZ2U6CisgICAgY2FzZSBJdGVtVHlwZTo6RHJhd1RpbGVkU2NhbGVkSW1h
Z2U6CisgICAgY2FzZSBJdGVtVHlwZTo6RmlsbENvbXBvc2l0ZWRSZWN0OgorICAgIGNhc2UgSXRl
bVR5cGU6OkZpbGxQYXRoOgorICAgIGNhc2UgSXRlbVR5cGU6OkZpbGxSZWN0V2l0aENvbG9yOgor
ICAgIGNhc2UgSXRlbVR5cGU6OkZpbGxSZWN0V2l0aEdyYWRpZW50OgorICAgIGNhc2UgSXRlbVR5
cGU6OkZpbGxSZWN0V2l0aFJvdW5kZWRIb2xlOgorICAgIGNhc2UgSXRlbVR5cGU6OkZpbGxSb3Vu
ZGVkUmVjdDoKKyAgICBjYXNlIEl0ZW1UeXBlOjpQdXRJbWFnZURhdGE6CisgICAgY2FzZSBJdGVt
VHlwZTo6U2V0TGluZURhc2g6CisgICAgY2FzZSBJdGVtVHlwZTo6U2V0U3RhdGU6CisgICAgY2Fz
ZSBJdGVtVHlwZTo6U3Ryb2tlUGF0aDoKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGNhc2Ug
SXRlbVR5cGU6OkFwcGx5RGV2aWNlU2NhbGVGYWN0b3I6CisjaWYgVVNFKENHKQorICAgIGNhc2Ug
SXRlbVR5cGU6OkFwcGx5RmlsbFBhdHRlcm46CisgICAgY2FzZSBJdGVtVHlwZTo6QXBwbHlTdHJv
a2VQYXR0ZXJuOgorI2VuZGlmCisgICAgY2FzZSBJdGVtVHlwZTo6QmVnaW5UcmFuc3BhcmVuY3lM
YXllcjoKKyAgICBjYXNlIEl0ZW1UeXBlOjpDbGVhclJlY3Q6CisgICAgY2FzZSBJdGVtVHlwZTo6
Q2xlYXJTaGFkb3c6CisgICAgY2FzZSBJdGVtVHlwZTo6Q2xpcDoKKyAgICBjYXNlIEl0ZW1UeXBl
OjpDbGlwT3V0OgorICAgIGNhc2UgSXRlbVR5cGU6OkNvbmNhdGVuYXRlQ1RNOgorICAgIGNhc2Ug
SXRlbVR5cGU6OkRyYXdEb3RzRm9yRG9jdW1lbnRNYXJrZXI6CisgICAgY2FzZSBJdGVtVHlwZTo6
RHJhd0VsbGlwc2U6CisgICAgY2FzZSBJdGVtVHlwZTo6RHJhd0xpbmU6CisgICAgY2FzZSBJdGVt
VHlwZTo6RHJhd1JlY3Q6CisgICAgY2FzZSBJdGVtVHlwZTo6RW5kVHJhbnNwYXJlbmN5TGF5ZXI6
CisgICAgY2FzZSBJdGVtVHlwZTo6RmlsbEVsbGlwc2U6CisjaWYgRU5BQkxFKElOTElORV9QQVRI
X0RBVEEpCisgICAgY2FzZSBJdGVtVHlwZTo6RmlsbElubGluZVBhdGg6CisjZW5kaWYKKyAgICBj
YXNlIEl0ZW1UeXBlOjpGaWxsUmVjdDoKKyAgICBjYXNlIEl0ZW1UeXBlOjpQYWludEZyYW1lRm9y
TWVkaWE6CisgICAgY2FzZSBJdGVtVHlwZTo6UmVzdG9yZToKKyAgICBjYXNlIEl0ZW1UeXBlOjpS
b3RhdGU6CisgICAgY2FzZSBJdGVtVHlwZTo6U2F2ZToKKyAgICBjYXNlIEl0ZW1UeXBlOjpTY2Fs
ZToKKyAgICBjYXNlIEl0ZW1UeXBlOjpTZXRDVE06CisgICAgY2FzZSBJdGVtVHlwZTo6U2V0SW5s
aW5lRmlsbENvbG9yOgorICAgIGNhc2UgSXRlbVR5cGU6OlNldElubGluZUZpbGxHcmFkaWVudDoK
KyAgICBjYXNlIEl0ZW1UeXBlOjpTZXRJbmxpbmVTdHJva2VDb2xvcjoKKyAgICBjYXNlIEl0ZW1U
eXBlOjpTZXRMaW5lQ2FwOgorICAgIGNhc2UgSXRlbVR5cGU6OlNldExpbmVKb2luOgorICAgIGNh
c2UgSXRlbVR5cGU6OlNldE1pdGVyTGltaXQ6CisgICAgY2FzZSBJdGVtVHlwZTo6U2V0U3Ryb2tl
VGhpY2tuZXNzOgorICAgIGNhc2UgSXRlbVR5cGU6OlN0cm9rZUVsbGlwc2U6CisjaWYgRU5BQkxF
KElOTElORV9QQVRIX0RBVEEpCisgICAgY2FzZSBJdGVtVHlwZTo6U3Ryb2tlSW5saW5lUGF0aDoK
KyNlbmRpZgorICAgIGNhc2UgSXRlbVR5cGU6OlN0cm9rZVJlY3Q6CisgICAgY2FzZSBJdGVtVHlw
ZTo6VHJhbnNsYXRlOgorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisgICAgQVNTRVJUX05P
VF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIGZhbHNlOworfQorCit9IC8vIG5hbWVzcGFjZSBEaXNw
bGF5TGlzdAorfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0SXRlbVR5cGUuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlz
dEl0ZW1UeXBlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2U0Zjg1NzlhYzg3N2JiODgzYjQ5NjMzMzI3ZmE3OGMy
MzE3MWNjNgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdEl0ZW1UeXBlLmgKQEAgLTAsMCArMSwxMDMgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworbmFtZXNwYWNlIFdlYkNvcmUgeworbmFtZXNw
YWNlIERpc3BsYXlMaXN0IHsKKworZW51bSBjbGFzcyBJdGVtVHlwZSA6IHVpbnQ4X3QgeworICAg
IFNhdmUsCisgICAgUmVzdG9yZSwKKyAgICBUcmFuc2xhdGUsCisgICAgUm90YXRlLAorICAgIFNj
YWxlLAorICAgIENvbmNhdGVuYXRlQ1RNLAorICAgIFNldENUTSwKKyAgICBTZXRJbmxpbmVGaWxs
R3JhZGllbnQsCisgICAgU2V0SW5saW5lRmlsbENvbG9yLAorICAgIFNldElubGluZVN0cm9rZUNv
bG9yLAorICAgIFNldFN0cm9rZVRoaWNrbmVzcywKKyAgICBTZXRTdGF0ZSwKKyAgICBTZXRMaW5l
Q2FwLAorICAgIFNldExpbmVEYXNoLAorICAgIFNldExpbmVKb2luLAorICAgIFNldE1pdGVyTGlt
aXQsCisgICAgQ2xlYXJTaGFkb3csCisgICAgQ2xpcCwKKyAgICBDbGlwT3V0LAorICAgIENsaXBP
dXRUb1BhdGgsCisgICAgQ2xpcFBhdGgsCisgICAgQ2xpcFRvRHJhd2luZ0NvbW1hbmRzLAorICAg
IERyYXdHbHlwaHMsCisgICAgRHJhd0ltYWdlLAorICAgIERyYXdUaWxlZEltYWdlLAorICAgIERy
YXdUaWxlZFNjYWxlZEltYWdlLAorICAgIERyYXdJbWFnZUJ1ZmZlciwKKyAgICBEcmF3TmF0aXZl
SW1hZ2UsCisgICAgRHJhd1BhdHRlcm4sCisgICAgRHJhd1JlY3QsCisgICAgRHJhd0xpbmUsCisg
ICAgRHJhd0xpbmVzRm9yVGV4dCwKKyAgICBEcmF3RG90c0ZvckRvY3VtZW50TWFya2VyLAorICAg
IERyYXdFbGxpcHNlLAorICAgIERyYXdQYXRoLAorICAgIERyYXdGb2N1c1JpbmdQYXRoLAorICAg
IERyYXdGb2N1c1JpbmdSZWN0cywKKyAgICBGaWxsUmVjdCwKKyAgICBGaWxsUmVjdFdpdGhDb2xv
ciwKKyAgICBGaWxsUmVjdFdpdGhHcmFkaWVudCwKKyAgICBGaWxsQ29tcG9zaXRlZFJlY3QsCisg
ICAgRmlsbFJvdW5kZWRSZWN0LAorICAgIEZpbGxSZWN0V2l0aFJvdW5kZWRIb2xlLAorI2lmIEVO
QUJMRShJTkxJTkVfUEFUSF9EQVRBKQorICAgIEZpbGxJbmxpbmVQYXRoLAorI2VuZGlmCisgICAg
RmlsbFBhdGgsCisgICAgRmlsbEVsbGlwc2UsCisgICAgUHV0SW1hZ2VEYXRhLAorICAgIFBhaW50
RnJhbWVGb3JNZWRpYSwKKyAgICBTdHJva2VSZWN0LAorI2lmIEVOQUJMRShJTkxJTkVfUEFUSF9E
QVRBKQorICAgIFN0cm9rZUlubGluZVBhdGgsCisjZW5kaWYKKyAgICBTdHJva2VQYXRoLAorICAg
IFN0cm9rZUVsbGlwc2UsCisgICAgQ2xlYXJSZWN0LAorICAgIEJlZ2luVHJhbnNwYXJlbmN5TGF5
ZXIsCisgICAgRW5kVHJhbnNwYXJlbmN5TGF5ZXIsCisjaWYgVVNFKENHKQorICAgIEFwcGx5U3Ry
b2tlUGF0dGVybiwgLy8gRklYTUU6IHNob3VsZCBub3QgYmUgYSByZWNvcmRlZCBpdGVtLgorICAg
IEFwcGx5RmlsbFBhdHRlcm4sIC8vIEZJWE1FOiBzaG91bGQgbm90IGJlIGEgcmVjb3JkZWQgaXRl
bS4KKyNlbmRpZgorICAgIEFwcGx5RGV2aWNlU2NhbGVGYWN0b3IsCit9OworCitXRUJDT1JFX0VY
UE9SVCBzaXplX3Qgc2l6ZU9mSXRlbUluQnl0ZXMoSXRlbVR5cGUpOworV0VCQ09SRV9FWFBPUlQg
Ym9vbCBpc0lubGluZUl0ZW0oSXRlbVR5cGUpOworV0VCQ09SRV9FWFBPUlQgYm9vbCBpc0RyYXdp
bmdJdGVtKEl0ZW1UeXBlKTsKKworfSAvLyBuYW1lc3BhY2UgRGlzcGxheUxpc3QKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdFJlY29yZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdFJlY29yZGVyLmNwcApp
bmRleCBkMTQyYzM3NzljYjk5M2U3MzcyYmI4Yjg4ODdmY2M0Yzc1MmZlOTg5Li5iZjViODNiMjJj
M2Y0YzcyNTgxZTY4YjlhNTJkNzczMDJkMjgyOTRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RSZWNvcmRlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3Bs
YXlMaXN0UmVjb3JkZXIuY3BwCkBAIC0xMDQsMTQgKzEwNCwxNCBAQCB2b2lkIFJlY29yZGVyOjph
cHBlbmRTdGF0ZUNoYW5nZUl0ZW0oY29uc3QgR3JhcGhpY3NDb250ZXh0U3RhdGVDaGFuZ2UmIGNo
YW5nZXMsCiAgICAgICAgIG1fZGlzcGxheUxpc3QuYXBwZW5kSXRlbShTZXRJbmxpbmVGaWxsR3Jh
ZGllbnQ6OmNyZWF0ZSgqY2hhbmdlcy5tX3N0YXRlLmZpbGxHcmFkaWVudCkpOwogfQogCi12b2lk
IFJlY29yZGVyOjp3aWxsQXBwZW5kSXRlbShjb25zdCBJdGVtJiBpdGVtKQordm9pZCBSZWNvcmRl
cjo6d2lsbEFwcGVuZEl0ZW1PZlR5cGUoSXRlbVR5cGUgdHlwZSkKIHsKICAgICBpZiAobV9kZWxl
Z2F0ZSkKLSAgICAgICAgbV9kZWxlZ2F0ZS0+d2lsbEFwcGVuZEl0ZW0oaXRlbSk7CisgICAgICAg
IG1fZGVsZWdhdGUtPndpbGxBcHBlbmRJdGVtT2ZUeXBlKHR5cGUpOwogCi0gICAgaWYgKGl0ZW0u
aXNEcmF3aW5nSXRlbSgpCisgICAgaWYgKGlzRHJhd2luZ0l0ZW0odHlwZSkKICNpZiBVU0UoQ0cp
Ci0gICAgICAgIHx8IGl0ZW0udHlwZSgpID09IEl0ZW1UeXBlOjpBcHBseVN0cm9rZVBhdHRlcm4g
fHwgaXRlbS50eXBlKCkgPT0gSXRlbVR5cGU6OkFwcGx5U3Ryb2tlUGF0dGVybgorICAgICAgICB8
fCB0eXBlID09IEl0ZW1UeXBlOjpBcHBseVN0cm9rZVBhdHRlcm4gfHwgdHlwZSA9PSBJdGVtVHlw
ZTo6QXBwbHlTdHJva2VQYXR0ZXJuCiAjZW5kaWYKICAgICApIHsKICAgICAgICAgR3JhcGhpY3ND
b250ZXh0U3RhdGVDaGFuZ2UmIHN0YXRlQ2hhbmdlcyA9IGN1cnJlbnRTdGF0ZSgpLnN0YXRlQ2hh
bmdlOwpAQCAtMTI2LDEwICsxMjYsMTAgQEAgdm9pZCBSZWNvcmRlcjo6d2lsbEFwcGVuZEl0ZW0o
Y29uc3QgSXRlbSYgaXRlbSkKICAgICB9CiB9CiAKLXZvaWQgUmVjb3JkZXI6OmRpZEFwcGVuZEl0
ZW0oY29uc3QgSXRlbSYgaXRlbSkKK3ZvaWQgUmVjb3JkZXI6OmRpZEFwcGVuZEl0ZW1PZlR5cGUo
SXRlbVR5cGUgdHlwZSkKIHsKICAgICBpZiAobV9kZWxlZ2F0ZSkKLSAgICAgICAgbV9kZWxlZ2F0
ZS0+ZGlkQXBwZW5kSXRlbShpdGVtKTsKKyAgICAgICAgbV9kZWxlZ2F0ZS0+ZGlkQXBwZW5kSXRl
bU9mVHlwZSh0eXBlKTsKIH0KIAogdm9pZCBSZWNvcmRlcjo6dXBkYXRlU3RhdGUoY29uc3QgR3Jh
cGhpY3NDb250ZXh0U3RhdGUmIHN0YXRlLCBHcmFwaGljc0NvbnRleHRTdGF0ZTo6U3RhdGVDaGFu
Z2VGbGFncyBmbGFncykKQEAgLTQ3NSw5ICs0NzUsMTAgQEAgdm9pZCBSZWNvcmRlcjo6YXBwZW5k
SXRlbUFuZFVwZGF0ZUV4dGVudChSZWY8RHJhd2luZ0l0ZW0+JiYgaXRlbSkKIHZvaWQgUmVjb3Jk
ZXI6OmFwcGVuZEl0ZW0oUmVmPEl0ZW0+JiYgaXRlbSkKIHsKICAgICBJdGVtJiBuZXdJdGVtID0g
aXRlbS5nZXQoKTsKLSAgICB3aWxsQXBwZW5kSXRlbShpdGVtLmdldCgpKTsKKyAgICBhdXRvIHR5
cGUgPSBuZXdJdGVtLnR5cGUoKTsKKyAgICB3aWxsQXBwZW5kSXRlbU9mVHlwZSh0eXBlKTsKICAg
ICBtX2Rpc3BsYXlMaXN0LmFwcGVuZChXVEZNb3ZlKGl0ZW0pKTsKLSAgICBkaWRBcHBlbmRJdGVt
KG5ld0l0ZW0pOworICAgIGRpZEFwcGVuZEl0ZW1PZlR5cGUodHlwZSk7CiB9CiAKIHZvaWQgUmVj
b3JkZXI6OnVwZGF0ZUl0ZW1FeHRlbnQoRHJhd2luZ0l0ZW0mIGl0ZW0pIGNvbnN0CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxh
eUxpc3RSZWNvcmRlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxh
eWxpc3RzL0Rpc3BsYXlMaXN0UmVjb3JkZXIuaAppbmRleCAzNDE1YzMxN2FlMjAwNjViNDM3NDQ4
OWU5MWUwOGFhMDNhZDE0MTUwLi45MmMwNTEzYTdmOWM2YmNhNTI1MDQ0OGYzMDgzZmRlMWNkNjZk
ODk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5
bGlzdHMvRGlzcGxheUxpc3RSZWNvcmRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdFJlY29yZGVyLmgKQEAgLTY2LDggKzY2
LDggQEAgcHVibGljOgogICAgIHB1YmxpYzoKICAgICAgICAgdmlydHVhbCB+RGVsZWdhdGUoKSB7
IH0KICAgICAgICAgdmlydHVhbCBib29sIGxvY2tSZW1vdGVJbWFnZUJ1ZmZlcihXZWJDb3JlOjpJ
bWFnZUJ1ZmZlciYpIHsgcmV0dXJuIGZhbHNlOyB9Ci0gICAgICAgIHZpcnR1YWwgdm9pZCB3aWxs
QXBwZW5kSXRlbShjb25zdCBJdGVtJikgeyB9OwotICAgICAgICB2aXJ0dWFsIHZvaWQgZGlkQXBw
ZW5kSXRlbShjb25zdCBJdGVtJikgeyB9OworICAgICAgICB2aXJ0dWFsIHZvaWQgd2lsbEFwcGVu
ZEl0ZW1PZlR5cGUoSXRlbVR5cGUpIHsgfQorICAgICAgICB2aXJ0dWFsIHZvaWQgZGlkQXBwZW5k
SXRlbU9mVHlwZShJdGVtVHlwZSkgeyB9CiAgICAgfTsKIAogcHJpdmF0ZToKQEAgLTE0OSw4ICsx
NDksOCBAQCBwcml2YXRlOgogICAgIEZsb2F0UmVjdCByb3VuZFRvRGV2aWNlUGl4ZWxzKGNvbnN0
IEZsb2F0UmVjdCYsIEdyYXBoaWNzQ29udGV4dDo6Um91bmRpbmdNb2RlKSBvdmVycmlkZTsKIAog
ICAgIHZvaWQgYXBwZW5kSXRlbShSZWY8SXRlbT4mJik7Ci0gICAgdm9pZCB3aWxsQXBwZW5kSXRl
bShjb25zdCBJdGVtJik7Ci0gICAgdm9pZCBkaWRBcHBlbmRJdGVtKGNvbnN0IEl0ZW0mKTsKKyAg
ICB2b2lkIHdpbGxBcHBlbmRJdGVtT2ZUeXBlKEl0ZW1UeXBlKTsKKyAgICB2b2lkIGRpZEFwcGVu
ZEl0ZW1PZlR5cGUoSXRlbVR5cGUpOwogICAgIHZvaWQgYXBwZW5kSXRlbUFuZFVwZGF0ZUV4dGVu
dChSZWY8RHJhd2luZ0l0ZW0+JiYpOwogCiAgICAgdm9pZCBhcHBlbmRTdGF0ZUNoYW5nZUl0ZW0o
Y29uc3QgR3JhcGhpY3NDb250ZXh0U3RhdGVDaGFuZ2UmLCBHcmFwaGljc0NvbnRleHRTdGF0ZTo6
U3RhdGVDaGFuZ2VGbGFncyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
R1BVL2dyYXBoaWNzL1JlbW90ZUltYWdlQnVmZmVyUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVtb3RlSW1hZ2VCdWZmZXJQcm94eS5oCmluZGV4IDVjYTU5
NjY4NGEzZGFhNjk5OGMwNmVmODk5M2ZkMDFkMjg3ODcyMWYuLmJjNDExZDZkYmY1MmNhZjhiMmMx
MWZjN2E0YmIzODhhNmJjYjA4OGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9HUFUvZ3JhcGhpY3MvUmVtb3RlSW1hZ2VCdWZmZXJQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVtb3RlSW1hZ2VCdWZmZXJQcm94eS5oCkBAIC0x
NzMsNyArMTczLDcgQEAgcHJvdGVjdGVkOgogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAK
LSAgICB2b2lkIHdpbGxBcHBlbmRJdGVtKGNvbnN0IFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpJdGVt
Jikgb3ZlcnJpZGUKKyAgICB2b2lkIHdpbGxBcHBlbmRJdGVtT2ZUeXBlKFdlYkNvcmU6OkRpc3Bs
YXlMaXN0OjpJdGVtVHlwZSkgb3ZlcnJpZGUKICAgICB7CiAgICAgICAgIGNvbnN0ZXhwciBzaXpl
X3QgRGlzcGxheUxpc3RCYXRjaFNpemUgPSA1MTI7CiAgICAgICAgIGF1dG8mIGRpc3BsYXlMaXN0
ID0gbV9kcmF3aW5nQ29udGV4dC5kaXNwbGF5TGlzdCgpOwpAQCAtMTg1LDkgKzE4NSw5IEBAIHBy
b3RlY3RlZDoKICAgICAgICAgZGlzcGxheUxpc3QuY2xlYXIoKTsKICAgICB9CiAKLSAgICB2b2lk
IGRpZEFwcGVuZEl0ZW0oY29uc3QgV2ViQ29yZTo6RGlzcGxheUxpc3Q6Okl0ZW0mIGl0ZW0pIG92
ZXJyaWRlCisgICAgdm9pZCBkaWRBcHBlbmRJdGVtT2ZUeXBlKFdlYkNvcmU6OkRpc3BsYXlMaXN0
OjpJdGVtVHlwZSB0eXBlKSBvdmVycmlkZQogICAgIHsKLSAgICAgICAgaWYgKGl0ZW0udHlwZSgp
ID09IFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpJdGVtVHlwZTo6RHJhd0ltYWdlQnVmZmVyKQorICAg
ICAgICBpZiAodHlwZSA9PSBXZWJDb3JlOjpEaXNwbGF5TGlzdDo6SXRlbVR5cGU6OkRyYXdJbWFn
ZUJ1ZmZlcikKICAgICAgICAgICAgIGZsdXNoRHJhd2luZ0NvbnRleHQoKTsKICAgICB9CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>