From multimobsec-api-bounces@ietf.org Mon Jun 05 10:31:44 2006
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com)
	by megatron.ietf.org with esmtp (Exim 4.43)
	id 1FnG7L-0003GB-Qf; Mon, 05 Jun 2006 10:31:43 -0400
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org)
	by megatron.ietf.org with esmtp (Exim 4.43) id 1FnG7K-0003G6-Lu
	for multimobsec-api@ietf.org; Mon, 05 Jun 2006 10:31:42 -0400
Received: from twilight.cs.hut.fi ([130.233.40.5])
	by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1FnG7H-0004EU-Mp
	for multimobsec-api@ietf.org; Mon, 05 Jun 2006 10:31:42 -0400
Received: by twilight.cs.hut.fi (Postfix, from userid 60001)
	id D4E8A31E4; Mon,  5 Jun 2006 17:31:38 +0300 (EEST)
X-Spam-Checker-Version: SpamAssassin 3.1.2-niksula20060321 (2006-05-25) on 
	twilight.cs.hut.fi
X-Spam-Level: 
X-Spam-Status: No, score=-1.4 required=5.0 tests=ALL_TRUSTED autolearn=failed 
	version=3.1.2-niksula20060321
X-Spam-Niksula: No
Received: from kekkonen.cs.hut.fi (kekkonen.cs.hut.fi [130.233.41.50])
	by twilight.cs.hut.fi (Postfix) with ESMTP id 10F5A3121;
	Mon,  5 Jun 2006 17:31:35 +0300 (EEST)
Received: from localhost (mkomu@localhost)
	by kekkonen.cs.hut.fi (8.13.4+Sun/8.13.3/Submit) with ESMTP id
	k55EVWGn023638; Mon, 5 Jun 2006 17:31:32 +0300 (EEST)
X-Authentication-Warning: kekkonen.cs.hut.fi: mkomu owned process doing -bs
Date: Mon, 5 Jun 2006 17:31:31 +0300 (EEST)
From: Miika Komu <miika@iki.fi>
X-X-Sender: mkomu@kekkonen.cs.hut.fi
To: "Shinta Sugimoto (TO/NRJ)" <shinta.sugimoto@ericsson.com>
In-Reply-To: <DA38843C0546204C8CFBBB411311BB4A017214C1@ejpsymw100.eapac.ericsson.se>
Message-ID: <Pine.SOL.4.64.0606051418280.14792@kekkonen.cs.hut.fi>
References: <DA38843C0546204C8CFBBB411311BB4A017214C1@ejpsymw100.eapac.ericsson.se>
MIME-Version: 1.0
Content-Type: MULTIPART/MIXED; BOUNDARY="-559023410-33463914-1149506471=:14792"
Content-ID: <Pine.SOL.4.64.0606051422260.14792@kekkonen.cs.hut.fi>
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 2c51cf2036fd789291a33c1e40f6afea
Cc: multimobsec-api@ietf.org,
	"Kristian Slavov \(JO/LMF\)" <kristian.slavov@ericsson.com>
Subject: [MULTIMOBSEC-API] Re: update of api draft
X-BeenThere: multimobsec-api@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "Multihoming, mobility and security APIs" <multimobsec-api.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/multimobsec-api>
List-Post: <mailto:multimobsec-api@ietf.org>
List-Help: <mailto:multimobsec-api-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=subscribe>
Errors-To: multimobsec-api-bounces@ietf.org

  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

---559023410-33463914-1149506471=:14792
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII; FORMAT=flowed
Content-ID: <Pine.SOL.4.64.0606051422261.14792@kekkonen.cs.hut.fi>

On Fri, 2 Jun 2006, Shinta Sugimoto (TO/NRJ) wrote:

> Hi all,
>
> Excuse me for the confusion that I send this email to you (in unicast),
> not sending email to the ML <multimobsec-api@ietf.org>.
> Now I have limited connectivity to the public Internet and cannot
> send email to the ML (from my personal laptop PC).

No problem. I attached the original version which I am commenting now.

> Anyway, I want to make the status update of the draft.  And would
> like to you receive your quick feedback if you have any.
>
> According to the discussion we had last week, I made some updates
> to the API draft.  Attached please find the draft.  In particular, I
> would
> like to hear your comments on some issues that I realized while I update
> the document (see paragraphs which begin with "ISSUES:").  A couple
> of items were added to the requirements section.  Rest of the changes
> are after section 6.

You might e.g. want to request Petri Jokela (nomadiclab) for an issue 
tracker account in here:

http://hip4inter.net/cgi-bin/roundup.cgi

and keep the issues separate from the actual text. But of course, this is 
a matter of taste.

Here is my feedback for the attached pre-version of the draft:

> 1. Introduction

Based on our discussion at HIIT, should we explicitly mention that SHIM6 
and HIP probably won't work together? This is related to some other 
comments below.

> 5. Requirements
> ...
>   o  Notification from application to the shim layer about the status
>      of the communication.  Note that the notification is made in an
>      event based manner.  There are mainly two aspects of the feedback
>      that application or upper layer protocol may provide for the shim
>      layer, positive and negative feedbacks [NOTE: These feedbacks are
>      addressed in section 4.3 and section 5.2 of REAP specification]:
>
>      *  Positive feedback could be given by the application or upper
>         layer protocol (e.g.  TCP) to the shim layer informing that its
>         communication is going well.
>
>      *  Negative feedback could be given by the application or upper
>         layer protocol (e.g.  TCP) to the shim layer informing that its
>         communication status is not satisfactory.  TCP could detect a
>         problem when it does not receives expected ACK from the peer.
>         ICMP error messages delivered to the upper layer protocol could
>         be a clue for application to detect any kind of problem.  REAP
>         module may be triggered by these negative feedbacks and invoke
>         procedure of path exploration.
>
>   o  Feedback from application to shim layer.  The application should
>      be able to inform the shim layer about the timeout values for
>      detecting failure, for sending keepalives, for starting the
>      exploration procedure.  In particular, the application should be
>      able to suppress the keepalives.

I believe that the last "o" bullet should be a "*" bullet.

>   o  Turn on/off shim.  The application should be able to request to
>      turn on/off the multihome support by the shim layer:
>
>      *  Apply shim.  The application should be able to explicitly
>         request the shim layer to apply multihome support.
>
>      *  Don't apply shim.  The application should be able to request
>         the shim layer not to apply the multihome support but to apply
>         normal IP processing at the IP layer.

s/multihome support/multihiming support/

The "apply shim" bullet does not really mention whether it is "try" or 
"must" apply shim. Remember that the peer may or may not be capable of 
supporting shim. Trying shim means that we can fallback to plain TCP/IP 
communications. Similarly, must means that we want to use shim or nothing 
at all. I believe a separate requirement for both would be nice.

> 6.  Socket Options for Multihomed Shim Layer
> ..
>
> Table 1 provides complete list of the socket options specifically
> defined for interface shim layer.  Note that all socket options are
> defined at level SOL_SHIM.

We have two options here (see my comments on intro):
   a) SOL_SHIM
   b) SOL_HIP and SOL_SHIM6

The first alternative has at least one benefit. If SHIM6 is considered the 
first step towards full locator/id split (i.e. HIP :), then having this 
option would guarantee almost transparent migration path from SHIM6 to 
HIP. The drawbacks are that SHIM6 and HIP cannot be run at the same time 
for the same socket, and that the socket handler implementation might get 
quite fat.

The second alternative reversed benefits and drawbacks when compared to 
the first alternative.

Also, one way to think about this are the protocol specific options. How 
those options should be then defined?

I am leaning towards option b) but having the same SO_SHIM socket options 
for both protocols. However, I am open for ideas.

In addition, should it be IPPROTO_ rather than SOL_? I am little bit 
unsure on this but I think IPROTO_ is the right one, altough SOL _could be 
the alias like it is for e.g. IPPROTO_TCP and SOL_TCP.

Opinions, please?

> The first column of the table gives name of the option.  The second
> and third columns indicates whether if the option is for retrieving
> the date from the kernel or providing data to the kernel (or both).
> The fifth column indicates if the option deals with binary data or
> not.  If the flag is not set, specific data structure (other than
> int) should be used for data exchange.  The data structure is
> provided in the sixth column.

The first column of the table gives name of the option.  The second and 
third columns indicates whether the option applies for retrieving the data 
from the kernel or providing data to the kernel (or both). The fourth 
column summarizes the purpose of the option. The fifth column indicates if 
the option deals with integer type of data or not.  If the flag is not 
set, data structure specific to the socket option (other than int) should 
be used.  The data structure is provided in the sixth column.

> Table 1: Socket Options for Multihomed Shim Layer

* For all option names, please add a SO_ prefix. For example, SHIM_APPLY
   should be SO_SHIM_APPLY
* The flag field is redundant with dtype. Suggest removing flag field and
   explicitly marking it in dtype field.
* The description field is currently too narrow.
* SHIM_STANDBY -> SHIM_HOT_STANDBY
* SHIM_LOCPAIR_PREF and SHIM_LOCPAIR_RECV
   * I suggest removing this pairing concept and using single locators
     instead, unles you have a specific need to do otherwise. E.g.
     have SHIM_LOC_LOCAL_PREF, SHIM_LOC_PEER_PREF and same for RECV.
   * Now, we don't have to introduce another data structure and we can just
     use regular sockaddr structure for these options.

> *2: TBD.

I suggest standard "struct addrinfo" data structure, man getaddrinfo, or:

ftp://ftp.rfc-editor.org/in-notes/rfc3493.txt


After this, I suggest adding a short section on get/setsockopt error 
values. See man get/setsockopt:

RETURN VALUES
      If successful, getsockopt() and setsockopt() return 0;  oth-
      erwise,  the  functions  return -1 and set errno to indicate
      the error.

We could probably mention explicitly that ENOSYS means that the localhost 
does not support shim.

> Figure 2: Socket API system model with shim layer

How about the following figure instead of the current one:

+------------------------------------------+
|              Application                 | socket
+------------------------------------------+

+------------------------------------------+
|               SOL_SOCKET                 | generic socket options
+----------------------------------------- +

+------------+------------+----------------+
| IPROTO_TCP | IPROTO_UDP | IPPROTO_ICMPV6 | transport layer sockets
+------------+------------+----------------+

+---------------------+--------------------+
|     IPPROTO_HIP     |   IPPROTO_SHIM6    | shim layer sockets
+---------------------+--------------------+

+-------------------+----------------------+
|    IPROTO_IP      |    IPPROTO_IPV6      | network layer sockets
+-------------------+----------------------+

> ISSUE: It may be controversial to introduce a new level SOL_SHIM for
> shim specific socket options.  IMHO, we should avoid defining shim
> specific socket options for both in level IPPROTO_IP and IPPROTO_IPV6
> as it's redundant and seems to be architecturally wrong.

I think you can just remove this issue.

> 6.1.  Specifying Shim Specific Ancillary Data
> ..
> Table 2: Shim specific ancillary data

As I noted before we should have separate options for accessing local and 
peer locators, and the lcinfo should be sockaddr.

> It should be noted that above cmsg_type are basically for UDP and raw
> sockets, not for TCP sockets.

s/basically/typically/

It is completely possible to use sendmsg and recvmsg interface for TCP 
also.

> 6.1.1.  SO_LOCPAIR_RECV

See my previous comments locator pairs and locinfo.

> 6.1.2.  SO_LOCPAIR_SEND

See my previous comments locator pairs and locinfo.

> ISSUE: We should consider error handling in this case, particularly,
> in a case where invalid peer locator was specified by the
> application.  In case of SHIM6, there are two kinds of verifications
> required in order to specify send IP packets to the peer's new
> address; one is return routability (check if the peer is actually
> willing to receive data with the specified locator) and the other is
> verifications based on given crypto locator mechanisms[RFC3972],
> [I-D.ietf-shim6-hba].  What kind of error message should be provided
> for the caller ?  Is EINVAL is enough or do we need to introduce new
> error message (e.g.  EINVALIDLOCATOR) ?

It is an interesting question... for the time being, I think overloading 
ENETUNREACH will do just fine.

> 7.  Data Structures

See my previous comments on these.

> 8.  Implications for Existing Socket API Extensions
> ..
> [RFC3542] defines that IPV6_PKTINFO can be used by application to
> influence outgoing datagram (source address, outgoing interface etc.)
> and obtain information of incoming datagram (destination address,
> receiving interface etc.).  Then a question may rise, what is the
> expected consequence of the case where IPV6_PKTINFO and
> SHIM_LOCPAIR_SEND is specified at the same time.  Similar question
> may rise, what if the IPV6_PKTINFO and SHIM_LOCPAIR_RECV are set at
> the same time.
>
> ISSUE: We should clarify implications for existing socket API
> features, especially IPV6_PKTINFO as it has some implications on
> locator selection.  In some case, there might be contradictory case
> where IPV6_PKTINFO and SHIM_lOCPAIR_SEND/SHIM_LOCPAIR_RECV are
> specified at the same time.

I suggest changing the question to a solution proposal. Namemely, PKTINFO 
should specify ULID or transport layer identifier.

> 9.  Issues with a Context Shared by Applications
>
> When a context is shared by applications, it would be difficult for
> the shim layer to handle feedbacks from the applications.  As
> mentioned in Section X, an application may provide the shim layer
> some feedbacks of timeout values from its own settings.  This implies
> that there is potentially a race condition in the shim layer.
> Further discussions are needed how the shim layer can accommodate
> feedbacks from multiple applications within a same context.

I think the only option how to handle race conditions is to use 
prioritizing based on process priviledges (super user vs. regular user) 
and last-process-overwrites-previous-information principle in the case of 
processes with same access priviledges. Also, I think some of the options 
should be accessible only with super user priviledges.

> 10.1.  Initial Contact

In general, I think we should be talking about EIDs, and not addresses, in 
this section, even though it considers legacy applications. The term 
"address" is just too vague.

Also, there is a lot of "loose" text in this section which does not really 
make any good points. I think the text could be crystallized better, but I 
don't have any concrete suggestions at this point of time.

> In connection oriented communication..

In connection oriented communication, connect() system call is used to 
make the initial contact to the peer, which *typically* requires IP 
address and port number to specify the endpoint.

> It should be noted that the host may also have multiple source 
> addresses.

Add: If the application does not specify a source address, the host
will assign automatically a local EID.

> The different resulting address pair may have different reachability 
> status so, in order to find a working address pair, it may be required 
> to explore all the available address pairs (as opposed to explore all 
> available destination addresses).

I believe scanning the source addresses is actually not common in shim 
unaware, legacy applications. Most common scenario 1 x N scanning for 
reachable destination identifiers. This should be noted in the text.

> Besides, there is a case where involvement of the shim layer is
> expected for handling initial contact.

Remove the "besides", it is talkative.

> If there exists the context for the EID specified in the connect(), the 
> initial contact can be made in accordance with the context information.

This case occurs when there exists the context for the EID specified in 
the connect(), the initial contact can be made in accordance with the 
context information.

> 10.2.  Naming at Socket Layer
> 
> As IP address is the key information in the two system calls, there
> is a question if it should be identifier or locator when shim layer
> is present.

Instead of leaving this open here, let's provoke people to discussion by 
proposing it to be the identifier.

> Appendix B.  Specifying Locator Information
> ..
> Note that by using IPv4-mapped address, IPv6 socket may also handle
> IPv4 packet for exceptional cases.  However, this is not the
> recommended due to ambiguity.

Remove the recommendation. This kind of behaviour has been already 
deployed, so there is not much we can do.


P.S. Good work Shinta and Marcelo! I am very pleased with the current pace 
of work. And thanks to Kristian for comments and discussion.

-- 
Miika Komu              miika@iki.fi          http://www.iki.fi/miika/
---559023410-33463914-1149506471=:14792
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII;
	NAME=draft-manyfolks-multihome-shim-api-00.txt
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.SOL.4.64.0606051421110.14792@kekkonen.cs.hut.fi>
Content-Description: 
Content-Disposition: ATTACHMENT;
	FILENAME=draft-manyfolks-multihome-shim-api-00.txt

DQoNCg0KTmV0d29yayBXb3JraW5nIEdyb3VwICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFRCRC4gVEJEDQpJbnRlcm5ldC1E
cmFmdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBUQkQNCkV4cGlyZXM6IEF1Z3VzdCA1LCAyMDA2ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmVicnVhcnkgMjAw
Ng0KDQoNCiAgICAgICAgICAgICAgICAgICAgIFNvY2tldCBBUEkgZm9yIE11
bHRpaG9tZWQgU2hpbQ0KICAgICAgICAgICAgICAgICBkcmFmdC1tYW55Zm9s
a3MtbXVsdGlob21lLXNoaW0tYXBpLTAwDQoNClN0YXR1cyBvZiB0aGlzIE1l
bW8NCg0KICAgQnkgc3VibWl0dGluZyB0aGlzIEludGVybmV0LURyYWZ0LCBl
YWNoIGF1dGhvciByZXByZXNlbnRzIHRoYXQgYW55DQogICBhcHBsaWNhYmxl
IHBhdGVudCBvciBvdGhlciBJUFIgY2xhaW1zIG9mIHdoaWNoIGhlIG9yIHNo
ZSBpcyBhd2FyZQ0KICAgaGF2ZSBiZWVuIG9yIHdpbGwgYmUgZGlzY2xvc2Vk
LCBhbmQgYW55IG9mIHdoaWNoIGhlIG9yIHNoZSBiZWNvbWVzDQogICBhd2Fy
ZSB3aWxsIGJlIGRpc2Nsb3NlZCwgaW4gYWNjb3JkYW5jZSB3aXRoIFNlY3Rp
b24gNiBvZiBCQ1AgNzkuDQoNCiAgIEludGVybmV0LURyYWZ0cyBhcmUgd29y
a2luZyBkb2N1bWVudHMgb2YgdGhlIEludGVybmV0IEVuZ2luZWVyaW5nDQog
ICBUYXNrIEZvcmNlIChJRVRGKSwgaXRzIGFyZWFzLCBhbmQgaXRzIHdvcmtp
bmcgZ3JvdXBzLiAgTm90ZSB0aGF0DQogICBvdGhlciBncm91cHMgbWF5IGFs
c28gZGlzdHJpYnV0ZSB3b3JraW5nIGRvY3VtZW50cyBhcyBJbnRlcm5ldC0N
CiAgIERyYWZ0cy4NCg0KICAgSW50ZXJuZXQtRHJhZnRzIGFyZSBkcmFmdCBk
b2N1bWVudHMgdmFsaWQgZm9yIGEgbWF4aW11bSBvZiBzaXggbW9udGhzDQog
ICBhbmQgbWF5IGJlIHVwZGF0ZWQsIHJlcGxhY2VkLCBvciBvYnNvbGV0ZWQg
Ynkgb3RoZXIgZG9jdW1lbnRzIGF0IGFueQ0KICAgdGltZS4gIEl0IGlzIGlu
YXBwcm9wcmlhdGUgdG8gdXNlIEludGVybmV0LURyYWZ0cyBhcyByZWZlcmVu
Y2UNCiAgIG1hdGVyaWFsIG9yIHRvIGNpdGUgdGhlbSBvdGhlciB0aGFuIGFz
ICJ3b3JrIGluIHByb2dyZXNzLiINCg0KICAgVGhlIGxpc3Qgb2YgY3VycmVu
dCBJbnRlcm5ldC1EcmFmdHMgY2FuIGJlIGFjY2Vzc2VkIGF0DQogICBodHRw
Oi8vd3d3LmlldGYub3JnL2lldGYvMWlkLWFic3RyYWN0cy50eHQuDQoNCiAg
IFRoZSBsaXN0IG9mIEludGVybmV0LURyYWZ0IFNoYWRvdyBEaXJlY3Rvcmll
cyBjYW4gYmUgYWNjZXNzZWQgYXQNCiAgIGh0dHA6Ly93d3cuaWV0Zi5vcmcv
c2hhZG93Lmh0bWwuDQoNCiAgIFRoaXMgSW50ZXJuZXQtRHJhZnQgd2lsbCBl
eHBpcmUgb24gQXVndXN0IDUsIDIwMDYuDQoNCkNvcHlyaWdodCBOb3RpY2UN
Cg0KICAgQ29weXJpZ2h0IChDKSBUaGUgSW50ZXJuZXQgU29jaWV0eSAoMjAw
NikuDQoNCkFic3RyYWN0DQoNCiAgIFRoaXMgZG9jdW1lbnQgc3BlY2lmaWVz
IGEgc29ja2V0IEFQSSBmb3IgbXVsdGlob21lZCBzaGltIGxheWVyLiAgVGhl
DQogICBBUEkgYWltcyB0byBlbmFibGUgaW50ZXJhY3Rpb25zIGJldHdlZW4g
YXBwbGljYXRpb24gYW5kIHRoZQ0KICAgbXVsdGlob21pbmcgc2hpbSBsYXll
ciBmb3IgYWR2YW5jZWQgbG9jYXRvciBtYW5hZ2VtZW50IGFuZCBpbnRlcmZh
Y2UNCiAgIHRvIGFjY2VzcyBpbmZvcm1hdGlvbiBhYm91dCBmYWlsdXJlIGRl
dGVjdGlvbiBhbmQgcGF0aCBleHBsb3JhdGlvbi4NCg0KICAgVGhpcyBkb2N1
bWVudCBpcyBiYXNlZCBvbiBhbiBhc3N1bXB0aW9uIHRoYXQgYSBtdWx0aG9t
ZWQgaG9zdCBpcw0KICAgZXF1aXBwZWQgd2l0aCBhICdzaGltJyB3aGljaCBl
c3NlbnRpYWxseSBtYWludGFpbnMgbWFwcGluZyBvZg0KICAgaWRlbnRpZmll
ciBhbmQgbG9jYXRvci4gIFNISU02IGFuZCBISVAgYXJlIGV4YW1wbGVzIG9m
IHRoZSBzaGltLg0KICAgSGVuY2UsIHRoZSBBUEkgY2FuIGJlIGNvbW1vbmx5
IHVzZWQgYnkgU0hJTTYgYW5kIEhJUC4NCg0KDQoNClRCRCAgICAgICAgICAg
ICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCA1LCAyMDA2ICAgICAgICAgICAg
ICAgICBbUGFnZSAxXQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAg
TXVsdGlob21lZCBTaGltIEFQSSAgICAgICAgICAgICBGZWJydWFyeSAyMDA2
DQoNCg0KVGFibGUgb2YgQ29udGVudHMNCg0KICAgMS4gIEludHJvZHVjdGlv
biAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuICAzDQogICAyLiAgVGFyZ2V0IC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDQNCiAgIDMu
ICBUZXJtaW5vbG9neSAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAgNQ0KICAgNC4gIFN5c3RlbSBPdmVydmll
dyAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuICA3DQogICA1LiAgUmVxdWlyZW1lbnRzIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDgNCiAgIDYuICBT
b2NrZXQgT3B0aW9ucyBmb3IgTXVsdGlob21lZCBTaGltIExheWVyIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAxMA0KICAgICA2LjEuICBTcGVjaWZ5aW5nIFNo
aW0gU3BlY2lmaWMgQW5jaWxsYXJ5IERhdGEgIC4gLiAuIC4gLiAuIC4gLiAu
IDEzDQogICAgICAgNi4xLjEuICBTT19MT0NQQUlSX1JFQ1YgIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gMTQNCiAgICAgICA2LjEu
Mi4gIFNPX0xPQ1BBSVJfU0VORCAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAxNA0KICAgNy4gIERhdGEgU3RydWN0dXJlcyAgLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIDE1
DQogICA4LiAgSW1wbGljYXRpb25zIGZvciBFeGlzdGluZyBTb2NrZXQgQVBJ
IEV4dGVuc2lvbnMgIC4gLiAuIC4gLiAuIC4gMTYNCiAgIDkuICBJc3N1ZXMg
d2l0aCBhIENvbnRleHQgU2hhcmVkIGJ5IEFwcGxpY2F0aW9ucyAuIC4gLiAu
IC4gLiAuIC4gLiAxNw0KICAgMTAuIElzc3VlcyBvZiBIYW5kbGluZyBNdWx0
aXBsZSBMb2NhdG9ycyB3aXRoIFNoaW0gVW5hd2FyZQ0KICAgICAgIEFwcGxp
Y2F0aW9ucyAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIDE4DQogICAgIDEwLjEuIEluaXRpYWwgQ29udGFjdCAg
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gMTgN
CiAgICAgMTAuMi4gTmFtaW5nIGF0IFNvY2tldCBMYXllciAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAxOQ0KICAgMTEuIElzc3VlcyBv
ZiBIYW5kbGluZyBNdWx0aXBsZSBMb2NhdG9ycyB3aXRoIFNoaW0gQXdhcmUN
CiAgICAgICBBcHBsaWNhdGlvbnMgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAyMA0KICAgMTIuIEZ1cnRoZXIg
SXNzdWVzIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIDIxDQogICAgIDEyLjEuIEFkZGl0aW9uYWwgUmVxdWlyZW1l
bnRzIGZyb20gQXBwbGljYXRpb25zICAuIC4gLiAuIC4gLiAuIC4gMjENCiAg
IDEzLiBOZXcgRGVmaW5pdGlvbnMgIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAyMg0KICAgMTQuIElBTkEgQ29uc2lk
ZXJhdGlvbnMgIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIDIzDQogICAxNS4gU2VjdXJpdHkgQ29uc2lkZXJhdGlvbnMgIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gMjQNCiAgIDE2
LiBDb25jbHVzaW9uIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAyNQ0KICAgMTcuIEFja25vd2xlZGdtZW50
cyAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIDI2DQogICAxOC4gUmVmZXJlbmNlcyAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gMjcNCiAgICAgMTgu
MS4gTm9ybWF0aXZlIFJlZmVyZW5jZXMgLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAyNw0KICAgICAxOC4yLiBJbmZvcm1hdGl2ZSBS
ZWZlcmVuY2VzIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IDI3DQogICBBcHBlbmRpeCBBLiAgUmVjZWl2aW5nIExvY2F0b3IgSW5mb3Jt
YXRpb24gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gMjgNCiAgIEFwcGVuZGl4
IEIuICBTcGVjaWZ5aW5nIExvY2F0b3IgSW5mb3JtYXRpb24gIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAyOQ0KICAgQXBwZW5kaXggQy4gIEV4YW1wbGVzICAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIDMw
DQogICBBdXRob3IncyBBZGRyZXNzIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gMzINCiAgIEludGVsbGVjdHVh
bCBQcm9wZXJ0eSBhbmQgQ29weXJpZ2h0IFN0YXRlbWVudHMgLiAuIC4gLiAu
IC4gLiAuIC4gLiAzMw0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0K
DQpUQkQgICAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgNSwg
MjAwNiAgICAgICAgICAgICAgICAgW1BhZ2UgMl0NCgwNCkludGVybmV0LURy
YWZ0ICAgICAgICAgICAgIE11bHRpaG9tZWQgU2hpbSBBUEkgICAgICAgICAg
ICAgRmVicnVhcnkgMjAwNg0KDQoNCjEuICBJbnRyb2R1Y3Rpb24NCg0KICAg
VGhpcyBkb2N1bWVudCBzcGVjaWZpZXMgYSBzb2NrZXQgQVBJIGZvciBtdWx0
aWhvbWVkIHNoaW0gbGF5ZXIuICBUaGUNCiAgIEFQSSBhaW1zIHRvIGVuYWJs
ZSBpbnRlcmFjdGlvbnMgYmV0d2VlbiBhcHBsaWNhdGlvbiBhbmQgdGhlDQog
ICBtdWx0aWhvbWluZyBzaGltIGxheWVyIGZvciBhZHZhbmNlZCBsb2NhdG9y
IG1hbmFnZW1lbnQgYW5kIGludGVyZmFjZQ0KICAgdG8gYWNjZXNzIGVzc2Vu
dGlhbCBpbmZvcm1hdGlvbiBhYm91dCBmYWlsdXJlIGRldGVjdGlvbiBhbmQg
cGF0aA0KICAgZXhwbG9yYXRpb24uDQoNCiAgIFRoaXMgZG9jdW1lbnQgaXMg
YmFzZWQgb24gYW4gYXNzdW1wdGlvbiB0aGF0IGEgbXVsdGhvbWVkIGhvc3Qg
aXMNCiAgIGVxdWlwcGVkIHdpdGggYSAnc2hpbScgd2hpY2ggZXNzZW50aWFs
bHkgbWFpbnRhaW5zIG1hcHBpbmcgb2YNCiAgIGlkZW50aWZpZXIgYW5kIGxv
Y2F0b3IuICBTSElNNiBhbmQgSElQIGFyZSBleGFtcGxlcyBvZiB0aGUgc2hp
bS4NCiAgIEhlbmNlLCB0aGUgQVBJIGNhbiBiZSBjb21tb25seSB1c2VkIGJ5
IFNISU02IGFuZCBISVAuDQoNCiAgIEluIHRoaXMgZG9jdW1lbnQsIG5vdGF0
aW9uIG9mIEFQSSBpcyBwcmVzZW50ZWQgaW4gQyBsYW5ndWFnZS4NCg0KDQoN
Cg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0K
DQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KVEJEICAgICAgICAgICAgICAgICAg
ICAgIEV4cGlyZXMgQXVndXN0IDUsIDIwMDYgICAgICAgICAgICAgICAgIFtQ
YWdlIDNdDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICBNdWx0aWhv
bWVkIFNoaW0gQVBJICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDYNCg0KDQoy
LiAgVGFyZ2V0DQoNCiAgIEV4cGVjdGVkIHJlYWRlcnMgb2YgdGhpcyBkb2N1
bWVudCBhcmU6IGFwcGxpY2F0aW9uIHByb2dyYW1tZXIgd2hvDQogICBkZXZl
bG9wcyBhcHBsaWNhdGlvbiBzb2Z0d2FyZSB3aGljaCBtYXkgcnVuIG9uIHRv
cCBvZiBtdWx0aWhvbWVkDQogICBlbnZpcm9ubWVudC4gIEluIHBhcnRpY3Vs
YXIsIHRoZSBBUEkgc2hvdWxkIGJlIGJlbmVmaWNpYWwgZm9yDQogICBhcHBs
aWNhdGlvbiBkZXZlbG9wbWVudCBvZiB0aGUgc29mdHdhcmUgd2hpY2ggdGFr
ZXMgYWR2YW50YWdlIG9mDQogICBtdWx0aWhvbWVkIGVudmlyb25tZW50IGFp
bWluZyB0byBhY2hpZXZlIGJldHRlciBmYWlsb3Zlci4NCg0KDQoNCg0KDQoN
Cg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0K
DQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQpUQkQgICAgICAgICAg
ICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgNSwgMjAwNiAgICAgICAgICAg
ICAgICAgW1BhZ2UgNF0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAg
IE11bHRpaG9tZWQgU2hpbSBBUEkgICAgICAgICAgICAgRmVicnVhcnkgMjAw
Ng0KDQoNCjMuICBUZXJtaW5vbG9neQ0KDQogICBUaGlzIGRvY3VtZW50IGRv
ZXMgbm90IGludGVuZCB0byBnaXZlIG5ldyBkZWZpbml0aW9ucyBmb3IgdGVj
aG5pY2FsDQogICB0ZXJtcyB0aGF0IGFyZSByZWxldmFudCB0byBtdWx0aWhv
bWVkIGVudmlyb25tZW50IGJ1dCB0cmllcyB0bw0KICAgaW5oZXJpdCBkZWZp
bml0aW9ucyBwcm92aWRlZCBpbiB0aGUgZXhpc3RpbmcgZG9jdW1lbnRzIGFz
IGxpc3RlZA0KICAgYmVsb3c6DQoNCiAgIG8gIFNISU02IFByb3RvY29sIFNw
ZWNpZmljYXRpb25bSS1ELmlldGYtc2hpbTYtcHJvdG9dDQoNCiAgIG8gIEhJ
UCBBcmNoaXRlY3R1cmVbSS1ELmlldGYtaGlwLWFyY2hdDQoNCiAgIG8gIFJl
YWNoYWJpbGl0eSBQcm90b2NvbCAoUkVBUClbSS1ELmlldGYtc2hpbTYtZmFp
bHVyZS1kZXRlY3Rpb25dDQoNCiAgIEZvciBjbGFyaWZpY2F0aW9uLCB3ZSBw
cm92aWRlIGRlZmluaXRpb24gZm9yIHRoZSB0ZXJtcyB0aGF0IGFyZQ0KICAg
ZnJlcXVlbnRseSB1c2VkIGluIHRoaXMgZG9jdW1lbnQ6DQoNCiAgIG8gIEVu
ZHBvaW50IElkZW50aWZpZXIgKEVJRCkgLSBBbiBpZGVudGlmaWVyIHVzZWQg
YnkgdGhlIGFwcGxpY2F0aW9uDQogICAgICB0byBzcGVjaWZ5IGFuIGVuZHBv
aW50IG9mIHRoZSBjb21tdW5pY2F0aW9uLiAgQXMgYWRkcmVzc2VkIGluDQog
ICAgICBbSS1ELmlldGYtc2hpbTYtYXBwLXJlZmVyXSwgYXBwbGljYXRpb24g
bWF5IGhhbmRsZSBFSUQgaW4gdmFyaW91cw0KICAgICAgd2F5cyBpbiBkaWZm
ZXJlbnQgdHlwZXMgb2YgY29tbXVuaWNhdGlvbiBtb2RlbHMgc3VjaCBhcyBs
b25nLWxpdmVkDQogICAgICBjb25uZWN0aW9uLCBjYWxsYmFjaywgYW5kIHJl
ZmVycmFsLg0KDQogICAgICAqICBJbiBjYXNlIG9mIFNISU02LCB0aGUgRUlE
IGlzIGNhbGxlZCBVTElELiAgVUxJRCBpcyBjaG9zZW4gZnJvbQ0KICAgICAg
ICAgb25lIG9mIGF2YWlsYWJsZSBsb2NhdG9ycyBvbiB0aGUgaG9zdC4NCg0K
ICAgICAgKiAgSW4gY2FzZSBvZiBISVAsIHRoZSBFSUQgaXMgZXNzZW50aWFs
bHkgYSBwdWJsaWMga2V5IG9mIHRoZQ0KICAgICAgICAgaG9zdC4gIEluIG9y
ZGVyIHRvIHByZXNlcnZlIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgb2YgbGVn
YWN5DQogICAgICAgICBhcHBsaWNhdGlvbiwgaGFzaCBvZiBwdWJsaWMga2V5
IGNhbGxlZCBIb3N0IElkZW50aXR5IFRhZyAoSElUKQ0KICAgICAgICAgaXMg
dXNlZCBieSBhcHBsaWNhdGlvbiBhcyBhIGhhbmRsZXIgZm9yIHRoZSBFSUQu
DQoNCiAgIG8gIExvY2F0b3IgLSBBbiBJUCBhZGRyZXNzIGFjdHVhbGx5IHVz
ZWQgdG8gZGVsaXZlciB0aGUgSVAgcGFja2V0Lg0KICAgICAgTG9jYXRvciBz
aG91bGQgYmUgcHJlc2VudCBpbiB0aGUgc291cmNlIGFuZCBkZXN0aW5hdGlv
biBmaWVsZCBvZg0KICAgICAgSVAgaGVhZGVyIG9mIGEgcGFja2V0IHRoYXQg
YXBwZWFycyBvbiB3aXJlLiAgTm9ybWFsbHksIGEgbG9jYXRvcg0KICAgICAg
aXMgYXNzaWduZWQgdG8gdGhlIG5ldHdvcmsgaW50ZXJmYWNlIG9mIHRoZSBo
b3N0LiAgQW5kIHRoZSBJUA0KICAgICAgcGFja2V0IGRlc3RpbmVkIHRvIGEg
Z2l2ZW4gbG9jYXRvciBpcyBkZWxpdmVyZWQgdG8gdGhlDQogICAgICBjb3Jy
ZXNwb25kZW50IG5ldHdvcmsgaW50ZXJmYWNlIGJ5IHRoZSByb3V0aW5nIHN5
c3RlbS4NCg0KICAgbyAgU2hpbSAtIEEgY29uY2VwdHVhbCBsYXllciBpbnNp
ZGUgdGhlIElQIExheWVyIHdoaWNoIG1haW50YWlucw0KICAgICAgbWFwcGlu
Z3Mgb2YgRUlEcyBhbmQgbG9jYXRvcnMuICBBbiBFSUQgY2FuIGJlIGFzc29j
aWF0ZWQgd2l0aCBtb3JlDQogICAgICB0aGFuIG9uZSBsb2NhdG9ycyBhdCBh
IHRpbWUgd2hlbiB0aGUgaG9zdCBpcyBtdWx0aWhvbWVkLiAgRnJvbQ0KICAg
ICAgbmV0d29yayBhcmNoaXRlY3R1cmUgcGVyc3BlY3RpdmUsIHNoaW0gc2hv
dWxkIGJlIGV2ZW4gb3IgbG93ZXINCiAgICAgIHRoYW4gdGhlIElQc2VjIGxh
eWVyLiAgSXQgc2hvdWxkIGJlIG5vdGVkIHRoYXQgdGhlIHRlcm0gJ3NoaW0n
DQogICAgICBkb2VzIG5vdCByZWZlciB0byBzcGVjaWZpYyBwcm90b2NvbCBi
dXQgcmVmZXJzIHRvIGEgZ2VuZXJpYw0KICAgICAgY29uY2VwdCBvZiBhIGxh
eWVyIHRoYXQgZW5hYmxlcyBzZXBhcmF0aW9uIG9mIGlkZW50aWZpZXIgYW5k
DQogICAgICBsb2NhdG9yLiAgU0hJTTYgYW5kIEhJUCBhcmUgZXhhbXBsZXMg
b2YgdGhlIHNoaW0uDQoNCiAgIG8gIENvbnRleHQgLSBBIHN0YXRlIGluZm9y
bWF0aW9uIHRvIGJlIHNoYXJlZCBieSB0aGUgcGVlcnMsIHdoaWNoDQogICAg
ICBlc3NlbnRpYWxseSBzdG9yZXMgYSBiaW5kaW5nIGJldHdlZW4gdGhlIEVJ
RCBhbmQgYXNzb2NpYXRlZA0KDQoNCg0KVEJEICAgICAgICAgICAgICAgICAg
ICAgIEV4cGlyZXMgQXVndXN0IDUsIDIwMDYgICAgICAgICAgICAgICAgIFtQ
YWdlIDVdDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICBNdWx0aWhv
bWVkIFNoaW0gQVBJICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDYNCg0KDQog
ICAgICBsb2NhdG9ycy4gIFRoZSBjb250ZXh0IGlzIG1haW50YWluZWQgYXQg
dGhlIHNoaW0gbGF5ZXIgb2YgdGhlDQogICAgICBob3N0Lg0KDQogICBvICBM
aXN0IG9mIExvY2F0b3JzIC0gQSBsaXN0IG9mIGxvY2F0b3JzIGFzc29jaWF0
ZWQgd2l0aCBhbiBFSUQuDQogICAgICBUaGVyZSBhcmUgdHdvIGxpc3RzIG9m
IGxvY2F0b3JzIHN0b3JlZCBpbiBhIGdpdmVuIGNvbnRleHQsIG9uZSBpcw0K
ICAgICAgYXNzb2NpYXRlZCB3aXRoIGxvY2FsIEVJRCBhbmQgdGhlIG90aGVy
IGlzIGFzc29jaWF0ZWQgd2l0aCByZW1vdGUNCiAgICAgIEVJRC4gIEFzIGRl
ZmluZWQgaW4gW0ktRC5pZXRmLXNoaW02LXByb3RvXSwgbGlzdCBvZiBsb2Nh
dG9ycw0KICAgICAgYXNzb2NpYXRlZCB3aXRoIGFuIEVJRCAnQScgY2FuIGJl
IGRlbm90ZWQgYXMgTHMoQSkuDQoNCiAgIG8gIFByZWZlcnJlZCBMb2NhdG9y
IC0gVGhlIChzb3VyY2UvZGVzdGluYXRpb24pIGxvY2F0b3IgY3VycmVudGx5
DQogICAgICB1c2VkIHRvIHNlbmQgcGFja2V0cy4gIEFzIGRlZmluZWQgaW4g
W0ktRC5pZXRmLXNoaW02LXByb3RvXSwNCiAgICAgIHByZWZlcnJlZCBsb2Nh
dG9yIG9mIGEgaG9zdCB3aG9zZSBFSUQgaXMgJ0EnIGNhbiBiZSBkZW5vdGVk
IGFzDQogICAgICBMcChBKS4NCg0KICAgbyAgUmVhY2hhYmlsaXR5IERldGVj
dGlvbiAtIEEgcHJvY2VkdXJlIHRvIGRldGVjdCByZWFjaGFiaWxpdHkNCiAg
ICAgIGJldHdlZW4gYSBnaXZlbiBsb2NhdG9yIHBhaXIuDQoNCiAgIG8gIFBh
dGggLSBBIHNlcXVlbmNlIG9mIHJvdXRlcnMgdGhhdCBhbiBJUCBwYWNrZXQg
Z29lcyB0aHJvdWdoIHRvDQogICAgICByZWFjaCB0aGUgZGVzdGluYXRpb24u
DQoNCiAgIG8gIFBhdGggRXhwbG9yYXRpb24gLSBBIHByb2NlZHVyZSB0byBl
eHBsb3JlIGF2YWlsYWJsZSBwYXRoIGZvciBhDQogICAgICBnaXZlbiBzZXQg
b2YgbG9jYXRvciBwYWlycy4NCg0KICAgbyAgT3V0YWdlIC0gQW4gaW5jaWRl
bnQgbWVhbmluZyB0aGF0IHRoZSByZWFjaGFiaWxpdHkgYW1vbmcgYSBnaXZl
bg0KICAgICAgbG9jYXRvciBwYWlyIGlzIGxvc3QuICBUaGUgb3V0YWdlIGNv
dWxkIGJlIGNhdXNlZCBieSBhbnkga2luZHMgb2YNCiAgICAgIHByb2JsZW1z
IGluc2lkZSB0aGUgcm91dGluZyBpbmZyYXN0cnVjdHVyZSBhbmQgcHJvYmxl
bXMgb2YgdGhlDQogICAgICBuZXR3b3JrIGludGVyZmFjZSBvZiB0aGUgZW5k
IGhvc3RzLg0KDQogICBvICBXb3JraW5nIEFkZHJlc3MgUGFpciAtIEFuIGFk
ZHJlc3MgcGFpciBpcyBzYWlkIHRvIGJlIHdvcmtpbmcgaWYNCiAgICAgIHRo
ZSBwYWNrZXQgY29udGFpbmluZyB0aGUgZmlyc3QgYWRkcmVzcyBmcm9tIHRo
ZSBwYWlyIGFzIHNvdXJjZQ0KICAgICAgYWRkcmVzcyBhbmQgdGhlIHNlY29u
ZCBhZGRyZXNzIGZyb20gdGhlIHBhaXIgYXMgZGVzdGluYXRpb24NCiAgICAg
IGFkZHJlc3MgY2FuIHNhZmVseSB0cmF2ZWwgZnJvbSB0aGUgc291cmNlIHRv
IHRoZSBkZXN0aW5hdGlvbi4gIElmDQogICAgICB0aGUgcmVhY2hhYmlsaXR5
IGlzIGNvbmZpcm1lZCBpbiBib3RoIGRpcmVjdGlvbnMsIHRoZSBhZGRyZXNz
DQogICAgICBwYWlycyBpcyBzYWlkIHRvIGJlIGJpLWRpcmVjdGlvbmFsLiAg
T3RoZXJ3aXNlLCBpdCdzDQogICAgICB1bmlkaXJlY3Rpb25hbC4NCg0KICAg
byAgUkVBUCAtIEEgcHJvdG9jb2wgZm9yIGRldGVjdGluZyBmYWlsdXJlIGFu
ZCBleHBsb3JpbmcgcmVhY2hhYmlsaXR5DQogICAgICBpbiBtdWx0aWhvbWVk
IGVudmlyb25tZW50LiAgUkVBUCBpcyBkZWZpbmVkIGluW0ktRC5pZXRmLXNo
aW02LQ0KICAgICAgZmFpbHVyZS1kZXRlY3Rpb25dLg0KDQogICBvICBFbmRw
b2ludCBEZXNjcmlwdG9yIChFRCkgLSBUaGUgcmVwcmVzZW50YXRpb24gb2Yg
ZW5kcG9pbnRzIGlzDQogICAgICBoaWRkZW4gZnJvbSB0aGUgYXBwbGljYXRp
b25zLiAgRUQgaXMgYSAiaGFuZGxlIiBvciAicG9pbnRlciIgdG8NCiAgICAg
IHRoZSBhY3R1YWwgRUlELg0KDQoNCg0KDQoNCg0KDQoNClRCRCAgICAgICAg
ICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCA1LCAyMDA2ICAgICAgICAg
ICAgICAgICBbUGFnZSA2XQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAg
ICAgTXVsdGlob21lZCBTaGltIEFQSSAgICAgICAgICAgICBGZWJydWFyeSAy
MDA2DQoNCg0KNC4gIFN5c3RlbSBPdmVydmlldw0KDQoNCiAgICAgICAgICAg
ICAgICAgICAgICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rDQogICAg
ICAgICAgICAgICAgICAgICAgICB8ICAgICAgIEFwcGxpY2F0aW9uICAgICAg
fA0KICAgICAgICAgICAgICAgICAgICAgICAgKy0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLSsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgIF4gICAgICAg
ICAgICAgICAgIF4NCiAgICAgICAgICAgICAgfn5+fn5+fn5+fn5+fnx+U29j
a2V0IEludGVyZmFjZXx+fn5+fn5+fn5+fn5+fg0KICAgICAgICAgICAgICAg
ICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgdg0KICAgICAgICAgICAg
ICAgKy0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LSsNCiAgICAgICAgICAgICAgIHwgICAgICAgICAgIHwgIFRyYW5zcG9ydCBM
YXllciAgICAgICAgICAgICB8DQogICAgICAgICAgICAgICArLS0tLS0tLS0t
LS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0KICAgICAgICAg
ICAgICAgICAgICAgXiAgICAgfA0KICAgICAgICstLS0tLS0tLS0tLS0tfC0t
LS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rDQog
ICAgICAgfCAgICAgICAgICAgICB2ICAgICB2ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHwNCiAgICAgICB8ICAgKy0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tKyAgICAgICArLS0tLS0tLS0tLSsgICAgfCAg
SVANCiAgICAgICB8ICAgfCAgICAgICAgICAgIFNoaW0gICAgICAgICAgICAg
fDwtLS0tLT58ICAgUkVBUCAgIHwgICAgfCBMYXllcg0KICAgICAgIHwgICAr
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rICAgICAgICstLS0tLS0t
LS0tKyAgICB8DQogICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgXiAg
ICAgICAgICAgICAgICAgICAgICBeICAgICAgICAgIHwNCiAgICAgICArLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwt
LS0tLS0tLS0tKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHYg
ICAgICAgICAgICAgICAgICAgICAgdg0KICAgICAgICAgICAgICAgKy0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsNCiAgICAg
ICAgICAgICAgIHwgICAgICAgICAgICAgICAgTGluayBMYXllciAgICAgICAg
ICAgICAgICB8DQogICAgICAgICAgICAgICArLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0KDQoNCiAgIEZpZ3VyZSAxOiBT
eXN0ZW0gT3ZlcnZpZXcNCg0KICAgRmlndXJlIDEgaWxsdXN0cmF0ZXMgdGhl
IHN5c3RlbSBvdmVydmlldy4gIFRoZSBhcHBsaWNhdGlvbiBjYW4gdGFrZQ0K
ICAgYWR2YW50YWdlIG9mIHRoZSBzb2NrZXQgQVBJIHRvIGludGVyYWN0IHdp
dGggdGhlIHNoaW0gbGF5ZXIgYW5kDQogICB0cmFuc3BvcnQgbGF5ZXIgZm9y
IGJldHRlciBjb250cm9sIG9mIGxvY2F0b3IgbWFuYWdlbWVudCBhbmQgZmFp
bHVyZQ0KICAgZGV0ZWN0aW9uIGFuZCBwYXRoIGV4cGxvcmF0aW9uLg0KDQog
ICBJbnNpZGUgdGhlIElQIGxheWVyLCB0aGVyZSBpcyBhIHNoaW0gd2hpY2gg
Y2xvc2VseSBpbnRlcmFjdHMgd2l0aA0KICAgUkVBUCBjb21wb25lbnQuICBU
aGVyZSBjb3VsZCBiZSBpbnRlcmFjdGlvbnMgYmV0d2VlbiB0aGUgc2hpbSBh
bmQNCiAgIHRyYW5zcG9ydCBsYXllciwgaG93ZXZlciB0aGV5IGFyZSBvdXRz
aWRlIG9mIHNjb3BlIG9mIHRoaXMgZG9jdW1lbnQuDQoNCg0KDQoNCg0KDQoN
Cg0KDQoNCg0KDQoNCg0KDQpUQkQgICAgICAgICAgICAgICAgICAgICAgRXhw
aXJlcyBBdWd1c3QgNSwgMjAwNiAgICAgICAgICAgICAgICAgW1BhZ2UgN10N
CgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgIE11bHRpaG9tZWQgU2hp
bSBBUEkgICAgICAgICAgICAgRmVicnVhcnkgMjAwNg0KDQoNCjUuICBSZXF1
aXJlbWVudHMNCg0KICAgRm9sbG93aW5nIGlzIGEgbGlzdCBvZiByZXF1aXJl
bWVudHMgZnJvbSB0aGUgYXBwbGljYXRpb24gcGVyc3BlY3RpdmUuDQogICBU
aGVzZSByZXF1aXJlbWVudHMgYXJlIG1haW5seSBpZGVudGlmaWVkIGR1cmlu
ZyB0aGUgZGlzY3Vzc2lvbnMgb24NCiAgIFNISU02IFdHIG1haWxpbmcgbGlz
dC4gIFNvbWUgcmVxdWlyZW1lbnRzIGFyZSBkZXJpdmVkIGZyb20NCiAgIFJl
YWNoYWJpbGl0eSBQcm90b2NvbCBkb2N1bWVudFtJLUQuaWV0Zi1zaGltNi1m
YWlsdXJlLWRldGVjdGlvbl0uDQoNCiAgIG8gIExvY2F0b3IgbWFuYWdlbWVu
dC4gIExvY2F0b3IgbWFuYWdlbWVudCBpcyByb2xlIG9mIHRoZSBzaGltIGxh
eWVyDQogICAgICB0byBzZWxlY3QgYSBwYWlyIG9mIGxvY2F0b3JzIGZvciBz
ZW5kaW5nIElQIHBhY2tldHMgd2l0aGluIGEgZ2l2ZW4NCiAgICAgIGNvbnRl
eHQuICBUaGUgc2VsZWN0aW9uIGlzIG1hZGUgYnkgdGFraW5nIG1pc2NlbGxh
bmVvdXMgY29uZGl0aW9ucw0KICAgICAgaW50byBhY2NvdW50IHN1Y2ggYXMg
cmVhY2hhYmlsaXR5IG9mIHRoZSBwYXRoLCBhcHBsaWNhdGlvbidzDQogICAg
ICBwcmVmZXJlbmNlLCBhbmQgY2hhcmFjdGVyaXN0aWNzIG9mIHBhdGguICBG
cm9tIGFwcGxpY2F0aW9uJ3MNCiAgICAgIHBlcnNwZWN0aXZlOg0KDQogICAg
ICAqICBJdCBzaG91bGQgYmUgcG9zc2libGUgdG8gb2J0YWluIGxpc3Qgb2Yg
bG9jYXRvcnMgb2YgdGhlIGhvc3QNCiAgICAgICAgIHdpdGhpbiBhIGdpdmVu
IGNvbnRleHQuICBMcyhsb2NhbCkgYW5kIExzKHJlbW90ZSkuDQoNCiAgICAg
ICogIEl0IHNob3VsZCBiZSBwb3NzaWJsZSB0byBvYnRhaW4gcHJlZmVycmVk
IGxvY2F0b3Igb2YgdGhlIG5vZGUNCiAgICAgICAgIHdpdGhpbiBhIGdpdmVu
IGNvbnRleHQuICBMcChsb2NhbCkgYW5kIExwKHJlbW90ZSkuDQoNCiAgIG8g
IE5vdGlmaWNhdGlvbiBmcm9tIGFwcGxpY2F0aW9uIHRvIHRoZSBzaGltIGxh
eWVyIGFib3V0IHRoZSBzdGF0dXMNCiAgICAgIG9mIHRoZSBjb21tdW5pY2F0
aW9uLiAgTm90ZSB0aGF0IHRoZSBub3RpZmljYXRpb24gaXMgbWFkZSBpbiBh
bg0KICAgICAgZXZlbnQgYmFzZWQgbWFubmVyLiAgVGhlcmUgYXJlIG1haW5s
eSB0d28gYXNwZWN0cyBvZiB0aGUgZmVlZGJhY2sNCiAgICAgIHRoYXQgYXBw
bGljYXRpb24gb3IgdXBwZXIgbGF5ZXIgcHJvdG9jb2wgbWF5IHByb3ZpZGUg
Zm9yIHRoZSBzaGltDQogICAgICBsYXllciwgcG9zaXRpdmUgYW5kIG5lZ2F0
aXZlIGZlZWRiYWNrcyBbTk9URTogVGhlc2UgZmVlZGJhY2tzIGFyZQ0KICAg
ICAgYWRkcmVzc2VkIGluIHNlY3Rpb24gNC4zIGFuZCBzZWN0aW9uIDUuMiBv
ZiBSRUFQIHNwZWNpZmljYXRpb25dOg0KDQogICAgICAqICBQb3NpdGl2ZSBm
ZWVkYmFjayBjb3VsZCBiZSBnaXZlbiBieSB0aGUgYXBwbGljYXRpb24gb3Ig
dXBwZXINCiAgICAgICAgIGxheWVyIHByb3RvY29sIChlLmcuICBUQ1ApIHRv
IHRoZSBzaGltIGxheWVyIGluZm9ybWluZyB0aGF0IGl0cw0KICAgICAgICAg
Y29tbXVuaWNhdGlvbiBpcyBnb2luZyB3ZWxsLg0KDQogICAgICAqICBOZWdh
dGl2ZSBmZWVkYmFjayBjb3VsZCBiZSBnaXZlbiBieSB0aGUgYXBwbGljYXRp
b24gb3IgdXBwZXINCiAgICAgICAgIGxheWVyIHByb3RvY29sIChlLmcuICBU
Q1ApIHRvIHRoZSBzaGltIGxheWVyIGluZm9ybWluZyB0aGF0IGl0cw0KICAg
ICAgICAgY29tbXVuaWNhdGlvbiBzdGF0dXMgaXMgbm90IHNhdGlzZmFjdG9y
eS4gIFRDUCBjb3VsZCBkZXRlY3QgYQ0KICAgICAgICAgcHJvYmxlbSB3aGVu
IGl0IGRvZXMgbm90IHJlY2VpdmVzIGV4cGVjdGVkIEFDSyBmcm9tIHRoZSBw
ZWVyLg0KICAgICAgICAgSUNNUCBlcnJvciBtZXNzYWdlcyBkZWxpdmVyZWQg
dG8gdGhlIHVwcGVyIGxheWVyIHByb3RvY29sIGNvdWxkDQogICAgICAgICBi
ZSBhIGNsdWUgZm9yIGFwcGxpY2F0aW9uIHRvIGRldGVjdCBhbnkga2luZCBv
ZiBwcm9ibGVtLiAgUkVBUA0KICAgICAgICAgbW9kdWxlIG1heSBiZSB0cmln
Z2VyZWQgYnkgdGhlc2UgbmVnYXRpdmUgZmVlZGJhY2tzIGFuZCBpbnZva2UN
CiAgICAgICAgIHByb2NlZHVyZSBvZiBwYXRoIGV4cGxvcmF0aW9uLg0KDQog
ICBvICBGZWVkYmFjayBmcm9tIGFwcGxpY2F0aW9uIHRvIHNoaW0gbGF5ZXIu
ICBUaGUgYXBwbGljYXRpb24gc2hvdWxkDQogICAgICBiZSBhYmxlIHRvIGlu
Zm9ybSB0aGUgc2hpbSBsYXllciBhYm91dCB0aGUgdGltZW91dCB2YWx1ZXMg
Zm9yDQogICAgICBkZXRlY3RpbmcgZmFpbHVyZSwgZm9yIHNlbmRpbmcga2Vl
cGFsaXZlcywgZm9yIHN0YXJ0aW5nIHRoZQ0KICAgICAgZXhwbG9yYXRpb24g
cHJvY2VkdXJlLiAgSW4gcGFydGljdWxhciwgdGhlIGFwcGxpY2F0aW9uIHNo
b3VsZCBiZQ0KICAgICAgYWJsZSB0byBzdXBwcmVzcyB0aGUga2VlcGFsaXZl
cy4NCg0KICAgbyAgSG90LXN0YW5kYnkuICBUaGUgYXBwbGljYXRpb24gbWF5
IHJlcXVlc3QgdGhlIHNoaW0gbGF5ZXIgaWYgaG90LQ0KICAgICAgc3RhbmRi
eSBjb25uZWN0aW9uIGlzIG5lZWRlZC4gIEluIHRoaXMgY2FzZSwgYWx0ZXJu
YXRpdmUgcGF0aHMgYXJlDQoNCg0KDQpUQkQgICAgICAgICAgICAgICAgICAg
ICAgRXhwaXJlcyBBdWd1c3QgNSwgMjAwNiAgICAgICAgICAgICAgICAgW1Bh
Z2UgOF0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgIE11bHRpaG9t
ZWQgU2hpbSBBUEkgICAgICAgICAgICAgRmVicnVhcnkgMjAwNg0KDQoNCiAg
ICAgIGtub3duIHRvIGJlIHdvcmtpbmcuICBIZW5jZSBpdCBpcyBwb3NzaWJs
ZSBmb3IgdGhlIGhvc3QgdG8NCiAgICAgIGltbWVkaWF0ZWx5IHJlcGxhY2Ug
dGhlIGN1cnJlbnQgbG9jYXRvciBwYWlyIHdpdGggdGhlIGFsdGVybmF0aXZl
DQogICAgICBsb2NhdG9yIHBhaXIuICBIb3Qtc3RhbmRieSBtYXkgYWxsb3cg
YXBwbGljYXRpb24gdG8gYWNoaWV2ZSBiZXR0ZXINCiAgICAgIGZhaWxvdmVy
Lg0KDQogICBvICBFYWdlcm5lc3Mgb2YgbG9jYXRvciBleHBsb3JhdGlvbi4g
IFRoZSBhcHBsaWNhdGlvbiBzaG91bGQgYmUgYWJsZQ0KICAgICAgdG8gaW5m
b3JtIHRoZSBzaGltIGxheWVyIGhvdyBwcm9hY3RpdmUgaXQgd2FudHMgUkVB
UCBtZWNoYW5pc20gdG8NCiAgICAgIHBlcmZvcm0gcGF0aCBleHBsb3JhdGlv
biAoZS5nLiBzcGVjaWZ5aW5nIHRoZSBudW1iZXIgb2YgY29uY3VycmVudA0K
ICAgICAgYXR0ZW1wdHMgb2YgZGlzY292ZXJpbmcgd29ya2luZyBsb2NhdG9y
IHBhaXIpIHdoZW4gYW4gb3V0YWdlDQogICAgICBvY2N1cnMgb24gdGhlIHBh
dGggYmV0d2VlbiB0aGUgY3VycmVudGx5IHNlbGVjdGVkIGxvY2F0b3IgcGFp
ci4NCg0KICAgbyAgUHJvdmlkaW5nIGxvY2F0b3IgaW5mb3JtYXRpb24gdG8g
YXBwbGljYXRpb24uICBUaGUgYXBwbGljYXRpb24NCiAgICAgIHNob3VsZCBi
ZSBhYmxlIHRvIG9idGFpbiBpbmZvcm1hdGlvbiBhYm91dCB0aGUgbG9jYXRv
ciBwYWlyIHdoaWNoDQogICAgICB3YXMgYWN0dWFsbHkgdXNlZCB0byBzZW5k
IG9yIHJlY2VpdmUgdGhlIHBhY2tldC4NCg0KICAgICAgKiAgRm9yIGluYm91
bmQgdHJhZmZpYywgdGhlIGFwcGxpY2F0aW9uIG1heSBiZSBpbnRlcmVzdGVk
IGluIHRoZQ0KICAgICAgICAgbG9jYXRvciBwYWlyIHdoaWNoIHdhcyBhY3R1
YWxseSB1c2VkIHRvIHJlY2VpdmUgdGhlIHBhY2tldC4NCg0KICAgICAgKiAg
Rm9yIG91dGJvdW5kIHRyYWZmaWMsIHRoZSBhcHBsaWNhdGlvbiBtYXkgYmUg
aW50ZXJlc3RlZCBpbiB0aGUNCiAgICAgICAgIGxvY2F0b3IgcGFpciB3aGlj
aCB3YXMgYWN0dWFsbHkgdXNlZCB0byB0cmFuc21pdCB0aGUgcGFja2V0Lg0K
DQogICAgICBJbiB0aGlzIHdheSwgdGhlIGFwcGxpY2F0aW9uIG1heSBoYXZl
IGFkZGl0aW9uYWwgY29udHJvbCBvbg0KICAgICAgbG9jYXRvciBtYW5hZ2Vt
ZW50LiAgRm9yIGV4YW1wbGUsIHRoZSBhcHBsaWNhdGlvbiBjYW4gdmVyaWZ5
IGlmDQogICAgICBpdHMgcHJlZmVyZW5jZSBvZiBsb2NhdG9yIGlzIGFjdHVh
bGx5IGFwcGxpZWQgdG8gdGhlIGZsb3cgb3Igbm90Lg0KDQogICBvICBUaGUg
YXBwbGljYXRpb24gc2hvdWxkIGJlIGFibGUgdG8gc3BlY2lmeSBpZiBpdCB3
YW50cyB0byBkZWZlciB0aGUNCiAgICAgIGNvbnRleHQgc2V0dXAgb3IgaXQg
d2FudHMgY29udGV4dCBlc3RhYmxpc2htZW50IHRvIGJlIHN0YXJ0ZWQNCiAg
ICAgIGltbWVkaWF0ZWx5IGlmIHRoZXJlIGlzIG5vIGF2YWlsYWJsZSBjb250
ZXh0LiAgSW4gc3VjaCB3YXksDQogICAgICBhcHBsaWNhdGlvbiBjYW4gJ3Vw
Z3JhZGUnIHRoZSBjb25uZWN0aW9uIHByb3ZpZGluZyBpbiBhIHNlbnNlIHRo
YXQNCiAgICAgIGlkZW50aWZpZXIgYW5kIGxvY2F0b3IgYXJlIG1hbmFnZWQg
c2VwYXJhdGVseS4NCg0KICAgbyAgVHVybiBvbi9vZmYgc2hpbS4gIFRoZSBh
cHBsaWNhdGlvbiBzaG91bGQgYmUgYWJsZSB0byByZXF1ZXN0IHRvDQogICAg
ICB0dXJuIG9uL29mZiB0aGUgbXVsdGlob21lIHN1cHBvcnQgYnkgdGhlIHNo
aW0gbGF5ZXI6DQoNCiAgICAgICogIEFwcGx5IHNoaW0uICBUaGUgYXBwbGlj
YXRpb24gc2hvdWxkIGJlIGFibGUgdG8gZXhwbGljaXRseQ0KICAgICAgICAg
cmVxdWVzdCB0aGUgc2hpbSBsYXllciB0byBhcHBseSBtdWx0aWhvbWUgc3Vw
cG9ydC4NCg0KICAgICAgKiAgRG9uJ3QgYXBwbHkgc2hpbS4gIFRoZSBhcHBs
aWNhdGlvbiBzaG91bGQgYmUgYWJsZSB0byByZXF1ZXN0DQogICAgICAgICB0
aGUgc2hpbSBsYXllciBub3QgdG8gYXBwbHkgdGhlIG11bHRpaG9tZSBzdXBw
b3J0IGJ1dCB0byBhcHBseQ0KICAgICAgICAgbm9ybWFsIElQIHByb2Nlc3Np
bmcgYXQgdGhlIElQIGxheWVyLg0KDQogICBvICBUaGUgYXBwbGljYXRpb24g
c2hvdWxkIGJlIGFibGUgdG8ga25vdyBpZiBpdHMgY29tbXVuaWNhdGlvbiBp
cyBub3cNCiAgICAgIHNlcnZlZCBieSB0aGUgc2hpbSBsYXllciBvciBub3Qu
DQoNCiAgIG8gIFRoZSBhcHBsaWNhdGlvbiBzaG91bGQgYmUgYWJsZSB0byBh
Y2Nlc3MgbG9jYXRvciBpbmZvcm1hdGlvbg0KICAgICAgcmVnYXJkbGVzcyBv
ZiBpdHMgYWRkcmVzcyBmYW1pbHkuICBJbiBvdGhlciB3b3Jkcywgbm8gbWF0
dGVyIHRoZQ0KICAgICAgdGFyZ2V0IGxvY2F0b3IgaXMgSVB2NCBvciBJUHY2
LCB0aGUgYXBwbGljYXRpb24gc2hvdWxkIGJlIGFibGUgdG8NCiAgICAgIHVz
ZSBjb21tb24gaW50ZXJmYWNlIHRvIGFjY2VzcyB0aGUgbG9jYXRvciBpbmZv
cm1hdGlvbi4NCg0KDQoNClRCRCAgICAgICAgICAgICAgICAgICAgICBFeHBp
cmVzIEF1Z3VzdCA1LCAyMDA2ICAgICAgICAgICAgICAgICBbUGFnZSA5XQ0K
DA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgTXVsdGlob21lZCBTaGlt
IEFQSSAgICAgICAgICAgICBGZWJydWFyeSAyMDA2DQoNCg0KNi4gIFNvY2tl
dCBPcHRpb25zIGZvciBNdWx0aWhvbWVkIFNoaW0gTGF5ZXINCg0KICAgSW4g
dGhpcyBzZWN0aW9uLCBzb2NrZXQgb3B0aW9ucyBuZXdseSBkZWZpbmVkIGZv
ciBhcHBsaWNhdGlvbiB0bw0KICAgaW50ZXJmYWNlIHNoaW0gbGF5ZXIgYXJl
IHByZXNlbnRlZC4gIFRoZXNlIG9wdGlvbnMgY2FuIGJlIHVzZWQgZWl0aGVy
DQogICBieSBnZXRzb2Nrb3B0KCkvc2V0c29ja29wdCgpIHN5c3RlbSBjYWxs
cyBmb3IgYW4gb3BlbmVkIHNvY2tldCBvciBieQ0KICAgYmVpbmcgc3BlY2lm
aWVkIGluIGFuY2lsbGFyeSBkYXRhIG9mIHJlY3Ztc2coKS8gc2VuZG1zZygp
IEkvTyBjYWxscw0KICAgYXMgZGVmaW5lZCBpbiBbUkZDMzU0Ml0uDQoNCiAg
IFRhYmxlIDEgcHJvdmlkZXMgY29tcGxldGUgbGlzdCBvZiB0aGUgc29ja2V0
IG9wdGlvbnMgc3BlY2lmaWNhbGx5DQogICBkZWZpbmVkIGZvciBpbnRlcmZh
Y2Ugc2hpbSBsYXllci4gIE5vdGUgdGhhdCBhbGwgc29ja2V0IG9wdGlvbnMg
YXJlDQogICBkZWZpbmVkIGF0IGxldmVsIFNPTF9TSElNLg0KDQogICBUaGUg
Zmlyc3QgY29sdW1uIG9mIHRoZSB0YWJsZSBnaXZlcyBuYW1lIG9mIHRoZSBv
cHRpb24uICBUaGUgc2Vjb25kDQogICBhbmQgdGhpcmQgY29sdW1ucyBpbmRp
Y2F0ZXMgd2hldGhlciBpZiB0aGUgb3B0aW9uIGlzIGZvciByZXRyaWV2aW5n
DQogICB0aGUgZGF0ZSBmcm9tIHRoZSBrZXJuZWwgb3IgcHJvdmlkaW5nIGRh
dGEgdG8gdGhlIGtlcm5lbCAob3IgYm90aCkuDQogICBUaGUgZmlmdGggY29s
dW1uIGluZGljYXRlcyBpZiB0aGUgb3B0aW9uIGRlYWxzIHdpdGggYmluYXJ5
IGRhdGEgb3INCiAgIG5vdC4gIElmIHRoZSBmbGFnIGlzIG5vdCBzZXQsIHNw
ZWNpZmljIGRhdGEgc3RydWN0dXJlIChvdGhlciB0aGFuDQogICBpbnQpIHNo
b3VsZCBiZSB1c2VkIGZvciBkYXRhIGV4Y2hhbmdlLiAgVGhlIGRhdGEgc3Ry
dWN0dXJlIGlzDQogICBwcm92aWRlZCBpbiB0aGUgc2l4dGggY29sdW1uLg0K
DQogICAgICAgICAgICAgVGFibGUgMTogU29ja2V0IE9wdGlvbnMgZm9yIE11
bHRpaG9tZWQgU2hpbSBMYXllcg0KDQogICArLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLSstLS0tLSstLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLSstLS0t
LS0tLSsNCiAgIHwgb3B0bmFtZSAgICAgICAgICAgICAgfCBnZXQgfCBzZXQg
fCBkZXNjcmlwdGlvbiAgICB8IGZsYWcgfCBkdHlwZSAgfA0KICAgKy0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0rLS0tLS0rLS0tLS0tLS0tLS0tLS0t
LSstLS0tLS0rLS0tLS0tLS0rDQogICB8IFNISU1fQVBQTFkgICAgICAgICAg
IHwgbyAgIHwgbyAgIHwgV2hlbiB0aGUgICAgICAgfCBvICAgIHwgaW50ICAg
IHwNCiAgIHwgICAgICAgICAgICAgICAgICAgICAgfCAgICAgfCAgICAgfCBv
cHRpb24gaXMgc2V0ICB8ICAgICAgfCAgICAgICAgfA0KICAgfCAgICAgICAg
ICAgICAgICAgICAgICB8ICAgICB8ICAgICB8IGJ5ICAgICAgICAgICAgIHwg
ICAgICB8ICAgICAgICB8DQogICB8ICAgICAgICAgICAgICAgICAgICAgIHwg
ICAgIHwgICAgIHwgc2V0c29ja29wdCgpLCAgfCAgICAgIHwgICAgICAgIHwN
CiAgIHwgICAgICAgICAgICAgICAgICAgICAgfCAgICAgfCAgICAgfCB0aGUg
ICAgICAgICAgICB8ICAgICAgfCAgICAgICAgfA0KICAgfCAgICAgICAgICAg
ICAgICAgICAgICB8ICAgICB8ICAgICB8IGFwcGxpY2F0aW9uICAgIHwgICAg
ICB8ICAgICAgICB8DQogICB8ICAgICAgICAgICAgICAgICAgICAgIHwgICAg
IHwgICAgIHwgZXhwbGljaXRseSAgICAgfCAgICAgIHwgICAgICAgIHwNCiAg
IHwgICAgICAgICAgICAgICAgICAgICAgfCAgICAgfCAgICAgfCByZXF1ZXN0
cyB0aGUgICB8ICAgICAgfCAgICAgICAgfA0KICAgfCAgICAgICAgICAgICAg
ICAgICAgICB8ICAgICB8ICAgICB8IHNoaW0gbGF5ZXIgZm9yIHwgICAgICB8
ICAgICAgICB8DQogICB8ICAgICAgICAgICAgICAgICAgICAgIHwgICAgIHwg
ICAgIHwgc2VydmluZyAgICAgICAgfCAgICAgIHwgICAgICAgIHwNCiAgIHwg
ICAgICAgICAgICAgICAgICAgICAgfCAgICAgfCAgICAgfCBtdWx0aWhvbWUg
ICAgICB8ICAgICAgfCAgICAgICAgfA0KICAgfCAgICAgICAgICAgICAgICAg
ICAgICB8ICAgICB8ICAgICB8IHN1cHBvcnQuIFdoZW4gIHwgICAgICB8ICAg
ICAgICB8DQogICB8ICAgICAgICAgICAgICAgICAgICAgIHwgICAgIHwgICAg
IHwgc2V0IGJ5ICAgICAgICAgfCAgICAgIHwgICAgICAgIHwNCiAgIHwgICAg
ICAgICAgICAgICAgICAgICAgfCAgICAgfCAgICAgfCBnZXRzb2Nrb3B0KCks
ICB8ICAgICAgfCAgICAgICAgfA0KICAgfCAgICAgICAgICAgICAgICAgICAg
ICB8ICAgICB8ICAgICB8IHJlY2VpdmVzIGlmICAgIHwgICAgICB8ICAgICAg
ICB8DQogICB8ICAgICAgICAgICAgICAgICAgICAgIHwgICAgIHwgICAgIHwg
dGhlIHNvY2tldCBpcyAgfCAgICAgIHwgICAgICAgIHwNCiAgIHwgICAgICAg
ICAgICAgICAgICAgICAgfCAgICAgfCAgICAgfCBhc3NvY2lhdGVkICAgICB8
ICAgICAgfCAgICAgICAgfA0KICAgfCAgICAgICAgICAgICAgICAgICAgICB8
ICAgICB8ICAgICB8IHdpdGggYW55IHNoaW0gIHwgICAgICB8ICAgICAgICB8
DQogICB8ICAgICAgICAgICAgICAgICAgICAgIHwgICAgIHwgICAgIHwgY29u
dGV4dCBvciAgICAgfCAgICAgIHwgICAgICAgIHwNCiAgIHwgICAgICAgICAg
ICAgICAgICAgICAgfCAgICAgfCAgICAgfCBub3QuICAgICAgICAgICB8ICAg
ICAgfCAgICAgICAgfA0KICAgfCAgICAgICAgICAgICAgICAgICAgICB8ICAg
ICB8ICAgICB8ICAgICAgICAgICAgICAgIHwgICAgICB8ICAgICAgICB8DQoN
Cg0KDQoNCg0KVEJEICAgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVn
dXN0IDUsIDIwMDYgICAgICAgICAgICAgICAgW1BhZ2UgMTBdDQoMDQpJbnRl
cm5ldC1EcmFmdCAgICAgICAgICAgICBNdWx0aWhvbWVkIFNoaW0gQVBJICAg
ICAgICAgICAgIEZlYnJ1YXJ5IDIwMDYNCg0KDQogICB8IFNISU1fRE9OVFNI
SU0gICAgICAgIHwgICAgIHwgbyAgIHwgUmVxdWVzdCBub3QgdG8gfCBvICAg
IHwgaW50ICAgIHwNCiAgIHwgICAgICAgICAgICAgICAgICAgICAgfCAgICAg
fCAgICAgfCBhcHBseSBhbnkgc2hpbSB8ICAgICAgfCAgICAgICAgfA0KICAg
fCAgICAgICAgICAgICAgICAgICAgICB8ICAgICB8ICAgICB8IHN1cHBvcnQg
Zm9yICAgIHwgICAgICB8ICAgICAgICB8DQogICB8ICAgICAgICAgICAgICAg
ICAgICAgIHwgICAgIHwgICAgIHwgdGhpcyAgICAgICAgICAgfCAgICAgIHwg
ICAgICAgIHwNCiAgIHwgICAgICAgICAgICAgICAgICAgICAgfCAgICAgfCAg
ICAgfCBjb21tdW5pY2F0aW9uLiB8ICAgICAgfCAgICAgICAgfA0KICAgfCAg
ICAgICAgICAgICAgICAgICAgICB8ICAgICB8ICAgICB8ICAgICAgICAgICAg
ICAgIHwgICAgICB8ICAgICAgICB8DQogICB8IFNISU1fU1RBTkRCWSAgICAg
ICAgIHwgICAgIHwgbyAgIHwgV2hlbiBzZXQsIHRoZSAgfCBvICAgIHwgaW50
ICAgIHwNCiAgIHwgICAgICAgICAgICAgICAgICAgICAgfCAgICAgfCAgICAg
fCBhcHBsaWNhdGlvbiAgICB8ICAgICAgfCAgICAgICAgfA0KICAgfCAgICAg
ICAgICAgICAgICAgICAgICB8ICAgICB8ICAgICB8IHJlcXVlc3RzIHRoZSAg
IHwgICAgICB8ICAgICAgICB8DQogICB8ICAgICAgICAgICAgICAgICAgICAg
IHwgICAgIHwgICAgIHwgc2hpbSBsYXllciB0byAgfCAgICAgIHwgICAgICAg
IHwNCiAgIHwgICAgICAgICAgICAgICAgICAgICAgfCAgICAgfCAgICAgfCBw
cmVwYXJlICAgICAgICB8ICAgICAgfCAgICAgICAgfA0KICAgfCAgICAgICAg
ICAgICAgICAgICAgICB8ICAgICB8ICAgICB8IGhvdC1zdGFuZGJ5ICAgIHwg
ICAgICB8ICAgICAgICB8DQogICB8ICAgICAgICAgICAgICAgICAgICAgIHwg
ICAgIHwgICAgIHwgY29ubmVjdGlvbiAgICAgfCAgICAgIHwgICAgICAgIHwN
CiAgIHwgICAgICAgICAgICAgICAgICAgICAgfCAgICAgfCAgICAgfCBiZXNp
ZGVzIHRoZSAgICB8ICAgICAgfCAgICAgICAgfA0KICAgfCAgICAgICAgICAg
ICAgICAgICAgICB8ICAgICB8ICAgICB8IGN1cnJlbnQgICAgICAgIHwgICAg
ICB8ICAgICAgICB8DQogICB8ICAgICAgICAgICAgICAgICAgICAgIHwgICAg
IHwgICAgIHwgbG9jYXRvciBwYWlyLiAgfCAgICAgIHwgICAgICAgIHwNCiAg
IHwgICAgICAgICAgICAgICAgICAgICAgfCAgICAgfCAgICAgfCAgICAgICAg
ICAgICAgICB8ICAgICAgfCAgICAgICAgfA0KICAgfCBTSElNX1BBVEhFWFBM
T1JFICAgICB8ICAgICB8IG8gICB8IFdoZW4gc2V0LCB0aGUgIHwgbyAgICB8
IGludCAgICB8DQogICB8ICAgICAgICAgICAgICAgICAgICAgIHwgICAgIHwg
ICAgIHwgYXBwbGljYXRpb24gICAgfCAgICAgIHwgICAgICAgIHwNCiAgIHwg
ICAgICAgICAgICAgICAgICAgICAgfCAgICAgfCAgICAgfCBzcGVjaWZpZXMg
aG93ICB8ICAgICAgfCAgICAgICAgfA0KICAgfCAgICAgICAgICAgICAgICAg
ICAgICB8ICAgICB8ICAgICB8IG1hbnkgcGF0aCAgICAgIHwgICAgICB8ICAg
ICAgICB8DQogICB8ICAgICAgICAgICAgICAgICAgICAgIHwgICAgIHwgICAg
IHwgZXhwbG9yYXRpb25zICAgfCAgICAgIHwgICAgICAgIHwNCiAgIHwgICAg
ICAgICAgICAgICAgICAgICAgfCAgICAgfCAgICAgfCBhcmUgcmVxdWlyZWQg
ICB8ICAgICAgfCAgICAgICAgfA0KICAgfCAgICAgICAgICAgICAgICAgICAg
ICB8ICAgICB8ICAgICB8IGZvciB0aGlzICAgICAgIHwgICAgICB8ICAgICAg
ICB8DQogICB8ICAgICAgICAgICAgICAgICAgICAgIHwgICAgIHwgICAgIHwg
Y29tbXVuaWNhdGlvbi4gfCAgICAgIHwgICAgICAgIHwNCiAgIHwgICAgICAg
ICAgICAgICAgICAgICAgfCAgICAgfCAgICAgfCAgICAgICAgICAgICAgICB8
ICAgICAgfCAgICAgICAgfA0KICAgfCBTSElNX0xPQ1BBSVJfUFJFRiAgICB8
IG8gICB8IG8gICB8IGdldCBvciBzZXQgICAgIHwgICAgICB8IGxjaW5mbyB8
DQogICB8ICAgICAgICAgICAgICAgICAgICAgIHwgICAgIHwgICAgIHwgcHJl
ZmVycmVkICAgICAgfCAgICAgIHwgICAgICAgIHwNCiAgIHwgICAgICAgICAg
ICAgICAgICAgICAgfCAgICAgfCAgICAgfCBsb2NhdG9yIHBhaXIgICB8ICAg
ICAgfCAgICAgICAgfA0KICAgfCAgICAgICAgICAgICAgICAgICAgICB8ICAg
ICB8ICAgICB8IG9mIHRoZSBzaGltICAgIHwgICAgICB8ICAgICAgICB8DQog
ICB8ICAgICAgICAgICAgICAgICAgICAgIHwgICAgIHwgICAgIHwgY29udGV4
dCAgICAgICAgfCAgICAgIHwgICAgICAgIHwNCiAgIHwgICAgICAgICAgICAg
ICAgICAgICAgfCAgICAgfCAgICAgfCBhc3NvY2lhdGVkICAgICB8ICAgICAg
fCAgICAgICAgfA0KICAgfCAgICAgICAgICAgICAgICAgICAgICB8ICAgICB8
ICAgICB8IHdpdGggdGhlICAgICAgIHwgICAgICB8ICAgICAgICB8DQogICB8
ICAgICAgICAgICAgICAgICAgICAgIHwgICAgIHwgICAgIHwgc29ja2V0LiAg
ICAgICAgfCAgICAgIHwgICAgICAgIHwNCiAgIHwgICAgICAgICAgICAgICAg
ICAgICAgfCAgICAgfCAgICAgfCAgICAgICAgICAgICAgICB8ICAgICAgfCAg
ICAgICAgfA0KICAgfCBTSElNX0xPQ1BBSVJfUkVDViAgICB8IG8gICB8ICAg
ICB8IGdldCB0aGUgICAgICAgIHwgICAgICB8IGxjaW5mbyB8DQogICB8ICAg
ICAgICAgICAgICAgICAgICAgIHwgICAgIHwgICAgIHwgbG9jYXRvciBwYWly
ICAgfCAgICAgIHwgICAgICAgIHwNCiAgIHwgICAgICAgICAgICAgICAgICAg
ICAgfCAgICAgfCAgICAgfCBvZiB0aGUgbGFzdCBJUCB8ICAgICAgfCAgICAg
ICAgfA0KICAgfCAgICAgICAgICAgICAgICAgICAgICB8ICAgICB8ICAgICB8
IHBhY2tldCB3aGljaCAgIHwgICAgICB8ICAgICAgICB8DQogICB8ICAgICAg
ICAgICAgICAgICAgICAgIHwgICAgIHwgICAgIHwgd2FzIHJlY2VpdmVkICAg
fCAgICAgIHwgICAgICAgIHwNCiAgIHwgICAgICAgICAgICAgICAgICAgICAg
fCAgICAgfCAgICAgfCB0aHJvdWdoIHRoZSAgICB8ICAgICAgfCAgICAgICAg
fA0KICAgfCAgICAgICAgICAgICAgICAgICAgICB8ICAgICB8ICAgICB8IHNv
Y2tldC4gICAgICAgIHwgICAgICB8ICAgICAgICB8DQogICB8ICAgICAgICAg
ICAgICAgICAgICAgIHwgICAgIHwgICAgIHwgICAgICAgICAgICAgICAgfCAg
ICAgIHwgICAgICAgIHwNCiAgIHwgU0hJTV9MT0NMSVNUX0xPQ0FMICAgfCBv
ICAgfCAgICAgfCBnZXQgbG9jYXRvciAgICB8IFRCRCAgfCAqMSAgICAgfA0K
ICAgfCAgICAgICAgICAgICAgICAgICAgICB8ICAgICB8ICAgICB8IGxpc3Qg
ICAgICAgICAgIHwgICAgICB8ICAgICAgICB8DQogICB8ICAgICAgICAgICAg
ICAgICAgICAgIHwgICAgIHwgICAgIHwgYXNzb2NpYXRlZCAgICAgfCAgICAg
IHwgICAgICAgIHwNCiAgIHwgICAgICAgICAgICAgICAgICAgICAgfCAgICAg
fCAgICAgfCB3aXRoIGxvY2FsICAgICB8ICAgICAgfCAgICAgICAgfA0KICAg
fCAgICAgICAgICAgICAgICAgICAgICB8ICAgICB8ICAgICB8IEVJRC4gICAg
ICAgICAgIHwgICAgICB8ICAgICAgICB8DQoNCg0KDQpUQkQgICAgICAgICAg
ICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgNSwgMjAwNiAgICAgICAgICAg
ICAgICBbUGFnZSAxMV0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAg
IE11bHRpaG9tZWQgU2hpbSBBUEkgICAgICAgICAgICAgRmVicnVhcnkgMjAw
Ng0KDQoNCiAgIHwgU0hJTV9MT0NMSVNUX1JFTU9URSAgfCBvICAgfCAgICAg
fCBnZXQgbG9jYXRvciAgICB8IFRCRCAgfCAqMSAgICAgfA0KICAgfCAgICAg
ICAgICAgICAgICAgICAgICB8ICAgICB8ICAgICB8IGxpc3QgICAgICAgICAg
IHwgICAgICB8ICAgICAgICB8DQogICB8ICAgICAgICAgICAgICAgICAgICAg
IHwgICAgIHwgICAgIHwgYXNzb2NpYXRlZCAgICAgfCAgICAgIHwgICAgICAg
IHwNCiAgIHwgICAgICAgICAgICAgICAgICAgICAgfCAgICAgfCAgICAgfCB3
aXRoIHJlbW90ZSAgICB8ICAgICAgfCAgICAgICAgfA0KICAgfCAgICAgICAg
ICAgICAgICAgICAgICB8ICAgICB8ICAgICB8IEVJRC4gICAgICAgICAgIHwg
ICAgICB8ICAgICAgICB8DQogICB8ICAgICAgICAgICAgICAgICAgICAgIHwg
ICAgIHwgICAgIHwgICAgICAgICAgICAgICAgfCAgICAgIHwgICAgICAgIHwN
CiAgIHwgU0hJTV9USU1FUl9LRUVQQUxJVkUgfCAgICAgfCBvICAgfCBpbmZv
cm0gc2hpbSAgICB8IG8gICAgfCBpbnQgICAgfA0KICAgfCAgICAgICAgICAg
ICAgICAgICAgICB8ICAgICB8ICAgICB8IGxheWVyIGFib3V0ICAgIHwgICAg
ICB8ICAgICAgICB8DQogICB8ICAgICAgICAgICAgICAgICAgICAgIHwgICAg
IHwgICAgIHwgdGhlIHRpbWVyICAgICAgfCAgICAgIHwgICAgICAgIHwNCiAg
IHwgICAgICAgICAgICAgICAgICAgICAgfCAgICAgfCAgICAgfCB2YWx1ZSBv
ZiAgICAgICB8ICAgICAgfCAgICAgICAgfA0KICAgfCAgICAgICAgICAgICAg
ICAgICAgICB8ICAgICB8ICAgICB8IGtlZXBhbGl2ZSAgICAgIHwgICAgICB8
ICAgICAgICB8DQogICB8ICAgICAgICAgICAgICAgICAgICAgIHwgICAgIHwg
ICAgIHwgICAgICAgICAgICAgICAgfCAgICAgIHwgICAgICAgIHwNCiAgIHwg
U0hJTV9OT1RJRlkgICAgICAgICAgfCAgICAgfCBvICAgfCBwcm92aWRlcyB0
aGUgICB8IG8gICAgfCAqMiAgICAgfA0KICAgfCAgICAgICAgICAgICAgICAg
ICAgICB8ICAgICB8ICAgICB8IHNoaW0gbGF5ZXIgICAgIHwgICAgICB8ICAg
ICAgICB8DQogICB8ICAgICAgICAgICAgICAgICAgICAgIHwgICAgIHwgICAg
IHwgcG9zaXRpdmUgb3IgICAgfCAgICAgIHwgICAgICAgIHwNCiAgIHwgICAg
ICAgICAgICAgICAgICAgICAgfCAgICAgfCAgICAgfCBuZWdhdGl2ZSAgICAg
ICB8ICAgICAgfCAgICAgICAgfA0KICAgfCAgICAgICAgICAgICAgICAgICAg
ICB8ICAgICB8ICAgICB8IGZlZWRiYWNrcy4gICAgIHwgICAgICB8ICAgICAg
ICB8DQogICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLSstLS0tLSst
LS0tLS0tLS0tLS0tLS0tKy0tLS0tLSstLS0tLS0tLSsNCg0KICAgKjE6IHBv
aW50ZXIgdG8gdGhlIGJ1ZmZlciB0byB3aGljaCBzdG9yZXMgYXJyYXkgb2Yg
bG9jYXRvcg0KICAgaW5mb3JtYXRpb24uDQoNCiAgICoyOiBUQkQuDQoNCiAg
IEZpZ3VyZSAyIGlsbHVzdHJhdGVzIGhvdyB0aGUgc2hpbSBzcGVjaWZpYyBz
b2NrZXQgb3B0aW9ucyBmaXQgaW50bw0KICAgdGhlIHNvY2tldCBBUEkgc3lz
dGVtIG1vZGVsLiAgQXMgcHJldmlvdXNseSBkZWZpbmVkLCBhbGwgdGhlIHNo
aW0NCiAgIHNwZWNpZmljIHNvY2tldCBvcHRpb25zIGFyZSBkZWZpbmVkIGF0
IHRoZSBsZXZlbCBvZiBTT0xfU0hJTSwgd2hpY2gNCiAgIGhhdmUgYW4gZWZm
ZWN0IG9uIHRoZSBzaGltIGxheWVyIG9yIHRoZSBsYXllciBiZWxvdy4gIFRo
ZXJlZm9yZSwgdGhlDQogICBzaGltIHNwZWNpZmljIHNvY2tldCBvcHRpb25z
IGFyZSBub3Qgc3BlY2lmaWMgdG8gYWRkcmVzcyBmYW1pbHkNCiAgIChJUFBS
T1RPX0lQIG9yIElQUFJPVE9fSVBWNikgYW5kIHRoZSB0cmFuc3BvcnQgcHJv
dG9jb2wgKFNPQ0tfU1RSRUFNDQogICBvciBTT0NLX0RHUkFNIG9yIFNPQ0tf
UkFXKSB0eXBlcy4gIEhvd2V2ZXIsIHRoZXJlIGlzIHNvbWUgZXhjZXB0aW9u
YWwNCiAgIGNhc2VzIHdoZXJlIHNwZWNpZmljIG9wdGlvbnMgYXJlIG5vdCBh
cHBsaWNhYmxlIGZvciBUQ1AgKFNPQ0tfU1RSRUFNKQ0KICAgc29ja2V0cy4N
Cg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNClRCRCAgICAg
ICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCA1LCAyMDA2ICAgICAg
ICAgICAgICAgIFtQYWdlIDEyXQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAg
ICAgICAgTXVsdGlob21lZCBTaGltIEFQSSAgICAgICAgICAgICBGZWJydWFy
eSAyMDA2DQoNCg0KICAgICAgICAgICAgICAgczEgczIgICAgICBzMyBzNA0K
ICAgICAgICAgICAgICAgIHwgIHwgICAgICAgfCAgfA0KICAgICAgICAgICAg
ICAgIHwgIHwgICAgICAgfCAgfA0KICAgICAgICAgICAgICstLS0tLS0tKyAg
ICstLS0tLS0tKw0KICAgICAgICAgICAgIHwgIFRDUCAgfCAgIHwgIFVEUCAg
fCBTT0xfU09DS0VUDQogICAgICAgICAgICAgKy0tLS0tLS0rICAgKy0tLS0t
LS0rDQogICAgICAgICAgICAgICAgfCAgIFwgICAgIC8gICB8DQogICAgICAg
ICAgICAgICAgfCAgICAtLS0tLSAgICB8DQogICAgICAgICAgICAgICAgfCAg
IC8gICAgIFwgICB8DQogICAgICAgICAgICAgICstLS0tLS0rICAgKy0tLS0t
LSsNCiAgIElQUFJPVE9fSVAgfCBJUHY0IHwgICB8IElQdjYgfCBJUFBST1RP
X0lQVjYNCiAgICAgICAgICAgICAgKy0tLS0tLSsgICArLS0tLS0tKw0KICAg
ICAgICAgICAgICAgICAgXCAgICAgICAgIC8NCiAgICAgICAgICstLS0tLS0t
LS1cLS0tLS0tLS8tLS0tLS0tLS0rDQogICAgICAgICB8ICAgICAgICAgICBz
aGltICAgICAgICAgICAgfCBTT0xfU0hJTQ0KICAgICAgICAgKy0tLS0tLS0t
LS8tLS0tLS0tXC0tLS0tLS0tLSsNCiAgICAgICAgICAgICAgICAgIC8gICAg
ICAgICBcDQogICAgICAgICAgICAgICstLS0tLS0rICAgKy0tLS0tLSsNCiAg
ICAgICAgICAgICAgfCBJUHY0IHwgICB8IElQdjYgfA0KICAgICAgICAgICAg
ICArLS0tLS0tKyAgICstLS0tLS0rDQogICAgICAgICAgICAgICAgIHwgICAg
ICAgICAgIHwNCiAgICAgICAgICAgICAgICBJUHY0ICAgICAgIElQdjYNCiAg
ICAgICAgICAgICAgRGF0YWdyYW0gICBEYXRhZ3JhbQ0KDQoNCiAgIEZpZ3Vy
ZSAyOiBTb2NrZXQgQVBJIHN5c3RlbSBtb2RlbCB3aXRoIHNoaW0gbGF5ZXIN
Cg0KICAgSVNTVUU6IEl0IG1heSBiZSBjb250cm92ZXJzaWFsIHRvIGludHJv
ZHVjZSBhIG5ldyBsZXZlbCBTT0xfU0hJTSBmb3INCiAgIHNoaW0gc3BlY2lm
aWMgc29ja2V0IG9wdGlvbnMuICBJTUhPLCB3ZSBzaG91bGQgYXZvaWQgZGVm
aW5pbmcgc2hpbQ0KICAgc3BlY2lmaWMgc29ja2V0IG9wdGlvbnMgZm9yIGJv
dGggaW4gbGV2ZWwgSVBQUk9UT19JUCBhbmQgSVBQUk9UT19JUFY2DQogICBh
cyBpdCdzIHJlZHVuZGFudCBhbmQgc2VlbXMgdG8gYmUgYXJjaGl0ZWN0dXJh
bGx5IHdyb25nLg0KDQo2LjEuICBTcGVjaWZ5aW5nIFNoaW0gU3BlY2lmaWMg
QW5jaWxsYXJ5IERhdGENCg0KICAgQnkgc3BlY2lmeWluZyBzaGltIHNwZWNp
ZmljIGFuY2lsbGFyeSBkYXRhIGZvciByZWN2bXNnKCkgb3INCiAgIHNlbmRt
c2coKSwgYXBwbGljYXRpb24gY2FuIG9idGFpbiBvciBzcGVjaWZ5IGxvY2F0
b3IgaW5mb3JtYXRpb24gb2YNCiAgIHRoZSBkYXRhZ3JhbSB0byBiZSByZWNl
aXZlZC90cmFuc21pdHRlZCB0aHJvdWdoIGEgZ2l2ZW4gc29ja2V0Lg0KDQog
ICBUYWJsZSAyIHByb3ZpZGVzIHNoaW0gc3BlY2lmaWMgYW5jaWxsYXJ5IGRh
dGEgd2hpY2ggY2FuIGJlIHVzZWQgZm9yDQogICByZWN2bXNnKCkgb3Igc2Vu
ZG1zZygpLiAgSW4gYW55IGNhc2UsIFNPTF9TSElNIG11c3QgYmUgc3BlY2lm
aWVkIGFzDQogICB0aGUgY21zZ19sZXZlbC4gIFNoaW0gc3BlY2lmaWMgc29j
a2V0IG9wdGlvbiBzaG91bGQgYmUgc3BlY2lmaWVkIGluDQogICBjbXNnX3R5
cGUuICBBIHBvaW50ZXIgdG8gdGhlIGJ1ZmZlciBmb3Igc3RvcmluZyBhbmNp
bGxhcnkgZGF0YSBzaG91bGQNCiAgIGJlIHNldCBhcyBjbXNnX2RhdGFbXS4N
Cg0KDQoNCg0KDQoNCg0KDQpUQkQgICAgICAgICAgICAgICAgICAgICAgRXhw
aXJlcyBBdWd1c3QgNSwgMjAwNiAgICAgICAgICAgICAgICBbUGFnZSAxM10N
CgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgIE11bHRpaG9tZWQgU2hp
bSBBUEkgICAgICAgICAgICAgRmVicnVhcnkgMjAwNg0KDQoNCiAgICAgICAg
ICAgICAgICAgICBUYWJsZSAyOiBTaGltIHNwZWNpZmljIGFuY2lsbGFyeSBk
YXRhDQoNCiAgICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t
LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSsNCiAgICAgfCBvcHRf
bGV2ZWwvY21zZ19sZXZlbCB8IG9wdG5hbWUvY21zZ190eXBlIHwgb3B0dmFs
L2Ntc2dfZGF0YVtdIHwNCiAgICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r
LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSsNCiAg
ICAgfCBTT0xfU0hJTSAgICAgICAgICAgICB8IFNISU1fTE9DUEFJUl9SRUNW
IHwgbGNpbmZvIHN0cnVjdHVyZSAgIHwNCiAgICAgfCAgICAgICAgICAgICAg
ICAgICAgICB8ICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAg
ICAgIHwNCiAgICAgfCBTT0xfU0hJTSAgICAgICAgICAgICB8IFNISU1fTE9D
UEFJUl9TRU5EIHwgbGNpbmZvIHN0cnVjdHVyZSAgIHwNCiAgICAgKy0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t
LS0tLS0tLS0tLS0tLSsNCg0KICAgSXQgc2hvdWxkIGJlIG5vdGVkIHRoYXQg
YWJvdmUgY21zZ190eXBlIGFyZSBiYXNpY2FsbHkgZm9yIFVEUCBhbmQgcmF3
DQogICBzb2NrZXRzLCBub3QgZm9yIFRDUCBzb2NrZXRzLiAgQXMgZXhwbGFp
bmVkIGluIFtSRkMzNTQyXSwgdGhlcmUgaXMgbm8NCiAgIG9uZS10by1vbmUg
bWFwcGluZyBvZiBzZW5kL3JlY2VpdmUgb3BlcmF0aW9ucyBhbmQgdGhlIFRD
UCBzZWdtZW50cw0KICAgYmVpbmcgdHJhbnNtaXR0ZWQvcmVjZWl2ZWQuICBJ
biBjYXNlIG9mIFRDUCwgYXBwbGljYXRpb24gbWF5IHVzZQ0KICAgc2V0c29j
a29wdCgpIG9yIGdldHNvY2tvcHQoKSB0byBhY2Nlc3MgdG8gb3Igc3BlY2lm
eSBzb21lIG9mIGxvY2F0b3INCiAgIGluZm9ybWF0aW9uIHByb3ZpZGVkIGJ5
IHRoZSBzaGltIGxheWVyLg0KDQo2LjEuMS4gIFNPX0xPQ1BBSVJfUkVDVg0K
DQogICBBcHBsaWNhdGlvbiBjYW4gb2J0YWluIGxvY2F0b3IgaW5mb3JtYXRp
b24sIG5hbWVseSB0aGUgbG9jYXRvciBwYWlyDQogICB1c2VkIHRvIGNhcnJ5
IHRoZSBJUCBwYWNrZXQsIGJ5IHJlY3Ztc2coKSByZWZlcnJpbmcgdG8gdGhl
IGFuY2lsbGFyeQ0KICAgZGF0YSB0aGF0IGNvbWVzIHdpdGggU09fTE9DUEFJ
Ul9SRUNWIGNtc2dfdHlwZS4NCg0KICAgVGhlIGNtc2dfZGF0YVtdIHNob3Vs
ZCBjb250YWluIGxvY2luZm8gc3RydWN0dXJlIHdoaWNoIGNvbnRhaW5zIHRo
ZQ0KICAgbG9jYXRvciBwYWlyLg0KDQo2LjEuMi4gIFNPX0xPQ1BBSVJfU0VO
RA0KDQogICBBcHBsaWNhdGlvbiBjYW4gc3BlY2lmeSBsb2NhdG9yIHBhaXIg
dG8gYmUgdXNlZCBmb3IgdHJhbnNtaXR0aW5nIGFuDQogICBJUCBwYWNrZXQg
Ynkgc2VuZG1zZygpLiAgQW5jaWxsYXJ5IGRhdGEgY29udGFpbmluZyBTT19M
T0NQQUlSX1NFTkQNCiAgIGNtc2dfdHlwZSB3aXRoIHRoZSBsb2NhdG9yIGlu
Zm9ybWF0aW9uIHNoYWxsIGJlIHBhc3NlZCB0byBzZW5kbXNnKCkuDQoNCiAg
IE5vdGUgdGhhdCB0aGUgZWZmZWN0IGlzIGxpbWl0ZWQgdG8gdGhlIElQIHBh
Y2tldCB0cmFuc21pdHRlZCBieSB0aGUNCiAgIGNhbGwuICBJZiB0aGUgbG9j
YXRvciBwYWlyIHNlZW0gdG8gYmUgd29ya2luZyBhbmQgYWxyZWFkeSB2ZXJp
ZmllZCwNCiAgIGl0IG92ZXJyaWRlcyB0aGUgZGVjaXNpb24gb2YgdGhlIHNo
aW0gbGF5ZXIuDQoNCiAgIElTU1VFOiBXZSBzaG91bGQgY29uc2lkZXIgZXJy
b3IgaGFuZGxpbmcgaW4gdGhpcyBjYXNlLCBwYXJ0aWN1bGFybHksDQogICBp
biBhIGNhc2Ugd2hlcmUgaW52YWxpZCBwZWVyIGxvY2F0b3Igd2FzIHNwZWNp
ZmllZCBieSB0aGUNCiAgIGFwcGxpY2F0aW9uLiAgSW4gY2FzZSBvZiBTSElN
NiwgdGhlcmUgYXJlIHR3byBraW5kcyBvZiB2ZXJpZmljYXRpb25zDQogICBy
ZXF1aXJlZCBpbiBvcmRlciB0byBzcGVjaWZ5IHNlbmQgSVAgcGFja2V0cyB0
byB0aGUgcGVlcidzIG5ldw0KICAgYWRkcmVzczsgb25lIGlzIHJldHVybiBy
b3V0YWJpbGl0eSAoY2hlY2sgaWYgdGhlIHBlZXIgaXMgYWN0dWFsbHkNCiAg
IHdpbGxpbmcgdG8gcmVjZWl2ZSBkYXRhIHdpdGggdGhlIHNwZWNpZmllZCBs
b2NhdG9yKSBhbmQgdGhlIG90aGVyIGlzDQogICB2ZXJpZmljYXRpb25zIGJh
c2VkIG9uIGdpdmVuIGNyeXB0byBsb2NhdG9yIG1lY2hhbmlzbXNbUkZDMzk3
Ml0sDQogICBbSS1ELmlldGYtc2hpbTYtaGJhXS4gIFdoYXQga2luZCBvZiBl
cnJvciBtZXNzYWdlIHNob3VsZCBiZSBwcm92aWRlZA0KICAgZm9yIHRoZSBj
YWxsZXIgPyAgSXMgRUlOVkFMIGlzIGVub3VnaCBvciBkbyB3ZSBuZWVkIHRv
IGludHJvZHVjZSBuZXcNCiAgIGVycm9yIG1lc3NhZ2UgKGUuZy4gIEVJTlZB
TElETE9DQVRPUikgPw0KDQoNCg0KDQoNClRCRCAgICAgICAgICAgICAgICAg
ICAgICBFeHBpcmVzIEF1Z3VzdCA1LCAyMDA2ICAgICAgICAgICAgICAgIFtQ
YWdlIDE0XQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgTXVsdGlo
b21lZCBTaGltIEFQSSAgICAgICAgICAgICBGZWJydWFyeSAyMDA2DQoNCg0K
Ny4gIERhdGEgU3RydWN0dXJlcw0KDQogICBJbiB0aGlzIHNlY3Rpb24sIGRh
dGEgc3RydWN0dXJlcyBuZXdseSBkZWZpbmVkIGZvciB0aGUgQVBJIGFyZQ0K
ICAgcHJlc2VudGVkLiAgU3RydWN0dXJlIGxvY3BhaXIgaG9sZHMgYSBwYWly
IG9mIGxvY2F0b3JzIGZvciBsb2NhbCBhbmQNCiAgIHJlbW90ZSBob3N0cy4g
IE5vdGUgdGhhdCB0aGUgYWRkcmVzcyBmYW1pbHkgb2YgdGhlIGxvY2F0b3Ig
cGFpciBjb3VsZA0KICAgYmUgZWl0aGVyIElQdjQgb3IgSVB2Ni4gIEhvd2V2
ZXIsIGFkZHJlc3MgZmFtaWx5IG9mIGVhY2ggbG9jYXRvcg0KICAgd2l0aGlu
IGEgcGFpciBtdXN0IGJlIGlkZW50aWNhbC4NCg0KICAgICAgIHN0cnVjdCBs
b2NpbmZvIHsNCiAgICAgICAgICAgICAgIFRCRA0KICAgICAgIH07DQoNCiAg
ICAgICBzdHJ1Y3QgbG9jcGFpciB7DQogICAgICAgICAgICAgICBzdHJ1Y3Qg
c29ja2FkZHIgbGNwX2xvY2FsOw0KICAgICAgICAgICAgICAgc3RydWN0IHNv
Y2thZGRyIGxjcF9yZW1vdGU7DQogICAgICAgfTsNCg0KICAgRmlndXJlIDI6
IERhdGEgc3RydWN0dXJlcyBmb3Igc2hpbSBzcGVjaWZpYyBzb2NrZXQgb3B0
aW9ucw0KDQogICBOT1RFOiB3ZSB3aWxsIGFsc28gbmVlZCB0byBkZWZpbmUg
c3RydWN0dXJlIGZvciBhcHBsaWNhdGlvbiB0bw0KICAgcHJvdmlkZSBmZWVk
YmFja3MgdG8gdGhlIHNoaW0gbGF5ZXIuDQoNCg0KDQoNCg0KDQoNCg0KDQoN
Cg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQpUQkQg
ICAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgNSwgMjAwNiAg
ICAgICAgICAgICAgICBbUGFnZSAxNV0NCgwNCkludGVybmV0LURyYWZ0ICAg
ICAgICAgICAgIE11bHRpaG9tZWQgU2hpbSBBUEkgICAgICAgICAgICAgRmVi
cnVhcnkgMjAwNg0KDQoNCjguICBJbXBsaWNhdGlvbnMgZm9yIEV4aXN0aW5n
IFNvY2tldCBBUEkgRXh0ZW5zaW9ucw0KDQogICBBcyB0aGUgc29ja2V0IG9w
dGlvbnMgcHJvcG9zZWQgaW4gdGhpcyBkb2N1bWVudCBhbGxvdyBhcHBsaWNh
dGlvbiB0bw0KICAgc3BlY2lmeSBsb2NhdG9yIGZvciB0cmFuc21pdHRpbmcg
SVAgcGFja2V0LCB0aGVyZSBtYXkgYmUgY29uZmxpY3QNCiAgIHdpdGggYWR2
YW5jZWQgc29ja2V0IEFQSSBmb3IgSVB2NltSRkMzNTQyXS4NCg0KICAgW1JG
QzM1NDJdIGRlZmluZXMgdGhhdCBJUFY2X1BLVElORk8gY2FuIGJlIHVzZWQg
YnkgYXBwbGljYXRpb24gdG8NCiAgIGluZmx1ZW5jZSBvdXRnb2luZyBkYXRh
Z3JhbSAoc291cmNlIGFkZHJlc3MsIG91dGdvaW5nIGludGVyZmFjZSBldGMu
KQ0KICAgYW5kIG9idGFpbiBpbmZvcm1hdGlvbiBvZiBpbmNvbWluZyBkYXRh
Z3JhbSAoZGVzdGluYXRpb24gYWRkcmVzcywNCiAgIHJlY2VpdmluZyBpbnRl
cmZhY2UgZXRjLikuICBUaGVuIGEgcXVlc3Rpb24gbWF5IHJpc2UsIHdoYXQg
aXMgdGhlDQogICBleHBlY3RlZCBjb25zZXF1ZW5jZSBvZiB0aGUgY2FzZSB3
aGVyZSBJUFY2X1BLVElORk8gYW5kDQogICBTSElNX0xPQ1BBSVJfU0VORCBp
cyBzcGVjaWZpZWQgYXQgdGhlIHNhbWUgdGltZS4gIFNpbWlsYXIgcXVlc3Rp
b24NCiAgIG1heSByaXNlLCB3aGF0IGlmIHRoZSBJUFY2X1BLVElORk8gYW5k
IFNISU1fTE9DUEFJUl9SRUNWIGFyZSBzZXQgYXQNCiAgIHRoZSBzYW1lIHRp
bWUuDQoNCiAgIElTU1VFOiBXZSBzaG91bGQgY2xhcmlmeSBpbXBsaWNhdGlv
bnMgZm9yIGV4aXN0aW5nIHNvY2tldCBBUEkNCiAgIGZlYXR1cmVzLCBlc3Bl
Y2lhbGx5IElQVjZfUEtUSU5GTyBhcyBpdCBoYXMgc29tZSBpbXBsaWNhdGlv
bnMgb24NCiAgIGxvY2F0b3Igc2VsZWN0aW9uLiAgSW4gc29tZSBjYXNlLCB0
aGVyZSBtaWdodCBiZSBjb250cmFkaWN0b3J5IGNhc2UNCiAgIHdoZXJlIElQ
VjZfUEtUSU5GTyBhbmQgU0hJTV9sT0NQQUlSX1NFTkQvU0hJTV9MT0NQQUlS
X1JFQ1YgYXJlDQogICBzcGVjaWZpZWQgYXQgdGhlIHNhbWUgdGltZS4NCg0K
DQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoN
Cg0KDQoNCg0KDQoNCg0KVEJEICAgICAgICAgICAgICAgICAgICAgIEV4cGly
ZXMgQXVndXN0IDUsIDIwMDYgICAgICAgICAgICAgICAgW1BhZ2UgMTZdDQoM
DQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICBNdWx0aWhvbWVkIFNoaW0g
QVBJICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDYNCg0KDQo5LiAgSXNzdWVz
IHdpdGggYSBDb250ZXh0IFNoYXJlZCBieSBBcHBsaWNhdGlvbnMNCg0KICAg
QSBjb250ZXh0IGlzIGJ5IGRlZmluaXRpb24sIHN5c3RlbS13aWRlLiAgVGhp
cyBpbXBsaWVzIHRoYXQgYSBjb250ZXh0DQogICBjb3VsZCBiZSBzaGFyZWQg
YnkgYXBwbGljYXRpb25zIHdob3NlIGNvbW11bmljYXRpb25zIGFyZSBieSBj
aGFuY2UNCiAgIGJhc2VkIG9uIHRoZSBzYW1lIEVJRCBwYWlyLg0KDQogICBX
aGVuIGEgY29udGV4dCBpcyBzaGFyZWQgYnkgYXBwbGljYXRpb25zLCBpdCB3
b3VsZCBiZSBkaWZmaWN1bHQgZm9yDQogICB0aGUgc2hpbSBsYXllciB0byBo
YW5kbGUgZmVlZGJhY2tzIGZyb20gdGhlIGFwcGxpY2F0aW9ucy4gIEFzDQog
ICBtZW50aW9uZWQgaW4gU2VjdGlvbiBYLCBhbiBhcHBsaWNhdGlvbiBtYXkg
cHJvdmlkZSB0aGUgc2hpbSBsYXllcg0KICAgc29tZSBmZWVkYmFja3Mgb2Yg
dGltZW91dCB2YWx1ZXMgZnJvbSBpdHMgb3duIHNldHRpbmdzLiAgVGhpcyBp
bXBsaWVzDQogICB0aGF0IHRoZXJlIGlzIHBvdGVudGlhbGx5IGEgcmFjZSBj
b25kaXRpb24gaW4gdGhlIHNoaW0gbGF5ZXIuDQogICBGdXJ0aGVyIGRpc2N1
c3Npb25zIGFyZSBuZWVkZWQgaG93IHRoZSBzaGltIGxheWVyIGNhbiBhY2Nv
bW1vZGF0ZQ0KICAgZmVlZGJhY2tzIGZyb20gbXVsdGlwbGUgYXBwbGljYXRp
b25zIHdpdGhpbiBhIHNhbWUgY29udGV4dC4NCg0KDQoNCg0KDQoNCg0KDQoN
Cg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0K
DQoNCg0KDQoNCg0KDQpUQkQgICAgICAgICAgICAgICAgICAgICAgRXhwaXJl
cyBBdWd1c3QgNSwgMjAwNiAgICAgICAgICAgICAgICBbUGFnZSAxN10NCgwN
CkludGVybmV0LURyYWZ0ICAgICAgICAgICAgIE11bHRpaG9tZWQgU2hpbSBB
UEkgICAgICAgICAgICAgRmVicnVhcnkgMjAwNg0KDQoNCjEwLiAgSXNzdWVz
IG9mIEhhbmRsaW5nIE11bHRpcGxlIExvY2F0b3JzIHdpdGggU2hpbSBVbmF3
YXJlIEFwcGxpY2F0aW9ucw0KDQogICBJbiBtdWx0aWhvbWVkIGVudmlyb25t
ZW50IHdoZXJlIGVpdGhlciBvciBib3RoIG9mIHRoZSBwZWVycyBoYXZlDQog
ICBtdWx0aXBsZSBsb2NhdG9ycywgdGhlcmUgYXJlIHNvbWUgaXNzdWVzIHdp
dGggbGVnYWN5IHNvY2tldCBBUEkuDQoNCjEwLjEuICBJbml0aWFsIENvbnRh
Y3QNCg0KICAgV2hlbiBhcHBsaWNhdGlvbiBpcyBnb2luZyB0byBlc3RhYmxp
c2ggY29tbXVuaWNhdGlvbiB3aXRoIGl0cyBwZWVyDQogICB3aG8gaGFwcGVu
cyB0byBoYXZlIG11bHRpcGxlIGxvY2F0b3JzLCB0aGVyZSBhcmUgc29tZSBp
c3N1ZXMgdG8NCiAgIGNvbnNpZGVyLiAgSW4gY29ubmVjdGlvbiBvcmllbnRl
ZCBjb21tdW5pY2F0aW9uLCBjb25uZWN0KCkgc3lzdGVtDQogICBjYWxsIGlz
IHVzZWQgdG8gbWFrZSB0aGUgaW5pdGlhbCBjb250YWN0IHRvIHRoZSBwZWVy
LCB3aGljaCByZXF1aXJlcw0KICAgSVAgYWRkcmVzcyBhbmQgcG9ydCBudW1i
ZXIgdG8gc3BlY2lmeSB0aGUgZW5kcG9pbnQuICBIZW5jZSwgbmFtZS10by0N
CiAgIGFkZHJlc3MgcmVzb2x1dGlvbiBzaG91bGQgYmUgcGVyZm9ybWVkIHBy
aW9yIHRvIGNvbm5lY3QoKS4NCiAgIEFwcGxpY2F0aW9uIG5lZWRzIHRvIHJl
c29sdmUgRlFETiBvZiB0aGUgcGVlciB0byBhbiBJUCBhZGRyZXNzIGJ5IGFu
eQ0KICAgYXZhaWxhYmxlIG5hbWUtdG8tYWRkcmVzcyBjb252ZXJzaW9uIG1l
dGhvZC4NCg0KICAgSW4gdHlwaWNhbCBjYXNlLCB0aGUgYXBwbGljYXRpb24g
cmVjZWl2ZXMgaW5mb3JtYXRpb24gZnJvbSByZXNvbHZlci4NCiAgIElmIHRo
ZSBhcHBsaWNhdGlvbiBlbmRzIHVwIHdpdGggcmVjZWl2aW5nIG11bHRpcGxl
IElQIGFkZHJlc3NlcyB0bw0KICAgcmVhY2ggdGhlIHBlZXIsIGl0IHNob3Vs
ZCBpdGVyYXRlIGVhY2ggZGVzdGluYXRpb24gYWRkcmVzcyBvbmUtYnktDQog
ICBvbmUuICBJdCBzaG91bGQgYmUgbm90ZWQgdGhhdCB0aGUgaG9zdCBtYXkg
YWxzbyBoYXZlIG11bHRpcGxlIHNvdXJjZQ0KICAgYWRkcmVzc2VzLg0KDQog
ICBUaGUgZGlmZmVyZW50IHJlc3VsdGluZyBhZGRyZXNzIHBhaXIgbWF5IGhh
dmUgZGlmZmVyZW50IHJlYWNoYWJpbGl0eQ0KICAgc3RhdHVzIHNvLCBpbiBv
cmRlciB0byBmaW5kIGEgd29ya2luZyBhZGRyZXNzIHBhaXIsIGl0IG1heSBi
ZQ0KICAgcmVxdWlyZWQgdG8gZXhwbG9yZSBhbGwgdGhlIGF2YWlsYWJsZSBh
ZGRyZXNzIHBhaXJzIChhcyBvcHBvc2VkIHRvDQogICBleHBsb3JlIGFsbCBh
dmFpbGFibGUgZGVzdGluYXRpb24gYWRkcmVzc2VzKS4NCg0KICAgSW4gbm9y
bWFsIGNhc2UsIGFwcGxpY2F0aW9uIGlzc3VlcyBjb25uZWN0KCkgYnkgc3Bl
Y2lmeWluZyByZXNvbHZlZA0KICAgSVAgYWRkcmVzcyBvZiB0aGUgcGVlci4g
IElmIHRoZSBjb25uZWN0KCkgZmFpbHMsIElQIGFkZHJlc3MgaXMNCiAgIGl0
ZXJhdGVkIG9uZSBieSBvbmUgc2VxdWVudGlhbGx5IHVudGlsIHdvcmtpbmcg
cGFpciBpcyBmb3VuZC4NCiAgIEFub3RoZXIgYXBwcm9hY2ggaXMgdG8gaW5p
dGlhdGUgY29uY3VycmVudCBjb25uZWN0KCkgd2l0aCBldmVyeQ0KICAgbG9j
YXRvciBvZiB0aGUgcGVlci4gY29ubmVjdCgpIGNhbiBhbHNvIGJlIGNhbGxl
ZCBpbiBhIHNlcXVlbmNlIHdoaWNoDQogICB3b3VsZCBwcm9iYWJseSByZXF1
aXJlIG1vcmUgdGltZSB0byBmaW5kIHRoZSB3b3JraW5nIHBhaXIuDQoNCiAg
IEJlc2lkZXMsIHRoZXJlIGlzIGEgY2FzZSB3aGVyZSBpbnZvbHZlbWVudCBv
ZiB0aGUgc2hpbSBsYXllciBpcw0KICAgZXhwZWN0ZWQgZm9yIGhhbmRsaW5n
IGluaXRpYWwgY29udGFjdC4gIEluIHN1Y2ggY2FzZSwgYmVoYXZpb3Igb2Yg
dGhlDQogICBzaGltIGxheWVyIHdpbGwgZGVwZW5kIG9uIHByZXNlbmNlIG9m
IHJlcXVpcmVkIGNvbnRleHQuICBJZiB0aGVyZQ0KICAgZXhpc3RzIHRoZSBj
b250ZXh0IGZvciB0aGUgRUlEIHNwZWNpZmllZCBpbiB0aGUgY29ubmVjdCgp
LCB0aGUNCiAgIGluaXRpYWwgY29udGFjdCBjYW4gYmUgbWFkZSBpbiBhY2Nv
cmRhbmNlIHdpdGggdGhlIGNvbnRleHQNCiAgIGluZm9ybWF0aW9uLiAgT3Ro
ZXJ3aXNlLCB0aGUgc2hpbSBsYXllciBzaG91bGQgaW52b2tlIGNvbnRleHQN
CiAgIGVzdGFibGlzaG1lbnQgd2l0aCB0aGUgcGVlciBFSUQgc3BlY2lmaWVk
IGluIHRoZSBhcmd1bWVudCBmb3INCiAgIGNvbm5lY3QoKS4NCg0KICAgQWRk
aXRpb25hbCBlZmZvcnRzIHdvdWxkIGJlIHJlcXVpcmVkIGluIGEgY2FzZSB3
aGVyZSB0aGUgcGVlciBjYW5ub3QNCiAgIGJlIHJlYWNoYWJsZSBieSB0aGUg
RUlEIChmb3IgZXhhbXBsZSwgRUlEIGlzIG5vbi1yb3V0YWJsZSBvciBub24t
SVANCiAgIHJlYWNoYWJsZSkgYnV0IGNhbiBiZSByZWFjaGVkIGJ5IGFsdGVy
bmF0aXZlIGxvY2F0b3IuICBJbiBwYXJ0aWN1bGFyLA0KICAgdGhlIHNoaW0g
bGF5ZXIgc2hvdWxkIHNvbWVob3cgZGlzY292ZXIgdGhlIGFsdGVybmF0ZSBs
b2NhdG9yIGZvciB0aGUNCiAgIEVJRCB0byBlc3RhYmxpc2ggY29udGV4dC4g
IFtJLUQubm9yZG1hcmstc2hpbTYtZXNkXSBhZGRyZXNzZXMgdGhlDQoNCg0K
DQpUQkQgICAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgNSwg
MjAwNiAgICAgICAgICAgICAgICBbUGFnZSAxOF0NCgwNCkludGVybmV0LURy
YWZ0ICAgICAgICAgICAgIE11bHRpaG9tZWQgU2hpbSBBUEkgICAgICAgICAg
ICAgRmVicnVhcnkgMjAwNg0KDQoNCiAgIHBvc3NpYmxlIGFwcHJvYWNoIHRv
IHBlcmZvcm0gcmV2ZXJzZSBETlMgbG9va3VwIGZyb20gRUlEIHRvIEZRRE4s
DQogICB0aGVuIHBlcmZvcm0gZm9yd2FyZCBsb29rdXAgYWdhaW4gdG8gZmlu
ZCB0aGUgZnVsbC1zZXQgb2YgbG9jYXRvcnMNCiAgIGFuZCBFSUQuDQoNCiAg
IEluIEhJUCwgcmVzb2x2aW5nIEhJVHMgdG8gSVAgYWRkcmVzc2VzIHVzaW5n
IEROUyBpcyBub3QgZmVhc2libGUNCiAgIGJlY2F1c2UgSElUcyBkbyBub3Qg
Y29udGFpbiBhbnkgaGllcmFyY2hpY2FsIGluZm9ybWF0aW9uLiAgVG8NCiAg
IG1pdGlnYXRlIHRoaXMgcHJvYmxlbSwgdGhlcmUgYXJlIGEgZmV3IGFsdGVy
bmF0aXZlcy4gIEZpcnN0bHksDQogICByZXNvbHZlciBsaWJyYXJ5IG9uIGVu
ZC1ob3N0IGNhbiBiZSBtb2RpZmllZCB0byBwcm92aWRlIEhJVC10by1JUA0K
ICAgbWFwcGluZ3MgZm9yIEhJUCBzb2Z0d2FyZSBtb2R1bGUuICBTZWNvbmRs
eSwgYSBkaXN0cmlidXRlZCBoYXNoIHRhYmxlDQogICAoREhUKSBzZXJ2aWNl
IGNhbiBiZSB1c2VkIGZvciBzdG9yaW5nIGFuZCBsb29raW5nIHVwIHRoZSBt
YXBwaW5ncw0KICAgYmVjYXVzZSBpdCBzdXBwb3J0cyBub24taGllcmFyY2hp
Y2FsIGlkZW50aWZpZXJzLCBzdWNoIGFzIEhJVHMNCiAgIFtJLUQuaWV0Zi1o
aXAtYXJjaF0uICBUaGlyZGx5LCBpdCBpcyBwb3NzaWJsZSB0byB1c2UgSVAg
YWRkcmVzc2VzIGluDQogICBsZWdhY3kgYXBwbGljYXRpb25zIGFzIGRlc2Ny
aWJlZCBpbiBbSS1ELmhlbmRlcnNvbi1oaXAtYXBwbGljYXRpb25zXS4NCg0K
MTAuMi4gIE5hbWluZyBhdCBTb2NrZXQgTGF5ZXINCg0KICAgZ2V0c29ja25h
bWUoKSBhbmQgZ2V0cGVlcm5hbWUoKSBzeXN0ZW0gY2FsbHMgYXJlIHVzZWQg
dG8gb2J0YWluIHRoZQ0KICAgJ25hbWUnIG9mIGVuZHBvaW50IHdoaWNoIGlz
IGFjdHVhbGx5IGEgcGFpciBvZiBJUCBhZGRyZXNzIGFuZCBwb3J0DQogICBu
dW1iZXIgYXNzaWduZWQgdG8gZ2l2ZW4gc29ja2V0LiBnZXRzb2NrbmFtZSgp
IGlzIHVzZWQgd2hlbiBhbg0KICAgYXBwbGljYXRpb24gd2FudHMgdG8gb2J0
YWluIHRoZSBsb2NhbCBJUCBhZGRyZXNzIGFuZCBwb3J0IG51bWJlcg0KICAg
YXNzaWduZWQgZm9yIGdpdmVuIHNvY2tldCBpbnN0YW5jZS4gZ2V0cGVlcm5h
bWUoKSBpcyB1c2VkIHdoZW4gYW4NCiAgIGFwcGxpY2F0aW9uIHdhbnRzIHRv
IG9idGFpbiB0aGUgcmVtb3RlIElQIGFkZHJlc3MgYW5kIHBvcnQgbnVtYmVy
Lg0KICAgQXMgSVAgYWRkcmVzcyBpcyB0aGUga2V5IGluZm9ybWF0aW9uIGlu
IHRoZSB0d28gc3lzdGVtIGNhbGxzLCB0aGVyZQ0KICAgaXMgYSBxdWVzdGlv
biBpZiBpdCBzaG91bGQgYmUgaWRlbnRpZmllciBvciBsb2NhdG9yIHdoZW4g
c2hpbSBsYXllcg0KICAgaXMgcHJlc2VudC4NCg0KDQoNCg0KDQoNCg0KDQoN
Cg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQpUQkQgICAgICAg
ICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgNSwgMjAwNiAgICAgICAg
ICAgICAgICBbUGFnZSAxOV0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAg
ICAgIE11bHRpaG9tZWQgU2hpbSBBUEkgICAgICAgICAgICAgRmVicnVhcnkg
MjAwNg0KDQoNCjExLiAgSXNzdWVzIG9mIEhhbmRsaW5nIE11bHRpcGxlIExv
Y2F0b3JzIHdpdGggU2hpbSBBd2FyZSBBcHBsaWNhdGlvbnMNCg0KICAgVEJE
Lg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0K
DQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoN
Cg0KDQoNCg0KVEJEICAgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVn
dXN0IDUsIDIwMDYgICAgICAgICAgICAgICAgW1BhZ2UgMjBdDQoMDQpJbnRl
cm5ldC1EcmFmdCAgICAgICAgICAgICBNdWx0aWhvbWVkIFNoaW0gQVBJICAg
ICAgICAgICAgIEZlYnJ1YXJ5IDIwMDYNCg0KDQoxMi4gIEZ1cnRoZXIgSXNz
dWVzDQoNCiAgIEZvbGxvd2luZ3MgYXJlIGlzc3VlcyB0aGF0IG5lZWQgZnVy
dGhlciBjb25zaWRlcmF0aW9ucy4NCg0KMTIuMS4gIEFkZGl0aW9uYWwgUmVx
dWlyZW1lbnRzIGZyb20gQXBwbGljYXRpb25zDQoNCiAgIEZvbGxvd2luZ3Mg
YXJlIGFkZGl0aW9uYWwgcmVxdWlyZW1lbnRzLiAgQXQgdGhlIG1vbWVudCwg
aXQgaXMgbm90DQogICBjZXJ0YWluIGlmIHRoZXNlIGZlYXR1cmVzIGFyZSBj
b21tb25seSBuZWVkZWQgaW4gYWxsIHRoZSB0YXJnZXRlZA0KICAgbXVsdGlo
b21lZCBlbnZpcm9ubWVudHMgKFNISU02IGFuZCBISVApLiAgVGhlc2UgcmVx
dWlyZW1lbnRzIGFyZQ0KICAgbWFpbmx5IGlkZW50aWZpZWQgZHVyaW5nIGRp
c2N1c3Npb25zIG1hZGUgb24gU0hJTTYgV0cgbWFpbGluZyBsaXN0Lg0KDQog
ICBvICBUaGUgYXBwbGljYXRpb24gc2hvdWxkIGJlIGFibGUgdG8gc2VsZWN0
IGEgbG9jYXRvciBwYWlyLg0KDQogICBvICBUaGUgYXBwbGljYXRpb24gc2hv
dWxkIGJlIGFibGUgdG8gc2V0IHByZWZlcmVuY2VzIGZvciB0aGUNCiAgICAg
IGxvY2F0b3JzLCBsb2NhbCBhbmQgcmVtb3RlIG9uZSBhbmQgYWxzbyB0byB0
aGUgcHJlZmVyZW5jZXMgb2YgdGhlDQogICAgICBsb2NhbCBsb2NhdG9ycyB0
aGF0IHdpbGwgYmUgcGFzc2VkIHRvIHRoZSBwZWVyLg0KDQoNCg0KDQoNCg0K
DQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoN
Cg0KDQoNCg0KDQoNClRCRCAgICAgICAgICAgICAgICAgICAgICBFeHBpcmVz
IEF1Z3VzdCA1LCAyMDA2ICAgICAgICAgICAgICAgIFtQYWdlIDIxXQ0KDA0K
SW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgTXVsdGlob21lZCBTaGltIEFQ
SSAgICAgICAgICAgICBGZWJydWFyeSAyMDA2DQoNCg0KMTMuICBOZXcgRGVm
aW5pdGlvbnMNCg0KICAgVEJELg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0K
DQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoN
Cg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KVEJEICAgICAgICAgICAgICAg
ICAgICAgIEV4cGlyZXMgQXVndXN0IDUsIDIwMDYgICAgICAgICAgICAgICAg
W1BhZ2UgMjJdDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICBNdWx0
aWhvbWVkIFNoaW0gQVBJICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDYNCg0K
DQoxNC4gIElBTkEgQ29uc2lkZXJhdGlvbnMNCg0KICAgVGhpcyBkb2N1bWVu
dCBjb250YWlucyBubyBJQU5BIGNvbnNpZGVyYXRpb24uDQoNCg0KDQoNCg0K
DQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoN
Cg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQpUQkQg
ICAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgNSwgMjAwNiAg
ICAgICAgICAgICAgICBbUGFnZSAyM10NCgwNCkludGVybmV0LURyYWZ0ICAg
ICAgICAgICAgIE11bHRpaG9tZWQgU2hpbSBBUEkgICAgICAgICAgICAgRmVi
cnVhcnkgMjAwNg0KDQoNCjE1LiAgU2VjdXJpdHkgQ29uc2lkZXJhdGlvbnMN
Cg0KICAgVEJEDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0K
DQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoN
Cg0KDQoNCg0KDQoNCg0KDQpUQkQgICAgICAgICAgICAgICAgICAgICAgRXhw
aXJlcyBBdWd1c3QgNSwgMjAwNiAgICAgICAgICAgICAgICBbUGFnZSAyNF0N
CgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgIE11bHRpaG9tZWQgU2hp
bSBBUEkgICAgICAgICAgICAgRmVicnVhcnkgMjAwNg0KDQoNCjE2LiAgQ29u
Y2x1c2lvbg0KDQogICBUQkQNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0K
DQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoN
Cg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNClRCRCAgICAgICAgICAgICAgICAg
ICAgICBFeHBpcmVzIEF1Z3VzdCA1LCAyMDA2ICAgICAgICAgICAgICAgIFtQ
YWdlIDI1XQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgTXVsdGlo
b21lZCBTaGltIEFQSSAgICAgICAgICAgICBGZWJydWFyeSAyMDA2DQoNCg0K
MTcuICBBY2tub3dsZWRnbWVudHMNCg0KICAgVEJEDQoNCg0KDQoNCg0KDQoN
Cg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0K
DQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQpUQkQgICAg
ICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgNSwgMjAwNiAgICAg
ICAgICAgICAgICBbUGFnZSAyNl0NCgwNCkludGVybmV0LURyYWZ0ICAgICAg
ICAgICAgIE11bHRpaG9tZWQgU2hpbSBBUEkgICAgICAgICAgICAgRmVicnVh
cnkgMjAwNg0KDQoNCjE4LiAgUmVmZXJlbmNlcw0KDQoxOC4xLiAgTm9ybWF0
aXZlIFJlZmVyZW5jZXMNCg0KICAgW0ktRC5oZW5kZXJzb24taGlwLWFwcGxp
Y2F0aW9uc10NCiAgICAgICAgICAgICAgSGVuZGVyc29uLCBULiBhbmQgUC4g
TmlrYW5kZXIsICJVc2luZyBISVAgd2l0aCBMZWdhY3kNCiAgICAgICAgICAg
ICAgQXBwbGljYXRpb25zIiwgZHJhZnQtaGVuZGVyc29uLWhpcC1hcHBsaWNh
dGlvbnMtMDEgKHdvcmsNCiAgICAgICAgICAgICAgaW4gcHJvZ3Jlc3MpLCBG
ZWJydWFyeSAyMDA1Lg0KDQogICBbSS1ELmlldGYtaGlwLWFyY2hdDQogICAg
ICAgICAgICAgIE1vc2tvd2l0eiwgUi4gYW5kIFAuIE5pa2FuZGVyLCAiSG9z
dCBJZGVudGl0eSBQcm90b2NvbA0KICAgICAgICAgICAgICBBcmNoaXRlY3R1
cmUiLCBkcmFmdC1pZXRmLWhpcC1hcmNoLTAzICh3b3JrIGluIHByb2dyZXNz
KSwNCiAgICAgICAgICAgICAgQXVndXN0IDIwMDUuDQoNCiAgIFtJLUQuaWV0
Zi1zaGltNi1hcHAtcmVmZXJdDQogICAgICAgICAgICAgIE5vcmRtYXJrLCBF
LiwgIlNoaW02IEFwcGxpY2F0aW9uIFJlZmVycmFsIElzc3VlcyIsDQogICAg
ICAgICAgICAgIGRyYWZ0LWlldGYtc2hpbTYtYXBwLXJlZmVyLTAwICh3b3Jr
IGluIHByb2dyZXNzKSwNCiAgICAgICAgICAgICAgSnVseSAyMDA1Lg0KDQog
ICBbSS1ELmlldGYtc2hpbTYtZmFpbHVyZS1kZXRlY3Rpb25dDQogICAgICAg
ICAgICAgIEFya2tvLCBKLiBhbmQgSS4gQmVpam51bSwgIkZhaWx1cmUgRGV0
ZWN0aW9uIGFuZCBMb2NhdG9yDQogICAgICAgICAgICAgIFBhaXIgRXhwbG9y
YXRpb24gUHJvdG9jb2wgZm9yIElQdjYgTXVsdGlob21pbmciLA0KICAgICAg
ICAgICAgICBkcmFmdC1pZXRmLXNoaW02LWZhaWx1cmUtZGV0ZWN0aW9uLTAz
ICh3b3JrIGluIHByb2dyZXNzKSwNCiAgICAgICAgICAgICAgRGVjZW1iZXIg
MjAwNS4NCg0KICAgW0ktRC5pZXRmLXNoaW02LXByb3RvXQ0KICAgICAgICAg
ICAgICBCYWdudWxvLCBNLiBhbmQgRS4gTm9yZG1hcmssICJMZXZlbCAzIG11
bHRpaG9taW5nIHNoaW0NCiAgICAgICAgICAgICAgcHJvdG9jb2wiLCBkcmFm
dC1pZXRmLXNoaW02LXByb3RvLTAzICh3b3JrIGluIHByb2dyZXNzKSwNCiAg
ICAgICAgICAgICAgRGVjZW1iZXIgMjAwNS4NCg0KICAgW0ktRC5ub3JkbWFy
ay1zaGltNi1lc2RdDQogICAgICAgICAgICAgIE5vcmRtYXJrLCBFLiwgIkV4
dGVuZGVkIFNoaW02IERlc2lnbiBmb3IgSUQvbG9jIHNwbGl0IGFuZA0KICAg
ICAgICAgICAgICBUcmFmZmljIEVuZ2luZWVyaW5nIiwgZHJhZnQtbm9yZG1h
cmstc2hpbTYtZXNkLTAwICh3b3JrIGluDQogICAgICAgICAgICAgIHByb2dy
ZXNzKSwgRmVicnVhcnkgMjAwNi4NCg0KICAgW1JGQzM1NDJdICBTdGV2ZW5z
LCBXLiwgVGhvbWFzLCBNLiwgTm9yZG1hcmssIEUuLCBhbmQgVC4gSmlubWVp
LA0KICAgICAgICAgICAgICAiQWR2YW5jZWQgU29ja2V0cyBBcHBsaWNhdGlv
biBQcm9ncmFtIEludGVyZmFjZSAoQVBJKSBmb3INCiAgICAgICAgICAgICAg
SVB2NiIsIFJGQyAzNTQyLCBNYXkgMjAwMy4NCg0KMTguMi4gIEluZm9ybWF0
aXZlIFJlZmVyZW5jZXMNCg0KICAgW0ktRC5pZXRmLXNoaW02LWhiYV0NCiAg
ICAgICAgICAgICAgQmFnbnVsbywgTS4sICJIYXNoIEJhc2VkIEFkZHJlc3Nl
cyAoSEJBKSIsDQogICAgICAgICAgICAgIGRyYWZ0LWlldGYtc2hpbTYtaGJh
LTAxICh3b3JrIGluIHByb2dyZXNzKSwgT2N0b2JlciAyMDA1Lg0KDQogICBb
UkZDMzk3Ml0gIEF1cmEsIFQuLCAiQ3J5cHRvZ3JhcGhpY2FsbHkgR2VuZXJh
dGVkIEFkZHJlc3NlcyAoQ0dBKSIsDQogICAgICAgICAgICAgIFJGQyAzOTcy
LCBNYXJjaCAyMDA1Lg0KDQoNCg0KDQpUQkQgICAgICAgICAgICAgICAgICAg
ICAgRXhwaXJlcyBBdWd1c3QgNSwgMjAwNiAgICAgICAgICAgICAgICBbUGFn
ZSAyN10NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgIE11bHRpaG9t
ZWQgU2hpbSBBUEkgICAgICAgICAgICAgRmVicnVhcnkgMjAwNg0KDQoNCkFw
cGVuZGl4IEEuICBSZWNlaXZpbmcgTG9jYXRvciBJbmZvcm1hdGlvbg0KDQog
ICBzYW1wbGUgY29kZXMgdG8gb2J0YWluIGxvY2F0b3IgaW5mb3JtYXRpb24g
dG8gYmUgcHJvdmlkZWQuDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0K
DQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoN
Cg0KDQoNCg0KDQoNCg0KDQoNCg0KDQpUQkQgICAgICAgICAgICAgICAgICAg
ICAgRXhwaXJlcyBBdWd1c3QgNSwgMjAwNiAgICAgICAgICAgICAgICBbUGFn
ZSAyOF0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgIE11bHRpaG9t
ZWQgU2hpbSBBUEkgICAgICAgICAgICAgRmVicnVhcnkgMjAwNg0KDQoNCkFw
cGVuZGl4IEIuICBTcGVjaWZ5aW5nIExvY2F0b3IgSW5mb3JtYXRpb24NCg0K
ICAgc2FtcGxlIGNvZGVzIHRvIHNwZWNpZnkgbG9jYXRvciBpbmZvcm1hdGlv
biB0byBiZSBwcm92aWRlZC4NCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0K
DQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoN
Cg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNClRCRCAgICAgICAgICAgICAgICAg
ICAgICBFeHBpcmVzIEF1Z3VzdCA1LCAyMDA2ICAgICAgICAgICAgICAgIFtQ
YWdlIDI5XQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgTXVsdGlo
b21lZCBTaGltIEFQSSAgICAgICAgICAgICBGZWJydWFyeSAyMDA2DQoNCg0K
QXBwZW5kaXggQy4gIEV4YW1wbGVzDQoNCiAgIEZpZ3VyZSBYIGlsbHVzdHJh
dGVzIHRoZSBmbG93IG9mIElQIHBhY2tldCByZWNlaXZlZCBieSBJUCBpbnB1
dCBhbmQNCiAgIHBhc3NlZCB1cCB0byB0aGUgc29ja2V0LiAgQXMgdGhlIGZp
Z3VyZSBzaG93cywNCg0KICAgczEgYW5kIHMyIGFyZSBUQ1Agc29ja2V0cywg
YW5kIHMzIGFuZCBzNCBhcmUgVURQIHNvY2tldHMsDQogICByZXNwZWN0aXZl
bHkuICBVbmRlciB0aGUgc29ja2V0IEFQSSwgdGhlIHNvY2tldCBpcyBib3Vu
ZCB0byBzcGVjaWZpYw0KICAgSVAgYWRkcmVzcyBmYW1pbHkgd2hlbiB0aGUg
aW5zdGFuY2UgaXMgY3JlYXRlZCBieSB0aGUgc29ja2V0KCkgc3lzdGVtDQog
ICBjYWxsLiAgRm9yIGluc3RhbmNlLCBzb2NrZXQgczEgd2hpY2ggaXMgYW4g
SVB2NCBzb2NrZXQgZm9yIFRDUA0KICAgY29tbXVuaWNhdGlvbiBjYW4gYmUg
Y3JlYXRlZCBieToNCg0KICAgICAgIHMxID0gc29ja2V0KEFGX0lORVQsIFNP
Q0tfU1RSRUFNLCAwKTsNCg0KICAgTm90ZSB0aGF0IGJ5IHVzaW5nIElQdjQt
bWFwcGVkIGFkZHJlc3MsIElQdjYgc29ja2V0IG1heSBhbHNvIGhhbmRsZQ0K
ICAgSVB2NCBwYWNrZXQgZm9yIGV4Y2VwdGlvbmFsIGNhc2VzLiAgSG93ZXZl
ciwgdGhpcyBpcyBub3QgdGhlDQogICByZWNvbW1lbmRlZCBkdWUgdG8gYW1i
aWd1aXR5Lg0KDQoNCiAgICAgICAgICAgICBzMSAgczIgICAgIHMzICBzNCAg
IC0+ICBzb2NrZXRzDQogICAgICAgICAgICAgIF4gIF4gICAgICAgXiAgXg0K
ICAgICAgICAgICAgICB8ICB8ICAgICAgIHwgIHwNCiAgICAgICAgICAgICAg
fCAgfCAgICAgICB8ICB8DQogICAgICAgICAgICstLS0tLS0tKyAgICstLS0t
LS0tKw0KICAgICAgICAgICB8ICBUQ1AgIHwgICB8ICBVRFAgIHwNCiAgICAg
ICAgICAgKy0tLS0tLS0rICAgKy0tLS0tLS0rDQogICAgICAgICAgICAgIF4g
IF4gICAgICAgXiAgXg0KICAgICAgICAgICAgICB8ICAgXCAgICAgLyAgIHwg
ICAgLT4gIGFkZHJlc3MgcmV0dXJuZWQgYnkNCiAgICAgICAgICAgICAgfCAg
ICAtLS0tLSAgICB8ICAgICAgICBhY2NlcHQoKSBvciByZWN2ZnJvbSgpLA0K
ICAgICAgICAgICAgICB8ICAgLyAgICAgXCAgIHwgICAgICAgIHdoaWNoIGlz
IEVJRA0KICAgICAgICAgICAgKy0tLS0tLSsgICArLS0tLS0tKw0KICAgICAg
ICAgICAgfCBJUHY0IHwgICB8IElQdjYgfA0KICAgICAgICAgICAgKy0tLS0t
LSsgICArLS0tLS0tKw0KICAgICAgICAgICAgICAgXiAgICAgICAgICAgXg0K
ICAgICAgICAgICAgICAgIFwgICAgICAgICAvDQogICAgICArLS0tLS0tLS0t
LVwtLS0tLS0tLy0tLS0tLS0tLS0rDQogICAgICB8ICAgICAgICAgICAtLS0t
LS0tICAgICAgICAgICB8ICBNdWx0aWhvbWUgU2hpbQ0KICAgICAgKy0tLS0t
LS0tLS0vLS0tLS0tLVwtLS0tLS0tLS0tKw0KICAgICAgICAgICAgICAgIC8g
ICAgICAgICBcICAgICAgLT4gIGFkZHJlc3MgcmV0dXJuZWQgYnkNCiAgICAg
ICAgICAgICstLS0tLS0rICAgKy0tLS0tLSsgICAgICBzaGltIHNvY2tldCBB
UEksDQogICAgICAgICAgICB8IElQdjQgfCAgIHwgSVB2NiB8ICAgICAgd2hp
Y2ggaXMgbG9jYXRvcg0KICAgICAgICAgICAgKy0tLS0tLSsgICArLS0tLS0t
Kw0KICAgICAgICAgICAgICAgXiAgICAgICAgICAgXg0KICAgICAgICAgICAg
ICAgfCAgICAgICAgICAgfA0KICAgICAgICAgICAgICBJUHY0ICAgICAgIElQ
djYNCiAgICAgICAgICAgIERhdGFncmFtICAgRGF0YWdyYW0NCg0KDQogICBG
aWd1cmUgWDogSW5ib3VuZCBwYWNrZXQgcHJvY2Vzc2luZw0KDQoNCg0KVEJE
ICAgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDUsIDIwMDYg
ICAgICAgICAgICAgICAgW1BhZ2UgMzBdDQoMDQpJbnRlcm5ldC1EcmFmdCAg
ICAgICAgICAgICBNdWx0aWhvbWVkIFNoaW0gQVBJICAgICAgICAgICAgIEZl
YnJ1YXJ5IDIwMDYNCg0KDQogICAgICAgICAgICAgczEgIHMyICAgICBzMyAg
czQNCiAgICAgICAgICAgICAgfCAgfCAgICAgICB8ICB8DQogICAgICAgICAg
ICAgIHwgIHwgICAgICAgfCAgfA0KICAgICAgICAgICAgICB2ICB2ICAgICAg
IHYgIHYNCiAgICAgICAgICAgKy0tLS0tLS0rICAgKy0tLS0tLS0rDQogICAg
ICAgICAgIHwgIFRDUCAgfCAgIHwgIFVEUCAgfA0KICAgICAgICAgICArLS0t
LS0tLSsgICArLS0tLS0tLSsNCiAgICAgICAgICAgICAgfCAgXCAgICAgICAv
ICB8DQogICAgICAgICAgICAgIHwgICAtLS0tLS0tICAgfA0KICAgICAgICAg
ICAgICB8ICAvICAgICAgIFwgIHwNCiAgICAgICAgICAgICAgdiB2ICAgICAg
ICAgdiB2DQogICAgICAgICAgICArLS0tLS0tKyAgICstLS0tLS0rICBcICAg
YWRkcmVzcyBmb3IgY29ubmVjdCgpIG9yDQogICAgICAgICAgICB8IElQdjQg
fCAgIHwgSVB2NiB8ICAgPiAgc2VuZHRvKCksIHdoaWNoIGlzIEVJRA0KICAg
ICAgICAgICAgKy0tLS0tLSsgICArLS0tLS0tKyAgLw0KICAgICAgICAgICAg
ICAgIFwgICAgICAgICAvDQogICAgICArLS0tLS0tLS0tLVwtLS0tLS0tLy0t
LS0tLS0tLS0rDQogICAgICB8ICAgICAgICAgICAtLS0tLS0tICAgICAgICAg
ICB8ICBNdWx0aWhvbWUgU2hpbQ0KICAgICAgKy0tLS0tLS0tLS0vLS0tLS0t
LVwtLS0tLS0tLS0tKw0KICAgICAgICAgICAgICAgIC8gICAgICAgICBcDQog
ICAgICAgICAgICAgICB2ICAgICAgICAgICB2DQogICAgICAgICAgICArLS0t
LS0tKyAgICstLS0tLS0rICBcICAgYWRkcmVzcyByZXR1cm5lZCBieQ0KICAg
ICAgICAgICAgfCBJUHY0IHwgICB8IElQdjYgfCAgID4gIHNoaW0gc29ja2V0
IEFQSSwgd2hpY2gNCiAgICAgICAgICAgICstLS0tLS0rICAgKy0tLS0tLSsg
IC8gICBpcyBsb2NhdG9yDQogICAgICAgICAgICAgICB8ICAgICAgICAgICB8
DQogICAgICAgICAgICAgICB2ICAgICAgICAgICB2DQogICAgICAgICAgICAg
IElQdjQgICAgICAgSVB2Ng0KICAgICAgICAgICAgRGF0YWdyYW0gICBEYXRh
Z3JhbQ0KDQoNCiAgIEZpZ3VyZSBYOiBPdXRib3VuZCBwYWNrZXQgcHJvY2Vz
c2luZw0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoN
Cg0KVEJEICAgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDUs
IDIwMDYgICAgICAgICAgICAgICAgW1BhZ2UgMzFdDQoMDQpJbnRlcm5ldC1E
cmFmdCAgICAgICAgICAgICBNdWx0aWhvbWVkIFNoaW0gQVBJICAgICAgICAg
ICAgIEZlYnJ1YXJ5IDIwMDYNCg0KDQpBdXRob3IncyBBZGRyZXNzDQoNCiAg
IFRCRA0KICAgVEJEDQogICBUQkQNCiAgIFRCRCAgVEJEDQogICBUQkQNCg0K
ICAgUGhvbmU6IFRCRA0KICAgRW1haWw6IFRCRA0KDQoNCg0KDQoNCg0KDQoN
Cg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0K
DQoNCg0KDQoNCg0KDQoNCg0KDQoNClRCRCAgICAgICAgICAgICAgICAgICAg
ICBFeHBpcmVzIEF1Z3VzdCA1LCAyMDA2ICAgICAgICAgICAgICAgIFtQYWdl
IDMyXQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgTXVsdGlob21l
ZCBTaGltIEFQSSAgICAgICAgICAgICBGZWJydWFyeSAyMDA2DQoNCg0KSW50
ZWxsZWN0dWFsIFByb3BlcnR5IFN0YXRlbWVudA0KDQogICBUaGUgSUVURiB0
YWtlcyBubyBwb3NpdGlvbiByZWdhcmRpbmcgdGhlIHZhbGlkaXR5IG9yIHNj
b3BlIG9mIGFueQ0KICAgSW50ZWxsZWN0dWFsIFByb3BlcnR5IFJpZ2h0cyBv
ciBvdGhlciByaWdodHMgdGhhdCBtaWdodCBiZSBjbGFpbWVkIHRvDQogICBw
ZXJ0YWluIHRvIHRoZSBpbXBsZW1lbnRhdGlvbiBvciB1c2Ugb2YgdGhlIHRl
Y2hub2xvZ3kgZGVzY3JpYmVkIGluDQogICB0aGlzIGRvY3VtZW50IG9yIHRo
ZSBleHRlbnQgdG8gd2hpY2ggYW55IGxpY2Vuc2UgdW5kZXIgc3VjaCByaWdo
dHMNCiAgIG1pZ2h0IG9yIG1pZ2h0IG5vdCBiZSBhdmFpbGFibGU7IG5vciBk
b2VzIGl0IHJlcHJlc2VudCB0aGF0IGl0IGhhcw0KICAgbWFkZSBhbnkgaW5k
ZXBlbmRlbnQgZWZmb3J0IHRvIGlkZW50aWZ5IGFueSBzdWNoIHJpZ2h0cy4g
IEluZm9ybWF0aW9uDQogICBvbiB0aGUgcHJvY2VkdXJlcyB3aXRoIHJlc3Bl
Y3QgdG8gcmlnaHRzIGluIFJGQyBkb2N1bWVudHMgY2FuIGJlDQogICBmb3Vu
ZCBpbiBCQ1AgNzggYW5kIEJDUCA3OS4NCg0KICAgQ29waWVzIG9mIElQUiBk
aXNjbG9zdXJlcyBtYWRlIHRvIHRoZSBJRVRGIFNlY3JldGFyaWF0IGFuZCBh
bnkNCiAgIGFzc3VyYW5jZXMgb2YgbGljZW5zZXMgdG8gYmUgbWFkZSBhdmFp
bGFibGUsIG9yIHRoZSByZXN1bHQgb2YgYW4NCiAgIGF0dGVtcHQgbWFkZSB0
byBvYnRhaW4gYSBnZW5lcmFsIGxpY2Vuc2Ugb3IgcGVybWlzc2lvbiBmb3Ig
dGhlIHVzZSBvZg0KICAgc3VjaCBwcm9wcmlldGFyeSByaWdodHMgYnkgaW1w
bGVtZW50ZXJzIG9yIHVzZXJzIG9mIHRoaXMNCiAgIHNwZWNpZmljYXRpb24g
Y2FuIGJlIG9idGFpbmVkIGZyb20gdGhlIElFVEYgb24tbGluZSBJUFIgcmVw
b3NpdG9yeSBhdA0KICAgaHR0cDovL3d3dy5pZXRmLm9yZy9pcHIuDQoNCiAg
IFRoZSBJRVRGIGludml0ZXMgYW55IGludGVyZXN0ZWQgcGFydHkgdG8gYnJp
bmcgdG8gaXRzIGF0dGVudGlvbiBhbnkNCiAgIGNvcHlyaWdodHMsIHBhdGVu
dHMgb3IgcGF0ZW50IGFwcGxpY2F0aW9ucywgb3Igb3RoZXIgcHJvcHJpZXRh
cnkNCiAgIHJpZ2h0cyB0aGF0IG1heSBjb3ZlciB0ZWNobm9sb2d5IHRoYXQg
bWF5IGJlIHJlcXVpcmVkIHRvIGltcGxlbWVudA0KICAgdGhpcyBzdGFuZGFy
ZC4gIFBsZWFzZSBhZGRyZXNzIHRoZSBpbmZvcm1hdGlvbiB0byB0aGUgSUVU
RiBhdA0KICAgaWV0Zi1pcHJAaWV0Zi5vcmcuDQoNCg0KRGlzY2xhaW1lciBv
ZiBWYWxpZGl0eQ0KDQogICBUaGlzIGRvY3VtZW50IGFuZCB0aGUgaW5mb3Jt
YXRpb24gY29udGFpbmVkIGhlcmVpbiBhcmUgcHJvdmlkZWQgb24gYW4NCiAg
ICJBUyBJUyIgYmFzaXMgYW5kIFRIRSBDT05UUklCVVRPUiwgVEhFIE9SR0FO
SVpBVElPTiBIRS9TSEUgUkVQUkVTRU5UUw0KICAgT1IgSVMgU1BPTlNPUkVE
IEJZIChJRiBBTlkpLCBUSEUgSU5URVJORVQgU09DSUVUWSBBTkQgVEhFIElO
VEVSTkVUDQogICBFTkdJTkVFUklORyBUQVNLIEZPUkNFIERJU0NMQUlNIEFM
TCBXQVJSQU5USUVTLCBFWFBSRVNTIE9SIElNUExJRUQsDQogICBJTkNMVURJ
TkcgQlVUIE5PVCBMSU1JVEVEIFRPIEFOWSBXQVJSQU5UWSBUSEFUIFRIRSBV
U0UgT0YgVEhFDQogICBJTkZPUk1BVElPTiBIRVJFSU4gV0lMTCBOT1QgSU5G
UklOR0UgQU5ZIFJJR0hUUyBPUiBBTlkgSU1QTElFRA0KICAgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgT1IgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UuDQoNCg0KQ29weXJpZ2h0IFN0YXRlbWVudA0KDQogICBD
b3B5cmlnaHQgKEMpIFRoZSBJbnRlcm5ldCBTb2NpZXR5ICgyMDA2KS4gIFRo
aXMgZG9jdW1lbnQgaXMgc3ViamVjdA0KICAgdG8gdGhlIHJpZ2h0cywgbGlj
ZW5zZXMgYW5kIHJlc3RyaWN0aW9ucyBjb250YWluZWQgaW4gQkNQIDc4LCBh
bmQNCiAgIGV4Y2VwdCBhcyBzZXQgZm9ydGggdGhlcmVpbiwgdGhlIGF1dGhv
cnMgcmV0YWluIGFsbCB0aGVpciByaWdodHMuDQoNCg0KQWNrbm93bGVkZ21l
bnQNCg0KICAgRnVuZGluZyBmb3IgdGhlIFJGQyBFZGl0b3IgZnVuY3Rpb24g
aXMgY3VycmVudGx5IHByb3ZpZGVkIGJ5IHRoZQ0KICAgSW50ZXJuZXQgU29j
aWV0eS4NCg0KDQoNCg0KVEJEICAgICAgICAgICAgICAgICAgICAgIEV4cGly
ZXMgQXVndXN0IDUsIDIwMDYgICAgICAgICAgICAgICAgW1BhZ2UgMzNdDQoM
DQo=

---559023410-33463914-1149506471=:14792
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MULTIMOBSEC-API mailing list
MULTIMOBSEC-API@ietf.org
https://www1.ietf.org/mailman/listinfo/multimobsec-api

---559023410-33463914-1149506471=:14792--




From multimobsec-api-bounces@ietf.org Mon Jun 05 14:31:25 2006
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com)
	by megatron.ietf.org with esmtp (Exim 4.43)
	id 1FnJrJ-0005rg-Ha; Mon, 05 Jun 2006 14:31:25 -0400
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org)
	by megatron.ietf.org with esmtp (Exim 4.43) id 1FnJrI-0005rE-Ft
	for multimobsec-api@ietf.org; Mon, 05 Jun 2006 14:31:24 -0400
Received: from mailgw4.ericsson.se ([193.180.251.62])
	by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1FnJrG-0005m7-2K
	for multimobsec-api@ietf.org; Mon, 05 Jun 2006 14:31:24 -0400
Received: from esealmw129.eemea.ericsson.se (unknown [153.88.254.120])
	by mailgw4.ericsson.se (Symantec Mail Security) with ESMTP id
	4A7164F0001; Mon,  5 Jun 2006 20:31:21 +0200 (CEST)
Received: from esealmw129.eemea.ericsson.se ([153.88.254.177]) by
	esealmw129.eemea.ericsson.se with Microsoft SMTPSVC(6.0.3790.1830); 
	Mon, 5 Jun 2006 20:31:20 +0200
Received: from emyklmw103.eapac.ericsson.se ([150.236.92.103]) by
	esealmw129.eemea.ericsson.se with Microsoft SMTPSVC(6.0.3790.1830); 
	Mon, 5 Jun 2006 20:31:19 +0200
Received: from emyklmw104.eapac.ericsson.se ([150.236.92.104]) by
	emyklmw103.eapac.ericsson.se with Microsoft SMTPSVC(6.0.3790.1830); 
	Tue, 6 Jun 2006 02:31:16 +0800
Received: from ejpsymw100.eapac.ericsson.se ([150.236.140.12]) by
	emyklmw104.eapac.ericsson.se with Microsoft SMTPSVC(6.0.3790.1830); 
	Tue, 6 Jun 2006 02:31:15 +0800
X-MimeOLE: Produced By Microsoft Exchange V6.5
Content-class: urn:content-classes:message
MIME-Version: 1.0
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
Date: Tue, 6 Jun 2006 03:31:13 +0900
Message-ID: <DA38843C0546204C8CFBBB411311BB4A017214CF@ejpsymw100.eapac.ericsson.se>
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
Thread-Topic: update of api draft
thread-index: AcaIrMaKshsYnLeUQFywRc37zPcJKQADfjHw
From: "Shinta Sugimoto \(TO/NRJ\)" <shinta.sugimoto@ericsson.com>
To: "Miika Komu" <miika@iki.fi>
X-OriginalArrivalTime: 05 Jun 2006 18:31:15.0798 (UTC)
	FILETIME=[3ACFDF60:01C688CE]
X-Brightmail-Tracker: AAAAAA==
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 539f8b288ab42db633e5c7cf1c34fca1
Cc: multimobsec-api@ietf.org,
	"Kristian Slavov \(JO/LMF\)" <kristian.slavov@ericsson.com>
Subject: [MULTIMOBSEC-API] RE: update of api draft
X-BeenThere: multimobsec-api@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "Multihoming, mobility and security APIs" <multimobsec-api.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/multimobsec-api>
List-Post: <mailto:multimobsec-api@ietf.org>
List-Help: <mailto:multimobsec-api-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=subscribe>
Errors-To: multimobsec-api-bounces@ietf.org

Hi Miika,

Thank you for your thorough comments. Please find my comments inline.=20

> -----Original Message-----
> From: Miika Komu [mailto:miika@iki.fi]=20
> Sent: Monday, June 05, 2006 5:32 PM
> To: Shinta Sugimoto (TO/NRJ)
> Cc: Marcelo Bagnulo Braun; Kristian Slavov (JO/LMF);=20
> multimobsec-api@ietf.org
> Subject: Re: update of api draft
>=20
> On Fri, 2 Jun 2006, Shinta Sugimoto (TO/NRJ) wrote:
>=20
> > Hi all,
> >
> > Excuse me for the confusion that I send this email to you (in=20
> > unicast), not sending email to the ML <multimobsec-api@ietf.org>.
> > Now I have limited connectivity to the public Internet and=20
> cannot send=20
> > email to the ML (from my personal laptop PC).
>=20
> No problem. I attached the original version which I am commenting now.
>=20
> > Anyway, I want to make the status update of the draft.  And=20
> would like=20
> > to you receive your quick feedback if you have any.
> >
> > According to the discussion we had last week, I made some=20
> updates to=20
> > the API draft.  Attached please find the draft.  In particular, I=20
> > would like to hear your comments on some issues that I=20
> realized while=20
> > I update the document (see paragraphs which begin with=20
> "ISSUES:").  A=20
> > couple of items were added to the requirements section. =20
> Rest of the=20
> > changes are after section 6.
>=20
> You might e.g. want to request Petri Jokela (nomadiclab) for=20
> an issue tracker account in here:
>=20
> http://hip4inter.net/cgi-bin/roundup.cgi
>=20
> and keep the issues separate from the actual text. But of=20
> course, this is a matter of taste.

Ok, thanks. So far, the issues are manageable in my notebook.
When it explodes (maybe soon), I will think more moderate way :)
=20
> Here is my feedback for the attached pre-version of the draft:
>=20
> > 1. Introduction
>=20
> Based on our discussion at HIIT, should we explicitly mention=20
> that SHIM6 and HIP probably won't work together? This is=20
> related to some other comments below.

Right. I will add some texts in introduction.

> > 5. Requirements
> > ...
> >   o  Notification from application to the shim layer about=20
> the status
> >      of the communication.  Note that the notification is made in an
> >      event based manner.  There are mainly two aspects of=20
> the feedback
> >      that application or upper layer protocol may provide=20
> for the shim
> >      layer, positive and negative feedbacks [NOTE: These=20
> feedbacks are
> >      addressed in section 4.3 and section 5.2 of REAP=20
> specification]:
> >
> >      *  Positive feedback could be given by the application or upper
> >         layer protocol (e.g.  TCP) to the shim layer=20
> informing that its
> >         communication is going well.
> >
> >      *  Negative feedback could be given by the application or upper
> >         layer protocol (e.g.  TCP) to the shim layer=20
> informing that its
> >         communication status is not satisfactory.  TCP=20
> could detect a
> >         problem when it does not receives expected ACK from=20
> the peer.
> >         ICMP error messages delivered to the upper layer=20
> protocol could
> >         be a clue for application to detect any kind of=20
> problem.  REAP
> >         module may be triggered by these negative feedbacks=20
> and invoke
> >         procedure of path exploration.
> >
> >   o  Feedback from application to shim layer.  The=20
> application should
> >      be able to inform the shim layer about the timeout values for
> >      detecting failure, for sending keepalives, for starting the
> >      exploration procedure.  In particular, the application=20
> should be
> >      able to suppress the keepalives.
>=20
> I believe that the last "o" bullet should be a "*" bullet.

This was intentionally separated. The former were dynamic feedback
while the latter is rather static feedback (timeout values).  Yes, both
are common in a sense that they are feedbacks from app to the shim
layer.

> >   o  Turn on/off shim.  The application should be able to request to
> >      turn on/off the multihome support by the shim layer:
> >
> >      *  Apply shim.  The application should be able to explicitly
> >         request the shim layer to apply multihome support.
> >
> >      *  Don't apply shim.  The application should be able to request
> >         the shim layer not to apply the multihome support=20
> but to apply
> >         normal IP processing at the IP layer.
>=20
> s/multihome support/multihiming support/

Ok.

> The "apply shim" bullet does not really mention whether it is=20
> "try" or "must" apply shim. Remember that the peer may or may=20
> not be capable of supporting shim. Trying shim means that we=20
> can fallback to plain TCP/IP communications. Similarly, must=20
> means that we want to use shim or nothing at all. I believe a=20
> separate requirement for both would be nice.

Yes, I understand.

> > 6.  Socket Options for Multihomed Shim Layer ..
> >
> > Table 1 provides complete list of the socket options specifically=20
> > defined for interface shim layer.  Note that all socket options are=20
> > defined at level SOL_SHIM.
>=20
> We have two options here (see my comments on intro):
>    a) SOL_SHIM
>    b) SOL_HIP and SOL_SHIM6

Yes. I would say option b) would be "IPPROTO_HIP and IPPROTO_SHIM6"
and I think it makes sense to go with a), IMHO.  See below for the
reasons.

>=20
> The first alternative has at least one benefit. If SHIM6 is=20
> considered the first step towards full locator/id split (i.e.=20
> HIP :), then having this option would guarantee almost=20
> transparent migration path from SHIM6 to HIP. The drawbacks=20
> are that SHIM6 and HIP cannot be run at the same time for the=20
> same socket, and that the socket handler implementation might=20
> get quite fat.
>=20
> The second alternative reversed benefits and drawbacks when=20
> compared to the first alternative.
>=20
> Also, one way to think about this are the protocol specific=20
> options. How those options should be then defined?

For SHIM6 specific socket options, IPPROTO_IPV6 would be
suitable 'level', I think.  As SHIM6 (in a current form) is designed
in a way that shim deals with identifier and locator both of which
are IPv6 addresses.  So, assumption is that app will natively speak
IPv6 (use IPv6 socket).  In case of HIP, I would assume application
may use either IPv4 socket or IPv6 socket. Or if app opens socket
specifying AF_HIP will result in different case I guess.
Anyway, those options should be specifically treated (defined)
according to the requirements of given protocol of the shim layer.

>=20
> I am leaning towards option b) but having the same SO_SHIM=20
> socket options for both protocols. However, I am open for ideas.

I think SOL_SHIM would make sense because we are defining
"common" socket API for the generic multihoming shim layer.
The shim layer, by nature, should not be specific to any protocol
family.  And as we say that its "common" for shim approach
which is based on ID/Locator separation (e.g. SHIM6, HIP),
shouldn't we define it in protocol independent way ?

> In addition, should it be IPPROTO_ rather than SOL_? I am=20
> little bit unsure on this but I think IPROTO_ is the right=20
> one, altough SOL _could be the alias like it is for e.g.=20
> IPPROTO_TCP and SOL_TCP.
>
> Opinions, please?

As the generic concept of the "shim layer" should be protocol
independent, it seems reasonable to have prefix "SOL_" rather
than "IPPROTO_."  In my understanding, "IPPROTO_" implies
specific protocol, but "SOL_" could followed by conceptual
layer such as socket or shim layer, IMHO.
Does this make sense ?

>=20
> > The first column of the table gives name of the option.  The second=20
> > and third columns indicates whether if the option is for retrieving=20
> > the date from the kernel or providing data to the kernel (or both).
> > The fifth column indicates if the option deals with binary data or=20
> > not.  If the flag is not set, specific data structure (other than
> > int) should be used for data exchange.  The data structure=20
> is provided=20
> > in the sixth column.
>=20
> The first column of the table gives name of the option.  The=20
> second and third columns indicates whether the option applies=20
> for retrieving the data from the kernel or providing data to=20
> the kernel (or both). The fourth column summarizes the=20
> purpose of the option. The fifth column indicates if the=20
> option deals with integer type of data or not.  If the flag=20
> is not set, data structure specific to the socket option=20
> (other than int) should be used.  The data structure is=20
> provided in the sixth column.
>=20
> > Table 1: Socket Options for Multihomed Shim Layer
>=20
> * For all option names, please add a SO_ prefix. For example,=20
> SHIM_APPLY
>    should be SO_SHIM_APPLY

As far as I understand, prefix of the socket options should
indicate which 'level' the option is for.

> * The flag field is redundant with dtype. Suggest removing=20
> flag field and
>    explicitly marking it in dtype field.

Ok.

> * The description field is currently too narrow.

Yes. Will try to expand it.

> * SHIM_STANDBY -> SHIM_HOT_STANDBY

Personally, I'd prefer having less "_", but ... Ok, let's make it HOT :)

> * SHIM_LOCPAIR_PREF and SHIM_LOCPAIR_RECV
>    * I suggest removing this pairing concept and using single locators
>      instead, unles you have a specific need to do otherwise. E.g.
>      have SHIM_LOC_LOCAL_PREF, SHIM_LOC_PEER_PREF and same for RECV.

I see, maybe we should not introduce new datastructure only for the
reason to pairing the locators.  Noted.

>    * Now, we don't have to introduce another data structure=20
> and we can just
>      use regular sockaddr structure for these options.
>=20
> > *2: TBD.
>=20
> I suggest standard "struct addrinfo" data structure, man=20
> getaddrinfo, or:
>=20
> ftp://ftp.rfc-editor.org/in-notes/rfc3493.txt

Ok, I think sockaddrs_storage will do the job, as Kristian pointed out.

> After this, I suggest adding a short section on=20
> get/setsockopt error values. See man get/setsockopt:
>=20
> RETURN VALUES
>       If successful, getsockopt() and setsockopt() return 0;  oth-
>       erwise,  the  functions  return -1 and set errno to indicate
>       the error.

Agree. I will add some texts for treatment of error values.

>=20
> We could probably mention explicitly that ENOSYS means that=20
> the localhost does not support shim.

Yes. I agree.

>=20
> > Figure 2: Socket API system model with shim layer
>=20
> How about the following figure instead of the current one:

Hmm, I personally liked the figure that I borrowed from Steven's book
(UNIX Networking Programming, vol. 1) and see how the shim layer
fits into the existing model.  But...

>=20
> +------------------------------------------+
> |              Application                 | socket
> +------------------------------------------+
>=20
> +------------------------------------------+
> |               SOL_SOCKET                 | generic socket options
> +----------------------------------------- +
>=20
> +------------+------------+----------------+
> | IPROTO_TCP | IPROTO_UDP | IPPROTO_ICMPV6 | transport layer sockets
> +------------+------------+----------------+
>=20
> +---------------------+--------------------+
> |     IPPROTO_HIP     |   IPPROTO_SHIM6    | shim layer sockets
> +---------------------+--------------------+
>=20
> +-------------------+----------------------+
> |    IPROTO_IP      |    IPPROTO_IPV6      | network layer sockets
> +-------------------+----------------------+
>=20
> > ISSUE: It may be controversial to introduce a new level=20
> SOL_SHIM for=20
> > shim specific socket options.  IMHO, we should avoid defining shim=20
> > specific socket options for both in level IPPROTO_IP and=20
> IPPROTO_IPV6=20
> > as it's redundant and seems to be architecturally wrong.
>=20
> I think you can just remove this issue.

Given the discussion above, do you think SOL_SHIM is reasonable ?

>=20
> > 6.1.  Specifying Shim Specific Ancillary Data ..
> > Table 2: Shim specific ancillary data
>=20
> As I noted before we should have separate options for=20
> accessing local and peer locators, and the lcinfo should be sockaddr.
>=20
> > It should be noted that above cmsg_type are basically for=20
> UDP and raw=20
> > sockets, not for TCP sockets.
>=20
> s/basically/typically/
>=20
> It is completely possible to use sendmsg and recvmsg=20
> interface for TCP also.

Yes, sendmsg/recvmsg could also be used to TCP socket.
but I wanted to point out that handling of ancillary data per
datagram could also be on UDP/raw sockets.

> > 6.1.1.  SO_LOCPAIR_RECV
>=20
> See my previous comments locator pairs and locinfo.
>=20
> > 6.1.2.  SO_LOCPAIR_SEND
>=20
> See my previous comments locator pairs and locinfo.
>=20
> > ISSUE: We should consider error handling in this case,=20
> particularly,=20
> > in a case where invalid peer locator was specified by the=20
> application. =20
> > In case of SHIM6, there are two kinds of verifications required in=20
> > order to specify send IP packets to the peer's new address; one is=20
> > return routability (check if the peer is actually willing=20
> to receive=20
> > data with the specified locator) and the other is=20
> verifications based=20
> > on given crypto locator mechanisms[RFC3972], [I-D.ietf-shim6-hba]. =20
> > What kind of error message should be provided for the caller ?  Is=20
> > EINVAL is enough or do we need to introduce new error=20
> message (e.g. =20
> > EINVALIDLOCATOR) ?
>=20
> It is an interesting question... for the time being, I think=20
> overloading ENETUNREACH will do just fine.

Ok, noted. I tend to agree with Kristian that EINVALIDLOCATOR
 would be more helpful for app to identify what exactly the error is.
But this should be discussed more, IMHO.

> > 7.  Data Structures
>=20
> See my previous comments on these.
>=20
> > 8.  Implications for Existing Socket API Extensions ..
> > [RFC3542] defines that IPV6_PKTINFO can be used by application to=20
> > influence outgoing datagram (source address, outgoing=20
> interface etc.)=20
> > and obtain information of incoming datagram (destination address,=20
> > receiving interface etc.).  Then a question may rise, what is the=20
> > expected consequence of the case where IPV6_PKTINFO and=20
> > SHIM_LOCPAIR_SEND is specified at the same time.  Similar=20
> question may=20
> > rise, what if the IPV6_PKTINFO and SHIM_LOCPAIR_RECV are set at the=20
> > same time.
> >
> > ISSUE: We should clarify implications for existing socket API=20
> > features, especially IPV6_PKTINFO as it has some implications on=20
> > locator selection.  In some case, there might be contradictory case=20
> > where IPV6_PKTINFO and SHIM_lOCPAIR_SEND/SHIM_LOCPAIR_RECV are=20
> > specified at the same time.
>=20
> I suggest changing the question to a solution proposal.=20
> Namemely, PKTINFO should specify ULID or transport layer identifier.

Yes, I agree.  The baseline is that shim specific socket API should not
break existing socket API model.  I am still unsure about how we can
resolve preferred outgoing interface, though.

> > 9.  Issues with a Context Shared by Applications
> >
> > When a context is shared by applications, it would be difficult for=20
> > the shim layer to handle feedbacks from the applications.  As=20
> > mentioned in Section X, an application may provide the shim=20
> layer some=20
> > feedbacks of timeout values from its own settings.  This=20
> implies that=20
> > there is potentially a race condition in the shim layer.
> > Further discussions are needed how the shim layer can accommodate=20
> > feedbacks from multiple applications within a same context.
>=20
> I think the only option how to handle race conditions is to=20
> use prioritizing based on process priviledges (super user vs.=20
> regular user) and=20
> last-process-overwrites-previous-information principle in the=20
> case of processes with same access priviledges. Also, I think=20
> some of the options should be accessible only with super user=20
> priviledges.

Agree that root privilege should override normal user settings.
And partially agree with that some case may be OK to simply updates
the last value.  But there might be other cases too:

request 1: set timeout value T for 2 hours
request 2: set timeout value T for 1.5 hours
request 3: set timeout value T for 3 hours

Suppose if above requests are made sequentially by the entities
who have same privilege level (say all are root), then what should
the shim layer do ?  What Marcelo suggested/mentioned in the
last discussion was to introduce a sort of heuristics to accommodate
these contradictory requests.  One possible option would be to take
demanding request; in above example, timeout value is set to 1.5
hours (request 3 is ignored since it's less demanding).  But I think
appropriate strategy would dependent on socket options or timeout
values.

> > 10.1.  Initial Contact
>=20
> In general, I think we should be talking about EIDs, and not=20
> addresses, in this section, even though it considers legacy=20
> applications. The term "address" is just too vague.

Ok, Noted.

> Also, there is a lot of "loose" text in this section which=20
> does not really make any good points. I think the text could=20
> be crystallized better, but I don't have any concrete=20
> suggestions at this point of time.

I see that Section 10.1 is not clear to the point...
And so far I don't think it's deeply related to the shim specific
socket API.  Anyway, let's put it aside by when the main part
is settled.

>=20
> > In connection oriented communication..
>=20
> In connection oriented communication, connect() system call=20
> is used to make the initial contact to the peer, which=20
> *typically* requires IP address and port number to specify=20
> the endpoint.
>=20
> > It should be noted that the host may also have multiple source=20
> > addresses.
>=20
> Add: If the application does not specify a source address,=20
> the host will assign automatically a local EID.

Yes, in case of HIP, where identifier is more purely treated as
an information to identify endpoint, your statement is valid.

In case of SHIM6, the definition of an identifier is more loose.
That is, an identifier, namely ULID could be any of host's
locators.

> > The different resulting address pair may have different=20
> reachability=20
> > status so, in order to find a working address pair, it may=20
> be required=20
> > to explore all the available address pairs (as opposed to=20
> explore all=20
> > available destination addresses).
>=20
> I believe scanning the source addresses is actually not=20
> common in shim unaware, legacy applications. Most common=20
> scenario 1 x N scanning for reachable destination=20
> identifiers. This should be noted in the text.
>=20
> > Besides, there is a case where involvement of the shim layer is=20
> > expected for handling initial contact.
>=20
> Remove the "besides", it is talkative.

Ok.

> > If there exists the context for the EID specified in the connect(),=20
> > the initial contact can be made in accordance with the=20
> context information.
>=20
> This case occurs when there exists the context for the EID=20
> specified in the connect(), the initial contact can be made=20
> in accordance with the context information.

Ok.

> > 10.2.  Naming at Socket Layer
> >=20
> > As IP address is the key information in the two system=20
> calls, there is=20
> > a question if it should be identifier or locator when shim layer is=20
> > present.
>=20
> Instead of leaving this open here, let's provoke people to=20
> discussion by proposing it to be the identifier.

Ok, let's do that.

> > Appendix B.  Specifying Locator Information ..
> > Note that by using IPv4-mapped address, IPv6 socket may also handle
> > IPv4 packet for exceptional cases.  However, this is not the=20
> > recommended due to ambiguity.
>=20
> Remove the recommendation. This kind of behaviour has been=20
> already deployed, so there is not much we can do.

Ok.

Will update the document and reflecting your comments. Thanks again for
the review!


Regards,
Shinta

_______________________________________________
MULTIMOBSEC-API mailing list
MULTIMOBSEC-API@ietf.org
https://www1.ietf.org/mailman/listinfo/multimobsec-api



From multimobsec-api-bounces@ietf.org Tue Jun 06 01:00:06 2006
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com)
	by megatron.ietf.org with esmtp (Exim 4.43)
	id 1FnTfi-0002Vd-Cd; Tue, 06 Jun 2006 01:00:06 -0400
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org)
	by megatron.ietf.org with esmtp (Exim 4.43) id 1FnTfg-0002VH-Ks
	for multimobsec-api@ietf.org; Tue, 06 Jun 2006 01:00:04 -0400
Received: from mailgw4.ericsson.se ([193.180.251.62])
	by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1FnTfd-0002qh-8l
	for multimobsec-api@ietf.org; Tue, 06 Jun 2006 01:00:04 -0400
Received: from esealmw127.eemea.ericsson.se (unknown [153.88.254.122])
	by mailgw4.ericsson.se (Symantec Mail Security) with ESMTP id
	486534F0001; Tue,  6 Jun 2006 07:00:00 +0200 (CEST)
Received: from esealmw127.eemea.ericsson.se ([153.88.254.175]) by
	esealmw127.eemea.ericsson.se with Microsoft SMTPSVC(6.0.3790.1830); 
	Tue, 6 Jun 2006 06:59:59 +0200
Received: from emyklmw103.eapac.ericsson.se ([150.236.92.103]) by
	esealmw127.eemea.ericsson.se with Microsoft SMTPSVC(6.0.3790.1830); 
	Tue, 6 Jun 2006 06:59:59 +0200
Received: from emyklmw105.eapac.ericsson.se ([150.236.92.105]) by
	emyklmw103.eapac.ericsson.se with Microsoft SMTPSVC(6.0.3790.1830); 
	Tue, 6 Jun 2006 12:59:26 +0800
Received: from ejpsymw100.eapac.ericsson.se ([150.236.140.12]) by
	emyklmw105.eapac.ericsson.se with Microsoft SMTPSVC(6.0.3790.1830); 
	Tue, 6 Jun 2006 12:59:25 +0800
X-MimeOLE: Produced By Microsoft Exchange V6.5
Content-class: urn:content-classes:message
MIME-Version: 1.0
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
Date: Tue, 6 Jun 2006 13:59:24 +0900
Message-ID: <DA38843C0546204C8CFBBB411311BB4A017214D0@ejpsymw100.eapac.ericsson.se>
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
Thread-Topic: update of api draft
thread-index: AcaGTIMXFDIymtQOQDC/ueySJUleCQC0b+iw
From: "Shinta Sugimoto \(TO/NRJ\)" <shinta.sugimoto@ericsson.com>
To: "Kristian Slavov \(JO/LMF\)" <kristian.slavov@ericsson.com>
X-OriginalArrivalTime: 06 Jun 2006 04:59:25.0319 (UTC)
	FILETIME=[FB846170:01C68925]
X-Brightmail-Tracker: AAAAAA==
X-Spam-Score: 0.0 (/)
X-Scan-Signature: abb8110dde048486ea2be9c769692569
Cc: multimobsec-api@ietf.org
Subject: [MULTIMOBSEC-API] RE: update of api draft
X-BeenThere: multimobsec-api@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "Multihoming, mobility and security APIs" <multimobsec-api.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/multimobsec-api>
List-Post: <mailto:multimobsec-api@ietf.org>
List-Help: <mailto:multimobsec-api-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=subscribe>
Errors-To: multimobsec-api-bounces@ietf.org

Hi Kristian,
(ccing multimobsec-api list)

Thanks for your comments! Please find my answers below.
You might find difficult to find my replies inline, but they are
marked with "Shinta:", so I hope you can find them.

2.  Target

   Expected readers of this document are: application programmer who
   develops application software which may run on top of multihomed
   environment.  In particular, the API should be beneficial for
   application development of the software which takes advantage of
   multihomed environment aiming to achieve better failover.



Kristian: Is this correct? I don't think this is only for multihomed
environments.
          My assumption is that we want to describe general API for all
shim-like=20
          layers.

Shinta: I think the draft is focusing on multihoming features. The aim
is
to allow app to access the shim layer to get information about locator
management and REAP (failure detection & path exploration).

[snip]

             Table 1: Socket Options for Multihomed Shim Layer

   +----------------------+-----+-----+----------------+------+--------+
   | optname              | get | set | description    | flag | dtype  |
   +----------------------+-----+-----+----------------+------+--------+
   | SHIM_APPLY           | o   | o   | When the       | o    | int    |
   |                      |     |     | option is set  |      |        |
   |                      |     |     | by             |      |        |
   |                      |     |     | setsockopt(),  |      |        |
   |                      |     |     | the            |      |        |
   |                      |     |     | application    |      |        |
   |                      |     |     | explicitly     |      |        |
   |                      |     |     | requests the   |      |        |
   |                      |     |     | shim layer for |      |        |
   |                      |     |     | serving        |      |        |
   |                      |     |     | multihome      |      |        |
   |                      |     |     | support. When  |      |        |
   |                      |     |     | set by         |      |        |
   |                      |     |     | getsockopt(),  |      |        |
   |                      |     |     | receives if    |      |        |
   |                      |     |     | the socket is  |      |        |
   |                      |     |     | associated     |      |        |
   |                      |     |     | with any shim  |      |        |
   |                      |     |     | context or     |      |        |
   |                      |     |     | not.           |      |        |
   |                      |     |     |                |      |        |





TBD                      Expires August 5, 2006                [Page 10]
=0C
Internet-Draft             Multihomed Shim API             February 2006


   | SHIM_DONTSHIM        |     | o   | Request not to | o    | int    |
   |                      |     |     | apply any shim |      |        |
   |                      |     |     | support for    |      |        |
   |                      |     |     | this           |      |        |
   |                      |     |     | communication. |      |        |


Kristian: Are we mixing two different things with these two options?
In the former one you A) reguest shim mode and B) check if shim is used.
In the latter one you C) request shim mode not to be used.

Shinta: I think you are right. But talking with Marcelo, I realized that
B) needs more accurate definition. Please see below.

I think the A and C case are logically the same (on/off), and whether
shim is
used or not is separate issue.
So I'd suggest:
SHIM_APPLIED (read-only) - Check if socket is associated with any shim
context

SHIM_DONTSHIM (read/write) - if 0, shim is applied (default), if set to
1,
                             shim is disabled.

Shinta: I think your suggestion is better than what is stated in the
current draft.  But let me clarify a bit about SHIM_APPLIED
(or whatever called).  It's basically for allowing app to know whether
if it has any associated shim context with its socket.  Such feature
is useful when the locator information is not useful to determine if
there is any associated context with the socket.  Note that EID
pair and locator pair could be the same, in some case (particularly
in case of SHIM6).  So, to be more specific, it's not about whether
if shim is applied or not, but it's about if the socket is associated
with any shim context or not.  So, I would propose
SHIM_ASSOCIATED (read-only). Does this sound fine ?


   |                      |     |     |                |      |        |
   | SHIM_STANDBY         |     | o   | When set, the  | o    | int    |
   |                      |     |     | application    |      |        |
   |                      |     |     | requests the   |      |        |
   |                      |     |     | shim layer to  |      |        |
   |                      |     |     | prepare        |      |        |
   |                      |     |     | hot-standby    |      |        |
   |                      |     |     | connection     |      |        |
   |                      |     |     | besides the    |      |        |
   |                      |     |     | current        |      |        |
   |                      |     |     | locator pair.  |      |        |
   |                      |     |     |                |      |        |
   | SHIM_PATHEXPLORE     |     | o   | When set, the  | o    | int    |
   |                      |     |     | application    |      |        |
   |                      |     |     | specifies how  |      |        |
   |                      |     |     | many path      |      |        |
   |                      |     |     | explorations   |      |        |
   |                      |     |     | are required   |      |        |
   |                      |     |     | for this       |      |        |
   |                      |     |     | communication. |      |        |
   |                      |     |     |                |      |        |
   | SHIM_LOCPAIR_PREF    | o   | o   | get or set     |      | lcinfo |
   |                      |     |     | preferred      |      |        |
   |                      |     |     | locator pair   |      |        |
   |                      |     |     | of the shim    |      |        |
   |                      |     |     | context        |      |        |
   |                      |     |     | associated     |      |        |
   |                      |     |     | with the       |      |        |
   |                      |     |     | socket.        |      |        |
   |                      |     |     |                |      |        |
   | SHIM_LOCPAIR_RECV    | o   |     | get the        |      | lcinfo |
   |                      |     |     | locator pair   |      |        |
   |                      |     |     | of the last IP |      |        |
   |                      |     |     | packet which   |      |        |
   |                      |     |     | was received   |      |        |
   |                      |     |     | through the    |      |        |
   |                      |     |     | socket.        |      |        |


Kristian: I think we decided to use the control message block in the
recvmsg()
          (struct msghdr -> msg_control). My guess is that this would be
more
          usable than explicit getsockopt() call.
          If application has asked OS to provide information about
received
          packets, then I see no harm in returning that information with
the
          actual data.

Shinta: I agree that getting locator pair informatino from the ancillary
data
attached to the return value from the recvmsg() would be more useful.
But I think getsockopt() should also be possible to obtain the lastly
received
locator pair.  It could be used anytime while recvmsg() is only called
when
there is a data.

          However, I see one possible gray area: connected TCP-socket.
Usually
          when you do read() on such a socket, due to the stream nature
of TCP,
          you can receive data from more than one actual IP-packet. How
do you
          know to which one the control headers/locator pair is
associated?

Shinta: Yes, you are right.

          I understand that this is per-socket, but packets in
multi-homed
          environments may traverse different paths on per-packet basis.

Shinta: Correct.

          Ok, I noticed that you are discussing this below...

Shinta: Yes, I hope that the text provided in Section 6.1 is enough.


   |                      |     |     |                |      |        |
   | SHIM_LOCLIST_LOCAL   | o   |     | get locator    | TBD  | *1     |
   |                      |     |     | list           |      |        |
   |                      |     |     | associated     |      |        |
   |                      |     |     | with local     |      |        |
   |                      |     |     | EID.           |      |        |



TBD                      Expires August 5, 2006                [Page 11]
=0C
Internet-Draft             Multihomed Shim API             February 2006


   | SHIM_LOCLIST_REMOTE  | o   |     | get locator    | TBD  | *1     |
   |                      |     |     | list           |      |        |
   |                      |     |     | associated     |      |        |
   |                      |     |     | with remote    |      |        |
   |                      |     |     | EID.           |      |        |
   |                      |     |     |                |      |        |
   | SHIM_TIMER_KEEPALIVE |     | o   | inform shim    | o    | int    |
   |                      |     |     | layer about    |      |        |
   |                      |     |     | the timer      |      |        |
   |                      |     |     | value of       |      |        |
   |                      |     |     | keepalive      |      |        |


Kristian: Not necessarily HIP related, but could well be in future.

Shinta: OK.

   |                      |     |     |                |      |        |
   | SHIM_NOTIFY          |     | o   | provides the   | o    | *2     |
   |                      |     |     | shim layer     |      |        |
   |                      |     |     | positive or    |      |        |
   |                      |     |     | negative       |      |        |
   |                      |     |     | feedbacks.     |      |        |
   +----------------------+-----+-----+----------------+------+--------+

[snip]

6.1.  Specifying Shim Specific Ancillary Data

   By specifying shim specific ancillary data for recvmsg() or
   sendmsg(), application can obtain or specify locator information of
   the datagram to be received/transmitted through a given socket.

   Table 2 provides shim specific ancillary data which can be used for
   recvmsg() or sendmsg().  In any case, SOL_SHIM must be specified as
   the cmsg_level.  Shim specific socket option should be specified in
   cmsg_type.  A pointer to the buffer for storing ancillary data should
   be set as cmsg_data[].








TBD                      Expires August 5, 2006                [Page 13]
=0C
Internet-Draft             Multihomed Shim API             February 2006


                   Table 2: Shim specific ancillary data

     +----------------------+-------------------+--------------------+
     | opt_level/cmsg_level | optname/cmsg_type | optval/cmsg_data[] |
     +----------------------+-------------------+--------------------+
     | SOL_SHIM             | SHIM_LOCPAIR_RECV | lcinfo structure   |
     |                      |                   |                    |
     | SOL_SHIM             | SHIM_LOCPAIR_SEND | lcinfo structure   |
     +----------------------+-------------------+--------------------+

   It should be noted that above cmsg_type are basically for UDP and raw
   sockets, not for TCP sockets.  As explained in [RFC3542], there is no
   one-to-one mapping of send/receive operations and the TCP segments
   being transmitted/received.  In case of TCP, application may use
   setsockopt() or getsockopt() to access to or specify some of locator
   information provided by the shim layer.

6.1.1.  SO_LOCPAIR_RECV

   Application can obtain locator information, namely the locator pair
   used to carry the IP packet, by recvmsg() referring to the ancillary
   data that comes with SO_LOCPAIR_RECV cmsg_type.

   The cmsg_data[] should contain locinfo structure which contains the
   locator pair.

6.1.2.  SO_LOCPAIR_SEND

   Application can specify locator pair to be used for transmitting an
   IP packet by sendmsg().  Ancillary data containing SO_LOCPAIR_SEND
   cmsg_type with the locator information shall be passed to sendmsg().

   Note that the effect is limited to the IP packet transmitted by the
   call.  If the locator pair seem to be working and already verified,
   it overrides the decision of the shim layer.

   ISSUE: We should consider error handling in this case, particularly,
   in a case where invalid peer locator was specified by the
   application.  In case of SHIM6, there are two kinds of verifications
   required in order to specify send IP packets to the peer's new
   address; one is return routability (check if the peer is actually
   willing to receive data with the specified locator) and the other is
   verifications based on given crypto locator mechanisms[RFC3972],
   [I-D.ietf-shim6-hba].  What kind of error message should be provided
   for the caller ?  Is EINVAL is enough or do we need to introduce new
   error message (e.g.  EINVALIDLOCATOR) ?


Kristian: I'm for the EINVALIDLOCATOR (or just EINVAL(ID)LOC), just
because
          EINVAL is very overloaded. Almost every function returns
EINVAL,
          and as such it doesn't really tell what the problem is.

Shinta: I agree.

[snip]

7.  Data Structures

   In this section, data structures newly defined for the API are
   presented.  Structure locpair holds a pair of locators for local and
   remote hosts.  Note that the address family of the locator pair could
   be either IPv4 or IPv6.  However, address family of each locator
   within a pair must be identical.

       struct locinfo {
               TBD
       };

       struct locpair {
               struct sockaddr lcp_local;
               struct sockaddr lcp_remote;
       };

Kristian: This is no good, since you are reserving space only for struct
sockaddr
          but for IPv6 that is not enough. Probably struct
sockaddr_storage, or
          just a pointers to struct sockaddr * would be file too.
          I think the first one would be more usable, although consuming
500 bytes
          of extra memory.

Shinta: You are right. sockaddr_storage should be used, I think.

[snip]

8.  Implications for Existing Socket API Extensions

   As the socket options proposed in this document allow application to
   specify locator for transmitting IP packet, there may be conflict
   with advanced socket API for IPv6[RFC3542].

   [RFC3542] defines that IPV6_PKTINFO can be used by application to
   influence outgoing datagram (source address, outgoing interface etc.)
   and obtain information of incoming datagram (destination address,
   receiving interface etc.).  Then a question may rise, what is the
   expected consequence of the case where IPV6_PKTINFO and
   SHIM_LOCPAIR_SEND is specified at the same time.  Similar question
   may rise, what if the IPV6_PKTINFO and SHIM_LOCPAIR_RECV are set at
   the same time.

   ISSUE: We should clarify implications for existing socket API
   features, especially IPV6_PKTINFO as it has some implications on
   locator selection.  In some case, there might be contradictory case
   where IPV6_PKTINFO and SHIM_lOCPAIR_SEND/SHIM_LOCPAIR_RECV are
   specified at the same time.


Kristian: My initial reaction would be to prioritize shim, if=20
          SHIM_DONTSHIM socket option is NOT set. Otherwise follow=20
          IPV6_PKTINFO options.

Shinta: I see. IMHO, we should sort out PKTINFO=20

for outbound, PKTINFO allows app to specify following:

1) source IPv6 addres
2) output interface (ifindex)
3) hop-limit
4) next-hop address

The conflict with the shim layer may affect 1) and 2).
For 1), it should be handled above the shim layer. However,
I don't think 2) can be done in that way.  I mean, if the shim
layer is present and performing locator switch based on a
context information, there is no gurantee that 2) can be
done as the app specified.  So, I think we should mention
in the draft that 2) may be affected by the API.

for inbound, PKTINFO allows app to receive following:

1) destination IPv6 address
2) receiving interface (ifindex)
3) hop-limit

IMHO, 1) should return destination EID, but I am not sure
about 2).  Should 2) return actual interface from which the
IP packet was received or return the interface to which
destination EID is assigned ?  Any comments ?


Regards,
Shinta

_______________________________________________
MULTIMOBSEC-API mailing list
MULTIMOBSEC-API@ietf.org
https://www1.ietf.org/mailman/listinfo/multimobsec-api



From multimobsec-api-bounces@ietf.org Wed Jun 07 06:17:41 2006
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com)
	by megatron.ietf.org with esmtp (Exim 4.43)
	id 1Fnv6b-00035T-6C; Wed, 07 Jun 2006 06:17:41 -0400
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org)
	by megatron.ietf.org with esmtp (Exim 4.43) id 1Fnv6a-00035O-0F
	for multimobsec-api@ietf.org; Wed, 07 Jun 2006 06:17:40 -0400
Received: from n2.nomadiclab.com ([193.234.219.2])
	by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1Fnv6Y-0003so-BX
	for multimobsec-api@ietf.org; Wed, 07 Jun 2006 06:17:39 -0400
Received: from n2.nomadiclab.com (localhost [127.0.0.1])
	by n2.nomadiclab.com (Postfix) with ESMTP id 8670C212C5D;
	Wed,  7 Jun 2006 13:17:36 +0300 (EEST)
Received: from outside.nomadiclab.com (d146.nomadiclab.com [193.234.218.146])
	by n2.nomadiclab.com (Postfix) with ESMTP id 1F62F212C4A;
	Wed,  7 Jun 2006 13:17:36 +0300 (EEST)
Received: from outside.nomadiclab.com (localhost [127.0.0.1])
	by outside.nomadiclab.com (Postfix) with ESMTP id D6F4BBDC40;
	Wed,  7 Jun 2006 13:17:35 +0300 (EEST)
Received: from [193.234.219.179] (w179.nomadiclab.com [193.234.219.179])
	by outside.nomadiclab.com (Postfix) with ESMTP id 9F397BDC38;
	Wed,  7 Jun 2006 13:17:35 +0300 (EEST)
In-Reply-To: <DA38843C0546204C8CFBBB411311BB4A017214D0@ejpsymw100.eapac.ericsson.se>
References: <DA38843C0546204C8CFBBB411311BB4A017214D0@ejpsymw100.eapac.ericsson.se>
Mime-Version: 1.0 (Apple Message framework v624)
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Message-Id: <0967ae9e4897a86de69dd9b2cb891e00@it.uc3m.es>
Content-Transfer-Encoding: quoted-printable
From: marcelo bagnulo braun <marcelo@it.uc3m.es>
Date: Wed, 7 Jun 2006 13:17:36 +0300
To: "Shinta Sugimoto (TO/NRJ)" <shinta.sugimoto@ericsson.com>
X-Mailer: Apple Mail (2.624)
X-Virus-Scanned: ClamAV using ClamSMTP
X-Virus-Scanned: ClamAV using ClamSMTP
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 8b30eb7682a596edff707698f4a80f7d
Cc: multimobsec-api@ietf.org,
	"Kristian Slavov \(JO/LMF\)" <kristian.slavov@ericsson.com>
Subject: [MULTIMOBSEC-API] Re: update of api draft
X-BeenThere: multimobsec-api@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "Multihoming, mobility and security APIs" <multimobsec-api.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/multimobsec-api>
List-Post: <mailto:multimobsec-api@ietf.org>
List-Help: <mailto:multimobsec-api-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=subscribe>
Errors-To: multimobsec-api-bounces@ietf.org


El 06/06/2006, a las 7:59, Shinta Sugimoto (TO/NRJ) escribi=F3:
>
> 2.  Target
>
>    Expected readers of this document are: application programmer who
>    develops application software which may run on top of multihomed
>    environment.  In particular, the API should be beneficial for
>    application development of the software which takes advantage of
>    multihomed environment aiming to achieve better failover.
>
>
>
> Kristian: Is this correct? I don't think this is only for multihomed
> environments.
>           My assumption is that we want to describe general API for =
all
> shim-like
>           layers.
>

well, we are describing a API for all shim like layers, but only the=20
part that handles the multiple locators. (and heavily biassed for the=20
case where the multiple locators are due to multihoming as oposed to=20
the mobility case)

I think we could contrast it with what it would be needed in the=20
mobility case i.e. in the case the host has multiple locators because=20
of mobility and see if it make sense to integrate it in this draft

OTOH, i don't think it would be possible that the API covers other more=20=

specific parts of the shim management in the general case i.e.=20
establishing a shim6 context and establishing a hip state seems to=20
involve somehow different parameters that seem to be specific of the=20
particular protocol i guess.

Regards, marcelo


_______________________________________________
MULTIMOBSEC-API mailing list
MULTIMOBSEC-API@ietf.org
https://www1.ietf.org/mailman/listinfo/multimobsec-api



From multimobsec-api-bounces@ietf.org Wed Jun 07 13:00:22 2006
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com)
	by megatron.ietf.org with esmtp (Exim 4.43)
	id 1Fo1OI-0000Ro-FW; Wed, 07 Jun 2006 13:00:22 -0400
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org)
	by megatron.ietf.org with esmtp (Exim 4.43) id 1Fo1OE-0000Lh-Lc
	for multimobsec-api@ietf.org; Wed, 07 Jun 2006 13:00:18 -0400
Received: from twilight.cs.hut.fi ([130.233.40.5])
	by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1Fo1OD-0003BN-4T
	for multimobsec-api@ietf.org; Wed, 07 Jun 2006 13:00:18 -0400
Received: by twilight.cs.hut.fi (Postfix, from userid 60001)
	id 4BAA33013; Wed,  7 Jun 2006 20:00:16 +0300 (EEST)
X-Spam-Checker-Version: SpamAssassin 3.1.2-niksula20060321 (2006-05-25) on 
	twilight.cs.hut.fi
X-Spam-Level: 
X-Spam-Status: No, score=-1.4 required=5.0 tests=ALL_TRUSTED autolearn=failed 
	version=3.1.2-niksula20060321
X-Spam-Niksula: No
Received: from kekkonen.cs.hut.fi (kekkonen.cs.hut.fi [130.233.41.50])
	by twilight.cs.hut.fi (Postfix) with ESMTP id 5B8793002;
	Wed,  7 Jun 2006 20:00:15 +0300 (EEST)
Received: from localhost (mkomu@localhost)
	by kekkonen.cs.hut.fi (8.13.4+Sun/8.13.3/Submit) with ESMTP id
	k57H0EnT027535; Wed, 7 Jun 2006 20:00:14 +0300 (EEST)
X-Authentication-Warning: kekkonen.cs.hut.fi: mkomu owned process doing -bs
Date: Wed, 7 Jun 2006 20:00:14 +0300 (EEST)
From: Miika Komu <miika@iki.fi>
X-X-Sender: mkomu@kekkonen.cs.hut.fi
To: "Shinta Sugimoto (TO/NRJ)" <shinta.sugimoto@ericsson.com>
In-Reply-To: <DA38843C0546204C8CFBBB411311BB4A017214CF@ejpsymw100.eapac.ericsson.se>
Message-ID: <Pine.SOL.4.64.0606071907520.23483@kekkonen.cs.hut.fi>
References: <DA38843C0546204C8CFBBB411311BB4A017214CF@ejpsymw100.eapac.ericsson.se>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 68ba2b07ef271dba6ee42a93832cfa4c
Cc: multimobsec-api@ietf.org,
	"Kristian Slavov \(JO/LMF\)" <kristian.slavov@ericsson.com>
Subject: [MULTIMOBSEC-API] RE: update of api draft
X-BeenThere: multimobsec-api@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "Multihoming, mobility and security APIs" <multimobsec-api.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/multimobsec-api>
List-Post: <mailto:multimobsec-api@ietf.org>
List-Help: <mailto:multimobsec-api-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=subscribe>
Errors-To: multimobsec-api-bounces@ietf.org

On Tue, 6 Jun 2006, Shinta Sugimoto (TO/NRJ) wrote:

>> I believe that the last "o" bullet should be a "*" bullet.
>
> This was intentionally separated. The former were dynamic feedback
> while the latter is rather static feedback (timeout values).  Yes, both
> are common in a sense that they are feedbacks from app to the shim
> layer.

(Maybe you could mention on the dynamic vs. static difference in the text)

>> I am leaning towards option b) but having the same SO_SHIM
>> socket options for both protocols. However, I am open for ideas.
>
> I think SOL_SHIM would make sense because we are defining
> "common" socket API for the generic multihoming shim layer.
> The shim layer, by nature, should not be specific to any protocol
> family.  And as we say that its "common" for shim approach
> which is based on ID/Locator separation (e.g. SHIM6, HIP),
> shouldn't we define it in protocol independent way ?

I believe the question boils down to unshared functionality. How to have 
options e.g. for mobility that are not applicable for shim6 but apply for 
HIP. Or public key related things that are shared with btns and hip, but 
do not apply to shim6. On the other hand, if SHIM6 and HIP cannot be used 
simultaneously for a single socket, there should not be a problem?

So, maybe we can use a single shared SHIM contant for the time being and 
split it later if we discover some problems e.g. through implementation 
work.

>> In addition, should it be IPPROTO_ rather than SOL_? I am
>> little bit unsure on this but I think IPROTO_ is the right
>> one, altough SOL _could be the alias like it is for e.g.
>> IPPROTO_TCP and SOL_TCP.
>>
>> Opinions, please?
>
> As the generic concept of the "shim layer" should be protocol 
> independent, it seems reasonable to have prefix "SOL_" rather than 
> "IPPROTO_."  In my understanding, "IPPROTO_" implies specific protocol, 
> but "SOL_" could followed by conceptual layer such as socket or shim 
> layer, IMHO. Does this make sense ?

Regarding to the previous point, maybe IPPROTO_HIP and IPPROTO_SHIM6 could 
be used to separate uncommon features, if necessary. However, seems like 
most of the SOL_XX have a corresponding IPPROTO_XX variable.

So, I am fine with experiment with the SOL_SHIM for the time being.

>>> *2: TBD.
>>
>> I suggest standard "struct addrinfo" data structure, man
>> getaddrinfo, or:
>>
>> ftp://ftp.rfc-editor.org/in-notes/rfc3493.txt
>
> Ok, I think sockaddrs_storage will do the job, as Kristian pointed out.

Wasn't this supposed to be a list?

> Hmm, I personally liked the figure that I borrowed from Steven's book
> (UNIX Networking Programming, vol. 1) and see how the shim layer
> fits into the existing model.  But...

The SOL_SOCKET was not illustarated correctly in the original figure. 
Also, having the packets flying around when talking about socket layering 
was a little bit misleading.

>> +------------------------------------------+
>> |              Application                 | socket
>> +------------------------------------------+
>>
>> +------------------------------------------+
>> |               SOL_SOCKET                 | generic socket options
>> +----------------------------------------- +
>>
>> +------------+------------+----------------+
>> | IPROTO_TCP | IPROTO_UDP | IPPROTO_ICMPV6 | transport layer sockets
>> +------------+------------+----------------+
>>
>> +---------------------+--------------------+
>> |     IPPROTO_HIP     |   IPPROTO_SHIM6    | shim layer sockets
>> +---------------------+--------------------+
>>
>> +-------------------+----------------------+
>> |    IPROTO_IP      |    IPPROTO_IPV6      | network layer sockets
>> +-------------------+----------------------+

(SOL_SOCKET bar could also be reversed 90 degrees since it applies to all 
layers, but the current way may be easier to comprehend)

>>> ISSUE: It may be controversial to introduce a new level
>> SOL_SHIM for
>>> shim specific socket options.  IMHO, we should avoid defining shim
>>> specific socket options for both in level IPPROTO_IP and
>> IPPROTO_IPV6
>>> as it's redundant and seems to be architecturally wrong.
>>
>> I think you can just remove this issue.
>
> Given the discussion above, do you think SOL_SHIM is reasonable ?

Sure let's go for that.

> Agree that root privilege should override normal user settings.
> And partially agree with that some case may be OK to simply updates
> the last value.  But there might be other cases too:
>
> request 1: set timeout value T for 2 hours
> request 2: set timeout value T for 1.5 hours
> request 3: set timeout value T for 3 hours
>
> Suppose if above requests are made sequentially by the entities
> who have same privilege level (say all are root), then what should
> the shim layer do ?  What Marcelo suggested/mentioned in the
> last discussion was to introduce a sort of heuristics to accommodate
> these contradictory requests.  One possible option would be to take
> demanding request; in above example, timeout value is set to 1.5
> hours (request 3 is ignored since it's less demanding).  But I think
> appropriate strategy would dependent on socket options or timeout
> values.

As long as the heuristic are simple, that would be fine.

> Will update the document and reflecting your comments. Thanks again for
> the review!

No problem and apologies for delay in the reply. Remember that Monday is 
cut-off DL, so please remember to submit the draft early :) I hope you or 
Marcelo could present the draft also in the HIP WG in the next IETF.

-- 
Miika Komu              miika@iki.fi          http://www.iki.fi/miika/

_______________________________________________
MULTIMOBSEC-API mailing list
MULTIMOBSEC-API@ietf.org
https://www1.ietf.org/mailman/listinfo/multimobsec-api



From multimobsec-api-bounces@ietf.org Thu Jun 08 03:57:42 2006
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com)
	by megatron.ietf.org with esmtp (Exim 4.43)
	id 1FoFOg-0002mn-K9; Thu, 08 Jun 2006 03:57:42 -0400
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org)
	by megatron.ietf.org with esmtp (Exim 4.43) id 1FoF47-0005Xr-Cu
	for multimobsec-api@ietf.org; Thu, 08 Jun 2006 03:36:27 -0400
Received: from mailgw3.ericsson.se ([193.180.251.60])
	by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1FoF45-0004c4-Ck
	for multimobsec-api@ietf.org; Thu, 08 Jun 2006 03:36:27 -0400
Received: from esealmw129.eemea.ericsson.se (unknown [153.88.254.120])
	by mailgw3.ericsson.se (Symantec Mail Security) with ESMTP id
	99D784F0006; Thu,  8 Jun 2006 09:36:24 +0200 (CEST)
Received: from esealmw129.eemea.ericsson.se ([153.88.254.177]) by
	esealmw129.eemea.ericsson.se with Microsoft SMTPSVC(6.0.3790.1830); 
	Thu, 8 Jun 2006 09:36:24 +0200
Received: from mail.lmf.ericsson.se ([131.160.11.50]) by
	esealmw129.eemea.ericsson.se with Microsoft SMTPSVC(6.0.3790.1830); 
	Thu, 8 Jun 2006 09:36:24 +0200
Received: from nomadiclab.lmf.ericsson.se (nomadiclab.lmf.ericsson.se
	[131.160.33.3])
	by mail.lmf.ericsson.se (Postfix) with ESMTP id DE8B0236E;
	Thu,  8 Jun 2006 10:36:23 +0300 (EEST)
Received: from nomadiclab.lmf.ericsson.se (localhost [127.0.0.1])
	by nomadiclab.lmf.ericsson.se (Postfix) with ESMTP id A50754DB35;
	Thu,  8 Jun 2006 10:36:23 +0300 (EEST)
Received: from [127.0.0.1] (localhost [127.0.0.1])
	by nomadiclab.lmf.ericsson.se (Postfix) with ESMTP id 2E3074DA93;
	Thu,  8 Jun 2006 10:36:23 +0300 (EEST)
Message-ID: <4487D376.90401@ericsson.com>
Date: Thu, 08 Jun 2006 10:36:22 +0300
From: Kristian Slavov <Kristian.Slavov@ericsson.com>
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US;
	rv:1.7.12) Gecko/20060205 Debian/1.7.12-1.1
X-Accept-Language: en
MIME-Version: 1.0
To: Miika Komu <miika@iki.fi>
References: <DA38843C0546204C8CFBBB411311BB4A017214C1@ejpsymw100.eapac.ericsson.se>
	<Pine.SOL.4.64.0606051418280.14792@kekkonen.cs.hut.fi>
In-Reply-To: <Pine.SOL.4.64.0606051418280.14792@kekkonen.cs.hut.fi>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
X-Virus-Scanned: ClamAV using ClamSMTP
X-OriginalArrivalTime: 08 Jun 2006 07:36:24.0264 (UTC)
	FILETIME=[3E78D480:01C68ACE]
X-Brightmail-Tracker: AAAAAA==
X-Spam-Score: 0.0 (/)
X-Scan-Signature: e5ba305d0e64821bf3d8bc5d3bb07228
X-Mailman-Approved-At: Thu, 08 Jun 2006 03:57:41 -0400
Cc: multimobsec-api@ietf.org
Subject: [MULTIMOBSEC-API] Re: update of api draft
X-BeenThere: multimobsec-api@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "Multihoming, mobility and security APIs" <multimobsec-api.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/multimobsec-api>
List-Post: <mailto:multimobsec-api@ietf.org>
List-Help: <mailto:multimobsec-api-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=subscribe>
Errors-To: multimobsec-api-bounces@ietf.org

Hi,

Sorry for commenting late.

Miika Komu wrote:
> 
> The "apply shim" bullet does not really mention whether it is "try" or 
> "must" apply shim. Remember that the peer may or may not be capable of 
> supporting shim. Trying shim means that we can fallback to plain TCP/IP 
> communications. Similarly, must means that we want to use shim or 
> nothing at all. I believe a separate requirement for both would be nice.


Could this be a policy option rather than API option? Is there a case, 
where the administrator of the system says "ok, falling back is allowed", 
but the application will not want to. I would assume the shim aware 
programs would provide best-effort services, and that includes plain old 
TCP/IP.

The other way around (i.e. policy denies connections that are not 
processed by the shim layer), I can understand very well. All companies 
have security policies and restrictions, and they would like to enforce 
them, regardless of what the programs/users would like to do.

Perhaps I'm just frustrated by software that tells me what I'm allowed to 
do, rather than doing what I want it to do. :)

-- 
Kristian Slavov, Research Engineer
Ericsson Research, Nomadiclab
Jorvas, Finland

_______________________________________________
MULTIMOBSEC-API mailing list
MULTIMOBSEC-API@ietf.org
https://www1.ietf.org/mailman/listinfo/multimobsec-api



From multimobsec-api-bounces@ietf.org Thu Jun 08 03:59:52 2006
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com)
	by megatron.ietf.org with esmtp (Exim 4.43)
	id 1FoFQm-0004g0-KO; Thu, 08 Jun 2006 03:59:52 -0400
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org)
	by megatron.ietf.org with esmtp (Exim 4.43) id 1FoFQl-0004fu-6c
	for multimobsec-api@ietf.org; Thu, 08 Jun 2006 03:59:51 -0400
Received: from stsc1260-eth-s1-s1p1-vip.va.neustar.com ([156.154.16.129]
	helo=chiedprmail1.ietf.org)
	by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1FoFQl-0008Cz-5G
	for multimobsec-api@ietf.org; Thu, 08 Jun 2006 03:59:51 -0400
Received: from twilight.cs.hut.fi ([130.233.40.5])
	by chiedprmail1.ietf.org with esmtp (Exim 4.43) id 1FoFNe-0000qW-O3
	for multimobsec-api@ietf.org; Thu, 08 Jun 2006 03:56:41 -0400
Received: by twilight.cs.hut.fi (Postfix, from userid 60001)
	id ACFAD30B2; Thu,  8 Jun 2006 10:56:37 +0300 (EEST)
X-Spam-Checker-Version: SpamAssassin 3.1.2-niksula20060321 (2006-05-25) on 
	twilight.cs.hut.fi
X-Spam-Level: 
X-Spam-Status: No, score=-1.4 required=5.0 tests=ALL_TRUSTED autolearn=failed 
	version=3.1.2-niksula20060321
X-Spam-Niksula: No
Received: from kekkonen.cs.hut.fi (kekkonen.cs.hut.fi [130.233.41.50])
	by twilight.cs.hut.fi (Postfix) with ESMTP id 33ACA301B;
	Thu,  8 Jun 2006 10:56:37 +0300 (EEST)
Received: from localhost (mkomu@localhost)
	by kekkonen.cs.hut.fi (8.13.4+Sun/8.13.3/Submit) with ESMTP id
	k587uW11016709; Thu, 8 Jun 2006 10:56:36 +0300 (EEST)
X-Authentication-Warning: kekkonen.cs.hut.fi: mkomu owned process doing -bs
Date: Thu, 8 Jun 2006 10:56:31 +0300 (EEST)
From: Miika Komu <miika@iki.fi>
X-X-Sender: mkomu@kekkonen.cs.hut.fi
To: Kristian Slavov <Kristian.Slavov@ericsson.com>
In-Reply-To: <4487D376.90401@ericsson.com>
Message-ID: <Pine.SOL.4.64.0606081051280.16323@kekkonen.cs.hut.fi>
References: <DA38843C0546204C8CFBBB411311BB4A017214C1@ejpsymw100.eapac.ericsson.se>
	<Pine.SOL.4.64.0606051418280.14792@kekkonen.cs.hut.fi>
	<4487D376.90401@ericsson.com>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed
X-Spam-Score: -2.6 (--)
X-Scan-Signature: 39bd8f8cbb76cae18b7e23f7cf6b2b9f
Cc: multimobsec-api@ietf.org
Subject: [MULTIMOBSEC-API] Re: update of api draft
X-BeenThere: multimobsec-api@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "Multihoming, mobility and security APIs" <multimobsec-api.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/multimobsec-api>
List-Post: <mailto:multimobsec-api@ietf.org>
List-Help: <mailto:multimobsec-api-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=subscribe>
Errors-To: multimobsec-api-bounces@ietf.org

On Thu, 8 Jun 2006, Kristian Slavov wrote:

> Sorry for commenting late.
>
> Miika Komu wrote:
>> 
>> The "apply shim" bullet does not really mention whether it is "try" or 
>> "must" apply shim. Remember that the peer may or may not be capable of 
>> supporting shim. Trying shim means that we can fallback to plain TCP/IP 
>> communications. Similarly, must means that we want to use shim or nothing 
>> at all. I believe a separate requirement for both would be nice.
>
> Could this be a policy option rather than API option? Is there a case, where 
> the administrator of the system says "ok, falling back is allowed", but the 
> application will not want to. I would assume the shim aware programs would 
> provide best-effort services, and that includes plain old TCP/IP.
>
> The other way around (i.e. policy denies connections that are not processed 
> by the shim layer), I can understand very well. All companies have security 
> policies and restrictions, and they would like to enforce them, regardless of 
> what the programs/users would like to do.
>
> Perhaps I'm just frustrated by software that tells me what I'm allowed to do, 
> rather than doing what I want it to do. :)

It be a system specific option, but I think applications should be able to 
request it explicitly as well.

IMHO, the draft is more about shim enabled applications rather than 
adminstrative, system level options. I believe that there is little need 
to standardize APIs just for administrative system options because each 
operating system can implement as they want to (even using archaic ioctl 
calls). However, this does not exclude that the API we are defining could 
not be run as super user to get more power :)

-- 
Miika Komu              miika@iki.fi          http://www.iki.fi/miika/

_______________________________________________
MULTIMOBSEC-API mailing list
MULTIMOBSEC-API@ietf.org
https://www1.ietf.org/mailman/listinfo/multimobsec-api



From multimobsec-api-bounces@ietf.org Thu Jun 08 04:07:58 2006
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com)
	by megatron.ietf.org with esmtp (Exim 4.43)
	id 1FoFYc-0000c0-FQ; Thu, 08 Jun 2006 04:07:58 -0400
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org)
	by megatron.ietf.org with esmtp (Exim 4.43) id 1FoFYb-0000bv-UO
	for multimobsec-api@ietf.org; Thu, 08 Jun 2006 04:07:57 -0400
Received: from n2.nomadiclab.com ([193.234.219.2])
	by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1FoFYZ-0000bL-E5
	for multimobsec-api@ietf.org; Thu, 08 Jun 2006 04:07:57 -0400
Received: from n2.nomadiclab.com (localhost [127.0.0.1])
	by n2.nomadiclab.com (Postfix) with ESMTP id BD796212C5F;
	Thu,  8 Jun 2006 11:07:53 +0300 (EEST)
Received: from outside.nomadiclab.com (d146.nomadiclab.com [193.234.218.146])
	by n2.nomadiclab.com (Postfix) with ESMTP id 8B241212C5D;
	Thu,  8 Jun 2006 11:07:53 +0300 (EEST)
Received: from outside.nomadiclab.com (localhost [127.0.0.1])
	by outside.nomadiclab.com (Postfix) with ESMTP id 543B1BDC40;
	Thu,  8 Jun 2006 11:07:53 +0300 (EEST)
Received: from [193.234.219.179] (w179.nomadiclab.com [193.234.219.179])
	by outside.nomadiclab.com (Postfix) with ESMTP id 1ED84BDC38;
	Thu,  8 Jun 2006 11:07:53 +0300 (EEST)
In-Reply-To: <4487D376.90401@ericsson.com>
References: <DA38843C0546204C8CFBBB411311BB4A017214C1@ejpsymw100.eapac.ericsson.se>
	<Pine.SOL.4.64.0606051418280.14792@kekkonen.cs.hut.fi>
	<4487D376.90401@ericsson.com>
Mime-Version: 1.0 (Apple Message framework v624)
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Message-Id: <aed2268c9d30ce6059c923922b046a05@it.uc3m.es>
Content-Transfer-Encoding: quoted-printable
From: marcelo bagnulo braun <marcelo@it.uc3m.es>
Date: Thu, 8 Jun 2006 11:07:52 +0300
To: Kristian Slavov <Kristian.Slavov@ericsson.com>
X-Mailer: Apple Mail (2.624)
X-Virus-Scanned: ClamAV using ClamSMTP
X-Virus-Scanned: ClamAV using ClamSMTP
X-Spam-Score: 0.0 (/)
X-Scan-Signature: fb6060cb60c0cea16e3f7219e40a0a81
Cc: multimobsec-api@ietf.org
Subject: [MULTIMOBSEC-API] Re: update of api draft
X-BeenThere: multimobsec-api@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "Multihoming, mobility and security APIs" <multimobsec-api.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/multimobsec-api>
List-Post: <mailto:multimobsec-api@ietf.org>
List-Help: <mailto:multimobsec-api-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=subscribe>
Errors-To: multimobsec-api-bounces@ietf.org


El 08/06/2006, a las 10:36, Kristian Slavov escribi=F3:

> Hi,
>
> Sorry for commenting late.
>
> Miika Komu wrote:
>> The "apply shim" bullet does not really mention whether it is "try"=20=

>> or "must" apply shim. Remember that the peer may or may not be=20
>> capable of supporting shim. Trying shim means that we can fallback to=20=

>> plain TCP/IP communications. Similarly, must means that we want to=20
>> use shim or nothing at all. I believe a separate requirement for both=20=

>> would be nice.
>
>
> Could this be a policy option rather than API option? Is there a case,=20=

> where the administrator of the system says "ok, falling back is=20
> allowed", but the application will not want to. I would assume the=20
> shim aware programs would provide best-effort services, and that=20
> includes plain old TCP/IP.
>

I think it is important to note a couple of points:
- shim6 default behaviour is deferred setup, meaning that=20
communications will start using palin v6 and the later, due to some=20
heuristics, they will trigger the shim6 establishmente exchange. At=20
this point the peer that attempts to establish the shim6 context may=20
well find out tha the peer does not support the shim (or that the shim6=20=

protocol is blocked or similar). However the interesting thing, is that=20=

whether the shim6 context is established or not, this does not have=20
inmediate concequences for the ongoing communication. the difference=20
will be in the case that there is a failure. So, i think that in this=20
case, it doesn't makes much sense to interrupt the ongoing=20
communication because shim6 is not available. Of course it would make=20
sense to notify the application that the shim is not supported, so that=20=

it knows what to expect (however i would argue that this is shim6=20
specific and does not belong to this document)

- shim6 can be used without deferred setup, in a similar fashion than=20
the hip defaul behaviour. I guess that in this case it would make sense=20=

the option of must shim.

Regards, marcelo



> The other way around (i.e. policy denies connections that are not=20
> processed by the shim layer), I can understand very well. All=20
> companies have security policies and restrictions, and they would like=20=

> to enforce them, regardless of what the programs/users would like to=20=

> do.
>
> Perhaps I'm just frustrated by software that tells me what I'm allowed=20=

> to do, rather than doing what I want it to do. :)
>
> --=20
> Kristian Slavov, Research Engineer
> Ericsson Research, Nomadiclab
> Jorvas, Finland
>


_______________________________________________
MULTIMOBSEC-API mailing list
MULTIMOBSEC-API@ietf.org
https://www1.ietf.org/mailman/listinfo/multimobsec-api



From multimobsec-api-bounces@ietf.org Thu Jun 08 04:11:18 2006
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com)
	by megatron.ietf.org with esmtp (Exim 4.43)
	id 1FoFbq-0003BW-M1; Thu, 08 Jun 2006 04:11:18 -0400
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org)
	by megatron.ietf.org with esmtp (Exim 4.43) id 1FoFWw-0008PF-N5
	for multimobsec-api@ietf.org; Thu, 08 Jun 2006 04:06:14 -0400
Received: from mailgw4.ericsson.se ([193.180.251.62])
	by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1FoFWu-0000Yp-Ui
	for multimobsec-api@ietf.org; Thu, 08 Jun 2006 04:06:14 -0400
Received: from esealmw126.eemea.ericsson.se (unknown [153.88.254.123])
	by mailgw4.ericsson.se (Symantec Mail Security) with ESMTP id
	28E314F0001; Thu,  8 Jun 2006 10:06:12 +0200 (CEST)
Received: from esealmw126.eemea.ericsson.se ([153.88.254.174]) by
	esealmw126.eemea.ericsson.se with Microsoft SMTPSVC(6.0.3790.1830); 
	Thu, 8 Jun 2006 10:06:11 +0200
Received: from mail.lmf.ericsson.se ([131.160.11.50]) by
	esealmw126.eemea.ericsson.se with Microsoft SMTPSVC(6.0.3790.1830); 
	Thu, 8 Jun 2006 10:06:11 +0200
Received: from nomadiclab.lmf.ericsson.se (nomadiclab.lmf.ericsson.se
	[131.160.33.3])
	by mail.lmf.ericsson.se (Postfix) with ESMTP id 9EE30236E;
	Thu,  8 Jun 2006 11:06:11 +0300 (EEST)
Received: from nomadiclab.lmf.ericsson.se (localhost [127.0.0.1])
	by nomadiclab.lmf.ericsson.se (Postfix) with ESMTP id 64EC94DB35;
	Thu,  8 Jun 2006 11:06:11 +0300 (EEST)
Received: from [127.0.0.1] (localhost [127.0.0.1])
	by nomadiclab.lmf.ericsson.se (Postfix) with ESMTP id E93F04DA93;
	Thu,  8 Jun 2006 11:06:10 +0300 (EEST)
Message-ID: <4487DA72.5040900@ericsson.com>
Date: Thu, 08 Jun 2006 11:06:10 +0300
From: Kristian Slavov <Kristian.Slavov@ericsson.com>
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US;
	rv:1.7.12) Gecko/20060205 Debian/1.7.12-1.1
X-Accept-Language: en
MIME-Version: 1.0
To: "Shinta Sugimoto (TO/NRJ)" <shinta.sugimoto@ericsson.com>
References: <DA38843C0546204C8CFBBB411311BB4A017214CF@ejpsymw100.eapac.ericsson.se>
In-Reply-To: <DA38843C0546204C8CFBBB411311BB4A017214CF@ejpsymw100.eapac.ericsson.se>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
X-Virus-Scanned: ClamAV using ClamSMTP
X-OriginalArrivalTime: 08 Jun 2006 08:06:11.0323 (UTC)
	FILETIME=[67A464B0:01C68AD2]
X-Brightmail-Tracker: AAAAAA==
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 6cca30437e2d04f45110f2ff8dc1b1d5
X-Mailman-Approved-At: Thu, 08 Jun 2006 04:11:17 -0400
Cc: multimobsec-api@ietf.org
Subject: [MULTIMOBSEC-API] Re: update of api draft
X-BeenThere: multimobsec-api@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "Multihoming, mobility and security APIs" <multimobsec-api.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/multimobsec-api>
List-Post: <mailto:multimobsec-api@ietf.org>
List-Help: <mailto:multimobsec-api-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=subscribe>
Errors-To: multimobsec-api-bounces@ietf.org

Some comments...

Shinta Sugimoto (TO/NRJ) wrote:
> Hi Miika,
> 
> Thank you for your thorough comments. Please find my comments inline. 
> 
>>From: Miika Komu [mailto:miika@iki.fi] 
>>
>>Opinions, please?
> 
> 
> As the generic concept of the "shim layer" should be protocol
> independent, it seems reasonable to have prefix "SOL_" rather
> than "IPPROTO_."  In my understanding, "IPPROTO_" implies
> specific protocol, but "SOL_" could followed by conceptual
> layer such as socket or shim layer, IMHO.
> Does this make sense ?


I agree with both of you. The IPPROTO_HIP/SHIM6 should be used as for 
controlling sockets. I.e. the hip or shim6 daemon would use these socket 
options if it wants to write something to kernel space.
However, the ordinary applications shouldn't be using these, but rather 
SOL_SHIM, as they are not sending HIP or SHIM6 protocol messages, but only 
payload data.



>>>Table 1: Socket Options for Multihomed Shim Layer
>>
>>* For all option names, please add a SO_ prefix. For example, 
>>SHIM_APPLY
>>   should be SO_SHIM_APPLY
> 
> 
> As far as I understand, prefix of the socket options should
> indicate which 'level' the option is for.


I agree.


>>* SHIM_LOCPAIR_PREF and SHIM_LOCPAIR_RECV
>>   * I suggest removing this pairing concept and using single locators
>>     instead, unles you have a specific need to do otherwise. E.g.
>>     have SHIM_LOC_LOCAL_PREF, SHIM_LOC_PEER_PREF and same for RECV.
> 
> 
> I see, maybe we should not introduce new datastructure only for the
> reason to pairing the locators.  Noted.


I think it is good to separate. Allows us using multiple preferred 
addresses (although I'm not sure if that is really useful).



>>I suggest standard "struct addrinfo" data structure, man 
>>getaddrinfo, or:
>>
>>ftp://ftp.rfc-editor.org/in-notes/rfc3493.txt
> 
> 
> Ok, I think sockaddrs_storage will do the job, as Kristian pointed out.


Actually, I think Miika has a point here too. The addrinfo structure is 
much more versatile than plain sockaddr_storage. But the penalty is that 
the kernel side (of get/setsockopt) must be careful with all the pointers.
However, I'm not sure if all the information in addrinfo structure is 
actually needed at the shim layer.


-- 
Kristian Slavov, Research Engineer
Ericsson Research, Nomadiclab
Jorvas, Finland

_______________________________________________
MULTIMOBSEC-API mailing list
MULTIMOBSEC-API@ietf.org
https://www1.ietf.org/mailman/listinfo/multimobsec-api



From multimobsec-api-bounces@ietf.org Thu Jun 08 05:35:58 2006
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com)
	by megatron.ietf.org with esmtp (Exim 4.43)
	id 1FoGvm-000218-Fs; Thu, 08 Jun 2006 05:35:58 -0400
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org)
	by megatron.ietf.org with esmtp (Exim 4.43) id 1FoGvl-00020x-GO
	for multimobsec-api@ietf.org; Thu, 08 Jun 2006 05:35:57 -0400
Received: from mailgw3.ericsson.se ([193.180.251.60])
	by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1FoGvj-00030q-Cp
	for multimobsec-api@ietf.org; Thu, 08 Jun 2006 05:35:57 -0400
Received: from esealmw126.eemea.ericsson.se (unknown [153.88.254.123])
	by mailgw3.ericsson.se (Symantec Mail Security) with ESMTP id
	3ED4E4F004D; Thu,  8 Jun 2006 11:35:54 +0200 (CEST)
Received: from esealmw128.eemea.ericsson.se ([153.88.254.172]) by
	esealmw126.eemea.ericsson.se with Microsoft SMTPSVC(6.0.3790.1830); 
	Thu, 8 Jun 2006 11:35:53 +0200
Received: from mail.lmf.ericsson.se ([131.160.11.50]) by
	esealmw128.eemea.ericsson.se with Microsoft SMTPSVC(6.0.3790.1830); 
	Thu, 8 Jun 2006 11:35:52 +0200
Received: from nomadiclab.lmf.ericsson.se (nomadiclab.lmf.ericsson.se
	[131.160.33.3])
	by mail.lmf.ericsson.se (Postfix) with ESMTP id 6FFF7236E;
	Thu,  8 Jun 2006 12:35:52 +0300 (EEST)
Received: from nomadiclab.lmf.ericsson.se (localhost [127.0.0.1])
	by nomadiclab.lmf.ericsson.se (Postfix) with ESMTP id 0928F4DB35;
	Thu,  8 Jun 2006 12:35:52 +0300 (EEST)
Received: from [127.0.0.1] (localhost [127.0.0.1])
	by nomadiclab.lmf.ericsson.se (Postfix) with ESMTP id 8A83A4DA93;
	Thu,  8 Jun 2006 12:35:51 +0300 (EEST)
Message-ID: <4487EF77.80608@ericsson.com>
Date: Thu, 08 Jun 2006 12:35:51 +0300
From: Kristian Slavov <Kristian.Slavov@ericsson.com>
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US;
	rv:1.7.12) Gecko/20060205 Debian/1.7.12-1.1
X-Accept-Language: en
MIME-Version: 1.0
To: "Shinta Sugimoto (TO/NRJ)" <shinta.sugimoto@ericsson.com>
References: <DA38843C0546204C8CFBBB411311BB4A017214D0@ejpsymw100.eapac.ericsson.se>
In-Reply-To: <DA38843C0546204C8CFBBB411311BB4A017214D0@ejpsymw100.eapac.ericsson.se>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
X-Virus-Scanned: ClamAV using ClamSMTP
X-OriginalArrivalTime: 08 Jun 2006 09:35:52.0658 (UTC)
	FILETIME=[EF2AF320:01C68ADE]
X-Brightmail-Tracker: AAAAAA==
X-Spam-Score: 0.0 (/)
X-Scan-Signature: a8a20a483a84f747e56475e290ee868e
Cc: multimobsec-api@ietf.org
Subject: [MULTIMOBSEC-API] Re: update of api draft
X-BeenThere: multimobsec-api@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "Multihoming, mobility and security APIs" <multimobsec-api.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/multimobsec-api>
List-Post: <mailto:multimobsec-api@ietf.org>
List-Help: <mailto:multimobsec-api-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=subscribe>
Errors-To: multimobsec-api-bounces@ietf.org

Shinta Sugimoto (TO/NRJ) wrote:
> 
> So I'd suggest:
> SHIM_APPLIED (read-only) - Check if socket is associated with any shim
> context
> 
> SHIM_DONTSHIM (read/write) - if 0, shim is applied (default), if set to
> 1, shim is disabled.
 >
> Shinta: I think your suggestion is better than what is stated in the
> current draft.  But let me clarify a bit about SHIM_APPLIED
> (or whatever called).  It's basically for allowing app to know whether
> if it has any associated shim context with its socket.  Such feature
> is useful when the locator information is not useful to determine if
> there is any associated context with the socket.  Note that EID
> pair and locator pair could be the same, in some case (particularly
> in case of SHIM6).  So, to be more specific, it's not about whether
> if shim is applied or not, but it's about if the socket is associated
> with any shim context or not.  So, I would propose
> SHIM_ASSOCIATED (read-only). Does this sound fine ?


Yes, it does. I guess that is what I had in mind.



>    ISSUE: We should clarify implications for existing socket API
>    features, especially IPV6_PKTINFO as it has some implications on
>    locator selection.  In some case, there might be contradictory case
>    where IPV6_PKTINFO and SHIM_lOCPAIR_SEND/SHIM_LOCPAIR_RECV are
>    specified at the same time.
> 
> 
> Kristian: My initial reaction would be to prioritize shim, if 
>           SHIM_DONTSHIM socket option is NOT set. Otherwise follow 
>           IPV6_PKTINFO options.
> 
> Shinta: I see. IMHO, we should sort out PKTINFO 
> 
> for outbound, PKTINFO allows app to specify following:
> 
> 1) source IPv6 addres
> 2) output interface (ifindex)
> 3) hop-limit
> 4) next-hop address
> 
> The conflict with the shim layer may affect 1) and 2).
> For 1), it should be handled above the shim layer. However,
> I don't think 2) can be done in that way.  I mean, if the shim
> layer is present and performing locator switch based on a
> context information, there is no gurantee that 2) can be
> done as the app specified.  So, I think we should mention
> in the draft that 2) may be affected by the API.


Ok, but I'd like to point out that in (many?) cases you want to define 
hop-limit/next-hop based on the knowledge of the output interface AND/OR 
source address. So they might not be meaningful if shim layer changes 1) 
and/or 2).


> 
> for inbound, PKTINFO allows app to receive following:
> 
> 1) destination IPv6 address
> 2) receiving interface (ifindex)
> 3) hop-limit
> 


Perhaps we need to extend this. Let's consider a scenario with a simple 
connected connection. You are bound to certain EID in both ends (whether 
implicitly or explicitly, doesn't matter). You can query this EID by other 
means (getsockopts, right?). However, if you want to see which destination 
locator the peer used, that you cannot know. So in this scenario returning 
  1, 2 and 3 as is, is fine. (I'm assuming hop-limit equals to the 
remaining hops in the incoming packet)

However, if we have a diagnostics application, or something else that 
listens to all kinds of traffic, then we probably could also use options:
4) EID

This allows the application to find out to which shimmed context the 
packet also belongs.


 > IMHO, 1) should return destination EID, but I am not sure
 > about 2).  Should 2) return actual interface from which the
 > IP packet was received or return the interface to which
 > destination EID is assigned ?  Any comments ?


The information about to which destination EID is assigned, is not 
important. You can find that out by other means. For example, having the 
EID and querying interfaces' addresses.

So, in short: 1,2,3 as is. Add 4) EID/ULID


-- 
Kristian Slavov, Research Engineer
Ericsson Research, Nomadiclab
Jorvas, Finland

_______________________________________________
MULTIMOBSEC-API mailing list
MULTIMOBSEC-API@ietf.org
https://www1.ietf.org/mailman/listinfo/multimobsec-api



From multimobsec-api-bounces@ietf.org Thu Jun 08 05:40:48 2006
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com)
	by megatron.ietf.org with esmtp (Exim 4.43)
	id 1FoH0S-0006i2-Kp; Thu, 08 Jun 2006 05:40:48 -0400
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org)
	by megatron.ietf.org with esmtp (Exim 4.43) id 1FoH0R-0006ho-JF
	for multimobsec-api@ietf.org; Thu, 08 Jun 2006 05:40:47 -0400
Received: from stsc1260-eth-s1-s1p1-vip.va.neustar.com ([156.154.16.129]
	helo=chiedprmail1.ietf.org)
	by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1FoGk9-0001Fx-KM
	for multimobsec-api@ietf.org; Thu, 08 Jun 2006 05:23:57 -0400
Received: from twilight.cs.hut.fi ([130.233.40.5])
	by chiedprmail1.ietf.org with esmtp (Exim 4.43) id 1FoGTZ-0002Or-JH
	for multimobsec-api@ietf.org; Thu, 08 Jun 2006 05:06:51 -0400
Received: by twilight.cs.hut.fi (Postfix, from userid 60001)
	id E73232F5C; Thu,  8 Jun 2006 12:06:48 +0300 (EEST)
X-Spam-Checker-Version: SpamAssassin 3.1.2-niksula20060321 (2006-05-25) on 
	twilight.cs.hut.fi
X-Spam-Level: 
X-Spam-Status: No, score=-1.4 required=5.0 tests=ALL_TRUSTED autolearn=failed 
	version=3.1.2-niksula20060321
X-Spam-Niksula: No
Received: from kekkonen.cs.hut.fi (kekkonen.cs.hut.fi [130.233.41.50])
	by twilight.cs.hut.fi (Postfix) with ESMTP id 6319F2C0D;
	Thu,  8 Jun 2006 12:06:48 +0300 (EEST)
Received: from localhost (mkomu@localhost)
	by kekkonen.cs.hut.fi (8.13.4+Sun/8.13.3/Submit) with ESMTP id
	k5896lEA019374; Thu, 8 Jun 2006 12:06:48 +0300 (EEST)
X-Authentication-Warning: kekkonen.cs.hut.fi: mkomu owned process doing -bs
Date: Thu, 8 Jun 2006 12:06:47 +0300 (EEST)
From: Miika Komu <miika@iki.fi>
X-X-Sender: mkomu@kekkonen.cs.hut.fi
To: marcelo bagnulo braun <marcelo@it.uc3m.es>
In-Reply-To: <aed2268c9d30ce6059c923922b046a05@it.uc3m.es>
Message-ID: <Pine.SOL.4.64.0606081205230.18687@kekkonen.cs.hut.fi>
References: <DA38843C0546204C8CFBBB411311BB4A017214C1@ejpsymw100.eapac.ericsson.se>
	<Pine.SOL.4.64.0606051418280.14792@kekkonen.cs.hut.fi>
	<4487D376.90401@ericsson.com>
	<aed2268c9d30ce6059c923922b046a05@it.uc3m.es>
MIME-Version: 1.0
Content-Type: MULTIPART/MIXED;
	BOUNDARY="-559023410-1804928587-1149757607=:18687"
X-Spam-Score: -2.6 (--)
X-Scan-Signature: d8ae4fd88fcaf47c1a71c804d04f413d
Cc: multimobsec-api@ietf.org, Kristian Slavov <Kristian.Slavov@ericsson.com>
Subject: [MULTIMOBSEC-API] Re: update of api draft
X-BeenThere: multimobsec-api@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "Multihoming, mobility and security APIs" <multimobsec-api.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/multimobsec-api>
List-Post: <mailto:multimobsec-api@ietf.org>
List-Help: <mailto:multimobsec-api-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=subscribe>
Errors-To: multimobsec-api-bounces@ietf.org

  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

---559023410-1804928587-1149757607=:18687
Content-Type: TEXT/PLAIN; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: quoted-printable

On Thu, 8 Jun 2006, marcelo bagnulo braun wrote:

>
> El 08/06/2006, a las 10:36, Kristian Slavov escribi=F3:
>
>> Hi,
>>=20
>> Sorry for commenting late.
>>=20
>> Miika Komu wrote:
>>> The "apply shim" bullet does not really mention whether it is "try" o=
r=20
>>> "must" apply shim. Remember that the peer may or may not be capable o=
f=20
>>> supporting shim. Trying shim means that we can fallback to plain TCP/=
IP=20
>>> communications. Similarly, must means that we want to use shim or not=
hing=20
>>> at all. I believe a separate requirement for both would be nice.
>>=20
>>=20
>> Could this be a policy option rather than API option? Is there a case,=
=20
>> where the administrator of the system says "ok, falling back is allowe=
d",=20
>> but the application will not want to. I would assume the shim aware=20
>> programs would provide best-effort services, and that includes plain o=
ld=20
>> TCP/IP.
>
> I think it is important to note a couple of points:
> - shim6 default behaviour is deferred setup, meaning that communication=
s will=20
> start using palin v6 and the later, due to some heuristics, they will t=
rigger=20
> the shim6 establishmente exchange. At this point the peer that attempts=
 to=20
> establish the shim6 context may well find out tha the peer does not sup=
port=20
> the shim (or that the shim6 protocol is blocked or similar). However th=
e=20
> interesting thing, is that whether the shim6 context is established or =
not,=20
> this does not have inmediate concequences for the ongoing communication=
. the=20
> difference will be in the case that there is a failure. So, i think tha=
t in=20
> this case, it doesn't makes much sense to interrupt the ongoing communi=
cation=20
> because shim6 is not available. Of course it would make sense to notify=
 the=20
> application that the shim is not supported, so that it knows what to ex=
pect=20
> (however i would argue that this is shim6 specific and does not belong =
to=20
> this document)
>
> - shim6 can be used without deferred setup, in a similar fashion than t=
he hip=20
> defaul behaviour. I guess that in this case it would make sense the opt=
ion of=20
> must shim.

FYI, the similar behaviour may be available for HIP as well later on.

--=20
Miika Komu              miika@iki.fi          http://www.iki.fi/miika/
---559023410-1804928587-1149757607=:18687
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MULTIMOBSEC-API mailing list
MULTIMOBSEC-API@ietf.org
https://www1.ietf.org/mailman/listinfo/multimobsec-api

---559023410-1804928587-1149757607=:18687--




From multimobsec-api-bounces@ietf.org Thu Jun 08 05:53:21 2006
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com)
	by megatron.ietf.org with esmtp (Exim 4.43)
	id 1FoHCb-0002PS-Gb; Thu, 08 Jun 2006 05:53:21 -0400
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org)
	by megatron.ietf.org with esmtp (Exim 4.43) id 1FoHCa-0002PJ-Jt
	for multimobsec-api@ietf.org; Thu, 08 Jun 2006 05:53:20 -0400
Received: from stsc1260-eth-s1-s1p1-vip.va.neustar.com ([156.154.16.129]
	helo=chiedprmail1.ietf.org)
	by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1FoGkB-0001Fx-2q
	for multimobsec-api@ietf.org; Thu, 08 Jun 2006 05:23:59 -0400
Received: from twilight.cs.hut.fi ([130.233.40.5])
	by chiedprmail1.ietf.org with esmtp (Exim 4.43) id 1FoGQd-0002MS-9q
	for multimobsec-api@ietf.org; Thu, 08 Jun 2006 05:03:49 -0400
Received: by twilight.cs.hut.fi (Postfix, from userid 60001)
	id 7F06B301C; Thu,  8 Jun 2006 12:03:44 +0300 (EEST)
X-Spam-Checker-Version: SpamAssassin 3.1.2-niksula20060321 (2006-05-25) on 
	twilight.cs.hut.fi
X-Spam-Level: 
X-Spam-Status: No, score=-1.4 required=5.0 tests=ALL_TRUSTED autolearn=failed 
	version=3.1.2-niksula20060321
X-Spam-Niksula: No
Received: from kekkonen.cs.hut.fi (kekkonen.cs.hut.fi [130.233.41.50])
	by twilight.cs.hut.fi (Postfix) with ESMTP id 04BF22FE0;
	Thu,  8 Jun 2006 12:03:44 +0300 (EEST)
Received: from localhost (mkomu@localhost)
	by kekkonen.cs.hut.fi (8.13.4+Sun/8.13.3/Submit) with ESMTP id
	k5893hrw019190; Thu, 8 Jun 2006 12:03:43 +0300 (EEST)
X-Authentication-Warning: kekkonen.cs.hut.fi: mkomu owned process doing -bs
Date: Thu, 8 Jun 2006 12:03:43 +0300 (EEST)
From: Miika Komu <miika@iki.fi>
X-X-Sender: mkomu@kekkonen.cs.hut.fi
To: Kristian Slavov <Kristian.Slavov@ericsson.com>
In-Reply-To: <4487DA72.5040900@ericsson.com>
Message-ID: <Pine.SOL.4.64.0606081155310.18687@kekkonen.cs.hut.fi>
References: <DA38843C0546204C8CFBBB411311BB4A017214CF@ejpsymw100.eapac.ericsson.se>
	<4487DA72.5040900@ericsson.com>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed
X-Spam-Score: -2.6 (--)
X-Scan-Signature: 9182cfff02fae4f1b6e9349e01d62f32
Cc: multimobsec-api@ietf.org
Subject: [MULTIMOBSEC-API] Re: update of api draft
X-BeenThere: multimobsec-api@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "Multihoming, mobility and security APIs" <multimobsec-api.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/multimobsec-api>
List-Post: <mailto:multimobsec-api@ietf.org>
List-Help: <mailto:multimobsec-api-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=subscribe>
Errors-To: multimobsec-api-bounces@ietf.org

On Thu, 8 Jun 2006, Kristian Slavov wrote:

>>> I suggest standard "struct addrinfo" data structure, man getaddrinfo, or:
>>> 
>>> ftp://ftp.rfc-editor.org/in-notes/rfc3493.txt
>> 
>> 
>> Ok, I think sockaddrs_storage will do the job, as Kristian pointed out.
>
> Actually, I think Miika has a point here too. The addrinfo structure is much 
> more versatile than plain sockaddr_storage. But the penalty is that the 
> kernel side (of get/setsockopt) must be careful with all the pointers.
> However, I'm not sure if all the information in addrinfo structure is 
> actually needed at the shim layer.

Yes. I checked out the original email, and I meant point 1 (locinfo) and 
not 2:

    *1: pointer to the buffer to which stores array of locator
    information.

    *2: TBD.

-- 
Miika Komu              miika@iki.fi          http://www.iki.fi/miika/

_______________________________________________
MULTIMOBSEC-API mailing list
MULTIMOBSEC-API@ietf.org
https://www1.ietf.org/mailman/listinfo/multimobsec-api



From multimobsec-api-bounces@ietf.org Mon Jun 12 04:20:41 2006
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com)
	by megatron.ietf.org with esmtp (Exim 4.43)
	id 1Fphf7-00041b-A7; Mon, 12 Jun 2006 04:20:41 -0400
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org)
	by megatron.ietf.org with esmtp (Exim 4.43) id 1Fphf6-0003xC-EV
	for multimobsec-api@ietf.org; Mon, 12 Jun 2006 04:20:40 -0400
Received: from n2.nomadiclab.com ([193.234.219.2])
	by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1Fphf1-0003pq-L1
	for multimobsec-api@ietf.org; Mon, 12 Jun 2006 04:20:40 -0400
Received: from n2.nomadiclab.com (localhost [127.0.0.1])
	by n2.nomadiclab.com (Postfix) with ESMTP id B0307212C5D
	for <multimobsec-api@ietf.org>; Mon, 12 Jun 2006 11:20:33 +0300 (EEST)
Received: from [127.0.0.1] (localhost [127.0.0.1])
	by n2.nomadiclab.com (Postfix) with ESMTP id 75A25212C4A
	for <multimobsec-api@ietf.org>; Mon, 12 Jun 2006 11:20:33 +0300 (EEST)
Mime-Version: 1.0 (Apple Message framework v750)
References: <E4B0ECFD-3565-47C7-A970-CF245F91975C@netlab.nec.de>
Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed
Message-Id: <85FF3394-70EF-4662-91F5-F9FD33A382AA@nomadiclab.com>
Content-Transfer-Encoding: 7bit
From: Pekka Nikander <pekka.nikander@nomadiclab.com>
Date: Mon, 12 Jun 2006 11:18:28 +0300
To: multimobsec-api@ietf.org
X-Mailer: Apple Mail (2.750)
X-Virus-Scanned: ClamAV using ClamSMTP
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 4b7d60495f1a7f2e853e8cbae7e6dbfc
Subject: [MULTIMOBSEC-API] Fwd: [Int-area] BOF: Transport-Enhancing
	Refinements to the Network Layer Interface (TERNLI)
X-BeenThere: multimobsec-api@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "Multihoming, mobility and security APIs" <multimobsec-api.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/multimobsec-api>
List-Post: <mailto:multimobsec-api@ietf.org>
List-Help: <mailto:multimobsec-api-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=subscribe>
Errors-To: multimobsec-api-bounces@ietf.org

FYI.  --Pekka

Begin forwarded message:

> From: Lars Eggert <lars.eggert@netlab.nec.de>
> Date: June 12, 2006 10:33:14 GMT+03:00
> To: ietf@ietf.org, tsvwg@ietf.org, int-area@ietf.org, mobopts@irtf.org
> Subject: [Int-area] BOF: Transport-Enhancing Refinements to the  
> Network Layer Interface (TERNLI)
> Reply-To: ternli@ietf.org
>
> Hi,
>
> please note that the TSV and INT are sponsoring the following non- 
> WG-forming BOF in Montreal. We'd welcome any input you may have on  
> the scope or content of this BOF. This discussion should take place  
> on the BOF mailing list.
>
> Thanks,
> Lars
>
> ---------------------------------------------------------------------- 
> ----
>
> Transport-Enhancing Refinements to the Network Layer Interface  
> (TERNLI)
> (pronounce: "turn-ly")
>
> BOF Chairs:
> <tbd>
>
> Sponsoring Area Directors:
> Lars Eggert <lars.eggert@netlab.nec.de>
> Magnus Westerlund <magnus.westerlund@ericsson.com>
> Jari Arkko <jari.arkko@piuha.net>
>
> Mailing List:
> General Discussion: ternli@ietf.org
> To Subscribe: https://www.ietf.org/mailman/listinfo/ternli
> Archive: http://www.ietf.org/mail-archive/web/ternli/index.html
>
>
> BACKGROUND
>
> The communication abstraction provided by IP at the network layer  
> delivers packets in an unordered, unreliable manner and does not  
> protect against duplication. The users of this abstraction, i.e.,  
> the transport protocols, have made additional assumptions about  
> this abstraction. Many of these assumptions are critical to the  
> effective operation of important transport mechanisms, such as  
> congestion control, flow control or reliability. These assumptions  
> include, for example, that hosts remain at network locations  
> identified by an IP address on timescales that are orders of  
> magnitude larger than the duration of a communication instance.  
> Another such assumption is that packets flowing from a source to a  
> destination mostly follow the same path and that changes to that  
> path occur on timescales that are several orders of magnitude  
> larger than the RTT between the two hosts. Similarly, transport  
> mechanisms have assumed that the characteristics of such paths,  
> such as bandwidth, delay, reordering and loss probabilities, also  
> change on timescales much larger than the RTT.
>
> In the current Internet, many of these assumptions are no longer  
> generally true, because it has become much more dynamic in recent  
> years. Mobile hosts and whole subnetworks have started to move  
> between network locations on relatively short timescales. A growing  
> number of hosts is multi-homed, connected through multiple links  
> with possibly very different properties at the same time. The  
> Internet has incorporated new link technologies with  
> characteristics that are much more dynamic than in the past, due to  
> functionality such as link-layer retransmissions, adaptive coding  
> or support for link-local mobility.
>
> Several extensions to the internal functionality of the network  
> layer, such as Mobile IP, NEMO, HIP or SHIM6, support communication  
> in such dynamic environments. These extensions maintain the  
> traditional interface between network and transport layers,  
> isolating the transports from some of the dynamic effects present  
> at and below the network layer, similar to how transports remain  
> unaware of routing changes or packet fragmentation. They  
> consequently allow existing transport protocols to continue to  
> operate without modifications.
>
> This isolation, however, comes at a cost, because the traditional  
> communication abstraction maintained by these new network-layer  
> extensions hides information that transport-layer protocols should  
> act on. Many common transport mechanisms, such as congestion window  
> estimation, RTT measurements or path MTU discovery, are not agile  
> enough to properly handle the significant instantaneous changes to  
> path characteristics that these network-layer extensions introduce.  
> This can, in turn, decrease the effectiveness of important  
> transport mechanisms, such as congestion control. Consequently,  
> although existing transports can operate on top of these network- 
> layer extensions to some degree, their performance and efficiency  
> decreases.
>
>
> SCOPE
>
> This BOF brings together the INT and TSV communities to discuss how  
> this inter-area problem space can be successfully approached within  
> the IETF and IRTF. Consequently, detailed presentations of specific  
> technical proposals are out-of-scope for this BOF. The BOF will  
> also *not* lead to the formation of a working group. The goal is to  
> give interested parties a venue for discussing how this problem  
> space might be sliced.
>
> The simple, general purpose interface between the network and  
> transport layers is one of the key features that has guaranteed the  
> evolvability of the Internet architecture, because it maintains the  
> independence of transport layers from functionality located below  
> it, and vice versa. Approaches for extending this core component  
> must therefore be broadly applicable and be of general usefulness.  
> Point solutions that optimize for specific deployment scenarios or  
> technologies are thus not relevant to this discussion.
>
>
> DISCUSSION MATERIAL
>
> A possible approach might be to identify a generic, technology- 
> independent set of well-defined network- and lower-layer  
> information that has the potential to improve performance and  
> operation of a large number of different transport mechanisms and  
> protocols and can be provided in different ways by different  
> specific underlying mechanisms and technologies. This information  
> must be optional, i.e., it might improve transport operation if  
> present, but transports must not depend on its presence.
>
> One existing example of an extension that follows this general  
> approach is Explicit Congestion Notification (ECN). The ECN signal  
> is well-defined and can be provided in different ways by network- 
> layer mechanisms; transport protocols act on the signal  
> independently of where and how it was generated. Another example of  
> such an extension in this spirit is Quick-Start, were routers in  
> the network explicitly signal source hosts the available capacity  
> along the path to their destinations. Transport protocols can  
> utilize this generic, technology-independent, network-layer  
> information in different ways to improve operation and performance.
>
> One approach forward may be to integrate these existing or proposed  
> mechanisms with additional, similar extensions that result in a  
> uniform extension to the current network-layer interface.
>
> The BOF organizers are interested in soliciting additional  
> approaches that attempt to address this problem space.
>
>
> FURTHER READING
>
> L. Eggert and W. Eddy. Towards More Expressive Transport-Layer  
> Interfaces. Under Submission, June 2006.
> http://larseggert.de/papers/2006-ccr-transport-interfaces.pdf
>
> B. Aboba (ed.) Architectural Implications of Link Indications.  
> Internet Draft draft-iab-link-indications-04, Work in Progress,  
> December 2005.
> http://tools.ietf.org/tools/rfcmarkup/rfcmarkup.cgi?draft=draft-iab- 
> link-indications-04.txt
>
> K. Ramakrishnan, S. Floyd and D. Black. The Addition of Explicit  
> Congestion Notification (ECN) to IP. RFC 3168, September 2001.
> http://tools.ietf.org/tools/rfcmarkup/rfcmarkup.cgi?rfc=3168
>
> A. Jain, S. Floyd, M. Allman and P. Sarolahti. Quick-Start for TCP  
> and IP. Internet Draft draft-ietf-tsvwg-quickstart-03, Work in  
> Progress, April 2006.
> http://tools.ietf.org/tools/rfcmarkup/rfcmarkup.cgi? 
> rfc=&draft=draft-ietf-tsvwg-quickstart-03
>
> S. Schuetz, L. Eggert, W. Eddy, Y. Swami and K. Le. TCP Response to  
> Lower-Layer Connectivity-Change Indications. Internet Draft draft- 
> schuetz-tcpm-tcp-rlci-00, Work in Progress, May 2006.
> http://tools.ietf.org/tools/rfcmarkup/rfcmarkup.cgi? 
> rfc=&draft=draft-schuetz-tcpm-tcp-rlci-00
>
> -- 
> Lars Eggert                                     NEC Network  
> Laboratories
>
>
> _______________________________________________
> Int-area mailing list
> Int-area@lists.ietf.org
> https://www1.ietf.org/mailman/listinfo/int-area


_______________________________________________
MULTIMOBSEC-API mailing list
MULTIMOBSEC-API@ietf.org
https://www1.ietf.org/mailman/listinfo/multimobsec-api



From multimobsec-api-bounces@ietf.org Tue Jun 13 04:15:20 2006
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com)
	by megatron.ietf.org with esmtp (Exim 4.43)
	id 1Fq43U-0002jE-1p; Tue, 13 Jun 2006 04:15:20 -0400
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org)
	by megatron.ietf.org with esmtp (Exim 4.43) id 1Fq43S-0002im-U9
	for multimobsec-api@ietf.org; Tue, 13 Jun 2006 04:15:18 -0400
Received: from mail.sfc.wide.ad.jp ([203.178.142.146])
	by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1Fq42t-0006B7-Kj
	for multimobsec-api@ietf.org; Tue, 13 Jun 2006 04:15:18 -0400
Received: from [193.234.219.165] (w165.nomadiclab.com [193.234.219.165])
	by mail.sfc.wide.ad.jp (Postfix) with ESMTP id 3A9134D915
	for <multimobsec-api@ietf.org>; Tue, 13 Jun 2006 17:14:25 +0900 (JST)
Date: Tue, 13 Jun 2006 11:14:14 +0300
From: Shinta Sugimoto <shinta@sfc.wide.ad.jp>
To: multimobsec-api@ietf.org
Message-Id: <20060613111235.8A21.SHINTA@sfc.wide.ad.jp>
MIME-Version: 1.0
Content-Type: multipart/mixed;
	boundary="------_448E5958A51705AF7058_MULTIPART_MIXED_"
Content-Transfer-Encoding: 7bit
X-Mailer: Becky! ver. 2.25.02 [ja]
X-Spam-Score: 0.1 (/)
X-Scan-Signature: c21dbfc46ebc9c35ed63782f28b7ee84
Subject: [MULTIMOBSEC-API] latest version of the api draft
X-BeenThere: multimobsec-api@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "Multihoming, mobility and security APIs" <multimobsec-api.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/multimobsec-api>
List-Post: <mailto:multimobsec-api@ietf.org>
List-Help: <mailto:multimobsec-api-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=subscribe>
Errors-To: multimobsec-api-bounces@ietf.org

--------_448E5958A51705AF7058_MULTIPART_MIXED_
Content-Type: text/plain; charset="US-ASCII"
Content-Transfer-Encoding: 7bit

(I am re-sending this email because it seems that my previous email
could not reach the ML for some reason. Apology if you have multiple
copies)
---
Hi,

Attached please find the latest version of the API draft.
We are going to submit this by the cutoff date.  Meanwhile,
any comments/feedbacks are welcome.

Regards,
Shinta


--------_448E5958A51705AF7058_MULTIPART_MIXED_
Content-Type: text/html;
 name="draft-sugimoto-multihome-shim-api-00.html"
Content-Disposition: attachment;
	filename="draft-sugimoto-multihome-shim-api-00.html"
Content-Transfer-Encoding: base64

PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNpdGlvbmFs
Ly9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw0L2xvb3NlLmR0ZCI+DQo8aHRtbCBsYW5n
PSJlbiI+PGhlYWQ+PHRpdGxlPlNvY2tldCBBcHBsaWNhdGlvbiBQcm9ncmFtDQogICAgSW50ZXJm
YWNlIChBUEkpIGZvciBNdWx0aWhvbWVkIFNoaW08L3RpdGxlPg0KPG1ldGEgaHR0cC1lcXVpdj0i
Q29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiPg0KPG1ldGEg
bmFtZT0iZGVzY3JpcHRpb24iIGNvbnRlbnQ9IlNvY2tldCBBcHBsaWNhdGlvbiBQcm9ncmFtDQog
ICAgSW50ZXJmYWNlIChBUEkpIGZvciBNdWx0aWhvbWVkIFNoaW0iPg0KPG1ldGEgbmFtZT0ia2V5
d29yZHMiIGNvbnRlbnQ9IlNISU02LCBISVAsIElEL0xvY2F0b3Igc3BsaXQiPg0KPG1ldGEgbmFt
ZT0iZ2VuZXJhdG9yIiBjb250ZW50PSJ4bWwycmZjIHYxLjMwIChodHRwOi8veG1sLnJlc291cmNl
Lm9yZy8pIj4NCjxzdHlsZSB0eXBlPSd0ZXh0L2Nzcyc+DQo8IS0tDQogICAgYm9keSB7DQogICAg
ICAgIGZvbnQtZmFtaWx5OiB2ZXJkYW5hLCBjaGFyY29hbCwgaGVsdmV0aWNhLCBhcmlhbCwgc2Fu
cy1zZXJpZjsNCiAgICAgICAgbWFyZ2luOiAyZW07DQogICAgICAgIGZvbnQtc2l6ZTogc21hbGwg
OyBjb2xvcjogIzAwMDAwMCA7IGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmYgOyB9DQogICAgLnRp
dGxlIHsgY29sb3I6ICM5OTAwMDA7IGZvbnQtc2l6ZTogeC1sYXJnZSA7DQogICAgICAgIGZvbnQt
d2VpZ2h0OiBib2xkOyB0ZXh0LWFsaWduOiByaWdodDsNCiAgICAgICAgZm9udC1mYW1pbHk6IGhl
bHZldGljYSwgbW9uYWNvLCAiTVMgU2FucyBTZXJpZiIsIGFyaWFsLCBzYW5zLXNlcmlmOw0KICAg
ICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfQ0KICAgIC5maWxlbmFtZSB7IGNv
bG9yOiAjNjY2NjY2OyBmb250LXNpemU6IDE4cHg7IGxpbmUtaGVpZ2h0OiAyOHB4Ow0KICAgICAg
ICBmb250LXdlaWdodDogYm9sZDsgdGV4dC1hbGlnbjogcmlnaHQ7DQogICAgICAgIGZvbnQtZmFt
aWx5OiBoZWx2ZXRpY2EsIGFyaWFsLCBzYW5zLXNlcmlmOw0KICAgICAgICBiYWNrZ3JvdW5kLWNv
bG9yOiB0cmFuc3BhcmVudDsgfQ0KICAgIHRkLnJmY2J1ZyB7IGJhY2tncm91bmQtY29sb3I6ICMw
MDAwMDAgOyB3aWR0aDogMzBweCA7IGhlaWdodDogMzBweCA7DQogICAgICAgIHRleHQtYWxpZ246
IGp1c3RpZnk7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgOyBwYWRkaW5nLXRvcDogMnB4IDsgfQ0K
ICAgIHRkLnJmY2J1ZyBzcGFuLlJGQyB7IGNvbG9yOiAjNjY2NjY2OyBmb250LXdlaWdodDogYm9s
ZDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAw
MDAwIDsNCiAgICAgICAgZm9udC1mYW1pbHk6IG1vbmFjbywgY2hhcmNvYWwsIGdlbmV2YSwgIk1T
IFNhbnMgU2VyaWYiLCBoZWx2ZXRpY2EsIHZlcmRhbmEsIHNhbnMtc2VyaWY7DQogICAgICAgIGZv
bnQtc2l6ZTogeC1zbWFsbCA7IH0NCiAgICB0ZC5yZmNidWcgc3Bhbi5ob3RUZXh0IHsgY29sb3I6
ICNmZmZmZmY7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAg
ICAgICAgdGV4dC1hbGlnbjogY2VudGVyIDsNCiAgICAgICAgZm9udC1mYW1pbHk6IGNoYXJjb2Fs
LCBtb25hY28sIGdlbmV2YSwgIk1TIFNhbnMgU2VyaWYiLCBoZWx2ZXRpY2EsIHZlcmRhbmEsIHNh
bnMtc2VyaWY7DQogICAgICAgIGZvbnQtc2l6ZTogeC1zbWFsbCA7IGJhY2tncm91bmQtY29sb3I6
ICMwMDAwMDA7IH0NCiAgICAvKiBpbmZvIGNvZGUgZnJvbSBTYW50YUtsYXVzcyBhdCBodHRwOi8v
d3d3Lm1hZGFib3V0c3R5bGUuY29tL3Rvb2x0aXAyLmh0bWwgKi8NCiAgICBkaXYjY291bnRlcntt
YXJnaW4tdG9wOiAxMDBweH0NCg0KICAgIGEuaW5mb3sNCiAgICAgICAgcG9zaXRpb246cmVsYXRp
dmU7IC8qdGhpcyBpcyB0aGUga2V5Ki8NCiAgICAgICAgei1pbmRleDoyNDsNCiAgICAgICAgdGV4
dC1kZWNvcmF0aW9uOm5vbmV9DQoNCiAgICBhLmluZm86aG92ZXJ7ei1pbmRleDoyNTsgYmFja2dy
b3VuZC1jb2xvcjojOTkwMDAwIDsgY29sb3I6ICNmZmZmZmYgO30NCg0KICAgIGEuaW5mbyBzcGFu
e2Rpc3BsYXk6IG5vbmV9DQoNCiAgICBhLmluZm86aG92ZXIgc3Bhbi5pbmZveyAvKnRoZSBzcGFu
IHdpbGwgZGlzcGxheSBqdXN0IG9uIDpob3ZlciBzdGF0ZSovDQogICAgICAgIGRpc3BsYXk6Ymxv
Y2s7DQogICAgICAgIHBvc2l0aW9uOmFic29sdXRlOw0KICAgICAgICBmb250LXNpemU6IHNtYWxs
ZXIgOw0KICAgICAgICB0b3A6MmVtOyBsZWZ0OjJlbTsgd2lkdGg6MTVlbTsNCiAgICAgICAgcGFk
ZGluZzogMnB4IDsNCiAgICAgICAgYm9yZGVyOjFweCBzb2xpZCAjMzMzMzMzOw0KICAgICAgICBi
YWNrZ3JvdW5kLWNvbG9yOiNlZWVlZWU7IGNvbG9yOiM5OTAwMDA7DQogICAgICAgIHRleHQtYWxp
Z246IGxlZnQgO30NCg0KICAgICBBIHsgZm9udC13ZWlnaHQ6IGJvbGQ7IH0NCiAgICAgQTpsaW5r
IHsgY29sb3I6ICM5OTAwMDA7IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50IDsgfQ0KICAg
ICBBOnZpc2l0ZWQgeyBjb2xvcjogIzMzMzMzMzsgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJl
bnQgOyB9DQogICAgIEE6YWN0aXZlIHsgY29sb3I6ICMzMzMzMzM7IGJhY2tncm91bmQtY29sb3I6
IHRyYW5zcGFyZW50IDsgfQ0KDQogICAgcCB7IG1hcmdpbi1sZWZ0OiAyZW07IG1hcmdpbi1yaWdo
dDogMmVtOyB9DQogICAgcC5jb3B5cmlnaHQgeyBmb250LXNpemU6IHgtc21hbGwgOyB9DQogICAg
cC50b2MgeyBmb250LXNpemU6IHNtYWxsIDsgZm9udC13ZWlnaHQ6IGJvbGQgOyBtYXJnaW4tbGVm
dDogM2VtIDt9DQogICAgdGFibGUudG9jIHsgbWFyZ2luOiAwIDAgMCAzZW07IHBhZGRpbmc6IDA7
IGJvcmRlcjogMDsgdmVydGljYWwtYWxpZ246IHRleHQtdG9wOyB9DQogICAgdGQudG9jIHsgZm9u
dC1zaXplOiBzbWFsbDsgZm9udC13ZWlnaHQ6IGJvbGQ7IHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRv
cDsgfQ0KDQogICAgc3Bhbi5lbXBoIHsgZm9udC1zdHlsZTogaXRhbGljOyB9DQogICAgc3Bhbi5z
dHJvbmcgeyBmb250LXdlaWdodDogYm9sZDsgfQ0KICAgIHNwYW4udmVyYiwgc3Bhbi52YmFyZSB7
IGZvbnQtZmFtaWx5OiAiQ291cmllciBOZXciLCBDb3VyaWVyLCBtb25vc3BhY2UgOyB9DQoNCiAg
ICBzcGFuLnZlbXBoIHsgZm9udC1zdHlsZTogaXRhbGljOyBmb250LWZhbWlseTogIkNvdXJpZXIg
TmV3IiwgQ291cmllciwgbW9ub3NwYWNlIDsgfQ0KICAgIHNwYW4udnN0cm9uZyB7IGZvbnQtd2Vp
Z2h0OiBib2xkOyBmb250LWZhbWlseTogIkNvdXJpZXIgTmV3IiwgQ291cmllciwgbW9ub3NwYWNl
IDsgfQ0KICAgIHNwYW4udmRlbHV4ZSB7IGZvbnQtd2VpZ2h0OiBib2xkOyBmb250LXN0eWxlOiBp
dGFsaWM7IGZvbnQtZmFtaWx5OiAiQ291cmllciBOZXciLCBDb3VyaWVyLCBtb25vc3BhY2UgOyB9
DQoNCiAgICBvbC50ZXh0IHsgbWFyZ2luLWxlZnQ6IDJlbTsgbWFyZ2luLXJpZ2h0OiAyZW07IH0N
CiAgICB1bC50ZXh0IHsgbWFyZ2luLWxlZnQ6IDJlbTsgbWFyZ2luLXJpZ2h0OiAyZW07IH0NCiAg
ICBsaSB7IG1hcmdpbi1sZWZ0OiAzZW07ICB9DQoNCiAgICBwcmUgeyBtYXJnaW4tbGVmdDogM2Vt
OyBjb2xvcjogIzMzMzMzMzsgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAg
ICBmb250LWZhbWlseTogIkNvdXJpZXIgTmV3IiwgQ291cmllciwgbW9ub3NwYWNlIDsgZm9udC1z
aXplOiBzbWFsbCA7DQogICAgICAgIHRleHQtYWxpZ246IGxlZnQ7DQogICAgICAgIH0NCg0KICAg
IGgzIHsgY29sb3I6ICMzMzMzMzM7IGZvbnQtc2l6ZTogbWVkaXVtIDsNCiAgICAgICAgZm9udC1m
YW1pbHk6IGhlbHZldGljYSwgYXJpYWwsIHNhbnMtc2VyaWYgOw0KICAgICAgICBiYWNrZ3JvdW5k
LWNvbG9yOiB0cmFuc3BhcmVudDsgfQ0KICAgIGg0IHsgZm9udC1zaXplOiBzbWFsbDsgZm9udC1m
YW1pbHk6IGhlbHZldGljYSwgYXJpYWwsIHNhbnMtc2VyaWYgOyB9DQoNCiAgICB0YWJsZS5idWcg
eyB3aWR0aDogMzBweCA7IGhlaWdodDogMTVweCA7IH0NCiAgICB0ZC5idWcgeyBjb2xvcjogI2Zm
ZmZmZiA7IGJhY2tncm91bmQtY29sb3I6ICM5OTAwMDAgOw0KICAgICAgICB0ZXh0LWFsaWduOiBj
ZW50ZXIgOyB3aWR0aDogMzBweCA7IGhlaWdodDogMTVweCA7DQogICAgICAgICB9DQogICAgdGQu
YnVnIEEubGluazIgeyBjb2xvcjogI2ZmZmZmZiA7IGZvbnQtd2VpZ2h0OiBib2xkOw0KICAgICAg
ICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIGZvbnQtZmFtaWx5OiBtb25hY28sIGNo
YXJjb2FsLCBnZW5ldmEsICJNUyBTYW5zIFNlcmlmIiwgaGVsdmV0aWNhLCBzYW5zLXNlcmlmOw0K
ICAgICAgICBmb250LXNpemU6IHgtc21hbGwgOyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVu
dCB9DQoNCiAgICB0ZC5oZWFkZXIgeyBjb2xvcjogI2ZmZmZmZjsgZm9udC1zaXplOiB4LXNtYWxs
IDsNCiAgICAgICAgZm9udC1mYW1pbHk6IGFyaWFsLCBoZWx2ZXRpY2EsIHNhbnMtc2VyaWY7IHZl
cnRpY2FsLWFsaWduOiB0b3A7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2NjY2NjYgOyB3
aWR0aDogMzMlIDsgfQ0KICAgIHRkLmF1dGhvciB7IGZvbnQtd2VpZ2h0OiBib2xkOyBtYXJnaW4t
bGVmdDogNGVtOyBmb250LXNpemU6IHgtc21hbGwgOyB9DQogICAgdGQuYXV0aG9yLXRleHQgeyBm
b250LXNpemU6IHgtc21hbGw7IH0NCiAgICB0YWJsZS5mdWxsIHsgdmVydGljYWwtYWxpZ246IHRv
cCA7IGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2UgOw0KICAgICAgICBib3JkZXItc3R5bGU6IHNv
bGlkIHNvbGlkIHNvbGlkIHNvbGlkIDsNCiAgICAgICAgYm9yZGVyLWNvbG9yOiBibGFjayBibGFj
ayBibGFjayBibGFjayA7DQogICAgICAgIGZvbnQtc2l6ZTogc21hbGwgOyB0ZXh0LWFsaWduOiBj
ZW50ZXIgOyB9DQogICAgdGFibGUuaGVhZGVycywgdGFibGUubm9uZSB7IHZlcnRpY2FsLWFsaWdu
OiB0b3AgOyBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlIDsNCiAgICAgICAgYm9yZGVyLXN0eWxl
OiBub25lOw0KICAgICAgICBmb250LXNpemU6IHNtYWxsIDsgdGV4dC1hbGlnbjogY2VudGVyIDsg
fQ0KICAgIHRhYmxlLmZ1bGwgdGggeyBmb250LXdlaWdodDogYm9sZCA7DQogICAgICAgIGJvcmRl
ci1zdHlsZTogc29saWQgOw0KICAgICAgICBib3JkZXItY29sb3I6IGJsYWNrIGJsYWNrIGJsYWNr
IGJsYWNrIDsgfQ0KICAgIHRhYmxlLmhlYWRlcnMgdGggeyBmb250LXdlaWdodDogYm9sZCA7DQog
ICAgICAgIGJvcmRlci1zdHlsZTogbm9uZSBub25lIHNvbGlkIG5vbmU7DQogICAgICAgIGJvcmRl
ci1jb2xvcjogYmxhY2sgYmxhY2sgYmxhY2sgYmxhY2sgOyB9DQogICAgdGFibGUubm9uZSB0aCB7
IGZvbnQtd2VpZ2h0OiBib2xkIDsNCiAgICAgICAgYm9yZGVyLXN0eWxlOiBub25lOyB9DQogICAg
dGFibGUuZnVsbCB0ZCB7DQogICAgICAgIGJvcmRlci1zdHlsZTogc29saWQgc29saWQgc29saWQg
c29saWQgOw0KICAgICAgICBib3JkZXItY29sb3I6ICMzMzMzMzMgIzMzMzMzMyAjMzMzMzMzICMz
MzMzMzMgOyB9DQogICAgdGFibGUuaGVhZGVycyB0ZCwgdGFibGUubm9uZSB0ZCB7IGJvcmRlci1z
dHlsZTogbm9uZTsgfQ0KDQogICAgaHIgeyBoZWlnaHQ6IDFweCB9DQotLT4NCjwvc3R5bGU+DQo8
L2hlYWQ+DQo8Ym9keT4NCjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBj
ZWxsc3BhY2luZz0iMiIgY2xhc3M9ImJ1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJi
dWciPjxhIGhyZWY9IiN0b2MiIGNsYXNzPSJsaW5rMiI+Jm5ic3A7VE9DJm5ic3A7PC9hPjwvdGQ+
PC90cj48L3RhYmxlPg0KPHRhYmxlIHN1bW1hcnk9ImxheW91dCIgd2lkdGg9IjY2JSIgYm9yZGVy
PSIwIiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiPjx0cj48dGQ+PHRhYmxlIHN1bW1h
cnk9ImxheW91dCIgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjIiIGNlbGxz
cGFjaW5nPSIxIj4NCjx0cj48dGQgY2xhc3M9ImhlYWRlciI+TmV0d29yayBXb3JraW5nIEdyb3Vw
PC90ZD48dGQgY2xhc3M9ImhlYWRlciI+TS4gS29tdTwvdGQ+PC90cj4NCjx0cj48dGQgY2xhc3M9
ImhlYWRlciI+SW50ZXJuZXQtRHJhZnQ8L3RkPjx0ZCBjbGFzcz0iaGVhZGVyIj5ISUlUPC90ZD48
L3RyPg0KPHRyPjx0ZCBjbGFzcz0iaGVhZGVyIj5FeHBpcmVzOiBBdWd1c3QgNSwgMjAwNjwvdGQ+
PHRkIGNsYXNzPSJoZWFkZXIiPk0uIEJhZ251bG88L3RkPjwvdHI+DQo8dHI+PHRkIGNsYXNzPSJo
ZWFkZXIiPiZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJoZWFkZXIiPlVDM008L3RkPjwvdHI+DQo8dHI+
PHRkIGNsYXNzPSJoZWFkZXIiPiZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJoZWFkZXIiPksuIFNsYXZv
djwvdGQ+PC90cj4NCjx0cj48dGQgY2xhc3M9ImhlYWRlciI+Jm5ic3A7PC90ZD48dGQgY2xhc3M9
ImhlYWRlciI+Uy4gU3VnaW1vdG8sIEVkLjwvdGQ+PC90cj4NCjx0cj48dGQgY2xhc3M9ImhlYWRl
ciI+Jm5ic3A7PC90ZD48dGQgY2xhc3M9ImhlYWRlciI+RXJpY3Nzb248L3RkPjwvdHI+DQo8dHI+
PHRkIGNsYXNzPSJoZWFkZXIiPiZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJoZWFkZXIiPkZlYnJ1YXJ5
IDIwMDY8L3RkPjwvdHI+DQo8L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPg0KPGRpdiBhbGlnbj0i
cmlnaHQiPjxzcGFuIGNsYXNzPSJ0aXRsZSI+PGJyIC8+U29ja2V0IEFwcGxpY2F0aW9uIFByb2dy
YW0NCiAgICBJbnRlcmZhY2UgKEFQSSkgZm9yIE11bHRpaG9tZWQgU2hpbTwvc3Bhbj48L2Rpdj4N
CjxkaXYgYWxpZ249InJpZ2h0Ij48c3BhbiBjbGFzcz0idGl0bGUiPjxiciAvPmRyYWZ0LXN1Z2lt
b3RvLW11bHRpaG9tZS1zaGltLWFwaS0wMDwvc3Bhbj48L2Rpdj4NCg0KPGgzPlN0YXR1cyBvZiB0
aGlzIE1lbW88L2gzPg0KPHA+DQpCeSBzdWJtaXR0aW5nIHRoaXMgSW50ZXJuZXQtRHJhZnQsDQpl
YWNoIGF1dGhvciByZXByZXNlbnRzIHRoYXQgYW55IGFwcGxpY2FibGUgcGF0ZW50IG9yIG90aGVy
IElQUiBjbGFpbXMgb2Ygd2hpY2gNCmhlIG9yIHNoZSBpcyBhd2FyZSBoYXZlIGJlZW4gb3Igd2ls
bCBiZSBkaXNjbG9zZWQsDQphbmQgYW55IG9mIHdoaWNoIGhlIG9yIHNoZSBiZWNvbWVzIGF3YXJl
IHdpbGwgYmUgZGlzY2xvc2VkLA0KaW4gYWNjb3JkYW5jZSB3aXRoIFNlY3Rpb24mbmJzcDs2IG9m
IEJDUCZuYnNwOzc5LjwvcD4NCjxwPg0KSW50ZXJuZXQtRHJhZnRzIGFyZSB3b3JraW5nIGRvY3Vt
ZW50cyBvZiB0aGUgSW50ZXJuZXQgRW5naW5lZXJpbmcNClRhc2sgRm9yY2UgKElFVEYpLCBpdHMg
YXJlYXMsIGFuZCBpdHMgd29ya2luZyBncm91cHMuDQpOb3RlIHRoYXQgb3RoZXIgZ3JvdXBzIG1h
eSBhbHNvIGRpc3RyaWJ1dGUgd29ya2luZyBkb2N1bWVudHMgYXMNCkludGVybmV0LURyYWZ0cy48
L3A+DQo8cD4NCkludGVybmV0LURyYWZ0cyBhcmUgZHJhZnQgZG9jdW1lbnRzIHZhbGlkIGZvciBh
IG1heGltdW0gb2Ygc2l4IG1vbnRocw0KYW5kIG1heSBiZSB1cGRhdGVkLCByZXBsYWNlZCwgb3Ig
b2Jzb2xldGVkIGJ5IG90aGVyIGRvY3VtZW50cyBhdCBhbnkgdGltZS4NCkl0IGlzIGluYXBwcm9w
cmlhdGUgdG8gdXNlIEludGVybmV0LURyYWZ0cyBhcyByZWZlcmVuY2UgbWF0ZXJpYWwgb3IgdG8g
Y2l0ZQ0KdGhlbSBvdGhlciB0aGFuIGFzICZsZHF1bzt3b3JrIGluIHByb2dyZXNzLiZyZHF1bzs8
L3A+DQo8cD4NClRoZSBsaXN0IG9mIGN1cnJlbnQgSW50ZXJuZXQtRHJhZnRzIGNhbiBiZSBhY2Nl
c3NlZCBhdA0KPGEgaHJlZj0naHR0cDovL3d3dy5pZXRmLm9yZy9pZXRmLzFpZC1hYnN0cmFjdHMu
dHh0Jz5odHRwOi8vd3d3LmlldGYub3JnL2lldGYvMWlkLWFic3RyYWN0cy50eHQ8L2E+LjwvcD4N
CjxwPg0KVGhlIGxpc3Qgb2YgSW50ZXJuZXQtRHJhZnQgU2hhZG93IERpcmVjdG9yaWVzIGNhbiBi
ZSBhY2Nlc3NlZCBhdA0KPGEgaHJlZj0naHR0cDovL3d3dy5pZXRmLm9yZy9zaGFkb3cuaHRtbCc+
aHR0cDovL3d3dy5pZXRmLm9yZy9zaGFkb3cuaHRtbDwvYT4uPC9wPg0KPHA+DQpUaGlzIEludGVy
bmV0LURyYWZ0IHdpbGwgZXhwaXJlIG9uIEF1Z3VzdCA1LCAyMDA2LjwvcD4NCg0KPGgzPkNvcHly
aWdodCBOb3RpY2U8L2gzPg0KPHA+DQpDb3B5cmlnaHQgJmNvcHk7IFRoZSBJbnRlcm5ldCBTb2Np
ZXR5ICgyMDA2KS48L3A+DQoNCjxoMz5BYnN0cmFjdDwvaDM+DQoNCjxwPlRoaXMgZG9jdW1lbnQg
c3BlY2lmaWVzIGEgc29ja2V0IEFQSSBmb3IgbXVsdGlob21lZCBzaGltDQogICAgICBsYXllci4g
IFRoZSBBUEkgYWltcyB0byBlbmFibGUgaW50ZXJhY3Rpb25zIGJldHdlZW4gYXBwbGljYXRpb24N
CiAgICAgIGFuZCB0aGUgbXVsdGlob21pbmcgc2hpbSBsYXllciBmb3IgYWR2YW5jZWQgbG9jYXRv
ciBtYW5hZ2VtZW50DQogICAgICBhbmQgaW50ZXJmYWNlIHRvIGFjY2VzcyBpbmZvcm1hdGlvbiBh
Ym91dCBmYWlsdXJlIGRldGVjdGlvbiBhbmQNCiAgICAgIHBhdGggZXhwbG9yYXRpb24uDQo8L3A+
DQo8cD5UaGlzIGRvY3VtZW50IGlzIGJhc2VkIG9uIGFuIGFzc3VtcHRpb24gdGhhdCBhIG11bHRo
b21lZCBob3N0DQogICAgICBpcyBlcXVpcHBlZCB3aXRoIGEgJ3NoaW0nIHdoaWNoIGVzc2VudGlh
bGx5IG1haW50YWlucyBtYXBwaW5nIG9mDQogICAgICBpZGVudGlmaWVyIGFuZCBsb2NhdG9yIGF0
IHRoZSBJUCBsYXllci4gIFNISU02IGFuZCBISVAgYXJlDQogICAgICBleGFtcGxlcyBvZiB0aGUg
c2hpbS4gIEhlbmNlLCB0aGUgQVBJIGNhbiBiZSBjb21tb25seSB1c2VkIGJ5DQogICAgICBTSElN
NiBhbmQgSElQLg0KPC9wPjxhIG5hbWU9InRvYyI+PC9hPjxiciAvPjxociAvPg0KPGgzPlRhYmxl
IG9mIENvbnRlbnRzPC9oMz4NCjxwIGNsYXNzPSJ0b2MiPg0KPGEgaHJlZj0iI2FuY2hvcjEiPjEu
PC9hPiZuYnNwOw0KSW50cm9kdWN0aW9uPGJyIC8+DQo8YSBocmVmPSIjYW5jaG9yMiI+Mi48L2E+
Jm5ic3A7DQpUYXJnZXQ8YnIgLz4NCjxhIGhyZWY9IiNhbmNob3IzIj4zLjwvYT4mbmJzcDsNClRl
cm1pbm9sb2d5PGJyIC8+DQo8YSBocmVmPSIjc2VjLXN5c3RlbS1vdmVydmlldyI+NC48L2E+Jm5i
c3A7DQpTeXN0ZW0gT3ZlcnZpZXc8YnIgLz4NCjxhIGhyZWY9IiNzZWMtcmVxdWlyZW1lbnRzIj41
LjwvYT4mbmJzcDsNClJlcXVpcmVtZW50czxiciAvPg0KPGEgaHJlZj0iI3NlYy1zaGltLXNvY2tl
dC1vcHRpb25zIj42LjwvYT4mbmJzcDsNClNvY2tldCBPcHRpb25zIGZvciBNdWx0aWhvbWVkIFNo
aW0gTGF5ZXI8YnIgLz4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzxhIGhyZWY9IiNhbmNob3I0
Ij42LjEuPC9hPiZuYnNwOw0KU0hJTV9BU1NPQ0lBVEVEPGJyIC8+DQombmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDs8YSBocmVmPSIjYW5jaG9yNSI+Ni4yLjwvYT4mbmJzcDsNClNISU1fRE9OVFNISU08
YnIgLz4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzxhIGhyZWY9IiNhbmNob3I2Ij42LjMuPC9h
PiZuYnNwOw0KU0hJTV9IT1RfU1RBTkRCWTxiciAvPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
PGEgaHJlZj0iI2FuY2hvcjciPjYuNC48L2E+Jm5ic3A7DQpTSElNX1BBVEhFWFBMT1JFPGJyIC8+
DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8YSBocmVmPSIjYW5jaG9yOCI+Ni41LjwvYT4mbmJz
cDsNClNISU1fTE9DX0xPQ0FMX1BSRUY8YnIgLz4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzxh
IGhyZWY9IiNhbmNob3I5Ij42LjYuPC9hPiZuYnNwOw0KU0hJTV9MT0NfUEVFUl9QUkVGPGJyIC8+
DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8YSBocmVmPSIjYW5jaG9yMTAiPjYuNy48L2E+Jm5i
c3A7DQpTSElNX0xPQ19MT0NBTF9SRUNWPGJyIC8+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8
YSBocmVmPSIjYW5jaG9yMTEiPjYuOC48L2E+Jm5ic3A7DQpTSElNX0xPQ19QRUVSX1JFQ1Y8YnIg
Lz4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzxhIGhyZWY9IiNhbmNob3IxMiI+Ni45LjwvYT4m
bmJzcDsNClNISU1fTE9DTElTVF9MT0NBTDxiciAvPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
PGEgaHJlZj0iI2FuY2hvcjEzIj42LjEwLjwvYT4mbmJzcDsNClNISU1fTE9DTElTVF9SRU1PVEU8
YnIgLz4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzxhIGhyZWY9IiNhbmNob3IxNCI+Ni4xMS48
L2E+Jm5ic3A7DQpTSElNX1RJTUVSX0tFRVBBTElWRTxiciAvPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7PGEgaHJlZj0iI2FuY2hvcjE1Ij42LjEyLjwvYT4mbmJzcDsNClNISU1fRkVFREJBQ0tf
UE9TSVRJVkU8YnIgLz4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzxhIGhyZWY9IiNhbmNob3Ix
NiI+Ni4xMy48L2E+Jm5ic3A7DQpTSElNX0ZFRURCQUNLX05FR0FUSVZFPGJyIC8+DQombmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDs8YSBocmVmPSIjYW5jaG9yMTciPjYuMTQuPC9hPiZuYnNwOw0KU0hJ
TV9JRl9SRUNWPGJyIC8+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8YSBocmVmPSIjYW5jaG9y
MTgiPjYuMTUuPC9hPiZuYnNwOw0KU0hJTV9JRl9TRU5EPGJyIC8+DQombmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDs8YSBocmVmPSIjYW5jaG9yMTkiPjYuMTYuPC9hPiZuYnNwOw0KRXJyb3IgSGFuZGxp
bmc8YnIgLz4NCjxhIGhyZWY9IiNzZWMtYWNjZXNzLXRvLWxvY2luZm8iPjcuPC9hPiZuYnNwOw0K
QWNjZXNzIHRvIExvY2F0b3IgSW5mb3JtYXRpb248YnIgLz4NCiZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOzxhIGhyZWY9IiNhbmNob3IyMCI+Ny4xLjwvYT4mbmJzcDsNCkdldCBMb2NhdG9yIEluZm9y
bWF0aW9uIGZyb20gSW5jb21pbmcgUGFja2V0PGJyIC8+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDs8YSBocmVmPSIjYW5jaG9yMjEiPjcuMi48L2E+Jm5ic3A7DQpTcGVjaWZ5IExvY2F0b3IgSW5m
b3JtYXRpb24gZm9yIE91dGdvaW5nIFBhY2tldDxiciAvPg0KPGEgaHJlZj0iI3NlYy1kYXRhLXN0
cnVjdHVyZXMiPjguPC9hPiZuYnNwOw0KRGF0YSBTdHJ1Y3R1cmVzPGJyIC8+DQombmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDs8YSBocmVmPSIjYW5jaG9yMjIiPjguMS48L2E+Jm5ic3A7DQpQbGFjZWhv
bGRlciBmb3IgTG9jYXRvciBJbmZvcm1hdGlvbjxiciAvPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PGEgaHJlZj0iI2FuY2hvcjIzIj44LjEuMS48L2E+
Jm5ic3A7DQphZGRyaW5mbyBzdHJ1Y3R1cmU8YnIgLz4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzxhIGhyZWY9IiNhbmNob3IyNCI+OC4xLjIuPC9hPiZu
YnNwOw0Kc29ja2FkZHJfc3RvcmFnZSBzdHJ1Y3R1cmU8YnIgLz4NCjxhIGhyZWY9IiNzZWMtaW1w
bGljYXRpb25zLWZvci1sZWdhY3lhcGkiPjkuPC9hPiZuYnNwOw0KSW1wbGljYXRpb25zIGZvciBF
eGlzdGluZyBTb2NrZXQgQVBJIEV4dGVuc2lvbnM8YnIgLz4NCjxhIGhyZWY9IiNzZWMtZGlzY3Vz
c2lvbiI+MTAuPC9hPiZuYnNwOw0KRGlzY3Vzc2lvbjxiciAvPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7PGEgaHJlZj0iI2FuY2hvcjI1Ij4xMC4xLjwvYT4mbmJzcDsNCklzc3VlcyB3aXRoIGEg
Q29udGV4dCBTaGFyZWQgYnkgQXBwbGljYXRpb25zPGJyIC8+DQombmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDs8YSBocmVmPSIjYW5jaG9yMjYiPjEwLjIuPC9hPiZuYnNwOw0KSXNzdWVzIG9mIEhhbmRs
aW5nIE11bHRpcGxlIExvY2F0b3JzIHdpdGggU2hpbSBVbmF3YXJlDQoJCSAgICAgIEFwcGxpY2F0
aW9uczxiciAvPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7PGEgaHJlZj0iI2FuY2hvcjI3Ij4xMC4yLjEuPC9hPiZuYnNwOw0KU2hpbSBVbmF3YXJlIEFw
cGxpY2F0aW9uIE1ha2luZyBJbml0aWFsIENvbnRhY3Q8YnIgLz4NCiZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzxhIGhyZWY9IiNhbmNob3IyOCI+MTAuMi4y
LjwvYT4mbmJzcDsNCk5hbWluZyBhdCBTb2NrZXQgTGF5ZXI8YnIgLz4NCiZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOzxhIGhyZWY9IiNhbmNob3IyOSI+MTAuMy48L2E+Jm5ic3A7DQpJc3N1ZXMgb2Yg
SGFuZGxpbmcgTXVsdGlwbGUgTG9jYXRvcnMgd2l0aCBTaGltIEF3YXJlDQoJCSAgICAgIEFwcGxp
Y2F0aW9uczxiciAvPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PGEgaHJlZj0iI2FuY2hvcjMw
Ij4xMC40LjwvYT4mbmJzcDsNCkFkZGl0aW9uYWwgUmVxdWlyZW1lbnRzIGZyb20gQXBwbGljYXRp
b248YnIgLz4NCjxhIGhyZWY9IiNhbmNob3IzMSI+MTEuPC9hPiZuYnNwOw0KSUFOQSBDb25zaWRl
cmF0aW9uczxiciAvPg0KPGEgaHJlZj0iI2FuY2hvcjMyIj4xMi48L2E+Jm5ic3A7DQpTZWN1cml0
eSBDb25zaWRlcmF0aW9uczxiciAvPg0KPGEgaHJlZj0iI2FuY2hvcjMzIj4xMy48L2E+Jm5ic3A7
DQpDb25jbHVzaW9uPGJyIC8+DQo8YSBocmVmPSIjYW5jaG9yMzQiPjE0LjwvYT4mbmJzcDsNCkFj
a25vd2xlZGdtZW50czxiciAvPg0KPGEgaHJlZj0iI3JmYy5yZWZlcmVuY2VzMSI+MTUuPC9hPiZu
YnNwOw0KUmVmZXJlbmNlczxiciAvPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PGEgaHJlZj0i
I3JmYy5yZWZlcmVuY2VzMSI+MTUuMS48L2E+Jm5ic3A7DQpOb3JtYXRpdmUgUmVmZXJlbmNlczxi
ciAvPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PGEgaHJlZj0iI3JmYy5yZWZlcmVuY2VzMiI+
MTUuMi48L2E+Jm5ic3A7DQpJbmZvcm1hdGl2ZSBSZWZlcmVuY2VzPGJyIC8+DQo8YSBocmVmPSIj
cmZjLmF1dGhvcnMiPiYjMTY3OzwvYT4mbmJzcDsNCkF1dGhvcnMnIEFkZHJlc3NlczxiciAvPg0K
PGEgaHJlZj0iI3JmYy5jb3B5cmlnaHQiPiYjMTY3OzwvYT4mbmJzcDsNCkludGVsbGVjdHVhbCBQ
cm9wZXJ0eSBhbmQgQ29weXJpZ2h0IFN0YXRlbWVudHM8YnIgLz4NCjwvcD4NCjxiciBjbGVhcj0i
YWxsIiAvPg0KDQo8YSBuYW1lPSJhbmNob3IxIj48L2E+PGJyIC8+PGhyIC8+DQo8dGFibGUgc3Vt
bWFyeT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjIiIGNsYXNzPSJidWci
IGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0iYnVnIj48YSBocmVmPSIjdG9jIiBjbGFzcz0i
bGluazIiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4NCjxhIG5hbWU9InJm
Yy5zZWN0aW9uLjEiPjwvYT48aDM+MS4mbmJzcDtJbnRyb2R1Y3Rpb248L2gzPg0KDQo8cD5UaGlz
IGRvY3VtZW50IHNwZWNpZmllcyBhIHNvY2tldCBBUEkgZm9yIG11bHRpaG9tZWQgc2hpbQ0KICAg
ICAgbGF5ZXIuICBUaGUgQVBJIGFpbXMgdG8gZW5hYmxlIGludGVyYWN0aW9ucyBiZXR3ZWVuIGFw
cGxpY2F0aW9uDQogICAgICBhbmQgdGhlIG11bHRpaG9taW5nIHNoaW0gbGF5ZXIgZm9yIGFkdmFu
Y2VkIGxvY2F0b3IgbWFuYWdlbWVudA0KICAgICAgYW5kIGludGVyZmFjZSB0byBhY2Nlc3MgaW5m
b3JtYXRpb24gYWJvdXQgZmFpbHVyZSBkZXRlY3Rpb24gYW5kDQogICAgICBwYXRoIGV4cGxvcmF0
aW9uLg0KPC9wPg0KPHA+VGhpcyBkb2N1bWVudCBpcyBiYXNlZCBvbiBhbiBhc3N1bXB0aW9uIHRo
YXQgYSBtdWx0aG9tZWQgaG9zdA0KICAgICAgaXMgZXF1aXBwZWQgd2l0aCBhICdzaGltJyB3aGlj
aCBlc3NlbnRpYWxseSBtYWludGFpbnMgbWFwcGluZyBvZg0KICAgICAgaWRlbnRpZmllciBhbmQg
bG9jYXRvciBhdCB0aGUgSVAgbGF5ZXIuICBTSElNNiBhbmQgSElQIGFyZQ0KICAgICAgZXhhbXBs
ZXMgb2YgdGhlIHNoaW0uICBIZW5jZSwgdGhlIEFQSSBjYW4gYmUgY29tbW9ubHkgdXNlZCBieQ0K
ICAgICAgU0hJTTYgYW5kIEhJUC4NCjwvcD4NCjxwPldlIHN1Z2dlc3QgdGhhdCB0aGUgSUQvTG9j
YXRvciBhZGFwdGF0aW9uIGlzIGRvbmUgb25seSBvbmNlDQogICAgICBpbnNpZGUgdGhlIG5ldHdv
cmsgc3RhY2suICBJbiBvdGhlciB3b3JkcywgaWYgdGhlcmUgZXhpc3QNCiAgICAgIG11bHRpcGxl
IHNoaW0gcHJvdG9jb2xzIGF0IHRoZSBJUCBsYXllciwgYW55IG9uZSBvZiB0aGVtIHNob3VsZA0K
ICAgICAgYmUgZXhjbHVzaXZlbHkgYXBwbGllZCBmb3IgYSBnaXZlbiBmbG93Lg0KPC9wPg0KPHA+
V2UgdHJ5IHRvIG1ha2UgdGhpcyBkb2N1bWVudCBiZSBpbiBsaW5lIHdpdGggUG9zaXguMWcgPGEg
Y2xhc3M9ImluZm8iIGhyZWY9IiNQT1NJWCI+W1BPU0lYXTxzcGFuPiAoPC9zcGFuPjxzcGFuIGNs
YXNzPSJpbmZvIj4sICZsZHF1bztJRUVFIFN0ZC4gMTAwMy4xLTIwMDEgU3RhbmRhcmQgZm9yIElu
Zm9ybWF0aW9uIAkgIFRlY2hub2xvZ3kgLS0gUG9ydGFibGUgT3BlcmF0aW5nIFN5c3RlbSBJbnRl
cmZhY2UgCSAgKFBPU0lYKS4gT3BlbiBncm91cCBUZWNobmljYWwgU3RhbmRhcmQ6IEJhc2UgU3Bl
Y2lmaWNhdGlvbnMsIAkgIElzc3VlIDYsIGh0dHA6Ly93d3cub3Blbmdyb3VwLm9yZy9hdXN0aW4s
JnJkcXVvOyBEZWNlbWJlciZuYnNwOzIwMDEuPC9zcGFuPjxzcGFuPik8L3NwYW4+PC9hPiBhcyBt
dWNoIGFzIHBvc3NpYmxlLiAgQW5kIHRoZSBBUEkgZGVmaW5lcyBob3cNCiAgICAgIHRvIHVzZSBh
bmNpbGxhcnkgZGF0YSAoYWthIGNtc2cpIHRvIGFjY2VzcyBsb2NhdG9yIGluZm9ybWF0aW9uDQog
ICAgICB3aXRoIHJlY3Ztc2coKSBhbmQvb3Igc2VuZG1zZygpIEkvTyBjYWxscy4gIERlZmluaXRp
b24gb2YgQVBJIGlzDQogICAgICBwcmVzZW50ZWQgaW4gQyBsYW5ndWFnZSBhbmQgZGF0YSB0eXBl
cyBmb2xsb3cgUG9zaXguMWcgZm9ybWF0Og0KICAgICAgaW50Tl90IG1lYW5zIGEgc2luZ2VkIGlu
dGVnZXIgb2YgZXhhY3RseSBOIGJpdHMgKGUuZy4gaW50MTZfdCkNCiAgICAgIGFuZCB1aW50Tl90
IG1lYW5zIGFuIHVuc2lnbmVkIGludGVnZXIgb2YgZXhhY3RseSBOIGJpdHMNCiAgICAgIChlLmcu
IHVpbnQzMl90KS4NCjwvcD4NCjxhIG5hbWU9ImFuY2hvcjIiPjwvYT48YnIgLz48aHIgLz4NCjx0
YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIgY2xh
c3M9ImJ1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJidWciPjxhIGhyZWY9IiN0b2Mi
IGNsYXNzPSJsaW5rMiI+Jm5ic3A7VE9DJm5ic3A7PC9hPjwvdGQ+PC90cj48L3RhYmxlPg0KPGEg
bmFtZT0icmZjLnNlY3Rpb24uMiI+PC9hPjxoMz4yLiZuYnNwO1RhcmdldDwvaDM+DQoNCjxwPlBy
aW1hcnkgdGFyZ2V0IHJlYWRlciBvZiB0aGlzIGRvY3VtZW50IGlzIGFwcGxpY2F0aW9uDQogICAg
ICBwcm9ncmFtbWVyIHdobyBkZXZlbG9wcyBhcHBsaWNhdGlvbiBzb2Z0d2FyZSB3aGljaCBtYXkg
cnVuIG9uDQogICAgICB0b3Agb2YgbXVsdGlob21lZCBlbnZpcm9ubWVudC4gIEluIHBhcnRpY3Vs
YXIsIHRoZSBBUEkgc2hvdWxkIGJlDQogICAgICBiZW5lZmljaWFsIGZvciBhcHBsaWNhdGlvbiBk
ZXZlbG9wbWVudCBvZiB0aGUgc29mdHdhcmUgd2hpY2gNCiAgICAgIHRha2VzIGFkdmFudGFnZSBv
ZiBtdWx0aWhvbWVkIGVudmlyb25tZW50IGFpbWluZyB0byBhY2hpZXZlDQogICAgICBiZXR0ZXIg
ZmFpbG92ZXIuDQo8L3A+DQo8cD5TZWNvbmRseSwgdGhpcyBkb2N1bWVudCBzaG91bGQgYmUgb2Yg
aW50ZXJlc3QgZm9yIHRoZQ0KICAgICAgZGV2ZWxvcGVycyBvZiBhIGdpdmVuIHByb3RvY29sIHN0
YWNrIGZvciB0aGUgc2hpbSBsYXllcg0KICAgICAgKGUuZy4gU0hJTTYgYW5kIEhJUCkuICBUaGlz
IGlzIGJlY2F1c2UgdGhpcyBkb2N1bWVudCBzcGVjaWZpZXMNCiAgICAgIHdoYXQga2luZHMgb2Yg
aW5mb3JtYXRpb24gZXhjaGFuZ2Ugc2hvdWxkIGJlIHBvc3NpYmxlIGJldHdlZW4NCiAgICAgIHRo
ZSBhcHBsaWNhdGlvbiBhbmQgdGhlIHNoaW0gbGF5ZXIuDQo8L3A+DQo8YSBuYW1lPSJhbmNob3Iz
Ij48L2E+PGJyIC8+PGhyIC8+DQo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGluZz0i
MCIgY2VsbHNwYWNpbmc9IjIiIGNsYXNzPSJidWciIGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFz
cz0iYnVnIj48YSBocmVmPSIjdG9jIiBjbGFzcz0ibGluazIiPiZuYnNwO1RPQyZuYnNwOzwvYT48
L3RkPjwvdHI+PC90YWJsZT4NCjxhIG5hbWU9InJmYy5zZWN0aW9uLjMiPjwvYT48aDM+My4mbmJz
cDtUZXJtaW5vbG9neTwvaDM+DQoNCjxwPlRoaXMgZG9jdW1lbnQgZG9lcyBub3QgaW50ZW5kIHRv
IGdpdmUgbmV3IGRlZmluaXRpb25zIGZvcg0KICAgICAgdGVjaG5pY2FsIHRlcm1zIHRoYXQgYXJl
IHJlbGV2YW50IHRvIG11bHRpaG9tZWQgZW52aXJvbm1lbnQgYnV0DQogICAgICB0cmllcyB0byBp
bmhlcml0IGRlZmluaXRpb25zIHByb3ZpZGVkIGluIHRoZSBleGlzdGluZyBkb2N1bWVudHMNCiAg
ICAgIGFzIGxpc3RlZCBiZWxvdzoNCg0KICAgICAgPC9wPg0KPHVsIGNsYXNzPSJ0ZXh0Ij4NCjxs
aT5TSElNNiBQcm90b2NvbCBTcGVjaWZpY2F0aW9uPGEgY2xhc3M9ImluZm8iIGhyZWY9IiNJLUQu
aWV0Zi1zaGltNi1wcm90byI+W0ktRC5pZXRmLXNoaW02LXByb3RvXTxzcGFuPiAoPC9zcGFuPjxz
cGFuIGNsYXNzPSJpbmZvIj5CYWdudWxvLCBNLiBhbmQgRS4gTm9yZG1hcmssICZsZHF1bztMZXZl
bCAzIG11bHRpaG9taW5nIHNoaW0gcHJvdG9jb2wsJnJkcXVvOyBEZWNlbWJlciZuYnNwOzIwMDUu
PC9zcGFuPjxzcGFuPik8L3NwYW4+PC9hPg0KPC9saT4NCjxsaT5ISVAgQXJjaGl0ZWN0dXJlPGEg
Y2xhc3M9ImluZm8iIGhyZWY9IiNJLUQuaWV0Zi1oaXAtYXJjaCI+W0ktRC5pZXRmLWhpcC1hcmNo
XTxzcGFuPiAoPC9zcGFuPjxzcGFuIGNsYXNzPSJpbmZvIj5Nb3Nrb3dpdHosIFIuIGFuZCBQLiBO
aWthbmRlciwgJmxkcXVvO0hvc3QgSWRlbnRpdHkgUHJvdG9jb2wgQXJjaGl0ZWN0dXJlLCZyZHF1
bzsgQXVndXN0Jm5ic3A7MjAwNS48L3NwYW4+PHNwYW4+KTwvc3Bhbj48L2E+DQo8L2xpPg0KPGxp
PlJlYWNoYWJpbGl0eSBQcm90b2NvbCAoUkVBUCk8YSBjbGFzcz0iaW5mbyIgaHJlZj0iI0ktRC5p
ZXRmLXNoaW02LWZhaWx1cmUtZGV0ZWN0aW9uIj5bSS1ELmlldGYtc2hpbTYtZmFpbHVyZS1kZXRl
Y3Rpb25dPHNwYW4+ICg8L3NwYW4+PHNwYW4gY2xhc3M9ImluZm8iPkFya2tvLCBKLiBhbmQgSS4g
QmVpam51bSwgJmxkcXVvO0ZhaWx1cmUgRGV0ZWN0aW9uIGFuZCBMb2NhdG9yIFBhaXIgRXhwbG9y
YXRpb24gCSAgUHJvdG9jb2wgZm9yIElQdjYgTXVsdGlob21pbmcsJnJkcXVvOyBEZWNlbWJlciZu
YnNwOzIwMDUuPC9zcGFuPjxzcGFuPik8L3NwYW4+PC9hPg0KPC9saT4NCjwvdWw+PHA+DQoNCiAg
ICAgIEZvciBjbGFyaWZpY2F0aW9uLCB3ZSBwcm92aWRlIGRlZmluaXRpb24gZm9yIHRoZSB0ZXJt
cyB0aGF0IGFyZQ0KICAgICAgZnJlcXVlbnRseSB1c2VkIGluIHRoaXMgZG9jdW1lbnQ6DQogDQog
ICAgICA8L3A+DQo8dWwgY2xhc3M9InRleHQiPg0KPGxpPkVuZHBvaW50IElkZW50aWZpZXIgKEVJ
RCkgLSBBbiBpZGVudGlmaWVyIHVzZWQgYnkgdGhlDQoJYXBwbGljYXRpb24gdG8gc3BlY2lmeSBh
biBlbmRwb2ludCBvZiB0aGUgY29tbXVuaWNhdGlvbi4gIEFzDQoJYWRkcmVzc2VkIGluIDxhIGNs
YXNzPSJpbmZvIiBocmVmPSIjSS1ELmlldGYtc2hpbTYtYXBwLXJlZmVyIj5bSS1ELmlldGYtc2hp
bTYtYXBwLXJlZmVyXTxzcGFuPiAoPC9zcGFuPjxzcGFuIGNsYXNzPSJpbmZvIj5Ob3JkbWFyaywg
RS4sICZsZHF1bztTaGltNiBBcHBsaWNhdGlvbiBSZWZlcnJhbCBJc3N1ZXMsJnJkcXVvOyBKdWx5
Jm5ic3A7MjAwNS48L3NwYW4+PHNwYW4+KTwvc3Bhbj48L2E+LA0KCWFwcGxpY2F0aW9uIG1heSBo
YW5kbGUgRUlEIGluIHZhcmlvdXMgd2F5cyBpbiBkaWZmZXJlbnQgdHlwZXMNCglvZiBjb21tdW5p
Y2F0aW9uIG1vZGVscyBzdWNoIGFzIGxvbmctbGl2ZWQgY29ubmVjdGlvbiwNCgljYWxsYmFjaywg
YW5kIHJlZmVycmFsLg0KCQ0KPHVsIGNsYXNzPSJ0ZXh0Ij4NCjxsaT5JbiBjYXNlIG9mIFNISU02
LCB0aGUgRUlEIGlzIGNhbGxlZCBVTElELiAgVUxJRCBpcyBjaG9zZW4NCgkgIGZyb20gb25lIG9m
IGF2YWlsYWJsZSBsb2NhdG9ycyBvbiB0aGUgaG9zdC4NCjwvbGk+DQo8bGk+SW4gY2FzZSBvZiBI
SVAsIHRoZSBFSUQgaXMgZXNzZW50aWFsbHkgYSBwdWJsaWMga2V5IG9mDQoJICB0aGUgaG9zdC4g
IEluIG9yZGVyIHRvIHByZXNlcnZlIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgb2YNCgkgIGxlZ2Fj
eSBhcHBsaWNhdGlvbiwgaGFzaCBvZiBwdWJsaWMga2V5IGNhbGxlZCBIb3N0IElkZW50aXR5DQoJ
ICBUYWcgKEhJVCkgaXMgdXNlZCBieSBhcHBsaWNhdGlvbiBhcyBhIGhhbmRsZXIgZm9yIHRoZSBF
SUQuDQoJICANCjwvbGk+DQo8L3VsPg0KCQ0KPC9saT4NCjxsaT5Mb2NhdG9yIC0gQW4gSVAgYWRk
cmVzcyBhY3R1YWxseSB1c2VkIHRvIGRlbGl2ZXIgdGhlIElQDQoJcGFja2V0LiAgTG9jYXRvciBz
aG91bGQgYmUgcHJlc2VudCBpbiB0aGUgc291cmNlIGFuZA0KCWRlc3RpbmF0aW9uIGZpZWxkIG9m
IElQIGhlYWRlciBvZiBhIHBhY2tldCB0aGF0IGFwcGVhcnMgb24NCgl3aXJlLiAgTm9ybWFsbHks
IGEgbG9jYXRvciBpcyBhc3NpZ25lZCB0byB0aGUgbmV0d29yaw0KCWludGVyZmFjZSBvZiB0aGUg
aG9zdC4gIEFuZCB0aGUgSVAgcGFja2V0IGRlc3RpbmVkIHRvIGEgZ2l2ZW4NCglsb2NhdG9yIGlz
IGRlbGl2ZXJlZCB0byB0aGUgY29ycmVzcG9uZGVudCBuZXR3b3JrIGludGVyZmFjZSBieQ0KCXRo
ZSByb3V0aW5nIHN5c3RlbS4NCjwvbGk+DQo8bGk+U2hpbSAtIEEgY29uY2VwdHVhbCBsYXllciBp
bnNpZGUgdGhlIElQIExheWVyIHdoaWNoDQoJbWFpbnRhaW5zIG1hcHBpbmdzIG9mIEVJRHMgYW5k
IGxvY2F0b3JzLiAgQW4gRUlEIGNhbiBiZQ0KCWFzc29jaWF0ZWQgd2l0aCBtb3JlIHRoYW4gb25l
IGxvY2F0b3JzIGF0IGEgdGltZSB3aGVuIHRoZSBob3N0DQoJaXMgbXVsdGlob21lZC4gIEZyb20g
bmV0d29yayBhcmNoaXRlY3R1cmUgcGVyc3BlY3RpdmUsIHNoaW0NCglzaG91bGQgYmUgZXZlbiBv
ciBsb3dlciB0aGFuIHRoZSBJUHNlYyBsYXllci4gIEl0IHNob3VsZCBiZQ0KCW5vdGVkIHRoYXQg
dGhlIHRlcm0gJ3NoaW0nIGRvZXMgbm90IHJlZmVyIHRvIHNwZWNpZmljIHByb3RvY29sDQoJYnV0
IHJlZmVycyB0byBhIGdlbmVyaWMgY29uY2VwdCBvZiBhIGxheWVyIHRoYXQgZW5hYmxlcw0KCXNl
cGFyYXRpb24gb2YgaWRlbnRpZmllciBhbmQgbG9jYXRvci4gIFNISU02IGFuZCBISVAgYXJlDQoJ
ZXhhbXBsZXMgb2YgdGhlIHNoaW0uDQo8L2xpPg0KPGxpPkNvbnRleHQgLSBBIHN0YXRlIGluZm9y
bWF0aW9uIHRvIGJlIHNoYXJlZCBieSB0aGUgcGVlcnMsDQoJd2hpY2ggZXNzZW50aWFsbHkgc3Rv
cmVzIGEgYmluZGluZyBiZXR3ZWVuIHRoZSBFSUQgYW5kDQoJYXNzb2NpYXRlZCBsb2NhdG9ycy4g
IFRoZSBjb250ZXh0IGlzIG1haW50YWluZWQgYXQgdGhlIHNoaW0NCglsYXllciBvZiB0aGUgaG9z
dC4NCjwvbGk+DQo8bGk+TGlzdCBvZiBMb2NhdG9ycyAtIEEgbGlzdCBvZiBsb2NhdG9ycyBhc3Nv
Y2lhdGVkIHdpdGggYW4NCglFSUQuICBUaGVyZSBhcmUgdHdvIGxpc3RzIG9mIGxvY2F0b3JzIHN0
b3JlZCBpbiBhIGdpdmVuDQoJY29udGV4dCwgb25lIGlzIGFzc29jaWF0ZWQgd2l0aCBsb2NhbCBF
SUQgYW5kIHRoZSBvdGhlciBpcw0KCWFzc29jaWF0ZWQgd2l0aCByZW1vdGUgRUlELiAgQXMgZGVm
aW5lZCBpbiA8YSBjbGFzcz0iaW5mbyIgaHJlZj0iI0ktRC5pZXRmLXNoaW02LXByb3RvIj5bSS1E
LmlldGYtc2hpbTYtcHJvdG9dPHNwYW4+ICg8L3NwYW4+PHNwYW4gY2xhc3M9ImluZm8iPkJhZ251
bG8sIE0uIGFuZCBFLiBOb3JkbWFyaywgJmxkcXVvO0xldmVsIDMgbXVsdGlob21pbmcgc2hpbSBw
cm90b2NvbCwmcmRxdW87IERlY2VtYmVyJm5ic3A7MjAwNS48L3NwYW4+PHNwYW4+KTwvc3Bhbj48
L2E+LCBsaXN0IG9mIGxvY2F0b3JzIGFzc29jaWF0ZWQNCgl3aXRoIGFuIEVJRCAnQScgY2FuIGJl
IGRlbm90ZWQgYXMgTHMoQSkuDQo8L2xpPg0KPGxpPlByZWZlcnJlZCBMb2NhdG9yIC0gVGhlIChz
b3VyY2UvZGVzdGluYXRpb24pIGxvY2F0b3INCgljdXJyZW50bHkgdXNlZCB0byBzZW5kIHBhY2tl
dHMuICBBcyBkZWZpbmVkIGluIDxhIGNsYXNzPSJpbmZvIiBocmVmPSIjSS1ELmlldGYtc2hpbTYt
cHJvdG8iPltJLUQuaWV0Zi1zaGltNi1wcm90b108c3Bhbj4gKDwvc3Bhbj48c3BhbiBjbGFzcz0i
aW5mbyI+QmFnbnVsbywgTS4gYW5kIEUuIE5vcmRtYXJrLCAmbGRxdW87TGV2ZWwgMyBtdWx0aWhv
bWluZyBzaGltIHByb3RvY29sLCZyZHF1bzsgRGVjZW1iZXImbmJzcDsyMDA1Ljwvc3Bhbj48c3Bh
bj4pPC9zcGFuPjwvYT4sIHByZWZlcnJlZCBsb2NhdG9yIG9mIGEgaG9zdA0KCXdob3NlIEVJRCBp
cyAnQScgY2FuIGJlIGRlbm90ZWQgYXMgTHAoQSkuDQo8L2xpPg0KPGxpPlJlYWNoYWJpbGl0eSBE
ZXRlY3Rpb24gLSBBIHByb2NlZHVyZSB0byBkZXRlY3QgcmVhY2hhYmlsaXR5DQoJYmV0d2VlbiBh
IGdpdmVuIGxvY2F0b3IgcGFpci4NCjwvbGk+DQo8bGk+UGF0aCAtIEEgc2VxdWVuY2Ugb2Ygcm91
dGVycyB0aGF0IGFuIElQIHBhY2tldCBnb2VzIHRocm91Z2gNCgl0byByZWFjaCB0aGUgZGVzdGlu
YXRpb24uDQo8L2xpPg0KPGxpPlBhdGggRXhwbG9yYXRpb24gLSBBIHByb2NlZHVyZSB0byBleHBs
b3JlIGF2YWlsYWJsZSBwYXRoDQoJZm9yIGEgZ2l2ZW4gc2V0IG9mIGxvY2F0b3IgcGFpcnMuDQo8
L2xpPg0KPGxpPk91dGFnZSAtIEFuIGluY2lkZW50IG1lYW5pbmcgdGhhdCB0aGUgcmVhY2hhYmls
aXR5IGFtb25nIGENCglnaXZlbiBsb2NhdG9yIHBhaXIgaXMgbG9zdC4gIFRoZSBvdXRhZ2UgY291
bGQgYmUgY2F1c2VkIGJ5IGFueQ0KCWtpbmRzIG9mIHByb2JsZW1zIGluc2lkZSB0aGUgcm91dGlu
ZyBpbmZyYXN0cnVjdHVyZSBhbmQNCglwcm9ibGVtcyBvZiB0aGUgbmV0d29yayBpbnRlcmZhY2Ug
b2YgdGhlIGVuZCBob3N0cy4NCjwvbGk+DQo8bGk+V29ya2luZyBBZGRyZXNzIFBhaXIgLSBBbiBh
ZGRyZXNzIHBhaXIgaXMgc2FpZCB0byBiZQ0KCXdvcmtpbmcgaWYgdGhlIHBhY2tldCBjb250YWlu
aW5nIHRoZSBmaXJzdCBhZGRyZXNzIGZyb20gdGhlDQoJcGFpciBhcyBzb3VyY2UgYWRkcmVzcyBh
bmQgdGhlIHNlY29uZCBhZGRyZXNzIGZyb20gdGhlIHBhaXIgYXMNCglkZXN0aW5hdGlvbiBhZGRy
ZXNzIGNhbiBzYWZlbHkgdHJhdmVsIGZyb20gdGhlIHNvdXJjZSB0byB0aGUNCglkZXN0aW5hdGlv
bi4gIElmIHRoZSByZWFjaGFiaWxpdHkgaXMgY29uZmlybWVkIGluIGJvdGgNCglkaXJlY3Rpb25z
LCB0aGUgYWRkcmVzcyBwYWlycyBpcyBzYWlkIHRvIGJlIGJpLWRpcmVjdGlvbmFsLg0KCU90aGVy
d2lzZSwgaXQncyB1bmlkaXJlY3Rpb25hbC4NCjwvbGk+DQo8bGk+UkVBUCAtIEEgcHJvdG9jb2wg
Zm9yIGRldGVjdGluZyBmYWlsdXJlIGFuZCBleHBsb3JpbmcNCglyZWFjaGFiaWxpdHkgaW4gbXVs
dGlob21lZCBlbnZpcm9ubWVudC4gIFJFQVAgaXMgZGVmaW5lZA0KCWluPGEgY2xhc3M9ImluZm8i
IGhyZWY9IiNJLUQuaWV0Zi1zaGltNi1mYWlsdXJlLWRldGVjdGlvbiI+W0ktRC5pZXRmLXNoaW02
LWZhaWx1cmUtZGV0ZWN0aW9uXTxzcGFuPiAoPC9zcGFuPjxzcGFuIGNsYXNzPSJpbmZvIj5Bcmtr
bywgSi4gYW5kIEkuIEJlaWpudW0sICZsZHF1bztGYWlsdXJlIERldGVjdGlvbiBhbmQgTG9jYXRv
ciBQYWlyIEV4cGxvcmF0aW9uIAkgIFByb3RvY29sIGZvciBJUHY2IE11bHRpaG9taW5nLCZyZHF1
bzsgRGVjZW1iZXImbmJzcDsyMDA1Ljwvc3Bhbj48c3Bhbj4pPC9zcGFuPjwvYT4uDQo8L2xpPg0K
PGxpPkVuZHBvaW50IERlc2NyaXB0b3IgKEVEKSAtIFRoZSByZXByZXNlbnRhdGlvbiBvZiBlbmRw
b2ludHMNCglpcyBoaWRkZW4gZnJvbSB0aGUgYXBwbGljYXRpb25zLiAgRUQgaXMgYSAiaGFuZGxl
IiBvcg0KCSJwb2ludGVyIiB0byB0aGUgYWN0dWFsIEVJRC4NCjwvbGk+DQo8L3VsPjxwPg0KICAg
ICAgDQo8L3A+DQo8YSBuYW1lPSJzZWMtc3lzdGVtLW92ZXJ2aWV3Ij48L2E+PGJyIC8+PGhyIC8+
DQo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjIi
IGNsYXNzPSJidWciIGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0iYnVnIj48YSBocmVmPSIj
dG9jIiBjbGFzcz0ibGluazIiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4N
CjxhIG5hbWU9InJmYy5zZWN0aW9uLjQiPjwvYT48aDM+NC4mbmJzcDtTeXN0ZW0gT3ZlcnZpZXc8
L2gzPg0KPGJyIC8+PGhyIC8+DQo8YSBuYW1lPSJmaWctc3lzdGVtLW92ZXJ2aWV3Ij48L2E+DQo8
cHJlPg0KDQogICAgICAgICAgICAgICAgICAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0K
ICAgICAgICAgICAgICAgICAgICAgfCAgICAgICBBcHBsaWNhdGlvbiAgICAgIHwNCiAgICAgICAg
ICAgICAgICAgICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rDQogICAgICAgICAgICAgICAg
ICAgICAgICBeICAgICAgICAgICAgICAgICBeDQogICAgICAgICAgIH5+fn5+fn5+fn5+fn58flNv
Y2tldCBJbnRlcmZhY2V8fn5+fn5+fn5+fn5+fn4NCiAgICAgICAgICAgICAgICAgICAgICAgIHwg
ICAgICAgICAgICAgICAgIHYNCiAgICAgICAgICAgICstLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0rDQogICAgICAgICAgICB8ICAgICAgICAgICB8ICBUcmFuc3BvcnQg
TGF5ZXIgICAgICAgICAgICAgfA0KICAgICAgICAgICAgKy0tLS0tLS0tLS0tfC0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLSsNCiAgICAgICAgICAgICAgICAgIF4gICAgIHwNCiAgICArLS0t
LS0tLS0tLS0tLXwtLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0K
ICAgIHwgICAgICAgICAgICAgdiAgICAgdiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB8DQogICAgfCAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsgICAgICAgKy0t
LS0tLS0tLS0rICAgIHwgIElQDQogICAgfCAgIHwgICAgICAgICAgICBTaGltICAgICAgICAgICAg
IHwmbHQ7LS0tLS0mZ3Q7fCAgIFJFQVAgICB8ICAgIHwgTGF5ZXINCiAgICB8ICAgKy0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tKyAgICAgICArLS0tLS0tLS0tLSsgICAgfA0KICAgIHwgICAg
ICAgICAgICAgICAgICAgICAgIF4gICAgICAgICAgICAgICAgICAgICAgXiAgICAgICAgICB8DQog
ICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS18LS0tLS0t
LS0tLSsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ICAgICAgICAgICAgICAgICAgICAg
IHYNCiAgICAgICAgICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0rDQogICAgICAgICAgICB8ICAgICAgICAgICAgICAgIExpbmsgTGF5ZXIgICAgICAgICAgICAg
ICAgfA0KICAgICAgICAgICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLSsNCg0KPC9wcmU+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFj
aW5nPSIyIj48dHI+PHRkIGFsaWduPSJjZW50ZXIiPjxmb250IGZhY2U9Im1vbmFjbywgTVMgU2Fu
cyBTZXJpZiIgc2l6ZT0iMSI+PGI+Jm5ic3A7RmlndXJlJm5ic3A7MTogU3lzdGVtIG92ZXJ2aWV3
Jm5ic3A7PC9iPjwvZm9udD48YnIgLz48L3RkPjwvdHI+PC90YWJsZT48aHIgc2l6ZT0iMSIgc2hh
ZGU9IjAiPg0KDQo8cD48YSBjbGFzcz0iaW5mbyIgaHJlZj0iI2ZpZy1zeXN0ZW0tb3ZlcnZpZXci
PkZpZ3VyZSZuYnNwOzE8c3Bhbj4gKDwvc3Bhbj48c3BhbiBjbGFzcz0iaW5mbyI+U3lzdGVtIG92
ZXJ2aWV3PC9zcGFuPjxzcGFuPik8L3NwYW4+PC9hPiBpbGx1c3RyYXRlcyB0aGUgc3lzdGVtDQog
ICAgICBvdmVydmlldy4gIFRoZSBhcHBsaWNhdGlvbiBjYW4gdXRpbGl6ZSB0aGUgc29ja2V0IEFQ
SSB0bw0KICAgICAgaW50ZXJhY3Qgd2l0aCB0aGUgc2hpbSBsYXllciBhbmQgdHJhbnNwb3J0IGxh
eWVyIGZvciBiZXR0ZXINCiAgICAgIGNvbnRyb2wgb2YgbG9jYXRvciBtYW5hZ2VtZW50IGFuZCBm
YWlsdXJlIGRldGVjdGlvbiBhbmQgcGF0aA0KICAgICAgZXhwbG9yYXRpb24uDQo8L3A+DQo8cD5J
bnNpZGUgdGhlIElQIGxheWVyLCB0aGVyZSBpcyBhIHNoaW0gd2hpY2ggY2xvc2VseSBpbnRlcmFj
dHMNCiAgICAgIHdpdGggUkVBUCBjb21wb25lbnQuICBUaGVyZSBjb3VsZCBiZSBpbnRlcmFjdGlv
bnMgYmV0d2VlbiB0aGUNCiAgICAgIHNoaW0gYW5kIHRyYW5zcG9ydCBsYXllciwgaG93ZXZlciB0
aGV5IGFyZSBvdXRzaWRlIG9mIHNjb3BlIG9mDQogICAgICB0aGlzIGRvY3VtZW50LiAgVGhlIHNj
b3BlIG9mIHRoaXMgZG9jdW1lbnQgaXMgYW4gaW50ZXJmYWNlIGZyb20NCiAgICAgIHRoZSBhcHBs
aWNhdGlvbiB0byB0aGUgc2hpbSBsYXllciwgd2hpY2ggaXMgZW5hYmxlZCB2aWEgc29ja2V0DQog
ICAgICBpbnRlcmZhY2UuDQo8L3A+DQo8YSBuYW1lPSJzZWMtcmVxdWlyZW1lbnRzIj48L2E+PGJy
IC8+PGhyIC8+DQo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIgY2VsbHNw
YWNpbmc9IjIiIGNsYXNzPSJidWciIGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0iYnVnIj48
YSBocmVmPSIjdG9jIiBjbGFzcz0ibGluazIiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+
PC90YWJsZT4NCjxhIG5hbWU9InJmYy5zZWN0aW9uLjUiPjwvYT48aDM+NS4mbmJzcDtSZXF1aXJl
bWVudHM8L2gzPg0KDQo8cD5Gb2xsb3dpbmcgaXMgYSBsaXN0IG9mIHJlcXVpcmVtZW50cyBmcm9t
IHRoZSBhcHBsaWNhdGlvbg0KICAgICAgcGVyc3BlY3RpdmUuICBUaGVzZSByZXF1aXJlbWVudHMg
YXJlIG1haW5seSBpZGVudGlmaWVkIGR1cmluZw0KICAgICAgdGhlIGRpc2N1c3Npb25zIG9uIFNI
SU02IFdHIG1haWxpbmcgbGlzdC4gIFNvbWUgcmVxdWlyZW1lbnRzIGFyZQ0KICAgICAgZGVyaXZl
ZCBmcm9tIFJlYWNoYWJpbGl0eSBQcm90b2NvbCBkb2N1bWVudDxhIGNsYXNzPSJpbmZvIiBocmVm
PSIjSS1ELmlldGYtc2hpbTYtZmFpbHVyZS1kZXRlY3Rpb24iPltJLUQuaWV0Zi1zaGltNi1mYWls
dXJlLWRldGVjdGlvbl08c3Bhbj4gKDwvc3Bhbj48c3BhbiBjbGFzcz0iaW5mbyI+QXJra28sIEou
IGFuZCBJLiBCZWlqbnVtLCAmbGRxdW87RmFpbHVyZSBEZXRlY3Rpb24gYW5kIExvY2F0b3IgUGFp
ciBFeHBsb3JhdGlvbiAJICBQcm90b2NvbCBmb3IgSVB2NiBNdWx0aWhvbWluZywmcmRxdW87IERl
Y2VtYmVyJm5ic3A7MjAwNS48L3NwYW4+PHNwYW4+KTwvc3Bhbj48L2E+Lg0KDQogICAgICANCiAg
ICAgIA0KICAgICAgPC9wPg0KPHVsIGNsYXNzPSJ0ZXh0Ij4NCjxsaT5Mb2NhdG9yIG1hbmFnZW1l
bnQuICBMb2NhdG9yIG1hbmFnZW1lbnQgaXMgcm9sZSBvZiB0aGUgc2hpbQ0KCWxheWVyIHRvIHNl
bGVjdCBhIHBhaXIgb2YgbG9jYXRvcnMgZm9yIHNlbmRpbmcgSVAgcGFja2V0cw0KCXdpdGhpbiBh
IGdpdmVuIGNvbnRleHQuICBUaGUgc2VsZWN0aW9uIGlzIG1hZGUgYnkgdGFraW5nDQoJbWlzY2Vs
bGFuZW91cyBjb25kaXRpb25zIGludG8gYWNjb3VudCBzdWNoIGFzIHJlYWNoYWJpbGl0eSBvZg0K
CXRoZSBwYXRoLCBhcHBsaWNhdGlvbidzIHByZWZlcmVuY2UsIGFuZCBjaGFyYWN0ZXJpc3RpY3Mg
b2YNCglwYXRoLiAgRnJvbSBhcHBsaWNhdGlvbidzIHBlcnNwZWN0aXZlOg0KDQoJDQo8dWwgY2xh
c3M9InRleHQiPg0KPGxpPkl0IHNob3VsZCBiZSBwb3NzaWJsZSB0byBvYnRhaW4gbGlzdCBvZiBs
b2NhdG9ycyBvZiB0aGUNCgkgIGhvc3Qgd2l0aGluIGEgZ2l2ZW4gY29udGV4dC4gIExzKGxvY2Fs
KSBhbmQgTHMocmVtb3RlKS4NCjwvbGk+DQo8bGk+SXQgc2hvdWxkIGJlIHBvc3NpYmxlIHRvIG9i
dGFpbiBwcmVmZXJyZWQgbG9jYXRvciBvZiB0aGUNCgkgIG5vZGUgd2l0aGluIGEgZ2l2ZW4gY29u
dGV4dC4gIExwKGxvY2FsKSBhbmQgTHAocmVtb3RlKS4NCjwvbGk+DQo8L3VsPg0KCQ0KPC9saT4N
CjxsaT5Ob3RpZmljYXRpb24gZnJvbSBhcHBsaWNhdGlvbiB0byB0aGUgc2hpbSBsYXllciBhYm91
dCB0aGUNCglzdGF0dXMgb2YgdGhlIGNvbW11bmljYXRpb24uICBOb3RlIHRoYXQgdGhlIG5vdGlm
aWNhdGlvbiBpcw0KCW1hZGUgaW4gYW4gZXZlbnQgYmFzZWQgbWFubmVyLiAgVGhlcmUgYXJlIG1h
aW5seSB0d28gYXNwZWN0cw0KCW9mIHRoZSBmZWVkYmFjayB0aGF0IGFwcGxpY2F0aW9uIG9yIHVw
cGVyIGxheWVyIHByb3RvY29sIG1heQ0KCXByb3ZpZGUgZm9yIHRoZSBzaGltIGxheWVyLCBwb3Np
dGl2ZSBhbmQgbmVnYXRpdmUgZmVlZGJhY2tzDQoJW05PVEU6IFRoZXNlIGZlZWRiYWNrcyBhcmUg
YWRkcmVzc2VkIGluIHNlY3Rpb24gNC4zIGFuZA0KCXNlY3Rpb24gNS4yIG9mIFJFQVAgc3BlY2lm
aWNhdGlvbl06DQoJDQoJDQo8dWwgY2xhc3M9InRleHQiPg0KPGxpPlBvc2l0aXZlIGZlZWRiYWNr
IGNvdWxkIGJlIGdpdmVuIGJ5IHRoZSBhcHBsaWNhdGlvbiBvcg0KCSAgdXBwZXIgbGF5ZXIgcHJv
dG9jb2wgKGUuZy4gVENQKSB0byB0aGUgc2hpbSBsYXllciBpbmZvcm1pbmcNCgkgIHRoYXQgaXRz
IGNvbW11bmljYXRpb24gaXMgZ29pbmcgd2VsbC4NCjwvbGk+DQo8bGk+TmVnYXRpdmUgZmVlZGJh
Y2sgY291bGQgYmUgZ2l2ZW4gYnkgdGhlIGFwcGxpY2F0aW9uIG9yDQoJICB1cHBlciBsYXllciBw
cm90b2NvbCAoZS5nLiBUQ1ApIHRvIHRoZSBzaGltIGxheWVyIGluZm9ybWluZw0KCSAgdGhhdCBp
dHMgY29tbXVuaWNhdGlvbiBzdGF0dXMgaXMgbm90IHNhdGlzZmFjdG9yeS4gIFRDUA0KCSAgY291
bGQgZGV0ZWN0IGEgcHJvYmxlbSB3aGVuIGl0IGRvZXMgbm90IHJlY2VpdmVzIGV4cGVjdGVkDQoJ
ICBBQ0sgZnJvbSB0aGUgcGVlci4gIElDTVAgZXJyb3IgbWVzc2FnZXMgZGVsaXZlcmVkIHRvIHRo
ZQ0KCSAgdXBwZXIgbGF5ZXIgcHJvdG9jb2wgY291bGQgYmUgYSBjbHVlIGZvciBhcHBsaWNhdGlv
biB0bw0KCSAgZGV0ZWN0IGFueSBraW5kIG9mIHByb2JsZW0uICBSRUFQIG1vZHVsZSBtYXkgYmUg
dHJpZ2dlcmVkIGJ5DQoJICB0aGVzZSBuZWdhdGl2ZSBmZWVkYmFja3MgYW5kIGludm9rZSBwcm9j
ZWR1cmUgb2YgcGF0aA0KCSAgZXhwbG9yYXRpb24uDQo8L2xpPg0KPC91bD4NCgkNCjwvbGk+DQo8
bGk+RmVlZGJhY2sgZnJvbSBhcHBsaWNhdGlvbiB0byBzaGltIGxheWVyLiAgVGhlIGFwcGxpY2F0
aW9uDQoJc2hvdWxkIGJlIGFibGUgdG8gaW5mb3JtIHRoZSBzaGltIGxheWVyIGFib3V0IHRoZSB0
aW1lb3V0DQoJdmFsdWVzIGZvciBkZXRlY3RpbmcgZmFpbHVyZSwgZm9yIHNlbmRpbmcga2VlcGFs
aXZlcywgZm9yDQoJc3RhcnRpbmcgdGhlIGV4cGxvcmF0aW9uIHByb2NlZHVyZS4gIEluIHBhcnRp
Y3VsYXIsIHRoZQ0KCWFwcGxpY2F0aW9uIHNob3VsZCBiZSBhYmxlIHRvIHN1cHByZXNzIHRoZSBr
ZWVwYWxpdmVzLg0KCQ0KPC9saT4NCjxsaT5Ib3Qtc3RhbmRieS4gIFRoZSBhcHBsaWNhdGlvbiBt
YXkgcmVxdWVzdCB0aGUgc2hpbSBsYXllciBpZg0KCWhvdC1zdGFuZGJ5IGNvbm5lY3Rpb24gaXMg
bmVlZGVkLiAgSW4gdGhpcyBjYXNlLCBhbHRlcm5hdGl2ZQ0KCXBhdGhzIGFyZSBrbm93biB0byBi
ZSB3b3JraW5nLiAgSGVuY2UgaXQgaXMgcG9zc2libGUgZm9yIHRoZQ0KCWhvc3QgdG8gaW1tZWRp
YXRlbHkgcmVwbGFjZSB0aGUgY3VycmVudCBsb2NhdG9yIHBhaXIgd2l0aCB0aGUNCglhbHRlcm5h
dGl2ZSBsb2NhdG9yIHBhaXIuICBIb3Qtc3RhbmRieSBtYXkgYWxsb3cgYXBwbGljYXRpb24NCgl0
byBhY2hpZXZlIGJldHRlciBmYWlsb3Zlci4NCjwvbGk+DQo8bGk+RWFnZXJuZXNzIG9mIGxvY2F0
b3IgZXhwbG9yYXRpb24uICBUaGUgYXBwbGljYXRpb24gc2hvdWxkDQoJYmUgYWJsZSB0byBpbmZv
cm0gdGhlIHNoaW0gbGF5ZXIgaG93IHByb2FjdGl2ZSBpdCB3YW50cyBSRUFQDQoJbWVjaGFuaXNt
IHRvIHBlcmZvcm0gcGF0aCBleHBsb3JhdGlvbiAoZS5nLiBzcGVjaWZ5aW5nIHRoZQ0KCW51bWJl
ciBvZiBjb25jdXJyZW50IGF0dGVtcHRzIG9mIGRpc2NvdmVyaW5nIHdvcmtpbmcgbG9jYXRvcg0K
CXBhaXIpIHdoZW4gYW4gb3V0YWdlIG9jY3VycyBvbiB0aGUgcGF0aCBiZXR3ZWVuIHRoZSBjdXJy
ZW50bHkNCglzZWxlY3RlZCBsb2NhdG9yIHBhaXIuDQo8L2xpPg0KPGxpPlByb3ZpZGluZyBsb2Nh
dG9yIGluZm9ybWF0aW9uIHRvIGFwcGxpY2F0aW9uLiAgVGhlDQoJYXBwbGljYXRpb24gc2hvdWxk
IGJlIGFibGUgdG8gb2J0YWluIGluZm9ybWF0aW9uIGFib3V0IHRoZQ0KCWxvY2F0b3IgcGFpciB3
aGljaCB3YXMgYWN0dWFsbHkgdXNlZCB0byBzZW5kIG9yIHJlY2VpdmUgdGhlDQoJcGFja2V0Lg0K
CQ0KPHVsIGNsYXNzPSJ0ZXh0Ij4NCjxsaT5Gb3IgaW5ib3VuZCB0cmFmZmljLCB0aGUgYXBwbGlj
YXRpb24gbWF5IGJlIGludGVyZXN0ZWQgaW4NCgkgIHRoZSBsb2NhdG9yIHBhaXIgd2hpY2ggd2Fz
IGFjdHVhbGx5IHVzZWQgdG8gcmVjZWl2ZSB0aGUNCgkgIHBhY2tldC4NCgkgIA0KPC9saT4NCjxs
aT5Gb3Igb3V0Ym91bmQgdHJhZmZpYywgdGhlIGFwcGxpY2F0aW9uIG1heSBiZSBpbnRlcmVzdGVk
DQoJICBpbiB0aGUgbG9jYXRvciBwYWlyIHdoaWNoIHdhcyBhY3R1YWxseSB1c2VkIHRvIHRyYW5z
bWl0IHRoZQ0KCSAgcGFja2V0Lg0KPC9saT4NCjwvdWw+DQoJSW4gdGhpcyB3YXksIHRoZSBhcHBs
aWNhdGlvbiBtYXkgaGF2ZSBhZGRpdGlvbmFsIGNvbnRyb2wgb24NCglsb2NhdG9yIG1hbmFnZW1l
bnQuICBGb3IgZXhhbXBsZSwgdGhlIGFwcGxpY2F0aW9uIGNhbiB2ZXJpZnkNCglpZiBpdHMgcHJl
ZmVyZW5jZSBvZiBsb2NhdG9yIGlzIGFjdHVhbGx5IGFwcGxpZWQgdG8gdGhlIGZsb3cNCglvciBu
b3QuDQoJDQo8L2xpPg0KPGxpPlRoZSBhcHBsaWNhdGlvbiBzaG91bGQgYmUgYWJsZSB0byBzcGVj
aWZ5IGlmIGl0IHdhbnRzIHRvDQoJZGVmZXIgdGhlIGNvbnRleHQgc2V0dXAgb3IgaXQgd2FudHMg
Y29udGV4dCBlc3RhYmxpc2htZW50IHRvDQoJYmUgc3RhcnRlZCBpbW1lZGlhdGVseSBpZiB0aGVy
ZSBpcyBubyBhdmFpbGFibGUgY29udGV4dC4gIEluDQoJc3VjaCB3YXksIGFwcGxpY2F0aW9uIGNh
biAndXBncmFkZScgdGhlIGNvbm5lY3Rpb24gcHJvdmlkaW5nDQoJaW4gYSBzZW5zZSB0aGF0IGlk
ZW50aWZpZXIgYW5kIGxvY2F0b3IgYXJlIG1hbmFnZWQNCglzZXBhcmF0ZWx5Lg0KPC9saT4NCjxs
aT5UdXJuIG9uL29mZiBzaGltLiAgVGhlIGFwcGxpY2F0aW9uIHNob3VsZCBiZSBhYmxlIHRvDQoJ
cmVxdWVzdCB0byB0dXJuIG9uL29mZiB0aGUgbXVsdGlob21pbmcgc3VwcG9ydCBieSB0aGUgc2hp
bQ0KCWxheWVyOg0KCQ0KPHVsIGNsYXNzPSJ0ZXh0Ij4NCjxsaT5BcHBseSBzaGltLiAgVGhlIGFw
cGxpY2F0aW9uIHNob3VsZCBiZSBhYmxlIHRvIGV4cGxpY2l0bHkNCgkgIHJlcXVlc3QgdGhlIHNo
aW0gbGF5ZXIgdG8gYXBwbHkgbXVsdGlob21pbmcgc3VwcG9ydC4NCjwvbGk+DQo8bGk+RG9uJ3Qg
YXBwbHkgc2hpbS4gIFRoZSBhcHBsaWNhdGlvbiBzaG91bGQgYmUgYWJsZSB0bw0KCSAgcmVxdWVz
dCB0aGUgc2hpbSBsYXllciBub3QgdG8gYXBwbHkgdGhlIG11bHRpaG9taW5nIHN1cHBvcnQNCgkg
IGJ1dCB0byBhcHBseSBub3JtYWwgSVAgcHJvY2Vzc2luZyBhdCB0aGUgSVAgbGF5ZXIuDQo8L2xp
Pg0KPC91bD4NCgkNCjwvbGk+DQo8bGk+VGhlIGFwcGxpY2F0aW9uIHNob3VsZCBiZSBhYmxlIHRv
IGtub3cgaWYgaXRzIGNvbW11bmljYXRpb24NCglpcyBub3cgc2VydmVkIGJ5IHRoZSBzaGltIGxh
eWVyIG9yIG5vdC4NCjwvbGk+DQo8bGk+VGhlIGFwcGxpY2F0aW9uIHNob3VsZCBiZSBhYmxlIHRv
IGFjY2VzcyBsb2NhdG9yDQoJaW5mb3JtYXRpb24gcmVnYXJkbGVzcyBvZiBpdHMgYWRkcmVzcyBm
YW1pbHkuICBJbiBvdGhlciB3b3JkcywNCglubyBtYXR0ZXIgdGhlIHRhcmdldCBsb2NhdG9yIGlz
IElQdjQgb3IgSVB2NiwgdGhlIGFwcGxpY2F0aW9uDQoJc2hvdWxkIGJlIGFibGUgdG8gdXNlIGNv
bW1vbiBpbnRlcmZhY2UgdG8gYWNjZXNzIHRoZSBsb2NhdG9yDQoJaW5mb3JtYXRpb24uDQo8L2xp
Pg0KPC91bD48cD4JDQogICAgDQo8L3A+DQo8YSBuYW1lPSJzZWMtc2hpbS1zb2NrZXQtb3B0aW9u
cyI+PC9hPjxiciAvPjxociAvPg0KPHRhYmxlIHN1bW1hcnk9ImxheW91dCIgY2VsbHBhZGRpbmc9
IjAiIGNlbGxzcGFjaW5nPSIyIiBjbGFzcz0iYnVnIiBhbGlnbj0icmlnaHQiPjx0cj48dGQgY2xh
c3M9ImJ1ZyI+PGEgaHJlZj0iI3RvYyIgY2xhc3M9ImxpbmsyIj4mbmJzcDtUT0MmbmJzcDs8L2E+
PC90ZD48L3RyPjwvdGFibGU+DQo8YSBuYW1lPSJyZmMuc2VjdGlvbi42Ij48L2E+PGgzPjYuJm5i
c3A7U29ja2V0IE9wdGlvbnMgZm9yIE11bHRpaG9tZWQgU2hpbSBMYXllcjwvaDM+DQoNCjxwPklu
IHRoaXMgc2VjdGlvbiwgc29ja2V0IG9wdGlvbnMgbmV3bHkgZGVmaW5lZCBmb3IgYXBwbGljYXRp
b24NCiAgICAgIHRvIGludGVyZmFjZSB0aGUgbXVsdGlob21lZCBzaGltIGxheWVyIGFyZSBwcmVz
ZW50ZWQuICBUaGVzZQ0KICAgICAgb3B0aW9ucyBjYW4gYmUgdXNlZCBlaXRoZXIgYnkgZ2V0c29j
a29wdCgpIGFuZC9vciBzZXRzb2Nrb3B0KCkNCiAgICAgIHN5c3RlbSBjYWxscyBmb3IgYW4gb3Bl
bmVkIHNvY2tldC4gIDxhIGNsYXNzPSJpbmZvIiBocmVmPSIjdGFiLXNoaW0tc29ja2V0LW9wdGlv
bnMiPlRhYmxlJm5ic3A7MTxzcGFuPiAoPC9zcGFuPjxzcGFuIGNsYXNzPSJpbmZvIj5TaGltIHNw
ZWNpZmljIHNvY2tldCBvcHRpb25zIGZvciBnZXRzb2Nrb3B0KCkgYW5kIHNldHNvY2tvcHQoKTwv
c3Bhbj48c3Bhbj4pPC9zcGFuPjwvYT4gcHJvdmlkZXMgYSBsaXN0IG9mIHRoZSBzb2NrZXQNCiAg
ICAgIG9wdGlvbnMuICBOb3RlIHRoYXQgYWxsIHNvY2tldCBvcHRpb25zIGFyZSBkZWZpbmVkIGF0
IGxldmVsDQogICAgICBTT0xfU0hJTS4NCjwvcD4NCjxwPlRoZSBmaXJzdCBjb2x1bW4gb2YgdGhl
IHRhYmxlIGdpdmVzIG5hbWUgb2YgdGhlIG9wdGlvbi4gIFRoZQ0KICAgICAgc2Vjb25kIGFuZCB0
aGlyZCBjb2x1bW5zIGluZGljYXRlcyB3aGV0aGVyIGlmIHRoZSBvcHRpb24gaXMgZm9yDQogICAg
ICBnZXRzb2Nrb3B0KCkgYW5kL29yIHNldHNvY2tvcHQoKSwgcmVzcGVjdGl2ZWx5LiAgVGhlIGZv
dXJ0aA0KICAgICAgY29sdW1uIHByb3ZpZGVzIGEgYnJpZWYgZGVzY3JpcHRpb24gYWJvdXQgdGhl
IHNvY2tldCBvcHRpb24uDQogICAgICBUaGUgZmlmdGggY29sdW1uIHNob3dzIHRoZSBkYXRhIHN0
cnVjdHVyZSBzcGVjaWZpZWQgd2l0aCB0aGUNCiAgICAgIHNvY2tldCBvcHRpb24sIHdoaWNoIGNv
dWxkIGNhbiBzdG9yZSBhbiBhcmd1bWVudCBmb3INCiAgICAgIHNldHNvY2tvcHQoKSBhbmQgcmVz
dWx0IGZvciBnZXRzb2Nrb3B0KCkuICBCeSBkZWZhdWx0LCB0aGUgZGF0YQ0KICAgICAgc3RydWN0
dXJlIGlzIGFuIGludGVnZXIuDQo8L3A+PGJyIC8+PGhyIC8+DQo8YSBuYW1lPSJ0YWItc2hpbS1z
b2NrZXQtb3B0aW9ucyI+PC9hPg0KPHRhYmxlIGNsYXNzPSJmdWxsIiBhbGlnbj0iY2VudGVyIiBi
b3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMiI+DQo8Y29sIGFsaWduPSJs
ZWZ0Ij48Y29sIGFsaWduPSJsZWZ0Ij48Y29sIGFsaWduPSJsZWZ0Ij48Y29sIGFsaWduPSJsZWZ0
Ij48Y29sIGFsaWduPSJsZWZ0Ij4NCjx0cj48dGggYWxpZ249ImxlZnQiPm9wdG5hbWU8L3RoPjx0
aCBhbGlnbj0ibGVmdCI+Z2V0PC90aD48dGggYWxpZ249ImxlZnQiPnNldDwvdGg+PHRoIGFsaWdu
PSJsZWZ0Ij5kZXNjcmlwdGlvbjwvdGg+PHRoIGFsaWduPSJsZWZ0Ij5kdHlwZTwvdGg+PC90cj4N
Cjx0cj4NCjx0ZCBhbGlnbj0ibGVmdCI+U0hJTV9BU1NPQ0lBVEVEPC90ZD4NCjx0ZCBhbGlnbj0i
bGVmdCI+bzwvdGQ+DQo8dGQgYWxpZ249ImxlZnQiPiZuYnNwOzwvdGQ+DQo8dGQgYWxpZ249Imxl
ZnQiPkNoZWNrIGlmIHRoZSBzb2NrZXQgaXMgYXNzb2NpYXRlZCB3aXRoIGFueSBzaGltIGNvbnRl
eHQgb3INCglub3QuPC90ZD4NCjx0ZCBhbGlnbj0ibGVmdCI+aW50PC90ZD4NCjwvdHI+DQo8dHI+
DQo8dGQgYWxpZ249ImxlZnQiPlNISU1fRE9OVFNISU08L3RkPg0KPHRkIGFsaWduPSJsZWZ0Ij5v
PC90ZD4NCjx0ZCBhbGlnbj0ibGVmdCI+bzwvdGQ+DQo8dGQgYWxpZ249ImxlZnQiPlJlcXVlc3Qg
dGhlIHNoaW0gbGF5ZXIgbm90IHRvIGFwcGx5IGFueSBtdWx0aWhvbWluZyBzdXBwb3J0DQoJZm9y
IHRoZSBjb21tdW5pY2F0aW9uLjwvdGQ+DQo8dGQgYWxpZ249ImxlZnQiPmludDwvdGQ+DQo8L3Ry
Pg0KPHRyPg0KPHRkIGFsaWduPSJsZWZ0Ij5TSElNX0hPVF9TVEFOREJZPC90ZD4NCjx0ZCBhbGln
bj0ibGVmdCI+Jm5ic3A7PC90ZD4NCjx0ZCBhbGlnbj0ibGVmdCI+bzwvdGQ+DQo8dGQgYWxpZ249
ImxlZnQiPlJlcXVlc3QgdGhlIHNoaW0gbGF5ZXIgdG8gcHJlcGFyZSBhIGhvdC1zdGFuZGJ5IGNv
bm5lY3Rpb24NCgliZXNpZGVzIHRoZSBjdXJyZW50IHBhdGguPC90ZD4NCjx0ZCBhbGlnbj0ibGVm
dCI+aW50PC90ZD4NCjwvdHI+DQo8dHI+DQo8dGQgYWxpZ249ImxlZnQiPlNISU1fUEFUSEVYUExP
UkU8L3RkPg0KPHRkIGFsaWduPSJsZWZ0Ij4mbmJzcDs8L3RkPg0KPHRkIGFsaWduPSJsZWZ0Ij5v
PC90ZD4NCjx0ZCBhbGlnbj0ibGVmdCI+U3BlY2lmeSBob3cgbWFueSBwYXRoIGV4cGxvcmF0aW9u
cyBhcmUgcmVxdWlyZWQgaW4gY2FzZSBvZg0KCWZhaWx1cmUuPC90ZD4NCjx0ZCBhbGlnbj0ibGVm
dCI+aW50PC90ZD4NCjwvdHI+DQo8dHI+DQo8dGQgYWxpZ249ImxlZnQiPlNISU1fTE9DX0xPQ0FM
X1BSRUY8L3RkPg0KPHRkIGFsaWduPSJsZWZ0Ij5vPC90ZD4NCjx0ZCBhbGlnbj0ibGVmdCI+bzwv
dGQ+DQo8dGQgYWxpZ249ImxlZnQiPkdldCBvciBzZXQgcHJlZmVycmVkIGxvY2F0b3Igb24gbG9j
YWwgc2lkZSBmb3IgdGhlIGNvbnRleHQNCglhc3NvY2lhdGVkIHdpdGggdGhlIHNvY2tldC48L3Rk
Pg0KPHRkIGFsaWduPSJsZWZ0Ij4qMTwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkIGFsaWduPSJsZWZ0
Ij5TSElNX0xPQ19QRUVSX1BSRUY8L3RkPg0KPHRkIGFsaWduPSJsZWZ0Ij5vPC90ZD4NCjx0ZCBh
bGlnbj0ibGVmdCI+bzwvdGQ+DQo8dGQgYWxpZ249ImxlZnQiPkdldCBvciBzZXQgcHJlZmVycmVk
IGxvY2F0b3Igb24gcmVtb3RlIHNpZGUgZm9yIHRoZSBjb250ZXh0DQoJYXNzb2NpYXRlZCB3aXRo
IHRoZSBzb2NrZXQuPC90ZD4NCjx0ZCBhbGlnbj0ibGVmdCI+KjE8L3RkPg0KPC90cj4NCjx0cj4N
Cjx0ZCBhbGlnbj0ibGVmdCI+U0hJTV9MT0NfTE9DQUxfUkVDVjwvdGQ+DQo8dGQgYWxpZ249Imxl
ZnQiPiZuYnNwOzwvdGQ+DQo8dGQgYWxpZ249ImxlZnQiPm88L3RkPg0KPHRkIGFsaWduPSJsZWZ0
Ij5SZXF1ZXN0IGZvciBkZXN0aW5hdGlvbiBsb2NhdG9yIG9mIHJlY2VpdmVkIElQIHBhY2tldC48
L3RkPg0KPHRkIGFsaWduPSJsZWZ0Ij5pbnQ8L3RkPg0KPC90cj4NCjx0cj4NCjx0ZCBhbGlnbj0i
bGVmdCI+U0hJTV9MT0NfUEVFUl9SRUNWPC90ZD4NCjx0ZCBhbGlnbj0ibGVmdCI+Jm5ic3A7PC90
ZD4NCjx0ZCBhbGlnbj0ibGVmdCI+bzwvdGQ+DQo8dGQgYWxpZ249ImxlZnQiPlJlcXVlc3QgZm9y
IHNvdXJjZSBsb2NhdG9yIG9mIHJlY2VpdmVkIElQIHBhY2tldC48L3RkPg0KPHRkIGFsaWduPSJs
ZWZ0Ij5pbnQ8L3RkPg0KPC90cj4NCjx0cj4NCjx0ZCBhbGlnbj0ibGVmdCI+U0hJTV9MT0NMSVNU
X0xPQ0FMPC90ZD4NCjx0ZCBhbGlnbj0ibGVmdCI+bzwvdGQ+DQo8dGQgYWxpZ249ImxlZnQiPm88
L3RkPg0KPHRkIGFsaWduPSJsZWZ0Ij5HZXQgb3Igc2V0IGEgbGlzdCBvZiBsb2NhdG9ycyBhc3Nv
Y2lhdGVkIHdpdGggbG9jYWwgRUlELjwvdGQ+DQo8dGQgYWxpZ249ImxlZnQiPioxPC90ZD4NCjwv
dHI+DQo8dHI+DQo8dGQgYWxpZ249ImxlZnQiPlNISU1fTE9DTElTVF9QRUVSPC90ZD4NCjx0ZCBh
bGlnbj0ibGVmdCI+bzwvdGQ+DQo8dGQgYWxpZ249ImxlZnQiPm88L3RkPg0KPHRkIGFsaWduPSJs
ZWZ0Ij5HZXQgb3Igc2V0IGEgbGlzdCBvZiBsb2NhdG9ycyBhc3NvY2lhdGVkIHdpdGggcGVlcidz
IEVJRC48L3RkPg0KPHRkIGFsaWduPSJsZWZ0Ij4qMTwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkIGFs
aWduPSJsZWZ0Ij5TSElNX1RJTUVSX0tFRVBBTElWRTwvdGQ+DQo8dGQgYWxpZ249ImxlZnQiPiZu
YnNwOzwvdGQ+DQo8dGQgYWxpZ249ImxlZnQiPm88L3RkPg0KPHRkIGFsaWduPSJsZWZ0Ij5JbmZv
cm0gc2hpbSBsYXllciBhYm91dCBhIHRpbWVyIHZhbHVlIG9mIGtlZXBhbGl2ZS48L3RkPg0KPHRk
IGFsaWduPSJsZWZ0Ij5pbnQ8L3RkPg0KPC90cj4NCjx0cj4NCjx0ZCBhbGlnbj0ibGVmdCI+U0hJ
TV9GRUVEQkFDS19QT1NJVElWRTwvdGQ+DQo8dGQgYWxpZ249ImxlZnQiPiZuYnNwOzwvdGQ+DQo8
dGQgYWxpZ249ImxlZnQiPm88L3RkPg0KPHRkIGFsaWduPSJsZWZ0Ij5Qcm92aWRlIGEgcG9zaXRp
dmUgZmVlZGJhY2sgdG8gdGhlIHNoaW0gbGF5ZXIuPC90ZD4NCjx0ZCBhbGlnbj0ibGVmdCI+aW50
PC90ZD4NCjwvdHI+DQo8dHI+DQo8dGQgYWxpZ249ImxlZnQiPlNISU1fRkVFREJBQ0tfTkVHQVRJ
VkU8L3RkPg0KPHRkIGFsaWduPSJsZWZ0Ij4mbmJzcDs8L3RkPg0KPHRkIGFsaWduPSJsZWZ0Ij5v
PC90ZD4NCjx0ZCBhbGlnbj0ibGVmdCI+UHJvdmlkZSBhIG5lZ2F0aXZlIGZlZWRiYWNrIHRvIHRo
ZSBzaGltIGxheWVyLjwvdGQ+DQo8dGQgYWxpZ249ImxlZnQiPioyPC90ZD4NCjwvdHI+DQo8dHI+
DQo8dGQgYWxpZ249ImxlZnQiPlNISU1fSUZfUkVDVjwvdGQ+DQo8dGQgYWxpZ249ImxlZnQiPiZu
YnNwOzwvdGQ+DQo8dGQgYWxpZ249ImxlZnQiPm88L3RkPg0KPHRkIGFsaWduPSJsZWZ0Ij5SZXF1
ZXN0IGZvciByZWNlaXZpbmcgaW50ZXJmYWNlLjwvdGQ+DQo8dGQgYWxpZ249ImxlZnQiPmludDwv
dGQ+DQo8L3RyPg0KPHRyPg0KPHRkIGFsaWduPSJsZWZ0Ij5TSElNX0lGX1NFTkQ8L3RkPg0KPHRk
IGFsaWduPSJsZWZ0Ij4mbmJzcDs8L3RkPg0KPHRkIGFsaWduPSJsZWZ0Ij5vPC90ZD4NCjx0ZCBh
bGlnbj0ibGVmdCI+UmVxdWVzdCBmb3Igb3V0Z29pbmcgaW50ZXJmYWNlLjwvdGQ+DQo8dGQgYWxp
Z249ImxlZnQiPmludDwvdGQ+DQo8L3RyPg0KPC90YWJsZT4NCjx0YWJsZSBib3JkZXI9IjAiIGNl
bGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCBhbGln
bj0iY2VudGVyIj48Zm9udCBmYWNlPSJtb25hY28sIE1TIFNhbnMgU2VyaWYiIHNpemU9IjEiPjxi
PiZuYnNwO1RhYmxlIDE6IFNoaW0gc3BlY2lmaWMgc29ja2V0IG9wdGlvbnMgZm9yIGdldHNvY2tv
cHQoKSBhbmQgc2V0c29ja29wdCgpJm5ic3A7PC9iPjwvZm9udD48YnIgLz48L3RkPjwvdHI+PC90
YWJsZT48aHIgc2l6ZT0iMSIgc2hhZGU9IjAiPg0KDQo8cD4qMTogUG9pbnRlciB0byB0aGUgYnVm
ZmVyIHdoaWNoIHN0b3JlcyBhcnJheXMgb2YgbG9jYXRvcg0KICAgICAgaW5mb3JtYXRpb24uICBU
aGUgYnVmZmVyIGlzIGFjdHVhbGx5IHRoZSBjaGFpbmVkIGxpc3Qgb2YNCiAgICAgIGFkZHJpbmZv
IHN0cnVjdHVyZS4NCjwvcD4NCjxwPioyOiBUQkQuDQo8L3A+DQo8cD48YSBjbGFzcz0iaW5mbyIg
aHJlZj0iI2ZpZy1zb2NrZXQtYXBpLW1vZGVsIj5GaWd1cmUmbmJzcDsyPHNwYW4+ICg8L3NwYW4+
PHNwYW4gY2xhc3M9ImluZm8iPlN5c3RlbSBtb2RlbCBvZiBzb2NrZXQgQVBJIHdpdGggc2hpbSBs
YXllcjwvc3Bhbj48c3Bhbj4pPC9zcGFuPjwvYT4gaWxsdXN0cmF0ZXMgaG93IHRoZQ0KICAgICAg
c2hpbSBzcGVjaWZpYyBzb2NrZXQgb3B0aW9ucyBmaXQgaW50byB0aGUgc3lzdGVtIG1vZGVsIG9m
IHNvY2tldA0KICAgICAgQVBJLiAgSW4gdGhlIGZpZ3VyZSwgaXQgY2FuIGJlIHNlZW4gdGhhdCB0
aGUgc2hpbSBsYXllciBhbmQNCiAgICAgIGFkZGl0aW9uYWwgcHJvdG9jb2wgY29tcG9uZW50cyAo
SVB2NCBhbmQgSVB2NikgYmVsb3cgdGhlIHNoaW0NCiAgICAgIGxheWVyIGFyZSBuZXcgdG8gdGhl
IHN5c3RlbSBtb2RlbC4gIEFzIHByZXZpb3VzbHkgbWVudGlvbmVkLCBhbGwNCiAgICAgIHRoZSBz
aGltIHNwZWNpZmljIHNvY2tldCBvcHRpb25zIGFyZSBkZWZpbmVkIGF0IFNPTF9TSElNIGxldmVs
Lg0KICAgICAgVGhpcyBkZXNpZ24gY2hvaWNlIGJyaW5ncyB0aGUgZm9sbG93aW5nIGFkdmFudGFn
ZXM6DQoNCiAgICAgIDwvcD4NCjxvbCBjbGFzcz0idGV4dCI+DQo8bGk+SXQgaXMgYXNzdXJlZCB0
aGF0IGV4aXN0aW5nIHNvY2tldCBBUEkgY29udGludWUgdG8gd29yayBhdA0KCXRoZSBsYXllciBh
Ym92ZSB0aGUgc2hpbSBsYXllci4gIFRoYXQgaXMsIHRob3NlIGxlZ2FjeSBBUEkNCglkZWFsIHdp
dGggJ2lkZW50aWZpZXInIGFzcGVjdCBvZiB0aGUgSVAgYWRkcmVzc2VzLg0KPC9saT4NCjxsaT5X
aXRoIG5ld2x5IGRlZmluZWQgc29ja2V0IG9wdGlvbnMgZm9yIHRoZSBzaGltIGxheWVyLA0KCWFw
cGxpY2F0aW9uIG9idGFpbnMgYWRkaXRpb25hbCBjb250cm9sIG9uIGxvY2F0b3INCgltYW5hZ2Vt
ZW50Lg0KPC9saT4NCjxsaT5UaGUgc2hpbSBzcGVjaWZpYyBzb2NrZXQgb3B0aW9ucyBhcmUgbm90
IHNwZWNpZmljIHRvIGFueQ0KCWFkZHJlc3MgZmFtaWx5IChJUFBST1RPX0lQIG9yIElQUFJPVE9f
SVBWNikgbm9yIGFueSB0cmFuc3BvcnQNCglwcm90b2NvbCAoU09DS19TVFJFQU0gb3IgU09DS19E
R1JBTSBvciBTT0NLX1JBVykuDQo8L2xpPg0KPC9vbD48cD4NCg0KICAgICAgDQo8L3A+PGJyIC8+
PGhyIC8+DQo8YSBuYW1lPSJmaWctc29ja2V0LWFwaS1tb2RlbCI+PC9hPg0KPHByZT4NCg0KICAg
ICAgICAgICAgICAgICAgICAgICAgIHMxIHMyICAgICAgczMgczQNCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgfCAgfCAgICAgICB8ICB8DQogICAgICAgICArLS0tLS0tLS0tLS0tLS0tLXwtLXwt
LS0tLS0tfC0tfC0tLS0tLS0tLS0tLS0tLS0rDQogICAgICAgICB8ICAgICAgICAgICAgICstLS0t
LS0tKyAgICstLS0tLS0tKyAgICAgICAgICAgICB8DQogICAgICAgICB8IElQUFJPVE9fVENQIHwg
IFRDUCAgfCAgIHwgIFVEUCAgfCAgICAgICAgICAgICB8DQogICAgICAgICB8ICAgICAgICAgICAg
ICstLS0tLS0tKyAgICstLS0tLS0tKyAgICAgICAgICAgICB8DQogICAgICAgICB8ICAgICAgICAg
ICAgICAgIHwgICBcICAgICAvICAgfCAgICAgICAgICAgICAgICB8DQogICAgICAgICB8ICAgICAg
ICAgICAgICAgIHwgICAgLS0tLS0gICAgfCAgICAgICAgICAgICAgICB8DQogICAgICAgICB8ICAg
ICAgICAgICAgICAgIHwgICAvICAgICBcICAgfCAgICAgICAgICAgICAgICB8DQogICAgICAgICB8
ICAgICAgICAgICAgICArLS0tLS0tKyAgICstLS0tLS0rICAgICAgICAgICAgICB8DQogICAgICAg
ICB8ICAgSVBQUk9UT19JUCB8IElQdjQgfCAgIHwgSVB2NiB8IElQUFJPVE9fSVBWNiB8DQogICAg
ICAgICB8ICAgICAgICAgICAgICArLS0tLS0tKyAgICstLS0tLS0rICAgICAgICAgICAgICB8DQog
ICAgICAgICB8ICAgICAgICAgICAgICAgICAgXCAgICAgICAgIC8gICAgICAgICAgICAgU09MX1NP
Q0tFVA0KICAgICAgICAgfCAgICAgICAgICArLS0tLS0tLS1cLS0tLS0tLS8tLS0tLS0tLSsgICAg
ICAgICAgfA0KICAgICAgICAgfCBTT0xfU0hJTSB8ICAgICAgICAgIHNoaW0gICAgICAgICAgIHwg
ICAgICAgICAgfA0KICAgICAgICAgfCAgICAgICAgICArLS0tLS0tLS0vLS0tLS0tLVwtLS0tLS0t
LSsgICAgICAgICAgfA0KICAgICAgICAgfCAgICAgICAgICAgICAgICAgIC8gICAgICAgICBcICAg
ICAgICAgICAgICAgICAgfA0KICAgICAgICAgfCAgICAgICAgICAgICAgKy0tLS0tLSsgICArLS0t
LS0tKyAgICAgICAgICAgICAgfA0KICAgICAgICAgfCAgICAgICAgICAgICAgfCBJUHY0IHwgICB8
IElQdjYgfCAgICAgICAgICAgICAgfA0KICAgICAgICAgfCAgICAgICAgICAgICAgKy0tLS0tLSsg
ICArLS0tLS0tKyAgICAgICAgICAgICAgfA0KICAgICAgICAgfCAgICAgICAgICAgICAgICAgIHwg
ICAgICAgICAgfCAgICAgICAgICAgICAgICAgfA0KICAgICAgICAgKy0tLS0tLS0tLS0tLS0tLS0t
LXwtLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tKw0KICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHwgICAgICAgICAgfA0KICAgICAgICAgICAgICAgICAgICAgICAgICBJUHY0ICAgICAgIElQ
djYNCiAgICAgICAgICAgICAgICAgICAgICAgIERhdGFncmFtICAgRGF0YWdyYW0NCg0KPC9wcmU+
PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIyIj48dHI+PHRk
IGFsaWduPSJjZW50ZXIiPjxmb250IGZhY2U9Im1vbmFjbywgTVMgU2FucyBTZXJpZiIgc2l6ZT0i
MSI+PGI+Jm5ic3A7RmlndXJlJm5ic3A7MjogU3lzdGVtIG1vZGVsIG9mIHNvY2tldCBBUEkgd2l0
aCBzaGltIGxheWVyJm5ic3A7PC9iPjwvZm9udD48YnIgLz48L3RkPjwvdHI+PC90YWJsZT48aHIg
c2l6ZT0iMSIgc2hhZGU9IjAiPg0KDQo8YSBuYW1lPSJhbmNob3I0Ij48L2E+PGJyIC8+PGhyIC8+
DQo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjIi
IGNsYXNzPSJidWciIGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0iYnVnIj48YSBocmVmPSIj
dG9jIiBjbGFzcz0ibGluazIiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4N
CjxhIG5hbWU9InJmYy5zZWN0aW9uLjYuMSI+PC9hPjxoMz42LjEuJm5ic3A7U0hJTV9BU1NPQ0lB
VEVEPC9oMz4NCg0KPHA+VGhpcyBvcHRpb24gY2FuIGJlIHNwZWNpZmllZCBieSBnZXRzb2Nrb3B0
KCkgdG8gY2hlY2sgaWYNCgl0aGUgc29ja2V0IGlzIGFzc29jaWF0ZWQgd2l0aCBhbnkgc2hpbSBj
b250ZXh0IG9yIG5vdC4gIFRodXMsDQoJdGhlIG9wdGlvbiBpcyByZWFkLW9ubHkgYW5kIHRoZSBy
ZXN1bHQgKDAgb3IgMSkgaXMgc2V0IGluDQoJb3B0dmFsLiAgQSByZXR1cm5lZCB2YWx1ZSAxIG1l
YW5zIHRoYXQgdGhlIHNvY2tldCBpcw0KCWFzc29jaWF0ZWQgd2l0aCBhIGdpdmVuIHNoaW0gY29u
dGV4dCBhdCB0aGUgc2hpbSBsYXllciwgd2hpbGUNCglhIHJldHVybiB2YWx1ZSAwIGluZGljYXRl
cyB0aGF0IHRoZXJlIGlzIG5vIGNvbnRleHQgYXNzb2NpYXRlZA0KCXdpdGggdGhlIHNvY2tldC4N
CjwvcD4NCjxwPlRoaXMgb3B0aW9uIGlzIHBhcnRpY3VsYXJseSBtZWFuaW5nZnVsIGluIGEgY2Fz
ZSB3aGVyZQ0KCWxvY2F0b3IgaW5mb3JtYXRpb24gb2YgdGhlIHJlY2VpdmVkIElQIHBhY2tldCBp
cyBub3QgZW5vdWdoDQoJZm9yIGlkZW50aWZ5aW5nIGlmIHRoZSBJRC9Mb2NhdG9yIGFkYXB0YXRp
b24gaXMgcGVyZm9ybWVkIG9yDQoJbm90LiAgTm90ZSB0aGF0IHRoZSBFSUQgcGFpciBhbmQgbG9j
YXRvciBwYWlyIG1heWJlIGlkZW50aWNhbA0KCWluIHNvbWUgY2FzZS4NCjwvcD4NCjxwPklTU1VF
OiBTaG91bGQgd2UgbGltaXQgdGhpcyBvcHRpb24gb25seSBmb3IgJ2Nvbm5lY3RlZCcNCglzb2Nr
ZXQgPw0KPC9wPg0KPGEgbmFtZT0iYW5jaG9yNSI+PC9hPjxiciAvPjxociAvPg0KPHRhYmxlIHN1
bW1hcnk9ImxheW91dCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBjbGFzcz0iYnVn
IiBhbGlnbj0icmlnaHQiPjx0cj48dGQgY2xhc3M9ImJ1ZyI+PGEgaHJlZj0iI3RvYyIgY2xhc3M9
ImxpbmsyIj4mbmJzcDtUT0MmbmJzcDs8L2E+PC90ZD48L3RyPjwvdGFibGU+DQo8YSBuYW1lPSJy
ZmMuc2VjdGlvbi42LjIiPjwvYT48aDM+Ni4yLiZuYnNwO1NISU1fRE9OVFNISU08L2gzPg0KDQo8
cD5UaGlzIG9wdGlvbiBjYW4gYmUgc3BlY2lmaWVkIGVpdGhlciBieSBnZXRzb2Nrb3B0KCkgb3IN
CglzZXRzb2Nrb3B0KCkuDQo8L3A+DQo8cD5UaGUgYXBwbGljYXRpb24gY2FuIHNwZWNpZnkgdGhl
IG9wdGlvbiBieSBzZXRzb2Nrb3B0KCkNCgl0YWtpbmcgdGhlIGFyZ3VtZW50IG9wdHZhbCB3aXRo
IHZhbHVlIDEgdG8gcmVxdWVzdCB0aGUgc2hpbQ0KCWxheWVyIG5vdCB0byBhcHBseSBhbnkgbXVs
dGlob21pbmcgc3VwcG9ydCBmb3IgdGhlDQoJY29tbXVuaWNhdGlvbi4gIFRoZSBhcHBsaWNhdGlv
biBjYW4gYWxzbyBvYnRhaW4gdGhlIGN1cnJlbnQNCglzZXR0aW5nIGJ5IHNwZWNpZnlpbmcgdGhl
IHRoZSBzb2NrZXQgb3B0aW9uIGluIGdldHNvY2tvcHQoKS4NCglUaGUgcmVzdWx0IHNob3VsZCBi
ZSBiaW5hcnkgKDAgb3IgMSkuDQo8L3A+DQo8cD5CeSBkZWZhdWx0LCB0aGUgdmFsdWUgaXMgc2V0
IHRvIDAsIG1lYW5pbmcgdGhhdCB0aGUgc2hpbQ0KCWxheWVyIHdpbGwgdHJ5IHRvIGFwcGx5IElE
L0xvY2F0b3IgYWRhcHRhdGlvbiBmb3IgdGhlDQoJY29tbXVuaWNhdGlvbiBvdmVyIGEgZ2l2ZW4g
c29ja2V0Lg0KPC9wPg0KPHA+T25jZSB0aGUgc29ja2V0IG9wdGlvbiBpcyBzcGVjaWZpZWQgYnkg
c2V0c29ja29wdCgpLCBpdA0KCXJlbWFpbnMgZWZmZWN0aXZlIHVudGlsIGl0IGlzIGRlYWN0aXZh
dGVkIChzdGlja3kgb3B0aW9uKS4NCjwvcD4NCjxhIG5hbWU9ImFuY2hvcjYiPjwvYT48YnIgLz48
aHIgLz4NCjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2lu
Zz0iMiIgY2xhc3M9ImJ1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJidWciPjxhIGhy
ZWY9IiN0b2MiIGNsYXNzPSJsaW5rMiI+Jm5ic3A7VE9DJm5ic3A7PC9hPjwvdGQ+PC90cj48L3Rh
YmxlPg0KPGEgbmFtZT0icmZjLnNlY3Rpb24uNi4zIj48L2E+PGgzPjYuMy4mbmJzcDtTSElNX0hP
VF9TVEFOREJZPC9oMz4NCg0KPHA+VGhpcyBvcHRpb24gY2FuIGJlIHNwZWNpZmllZCBieSBzZXRz
b2Nrb3B0KCkuDQo8L3A+DQo8cD5CeSBzZXR0aW5nIDEgaW4gdGhlIG9wdHZhbCBmb3IgdGhlIHNl
dHNvY2tvcHQoKSwgdGhlDQoJYXBwbGljYXRpb24gY2FuIHJlcXVlc3QgdGhlIHNoaW0gbGF5ZXIg
dG8gdXRpbGl6ZSBhDQoJaG90LXN0YW5kYnkgY29ubmVjdGlvbi4gIFRoZSBob3Qtc3RhbmRieSBj
b25uZWN0aW9uIGNhbiBiZQ0KCXByb3ZpZGVkIGJ5IGEgZGlmZmVyZW50IHNldCBvZiBsb2NhdG9y
IHBhaXIgb3RoZXIgdGhhbiB0aGUNCgljdXJyZW50bHkgc2VsZWN0ZWQgbG9jYXRvciBwYWlyLg0K
PC9wPg0KPHA+QnkgZGVmYXVsdCwgdGhlIHZhbHVlIGlzIHNldCB0byAwLCBtZWFuaW5nIHRoYXQg
aG90LXN0YW5kYnkNCgljb25uZWN0aW9uIGlzIGRpc2FibGVkLg0KPC9wPg0KPHA+T25jZSB0aGUg
c29ja2V0IG9wdGlvbiBpcyBzcGVjaWZpZWQgYnkgc2V0c29ja29wdCgpLCBpdA0KCXJlbWFpbnMg
ZWZmZWN0aXZlIHVudGlsIGl0IGlzIGRlYWN0aXZhdGVkIChzdGlja3kgb3B0aW9uKS4NCjwvcD4N
CjxhIG5hbWU9ImFuY2hvcjciPjwvYT48YnIgLz48aHIgLz4NCjx0YWJsZSBzdW1tYXJ5PSJsYXlv
dXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIgY2xhc3M9ImJ1ZyIgYWxpZ249InJp
Z2h0Ij48dHI+PHRkIGNsYXNzPSJidWciPjxhIGhyZWY9IiN0b2MiIGNsYXNzPSJsaW5rMiI+Jm5i
c3A7VE9DJm5ic3A7PC9hPjwvdGQ+PC90cj48L3RhYmxlPg0KPGEgbmFtZT0icmZjLnNlY3Rpb24u
Ni40Ij48L2E+PGgzPjYuNC4mbmJzcDtTSElNX1BBVEhFWFBMT1JFPC9oMz4NCg0KPHA+VGhpcyBv
cHRpb24gY2FuIGJlIHNwZWNpZmllZCBlaXRoZXIgYnkgc2V0c29ja29wdCgpIG9yDQoJZ2V0c29j
a29wdCgpLiAgVGhlIHZhbHVlIHNwZWNpZmllZCBieSB0aGUgb3B0aW9uIGluZGljYXRlcyBob3cN
Cglwcm9hY3RpdmUgdGhlIGFwcGxpY2F0aW9uIHdhbnRzIHBhdGggZXhwbG9yYXRpb24gdG8gYmUN
CglwZXJmb3JtZWQgaW4gY2FzZSBvZiBmYWlsdXJlLiAgVGhlcmVmb3JlLCB0aGlzIG9wdGlvbiBp
cw0KCWVmZmVjdGl2ZSBvbmx5IHdoZW4gdGhlcmUgaXMgYXNzb2NpYXRlZCBzaGltIGNvbnRleHQg
Zm9yIHRoZQ0KCXNvY2tldC4NCjwvcD4NCjxwPkJ5IGRlZmF1bHQsIHRoZSB2YWx1ZSBpcyBzZXQg
dG8gZGVmYXVsdCB2YWx1ZSAoVEJEKSwNCgltZWFuaW5nIHRoYXQgdGhlIGF0dGVtcHRzIG9mIHBh
dGggZXhwbG9yYXRpb24gaXMgbWFkZSB1cCB0byBUQkQNCgl0aW1lcy4gIFRoZSBhcmd1bWVudCBv
cHR2YWwgc3BlY2lmaWVkIGJ5IGdldHNvY2tvcHQoKSBtdXN0IGJlDQoJc21hbGxlciB0aGFuIG1h
eGltdW0gdmFsdWUgKFRCRCkuDQo8L3A+DQo8cD5PbmNlIHRoZSBzb2NrZXQgb3B0aW9uIGlzIHNw
ZWNpZmllZCBieSBzZXRzb2Nrb3B0KCksIGl0DQoJcmVtYWlucyBlZmZlY3RpdmUgdW50aWwgaXQg
aXMgZGVhY3RpdmF0ZWQgKHN0aWNreSBvcHRpb24pLg0KPC9wPg0KPGEgbmFtZT0iYW5jaG9yOCI+
PC9hPjxiciAvPjxociAvPg0KPHRhYmxlIHN1bW1hcnk9ImxheW91dCIgY2VsbHBhZGRpbmc9IjAi
IGNlbGxzcGFjaW5nPSIyIiBjbGFzcz0iYnVnIiBhbGlnbj0icmlnaHQiPjx0cj48dGQgY2xhc3M9
ImJ1ZyI+PGEgaHJlZj0iI3RvYyIgY2xhc3M9ImxpbmsyIj4mbmJzcDtUT0MmbmJzcDs8L2E+PC90
ZD48L3RyPjwvdGFibGU+DQo8YSBuYW1lPSJyZmMuc2VjdGlvbi42LjUiPjwvYT48aDM+Ni41LiZu
YnNwO1NISU1fTE9DX0xPQ0FMX1BSRUY8L2gzPg0KDQo8cD5UaGlzIG9wdGlvbiBjYW4gYmUgc3Bl
Y2lmaWVkIGVpdGhlciBieSBzZXRzb2Nrb3B0KCkgb3INCglnZXRzb2Nrb3B0KCkuDQo8L3A+DQo8
cD5XaGVuIHNwZWNpZmllZCBieSBzZXRzb2Nrb3B0KCksIHByZWZlcnJlZCBsb2NhdG9yIG9uIGxv
Y2FsDQoJc2lkZSBpcyBleHBsaWNpdGx5IGdpdmVuIHRvIHRoZSBzaGltIGxheWVyLiAgVGhlIHNo
aW0gbGF5ZXINCglzaGFsbCBhY2NvcmRpbmdseSB1cGRhdGUgdGhlIHByZWZlcnJlZCBsb2NhdG9y
IG9mIHRoZSBjb250ZXh0DQoJYXNzb2NpYXRlZCB3aXRoIHRoZSBzb2NrZXQuDQo8L3A+DQo8cD5X
aGVuIHNwZWNpZmllZCBieSBnZXRzb2Nrb3B0KCksIHByZWZlcnJlZCBsb2NhdG9yIG9uIGxvY2Fs
DQoJc2lkZSBpcyByZXR1cm5lZCBieSB0aGUgc2hpbSBsYXllci4NCjwvcD4NCjxwPkFuIGVycm9y
IEVOT1NISU1DT05URVhUIHdpbGwgYmUgcmV0dXJuZWQgd2hlbiB0aGVyZSBpcyBubw0KCWNvbnRl
eHQgYXNzb2NpYXRlZCB3aXRoIHRoZSBzb2NrZXQuDQo8L3A+DQo8cD5PbmNlIHRoZSBzb2NrZXQg
b3B0aW9uIGlzIHNwZWNpZmllZCBieSBzZXRzb2Nrb3B0KCksIGl0DQoJcmVtYWlucyBlZmZlY3Rp
dmUgdW50aWwgaXQgaXMgZGVhY3RpdmF0ZWQgKHN0aWNreSBvcHRpb24pLg0KPC9wPg0KPGEgbmFt
ZT0iYW5jaG9yOSI+PC9hPjxiciAvPjxociAvPg0KPHRhYmxlIHN1bW1hcnk9ImxheW91dCIgY2Vs
bHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBjbGFzcz0iYnVnIiBhbGlnbj0icmlnaHQiPjx0
cj48dGQgY2xhc3M9ImJ1ZyI+PGEgaHJlZj0iI3RvYyIgY2xhc3M9ImxpbmsyIj4mbmJzcDtUT0Mm
bmJzcDs8L2E+PC90ZD48L3RyPjwvdGFibGU+DQo8YSBuYW1lPSJyZmMuc2VjdGlvbi42LjYiPjwv
YT48aDM+Ni42LiZuYnNwO1NISU1fTE9DX1BFRVJfUFJFRjwvaDM+DQoNCjxwPlRoaXMgb3B0aW9u
IGNhbiBiZSBzcGVjaWZpZWQgZWl0aGVyIGJ5IHNldHNvY2tvcHQoKSBvcg0KCWdldHNvY2tvcHQo
KS4NCjwvcD4NCjxwPldoZW4gc3BlY2lmaWVkIGJ5IHNldHNvY2tvcHQoKSwgcHJlZmVycmVkIGxv
Y2F0b3Igb24gcmVtb3RlDQoJc2lkZSBpcyBleHBsaWNpdGx5IGdpdmVuIHRvIHRoZSBzaGltIGxh
eWVyLiAgVGhlIHNoaW0gbGF5ZXINCglzaGFsbCBhY2NvcmRpbmdseSB1cGRhdGUgdGhlIHByZWZl
cnJlZCBsb2NhdG9yIG9mIHRoZSBjb250ZXh0DQoJYXNzb2NpYXRlZCB3aXRoIHRoZSBzb2NrZXQu
DQo8L3A+DQo8cD5XaGVuIHNwZWNpZmllZCBieSBnZXRzb2Nrb3B0KCksIHByZWZlcnJlZCBsb2Nh
dG9yIG9uIHJlbW90ZQ0KCXNpZGUgaXMgcmV0dXJuZWQgYnkgdGhlIHNoaW0gbGF5ZXIuDQo8L3A+
DQo8cD5BbiBlcnJvciBFTk9TSElNQ09OVEVYVCB3aWxsIGJlIHJldHVybmVkIHdoZW4gdGhlcmUg
aXMgbm8NCgljb250ZXh0IGFzc29jaWF0ZWQgd2l0aCB0aGUgc29ja2V0Lg0KPC9wPg0KPHA+QW4g
ZXJyb3IgRUlOVkFMSURMT0NBVE9SIHdpbGwgYmUgcmV0dXJuZWQgd2hlbiB2YWxpZGF0aW9uDQoJ
b2YgdGhlIHNwZWNpZmllZCBsb2NhdG9yIGZhaWxlZC4NCjwvcD4NCjxwPk9uY2UgdGhlIHNvY2tl
dCBvcHRpb24gaXMgc3BlY2lmaWVkIGJ5IHNldHNvY2tvcHQoKSwgaXQNCglyZW1haW5zIGVmZmVj
dGl2ZSB1bnRpbCBpdCBpcyBkZWFjdGl2YXRlZCAoc3RpY2t5IG9wdGlvbikuDQo8L3A+DQo8YSBu
YW1lPSJhbmNob3IxMCI+PC9hPjxiciAvPjxociAvPg0KPHRhYmxlIHN1bW1hcnk9ImxheW91dCIg
Y2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBjbGFzcz0iYnVnIiBhbGlnbj0icmlnaHQi
Pjx0cj48dGQgY2xhc3M9ImJ1ZyI+PGEgaHJlZj0iI3RvYyIgY2xhc3M9ImxpbmsyIj4mbmJzcDtU
T0MmbmJzcDs8L2E+PC90ZD48L3RyPjwvdGFibGU+DQo8YSBuYW1lPSJyZmMuc2VjdGlvbi42Ljci
PjwvYT48aDM+Ni43LiZuYnNwO1NISU1fTE9DX0xPQ0FMX1JFQ1Y8L2gzPg0KDQo8cD5UaGlzIG9w
dGlvbiBjYW4gYmUgc3BlY2lmaWVkIGJ5IHNldHNvY2tvcHQoKS4NCjwvcD4NCjxwPldoZW4gc3Bl
Y2lmaWVkIGJ5IHNldHNvY2tvcHQoKSwgdGhlIHNoaW0gbGF5ZXIgc3RvcmVzIHRoZQ0KCWRlc3Rp
bmF0aW9uIGxvY2F0b3Igb2YgdGhlIHJlY2VpdmVkIElQIHBhY2tldCBpbiBhbiBhbmNpbGxhcnkN
CglkYXRhIG9iamVjdCB3aGljaCBjYW4gYmUgYWNjZXNzZWQgYnkgcmVjdm1zZygpLiAgVGhlIGFy
Z3VtZW50DQoJb3B0dmFsIHZhbHVlIHNob3VsZCBiZSBzZXQgdG8gMS4NCjwvcD4NCjxwPkFuIGVy
cm9yIEVOT1NISU1DT05URVhUIHdpbGwgYmUgcmV0dXJuZWQgd2hlbiB0aGVyZSBpcyBubw0KCWNv
bnRleHQgYXNzb2NpYXRlZCB3aXRoIHRoZSBzb2NrZXQuDQo8L3A+DQo8cD5PbmNlIHRoZSBzb2Nr
ZXQgb3B0aW9uIGlzIHNwZWNpZmllZCBieSBzZXRzb2Nrb3B0KCksIGl0DQoJcmVtYWlucyBlZmZl
Y3RpdmUgdW50aWwgaXQgaXMgZGVhY3RpdmF0ZWQgKHN0aWNreSBvcHRpb24pLg0KPC9wPg0KPGEg
bmFtZT0iYW5jaG9yMTEiPjwvYT48YnIgLz48aHIgLz4NCjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQi
IGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIgY2xhc3M9ImJ1ZyIgYWxpZ249InJpZ2h0
Ij48dHI+PHRkIGNsYXNzPSJidWciPjxhIGhyZWY9IiN0b2MiIGNsYXNzPSJsaW5rMiI+Jm5ic3A7
VE9DJm5ic3A7PC9hPjwvdGQ+PC90cj48L3RhYmxlPg0KPGEgbmFtZT0icmZjLnNlY3Rpb24uNi44
Ij48L2E+PGgzPjYuOC4mbmJzcDtTSElNX0xPQ19QRUVSX1JFQ1Y8L2gzPg0KDQo8cD5UaGlzIG9w
dGlvbiBjYW4gYmUgc3BlY2lmaWVkIGJ5IHNldHNvY2tvcHQoKS4NCjwvcD4NCjxwPldoZW4gc3Bl
Y2lmaWVkIGJ5IHNldHNvY2tvcHQoKSwgdGhlIHNoaW0gbGF5ZXIgc3RvcmVzIHRoZQ0KCXNvdXJj
ZSBsb2NhdG9yIG9mIHRoZSByZWNlaXZlZCBJUCBwYWNrZXQgaW4gYW4gYW5jaWxsYXJ5IGRhdGEN
CglvYmplY3Qgd2hpY2ggY2FuIGJlIGFjY2Vzc2VkIGJ5IHJlY3Ztc2coKS4gIFRoZSBhcmd1bWVu
dA0KCW9wdHZhbCB2YWx1ZSBzaG91bGQgYmUgc2V0IHRvIDEuDQo8L3A+DQo8cD5BbiBlcnJvciBF
Tk9TSElNQ09OVEVYVCB3aWxsIGJlIHJldHVybmVkIHdoZW4gdGhlcmUgaXMgbm8NCgljb250ZXh0
IGFzc29jaWF0ZWQgd2l0aCB0aGUgc29ja2V0Lg0KPC9wPg0KPHA+T25jZSB0aGUgc29ja2V0IG9w
dGlvbiBpcyBzcGVjaWZpZWQgYnkgc2V0c29ja29wdCgpLCBpdA0KCXJlbWFpbnMgZWZmZWN0aXZl
IHVudGlsIGl0IGlzIGRlYWN0aXZhdGVkIChzdGlja3kgb3B0aW9uKS4NCjwvcD4NCjxhIG5hbWU9
ImFuY2hvcjEyIj48L2E+PGJyIC8+PGhyIC8+DQo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxs
cGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjIiIGNsYXNzPSJidWciIGFsaWduPSJyaWdodCI+PHRy
Pjx0ZCBjbGFzcz0iYnVnIj48YSBocmVmPSIjdG9jIiBjbGFzcz0ibGluazIiPiZuYnNwO1RPQyZu
YnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4NCjxhIG5hbWU9InJmYy5zZWN0aW9uLjYuOSI+PC9h
PjxoMz42LjkuJm5ic3A7U0hJTV9MT0NMSVNUX0xPQ0FMPC9oMz4NCg0KPHA+VGhpcyBvcHRpb24g
Y2FuIGJlIHNwZWNpZmllZCBlaXRoZXIgYnkgZ2V0c29ja29wdCgpIG9yDQoJc2V0c29ja29wdCgp
Lg0KPC9wPg0KPHA+V2hlbiBzcGVjaWZpZWQgYnkgc2V0c29ja29wdCgpLCBhcHBsaWNhdGlvbiBw
cm92aWRlcyBhIGxpc3QNCglvZiBsb2NhdG9ycyB3aGljaCBpcyBhc3NvY2lhdGVkIHdpdGggdGhl
IGxvY2FsIEVJRCB0byB0aGUgc2hpbQ0KCWxheWVyLiAgQWNjb3JkaW5nbHksIHRoZSBzaGltIGxh
eWVyIHNoYWxsIHVwZGF0ZSB0aGUgbGlzdCBvZg0KCWxvY2F0b3JzIExzKGxvY2FsKS4gIFRoZSBh
cmd1bWVudCBvcHR2YWwgc2hvdWxkIGNvbnRhaW4gYQ0KCXBvaW50ZXIgdG8gdGhlIGJ1ZmZlciBp
biB3aGljaCBhIGxpc3Qgb2YgbG9jYXRvcnMgYXJlIHN0b3JlZC4NCglTZWUgPGEgY2xhc3M9Imlu
Zm8iIGhyZWY9IiNzZWMtZGF0YS1zdHJ1Y3R1cmVzIj5TZWN0aW9uJm5ic3A7ODxzcGFuPiAoPC9z
cGFuPjxzcGFuIGNsYXNzPSJpbmZvIj5EYXRhIFN0cnVjdHVyZXM8L3NwYW4+PHNwYW4+KTwvc3Bh
bj48L2E+IGZvciBkZXRhaWwuDQo8L3A+DQo8cD5XaGVuIHNwZWNpZmllZCBieSBnZXRzb2Nrb3B0
KCksIGFwcGxpY2F0aW9uIG9idGFpbnMgYSBsaXN0IG9mDQoJbG9jYXRvcnMgd2hpY2ggaXMgYXNz
b2NpYXRlZCB3aXRoIHRoZSBsb2NhbCBFSUQuDQo8L3A+DQo8cD5BbiBlcnJvciBFTk9TSElNQ09O
VEVYVCB3aWxsIGJlIHJldHVybmVkIHdoZW4gdGhlcmUgaXMgbm8NCgljb250ZXh0IGFzc29jaWF0
ZWQgd2l0aCB0aGUgc29ja2V0Lg0KPC9wPg0KPHA+T25jZSB0aGUgc29ja2V0IG9wdGlvbiBpcyBz
cGVjaWZpZWQgYnkgc2V0c29ja29wdCgpLCBpdA0KCXJlbWFpbnMgZWZmZWN0aXZlIHVudGlsIGl0
IGlzIGRlYWN0aXZhdGVkIChzdGlja3kgb3B0aW9uKS4NCjwvcD4NCjxhIG5hbWU9ImFuY2hvcjEz
Ij48L2E+PGJyIC8+PGhyIC8+DQo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGluZz0i
MCIgY2VsbHNwYWNpbmc9IjIiIGNsYXNzPSJidWciIGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFz
cz0iYnVnIj48YSBocmVmPSIjdG9jIiBjbGFzcz0ibGluazIiPiZuYnNwO1RPQyZuYnNwOzwvYT48
L3RkPjwvdHI+PC90YWJsZT4NCjxhIG5hbWU9InJmYy5zZWN0aW9uLjYuMTAiPjwvYT48aDM+Ni4x
MC4mbmJzcDtTSElNX0xPQ0xJU1RfUkVNT1RFPC9oMz4NCg0KPHA+VGhpcyBvcHRpb24gY2FuIGJl
IHNwZWNpZmllZCBlaXRoZXIgYnkgZ2V0c29ja29wdCgpIG9yDQoJc2V0c29ja29wdCgpLg0KPC9w
Pg0KPHA+V2hlbiBzcGVjaWZpZWQgYnkgc2V0c29ja29wdCgpLCBhcHBsaWNhdGlvbiBwcm92aWRl
cyBhIGxpc3QNCglvZiBsb2NhdG9ycyB3aGljaCBpcyBhc3NvY2lhdGVkIHdpdGggdGhlIHJlbW90
ZSBFSUQgdG8gdGhlDQoJc2hpbSBsYXllci4gIEFjY29yZGluZ2x5LCB0aGUgc2hpbSBsYXllciBz
aGFsbCB1cGRhdGUgdGhlIGxpc3QNCglvZiBsb2NhdG9ycyBMcyhyZW1vdGUpLiAgVGhlIGFyZ3Vt
ZW50IG9wdHZhbCBzaG91bGQgY29udGFpbiBhDQoJcG9pbnRlciB0byB0aGUgYnVmZmVyIGluIHdo
aWNoIGEgbGlzdCBvZiBsb2NhdG9ycyBhcmUgc3RvcmVkLg0KCVNlZSBTZWN0aW9uIFguWCBmb3Ig
ZGV0YWlsLg0KPC9wPg0KPHA+V2hlbiBzcGVjaWZpZWQgYnkgZ2V0c29ja29wdCgpLCBhcHBsaWNh
dGlvbiBvYnRhaW5zIGEgbGlzdA0KCW9mIGxvY2F0b3JzIHdoaWNoIGlzIGFzc29jaWF0ZWQgd2l0
aCB0aGUgcmVtb3RlIEVJRC4NCjwvcD4NCjxwPkFuIGVycm9yIEVOT1NISU1DT05URVhUIHdpbGwg
YmUgcmV0dXJuZWQgd2hlbiB0aGVyZSBpcyBubw0KCWNvbnRleHQgYXNzb2NpYXRlZCB3aXRoIHRo
ZSBzb2NrZXQuDQo8L3A+DQo8cD5PbmNlIHRoZSBzb2NrZXQgb3B0aW9uIGlzIHNwZWNpZmllZCBi
eSBzZXRzb2Nrb3B0KCksIGl0DQoJcmVtYWlucyBlZmZlY3RpdmUgdW50aWwgaXQgaXMgZGVhY3Rp
dmF0ZWQgKHN0aWNreSBvcHRpb24pLg0KPC9wPg0KPGEgbmFtZT0iYW5jaG9yMTQiPjwvYT48YnIg
Lz48aHIgLz4NCjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3Bh
Y2luZz0iMiIgY2xhc3M9ImJ1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJidWciPjxh
IGhyZWY9IiN0b2MiIGNsYXNzPSJsaW5rMiI+Jm5ic3A7VE9DJm5ic3A7PC9hPjwvdGQ+PC90cj48
L3RhYmxlPg0KPGEgbmFtZT0icmZjLnNlY3Rpb24uNi4xMSI+PC9hPjxoMz42LjExLiZuYnNwO1NI
SU1fVElNRVJfS0VFUEFMSVZFPC9oMz4NCg0KPHA+VGhpcyBvcHRpb24gY2FuIGJlIHNwZWNpZmll
ZCBieSBzZXRzb2Nrb3B0KCkuDQo8L3A+DQo8cD5UaGUgYXBwbGljYXRpb24gY2FuIGluZm9ybSB0
aGUgc2hpbSBsYXllciBhYm91dCB0aGUgdGltZXINCgl2YWx1ZSBmb3Iga2VlcGFsaXZlLiAgVGhl
IGFyZ3VtZW50IG9wdHZhbCBzaG91bGQgY29udGFpbiB0aGUNCgl0aW1lciB2YWx1ZSBpbiBzZWNv
bmRzLiAgQWNjb3JkaW5nbHksIHRoZSBzaGltIGxheWVyIHNoYWxsDQoJdXBkYXRlIHRoZSBzdHJh
dGVneSBmb3IgcmVhY2hhYmlsaXR5IHRlc3QuICBFc3BlY2lhbGx5LCB0aGlzDQoJaXMgZWZmaWNp
ZW50IGluIGEgY2FzZSB3aGVyZSB0aGUgaW5mb3JtZWQgdGltZXIgdmFsdWUgaXMNCglzaG9ydGVy
IHRoYW4gdGhlIGludGVydmFsIG9mIGtlZXBhbGl2ZS4gIEluIHN1Y2ggY2FzZSwNCglrZWVwYWxp
dmVzIHRvIGJlIHBlcmZvcm1lZCBieSBSRUFQIG1heSBiZSBzdXBwcmVzc2VkLg0KPC9wPg0KPHA+
QW4gZXJyb3IgRU5PU0hJTUNPTlRFWFQgd2lsbCBiZSByZXR1cm5lZCB3aGVuIHRoZXJlIGlzIG5v
DQoJY29udGV4dCBhc3NvY2lhdGVkIHdpdGggdGhlIHNvY2tldC4NCjwvcD4NCjxwPk9uY2UgdGhl
IHNvY2tldCBvcHRpb24gaXMgc3BlY2lmaWVkIGJ5IHNldHNvY2tvcHQoKSwgaXQNCglyZW1haW5z
IGVmZmVjdGl2ZSB1bnRpbCBpdCBpcyBkZWFjdGl2YXRlZCAoc3RpY2t5IG9wdGlvbikuDQo8L3A+
DQo8YSBuYW1lPSJhbmNob3IxNSI+PC9hPjxiciAvPjxociAvPg0KPHRhYmxlIHN1bW1hcnk9Imxh
eW91dCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBjbGFzcz0iYnVnIiBhbGlnbj0i
cmlnaHQiPjx0cj48dGQgY2xhc3M9ImJ1ZyI+PGEgaHJlZj0iI3RvYyIgY2xhc3M9ImxpbmsyIj4m
bmJzcDtUT0MmbmJzcDs8L2E+PC90ZD48L3RyPjwvdGFibGU+DQo8YSBuYW1lPSJyZmMuc2VjdGlv
bi42LjEyIj48L2E+PGgzPjYuMTIuJm5ic3A7U0hJTV9GRUVEQkFDS19QT1NJVElWRTwvaDM+DQoN
CjxwPlRoaXMgb3B0aW9uIGNhbiBiZSBzcGVjaWZpZWQgYnkgc2V0c29ja29wdCgpLg0KPC9wPg0K
PHA+VGhlIGFwcGxpY2F0aW9uIGNhbiBzaW1wbHkgaW5mb3JtIHRoZSBzaGltIGxheWVyIHRoYXQg
aXRzDQoJY29tbXVuaWNhdGlvbiBpcyBnb2luZyB3ZWxsLiAgVGhlIGFyZ3VtZW50IG9wdHZhbCBz
aG91bGQgYmUNCglzZXQgdG8gMS4NCjwvcD4NCjxwPkFuIGVycm9yIEVOT1NISU1DT05URVhUIHdp
bGwgYmUgcmV0dXJuZWQgd2hlbiB0aGVyZSBpcyBubw0KCWNvbnRleHQgYXNzb2NpYXRlZCB3aXRo
IHRoZSBzb2NrZXQuDQo8L3A+DQo8YSBuYW1lPSJhbmNob3IxNiI+PC9hPjxiciAvPjxociAvPg0K
PHRhYmxlIHN1bW1hcnk9ImxheW91dCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBj
bGFzcz0iYnVnIiBhbGlnbj0icmlnaHQiPjx0cj48dGQgY2xhc3M9ImJ1ZyI+PGEgaHJlZj0iI3Rv
YyIgY2xhc3M9ImxpbmsyIj4mbmJzcDtUT0MmbmJzcDs8L2E+PC90ZD48L3RyPjwvdGFibGU+DQo8
YSBuYW1lPSJyZmMuc2VjdGlvbi42LjEzIj48L2E+PGgzPjYuMTMuJm5ic3A7U0hJTV9GRUVEQkFD
S19ORUdBVElWRTwvaDM+DQoNCjxwPlRoaXMgb3B0aW9uIGNhbiBiZSBzcGVjaWZpZWQgYnkgc2V0
c29ja29wdCgpLg0KPC9wPg0KPHA+VGhlIGFwcGxpY2F0aW9uIGNhbiBpbmZvcm0gdGhlIHNoaW0g
bGF5ZXIgdGhhdCBpdHMNCgljb21tdW5pY2F0aW9uIGlzIG5vdCBnb2luZyB3ZWxsLiAgVGhlIGFy
Z3VtZW50IG9wdHZhbCBzaG91bGQNCgliZSBUQkQuDQo8L3A+DQo8cD5BbiBlcnJvciBFTk9TSElN
Q09OVEVYVCB3aWxsIGJlIHJldHVybmVkIHdoZW4gdGhlcmUgaXMgbm8NCgljb250ZXh0IGFzc29j
aWF0ZWQgd2l0aCB0aGUgc29ja2V0Lg0KPC9wPg0KPGEgbmFtZT0iYW5jaG9yMTciPjwvYT48YnIg
Lz48aHIgLz4NCjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3Bh
Y2luZz0iMiIgY2xhc3M9ImJ1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJidWciPjxh
IGhyZWY9IiN0b2MiIGNsYXNzPSJsaW5rMiI+Jm5ic3A7VE9DJm5ic3A7PC9hPjwvdGQ+PC90cj48
L3RhYmxlPg0KPGEgbmFtZT0icmZjLnNlY3Rpb24uNi4xNCI+PC9hPjxoMz42LjE0LiZuYnNwO1NI
SU1fSUZfUkVDVjwvaDM+DQoNCjxwPlRoaXMgb3B0aW9uIGNhbiBiZSBzcGVjaWZpZWQgYnkgc2V0
c29ja29wdCgpLg0KPC9wPg0KPHA+VGhlIGFwcGxpY2F0aW9uIGNhbiByZXF1ZXN0IHRoZSBzaGlt
IGxheWVyIHRvIHByb3ZpZGUNCglpbnRlcmZhY2UgZnJvbSB3aGljaCB0aGUgcGFja2V0IGlzIHJl
Y2VpdmVkLiAgT25jZSB0aGUgc29ja2V0DQoJb3B0aW9uIGlzIHN1Y2Nlc3NmdWxseSBzZXQsIHRo
ZSBpbnRlcmZhY2UgaW5mb3JtYXRpb24gY2FuIGJlDQoJb2J0YWluZWQgYnkgcmVjdm1zZygpIGZy
b20gdGhlIGFuY2lsbGFyeSBkYXRhLiAgVGhlIGFyZ3VtZW50DQoJb3B0dmFsIHNob3VsZCBiZSBz
ZXQgdG8gMS4NCjwvcD4NCjxwPkFuIGVycm9yIEVOT1NISU1DT05URVhUIHdpbGwgYmUgcmV0dXJu
ZWQgd2hlbiB0aGVyZSBpcyBubw0KCWNvbnRleHQgYXNzb2NpYXRlZCB3aXRoIHRoZSBzb2NrZXQu
DQo8L3A+DQo8cD5PbmNlIHRoZSBzb2NrZXQgb3B0aW9uIGlzIHNwZWNpZmllZCBieSBzZXRzb2Nr
b3B0KCksIGl0DQoJcmVtYWlucyBlZmZlY3RpdmUgdW50aWwgaXQgaXMgZGVhY3RpdmF0ZWQgKHN0
aWNreSBvcHRpb24pLg0KPC9wPg0KPGEgbmFtZT0iYW5jaG9yMTgiPjwvYT48YnIgLz48aHIgLz4N
Cjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIg
Y2xhc3M9ImJ1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJidWciPjxhIGhyZWY9IiN0
b2MiIGNsYXNzPSJsaW5rMiI+Jm5ic3A7VE9DJm5ic3A7PC9hPjwvdGQ+PC90cj48L3RhYmxlPg0K
PGEgbmFtZT0icmZjLnNlY3Rpb24uNi4xNSI+PC9hPjxoMz42LjE1LiZuYnNwO1NISU1fSUZfU0VO
RDwvaDM+DQoNCjxwPlRoaXMgb3B0aW9uIGNhbiBiZSBzcGVjaWZpZWQgYnkgc2V0c29ja29wdCgp
Lg0KPC9wPg0KPHA+VGhlIGFwcGxpY2F0aW9uIGNhbiBzcGVjaWZ5IG91dGdvaW5nIGludGVyZmFj
ZSBvZiB0aGUNCglvdXRib3VuZCB0cmFmZmljIG92ZXIgdGhlIHNvY2tldC4gIEFwcGxpY2F0aW9u
IHNob3VsZCBzcGVjaWZ5DQoJdGhlIHJlcXVlc3RlZCBpbnRlcmZhY2UgaWRlbnRpZmllciBpbiB0
aGUgYXJndW1lbnQgb3B0dmFsLg0KCUFsdGVybmF0aXZlbHksIHRoaXMgb3B0aW9uIGNhbiBhbHNv
IGJlIHNwZWNpZmllZCBpbiBhbmNpbGxhcnkNCglkYXRhIGluIGFsb25nIHdpdGggc2VuZG1zZygp
IGNhbGwuDQo8L3A+DQo8cD5PbmNlIHRoZSBzb2NrZXQgb3B0aW9uIGlzIHNwZWNpZmllZCBieSBz
ZXRzb2Nrb3B0KCksIGl0DQoJcmVtYWlucyBlZmZlY3RpdmUgdW50aWwgaXQgaXMgZGVhY3RpdmF0
ZWQgKHN0aWNreSBvcHRpb24pLg0KPC9wPg0KPGEgbmFtZT0iYW5jaG9yMTkiPjwvYT48YnIgLz48
aHIgLz4NCjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2lu
Zz0iMiIgY2xhc3M9ImJ1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJidWciPjxhIGhy
ZWY9IiN0b2MiIGNsYXNzPSJsaW5rMiI+Jm5ic3A7VE9DJm5ic3A7PC9hPjwvdGQ+PC90cj48L3Rh
YmxlPg0KPGEgbmFtZT0icmZjLnNlY3Rpb24uNi4xNiI+PC9hPjxoMz42LjE2LiZuYnNwO0Vycm9y
IEhhbmRsaW5nPC9oMz4NCg0KPHA+SWYgc3VjY2Vzc2Z1bCwgZ2V0c29ja29wdCgpIGFuZCBzZXRz
b2Nrb3B0KCkgcmV0dXJuIDA7DQoJb3RoZXJ3aXNlLCB0aGUgZnVuY3Rpb25zIHJldHVybiAtMSBh
bmQgc2V0IGVycm5vIHRvIGluZGljYXRlDQoJZXJyb3IuDQo8L3A+DQo8cD5Gb2xsb3dpbmcgYXJl
IGVycm5vIGNvZGVzIG5ld2x5IGRlZmluZWQgZm9yIHNvbWUgc2hpbQ0KCXNwZWNpZmljIHNvY2tl
dCBvcHRpb25zIGluZGljYXRpbmcgdGhhdCB0aGUgZ2V0c29ja29wdCgpIG9yDQoJc2V0c29ja29w
dCgpIGZpbmlzaGVkIGluY29tcGxldGVseToNCg0KCTwvcD4NCjxibG9ja3F1b3RlIGNsYXNzPSJ0
ZXh0Ij4NCjxsaT5FTk9TSElJTUNPTlRFWFQgLSBBbnkgc2hpbSBjb250ZXh0IGRvZXMgbm90IGV4
aXN0IHdoaWNoDQoJICBpcyBhc3NvY2lhdGVkIHdpdGggdGhlIHNvY2tldC4NCjwvbGk+DQo8bGk+
RUlOVkFMSURMT0NBVE9SIC0gQW4gaW52YWxpZCBsb2NhdG9yIHdhcyBzcGVjaWZpZWQgYnkgdGhl
DQoJICBzb2NrZXQgb3B0aW9uLiAgVGhpcyBpbmRpY2F0ZXMgdGhhdCBhbnkgb2YgdGhlIG5lY2Vz
c2FyeQ0KCSAgdmFsaWRhdGlvbnMgaW5zaWRlIHRoZSBzaGltIGxheWVyIG9uIHNwZWNpZmllZCBs
b2NhdG9yIHdhcw0KCSAgZmFpbGVkLiAgSW4gY2FzZSBvZiBTSElNNiwgdGhlcmUgYXJlIHR3byBr
aW5kcyBvZg0KCSAgdmVyaWZpY2F0aW9ucyByZXF1aXJlZCBwcmlvciB0byBzZW5kaW5nIGFuIElQ
IHBhY2tldCB0byB0aGUNCgkgIHBlZXIncyBuZXcgYWRkcmVzczsgb25lIGlzIHJldHVybiByb3V0
YWJpbGl0eSAoY2hlY2sgaWYgdGhlDQoJICBwZWVyIGlzIGFjdHVhbGx5IHdpbGxpbmcgdG8gcmVj
ZWl2ZSBkYXRhIHdpdGggdGhlIHNwZWNpZmllZA0KCSAgbG9jYXRvcikgYW5kIHRoZSBvdGhlciBp
cyB2ZXJpZmljYXRpb25zIGJhc2VkIG9uIGdpdmVuDQoJICBjcnlwdG8gbG9jYXRvciBtZWNoYW5p
c21zPGEgY2xhc3M9ImluZm8iIGhyZWY9IiNSRkMzOTcyIj5bUkZDMzk3Ml08c3Bhbj4gKDwvc3Bh
bj48c3BhbiBjbGFzcz0iaW5mbyI+QXVyYSwgVC4sICZsZHF1bztDcnlwdG9ncmFwaGljYWxseSBH
ZW5lcmF0ZWQgQWRkcmVzc2VzIChDR0EpLCZyZHF1bzsgTWFyY2gmbmJzcDsyMDA1Ljwvc3Bhbj48
c3Bhbj4pPC9zcGFuPjwvYT4sIDxhIGNsYXNzPSJpbmZvIiBocmVmPSIjSS1ELmlldGYtc2hpbTYt
aGJhIj5bSS1ELmlldGYtc2hpbTYtaGJhXTxzcGFuPiAoPC9zcGFuPjxzcGFuIGNsYXNzPSJpbmZv
Ij5CYWdudWxvLCBNLiwgJmxkcXVvO0hhc2ggQmFzZWQgQWRkcmVzc2VzIChIQkEpLCZyZHF1bzsg
T2N0b2JlciZuYnNwOzIwMDUuPC9zcGFuPjxzcGFuPik8L3NwYW4+PC9hPi4NCjwvbGk+DQo8L2Js
b2NrcXVvdGU+PHA+DQoNCgkNCjwvcD4NCjxhIG5hbWU9InNlYy1hY2Nlc3MtdG8tbG9jaW5mbyI+
PC9hPjxiciAvPjxociAvPg0KPHRhYmxlIHN1bW1hcnk9ImxheW91dCIgY2VsbHBhZGRpbmc9IjAi
IGNlbGxzcGFjaW5nPSIyIiBjbGFzcz0iYnVnIiBhbGlnbj0icmlnaHQiPjx0cj48dGQgY2xhc3M9
ImJ1ZyI+PGEgaHJlZj0iI3RvYyIgY2xhc3M9ImxpbmsyIj4mbmJzcDtUT0MmbmJzcDs8L2E+PC90
ZD48L3RyPjwvdGFibGU+DQo8YSBuYW1lPSJyZmMuc2VjdGlvbi43Ij48L2E+PGgzPjcuJm5ic3A7
QWNjZXNzIHRvIExvY2F0b3IgSW5mb3JtYXRpb248L2gzPg0KDQo8cD5JbiB0aGlzIHNlY3Rpb24s
IHRoZSB3YXkgaG93IHRvIGFjY2VzcyBsb2NhdG9yIGluZm9ybWF0aW9uDQogICAgICB3aXRoIHNv
bWUgSS9PIGNhbGxzIGlzIHByZXNlbnRlZC4gIEFzIGRlZmluZWQgaW4gUG9zaXguMWcsDQogICAg
ICBzZW5kbXNnKCkgYW5kIHJlY3Ztc2coKSB0YWtlIG1zZ2hkciBzdHJ1Y3R1cmUgYXMgaXRzIGFy
Z3VtZW50DQogICAgICBhbmQgdGhleSBjYW4gYWRkaXRpb25hbGx5IGhhbmRsZSBjb250cm9sIGlu
Zm9ybWF0aW9uIGluIGFsb25nDQogICAgICB3aXRoIGRhdGEuICA8YSBjbGFzcz0iaW5mbyIgaHJl
Zj0iI2ZpZy1tc2doZHIiPkZpZ3VyZSZuYnNwOzM8c3Bhbj4gKDwvc3Bhbj48c3BhbiBjbGFzcz0i
aW5mbyI+bXNnaGRyIHN0cnVjdHVyZTwvc3Bhbj48c3Bhbj4pPC9zcGFuPjwvYT4gc2hvd3MgdGhl
IG1zZ2hkcg0KICAgICAgc3RydWN0dXJlIHdoaWNoIGlzIGRlZmluZWQgaW4gJmx0O3N5cy9zb2Nr
ZXQuaD4uICBtc2dfY29udHJvbA0KICAgICAgbWVtYmVyIGhvbGRzIGEgcG9pbnRlciB0byB0aGUg
YnVmZmVyIHdoZXJlIHRoZSBzaGltIHNwZWNpZmljDQogICAgICBhbmNpbGxhcnkgZGF0YSBvYmpl
Y3RzIGFyZSBzdG9yZWQuDQo8L3A+PGJyIC8+PGhyIC8+DQo8YSBuYW1lPSJmaWctbXNnaGRyIj48
L2E+DQo8cHJlPg0KICAgICBzdHJ1Y3QgbXNnaGRyIHsNCiAgICAgICAgICAgICBjYWRkcl90IG1z
Z19uYW1lOyAgICAgICAvKiBvcHRpb25hbCBhZGRyZXNzICovDQogICAgICAgICAgICAgdV9pbnQg
ICBtc2dfbmFtZWxlbjsgICAgLyogc2l6ZSBvZiBhZGRyZXNzICovDQogICAgICAgICAgICAgc3Ry
dWN0ICBpb3ZlYyAqbXNnX2lvdjsgLyogc2NhdHRlci9nYXRoZXIgYXJyYXkgKi8NCiAgICAgICAg
ICAgICB1X2ludCAgIG1zZ19pb3ZsZW47ICAgICAvKiAjIGVsZW1lbnRzIGluIG1zZ19pb3YgKi8N
CiAgICAgICAgICAgICBjYWRkcl90IG1zZ19jb250cm9sOyAgICAvKiBhbmNpbGxhcnkgZGF0YSwg
c2VlIGJlbG93ICovDQogICAgICAgICAgICAgdV9pbnQgICBtc2dfY29udHJvbGxlbjsgLyogYW5j
aWxsYXJ5IGRhdGEgYnVmZmVyIGxlbiAqLw0KICAgICAgICAgICAgIGludCAgICAgbXNnX2ZsYWdz
OyAgICAgIC8qIGZsYWdzIG9uIHJlY2VpdmVkIG1lc3NhZ2UgKi8NCiAgICAgfTsNCjwvcHJlPjx0
YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiI+PHRyPjx0ZCBh
bGlnbj0iY2VudGVyIj48Zm9udCBmYWNlPSJtb25hY28sIE1TIFNhbnMgU2VyaWYiIHNpemU9IjEi
PjxiPiZuYnNwO0ZpZ3VyZSZuYnNwOzM6IG1zZ2hkciBzdHJ1Y3R1cmUmbmJzcDs8L2I+PC9mb250
PjxiciAvPjwvdGQ+PC90cj48L3RhYmxlPjxociBzaXplPSIxIiBzaGFkZT0iMCI+DQoNCjxwPklT
U1VFOiBTaG91bGQgd2UgaW50cm9kdWNlIGEgbmV3IGZsYWcgZm9yIG1zZ19mbGFncw0KICAgICAg
KGUuZy4gTVNHX1NISU1NRUQpID8gRm9sbG93aW5nIHRoZSBwcmFjdGljZSwgaXQgc2VlbXMgcmVh
c29uYWJsZQ0KICAgICAgdG8gZG8gc28sIGJ1dCBub3Qgc3VyZSBob3cgbXVjaCBpdCBpcyB1c2Vm
dWwuDQo8L3A+DQo8cD5UaGUgYnVmZmVyIHBvaW50ZWQgZnJvbSB0aGUgbXNnX2NvbnRyb2wgbWVt
YmVyIG9mIHRoZSBtc2doZHINCiAgICAgIHN0cnVjdHVyZSBzaG91bGQgY29udGFpbiBzaW5nbGUg
bG9jYXRvciBhbmQgaXQgc2hvdWxkIGJlDQogICAgICBwb3NzaWJsZSB0byBwcm9jZXNzIHRoZW0g
d2l0aCBleGlzdGluZyBtYWNyb3MgZGVmaW5lZCBpbiBQb3NpeA0KICAgICAgYW5kIDxhIGNsYXNz
PSJpbmZvIiBocmVmPSIjUkZDMzU0MiI+W1JGQzM1NDJdPHNwYW4+ICg8L3NwYW4+PHNwYW4gY2xh
c3M9ImluZm8iPlN0ZXZlbnMsIFcuLCBUaG9tYXMsIE0uLCBOb3JkbWFyaywgRS4sIGFuZCBULiBK
aW5tZWksICZsZHF1bztBZHZhbmNlZCBTb2NrZXRzIEFwcGxpY2F0aW9uIFByb2dyYW0gSW50ZXJm
YWNlIChBUEkpIAkgIGZvciBJUHY2LCZyZHF1bzsgTWF5Jm5ic3A7MjAwMy48L3NwYW4+PHNwYW4+
KTwvc3Bhbj48L2E+LiAgRWFjaCBjbXNnaGRye30gc2hvdWxkIGJlIGZvbGxvd2VkDQogICAgICBi
eSBhIGRhdGEgd2hpY2ggc3RvcmVzIHNpbmdsZSBsb2NhdG9yLg0KPC9wPg0KPHA+SW4gY2FzZSBv
ZiBub24tY29ubmVjdGVkIHNvY2tldCwgbXNnX25hbWUgbWVtYmVyIHN0b3JlcyB0aGUNCiAgICAg
IHNvY2tldCBhZGRyZXNzIG9mIHRoZSBwZWVyIHdoaWNoIHNob3VsZCBiZSBjb25zaWRlcmVkIGFz
DQogICAgICBpZGVudGlmaWVyIHJhdGhlciB0aGFuIGxvY2F0b3IuICBMb2NhdG9yIG9mIHRoZSBw
ZWVyIG5vZGUgc2hvdWxkDQogICAgICBiZSByZXRyaWV2ZWQgYnkgU0hJTV9MT0NfUkVNT1RFX1JF
Q1YgYXMgc3BlY2lmaWVkIGJlbG93Lg0KPC9wPg0KPHA+PGEgY2xhc3M9ImluZm8iIGhyZWY9IiN0
YWItc2hpbS1hbmNpbGxhcnktZGF0YSI+VGFibGUmbmJzcDsyPHNwYW4+ICg8L3NwYW4+PHNwYW4g
Y2xhc3M9ImluZm8iPlNoaW0gc3BlY2lmaWMgYW5jaWxsYXJ5IGRhdGE8L3NwYW4+PHNwYW4+KTwv
c3Bhbj48L2E+IGlzIGEgbGlzdCBvZiBzaGltDQogICAgICBzcGVjaWZpYyBhbmNpbGxhcnkgZGF0
YSB3aGljaCBjYW4gYmUgdXNlZCBmb3IgcmVjdm1zZygpIG9yDQogICAgICBzZW5kbXNnKCkuICBJ
biBhbnkgY2FzZSwgU09MX1NISU0gbXVzdCBiZSBzZXQgYXMgY21zZ19sZXZlbC4NCjwvcD48YnIg
Lz48aHIgLz4NCjxhIG5hbWU9InRhYi1zaGltLWFuY2lsbGFyeS1kYXRhIj48L2E+DQo8dGFibGUg
Y2xhc3M9ImZ1bGwiIGFsaWduPSJjZW50ZXIiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjIiIGNl
bGxzcGFjaW5nPSIyIj4NCjxjb2wgYWxpZ249ImxlZnQiPjxjb2wgYWxpZ249ImxlZnQiPjxjb2wg
YWxpZ249ImxlZnQiPjxjb2wgYWxpZ249ImxlZnQiPg0KPHRyPjx0aCBhbGlnbj0ibGVmdCI+Y21z
Z190eXBlPC90aD48dGggYWxpZ249ImxlZnQiPnNlbmRtc2coKTwvdGg+PHRoIGFsaWduPSJsZWZ0
Ij5yZWN2bXNnKCk8L3RoPjx0aCBhbGlnbj0ibGVmdCI+Y21zZ19kYXRhW108L3RoPjwvdHI+DQo8
dHI+DQo8dGQgYWxpZ249ImxlZnQiPlNISU1fTE9DX0xPQ0FMX1JFQ1Y8L3RkPg0KPHRkIGFsaWdu
PSJsZWZ0Ij4mbmJzcDs8L3RkPg0KPHRkIGFsaWduPSJsZWZ0Ij5vPC90ZD4NCjx0ZCBhbGlnbj0i
bGVmdCI+KjE8L3RkPg0KPC90cj4NCjx0cj4NCjx0ZCBhbGlnbj0ibGVmdCI+U0hJTV9MT0NfUEVF
Ul9SRUNWPC90ZD4NCjx0ZCBhbGlnbj0ibGVmdCI+Jm5ic3A7PC90ZD4NCjx0ZCBhbGlnbj0ibGVm
dCI+bzwvdGQ+DQo8dGQgYWxpZ249ImxlZnQiPioxPC90ZD4NCjwvdHI+DQo8dHI+DQo8dGQgYWxp
Z249ImxlZnQiPlNISU1fTE9DX0xPQ0FMX1NFTkQ8L3RkPg0KPHRkIGFsaWduPSJsZWZ0Ij5vPC90
ZD4NCjx0ZCBhbGlnbj0ibGVmdCI+Jm5ic3A7PC90ZD4NCjx0ZCBhbGlnbj0ibGVmdCI+KjE8L3Rk
Pg0KPC90cj4NCjx0cj4NCjx0ZCBhbGlnbj0ibGVmdCI+U0hJTV9MT0NfUEVFUl9TRU5EPC90ZD4N
Cjx0ZCBhbGlnbj0ibGVmdCI+bzwvdGQ+DQo8dGQgYWxpZ249ImxlZnQiPiZuYnNwOzwvdGQ+DQo8
dGQgYWxpZ249ImxlZnQiPioxPC90ZD4NCjwvdHI+DQo8dHI+DQo8dGQgYWxpZ249ImxlZnQiPlNI
SU1fSUZfUkVDVjwvdGQ+DQo8dGQgYWxpZ249ImxlZnQiPiZuYnNwOzwvdGQ+DQo8dGQgYWxpZ249
ImxlZnQiPm88L3RkPg0KPHRkIGFsaWduPSJsZWZ0Ij5pbnQ8L3RkPg0KPC90cj4NCjx0cj4NCjx0
ZCBhbGlnbj0ibGVmdCI+U0hJTV9JRl9TRU5EPC90ZD4NCjx0ZCBhbGlnbj0ibGVmdCI+bzwvdGQ+
DQo8dGQgYWxpZ249ImxlZnQiPiZuYnNwOzwvdGQ+DQo8dGQgYWxpZ249ImxlZnQiPmludDwvdGQ+
DQo8L3RyPg0KPC90YWJsZT4NCjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIwIiBjZWxs
c3BhY2luZz0iMiIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCBhbGlnbj0iY2VudGVyIj48Zm9udCBm
YWNlPSJtb25hY28sIE1TIFNhbnMgU2VyaWYiIHNpemU9IjEiPjxiPiZuYnNwO1RhYmxlIDI6IFNo
aW0gc3BlY2lmaWMgYW5jaWxsYXJ5IGRhdGEmbmJzcDs8L2I+PC9mb250PjxiciAvPjwvdGQ+PC90
cj48L3RhYmxlPjxociBzaXplPSIxIiBzaGFkZT0iMCI+DQoNCjxwPioxOiBjbXNnX2RhdGFbXSBz
aG91bGQgaW5jbHVkZSBwYWRkaW5nIChpZiBuZWNlc3NhcnkpIGFuZCBhDQogICAgICBzaW5nbGUg
c29ja2FkZHJfc3RvcmFnZXt9IGEgcHJvdG9jb2wgaW5kZXBlbmRlbnQgcGxhY2Vob2xkZXIgZm9y
DQogICAgICBzb2NrZXQgYWRkcmVzc2VzLg0KPC9wPg0KPHA+SVNTVUU6IElzIHRoZSBkZXNpZ24g
Y2hvaWNlICh0byB1c2Ugc29ja2FkZHJfc3RvcmFnZXt9KQ0KICAgICAgcmVhc29uYWJsZSA/DQo8
L3A+DQo8cD5JdCBzaG91bGQgYmUgbm90ZWQgdGhhdCBhYm92ZSBhbmNpbGxhcnkgZGF0YSBjYW4g
b25seSBiZQ0KICAgICAgaGFuZGxlZCBpbiBVRFAgYW5kIHJhdyBzb2NrZXRzLCBub3QgaW4gVENQ
IHNvY2tldHMuICBBcyBleHBsYWluZWQNCiAgICAgIGluIDxhIGNsYXNzPSJpbmZvIiBocmVmPSIj
UkZDMzU0MiI+W1JGQzM1NDJdPHNwYW4+ICg8L3NwYW4+PHNwYW4gY2xhc3M9ImluZm8iPlN0ZXZl
bnMsIFcuLCBUaG9tYXMsIE0uLCBOb3JkbWFyaywgRS4sIGFuZCBULiBKaW5tZWksICZsZHF1bztB
ZHZhbmNlZCBTb2NrZXRzIEFwcGxpY2F0aW9uIFByb2dyYW0gSW50ZXJmYWNlIChBUEkpIAkgIGZv
ciBJUHY2LCZyZHF1bzsgTWF5Jm5ic3A7MjAwMy48L3NwYW4+PHNwYW4+KTwvc3Bhbj48L2E+LCB0
aGVyZSBpcyBubyBvbmUtdG8tb25lIG1hcHBpbmcgb2YNCiAgICAgIHNlbmQvcmVjZWl2ZSBvcGVy
YXRpb25zIGFuZCB0aGUgVENQIHNlZ21lbnRzIGJlaW5nDQogICAgICB0cmFuc21pdHRlZC9yZWNl
aXZlZC4gIEluIGNhc2Ugb2YgVENQLCBhcHBsaWNhdGlvbiBtYXkgdXNlDQogICAgICBzZXRzb2Nr
b3B0KCkgb3IgZ2V0c29ja29wdCgpIHRvIGFjY2VzcyBvciBzcGVjaWZ5IHNvbWUgb2YNCiAgICAg
IGxvY2F0b3IgaW5mb3JtYXRpb24gcHJvdmlkZWQgYnkgdGhlIHNoaW0gbGF5ZXIuDQo8L3A+DQo8
YSBuYW1lPSJhbmNob3IyMCI+PC9hPjxiciAvPjxociAvPg0KPHRhYmxlIHN1bW1hcnk9ImxheW91
dCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBjbGFzcz0iYnVnIiBhbGlnbj0icmln
aHQiPjx0cj48dGQgY2xhc3M9ImJ1ZyI+PGEgaHJlZj0iI3RvYyIgY2xhc3M9ImxpbmsyIj4mbmJz
cDtUT0MmbmJzcDs8L2E+PC90ZD48L3RyPjwvdGFibGU+DQo8YSBuYW1lPSJyZmMuc2VjdGlvbi43
LjEiPjwvYT48aDM+Ny4xLiZuYnNwO0dldCBMb2NhdG9yIEluZm9ybWF0aW9uIGZyb20gSW5jb21p
bmcgUGFja2V0PC9oMz4NCg0KPHA+QXBwbGljYXRpb24gY2FuIGdldCBsb2NhdG9yIGluZm9ybWF0
aW9uIGZyb20gdGhlIHJlY2VpdmVkDQoJSVAgcGFja2V0IGJ5IHNwZWNpZnlpbmcgc2hpbSBzcGVj
aWZpYyBzb2NrZXQgb3B0aW9ucyBmb3IgdGhlDQoJc29ja2V0LiAgV2hlbiBTSElNX0xPQ19MT0NB
TF9SRUNWIGFuZC9vciBTSElNX0xPQ19QRUVSX1JFQ1YNCglzb2NrZXQgb3B0aW9ucyBhcmUgc2V0
LCBhcHBsaWNhdGlvbiBjYW4gcmV0cmlldmUgbG9jYWwgYW5kL29yDQoJcmVtb3RlIGxvY2F0b3Ig
ZnJvbSB0aGUgYW5jaWxsYXJ5IGRhdGEuDQo8L3A+DQo8cD5JbiBhZGRpdGlvbiwgYXBwbGljYXRp
b24gY2FuIGdldCB0aGUgcmVjZWl2aW5nIGludGVyZmFjZQ0KCWZyb20gdGhlIGFuY2lsbGFyeSBk
YXRhIG1hcmtlZCB3aXRoIFNISU1fSUZfUkVDVi4gIFRoZQ0KCWFuY2lsbGFyeSBkYXRhIHNob3Vs
ZCBjb250YWluIGFuIGludGVyZmFjZSBpZGVudGlmaWVyIG9mIHRoZQ0KCXBoeXNpY2FsIGludGVy
ZmFjZSB3aGljaCB3YXMgYWN0dWFsbHkgdXNlZCB0byByZWNlaXZlIHRoZQ0KCXBhY2tldC4NCjwv
cD4NCjxhIG5hbWU9ImFuY2hvcjIxIj48L2E+PGJyIC8+PGhyIC8+DQo8dGFibGUgc3VtbWFyeT0i
bGF5b3V0IiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjIiIGNsYXNzPSJidWciIGFsaWdu
PSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0iYnVnIj48YSBocmVmPSIjdG9jIiBjbGFzcz0ibGluazIi
PiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4NCjxhIG5hbWU9InJmYy5zZWN0
aW9uLjcuMiI+PC9hPjxoMz43LjIuJm5ic3A7U3BlY2lmeSBMb2NhdG9yIEluZm9ybWF0aW9uIGZv
ciBPdXRnb2luZyBQYWNrZXQ8L2gzPg0KDQo8cD5BcHBsaWNhdGlvbiBjYW4gc3BlY2lmeSBsb2Nh
dG9yIHRvIGJlIHVzZWQgZm9yIHRyYW5zbWl0dGluZw0KCWFuIElQIHBhY2tldCBieSBzZW5kbXNn
KCkuICBXaGVuIGFuY2lsbGFyeSBkYXRhIG9mIGNtc2dfdHlwZQ0KCVNISU1fTE9DX0xPQ0FMX1NF
TkQgYW5kL29yIFNISU1fTE9DX1BFRVJfU0VORCBhcmUgc3BlY2lmaWVkLA0KCXRoZSBhcHBsaWNh
dGlvbiBjYW4gZXhwbGljaXRseSBzcGVjaWZ5IHNvdXJjZSBhbmQvb3INCglkZXN0aW5hdGlvbiBs
b2NhdG9yIHRvIGJlIHVzZWQgZm9yIHRoZSBjb21tdW5pY2F0aW9uIG92ZXIgdGhlDQoJc29ja2V0
Lg0KPC9wPg0KPHA+SW4gYWRkaXRpb24sIGFwcGxpY2F0aW9uIGNhbiBzcGVjaWZ5IHRoZSBvdXRn
b2luZyBpbnRlcmZhY2UNCglieSBTSElNX0lGX1NFTkQgYW5jaWxsYXJ5IGRhdGEuICBUaGUgYW5j
aWxsYXJ5IGRhdGEgc2hvdWxkDQoJY29udGFpbiBhbiBpbnRlcmZhY2UgaWRlbnRpZmllciBvZiB0
aGUgcGh5c2ljYWwgaW50ZXJmYWNlIG92ZXINCgl3aGljaCB0aGUgYXBwbGljYXRpb24gZXhwZWN0
IHRoZSBwYWNrZXQgdG8gYmUgdHJhbnNtaXR0ZWQuDQo8L3A+DQo8cD5Ob3RlIHRoYXQgdGhlIGVm
ZmVjdCBpcyBsaW1pdGVkIHRvIHRoZSBkYXRhZ3JhbSB0cmFuc21pdHRlZA0KCWJ5IHRoZSBzZW5k
bXNnKCkuICBJZiB0aGUgc3BlY2lmaWVkIGxvY2F0b3IgcGFpciBzZWVtIHRvIGJlDQoJdmFsaWQs
IHRoZSBzaGltIGxheWVyIG92ZXJyaWRlcyB0aGUgbG9jYXRvciBvZiB0aGUgSVAgcGFja2V0DQoJ
YXMgcmVxdWVzdGVkLg0KPC9wPg0KPHA+QW4gZXJyb3IgRUlOVkFMSURMT0NBVE9SIHdpbGwgYmUg
cmV0dXJuZWQgd2hlbiB2YWxpZGF0aW9uDQoJb2YgdGhlIHNwZWNpZmllZCBsb2NhdG9yIGZhaWxl
ZC4NCjwvcD4NCjxwPklTU1VFOiBJcyB0aGVyZSBhbnkgb3RoZXIgdHlwZSBvZiBlcnJvciB0aGF0
IHdlIHNob3VsZA0KCXNwZWNpZmljYWxseSBoYW5kbGUgPw0KPC9wPg0KPGEgbmFtZT0ic2VjLWRh
dGEtc3RydWN0dXJlcyI+PC9hPjxiciAvPjxociAvPg0KPHRhYmxlIHN1bW1hcnk9ImxheW91dCIg
Y2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBjbGFzcz0iYnVnIiBhbGlnbj0icmlnaHQi
Pjx0cj48dGQgY2xhc3M9ImJ1ZyI+PGEgaHJlZj0iI3RvYyIgY2xhc3M9ImxpbmsyIj4mbmJzcDtU
T0MmbmJzcDs8L2E+PC90ZD48L3RyPjwvdGFibGU+DQo8YSBuYW1lPSJyZmMuc2VjdGlvbi44Ij48
L2E+PGgzPjguJm5ic3A7RGF0YSBTdHJ1Y3R1cmVzPC9oMz4NCg0KPHA+U29tZSBvZiB0aGUgc29j
a2V0IG9wdGlvbnMgZGVmaW5lIGluIHRoaXMgZG9jdW1lbnQgcmVxdWlyZXMNCiAgICAgIHNwZWNp
ZmljIGRhdGEgc3RydWN0dXJlcyBmb3IgZXhjaGFuZ2luZyBpbmZvcm1hdGlvbi4gIFRob3NlIGRh
dGENCiAgICAgIHN0cnVjdHVyZXMgYXJlIGlsbHVzdHJhdGVkIGluIHRoaXMgc2VjdGlvbi4NCjwv
cD4NCjxhIG5hbWU9ImFuY2hvcjIyIj48L2E+PGJyIC8+PGhyIC8+DQo8dGFibGUgc3VtbWFyeT0i
bGF5b3V0IiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjIiIGNsYXNzPSJidWciIGFsaWdu
PSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0iYnVnIj48YSBocmVmPSIjdG9jIiBjbGFzcz0ibGluazIi
PiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4NCjxhIG5hbWU9InJmYy5zZWN0
aW9uLjguMSI+PC9hPjxoMz44LjEuJm5ic3A7UGxhY2Vob2xkZXIgZm9yIExvY2F0b3IgSW5mb3Jt
YXRpb248L2gzPg0KDQo8cD5Tb21lIG9mIHRoZSBzb2NrZXQgb3B0aW9ucyBkZWZpbmVkIGluIHRo
aXMgZG9jdW1lbnQgaGFuZGxlDQoJbG9jYXRvciBpbmZvcm1hdGlvbiBpbiBpdHMgbG9jYXRvciBt
YW5hZ2VtZW50LiAgTG9jYXRvcg0KCWluZm9ybWF0aW9uIGNvdWxkIGJlIGEgc2luZ2xlIGxvY2F0
b3Igb3IgYW4gYXJyYXkgb2YgbG9jYXRvcnMuDQoJSW1wb3J0YW50IHJlcXVpcmVtZW50IGlzIHRo
YXQgbG9jYXRvciBpbmZvcm1hdGlvbiBzaG91bGQgYmUNCgloYW5kbGVkIGluIGEgcHJvdG9jb2wg
aW5kZXBlbmRlbnQgbWFubmVyLiAgSW4gb3RoZXIgd29yZHMsIGFuDQoJaW50ZXJmYWNlIHRvIHRo
ZSBsb2NhdG9yIGluZm9ybWF0aW9uIHNob3VsZCBub3QgYmUgZGVwZW5kZW50DQoJdG8gYW55IGFk
ZHJlc3MgZmFtaWx5Lg0KPC9wPg0KPGEgbmFtZT0iYW5jaG9yMjMiPjwvYT48YnIgLz48aHIgLz4N
Cjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIg
Y2xhc3M9ImJ1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJidWciPjxhIGhyZWY9IiN0
b2MiIGNsYXNzPSJsaW5rMiI+Jm5ic3A7VE9DJm5ic3A7PC9hPjwvdGQ+PC90cj48L3RhYmxlPg0K
PGEgbmFtZT0icmZjLnNlY3Rpb24uOC4xLjEiPjwvYT48aDM+OC4xLjEuJm5ic3A7YWRkcmluZm8g
c3RydWN0dXJlPC9oMz4NCg0KPHA+YWRkcmluZm8gc3RydWN0dXJlIGluIGFsb25nIHdpdGggZ2V0
YWRkcmluZm8oKSBmdW5jdGlvbg0KCSAgYXJlIGRlZmluZWQgaW4gUG9zaXguMWcsIHdoaWNoIGlz
IHVzZWZ1bCBmb3IgcHJvZ3JhbW1pbmcNCgkgIGFwcGxpY2F0aW9uIGluIHByb3RvY29sIGluZGVw
ZW5kZW50IG1hbm5lci4gIEFzIG1lbnRpb25lZA0KCSAgZWFybGllciwgcHJvdG9jb2wgaW5kZXBl
bmRlbmN5IGlzIHJlcXVpcmVkIGluIGxvY2F0b3INCgkgIG1hbmFnZW1lbnQgYXQgdGhlIHNoaW0g
bGF5ZXIsIHRodXMgd2UgcHJvcG9zZSB0byB1c2UNCgkgIGFkZHJpbmZvIHN0cnVjdHVyZSBhcyBh
IHBsYWNlaG9sZGVyIGZvciBsb2NhdG9ycy4NCjwvcD4NCjxwPkEgY2hhaW4gb2YgYWRkcmluZm8g
c3RydWN0dXJlcyBjYW4gYmUgdXNlZCB0byByZXByZXNlbnQgYQ0KCSAgbGlzdCBvZiBsb2NhdG9y
cy4gIE5vdGUgdGhhdCBhZGRyaW5mbyBzdHJ1Y3R1cmUgaXRzZWxmIGRvZXMNCgkgIG5vdCBjb250
YWluIHRoZSBsb2NhdG9yIGRhdGEgYnV0IGl0IGhvbGRzIGEgcG9pbnRlciB0bw0KCSAgc29ja2Fk
ZHIgc3RydWN0dXJlIHdoZXJlIHRoZSBhY3R1YWwgZGF0YSBvZiBhIGdpdmVuIGxvY2F0b3INCgkg
IGlzIHN0b3JlZC4gIDxhIGNsYXNzPSJpbmZvIiBocmVmPSIjZmlnLWFkZHJpbmZvIj5GaWd1cmUm
bmJzcDs0PHNwYW4+ICg8L3NwYW4+PHNwYW4gY2xhc3M9ImluZm8iPmFkZHJpbmZvIHN0cnVjdHVy
ZTwvc3Bhbj48c3Bhbj4pPC9zcGFuPjwvYT4gaWxsdXN0cmF0ZXMgdGhlDQoJICBhZGRyaW5mbyBz
dHJ1Y3R1cmUgZGVmaW5lZCBpbiAmbHQ7bmV0ZGIuaD4uDQo8L3A+PGJyIC8+PGhyIC8+DQo8YSBu
YW1lPSJmaWctYWRkcmluZm8iPjwvYT4NCjxwcmU+DQogICAgc3RydWN0IGFkZHJpbmZvIHsNCiAg
ICAgICAgICAgIGludCBhaV9mbGFnczsgICAgICAgICAgIC8qIGlucHV0IGZsYWdzICovDQogICAg
ICAgICAgICBpbnQgYWlfZmFtaWx5OyAgICAgICAgICAvKiBwcm90b2NvbCBmYW1pbHkgZm9yIHNv
Y2tldCAqLw0KICAgICAgICAgICAgaW50IGFpX3NvY2t0eXBlOyAgICAgICAgLyogc29ja2V0IHR5
cGUgKi8NCiAgICAgICAgICAgIGludCBhaV9wcm90b2NvbDsgICAgICAgIC8qIHByb3RvY29sIGZv
ciBzb2NrZXQgKi8NCiAgICAgICAgICAgIHNvY2tsZW5fdCBhaV9hZGRybGVuOyAgIC8qIGxlbmd0
aCBvZiBzb2NrZXQtYWRkcmVzcyAqLw0KICAgICAgICAgICAgc3RydWN0IHNvY2thZGRyICphaV9h
ZGRyOyAvKiBzb2NrZXQtYWRkcmVzcyBmb3Igc29ja2V0ICovDQogICAgICAgICAgICBjaGFyICph
aV9jYW5vbm5hbWU7ICAgICAvKiBjYW5vbmljYWwgbmFtZSBmb3INCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHNlcnZpY2UgbG9jYXRpb24gKi8NCiAgICAgICAgICAgIHN0
cnVjdCBhZGRyaW5mbyAqYWlfbmV4dDsgLyogcG9pbnRlciB0byBuZXh0IGluIGxpc3QgKi8NCiAg
ICB9Ow0KPC9wcmU+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5n
PSIyIj48dHI+PHRkIGFsaWduPSJjZW50ZXIiPjxmb250IGZhY2U9Im1vbmFjbywgTVMgU2FucyBT
ZXJpZiIgc2l6ZT0iMSI+PGI+Jm5ic3A7RmlndXJlJm5ic3A7NDogYWRkcmluZm8gc3RydWN0dXJl
Jm5ic3A7PC9iPjwvZm9udD48YnIgLz48L3RkPjwvdHI+PC90YWJsZT48aHIgc2l6ZT0iMSIgc2hh
ZGU9IjAiPg0KDQo8YSBuYW1lPSJhbmNob3IyNCI+PC9hPjxiciAvPjxociAvPg0KPHRhYmxlIHN1
bW1hcnk9ImxheW91dCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBjbGFzcz0iYnVn
IiBhbGlnbj0icmlnaHQiPjx0cj48dGQgY2xhc3M9ImJ1ZyI+PGEgaHJlZj0iI3RvYyIgY2xhc3M9
ImxpbmsyIj4mbmJzcDtUT0MmbmJzcDs8L2E+PC90ZD48L3RyPjwvdGFibGU+DQo8YSBuYW1lPSJy
ZmMuc2VjdGlvbi44LjEuMiI+PC9hPjxoMz44LjEuMi4mbmJzcDtzb2NrYWRkcl9zdG9yYWdlIHN0
cnVjdHVyZTwvaDM+DQoNCjxwPjxhIGNsYXNzPSJpbmZvIiBocmVmPSIjUkZDMzQ5MyI+W1JGQzM0
OTNdPHNwYW4+ICg8L3NwYW4+PHNwYW4gY2xhc3M9ImluZm8iPkdpbGxpZ2FuLCBSLiwgVGhvbXNv
biwgUy4sIEJvdW5kLCBKLiwgTWNDYW5uLCBKLiwgYW5kIFcuIFN0ZXZlbnMsICZsZHF1bztCYXNp
YyBTb2NrZXQgSW50ZXJmYWNlIEV4dGVuc2lvbnMgZm9yIElQdjYsJnJkcXVvOyBGZWJydWFyeSZu
YnNwOzIwMDMuPC9zcGFuPjxzcGFuPik8L3NwYW4+PC9hPiBzcGVjaWZpZXMgYSBwcm90b2NvbCBp
bmRlcGVuZGVudA0KCSAgcGxhY2Vob2xkZXIgZm9yIHNvY2tldCBhZGRyZXNzLCBjYWxsZWQgc29j
a2FkZHJfc3RvcmFnZQ0KCSAgc3RydWN0dXJlIGFzIHNob3duIGluIDxhIGNsYXNzPSJpbmZvIiBo
cmVmPSIjZmlnLXNvY2thZGRyLXN0b3JhZ2UiPkZpZ3VyZSZuYnNwOzU8c3Bhbj4gKDwvc3Bhbj48
c3BhbiBjbGFzcz0iaW5mbyI+c29ja2FkZHJfc3RvcmFnZSBzdHJ1Y3R1cmU8L3NwYW4+PHNwYW4+
KTwvc3Bhbj48L2E+Lg0KCSAgQnkgZGVmaW5pdGlvbiwgdGhlIHN0cnVjdHVyZSBjYW4gc3RvcmUg
c29ja2V0IGFkZHJlc3Mgb2YgYW55DQoJICBwcm90b2NvbCAoSVB2NCBvciBJUHY2KSBhbmQgaXMg
c2ltcGx5IHN1aXRhYmxlIGZvciBhDQoJICBwbGFjZWhvbGRlciBmb3IgdGhlIGxvY2F0b3IgaW5m
b3JtYXRpb24uICBJbiB0aGlzIGRvY3VtZW50LA0KCSAgd2Ugc3VnZ2VzdCB0byB1c2Ugc29ja2Fk
ZHJfc3RvcmFnZSBzdHJ1Y3R1cmUgdG8gc3RvcmUgdGhlDQoJICBsb2NhdG9yIGluZm9ybWF0aW9u
IHRvIGJlIHNwZWNpZmllZCBpbiB0aGUgYW5jaWxsYXJ5IGRhdGEuDQoJICBJbiB0aG9zZSBjYXNl
cywgdGhlIGxvY2F0b3IgaW5mb3JtYXRpb24gaXMgYSBzaW5nbGUgbG9jYXRvci4NCgkgIA0KCSAg
PGJyIC8+PGhyIC8+DQo8YSBuYW1lPSJmaWctc29ja2FkZHItc3RvcmFnZSI+PC9hPg0KPC9wPg0K
PHByZT4NCi8qDQogKiBEZXNpcmVkIGRlc2lnbiBvZiBtYXhpbXVtIHNpemUgYW5kIGFsaWdubWVu
dA0KICovDQojZGVmaW5lIF9TU19NQVhTSVpFICAgIDEyOCAgLyogSW1wbGVtZW50YXRpb24gc3Bl
Y2lmaWMgbWF4IHNpemUgKi8NCiNkZWZpbmUgX1NTX0FMSUdOU0laRSAgKHNpemVvZiAoaW50NjRf
dCkpDQogICAgICAgICAgICAgICAgICAgLyogSW1wbGVtZW50YXRpb24gc3BlY2lmaWMgZGVzaXJl
ZCBhbGlnbm1lbnQgKi8NCi8qDQogKiBEZWZpbml0aW9ucyB1c2VkIGZvciBzb2NrYWRkcl9zdG9y
YWdlIHN0cnVjdHVyZSBwYWRkaW5ncyBkZXNpZ24uDQogKi8NCiNkZWZpbmUgX1NTX1BBRDFTSVpF
ICAgKF9TU19BTElHTlNJWkUgLSBzaXplb2YgKHNhX2ZhbWlseV90KSkNCiNkZWZpbmUgX1NTX1BB
RDJTSVpFICAgKF9TU19NQVhTSVpFIC0gKHNpemVvZiAoc2FfZmFtaWx5X3QpICsNCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIF9TU19QQUQxU0laRSArIF9TU19BTElHTlNJWkUpKQ0KDQog
ICAgc3RydWN0IHNvY2thZGRyX3N0b3JhZ2Ugew0KICAgICAgICBzYV9mYW1pbHlfdCAgc3NfZmFt
aWx5OyAgICAvKiBhZGRyZXNzIGZhbWlseSAqLw0KICAgICAgICAvKiBGb2xsb3dpbmcgZmllbGRz
IGFyZSBpbXBsZW1lbnRhdGlvbiBzcGVjaWZpYyAqLw0KICAgICAgICBjaGFyICAgICAgX19zc19w
YWQxW19TU19QQUQxU0laRV07DQogICAgICAgIGludDY0X3QgICBfX3NzX2FsaWduOw0KICAgICAg
ICBjaGFyICAgICAgX19zc19wYWQyW19TU19QQUQyU0laRV07DQogICAgfTsNCjwvcHJlPjxwPg0K
PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIyIj48dHI+PHRk
IGFsaWduPSJjZW50ZXIiPjxmb250IGZhY2U9Im1vbmFjbywgTVMgU2FucyBTZXJpZiIgc2l6ZT0i
MSI+PGI+Jm5ic3A7RmlndXJlJm5ic3A7NTogc29ja2FkZHJfc3RvcmFnZSBzdHJ1Y3R1cmUmbmJz
cDs8L2I+PC9mb250PjxiciAvPjwvdGQ+PC90cj48L3RhYmxlPjxociBzaXplPSIxIiBzaGFkZT0i
MCI+DQoNCg0KCSAgDQo8L3A+DQo8YSBuYW1lPSJzZWMtaW1wbGljYXRpb25zLWZvci1sZWdhY3lh
cGkiPjwvYT48YnIgLz48aHIgLz4NCjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5n
PSIwIiBjZWxsc3BhY2luZz0iMiIgY2xhc3M9ImJ1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNs
YXNzPSJidWciPjxhIGhyZWY9IiN0b2MiIGNsYXNzPSJsaW5rMiI+Jm5ic3A7VE9DJm5ic3A7PC9h
PjwvdGQ+PC90cj48L3RhYmxlPg0KPGEgbmFtZT0icmZjLnNlY3Rpb24uOSI+PC9hPjxoMz45LiZu
YnNwO0ltcGxpY2F0aW9ucyBmb3IgRXhpc3RpbmcgU29ja2V0IEFQSSBFeHRlbnNpb25zPC9oMz4N
Cg0KPHA+QXMgdGhlIHNvY2tldCBvcHRpb25zIHByb3Bvc2VkIGluIHRoaXMgZG9jdW1lbnQgYWxs
b3cNCiAgICAgIGFwcGxpY2F0aW9uIHRvIHNwZWNpZnkgbG9jYXRvciBmb3IgdHJhbnNtaXR0aW5n
IElQIHBhY2tldCwgdGhlcmUNCiAgICAgIG1heSBiZSBjb25mbGljdCB3aXRoIHNvbWUgb2YgZXhp
c3Rpbmcgc29ja2V0IEFQSS4gIEFzIHN0YXRlZCBpbg0KICAgICAgPGEgY2xhc3M9ImluZm8iIGhy
ZWY9IiNzZWMtc2hpbS1zb2NrZXQtb3B0aW9ucyI+U2VjdGlvbiZuYnNwOzY8c3Bhbj4gKDwvc3Bh
bj48c3BhbiBjbGFzcz0iaW5mbyI+U29ja2V0IE9wdGlvbnMgZm9yIE11bHRpaG9tZWQgU2hpbSBM
YXllcjwvc3Bhbj48c3Bhbj4pPC9zcGFuPjwvYT4sIGJhc2ljIGFzc3VtcHRpb24gaXMNCiAgICAg
IHRoYXQgbGVnYWN5IEFQSSBzaG91bGQgY29udGludWUgdG8gd29yayBhYm92ZSB0aGUgc2hpbQ0K
ICAgICAgbGF5ZXIuDQo8L3A+DQo8cD5JbiBJUHY0LCBhcHBsaWNhdGlvbiBjYW4gb2J0YWluIGRl
c3RpbmF0aW9uIElQIGFkZHJlc3Mgb2YgdGhlDQogICAgICByZWNlaXZlZCBJUCBwYWNrZXQgKElQ
X1JFQ1ZEU1RBRERSKSBhcyB3ZWxsIGFzIHRoZSByZWNlaXZpbmcNCiAgICAgIGludGVyZmFjZSAo
SVBfUkVDVklGKS4gIElmIHRoZSBzaGltIGxheWVyIHBlcmZvcm1zIElEL0xvY2F0b3INCiAgICAg
IGFkYXB0YXRpb24gZm9yIHRoZSByZWNlaXZlZCBwYWNrZXQsIHRoZSBkZXN0aW5hdGlvbiBFSUQg
c2hvdWxkDQogICAgICBiZSBzdG9yZWQgaW4gdGhlIGFuY2lsbGFyeSBkYXRhIChJUF9SRUNWRFNU
QUREUikuICBBY2NvcmRpbmdseSwNCiAgICAgIHRoZSByZWNlaXZpbmcgaW50ZXJmYWNlIHNob3Vs
ZCBiZSBhbGlnbmVkIHdpdGggdGhlIGRlc3RpbmF0aW9uDQogICAgICBFSUQgb2YgdGhlIHBhY2tl
dC4gIFRoYXQgaXMsIHRoZSBzaGltIGxheWVyIHNob3VsZCBzZXQNCiAgICAgIGFwcHJvcHJpYXRl
IGludGVyZmFjZSB0byB3aGljaCB0aGUgZGVzdGluYXRpb24gRUlEIGlzIGFzc2lnbmVkDQogICAg
ICBpbiB0aGUgYW5jaWxsYXJ5IGRhdGEgb2JqZWN0LiAgSG93ZXZlciwgZnJvbSBhcHBsaWNhdGlv
bg0KICAgICAgcGVyc3BlY3RpdmUsIGtub3dpbmcgdGhlIHJlY2VpdmluZyBpbnRlcmZhY2Ugd2hp
Y2ggaXMgYXNzb2NpYXRlZA0KICAgICAgd2l0aCB0aGUgZGVzdGluYXRpb24gRUlEIG1heSBub3Qg
YmUgdXNlZnVsLCBlc3BlY2lhbGx5IGluIGEgY2FzZQ0KICAgICAgd2hlcmUgYXBwbGljYXRpb24g
aXMgcGFydGljdWxhcmx5IGludGVyZXN0ZWQgaW4gdGhlDQogICAgICBjaGFyYWN0ZXJpc3RpY3Mg
b2YgdGhlIHJlY2VpdmluZyBpbnRlcmZhY2UuICBIZW5jZSwgd2Ugc3VnZ2VzdA0KICAgICAgYXBw
bGljYXRpb24gcHJvZ3JhbW1lciB0byB1c2UgU0hJTV9JRl9SRUNWIGluc3RlYWQgb2YgSVBfUkVD
VklGDQogICAgICBpbiBzdWNoIGNhc2UuDQo8L3A+DQo8cD5JbiBJUHY2LCA8YSBjbGFzcz0iaW5m
byIgaHJlZj0iI1JGQzM1NDIiPltSRkMzNTQyXTxzcGFuPiAoPC9zcGFuPjxzcGFuIGNsYXNzPSJp
bmZvIj5TdGV2ZW5zLCBXLiwgVGhvbWFzLCBNLiwgTm9yZG1hcmssIEUuLCBhbmQgVC4gSmlubWVp
LCAmbGRxdW87QWR2YW5jZWQgU29ja2V0cyBBcHBsaWNhdGlvbiBQcm9ncmFtIEludGVyZmFjZSAo
QVBJKSAJICBmb3IgSVB2NiwmcmRxdW87IE1heSZuYnNwOzIwMDMuPC9zcGFuPjxzcGFuPik8L3Nw
YW4+PC9hPiBkZWZpbmVzIHRoYXQgSVBWNl9QS1RJTkZPDQogICAgICBjYW4gYmUgdXNlZCB0byBz
cGVjaWZ5IHNvdXJjZSBJUHY2IGFkZHJlc3MgYW5kIHRoZSBvdXRnb2luZw0KICAgICAgaW50ZXJm
YWNlIGZvciBvdXRnb2luZyBwYWNrZXQsIGFuZCByZXRyaWV2ZSBkZXN0aW5hdGlvbiBJUHY2DQog
ICAgICBhZGRyZXNzIGFuZCByZWNlaXZpbmcgaW50ZXJmYWNlIGZvciBpbmNvbWluZyBwYWNrZXQu
ICBUaGVzZQ0KICAgICAgaW5mb3JtYXRpb24gYXJlIHN0b3JlZCBpbiBhbmNpbGxhcnkgZGF0YSBi
ZWluZyBJUFY2X1BLVElORk8NCiAgICAgIHNwZWNpZmllZCBhcyBjbXNnX3R5cGUuICBOb3csIHNp
bWlsYXIgdG8gdGhlIGNhc2Ugb2YgSVB2NCwgdGhlDQogICAgICBzaGltIGxheWVyIG1heSBhZmZl
Y3QgdGhlIGJlaGF2aW9yIG9mIHNvY2tldCBBUEkgd2hpY2ggZGVhbHMNCiAgICAgIHdpdGggSVBW
Nl9QS0ZJTkZPLiAgV2UgYWdhaW4gd291bGQgbGlrZSBub3RlIHRoYXQgZXhpc3RpbmcNCiAgICAg
IHNvY2tldCBBUEkgc2hvdWxkIGNvbnRpbnVlIHRvIHdvcmsgYWJvdmUgdGhlIHNoaW0gbGF5ZXIs
IHRoYXQNCiAgICAgIGlzLCB0aGUgSVAgYWRkcmVzc2VzIGhhbmRsZWQgaW4gSVBWNl9QS1RJTkZP
IHNob3VsZCBiZSBFSURzLCBub3QNCiAgICAgIHRoZSBsb2NhdG9ycy4gIEhlbmNlIHdlIHJlY29t
bWVuZCBhcHBsaWNhdGlvbiBwcm9ncmFtbWVycyB0byB1c2UNCiAgICAgIHNoaW0gc3BlY2lmaWMg
c29ja2V0IG9wdGlvbnMgKFNISU1fSUZfUkVDViBvciBTSElNX0lGX1NFTkQpIGlmDQogICAgICB0
aGUgaW50ZXJlc3QgaW4gdGhlIGNvbW11bmljYXRpbmcgaW50ZXJmYWNlIGNvbWVzIGZyb20gbG93
ZXINCiAgICAgIGxldmVsIChlLmcuIGNoYXJhY3RlcmlzdGljcyBvZiBwaHlzaWNhbCBpbnRlcmZh
Y2UpLiAgRm9yIHRoZQ0KICAgICAgc2FtZSByZWFzb24sIGluIG9yZGVyIHRvIGhhbmRsZSBsb2Nh
dG9yIGluZm9ybWF0aW9uLCB3ZSBzdWdnZXN0DQogICAgICB0byB1c2Ugc2hpbSBzcGVjaWZpYyBz
b2NrZXQgb3B0aW9ucyBkZWZpbmVkIGluIDxhIGNsYXNzPSJpbmZvIiBocmVmPSIjc2VjLWFjY2Vz
cy10by1sb2NpbmZvIj5TZWN0aW9uJm5ic3A7NzxzcGFuPiAoPC9zcGFuPjxzcGFuIGNsYXNzPSJp
bmZvIj5BY2Nlc3MgdG8gTG9jYXRvciBJbmZvcm1hdGlvbjwvc3Bhbj48c3Bhbj4pPC9zcGFuPjwv
YT4uDQo8L3A+DQo8cD5JbiBzdW1tYXJ5LCBhIGNhcmUgc2hvdWxkIGJlIHRha2VuIGluIHBvdGVu
dGlhbCBjb25mbGljdCB3aXRoDQogICAgICBleGlzdGluZyBzb2NrZXQgQVBJIHdoaWNoIHRyZWF0
cyB0aGUgSVAgYWRkcmVzcyBhcyBhIGxvY2F0b3INCiAgICAgIHJhdGhlciB0aGFuIGlkZW50aWZp
ZXIuICBCYXNpYyBhc3N1bXB0aW9uIGlzIHRoYXQgdGhlIGV4aXN0aW5nDQogICAgICBzb2NrZXQg
QVBJIHdvcmtzIGFib3ZlIHRoZSBzaGltIGxheWVyLg0KPC9wPg0KPGEgbmFtZT0ic2VjLWRpc2N1
c3Npb24iPjwvYT48YnIgLz48aHIgLz4NCjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRk
aW5nPSIwIiBjZWxsc3BhY2luZz0iMiIgY2xhc3M9ImJ1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRk
IGNsYXNzPSJidWciPjxhIGhyZWY9IiN0b2MiIGNsYXNzPSJsaW5rMiI+Jm5ic3A7VE9DJm5ic3A7
PC9hPjwvdGQ+PC90cj48L3RhYmxlPg0KPGEgbmFtZT0icmZjLnNlY3Rpb24uMTAiPjwvYT48aDM+
MTAuJm5ic3A7RGlzY3Vzc2lvbjwvaDM+DQoNCjxwPkluIHRoaXMgc2VjdGlvbiwgb3BlbiBkaXNj
dXNzaW9uIGlzc3VlcyBhcmUgbm90ZWQuDQo8L3A+DQo8YSBuYW1lPSJhbmNob3IyNSI+PC9hPjxi
ciAvPjxociAvPg0KPHRhYmxlIHN1bW1hcnk9ImxheW91dCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxz
cGFjaW5nPSIyIiBjbGFzcz0iYnVnIiBhbGlnbj0icmlnaHQiPjx0cj48dGQgY2xhc3M9ImJ1ZyI+
PGEgaHJlZj0iI3RvYyIgY2xhc3M9ImxpbmsyIj4mbmJzcDtUT0MmbmJzcDs8L2E+PC90ZD48L3Ry
PjwvdGFibGU+DQo8YSBuYW1lPSJyZmMuc2VjdGlvbi4xMC4xIj48L2E+PGgzPjEwLjEuJm5ic3A7
SXNzdWVzIHdpdGggYSBDb250ZXh0IFNoYXJlZCBieSBBcHBsaWNhdGlvbnM8L2gzPg0KDQo8cD5B
IGNvbnRleHQgaXMgYnkgZGVmaW5pdGlvbiwgc3lzdGVtLXdpZGUuICBUaGlzIG1lYW5zIHRoYXQg
YQ0KCWNvbnRleHQgY291bGQgYmUgc2hhcmVkIGJ5IGFwcGxpY2F0aW9ucyB3aG9zZSBjb21tdW5p
Y2F0aW9ucw0KCWFyZSBieSBjaGFuY2UgYmFzZWQgb24gdGhlIHNhbWUgRUlEIHBhaXIuDQo8L3A+
DQo8cD5XaGVuIGEgY29udGV4dCBpcyBzaGFyZWQgYnkgYXBwbGljYXRpb25zLCBpdCB3b3VsZCBi
ZQ0KCWRpZmZpY3VsdCBmb3IgdGhlIHNoaW0gbGF5ZXIgdG8gaGFuZGxlIGZlZWRiYWNrcyBmcm9t
IHRoZQ0KCWFwcGxpY2F0aW9ucy4gIEFzIG1lbnRpb25lZCBpbiBTZWN0aW9uIFgsIGFuIGFwcGxp
Y2F0aW9uIG1heQ0KCXByb3ZpZGUgdGhlIHNoaW0gbGF5ZXIgc29tZSBmZWVkYmFja3Mgb2YgdGlt
ZW91dCB2YWx1ZXMgZnJvbQ0KCWl0cyBvd24gc2V0dGluZ3MuICBUaGlzIGltcGxpZXMgdGhhdCB0
aGVyZSBpcyBwb3RlbnRpYWxseSBhDQoJcmFjZSBjb25kaXRpb24gYXQgdGhlIHNoaW0gbGF5ZXIu
DQo8L3A+DQo8cD5GaXJzdCBvZiBhbGwsIHRoZSBzb2NrZXQgb3B0aW9ucyBtdXN0IGJlIHVzZWQg
d2l0aCBhIHByb3Blcg0KCXByaXZpbGVnZS4gIEZlZWRiYWNrIGZyb20gdGhlIGFwcGxpY2F0aW9u
IHdoaWNoIGlzIHJ1biB1bmRlciBhDQoJcm9vdCBwcml2aWxlZ2UgbXVzdCBhbHdheXMgb3ZlcnJp
ZGUgdGhlIGZlZWRiYWNrIHByb3ZpZGVkIGJ5DQoJYXBwbGljYXRpb24gd2hpY2ggaXMgcnVuIHVu
ZGVyIG5vcm1hbCB1c2VyIHByaXZpbGVnZS4NCjwvcD4NCjxwPkZvciBvdGhlciBjYXNlcywgb25l
IGNvdWxkIHJlbHkgb24gYSBraW5kIG9mIGhldXJpc3RpY3Mgb2YNCgl0aGUgY29uZmlndXJhdGlv
bi4gIEZvciBpbnN0YW5jZSwgcHJpb3JpdGl6aW5nIGZlZWRiYWNrIHdpdGgNCgloaWdoZXIgZGVt
YW5kIChlLmcuIHRpbWVvdXQgdmFsdWUgMzAwIHNlY29uZHMgYXJlIG1vcmUNCglkZW1hbmRpbmcg
dGhlbiB0aW1lb3V0IHZhbHVlIDYwMCBzZWNvbmRzKSBtYXkgbWFrZSBzZW5zZSBpbg0KCXNvbWUg
Y2FzZXMuICBIb3dldmVyLCBpdCBpcyBzdGlsbCBvcGVuIGlzc3VlcyB3aGF0IGtpbmQgb2YNCgl0
aW1lciB2YWx1ZSBjb3VsZCBiZSBoYW5kbGVkIGluIHRoaXMgd2F5Lg0KPC9wPg0KPHA+RnVydGhl
ciBkaXNjdXNzaW9ucyBhcmUgbmVlZGVkIGhvdyB0aGUgc2hpbSBsYXllciBjYW4NCglhY2NvbW1v
ZGF0ZSBmZWVkYmFja3MgZnJvbSBtdWx0aXBsZSBhcHBsaWNhdGlvbnMgd2l0aGluIGEgc2FtZQ0K
CWNvbnRleHQuDQo8L3A+DQo8YSBuYW1lPSJhbmNob3IyNiI+PC9hPjxiciAvPjxociAvPg0KPHRh
YmxlIHN1bW1hcnk9ImxheW91dCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBjbGFz
cz0iYnVnIiBhbGlnbj0icmlnaHQiPjx0cj48dGQgY2xhc3M9ImJ1ZyI+PGEgaHJlZj0iI3RvYyIg
Y2xhc3M9ImxpbmsyIj4mbmJzcDtUT0MmbmJzcDs8L2E+PC90ZD48L3RyPjwvdGFibGU+DQo8YSBu
YW1lPSJyZmMuc2VjdGlvbi4xMC4yIj48L2E+PGgzPjEwLjIuJm5ic3A7SXNzdWVzIG9mIEhhbmRs
aW5nIE11bHRpcGxlIExvY2F0b3JzIHdpdGggU2hpbSBVbmF3YXJlDQoJCSAgICAgIEFwcGxpY2F0
aW9uczwvaDM+DQoNCjxwPkluIG11bHRpaG9tZWQgZW52aXJvbm1lbnQgd2hlcmUgZWl0aGVyIG9y
IGJvdGggb2YgdGhlIHBlZXJzDQoJaGF2ZSBtdWx0aXBsZSBsb2NhdG9ycywgdGhlcmUgYXJlIHNv
bWUgaXNzdWVzIHdpdGggbGVnYWN5DQoJc29ja2V0IEFQSS4NCjwvcD4NCjxhIG5hbWU9ImFuY2hv
cjI3Ij48L2E+PGJyIC8+PGhyIC8+DQo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGlu
Zz0iMCIgY2VsbHNwYWNpbmc9IjIiIGNsYXNzPSJidWciIGFsaWduPSJyaWdodCI+PHRyPjx0ZCBj
bGFzcz0iYnVnIj48YSBocmVmPSIjdG9jIiBjbGFzcz0ibGluazIiPiZuYnNwO1RPQyZuYnNwOzwv
YT48L3RkPjwvdHI+PC90YWJsZT4NCjxhIG5hbWU9InJmYy5zZWN0aW9uLjEwLjIuMSI+PC9hPjxo
Mz4xMC4yLjEuJm5ic3A7U2hpbSBVbmF3YXJlIEFwcGxpY2F0aW9uIE1ha2luZyBJbml0aWFsIENv
bnRhY3Q8L2gzPg0KDQo8cD5XaGVuIGFwcGxpY2F0aW9uIGlzIGdvaW5nIHRvIGVzdGFibGlzaCBj
b21tdW5pY2F0aW9uIHdpdGgNCglpdHMgcGVlciB3aG8gaGFwcGVucyB0byBoYXZlIG11bHRpcGxl
IGxvY2F0b3JzLCB0aGVyZSBhcmUgc29tZQ0KCWlzc3VlcyB0byBjb25zaWRlci4gIEluIGNvbm5l
Y3Rpb24gb3JpZW50ZWQgY29tbXVuaWNhdGlvbiwNCgljb25uZWN0KCkgc3lzdGVtIGNhbGwgaXMg
dXNlZCB0byBtYWtlIHRoZSBpbml0aWFsIGNvbnRhY3QgdG8NCgl0aGUgcGVlciwgd2hpY2ggdHlw
aWNhbGx5IHJlcXVpcmVzIElQIGFkZHJlc3MgYW5kIHBvcnQgbnVtYmVyDQoJdG8gc3BlY2lmeSB0
aGUgZW5kcG9pbnQuICBIZW5jZSwgbmFtZS10by1hZGRyZXNzIHJlc29sdXRpb24NCglzaG91bGQg
YmUgcGVyZm9ybWVkIHByaW9yIHRvIGNvbm5lY3QoKS4gIEFwcGxpY2F0aW9uIG5lZWRzIHRvDQoJ
cmVzb2x2ZSBGUUROIG9mIHRoZSBwZWVyIHRvIGFuIElQIGFkZHJlc3MgYnkgYW55IGF2YWlsYWJs
ZQ0KCW5hbWUtdG8tYWRkcmVzcyBjb252ZXJzaW9uIG1ldGhvZC4NCjwvcD4NCjxwPkluIHR5cGlj
YWwgY2FzZSwgdGhlIGFwcGxpY2F0aW9uIHJlY2VpdmVzIGluZm9ybWF0aW9uIGZyb20NCglyZXNv
bHZlci4gIElmIHRoZSBhcHBsaWNhdGlvbiBlbmRzIHVwIHdpdGggcmVjZWl2aW5nIG11bHRpcGxl
DQoJSVAgYWRkcmVzc2VzIHRvIHJlYWNoIHRoZSBwZWVyLCBpdCBzaG91bGQgaXRlcmF0ZSBlYWNo
DQoJZGVzdGluYXRpb24gYWRkcmVzcyBvbmUtYnktb25lLiAgSXQgc2hvdWxkIGJlIG5vdGVkIHRo
YXQgdGhlDQoJaG9zdCBtYXkgYWxzbyBoYXZlIG11bHRpcGxlIHNvdXJjZSBhZGRyZXNzZXMuDQo8
L3A+DQo8cD5UaGUgZGlmZmVyZW50IHJlc3VsdGluZyBhZGRyZXNzIHBhaXIgbWF5IGhhdmUgZGlm
ZmVyZW50DQoJcmVhY2hhYmlsaXR5IHN0YXR1cyBzbywgaW4gb3JkZXIgdG8gZmluZCBhIHdvcmtp
bmcgYWRkcmVzcw0KCXBhaXIsIGl0IG1heSBiZSByZXF1aXJlZCB0byBleHBsb3JlIGFsbCB0aGUg
YXZhaWxhYmxlIGFkZHJlc3MNCglwYWlycyAoYXMgb3Bwb3NlZCB0byBleHBsb3JlIGFsbCBhdmFp
bGFibGUgZGVzdGluYXRpb24NCglhZGRyZXNzZXMpLg0KPC9wPg0KPHA+SW4gbm9ybWFsIGNhc2Us
IGFwcGxpY2F0aW9uIGlzc3VlcyBjb25uZWN0KCkgYnkgc3BlY2lmeWluZw0KCXJlc29sdmVkIElQ
IGFkZHJlc3Mgb2YgdGhlIHBlZXIuICBJZiB0aGUgY29ubmVjdCgpIGZhaWxzLCBJUA0KCWFkZHJl
c3MgaXMgaXRlcmF0ZWQgb25lIGJ5IG9uZSBzZXF1ZW50aWFsbHkgdW50aWwgd29ya2luZyBwYWly
DQoJaXMgZm91bmQuICBBbm90aGVyIGFwcHJvYWNoIGlzIHRvIGluaXRpYXRlIGNvbmN1cnJlbnQN
Cgljb25uZWN0KCkgd2l0aCBldmVyeSBsb2NhdG9yIG9mIHRoZSBwZWVyLiAgY29ubmVjdCgpIGNh
biBhbHNvDQoJYmUgY2FsbGVkIGluIGEgc2VxdWVuY2Ugd2hpY2ggd291bGQgcHJvYmFibHkgcmVx
dWlyZSBtb3JlIHRpbWUNCgl0byBmaW5kIHRoZSB3b3JraW5nIHBhaXIuDQo8L3A+DQo8cD5UaGVy
ZSBpcyBhIGNhc2Ugd2hlcmUgaW52b2x2ZW1lbnQgb2YgdGhlIHNoaW0gbGF5ZXIgaXMNCglleHBl
Y3RlZCBmb3IgaGFuZGxpbmcgaW5pdGlhbCBjb250YWN0LiAgSW4gc3VjaCBjYXNlLCBiZWhhdmlv
cg0KCW9mIHRoZSBzaGltIGxheWVyIHdpbGwgZGVwZW5kIG9uIHByZXNlbmNlIG9mIHJlcXVpcmVk
IGNvbnRleHQuDQoJVGhpcyBjYXNlIG9jY3VycyB3aGVuIHRoZXJlIGV4aXN0cyBhIGNvbnRleHQg
Zm9yIHRoZSBFSUQNCglzcGVjaWZpZWQgaW4gY29ubmVjdCgpLCB0aGUgaW5pdGlhbCBjb250YWN0
IGNhbiBiZSBtYWRlIGluDQoJYWNjb3JkYW5jZSB3aXRoIHRoZSBjb250ZXh0IGluZm9ybWF0aW9u
LiAgT3RoZXJ3aXNlLCB0aGUgc2hpbQ0KCWxheWVyIHNob3VsZCBpbnZva2UgY29udGV4dCBlc3Rh
Ymxpc2htZW50IHdpdGggdGhlIHBlZXIgRUlEDQoJc3BlY2lmaWVkIGluIHRoZSBhcmd1bWVudCBm
b3IgY29ubmVjdCgpLg0KPC9wPg0KPHA+QWRkaXRpb25hbCBlZmZvcnRzIHdvdWxkIGJlIHJlcXVp
cmVkIGluIGEgY2FzZSB3aGVyZSB0aGUNCglwZWVyIGNhbm5vdCBiZSByZWFjaGFibGUgYnkgdGhl
IEVJRCAoZm9yIGV4YW1wbGUsIEVJRCBpcw0KCW5vbi1yb3V0YWJsZSBvciBub24tSVAgcmVhY2hh
YmxlKSBidXQgY2FuIGJlIHJlYWNoZWQgYnkNCglhbHRlcm5hdGl2ZSBsb2NhdG9yLiAgSW4gcGFy
dGljdWxhciwgdGhlIHNoaW0gbGF5ZXIgc2hvdWxkDQoJc29tZWhvdyBkaXNjb3ZlciB0aGUgYWx0
ZXJuYXRlIGxvY2F0b3IgZm9yIHRoZSBFSUQgdG8NCgllc3RhYmxpc2ggY29udGV4dC4gIDxhIGNs
YXNzPSJpbmZvIiBocmVmPSIjSS1ELm5vcmRtYXJrLXNoaW02LWVzZCI+W0ktRC5ub3JkbWFyay1z
aGltNi1lc2RdPHNwYW4+ICg8L3NwYW4+PHNwYW4gY2xhc3M9ImluZm8iPk5vcmRtYXJrLCBFLiwg
JmxkcXVvO0V4dGVuZGVkIFNoaW02IERlc2lnbiBmb3IgSUQvbG9jIHNwbGl0IGFuZCBUcmFmZmlj
IAkgIEVuZ2luZWVyaW5nLCZyZHF1bzsgRmVicnVhcnkmbmJzcDsyMDA2Ljwvc3Bhbj48c3Bhbj4p
PC9zcGFuPjwvYT4NCglhZGRyZXNzZXMgdGhlIHBvc3NpYmxlIGFwcHJvYWNoIHRvIHBlcmZvcm0g
cmV2ZXJzZSBETlMgbG9va3VwDQoJZnJvbSBFSUQgdG8gRlFETiwgdGhlbiBwZXJmb3JtIGZvcndh
cmQgbG9va3VwIGFnYWluIHRvIGZpbmQNCgl0aGUgZnVsbC1zZXQgb2YgbG9jYXRvcnMgYW5kIEVJ
RC4NCgkNCjwvcD4NCjxwPkluIEhJUCwgcmVzb2x2aW5nIEhJVHMgdG8gSVAgYWRkcmVzc2VzIHVz
aW5nIEROUyBpcyBub3QNCglmZWFzaWJsZSBiZWNhdXNlIEhJVHMgZG8gbm90IGNvbnRhaW4gYW55
IGhpZXJhcmNoaWNhbA0KCWluZm9ybWF0aW9uLiAgVG8gbWl0aWdhdGUgdGhpcyBwcm9ibGVtLCB0
aGVyZSBhcmUgYSBmZXcNCglhbHRlcm5hdGl2ZXMuICBGaXJzdGx5LCByZXNvbHZlciBsaWJyYXJ5
IG9uIGVuZC1ob3N0IGNhbiBiZQ0KCW1vZGlmaWVkIHRvIHByb3ZpZGUgSElULXRvLUlQIG1hcHBp
bmdzIGZvciBISVAgc29mdHdhcmUNCgltb2R1bGUuICBTZWNvbmRseSwgYSBkaXN0cmlidXRlZCBo
YXNoIHRhYmxlIChESFQpIHNlcnZpY2UgY2FuDQoJYmUgdXNlZCBmb3Igc3RvcmluZyBhbmQgbG9v
a2luZyB1cCB0aGUgbWFwcGluZ3MgYmVjYXVzZSBpdA0KCXN1cHBvcnRzIG5vbi1oaWVyYXJjaGlj
YWwgaWRlbnRpZmllcnMsIHN1Y2ggYXMgSElUcyA8YSBjbGFzcz0iaW5mbyIgaHJlZj0iI0ktRC5p
ZXRmLWhpcC1hcmNoIj5bSS1ELmlldGYtaGlwLWFyY2hdPHNwYW4+ICg8L3NwYW4+PHNwYW4gY2xh
c3M9ImluZm8iPk1vc2tvd2l0eiwgUi4gYW5kIFAuIE5pa2FuZGVyLCAmbGRxdW87SG9zdCBJZGVu
dGl0eSBQcm90b2NvbCBBcmNoaXRlY3R1cmUsJnJkcXVvOyBBdWd1c3QmbmJzcDsyMDA1Ljwvc3Bh
bj48c3Bhbj4pPC9zcGFuPjwvYT4uICBUaGlyZGx5LCBpdCBpcyBwb3NzaWJsZSB0byB1c2UNCglJ
UCBhZGRyZXNzZXMgaW4gbGVnYWN5IGFwcGxpY2F0aW9ucyBhcyBkZXNjcmliZWQgaW4gPGEgY2xh
c3M9ImluZm8iIGhyZWY9IiNJLUQuaGVuZGVyc29uLWhpcC1hcHBsaWNhdGlvbnMiPltJLUQuaGVu
ZGVyc29uLWhpcC1hcHBsaWNhdGlvbnNdPHNwYW4+ICg8L3NwYW4+PHNwYW4gY2xhc3M9ImluZm8i
PkhlbmRlcnNvbiwgVC4gYW5kIFAuIE5pa2FuZGVyLCAmbGRxdW87VXNpbmcgSElQIHdpdGggTGVn
YWN5IEFwcGxpY2F0aW9ucywmcmRxdW87IE1heSZuYnNwOzIwMDYuPC9zcGFuPjxzcGFuPik8L3Nw
YW4+PC9hPi4NCjwvcD4NCjxhIG5hbWU9ImFuY2hvcjI4Ij48L2E+PGJyIC8+PGhyIC8+DQo8dGFi
bGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjIiIGNsYXNz
PSJidWciIGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0iYnVnIj48YSBocmVmPSIjdG9jIiBj
bGFzcz0ibGluazIiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4NCjxhIG5h
bWU9InJmYy5zZWN0aW9uLjEwLjIuMiI+PC9hPjxoMz4xMC4yLjIuJm5ic3A7TmFtaW5nIGF0IFNv
Y2tldCBMYXllcjwvaDM+DQoNCjxwPmdldHNvY2tuYW1lKCkgYW5kIGdldHBlZXJuYW1lKCkgc3lz
dGVtIGNhbGxzIGFyZSB1c2VkIHRvDQoJICBvYnRhaW4gdGhlICduYW1lJyBvZiBlbmRwb2ludCB3
aGljaCBpcyBhY3R1YWxseSBhIHBhaXIgb2YgSVANCgkgIGFkZHJlc3MgYW5kIHBvcnQgbnVtYmVy
IGFzc2lnbmVkIHRvIGdpdmVuIHNvY2tldC4NCgkgIGdldHNvY2tuYW1lKCkgaXMgdXNlZCB3aGVu
IGFuIGFwcGxpY2F0aW9uIHdhbnRzIHRvIG9idGFpbg0KCSAgdGhlIGxvY2FsIElQIGFkZHJlc3Mg
YW5kIHBvcnQgbnVtYmVyIGFzc2lnbmVkIGZvciBnaXZlbg0KCSAgc29ja2V0IGluc3RhbmNlLiAg
Z2V0cGVlcm5hbWUoKSBpcyB1c2VkIHdoZW4gYW4gYXBwbGljYXRpb24NCgkgIHdhbnRzIHRvIG9i
dGFpbiB0aGUgcmVtb3RlIElQIGFkZHJlc3MgYW5kIHBvcnQgbnVtYmVyLg0KPC9wPg0KPHA+VGhl
IGFib3ZlIGlzIGJhc2VkIG9uIGEgdHJhZGl0aW9uYWwgc3lzdGVtIG1vZGVsIG9mIHRoZQ0KCSAg
c29ja2V0IEFQSSB3aGVyZSBhbiBJUCBhZGRyZXNzIGlzIGV4cGVjdGVkIHRvIHBsYXkgcm9sZSBv
Zg0KCSAgYm90aCBpZGVudGlmaWVyIGFuZCBsb2NhdG9yLiAgQXMgdGhlIHJldHVybmVkIElQIGFk
ZHJlc3MNCgkgIHdhcw0KPC9wPg0KPHA+SW4gYSBzeXN0ZW0gbW9kZWwgd2hlcmUgYSBzaGltIGxh
eWVyIGV4aXN0cyBpbnNpZGUgdGhlIElQDQoJICBsYXllciwgYm90aCBnZXRzb2NrbmFtZSgpIGFu
ZCBnZXRwZWVybmFtZSgpIGRlYWwgd2l0aA0KCSAgaWRlbnRpZmllcnMsIG5hbWVseSBFSURzLiAg
SW4gdGhpcyBzZW5zZSwgdGhlIHNoaW0gbGF5ZXINCgkgIHNlcnZlcyB0byAoMSkgaGlkZSBsb2Nh
dG9ycyBhbmQgKDIpIHByb3ZpZGUgYWNjZXNzIHRvIHRoZQ0KCSAgaWRlbnRpZmllciBmb3IgdGhl
IGFwcGxpY2F0aW9uIG92ZXIgdGhlIGxlZ2FjeSBzb2NrZXQNCgkgIEFQSXMuDQo8L3A+DQo8YSBu
YW1lPSJhbmNob3IyOSI+PC9hPjxiciAvPjxociAvPg0KPHRhYmxlIHN1bW1hcnk9ImxheW91dCIg
Y2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBjbGFzcz0iYnVnIiBhbGlnbj0icmlnaHQi
Pjx0cj48dGQgY2xhc3M9ImJ1ZyI+PGEgaHJlZj0iI3RvYyIgY2xhc3M9ImxpbmsyIj4mbmJzcDtU
T0MmbmJzcDs8L2E+PC90ZD48L3RyPjwvdGFibGU+DQo8YSBuYW1lPSJyZmMuc2VjdGlvbi4xMC4z
Ij48L2E+PGgzPjEwLjMuJm5ic3A7SXNzdWVzIG9mIEhhbmRsaW5nIE11bHRpcGxlIExvY2F0b3Jz
IHdpdGggU2hpbSBBd2FyZQ0KCQkgICAgICBBcHBsaWNhdGlvbnM8L2gzPg0KDQo8cD5UQkQuDQo8
L3A+DQo8YSBuYW1lPSJhbmNob3IzMCI+PC9hPjxiciAvPjxociAvPg0KPHRhYmxlIHN1bW1hcnk9
ImxheW91dCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBjbGFzcz0iYnVnIiBhbGln
bj0icmlnaHQiPjx0cj48dGQgY2xhc3M9ImJ1ZyI+PGEgaHJlZj0iI3RvYyIgY2xhc3M9Imxpbmsy
Ij4mbmJzcDtUT0MmbmJzcDs8L2E+PC90ZD48L3RyPjwvdGFibGU+DQo8YSBuYW1lPSJyZmMuc2Vj
dGlvbi4xMC40Ij48L2E+PGgzPjEwLjQuJm5ic3A7QWRkaXRpb25hbCBSZXF1aXJlbWVudHMgZnJv
bSBBcHBsaWNhdGlvbjwvaDM+DQoNCjxwPkF0IHRoZSBtb21lbnQsIGl0IGlzIG5vdCBjZXJ0YWlu
IGlmIGZvbGxvd2luZyByZXF1aXJlbWVudHMNCglhcmUgY29tbW9uIGluIGFsbCB0aGUgbXVsdGlo
b21lZCBlbnZpcm9ubWVudHMgKFNISU02IGFuZCBISVApLg0KCVRoZXNlIGFyZSBtYWlubHkgaWRl
bnRpZmllZCBkdXJpbmcgZGlzY3Vzc2lvbnMgbWFkZSBvbiBTSElNNg0KCVdHIG1haWxpbmcgbGlz
dC4NCgkNCgk8L3A+DQo8dWwgY2xhc3M9InRleHQiPg0KPGxpPlRoZSBhcHBsaWNhdGlvbiBzaG91
bGQgYmUgYWJsZSB0byBzZXQgcHJlZmVyZW5jZXMgZm9yIHRoZQ0KCSAgbG9jYXRvcnMsIGxvY2Fs
IGFuZCByZW1vdGUgb25lIGFuZCBhbHNvIHRvIHRoZSBwcmVmZXJlbmNlcyBvZg0KCSAgdGhlIGxv
Y2FsIGxvY2F0b3JzIHRoYXQgd2lsbCBiZSBwYXNzZWQgdG8gdGhlIHBlZXIuDQo8L2xpPg0KPC91
bD48cD4NCgkNCjwvcD4NCjxhIG5hbWU9ImFuY2hvcjMxIj48L2E+PGJyIC8+PGhyIC8+DQo8dGFi
bGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjIiIGNsYXNz
PSJidWciIGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0iYnVnIj48YSBocmVmPSIjdG9jIiBj
bGFzcz0ibGluazIiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4NCjxhIG5h
bWU9InJmYy5zZWN0aW9uLjExIj48L2E+PGgzPjExLiZuYnNwO0lBTkEgQ29uc2lkZXJhdGlvbnM8
L2gzPg0KDQo8cD5UaGlzIGRvY3VtZW50IGNvbnRhaW5zIG5vIElBTkEgY29uc2lkZXJhdGlvbi4N
CjwvcD4NCjxhIG5hbWU9ImFuY2hvcjMyIj48L2E+PGJyIC8+PGhyIC8+DQo8dGFibGUgc3VtbWFy
eT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjIiIGNsYXNzPSJidWciIGFs
aWduPSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0iYnVnIj48YSBocmVmPSIjdG9jIiBjbGFzcz0ibGlu
azIiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4NCjxhIG5hbWU9InJmYy5z
ZWN0aW9uLjEyIj48L2E+PGgzPjEyLiZuYnNwO1NlY3VyaXR5IENvbnNpZGVyYXRpb25zPC9oMz4N
Cg0KPHA+VEJEDQo8L3A+DQo8YSBuYW1lPSJhbmNob3IzMyI+PC9hPjxiciAvPjxociAvPg0KPHRh
YmxlIHN1bW1hcnk9ImxheW91dCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBjbGFz
cz0iYnVnIiBhbGlnbj0icmlnaHQiPjx0cj48dGQgY2xhc3M9ImJ1ZyI+PGEgaHJlZj0iI3RvYyIg
Y2xhc3M9ImxpbmsyIj4mbmJzcDtUT0MmbmJzcDs8L2E+PC90ZD48L3RyPjwvdGFibGU+DQo8YSBu
YW1lPSJyZmMuc2VjdGlvbi4xMyI+PC9hPjxoMz4xMy4mbmJzcDtDb25jbHVzaW9uPC9oMz4NCg0K
PHA+SW4gdGhpcyBkb2N1bWVudCwgQXBwbGljYXRpb24gUHJvZ3JhbSBJbnRlcmZhY2UgKEFQSSkg
Zm9yDQogICAgICBtdWx0aWhvbWVkIHNoaW0gbGF5ZXIgaXMgc3BlY2lmaWVkLiAgVGhlIHNvY2tl
dCBBUEkgYWxsb3dzDQogICAgICBhcHBsaWNhdGlvbiB0byBoYXZlIGFkZGl0aW9uYWwgY29udHJv
bCBvbiBsb2NhdG9yIG1hbmFnZW1lbnQgYW5kDQogICAgICBpbnRlcmZhY2UgdG8gdGhlIFJFQVAg
bWVjaGFuaXNtIGluc2lkZSB0aGUgc2hpbSBsYXllci4gIFRoZQ0KICAgICAgc29ja2V0IEFQSSBp
cyBleHBlY3RlZCB0byBiZSB1c2VmdWwgZm9yIHRoZSBhcHBsaWNhdGlvbiB0aGF0DQogICAgICBm
dWxseSB0YWtlcyBhZHZhbnRhZ2Ugb2YgbXVsdGlob21lZCBlbnZpcm9ubWVudC4gIEZyb20NCiAg
ICAgIGFyY2hpdGVjdHVyYWwgcGVyc3BlY3RpdmUsIHRoZSBzb2NrZXQgQVBJIGFpbXMgdG8gZW5o
YW5jZQ0KICAgICAgc29mdHdhcmUgZGV2ZWxvcG1lbnQgZW52aXJvbm1lbnQgaW4gdGVybXMgb2Yg
c3VwcG9ydCBmb3INCiAgICAgIHNlcGFyYXRpb24gb2YgaWRlbnRpZmllciBhbmQgbG9jYXRvci4g
IFRoYXQgaXMsIHdpdGggbmV3IEFQSSwNCiAgICAgIGFwcGxpY2F0aW9uIGNhbiBoYW5kbGUgaWRl
bnRpZmllciBhbmQgbG9jYXRvciBzZXBhcmF0ZWx5IHN0aWxsDQogICAgICBiZWluZyBhbGxvd2Vk
IHRvIHVzZSBsZWdhY3kgc29ja2V0IEFQSS4NCjwvcD4NCjxwPlNoaW0gc3BlY2lmaWMgc29ja2V0
IG9wdGlvbnMgY2FuIGJlIHVzZWQgYnkgZ2V0c29ja29wdCgpDQogICAgICBhbmQvb3Igc2V0Y29r
b3B0KCkgc3lzdGVtIGNhbGxzLCB3aGljaCBhbGxvd3MgYXBwbGljYXRpb24gdG8gZ2V0DQogICAg
ICBpbmZvcm1hdGlvbiBhYm91dCBsb2NhdG9yIG1hbmFnZW1lbnQuICBBZGRpdGlvbmFsbHksIGFw
cGxpY2F0aW9uDQogICAgICBjYW4gc3BlY2lmeSBsb2NhdG9yIGluZm9ybWF0aW9uIGZvciBvdXRn
b2luZyBwYWNrZXQgYW5kIGdldA0KICAgICAgbG9jYXRvciBpbmZvcm1hdGlvbiBmcm9tIGluY29t
aW5nIHBhY2tldCBieSB1c2luZyBhbmNpbGxhcnkNCiAgICAgIGRhdGEuDQo8L3A+DQo8YSBuYW1l
PSJhbmNob3IzNCI+PC9hPjxiciAvPjxociAvPg0KPHRhYmxlIHN1bW1hcnk9ImxheW91dCIgY2Vs
bHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBjbGFzcz0iYnVnIiBhbGlnbj0icmlnaHQiPjx0
cj48dGQgY2xhc3M9ImJ1ZyI+PGEgaHJlZj0iI3RvYyIgY2xhc3M9ImxpbmsyIj4mbmJzcDtUT0Mm
bmJzcDs8L2E+PC90ZD48L3RyPjwvdGFibGU+DQo8YSBuYW1lPSJyZmMuc2VjdGlvbi4xNCI+PC9h
PjxoMz4xNC4mbmJzcDtBY2tub3dsZWRnbWVudHM8L2gzPg0KDQo8cD5UQkQNCjwvcD4NCjxhIG5h
bWU9InJmYy5yZWZlcmVuY2VzIj48L2E+PGJyIC8+PGhyIC8+DQo8dGFibGUgc3VtbWFyeT0ibGF5
b3V0IiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjIiIGNsYXNzPSJidWciIGFsaWduPSJy
aWdodCI+PHRyPjx0ZCBjbGFzcz0iYnVnIj48YSBocmVmPSIjdG9jIiBjbGFzcz0ibGluazIiPiZu
YnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4NCjxhIG5hbWU9InJmYy5zZWN0aW9u
LjE1Ij48L2E+PGgzPjE1LiZuYnNwO1JlZmVyZW5jZXM8L2gzPg0KDQo8YSBuYW1lPSJyZmMucmVm
ZXJlbmNlczEiPjwvYT48YnIgLz48aHIgLz4NCjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxw
YWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIgY2xhc3M9ImJ1ZyIgYWxpZ249InJpZ2h0Ij48dHI+
PHRkIGNsYXNzPSJidWciPjxhIGhyZWY9IiN0b2MiIGNsYXNzPSJsaW5rMiI+Jm5ic3A7VE9DJm5i
c3A7PC9hPjwvdGQ+PC90cj48L3RhYmxlPg0KPGgzPjE1LjEuJm5ic3A7Tm9ybWF0aXZlIFJlZmVy
ZW5jZXM8L2gzPg0KPHRhYmxlIHdpZHRoPSI5OSUiIGJvcmRlcj0iMCI+DQo8dHI+PHRkIGNsYXNz
PSJhdXRob3ItdGV4dCIgdmFsaWduPSJ0b3AiPjxhIG5hbWU9IkktRC5oZW5kZXJzb24taGlwLWFw
cGxpY2F0aW9ucyI+W0ktRC5oZW5kZXJzb24taGlwLWFwcGxpY2F0aW9uc108L2E+PC90ZD4NCjx0
ZCBjbGFzcz0iYXV0aG9yLXRleHQiPkhlbmRlcnNvbiwgVC4gYW5kIFAuIE5pa2FuZGVyLCAmbGRx
dW87PGEgaHJlZj0iaHR0cDovL3d3dy5pZXRmLm9yZy9pbnRlcm5ldC1kcmFmdHMvZHJhZnQtaGVu
ZGVyc29uLWhpcC1hcHBsaWNhdGlvbnMtMDMudHh0Ij5Vc2luZyBISVAgd2l0aCBMZWdhY3kgQXBw
bGljYXRpb25zPC9hPiwmcmRxdW87IGRyYWZ0LWhlbmRlcnNvbi1oaXAtYXBwbGljYXRpb25zLTAz
ICh3b3JrIGluIHByb2dyZXNzKSwgTWF5Jm5ic3A7MjAwNi48L3RkPjwvdHI+DQo8dHI+PHRkIGNs
YXNzPSJhdXRob3ItdGV4dCIgdmFsaWduPSJ0b3AiPjxhIG5hbWU9IkktRC5pZXRmLWhpcC1hcmNo
Ij5bSS1ELmlldGYtaGlwLWFyY2hdPC9hPjwvdGQ+DQo8dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij5N
b3Nrb3dpdHosIFIuIGFuZCBQLiBOaWthbmRlciwgJmxkcXVvOzxhIGhyZWY9Imh0dHA6Ly93d3cu
aWV0Zi5vcmcvaW50ZXJuZXQtZHJhZnRzL2RyYWZ0LWlldGYtaGlwLWFyY2gtMDMudHh0Ij5Ib3N0
IElkZW50aXR5IFByb3RvY29sIEFyY2hpdGVjdHVyZTwvYT4sJnJkcXVvOyBkcmFmdC1pZXRmLWhp
cC1hcmNoLTAzICh3b3JrIGluIHByb2dyZXNzKSwgQXVndXN0Jm5ic3A7MjAwNS48L3RkPjwvdHI+
DQo8dHI+PHRkIGNsYXNzPSJhdXRob3ItdGV4dCIgdmFsaWduPSJ0b3AiPjxhIG5hbWU9IkktRC5p
ZXRmLXNoaW02LWZhaWx1cmUtZGV0ZWN0aW9uIj5bSS1ELmlldGYtc2hpbTYtZmFpbHVyZS1kZXRl
Y3Rpb25dPC9hPjwvdGQ+DQo8dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij5BcmtrbywgSi4gYW5kIEku
IEJlaWpudW0sICZsZHF1bzs8YSBocmVmPSJodHRwOi8vd3d3LmlldGYub3JnL2ludGVybmV0LWRy
YWZ0cy9kcmFmdC1pZXRmLXNoaW02LWZhaWx1cmUtZGV0ZWN0aW9uLTAzLnR4dCI+RmFpbHVyZSBE
ZXRlY3Rpb24gYW5kIExvY2F0b3IgUGFpciBFeHBsb3JhdGlvbg0KCSAgUHJvdG9jb2wgZm9yIElQ
djYgTXVsdGlob21pbmc8L2E+LCZyZHF1bzsgZHJhZnQtaWV0Zi1zaGltNi1mYWlsdXJlLWRldGVj
dGlvbi0wMyAod29yayBpbiBwcm9ncmVzcyksIERlY2VtYmVyJm5ic3A7MjAwNSAoPGEgaHJlZj0i
aHR0cDovL3d3dy5pZXRmLm9yZy9pbnRlcm5ldC1kcmFmdHMvZHJhZnQtaWV0Zi1zaGltNi1mYWls
dXJlLWRldGVjdGlvbi0wMy50eHQiPlRYVDwvYT4sIDxhIGhyZWY9Imh0dHA6Ly93d3cuaWV0Zi5v
cmcvaW50ZXJuZXQtZHJhZnRzL2RyYWZ0LWlldGYtc2hpbTYtZmFpbHVyZS1kZXRlY3Rpb24tMDMu
cGRmIj5QREY8L2E+KS48L3RkPjwvdHI+DQo8dHI+PHRkIGNsYXNzPSJhdXRob3ItdGV4dCIgdmFs
aWduPSJ0b3AiPjxhIG5hbWU9IkktRC5pZXRmLXNoaW02LXByb3RvIj5bSS1ELmlldGYtc2hpbTYt
cHJvdG9dPC9hPjwvdGQ+DQo8dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij5CYWdudWxvLCBNLiBhbmQg
RS4gTm9yZG1hcmssICZsZHF1bzs8YSBocmVmPSJodHRwOi8vd3d3LmlldGYub3JnL2ludGVybmV0
LWRyYWZ0cy9kcmFmdC1pZXRmLXNoaW02LXByb3RvLTAzLnR4dCI+TGV2ZWwgMyBtdWx0aWhvbWlu
ZyBzaGltIHByb3RvY29sPC9hPiwmcmRxdW87IGRyYWZ0LWlldGYtc2hpbTYtcHJvdG8tMDMgKHdv
cmsgaW4gcHJvZ3Jlc3MpLCBEZWNlbWJlciZuYnNwOzIwMDUuPC90ZD48L3RyPg0KPHRyPjx0ZCBj
bGFzcz0iYXV0aG9yLXRleHQiIHZhbGlnbj0idG9wIj48YSBuYW1lPSJQT1NJWCI+W1BPU0lYXTwv
YT48L3RkPg0KPHRkIGNsYXNzPSJhdXRob3ItdGV4dCI+JmxkcXVvOzxhIGhyZWY9Imh0dHA6Ly93
d3cub3Blbmdyb3VwLm9yZy9hdXN0aW4iPklFRUUgU3RkLiAxMDAzLjEtMjAwMSBTdGFuZGFyZCBm
b3IgSW5mb3JtYXRpb24NCgkgIFRlY2hub2xvZ3kgLS0gUG9ydGFibGUgT3BlcmF0aW5nIFN5c3Rl
bSBJbnRlcmZhY2UNCgkgIChQT1NJWCkuIE9wZW4gZ3JvdXAgVGVjaG5pY2FsIFN0YW5kYXJkOiBC
YXNlIFNwZWNpZmljYXRpb25zLA0KCSAgSXNzdWUgNiwgaHR0cDovL3d3dy5vcGVuZ3JvdXAub3Jn
L2F1c3RpbjwvYT4sJnJkcXVvOyBEZWNlbWJlciZuYnNwOzIwMDEuPC90ZD48L3RyPg0KPHRyPjx0
ZCBjbGFzcz0iYXV0aG9yLXRleHQiIHZhbGlnbj0idG9wIj48YSBuYW1lPSJSRkMzNDkzIj5bUkZD
MzQ5M108L2E+PC90ZD4NCjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQiPkdpbGxpZ2FuLCBSLiwgVGhv
bXNvbiwgUy4sIEJvdW5kLCBKLiwgTWNDYW5uLCBKLiwgYW5kIFcuIFN0ZXZlbnMsICZsZHF1bzs8
YSBocmVmPSJmdHA6Ly9mdHAuaXNpLmVkdS9pbi1ub3Rlcy9yZmMzNDkzLnR4dCI+QmFzaWMgU29j
a2V0IEludGVyZmFjZSBFeHRlbnNpb25zIGZvciBJUHY2PC9hPiwmcmRxdW87IFJGQyZuYnNwOzM0
OTMsIEZlYnJ1YXJ5Jm5ic3A7MjAwMy48L3RkPjwvdHI+DQo8dHI+PHRkIGNsYXNzPSJhdXRob3It
dGV4dCIgdmFsaWduPSJ0b3AiPjxhIG5hbWU9IlJGQzM1NDIiPltSRkMzNTQyXTwvYT48L3RkPg0K
PHRkIGNsYXNzPSJhdXRob3ItdGV4dCI+U3RldmVucywgVy4sIFRob21hcywgTS4sIE5vcmRtYXJr
LCBFLiwgYW5kIFQuIEppbm1laSwgJmxkcXVvOzxhIGhyZWY9ImZ0cDovL2Z0cC5pc2kuZWR1L2lu
LW5vdGVzL3JmYzM1NDIudHh0Ij5BZHZhbmNlZCBTb2NrZXRzIEFwcGxpY2F0aW9uIFByb2dyYW0g
SW50ZXJmYWNlIChBUEkpDQoJICBmb3IgSVB2NjwvYT4sJnJkcXVvOyBSRkMmbmJzcDszNTQyLCBN
YXkmbmJzcDsyMDAzLjwvdGQ+PC90cj4NCjwvdGFibGU+DQoNCjxhIG5hbWU9InJmYy5yZWZlcmVu
Y2VzMiI+PC9hPjxiciAvPjxociAvPg0KPHRhYmxlIHN1bW1hcnk9ImxheW91dCIgY2VsbHBhZGRp
bmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBjbGFzcz0iYnVnIiBhbGlnbj0icmlnaHQiPjx0cj48dGQg
Y2xhc3M9ImJ1ZyI+PGEgaHJlZj0iI3RvYyIgY2xhc3M9ImxpbmsyIj4mbmJzcDtUT0MmbmJzcDs8
L2E+PC90ZD48L3RyPjwvdGFibGU+DQo8aDM+MTUuMi4mbmJzcDtJbmZvcm1hdGl2ZSBSZWZlcmVu
Y2VzPC9oMz4NCjx0YWJsZSB3aWR0aD0iOTklIiBib3JkZXI9IjAiPg0KPHRyPjx0ZCBjbGFzcz0i
YXV0aG9yLXRleHQiIHZhbGlnbj0idG9wIj48YSBuYW1lPSJJLUQuaWV0Zi1zaGltNi1hcHAtcmVm
ZXIiPltJLUQuaWV0Zi1zaGltNi1hcHAtcmVmZXJdPC9hPjwvdGQ+DQo8dGQgY2xhc3M9ImF1dGhv
ci10ZXh0Ij5Ob3JkbWFyaywgRS4sICZsZHF1bzs8YSBocmVmPSJodHRwOi8vd3d3LmlldGYub3Jn
L2ludGVybmV0LWRyYWZ0cy9kcmFmdC1pZXRmLXNoaW02LWFwcC1yZWZlci0wMC50eHQiPlNoaW02
IEFwcGxpY2F0aW9uIFJlZmVycmFsIElzc3VlczwvYT4sJnJkcXVvOyBkcmFmdC1pZXRmLXNoaW02
LWFwcC1yZWZlci0wMCAod29yayBpbiBwcm9ncmVzcyksIEp1bHkmbmJzcDsyMDA1LjwvdGQ+PC90
cj4NCjx0cj48dGQgY2xhc3M9ImF1dGhvci10ZXh0IiB2YWxpZ249InRvcCI+PGEgbmFtZT0iSS1E
LmlldGYtc2hpbTYtaGJhIj5bSS1ELmlldGYtc2hpbTYtaGJhXTwvYT48L3RkPg0KPHRkIGNsYXNz
PSJhdXRob3ItdGV4dCI+QmFnbnVsbywgTS4sICZsZHF1bzs8YSBocmVmPSJodHRwOi8vd3d3Lmll
dGYub3JnL2ludGVybmV0LWRyYWZ0cy9kcmFmdC1pZXRmLXNoaW02LWhiYS0wMS50eHQiPkhhc2gg
QmFzZWQgQWRkcmVzc2VzIChIQkEpPC9hPiwmcmRxdW87IGRyYWZ0LWlldGYtc2hpbTYtaGJhLTAx
ICh3b3JrIGluIHByb2dyZXNzKSwgT2N0b2JlciZuYnNwOzIwMDUuPC90ZD48L3RyPg0KPHRyPjx0
ZCBjbGFzcz0iYXV0aG9yLXRleHQiIHZhbGlnbj0idG9wIj48YSBuYW1lPSJJLUQubm9yZG1hcmst
c2hpbTYtZXNkIj5bSS1ELm5vcmRtYXJrLXNoaW02LWVzZF08L2E+PC90ZD4NCjx0ZCBjbGFzcz0i
YXV0aG9yLXRleHQiPk5vcmRtYXJrLCBFLiwgJmxkcXVvOzxhIGhyZWY9Imh0dHA6Ly93d3cuaWV0
Zi5vcmcvaW50ZXJuZXQtZHJhZnRzL2RyYWZ0LW5vcmRtYXJrLXNoaW02LWVzZC0wMC50eHQiPkV4
dGVuZGVkIFNoaW02IERlc2lnbiBmb3IgSUQvbG9jIHNwbGl0IGFuZCBUcmFmZmljDQoJICBFbmdp
bmVlcmluZzwvYT4sJnJkcXVvOyBkcmFmdC1ub3JkbWFyay1zaGltNi1lc2QtMDAgKHdvcmsgaW4g
cHJvZ3Jlc3MpLCBGZWJydWFyeSZuYnNwOzIwMDYuPC90ZD48L3RyPg0KPHRyPjx0ZCBjbGFzcz0i
YXV0aG9yLXRleHQiIHZhbGlnbj0idG9wIj48YSBuYW1lPSJSRkMzOTcyIj5bUkZDMzk3Ml08L2E+
PC90ZD4NCjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQiPkF1cmEsIFQuLCAmbGRxdW87PGEgaHJlZj0i
ZnRwOi8vZnRwLmlzaS5lZHUvaW4tbm90ZXMvcmZjMzk3Mi50eHQiPkNyeXB0b2dyYXBoaWNhbGx5
IEdlbmVyYXRlZCBBZGRyZXNzZXMgKENHQSk8L2E+LCZyZHF1bzsgUkZDJm5ic3A7Mzk3MiwgTWFy
Y2gmbmJzcDsyMDA1LjwvdGQ+PC90cj4NCjwvdGFibGU+DQoNCjxhIG5hbWU9InJmYy5hdXRob3Jz
Ij48L2E+PGJyIC8+PGhyIC8+DQo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGluZz0i
MCIgY2VsbHNwYWNpbmc9IjIiIGNsYXNzPSJidWciIGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFz
cz0iYnVnIj48YSBocmVmPSIjdG9jIiBjbGFzcz0ibGluazIiPiZuYnNwO1RPQyZuYnNwOzwvYT48
L3RkPjwvdHI+PC90YWJsZT4NCjxoMz5BdXRob3JzJyBBZGRyZXNzZXM8L2gzPg0KPHRhYmxlIHdp
ZHRoPSI5OSUiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIj4NCjx0
cj48dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij4mbmJzcDs8L3RkPg0KPHRkIGNsYXNzPSJhdXRob3It
dGV4dCI+TWlpa2EgS29tdTwvdGQ+PC90cj4NCjx0cj48dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij4m
bmJzcDs8L3RkPg0KPHRkIGNsYXNzPSJhdXRob3ItdGV4dCI+SGVsc2lua2kgSW5zdGl0dWUgZm9y
IEluZm9ybWF0aW9uDQogICAgICBUZWNobm9sb2d5PC90ZD48L3RyPg0KPHRyPjx0ZCBjbGFzcz0i
YXV0aG9yLXRleHQiPiZuYnNwOzwvdGQ+DQo8dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij5UYW1tYXNh
YXJlbmthdHUgMzwvdGQ+PC90cj4NCjx0cj48dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij4mbmJzcDs8
L3RkPg0KPHRkIGNsYXNzPSJhdXRob3ItdGV4dCI+SGVsc2lua2k8L3RkPjwvdHI+DQo8dHI+PHRk
IGNsYXNzPSJhdXRob3ItdGV4dCI+Jm5ic3A7PC90ZD4NCjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQi
PkZpbmxhbmQ8L3RkPjwvdHI+DQo8dHI+PHRkIGNsYXNzPSJhdXRob3IiIGFsaWduPSJyaWdodCI+
UGhvbmU6Jm5ic3A7PC90ZD4NCjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQiPiszNTg1MDM4NDE1MzE8
L3RkPjwvdHI+DQo8dHI+PHRkIGNsYXNzPSJhdXRob3IiIGFsaWduPSJyaWdodCI+RmF4OiZuYnNw
OzwvdGQ+DQo8dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij4rMzU4OTY5NDk3Njg8L3RkPjwvdHI+DQo8
dHI+PHRkIGNsYXNzPSJhdXRob3IiIGFsaWduPSJyaWdodCI+RW1haWw6Jm5ic3A7PC90ZD4NCjx0
ZCBjbGFzcz0iYXV0aG9yLXRleHQiPjxhIGhyZWY9Im1haWx0bzptaWlrYUBpa2kuZmkiPm1paWth
QGlraS5maTwvYT48L3RkPjwvdHI+DQo8dHI+PHRkIGNsYXNzPSJhdXRob3IiIGFsaWduPSJyaWdo
dCI+VVJJOiZuYnNwOzwvdGQ+DQo8dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij48YSBocmVmPSJodHRw
Oi8vd3d3LmhpaXQuZmkvIj5odHRwOi8vd3d3LmhpaXQuZmkvPC9hPjwvdGQ+PC90cj4NCjx0ciBj
ZWxscGFkZGluZz0iMyI+PHRkPiZuYnNwOzwvdGQ+PHRkPiZuYnNwOzwvdGQ+PC90cj4NCjx0cj48
dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij4mbmJzcDs8L3RkPg0KPHRkIGNsYXNzPSJhdXRob3ItdGV4
dCI+TWFyY2VsbyBCYWdudWxvPC90ZD48L3RyPg0KPHRyPjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQi
PiZuYnNwOzwvdGQ+DQo8dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij5Vbml2ZXJzaWRhZCBDYXJsb3Mg
SUlJIGRlDQogICAgICBNYWRyaWQ8L3RkPjwvdHI+DQo8dHI+PHRkIGNsYXNzPSJhdXRob3ItdGV4
dCI+Jm5ic3A7PC90ZD4NCjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQiPkF2LiBVbml2ZXJzaWRhZCAz
MDwvdGQ+PC90cj4NCjx0cj48dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij4mbmJzcDs8L3RkPg0KPHRk
IGNsYXNzPSJhdXRob3ItdGV4dCI+TGVnYW5lcyAgMjg5MTE8L3RkPjwvdHI+DQo8dHI+PHRkIGNs
YXNzPSJhdXRob3ItdGV4dCI+Jm5ic3A7PC90ZD4NCjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQiPlNQ
QUlOPC90ZD48L3RyPg0KPHRyPjx0ZCBjbGFzcz0iYXV0aG9yIiBhbGlnbj0icmlnaHQiPlBob25l
OiZuYnNwOzwvdGQ+DQo8dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij4rMzQgOTEgNjI0ODgzNzwvdGQ+
PC90cj4NCjx0cj48dGQgY2xhc3M9ImF1dGhvciIgYWxpZ249InJpZ2h0Ij5FbWFpbDombmJzcDs8
L3RkPg0KPHRkIGNsYXNzPSJhdXRob3ItdGV4dCI+PGEgaHJlZj0ibWFpbHRvOm1hcmNlbG9AaXQu
dWMzbS5lcyI+bWFyY2Vsb0BpdC51YzNtLmVzPC9hPjwvdGQ+PC90cj4NCjx0cj48dGQgY2xhc3M9
ImF1dGhvciIgYWxpZ249InJpZ2h0Ij5VUkk6Jm5ic3A7PC90ZD4NCjx0ZCBjbGFzcz0iYXV0aG9y
LXRleHQiPjxhIGhyZWY9Imh0dHA6Ly9pdC51YzNtLmVzL21hcmNlbG8iPmh0dHA6Ly9pdC51YzNt
LmVzL21hcmNlbG88L2E+PC90ZD48L3RyPg0KPHRyIGNlbGxwYWRkaW5nPSIzIj48dGQ+Jm5ic3A7
PC90ZD48dGQ+Jm5ic3A7PC90ZD48L3RyPg0KPHRyPjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQiPiZu
YnNwOzwvdGQ+DQo8dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij5LcmlzdGlhbiBTbGF2b3Y8L3RkPjwv
dHI+DQo8dHI+PHRkIGNsYXNzPSJhdXRob3ItdGV4dCI+Jm5ic3A7PC90ZD4NCjx0ZCBjbGFzcz0i
YXV0aG9yLXRleHQiPkVyaWNzc29uIFJlc2VhcmNoDQogICAgICBOb21hZGljbGFiPC90ZD48L3Ry
Pg0KPHRyPjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQiPiZuYnNwOzwvdGQ+DQo8dGQgY2xhc3M9ImF1
dGhvci10ZXh0Ij5IaXJzYWxhbnRpZSAxMTwvdGQ+PC90cj4NCjx0cj48dGQgY2xhc3M9ImF1dGhv
ci10ZXh0Ij4mbmJzcDs8L3RkPg0KPHRkIGNsYXNzPSJhdXRob3ItdGV4dCI+Sm9ydmFzICBGSS0w
MjQyMDwvdGQ+PC90cj4NCjx0cj48dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij4mbmJzcDs8L3RkPg0K
PHRkIGNsYXNzPSJhdXRob3ItdGV4dCI+RmlubGFuZDwvdGQ+PC90cj4NCjx0cj48dGQgY2xhc3M9
ImF1dGhvciIgYWxpZ249InJpZ2h0Ij5QaG9uZTombmJzcDs8L3RkPg0KPHRkIGNsYXNzPSJhdXRo
b3ItdGV4dCI+KzM1OCA5IDI5OSAzMjg2PC90ZD48L3RyPg0KPHRyPjx0ZCBjbGFzcz0iYXV0aG9y
IiBhbGlnbj0icmlnaHQiPkVtYWlsOiZuYnNwOzwvdGQ+DQo8dGQgY2xhc3M9ImF1dGhvci10ZXh0
Ij48YSBocmVmPSJtYWlsdG86a3Jpc3RpYW4uc2xhdm92QGVyaWNzc29uLmNvbSI+a3Jpc3RpYW4u
c2xhdm92QGVyaWNzc29uLmNvbTwvYT48L3RkPjwvdHI+DQo8dHIgY2VsbHBhZGRpbmc9IjMiPjx0
ZD4mbmJzcDs8L3RkPjx0ZD4mbmJzcDs8L3RkPjwvdHI+DQo8dHI+PHRkIGNsYXNzPSJhdXRob3It
dGV4dCI+Jm5ic3A7PC90ZD4NCjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQiPlNoaW50YSBTdWdpbW90
byAoZWRpdG9yKTwvdGQ+PC90cj4NCjx0cj48dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij4mbmJzcDs8
L3RkPg0KPHRkIGNsYXNzPSJhdXRob3ItdGV4dCI+TmlwcG9uIEVyaWNzc29uIEsuSy48L3RkPjwv
dHI+DQo8dHI+PHRkIGNsYXNzPSJhdXRob3ItdGV4dCI+Jm5ic3A7PC90ZD4NCjx0ZCBjbGFzcz0i
YXV0aG9yLXRleHQiPktvcmFrdSBNb3JpIEJ1aWxkaW5nPC90ZD48L3RyPg0KPHRyPjx0ZCBjbGFz
cz0iYXV0aG9yLXRleHQiPiZuYnNwOzwvdGQ+DQo8dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij4xLTQt
MTQsIEtvcmFrdSwgQnVua3lvLWt1PC90ZD48L3RyPg0KPHRyPjx0ZCBjbGFzcz0iYXV0aG9yLXRl
eHQiPiZuYnNwOzwvdGQ+DQo8dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij5Ub2t5byAgMTEyLTAwMDQ8
L3RkPjwvdHI+DQo8dHI+PHRkIGNsYXNzPSJhdXRob3ItdGV4dCI+Jm5ic3A7PC90ZD4NCjx0ZCBj
bGFzcz0iYXV0aG9yLXRleHQiPkphcGFuPC90ZD48L3RyPg0KPHRyPjx0ZCBjbGFzcz0iYXV0aG9y
IiBhbGlnbj0icmlnaHQiPlBob25lOiZuYnNwOzwvdGQ+DQo8dGQgY2xhc3M9ImF1dGhvci10ZXh0
Ij4rODEgMyAzODMwIDIyNDE8L3RkPjwvdHI+DQo8dHI+PHRkIGNsYXNzPSJhdXRob3IiIGFsaWdu
PSJyaWdodCI+RW1haWw6Jm5ic3A7PC90ZD4NCjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQiPjxhIGhy
ZWY9Im1haWx0bzpzaGludGEuc3VnaW1vdG9AZXJpY3Nzb24uY29tIj5zaGludGEuc3VnaW1vdG9A
ZXJpY3Nzb24uY29tPC9hPjwvdGQ+PC90cj4NCjwvdGFibGU+DQo8YSBuYW1lPSJyZmMuY29weXJp
Z2h0Ij48L2E+PGJyIC8+PGhyIC8+DQo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGlu
Zz0iMCIgY2VsbHNwYWNpbmc9IjIiIGNsYXNzPSJidWciIGFsaWduPSJyaWdodCI+PHRyPjx0ZCBj
bGFzcz0iYnVnIj48YSBocmVmPSIjdG9jIiBjbGFzcz0ibGluazIiPiZuYnNwO1RPQyZuYnNwOzwv
YT48L3RkPjwvdHI+PC90YWJsZT4NCjxoMz5JbnRlbGxlY3R1YWwgUHJvcGVydHkgU3RhdGVtZW50
PC9oMz4NCjxwIGNsYXNzPSdjb3B5cmlnaHQnPg0KVGhlIElFVEYgdGFrZXMgbm8gcG9zaXRpb24g
cmVnYXJkaW5nIHRoZSB2YWxpZGl0eSBvciBzY29wZSBvZiBhbnkNCkludGVsbGVjdHVhbCBQcm9w
ZXJ0eSBSaWdodHMgb3Igb3RoZXIgcmlnaHRzIHRoYXQgbWlnaHQgYmUgY2xhaW1lZA0KdG8gcGVy
dGFpbiB0byB0aGUgaW1wbGVtZW50YXRpb24gb3IgdXNlIG9mIHRoZSB0ZWNobm9sb2d5DQpkZXNj
cmliZWQgaW4gdGhpcyBkb2N1bWVudCBvciB0aGUgZXh0ZW50IHRvIHdoaWNoIGFueSBsaWNlbnNl
DQp1bmRlciBzdWNoIHJpZ2h0cyBtaWdodCBvciBtaWdodCBub3QgYmUgYXZhaWxhYmxlOyBub3Ig
ZG9lcyBpdA0KcmVwcmVzZW50IHRoYXQgaXQgaGFzIG1hZGUgYW55IGluZGVwZW5kZW50IGVmZm9y
dCB0byBpZGVudGlmeSBhbnkNCnN1Y2ggcmlnaHRzLg0KSW5mb3JtYXRpb24gb24gdGhlIHByb2Nl
ZHVyZXMgd2l0aCByZXNwZWN0IHRvDQpyaWdodHMgaW4gUkZDIGRvY3VtZW50cyBjYW4gYmUgZm91
bmQgaW4gQkNQJm5ic3A7NzggYW5kIEJDUCZuYnNwOzc5LjwvcD4NCjxwIGNsYXNzPSdjb3B5cmln
aHQnPg0KQ29waWVzIG9mIElQUiBkaXNjbG9zdXJlcyBtYWRlIHRvIHRoZSBJRVRGIFNlY3JldGFy
aWF0IGFuZCBhbnkNCmFzc3VyYW5jZXMgb2YgbGljZW5zZXMgdG8gYmUgbWFkZSBhdmFpbGFibGUs
DQpvciB0aGUgcmVzdWx0IG9mIGFuIGF0dGVtcHQgbWFkZSB0byBvYnRhaW4gYSBnZW5lcmFsIGxp
Y2Vuc2Ugb3INCnBlcm1pc3Npb24gZm9yIHRoZSB1c2Ugb2Ygc3VjaCBwcm9wcmlldGFyeSByaWdo
dHMgYnkgaW1wbGVtZW50ZXJzIG9yDQp1c2VycyBvZiB0aGlzIHNwZWNpZmljYXRpb24gY2FuIGJl
IG9idGFpbmVkIGZyb20gdGhlIElFVEYgb24tbGluZSBJUFINCnJlcG9zaXRvcnkgYXQgPGEgaHJl
Zj0naHR0cDovL3d3dy5pZXRmLm9yZy9pcHInPmh0dHA6Ly93d3cuaWV0Zi5vcmcvaXByPC9hPi48
L3A+DQo8cCBjbGFzcz0nY29weXJpZ2h0Jz4NClRoZSBJRVRGIGludml0ZXMgYW55IGludGVyZXN0
ZWQgcGFydHkgdG8gYnJpbmcgdG8gaXRzIGF0dGVudGlvbg0KYW55IGNvcHlyaWdodHMsDQpwYXRl
bnRzIG9yIHBhdGVudCBhcHBsaWNhdGlvbnMsDQpvciBvdGhlcg0KcHJvcHJpZXRhcnkgcmlnaHRz
IHRoYXQgbWF5IGNvdmVyIHRlY2hub2xvZ3kgdGhhdCBtYXkgYmUgcmVxdWlyZWQNCnRvIGltcGxl
bWVudCB0aGlzIHN0YW5kYXJkLg0KUGxlYXNlIGFkZHJlc3MgdGhlIGluZm9ybWF0aW9uIHRvIHRo
ZSBJRVRGIGF0IDxhIGhyZWY9J21haWx0bzppZXRmLWlwckBpZXRmLm9yZyc+aWV0Zi1pcHJAaWV0
Zi5vcmc8L2E+LjwvcD4NCjxoMz5EaXNjbGFpbWVyIG9mIFZhbGlkaXR5PC9oMz4NCjxwIGNsYXNz
PSdjb3B5cmlnaHQnPg0KVGhpcyBkb2N1bWVudCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5l
ZCBoZXJlaW4gYXJlIHByb3ZpZGVkDQpvbiBhbiAmbGRxdW87QVMgSVMmcmRxdW87IGJhc2lzIGFu
ZCBUSEUgQ09OVFJJQlVUT1IsDQpUSEUgT1JHQU5JWkFUSU9OIEhFL1NIRSBSRVBSRVNFTlRTIE9S
IElTIFNQT05TT1JFRCBCWSAoSUYgQU5ZKSwNClRIRSBJTlRFUk5FVCBTT0NJRVRZIEFORCBUSEUg
SU5URVJORVQgRU5HSU5FRVJJTkcgVEFTSyBGT1JDRSBESVNDTEFJTQ0KQUxMIFdBUlJBTlRJRVMs
DQpFWFBSRVNTIE9SIElNUExJRUQsDQpJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIEFOWSBX
QVJSQU5UWSBUSEFUIFRIRSBVU0UgT0YgVEhFDQpJTkZPUk1BVElPTiBIRVJFSU4gV0lMTCBOT1Qg
SU5GUklOR0UgQU5ZIFJJR0hUUyBPUiBBTlkgSU1QTElFRA0KV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgT1IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuPC9wPg0KPGgzPkNv
cHlyaWdodCBTdGF0ZW1lbnQ8L2gzPg0KPHAgY2xhc3M9J2NvcHlyaWdodCc+DQpDb3B5cmlnaHQg
JmNvcHk7IFRoZSBJbnRlcm5ldCBTb2NpZXR5ICgyMDA2KS4NClRoaXMgZG9jdW1lbnQgaXMgc3Vi
amVjdCB0byB0aGUgcmlnaHRzLA0KbGljZW5zZXMgYW5kIHJlc3RyaWN0aW9ucyBjb250YWluZWQg
aW4gQkNQJm5ic3A7NzgsDQphbmQgZXhjZXB0IGFzIHNldCBmb3J0aCB0aGVyZWluLA0KdGhlIGF1
dGhvcnMgcmV0YWluIGFsbCB0aGVpciByaWdodHMuPC9wPg0KPGgzPkFja25vd2xlZGdtZW50PC9o
Mz4NCjxwIGNsYXNzPSdjb3B5cmlnaHQnPg0KRnVuZGluZyBmb3IgdGhlIFJGQyBFZGl0b3IgZnVu
Y3Rpb24gaXMgY3VycmVudGx5IHByb3ZpZGVkIGJ5IHRoZQ0KSW50ZXJuZXQgU29jaWV0eS48L3A+
DQo8L2JvZHk+PC9odG1sPg0K
--------_448E5958A51705AF7058_MULTIPART_MIXED_
Content-Type: application/octet-stream;
	name="draft-sugimoto-multihome-shim-api-00.txt"
Content-Disposition: attachment;
	filename="draft-sugimoto-multihome-shim-api-00.txt"
Content-Transfer-Encoding: base64

DQoNCg0KTmV0d29yayBXb3JraW5nIEdyb3VwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBNLiBLb211DQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhJSVQNCkV4cGlyZXM6IEF1Z3VzdCA1
LCAyMDA2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTS4gQmFnbnVsbw0K
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBVQzNNDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBLLiBTbGF2b3YNCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUy4gU3VnaW1vdG8sIEVkLg0KICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IEVyaWNzc29uDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDYNCg0KDQogICAgIFNvY2tldCBBcHBsaWNhdGlvbiBQ
cm9ncmFtIEludGVyZmFjZSAoQVBJKSBmb3IgTXVsdGlob21lZCBTaGltDQogICAgICAgICAgICAg
ICAgICBkcmFmdC1zdWdpbW90by1tdWx0aWhvbWUtc2hpbS1hcGktMDANCg0KU3RhdHVzIG9mIHRo
aXMgTWVtbw0KDQogICBCeSBzdWJtaXR0aW5nIHRoaXMgSW50ZXJuZXQtRHJhZnQsIGVhY2ggYXV0
aG9yIHJlcHJlc2VudHMgdGhhdCBhbnkNCiAgIGFwcGxpY2FibGUgcGF0ZW50IG9yIG90aGVyIElQ
UiBjbGFpbXMgb2Ygd2hpY2ggaGUgb3Igc2hlIGlzIGF3YXJlDQogICBoYXZlIGJlZW4gb3Igd2ls
bCBiZSBkaXNjbG9zZWQsIGFuZCBhbnkgb2Ygd2hpY2ggaGUgb3Igc2hlIGJlY29tZXMNCiAgIGF3
YXJlIHdpbGwgYmUgZGlzY2xvc2VkLCBpbiBhY2NvcmRhbmNlIHdpdGggU2VjdGlvbiA2IG9mIEJD
UCA3OS4NCg0KICAgSW50ZXJuZXQtRHJhZnRzIGFyZSB3b3JraW5nIGRvY3VtZW50cyBvZiB0aGUg
SW50ZXJuZXQgRW5naW5lZXJpbmcNCiAgIFRhc2sgRm9yY2UgKElFVEYpLCBpdHMgYXJlYXMsIGFu
ZCBpdHMgd29ya2luZyBncm91cHMuICBOb3RlIHRoYXQNCiAgIG90aGVyIGdyb3VwcyBtYXkgYWxz
byBkaXN0cmlidXRlIHdvcmtpbmcgZG9jdW1lbnRzIGFzIEludGVybmV0LQ0KICAgRHJhZnRzLg0K
DQogICBJbnRlcm5ldC1EcmFmdHMgYXJlIGRyYWZ0IGRvY3VtZW50cyB2YWxpZCBmb3IgYSBtYXhp
bXVtIG9mIHNpeCBtb250aHMNCiAgIGFuZCBtYXkgYmUgdXBkYXRlZCwgcmVwbGFjZWQsIG9yIG9i
c29sZXRlZCBieSBvdGhlciBkb2N1bWVudHMgYXQgYW55DQogICB0aW1lLiAgSXQgaXMgaW5hcHBy
b3ByaWF0ZSB0byB1c2UgSW50ZXJuZXQtRHJhZnRzIGFzIHJlZmVyZW5jZQ0KICAgbWF0ZXJpYWwg
b3IgdG8gY2l0ZSB0aGVtIG90aGVyIHRoYW4gYXMgIndvcmsgaW4gcHJvZ3Jlc3MuIg0KDQogICBU
aGUgbGlzdCBvZiBjdXJyZW50IEludGVybmV0LURyYWZ0cyBjYW4gYmUgYWNjZXNzZWQgYXQNCiAg
IGh0dHA6Ly93d3cuaWV0Zi5vcmcvaWV0Zi8xaWQtYWJzdHJhY3RzLnR4dC4NCg0KICAgVGhlIGxp
c3Qgb2YgSW50ZXJuZXQtRHJhZnQgU2hhZG93IERpcmVjdG9yaWVzIGNhbiBiZSBhY2Nlc3NlZCBh
dA0KICAgaHR0cDovL3d3dy5pZXRmLm9yZy9zaGFkb3cuaHRtbC4NCg0KICAgVGhpcyBJbnRlcm5l
dC1EcmFmdCB3aWxsIGV4cGlyZSBvbiBBdWd1c3QgNSwgMjAwNi4NCg0KQ29weXJpZ2h0IE5vdGlj
ZQ0KDQogICBDb3B5cmlnaHQgKEMpIFRoZSBJbnRlcm5ldCBTb2NpZXR5ICgyMDA2KS4NCg0KQWJz
dHJhY3QNCg0KICAgVGhpcyBkb2N1bWVudCBzcGVjaWZpZXMgYSBzb2NrZXQgQVBJIGZvciBtdWx0
aWhvbWVkIHNoaW0gbGF5ZXIuICBUaGUNCiAgIEFQSSBhaW1zIHRvIGVuYWJsZSBpbnRlcmFjdGlv
bnMgYmV0d2VlbiBhcHBsaWNhdGlvbiBhbmQgdGhlDQogICBtdWx0aWhvbWluZyBzaGltIGxheWVy
IGZvciBhZHZhbmNlZCBsb2NhdG9yIG1hbmFnZW1lbnQgYW5kIGludGVyZmFjZQ0KICAgdG8gYWNj
ZXNzIGluZm9ybWF0aW9uIGFib3V0IGZhaWx1cmUgZGV0ZWN0aW9uIGFuZCBwYXRoIGV4cGxvcmF0
aW9uLg0KDQoNCg0KS29tdSwgZXQgYWwuICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDUsIDIw
MDYgICAgICAgICAgICAgICAgIFtQYWdlIDFdDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAg
ICBNdWx0aWhvbWVkIFNoaW0gQVBJICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDYNCg0KDQogICBU
aGlzIGRvY3VtZW50IGlzIGJhc2VkIG9uIGFuIGFzc3VtcHRpb24gdGhhdCBhIG11bHRob21lZCBo
b3N0IGlzDQogICBlcXVpcHBlZCB3aXRoIGEgJ3NoaW0nIHdoaWNoIGVzc2VudGlhbGx5IG1haW50
YWlucyBtYXBwaW5nIG9mDQogICBpZGVudGlmaWVyIGFuZCBsb2NhdG9yIGF0IHRoZSBJUCBsYXll
ci4gIFNISU02IGFuZCBISVAgYXJlIGV4YW1wbGVzDQogICBvZiB0aGUgc2hpbS4gIEhlbmNlLCB0
aGUgQVBJIGNhbiBiZSBjb21tb25seSB1c2VkIGJ5IFNISU02IGFuZCBISVAuDQoNCg0KVGFibGUg
b2YgQ29udGVudHMNCg0KICAgMS4gIEludHJvZHVjdGlvbiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICA0DQogICAyLiAgVGFyZ2V0IC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDUNCiAgIDMuICBU
ZXJtaW5vbG9neSAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAgNg0KICAgNC4gIFN5c3RlbSBPdmVydmlldyAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuICA4DQogICA1LiAgUmVxdWlyZW1lbnRzIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDkNCiAgIDYuICBTb2NrZXQg
T3B0aW9ucyBmb3IgTXVsdGlob21lZCBTaGltIExheWVyIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAx
MQ0KICAgICA2LjEuICBTSElNX0FTU09DSUFURUQgIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIDE0DQogICAgIDYuMi4gIFNISU1fRE9OVFNISU0gIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gMTUNCiAgICAgNi4zLiAgU0hJTV9IT1Rf
U1RBTkRCWSAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAxNQ0KICAg
ICA2LjQuICBTSElNX1BBVEhFWFBMT1JFIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIDE1DQogICAgIDYuNS4gIFNISU1fTE9DX0xPQ0FMX1BSRUYgIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gMTYNCiAgICAgNi42LiAgU0hJTV9MT0NfUEVFUl9Q
UkVGIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAxNg0KICAgICA2Ljcu
ICBTSElNX0xPQ19MT0NBTF9SRUNWICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIDE2DQogICAgIDYuOC4gIFNISU1fTE9DX1BFRVJfUkVDViAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gMTcNCiAgICAgNi45LiAgU0hJTV9MT0NMSVNUX0xPQ0FMIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAxNw0KICAgICA2LjEwLiBTSElN
X0xPQ0xJU1RfUkVNT1RFICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIDE3
DQogICAgIDYuMTEuIFNISU1fVElNRVJfS0VFUEFMSVZFIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gMTgNCiAgICAgNi4xMi4gU0hJTV9GRUVEQkFDS19QT1NJVElWRSAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAxOA0KICAgICA2LjEzLiBTSElNX0ZFRURC
QUNLX05FR0FUSVZFIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIDE4DQogICAg
IDYuMTQuIFNISU1fSUZfUkVDViAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gMTkNCiAgICAgNi4xNS4gU0hJTV9JRl9TRU5EIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAxOQ0KICAgICA2LjE2LiBFcnJvciBIYW5kbGluZyAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIDE5DQogICA3LiAgQWNj
ZXNzIHRvIExvY2F0b3IgSW5mb3JtYXRpb24gIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gMjENCiAgICAgNy4xLiAgR2V0IExvY2F0b3IgSW5mb3JtYXRpb24gZnJvbSBJbmNvbWluZyBQ
YWNrZXQgLiAuIC4gLiAuIC4gLiAyMg0KICAgICA3LjIuICBTcGVjaWZ5IExvY2F0b3IgSW5mb3Jt
YXRpb24gZm9yIE91dGdvaW5nIFBhY2tldCAgLiAuIC4gLiAuIDIyDQogICA4LiAgRGF0YSBTdHJ1
Y3R1cmVzICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gMjQN
CiAgICAgOC4xLiAgUGxhY2Vob2xkZXIgZm9yIExvY2F0b3IgSW5mb3JtYXRpb24gIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAyNA0KICAgICAgIDguMS4xLiAgYWRkcmluZm8gc3RydWN0dXJlIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIDI0DQogICAgICAgOC4xLjIuICBzb2NrYWRk
cl9zdG9yYWdlIHN0cnVjdHVyZSAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gMjQNCiAgIDku
ICBJbXBsaWNhdGlvbnMgZm9yIEV4aXN0aW5nIFNvY2tldCBBUEkgRXh0ZW5zaW9ucyAgLiAuIC4g
LiAuIC4gLiAyNg0KICAgMTAuIERpc2N1c3Npb24gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIDI3DQogICAgIDEwLjEuIElzc3VlcyB3aXRoIGEgQ29u
dGV4dCBTaGFyZWQgYnkgQXBwbGljYXRpb25zIC4gLiAuIC4gLiAuIC4gMjcNCiAgICAgMTAuMi4g
SXNzdWVzIG9mIEhhbmRsaW5nIE11bHRpcGxlIExvY2F0b3JzIHdpdGggU2hpbSBVbmF3YXJlDQog
ICAgICAgICAgIEFwcGxpY2F0aW9ucyAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gMjcNCiAgICAgICAxMC4yLjEuIFNoaW0gVW5hd2FyZSBBcHBsaWNhdGlvbiBN
YWtpbmcgSW5pdGlhbCBDb250YWN0ICAuIC4gLiAyNw0KICAgICAgIDEwLjIuMi4gTmFtaW5nIGF0
IFNvY2tldCBMYXllciAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIDI5DQogICAgIDEw
LjMuIElzc3VlcyBvZiBIYW5kbGluZyBNdWx0aXBsZSBMb2NhdG9ycyB3aXRoIFNoaW0gQXdhcmUN
CiAgICAgICAgICAgQXBwbGljYXRpb25zIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAyOQ0KICAgICAxMC40LiBBZGRpdGlvbmFsIFJlcXVpcmVtZW50cyBmcm9t
IEFwcGxpY2F0aW9uIC4gLiAuIC4gLiAuIC4gLiAuIDI5DQogICAxMS4gSUFOQSBDb25zaWRlcmF0
aW9ucyAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gMzANCg0KDQoN
CktvbXUsIGV0IGFsLiAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCA1LCAyMDA2ICAgICAgICAg
ICAgICAgICBbUGFnZSAyXQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgTXVsdGlob21l
ZCBTaGltIEFQSSAgICAgICAgICAgICBGZWJydWFyeSAyMDA2DQoNCg0KICAgMTIuIFNlY3VyaXR5
IENvbnNpZGVyYXRpb25zICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIDMx
DQogICAxMy4gQ29uY2x1c2lvbiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gMzINCiAgIDE0LiBBY2tub3dsZWRnbWVudHMgIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAzMw0KICAgMTUuIFJlZmVyZW5jZXMgLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIDM0DQogICAg
IDE1LjEuIE5vcm1hdGl2ZSBSZWZlcmVuY2VzIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gMzQNCiAgICAgMTUuMi4gSW5mb3JtYXRpdmUgUmVmZXJlbmNlcyAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAzNA0KICAgQXV0aG9ycycgQWRkcmVzc2VzIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIDM2DQogICBJbnRlbGxl
Y3R1YWwgUHJvcGVydHkgYW5kIENvcHlyaWdodCBTdGF0ZW1lbnRzIC4gLiAuIC4gLiAuIC4gLiAu
IC4gMzcNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0K
DQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KS29tdSwgZXQgYWwuICAgICAgICAg
ICAgIEV4cGlyZXMgQXVndXN0IDUsIDIwMDYgICAgICAgICAgICAgICAgIFtQYWdlIDNdDQoMDQpJ
bnRlcm5ldC1EcmFmdCAgICAgICAgICAgICBNdWx0aWhvbWVkIFNoaW0gQVBJICAgICAgICAgICAg
IEZlYnJ1YXJ5IDIwMDYNCg0KDQoxLiAgSW50cm9kdWN0aW9uDQoNCiAgIFRoaXMgZG9jdW1lbnQg
c3BlY2lmaWVzIGEgc29ja2V0IEFQSSBmb3IgbXVsdGlob21lZCBzaGltIGxheWVyLiAgVGhlDQog
ICBBUEkgYWltcyB0byBlbmFibGUgaW50ZXJhY3Rpb25zIGJldHdlZW4gYXBwbGljYXRpb24gYW5k
IHRoZQ0KICAgbXVsdGlob21pbmcgc2hpbSBsYXllciBmb3IgYWR2YW5jZWQgbG9jYXRvciBtYW5h
Z2VtZW50IGFuZCBpbnRlcmZhY2UNCiAgIHRvIGFjY2VzcyBpbmZvcm1hdGlvbiBhYm91dCBmYWls
dXJlIGRldGVjdGlvbiBhbmQgcGF0aCBleHBsb3JhdGlvbi4NCg0KICAgVGhpcyBkb2N1bWVudCBp
cyBiYXNlZCBvbiBhbiBhc3N1bXB0aW9uIHRoYXQgYSBtdWx0aG9tZWQgaG9zdCBpcw0KICAgZXF1
aXBwZWQgd2l0aCBhICdzaGltJyB3aGljaCBlc3NlbnRpYWxseSBtYWludGFpbnMgbWFwcGluZyBv
Zg0KICAgaWRlbnRpZmllciBhbmQgbG9jYXRvciBhdCB0aGUgSVAgbGF5ZXIuICBTSElNNiBhbmQg
SElQIGFyZSBleGFtcGxlcw0KICAgb2YgdGhlIHNoaW0uICBIZW5jZSwgdGhlIEFQSSBjYW4gYmUg
Y29tbW9ubHkgdXNlZCBieSBTSElNNiBhbmQgSElQLg0KDQogICBXZSBzdWdnZXN0IHRoYXQgdGhl
IElEL0xvY2F0b3IgYWRhcHRhdGlvbiBpcyBkb25lIG9ubHkgb25jZSBpbnNpZGUNCiAgIHRoZSBu
ZXR3b3JrIHN0YWNrLiAgSW4gb3RoZXIgd29yZHMsIGlmIHRoZXJlIGV4aXN0IG11bHRpcGxlIHNo
aW0NCiAgIHByb3RvY29scyBhdCB0aGUgSVAgbGF5ZXIsIGFueSBvbmUgb2YgdGhlbSBzaG91bGQg
YmUgZXhjbHVzaXZlbHkNCiAgIGFwcGxpZWQgZm9yIGEgZ2l2ZW4gZmxvdy4NCg0KICAgV2UgdHJ5
IHRvIG1ha2UgdGhpcyBkb2N1bWVudCBiZSBpbiBsaW5lIHdpdGggUG9zaXguMWcgW1BPU0lYXSBh
cyBtdWNoDQogICBhcyBwb3NzaWJsZS4gIEFuZCB0aGUgQVBJIGRlZmluZXMgaG93IHRvIHVzZSBh
bmNpbGxhcnkgZGF0YSAoYWthDQogICBjbXNnKSB0byBhY2Nlc3MgbG9jYXRvciBpbmZvcm1hdGlv
biB3aXRoIHJlY3Ztc2coKSBhbmQvb3Igc2VuZG1zZygpDQogICBJL08gY2FsbHMuICBEZWZpbml0
aW9uIG9mIEFQSSBpcyBwcmVzZW50ZWQgaW4gQyBsYW5ndWFnZSBhbmQgZGF0YQ0KICAgdHlwZXMg
Zm9sbG93IFBvc2l4LjFnIGZvcm1hdDogaW50Tl90IG1lYW5zIGEgc2luZ2VkIGludGVnZXIgb2YN
CiAgIGV4YWN0bHkgTiBiaXRzIChlLmcuIGludDE2X3QpIGFuZCB1aW50Tl90IG1lYW5zIGFuIHVu
c2lnbmVkIGludGVnZXINCiAgIG9mIGV4YWN0bHkgTiBiaXRzIChlLmcuIHVpbnQzMl90KS4NCg0K
DQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCktvbXUs
IGV0IGFsLiAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCA1LCAyMDA2ICAgICAgICAgICAgICAg
ICBbUGFnZSA0XQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgTXVsdGlob21lZCBTaGlt
IEFQSSAgICAgICAgICAgICBGZWJydWFyeSAyMDA2DQoNCg0KMi4gIFRhcmdldA0KDQogICBQcmlt
YXJ5IHRhcmdldCByZWFkZXIgb2YgdGhpcyBkb2N1bWVudCBpcyBhcHBsaWNhdGlvbiBwcm9ncmFt
bWVyIHdobw0KICAgZGV2ZWxvcHMgYXBwbGljYXRpb24gc29mdHdhcmUgd2hpY2ggbWF5IHJ1biBv
biB0b3Agb2YgbXVsdGlob21lZA0KICAgZW52aXJvbm1lbnQuICBJbiBwYXJ0aWN1bGFyLCB0aGUg
QVBJIHNob3VsZCBiZSBiZW5lZmljaWFsIGZvcg0KICAgYXBwbGljYXRpb24gZGV2ZWxvcG1lbnQg
b2YgdGhlIHNvZnR3YXJlIHdoaWNoIHRha2VzIGFkdmFudGFnZSBvZg0KICAgbXVsdGlob21lZCBl
bnZpcm9ubWVudCBhaW1pbmcgdG8gYWNoaWV2ZSBiZXR0ZXIgZmFpbG92ZXIuDQoNCiAgIFNlY29u
ZGx5LCB0aGlzIGRvY3VtZW50IHNob3VsZCBiZSBvZiBpbnRlcmVzdCBmb3IgdGhlIGRldmVsb3Bl
cnMgb2YgYQ0KICAgZ2l2ZW4gcHJvdG9jb2wgc3RhY2sgZm9yIHRoZSBzaGltIGxheWVyIChlLmcu
ICBTSElNNiBhbmQgSElQKS4gIFRoaXMNCiAgIGlzIGJlY2F1c2UgdGhpcyBkb2N1bWVudCBzcGVj
aWZpZXMgd2hhdCBraW5kcyBvZiBpbmZvcm1hdGlvbiBleGNoYW5nZQ0KICAgc2hvdWxkIGJlIHBv
c3NpYmxlIGJldHdlZW4gdGhlIGFwcGxpY2F0aW9uIGFuZCB0aGUgc2hpbSBsYXllci4NCg0KDQoN
Cg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0K
DQoNCg0KDQoNCg0KDQoNCktvbXUsIGV0IGFsLiAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCA1
LCAyMDA2ICAgICAgICAgICAgICAgICBbUGFnZSA1XQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAg
ICAgICAgTXVsdGlob21lZCBTaGltIEFQSSAgICAgICAgICAgICBGZWJydWFyeSAyMDA2DQoNCg0K
My4gIFRlcm1pbm9sb2d5DQoNCiAgIFRoaXMgZG9jdW1lbnQgZG9lcyBub3QgaW50ZW5kIHRvIGdp
dmUgbmV3IGRlZmluaXRpb25zIGZvciB0ZWNobmljYWwNCiAgIHRlcm1zIHRoYXQgYXJlIHJlbGV2
YW50IHRvIG11bHRpaG9tZWQgZW52aXJvbm1lbnQgYnV0IHRyaWVzIHRvDQogICBpbmhlcml0IGRl
ZmluaXRpb25zIHByb3ZpZGVkIGluIHRoZSBleGlzdGluZyBkb2N1bWVudHMgYXMgbGlzdGVkDQog
ICBiZWxvdzoNCg0KICAgbyAgU0hJTTYgUHJvdG9jb2wgU3BlY2lmaWNhdGlvbltJLUQuaWV0Zi1z
aGltNi1wcm90b10NCg0KICAgbyAgSElQIEFyY2hpdGVjdHVyZVtJLUQuaWV0Zi1oaXAtYXJjaF0N
Cg0KICAgbyAgUmVhY2hhYmlsaXR5IFByb3RvY29sIChSRUFQKVtJLUQuaWV0Zi1zaGltNi1mYWls
dXJlLWRldGVjdGlvbl0NCg0KICAgRm9yIGNsYXJpZmljYXRpb24sIHdlIHByb3ZpZGUgZGVmaW5p
dGlvbiBmb3IgdGhlIHRlcm1zIHRoYXQgYXJlDQogICBmcmVxdWVudGx5IHVzZWQgaW4gdGhpcyBk
b2N1bWVudDoNCg0KICAgbyAgRW5kcG9pbnQgSWRlbnRpZmllciAoRUlEKSAtIEFuIGlkZW50aWZp
ZXIgdXNlZCBieSB0aGUgYXBwbGljYXRpb24NCiAgICAgIHRvIHNwZWNpZnkgYW4gZW5kcG9pbnQg
b2YgdGhlIGNvbW11bmljYXRpb24uICBBcyBhZGRyZXNzZWQgaW4NCiAgICAgIFtJLUQuaWV0Zi1z
aGltNi1hcHAtcmVmZXJdLCBhcHBsaWNhdGlvbiBtYXkgaGFuZGxlIEVJRCBpbiB2YXJpb3VzDQog
ICAgICB3YXlzIGluIGRpZmZlcmVudCB0eXBlcyBvZiBjb21tdW5pY2F0aW9uIG1vZGVscyBzdWNo
IGFzIGxvbmctbGl2ZWQNCiAgICAgIGNvbm5lY3Rpb24sIGNhbGxiYWNrLCBhbmQgcmVmZXJyYWwu
DQoNCiAgICAgICogIEluIGNhc2Ugb2YgU0hJTTYsIHRoZSBFSUQgaXMgY2FsbGVkIFVMSUQuICBV
TElEIGlzIGNob3NlbiBmcm9tDQogICAgICAgICBvbmUgb2YgYXZhaWxhYmxlIGxvY2F0b3JzIG9u
IHRoZSBob3N0Lg0KDQogICAgICAqICBJbiBjYXNlIG9mIEhJUCwgdGhlIEVJRCBpcyBlc3NlbnRp
YWxseSBhIHB1YmxpYyBrZXkgb2YgdGhlDQogICAgICAgICBob3N0LiAgSW4gb3JkZXIgdG8gcHJl
c2VydmUgYmFja3dhcmQgY29tcGF0aWJpbGl0eSBvZiBsZWdhY3kNCiAgICAgICAgIGFwcGxpY2F0
aW9uLCBoYXNoIG9mIHB1YmxpYyBrZXkgY2FsbGVkIEhvc3QgSWRlbnRpdHkgVGFnIChISVQpDQog
ICAgICAgICBpcyB1c2VkIGJ5IGFwcGxpY2F0aW9uIGFzIGEgaGFuZGxlciBmb3IgdGhlIEVJRC4N
Cg0KICAgbyAgTG9jYXRvciAtIEFuIElQIGFkZHJlc3MgYWN0dWFsbHkgdXNlZCB0byBkZWxpdmVy
IHRoZSBJUCBwYWNrZXQuDQogICAgICBMb2NhdG9yIHNob3VsZCBiZSBwcmVzZW50IGluIHRoZSBz
b3VyY2UgYW5kIGRlc3RpbmF0aW9uIGZpZWxkIG9mDQogICAgICBJUCBoZWFkZXIgb2YgYSBwYWNr
ZXQgdGhhdCBhcHBlYXJzIG9uIHdpcmUuICBOb3JtYWxseSwgYSBsb2NhdG9yDQogICAgICBpcyBh
c3NpZ25lZCB0byB0aGUgbmV0d29yayBpbnRlcmZhY2Ugb2YgdGhlIGhvc3QuICBBbmQgdGhlIElQ
DQogICAgICBwYWNrZXQgZGVzdGluZWQgdG8gYSBnaXZlbiBsb2NhdG9yIGlzIGRlbGl2ZXJlZCB0
byB0aGUNCiAgICAgIGNvcnJlc3BvbmRlbnQgbmV0d29yayBpbnRlcmZhY2UgYnkgdGhlIHJvdXRp
bmcgc3lzdGVtLg0KDQogICBvICBTaGltIC0gQSBjb25jZXB0dWFsIGxheWVyIGluc2lkZSB0aGUg
SVAgTGF5ZXIgd2hpY2ggbWFpbnRhaW5zDQogICAgICBtYXBwaW5ncyBvZiBFSURzIGFuZCBsb2Nh
dG9ycy4gIEFuIEVJRCBjYW4gYmUgYXNzb2NpYXRlZCB3aXRoIG1vcmUNCiAgICAgIHRoYW4gb25l
IGxvY2F0b3JzIGF0IGEgdGltZSB3aGVuIHRoZSBob3N0IGlzIG11bHRpaG9tZWQuICBGcm9tDQog
ICAgICBuZXR3b3JrIGFyY2hpdGVjdHVyZSBwZXJzcGVjdGl2ZSwgc2hpbSBzaG91bGQgYmUgZXZl
biBvciBsb3dlcg0KICAgICAgdGhhbiB0aGUgSVBzZWMgbGF5ZXIuICBJdCBzaG91bGQgYmUgbm90
ZWQgdGhhdCB0aGUgdGVybSAnc2hpbScNCiAgICAgIGRvZXMgbm90IHJlZmVyIHRvIHNwZWNpZmlj
IHByb3RvY29sIGJ1dCByZWZlcnMgdG8gYSBnZW5lcmljDQogICAgICBjb25jZXB0IG9mIGEgbGF5
ZXIgdGhhdCBlbmFibGVzIHNlcGFyYXRpb24gb2YgaWRlbnRpZmllciBhbmQNCiAgICAgIGxvY2F0
b3IuICBTSElNNiBhbmQgSElQIGFyZSBleGFtcGxlcyBvZiB0aGUgc2hpbS4NCg0KICAgbyAgQ29u
dGV4dCAtIEEgc3RhdGUgaW5mb3JtYXRpb24gdG8gYmUgc2hhcmVkIGJ5IHRoZSBwZWVycywgd2hp
Y2gNCiAgICAgIGVzc2VudGlhbGx5IHN0b3JlcyBhIGJpbmRpbmcgYmV0d2VlbiB0aGUgRUlEIGFu
ZCBhc3NvY2lhdGVkDQoNCg0KDQpLb211LCBldCBhbC4gICAgICAgICAgICAgRXhwaXJlcyBBdWd1
c3QgNSwgMjAwNiAgICAgICAgICAgICAgICAgW1BhZ2UgNl0NCgwNCkludGVybmV0LURyYWZ0ICAg
ICAgICAgICAgIE11bHRpaG9tZWQgU2hpbSBBUEkgICAgICAgICAgICAgRmVicnVhcnkgMjAwNg0K
DQoNCiAgICAgIGxvY2F0b3JzLiAgVGhlIGNvbnRleHQgaXMgbWFpbnRhaW5lZCBhdCB0aGUgc2hp
bSBsYXllciBvZiB0aGUNCiAgICAgIGhvc3QuDQoNCiAgIG8gIExpc3Qgb2YgTG9jYXRvcnMgLSBB
IGxpc3Qgb2YgbG9jYXRvcnMgYXNzb2NpYXRlZCB3aXRoIGFuIEVJRC4NCiAgICAgIFRoZXJlIGFy
ZSB0d28gbGlzdHMgb2YgbG9jYXRvcnMgc3RvcmVkIGluIGEgZ2l2ZW4gY29udGV4dCwgb25lIGlz
DQogICAgICBhc3NvY2lhdGVkIHdpdGggbG9jYWwgRUlEIGFuZCB0aGUgb3RoZXIgaXMgYXNzb2Np
YXRlZCB3aXRoIHJlbW90ZQ0KICAgICAgRUlELiAgQXMgZGVmaW5lZCBpbiBbSS1ELmlldGYtc2hp
bTYtcHJvdG9dLCBsaXN0IG9mIGxvY2F0b3JzDQogICAgICBhc3NvY2lhdGVkIHdpdGggYW4gRUlE
ICdBJyBjYW4gYmUgZGVub3RlZCBhcyBMcyhBKS4NCg0KICAgbyAgUHJlZmVycmVkIExvY2F0b3Ig
LSBUaGUgKHNvdXJjZS9kZXN0aW5hdGlvbikgbG9jYXRvciBjdXJyZW50bHkNCiAgICAgIHVzZWQg
dG8gc2VuZCBwYWNrZXRzLiAgQXMgZGVmaW5lZCBpbiBbSS1ELmlldGYtc2hpbTYtcHJvdG9dLA0K
ICAgICAgcHJlZmVycmVkIGxvY2F0b3Igb2YgYSBob3N0IHdob3NlIEVJRCBpcyAnQScgY2FuIGJl
IGRlbm90ZWQgYXMNCiAgICAgIExwKEEpLg0KDQogICBvICBSZWFjaGFiaWxpdHkgRGV0ZWN0aW9u
IC0gQSBwcm9jZWR1cmUgdG8gZGV0ZWN0IHJlYWNoYWJpbGl0eQ0KICAgICAgYmV0d2VlbiBhIGdp
dmVuIGxvY2F0b3IgcGFpci4NCg0KICAgbyAgUGF0aCAtIEEgc2VxdWVuY2Ugb2Ygcm91dGVycyB0
aGF0IGFuIElQIHBhY2tldCBnb2VzIHRocm91Z2ggdG8NCiAgICAgIHJlYWNoIHRoZSBkZXN0aW5h
dGlvbi4NCg0KICAgbyAgUGF0aCBFeHBsb3JhdGlvbiAtIEEgcHJvY2VkdXJlIHRvIGV4cGxvcmUg
YXZhaWxhYmxlIHBhdGggZm9yIGENCiAgICAgIGdpdmVuIHNldCBvZiBsb2NhdG9yIHBhaXJzLg0K
DQogICBvICBPdXRhZ2UgLSBBbiBpbmNpZGVudCBtZWFuaW5nIHRoYXQgdGhlIHJlYWNoYWJpbGl0
eSBhbW9uZyBhIGdpdmVuDQogICAgICBsb2NhdG9yIHBhaXIgaXMgbG9zdC4gIFRoZSBvdXRhZ2Ug
Y291bGQgYmUgY2F1c2VkIGJ5IGFueSBraW5kcyBvZg0KICAgICAgcHJvYmxlbXMgaW5zaWRlIHRo
ZSByb3V0aW5nIGluZnJhc3RydWN0dXJlIGFuZCBwcm9ibGVtcyBvZiB0aGUNCiAgICAgIG5ldHdv
cmsgaW50ZXJmYWNlIG9mIHRoZSBlbmQgaG9zdHMuDQoNCiAgIG8gIFdvcmtpbmcgQWRkcmVzcyBQ
YWlyIC0gQW4gYWRkcmVzcyBwYWlyIGlzIHNhaWQgdG8gYmUgd29ya2luZyBpZg0KICAgICAgdGhl
IHBhY2tldCBjb250YWluaW5nIHRoZSBmaXJzdCBhZGRyZXNzIGZyb20gdGhlIHBhaXIgYXMgc291
cmNlDQogICAgICBhZGRyZXNzIGFuZCB0aGUgc2Vjb25kIGFkZHJlc3MgZnJvbSB0aGUgcGFpciBh
cyBkZXN0aW5hdGlvbg0KICAgICAgYWRkcmVzcyBjYW4gc2FmZWx5IHRyYXZlbCBmcm9tIHRoZSBz
b3VyY2UgdG8gdGhlIGRlc3RpbmF0aW9uLiAgSWYNCiAgICAgIHRoZSByZWFjaGFiaWxpdHkgaXMg
Y29uZmlybWVkIGluIGJvdGggZGlyZWN0aW9ucywgdGhlIGFkZHJlc3MNCiAgICAgIHBhaXJzIGlz
IHNhaWQgdG8gYmUgYmktZGlyZWN0aW9uYWwuICBPdGhlcndpc2UsIGl0J3MNCiAgICAgIHVuaWRp
cmVjdGlvbmFsLg0KDQogICBvICBSRUFQIC0gQSBwcm90b2NvbCBmb3IgZGV0ZWN0aW5nIGZhaWx1
cmUgYW5kIGV4cGxvcmluZyByZWFjaGFiaWxpdHkNCiAgICAgIGluIG11bHRpaG9tZWQgZW52aXJv
bm1lbnQuICBSRUFQIGlzIGRlZmluZWQgaW5bSS1ELmlldGYtc2hpbTYtDQogICAgICBmYWlsdXJl
LWRldGVjdGlvbl0uDQoNCiAgIG8gIEVuZHBvaW50IERlc2NyaXB0b3IgKEVEKSAtIFRoZSByZXBy
ZXNlbnRhdGlvbiBvZiBlbmRwb2ludHMgaXMNCiAgICAgIGhpZGRlbiBmcm9tIHRoZSBhcHBsaWNh
dGlvbnMuICBFRCBpcyBhICJoYW5kbGUiIG9yICJwb2ludGVyIiB0bw0KICAgICAgdGhlIGFjdHVh
bCBFSUQuDQoNCg0KDQoNCg0KDQoNCg0KS29tdSwgZXQgYWwuICAgICAgICAgICAgIEV4cGlyZXMg
QXVndXN0IDUsIDIwMDYgICAgICAgICAgICAgICAgIFtQYWdlIDddDQoMDQpJbnRlcm5ldC1EcmFm
dCAgICAgICAgICAgICBNdWx0aWhvbWVkIFNoaW0gQVBJICAgICAgICAgICAgIEZlYnJ1YXJ5IDIw
MDYNCg0KDQo0LiAgU3lzdGVtIE92ZXJ2aWV3DQoNCg0KICAgICAgICAgICAgICAgICAgICAgICAg
Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsNCiAgICAgICAgICAgICAgICAgICAgICAgIHwgICAg
ICAgQXBwbGljYXRpb24gICAgICB8DQogICAgICAgICAgICAgICAgICAgICAgICArLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgXiAgICAgICAgICAg
ICAgICAgXg0KICAgICAgICAgICAgICB+fn5+fn5+fn5+fn5+fH5Tb2NrZXQgSW50ZXJmYWNlfH5+
fn5+fn5+fn5+fn5+DQogICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAg
ICB2DQogICAgICAgICAgICAgICArLS0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tKw0KICAgICAgICAgICAgICAgfCAgICAgICAgICAgfCAgVHJhbnNwb3J0IExheWVyICAg
ICAgICAgICAgIHwNCiAgICAgICAgICAgICAgICstLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0rDQogICAgICAgICAgICAgICAgICAgICBeICAgICB8DQogICAgICAgKy0t
LS0tLS0tLS0tLS18LS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsN
CiAgICAgICB8ICAgICAgICAgICAgIHYgICAgIHYgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgfA0KICAgICAgIHwgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rICAg
ICAgICstLS0tLS0tLS0tKyAgICB8ICBJUA0KICAgICAgIHwgICB8ICAgICAgICAgICAgU2hpbSAg
ICAgICAgICAgICB8PC0tLS0tPnwgICBSRUFQICAgfCAgICB8IExheWVyDQogICAgICAgfCAgICst
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsgICAgICAgKy0tLS0tLS0tLS0rICAgIHwNCiAg
ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICBeICAgICAgICAgICAgICAgICAgICAgIF4gICAg
ICAgICAgfA0KICAgICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tfC0tLS0tLS0tLS0rDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdiAgICAg
ICAgICAgICAgICAgICAgICB2DQogICAgICAgICAgICAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0KICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICBM
aW5rIExheWVyICAgICAgICAgICAgICAgIHwNCiAgICAgICAgICAgICAgICstLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rDQoNCg0KICAgRmlndXJlIDE6IFN5c3RlbSBv
dmVydmlldw0KDQogICBGaWd1cmUgMSBpbGx1c3RyYXRlcyB0aGUgc3lzdGVtIG92ZXJ2aWV3LiAg
VGhlIGFwcGxpY2F0aW9uIGNhbg0KICAgdXRpbGl6ZSB0aGUgc29ja2V0IEFQSSB0byBpbnRlcmFj
dCB3aXRoIHRoZSBzaGltIGxheWVyIGFuZCB0cmFuc3BvcnQNCiAgIGxheWVyIGZvciBiZXR0ZXIg
Y29udHJvbCBvZiBsb2NhdG9yIG1hbmFnZW1lbnQgYW5kIGZhaWx1cmUgZGV0ZWN0aW9uDQogICBh
bmQgcGF0aCBleHBsb3JhdGlvbi4NCg0KICAgSW5zaWRlIHRoZSBJUCBsYXllciwgdGhlcmUgaXMg
YSBzaGltIHdoaWNoIGNsb3NlbHkgaW50ZXJhY3RzIHdpdGgNCiAgIFJFQVAgY29tcG9uZW50LiAg
VGhlcmUgY291bGQgYmUgaW50ZXJhY3Rpb25zIGJldHdlZW4gdGhlIHNoaW0gYW5kDQogICB0cmFu
c3BvcnQgbGF5ZXIsIGhvd2V2ZXIgdGhleSBhcmUgb3V0c2lkZSBvZiBzY29wZSBvZiB0aGlzIGRv
Y3VtZW50Lg0KICAgVGhlIHNjb3BlIG9mIHRoaXMgZG9jdW1lbnQgaXMgYW4gaW50ZXJmYWNlIGZy
b20gdGhlIGFwcGxpY2F0aW9uIHRvDQogICB0aGUgc2hpbSBsYXllciwgd2hpY2ggaXMgZW5hYmxl
ZCB2aWEgc29ja2V0IGludGVyZmFjZS4NCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KS29tdSwg
ZXQgYWwuICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDUsIDIwMDYgICAgICAgICAgICAgICAg
IFtQYWdlIDhdDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICBNdWx0aWhvbWVkIFNoaW0g
QVBJICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDYNCg0KDQo1LiAgUmVxdWlyZW1lbnRzDQoNCiAg
IEZvbGxvd2luZyBpcyBhIGxpc3Qgb2YgcmVxdWlyZW1lbnRzIGZyb20gdGhlIGFwcGxpY2F0aW9u
IHBlcnNwZWN0aXZlLg0KICAgVGhlc2UgcmVxdWlyZW1lbnRzIGFyZSBtYWlubHkgaWRlbnRpZmll
ZCBkdXJpbmcgdGhlIGRpc2N1c3Npb25zIG9uDQogICBTSElNNiBXRyBtYWlsaW5nIGxpc3QuICBT
b21lIHJlcXVpcmVtZW50cyBhcmUgZGVyaXZlZCBmcm9tDQogICBSZWFjaGFiaWxpdHkgUHJvdG9j
b2wgZG9jdW1lbnRbSS1ELmlldGYtc2hpbTYtZmFpbHVyZS1kZXRlY3Rpb25dLg0KDQogICBvICBM
b2NhdG9yIG1hbmFnZW1lbnQuICBMb2NhdG9yIG1hbmFnZW1lbnQgaXMgcm9sZSBvZiB0aGUgc2hp
bSBsYXllcg0KICAgICAgdG8gc2VsZWN0IGEgcGFpciBvZiBsb2NhdG9ycyBmb3Igc2VuZGluZyBJ
UCBwYWNrZXRzIHdpdGhpbiBhIGdpdmVuDQogICAgICBjb250ZXh0LiAgVGhlIHNlbGVjdGlvbiBp
cyBtYWRlIGJ5IHRha2luZyBtaXNjZWxsYW5lb3VzIGNvbmRpdGlvbnMNCiAgICAgIGludG8gYWNj
b3VudCBzdWNoIGFzIHJlYWNoYWJpbGl0eSBvZiB0aGUgcGF0aCwgYXBwbGljYXRpb24ncw0KICAg
ICAgcHJlZmVyZW5jZSwgYW5kIGNoYXJhY3RlcmlzdGljcyBvZiBwYXRoLiAgRnJvbSBhcHBsaWNh
dGlvbidzDQogICAgICBwZXJzcGVjdGl2ZToNCg0KICAgICAgKiAgSXQgc2hvdWxkIGJlIHBvc3Np
YmxlIHRvIG9idGFpbiBsaXN0IG9mIGxvY2F0b3JzIG9mIHRoZSBob3N0DQogICAgICAgICB3aXRo
aW4gYSBnaXZlbiBjb250ZXh0LiAgTHMobG9jYWwpIGFuZCBMcyhyZW1vdGUpLg0KDQogICAgICAq
ICBJdCBzaG91bGQgYmUgcG9zc2libGUgdG8gb2J0YWluIHByZWZlcnJlZCBsb2NhdG9yIG9mIHRo
ZSBub2RlDQogICAgICAgICB3aXRoaW4gYSBnaXZlbiBjb250ZXh0LiAgTHAobG9jYWwpIGFuZCBM
cChyZW1vdGUpLg0KDQogICBvICBOb3RpZmljYXRpb24gZnJvbSBhcHBsaWNhdGlvbiB0byB0aGUg
c2hpbSBsYXllciBhYm91dCB0aGUgc3RhdHVzDQogICAgICBvZiB0aGUgY29tbXVuaWNhdGlvbi4g
IE5vdGUgdGhhdCB0aGUgbm90aWZpY2F0aW9uIGlzIG1hZGUgaW4gYW4NCiAgICAgIGV2ZW50IGJh
c2VkIG1hbm5lci4gIFRoZXJlIGFyZSBtYWlubHkgdHdvIGFzcGVjdHMgb2YgdGhlIGZlZWRiYWNr
DQogICAgICB0aGF0IGFwcGxpY2F0aW9uIG9yIHVwcGVyIGxheWVyIHByb3RvY29sIG1heSBwcm92
aWRlIGZvciB0aGUgc2hpbQ0KICAgICAgbGF5ZXIsIHBvc2l0aXZlIGFuZCBuZWdhdGl2ZSBmZWVk
YmFja3MgW05PVEU6IFRoZXNlIGZlZWRiYWNrcyBhcmUNCiAgICAgIGFkZHJlc3NlZCBpbiBzZWN0
aW9uIDQuMyBhbmQgc2VjdGlvbiA1LjIgb2YgUkVBUCBzcGVjaWZpY2F0aW9uXToNCg0KICAgICAg
KiAgUG9zaXRpdmUgZmVlZGJhY2sgY291bGQgYmUgZ2l2ZW4gYnkgdGhlIGFwcGxpY2F0aW9uIG9y
IHVwcGVyDQogICAgICAgICBsYXllciBwcm90b2NvbCAoZS5nLiAgVENQKSB0byB0aGUgc2hpbSBs
YXllciBpbmZvcm1pbmcgdGhhdCBpdHMNCiAgICAgICAgIGNvbW11bmljYXRpb24gaXMgZ29pbmcg
d2VsbC4NCg0KICAgICAgKiAgTmVnYXRpdmUgZmVlZGJhY2sgY291bGQgYmUgZ2l2ZW4gYnkgdGhl
IGFwcGxpY2F0aW9uIG9yIHVwcGVyDQogICAgICAgICBsYXllciBwcm90b2NvbCAoZS5nLiAgVENQ
KSB0byB0aGUgc2hpbSBsYXllciBpbmZvcm1pbmcgdGhhdCBpdHMNCiAgICAgICAgIGNvbW11bmlj
YXRpb24gc3RhdHVzIGlzIG5vdCBzYXRpc2ZhY3RvcnkuICBUQ1AgY291bGQgZGV0ZWN0IGENCiAg
ICAgICAgIHByb2JsZW0gd2hlbiBpdCBkb2VzIG5vdCByZWNlaXZlcyBleHBlY3RlZCBBQ0sgZnJv
bSB0aGUgcGVlci4NCiAgICAgICAgIElDTVAgZXJyb3IgbWVzc2FnZXMgZGVsaXZlcmVkIHRvIHRo
ZSB1cHBlciBsYXllciBwcm90b2NvbCBjb3VsZA0KICAgICAgICAgYmUgYSBjbHVlIGZvciBhcHBs
aWNhdGlvbiB0byBkZXRlY3QgYW55IGtpbmQgb2YgcHJvYmxlbS4gIFJFQVANCiAgICAgICAgIG1v
ZHVsZSBtYXkgYmUgdHJpZ2dlcmVkIGJ5IHRoZXNlIG5lZ2F0aXZlIGZlZWRiYWNrcyBhbmQgaW52
b2tlDQogICAgICAgICBwcm9jZWR1cmUgb2YgcGF0aCBleHBsb3JhdGlvbi4NCg0KICAgbyAgRmVl
ZGJhY2sgZnJvbSBhcHBsaWNhdGlvbiB0byBzaGltIGxheWVyLiAgVGhlIGFwcGxpY2F0aW9uIHNo
b3VsZA0KICAgICAgYmUgYWJsZSB0byBpbmZvcm0gdGhlIHNoaW0gbGF5ZXIgYWJvdXQgdGhlIHRp
bWVvdXQgdmFsdWVzIGZvcg0KICAgICAgZGV0ZWN0aW5nIGZhaWx1cmUsIGZvciBzZW5kaW5nIGtl
ZXBhbGl2ZXMsIGZvciBzdGFydGluZyB0aGUNCiAgICAgIGV4cGxvcmF0aW9uIHByb2NlZHVyZS4g
IEluIHBhcnRpY3VsYXIsIHRoZSBhcHBsaWNhdGlvbiBzaG91bGQgYmUNCiAgICAgIGFibGUgdG8g
c3VwcHJlc3MgdGhlIGtlZXBhbGl2ZXMuDQoNCiAgIG8gIEhvdC1zdGFuZGJ5LiAgVGhlIGFwcGxp
Y2F0aW9uIG1heSByZXF1ZXN0IHRoZSBzaGltIGxheWVyIGlmIGhvdC0NCiAgICAgIHN0YW5kYnkg
Y29ubmVjdGlvbiBpcyBuZWVkZWQuICBJbiB0aGlzIGNhc2UsIGFsdGVybmF0aXZlIHBhdGhzIGFy
ZQ0KDQoNCg0KS29tdSwgZXQgYWwuICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDUsIDIwMDYg
ICAgICAgICAgICAgICAgIFtQYWdlIDldDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICBN
dWx0aWhvbWVkIFNoaW0gQVBJICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDYNCg0KDQogICAgICBr
bm93biB0byBiZSB3b3JraW5nLiAgSGVuY2UgaXQgaXMgcG9zc2libGUgZm9yIHRoZSBob3N0IHRv
DQogICAgICBpbW1lZGlhdGVseSByZXBsYWNlIHRoZSBjdXJyZW50IGxvY2F0b3IgcGFpciB3aXRo
IHRoZSBhbHRlcm5hdGl2ZQ0KICAgICAgbG9jYXRvciBwYWlyLiAgSG90LXN0YW5kYnkgbWF5IGFs
bG93IGFwcGxpY2F0aW9uIHRvIGFjaGlldmUgYmV0dGVyDQogICAgICBmYWlsb3Zlci4NCg0KICAg
byAgRWFnZXJuZXNzIG9mIGxvY2F0b3IgZXhwbG9yYXRpb24uICBUaGUgYXBwbGljYXRpb24gc2hv
dWxkIGJlIGFibGUNCiAgICAgIHRvIGluZm9ybSB0aGUgc2hpbSBsYXllciBob3cgcHJvYWN0aXZl
IGl0IHdhbnRzIFJFQVAgbWVjaGFuaXNtIHRvDQogICAgICBwZXJmb3JtIHBhdGggZXhwbG9yYXRp
b24gKGUuZy4gc3BlY2lmeWluZyB0aGUgbnVtYmVyIG9mIGNvbmN1cnJlbnQNCiAgICAgIGF0dGVt
cHRzIG9mIGRpc2NvdmVyaW5nIHdvcmtpbmcgbG9jYXRvciBwYWlyKSB3aGVuIGFuIG91dGFnZQ0K
ICAgICAgb2NjdXJzIG9uIHRoZSBwYXRoIGJldHdlZW4gdGhlIGN1cnJlbnRseSBzZWxlY3RlZCBs
b2NhdG9yIHBhaXIuDQoNCiAgIG8gIFByb3ZpZGluZyBsb2NhdG9yIGluZm9ybWF0aW9uIHRvIGFw
cGxpY2F0aW9uLiAgVGhlIGFwcGxpY2F0aW9uDQogICAgICBzaG91bGQgYmUgYWJsZSB0byBvYnRh
aW4gaW5mb3JtYXRpb24gYWJvdXQgdGhlIGxvY2F0b3IgcGFpciB3aGljaA0KICAgICAgd2FzIGFj
dHVhbGx5IHVzZWQgdG8gc2VuZCBvciByZWNlaXZlIHRoZSBwYWNrZXQuDQoNCiAgICAgICogIEZv
ciBpbmJvdW5kIHRyYWZmaWMsIHRoZSBhcHBsaWNhdGlvbiBtYXkgYmUgaW50ZXJlc3RlZCBpbiB0
aGUNCiAgICAgICAgIGxvY2F0b3IgcGFpciB3aGljaCB3YXMgYWN0dWFsbHkgdXNlZCB0byByZWNl
aXZlIHRoZSBwYWNrZXQuDQoNCiAgICAgICogIEZvciBvdXRib3VuZCB0cmFmZmljLCB0aGUgYXBw
bGljYXRpb24gbWF5IGJlIGludGVyZXN0ZWQgaW4gdGhlDQogICAgICAgICBsb2NhdG9yIHBhaXIg
d2hpY2ggd2FzIGFjdHVhbGx5IHVzZWQgdG8gdHJhbnNtaXQgdGhlIHBhY2tldC4NCg0KICAgICAg
SW4gdGhpcyB3YXksIHRoZSBhcHBsaWNhdGlvbiBtYXkgaGF2ZSBhZGRpdGlvbmFsIGNvbnRyb2wg
b24NCiAgICAgIGxvY2F0b3IgbWFuYWdlbWVudC4gIEZvciBleGFtcGxlLCB0aGUgYXBwbGljYXRp
b24gY2FuIHZlcmlmeSBpZg0KICAgICAgaXRzIHByZWZlcmVuY2Ugb2YgbG9jYXRvciBpcyBhY3R1
YWxseSBhcHBsaWVkIHRvIHRoZSBmbG93IG9yIG5vdC4NCg0KICAgbyAgVGhlIGFwcGxpY2F0aW9u
IHNob3VsZCBiZSBhYmxlIHRvIHNwZWNpZnkgaWYgaXQgd2FudHMgdG8gZGVmZXIgdGhlDQogICAg
ICBjb250ZXh0IHNldHVwIG9yIGl0IHdhbnRzIGNvbnRleHQgZXN0YWJsaXNobWVudCB0byBiZSBz
dGFydGVkDQogICAgICBpbW1lZGlhdGVseSBpZiB0aGVyZSBpcyBubyBhdmFpbGFibGUgY29udGV4
dC4gIEluIHN1Y2ggd2F5LA0KICAgICAgYXBwbGljYXRpb24gY2FuICd1cGdyYWRlJyB0aGUgY29u
bmVjdGlvbiBwcm92aWRpbmcgaW4gYSBzZW5zZSB0aGF0DQogICAgICBpZGVudGlmaWVyIGFuZCBs
b2NhdG9yIGFyZSBtYW5hZ2VkIHNlcGFyYXRlbHkuDQoNCiAgIG8gIFR1cm4gb24vb2ZmIHNoaW0u
ICBUaGUgYXBwbGljYXRpb24gc2hvdWxkIGJlIGFibGUgdG8gcmVxdWVzdCB0bw0KICAgICAgdHVy
biBvbi9vZmYgdGhlIG11bHRpaG9taW5nIHN1cHBvcnQgYnkgdGhlIHNoaW0gbGF5ZXI6DQoNCiAg
ICAgICogIEFwcGx5IHNoaW0uICBUaGUgYXBwbGljYXRpb24gc2hvdWxkIGJlIGFibGUgdG8gZXhw
bGljaXRseQ0KICAgICAgICAgcmVxdWVzdCB0aGUgc2hpbSBsYXllciB0byBhcHBseSBtdWx0aWhv
bWluZyBzdXBwb3J0Lg0KDQogICAgICAqICBEb24ndCBhcHBseSBzaGltLiAgVGhlIGFwcGxpY2F0
aW9uIHNob3VsZCBiZSBhYmxlIHRvIHJlcXVlc3QNCiAgICAgICAgIHRoZSBzaGltIGxheWVyIG5v
dCB0byBhcHBseSB0aGUgbXVsdGlob21pbmcgc3VwcG9ydCBidXQgdG8NCiAgICAgICAgIGFwcGx5
IG5vcm1hbCBJUCBwcm9jZXNzaW5nIGF0IHRoZSBJUCBsYXllci4NCg0KICAgbyAgVGhlIGFwcGxp
Y2F0aW9uIHNob3VsZCBiZSBhYmxlIHRvIGtub3cgaWYgaXRzIGNvbW11bmljYXRpb24gaXMgbm93
DQogICAgICBzZXJ2ZWQgYnkgdGhlIHNoaW0gbGF5ZXIgb3Igbm90Lg0KDQogICBvICBUaGUgYXBw
bGljYXRpb24gc2hvdWxkIGJlIGFibGUgdG8gYWNjZXNzIGxvY2F0b3IgaW5mb3JtYXRpb24NCiAg
ICAgIHJlZ2FyZGxlc3Mgb2YgaXRzIGFkZHJlc3MgZmFtaWx5LiAgSW4gb3RoZXIgd29yZHMsIG5v
IG1hdHRlciB0aGUNCiAgICAgIHRhcmdldCBsb2NhdG9yIGlzIElQdjQgb3IgSVB2NiwgdGhlIGFw
cGxpY2F0aW9uIHNob3VsZCBiZSBhYmxlIHRvDQogICAgICB1c2UgY29tbW9uIGludGVyZmFjZSB0
byBhY2Nlc3MgdGhlIGxvY2F0b3IgaW5mb3JtYXRpb24uDQoNCg0KDQpLb211LCBldCBhbC4gICAg
ICAgICAgICAgRXhwaXJlcyBBdWd1c3QgNSwgMjAwNiAgICAgICAgICAgICAgICBbUGFnZSAxMF0N
CgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgIE11bHRpaG9tZWQgU2hpbSBBUEkgICAgICAg
ICAgICAgRmVicnVhcnkgMjAwNg0KDQoNCjYuICBTb2NrZXQgT3B0aW9ucyBmb3IgTXVsdGlob21l
ZCBTaGltIExheWVyDQoNCiAgIEluIHRoaXMgc2VjdGlvbiwgc29ja2V0IG9wdGlvbnMgbmV3bHkg
ZGVmaW5lZCBmb3IgYXBwbGljYXRpb24gdG8NCiAgIGludGVyZmFjZSB0aGUgbXVsdGlob21lZCBz
aGltIGxheWVyIGFyZSBwcmVzZW50ZWQuICBUaGVzZSBvcHRpb25zIGNhbg0KICAgYmUgdXNlZCBl
aXRoZXIgYnkgZ2V0c29ja29wdCgpIGFuZC9vciBzZXRzb2Nrb3B0KCkgc3lzdGVtIGNhbGxzIGZv
cg0KICAgYW4gb3BlbmVkIHNvY2tldC4gIFRhYmxlIDEgcHJvdmlkZXMgYSBsaXN0IG9mIHRoZSBz
b2NrZXQgb3B0aW9ucy4NCiAgIE5vdGUgdGhhdCBhbGwgc29ja2V0IG9wdGlvbnMgYXJlIGRlZmlu
ZWQgYXQgbGV2ZWwgU09MX1NISU0uDQoNCiAgIFRoZSBmaXJzdCBjb2x1bW4gb2YgdGhlIHRhYmxl
IGdpdmVzIG5hbWUgb2YgdGhlIG9wdGlvbi4gIFRoZSBzZWNvbmQNCiAgIGFuZCB0aGlyZCBjb2x1
bW5zIGluZGljYXRlcyB3aGV0aGVyIGlmIHRoZSBvcHRpb24gaXMgZm9yIGdldHNvY2tvcHQoKQ0K
ICAgYW5kL29yIHNldHNvY2tvcHQoKSwgcmVzcGVjdGl2ZWx5LiAgVGhlIGZvdXJ0aCBjb2x1bW4g
cHJvdmlkZXMgYQ0KICAgYnJpZWYgZGVzY3JpcHRpb24gYWJvdXQgdGhlIHNvY2tldCBvcHRpb24u
ICBUaGUgZmlmdGggY29sdW1uIHNob3dzDQogICB0aGUgZGF0YSBzdHJ1Y3R1cmUgc3BlY2lmaWVk
IHdpdGggdGhlIHNvY2tldCBvcHRpb24sIHdoaWNoIGNvdWxkIGNhbg0KICAgc3RvcmUgYW4gYXJn
dW1lbnQgZm9yIHNldHNvY2tvcHQoKSBhbmQgcmVzdWx0IGZvciBnZXRzb2Nrb3B0KCkuICBCeQ0K
ICAgZGVmYXVsdCwgdGhlIGRhdGEgc3RydWN0dXJlIGlzIGFuIGludGVnZXIuDQoNCg0KDQoNCg0K
DQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoN
Cg0KDQpLb211LCBldCBhbC4gICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgNSwgMjAwNiAgICAg
ICAgICAgICAgICBbUGFnZSAxMV0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgIE11bHRp
aG9tZWQgU2hpbSBBUEkgICAgICAgICAgICAgRmVicnVhcnkgMjAwNg0KDQoNCiAgICstLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0rLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t
LS0tKw0KICAgfCBvcHRuYW1lICAgICAgICAgICAgICAgIHwgZ2V0IHwgc2V0IHwgZGVzY3JpcHRp
b24gICAgICAgICAgfCBkdHlwZSB8DQogICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t
Ky0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLSsNCiAgIHwgU0hJTV9BU1NPQ0lB
VEVEICAgICAgICB8IG8gICB8ICAgICB8IENoZWNrIGlmIHRoZSBzb2NrZXQgIHwgaW50ICAgfA0K
ICAgfCAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgIHwgICAgIHwgaXMgYXNzb2NpYXRlZCB3
aXRoICAgfCAgICAgICB8DQogICB8ICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgfCAgICAg
fCBhbnkgc2hpbSBjb250ZXh0IG9yICB8ICAgICAgIHwNCiAgIHwgICAgICAgICAgICAgICAgICAg
ICAgICB8ICAgICB8ICAgICB8IG5vdC4gICAgICAgICAgICAgICAgIHwgICAgICAgfA0KICAgfCAg
ICAgICAgICAgICAgICAgICAgICAgIHwgICAgIHwgICAgIHwgICAgICAgICAgICAgICAgICAgICAg
fCAgICAgICB8DQogICB8IFNISU1fRE9OVFNISU0gICAgICAgICAgfCBvICAgfCBvICAgfCBSZXF1
ZXN0IHRoZSBzaGltICAgICB8IGludCAgIHwNCiAgIHwgICAgICAgICAgICAgICAgICAgICAgICB8
ICAgICB8ICAgICB8IGxheWVyIG5vdCB0byBhcHBseSAgIHwgICAgICAgfA0KICAgfCAgICAgICAg
ICAgICAgICAgICAgICAgIHwgICAgIHwgICAgIHwgYW55IG11bHRpaG9taW5nICAgICAgfCAgICAg
ICB8DQogICB8ICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgfCAgICAgfCBzdXBwb3J0IGZv
ciB0aGUgICAgICB8ICAgICAgIHwNCiAgIHwgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICB8
ICAgICB8IGNvbW11bmljYXRpb24uICAgICAgIHwgICAgICAgfA0KICAgfCAgICAgICAgICAgICAg
ICAgICAgICAgIHwgICAgIHwgICAgIHwgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICB8DQog
ICB8IFNISU1fSE9UX1NUQU5EQlkgICAgICAgfCAgICAgfCBvICAgfCBSZXF1ZXN0IHRoZSBzaGlt
ICAgICB8IGludCAgIHwNCiAgIHwgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICB8ICAgICB8
IGxheWVyIHRvIHByZXBhcmUgYSAgIHwgICAgICAgfA0KICAgfCAgICAgICAgICAgICAgICAgICAg
ICAgIHwgICAgIHwgICAgIHwgaG90LXN0YW5kYnkgICAgICAgICAgfCAgICAgICB8DQogICB8ICAg
ICAgICAgICAgICAgICAgICAgICAgfCAgICAgfCAgICAgfCBjb25uZWN0aW9uIGJlc2lkZXMgICB8
ICAgICAgIHwNCiAgIHwgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICB8ICAgICB8IHRoZSBj
dXJyZW50IHBhdGguICAgIHwgICAgICAgfA0KICAgfCAgICAgICAgICAgICAgICAgICAgICAgIHwg
ICAgIHwgICAgIHwgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICB8DQogICB8IFNISU1fUEFU
SEVYUExPUkUgICAgICAgfCAgICAgfCBvICAgfCBTcGVjaWZ5IGhvdyBtYW55ICAgICB8IGludCAg
IHwNCiAgIHwgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICB8ICAgICB8IHBhdGggZXhwbG9y
YXRpb25zICAgIHwgICAgICAgfA0KICAgfCAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgIHwg
ICAgIHwgYXJlIHJlcXVpcmVkIGluIGNhc2UgfCAgICAgICB8DQogICB8ICAgICAgICAgICAgICAg
ICAgICAgICAgfCAgICAgfCAgICAgfCBvZiBmYWlsdXJlLiAgICAgICAgICB8ICAgICAgIHwNCiAg
IHwgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICB8ICAgICB8ICAgICAgICAgICAgICAgICAg
ICAgIHwgICAgICAgfA0KICAgfCBTSElNX0xPQ19MT0NBTF9QUkVGICAgIHwgbyAgIHwgbyAgIHwg
R2V0IG9yIHNldCBwcmVmZXJyZWQgfCAqMSAgICB8DQogICB8ICAgICAgICAgICAgICAgICAgICAg
ICAgfCAgICAgfCAgICAgfCBsb2NhdG9yIG9uIGxvY2FsICAgICB8ICAgICAgIHwNCiAgIHwgICAg
ICAgICAgICAgICAgICAgICAgICB8ICAgICB8ICAgICB8IHNpZGUgZm9yIHRoZSBjb250ZXh0IHwg
ICAgICAgfA0KICAgfCAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgIHwgICAgIHwgYXNzb2Np
YXRlZCB3aXRoIHRoZSAgfCAgICAgICB8DQogICB8ICAgICAgICAgICAgICAgICAgICAgICAgfCAg
ICAgfCAgICAgfCBzb2NrZXQuICAgICAgICAgICAgICB8ICAgICAgIHwNCiAgIHwgICAgICAgICAg
ICAgICAgICAgICAgICB8ICAgICB8ICAgICB8ICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAg
fA0KICAgfCBTSElNX0xPQ19QRUVSX1BSRUYgICAgIHwgbyAgIHwgbyAgIHwgR2V0IG9yIHNldCBw
cmVmZXJyZWQgfCAqMSAgICB8DQogICB8ICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgfCAg
ICAgfCBsb2NhdG9yIG9uIHJlbW90ZSAgICB8ICAgICAgIHwNCiAgIHwgICAgICAgICAgICAgICAg
ICAgICAgICB8ICAgICB8ICAgICB8IHNpZGUgZm9yIHRoZSBjb250ZXh0IHwgICAgICAgfA0KICAg
fCAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgIHwgICAgIHwgYXNzb2NpYXRlZCB3aXRoIHRo
ZSAgfCAgICAgICB8DQogICB8ICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgfCAgICAgfCBz
b2NrZXQuICAgICAgICAgICAgICB8ICAgICAgIHwNCiAgIHwgICAgICAgICAgICAgICAgICAgICAg
ICB8ICAgICB8ICAgICB8ICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgfA0KICAgfCBTSElN
X0xPQ19MT0NBTF9SRUNWICAgIHwgICAgIHwgbyAgIHwgUmVxdWVzdCBmb3IgICAgICAgICAgfCBp
bnQgICB8DQogICB8ICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgfCAgICAgfCBkZXN0aW5h
dGlvbiBsb2NhdG9yICB8ICAgICAgIHwNCiAgIHwgICAgICAgICAgICAgICAgICAgICAgICB8ICAg
ICB8ICAgICB8IG9mIHJlY2VpdmVkIElQICAgICAgIHwgICAgICAgfA0KICAgfCAgICAgICAgICAg
ICAgICAgICAgICAgIHwgICAgIHwgICAgIHwgcGFja2V0LiAgICAgICAgICAgICAgfCAgICAgICB8
DQogICB8ICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgfCAgICAgfCAgICAgICAgICAgICAg
ICAgICAgICB8ICAgICAgIHwNCiAgIHwgU0hJTV9MT0NfUEVFUl9SRUNWICAgICB8ICAgICB8IG8g
ICB8IFJlcXVlc3QgZm9yIHNvdXJjZSAgIHwgaW50ICAgfA0KICAgfCAgICAgICAgICAgICAgICAg
ICAgICAgIHwgICAgIHwgICAgIHwgbG9jYXRvciBvZiByZWNlaXZlZCAgfCAgICAgICB8DQogICB8
ICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgfCAgICAgfCBJUCBwYWNrZXQuICAgICAgICAg
ICB8ICAgICAgIHwNCiAgIHwgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICB8ICAgICB8ICAg
ICAgICAgICAgICAgICAgICAgIHwgICAgICAgfA0KDQoNCg0KDQoNCktvbXUsIGV0IGFsLiAgICAg
ICAgICAgICBFeHBpcmVzIEF1Z3VzdCA1LCAyMDA2ICAgICAgICAgICAgICAgIFtQYWdlIDEyXQ0K
DA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgTXVsdGlob21lZCBTaGltIEFQSSAgICAgICAg
ICAgICBGZWJydWFyeSAyMDA2DQoNCg0KICAgfCBTSElNX0xPQ0xJU1RfTE9DQUwgICAgIHwgbyAg
IHwgbyAgIHwgR2V0IG9yIHNldCBhIGxpc3Qgb2YgfCAqMSAgICB8DQogICB8ICAgICAgICAgICAg
ICAgICAgICAgICAgfCAgICAgfCAgICAgfCBsb2NhdG9ycyBhc3NvY2lhdGVkICB8ICAgICAgIHwN
CiAgIHwgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICB8ICAgICB8IHdpdGggbG9jYWwgRUlE
LiAgICAgIHwgICAgICAgfA0KICAgfCAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgIHwgICAg
IHwgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICB8DQogICB8IFNISU1fTE9DTElTVF9QRUVS
ICAgICAgfCBvICAgfCBvICAgfCBHZXQgb3Igc2V0IGEgbGlzdCBvZiB8ICoxICAgIHwNCiAgIHwg
ICAgICAgICAgICAgICAgICAgICAgICB8ICAgICB8ICAgICB8IGxvY2F0b3JzIGFzc29jaWF0ZWQg
IHwgICAgICAgfA0KICAgfCAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgIHwgICAgIHwgd2l0
aCBwZWVyJ3MgRUlELiAgICAgfCAgICAgICB8DQogICB8ICAgICAgICAgICAgICAgICAgICAgICAg
fCAgICAgfCAgICAgfCAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgIHwNCiAgIHwgU0hJTV9U
SU1FUl9LRUVQQUxJVkUgICB8ICAgICB8IG8gICB8IEluZm9ybSBzaGltIGxheWVyICAgIHwgaW50
ICAgfA0KICAgfCAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgIHwgICAgIHwgYWJvdXQgYSB0
aW1lciB2YWx1ZSAgfCAgICAgICB8DQogICB8ICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAg
fCAgICAgfCBvZiBrZWVwYWxpdmUuICAgICAgICB8ICAgICAgIHwNCiAgIHwgICAgICAgICAgICAg
ICAgICAgICAgICB8ICAgICB8ICAgICB8ICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgfA0K
ICAgfCBTSElNX0ZFRURCQUNLX1BPU0lUSVZFIHwgICAgIHwgbyAgIHwgUHJvdmlkZSBhIHBvc2l0
aXZlICAgfCBpbnQgICB8DQogICB8ICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgfCAgICAg
fCBmZWVkYmFjayB0byB0aGUgc2hpbSB8ICAgICAgIHwNCiAgIHwgICAgICAgICAgICAgICAgICAg
ICAgICB8ICAgICB8ICAgICB8IGxheWVyLiAgICAgICAgICAgICAgIHwgICAgICAgfA0KICAgfCAg
ICAgICAgICAgICAgICAgICAgICAgIHwgICAgIHwgICAgIHwgICAgICAgICAgICAgICAgICAgICAg
fCAgICAgICB8DQogICB8IFNISU1fRkVFREJBQ0tfTkVHQVRJVkUgfCAgICAgfCBvICAgfCBQcm92
aWRlIGEgbmVnYXRpdmUgICB8ICoyICAgIHwNCiAgIHwgICAgICAgICAgICAgICAgICAgICAgICB8
ICAgICB8ICAgICB8IGZlZWRiYWNrIHRvIHRoZSBzaGltIHwgICAgICAgfA0KICAgfCAgICAgICAg
ICAgICAgICAgICAgICAgIHwgICAgIHwgICAgIHwgbGF5ZXIuICAgICAgICAgICAgICAgfCAgICAg
ICB8DQogICB8ICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgfCAgICAgfCAgICAgICAgICAg
ICAgICAgICAgICB8ICAgICAgIHwNCiAgIHwgU0hJTV9JRl9SRUNWICAgICAgICAgICB8ICAgICB8
IG8gICB8IFJlcXVlc3QgZm9yICAgICAgICAgIHwgaW50ICAgfA0KICAgfCAgICAgICAgICAgICAg
ICAgICAgICAgIHwgICAgIHwgICAgIHwgcmVjZWl2aW5nIGludGVyZmFjZS4gfCAgICAgICB8DQog
ICB8ICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgfCAgICAgfCAgICAgICAgICAgICAgICAg
ICAgICB8ICAgICAgIHwNCiAgIHwgU0hJTV9JRl9TRU5EICAgICAgICAgICB8ICAgICB8IG8gICB8
IFJlcXVlc3QgZm9yIG91dGdvaW5nIHwgaW50ICAgfA0KICAgfCAgICAgICAgICAgICAgICAgICAg
ICAgIHwgICAgIHwgICAgIHwgaW50ZXJmYWNlLiAgICAgICAgICAgfCAgICAgICB8DQogICArLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r
LS0tLS0tLSsNCg0KICAgICAgICBUYWJsZSAxOiBTaGltIHNwZWNpZmljIHNvY2tldCBvcHRpb25z
IGZvciBnZXRzb2Nrb3B0KCkgYW5kDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0
c29ja29wdCgpDQoNCiAgICoxOiBQb2ludGVyIHRvIHRoZSBidWZmZXIgd2hpY2ggc3RvcmVzIGFy
cmF5cyBvZiBsb2NhdG9yIGluZm9ybWF0aW9uLg0KICAgVGhlIGJ1ZmZlciBpcyBhY3R1YWxseSB0
aGUgY2hhaW5lZCBsaXN0IG9mIGFkZHJpbmZvIHN0cnVjdHVyZS4NCg0KICAgKjI6IFRCRC4NCg0K
ICAgRmlndXJlIDIgaWxsdXN0cmF0ZXMgaG93IHRoZSBzaGltIHNwZWNpZmljIHNvY2tldCBvcHRp
b25zIGZpdCBpbnRvDQogICB0aGUgc3lzdGVtIG1vZGVsIG9mIHNvY2tldCBBUEkuICBJbiB0aGUg
ZmlndXJlLCBpdCBjYW4gYmUgc2VlbiB0aGF0DQogICB0aGUgc2hpbSBsYXllciBhbmQgYWRkaXRp
b25hbCBwcm90b2NvbCBjb21wb25lbnRzIChJUHY0IGFuZCBJUHY2KQ0KICAgYmVsb3cgdGhlIHNo
aW0gbGF5ZXIgYXJlIG5ldyB0byB0aGUgc3lzdGVtIG1vZGVsLiAgQXMgcHJldmlvdXNseQ0KICAg
bWVudGlvbmVkLCBhbGwgdGhlIHNoaW0gc3BlY2lmaWMgc29ja2V0IG9wdGlvbnMgYXJlIGRlZmlu
ZWQgYXQNCiAgIFNPTF9TSElNIGxldmVsLiAgVGhpcyBkZXNpZ24gY2hvaWNlIGJyaW5ncyB0aGUg
Zm9sbG93aW5nIGFkdmFudGFnZXM6DQoNCiAgIDEuICBJdCBpcyBhc3N1cmVkIHRoYXQgZXhpc3Rp
bmcgc29ja2V0IEFQSSBjb250aW51ZSB0byB3b3JrIGF0IHRoZQ0KICAgICAgIGxheWVyIGFib3Zl
IHRoZSBzaGltIGxheWVyLiAgVGhhdCBpcywgdGhvc2UgbGVnYWN5IEFQSSBkZWFsIHdpdGgNCiAg
ICAgICAnaWRlbnRpZmllcicgYXNwZWN0IG9mIHRoZSBJUCBhZGRyZXNzZXMuDQoNCiAgIDIuICBX
aXRoIG5ld2x5IGRlZmluZWQgc29ja2V0IG9wdGlvbnMgZm9yIHRoZSBzaGltIGxheWVyLCBhcHBs
aWNhdGlvbg0KICAgICAgIG9idGFpbnMgYWRkaXRpb25hbCBjb250cm9sIG9uIGxvY2F0b3IgbWFu
YWdlbWVudC4NCg0KDQoNCktvbXUsIGV0IGFsLiAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCA1
LCAyMDA2ICAgICAgICAgICAgICAgIFtQYWdlIDEzXQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAg
ICAgICAgTXVsdGlob21lZCBTaGltIEFQSSAgICAgICAgICAgICBGZWJydWFyeSAyMDA2DQoNCg0K
ICAgMy4gIFRoZSBzaGltIHNwZWNpZmljIHNvY2tldCBvcHRpb25zIGFyZSBub3Qgc3BlY2lmaWMg
dG8gYW55IGFkZHJlc3MNCiAgICAgICBmYW1pbHkgKElQUFJPVE9fSVAgb3IgSVBQUk9UT19JUFY2
KSBub3IgYW55IHRyYW5zcG9ydCBwcm90b2NvbA0KICAgICAgIChTT0NLX1NUUkVBTSBvciBTT0NL
X0RHUkFNIG9yIFNPQ0tfUkFXKS4NCg0KDQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
MSBzMiAgICAgIHMzIHM0DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIHwgICAgICAg
fCAgfA0KICAgICAgICAgICAgKy0tLS0tLS0tLS0tLS0tLS18LS18LS0tLS0tLXwtLXwtLS0tLS0t
LS0tLS0tLS0tKw0KICAgICAgICAgICAgfCAgICAgICAgICAgICArLS0tLS0tLSsgICArLS0tLS0t
LSsgICAgICAgICAgICAgfA0KICAgICAgICAgICAgfCBJUFBST1RPX1RDUCB8ICBUQ1AgIHwgICB8
ICBVRFAgIHwgICAgICAgICAgICAgfA0KICAgICAgICAgICAgfCAgICAgICAgICAgICArLS0tLS0t
LSsgICArLS0tLS0tLSsgICAgICAgICAgICAgfA0KICAgICAgICAgICAgfCAgICAgICAgICAgICAg
ICB8ICAgXCAgICAgLyAgIHwgICAgICAgICAgICAgICAgfA0KICAgICAgICAgICAgfCAgICAgICAg
ICAgICAgICB8ICAgIC0tLS0tICAgIHwgICAgICAgICAgICAgICAgfA0KICAgICAgICAgICAgfCAg
ICAgICAgICAgICAgICB8ICAgLyAgICAgXCAgIHwgICAgICAgICAgICAgICAgfA0KICAgICAgICAg
ICAgfCAgICAgICAgICAgICAgKy0tLS0tLSsgICArLS0tLS0tKyAgICAgICAgICAgICAgfA0KICAg
ICAgICAgICAgfCAgIElQUFJPVE9fSVAgfCBJUHY0IHwgICB8IElQdjYgfCBJUFBST1RPX0lQVjYg
fA0KICAgICAgICAgICAgfCAgICAgICAgICAgICAgKy0tLS0tLSsgICArLS0tLS0tKyAgICAgICAg
ICAgICAgfA0KICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgIFwgICAgICAgICAvICAgICAg
ICAgICAgIFNPTF9TT0NLRVQNCiAgICAgICAgICAgIHwgICAgICAgICAgKy0tLS0tLS0tXC0tLS0t
LS0vLS0tLS0tLS0rICAgICAgICAgIHwNCiAgICAgICAgICAgIHwgU09MX1NISU0gfCAgICAgICAg
ICBzaGltICAgICAgICAgICB8ICAgICAgICAgIHwNCiAgICAgICAgICAgIHwgICAgICAgICAgKy0t
LS0tLS0tLy0tLS0tLS1cLS0tLS0tLS0rICAgICAgICAgIHwNCiAgICAgICAgICAgIHwgICAgICAg
ICAgICAgICAgICAvICAgICAgICAgXCAgICAgICAgICAgICAgICAgIHwNCiAgICAgICAgICAgIHwg
ICAgICAgICAgICAgICstLS0tLS0rICAgKy0tLS0tLSsgICAgICAgICAgICAgIHwNCiAgICAgICAg
ICAgIHwgICAgICAgICAgICAgIHwgSVB2NCB8ICAgfCBJUHY2IHwgICAgICAgICAgICAgIHwNCiAg
ICAgICAgICAgIHwgICAgICAgICAgICAgICstLS0tLS0rICAgKy0tLS0tLSsgICAgICAgICAgICAg
IHwNCiAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICB8ICAgICAgICAgIHwgICAgICAgICAg
ICAgICAgIHwNCiAgICAgICAgICAgICstLS0tLS0tLS0tLS0tLS0tLS18LS0tLS0tLS0tLXwtLS0t
LS0tLS0tLS0tLS0tLSsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAg
IHwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSVB2NCAgICAgICBJUHY2DQogICAgICAg
ICAgICAgICAgICAgICAgICAgICBEYXRhZ3JhbSAgIERhdGFncmFtDQoNCg0KICAgRmlndXJlIDI6
IFN5c3RlbSBtb2RlbCBvZiBzb2NrZXQgQVBJIHdpdGggc2hpbSBsYXllcg0KDQo2LjEuICBTSElN
X0FTU09DSUFURUQNCg0KICAgVGhpcyBvcHRpb24gY2FuIGJlIHNwZWNpZmllZCBieSBnZXRzb2Nr
b3B0KCkgdG8gY2hlY2sgaWYgdGhlIHNvY2tldA0KICAgaXMgYXNzb2NpYXRlZCB3aXRoIGFueSBz
aGltIGNvbnRleHQgb3Igbm90LiAgVGh1cywgdGhlIG9wdGlvbiBpcw0KICAgcmVhZC1vbmx5IGFu
ZCB0aGUgcmVzdWx0ICgwIG9yIDEpIGlzIHNldCBpbiBvcHR2YWwuICBBIHJldHVybmVkIHZhbHVl
DQogICAxIG1lYW5zIHRoYXQgdGhlIHNvY2tldCBpcyBhc3NvY2lhdGVkIHdpdGggYSBnaXZlbiBz
aGltIGNvbnRleHQgYXQNCiAgIHRoZSBzaGltIGxheWVyLCB3aGlsZSBhIHJldHVybiB2YWx1ZSAw
IGluZGljYXRlcyB0aGF0IHRoZXJlIGlzIG5vDQogICBjb250ZXh0IGFzc29jaWF0ZWQgd2l0aCB0
aGUgc29ja2V0Lg0KDQogICBUaGlzIG9wdGlvbiBpcyBwYXJ0aWN1bGFybHkgbWVhbmluZ2Z1bCBp
biBhIGNhc2Ugd2hlcmUgbG9jYXRvcg0KICAgaW5mb3JtYXRpb24gb2YgdGhlIHJlY2VpdmVkIElQ
IHBhY2tldCBpcyBub3QgZW5vdWdoIGZvciBpZGVudGlmeWluZw0KICAgaWYgdGhlIElEL0xvY2F0
b3IgYWRhcHRhdGlvbiBpcyBwZXJmb3JtZWQgb3Igbm90LiAgTm90ZSB0aGF0IHRoZSBFSUQNCiAg
IHBhaXIgYW5kIGxvY2F0b3IgcGFpciBtYXliZSBpZGVudGljYWwgaW4gc29tZSBjYXNlLg0KDQoN
Cg0KS29tdSwgZXQgYWwuICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDUsIDIwMDYgICAgICAg
ICAgICAgICAgW1BhZ2UgMTRdDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICBNdWx0aWhv
bWVkIFNoaW0gQVBJICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDYNCg0KDQogICBJU1NVRTogU2hv
dWxkIHdlIGxpbWl0IHRoaXMgb3B0aW9uIG9ubHkgZm9yICdjb25uZWN0ZWQnIHNvY2tldCA/DQoN
CjYuMi4gIFNISU1fRE9OVFNISU0NCg0KICAgVGhpcyBvcHRpb24gY2FuIGJlIHNwZWNpZmllZCBl
aXRoZXIgYnkgZ2V0c29ja29wdCgpIG9yIHNldHNvY2tvcHQoKS4NCg0KICAgVGhlIGFwcGxpY2F0
aW9uIGNhbiBzcGVjaWZ5IHRoZSBvcHRpb24gYnkgc2V0c29ja29wdCgpIHRha2luZyB0aGUNCiAg
IGFyZ3VtZW50IG9wdHZhbCB3aXRoIHZhbHVlIDEgdG8gcmVxdWVzdCB0aGUgc2hpbSBsYXllciBu
b3QgdG8gYXBwbHkNCiAgIGFueSBtdWx0aWhvbWluZyBzdXBwb3J0IGZvciB0aGUgY29tbXVuaWNh
dGlvbi4gIFRoZSBhcHBsaWNhdGlvbiBjYW4NCiAgIGFsc28gb2J0YWluIHRoZSBjdXJyZW50IHNl
dHRpbmcgYnkgc3BlY2lmeWluZyB0aGUgdGhlIHNvY2tldCBvcHRpb24NCiAgIGluIGdldHNvY2tv
cHQoKS4gIFRoZSByZXN1bHQgc2hvdWxkIGJlIGJpbmFyeSAoMCBvciAxKS4NCg0KICAgQnkgZGVm
YXVsdCwgdGhlIHZhbHVlIGlzIHNldCB0byAwLCBtZWFuaW5nIHRoYXQgdGhlIHNoaW0gbGF5ZXIg
d2lsbA0KICAgdHJ5IHRvIGFwcGx5IElEL0xvY2F0b3IgYWRhcHRhdGlvbiBmb3IgdGhlIGNvbW11
bmljYXRpb24gb3ZlciBhIGdpdmVuDQogICBzb2NrZXQuDQoNCiAgIE9uY2UgdGhlIHNvY2tldCBv
cHRpb24gaXMgc3BlY2lmaWVkIGJ5IHNldHNvY2tvcHQoKSwgaXQgcmVtYWlucw0KICAgZWZmZWN0
aXZlIHVudGlsIGl0IGlzIGRlYWN0aXZhdGVkIChzdGlja3kgb3B0aW9uKS4NCg0KNi4zLiAgU0hJ
TV9IT1RfU1RBTkRCWQ0KDQogICBUaGlzIG9wdGlvbiBjYW4gYmUgc3BlY2lmaWVkIGJ5IHNldHNv
Y2tvcHQoKS4NCg0KICAgQnkgc2V0dGluZyAxIGluIHRoZSBvcHR2YWwgZm9yIHRoZSBzZXRzb2Nr
b3B0KCksIHRoZSBhcHBsaWNhdGlvbiBjYW4NCiAgIHJlcXVlc3QgdGhlIHNoaW0gbGF5ZXIgdG8g
dXRpbGl6ZSBhIGhvdC1zdGFuZGJ5IGNvbm5lY3Rpb24uICBUaGUgaG90LQ0KICAgc3RhbmRieSBj
b25uZWN0aW9uIGNhbiBiZSBwcm92aWRlZCBieSBhIGRpZmZlcmVudCBzZXQgb2YgbG9jYXRvciBw
YWlyDQogICBvdGhlciB0aGFuIHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgbG9jYXRvciBwYWlyLg0K
DQogICBCeSBkZWZhdWx0LCB0aGUgdmFsdWUgaXMgc2V0IHRvIDAsIG1lYW5pbmcgdGhhdCBob3Qt
c3RhbmRieQ0KICAgY29ubmVjdGlvbiBpcyBkaXNhYmxlZC4NCg0KICAgT25jZSB0aGUgc29ja2V0
IG9wdGlvbiBpcyBzcGVjaWZpZWQgYnkgc2V0c29ja29wdCgpLCBpdCByZW1haW5zDQogICBlZmZl
Y3RpdmUgdW50aWwgaXQgaXMgZGVhY3RpdmF0ZWQgKHN0aWNreSBvcHRpb24pLg0KDQo2LjQuICBT
SElNX1BBVEhFWFBMT1JFDQoNCiAgIFRoaXMgb3B0aW9uIGNhbiBiZSBzcGVjaWZpZWQgZWl0aGVy
IGJ5IHNldHNvY2tvcHQoKSBvciBnZXRzb2Nrb3B0KCkuDQogICBUaGUgdmFsdWUgc3BlY2lmaWVk
IGJ5IHRoZSBvcHRpb24gaW5kaWNhdGVzIGhvdyBwcm9hY3RpdmUgdGhlDQogICBhcHBsaWNhdGlv
biB3YW50cyBwYXRoIGV4cGxvcmF0aW9uIHRvIGJlIHBlcmZvcm1lZCBpbiBjYXNlIG9mDQogICBm
YWlsdXJlLiAgVGhlcmVmb3JlLCB0aGlzIG9wdGlvbiBpcyBlZmZlY3RpdmUgb25seSB3aGVuIHRo
ZXJlIGlzDQogICBhc3NvY2lhdGVkIHNoaW0gY29udGV4dCBmb3IgdGhlIHNvY2tldC4NCg0KICAg
QnkgZGVmYXVsdCwgdGhlIHZhbHVlIGlzIHNldCB0byBkZWZhdWx0IHZhbHVlIChUQkQpLCBtZWFu
aW5nIHRoYXQgdGhlDQogICBhdHRlbXB0cyBvZiBwYXRoIGV4cGxvcmF0aW9uIGlzIG1hZGUgdXAg
dG8gVEJEIHRpbWVzLiAgVGhlIGFyZ3VtZW50DQogICBvcHR2YWwgc3BlY2lmaWVkIGJ5IGdldHNv
Y2tvcHQoKSBtdXN0IGJlIHNtYWxsZXIgdGhhbiBtYXhpbXVtIHZhbHVlDQogICAoVEJEKS4NCg0K
ICAgT25jZSB0aGUgc29ja2V0IG9wdGlvbiBpcyBzcGVjaWZpZWQgYnkgc2V0c29ja29wdCgpLCBp
dCByZW1haW5zDQoNCg0KDQpLb211LCBldCBhbC4gICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3Qg
NSwgMjAwNiAgICAgICAgICAgICAgICBbUGFnZSAxNV0NCgwNCkludGVybmV0LURyYWZ0ICAgICAg
ICAgICAgIE11bHRpaG9tZWQgU2hpbSBBUEkgICAgICAgICAgICAgRmVicnVhcnkgMjAwNg0KDQoN
CiAgIGVmZmVjdGl2ZSB1bnRpbCBpdCBpcyBkZWFjdGl2YXRlZCAoc3RpY2t5IG9wdGlvbikuDQoN
CjYuNS4gIFNISU1fTE9DX0xPQ0FMX1BSRUYNCg0KICAgVGhpcyBvcHRpb24gY2FuIGJlIHNwZWNp
ZmllZCBlaXRoZXIgYnkgc2V0c29ja29wdCgpIG9yIGdldHNvY2tvcHQoKS4NCg0KICAgV2hlbiBz
cGVjaWZpZWQgYnkgc2V0c29ja29wdCgpLCBwcmVmZXJyZWQgbG9jYXRvciBvbiBsb2NhbCBzaWRl
IGlzDQogICBleHBsaWNpdGx5IGdpdmVuIHRvIHRoZSBzaGltIGxheWVyLiAgVGhlIHNoaW0gbGF5
ZXIgc2hhbGwgYWNjb3JkaW5nbHkNCiAgIHVwZGF0ZSB0aGUgcHJlZmVycmVkIGxvY2F0b3Igb2Yg
dGhlIGNvbnRleHQgYXNzb2NpYXRlZCB3aXRoIHRoZQ0KICAgc29ja2V0Lg0KDQogICBXaGVuIHNw
ZWNpZmllZCBieSBnZXRzb2Nrb3B0KCksIHByZWZlcnJlZCBsb2NhdG9yIG9uIGxvY2FsIHNpZGUg
aXMNCiAgIHJldHVybmVkIGJ5IHRoZSBzaGltIGxheWVyLg0KDQogICBBbiBlcnJvciBFTk9TSElN
Q09OVEVYVCB3aWxsIGJlIHJldHVybmVkIHdoZW4gdGhlcmUgaXMgbm8gY29udGV4dA0KICAgYXNz
b2NpYXRlZCB3aXRoIHRoZSBzb2NrZXQuDQoNCiAgIE9uY2UgdGhlIHNvY2tldCBvcHRpb24gaXMg
c3BlY2lmaWVkIGJ5IHNldHNvY2tvcHQoKSwgaXQgcmVtYWlucw0KICAgZWZmZWN0aXZlIHVudGls
IGl0IGlzIGRlYWN0aXZhdGVkIChzdGlja3kgb3B0aW9uKS4NCg0KNi42LiAgU0hJTV9MT0NfUEVF
Ul9QUkVGDQoNCiAgIFRoaXMgb3B0aW9uIGNhbiBiZSBzcGVjaWZpZWQgZWl0aGVyIGJ5IHNldHNv
Y2tvcHQoKSBvciBnZXRzb2Nrb3B0KCkuDQoNCiAgIFdoZW4gc3BlY2lmaWVkIGJ5IHNldHNvY2tv
cHQoKSwgcHJlZmVycmVkIGxvY2F0b3Igb24gcmVtb3RlIHNpZGUgaXMNCiAgIGV4cGxpY2l0bHkg
Z2l2ZW4gdG8gdGhlIHNoaW0gbGF5ZXIuICBUaGUgc2hpbSBsYXllciBzaGFsbCBhY2NvcmRpbmds
eQ0KICAgdXBkYXRlIHRoZSBwcmVmZXJyZWQgbG9jYXRvciBvZiB0aGUgY29udGV4dCBhc3NvY2lh
dGVkIHdpdGggdGhlDQogICBzb2NrZXQuDQoNCiAgIFdoZW4gc3BlY2lmaWVkIGJ5IGdldHNvY2tv
cHQoKSwgcHJlZmVycmVkIGxvY2F0b3Igb24gcmVtb3RlIHNpZGUgaXMNCiAgIHJldHVybmVkIGJ5
IHRoZSBzaGltIGxheWVyLg0KDQogICBBbiBlcnJvciBFTk9TSElNQ09OVEVYVCB3aWxsIGJlIHJl
dHVybmVkIHdoZW4gdGhlcmUgaXMgbm8gY29udGV4dA0KICAgYXNzb2NpYXRlZCB3aXRoIHRoZSBz
b2NrZXQuDQoNCiAgIEFuIGVycm9yIEVJTlZBTElETE9DQVRPUiB3aWxsIGJlIHJldHVybmVkIHdo
ZW4gdmFsaWRhdGlvbiBvZiB0aGUNCiAgIHNwZWNpZmllZCBsb2NhdG9yIGZhaWxlZC4NCg0KICAg
T25jZSB0aGUgc29ja2V0IG9wdGlvbiBpcyBzcGVjaWZpZWQgYnkgc2V0c29ja29wdCgpLCBpdCBy
ZW1haW5zDQogICBlZmZlY3RpdmUgdW50aWwgaXQgaXMgZGVhY3RpdmF0ZWQgKHN0aWNreSBvcHRp
b24pLg0KDQo2LjcuICBTSElNX0xPQ19MT0NBTF9SRUNWDQoNCiAgIFRoaXMgb3B0aW9uIGNhbiBi
ZSBzcGVjaWZpZWQgYnkgc2V0c29ja29wdCgpLg0KDQogICBXaGVuIHNwZWNpZmllZCBieSBzZXRz
b2Nrb3B0KCksIHRoZSBzaGltIGxheWVyIHN0b3JlcyB0aGUgZGVzdGluYXRpb24NCiAgIGxvY2F0
b3Igb2YgdGhlIHJlY2VpdmVkIElQIHBhY2tldCBpbiBhbiBhbmNpbGxhcnkgZGF0YSBvYmplY3Qg
d2hpY2gNCiAgIGNhbiBiZSBhY2Nlc3NlZCBieSByZWN2bXNnKCkuICBUaGUgYXJndW1lbnQgb3B0
dmFsIHZhbHVlIHNob3VsZCBiZQ0KDQoNCg0KS29tdSwgZXQgYWwuICAgICAgICAgICAgIEV4cGly
ZXMgQXVndXN0IDUsIDIwMDYgICAgICAgICAgICAgICAgW1BhZ2UgMTZdDQoMDQpJbnRlcm5ldC1E
cmFmdCAgICAgICAgICAgICBNdWx0aWhvbWVkIFNoaW0gQVBJICAgICAgICAgICAgIEZlYnJ1YXJ5
IDIwMDYNCg0KDQogICBzZXQgdG8gMS4NCg0KICAgQW4gZXJyb3IgRU5PU0hJTUNPTlRFWFQgd2ls
bCBiZSByZXR1cm5lZCB3aGVuIHRoZXJlIGlzIG5vIGNvbnRleHQNCiAgIGFzc29jaWF0ZWQgd2l0
aCB0aGUgc29ja2V0Lg0KDQogICBPbmNlIHRoZSBzb2NrZXQgb3B0aW9uIGlzIHNwZWNpZmllZCBi
eSBzZXRzb2Nrb3B0KCksIGl0IHJlbWFpbnMNCiAgIGVmZmVjdGl2ZSB1bnRpbCBpdCBpcyBkZWFj
dGl2YXRlZCAoc3RpY2t5IG9wdGlvbikuDQoNCjYuOC4gIFNISU1fTE9DX1BFRVJfUkVDVg0KDQog
ICBUaGlzIG9wdGlvbiBjYW4gYmUgc3BlY2lmaWVkIGJ5IHNldHNvY2tvcHQoKS4NCg0KICAgV2hl
biBzcGVjaWZpZWQgYnkgc2V0c29ja29wdCgpLCB0aGUgc2hpbSBsYXllciBzdG9yZXMgdGhlIHNv
dXJjZQ0KICAgbG9jYXRvciBvZiB0aGUgcmVjZWl2ZWQgSVAgcGFja2V0IGluIGFuIGFuY2lsbGFy
eSBkYXRhIG9iamVjdCB3aGljaA0KICAgY2FuIGJlIGFjY2Vzc2VkIGJ5IHJlY3Ztc2coKS4gIFRo
ZSBhcmd1bWVudCBvcHR2YWwgdmFsdWUgc2hvdWxkIGJlDQogICBzZXQgdG8gMS4NCg0KICAgQW4g
ZXJyb3IgRU5PU0hJTUNPTlRFWFQgd2lsbCBiZSByZXR1cm5lZCB3aGVuIHRoZXJlIGlzIG5vIGNv
bnRleHQNCiAgIGFzc29jaWF0ZWQgd2l0aCB0aGUgc29ja2V0Lg0KDQogICBPbmNlIHRoZSBzb2Nr
ZXQgb3B0aW9uIGlzIHNwZWNpZmllZCBieSBzZXRzb2Nrb3B0KCksIGl0IHJlbWFpbnMNCiAgIGVm
ZmVjdGl2ZSB1bnRpbCBpdCBpcyBkZWFjdGl2YXRlZCAoc3RpY2t5IG9wdGlvbikuDQoNCjYuOS4g
IFNISU1fTE9DTElTVF9MT0NBTA0KDQogICBUaGlzIG9wdGlvbiBjYW4gYmUgc3BlY2lmaWVkIGVp
dGhlciBieSBnZXRzb2Nrb3B0KCkgb3Igc2V0c29ja29wdCgpLg0KDQogICBXaGVuIHNwZWNpZmll
ZCBieSBzZXRzb2Nrb3B0KCksIGFwcGxpY2F0aW9uIHByb3ZpZGVzIGEgbGlzdCBvZg0KICAgbG9j
YXRvcnMgd2hpY2ggaXMgYXNzb2NpYXRlZCB3aXRoIHRoZSBsb2NhbCBFSUQgdG8gdGhlIHNoaW0g
bGF5ZXIuDQogICBBY2NvcmRpbmdseSwgdGhlIHNoaW0gbGF5ZXIgc2hhbGwgdXBkYXRlIHRoZSBs
aXN0IG9mIGxvY2F0b3JzDQogICBMcyhsb2NhbCkuICBUaGUgYXJndW1lbnQgb3B0dmFsIHNob3Vs
ZCBjb250YWluIGEgcG9pbnRlciB0byB0aGUNCiAgIGJ1ZmZlciBpbiB3aGljaCBhIGxpc3Qgb2Yg
bG9jYXRvcnMgYXJlIHN0b3JlZC4gIFNlZSBTZWN0aW9uIDggZm9yDQogICBkZXRhaWwuDQoNCiAg
IFdoZW4gc3BlY2lmaWVkIGJ5IGdldHNvY2tvcHQoKSwgYXBwbGljYXRpb24gb2J0YWlucyBhIGxp
c3Qgb2YNCiAgIGxvY2F0b3JzIHdoaWNoIGlzIGFzc29jaWF0ZWQgd2l0aCB0aGUgbG9jYWwgRUlE
Lg0KDQogICBBbiBlcnJvciBFTk9TSElNQ09OVEVYVCB3aWxsIGJlIHJldHVybmVkIHdoZW4gdGhl
cmUgaXMgbm8gY29udGV4dA0KICAgYXNzb2NpYXRlZCB3aXRoIHRoZSBzb2NrZXQuDQoNCiAgIE9u
Y2UgdGhlIHNvY2tldCBvcHRpb24gaXMgc3BlY2lmaWVkIGJ5IHNldHNvY2tvcHQoKSwgaXQgcmVt
YWlucw0KICAgZWZmZWN0aXZlIHVudGlsIGl0IGlzIGRlYWN0aXZhdGVkIChzdGlja3kgb3B0aW9u
KS4NCg0KNi4xMC4gIFNISU1fTE9DTElTVF9SRU1PVEUNCg0KICAgVGhpcyBvcHRpb24gY2FuIGJl
IHNwZWNpZmllZCBlaXRoZXIgYnkgZ2V0c29ja29wdCgpIG9yIHNldHNvY2tvcHQoKS4NCg0KICAg
V2hlbiBzcGVjaWZpZWQgYnkgc2V0c29ja29wdCgpLCBhcHBsaWNhdGlvbiBwcm92aWRlcyBhIGxp
c3Qgb2YNCg0KDQoNCktvbXUsIGV0IGFsLiAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCA1LCAy
MDA2ICAgICAgICAgICAgICAgIFtQYWdlIDE3XQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAg
ICAgTXVsdGlob21lZCBTaGltIEFQSSAgICAgICAgICAgICBGZWJydWFyeSAyMDA2DQoNCg0KICAg
bG9jYXRvcnMgd2hpY2ggaXMgYXNzb2NpYXRlZCB3aXRoIHRoZSByZW1vdGUgRUlEIHRvIHRoZSBz
aGltIGxheWVyLg0KICAgQWNjb3JkaW5nbHksIHRoZSBzaGltIGxheWVyIHNoYWxsIHVwZGF0ZSB0
aGUgbGlzdCBvZiBsb2NhdG9ycw0KICAgTHMocmVtb3RlKS4gIFRoZSBhcmd1bWVudCBvcHR2YWwg
c2hvdWxkIGNvbnRhaW4gYSBwb2ludGVyIHRvIHRoZQ0KICAgYnVmZmVyIGluIHdoaWNoIGEgbGlz
dCBvZiBsb2NhdG9ycyBhcmUgc3RvcmVkLiAgU2VlIFNlY3Rpb24gWC5YIGZvcg0KICAgZGV0YWls
Lg0KDQogICBXaGVuIHNwZWNpZmllZCBieSBnZXRzb2Nrb3B0KCksIGFwcGxpY2F0aW9uIG9idGFp
bnMgYSBsaXN0IG9mDQogICBsb2NhdG9ycyB3aGljaCBpcyBhc3NvY2lhdGVkIHdpdGggdGhlIHJl
bW90ZSBFSUQuDQoNCiAgIEFuIGVycm9yIEVOT1NISU1DT05URVhUIHdpbGwgYmUgcmV0dXJuZWQg
d2hlbiB0aGVyZSBpcyBubyBjb250ZXh0DQogICBhc3NvY2lhdGVkIHdpdGggdGhlIHNvY2tldC4N
Cg0KICAgT25jZSB0aGUgc29ja2V0IG9wdGlvbiBpcyBzcGVjaWZpZWQgYnkgc2V0c29ja29wdCgp
LCBpdCByZW1haW5zDQogICBlZmZlY3RpdmUgdW50aWwgaXQgaXMgZGVhY3RpdmF0ZWQgKHN0aWNr
eSBvcHRpb24pLg0KDQo2LjExLiAgU0hJTV9USU1FUl9LRUVQQUxJVkUNCg0KICAgVGhpcyBvcHRp
b24gY2FuIGJlIHNwZWNpZmllZCBieSBzZXRzb2Nrb3B0KCkuDQoNCiAgIFRoZSBhcHBsaWNhdGlv
biBjYW4gaW5mb3JtIHRoZSBzaGltIGxheWVyIGFib3V0IHRoZSB0aW1lciB2YWx1ZSBmb3INCiAg
IGtlZXBhbGl2ZS4gIFRoZSBhcmd1bWVudCBvcHR2YWwgc2hvdWxkIGNvbnRhaW4gdGhlIHRpbWVy
IHZhbHVlIGluDQogICBzZWNvbmRzLiAgQWNjb3JkaW5nbHksIHRoZSBzaGltIGxheWVyIHNoYWxs
IHVwZGF0ZSB0aGUgc3RyYXRlZ3kgZm9yDQogICByZWFjaGFiaWxpdHkgdGVzdC4gIEVzcGVjaWFs
bHksIHRoaXMgaXMgZWZmaWNpZW50IGluIGEgY2FzZSB3aGVyZSB0aGUNCiAgIGluZm9ybWVkIHRp
bWVyIHZhbHVlIGlzIHNob3J0ZXIgdGhhbiB0aGUgaW50ZXJ2YWwgb2Yga2VlcGFsaXZlLiAgSW4N
CiAgIHN1Y2ggY2FzZSwga2VlcGFsaXZlcyB0byBiZSBwZXJmb3JtZWQgYnkgUkVBUCBtYXkgYmUg
c3VwcHJlc3NlZC4NCg0KICAgQW4gZXJyb3IgRU5PU0hJTUNPTlRFWFQgd2lsbCBiZSByZXR1cm5l
ZCB3aGVuIHRoZXJlIGlzIG5vIGNvbnRleHQNCiAgIGFzc29jaWF0ZWQgd2l0aCB0aGUgc29ja2V0
Lg0KDQogICBPbmNlIHRoZSBzb2NrZXQgb3B0aW9uIGlzIHNwZWNpZmllZCBieSBzZXRzb2Nrb3B0
KCksIGl0IHJlbWFpbnMNCiAgIGVmZmVjdGl2ZSB1bnRpbCBpdCBpcyBkZWFjdGl2YXRlZCAoc3Rp
Y2t5IG9wdGlvbikuDQoNCjYuMTIuICBTSElNX0ZFRURCQUNLX1BPU0lUSVZFDQoNCiAgIFRoaXMg
b3B0aW9uIGNhbiBiZSBzcGVjaWZpZWQgYnkgc2V0c29ja29wdCgpLg0KDQogICBUaGUgYXBwbGlj
YXRpb24gY2FuIHNpbXBseSBpbmZvcm0gdGhlIHNoaW0gbGF5ZXIgdGhhdCBpdHMNCiAgIGNvbW11
bmljYXRpb24gaXMgZ29pbmcgd2VsbC4gIFRoZSBhcmd1bWVudCBvcHR2YWwgc2hvdWxkIGJlIHNl
dCB0byAxLg0KDQogICBBbiBlcnJvciBFTk9TSElNQ09OVEVYVCB3aWxsIGJlIHJldHVybmVkIHdo
ZW4gdGhlcmUgaXMgbm8gY29udGV4dA0KICAgYXNzb2NpYXRlZCB3aXRoIHRoZSBzb2NrZXQuDQoN
CjYuMTMuICBTSElNX0ZFRURCQUNLX05FR0FUSVZFDQoNCiAgIFRoaXMgb3B0aW9uIGNhbiBiZSBz
cGVjaWZpZWQgYnkgc2V0c29ja29wdCgpLg0KDQogICBUaGUgYXBwbGljYXRpb24gY2FuIGluZm9y
bSB0aGUgc2hpbSBsYXllciB0aGF0IGl0cyBjb21tdW5pY2F0aW9uIGlzDQogICBub3QgZ29pbmcg
d2VsbC4gIFRoZSBhcmd1bWVudCBvcHR2YWwgc2hvdWxkIGJlIFRCRC4NCg0KDQoNCktvbXUsIGV0
IGFsLiAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCA1LCAyMDA2ICAgICAgICAgICAgICAgIFtQ
YWdlIDE4XQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgTXVsdGlob21lZCBTaGltIEFQ
SSAgICAgICAgICAgICBGZWJydWFyeSAyMDA2DQoNCg0KICAgQW4gZXJyb3IgRU5PU0hJTUNPTlRF
WFQgd2lsbCBiZSByZXR1cm5lZCB3aGVuIHRoZXJlIGlzIG5vIGNvbnRleHQNCiAgIGFzc29jaWF0
ZWQgd2l0aCB0aGUgc29ja2V0Lg0KDQo2LjE0LiAgU0hJTV9JRl9SRUNWDQoNCiAgIFRoaXMgb3B0
aW9uIGNhbiBiZSBzcGVjaWZpZWQgYnkgc2V0c29ja29wdCgpLg0KDQogICBUaGUgYXBwbGljYXRp
b24gY2FuIHJlcXVlc3QgdGhlIHNoaW0gbGF5ZXIgdG8gcHJvdmlkZSBpbnRlcmZhY2UgZnJvbQ0K
ICAgd2hpY2ggdGhlIHBhY2tldCBpcyByZWNlaXZlZC4gIE9uY2UgdGhlIHNvY2tldCBvcHRpb24g
aXMgc3VjY2Vzc2Z1bGx5DQogICBzZXQsIHRoZSBpbnRlcmZhY2UgaW5mb3JtYXRpb24gY2FuIGJl
IG9idGFpbmVkIGJ5IHJlY3Ztc2coKSBmcm9tIHRoZQ0KICAgYW5jaWxsYXJ5IGRhdGEuICBUaGUg
YXJndW1lbnQgb3B0dmFsIHNob3VsZCBiZSBzZXQgdG8gMS4NCg0KICAgQW4gZXJyb3IgRU5PU0hJ
TUNPTlRFWFQgd2lsbCBiZSByZXR1cm5lZCB3aGVuIHRoZXJlIGlzIG5vIGNvbnRleHQNCiAgIGFz
c29jaWF0ZWQgd2l0aCB0aGUgc29ja2V0Lg0KDQogICBPbmNlIHRoZSBzb2NrZXQgb3B0aW9uIGlz
IHNwZWNpZmllZCBieSBzZXRzb2Nrb3B0KCksIGl0IHJlbWFpbnMNCiAgIGVmZmVjdGl2ZSB1bnRp
bCBpdCBpcyBkZWFjdGl2YXRlZCAoc3RpY2t5IG9wdGlvbikuDQoNCjYuMTUuICBTSElNX0lGX1NF
TkQNCg0KICAgVGhpcyBvcHRpb24gY2FuIGJlIHNwZWNpZmllZCBieSBzZXRzb2Nrb3B0KCkuDQoN
CiAgIFRoZSBhcHBsaWNhdGlvbiBjYW4gc3BlY2lmeSBvdXRnb2luZyBpbnRlcmZhY2Ugb2YgdGhl
IG91dGJvdW5kDQogICB0cmFmZmljIG92ZXIgdGhlIHNvY2tldC4gIEFwcGxpY2F0aW9uIHNob3Vs
ZCBzcGVjaWZ5IHRoZSByZXF1ZXN0ZWQNCiAgIGludGVyZmFjZSBpZGVudGlmaWVyIGluIHRoZSBh
cmd1bWVudCBvcHR2YWwuICBBbHRlcm5hdGl2ZWx5LCB0aGlzDQogICBvcHRpb24gY2FuIGFsc28g
YmUgc3BlY2lmaWVkIGluIGFuY2lsbGFyeSBkYXRhIGluIGFsb25nIHdpdGgNCiAgIHNlbmRtc2co
KSBjYWxsLg0KDQogICBPbmNlIHRoZSBzb2NrZXQgb3B0aW9uIGlzIHNwZWNpZmllZCBieSBzZXRz
b2Nrb3B0KCksIGl0IHJlbWFpbnMNCiAgIGVmZmVjdGl2ZSB1bnRpbCBpdCBpcyBkZWFjdGl2YXRl
ZCAoc3RpY2t5IG9wdGlvbikuDQoNCjYuMTYuICBFcnJvciBIYW5kbGluZw0KDQogICBJZiBzdWNj
ZXNzZnVsLCBnZXRzb2Nrb3B0KCkgYW5kIHNldHNvY2tvcHQoKSByZXR1cm4gMDsgb3RoZXJ3aXNl
LCB0aGUNCiAgIGZ1bmN0aW9ucyByZXR1cm4gLTEgYW5kIHNldCBlcnJubyB0byBpbmRpY2F0ZSBl
cnJvci4NCg0KICAgRm9sbG93aW5nIGFyZSBlcnJubyBjb2RlcyBuZXdseSBkZWZpbmVkIGZvciBz
b21lIHNoaW0gc3BlY2lmaWMgc29ja2V0DQogICBvcHRpb25zIGluZGljYXRpbmcgdGhhdCB0aGUg
Z2V0c29ja29wdCgpIG9yIHNldHNvY2tvcHQoKSBmaW5pc2hlZA0KICAgaW5jb21wbGV0ZWx5Og0K
DQogICAgICBFTk9TSElJTUNPTlRFWFQgLSBBbnkgc2hpbSBjb250ZXh0IGRvZXMgbm90IGV4aXN0
IHdoaWNoIGlzDQogICAgICBhc3NvY2lhdGVkIHdpdGggdGhlIHNvY2tldC4NCg0KICAgICAgRUlO
VkFMSURMT0NBVE9SIC0gQW4gaW52YWxpZCBsb2NhdG9yIHdhcyBzcGVjaWZpZWQgYnkgdGhlIHNv
Y2tldA0KICAgICAgb3B0aW9uLiAgVGhpcyBpbmRpY2F0ZXMgdGhhdCBhbnkgb2YgdGhlIG5lY2Vz
c2FyeSB2YWxpZGF0aW9ucw0KICAgICAgaW5zaWRlIHRoZSBzaGltIGxheWVyIG9uIHNwZWNpZmll
ZCBsb2NhdG9yIHdhcyBmYWlsZWQuICBJbiBjYXNlIG9mDQogICAgICBTSElNNiwgdGhlcmUgYXJl
IHR3byBraW5kcyBvZiB2ZXJpZmljYXRpb25zIHJlcXVpcmVkIHByaW9yIHRvDQogICAgICBzZW5k
aW5nIGFuIElQIHBhY2tldCB0byB0aGUgcGVlcidzIG5ldyBhZGRyZXNzOyBvbmUgaXMgcmV0dXJu
DQoNCg0KDQpLb211LCBldCBhbC4gICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgNSwgMjAwNiAg
ICAgICAgICAgICAgICBbUGFnZSAxOV0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgIE11
bHRpaG9tZWQgU2hpbSBBUEkgICAgICAgICAgICAgRmVicnVhcnkgMjAwNg0KDQoNCiAgICAgIHJv
dXRhYmlsaXR5IChjaGVjayBpZiB0aGUgcGVlciBpcyBhY3R1YWxseSB3aWxsaW5nIHRvIHJlY2Vp
dmUgZGF0YQ0KICAgICAgd2l0aCB0aGUgc3BlY2lmaWVkIGxvY2F0b3IpIGFuZCB0aGUgb3RoZXIg
aXMgdmVyaWZpY2F0aW9ucyBiYXNlZA0KICAgICAgb24gZ2l2ZW4gY3J5cHRvIGxvY2F0b3IgbWVj
aGFuaXNtc1tSRkMzOTcyXSwgW0ktRC5pZXRmLXNoaW02LWhiYV0uDQoNCg0KDQoNCg0KDQoNCg0K
DQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoN
Cg0KDQoNCg0KDQoNCg0KDQoNCg0KDQpLb211LCBldCBhbC4gICAgICAgICAgICAgRXhwaXJlcyBB
dWd1c3QgNSwgMjAwNiAgICAgICAgICAgICAgICBbUGFnZSAyMF0NCgwNCkludGVybmV0LURyYWZ0
ICAgICAgICAgICAgIE11bHRpaG9tZWQgU2hpbSBBUEkgICAgICAgICAgICAgRmVicnVhcnkgMjAw
Ng0KDQoNCjcuICBBY2Nlc3MgdG8gTG9jYXRvciBJbmZvcm1hdGlvbg0KDQogICBJbiB0aGlzIHNl
Y3Rpb24sIHRoZSB3YXkgaG93IHRvIGFjY2VzcyBsb2NhdG9yIGluZm9ybWF0aW9uIHdpdGggc29t
ZQ0KICAgSS9PIGNhbGxzIGlzIHByZXNlbnRlZC4gIEFzIGRlZmluZWQgaW4gUG9zaXguMWcsIHNl
bmRtc2coKSBhbmQNCiAgIHJlY3Ztc2coKSB0YWtlIG1zZ2hkciBzdHJ1Y3R1cmUgYXMgaXRzIGFy
Z3VtZW50IGFuZCB0aGV5IGNhbg0KICAgYWRkaXRpb25hbGx5IGhhbmRsZSBjb250cm9sIGluZm9y
bWF0aW9uIGluIGFsb25nIHdpdGggZGF0YS4gIEZpZ3VyZSAzDQogICBzaG93cyB0aGUgbXNnaGRy
IHN0cnVjdHVyZSB3aGljaCBpcyBkZWZpbmVkIGluIDxzeXMvc29ja2V0Lmg+Lg0KICAgbXNnX2Nv
bnRyb2wgbWVtYmVyIGhvbGRzIGEgcG9pbnRlciB0byB0aGUgYnVmZmVyIHdoZXJlIHRoZSBzaGlt
DQogICBzcGVjaWZpYyBhbmNpbGxhcnkgZGF0YSBvYmplY3RzIGFyZSBzdG9yZWQuDQoNCiAgICAg
ICAgc3RydWN0IG1zZ2hkciB7DQogICAgICAgICAgICAgICAgY2FkZHJfdCBtc2dfbmFtZTsgICAg
ICAgLyogb3B0aW9uYWwgYWRkcmVzcyAqLw0KICAgICAgICAgICAgICAgIHVfaW50ICAgbXNnX25h
bWVsZW47ICAgIC8qIHNpemUgb2YgYWRkcmVzcyAqLw0KICAgICAgICAgICAgICAgIHN0cnVjdCAg
aW92ZWMgKm1zZ19pb3Y7IC8qIHNjYXR0ZXIvZ2F0aGVyIGFycmF5ICovDQogICAgICAgICAgICAg
ICAgdV9pbnQgICBtc2dfaW92bGVuOyAgICAgLyogIyBlbGVtZW50cyBpbiBtc2dfaW92ICovDQog
ICAgICAgICAgICAgICAgY2FkZHJfdCBtc2dfY29udHJvbDsgICAgLyogYW5jaWxsYXJ5IGRhdGEs
IHNlZSBiZWxvdyAqLw0KICAgICAgICAgICAgICAgIHVfaW50ICAgbXNnX2NvbnRyb2xsZW47IC8q
IGFuY2lsbGFyeSBkYXRhIGJ1ZmZlciBsZW4gKi8NCiAgICAgICAgICAgICAgICBpbnQgICAgIG1z
Z19mbGFnczsgICAgICAvKiBmbGFncyBvbiByZWNlaXZlZCBtZXNzYWdlICovDQogICAgICAgIH07
DQoNCiAgIEZpZ3VyZSAzOiBtc2doZHIgc3RydWN0dXJlDQoNCiAgIElTU1VFOiBTaG91bGQgd2Ug
aW50cm9kdWNlIGEgbmV3IGZsYWcgZm9yIG1zZ19mbGFncyAoZS5nLg0KICAgTVNHX1NISU1NRUQp
ID8gIEZvbGxvd2luZyB0aGUgcHJhY3RpY2UsIGl0IHNlZW1zIHJlYXNvbmFibGUgdG8gZG8gc28s
DQogICBidXQgbm90IHN1cmUgaG93IG11Y2ggaXQgaXMgdXNlZnVsLg0KDQogICBUaGUgYnVmZmVy
IHBvaW50ZWQgZnJvbSB0aGUgbXNnX2NvbnRyb2wgbWVtYmVyIG9mIHRoZSBtc2doZHINCiAgIHN0
cnVjdHVyZSBzaG91bGQgY29udGFpbiBzaW5nbGUgbG9jYXRvciBhbmQgaXQgc2hvdWxkIGJlIHBv
c3NpYmxlIHRvDQogICBwcm9jZXNzIHRoZW0gd2l0aCBleGlzdGluZyBtYWNyb3MgZGVmaW5lZCBp
biBQb3NpeCBhbmQgW1JGQzM1NDJdLg0KICAgRWFjaCBjbXNnaGRye30gc2hvdWxkIGJlIGZvbGxv
d2VkIGJ5IGEgZGF0YSB3aGljaCBzdG9yZXMgc2luZ2xlDQogICBsb2NhdG9yLg0KDQogICBJbiBj
YXNlIG9mIG5vbi1jb25uZWN0ZWQgc29ja2V0LCBtc2dfbmFtZSBtZW1iZXIgc3RvcmVzIHRoZSBz
b2NrZXQNCiAgIGFkZHJlc3Mgb2YgdGhlIHBlZXIgd2hpY2ggc2hvdWxkIGJlIGNvbnNpZGVyZWQg
YXMgaWRlbnRpZmllciByYXRoZXINCiAgIHRoYW4gbG9jYXRvci4gIExvY2F0b3Igb2YgdGhlIHBl
ZXIgbm9kZSBzaG91bGQgYmUgcmV0cmlldmVkIGJ5DQogICBTSElNX0xPQ19SRU1PVEVfUkVDViBh
cyBzcGVjaWZpZWQgYmVsb3cuDQoNCiAgIFRhYmxlIDIgaXMgYSBsaXN0IG9mIHNoaW0gc3BlY2lm
aWMgYW5jaWxsYXJ5IGRhdGEgd2hpY2ggY2FuIGJlIHVzZWQNCiAgIGZvciByZWN2bXNnKCkgb3Ig
c2VuZG1zZygpLiAgSW4gYW55IGNhc2UsIFNPTF9TSElNIG11c3QgYmUgc2V0IGFzDQogICBjbXNn
X2xldmVsLg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCktvbXUsIGV0IGFsLiAgICAgICAgICAgICBF
eHBpcmVzIEF1Z3VzdCA1LCAyMDA2ICAgICAgICAgICAgICAgIFtQYWdlIDIxXQ0KDA0KSW50ZXJu
ZXQtRHJhZnQgICAgICAgICAgICAgTXVsdGlob21lZCBTaGltIEFQSSAgICAgICAgICAgICBGZWJy
dWFyeSAyMDA2DQoNCg0KICAgICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0r
LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSsNCiAgICAgICB8IGNtc2dfdHlwZSAgICAgICAgICAg
fCBzZW5kbXNnKCkgfCByZWN2bXNnKCkgfCBjbXNnX2RhdGFbXSB8DQogICAgICAgKy0tLS0tLS0t
LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKw0KICAg
ICAgIHwgU0hJTV9MT0NfTE9DQUxfUkVDViB8ICAgICAgICAgICB8IG8gICAgICAgICB8ICoxICAg
ICAgICAgIHwNCiAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgfCAgICAg
ICAgICAgfCAgICAgICAgICAgICB8DQogICAgICAgfCBTSElNX0xPQ19QRUVSX1JFQ1YgIHwgICAg
ICAgICAgIHwgbyAgICAgICAgIHwgKjEgICAgICAgICAgfA0KICAgICAgIHwgICAgICAgICAgICAg
ICAgICAgICB8ICAgICAgICAgICB8ICAgICAgICAgICB8ICAgICAgICAgICAgIHwNCiAgICAgICB8
IFNISU1fTE9DX0xPQ0FMX1NFTkQgfCBvICAgICAgICAgfCAgICAgICAgICAgfCAqMSAgICAgICAg
ICB8DQogICAgICAgfCAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgIHwgICAgICAgICAg
IHwgICAgICAgICAgICAgfA0KICAgICAgIHwgU0hJTV9MT0NfUEVFUl9TRU5EICB8IG8gICAgICAg
ICB8ICAgICAgICAgICB8ICoxICAgICAgICAgIHwNCiAgICAgICB8ICAgICAgICAgICAgICAgICAg
ICAgfCAgICAgICAgICAgfCAgICAgICAgICAgfCAgICAgICAgICAgICB8DQogICAgICAgfCBTSElN
X0lGX1JFQ1YgICAgICAgIHwgICAgICAgICAgIHwgbyAgICAgICAgIHwgaW50ICAgICAgICAgfA0K
ICAgICAgIHwgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICB8ICAgICAgICAgICB8ICAg
ICAgICAgICAgIHwNCiAgICAgICB8IFNISU1fSUZfU0VORCAgICAgICAgfCBvICAgICAgICAgfCAg
ICAgICAgICAgfCBpbnQgICAgICAgICB8DQogICAgICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLSst
LS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKw0KDQogICAgICAgICAgICAgICAg
ICAgVGFibGUgMjogU2hpbSBzcGVjaWZpYyBhbmNpbGxhcnkgZGF0YQ0KDQogICAqMTogY21zZ19k
YXRhW10gc2hvdWxkIGluY2x1ZGUgcGFkZGluZyAoaWYgbmVjZXNzYXJ5KSBhbmQgYSBzaW5nbGUN
CiAgIHNvY2thZGRyX3N0b3JhZ2V7fSBhIHByb3RvY29sIGluZGVwZW5kZW50IHBsYWNlaG9sZGVy
IGZvciBzb2NrZXQNCiAgIGFkZHJlc3Nlcy4NCg0KICAgSVNTVUU6IElzIHRoZSBkZXNpZ24gY2hv
aWNlICh0byB1c2Ugc29ja2FkZHJfc3RvcmFnZXt9KSByZWFzb25hYmxlID8NCg0KICAgSXQgc2hv
dWxkIGJlIG5vdGVkIHRoYXQgYWJvdmUgYW5jaWxsYXJ5IGRhdGEgY2FuIG9ubHkgYmUgaGFuZGxl
ZCBpbg0KICAgVURQIGFuZCByYXcgc29ja2V0cywgbm90IGluIFRDUCBzb2NrZXRzLiAgQXMgZXhw
bGFpbmVkIGluIFtSRkMzNTQyXSwNCiAgIHRoZXJlIGlzIG5vIG9uZS10by1vbmUgbWFwcGluZyBv
ZiBzZW5kL3JlY2VpdmUgb3BlcmF0aW9ucyBhbmQgdGhlIFRDUA0KICAgc2VnbWVudHMgYmVpbmcg
dHJhbnNtaXR0ZWQvcmVjZWl2ZWQuICBJbiBjYXNlIG9mIFRDUCwgYXBwbGljYXRpb24gbWF5DQog
ICB1c2Ugc2V0c29ja29wdCgpIG9yIGdldHNvY2tvcHQoKSB0byBhY2Nlc3Mgb3Igc3BlY2lmeSBz
b21lIG9mIGxvY2F0b3INCiAgIGluZm9ybWF0aW9uIHByb3ZpZGVkIGJ5IHRoZSBzaGltIGxheWVy
Lg0KDQo3LjEuICBHZXQgTG9jYXRvciBJbmZvcm1hdGlvbiBmcm9tIEluY29taW5nIFBhY2tldA0K
DQogICBBcHBsaWNhdGlvbiBjYW4gZ2V0IGxvY2F0b3IgaW5mb3JtYXRpb24gZnJvbSB0aGUgcmVj
ZWl2ZWQgSVAgcGFja2V0DQogICBieSBzcGVjaWZ5aW5nIHNoaW0gc3BlY2lmaWMgc29ja2V0IG9w
dGlvbnMgZm9yIHRoZSBzb2NrZXQuICBXaGVuDQogICBTSElNX0xPQ19MT0NBTF9SRUNWIGFuZC9v
ciBTSElNX0xPQ19QRUVSX1JFQ1Ygc29ja2V0IG9wdGlvbnMgYXJlIHNldCwNCiAgIGFwcGxpY2F0
aW9uIGNhbiByZXRyaWV2ZSBsb2NhbCBhbmQvb3IgcmVtb3RlIGxvY2F0b3IgZnJvbSB0aGUNCiAg
IGFuY2lsbGFyeSBkYXRhLg0KDQogICBJbiBhZGRpdGlvbiwgYXBwbGljYXRpb24gY2FuIGdldCB0
aGUgcmVjZWl2aW5nIGludGVyZmFjZSBmcm9tIHRoZQ0KICAgYW5jaWxsYXJ5IGRhdGEgbWFya2Vk
IHdpdGggU0hJTV9JRl9SRUNWLiAgVGhlIGFuY2lsbGFyeSBkYXRhIHNob3VsZA0KICAgY29udGFp
biBhbiBpbnRlcmZhY2UgaWRlbnRpZmllciBvZiB0aGUgcGh5c2ljYWwgaW50ZXJmYWNlIHdoaWNo
IHdhcw0KICAgYWN0dWFsbHkgdXNlZCB0byByZWNlaXZlIHRoZSBwYWNrZXQuDQoNCjcuMi4gIFNw
ZWNpZnkgTG9jYXRvciBJbmZvcm1hdGlvbiBmb3IgT3V0Z29pbmcgUGFja2V0DQoNCiAgIEFwcGxp
Y2F0aW9uIGNhbiBzcGVjaWZ5IGxvY2F0b3IgdG8gYmUgdXNlZCBmb3IgdHJhbnNtaXR0aW5nIGFu
IElQDQogICBwYWNrZXQgYnkgc2VuZG1zZygpLiAgV2hlbiBhbmNpbGxhcnkgZGF0YSBvZiBjbXNn
X3R5cGUNCg0KDQoNCktvbXUsIGV0IGFsLiAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCA1LCAy
MDA2ICAgICAgICAgICAgICAgIFtQYWdlIDIyXQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAg
ICAgTXVsdGlob21lZCBTaGltIEFQSSAgICAgICAgICAgICBGZWJydWFyeSAyMDA2DQoNCg0KICAg
U0hJTV9MT0NfTE9DQUxfU0VORCBhbmQvb3IgU0hJTV9MT0NfUEVFUl9TRU5EIGFyZSBzcGVjaWZp
ZWQsIHRoZQ0KICAgYXBwbGljYXRpb24gY2FuIGV4cGxpY2l0bHkgc3BlY2lmeSBzb3VyY2UgYW5k
L29yIGRlc3RpbmF0aW9uIGxvY2F0b3INCiAgIHRvIGJlIHVzZWQgZm9yIHRoZSBjb21tdW5pY2F0
aW9uIG92ZXIgdGhlIHNvY2tldC4NCg0KICAgSW4gYWRkaXRpb24sIGFwcGxpY2F0aW9uIGNhbiBz
cGVjaWZ5IHRoZSBvdXRnb2luZyBpbnRlcmZhY2UgYnkNCiAgIFNISU1fSUZfU0VORCBhbmNpbGxh
cnkgZGF0YS4gIFRoZSBhbmNpbGxhcnkgZGF0YSBzaG91bGQgY29udGFpbiBhbg0KICAgaW50ZXJm
YWNlIGlkZW50aWZpZXIgb2YgdGhlIHBoeXNpY2FsIGludGVyZmFjZSBvdmVyIHdoaWNoIHRoZQ0K
ICAgYXBwbGljYXRpb24gZXhwZWN0IHRoZSBwYWNrZXQgdG8gYmUgdHJhbnNtaXR0ZWQuDQoNCiAg
IE5vdGUgdGhhdCB0aGUgZWZmZWN0IGlzIGxpbWl0ZWQgdG8gdGhlIGRhdGFncmFtIHRyYW5zbWl0
dGVkIGJ5IHRoZQ0KICAgc2VuZG1zZygpLiAgSWYgdGhlIHNwZWNpZmllZCBsb2NhdG9yIHBhaXIg
c2VlbSB0byBiZSB2YWxpZCwgdGhlIHNoaW0NCiAgIGxheWVyIG92ZXJyaWRlcyB0aGUgbG9jYXRv
ciBvZiB0aGUgSVAgcGFja2V0IGFzIHJlcXVlc3RlZC4NCg0KICAgQW4gZXJyb3IgRUlOVkFMSURM
T0NBVE9SIHdpbGwgYmUgcmV0dXJuZWQgd2hlbiB2YWxpZGF0aW9uIG9mIHRoZQ0KICAgc3BlY2lm
aWVkIGxvY2F0b3IgZmFpbGVkLg0KDQogICBJU1NVRTogSXMgdGhlcmUgYW55IG90aGVyIHR5cGUg
b2YgZXJyb3IgdGhhdCB3ZSBzaG91bGQgc3BlY2lmaWNhbGx5DQogICBoYW5kbGUgPw0KDQoNCg0K
DQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoN
Cg0KS29tdSwgZXQgYWwuICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDUsIDIwMDYgICAgICAg
ICAgICAgICAgW1BhZ2UgMjNdDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICBNdWx0aWhv
bWVkIFNoaW0gQVBJICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDYNCg0KDQo4LiAgRGF0YSBTdHJ1
Y3R1cmVzDQoNCiAgIFNvbWUgb2YgdGhlIHNvY2tldCBvcHRpb25zIGRlZmluZSBpbiB0aGlzIGRv
Y3VtZW50IHJlcXVpcmVzIHNwZWNpZmljDQogICBkYXRhIHN0cnVjdHVyZXMgZm9yIGV4Y2hhbmdp
bmcgaW5mb3JtYXRpb24uICBUaG9zZSBkYXRhIHN0cnVjdHVyZXMNCiAgIGFyZSBpbGx1c3RyYXRl
ZCBpbiB0aGlzIHNlY3Rpb24uDQoNCjguMS4gIFBsYWNlaG9sZGVyIGZvciBMb2NhdG9yIEluZm9y
bWF0aW9uDQoNCiAgIFNvbWUgb2YgdGhlIHNvY2tldCBvcHRpb25zIGRlZmluZWQgaW4gdGhpcyBk
b2N1bWVudCBoYW5kbGUgbG9jYXRvcg0KICAgaW5mb3JtYXRpb24gaW4gaXRzIGxvY2F0b3IgbWFu
YWdlbWVudC4gIExvY2F0b3IgaW5mb3JtYXRpb24gY291bGQgYmUNCiAgIGEgc2luZ2xlIGxvY2F0
b3Igb3IgYW4gYXJyYXkgb2YgbG9jYXRvcnMuICBJbXBvcnRhbnQgcmVxdWlyZW1lbnQgaXMNCiAg
IHRoYXQgbG9jYXRvciBpbmZvcm1hdGlvbiBzaG91bGQgYmUgaGFuZGxlZCBpbiBhIHByb3RvY29s
IGluZGVwZW5kZW50DQogICBtYW5uZXIuICBJbiBvdGhlciB3b3JkcywgYW4gaW50ZXJmYWNlIHRv
IHRoZSBsb2NhdG9yIGluZm9ybWF0aW9uDQogICBzaG91bGQgbm90IGJlIGRlcGVuZGVudCB0byBh
bnkgYWRkcmVzcyBmYW1pbHkuDQoNCjguMS4xLiAgYWRkcmluZm8gc3RydWN0dXJlDQoNCiAgIGFk
ZHJpbmZvIHN0cnVjdHVyZSBpbiBhbG9uZyB3aXRoIGdldGFkZHJpbmZvKCkgZnVuY3Rpb24gYXJl
IGRlZmluZWQNCiAgIGluIFBvc2l4LjFnLCB3aGljaCBpcyB1c2VmdWwgZm9yIHByb2dyYW1taW5n
IGFwcGxpY2F0aW9uIGluIHByb3RvY29sDQogICBpbmRlcGVuZGVudCBtYW5uZXIuICBBcyBtZW50
aW9uZWQgZWFybGllciwgcHJvdG9jb2wgaW5kZXBlbmRlbmN5IGlzDQogICByZXF1aXJlZCBpbiBs
b2NhdG9yIG1hbmFnZW1lbnQgYXQgdGhlIHNoaW0gbGF5ZXIsIHRodXMgd2UgcHJvcG9zZSB0bw0K
ICAgdXNlIGFkZHJpbmZvIHN0cnVjdHVyZSBhcyBhIHBsYWNlaG9sZGVyIGZvciBsb2NhdG9ycy4N
Cg0KICAgQSBjaGFpbiBvZiBhZGRyaW5mbyBzdHJ1Y3R1cmVzIGNhbiBiZSB1c2VkIHRvIHJlcHJl
c2VudCBhIGxpc3Qgb2YNCiAgIGxvY2F0b3JzLiAgTm90ZSB0aGF0IGFkZHJpbmZvIHN0cnVjdHVy
ZSBpdHNlbGYgZG9lcyBub3QgY29udGFpbiB0aGUNCiAgIGxvY2F0b3IgZGF0YSBidXQgaXQgaG9s
ZHMgYSBwb2ludGVyIHRvIHNvY2thZGRyIHN0cnVjdHVyZSB3aGVyZSB0aGUNCiAgIGFjdHVhbCBk
YXRhIG9mIGEgZ2l2ZW4gbG9jYXRvciBpcyBzdG9yZWQuICBGaWd1cmUgNCBpbGx1c3RyYXRlcyB0
aGUNCiAgIGFkZHJpbmZvIHN0cnVjdHVyZSBkZWZpbmVkIGluIDxuZXRkYi5oPi4NCg0KICAgICAg
IHN0cnVjdCBhZGRyaW5mbyB7DQogICAgICAgICAgICAgICBpbnQgYWlfZmxhZ3M7ICAgICAgICAg
ICAvKiBpbnB1dCBmbGFncyAqLw0KICAgICAgICAgICAgICAgaW50IGFpX2ZhbWlseTsgICAgICAg
ICAgLyogcHJvdG9jb2wgZmFtaWx5IGZvciBzb2NrZXQgKi8NCiAgICAgICAgICAgICAgIGludCBh
aV9zb2NrdHlwZTsgICAgICAgIC8qIHNvY2tldCB0eXBlICovDQogICAgICAgICAgICAgICBpbnQg
YWlfcHJvdG9jb2w7ICAgICAgICAvKiBwcm90b2NvbCBmb3Igc29ja2V0ICovDQogICAgICAgICAg
ICAgICBzb2NrbGVuX3QgYWlfYWRkcmxlbjsgICAvKiBsZW5ndGggb2Ygc29ja2V0LWFkZHJlc3Mg
Ki8NCiAgICAgICAgICAgICAgIHN0cnVjdCBzb2NrYWRkciAqYWlfYWRkcjsgLyogc29ja2V0LWFk
ZHJlc3MgZm9yIHNvY2tldCAqLw0KICAgICAgICAgICAgICAgY2hhciAqYWlfY2Fub25uYW1lOyAg
ICAgLyogY2Fub25pY2FsIG5hbWUgZm9yDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBzZXJ2aWNlIGxvY2F0aW9uICovDQogICAgICAgICAgICAgICBzdHJ1Y3QgYWRk
cmluZm8gKmFpX25leHQ7IC8qIHBvaW50ZXIgdG8gbmV4dCBpbiBsaXN0ICovDQogICAgICAgfTsN
Cg0KICAgRmlndXJlIDQ6IGFkZHJpbmZvIHN0cnVjdHVyZQ0KDQo4LjEuMi4gIHNvY2thZGRyX3N0
b3JhZ2Ugc3RydWN0dXJlDQoNCiAgIFtSRkMzNDkzXSBzcGVjaWZpZXMgYSBwcm90b2NvbCBpbmRl
cGVuZGVudCBwbGFjZWhvbGRlciBmb3Igc29ja2V0DQogICBhZGRyZXNzLCBjYWxsZWQgc29ja2Fk
ZHJfc3RvcmFnZSBzdHJ1Y3R1cmUgYXMgc2hvd24gaW4gRmlndXJlIDUuICBCeQ0KICAgZGVmaW5p
dGlvbiwgdGhlIHN0cnVjdHVyZSBjYW4gc3RvcmUgc29ja2V0IGFkZHJlc3Mgb2YgYW55IHByb3Rv
Y29sDQoNCg0KDQpLb211LCBldCBhbC4gICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgNSwgMjAw
NiAgICAgICAgICAgICAgICBbUGFnZSAyNF0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAg
IE11bHRpaG9tZWQgU2hpbSBBUEkgICAgICAgICAgICAgRmVicnVhcnkgMjAwNg0KDQoNCiAgIChJ
UHY0IG9yIElQdjYpIGFuZCBpcyBzaW1wbHkgc3VpdGFibGUgZm9yIGEgcGxhY2Vob2xkZXIgZm9y
IHRoZQ0KICAgbG9jYXRvciBpbmZvcm1hdGlvbi4gIEluIHRoaXMgZG9jdW1lbnQsIHdlIHN1Z2dl
c3QgdG8gdXNlDQogICBzb2NrYWRkcl9zdG9yYWdlIHN0cnVjdHVyZSB0byBzdG9yZSB0aGUgbG9j
YXRvciBpbmZvcm1hdGlvbiB0byBiZQ0KICAgc3BlY2lmaWVkIGluIHRoZSBhbmNpbGxhcnkgZGF0
YS4gIEluIHRob3NlIGNhc2VzLCB0aGUgbG9jYXRvcg0KICAgaW5mb3JtYXRpb24gaXMgYSBzaW5n
bGUgbG9jYXRvci4NCg0KICAgLyoNCiAgICAqIERlc2lyZWQgZGVzaWduIG9mIG1heGltdW0gc2l6
ZSBhbmQgYWxpZ25tZW50DQogICAgKi8NCiAgICNkZWZpbmUgX1NTX01BWFNJWkUgICAgMTI4ICAv
KiBJbXBsZW1lbnRhdGlvbiBzcGVjaWZpYyBtYXggc2l6ZSAqLw0KICAgI2RlZmluZSBfU1NfQUxJ
R05TSVpFICAoc2l6ZW9mIChpbnQ2NF90KSkNCiAgICAgICAgICAgICAgICAgICAgICAvKiBJbXBs
ZW1lbnRhdGlvbiBzcGVjaWZpYyBkZXNpcmVkIGFsaWdubWVudCAqLw0KICAgLyoNCiAgICAqIERl
ZmluaXRpb25zIHVzZWQgZm9yIHNvY2thZGRyX3N0b3JhZ2Ugc3RydWN0dXJlIHBhZGRpbmdzIGRl
c2lnbi4NCiAgICAqLw0KICAgI2RlZmluZSBfU1NfUEFEMVNJWkUgICAoX1NTX0FMSUdOU0laRSAt
IHNpemVvZiAoc2FfZmFtaWx5X3QpKQ0KICAgI2RlZmluZSBfU1NfUEFEMlNJWkUgICAoX1NTX01B
WFNJWkUgLSAoc2l6ZW9mIChzYV9mYW1pbHlfdCkgKw0KICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgX1NTX1BBRDFTSVpFICsgX1NTX0FMSUdOU0laRSkpDQoNCiAgICAgICBzdHJ1Y3Qg
c29ja2FkZHJfc3RvcmFnZSB7DQogICAgICAgICAgIHNhX2ZhbWlseV90ICBzc19mYW1pbHk7ICAg
IC8qIGFkZHJlc3MgZmFtaWx5ICovDQogICAgICAgICAgIC8qIEZvbGxvd2luZyBmaWVsZHMgYXJl
IGltcGxlbWVudGF0aW9uIHNwZWNpZmljICovDQogICAgICAgICAgIGNoYXIgICAgICBfX3NzX3Bh
ZDFbX1NTX1BBRDFTSVpFXTsNCiAgICAgICAgICAgaW50NjRfdCAgIF9fc3NfYWxpZ247DQogICAg
ICAgICAgIGNoYXIgICAgICBfX3NzX3BhZDJbX1NTX1BBRDJTSVpFXTsNCiAgICAgICB9Ow0KDQog
ICBGaWd1cmUgNTogc29ja2FkZHJfc3RvcmFnZSBzdHJ1Y3R1cmUNCg0KDQoNCg0KDQoNCg0KDQoN
Cg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQpLb211LCBldCBhbC4gICAgICAgICAgICAgRXhw
aXJlcyBBdWd1c3QgNSwgMjAwNiAgICAgICAgICAgICAgICBbUGFnZSAyNV0NCgwNCkludGVybmV0
LURyYWZ0ICAgICAgICAgICAgIE11bHRpaG9tZWQgU2hpbSBBUEkgICAgICAgICAgICAgRmVicnVh
cnkgMjAwNg0KDQoNCjkuICBJbXBsaWNhdGlvbnMgZm9yIEV4aXN0aW5nIFNvY2tldCBBUEkgRXh0
ZW5zaW9ucw0KDQogICBBcyB0aGUgc29ja2V0IG9wdGlvbnMgcHJvcG9zZWQgaW4gdGhpcyBkb2N1
bWVudCBhbGxvdyBhcHBsaWNhdGlvbiB0bw0KICAgc3BlY2lmeSBsb2NhdG9yIGZvciB0cmFuc21p
dHRpbmcgSVAgcGFja2V0LCB0aGVyZSBtYXkgYmUgY29uZmxpY3QNCiAgIHdpdGggc29tZSBvZiBl
eGlzdGluZyBzb2NrZXQgQVBJLiAgQXMgc3RhdGVkIGluIFNlY3Rpb24gNiwgYmFzaWMNCiAgIGFz
c3VtcHRpb24gaXMgdGhhdCBsZWdhY3kgQVBJIHNob3VsZCBjb250aW51ZSB0byB3b3JrIGFib3Zl
IHRoZSBzaGltDQogICBsYXllci4NCg0KICAgSW4gSVB2NCwgYXBwbGljYXRpb24gY2FuIG9idGFp
biBkZXN0aW5hdGlvbiBJUCBhZGRyZXNzIG9mIHRoZQ0KICAgcmVjZWl2ZWQgSVAgcGFja2V0IChJ
UF9SRUNWRFNUQUREUikgYXMgd2VsbCBhcyB0aGUgcmVjZWl2aW5nDQogICBpbnRlcmZhY2UgKElQ
X1JFQ1ZJRikuICBJZiB0aGUgc2hpbSBsYXllciBwZXJmb3JtcyBJRC9Mb2NhdG9yDQogICBhZGFw
dGF0aW9uIGZvciB0aGUgcmVjZWl2ZWQgcGFja2V0LCB0aGUgZGVzdGluYXRpb24gRUlEIHNob3Vs
ZCBiZQ0KICAgc3RvcmVkIGluIHRoZSBhbmNpbGxhcnkgZGF0YSAoSVBfUkVDVkRTVEFERFIpLiAg
QWNjb3JkaW5nbHksIHRoZQ0KICAgcmVjZWl2aW5nIGludGVyZmFjZSBzaG91bGQgYmUgYWxpZ25l
ZCB3aXRoIHRoZSBkZXN0aW5hdGlvbiBFSUQgb2YgdGhlDQogICBwYWNrZXQuICBUaGF0IGlzLCB0
aGUgc2hpbSBsYXllciBzaG91bGQgc2V0IGFwcHJvcHJpYXRlIGludGVyZmFjZSB0bw0KICAgd2hp
Y2ggdGhlIGRlc3RpbmF0aW9uIEVJRCBpcyBhc3NpZ25lZCBpbiB0aGUgYW5jaWxsYXJ5IGRhdGEg
b2JqZWN0Lg0KICAgSG93ZXZlciwgZnJvbSBhcHBsaWNhdGlvbiBwZXJzcGVjdGl2ZSwga25vd2lu
ZyB0aGUgcmVjZWl2aW5nDQogICBpbnRlcmZhY2Ugd2hpY2ggaXMgYXNzb2NpYXRlZCB3aXRoIHRo
ZSBkZXN0aW5hdGlvbiBFSUQgbWF5IG5vdCBiZQ0KICAgdXNlZnVsLCBlc3BlY2lhbGx5IGluIGEg
Y2FzZSB3aGVyZSBhcHBsaWNhdGlvbiBpcyBwYXJ0aWN1bGFybHkNCiAgIGludGVyZXN0ZWQgaW4g
dGhlIGNoYXJhY3RlcmlzdGljcyBvZiB0aGUgcmVjZWl2aW5nIGludGVyZmFjZS4gIEhlbmNlLA0K
ICAgd2Ugc3VnZ2VzdCBhcHBsaWNhdGlvbiBwcm9ncmFtbWVyIHRvIHVzZSBTSElNX0lGX1JFQ1Yg
aW5zdGVhZCBvZg0KICAgSVBfUkVDVklGIGluIHN1Y2ggY2FzZS4NCg0KICAgSW4gSVB2NiwgW1JG
QzM1NDJdIGRlZmluZXMgdGhhdCBJUFY2X1BLVElORk8gY2FuIGJlIHVzZWQgdG8gc3BlY2lmeQ0K
ICAgc291cmNlIElQdjYgYWRkcmVzcyBhbmQgdGhlIG91dGdvaW5nIGludGVyZmFjZSBmb3Igb3V0
Z29pbmcgcGFja2V0LA0KICAgYW5kIHJldHJpZXZlIGRlc3RpbmF0aW9uIElQdjYgYWRkcmVzcyBh
bmQgcmVjZWl2aW5nIGludGVyZmFjZSBmb3INCiAgIGluY29taW5nIHBhY2tldC4gIFRoZXNlIGlu
Zm9ybWF0aW9uIGFyZSBzdG9yZWQgaW4gYW5jaWxsYXJ5IGRhdGENCiAgIGJlaW5nIElQVjZfUEtU
SU5GTyBzcGVjaWZpZWQgYXMgY21zZ190eXBlLiAgTm93LCBzaW1pbGFyIHRvIHRoZSBjYXNlDQog
ICBvZiBJUHY0LCB0aGUgc2hpbSBsYXllciBtYXkgYWZmZWN0IHRoZSBiZWhhdmlvciBvZiBzb2Nr
ZXQgQVBJIHdoaWNoDQogICBkZWFscyB3aXRoIElQVjZfUEtGSU5GTy4gIFdlIGFnYWluIHdvdWxk
IGxpa2Ugbm90ZSB0aGF0IGV4aXN0aW5nDQogICBzb2NrZXQgQVBJIHNob3VsZCBjb250aW51ZSB0
byB3b3JrIGFib3ZlIHRoZSBzaGltIGxheWVyLCB0aGF0IGlzLCB0aGUNCiAgIElQIGFkZHJlc3Nl
cyBoYW5kbGVkIGluIElQVjZfUEtUSU5GTyBzaG91bGQgYmUgRUlEcywgbm90IHRoZQ0KICAgbG9j
YXRvcnMuICBIZW5jZSB3ZSByZWNvbW1lbmQgYXBwbGljYXRpb24gcHJvZ3JhbW1lcnMgdG8gdXNl
IHNoaW0NCiAgIHNwZWNpZmljIHNvY2tldCBvcHRpb25zIChTSElNX0lGX1JFQ1Ygb3IgU0hJTV9J
Rl9TRU5EKSBpZiB0aGUNCiAgIGludGVyZXN0IGluIHRoZSBjb21tdW5pY2F0aW5nIGludGVyZmFj
ZSBjb21lcyBmcm9tIGxvd2VyIGxldmVsIChlLmcuDQogICBjaGFyYWN0ZXJpc3RpY3Mgb2YgcGh5
c2ljYWwgaW50ZXJmYWNlKS4gIEZvciB0aGUgc2FtZSByZWFzb24sIGluDQogICBvcmRlciB0byBo
YW5kbGUgbG9jYXRvciBpbmZvcm1hdGlvbiwgd2Ugc3VnZ2VzdCB0byB1c2Ugc2hpbSBzcGVjaWZp
Yw0KICAgc29ja2V0IG9wdGlvbnMgZGVmaW5lZCBpbiBTZWN0aW9uIDcuDQoNCiAgIEluIHN1bW1h
cnksIGEgY2FyZSBzaG91bGQgYmUgdGFrZW4gaW4gcG90ZW50aWFsIGNvbmZsaWN0IHdpdGgNCiAg
IGV4aXN0aW5nIHNvY2tldCBBUEkgd2hpY2ggdHJlYXRzIHRoZSBJUCBhZGRyZXNzIGFzIGEgbG9j
YXRvciByYXRoZXINCiAgIHRoYW4gaWRlbnRpZmllci4gIEJhc2ljIGFzc3VtcHRpb24gaXMgdGhh
dCB0aGUgZXhpc3Rpbmcgc29ja2V0IEFQSQ0KICAgd29ya3MgYWJvdmUgdGhlIHNoaW0gbGF5ZXIu
DQoNCg0KDQoNCg0KDQoNCg0KS29tdSwgZXQgYWwuICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0
IDUsIDIwMDYgICAgICAgICAgICAgICAgW1BhZ2UgMjZdDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAg
ICAgICAgICBNdWx0aWhvbWVkIFNoaW0gQVBJICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDYNCg0K
DQoxMC4gIERpc2N1c3Npb24NCg0KICAgSW4gdGhpcyBzZWN0aW9uLCBvcGVuIGRpc2N1c3Npb24g
aXNzdWVzIGFyZSBub3RlZC4NCg0KMTAuMS4gIElzc3VlcyB3aXRoIGEgQ29udGV4dCBTaGFyZWQg
YnkgQXBwbGljYXRpb25zDQoNCiAgIEEgY29udGV4dCBpcyBieSBkZWZpbml0aW9uLCBzeXN0ZW0t
d2lkZS4gIFRoaXMgbWVhbnMgdGhhdCBhIGNvbnRleHQNCiAgIGNvdWxkIGJlIHNoYXJlZCBieSBh
cHBsaWNhdGlvbnMgd2hvc2UgY29tbXVuaWNhdGlvbnMgYXJlIGJ5IGNoYW5jZQ0KICAgYmFzZWQg
b24gdGhlIHNhbWUgRUlEIHBhaXIuDQoNCiAgIFdoZW4gYSBjb250ZXh0IGlzIHNoYXJlZCBieSBh
cHBsaWNhdGlvbnMsIGl0IHdvdWxkIGJlIGRpZmZpY3VsdCBmb3INCiAgIHRoZSBzaGltIGxheWVy
IHRvIGhhbmRsZSBmZWVkYmFja3MgZnJvbSB0aGUgYXBwbGljYXRpb25zLiAgQXMNCiAgIG1lbnRp
b25lZCBpbiBTZWN0aW9uIFgsIGFuIGFwcGxpY2F0aW9uIG1heSBwcm92aWRlIHRoZSBzaGltIGxh
eWVyDQogICBzb21lIGZlZWRiYWNrcyBvZiB0aW1lb3V0IHZhbHVlcyBmcm9tIGl0cyBvd24gc2V0
dGluZ3MuICBUaGlzIGltcGxpZXMNCiAgIHRoYXQgdGhlcmUgaXMgcG90ZW50aWFsbHkgYSByYWNl
IGNvbmRpdGlvbiBhdCB0aGUgc2hpbSBsYXllci4NCg0KICAgRmlyc3Qgb2YgYWxsLCB0aGUgc29j
a2V0IG9wdGlvbnMgbXVzdCBiZSB1c2VkIHdpdGggYSBwcm9wZXINCiAgIHByaXZpbGVnZS4gIEZl
ZWRiYWNrIGZyb20gdGhlIGFwcGxpY2F0aW9uIHdoaWNoIGlzIHJ1biB1bmRlciBhIHJvb3QNCiAg
IHByaXZpbGVnZSBtdXN0IGFsd2F5cyBvdmVycmlkZSB0aGUgZmVlZGJhY2sgcHJvdmlkZWQgYnkg
YXBwbGljYXRpb24NCiAgIHdoaWNoIGlzIHJ1biB1bmRlciBub3JtYWwgdXNlciBwcml2aWxlZ2Uu
DQoNCiAgIEZvciBvdGhlciBjYXNlcywgb25lIGNvdWxkIHJlbHkgb24gYSBraW5kIG9mIGhldXJp
c3RpY3Mgb2YgdGhlDQogICBjb25maWd1cmF0aW9uLiAgRm9yIGluc3RhbmNlLCBwcmlvcml0aXpp
bmcgZmVlZGJhY2sgd2l0aCBoaWdoZXINCiAgIGRlbWFuZCAoZS5nLiB0aW1lb3V0IHZhbHVlIDMw
MCBzZWNvbmRzIGFyZSBtb3JlIGRlbWFuZGluZyB0aGVuDQogICB0aW1lb3V0IHZhbHVlIDYwMCBz
ZWNvbmRzKSBtYXkgbWFrZSBzZW5zZSBpbiBzb21lIGNhc2VzLiAgSG93ZXZlciwgaXQNCiAgIGlz
IHN0aWxsIG9wZW4gaXNzdWVzIHdoYXQga2luZCBvZiB0aW1lciB2YWx1ZSBjb3VsZCBiZSBoYW5k
bGVkIGluDQogICB0aGlzIHdheS4NCg0KICAgRnVydGhlciBkaXNjdXNzaW9ucyBhcmUgbmVlZGVk
IGhvdyB0aGUgc2hpbSBsYXllciBjYW4gYWNjb21tb2RhdGUNCiAgIGZlZWRiYWNrcyBmcm9tIG11
bHRpcGxlIGFwcGxpY2F0aW9ucyB3aXRoaW4gYSBzYW1lIGNvbnRleHQuDQoNCjEwLjIuICBJc3N1
ZXMgb2YgSGFuZGxpbmcgTXVsdGlwbGUgTG9jYXRvcnMgd2l0aCBTaGltIFVuYXdhcmUNCiAgICAg
ICBBcHBsaWNhdGlvbnMNCg0KICAgSW4gbXVsdGlob21lZCBlbnZpcm9ubWVudCB3aGVyZSBlaXRo
ZXIgb3IgYm90aCBvZiB0aGUgcGVlcnMgaGF2ZQ0KICAgbXVsdGlwbGUgbG9jYXRvcnMsIHRoZXJl
IGFyZSBzb21lIGlzc3VlcyB3aXRoIGxlZ2FjeSBzb2NrZXQgQVBJLg0KDQoxMC4yLjEuICBTaGlt
IFVuYXdhcmUgQXBwbGljYXRpb24gTWFraW5nIEluaXRpYWwgQ29udGFjdA0KDQogICBXaGVuIGFw
cGxpY2F0aW9uIGlzIGdvaW5nIHRvIGVzdGFibGlzaCBjb21tdW5pY2F0aW9uIHdpdGggaXRzIHBl
ZXINCiAgIHdobyBoYXBwZW5zIHRvIGhhdmUgbXVsdGlwbGUgbG9jYXRvcnMsIHRoZXJlIGFyZSBz
b21lIGlzc3VlcyB0bw0KICAgY29uc2lkZXIuICBJbiBjb25uZWN0aW9uIG9yaWVudGVkIGNvbW11
bmljYXRpb24sIGNvbm5lY3QoKSBzeXN0ZW0NCiAgIGNhbGwgaXMgdXNlZCB0byBtYWtlIHRoZSBp
bml0aWFsIGNvbnRhY3QgdG8gdGhlIHBlZXIsIHdoaWNoIHR5cGljYWxseQ0KICAgcmVxdWlyZXMg
SVAgYWRkcmVzcyBhbmQgcG9ydCBudW1iZXIgdG8gc3BlY2lmeSB0aGUgZW5kcG9pbnQuICBIZW5j
ZSwNCiAgIG5hbWUtdG8tYWRkcmVzcyByZXNvbHV0aW9uIHNob3VsZCBiZSBwZXJmb3JtZWQgcHJp
b3IgdG8gY29ubmVjdCgpLg0KICAgQXBwbGljYXRpb24gbmVlZHMgdG8gcmVzb2x2ZSBGUUROIG9m
IHRoZSBwZWVyIHRvIGFuIElQIGFkZHJlc3MgYnkgYW55DQogICBhdmFpbGFibGUgbmFtZS10by1h
ZGRyZXNzIGNvbnZlcnNpb24gbWV0aG9kLg0KDQoNCg0KDQpLb211LCBldCBhbC4gICAgICAgICAg
ICAgRXhwaXJlcyBBdWd1c3QgNSwgMjAwNiAgICAgICAgICAgICAgICBbUGFnZSAyN10NCgwNCklu
dGVybmV0LURyYWZ0ICAgICAgICAgICAgIE11bHRpaG9tZWQgU2hpbSBBUEkgICAgICAgICAgICAg
RmVicnVhcnkgMjAwNg0KDQoNCiAgIEluIHR5cGljYWwgY2FzZSwgdGhlIGFwcGxpY2F0aW9uIHJl
Y2VpdmVzIGluZm9ybWF0aW9uIGZyb20gcmVzb2x2ZXIuDQogICBJZiB0aGUgYXBwbGljYXRpb24g
ZW5kcyB1cCB3aXRoIHJlY2VpdmluZyBtdWx0aXBsZSBJUCBhZGRyZXNzZXMgdG8NCiAgIHJlYWNo
IHRoZSBwZWVyLCBpdCBzaG91bGQgaXRlcmF0ZSBlYWNoIGRlc3RpbmF0aW9uIGFkZHJlc3Mgb25l
LWJ5LQ0KICAgb25lLiAgSXQgc2hvdWxkIGJlIG5vdGVkIHRoYXQgdGhlIGhvc3QgbWF5IGFsc28g
aGF2ZSBtdWx0aXBsZSBzb3VyY2UNCiAgIGFkZHJlc3Nlcy4NCg0KICAgVGhlIGRpZmZlcmVudCBy
ZXN1bHRpbmcgYWRkcmVzcyBwYWlyIG1heSBoYXZlIGRpZmZlcmVudCByZWFjaGFiaWxpdHkNCiAg
IHN0YXR1cyBzbywgaW4gb3JkZXIgdG8gZmluZCBhIHdvcmtpbmcgYWRkcmVzcyBwYWlyLCBpdCBt
YXkgYmUNCiAgIHJlcXVpcmVkIHRvIGV4cGxvcmUgYWxsIHRoZSBhdmFpbGFibGUgYWRkcmVzcyBw
YWlycyAoYXMgb3Bwb3NlZCB0bw0KICAgZXhwbG9yZSBhbGwgYXZhaWxhYmxlIGRlc3RpbmF0aW9u
IGFkZHJlc3NlcykuDQoNCiAgIEluIG5vcm1hbCBjYXNlLCBhcHBsaWNhdGlvbiBpc3N1ZXMgY29u
bmVjdCgpIGJ5IHNwZWNpZnlpbmcgcmVzb2x2ZWQNCiAgIElQIGFkZHJlc3Mgb2YgdGhlIHBlZXIu
ICBJZiB0aGUgY29ubmVjdCgpIGZhaWxzLCBJUCBhZGRyZXNzIGlzDQogICBpdGVyYXRlZCBvbmUg
Ynkgb25lIHNlcXVlbnRpYWxseSB1bnRpbCB3b3JraW5nIHBhaXIgaXMgZm91bmQuDQogICBBbm90
aGVyIGFwcHJvYWNoIGlzIHRvIGluaXRpYXRlIGNvbmN1cnJlbnQgY29ubmVjdCgpIHdpdGggZXZl
cnkNCiAgIGxvY2F0b3Igb2YgdGhlIHBlZXIuIGNvbm5lY3QoKSBjYW4gYWxzbyBiZSBjYWxsZWQg
aW4gYSBzZXF1ZW5jZSB3aGljaA0KICAgd291bGQgcHJvYmFibHkgcmVxdWlyZSBtb3JlIHRpbWUg
dG8gZmluZCB0aGUgd29ya2luZyBwYWlyLg0KDQogICBUaGVyZSBpcyBhIGNhc2Ugd2hlcmUgaW52
b2x2ZW1lbnQgb2YgdGhlIHNoaW0gbGF5ZXIgaXMgZXhwZWN0ZWQgZm9yDQogICBoYW5kbGluZyBp
bml0aWFsIGNvbnRhY3QuICBJbiBzdWNoIGNhc2UsIGJlaGF2aW9yIG9mIHRoZSBzaGltIGxheWVy
DQogICB3aWxsIGRlcGVuZCBvbiBwcmVzZW5jZSBvZiByZXF1aXJlZCBjb250ZXh0LiAgVGhpcyBj
YXNlIG9jY3VycyB3aGVuDQogICB0aGVyZSBleGlzdHMgYSBjb250ZXh0IGZvciB0aGUgRUlEIHNw
ZWNpZmllZCBpbiBjb25uZWN0KCksIHRoZQ0KICAgaW5pdGlhbCBjb250YWN0IGNhbiBiZSBtYWRl
IGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgY29udGV4dA0KICAgaW5mb3JtYXRpb24uICBPdGhlcndp
c2UsIHRoZSBzaGltIGxheWVyIHNob3VsZCBpbnZva2UgY29udGV4dA0KICAgZXN0YWJsaXNobWVu
dCB3aXRoIHRoZSBwZWVyIEVJRCBzcGVjaWZpZWQgaW4gdGhlIGFyZ3VtZW50IGZvcg0KICAgY29u
bmVjdCgpLg0KDQogICBBZGRpdGlvbmFsIGVmZm9ydHMgd291bGQgYmUgcmVxdWlyZWQgaW4gYSBj
YXNlIHdoZXJlIHRoZSBwZWVyIGNhbm5vdA0KICAgYmUgcmVhY2hhYmxlIGJ5IHRoZSBFSUQgKGZv
ciBleGFtcGxlLCBFSUQgaXMgbm9uLXJvdXRhYmxlIG9yIG5vbi1JUA0KICAgcmVhY2hhYmxlKSBi
dXQgY2FuIGJlIHJlYWNoZWQgYnkgYWx0ZXJuYXRpdmUgbG9jYXRvci4gIEluIHBhcnRpY3VsYXIs
DQogICB0aGUgc2hpbSBsYXllciBzaG91bGQgc29tZWhvdyBkaXNjb3ZlciB0aGUgYWx0ZXJuYXRl
IGxvY2F0b3IgZm9yIHRoZQ0KICAgRUlEIHRvIGVzdGFibGlzaCBjb250ZXh0LiAgW0ktRC5ub3Jk
bWFyay1zaGltNi1lc2RdIGFkZHJlc3NlcyB0aGUNCiAgIHBvc3NpYmxlIGFwcHJvYWNoIHRvIHBl
cmZvcm0gcmV2ZXJzZSBETlMgbG9va3VwIGZyb20gRUlEIHRvIEZRRE4sDQogICB0aGVuIHBlcmZv
cm0gZm9yd2FyZCBsb29rdXAgYWdhaW4gdG8gZmluZCB0aGUgZnVsbC1zZXQgb2YgbG9jYXRvcnMN
CiAgIGFuZCBFSUQuDQoNCiAgIEluIEhJUCwgcmVzb2x2aW5nIEhJVHMgdG8gSVAgYWRkcmVzc2Vz
IHVzaW5nIEROUyBpcyBub3QgZmVhc2libGUNCiAgIGJlY2F1c2UgSElUcyBkbyBub3QgY29udGFp
biBhbnkgaGllcmFyY2hpY2FsIGluZm9ybWF0aW9uLiAgVG8NCiAgIG1pdGlnYXRlIHRoaXMgcHJv
YmxlbSwgdGhlcmUgYXJlIGEgZmV3IGFsdGVybmF0aXZlcy4gIEZpcnN0bHksDQogICByZXNvbHZl
ciBsaWJyYXJ5IG9uIGVuZC1ob3N0IGNhbiBiZSBtb2RpZmllZCB0byBwcm92aWRlIEhJVC10by1J
UA0KICAgbWFwcGluZ3MgZm9yIEhJUCBzb2Z0d2FyZSBtb2R1bGUuICBTZWNvbmRseSwgYSBkaXN0
cmlidXRlZCBoYXNoIHRhYmxlDQogICAoREhUKSBzZXJ2aWNlIGNhbiBiZSB1c2VkIGZvciBzdG9y
aW5nIGFuZCBsb29raW5nIHVwIHRoZSBtYXBwaW5ncw0KICAgYmVjYXVzZSBpdCBzdXBwb3J0cyBu
b24taGllcmFyY2hpY2FsIGlkZW50aWZpZXJzLCBzdWNoIGFzIEhJVHMNCiAgIFtJLUQuaWV0Zi1o
aXAtYXJjaF0uICBUaGlyZGx5LCBpdCBpcyBwb3NzaWJsZSB0byB1c2UgSVAgYWRkcmVzc2VzIGlu
DQogICBsZWdhY3kgYXBwbGljYXRpb25zIGFzIGRlc2NyaWJlZCBpbiBbSS1ELmhlbmRlcnNvbi1o
aXAtYXBwbGljYXRpb25zXS4NCg0KDQoNCg0KDQoNCktvbXUsIGV0IGFsLiAgICAgICAgICAgICBF
eHBpcmVzIEF1Z3VzdCA1LCAyMDA2ICAgICAgICAgICAgICAgIFtQYWdlIDI4XQ0KDA0KSW50ZXJu
ZXQtRHJhZnQgICAgICAgICAgICAgTXVsdGlob21lZCBTaGltIEFQSSAgICAgICAgICAgICBGZWJy
dWFyeSAyMDA2DQoNCg0KMTAuMi4yLiAgTmFtaW5nIGF0IFNvY2tldCBMYXllcg0KDQogICBnZXRz
b2NrbmFtZSgpIGFuZCBnZXRwZWVybmFtZSgpIHN5c3RlbSBjYWxscyBhcmUgdXNlZCB0byBvYnRh
aW4gdGhlDQogICAnbmFtZScgb2YgZW5kcG9pbnQgd2hpY2ggaXMgYWN0dWFsbHkgYSBwYWlyIG9m
IElQIGFkZHJlc3MgYW5kIHBvcnQNCiAgIG51bWJlciBhc3NpZ25lZCB0byBnaXZlbiBzb2NrZXQu
IGdldHNvY2tuYW1lKCkgaXMgdXNlZCB3aGVuIGFuDQogICBhcHBsaWNhdGlvbiB3YW50cyB0byBv
YnRhaW4gdGhlIGxvY2FsIElQIGFkZHJlc3MgYW5kIHBvcnQgbnVtYmVyDQogICBhc3NpZ25lZCBm
b3IgZ2l2ZW4gc29ja2V0IGluc3RhbmNlLiBnZXRwZWVybmFtZSgpIGlzIHVzZWQgd2hlbiBhbg0K
ICAgYXBwbGljYXRpb24gd2FudHMgdG8gb2J0YWluIHRoZSByZW1vdGUgSVAgYWRkcmVzcyBhbmQg
cG9ydCBudW1iZXIuDQoNCiAgIFRoZSBhYm92ZSBpcyBiYXNlZCBvbiBhIHRyYWRpdGlvbmFsIHN5
c3RlbSBtb2RlbCBvZiB0aGUgc29ja2V0IEFQSQ0KICAgd2hlcmUgYW4gSVAgYWRkcmVzcyBpcyBl
eHBlY3RlZCB0byBwbGF5IHJvbGUgb2YgYm90aCBpZGVudGlmaWVyIGFuZA0KICAgbG9jYXRvci4g
IEFzIHRoZSByZXR1cm5lZCBJUCBhZGRyZXNzIHdhcw0KDQogICBJbiBhIHN5c3RlbSBtb2RlbCB3
aGVyZSBhIHNoaW0gbGF5ZXIgZXhpc3RzIGluc2lkZSB0aGUgSVAgbGF5ZXIsIGJvdGgNCiAgIGdl
dHNvY2tuYW1lKCkgYW5kIGdldHBlZXJuYW1lKCkgZGVhbCB3aXRoIGlkZW50aWZpZXJzLCBuYW1l
bHkgRUlEcy4NCiAgIEluIHRoaXMgc2Vuc2UsIHRoZSBzaGltIGxheWVyIHNlcnZlcyB0byAoMSkg
aGlkZSBsb2NhdG9ycyBhbmQgKDIpDQogICBwcm92aWRlIGFjY2VzcyB0byB0aGUgaWRlbnRpZmll
ciBmb3IgdGhlIGFwcGxpY2F0aW9uIG92ZXIgdGhlIGxlZ2FjeQ0KICAgc29ja2V0IEFQSXMuDQoN
CjEwLjMuICBJc3N1ZXMgb2YgSGFuZGxpbmcgTXVsdGlwbGUgTG9jYXRvcnMgd2l0aCBTaGltIEF3
YXJlIEFwcGxpY2F0aW9ucw0KDQogICBUQkQuDQoNCjEwLjQuICBBZGRpdGlvbmFsIFJlcXVpcmVt
ZW50cyBmcm9tIEFwcGxpY2F0aW9uDQoNCiAgIEF0IHRoZSBtb21lbnQsIGl0IGlzIG5vdCBjZXJ0
YWluIGlmIGZvbGxvd2luZyByZXF1aXJlbWVudHMgYXJlIGNvbW1vbg0KICAgaW4gYWxsIHRoZSBt
dWx0aWhvbWVkIGVudmlyb25tZW50cyAoU0hJTTYgYW5kIEhJUCkuICBUaGVzZSBhcmUgbWFpbmx5
DQogICBpZGVudGlmaWVkIGR1cmluZyBkaXNjdXNzaW9ucyBtYWRlIG9uIFNISU02IFdHIG1haWxp
bmcgbGlzdC4NCg0KICAgbyAgVGhlIGFwcGxpY2F0aW9uIHNob3VsZCBiZSBhYmxlIHRvIHNldCBw
cmVmZXJlbmNlcyBmb3IgdGhlDQogICAgICBsb2NhdG9ycywgbG9jYWwgYW5kIHJlbW90ZSBvbmUg
YW5kIGFsc28gdG8gdGhlIHByZWZlcmVuY2VzIG9mIHRoZQ0KICAgICAgbG9jYWwgbG9jYXRvcnMg
dGhhdCB3aWxsIGJlIHBhc3NlZCB0byB0aGUgcGVlci4NCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoN
Cg0KDQoNCg0KDQoNCg0KS29tdSwgZXQgYWwuICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDUs
IDIwMDYgICAgICAgICAgICAgICAgW1BhZ2UgMjldDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAg
ICAgICBNdWx0aWhvbWVkIFNoaW0gQVBJICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDYNCg0KDQox
MS4gIElBTkEgQ29uc2lkZXJhdGlvbnMNCg0KICAgVGhpcyBkb2N1bWVudCBjb250YWlucyBubyBJ
QU5BIGNvbnNpZGVyYXRpb24uDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoN
Cg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0K
DQpLb211LCBldCBhbC4gICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgNSwgMjAwNiAgICAgICAg
ICAgICAgICBbUGFnZSAzMF0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgIE11bHRpaG9t
ZWQgU2hpbSBBUEkgICAgICAgICAgICAgRmVicnVhcnkgMjAwNg0KDQoNCjEyLiAgU2VjdXJpdHkg
Q29uc2lkZXJhdGlvbnMNCg0KICAgVEJEDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoN
Cg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0K
DQoNCg0KDQpLb211LCBldCBhbC4gICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgNSwgMjAwNiAg
ICAgICAgICAgICAgICBbUGFnZSAzMV0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgIE11
bHRpaG9tZWQgU2hpbSBBUEkgICAgICAgICAgICAgRmVicnVhcnkgMjAwNg0KDQoNCjEzLiAgQ29u
Y2x1c2lvbg0KDQogICBJbiB0aGlzIGRvY3VtZW50LCBBcHBsaWNhdGlvbiBQcm9ncmFtIEludGVy
ZmFjZSAoQVBJKSBmb3IgbXVsdGlob21lZA0KICAgc2hpbSBsYXllciBpcyBzcGVjaWZpZWQuICBU
aGUgc29ja2V0IEFQSSBhbGxvd3MgYXBwbGljYXRpb24gdG8gaGF2ZQ0KICAgYWRkaXRpb25hbCBj
b250cm9sIG9uIGxvY2F0b3IgbWFuYWdlbWVudCBhbmQgaW50ZXJmYWNlIHRvIHRoZSBSRUFQDQog
ICBtZWNoYW5pc20gaW5zaWRlIHRoZSBzaGltIGxheWVyLiAgVGhlIHNvY2tldCBBUEkgaXMgZXhw
ZWN0ZWQgdG8gYmUNCiAgIHVzZWZ1bCBmb3IgdGhlIGFwcGxpY2F0aW9uIHRoYXQgZnVsbHkgdGFr
ZXMgYWR2YW50YWdlIG9mIG11bHRpaG9tZWQNCiAgIGVudmlyb25tZW50LiAgRnJvbSBhcmNoaXRl
Y3R1cmFsIHBlcnNwZWN0aXZlLCB0aGUgc29ja2V0IEFQSSBhaW1zIHRvDQogICBlbmhhbmNlIHNv
ZnR3YXJlIGRldmVsb3BtZW50IGVudmlyb25tZW50IGluIHRlcm1zIG9mIHN1cHBvcnQgZm9yDQog
ICBzZXBhcmF0aW9uIG9mIGlkZW50aWZpZXIgYW5kIGxvY2F0b3IuICBUaGF0IGlzLCB3aXRoIG5l
dyBBUEksDQogICBhcHBsaWNhdGlvbiBjYW4gaGFuZGxlIGlkZW50aWZpZXIgYW5kIGxvY2F0b3Ig
c2VwYXJhdGVseSBzdGlsbCBiZWluZw0KICAgYWxsb3dlZCB0byB1c2UgbGVnYWN5IHNvY2tldCBB
UEkuDQoNCiAgIFNoaW0gc3BlY2lmaWMgc29ja2V0IG9wdGlvbnMgY2FuIGJlIHVzZWQgYnkgZ2V0
c29ja29wdCgpIGFuZC9vcg0KICAgc2V0Y29rb3B0KCkgc3lzdGVtIGNhbGxzLCB3aGljaCBhbGxv
d3MgYXBwbGljYXRpb24gdG8gZ2V0IGluZm9ybWF0aW9uDQogICBhYm91dCBsb2NhdG9yIG1hbmFn
ZW1lbnQuICBBZGRpdGlvbmFsbHksIGFwcGxpY2F0aW9uIGNhbiBzcGVjaWZ5DQogICBsb2NhdG9y
IGluZm9ybWF0aW9uIGZvciBvdXRnb2luZyBwYWNrZXQgYW5kIGdldCBsb2NhdG9yIGluZm9ybWF0
aW9uDQogICBmcm9tIGluY29taW5nIHBhY2tldCBieSB1c2luZyBhbmNpbGxhcnkgZGF0YS4NCg0K
DQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoN
Cg0KDQoNCktvbXUsIGV0IGFsLiAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCA1LCAyMDA2ICAg
ICAgICAgICAgICAgIFtQYWdlIDMyXQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgTXVs
dGlob21lZCBTaGltIEFQSSAgICAgICAgICAgICBGZWJydWFyeSAyMDA2DQoNCg0KMTQuICBBY2tu
b3dsZWRnbWVudHMNCg0KICAgVEJEDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0K
DQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoN
Cg0KDQpLb211LCBldCBhbC4gICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgNSwgMjAwNiAgICAg
ICAgICAgICAgICBbUGFnZSAzM10NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgIE11bHRp
aG9tZWQgU2hpbSBBUEkgICAgICAgICAgICAgRmVicnVhcnkgMjAwNg0KDQoNCjE1LiAgUmVmZXJl
bmNlcw0KDQoxNS4xLiAgTm9ybWF0aXZlIFJlZmVyZW5jZXMNCg0KICAgW0ktRC5oZW5kZXJzb24t
aGlwLWFwcGxpY2F0aW9uc10NCiAgICAgICAgICAgICAgSGVuZGVyc29uLCBULiBhbmQgUC4gTmlr
YW5kZXIsICJVc2luZyBISVAgd2l0aCBMZWdhY3kNCiAgICAgICAgICAgICAgQXBwbGljYXRpb25z
IiwgZHJhZnQtaGVuZGVyc29uLWhpcC1hcHBsaWNhdGlvbnMtMDMgKHdvcmsNCiAgICAgICAgICAg
ICAgaW4gcHJvZ3Jlc3MpLCBNYXkgMjAwNi4NCg0KICAgW0ktRC5pZXRmLWhpcC1hcmNoXQ0KICAg
ICAgICAgICAgICBNb3Nrb3dpdHosIFIuIGFuZCBQLiBOaWthbmRlciwgIkhvc3QgSWRlbnRpdHkg
UHJvdG9jb2wNCiAgICAgICAgICAgICAgQXJjaGl0ZWN0dXJlIiwgZHJhZnQtaWV0Zi1oaXAtYXJj
aC0wMyAod29yayBpbiBwcm9ncmVzcyksDQogICAgICAgICAgICAgIEF1Z3VzdCAyMDA1Lg0KDQog
ICBbSS1ELmlldGYtc2hpbTYtZmFpbHVyZS1kZXRlY3Rpb25dDQogICAgICAgICAgICAgIEFya2tv
LCBKLiBhbmQgSS4gQmVpam51bSwgIkZhaWx1cmUgRGV0ZWN0aW9uIGFuZCBMb2NhdG9yDQogICAg
ICAgICAgICAgIFBhaXIgRXhwbG9yYXRpb24gUHJvdG9jb2wgZm9yIElQdjYgTXVsdGlob21pbmci
LA0KICAgICAgICAgICAgICBkcmFmdC1pZXRmLXNoaW02LWZhaWx1cmUtZGV0ZWN0aW9uLTAzICh3
b3JrIGluIHByb2dyZXNzKSwNCiAgICAgICAgICAgICAgRGVjZW1iZXIgMjAwNS4NCg0KICAgW0kt
RC5pZXRmLXNoaW02LXByb3RvXQ0KICAgICAgICAgICAgICBCYWdudWxvLCBNLiBhbmQgRS4gTm9y
ZG1hcmssICJMZXZlbCAzIG11bHRpaG9taW5nIHNoaW0NCiAgICAgICAgICAgICAgcHJvdG9jb2wi
LCBkcmFmdC1pZXRmLXNoaW02LXByb3RvLTAzICh3b3JrIGluIHByb2dyZXNzKSwNCiAgICAgICAg
ICAgICAgRGVjZW1iZXIgMjAwNS4NCg0KICAgW1BPU0lYXSAgICAiSUVFRSBTdGQuIDEwMDMuMS0y
MDAxIFN0YW5kYXJkIGZvciBJbmZvcm1hdGlvbiBUZWNobm9sb2d5DQogICAgICAgICAgICAgIC0t
IFBvcnRhYmxlIE9wZXJhdGluZyBTeXN0ZW0gSW50ZXJmYWNlIChQT1NJWCkuIE9wZW4gZ3JvdXAN
CiAgICAgICAgICAgICAgVGVjaG5pY2FsIFN0YW5kYXJkOiBCYXNlIFNwZWNpZmljYXRpb25zLCBJ
c3N1ZSA2LA0KICAgICAgICAgICAgICBodHRwOi8vd3d3Lm9wZW5ncm91cC5vcmcvYXVzdGluIiwg
RGVjZW1iZXIgMjAwMS4NCg0KICAgW1JGQzM0OTNdICBHaWxsaWdhbiwgUi4sIFRob21zb24sIFMu
LCBCb3VuZCwgSi4sIE1jQ2FubiwgSi4sIGFuZCBXLg0KICAgICAgICAgICAgICBTdGV2ZW5zLCAi
QmFzaWMgU29ja2V0IEludGVyZmFjZSBFeHRlbnNpb25zIGZvciBJUHY2IiwNCiAgICAgICAgICAg
ICAgUkZDIDM0OTMsIEZlYnJ1YXJ5IDIwMDMuDQoNCiAgIFtSRkMzNTQyXSAgU3RldmVucywgVy4s
IFRob21hcywgTS4sIE5vcmRtYXJrLCBFLiwgYW5kIFQuIEppbm1laSwNCiAgICAgICAgICAgICAg
IkFkdmFuY2VkIFNvY2tldHMgQXBwbGljYXRpb24gUHJvZ3JhbSBJbnRlcmZhY2UgKEFQSSkgZm9y
DQogICAgICAgICAgICAgIElQdjYiLCBSRkMgMzU0MiwgTWF5IDIwMDMuDQoNCjE1LjIuICBJbmZv
cm1hdGl2ZSBSZWZlcmVuY2VzDQoNCiAgIFtJLUQuaWV0Zi1zaGltNi1hcHAtcmVmZXJdDQogICAg
ICAgICAgICAgIE5vcmRtYXJrLCBFLiwgIlNoaW02IEFwcGxpY2F0aW9uIFJlZmVycmFsIElzc3Vl
cyIsDQogICAgICAgICAgICAgIGRyYWZ0LWlldGYtc2hpbTYtYXBwLXJlZmVyLTAwICh3b3JrIGlu
IHByb2dyZXNzKSwNCiAgICAgICAgICAgICAgSnVseSAyMDA1Lg0KDQogICBbSS1ELmlldGYtc2hp
bTYtaGJhXQ0KICAgICAgICAgICAgICBCYWdudWxvLCBNLiwgIkhhc2ggQmFzZWQgQWRkcmVzc2Vz
IChIQkEpIiwNCiAgICAgICAgICAgICAgZHJhZnQtaWV0Zi1zaGltNi1oYmEtMDEgKHdvcmsgaW4g
cHJvZ3Jlc3MpLCBPY3RvYmVyIDIwMDUuDQoNCg0KDQpLb211LCBldCBhbC4gICAgICAgICAgICAg
RXhwaXJlcyBBdWd1c3QgNSwgMjAwNiAgICAgICAgICAgICAgICBbUGFnZSAzNF0NCgwNCkludGVy
bmV0LURyYWZ0ICAgICAgICAgICAgIE11bHRpaG9tZWQgU2hpbSBBUEkgICAgICAgICAgICAgRmVi
cnVhcnkgMjAwNg0KDQoNCiAgIFtJLUQubm9yZG1hcmstc2hpbTYtZXNkXQ0KICAgICAgICAgICAg
ICBOb3JkbWFyaywgRS4sICJFeHRlbmRlZCBTaGltNiBEZXNpZ24gZm9yIElEL2xvYyBzcGxpdCBh
bmQNCiAgICAgICAgICAgICAgVHJhZmZpYyBFbmdpbmVlcmluZyIsIGRyYWZ0LW5vcmRtYXJrLXNo
aW02LWVzZC0wMCAod29yayBpbg0KICAgICAgICAgICAgICBwcm9ncmVzcyksIEZlYnJ1YXJ5IDIw
MDYuDQoNCiAgIFtSRkMzOTcyXSAgQXVyYSwgVC4sICJDcnlwdG9ncmFwaGljYWxseSBHZW5lcmF0
ZWQgQWRkcmVzc2VzIChDR0EpIiwNCiAgICAgICAgICAgICAgUkZDIDM5NzIsIE1hcmNoIDIwMDUu
DQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoN
Cg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KS29tdSwgZXQgYWwuICAgICAgICAgICAg
IEV4cGlyZXMgQXVndXN0IDUsIDIwMDYgICAgICAgICAgICAgICAgW1BhZ2UgMzVdDQoMDQpJbnRl
cm5ldC1EcmFmdCAgICAgICAgICAgICBNdWx0aWhvbWVkIFNoaW0gQVBJICAgICAgICAgICAgIEZl
YnJ1YXJ5IDIwMDYNCg0KDQpBdXRob3JzJyBBZGRyZXNzZXMNCg0KICAgTWlpa2EgS29tdQ0KICAg
SGVsc2lua2kgSW5zdGl0dWUgZm9yIEluZm9ybWF0aW9uIFRlY2hub2xvZ3kNCiAgIFRhbW1hc2Fh
cmVua2F0dSAzDQogICBIZWxzaW5raQ0KICAgRmlubGFuZA0KDQogICBQaG9uZTogKzM1ODUwMzg0
MTUzMQ0KICAgRmF4OiAgICszNTg5Njk0OTc2OA0KICAgRW1haWw6IG1paWthQGlraS5maQ0KICAg
VVJJOiAgIGh0dHA6Ly93d3cuaGlpdC5maS8NCg0KDQogICBNYXJjZWxvIEJhZ251bG8NCiAgIFVu
aXZlcnNpZGFkIENhcmxvcyBJSUkgZGUgTWFkcmlkDQogICBBdi4gVW5pdmVyc2lkYWQgMzANCiAg
IExlZ2FuZXMgIDI4OTExDQogICBTUEFJTg0KDQogICBQaG9uZTogKzM0IDkxIDYyNDg4MzcNCiAg
IEVtYWlsOiBtYXJjZWxvQGl0LnVjM20uZXMNCiAgIFVSSTogICBodHRwOi8vaXQudWMzbS5lcy9t
YXJjZWxvDQoNCg0KICAgS3Jpc3RpYW4gU2xhdm92DQogICBFcmljc3NvbiBSZXNlYXJjaCBOb21h
ZGljbGFiDQogICBIaXJzYWxhbnRpZSAxMQ0KICAgSm9ydmFzICBGSS0wMjQyMA0KICAgRmlubGFu
ZA0KDQogICBQaG9uZTogKzM1OCA5IDI5OSAzMjg2DQogICBFbWFpbDoga3Jpc3RpYW4uc2xhdm92
QGVyaWNzc29uLmNvbQ0KDQoNCiAgIFNoaW50YSBTdWdpbW90byAoZWRpdG9yKQ0KICAgTmlwcG9u
IEVyaWNzc29uIEsuSy4NCiAgIEtvcmFrdSBNb3JpIEJ1aWxkaW5nDQogICAxLTQtMTQsIEtvcmFr
dSwgQnVua3lvLWt1DQogICBUb2t5byAgMTEyLTAwMDQNCiAgIEphcGFuDQoNCiAgIFBob25lOiAr
ODEgMyAzODMwIDIyNDENCiAgIEVtYWlsOiBzaGludGEuc3VnaW1vdG9AZXJpY3Nzb24uY29tDQoN
Cg0KDQoNCg0KDQoNCktvbXUsIGV0IGFsLiAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCA1LCAy
MDA2ICAgICAgICAgICAgICAgIFtQYWdlIDM2XQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAg
ICAgTXVsdGlob21lZCBTaGltIEFQSSAgICAgICAgICAgICBGZWJydWFyeSAyMDA2DQoNCg0KSW50
ZWxsZWN0dWFsIFByb3BlcnR5IFN0YXRlbWVudA0KDQogICBUaGUgSUVURiB0YWtlcyBubyBwb3Np
dGlvbiByZWdhcmRpbmcgdGhlIHZhbGlkaXR5IG9yIHNjb3BlIG9mIGFueQ0KICAgSW50ZWxsZWN0
dWFsIFByb3BlcnR5IFJpZ2h0cyBvciBvdGhlciByaWdodHMgdGhhdCBtaWdodCBiZSBjbGFpbWVk
IHRvDQogICBwZXJ0YWluIHRvIHRoZSBpbXBsZW1lbnRhdGlvbiBvciB1c2Ugb2YgdGhlIHRlY2hu
b2xvZ3kgZGVzY3JpYmVkIGluDQogICB0aGlzIGRvY3VtZW50IG9yIHRoZSBleHRlbnQgdG8gd2hp
Y2ggYW55IGxpY2Vuc2UgdW5kZXIgc3VjaCByaWdodHMNCiAgIG1pZ2h0IG9yIG1pZ2h0IG5vdCBi
ZSBhdmFpbGFibGU7IG5vciBkb2VzIGl0IHJlcHJlc2VudCB0aGF0IGl0IGhhcw0KICAgbWFkZSBh
bnkgaW5kZXBlbmRlbnQgZWZmb3J0IHRvIGlkZW50aWZ5IGFueSBzdWNoIHJpZ2h0cy4gIEluZm9y
bWF0aW9uDQogICBvbiB0aGUgcHJvY2VkdXJlcyB3aXRoIHJlc3BlY3QgdG8gcmlnaHRzIGluIFJG
QyBkb2N1bWVudHMgY2FuIGJlDQogICBmb3VuZCBpbiBCQ1AgNzggYW5kIEJDUCA3OS4NCg0KICAg
Q29waWVzIG9mIElQUiBkaXNjbG9zdXJlcyBtYWRlIHRvIHRoZSBJRVRGIFNlY3JldGFyaWF0IGFu
ZCBhbnkNCiAgIGFzc3VyYW5jZXMgb2YgbGljZW5zZXMgdG8gYmUgbWFkZSBhdmFpbGFibGUsIG9y
IHRoZSByZXN1bHQgb2YgYW4NCiAgIGF0dGVtcHQgbWFkZSB0byBvYnRhaW4gYSBnZW5lcmFsIGxp
Y2Vuc2Ugb3IgcGVybWlzc2lvbiBmb3IgdGhlIHVzZSBvZg0KICAgc3VjaCBwcm9wcmlldGFyeSBy
aWdodHMgYnkgaW1wbGVtZW50ZXJzIG9yIHVzZXJzIG9mIHRoaXMNCiAgIHNwZWNpZmljYXRpb24g
Y2FuIGJlIG9idGFpbmVkIGZyb20gdGhlIElFVEYgb24tbGluZSBJUFIgcmVwb3NpdG9yeSBhdA0K
ICAgaHR0cDovL3d3dy5pZXRmLm9yZy9pcHIuDQoNCiAgIFRoZSBJRVRGIGludml0ZXMgYW55IGlu
dGVyZXN0ZWQgcGFydHkgdG8gYnJpbmcgdG8gaXRzIGF0dGVudGlvbiBhbnkNCiAgIGNvcHlyaWdo
dHMsIHBhdGVudHMgb3IgcGF0ZW50IGFwcGxpY2F0aW9ucywgb3Igb3RoZXIgcHJvcHJpZXRhcnkN
CiAgIHJpZ2h0cyB0aGF0IG1heSBjb3ZlciB0ZWNobm9sb2d5IHRoYXQgbWF5IGJlIHJlcXVpcmVk
IHRvIGltcGxlbWVudA0KICAgdGhpcyBzdGFuZGFyZC4gIFBsZWFzZSBhZGRyZXNzIHRoZSBpbmZv
cm1hdGlvbiB0byB0aGUgSUVURiBhdA0KICAgaWV0Zi1pcHJAaWV0Zi5vcmcuDQoNCg0KRGlzY2xh
aW1lciBvZiBWYWxpZGl0eQ0KDQogICBUaGlzIGRvY3VtZW50IGFuZCB0aGUgaW5mb3JtYXRpb24g
Y29udGFpbmVkIGhlcmVpbiBhcmUgcHJvdmlkZWQgb24gYW4NCiAgICJBUyBJUyIgYmFzaXMgYW5k
IFRIRSBDT05UUklCVVRPUiwgVEhFIE9SR0FOSVpBVElPTiBIRS9TSEUgUkVQUkVTRU5UUw0KICAg
T1IgSVMgU1BPTlNPUkVEIEJZIChJRiBBTlkpLCBUSEUgSU5URVJORVQgU09DSUVUWSBBTkQgVEhF
IElOVEVSTkVUDQogICBFTkdJTkVFUklORyBUQVNLIEZPUkNFIERJU0NMQUlNIEFMTCBXQVJSQU5U
SUVTLCBFWFBSRVNTIE9SIElNUExJRUQsDQogICBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRP
IEFOWSBXQVJSQU5UWSBUSEFUIFRIRSBVU0UgT0YgVEhFDQogICBJTkZPUk1BVElPTiBIRVJFSU4g
V0lMTCBOT1QgSU5GUklOR0UgQU5ZIFJJR0hUUyBPUiBBTlkgSU1QTElFRA0KICAgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgT1IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Uu
DQoNCg0KQ29weXJpZ2h0IFN0YXRlbWVudA0KDQogICBDb3B5cmlnaHQgKEMpIFRoZSBJbnRlcm5l
dCBTb2NpZXR5ICgyMDA2KS4gIFRoaXMgZG9jdW1lbnQgaXMgc3ViamVjdA0KICAgdG8gdGhlIHJp
Z2h0cywgbGljZW5zZXMgYW5kIHJlc3RyaWN0aW9ucyBjb250YWluZWQgaW4gQkNQIDc4LCBhbmQN
CiAgIGV4Y2VwdCBhcyBzZXQgZm9ydGggdGhlcmVpbiwgdGhlIGF1dGhvcnMgcmV0YWluIGFsbCB0
aGVpciByaWdodHMuDQoNCg0KQWNrbm93bGVkZ21lbnQNCg0KICAgRnVuZGluZyBmb3IgdGhlIFJG
QyBFZGl0b3IgZnVuY3Rpb24gaXMgY3VycmVudGx5IHByb3ZpZGVkIGJ5IHRoZQ0KICAgSW50ZXJu
ZXQgU29jaWV0eS4NCg0KDQoNCg0KS29tdSwgZXQgYWwuICAgICAgICAgICAgIEV4cGlyZXMgQXVn
dXN0IDUsIDIwMDYgICAgICAgICAgICAgICAgW1BhZ2UgMzddDQoMDQo=
--------_448E5958A51705AF7058_MULTIPART_MIXED_
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MULTIMOBSEC-API mailing list
MULTIMOBSEC-API@ietf.org
https://www1.ietf.org/mailman/listinfo/multimobsec-api

--------_448E5958A51705AF7058_MULTIPART_MIXED_--





From multimobsec-api-bounces@ietf.org Tue Jun 13 04:50:48 2006
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com)
	by megatron.ietf.org with esmtp (Exim 4.43)
	id 1Fq4bo-0001qD-5n; Tue, 13 Jun 2006 04:50:48 -0400
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org)
	by megatron.ietf.org with esmtp (Exim 4.43) id 1Fq4bm-0001q7-FQ
	for multimobsec-api@ietf.org; Tue, 13 Jun 2006 04:50:46 -0400
Received: from shonan.sfc.wide.ad.jp ([2001:200:0:8803::53]
	helo=mail.sfc.wide.ad.jp) by ietf-mx.ietf.org with esmtp (Exim 4.43)
	id 1Fq3BI-0008Bo-G5
	for multimobsec-api@ietf.org; Tue, 13 Jun 2006 04:50:46 -0400
Received: from [193.234.219.165] (w165.nomadiclab.com [193.234.219.165])
	by mail.sfc.wide.ad.jp (Postfix) with ESMTP id F034E4D963
	for <multimobsec-api@ietf.org>; Tue, 13 Jun 2006 16:19:05 +0900 (JST)
Date: Tue, 13 Jun 2006 10:18:54 +0300
From: Shinta Sugimoto <shinta@sfc.wide.ad.jp>
To: multimobsec-api@ietf.org
Message-Id: <20060613101758.8A0E.SHINTA@sfc.wide.ad.jp>
MIME-Version: 1.0
Content-Type: multipart/mixed;
	boundary="------_448E5958A51705AF7058_MULTIPART_MIXED_"
Content-Transfer-Encoding: 7bit
X-Mailer: Becky! ver. 2.25.02 [ja]
X-Spam-Score: 0.1 (/)
X-Scan-Signature: 58f867fe62cd5f46cabce88e25938979
Subject: [MULTIMOBSEC-API] latest version of the api draft
X-BeenThere: multimobsec-api@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "Multihoming, mobility and security APIs" <multimobsec-api.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/multimobsec-api>
List-Post: <mailto:multimobsec-api@ietf.org>
List-Help: <mailto:multimobsec-api-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=subscribe>
Errors-To: multimobsec-api-bounces@ietf.org

--------_448E5958A51705AF7058_MULTIPART_MIXED_
Content-Type: text/plain; charset="US-ASCII"
Content-Transfer-Encoding: 7bit

Hi,

Attached please find the latest version of the API draft.
We are going to submit this by the cutoff date.  Meanwhile,
any comments/feedbacks are welcome.

Regards,
Shinta


--------_448E5958A51705AF7058_MULTIPART_MIXED_
Content-Type: text/html;
 name="draft-sugimoto-multihome-shim-api-00.html"
Content-Disposition: attachment;
	filename="draft-sugimoto-multihome-shim-api-00.html"
Content-Transfer-Encoding: base64

PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNpdGlvbmFs
Ly9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw0L2xvb3NlLmR0ZCI+DQo8aHRtbCBsYW5n
PSJlbiI+PGhlYWQ+PHRpdGxlPlNvY2tldCBBcHBsaWNhdGlvbiBQcm9ncmFtDQogICAgSW50ZXJm
YWNlIChBUEkpIGZvciBNdWx0aWhvbWVkIFNoaW08L3RpdGxlPg0KPG1ldGEgaHR0cC1lcXVpdj0i
Q29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiPg0KPG1ldGEg
bmFtZT0iZGVzY3JpcHRpb24iIGNvbnRlbnQ9IlNvY2tldCBBcHBsaWNhdGlvbiBQcm9ncmFtDQog
ICAgSW50ZXJmYWNlIChBUEkpIGZvciBNdWx0aWhvbWVkIFNoaW0iPg0KPG1ldGEgbmFtZT0ia2V5
d29yZHMiIGNvbnRlbnQ9IlNISU02LCBISVAsIElEL0xvY2F0b3Igc3BsaXQiPg0KPG1ldGEgbmFt
ZT0iZ2VuZXJhdG9yIiBjb250ZW50PSJ4bWwycmZjIHYxLjMwIChodHRwOi8veG1sLnJlc291cmNl
Lm9yZy8pIj4NCjxzdHlsZSB0eXBlPSd0ZXh0L2Nzcyc+DQo8IS0tDQogICAgYm9keSB7DQogICAg
ICAgIGZvbnQtZmFtaWx5OiB2ZXJkYW5hLCBjaGFyY29hbCwgaGVsdmV0aWNhLCBhcmlhbCwgc2Fu
cy1zZXJpZjsNCiAgICAgICAgbWFyZ2luOiAyZW07DQogICAgICAgIGZvbnQtc2l6ZTogc21hbGwg
OyBjb2xvcjogIzAwMDAwMCA7IGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmYgOyB9DQogICAgLnRp
dGxlIHsgY29sb3I6ICM5OTAwMDA7IGZvbnQtc2l6ZTogeC1sYXJnZSA7DQogICAgICAgIGZvbnQt
d2VpZ2h0OiBib2xkOyB0ZXh0LWFsaWduOiByaWdodDsNCiAgICAgICAgZm9udC1mYW1pbHk6IGhl
bHZldGljYSwgbW9uYWNvLCAiTVMgU2FucyBTZXJpZiIsIGFyaWFsLCBzYW5zLXNlcmlmOw0KICAg
ICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfQ0KICAgIC5maWxlbmFtZSB7IGNv
bG9yOiAjNjY2NjY2OyBmb250LXNpemU6IDE4cHg7IGxpbmUtaGVpZ2h0OiAyOHB4Ow0KICAgICAg
ICBmb250LXdlaWdodDogYm9sZDsgdGV4dC1hbGlnbjogcmlnaHQ7DQogICAgICAgIGZvbnQtZmFt
aWx5OiBoZWx2ZXRpY2EsIGFyaWFsLCBzYW5zLXNlcmlmOw0KICAgICAgICBiYWNrZ3JvdW5kLWNv
bG9yOiB0cmFuc3BhcmVudDsgfQ0KICAgIHRkLnJmY2J1ZyB7IGJhY2tncm91bmQtY29sb3I6ICMw
MDAwMDAgOyB3aWR0aDogMzBweCA7IGhlaWdodDogMzBweCA7DQogICAgICAgIHRleHQtYWxpZ246
IGp1c3RpZnk7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgOyBwYWRkaW5nLXRvcDogMnB4IDsgfQ0K
ICAgIHRkLnJmY2J1ZyBzcGFuLlJGQyB7IGNvbG9yOiAjNjY2NjY2OyBmb250LXdlaWdodDogYm9s
ZDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAw
MDAwIDsNCiAgICAgICAgZm9udC1mYW1pbHk6IG1vbmFjbywgY2hhcmNvYWwsIGdlbmV2YSwgIk1T
IFNhbnMgU2VyaWYiLCBoZWx2ZXRpY2EsIHZlcmRhbmEsIHNhbnMtc2VyaWY7DQogICAgICAgIGZv
bnQtc2l6ZTogeC1zbWFsbCA7IH0NCiAgICB0ZC5yZmNidWcgc3Bhbi5ob3RUZXh0IHsgY29sb3I6
ICNmZmZmZmY7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAg
ICAgICAgdGV4dC1hbGlnbjogY2VudGVyIDsNCiAgICAgICAgZm9udC1mYW1pbHk6IGNoYXJjb2Fs
LCBtb25hY28sIGdlbmV2YSwgIk1TIFNhbnMgU2VyaWYiLCBoZWx2ZXRpY2EsIHZlcmRhbmEsIHNh
bnMtc2VyaWY7DQogICAgICAgIGZvbnQtc2l6ZTogeC1zbWFsbCA7IGJhY2tncm91bmQtY29sb3I6
ICMwMDAwMDA7IH0NCiAgICAvKiBpbmZvIGNvZGUgZnJvbSBTYW50YUtsYXVzcyBhdCBodHRwOi8v
d3d3Lm1hZGFib3V0c3R5bGUuY29tL3Rvb2x0aXAyLmh0bWwgKi8NCiAgICBkaXYjY291bnRlcntt
YXJnaW4tdG9wOiAxMDBweH0NCg0KICAgIGEuaW5mb3sNCiAgICAgICAgcG9zaXRpb246cmVsYXRp
dmU7IC8qdGhpcyBpcyB0aGUga2V5Ki8NCiAgICAgICAgei1pbmRleDoyNDsNCiAgICAgICAgdGV4
dC1kZWNvcmF0aW9uOm5vbmV9DQoNCiAgICBhLmluZm86aG92ZXJ7ei1pbmRleDoyNTsgYmFja2dy
b3VuZC1jb2xvcjojOTkwMDAwIDsgY29sb3I6ICNmZmZmZmYgO30NCg0KICAgIGEuaW5mbyBzcGFu
e2Rpc3BsYXk6IG5vbmV9DQoNCiAgICBhLmluZm86aG92ZXIgc3Bhbi5pbmZveyAvKnRoZSBzcGFu
IHdpbGwgZGlzcGxheSBqdXN0IG9uIDpob3ZlciBzdGF0ZSovDQogICAgICAgIGRpc3BsYXk6Ymxv
Y2s7DQogICAgICAgIHBvc2l0aW9uOmFic29sdXRlOw0KICAgICAgICBmb250LXNpemU6IHNtYWxs
ZXIgOw0KICAgICAgICB0b3A6MmVtOyBsZWZ0OjJlbTsgd2lkdGg6MTVlbTsNCiAgICAgICAgcGFk
ZGluZzogMnB4IDsNCiAgICAgICAgYm9yZGVyOjFweCBzb2xpZCAjMzMzMzMzOw0KICAgICAgICBi
YWNrZ3JvdW5kLWNvbG9yOiNlZWVlZWU7IGNvbG9yOiM5OTAwMDA7DQogICAgICAgIHRleHQtYWxp
Z246IGxlZnQgO30NCg0KICAgICBBIHsgZm9udC13ZWlnaHQ6IGJvbGQ7IH0NCiAgICAgQTpsaW5r
IHsgY29sb3I6ICM5OTAwMDA7IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50IDsgfQ0KICAg
ICBBOnZpc2l0ZWQgeyBjb2xvcjogIzMzMzMzMzsgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJl
bnQgOyB9DQogICAgIEE6YWN0aXZlIHsgY29sb3I6ICMzMzMzMzM7IGJhY2tncm91bmQtY29sb3I6
IHRyYW5zcGFyZW50IDsgfQ0KDQogICAgcCB7IG1hcmdpbi1sZWZ0OiAyZW07IG1hcmdpbi1yaWdo
dDogMmVtOyB9DQogICAgcC5jb3B5cmlnaHQgeyBmb250LXNpemU6IHgtc21hbGwgOyB9DQogICAg
cC50b2MgeyBmb250LXNpemU6IHNtYWxsIDsgZm9udC13ZWlnaHQ6IGJvbGQgOyBtYXJnaW4tbGVm
dDogM2VtIDt9DQogICAgdGFibGUudG9jIHsgbWFyZ2luOiAwIDAgMCAzZW07IHBhZGRpbmc6IDA7
IGJvcmRlcjogMDsgdmVydGljYWwtYWxpZ246IHRleHQtdG9wOyB9DQogICAgdGQudG9jIHsgZm9u
dC1zaXplOiBzbWFsbDsgZm9udC13ZWlnaHQ6IGJvbGQ7IHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRv
cDsgfQ0KDQogICAgc3Bhbi5lbXBoIHsgZm9udC1zdHlsZTogaXRhbGljOyB9DQogICAgc3Bhbi5z
dHJvbmcgeyBmb250LXdlaWdodDogYm9sZDsgfQ0KICAgIHNwYW4udmVyYiwgc3Bhbi52YmFyZSB7
IGZvbnQtZmFtaWx5OiAiQ291cmllciBOZXciLCBDb3VyaWVyLCBtb25vc3BhY2UgOyB9DQoNCiAg
ICBzcGFuLnZlbXBoIHsgZm9udC1zdHlsZTogaXRhbGljOyBmb250LWZhbWlseTogIkNvdXJpZXIg
TmV3IiwgQ291cmllciwgbW9ub3NwYWNlIDsgfQ0KICAgIHNwYW4udnN0cm9uZyB7IGZvbnQtd2Vp
Z2h0OiBib2xkOyBmb250LWZhbWlseTogIkNvdXJpZXIgTmV3IiwgQ291cmllciwgbW9ub3NwYWNl
IDsgfQ0KICAgIHNwYW4udmRlbHV4ZSB7IGZvbnQtd2VpZ2h0OiBib2xkOyBmb250LXN0eWxlOiBp
dGFsaWM7IGZvbnQtZmFtaWx5OiAiQ291cmllciBOZXciLCBDb3VyaWVyLCBtb25vc3BhY2UgOyB9
DQoNCiAgICBvbC50ZXh0IHsgbWFyZ2luLWxlZnQ6IDJlbTsgbWFyZ2luLXJpZ2h0OiAyZW07IH0N
CiAgICB1bC50ZXh0IHsgbWFyZ2luLWxlZnQ6IDJlbTsgbWFyZ2luLXJpZ2h0OiAyZW07IH0NCiAg
ICBsaSB7IG1hcmdpbi1sZWZ0OiAzZW07ICB9DQoNCiAgICBwcmUgeyBtYXJnaW4tbGVmdDogM2Vt
OyBjb2xvcjogIzMzMzMzMzsgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAg
ICBmb250LWZhbWlseTogIkNvdXJpZXIgTmV3IiwgQ291cmllciwgbW9ub3NwYWNlIDsgZm9udC1z
aXplOiBzbWFsbCA7DQogICAgICAgIHRleHQtYWxpZ246IGxlZnQ7DQogICAgICAgIH0NCg0KICAg
IGgzIHsgY29sb3I6ICMzMzMzMzM7IGZvbnQtc2l6ZTogbWVkaXVtIDsNCiAgICAgICAgZm9udC1m
YW1pbHk6IGhlbHZldGljYSwgYXJpYWwsIHNhbnMtc2VyaWYgOw0KICAgICAgICBiYWNrZ3JvdW5k
LWNvbG9yOiB0cmFuc3BhcmVudDsgfQ0KICAgIGg0IHsgZm9udC1zaXplOiBzbWFsbDsgZm9udC1m
YW1pbHk6IGhlbHZldGljYSwgYXJpYWwsIHNhbnMtc2VyaWYgOyB9DQoNCiAgICB0YWJsZS5idWcg
eyB3aWR0aDogMzBweCA7IGhlaWdodDogMTVweCA7IH0NCiAgICB0ZC5idWcgeyBjb2xvcjogI2Zm
ZmZmZiA7IGJhY2tncm91bmQtY29sb3I6ICM5OTAwMDAgOw0KICAgICAgICB0ZXh0LWFsaWduOiBj
ZW50ZXIgOyB3aWR0aDogMzBweCA7IGhlaWdodDogMTVweCA7DQogICAgICAgICB9DQogICAgdGQu
YnVnIEEubGluazIgeyBjb2xvcjogI2ZmZmZmZiA7IGZvbnQtd2VpZ2h0OiBib2xkOw0KICAgICAg
ICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIGZvbnQtZmFtaWx5OiBtb25hY28sIGNo
YXJjb2FsLCBnZW5ldmEsICJNUyBTYW5zIFNlcmlmIiwgaGVsdmV0aWNhLCBzYW5zLXNlcmlmOw0K
ICAgICAgICBmb250LXNpemU6IHgtc21hbGwgOyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVu
dCB9DQoNCiAgICB0ZC5oZWFkZXIgeyBjb2xvcjogI2ZmZmZmZjsgZm9udC1zaXplOiB4LXNtYWxs
IDsNCiAgICAgICAgZm9udC1mYW1pbHk6IGFyaWFsLCBoZWx2ZXRpY2EsIHNhbnMtc2VyaWY7IHZl
cnRpY2FsLWFsaWduOiB0b3A7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2NjY2NjYgOyB3
aWR0aDogMzMlIDsgfQ0KICAgIHRkLmF1dGhvciB7IGZvbnQtd2VpZ2h0OiBib2xkOyBtYXJnaW4t
bGVmdDogNGVtOyBmb250LXNpemU6IHgtc21hbGwgOyB9DQogICAgdGQuYXV0aG9yLXRleHQgeyBm
b250LXNpemU6IHgtc21hbGw7IH0NCiAgICB0YWJsZS5mdWxsIHsgdmVydGljYWwtYWxpZ246IHRv
cCA7IGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2UgOw0KICAgICAgICBib3JkZXItc3R5bGU6IHNv
bGlkIHNvbGlkIHNvbGlkIHNvbGlkIDsNCiAgICAgICAgYm9yZGVyLWNvbG9yOiBibGFjayBibGFj
ayBibGFjayBibGFjayA7DQogICAgICAgIGZvbnQtc2l6ZTogc21hbGwgOyB0ZXh0LWFsaWduOiBj
ZW50ZXIgOyB9DQogICAgdGFibGUuaGVhZGVycywgdGFibGUubm9uZSB7IHZlcnRpY2FsLWFsaWdu
OiB0b3AgOyBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlIDsNCiAgICAgICAgYm9yZGVyLXN0eWxl
OiBub25lOw0KICAgICAgICBmb250LXNpemU6IHNtYWxsIDsgdGV4dC1hbGlnbjogY2VudGVyIDsg
fQ0KICAgIHRhYmxlLmZ1bGwgdGggeyBmb250LXdlaWdodDogYm9sZCA7DQogICAgICAgIGJvcmRl
ci1zdHlsZTogc29saWQgOw0KICAgICAgICBib3JkZXItY29sb3I6IGJsYWNrIGJsYWNrIGJsYWNr
IGJsYWNrIDsgfQ0KICAgIHRhYmxlLmhlYWRlcnMgdGggeyBmb250LXdlaWdodDogYm9sZCA7DQog
ICAgICAgIGJvcmRlci1zdHlsZTogbm9uZSBub25lIHNvbGlkIG5vbmU7DQogICAgICAgIGJvcmRl
ci1jb2xvcjogYmxhY2sgYmxhY2sgYmxhY2sgYmxhY2sgOyB9DQogICAgdGFibGUubm9uZSB0aCB7
IGZvbnQtd2VpZ2h0OiBib2xkIDsNCiAgICAgICAgYm9yZGVyLXN0eWxlOiBub25lOyB9DQogICAg
dGFibGUuZnVsbCB0ZCB7DQogICAgICAgIGJvcmRlci1zdHlsZTogc29saWQgc29saWQgc29saWQg
c29saWQgOw0KICAgICAgICBib3JkZXItY29sb3I6ICMzMzMzMzMgIzMzMzMzMyAjMzMzMzMzICMz
MzMzMzMgOyB9DQogICAgdGFibGUuaGVhZGVycyB0ZCwgdGFibGUubm9uZSB0ZCB7IGJvcmRlci1z
dHlsZTogbm9uZTsgfQ0KDQogICAgaHIgeyBoZWlnaHQ6IDFweCB9DQotLT4NCjwvc3R5bGU+DQo8
L2hlYWQ+DQo8Ym9keT4NCjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBj
ZWxsc3BhY2luZz0iMiIgY2xhc3M9ImJ1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJi
dWciPjxhIGhyZWY9IiN0b2MiIGNsYXNzPSJsaW5rMiI+Jm5ic3A7VE9DJm5ic3A7PC9hPjwvdGQ+
PC90cj48L3RhYmxlPg0KPHRhYmxlIHN1bW1hcnk9ImxheW91dCIgd2lkdGg9IjY2JSIgYm9yZGVy
PSIwIiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiPjx0cj48dGQ+PHRhYmxlIHN1bW1h
cnk9ImxheW91dCIgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjIiIGNlbGxz
cGFjaW5nPSIxIj4NCjx0cj48dGQgY2xhc3M9ImhlYWRlciI+TmV0d29yayBXb3JraW5nIEdyb3Vw
PC90ZD48dGQgY2xhc3M9ImhlYWRlciI+TS4gS29tdTwvdGQ+PC90cj4NCjx0cj48dGQgY2xhc3M9
ImhlYWRlciI+SW50ZXJuZXQtRHJhZnQ8L3RkPjx0ZCBjbGFzcz0iaGVhZGVyIj5ISUlUPC90ZD48
L3RyPg0KPHRyPjx0ZCBjbGFzcz0iaGVhZGVyIj5FeHBpcmVzOiBBdWd1c3QgNSwgMjAwNjwvdGQ+
PHRkIGNsYXNzPSJoZWFkZXIiPk0uIEJhZ251bG88L3RkPjwvdHI+DQo8dHI+PHRkIGNsYXNzPSJo
ZWFkZXIiPiZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJoZWFkZXIiPlVDM008L3RkPjwvdHI+DQo8dHI+
PHRkIGNsYXNzPSJoZWFkZXIiPiZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJoZWFkZXIiPksuIFNsYXZv
djwvdGQ+PC90cj4NCjx0cj48dGQgY2xhc3M9ImhlYWRlciI+Jm5ic3A7PC90ZD48dGQgY2xhc3M9
ImhlYWRlciI+Uy4gU3VnaW1vdG8sIEVkLjwvdGQ+PC90cj4NCjx0cj48dGQgY2xhc3M9ImhlYWRl
ciI+Jm5ic3A7PC90ZD48dGQgY2xhc3M9ImhlYWRlciI+RXJpY3Nzb248L3RkPjwvdHI+DQo8dHI+
PHRkIGNsYXNzPSJoZWFkZXIiPiZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJoZWFkZXIiPkZlYnJ1YXJ5
IDIwMDY8L3RkPjwvdHI+DQo8L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPg0KPGRpdiBhbGlnbj0i
cmlnaHQiPjxzcGFuIGNsYXNzPSJ0aXRsZSI+PGJyIC8+U29ja2V0IEFwcGxpY2F0aW9uIFByb2dy
YW0NCiAgICBJbnRlcmZhY2UgKEFQSSkgZm9yIE11bHRpaG9tZWQgU2hpbTwvc3Bhbj48L2Rpdj4N
CjxkaXYgYWxpZ249InJpZ2h0Ij48c3BhbiBjbGFzcz0idGl0bGUiPjxiciAvPmRyYWZ0LXN1Z2lt
b3RvLW11bHRpaG9tZS1zaGltLWFwaS0wMDwvc3Bhbj48L2Rpdj4NCg0KPGgzPlN0YXR1cyBvZiB0
aGlzIE1lbW88L2gzPg0KPHA+DQpCeSBzdWJtaXR0aW5nIHRoaXMgSW50ZXJuZXQtRHJhZnQsDQpl
YWNoIGF1dGhvciByZXByZXNlbnRzIHRoYXQgYW55IGFwcGxpY2FibGUgcGF0ZW50IG9yIG90aGVy
IElQUiBjbGFpbXMgb2Ygd2hpY2gNCmhlIG9yIHNoZSBpcyBhd2FyZSBoYXZlIGJlZW4gb3Igd2ls
bCBiZSBkaXNjbG9zZWQsDQphbmQgYW55IG9mIHdoaWNoIGhlIG9yIHNoZSBiZWNvbWVzIGF3YXJl
IHdpbGwgYmUgZGlzY2xvc2VkLA0KaW4gYWNjb3JkYW5jZSB3aXRoIFNlY3Rpb24mbmJzcDs2IG9m
IEJDUCZuYnNwOzc5LjwvcD4NCjxwPg0KSW50ZXJuZXQtRHJhZnRzIGFyZSB3b3JraW5nIGRvY3Vt
ZW50cyBvZiB0aGUgSW50ZXJuZXQgRW5naW5lZXJpbmcNClRhc2sgRm9yY2UgKElFVEYpLCBpdHMg
YXJlYXMsIGFuZCBpdHMgd29ya2luZyBncm91cHMuDQpOb3RlIHRoYXQgb3RoZXIgZ3JvdXBzIG1h
eSBhbHNvIGRpc3RyaWJ1dGUgd29ya2luZyBkb2N1bWVudHMgYXMNCkludGVybmV0LURyYWZ0cy48
L3A+DQo8cD4NCkludGVybmV0LURyYWZ0cyBhcmUgZHJhZnQgZG9jdW1lbnRzIHZhbGlkIGZvciBh
IG1heGltdW0gb2Ygc2l4IG1vbnRocw0KYW5kIG1heSBiZSB1cGRhdGVkLCByZXBsYWNlZCwgb3Ig
b2Jzb2xldGVkIGJ5IG90aGVyIGRvY3VtZW50cyBhdCBhbnkgdGltZS4NCkl0IGlzIGluYXBwcm9w
cmlhdGUgdG8gdXNlIEludGVybmV0LURyYWZ0cyBhcyByZWZlcmVuY2UgbWF0ZXJpYWwgb3IgdG8g
Y2l0ZQ0KdGhlbSBvdGhlciB0aGFuIGFzICZsZHF1bzt3b3JrIGluIHByb2dyZXNzLiZyZHF1bzs8
L3A+DQo8cD4NClRoZSBsaXN0IG9mIGN1cnJlbnQgSW50ZXJuZXQtRHJhZnRzIGNhbiBiZSBhY2Nl
c3NlZCBhdA0KPGEgaHJlZj0naHR0cDovL3d3dy5pZXRmLm9yZy9pZXRmLzFpZC1hYnN0cmFjdHMu
dHh0Jz5odHRwOi8vd3d3LmlldGYub3JnL2lldGYvMWlkLWFic3RyYWN0cy50eHQ8L2E+LjwvcD4N
CjxwPg0KVGhlIGxpc3Qgb2YgSW50ZXJuZXQtRHJhZnQgU2hhZG93IERpcmVjdG9yaWVzIGNhbiBi
ZSBhY2Nlc3NlZCBhdA0KPGEgaHJlZj0naHR0cDovL3d3dy5pZXRmLm9yZy9zaGFkb3cuaHRtbCc+
aHR0cDovL3d3dy5pZXRmLm9yZy9zaGFkb3cuaHRtbDwvYT4uPC9wPg0KPHA+DQpUaGlzIEludGVy
bmV0LURyYWZ0IHdpbGwgZXhwaXJlIG9uIEF1Z3VzdCA1LCAyMDA2LjwvcD4NCg0KPGgzPkNvcHly
aWdodCBOb3RpY2U8L2gzPg0KPHA+DQpDb3B5cmlnaHQgJmNvcHk7IFRoZSBJbnRlcm5ldCBTb2Np
ZXR5ICgyMDA2KS48L3A+DQoNCjxoMz5BYnN0cmFjdDwvaDM+DQoNCjxwPlRoaXMgZG9jdW1lbnQg
c3BlY2lmaWVzIGEgc29ja2V0IEFQSSBmb3IgbXVsdGlob21lZCBzaGltDQogICAgICBsYXllci4g
IFRoZSBBUEkgYWltcyB0byBlbmFibGUgaW50ZXJhY3Rpb25zIGJldHdlZW4gYXBwbGljYXRpb24N
CiAgICAgIGFuZCB0aGUgbXVsdGlob21pbmcgc2hpbSBsYXllciBmb3IgYWR2YW5jZWQgbG9jYXRv
ciBtYW5hZ2VtZW50DQogICAgICBhbmQgaW50ZXJmYWNlIHRvIGFjY2VzcyBpbmZvcm1hdGlvbiBh
Ym91dCBmYWlsdXJlIGRldGVjdGlvbiBhbmQNCiAgICAgIHBhdGggZXhwbG9yYXRpb24uDQo8L3A+
DQo8cD5UaGlzIGRvY3VtZW50IGlzIGJhc2VkIG9uIGFuIGFzc3VtcHRpb24gdGhhdCBhIG11bHRo
b21lZCBob3N0DQogICAgICBpcyBlcXVpcHBlZCB3aXRoIGEgJ3NoaW0nIHdoaWNoIGVzc2VudGlh
bGx5IG1haW50YWlucyBtYXBwaW5nIG9mDQogICAgICBpZGVudGlmaWVyIGFuZCBsb2NhdG9yIGF0
IHRoZSBJUCBsYXllci4gIFNISU02IGFuZCBISVAgYXJlDQogICAgICBleGFtcGxlcyBvZiB0aGUg
c2hpbS4gIEhlbmNlLCB0aGUgQVBJIGNhbiBiZSBjb21tb25seSB1c2VkIGJ5DQogICAgICBTSElN
NiBhbmQgSElQLg0KPC9wPjxhIG5hbWU9InRvYyI+PC9hPjxiciAvPjxociAvPg0KPGgzPlRhYmxl
IG9mIENvbnRlbnRzPC9oMz4NCjxwIGNsYXNzPSJ0b2MiPg0KPGEgaHJlZj0iI2FuY2hvcjEiPjEu
PC9hPiZuYnNwOw0KSW50cm9kdWN0aW9uPGJyIC8+DQo8YSBocmVmPSIjYW5jaG9yMiI+Mi48L2E+
Jm5ic3A7DQpUYXJnZXQ8YnIgLz4NCjxhIGhyZWY9IiNhbmNob3IzIj4zLjwvYT4mbmJzcDsNClRl
cm1pbm9sb2d5PGJyIC8+DQo8YSBocmVmPSIjc2VjLXN5c3RlbS1vdmVydmlldyI+NC48L2E+Jm5i
c3A7DQpTeXN0ZW0gT3ZlcnZpZXc8YnIgLz4NCjxhIGhyZWY9IiNzZWMtcmVxdWlyZW1lbnRzIj41
LjwvYT4mbmJzcDsNClJlcXVpcmVtZW50czxiciAvPg0KPGEgaHJlZj0iI3NlYy1zaGltLXNvY2tl
dC1vcHRpb25zIj42LjwvYT4mbmJzcDsNClNvY2tldCBPcHRpb25zIGZvciBNdWx0aWhvbWVkIFNo
aW0gTGF5ZXI8YnIgLz4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzxhIGhyZWY9IiNhbmNob3I0
Ij42LjEuPC9hPiZuYnNwOw0KU0hJTV9BU1NPQ0lBVEVEPGJyIC8+DQombmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDs8YSBocmVmPSIjYW5jaG9yNSI+Ni4yLjwvYT4mbmJzcDsNClNISU1fRE9OVFNISU08
YnIgLz4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzxhIGhyZWY9IiNhbmNob3I2Ij42LjMuPC9h
PiZuYnNwOw0KU0hJTV9IT1RfU1RBTkRCWTxiciAvPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
PGEgaHJlZj0iI2FuY2hvcjciPjYuNC48L2E+Jm5ic3A7DQpTSElNX1BBVEhFWFBMT1JFPGJyIC8+
DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8YSBocmVmPSIjYW5jaG9yOCI+Ni41LjwvYT4mbmJz
cDsNClNISU1fTE9DX0xPQ0FMX1BSRUY8YnIgLz4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzxh
IGhyZWY9IiNhbmNob3I5Ij42LjYuPC9hPiZuYnNwOw0KU0hJTV9MT0NfUEVFUl9QUkVGPGJyIC8+
DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8YSBocmVmPSIjYW5jaG9yMTAiPjYuNy48L2E+Jm5i
c3A7DQpTSElNX0xPQ19MT0NBTF9SRUNWPGJyIC8+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8
YSBocmVmPSIjYW5jaG9yMTEiPjYuOC48L2E+Jm5ic3A7DQpTSElNX0xPQ19QRUVSX1JFQ1Y8YnIg
Lz4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzxhIGhyZWY9IiNhbmNob3IxMiI+Ni45LjwvYT4m
bmJzcDsNClNISU1fTE9DTElTVF9MT0NBTDxiciAvPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
PGEgaHJlZj0iI2FuY2hvcjEzIj42LjEwLjwvYT4mbmJzcDsNClNISU1fTE9DTElTVF9SRU1PVEU8
YnIgLz4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzxhIGhyZWY9IiNhbmNob3IxNCI+Ni4xMS48
L2E+Jm5ic3A7DQpTSElNX1RJTUVSX0tFRVBBTElWRTxiciAvPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7PGEgaHJlZj0iI2FuY2hvcjE1Ij42LjEyLjwvYT4mbmJzcDsNClNISU1fRkVFREJBQ0tf
UE9TSVRJVkU8YnIgLz4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzxhIGhyZWY9IiNhbmNob3Ix
NiI+Ni4xMy48L2E+Jm5ic3A7DQpTSElNX0ZFRURCQUNLX05FR0FUSVZFPGJyIC8+DQombmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDs8YSBocmVmPSIjYW5jaG9yMTciPjYuMTQuPC9hPiZuYnNwOw0KU0hJ
TV9JRl9SRUNWPGJyIC8+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8YSBocmVmPSIjYW5jaG9y
MTgiPjYuMTUuPC9hPiZuYnNwOw0KU0hJTV9JRl9TRU5EPGJyIC8+DQombmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDs8YSBocmVmPSIjYW5jaG9yMTkiPjYuMTYuPC9hPiZuYnNwOw0KRXJyb3IgSGFuZGxp
bmc8YnIgLz4NCjxhIGhyZWY9IiNzZWMtYWNjZXNzLXRvLWxvY2luZm8iPjcuPC9hPiZuYnNwOw0K
QWNjZXNzIHRvIExvY2F0b3IgSW5mb3JtYXRpb248YnIgLz4NCiZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOzxhIGhyZWY9IiNhbmNob3IyMCI+Ny4xLjwvYT4mbmJzcDsNCkdldCBMb2NhdG9yIEluZm9y
bWF0aW9uIGZyb20gSW5jb21pbmcgUGFja2V0PGJyIC8+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDs8YSBocmVmPSIjYW5jaG9yMjEiPjcuMi48L2E+Jm5ic3A7DQpTcGVjaWZ5IExvY2F0b3IgSW5m
b3JtYXRpb24gZm9yIE91dGdvaW5nIFBhY2tldDxiciAvPg0KPGEgaHJlZj0iI3NlYy1kYXRhLXN0
cnVjdHVyZXMiPjguPC9hPiZuYnNwOw0KRGF0YSBTdHJ1Y3R1cmVzPGJyIC8+DQombmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDs8YSBocmVmPSIjYW5jaG9yMjIiPjguMS48L2E+Jm5ic3A7DQpQbGFjZWhv
bGRlciBmb3IgTG9jYXRvciBJbmZvcm1hdGlvbjxiciAvPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PGEgaHJlZj0iI2FuY2hvcjIzIj44LjEuMS48L2E+
Jm5ic3A7DQphZGRyaW5mbyBzdHJ1Y3R1cmU8YnIgLz4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzxhIGhyZWY9IiNhbmNob3IyNCI+OC4xLjIuPC9hPiZu
YnNwOw0Kc29ja2FkZHJfc3RvcmFnZSBzdHJ1Y3R1cmU8YnIgLz4NCjxhIGhyZWY9IiNzZWMtaW1w
bGljYXRpb25zLWZvci1sZWdhY3lhcGkiPjkuPC9hPiZuYnNwOw0KSW1wbGljYXRpb25zIGZvciBF
eGlzdGluZyBTb2NrZXQgQVBJIEV4dGVuc2lvbnM8YnIgLz4NCjxhIGhyZWY9IiNzZWMtZGlzY3Vz
c2lvbiI+MTAuPC9hPiZuYnNwOw0KRGlzY3Vzc2lvbjxiciAvPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7PGEgaHJlZj0iI2FuY2hvcjI1Ij4xMC4xLjwvYT4mbmJzcDsNCklzc3VlcyB3aXRoIGEg
Q29udGV4dCBTaGFyZWQgYnkgQXBwbGljYXRpb25zPGJyIC8+DQombmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDs8YSBocmVmPSIjYW5jaG9yMjYiPjEwLjIuPC9hPiZuYnNwOw0KSXNzdWVzIG9mIEhhbmRs
aW5nIE11bHRpcGxlIExvY2F0b3JzIHdpdGggU2hpbSBVbmF3YXJlDQoJCSAgICAgIEFwcGxpY2F0
aW9uczxiciAvPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7PGEgaHJlZj0iI2FuY2hvcjI3Ij4xMC4yLjEuPC9hPiZuYnNwOw0KU2hpbSBVbmF3YXJlIEFw
cGxpY2F0aW9uIE1ha2luZyBJbml0aWFsIENvbnRhY3Q8YnIgLz4NCiZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzxhIGhyZWY9IiNhbmNob3IyOCI+MTAuMi4y
LjwvYT4mbmJzcDsNCk5hbWluZyBhdCBTb2NrZXQgTGF5ZXI8YnIgLz4NCiZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOzxhIGhyZWY9IiNhbmNob3IyOSI+MTAuMy48L2E+Jm5ic3A7DQpJc3N1ZXMgb2Yg
SGFuZGxpbmcgTXVsdGlwbGUgTG9jYXRvcnMgd2l0aCBTaGltIEF3YXJlDQoJCSAgICAgIEFwcGxp
Y2F0aW9uczxiciAvPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PGEgaHJlZj0iI2FuY2hvcjMw
Ij4xMC40LjwvYT4mbmJzcDsNCkFkZGl0aW9uYWwgUmVxdWlyZW1lbnRzIGZyb20gQXBwbGljYXRp
b248YnIgLz4NCjxhIGhyZWY9IiNhbmNob3IzMSI+MTEuPC9hPiZuYnNwOw0KSUFOQSBDb25zaWRl
cmF0aW9uczxiciAvPg0KPGEgaHJlZj0iI2FuY2hvcjMyIj4xMi48L2E+Jm5ic3A7DQpTZWN1cml0
eSBDb25zaWRlcmF0aW9uczxiciAvPg0KPGEgaHJlZj0iI2FuY2hvcjMzIj4xMy48L2E+Jm5ic3A7
DQpDb25jbHVzaW9uPGJyIC8+DQo8YSBocmVmPSIjYW5jaG9yMzQiPjE0LjwvYT4mbmJzcDsNCkFj
a25vd2xlZGdtZW50czxiciAvPg0KPGEgaHJlZj0iI3JmYy5yZWZlcmVuY2VzMSI+MTUuPC9hPiZu
YnNwOw0KUmVmZXJlbmNlczxiciAvPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PGEgaHJlZj0i
I3JmYy5yZWZlcmVuY2VzMSI+MTUuMS48L2E+Jm5ic3A7DQpOb3JtYXRpdmUgUmVmZXJlbmNlczxi
ciAvPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PGEgaHJlZj0iI3JmYy5yZWZlcmVuY2VzMiI+
MTUuMi48L2E+Jm5ic3A7DQpJbmZvcm1hdGl2ZSBSZWZlcmVuY2VzPGJyIC8+DQo8YSBocmVmPSIj
cmZjLmF1dGhvcnMiPiYjMTY3OzwvYT4mbmJzcDsNCkF1dGhvcnMnIEFkZHJlc3NlczxiciAvPg0K
PGEgaHJlZj0iI3JmYy5jb3B5cmlnaHQiPiYjMTY3OzwvYT4mbmJzcDsNCkludGVsbGVjdHVhbCBQ
cm9wZXJ0eSBhbmQgQ29weXJpZ2h0IFN0YXRlbWVudHM8YnIgLz4NCjwvcD4NCjxiciBjbGVhcj0i
YWxsIiAvPg0KDQo8YSBuYW1lPSJhbmNob3IxIj48L2E+PGJyIC8+PGhyIC8+DQo8dGFibGUgc3Vt
bWFyeT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjIiIGNsYXNzPSJidWci
IGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0iYnVnIj48YSBocmVmPSIjdG9jIiBjbGFzcz0i
bGluazIiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4NCjxhIG5hbWU9InJm
Yy5zZWN0aW9uLjEiPjwvYT48aDM+MS4mbmJzcDtJbnRyb2R1Y3Rpb248L2gzPg0KDQo8cD5UaGlz
IGRvY3VtZW50IHNwZWNpZmllcyBhIHNvY2tldCBBUEkgZm9yIG11bHRpaG9tZWQgc2hpbQ0KICAg
ICAgbGF5ZXIuICBUaGUgQVBJIGFpbXMgdG8gZW5hYmxlIGludGVyYWN0aW9ucyBiZXR3ZWVuIGFw
cGxpY2F0aW9uDQogICAgICBhbmQgdGhlIG11bHRpaG9taW5nIHNoaW0gbGF5ZXIgZm9yIGFkdmFu
Y2VkIGxvY2F0b3IgbWFuYWdlbWVudA0KICAgICAgYW5kIGludGVyZmFjZSB0byBhY2Nlc3MgaW5m
b3JtYXRpb24gYWJvdXQgZmFpbHVyZSBkZXRlY3Rpb24gYW5kDQogICAgICBwYXRoIGV4cGxvcmF0
aW9uLg0KPC9wPg0KPHA+VGhpcyBkb2N1bWVudCBpcyBiYXNlZCBvbiBhbiBhc3N1bXB0aW9uIHRo
YXQgYSBtdWx0aG9tZWQgaG9zdA0KICAgICAgaXMgZXF1aXBwZWQgd2l0aCBhICdzaGltJyB3aGlj
aCBlc3NlbnRpYWxseSBtYWludGFpbnMgbWFwcGluZyBvZg0KICAgICAgaWRlbnRpZmllciBhbmQg
bG9jYXRvciBhdCB0aGUgSVAgbGF5ZXIuICBTSElNNiBhbmQgSElQIGFyZQ0KICAgICAgZXhhbXBs
ZXMgb2YgdGhlIHNoaW0uICBIZW5jZSwgdGhlIEFQSSBjYW4gYmUgY29tbW9ubHkgdXNlZCBieQ0K
ICAgICAgU0hJTTYgYW5kIEhJUC4NCjwvcD4NCjxwPldlIHN1Z2dlc3QgdGhhdCB0aGUgSUQvTG9j
YXRvciBhZGFwdGF0aW9uIGlzIGRvbmUgb25seSBvbmNlDQogICAgICBpbnNpZGUgdGhlIG5ldHdv
cmsgc3RhY2suICBJbiBvdGhlciB3b3JkcywgaWYgdGhlcmUgZXhpc3QNCiAgICAgIG11bHRpcGxl
IHNoaW0gcHJvdG9jb2xzIGF0IHRoZSBJUCBsYXllciwgYW55IG9uZSBvZiB0aGVtIHNob3VsZA0K
ICAgICAgYmUgZXhjbHVzaXZlbHkgYXBwbGllZCBmb3IgYSBnaXZlbiBmbG93Lg0KPC9wPg0KPHA+
V2UgdHJ5IHRvIG1ha2UgdGhpcyBkb2N1bWVudCBiZSBpbiBsaW5lIHdpdGggUG9zaXguMWcgPGEg
Y2xhc3M9ImluZm8iIGhyZWY9IiNQT1NJWCI+W1BPU0lYXTxzcGFuPiAoPC9zcGFuPjxzcGFuIGNs
YXNzPSJpbmZvIj4sICZsZHF1bztJRUVFIFN0ZC4gMTAwMy4xLTIwMDEgU3RhbmRhcmQgZm9yIElu
Zm9ybWF0aW9uIAkgIFRlY2hub2xvZ3kgLS0gUG9ydGFibGUgT3BlcmF0aW5nIFN5c3RlbSBJbnRl
cmZhY2UgCSAgKFBPU0lYKS4gT3BlbiBncm91cCBUZWNobmljYWwgU3RhbmRhcmQ6IEJhc2UgU3Bl
Y2lmaWNhdGlvbnMsIAkgIElzc3VlIDYsIGh0dHA6Ly93d3cub3Blbmdyb3VwLm9yZy9hdXN0aW4s
JnJkcXVvOyBEZWNlbWJlciZuYnNwOzIwMDEuPC9zcGFuPjxzcGFuPik8L3NwYW4+PC9hPiBhcyBt
dWNoIGFzIHBvc3NpYmxlLiAgQW5kIHRoZSBBUEkgZGVmaW5lcyBob3cNCiAgICAgIHRvIHVzZSBh
bmNpbGxhcnkgZGF0YSAoYWthIGNtc2cpIHRvIGFjY2VzcyBsb2NhdG9yIGluZm9ybWF0aW9uDQog
ICAgICB3aXRoIHJlY3Ztc2coKSBhbmQvb3Igc2VuZG1zZygpIEkvTyBjYWxscy4gIERlZmluaXRp
b24gb2YgQVBJIGlzDQogICAgICBwcmVzZW50ZWQgaW4gQyBsYW5ndWFnZSBhbmQgZGF0YSB0eXBl
cyBmb2xsb3cgUG9zaXguMWcgZm9ybWF0Og0KICAgICAgaW50Tl90IG1lYW5zIGEgc2luZ2VkIGlu
dGVnZXIgb2YgZXhhY3RseSBOIGJpdHMgKGUuZy4gaW50MTZfdCkNCiAgICAgIGFuZCB1aW50Tl90
IG1lYW5zIGFuIHVuc2lnbmVkIGludGVnZXIgb2YgZXhhY3RseSBOIGJpdHMNCiAgICAgIChlLmcu
IHVpbnQzMl90KS4NCjwvcD4NCjxhIG5hbWU9ImFuY2hvcjIiPjwvYT48YnIgLz48aHIgLz4NCjx0
YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIgY2xh
c3M9ImJ1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJidWciPjxhIGhyZWY9IiN0b2Mi
IGNsYXNzPSJsaW5rMiI+Jm5ic3A7VE9DJm5ic3A7PC9hPjwvdGQ+PC90cj48L3RhYmxlPg0KPGEg
bmFtZT0icmZjLnNlY3Rpb24uMiI+PC9hPjxoMz4yLiZuYnNwO1RhcmdldDwvaDM+DQoNCjxwPlBy
aW1hcnkgdGFyZ2V0IHJlYWRlciBvZiB0aGlzIGRvY3VtZW50IGlzIGFwcGxpY2F0aW9uDQogICAg
ICBwcm9ncmFtbWVyIHdobyBkZXZlbG9wcyBhcHBsaWNhdGlvbiBzb2Z0d2FyZSB3aGljaCBtYXkg
cnVuIG9uDQogICAgICB0b3Agb2YgbXVsdGlob21lZCBlbnZpcm9ubWVudC4gIEluIHBhcnRpY3Vs
YXIsIHRoZSBBUEkgc2hvdWxkIGJlDQogICAgICBiZW5lZmljaWFsIGZvciBhcHBsaWNhdGlvbiBk
ZXZlbG9wbWVudCBvZiB0aGUgc29mdHdhcmUgd2hpY2gNCiAgICAgIHRha2VzIGFkdmFudGFnZSBv
ZiBtdWx0aWhvbWVkIGVudmlyb25tZW50IGFpbWluZyB0byBhY2hpZXZlDQogICAgICBiZXR0ZXIg
ZmFpbG92ZXIuDQo8L3A+DQo8cD5TZWNvbmRseSwgdGhpcyBkb2N1bWVudCBzaG91bGQgYmUgb2Yg
aW50ZXJlc3QgZm9yIHRoZQ0KICAgICAgZGV2ZWxvcGVycyBvZiBhIGdpdmVuIHByb3RvY29sIHN0
YWNrIGZvciB0aGUgc2hpbSBsYXllcg0KICAgICAgKGUuZy4gU0hJTTYgYW5kIEhJUCkuICBUaGlz
IGlzIGJlY2F1c2UgdGhpcyBkb2N1bWVudCBzcGVjaWZpZXMNCiAgICAgIHdoYXQga2luZHMgb2Yg
aW5mb3JtYXRpb24gZXhjaGFuZ2Ugc2hvdWxkIGJlIHBvc3NpYmxlIGJldHdlZW4NCiAgICAgIHRo
ZSBhcHBsaWNhdGlvbiBhbmQgdGhlIHNoaW0gbGF5ZXIuDQo8L3A+DQo8YSBuYW1lPSJhbmNob3Iz
Ij48L2E+PGJyIC8+PGhyIC8+DQo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGluZz0i
MCIgY2VsbHNwYWNpbmc9IjIiIGNsYXNzPSJidWciIGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFz
cz0iYnVnIj48YSBocmVmPSIjdG9jIiBjbGFzcz0ibGluazIiPiZuYnNwO1RPQyZuYnNwOzwvYT48
L3RkPjwvdHI+PC90YWJsZT4NCjxhIG5hbWU9InJmYy5zZWN0aW9uLjMiPjwvYT48aDM+My4mbmJz
cDtUZXJtaW5vbG9neTwvaDM+DQoNCjxwPlRoaXMgZG9jdW1lbnQgZG9lcyBub3QgaW50ZW5kIHRv
IGdpdmUgbmV3IGRlZmluaXRpb25zIGZvcg0KICAgICAgdGVjaG5pY2FsIHRlcm1zIHRoYXQgYXJl
IHJlbGV2YW50IHRvIG11bHRpaG9tZWQgZW52aXJvbm1lbnQgYnV0DQogICAgICB0cmllcyB0byBp
bmhlcml0IGRlZmluaXRpb25zIHByb3ZpZGVkIGluIHRoZSBleGlzdGluZyBkb2N1bWVudHMNCiAg
ICAgIGFzIGxpc3RlZCBiZWxvdzoNCg0KICAgICAgPC9wPg0KPHVsIGNsYXNzPSJ0ZXh0Ij4NCjxs
aT5TSElNNiBQcm90b2NvbCBTcGVjaWZpY2F0aW9uPGEgY2xhc3M9ImluZm8iIGhyZWY9IiNJLUQu
aWV0Zi1zaGltNi1wcm90byI+W0ktRC5pZXRmLXNoaW02LXByb3RvXTxzcGFuPiAoPC9zcGFuPjxz
cGFuIGNsYXNzPSJpbmZvIj5CYWdudWxvLCBNLiBhbmQgRS4gTm9yZG1hcmssICZsZHF1bztMZXZl
bCAzIG11bHRpaG9taW5nIHNoaW0gcHJvdG9jb2wsJnJkcXVvOyBEZWNlbWJlciZuYnNwOzIwMDUu
PC9zcGFuPjxzcGFuPik8L3NwYW4+PC9hPg0KPC9saT4NCjxsaT5ISVAgQXJjaGl0ZWN0dXJlPGEg
Y2xhc3M9ImluZm8iIGhyZWY9IiNJLUQuaWV0Zi1oaXAtYXJjaCI+W0ktRC5pZXRmLWhpcC1hcmNo
XTxzcGFuPiAoPC9zcGFuPjxzcGFuIGNsYXNzPSJpbmZvIj5Nb3Nrb3dpdHosIFIuIGFuZCBQLiBO
aWthbmRlciwgJmxkcXVvO0hvc3QgSWRlbnRpdHkgUHJvdG9jb2wgQXJjaGl0ZWN0dXJlLCZyZHF1
bzsgQXVndXN0Jm5ic3A7MjAwNS48L3NwYW4+PHNwYW4+KTwvc3Bhbj48L2E+DQo8L2xpPg0KPGxp
PlJlYWNoYWJpbGl0eSBQcm90b2NvbCAoUkVBUCk8YSBjbGFzcz0iaW5mbyIgaHJlZj0iI0ktRC5p
ZXRmLXNoaW02LWZhaWx1cmUtZGV0ZWN0aW9uIj5bSS1ELmlldGYtc2hpbTYtZmFpbHVyZS1kZXRl
Y3Rpb25dPHNwYW4+ICg8L3NwYW4+PHNwYW4gY2xhc3M9ImluZm8iPkFya2tvLCBKLiBhbmQgSS4g
QmVpam51bSwgJmxkcXVvO0ZhaWx1cmUgRGV0ZWN0aW9uIGFuZCBMb2NhdG9yIFBhaXIgRXhwbG9y
YXRpb24gCSAgUHJvdG9jb2wgZm9yIElQdjYgTXVsdGlob21pbmcsJnJkcXVvOyBEZWNlbWJlciZu
YnNwOzIwMDUuPC9zcGFuPjxzcGFuPik8L3NwYW4+PC9hPg0KPC9saT4NCjwvdWw+PHA+DQoNCiAg
ICAgIEZvciBjbGFyaWZpY2F0aW9uLCB3ZSBwcm92aWRlIGRlZmluaXRpb24gZm9yIHRoZSB0ZXJt
cyB0aGF0IGFyZQ0KICAgICAgZnJlcXVlbnRseSB1c2VkIGluIHRoaXMgZG9jdW1lbnQ6DQogDQog
ICAgICA8L3A+DQo8dWwgY2xhc3M9InRleHQiPg0KPGxpPkVuZHBvaW50IElkZW50aWZpZXIgKEVJ
RCkgLSBBbiBpZGVudGlmaWVyIHVzZWQgYnkgdGhlDQoJYXBwbGljYXRpb24gdG8gc3BlY2lmeSBh
biBlbmRwb2ludCBvZiB0aGUgY29tbXVuaWNhdGlvbi4gIEFzDQoJYWRkcmVzc2VkIGluIDxhIGNs
YXNzPSJpbmZvIiBocmVmPSIjSS1ELmlldGYtc2hpbTYtYXBwLXJlZmVyIj5bSS1ELmlldGYtc2hp
bTYtYXBwLXJlZmVyXTxzcGFuPiAoPC9zcGFuPjxzcGFuIGNsYXNzPSJpbmZvIj5Ob3JkbWFyaywg
RS4sICZsZHF1bztTaGltNiBBcHBsaWNhdGlvbiBSZWZlcnJhbCBJc3N1ZXMsJnJkcXVvOyBKdWx5
Jm5ic3A7MjAwNS48L3NwYW4+PHNwYW4+KTwvc3Bhbj48L2E+LA0KCWFwcGxpY2F0aW9uIG1heSBo
YW5kbGUgRUlEIGluIHZhcmlvdXMgd2F5cyBpbiBkaWZmZXJlbnQgdHlwZXMNCglvZiBjb21tdW5p
Y2F0aW9uIG1vZGVscyBzdWNoIGFzIGxvbmctbGl2ZWQgY29ubmVjdGlvbiwNCgljYWxsYmFjaywg
YW5kIHJlZmVycmFsLg0KCQ0KPHVsIGNsYXNzPSJ0ZXh0Ij4NCjxsaT5JbiBjYXNlIG9mIFNISU02
LCB0aGUgRUlEIGlzIGNhbGxlZCBVTElELiAgVUxJRCBpcyBjaG9zZW4NCgkgIGZyb20gb25lIG9m
IGF2YWlsYWJsZSBsb2NhdG9ycyBvbiB0aGUgaG9zdC4NCjwvbGk+DQo8bGk+SW4gY2FzZSBvZiBI
SVAsIHRoZSBFSUQgaXMgZXNzZW50aWFsbHkgYSBwdWJsaWMga2V5IG9mDQoJICB0aGUgaG9zdC4g
IEluIG9yZGVyIHRvIHByZXNlcnZlIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgb2YNCgkgIGxlZ2Fj
eSBhcHBsaWNhdGlvbiwgaGFzaCBvZiBwdWJsaWMga2V5IGNhbGxlZCBIb3N0IElkZW50aXR5DQoJ
ICBUYWcgKEhJVCkgaXMgdXNlZCBieSBhcHBsaWNhdGlvbiBhcyBhIGhhbmRsZXIgZm9yIHRoZSBF
SUQuDQoJICANCjwvbGk+DQo8L3VsPg0KCQ0KPC9saT4NCjxsaT5Mb2NhdG9yIC0gQW4gSVAgYWRk
cmVzcyBhY3R1YWxseSB1c2VkIHRvIGRlbGl2ZXIgdGhlIElQDQoJcGFja2V0LiAgTG9jYXRvciBz
aG91bGQgYmUgcHJlc2VudCBpbiB0aGUgc291cmNlIGFuZA0KCWRlc3RpbmF0aW9uIGZpZWxkIG9m
IElQIGhlYWRlciBvZiBhIHBhY2tldCB0aGF0IGFwcGVhcnMgb24NCgl3aXJlLiAgTm9ybWFsbHks
IGEgbG9jYXRvciBpcyBhc3NpZ25lZCB0byB0aGUgbmV0d29yaw0KCWludGVyZmFjZSBvZiB0aGUg
aG9zdC4gIEFuZCB0aGUgSVAgcGFja2V0IGRlc3RpbmVkIHRvIGEgZ2l2ZW4NCglsb2NhdG9yIGlz
IGRlbGl2ZXJlZCB0byB0aGUgY29ycmVzcG9uZGVudCBuZXR3b3JrIGludGVyZmFjZSBieQ0KCXRo
ZSByb3V0aW5nIHN5c3RlbS4NCjwvbGk+DQo8bGk+U2hpbSAtIEEgY29uY2VwdHVhbCBsYXllciBp
bnNpZGUgdGhlIElQIExheWVyIHdoaWNoDQoJbWFpbnRhaW5zIG1hcHBpbmdzIG9mIEVJRHMgYW5k
IGxvY2F0b3JzLiAgQW4gRUlEIGNhbiBiZQ0KCWFzc29jaWF0ZWQgd2l0aCBtb3JlIHRoYW4gb25l
IGxvY2F0b3JzIGF0IGEgdGltZSB3aGVuIHRoZSBob3N0DQoJaXMgbXVsdGlob21lZC4gIEZyb20g
bmV0d29yayBhcmNoaXRlY3R1cmUgcGVyc3BlY3RpdmUsIHNoaW0NCglzaG91bGQgYmUgZXZlbiBv
ciBsb3dlciB0aGFuIHRoZSBJUHNlYyBsYXllci4gIEl0IHNob3VsZCBiZQ0KCW5vdGVkIHRoYXQg
dGhlIHRlcm0gJ3NoaW0nIGRvZXMgbm90IHJlZmVyIHRvIHNwZWNpZmljIHByb3RvY29sDQoJYnV0
IHJlZmVycyB0byBhIGdlbmVyaWMgY29uY2VwdCBvZiBhIGxheWVyIHRoYXQgZW5hYmxlcw0KCXNl
cGFyYXRpb24gb2YgaWRlbnRpZmllciBhbmQgbG9jYXRvci4gIFNISU02IGFuZCBISVAgYXJlDQoJ
ZXhhbXBsZXMgb2YgdGhlIHNoaW0uDQo8L2xpPg0KPGxpPkNvbnRleHQgLSBBIHN0YXRlIGluZm9y
bWF0aW9uIHRvIGJlIHNoYXJlZCBieSB0aGUgcGVlcnMsDQoJd2hpY2ggZXNzZW50aWFsbHkgc3Rv
cmVzIGEgYmluZGluZyBiZXR3ZWVuIHRoZSBFSUQgYW5kDQoJYXNzb2NpYXRlZCBsb2NhdG9ycy4g
IFRoZSBjb250ZXh0IGlzIG1haW50YWluZWQgYXQgdGhlIHNoaW0NCglsYXllciBvZiB0aGUgaG9z
dC4NCjwvbGk+DQo8bGk+TGlzdCBvZiBMb2NhdG9ycyAtIEEgbGlzdCBvZiBsb2NhdG9ycyBhc3Nv
Y2lhdGVkIHdpdGggYW4NCglFSUQuICBUaGVyZSBhcmUgdHdvIGxpc3RzIG9mIGxvY2F0b3JzIHN0
b3JlZCBpbiBhIGdpdmVuDQoJY29udGV4dCwgb25lIGlzIGFzc29jaWF0ZWQgd2l0aCBsb2NhbCBF
SUQgYW5kIHRoZSBvdGhlciBpcw0KCWFzc29jaWF0ZWQgd2l0aCByZW1vdGUgRUlELiAgQXMgZGVm
aW5lZCBpbiA8YSBjbGFzcz0iaW5mbyIgaHJlZj0iI0ktRC5pZXRmLXNoaW02LXByb3RvIj5bSS1E
LmlldGYtc2hpbTYtcHJvdG9dPHNwYW4+ICg8L3NwYW4+PHNwYW4gY2xhc3M9ImluZm8iPkJhZ251
bG8sIE0uIGFuZCBFLiBOb3JkbWFyaywgJmxkcXVvO0xldmVsIDMgbXVsdGlob21pbmcgc2hpbSBw
cm90b2NvbCwmcmRxdW87IERlY2VtYmVyJm5ic3A7MjAwNS48L3NwYW4+PHNwYW4+KTwvc3Bhbj48
L2E+LCBsaXN0IG9mIGxvY2F0b3JzIGFzc29jaWF0ZWQNCgl3aXRoIGFuIEVJRCAnQScgY2FuIGJl
IGRlbm90ZWQgYXMgTHMoQSkuDQo8L2xpPg0KPGxpPlByZWZlcnJlZCBMb2NhdG9yIC0gVGhlIChz
b3VyY2UvZGVzdGluYXRpb24pIGxvY2F0b3INCgljdXJyZW50bHkgdXNlZCB0byBzZW5kIHBhY2tl
dHMuICBBcyBkZWZpbmVkIGluIDxhIGNsYXNzPSJpbmZvIiBocmVmPSIjSS1ELmlldGYtc2hpbTYt
cHJvdG8iPltJLUQuaWV0Zi1zaGltNi1wcm90b108c3Bhbj4gKDwvc3Bhbj48c3BhbiBjbGFzcz0i
aW5mbyI+QmFnbnVsbywgTS4gYW5kIEUuIE5vcmRtYXJrLCAmbGRxdW87TGV2ZWwgMyBtdWx0aWhv
bWluZyBzaGltIHByb3RvY29sLCZyZHF1bzsgRGVjZW1iZXImbmJzcDsyMDA1Ljwvc3Bhbj48c3Bh
bj4pPC9zcGFuPjwvYT4sIHByZWZlcnJlZCBsb2NhdG9yIG9mIGEgaG9zdA0KCXdob3NlIEVJRCBp
cyAnQScgY2FuIGJlIGRlbm90ZWQgYXMgTHAoQSkuDQo8L2xpPg0KPGxpPlJlYWNoYWJpbGl0eSBE
ZXRlY3Rpb24gLSBBIHByb2NlZHVyZSB0byBkZXRlY3QgcmVhY2hhYmlsaXR5DQoJYmV0d2VlbiBh
IGdpdmVuIGxvY2F0b3IgcGFpci4NCjwvbGk+DQo8bGk+UGF0aCAtIEEgc2VxdWVuY2Ugb2Ygcm91
dGVycyB0aGF0IGFuIElQIHBhY2tldCBnb2VzIHRocm91Z2gNCgl0byByZWFjaCB0aGUgZGVzdGlu
YXRpb24uDQo8L2xpPg0KPGxpPlBhdGggRXhwbG9yYXRpb24gLSBBIHByb2NlZHVyZSB0byBleHBs
b3JlIGF2YWlsYWJsZSBwYXRoDQoJZm9yIGEgZ2l2ZW4gc2V0IG9mIGxvY2F0b3IgcGFpcnMuDQo8
L2xpPg0KPGxpPk91dGFnZSAtIEFuIGluY2lkZW50IG1lYW5pbmcgdGhhdCB0aGUgcmVhY2hhYmls
aXR5IGFtb25nIGENCglnaXZlbiBsb2NhdG9yIHBhaXIgaXMgbG9zdC4gIFRoZSBvdXRhZ2UgY291
bGQgYmUgY2F1c2VkIGJ5IGFueQ0KCWtpbmRzIG9mIHByb2JsZW1zIGluc2lkZSB0aGUgcm91dGlu
ZyBpbmZyYXN0cnVjdHVyZSBhbmQNCglwcm9ibGVtcyBvZiB0aGUgbmV0d29yayBpbnRlcmZhY2Ug
b2YgdGhlIGVuZCBob3N0cy4NCjwvbGk+DQo8bGk+V29ya2luZyBBZGRyZXNzIFBhaXIgLSBBbiBh
ZGRyZXNzIHBhaXIgaXMgc2FpZCB0byBiZQ0KCXdvcmtpbmcgaWYgdGhlIHBhY2tldCBjb250YWlu
aW5nIHRoZSBmaXJzdCBhZGRyZXNzIGZyb20gdGhlDQoJcGFpciBhcyBzb3VyY2UgYWRkcmVzcyBh
bmQgdGhlIHNlY29uZCBhZGRyZXNzIGZyb20gdGhlIHBhaXIgYXMNCglkZXN0aW5hdGlvbiBhZGRy
ZXNzIGNhbiBzYWZlbHkgdHJhdmVsIGZyb20gdGhlIHNvdXJjZSB0byB0aGUNCglkZXN0aW5hdGlv
bi4gIElmIHRoZSByZWFjaGFiaWxpdHkgaXMgY29uZmlybWVkIGluIGJvdGgNCglkaXJlY3Rpb25z
LCB0aGUgYWRkcmVzcyBwYWlycyBpcyBzYWlkIHRvIGJlIGJpLWRpcmVjdGlvbmFsLg0KCU90aGVy
d2lzZSwgaXQncyB1bmlkaXJlY3Rpb25hbC4NCjwvbGk+DQo8bGk+UkVBUCAtIEEgcHJvdG9jb2wg
Zm9yIGRldGVjdGluZyBmYWlsdXJlIGFuZCBleHBsb3JpbmcNCglyZWFjaGFiaWxpdHkgaW4gbXVs
dGlob21lZCBlbnZpcm9ubWVudC4gIFJFQVAgaXMgZGVmaW5lZA0KCWluPGEgY2xhc3M9ImluZm8i
IGhyZWY9IiNJLUQuaWV0Zi1zaGltNi1mYWlsdXJlLWRldGVjdGlvbiI+W0ktRC5pZXRmLXNoaW02
LWZhaWx1cmUtZGV0ZWN0aW9uXTxzcGFuPiAoPC9zcGFuPjxzcGFuIGNsYXNzPSJpbmZvIj5Bcmtr
bywgSi4gYW5kIEkuIEJlaWpudW0sICZsZHF1bztGYWlsdXJlIERldGVjdGlvbiBhbmQgTG9jYXRv
ciBQYWlyIEV4cGxvcmF0aW9uIAkgIFByb3RvY29sIGZvciBJUHY2IE11bHRpaG9taW5nLCZyZHF1
bzsgRGVjZW1iZXImbmJzcDsyMDA1Ljwvc3Bhbj48c3Bhbj4pPC9zcGFuPjwvYT4uDQo8L2xpPg0K
PGxpPkVuZHBvaW50IERlc2NyaXB0b3IgKEVEKSAtIFRoZSByZXByZXNlbnRhdGlvbiBvZiBlbmRw
b2ludHMNCglpcyBoaWRkZW4gZnJvbSB0aGUgYXBwbGljYXRpb25zLiAgRUQgaXMgYSAiaGFuZGxl
IiBvcg0KCSJwb2ludGVyIiB0byB0aGUgYWN0dWFsIEVJRC4NCjwvbGk+DQo8L3VsPjxwPg0KICAg
ICAgDQo8L3A+DQo8YSBuYW1lPSJzZWMtc3lzdGVtLW92ZXJ2aWV3Ij48L2E+PGJyIC8+PGhyIC8+
DQo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjIi
IGNsYXNzPSJidWciIGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0iYnVnIj48YSBocmVmPSIj
dG9jIiBjbGFzcz0ibGluazIiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4N
CjxhIG5hbWU9InJmYy5zZWN0aW9uLjQiPjwvYT48aDM+NC4mbmJzcDtTeXN0ZW0gT3ZlcnZpZXc8
L2gzPg0KPGJyIC8+PGhyIC8+DQo8YSBuYW1lPSJmaWctc3lzdGVtLW92ZXJ2aWV3Ij48L2E+DQo8
cHJlPg0KDQogICAgICAgICAgICAgICAgICAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0K
ICAgICAgICAgICAgICAgICAgICAgfCAgICAgICBBcHBsaWNhdGlvbiAgICAgIHwNCiAgICAgICAg
ICAgICAgICAgICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rDQogICAgICAgICAgICAgICAg
ICAgICAgICBeICAgICAgICAgICAgICAgICBeDQogICAgICAgICAgIH5+fn5+fn5+fn5+fn58flNv
Y2tldCBJbnRlcmZhY2V8fn5+fn5+fn5+fn5+fn4NCiAgICAgICAgICAgICAgICAgICAgICAgIHwg
ICAgICAgICAgICAgICAgIHYNCiAgICAgICAgICAgICstLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0rDQogICAgICAgICAgICB8ICAgICAgICAgICB8ICBUcmFuc3BvcnQg
TGF5ZXIgICAgICAgICAgICAgfA0KICAgICAgICAgICAgKy0tLS0tLS0tLS0tfC0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLSsNCiAgICAgICAgICAgICAgICAgIF4gICAgIHwNCiAgICArLS0t
LS0tLS0tLS0tLXwtLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0K
ICAgIHwgICAgICAgICAgICAgdiAgICAgdiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB8DQogICAgfCAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsgICAgICAgKy0t
LS0tLS0tLS0rICAgIHwgIElQDQogICAgfCAgIHwgICAgICAgICAgICBTaGltICAgICAgICAgICAg
IHwmbHQ7LS0tLS0mZ3Q7fCAgIFJFQVAgICB8ICAgIHwgTGF5ZXINCiAgICB8ICAgKy0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tKyAgICAgICArLS0tLS0tLS0tLSsgICAgfA0KICAgIHwgICAg
ICAgICAgICAgICAgICAgICAgIF4gICAgICAgICAgICAgICAgICAgICAgXiAgICAgICAgICB8DQog
ICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS18LS0tLS0t
LS0tLSsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ICAgICAgICAgICAgICAgICAgICAg
IHYNCiAgICAgICAgICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0rDQogICAgICAgICAgICB8ICAgICAgICAgICAgICAgIExpbmsgTGF5ZXIgICAgICAgICAgICAg
ICAgfA0KICAgICAgICAgICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLSsNCg0KPC9wcmU+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFj
aW5nPSIyIj48dHI+PHRkIGFsaWduPSJjZW50ZXIiPjxmb250IGZhY2U9Im1vbmFjbywgTVMgU2Fu
cyBTZXJpZiIgc2l6ZT0iMSI+PGI+Jm5ic3A7RmlndXJlJm5ic3A7MTogU3lzdGVtIG92ZXJ2aWV3
Jm5ic3A7PC9iPjwvZm9udD48YnIgLz48L3RkPjwvdHI+PC90YWJsZT48aHIgc2l6ZT0iMSIgc2hh
ZGU9IjAiPg0KDQo8cD48YSBjbGFzcz0iaW5mbyIgaHJlZj0iI2ZpZy1zeXN0ZW0tb3ZlcnZpZXci
PkZpZ3VyZSZuYnNwOzE8c3Bhbj4gKDwvc3Bhbj48c3BhbiBjbGFzcz0iaW5mbyI+U3lzdGVtIG92
ZXJ2aWV3PC9zcGFuPjxzcGFuPik8L3NwYW4+PC9hPiBpbGx1c3RyYXRlcyB0aGUgc3lzdGVtDQog
ICAgICBvdmVydmlldy4gIFRoZSBhcHBsaWNhdGlvbiBjYW4gdXRpbGl6ZSB0aGUgc29ja2V0IEFQ
SSB0bw0KICAgICAgaW50ZXJhY3Qgd2l0aCB0aGUgc2hpbSBsYXllciBhbmQgdHJhbnNwb3J0IGxh
eWVyIGZvciBiZXR0ZXINCiAgICAgIGNvbnRyb2wgb2YgbG9jYXRvciBtYW5hZ2VtZW50IGFuZCBm
YWlsdXJlIGRldGVjdGlvbiBhbmQgcGF0aA0KICAgICAgZXhwbG9yYXRpb24uDQo8L3A+DQo8cD5J
bnNpZGUgdGhlIElQIGxheWVyLCB0aGVyZSBpcyBhIHNoaW0gd2hpY2ggY2xvc2VseSBpbnRlcmFj
dHMNCiAgICAgIHdpdGggUkVBUCBjb21wb25lbnQuICBUaGVyZSBjb3VsZCBiZSBpbnRlcmFjdGlv
bnMgYmV0d2VlbiB0aGUNCiAgICAgIHNoaW0gYW5kIHRyYW5zcG9ydCBsYXllciwgaG93ZXZlciB0
aGV5IGFyZSBvdXRzaWRlIG9mIHNjb3BlIG9mDQogICAgICB0aGlzIGRvY3VtZW50LiAgVGhlIHNj
b3BlIG9mIHRoaXMgZG9jdW1lbnQgaXMgYW4gaW50ZXJmYWNlIGZyb20NCiAgICAgIHRoZSBhcHBs
aWNhdGlvbiB0byB0aGUgc2hpbSBsYXllciwgd2hpY2ggaXMgZW5hYmxlZCB2aWEgc29ja2V0DQog
ICAgICBpbnRlcmZhY2UuDQo8L3A+DQo8YSBuYW1lPSJzZWMtcmVxdWlyZW1lbnRzIj48L2E+PGJy
IC8+PGhyIC8+DQo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIgY2VsbHNw
YWNpbmc9IjIiIGNsYXNzPSJidWciIGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0iYnVnIj48
YSBocmVmPSIjdG9jIiBjbGFzcz0ibGluazIiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+
PC90YWJsZT4NCjxhIG5hbWU9InJmYy5zZWN0aW9uLjUiPjwvYT48aDM+NS4mbmJzcDtSZXF1aXJl
bWVudHM8L2gzPg0KDQo8cD5Gb2xsb3dpbmcgaXMgYSBsaXN0IG9mIHJlcXVpcmVtZW50cyBmcm9t
IHRoZSBhcHBsaWNhdGlvbg0KICAgICAgcGVyc3BlY3RpdmUuICBUaGVzZSByZXF1aXJlbWVudHMg
YXJlIG1haW5seSBpZGVudGlmaWVkIGR1cmluZw0KICAgICAgdGhlIGRpc2N1c3Npb25zIG9uIFNI
SU02IFdHIG1haWxpbmcgbGlzdC4gIFNvbWUgcmVxdWlyZW1lbnRzIGFyZQ0KICAgICAgZGVyaXZl
ZCBmcm9tIFJlYWNoYWJpbGl0eSBQcm90b2NvbCBkb2N1bWVudDxhIGNsYXNzPSJpbmZvIiBocmVm
PSIjSS1ELmlldGYtc2hpbTYtZmFpbHVyZS1kZXRlY3Rpb24iPltJLUQuaWV0Zi1zaGltNi1mYWls
dXJlLWRldGVjdGlvbl08c3Bhbj4gKDwvc3Bhbj48c3BhbiBjbGFzcz0iaW5mbyI+QXJra28sIEou
IGFuZCBJLiBCZWlqbnVtLCAmbGRxdW87RmFpbHVyZSBEZXRlY3Rpb24gYW5kIExvY2F0b3IgUGFp
ciBFeHBsb3JhdGlvbiAJICBQcm90b2NvbCBmb3IgSVB2NiBNdWx0aWhvbWluZywmcmRxdW87IERl
Y2VtYmVyJm5ic3A7MjAwNS48L3NwYW4+PHNwYW4+KTwvc3Bhbj48L2E+Lg0KDQogICAgICANCiAg
ICAgIA0KICAgICAgPC9wPg0KPHVsIGNsYXNzPSJ0ZXh0Ij4NCjxsaT5Mb2NhdG9yIG1hbmFnZW1l
bnQuICBMb2NhdG9yIG1hbmFnZW1lbnQgaXMgcm9sZSBvZiB0aGUgc2hpbQ0KCWxheWVyIHRvIHNl
bGVjdCBhIHBhaXIgb2YgbG9jYXRvcnMgZm9yIHNlbmRpbmcgSVAgcGFja2V0cw0KCXdpdGhpbiBh
IGdpdmVuIGNvbnRleHQuICBUaGUgc2VsZWN0aW9uIGlzIG1hZGUgYnkgdGFraW5nDQoJbWlzY2Vs
bGFuZW91cyBjb25kaXRpb25zIGludG8gYWNjb3VudCBzdWNoIGFzIHJlYWNoYWJpbGl0eSBvZg0K
CXRoZSBwYXRoLCBhcHBsaWNhdGlvbidzIHByZWZlcmVuY2UsIGFuZCBjaGFyYWN0ZXJpc3RpY3Mg
b2YNCglwYXRoLiAgRnJvbSBhcHBsaWNhdGlvbidzIHBlcnNwZWN0aXZlOg0KDQoJDQo8dWwgY2xh
c3M9InRleHQiPg0KPGxpPkl0IHNob3VsZCBiZSBwb3NzaWJsZSB0byBvYnRhaW4gbGlzdCBvZiBs
b2NhdG9ycyBvZiB0aGUNCgkgIGhvc3Qgd2l0aGluIGEgZ2l2ZW4gY29udGV4dC4gIExzKGxvY2Fs
KSBhbmQgTHMocmVtb3RlKS4NCjwvbGk+DQo8bGk+SXQgc2hvdWxkIGJlIHBvc3NpYmxlIHRvIG9i
dGFpbiBwcmVmZXJyZWQgbG9jYXRvciBvZiB0aGUNCgkgIG5vZGUgd2l0aGluIGEgZ2l2ZW4gY29u
dGV4dC4gIExwKGxvY2FsKSBhbmQgTHAocmVtb3RlKS4NCjwvbGk+DQo8L3VsPg0KCQ0KPC9saT4N
CjxsaT5Ob3RpZmljYXRpb24gZnJvbSBhcHBsaWNhdGlvbiB0byB0aGUgc2hpbSBsYXllciBhYm91
dCB0aGUNCglzdGF0dXMgb2YgdGhlIGNvbW11bmljYXRpb24uICBOb3RlIHRoYXQgdGhlIG5vdGlm
aWNhdGlvbiBpcw0KCW1hZGUgaW4gYW4gZXZlbnQgYmFzZWQgbWFubmVyLiAgVGhlcmUgYXJlIG1h
aW5seSB0d28gYXNwZWN0cw0KCW9mIHRoZSBmZWVkYmFjayB0aGF0IGFwcGxpY2F0aW9uIG9yIHVw
cGVyIGxheWVyIHByb3RvY29sIG1heQ0KCXByb3ZpZGUgZm9yIHRoZSBzaGltIGxheWVyLCBwb3Np
dGl2ZSBhbmQgbmVnYXRpdmUgZmVlZGJhY2tzDQoJW05PVEU6IFRoZXNlIGZlZWRiYWNrcyBhcmUg
YWRkcmVzc2VkIGluIHNlY3Rpb24gNC4zIGFuZA0KCXNlY3Rpb24gNS4yIG9mIFJFQVAgc3BlY2lm
aWNhdGlvbl06DQoJDQoJDQo8dWwgY2xhc3M9InRleHQiPg0KPGxpPlBvc2l0aXZlIGZlZWRiYWNr
IGNvdWxkIGJlIGdpdmVuIGJ5IHRoZSBhcHBsaWNhdGlvbiBvcg0KCSAgdXBwZXIgbGF5ZXIgcHJv
dG9jb2wgKGUuZy4gVENQKSB0byB0aGUgc2hpbSBsYXllciBpbmZvcm1pbmcNCgkgIHRoYXQgaXRz
IGNvbW11bmljYXRpb24gaXMgZ29pbmcgd2VsbC4NCjwvbGk+DQo8bGk+TmVnYXRpdmUgZmVlZGJh
Y2sgY291bGQgYmUgZ2l2ZW4gYnkgdGhlIGFwcGxpY2F0aW9uIG9yDQoJICB1cHBlciBsYXllciBw
cm90b2NvbCAoZS5nLiBUQ1ApIHRvIHRoZSBzaGltIGxheWVyIGluZm9ybWluZw0KCSAgdGhhdCBp
dHMgY29tbXVuaWNhdGlvbiBzdGF0dXMgaXMgbm90IHNhdGlzZmFjdG9yeS4gIFRDUA0KCSAgY291
bGQgZGV0ZWN0IGEgcHJvYmxlbSB3aGVuIGl0IGRvZXMgbm90IHJlY2VpdmVzIGV4cGVjdGVkDQoJ
ICBBQ0sgZnJvbSB0aGUgcGVlci4gIElDTVAgZXJyb3IgbWVzc2FnZXMgZGVsaXZlcmVkIHRvIHRo
ZQ0KCSAgdXBwZXIgbGF5ZXIgcHJvdG9jb2wgY291bGQgYmUgYSBjbHVlIGZvciBhcHBsaWNhdGlv
biB0bw0KCSAgZGV0ZWN0IGFueSBraW5kIG9mIHByb2JsZW0uICBSRUFQIG1vZHVsZSBtYXkgYmUg
dHJpZ2dlcmVkIGJ5DQoJICB0aGVzZSBuZWdhdGl2ZSBmZWVkYmFja3MgYW5kIGludm9rZSBwcm9j
ZWR1cmUgb2YgcGF0aA0KCSAgZXhwbG9yYXRpb24uDQo8L2xpPg0KPC91bD4NCgkNCjwvbGk+DQo8
bGk+RmVlZGJhY2sgZnJvbSBhcHBsaWNhdGlvbiB0byBzaGltIGxheWVyLiAgVGhlIGFwcGxpY2F0
aW9uDQoJc2hvdWxkIGJlIGFibGUgdG8gaW5mb3JtIHRoZSBzaGltIGxheWVyIGFib3V0IHRoZSB0
aW1lb3V0DQoJdmFsdWVzIGZvciBkZXRlY3RpbmcgZmFpbHVyZSwgZm9yIHNlbmRpbmcga2VlcGFs
aXZlcywgZm9yDQoJc3RhcnRpbmcgdGhlIGV4cGxvcmF0aW9uIHByb2NlZHVyZS4gIEluIHBhcnRp
Y3VsYXIsIHRoZQ0KCWFwcGxpY2F0aW9uIHNob3VsZCBiZSBhYmxlIHRvIHN1cHByZXNzIHRoZSBr
ZWVwYWxpdmVzLg0KCQ0KPC9saT4NCjxsaT5Ib3Qtc3RhbmRieS4gIFRoZSBhcHBsaWNhdGlvbiBt
YXkgcmVxdWVzdCB0aGUgc2hpbSBsYXllciBpZg0KCWhvdC1zdGFuZGJ5IGNvbm5lY3Rpb24gaXMg
bmVlZGVkLiAgSW4gdGhpcyBjYXNlLCBhbHRlcm5hdGl2ZQ0KCXBhdGhzIGFyZSBrbm93biB0byBi
ZSB3b3JraW5nLiAgSGVuY2UgaXQgaXMgcG9zc2libGUgZm9yIHRoZQ0KCWhvc3QgdG8gaW1tZWRp
YXRlbHkgcmVwbGFjZSB0aGUgY3VycmVudCBsb2NhdG9yIHBhaXIgd2l0aCB0aGUNCglhbHRlcm5h
dGl2ZSBsb2NhdG9yIHBhaXIuICBIb3Qtc3RhbmRieSBtYXkgYWxsb3cgYXBwbGljYXRpb24NCgl0
byBhY2hpZXZlIGJldHRlciBmYWlsb3Zlci4NCjwvbGk+DQo8bGk+RWFnZXJuZXNzIG9mIGxvY2F0
b3IgZXhwbG9yYXRpb24uICBUaGUgYXBwbGljYXRpb24gc2hvdWxkDQoJYmUgYWJsZSB0byBpbmZv
cm0gdGhlIHNoaW0gbGF5ZXIgaG93IHByb2FjdGl2ZSBpdCB3YW50cyBSRUFQDQoJbWVjaGFuaXNt
IHRvIHBlcmZvcm0gcGF0aCBleHBsb3JhdGlvbiAoZS5nLiBzcGVjaWZ5aW5nIHRoZQ0KCW51bWJl
ciBvZiBjb25jdXJyZW50IGF0dGVtcHRzIG9mIGRpc2NvdmVyaW5nIHdvcmtpbmcgbG9jYXRvcg0K
CXBhaXIpIHdoZW4gYW4gb3V0YWdlIG9jY3VycyBvbiB0aGUgcGF0aCBiZXR3ZWVuIHRoZSBjdXJy
ZW50bHkNCglzZWxlY3RlZCBsb2NhdG9yIHBhaXIuDQo8L2xpPg0KPGxpPlByb3ZpZGluZyBsb2Nh
dG9yIGluZm9ybWF0aW9uIHRvIGFwcGxpY2F0aW9uLiAgVGhlDQoJYXBwbGljYXRpb24gc2hvdWxk
IGJlIGFibGUgdG8gb2J0YWluIGluZm9ybWF0aW9uIGFib3V0IHRoZQ0KCWxvY2F0b3IgcGFpciB3
aGljaCB3YXMgYWN0dWFsbHkgdXNlZCB0byBzZW5kIG9yIHJlY2VpdmUgdGhlDQoJcGFja2V0Lg0K
CQ0KPHVsIGNsYXNzPSJ0ZXh0Ij4NCjxsaT5Gb3IgaW5ib3VuZCB0cmFmZmljLCB0aGUgYXBwbGlj
YXRpb24gbWF5IGJlIGludGVyZXN0ZWQgaW4NCgkgIHRoZSBsb2NhdG9yIHBhaXIgd2hpY2ggd2Fz
IGFjdHVhbGx5IHVzZWQgdG8gcmVjZWl2ZSB0aGUNCgkgIHBhY2tldC4NCgkgIA0KPC9saT4NCjxs
aT5Gb3Igb3V0Ym91bmQgdHJhZmZpYywgdGhlIGFwcGxpY2F0aW9uIG1heSBiZSBpbnRlcmVzdGVk
DQoJICBpbiB0aGUgbG9jYXRvciBwYWlyIHdoaWNoIHdhcyBhY3R1YWxseSB1c2VkIHRvIHRyYW5z
bWl0IHRoZQ0KCSAgcGFja2V0Lg0KPC9saT4NCjwvdWw+DQoJSW4gdGhpcyB3YXksIHRoZSBhcHBs
aWNhdGlvbiBtYXkgaGF2ZSBhZGRpdGlvbmFsIGNvbnRyb2wgb24NCglsb2NhdG9yIG1hbmFnZW1l
bnQuICBGb3IgZXhhbXBsZSwgdGhlIGFwcGxpY2F0aW9uIGNhbiB2ZXJpZnkNCglpZiBpdHMgcHJl
ZmVyZW5jZSBvZiBsb2NhdG9yIGlzIGFjdHVhbGx5IGFwcGxpZWQgdG8gdGhlIGZsb3cNCglvciBu
b3QuDQoJDQo8L2xpPg0KPGxpPlRoZSBhcHBsaWNhdGlvbiBzaG91bGQgYmUgYWJsZSB0byBzcGVj
aWZ5IGlmIGl0IHdhbnRzIHRvDQoJZGVmZXIgdGhlIGNvbnRleHQgc2V0dXAgb3IgaXQgd2FudHMg
Y29udGV4dCBlc3RhYmxpc2htZW50IHRvDQoJYmUgc3RhcnRlZCBpbW1lZGlhdGVseSBpZiB0aGVy
ZSBpcyBubyBhdmFpbGFibGUgY29udGV4dC4gIEluDQoJc3VjaCB3YXksIGFwcGxpY2F0aW9uIGNh
biAndXBncmFkZScgdGhlIGNvbm5lY3Rpb24gcHJvdmlkaW5nDQoJaW4gYSBzZW5zZSB0aGF0IGlk
ZW50aWZpZXIgYW5kIGxvY2F0b3IgYXJlIG1hbmFnZWQNCglzZXBhcmF0ZWx5Lg0KPC9saT4NCjxs
aT5UdXJuIG9uL29mZiBzaGltLiAgVGhlIGFwcGxpY2F0aW9uIHNob3VsZCBiZSBhYmxlIHRvDQoJ
cmVxdWVzdCB0byB0dXJuIG9uL29mZiB0aGUgbXVsdGlob21pbmcgc3VwcG9ydCBieSB0aGUgc2hp
bQ0KCWxheWVyOg0KCQ0KPHVsIGNsYXNzPSJ0ZXh0Ij4NCjxsaT5BcHBseSBzaGltLiAgVGhlIGFw
cGxpY2F0aW9uIHNob3VsZCBiZSBhYmxlIHRvIGV4cGxpY2l0bHkNCgkgIHJlcXVlc3QgdGhlIHNo
aW0gbGF5ZXIgdG8gYXBwbHkgbXVsdGlob21pbmcgc3VwcG9ydC4NCjwvbGk+DQo8bGk+RG9uJ3Qg
YXBwbHkgc2hpbS4gIFRoZSBhcHBsaWNhdGlvbiBzaG91bGQgYmUgYWJsZSB0bw0KCSAgcmVxdWVz
dCB0aGUgc2hpbSBsYXllciBub3QgdG8gYXBwbHkgdGhlIG11bHRpaG9taW5nIHN1cHBvcnQNCgkg
IGJ1dCB0byBhcHBseSBub3JtYWwgSVAgcHJvY2Vzc2luZyBhdCB0aGUgSVAgbGF5ZXIuDQo8L2xp
Pg0KPC91bD4NCgkNCjwvbGk+DQo8bGk+VGhlIGFwcGxpY2F0aW9uIHNob3VsZCBiZSBhYmxlIHRv
IGtub3cgaWYgaXRzIGNvbW11bmljYXRpb24NCglpcyBub3cgc2VydmVkIGJ5IHRoZSBzaGltIGxh
eWVyIG9yIG5vdC4NCjwvbGk+DQo8bGk+VGhlIGFwcGxpY2F0aW9uIHNob3VsZCBiZSBhYmxlIHRv
IGFjY2VzcyBsb2NhdG9yDQoJaW5mb3JtYXRpb24gcmVnYXJkbGVzcyBvZiBpdHMgYWRkcmVzcyBm
YW1pbHkuICBJbiBvdGhlciB3b3JkcywNCglubyBtYXR0ZXIgdGhlIHRhcmdldCBsb2NhdG9yIGlz
IElQdjQgb3IgSVB2NiwgdGhlIGFwcGxpY2F0aW9uDQoJc2hvdWxkIGJlIGFibGUgdG8gdXNlIGNv
bW1vbiBpbnRlcmZhY2UgdG8gYWNjZXNzIHRoZSBsb2NhdG9yDQoJaW5mb3JtYXRpb24uDQo8L2xp
Pg0KPC91bD48cD4JDQogICAgDQo8L3A+DQo8YSBuYW1lPSJzZWMtc2hpbS1zb2NrZXQtb3B0aW9u
cyI+PC9hPjxiciAvPjxociAvPg0KPHRhYmxlIHN1bW1hcnk9ImxheW91dCIgY2VsbHBhZGRpbmc9
IjAiIGNlbGxzcGFjaW5nPSIyIiBjbGFzcz0iYnVnIiBhbGlnbj0icmlnaHQiPjx0cj48dGQgY2xh
c3M9ImJ1ZyI+PGEgaHJlZj0iI3RvYyIgY2xhc3M9ImxpbmsyIj4mbmJzcDtUT0MmbmJzcDs8L2E+
PC90ZD48L3RyPjwvdGFibGU+DQo8YSBuYW1lPSJyZmMuc2VjdGlvbi42Ij48L2E+PGgzPjYuJm5i
c3A7U29ja2V0IE9wdGlvbnMgZm9yIE11bHRpaG9tZWQgU2hpbSBMYXllcjwvaDM+DQoNCjxwPklu
IHRoaXMgc2VjdGlvbiwgc29ja2V0IG9wdGlvbnMgbmV3bHkgZGVmaW5lZCBmb3IgYXBwbGljYXRp
b24NCiAgICAgIHRvIGludGVyZmFjZSB0aGUgbXVsdGlob21lZCBzaGltIGxheWVyIGFyZSBwcmVz
ZW50ZWQuICBUaGVzZQ0KICAgICAgb3B0aW9ucyBjYW4gYmUgdXNlZCBlaXRoZXIgYnkgZ2V0c29j
a29wdCgpIGFuZC9vciBzZXRzb2Nrb3B0KCkNCiAgICAgIHN5c3RlbSBjYWxscyBmb3IgYW4gb3Bl
bmVkIHNvY2tldC4gIDxhIGNsYXNzPSJpbmZvIiBocmVmPSIjdGFiLXNoaW0tc29ja2V0LW9wdGlv
bnMiPlRhYmxlJm5ic3A7MTxzcGFuPiAoPC9zcGFuPjxzcGFuIGNsYXNzPSJpbmZvIj5TaGltIHNw
ZWNpZmljIHNvY2tldCBvcHRpb25zIGZvciBnZXRzb2Nrb3B0KCkgYW5kIHNldHNvY2tvcHQoKTwv
c3Bhbj48c3Bhbj4pPC9zcGFuPjwvYT4gcHJvdmlkZXMgYSBsaXN0IG9mIHRoZSBzb2NrZXQNCiAg
ICAgIG9wdGlvbnMuICBOb3RlIHRoYXQgYWxsIHNvY2tldCBvcHRpb25zIGFyZSBkZWZpbmVkIGF0
IGxldmVsDQogICAgICBTT0xfU0hJTS4NCjwvcD4NCjxwPlRoZSBmaXJzdCBjb2x1bW4gb2YgdGhl
IHRhYmxlIGdpdmVzIG5hbWUgb2YgdGhlIG9wdGlvbi4gIFRoZQ0KICAgICAgc2Vjb25kIGFuZCB0
aGlyZCBjb2x1bW5zIGluZGljYXRlcyB3aGV0aGVyIGlmIHRoZSBvcHRpb24gaXMgZm9yDQogICAg
ICBnZXRzb2Nrb3B0KCkgYW5kL29yIHNldHNvY2tvcHQoKSwgcmVzcGVjdGl2ZWx5LiAgVGhlIGZv
dXJ0aA0KICAgICAgY29sdW1uIHByb3ZpZGVzIGEgYnJpZWYgZGVzY3JpcHRpb24gYWJvdXQgdGhl
IHNvY2tldCBvcHRpb24uDQogICAgICBUaGUgZmlmdGggY29sdW1uIHNob3dzIHRoZSBkYXRhIHN0
cnVjdHVyZSBzcGVjaWZpZWQgd2l0aCB0aGUNCiAgICAgIHNvY2tldCBvcHRpb24sIHdoaWNoIGNv
dWxkIGNhbiBzdG9yZSBhbiBhcmd1bWVudCBmb3INCiAgICAgIHNldHNvY2tvcHQoKSBhbmQgcmVz
dWx0IGZvciBnZXRzb2Nrb3B0KCkuICBCeSBkZWZhdWx0LCB0aGUgZGF0YQ0KICAgICAgc3RydWN0
dXJlIGlzIGFuIGludGVnZXIuDQo8L3A+PGJyIC8+PGhyIC8+DQo8YSBuYW1lPSJ0YWItc2hpbS1z
b2NrZXQtb3B0aW9ucyI+PC9hPg0KPHRhYmxlIGNsYXNzPSJmdWxsIiBhbGlnbj0iY2VudGVyIiBi
b3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMiI+DQo8Y29sIGFsaWduPSJs
ZWZ0Ij48Y29sIGFsaWduPSJsZWZ0Ij48Y29sIGFsaWduPSJsZWZ0Ij48Y29sIGFsaWduPSJsZWZ0
Ij48Y29sIGFsaWduPSJsZWZ0Ij4NCjx0cj48dGggYWxpZ249ImxlZnQiPm9wdG5hbWU8L3RoPjx0
aCBhbGlnbj0ibGVmdCI+Z2V0PC90aD48dGggYWxpZ249ImxlZnQiPnNldDwvdGg+PHRoIGFsaWdu
PSJsZWZ0Ij5kZXNjcmlwdGlvbjwvdGg+PHRoIGFsaWduPSJsZWZ0Ij5kdHlwZTwvdGg+PC90cj4N
Cjx0cj4NCjx0ZCBhbGlnbj0ibGVmdCI+U0hJTV9BU1NPQ0lBVEVEPC90ZD4NCjx0ZCBhbGlnbj0i
bGVmdCI+bzwvdGQ+DQo8dGQgYWxpZ249ImxlZnQiPiZuYnNwOzwvdGQ+DQo8dGQgYWxpZ249Imxl
ZnQiPkNoZWNrIGlmIHRoZSBzb2NrZXQgaXMgYXNzb2NpYXRlZCB3aXRoIGFueSBzaGltIGNvbnRl
eHQgb3INCglub3QuPC90ZD4NCjx0ZCBhbGlnbj0ibGVmdCI+aW50PC90ZD4NCjwvdHI+DQo8dHI+
DQo8dGQgYWxpZ249ImxlZnQiPlNISU1fRE9OVFNISU08L3RkPg0KPHRkIGFsaWduPSJsZWZ0Ij5v
PC90ZD4NCjx0ZCBhbGlnbj0ibGVmdCI+bzwvdGQ+DQo8dGQgYWxpZ249ImxlZnQiPlJlcXVlc3Qg
dGhlIHNoaW0gbGF5ZXIgbm90IHRvIGFwcGx5IGFueSBtdWx0aWhvbWluZyBzdXBwb3J0DQoJZm9y
IHRoZSBjb21tdW5pY2F0aW9uLjwvdGQ+DQo8dGQgYWxpZ249ImxlZnQiPmludDwvdGQ+DQo8L3Ry
Pg0KPHRyPg0KPHRkIGFsaWduPSJsZWZ0Ij5TSElNX0hPVF9TVEFOREJZPC90ZD4NCjx0ZCBhbGln
bj0ibGVmdCI+Jm5ic3A7PC90ZD4NCjx0ZCBhbGlnbj0ibGVmdCI+bzwvdGQ+DQo8dGQgYWxpZ249
ImxlZnQiPlJlcXVlc3QgdGhlIHNoaW0gbGF5ZXIgdG8gcHJlcGFyZSBhIGhvdC1zdGFuZGJ5IGNv
bm5lY3Rpb24NCgliZXNpZGVzIHRoZSBjdXJyZW50IHBhdGguPC90ZD4NCjx0ZCBhbGlnbj0ibGVm
dCI+aW50PC90ZD4NCjwvdHI+DQo8dHI+DQo8dGQgYWxpZ249ImxlZnQiPlNISU1fUEFUSEVYUExP
UkU8L3RkPg0KPHRkIGFsaWduPSJsZWZ0Ij4mbmJzcDs8L3RkPg0KPHRkIGFsaWduPSJsZWZ0Ij5v
PC90ZD4NCjx0ZCBhbGlnbj0ibGVmdCI+U3BlY2lmeSBob3cgbWFueSBwYXRoIGV4cGxvcmF0aW9u
cyBhcmUgcmVxdWlyZWQgaW4gY2FzZSBvZg0KCWZhaWx1cmUuPC90ZD4NCjx0ZCBhbGlnbj0ibGVm
dCI+aW50PC90ZD4NCjwvdHI+DQo8dHI+DQo8dGQgYWxpZ249ImxlZnQiPlNISU1fTE9DX0xPQ0FM
X1BSRUY8L3RkPg0KPHRkIGFsaWduPSJsZWZ0Ij5vPC90ZD4NCjx0ZCBhbGlnbj0ibGVmdCI+bzwv
dGQ+DQo8dGQgYWxpZ249ImxlZnQiPkdldCBvciBzZXQgcHJlZmVycmVkIGxvY2F0b3Igb24gbG9j
YWwgc2lkZSBmb3IgdGhlIGNvbnRleHQNCglhc3NvY2lhdGVkIHdpdGggdGhlIHNvY2tldC48L3Rk
Pg0KPHRkIGFsaWduPSJsZWZ0Ij4qMTwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkIGFsaWduPSJsZWZ0
Ij5TSElNX0xPQ19QRUVSX1BSRUY8L3RkPg0KPHRkIGFsaWduPSJsZWZ0Ij5vPC90ZD4NCjx0ZCBh
bGlnbj0ibGVmdCI+bzwvdGQ+DQo8dGQgYWxpZ249ImxlZnQiPkdldCBvciBzZXQgcHJlZmVycmVk
IGxvY2F0b3Igb24gcmVtb3RlIHNpZGUgZm9yIHRoZSBjb250ZXh0DQoJYXNzb2NpYXRlZCB3aXRo
IHRoZSBzb2NrZXQuPC90ZD4NCjx0ZCBhbGlnbj0ibGVmdCI+KjE8L3RkPg0KPC90cj4NCjx0cj4N
Cjx0ZCBhbGlnbj0ibGVmdCI+U0hJTV9MT0NfTE9DQUxfUkVDVjwvdGQ+DQo8dGQgYWxpZ249Imxl
ZnQiPiZuYnNwOzwvdGQ+DQo8dGQgYWxpZ249ImxlZnQiPm88L3RkPg0KPHRkIGFsaWduPSJsZWZ0
Ij5SZXF1ZXN0IGZvciBkZXN0aW5hdGlvbiBsb2NhdG9yIG9mIHJlY2VpdmVkIElQIHBhY2tldC48
L3RkPg0KPHRkIGFsaWduPSJsZWZ0Ij5pbnQ8L3RkPg0KPC90cj4NCjx0cj4NCjx0ZCBhbGlnbj0i
bGVmdCI+U0hJTV9MT0NfUEVFUl9SRUNWPC90ZD4NCjx0ZCBhbGlnbj0ibGVmdCI+Jm5ic3A7PC90
ZD4NCjx0ZCBhbGlnbj0ibGVmdCI+bzwvdGQ+DQo8dGQgYWxpZ249ImxlZnQiPlJlcXVlc3QgZm9y
IHNvdXJjZSBsb2NhdG9yIG9mIHJlY2VpdmVkIElQIHBhY2tldC48L3RkPg0KPHRkIGFsaWduPSJs
ZWZ0Ij5pbnQ8L3RkPg0KPC90cj4NCjx0cj4NCjx0ZCBhbGlnbj0ibGVmdCI+U0hJTV9MT0NMSVNU
X0xPQ0FMPC90ZD4NCjx0ZCBhbGlnbj0ibGVmdCI+bzwvdGQ+DQo8dGQgYWxpZ249ImxlZnQiPm88
L3RkPg0KPHRkIGFsaWduPSJsZWZ0Ij5HZXQgb3Igc2V0IGEgbGlzdCBvZiBsb2NhdG9ycyBhc3Nv
Y2lhdGVkIHdpdGggbG9jYWwgRUlELjwvdGQ+DQo8dGQgYWxpZ249ImxlZnQiPioxPC90ZD4NCjwv
dHI+DQo8dHI+DQo8dGQgYWxpZ249ImxlZnQiPlNISU1fTE9DTElTVF9QRUVSPC90ZD4NCjx0ZCBh
bGlnbj0ibGVmdCI+bzwvdGQ+DQo8dGQgYWxpZ249ImxlZnQiPm88L3RkPg0KPHRkIGFsaWduPSJs
ZWZ0Ij5HZXQgb3Igc2V0IGEgbGlzdCBvZiBsb2NhdG9ycyBhc3NvY2lhdGVkIHdpdGggcGVlcidz
IEVJRC48L3RkPg0KPHRkIGFsaWduPSJsZWZ0Ij4qMTwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkIGFs
aWduPSJsZWZ0Ij5TSElNX1RJTUVSX0tFRVBBTElWRTwvdGQ+DQo8dGQgYWxpZ249ImxlZnQiPiZu
YnNwOzwvdGQ+DQo8dGQgYWxpZ249ImxlZnQiPm88L3RkPg0KPHRkIGFsaWduPSJsZWZ0Ij5JbmZv
cm0gc2hpbSBsYXllciBhYm91dCBhIHRpbWVyIHZhbHVlIG9mIGtlZXBhbGl2ZS48L3RkPg0KPHRk
IGFsaWduPSJsZWZ0Ij5pbnQ8L3RkPg0KPC90cj4NCjx0cj4NCjx0ZCBhbGlnbj0ibGVmdCI+U0hJ
TV9GRUVEQkFDS19QT1NJVElWRTwvdGQ+DQo8dGQgYWxpZ249ImxlZnQiPiZuYnNwOzwvdGQ+DQo8
dGQgYWxpZ249ImxlZnQiPm88L3RkPg0KPHRkIGFsaWduPSJsZWZ0Ij5Qcm92aWRlIGEgcG9zaXRp
dmUgZmVlZGJhY2sgdG8gdGhlIHNoaW0gbGF5ZXIuPC90ZD4NCjx0ZCBhbGlnbj0ibGVmdCI+aW50
PC90ZD4NCjwvdHI+DQo8dHI+DQo8dGQgYWxpZ249ImxlZnQiPlNISU1fRkVFREJBQ0tfTkVHQVRJ
VkU8L3RkPg0KPHRkIGFsaWduPSJsZWZ0Ij4mbmJzcDs8L3RkPg0KPHRkIGFsaWduPSJsZWZ0Ij5v
PC90ZD4NCjx0ZCBhbGlnbj0ibGVmdCI+UHJvdmlkZSBhIG5lZ2F0aXZlIGZlZWRiYWNrIHRvIHRo
ZSBzaGltIGxheWVyLjwvdGQ+DQo8dGQgYWxpZ249ImxlZnQiPioyPC90ZD4NCjwvdHI+DQo8dHI+
DQo8dGQgYWxpZ249ImxlZnQiPlNISU1fSUZfUkVDVjwvdGQ+DQo8dGQgYWxpZ249ImxlZnQiPiZu
YnNwOzwvdGQ+DQo8dGQgYWxpZ249ImxlZnQiPm88L3RkPg0KPHRkIGFsaWduPSJsZWZ0Ij5SZXF1
ZXN0IGZvciByZWNlaXZpbmcgaW50ZXJmYWNlLjwvdGQ+DQo8dGQgYWxpZ249ImxlZnQiPmludDwv
dGQ+DQo8L3RyPg0KPHRyPg0KPHRkIGFsaWduPSJsZWZ0Ij5TSElNX0lGX1NFTkQ8L3RkPg0KPHRk
IGFsaWduPSJsZWZ0Ij4mbmJzcDs8L3RkPg0KPHRkIGFsaWduPSJsZWZ0Ij5vPC90ZD4NCjx0ZCBh
bGlnbj0ibGVmdCI+UmVxdWVzdCBmb3Igb3V0Z29pbmcgaW50ZXJmYWNlLjwvdGQ+DQo8dGQgYWxp
Z249ImxlZnQiPmludDwvdGQ+DQo8L3RyPg0KPC90YWJsZT4NCjx0YWJsZSBib3JkZXI9IjAiIGNl
bGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCBhbGln
bj0iY2VudGVyIj48Zm9udCBmYWNlPSJtb25hY28sIE1TIFNhbnMgU2VyaWYiIHNpemU9IjEiPjxi
PiZuYnNwO1RhYmxlIDE6IFNoaW0gc3BlY2lmaWMgc29ja2V0IG9wdGlvbnMgZm9yIGdldHNvY2tv
cHQoKSBhbmQgc2V0c29ja29wdCgpJm5ic3A7PC9iPjwvZm9udD48YnIgLz48L3RkPjwvdHI+PC90
YWJsZT48aHIgc2l6ZT0iMSIgc2hhZGU9IjAiPg0KDQo8cD4qMTogUG9pbnRlciB0byB0aGUgYnVm
ZmVyIHdoaWNoIHN0b3JlcyBhcnJheXMgb2YgbG9jYXRvcg0KICAgICAgaW5mb3JtYXRpb24uICBU
aGUgYnVmZmVyIGlzIGFjdHVhbGx5IHRoZSBjaGFpbmVkIGxpc3Qgb2YNCiAgICAgIGFkZHJpbmZv
IHN0cnVjdHVyZS4NCjwvcD4NCjxwPioyOiBUQkQuDQo8L3A+DQo8cD48YSBjbGFzcz0iaW5mbyIg
aHJlZj0iI2ZpZy1zb2NrZXQtYXBpLW1vZGVsIj5GaWd1cmUmbmJzcDsyPHNwYW4+ICg8L3NwYW4+
PHNwYW4gY2xhc3M9ImluZm8iPlN5c3RlbSBtb2RlbCBvZiBzb2NrZXQgQVBJIHdpdGggc2hpbSBs
YXllcjwvc3Bhbj48c3Bhbj4pPC9zcGFuPjwvYT4gaWxsdXN0cmF0ZXMgaG93IHRoZQ0KICAgICAg
c2hpbSBzcGVjaWZpYyBzb2NrZXQgb3B0aW9ucyBmaXQgaW50byB0aGUgc3lzdGVtIG1vZGVsIG9m
IHNvY2tldA0KICAgICAgQVBJLiAgSW4gdGhlIGZpZ3VyZSwgaXQgY2FuIGJlIHNlZW4gdGhhdCB0
aGUgc2hpbSBsYXllciBhbmQNCiAgICAgIGFkZGl0aW9uYWwgcHJvdG9jb2wgY29tcG9uZW50cyAo
SVB2NCBhbmQgSVB2NikgYmVsb3cgdGhlIHNoaW0NCiAgICAgIGxheWVyIGFyZSBuZXcgdG8gdGhl
IHN5c3RlbSBtb2RlbC4gIEFzIHByZXZpb3VzbHkgbWVudGlvbmVkLCBhbGwNCiAgICAgIHRoZSBz
aGltIHNwZWNpZmljIHNvY2tldCBvcHRpb25zIGFyZSBkZWZpbmVkIGF0IFNPTF9TSElNIGxldmVs
Lg0KICAgICAgVGhpcyBkZXNpZ24gY2hvaWNlIGJyaW5ncyB0aGUgZm9sbG93aW5nIGFkdmFudGFn
ZXM6DQoNCiAgICAgIDwvcD4NCjxvbCBjbGFzcz0idGV4dCI+DQo8bGk+SXQgaXMgYXNzdXJlZCB0
aGF0IGV4aXN0aW5nIHNvY2tldCBBUEkgY29udGludWUgdG8gd29yayBhdA0KCXRoZSBsYXllciBh
Ym92ZSB0aGUgc2hpbSBsYXllci4gIFRoYXQgaXMsIHRob3NlIGxlZ2FjeSBBUEkNCglkZWFsIHdp
dGggJ2lkZW50aWZpZXInIGFzcGVjdCBvZiB0aGUgSVAgYWRkcmVzc2VzLg0KPC9saT4NCjxsaT5X
aXRoIG5ld2x5IGRlZmluZWQgc29ja2V0IG9wdGlvbnMgZm9yIHRoZSBzaGltIGxheWVyLA0KCWFw
cGxpY2F0aW9uIG9idGFpbnMgYWRkaXRpb25hbCBjb250cm9sIG9uIGxvY2F0b3INCgltYW5hZ2Vt
ZW50Lg0KPC9saT4NCjxsaT5UaGUgc2hpbSBzcGVjaWZpYyBzb2NrZXQgb3B0aW9ucyBhcmUgbm90
IHNwZWNpZmljIHRvIGFueQ0KCWFkZHJlc3MgZmFtaWx5IChJUFBST1RPX0lQIG9yIElQUFJPVE9f
SVBWNikgbm9yIGFueSB0cmFuc3BvcnQNCglwcm90b2NvbCAoU09DS19TVFJFQU0gb3IgU09DS19E
R1JBTSBvciBTT0NLX1JBVykuDQo8L2xpPg0KPC9vbD48cD4NCg0KICAgICAgDQo8L3A+PGJyIC8+
PGhyIC8+DQo8YSBuYW1lPSJmaWctc29ja2V0LWFwaS1tb2RlbCI+PC9hPg0KPHByZT4NCg0KICAg
ICAgICAgICAgICAgICAgICAgICAgIHMxIHMyICAgICAgczMgczQNCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgfCAgfCAgICAgICB8ICB8DQogICAgICAgICArLS0tLS0tLS0tLS0tLS0tLXwtLXwt
LS0tLS0tfC0tfC0tLS0tLS0tLS0tLS0tLS0rDQogICAgICAgICB8ICAgICAgICAgICAgICstLS0t
LS0tKyAgICstLS0tLS0tKyAgICAgICAgICAgICB8DQogICAgICAgICB8IElQUFJPVE9fVENQIHwg
IFRDUCAgfCAgIHwgIFVEUCAgfCAgICAgICAgICAgICB8DQogICAgICAgICB8ICAgICAgICAgICAg
ICstLS0tLS0tKyAgICstLS0tLS0tKyAgICAgICAgICAgICB8DQogICAgICAgICB8ICAgICAgICAg
ICAgICAgIHwgICBcICAgICAvICAgfCAgICAgICAgICAgICAgICB8DQogICAgICAgICB8ICAgICAg
ICAgICAgICAgIHwgICAgLS0tLS0gICAgfCAgICAgICAgICAgICAgICB8DQogICAgICAgICB8ICAg
ICAgICAgICAgICAgIHwgICAvICAgICBcICAgfCAgICAgICAgICAgICAgICB8DQogICAgICAgICB8
ICAgICAgICAgICAgICArLS0tLS0tKyAgICstLS0tLS0rICAgICAgICAgICAgICB8DQogICAgICAg
ICB8ICAgSVBQUk9UT19JUCB8IElQdjQgfCAgIHwgSVB2NiB8IElQUFJPVE9fSVBWNiB8DQogICAg
ICAgICB8ICAgICAgICAgICAgICArLS0tLS0tKyAgICstLS0tLS0rICAgICAgICAgICAgICB8DQog
ICAgICAgICB8ICAgICAgICAgICAgICAgICAgXCAgICAgICAgIC8gICAgICAgICAgICAgU09MX1NP
Q0tFVA0KICAgICAgICAgfCAgICAgICAgICArLS0tLS0tLS1cLS0tLS0tLS8tLS0tLS0tLSsgICAg
ICAgICAgfA0KICAgICAgICAgfCBTT0xfU0hJTSB8ICAgICAgICAgIHNoaW0gICAgICAgICAgIHwg
ICAgICAgICAgfA0KICAgICAgICAgfCAgICAgICAgICArLS0tLS0tLS0vLS0tLS0tLVwtLS0tLS0t
LSsgICAgICAgICAgfA0KICAgICAgICAgfCAgICAgICAgICAgICAgICAgIC8gICAgICAgICBcICAg
ICAgICAgICAgICAgICAgfA0KICAgICAgICAgfCAgICAgICAgICAgICAgKy0tLS0tLSsgICArLS0t
LS0tKyAgICAgICAgICAgICAgfA0KICAgICAgICAgfCAgICAgICAgICAgICAgfCBJUHY0IHwgICB8
IElQdjYgfCAgICAgICAgICAgICAgfA0KICAgICAgICAgfCAgICAgICAgICAgICAgKy0tLS0tLSsg
ICArLS0tLS0tKyAgICAgICAgICAgICAgfA0KICAgICAgICAgfCAgICAgICAgICAgICAgICAgIHwg
ICAgICAgICAgfCAgICAgICAgICAgICAgICAgfA0KICAgICAgICAgKy0tLS0tLS0tLS0tLS0tLS0t
LXwtLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tKw0KICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHwgICAgICAgICAgfA0KICAgICAgICAgICAgICAgICAgICAgICAgICBJUHY0ICAgICAgIElQ
djYNCiAgICAgICAgICAgICAgICAgICAgICAgIERhdGFncmFtICAgRGF0YWdyYW0NCg0KPC9wcmU+
PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIyIj48dHI+PHRk
IGFsaWduPSJjZW50ZXIiPjxmb250IGZhY2U9Im1vbmFjbywgTVMgU2FucyBTZXJpZiIgc2l6ZT0i
MSI+PGI+Jm5ic3A7RmlndXJlJm5ic3A7MjogU3lzdGVtIG1vZGVsIG9mIHNvY2tldCBBUEkgd2l0
aCBzaGltIGxheWVyJm5ic3A7PC9iPjwvZm9udD48YnIgLz48L3RkPjwvdHI+PC90YWJsZT48aHIg
c2l6ZT0iMSIgc2hhZGU9IjAiPg0KDQo8YSBuYW1lPSJhbmNob3I0Ij48L2E+PGJyIC8+PGhyIC8+
DQo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjIi
IGNsYXNzPSJidWciIGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0iYnVnIj48YSBocmVmPSIj
dG9jIiBjbGFzcz0ibGluazIiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4N
CjxhIG5hbWU9InJmYy5zZWN0aW9uLjYuMSI+PC9hPjxoMz42LjEuJm5ic3A7U0hJTV9BU1NPQ0lB
VEVEPC9oMz4NCg0KPHA+VGhpcyBvcHRpb24gY2FuIGJlIHNwZWNpZmllZCBieSBnZXRzb2Nrb3B0
KCkgdG8gY2hlY2sgaWYNCgl0aGUgc29ja2V0IGlzIGFzc29jaWF0ZWQgd2l0aCBhbnkgc2hpbSBj
b250ZXh0IG9yIG5vdC4gIFRodXMsDQoJdGhlIG9wdGlvbiBpcyByZWFkLW9ubHkgYW5kIHRoZSBy
ZXN1bHQgKDAgb3IgMSkgaXMgc2V0IGluDQoJb3B0dmFsLiAgQSByZXR1cm5lZCB2YWx1ZSAxIG1l
YW5zIHRoYXQgdGhlIHNvY2tldCBpcw0KCWFzc29jaWF0ZWQgd2l0aCBhIGdpdmVuIHNoaW0gY29u
dGV4dCBhdCB0aGUgc2hpbSBsYXllciwgd2hpbGUNCglhIHJldHVybiB2YWx1ZSAwIGluZGljYXRl
cyB0aGF0IHRoZXJlIGlzIG5vIGNvbnRleHQgYXNzb2NpYXRlZA0KCXdpdGggdGhlIHNvY2tldC4N
CjwvcD4NCjxwPlRoaXMgb3B0aW9uIGlzIHBhcnRpY3VsYXJseSBtZWFuaW5nZnVsIGluIGEgY2Fz
ZSB3aGVyZQ0KCWxvY2F0b3IgaW5mb3JtYXRpb24gb2YgdGhlIHJlY2VpdmVkIElQIHBhY2tldCBp
cyBub3QgZW5vdWdoDQoJZm9yIGlkZW50aWZ5aW5nIGlmIHRoZSBJRC9Mb2NhdG9yIGFkYXB0YXRp
b24gaXMgcGVyZm9ybWVkIG9yDQoJbm90LiAgTm90ZSB0aGF0IHRoZSBFSUQgcGFpciBhbmQgbG9j
YXRvciBwYWlyIG1heWJlIGlkZW50aWNhbA0KCWluIHNvbWUgY2FzZS4NCjwvcD4NCjxwPklTU1VF
OiBTaG91bGQgd2UgbGltaXQgdGhpcyBvcHRpb24gb25seSBmb3IgJ2Nvbm5lY3RlZCcNCglzb2Nr
ZXQgPw0KPC9wPg0KPGEgbmFtZT0iYW5jaG9yNSI+PC9hPjxiciAvPjxociAvPg0KPHRhYmxlIHN1
bW1hcnk9ImxheW91dCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBjbGFzcz0iYnVn
IiBhbGlnbj0icmlnaHQiPjx0cj48dGQgY2xhc3M9ImJ1ZyI+PGEgaHJlZj0iI3RvYyIgY2xhc3M9
ImxpbmsyIj4mbmJzcDtUT0MmbmJzcDs8L2E+PC90ZD48L3RyPjwvdGFibGU+DQo8YSBuYW1lPSJy
ZmMuc2VjdGlvbi42LjIiPjwvYT48aDM+Ni4yLiZuYnNwO1NISU1fRE9OVFNISU08L2gzPg0KDQo8
cD5UaGlzIG9wdGlvbiBjYW4gYmUgc3BlY2lmaWVkIGVpdGhlciBieSBnZXRzb2Nrb3B0KCkgb3IN
CglzZXRzb2Nrb3B0KCkuDQo8L3A+DQo8cD5UaGUgYXBwbGljYXRpb24gY2FuIHNwZWNpZnkgdGhl
IG9wdGlvbiBieSBzZXRzb2Nrb3B0KCkNCgl0YWtpbmcgdGhlIGFyZ3VtZW50IG9wdHZhbCB3aXRo
IHZhbHVlIDEgdG8gcmVxdWVzdCB0aGUgc2hpbQ0KCWxheWVyIG5vdCB0byBhcHBseSBhbnkgbXVs
dGlob21pbmcgc3VwcG9ydCBmb3IgdGhlDQoJY29tbXVuaWNhdGlvbi4gIFRoZSBhcHBsaWNhdGlv
biBjYW4gYWxzbyBvYnRhaW4gdGhlIGN1cnJlbnQNCglzZXR0aW5nIGJ5IHNwZWNpZnlpbmcgdGhl
IHRoZSBzb2NrZXQgb3B0aW9uIGluIGdldHNvY2tvcHQoKS4NCglUaGUgcmVzdWx0IHNob3VsZCBi
ZSBiaW5hcnkgKDAgb3IgMSkuDQo8L3A+DQo8cD5CeSBkZWZhdWx0LCB0aGUgdmFsdWUgaXMgc2V0
IHRvIDAsIG1lYW5pbmcgdGhhdCB0aGUgc2hpbQ0KCWxheWVyIHdpbGwgdHJ5IHRvIGFwcGx5IElE
L0xvY2F0b3IgYWRhcHRhdGlvbiBmb3IgdGhlDQoJY29tbXVuaWNhdGlvbiBvdmVyIGEgZ2l2ZW4g
c29ja2V0Lg0KPC9wPg0KPHA+T25jZSB0aGUgc29ja2V0IG9wdGlvbiBpcyBzcGVjaWZpZWQgYnkg
c2V0c29ja29wdCgpLCBpdA0KCXJlbWFpbnMgZWZmZWN0aXZlIHVudGlsIGl0IGlzIGRlYWN0aXZh
dGVkIChzdGlja3kgb3B0aW9uKS4NCjwvcD4NCjxhIG5hbWU9ImFuY2hvcjYiPjwvYT48YnIgLz48
aHIgLz4NCjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2lu
Zz0iMiIgY2xhc3M9ImJ1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJidWciPjxhIGhy
ZWY9IiN0b2MiIGNsYXNzPSJsaW5rMiI+Jm5ic3A7VE9DJm5ic3A7PC9hPjwvdGQ+PC90cj48L3Rh
YmxlPg0KPGEgbmFtZT0icmZjLnNlY3Rpb24uNi4zIj48L2E+PGgzPjYuMy4mbmJzcDtTSElNX0hP
VF9TVEFOREJZPC9oMz4NCg0KPHA+VGhpcyBvcHRpb24gY2FuIGJlIHNwZWNpZmllZCBieSBzZXRz
b2Nrb3B0KCkuDQo8L3A+DQo8cD5CeSBzZXR0aW5nIDEgaW4gdGhlIG9wdHZhbCBmb3IgdGhlIHNl
dHNvY2tvcHQoKSwgdGhlDQoJYXBwbGljYXRpb24gY2FuIHJlcXVlc3QgdGhlIHNoaW0gbGF5ZXIg
dG8gdXRpbGl6ZSBhDQoJaG90LXN0YW5kYnkgY29ubmVjdGlvbi4gIFRoZSBob3Qtc3RhbmRieSBj
b25uZWN0aW9uIGNhbiBiZQ0KCXByb3ZpZGVkIGJ5IGEgZGlmZmVyZW50IHNldCBvZiBsb2NhdG9y
IHBhaXIgb3RoZXIgdGhhbiB0aGUNCgljdXJyZW50bHkgc2VsZWN0ZWQgbG9jYXRvciBwYWlyLg0K
PC9wPg0KPHA+QnkgZGVmYXVsdCwgdGhlIHZhbHVlIGlzIHNldCB0byAwLCBtZWFuaW5nIHRoYXQg
aG90LXN0YW5kYnkNCgljb25uZWN0aW9uIGlzIGRpc2FibGVkLg0KPC9wPg0KPHA+T25jZSB0aGUg
c29ja2V0IG9wdGlvbiBpcyBzcGVjaWZpZWQgYnkgc2V0c29ja29wdCgpLCBpdA0KCXJlbWFpbnMg
ZWZmZWN0aXZlIHVudGlsIGl0IGlzIGRlYWN0aXZhdGVkIChzdGlja3kgb3B0aW9uKS4NCjwvcD4N
CjxhIG5hbWU9ImFuY2hvcjciPjwvYT48YnIgLz48aHIgLz4NCjx0YWJsZSBzdW1tYXJ5PSJsYXlv
dXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIgY2xhc3M9ImJ1ZyIgYWxpZ249InJp
Z2h0Ij48dHI+PHRkIGNsYXNzPSJidWciPjxhIGhyZWY9IiN0b2MiIGNsYXNzPSJsaW5rMiI+Jm5i
c3A7VE9DJm5ic3A7PC9hPjwvdGQ+PC90cj48L3RhYmxlPg0KPGEgbmFtZT0icmZjLnNlY3Rpb24u
Ni40Ij48L2E+PGgzPjYuNC4mbmJzcDtTSElNX1BBVEhFWFBMT1JFPC9oMz4NCg0KPHA+VGhpcyBv
cHRpb24gY2FuIGJlIHNwZWNpZmllZCBlaXRoZXIgYnkgc2V0c29ja29wdCgpIG9yDQoJZ2V0c29j
a29wdCgpLiAgVGhlIHZhbHVlIHNwZWNpZmllZCBieSB0aGUgb3B0aW9uIGluZGljYXRlcyBob3cN
Cglwcm9hY3RpdmUgdGhlIGFwcGxpY2F0aW9uIHdhbnRzIHBhdGggZXhwbG9yYXRpb24gdG8gYmUN
CglwZXJmb3JtZWQgaW4gY2FzZSBvZiBmYWlsdXJlLiAgVGhlcmVmb3JlLCB0aGlzIG9wdGlvbiBp
cw0KCWVmZmVjdGl2ZSBvbmx5IHdoZW4gdGhlcmUgaXMgYXNzb2NpYXRlZCBzaGltIGNvbnRleHQg
Zm9yIHRoZQ0KCXNvY2tldC4NCjwvcD4NCjxwPkJ5IGRlZmF1bHQsIHRoZSB2YWx1ZSBpcyBzZXQg
dG8gZGVmYXVsdCB2YWx1ZSAoVEJEKSwNCgltZWFuaW5nIHRoYXQgdGhlIGF0dGVtcHRzIG9mIHBh
dGggZXhwbG9yYXRpb24gaXMgbWFkZSB1cCB0byBUQkQNCgl0aW1lcy4gIFRoZSBhcmd1bWVudCBv
cHR2YWwgc3BlY2lmaWVkIGJ5IGdldHNvY2tvcHQoKSBtdXN0IGJlDQoJc21hbGxlciB0aGFuIG1h
eGltdW0gdmFsdWUgKFRCRCkuDQo8L3A+DQo8cD5PbmNlIHRoZSBzb2NrZXQgb3B0aW9uIGlzIHNw
ZWNpZmllZCBieSBzZXRzb2Nrb3B0KCksIGl0DQoJcmVtYWlucyBlZmZlY3RpdmUgdW50aWwgaXQg
aXMgZGVhY3RpdmF0ZWQgKHN0aWNreSBvcHRpb24pLg0KPC9wPg0KPGEgbmFtZT0iYW5jaG9yOCI+
PC9hPjxiciAvPjxociAvPg0KPHRhYmxlIHN1bW1hcnk9ImxheW91dCIgY2VsbHBhZGRpbmc9IjAi
IGNlbGxzcGFjaW5nPSIyIiBjbGFzcz0iYnVnIiBhbGlnbj0icmlnaHQiPjx0cj48dGQgY2xhc3M9
ImJ1ZyI+PGEgaHJlZj0iI3RvYyIgY2xhc3M9ImxpbmsyIj4mbmJzcDtUT0MmbmJzcDs8L2E+PC90
ZD48L3RyPjwvdGFibGU+DQo8YSBuYW1lPSJyZmMuc2VjdGlvbi42LjUiPjwvYT48aDM+Ni41LiZu
YnNwO1NISU1fTE9DX0xPQ0FMX1BSRUY8L2gzPg0KDQo8cD5UaGlzIG9wdGlvbiBjYW4gYmUgc3Bl
Y2lmaWVkIGVpdGhlciBieSBzZXRzb2Nrb3B0KCkgb3INCglnZXRzb2Nrb3B0KCkuDQo8L3A+DQo8
cD5XaGVuIHNwZWNpZmllZCBieSBzZXRzb2Nrb3B0KCksIHByZWZlcnJlZCBsb2NhdG9yIG9uIGxv
Y2FsDQoJc2lkZSBpcyBleHBsaWNpdGx5IGdpdmVuIHRvIHRoZSBzaGltIGxheWVyLiAgVGhlIHNo
aW0gbGF5ZXINCglzaGFsbCBhY2NvcmRpbmdseSB1cGRhdGUgdGhlIHByZWZlcnJlZCBsb2NhdG9y
IG9mIHRoZSBjb250ZXh0DQoJYXNzb2NpYXRlZCB3aXRoIHRoZSBzb2NrZXQuDQo8L3A+DQo8cD5X
aGVuIHNwZWNpZmllZCBieSBnZXRzb2Nrb3B0KCksIHByZWZlcnJlZCBsb2NhdG9yIG9uIGxvY2Fs
DQoJc2lkZSBpcyByZXR1cm5lZCBieSB0aGUgc2hpbSBsYXllci4NCjwvcD4NCjxwPkFuIGVycm9y
IEVOT1NISU1DT05URVhUIHdpbGwgYmUgcmV0dXJuZWQgd2hlbiB0aGVyZSBpcyBubw0KCWNvbnRl
eHQgYXNzb2NpYXRlZCB3aXRoIHRoZSBzb2NrZXQuDQo8L3A+DQo8cD5PbmNlIHRoZSBzb2NrZXQg
b3B0aW9uIGlzIHNwZWNpZmllZCBieSBzZXRzb2Nrb3B0KCksIGl0DQoJcmVtYWlucyBlZmZlY3Rp
dmUgdW50aWwgaXQgaXMgZGVhY3RpdmF0ZWQgKHN0aWNreSBvcHRpb24pLg0KPC9wPg0KPGEgbmFt
ZT0iYW5jaG9yOSI+PC9hPjxiciAvPjxociAvPg0KPHRhYmxlIHN1bW1hcnk9ImxheW91dCIgY2Vs
bHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBjbGFzcz0iYnVnIiBhbGlnbj0icmlnaHQiPjx0
cj48dGQgY2xhc3M9ImJ1ZyI+PGEgaHJlZj0iI3RvYyIgY2xhc3M9ImxpbmsyIj4mbmJzcDtUT0Mm
bmJzcDs8L2E+PC90ZD48L3RyPjwvdGFibGU+DQo8YSBuYW1lPSJyZmMuc2VjdGlvbi42LjYiPjwv
YT48aDM+Ni42LiZuYnNwO1NISU1fTE9DX1BFRVJfUFJFRjwvaDM+DQoNCjxwPlRoaXMgb3B0aW9u
IGNhbiBiZSBzcGVjaWZpZWQgZWl0aGVyIGJ5IHNldHNvY2tvcHQoKSBvcg0KCWdldHNvY2tvcHQo
KS4NCjwvcD4NCjxwPldoZW4gc3BlY2lmaWVkIGJ5IHNldHNvY2tvcHQoKSwgcHJlZmVycmVkIGxv
Y2F0b3Igb24gcmVtb3RlDQoJc2lkZSBpcyBleHBsaWNpdGx5IGdpdmVuIHRvIHRoZSBzaGltIGxh
eWVyLiAgVGhlIHNoaW0gbGF5ZXINCglzaGFsbCBhY2NvcmRpbmdseSB1cGRhdGUgdGhlIHByZWZl
cnJlZCBsb2NhdG9yIG9mIHRoZSBjb250ZXh0DQoJYXNzb2NpYXRlZCB3aXRoIHRoZSBzb2NrZXQu
DQo8L3A+DQo8cD5XaGVuIHNwZWNpZmllZCBieSBnZXRzb2Nrb3B0KCksIHByZWZlcnJlZCBsb2Nh
dG9yIG9uIHJlbW90ZQ0KCXNpZGUgaXMgcmV0dXJuZWQgYnkgdGhlIHNoaW0gbGF5ZXIuDQo8L3A+
DQo8cD5BbiBlcnJvciBFTk9TSElNQ09OVEVYVCB3aWxsIGJlIHJldHVybmVkIHdoZW4gdGhlcmUg
aXMgbm8NCgljb250ZXh0IGFzc29jaWF0ZWQgd2l0aCB0aGUgc29ja2V0Lg0KPC9wPg0KPHA+QW4g
ZXJyb3IgRUlOVkFMSURMT0NBVE9SIHdpbGwgYmUgcmV0dXJuZWQgd2hlbiB2YWxpZGF0aW9uDQoJ
b2YgdGhlIHNwZWNpZmllZCBsb2NhdG9yIGZhaWxlZC4NCjwvcD4NCjxwPk9uY2UgdGhlIHNvY2tl
dCBvcHRpb24gaXMgc3BlY2lmaWVkIGJ5IHNldHNvY2tvcHQoKSwgaXQNCglyZW1haW5zIGVmZmVj
dGl2ZSB1bnRpbCBpdCBpcyBkZWFjdGl2YXRlZCAoc3RpY2t5IG9wdGlvbikuDQo8L3A+DQo8YSBu
YW1lPSJhbmNob3IxMCI+PC9hPjxiciAvPjxociAvPg0KPHRhYmxlIHN1bW1hcnk9ImxheW91dCIg
Y2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBjbGFzcz0iYnVnIiBhbGlnbj0icmlnaHQi
Pjx0cj48dGQgY2xhc3M9ImJ1ZyI+PGEgaHJlZj0iI3RvYyIgY2xhc3M9ImxpbmsyIj4mbmJzcDtU
T0MmbmJzcDs8L2E+PC90ZD48L3RyPjwvdGFibGU+DQo8YSBuYW1lPSJyZmMuc2VjdGlvbi42Ljci
PjwvYT48aDM+Ni43LiZuYnNwO1NISU1fTE9DX0xPQ0FMX1JFQ1Y8L2gzPg0KDQo8cD5UaGlzIG9w
dGlvbiBjYW4gYmUgc3BlY2lmaWVkIGJ5IHNldHNvY2tvcHQoKS4NCjwvcD4NCjxwPldoZW4gc3Bl
Y2lmaWVkIGJ5IHNldHNvY2tvcHQoKSwgdGhlIHNoaW0gbGF5ZXIgc3RvcmVzIHRoZQ0KCWRlc3Rp
bmF0aW9uIGxvY2F0b3Igb2YgdGhlIHJlY2VpdmVkIElQIHBhY2tldCBpbiBhbiBhbmNpbGxhcnkN
CglkYXRhIG9iamVjdCB3aGljaCBjYW4gYmUgYWNjZXNzZWQgYnkgcmVjdm1zZygpLiAgVGhlIGFy
Z3VtZW50DQoJb3B0dmFsIHZhbHVlIHNob3VsZCBiZSBzZXQgdG8gMS4NCjwvcD4NCjxwPkFuIGVy
cm9yIEVOT1NISU1DT05URVhUIHdpbGwgYmUgcmV0dXJuZWQgd2hlbiB0aGVyZSBpcyBubw0KCWNv
bnRleHQgYXNzb2NpYXRlZCB3aXRoIHRoZSBzb2NrZXQuDQo8L3A+DQo8cD5PbmNlIHRoZSBzb2Nr
ZXQgb3B0aW9uIGlzIHNwZWNpZmllZCBieSBzZXRzb2Nrb3B0KCksIGl0DQoJcmVtYWlucyBlZmZl
Y3RpdmUgdW50aWwgaXQgaXMgZGVhY3RpdmF0ZWQgKHN0aWNreSBvcHRpb24pLg0KPC9wPg0KPGEg
bmFtZT0iYW5jaG9yMTEiPjwvYT48YnIgLz48aHIgLz4NCjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQi
IGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIgY2xhc3M9ImJ1ZyIgYWxpZ249InJpZ2h0
Ij48dHI+PHRkIGNsYXNzPSJidWciPjxhIGhyZWY9IiN0b2MiIGNsYXNzPSJsaW5rMiI+Jm5ic3A7
VE9DJm5ic3A7PC9hPjwvdGQ+PC90cj48L3RhYmxlPg0KPGEgbmFtZT0icmZjLnNlY3Rpb24uNi44
Ij48L2E+PGgzPjYuOC4mbmJzcDtTSElNX0xPQ19QRUVSX1JFQ1Y8L2gzPg0KDQo8cD5UaGlzIG9w
dGlvbiBjYW4gYmUgc3BlY2lmaWVkIGJ5IHNldHNvY2tvcHQoKS4NCjwvcD4NCjxwPldoZW4gc3Bl
Y2lmaWVkIGJ5IHNldHNvY2tvcHQoKSwgdGhlIHNoaW0gbGF5ZXIgc3RvcmVzIHRoZQ0KCXNvdXJj
ZSBsb2NhdG9yIG9mIHRoZSByZWNlaXZlZCBJUCBwYWNrZXQgaW4gYW4gYW5jaWxsYXJ5IGRhdGEN
CglvYmplY3Qgd2hpY2ggY2FuIGJlIGFjY2Vzc2VkIGJ5IHJlY3Ztc2coKS4gIFRoZSBhcmd1bWVu
dA0KCW9wdHZhbCB2YWx1ZSBzaG91bGQgYmUgc2V0IHRvIDEuDQo8L3A+DQo8cD5BbiBlcnJvciBF
Tk9TSElNQ09OVEVYVCB3aWxsIGJlIHJldHVybmVkIHdoZW4gdGhlcmUgaXMgbm8NCgljb250ZXh0
IGFzc29jaWF0ZWQgd2l0aCB0aGUgc29ja2V0Lg0KPC9wPg0KPHA+T25jZSB0aGUgc29ja2V0IG9w
dGlvbiBpcyBzcGVjaWZpZWQgYnkgc2V0c29ja29wdCgpLCBpdA0KCXJlbWFpbnMgZWZmZWN0aXZl
IHVudGlsIGl0IGlzIGRlYWN0aXZhdGVkIChzdGlja3kgb3B0aW9uKS4NCjwvcD4NCjxhIG5hbWU9
ImFuY2hvcjEyIj48L2E+PGJyIC8+PGhyIC8+DQo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxs
cGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjIiIGNsYXNzPSJidWciIGFsaWduPSJyaWdodCI+PHRy
Pjx0ZCBjbGFzcz0iYnVnIj48YSBocmVmPSIjdG9jIiBjbGFzcz0ibGluazIiPiZuYnNwO1RPQyZu
YnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4NCjxhIG5hbWU9InJmYy5zZWN0aW9uLjYuOSI+PC9h
PjxoMz42LjkuJm5ic3A7U0hJTV9MT0NMSVNUX0xPQ0FMPC9oMz4NCg0KPHA+VGhpcyBvcHRpb24g
Y2FuIGJlIHNwZWNpZmllZCBlaXRoZXIgYnkgZ2V0c29ja29wdCgpIG9yDQoJc2V0c29ja29wdCgp
Lg0KPC9wPg0KPHA+V2hlbiBzcGVjaWZpZWQgYnkgc2V0c29ja29wdCgpLCBhcHBsaWNhdGlvbiBw
cm92aWRlcyBhIGxpc3QNCglvZiBsb2NhdG9ycyB3aGljaCBpcyBhc3NvY2lhdGVkIHdpdGggdGhl
IGxvY2FsIEVJRCB0byB0aGUgc2hpbQ0KCWxheWVyLiAgQWNjb3JkaW5nbHksIHRoZSBzaGltIGxh
eWVyIHNoYWxsIHVwZGF0ZSB0aGUgbGlzdCBvZg0KCWxvY2F0b3JzIExzKGxvY2FsKS4gIFRoZSBh
cmd1bWVudCBvcHR2YWwgc2hvdWxkIGNvbnRhaW4gYQ0KCXBvaW50ZXIgdG8gdGhlIGJ1ZmZlciBp
biB3aGljaCBhIGxpc3Qgb2YgbG9jYXRvcnMgYXJlIHN0b3JlZC4NCglTZWUgPGEgY2xhc3M9Imlu
Zm8iIGhyZWY9IiNzZWMtZGF0YS1zdHJ1Y3R1cmVzIj5TZWN0aW9uJm5ic3A7ODxzcGFuPiAoPC9z
cGFuPjxzcGFuIGNsYXNzPSJpbmZvIj5EYXRhIFN0cnVjdHVyZXM8L3NwYW4+PHNwYW4+KTwvc3Bh
bj48L2E+IGZvciBkZXRhaWwuDQo8L3A+DQo8cD5XaGVuIHNwZWNpZmllZCBieSBnZXRzb2Nrb3B0
KCksIGFwcGxpY2F0aW9uIG9idGFpbnMgYSBsaXN0IG9mDQoJbG9jYXRvcnMgd2hpY2ggaXMgYXNz
b2NpYXRlZCB3aXRoIHRoZSBsb2NhbCBFSUQuDQo8L3A+DQo8cD5BbiBlcnJvciBFTk9TSElNQ09O
VEVYVCB3aWxsIGJlIHJldHVybmVkIHdoZW4gdGhlcmUgaXMgbm8NCgljb250ZXh0IGFzc29jaWF0
ZWQgd2l0aCB0aGUgc29ja2V0Lg0KPC9wPg0KPHA+T25jZSB0aGUgc29ja2V0IG9wdGlvbiBpcyBz
cGVjaWZpZWQgYnkgc2V0c29ja29wdCgpLCBpdA0KCXJlbWFpbnMgZWZmZWN0aXZlIHVudGlsIGl0
IGlzIGRlYWN0aXZhdGVkIChzdGlja3kgb3B0aW9uKS4NCjwvcD4NCjxhIG5hbWU9ImFuY2hvcjEz
Ij48L2E+PGJyIC8+PGhyIC8+DQo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGluZz0i
MCIgY2VsbHNwYWNpbmc9IjIiIGNsYXNzPSJidWciIGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFz
cz0iYnVnIj48YSBocmVmPSIjdG9jIiBjbGFzcz0ibGluazIiPiZuYnNwO1RPQyZuYnNwOzwvYT48
L3RkPjwvdHI+PC90YWJsZT4NCjxhIG5hbWU9InJmYy5zZWN0aW9uLjYuMTAiPjwvYT48aDM+Ni4x
MC4mbmJzcDtTSElNX0xPQ0xJU1RfUkVNT1RFPC9oMz4NCg0KPHA+VGhpcyBvcHRpb24gY2FuIGJl
IHNwZWNpZmllZCBlaXRoZXIgYnkgZ2V0c29ja29wdCgpIG9yDQoJc2V0c29ja29wdCgpLg0KPC9w
Pg0KPHA+V2hlbiBzcGVjaWZpZWQgYnkgc2V0c29ja29wdCgpLCBhcHBsaWNhdGlvbiBwcm92aWRl
cyBhIGxpc3QNCglvZiBsb2NhdG9ycyB3aGljaCBpcyBhc3NvY2lhdGVkIHdpdGggdGhlIHJlbW90
ZSBFSUQgdG8gdGhlDQoJc2hpbSBsYXllci4gIEFjY29yZGluZ2x5LCB0aGUgc2hpbSBsYXllciBz
aGFsbCB1cGRhdGUgdGhlIGxpc3QNCglvZiBsb2NhdG9ycyBMcyhyZW1vdGUpLiAgVGhlIGFyZ3Vt
ZW50IG9wdHZhbCBzaG91bGQgY29udGFpbiBhDQoJcG9pbnRlciB0byB0aGUgYnVmZmVyIGluIHdo
aWNoIGEgbGlzdCBvZiBsb2NhdG9ycyBhcmUgc3RvcmVkLg0KCVNlZSBTZWN0aW9uIFguWCBmb3Ig
ZGV0YWlsLg0KPC9wPg0KPHA+V2hlbiBzcGVjaWZpZWQgYnkgZ2V0c29ja29wdCgpLCBhcHBsaWNh
dGlvbiBvYnRhaW5zIGEgbGlzdA0KCW9mIGxvY2F0b3JzIHdoaWNoIGlzIGFzc29jaWF0ZWQgd2l0
aCB0aGUgcmVtb3RlIEVJRC4NCjwvcD4NCjxwPkFuIGVycm9yIEVOT1NISU1DT05URVhUIHdpbGwg
YmUgcmV0dXJuZWQgd2hlbiB0aGVyZSBpcyBubw0KCWNvbnRleHQgYXNzb2NpYXRlZCB3aXRoIHRo
ZSBzb2NrZXQuDQo8L3A+DQo8cD5PbmNlIHRoZSBzb2NrZXQgb3B0aW9uIGlzIHNwZWNpZmllZCBi
eSBzZXRzb2Nrb3B0KCksIGl0DQoJcmVtYWlucyBlZmZlY3RpdmUgdW50aWwgaXQgaXMgZGVhY3Rp
dmF0ZWQgKHN0aWNreSBvcHRpb24pLg0KPC9wPg0KPGEgbmFtZT0iYW5jaG9yMTQiPjwvYT48YnIg
Lz48aHIgLz4NCjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3Bh
Y2luZz0iMiIgY2xhc3M9ImJ1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJidWciPjxh
IGhyZWY9IiN0b2MiIGNsYXNzPSJsaW5rMiI+Jm5ic3A7VE9DJm5ic3A7PC9hPjwvdGQ+PC90cj48
L3RhYmxlPg0KPGEgbmFtZT0icmZjLnNlY3Rpb24uNi4xMSI+PC9hPjxoMz42LjExLiZuYnNwO1NI
SU1fVElNRVJfS0VFUEFMSVZFPC9oMz4NCg0KPHA+VGhpcyBvcHRpb24gY2FuIGJlIHNwZWNpZmll
ZCBieSBzZXRzb2Nrb3B0KCkuDQo8L3A+DQo8cD5UaGUgYXBwbGljYXRpb24gY2FuIGluZm9ybSB0
aGUgc2hpbSBsYXllciBhYm91dCB0aGUgdGltZXINCgl2YWx1ZSBmb3Iga2VlcGFsaXZlLiAgVGhl
IGFyZ3VtZW50IG9wdHZhbCBzaG91bGQgY29udGFpbiB0aGUNCgl0aW1lciB2YWx1ZSBpbiBzZWNv
bmRzLiAgQWNjb3JkaW5nbHksIHRoZSBzaGltIGxheWVyIHNoYWxsDQoJdXBkYXRlIHRoZSBzdHJh
dGVneSBmb3IgcmVhY2hhYmlsaXR5IHRlc3QuICBFc3BlY2lhbGx5LCB0aGlzDQoJaXMgZWZmaWNp
ZW50IGluIGEgY2FzZSB3aGVyZSB0aGUgaW5mb3JtZWQgdGltZXIgdmFsdWUgaXMNCglzaG9ydGVy
IHRoYW4gdGhlIGludGVydmFsIG9mIGtlZXBhbGl2ZS4gIEluIHN1Y2ggY2FzZSwNCglrZWVwYWxp
dmVzIHRvIGJlIHBlcmZvcm1lZCBieSBSRUFQIG1heSBiZSBzdXBwcmVzc2VkLg0KPC9wPg0KPHA+
QW4gZXJyb3IgRU5PU0hJTUNPTlRFWFQgd2lsbCBiZSByZXR1cm5lZCB3aGVuIHRoZXJlIGlzIG5v
DQoJY29udGV4dCBhc3NvY2lhdGVkIHdpdGggdGhlIHNvY2tldC4NCjwvcD4NCjxwPk9uY2UgdGhl
IHNvY2tldCBvcHRpb24gaXMgc3BlY2lmaWVkIGJ5IHNldHNvY2tvcHQoKSwgaXQNCglyZW1haW5z
IGVmZmVjdGl2ZSB1bnRpbCBpdCBpcyBkZWFjdGl2YXRlZCAoc3RpY2t5IG9wdGlvbikuDQo8L3A+
DQo8YSBuYW1lPSJhbmNob3IxNSI+PC9hPjxiciAvPjxociAvPg0KPHRhYmxlIHN1bW1hcnk9Imxh
eW91dCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBjbGFzcz0iYnVnIiBhbGlnbj0i
cmlnaHQiPjx0cj48dGQgY2xhc3M9ImJ1ZyI+PGEgaHJlZj0iI3RvYyIgY2xhc3M9ImxpbmsyIj4m
bmJzcDtUT0MmbmJzcDs8L2E+PC90ZD48L3RyPjwvdGFibGU+DQo8YSBuYW1lPSJyZmMuc2VjdGlv
bi42LjEyIj48L2E+PGgzPjYuMTIuJm5ic3A7U0hJTV9GRUVEQkFDS19QT1NJVElWRTwvaDM+DQoN
CjxwPlRoaXMgb3B0aW9uIGNhbiBiZSBzcGVjaWZpZWQgYnkgc2V0c29ja29wdCgpLg0KPC9wPg0K
PHA+VGhlIGFwcGxpY2F0aW9uIGNhbiBzaW1wbHkgaW5mb3JtIHRoZSBzaGltIGxheWVyIHRoYXQg
aXRzDQoJY29tbXVuaWNhdGlvbiBpcyBnb2luZyB3ZWxsLiAgVGhlIGFyZ3VtZW50IG9wdHZhbCBz
aG91bGQgYmUNCglzZXQgdG8gMS4NCjwvcD4NCjxwPkFuIGVycm9yIEVOT1NISU1DT05URVhUIHdp
bGwgYmUgcmV0dXJuZWQgd2hlbiB0aGVyZSBpcyBubw0KCWNvbnRleHQgYXNzb2NpYXRlZCB3aXRo
IHRoZSBzb2NrZXQuDQo8L3A+DQo8YSBuYW1lPSJhbmNob3IxNiI+PC9hPjxiciAvPjxociAvPg0K
PHRhYmxlIHN1bW1hcnk9ImxheW91dCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBj
bGFzcz0iYnVnIiBhbGlnbj0icmlnaHQiPjx0cj48dGQgY2xhc3M9ImJ1ZyI+PGEgaHJlZj0iI3Rv
YyIgY2xhc3M9ImxpbmsyIj4mbmJzcDtUT0MmbmJzcDs8L2E+PC90ZD48L3RyPjwvdGFibGU+DQo8
YSBuYW1lPSJyZmMuc2VjdGlvbi42LjEzIj48L2E+PGgzPjYuMTMuJm5ic3A7U0hJTV9GRUVEQkFD
S19ORUdBVElWRTwvaDM+DQoNCjxwPlRoaXMgb3B0aW9uIGNhbiBiZSBzcGVjaWZpZWQgYnkgc2V0
c29ja29wdCgpLg0KPC9wPg0KPHA+VGhlIGFwcGxpY2F0aW9uIGNhbiBpbmZvcm0gdGhlIHNoaW0g
bGF5ZXIgdGhhdCBpdHMNCgljb21tdW5pY2F0aW9uIGlzIG5vdCBnb2luZyB3ZWxsLiAgVGhlIGFy
Z3VtZW50IG9wdHZhbCBzaG91bGQNCgliZSBUQkQuDQo8L3A+DQo8cD5BbiBlcnJvciBFTk9TSElN
Q09OVEVYVCB3aWxsIGJlIHJldHVybmVkIHdoZW4gdGhlcmUgaXMgbm8NCgljb250ZXh0IGFzc29j
aWF0ZWQgd2l0aCB0aGUgc29ja2V0Lg0KPC9wPg0KPGEgbmFtZT0iYW5jaG9yMTciPjwvYT48YnIg
Lz48aHIgLz4NCjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3Bh
Y2luZz0iMiIgY2xhc3M9ImJ1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJidWciPjxh
IGhyZWY9IiN0b2MiIGNsYXNzPSJsaW5rMiI+Jm5ic3A7VE9DJm5ic3A7PC9hPjwvdGQ+PC90cj48
L3RhYmxlPg0KPGEgbmFtZT0icmZjLnNlY3Rpb24uNi4xNCI+PC9hPjxoMz42LjE0LiZuYnNwO1NI
SU1fSUZfUkVDVjwvaDM+DQoNCjxwPlRoaXMgb3B0aW9uIGNhbiBiZSBzcGVjaWZpZWQgYnkgc2V0
c29ja29wdCgpLg0KPC9wPg0KPHA+VGhlIGFwcGxpY2F0aW9uIGNhbiByZXF1ZXN0IHRoZSBzaGlt
IGxheWVyIHRvIHByb3ZpZGUNCglpbnRlcmZhY2UgZnJvbSB3aGljaCB0aGUgcGFja2V0IGlzIHJl
Y2VpdmVkLiAgT25jZSB0aGUgc29ja2V0DQoJb3B0aW9uIGlzIHN1Y2Nlc3NmdWxseSBzZXQsIHRo
ZSBpbnRlcmZhY2UgaW5mb3JtYXRpb24gY2FuIGJlDQoJb2J0YWluZWQgYnkgcmVjdm1zZygpIGZy
b20gdGhlIGFuY2lsbGFyeSBkYXRhLiAgVGhlIGFyZ3VtZW50DQoJb3B0dmFsIHNob3VsZCBiZSBz
ZXQgdG8gMS4NCjwvcD4NCjxwPkFuIGVycm9yIEVOT1NISU1DT05URVhUIHdpbGwgYmUgcmV0dXJu
ZWQgd2hlbiB0aGVyZSBpcyBubw0KCWNvbnRleHQgYXNzb2NpYXRlZCB3aXRoIHRoZSBzb2NrZXQu
DQo8L3A+DQo8cD5PbmNlIHRoZSBzb2NrZXQgb3B0aW9uIGlzIHNwZWNpZmllZCBieSBzZXRzb2Nr
b3B0KCksIGl0DQoJcmVtYWlucyBlZmZlY3RpdmUgdW50aWwgaXQgaXMgZGVhY3RpdmF0ZWQgKHN0
aWNreSBvcHRpb24pLg0KPC9wPg0KPGEgbmFtZT0iYW5jaG9yMTgiPjwvYT48YnIgLz48aHIgLz4N
Cjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIg
Y2xhc3M9ImJ1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJidWciPjxhIGhyZWY9IiN0
b2MiIGNsYXNzPSJsaW5rMiI+Jm5ic3A7VE9DJm5ic3A7PC9hPjwvdGQ+PC90cj48L3RhYmxlPg0K
PGEgbmFtZT0icmZjLnNlY3Rpb24uNi4xNSI+PC9hPjxoMz42LjE1LiZuYnNwO1NISU1fSUZfU0VO
RDwvaDM+DQoNCjxwPlRoaXMgb3B0aW9uIGNhbiBiZSBzcGVjaWZpZWQgYnkgc2V0c29ja29wdCgp
Lg0KPC9wPg0KPHA+VGhlIGFwcGxpY2F0aW9uIGNhbiBzcGVjaWZ5IG91dGdvaW5nIGludGVyZmFj
ZSBvZiB0aGUNCglvdXRib3VuZCB0cmFmZmljIG92ZXIgdGhlIHNvY2tldC4gIEFwcGxpY2F0aW9u
IHNob3VsZCBzcGVjaWZ5DQoJdGhlIHJlcXVlc3RlZCBpbnRlcmZhY2UgaWRlbnRpZmllciBpbiB0
aGUgYXJndW1lbnQgb3B0dmFsLg0KCUFsdGVybmF0aXZlbHksIHRoaXMgb3B0aW9uIGNhbiBhbHNv
IGJlIHNwZWNpZmllZCBpbiBhbmNpbGxhcnkNCglkYXRhIGluIGFsb25nIHdpdGggc2VuZG1zZygp
IGNhbGwuDQo8L3A+DQo8cD5PbmNlIHRoZSBzb2NrZXQgb3B0aW9uIGlzIHNwZWNpZmllZCBieSBz
ZXRzb2Nrb3B0KCksIGl0DQoJcmVtYWlucyBlZmZlY3RpdmUgdW50aWwgaXQgaXMgZGVhY3RpdmF0
ZWQgKHN0aWNreSBvcHRpb24pLg0KPC9wPg0KPGEgbmFtZT0iYW5jaG9yMTkiPjwvYT48YnIgLz48
aHIgLz4NCjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2lu
Zz0iMiIgY2xhc3M9ImJ1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJidWciPjxhIGhy
ZWY9IiN0b2MiIGNsYXNzPSJsaW5rMiI+Jm5ic3A7VE9DJm5ic3A7PC9hPjwvdGQ+PC90cj48L3Rh
YmxlPg0KPGEgbmFtZT0icmZjLnNlY3Rpb24uNi4xNiI+PC9hPjxoMz42LjE2LiZuYnNwO0Vycm9y
IEhhbmRsaW5nPC9oMz4NCg0KPHA+SWYgc3VjY2Vzc2Z1bCwgZ2V0c29ja29wdCgpIGFuZCBzZXRz
b2Nrb3B0KCkgcmV0dXJuIDA7DQoJb3RoZXJ3aXNlLCB0aGUgZnVuY3Rpb25zIHJldHVybiAtMSBh
bmQgc2V0IGVycm5vIHRvIGluZGljYXRlDQoJZXJyb3IuDQo8L3A+DQo8cD5Gb2xsb3dpbmcgYXJl
IGVycm5vIGNvZGVzIG5ld2x5IGRlZmluZWQgZm9yIHNvbWUgc2hpbQ0KCXNwZWNpZmljIHNvY2tl
dCBvcHRpb25zIGluZGljYXRpbmcgdGhhdCB0aGUgZ2V0c29ja29wdCgpIG9yDQoJc2V0c29ja29w
dCgpIGZpbmlzaGVkIGluY29tcGxldGVseToNCg0KCTwvcD4NCjxibG9ja3F1b3RlIGNsYXNzPSJ0
ZXh0Ij4NCjxsaT5FTk9TSElJTUNPTlRFWFQgLSBBbnkgc2hpbSBjb250ZXh0IGRvZXMgbm90IGV4
aXN0IHdoaWNoDQoJICBpcyBhc3NvY2lhdGVkIHdpdGggdGhlIHNvY2tldC4NCjwvbGk+DQo8bGk+
RUlOVkFMSURMT0NBVE9SIC0gQW4gaW52YWxpZCBsb2NhdG9yIHdhcyBzcGVjaWZpZWQgYnkgdGhl
DQoJICBzb2NrZXQgb3B0aW9uLiAgVGhpcyBpbmRpY2F0ZXMgdGhhdCBhbnkgb2YgdGhlIG5lY2Vz
c2FyeQ0KCSAgdmFsaWRhdGlvbnMgaW5zaWRlIHRoZSBzaGltIGxheWVyIG9uIHNwZWNpZmllZCBs
b2NhdG9yIHdhcw0KCSAgZmFpbGVkLiAgSW4gY2FzZSBvZiBTSElNNiwgdGhlcmUgYXJlIHR3byBr
aW5kcyBvZg0KCSAgdmVyaWZpY2F0aW9ucyByZXF1aXJlZCBwcmlvciB0byBzZW5kaW5nIGFuIElQ
IHBhY2tldCB0byB0aGUNCgkgIHBlZXIncyBuZXcgYWRkcmVzczsgb25lIGlzIHJldHVybiByb3V0
YWJpbGl0eSAoY2hlY2sgaWYgdGhlDQoJICBwZWVyIGlzIGFjdHVhbGx5IHdpbGxpbmcgdG8gcmVj
ZWl2ZSBkYXRhIHdpdGggdGhlIHNwZWNpZmllZA0KCSAgbG9jYXRvcikgYW5kIHRoZSBvdGhlciBp
cyB2ZXJpZmljYXRpb25zIGJhc2VkIG9uIGdpdmVuDQoJICBjcnlwdG8gbG9jYXRvciBtZWNoYW5p
c21zPGEgY2xhc3M9ImluZm8iIGhyZWY9IiNSRkMzOTcyIj5bUkZDMzk3Ml08c3Bhbj4gKDwvc3Bh
bj48c3BhbiBjbGFzcz0iaW5mbyI+QXVyYSwgVC4sICZsZHF1bztDcnlwdG9ncmFwaGljYWxseSBH
ZW5lcmF0ZWQgQWRkcmVzc2VzIChDR0EpLCZyZHF1bzsgTWFyY2gmbmJzcDsyMDA1Ljwvc3Bhbj48
c3Bhbj4pPC9zcGFuPjwvYT4sIDxhIGNsYXNzPSJpbmZvIiBocmVmPSIjSS1ELmlldGYtc2hpbTYt
aGJhIj5bSS1ELmlldGYtc2hpbTYtaGJhXTxzcGFuPiAoPC9zcGFuPjxzcGFuIGNsYXNzPSJpbmZv
Ij5CYWdudWxvLCBNLiwgJmxkcXVvO0hhc2ggQmFzZWQgQWRkcmVzc2VzIChIQkEpLCZyZHF1bzsg
T2N0b2JlciZuYnNwOzIwMDUuPC9zcGFuPjxzcGFuPik8L3NwYW4+PC9hPi4NCjwvbGk+DQo8L2Js
b2NrcXVvdGU+PHA+DQoNCgkNCjwvcD4NCjxhIG5hbWU9InNlYy1hY2Nlc3MtdG8tbG9jaW5mbyI+
PC9hPjxiciAvPjxociAvPg0KPHRhYmxlIHN1bW1hcnk9ImxheW91dCIgY2VsbHBhZGRpbmc9IjAi
IGNlbGxzcGFjaW5nPSIyIiBjbGFzcz0iYnVnIiBhbGlnbj0icmlnaHQiPjx0cj48dGQgY2xhc3M9
ImJ1ZyI+PGEgaHJlZj0iI3RvYyIgY2xhc3M9ImxpbmsyIj4mbmJzcDtUT0MmbmJzcDs8L2E+PC90
ZD48L3RyPjwvdGFibGU+DQo8YSBuYW1lPSJyZmMuc2VjdGlvbi43Ij48L2E+PGgzPjcuJm5ic3A7
QWNjZXNzIHRvIExvY2F0b3IgSW5mb3JtYXRpb248L2gzPg0KDQo8cD5JbiB0aGlzIHNlY3Rpb24s
IHRoZSB3YXkgaG93IHRvIGFjY2VzcyBsb2NhdG9yIGluZm9ybWF0aW9uDQogICAgICB3aXRoIHNv
bWUgSS9PIGNhbGxzIGlzIHByZXNlbnRlZC4gIEFzIGRlZmluZWQgaW4gUG9zaXguMWcsDQogICAg
ICBzZW5kbXNnKCkgYW5kIHJlY3Ztc2coKSB0YWtlIG1zZ2hkciBzdHJ1Y3R1cmUgYXMgaXRzIGFy
Z3VtZW50DQogICAgICBhbmQgdGhleSBjYW4gYWRkaXRpb25hbGx5IGhhbmRsZSBjb250cm9sIGlu
Zm9ybWF0aW9uIGluIGFsb25nDQogICAgICB3aXRoIGRhdGEuICA8YSBjbGFzcz0iaW5mbyIgaHJl
Zj0iI2ZpZy1tc2doZHIiPkZpZ3VyZSZuYnNwOzM8c3Bhbj4gKDwvc3Bhbj48c3BhbiBjbGFzcz0i
aW5mbyI+bXNnaGRyIHN0cnVjdHVyZTwvc3Bhbj48c3Bhbj4pPC9zcGFuPjwvYT4gc2hvd3MgdGhl
IG1zZ2hkcg0KICAgICAgc3RydWN0dXJlIHdoaWNoIGlzIGRlZmluZWQgaW4gJmx0O3N5cy9zb2Nr
ZXQuaD4uICBtc2dfY29udHJvbA0KICAgICAgbWVtYmVyIGhvbGRzIGEgcG9pbnRlciB0byB0aGUg
YnVmZmVyIHdoZXJlIHRoZSBzaGltIHNwZWNpZmljDQogICAgICBhbmNpbGxhcnkgZGF0YSBvYmpl
Y3RzIGFyZSBzdG9yZWQuDQo8L3A+PGJyIC8+PGhyIC8+DQo8YSBuYW1lPSJmaWctbXNnaGRyIj48
L2E+DQo8cHJlPg0KICAgICBzdHJ1Y3QgbXNnaGRyIHsNCiAgICAgICAgICAgICBjYWRkcl90IG1z
Z19uYW1lOyAgICAgICAvKiBvcHRpb25hbCBhZGRyZXNzICovDQogICAgICAgICAgICAgdV9pbnQg
ICBtc2dfbmFtZWxlbjsgICAgLyogc2l6ZSBvZiBhZGRyZXNzICovDQogICAgICAgICAgICAgc3Ry
dWN0ICBpb3ZlYyAqbXNnX2lvdjsgLyogc2NhdHRlci9nYXRoZXIgYXJyYXkgKi8NCiAgICAgICAg
ICAgICB1X2ludCAgIG1zZ19pb3ZsZW47ICAgICAvKiAjIGVsZW1lbnRzIGluIG1zZ19pb3YgKi8N
CiAgICAgICAgICAgICBjYWRkcl90IG1zZ19jb250cm9sOyAgICAvKiBhbmNpbGxhcnkgZGF0YSwg
c2VlIGJlbG93ICovDQogICAgICAgICAgICAgdV9pbnQgICBtc2dfY29udHJvbGxlbjsgLyogYW5j
aWxsYXJ5IGRhdGEgYnVmZmVyIGxlbiAqLw0KICAgICAgICAgICAgIGludCAgICAgbXNnX2ZsYWdz
OyAgICAgIC8qIGZsYWdzIG9uIHJlY2VpdmVkIG1lc3NhZ2UgKi8NCiAgICAgfTsNCjwvcHJlPjx0
YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiI+PHRyPjx0ZCBh
bGlnbj0iY2VudGVyIj48Zm9udCBmYWNlPSJtb25hY28sIE1TIFNhbnMgU2VyaWYiIHNpemU9IjEi
PjxiPiZuYnNwO0ZpZ3VyZSZuYnNwOzM6IG1zZ2hkciBzdHJ1Y3R1cmUmbmJzcDs8L2I+PC9mb250
PjxiciAvPjwvdGQ+PC90cj48L3RhYmxlPjxociBzaXplPSIxIiBzaGFkZT0iMCI+DQoNCjxwPklT
U1VFOiBTaG91bGQgd2UgaW50cm9kdWNlIGEgbmV3IGZsYWcgZm9yIG1zZ19mbGFncw0KICAgICAg
KGUuZy4gTVNHX1NISU1NRUQpID8gRm9sbG93aW5nIHRoZSBwcmFjdGljZSwgaXQgc2VlbXMgcmVh
c29uYWJsZQ0KICAgICAgdG8gZG8gc28sIGJ1dCBub3Qgc3VyZSBob3cgbXVjaCBpdCBpcyB1c2Vm
dWwuDQo8L3A+DQo8cD5UaGUgYnVmZmVyIHBvaW50ZWQgZnJvbSB0aGUgbXNnX2NvbnRyb2wgbWVt
YmVyIG9mIHRoZSBtc2doZHINCiAgICAgIHN0cnVjdHVyZSBzaG91bGQgY29udGFpbiBzaW5nbGUg
bG9jYXRvciBhbmQgaXQgc2hvdWxkIGJlDQogICAgICBwb3NzaWJsZSB0byBwcm9jZXNzIHRoZW0g
d2l0aCBleGlzdGluZyBtYWNyb3MgZGVmaW5lZCBpbiBQb3NpeA0KICAgICAgYW5kIDxhIGNsYXNz
PSJpbmZvIiBocmVmPSIjUkZDMzU0MiI+W1JGQzM1NDJdPHNwYW4+ICg8L3NwYW4+PHNwYW4gY2xh
c3M9ImluZm8iPlN0ZXZlbnMsIFcuLCBUaG9tYXMsIE0uLCBOb3JkbWFyaywgRS4sIGFuZCBULiBK
aW5tZWksICZsZHF1bztBZHZhbmNlZCBTb2NrZXRzIEFwcGxpY2F0aW9uIFByb2dyYW0gSW50ZXJm
YWNlIChBUEkpIAkgIGZvciBJUHY2LCZyZHF1bzsgTWF5Jm5ic3A7MjAwMy48L3NwYW4+PHNwYW4+
KTwvc3Bhbj48L2E+LiAgRWFjaCBjbXNnaGRye30gc2hvdWxkIGJlIGZvbGxvd2VkDQogICAgICBi
eSBhIGRhdGEgd2hpY2ggc3RvcmVzIHNpbmdsZSBsb2NhdG9yLg0KPC9wPg0KPHA+SW4gY2FzZSBv
ZiBub24tY29ubmVjdGVkIHNvY2tldCwgbXNnX25hbWUgbWVtYmVyIHN0b3JlcyB0aGUNCiAgICAg
IHNvY2tldCBhZGRyZXNzIG9mIHRoZSBwZWVyIHdoaWNoIHNob3VsZCBiZSBjb25zaWRlcmVkIGFz
DQogICAgICBpZGVudGlmaWVyIHJhdGhlciB0aGFuIGxvY2F0b3IuICBMb2NhdG9yIG9mIHRoZSBw
ZWVyIG5vZGUgc2hvdWxkDQogICAgICBiZSByZXRyaWV2ZWQgYnkgU0hJTV9MT0NfUkVNT1RFX1JF
Q1YgYXMgc3BlY2lmaWVkIGJlbG93Lg0KPC9wPg0KPHA+PGEgY2xhc3M9ImluZm8iIGhyZWY9IiN0
YWItc2hpbS1hbmNpbGxhcnktZGF0YSI+VGFibGUmbmJzcDsyPHNwYW4+ICg8L3NwYW4+PHNwYW4g
Y2xhc3M9ImluZm8iPlNoaW0gc3BlY2lmaWMgYW5jaWxsYXJ5IGRhdGE8L3NwYW4+PHNwYW4+KTwv
c3Bhbj48L2E+IGlzIGEgbGlzdCBvZiBzaGltDQogICAgICBzcGVjaWZpYyBhbmNpbGxhcnkgZGF0
YSB3aGljaCBjYW4gYmUgdXNlZCBmb3IgcmVjdm1zZygpIG9yDQogICAgICBzZW5kbXNnKCkuICBJ
biBhbnkgY2FzZSwgU09MX1NISU0gbXVzdCBiZSBzZXQgYXMgY21zZ19sZXZlbC4NCjwvcD48YnIg
Lz48aHIgLz4NCjxhIG5hbWU9InRhYi1zaGltLWFuY2lsbGFyeS1kYXRhIj48L2E+DQo8dGFibGUg
Y2xhc3M9ImZ1bGwiIGFsaWduPSJjZW50ZXIiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjIiIGNl
bGxzcGFjaW5nPSIyIj4NCjxjb2wgYWxpZ249ImxlZnQiPjxjb2wgYWxpZ249ImxlZnQiPjxjb2wg
YWxpZ249ImxlZnQiPjxjb2wgYWxpZ249ImxlZnQiPg0KPHRyPjx0aCBhbGlnbj0ibGVmdCI+Y21z
Z190eXBlPC90aD48dGggYWxpZ249ImxlZnQiPnNlbmRtc2coKTwvdGg+PHRoIGFsaWduPSJsZWZ0
Ij5yZWN2bXNnKCk8L3RoPjx0aCBhbGlnbj0ibGVmdCI+Y21zZ19kYXRhW108L3RoPjwvdHI+DQo8
dHI+DQo8dGQgYWxpZ249ImxlZnQiPlNISU1fTE9DX0xPQ0FMX1JFQ1Y8L3RkPg0KPHRkIGFsaWdu
PSJsZWZ0Ij4mbmJzcDs8L3RkPg0KPHRkIGFsaWduPSJsZWZ0Ij5vPC90ZD4NCjx0ZCBhbGlnbj0i
bGVmdCI+KjE8L3RkPg0KPC90cj4NCjx0cj4NCjx0ZCBhbGlnbj0ibGVmdCI+U0hJTV9MT0NfUEVF
Ul9SRUNWPC90ZD4NCjx0ZCBhbGlnbj0ibGVmdCI+Jm5ic3A7PC90ZD4NCjx0ZCBhbGlnbj0ibGVm
dCI+bzwvdGQ+DQo8dGQgYWxpZ249ImxlZnQiPioxPC90ZD4NCjwvdHI+DQo8dHI+DQo8dGQgYWxp
Z249ImxlZnQiPlNISU1fTE9DX0xPQ0FMX1NFTkQ8L3RkPg0KPHRkIGFsaWduPSJsZWZ0Ij5vPC90
ZD4NCjx0ZCBhbGlnbj0ibGVmdCI+Jm5ic3A7PC90ZD4NCjx0ZCBhbGlnbj0ibGVmdCI+KjE8L3Rk
Pg0KPC90cj4NCjx0cj4NCjx0ZCBhbGlnbj0ibGVmdCI+U0hJTV9MT0NfUEVFUl9TRU5EPC90ZD4N
Cjx0ZCBhbGlnbj0ibGVmdCI+bzwvdGQ+DQo8dGQgYWxpZ249ImxlZnQiPiZuYnNwOzwvdGQ+DQo8
dGQgYWxpZ249ImxlZnQiPioxPC90ZD4NCjwvdHI+DQo8dHI+DQo8dGQgYWxpZ249ImxlZnQiPlNI
SU1fSUZfUkVDVjwvdGQ+DQo8dGQgYWxpZ249ImxlZnQiPiZuYnNwOzwvdGQ+DQo8dGQgYWxpZ249
ImxlZnQiPm88L3RkPg0KPHRkIGFsaWduPSJsZWZ0Ij5pbnQ8L3RkPg0KPC90cj4NCjx0cj4NCjx0
ZCBhbGlnbj0ibGVmdCI+U0hJTV9JRl9TRU5EPC90ZD4NCjx0ZCBhbGlnbj0ibGVmdCI+bzwvdGQ+
DQo8dGQgYWxpZ249ImxlZnQiPiZuYnNwOzwvdGQ+DQo8dGQgYWxpZ249ImxlZnQiPmludDwvdGQ+
DQo8L3RyPg0KPC90YWJsZT4NCjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIwIiBjZWxs
c3BhY2luZz0iMiIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCBhbGlnbj0iY2VudGVyIj48Zm9udCBm
YWNlPSJtb25hY28sIE1TIFNhbnMgU2VyaWYiIHNpemU9IjEiPjxiPiZuYnNwO1RhYmxlIDI6IFNo
aW0gc3BlY2lmaWMgYW5jaWxsYXJ5IGRhdGEmbmJzcDs8L2I+PC9mb250PjxiciAvPjwvdGQ+PC90
cj48L3RhYmxlPjxociBzaXplPSIxIiBzaGFkZT0iMCI+DQoNCjxwPioxOiBjbXNnX2RhdGFbXSBz
aG91bGQgaW5jbHVkZSBwYWRkaW5nIChpZiBuZWNlc3NhcnkpIGFuZCBhDQogICAgICBzaW5nbGUg
c29ja2FkZHJfc3RvcmFnZXt9IGEgcHJvdG9jb2wgaW5kZXBlbmRlbnQgcGxhY2Vob2xkZXIgZm9y
DQogICAgICBzb2NrZXQgYWRkcmVzc2VzLg0KPC9wPg0KPHA+SVNTVUU6IElzIHRoZSBkZXNpZ24g
Y2hvaWNlICh0byB1c2Ugc29ja2FkZHJfc3RvcmFnZXt9KQ0KICAgICAgcmVhc29uYWJsZSA/DQo8
L3A+DQo8cD5JdCBzaG91bGQgYmUgbm90ZWQgdGhhdCBhYm92ZSBhbmNpbGxhcnkgZGF0YSBjYW4g
b25seSBiZQ0KICAgICAgaGFuZGxlZCBpbiBVRFAgYW5kIHJhdyBzb2NrZXRzLCBub3QgaW4gVENQ
IHNvY2tldHMuICBBcyBleHBsYWluZWQNCiAgICAgIGluIDxhIGNsYXNzPSJpbmZvIiBocmVmPSIj
UkZDMzU0MiI+W1JGQzM1NDJdPHNwYW4+ICg8L3NwYW4+PHNwYW4gY2xhc3M9ImluZm8iPlN0ZXZl
bnMsIFcuLCBUaG9tYXMsIE0uLCBOb3JkbWFyaywgRS4sIGFuZCBULiBKaW5tZWksICZsZHF1bztB
ZHZhbmNlZCBTb2NrZXRzIEFwcGxpY2F0aW9uIFByb2dyYW0gSW50ZXJmYWNlIChBUEkpIAkgIGZv
ciBJUHY2LCZyZHF1bzsgTWF5Jm5ic3A7MjAwMy48L3NwYW4+PHNwYW4+KTwvc3Bhbj48L2E+LCB0
aGVyZSBpcyBubyBvbmUtdG8tb25lIG1hcHBpbmcgb2YNCiAgICAgIHNlbmQvcmVjZWl2ZSBvcGVy
YXRpb25zIGFuZCB0aGUgVENQIHNlZ21lbnRzIGJlaW5nDQogICAgICB0cmFuc21pdHRlZC9yZWNl
aXZlZC4gIEluIGNhc2Ugb2YgVENQLCBhcHBsaWNhdGlvbiBtYXkgdXNlDQogICAgICBzZXRzb2Nr
b3B0KCkgb3IgZ2V0c29ja29wdCgpIHRvIGFjY2VzcyBvciBzcGVjaWZ5IHNvbWUgb2YNCiAgICAg
IGxvY2F0b3IgaW5mb3JtYXRpb24gcHJvdmlkZWQgYnkgdGhlIHNoaW0gbGF5ZXIuDQo8L3A+DQo8
YSBuYW1lPSJhbmNob3IyMCI+PC9hPjxiciAvPjxociAvPg0KPHRhYmxlIHN1bW1hcnk9ImxheW91
dCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBjbGFzcz0iYnVnIiBhbGlnbj0icmln
aHQiPjx0cj48dGQgY2xhc3M9ImJ1ZyI+PGEgaHJlZj0iI3RvYyIgY2xhc3M9ImxpbmsyIj4mbmJz
cDtUT0MmbmJzcDs8L2E+PC90ZD48L3RyPjwvdGFibGU+DQo8YSBuYW1lPSJyZmMuc2VjdGlvbi43
LjEiPjwvYT48aDM+Ny4xLiZuYnNwO0dldCBMb2NhdG9yIEluZm9ybWF0aW9uIGZyb20gSW5jb21p
bmcgUGFja2V0PC9oMz4NCg0KPHA+QXBwbGljYXRpb24gY2FuIGdldCBsb2NhdG9yIGluZm9ybWF0
aW9uIGZyb20gdGhlIHJlY2VpdmVkDQoJSVAgcGFja2V0IGJ5IHNwZWNpZnlpbmcgc2hpbSBzcGVj
aWZpYyBzb2NrZXQgb3B0aW9ucyBmb3IgdGhlDQoJc29ja2V0LiAgV2hlbiBTSElNX0xPQ19MT0NB
TF9SRUNWIGFuZC9vciBTSElNX0xPQ19QRUVSX1JFQ1YNCglzb2NrZXQgb3B0aW9ucyBhcmUgc2V0
LCBhcHBsaWNhdGlvbiBjYW4gcmV0cmlldmUgbG9jYWwgYW5kL29yDQoJcmVtb3RlIGxvY2F0b3Ig
ZnJvbSB0aGUgYW5jaWxsYXJ5IGRhdGEuDQo8L3A+DQo8cD5JbiBhZGRpdGlvbiwgYXBwbGljYXRp
b24gY2FuIGdldCB0aGUgcmVjZWl2aW5nIGludGVyZmFjZQ0KCWZyb20gdGhlIGFuY2lsbGFyeSBk
YXRhIG1hcmtlZCB3aXRoIFNISU1fSUZfUkVDVi4gIFRoZQ0KCWFuY2lsbGFyeSBkYXRhIHNob3Vs
ZCBjb250YWluIGFuIGludGVyZmFjZSBpZGVudGlmaWVyIG9mIHRoZQ0KCXBoeXNpY2FsIGludGVy
ZmFjZSB3aGljaCB3YXMgYWN0dWFsbHkgdXNlZCB0byByZWNlaXZlIHRoZQ0KCXBhY2tldC4NCjwv
cD4NCjxhIG5hbWU9ImFuY2hvcjIxIj48L2E+PGJyIC8+PGhyIC8+DQo8dGFibGUgc3VtbWFyeT0i
bGF5b3V0IiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjIiIGNsYXNzPSJidWciIGFsaWdu
PSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0iYnVnIj48YSBocmVmPSIjdG9jIiBjbGFzcz0ibGluazIi
PiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4NCjxhIG5hbWU9InJmYy5zZWN0
aW9uLjcuMiI+PC9hPjxoMz43LjIuJm5ic3A7U3BlY2lmeSBMb2NhdG9yIEluZm9ybWF0aW9uIGZv
ciBPdXRnb2luZyBQYWNrZXQ8L2gzPg0KDQo8cD5BcHBsaWNhdGlvbiBjYW4gc3BlY2lmeSBsb2Nh
dG9yIHRvIGJlIHVzZWQgZm9yIHRyYW5zbWl0dGluZw0KCWFuIElQIHBhY2tldCBieSBzZW5kbXNn
KCkuICBXaGVuIGFuY2lsbGFyeSBkYXRhIG9mIGNtc2dfdHlwZQ0KCVNISU1fTE9DX0xPQ0FMX1NF
TkQgYW5kL29yIFNISU1fTE9DX1BFRVJfU0VORCBhcmUgc3BlY2lmaWVkLA0KCXRoZSBhcHBsaWNh
dGlvbiBjYW4gZXhwbGljaXRseSBzcGVjaWZ5IHNvdXJjZSBhbmQvb3INCglkZXN0aW5hdGlvbiBs
b2NhdG9yIHRvIGJlIHVzZWQgZm9yIHRoZSBjb21tdW5pY2F0aW9uIG92ZXIgdGhlDQoJc29ja2V0
Lg0KPC9wPg0KPHA+SW4gYWRkaXRpb24sIGFwcGxpY2F0aW9uIGNhbiBzcGVjaWZ5IHRoZSBvdXRn
b2luZyBpbnRlcmZhY2UNCglieSBTSElNX0lGX1NFTkQgYW5jaWxsYXJ5IGRhdGEuICBUaGUgYW5j
aWxsYXJ5IGRhdGEgc2hvdWxkDQoJY29udGFpbiBhbiBpbnRlcmZhY2UgaWRlbnRpZmllciBvZiB0
aGUgcGh5c2ljYWwgaW50ZXJmYWNlIG92ZXINCgl3aGljaCB0aGUgYXBwbGljYXRpb24gZXhwZWN0
IHRoZSBwYWNrZXQgdG8gYmUgdHJhbnNtaXR0ZWQuDQo8L3A+DQo8cD5Ob3RlIHRoYXQgdGhlIGVm
ZmVjdCBpcyBsaW1pdGVkIHRvIHRoZSBkYXRhZ3JhbSB0cmFuc21pdHRlZA0KCWJ5IHRoZSBzZW5k
bXNnKCkuICBJZiB0aGUgc3BlY2lmaWVkIGxvY2F0b3IgcGFpciBzZWVtIHRvIGJlDQoJdmFsaWQs
IHRoZSBzaGltIGxheWVyIG92ZXJyaWRlcyB0aGUgbG9jYXRvciBvZiB0aGUgSVAgcGFja2V0DQoJ
YXMgcmVxdWVzdGVkLg0KPC9wPg0KPHA+QW4gZXJyb3IgRUlOVkFMSURMT0NBVE9SIHdpbGwgYmUg
cmV0dXJuZWQgd2hlbiB2YWxpZGF0aW9uDQoJb2YgdGhlIHNwZWNpZmllZCBsb2NhdG9yIGZhaWxl
ZC4NCjwvcD4NCjxwPklTU1VFOiBJcyB0aGVyZSBhbnkgb3RoZXIgdHlwZSBvZiBlcnJvciB0aGF0
IHdlIHNob3VsZA0KCXNwZWNpZmljYWxseSBoYW5kbGUgPw0KPC9wPg0KPGEgbmFtZT0ic2VjLWRh
dGEtc3RydWN0dXJlcyI+PC9hPjxiciAvPjxociAvPg0KPHRhYmxlIHN1bW1hcnk9ImxheW91dCIg
Y2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBjbGFzcz0iYnVnIiBhbGlnbj0icmlnaHQi
Pjx0cj48dGQgY2xhc3M9ImJ1ZyI+PGEgaHJlZj0iI3RvYyIgY2xhc3M9ImxpbmsyIj4mbmJzcDtU
T0MmbmJzcDs8L2E+PC90ZD48L3RyPjwvdGFibGU+DQo8YSBuYW1lPSJyZmMuc2VjdGlvbi44Ij48
L2E+PGgzPjguJm5ic3A7RGF0YSBTdHJ1Y3R1cmVzPC9oMz4NCg0KPHA+U29tZSBvZiB0aGUgc29j
a2V0IG9wdGlvbnMgZGVmaW5lIGluIHRoaXMgZG9jdW1lbnQgcmVxdWlyZXMNCiAgICAgIHNwZWNp
ZmljIGRhdGEgc3RydWN0dXJlcyBmb3IgZXhjaGFuZ2luZyBpbmZvcm1hdGlvbi4gIFRob3NlIGRh
dGENCiAgICAgIHN0cnVjdHVyZXMgYXJlIGlsbHVzdHJhdGVkIGluIHRoaXMgc2VjdGlvbi4NCjwv
cD4NCjxhIG5hbWU9ImFuY2hvcjIyIj48L2E+PGJyIC8+PGhyIC8+DQo8dGFibGUgc3VtbWFyeT0i
bGF5b3V0IiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjIiIGNsYXNzPSJidWciIGFsaWdu
PSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0iYnVnIj48YSBocmVmPSIjdG9jIiBjbGFzcz0ibGluazIi
PiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4NCjxhIG5hbWU9InJmYy5zZWN0
aW9uLjguMSI+PC9hPjxoMz44LjEuJm5ic3A7UGxhY2Vob2xkZXIgZm9yIExvY2F0b3IgSW5mb3Jt
YXRpb248L2gzPg0KDQo8cD5Tb21lIG9mIHRoZSBzb2NrZXQgb3B0aW9ucyBkZWZpbmVkIGluIHRo
aXMgZG9jdW1lbnQgaGFuZGxlDQoJbG9jYXRvciBpbmZvcm1hdGlvbiBpbiBpdHMgbG9jYXRvciBt
YW5hZ2VtZW50LiAgTG9jYXRvcg0KCWluZm9ybWF0aW9uIGNvdWxkIGJlIGEgc2luZ2xlIGxvY2F0
b3Igb3IgYW4gYXJyYXkgb2YgbG9jYXRvcnMuDQoJSW1wb3J0YW50IHJlcXVpcmVtZW50IGlzIHRo
YXQgbG9jYXRvciBpbmZvcm1hdGlvbiBzaG91bGQgYmUNCgloYW5kbGVkIGluIGEgcHJvdG9jb2wg
aW5kZXBlbmRlbnQgbWFubmVyLiAgSW4gb3RoZXIgd29yZHMsIGFuDQoJaW50ZXJmYWNlIHRvIHRo
ZSBsb2NhdG9yIGluZm9ybWF0aW9uIHNob3VsZCBub3QgYmUgZGVwZW5kZW50DQoJdG8gYW55IGFk
ZHJlc3MgZmFtaWx5Lg0KPC9wPg0KPGEgbmFtZT0iYW5jaG9yMjMiPjwvYT48YnIgLz48aHIgLz4N
Cjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIg
Y2xhc3M9ImJ1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJidWciPjxhIGhyZWY9IiN0
b2MiIGNsYXNzPSJsaW5rMiI+Jm5ic3A7VE9DJm5ic3A7PC9hPjwvdGQ+PC90cj48L3RhYmxlPg0K
PGEgbmFtZT0icmZjLnNlY3Rpb24uOC4xLjEiPjwvYT48aDM+OC4xLjEuJm5ic3A7YWRkcmluZm8g
c3RydWN0dXJlPC9oMz4NCg0KPHA+YWRkcmluZm8gc3RydWN0dXJlIGluIGFsb25nIHdpdGggZ2V0
YWRkcmluZm8oKSBmdW5jdGlvbg0KCSAgYXJlIGRlZmluZWQgaW4gUG9zaXguMWcsIHdoaWNoIGlz
IHVzZWZ1bCBmb3IgcHJvZ3JhbW1pbmcNCgkgIGFwcGxpY2F0aW9uIGluIHByb3RvY29sIGluZGVw
ZW5kZW50IG1hbm5lci4gIEFzIG1lbnRpb25lZA0KCSAgZWFybGllciwgcHJvdG9jb2wgaW5kZXBl
bmRlbmN5IGlzIHJlcXVpcmVkIGluIGxvY2F0b3INCgkgIG1hbmFnZW1lbnQgYXQgdGhlIHNoaW0g
bGF5ZXIsIHRodXMgd2UgcHJvcG9zZSB0byB1c2UNCgkgIGFkZHJpbmZvIHN0cnVjdHVyZSBhcyBh
IHBsYWNlaG9sZGVyIGZvciBsb2NhdG9ycy4NCjwvcD4NCjxwPkEgY2hhaW4gb2YgYWRkcmluZm8g
c3RydWN0dXJlcyBjYW4gYmUgdXNlZCB0byByZXByZXNlbnQgYQ0KCSAgbGlzdCBvZiBsb2NhdG9y
cy4gIE5vdGUgdGhhdCBhZGRyaW5mbyBzdHJ1Y3R1cmUgaXRzZWxmIGRvZXMNCgkgIG5vdCBjb250
YWluIHRoZSBsb2NhdG9yIGRhdGEgYnV0IGl0IGhvbGRzIGEgcG9pbnRlciB0bw0KCSAgc29ja2Fk
ZHIgc3RydWN0dXJlIHdoZXJlIHRoZSBhY3R1YWwgZGF0YSBvZiBhIGdpdmVuIGxvY2F0b3INCgkg
IGlzIHN0b3JlZC4gIDxhIGNsYXNzPSJpbmZvIiBocmVmPSIjZmlnLWFkZHJpbmZvIj5GaWd1cmUm
bmJzcDs0PHNwYW4+ICg8L3NwYW4+PHNwYW4gY2xhc3M9ImluZm8iPmFkZHJpbmZvIHN0cnVjdHVy
ZTwvc3Bhbj48c3Bhbj4pPC9zcGFuPjwvYT4gaWxsdXN0cmF0ZXMgdGhlDQoJICBhZGRyaW5mbyBz
dHJ1Y3R1cmUgZGVmaW5lZCBpbiAmbHQ7bmV0ZGIuaD4uDQo8L3A+PGJyIC8+PGhyIC8+DQo8YSBu
YW1lPSJmaWctYWRkcmluZm8iPjwvYT4NCjxwcmU+DQogICAgc3RydWN0IGFkZHJpbmZvIHsNCiAg
ICAgICAgICAgIGludCBhaV9mbGFnczsgICAgICAgICAgIC8qIGlucHV0IGZsYWdzICovDQogICAg
ICAgICAgICBpbnQgYWlfZmFtaWx5OyAgICAgICAgICAvKiBwcm90b2NvbCBmYW1pbHkgZm9yIHNv
Y2tldCAqLw0KICAgICAgICAgICAgaW50IGFpX3NvY2t0eXBlOyAgICAgICAgLyogc29ja2V0IHR5
cGUgKi8NCiAgICAgICAgICAgIGludCBhaV9wcm90b2NvbDsgICAgICAgIC8qIHByb3RvY29sIGZv
ciBzb2NrZXQgKi8NCiAgICAgICAgICAgIHNvY2tsZW5fdCBhaV9hZGRybGVuOyAgIC8qIGxlbmd0
aCBvZiBzb2NrZXQtYWRkcmVzcyAqLw0KICAgICAgICAgICAgc3RydWN0IHNvY2thZGRyICphaV9h
ZGRyOyAvKiBzb2NrZXQtYWRkcmVzcyBmb3Igc29ja2V0ICovDQogICAgICAgICAgICBjaGFyICph
aV9jYW5vbm5hbWU7ICAgICAvKiBjYW5vbmljYWwgbmFtZSBmb3INCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHNlcnZpY2UgbG9jYXRpb24gKi8NCiAgICAgICAgICAgIHN0
cnVjdCBhZGRyaW5mbyAqYWlfbmV4dDsgLyogcG9pbnRlciB0byBuZXh0IGluIGxpc3QgKi8NCiAg
ICB9Ow0KPC9wcmU+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5n
PSIyIj48dHI+PHRkIGFsaWduPSJjZW50ZXIiPjxmb250IGZhY2U9Im1vbmFjbywgTVMgU2FucyBT
ZXJpZiIgc2l6ZT0iMSI+PGI+Jm5ic3A7RmlndXJlJm5ic3A7NDogYWRkcmluZm8gc3RydWN0dXJl
Jm5ic3A7PC9iPjwvZm9udD48YnIgLz48L3RkPjwvdHI+PC90YWJsZT48aHIgc2l6ZT0iMSIgc2hh
ZGU9IjAiPg0KDQo8YSBuYW1lPSJhbmNob3IyNCI+PC9hPjxiciAvPjxociAvPg0KPHRhYmxlIHN1
bW1hcnk9ImxheW91dCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBjbGFzcz0iYnVn
IiBhbGlnbj0icmlnaHQiPjx0cj48dGQgY2xhc3M9ImJ1ZyI+PGEgaHJlZj0iI3RvYyIgY2xhc3M9
ImxpbmsyIj4mbmJzcDtUT0MmbmJzcDs8L2E+PC90ZD48L3RyPjwvdGFibGU+DQo8YSBuYW1lPSJy
ZmMuc2VjdGlvbi44LjEuMiI+PC9hPjxoMz44LjEuMi4mbmJzcDtzb2NrYWRkcl9zdG9yYWdlIHN0
cnVjdHVyZTwvaDM+DQoNCjxwPjxhIGNsYXNzPSJpbmZvIiBocmVmPSIjUkZDMzQ5MyI+W1JGQzM0
OTNdPHNwYW4+ICg8L3NwYW4+PHNwYW4gY2xhc3M9ImluZm8iPkdpbGxpZ2FuLCBSLiwgVGhvbXNv
biwgUy4sIEJvdW5kLCBKLiwgTWNDYW5uLCBKLiwgYW5kIFcuIFN0ZXZlbnMsICZsZHF1bztCYXNp
YyBTb2NrZXQgSW50ZXJmYWNlIEV4dGVuc2lvbnMgZm9yIElQdjYsJnJkcXVvOyBGZWJydWFyeSZu
YnNwOzIwMDMuPC9zcGFuPjxzcGFuPik8L3NwYW4+PC9hPiBzcGVjaWZpZXMgYSBwcm90b2NvbCBp
bmRlcGVuZGVudA0KCSAgcGxhY2Vob2xkZXIgZm9yIHNvY2tldCBhZGRyZXNzLCBjYWxsZWQgc29j
a2FkZHJfc3RvcmFnZQ0KCSAgc3RydWN0dXJlIGFzIHNob3duIGluIDxhIGNsYXNzPSJpbmZvIiBo
cmVmPSIjZmlnLXNvY2thZGRyLXN0b3JhZ2UiPkZpZ3VyZSZuYnNwOzU8c3Bhbj4gKDwvc3Bhbj48
c3BhbiBjbGFzcz0iaW5mbyI+c29ja2FkZHJfc3RvcmFnZSBzdHJ1Y3R1cmU8L3NwYW4+PHNwYW4+
KTwvc3Bhbj48L2E+Lg0KCSAgQnkgZGVmaW5pdGlvbiwgdGhlIHN0cnVjdHVyZSBjYW4gc3RvcmUg
c29ja2V0IGFkZHJlc3Mgb2YgYW55DQoJICBwcm90b2NvbCAoSVB2NCBvciBJUHY2KSBhbmQgaXMg
c2ltcGx5IHN1aXRhYmxlIGZvciBhDQoJICBwbGFjZWhvbGRlciBmb3IgdGhlIGxvY2F0b3IgaW5m
b3JtYXRpb24uICBJbiB0aGlzIGRvY3VtZW50LA0KCSAgd2Ugc3VnZ2VzdCB0byB1c2Ugc29ja2Fk
ZHJfc3RvcmFnZSBzdHJ1Y3R1cmUgdG8gc3RvcmUgdGhlDQoJICBsb2NhdG9yIGluZm9ybWF0aW9u
IHRvIGJlIHNwZWNpZmllZCBpbiB0aGUgYW5jaWxsYXJ5IGRhdGEuDQoJICBJbiB0aG9zZSBjYXNl
cywgdGhlIGxvY2F0b3IgaW5mb3JtYXRpb24gaXMgYSBzaW5nbGUgbG9jYXRvci4NCgkgIA0KCSAg
PGJyIC8+PGhyIC8+DQo8YSBuYW1lPSJmaWctc29ja2FkZHItc3RvcmFnZSI+PC9hPg0KPC9wPg0K
PHByZT4NCi8qDQogKiBEZXNpcmVkIGRlc2lnbiBvZiBtYXhpbXVtIHNpemUgYW5kIGFsaWdubWVu
dA0KICovDQojZGVmaW5lIF9TU19NQVhTSVpFICAgIDEyOCAgLyogSW1wbGVtZW50YXRpb24gc3Bl
Y2lmaWMgbWF4IHNpemUgKi8NCiNkZWZpbmUgX1NTX0FMSUdOU0laRSAgKHNpemVvZiAoaW50NjRf
dCkpDQogICAgICAgICAgICAgICAgICAgLyogSW1wbGVtZW50YXRpb24gc3BlY2lmaWMgZGVzaXJl
ZCBhbGlnbm1lbnQgKi8NCi8qDQogKiBEZWZpbml0aW9ucyB1c2VkIGZvciBzb2NrYWRkcl9zdG9y
YWdlIHN0cnVjdHVyZSBwYWRkaW5ncyBkZXNpZ24uDQogKi8NCiNkZWZpbmUgX1NTX1BBRDFTSVpF
ICAgKF9TU19BTElHTlNJWkUgLSBzaXplb2YgKHNhX2ZhbWlseV90KSkNCiNkZWZpbmUgX1NTX1BB
RDJTSVpFICAgKF9TU19NQVhTSVpFIC0gKHNpemVvZiAoc2FfZmFtaWx5X3QpICsNCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIF9TU19QQUQxU0laRSArIF9TU19BTElHTlNJWkUpKQ0KDQog
ICAgc3RydWN0IHNvY2thZGRyX3N0b3JhZ2Ugew0KICAgICAgICBzYV9mYW1pbHlfdCAgc3NfZmFt
aWx5OyAgICAvKiBhZGRyZXNzIGZhbWlseSAqLw0KICAgICAgICAvKiBGb2xsb3dpbmcgZmllbGRz
IGFyZSBpbXBsZW1lbnRhdGlvbiBzcGVjaWZpYyAqLw0KICAgICAgICBjaGFyICAgICAgX19zc19w
YWQxW19TU19QQUQxU0laRV07DQogICAgICAgIGludDY0X3QgICBfX3NzX2FsaWduOw0KICAgICAg
ICBjaGFyICAgICAgX19zc19wYWQyW19TU19QQUQyU0laRV07DQogICAgfTsNCjwvcHJlPjxwPg0K
PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIyIj48dHI+PHRk
IGFsaWduPSJjZW50ZXIiPjxmb250IGZhY2U9Im1vbmFjbywgTVMgU2FucyBTZXJpZiIgc2l6ZT0i
MSI+PGI+Jm5ic3A7RmlndXJlJm5ic3A7NTogc29ja2FkZHJfc3RvcmFnZSBzdHJ1Y3R1cmUmbmJz
cDs8L2I+PC9mb250PjxiciAvPjwvdGQ+PC90cj48L3RhYmxlPjxociBzaXplPSIxIiBzaGFkZT0i
MCI+DQoNCg0KCSAgDQo8L3A+DQo8YSBuYW1lPSJzZWMtaW1wbGljYXRpb25zLWZvci1sZWdhY3lh
cGkiPjwvYT48YnIgLz48aHIgLz4NCjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5n
PSIwIiBjZWxsc3BhY2luZz0iMiIgY2xhc3M9ImJ1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNs
YXNzPSJidWciPjxhIGhyZWY9IiN0b2MiIGNsYXNzPSJsaW5rMiI+Jm5ic3A7VE9DJm5ic3A7PC9h
PjwvdGQ+PC90cj48L3RhYmxlPg0KPGEgbmFtZT0icmZjLnNlY3Rpb24uOSI+PC9hPjxoMz45LiZu
YnNwO0ltcGxpY2F0aW9ucyBmb3IgRXhpc3RpbmcgU29ja2V0IEFQSSBFeHRlbnNpb25zPC9oMz4N
Cg0KPHA+QXMgdGhlIHNvY2tldCBvcHRpb25zIHByb3Bvc2VkIGluIHRoaXMgZG9jdW1lbnQgYWxs
b3cNCiAgICAgIGFwcGxpY2F0aW9uIHRvIHNwZWNpZnkgbG9jYXRvciBmb3IgdHJhbnNtaXR0aW5n
IElQIHBhY2tldCwgdGhlcmUNCiAgICAgIG1heSBiZSBjb25mbGljdCB3aXRoIHNvbWUgb2YgZXhp
c3Rpbmcgc29ja2V0IEFQSS4gIEFzIHN0YXRlZCBpbg0KICAgICAgPGEgY2xhc3M9ImluZm8iIGhy
ZWY9IiNzZWMtc2hpbS1zb2NrZXQtb3B0aW9ucyI+U2VjdGlvbiZuYnNwOzY8c3Bhbj4gKDwvc3Bh
bj48c3BhbiBjbGFzcz0iaW5mbyI+U29ja2V0IE9wdGlvbnMgZm9yIE11bHRpaG9tZWQgU2hpbSBM
YXllcjwvc3Bhbj48c3Bhbj4pPC9zcGFuPjwvYT4sIGJhc2ljIGFzc3VtcHRpb24gaXMNCiAgICAg
IHRoYXQgbGVnYWN5IEFQSSBzaG91bGQgY29udGludWUgdG8gd29yayBhYm92ZSB0aGUgc2hpbQ0K
ICAgICAgbGF5ZXIuDQo8L3A+DQo8cD5JbiBJUHY0LCBhcHBsaWNhdGlvbiBjYW4gb2J0YWluIGRl
c3RpbmF0aW9uIElQIGFkZHJlc3Mgb2YgdGhlDQogICAgICByZWNlaXZlZCBJUCBwYWNrZXQgKElQ
X1JFQ1ZEU1RBRERSKSBhcyB3ZWxsIGFzIHRoZSByZWNlaXZpbmcNCiAgICAgIGludGVyZmFjZSAo
SVBfUkVDVklGKS4gIElmIHRoZSBzaGltIGxheWVyIHBlcmZvcm1zIElEL0xvY2F0b3INCiAgICAg
IGFkYXB0YXRpb24gZm9yIHRoZSByZWNlaXZlZCBwYWNrZXQsIHRoZSBkZXN0aW5hdGlvbiBFSUQg
c2hvdWxkDQogICAgICBiZSBzdG9yZWQgaW4gdGhlIGFuY2lsbGFyeSBkYXRhIChJUF9SRUNWRFNU
QUREUikuICBBY2NvcmRpbmdseSwNCiAgICAgIHRoZSByZWNlaXZpbmcgaW50ZXJmYWNlIHNob3Vs
ZCBiZSBhbGlnbmVkIHdpdGggdGhlIGRlc3RpbmF0aW9uDQogICAgICBFSUQgb2YgdGhlIHBhY2tl
dC4gIFRoYXQgaXMsIHRoZSBzaGltIGxheWVyIHNob3VsZCBzZXQNCiAgICAgIGFwcHJvcHJpYXRl
IGludGVyZmFjZSB0byB3aGljaCB0aGUgZGVzdGluYXRpb24gRUlEIGlzIGFzc2lnbmVkDQogICAg
ICBpbiB0aGUgYW5jaWxsYXJ5IGRhdGEgb2JqZWN0LiAgSG93ZXZlciwgZnJvbSBhcHBsaWNhdGlv
bg0KICAgICAgcGVyc3BlY3RpdmUsIGtub3dpbmcgdGhlIHJlY2VpdmluZyBpbnRlcmZhY2Ugd2hp
Y2ggaXMgYXNzb2NpYXRlZA0KICAgICAgd2l0aCB0aGUgZGVzdGluYXRpb24gRUlEIG1heSBub3Qg
YmUgdXNlZnVsLCBlc3BlY2lhbGx5IGluIGEgY2FzZQ0KICAgICAgd2hlcmUgYXBwbGljYXRpb24g
aXMgcGFydGljdWxhcmx5IGludGVyZXN0ZWQgaW4gdGhlDQogICAgICBjaGFyYWN0ZXJpc3RpY3Mg
b2YgdGhlIHJlY2VpdmluZyBpbnRlcmZhY2UuICBIZW5jZSwgd2Ugc3VnZ2VzdA0KICAgICAgYXBw
bGljYXRpb24gcHJvZ3JhbW1lciB0byB1c2UgU0hJTV9JRl9SRUNWIGluc3RlYWQgb2YgSVBfUkVD
VklGDQogICAgICBpbiBzdWNoIGNhc2UuDQo8L3A+DQo8cD5JbiBJUHY2LCA8YSBjbGFzcz0iaW5m
byIgaHJlZj0iI1JGQzM1NDIiPltSRkMzNTQyXTxzcGFuPiAoPC9zcGFuPjxzcGFuIGNsYXNzPSJp
bmZvIj5TdGV2ZW5zLCBXLiwgVGhvbWFzLCBNLiwgTm9yZG1hcmssIEUuLCBhbmQgVC4gSmlubWVp
LCAmbGRxdW87QWR2YW5jZWQgU29ja2V0cyBBcHBsaWNhdGlvbiBQcm9ncmFtIEludGVyZmFjZSAo
QVBJKSAJICBmb3IgSVB2NiwmcmRxdW87IE1heSZuYnNwOzIwMDMuPC9zcGFuPjxzcGFuPik8L3Nw
YW4+PC9hPiBkZWZpbmVzIHRoYXQgSVBWNl9QS1RJTkZPDQogICAgICBjYW4gYmUgdXNlZCB0byBz
cGVjaWZ5IHNvdXJjZSBJUHY2IGFkZHJlc3MgYW5kIHRoZSBvdXRnb2luZw0KICAgICAgaW50ZXJm
YWNlIGZvciBvdXRnb2luZyBwYWNrZXQsIGFuZCByZXRyaWV2ZSBkZXN0aW5hdGlvbiBJUHY2DQog
ICAgICBhZGRyZXNzIGFuZCByZWNlaXZpbmcgaW50ZXJmYWNlIGZvciBpbmNvbWluZyBwYWNrZXQu
ICBUaGVzZQ0KICAgICAgaW5mb3JtYXRpb24gYXJlIHN0b3JlZCBpbiBhbmNpbGxhcnkgZGF0YSBi
ZWluZyBJUFY2X1BLVElORk8NCiAgICAgIHNwZWNpZmllZCBhcyBjbXNnX3R5cGUuICBOb3csIHNp
bWlsYXIgdG8gdGhlIGNhc2Ugb2YgSVB2NCwgdGhlDQogICAgICBzaGltIGxheWVyIG1heSBhZmZl
Y3QgdGhlIGJlaGF2aW9yIG9mIHNvY2tldCBBUEkgd2hpY2ggZGVhbHMNCiAgICAgIHdpdGggSVBW
Nl9QS0ZJTkZPLiAgV2UgYWdhaW4gd291bGQgbGlrZSBub3RlIHRoYXQgZXhpc3RpbmcNCiAgICAg
IHNvY2tldCBBUEkgc2hvdWxkIGNvbnRpbnVlIHRvIHdvcmsgYWJvdmUgdGhlIHNoaW0gbGF5ZXIs
IHRoYXQNCiAgICAgIGlzLCB0aGUgSVAgYWRkcmVzc2VzIGhhbmRsZWQgaW4gSVBWNl9QS1RJTkZP
IHNob3VsZCBiZSBFSURzLCBub3QNCiAgICAgIHRoZSBsb2NhdG9ycy4gIEhlbmNlIHdlIHJlY29t
bWVuZCBhcHBsaWNhdGlvbiBwcm9ncmFtbWVycyB0byB1c2UNCiAgICAgIHNoaW0gc3BlY2lmaWMg
c29ja2V0IG9wdGlvbnMgKFNISU1fSUZfUkVDViBvciBTSElNX0lGX1NFTkQpIGlmDQogICAgICB0
aGUgaW50ZXJlc3QgaW4gdGhlIGNvbW11bmljYXRpbmcgaW50ZXJmYWNlIGNvbWVzIGZyb20gbG93
ZXINCiAgICAgIGxldmVsIChlLmcuIGNoYXJhY3RlcmlzdGljcyBvZiBwaHlzaWNhbCBpbnRlcmZh
Y2UpLiAgRm9yIHRoZQ0KICAgICAgc2FtZSByZWFzb24sIGluIG9yZGVyIHRvIGhhbmRsZSBsb2Nh
dG9yIGluZm9ybWF0aW9uLCB3ZSBzdWdnZXN0DQogICAgICB0byB1c2Ugc2hpbSBzcGVjaWZpYyBz
b2NrZXQgb3B0aW9ucyBkZWZpbmVkIGluIDxhIGNsYXNzPSJpbmZvIiBocmVmPSIjc2VjLWFjY2Vz
cy10by1sb2NpbmZvIj5TZWN0aW9uJm5ic3A7NzxzcGFuPiAoPC9zcGFuPjxzcGFuIGNsYXNzPSJp
bmZvIj5BY2Nlc3MgdG8gTG9jYXRvciBJbmZvcm1hdGlvbjwvc3Bhbj48c3Bhbj4pPC9zcGFuPjwv
YT4uDQo8L3A+DQo8cD5JbiBzdW1tYXJ5LCBhIGNhcmUgc2hvdWxkIGJlIHRha2VuIGluIHBvdGVu
dGlhbCBjb25mbGljdCB3aXRoDQogICAgICBleGlzdGluZyBzb2NrZXQgQVBJIHdoaWNoIHRyZWF0
cyB0aGUgSVAgYWRkcmVzcyBhcyBhIGxvY2F0b3INCiAgICAgIHJhdGhlciB0aGFuIGlkZW50aWZp
ZXIuICBCYXNpYyBhc3N1bXB0aW9uIGlzIHRoYXQgdGhlIGV4aXN0aW5nDQogICAgICBzb2NrZXQg
QVBJIHdvcmtzIGFib3ZlIHRoZSBzaGltIGxheWVyLg0KPC9wPg0KPGEgbmFtZT0ic2VjLWRpc2N1
c3Npb24iPjwvYT48YnIgLz48aHIgLz4NCjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRk
aW5nPSIwIiBjZWxsc3BhY2luZz0iMiIgY2xhc3M9ImJ1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRk
IGNsYXNzPSJidWciPjxhIGhyZWY9IiN0b2MiIGNsYXNzPSJsaW5rMiI+Jm5ic3A7VE9DJm5ic3A7
PC9hPjwvdGQ+PC90cj48L3RhYmxlPg0KPGEgbmFtZT0icmZjLnNlY3Rpb24uMTAiPjwvYT48aDM+
MTAuJm5ic3A7RGlzY3Vzc2lvbjwvaDM+DQoNCjxwPkluIHRoaXMgc2VjdGlvbiwgb3BlbiBkaXNj
dXNzaW9uIGlzc3VlcyBhcmUgbm90ZWQuDQo8L3A+DQo8YSBuYW1lPSJhbmNob3IyNSI+PC9hPjxi
ciAvPjxociAvPg0KPHRhYmxlIHN1bW1hcnk9ImxheW91dCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxz
cGFjaW5nPSIyIiBjbGFzcz0iYnVnIiBhbGlnbj0icmlnaHQiPjx0cj48dGQgY2xhc3M9ImJ1ZyI+
PGEgaHJlZj0iI3RvYyIgY2xhc3M9ImxpbmsyIj4mbmJzcDtUT0MmbmJzcDs8L2E+PC90ZD48L3Ry
PjwvdGFibGU+DQo8YSBuYW1lPSJyZmMuc2VjdGlvbi4xMC4xIj48L2E+PGgzPjEwLjEuJm5ic3A7
SXNzdWVzIHdpdGggYSBDb250ZXh0IFNoYXJlZCBieSBBcHBsaWNhdGlvbnM8L2gzPg0KDQo8cD5B
IGNvbnRleHQgaXMgYnkgZGVmaW5pdGlvbiwgc3lzdGVtLXdpZGUuICBUaGlzIG1lYW5zIHRoYXQg
YQ0KCWNvbnRleHQgY291bGQgYmUgc2hhcmVkIGJ5IGFwcGxpY2F0aW9ucyB3aG9zZSBjb21tdW5p
Y2F0aW9ucw0KCWFyZSBieSBjaGFuY2UgYmFzZWQgb24gdGhlIHNhbWUgRUlEIHBhaXIuDQo8L3A+
DQo8cD5XaGVuIGEgY29udGV4dCBpcyBzaGFyZWQgYnkgYXBwbGljYXRpb25zLCBpdCB3b3VsZCBi
ZQ0KCWRpZmZpY3VsdCBmb3IgdGhlIHNoaW0gbGF5ZXIgdG8gaGFuZGxlIGZlZWRiYWNrcyBmcm9t
IHRoZQ0KCWFwcGxpY2F0aW9ucy4gIEFzIG1lbnRpb25lZCBpbiBTZWN0aW9uIFgsIGFuIGFwcGxp
Y2F0aW9uIG1heQ0KCXByb3ZpZGUgdGhlIHNoaW0gbGF5ZXIgc29tZSBmZWVkYmFja3Mgb2YgdGlt
ZW91dCB2YWx1ZXMgZnJvbQ0KCWl0cyBvd24gc2V0dGluZ3MuICBUaGlzIGltcGxpZXMgdGhhdCB0
aGVyZSBpcyBwb3RlbnRpYWxseSBhDQoJcmFjZSBjb25kaXRpb24gYXQgdGhlIHNoaW0gbGF5ZXIu
DQo8L3A+DQo8cD5GaXJzdCBvZiBhbGwsIHRoZSBzb2NrZXQgb3B0aW9ucyBtdXN0IGJlIHVzZWQg
d2l0aCBhIHByb3Blcg0KCXByaXZpbGVnZS4gIEZlZWRiYWNrIGZyb20gdGhlIGFwcGxpY2F0aW9u
IHdoaWNoIGlzIHJ1biB1bmRlciBhDQoJcm9vdCBwcml2aWxlZ2UgbXVzdCBhbHdheXMgb3ZlcnJp
ZGUgdGhlIGZlZWRiYWNrIHByb3ZpZGVkIGJ5DQoJYXBwbGljYXRpb24gd2hpY2ggaXMgcnVuIHVu
ZGVyIG5vcm1hbCB1c2VyIHByaXZpbGVnZS4NCjwvcD4NCjxwPkZvciBvdGhlciBjYXNlcywgb25l
IGNvdWxkIHJlbHkgb24gYSBraW5kIG9mIGhldXJpc3RpY3Mgb2YNCgl0aGUgY29uZmlndXJhdGlv
bi4gIEZvciBpbnN0YW5jZSwgcHJpb3JpdGl6aW5nIGZlZWRiYWNrIHdpdGgNCgloaWdoZXIgZGVt
YW5kIChlLmcuIHRpbWVvdXQgdmFsdWUgMzAwIHNlY29uZHMgYXJlIG1vcmUNCglkZW1hbmRpbmcg
dGhlbiB0aW1lb3V0IHZhbHVlIDYwMCBzZWNvbmRzKSBtYXkgbWFrZSBzZW5zZSBpbg0KCXNvbWUg
Y2FzZXMuICBIb3dldmVyLCBpdCBpcyBzdGlsbCBvcGVuIGlzc3VlcyB3aGF0IGtpbmQgb2YNCgl0
aW1lciB2YWx1ZSBjb3VsZCBiZSBoYW5kbGVkIGluIHRoaXMgd2F5Lg0KPC9wPg0KPHA+RnVydGhl
ciBkaXNjdXNzaW9ucyBhcmUgbmVlZGVkIGhvdyB0aGUgc2hpbSBsYXllciBjYW4NCglhY2NvbW1v
ZGF0ZSBmZWVkYmFja3MgZnJvbSBtdWx0aXBsZSBhcHBsaWNhdGlvbnMgd2l0aGluIGEgc2FtZQ0K
CWNvbnRleHQuDQo8L3A+DQo8YSBuYW1lPSJhbmNob3IyNiI+PC9hPjxiciAvPjxociAvPg0KPHRh
YmxlIHN1bW1hcnk9ImxheW91dCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBjbGFz
cz0iYnVnIiBhbGlnbj0icmlnaHQiPjx0cj48dGQgY2xhc3M9ImJ1ZyI+PGEgaHJlZj0iI3RvYyIg
Y2xhc3M9ImxpbmsyIj4mbmJzcDtUT0MmbmJzcDs8L2E+PC90ZD48L3RyPjwvdGFibGU+DQo8YSBu
YW1lPSJyZmMuc2VjdGlvbi4xMC4yIj48L2E+PGgzPjEwLjIuJm5ic3A7SXNzdWVzIG9mIEhhbmRs
aW5nIE11bHRpcGxlIExvY2F0b3JzIHdpdGggU2hpbSBVbmF3YXJlDQoJCSAgICAgIEFwcGxpY2F0
aW9uczwvaDM+DQoNCjxwPkluIG11bHRpaG9tZWQgZW52aXJvbm1lbnQgd2hlcmUgZWl0aGVyIG9y
IGJvdGggb2YgdGhlIHBlZXJzDQoJaGF2ZSBtdWx0aXBsZSBsb2NhdG9ycywgdGhlcmUgYXJlIHNv
bWUgaXNzdWVzIHdpdGggbGVnYWN5DQoJc29ja2V0IEFQSS4NCjwvcD4NCjxhIG5hbWU9ImFuY2hv
cjI3Ij48L2E+PGJyIC8+PGhyIC8+DQo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGlu
Zz0iMCIgY2VsbHNwYWNpbmc9IjIiIGNsYXNzPSJidWciIGFsaWduPSJyaWdodCI+PHRyPjx0ZCBj
bGFzcz0iYnVnIj48YSBocmVmPSIjdG9jIiBjbGFzcz0ibGluazIiPiZuYnNwO1RPQyZuYnNwOzwv
YT48L3RkPjwvdHI+PC90YWJsZT4NCjxhIG5hbWU9InJmYy5zZWN0aW9uLjEwLjIuMSI+PC9hPjxo
Mz4xMC4yLjEuJm5ic3A7U2hpbSBVbmF3YXJlIEFwcGxpY2F0aW9uIE1ha2luZyBJbml0aWFsIENv
bnRhY3Q8L2gzPg0KDQo8cD5XaGVuIGFwcGxpY2F0aW9uIGlzIGdvaW5nIHRvIGVzdGFibGlzaCBj
b21tdW5pY2F0aW9uIHdpdGgNCglpdHMgcGVlciB3aG8gaGFwcGVucyB0byBoYXZlIG11bHRpcGxl
IGxvY2F0b3JzLCB0aGVyZSBhcmUgc29tZQ0KCWlzc3VlcyB0byBjb25zaWRlci4gIEluIGNvbm5l
Y3Rpb24gb3JpZW50ZWQgY29tbXVuaWNhdGlvbiwNCgljb25uZWN0KCkgc3lzdGVtIGNhbGwgaXMg
dXNlZCB0byBtYWtlIHRoZSBpbml0aWFsIGNvbnRhY3QgdG8NCgl0aGUgcGVlciwgd2hpY2ggdHlw
aWNhbGx5IHJlcXVpcmVzIElQIGFkZHJlc3MgYW5kIHBvcnQgbnVtYmVyDQoJdG8gc3BlY2lmeSB0
aGUgZW5kcG9pbnQuICBIZW5jZSwgbmFtZS10by1hZGRyZXNzIHJlc29sdXRpb24NCglzaG91bGQg
YmUgcGVyZm9ybWVkIHByaW9yIHRvIGNvbm5lY3QoKS4gIEFwcGxpY2F0aW9uIG5lZWRzIHRvDQoJ
cmVzb2x2ZSBGUUROIG9mIHRoZSBwZWVyIHRvIGFuIElQIGFkZHJlc3MgYnkgYW55IGF2YWlsYWJs
ZQ0KCW5hbWUtdG8tYWRkcmVzcyBjb252ZXJzaW9uIG1ldGhvZC4NCjwvcD4NCjxwPkluIHR5cGlj
YWwgY2FzZSwgdGhlIGFwcGxpY2F0aW9uIHJlY2VpdmVzIGluZm9ybWF0aW9uIGZyb20NCglyZXNv
bHZlci4gIElmIHRoZSBhcHBsaWNhdGlvbiBlbmRzIHVwIHdpdGggcmVjZWl2aW5nIG11bHRpcGxl
DQoJSVAgYWRkcmVzc2VzIHRvIHJlYWNoIHRoZSBwZWVyLCBpdCBzaG91bGQgaXRlcmF0ZSBlYWNo
DQoJZGVzdGluYXRpb24gYWRkcmVzcyBvbmUtYnktb25lLiAgSXQgc2hvdWxkIGJlIG5vdGVkIHRo
YXQgdGhlDQoJaG9zdCBtYXkgYWxzbyBoYXZlIG11bHRpcGxlIHNvdXJjZSBhZGRyZXNzZXMuDQo8
L3A+DQo8cD5UaGUgZGlmZmVyZW50IHJlc3VsdGluZyBhZGRyZXNzIHBhaXIgbWF5IGhhdmUgZGlm
ZmVyZW50DQoJcmVhY2hhYmlsaXR5IHN0YXR1cyBzbywgaW4gb3JkZXIgdG8gZmluZCBhIHdvcmtp
bmcgYWRkcmVzcw0KCXBhaXIsIGl0IG1heSBiZSByZXF1aXJlZCB0byBleHBsb3JlIGFsbCB0aGUg
YXZhaWxhYmxlIGFkZHJlc3MNCglwYWlycyAoYXMgb3Bwb3NlZCB0byBleHBsb3JlIGFsbCBhdmFp
bGFibGUgZGVzdGluYXRpb24NCglhZGRyZXNzZXMpLg0KPC9wPg0KPHA+SW4gbm9ybWFsIGNhc2Us
IGFwcGxpY2F0aW9uIGlzc3VlcyBjb25uZWN0KCkgYnkgc3BlY2lmeWluZw0KCXJlc29sdmVkIElQ
IGFkZHJlc3Mgb2YgdGhlIHBlZXIuICBJZiB0aGUgY29ubmVjdCgpIGZhaWxzLCBJUA0KCWFkZHJl
c3MgaXMgaXRlcmF0ZWQgb25lIGJ5IG9uZSBzZXF1ZW50aWFsbHkgdW50aWwgd29ya2luZyBwYWly
DQoJaXMgZm91bmQuICBBbm90aGVyIGFwcHJvYWNoIGlzIHRvIGluaXRpYXRlIGNvbmN1cnJlbnQN
Cgljb25uZWN0KCkgd2l0aCBldmVyeSBsb2NhdG9yIG9mIHRoZSBwZWVyLiAgY29ubmVjdCgpIGNh
biBhbHNvDQoJYmUgY2FsbGVkIGluIGEgc2VxdWVuY2Ugd2hpY2ggd291bGQgcHJvYmFibHkgcmVx
dWlyZSBtb3JlIHRpbWUNCgl0byBmaW5kIHRoZSB3b3JraW5nIHBhaXIuDQo8L3A+DQo8cD5UaGVy
ZSBpcyBhIGNhc2Ugd2hlcmUgaW52b2x2ZW1lbnQgb2YgdGhlIHNoaW0gbGF5ZXIgaXMNCglleHBl
Y3RlZCBmb3IgaGFuZGxpbmcgaW5pdGlhbCBjb250YWN0LiAgSW4gc3VjaCBjYXNlLCBiZWhhdmlv
cg0KCW9mIHRoZSBzaGltIGxheWVyIHdpbGwgZGVwZW5kIG9uIHByZXNlbmNlIG9mIHJlcXVpcmVk
IGNvbnRleHQuDQoJVGhpcyBjYXNlIG9jY3VycyB3aGVuIHRoZXJlIGV4aXN0cyBhIGNvbnRleHQg
Zm9yIHRoZSBFSUQNCglzcGVjaWZpZWQgaW4gY29ubmVjdCgpLCB0aGUgaW5pdGlhbCBjb250YWN0
IGNhbiBiZSBtYWRlIGluDQoJYWNjb3JkYW5jZSB3aXRoIHRoZSBjb250ZXh0IGluZm9ybWF0aW9u
LiAgT3RoZXJ3aXNlLCB0aGUgc2hpbQ0KCWxheWVyIHNob3VsZCBpbnZva2UgY29udGV4dCBlc3Rh
Ymxpc2htZW50IHdpdGggdGhlIHBlZXIgRUlEDQoJc3BlY2lmaWVkIGluIHRoZSBhcmd1bWVudCBm
b3IgY29ubmVjdCgpLg0KPC9wPg0KPHA+QWRkaXRpb25hbCBlZmZvcnRzIHdvdWxkIGJlIHJlcXVp
cmVkIGluIGEgY2FzZSB3aGVyZSB0aGUNCglwZWVyIGNhbm5vdCBiZSByZWFjaGFibGUgYnkgdGhl
IEVJRCAoZm9yIGV4YW1wbGUsIEVJRCBpcw0KCW5vbi1yb3V0YWJsZSBvciBub24tSVAgcmVhY2hh
YmxlKSBidXQgY2FuIGJlIHJlYWNoZWQgYnkNCglhbHRlcm5hdGl2ZSBsb2NhdG9yLiAgSW4gcGFy
dGljdWxhciwgdGhlIHNoaW0gbGF5ZXIgc2hvdWxkDQoJc29tZWhvdyBkaXNjb3ZlciB0aGUgYWx0
ZXJuYXRlIGxvY2F0b3IgZm9yIHRoZSBFSUQgdG8NCgllc3RhYmxpc2ggY29udGV4dC4gIDxhIGNs
YXNzPSJpbmZvIiBocmVmPSIjSS1ELm5vcmRtYXJrLXNoaW02LWVzZCI+W0ktRC5ub3JkbWFyay1z
aGltNi1lc2RdPHNwYW4+ICg8L3NwYW4+PHNwYW4gY2xhc3M9ImluZm8iPk5vcmRtYXJrLCBFLiwg
JmxkcXVvO0V4dGVuZGVkIFNoaW02IERlc2lnbiBmb3IgSUQvbG9jIHNwbGl0IGFuZCBUcmFmZmlj
IAkgIEVuZ2luZWVyaW5nLCZyZHF1bzsgRmVicnVhcnkmbmJzcDsyMDA2Ljwvc3Bhbj48c3Bhbj4p
PC9zcGFuPjwvYT4NCglhZGRyZXNzZXMgdGhlIHBvc3NpYmxlIGFwcHJvYWNoIHRvIHBlcmZvcm0g
cmV2ZXJzZSBETlMgbG9va3VwDQoJZnJvbSBFSUQgdG8gRlFETiwgdGhlbiBwZXJmb3JtIGZvcndh
cmQgbG9va3VwIGFnYWluIHRvIGZpbmQNCgl0aGUgZnVsbC1zZXQgb2YgbG9jYXRvcnMgYW5kIEVJ
RC4NCgkNCjwvcD4NCjxwPkluIEhJUCwgcmVzb2x2aW5nIEhJVHMgdG8gSVAgYWRkcmVzc2VzIHVz
aW5nIEROUyBpcyBub3QNCglmZWFzaWJsZSBiZWNhdXNlIEhJVHMgZG8gbm90IGNvbnRhaW4gYW55
IGhpZXJhcmNoaWNhbA0KCWluZm9ybWF0aW9uLiAgVG8gbWl0aWdhdGUgdGhpcyBwcm9ibGVtLCB0
aGVyZSBhcmUgYSBmZXcNCglhbHRlcm5hdGl2ZXMuICBGaXJzdGx5LCByZXNvbHZlciBsaWJyYXJ5
IG9uIGVuZC1ob3N0IGNhbiBiZQ0KCW1vZGlmaWVkIHRvIHByb3ZpZGUgSElULXRvLUlQIG1hcHBp
bmdzIGZvciBISVAgc29mdHdhcmUNCgltb2R1bGUuICBTZWNvbmRseSwgYSBkaXN0cmlidXRlZCBo
YXNoIHRhYmxlIChESFQpIHNlcnZpY2UgY2FuDQoJYmUgdXNlZCBmb3Igc3RvcmluZyBhbmQgbG9v
a2luZyB1cCB0aGUgbWFwcGluZ3MgYmVjYXVzZSBpdA0KCXN1cHBvcnRzIG5vbi1oaWVyYXJjaGlj
YWwgaWRlbnRpZmllcnMsIHN1Y2ggYXMgSElUcyA8YSBjbGFzcz0iaW5mbyIgaHJlZj0iI0ktRC5p
ZXRmLWhpcC1hcmNoIj5bSS1ELmlldGYtaGlwLWFyY2hdPHNwYW4+ICg8L3NwYW4+PHNwYW4gY2xh
c3M9ImluZm8iPk1vc2tvd2l0eiwgUi4gYW5kIFAuIE5pa2FuZGVyLCAmbGRxdW87SG9zdCBJZGVu
dGl0eSBQcm90b2NvbCBBcmNoaXRlY3R1cmUsJnJkcXVvOyBBdWd1c3QmbmJzcDsyMDA1Ljwvc3Bh
bj48c3Bhbj4pPC9zcGFuPjwvYT4uICBUaGlyZGx5LCBpdCBpcyBwb3NzaWJsZSB0byB1c2UNCglJ
UCBhZGRyZXNzZXMgaW4gbGVnYWN5IGFwcGxpY2F0aW9ucyBhcyBkZXNjcmliZWQgaW4gPGEgY2xh
c3M9ImluZm8iIGhyZWY9IiNJLUQuaGVuZGVyc29uLWhpcC1hcHBsaWNhdGlvbnMiPltJLUQuaGVu
ZGVyc29uLWhpcC1hcHBsaWNhdGlvbnNdPHNwYW4+ICg8L3NwYW4+PHNwYW4gY2xhc3M9ImluZm8i
PkhlbmRlcnNvbiwgVC4gYW5kIFAuIE5pa2FuZGVyLCAmbGRxdW87VXNpbmcgSElQIHdpdGggTGVn
YWN5IEFwcGxpY2F0aW9ucywmcmRxdW87IE1heSZuYnNwOzIwMDYuPC9zcGFuPjxzcGFuPik8L3Nw
YW4+PC9hPi4NCjwvcD4NCjxhIG5hbWU9ImFuY2hvcjI4Ij48L2E+PGJyIC8+PGhyIC8+DQo8dGFi
bGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjIiIGNsYXNz
PSJidWciIGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0iYnVnIj48YSBocmVmPSIjdG9jIiBj
bGFzcz0ibGluazIiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4NCjxhIG5h
bWU9InJmYy5zZWN0aW9uLjEwLjIuMiI+PC9hPjxoMz4xMC4yLjIuJm5ic3A7TmFtaW5nIGF0IFNv
Y2tldCBMYXllcjwvaDM+DQoNCjxwPmdldHNvY2tuYW1lKCkgYW5kIGdldHBlZXJuYW1lKCkgc3lz
dGVtIGNhbGxzIGFyZSB1c2VkIHRvDQoJICBvYnRhaW4gdGhlICduYW1lJyBvZiBlbmRwb2ludCB3
aGljaCBpcyBhY3R1YWxseSBhIHBhaXIgb2YgSVANCgkgIGFkZHJlc3MgYW5kIHBvcnQgbnVtYmVy
IGFzc2lnbmVkIHRvIGdpdmVuIHNvY2tldC4NCgkgIGdldHNvY2tuYW1lKCkgaXMgdXNlZCB3aGVu
IGFuIGFwcGxpY2F0aW9uIHdhbnRzIHRvIG9idGFpbg0KCSAgdGhlIGxvY2FsIElQIGFkZHJlc3Mg
YW5kIHBvcnQgbnVtYmVyIGFzc2lnbmVkIGZvciBnaXZlbg0KCSAgc29ja2V0IGluc3RhbmNlLiAg
Z2V0cGVlcm5hbWUoKSBpcyB1c2VkIHdoZW4gYW4gYXBwbGljYXRpb24NCgkgIHdhbnRzIHRvIG9i
dGFpbiB0aGUgcmVtb3RlIElQIGFkZHJlc3MgYW5kIHBvcnQgbnVtYmVyLg0KPC9wPg0KPHA+VGhl
IGFib3ZlIGlzIGJhc2VkIG9uIGEgdHJhZGl0aW9uYWwgc3lzdGVtIG1vZGVsIG9mIHRoZQ0KCSAg
c29ja2V0IEFQSSB3aGVyZSBhbiBJUCBhZGRyZXNzIGlzIGV4cGVjdGVkIHRvIHBsYXkgcm9sZSBv
Zg0KCSAgYm90aCBpZGVudGlmaWVyIGFuZCBsb2NhdG9yLiAgQXMgdGhlIHJldHVybmVkIElQIGFk
ZHJlc3MNCgkgIHdhcw0KPC9wPg0KPHA+SW4gYSBzeXN0ZW0gbW9kZWwgd2hlcmUgYSBzaGltIGxh
eWVyIGV4aXN0cyBpbnNpZGUgdGhlIElQDQoJICBsYXllciwgYm90aCBnZXRzb2NrbmFtZSgpIGFu
ZCBnZXRwZWVybmFtZSgpIGRlYWwgd2l0aA0KCSAgaWRlbnRpZmllcnMsIG5hbWVseSBFSURzLiAg
SW4gdGhpcyBzZW5zZSwgdGhlIHNoaW0gbGF5ZXINCgkgIHNlcnZlcyB0byAoMSkgaGlkZSBsb2Nh
dG9ycyBhbmQgKDIpIHByb3ZpZGUgYWNjZXNzIHRvIHRoZQ0KCSAgaWRlbnRpZmllciBmb3IgdGhl
IGFwcGxpY2F0aW9uIG92ZXIgdGhlIGxlZ2FjeSBzb2NrZXQNCgkgIEFQSXMuDQo8L3A+DQo8YSBu
YW1lPSJhbmNob3IyOSI+PC9hPjxiciAvPjxociAvPg0KPHRhYmxlIHN1bW1hcnk9ImxheW91dCIg
Y2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBjbGFzcz0iYnVnIiBhbGlnbj0icmlnaHQi
Pjx0cj48dGQgY2xhc3M9ImJ1ZyI+PGEgaHJlZj0iI3RvYyIgY2xhc3M9ImxpbmsyIj4mbmJzcDtU
T0MmbmJzcDs8L2E+PC90ZD48L3RyPjwvdGFibGU+DQo8YSBuYW1lPSJyZmMuc2VjdGlvbi4xMC4z
Ij48L2E+PGgzPjEwLjMuJm5ic3A7SXNzdWVzIG9mIEhhbmRsaW5nIE11bHRpcGxlIExvY2F0b3Jz
IHdpdGggU2hpbSBBd2FyZQ0KCQkgICAgICBBcHBsaWNhdGlvbnM8L2gzPg0KDQo8cD5UQkQuDQo8
L3A+DQo8YSBuYW1lPSJhbmNob3IzMCI+PC9hPjxiciAvPjxociAvPg0KPHRhYmxlIHN1bW1hcnk9
ImxheW91dCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBjbGFzcz0iYnVnIiBhbGln
bj0icmlnaHQiPjx0cj48dGQgY2xhc3M9ImJ1ZyI+PGEgaHJlZj0iI3RvYyIgY2xhc3M9Imxpbmsy
Ij4mbmJzcDtUT0MmbmJzcDs8L2E+PC90ZD48L3RyPjwvdGFibGU+DQo8YSBuYW1lPSJyZmMuc2Vj
dGlvbi4xMC40Ij48L2E+PGgzPjEwLjQuJm5ic3A7QWRkaXRpb25hbCBSZXF1aXJlbWVudHMgZnJv
bSBBcHBsaWNhdGlvbjwvaDM+DQoNCjxwPkF0IHRoZSBtb21lbnQsIGl0IGlzIG5vdCBjZXJ0YWlu
IGlmIGZvbGxvd2luZyByZXF1aXJlbWVudHMNCglhcmUgY29tbW9uIGluIGFsbCB0aGUgbXVsdGlo
b21lZCBlbnZpcm9ubWVudHMgKFNISU02IGFuZCBISVApLg0KCVRoZXNlIGFyZSBtYWlubHkgaWRl
bnRpZmllZCBkdXJpbmcgZGlzY3Vzc2lvbnMgbWFkZSBvbiBTSElNNg0KCVdHIG1haWxpbmcgbGlz
dC4NCgkNCgk8L3A+DQo8dWwgY2xhc3M9InRleHQiPg0KPGxpPlRoZSBhcHBsaWNhdGlvbiBzaG91
bGQgYmUgYWJsZSB0byBzZXQgcHJlZmVyZW5jZXMgZm9yIHRoZQ0KCSAgbG9jYXRvcnMsIGxvY2Fs
IGFuZCByZW1vdGUgb25lIGFuZCBhbHNvIHRvIHRoZSBwcmVmZXJlbmNlcyBvZg0KCSAgdGhlIGxv
Y2FsIGxvY2F0b3JzIHRoYXQgd2lsbCBiZSBwYXNzZWQgdG8gdGhlIHBlZXIuDQo8L2xpPg0KPC91
bD48cD4NCgkNCjwvcD4NCjxhIG5hbWU9ImFuY2hvcjMxIj48L2E+PGJyIC8+PGhyIC8+DQo8dGFi
bGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjIiIGNsYXNz
PSJidWciIGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0iYnVnIj48YSBocmVmPSIjdG9jIiBj
bGFzcz0ibGluazIiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4NCjxhIG5h
bWU9InJmYy5zZWN0aW9uLjExIj48L2E+PGgzPjExLiZuYnNwO0lBTkEgQ29uc2lkZXJhdGlvbnM8
L2gzPg0KDQo8cD5UaGlzIGRvY3VtZW50IGNvbnRhaW5zIG5vIElBTkEgY29uc2lkZXJhdGlvbi4N
CjwvcD4NCjxhIG5hbWU9ImFuY2hvcjMyIj48L2E+PGJyIC8+PGhyIC8+DQo8dGFibGUgc3VtbWFy
eT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjIiIGNsYXNzPSJidWciIGFs
aWduPSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0iYnVnIj48YSBocmVmPSIjdG9jIiBjbGFzcz0ibGlu
azIiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4NCjxhIG5hbWU9InJmYy5z
ZWN0aW9uLjEyIj48L2E+PGgzPjEyLiZuYnNwO1NlY3VyaXR5IENvbnNpZGVyYXRpb25zPC9oMz4N
Cg0KPHA+VEJEDQo8L3A+DQo8YSBuYW1lPSJhbmNob3IzMyI+PC9hPjxiciAvPjxociAvPg0KPHRh
YmxlIHN1bW1hcnk9ImxheW91dCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBjbGFz
cz0iYnVnIiBhbGlnbj0icmlnaHQiPjx0cj48dGQgY2xhc3M9ImJ1ZyI+PGEgaHJlZj0iI3RvYyIg
Y2xhc3M9ImxpbmsyIj4mbmJzcDtUT0MmbmJzcDs8L2E+PC90ZD48L3RyPjwvdGFibGU+DQo8YSBu
YW1lPSJyZmMuc2VjdGlvbi4xMyI+PC9hPjxoMz4xMy4mbmJzcDtDb25jbHVzaW9uPC9oMz4NCg0K
PHA+SW4gdGhpcyBkb2N1bWVudCwgQXBwbGljYXRpb24gUHJvZ3JhbSBJbnRlcmZhY2UgKEFQSSkg
Zm9yDQogICAgICBtdWx0aWhvbWVkIHNoaW0gbGF5ZXIgaXMgc3BlY2lmaWVkLiAgVGhlIHNvY2tl
dCBBUEkgYWxsb3dzDQogICAgICBhcHBsaWNhdGlvbiB0byBoYXZlIGFkZGl0aW9uYWwgY29udHJv
bCBvbiBsb2NhdG9yIG1hbmFnZW1lbnQgYW5kDQogICAgICBpbnRlcmZhY2UgdG8gdGhlIFJFQVAg
bWVjaGFuaXNtIGluc2lkZSB0aGUgc2hpbSBsYXllci4gIFRoZQ0KICAgICAgc29ja2V0IEFQSSBp
cyBleHBlY3RlZCB0byBiZSB1c2VmdWwgZm9yIHRoZSBhcHBsaWNhdGlvbiB0aGF0DQogICAgICBm
dWxseSB0YWtlcyBhZHZhbnRhZ2Ugb2YgbXVsdGlob21lZCBlbnZpcm9ubWVudC4gIEZyb20NCiAg
ICAgIGFyY2hpdGVjdHVyYWwgcGVyc3BlY3RpdmUsIHRoZSBzb2NrZXQgQVBJIGFpbXMgdG8gZW5o
YW5jZQ0KICAgICAgc29mdHdhcmUgZGV2ZWxvcG1lbnQgZW52aXJvbm1lbnQgaW4gdGVybXMgb2Yg
c3VwcG9ydCBmb3INCiAgICAgIHNlcGFyYXRpb24gb2YgaWRlbnRpZmllciBhbmQgbG9jYXRvci4g
IFRoYXQgaXMsIHdpdGggbmV3IEFQSSwNCiAgICAgIGFwcGxpY2F0aW9uIGNhbiBoYW5kbGUgaWRl
bnRpZmllciBhbmQgbG9jYXRvciBzZXBhcmF0ZWx5IHN0aWxsDQogICAgICBiZWluZyBhbGxvd2Vk
IHRvIHVzZSBsZWdhY3kgc29ja2V0IEFQSS4NCjwvcD4NCjxwPlNoaW0gc3BlY2lmaWMgc29ja2V0
IG9wdGlvbnMgY2FuIGJlIHVzZWQgYnkgZ2V0c29ja29wdCgpDQogICAgICBhbmQvb3Igc2V0Y29r
b3B0KCkgc3lzdGVtIGNhbGxzLCB3aGljaCBhbGxvd3MgYXBwbGljYXRpb24gdG8gZ2V0DQogICAg
ICBpbmZvcm1hdGlvbiBhYm91dCBsb2NhdG9yIG1hbmFnZW1lbnQuICBBZGRpdGlvbmFsbHksIGFw
cGxpY2F0aW9uDQogICAgICBjYW4gc3BlY2lmeSBsb2NhdG9yIGluZm9ybWF0aW9uIGZvciBvdXRn
b2luZyBwYWNrZXQgYW5kIGdldA0KICAgICAgbG9jYXRvciBpbmZvcm1hdGlvbiBmcm9tIGluY29t
aW5nIHBhY2tldCBieSB1c2luZyBhbmNpbGxhcnkNCiAgICAgIGRhdGEuDQo8L3A+DQo8YSBuYW1l
PSJhbmNob3IzNCI+PC9hPjxiciAvPjxociAvPg0KPHRhYmxlIHN1bW1hcnk9ImxheW91dCIgY2Vs
bHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBjbGFzcz0iYnVnIiBhbGlnbj0icmlnaHQiPjx0
cj48dGQgY2xhc3M9ImJ1ZyI+PGEgaHJlZj0iI3RvYyIgY2xhc3M9ImxpbmsyIj4mbmJzcDtUT0Mm
bmJzcDs8L2E+PC90ZD48L3RyPjwvdGFibGU+DQo8YSBuYW1lPSJyZmMuc2VjdGlvbi4xNCI+PC9h
PjxoMz4xNC4mbmJzcDtBY2tub3dsZWRnbWVudHM8L2gzPg0KDQo8cD5UQkQNCjwvcD4NCjxhIG5h
bWU9InJmYy5yZWZlcmVuY2VzIj48L2E+PGJyIC8+PGhyIC8+DQo8dGFibGUgc3VtbWFyeT0ibGF5
b3V0IiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjIiIGNsYXNzPSJidWciIGFsaWduPSJy
aWdodCI+PHRyPjx0ZCBjbGFzcz0iYnVnIj48YSBocmVmPSIjdG9jIiBjbGFzcz0ibGluazIiPiZu
YnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4NCjxhIG5hbWU9InJmYy5zZWN0aW9u
LjE1Ij48L2E+PGgzPjE1LiZuYnNwO1JlZmVyZW5jZXM8L2gzPg0KDQo8YSBuYW1lPSJyZmMucmVm
ZXJlbmNlczEiPjwvYT48YnIgLz48aHIgLz4NCjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxw
YWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIgY2xhc3M9ImJ1ZyIgYWxpZ249InJpZ2h0Ij48dHI+
PHRkIGNsYXNzPSJidWciPjxhIGhyZWY9IiN0b2MiIGNsYXNzPSJsaW5rMiI+Jm5ic3A7VE9DJm5i
c3A7PC9hPjwvdGQ+PC90cj48L3RhYmxlPg0KPGgzPjE1LjEuJm5ic3A7Tm9ybWF0aXZlIFJlZmVy
ZW5jZXM8L2gzPg0KPHRhYmxlIHdpZHRoPSI5OSUiIGJvcmRlcj0iMCI+DQo8dHI+PHRkIGNsYXNz
PSJhdXRob3ItdGV4dCIgdmFsaWduPSJ0b3AiPjxhIG5hbWU9IkktRC5oZW5kZXJzb24taGlwLWFw
cGxpY2F0aW9ucyI+W0ktRC5oZW5kZXJzb24taGlwLWFwcGxpY2F0aW9uc108L2E+PC90ZD4NCjx0
ZCBjbGFzcz0iYXV0aG9yLXRleHQiPkhlbmRlcnNvbiwgVC4gYW5kIFAuIE5pa2FuZGVyLCAmbGRx
dW87PGEgaHJlZj0iaHR0cDovL3d3dy5pZXRmLm9yZy9pbnRlcm5ldC1kcmFmdHMvZHJhZnQtaGVu
ZGVyc29uLWhpcC1hcHBsaWNhdGlvbnMtMDMudHh0Ij5Vc2luZyBISVAgd2l0aCBMZWdhY3kgQXBw
bGljYXRpb25zPC9hPiwmcmRxdW87IGRyYWZ0LWhlbmRlcnNvbi1oaXAtYXBwbGljYXRpb25zLTAz
ICh3b3JrIGluIHByb2dyZXNzKSwgTWF5Jm5ic3A7MjAwNi48L3RkPjwvdHI+DQo8dHI+PHRkIGNs
YXNzPSJhdXRob3ItdGV4dCIgdmFsaWduPSJ0b3AiPjxhIG5hbWU9IkktRC5pZXRmLWhpcC1hcmNo
Ij5bSS1ELmlldGYtaGlwLWFyY2hdPC9hPjwvdGQ+DQo8dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij5N
b3Nrb3dpdHosIFIuIGFuZCBQLiBOaWthbmRlciwgJmxkcXVvOzxhIGhyZWY9Imh0dHA6Ly93d3cu
aWV0Zi5vcmcvaW50ZXJuZXQtZHJhZnRzL2RyYWZ0LWlldGYtaGlwLWFyY2gtMDMudHh0Ij5Ib3N0
IElkZW50aXR5IFByb3RvY29sIEFyY2hpdGVjdHVyZTwvYT4sJnJkcXVvOyBkcmFmdC1pZXRmLWhp
cC1hcmNoLTAzICh3b3JrIGluIHByb2dyZXNzKSwgQXVndXN0Jm5ic3A7MjAwNS48L3RkPjwvdHI+
DQo8dHI+PHRkIGNsYXNzPSJhdXRob3ItdGV4dCIgdmFsaWduPSJ0b3AiPjxhIG5hbWU9IkktRC5p
ZXRmLXNoaW02LWZhaWx1cmUtZGV0ZWN0aW9uIj5bSS1ELmlldGYtc2hpbTYtZmFpbHVyZS1kZXRl
Y3Rpb25dPC9hPjwvdGQ+DQo8dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij5BcmtrbywgSi4gYW5kIEku
IEJlaWpudW0sICZsZHF1bzs8YSBocmVmPSJodHRwOi8vd3d3LmlldGYub3JnL2ludGVybmV0LWRy
YWZ0cy9kcmFmdC1pZXRmLXNoaW02LWZhaWx1cmUtZGV0ZWN0aW9uLTAzLnR4dCI+RmFpbHVyZSBE
ZXRlY3Rpb24gYW5kIExvY2F0b3IgUGFpciBFeHBsb3JhdGlvbg0KCSAgUHJvdG9jb2wgZm9yIElQ
djYgTXVsdGlob21pbmc8L2E+LCZyZHF1bzsgZHJhZnQtaWV0Zi1zaGltNi1mYWlsdXJlLWRldGVj
dGlvbi0wMyAod29yayBpbiBwcm9ncmVzcyksIERlY2VtYmVyJm5ic3A7MjAwNSAoPGEgaHJlZj0i
aHR0cDovL3d3dy5pZXRmLm9yZy9pbnRlcm5ldC1kcmFmdHMvZHJhZnQtaWV0Zi1zaGltNi1mYWls
dXJlLWRldGVjdGlvbi0wMy50eHQiPlRYVDwvYT4sIDxhIGhyZWY9Imh0dHA6Ly93d3cuaWV0Zi5v
cmcvaW50ZXJuZXQtZHJhZnRzL2RyYWZ0LWlldGYtc2hpbTYtZmFpbHVyZS1kZXRlY3Rpb24tMDMu
cGRmIj5QREY8L2E+KS48L3RkPjwvdHI+DQo8dHI+PHRkIGNsYXNzPSJhdXRob3ItdGV4dCIgdmFs
aWduPSJ0b3AiPjxhIG5hbWU9IkktRC5pZXRmLXNoaW02LXByb3RvIj5bSS1ELmlldGYtc2hpbTYt
cHJvdG9dPC9hPjwvdGQ+DQo8dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij5CYWdudWxvLCBNLiBhbmQg
RS4gTm9yZG1hcmssICZsZHF1bzs8YSBocmVmPSJodHRwOi8vd3d3LmlldGYub3JnL2ludGVybmV0
LWRyYWZ0cy9kcmFmdC1pZXRmLXNoaW02LXByb3RvLTAzLnR4dCI+TGV2ZWwgMyBtdWx0aWhvbWlu
ZyBzaGltIHByb3RvY29sPC9hPiwmcmRxdW87IGRyYWZ0LWlldGYtc2hpbTYtcHJvdG8tMDMgKHdv
cmsgaW4gcHJvZ3Jlc3MpLCBEZWNlbWJlciZuYnNwOzIwMDUuPC90ZD48L3RyPg0KPHRyPjx0ZCBj
bGFzcz0iYXV0aG9yLXRleHQiIHZhbGlnbj0idG9wIj48YSBuYW1lPSJQT1NJWCI+W1BPU0lYXTwv
YT48L3RkPg0KPHRkIGNsYXNzPSJhdXRob3ItdGV4dCI+JmxkcXVvOzxhIGhyZWY9Imh0dHA6Ly93
d3cub3Blbmdyb3VwLm9yZy9hdXN0aW4iPklFRUUgU3RkLiAxMDAzLjEtMjAwMSBTdGFuZGFyZCBm
b3IgSW5mb3JtYXRpb24NCgkgIFRlY2hub2xvZ3kgLS0gUG9ydGFibGUgT3BlcmF0aW5nIFN5c3Rl
bSBJbnRlcmZhY2UNCgkgIChQT1NJWCkuIE9wZW4gZ3JvdXAgVGVjaG5pY2FsIFN0YW5kYXJkOiBC
YXNlIFNwZWNpZmljYXRpb25zLA0KCSAgSXNzdWUgNiwgaHR0cDovL3d3dy5vcGVuZ3JvdXAub3Jn
L2F1c3RpbjwvYT4sJnJkcXVvOyBEZWNlbWJlciZuYnNwOzIwMDEuPC90ZD48L3RyPg0KPHRyPjx0
ZCBjbGFzcz0iYXV0aG9yLXRleHQiIHZhbGlnbj0idG9wIj48YSBuYW1lPSJSRkMzNDkzIj5bUkZD
MzQ5M108L2E+PC90ZD4NCjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQiPkdpbGxpZ2FuLCBSLiwgVGhv
bXNvbiwgUy4sIEJvdW5kLCBKLiwgTWNDYW5uLCBKLiwgYW5kIFcuIFN0ZXZlbnMsICZsZHF1bzs8
YSBocmVmPSJmdHA6Ly9mdHAuaXNpLmVkdS9pbi1ub3Rlcy9yZmMzNDkzLnR4dCI+QmFzaWMgU29j
a2V0IEludGVyZmFjZSBFeHRlbnNpb25zIGZvciBJUHY2PC9hPiwmcmRxdW87IFJGQyZuYnNwOzM0
OTMsIEZlYnJ1YXJ5Jm5ic3A7MjAwMy48L3RkPjwvdHI+DQo8dHI+PHRkIGNsYXNzPSJhdXRob3It
dGV4dCIgdmFsaWduPSJ0b3AiPjxhIG5hbWU9IlJGQzM1NDIiPltSRkMzNTQyXTwvYT48L3RkPg0K
PHRkIGNsYXNzPSJhdXRob3ItdGV4dCI+U3RldmVucywgVy4sIFRob21hcywgTS4sIE5vcmRtYXJr
LCBFLiwgYW5kIFQuIEppbm1laSwgJmxkcXVvOzxhIGhyZWY9ImZ0cDovL2Z0cC5pc2kuZWR1L2lu
LW5vdGVzL3JmYzM1NDIudHh0Ij5BZHZhbmNlZCBTb2NrZXRzIEFwcGxpY2F0aW9uIFByb2dyYW0g
SW50ZXJmYWNlIChBUEkpDQoJICBmb3IgSVB2NjwvYT4sJnJkcXVvOyBSRkMmbmJzcDszNTQyLCBN
YXkmbmJzcDsyMDAzLjwvdGQ+PC90cj4NCjwvdGFibGU+DQoNCjxhIG5hbWU9InJmYy5yZWZlcmVu
Y2VzMiI+PC9hPjxiciAvPjxociAvPg0KPHRhYmxlIHN1bW1hcnk9ImxheW91dCIgY2VsbHBhZGRp
bmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBjbGFzcz0iYnVnIiBhbGlnbj0icmlnaHQiPjx0cj48dGQg
Y2xhc3M9ImJ1ZyI+PGEgaHJlZj0iI3RvYyIgY2xhc3M9ImxpbmsyIj4mbmJzcDtUT0MmbmJzcDs8
L2E+PC90ZD48L3RyPjwvdGFibGU+DQo8aDM+MTUuMi4mbmJzcDtJbmZvcm1hdGl2ZSBSZWZlcmVu
Y2VzPC9oMz4NCjx0YWJsZSB3aWR0aD0iOTklIiBib3JkZXI9IjAiPg0KPHRyPjx0ZCBjbGFzcz0i
YXV0aG9yLXRleHQiIHZhbGlnbj0idG9wIj48YSBuYW1lPSJJLUQuaWV0Zi1zaGltNi1hcHAtcmVm
ZXIiPltJLUQuaWV0Zi1zaGltNi1hcHAtcmVmZXJdPC9hPjwvdGQ+DQo8dGQgY2xhc3M9ImF1dGhv
ci10ZXh0Ij5Ob3JkbWFyaywgRS4sICZsZHF1bzs8YSBocmVmPSJodHRwOi8vd3d3LmlldGYub3Jn
L2ludGVybmV0LWRyYWZ0cy9kcmFmdC1pZXRmLXNoaW02LWFwcC1yZWZlci0wMC50eHQiPlNoaW02
IEFwcGxpY2F0aW9uIFJlZmVycmFsIElzc3VlczwvYT4sJnJkcXVvOyBkcmFmdC1pZXRmLXNoaW02
LWFwcC1yZWZlci0wMCAod29yayBpbiBwcm9ncmVzcyksIEp1bHkmbmJzcDsyMDA1LjwvdGQ+PC90
cj4NCjx0cj48dGQgY2xhc3M9ImF1dGhvci10ZXh0IiB2YWxpZ249InRvcCI+PGEgbmFtZT0iSS1E
LmlldGYtc2hpbTYtaGJhIj5bSS1ELmlldGYtc2hpbTYtaGJhXTwvYT48L3RkPg0KPHRkIGNsYXNz
PSJhdXRob3ItdGV4dCI+QmFnbnVsbywgTS4sICZsZHF1bzs8YSBocmVmPSJodHRwOi8vd3d3Lmll
dGYub3JnL2ludGVybmV0LWRyYWZ0cy9kcmFmdC1pZXRmLXNoaW02LWhiYS0wMS50eHQiPkhhc2gg
QmFzZWQgQWRkcmVzc2VzIChIQkEpPC9hPiwmcmRxdW87IGRyYWZ0LWlldGYtc2hpbTYtaGJhLTAx
ICh3b3JrIGluIHByb2dyZXNzKSwgT2N0b2JlciZuYnNwOzIwMDUuPC90ZD48L3RyPg0KPHRyPjx0
ZCBjbGFzcz0iYXV0aG9yLXRleHQiIHZhbGlnbj0idG9wIj48YSBuYW1lPSJJLUQubm9yZG1hcmst
c2hpbTYtZXNkIj5bSS1ELm5vcmRtYXJrLXNoaW02LWVzZF08L2E+PC90ZD4NCjx0ZCBjbGFzcz0i
YXV0aG9yLXRleHQiPk5vcmRtYXJrLCBFLiwgJmxkcXVvOzxhIGhyZWY9Imh0dHA6Ly93d3cuaWV0
Zi5vcmcvaW50ZXJuZXQtZHJhZnRzL2RyYWZ0LW5vcmRtYXJrLXNoaW02LWVzZC0wMC50eHQiPkV4
dGVuZGVkIFNoaW02IERlc2lnbiBmb3IgSUQvbG9jIHNwbGl0IGFuZCBUcmFmZmljDQoJICBFbmdp
bmVlcmluZzwvYT4sJnJkcXVvOyBkcmFmdC1ub3JkbWFyay1zaGltNi1lc2QtMDAgKHdvcmsgaW4g
cHJvZ3Jlc3MpLCBGZWJydWFyeSZuYnNwOzIwMDYuPC90ZD48L3RyPg0KPHRyPjx0ZCBjbGFzcz0i
YXV0aG9yLXRleHQiIHZhbGlnbj0idG9wIj48YSBuYW1lPSJSRkMzOTcyIj5bUkZDMzk3Ml08L2E+
PC90ZD4NCjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQiPkF1cmEsIFQuLCAmbGRxdW87PGEgaHJlZj0i
ZnRwOi8vZnRwLmlzaS5lZHUvaW4tbm90ZXMvcmZjMzk3Mi50eHQiPkNyeXB0b2dyYXBoaWNhbGx5
IEdlbmVyYXRlZCBBZGRyZXNzZXMgKENHQSk8L2E+LCZyZHF1bzsgUkZDJm5ic3A7Mzk3MiwgTWFy
Y2gmbmJzcDsyMDA1LjwvdGQ+PC90cj4NCjwvdGFibGU+DQoNCjxhIG5hbWU9InJmYy5hdXRob3Jz
Ij48L2E+PGJyIC8+PGhyIC8+DQo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGluZz0i
MCIgY2VsbHNwYWNpbmc9IjIiIGNsYXNzPSJidWciIGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFz
cz0iYnVnIj48YSBocmVmPSIjdG9jIiBjbGFzcz0ibGluazIiPiZuYnNwO1RPQyZuYnNwOzwvYT48
L3RkPjwvdHI+PC90YWJsZT4NCjxoMz5BdXRob3JzJyBBZGRyZXNzZXM8L2gzPg0KPHRhYmxlIHdp
ZHRoPSI5OSUiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIj4NCjx0
cj48dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij4mbmJzcDs8L3RkPg0KPHRkIGNsYXNzPSJhdXRob3It
dGV4dCI+TWlpa2EgS29tdTwvdGQ+PC90cj4NCjx0cj48dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij4m
bmJzcDs8L3RkPg0KPHRkIGNsYXNzPSJhdXRob3ItdGV4dCI+SGVsc2lua2kgSW5zdGl0dWUgZm9y
IEluZm9ybWF0aW9uDQogICAgICBUZWNobm9sb2d5PC90ZD48L3RyPg0KPHRyPjx0ZCBjbGFzcz0i
YXV0aG9yLXRleHQiPiZuYnNwOzwvdGQ+DQo8dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij5UYW1tYXNh
YXJlbmthdHUgMzwvdGQ+PC90cj4NCjx0cj48dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij4mbmJzcDs8
L3RkPg0KPHRkIGNsYXNzPSJhdXRob3ItdGV4dCI+SGVsc2lua2k8L3RkPjwvdHI+DQo8dHI+PHRk
IGNsYXNzPSJhdXRob3ItdGV4dCI+Jm5ic3A7PC90ZD4NCjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQi
PkZpbmxhbmQ8L3RkPjwvdHI+DQo8dHI+PHRkIGNsYXNzPSJhdXRob3IiIGFsaWduPSJyaWdodCI+
UGhvbmU6Jm5ic3A7PC90ZD4NCjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQiPiszNTg1MDM4NDE1MzE8
L3RkPjwvdHI+DQo8dHI+PHRkIGNsYXNzPSJhdXRob3IiIGFsaWduPSJyaWdodCI+RmF4OiZuYnNw
OzwvdGQ+DQo8dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij4rMzU4OTY5NDk3Njg8L3RkPjwvdHI+DQo8
dHI+PHRkIGNsYXNzPSJhdXRob3IiIGFsaWduPSJyaWdodCI+RW1haWw6Jm5ic3A7PC90ZD4NCjx0
ZCBjbGFzcz0iYXV0aG9yLXRleHQiPjxhIGhyZWY9Im1haWx0bzptaWlrYUBpa2kuZmkiPm1paWth
QGlraS5maTwvYT48L3RkPjwvdHI+DQo8dHI+PHRkIGNsYXNzPSJhdXRob3IiIGFsaWduPSJyaWdo
dCI+VVJJOiZuYnNwOzwvdGQ+DQo8dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij48YSBocmVmPSJodHRw
Oi8vd3d3LmhpaXQuZmkvIj5odHRwOi8vd3d3LmhpaXQuZmkvPC9hPjwvdGQ+PC90cj4NCjx0ciBj
ZWxscGFkZGluZz0iMyI+PHRkPiZuYnNwOzwvdGQ+PHRkPiZuYnNwOzwvdGQ+PC90cj4NCjx0cj48
dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij4mbmJzcDs8L3RkPg0KPHRkIGNsYXNzPSJhdXRob3ItdGV4
dCI+TWFyY2VsbyBCYWdudWxvPC90ZD48L3RyPg0KPHRyPjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQi
PiZuYnNwOzwvdGQ+DQo8dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij5Vbml2ZXJzaWRhZCBDYXJsb3Mg
SUlJIGRlDQogICAgICBNYWRyaWQ8L3RkPjwvdHI+DQo8dHI+PHRkIGNsYXNzPSJhdXRob3ItdGV4
dCI+Jm5ic3A7PC90ZD4NCjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQiPkF2LiBVbml2ZXJzaWRhZCAz
MDwvdGQ+PC90cj4NCjx0cj48dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij4mbmJzcDs8L3RkPg0KPHRk
IGNsYXNzPSJhdXRob3ItdGV4dCI+TGVnYW5lcyAgMjg5MTE8L3RkPjwvdHI+DQo8dHI+PHRkIGNs
YXNzPSJhdXRob3ItdGV4dCI+Jm5ic3A7PC90ZD4NCjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQiPlNQ
QUlOPC90ZD48L3RyPg0KPHRyPjx0ZCBjbGFzcz0iYXV0aG9yIiBhbGlnbj0icmlnaHQiPlBob25l
OiZuYnNwOzwvdGQ+DQo8dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij4rMzQgOTEgNjI0ODgzNzwvdGQ+
PC90cj4NCjx0cj48dGQgY2xhc3M9ImF1dGhvciIgYWxpZ249InJpZ2h0Ij5FbWFpbDombmJzcDs8
L3RkPg0KPHRkIGNsYXNzPSJhdXRob3ItdGV4dCI+PGEgaHJlZj0ibWFpbHRvOm1hcmNlbG9AaXQu
dWMzbS5lcyI+bWFyY2Vsb0BpdC51YzNtLmVzPC9hPjwvdGQ+PC90cj4NCjx0cj48dGQgY2xhc3M9
ImF1dGhvciIgYWxpZ249InJpZ2h0Ij5VUkk6Jm5ic3A7PC90ZD4NCjx0ZCBjbGFzcz0iYXV0aG9y
LXRleHQiPjxhIGhyZWY9Imh0dHA6Ly9pdC51YzNtLmVzL21hcmNlbG8iPmh0dHA6Ly9pdC51YzNt
LmVzL21hcmNlbG88L2E+PC90ZD48L3RyPg0KPHRyIGNlbGxwYWRkaW5nPSIzIj48dGQ+Jm5ic3A7
PC90ZD48dGQ+Jm5ic3A7PC90ZD48L3RyPg0KPHRyPjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQiPiZu
YnNwOzwvdGQ+DQo8dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij5LcmlzdGlhbiBTbGF2b3Y8L3RkPjwv
dHI+DQo8dHI+PHRkIGNsYXNzPSJhdXRob3ItdGV4dCI+Jm5ic3A7PC90ZD4NCjx0ZCBjbGFzcz0i
YXV0aG9yLXRleHQiPkVyaWNzc29uIFJlc2VhcmNoDQogICAgICBOb21hZGljbGFiPC90ZD48L3Ry
Pg0KPHRyPjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQiPiZuYnNwOzwvdGQ+DQo8dGQgY2xhc3M9ImF1
dGhvci10ZXh0Ij5IaXJzYWxhbnRpZSAxMTwvdGQ+PC90cj4NCjx0cj48dGQgY2xhc3M9ImF1dGhv
ci10ZXh0Ij4mbmJzcDs8L3RkPg0KPHRkIGNsYXNzPSJhdXRob3ItdGV4dCI+Sm9ydmFzICBGSS0w
MjQyMDwvdGQ+PC90cj4NCjx0cj48dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij4mbmJzcDs8L3RkPg0K
PHRkIGNsYXNzPSJhdXRob3ItdGV4dCI+RmlubGFuZDwvdGQ+PC90cj4NCjx0cj48dGQgY2xhc3M9
ImF1dGhvciIgYWxpZ249InJpZ2h0Ij5QaG9uZTombmJzcDs8L3RkPg0KPHRkIGNsYXNzPSJhdXRo
b3ItdGV4dCI+KzM1OCA5IDI5OSAzMjg2PC90ZD48L3RyPg0KPHRyPjx0ZCBjbGFzcz0iYXV0aG9y
IiBhbGlnbj0icmlnaHQiPkVtYWlsOiZuYnNwOzwvdGQ+DQo8dGQgY2xhc3M9ImF1dGhvci10ZXh0
Ij48YSBocmVmPSJtYWlsdG86a3Jpc3RpYW4uc2xhdm92QGVyaWNzc29uLmNvbSI+a3Jpc3RpYW4u
c2xhdm92QGVyaWNzc29uLmNvbTwvYT48L3RkPjwvdHI+DQo8dHIgY2VsbHBhZGRpbmc9IjMiPjx0
ZD4mbmJzcDs8L3RkPjx0ZD4mbmJzcDs8L3RkPjwvdHI+DQo8dHI+PHRkIGNsYXNzPSJhdXRob3It
dGV4dCI+Jm5ic3A7PC90ZD4NCjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQiPlNoaW50YSBTdWdpbW90
byAoZWRpdG9yKTwvdGQ+PC90cj4NCjx0cj48dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij4mbmJzcDs8
L3RkPg0KPHRkIGNsYXNzPSJhdXRob3ItdGV4dCI+TmlwcG9uIEVyaWNzc29uIEsuSy48L3RkPjwv
dHI+DQo8dHI+PHRkIGNsYXNzPSJhdXRob3ItdGV4dCI+Jm5ic3A7PC90ZD4NCjx0ZCBjbGFzcz0i
YXV0aG9yLXRleHQiPktvcmFrdSBNb3JpIEJ1aWxkaW5nPC90ZD48L3RyPg0KPHRyPjx0ZCBjbGFz
cz0iYXV0aG9yLXRleHQiPiZuYnNwOzwvdGQ+DQo8dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij4xLTQt
MTQsIEtvcmFrdSwgQnVua3lvLWt1PC90ZD48L3RyPg0KPHRyPjx0ZCBjbGFzcz0iYXV0aG9yLXRl
eHQiPiZuYnNwOzwvdGQ+DQo8dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij5Ub2t5byAgMTEyLTAwMDQ8
L3RkPjwvdHI+DQo8dHI+PHRkIGNsYXNzPSJhdXRob3ItdGV4dCI+Jm5ic3A7PC90ZD4NCjx0ZCBj
bGFzcz0iYXV0aG9yLXRleHQiPkphcGFuPC90ZD48L3RyPg0KPHRyPjx0ZCBjbGFzcz0iYXV0aG9y
IiBhbGlnbj0icmlnaHQiPlBob25lOiZuYnNwOzwvdGQ+DQo8dGQgY2xhc3M9ImF1dGhvci10ZXh0
Ij4rODEgMyAzODMwIDIyNDE8L3RkPjwvdHI+DQo8dHI+PHRkIGNsYXNzPSJhdXRob3IiIGFsaWdu
PSJyaWdodCI+RW1haWw6Jm5ic3A7PC90ZD4NCjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQiPjxhIGhy
ZWY9Im1haWx0bzpzaGludGEuc3VnaW1vdG9AZXJpY3Nzb24uY29tIj5zaGludGEuc3VnaW1vdG9A
ZXJpY3Nzb24uY29tPC9hPjwvdGQ+PC90cj4NCjwvdGFibGU+DQo8YSBuYW1lPSJyZmMuY29weXJp
Z2h0Ij48L2E+PGJyIC8+PGhyIC8+DQo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGlu
Zz0iMCIgY2VsbHNwYWNpbmc9IjIiIGNsYXNzPSJidWciIGFsaWduPSJyaWdodCI+PHRyPjx0ZCBj
bGFzcz0iYnVnIj48YSBocmVmPSIjdG9jIiBjbGFzcz0ibGluazIiPiZuYnNwO1RPQyZuYnNwOzwv
YT48L3RkPjwvdHI+PC90YWJsZT4NCjxoMz5JbnRlbGxlY3R1YWwgUHJvcGVydHkgU3RhdGVtZW50
PC9oMz4NCjxwIGNsYXNzPSdjb3B5cmlnaHQnPg0KVGhlIElFVEYgdGFrZXMgbm8gcG9zaXRpb24g
cmVnYXJkaW5nIHRoZSB2YWxpZGl0eSBvciBzY29wZSBvZiBhbnkNCkludGVsbGVjdHVhbCBQcm9w
ZXJ0eSBSaWdodHMgb3Igb3RoZXIgcmlnaHRzIHRoYXQgbWlnaHQgYmUgY2xhaW1lZA0KdG8gcGVy
dGFpbiB0byB0aGUgaW1wbGVtZW50YXRpb24gb3IgdXNlIG9mIHRoZSB0ZWNobm9sb2d5DQpkZXNj
cmliZWQgaW4gdGhpcyBkb2N1bWVudCBvciB0aGUgZXh0ZW50IHRvIHdoaWNoIGFueSBsaWNlbnNl
DQp1bmRlciBzdWNoIHJpZ2h0cyBtaWdodCBvciBtaWdodCBub3QgYmUgYXZhaWxhYmxlOyBub3Ig
ZG9lcyBpdA0KcmVwcmVzZW50IHRoYXQgaXQgaGFzIG1hZGUgYW55IGluZGVwZW5kZW50IGVmZm9y
dCB0byBpZGVudGlmeSBhbnkNCnN1Y2ggcmlnaHRzLg0KSW5mb3JtYXRpb24gb24gdGhlIHByb2Nl
ZHVyZXMgd2l0aCByZXNwZWN0IHRvDQpyaWdodHMgaW4gUkZDIGRvY3VtZW50cyBjYW4gYmUgZm91
bmQgaW4gQkNQJm5ic3A7NzggYW5kIEJDUCZuYnNwOzc5LjwvcD4NCjxwIGNsYXNzPSdjb3B5cmln
aHQnPg0KQ29waWVzIG9mIElQUiBkaXNjbG9zdXJlcyBtYWRlIHRvIHRoZSBJRVRGIFNlY3JldGFy
aWF0IGFuZCBhbnkNCmFzc3VyYW5jZXMgb2YgbGljZW5zZXMgdG8gYmUgbWFkZSBhdmFpbGFibGUs
DQpvciB0aGUgcmVzdWx0IG9mIGFuIGF0dGVtcHQgbWFkZSB0byBvYnRhaW4gYSBnZW5lcmFsIGxp
Y2Vuc2Ugb3INCnBlcm1pc3Npb24gZm9yIHRoZSB1c2Ugb2Ygc3VjaCBwcm9wcmlldGFyeSByaWdo
dHMgYnkgaW1wbGVtZW50ZXJzIG9yDQp1c2VycyBvZiB0aGlzIHNwZWNpZmljYXRpb24gY2FuIGJl
IG9idGFpbmVkIGZyb20gdGhlIElFVEYgb24tbGluZSBJUFINCnJlcG9zaXRvcnkgYXQgPGEgaHJl
Zj0naHR0cDovL3d3dy5pZXRmLm9yZy9pcHInPmh0dHA6Ly93d3cuaWV0Zi5vcmcvaXByPC9hPi48
L3A+DQo8cCBjbGFzcz0nY29weXJpZ2h0Jz4NClRoZSBJRVRGIGludml0ZXMgYW55IGludGVyZXN0
ZWQgcGFydHkgdG8gYnJpbmcgdG8gaXRzIGF0dGVudGlvbg0KYW55IGNvcHlyaWdodHMsDQpwYXRl
bnRzIG9yIHBhdGVudCBhcHBsaWNhdGlvbnMsDQpvciBvdGhlcg0KcHJvcHJpZXRhcnkgcmlnaHRz
IHRoYXQgbWF5IGNvdmVyIHRlY2hub2xvZ3kgdGhhdCBtYXkgYmUgcmVxdWlyZWQNCnRvIGltcGxl
bWVudCB0aGlzIHN0YW5kYXJkLg0KUGxlYXNlIGFkZHJlc3MgdGhlIGluZm9ybWF0aW9uIHRvIHRo
ZSBJRVRGIGF0IDxhIGhyZWY9J21haWx0bzppZXRmLWlwckBpZXRmLm9yZyc+aWV0Zi1pcHJAaWV0
Zi5vcmc8L2E+LjwvcD4NCjxoMz5EaXNjbGFpbWVyIG9mIFZhbGlkaXR5PC9oMz4NCjxwIGNsYXNz
PSdjb3B5cmlnaHQnPg0KVGhpcyBkb2N1bWVudCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5l
ZCBoZXJlaW4gYXJlIHByb3ZpZGVkDQpvbiBhbiAmbGRxdW87QVMgSVMmcmRxdW87IGJhc2lzIGFu
ZCBUSEUgQ09OVFJJQlVUT1IsDQpUSEUgT1JHQU5JWkFUSU9OIEhFL1NIRSBSRVBSRVNFTlRTIE9S
IElTIFNQT05TT1JFRCBCWSAoSUYgQU5ZKSwNClRIRSBJTlRFUk5FVCBTT0NJRVRZIEFORCBUSEUg
SU5URVJORVQgRU5HSU5FRVJJTkcgVEFTSyBGT1JDRSBESVNDTEFJTQ0KQUxMIFdBUlJBTlRJRVMs
DQpFWFBSRVNTIE9SIElNUExJRUQsDQpJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIEFOWSBX
QVJSQU5UWSBUSEFUIFRIRSBVU0UgT0YgVEhFDQpJTkZPUk1BVElPTiBIRVJFSU4gV0lMTCBOT1Qg
SU5GUklOR0UgQU5ZIFJJR0hUUyBPUiBBTlkgSU1QTElFRA0KV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgT1IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuPC9wPg0KPGgzPkNv
cHlyaWdodCBTdGF0ZW1lbnQ8L2gzPg0KPHAgY2xhc3M9J2NvcHlyaWdodCc+DQpDb3B5cmlnaHQg
JmNvcHk7IFRoZSBJbnRlcm5ldCBTb2NpZXR5ICgyMDA2KS4NClRoaXMgZG9jdW1lbnQgaXMgc3Vi
amVjdCB0byB0aGUgcmlnaHRzLA0KbGljZW5zZXMgYW5kIHJlc3RyaWN0aW9ucyBjb250YWluZWQg
aW4gQkNQJm5ic3A7NzgsDQphbmQgZXhjZXB0IGFzIHNldCBmb3J0aCB0aGVyZWluLA0KdGhlIGF1
dGhvcnMgcmV0YWluIGFsbCB0aGVpciByaWdodHMuPC9wPg0KPGgzPkFja25vd2xlZGdtZW50PC9o
Mz4NCjxwIGNsYXNzPSdjb3B5cmlnaHQnPg0KRnVuZGluZyBmb3IgdGhlIFJGQyBFZGl0b3IgZnVu
Y3Rpb24gaXMgY3VycmVudGx5IHByb3ZpZGVkIGJ5IHRoZQ0KSW50ZXJuZXQgU29jaWV0eS48L3A+
DQo8L2JvZHk+PC9odG1sPg0K
--------_448E5958A51705AF7058_MULTIPART_MIXED_
Content-Type: application/octet-stream;
	name="draft-sugimoto-multihome-shim-api-00.txt"
Content-Disposition: attachment;
	filename="draft-sugimoto-multihome-shim-api-00.txt"
Content-Transfer-Encoding: base64

DQoNCg0KTmV0d29yayBXb3JraW5nIEdyb3VwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBNLiBLb211DQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhJSVQNCkV4cGlyZXM6IEF1Z3VzdCA1
LCAyMDA2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTS4gQmFnbnVsbw0K
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBVQzNNDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBLLiBTbGF2b3YNCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUy4gU3VnaW1vdG8sIEVkLg0KICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IEVyaWNzc29uDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDYNCg0KDQogICAgIFNvY2tldCBBcHBsaWNhdGlvbiBQ
cm9ncmFtIEludGVyZmFjZSAoQVBJKSBmb3IgTXVsdGlob21lZCBTaGltDQogICAgICAgICAgICAg
ICAgICBkcmFmdC1zdWdpbW90by1tdWx0aWhvbWUtc2hpbS1hcGktMDANCg0KU3RhdHVzIG9mIHRo
aXMgTWVtbw0KDQogICBCeSBzdWJtaXR0aW5nIHRoaXMgSW50ZXJuZXQtRHJhZnQsIGVhY2ggYXV0
aG9yIHJlcHJlc2VudHMgdGhhdCBhbnkNCiAgIGFwcGxpY2FibGUgcGF0ZW50IG9yIG90aGVyIElQ
UiBjbGFpbXMgb2Ygd2hpY2ggaGUgb3Igc2hlIGlzIGF3YXJlDQogICBoYXZlIGJlZW4gb3Igd2ls
bCBiZSBkaXNjbG9zZWQsIGFuZCBhbnkgb2Ygd2hpY2ggaGUgb3Igc2hlIGJlY29tZXMNCiAgIGF3
YXJlIHdpbGwgYmUgZGlzY2xvc2VkLCBpbiBhY2NvcmRhbmNlIHdpdGggU2VjdGlvbiA2IG9mIEJD
UCA3OS4NCg0KICAgSW50ZXJuZXQtRHJhZnRzIGFyZSB3b3JraW5nIGRvY3VtZW50cyBvZiB0aGUg
SW50ZXJuZXQgRW5naW5lZXJpbmcNCiAgIFRhc2sgRm9yY2UgKElFVEYpLCBpdHMgYXJlYXMsIGFu
ZCBpdHMgd29ya2luZyBncm91cHMuICBOb3RlIHRoYXQNCiAgIG90aGVyIGdyb3VwcyBtYXkgYWxz
byBkaXN0cmlidXRlIHdvcmtpbmcgZG9jdW1lbnRzIGFzIEludGVybmV0LQ0KICAgRHJhZnRzLg0K
DQogICBJbnRlcm5ldC1EcmFmdHMgYXJlIGRyYWZ0IGRvY3VtZW50cyB2YWxpZCBmb3IgYSBtYXhp
bXVtIG9mIHNpeCBtb250aHMNCiAgIGFuZCBtYXkgYmUgdXBkYXRlZCwgcmVwbGFjZWQsIG9yIG9i
c29sZXRlZCBieSBvdGhlciBkb2N1bWVudHMgYXQgYW55DQogICB0aW1lLiAgSXQgaXMgaW5hcHBy
b3ByaWF0ZSB0byB1c2UgSW50ZXJuZXQtRHJhZnRzIGFzIHJlZmVyZW5jZQ0KICAgbWF0ZXJpYWwg
b3IgdG8gY2l0ZSB0aGVtIG90aGVyIHRoYW4gYXMgIndvcmsgaW4gcHJvZ3Jlc3MuIg0KDQogICBU
aGUgbGlzdCBvZiBjdXJyZW50IEludGVybmV0LURyYWZ0cyBjYW4gYmUgYWNjZXNzZWQgYXQNCiAg
IGh0dHA6Ly93d3cuaWV0Zi5vcmcvaWV0Zi8xaWQtYWJzdHJhY3RzLnR4dC4NCg0KICAgVGhlIGxp
c3Qgb2YgSW50ZXJuZXQtRHJhZnQgU2hhZG93IERpcmVjdG9yaWVzIGNhbiBiZSBhY2Nlc3NlZCBh
dA0KICAgaHR0cDovL3d3dy5pZXRmLm9yZy9zaGFkb3cuaHRtbC4NCg0KICAgVGhpcyBJbnRlcm5l
dC1EcmFmdCB3aWxsIGV4cGlyZSBvbiBBdWd1c3QgNSwgMjAwNi4NCg0KQ29weXJpZ2h0IE5vdGlj
ZQ0KDQogICBDb3B5cmlnaHQgKEMpIFRoZSBJbnRlcm5ldCBTb2NpZXR5ICgyMDA2KS4NCg0KQWJz
dHJhY3QNCg0KICAgVGhpcyBkb2N1bWVudCBzcGVjaWZpZXMgYSBzb2NrZXQgQVBJIGZvciBtdWx0
aWhvbWVkIHNoaW0gbGF5ZXIuICBUaGUNCiAgIEFQSSBhaW1zIHRvIGVuYWJsZSBpbnRlcmFjdGlv
bnMgYmV0d2VlbiBhcHBsaWNhdGlvbiBhbmQgdGhlDQogICBtdWx0aWhvbWluZyBzaGltIGxheWVy
IGZvciBhZHZhbmNlZCBsb2NhdG9yIG1hbmFnZW1lbnQgYW5kIGludGVyZmFjZQ0KICAgdG8gYWNj
ZXNzIGluZm9ybWF0aW9uIGFib3V0IGZhaWx1cmUgZGV0ZWN0aW9uIGFuZCBwYXRoIGV4cGxvcmF0
aW9uLg0KDQoNCg0KS29tdSwgZXQgYWwuICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDUsIDIw
MDYgICAgICAgICAgICAgICAgIFtQYWdlIDFdDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAg
ICBNdWx0aWhvbWVkIFNoaW0gQVBJICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDYNCg0KDQogICBU
aGlzIGRvY3VtZW50IGlzIGJhc2VkIG9uIGFuIGFzc3VtcHRpb24gdGhhdCBhIG11bHRob21lZCBo
b3N0IGlzDQogICBlcXVpcHBlZCB3aXRoIGEgJ3NoaW0nIHdoaWNoIGVzc2VudGlhbGx5IG1haW50
YWlucyBtYXBwaW5nIG9mDQogICBpZGVudGlmaWVyIGFuZCBsb2NhdG9yIGF0IHRoZSBJUCBsYXll
ci4gIFNISU02IGFuZCBISVAgYXJlIGV4YW1wbGVzDQogICBvZiB0aGUgc2hpbS4gIEhlbmNlLCB0
aGUgQVBJIGNhbiBiZSBjb21tb25seSB1c2VkIGJ5IFNISU02IGFuZCBISVAuDQoNCg0KVGFibGUg
b2YgQ29udGVudHMNCg0KICAgMS4gIEludHJvZHVjdGlvbiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICA0DQogICAyLiAgVGFyZ2V0IC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDUNCiAgIDMuICBU
ZXJtaW5vbG9neSAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAgNg0KICAgNC4gIFN5c3RlbSBPdmVydmlldyAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuICA4DQogICA1LiAgUmVxdWlyZW1lbnRzIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDkNCiAgIDYuICBTb2NrZXQg
T3B0aW9ucyBmb3IgTXVsdGlob21lZCBTaGltIExheWVyIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAx
MQ0KICAgICA2LjEuICBTSElNX0FTU09DSUFURUQgIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIDE0DQogICAgIDYuMi4gIFNISU1fRE9OVFNISU0gIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gMTUNCiAgICAgNi4zLiAgU0hJTV9IT1Rf
U1RBTkRCWSAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAxNQ0KICAg
ICA2LjQuICBTSElNX1BBVEhFWFBMT1JFIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIDE1DQogICAgIDYuNS4gIFNISU1fTE9DX0xPQ0FMX1BSRUYgIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gMTYNCiAgICAgNi42LiAgU0hJTV9MT0NfUEVFUl9Q
UkVGIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAxNg0KICAgICA2Ljcu
ICBTSElNX0xPQ19MT0NBTF9SRUNWICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIDE2DQogICAgIDYuOC4gIFNISU1fTE9DX1BFRVJfUkVDViAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gMTcNCiAgICAgNi45LiAgU0hJTV9MT0NMSVNUX0xPQ0FMIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAxNw0KICAgICA2LjEwLiBTSElN
X0xPQ0xJU1RfUkVNT1RFICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIDE3
DQogICAgIDYuMTEuIFNISU1fVElNRVJfS0VFUEFMSVZFIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gMTgNCiAgICAgNi4xMi4gU0hJTV9GRUVEQkFDS19QT1NJVElWRSAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAxOA0KICAgICA2LjEzLiBTSElNX0ZFRURC
QUNLX05FR0FUSVZFIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIDE4DQogICAg
IDYuMTQuIFNISU1fSUZfUkVDViAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gMTkNCiAgICAgNi4xNS4gU0hJTV9JRl9TRU5EIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAxOQ0KICAgICA2LjE2LiBFcnJvciBIYW5kbGluZyAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIDE5DQogICA3LiAgQWNj
ZXNzIHRvIExvY2F0b3IgSW5mb3JtYXRpb24gIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gMjENCiAgICAgNy4xLiAgR2V0IExvY2F0b3IgSW5mb3JtYXRpb24gZnJvbSBJbmNvbWluZyBQ
YWNrZXQgLiAuIC4gLiAuIC4gLiAyMg0KICAgICA3LjIuICBTcGVjaWZ5IExvY2F0b3IgSW5mb3Jt
YXRpb24gZm9yIE91dGdvaW5nIFBhY2tldCAgLiAuIC4gLiAuIDIyDQogICA4LiAgRGF0YSBTdHJ1
Y3R1cmVzICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gMjQN
CiAgICAgOC4xLiAgUGxhY2Vob2xkZXIgZm9yIExvY2F0b3IgSW5mb3JtYXRpb24gIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAyNA0KICAgICAgIDguMS4xLiAgYWRkcmluZm8gc3RydWN0dXJlIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIDI0DQogICAgICAgOC4xLjIuICBzb2NrYWRk
cl9zdG9yYWdlIHN0cnVjdHVyZSAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gMjQNCiAgIDku
ICBJbXBsaWNhdGlvbnMgZm9yIEV4aXN0aW5nIFNvY2tldCBBUEkgRXh0ZW5zaW9ucyAgLiAuIC4g
LiAuIC4gLiAyNg0KICAgMTAuIERpc2N1c3Npb24gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIDI3DQogICAgIDEwLjEuIElzc3VlcyB3aXRoIGEgQ29u
dGV4dCBTaGFyZWQgYnkgQXBwbGljYXRpb25zIC4gLiAuIC4gLiAuIC4gMjcNCiAgICAgMTAuMi4g
SXNzdWVzIG9mIEhhbmRsaW5nIE11bHRpcGxlIExvY2F0b3JzIHdpdGggU2hpbSBVbmF3YXJlDQog
ICAgICAgICAgIEFwcGxpY2F0aW9ucyAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gMjcNCiAgICAgICAxMC4yLjEuIFNoaW0gVW5hd2FyZSBBcHBsaWNhdGlvbiBN
YWtpbmcgSW5pdGlhbCBDb250YWN0ICAuIC4gLiAyNw0KICAgICAgIDEwLjIuMi4gTmFtaW5nIGF0
IFNvY2tldCBMYXllciAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIDI5DQogICAgIDEw
LjMuIElzc3VlcyBvZiBIYW5kbGluZyBNdWx0aXBsZSBMb2NhdG9ycyB3aXRoIFNoaW0gQXdhcmUN
CiAgICAgICAgICAgQXBwbGljYXRpb25zIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAyOQ0KICAgICAxMC40LiBBZGRpdGlvbmFsIFJlcXVpcmVtZW50cyBmcm9t
IEFwcGxpY2F0aW9uIC4gLiAuIC4gLiAuIC4gLiAuIDI5DQogICAxMS4gSUFOQSBDb25zaWRlcmF0
aW9ucyAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gMzANCg0KDQoN
CktvbXUsIGV0IGFsLiAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCA1LCAyMDA2ICAgICAgICAg
ICAgICAgICBbUGFnZSAyXQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgTXVsdGlob21l
ZCBTaGltIEFQSSAgICAgICAgICAgICBGZWJydWFyeSAyMDA2DQoNCg0KICAgMTIuIFNlY3VyaXR5
IENvbnNpZGVyYXRpb25zICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIDMx
DQogICAxMy4gQ29uY2x1c2lvbiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gMzINCiAgIDE0LiBBY2tub3dsZWRnbWVudHMgIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAzMw0KICAgMTUuIFJlZmVyZW5jZXMgLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIDM0DQogICAg
IDE1LjEuIE5vcm1hdGl2ZSBSZWZlcmVuY2VzIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gMzQNCiAgICAgMTUuMi4gSW5mb3JtYXRpdmUgUmVmZXJlbmNlcyAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAzNA0KICAgQXV0aG9ycycgQWRkcmVzc2VzIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIDM2DQogICBJbnRlbGxl
Y3R1YWwgUHJvcGVydHkgYW5kIENvcHlyaWdodCBTdGF0ZW1lbnRzIC4gLiAuIC4gLiAuIC4gLiAu
IC4gMzcNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0K
DQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KS29tdSwgZXQgYWwuICAgICAgICAg
ICAgIEV4cGlyZXMgQXVndXN0IDUsIDIwMDYgICAgICAgICAgICAgICAgIFtQYWdlIDNdDQoMDQpJ
bnRlcm5ldC1EcmFmdCAgICAgICAgICAgICBNdWx0aWhvbWVkIFNoaW0gQVBJICAgICAgICAgICAg
IEZlYnJ1YXJ5IDIwMDYNCg0KDQoxLiAgSW50cm9kdWN0aW9uDQoNCiAgIFRoaXMgZG9jdW1lbnQg
c3BlY2lmaWVzIGEgc29ja2V0IEFQSSBmb3IgbXVsdGlob21lZCBzaGltIGxheWVyLiAgVGhlDQog
ICBBUEkgYWltcyB0byBlbmFibGUgaW50ZXJhY3Rpb25zIGJldHdlZW4gYXBwbGljYXRpb24gYW5k
IHRoZQ0KICAgbXVsdGlob21pbmcgc2hpbSBsYXllciBmb3IgYWR2YW5jZWQgbG9jYXRvciBtYW5h
Z2VtZW50IGFuZCBpbnRlcmZhY2UNCiAgIHRvIGFjY2VzcyBpbmZvcm1hdGlvbiBhYm91dCBmYWls
dXJlIGRldGVjdGlvbiBhbmQgcGF0aCBleHBsb3JhdGlvbi4NCg0KICAgVGhpcyBkb2N1bWVudCBp
cyBiYXNlZCBvbiBhbiBhc3N1bXB0aW9uIHRoYXQgYSBtdWx0aG9tZWQgaG9zdCBpcw0KICAgZXF1
aXBwZWQgd2l0aCBhICdzaGltJyB3aGljaCBlc3NlbnRpYWxseSBtYWludGFpbnMgbWFwcGluZyBv
Zg0KICAgaWRlbnRpZmllciBhbmQgbG9jYXRvciBhdCB0aGUgSVAgbGF5ZXIuICBTSElNNiBhbmQg
SElQIGFyZSBleGFtcGxlcw0KICAgb2YgdGhlIHNoaW0uICBIZW5jZSwgdGhlIEFQSSBjYW4gYmUg
Y29tbW9ubHkgdXNlZCBieSBTSElNNiBhbmQgSElQLg0KDQogICBXZSBzdWdnZXN0IHRoYXQgdGhl
IElEL0xvY2F0b3IgYWRhcHRhdGlvbiBpcyBkb25lIG9ubHkgb25jZSBpbnNpZGUNCiAgIHRoZSBu
ZXR3b3JrIHN0YWNrLiAgSW4gb3RoZXIgd29yZHMsIGlmIHRoZXJlIGV4aXN0IG11bHRpcGxlIHNo
aW0NCiAgIHByb3RvY29scyBhdCB0aGUgSVAgbGF5ZXIsIGFueSBvbmUgb2YgdGhlbSBzaG91bGQg
YmUgZXhjbHVzaXZlbHkNCiAgIGFwcGxpZWQgZm9yIGEgZ2l2ZW4gZmxvdy4NCg0KICAgV2UgdHJ5
IHRvIG1ha2UgdGhpcyBkb2N1bWVudCBiZSBpbiBsaW5lIHdpdGggUG9zaXguMWcgW1BPU0lYXSBh
cyBtdWNoDQogICBhcyBwb3NzaWJsZS4gIEFuZCB0aGUgQVBJIGRlZmluZXMgaG93IHRvIHVzZSBh
bmNpbGxhcnkgZGF0YSAoYWthDQogICBjbXNnKSB0byBhY2Nlc3MgbG9jYXRvciBpbmZvcm1hdGlv
biB3aXRoIHJlY3Ztc2coKSBhbmQvb3Igc2VuZG1zZygpDQogICBJL08gY2FsbHMuICBEZWZpbml0
aW9uIG9mIEFQSSBpcyBwcmVzZW50ZWQgaW4gQyBsYW5ndWFnZSBhbmQgZGF0YQ0KICAgdHlwZXMg
Zm9sbG93IFBvc2l4LjFnIGZvcm1hdDogaW50Tl90IG1lYW5zIGEgc2luZ2VkIGludGVnZXIgb2YN
CiAgIGV4YWN0bHkgTiBiaXRzIChlLmcuIGludDE2X3QpIGFuZCB1aW50Tl90IG1lYW5zIGFuIHVu
c2lnbmVkIGludGVnZXINCiAgIG9mIGV4YWN0bHkgTiBiaXRzIChlLmcuIHVpbnQzMl90KS4NCg0K
DQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCktvbXUs
IGV0IGFsLiAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCA1LCAyMDA2ICAgICAgICAgICAgICAg
ICBbUGFnZSA0XQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgTXVsdGlob21lZCBTaGlt
IEFQSSAgICAgICAgICAgICBGZWJydWFyeSAyMDA2DQoNCg0KMi4gIFRhcmdldA0KDQogICBQcmlt
YXJ5IHRhcmdldCByZWFkZXIgb2YgdGhpcyBkb2N1bWVudCBpcyBhcHBsaWNhdGlvbiBwcm9ncmFt
bWVyIHdobw0KICAgZGV2ZWxvcHMgYXBwbGljYXRpb24gc29mdHdhcmUgd2hpY2ggbWF5IHJ1biBv
biB0b3Agb2YgbXVsdGlob21lZA0KICAgZW52aXJvbm1lbnQuICBJbiBwYXJ0aWN1bGFyLCB0aGUg
QVBJIHNob3VsZCBiZSBiZW5lZmljaWFsIGZvcg0KICAgYXBwbGljYXRpb24gZGV2ZWxvcG1lbnQg
b2YgdGhlIHNvZnR3YXJlIHdoaWNoIHRha2VzIGFkdmFudGFnZSBvZg0KICAgbXVsdGlob21lZCBl
bnZpcm9ubWVudCBhaW1pbmcgdG8gYWNoaWV2ZSBiZXR0ZXIgZmFpbG92ZXIuDQoNCiAgIFNlY29u
ZGx5LCB0aGlzIGRvY3VtZW50IHNob3VsZCBiZSBvZiBpbnRlcmVzdCBmb3IgdGhlIGRldmVsb3Bl
cnMgb2YgYQ0KICAgZ2l2ZW4gcHJvdG9jb2wgc3RhY2sgZm9yIHRoZSBzaGltIGxheWVyIChlLmcu
ICBTSElNNiBhbmQgSElQKS4gIFRoaXMNCiAgIGlzIGJlY2F1c2UgdGhpcyBkb2N1bWVudCBzcGVj
aWZpZXMgd2hhdCBraW5kcyBvZiBpbmZvcm1hdGlvbiBleGNoYW5nZQ0KICAgc2hvdWxkIGJlIHBv
c3NpYmxlIGJldHdlZW4gdGhlIGFwcGxpY2F0aW9uIGFuZCB0aGUgc2hpbSBsYXllci4NCg0KDQoN
Cg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0K
DQoNCg0KDQoNCg0KDQoNCktvbXUsIGV0IGFsLiAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCA1
LCAyMDA2ICAgICAgICAgICAgICAgICBbUGFnZSA1XQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAg
ICAgICAgTXVsdGlob21lZCBTaGltIEFQSSAgICAgICAgICAgICBGZWJydWFyeSAyMDA2DQoNCg0K
My4gIFRlcm1pbm9sb2d5DQoNCiAgIFRoaXMgZG9jdW1lbnQgZG9lcyBub3QgaW50ZW5kIHRvIGdp
dmUgbmV3IGRlZmluaXRpb25zIGZvciB0ZWNobmljYWwNCiAgIHRlcm1zIHRoYXQgYXJlIHJlbGV2
YW50IHRvIG11bHRpaG9tZWQgZW52aXJvbm1lbnQgYnV0IHRyaWVzIHRvDQogICBpbmhlcml0IGRl
ZmluaXRpb25zIHByb3ZpZGVkIGluIHRoZSBleGlzdGluZyBkb2N1bWVudHMgYXMgbGlzdGVkDQog
ICBiZWxvdzoNCg0KICAgbyAgU0hJTTYgUHJvdG9jb2wgU3BlY2lmaWNhdGlvbltJLUQuaWV0Zi1z
aGltNi1wcm90b10NCg0KICAgbyAgSElQIEFyY2hpdGVjdHVyZVtJLUQuaWV0Zi1oaXAtYXJjaF0N
Cg0KICAgbyAgUmVhY2hhYmlsaXR5IFByb3RvY29sIChSRUFQKVtJLUQuaWV0Zi1zaGltNi1mYWls
dXJlLWRldGVjdGlvbl0NCg0KICAgRm9yIGNsYXJpZmljYXRpb24sIHdlIHByb3ZpZGUgZGVmaW5p
dGlvbiBmb3IgdGhlIHRlcm1zIHRoYXQgYXJlDQogICBmcmVxdWVudGx5IHVzZWQgaW4gdGhpcyBk
b2N1bWVudDoNCg0KICAgbyAgRW5kcG9pbnQgSWRlbnRpZmllciAoRUlEKSAtIEFuIGlkZW50aWZp
ZXIgdXNlZCBieSB0aGUgYXBwbGljYXRpb24NCiAgICAgIHRvIHNwZWNpZnkgYW4gZW5kcG9pbnQg
b2YgdGhlIGNvbW11bmljYXRpb24uICBBcyBhZGRyZXNzZWQgaW4NCiAgICAgIFtJLUQuaWV0Zi1z
aGltNi1hcHAtcmVmZXJdLCBhcHBsaWNhdGlvbiBtYXkgaGFuZGxlIEVJRCBpbiB2YXJpb3VzDQog
ICAgICB3YXlzIGluIGRpZmZlcmVudCB0eXBlcyBvZiBjb21tdW5pY2F0aW9uIG1vZGVscyBzdWNo
IGFzIGxvbmctbGl2ZWQNCiAgICAgIGNvbm5lY3Rpb24sIGNhbGxiYWNrLCBhbmQgcmVmZXJyYWwu
DQoNCiAgICAgICogIEluIGNhc2Ugb2YgU0hJTTYsIHRoZSBFSUQgaXMgY2FsbGVkIFVMSUQuICBV
TElEIGlzIGNob3NlbiBmcm9tDQogICAgICAgICBvbmUgb2YgYXZhaWxhYmxlIGxvY2F0b3JzIG9u
IHRoZSBob3N0Lg0KDQogICAgICAqICBJbiBjYXNlIG9mIEhJUCwgdGhlIEVJRCBpcyBlc3NlbnRp
YWxseSBhIHB1YmxpYyBrZXkgb2YgdGhlDQogICAgICAgICBob3N0LiAgSW4gb3JkZXIgdG8gcHJl
c2VydmUgYmFja3dhcmQgY29tcGF0aWJpbGl0eSBvZiBsZWdhY3kNCiAgICAgICAgIGFwcGxpY2F0
aW9uLCBoYXNoIG9mIHB1YmxpYyBrZXkgY2FsbGVkIEhvc3QgSWRlbnRpdHkgVGFnIChISVQpDQog
ICAgICAgICBpcyB1c2VkIGJ5IGFwcGxpY2F0aW9uIGFzIGEgaGFuZGxlciBmb3IgdGhlIEVJRC4N
Cg0KICAgbyAgTG9jYXRvciAtIEFuIElQIGFkZHJlc3MgYWN0dWFsbHkgdXNlZCB0byBkZWxpdmVy
IHRoZSBJUCBwYWNrZXQuDQogICAgICBMb2NhdG9yIHNob3VsZCBiZSBwcmVzZW50IGluIHRoZSBz
b3VyY2UgYW5kIGRlc3RpbmF0aW9uIGZpZWxkIG9mDQogICAgICBJUCBoZWFkZXIgb2YgYSBwYWNr
ZXQgdGhhdCBhcHBlYXJzIG9uIHdpcmUuICBOb3JtYWxseSwgYSBsb2NhdG9yDQogICAgICBpcyBh
c3NpZ25lZCB0byB0aGUgbmV0d29yayBpbnRlcmZhY2Ugb2YgdGhlIGhvc3QuICBBbmQgdGhlIElQ
DQogICAgICBwYWNrZXQgZGVzdGluZWQgdG8gYSBnaXZlbiBsb2NhdG9yIGlzIGRlbGl2ZXJlZCB0
byB0aGUNCiAgICAgIGNvcnJlc3BvbmRlbnQgbmV0d29yayBpbnRlcmZhY2UgYnkgdGhlIHJvdXRp
bmcgc3lzdGVtLg0KDQogICBvICBTaGltIC0gQSBjb25jZXB0dWFsIGxheWVyIGluc2lkZSB0aGUg
SVAgTGF5ZXIgd2hpY2ggbWFpbnRhaW5zDQogICAgICBtYXBwaW5ncyBvZiBFSURzIGFuZCBsb2Nh
dG9ycy4gIEFuIEVJRCBjYW4gYmUgYXNzb2NpYXRlZCB3aXRoIG1vcmUNCiAgICAgIHRoYW4gb25l
IGxvY2F0b3JzIGF0IGEgdGltZSB3aGVuIHRoZSBob3N0IGlzIG11bHRpaG9tZWQuICBGcm9tDQog
ICAgICBuZXR3b3JrIGFyY2hpdGVjdHVyZSBwZXJzcGVjdGl2ZSwgc2hpbSBzaG91bGQgYmUgZXZl
biBvciBsb3dlcg0KICAgICAgdGhhbiB0aGUgSVBzZWMgbGF5ZXIuICBJdCBzaG91bGQgYmUgbm90
ZWQgdGhhdCB0aGUgdGVybSAnc2hpbScNCiAgICAgIGRvZXMgbm90IHJlZmVyIHRvIHNwZWNpZmlj
IHByb3RvY29sIGJ1dCByZWZlcnMgdG8gYSBnZW5lcmljDQogICAgICBjb25jZXB0IG9mIGEgbGF5
ZXIgdGhhdCBlbmFibGVzIHNlcGFyYXRpb24gb2YgaWRlbnRpZmllciBhbmQNCiAgICAgIGxvY2F0
b3IuICBTSElNNiBhbmQgSElQIGFyZSBleGFtcGxlcyBvZiB0aGUgc2hpbS4NCg0KICAgbyAgQ29u
dGV4dCAtIEEgc3RhdGUgaW5mb3JtYXRpb24gdG8gYmUgc2hhcmVkIGJ5IHRoZSBwZWVycywgd2hp
Y2gNCiAgICAgIGVzc2VudGlhbGx5IHN0b3JlcyBhIGJpbmRpbmcgYmV0d2VlbiB0aGUgRUlEIGFu
ZCBhc3NvY2lhdGVkDQoNCg0KDQpLb211LCBldCBhbC4gICAgICAgICAgICAgRXhwaXJlcyBBdWd1
c3QgNSwgMjAwNiAgICAgICAgICAgICAgICAgW1BhZ2UgNl0NCgwNCkludGVybmV0LURyYWZ0ICAg
ICAgICAgICAgIE11bHRpaG9tZWQgU2hpbSBBUEkgICAgICAgICAgICAgRmVicnVhcnkgMjAwNg0K
DQoNCiAgICAgIGxvY2F0b3JzLiAgVGhlIGNvbnRleHQgaXMgbWFpbnRhaW5lZCBhdCB0aGUgc2hp
bSBsYXllciBvZiB0aGUNCiAgICAgIGhvc3QuDQoNCiAgIG8gIExpc3Qgb2YgTG9jYXRvcnMgLSBB
IGxpc3Qgb2YgbG9jYXRvcnMgYXNzb2NpYXRlZCB3aXRoIGFuIEVJRC4NCiAgICAgIFRoZXJlIGFy
ZSB0d28gbGlzdHMgb2YgbG9jYXRvcnMgc3RvcmVkIGluIGEgZ2l2ZW4gY29udGV4dCwgb25lIGlz
DQogICAgICBhc3NvY2lhdGVkIHdpdGggbG9jYWwgRUlEIGFuZCB0aGUgb3RoZXIgaXMgYXNzb2Np
YXRlZCB3aXRoIHJlbW90ZQ0KICAgICAgRUlELiAgQXMgZGVmaW5lZCBpbiBbSS1ELmlldGYtc2hp
bTYtcHJvdG9dLCBsaXN0IG9mIGxvY2F0b3JzDQogICAgICBhc3NvY2lhdGVkIHdpdGggYW4gRUlE
ICdBJyBjYW4gYmUgZGVub3RlZCBhcyBMcyhBKS4NCg0KICAgbyAgUHJlZmVycmVkIExvY2F0b3Ig
LSBUaGUgKHNvdXJjZS9kZXN0aW5hdGlvbikgbG9jYXRvciBjdXJyZW50bHkNCiAgICAgIHVzZWQg
dG8gc2VuZCBwYWNrZXRzLiAgQXMgZGVmaW5lZCBpbiBbSS1ELmlldGYtc2hpbTYtcHJvdG9dLA0K
ICAgICAgcHJlZmVycmVkIGxvY2F0b3Igb2YgYSBob3N0IHdob3NlIEVJRCBpcyAnQScgY2FuIGJl
IGRlbm90ZWQgYXMNCiAgICAgIExwKEEpLg0KDQogICBvICBSZWFjaGFiaWxpdHkgRGV0ZWN0aW9u
IC0gQSBwcm9jZWR1cmUgdG8gZGV0ZWN0IHJlYWNoYWJpbGl0eQ0KICAgICAgYmV0d2VlbiBhIGdp
dmVuIGxvY2F0b3IgcGFpci4NCg0KICAgbyAgUGF0aCAtIEEgc2VxdWVuY2Ugb2Ygcm91dGVycyB0
aGF0IGFuIElQIHBhY2tldCBnb2VzIHRocm91Z2ggdG8NCiAgICAgIHJlYWNoIHRoZSBkZXN0aW5h
dGlvbi4NCg0KICAgbyAgUGF0aCBFeHBsb3JhdGlvbiAtIEEgcHJvY2VkdXJlIHRvIGV4cGxvcmUg
YXZhaWxhYmxlIHBhdGggZm9yIGENCiAgICAgIGdpdmVuIHNldCBvZiBsb2NhdG9yIHBhaXJzLg0K
DQogICBvICBPdXRhZ2UgLSBBbiBpbmNpZGVudCBtZWFuaW5nIHRoYXQgdGhlIHJlYWNoYWJpbGl0
eSBhbW9uZyBhIGdpdmVuDQogICAgICBsb2NhdG9yIHBhaXIgaXMgbG9zdC4gIFRoZSBvdXRhZ2Ug
Y291bGQgYmUgY2F1c2VkIGJ5IGFueSBraW5kcyBvZg0KICAgICAgcHJvYmxlbXMgaW5zaWRlIHRo
ZSByb3V0aW5nIGluZnJhc3RydWN0dXJlIGFuZCBwcm9ibGVtcyBvZiB0aGUNCiAgICAgIG5ldHdv
cmsgaW50ZXJmYWNlIG9mIHRoZSBlbmQgaG9zdHMuDQoNCiAgIG8gIFdvcmtpbmcgQWRkcmVzcyBQ
YWlyIC0gQW4gYWRkcmVzcyBwYWlyIGlzIHNhaWQgdG8gYmUgd29ya2luZyBpZg0KICAgICAgdGhl
IHBhY2tldCBjb250YWluaW5nIHRoZSBmaXJzdCBhZGRyZXNzIGZyb20gdGhlIHBhaXIgYXMgc291
cmNlDQogICAgICBhZGRyZXNzIGFuZCB0aGUgc2Vjb25kIGFkZHJlc3MgZnJvbSB0aGUgcGFpciBh
cyBkZXN0aW5hdGlvbg0KICAgICAgYWRkcmVzcyBjYW4gc2FmZWx5IHRyYXZlbCBmcm9tIHRoZSBz
b3VyY2UgdG8gdGhlIGRlc3RpbmF0aW9uLiAgSWYNCiAgICAgIHRoZSByZWFjaGFiaWxpdHkgaXMg
Y29uZmlybWVkIGluIGJvdGggZGlyZWN0aW9ucywgdGhlIGFkZHJlc3MNCiAgICAgIHBhaXJzIGlz
IHNhaWQgdG8gYmUgYmktZGlyZWN0aW9uYWwuICBPdGhlcndpc2UsIGl0J3MNCiAgICAgIHVuaWRp
cmVjdGlvbmFsLg0KDQogICBvICBSRUFQIC0gQSBwcm90b2NvbCBmb3IgZGV0ZWN0aW5nIGZhaWx1
cmUgYW5kIGV4cGxvcmluZyByZWFjaGFiaWxpdHkNCiAgICAgIGluIG11bHRpaG9tZWQgZW52aXJv
bm1lbnQuICBSRUFQIGlzIGRlZmluZWQgaW5bSS1ELmlldGYtc2hpbTYtDQogICAgICBmYWlsdXJl
LWRldGVjdGlvbl0uDQoNCiAgIG8gIEVuZHBvaW50IERlc2NyaXB0b3IgKEVEKSAtIFRoZSByZXBy
ZXNlbnRhdGlvbiBvZiBlbmRwb2ludHMgaXMNCiAgICAgIGhpZGRlbiBmcm9tIHRoZSBhcHBsaWNh
dGlvbnMuICBFRCBpcyBhICJoYW5kbGUiIG9yICJwb2ludGVyIiB0bw0KICAgICAgdGhlIGFjdHVh
bCBFSUQuDQoNCg0KDQoNCg0KDQoNCg0KS29tdSwgZXQgYWwuICAgICAgICAgICAgIEV4cGlyZXMg
QXVndXN0IDUsIDIwMDYgICAgICAgICAgICAgICAgIFtQYWdlIDddDQoMDQpJbnRlcm5ldC1EcmFm
dCAgICAgICAgICAgICBNdWx0aWhvbWVkIFNoaW0gQVBJICAgICAgICAgICAgIEZlYnJ1YXJ5IDIw
MDYNCg0KDQo0LiAgU3lzdGVtIE92ZXJ2aWV3DQoNCg0KICAgICAgICAgICAgICAgICAgICAgICAg
Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsNCiAgICAgICAgICAgICAgICAgICAgICAgIHwgICAg
ICAgQXBwbGljYXRpb24gICAgICB8DQogICAgICAgICAgICAgICAgICAgICAgICArLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgXiAgICAgICAgICAg
ICAgICAgXg0KICAgICAgICAgICAgICB+fn5+fn5+fn5+fn5+fH5Tb2NrZXQgSW50ZXJmYWNlfH5+
fn5+fn5+fn5+fn5+DQogICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAg
ICB2DQogICAgICAgICAgICAgICArLS0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tKw0KICAgICAgICAgICAgICAgfCAgICAgICAgICAgfCAgVHJhbnNwb3J0IExheWVyICAg
ICAgICAgICAgIHwNCiAgICAgICAgICAgICAgICstLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0rDQogICAgICAgICAgICAgICAgICAgICBeICAgICB8DQogICAgICAgKy0t
LS0tLS0tLS0tLS18LS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsN
CiAgICAgICB8ICAgICAgICAgICAgIHYgICAgIHYgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgfA0KICAgICAgIHwgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rICAg
ICAgICstLS0tLS0tLS0tKyAgICB8ICBJUA0KICAgICAgIHwgICB8ICAgICAgICAgICAgU2hpbSAg
ICAgICAgICAgICB8PC0tLS0tPnwgICBSRUFQICAgfCAgICB8IExheWVyDQogICAgICAgfCAgICst
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsgICAgICAgKy0tLS0tLS0tLS0rICAgIHwNCiAg
ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICBeICAgICAgICAgICAgICAgICAgICAgIF4gICAg
ICAgICAgfA0KICAgICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tfC0tLS0tLS0tLS0rDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdiAgICAg
ICAgICAgICAgICAgICAgICB2DQogICAgICAgICAgICAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0KICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICBM
aW5rIExheWVyICAgICAgICAgICAgICAgIHwNCiAgICAgICAgICAgICAgICstLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rDQoNCg0KICAgRmlndXJlIDE6IFN5c3RlbSBv
dmVydmlldw0KDQogICBGaWd1cmUgMSBpbGx1c3RyYXRlcyB0aGUgc3lzdGVtIG92ZXJ2aWV3LiAg
VGhlIGFwcGxpY2F0aW9uIGNhbg0KICAgdXRpbGl6ZSB0aGUgc29ja2V0IEFQSSB0byBpbnRlcmFj
dCB3aXRoIHRoZSBzaGltIGxheWVyIGFuZCB0cmFuc3BvcnQNCiAgIGxheWVyIGZvciBiZXR0ZXIg
Y29udHJvbCBvZiBsb2NhdG9yIG1hbmFnZW1lbnQgYW5kIGZhaWx1cmUgZGV0ZWN0aW9uDQogICBh
bmQgcGF0aCBleHBsb3JhdGlvbi4NCg0KICAgSW5zaWRlIHRoZSBJUCBsYXllciwgdGhlcmUgaXMg
YSBzaGltIHdoaWNoIGNsb3NlbHkgaW50ZXJhY3RzIHdpdGgNCiAgIFJFQVAgY29tcG9uZW50LiAg
VGhlcmUgY291bGQgYmUgaW50ZXJhY3Rpb25zIGJldHdlZW4gdGhlIHNoaW0gYW5kDQogICB0cmFu
c3BvcnQgbGF5ZXIsIGhvd2V2ZXIgdGhleSBhcmUgb3V0c2lkZSBvZiBzY29wZSBvZiB0aGlzIGRv
Y3VtZW50Lg0KICAgVGhlIHNjb3BlIG9mIHRoaXMgZG9jdW1lbnQgaXMgYW4gaW50ZXJmYWNlIGZy
b20gdGhlIGFwcGxpY2F0aW9uIHRvDQogICB0aGUgc2hpbSBsYXllciwgd2hpY2ggaXMgZW5hYmxl
ZCB2aWEgc29ja2V0IGludGVyZmFjZS4NCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KS29tdSwg
ZXQgYWwuICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDUsIDIwMDYgICAgICAgICAgICAgICAg
IFtQYWdlIDhdDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICBNdWx0aWhvbWVkIFNoaW0g
QVBJICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDYNCg0KDQo1LiAgUmVxdWlyZW1lbnRzDQoNCiAg
IEZvbGxvd2luZyBpcyBhIGxpc3Qgb2YgcmVxdWlyZW1lbnRzIGZyb20gdGhlIGFwcGxpY2F0aW9u
IHBlcnNwZWN0aXZlLg0KICAgVGhlc2UgcmVxdWlyZW1lbnRzIGFyZSBtYWlubHkgaWRlbnRpZmll
ZCBkdXJpbmcgdGhlIGRpc2N1c3Npb25zIG9uDQogICBTSElNNiBXRyBtYWlsaW5nIGxpc3QuICBT
b21lIHJlcXVpcmVtZW50cyBhcmUgZGVyaXZlZCBmcm9tDQogICBSZWFjaGFiaWxpdHkgUHJvdG9j
b2wgZG9jdW1lbnRbSS1ELmlldGYtc2hpbTYtZmFpbHVyZS1kZXRlY3Rpb25dLg0KDQogICBvICBM
b2NhdG9yIG1hbmFnZW1lbnQuICBMb2NhdG9yIG1hbmFnZW1lbnQgaXMgcm9sZSBvZiB0aGUgc2hp
bSBsYXllcg0KICAgICAgdG8gc2VsZWN0IGEgcGFpciBvZiBsb2NhdG9ycyBmb3Igc2VuZGluZyBJ
UCBwYWNrZXRzIHdpdGhpbiBhIGdpdmVuDQogICAgICBjb250ZXh0LiAgVGhlIHNlbGVjdGlvbiBp
cyBtYWRlIGJ5IHRha2luZyBtaXNjZWxsYW5lb3VzIGNvbmRpdGlvbnMNCiAgICAgIGludG8gYWNj
b3VudCBzdWNoIGFzIHJlYWNoYWJpbGl0eSBvZiB0aGUgcGF0aCwgYXBwbGljYXRpb24ncw0KICAg
ICAgcHJlZmVyZW5jZSwgYW5kIGNoYXJhY3RlcmlzdGljcyBvZiBwYXRoLiAgRnJvbSBhcHBsaWNh
dGlvbidzDQogICAgICBwZXJzcGVjdGl2ZToNCg0KICAgICAgKiAgSXQgc2hvdWxkIGJlIHBvc3Np
YmxlIHRvIG9idGFpbiBsaXN0IG9mIGxvY2F0b3JzIG9mIHRoZSBob3N0DQogICAgICAgICB3aXRo
aW4gYSBnaXZlbiBjb250ZXh0LiAgTHMobG9jYWwpIGFuZCBMcyhyZW1vdGUpLg0KDQogICAgICAq
ICBJdCBzaG91bGQgYmUgcG9zc2libGUgdG8gb2J0YWluIHByZWZlcnJlZCBsb2NhdG9yIG9mIHRo
ZSBub2RlDQogICAgICAgICB3aXRoaW4gYSBnaXZlbiBjb250ZXh0LiAgTHAobG9jYWwpIGFuZCBM
cChyZW1vdGUpLg0KDQogICBvICBOb3RpZmljYXRpb24gZnJvbSBhcHBsaWNhdGlvbiB0byB0aGUg
c2hpbSBsYXllciBhYm91dCB0aGUgc3RhdHVzDQogICAgICBvZiB0aGUgY29tbXVuaWNhdGlvbi4g
IE5vdGUgdGhhdCB0aGUgbm90aWZpY2F0aW9uIGlzIG1hZGUgaW4gYW4NCiAgICAgIGV2ZW50IGJh
c2VkIG1hbm5lci4gIFRoZXJlIGFyZSBtYWlubHkgdHdvIGFzcGVjdHMgb2YgdGhlIGZlZWRiYWNr
DQogICAgICB0aGF0IGFwcGxpY2F0aW9uIG9yIHVwcGVyIGxheWVyIHByb3RvY29sIG1heSBwcm92
aWRlIGZvciB0aGUgc2hpbQ0KICAgICAgbGF5ZXIsIHBvc2l0aXZlIGFuZCBuZWdhdGl2ZSBmZWVk
YmFja3MgW05PVEU6IFRoZXNlIGZlZWRiYWNrcyBhcmUNCiAgICAgIGFkZHJlc3NlZCBpbiBzZWN0
aW9uIDQuMyBhbmQgc2VjdGlvbiA1LjIgb2YgUkVBUCBzcGVjaWZpY2F0aW9uXToNCg0KICAgICAg
KiAgUG9zaXRpdmUgZmVlZGJhY2sgY291bGQgYmUgZ2l2ZW4gYnkgdGhlIGFwcGxpY2F0aW9uIG9y
IHVwcGVyDQogICAgICAgICBsYXllciBwcm90b2NvbCAoZS5nLiAgVENQKSB0byB0aGUgc2hpbSBs
YXllciBpbmZvcm1pbmcgdGhhdCBpdHMNCiAgICAgICAgIGNvbW11bmljYXRpb24gaXMgZ29pbmcg
d2VsbC4NCg0KICAgICAgKiAgTmVnYXRpdmUgZmVlZGJhY2sgY291bGQgYmUgZ2l2ZW4gYnkgdGhl
IGFwcGxpY2F0aW9uIG9yIHVwcGVyDQogICAgICAgICBsYXllciBwcm90b2NvbCAoZS5nLiAgVENQ
KSB0byB0aGUgc2hpbSBsYXllciBpbmZvcm1pbmcgdGhhdCBpdHMNCiAgICAgICAgIGNvbW11bmlj
YXRpb24gc3RhdHVzIGlzIG5vdCBzYXRpc2ZhY3RvcnkuICBUQ1AgY291bGQgZGV0ZWN0IGENCiAg
ICAgICAgIHByb2JsZW0gd2hlbiBpdCBkb2VzIG5vdCByZWNlaXZlcyBleHBlY3RlZCBBQ0sgZnJv
bSB0aGUgcGVlci4NCiAgICAgICAgIElDTVAgZXJyb3IgbWVzc2FnZXMgZGVsaXZlcmVkIHRvIHRo
ZSB1cHBlciBsYXllciBwcm90b2NvbCBjb3VsZA0KICAgICAgICAgYmUgYSBjbHVlIGZvciBhcHBs
aWNhdGlvbiB0byBkZXRlY3QgYW55IGtpbmQgb2YgcHJvYmxlbS4gIFJFQVANCiAgICAgICAgIG1v
ZHVsZSBtYXkgYmUgdHJpZ2dlcmVkIGJ5IHRoZXNlIG5lZ2F0aXZlIGZlZWRiYWNrcyBhbmQgaW52
b2tlDQogICAgICAgICBwcm9jZWR1cmUgb2YgcGF0aCBleHBsb3JhdGlvbi4NCg0KICAgbyAgRmVl
ZGJhY2sgZnJvbSBhcHBsaWNhdGlvbiB0byBzaGltIGxheWVyLiAgVGhlIGFwcGxpY2F0aW9uIHNo
b3VsZA0KICAgICAgYmUgYWJsZSB0byBpbmZvcm0gdGhlIHNoaW0gbGF5ZXIgYWJvdXQgdGhlIHRp
bWVvdXQgdmFsdWVzIGZvcg0KICAgICAgZGV0ZWN0aW5nIGZhaWx1cmUsIGZvciBzZW5kaW5nIGtl
ZXBhbGl2ZXMsIGZvciBzdGFydGluZyB0aGUNCiAgICAgIGV4cGxvcmF0aW9uIHByb2NlZHVyZS4g
IEluIHBhcnRpY3VsYXIsIHRoZSBhcHBsaWNhdGlvbiBzaG91bGQgYmUNCiAgICAgIGFibGUgdG8g
c3VwcHJlc3MgdGhlIGtlZXBhbGl2ZXMuDQoNCiAgIG8gIEhvdC1zdGFuZGJ5LiAgVGhlIGFwcGxp
Y2F0aW9uIG1heSByZXF1ZXN0IHRoZSBzaGltIGxheWVyIGlmIGhvdC0NCiAgICAgIHN0YW5kYnkg
Y29ubmVjdGlvbiBpcyBuZWVkZWQuICBJbiB0aGlzIGNhc2UsIGFsdGVybmF0aXZlIHBhdGhzIGFy
ZQ0KDQoNCg0KS29tdSwgZXQgYWwuICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDUsIDIwMDYg
ICAgICAgICAgICAgICAgIFtQYWdlIDldDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICBN
dWx0aWhvbWVkIFNoaW0gQVBJICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDYNCg0KDQogICAgICBr
bm93biB0byBiZSB3b3JraW5nLiAgSGVuY2UgaXQgaXMgcG9zc2libGUgZm9yIHRoZSBob3N0IHRv
DQogICAgICBpbW1lZGlhdGVseSByZXBsYWNlIHRoZSBjdXJyZW50IGxvY2F0b3IgcGFpciB3aXRo
IHRoZSBhbHRlcm5hdGl2ZQ0KICAgICAgbG9jYXRvciBwYWlyLiAgSG90LXN0YW5kYnkgbWF5IGFs
bG93IGFwcGxpY2F0aW9uIHRvIGFjaGlldmUgYmV0dGVyDQogICAgICBmYWlsb3Zlci4NCg0KICAg
byAgRWFnZXJuZXNzIG9mIGxvY2F0b3IgZXhwbG9yYXRpb24uICBUaGUgYXBwbGljYXRpb24gc2hv
dWxkIGJlIGFibGUNCiAgICAgIHRvIGluZm9ybSB0aGUgc2hpbSBsYXllciBob3cgcHJvYWN0aXZl
IGl0IHdhbnRzIFJFQVAgbWVjaGFuaXNtIHRvDQogICAgICBwZXJmb3JtIHBhdGggZXhwbG9yYXRp
b24gKGUuZy4gc3BlY2lmeWluZyB0aGUgbnVtYmVyIG9mIGNvbmN1cnJlbnQNCiAgICAgIGF0dGVt
cHRzIG9mIGRpc2NvdmVyaW5nIHdvcmtpbmcgbG9jYXRvciBwYWlyKSB3aGVuIGFuIG91dGFnZQ0K
ICAgICAgb2NjdXJzIG9uIHRoZSBwYXRoIGJldHdlZW4gdGhlIGN1cnJlbnRseSBzZWxlY3RlZCBs
b2NhdG9yIHBhaXIuDQoNCiAgIG8gIFByb3ZpZGluZyBsb2NhdG9yIGluZm9ybWF0aW9uIHRvIGFw
cGxpY2F0aW9uLiAgVGhlIGFwcGxpY2F0aW9uDQogICAgICBzaG91bGQgYmUgYWJsZSB0byBvYnRh
aW4gaW5mb3JtYXRpb24gYWJvdXQgdGhlIGxvY2F0b3IgcGFpciB3aGljaA0KICAgICAgd2FzIGFj
dHVhbGx5IHVzZWQgdG8gc2VuZCBvciByZWNlaXZlIHRoZSBwYWNrZXQuDQoNCiAgICAgICogIEZv
ciBpbmJvdW5kIHRyYWZmaWMsIHRoZSBhcHBsaWNhdGlvbiBtYXkgYmUgaW50ZXJlc3RlZCBpbiB0
aGUNCiAgICAgICAgIGxvY2F0b3IgcGFpciB3aGljaCB3YXMgYWN0dWFsbHkgdXNlZCB0byByZWNl
aXZlIHRoZSBwYWNrZXQuDQoNCiAgICAgICogIEZvciBvdXRib3VuZCB0cmFmZmljLCB0aGUgYXBw
bGljYXRpb24gbWF5IGJlIGludGVyZXN0ZWQgaW4gdGhlDQogICAgICAgICBsb2NhdG9yIHBhaXIg
d2hpY2ggd2FzIGFjdHVhbGx5IHVzZWQgdG8gdHJhbnNtaXQgdGhlIHBhY2tldC4NCg0KICAgICAg
SW4gdGhpcyB3YXksIHRoZSBhcHBsaWNhdGlvbiBtYXkgaGF2ZSBhZGRpdGlvbmFsIGNvbnRyb2wg
b24NCiAgICAgIGxvY2F0b3IgbWFuYWdlbWVudC4gIEZvciBleGFtcGxlLCB0aGUgYXBwbGljYXRp
b24gY2FuIHZlcmlmeSBpZg0KICAgICAgaXRzIHByZWZlcmVuY2Ugb2YgbG9jYXRvciBpcyBhY3R1
YWxseSBhcHBsaWVkIHRvIHRoZSBmbG93IG9yIG5vdC4NCg0KICAgbyAgVGhlIGFwcGxpY2F0aW9u
IHNob3VsZCBiZSBhYmxlIHRvIHNwZWNpZnkgaWYgaXQgd2FudHMgdG8gZGVmZXIgdGhlDQogICAg
ICBjb250ZXh0IHNldHVwIG9yIGl0IHdhbnRzIGNvbnRleHQgZXN0YWJsaXNobWVudCB0byBiZSBz
dGFydGVkDQogICAgICBpbW1lZGlhdGVseSBpZiB0aGVyZSBpcyBubyBhdmFpbGFibGUgY29udGV4
dC4gIEluIHN1Y2ggd2F5LA0KICAgICAgYXBwbGljYXRpb24gY2FuICd1cGdyYWRlJyB0aGUgY29u
bmVjdGlvbiBwcm92aWRpbmcgaW4gYSBzZW5zZSB0aGF0DQogICAgICBpZGVudGlmaWVyIGFuZCBs
b2NhdG9yIGFyZSBtYW5hZ2VkIHNlcGFyYXRlbHkuDQoNCiAgIG8gIFR1cm4gb24vb2ZmIHNoaW0u
ICBUaGUgYXBwbGljYXRpb24gc2hvdWxkIGJlIGFibGUgdG8gcmVxdWVzdCB0bw0KICAgICAgdHVy
biBvbi9vZmYgdGhlIG11bHRpaG9taW5nIHN1cHBvcnQgYnkgdGhlIHNoaW0gbGF5ZXI6DQoNCiAg
ICAgICogIEFwcGx5IHNoaW0uICBUaGUgYXBwbGljYXRpb24gc2hvdWxkIGJlIGFibGUgdG8gZXhw
bGljaXRseQ0KICAgICAgICAgcmVxdWVzdCB0aGUgc2hpbSBsYXllciB0byBhcHBseSBtdWx0aWhv
bWluZyBzdXBwb3J0Lg0KDQogICAgICAqICBEb24ndCBhcHBseSBzaGltLiAgVGhlIGFwcGxpY2F0
aW9uIHNob3VsZCBiZSBhYmxlIHRvIHJlcXVlc3QNCiAgICAgICAgIHRoZSBzaGltIGxheWVyIG5v
dCB0byBhcHBseSB0aGUgbXVsdGlob21pbmcgc3VwcG9ydCBidXQgdG8NCiAgICAgICAgIGFwcGx5
IG5vcm1hbCBJUCBwcm9jZXNzaW5nIGF0IHRoZSBJUCBsYXllci4NCg0KICAgbyAgVGhlIGFwcGxp
Y2F0aW9uIHNob3VsZCBiZSBhYmxlIHRvIGtub3cgaWYgaXRzIGNvbW11bmljYXRpb24gaXMgbm93
DQogICAgICBzZXJ2ZWQgYnkgdGhlIHNoaW0gbGF5ZXIgb3Igbm90Lg0KDQogICBvICBUaGUgYXBw
bGljYXRpb24gc2hvdWxkIGJlIGFibGUgdG8gYWNjZXNzIGxvY2F0b3IgaW5mb3JtYXRpb24NCiAg
ICAgIHJlZ2FyZGxlc3Mgb2YgaXRzIGFkZHJlc3MgZmFtaWx5LiAgSW4gb3RoZXIgd29yZHMsIG5v
IG1hdHRlciB0aGUNCiAgICAgIHRhcmdldCBsb2NhdG9yIGlzIElQdjQgb3IgSVB2NiwgdGhlIGFw
cGxpY2F0aW9uIHNob3VsZCBiZSBhYmxlIHRvDQogICAgICB1c2UgY29tbW9uIGludGVyZmFjZSB0
byBhY2Nlc3MgdGhlIGxvY2F0b3IgaW5mb3JtYXRpb24uDQoNCg0KDQpLb211LCBldCBhbC4gICAg
ICAgICAgICAgRXhwaXJlcyBBdWd1c3QgNSwgMjAwNiAgICAgICAgICAgICAgICBbUGFnZSAxMF0N
CgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgIE11bHRpaG9tZWQgU2hpbSBBUEkgICAgICAg
ICAgICAgRmVicnVhcnkgMjAwNg0KDQoNCjYuICBTb2NrZXQgT3B0aW9ucyBmb3IgTXVsdGlob21l
ZCBTaGltIExheWVyDQoNCiAgIEluIHRoaXMgc2VjdGlvbiwgc29ja2V0IG9wdGlvbnMgbmV3bHkg
ZGVmaW5lZCBmb3IgYXBwbGljYXRpb24gdG8NCiAgIGludGVyZmFjZSB0aGUgbXVsdGlob21lZCBz
aGltIGxheWVyIGFyZSBwcmVzZW50ZWQuICBUaGVzZSBvcHRpb25zIGNhbg0KICAgYmUgdXNlZCBl
aXRoZXIgYnkgZ2V0c29ja29wdCgpIGFuZC9vciBzZXRzb2Nrb3B0KCkgc3lzdGVtIGNhbGxzIGZv
cg0KICAgYW4gb3BlbmVkIHNvY2tldC4gIFRhYmxlIDEgcHJvdmlkZXMgYSBsaXN0IG9mIHRoZSBz
b2NrZXQgb3B0aW9ucy4NCiAgIE5vdGUgdGhhdCBhbGwgc29ja2V0IG9wdGlvbnMgYXJlIGRlZmlu
ZWQgYXQgbGV2ZWwgU09MX1NISU0uDQoNCiAgIFRoZSBmaXJzdCBjb2x1bW4gb2YgdGhlIHRhYmxl
IGdpdmVzIG5hbWUgb2YgdGhlIG9wdGlvbi4gIFRoZSBzZWNvbmQNCiAgIGFuZCB0aGlyZCBjb2x1
bW5zIGluZGljYXRlcyB3aGV0aGVyIGlmIHRoZSBvcHRpb24gaXMgZm9yIGdldHNvY2tvcHQoKQ0K
ICAgYW5kL29yIHNldHNvY2tvcHQoKSwgcmVzcGVjdGl2ZWx5LiAgVGhlIGZvdXJ0aCBjb2x1bW4g
cHJvdmlkZXMgYQ0KICAgYnJpZWYgZGVzY3JpcHRpb24gYWJvdXQgdGhlIHNvY2tldCBvcHRpb24u
ICBUaGUgZmlmdGggY29sdW1uIHNob3dzDQogICB0aGUgZGF0YSBzdHJ1Y3R1cmUgc3BlY2lmaWVk
IHdpdGggdGhlIHNvY2tldCBvcHRpb24sIHdoaWNoIGNvdWxkIGNhbg0KICAgc3RvcmUgYW4gYXJn
dW1lbnQgZm9yIHNldHNvY2tvcHQoKSBhbmQgcmVzdWx0IGZvciBnZXRzb2Nrb3B0KCkuICBCeQ0K
ICAgZGVmYXVsdCwgdGhlIGRhdGEgc3RydWN0dXJlIGlzIGFuIGludGVnZXIuDQoNCg0KDQoNCg0K
DQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoN
Cg0KDQpLb211LCBldCBhbC4gICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgNSwgMjAwNiAgICAg
ICAgICAgICAgICBbUGFnZSAxMV0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgIE11bHRp
aG9tZWQgU2hpbSBBUEkgICAgICAgICAgICAgRmVicnVhcnkgMjAwNg0KDQoNCiAgICstLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0rLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t
LS0tKw0KICAgfCBvcHRuYW1lICAgICAgICAgICAgICAgIHwgZ2V0IHwgc2V0IHwgZGVzY3JpcHRp
b24gICAgICAgICAgfCBkdHlwZSB8DQogICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t
Ky0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLSsNCiAgIHwgU0hJTV9BU1NPQ0lB
VEVEICAgICAgICB8IG8gICB8ICAgICB8IENoZWNrIGlmIHRoZSBzb2NrZXQgIHwgaW50ICAgfA0K
ICAgfCAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgIHwgICAgIHwgaXMgYXNzb2NpYXRlZCB3
aXRoICAgfCAgICAgICB8DQogICB8ICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgfCAgICAg
fCBhbnkgc2hpbSBjb250ZXh0IG9yICB8ICAgICAgIHwNCiAgIHwgICAgICAgICAgICAgICAgICAg
ICAgICB8ICAgICB8ICAgICB8IG5vdC4gICAgICAgICAgICAgICAgIHwgICAgICAgfA0KICAgfCAg
ICAgICAgICAgICAgICAgICAgICAgIHwgICAgIHwgICAgIHwgICAgICAgICAgICAgICAgICAgICAg
fCAgICAgICB8DQogICB8IFNISU1fRE9OVFNISU0gICAgICAgICAgfCBvICAgfCBvICAgfCBSZXF1
ZXN0IHRoZSBzaGltICAgICB8IGludCAgIHwNCiAgIHwgICAgICAgICAgICAgICAgICAgICAgICB8
ICAgICB8ICAgICB8IGxheWVyIG5vdCB0byBhcHBseSAgIHwgICAgICAgfA0KICAgfCAgICAgICAg
ICAgICAgICAgICAgICAgIHwgICAgIHwgICAgIHwgYW55IG11bHRpaG9taW5nICAgICAgfCAgICAg
ICB8DQogICB8ICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgfCAgICAgfCBzdXBwb3J0IGZv
ciB0aGUgICAgICB8ICAgICAgIHwNCiAgIHwgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICB8
ICAgICB8IGNvbW11bmljYXRpb24uICAgICAgIHwgICAgICAgfA0KICAgfCAgICAgICAgICAgICAg
ICAgICAgICAgIHwgICAgIHwgICAgIHwgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICB8DQog
ICB8IFNISU1fSE9UX1NUQU5EQlkgICAgICAgfCAgICAgfCBvICAgfCBSZXF1ZXN0IHRoZSBzaGlt
ICAgICB8IGludCAgIHwNCiAgIHwgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICB8ICAgICB8
IGxheWVyIHRvIHByZXBhcmUgYSAgIHwgICAgICAgfA0KICAgfCAgICAgICAgICAgICAgICAgICAg
ICAgIHwgICAgIHwgICAgIHwgaG90LXN0YW5kYnkgICAgICAgICAgfCAgICAgICB8DQogICB8ICAg
ICAgICAgICAgICAgICAgICAgICAgfCAgICAgfCAgICAgfCBjb25uZWN0aW9uIGJlc2lkZXMgICB8
ICAgICAgIHwNCiAgIHwgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICB8ICAgICB8IHRoZSBj
dXJyZW50IHBhdGguICAgIHwgICAgICAgfA0KICAgfCAgICAgICAgICAgICAgICAgICAgICAgIHwg
ICAgIHwgICAgIHwgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICB8DQogICB8IFNISU1fUEFU
SEVYUExPUkUgICAgICAgfCAgICAgfCBvICAgfCBTcGVjaWZ5IGhvdyBtYW55ICAgICB8IGludCAg
IHwNCiAgIHwgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICB8ICAgICB8IHBhdGggZXhwbG9y
YXRpb25zICAgIHwgICAgICAgfA0KICAgfCAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgIHwg
ICAgIHwgYXJlIHJlcXVpcmVkIGluIGNhc2UgfCAgICAgICB8DQogICB8ICAgICAgICAgICAgICAg
ICAgICAgICAgfCAgICAgfCAgICAgfCBvZiBmYWlsdXJlLiAgICAgICAgICB8ICAgICAgIHwNCiAg
IHwgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICB8ICAgICB8ICAgICAgICAgICAgICAgICAg
ICAgIHwgICAgICAgfA0KICAgfCBTSElNX0xPQ19MT0NBTF9QUkVGICAgIHwgbyAgIHwgbyAgIHwg
R2V0IG9yIHNldCBwcmVmZXJyZWQgfCAqMSAgICB8DQogICB8ICAgICAgICAgICAgICAgICAgICAg
ICAgfCAgICAgfCAgICAgfCBsb2NhdG9yIG9uIGxvY2FsICAgICB8ICAgICAgIHwNCiAgIHwgICAg
ICAgICAgICAgICAgICAgICAgICB8ICAgICB8ICAgICB8IHNpZGUgZm9yIHRoZSBjb250ZXh0IHwg
ICAgICAgfA0KICAgfCAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgIHwgICAgIHwgYXNzb2Np
YXRlZCB3aXRoIHRoZSAgfCAgICAgICB8DQogICB8ICAgICAgICAgICAgICAgICAgICAgICAgfCAg
ICAgfCAgICAgfCBzb2NrZXQuICAgICAgICAgICAgICB8ICAgICAgIHwNCiAgIHwgICAgICAgICAg
ICAgICAgICAgICAgICB8ICAgICB8ICAgICB8ICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAg
fA0KICAgfCBTSElNX0xPQ19QRUVSX1BSRUYgICAgIHwgbyAgIHwgbyAgIHwgR2V0IG9yIHNldCBw
cmVmZXJyZWQgfCAqMSAgICB8DQogICB8ICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgfCAg
ICAgfCBsb2NhdG9yIG9uIHJlbW90ZSAgICB8ICAgICAgIHwNCiAgIHwgICAgICAgICAgICAgICAg
ICAgICAgICB8ICAgICB8ICAgICB8IHNpZGUgZm9yIHRoZSBjb250ZXh0IHwgICAgICAgfA0KICAg
fCAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgIHwgICAgIHwgYXNzb2NpYXRlZCB3aXRoIHRo
ZSAgfCAgICAgICB8DQogICB8ICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgfCAgICAgfCBz
b2NrZXQuICAgICAgICAgICAgICB8ICAgICAgIHwNCiAgIHwgICAgICAgICAgICAgICAgICAgICAg
ICB8ICAgICB8ICAgICB8ICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgfA0KICAgfCBTSElN
X0xPQ19MT0NBTF9SRUNWICAgIHwgICAgIHwgbyAgIHwgUmVxdWVzdCBmb3IgICAgICAgICAgfCBp
bnQgICB8DQogICB8ICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgfCAgICAgfCBkZXN0aW5h
dGlvbiBsb2NhdG9yICB8ICAgICAgIHwNCiAgIHwgICAgICAgICAgICAgICAgICAgICAgICB8ICAg
ICB8ICAgICB8IG9mIHJlY2VpdmVkIElQICAgICAgIHwgICAgICAgfA0KICAgfCAgICAgICAgICAg
ICAgICAgICAgICAgIHwgICAgIHwgICAgIHwgcGFja2V0LiAgICAgICAgICAgICAgfCAgICAgICB8
DQogICB8ICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgfCAgICAgfCAgICAgICAgICAgICAg
ICAgICAgICB8ICAgICAgIHwNCiAgIHwgU0hJTV9MT0NfUEVFUl9SRUNWICAgICB8ICAgICB8IG8g
ICB8IFJlcXVlc3QgZm9yIHNvdXJjZSAgIHwgaW50ICAgfA0KICAgfCAgICAgICAgICAgICAgICAg
ICAgICAgIHwgICAgIHwgICAgIHwgbG9jYXRvciBvZiByZWNlaXZlZCAgfCAgICAgICB8DQogICB8
ICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgfCAgICAgfCBJUCBwYWNrZXQuICAgICAgICAg
ICB8ICAgICAgIHwNCiAgIHwgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICB8ICAgICB8ICAg
ICAgICAgICAgICAgICAgICAgIHwgICAgICAgfA0KDQoNCg0KDQoNCktvbXUsIGV0IGFsLiAgICAg
ICAgICAgICBFeHBpcmVzIEF1Z3VzdCA1LCAyMDA2ICAgICAgICAgICAgICAgIFtQYWdlIDEyXQ0K
DA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgTXVsdGlob21lZCBTaGltIEFQSSAgICAgICAg
ICAgICBGZWJydWFyeSAyMDA2DQoNCg0KICAgfCBTSElNX0xPQ0xJU1RfTE9DQUwgICAgIHwgbyAg
IHwgbyAgIHwgR2V0IG9yIHNldCBhIGxpc3Qgb2YgfCAqMSAgICB8DQogICB8ICAgICAgICAgICAg
ICAgICAgICAgICAgfCAgICAgfCAgICAgfCBsb2NhdG9ycyBhc3NvY2lhdGVkICB8ICAgICAgIHwN
CiAgIHwgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICB8ICAgICB8IHdpdGggbG9jYWwgRUlE
LiAgICAgIHwgICAgICAgfA0KICAgfCAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgIHwgICAg
IHwgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICB8DQogICB8IFNISU1fTE9DTElTVF9QRUVS
ICAgICAgfCBvICAgfCBvICAgfCBHZXQgb3Igc2V0IGEgbGlzdCBvZiB8ICoxICAgIHwNCiAgIHwg
ICAgICAgICAgICAgICAgICAgICAgICB8ICAgICB8ICAgICB8IGxvY2F0b3JzIGFzc29jaWF0ZWQg
IHwgICAgICAgfA0KICAgfCAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgIHwgICAgIHwgd2l0
aCBwZWVyJ3MgRUlELiAgICAgfCAgICAgICB8DQogICB8ICAgICAgICAgICAgICAgICAgICAgICAg
fCAgICAgfCAgICAgfCAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgIHwNCiAgIHwgU0hJTV9U
SU1FUl9LRUVQQUxJVkUgICB8ICAgICB8IG8gICB8IEluZm9ybSBzaGltIGxheWVyICAgIHwgaW50
ICAgfA0KICAgfCAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgIHwgICAgIHwgYWJvdXQgYSB0
aW1lciB2YWx1ZSAgfCAgICAgICB8DQogICB8ICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAg
fCAgICAgfCBvZiBrZWVwYWxpdmUuICAgICAgICB8ICAgICAgIHwNCiAgIHwgICAgICAgICAgICAg
ICAgICAgICAgICB8ICAgICB8ICAgICB8ICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgfA0K
ICAgfCBTSElNX0ZFRURCQUNLX1BPU0lUSVZFIHwgICAgIHwgbyAgIHwgUHJvdmlkZSBhIHBvc2l0
aXZlICAgfCBpbnQgICB8DQogICB8ICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgfCAgICAg
fCBmZWVkYmFjayB0byB0aGUgc2hpbSB8ICAgICAgIHwNCiAgIHwgICAgICAgICAgICAgICAgICAg
ICAgICB8ICAgICB8ICAgICB8IGxheWVyLiAgICAgICAgICAgICAgIHwgICAgICAgfA0KICAgfCAg
ICAgICAgICAgICAgICAgICAgICAgIHwgICAgIHwgICAgIHwgICAgICAgICAgICAgICAgICAgICAg
fCAgICAgICB8DQogICB8IFNISU1fRkVFREJBQ0tfTkVHQVRJVkUgfCAgICAgfCBvICAgfCBQcm92
aWRlIGEgbmVnYXRpdmUgICB8ICoyICAgIHwNCiAgIHwgICAgICAgICAgICAgICAgICAgICAgICB8
ICAgICB8ICAgICB8IGZlZWRiYWNrIHRvIHRoZSBzaGltIHwgICAgICAgfA0KICAgfCAgICAgICAg
ICAgICAgICAgICAgICAgIHwgICAgIHwgICAgIHwgbGF5ZXIuICAgICAgICAgICAgICAgfCAgICAg
ICB8DQogICB8ICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgfCAgICAgfCAgICAgICAgICAg
ICAgICAgICAgICB8ICAgICAgIHwNCiAgIHwgU0hJTV9JRl9SRUNWICAgICAgICAgICB8ICAgICB8
IG8gICB8IFJlcXVlc3QgZm9yICAgICAgICAgIHwgaW50ICAgfA0KICAgfCAgICAgICAgICAgICAg
ICAgICAgICAgIHwgICAgIHwgICAgIHwgcmVjZWl2aW5nIGludGVyZmFjZS4gfCAgICAgICB8DQog
ICB8ICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgfCAgICAgfCAgICAgICAgICAgICAgICAg
ICAgICB8ICAgICAgIHwNCiAgIHwgU0hJTV9JRl9TRU5EICAgICAgICAgICB8ICAgICB8IG8gICB8
IFJlcXVlc3QgZm9yIG91dGdvaW5nIHwgaW50ICAgfA0KICAgfCAgICAgICAgICAgICAgICAgICAg
ICAgIHwgICAgIHwgICAgIHwgaW50ZXJmYWNlLiAgICAgICAgICAgfCAgICAgICB8DQogICArLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r
LS0tLS0tLSsNCg0KICAgICAgICBUYWJsZSAxOiBTaGltIHNwZWNpZmljIHNvY2tldCBvcHRpb25z
IGZvciBnZXRzb2Nrb3B0KCkgYW5kDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0
c29ja29wdCgpDQoNCiAgICoxOiBQb2ludGVyIHRvIHRoZSBidWZmZXIgd2hpY2ggc3RvcmVzIGFy
cmF5cyBvZiBsb2NhdG9yIGluZm9ybWF0aW9uLg0KICAgVGhlIGJ1ZmZlciBpcyBhY3R1YWxseSB0
aGUgY2hhaW5lZCBsaXN0IG9mIGFkZHJpbmZvIHN0cnVjdHVyZS4NCg0KICAgKjI6IFRCRC4NCg0K
ICAgRmlndXJlIDIgaWxsdXN0cmF0ZXMgaG93IHRoZSBzaGltIHNwZWNpZmljIHNvY2tldCBvcHRp
b25zIGZpdCBpbnRvDQogICB0aGUgc3lzdGVtIG1vZGVsIG9mIHNvY2tldCBBUEkuICBJbiB0aGUg
ZmlndXJlLCBpdCBjYW4gYmUgc2VlbiB0aGF0DQogICB0aGUgc2hpbSBsYXllciBhbmQgYWRkaXRp
b25hbCBwcm90b2NvbCBjb21wb25lbnRzIChJUHY0IGFuZCBJUHY2KQ0KICAgYmVsb3cgdGhlIHNo
aW0gbGF5ZXIgYXJlIG5ldyB0byB0aGUgc3lzdGVtIG1vZGVsLiAgQXMgcHJldmlvdXNseQ0KICAg
bWVudGlvbmVkLCBhbGwgdGhlIHNoaW0gc3BlY2lmaWMgc29ja2V0IG9wdGlvbnMgYXJlIGRlZmlu
ZWQgYXQNCiAgIFNPTF9TSElNIGxldmVsLiAgVGhpcyBkZXNpZ24gY2hvaWNlIGJyaW5ncyB0aGUg
Zm9sbG93aW5nIGFkdmFudGFnZXM6DQoNCiAgIDEuICBJdCBpcyBhc3N1cmVkIHRoYXQgZXhpc3Rp
bmcgc29ja2V0IEFQSSBjb250aW51ZSB0byB3b3JrIGF0IHRoZQ0KICAgICAgIGxheWVyIGFib3Zl
IHRoZSBzaGltIGxheWVyLiAgVGhhdCBpcywgdGhvc2UgbGVnYWN5IEFQSSBkZWFsIHdpdGgNCiAg
ICAgICAnaWRlbnRpZmllcicgYXNwZWN0IG9mIHRoZSBJUCBhZGRyZXNzZXMuDQoNCiAgIDIuICBX
aXRoIG5ld2x5IGRlZmluZWQgc29ja2V0IG9wdGlvbnMgZm9yIHRoZSBzaGltIGxheWVyLCBhcHBs
aWNhdGlvbg0KICAgICAgIG9idGFpbnMgYWRkaXRpb25hbCBjb250cm9sIG9uIGxvY2F0b3IgbWFu
YWdlbWVudC4NCg0KDQoNCktvbXUsIGV0IGFsLiAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCA1
LCAyMDA2ICAgICAgICAgICAgICAgIFtQYWdlIDEzXQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAg
ICAgICAgTXVsdGlob21lZCBTaGltIEFQSSAgICAgICAgICAgICBGZWJydWFyeSAyMDA2DQoNCg0K
ICAgMy4gIFRoZSBzaGltIHNwZWNpZmljIHNvY2tldCBvcHRpb25zIGFyZSBub3Qgc3BlY2lmaWMg
dG8gYW55IGFkZHJlc3MNCiAgICAgICBmYW1pbHkgKElQUFJPVE9fSVAgb3IgSVBQUk9UT19JUFY2
KSBub3IgYW55IHRyYW5zcG9ydCBwcm90b2NvbA0KICAgICAgIChTT0NLX1NUUkVBTSBvciBTT0NL
X0RHUkFNIG9yIFNPQ0tfUkFXKS4NCg0KDQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
MSBzMiAgICAgIHMzIHM0DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIHwgICAgICAg
fCAgfA0KICAgICAgICAgICAgKy0tLS0tLS0tLS0tLS0tLS18LS18LS0tLS0tLXwtLXwtLS0tLS0t
LS0tLS0tLS0tKw0KICAgICAgICAgICAgfCAgICAgICAgICAgICArLS0tLS0tLSsgICArLS0tLS0t
LSsgICAgICAgICAgICAgfA0KICAgICAgICAgICAgfCBJUFBST1RPX1RDUCB8ICBUQ1AgIHwgICB8
ICBVRFAgIHwgICAgICAgICAgICAgfA0KICAgICAgICAgICAgfCAgICAgICAgICAgICArLS0tLS0t
LSsgICArLS0tLS0tLSsgICAgICAgICAgICAgfA0KICAgICAgICAgICAgfCAgICAgICAgICAgICAg
ICB8ICAgXCAgICAgLyAgIHwgICAgICAgICAgICAgICAgfA0KICAgICAgICAgICAgfCAgICAgICAg
ICAgICAgICB8ICAgIC0tLS0tICAgIHwgICAgICAgICAgICAgICAgfA0KICAgICAgICAgICAgfCAg
ICAgICAgICAgICAgICB8ICAgLyAgICAgXCAgIHwgICAgICAgICAgICAgICAgfA0KICAgICAgICAg
ICAgfCAgICAgICAgICAgICAgKy0tLS0tLSsgICArLS0tLS0tKyAgICAgICAgICAgICAgfA0KICAg
ICAgICAgICAgfCAgIElQUFJPVE9fSVAgfCBJUHY0IHwgICB8IElQdjYgfCBJUFBST1RPX0lQVjYg
fA0KICAgICAgICAgICAgfCAgICAgICAgICAgICAgKy0tLS0tLSsgICArLS0tLS0tKyAgICAgICAg
ICAgICAgfA0KICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgIFwgICAgICAgICAvICAgICAg
ICAgICAgIFNPTF9TT0NLRVQNCiAgICAgICAgICAgIHwgICAgICAgICAgKy0tLS0tLS0tXC0tLS0t
LS0vLS0tLS0tLS0rICAgICAgICAgIHwNCiAgICAgICAgICAgIHwgU09MX1NISU0gfCAgICAgICAg
ICBzaGltICAgICAgICAgICB8ICAgICAgICAgIHwNCiAgICAgICAgICAgIHwgICAgICAgICAgKy0t
LS0tLS0tLy0tLS0tLS1cLS0tLS0tLS0rICAgICAgICAgIHwNCiAgICAgICAgICAgIHwgICAgICAg
ICAgICAgICAgICAvICAgICAgICAgXCAgICAgICAgICAgICAgICAgIHwNCiAgICAgICAgICAgIHwg
ICAgICAgICAgICAgICstLS0tLS0rICAgKy0tLS0tLSsgICAgICAgICAgICAgIHwNCiAgICAgICAg
ICAgIHwgICAgICAgICAgICAgIHwgSVB2NCB8ICAgfCBJUHY2IHwgICAgICAgICAgICAgIHwNCiAg
ICAgICAgICAgIHwgICAgICAgICAgICAgICstLS0tLS0rICAgKy0tLS0tLSsgICAgICAgICAgICAg
IHwNCiAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICB8ICAgICAgICAgIHwgICAgICAgICAg
ICAgICAgIHwNCiAgICAgICAgICAgICstLS0tLS0tLS0tLS0tLS0tLS18LS0tLS0tLS0tLXwtLS0t
LS0tLS0tLS0tLS0tLSsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAg
IHwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSVB2NCAgICAgICBJUHY2DQogICAgICAg
ICAgICAgICAgICAgICAgICAgICBEYXRhZ3JhbSAgIERhdGFncmFtDQoNCg0KICAgRmlndXJlIDI6
IFN5c3RlbSBtb2RlbCBvZiBzb2NrZXQgQVBJIHdpdGggc2hpbSBsYXllcg0KDQo2LjEuICBTSElN
X0FTU09DSUFURUQNCg0KICAgVGhpcyBvcHRpb24gY2FuIGJlIHNwZWNpZmllZCBieSBnZXRzb2Nr
b3B0KCkgdG8gY2hlY2sgaWYgdGhlIHNvY2tldA0KICAgaXMgYXNzb2NpYXRlZCB3aXRoIGFueSBz
aGltIGNvbnRleHQgb3Igbm90LiAgVGh1cywgdGhlIG9wdGlvbiBpcw0KICAgcmVhZC1vbmx5IGFu
ZCB0aGUgcmVzdWx0ICgwIG9yIDEpIGlzIHNldCBpbiBvcHR2YWwuICBBIHJldHVybmVkIHZhbHVl
DQogICAxIG1lYW5zIHRoYXQgdGhlIHNvY2tldCBpcyBhc3NvY2lhdGVkIHdpdGggYSBnaXZlbiBz
aGltIGNvbnRleHQgYXQNCiAgIHRoZSBzaGltIGxheWVyLCB3aGlsZSBhIHJldHVybiB2YWx1ZSAw
IGluZGljYXRlcyB0aGF0IHRoZXJlIGlzIG5vDQogICBjb250ZXh0IGFzc29jaWF0ZWQgd2l0aCB0
aGUgc29ja2V0Lg0KDQogICBUaGlzIG9wdGlvbiBpcyBwYXJ0aWN1bGFybHkgbWVhbmluZ2Z1bCBp
biBhIGNhc2Ugd2hlcmUgbG9jYXRvcg0KICAgaW5mb3JtYXRpb24gb2YgdGhlIHJlY2VpdmVkIElQ
IHBhY2tldCBpcyBub3QgZW5vdWdoIGZvciBpZGVudGlmeWluZw0KICAgaWYgdGhlIElEL0xvY2F0
b3IgYWRhcHRhdGlvbiBpcyBwZXJmb3JtZWQgb3Igbm90LiAgTm90ZSB0aGF0IHRoZSBFSUQNCiAg
IHBhaXIgYW5kIGxvY2F0b3IgcGFpciBtYXliZSBpZGVudGljYWwgaW4gc29tZSBjYXNlLg0KDQoN
Cg0KS29tdSwgZXQgYWwuICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDUsIDIwMDYgICAgICAg
ICAgICAgICAgW1BhZ2UgMTRdDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICBNdWx0aWhv
bWVkIFNoaW0gQVBJICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDYNCg0KDQogICBJU1NVRTogU2hv
dWxkIHdlIGxpbWl0IHRoaXMgb3B0aW9uIG9ubHkgZm9yICdjb25uZWN0ZWQnIHNvY2tldCA/DQoN
CjYuMi4gIFNISU1fRE9OVFNISU0NCg0KICAgVGhpcyBvcHRpb24gY2FuIGJlIHNwZWNpZmllZCBl
aXRoZXIgYnkgZ2V0c29ja29wdCgpIG9yIHNldHNvY2tvcHQoKS4NCg0KICAgVGhlIGFwcGxpY2F0
aW9uIGNhbiBzcGVjaWZ5IHRoZSBvcHRpb24gYnkgc2V0c29ja29wdCgpIHRha2luZyB0aGUNCiAg
IGFyZ3VtZW50IG9wdHZhbCB3aXRoIHZhbHVlIDEgdG8gcmVxdWVzdCB0aGUgc2hpbSBsYXllciBu
b3QgdG8gYXBwbHkNCiAgIGFueSBtdWx0aWhvbWluZyBzdXBwb3J0IGZvciB0aGUgY29tbXVuaWNh
dGlvbi4gIFRoZSBhcHBsaWNhdGlvbiBjYW4NCiAgIGFsc28gb2J0YWluIHRoZSBjdXJyZW50IHNl
dHRpbmcgYnkgc3BlY2lmeWluZyB0aGUgdGhlIHNvY2tldCBvcHRpb24NCiAgIGluIGdldHNvY2tv
cHQoKS4gIFRoZSByZXN1bHQgc2hvdWxkIGJlIGJpbmFyeSAoMCBvciAxKS4NCg0KICAgQnkgZGVm
YXVsdCwgdGhlIHZhbHVlIGlzIHNldCB0byAwLCBtZWFuaW5nIHRoYXQgdGhlIHNoaW0gbGF5ZXIg
d2lsbA0KICAgdHJ5IHRvIGFwcGx5IElEL0xvY2F0b3IgYWRhcHRhdGlvbiBmb3IgdGhlIGNvbW11
bmljYXRpb24gb3ZlciBhIGdpdmVuDQogICBzb2NrZXQuDQoNCiAgIE9uY2UgdGhlIHNvY2tldCBv
cHRpb24gaXMgc3BlY2lmaWVkIGJ5IHNldHNvY2tvcHQoKSwgaXQgcmVtYWlucw0KICAgZWZmZWN0
aXZlIHVudGlsIGl0IGlzIGRlYWN0aXZhdGVkIChzdGlja3kgb3B0aW9uKS4NCg0KNi4zLiAgU0hJ
TV9IT1RfU1RBTkRCWQ0KDQogICBUaGlzIG9wdGlvbiBjYW4gYmUgc3BlY2lmaWVkIGJ5IHNldHNv
Y2tvcHQoKS4NCg0KICAgQnkgc2V0dGluZyAxIGluIHRoZSBvcHR2YWwgZm9yIHRoZSBzZXRzb2Nr
b3B0KCksIHRoZSBhcHBsaWNhdGlvbiBjYW4NCiAgIHJlcXVlc3QgdGhlIHNoaW0gbGF5ZXIgdG8g
dXRpbGl6ZSBhIGhvdC1zdGFuZGJ5IGNvbm5lY3Rpb24uICBUaGUgaG90LQ0KICAgc3RhbmRieSBj
b25uZWN0aW9uIGNhbiBiZSBwcm92aWRlZCBieSBhIGRpZmZlcmVudCBzZXQgb2YgbG9jYXRvciBw
YWlyDQogICBvdGhlciB0aGFuIHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgbG9jYXRvciBwYWlyLg0K
DQogICBCeSBkZWZhdWx0LCB0aGUgdmFsdWUgaXMgc2V0IHRvIDAsIG1lYW5pbmcgdGhhdCBob3Qt
c3RhbmRieQ0KICAgY29ubmVjdGlvbiBpcyBkaXNhYmxlZC4NCg0KICAgT25jZSB0aGUgc29ja2V0
IG9wdGlvbiBpcyBzcGVjaWZpZWQgYnkgc2V0c29ja29wdCgpLCBpdCByZW1haW5zDQogICBlZmZl
Y3RpdmUgdW50aWwgaXQgaXMgZGVhY3RpdmF0ZWQgKHN0aWNreSBvcHRpb24pLg0KDQo2LjQuICBT
SElNX1BBVEhFWFBMT1JFDQoNCiAgIFRoaXMgb3B0aW9uIGNhbiBiZSBzcGVjaWZpZWQgZWl0aGVy
IGJ5IHNldHNvY2tvcHQoKSBvciBnZXRzb2Nrb3B0KCkuDQogICBUaGUgdmFsdWUgc3BlY2lmaWVk
IGJ5IHRoZSBvcHRpb24gaW5kaWNhdGVzIGhvdyBwcm9hY3RpdmUgdGhlDQogICBhcHBsaWNhdGlv
biB3YW50cyBwYXRoIGV4cGxvcmF0aW9uIHRvIGJlIHBlcmZvcm1lZCBpbiBjYXNlIG9mDQogICBm
YWlsdXJlLiAgVGhlcmVmb3JlLCB0aGlzIG9wdGlvbiBpcyBlZmZlY3RpdmUgb25seSB3aGVuIHRo
ZXJlIGlzDQogICBhc3NvY2lhdGVkIHNoaW0gY29udGV4dCBmb3IgdGhlIHNvY2tldC4NCg0KICAg
QnkgZGVmYXVsdCwgdGhlIHZhbHVlIGlzIHNldCB0byBkZWZhdWx0IHZhbHVlIChUQkQpLCBtZWFu
aW5nIHRoYXQgdGhlDQogICBhdHRlbXB0cyBvZiBwYXRoIGV4cGxvcmF0aW9uIGlzIG1hZGUgdXAg
dG8gVEJEIHRpbWVzLiAgVGhlIGFyZ3VtZW50DQogICBvcHR2YWwgc3BlY2lmaWVkIGJ5IGdldHNv
Y2tvcHQoKSBtdXN0IGJlIHNtYWxsZXIgdGhhbiBtYXhpbXVtIHZhbHVlDQogICAoVEJEKS4NCg0K
ICAgT25jZSB0aGUgc29ja2V0IG9wdGlvbiBpcyBzcGVjaWZpZWQgYnkgc2V0c29ja29wdCgpLCBp
dCByZW1haW5zDQoNCg0KDQpLb211LCBldCBhbC4gICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3Qg
NSwgMjAwNiAgICAgICAgICAgICAgICBbUGFnZSAxNV0NCgwNCkludGVybmV0LURyYWZ0ICAgICAg
ICAgICAgIE11bHRpaG9tZWQgU2hpbSBBUEkgICAgICAgICAgICAgRmVicnVhcnkgMjAwNg0KDQoN
CiAgIGVmZmVjdGl2ZSB1bnRpbCBpdCBpcyBkZWFjdGl2YXRlZCAoc3RpY2t5IG9wdGlvbikuDQoN
CjYuNS4gIFNISU1fTE9DX0xPQ0FMX1BSRUYNCg0KICAgVGhpcyBvcHRpb24gY2FuIGJlIHNwZWNp
ZmllZCBlaXRoZXIgYnkgc2V0c29ja29wdCgpIG9yIGdldHNvY2tvcHQoKS4NCg0KICAgV2hlbiBz
cGVjaWZpZWQgYnkgc2V0c29ja29wdCgpLCBwcmVmZXJyZWQgbG9jYXRvciBvbiBsb2NhbCBzaWRl
IGlzDQogICBleHBsaWNpdGx5IGdpdmVuIHRvIHRoZSBzaGltIGxheWVyLiAgVGhlIHNoaW0gbGF5
ZXIgc2hhbGwgYWNjb3JkaW5nbHkNCiAgIHVwZGF0ZSB0aGUgcHJlZmVycmVkIGxvY2F0b3Igb2Yg
dGhlIGNvbnRleHQgYXNzb2NpYXRlZCB3aXRoIHRoZQ0KICAgc29ja2V0Lg0KDQogICBXaGVuIHNw
ZWNpZmllZCBieSBnZXRzb2Nrb3B0KCksIHByZWZlcnJlZCBsb2NhdG9yIG9uIGxvY2FsIHNpZGUg
aXMNCiAgIHJldHVybmVkIGJ5IHRoZSBzaGltIGxheWVyLg0KDQogICBBbiBlcnJvciBFTk9TSElN
Q09OVEVYVCB3aWxsIGJlIHJldHVybmVkIHdoZW4gdGhlcmUgaXMgbm8gY29udGV4dA0KICAgYXNz
b2NpYXRlZCB3aXRoIHRoZSBzb2NrZXQuDQoNCiAgIE9uY2UgdGhlIHNvY2tldCBvcHRpb24gaXMg
c3BlY2lmaWVkIGJ5IHNldHNvY2tvcHQoKSwgaXQgcmVtYWlucw0KICAgZWZmZWN0aXZlIHVudGls
IGl0IGlzIGRlYWN0aXZhdGVkIChzdGlja3kgb3B0aW9uKS4NCg0KNi42LiAgU0hJTV9MT0NfUEVF
Ul9QUkVGDQoNCiAgIFRoaXMgb3B0aW9uIGNhbiBiZSBzcGVjaWZpZWQgZWl0aGVyIGJ5IHNldHNv
Y2tvcHQoKSBvciBnZXRzb2Nrb3B0KCkuDQoNCiAgIFdoZW4gc3BlY2lmaWVkIGJ5IHNldHNvY2tv
cHQoKSwgcHJlZmVycmVkIGxvY2F0b3Igb24gcmVtb3RlIHNpZGUgaXMNCiAgIGV4cGxpY2l0bHkg
Z2l2ZW4gdG8gdGhlIHNoaW0gbGF5ZXIuICBUaGUgc2hpbSBsYXllciBzaGFsbCBhY2NvcmRpbmds
eQ0KICAgdXBkYXRlIHRoZSBwcmVmZXJyZWQgbG9jYXRvciBvZiB0aGUgY29udGV4dCBhc3NvY2lh
dGVkIHdpdGggdGhlDQogICBzb2NrZXQuDQoNCiAgIFdoZW4gc3BlY2lmaWVkIGJ5IGdldHNvY2tv
cHQoKSwgcHJlZmVycmVkIGxvY2F0b3Igb24gcmVtb3RlIHNpZGUgaXMNCiAgIHJldHVybmVkIGJ5
IHRoZSBzaGltIGxheWVyLg0KDQogICBBbiBlcnJvciBFTk9TSElNQ09OVEVYVCB3aWxsIGJlIHJl
dHVybmVkIHdoZW4gdGhlcmUgaXMgbm8gY29udGV4dA0KICAgYXNzb2NpYXRlZCB3aXRoIHRoZSBz
b2NrZXQuDQoNCiAgIEFuIGVycm9yIEVJTlZBTElETE9DQVRPUiB3aWxsIGJlIHJldHVybmVkIHdo
ZW4gdmFsaWRhdGlvbiBvZiB0aGUNCiAgIHNwZWNpZmllZCBsb2NhdG9yIGZhaWxlZC4NCg0KICAg
T25jZSB0aGUgc29ja2V0IG9wdGlvbiBpcyBzcGVjaWZpZWQgYnkgc2V0c29ja29wdCgpLCBpdCBy
ZW1haW5zDQogICBlZmZlY3RpdmUgdW50aWwgaXQgaXMgZGVhY3RpdmF0ZWQgKHN0aWNreSBvcHRp
b24pLg0KDQo2LjcuICBTSElNX0xPQ19MT0NBTF9SRUNWDQoNCiAgIFRoaXMgb3B0aW9uIGNhbiBi
ZSBzcGVjaWZpZWQgYnkgc2V0c29ja29wdCgpLg0KDQogICBXaGVuIHNwZWNpZmllZCBieSBzZXRz
b2Nrb3B0KCksIHRoZSBzaGltIGxheWVyIHN0b3JlcyB0aGUgZGVzdGluYXRpb24NCiAgIGxvY2F0
b3Igb2YgdGhlIHJlY2VpdmVkIElQIHBhY2tldCBpbiBhbiBhbmNpbGxhcnkgZGF0YSBvYmplY3Qg
d2hpY2gNCiAgIGNhbiBiZSBhY2Nlc3NlZCBieSByZWN2bXNnKCkuICBUaGUgYXJndW1lbnQgb3B0
dmFsIHZhbHVlIHNob3VsZCBiZQ0KDQoNCg0KS29tdSwgZXQgYWwuICAgICAgICAgICAgIEV4cGly
ZXMgQXVndXN0IDUsIDIwMDYgICAgICAgICAgICAgICAgW1BhZ2UgMTZdDQoMDQpJbnRlcm5ldC1E
cmFmdCAgICAgICAgICAgICBNdWx0aWhvbWVkIFNoaW0gQVBJICAgICAgICAgICAgIEZlYnJ1YXJ5
IDIwMDYNCg0KDQogICBzZXQgdG8gMS4NCg0KICAgQW4gZXJyb3IgRU5PU0hJTUNPTlRFWFQgd2ls
bCBiZSByZXR1cm5lZCB3aGVuIHRoZXJlIGlzIG5vIGNvbnRleHQNCiAgIGFzc29jaWF0ZWQgd2l0
aCB0aGUgc29ja2V0Lg0KDQogICBPbmNlIHRoZSBzb2NrZXQgb3B0aW9uIGlzIHNwZWNpZmllZCBi
eSBzZXRzb2Nrb3B0KCksIGl0IHJlbWFpbnMNCiAgIGVmZmVjdGl2ZSB1bnRpbCBpdCBpcyBkZWFj
dGl2YXRlZCAoc3RpY2t5IG9wdGlvbikuDQoNCjYuOC4gIFNISU1fTE9DX1BFRVJfUkVDVg0KDQog
ICBUaGlzIG9wdGlvbiBjYW4gYmUgc3BlY2lmaWVkIGJ5IHNldHNvY2tvcHQoKS4NCg0KICAgV2hl
biBzcGVjaWZpZWQgYnkgc2V0c29ja29wdCgpLCB0aGUgc2hpbSBsYXllciBzdG9yZXMgdGhlIHNv
dXJjZQ0KICAgbG9jYXRvciBvZiB0aGUgcmVjZWl2ZWQgSVAgcGFja2V0IGluIGFuIGFuY2lsbGFy
eSBkYXRhIG9iamVjdCB3aGljaA0KICAgY2FuIGJlIGFjY2Vzc2VkIGJ5IHJlY3Ztc2coKS4gIFRo
ZSBhcmd1bWVudCBvcHR2YWwgdmFsdWUgc2hvdWxkIGJlDQogICBzZXQgdG8gMS4NCg0KICAgQW4g
ZXJyb3IgRU5PU0hJTUNPTlRFWFQgd2lsbCBiZSByZXR1cm5lZCB3aGVuIHRoZXJlIGlzIG5vIGNv
bnRleHQNCiAgIGFzc29jaWF0ZWQgd2l0aCB0aGUgc29ja2V0Lg0KDQogICBPbmNlIHRoZSBzb2Nr
ZXQgb3B0aW9uIGlzIHNwZWNpZmllZCBieSBzZXRzb2Nrb3B0KCksIGl0IHJlbWFpbnMNCiAgIGVm
ZmVjdGl2ZSB1bnRpbCBpdCBpcyBkZWFjdGl2YXRlZCAoc3RpY2t5IG9wdGlvbikuDQoNCjYuOS4g
IFNISU1fTE9DTElTVF9MT0NBTA0KDQogICBUaGlzIG9wdGlvbiBjYW4gYmUgc3BlY2lmaWVkIGVp
dGhlciBieSBnZXRzb2Nrb3B0KCkgb3Igc2V0c29ja29wdCgpLg0KDQogICBXaGVuIHNwZWNpZmll
ZCBieSBzZXRzb2Nrb3B0KCksIGFwcGxpY2F0aW9uIHByb3ZpZGVzIGEgbGlzdCBvZg0KICAgbG9j
YXRvcnMgd2hpY2ggaXMgYXNzb2NpYXRlZCB3aXRoIHRoZSBsb2NhbCBFSUQgdG8gdGhlIHNoaW0g
bGF5ZXIuDQogICBBY2NvcmRpbmdseSwgdGhlIHNoaW0gbGF5ZXIgc2hhbGwgdXBkYXRlIHRoZSBs
aXN0IG9mIGxvY2F0b3JzDQogICBMcyhsb2NhbCkuICBUaGUgYXJndW1lbnQgb3B0dmFsIHNob3Vs
ZCBjb250YWluIGEgcG9pbnRlciB0byB0aGUNCiAgIGJ1ZmZlciBpbiB3aGljaCBhIGxpc3Qgb2Yg
bG9jYXRvcnMgYXJlIHN0b3JlZC4gIFNlZSBTZWN0aW9uIDggZm9yDQogICBkZXRhaWwuDQoNCiAg
IFdoZW4gc3BlY2lmaWVkIGJ5IGdldHNvY2tvcHQoKSwgYXBwbGljYXRpb24gb2J0YWlucyBhIGxp
c3Qgb2YNCiAgIGxvY2F0b3JzIHdoaWNoIGlzIGFzc29jaWF0ZWQgd2l0aCB0aGUgbG9jYWwgRUlE
Lg0KDQogICBBbiBlcnJvciBFTk9TSElNQ09OVEVYVCB3aWxsIGJlIHJldHVybmVkIHdoZW4gdGhl
cmUgaXMgbm8gY29udGV4dA0KICAgYXNzb2NpYXRlZCB3aXRoIHRoZSBzb2NrZXQuDQoNCiAgIE9u
Y2UgdGhlIHNvY2tldCBvcHRpb24gaXMgc3BlY2lmaWVkIGJ5IHNldHNvY2tvcHQoKSwgaXQgcmVt
YWlucw0KICAgZWZmZWN0aXZlIHVudGlsIGl0IGlzIGRlYWN0aXZhdGVkIChzdGlja3kgb3B0aW9u
KS4NCg0KNi4xMC4gIFNISU1fTE9DTElTVF9SRU1PVEUNCg0KICAgVGhpcyBvcHRpb24gY2FuIGJl
IHNwZWNpZmllZCBlaXRoZXIgYnkgZ2V0c29ja29wdCgpIG9yIHNldHNvY2tvcHQoKS4NCg0KICAg
V2hlbiBzcGVjaWZpZWQgYnkgc2V0c29ja29wdCgpLCBhcHBsaWNhdGlvbiBwcm92aWRlcyBhIGxp
c3Qgb2YNCg0KDQoNCktvbXUsIGV0IGFsLiAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCA1LCAy
MDA2ICAgICAgICAgICAgICAgIFtQYWdlIDE3XQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAg
ICAgTXVsdGlob21lZCBTaGltIEFQSSAgICAgICAgICAgICBGZWJydWFyeSAyMDA2DQoNCg0KICAg
bG9jYXRvcnMgd2hpY2ggaXMgYXNzb2NpYXRlZCB3aXRoIHRoZSByZW1vdGUgRUlEIHRvIHRoZSBz
aGltIGxheWVyLg0KICAgQWNjb3JkaW5nbHksIHRoZSBzaGltIGxheWVyIHNoYWxsIHVwZGF0ZSB0
aGUgbGlzdCBvZiBsb2NhdG9ycw0KICAgTHMocmVtb3RlKS4gIFRoZSBhcmd1bWVudCBvcHR2YWwg
c2hvdWxkIGNvbnRhaW4gYSBwb2ludGVyIHRvIHRoZQ0KICAgYnVmZmVyIGluIHdoaWNoIGEgbGlz
dCBvZiBsb2NhdG9ycyBhcmUgc3RvcmVkLiAgU2VlIFNlY3Rpb24gWC5YIGZvcg0KICAgZGV0YWls
Lg0KDQogICBXaGVuIHNwZWNpZmllZCBieSBnZXRzb2Nrb3B0KCksIGFwcGxpY2F0aW9uIG9idGFp
bnMgYSBsaXN0IG9mDQogICBsb2NhdG9ycyB3aGljaCBpcyBhc3NvY2lhdGVkIHdpdGggdGhlIHJl
bW90ZSBFSUQuDQoNCiAgIEFuIGVycm9yIEVOT1NISU1DT05URVhUIHdpbGwgYmUgcmV0dXJuZWQg
d2hlbiB0aGVyZSBpcyBubyBjb250ZXh0DQogICBhc3NvY2lhdGVkIHdpdGggdGhlIHNvY2tldC4N
Cg0KICAgT25jZSB0aGUgc29ja2V0IG9wdGlvbiBpcyBzcGVjaWZpZWQgYnkgc2V0c29ja29wdCgp
LCBpdCByZW1haW5zDQogICBlZmZlY3RpdmUgdW50aWwgaXQgaXMgZGVhY3RpdmF0ZWQgKHN0aWNr
eSBvcHRpb24pLg0KDQo2LjExLiAgU0hJTV9USU1FUl9LRUVQQUxJVkUNCg0KICAgVGhpcyBvcHRp
b24gY2FuIGJlIHNwZWNpZmllZCBieSBzZXRzb2Nrb3B0KCkuDQoNCiAgIFRoZSBhcHBsaWNhdGlv
biBjYW4gaW5mb3JtIHRoZSBzaGltIGxheWVyIGFib3V0IHRoZSB0aW1lciB2YWx1ZSBmb3INCiAg
IGtlZXBhbGl2ZS4gIFRoZSBhcmd1bWVudCBvcHR2YWwgc2hvdWxkIGNvbnRhaW4gdGhlIHRpbWVy
IHZhbHVlIGluDQogICBzZWNvbmRzLiAgQWNjb3JkaW5nbHksIHRoZSBzaGltIGxheWVyIHNoYWxs
IHVwZGF0ZSB0aGUgc3RyYXRlZ3kgZm9yDQogICByZWFjaGFiaWxpdHkgdGVzdC4gIEVzcGVjaWFs
bHksIHRoaXMgaXMgZWZmaWNpZW50IGluIGEgY2FzZSB3aGVyZSB0aGUNCiAgIGluZm9ybWVkIHRp
bWVyIHZhbHVlIGlzIHNob3J0ZXIgdGhhbiB0aGUgaW50ZXJ2YWwgb2Yga2VlcGFsaXZlLiAgSW4N
CiAgIHN1Y2ggY2FzZSwga2VlcGFsaXZlcyB0byBiZSBwZXJmb3JtZWQgYnkgUkVBUCBtYXkgYmUg
c3VwcHJlc3NlZC4NCg0KICAgQW4gZXJyb3IgRU5PU0hJTUNPTlRFWFQgd2lsbCBiZSByZXR1cm5l
ZCB3aGVuIHRoZXJlIGlzIG5vIGNvbnRleHQNCiAgIGFzc29jaWF0ZWQgd2l0aCB0aGUgc29ja2V0
Lg0KDQogICBPbmNlIHRoZSBzb2NrZXQgb3B0aW9uIGlzIHNwZWNpZmllZCBieSBzZXRzb2Nrb3B0
KCksIGl0IHJlbWFpbnMNCiAgIGVmZmVjdGl2ZSB1bnRpbCBpdCBpcyBkZWFjdGl2YXRlZCAoc3Rp
Y2t5IG9wdGlvbikuDQoNCjYuMTIuICBTSElNX0ZFRURCQUNLX1BPU0lUSVZFDQoNCiAgIFRoaXMg
b3B0aW9uIGNhbiBiZSBzcGVjaWZpZWQgYnkgc2V0c29ja29wdCgpLg0KDQogICBUaGUgYXBwbGlj
YXRpb24gY2FuIHNpbXBseSBpbmZvcm0gdGhlIHNoaW0gbGF5ZXIgdGhhdCBpdHMNCiAgIGNvbW11
bmljYXRpb24gaXMgZ29pbmcgd2VsbC4gIFRoZSBhcmd1bWVudCBvcHR2YWwgc2hvdWxkIGJlIHNl
dCB0byAxLg0KDQogICBBbiBlcnJvciBFTk9TSElNQ09OVEVYVCB3aWxsIGJlIHJldHVybmVkIHdo
ZW4gdGhlcmUgaXMgbm8gY29udGV4dA0KICAgYXNzb2NpYXRlZCB3aXRoIHRoZSBzb2NrZXQuDQoN
CjYuMTMuICBTSElNX0ZFRURCQUNLX05FR0FUSVZFDQoNCiAgIFRoaXMgb3B0aW9uIGNhbiBiZSBz
cGVjaWZpZWQgYnkgc2V0c29ja29wdCgpLg0KDQogICBUaGUgYXBwbGljYXRpb24gY2FuIGluZm9y
bSB0aGUgc2hpbSBsYXllciB0aGF0IGl0cyBjb21tdW5pY2F0aW9uIGlzDQogICBub3QgZ29pbmcg
d2VsbC4gIFRoZSBhcmd1bWVudCBvcHR2YWwgc2hvdWxkIGJlIFRCRC4NCg0KDQoNCktvbXUsIGV0
IGFsLiAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCA1LCAyMDA2ICAgICAgICAgICAgICAgIFtQ
YWdlIDE4XQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgTXVsdGlob21lZCBTaGltIEFQ
SSAgICAgICAgICAgICBGZWJydWFyeSAyMDA2DQoNCg0KICAgQW4gZXJyb3IgRU5PU0hJTUNPTlRF
WFQgd2lsbCBiZSByZXR1cm5lZCB3aGVuIHRoZXJlIGlzIG5vIGNvbnRleHQNCiAgIGFzc29jaWF0
ZWQgd2l0aCB0aGUgc29ja2V0Lg0KDQo2LjE0LiAgU0hJTV9JRl9SRUNWDQoNCiAgIFRoaXMgb3B0
aW9uIGNhbiBiZSBzcGVjaWZpZWQgYnkgc2V0c29ja29wdCgpLg0KDQogICBUaGUgYXBwbGljYXRp
b24gY2FuIHJlcXVlc3QgdGhlIHNoaW0gbGF5ZXIgdG8gcHJvdmlkZSBpbnRlcmZhY2UgZnJvbQ0K
ICAgd2hpY2ggdGhlIHBhY2tldCBpcyByZWNlaXZlZC4gIE9uY2UgdGhlIHNvY2tldCBvcHRpb24g
aXMgc3VjY2Vzc2Z1bGx5DQogICBzZXQsIHRoZSBpbnRlcmZhY2UgaW5mb3JtYXRpb24gY2FuIGJl
IG9idGFpbmVkIGJ5IHJlY3Ztc2coKSBmcm9tIHRoZQ0KICAgYW5jaWxsYXJ5IGRhdGEuICBUaGUg
YXJndW1lbnQgb3B0dmFsIHNob3VsZCBiZSBzZXQgdG8gMS4NCg0KICAgQW4gZXJyb3IgRU5PU0hJ
TUNPTlRFWFQgd2lsbCBiZSByZXR1cm5lZCB3aGVuIHRoZXJlIGlzIG5vIGNvbnRleHQNCiAgIGFz
c29jaWF0ZWQgd2l0aCB0aGUgc29ja2V0Lg0KDQogICBPbmNlIHRoZSBzb2NrZXQgb3B0aW9uIGlz
IHNwZWNpZmllZCBieSBzZXRzb2Nrb3B0KCksIGl0IHJlbWFpbnMNCiAgIGVmZmVjdGl2ZSB1bnRp
bCBpdCBpcyBkZWFjdGl2YXRlZCAoc3RpY2t5IG9wdGlvbikuDQoNCjYuMTUuICBTSElNX0lGX1NF
TkQNCg0KICAgVGhpcyBvcHRpb24gY2FuIGJlIHNwZWNpZmllZCBieSBzZXRzb2Nrb3B0KCkuDQoN
CiAgIFRoZSBhcHBsaWNhdGlvbiBjYW4gc3BlY2lmeSBvdXRnb2luZyBpbnRlcmZhY2Ugb2YgdGhl
IG91dGJvdW5kDQogICB0cmFmZmljIG92ZXIgdGhlIHNvY2tldC4gIEFwcGxpY2F0aW9uIHNob3Vs
ZCBzcGVjaWZ5IHRoZSByZXF1ZXN0ZWQNCiAgIGludGVyZmFjZSBpZGVudGlmaWVyIGluIHRoZSBh
cmd1bWVudCBvcHR2YWwuICBBbHRlcm5hdGl2ZWx5LCB0aGlzDQogICBvcHRpb24gY2FuIGFsc28g
YmUgc3BlY2lmaWVkIGluIGFuY2lsbGFyeSBkYXRhIGluIGFsb25nIHdpdGgNCiAgIHNlbmRtc2co
KSBjYWxsLg0KDQogICBPbmNlIHRoZSBzb2NrZXQgb3B0aW9uIGlzIHNwZWNpZmllZCBieSBzZXRz
b2Nrb3B0KCksIGl0IHJlbWFpbnMNCiAgIGVmZmVjdGl2ZSB1bnRpbCBpdCBpcyBkZWFjdGl2YXRl
ZCAoc3RpY2t5IG9wdGlvbikuDQoNCjYuMTYuICBFcnJvciBIYW5kbGluZw0KDQogICBJZiBzdWNj
ZXNzZnVsLCBnZXRzb2Nrb3B0KCkgYW5kIHNldHNvY2tvcHQoKSByZXR1cm4gMDsgb3RoZXJ3aXNl
LCB0aGUNCiAgIGZ1bmN0aW9ucyByZXR1cm4gLTEgYW5kIHNldCBlcnJubyB0byBpbmRpY2F0ZSBl
cnJvci4NCg0KICAgRm9sbG93aW5nIGFyZSBlcnJubyBjb2RlcyBuZXdseSBkZWZpbmVkIGZvciBz
b21lIHNoaW0gc3BlY2lmaWMgc29ja2V0DQogICBvcHRpb25zIGluZGljYXRpbmcgdGhhdCB0aGUg
Z2V0c29ja29wdCgpIG9yIHNldHNvY2tvcHQoKSBmaW5pc2hlZA0KICAgaW5jb21wbGV0ZWx5Og0K
DQogICAgICBFTk9TSElJTUNPTlRFWFQgLSBBbnkgc2hpbSBjb250ZXh0IGRvZXMgbm90IGV4aXN0
IHdoaWNoIGlzDQogICAgICBhc3NvY2lhdGVkIHdpdGggdGhlIHNvY2tldC4NCg0KICAgICAgRUlO
VkFMSURMT0NBVE9SIC0gQW4gaW52YWxpZCBsb2NhdG9yIHdhcyBzcGVjaWZpZWQgYnkgdGhlIHNv
Y2tldA0KICAgICAgb3B0aW9uLiAgVGhpcyBpbmRpY2F0ZXMgdGhhdCBhbnkgb2YgdGhlIG5lY2Vz
c2FyeSB2YWxpZGF0aW9ucw0KICAgICAgaW5zaWRlIHRoZSBzaGltIGxheWVyIG9uIHNwZWNpZmll
ZCBsb2NhdG9yIHdhcyBmYWlsZWQuICBJbiBjYXNlIG9mDQogICAgICBTSElNNiwgdGhlcmUgYXJl
IHR3byBraW5kcyBvZiB2ZXJpZmljYXRpb25zIHJlcXVpcmVkIHByaW9yIHRvDQogICAgICBzZW5k
aW5nIGFuIElQIHBhY2tldCB0byB0aGUgcGVlcidzIG5ldyBhZGRyZXNzOyBvbmUgaXMgcmV0dXJu
DQoNCg0KDQpLb211LCBldCBhbC4gICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgNSwgMjAwNiAg
ICAgICAgICAgICAgICBbUGFnZSAxOV0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgIE11
bHRpaG9tZWQgU2hpbSBBUEkgICAgICAgICAgICAgRmVicnVhcnkgMjAwNg0KDQoNCiAgICAgIHJv
dXRhYmlsaXR5IChjaGVjayBpZiB0aGUgcGVlciBpcyBhY3R1YWxseSB3aWxsaW5nIHRvIHJlY2Vp
dmUgZGF0YQ0KICAgICAgd2l0aCB0aGUgc3BlY2lmaWVkIGxvY2F0b3IpIGFuZCB0aGUgb3RoZXIg
aXMgdmVyaWZpY2F0aW9ucyBiYXNlZA0KICAgICAgb24gZ2l2ZW4gY3J5cHRvIGxvY2F0b3IgbWVj
aGFuaXNtc1tSRkMzOTcyXSwgW0ktRC5pZXRmLXNoaW02LWhiYV0uDQoNCg0KDQoNCg0KDQoNCg0K
DQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoN
Cg0KDQoNCg0KDQoNCg0KDQoNCg0KDQpLb211LCBldCBhbC4gICAgICAgICAgICAgRXhwaXJlcyBB
dWd1c3QgNSwgMjAwNiAgICAgICAgICAgICAgICBbUGFnZSAyMF0NCgwNCkludGVybmV0LURyYWZ0
ICAgICAgICAgICAgIE11bHRpaG9tZWQgU2hpbSBBUEkgICAgICAgICAgICAgRmVicnVhcnkgMjAw
Ng0KDQoNCjcuICBBY2Nlc3MgdG8gTG9jYXRvciBJbmZvcm1hdGlvbg0KDQogICBJbiB0aGlzIHNl
Y3Rpb24sIHRoZSB3YXkgaG93IHRvIGFjY2VzcyBsb2NhdG9yIGluZm9ybWF0aW9uIHdpdGggc29t
ZQ0KICAgSS9PIGNhbGxzIGlzIHByZXNlbnRlZC4gIEFzIGRlZmluZWQgaW4gUG9zaXguMWcsIHNl
bmRtc2coKSBhbmQNCiAgIHJlY3Ztc2coKSB0YWtlIG1zZ2hkciBzdHJ1Y3R1cmUgYXMgaXRzIGFy
Z3VtZW50IGFuZCB0aGV5IGNhbg0KICAgYWRkaXRpb25hbGx5IGhhbmRsZSBjb250cm9sIGluZm9y
bWF0aW9uIGluIGFsb25nIHdpdGggZGF0YS4gIEZpZ3VyZSAzDQogICBzaG93cyB0aGUgbXNnaGRy
IHN0cnVjdHVyZSB3aGljaCBpcyBkZWZpbmVkIGluIDxzeXMvc29ja2V0Lmg+Lg0KICAgbXNnX2Nv
bnRyb2wgbWVtYmVyIGhvbGRzIGEgcG9pbnRlciB0byB0aGUgYnVmZmVyIHdoZXJlIHRoZSBzaGlt
DQogICBzcGVjaWZpYyBhbmNpbGxhcnkgZGF0YSBvYmplY3RzIGFyZSBzdG9yZWQuDQoNCiAgICAg
ICAgc3RydWN0IG1zZ2hkciB7DQogICAgICAgICAgICAgICAgY2FkZHJfdCBtc2dfbmFtZTsgICAg
ICAgLyogb3B0aW9uYWwgYWRkcmVzcyAqLw0KICAgICAgICAgICAgICAgIHVfaW50ICAgbXNnX25h
bWVsZW47ICAgIC8qIHNpemUgb2YgYWRkcmVzcyAqLw0KICAgICAgICAgICAgICAgIHN0cnVjdCAg
aW92ZWMgKm1zZ19pb3Y7IC8qIHNjYXR0ZXIvZ2F0aGVyIGFycmF5ICovDQogICAgICAgICAgICAg
ICAgdV9pbnQgICBtc2dfaW92bGVuOyAgICAgLyogIyBlbGVtZW50cyBpbiBtc2dfaW92ICovDQog
ICAgICAgICAgICAgICAgY2FkZHJfdCBtc2dfY29udHJvbDsgICAgLyogYW5jaWxsYXJ5IGRhdGEs
IHNlZSBiZWxvdyAqLw0KICAgICAgICAgICAgICAgIHVfaW50ICAgbXNnX2NvbnRyb2xsZW47IC8q
IGFuY2lsbGFyeSBkYXRhIGJ1ZmZlciBsZW4gKi8NCiAgICAgICAgICAgICAgICBpbnQgICAgIG1z
Z19mbGFnczsgICAgICAvKiBmbGFncyBvbiByZWNlaXZlZCBtZXNzYWdlICovDQogICAgICAgIH07
DQoNCiAgIEZpZ3VyZSAzOiBtc2doZHIgc3RydWN0dXJlDQoNCiAgIElTU1VFOiBTaG91bGQgd2Ug
aW50cm9kdWNlIGEgbmV3IGZsYWcgZm9yIG1zZ19mbGFncyAoZS5nLg0KICAgTVNHX1NISU1NRUQp
ID8gIEZvbGxvd2luZyB0aGUgcHJhY3RpY2UsIGl0IHNlZW1zIHJlYXNvbmFibGUgdG8gZG8gc28s
DQogICBidXQgbm90IHN1cmUgaG93IG11Y2ggaXQgaXMgdXNlZnVsLg0KDQogICBUaGUgYnVmZmVy
IHBvaW50ZWQgZnJvbSB0aGUgbXNnX2NvbnRyb2wgbWVtYmVyIG9mIHRoZSBtc2doZHINCiAgIHN0
cnVjdHVyZSBzaG91bGQgY29udGFpbiBzaW5nbGUgbG9jYXRvciBhbmQgaXQgc2hvdWxkIGJlIHBv
c3NpYmxlIHRvDQogICBwcm9jZXNzIHRoZW0gd2l0aCBleGlzdGluZyBtYWNyb3MgZGVmaW5lZCBp
biBQb3NpeCBhbmQgW1JGQzM1NDJdLg0KICAgRWFjaCBjbXNnaGRye30gc2hvdWxkIGJlIGZvbGxv
d2VkIGJ5IGEgZGF0YSB3aGljaCBzdG9yZXMgc2luZ2xlDQogICBsb2NhdG9yLg0KDQogICBJbiBj
YXNlIG9mIG5vbi1jb25uZWN0ZWQgc29ja2V0LCBtc2dfbmFtZSBtZW1iZXIgc3RvcmVzIHRoZSBz
b2NrZXQNCiAgIGFkZHJlc3Mgb2YgdGhlIHBlZXIgd2hpY2ggc2hvdWxkIGJlIGNvbnNpZGVyZWQg
YXMgaWRlbnRpZmllciByYXRoZXINCiAgIHRoYW4gbG9jYXRvci4gIExvY2F0b3Igb2YgdGhlIHBl
ZXIgbm9kZSBzaG91bGQgYmUgcmV0cmlldmVkIGJ5DQogICBTSElNX0xPQ19SRU1PVEVfUkVDViBh
cyBzcGVjaWZpZWQgYmVsb3cuDQoNCiAgIFRhYmxlIDIgaXMgYSBsaXN0IG9mIHNoaW0gc3BlY2lm
aWMgYW5jaWxsYXJ5IGRhdGEgd2hpY2ggY2FuIGJlIHVzZWQNCiAgIGZvciByZWN2bXNnKCkgb3Ig
c2VuZG1zZygpLiAgSW4gYW55IGNhc2UsIFNPTF9TSElNIG11c3QgYmUgc2V0IGFzDQogICBjbXNn
X2xldmVsLg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCktvbXUsIGV0IGFsLiAgICAgICAgICAgICBF
eHBpcmVzIEF1Z3VzdCA1LCAyMDA2ICAgICAgICAgICAgICAgIFtQYWdlIDIxXQ0KDA0KSW50ZXJu
ZXQtRHJhZnQgICAgICAgICAgICAgTXVsdGlob21lZCBTaGltIEFQSSAgICAgICAgICAgICBGZWJy
dWFyeSAyMDA2DQoNCg0KICAgICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0r
LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSsNCiAgICAgICB8IGNtc2dfdHlwZSAgICAgICAgICAg
fCBzZW5kbXNnKCkgfCByZWN2bXNnKCkgfCBjbXNnX2RhdGFbXSB8DQogICAgICAgKy0tLS0tLS0t
LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKw0KICAg
ICAgIHwgU0hJTV9MT0NfTE9DQUxfUkVDViB8ICAgICAgICAgICB8IG8gICAgICAgICB8ICoxICAg
ICAgICAgIHwNCiAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgfCAgICAg
ICAgICAgfCAgICAgICAgICAgICB8DQogICAgICAgfCBTSElNX0xPQ19QRUVSX1JFQ1YgIHwgICAg
ICAgICAgIHwgbyAgICAgICAgIHwgKjEgICAgICAgICAgfA0KICAgICAgIHwgICAgICAgICAgICAg
ICAgICAgICB8ICAgICAgICAgICB8ICAgICAgICAgICB8ICAgICAgICAgICAgIHwNCiAgICAgICB8
IFNISU1fTE9DX0xPQ0FMX1NFTkQgfCBvICAgICAgICAgfCAgICAgICAgICAgfCAqMSAgICAgICAg
ICB8DQogICAgICAgfCAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgIHwgICAgICAgICAg
IHwgICAgICAgICAgICAgfA0KICAgICAgIHwgU0hJTV9MT0NfUEVFUl9TRU5EICB8IG8gICAgICAg
ICB8ICAgICAgICAgICB8ICoxICAgICAgICAgIHwNCiAgICAgICB8ICAgICAgICAgICAgICAgICAg
ICAgfCAgICAgICAgICAgfCAgICAgICAgICAgfCAgICAgICAgICAgICB8DQogICAgICAgfCBTSElN
X0lGX1JFQ1YgICAgICAgIHwgICAgICAgICAgIHwgbyAgICAgICAgIHwgaW50ICAgICAgICAgfA0K
ICAgICAgIHwgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICB8ICAgICAgICAgICB8ICAg
ICAgICAgICAgIHwNCiAgICAgICB8IFNISU1fSUZfU0VORCAgICAgICAgfCBvICAgICAgICAgfCAg
ICAgICAgICAgfCBpbnQgICAgICAgICB8DQogICAgICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLSst
LS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKw0KDQogICAgICAgICAgICAgICAg
ICAgVGFibGUgMjogU2hpbSBzcGVjaWZpYyBhbmNpbGxhcnkgZGF0YQ0KDQogICAqMTogY21zZ19k
YXRhW10gc2hvdWxkIGluY2x1ZGUgcGFkZGluZyAoaWYgbmVjZXNzYXJ5KSBhbmQgYSBzaW5nbGUN
CiAgIHNvY2thZGRyX3N0b3JhZ2V7fSBhIHByb3RvY29sIGluZGVwZW5kZW50IHBsYWNlaG9sZGVy
IGZvciBzb2NrZXQNCiAgIGFkZHJlc3Nlcy4NCg0KICAgSVNTVUU6IElzIHRoZSBkZXNpZ24gY2hv
aWNlICh0byB1c2Ugc29ja2FkZHJfc3RvcmFnZXt9KSByZWFzb25hYmxlID8NCg0KICAgSXQgc2hv
dWxkIGJlIG5vdGVkIHRoYXQgYWJvdmUgYW5jaWxsYXJ5IGRhdGEgY2FuIG9ubHkgYmUgaGFuZGxl
ZCBpbg0KICAgVURQIGFuZCByYXcgc29ja2V0cywgbm90IGluIFRDUCBzb2NrZXRzLiAgQXMgZXhw
bGFpbmVkIGluIFtSRkMzNTQyXSwNCiAgIHRoZXJlIGlzIG5vIG9uZS10by1vbmUgbWFwcGluZyBv
ZiBzZW5kL3JlY2VpdmUgb3BlcmF0aW9ucyBhbmQgdGhlIFRDUA0KICAgc2VnbWVudHMgYmVpbmcg
dHJhbnNtaXR0ZWQvcmVjZWl2ZWQuICBJbiBjYXNlIG9mIFRDUCwgYXBwbGljYXRpb24gbWF5DQog
ICB1c2Ugc2V0c29ja29wdCgpIG9yIGdldHNvY2tvcHQoKSB0byBhY2Nlc3Mgb3Igc3BlY2lmeSBz
b21lIG9mIGxvY2F0b3INCiAgIGluZm9ybWF0aW9uIHByb3ZpZGVkIGJ5IHRoZSBzaGltIGxheWVy
Lg0KDQo3LjEuICBHZXQgTG9jYXRvciBJbmZvcm1hdGlvbiBmcm9tIEluY29taW5nIFBhY2tldA0K
DQogICBBcHBsaWNhdGlvbiBjYW4gZ2V0IGxvY2F0b3IgaW5mb3JtYXRpb24gZnJvbSB0aGUgcmVj
ZWl2ZWQgSVAgcGFja2V0DQogICBieSBzcGVjaWZ5aW5nIHNoaW0gc3BlY2lmaWMgc29ja2V0IG9w
dGlvbnMgZm9yIHRoZSBzb2NrZXQuICBXaGVuDQogICBTSElNX0xPQ19MT0NBTF9SRUNWIGFuZC9v
ciBTSElNX0xPQ19QRUVSX1JFQ1Ygc29ja2V0IG9wdGlvbnMgYXJlIHNldCwNCiAgIGFwcGxpY2F0
aW9uIGNhbiByZXRyaWV2ZSBsb2NhbCBhbmQvb3IgcmVtb3RlIGxvY2F0b3IgZnJvbSB0aGUNCiAg
IGFuY2lsbGFyeSBkYXRhLg0KDQogICBJbiBhZGRpdGlvbiwgYXBwbGljYXRpb24gY2FuIGdldCB0
aGUgcmVjZWl2aW5nIGludGVyZmFjZSBmcm9tIHRoZQ0KICAgYW5jaWxsYXJ5IGRhdGEgbWFya2Vk
IHdpdGggU0hJTV9JRl9SRUNWLiAgVGhlIGFuY2lsbGFyeSBkYXRhIHNob3VsZA0KICAgY29udGFp
biBhbiBpbnRlcmZhY2UgaWRlbnRpZmllciBvZiB0aGUgcGh5c2ljYWwgaW50ZXJmYWNlIHdoaWNo
IHdhcw0KICAgYWN0dWFsbHkgdXNlZCB0byByZWNlaXZlIHRoZSBwYWNrZXQuDQoNCjcuMi4gIFNw
ZWNpZnkgTG9jYXRvciBJbmZvcm1hdGlvbiBmb3IgT3V0Z29pbmcgUGFja2V0DQoNCiAgIEFwcGxp
Y2F0aW9uIGNhbiBzcGVjaWZ5IGxvY2F0b3IgdG8gYmUgdXNlZCBmb3IgdHJhbnNtaXR0aW5nIGFu
IElQDQogICBwYWNrZXQgYnkgc2VuZG1zZygpLiAgV2hlbiBhbmNpbGxhcnkgZGF0YSBvZiBjbXNn
X3R5cGUNCg0KDQoNCktvbXUsIGV0IGFsLiAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCA1LCAy
MDA2ICAgICAgICAgICAgICAgIFtQYWdlIDIyXQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAg
ICAgTXVsdGlob21lZCBTaGltIEFQSSAgICAgICAgICAgICBGZWJydWFyeSAyMDA2DQoNCg0KICAg
U0hJTV9MT0NfTE9DQUxfU0VORCBhbmQvb3IgU0hJTV9MT0NfUEVFUl9TRU5EIGFyZSBzcGVjaWZp
ZWQsIHRoZQ0KICAgYXBwbGljYXRpb24gY2FuIGV4cGxpY2l0bHkgc3BlY2lmeSBzb3VyY2UgYW5k
L29yIGRlc3RpbmF0aW9uIGxvY2F0b3INCiAgIHRvIGJlIHVzZWQgZm9yIHRoZSBjb21tdW5pY2F0
aW9uIG92ZXIgdGhlIHNvY2tldC4NCg0KICAgSW4gYWRkaXRpb24sIGFwcGxpY2F0aW9uIGNhbiBz
cGVjaWZ5IHRoZSBvdXRnb2luZyBpbnRlcmZhY2UgYnkNCiAgIFNISU1fSUZfU0VORCBhbmNpbGxh
cnkgZGF0YS4gIFRoZSBhbmNpbGxhcnkgZGF0YSBzaG91bGQgY29udGFpbiBhbg0KICAgaW50ZXJm
YWNlIGlkZW50aWZpZXIgb2YgdGhlIHBoeXNpY2FsIGludGVyZmFjZSBvdmVyIHdoaWNoIHRoZQ0K
ICAgYXBwbGljYXRpb24gZXhwZWN0IHRoZSBwYWNrZXQgdG8gYmUgdHJhbnNtaXR0ZWQuDQoNCiAg
IE5vdGUgdGhhdCB0aGUgZWZmZWN0IGlzIGxpbWl0ZWQgdG8gdGhlIGRhdGFncmFtIHRyYW5zbWl0
dGVkIGJ5IHRoZQ0KICAgc2VuZG1zZygpLiAgSWYgdGhlIHNwZWNpZmllZCBsb2NhdG9yIHBhaXIg
c2VlbSB0byBiZSB2YWxpZCwgdGhlIHNoaW0NCiAgIGxheWVyIG92ZXJyaWRlcyB0aGUgbG9jYXRv
ciBvZiB0aGUgSVAgcGFja2V0IGFzIHJlcXVlc3RlZC4NCg0KICAgQW4gZXJyb3IgRUlOVkFMSURM
T0NBVE9SIHdpbGwgYmUgcmV0dXJuZWQgd2hlbiB2YWxpZGF0aW9uIG9mIHRoZQ0KICAgc3BlY2lm
aWVkIGxvY2F0b3IgZmFpbGVkLg0KDQogICBJU1NVRTogSXMgdGhlcmUgYW55IG90aGVyIHR5cGUg
b2YgZXJyb3IgdGhhdCB3ZSBzaG91bGQgc3BlY2lmaWNhbGx5DQogICBoYW5kbGUgPw0KDQoNCg0K
DQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoN
Cg0KS29tdSwgZXQgYWwuICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDUsIDIwMDYgICAgICAg
ICAgICAgICAgW1BhZ2UgMjNdDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICBNdWx0aWhv
bWVkIFNoaW0gQVBJICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDYNCg0KDQo4LiAgRGF0YSBTdHJ1
Y3R1cmVzDQoNCiAgIFNvbWUgb2YgdGhlIHNvY2tldCBvcHRpb25zIGRlZmluZSBpbiB0aGlzIGRv
Y3VtZW50IHJlcXVpcmVzIHNwZWNpZmljDQogICBkYXRhIHN0cnVjdHVyZXMgZm9yIGV4Y2hhbmdp
bmcgaW5mb3JtYXRpb24uICBUaG9zZSBkYXRhIHN0cnVjdHVyZXMNCiAgIGFyZSBpbGx1c3RyYXRl
ZCBpbiB0aGlzIHNlY3Rpb24uDQoNCjguMS4gIFBsYWNlaG9sZGVyIGZvciBMb2NhdG9yIEluZm9y
bWF0aW9uDQoNCiAgIFNvbWUgb2YgdGhlIHNvY2tldCBvcHRpb25zIGRlZmluZWQgaW4gdGhpcyBk
b2N1bWVudCBoYW5kbGUgbG9jYXRvcg0KICAgaW5mb3JtYXRpb24gaW4gaXRzIGxvY2F0b3IgbWFu
YWdlbWVudC4gIExvY2F0b3IgaW5mb3JtYXRpb24gY291bGQgYmUNCiAgIGEgc2luZ2xlIGxvY2F0
b3Igb3IgYW4gYXJyYXkgb2YgbG9jYXRvcnMuICBJbXBvcnRhbnQgcmVxdWlyZW1lbnQgaXMNCiAg
IHRoYXQgbG9jYXRvciBpbmZvcm1hdGlvbiBzaG91bGQgYmUgaGFuZGxlZCBpbiBhIHByb3RvY29s
IGluZGVwZW5kZW50DQogICBtYW5uZXIuICBJbiBvdGhlciB3b3JkcywgYW4gaW50ZXJmYWNlIHRv
IHRoZSBsb2NhdG9yIGluZm9ybWF0aW9uDQogICBzaG91bGQgbm90IGJlIGRlcGVuZGVudCB0byBh
bnkgYWRkcmVzcyBmYW1pbHkuDQoNCjguMS4xLiAgYWRkcmluZm8gc3RydWN0dXJlDQoNCiAgIGFk
ZHJpbmZvIHN0cnVjdHVyZSBpbiBhbG9uZyB3aXRoIGdldGFkZHJpbmZvKCkgZnVuY3Rpb24gYXJl
IGRlZmluZWQNCiAgIGluIFBvc2l4LjFnLCB3aGljaCBpcyB1c2VmdWwgZm9yIHByb2dyYW1taW5n
IGFwcGxpY2F0aW9uIGluIHByb3RvY29sDQogICBpbmRlcGVuZGVudCBtYW5uZXIuICBBcyBtZW50
aW9uZWQgZWFybGllciwgcHJvdG9jb2wgaW5kZXBlbmRlbmN5IGlzDQogICByZXF1aXJlZCBpbiBs
b2NhdG9yIG1hbmFnZW1lbnQgYXQgdGhlIHNoaW0gbGF5ZXIsIHRodXMgd2UgcHJvcG9zZSB0bw0K
ICAgdXNlIGFkZHJpbmZvIHN0cnVjdHVyZSBhcyBhIHBsYWNlaG9sZGVyIGZvciBsb2NhdG9ycy4N
Cg0KICAgQSBjaGFpbiBvZiBhZGRyaW5mbyBzdHJ1Y3R1cmVzIGNhbiBiZSB1c2VkIHRvIHJlcHJl
c2VudCBhIGxpc3Qgb2YNCiAgIGxvY2F0b3JzLiAgTm90ZSB0aGF0IGFkZHJpbmZvIHN0cnVjdHVy
ZSBpdHNlbGYgZG9lcyBub3QgY29udGFpbiB0aGUNCiAgIGxvY2F0b3IgZGF0YSBidXQgaXQgaG9s
ZHMgYSBwb2ludGVyIHRvIHNvY2thZGRyIHN0cnVjdHVyZSB3aGVyZSB0aGUNCiAgIGFjdHVhbCBk
YXRhIG9mIGEgZ2l2ZW4gbG9jYXRvciBpcyBzdG9yZWQuICBGaWd1cmUgNCBpbGx1c3RyYXRlcyB0
aGUNCiAgIGFkZHJpbmZvIHN0cnVjdHVyZSBkZWZpbmVkIGluIDxuZXRkYi5oPi4NCg0KICAgICAg
IHN0cnVjdCBhZGRyaW5mbyB7DQogICAgICAgICAgICAgICBpbnQgYWlfZmxhZ3M7ICAgICAgICAg
ICAvKiBpbnB1dCBmbGFncyAqLw0KICAgICAgICAgICAgICAgaW50IGFpX2ZhbWlseTsgICAgICAg
ICAgLyogcHJvdG9jb2wgZmFtaWx5IGZvciBzb2NrZXQgKi8NCiAgICAgICAgICAgICAgIGludCBh
aV9zb2NrdHlwZTsgICAgICAgIC8qIHNvY2tldCB0eXBlICovDQogICAgICAgICAgICAgICBpbnQg
YWlfcHJvdG9jb2w7ICAgICAgICAvKiBwcm90b2NvbCBmb3Igc29ja2V0ICovDQogICAgICAgICAg
ICAgICBzb2NrbGVuX3QgYWlfYWRkcmxlbjsgICAvKiBsZW5ndGggb2Ygc29ja2V0LWFkZHJlc3Mg
Ki8NCiAgICAgICAgICAgICAgIHN0cnVjdCBzb2NrYWRkciAqYWlfYWRkcjsgLyogc29ja2V0LWFk
ZHJlc3MgZm9yIHNvY2tldCAqLw0KICAgICAgICAgICAgICAgY2hhciAqYWlfY2Fub25uYW1lOyAg
ICAgLyogY2Fub25pY2FsIG5hbWUgZm9yDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBzZXJ2aWNlIGxvY2F0aW9uICovDQogICAgICAgICAgICAgICBzdHJ1Y3QgYWRk
cmluZm8gKmFpX25leHQ7IC8qIHBvaW50ZXIgdG8gbmV4dCBpbiBsaXN0ICovDQogICAgICAgfTsN
Cg0KICAgRmlndXJlIDQ6IGFkZHJpbmZvIHN0cnVjdHVyZQ0KDQo4LjEuMi4gIHNvY2thZGRyX3N0
b3JhZ2Ugc3RydWN0dXJlDQoNCiAgIFtSRkMzNDkzXSBzcGVjaWZpZXMgYSBwcm90b2NvbCBpbmRl
cGVuZGVudCBwbGFjZWhvbGRlciBmb3Igc29ja2V0DQogICBhZGRyZXNzLCBjYWxsZWQgc29ja2Fk
ZHJfc3RvcmFnZSBzdHJ1Y3R1cmUgYXMgc2hvd24gaW4gRmlndXJlIDUuICBCeQ0KICAgZGVmaW5p
dGlvbiwgdGhlIHN0cnVjdHVyZSBjYW4gc3RvcmUgc29ja2V0IGFkZHJlc3Mgb2YgYW55IHByb3Rv
Y29sDQoNCg0KDQpLb211LCBldCBhbC4gICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgNSwgMjAw
NiAgICAgICAgICAgICAgICBbUGFnZSAyNF0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAg
IE11bHRpaG9tZWQgU2hpbSBBUEkgICAgICAgICAgICAgRmVicnVhcnkgMjAwNg0KDQoNCiAgIChJ
UHY0IG9yIElQdjYpIGFuZCBpcyBzaW1wbHkgc3VpdGFibGUgZm9yIGEgcGxhY2Vob2xkZXIgZm9y
IHRoZQ0KICAgbG9jYXRvciBpbmZvcm1hdGlvbi4gIEluIHRoaXMgZG9jdW1lbnQsIHdlIHN1Z2dl
c3QgdG8gdXNlDQogICBzb2NrYWRkcl9zdG9yYWdlIHN0cnVjdHVyZSB0byBzdG9yZSB0aGUgbG9j
YXRvciBpbmZvcm1hdGlvbiB0byBiZQ0KICAgc3BlY2lmaWVkIGluIHRoZSBhbmNpbGxhcnkgZGF0
YS4gIEluIHRob3NlIGNhc2VzLCB0aGUgbG9jYXRvcg0KICAgaW5mb3JtYXRpb24gaXMgYSBzaW5n
bGUgbG9jYXRvci4NCg0KICAgLyoNCiAgICAqIERlc2lyZWQgZGVzaWduIG9mIG1heGltdW0gc2l6
ZSBhbmQgYWxpZ25tZW50DQogICAgKi8NCiAgICNkZWZpbmUgX1NTX01BWFNJWkUgICAgMTI4ICAv
KiBJbXBsZW1lbnRhdGlvbiBzcGVjaWZpYyBtYXggc2l6ZSAqLw0KICAgI2RlZmluZSBfU1NfQUxJ
R05TSVpFICAoc2l6ZW9mIChpbnQ2NF90KSkNCiAgICAgICAgICAgICAgICAgICAgICAvKiBJbXBs
ZW1lbnRhdGlvbiBzcGVjaWZpYyBkZXNpcmVkIGFsaWdubWVudCAqLw0KICAgLyoNCiAgICAqIERl
ZmluaXRpb25zIHVzZWQgZm9yIHNvY2thZGRyX3N0b3JhZ2Ugc3RydWN0dXJlIHBhZGRpbmdzIGRl
c2lnbi4NCiAgICAqLw0KICAgI2RlZmluZSBfU1NfUEFEMVNJWkUgICAoX1NTX0FMSUdOU0laRSAt
IHNpemVvZiAoc2FfZmFtaWx5X3QpKQ0KICAgI2RlZmluZSBfU1NfUEFEMlNJWkUgICAoX1NTX01B
WFNJWkUgLSAoc2l6ZW9mIChzYV9mYW1pbHlfdCkgKw0KICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgX1NTX1BBRDFTSVpFICsgX1NTX0FMSUdOU0laRSkpDQoNCiAgICAgICBzdHJ1Y3Qg
c29ja2FkZHJfc3RvcmFnZSB7DQogICAgICAgICAgIHNhX2ZhbWlseV90ICBzc19mYW1pbHk7ICAg
IC8qIGFkZHJlc3MgZmFtaWx5ICovDQogICAgICAgICAgIC8qIEZvbGxvd2luZyBmaWVsZHMgYXJl
IGltcGxlbWVudGF0aW9uIHNwZWNpZmljICovDQogICAgICAgICAgIGNoYXIgICAgICBfX3NzX3Bh
ZDFbX1NTX1BBRDFTSVpFXTsNCiAgICAgICAgICAgaW50NjRfdCAgIF9fc3NfYWxpZ247DQogICAg
ICAgICAgIGNoYXIgICAgICBfX3NzX3BhZDJbX1NTX1BBRDJTSVpFXTsNCiAgICAgICB9Ow0KDQog
ICBGaWd1cmUgNTogc29ja2FkZHJfc3RvcmFnZSBzdHJ1Y3R1cmUNCg0KDQoNCg0KDQoNCg0KDQoN
Cg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQpLb211LCBldCBhbC4gICAgICAgICAgICAgRXhw
aXJlcyBBdWd1c3QgNSwgMjAwNiAgICAgICAgICAgICAgICBbUGFnZSAyNV0NCgwNCkludGVybmV0
LURyYWZ0ICAgICAgICAgICAgIE11bHRpaG9tZWQgU2hpbSBBUEkgICAgICAgICAgICAgRmVicnVh
cnkgMjAwNg0KDQoNCjkuICBJbXBsaWNhdGlvbnMgZm9yIEV4aXN0aW5nIFNvY2tldCBBUEkgRXh0
ZW5zaW9ucw0KDQogICBBcyB0aGUgc29ja2V0IG9wdGlvbnMgcHJvcG9zZWQgaW4gdGhpcyBkb2N1
bWVudCBhbGxvdyBhcHBsaWNhdGlvbiB0bw0KICAgc3BlY2lmeSBsb2NhdG9yIGZvciB0cmFuc21p
dHRpbmcgSVAgcGFja2V0LCB0aGVyZSBtYXkgYmUgY29uZmxpY3QNCiAgIHdpdGggc29tZSBvZiBl
eGlzdGluZyBzb2NrZXQgQVBJLiAgQXMgc3RhdGVkIGluIFNlY3Rpb24gNiwgYmFzaWMNCiAgIGFz
c3VtcHRpb24gaXMgdGhhdCBsZWdhY3kgQVBJIHNob3VsZCBjb250aW51ZSB0byB3b3JrIGFib3Zl
IHRoZSBzaGltDQogICBsYXllci4NCg0KICAgSW4gSVB2NCwgYXBwbGljYXRpb24gY2FuIG9idGFp
biBkZXN0aW5hdGlvbiBJUCBhZGRyZXNzIG9mIHRoZQ0KICAgcmVjZWl2ZWQgSVAgcGFja2V0IChJ
UF9SRUNWRFNUQUREUikgYXMgd2VsbCBhcyB0aGUgcmVjZWl2aW5nDQogICBpbnRlcmZhY2UgKElQ
X1JFQ1ZJRikuICBJZiB0aGUgc2hpbSBsYXllciBwZXJmb3JtcyBJRC9Mb2NhdG9yDQogICBhZGFw
dGF0aW9uIGZvciB0aGUgcmVjZWl2ZWQgcGFja2V0LCB0aGUgZGVzdGluYXRpb24gRUlEIHNob3Vs
ZCBiZQ0KICAgc3RvcmVkIGluIHRoZSBhbmNpbGxhcnkgZGF0YSAoSVBfUkVDVkRTVEFERFIpLiAg
QWNjb3JkaW5nbHksIHRoZQ0KICAgcmVjZWl2aW5nIGludGVyZmFjZSBzaG91bGQgYmUgYWxpZ25l
ZCB3aXRoIHRoZSBkZXN0aW5hdGlvbiBFSUQgb2YgdGhlDQogICBwYWNrZXQuICBUaGF0IGlzLCB0
aGUgc2hpbSBsYXllciBzaG91bGQgc2V0IGFwcHJvcHJpYXRlIGludGVyZmFjZSB0bw0KICAgd2hp
Y2ggdGhlIGRlc3RpbmF0aW9uIEVJRCBpcyBhc3NpZ25lZCBpbiB0aGUgYW5jaWxsYXJ5IGRhdGEg
b2JqZWN0Lg0KICAgSG93ZXZlciwgZnJvbSBhcHBsaWNhdGlvbiBwZXJzcGVjdGl2ZSwga25vd2lu
ZyB0aGUgcmVjZWl2aW5nDQogICBpbnRlcmZhY2Ugd2hpY2ggaXMgYXNzb2NpYXRlZCB3aXRoIHRo
ZSBkZXN0aW5hdGlvbiBFSUQgbWF5IG5vdCBiZQ0KICAgdXNlZnVsLCBlc3BlY2lhbGx5IGluIGEg
Y2FzZSB3aGVyZSBhcHBsaWNhdGlvbiBpcyBwYXJ0aWN1bGFybHkNCiAgIGludGVyZXN0ZWQgaW4g
dGhlIGNoYXJhY3RlcmlzdGljcyBvZiB0aGUgcmVjZWl2aW5nIGludGVyZmFjZS4gIEhlbmNlLA0K
ICAgd2Ugc3VnZ2VzdCBhcHBsaWNhdGlvbiBwcm9ncmFtbWVyIHRvIHVzZSBTSElNX0lGX1JFQ1Yg
aW5zdGVhZCBvZg0KICAgSVBfUkVDVklGIGluIHN1Y2ggY2FzZS4NCg0KICAgSW4gSVB2NiwgW1JG
QzM1NDJdIGRlZmluZXMgdGhhdCBJUFY2X1BLVElORk8gY2FuIGJlIHVzZWQgdG8gc3BlY2lmeQ0K
ICAgc291cmNlIElQdjYgYWRkcmVzcyBhbmQgdGhlIG91dGdvaW5nIGludGVyZmFjZSBmb3Igb3V0
Z29pbmcgcGFja2V0LA0KICAgYW5kIHJldHJpZXZlIGRlc3RpbmF0aW9uIElQdjYgYWRkcmVzcyBh
bmQgcmVjZWl2aW5nIGludGVyZmFjZSBmb3INCiAgIGluY29taW5nIHBhY2tldC4gIFRoZXNlIGlu
Zm9ybWF0aW9uIGFyZSBzdG9yZWQgaW4gYW5jaWxsYXJ5IGRhdGENCiAgIGJlaW5nIElQVjZfUEtU
SU5GTyBzcGVjaWZpZWQgYXMgY21zZ190eXBlLiAgTm93LCBzaW1pbGFyIHRvIHRoZSBjYXNlDQog
ICBvZiBJUHY0LCB0aGUgc2hpbSBsYXllciBtYXkgYWZmZWN0IHRoZSBiZWhhdmlvciBvZiBzb2Nr
ZXQgQVBJIHdoaWNoDQogICBkZWFscyB3aXRoIElQVjZfUEtGSU5GTy4gIFdlIGFnYWluIHdvdWxk
IGxpa2Ugbm90ZSB0aGF0IGV4aXN0aW5nDQogICBzb2NrZXQgQVBJIHNob3VsZCBjb250aW51ZSB0
byB3b3JrIGFib3ZlIHRoZSBzaGltIGxheWVyLCB0aGF0IGlzLCB0aGUNCiAgIElQIGFkZHJlc3Nl
cyBoYW5kbGVkIGluIElQVjZfUEtUSU5GTyBzaG91bGQgYmUgRUlEcywgbm90IHRoZQ0KICAgbG9j
YXRvcnMuICBIZW5jZSB3ZSByZWNvbW1lbmQgYXBwbGljYXRpb24gcHJvZ3JhbW1lcnMgdG8gdXNl
IHNoaW0NCiAgIHNwZWNpZmljIHNvY2tldCBvcHRpb25zIChTSElNX0lGX1JFQ1Ygb3IgU0hJTV9J
Rl9TRU5EKSBpZiB0aGUNCiAgIGludGVyZXN0IGluIHRoZSBjb21tdW5pY2F0aW5nIGludGVyZmFj
ZSBjb21lcyBmcm9tIGxvd2VyIGxldmVsIChlLmcuDQogICBjaGFyYWN0ZXJpc3RpY3Mgb2YgcGh5
c2ljYWwgaW50ZXJmYWNlKS4gIEZvciB0aGUgc2FtZSByZWFzb24sIGluDQogICBvcmRlciB0byBo
YW5kbGUgbG9jYXRvciBpbmZvcm1hdGlvbiwgd2Ugc3VnZ2VzdCB0byB1c2Ugc2hpbSBzcGVjaWZp
Yw0KICAgc29ja2V0IG9wdGlvbnMgZGVmaW5lZCBpbiBTZWN0aW9uIDcuDQoNCiAgIEluIHN1bW1h
cnksIGEgY2FyZSBzaG91bGQgYmUgdGFrZW4gaW4gcG90ZW50aWFsIGNvbmZsaWN0IHdpdGgNCiAg
IGV4aXN0aW5nIHNvY2tldCBBUEkgd2hpY2ggdHJlYXRzIHRoZSBJUCBhZGRyZXNzIGFzIGEgbG9j
YXRvciByYXRoZXINCiAgIHRoYW4gaWRlbnRpZmllci4gIEJhc2ljIGFzc3VtcHRpb24gaXMgdGhh
dCB0aGUgZXhpc3Rpbmcgc29ja2V0IEFQSQ0KICAgd29ya3MgYWJvdmUgdGhlIHNoaW0gbGF5ZXIu
DQoNCg0KDQoNCg0KDQoNCg0KS29tdSwgZXQgYWwuICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0
IDUsIDIwMDYgICAgICAgICAgICAgICAgW1BhZ2UgMjZdDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAg
ICAgICAgICBNdWx0aWhvbWVkIFNoaW0gQVBJICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDYNCg0K
DQoxMC4gIERpc2N1c3Npb24NCg0KICAgSW4gdGhpcyBzZWN0aW9uLCBvcGVuIGRpc2N1c3Npb24g
aXNzdWVzIGFyZSBub3RlZC4NCg0KMTAuMS4gIElzc3VlcyB3aXRoIGEgQ29udGV4dCBTaGFyZWQg
YnkgQXBwbGljYXRpb25zDQoNCiAgIEEgY29udGV4dCBpcyBieSBkZWZpbml0aW9uLCBzeXN0ZW0t
d2lkZS4gIFRoaXMgbWVhbnMgdGhhdCBhIGNvbnRleHQNCiAgIGNvdWxkIGJlIHNoYXJlZCBieSBh
cHBsaWNhdGlvbnMgd2hvc2UgY29tbXVuaWNhdGlvbnMgYXJlIGJ5IGNoYW5jZQ0KICAgYmFzZWQg
b24gdGhlIHNhbWUgRUlEIHBhaXIuDQoNCiAgIFdoZW4gYSBjb250ZXh0IGlzIHNoYXJlZCBieSBh
cHBsaWNhdGlvbnMsIGl0IHdvdWxkIGJlIGRpZmZpY3VsdCBmb3INCiAgIHRoZSBzaGltIGxheWVy
IHRvIGhhbmRsZSBmZWVkYmFja3MgZnJvbSB0aGUgYXBwbGljYXRpb25zLiAgQXMNCiAgIG1lbnRp
b25lZCBpbiBTZWN0aW9uIFgsIGFuIGFwcGxpY2F0aW9uIG1heSBwcm92aWRlIHRoZSBzaGltIGxh
eWVyDQogICBzb21lIGZlZWRiYWNrcyBvZiB0aW1lb3V0IHZhbHVlcyBmcm9tIGl0cyBvd24gc2V0
dGluZ3MuICBUaGlzIGltcGxpZXMNCiAgIHRoYXQgdGhlcmUgaXMgcG90ZW50aWFsbHkgYSByYWNl
IGNvbmRpdGlvbiBhdCB0aGUgc2hpbSBsYXllci4NCg0KICAgRmlyc3Qgb2YgYWxsLCB0aGUgc29j
a2V0IG9wdGlvbnMgbXVzdCBiZSB1c2VkIHdpdGggYSBwcm9wZXINCiAgIHByaXZpbGVnZS4gIEZl
ZWRiYWNrIGZyb20gdGhlIGFwcGxpY2F0aW9uIHdoaWNoIGlzIHJ1biB1bmRlciBhIHJvb3QNCiAg
IHByaXZpbGVnZSBtdXN0IGFsd2F5cyBvdmVycmlkZSB0aGUgZmVlZGJhY2sgcHJvdmlkZWQgYnkg
YXBwbGljYXRpb24NCiAgIHdoaWNoIGlzIHJ1biB1bmRlciBub3JtYWwgdXNlciBwcml2aWxlZ2Uu
DQoNCiAgIEZvciBvdGhlciBjYXNlcywgb25lIGNvdWxkIHJlbHkgb24gYSBraW5kIG9mIGhldXJp
c3RpY3Mgb2YgdGhlDQogICBjb25maWd1cmF0aW9uLiAgRm9yIGluc3RhbmNlLCBwcmlvcml0aXpp
bmcgZmVlZGJhY2sgd2l0aCBoaWdoZXINCiAgIGRlbWFuZCAoZS5nLiB0aW1lb3V0IHZhbHVlIDMw
MCBzZWNvbmRzIGFyZSBtb3JlIGRlbWFuZGluZyB0aGVuDQogICB0aW1lb3V0IHZhbHVlIDYwMCBz
ZWNvbmRzKSBtYXkgbWFrZSBzZW5zZSBpbiBzb21lIGNhc2VzLiAgSG93ZXZlciwgaXQNCiAgIGlz
IHN0aWxsIG9wZW4gaXNzdWVzIHdoYXQga2luZCBvZiB0aW1lciB2YWx1ZSBjb3VsZCBiZSBoYW5k
bGVkIGluDQogICB0aGlzIHdheS4NCg0KICAgRnVydGhlciBkaXNjdXNzaW9ucyBhcmUgbmVlZGVk
IGhvdyB0aGUgc2hpbSBsYXllciBjYW4gYWNjb21tb2RhdGUNCiAgIGZlZWRiYWNrcyBmcm9tIG11
bHRpcGxlIGFwcGxpY2F0aW9ucyB3aXRoaW4gYSBzYW1lIGNvbnRleHQuDQoNCjEwLjIuICBJc3N1
ZXMgb2YgSGFuZGxpbmcgTXVsdGlwbGUgTG9jYXRvcnMgd2l0aCBTaGltIFVuYXdhcmUNCiAgICAg
ICBBcHBsaWNhdGlvbnMNCg0KICAgSW4gbXVsdGlob21lZCBlbnZpcm9ubWVudCB3aGVyZSBlaXRo
ZXIgb3IgYm90aCBvZiB0aGUgcGVlcnMgaGF2ZQ0KICAgbXVsdGlwbGUgbG9jYXRvcnMsIHRoZXJl
IGFyZSBzb21lIGlzc3VlcyB3aXRoIGxlZ2FjeSBzb2NrZXQgQVBJLg0KDQoxMC4yLjEuICBTaGlt
IFVuYXdhcmUgQXBwbGljYXRpb24gTWFraW5nIEluaXRpYWwgQ29udGFjdA0KDQogICBXaGVuIGFw
cGxpY2F0aW9uIGlzIGdvaW5nIHRvIGVzdGFibGlzaCBjb21tdW5pY2F0aW9uIHdpdGggaXRzIHBl
ZXINCiAgIHdobyBoYXBwZW5zIHRvIGhhdmUgbXVsdGlwbGUgbG9jYXRvcnMsIHRoZXJlIGFyZSBz
b21lIGlzc3VlcyB0bw0KICAgY29uc2lkZXIuICBJbiBjb25uZWN0aW9uIG9yaWVudGVkIGNvbW11
bmljYXRpb24sIGNvbm5lY3QoKSBzeXN0ZW0NCiAgIGNhbGwgaXMgdXNlZCB0byBtYWtlIHRoZSBp
bml0aWFsIGNvbnRhY3QgdG8gdGhlIHBlZXIsIHdoaWNoIHR5cGljYWxseQ0KICAgcmVxdWlyZXMg
SVAgYWRkcmVzcyBhbmQgcG9ydCBudW1iZXIgdG8gc3BlY2lmeSB0aGUgZW5kcG9pbnQuICBIZW5j
ZSwNCiAgIG5hbWUtdG8tYWRkcmVzcyByZXNvbHV0aW9uIHNob3VsZCBiZSBwZXJmb3JtZWQgcHJp
b3IgdG8gY29ubmVjdCgpLg0KICAgQXBwbGljYXRpb24gbmVlZHMgdG8gcmVzb2x2ZSBGUUROIG9m
IHRoZSBwZWVyIHRvIGFuIElQIGFkZHJlc3MgYnkgYW55DQogICBhdmFpbGFibGUgbmFtZS10by1h
ZGRyZXNzIGNvbnZlcnNpb24gbWV0aG9kLg0KDQoNCg0KDQpLb211LCBldCBhbC4gICAgICAgICAg
ICAgRXhwaXJlcyBBdWd1c3QgNSwgMjAwNiAgICAgICAgICAgICAgICBbUGFnZSAyN10NCgwNCklu
dGVybmV0LURyYWZ0ICAgICAgICAgICAgIE11bHRpaG9tZWQgU2hpbSBBUEkgICAgICAgICAgICAg
RmVicnVhcnkgMjAwNg0KDQoNCiAgIEluIHR5cGljYWwgY2FzZSwgdGhlIGFwcGxpY2F0aW9uIHJl
Y2VpdmVzIGluZm9ybWF0aW9uIGZyb20gcmVzb2x2ZXIuDQogICBJZiB0aGUgYXBwbGljYXRpb24g
ZW5kcyB1cCB3aXRoIHJlY2VpdmluZyBtdWx0aXBsZSBJUCBhZGRyZXNzZXMgdG8NCiAgIHJlYWNo
IHRoZSBwZWVyLCBpdCBzaG91bGQgaXRlcmF0ZSBlYWNoIGRlc3RpbmF0aW9uIGFkZHJlc3Mgb25l
LWJ5LQ0KICAgb25lLiAgSXQgc2hvdWxkIGJlIG5vdGVkIHRoYXQgdGhlIGhvc3QgbWF5IGFsc28g
aGF2ZSBtdWx0aXBsZSBzb3VyY2UNCiAgIGFkZHJlc3Nlcy4NCg0KICAgVGhlIGRpZmZlcmVudCBy
ZXN1bHRpbmcgYWRkcmVzcyBwYWlyIG1heSBoYXZlIGRpZmZlcmVudCByZWFjaGFiaWxpdHkNCiAg
IHN0YXR1cyBzbywgaW4gb3JkZXIgdG8gZmluZCBhIHdvcmtpbmcgYWRkcmVzcyBwYWlyLCBpdCBt
YXkgYmUNCiAgIHJlcXVpcmVkIHRvIGV4cGxvcmUgYWxsIHRoZSBhdmFpbGFibGUgYWRkcmVzcyBw
YWlycyAoYXMgb3Bwb3NlZCB0bw0KICAgZXhwbG9yZSBhbGwgYXZhaWxhYmxlIGRlc3RpbmF0aW9u
IGFkZHJlc3NlcykuDQoNCiAgIEluIG5vcm1hbCBjYXNlLCBhcHBsaWNhdGlvbiBpc3N1ZXMgY29u
bmVjdCgpIGJ5IHNwZWNpZnlpbmcgcmVzb2x2ZWQNCiAgIElQIGFkZHJlc3Mgb2YgdGhlIHBlZXIu
ICBJZiB0aGUgY29ubmVjdCgpIGZhaWxzLCBJUCBhZGRyZXNzIGlzDQogICBpdGVyYXRlZCBvbmUg
Ynkgb25lIHNlcXVlbnRpYWxseSB1bnRpbCB3b3JraW5nIHBhaXIgaXMgZm91bmQuDQogICBBbm90
aGVyIGFwcHJvYWNoIGlzIHRvIGluaXRpYXRlIGNvbmN1cnJlbnQgY29ubmVjdCgpIHdpdGggZXZl
cnkNCiAgIGxvY2F0b3Igb2YgdGhlIHBlZXIuIGNvbm5lY3QoKSBjYW4gYWxzbyBiZSBjYWxsZWQg
aW4gYSBzZXF1ZW5jZSB3aGljaA0KICAgd291bGQgcHJvYmFibHkgcmVxdWlyZSBtb3JlIHRpbWUg
dG8gZmluZCB0aGUgd29ya2luZyBwYWlyLg0KDQogICBUaGVyZSBpcyBhIGNhc2Ugd2hlcmUgaW52
b2x2ZW1lbnQgb2YgdGhlIHNoaW0gbGF5ZXIgaXMgZXhwZWN0ZWQgZm9yDQogICBoYW5kbGluZyBp
bml0aWFsIGNvbnRhY3QuICBJbiBzdWNoIGNhc2UsIGJlaGF2aW9yIG9mIHRoZSBzaGltIGxheWVy
DQogICB3aWxsIGRlcGVuZCBvbiBwcmVzZW5jZSBvZiByZXF1aXJlZCBjb250ZXh0LiAgVGhpcyBj
YXNlIG9jY3VycyB3aGVuDQogICB0aGVyZSBleGlzdHMgYSBjb250ZXh0IGZvciB0aGUgRUlEIHNw
ZWNpZmllZCBpbiBjb25uZWN0KCksIHRoZQ0KICAgaW5pdGlhbCBjb250YWN0IGNhbiBiZSBtYWRl
IGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgY29udGV4dA0KICAgaW5mb3JtYXRpb24uICBPdGhlcndp
c2UsIHRoZSBzaGltIGxheWVyIHNob3VsZCBpbnZva2UgY29udGV4dA0KICAgZXN0YWJsaXNobWVu
dCB3aXRoIHRoZSBwZWVyIEVJRCBzcGVjaWZpZWQgaW4gdGhlIGFyZ3VtZW50IGZvcg0KICAgY29u
bmVjdCgpLg0KDQogICBBZGRpdGlvbmFsIGVmZm9ydHMgd291bGQgYmUgcmVxdWlyZWQgaW4gYSBj
YXNlIHdoZXJlIHRoZSBwZWVyIGNhbm5vdA0KICAgYmUgcmVhY2hhYmxlIGJ5IHRoZSBFSUQgKGZv
ciBleGFtcGxlLCBFSUQgaXMgbm9uLXJvdXRhYmxlIG9yIG5vbi1JUA0KICAgcmVhY2hhYmxlKSBi
dXQgY2FuIGJlIHJlYWNoZWQgYnkgYWx0ZXJuYXRpdmUgbG9jYXRvci4gIEluIHBhcnRpY3VsYXIs
DQogICB0aGUgc2hpbSBsYXllciBzaG91bGQgc29tZWhvdyBkaXNjb3ZlciB0aGUgYWx0ZXJuYXRl
IGxvY2F0b3IgZm9yIHRoZQ0KICAgRUlEIHRvIGVzdGFibGlzaCBjb250ZXh0LiAgW0ktRC5ub3Jk
bWFyay1zaGltNi1lc2RdIGFkZHJlc3NlcyB0aGUNCiAgIHBvc3NpYmxlIGFwcHJvYWNoIHRvIHBl
cmZvcm0gcmV2ZXJzZSBETlMgbG9va3VwIGZyb20gRUlEIHRvIEZRRE4sDQogICB0aGVuIHBlcmZv
cm0gZm9yd2FyZCBsb29rdXAgYWdhaW4gdG8gZmluZCB0aGUgZnVsbC1zZXQgb2YgbG9jYXRvcnMN
CiAgIGFuZCBFSUQuDQoNCiAgIEluIEhJUCwgcmVzb2x2aW5nIEhJVHMgdG8gSVAgYWRkcmVzc2Vz
IHVzaW5nIEROUyBpcyBub3QgZmVhc2libGUNCiAgIGJlY2F1c2UgSElUcyBkbyBub3QgY29udGFp
biBhbnkgaGllcmFyY2hpY2FsIGluZm9ybWF0aW9uLiAgVG8NCiAgIG1pdGlnYXRlIHRoaXMgcHJv
YmxlbSwgdGhlcmUgYXJlIGEgZmV3IGFsdGVybmF0aXZlcy4gIEZpcnN0bHksDQogICByZXNvbHZl
ciBsaWJyYXJ5IG9uIGVuZC1ob3N0IGNhbiBiZSBtb2RpZmllZCB0byBwcm92aWRlIEhJVC10by1J
UA0KICAgbWFwcGluZ3MgZm9yIEhJUCBzb2Z0d2FyZSBtb2R1bGUuICBTZWNvbmRseSwgYSBkaXN0
cmlidXRlZCBoYXNoIHRhYmxlDQogICAoREhUKSBzZXJ2aWNlIGNhbiBiZSB1c2VkIGZvciBzdG9y
aW5nIGFuZCBsb29raW5nIHVwIHRoZSBtYXBwaW5ncw0KICAgYmVjYXVzZSBpdCBzdXBwb3J0cyBu
b24taGllcmFyY2hpY2FsIGlkZW50aWZpZXJzLCBzdWNoIGFzIEhJVHMNCiAgIFtJLUQuaWV0Zi1o
aXAtYXJjaF0uICBUaGlyZGx5LCBpdCBpcyBwb3NzaWJsZSB0byB1c2UgSVAgYWRkcmVzc2VzIGlu
DQogICBsZWdhY3kgYXBwbGljYXRpb25zIGFzIGRlc2NyaWJlZCBpbiBbSS1ELmhlbmRlcnNvbi1o
aXAtYXBwbGljYXRpb25zXS4NCg0KDQoNCg0KDQoNCktvbXUsIGV0IGFsLiAgICAgICAgICAgICBF
eHBpcmVzIEF1Z3VzdCA1LCAyMDA2ICAgICAgICAgICAgICAgIFtQYWdlIDI4XQ0KDA0KSW50ZXJu
ZXQtRHJhZnQgICAgICAgICAgICAgTXVsdGlob21lZCBTaGltIEFQSSAgICAgICAgICAgICBGZWJy
dWFyeSAyMDA2DQoNCg0KMTAuMi4yLiAgTmFtaW5nIGF0IFNvY2tldCBMYXllcg0KDQogICBnZXRz
b2NrbmFtZSgpIGFuZCBnZXRwZWVybmFtZSgpIHN5c3RlbSBjYWxscyBhcmUgdXNlZCB0byBvYnRh
aW4gdGhlDQogICAnbmFtZScgb2YgZW5kcG9pbnQgd2hpY2ggaXMgYWN0dWFsbHkgYSBwYWlyIG9m
IElQIGFkZHJlc3MgYW5kIHBvcnQNCiAgIG51bWJlciBhc3NpZ25lZCB0byBnaXZlbiBzb2NrZXQu
IGdldHNvY2tuYW1lKCkgaXMgdXNlZCB3aGVuIGFuDQogICBhcHBsaWNhdGlvbiB3YW50cyB0byBv
YnRhaW4gdGhlIGxvY2FsIElQIGFkZHJlc3MgYW5kIHBvcnQgbnVtYmVyDQogICBhc3NpZ25lZCBm
b3IgZ2l2ZW4gc29ja2V0IGluc3RhbmNlLiBnZXRwZWVybmFtZSgpIGlzIHVzZWQgd2hlbiBhbg0K
ICAgYXBwbGljYXRpb24gd2FudHMgdG8gb2J0YWluIHRoZSByZW1vdGUgSVAgYWRkcmVzcyBhbmQg
cG9ydCBudW1iZXIuDQoNCiAgIFRoZSBhYm92ZSBpcyBiYXNlZCBvbiBhIHRyYWRpdGlvbmFsIHN5
c3RlbSBtb2RlbCBvZiB0aGUgc29ja2V0IEFQSQ0KICAgd2hlcmUgYW4gSVAgYWRkcmVzcyBpcyBl
eHBlY3RlZCB0byBwbGF5IHJvbGUgb2YgYm90aCBpZGVudGlmaWVyIGFuZA0KICAgbG9jYXRvci4g
IEFzIHRoZSByZXR1cm5lZCBJUCBhZGRyZXNzIHdhcw0KDQogICBJbiBhIHN5c3RlbSBtb2RlbCB3
aGVyZSBhIHNoaW0gbGF5ZXIgZXhpc3RzIGluc2lkZSB0aGUgSVAgbGF5ZXIsIGJvdGgNCiAgIGdl
dHNvY2tuYW1lKCkgYW5kIGdldHBlZXJuYW1lKCkgZGVhbCB3aXRoIGlkZW50aWZpZXJzLCBuYW1l
bHkgRUlEcy4NCiAgIEluIHRoaXMgc2Vuc2UsIHRoZSBzaGltIGxheWVyIHNlcnZlcyB0byAoMSkg
aGlkZSBsb2NhdG9ycyBhbmQgKDIpDQogICBwcm92aWRlIGFjY2VzcyB0byB0aGUgaWRlbnRpZmll
ciBmb3IgdGhlIGFwcGxpY2F0aW9uIG92ZXIgdGhlIGxlZ2FjeQ0KICAgc29ja2V0IEFQSXMuDQoN
CjEwLjMuICBJc3N1ZXMgb2YgSGFuZGxpbmcgTXVsdGlwbGUgTG9jYXRvcnMgd2l0aCBTaGltIEF3
YXJlIEFwcGxpY2F0aW9ucw0KDQogICBUQkQuDQoNCjEwLjQuICBBZGRpdGlvbmFsIFJlcXVpcmVt
ZW50cyBmcm9tIEFwcGxpY2F0aW9uDQoNCiAgIEF0IHRoZSBtb21lbnQsIGl0IGlzIG5vdCBjZXJ0
YWluIGlmIGZvbGxvd2luZyByZXF1aXJlbWVudHMgYXJlIGNvbW1vbg0KICAgaW4gYWxsIHRoZSBt
dWx0aWhvbWVkIGVudmlyb25tZW50cyAoU0hJTTYgYW5kIEhJUCkuICBUaGVzZSBhcmUgbWFpbmx5
DQogICBpZGVudGlmaWVkIGR1cmluZyBkaXNjdXNzaW9ucyBtYWRlIG9uIFNISU02IFdHIG1haWxp
bmcgbGlzdC4NCg0KICAgbyAgVGhlIGFwcGxpY2F0aW9uIHNob3VsZCBiZSBhYmxlIHRvIHNldCBw
cmVmZXJlbmNlcyBmb3IgdGhlDQogICAgICBsb2NhdG9ycywgbG9jYWwgYW5kIHJlbW90ZSBvbmUg
YW5kIGFsc28gdG8gdGhlIHByZWZlcmVuY2VzIG9mIHRoZQ0KICAgICAgbG9jYWwgbG9jYXRvcnMg
dGhhdCB3aWxsIGJlIHBhc3NlZCB0byB0aGUgcGVlci4NCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoN
Cg0KDQoNCg0KDQoNCg0KS29tdSwgZXQgYWwuICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDUs
IDIwMDYgICAgICAgICAgICAgICAgW1BhZ2UgMjldDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAg
ICAgICBNdWx0aWhvbWVkIFNoaW0gQVBJICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDYNCg0KDQox
MS4gIElBTkEgQ29uc2lkZXJhdGlvbnMNCg0KICAgVGhpcyBkb2N1bWVudCBjb250YWlucyBubyBJ
QU5BIGNvbnNpZGVyYXRpb24uDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoN
Cg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0K
DQpLb211LCBldCBhbC4gICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgNSwgMjAwNiAgICAgICAg
ICAgICAgICBbUGFnZSAzMF0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgIE11bHRpaG9t
ZWQgU2hpbSBBUEkgICAgICAgICAgICAgRmVicnVhcnkgMjAwNg0KDQoNCjEyLiAgU2VjdXJpdHkg
Q29uc2lkZXJhdGlvbnMNCg0KICAgVEJEDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoN
Cg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0K
DQoNCg0KDQpLb211LCBldCBhbC4gICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgNSwgMjAwNiAg
ICAgICAgICAgICAgICBbUGFnZSAzMV0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgIE11
bHRpaG9tZWQgU2hpbSBBUEkgICAgICAgICAgICAgRmVicnVhcnkgMjAwNg0KDQoNCjEzLiAgQ29u
Y2x1c2lvbg0KDQogICBJbiB0aGlzIGRvY3VtZW50LCBBcHBsaWNhdGlvbiBQcm9ncmFtIEludGVy
ZmFjZSAoQVBJKSBmb3IgbXVsdGlob21lZA0KICAgc2hpbSBsYXllciBpcyBzcGVjaWZpZWQuICBU
aGUgc29ja2V0IEFQSSBhbGxvd3MgYXBwbGljYXRpb24gdG8gaGF2ZQ0KICAgYWRkaXRpb25hbCBj
b250cm9sIG9uIGxvY2F0b3IgbWFuYWdlbWVudCBhbmQgaW50ZXJmYWNlIHRvIHRoZSBSRUFQDQog
ICBtZWNoYW5pc20gaW5zaWRlIHRoZSBzaGltIGxheWVyLiAgVGhlIHNvY2tldCBBUEkgaXMgZXhw
ZWN0ZWQgdG8gYmUNCiAgIHVzZWZ1bCBmb3IgdGhlIGFwcGxpY2F0aW9uIHRoYXQgZnVsbHkgdGFr
ZXMgYWR2YW50YWdlIG9mIG11bHRpaG9tZWQNCiAgIGVudmlyb25tZW50LiAgRnJvbSBhcmNoaXRl
Y3R1cmFsIHBlcnNwZWN0aXZlLCB0aGUgc29ja2V0IEFQSSBhaW1zIHRvDQogICBlbmhhbmNlIHNv
ZnR3YXJlIGRldmVsb3BtZW50IGVudmlyb25tZW50IGluIHRlcm1zIG9mIHN1cHBvcnQgZm9yDQog
ICBzZXBhcmF0aW9uIG9mIGlkZW50aWZpZXIgYW5kIGxvY2F0b3IuICBUaGF0IGlzLCB3aXRoIG5l
dyBBUEksDQogICBhcHBsaWNhdGlvbiBjYW4gaGFuZGxlIGlkZW50aWZpZXIgYW5kIGxvY2F0b3Ig
c2VwYXJhdGVseSBzdGlsbCBiZWluZw0KICAgYWxsb3dlZCB0byB1c2UgbGVnYWN5IHNvY2tldCBB
UEkuDQoNCiAgIFNoaW0gc3BlY2lmaWMgc29ja2V0IG9wdGlvbnMgY2FuIGJlIHVzZWQgYnkgZ2V0
c29ja29wdCgpIGFuZC9vcg0KICAgc2V0Y29rb3B0KCkgc3lzdGVtIGNhbGxzLCB3aGljaCBhbGxv
d3MgYXBwbGljYXRpb24gdG8gZ2V0IGluZm9ybWF0aW9uDQogICBhYm91dCBsb2NhdG9yIG1hbmFn
ZW1lbnQuICBBZGRpdGlvbmFsbHksIGFwcGxpY2F0aW9uIGNhbiBzcGVjaWZ5DQogICBsb2NhdG9y
IGluZm9ybWF0aW9uIGZvciBvdXRnb2luZyBwYWNrZXQgYW5kIGdldCBsb2NhdG9yIGluZm9ybWF0
aW9uDQogICBmcm9tIGluY29taW5nIHBhY2tldCBieSB1c2luZyBhbmNpbGxhcnkgZGF0YS4NCg0K
DQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoN
Cg0KDQoNCktvbXUsIGV0IGFsLiAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCA1LCAyMDA2ICAg
ICAgICAgICAgICAgIFtQYWdlIDMyXQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgTXVs
dGlob21lZCBTaGltIEFQSSAgICAgICAgICAgICBGZWJydWFyeSAyMDA2DQoNCg0KMTQuICBBY2tu
b3dsZWRnbWVudHMNCg0KICAgVEJEDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0K
DQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoN
Cg0KDQpLb211LCBldCBhbC4gICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgNSwgMjAwNiAgICAg
ICAgICAgICAgICBbUGFnZSAzM10NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgIE11bHRp
aG9tZWQgU2hpbSBBUEkgICAgICAgICAgICAgRmVicnVhcnkgMjAwNg0KDQoNCjE1LiAgUmVmZXJl
bmNlcw0KDQoxNS4xLiAgTm9ybWF0aXZlIFJlZmVyZW5jZXMNCg0KICAgW0ktRC5oZW5kZXJzb24t
aGlwLWFwcGxpY2F0aW9uc10NCiAgICAgICAgICAgICAgSGVuZGVyc29uLCBULiBhbmQgUC4gTmlr
YW5kZXIsICJVc2luZyBISVAgd2l0aCBMZWdhY3kNCiAgICAgICAgICAgICAgQXBwbGljYXRpb25z
IiwgZHJhZnQtaGVuZGVyc29uLWhpcC1hcHBsaWNhdGlvbnMtMDMgKHdvcmsNCiAgICAgICAgICAg
ICAgaW4gcHJvZ3Jlc3MpLCBNYXkgMjAwNi4NCg0KICAgW0ktRC5pZXRmLWhpcC1hcmNoXQ0KICAg
ICAgICAgICAgICBNb3Nrb3dpdHosIFIuIGFuZCBQLiBOaWthbmRlciwgIkhvc3QgSWRlbnRpdHkg
UHJvdG9jb2wNCiAgICAgICAgICAgICAgQXJjaGl0ZWN0dXJlIiwgZHJhZnQtaWV0Zi1oaXAtYXJj
aC0wMyAod29yayBpbiBwcm9ncmVzcyksDQogICAgICAgICAgICAgIEF1Z3VzdCAyMDA1Lg0KDQog
ICBbSS1ELmlldGYtc2hpbTYtZmFpbHVyZS1kZXRlY3Rpb25dDQogICAgICAgICAgICAgIEFya2tv
LCBKLiBhbmQgSS4gQmVpam51bSwgIkZhaWx1cmUgRGV0ZWN0aW9uIGFuZCBMb2NhdG9yDQogICAg
ICAgICAgICAgIFBhaXIgRXhwbG9yYXRpb24gUHJvdG9jb2wgZm9yIElQdjYgTXVsdGlob21pbmci
LA0KICAgICAgICAgICAgICBkcmFmdC1pZXRmLXNoaW02LWZhaWx1cmUtZGV0ZWN0aW9uLTAzICh3
b3JrIGluIHByb2dyZXNzKSwNCiAgICAgICAgICAgICAgRGVjZW1iZXIgMjAwNS4NCg0KICAgW0kt
RC5pZXRmLXNoaW02LXByb3RvXQ0KICAgICAgICAgICAgICBCYWdudWxvLCBNLiBhbmQgRS4gTm9y
ZG1hcmssICJMZXZlbCAzIG11bHRpaG9taW5nIHNoaW0NCiAgICAgICAgICAgICAgcHJvdG9jb2wi
LCBkcmFmdC1pZXRmLXNoaW02LXByb3RvLTAzICh3b3JrIGluIHByb2dyZXNzKSwNCiAgICAgICAg
ICAgICAgRGVjZW1iZXIgMjAwNS4NCg0KICAgW1BPU0lYXSAgICAiSUVFRSBTdGQuIDEwMDMuMS0y
MDAxIFN0YW5kYXJkIGZvciBJbmZvcm1hdGlvbiBUZWNobm9sb2d5DQogICAgICAgICAgICAgIC0t
IFBvcnRhYmxlIE9wZXJhdGluZyBTeXN0ZW0gSW50ZXJmYWNlIChQT1NJWCkuIE9wZW4gZ3JvdXAN
CiAgICAgICAgICAgICAgVGVjaG5pY2FsIFN0YW5kYXJkOiBCYXNlIFNwZWNpZmljYXRpb25zLCBJ
c3N1ZSA2LA0KICAgICAgICAgICAgICBodHRwOi8vd3d3Lm9wZW5ncm91cC5vcmcvYXVzdGluIiwg
RGVjZW1iZXIgMjAwMS4NCg0KICAgW1JGQzM0OTNdICBHaWxsaWdhbiwgUi4sIFRob21zb24sIFMu
LCBCb3VuZCwgSi4sIE1jQ2FubiwgSi4sIGFuZCBXLg0KICAgICAgICAgICAgICBTdGV2ZW5zLCAi
QmFzaWMgU29ja2V0IEludGVyZmFjZSBFeHRlbnNpb25zIGZvciBJUHY2IiwNCiAgICAgICAgICAg
ICAgUkZDIDM0OTMsIEZlYnJ1YXJ5IDIwMDMuDQoNCiAgIFtSRkMzNTQyXSAgU3RldmVucywgVy4s
IFRob21hcywgTS4sIE5vcmRtYXJrLCBFLiwgYW5kIFQuIEppbm1laSwNCiAgICAgICAgICAgICAg
IkFkdmFuY2VkIFNvY2tldHMgQXBwbGljYXRpb24gUHJvZ3JhbSBJbnRlcmZhY2UgKEFQSSkgZm9y
DQogICAgICAgICAgICAgIElQdjYiLCBSRkMgMzU0MiwgTWF5IDIwMDMuDQoNCjE1LjIuICBJbmZv
cm1hdGl2ZSBSZWZlcmVuY2VzDQoNCiAgIFtJLUQuaWV0Zi1zaGltNi1hcHAtcmVmZXJdDQogICAg
ICAgICAgICAgIE5vcmRtYXJrLCBFLiwgIlNoaW02IEFwcGxpY2F0aW9uIFJlZmVycmFsIElzc3Vl
cyIsDQogICAgICAgICAgICAgIGRyYWZ0LWlldGYtc2hpbTYtYXBwLXJlZmVyLTAwICh3b3JrIGlu
IHByb2dyZXNzKSwNCiAgICAgICAgICAgICAgSnVseSAyMDA1Lg0KDQogICBbSS1ELmlldGYtc2hp
bTYtaGJhXQ0KICAgICAgICAgICAgICBCYWdudWxvLCBNLiwgIkhhc2ggQmFzZWQgQWRkcmVzc2Vz
IChIQkEpIiwNCiAgICAgICAgICAgICAgZHJhZnQtaWV0Zi1zaGltNi1oYmEtMDEgKHdvcmsgaW4g
cHJvZ3Jlc3MpLCBPY3RvYmVyIDIwMDUuDQoNCg0KDQpLb211LCBldCBhbC4gICAgICAgICAgICAg
RXhwaXJlcyBBdWd1c3QgNSwgMjAwNiAgICAgICAgICAgICAgICBbUGFnZSAzNF0NCgwNCkludGVy
bmV0LURyYWZ0ICAgICAgICAgICAgIE11bHRpaG9tZWQgU2hpbSBBUEkgICAgICAgICAgICAgRmVi
cnVhcnkgMjAwNg0KDQoNCiAgIFtJLUQubm9yZG1hcmstc2hpbTYtZXNkXQ0KICAgICAgICAgICAg
ICBOb3JkbWFyaywgRS4sICJFeHRlbmRlZCBTaGltNiBEZXNpZ24gZm9yIElEL2xvYyBzcGxpdCBh
bmQNCiAgICAgICAgICAgICAgVHJhZmZpYyBFbmdpbmVlcmluZyIsIGRyYWZ0LW5vcmRtYXJrLXNo
aW02LWVzZC0wMCAod29yayBpbg0KICAgICAgICAgICAgICBwcm9ncmVzcyksIEZlYnJ1YXJ5IDIw
MDYuDQoNCiAgIFtSRkMzOTcyXSAgQXVyYSwgVC4sICJDcnlwdG9ncmFwaGljYWxseSBHZW5lcmF0
ZWQgQWRkcmVzc2VzIChDR0EpIiwNCiAgICAgICAgICAgICAgUkZDIDM5NzIsIE1hcmNoIDIwMDUu
DQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoN
Cg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KS29tdSwgZXQgYWwuICAgICAgICAgICAg
IEV4cGlyZXMgQXVndXN0IDUsIDIwMDYgICAgICAgICAgICAgICAgW1BhZ2UgMzVdDQoMDQpJbnRl
cm5ldC1EcmFmdCAgICAgICAgICAgICBNdWx0aWhvbWVkIFNoaW0gQVBJICAgICAgICAgICAgIEZl
YnJ1YXJ5IDIwMDYNCg0KDQpBdXRob3JzJyBBZGRyZXNzZXMNCg0KICAgTWlpa2EgS29tdQ0KICAg
SGVsc2lua2kgSW5zdGl0dWUgZm9yIEluZm9ybWF0aW9uIFRlY2hub2xvZ3kNCiAgIFRhbW1hc2Fh
cmVua2F0dSAzDQogICBIZWxzaW5raQ0KICAgRmlubGFuZA0KDQogICBQaG9uZTogKzM1ODUwMzg0
MTUzMQ0KICAgRmF4OiAgICszNTg5Njk0OTc2OA0KICAgRW1haWw6IG1paWthQGlraS5maQ0KICAg
VVJJOiAgIGh0dHA6Ly93d3cuaGlpdC5maS8NCg0KDQogICBNYXJjZWxvIEJhZ251bG8NCiAgIFVu
aXZlcnNpZGFkIENhcmxvcyBJSUkgZGUgTWFkcmlkDQogICBBdi4gVW5pdmVyc2lkYWQgMzANCiAg
IExlZ2FuZXMgIDI4OTExDQogICBTUEFJTg0KDQogICBQaG9uZTogKzM0IDkxIDYyNDg4MzcNCiAg
IEVtYWlsOiBtYXJjZWxvQGl0LnVjM20uZXMNCiAgIFVSSTogICBodHRwOi8vaXQudWMzbS5lcy9t
YXJjZWxvDQoNCg0KICAgS3Jpc3RpYW4gU2xhdm92DQogICBFcmljc3NvbiBSZXNlYXJjaCBOb21h
ZGljbGFiDQogICBIaXJzYWxhbnRpZSAxMQ0KICAgSm9ydmFzICBGSS0wMjQyMA0KICAgRmlubGFu
ZA0KDQogICBQaG9uZTogKzM1OCA5IDI5OSAzMjg2DQogICBFbWFpbDoga3Jpc3RpYW4uc2xhdm92
QGVyaWNzc29uLmNvbQ0KDQoNCiAgIFNoaW50YSBTdWdpbW90byAoZWRpdG9yKQ0KICAgTmlwcG9u
IEVyaWNzc29uIEsuSy4NCiAgIEtvcmFrdSBNb3JpIEJ1aWxkaW5nDQogICAxLTQtMTQsIEtvcmFr
dSwgQnVua3lvLWt1DQogICBUb2t5byAgMTEyLTAwMDQNCiAgIEphcGFuDQoNCiAgIFBob25lOiAr
ODEgMyAzODMwIDIyNDENCiAgIEVtYWlsOiBzaGludGEuc3VnaW1vdG9AZXJpY3Nzb24uY29tDQoN
Cg0KDQoNCg0KDQoNCktvbXUsIGV0IGFsLiAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCA1LCAy
MDA2ICAgICAgICAgICAgICAgIFtQYWdlIDM2XQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAg
ICAgTXVsdGlob21lZCBTaGltIEFQSSAgICAgICAgICAgICBGZWJydWFyeSAyMDA2DQoNCg0KSW50
ZWxsZWN0dWFsIFByb3BlcnR5IFN0YXRlbWVudA0KDQogICBUaGUgSUVURiB0YWtlcyBubyBwb3Np
dGlvbiByZWdhcmRpbmcgdGhlIHZhbGlkaXR5IG9yIHNjb3BlIG9mIGFueQ0KICAgSW50ZWxsZWN0
dWFsIFByb3BlcnR5IFJpZ2h0cyBvciBvdGhlciByaWdodHMgdGhhdCBtaWdodCBiZSBjbGFpbWVk
IHRvDQogICBwZXJ0YWluIHRvIHRoZSBpbXBsZW1lbnRhdGlvbiBvciB1c2Ugb2YgdGhlIHRlY2hu
b2xvZ3kgZGVzY3JpYmVkIGluDQogICB0aGlzIGRvY3VtZW50IG9yIHRoZSBleHRlbnQgdG8gd2hp
Y2ggYW55IGxpY2Vuc2UgdW5kZXIgc3VjaCByaWdodHMNCiAgIG1pZ2h0IG9yIG1pZ2h0IG5vdCBi
ZSBhdmFpbGFibGU7IG5vciBkb2VzIGl0IHJlcHJlc2VudCB0aGF0IGl0IGhhcw0KICAgbWFkZSBh
bnkgaW5kZXBlbmRlbnQgZWZmb3J0IHRvIGlkZW50aWZ5IGFueSBzdWNoIHJpZ2h0cy4gIEluZm9y
bWF0aW9uDQogICBvbiB0aGUgcHJvY2VkdXJlcyB3aXRoIHJlc3BlY3QgdG8gcmlnaHRzIGluIFJG
QyBkb2N1bWVudHMgY2FuIGJlDQogICBmb3VuZCBpbiBCQ1AgNzggYW5kIEJDUCA3OS4NCg0KICAg
Q29waWVzIG9mIElQUiBkaXNjbG9zdXJlcyBtYWRlIHRvIHRoZSBJRVRGIFNlY3JldGFyaWF0IGFu
ZCBhbnkNCiAgIGFzc3VyYW5jZXMgb2YgbGljZW5zZXMgdG8gYmUgbWFkZSBhdmFpbGFibGUsIG9y
IHRoZSByZXN1bHQgb2YgYW4NCiAgIGF0dGVtcHQgbWFkZSB0byBvYnRhaW4gYSBnZW5lcmFsIGxp
Y2Vuc2Ugb3IgcGVybWlzc2lvbiBmb3IgdGhlIHVzZSBvZg0KICAgc3VjaCBwcm9wcmlldGFyeSBy
aWdodHMgYnkgaW1wbGVtZW50ZXJzIG9yIHVzZXJzIG9mIHRoaXMNCiAgIHNwZWNpZmljYXRpb24g
Y2FuIGJlIG9idGFpbmVkIGZyb20gdGhlIElFVEYgb24tbGluZSBJUFIgcmVwb3NpdG9yeSBhdA0K
ICAgaHR0cDovL3d3dy5pZXRmLm9yZy9pcHIuDQoNCiAgIFRoZSBJRVRGIGludml0ZXMgYW55IGlu
dGVyZXN0ZWQgcGFydHkgdG8gYnJpbmcgdG8gaXRzIGF0dGVudGlvbiBhbnkNCiAgIGNvcHlyaWdo
dHMsIHBhdGVudHMgb3IgcGF0ZW50IGFwcGxpY2F0aW9ucywgb3Igb3RoZXIgcHJvcHJpZXRhcnkN
CiAgIHJpZ2h0cyB0aGF0IG1heSBjb3ZlciB0ZWNobm9sb2d5IHRoYXQgbWF5IGJlIHJlcXVpcmVk
IHRvIGltcGxlbWVudA0KICAgdGhpcyBzdGFuZGFyZC4gIFBsZWFzZSBhZGRyZXNzIHRoZSBpbmZv
cm1hdGlvbiB0byB0aGUgSUVURiBhdA0KICAgaWV0Zi1pcHJAaWV0Zi5vcmcuDQoNCg0KRGlzY2xh
aW1lciBvZiBWYWxpZGl0eQ0KDQogICBUaGlzIGRvY3VtZW50IGFuZCB0aGUgaW5mb3JtYXRpb24g
Y29udGFpbmVkIGhlcmVpbiBhcmUgcHJvdmlkZWQgb24gYW4NCiAgICJBUyBJUyIgYmFzaXMgYW5k
IFRIRSBDT05UUklCVVRPUiwgVEhFIE9SR0FOSVpBVElPTiBIRS9TSEUgUkVQUkVTRU5UUw0KICAg
T1IgSVMgU1BPTlNPUkVEIEJZIChJRiBBTlkpLCBUSEUgSU5URVJORVQgU09DSUVUWSBBTkQgVEhF
IElOVEVSTkVUDQogICBFTkdJTkVFUklORyBUQVNLIEZPUkNFIERJU0NMQUlNIEFMTCBXQVJSQU5U
SUVTLCBFWFBSRVNTIE9SIElNUExJRUQsDQogICBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRP
IEFOWSBXQVJSQU5UWSBUSEFUIFRIRSBVU0UgT0YgVEhFDQogICBJTkZPUk1BVElPTiBIRVJFSU4g
V0lMTCBOT1QgSU5GUklOR0UgQU5ZIFJJR0hUUyBPUiBBTlkgSU1QTElFRA0KICAgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgT1IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Uu
DQoNCg0KQ29weXJpZ2h0IFN0YXRlbWVudA0KDQogICBDb3B5cmlnaHQgKEMpIFRoZSBJbnRlcm5l
dCBTb2NpZXR5ICgyMDA2KS4gIFRoaXMgZG9jdW1lbnQgaXMgc3ViamVjdA0KICAgdG8gdGhlIHJp
Z2h0cywgbGljZW5zZXMgYW5kIHJlc3RyaWN0aW9ucyBjb250YWluZWQgaW4gQkNQIDc4LCBhbmQN
CiAgIGV4Y2VwdCBhcyBzZXQgZm9ydGggdGhlcmVpbiwgdGhlIGF1dGhvcnMgcmV0YWluIGFsbCB0
aGVpciByaWdodHMuDQoNCg0KQWNrbm93bGVkZ21lbnQNCg0KICAgRnVuZGluZyBmb3IgdGhlIFJG
QyBFZGl0b3IgZnVuY3Rpb24gaXMgY3VycmVudGx5IHByb3ZpZGVkIGJ5IHRoZQ0KICAgSW50ZXJu
ZXQgU29jaWV0eS4NCg0KDQoNCg0KS29tdSwgZXQgYWwuICAgICAgICAgICAgIEV4cGlyZXMgQXVn
dXN0IDUsIDIwMDYgICAgICAgICAgICAgICAgW1BhZ2UgMzddDQoMDQo=
--------_448E5958A51705AF7058_MULTIPART_MIXED_
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MULTIMOBSEC-API mailing list
MULTIMOBSEC-API@ietf.org
https://www1.ietf.org/mailman/listinfo/multimobsec-api

--------_448E5958A51705AF7058_MULTIPART_MIXED_--





From multimobsec-api-bounces@ietf.org Tue Jun 13 06:34:23 2006
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com)
	by megatron.ietf.org with esmtp (Exim 4.43)
	id 1Fq6E3-0003ql-6A; Tue, 13 Jun 2006 06:34:23 -0400
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org)
	by megatron.ietf.org with esmtp (Exim 4.43) id 1Fq6E2-0003qg-8o
	for multimobsec-api@ietf.org; Tue, 13 Jun 2006 06:34:22 -0400
Received: from shonan.sfc.wide.ad.jp ([2001:200:0:8803::53]
	helo=mail.sfc.wide.ad.jp) by ietf-mx.ietf.org with esmtp (Exim 4.43)
	id 1Fq6BP-0001lc-Qi
	for multimobsec-api@ietf.org; Tue, 13 Jun 2006 06:34:22 -0400
Received: from [193.234.219.165] (w165.nomadiclab.com [193.234.219.165])
	by mail.sfc.wide.ad.jp (Postfix) with ESMTP id 3450A4D93E;
	Tue, 13 Jun 2006 19:31:35 +0900 (JST)
Date: Tue, 13 Jun 2006 13:31:25 +0300
From: Shinta Sugimoto <shinta@sfc.wide.ad.jp>
To: Miika Komu <miika@iki.fi>
Subject: Re: [MULTIMOBSEC-API] RE: update of api draft
In-Reply-To: <Pine.SOL.4.64.0606071907520.23483@kekkonen.cs.hut.fi>
References: <DA38843C0546204C8CFBBB411311BB4A017214CF@ejpsymw100.eapac.ericsson.se>
	<Pine.SOL.4.64.0606071907520.23483@kekkonen.cs.hut.fi>
Message-Id: <20060609164434.89D6.SHINTA@sfc.wide.ad.jp>
MIME-Version: 1.0
Content-Type: text/plain; charset="US-ASCII"
Content-Transfer-Encoding: 7bit
X-Mailer: Becky! ver. 2.25.02 [ja]
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 16c9da4896bf5539ae3547c6c25f06a0
Cc: multimobsec-api@ietf.org,
	"Kristian Slavov \(JO/LMF\)" <kristian.slavov@ericsson.com>
X-BeenThere: multimobsec-api@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "Multihoming, mobility and security APIs" <multimobsec-api.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/multimobsec-api>
List-Post: <mailto:multimobsec-api@ietf.org>
List-Help: <mailto:multimobsec-api-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=subscribe>
Errors-To: multimobsec-api-bounces@ietf.org

Hi Miika,

Sorry for the delay in response. Please find my comments inline.

On Wed, 7 Jun 2006 20:00:14 +0300 (EEST)
Miika Komu <miika@iki.fi> wrote:

> On Tue, 6 Jun 2006, Shinta Sugimoto (TO/NRJ) wrote:
> 
> >> I believe that the last "o" bullet should be a "*" bullet.
> >
> > This was intentionally separated. The former were dynamic feedback
> > while the latter is rather static feedback (timeout values).  Yes, both
> > are common in a sense that they are feedbacks from app to the shim
> > layer.
> 
> (Maybe you could mention on the dynamic vs. static difference in the text)

Ok, will try to make the difference more visible. This is not reflected
in the latest version of the draft that I just sent to the list but let
me note this.

> >> I am leaning towards option b) but having the same SO_SHIM
> >> socket options for both protocols. However, I am open for ideas.
> >
> > I think SOL_SHIM would make sense because we are defining
> > "common" socket API for the generic multihoming shim layer.
> > The shim layer, by nature, should not be specific to any protocol
> > family.  And as we say that its "common" for shim approach
> > which is based on ID/Locator separation (e.g. SHIM6, HIP),
> > shouldn't we define it in protocol independent way ?
> 
> I believe the question boils down to unshared functionality. How to have 
> options e.g. for mobility that are not applicable for shim6 but apply for 
> HIP. Or public key related things that are shared with btns and hip, but 
> do not apply to shim6.

Yes.  I share same view as yours.

> On the other hand, if SHIM6 and HIP cannot be used 
> simultaneously for a single socket, there should not be a problem?

I think so (there should not be a problem) AFAICS.  As far as the shim
protocol (whether if its SHIM6 or HIP else) is exclusively applied for
particular communication, there should not be a critical problem, I think.

> So, maybe we can use a single shared SHIM contant for the time being and 
> split it later if we discover some problems e.g. through implementation 
> work.

Ok.

> 
> >> In addition, should it be IPPROTO_ rather than SOL_? I am
> >> little bit unsure on this but I think IPROTO_ is the right
> >> one, altough SOL _could be the alias like it is for e.g.
> >> IPPROTO_TCP and SOL_TCP.
> >>
> >> Opinions, please?
> >
> > As the generic concept of the "shim layer" should be protocol 
> > independent, it seems reasonable to have prefix "SOL_" rather than 
> > "IPPROTO_."  In my understanding, "IPPROTO_" implies specific protocol, 
> > but "SOL_" could followed by conceptual layer such as socket or shim 
> > layer, IMHO. Does this make sense ?
> 
> Regarding to the previous point, maybe IPPROTO_HIP and IPPROTO_SHIM6 could 
> be used to separate uncommon features, if necessary. However, seems like 
> most of the SOL_XX have a corresponding IPPROTO_XX variable.
> 
> So, I am fine with experiment with the SOL_SHIM for the time being.

Ok. And let's solicitate comments from socket API experts during the
next IETF meeting.

> >>> *2: TBD.
> >>
> >> I suggest standard "struct addrinfo" data structure, man
> >> getaddrinfo, or:
> >>
> >> ftp://ftp.rfc-editor.org/in-notes/rfc3493.txt
> >
> > Ok, I think sockaddrs_storage will do the job, as Kristian pointed out.
> 
> Wasn't this supposed to be a list?

Yes. Sorry for the confusion. Let me clarify.

Regarding the placeholder for the locator information (one or more
locator), we have two options:

sockaddr_storage{} - a protocol independent placeholder for socket
address.  can store IPv4 or IPv6 address. the size is dependent on
implementation (in case of FreeBSD, it's 128 bytes).

addrinfo{} - a protocol independent placeholder for socket address
which is primarily for getaddrinfo.  flexible to use.  can form
an array of locator information.

And we should define how the locator information is handles in
following two cases:

a) argument 'optval' in getsockopt()/setsockopt()
b) ancillary data 'cmsg' to be set for in sendmsg() or
   to be returned by recvmsg().

In a), the buffer pointed by optval may contain one or more
locator.  In b), a single cmsg contains single locator.

Now, let's figure out which data structure is suitable for which
purpose.  First, we may use sockaddr_storage{} for both a) and b).
Especially in case of b), we have less motivation to use addrinfo{}
to store single locator.  I am wondering if use of addrinfo{}
could be expensive for decoding; expensive in a sense that pointers
shoudl be properly managed to maintain an array of locators.
We should note that the data is copied from kernel to userland
and vice versa.

So, I think that choice of sockaddr_storage{} for both a) and b)
would be better.  Opinions ?  Note that the latest draft is written
a) comes with addrinfo{} and b) comes with sockaddr_storage{}.

> > Hmm, I personally liked the figure that I borrowed from Steven's book
> > (UNIX Networking Programming, vol. 1) and see how the shim layer
> > fits into the existing model.  But...
> 
> The SOL_SOCKET was not illustarated correctly in the original figure. 

You are right. I fixed the figure so that SOL_SOCKET has effect on
whole socket (all the protocol components).

> Also, having the packets flying around when talking about socket layering 
> was a little bit misleading.

I see.  But my intention to put the figure (Figure 2) was to describe
how the shim layer fits in to the system model of the socket API,
rather than the concpetual hierarchy of the protocols.  I've added some
texts in Section 6 and hope they clarify the figure better.

> 
> >> +------------------------------------------+
> >> |              Application                 | socket
> >> +------------------------------------------+
> >>
> >> +------------------------------------------+
> >> |               SOL_SOCKET                 | generic socket options
> >> +----------------------------------------- +
> >>
> >> +------------+------------+----------------+
> >> | IPROTO_TCP | IPROTO_UDP | IPPROTO_ICMPV6 | transport layer sockets
> >> +------------+------------+----------------+
> >>
> >> +---------------------+--------------------+
> >> |     IPPROTO_HIP     |   IPPROTO_SHIM6    | shim layer sockets
> >> +---------------------+--------------------+
> >>
> >> +-------------------+----------------------+
> >> |    IPROTO_IP      |    IPPROTO_IPV6      | network layer sockets
> >> +-------------------+----------------------+
> 
> (SOL_SOCKET bar could also be reversed 90 degrees since it applies to all 
> layers, but the current way may be easier to comprehend)
> 
> >>> ISSUE: It may be controversial to introduce a new level
> >> SOL_SHIM for
> >>> shim specific socket options.  IMHO, we should avoid defining shim
> >>> specific socket options for both in level IPPROTO_IP and
> >> IPPROTO_IPV6
> >>> as it's redundant and seems to be architecturally wrong.
> >>
> >> I think you can just remove this issue.
> >
> > Given the discussion above, do you think SOL_SHIM is reasonable ?
> 
> Sure let's go for that.

Ok.

> > Agree that root privilege should override normal user settings.
> > And partially agree with that some case may be OK to simply updates
> > the last value.  But there might be other cases too:
> >
> > request 1: set timeout value T for 2 hours
> > request 2: set timeout value T for 1.5 hours
> > request 3: set timeout value T for 3 hours
> >
> > Suppose if above requests are made sequentially by the entities
> > who have same privilege level (say all are root), then what should
> > the shim layer do ?  What Marcelo suggested/mentioned in the
> > last discussion was to introduce a sort of heuristics to accommodate
> > these contradictory requests.  One possible option would be to take
> > demanding request; in above example, timeout value is set to 1.5
> > hours (request 3 is ignored since it's less demanding).  But I think
> > appropriate strategy would dependent on socket options or timeout
> > values.
> 
> As long as the heuristic are simple, that would be fine.

Ok.


Regards,
Shinta


_______________________________________________
MULTIMOBSEC-API mailing list
MULTIMOBSEC-API@ietf.org
https://www1.ietf.org/mailman/listinfo/multimobsec-api



From multimobsec-api-bounces@ietf.org Tue Jun 13 08:16:47 2006
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com)
	by megatron.ietf.org with esmtp (Exim 4.43)
	id 1Fq7p9-0007kj-DU; Tue, 13 Jun 2006 08:16:47 -0400
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org)
	by megatron.ietf.org with esmtp (Exim 4.43) id 1Fq7p8-0007eG-6f
	for multimobsec-api@ietf.org; Tue, 13 Jun 2006 08:16:46 -0400
Received: from shonan.sfc.wide.ad.jp ([2001:200:0:8803::53]
	helo=mail.sfc.wide.ad.jp) by ietf-mx.ietf.org with esmtp (Exim 4.43)
	id 1Fq7nb-00048U-Iq
	for multimobsec-api@ietf.org; Tue, 13 Jun 2006 08:16:46 -0400
Received: from [193.234.219.165] (w165.nomadiclab.com [193.234.219.165])
	by mail.sfc.wide.ad.jp (Postfix) with ESMTP id 97F844D923;
	Tue, 13 Jun 2006 21:15:08 +0900 (JST)
Date: Tue, 13 Jun 2006 15:14:56 +0300
From: Shinta Sugimoto <shinta@sfc.wide.ad.jp>
To: Kristian Slavov <Kristian.Slavov@ericsson.com>
Subject: Re: [MULTIMOBSEC-API] Re: update of api draft
In-Reply-To: <4487EF77.80608@ericsson.com>
References: <DA38843C0546204C8CFBBB411311BB4A017214D0@ejpsymw100.eapac.ericsson.se>
	<4487EF77.80608@ericsson.com>
Message-Id: <20060613133137.8A27.SHINTA@sfc.wide.ad.jp>
MIME-Version: 1.0
Content-Type: text/plain; charset="US-ASCII"
Content-Transfer-Encoding: 7bit
X-Mailer: Becky! ver. 2.25.02 [ja]
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 0770535483960d190d4a0d020e7060bd
Cc: multimobsec-api@ietf.org
X-BeenThere: multimobsec-api@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "Multihoming, mobility and security APIs" <multimobsec-api.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/multimobsec-api>
List-Post: <mailto:multimobsec-api@ietf.org>
List-Help: <mailto:multimobsec-api-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=subscribe>
Errors-To: multimobsec-api-bounces@ietf.org

Hi Kristian,

Sorry for the late reply, but please find my responses inline.

On Thu, 08 Jun 2006 12:35:51 +0300
Kristian Slavov <Kristian.Slavov@ericsson.com> wrote:

> Shinta Sugimoto (TO/NRJ) wrote:
> > 
> > So I'd suggest:
> > SHIM_APPLIED (read-only) - Check if socket is associated with any shim
> > context
> > 
> > SHIM_DONTSHIM (read/write) - if 0, shim is applied (default), if set to
> > 1, shim is disabled.
>  >
> > Shinta: I think your suggestion is better than what is stated in the
> > current draft.  But let me clarify a bit about SHIM_APPLIED
> > (or whatever called).  It's basically for allowing app to know whether
> > if it has any associated shim context with its socket.  Such feature
> > is useful when the locator information is not useful to determine if
> > there is any associated context with the socket.  Note that EID
> > pair and locator pair could be the same, in some case (particularly
> > in case of SHIM6).  So, to be more specific, it's not about whether
> > if shim is applied or not, but it's about if the socket is associated
> > with any shim context or not.  So, I would propose
> > SHIM_ASSOCIATED (read-only). Does this sound fine ?
> 
> 
> Yes, it does. I guess that is what I had in mind.

Ok, now an option SHIM_ASSOCIATED is included in the draft.

> >    ISSUE: We should clarify implications for existing socket API
> >    features, especially IPV6_PKTINFO as it has some implications on
> >    locator selection.  In some case, there might be contradictory case
> >    where IPV6_PKTINFO and SHIM_lOCPAIR_SEND/SHIM_LOCPAIR_RECV are
> >    specified at the same time.
> > 
> > 
> > Kristian: My initial reaction would be to prioritize shim, if 
> >           SHIM_DONTSHIM socket option is NOT set. Otherwise follow 
> >           IPV6_PKTINFO options.
> > 
> > Shinta: I see. IMHO, we should sort out PKTINFO 
> > 
> > for outbound, PKTINFO allows app to specify following:
> > 
> > 1) source IPv6 addres
> > 2) output interface (ifindex)
> > 3) hop-limit
> > 4) next-hop address
> > 
> > The conflict with the shim layer may affect 1) and 2).
> > For 1), it should be handled above the shim layer. However,
> > I don't think 2) can be done in that way.  I mean, if the shim
> > layer is present and performing locator switch based on a
> > context information, there is no gurantee that 2) can be
> > done as the app specified.  So, I think we should mention
> > in the draft that 2) may be affected by the API.
> 
> 
> Ok, but I'd like to point out that in (many?) cases you want to define 
> hop-limit/next-hop based on the knowledge of the output interface AND/OR 
> source address. So they might not be meaningful if shim layer changes 1) 
> and/or 2).
> 
> 
> > 
> > for inbound, PKTINFO allows app to receive following:
> > 
> > 1) destination IPv6 address
> > 2) receiving interface (ifindex)
> > 3) hop-limit
> > 
> 
> 
> Perhaps we need to extend this. Let's consider a scenario with a simple 
> connected connection. You are bound to certain EID in both ends (whether 
> implicitly or explicitly, doesn't matter). You can query this EID by other 
> means (getsockopts, right?). However, if you want to see which destination 
> locator the peer used, that you cannot know. So in this scenario returning 
>   1, 2 and 3 as is, is fine. (I'm assuming hop-limit equals to the 
> remaining hops in the incoming packet)
> 
> However, if we have a diagnostics application, or something else that 
> listens to all kinds of traffic, then we probably could also use options:
> 4) EID
> 
> This allows the application to find out to which shimmed context the 
> packet also belongs.
> 
> 
>  > IMHO, 1) should return destination EID, but I am not sure
>  > about 2).  Should 2) return actual interface from which the
>  > IP packet was received or return the interface to which
>  > destination EID is assigned ?  Any comments ?
> 
> 
> The information about to which destination EID is assigned, is not 
> important. You can find that out by other means. For example, having the 
> EID and querying interfaces' addresses.
> 
> So, in short: 1,2,3 as is. Add 4) EID/ULID

For background info to the list, Kristian and I had off-line
discussion on above issues and reached to preliminary conclusions
on some of them. I think the discussion should be shared by the list,
so let me clarify here:

The issue is mainly about the potential conflict/contradiction that
may be caused by the shim API with legacy API.  The locator management
features in the API allows owner of the socket (app) to

1) get locator information (local/remote) for incoming packet
2) specify locator information (local/remote) for outgoing packet

Some of above features are actually covered by legacy API.
For IPv4 socket, IP_RECVDSTADDR and IP_RECVIF socket options are
defined to get the destination IP address and receiving interface of
the received datagram.  For IPv6 socket, it is also possible to do
that with IPV6_PKTINFO option.

By introducing ID/Locator split in the system model, we should
clarify what the expected behavior of legacy API that deals with
IP addresses or interfaces.

One possible way to figure this out is to assume that all legacy
API should work above the shim layer.  That is, legacy API deals
with identifier aspect of the IP address.  For instance,
IP_RECVDSTADDR will allow app to know the destination EID of
received packet.  If the app wants to deal with locators that lays
below the shim layer, it may use shim API specified in the document.

If we take the assumption above, the draft should probably alert
the usage of legacy API which handles IP address in locator-oriented
way rather than identifier-oriented way.  For instance, obtaining
receiving interface from the ancillary data seems to be useful for
application which is interested in characteristics of physical
interface.  In a system model where shim layer resides inside the
IP layer, those request targeting the layer below the shim layer
should be made by shim API.

Given that, we came to think that SHIM_IF_RECV and SHIM_IF_SEND
maybe useful to override the feature of IP_RECVIF and IPV6_PKTINFO
receiving/specifying the interface.  Note that this does not mean
IP_RECVIF and IPV6_PKTINFO should be deprecated, but they will
remain usable.

In the latest draft, above issues are mainly addressed in Section 9.
Any comments/suggestions are welcome.


Regards,
Shinta


_______________________________________________
MULTIMOBSEC-API mailing list
MULTIMOBSEC-API@ietf.org
https://www1.ietf.org/mailman/listinfo/multimobsec-api



From multimobsec-api-bounces@ietf.org Tue Jun 13 16:44:34 2006
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com)
	by megatron.ietf.org with esmtp (Exim 4.43)
	id 1FqFkX-0007w7-S4; Tue, 13 Jun 2006 16:44:33 -0400
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org)
	by megatron.ietf.org with esmtp (Exim 4.43) id 1FqFkX-0007vx-2M
	for multimobsec-api@ietf.org; Tue, 13 Jun 2006 16:44:33 -0400
Received: from twilight.cs.hut.fi ([130.233.40.5])
	by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1FqFkV-0005M6-NE
	for multimobsec-api@ietf.org; Tue, 13 Jun 2006 16:44:33 -0400
Received: by twilight.cs.hut.fi (Postfix, from userid 60001)
	id E6C1A30AC; Tue, 13 Jun 2006 23:44:30 +0300 (EEST)
X-Spam-Checker-Version: SpamAssassin 3.1.2-niksula20060321 (2006-05-25) on 
	twilight.cs.hut.fi
X-Spam-Level: 
X-Spam-Status: No, score=-1.4 required=5.0 tests=ALL_TRUSTED autolearn=failed 
	version=3.1.2-niksula20060321
X-Spam-Niksula: No
Received: from kekkonen.cs.hut.fi (kekkonen.cs.hut.fi [130.233.41.50])
	by twilight.cs.hut.fi (Postfix) with ESMTP id B50B330A0;
	Tue, 13 Jun 2006 23:44:29 +0300 (EEST)
Received: from localhost (mkomu@localhost)
	by kekkonen.cs.hut.fi (8.13.4+Sun/8.13.3/Submit) with ESMTP id
	k5DKiTds002392; Tue, 13 Jun 2006 23:44:29 +0300 (EEST)
X-Authentication-Warning: kekkonen.cs.hut.fi: mkomu owned process doing -bs
Date: Tue, 13 Jun 2006 23:44:29 +0300 (EEST)
From: Miika Komu <miika@iki.fi>
X-X-Sender: mkomu@kekkonen.cs.hut.fi
To: Pekka Nikander <pekka.nikander@nomadiclab.com>
Subject: Re: [MULTIMOBSEC-API] Fwd: [Int-area] BOF: Transport-Enhancing
	Refinements to the Network Layer Interface (TERNLI)
In-Reply-To: <85FF3394-70EF-4662-91F5-F9FD33A382AA@nomadiclab.com>
Message-ID: <Pine.SOL.4.64.0606132339590.577@kekkonen.cs.hut.fi>
References: <E4B0ECFD-3565-47C7-A970-CF245F91975C@netlab.nec.de>
	<85FF3394-70EF-4662-91F5-F9FD33A382AA@nomadiclab.com>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 9466e0365fc95844abaf7c3f15a05c7d
Cc: multimobsec-api@ietf.org
X-BeenThere: multimobsec-api@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "Multihoming, mobility and security APIs" <multimobsec-api.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/multimobsec-api>
List-Post: <mailto:multimobsec-api@ietf.org>
List-Help: <mailto:multimobsec-api-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=subscribe>
Errors-To: multimobsec-api-bounces@ietf.org

On Mon, 12 Jun 2006, Pekka Nikander wrote:

> FYI.  --Pekka
>
> Begin forwarded message:
>
>> From: Lars Eggert <lars.eggert@netlab.nec.de>
>> Date: June 12, 2006 10:33:14 GMT+03:00
>> To: ietf@ietf.org, tsvwg@ietf.org, int-area@ietf.org, mobopts@irtf.org
>> Subject: [Int-area] BOF: Transport-Enhancing Refinements to the Network 
>> Layer Interface (TERNLI)
>> Reply-To: ternli@ietf.org
>> 
>> Hi,
>> 
>> please note that the TSV and INT are sponsoring the following 
>> non-WG-forming BOF in Montreal. We'd welcome any input you may have on the 
>> scope or content of this BOF. This discussion should take place on the BOF 
>> mailing list.

Thanks Pekka for the link.

I also run into this one which is about IPsec policy APIs (and 
even references one of Pekka's papers :)

http://www.cs.wm.edu/~hnw/paper/usenix05.pdf

-- 
Miika Komu              miika@iki.fi          http://www.iki.fi/miika/

_______________________________________________
MULTIMOBSEC-API mailing list
MULTIMOBSEC-API@ietf.org
https://www1.ietf.org/mailman/listinfo/multimobsec-api



From multimobsec-api-bounces@ietf.org Thu Jun 15 09:44:12 2006
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com)
	by megatron.ietf.org with esmtp (Exim 4.43)
	id 1Fqs8q-0002bV-BT; Thu, 15 Jun 2006 09:44:12 -0400
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org)
	by megatron.ietf.org with esmtp (Exim 4.43) id 1Fqs8p-0002bQ-Bx
	for multimobsec-api@ietf.org; Thu, 15 Jun 2006 09:44:11 -0400
Received: from shonan.sfc.wide.ad.jp ([2001:200:0:8803::53]
	helo=mail.sfc.wide.ad.jp) by ietf-mx.ietf.org with esmtp (Exim 4.43)
	id 1Fqs8n-0007Zz-Nq
	for multimobsec-api@ietf.org; Thu, 15 Jun 2006 09:44:11 -0400
Received: from [193.234.219.165] (w165.nomadiclab.com [193.234.219.165])
	by mail.sfc.wide.ad.jp (Postfix) with ESMTP id AC2394D81F
	for <multimobsec-api@ietf.org>; Thu, 15 Jun 2006 22:44:06 +0900 (JST)
Date: Thu, 15 Jun 2006 16:44:05 +0300
From: Shinta Sugimoto <shinta@sfc.wide.ad.jp>
To: multimobsec-api@ietf.org
Message-Id: <20060615164207.A9E0.SHINTA@sfc.wide.ad.jp>
MIME-Version: 1.0
Content-Type: text/plain; charset="US-ASCII"
Content-Transfer-Encoding: 7bit
X-Mailer: Becky! ver. 2.25.02 [ja]
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 7bac9cb154eb5790ae3b2913587a40de
Subject: [MULTIMOBSEC-API] issue tracker
X-BeenThere: multimobsec-api@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "Multihoming, mobility and security APIs" <multimobsec-api.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/multimobsec-api>
List-Post: <mailto:multimobsec-api@ietf.org>
List-Help: <mailto:multimobsec-api-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=subscribe>
Errors-To: multimobsec-api-bounces@ietf.org

FYI, I've registered some of the issues indentified during the
discussions about the shim API to the Issue Tracker.  If there
is anything missing, please let me know.

http://hip4inter.net/cgi-bin/roundup.cgi/hip-shim6/index

Regards,
Shinta



_______________________________________________
MULTIMOBSEC-API mailing list
MULTIMOBSEC-API@ietf.org
https://www1.ietf.org/mailman/listinfo/multimobsec-api



From multimobsec-api-bounces@ietf.org Thu Jun 15 11:56:26 2006
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com)
	by megatron.ietf.org with esmtp (Exim 4.43)
	id 1FquCo-0001lr-E1; Thu, 15 Jun 2006 11:56:26 -0400
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org)
	by megatron.ietf.org with esmtp (Exim 4.43) id 1FquBp-00014N-V4
	for multimobsec-api@ietf.org; Thu, 15 Jun 2006 11:55:26 -0400
Received: from twilight.cs.hut.fi ([130.233.40.5])
	by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1Fqu2e-0003ff-0k
	for multimobsec-api@ietf.org; Thu, 15 Jun 2006 11:45:57 -0400
Received: by twilight.cs.hut.fi (Postfix, from userid 60001)
	id 3AD3F2FA0; Thu, 15 Jun 2006 18:45:53 +0300 (EEST)
X-Spam-Checker-Version: SpamAssassin 3.1.2-niksula20060321 (2006-05-25) on 
	twilight.cs.hut.fi
X-Spam-Level: 
X-Spam-Status: No, score=-1.4 required=5.0 tests=ALL_TRUSTED autolearn=failed 
	version=3.1.2-niksula20060321
X-Spam-Niksula: No
Received: from kekkonen.cs.hut.fi (kekkonen.cs.hut.fi [130.233.41.50])
	by twilight.cs.hut.fi (Postfix) with ESMTP id B536D2F91;
	Thu, 15 Jun 2006 18:45:52 +0300 (EEST)
Received: from localhost (mkomu@localhost)
	by kekkonen.cs.hut.fi (8.13.4+Sun/8.13.3/Submit) with ESMTP id
	k5FFjh3A014167; Thu, 15 Jun 2006 18:45:48 +0300 (EEST)
X-Authentication-Warning: kekkonen.cs.hut.fi: mkomu owned process doing -bs
Date: Thu, 15 Jun 2006 18:45:43 +0300 (EEST)
From: Miika Komu <miika@iki.fi>
X-X-Sender: mkomu@kekkonen.cs.hut.fi
To: Shinta Sugimoto <shinta@sfc.wide.ad.jp>
Subject: Re: [MULTIMOBSEC-API] RE: update of api draft
In-Reply-To: <20060609164434.89D6.SHINTA@sfc.wide.ad.jp>
Message-ID: <Pine.SOL.4.64.0606151840380.13471@kekkonen.cs.hut.fi>
References: <DA38843C0546204C8CFBBB411311BB4A017214CF@ejpsymw100.eapac.ericsson.se>
	<Pine.SOL.4.64.0606071907520.23483@kekkonen.cs.hut.fi>
	<20060609164434.89D6.SHINTA@sfc.wide.ad.jp>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 4d87d2aa806f79fed918a62e834505ca
Cc: multimobsec-api@ietf.org,
	"Kristian Slavov \(JO/LMF\)" <kristian.slavov@ericsson.com>
X-BeenThere: multimobsec-api@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "Multihoming, mobility and security APIs" <multimobsec-api.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/multimobsec-api>
List-Post: <mailto:multimobsec-api@ietf.org>
List-Help: <mailto:multimobsec-api-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=subscribe>
Errors-To: multimobsec-api-bounces@ietf.org

On Tue, 13 Jun 2006, Shinta Sugimoto wrote:

>>> Ok, I think sockaddrs_storage will do the job, as Kristian pointed out.
>>
>> Wasn't this supposed to be a list?
>
> Yes. Sorry for the confusion. Let me clarify.
>
> Regarding the placeholder for the locator information (one or more
> locator), we have two options:
>
> sockaddr_storage{} - a protocol independent placeholder for socket
> address.  can store IPv4 or IPv6 address. the size is dependent on
> implementation (in case of FreeBSD, it's 128 bytes).
>
> addrinfo{} - a protocol independent placeholder for socket address
> which is primarily for getaddrinfo.  flexible to use.  can form
> an array of locator information.
>
> And we should define how the locator information is handles in
> following two cases:
>
> a) argument 'optval' in getsockopt()/setsockopt()
> b) ancillary data 'cmsg' to be set for in sendmsg() or
>   to be returned by recvmsg().
>
> In a), the buffer pointed by optval may contain one or more
> locator.  In b), a single cmsg contains single locator.
>
> Now, let's figure out which data structure is suitable for which
> purpose.  First, we may use sockaddr_storage{} for both a) and b).
> Especially in case of b), we have less motivation to use addrinfo{}
> to store single locator.  I am wondering if use of addrinfo{}
> could be expensive for decoding; expensive in a sense that pointers
> shoudl be properly managed to maintain an array of locators.
> We should note that the data is copied from kernel to userland
> and vice versa.
>
> So, I think that choice of sockaddr_storage{} for both a) and b)
> would be better.  Opinions ?  Note that the latest draft is written
> a) comes with addrinfo{} and b) comes with sockaddr_storage{}.

I don't think there is no need to specify multiple addresses in case (b). 
One (ULID) address, either source or destination, can be managed with 
sockaddr_storage should be sufficient.

In case (a), it depends on the specific option. To specify source or 
destination ULID, sockaddr is enough. To specificy locators, we need 
addrinfo.

-- 
Miika Komu                                       http://www.iki.fi/miika/

_______________________________________________
MULTIMOBSEC-API mailing list
MULTIMOBSEC-API@ietf.org
https://www1.ietf.org/mailman/listinfo/multimobsec-api



From multimobsec-api-bounces@ietf.org Sun Jun 18 17:39:29 2006
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com)
	by megatron.ietf.org with esmtp (Exim 4.43)
	id 1Fs4zR-0005Tr-1M; Sun, 18 Jun 2006 17:39:29 -0400
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org)
	by megatron.ietf.org with esmtp (Exim 4.43) id 1Fs4zQ-0005Tm-9d
	for multimobsec-api@ietf.org; Sun, 18 Jun 2006 17:39:28 -0400
Received: from twilight.cs.hut.fi ([130.233.40.5])
	by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1Fs4zO-0002tF-Mm
	for multimobsec-api@ietf.org; Sun, 18 Jun 2006 17:39:28 -0400
Received: by twilight.cs.hut.fi (Postfix, from userid 60001)
	id 4919C2FD0; Mon, 19 Jun 2006 00:39:26 +0300 (EEST)
X-Spam-Checker-Version: SpamAssassin 3.1.2-niksula20060321 (2006-05-25) on 
	twilight.cs.hut.fi
X-Spam-Level: 
X-Spam-Status: No, score=-1.4 required=5.0 tests=ALL_TRUSTED autolearn=failed 
	version=3.1.2-niksula20060321
X-Spam-Niksula: No
Received: from kekkonen.cs.hut.fi (kekkonen.cs.hut.fi [130.233.41.50])
	by twilight.cs.hut.fi (Postfix) with ESMTP id C8A3F2F20
	for <multimobsec-api@ietf.org>; Mon, 19 Jun 2006 00:39:25 +0300 (EEST)
Received: from localhost (mkomu@localhost)
	by kekkonen.cs.hut.fi (8.13.4+Sun/8.13.3/Submit) with ESMTP id
	k5ILdPVn021508
	for <multimobsec-api@ietf.org>; Mon, 19 Jun 2006 00:39:25 +0300 (EEST)
X-Authentication-Warning: kekkonen.cs.hut.fi: mkomu owned process doing -bs
Date: Mon, 19 Jun 2006 00:39:25 +0300 (EEST)
From: Miika Komu <miika@iki.fi>
X-X-Sender: mkomu@kekkonen.cs.hut.fi
To: multimobsec-api@ietf.org
Message-ID: <Pine.SOL.4.64.0606190017020.15584@kekkonen.cs.hut.fi>
MIME-Version: 1.0
Content-Type: MULTIPART/MIXED;
	BOUNDARY="-559023410-824023566-1150665459=:15584"
Content-ID: <Pine.SOL.4.64.0606190017430.15584@kekkonen.cs.hut.fi>
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 025f8c5000216988bfe31585db759250
Subject: [MULTIMOBSEC-API] native API draft
X-BeenThere: multimobsec-api@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "Multihoming, mobility and security APIs" <multimobsec-api.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/multimobsec-api>
List-Post: <mailto:multimobsec-api@ietf.org>
List-Help: <mailto:multimobsec-api-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=subscribe>
Errors-To: multimobsec-api-bounces@ietf.org

  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

---559023410-824023566-1150665459=:15584
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII; FORMAT=flowed
Content-ID: <Pine.SOL.4.64.0606190017431.15584@kekkonen.cs.hut.fi>

Hi folks,

attached you can find the latest native API draft. I changed the title, 
contents and name due to alignments with Shinta's draft, so I had to 
submit it already as 00 draft. I still hope you could provide some 
feedback on it as it is not very long.

Especially, I hope that Marcelo, Shinta and Kristian could provide 
feedback from sections 2.4 and 3.2.2-4. Currently the source locators are 
more coarse grained (network interfaces) than in Shinta's draft (IP 
addresses), so may be that needs to be changed. If I recall correctly, the 
original purpose of that was to align the API with HIP mobility draft.

Michael, I'd appreciate feedback from you if you have time. I hope the 
draft would be generic enough to accommodate also "native btns" apps (we 
have not really discussed about legacy btns apps). Too bad that we did not 
have time to collaborate on this iteration :(

-- 
Miika Komu                                       http://www.iki.fi/miika/
---559023410-824023566-1150665459=:15584
Content-Type: APPLICATION/ZIP; name=draft-komu-shim-native-api-00.txt.zip
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.SOL.4.64.0606190039250.15584@kekkonen.cs.hut.fi>
Content-Description: 
Content-Disposition: attachment; filename=draft-komu-shim-native-api-00.txt.zip

UEsDBBQAAAAIAOUA0zSprE/zxSsAAJOcAAAhABUAZHJhZnQta29tdS1zaGlt
LW5hdGl2ZS1hcGktMDAudHh0VVQJAAN9wJVEfcCVRFV4BACBaw8A3X1rc9tG
suh31fkRKH+J7VD024mTra1DS5TFjUTxkHRyvFu5CkQMyVmBAIOHZOZ6//vt
1wxmAFASs/S5da9SFZMg0NPT09PvaRwcHJymeREMIpUUutgEoywt0lkaBw//
O+8GP6Wr8mCQFCpLVHF4nIXzYtvdpyrOdXKtg0GSw4hloYJ5msE3+P8qLHSa
HPQ/r3Wm8h+CiVoXanWlsuBlJ3j5/Pmbh6AzVbNlksbpYnOwwyTaZxZmNOzB
AYIaAnY3Kuit17GeEaZIrUUWrlY6WQQ0/Xk4UzlNaHI6OA/Owg0gb2iatyEU
IbEOr4GAh/lSrw4TGuUwXOvD58+7xefi4GBShEWZB+k8KJY6D87VKiWE3m+C
vLxa6aLA8ek3fw06gQpnyyAsiyVglKk1UBXWOYd7wyIIE6JQyPO5ilWwDgv4
OYB702IJiA9G42AWh3pFg98uNQBbKvw9h39guPA2zBQCWYZAmSulEvzxVscx
fAkinc/iNFdRB8aKcLw2MFdqlq4U0YbAtT2ukyCczdIsCpMZ3lAsgTdmtARv
Eeb7o1Hw3bsuwpgiGaJ0Vq5wKqtwEyRpgeBWaaTn2iATqUzf8ILeptk1TVDb
+xEQPDLLFFAEnlCfZ8CKQZEG6/Iq1vkS7w1h/kkwPjkigPBbkYVJHsMT+KtO
ihTBxGGyKMMFcAXTFEifBP1kgVC6tIz+mgHQjHHCRTUTkdVX9mYEoRMFs0gW
NO0wvw5O0gzI83jQn548AaIxrDDnGeNXA3aRpeU67wJPp4AtcgPCYAT5N6JE
GOcpLkOR6SvcqE2sQoflEARPYfu8iNud52/CWEe0X0IY8bNelSucaa4/w3ol
xZLZArBHdGBFynXEKwLMHMNeg0/IrVd5Giu4HlxtZBYOipbTC71SMOdBgayr
E2D8LF1nGhcMVq/MVRPlHAaaq0wB2yEEEFBA8TDGQeGRmSbqqZW7tvDMIyQU
Mu0a5YPK8+6jA+ZNFcC6FzjFWZllyKH1IWcAAiYK7A7PwYx4aZZFsf7h2bPb
29uuVsW8m2aLZ/jh2QsdHYZXsELhDOgO4qLbGKkmlyfLMEpvg2MQsbMizbTa
ZcycHu4ui1VsBmpIHd7AioR4ADu0IcXhyaN0vcn0YlkgB2ogLsKqLj4+ekJT
sNw+SWeAwyZ4jM8/AQA9mfNBc8/jqoLYyAEFEGc5CImcdifAM0QHkIaXe6MB
CWyEszaCOrgKkQ6AvCbFCHIjexanIPVRaIG8LICPjhhYvOkQbDM+AprDZ8QA
AJwORp0Adg/d42AkNC+J3rjPDOv6iOR6pWNQQ49QnzwCaYIKxf4MWHzMWfgr
nIkzQAfhJOqWFRFL1rBSXYzAIkTJCngUQOdgBjsuA9UvogYfBM13gMq9TTuK
mr5XS/9jBOIvePHrwX/caSKIeiV0aVHuVchMDJQOKonWKUhcZ7mQNiAPgSLh
ah0rXqM6ARDK76XKNgQlR0bD4TOFUhz3gUi+nMRMvlYzPd8gJA1C5zax4yIc
Z2gRaEuwrFDeAImjSOOgIIlpTXQS0fZDBaZiZdhmFsaxcmYTqXyW6TUyHTK4
moPEjyrrormosDEOpqTKYQ2PYDlRAhKtXhAisLxRycN2d/4veEWQXsKnY5Xr
RRL0stkSROCsKAGPXSC9ZkvoZRfR6pvpHlfT3RkQYkXWFu6G8zRS8W5zs4Be
oVYMwSBZg3oRSLsAemMAvYYvILaugane43oni3wnQG+J2q+6QWVZBpNNUoSf
iVkNse5fy+B7RukVUfs4LMJgUmQlrdpuKFlASO2TMpnxRtqJ0vjfi+fGEkZQ
iNVYgQa/QZPTzvVBgF64gBAr1zqf0H4Fk8+4N6jrHgIIif5fKBaQmSx7jkUq
OK5Kc+ovXrmAHB64WDOxHkyj17T+CGHQG/ZwN+cgYrJwZ5q/YE56g7go0IDo
5v05aC++I0hvkc6z6yS9BWm1UGxm7cgB3xOk72jpxcDaFYZAescE/474aMgr
A3pkZ7AVoJe05+Z/FhQAQkg98rq+yYNeFKEN+Cfm9vK5saNBL8B+BcMTfMm1
ygpWWJXBhC7iHQvx8sVB7W8/Sv3lnpV6XUtZW9YxnIwaBMuFXF52KR5oTlm7
Dq2BO2w7z3JA7N8aR+T9dDghVwZszFyjqs1L8Gdh/Eijb5ITS7Ok+OUDGWWR
9X8QCDv8ebnQK8DqcFXGhV6CB8zuP/j9NMw/BofHZHYfXhVJfqjXuZrhj5n6
/Vfyc0/TWwUCs+MRwVikNQOUTfUtgR5rLrNpMss2oIEXWbgGPz1IrCYkD97Y
lGx5iVE9PRo9G4xgepUx4AtitjVzRb4SeFkAgawd8JbQL9a8Go5NnhfhDFxy
8vNvQhbDkQJPSpEffKOB8BoWakOUIFItwWgCyytNDpd6fejaRL9SIKHMcYo4
TgyEA0LEQL0YwSGICiJiwxEKz1bEBVeanLxZilwBW3KDNuE6zApwCGNyMMuE
TTLAEalOpl/h+iad4FYZdILwKhW3YAl72OJEnrg3Sd4CDXwcRE6R/mwN4jIx
oy1g5yXgRtOtYtnfkJeq6IHKfPatZhjMiQtV48EsgXQU6ahsZoA81wu0/3Kj
W8R6JhjWgGYzHRFqWtEOYzIOxK5nahHOZGp1XgrjTIXRhnz2EFmEnEMM4VRQ
yAGK9bUKziYDMOBPB1PGAgGySFbk4bOVfUUi5SH8JOthGDMpSUz6g7M1z141
R7NIMqHpjhNiMeRwPLlhKsw1LGak1nG6QSseodyGhgFko0aeF5mWcUSjwHZR
OJIRcGmixJFDKOqzzilKyFoNyEGUIZogF2NUaxZcq01undUNB/XsMokgBbRW
rb4VwBLoFKzh3W0297xEsUCBKFqWNFl0aN3IWYlVsoCt7mBBDIeBO/aTgCpO
mFLmZJz5nAysHEVt3dvCDatM7Ajlm6xBmFjdUImzGqok1oGswCVIa76JQ2mz
ZZqS280hTYotkZISIleMYOhNOGjRbMpiCAqdV9t4gIbA4kFa5GBivyiezhw3
tPAC39IJFioBWy7Wf/C2c8YXl5LQa3ErH/ePnwh79Y8DjCFRWJNDukkUKyPk
QzY/HMgUQ84VCMCQ9rdjeBPKhEjiOsVZurISODNE97b917FSXu3ZStniAUvQ
kyV+zt49b43Eh48LgA9rV/YQdTgi4WhSIDmvGWkEdct8UDFSwQsHUhgD1B1R
XVqWcAa0zXjVQsPevEsAiBmal8S4zsjeVulTyBM9YICHW5Y1Mt7Pey64EseW
ISIWcRkxRNFyaMShFMMHQ8t5yCQSZWoJ3YAGAW+wpLtWCgWJzlddpPuWcIE1
E22KIzRDGPA5EmWpIxikYkQvdGIVH9ATCRj89htvgW++wU0QgoBDs0bUKtyU
q+yGNUjIi2RNIqJ9CtIpX6dEIHg2wLXYmFWA72AshiitDSFMtAg21VKkOskn
io9GvN3McoeJJDXY3kUMKE6Ni003wgTWIcVycbJkUiQ8BM2FxR+mXkJUobqA
3Y7GIshZtITjAPkT1mKG+RaifDO+Yone2PkmkMz2FmVF1mlWyI83OnRYiKWE
+PxNS0eeKR1gVnKK3TkY3bwOOH4LH99W0Chmx5blbWML2rtQlN4A71HuQNZO
uNtI3qm7QWg/UAIhjkuMQRfsi5ywFfSCVSNB0SucB5hELAUGIxAKMiEkN6XL
1GfaMlHFlGxOsQ3U/vft4T1/38qzbjCEU5HBFweO+7P9+/Kgcbd8dJ+VuIcd
l9YJSf+F14k/2gXZYdxvt487tczmzxd4RabH/3w8Hu003/qILfPFKVc5X0Nn
Ml9BpvKGwxvy/Y47ZCPSny/R2pkvEXzv8z3TiTduH+eI2Ro7br+YmZv/vXHv
T+Wb/WfFEi2GGBkipdHDfnaLMSv54QqIh7vQl1NipIp5zreKfiCpjSl/VN0x
SJQMBcfDoZBdS7IH9bWJYnjIgnxGV1lb270aEh/2ExTAWZn6vdTmBwJ9g4o0
Tbr7taJe792Kagm129WrAg9W4IJaBGdRi/7GjYUWEavebu2pekKGcs+On+cZ
aU1Z2yZht0nduhAA1pc94V2r/Fvv+p5H/ph7MXS6dvJfx8PmSjRG/tK8p/Xa
loebuuYLmCqdwOwFG4Tb+8gNmQ/XTgcy8n0P/1sjO/LeXgPL7mEP/1sj16R+
wArWxDXufHg3Drtf8AaccGTBO1LpGguJyBoNluUqTA4xVEO30O4EFwVEJVur
lLlOjYikOIWkaWQ/r9BgnaWrFZmmZOw6boLIzhrP69z448j4NpyBASwKYuWp
KOPbcEOFAYiWFdMWASOIaPdIXANFRoHFDcXSzBHl/8cBR+6auLEjAKh9LoyZ
XzNEu5XXWJUnwPUOPpdIihgs+XSmJf4ls271t3GGZaJ/LzEoGHE0otT50lq3
YNqWWCNU8UoH5SLcx5AGIwJjfpK7cSf59/EVd1t32daRoC4vAdCLpfcVLh77
QVMzAarfofoUJx4n646Q6EmS43kwLzNaMvV5DWNWalOIibejDVkbDB25JC+A
/SSmiuEuShLdNsoBXEdDZo3Sy50zfGfn4F6aVEaAFXrFZo1xMioJcxbGsx0i
PadEU7Ft7ZlZ3oe5xrCOqTuRp2bKA+bOzcepis44ClLnlYdZ99iIKKeD3FAT
Sdk/djzm6dkAAeBGitjVFyKhGHZJhN89+omRVCdj0I5JV8qEHM/aUKEKaFts
weRrBLbxPlpEE6z2thZuHxtAtVOQekF3FhSqC7UJVU+r9IWLhMvYnUB3VbcT
SKIJvmOEL0vLQgr41mVGaZhuGzgy6yg6ZyMw1YRBhIEXSfuOvekqPc0phlqi
hT18XZWrOtFw3NAKuGNvVuOb/Zf9VMICjciWMgtOvzqBdgIuTj35Arzmhlkx
NCKrTa5aouo8iaLAj4DpjBmVo/+5b+HgZq92BxnryF9LvbZbNDT44IMm4gTa
cnNYpIcUu08QxDlmB9exxKWqSr3aDAAa7gXFMaoTlpYdV+CfDkQxtjyqSDkZ
jnMZo3AYRuJTMqn6rkbeKrOk00ZfO4TzkLeQRjci6wn/1wKMtDVvdF5ykFsy
NeLzvbwjWPLCsXe+DZ56F+j7U88gapjU8vct3T7JZkF/cGye4AtAWe/7gKwQ
Y3b5g7GNdxdG/kMORl9Yv9ofnevywV6Q7VC7cVdMdqTNMVhqHm3wgksbukAz
2B4KuHu1Wmjz4LjASydGvGU7itLnFKq3b2Dvk7FIQfXmJnVS8cbMhK2ENq5O
pCijigu7w+NeBSWCepCqdVVC2e9KUFUZVwyprguxJ8U2kJQKJhh5i6LW86PJ
EwW3Rx0zeLpGoQUWIuzDGZlLPAYHVykabVQJDnqFsQowh2krU9yYs9xY+pPU
RICk3tCqZsHTSmcrTiTQjrQ2uPsysExMoYcHaJUiQcMME6UsBK5SFOE861lI
qhZNfsyI8LXKloIBAOeQKvgVUwWQ4PwEZ2nXClRnwjUUTTE2U1mBFbOng0rv
Hw8nomWq/JrOZ5hp31TZi2bA2JFfr1ri3mjg5UJHKY17DAyyDsLuE1wKuSpL
Qk4K/37VNQk9xIxyFJRQQXspNxPBjSpsTpKZc7JsmQicmYVjEYhSENVeUhZz
DExFBmg8LwvLZA+rmfHq5AqxKbB0Xm4hHQ0cWbKyYyQiQuIEuMyauxYbQEFp
SsBQNsbGz1sBKaAaqejQ5iXgmSZ2cvu8+6S77yzk2/1bQvf8bYvMb/lzwg93
BGu925HFdrh9B+g74o5//+s+yFfd4C+4U/6KyHwBDg/+AnxrbfK/PnAcePjG
3OoHTr6F3WmGaJ2BH+H54jz61zb6+FE17+EvVcnsly3Q/+KAb4Nexx24Hghy
/Nfg61Af9qCAJ+pHe6D+HX9fn/dpn3593n+whfOqNSHL1VJ5asRlsBKPgtwJ
KzStVMXonBs/a7PnKxADEwVoUX5kK7n6j0NnYUxBPXJNwpVJ+TpBDDcSAfKF
bSb0LfLKkcCBg8e1mgQHTaN/nniGF0+xrtVYFaERxUZEm0Yyuq3SORaTY/Kr
GUM5b0kFGW72n8oH2ENDKOykuUoNoYRUQ5cULVqppTJmb2rpuz2rpYccWGiv
lLmt1aTUU/alPemUM9Sq8uqIT9rJSVxz5FKccioI4eIGvPe337B+LgPqf/MN
x0sqfxcDPXg+Iq/OR/BRWfY+qdy3uTwcLP4FT9ytNDOuW+hCD2Cx1gNGMkFc
qTU1Z1axksEp96SaL1O80UYqdvUpzH2rc1PpjGa2YO/UzAEfXEwG//1rF9eu
5YTIgUzOqV6jigob7ZiHK42MPDq5RAQ4slUbxIbTe3wTWuVgiSfs5qCI0iEX
vWmTyyur0hiBLN6PfQ4s9Qi3+aZRlzSXsymSRa3TR6LK7OFwVqERNBUsRi34
cgVQaPMMc/ThYNkWfP7wcZSuwEt44tPa4lS5Duj/yDFG8U4yZeMb9lGMklzC
JcspVZUXRTJtVpTVgGiD14I/L44hJKMCYiq6NKsmUBTJHZmtKTitAlz4BH1F
soFvm84KXFkKLFsn6iaMS4V33oSUsJ2DCy13VjWGfBP8+s8SiZaATxr+Dld4
HCJpU/419ZrUSKE3gmVVKGGN+AcW4ii7OCkkfdFBwYpVXDncSZSHpzlzMshg
ltuNJasrDr0pdLTLmAub48auxW7RG2GyC3GBR3lNqQDralPg4ffIqiKbIi1c
EtGo5kkEYwJ0zvOOdcDs4XHM/27aDmWClV3ITUtaTWBXyws/Nm/XCa36ZWHW
v+WePISx+A5A3LnhXw+3XV5XBz2Ye0DoweoCl5QY8gNKIoNebbh4HH6vCzy7
KpSikQL+Zs4fe01gvIPCLJL89+I3mVJmDI71zLLUP6tbpBVnIVKh4ehE+Nad
gRV7AsgUcFz2jy97w08d98vl6ON74gL3Wm94MTRAsDI8wfP67PAKlzSCFLc6
jmZhFmFEBbZ9mMAm58pqog1XPyebVVrmTqB6w7nDXM3LmHfMb79x8OCbb7yN
Z7SUziloYswbCk95sSm8ao2qltCUBJINia3B1Kai5KbBsHd8PEbCGINsMHxr
Ll0OhoOpU73unI2lA7H1QhuqtRQJKkX0SF2ptCRzAUN8oOawmJHaCFAHAeYG
nURW6yAQs2hPETlCF0esQka0x5EkN6mOgnB1BYyPK2AraJ3KF5+1l6E5mmNN
VqvebLmvOV2wP7vw+/2HK343RyopZNd2ZtvGA9F4rxnqYquxDWJI4ttQnRpB
aJyQwz06WZe2KCstC/pmVLaxWBwf4Rf8ZuwrW9nvIoNj26ErPSwi7Y2XlBDp
jJIZ83MN0Yx0gL9QX87jcJH/WP3y7Ck4zotu0BsAewVPn21/kIV440Fjwdzx
KG41FAU/1h6dXBz9dDmZjvu9Ox83lqDzuBHbpOT/ULAbGs/nYOiA2oDnkSqx
Sizq8LycCKnXiDeB+FoveCrgfqQ5mMdMqk2qYxpQwEnFIhp8eIbCERPZPxpU
6EqXq0QcCbYVF7vGCC4BX4NwwQ9b5vGvHx+uKN8Y18mOUjkQ7EqK5WEVqG/Z
cfVN4ZU5G7JUvIwlKyC0TGiVBCJVu7BUD4wxXu3c6riMGxsnXra2dQNjeyyN
kg9qGd7oNHMOLVl5Jwn4yjV0zpXVWMQXIT8QKmmFjWyjFbLlFVp1Rce2OyJP
yQuGmIC3LA87+eSsAxnAxczAIVDcPwc4lo6reUfVbtPkGxgHrPrrrsD4BenP
SPDiNKLaJtQBqvUaQxnYxYXEmkCwi8Nux1Y3wWlD5RV6zAUOnl26JaerTCI8
2TAv5FRPh881kV2MYoE68ni8ouxpVksWFXUNsWmOVthLuYFzMI9wJhqQfcML
M8feRblZenf17XlD53xCZcI0SzwiNQ/L2Cxa5VwJvarcCaWc+cyZzz6Fs0mI
UmYwe5ud6yRd1Y5m4kkvqX8zhyNN3MKmRcBzZfko+igI5Ihs4dBmeHF2cdSb
XownTCHsPpWlS30lMYbKHJAjHpZo5mia1aTuNjCEB+vTfrS2Z3XFrgyav6IH
W1ZGNCktja1CqAkW4VjGSnzFIOBtc2tsLwmtRU6Yxw+iNS0sb1oLVVgJ08xY
ydb1jn5eKYwfsgFrVtqUVyeR+uMGV1wSaGUS40zsxpXcJG4botj450nHNJQJ
6OysApVC9oeIP2t/1I0PK8Ic42OQ7M+Qe/dV8k52SthnzHOQqK7JsiExRoOe
hkxO2d8Fk4mJQ0DZ23GiwYafzPE2YkULGbxz24MLrh6yppVnmFXcbEpum4O0
G6IYhMsxckinu2HnYbs42gF4PhVFDWiycs2+eytcT+raw3cY5/RM2RY7lkU3
Ov9mK8jwdmzei+5VPtwKcy8TjQVgpmY1Ty0BN2ad5KAxLhejYpDjtLPIUXsO
t4pfeMaYg254VyjqbUuYwgJpiVHk6pLNv0tkVP7YFndQYvLSbY0Qxr9+3Dro
JRYS3DPwg4Y1JjfYd/2TS6xgSGwZgjQBaJqJDANQYFMfwZDJ3xasQYZqQbQ2
L4SFJukleJbybws087fUGM+B/7fc86/Ae3QXy/RtFcJpMIjbejLkw8qOzjUq
F5/3lmjL80hV2WUVkGpTeAawWwNNpeciI5RXq50TTGMH8s6S4LactHHqkitx
kRvr4WpjjA5RFFVEYHg8uhgMp5cnZ70PjrUjhrkJ89qJ8uFMsDbAOarTRHCA
RWbGsIYgx1cMMMMJK1YNVSG6EQiVgEqcNiPY5gDrWLC9wYAVEggAmiRLGVtE
ZJsgajr1raggW4I2ZnAbkBdHLozQE5SmENTJk2p3u45l3kKv0Xjwc2/a51Ko
HM9FOeu8xHadyvRewLGYLMb5J81j3J026KeDKZGlWg9KgXi9rdozVTkafTYm
4AaqquhwSGxrpTzPvF5CavoAoMjtwQwFNGqEsPysYx2C2evBpMCDGB97SgRK
f77ne08EbmvttTXUZc21Sjma2mXhL5tCI31j0oBGRa40wWtfEIy02VMVHUr7
cj0/fChSvrDKF9hadHbD/0fDuiOH7GY38GOt2I/W1NH9JupRFW9Vw0tZfJuj
xjrYltbbmzR103W+vnUesnWyVKZYOc1bfEH/wISTKPRMT9oPJrjoWtT/GJ8c
vXr97tWvVYStHvD6zq/CRQnpQHhMCTSOtDxNUhC+4Up17tIu7gNoNT7wgUYU
Zon+2p0PNh55CvR44j5BQdt5ptSlnU/jIXrmweryO7sJXDJb2hfhtZSpWVoF
lgjEkUv2Vpl5sL1B4jkV3EmAztjYJUb9JJuFHWqbsxAmNE/byCs5TTZjR3E8
NHFLOt9PkZMQEEwO6ReVZXzwnR/A1pZ4xRxokHlUQVejiPIqpkY3UFrWif9E
P8Iow49nZ9WjlWvQrE63dCI9HmbwqaAyj4Lvd7OanAF2NXE9zKFtNQzuoprr
BgO+T0XRVfOjTqKMQtWpAaHgHKrgWD0GTbsUPMsNPMjne6g2dxYW1ekt6yIa
IK70oaAWMimBsnCtKvb4193pVaC9eqoKAXqBKN9VjVzzxEgknxENn+LZFWo5
FIJlFptIk6gym0l34npyrDlq1ChF3ohuGyJJZBfGadpmVpAZZqwlQs8PPrnx
DdkDHN9oxoEMmNpiChTqF0KcK1QwRMGkzyy0zi3Gaq4xo+Q1LBFtz6k1zGGJ
efKQNpd3uLsmgMYnfZzxxDmEGWda3TitQ2DBVO7EZayUqquA7409JzewU6hX
l9asj9MwulyrlZuzMiNSfMj6tF5XKsKCat2l+AJRov8lVQ0ZXTORXUBq1D+H
2c3SiIcBs9VuGxGGUmLPW8zbeLiHjddr8rpOr9+7BKVskaoEZYvgRDi+7KwE
5zzUMbfR87GNVIWvm32kXZ9vwIRYkfHR3aNd+BUaN5s/chI9/gDWIB7xzAWz
zncqceevHmN4+tR8fPKQumnDzHc5tLUOPLYiwFMjuak1srzghlcaohumDEKn
8IMsxH42akohbOzEQ3vYExXmcYcz0LSg3Y4bwNmSLXufHoHb8bJzd20/W5nU
3vvmnWMBtpSjPK3QeezZatVCmU8PXemdbcTGs82kHXy621zcBkPPL3F87Hn2
OXiqqdDvoYBw9hQGenIfBXmF/n8hoDPvB2/Mdwc1MW4O/9AGyLnNOnfo8qy5
DlfYcbIKLCqE4h4eslxOaltEsA3pWeCcDsnFJmVN74h/NintMKasCwR8kjr2
ZiMIgoCoWV/WwIfxxkQIV6DC7yjwjTq2Y1UdtRop3crsrBeHG3Xvix1rqVAd
gKtqtuhzR2IM6o3dcqKUHEclJcWWGvY05urP7EqDNAGPxB5MMmVNOWYCrECz
ZU9ukrgifjVLa4BXJhdb//iDnlHIDehXk29GhopTxclucBUoXOn6DYgiaKW4
6VEYc6FCTUUOK1YaxJSc0JCJptJ3WXi/8tusG24r1wMiw1mCInhGL/azWwKr
8o4oV5ax4He8JZdAXh+7huHvug5OZMHJ7rnI3HW4FyGSdyajieWZXiGgqpKt
PQDhKVOy6MTGNtBqxnWNogFgnheOz8nJP9NRFo82+rlaH30qC8KOJCqRSrFK
DlgEOIjFlqpYj03dSuf2k5zD2yGIYO72i4Asv9Oge7Tl9t2vO7AhjLqdIW6L
BG5Dy0SNU+Yc/AKVWQWptNTI+0Y2QWjlFNlunv7dxi+WWwhcg2WYFWI/1tiy
mVzP3+8nnEhKzT4rKAPPXBHK1N8LRR/my00awwhsdnJoh5mfqu6I1Zt9Qrfe
XCQbqVEj0GyVK2fw6fwCvWoJHVlJBmwzEW3RzAk9a/Lu4/7HSf/yIx7Z8i99
EJntX+0NP5ksL+LC4hvufEwaBRgC8Pfymk+s6rTFjPy8VGAqp/kFnhwKCJUP
XNeNHvRHxCOXBBxVpvoAuu3zGox+fu3hDxfeNjLadLRDZJyfvTYJp3yWrpXP
KbWlq1p7Npp63lcUXCWUnOoMvzoZu03SaXPuCCox6LS2ysbMMDKW9oK1Gvmr
00GTw24yUctxzklfirE0TjvhL1wES0q4Sq08+M0abbIFF6kpR3PuU01yhrMq
GQboc2m+VOJksEs77o0PfHKDG3r4hCEt441QD5NhAghb89q947Lz6eCJtfVs
Y+rm2ep6uTYbNTaAkbXsaz6nzBFERoBZsuGb3WbyOjKxi63Y4qdMnxz7SrWq
FU0VBS4a4Qs3olyP7bgHmqjYfq1ntXaoz+Wx7aatxMqsdYvUdc3blVrhER/M
/2Y3shurWZm5tiYfnKX1HSbPqVpt4J/7HJbtMYUHPulkFx7kIbU6leJVPmmZ
a8Wzd0wVb7p/sn96rlumuoNv9+J5y8Zv35q1XKuSYxtc1zIvY6Pl0L+IbrCR
cdQ4yFAd6Gw9FusGg4253AYKJTBnVDgRSa9o0dZuQDAIliOou8yLUglkKyCY
vZmB+26ITvNjgoL0ni3FL8E25yipK4KIFmi+FolgjMECNz3IUZhR/djc696U
rq1HHOHpDEtS/D3lBinyKje54rn1TSnbkSqFGxV3TPDYMb9Yl04uzvhcnHSW
ql750MRNuhwiS1JLF5KG3CLxZeXp+/Xt8qSJXSchd34HQzmiMvmqwCFSWbwx
HcPYrEkxF71ZS+T61Us0h96+DsCjNjOW42m10chjpnoOGzJHTZkpwbnWt9BW
xBjDlMtdEUBLEUnt2mr1K9OOymW9w4h2SZ2abPiH3nJgfDRW8ZRsqtq3OIeN
TObJWEASVA1Ra8ypdtWeUCpMIxw5P8PlIRm/zVZ8QCwgNMUdbie+xCYJWDAk
apEW2raad2grHqB5RVDLaylsDT1jSTGMMPHyANqEtepVsNVauAXqphiRzBqy
cxgZJvy5vGaID7GwuVVbAFbh5uVK+NC9ryriLDPX5thsLk7jhmIUGaJBWwYr
MVAWu31guJKgaWibPkj4rWpd55pR7efh91kMs+9mx8EDurYfbu/D6rWy+FJ/
pVzL35dgJJu+/e/LvjG6IAF5eXTaOzvrDz/0LyeDv/frGP3xR0wVPTGKP8Wi
zcNoWwdcH9A9v/sY0f+m495wcnIxPp94gHCBFxjOy7LQnpH+MxhVvWCJIaht
Jboy+VedWn8yap/Z15kaDFef2Veb2vHp5YfxxcfR5eB4Urvxa0ztWM9BdB2e
qjhehcnOgOiV2QH2JLljag8BdM/vNc7uXZ4NTvrTwXm/fmMwslPjt05MeiBY
54rOr+6EkcZTKTPqHbYdo4cAuuf3mhiZjs8ux31ibjrXe4mzvPg4NU23TZQZ
sxfAkSvN72jaCSMkBrZHtcekzHG0Xae2Djnbe+fUHgLont/vpNG0P/65dyaA
5BSLRxt+NQDQ7P+x5e9Np/3z0XQigIbW9m6s/W4YhQXYAetty/a1ptY7uTzp
nQ/OPrUAIlvd2bh+O/cdMOKIZNc9DVd1pNgFEGDbG37q3j21hwC653efRqPB
hw+fRr2jn1oADebmRCu4fx1pifpnMFrrxWJziFtXYpb4ihi7k3fZIlzJ1A3+
joU8YLS3TW13jMgdkhqTHQExOlt//0qrdjEaXYynH4eDyXRwVAM0zTZGbtd6
kO6IEbUsJa/N9nOysdWdADlZPXJ8qKWpJdrXotGwN0WL7ef+eCKyugLUTyhI
ALeglYURbJDVNF9UUDtgJB187sJoP5b/A2o8JPCxR89s3w3Ft7xgmyY3TPmn
mffTXd7n1/RJ991A9I4XgnMQltJxGGb7vzXjffema3txOU31b+X1dRh8inUR
xhySHSm8MtTX+L6JjFNMZB9SeXJEbYrpvYqYPtFcbE6vuJ3PpdMLihf//RQU
pkpX2CTBvF22E/yUoSAEp2MShzfpTYfRibXC1+gswoSaK/wtDK+v0+CnMFmE
+TLM/ll2gnPALfgpLfMQf0+CcwVedSfoJWAz0PuVz2cfMrXA8OAkzEvYitk1
DN4BsCAs+wtwoQp4MlWw0CWmh3pJUWgAhRUyCaXJKMsHl5cpTPZvaa7WSyfZ
Zl+ch+Eq2udEDy6OUSq6Ak22G+fsh2v23bnGf0k9ft/2pvkDGw294/XBNanp
sMK0y6zXtXzXCR59lPemjDhhyG9FrsFw37X9qCNhu+0oHD5/FTw2b9xx/rBN
EbZRBJPzCfAXONdAATm92xLjrT19nubXKeD4RycYdwHx9teNP6qnkBhZD/Lh
87eMXw2jv5WJ2orSalVHqCLiCPHpJ9Eh4XSeyqu+kdhuXNQtJnFXaMtE6qiv
VpawEq90/jzCYt7SmQf3X8S7BgnIgqIsKEbex8RPpk21Pn9NEz2D3Yt9CxT1
0ng06Pf7tcEmBdh/L54/f9V9cQjjvIAL2Cox4wirk2UPpmq2TNI4XWyCwxqQ
Ecgx2tUXa1ILGHzmCvOqvedjQv0J0OJYzXBKL2RKtvom+IBNwkCOMVeg/CNe
n8CX99h5BJYVPp7PjsIk4c842V+6jSlhTBnnS6+/MSHQCpV+9VJsmuTo5m2D
1wCrANHqBCfqKiux4PAlUgn39EsK0s/v3NW01FcF7CC9BrcYI+CZ+r3Od2ON
9bQRTfOct/T7LmY+VoCqimHGj8Z8uIXbP3CSsgaEwzYgnXw+awx++Pz5A1iu
t850bFjua8ndfTea6JWgeLJv8qDHbjDnMTSrvVWJ305VDOLxWjsbZzuHk00T
rkD/hmDxJ9dhUQavXCj4+UQnMSo+/DwCvad+CL599eb7N89fff/6xZtXL+ie
8PMP8A9ef/f23et33739nlKgq1DHPwQrxPA/9bXuzgnix/EA714WxfqHZ89u
b2+7/NszuvHZ/6hufLnvQ74nZRyD7bjeZHqxLFDOFMTV8qImc/3x0RMKRpiR
cfsCP2+Cxwjnialso6zuzFa/5OXVPyn3LeUpCIreXD+DnS5NdLFmBWSkzUVK
NSqnMN+DS//d9yxR1GfK/4V88B6NtCVn/rQk5EJiNylHoZ59UgiIFUU0dBua
pubHfetShQPDJwfTWkuUSURAj3qTYDB5hG+P0DyZ6Wk/OLoYTseD9x+nF+MO
XbgYf+gNB3/vTQcXw+C0/2wC18b90bg/6Q+n1B77YgxwgsnoYji5GPePg/ef
gseDk6A3/PSEQVB0cNifYkO3QX/6CX469n4g9h1+GAz7/fFg+CGY9iY/BScX
46N+cDyYHJ31kBvOzoJfeuNxbzgd9CedoP/fiMOERj8fnQ3k9WiD4dHZx2ME
AnMIhhfT4GxwPpgCWtMLRMnA+AQIgKuLWHycwCxP8CMDwHSGme64PxgGvwxg
bAQFvyF+fQI0Hnw4ndL4+E1wQAgVlgj2vD8+OoWvvfeDswEMC/efDKZDRP0E
nw1GvfF0cPTxrDcORh/HoNH6KCSRVWNUufja+xFXMGxscQpQ8UQO6SYp5nkp
swuMswizyFQuUcUl2gx4ittUB4LfQLNsAw+qA/nMdqIQvpPKCtpJWEkah3pF
haRUBSANJs0BeT8HnmZuH+Wi0vZuY1QEU3hcLSVW2CibG5JLR1XsKcW7j2sR
uOsbY0nJbMIRnuYPEr4Kb0AwoinxI1yRpky6qJp68Pz4JeScEsf30qB/BWNQ
fwk8iGAdK+ncsaFbHARcBc71adLzkwolIipWJxMvo1ohbgXGBAb6oW1g5m9q
KrmECGZaCRNW5/jxnXkb3VoqfQajMXW/j9OcxqJpyLIQv4CzjZIl0yHLDWGF
MIf7saiIoFjpxtWwTAtDQPtK8+rkC8sSCWbbMblA2jRbARYzy0YnADITMze1
dMwjXEUA9MSCnUwjqhtDoauNU2Ca5cJYpjxe+hy7lSGNUm17jpdoAW5JDJeJ
aMAIuIGwyo97y7q6Eqyebpotnul11vW3n05udEFqYMPJDUXlNljrSU2fr8z7
RfF4PBIokTKODSsKUU6gUdZhwY24MvnodXSrOgS6hCE94W5PcJfoxQfuLrO/
UF2zHGhGjAwp7dbLxUIHJh7FCvsHmeB/Xbu4HCWteNEyBPr8pyEWyq8qzmH1
8UnJNSRm1ZHl+xES3jutKuWr1PRKdBYfPzdyy9Xg3X1aJ3TU9P8AUEsBAhcD
FAAAAAgA5QDTNKmsT/PFKwAAk5wAACEADQAAAAAAAQAAAKSBAAAAAGRyYWZ0
LWtvbXUtc2hpbS1uYXRpdmUtYXBpLTAwLnR4dFVUBQADfcCVRFV4AABQSwUG
AAAAAAEAAQBcAAAAGSwAAAAA

---559023410-824023566-1150665459=:15584
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MULTIMOBSEC-API mailing list
MULTIMOBSEC-API@ietf.org
https://www1.ietf.org/mailman/listinfo/multimobsec-api

---559023410-824023566-1150665459=:15584--




From multimobsec-api-bounces@ietf.org Tue Jun 20 07:41:24 2006
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com)
	by megatron.ietf.org with esmtp (Exim 4.43)
	id 1Fsebk-0001Qd-5v; Tue, 20 Jun 2006 07:41:24 -0400
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org)
	by megatron.ietf.org with esmtp (Exim 4.43)
	id 1Fsebj-0001PK-FM; Tue, 20 Jun 2006 07:41:23 -0400
Received: from twilight.cs.hut.fi ([130.233.40.5])
	by ietf-mx.ietf.org with esmtp (Exim 4.43)
	id 1Fsebh-00052e-4d; Tue, 20 Jun 2006 07:41:23 -0400
Received: by twilight.cs.hut.fi (Postfix, from userid 60001)
	id 5EA892EEA; Tue, 20 Jun 2006 14:41:20 +0300 (EEST)
X-Spam-Checker-Version: SpamAssassin 3.1.2-niksula20060321 (2006-05-25) on 
	twilight.cs.hut.fi
X-Spam-Level: 
X-Spam-Status: No, score=-1.4 required=5.0 tests=ALL_TRUSTED autolearn=failed 
	version=3.1.2-niksula20060321
X-Spam-Niksula: No
Received: from kekkonen.cs.hut.fi (kekkonen.cs.hut.fi [130.233.41.50])
	by twilight.cs.hut.fi (Postfix) with ESMTP id DAC6C2EE7;
	Tue, 20 Jun 2006 14:41:19 +0300 (EEST)
Received: from localhost (mkomu@localhost)
	by kekkonen.cs.hut.fi (8.13.4+Sun/8.13.3/Submit) with ESMTP id
	k5KBfJ4x019765; Tue, 20 Jun 2006 14:41:19 +0300 (EEST)
X-Authentication-Warning: kekkonen.cs.hut.fi: mkomu owned process doing -bs
Date: Tue, 20 Jun 2006 14:41:18 +0300 (EEST)
From: Miika Komu <miika@iki.fi>
X-X-Sender: mkomu@kekkonen.cs.hut.fi
To: hipsec@ietf.org, shim6@psg.com, multimobsec-api@ietf.org
Message-ID: <Pine.SOL.4.64.0606201428570.18624@kekkonen.cs.hut.fi>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed
X-Spam-Score: 0.0 (/)
X-Scan-Signature: ea4ac80f790299f943f0a53be7e1a21a
Cc: 
Subject: [MULTIMOBSEC-API] multihoming API draft for SHIM6/HIP
X-BeenThere: multimobsec-api@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "Multihoming, mobility and security APIs" <multimobsec-api.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/multimobsec-api>
List-Post: <mailto:multimobsec-api@ietf.org>
List-Help: <mailto:multimobsec-api-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=subscribe>
Errors-To: multimobsec-api-bounces@ietf.org

A New Internet-Draft is available from the on-line Internet-Drafts
directories.


         Title           : Socket Application Program Interface (API) for
 			  Multihoming Shim
         Author(s)       : M. Komu, et al.
         Filename        : draft-sugimoto-multihome-shim-api-00.txt
         Pages           : 30
         Date            : 2006-6-19

    This document specifies a socket API for the multihoming shim layer.
    The API aims to enable interactions between the applications and the
    multihoming shim layer for advanced locator management and also for
    accessing to information about failure detection and path
    exploration.

    This document is based on an assumption that a multhomed host is
    equipped with a 'shim' layer which essentially maintains mappings
    between identifiers and locators at the IP layer.  SHIM6 and HIP are
    examples of this shim layer.  Hence, the API can be commonly used by
    SHIM6 and HIP.


We created another mailing list to avoid excessive cross-posting:

https://www1.ietf.org/mailman/listinfo/multimobsec-api

-- 
Miika Komu                                       http://www.iki.fi/miika/

_______________________________________________
MULTIMOBSEC-API mailing list
MULTIMOBSEC-API@ietf.org
https://www1.ietf.org/mailman/listinfo/multimobsec-api



From multimobsec-api-bounces@ietf.org Mon Jun 26 05:21:49 2006
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com)
	by megatron.ietf.org with esmtp (Exim 4.43)
	id 1FunHx-0006yD-MS; Mon, 26 Jun 2006 05:21:49 -0400
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org)
	by megatron.ietf.org with esmtp (Exim 4.43)
	id 1FunHI-0006RL-DL; Mon, 26 Jun 2006 05:21:08 -0400
Received: from twilight.cs.hut.fi ([130.233.40.5])
	by ietf-mx.ietf.org with esmtp (Exim 4.43)
	id 1FunCt-00039w-Qs; Mon, 26 Jun 2006 05:16:38 -0400
Received: by twilight.cs.hut.fi (Postfix, from userid 60001)
	id DD1493279; Mon, 26 Jun 2006 12:16:34 +0300 (EEST)
X-Spam-Checker-Version: SpamAssassin 3.1.2-niksula20060321 (2006-05-25) on 
	twilight.cs.hut.fi
X-Spam-Level: 
X-Spam-Status: No, score=-1.4 required=5.0 tests=ALL_TRUSTED autolearn=failed 
	version=3.1.2-niksula20060321
X-Spam-Niksula: No
Received: from kekkonen.cs.hut.fi (kekkonen.cs.hut.fi [130.233.41.50])
	by twilight.cs.hut.fi (Postfix) with ESMTP id EE77930B3;
	Mon, 26 Jun 2006 12:16:33 +0300 (EEST)
Received: from localhost (mkomu@localhost)
	by kekkonen.cs.hut.fi (8.13.4+Sun/8.13.3/Submit) with ESMTP id
	k5Q9GX4M029288; Mon, 26 Jun 2006 12:16:33 +0300 (EEST)
X-Authentication-Warning: kekkonen.cs.hut.fi: mkomu owned process doing -bs
Date: Mon, 26 Jun 2006 12:16:32 +0300 (EEST)
From: Miika Komu <miika@iki.fi>
X-X-Sender: mkomu@kekkonen.cs.hut.fi
To: hipsec@ietf.org, multimobsec-api@ietf.org
Message-ID: <Pine.SOL.4.64.0606261210380.28616@kekkonen.cs.hut.fi>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 69a74e02bbee44ab4f8eafdbcedd94a1
Cc: shim6@psg.com
Subject: [MULTIMOBSEC-API] Native SHIM APIs
X-BeenThere: multimobsec-api@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "Multihoming, mobility and security APIs" <multimobsec-api.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/multimobsec-api>
List-Post: <mailto:multimobsec-api@ietf.org>
List-Help: <mailto:multimobsec-api-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=subscribe>
Errors-To: multimobsec-api-bounces@ietf.org

A New Internet-Draft is available from the on-line Internet-Drafts
directories.


         Title           : Native Application Programming Interfaces for
                           SHIM Layer Prococols
         Author(s)       : M. Komu
         Filename        : draft-komu-shim-native-api-00.txt
         Pages           : 21
         Date            : 2006-6-22

    This document proposes extensions to the current networking APIs for
    protocols based on identifier/locator split.  Currently, the document
    focuses on HIP, but the extensions can be used also by other
    protocols similar "shim" layer protocols.  Using the API extensions,
    new SHIM aware applications can gain a better control of the SHIM
    layer and endpoint identifiers.  For example, the applications can
    query and set SHIM related attributes, or specify their own endpoint
    identifiers for a host.  In addition, a new indirection element
    called endpoint descriptor is defined for SHIM aware applications.

A URL for this Internet-Draft is:
http://www.ietf.org/internet-drafts/draft-komu-shim-native-api-00.txt

To remove yourself from the I-D Announcement list, send a message to
i-d-announce-request@ietf.org with the word unsubscribe in the body of the
message.
You can also visit https://www1.ietf.org/mailman/listinfo/I-D-announce
to change your subscription settings.


There is a mailing list for the SHIM6/HIP related API discussion to reduce 
cross-posting:

https://www1.ietf.org/mailman/listinfo/multimobsec-api

-- 
Miika Komu                                       http://www.iki.fi/miika/

_______________________________________________
MULTIMOBSEC-API mailing list
MULTIMOBSEC-API@ietf.org
https://www1.ietf.org/mailman/listinfo/multimobsec-api



