[Dev] rob's rpm doc

Tom Bryan dev@trilug.org
Wed, 20 Feb 2002 22:13:32 +0500


--------------Boundary-00=_K6DUY6MV3SKC5EGWQH4G
Content-Type: text/plain;
  charset="iso-8859-1"
Content-Transfer-Encoding: 8bit

On Wednesday 20 February 2002 07:28 pm, John F Davis wrote:

> I have to build some rpm's again at work.  I saw Rob had written a document
> on building RPM's.  Before I start another RPM building endeavor I would 
> like to read what he has written.  Anybody know where I can get a copy?

You should probably contact Rob directly for the final version.  I've 
attached a preliminary draft he sent me and some others for proofing.  I 
haven't heard from him since he left the trilug list, but I think that he 
intended to release it under an open license.

---Tom

--------------Boundary-00=_K6DUY6MV3SKC5EGWQH4G
Content-Type: text/plain;
  charset="iso-8859-1";
  name="buildrpm.orig"
Content-Transfer-Encoding: base64
Content-Description: RPM HOWTO
Content-Disposition: attachment; filename="buildrpm.orig"

KiBPdmVydmlldyAtLSBidWlsZGluZyBSUE1zDQoNCiAgVGhpcyBkb2N1bWVudCBkZXNjcmliZXMs
IHVzaW5nIGEgY29uY3JldGUgZXhhbXBsZSwgaG93IHRvDQpidWlsZCBzaW1wbGUgbm9hcmNoLCBi
aW5hcnkgYW5kIHNvdXJjZSBSUE1zLg0KDQogIEEgImJpbmFyeSIgUlBNIHdpbGwgdHlwaWNhbGx5
IGhhdmUgYSBuYW1lIGxpa2UNCiJteXByb2dzLTMuNC01LmkzODYucnBtLCIgbWVhbmluZyBpdCBj
b3JyZXNwb25kcyB0byB0aGUNCiJteXByb2dzIiBwYWNrYWdlLCB2ZXJzaW9uIDMuNCwgYnVpbGQg
cmVsZWFzZSA1LCBhbmQNCmJ1aWx0IGZvciB0aGUgaTM4NiBhcmNoaXRlY3R1cmUuICBTdWNoIGFu
IFJQTSB3b3VsZCB0eXBpY2FsbHkNCmNvbnRhaW4gb25lIG9yIG1vcmUgY29tcGlsZWQgKG9yIGJp
bmFyeSkgZXhlY3V0YWJsZXMsIGFuZA0Kd291bGQgdXN1YWxseSBpbnN0YWxsIHRob3NlIGV4ZWN1
dGFibGVzIGluIGEgZGlyZWN0b3J5IGxpa2UNCi9iaW4sIC91c3IvYmluLCAvc2JpbiBvciB0aGUg
bGlrZS4gIEluIGFkZGl0aW9uLCBhIGJpbmFyeQ0KUlBNIHdvdWxkIGxpa2VseSBhbHNvIGNvbnRh
aW4gc3VwcG9ydGluZyBmaWxlcyBzdWNoIGFzIA0KY29uZmlndXJhdGlvbiBmaWxlcywgZG9jdW1l
bnRhdGlvbiBmaWxlcyBhbmQgc28gb24uDQoNCiAgQSBub24tYXJjaGl0ZWN0dXJlLWRlcGVuZGVu
dCAob3Igbm9hcmNoKSBSUE0sIG9uIHRoZSBvdGhlcg0KaGFuZCwgaXMgbWVhbnQgdG8gY29udGFp
biBhcmNoaXRlY3R1cmUtaW5kZXBlbmRlbnQgZmlsZXMgc3VjaA0KYXMgdGV4dCBmaWxlcywgYXVk
aW8gb3IgdmlkZW8gZmlsZXMsIGZvbnQgZmlsZXMsIHBlcmhhcHMgZXZlbg0Kc2NyaXB0IGZpbGVz
IHN1Y2ggYXMgc2hlbGwgb3IgUGVybCBwcm9ncmFtcywgYW5kIGlzIG1lYW50IHRvIA0KYmUgaW5z
dGFsbGVkLCBhcyB0aGUgbmFtZSBzdWdnZXN0cywgb24gYW55IGFyY2hpdGVjdHVyZS4NCg0KICBG
aW5hbGx5LCBmb3IgZWl0aGVyIGtpbmQgb2YgUlBNLCB5b3UgbWlnaHQgd2FudCB0byBjcmVhdGUN
CnRoZSBjb3JyZXNwb25kaW5nICJzb3VyY2UiIFJQTSwgd2hpY2ggY29udGFpbnMgdGhlIG9yaWdp
bmFsDQpzb3VyY2UgYW5kIGJ1aWxkIGluc3RydWN0aW9ucyBhbmQgYWxsb3dzIG90aGVycyB0byBl
eGFtaW5lIHRoZQ0Kd2F5IHlvdSBidWlsdCB5b3VyIGJpbmFyeSBvciBub2FyY2ggUlBNIGFuZCBw
b3NzaWJseSByZWJ1aWxkDQppdCB0aGVtc2VsdmVzIHdpdGggb3RoZXIgb3B0aW9ucy4NCg0KICBJ
biBvcmRlciB0byBrZWVwIHRoaW5ncyBtYW5hZ2VhYmxlLCBJJ20gbm90IGdvaW5nIHRvIGNvdmVy
DQpldmVyeSBwb3NzaWJsZSBpc3N1ZSBpbnZvbHZlZCBpbiBjcmVhdGluZyBSUE1TLCBzbyB0aGlz
IGRvY3VtZW50DQpoYXMgYmVlbiB3cml0dGVuIGluIHRocmVlIHBhcnRzLiAgVGhlIGZpcnN0IHBh
cnQgLS0gdGhlIG1ham9yaXR5DQpvZiB0aGlzIGRvY3VtZW50IC0tIGRlc2NyaWJlcyB3aGF0IEkg
Y29uc2lkZXIgZXNzZW50aWFsIGluZm9ybWF0aW9uDQp0aGF0IGV2ZXJ5b25lIG5lZWRzIHRvIGtu
b3cgdG8gYnVpbGQgYmFzaWMgUlBNcy4gIFRoZSBzZWNvbmQNCnBhcnQgaXMgYW4gZW50aXJlIHNl
Y3Rpb24gdGl0bGVkICJBZHZhbmNlZCBpc3N1ZXMsIiB0aGF0IHlvdQ0KbWlnaHQgd2FudCB0byBw
ZXJ1c2Ugb25jZSB5b3UgaGF2ZSB0aGUgYmFzaWMgc3R1ZmYgdW5kZXIgDQpjb250cm9sLiAgQW5k
IHRoZXJlIGlzIGEgZmluYWwgc2VjdGlvbiwgIlN0dWZmIEkgZGlkbid0IGNvdmVyLCINCndoaWNo
IGp1c3QgbGlzdHMgdG9waWNzIHRoYXQgd2VyZSB3YWFhYWF5IG91dHNpZGUgdGhlIHNjb3BlDQpv
ZiBhIGJhc2ljIHR1dG9yaWFsIGFuZCB0aGF0IHlvdSBjYW4gaHVudCBkb3duIG9uIHlvdXIgb3du
IHRpbWUuDQoNCiAgRm9yIGEgY29tcGxldGUgY292ZXJhZ2UsIHNlZSB0aGUgYm9vayAiTWF4aW11
bSBSUE0sIiBhdmFpbGFibGUNCm9ubGluZSBhdCB3d3cucnBtLm9yZyBhbmQgb24gdGhlIFJlZCBI
YXQgNy4yIERvY3VtZW50YXRpb24gQ0QuDQoNCiAgRmluYWxseSwgaW4gdGVybXMgb2YgcHJlcmVx
dWlzaXRlcywgSSdtIGdvaW5nIHRvIGFzc3VtZSB0aGF0DQp5b3UncmUgYWxyZWFkeSBmYW1pbGlh
ciB3aXRoIGhvdyB0byB1c2UgdGhlICJycG0iIGNvbW1hbmQgdG8gDQpkbyBiYXNpYyB0aGluZ3Mg
bGlrZSBleGFtaW5lLCBpbnN0YWxsIGFuZCByZW1vdmUgUlBNcy4gIEluIA0KYWRkaXRpb24sIGlm
IHlvdSBoYXZlbid0IGFscmVhZHksIHlvdSBzaG91bGQgaW5zdGFsbCB0aGUNCiJycG0tYnVpbGQi
IFJQTSwgd2hpY2ggaXMgZXNzZW50aWFsIGZvciByb2xsaW5nIHlvdXIgb3duIFJQTXMuDQooRm9y
IGJhc2ljIFJQTSBtYW5hZ2VtZW50LCB5b3Ugc2hvdWxkIHVzZSB0aGUgInJwbSIgY29tbWFuZA0K
d2hpbGUsIGZvciBidWlsZGluZyBSUE1zLCB5b3Ugc2hvdWxkIHVzZSB0aGUgbmV3ZXIgInJwbWJ1
aWxkIg0KY29tbWFuZC4pDQoNCiAgQW5kIG5vdywgdG8gd29yay4NCg0KKiBUaGUgaHlwb3RoZXRp
Y2FsIHNjZW5hcmlvDQoNCiAgQXMgYSB3b3JraW5nIGV4YW1wbGUsIEknbSBnb2luZyB0byBkZW1v
bnN0cmF0ZSBmaXJzdCBob3cgdG8NCmJ1aWxkIGEgbm9hcmNoIFJQTSwgc2luY2UgdGhhdCdzIHNs
aWdodGx5IHNpbXBsZXIgdGhhbiBhDQpiaW5hcnkgUlBNLiAgSSdsbCBzcGVuZCB0aGUgbmV4dCBz
ZXZlcmFsIHNlY3Rpb25zIGRpc2N1c3NpbmcNCnRoZSBub2FyY2ggUlBNLCB0aGVuIHNob3cgaG93
IGVhc3kgaXQgaXMgdG8gZXh0ZW5kIHRoYXQgdG8NCmhhbmRsZSBiaW5hcnkgUlBNcyBhcyB3ZWxs
LiAgQW5kIG5vdywgdGhlIHNjZW5hcmlvLg0KDQogIEltYWdpbmUgdGhhdCwgYXMgZW1wbG95ZWUg
RnJlZCBCZXJmZXJkIG9mIFBpY3MgJ3InIFVzLCBJbmMsIA0KeW91J3ZlIGJlZW4gdG9sZCB0byBj
cmVhdGUgYSBub2FyY2ggUlBNIG91dCBvZiBhIGNvbGxlY3Rpb24gb2YNCmltYWdlcyBvZiB2YXJp
b3VzIGNhdHMsIGFsb25nIHdpdGggdGhlIGFjY29tcGFueWluZyBkb2N1bWVudGF0aW9uDQpmaWxl
cyBSRUFETUUgYW5kIEFSVElTVFMgdGhhdCBjYW1lIHdpdGggdGhvc2UgaW1hZ2VzIC0tIHRoZXNl
DQphcmUgdGhlIGZpbGVzIHRoYXQgd2lsbCBiZSBzdXBwbGllZCB0byB5b3UgYnkgdGhlIGFydGlz
dHMgb3INCnBob3RvZ3JhcGhlcnMuDQoNCiAgSW4gYWRkaXRpb24sIGp1c3QgdG8gbWFrZSB0aGlu
Z3MgYSB0b3VjaCBtb3JlIGludGVyZXN0aW5nLA0KYWxsIFJQTXMgYnVpbHQgYXQgdGhpcyBjb21w
YW55IG11c3QgYWxzbyBjb250YWluIHRoZSBzdGFuZGFyZA0KY29ycG9yYXRlICJMSUNFTlNFIiBm
aWxlLCBhcyB3ZWxsIGFzIGEgY29ycG9yYXRlIGxvZ28gaW1hZ2UgZmlsZQ0KInBpY3NydXMuanBn
Ii4gIFRoZXNlIHR3byBhZGRpdGlvbmFsIGZpbGVzIHdvbid0IGNvbWUgZnJvbSB0aGUNCmFydGlz
dHMgLS0gYXMgdGhlIFJQTSBidWlsZGVyLCBpdCdzIHlvdXIgam9iIHRvIGFkZCB0aG9zZSB0bw0K
dGhlIGV2ZW50dWFsIFJQTS4NCg0KICBTaW5jZSB0aGlzIHdpbGwgYmUgdGhlIGNvbXBhbnkncyB2
ZXJ5IGZpcnN0IGNhdC1waWMtcmVsYXRlZCBSUE0sDQppdCB3aWxsIGhhdmUgdGhlIGRlc2lnbmF0
aW9uczoNCg0KICBwYWNrYWdlIG5hbWU6IGNhdHBpY3MNCiAgdmVyc2lvbjogMS4wDQogIHJlbGVh
c2U6IDENCg0Kd2hpY2ggc3VnZ2VzdHMgdGhhdCB0aGUgZmluYWwgUlBNIHNob3VsZCBoYXZlIHRo
ZSBuYW1lDQpjYXRwaWNzLTEuMC0xLm5vYXJjaC5ycG0uICBZb3UndmUgYmVlbiB0b2xkIHRvIGJ1
aWxkIHRoaXMgUlBNIGZpbGUgDQpzbyB0aGF0LCB3aGVuIHRoZSBjdXN0b21lciBpbnN0YWxscyBp
dCBvbiB0aGVpciBzeXN0ZW0sIGl0IHdpbGwNCnVubG9hZCBmaWxlcyBhbmQgZGlyZWN0b3JpZXMg
aW4gdGhlIGxvY2F0aW9uczoNCg0KICAvdXNyL2xvY2FsL2NhdHBpY3MvPGNhdCBpbWFnZSBmaWxl
cz4JIyBpbmNsdWRpbmcgcGljc3J1cy5qcGcNCiAgL3Vzci9zaGFyZS9kb2MvY2F0cGljcy0xLjAv
e1JFQURNRSwgQVJUSVNUUywgTElDRU5TRX0NCg0KU28sIGxldCdzIHN0YXJ0IGJ1aWxkaW5nIGNh
dHBpY3MtMS4wLTEubm9hcmNoLnJwbS4NCg0KKiBUaGUgUlBNIGJ1aWxkaW5nIGRpcmVjdG9yeSBz
dHJ1Y3R1cmUNCg0KICBXaGlsZSBSZWQgSGF0IExpbnV4IGFscmVhZHkgcHJvdmlkZXMgYSBkaXJl
Y3Rvcnkgc3RydWN0dXJlDQp1bmRlciAvdXNyL3NyYy9yZWRoYXQgZm9yIGJ1aWxkaW5nIG5ldyBS
UE1zLCB0aGVzZSBkaXJlY3Rvcmllcw0KYXJlIGF2YWlsYWJsZSBvbmx5IHRvIHJvb3QuICBBbmQg
c2luY2UgaXQncyBnZW5lcmFsbHkgY29uc2lkZXJlZA0KYSBoYW5naW5nIG9mZmVuc2UgdG8gYnVp
bGQgbmV3IFJQTXMgYXMgcm9vdCwgeW91J3JlIHR5cGljYWxseQ0KZW5jb3VyYWdlZCwgYXMgYSBu
b24tcm9vdCB1c2VyLCB0byBkdXBsaWNhdGUgdGhhdCBkaXJlY3RvcnkNCnN0cnVjdHVyZSB1bmRl
ciB5b3VyIGhvbWUgZGlyZWN0b3J5IGFuZCBidWlsZCB5b3VyIFJQTXMgdGhlcmUuDQoNCiAgU28g
cGljayBhIHJlYXNvbmFibGUgdG9wLWxldmVsIG5hbWUgKHNheSAicnBtIiksIGFuZCByZS1jcmVh
dGUNCnRoYXQgZGlyZWN0b3J5IHN0cnVjdHVyZToNCg0KICAkIGNkDQogICQgbWtkaXIgLXAgcnBt
L3tTT1VSQ0VTLFNQRUNTLEJVSUxELFJQTVMsU1JQTVN9DQogICQgbWtkaXIgLXAgcnBtL1JQTVMv
e2kzODYsaTU4NixpNjg2LG5vYXJjaH0NCiAgJCBta2RpciBycG0vdG1wCSMgdG8gYmUgZXhwbGFp
bmVkIHNob3J0bHkNCiAgDQogIEluIG9yZGVyIG9mIHdoZW4geW91J2xsIHVzZSB0aGVzZSBkaXJl
Y3RvcmllcywgaGVyZSdzIHdoYXQNCnRoZXkgcmVwcmVzZW50Og0KDQogIFNPVVJDRVM6IFdoZXJl
IHlvdSdsbCBnYXRoZXIgeW91ciBpbml0aWFsIGNvbGxlY3Rpb24gb2YgZmlsZXMsDQoJICAgaW4g
c29tZSBmb3JtYXQsIGZyb20gd2hpY2ggdG8gYnVpbGQgdGhlIGV2ZW50dWFsIFJQTS4NCgkgICBJ
biBvdXIgY2FzZSwgd2UnbGwgc3RhcnQgd2l0aCBhbGwgb2YgdGhlIGNhdCBpbWFnZQ0KCSAgIGZp
bGVzLCBwbHVzIHRoZSBhY2NvbXBhbnlpbmcgUkVBRE1FIGFuZCBBUlRJU1RTIGZpbGVzLg0KDQog
IFNQRUNTOiAgIFdoZXJlIHlvdSdsbCBjcmVhdGUgdGhlICJzcGVjIiBmaWxlIGZvciB0aGUgbmV3
IFJQTSwNCgkgICB3aGljaCBkZWZpbmVzIChhbW9uZyBtYW55IG90aGVyIHRoaW5ncykgaW5mb3Jt
YXRpb24gYWJvdXQgDQoJICAgdGhlIG5ldyBSUE0sIGhvdyB0byBidWlsZCBpdCwgd2hhdCBmaWxl
cyBpdCBzaG91bGQgY29udGFpbg0KCSAgIGFuZCB3aGVyZSB0aG9zZSBmaWxlcyBzaG91bGQgYmUg
aW5zdGFsbGVkIG9uIHRoZSB0YXJnZXQNCgkgICBob3N0Lg0KDQogIEJVSUxEOiAgIFRoaXMgaXMg
dGhlIGFjdHVhbCAiYnVpbGQiIGRpcmVjdG9yeSwgd2hlcmUgdGhlIG9yaWdpbmFsDQoJICAgc291
cmNlcyBtYXkgYmUgcHJvY2Vzc2VkIHRvIGdlbmVyYXRlIGV2ZW4gbW9yZSBmaWxlcyB0bw0KCSAg
IGJlIGFkZGVkIHRvIHRoZSBuZXcgUlBNLiAgSWYgeW91J3JlIGJ1aWxkaW5nIGEgbm9hcmNoDQoJ
ICAgUlBNLCB0aGVyZSBtYXkgaW4gZmFjdCBiZSBub3RoaW5nIHRvIGJ1aWxkLCBzaW5jZSB5b3UN
CgkgICBoYXZlIGFsbCB0aGUgZmlsZXMgeW91IG5lZWQgYWxyZWFkeS4NCg0KCSAgIElmLCBob3dl
dmVyLCB5b3UncmUgYnVpbGRpbmcgYSBiaW5hcnkgUlBNIGZyb20gcHJvZ3JhbQ0KCSAgIHNvdXJj
ZXMsIHRoaXMgaXMgd2hlcmUgeW91J2Qgc2V0IHVwIHRoZSBzb3VyY2UgZmlsZXMgYW5kDQoJICAg
YSBNYWtlZmlsZSwgYW5kIGNyZWF0ZSB0aGUgb2JqZWN0IGZpbGVzIGFuZCBldmVudHVhbA0KCSAg
IGV4ZWN1dGFibGVzLiAgSGVuY2UsIHRoZSBkaXJlY3RvcnkgbmFtZSAiQlVJTEQiLg0KDQogIHRt
cDogICAgIEEgdGVtcG9yYXJ5IGRpcmVjdG9yeSwgdW5kZXIgd2hpY2ggeW91J2xsIHR5cGljYWxs
eSBjcmVhdGUNCgkgICB0aGUgImJ1aWxkIHJvb3QiIGZvciB0aGUgbmV3IFJQTS4gIFRoaXMgaXMg
d2hlcmUgeW91J2xsDQoJICAgY3JlYXRlIGEgZGlyZWN0b3J5IHN0cnVjdHVyZSB3aGljaCBjb250
YWlucyBhbGwgb2YgdGhlDQoJICAgZmlsZXMgYW5kIGRpcmVjdG9yaWVzIHRvIGJlIGFkZGVkIHRv
IHRoZSBuZXcgUlBNLCBpbg0KCSAgIGV4YWN0bHkgdGhlIGRpcmVjdG9yeSBzdHJ1Y3R1cmUgdGhl
eSBzaG91bGQgYmUgaW5zdGFsbGVkDQoJICAgb24gdGhlIHRhcmdldCBob3N0Lg0KDQoJICAgSW4g
b3RoZXIgd29yZHMsIG9uY2UgeW91IGZpbmlzaCB0aGUgc3RhZ2Ugb2YgImJ1aWxkImluZw0KCSAg
IGFsbCBvZiB0aGUgZmlsZXMgdGhhdCBzaG91bGQgZ28gaW4gdGhlIG5ldyBSUE0sIHRoZQ0KCSAg
IGJ1aWxkIHJvb3Qgd2lsbCByZXByZXNlbnQgcHJlY2lzZWx5IHRoZWlyIHRhcmdldCBkaXJlY3Rv
cnkNCgkgICBzdHJ1Y3R1cmUuDQoNCiAgUlBNUzoJICAgV2hlcmUgbmV3IFJQTXMgd2lsbCBiZSBw
bGFjZWQgZm9yIHlvdXIgaW5zcGVjdGlvbiBhbmQNCgkgICBhcHByb3ZhbC4gIE5ldyBub2FyY2gg
UlBNcyB3aWxsIGJlIHBsYWNlZCBpbiBSUE1TL25vYXJjaCwNCgkgICBuZXcgYmluYXJ5IFJQTXMg
d2lsbCBnbyBpbiBSUE1TL2kzODYsIGFuZCBzbyBvbi4NCg0KICBTUlBNUzogICBXaGVyZSBuZXcg
c291cmNlIFJQTXMgd2lsbCBnby4NCg0KICBGaW5hbGx5LCB5b3UgY2FuIGZvcmNlIHRoZSAicnBt
YnVpbGQiIGNvbW1hbmQgdG8gdXNlIHRoaXMgZGlyZWN0b3J5IA0Kc3RydWN0dXJlIGJ5IGNyZWF0
aW5nIHRoZSBjb25maWd1cmF0aW9uIGZpbGUgfi8ucnBtbWFjcm9zLCB3aXRoIHRoZSANCmNvbnRl
bnRzOg0KDQogICVfdG9wZGlyCS9ob21lL2ZyZWQvcnBtDQogICVfdG1wcGF0aAkvaG9tZS9mcmVk
L3JwbS90bXANCg0KICBTbyBsZXQncyBzdGFydCBkaXNjdXNzaW5nIGVhY2ggc3RhZ2Ugb2YgdGhl
IFJQTSBidWlsZCBpbiBkZXRhaWwuDQoNCiogQnVpbGRpbmcgdGhlIHRhcmJhbGwNCg0KICBZb3Vy
IGZpcnN0IGpvYiBpcyB0byBsb2FkLCBpbnRvIHRoZSBTT1VSQ0VTIGRpcmVjdG9yeSwgdGhlDQpp
bml0aWFsIHNldCBvZiBmaWxlcyBkZWxpdmVyZWQgYnkgdGhlIGFydGlzdHMgdGhhdCB3aWxsIGJl
DQp1c2VkIHRvIGNyZWF0ZSB0aGUgbmV3IFJQTS4gIFRoZSBtb3N0IGNvbW1vbiBmb3JtYXQgZm9y
IHRoZQ0Kc291cmNlIGZpbGVzIGlzIGEgInRhcmJhbGwiIC0tIGEgZ3ppcHBlZCB0YXIgYXJjaGl2
ZS4NClRhcmJhbGxzIGFyZSBzdGFuZGFyZCBzaW5jZSB0aGV5IGFyZSBhIGNvbnZlbmllbnQgd2F5
IHRvIA0Kc2hpcCBhbiBlbnRpcmUgY29sbGVjdGlvbiBvZiBzb3VyY2UgZmlsZXMsIHBsdXMgdGhl
IA0KInJwbWJ1aWxkIiBjb21tYW5kIGhhcyBzaG9ydGN1dHMgZm9yIGhhbmRsaW5nIHRhcmJhbGxz
DQphdXRvbWF0aWNhbGx5Lg0KDQogIElmIHRoaXMgaXMgeW91ciBmaXJzdCBhdHRlbXB0IGF0IGJ1
aWxkaW5nIGEgImNhdHBpY3MiIFJQTSwgDQp0cmFkaXRpb24gc3VnZ2VzdHMgdGhhdCB0aGUgdGFy
YmFsbCBiZSBuYW1lZCBjYXRwaWNzLTEuMC50YXIuZ3osDQpvciBjYXRwaWNzLTEuMC50Z3ogZm9y
IHNob3J0LiAgSWYgd2UgYXNzdW1lIGEgY29sbGVjdGlvbiBvZg0KZm91ciBjYXQgcGljdHVyZXMs
IHRoZSBjb250ZW50cyBvZiB0aGUgdGFyYmFsbCBtaWdodCBiZToNCg0KICAkIHRhciB0dnpmIGNh
dHBpY3MtMS4wLnRneg0KICBjYXRwaWNzLTEuMC8NCiAgY2F0cGljcy0xLjAvcGljcy8NCiAgY2F0
cGljcy0xLjAvcGljcy9qb25lcy5qcGcNCiAgY2F0cGljcy0xLjAvcGljcy94ZW5hLmpwZw0KICBj
YXRwaWNzLTEuMC9waWNzL2NsYXJlbmNlLmpwZw0KICBjYXRwaWNzLTEuMC9waWNzL2VsbGlvdHQu
anBnDQogIGNhdHBpY3MtMS4wL0FSVElTVFMNCiAgY2F0cGljcy0xLjAvUkVBRE1FDQoNCiAgVGhp
bmdzIHRvIG5vdGljZSBhYm91dCB0aGUgdGFyYmFsbDoNCg0KICAtIEl0IHNob3VsZCBoYXZlIGEg
dG9wLWxldmVsIGRpcmVjdG9yeSBuYW1lIHRoYXQgbWF0Y2hlcyB0aGUgUlBNDQogICAgbmFtZSBh
bmQgdmVyc2lvbiB0aGF0IHlvdSBwbGFuIHRvIGJ1aWxkLg0KDQogIC0gSXQgc2hvdWxkIGNvbnRh
aW4gZXZlcnl0aGluZyB0aGF0IHRoZSBhcnRpc3RzIG9yIHBob3RvZ3JhcGhlcnMNCiAgICB3ZXJl
IHJlc3BvbnNpYmxlIGZvciBzdXBwbHlpbmcuICBOb3RpY2UgdGhhdCB0aGV5IGRpZCAqbm90Kg0K
ICAgIHN1cHBseSB0aGUgY29ycG9yYXRlIGxvZ28gb3IgTElDRU5TRSBmaWxlIC0tIHRoYXQncyB5
b3VyIGpvYi4NCiAgICBUaGlzIGlzIGp1c3QgZGVtb25zdHJhdGluZyB0aGF0IHlvdSBtaWdodCBu
ZWVkIHRvIGdldCB0aGUNCiAgICBjb250ZW50cyBmb3IgdGhlIHByb3Bvc2VkIFJQTSBmcm9tIG1v
cmUgdGhhbiBvbmUgc291cmNlLA0KICAgIG5vdCBqdXN0IGEgc2luZ2xlIHRhcmJhbGwuDQoNCiAg
LSBNb3N0IGltcG9ydGFudGx5LCB0aGUgbG9jYXRpb24gb2YgdGhlIGZpbGVzIGluIHRoZSB0YXJi
YWxsIGRvDQogICAgKm5vdCogaGF2ZSB0byBtYXRjaCB0aGVpciBldmVudHVhbCBsb2NhdGlvbiBp
biB0aGUgbmV3IFJQTS4NCiAgICBCZXR3ZWVuIGV4dHJhY3RpbmcgdGhlIGZpbGVzIGZyb20gdGhl
IFNPVVJDRVMgZGlyZWN0b3J5IGFuZA0KICAgIGFkZGluZyB0aGVtIHRvIHRoZSBidWlsZCByb290
LCB5b3UgaGF2ZSB0aGUgZnJlZWRvbSB0byBjaGFuZ2UNCiAgICB0aGVpciBsb2NhdGlvbnMgdG8g
bWF0Y2ggdGhlIGV2ZW50dWFsIGRpcmVjdG9yeSBzdHJ1Y3R1cmUuDQoNCiAgICBTcGVjaWZpY2Fs
bHksIHRoZSBsb2NhdGlvbiBvZiBhbnkgZG9jdW1lbnRhdGlvbiBmaWxlcyBsaWtlIA0KICAgIFJF
QURNRSBkb24ndCBoYXZlIHRvIG1hdGNoIHRoZWlyIGZpbmFsIGxvY2F0aW9uLiAgSW4gZmFjdCwN
CiAgICB0aGVyZSBpcyBhIHRyYWRpdGlvbiBvZiBwdXR0aW5nIGRvYyBmaWxlcyBqdXN0IHVuZGVy
IHRoZSANCiAgICB0b3AtbGV2ZWwgZGlyZWN0b3J5IGluIHRoZSB0YXJiYWxsIGFzIHRoZSBSUE0t
YnVpbGRpbmcNCiAgICBwcm9jZXNzIGhhcyBhIHNob3J0Y3V0IGZvciBkZWFsaW5nIHdpdGggZG9j
IGZpbGVzIHRoYXQgYXJlDQogICAgcGxhY2VkIGhlcmUuDQoNCiAgQWxsIHJpZ2h0LCBub3cgdGhh
dCB5b3UgaGF2ZSB5b3VyIHRhcmJhbGwsIGl0J3MgdGltZSB0byBkZXNpZ24NCnlvdXIgc3BlYyBm
aWxlLg0KDQoqIFRoZSBzcGVjIGZpbGUgLS0gImNhdHBpY3Muc3BlYyINCioqIFdoYXQncyBhIHNw
ZWMgZmlsZT8NCg0KICBUaGUgInNwZWMiIGZpbGUgZm9yIGEgbmV3IFJQTSAod2hvc2UgbmFtZSBp
cyB0eXBpY2FsbHkNCjxwYWNrYWdlPi5zcGVjIG9yLCBpbiBvdXIgY2FzZSwgImNhdHBpY3Muc3Bl
YyIpIGNvbnRhaW5zLCANCmFtb25nIG90aGVyIHRoaW5ncywgdGhlIG5hbWUgYW5kIHZlcnNpb24g
b2YgdGhlIFJQTSB5b3UncmUgDQpidWlsZGluZywgYWxvbmcgd2l0aCBjb3Jwb3JhdGUgaW5mb3Jt
YXRpb24gYW5kIGRldGFpbGVkIHN0ZXBzIA0KZGVzY3JpYmluZyB0aGUgc291cmNlcywgaG93IHRv
IGJ1aWxkIHRob3NlIHNvdXJjZXMgYW5kIGhvdyB0byANCnBhY2thZ2UgdGhlIHJlc3VsdGluZyBm
aWxlcyB0byBjcmVhdGUgdGhlIG5ldyBSUE0uDQogIA0KICBNb3JlIHNwZWNpZmljYWxseSwgdGhl
IHNwZWMgZmlsZSBzdGFydHMgd2l0aCBhICJwcmVhbWJsZSINCmRlc2NyaWJpbmcgdGhlIHByb3Bl
cnRpZXMgb2YgdGhlIG5ldyBSUE0sIGZvbGxvd2VkIGJ5IHRoZQ0KaW5zdHJ1Y3Rpb25zIGZvciB0
aGUgIiVwcmVwIiwgIiVidWlsZCIsICIlaW5zdGFsbCIgYW5kICIlY2xlYW4iDQpzdGFnZXMsIGFz
IHdlbGwgYXMgdGhlICIlZmlsZXMiIHNlY3Rpb24gd2hpY2ggbGlzdHMgcHJlY2lzZWx5DQp3aGlj
aCBmaWxlcyB5b3Ugd2FudCB0byBhZGQgdG8gdGhlIFJQTSBhbmQgd2hlcmUgLS0gd2UnbGwNCmNv
dmVyIHRoZXNlIHN0YWdlcyBvbmUgYXQgYSB0aW1lLg0KICANCiAgVGVjaG5pY2FsbHksIHRoZSBz
cGVjIGZpbGUgY2FuIGJlIGNyZWF0ZWQgYW55d2hlcmUsIGJ1dCBpdCdzDQp0cmFkaXRpb25hbCB0
byBjcmVhdGUgaXQgaW4geW91ciBTUEVDUyBkaXJlY3RvcnkuICBJZiwgYXQgYW55IA0KdGltZSwg
eW91IHdhbnQgdG8gc2VlIHRoZSBzcGVjIGZpbGUgaW4gaXRzIGVudGlyZXR5LCBzZWUgDQp0aGUg
bGlzdGluZyBmb3IgImNhdHBpY3Muc3BlYyIgaW4gQXBwZW5kaXggQS4pDQoNCioqIFRoZSBwcmVh
bWJsZQ0KDQogIENvbnNpZGVyIGEgcG9zc2libGUgcHJlYW1ibGUgYXQgdGhlIGJlZ2lubmluZyBv
ZiBvdXINCiJjYXRwaWNzLnNwZWMiIGZpbGU6DQoNCi0tLS0tIGJlZ2luIHByZWFtYmxlIC0tLS0t
DQogIFN1bW1hcnk6IENhdFBpY3MsIGEgY29sbGVjdGlvbiBvZiBmZWxpbmUgaW1hZ2VzDQogIE5h
bWU6IGNhdHBpY3MNCiAgVmVyc2lvbjogMS4wDQogIFJlbGVhc2U6IDENCiAgQ29weXJpZ2h0OiBH
UEwNCiAgR3JvdXA6IEFtdXNlbWVudHMvR3JhcGhpY3MNCiAgU291cmNlOiBmdHA6Ly9mdHAucGlj
c3J1cy5jb20vcHViLyV7bmFtZX0tJXt2ZXJzaW9ufS50Z3oNCiAgVVJMOiBodHRwOi8vd3d3LnBp
Y3NydXMuY29tL3B1Yi9waWNzL2NhdHBpY3MuaHRtbA0KICBCdWlsZEFyY2g6IG5vYXJjaA0KICBC
dWlsZFJvb3Q6ICV7X3RtcHBhdGh9LyV7bmFtZX0tcm9vdA0KICBWZW5kb3I6IFBpY3MgUiBVcywg
SW5jLg0KICBQYWNrYWdlcjogRnJlZCBCZXJmZXJkIDxmcmVkQHBpY3NydXMuY29tPg0KICBSZXF1
aXJlczogZWUNCg0KICAlZGVzY3JpcHRpb24NCiAgVGhpcyBwYWNrYWdlIGNvbnRhaW5zIENhdFBp
Y3MsIGp1c3QgYSBjb2xsZWN0aW9uIG9mIA0KICBmZWxpbmUgaW1hZ2VzIGluIHZhcmlvdXMgZ3Jh
cGhpY3MgZm9ybWF0cywgYWxvbmcgd2l0aA0KICBzb21lIGRvY3VtZW50YXRpb24gYW5kIGNvcnBv
cmF0ZSBpbmZvIGZpbGVzLg0KLS0tLS0gZW5kIHByZWFtYmxlIC0tLS0tDQoNCiAgVGhlIHByZWFt
YmxlIHJlcHJlc2VudHMgdGhlIGluZm9ybWF0aW9uIHNvbWVvbmUgY2FuIHNlZSBpZg0KdGhleSBx
dWVyeSB0aGUgZXZlbnR1YWwgUlBNIHdpdGg6DQoNCiAgJCBycG0gLXFwaSBjYXRwaWNzLTEuMC0x
Lm5vYXJjaC5ycG0NCg0KU29tZSBvZiB0aGVzZSB2YWx1ZXMgc2hvdWxkIGJlIG9idmlvdXM7IHNv
bWUgb2JzZXJ2YXRpb25zIGFib3V0DQp0aGUgcmVzdDoNCg0KICAtIFRoZSBHcm91cCB2YWx1ZSBz
aG91bGQgYmUgb25lIG9mIHRoZSB2YWx1ZXMgZnJvbSB0aGUgZmlsZQ0KICAgIC91c3Ivc2hhcmUv
ZG9jL3JwbS00LjAuMy9HUk9VUFMuICBTdHJpY3RseSBzcGVha2luZywgaXQgDQogICAgZG9lc24n
dCAqaGF2ZSogdG8gYmUsIGJ1dCB5b3UncmUgc3Ryb25nbHkgZW5jb3VyYWdlZCB0byB1c2UNCiAg
ICBvbmUgb2YgdGhvc2UgY29tYmluYXRpb25zLg0KDQogIC0gVGhlIFNvdXJjZSB2YWx1ZSByZXBy
ZXNlbnRzIHR3byB0aGluZ3MuICBGaXJzdCwgaWYgdGhlDQogICAgb3JpZ2luYWwgdGFyYmFsbCBp
cyBhdmFpbGFibGUgb24gdGhlIG5ldCBzb21ld2hlcmUsIHRoaXMNCiAgICB2YWx1ZSBzaG91bGQg
cmVmZXIgdG8gaXRzIGxvY2F0aW9uLCB0eXBpY2FsbHkgaW4gYW4gRlRQIG9yDQogICAgSFRUUCBh
cmNoaXZlLiAgTW9yZSBpbXBvcnRhbnRseSwgdGhvdWdoLCB0aGUgbGFzdCBjb21wb25lbnQNCiAg
ICBvZiB0aGlzIHZhbHVlIGlzIHVzZWQgYXMgYSBwb2ludGVyIHRvIHRoZSB0YXJiYWxsIHRvIGJl
IHVzZWQNCiAgICBmcm9tIHRoZSBTT1VSQ0VTIGRpcmVjdG9yeS4gIEFsbCB0aGlzIG1lYW5zIGlz
IHRoYXQgaXQncyBvbmx5DQogICAgdGhhdCBsYXN0IGNvbXBvbmVudCB0aGF0J3MgcmVhbGx5IGNy
aXRpY2FsLiAgKFlvdSBjYW4gYWxzbw0KICAgIHVzZSB0aGUgdGFnIFNvdXJjZTAgaW4gcGxhY2Ug
b2YgU291cmNlIC0tIHRoZSBlZmZlY3QgaXMgdGhlDQogICAgc2FtZS4pDQoNCiAgICBTaW1pbGFy
bHksIHRoZSBVUkwgdmFsdWUgaXMgbm90IGVzc2VudGlhbCwgYW5kIHdvdWxkIGp1c3QNCiAgICBj
b250YWluIGEgcG9pbnRlciB0byBpbmZvcm1hdGlvbiBhYm91dCB0aGF0IHBhY2thZ2UgdGhhdCdz
DQogICAgYXZhaWxhYmxlIG9uIHRoZSBuZXQuDQoNCiAgLSBCdWlsZFJvb3QgcmVwcmVzZW50cyB0
aGUgbG9jYXRpb24gd2hlcmUgeW91IHBsYW4gb24gYnVpbGRpbmcNCiAgICB0aGUgZGlyZWN0b3J5
IHN0cnVjdHVyZSB0aGF0IHdpbGwgdWx0aW1hdGVseSBtYXRjaCB0aGUgZmluYWwNCiAgICBzdHJ1
Y3R1cmUgaW4gdGhlIFJQTSAtLSB3aGVyZSB0aGluZ3Mgd2lsbCBnbyB3aGVuIHRoZSBSUE0gaXMN
CiAgICBpbnN0YWxsZWQgb24gdGhlIHRhcmdldCBob3N0Lg0KDQogICAgQXMgc2hvd24gYWJvdmUs
IGl0J3MgdHJhZGl0aW9uYWwgdG8gcHV0IGFsbCBuZXcgYnVpbGQgcm9vdHMNCiAgICBpbiB0aGUg
fi9ycG0vdG1wIGRpcmVjdG9yeSwgaW4gYSBzdWJkaXJlY3RvcnkgbWF0Y2hpbmcgdGhlIG5hbWUN
CiAgICBvZiB0aGUgcGFja2FnZS4gIEluIG91ciBjYXNlLCB0aGlzIFJQTSdzIGJ1aWxkIHJvb3Qg
d2lsbCBiZSB0aGUNCiAgICBkaXJlY3Rvcnkgfi9ycG0vdG1wL2NhdHBpY3Mtcm9vdCwgYW5kIGl0
IHdpbGwgYmUgeW91ciBqb2IgdG8NCiAgICBjb3B5IHVuZGVyIHRoYXQgZGlyZWN0b3J5IHdoYXQg
eW91IHdhbnQgYXMgdGhlIGV2ZW50dWFsIGZpbGUNCiAgICBhbmQgZGlyZWN0b3J5IGxheW91dCBv
ZiB0aGUgZmluYWwgUlBNLg0KDQogIFRoZSByZXN0IG9mIHRoZSBwcmVhbWJsZSBpcyBmYWlybHkg
c3RyYWlnaHRmb3J3YXJkLCBhbmQgZXZlbiANCmRlbW9uc3RyYXRlcyBhIHNpbXBsZSBwYWNrYWdl
IHByZXJlcXVpc2l0ZSAtLSB5b3UgY2FuIHJlcXVpcmUNCnRoYXQgdGhlICJlZSIgcGFja2FnZSBi
ZSBpbnN0YWxsZWQgb24gdGhlIHRhcmdldCBob3N0IGJlZm9yZQ0KdGhpcyBSUE0gY2FuIGJlIGlu
c3RhbGxlZC4NCg0KICBBIGZpbmFsIG5vdGU6ICB5b3UncmUgYWxsb3dlZCB0byBoYXZlIG1vcmUg
dGhhbiBvbmUgU291cmNlDQpkaXJlY3RpdmUgaWYgeW91J3JlIGNvbGxlY3RpbmcgdGhlIHNvdXJj
ZSBmb3IgdGhpcyBuZXcgUlBNIGZyb20NCm1vcmUgdGhhbiBvbmUgbG9jYXRpb24sIGJ1dCBJJ20g
bm90IGdvaW5nIHRvIGdldCBpbnRvIHRoYXQNCmhlcmUuICBBcyBJIHNhaWQsIEknZCBsaWtlIHRv
IGtlZXAgdGhpcyBzaW1wbGUuDQoNCiAgQW5kIG5vdywgb24gd2l0aCB0aGUgYWN0dWFsIGNvbnN0
cnVjdGlvbi4NCg0KKiogVGhlIHNjcmlwdCB2YXJpYWJsZXMgKGEgaHVnZSBmb290bm90ZSwgcmVh
bGx5KQ0KDQogIEdpdmVuIHRoYXQgdGhlIHJlc3Qgb2YgdGhlIHNwZWMgZmlsZSByZXByZXNlbnRz
IGNvbW1hbmRzIHRvIGJlDQpydW4gdGhhdCB3aWxsIHVubG9hZCB0aGUgdGFyYmFsbCwgcHJvY2Vz
cyBpdHMgY29udGVudHMgYW5kIGJ1aWxkIA0KYSBuZXcgUlBNLCBpdCdzIHdvcnRoIHBvaW50aW5n
IG91dCB0aGF0LCBhdCB0aGlzIHBvaW50LCB0aGUgDQpmb2xsb3dpbmcgdmFyaWFibGVzIGFyZSBu
b3cgYXZhaWxhYmxlIHRvIHVzZSBpbiBhbnkgb2YgdGhlc2UgDQp1cGNvbWluZyBzdGVwcyAoc2hv
d24gd2l0aCB0aGVpciB2YWx1ZXMgZm9yIG91ciBleGFtcGxlKToNCg0KICBSUE1fUEFDS0FHRV9O
QU1FCQljYXRwaWNzDQogIFJQTV9QQUNLQUdFX1ZFUlNJT04JCTEuMA0KICBSUE1fUEFDS0FHRV9S
RUxFQVNFCQkxDQogIFJQTV9BUkNICQkJaTM4Ng0KICBSUE1fT1MJCQlsaW51eA0KICBSUE1fU09V
UkNFX0RJUgkJL2hvbWUvZnJlZC9ycG0vU09VUkNFUw0KICBSUE1fQlVJTERfRElSCQkJL2hvbWUv
ZnJlZC9ycG0vQlVJTEQNCiAgUlBNX0JVSUxEX1JPT1QJCS9ob21lL2ZyZWQvcnBtL3RtcC9jYXRw
aWNzLXJvb3QNCg0KSWYgeW91IHdhbnQgdG8gcmVmZXIgdG8gYW55IG9mIHRoZW0sIHlvdSBjYW4g
dXNlIGVpdGhlciwgZm9yDQpleGFtcGxlLCAke1JQTV9CVUlMRF9ST09UfSBvciBqdXN0ICRSUE1f
QlVJTERfUk9PVC4NCg0KICBPbmUgaW1wb3J0YW50IG5vdGUgaGVyZTogRG9uJ3QgY29uZnVzZSB0
aGUgImJ1aWxkIGRpcmVjdG9yeSIgDQp3aXRoIHRoZSAiYnVpbGQgcm9vdCIgLS0gdGhlIGJ1aWxk
IGRpcmVjdG9yeSBpcyB3aGVyZSB0aGUgdGFyYmFsbCANCndpbGwgYmUgdW5sb2FkZWQgYW5kIHBy
b2Nlc3NlZCwgd2hpbGUgdGhlICJidWlsZCByb290IiBpcyB3aGVyZSANCnlvdSB3aWxsIGNvbnN0
cnVjdCwgcGllY2UgYnkgcGllY2UsIGFuIGV4YWN0IGltYWdlIG9mIHRoZSBmaWxlcyANCmFuZCBk
aXJlY3RvcmllcyB0byBiZSBjb250YWluZWQgaW4gdGhlIFJQTS4gIChJdCdzIHVuZm9ydHVuYXRl
IHRoYXQgDQp0aGlzIGRpcmVjdG9yeSB3YXMgY2FsbGVkIHRoZSAiYnVpbGQgcm9vdCIgLS0gY2Fs
bGluZyBpdCB0aGUNCiJpbnN0YWxsIHJvb3QiIHdvdWxkIGhhdmUgbWFkZSBtdWNoIG1vcmUgc2Vu
c2UuKQ0KDQogIE5vdywgb24gdG8gdGhlIGZpcnN0IHN0YWdlIC0tIHRoZSAiJXByZXAiIHN0YWdl
Lg0KDQoqKiBUaGUgJXByZXAgc3RhZ2UNCg0KICBUaGUgcHVycG9zZSBvZiB0aGUgJXByZXAgc3Rh
Z2UgaXMgc2ltcGx5IHRvIGdhdGhlciBpbnRvIHRoZQ0KYXBwcm9wcmlhdGUgImJ1aWxkIiBkaXJl
Y3RvcnkgYWxsIG9mIHRoZSBzb3VyY2VzIHlvdSdsbCBuZWVkDQp0byBidWlsZCB0aGUgbmV3IFJQ
TS4gIEVhY2ggbmV3IFJQTSBzaG91bGQgZ2V0IGl0cyBvd24gYnVpbGQNCnN1YmRpcmVjdG9yeSB1
bmRlciB0aGUgbWFpbiBidWlsZCBkaXJlY3Rvcnkgc28gdGhpcyBzdWdnZXN0cw0KdGhhdCwgd2hp
bGUgdGhlIG1haW4gYnVpbGQgZGlyZWN0b3J5IGZvciBhbGwgUlBNcyBpcyANCn5mcmVkL3JwbS9C
VUlMRCAob3IgJHtSUE1fQlVJTERfRElSfSBmb3Igc2hvcnQpLCB0aGUgY2F0cGljcy1zcGVjaWZp
YyANCmJ1aWxkIGRpcmVjdG9yeSB3aWxsIGJlICR7UlBNX0JVSUxEX0RJUn0vY2F0cGljcy0xLjAu
DQoNCiAgR2l2ZW4gdGhhdCB0aGUgcHVycG9zZSBvZiB0aGUgJXByZXAgc3RhZ2UgaXMgdG8gdW5s
b2FkIHRoZQ0KY2F0cGljcyBzb3VyY2UgaW50byB0aGUgY29ycmVzcG9uZGluZyBidWlsZCBkaXJl
Y3RvcnksIHdlDQpjb3VsZCwgaWYgd2Ugd2FudGVkLCBkbyB0aGlzIG1hbnVhbGx5IHdpdGggc29t
ZXRoaW5nIGxpa2U6DQoNCiAgJXByZXANCiAgY2QgJHtSUE1fQlVJTERfRElSfQ0KICBybSAtcmYg
Y2F0cGljcy0xLjAgICAgICAgICAgCQkjIHJlbW92ZSBvbGQgdmVyc2lvbj8/DQogIGd6aXAgLWRj
ICR7UlBNX1NPVVJDRV9ESVJ9L2NhdHBpY3MtMS4wLnRneiB8IHRhciB4dmYgLQ0KICBjZCBjYXRw
aWNzLTEuMAkJCSMgZW50ZXIgbmV3IGRpcg0KDQpUaGUgZW5kIHJlc3VsdCBvZiB0aGUgYWJvdmUg
aXMgdGhhdCB3ZSBlbmQgdXAgYXQgdGhlIHRvcCBsZXZlbA0Kb2YgYSBkaXJlY3RvcnkgY29udGFp
bmluZyB0aGUgY29udGVudHMgb2YgdGhlIGNhdHBpY3MtMS4wIHRhcmJhbGwsDQpyZWFkeSB0byBz
dGFydCB0aGUgYnVpbGQgc3RhZ2UuDQoNCiAgSG93ZXZlciwgdW5sb2FkaW5nIGZyb20gYSB0YXJi
YWxsIGlzIHN1Y2ggYSBjb21tb24gcHJvY2VkdXJlDQp0aGF0IHlvdSBjYW4gdXNlIHRoZSBzaG9y
dGN1dCBtYWNybyAiJXNldHVwIiBpbiBvbmUgb2YgdHdvIHdheXMNCnRoYXQgZG9lcyBwcmV0dHkg
bXVjaCB0aGUgc2FtZSB0aGluZzoNCg0KICAlcHJlcA0KICAlc2V0dXAJCSMgcmVndWxhciBzZXR1
cCBvciAuLi4NCiAgJXNldHVwIC1xCQkjIC4uLiBxdWlldCBzZXR1cA0KDQpJbiBlaXRoZXIgY2Fz
ZSwgdGhlIGVuZCByZXN1bHQgaXMgdGhlIHNhbWUsIGFuZCB5b3UgZW5kIHVwIGluDQp0aGUgY2F0
cGljcyBidWlsZCBkaXJlY3RvcnksIGxvb2tpbmcgYXQgdGhlIGNvbnRlbnRzIG9mIHRoZQ0KY2F0
cGljcyB0YXJiYWxsOg0KDQogIHBpY3Mvam9uZXMuanBnDQogIHBpY3MveGVuYS5qcGcNCiAgcGlj
cy9jbGFyZW5jZS5qcGcNCiAgcGljcy9lbGxpb3R0LmpwZw0KICBBUlRJU1RTDQogIFJFQURNRQ0K
DQpBdCB0aGlzIHBvaW50LCB5b3UndmUgZG9uZSB0aGUgcHJlcCBhbmQgY2FuIG1vdmUgb24gdG8g
dGhlDQoiYnVpbGQiIHN0YWdlLCBleGNlcHQgZm9yIG9uZSBwb3NzaWJsZSBjb21wbGljYXRpb24u
DQoNCiAgTm90aWNlIHRoYXQgd2UncmUgc3RpbGwgbWlzc2luZyB0aGUgY29ycG9yYXRlIExJQ0VO
U0UgZmlsZQ0KYW5kIGNvcnBvcmF0ZSBncmFwaGljcyBmaWxlIGZyb20gdGhlIGNhdHBpY3MgYnVp
bGQgZGlyZWN0b3J5Lg0KSWYgd2UgcmVhbGx5IHdhbnQgKmFsbCogb2YgdGhlIG5lY2Vzc2FyeSBz
b3VyY2UgaGVyZSBpbiB0aGUNCmJ1aWxkIGRpcmVjdG9yeSBiZWZvcmUgd2UgZ28gYW55IGZ1cnRo
ZXIsIHdlIGNhbiBqdXN0IGFkZA0KYSBjb3VwbGUgb2YgYXBwcm9wcmlhdGUgImNwIiBzdGF0ZW1l
bnRzIHRvIHRoZSAlcHJlcCBzdGFnZSwNCmFzIGluOg0KDQogICVwcmVwDQogICVzZXR1cCAtcQ0K
ICBjcCAvZXRjL0xJQ0VOU0UgLg0KICBjcCAvZXRjL3BpY3NydXMuanBnIHBpY3MNCg0KKEJlZm9y
ZSB5b3Ugc3RhcnQgaG93bGluZyB0aGF0IHRoaXMgaXMgKm5vdCogdGhlIHJlY29tbWVuZGVkDQp3
YXkgdG8gZG8gdGhpcywgeWVzLCBJIGtub3cuICBXaGF0IHlvdSB3b3VsZCByZWFsbHkgZG8gaXMN
CmRlZmluZSBtdWx0aXBsZSBTb3VyY2UgZGlyZWN0aXZlcy4gIEJ1dCBJIGp1c3Qgd2FudGVkIHRv
DQpkZW1vbnN0cmF0ZSBob3cgcGFydGljdWxhciB5b3UgY2FuIGJlIGluIHRoZSAlcHJlcCBzdGFn
ZSBpbiANCnRlcm1zIG9mIGNvbGxlY3Rpbmcgb3RoZXIgZmlsZXMgdG8gYWRkIHRvIHlvdXIgUlBN
LikNCg0KICBJbiBhbnkgZXZlbnQsIG5vdyB0aGF0IHlvdSd2ZSBmaW5pc2hlZCBwcmVwcGluZywg
aXQncyBvbiB0bw0KdGhlICVidWlsZCBzdGFnZSBvZiB0aGUgc3BlYyBmaWxlLg0KDQoqKiBUaGUg
JWJ1aWxkIHN0YWdlDQoNCiAgR2l2ZW4gdGhhdCB5b3UncmUgY3VycmVudGx5IGluIHRoZSBidWls
ZCBkaXJlY3RvcnkgZm9yIHRoZQ0KY2F0cGljcyBSUE0sIHRoaXMgc3RhZ2UgaXMgd2hlcmUgeW91
J2QgZG8gYW55ICJidWlsZGluZyIgb2YNCmFkZGl0aW9uYWwgZmlsZXMgdGhhdCBuZWVkIHRvIGdv
IGluIHRoZSBuZXcgUlBNLg0KDQogIEluIHRoZSBjYXNlIG9mIGEgYmluYXJ5IFJQTSB3aGVyZSB5
b3UgaGF2ZSB0byBjb21waWxlIA0KZXhlY3V0YWJsZXMsIHRoaXMgaXMgd2hlcmUgeW91IHdvdWxk
IHJ1biB0aGluZ3MgbGlrZSAiY29uZmlndXJlIg0KYW5kICJtYWtlIiBhbmQgIm1ha2UgaW5zdGFs
bCIgdG8gZ2V0IHRoZSBuZXcgZXhlY3V0YWJsZXMgLS0NCmhlbmNlIHRoZSByZWFzb24gaXQncyBj
YWxsZWQgYSAiYnVpbGQiIGRpcmVjdG9yeS4gIEluIG90aGVyDQp3b3JkcywgdGhpcyBpcyB0aGUg
c3RhZ2Ugd2hlcmUgeW91IGhhdmUgdG8gc29tZWhvdyBjcmVhdGUNCnRoZSBjb250ZW50cyBvZiB0
aGUgbmV3IFJQTSB0aGF0IGRvbid0IGNvbWUgZGlyZWN0bHkgZnJvbSB0aGUNCnRhcmJhbGwuDQoN
CiAgSW4gb3VyIGNhc2UsIHNpbmNlIHdlIGhhdmUgYWxsIHRoZSBjb250ZW50cyB3ZSBuZWVkIGFu
ZA0KaGF2ZSBub3RoaW5nIHRvIGJ1aWxkLCBvdXIgZW50aXJlIGJ1aWxkIHN0YWdlIGNvdWxkIGJl
DQpub3RoaW5nIG1vcmUgdGhhbjoNCg0KICAlYnVpbGQNCiAgZXhpdCAwDQoNCkFuZCBzaW5jZSB3
ZSBkaWRuJ3QgaGF2ZSB0byBidWlsZCBhbnl0aGluZywgd2UgY2FuIGhlYWQgcmlnaHQNCmludG8g
dGhlICIlaW5zdGFsbCIgc3RhZ2UuDQoNCiAgKFNpZGUgbm90ZTogIEV2ZW4gaWYgd2UncmUgYnVp
bGRpbmcgYSBub2FyY2ggUlBNLCB0aGVyZSBhcmUNCmFsd2F5cyB0cml2aWFsIHRoaW5ncyB3ZSBt
aWdodCB3YW50IHRvIGRvIGluIHRoZSBidWlsZCBzdGFnZS4NCldlIG1pZ2h0IGNyZWF0ZSBhIGhp
ZGRlbiB0aW1lc3RhbXAgZmlsZSBzaG93aW5nIHdoZW4gdGhpcyBSUE0gDQp3YXMgYnVpbHQgYnkg
cnVubmluZyBzb21ldGhpbmcgbGlrZToNCg0KICBkYXRlID4gLi8uVElNRVNUQU1QDQoNCiAgSXQn
cyBhbHNvIHBvc3NpYmxlIHRvIGNvcHkgdGhlIG5vbi10YXJiYWxsIExJQ0VOU0UgYW5kDQpwaWNz
cnVzLmpwZyBmaWxlcyBpbiB0aGlzIHN0YWdlIHJhdGhlciB0aGFuIHRoZSAlcHJlcCBzdGFnZS4N
ClRoZSBlbmQgcmVzdWx0IGlzIHRoZSBzYW1lIGJ1dCwgYWdhaW4sIEknbSBqdXN0IHRocm93aW5n
IHRoaXMNCmluIHRvIGRlbW9uc3RyYXRlIHRoYXQgeW91IGNhbiBjdXN0b21pemUgdGhpcyBzdGFn
ZSBhcyB3ZWxsLg0KDQogIEFkbWl0dGVkbHksIHRoZXNlIGFyZSBwcmV0dHkgdHJpdmlhbCBleGFt
cGxlcywgYnV0IHRoZXkNCmRlbW9uc3RyYXRlIHRoYXQsIGlmIHRoZXJlJ3MgYW55dGhpbmcgeW91
IG5lZWQgdG8gZG8gdG8gY3JlYXRlDQphZGRpdGlvbmFsIFJQTSBjb250ZW50cyB0aGF0IGRvbid0
IGNvbWUgZGlyZWN0bHkgZnJvbSB0aGUgdGFyYmFsbCwNCnRoaXMgaXMgdGhlIHBsYWNlIHRvIGRv
IGl0LikNCg0KICBOb3csIG9uIHRvIHRoZSAlaW5zdGFsbCBzdGFnZS4NCg0KKiogVGhlICVpbnN0
YWxsIHN0YWdlDQoNCiAgTm93IHRoYXQgdGhlICVidWlsZCBzdGFnZSBoYXMgY3JlYXRlZCAoaW4g
dGhlIGRpcmVjdG9yeQ0KJHtSUE1fQlVJTERfRElSfS9jYXRwaWNzLTEuMCkgYWJzb2x1dGVseSBl
dmVyeXRoaW5nIHlvdSBuZWVkDQp0byBidWlsZCB0aGUgbmV3IFJQTSwgdGhlIGpvYiBvZiB0aGUg
JWluc3RhbGwgc3RhZ2UgaXMgdG8NCmNyZWF0ZSwgaW4geWV0ICphbm90aGVyKiBkaXJlY3Rvcnks
IGFuIGV4YWN0IGNvcHkgb2YgdGhlDQpmaWxlcyBhbmQgZGlyZWN0b3JpZXMsIGluIHRoZWlyIHBy
b3BlciBsb2NhdGlvbnMsIG9mIHdoYXQNCnlvdSB3YW50IGJ1aWx0IGludG8gdGhlIG5ldyBSUE0u
DQoNCiAgVGhpcyBuZXcgZGlyZWN0b3J5IGlzIGNhbGxlZCB0aGUgImJ1aWxkIHJvb3QiIG9mIHRo
ZSBuZXcNClJQTSBhbmQgaXMgdHlwaWNhbGx5IGNyZWF0ZWQgdW5kZXIgeW91ciBSUE0gdG1wIGRp
cmVjdG9yeS4NCkluIG91ciBjYXNlLCB0aGUgYnVpbGQgcm9vdCBkaXJlY3Rvcnkgd291bGQgYmUN
Cn5mcmVkL3JwbS90bXAvY2F0cGljcy0xLjAsIHdob3NlIHZhbHVlIGlzLCBqdXN0IGluIGNhc2Ug
eW91DQpuZWVkIGl0LCBhdmFpbGFibGUgaW4gdGhlIHZhcmlhYmxlICR7UlBNX0JVSUxEX1JPT1R9
Lg0KDQogIFlvdXIgam9iLCBpbiB0aGUgJWluc3RhbGwgc3RhZ2UsIGlzIHRvIGNvcHkgc3RlcCBi
eSBzdGVwLA0KZnJvbSB0aGUgYnVpbGQgZGlyZWN0b3J5LCBldmVyeSBmaWxlIGFuZCBkaXJlY3Rv
cnkgeW91IHdhbnQNCmluIHRoZSBuZXcgUlBNIHRvIHRoZSBjb3JyZXNwb25kaW5nIGJ1aWxkIHJv
b3QgZGlyZWN0b3J5LA0KcHV0dGluZyBlYWNoIG9mIHRoZXNlIGluIGl0cyB0YXJnZXQgbG9jYXRp
b24gcmVsYXRpdmUgdG8gDQp0aGUgcm9vdCBkaXJlY3Rvcnkgb24gZG93bi4NCg0KICBSZWNhbGwg
dGhhdCB3ZSB3YW50ZWQgdGhlIGNhdHBpY3MgUlBNIHRvIGluc3RhbGwgdGhlIA0KZm9sbG93aW5n
IG9uIHRoZSB0YXJnZXQgaG9zdDoNCg0KICAvdXNyL2xvY2FsL2NhdHBpY3MvPGNhdCBpbWFnZSBm
aWxlcz4gICMgaW5jbHVkaW5nIHBpY3NydXMuanBnDQogIC91c3Ivc2hhcmUvZG9jL2NhdHBpY3Mt
MS4wL3tSRUFETUUsQVJUSVNUUyxMSUNFTlNFfQ0KDQogIEdpdmVuIHRoZSBhYm92ZSwgb3VyIGVu
dGlyZSAlaW5zdGFsbCBzZWN0aW9uIG1pZ2h0IGJlOg0KICANCiAgJWluc3RhbGwNCiAgcm0gLXJm
ICR7UlBNX0JVSUxEX1JPT1R9CSMgZGVsZXRlIG9sZCBidWlsZCByb290DQogIG1rZGlyIC1wICR7
UlBNX0JVSUxEX1JPT1R9L3Vzci9sb2NhbC9jYXRwaWNzDQogIGNwIHBpY3MvKiAke1JQTV9CVUlM
RF9ST09UfS91c3IvbG9jYWwvY2F0cGljcw0KDQpBcyB5b3UgY2FuIHNlZSwgdGhlIGJ1aWxkIHJv
b3QgZm9yIHRoaXMgUlBNIHNob3VsZCBjb250YWluDQpldmVyeXRoaW5nIHlvdSB3YW50IGluIHRo
ZSBuZXcgUlBNLCBpbiBpdHMgYXBwcm9wcmlhdGUgbG9jYXRpb24NCnJlbGF0aXZlIHRvIHRoZSBy
b290IGRpcmVjdG9yeS4gIE5vdGUgdGhhdCB0aGUgZXZlbnR1YWwNCmRpcmVjdG9yeSBzdHJ1Y3R1
cmUgZG9lcyBub3QgaGF2ZSB0byBtYXRjaCB0aGUgd2F5IHRoZSBmaWxlcw0KYW5kIGRpcmVjdG9y
aWVzIGNhbWUgb3V0IG9mIHRoZSBvcmlnaW5hbCB0YXJiYWxsLiAgWW91IGNsZWFybHkNCmhhdmUg
dGhlIGZsZXhpYmlsaXR5IHRvIHJlc3RydWN0dXJlIHRoZSBuZXcgUlBNIGFueSB3YXkgeW91DQp3
YW50Lg0KDQogIE5vdGUgYWxzbyB0aGF0IG91ciAlaW5zdGFsbCBzdGFnZSBkaWRuJ3QgZG8gYW55
dGhpbmcgd2l0aCB0aGUNCmRvY3VtZW50YXRpb24gZmlsZXMuICBUaGlzIGlzIGJlY2F1c2UgZG9j
IGZpbGVzIGFyZSBjb25zaWRlcmVkDQphIHNwZWNpYWwgY2FzZSwgYW5kIGNhbiBiZSB0cmVhdGVk
IHNlcGFyYXRlbHkgaW4gYSBsYXRlcg0Kc2VjdGlvbi4gIFNvLCBvdGhlciB0aGFuIHRoZSBtaXNz
aW5nIGRvYyBmaWxlcywgd2UncmUgcHJldHR5DQptdWNoIGZpbmlzaGVkIHdpdGggdGhlICVpbnN0
YWxsIHNlY3Rpb24uDQoNCiAgKFNpZGUgbm90ZTogIEl0J3MgdW5mb3J0dW5hdGUgdGhhdCB0aGUg
ZGlyZWN0b3J5IHdlJ3ZlIGJlZW4NCnBvcHVsYXRpbmcgaXMgcmVmZXJyZWQgdG8gb2ZmaWNpYWxs
eSBhcyB0aGUgImJ1aWxkIHJvb3QiLg0KSXQgd291bGQgc2VlbSB0aGF0IHRoZSBwcmV2aW91cyBk
aXJlY3RvcnksIHdob3NlIG5hbWUgcmVhbGx5DQppcyAiQlVJTEQsIiB3b3VsZCBiZSBiZXR0ZXIg
bmFtZWQgdGhlIGJ1aWxkIHJvb3QsIHdoaWxlIGl0DQptYWtlcyBtb3JlIHNlbnNlIHRvIGNhbGwg
dGhpcyBvbmUgdGhlICJpbnN0YWxsIHJvb3QiLiAgQnV0DQppdCdzIHRvbyBsYXRlIG5vdy4pDQoN
CiAgV2UncmUgYWxtb3N0IHJlYWR5IHRvIGJ1aWxkIHRoZSBuZXcgUlBNIC0tIG9ubHkgYSBjb3Vw
bGUNCnN0YWdlcyB0byBnby4NCg0KKiogVGhlICVjbGVhbiBzdGFnZQ0KDQogIFdoZW4gdGhlIFJQ
TSBpcyBldmVudHVhbGx5IGNvbnN0cnVjdGVkLCB5b3UgaGF2ZSB0aGUNCnJpZ2h0IHRvIGRvIHNv
bWUgYXV0b21hdGljIGNsZWFudXAgYnkgZGVmaW5pbmcgYSAlY2xlYW4gc3RhZ2UNCmhlcmUuICBX
aGlsZSB5b3UgY2FuIGNsZWFuIGFzIG11Y2ggYXMgeW91IHdhbnQsIHRoZSBmb2xsb3dpbmcNCmlz
IGEgcGVyZmVjdGx5IHJlc3BlY3RhYmxlIGV4YW1wbGUgb2YgY2xlYW5pbmc6DQoNCiAgJWNsZWFu
DQogIHJtIC1yZiAke1JQTV9CVUlMRF9ST09UfQ0KDQpLZWVwIGluIG1pbmQgdGhhdCwgd2hpbGUg
eW91IGRlZmluZSB0aGUgJWNsZWFuIHN0YWdlIGhlcmUsIGl0J3MNCm5vdCBhY3R1YWxseSBydW4g
dW50aWwgdGhlIGVuZCBvZiBhIHN1Y2Nlc3NmdWwgUlBNIGNvbnN0cnVjdGlvbi4NClNvIHdoYXQn
cyBsZWZ0PyAgSnVzdCB0aGUgJWZpbGVzIHN0YWdlLg0KDQoqKiBUaGUgJWZpbGVzIHN0YWdlDQoN
CiAgVGhlIGZpbmFsIHN0YWdlIGluIG91ciBzcGVjIGZpbGUsIHRoZSAlZmlsZXMgc3RhZ2UsIGlz
IHVzZWQNCnRvIGlkZW50aWZ5IGV4YWN0bHkgd2hpY2ggZmlsZXMgYW5kIGRpcmVjdG9yaWVzIHNo
b3VsZCBiZQ0KY29waWVkIGZyb20gdGhlIGJ1aWxkIHJvb3QgaW50byB0aGUgbmV3IFJQTS4gIExl
dCBtZSBtYWtlDQpzdXJlIHlvdSB1bmRlcnN0YW5kIHRoaXMgbGFzdCBzdGF0ZW1lbnQuDQoNCiAg
V2hpbGUgdGhlIHByZXZpb3VzICVpbnN0YWxsIHN0YWdlIGNyZWF0ZWQgYSBkaXJlY3RvcnkNCnN0
cnVjdHVyZSBmb3IgdGhlIG5ldyBSUE0gdW5kZXIgdGhlIGJ1aWxkIHJvb3QsIHlvdSBoYXZlIG5v
DQpvYmxpZ2F0aW9uIHRvIGFkZCAqYWxsKiBvZiB0aGVzZSBmaWxlcyBhbmQgZGlyZWN0b3JpZXMg
dG8NCnRoZSBSUE0gLS0geW91IGNhbiBiZSBzZWxlY3RpdmUgYWJvdXQgd2hhdCBnZXRzIGFkZGVk
Lg0KSW4gb3RoZXIgd29yZHMsIHdoaWxlIGl0J3MgYSBiYWQgaWRlYSwgeW91IGNhbiBiZSBzbG9w
cHkNCmFuZCBjb3B5IGV4dHJhbmVvdXMganVuayBpbnRvIHRoZSBidWlsZCByb290IGR1cmluZyB0
aGUNCiVpbnN0YWxsIHN0YWdlIC0tIHlvdSBqdXN0IGRvbid0IG5lZWQgdG8gc2VsZWN0IGFsbCBv
ZiBpdCANCmZvciBpbmNsdXNpb24gaW4gdGhlIFJQTS4NCg0KICBGb3Igb3VyIGV4YW1wbGUsIGhl
cmUncyBhIHJlc3BlY3RhYmxlICVmaWxlcyBzZWN0aW9uOg0KDQogICVmaWxlcw0KICAlZGVmYXR0
cigtLHJvb3Qscm9vdCkNCiAgL3Vzci9sb2NhbC9jYXRwaWNzDQogICVkb2MgUkVBRE1FIEFSVElT
VFMgTElDRU5TRQ0KDQpXaGF0IGRvZXMgYWxsIHRoaXMgbWVhbj8NCg0KICBGaXJzdCwgeW91IGNh
biwgaWYgeW91IHdhbnQsIGhhdmUgYSBzaW5nbGUgJWRlZmF0dHIgZGlyZWN0aXZlLA0Kd2hpY2gg
ZGljdGF0ZXMgdGhlIGRlZmF1bHQgcGVybWlzc2lvbnMsIG93bmVyIGFuZCBncm91cCB5b3UNCndh
bnQgZm9yIHRoZSBjb250ZW50cyBvZiB0aGUgUlBNLiAgQSBoeXBoZW4gbWVhbnMgdGhhdCB5b3Un
bGwNCnRha2UgdGhlIGN1cnJlbnQgdmFsdWUsIHdoYXRldmVyIGl0IGlzLg0KDQogIEZvbGxvd2lu
ZyB0aGUgb3B0aW9uYWwgJWRlZmF0dHIsIHlvdSBzaG91bGQgbGlzdCBhbGwgb2YgdGhlDQpmaWxl
cyBhbmQgZGlyZWN0b3JpZXMgeW91IHdhbnQgYWRkZWQgdG8gdGhlIFJQTSwgdXNpbmcgdGhlaXIN
CmZ1bGx5LXF1YWxpZmllZCBsb2NhdGlvbiBhcyB5b3Ugd2FudCBpdCBvbiB0aGUgdGFyZ2V0IGhv
c3QuDQoNCiAgRmluYWxseSwgYXMgeW91IGNhbiBzZWUgYWJvdmUsIGRvY3VtZW50YXRpb24gZmls
ZXMgY2FuIGJlDQp0cmVhdGVkIHNwZWNpYWxseS4gIFJhdGhlciB0aGFuIGhhdmluZyB0byBleHBs
aWNpdGx5IGNvcHkNCmRvYyBmaWxlcyBpbnRvIHRoZSBidWlsZCByb290LCBhbmQgc2VsZWN0IHRo
ZW0gaGVyZSwgeW91IGNhbg0KdXNlIHRoZSAlZG9jIGRpcmVjdGl2ZSwgd2hpY2ggd2lsbCBsb29r
IGZvciB0aGVzZSBmaWxlcyBhdCANCnRoZSB0b3Agb2YgdGhlIGJ1aWxkIGRpcmVjdG9yeSwgYW5k
IGF1dG9tYXRpY2FsbHkgaW5zdGFsbA0KdGhlc2UgZmlsZXMgaW4gdGhlIGFwcHJvcHJpYXRlIGRv
Y3VtZW50YXRpb24gZGlyZWN0b3J5IGluIA0KdGhlIFJQTSAoaW4geW91ciBjYXNlLCBwcm9iYWJs
eSB0aGUgZGVmYXVsdCBkaXJlY3Rvcnkgb2YNCi91c3Ivc2hhcmUvZG9jL2NhdHBpY3MtMS4wKS4g
IFRoaXMgaXMgYSBjb252ZW5pZW50IHNob3J0Y3V0LA0KYnV0IHJlbWVtYmVyIHRoYXQgaXQgbWVh
bnMgeW91IGhhdmUgdG8gaGF2ZSB0aGVzZSBmaWxlcyBhdA0KdGhlIHRvcCBsZXZlbCBvZiB0aGUg
YnVpbGQgZGlyZWN0b3J5Lg0KDQogIFRoaXMgaXMgY2xlYXJseSBhIHNpbXBsZSBleGFtcGxlIG9m
IGEgJWZpbGVzIHN0YWdlIG9mIGENCnNwZWMgZmlsZS4gIEZvciBtb3JlIHBvc3NpYmlsaXRpZXMs
IHNlZSB0aGUgc2VjdGlvbiAiQWR2YW5jZWQNCmlzc3VlcyIgZm9yIGFkZGl0aW9uYWwgdGhpbmdz
IHlvdSBjYW4gZG8gd2l0aCB0aGUgJWZpbGVzIA0Kc2VjdGlvbiBhbmQgdGhlIGRvY3VtZW50YXRp
b24gZmlsZXMuDQoNCiAgQXQgdGhpcyBwb2ludCwgeW91IG1pZ2h0IHdhbnQgdG8gcmV2aWV3IHRo
ZSBlbnRpcmUgc3BlYw0KZmlsZSBpbiBBcHBlbmRpeCBBLg0KDQoqIEJ1aWxkaW5nIGEgbm9hcmNo
IFJQTQ0KDQogIFVzaW5nIG91ciBvcmlnaW5hbCBleGFtcGxlLCBub3cgdGhhdCB5b3UgaGF2ZSBh
IA0KImNhdHBpY3Muc3BlYyIgZmlsZSwgeW91IGNhbiBjcmVhdGUgdGhlIGNvcnJlc3BvbmRpbmcN
Cm5vYXJjaCBSUE0gd2l0aDoNCg0KICAkIHJwbWJ1aWxkIC1iYiBjYXRwaWNzLnNwZWMgICAgICgi
YiJ1aWxkICJiImluYXJ5KQ0KDQpUaGlzIGNvbW1hbmQgd2lsbCwgaW4gb3JkZXIgYW5kIGZvbGxv
d2luZyB0aGUgc3RlcHMgaW4gdGhlIA0Kc3BlYyBmaWxlOg0KICANCiAgMSkgdW5sb2FkIHRoZSBT
T1VSQ0VTIHRhcmJhbGwgaW50byB0aGUgQlVJTEQvY2F0cGljcy0xLjANCiAgICAgZGlyZWN0b3J5
LA0KDQogIDIpIGNvcHkgYSBjb3VwbGUgb2YgZXh0cmEgZ2VuZXJpYyBjb21wYW55IGZpbGVzIHRv
IGdvDQogICAgIHdpdGggdGhvc2Ugc291cmNlIGZpbGVzLCANCg0KICAzKSBpbnN0YWxsIHRoZXNl
IGZpbGVzIHVuZGVyIHRoZSBjb3JyZXNwb25kaW5nIGJ1aWxkIHJvb3QsIA0KDQogIDQpIHNlbGVj
dCB1c2luZyB0aGUgY29udGVudHMgb2YgdGhlICVmaWxlcyBzdGFnZSB3aGF0DQogICAgIHNob3Vs
ZCBiZSBhZGRlZCB0byB0aGUgbmV3IFJQTSwgDQoNCiAgNSkgcGxhY2UgdGhpcyBuZXcgUlBNIGlu
IHRoZSBSUE1TL25vYXJjaCBkaXJlY3RvcnksIGFuZCANCg0KICA2KSBydW4gdGhlICVjbGVhbiBz
dGFnZSB0byBnZXQgcmlkIG9mIHRoZSBidWlsZCByb290DQoNCiAgT25jZSB5b3UgcnVuIHRoaXMg
Y29tbWFuZCwgeW91IGNhbiBleGFtaW5lIHRoZSBjb250ZW50cw0Kb2YgdGhlIG5ldyBSUE0gd2l0
aCBhbnkgb2Y6DQoNCiAgJCBycG0gLXFwaSBjYXRwaWNzLTEuMC0xLm5vYXJjaC5ycG0JCShwcmVh
bWJsZSBpbmZvKQ0KICAkIHJwbSAtcXBsIGNhdHBpY3MtMS4wLTEubm9hcmNoLnJwbQkJKGZpbGUg
bGlzdCkNCiAgJCBycG0gLXFwbHYgY2F0cGljcy0xLjAtMS5ub2FyY2gucnBtCQkobG9uZyBmaWxl
IGxpc3QpDQoNCnRvIG1ha2Ugc3VyZSBldmVyeSBmaWxlIGlzIHRoZXJlIGFuZCBzZWVtcyB0byBi
ZSBpbiB0aGUgcmlnaHQNCmxvY2F0aW9uLiAgWW91IG5vdyBoYXZlIGEgbm9hcmNoIFJQTSByZWFk
eSB0byBzaGlwIHRvIGN1c3RvbWVycy4NCg0KKiBCdWlsZGluZyBhIGJpbmFyeSBSUE0NCg0KICBP
bmNlIHlvdSB1bmRlcnN0YW5kIHRoZSBkZXRhaWxzIG9mIGJ1aWxkaW5nIGEgbm9hcmNoIFJQTSwg
DQppdCdzIGEgc21hbGwgc3RlcCB0byBidWlsZGluZyBhIGJpbmFyeSBSUE0gbGlrZSwgc2F5LA0K
Im15cHJvZ3MtMy40LTUuaTM4Ni5ycG0sIiB3aGljaCB3b3VsZCB0eXBpY2FsbHkgY29udGFpbiBv
bmUNCm9yIG1vcmUgY29tcGlsZWQgYmluYXJ5IGV4ZWN1dGFibGVzLCBhbG9uZyB3aXRoIHBvc3Np
Ymx5DQpzb21lIHRleHQgZmlsZXMsIGRvY3VtZW50YXRpb24sIGNvbmZpZ3VyYXRpb24gZmlsZXMg
YW5kIHNvIG9uLg0KDQogIEV2ZXJ5dGhpbmcgeW91J3ZlIHJlYWQgc28gZmFyIHdvdWxkIGJlIHBy
ZXR0eSBtdWNoIHRoZQ0Kc2FtZSwgZXhjZXB0IHRoYXQgdGhlICVidWlsZCBzdGFnZSB3b3VsZCBi
ZSByZXNwb25zaWJsZSBmb3INCnRha2luZyB0aGUgc291cmNlIGZpbGVzIGZyb20gdGhlIHRhcmJh
bGwgYW5kIGNvbXBpbGluZyB0aGVtDQp0byBnZXQgdGhlIGNvcnJlc3BvbmRpbmcgYmluYXJ5IGV4
ZWN1dGFibGVzLg0KDQogIE9uY2UgeW91IHVubG9hZCB0aGF0IHRhcmJhbGwgaW50byB0aGUgYnVp
bGQgZGlyZWN0b3J5LA0KeW91IGNvdWxkIGNvbXBpbGUgdGhlIGV4ZWN1dGFibGVzIG1hbnVhbGx5
IHVzaW5nLCBzYXksDQp0aGUgR0NDIGNvbXBpbGVyLiAgSG93ZXZlciwgaWYgeW91IGNhcmVmdWxs
eSBkZXNpZ24gdGhlIA0KY29udGVudHMgb2YgdGhlIHRhcmJhbGwgdG8gaW5jbHVkZSB0aGUgc291
cmNlcywgY29uZmlndXJlDQpzY3JpcHRzLCBNYWtlZmlsZSBhbmQgb3RoZXIgZmlsZXMgYmFzZWQg
b24gdGhlIEdOVSBhdXRvY29uZg0KdXRpbGl0eSwgeW91IG1pZ2h0IG5lZWQgdG8gcnVuIGxpdHRs
ZSBtb3JlIHRoYW4gdGhlIGNvbW1hbmRzOg0KDQogICQgY29uZmlndXJlDQogICQgbWFrZQ0KICAk
IG1ha2UgaW5zdGFsbA0KDQogIEluIGZhY3QsIHRoaXMgaXMgc3VjaCBhIGNvbW1vbiBvcGVyYXRp
b24gdGhhdCBycG0gZGVmaW5lcw0Kc29tZSBjb21tb24gbWFjcm9zIHNvIHRoYXQgeW91ciBlbnRp
cmUgJWJ1aWxkIGFuZCAlaW5zdGFsbCBzdGFnZXMNCm1pZ2h0IGxvb2sgbGlrZToNCg0KICAlYnVp
bGQNCiAgJWNvbmZpZ3VyZQ0KICAlbWFrZQ0KDQogICVpbnN0YWxsDQogICVtYWtlaW5zdGFsbA0K
DQpBcyBhbiBleGFtcGxlLCB0aGUgIiVtYWtlaW5zdGFsbCIgbWFjcm8gaXMgZXF1aXZhbGVudCB0
byBydW5uaW5nDQphICJtYWtlIGluc3RhbGwiLCBhbmQgdXNpbmcgdGhlIGFwcHJvcHJpYXRlIGJ1
aWxkIHJvb3QgYXMgdGhlDQppbnN0YWxsIGRlc3RpbmF0aW9uLCBleGFjdGx5IHdoYXQgeW91IHdv
dWxkIHdhbnQuDQoNCiAgRm9yIHRob3NlIHdobyB3YW50IG1vcmUgZGV0YWlsLCBjaGVjayB0aGUg
ZGVmaW5pdGlvbiBvZiANCnRoZXNlIG1hY3JvcyBpbiB0aGUgZmlsZSAvdXNyL2xpYi9ycG0vbWFj
cm9zIHRvIHNlZSBleGFjdGx5DQp3aGF0IHRoZXkgd291bGQgZG8uDQoNCiogQnVpbGRpbmcgYSBz
b3VyY2UgUlBNDQoNCiAgQXNzdW1pbmcgeW91IHVuZGVyc3RhbmQgdGhlIHJhdGlvbmFsZSBiZWhp
bmQgYnVpbGRpbmcgYQ0Kc291cmNlIFJQTSwgeW91IGNhbiBidWlsZCBvbmUgaW4gb25lIG9mIHR3
byB3YXlzOg0KDQogICQgcnBtIC1icyBjYXRwaWNzLnNwZWMJICAoYnVpbGQganVzdCB0aGUgc291
cmNlIFJQTSkNCiAgJCBycG0gLWJhIGNhdHBpY3Muc3BlYwkgIChidWlsZCBib3RoIHNvdXJjZSBh
bmQgYmluYXJ5IFJQTXMpDQoNCiAgSW4gZWl0aGVyIGNhc2UsIHdoYXQgeW91IHNob3VsZCBlbmQg
dXAgd2l0aCBpcyBhIHNvdXJjZSBSUE0NCndpdGggdGhlIG5hbWUgY2F0cGljcy0xLjAtMS5zcmMu
cnBtIGluIHlvdXIgU1JQTVMgZGlyZWN0b3J5Lg0KSWYgeW91IHF1ZXJ5IHRoZSBmaWxlIGxpc3Qg
ZnJvbSB0aGF0IHNvdXJjZSBSUE0sIHlvdSBzaG91bGQgc2VlDQpleGFjdGx5IHR3byBmaWxlcyAt
LSB0aGUgdGFyYmFsbCBhbmQgdGhlIHNwZWMgZmlsZS4NCg0KKiBCdWlsZGluZyBmcm9tIGEgdGFy
YmFsbA0KDQogIFRoZXJlIGlzIG9uZSBtb3JlIHZhcmlhdGlvbiB0byBidWlsZGluZyBSUE1zLCBh
bmQgdGhhdCBpcw0KZnJvbSBhIGNvbXBsZXRlbHkgc2VsZi1jb250YWluZWQgdGFyYmFsbC4gIElm
IHlvdSB3YW50LCB5b3UNCmNhbiBlbWJlZCB0aGUgc3BlYyBmaWxlIHNvbWV3aGVyZSBpbiB0aGUg
dGFyYmFsbCAoaXQgZG9lc24ndA0KaGF2ZSB0byBiZSBhdCB0aGUgdG9wKSwgYW5kIHJ1biBhbnkg
b2Y6DQoNCiAgJCBycG1idWlsZCAtdGIgPHRhcmJhbGw+DQogICQgcnBtYnVpbGQgLXRzIDx0YXJi
YWxsPg0KICAkIHJwbWJ1aWxkIC10YSA8dGFyYmFsbD4NCg0KYW5kIHNvIG9uIC0tIHlvdSBnZXQg
dGhlIGlkZWEuDQoNCiogRGVidWdnaW5nIHVzaW5nIHBhcnRpYWwgUlBNIGJ1aWxkcw0KDQogIFRo
ZXJlIGlzIG9uZSBtb3JlIGZlYXR1cmUgaW52b2x2aW5nIGJ1aWxkaW5nIFJQTXMgdGhhdCdzDQp1
c2VmdWwgZm9yIGRlYnVnZ2luZyB5b3VyIGJ1aWxkcyBpbiBjYXNlIHRoZSBlbmQgcmVzdWx0DQpp
cyBub3Qgd2hhdCB5b3UgZXhwZWN0ZWQuDQogIA0KICBXaXRoIGJvdGggbm9hcmNoIGFuZCBiaW5h
cnkgUlBNcywgaXQncyBwb3NzaWJsZSB0byBkbyBvbmx5IGENCnBhcnRpYWwgYnVpbGQgc28gdGhh
dCB5b3UgY2FuIGNoZWNrIHRoZSBpbnRlcm1lZGlhdGUgcmVzdWx0cw0KaW4sIGZvciBpbnN0YW5j
ZSwgdGhlIGJ1aWxkIG9yIGJ1aWxkIHJvb3QgZGlyZWN0b3JpZXMuICBTbyByYXRoZXINCnRoYW4g
ZG9pbmcgYSBjb21wbGV0ZSBjYXRwaWNzIFJQTSBidWlsZCB3aXRoICJycG1idWlsZCAtYmIiLCAN
CnlvdSBjYW4gZG8gYW55IG9mIHRoZSBmb2xsb3dpbmc6DQoNCiAgJCBycG1idWlsZCAtYnAgY2F0
cGljcy5zcGVjCQkoJXByZXAgc3RhZ2Ugb25seSkNCiAgJCBycG1idWlsZCAtYmMgY2F0cGljcy5z
cGVjCQkoJXByZXAsICVidWlsZCkNCiAgJCBycG1idWlsZCAtYmkgY2F0cGljcy5zcGVjCQkoJXBy
ZXAsICVidWlsZCwgJWluc3RhbGwpDQoNCkEgY29tbW9uIHVzYWdlIGlzIHRvIHVzZSAiLWJpIiwg
dGhlbiBjaGVjayB0aGUgY29udGVudHMgb2YNCnRoZSBidWlsZCByb290IGRpcmVjdG9yeSB0byBz
ZWUgaWYgaXQgbWF0Y2hlcyB3aGF0IHlvdSBleHBlY3QNCnRvIHNlZSBpbiB0aGUgZXZlbnR1YWwg
UlBNLg0KDQogIFdoaWxlIGFsbCBvZiB0aGUgYWJvdmUgc3RhcnQgd2l0aCB0aGUgaW5pdGlhbCAl
cHJlcCBzdGFnZSwgeW91DQpjYW4gYWxzbyBqdW1wIGRpcmVjdGx5IHRvIGEgc3RhZ2UgYW5kIGV4
ZWN1dGUgdGhhdCBzdGFnZSBvbmx5DQp3aXRoIHRoZSAiLS1zaG9ydC1jaXJjdWl0IiBvcHRpb246
DQoNCiAgJCBycG1idWlsZCAtYmMgLS1zaG9ydC1jaXJjdWl0IGNhdHBpY3Muc3BlYwkoJWJ1aWxk
IE9OTFkpDQogICQgcnBtYnVpbGQgLWJpIC0tc2hvcnQtY2lyY3VpdCBjYXRwaWNzLnNwZWMgICAo
JWluc3RhbGwgT05MWSkNCg0KVGhlIC0tc2hvcnQtY2lyY3VpdCBpcyBhdmFpbGFibGUgb25seSBm
b3IgdGhlIC1iYyBhbmQgLWJpDQpvcHRpb25zLCBhbmQgY291bGQgYmUgdXNlZnVsIGlmIHlvdSd2
ZSBhbHJlYWQgZG9uZSBhIHBhcnRpYWwNCmJ1aWxkIHVwIHRvIHRoYXQgcG9pbnQsIGFuZCBub3cg
anVzdCB3YW50IHRvIGRvIHRoZSBuZXh0DQpzdGFnZS4NCg0KICBJdCBpcyB1bmZvcnR1bmF0ZSB0
aGF0IHRoZSBuYW1lIC0tc2hvcnQtY2lyY3VpdCB3YXMgY2hvc2VuDQpmb3IgdGhpcyBvcHRpb24s
IHNpbmNlIHdoYXQgaXQgcmVhbGx5IHJlZmVycyB0byBpcyBqdW1waW5nDQpkaXJlY3RseSB0byBh
IHN0YWdlIGFuZCBwcm9jZXNzaW5nIG9ubHkgdGhhdCBzdGFnZS4gIFRoaXMgDQpvcHRpb24gd291
bGQgaGF2ZSBiZWVuIG1vcmUgbWVhbmluZ2Z1bGx5IGNhbGxlZCBzb21ldGhpbmcgbGlrZQ0KIi0t
c2luZ2xlLXN0YWdlIiBvciAiLS10aGlzLXN0YWdlLW9ubHkiLg0KDQoqIE9uZ29pbmcgUlBNIG1h
aW50ZW5hbmNlIGlzc3Vlcw0KDQogIEFzIHlvdSBjb2xsZWN0IG1vcmUgbmlmdHkgY2F0IGltYWdl
cywgeW91IG1heSB3YW50IHRvIHJlbGVhc2UNCm5ld2VyIHZlcnNpb25zIG9mIHRoZSBQaWNzICdy
JyBVcyBjYXRwaWNzIFJQTSBmaWxlLiAgVGhlcmUgYXJlDQp0d28gc3RhbmRhcmQgd2F5cyB0byBi
dWlsZCBhbmQgcmVsZWFzZSB1cGRhdGVkIHZlcnNpb25zIG9mIGFuDQpSUE0uDQoNCiAgRmlyc3Qs
IGlmIHRoZSBjaGFuZ2UgaXMgc2ltcGx5IGEgcmVidWlsZCBvZiB0aGUgUlBNLCBvciBwZXJoYXBz
DQphIGNoYW5nZSBub3QgaW4gdGhlIGNvbnRlbnRzIGJ1dCBpbiwgc2F5LCBzb21lIHBlcm1pc3Np
b24gb3INCm93bmVyL2dyb3VwIGF0dHJpYnV0ZXMgb2YgZmlsZXMsIGl0J3MgcmVhc29uYWJsZSB0
byBidWlsZCB0aGUNCm5ldyBSUE0gYW5kIGp1c3QgaW5jcmVtZW50IHRoZSByZWxlYXNlL2J1aWxk
IG51bWJlciwgYXMgaW4gDQpjYXRwaWNzLTEuMC0yLm5vYXJjaC5ycG0uDQoNCiAgSWYgaG93ZXZl
ciwgeW91J3ZlIG1hZGUgbWFqb3IgY2hhbmdlcyBsaWtlIHJlcGxhY2luZyBvciBhZGRpbmcNCmlt
YWdlIGZpbGVzLCBpdCdzIG1vcmUgYXBwcm9wcmlhdGUgdG8gaW5jcmVtZW50IHRoZSB2ZXJzaW9u
IA0KbnVtYmVyLCB0byAxLjEgb3IgbWF5YmUgZXZlbiAyLjAuDQoNCiAgSW4gYW55IGNhc2UsIHlv
dSBzaG91bGQgbG9nIHRoZSBoaXN0b3J5IG9mIGNoYW5nZXMgaW4gdGhlDQpzcGVjIGZpbGUncyAi
Y2hhbmdlbG9nIiBzZWN0aW9uLCB3aGljaCB5b3UgY2FuIGFkZCBhdCB0aGUNCmJvdHRvbSBvZiB0
aGUgc3BlYyBmaWxlOg0KDQogICVjaGFuZ2Vsb2cNCiAgKiBNb24gSmFuIDEgMjAwMiBGcmVkIEJl
cmZlcmQgPGZyZWRAcGljc3J1cy5jb20+IDIuMC0xDQogIC0gdGhyZXcgb3V0IHByb3ByaWV0YXJ5
IEdJRnMsIHJlcGxhY2VkIGFsbCBpbWFnZXMgd2l0aCBQTkdzDQoNCiAgKiBUdWUgRGVjIDI1IDIw
MDEgRnJlZCBCZXJmZXJkIDxmcmVkQHBpY3NydXMuY29tPiAxLjItMQ0KICAtIHJlbW92ZWQgaW1h
Z2VzIG9mIEV0aGVsJ3MgbGl0dGxlIGhhaXJiYWxsIFNub29rdW1zDQoNCiAgKiBNb24gRGVjIDI0
IDIwMDEgRXRoZWwgUm9zZW5rcmFudHogPGV0aGVsQHBpY3NydXMuY29tPiAxLjEtMQ0KICAtIGFk
ZGVkIGltYWdlcyBvZiBteSBsaXR0bGUgZGFybGluZyBTbm9va3Vtcw0KDQogIElmIHlvdSBkbyB0
aGlzLCBhbnlvbmUgY2FuIHNlZSB0aGUgY29udGVudHMgb2YgdGhlIFJQTSBjaGFuZ2Vsb2cNCndp
dGggb25lIG9mOg0KDQogICQgcnBtIC1xcCAtLWNoYW5nZWxvZyBjYXRwaWNzLTIuMC0xLm5vYXJj
aC5ycG0NCiAgJCBycG0gLXEgLS1jaGFuZ2Vsb2cgY2F0cGljcw0KDQoqIFNvbWUgcnBtYnVpbGQg
b3B0aW9ucw0KDQogIEluIGFkZGl0aW9uIHRvIGFsbCBvZiB0aGUgcnBtYnVpbGQgb3B0aW9ucyB5
b3UndmUgc2Vlbg0Kc28gZmFyLCB0aGVyZSBhcmUgc2V2ZXJhbCBvdGhlcnMsIGluY2x1ZGluZzoN
Cg0KICAtLWJ1aWxkcm9vdCA8ZGlyZWN0b3J5Pg0KICAtLXJtc291cmNlCQkjIHJlbW92ZSBzb3Vy
Y2VzIGFmdGVyIHRoZSBidWlsZA0KICAtLXJtc3BlYwkJIyByZW1vdmUgc3BlYyBmaWxlIGFmdGVy
IHRoZSBidWlsZA0KICAtLXZ2CQkJIyBiZSB2ZXJ5IHZlcmJvc2UNCg0KICBGb3IgbW9yZSBvbiB0
aGVzZSBvcHRpb25zLCBzZWUgIm1hbiBycG1idWlsZCIuDQoNCiogQWR2YW5jZWQgaXNzdWVzDQoq
KiBEZWZpbmluZyBtdWx0aXBsZSBzb3VyY2VzDQoNCiAgUmVjYWxsIHRoYXQgb3VyIGNhdHBpY3Mg
UlBNIGRlcGVuZGVkIG9uIG5vdCBvbmx5IHRoZSBpbWFnZXMNCnByb3ZpZGVkIGJ5IHRoZSBhcnRp
c3RzLCBidXQgYWxzbyBhIGNvdXBsZSBjb3Jwb3JhdGUgZmlsZXMgdGhhdA0KeW91IGhhZCB0byBz
dXBwbHkgeW91cnNlbGYuICBXaGlsZSB5b3UgY2FuIGFsd2F5cyBjb3B5IHRoZXNlDQpmaWxlcyBp
bnRvIHRoZSBidWlsZCBkaXJlY3RvcnkgbWFudWFsbHkgKGFzIHdlIGRpZCksIHdoYXQgeW91DQpy
ZWFsbHkgc2hvdWxkIGRvIGlzIGRlZmluZSBtdWx0aXBsZSBzb3VyY2UgZGlyZWN0aXZlcywgbWFr
aW5nDQppdCBjbGVhciB0aGF0IHlvdXIgbmV3IFJQTSBpcyBnZXR0aW5nIGl0cyBjb250ZW50cyBm
cm9tIGEgDQp2YXJpZXR5IG9mIGxvY2F0aW9uczoNCg0KICBTb3VyY2U6IGNhdHBpY3MtMS4wLnRn
eg0KICBTb3VyY2UxOiA8YWRkaXRpb25hbCBzb3VyY2U+DQogIFNvdXJjZTI6IDxhZGRpdGlvbmFs
IHNvdXJjZT4NCg0KYW5kIHNvIG9uLiAgWW91IGNhbiByZWZlciB0byB0aGUgZmlyc3Qgc291cmNl
IGFzIGVpdGhlciBTb3VyY2UNCm9yIFNvdXJjZTAsIGl0IGRvZXNuJ3QgbWF0dGVyLg0KDQogIElm
IHlvdSB3YW50IHRvIGtub3cgbW9yZSBhYm91dCBtdWx0aS1zb3VyY2Ugc3BlYyBmaWxlcywgeW91
DQpzaG91bGQgcmVhZCB0aGUgb25saW5lIGRvY3VtZW50YXRpb24uDQoNCioqIFRoZSAlZmlsZXMg
c2VjdGlvbg0KDQogIFJlY2FsbCB0aGUgZmFpcmx5IHNpbXBsZSAlZmlsZXMgc2VjdGlvbiB3ZSB1
c2VkIHRvIGRlZmluZSB0aGUgDQpjb250ZW50cyBvZiBvdXIgbmV3IFJQTToNCg0KICAlZmlsZXMN
CiAgJWRlZmF0dHIoLSxyb290LHJvb3QpDQogIC91c3IvbG9jYWwvY2F0cGljcw0KICAlZG9jIFJF
QURNRSBBUlRJU1RTIExJQ0VOU0UNCg0KU28gd2hhdCBkb2VzIGFsbCB0aGlzIG1lYW4/ICANCg0K
ICBJZ25vcmluZyB0aGUgJWRvYyBsaW5lICh3aGljaCBJJ2xsIGV4cGxhaW4gaW4gdGhlIG5leHQg
c2VjdGlvbiksIA0KdGhlIHB1cnBvc2Ugb2YgdGhlICVmaWxlcyBzZWN0aW9uIGlzIHRvIGxpc3Qs
IHdpdGggb25lIGVudHJ5IHBlcg0KbGluZSwgZXZlcnkgZmlsZSBhbmQgZGlyZWN0b3J5ICh3aXRo
IGEgZnVsbHktcXVhbGlmaWVkIG5hbWUpIHRvIA0KYmUgY29waWVkIGZyb20gdGhlIGJ1aWxkIHJv
b3QgZGlyZWN0b3J5IGludG8gdGhlIG5ldyBSUE0uICBCeQ0KZGVmYXVsdCwgYSBmaWxlbmFtZSBy
ZWZlcnMgdG8gb25seSB0aGF0IGZpbGUsIHdoaWxlIGEgZGlyZWN0b3J5DQpuYW1lIHJlZmVycyB0
byB0aGUgZW50aXJlIHJlY3Vyc2l2ZSBjb250ZW50cyBvZiB0aGF0IGRpcmVjdG9yeTsNCmhlbmNl
LCBvdXIgbGlzdGluZyBvZiAiL3Vzci9sb2NhbC9jYXRwaWNzIi4gIFNvIHdoYXQgZWxzZSBjYW4N
CndlIGRvIGluIHRoaXMgc2VjdGlvbj8NCg0KICBGaXJzdCwgd2UgY2FuIHNwZWNpZnkgdGhhdCB3
ZSB3YW50IHRvIGFkZCBvbmx5IGEgZGlyZWN0b3J5DQpvYmplY3QsIG5vdCBpdHMgZW50aXJlIHJl
Y3Vyc2l2ZSBjb250ZW50cywgd2l0aCB0aGUgJWRpciBkaXJlY3RpdmU6DQoNCiAgJWRpciAvdXNy
L2xvY2FsL2NhdHBpY3MNCg0KVGhpcyBpcyB1c2VmdWwgaWYgd2UncmUgdHJ5aW5nIHRvIGFkZCBh
biBlbXB0eSBkaXJlY3RvcnksIG9yIHdlDQp3YW50IHRvIGJlIG1vcmUgc2VsZWN0aXZlIGFib3V0
IHdoaWNoIG9mIGl0cyBjb250ZW50cyB3ZSB3YW50IHRvDQphZGQgdG8gdGhlIG5ldyBSUE06DQoN
CiAgJWRpciAvdXNyL2xvY2FsL2NhdHBpY3MJCSMgYWRkIGRpcmVjdG9yeSBvbmx5IC4uLg0KICAv
dXNyL2xvY2FsL2NhdHBpY3MveGVuYS5qcGcJCSMgLi4uIGFuZCB0aGlzIGZpbGUgLi4uDQogIC91
c3IvbG9jYWwvY2F0cGljcy9qb25lcy5qcGcJCSMgLi4uIGFuZCB0aGlzIGZpbGUNCg0KQnV0IHRo
ZXJlIGlzIGFub3RoZXIgcmVhc29uIHRvIHRyZWF0IGRpcmVjdG9yaWVzIHNlcGFyYXRlbHkuDQoN
CiAgQnkgZGVmYXVsdCwgZmlsZXMgYW5kIGRpcmVjdG9yaWVzIGFkZGVkIHRvIHRoZSBuZXcgUlBN
IHdpbGwNCnJldGFpbiB0aGVpciBvcmlnaW5hbCBwZXJtaXNzaW9ucywgb3duZXIgYW5kIGdyb3Vw
LiAgWW91IGNhbg0Kb3ZlcnJpZGUgdGhpcyBieSBhZGRpbmcgYXQgbW9zdCBvbmUgJWRlZmF0dHIg
ZGlyZWN0aXZlIGluIHRoZQ0KJWZpbGVzIHNlY3Rpb24sIGFzIGluOg0KDQogICVkZWZhdHRyKC0s
cm9vdCxyb290KQ0KDQpUaGlzIGRpcmVjdGl2ZSBkZWZpbmVzIHRoZSBuZXcgcGVybWlzc2lvbnMs
IG93bmVyIGFuZCBncm91cCB0aGF0DQphbGwgb2JqZWN0cyB3aWxsIGdldDsgYSBoeXBoZW4gaW4g
YW55IGZpZWxkIG1lYW5zIHRvIGtlZXAgdGhlDQpvcmlnaW5hbCBhdHRyaWJ1dGUuDQoNCiAgSW4g
YWRkaXRpb24gdG8gdGhpcyBnbG9iYWwgYXR0cmlidXRlIGRlZmluaXRpb24sIHlvdSBjYW4gDQph
ZGQgYSBwZXItbGluZSAlYXR0ciBkaXJlY3RpdmUsIHdoaWNoIHRha2VzIHByZWNlZGVuY2UuICBU
aGlzIGxlYWRzDQp0byBjb21iaW5hdGlvbnMgb2YgZ2xvYmFsIGFuZCBsb2NhbCBhdHRyaWJ1dGUg
c2V0dGluZ3Mgc3VjaCBhcw0KdGhlIGZvbGxvd2luZyBleGNlcnB0LCBleHRyYWN0ZWQgZnJvbSBh
IHJlYWwgc3BlYyBmaWxlOg0KDQogICVmaWxlcw0KICAlZGVmYXR0cigwNzU1LHJvb3Qscm9vdCkN
CiAgL2Jpbg0KICAvYm9vdA0KICAvZXRjDQogIC9pbml0cmQgDQogIC9saWINCiAgJWRpciAvbW50
DQogICVkaXIgL29wdA0KICAlYXR0cig1NTUscm9vdCxyb290KSAvcHJvYw0KICAlYXR0cig3NTAs
cm9vdCxyb290KSAvcm9vdA0KICAvdXNyL3NoYXJlL2RvYw0KICAlYXR0cig1NTUscm9vdCxyb290
KSAlZGlyIC91c3Ivc2hhcmUvZW1wdHkgICAjIHR3byBkaXJlY3RpdmVzIGhlcmUNCg0KSW4gc2hv
cnQsIHlvdSBjYW4gY29tYmluZSB0aGUgJWRlZmF0dHIsICVkaXIgYW5kICVhdHRyIGRpcmVjdGl2
ZXMgdG8NCmdldCBwcmVjaXNlbHkgdGhlIGZpbGUgYW5kIGRpcmVjdG9yeSBhdHRyaWJ1dGVzIHlv
dSB3YW50IGluIHRoZSBuZXcNClJQTS4NCg0KICBGaW5hbGx5LCB5b3UgY2FuIHVzZSB0aGUgYmFz
aWMgc2hlbGwgZ2xvYmJpbmcgZmVhdHVyZSBpbiBhbnkNCm9mIHRoZSAlZmlsZXMgbGluZXMsIGFz
IGluOg0KDQogIC91c3IvbG9jYWwvY2F0cGljcy8qLmpwZw0KDQoqKiBEb2N1bWVudGF0aW9uIGZp
bGVzDQoNCiAgSW4gYWRkaXRpb24gdG8gdGhlIG90aGVyIGRpcmVjdGl2ZXMgeW91IGNhbiBmaW5k
IGluIHRoZSANCiVmaWxlcyBzZWN0aW9uLCB5b3UgY2FuIGFsc28gdGFnIGZpbGVzIG9yIGRpcmVj
dG9yaWVzIGFzDQpkb2N1bWVudGF0aW9uIGZpbGVzLCB3aGljaCBjYW4gYmUgdHJlYXRlZCBkaWZm
ZXJlbnRseSBhcw0KeW91J2xsIHNlZSBzaG9ydGx5Lg0KDQogIEZpcnN0LCBpZiB5b3UgcGxhY2Vk
IHNvbWUgZG9jIGZpbGVzIGF0IHRoZSB0b3Agb2YgdGhlDQpidWlsZCBkaXJlY3RvcnksIHlvdSBj
YW4gZmxhZyB0aGVtIGFzIGRvYyBmaWxlcyB3aXRoOg0KDQogICVkb2MgUkVBRE1FIEFSVElTVFMN
Cg0KVGhpcyBub3Qgb25seSBtYXJrcyB0aGVtIGFzIGRvY3VtZW50YXRpb24sIGJ1dCBhcnJhbmdl
cw0KdGhhdCB0aGV5IHdpbGwgYXV0b21hdGljYWxseSBiZSBjb3BpZWQgaW50byB0aGUgUlBNIHVu
ZGVyDQp0aGUgZGVmYXVsdCBkb2N1bWVudGF0aW9uIGRpcmVjdG9yeTsgaW4geW91ciBjYXNlLCBw
cm9iYWJseQ0KL3Vzci9zaGFyZS9kb2MvY2F0cGljcy0xLjAuICBJZiB5b3UgdXNlIHRoaXMgbWV0
aG9kLCB0aGVyZSdzDQpubyBuZWVkIHRvIGNvcHkgdGhlc2UgZmlsZXMgdG8gdGhlIGJ1aWxkIHJv
b3QgeW91cnNlbGYgLS0NCnRoYXQgd2lsbCBiZSBkb25lIGF1dG9tYXRpY2FsbHkuICBBcyBhIHZh
cmlhdGlvbiBvZiB0aGlzLA0KeW91IG1pZ2h0IGhhdmUgYW4gZW50aXJlIGRpcmVjdG9yeSBvZiBk
b2N1bWVudGF0aW9uIGF0IHRoZQ0KdG9wIG9mIHRoZSBidWlsZCBkaXJlY3RvcnksIHNheSwgdW5k
ZXIgdGhlIG5hbWUgImRvY3MiLCB0aGF0DQp5b3UgY2FuIHRhZyB3aXRoOg0KDQogICVkb2MgZG9j
cw0KDQogIElmIHRoZSBkb2MgZmlsZXMgYXJlbid0IGF0IHRoZSB0b3Agb2YgdGhlIGJ1aWxkIGRp
cmVjdG9yeSwNCnlvdSBjYW4gYWx3YXlzIGp1c3QgcmVmZXIgdG8gdGhlbSBleHBsaWNpdGx5IGFu
ZCBjb3B5IHRoZW0NCmFzIHlvdSB3b3VsZCBub3JtYWwgZmlsZXMsIGFzIGluOg0KDQogICVkb2Mg
L3Vzci9sb2NhbC9jYXRwaWNzL2RvY2ZpbGUNCg0KICBBbmQsIGZpbmFsbHksIGlmIHlvdSBoYXZl
IGEgbm9uLXN0YW5kYXJkIGRpcmVjdG9yeSB0aGF0DQp3aWxsIGNvbnRhaW4gZG9jIGZpbGVzLCB5
b3UgY2FuIGZsYWcgdGhlIGVudGlyZSBkaXJlY3RvcnkgYXMNCmEgZG9jdW1lbnRhdGlvbiBkaXJl
Y3RvcnksIGFzIGluOg0KDQogICVkb2NkaXIgL29wdC9jYXRwaWNzL2RvYw0KDQpUaGlzIG1lYW5z
IHRoYXQgYWxsIGZpbGVzIGluIHRoYXQgUlBNIGRpcmVjdG9yeSB3aWxsIGFsc28gYmUNCnRhZ2dl
ZCBhcyBkb2N1bWVudGF0aW9uIGZpbGVzLiAgQW5kIGp1c3Qgd2hhdCBpcyB0aGUgdmFsdWUNCm9m
IGhhdmluZyBzb21ldGhpbmcgY29uc2lkZXJlZCBkb2N1bWVudGF0aW9uPw0KDQogIE9uY2Ugc29t
ZXRoaW5nIGhhcyBiZWVuIHRhZ2dlZCBhcyBhIGRvYyBmaWxlLCB5b3UgY2FuIHVzZQ0KdGhlICJy
cG0iIGNvbW1hbmQgdG8gbGlzdCBzdHJpY3RseSB0aGUgZG9jdW1lbnRhdGlvbiBmaWxlcyBpbiAN
CmFueSBSUE0gd2l0aDoNCg0KICAkIHJwbSAtcXBsZCBjYXRwaWNzLTEuMC0xLm5vYXJjaC5ycG0N
Cg0KICBBZGRpdGlvbmFsbHksIGlmIHlvdSdyZSBzdHJhcHBlZCBmb3IgZGlzayBzcGFjZSwgeW91
IA0KKHRoZW9yZXRpY2FsbHkpIGhhdmUgdGhlIHJpZ2h0IHRvIGluc3RhbGwgYWxsICpidXQqIHRo
ZQ0KZG9jdW1lbnRhdGlvbiBmaWxlcyB3aXRoIHRoZSBjb21tYW5kOg0KDQogICQgcnBtIC1pdmgg
LS1leGNsdWRlZG9jcyBjYXRwaWNzLTEuMC0xLm5vYXJjaC5ycG0NCg0KKEkgc2F5ICJ0aGVvcmV0
aWNhbGx5IiBzaW5jZSwgd2hpbGUgdGhpcyBmZWF0dXJlIGlzIG9mZmljaWFsbHkNCmRvY3VtZW50
ZWQsIEkgaGF2ZSB5ZXQgdG8gZ2V0IGl0IHdvcmsgdGhhdCB3YXkuKQ0KDQoqIFN0dWZmIHdlIGRp
ZG4ndCB0YWxrIGFib3V0DQoNCiAgVGhlcmUncyBjbGVhcmx5IGEgbG90IG9mIHRvcGljcyBJIGRp
ZG4ndCBjb3ZlciBoZXJlOg0KDQogIC0gdGhlIGRldGFpbHMgb2YgdXNpbmcgbXVsdGlwbGUgc291
cmNlcw0KICAtIHVzaW5nIHBhdGNoIGZpbGVzDQogIC0gaW5zdGFsbCBhbmQgdW5pbnN0YWxsIHNj
cmlwdHMNCiAgLSBzcGVjIGZpbGUgY29uZGl0aW9uYWxzDQogIC0gYnVpbGRpbmcgcmVsb2NhdGFi
bGUgUlBNcw0KICAtIHNpZ25pbmcgcGFja2FnZXMgd2l0aCBHUEcNCiAgLSBidWlsZGluZyBzdWJw
YWNrYWdlcw0KDQphbmQgYSB0cnVja2xvYWQgbW9yZS4gIElmIHlvdSB3YW50IHRvIGtub3cgbW9y
ZSwgSSByZWNvbW1lbmQNCnRoZSBvbmxpbmUgYm9vayAiTWF4aW11bSBSUE0sIiBhbHRob3VnaCB0
aGF0IGJvb2sgaXMgYWRtaXR0ZWRseQ0KZ2V0dGluZyBhIGJpdCBkYXRlZC4NCg0KICBCZXNpZGVz
IHRoYXQsIHN0YXJ0IGF0IHd3dy5ycG0ub3JnIGFuZCB0YWtlIGl0IGZyb20gdGhlcmUuDQoNCiog
SW4gY2xvc2luZw0KDQogIElmIHlvdSBoYXZlIGFueSBxdWVzdGlvbnMgb3IgY29tbWVudHMsIG9y
IHN1Z2dlc3Rpb25zIG9uIGhvdw0KdG8gaW1wcm92ZSB0aGlzIGRvY3VtZW50LCBlbWFpbCBtZSBh
dCBycGpkYXlAbWluZHNwcmluZy5jb20uDQoNCiAgVGhpcyBkb2N1bWVudCBpcyBjb3B5cmlnaHQg
Um9iZXJ0IFAuIEouIERheSwgMjAwMS4gIEFsbCByaWdodHMNCnJlc2VydmVkLiAgWW91J3JlIHdl
bGNvbWUgdG8gZGlzdHJpYnV0ZSB0aGlzIGZyZWVseSwgYnV0IHlvdSdyZSBub3QNCmZyZWUgdG8g
c3RhcnQgbWFraW5nIG1vZGlmaWNhdGlvbnMgdG8gaXQgdW50aWwgSSByZWxlYXNlIHRoZQ0KZmlu
YWwgdmVyc2lvbiB1bmRlciB0aGUgR05VIEZETCBsaWNlbnNlLg0KDQoqIEFwcGVuZGl4IEE6IFRo
ZSBzcGVjIGZpbGUNCg0KICBUaGUgY29udGVudHMgb2YgdGhlIHNwZWMgZmlsZSAiY2F0cGljcy5z
cGVjIjoNCg0KU3VtbWFyeTogQ2F0UGljcywgYSBjb2xsZWN0aW9uIG9mIGZlbGluZSBpbWFnZXMN
Ck5hbWU6IGNhdHBpY3MNClZlcnNpb246IDEuMA0KUmVsZWFzZTogMQ0KQ29weXJpZ2h0OiBHUEwN
Ckdyb3VwOiBBbXVzZW1lbnRzL0dyYXBoaWNzDQpTb3VyY2U6IGZ0cDovL2Z0cC5waWNzcnVzLmNv
bS9wdWIvJXtuYW1lfS0le3ZlcnNpb259LnRneg0KVVJMOiBodHRwOi8vd3d3LnBpY3NydXMuY29t
L3B1Yi9waWNzL2NhdHBpY3MuaHRtbA0KQnVpbGRBcmNoOiBub2FyY2gNCkJ1aWxkUm9vdDogJXtf
dG1wcGF0aH0vJXtuYW1lfS1yb290DQpWZW5kb3I6IFBpY3MgUiBVcywgSW5jLg0KUGFja2FnZXI6
IEZyZWQgQmVyZmVyZCA8ZnJlZEBwaWNzcnVzLmNvbT4NClJlcXVpcmVzOiBlZQ0KDQoNCiVkZXNj
cmlwdGlvbg0KVGhpcyBwYWNrYWdlIGNvbnRhaW5zIENhdFBpY3MsIGp1c3QgYSBjb2xsZWN0aW9u
IG9mIA0KZmVsaW5lIGltYWdlcyBpbiB2YXJpb3VzIGdyYXBoaWNzIGZvcm1hdHMsIGFsb25nIHdp
dGggYQ0KY291cGxlIG9mIGRvY3VtZW50YXRpb24gZmlsZXMuDQoNCiVwcmVwDQolc2V0dXAgLXEN
CmNwIC9ldGMvTElDRU5TRSAuDQpjcCAvZXRjL3BpY3NydXMuanBnIHBpY3MNCg0KJWJ1aWxkDQpl
eGl0IDANCg0KJWluc3RhbGwNCnJtIC1yZiAke1JQTV9CVUlMRF9ST09UfQ0KDQpta2RpciAtcCAk
e1JQTV9CVUlMRF9ST09UfS91c3IvbG9jYWwvY2F0cGljcw0KY3AgcGljcy8qICR7UlBNX0JVSUxE
X1JPT1R9L3Vzci9sb2NhbC9jYXRwaWNzDQp0b3VjaCAke1JQTV9CVUlMRF9ST09UfS9CT0dVUw0K
DQolY2xlYW4NCiMgcm0gLXJmICR7UlBNX0JVSUxEX1JPT1R9DQoNCiVmaWxlcw0KJWRlZmF0dHIo
LSxyb290LHJvb3QpDQovdXNyL2xvY2FsL2NhdHBpY3MNCiVkb2MgUkVBRE1FIEFSVElTVFMgTElD
RU5TRQ0K

--------------Boundary-00=_K6DUY6MV3SKC5EGWQH4G--