From owner-sc22wg5@open-std.org  Thu Jan  8 15:18:56 2009
Return-Path: <owner-sc22wg5@open-std.org>
X-Original-To: sc22wg5-dom7
Delivered-To: sc22wg5-dom7@www2.open-std.org
Received: by www2.open-std.org (Postfix, from userid 521)
	id 44F18CA5FE2; Thu,  8 Jan 2009 15:18:56 +0100 (CET)
X-Original-To: sc22wg5@open-std.org
Delivered-To: sc22wg5@open-std.org
Received: from gloin.rl.ac.uk (gloin.rl.ac.uk [130.246.135.201])
	by www2.open-std.org (Postfix) with ESMTP id 783AFCA3429
	for <sc22wg5@open-std.org>; Thu,  8 Jan 2009 15:18:53 +0100 (CET)
X-RAL-MFrom: <John.Reid@stfc.ac.uk>
X-RAL-Connect: <jkr.cse.rl.ac.uk [130.246.9.202]>
Received: from jkr.cse.rl.ac.uk (jkr.cse.rl.ac.uk [130.246.9.202])
	by gloin.rl.ac.uk (8.12.11.20060308/8.12.11) with ESMTP id n08EIifN028577
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Thu, 8 Jan 2009 14:18:44 GMT
Received: from [127.0.0.1] (localhost.localdomain [127.0.0.1])
	by jkr.cse.rl.ac.uk (8.12.10/8.12.8) with ESMTP id n08EIiEf001733;
	Thu, 8 Jan 2009 14:18:44 GMT
Message-ID: <49660B43.40403@stfc.ac.uk>
Date: Thu, 08 Jan 2009 14:18:43 +0000
From: John Reid <John.Reid@stfc.ac.uk>
Reply-To: John.Reid@stfc.ac.uk
Organization: Rutherford Appleton Laboratory
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.12) Gecko/20060209 Fedora/1.7.12-1.1.2.legacy
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: WG5 <sc22wg5@open-std.org>
Subject: Final version of N1766
Content-Type: multipart/mixed;
 boundary="------------070309090005000001060507"
X-CCLRC-SPAM-report: -1.44 : ALL_TRUSTED
X-Scanned-By: MIMEDefang 2.61 on 130.246.135.201
Sender: owner-sc22wg5@open-std.org
Precedence: bulk

This is a multi-part message in MIME format.
--------------070309090005000001060507
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit

WG5,

Here is the final version of N1766. The only changes from N1766-2 are

1. The removal of two lines from Makki's vote that I accidently copied into 
Nick's vote.

2. A minor edit of David's comment.

Cheers,

John.

--------------070309090005000001060507
Content-Type: application/unknown;
 name="N1766.txt"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
 filename="N1766.txt"

ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSVNPL0lFQyBKVEMx
L1NDMjIvV0c1IE4xNzY2CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgCiAgICAgICAgICBSZXN1bHQgbGV0dGVyIGJhbGxvdCA1IG9uIHRl
Y2huaWNhbCBjb250ZW50IG9mIE4xNzYxCgogICAgICAgICAgICAgICAgICAgICBKb2huIFJl
aWQsIDggSmFudWFyeSAyMDA5CgpUaGlzIGlzIHJlc3VsdCBvZiB0aGUgbGV0dGVyIGJhbGxv
dCAoTjE3NjMpIHRoYXQgV0c1IGFncmVlZCB0byBob2xkIGluIAp2aWV3IG9mIHRoZXJlIGJl
aW5nIGluc3VmZmljaWVudCB0aW1lIGluIFRva3lvIHRvIGRpc2N1c3MgdGhlIHRlY2huaWNh
bCAKY29udGVudCBvZiB0aGUgVFIgb24gIkZ1cnRoZXIgSW50ZXJvcGVyYWJpbGl0eSBvZiBG
b3J0cmFuIHdpdGggQyIuIAoKV0c1IG1lbWJlcnMgd2VyZSBhc2tlZCB0byBhbnN3ZXIgdGhl
IGZvbGxvd2luZyBxdWVzdGlvbiAiRG8geW91IGFwcHJvdmUgCm9mIHRoZSB0ZWNobmljYWwg
Y29udGVudCBvZiBOMTc2MT8iIGluIG9uZSBvciBtb3JlIG9mIHRoZXNlIHdheXMgKGl0IGlz
IAphY2NlcHRhYmxlIHRvIGNob29zZSBib3RoIDIgYW5kIDMpLiAKCjEpIFllcy4KMikgWWVz
LCB3aXRoIGNvbW1lbnRzLgozKSBZZXMsIGV4Y2VwdCB3aXRoIE9QVElPTkFMIGR1bW15IGFy
Z3VtZW50cyBpbiBpbnRlcm9wZXJhYmxlIGludGVyZmFjZXMgCiAgIHJlbW92ZWQsIHdpdGgg
Y29tbWVudHMuCjQpIE5vLCB3aXRoIGNvbW1lbnRzIChjb21tZW50cyByZXF1aXJlZCkuCjUp
IEFic3RhaW4uCgpUaGUgdm90ZXMgd2VyZSBhcyBmb2xsb3dzOgoKMSkgWWVzLgogICBSYXNt
dXNzZW4KCjIpIFllcywgd2l0aCBjb21tZW50cy4KICAgRG9uZXYKICAgU255ZGVyCgozKSBZ
ZXMsIGV4Y2VwdCB3aXRoIE9QVElPTkFMIGR1bW15IGFyZ3VtZW50cyBpbiBpbnRlcm9wZXJh
YmxlIGludGVyZmFjZXMgCiAgIHJlbW92ZWQsIHdpdGggY29tbWVudHMuCgo0KSBObywgd2l0
aCBjb21tZW50cyAoY29tbWVudHMgcmVxdWlyZWQpLgogICAgIEJhZGVyCiAgICAgQ2hpdmVy
cwogICAgIEluZ3Jhc3NpYQogICAgIE1hY2xhcmVuCiAgICAgTXV4d29ydGh5CiAgICAgUmVp
ZAogICAgIFNsZWlnaHRob2xtZQogICAgIFhpYQoKNSkgQWJzdGFpbi4KICAgICBNb3JnYW4K
ICAgICBUYWthdGEKCgpUaGUgZm9sbG93aW5nIGNvbW1lbnRzIHdlcmUgc3VibWl0dGVkOgoK
Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4u
Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KCkRvbmV2CgpJIGJlbGlldmUgdGhp
cyBUUiByZXF1aXJlcyBhZGRpdGlvbmFsIHdvcmsgYmVmb3JlIHRoZXJlIGlzIHJlYXNvbmFi
bGUgCmFncmVlbWVudCBvbiB0ZWNobmljYWwgY29udGVudCwgeWV0IGFsb25lIGJlZm9yZSBp
dCBpcyByZWFkeSBmb3IgCnB1YmxpY2F0aW9uLiBJdCdzIHB1YmxpY2F0aW9uIHNob3VsZCBu
b3QgYmUgcnVzaGVkIGJlZm9yZSBpdCBpcyByZWFkeSAKYmVjYXVzZSBpdCBpcyBhIHZlcnkg
aW1wb3J0YW50IFRSLgoKVGVjaG5pY2FsIGNvbW1lbnRzOgoKMSkgSSBzZW50IGFuIGV4YW1w
bGUgdG8gdGhlIEozIGxpc3QgZm9yIHdoaWNoIEkgZGlkIG5vdCByZWNlaXZlIGFuIGFuc3dl
ci4gCkl0IGlzIG5vdCBjbGVhciB3aGV0aGVyIGl0IHdhcyBpbnRlbmRlZCB0byBhbGxvdyBh
biBhc3NvY2lhdGVkIG9yIAphbGxvY2F0ZWQgQ0xBU1MoKikgKHVubGltaXRlZCBwb2x5bW9y
cGhpYykgYWN0dWFsIGFyZ3VtZW50IHRvIGNvcnJlc3BvbmQgCnRvIGFuIGFzc3VtZWQtdHlw
ZSBkdW1teSBhcmd1bWVudD8gSSBiZWxpZXZlIHRoaXMgc2hvdWxkIGJlIGFsbG93ZWQgYnV0
IApJIGNhbm5vdCBmaWd1cmUgb3V0IHdoYXQgaWYgYW55dGhpbmcgdGhlIFRSIC4KCjIpIElm
IGEgQklORChDKSByb3V0aW5lIGhhcyBhIGR1bW15IHRoYXQgaXMgYXNzdW1lZC10eXBlLCB0
aGUgcHJlc2VudCAKZHJhZnQgYWxsb3dzIG9uZSB0byBwYXNzIGFuIGFjdHVhbCB0aGF0IGlz
IG9mIG5vbiBpbnRlcm9wZXJhYmxlIHR5cGUuIApUaGlzIGlzIGxpa2VseSBpbnRlbmRlZCBi
dXQgaWYgc28gdGhhdCBzaG91bGQgYmUgc3RhdGVkIHNvIHRoZXJlIGlzIG5vIApjb25mdXNp
b24uCgozKSBUaGUgcHJlc2VudCBtZWNoYW5pc20gZm9yIG1ha2luZyBhIHR5cGVsZXNzIChh
c3N1bWVkLXR5cGUpIGR1bW15IAp1c2FibGUgaXMgdG8gdXNlIENfRl9QT0lOVEVSIHRvIHBv
aW50IGEgRm9ydHJhbiBwb2ludGVyIHRvIGl0LCBzZWUgdGhlIApsYXN0IGV4YW1wbGUgaW4g
dGhlIFRSLiBUaGlzIGlzIHN5bnRhY3RpY2FsbHkgdWdseSwgYW5kIGRvZXMgbm90IHRyYW5z
ZmVyIApzdHJpZGVzIGZvciBub24tY29udGlndW91cyBvYmplY3RzLiBJdCBpcyBtdWNoIGJl
dHRlciB0byBhbGxvdyBhIGRpcmVjdCAKcG9pbnRlciBhc3NpZ25tZW50IHN0YXRlbWVudCBm
b3IgdGhpcyBwdXJwb3NlLCBzaW1pbGFybHkgdG8gaG93IHdlIGFsbG93IApvbmUgdG8gcG9p
bnQgYSB0eXBlZCBGb3J0cmFuIHBvaW50ZXIgdG8gYSBDTEFTUygqKSB0YXJnZXQuIEhlcmUg
aXMgYSBuaWNlIApleGFtcGxlIHRoYXQgY2Fubm90IGJlIGRvbmUgd2l0aCB0aGUgcHJlc2Vu
dCBUUjoKCnN1YnJvdXRpbmUgcHJvY2VzcyhibG9jaykKICAgdHlwZSgqKSwgZGltZW5zaW9u
KDosOiksIHRhcmdldCA6OiBibG9jaygqKSAhIE1heSBiZSBub24tY29udGlndW91cwogICBp
bnRlZ2VyLCBwb2ludGVyIDo6IHVzYWJsZSg6LDopICAKICAgdXNhYmxlPT5ibG9jayAhIENv
cGllcyBib3VuZHMsIHN0cmlkZXMsIGV0Yy4KICAgdXNhYmxlPTAgISBJbnN0ZWFkIG9mIHRo
ZSBkaXNhbGxvd2VkIGJsb2NrPTAKZW5kIHN1YnJvdXRpbmUKCjQpIFRoZSBzdGF0ZW1lbnQg
IkluIG90aGVyIHJlc3BlY3RzLCB0aGUgcnVsZXMgZm9yCmFzc3VtZWQtcmFuayBkdW1teSBh
cmd1bWVudHMgYXJlIHNpbWlsYXIgdG8gdGhvc2UgZm9yIGFzc3VtZWQtc2hhcGUKYXJyYXlz
IiBzaG91bGQgYmUgY2xhcmlmaWVkIGJ5IG1ha2luZyBhIGxpc3Qgb2YgYWxsIG9mIHRoZXNl
IHJ1bGVzLgoKNSkgSSBhZ3JlZSB3aXRoIEJhZGVyIHRoYXQgYSBTRUxFQ1QgUkFOSyBzaG91
bGQgYmUgY29uc2lkZXJlZCB0byBhbGxvdyAKYXNzdW1lZC1yYW5rIGFycmF5cyB0byBiZSB1
c2VkIGRpcmVjdGx5IGluIEZvcnRyYW4uCgo2KSBUaGUgcm91dGluZSBDRklfdXBkYXRlX2Zk
ZXNjIGlzIGNvbnN0cmFpbmVkIHRvIHVzZSBtYWxsb2MuIEkgYWdyZWUgCndpdGggYW5vdGhl
ciBjb21tZW50IHRoYXQgaXQgaXMgYmV0dGVyIHRvIGFkZCBhIGRlc3RydWN0aW9uIHJvdXRp
bmUgYW5kIApub3QgZm9yY2UgdGhlIHVzZSBvZiBtYWxsb2MgdXBvbiB0aGUgaW1wbGVtZW50
YXRpb24uCgo3KSBJIGFncmVlIHdpdGggQmFkZXIgdGhhdCB0aGUgcm91dGluZSBDRklfaXNf
Y29udGlndW91cyBpcyBiZXR0ZXIgZG9uZSAKYXMgYSBmdW5jdGlvbiB0aGF0IGFsc28gcmV0
dXJucyBmYWxzZSBmb3Igbm90IGFsbG9jYXRlZC4KCjgpIFRoZSBmdW5jdGlvbiBDRklfYm91
bmRzX3RvX2NkZXNjIGFzc3VtZXMgYSBjb250aWd1b3VzIG9iamVjdCwgYW5kIHRoaXMgCnNo
b3VsZCBiZSBzdGF0ZWQuIFRoZSBmdW5jdGlvbiBDRklfY2Rlc2NfdG9fYm91bmRzIGNhbiBv
bmx5IHdvcmsgZm9yIApjb250aWd1b3VzIG9iamVjdHMgYXMgd2VsbCwgYW5kIHRoaXMgc2hv
dWxkIGJlIHN0YXRlZC4gSSBiZWxpZXZlIGl0IGlzIGEgCnVzZWxlc3MgZnVuY3Rpb24uCgo5
KSBDb25jZXJuaW5nIHRoZSBzZW50ZW5jZSAiQSBDIGRlc2NyaXB0b3IgYXNzb2NpYXRlZCB3
aXRoIHN1Y2ggbWVtb3J5IApzaGFsbCBub3QgYmUgc3VwcGxpZWQgYXMgYW4gYXJndW1lbnQg
dG8gQ0ZJX2RlYWxsb2NhdGUgYW5kIGEgY29ycmVzcG9uZGluZyAKZHVtbXkgYXJndW1lbnQg
aW4gYSBjYWxsZWQgRm9ydHJhbiBwcm9jZWR1cmUgc2hhbGwgbm90IGJlIHNwZWNpZmllZCBp
biBhCmNvbnRleHQgdGhhdCB3b3VsZCBjYXVzZSB0aGUgZHVtbXkgYXJndW1lbnQgdG8gYmUg
ZGVhbGxvY2F0ZWQuIgoKSXMgdGhlcmUgYSBjb250ZXh0IG90aGVyIHRoYW4gYW4gZXhwbGlj
aXQgREVBTExPQ0FURSBpbiB3aGljaCBwb2ludGVycyBhcmUgCmRlYWxsb2NhdGVkPwoKQWxz
bywgY29uY2VybmluZyB0aGUgc3Vic2VxdWVudDoKIklmIGEgRm9ydHJhbiBkZXNjcmlwdG9y
IGlzIGNyZWF0ZWQgYnkgYSBDIGZ1bmN0aW9uLCB0aGUgbWVtb3J5IGZvciB0aGUKZGVzY3Jp
cHRvciBtYXkgYmUgcmVsZWFzZWQgYnkgYSByZWZlcmVuY2UgdG8gdGhlIGZyZWUgbGlicmFy
eSBmdW5jdGlvbgppbiBhIEMgZnVuY3Rpb24gd2hlbiB0aGUgZGVzY3JpcHRvciBpcyBubyBs
b25nZXIgbmVlZGVkLiIKCkRlbGV0ZSB0aGlzIHNlbnRlbmNlIG9yIHJlcGxhY2UgIm1heSBi
ZSByZWxlYXNlZCIgd2l0aCAiSXQgaXMgdGhlIApwcm9ncmFtbWVyJ3MgcmVzcG9uc2liaWxp
dHkgdG8gcmVsZWFzZSIuIFRoZSBtZW1vcnkgbWF5IGJlIHJlbGVhc2VkIGJ5IApyZWZlcmVu
Y2UgdG8gdGhlIGZyZWUgbGlicmFyeSBmdW5jdGlvbiBpbiBhIEMgZnVuY3Rpb24uCgoxMCkg
UmVpbmhvbGQgQmFkZXIgaGFzIHN1Z2dlc3RlZCBESU1FTlNJT04oKiopIHRvIHNwZWNpZnkg
ZHVtbWllcyB0aGF0IGNhbiAKYmUgbWF0Y2hlZCBieSBhY3R1YWxzIG9mIGFueSByYW5rLCBp
bmNsdWRpbmcgc2NhbGFycy4KCjExKSBUaGUgcHJlc2VudCBkcmFmdCB1c2VzIENGSV9NQVhf
UkFOSyB0byBtYWtlIHRoZSBib3VuZHMvc3RyaWRlIAppbmZvcm1hdGlvbiBpbiB0aGUgQyBk
ZXNjcmlwdG9ycyBhIGZpeGVkLXNpemUgYXJyYXkuIEFuIGFsdGVybmF0aXZlIApkZXNpZ24s
IHdoaWNoIGhhcyBzb21lIGltcG9ydGFudCBhZHZhbnRhZ2VzLCBpcyB0byB1c2UgYSBmbGV4
aWJsZSBhcnJheSAKbWVtYmVyIGZvciB0aGlzIHB1cnBvc2UuIElmIHdlIG1ha2Ugc3VjaCBh
IGNoYW5nZSwgd2Ugc2hvdWxkIGFkZCBzb21lIAptYWNyb3MgdG8gbW9yZSBlYXNpbHkgbWFu
aXB1bGF0ZSB0aGUgZmxleGlibGUgYXJyYXkgbWVtYmVycy4KCi4uLi4uLi4uLi4uLi4uLi4u
Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4u
Li4uLi4uLi4uLi4uLi4uCgpTbnlkZXIKCkEgQyBkZXNjcmlwdG9yIGhhcyBhIGZsYWcgdGhh
dCBpbmRpY2F0ZXMgd2hldGhlciBhIHBvaW50ZXIgaXMgb3IgaXMgbm90IGFzc29jaWF0ZWQu
ICAKSXQncyBub3QgYWx3YXlzIHBvc3NpYmxlIHRvIHRlbGwuICBJdCBpcyBhbHdheXMgcG9z
c2libGUgdG8gdGVsbCB3aGV0aGVyIGEgcG9pbnRlciAKaXMgb3IgaXMgbm90IGRpc2Fzc29j
aWF0ZWQuCgpXaGVuZXZlciAidHlwZSIgaXMgdXNlZCBpdCBzaG91bGQgYmUgY2xlYXIgd2hl
dGhlciBpdCdzIEMgdHlwZSBvciBGb3J0cmFuIHR5cGUuICAKSXQncyBub3QgZXhwbGljaXQs
IGFuZCB0aGVyZWZvcmUgbm90IGNsZWFyLCBpbiBhIGZldyBwbGFjZXMuCgpUaGUgInNtIiBj
b21wb25lbnQgb2YgYSBDRklfZGltX3Qgc3RydWN0IGlzIHNwZWNpZmllZCB0byBiZSBtZWFz
dXJlZCBpbiBieXRlcy4gIApUaGlzIHNob3VsZCBiZSBpbiBwcm9jZXNzb3ItZGVwZW5kZW50
IHVuaXRzLgoKSW4gdGhlIGZvdXJ0aCBwYXJhZ3JhcGggb2YgdGhlICJBc3N1bWVkLXNoYXBl
LCAuLi4iIHNlY3Rpb24sIHNob3VsZG4ndCBpdCBiZSBwb3NzaWJsZSAKdG8gZGVhbGxvY2F0
ZSBhIHBvaW50ZXIgb2JqZWN0PwoKLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4u
Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4K
CkJhZGVyCgpSZWZlcmVuY2VzOgoKZnRwOi8vZnRwLm5hZy5jby51ay9zYzIyd2c1L04xNzUx
LU4xODAwL04xNzYxLnR4dApodHRwOi8vajMtZm9ydHJhbi5vcmcvZG9jL21lZXRpbmcvMTg2
LzA4LTI5NS50eHQKCgpNeSByZXNwb25zZSBpcyAiTk8sIHdpdGggY29tbWVudHMiLiBUaGUg
Y29tbWVudHMgYXJlIHByb3ZpZGVkCmJlbG93IGluIHRoZSBmb3JtIG9mIGEgbGlzdCBvZiBp
c3N1ZXMsIGV4YW1wbGVzIGFuZCBzdWdnZXN0aW9ucy4KVGhlIG1pbmltdW0gcmVxdWlyZWQg
dG8gbWFrZSBtZSBzYXkgWUVTIGlzOgoqIElzc3VlcyAxLCAyLCA0IGFuZCA2IG11c3QgYmUg
Zml4ZWQuIElzc3VlIDQgbWF5IGJlIHJlZ2FyZGVkIGFzIGEKICBzaG93c3RvcHBlciBieSB0
aG9zZSBmcm9tIHRoZSBNUEkgRm9ydW0gd2hvIHJlcXVpcmUgZXhpc3RpbmcKICBpbmZyYXN0
cnVjdHVyZSB0byBiZSBwcmVzZXJ2ZWQsIHdoaWxlIHByb3ZpZGluZyBpbXByb3ZlZCBGb3J0
cmFuCiAgaW50ZXJmYWNlcy4gCgoKSXNzdWUgMSAtIG1pc3NpbmcgZXhhbXBsZXMgZm9yIHVz
YWdlIG9mIGRlc2NyaXB0b3JzOgp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+
fn5+fn5+fn5+fn5+fn5+fn5+fgoKSSd2ZSB0cmllZCB0byBzdXBwbHkgb25lIHdoaWNoIGNv
dWxkIGJlIGFkZGVkIHRvIHRoZSBkcmFmdDsgaXQgaXMgYWxzbyB1c2VkCmhlcmUgdG8gaWxs
dXN0cmF0ZSBmdXJ0aGVyIFRSIGlzc3Vlcy4KCgpFeGFtcGxlIDE6CgoKQyBjYWxsaW5nIGEg
Rm9ydHJhbiBpbXBsZW1lbnRhdGlvbgoKbW9kdWxlIG1vZF9mb28KICB1c2UsIGludHJpbnNp
YyA6OiBpc29fY19iaW5kaW5nCiAgdHlwZSwgYmluZChjKSA6OiBmb28KICAgIGludGVnZXIo
Y19pbnQpIDo6IGkKICAgIHJlYWwoY19mbG9hdCkgOjogcigzKQogICAgY2hhcmFjdGVyKGNf
aW50KSA6OiBjCiAgZW5kIHR5cGUKY29udGFpbnMKICBzdWJyb3V0aW5lIGNvbnN0cnVjdF9m
b28odGhpcywgbiwgaSwgciwgYykgYmluZChjKQohICAgYmluZChjKSBleHRlbmRlZCBmb3Ig
VFIyOTExMyAKICAgIHR5cGUoZm9vKSwgYWxsb2NhdGFibGUsIGludGVudChvdXQpIDo6IHRo
aXMoOikKICAgIGludGVnZXIoY19pbnQpLCBpbnRlbnQoaW4pIDo6IG4sIGkobikKICAgIHJl
YWwoY19mbG9hdCksIGludGVudChpbikgOjogcigzLCBuKQogICAgY2hhcmFjdGVyKGNfY2hh
ciksIGludGVudChpbikgOjogYyhuKQogICAgOiAhIGNvZGUgZm9yIGNvbnN0cnVjdGluZyB0
aGlzCiAgZW5kIHN1YnJvdXRpbmUKZW5kIG1vZHVsZQoKQyBjbGllbnQgY29kZToKCiNpbmNs
dWRlIDxJU09fRm9ydHJhbl9iaW5kaW5nLmg+CgovKiBpbnRlcmZhY2UgKi8KCnZvaWQgY29u
c3RydWN0X2Zvbyh2b2lkICosIGludCwgaW50ICosIGZsb2F0ICosIGNoYXIgKik7IAoKLyog
bWF0Y2hpbmcgdHlwZSBkZWZpbml0aW9uICovCgp0eXBlZGVmIHN0cnVjdCB7CiAgaW50IGk7
CiAgZmxvYXQgclszXTsKICBjaGFyIGM7Cn0gRm9vOwoKaW50IG1haW4oKSB7CiAgQ0ZJX2Rl
c2NfdCAqbXlfZGVzYzsgCiAgdHlwZSBGb28gKmFycmF5X2VsZW07IAogIGludCA6OiBpc3Rh
dHVzOwogIGludCBpWzRdID0geyAxLCAyLCAzLCA0IH07IAogIGZsb2F0IHJbNF1bM10gPSB7
IHsgMS4wLCAxLjEsIDEuMiB9LCB7IDIuMCwgMi4xLCAyLjIgfSwgCiAgICAgICAgICAgICAg
ICAgICAgeyAzLjAsIDMuMSwgMy4yIH0sIHsgNC4wLCA0LjEsIDQuMiB9IH07CiAgY2hhciBj
WzRdID0geyAnYScsICdiJywgJ2MnLCAnZCcgfTsKCiAgbXlfZGVzYyA9IChDRklfZGVzY190
ICopIG1hbGxvYyhzaXplb2YoQ0ZJX2Rlc2NfdCkpOwogIG15X2Rlc2MtPmJhc2VfYWRkciA9
IE5VTEw7CiAgbXlfZGVzYy0+ZWxlbV9sZW4gPSBzaXplb2YoRm9vKTsgLyogbWF5IG5lZWQg
Rm9ydHJhbiBjYWxsIHRvIENfU0laRU9GIGlmIHVua25vd24gKi8KICBteV9kZXNjLT5yYW5r
ID0gMTsKICBteV9kZXNjLT50eXBlID0gQ0ZJX3R5cGVfc3RydWN0OwogIG15X2Rlc2MtPmF0
dHJpYnV0ZSA9IENGSV9hdHRyaWJ1dGVfYWxsb2NhdGFibGU7CiAgbXlfZGVzYy0+c3RhdGUg
PSAwOwogIG15X2Rlc2MtPmZkZXNjID0gTlVMTDsKCiAgaXN0YXR1cyA9IENGSV91cGRhdGVf
ZmRlc2MobXlfZGVzYyk7IC8qIG1ha2UgYXR0cmlidXRlcyBrbm93biB0byBwcm9jZXNzb3Ig
Ki8KICBjb25zdHJ1Y3RfZm9vKG15X2Rlc2MtPmZkZXNjLCA0LCBpLCByLCBjKTsKICBpc3Rh
dHVzID0gQ0ZJX3VwZGF0ZV9jZGVzYyhteV9kZXNjKTsgLyogdXBkYXRlIGF0dHJpYnV0ZXMg
Zm9yIEMgcHJvZ3JhbSAqLwoKCi8qIGFsaWduIDNyZCBlbGVtZW50IHRvIEMgc2NhbGFyIG9m
IG1hdGNoaW5nIHR5cGUuCiAgIChmb3IgY29udGlndW91cyBGb3J0cmFuIGFycmF5cyBvbmUg
Y291bGQgYWxzbyBhbGlnbiBhIEMgYXJyYXkpICovCiAgYXJyYXlfZWxlbSA9IChGb28gKiko
YmFzZV9hZGRyICsgMiAqIHNpemVvZihGb28pKTsKCiAgcHJpbnRmKCJDaGFyYWN0ZXIgY29t
cG9uZW50IG9mIDNyZCBlbGVtZW50OiAlc1xuIixhcnJheV9lbGVtLT5jKTsKCiAgaXN0YXR1
cyA9IENGSV9kZWFsbG9jYXRlKG15X2Rlc2MpOwogIGZyZWUobXlfZGVzYyk7CiAgCn0KCgpJ
c3N1ZSAyIC0gcG9seW1vcnBoaXNtIG9mIGFzc3VtZWQtdHlwZSBlbnRpdHk6Cn5+fn5+fn5+
fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KClNpbmNlIG5vIGNoYW5n
ZXMgdG8gdGhlIGRlZmluaXRpb24gb2YgQ19MT0MoKSBoYXZlIGJlZW4gaW50cm9kdWNlZCwg
YW5kIAp0aGlzIGZ1bmN0aW9uIGlzIHVzZWQgdG8gY2FzdCBhbiBvYmplY3Qgb2YgVFlQRSgq
KSB0byBhIHVzYWJsZSB0eXBlLCB0aGUgCnRleHQgYmVnaW5uaW5nIGluIGxpbmUgOTIgb2Yg
TjE3NjEgc2hvdWxkIGJlIHJlcGxhY2VkIGJ5CgoiSW4gdGhlIGFzc29jaWF0aW9uIG9mIGFj
dHVhbCBhbmQgZHVtbXkgYXJndW1lbnRzLCBhbiBhc3N1bWVkLXR5cGUKIGR1bW15IGFyZ3Vt
ZW50IGlzIHR5cGUgYW5kIGtpbmQgY29tcGF0aWJsZSB3aXRoIGEgbm9uLXBvbHltb3JwaGlj
IAogYWN0dWFsIGRhdGEgYXJndW1lbnQgb2YgYW55IHR5cGUuIgoKCklzc3VlIDMgLSBpbnRl
cmZhY2Ugb2YgQ0ZJX2lzX2NvbnRpZ3VvdXM6Cn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+
fn5+fn5+fn5+fn5+fn5+fgoKSSdkIHN1Z2dlc3QgCgpfQm9vbCBDRklfaXNfY29udGlndW91
cyhjb25zdCBDRklfY2Rlc2NfdCAqKQoKYW5kIGhhdmUgaXQgcmV0dXJuIGZhbHNlIGlmIGEg
ZHluYW1pYyBvYmplY3QgaXMgbm90IGFsbG9jYXRlZC4gVGhlIAp0eXBpY2FsIHVzYWdlIHdv
dWxkIHRoZW4gYmUgbW9yZSBjb25jaXNlOgoKaWYgKG15ZGVzYy0+c3RhdGUgJiYgQ0ZJX2lz
X2NvbnRpZ3VvdXMobXlkZXNjKSkgLi4uCgoKSXNzdWUgNCAtIHJhbmsgbWF0Y2hpbmcgZm9y
IGdlbmVyaWNzOgp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoKVGhl
IGV4YW1wbGUgcHJvdmlkZWQgaW4gbGluZSA1NTItNTc1IG9mIE4xNzYxIGlzIG5vdCBjb25m
b3JtaW5nLCBzaW5jZSAKb24gb2YgdGhlIHVzZXMgb2YgdGhlIGludGVyZmFjZSBjb250cmF2
ZW5lcyBwMjkwLCBwYXJhIDEzIG9mIHRoZSBGMjAwOCAKZHJhZnQgc3RhbmRhcmQgMDgtMDA3
cjIsIHdoaWNoIGRpc2FsbG93cyBtYXRjaGluZyBvZiBhY3R1YWwgYXJndW1lbnRzCm9mIGFy
Yml0cmFyeSByYW5rcyB0byB0aGUgYXNzdW1lZCBzaXplIGR1bW15IG9mIHJhbmsgb25lIGZv
cgphIGdlbmVyaWMgaW50ZXJmYWNlLgoKRWl0aGVyIG9uZSBtdXN0IGdpdmUgdXAgdXNpbmcg
YSBnZW5lcmljIGludGVyZmFjZSwgaW4Kd2hpY2ggY2FzZSB0d28gc2VwYXJhdGUgY2FsbHMg
bXVzdCBiZSBwcm92aWRlZCBmb3IgdGhlIHNjYWxhciBhbmQgCmFycmF5IGFyZ3VtZW50cywg
b3IgYSBmZWF0dXJlIG11c3QgYmUgYWRkZWQgdG8gdGhlIGxhbmd1YWdlIHdoaWNoCmFsbG93
cyB0byBwYXNzIGFuIGFyZ3VtZW50IG9mIGFyYml0cmFyeSByYW5rIGJ5IGFkZHJlc3MgLyBz
ZXF1ZW5jZQphc3NvY2lhdGlvbi4KClN1Z2dlc3Rpb24gMiBiZWxvdyB0cmllcyB0byBwcm92
aWRlIGFuIGV4dGVuc2lvbiB3aGljaCBzb2x2ZXMgdGhpcwpwcm9ibGVtLgoKCklzc3VlIDUg
LSBSQU5LIGludHJpbnNpYzoKfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCklzIHRoaXMg
cmVhbGx5IG5lZWRlZCBjb25zaWRlcmluZyB3ZSBhbHJlYWR5IGhhdmUgU0laRShTSEFQRShY
KSk/CgoKSXNzdWUgNiAtIHJlZmVyZW5jaW5nIG9yIGRlZmluaW5nIGFzc3VtZWQgcmFuayBl
bnRpdGllczoKfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+
fn5+fn5+fn5+fn5+CgpXZSBuZWVkIHNvbWUgcnVsZXMgdG8gZGVhbCB3aXRoIHRoaXMuIFVu
bGVzcyBzb21lIGNoZWNrcyAKbm9ybWFsbHkgcGVyZm9ybWVkIGF0IGNvbXBpbGUgdGltZSBh
cmUgZGVmZXJyZWQgdG8gcnVuIHRpbWUsCmludHJvZHVjaW5nIGEgU0VMRUNUIFJBTksgYmxv
Y2sgY29uc3RydWN0IG1pZ2h0IGJlIGFwcHJvcHJpYXRlLiAKCgogIHJlYWwsIGRpbWVuc2lv
big6OikgOjogYQogIHJlYWwsIHBvaW50ZXIgOjogcCg6KQoKICBzZWxlY3QgcmFuayAoYSkK
ICAgIGNhc2UoMCkgCiAgICAgIGEgPSAxLgogICAgY2FzZSgxKQogICAgICBhKDopID0gWyAu
Li4gXQogICAgZGVmYXVsdAogICAgICAuLi4gISBubyByZWZlcmVuY2VzIG9yIGRlZmluaXRp
b25zIG9mIGEgYWxsb3dlZCBoZXJlCiAgZW5kIHNlbGVjdAoKSXQgbWlnaHQgYWxzbyBiZSBm
ZWFzaWJsZSB0byBhbGxvdyBhIHBvaW50ZXIgb2YgcmFuayAxCnRvIHBvaW50IGF0IHN1Y2gg
YW4gb2JqZWN0OgoKICBwID0+IGEKICBpZiAoaSA8IHNpemUoYSkpIHRoZW4KICAgIC4uLiA9
IHAoaSkKICBlbmQgaWYKClRoaXMgd291bGQgaG93ZXZlciBpbXBseSBhIHJlLWludGVycHJl
dGF0aW9uIG9mIHNjYWxhciBhY3R1YWxzIAphcyByYW5rIDEgZW50aXRpZXMgb2Ygc2l6ZSAx
LgoKCklzc3VlIDcgLSBub24taW50ZXJvcGVyYWJsZSB0eXBlczoKfn5+fn5+fn5+fn5+fn5+
fn5+fn5+fn5+fn5+fn5+fn5+fn4KCldoaWxlIEkndmUgaGVhcmQgaXQgc2FpZCB0aGF0IGNv
dmVyYWdlIG9mIG5vbi1pbnRlcm9wZXJhYmxlIHR5cGVzIAp3YXMgbm90IHRoZSBwdXJwb3Nl
IG9mIHRoaXMgVFIsIEkgd29uZGVyIHdoZXRoZXIgdGhpcyBpcyBub3QgCmltcGxpY2l0bHkg
YWxyZWFkeSBjb250YWluZWQsIGF0IGxlYXN0IGZvciBub24taW50ZXJvcGVyYWJsZQplbnRp
dGllcyB3aXRoIGZvbGxvd2luZyBwcm9wZXJ0aWVzOgoKKiBub24tcG9seW1vcnBoaWMsIG5v
bi1zZXF1ZW5jZQoqIGFsbG9jYXRhYmxlIG9yIHBvaW50ZXIgdHlwZSBjb21wb25lbnRzCiog
dWx0aW1hdGUgdHlwZSBjb21wb25lbnRzIG9mIGludGVyb3BlcmFibGUgaW50cmluc2ljIHR5
cGUKQXNzdW1lZC1zaGFwZS9hc3N1bWVkLXJhbmsvYWxsb2NhdGFibGUvcG9pbnRlciwgc2Nh
bGFycyBhbmQgYXJyYXlzIG9mIAp0aGlzIHR5cGUgd291bGQgYmUgYWNjZXB0YWJsZSBhcyBk
dW1teSBhcmd1bWVudHMsIGJhc2VkIG9uIHRoZSAKZXhpc3RpbmcgY2FwYWJpbGl0aWVzIG9m
IHRoZSBkZXNjcmlwdG9ycy4KW3NpbmNlIEJJTkQgaXMgbm90IGEgY2hhcmFjdGVyaXN0aWMg
b2YgYSBkdW1teSBhcmd1bWVudCwgCiBub3JtYWwgc2NhbGFycyBtYXkgYmUgYSBwcm9ibGVt
LiBTaW5jZSBhbGxvY2F0YWJsZSBzY2FsYXJzIG9yCiBwb2ludGVyIHNjYWxhcnMgY2FuIGJl
IHVzZWQsIGl0IGlzIG5vdCByZWFsbHkgYSBiaWcgcHJvYmxlbS5dCgpTbywgaWYgdGhlIHR5
cGUgZGVmaW5pdGlvbiBmcm9tIGV4YW1wbGUgMSBhYm92ZSB3ZXJlIHJlcGxhY2VkIGJ5Cgog
IHR5cGUgOjogZm9vCiAgICBpbnRlZ2VyKGNfaW50KSA6OiBpCiAgICByZWFsKGNfZmxvYXQp
LCBhbGxvY2F0YWJsZSA6OiByKDopCiAgICBjaGFyYWN0ZXIoY19pbnQpIDo6IGMKICBlbmQg
dHlwZQoKdGhlIHVucGFja2luZyBwcm9jZXNzIGluIEMgd291bGQgbmVlZCB0byB1c2UgYSB0
eXBlIGRlZmluaXRpb24KCnR5cGVkZWYgc3RydWN0IHsKICBpbnQgaTsKICB2b2lkICpmZGVz
YzsKICBjaGFyIGM7Cn0gRm9vOwoKT25jZSBhbiBvYmplY3Qgb2YgdGhpcyB0eXBlIGlzIG1h
cHBlZCB0byBhbiBhcnJheSBlbGVtZW50LCBlaXRoZXIKQ0ZJX3VwZGF0ZV9jZGVzYygpIGNh
biBiZSB1c2VkIHRvIGFjY2VzcyB0aGUgdHlwZSBjb21wb25lbnQsIG9yCihpZiBTdWdnZXN0
aW9uIDEgYmVsb3cgaXMgYWRvcHRlZCksIHRoZSBDRklfY3JlYXRlX2Rlc2MoKSBjb25zdHJ1
Y3Rvcgp3aXRoIGEgbm9uLU5VTEwgbGFzdCBhcmd1bWVudC4KCltJZiB0eXBlIGZpZWxkcyBh
bmQgZHVtbXkgYXJndW1lbnRzIHVzZSBkaWZmZXJlbnQgZGVzY3JpcHRvcnMsIGl0IG1heQpi
ZSBuZWNlc3NhcnkgdG8gaW50cm9kdWNlIGFub3RoZXIgY29tcG9uZW50IG9mIENGSV9kZXNj
X3QsIHNheQp0Zl9kZXNjLl0KCgpJc3N1ZSA4IC0gQyB2YXJpYWJsZSBhcmd1bWVudCBsaXN0
czoKfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Cgp3aXRoIHRoZSBjaGFu
Z2VzIGludHJvZHVjZWQgaW4gMDgtMjk1IGl0IHNob3VsZCBub3cgYWxzbyBiZSBwb3NzaWJs
ZQp0byBwcm92aWRlIHN1cHBvcnQgZm9yIHZhcmFyZyBpbnRlcmZhY2VzIGJ5IG1hdGNoaW5n
IHRvIHNwZWNpZmljcyBvZgphIEZvcnRyYW4gZ2VuZXJpYyBpbnRlcmZhY2UuIFRoZSBvbmx5
IG9ic3RydWN0aW9uIHRvIHRoaXMgd291bGQgYmUKZGVhbGluZyB3aXRoIGNfY2hhciBhcmd1
bWVudHM7IHRoaXMgaG93ZXZlciBtaWdodCBhbHNvIGJlIHNvbHZlZCBieQpTdWdnZXN0aW9u
IDIgYmVsb3cuCgoKU3VnZ2VzdGlvbiAxIChkZXNpZ24gY2hhbmdlIGludGVyZmFjZSBjcmVh
dGlvbik6Cn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+
fgoKVGhpcyBpcyBhbiBhdHRlbXB0IHRvIGZvcm11bGF0ZSBhbiBhbHRlcm5hdGl2ZSB0byB0
aGUgZGVzY3JpcHRvciB1c2FnZSAKKGFuZCwgdG8gYSBsZXNzZXIgZXh0ZW50LCBkZXNpZ24p
IGRlc2NyaWJlZCBpbiBOMTc2MS4gVGhlIGlkZWEgaXMgdG8KKiBpbXByb3ZlIHByb3BlciBz
ZXBhcmF0aW9uIG9mIGNvbmNlcm5zCiogcmVxdWlyZSB0aGUgcHJvY2Vzc29yIHRvIGF1dG8t
Z2VuZXJhdGUgY29kZSB3aGljaCB1bmRlciB0aGUgCiAgcHJlc2VudCBwcm9wb3NhbCBtdXN0
IGJlIGluc2VydGVkIG1hbnVhbGx5LCBhbmQgdGhlcmVieSBpbXByb3ZlCiAgdXNhYmlsaXR5
LgpBZnRlciBhIGZpcnN0IGRlc2NyaXB0aW9uIEknbGwgYXR0ZW1wdCB0byBpbGx1c3RyYXRl
IHRoZSBhZHZhbnRhZ2VzIApjb21wYXJlZCB0byBOMTc2MSB2aWEgZXhhbXBsZSBwcm9ncmFt
cy4KClNpbmNlIHRoZSBhdHRyaWJ1dGVzIHByZXNlbnRseSBub3Qgc3VwcG9ydGVkIGZvciBp
bnRlcm9wZXJhYmxlIHByb2NlZHVyZQphcmd1bWVudHMgKGFzc3VtZWQgc2hhcGUsIHBvaW50
ZXIsIGFsbG9jYXRhYmxlLCBhbmQgcGVyaGFwcyBhbHNvCm5vbi1pbnRlcm9wZXJhYmxlIHR5
cGVzKSBhcmUgY2hhcmFjdGVyaXN0aWNzLCB0aGUgcHJvY2Vzc29yIGlzIGluIHByaW5jaXBs
ZSAKY2FwYWJsZSBvZiBkaXNhbWJpZ3VhdGluZyBpbnRlcmZhY2VzIHVzaW5nIHRoZXNlIGZl
YXR1cmVzIGZyb20gdGhvc2UgCnByZXZpb3VzbHkgYXZhaWxhYmxlIGZvciBDIGludGVyb3Bl
cmF0aW9uLiBIZW5jZSBJIGRvIG5vdCBjb25zaWRlciBpdCAKbmVjZXNzYXJ5IHRvIHByb3Zp
ZGUgYSBzZXBhcmF0ZSBhdHRyaWJ1dGUgd2l0aCB0aGUgQklORCBzdGF0ZW1lbnQuCgooQSkg
QyBjYWxsaW5nIGEgRm9ydHJhbiBpbXBsZW1lbnRhdGlvbjoKClRoZSBtYXRjaGluZyBDIGlu
dGVyZmFjZSBpcyByZXBsYWNlZCBieSBhbiBhdXRvLWdlbmVyYXRlZCBtYXBwZWQgQyAKaW50
ZXJmYWNlLiBGb3IgZXhhbXBsZSAxLCB0aGlzIHdvdWxkIGJlCgogICAgIHZvaWQgY29uc3Ry
dWN0X2ZvbyhDRklfZGVzY190ICosIGludCwgaW50ICosIGZsb2F0ICosIGNoYXIgKik7IAoK
SXQgd291bGQgYmUgdGhlIHJlc3BvbnNpYmlsaXR5IG9mIHRoZSBwcm9jZXNzb3IgdG8gCiog
Z2VuZXJhdGUgYSBsb2NhbCBuYW1lIGJ5IHdoaWNoIHRoZSBwcm9jZWR1cmUgbmFtZSBpcyBr
bm93biBpbiBGb3J0cmFuCiogZ2VuZXJhdGUgYSBnbG9iYWwgbmFtZSBiYXNlZCBvbiB0aGUg
ZGVmYXVsdCBsYWJlbCBvZiB0aGUgRm9ydHJhbiBlbnRpdHksIHVubGVzcwogIGEgYmluZGlu
ZyBsYWJlbCBpcyBzcGVjaWZpZWQuCiAgKFRoZXNlIHR3byBpdGVtcyBjb3VsZCBiZSBoYW5k
bGVkIGFuYWxvZ291c2x5IHRvIHRoZSB0cmVhdG1lbnQgb2YgRm9ydHJhbgogIGV4dGVybmFs
IHByb2NlZHVyZXMgd2l0aCBubyBiaW5kaW5nIGxhYmVsICgwOC0yOTUpKS4KKiBhdXRvbWF0
aWNhbGx5IGdlbmVyYXRlIGEgd3JhcHBlciB3aGljaCBwZXJmb3JtcyBhbnkgdXBkYXRlcyBj
b3ZlcmVkIGJ5CiAgQ0ZJX3VwZGF0ZV9mZGVzYyBpbiB0aGUgcHJlc2VudCBkZXNpZ24sIHVu
d3JhcHMgdGhlIGVudGl0eSBDRklfZGVzY190CiAgYW5kIGhhbmRzIG9uIHRoZSBGb3J0cmFu
IGRlc2NyaXB0b3IgZmllbGQgdG8gdGhlIEZvcnRyYW4tbG9jYWwgcHJvY2VkdXJlCiAgY2Fs
bC4gQSBkaXJlY3QgY2FsbCBmcm9tIEZvcnRyYW4gdG8gdGhlIGdsb2JhbCBDIG5hbWUgaXMg
bm9uLWNvbmZvcm1pbmcKICBzaW5jZSBubyB0eXBlIG1hdGNoaW5nIENGSV9kZXNjX3QgaXMg
YXZhaWxhYmxlIHdpdGhpbiBGb3J0cmFuOyB0aGUgcHJvY2Vzc29yCiAgc2hvdWxkIHByZXZl
bnQgYW4gaW50ZXJmYWNlIGF0dGVtcHRpbmcgdGhpcyBmcm9tIGJlaW5nIGNyZWF0ZWQuCiog
YWZ0ZXIgcmV0dXJuIGZyb20gdGhlIEZvcnRyYW4tbG9jYWwgcHJvY2VkdXJlIHBlcmZvcm1z
IGFueSB1cGRhdGVzIHdoaWNoCiAgYXJlIGNvdmVyZWQgYnkgQ0ZJX3VwZGF0ZV9jZGVzYyBp
biB0aGUgcHJlc2VudCBkZXNpZ24uCgpJdCBpcyBmdXJ0aGVyIHN1Z2dlc3RlZCB0byBwcm92
aWRlIGEgY29uc3RydWN0b3IgKGFuZCBhc3NvY2lhdGVkIGRlc3RydWN0b3IpIApmdW5jdGlv
biBmb3IgdGhlIGRlc2NyaXB0b3IgaXRzZWxmIHdoaWNoIGhhcyBhcyBpdHMgYXJndW1lbnRz
IHRob3NlIGVudGl0aWVzIAp0aGUgcHJvZ3JhbW1lciBpcyByZXNwb25zaWJsZSBmb3IuIFRo
ZSBjYWxsIHRvIHRoZSBjb25zdHJ1Y3RvciB3b3VsZCByZXBsYWNlCnRoZSBzaW1wbGUgbWFs
bG9jKCkgYW5kIHRoZSBpbW1lZGlhdGVseSBmb2xsb3dpbmcgZmllbGQgc2V0dGluZ3MgaW4g
dGhlIApleGFtcGxlIDEgYWJvdmUuIFRoZSBuZWNlc3NhcnkgY3JlYXRpb24gb2YgdGhlIGZk
ZXNjIGZpZWxkIHNob3VsZCBhbHNvIGJlIApwZXJmb3JtZWQgaW4gdGhpcyBjb25zdHJ1Y3Rv
ciB1bmxlc3MgYSBub24tTlVMTCB2YWx1ZSBpcyBzdXBwbGllZCBpbiB0aGUgbGFzdAphcmd1
bWVudCwgcmVwbGFjaW5nIHRoaXMgZnVuY3Rpb25hbGl0eSBpbiBDRklfdXBkYXRlX2ZkZXNj
KCkuIElmIGEgbm9uLU5VTEwKdmFsdWUgaWYgcHJvdmlkZWQgZm9yIGZkZXNjLCBhIGNvbnNp
c3RlbnQgQyBkZXNjcmlwdG9yIGlzIGNyZWF0ZWQsIGlnbm9yaW5nCnRoZSBvdGhlciBhcmd1
bWVudHMuIEhlcmUgdGhlIGludGVyZmFjZXM6CgogICAgIENGSV9kZXNjX3QgKkNGSV9jcmVh
dGVfZGVzYyhzaXplX3QgZWxlbV9sZW4sIGludCByYW5rLCBpbnQgdHlwZSwgCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBhdHRyaWJ1dGUsIHZvaWQgKmZkZXNjKTsK
ICAgICB2b2lkIENGSV9kZXN0cm95X2Rlc2MoQ0ZJX2Rlc2NfdCAqY2Rlc2MsIF9Cb29sIGRl
c3Ryb3lfZmRlc2MpOwoKYW5kIHR3byBjb25zdGFudHMgZm9yIHJlYWRhYmlsaXR5OgoKICAg
ICBDRklfZGVzdHJveV9mZGVzYyAoX0Jvb2wgd2l0aCB2YWx1ZSB0cnVlKQogICAgIENGSV9r
ZWVwX2ZkZXNjICAgIChfQm9vbCB3aXRoIHZhbHVlIGZhbHNlKQoKSW4gY29udHJhc3QgdG8g
c3RhdGljYWxseSBkZXRlcm1pbmVkIEZvcnRyYW4gY29kZSB0aGUgY29uc3RydWN0b3Igc2V0
cyB0aGUKYXR0cmlidXRlLCB0eXBlIGFuZCByYW5rIG9mIGFuIG9iamVjdCBhdCBydW4gdGlt
ZS4gIApEbyB3ZSBvYmxpZ2UgdGhlIHByb2Nlc3NvciB0byB1cGRhdGUgdGhpcyBpbmZvcm1h
dGlvbiBpZiBpbmNvbnNpc3RlbnQgd2l0aCB0aGUKZGVmaW5lZCBGb3J0cmFuIGludGVyZmFj
ZT8gCkFsbCBvdGhlciB0eXBlIGZpZWxkcyBvZiBhIENGSV9kZXNjX3Qgb2JqZWN0IHNob3Vs
ZCBub3QgYmUgZXhwbGljaXRseSBzZXQgYnkKdGhlIHVzZXIsIGV4Y2VwdCBmb3Igb3RoZXIg
Y2FsbHMgdG8gdGhlIHByb2Nlc3Nvci1kZWZpbmVkIHJvdXRpbmVzLgpUaGUgQVBJIGNhbGxz
IENGSV91cGRhdGVfZmRlc2MoKSBhbmQgQ0ZJX3VwZGF0ZV9jZGVzYygpIHNob3VsZCBiZSBy
ZW1vdmVkLgoKVGhlIG5ldCBhbW91bnQgb2YgZnVuY3Rpb24gY2FsbCBvdmVyaGVhZCB3b3Vs
ZCBzdGF5IHRoZSBzYW1lLCBidXQgdXNhYmlsaXR5IAppcyBpbXByb3ZlZCBhdCBsZWFzdCBm
b3IgdGhlIHJlYWwgaW50ZXItbGFuZ3VhZ2UgY2FzZS4gCgoKVGhlIEMgbWFpbigpIG9mIGV4
YW1wbGUgMSBhYm92ZSB3b3VsZCB0aHVzIHJlYWQKCmludCBtYWluKCkgewogIENGSV9kZXNj
X3QgKm15X2Rlc2M7IAogIHR5cGUgRm9vICphcnJheV9lbGVtOyAKICBpbnQgOjogaXN0YXR1
czsKICBpbnQgaVs0XSA9IHsgMSwgMiwgMywgNCB9OyAKICBmbG9hdCByWzRdWzNdID0geyB7
IDEuMCwgMS4xLCAxLjIgfSwgeyAyLjAsIDIuMSwgMi4yIH0sIAogICAgICAgICAgICAgICAg
ICAgIHsgMy4wLCAzLjEsIDMuMiB9LCB7IDQuMCwgNC4xLCA0LjIgfSB9OwogIGNoYXIgY1s0
XSA9IHsgJ2EnLCAnYicsICdjJywgJ2QnIH07CgogIG15X2Rlc2MgPSBDRklfY3JlYXRlX2Rl
c2Moc2l6ZW9mKEZvbyksIDEsIENGSV90eXBlX3N0cnVjdCwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIENGSV9hdHRyaWJ1dGVfYWxsb2NhdGFibGUsIE5VTEwpOwoKICBjb25zdHJ1
Y3RfZm9vKG15X2Rlc2MsIDQsIGksIHIsIGMpOwoKLyogYWxpZ24gM3JkIGVsZW1lbnQgdG8g
QyBzY2FsYXIgb2YgbWF0Y2hpbmcgdHlwZS4KICAgKGZvciBjb250aWd1b3VzIEZvcnRyYW4g
YXJyYXlzIG9uZSBjb3VsZCBhbHNvIGFsaWduIGEgQyBhcnJheSkgKi8KICBhcnJheV9lbGVt
ID0gKEZvbyAqKShiYXNlX2FkZHIgKyAyICogc2l6ZW9mKEZvbykpOwoKICBwcmludGYoIkNo
YXJhY3RlciBjb21wb25lbnQgb2YgM3JkIGVsZW1lbnQ6ICVzXG4iLGFycmF5X2VsZW0tPmMp
OwoKICBpc3RhdHVzID0gQ0ZJX2RlYWxsb2NhdGUobXlfZGVzYyk7CiAgQ0ZJX2Rlc3Ryb3lf
ZGVzYyhteV9kZXNjLCBDRklfZGVzdHJveV9mZGVzYyk7CiAgCn0KCgooQikgRm9ydHJhbiBj
YWxsaW5nIGEgQyBpbXBsZW1lbnRhdGlvbjoKClRoZSB3cmFwcGVyIGdlbmVyYXRlZCBmcm9t
IHRoZSBpbnRlcmZhY2UKKiBwYWNrcyB1cCB0aGUgRm9ydHJhbiBkZXNjcmlwdG9yIGludG8g
YSBDIGRlc2NyaXB0b3IgdXBvbiBjYWxsIHRvIHRoZQogIGxvY2FsIEZvcnRyYW4gbmFtZSwg
d2hpY2ggaXMgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgZm9yIHRoaXMgcHVycG9zZQoqIGV4
ZWN1dGVzIHRoZSBDIHJvdXRpbmUKYW5kIG9uY2UgdGhlIEMgcm91dGluZSBoYXMgZmluaXNo
ZWQKKiB1cGRhdGVzIHRoZSBGb3J0cmFuIGRlc2NyaXB0b3IsIGFuZCB0aGVuIGRlYWxsb2Nh
dGVzIHRoZSBDIGRlc2NyaXB0b3IgCiAgd2l0aG91dCBkZXN0cm95aW5nIHRoZSBGb3J0cmFu
IGRlc2NyaXB0b3IuIFJ1biB0aW1lIGNoZWNrcyBtYXkgYmUgCiAgcmVxdWlyZWQgdG8gYXNz
dXJlIG5vIGluY29tcGF0aWJpbGl0aWVzIHdpdGggc3RhdGljYWxseSBkZWZpbmVkCiAgcHJv
cGVydGllcyBoYXZlIGJlZW4gaW50cm9kdWNlZC4KCkl0IGlzIG5vdCBpbnRlbmRlZCB0aGF0
IHRoZSBGb3J0cmFuIGxvY2FsIG5hbWUgYmUgZGVyZWZlcmVuY2VkIGZyb20gQy4KQSBDIHBy
b2dyYW0gY2FsbGluZyB0aGUgQyBpbnRlcmZhY2UgKHVudHlwaWNhbCkgd291bGQgbmVlZCB0
byBwZXJmb3JtCnRoZSBjb25zdHJ1Y3Rpb24gYW5kIGFsbG9jYXRpb24sIGRlYWxsb2NhdGlv
biBhbmQgZGVzdHJ1Y3Rpb24gb2YgZGVzY3JpcHRvcnMgCm1hbnVhbGx5IGJlZm9yZSBhbmQg
YWZ0ZXIgdGhlIGNhbGwsIHJlc3BlY3RpdmVseS4KCkFzIGFuIGV4YW1wbGUsIHN1cHBvc2Ug
d2Ugd2VyZSB0byBpbXBsZW1lbnQgYSBtb2Rlcm4gTVBJIEludGVyZmFjZS4KCkV4YW1wbGUg
MjoKCm1vZHVsZSBtcGkKICB1c2UsIGludHJpbnNpYyA6OiBpc29fY19iaW5kaW5nCiAgaW1w
bGljaXQgbm9uZQogIHByaXZhdGUKISB2YXJpb3VzIEMgaW50ZXJvcGVyYWJsZSBvcGFxdWUg
dHlwZSBkZWZpbml0aW9ucyBub3Qgc2hvd24gaGVyZQogIHB1YmxpYyA6OiBtcGlfc2VuZAog
IGludGVyZmFjZQogICAgc3Vicm91dGluZSBtcGlfc2VuZChidWYsIGRhdGF0eXBlLCBlbGVt
X3NpemUsIGRlc3QsIHRhZywgY29tbSwgaWVycm9yKSBiaW5kKGMpCiAgICAgIHR5cGUoKiks
IGRpbWVuc2lvbiguLiksIGNvbnRpZ3VvdXMsIGludGVudChpbikgOjogYnVmIAogICAgICB0
eXBlKG1waV9kYXRhdHlwZSksIGludGVudChpbikgOjogZGF0YXR5cGUKICAgICAgaW50ZWdl
cihjX3NpemVfdCksIG9wdGlvbmFsLCBpbnRlbnQoaW4pIDo6IGVsZW1fc2l6ZQogICAgICBp
bnRlZ2VyKGNfaW50KSwgaW50ZW50KGluKSA6OiBkZXN0LCBpZXJyb3IKICAgICAgaW50ZWdl
cihjX3NpemVfdCksIG9wdGlvbmFsLCBpbnRlbnQoaW4pIDo6IHRhZwogICAgICB0eXBlKG1w
aV9jb21tKSwgaW50ZW50KGluKSA6OiBjb21tCiAgICBlbmQgc3Vicm91dGluZQogIGVuZCBp
bnRlcmZhY2UKZW5kIG1vZHVsZQoKVGhlIEMgaW1wbGVtZW50YXRpb24gY291bGQgbG9vayBz
b21ldGhpbmcgbGlrZSB0aGlzOgoKI2luY2x1ZGUgPElTT19Gb3J0cmFuX2JpbmRpbmcuaD4K
CnZvaWQgbXBpX3NlbmQoQ0ZJX2Rlc2NfdCAqYnVmLCBNUElfRnR5cGUgKmRhdGF0eXBlLCBz
aXplX3QgKmVsZW1fc2l6ZSwgCiAgICAgICAgICAgICAgaW50ICpkZXN0LCBzaXplX3QgKnRh
ZywgTVBJX0NvbW0gKmNvbW0sIGludCAqaWVycm9yKSB7CiAgaW50IGxvY2FsX3NpemUgPSAw
OyAvKiBieXRlcyAqLwogIGludCBpOwogIHZvaWQgKmxvY2FsX2J1ZjsKICBpZiAoYnVmLT5z
dGF0ZSA9PSAwKSB7CiAgICAgKmllcnJvciA9IC4uLjsgLyogbWF5IHdhbnQgdG8gc2VuZCBs
ZW5ndGggMCBidWZmZXI/ICovCiAgICAgcmV0dXJuOwogIH0KICBpZiAoTVBJX0Z0eXBlLT5N
UElfRGF0YXR5cGUgPT0gTVBJX0lOVCkgbG9jYWxfc2l6ZSA9IDQ7CiAgaWYgKE1QSV9GdHlw
ZS0+TVBJX0RhdGF0eXBlID09IE1QSV9GTE9BVCkgbG9jYWxfc2l6ZSA9IC4uLjsKICAvKiBl
dGMuICovCiAgaWYgKGVsZW1fc2l6ZSAhPSBOVUxMICYmIE1QSV9GdHlwZS0+TVBJX0RhdGF0
eXBlID09IE1QSV9ERVJJVkVEKSB7CiAgICBsb2NhbF9zaXplID0gKmVsZW1fc2l6ZTsKICB9
CiAgaWYgKGxvY2FsX3NpemUgPT0gMCkgewogICAgICppZXJyb3IgPSAuLi47CiAgICAgcmV0
dXJuOwogIH0KICBmb3IgKGk9MDsgaTxidWYtPnJhbmspIHsKICAgIGxvY2FsX2NvdW50ICo9
IGJ1Zi0+ZGltW2ldLT5leHRlbnQ7CiAgfQogICppZXJyb3IgPSBNUElfU2VuZChidWYtPmJh
c2VfYWRkciwgbG9jYWxfY291bnQsIE1QSV9CWVRFLCAqZGVzdCwgKnRhZywgKmNvbW0pOwp9
Cgp0aGlzIHNpbmdsZSBjYWxsIHdvdWxkIGNvdmVyIAoqIHNjYWxhcnMgYW5kIGNvbnRpZ3Vv
dXMgYXJyYXlzIG9mIGFyYml0cmFyeSByYW5rIChpcyAiY29udGlndW91cyIgdW5hbWJpZ3Vv
dXMgaGVyZT8pCiogYWxsIGludHJpbnNpYyB0eXBlcyBkZWZpbmVkIGluIE1QSQoqIGFsbCBD
IGludGVyb3BlcmFibGUgdHlwZXMgKHdpdGggYSBzdGF0aWMgdHlwZSBzdHJ1Y3R1cmUsIGFu
ZCBpbiBhIHNsaWdodGx5IAogIGxlc3Mgc2FmZSBtYW5uZXIgdGhhbiB3aGVuIHVzaW5nIHRo
ZSBNUEkgZGF0YXR5cGUgY29uc3RydWN0b3JzKQoKQSBDIGltcGxlbWVudGF0aW9uIG1pZ2h0
IGZvciBleGFtcGxlIGJlIG9mIGFkdmFudGFnZSBvdmVyIGEgRm9ydHJhbiBvbmUgaWYgCml0
IGlzIGVhc2llciB0byBvYnRhaW4gY2VydGFpbiB0eXBlLWludGVybmFsIGluZm9ybWF0aW9u
IGZyb20gQyAoZS5nLiwgdGhlCk1QSV9GdHlwZS0+TVBJX0RhdGF0eXBlIGRlcmVmZXJlbmNl
cykuCgpOb3RlIHRoYXQgdGhpcyBhbHNvIGlsbHVzdHJhdGVzIHRoYXQgT1BUSU9OQUwgYXJn
dW1lbnRzIGNhbiBhbHNvIGJlIGhhbmRsZWQgYnkKdGhlIHdyYXBwaW5nIHByb2Nlc3MgKGku
ZS4sIG5vbi1wcmVzZW50IGFyZ3VtZW50cyB3aWxsIGJlIHNldCBOVUxMIG9uIHRoZSAKY2Fs
bCB0byB0aGUgQyBlbnRpdHkpLiBJbiBwYXJ0aWN1bGFyLCB0aGUgcHJvYmxlbSB3aXRoIGhh
dmluZyB0aGUgY29tYmluYXRpb24gCm9mIE9QVElPTkFMIGFuZCBWQUxVRSAobm90IHVzZWQg
aW4gdGhpcyBleGFtcGxlKSBhdHRyaWJ1dGVzIHZhbmlzaGVzIChmb3IKbm9uLWNfcHRyIHR5
cGVzIGEgY29udmVudGlvbiBtYXkgYmUgbmVlZGVkKS4KCgoKU3VnZ2VzdGlvbiAyIChhZGQg
YXNzdW1lZC1yYW5rLWFuZC1zaXplKToKfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+
fn5+fn5+fn5+fn4KCmluIGFuYWxvZ3kgdG8gYXNzdW1lZCByYW5rIChESU1FTlNJT04oOjop
KSwgd2hpY2ggb25lIG1pZ2h0IGFsc28gY2FsbAphc3N1bWVkLXJhbmstYW5kLXNoYXBlLCBh
IGR1bW15IHZhcmlhYmxlIGNhbiBiZSBkZWNsYXJlZCB3aXRoCgp0eXBlKGZvbyksIERJTUVO
U0lPTigqKikgOjogZHVtbXkKCkEgY29ycmVzcG9uZGluZyBhY3R1YWwgYXJndW1lbnQgd2hp
Y2ggaXMgZWl0aGVyIGEgc2NhbGFyIG9yIGFuIAphcmJpdHJhcnkgcmFuayBhcnJheSBvZiB0
eXBlIGZvbyB3b3VsZCBtYXRjaCB0aGlzIGR1bW15IGFyZ3VtZW50CmFuZCBpdCB3b3VsZCBi
ZSBhbGxvd2VkIHRvIGhhdmUgZXhhY3RseSBvbmUgY29ycmVzcG9uZGluZyBkdW1teSB3aXRo
IHRoaXMKYXR0cmlidXRlIGluIGEgc3BlY2lmaWMgcHJvY2VkdXJlIG9mIGEgZ2VuZXJpYyBp
bnRlcmZhY2Ugd2hlbiBhbGwgb3RoZXIgZHVtbWllcwpoYXZlIHRoZSBzYW1lIGNoYXJhY3Rl
cmlzdGljcy4gClRoZSBvbmx5IGFsbG93ZWQgbWV0aG9kIG9mIGRlcmVmZXJlbmNpbmcgb3Ig
ZGVmaW5pbmcgc3VjaCBhbiBvYmplY3QgZnJvbQp3aXRoaW4gRm9ydHJhbiB3b3VsZCBiZSB2
aWEgb25lIGRpbWVuc2lvbmFsIGluZGV4aW5nOgoKZHVtbXkoaSkgPSAuLi4KCkEgQklORChD
KSBpbnRlcmZhY2UgbWF5IHNwZWNpZnkgZHVtbXkgYXJndW1lbnRzIHRoYXQgYXJlCmFzc3Vt
ZWQtcmFuay1hbmQtc2l6ZS4gSWYgdGhlIGR1bW15IGFyZ3VtZW50IGlzIGFzc3VtZWQtcmFu
ay1hbmQtc2l6ZSwKdGhlIGFjdHVhbCBhcmd1bWVudCBpcyBwYXNzZWQgYXMgaXRzIEMgYWRk
cmVzcy4KCk90aGVyd2lzZSwgdGhlIHJlc3RyaWN0aW9ucyBvbiB0aGlzIGtpbmQgb2YgYXJn
dW1lbnQgd2lsbCBiZSBlc3NlbnRpYWxseSB0aGUKc2FtZSBhcyB0aG9zZSBmb3IgYXNzdW1l
ZC1zaXplIGVudGl0aWVzLgoKCkV4YW1wbGUgMmE6IGV4dGVuZGluZyB0aGUgZ2VuZXJpYyBp
bnRlcmZhY2Ugb2YgZXhhbXBsZSAxIGZvciBvbGQtc3R5bGUgY2FsbHMuCgptb2R1bGUgbXBp
CiAgdXNlLCBpbnRyaW5zaWMgOjogaXNvX2NfYmluZGluZwogIGltcGxpY2l0IG5vbmUKICBw
cml2YXRlCiEgdmFyaW91cyBDIGludGVyb3BlcmFibGUgb3BhcXVlIHR5cGUgZGVmaW5pdGlv
bnMgbm90IHNob3duIGhlcmUKICBwdWJsaWMgOjogbXBpX3NlbmQKICBpbnRlcmZhY2UKICAg
IHN1YnJvdXRpbmUgbXBpZl9zZW5kKGJ1ZiwgY291bnQsIGRhdGF0eXBlLCBkZXN0LCB0YWcs
IGNvbW0sIGllcnJvcikgJgogICAgICAgICAgICAgICAgICAgICAgICBiaW5kKGMsIG5hbWU9
J01QSUZfU2VuZCcpCiAgICAgIHR5cGUoKiksIGRpbWVuc2lvbigqKiksIGludGVudChpbikg
OjogYnVmIAogICAgICBpbnRlZ2VyKGNfaW50KSA6OiBkYXRheXBlLCBkZXN0LCB0YWcsIGNv
bW0sIGllcnJvcgogICAgZW5kIHN1YnJvdXRpbmUKICAgIHN1YnJvdXRpbmUgbXBpX3NlbmQo
YnVmLCBkYXRhdHlwZSwgZWxlbV9zaXplLCBkZXN0LCB0YWcsIGNvbW0sIGllcnJvcikgYmlu
ZChjKQogICAgICB0eXBlKCopLCBkaW1lbnNpb24oLi4pLCBjb250aWd1b3VzLCBpbnRlbnQo
aW4pIDo6IGJ1ZiAKICAgICAgdHlwZShtcGlfZGF0YXR5cGUpLCBpbnRlbnQoaW4pIDo6IGRh
dGF0eXBlCiAgICAgIGludGVnZXIoY19zaXplX3QpLCBvcHRpb25hbCwgaW50ZW50KGluKSA6
OiBlbGVtX3NpemUKICAgICAgaW50ZWdlcihjX2ludCksIGludGVudChpbikgOjogZGVzdCwg
aWVycm9yCiAgICAgIGludGVnZXIoY19zaXplX3QpLCBvcHRpb25hbCwgaW50ZW50KGluKSA6
OiB0YWcKICAgICAgdHlwZShtcGlfY29tbSksIGludGVudChpbikgOjogY29tbQogICAgZW5k
IHN1YnJvdXRpbmUKICBlbmQgaW50ZXJmYWNlCmVuZCBtb2R1bGUKCk5vdGUgaG93ZXZlciB0
aGF0IHRoZSBpZXJyb3IgYXJndW1lbnQgaXMgc3RpbGwgRm9ydHJhbi1zdHlsZSwgc28gYSBk
aXJlY3QgCm1hcHBpbmcgdG8gdGhlIEMgTVBJX1NlbmQgcm91dGluZSBpcyBub3QgcG9zc2li
bGUuIFdpdGggdGhlIG9sZC1zdHlsZSBjYWxsLApkZXJpdmVkIGRhdGF0eXBlcyBtdXN0IGJl
IGRlYWx0IHdpdGggdmlhIHRoZSBNUEkgZGF0YXR5cGUgY29uc3RydWN0aW9uCnJvdXRpbmVz
OyBhcGFydCBmcm9tIHRoYXQgdGhlIHNhbWUgZnVuY3Rpb25hbGl0eSBpcyBhdmFpbGFibGUg
YXMgZm9yIHRoZQpuZXcgY2FsbCwgb25seSBpbiBhIHNsaWdodGx5IGxlc3MgdHlwZS1zYWZl
IG1hbm5lci4KCgpBZGRpdGlvbmFsIG5vdGVzOgoKKiBwcm9jZXNzaW5nIG9mIEMgaW50ZXJv
cGVyYWJsZSBzdHJpbmcgZW50aXRpZXMgd291bGQgYmUgc3RyYWlnaHRmb3J3YXJkIHVzaW5n
CiAgdGhpcywgbWFraW5nIHRoZSBzcGVjaWFsIHJ1bGUgaW50cm9kdWNlZCBmb3IgdGhpcyBj
YXNlIGluIEYyMDAzIHN1cGVyZmx1b3VzLgoqIHRoZSBhZGRlZCBib251cyBpcyB0aGF0IHRo
aXMgYWxzbyBzdXBwb3J0cyB1c2luZyBjaGFyYWN0ZXIgYXJndW1lbnRzIGluCiAgZ2VuZXJp
YyBpbnRlcmZhY2VzLgogCi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4u
Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uCgpDaGl2
ZXJzCgpNeSBtYWpvciBjb25jZXJuIGlzIHRpbWluZy4gVGhlIGVtcGhhc2lzIHNob3VsZCBi
ZQpvbiBnZXR0aW5nIHRoZSBmaW5hbCBjZCBvdXQgYXMgc29vbiBhcyBwb3NzaWJsZS4KCi4u
Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4u
Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uCiAgICAgCkluZ3Jhc3NpYQoKMCkgVGhl
IGZpbGUgSVNPX0ZvcnRyYW5fYmluZGluZy5oIGRvZXMgbm90IGFwcGVhciB0byBiZSBpbmNs
dWRlZAp3aXRoIE4xNzYxLiAgSSBhc3N1bWUgdGhpcyBpcyBhbiBvdmVyc2lnaHQ/CgoxKSBU
aGUgZ2VuZXJhbCBhcHByb2FjaCBvZiBzdGFuZGFyZGl6aW5nIGEgZGF0YSBzdHJ1Y3R1cmUg
KGluY29tcGxldGVseSkKc2VlbXMgYXdrd2FyZCBjb21wYXJlZCB0byB0aGUgYXBwcm9hY2gg
b2Ygc3RhbmRhcmRpemluZyB0aGUgcGFydGljdWxhcgpzb3J0cyBvZiBBUElzIHRoYXQgcHJv
Z3JhbW1lcnMgd2lsbCB3YW50ICAoZS5nLiB3aGF0IGlzIHRoZSByYW5rPwp3aGF0IGlzIHRo
ZSBiYXNlIGFkZHJlc3M/IHBsZWFzZSBjaGFuZ2UgdGhlIGJhc2UgYWRkcmVzcywgZXRjLikK
U3RhbmRhcmRpemluZyBhIHN0cnVjdHVyZSBtaWdodCBtYWtlIGl0IGRpZmZpY3VsdCB0byBj
aGFuZ2UgdGhlCnN0cnVjdHVyZSBmcm9tIG9uZSBjb21waWxlciByZWxlYXNlIHRvIHRoZSBu
ZXh0LCBhcyB0aGUgc3RydWN0dXJlIGlzCiJmcm96ZW4iIGluIHRoZSBBQkkuICAKCjIpICBU
aGVyZSBpcyBubyAidmVyc2lvbiIgcXVlcnkgZm9yIHRoZSBzdHJ1Y3R1cmUgb3IgdGhlIEFC
SS4gIElmIGEgdmVuZG9yCm1ha2VzIGNoYW5nZXMgZnJvbSBvbmUgcmVsZWFzZSB0byB0aGUg
bmV4dCwgZG9lcyB0aGUgdXNlciBoYXZlIGFueQpwb3J0YWJsZSB3YXkgb2YgZGV0ZWN0aW5n
IGRpZmZlcmVuY2VzPwoKMykgIElmIEMgZGVzY3JpcHRvcnMgYW5kIEZvcnRyYW4gZGVzY3Jp
cHRvcnMgYXJlIGluIHRydWUgY29ycmVzcG9uZGVuY2UsCnRoZW4gaXQgaXMgaGFyZCB0byB1
bmRlcnN0YW5kIHRoZSByZWFzb24gZm9yIGFuIGFzeW1tZXRyeSB3aGVyZSB0aGUKQyBkZXNj
cmlwdG9yIGhhcyBhbiBmZGVzYyBmaWVsZCBidXQgdGhlIEZvcnRyYW4gZGVzY3JpcHRvciBu
ZWVkIG5vdCBoYXZlCmEgY2Rlc2MgZmllbGQgb3IgZXF1aXZhbGVudC4KCjQpICBBbiBhc3N1
bWVkLXJhbmsgdmFyaWFibGUgY2Fubm90IGFwcGVhciBpbiBtYW55IGNvbnRleHRzLiAgSXQg
dGhlcmVmb3JlCnNlZW1zIGxpa2UgdG9vIHJhZGljYWwgYSBzeW50YXggY2hhbmdlIGZvciB0
aGUgYmVuZWZpdCBvYnRhaW5lZC4KU29tZSBzdWNoIHN5bnRheCBhcyAlUkVGIGZvciBwYXNz
aW5nIGFkZHJlc3NlcyBvZiBvYmplY3RzIG1pZ2h0IGJlCnNpbXBsZXIgYW5kIGhhcyBzb21l
IGFjdHVhbCBkZXBsb3ltZW50IGhpc3RvcnkuCgo1KSAgQSBUUiBhZHZhbmNpbmcgaW50ZXJv
cGVyYWJpbGl0eSBvZiBGb3J0cmFuIHdpdGggQyBzaG91bGQgbWFrZSBzb21lCm1lbnRpb24g
b2YgdmFyaWFkaWMgZnVuY3Rpb25zLiAgCgo2KSAgVGhlIHVzZXIgbW9kZWwgc2VlbXMgbmVl
ZGxlc3NseSBjb21wbGV4LCBvciBJIGFtIG5vdCB1bmRlcnN0YW5kaW5nCmFsbCBvZiBpdC4g
IEl0IGlzIGNhbGxlZCBhICJ0d28gZGVzY3JpcHRvciBtb2RlbCIgYnV0IGdpdmVuIHRoYXQg
dGhlIEFQSQpzdXBwbGllcyB3YXlzIG9mIHN5bnRoZXNpemluZyBtdWx0aXBsZSBkZXNjcmlw
dG9ycyB0byByZWZlciB0byB0aGUgc2FtZQoicGh5c2ljYWwiIGRhdGEgb2JqZWN0LCBpdCBz
ZWVtcyB0aGF0IHRoZXJlIGFyZSByZWFsbHkgYW55IG51bWJlciBvZgpkZXNjcmlwdG9ycy4g
IFRoZSBBUEkgYWxsb3dzICJlZmZpY2llbnQiIGFjY2VzcyB0byBvYmplY3RzIGRlZmluZWQg
YnkKZGVzY3JpcHRvcnMsIGJ1dCBkb2VzIG5vdCBwZXJtaXQgYSBmdWxsIGNhbGN1bHVzIG9m
IGRlc2NyaXB0b3JzIChkbwp0d28gZGVzY3JpcHRvcnMgZGVzY3JpYmUgdGhlIHNhbWUgb2Jq
ZWN0PykuICAgU2luY2Ugc29tZSB1c2VyLWluaXRpYXRlZAphY3Rpb25zIGxpa2UgZGVhbGxv
Y2F0aW9uIHJlcXVpcmUgYW4gaW1wbGVtZW50YXRpb24gdG8gYmUgYWJsZSB0bwpkaXN0aW5n
dWlzaCBkZXNjcmlwdG9ycywgaXQncyBub3QgY2xlYXIgdGhhdCB0aGUgQVBJIGlzIGNvbXBs
ZXRlIGVub3VnaC4KCi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4u
Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uCiAgICAgCk1h
Y2xhcmVuCgoxLiBDb21tZW50cyBvbiBOMTc2MQotLS0tLS0tLS0tLS0tLS0tLS0tLQoKICAg
IDEpIEl0IGlzIHVuY2xlYXIgd2hhdCBpdCBpcyBwcm9wb3NpbmcgZm9yIG5vcm1hdGl2ZSB0
ZXh0LCBwcm9wb3NpbmcKZm9yIGluZm9ybWF0aXZlIHRleHQsIG9yIG1lcmVseSBpbmNsdWRp
bmcgYXMgZGlzY3Vzc2lvbi4gIEluIHNvbWUgY2FzZXMsCml0IGlzIGhhcmQgdG8gd29yayBv
dXQgZXhhY3RseSB3aGF0IGl0IGlzIHByb3Bvc2luZy4KCkl0IHNob3VsZCBiZSByZWRyYWZ0
ZWQgdG8gYmUgbXVjaCBjbG9zZXIgdG8gdGhlIElTTy9JRUMgRGlyZWN0aXZlcywgUGFydAoy
LCBSdWxlcyBmb3IgdGhlIHN0cnVjdHVyZSBhbmQgZHJhZnRpbmcgb2YgSW50ZXJuYXRpb25h
bCBTdGFuZGFyZHMKKHdoaWNoIGFsc28gYXBwbGllcyB0byBUZWNobmljYWwgUmVwb3J0cyku
CgoKICAgIDIpIEl0cyBvdmVyYWxsIGRlc2lnbiBpcyBzZXJpb3VzbHkgbGltaXRlZCwgd2ls
bCBjYXVzZSBkaWZmaWN1bHR5CmZvciBzb21lIGltcGxlbWVudGF0aW9ucyBpbiBtYW55IHdh
eXMgKHdoaWNoIGlzIGF0IHRoZSBoZWFydCBvZiB0aGUKT1BUSU9OQUwgY29udHJvdmVyc3kp
LCBhbmQgZG9lcyBub3QgYWxsb3cgZm9yIGZ1dHVyZSBzdGFuZGFyZCBvcgpwcm9jZXNzb3Ig
ZXh0ZW5zaW9uLiAgSXQgYWxzbyBkb2VzIG5vdCBzdXBwb3J0IHRoZSBtb3N0IGltcG9ydGFu
dApyZXF1aXJlZCBpbnRlcm9wZXJhYmlsaXR5IGFzcGVjdHMgKGUuZy4gKGEpIGJlbG93KS4K
CkZvciB0aGVzZSByZWFzb25zLCBJIHRoaW5rIHRoYXQgaXQgbmVlZHMgYSByZWRlc2lnbiwg
c3RhcnRpbmcgZnJvbSBhCm11Y2ggbW9yZSBjbGVhcmx5IHN0YXRlZCBzZXQgb2Ygb2JqZWN0
aXZlcy4gIEluIHBhcnRpY3VsYXIsIHRob3NlCm9iamVjdGl2ZXMgc2hvdWxkIGluY2x1ZGUg
YXQgbGVhc3Q6CgogICAgICAgIGEpIHRoZSBhYmlsaXR5IHRvIGNhbGwgdGhlIE1QSSB0cmFu
c2ZlciBmdW5jdGlvbnMgd2l0aCBhcnJheXMKb2YgaW50ZXJvcGVyYWJsZSBkZXJpdmVkIHR5
cGVzIGFzIGNob2ljZSBhcmd1bWVudHM7CgogICAgICAgIGIpIHRvIGF2b2lkIGludHJvZHVj
aW5nIHVubmVjZXNzYXJ5IHJlc3RyaWN0aW9ucyBhbmQgYXJ0aWZpY2lhbApkaXN0aW5jdGlv
bnMgYmV0d2VlbiBGb3J0cmFuIGZlYXR1cmVzLiAgRm9yIGV4YW1wbGUsIHRoZSBjdXJyZW50
IHByb3Bvc2FsCmFsbG93cyBmb3IgdGhlIHBhc3Npbmcgb2YgYXNzdW1lZC1zaGFwZSBhcnJh
eXMgYnV0IG5vdCBhc3N1bWVkLWxlbmd0aApDSEFSQUNURVIsIGFuZCByZXF1aXJlcyBlbnRp
cmVseSBzZXBhcmF0ZSBjb2RlIHRvIGhhbmRsZSBleHBsaWNpdC1zaGFwZQphbmQgYXNzdW1l
ZC1zaGFwZSBhcnJheXM7CgogICAgICAgIGMpIHRvIGJlIGF0IGxlYXN0IHBvdGVudGlhbGx5
IGV4dGVuc2libGUgdG8gaW50ZXJmYWNpbmcgd2l0aCB0aGUKQyB2YXJpYWJsZSBhcmd1bWVu
dCBsaXN0IG1lY2hhbmlzbSwgb3IgdGhlIG1hbnkgbGFuZ3VhZ2VzIHRoYXQgdXNlIGEKZHlu
YW1pYyB0eXBlIHN5c3RlbTsKCiAgICAgICAgZCkgdG8gYXQgbGVhc3QgcG90ZW50aWFsbHkg
cGVybWl0IHRoZSBjb21wYW5pb24gcHJvY2Vzc29yIHRvIGJlCmEgZGVidWdnaW5nIHRvb2wg
KHByZWZlcmFibHkgcGFzc2luZyBvYmplY3QgYm91bmRzIGFjcm9zcyB0aGUgaW50ZXJmYWNl
CmZvciBhbGwgYXJndW1lbnRzKTsKCiAgICAgICAgZSkgdG8gYXQgbGVhc3QgcG90ZW50aWFs
bHkgcGVybWl0IGludGVyZmFjaW5nIHdpdGggbGFuZ3VhZ2VzCnRoYXQgZG8gbm90IGhhdmUg
Y29tcGF0aWJsZSBjYWxsaW5nIHNlcXVlbmNlcyB0byBGb3J0cmFuIChlLmcuIHRoZXkKdXNl
IGRpZmZlcmVudCBsaW5rYWdlIHJlZ2lzdGVycykuCgpQbGVhc2Ugbm90ZSB0aGF0IHRoZXNl
IG9iamVjdGl2ZXMgYXJlIE5PVCBpbXByYWN0aWNhYmxlOyBib3RoIG9mIChjKSBhbmQKKGQp
IHVzZWQgdG8gYmUgY29tbW9uLCBhbmQgSSBoYXZlIGltcGxlbWVudGVkIChlKSBtb3JlIHRo
YW4gb25jZS4KCgogICAgMykgVGhlcmUgYXJlIHNvbWUgc2VyaW91cyBkZXNpZ24gZmxhd3Mg
YW5kIGRlZmluaXRlIGVycm9ycyBpbiB0aGUKZGV0YWlscywgbWFueSBvZiB3aGljaCBhcmUg
dG8gZG8gd2l0aCBpdHMgdXNlIG9mIEMsIGFuZCBJIGFwcGVuZCBzb21lIG9mCnRoZW0gaW4g
dGV4dCAobm90IGltcG9ydGFuY2UpIG9yZGVyLgoKQmVjYXVzZSBvZiBwb2ludCAoMSksIHRo
ZXNlIGNvbW1lbnRzIGFyZSBuZWNlc3NhcmlseSBpbmNvbXBsZXRlLCBvZnRlbgpnZW5lcmFs
IHJhdGhlciB0aGFuIHNwZWNpZmljLCBhbmQgSSBoYXZlIHByb2JhYmx5IG1pc3NlZCBzZXZl
cmFsCmltcG9ydGFudCB0ZWNobmljYWwgaXNzdWVzLgoKCiAgICA0KSBUaGUgc2ltcGxlc3Qg
YW5kIGNsZWFuZXN0IHdheSBvZiByZXNvbHZpbmcgbWFueSBvZiB0aGUgaXNzdWVzIGlzCnRv
IGV4dGVuZCB0aGUgQklORCBhdHRyaWJ1dGUgc2xpZ2h0bHksIHRvIGFsbG93IHRoZSBwcm9n
cmFtbWVyIHRvIHNlbGVjdApiZXR3ZWVuIHRoZSBjdXJyZW50IGludGVyZmFjZSBhbmQgYSBk
ZXNjcmlwdG9yLWJhc2VkIG9uZSwgYWxvbmcgdGhlCmxpbmVzIG9mOgoKcHJvYy1sYW5ndWFn
ZS1iaW5kaW5nLXNwZWMgaXMKICAgIEJJTkQoQ1ssTUVUSE9EPWJpbmRpbmdfbWV0aG9kXVtO
QU1FPXNjYWxhci1jaGFyLWluaXRpYWxpemF0aW9uLWV4cHJdKQoKYmluZGluZ19tZXRob2Qg
aXMgRElSRUNUCiAgICAgICAgICAgICAgIG9yIERFU0NSSVBUT1IKClRoZSBkZWZhdWx0IGlz
IERJUkVDVCwgYW5kIGlzIHdoYXQgd2UgaGF2ZSBhdCBwcmVzZW50LgoKSSBoYXZlIHN0YXJ0
ZWQgZHJhZnRpbmcgYSBkZXNpZ24sIGFuZCB3aWxsIGNpcmN1bGF0ZSBpdCBzZXBhcmF0ZWx5
LCBidXQKc2hhbGwgbm90IGhhdmUgdGltZSBmb3IgbW9yZSB3b3JrIG9uIGl0IGJlZm9yZSBs
YXRlIEphbnVhcnkuCgoKCiAgICA1KSBUaGUgVUsncyByZXF1aXJlbWVudCBhZ2FpbnN0IE4x
NzYzIGZvciBNUEkgc3VwcG9ydCBhbHNvIG5lZWRzCnN1cHBvcnQgZm9yIG5vbi1ibG9ja2lu
ZyBhbmQgb25lLXNpZGVkIHRyYW5zZmVycywgaXQgd2FzIGFuc3dlcmVkIGJ5CmJlaW5nIHJl
ZmVycmVkIHRvIHRoaXMgcHJvcG9zZWQgVGVjaG5pY2FsIFJlcG9ydCwgYnV0IHRoZXJlIGlz
IG5vdGhpbmcKb24gdGhvc2UgaW4gaXQuICBJIGFtIHByZXR0eSBzdXJlIHRoYXQgaXQgaXMg
c3RyYWlnaHRmb3J3YXJkLCB0aG91Z2gKdHJpY2t5IHRvIHBocmFzZSwgYW5kIGhhdmUgc3Rh
cnRlZCBkcmFmdGluZyBzb21lIHByb3Bvc2FscywgYnV0IEkgZG8gbm90CmhhdmUgdGltZSB0
byB3b3JrIG9uIGl0IG5vdy4KCgoKCjIuIERFU0lHTiBGTEFXUyBBTkQgRVJST1JTIElOIE4x
NzYxCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKSW50cm9kdWN0aW9u
Ci0tLS0tLS0tLS0tLQoKSSBhc3N1bWUgdGhpcyBzZWN0aW9uIGlzIGVudGlyZWx5IGRpc2N1
c3Npb24uCgoKT3B0aW9uYWwgYXJndW1lbnRzCi0tLS0tLS0tLS0tLS0tLS0tLQoKSSBoYXZl
IG5vIHNwZWNpYWwgY29tbWVudHMgb24gdGhpcyBzZWN0aW9uLCBleGNlcHQgdG8gbm90ZSB0
aGF0CmV4Y2x1ZGluZyB0aGUgY29tYmluYXRpb24gb2YgT1BUSU9OQUwgYW5kIFZBTFVFIGlz
IHRlY2huaWNhbGx5CnVubmVjZXNzYXJ5LgoKCkFzc3VtZWQtdHlwZSB2YXJpYWJsZXMKLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQoKVGhlcmUgaXMgbm8gcmVhc29uIHRvIGV4Y2x1ZGUgdGhl
IFZBTFVFIGF0dHJpYnV0ZSwgYXMgdGhlIEMgYXJndW1lbnQgaXMKYSBwb2ludGVyLgoKCkFz
c3VtZWQtcmFuayB2YXJpYWJsZXMKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKVGhlcmUgaXMg
bm8gcmVhc29uIHRvIGV4Y2x1ZGUgdGhlIFZBTFVFIGF0dHJpYnV0ZSwgYXMgdGhlIEMgYXJn
dW1lbnQgaXMKYSBwb2ludGVyLgoKSSBkbyBub3Qga25vdyB3aGF0IHRoZSB3b3JkaW5nICJJ
biBvdGhlciByZXNwZWN0cywgdGhlIHJ1bGVzIGZvcgphc3N1bWVkLXJhbmsgZHVtbXkgYXJn
dW1lbnRzIGFyZSBzaW1pbGFyIHRvIHRob3NlIGZvciBhc3N1bWVkLXNoYXBlCmFycmF5cyIg
bWVhbnMsIGFuZCB3aGV0aGVyIGl0IHByb3Bvc2VzIGFueSBjb25zdHJhaW50cyBvbiBlaXRo
ZXIgdGhlCnByb2Nlc3NvciBvciBwcm9ncmFtbWVyLgoKCk9iamVjdCBEZXNjcmlwdG9ycwot
LS0tLS0tLS0tLS0tLS0tLS0KCkkgYXNzdW1lIHRoaXMgc2VjdGlvbiBpcyBlbnRpcmVseSBk
aXNjdXNzaW9uLgoKCkZvcnRyYW4gZGVzY3JpcHRvcnMKLS0tLS0tLS0tLS0tLS0tLS0tLQoK
SXQgaXMgdW5jbGVhciB3aHkgdGhpcyBzZWN0aW9uIGlzIHByZXNlbnQgYXQgYWxsLCBhcyBp
dCBpcyBwdXJlbHkgYWJvdXQKKGZhaXJseSBvYnZpb3VzKSBpbXBsZW1lbnRhdGlvbiBkZXRh
aWxzLiAgSSBhc3N1bWUgdGhhdCBpdCBpcyBlbnRpcmVseQpkaXNjdXNzaW9uLgoKCkMgZGVz
Y3JpcHRvcnMKLS0tLS0tLS0tLS0tLQoKQSAicG9pbnRlciBvZiB0eXBlIHZvaWQiIGlzIG1l
YW5pbmdsZXNzIC0gQyBoYXMgbm8gZGF0YSB0eXBlICJ2b2lkIi4KVGhlIHRlcm1pbm9sb2d5
IHNob3VsZCBiZSBmaXhlZCwgZXZlcnl3aGVyZSB0aGUgd29yZGluZyBpcyB1c2VkLgoKIlRo
ZSBDIGRlc2NyaXB0b3IgaXMgYSBzdHJ1Y3Qgb2YgdHlwZSBDRklfZGVzY190IiBpcyBhbWJp
Z3VvdXMuICBJcyB0aGUKdHlwZSAic3RydWN0IENGSV9kZXNjX3QiIChhcyAic3RydWN0IHRt
IiBpbiB0aW1lLmgpIG9yICJDRklfZGVzY190IiAoYXMKImRpdl90IiBpbiBzdGRsaWIuaCk/
CgpUaGUgZGVzaWduIGRvZXMgbm90IHN1cHBvcnQgQUxMT0NBVEFCTEUgYW5kIFBPSU5URVIg
YXJyYXlzIGNsZWFubHk7IGluCnBhcnRpY3VsYXIsIHRoZSBDIGRlc2NyaXB0b3IgZG9lcyBu
b3QgY29udGFpbiBlbm91Z2ggaW5mb3JtYXRpb24gdG8KdXBkYXRlIHRoZSBwb2ludGVyIHZh
bHVlIGNvcnJlY3RseS4gIENoYW5naW5nIHRoZSBiYXNlIGFkZHJlc3MgaW4gdGhlCmRlc2Ny
aXB0b3IgYWxvbmUgd2lsbCBOT1Qgd29yay4KClRoZSBzcGVjaWZpY2F0aW9uIG9mIHRoZSAi
YXR0cmlidXRlIiBmaWVsZCBpcyBicm9rZW4uICBJbnRlciBhbGlhLCBpdAptaXhlcyB0eXBl
IHByb3BlcnRpZXMgd2l0aCBhdHRyaWJ1dGVzLCBkb2VzIG5vdCBhbGxvdyBhc3N1bWVkLXNo
YXBlCmFycmF5cyB0byBiZSBhbGxvY2F0YWJsZSBvciBwb2ludGVycywgYW5kIG1ha2VzIG5v
IHJlZmVyZW5jZSB0bwphc3N1bWVkLXJhbmsuICBJIGFtIG5vdCBzdXJlIGV4YWN0bHkgd2hh
dCBpdCBpcyBwcm9wb3NpbmcsIG9yIHdoeS4gIElmCml0IGlzIG5lZWRlZCwgaXQgc2hvdWxk
IHNwZWNpZnkgdGhlIGF0dHJpYnV0ZXMgYXMgYml0cyBpbiBhIG1hc2suCgpUaGUgZGVzY3Jp
cHRpb24gb2YgdGhlICJzdGF0ZSIgZmllbGQgaXMgYmFmZmxpbmcuICBXaHkgc2hvdWxkCmFz
c3VtZWQtc2hhcGUgYnV0IG5vdCBhc3N1bWVkLXJhbmsgYmUgaW5jbHVkZWQgdG9nZXRoZXIg
d2l0aCBhc3NvY2lhdGVkCnBvaW50ZXJzIGFuZCBhbGxvY2FibGUgdmFyaWFibGVzPyAgSSBh
c3N1bWUgdGhhdCB0aGVyZSBpcyBhbiBlcnJvciwgYnV0CmFtIG5vdCBzdXJlIHdoYXQgaXQg
aXMuCgpJdCBpcyBjb21wbGV0ZWx5IHVubmVjZXNzYXJ5IGZvciAiZGltIiB0byBiZSBzcGVj
aWZpZWQgb2YgYmVpbmcgYSBmaXhlZApsZW5ndGguICBDIGhhcyB0aGUgY29uY2VwdCBvZiBh
IGZsZXhpYmxlIGFycmF5IG1lbWJlciBhcyB0aGUgbGFzdAplbGVtZW50IG9mIGEgc3RydWN0
dXJlIChDOTkgNi43LjIuMSwgcGFyYWdyYXBoIDE2KS4gIFRoYXQgd291bGQgZW5hYmxlCmFs
bCBvZiB0aGUgcmVmZXJlbmNlcyB0byBDRklfTUFYX1JBTksgdG8gYmUgcmVtb3ZlZC4KClRo
ZSB0eXBlICJpbnRwdHJfdCIgaXMgdW5zdWl0YWJsZSBmb3IgYXJyYXkgaW5kZXhpbmcsIGFz
IGl0IHdhcwppbnRyb2R1Y2VkIGZvciBlbnRpcmVseSBzZXBhcmF0ZSBwdXJwb3NlcywgYW5k
IGNvdWxkIGJlIHZlcnkgaW5lZmZpY2llbnQKb24gc29tZSBzeXN0ZW1zLiAgRm9yIGV4YW1w
bGUsIG9uIHRoZSBJQk0gQVMvNDAwIChhICdjYXBhYmlsaXR5JwpzeXN0ZW0pLCBpdCB3b3Vs
ZCBuZWVkIHRvIGJlIDY0IGJ5dGVzLiAgV2l0aCBzb21lIHJlYXNvbmFibGUgcGFyYWxsZWwK
aW1wbGVtZW50YXRpb25zLCBwb2ludGVycyBhbmQgaGVuY2UgaW50cHRyX3Qgd291bGQgaW5j
bHVkZSB0aGUKcHJvY2Vzc29yL2ltYWdlIGlkZW50aWZpZXIgKGUuZy4gYmUgMTYgYnl0ZXMs
IG9mIHdoaWNoIG9ubHkgOCB3YXMKcmVsZXZhbnQpLiAgInB0cmRpZmZfdCIgaXMgYSBmYXIg
YmV0dGVyIHR5cGUgZm9yIHRoZSBwdXJwb3NlLiAgVGhpcwppc3N1ZSBhbHNvIGFyaXNlcyBp
biB0aGUgbmV4dCBzZWN0aW9uLgoKVGhlIHNwZWNpZmljYXRpb24gbXVzdCBzYXkgd2hpY2gg
a2luZCBvZiBDIGNvbnN0YW50cyBhcmUgZGVmaW5lZCBpbiB0aGUKZmlsZSBJU09fRm9ydHJh
bl9iaW5kaW5nLmgsIGFzIEMgaGFzIHNldmVyYWwsIHdpdGggZGlmZmVyZW50IHByb3BlcnRp
ZXMuClRoYXQgd291bGQgbmVlZCBjYXJlZnVsIGRlc2lnbi4gIE1vc3Qgb2YgdGhlbSBzaG91
bGQgYmUgcHJlcHJvY2Vzc29yCmNvbnN0YW50cyBzdWl0YWJsZSBmb3IgdXNlIGluICNpZiBk
aXJlY3RpdmVzLCBidXQgcGVyaGFwcyBub3QgYWxsLgoKVGhlIHR5cGVzIG5lZWQgdG8gaW5j
bHVkZSBhIG5vbi1pbnRlcm9wZXJhYmxlIHR5cGUsIGZvciB1c2Ugd2l0aAphc3N1bWVkLXR5
cGUgYXJndW1lbnRzLiAgVGhlIGV4aXN0aW5nIHN0YW5kYXJkIGFscmVhZHkgYWxsb3dzIHRo
ZW0gdG8gYmUKcGFzc2VkIGJldHdlZW4gRm9ydHJhbiBhbmQgQy4KCgpBc3N1bWVkLXNoYXBl
LCBhc3N1bWVkLXJhbmssIGFsbG9jYXRhYmxlLCBkYXRhIHBvaW50ZXIgYXJndW1lbnRzCi0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KCkZvciBzb21lIHJlYXNvbiwgdGhpcyBjb250YWlucyBtb3N0IG9mIHRoZSBk
ZXNjcmlwdGlvbiBvZgpJU09fRm9ydHJhbl9iaW5kaW5nLmg7IHRoYXQgc2hvdWxkIGJlIGV4
dHJhY3RlZCB0byBhIHNlcGFyYXRlIHNlY3Rpb24uCgpUaGUgc3BlY2lmaWNhdGlvbiBvZiBJ
U09fRm9ydHJhbl9iaW5kaW5nLmggaXMgc2VyaW91c2x5IGluY29tcGxldGUuCkZvciBleGFt
cGxlLCBpdCBzaG91bGQgYmUgc3BlY2lmaWVkIHRvIGJlIHVuaXRhcnkgKGFzIHRoZSBzdGFu
ZGFyZCBDCmhlYWRlcnMgYXJlKS4KClRoZSBsZXZlbCBvZiBuYW1lc3BhY2UgcG9sbHV0aW9u
IG11c3QgYWxzbyBiZSBzcGVjaWZpZWQsIGZvciBmdXR1cmUKZW5oYW5jZW1lbnRzLiAgVGhh
dCBpcyB2ZXJ5IGltcG9ydGFudCBmb3IgQy4KClRoZSBsYXlvdXQgb2YgQyBzdHJ1Y3R1cmVz
IGlzIHZlcnkgZGVwZW5kZW50IG9uIHRoZSBjb21waWxlciBvcHRpb25zLgpJbiB0aGUgZXhp
c3RpbmcgRm9ydHJhbiBzdGFuZGFyZCwgdGhlIHByb2Nlc3NvciBjYW4gKGluIHRoZW9yeSwg
YXQKbGVhc3QpIHJlbWFwIHN0cnVjdHVyZXMuICBCZWNhdXNlIE4xNzYxIHByb3Bvc2VzIHN0
cnVjdHVyZXMgdG8gdXNlIGFzCnRoZSBhY3R1YWwgaW50ZXJmYWNlIGRlc2NyaXB0b3JzLCB0
aGF0IGlzIG5vdCBmZWFzaWJsZS4gIFRoZSBtYXR0ZXIKbmVlZHMgY29uc2lkZXJhdGlvbi4K
ClRoZSBkZXNjcmlwdG9yIGZ1bmN0aW9ucyBhcmUgaW1wdXJlIGFuZCByZXR1cm4gYW4gZXJy
b3IgY29kZSB0aHJvdWdoCnRoZWlyIGZ1bmN0aW9uIHJlc3VsdC4gIEJlY2F1c2UgdGhleSBh
cmUgQyBpbnRlcmZhY2VzLCB0aGF0IGlzCnBsYXVzaWJsZSwgYnV0IGl0IGlzIHVuZGVzaXJh
YmxlIHRvIHVzZSBhIHNwZWNpZmljYXRpb24gdGhhdCBjb25mbGljdHMKd2l0aCBGb3J0cmFu
J3MgY29udmVudGlvbnMuICBJbiBwYXJ0aWN1bGFyLCBpdCB3b3VsZCBvYnN0cnVjdCBhIHZl
bmRvcgpvciBmdXR1cmUgdmVyc2lvbiBvZiB0aGUgc3RhbmRhcmQgZnJvbSBkZWZpbmluZyB0
aGVtIGFzIGludGVyb3BlcmFibGUKcHJvY2VkdXJlcy4gIFRoYXQgb3B0aW9uIHNob3VsZCBi
ZSBsZWZ0IG9wZW4uCgpJdCBzZWVtcyB0aGF0IHRoZSBkZXNjcmlwdG9yIGZ1bmN0aW9ucyB1
c2UgdGhlIHN1cHBsaWVkIGRlc2NyaXB0b3JzIGJvdGgKYXMgdGhlIHNvdXJjZSBvZiBkYXRh
IGFuZCB3aGVyZSB0aGV5IHN0b3JlIHRoZSByZXN1bHRzLCBidXQgdGhleSBkbyBub3QKc3Bl
Y2lmeSB3aGljaCBmaWVsZHMgbXVzdCBiZSBzZXQgb24gZW50cnkgYW5kIHdoaWNoIGFyZSBz
ZXQgb24gZXhpdC4gIEl0CmlzIGVzc2VudGlhbCB0byBmaXggdGhhdCAtIG9yLCBwcmVmZXJh
Ymx5LCB1c2UgYSBjbGVhbmVyIGludGVyZmFjZS4KCkNGSV91cGRhdGVfZmRlc2MgaXMgc3Bl
Y2lmaWVkIHRvIHVzZSBtYWxsb2MsIGJ1dCB0aGF0IGlzIGFuIHVucmVhc29uYWJsZQpyZXN0
cmljdGlvbiBvbiBhbiBpbXBsZW1lbnRhdGlvbjsgdGhlIHJlcXVpcmVtZW50IHNob3VsZCBi
ZSByZW1vdmVkLgoKQ0ZJX2FsbG9jYXRlIHNheXMgIlRoZSBzdXBwbGllZCBib3VuZHMgb3Zl
cnJpZGUgYW55IGN1cnJlbnQgZGltZW5zaW9uCmluZm9ybWF0aW9uIGluIHRoZSBkZXNjcmlw
dG9ycy4gVGhlIHN0cmlkZSB2YWx1ZXMgYXJlIGlnbm9yZWQgYW5kCmFzc3VtZWQgdG8gYmUg
b25lLiBCb3RoIHRoZSBGb3J0cmFuIGFuZCBDIGRlc2NyaXB0b3JzIGFyZSB1cGRhdGVkIGJ5
CnRoaXMgZnVuY3Rpb24uIiAgVGhhdCBtYWtlcyBubyBzZW5zZSwgYXMgaXQgd291bGQgbGVh
dmUgdGhlIGRlc2NyaXB0b3JzCmluIGFuIGludmFsaWQgc3RhdGUuCgpUaGUgaW50ZW50IG9m
IENGSV9ib3VuZHNfdG9fY2Rlc2MgaXMgdW5jbGVhciwgZXNwZWNpYWxseSBhcyBpdCBkb2Vz
IG5vdApzYXkgdGhhdCBjcmVhdGluZyBhbiBpbnZhbGlkIGRlc2NyaXB0b3IgaXMgZm9yYmlk
ZGVuLgoKVGhlIGRlc2NyaXB0aW9uIG9mIHN0cmlkZSAiZXF1YWwgdG8gdGhlIGRpZmZlcmVu
Y2UgYmV0d2VlbiB0aGUgc3Vic2NyaXB0CnZhbHVlcyBvZiBjb25zZWN1dGl2ZSBlbGVtZW50
cyBvZiBhbiBhcnJheSBhbG9uZyBhIHNwZWNpZmllZCBkaW1lbnNpb24iCm1ha2VzIG5vIHNl
bnNlIHdoZW4gYXBwbGllZCB0byBhIGR1bW15IGFyZ3VtZW50IC0gaXQgaXMgYWx3YXlzIG9u
ZS4KRm9ydHJhbiBoYXMgbm8gY29uY2VwdCBvZiB0aGUgc3RyaWRlcyBvZiB0aGUgYWN0dWFs
IGFyZ3VtZW50cyBiZWluZwp2aXNpYmxlIHRvIHRoZSBjYWxsZWQgcHJvY2VkdXJlLgoKIlRo
ZSBiYXNlIGFkZHJlc3MgaW4gdGhlIEMgZGVzY3JpcHRvciBmb3IgYSBkYXRhIHBvaW50ZXIg
bWF5IGJlIG1vZGlmaWVkCmJ5IGFzc2lnbm1lbnQgYW5kIHRoYXQgY2hhbmdlIGxhdGVyIGFm
ZmVjdGVkIGluIHRoZSBjb3JyZXNwb25kaW5nCkZvcnRyYW4gZGVzY3JpcHRvciBieSB0aGUg
Q0ZJX3VwZGF0ZV9mZGVzYyBmdW5jdGlvbiIgbWVhbnMgdGhhdAphbGxvY2F0YWJsZSBhbmQg
cG9pbnRlciBhcnJheXMgY2FuIGJlIGNoYW5nZWQgb3RoZXIgdGhhbiBieSBjYWxscyB0bwpD
RklfYWxsb2NhdGUgYW5kIENGSV9kZWFsbG9jYXRlICh3aGljaCBpcyBzdGF0ZWQgdG8gYmUg
Zm9yYmlkZGVuCmVsc2V3aGVyZSkuICBTb21ldGhpbmcgaXMgd3JvbmcsIGJ1dCBJIGRvbid0
IGtub3cgd2hhdC4KClRoZXJlIGlzIGEgbG90IG9mIG1pc3Npbmcgd29yZGluZyAtIHN1Y2gg
YXMgZm9yYmlkZGluZyB0aGUgYm91bmRzIGFycmF5CnRvIGhhdmUgYSBoaWdoZXIgcmFuayB0
aGFuIHRoZSBkZXNjcmlwdG9yLgoKCj09PT09PT09PT09PT09PT09PT09PT09PT09PQoKVGhl
IGV4YW1wbGVzIHVzZSAiaW50ZWdlcig4KSIgdG8gaW5kaWNhdGUgYW4gOC1ieXRlIGludGVn
ZXIgc2V0IHVwIGJ5IGEKY29tcGlsZXIgb3B0aW9uICItaTgiLiAgVGhhdCBpcyBjb21wbGV0
ZWx5IHByb2Nlc3Nvci1kZXBlbmRlbnQsIGFuZApzaG91bGQgbm90IGJlIGluY2x1ZGVkIGlu
IGEgVGVjaG5pY2FsIFJlcG9ydC4KClRoZSBleGFtcGxlcyB1c2UgTVBJIG5hbWVzLCBidXQg
YXJlIHdpbGRseSBpbnZhbGlkLiAgVGhleSBzaG91bGQgdXNlCk1QSSBjb3JyZWN0bHksIG9y
IG5vdCByZWZlciB0byBpdC4KCi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4u
Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uCiAg
ICAgICAgICAKTXV4d29ydGh5CgpWYXJpb3VzIGNvbmNlcm5zIGFib3V0IHRoZSB0ZWNobmlj
YWwgZGV0YWlscyBpbiB0aGUgVFIsIGluY2x1ZGluZyB0aGUgIApleHRlbnQgb2YgY292ZXJh
Z2UgdG8gY29uZm9ybSB0byBOMTc2MCBzZWN0aW9uIDIuMiBhbmQgaW5kZWVkIHRoZSAgCmJh
c2ljIGRlc2lnbiAoY2YgTWFjbGFyZW4ncyB2b3RlKSwgaGF2ZSBiZWVuIHJhaXNlZCBzaW5j
ZSB0aGUgYmFsbG90ICAKd2FzIGlzc3VlZC4gVW50aWwgdGhlc2UgaGF2ZSBiZWVuIHJlc29s
dmVkIGJ5IHRoZSBlZGl0b3JpYWwgZ3JvdXAgbXkgIAp2b3RlIGlzIG5vLgoKT24gdGhlIHBh
cnRpY3VsYXIgcXVlc3Rpb24gb2YgYWxsb3dpbmcgb3B0aW9uYWwgZHVtbXkgYXJndW1lbnRz
OiBZRVMKCk90aGVyIGNvbW1lbnQ6ICBUaGUgZG9jdW1lbnQgaXMgbm90IHlldCBpbiB0aGUg
Zm9ybWF0IHJlcXVpcmVkIGJ5IApJU08vIElFQyBEaXJlY3RpdmVzIChQYXJ0IDIsIENsYXVz
ZXMgNiAmIDcpLgoKLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4u
Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KICAgICAKUmVp
ZAoKTXkgcmVhc29uIGZvciB0aGUgTk8gdm90ZSBpcyB0aGF0IEkgd291bGQgbGlrZSB0byBz
ZWUgc3VwcG9ydCBmb3IgTVBJCm5vbi1ibG9ja2luZyBwcm9jZWR1cmUgY2FsbHMuCgpNeSBt
YWpvciBjb21tZW50IGNvbmNlcm5zIHRpbWluZy4gSW4gbXkgcmVwb3J0IHRvIFNDMjIgKE4x
NzM3KSwgSSBzYWlkCidJdCBpcyBlbnZpc2FnZWQgdGhhdCB0aGUgZmlyc3QgZHJhZnQgb2Yg
dGhlIFRSIG9uIEZ1cnRoZXIgSW50ZXJvcGVyYWJpbGl0eQpvZiBGb3J0cmFuIHdpdGggQyB3
aWxsIGJlIGZvcndhcmRlZCBieSBNYXJjaCAyMDA5Jy4gSSB0aGluayB3ZSBuZWVkIHRvCmFi
YW5kb24gdGhpcyBhaW0uIEl0IHdhcyBlbnZpc2FnZWQgdGhhdCB0aGUgZGV0YWlsZWQgd29y
ayBvbiB0aGUgVFIgYmUgZG9uZQppbiB0aGUgc2xhY2sgdGltZSB3aGlsZSB0aGUgc3RhbmRh
cmQgd2FzIG91dCBmb3Igdm90ZSwgbm90IGluIHRoZSBidXN5IHRpbWUKYWZ0ZXIgdGhlIHZv
dGUgaXMgaW4gYW5kIHRoZSByZXNwb25zZXMgYWdyZWVkLiBXZSBuZWVkIHRvIGNvbmNlbnRy
YXRlIG9uCnRoZSBwcmVwYXJhdGlvbiBvZiB0aGUgRmluYWwgQ0QgaW4gdGhlIGVhcmx5IG1v
bnRocyBvZiAyMDA5LgoKTXkgbWlub3IgY29tbWVudHMgKHVzaW5nIGxpbmUgbnVtYmVycyBp
biBOMTc2MSkgZm9sbG93LgoKNDUtNDcuIFRoZSBjb25jZXB0cyBvZiBhc3N1bWVkIHR5cGUg
YW5kIGFzc3VtZWQgcmFuayBhcmUgdXNlZnVsIHdpdGhpbgpGb3J0cmFuIHRvbywgYXMgdGhl
IGZpbmFsIGV4YW1wbGUgaWxsdXN0cmF0ZXMuCgoxMDItMTAzLiBDaGFuZ2UgJ0lmIC4uLiBh
c3N1bWVkLXNpemUgYXJyYXksIHRoZScgdG8gJ1RoZScuCltBcyBmYXIgYXMgSSBjYW4gc2Vl
LCB0aGlzIHJlc3RyaWN0aW9uIGlzIG5vdCBuZWVkZWQuXQoKMTA0LTEwNy4gVGhlIHNlbnRl
bmNlIHNob3VsZCBiZSBhIHNlcGFyYXRlIHBhcmFncmFwaCBhbmQgcHJlZmVyYWJseSBtb3Zl
ZCB0bwphbm90aGVyIHNlY3Rpb24gc2luY2UgaXQgYXBwbGllcyB0byBtb3JlIHRoYW4gYXNz
dW1lZC10eXBlIHZhcmlhYmxlcy4KCjM0NC0zNDYuIFdoYXQgZG9lcyBpdCBtZWFuIGlmIHRo
ZSBzcGVjaWZpZXJzIGhhdmUgdGhlIHNhbWUgdmFsdWU/Cgo0MTQuIENoYW5nZSB0bwondXNp
bmcgdGhlIG1lY2hhbmlzbSBvZiB0aGUgRm9ydHJhbiBBTExPQ0FURSBzdGF0ZW1lbnQuIE9u
JwoKNDUxLiBDaGFuZ2UgdG8KJ2luZm9ybWF0aW9uIGZvciBvbmUgZGltZW5zaW9uIG9mIGFu
IGFycmF5IHNlY3Rpb24uIEl0IGlzIGRlZmluZWQgaW4gdGhlIGZpbGUnCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeXl5eXl5eCjQ2Ni4gQ2hhbmdlIHRv
Cidtb2RpZmllZCBieSBhc3NpZ25tZW50IGFuZCB0aGF0IGNoYW5nZSBsYXRlciBlZmZlY3Rl
ZCBpbiB0aGUnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBeCjQ3MC4gU3VyZWx5IGl0IGlzIG5lY2Vzc2FyeSB0byBiZSBhYmxlIHRvIGNhbGwgQ0ZJ
X3VwZGF0ZV9jZGVzYyBmb3IgYW4KYWxsb2NhdGFibGUgb2JqZWN0LgoKNDcwLTQ3My4gV2h5
IHdvdWxkIHRoZSBwcm9ncmFtbWVyIHdhbnQgdG8gY2hhbmdlIHN1Y2ggYSBiYXNlIGFkZHJl
c3M/CldoeSBub3QgZGlzYWxsb3cgaXQ/Cgo1MTkuIFdoYXQgdW5pdHMgYXJlIHVzZWQgZm9y
IHRoZSBzaXplPwoKNTIwLTUyMS4gQ2hhbmdlIHRvCidnZW5lcmljIGludGVyZmFjZSBhbGxv
d3MgdGhlIHNpemUgdG8gYmUgZ2l2ZW4gYnkgYWx0ZXJuYXRpdmUga2luZHMgb2YgaW50ZWdl
cnMnLgpbSSBkb24ndCBrbm93IHdoYXQgdGhlICItaTgiIGNvbXBpbGVyIHN3aXRjaCBwcm9i
bGVtIGlzLl0KCjU3My4gV2h5IGlzIHkgb2YgcmFuayAwPwoKNTc0LiB5KDosMSkgaXMgY29u
dGlndW91cyBzbyBubyBjb3B5IGlzIGV2ZXIgbmVlZGVkLgoKNTc1LiBXaHkgaXMgdGhpcyBp
bGxlZ2FsLCByYXRoZXIgdGhhbiByYW5rIDA/Cgo2MjgrLiBNb3JlIGV4YW1wbGVzIG5lZWRl
ZCwgc2hvd2luZyB0aGUgdXNlIG9mIGRlc2NyaXB0b3JzLgoKLi4uLi4uLi4uLi4uLi4uLi4u
Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4u
Li4uLi4uLi4uLi4uLi4KICAgICAKU2xlaWdodGhvbG1lCgpJIHRoaW5rIHdlIG5lZWQgdG8g
Y29uY2VudHJhdGUgb24gdGhlIGZpbmFsIENEIGZpcnN0LgoKUXVvdGluZyBKb2huIFJlaWQg
PEpvaG4uUmVpZEBzdGZjLmFjLnVrPjogCgpbUmVwZXRpdGlvbiBvZiBKb2huIFJlaWQncyBj
b21tZW50c10KCi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4u
Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uCgpYaWEKCjEuKSBP
UFRJT05BTCBhcmd1bWVudApUaGUgY3VycmVudCBkZXNpZ24gZG9lcyBub3Qgc3VwcG9ydCBP
UFRJT05BTCBhcmd1bWVudCB3aXRoIFZBTFVFIGF0dHJpYnV0ZS4gVGhpcwppcyBhIGZ1bmRh
bWVudGFsIHRlY2huaWNhbCBmbGF3IGluIHRoZSBkZXNpZ24uICBUaGUgRm9ydHJhbiAyMDAz
IHN0YW5kYXJkIGFsbG93cwpWQUxVRSB0byBiZSBzcGVjaWZpZWQgd2l0aCBPUFRJT05BTCBh
cmd1bWVudCwgd2hpbGUgaW4gdGhlIFRSIHRoaXMgY29tYmluYXRpb24KYmVjb21lcyBpbGxl
Z2FsLiAgVGhpcyBvYnZpb3VzbHkgaXMgYW4gYWR2ZXJzZSBjaGFuZ2UgY29tcGFyZWQgdG8g
RjAzLgpJdCBzaG91bGQgYWxzbyBiZSBub3RlZCB0aGF0IG9uZSBzb2x1dGlvbiB0aGF0IHN1
cHBvcnRzIHRoaXMgcGFydGljdWxhciBjb21iaW5hdGlvbgp3YXMgcHJvcG9zZWQsIGJ1dCBp
dCB3YXMgcmVqZWN0ZWQgZHVlIHRvIHRoZSBpbXBsZW1lbnRhdGlvbiBjb252ZW5pZW5jZSBv
ZiBhIGZldwp2ZW5kb3JzLgoKCjIuKSBGb3J0cmFuIGRlc2NyaXB0b3JzCkFsdGhvdWdoIEZv
cnRyYW4gZGVzY3JpcHRvcnMgYXJlIHVzZWQgd2hlbiBwYXNzaW5nIGFzc3VtZWQtc2hhcGUg
YXJyYXlzLCBwb2ludGVyCmFycmF5cyBhbmQgYWxsb2NhdGFibGUgYXJyYXlzIGJ5IG1hbnkg
dmVuZG9ycywgdGhleSBhcmUgaG93ZXZlciBub3QgdW5pdmVyc2FsbHkgdXNlZApieSBhbGwg
dmVuZG9ycy4gIEJhc2VkIG9uIGEgc3VydmV5IGVhcmxpZXIgdGhpcyB5ZWFyIChieSBDcmFp
ZyBSYXNtdXNzZW4gYXQgSjMgbTE4MyksCnNvbWUgdmVuZG9ycyBoYXZlbid0IGFkb3B0ZWQg
ZGVzY3JpcHRvcnMgZm9yIGFzc3VtZWQgc2hhcGUgYXJyYXlzLCBwb2ludGVyIGFycmF5cwpv
ciBhbGxvY2F0YWJsZSBhcnJheXMuICBUaGUgcmVxdWlyZW1lbnQgaW4gdGhlIEMtaW50ZXJv
cCBUUiBtYXkgcG9zZSBpbXBsZW1lbnRhdGlvbgpkaWZmaWN1bHRpZXMgZm9yIHRob3NlIHZl
bmRvcnMuICBGdXJ0aGVybW9yZSBhbGxvd2luZyB1cGRhdGVzIG9uIEZvcnRyYW4gZGVzY3Jp
cHRvcnMgZnJvbQpDIHByb2dyYW1zIHdpbGwgbGlrZWx5IGNhdXNlIHNhZmV0eSBpc3N1ZXMg
YW5kIGFsc28gYmUgcHJvYmxlbWF0aWMgaW4gY29uc2lzdGVuY3kKY2hlY2sgYnkgc29tZSB2
ZW5kb3JzLiAgVGhpcyBiZWNvbWVzIGEgc3VyZSB3YXkgdG8gaW50cm9kdWNlIGJ1Z3MgZGlm
ZmljdWx0IHRvIGRpYWdub3NlLgoKCjMuKSBhc3N1bWVkLXR5cGUgYW5kIGFzc3VtZWQtcmFu
awpUaGVzZSB0d28gZmVhdHVyZXMgd2VyZSBub3QgaW4gdGhlIG9yaWdpbmFsIHNjb3BlIG9m
IFRSIDI5MTEzLiAgVGhleSB3ZXJlIHByb3Bvc2VkCigwOC0yNzFyMSkgdG8gYmUgYWRkZWQg
dG8gdGhpcyBUUiBpbiBhbiBhdHRlbXB0IHRvIHJlc3BvbmQgdG8gdGhlIHJlcXVpcmVtZW50
IGZyb20KTVBJIGNvbW11bml0eSBmb3Igc29tZXRoaW5nIHNpbWlsYXIgdG8gSUdOT1JFX1RL
UiBkaXJlY3RpdmVzIGFscmVhZHkgaW1wbGVtZW50ZWQgYnkKYSBudW1iZXIgb2YgdmVuZG9y
cy4gIFRoZXNlIGZlYXR1cmVzIGFyZSBvZiBtb3JlIHVyZ2VudCBhbmQgaW1wb3J0YW50IG5h
dHVyZSB0aGFuIHRoZQpPUFRJT05BTCBvciB0aGUgZGVzY3JpcHRvciBmZWF0dXJlcyBpbiBU
UiAyOTExMy4gIFRoZXJlZm9yZSBpdCBpcyBtb3JlIGRlc2lyYWJsZSB0bwpkZXZvdGUgZWZm
b3J0IGFuZCBzdHVkeSB0byB0aGVzZSBmZWF0dXJlcyBpbiBhIHNlcGFyYXRlIFRSLgoKLi4u
Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4u
Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KCk1vcmdhbgoKSSBoYXZlbid0IGhhZCB0
aW1lIHRvIGxvb2sgYXQgdGhpcyBwcm9wZXJseSBzbyBJIGFic3RhaW4uIAoKLi4uLi4uLi4u
Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4u
Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KClRha2F0YQoKSSBoYXZlIGdpdmVuIHVwIHRvIGNs
b3NlbHkgbG9vayBhdCB0aGUgY29udGVudCBvZiBOMTc2MS4gIEkgaGFkIG5vIHRpbWUgdG8K
ZG8gc28sIHNvcnJ5LiAgSSBhYnN0YWluIGZyb20gdGhlIGJhbGxvdC4gCgo=
--------------070309090005000001060507--
