
From Internet-Drafts@ietf.org  Wed Oct  2 15:30:09 2013
Return-Path: <Internet-Drafts@ietf.org>
X-Original-To: sip-overload@ietfa.amsl.com
Delivered-To: sip-overload@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 0185E21F9E6D; Wed,  2 Oct 2013 15:30:09 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.485
X-Spam-Level: 
X-Spam-Status: No, score=-102.485 tagged_above=-999 required=5 tests=[AWL=0.115, BAYES_00=-2.599, NO_RELAYS=-0.001, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id lX1TGKRjIbS0; Wed,  2 Oct 2013 15:29:49 -0700 (PDT)
Received: from ietfa.amsl.com (localhost [IPv6:::1]) by ietfa.amsl.com (Postfix) with ESMTP id ED3EA21F9FF1; Wed,  2 Oct 2013 15:27:53 -0700 (PDT)
MIME-Version: 1.0
Content-Type: Multipart/Mixed; Boundary="NextPart"
From: Internet-Drafts@ietf.org
To: i-d-announce@ietf.org
X-Test-IDTracker: no
X-IETF-IDTracker: 4.72.p1
Auto-Submitted: auto-generated
Precedence: bulk
Message-ID: <20131002222753.9305.37565.idtracker@ietfa.amsl.com>
Date: Wed, 02 Oct 2013 15:27:53 -0700
Cc: sip-overload@ietf.org
Subject: [sip-overload] I-D ACTION:draft-ietf-soc-overload-rate-control-06.txt
X-BeenThere: sip-overload@ietf.org
X-Mailman-Version: 2.1.12
List-Id: SIP Overload <sip-overload.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/sip-overload>, <mailto:sip-overload-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/sip-overload>
List-Post: <mailto:sip-overload@ietf.org>
List-Help: <mailto:sip-overload-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/sip-overload>, <mailto:sip-overload-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 02 Oct 2013 22:30:09 -0000

--NextPart

A new Internet-Draft is available from the on-line Internet-Drafts directories.
This draft is a work item of the SIP Overload Control Working Group of the IETF.

    Title         : Session Initiation Protocol (SIP) Rate Control
    Author(s)     : E. Noel, et al
    Filename      : draft-ietf-soc-overload-rate-control
    Pages         : 17 
    Date          : Oct. 2, 2013 
    
The prevalent use of Session Initiation Protocol (SIP) in Next
   Generation Networks necessitates that SIP networks provide adequate
   control mechanisms to maintain transaction throughput by preventing
   congestion collapse during traffic overloads. Already a loss-based
   solution to remedy known vulnerabilities of the SIP 503 (service
   unavailable) overload control mechanism has been proposed. This
   document proposes a rate-based control scheme to complement the
   loss-based control scheme, using the same signaling.

A URL for this Internet-Draft is:
http://www.ietf.org/internet-drafts/draft-ietf-soc-overload-rate-control-06.txt

Internet-Drafts are also available by anonymous FTP at:
ftp://ftp.ietf.org/internet-drafts/

Below is the data which will enable a MIME compliant mail reader
implementation to automatically retrieve the ASCII version of the
Internet-Draft.

--NextPart
Content-Type: Message/External-body;
	name="draft-ietf-soc-overload-rate-control"; site="ftp.ietf.org";
	access-type="anon-ftp"; directory="internet-drafts"

Content-Type: text/plain
Content-ID: <2013-10-02152753.I-D@ietf.org>


--NextPart--

From ecnoel@research.att.com  Wed Oct  2 15:45:25 2013
Return-Path: <ecnoel@research.att.com>
X-Original-To: sip-overload@ietfa.amsl.com
Delivered-To: sip-overload@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id DFEB321F95D0; Wed,  2 Oct 2013 15:45:21 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.599
X-Spam-Level: 
X-Spam-Status: No, score=-6.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 4AWNLevMIRrP; Wed,  2 Oct 2013 15:45:10 -0700 (PDT)
Received: from mail-pink.research.att.com (mail-pink.research.att.com [192.20.225.111]) by ietfa.amsl.com (Postfix) with ESMTP id D199121F963F; Wed,  2 Oct 2013 15:44:08 -0700 (PDT)
Received: from mail-blue.research.att.com (unknown [135.207.178.11]) by mail-pink.research.att.com (Postfix) with ESMTP id 18903120BA8; Wed,  2 Oct 2013 18:44:05 -0400 (EDT)
Received: from njfpsrvexg1.research.att.com (njfpsrvexg1.research.att.com [135.207.177.20]) by mail-blue.research.att.com (Postfix) with ESMTP id 47927F0141; Wed,  2 Oct 2013 18:44:08 -0400 (EDT)
Received: from NJFPSRVEXG8.research.att.com ([fe80::cdea:b3f6:3efa:1841]) by njfpsrvexg1.research.att.com ([fe80::58ce:ca01:5d18:db01%13]) with mapi; Wed, 2 Oct 2013 18:44:08 -0400
From: "NOEL, ERIC C (ERIC C)" <ecnoel@research.att.com>
To: "Internet-Drafts@ietf.org" <Internet-Drafts@ietf.org>, "i-d-announce@ietf.org" <i-d-announce@ietf.org>
Date: Wed, 2 Oct 2013 18:44:06 -0400
Thread-Topic: [sip-overload] I-D ACTION:draft-ietf-soc-overload-rate-control-06.txt
Thread-Index: Ac6/vv4SSLiCtiO2SOOJaPLWsA5WOQAAEktw
Message-ID: <2845723087023D4CB5114223779FA9C8AB041389@njfpsrvexg8.research.att.com>
References: <20131002222753.9305.37565.idtracker@ietfa.amsl.com>
In-Reply-To: <20131002222753.9305.37565.idtracker@ietfa.amsl.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: "sip-overload@ietf.org" <sip-overload@ietf.org>, "volker.hilt@bell-labs.com" <volker.hilt@bell-labs.com>
Subject: Re: [sip-overload] I-D	ACTION:draft-ietf-soc-overload-rate-control-06.txt
X-BeenThere: sip-overload@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: SIP Overload <sip-overload.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/sip-overload>, <mailto:sip-overload-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/sip-overload>
List-Post: <mailto:sip-overload@ietf.org>
List-Help: <mailto:sip-overload-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/sip-overload>, <mailto:sip-overload-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 02 Oct 2013 22:45:25 -0000

Folks,

Please make a note I just posted the revised version of draft-ietf-soc-over=
load-rate-control to address Christer's comment.

I believe I completed revising all comments as part of the WGLC. I thank al=
l that reviewed the contribution and provided insightful comments.

You may find the document at:

https://datatracker.ietf.org/doc/draft-ietf-soc-overload-rate-control/

Thanks,

Eric Noel=20
AT&T Labs, Inc.=20
Rethink Possible

Optimization, Reliability and Customer Analytics
200 South Laurel Avenue, D5-3D19
Middletown, NJ 07748
P: 732.420.4174
ecnoel@att.com


-----Original Message-----
From: sip-overload-bounces@ietf.org [mailto:sip-overload-bounces@ietf.org] =
On Behalf Of Internet-Drafts@ietf.org
Sent: Wednesday, October 02, 2013 6:28 PM
To: i-d-announce@ietf.org
Cc: sip-overload@ietf.org
Subject: [sip-overload] I-D ACTION:draft-ietf-soc-overload-rate-control-06.=
txt

A new Internet-Draft is available from the on-line Internet-Drafts director=
ies.
This draft is a work item of the SIP Overload Control Working Group of the =
IETF.

    Title         : Session Initiation Protocol (SIP) Rate Control
    Author(s)     : E. Noel, et al
    Filename      : draft-ietf-soc-overload-rate-control
    Pages         : 17=20
    Date          : Oct. 2, 2013=20
   =20
The prevalent use of Session Initiation Protocol (SIP) in Next
   Generation Networks necessitates that SIP networks provide adequate
   control mechanisms to maintain transaction throughput by preventing
   congestion collapse during traffic overloads. Already a loss-based
   solution to remedy known vulnerabilities of the SIP 503 (service
   unavailable) overload control mechanism has been proposed. This
   document proposes a rate-based control scheme to complement the
   loss-based control scheme, using the same signaling.

A URL for this Internet-Draft is:
http://www.ietf.org/internet-drafts/draft-ietf-soc-overload-rate-control-06=
.txt

Internet-Drafts are also available by anonymous FTP at:
ftp://ftp.ietf.org/internet-drafts/

Below is the data which will enable a MIME compliant mail reader implementa=
tion to automatically retrieve the ASCII version of the Internet-Draft.

From wangjinzhu@chinamobile.com  Fri Oct 25 02:08:47 2013
Return-Path: <wangjinzhu@chinamobile.com>
X-Original-To: sip-overload@ietfa.amsl.com
Delivered-To: sip-overload@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 4F99611E8172; Fri, 25 Oct 2013 02:08:47 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.377
X-Spam-Level: 
X-Spam-Status: No, score=-0.377 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, RELAY_IS_221=2.222]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 3kmCg-uA0BVQ; Fri, 25 Oct 2013 02:08:43 -0700 (PDT)
Received: from cmccmta.chinamobile.com (cmccmta.chinamobile.com [221.176.64.232]) by ietfa.amsl.com (Postfix) with SMTP id ECDFA11E8301; Fri, 25 Oct 2013 02:08:39 -0700 (PDT)
Received: from spf.mail.chinamobile.com (unknown[172.16.20.12]) by rmmx-oa_allagent02-12002 (RichMail) with SMTP id 2ee2526a34a6551-e4551; Fri, 25 Oct 2013 17:06:46 +0800 (CST)
X-RM-TRANSID: 2ee2526a34a6551-e4551
Received: from cmccPC (unknown[10.2.43.175]) by rmsmtp-oa_rmapp02-12002 (RichMail) with SMTP id 2ee2526a34a1287-d97e6; Fri, 25 Oct 2013 17:06:46 +0800 (CST)
X-RM-TRANSID: 2ee2526a34a1287-d97e6
From: "wangjinzhu" <wangjinzhu@chinamobile.com>
To: <dispatch@ietf.org>, <sip-overload@ietf.org>
References: 
In-Reply-To: 
Date: Fri, 25 Oct 2013 17:08:17 +0800
Message-ID: <015a01ced161$be570550$3b050ff0$@com>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
X-Mailer: Microsoft Office Outlook 12.0
Thread-Index: Ac7M1qX5mj8t1rjSSm2cL2AWArn57ABMPHnQANM0JKA=
Content-Language: zh-cn
Cc: =?utf-8?B?J+mCk+eBteiOiS9MaW5nbGkgRGVuZyc=?= <denglingli@chinamobile.com>
Subject: [sip-overload] Request for discussion of end2end SIP Overload Control
X-BeenThere: sip-overload@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: SIP Overload <sip-overload.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/sip-overload>, <mailto:sip-overload-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/sip-overload>
List-Post: <mailto:sip-overload@ietf.org>
List-Help: <mailto:sip-overload-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/sip-overload>, <mailto:sip-overload-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 25 Oct 2013 09:08:47 -0000

Dear all
   Request for discussion of a proposal to end2end SIP Overload Control =
(http://datatracker.ietf.org/doc/draft-wang-appsawg-end2end-overload-cont=
rol). Since I cannot find the SOC session in this IETF meeting, I =
submitted the draft to the appsawg. The submission cannot be changed as =
the system is closed. I will re-submit the draft to the Soc wg or =
Dispatch wg when the system is re-open.
   Any comments or suggestions will be greatly appreciated.

Best Regards
Jinzhu Wang
China Mobile


-----Original Mail-----
=E5=8F=91=E4=BB=B6=E4=BA=BA: internet-drafts@ietf.org =
[mailto:internet-drafts@ietf.org]=20
=E5=8F=91=E9=80=81=E6=97=B6=E9=97=B4: =
2013=E5=B9=B410=E6=9C=8819=E6=97=A5 22:10
=E6=94=B6=E4=BB=B6=E4=BA=BA: Yu Qing; Deng Lingli; wangjinzhu; Qing Yu; =
Jinzhu Wang; Lingli Deng
=E4=B8=BB=E9=A2=98: New Version Notification for =
draft-wang-appsawg-end2end-overload-control-00.txt


A new version of I-D, draft-wang-appsawg-end2end-overload-control-00.txt
has been successfully submitted by Jinzhu Wang and posted to the IETF =
repository.

Filename:	 draft-wang-appsawg-end2end-overload-control
Revision:	 00
Title:		 End-to-end Session Initiation Protocol (SIP) overload control
Creation date:	 2013-10-18
Group:		 Individual Submission
Number of pages: 6
URL:             =
http://www.ietf.org/internet-drafts/draft-wang-appsawg-end2end-overload-c=
ontrol-00.txt
Status:          =
http://datatracker.ietf.org/doc/draft-wang-appsawg-end2end-overload-contr=
ol
Htmlized:        =
http://tools.ietf.org/html/draft-wang-appsawg-end2end-overload-control-00=



Abstract:
   This draft proposes end-to-end Session Initiation Protocol (SIP)
   overload control, in which the edge servers of the SIP network
   throttle the arriving calls in order to control overload for the SIP
   network.  Compared to the local and hop-by-hop SIP overload control,
   the end-to-end SIP overload control can achieve best performance.

                                                                         =
        =20


Please note that it may take a couple of minutes from the time of =
submission until the htmlized version and diff are available at =
tools.ietf.org.

The IETF Secretariat





From rlb@ipv.sx  Tue Oct 29 11:33:14 2013
Return-Path: <rlb@ipv.sx>
X-Original-To: sip-overload@ietfa.amsl.com
Delivered-To: sip-overload@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 18A3921E8083 for <sip-overload@ietfa.amsl.com>; Tue, 29 Oct 2013 11:33:14 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.758
X-Spam-Level: 
X-Spam-Status: No, score=-1.758 tagged_above=-999 required=5 tests=[AWL=-1.082, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, MANGLED_PAIN=2.3, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ynvlfjxECEWA for <sip-overload@ietfa.amsl.com>; Tue, 29 Oct 2013 11:33:10 -0700 (PDT)
Received: from mail-ob0-f178.google.com (mail-ob0-f178.google.com [209.85.214.178]) by ietfa.amsl.com (Postfix) with ESMTP id 5773321F9EB8 for <sip-overload@ietf.org>; Tue, 29 Oct 2013 11:32:59 -0700 (PDT)
Received: by mail-ob0-f178.google.com with SMTP id wm4so301138obc.37 for <sip-overload@ietf.org>; Tue, 29 Oct 2013 11:32:58 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=bp/ADN6Qq4gRLhpSKSRnWy14nyAaDaDl+U30v5mUIDQ=; b=SupTT7xw8Gu9defNcmOFGRJmB0UothD1PtAGTawiXDhj3dynTQvg3KqQm7/fSN3pfx goIO8q1uqrRWJmJGd0DgdYqoGEoNWaj8PVdmMdGf283TFg1p1wqhLQLJlZyQG9Mgu5JY iEnspWOLbsAquy4kP0/hfrL81tnsCns83xmsDcjdHy8iT8Ju2c5Gjjc6YzhPSpxaZJM+ 6qgCzJMaYeqs/Al9NYo/prFkukFqmopa9NmaSAhX+R89o/G1EyFtlkMXgYuI43gHwmrb AYOnZLnlPXnh+uahzkIhzTAfjeFQv55ZNZgQbZVscbIDLjYUsovlZ0HS6pB/1KkvbH0I va8g==
X-Gm-Message-State: ALoCoQknTsYj5NY0XqWCDC323P9eiv6dUNTpajc7kTPHmtTgo0XmDe4+ve/2Ui3tt44eDrfnLR07
MIME-Version: 1.0
X-Received: by 10.60.65.227 with SMTP id a3mr678214oet.13.1383071578473; Tue, 29 Oct 2013 11:32:58 -0700 (PDT)
Received: by 10.76.101.10 with HTTP; Tue, 29 Oct 2013 11:32:58 -0700 (PDT)
In-Reply-To: <520564B6.7040304@bell-labs.com>
References: <520564B6.7040304@bell-labs.com>
Date: Tue, 29 Oct 2013 14:32:58 -0400
Message-ID: <CAL02cgSov68ub=Djrst=V+=f0oPHY_HFMEb6jOuerWYAaxtRxQ@mail.gmail.com>
From: Richard Barnes <rlb@ipv.sx>
To: "Vijay K. Gurbani" <vkg@bell-labs.com>
Content-Type: multipart/alternative; boundary=001a11c257002281cd04e9e572cc
Cc: "sip-overload@ietf.org" <sip-overload@ietf.org>
Subject: Re: [sip-overload] AD review: draft-ietf-soc-overload-control-13 (MAJOR ISSUES)
X-BeenThere: sip-overload@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: SIP Overload <sip-overload.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/sip-overload>, <mailto:sip-overload-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/sip-overload>
List-Post: <mailto:sip-overload@ietf.org>
List-Help: <mailto:sip-overload-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/sip-overload>, <mailto:sip-overload-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 29 Oct 2013 18:33:14 -0000

--001a11c257002281cd04e9e572cc
Content-Type: text/plain; charset=ISO-8859-1

Hey Vijay,

Thanks for following up in detail.  Catching up with this now.  Responses
inline.


On Fri, Aug 9, 2013 at 5:52 PM, Vijay K. Gurbani <vkg@bell-labs.com> wrote:

> Richard: Thank you for a close read of the draft as part of the
> AD review (c.f. [1]).  I must offer my apologies for a delay in
> response, but I was on vacation when your email arrived and could not
> get to attend to it until now.
>
> I will break the response to your review in two parts.  This email
> attends to the major issues.  I will generate a separate email for the
> minor issues.
>
> So, taking a look at the major issues.
>
>  1. The fourth paragraph of Section 4.4 does not allow clients to detect
>> when overflow has happened.  It seems like there are two options: (1)
>> Define the timestamp so it cannot overflow (e.g., as a sufficiently long
>> timestap), or (2) define what an "appropriate base value" is so that a
>> client can recognize when the "oc-seq" has been reset there.  It seems
>> like it would be simplest to imply say that "oc-seq" MUST be an N-bit
>> counter value or a timestamp.  (Or better, choose one.)
>>
>
> The client will detect overflow when it receives an "oc-seq" parameter
> whose value is less than the previously seen value (because successive
> "oc-seq" parameter values are defined to be in an increasing order).
> When this happens there are guidelines on what the client
> implementation can do (last indented paragraph of S4.4).
>
> Regarding choosing between a timestamp or a counter, the WG prefers to
> use a timestamp primarily because of re-entrancy issues in a multi-
> core/thread environment when using a common variable (the counter)
> [2].  However, we did not end up mandating a timestamp using rfc2119
> language to allow flexibility to implementations who may want to use
> something else.
>
> The earliest we will overflow using a signed 32-bit representation
> of a timestamp will be January 2038; using a signed 64-bit
> representation gets us about 290 billion more years.  I
> understand the need to design robust protocols, but I am not
> sure what to mandate here besides perhaps exhorting implementations
> to use an unsigned 32-bit integer or move to a 64-bit machine or use
> a time library that will handles large time values on a 32-bit
> architecture.
>

In retrospect, I may have been a little persnickety about this.  What I
meant was that simply having a timestamp with a value less than a previous
one is not sufficient to detect overflow, because messages can arrive out
of order (as the document notes).  It seems like for overflow detection,
you could just require that the oc-seq value be *significantly* below
recent values, or below all values used in a time window.

Also, if overflow can be detected, then shouldn't the new message be
accepted and used, even though the oc-seq value is lower?

It's actually a little more troubling that the field is not actually
defined to be an unsigned integer AFAICT.  Could we define this to be a
32-bit or 64-bit unsigned integer?  Otherwise, talking about comparisons is
kind of ill-defined.

Suggested text:
OLD: "This parameter contains a value..."
NEW: "This parameter contains a unsigned integer value..."

OLD:
"""
Due to an overflow, client implementations should be prepared to receive an
"oc-seq" parameter whose value is less than the previous value.  Client
implementations can handle this by continuing to perform overload control
until the "oc-validity" related to the previous value of "oc-seq" parameter
expires.
"""
NEW:
"""
A client implementation can recognize that an overflow has occurred when if
it receives an "oc-seq" parameter whose value is significantly less than
the last several previous values.  If an overflow is detected, then the
client should use the overload parameters in the new message, even though
the sequence number is lower.  The client should also reset any internal
state to reflect the overflow so that future messages (following the
overflow) will be accepted.
"""



>  2. "oc=0" seems like a bad way to signal that there's no overload going
>> on.  "oc-validity=0" does that.  And if there's no overload condition,
>> on algorithm is being applied, so no "oc" parameter value needs to be
>> supplied.  So it seems like you should signal support with no overload
>> with "oc;oc-validity=0".
>>
>
> The reason "oc=0" was chosen to denote a server was not under overload
> control was that we wanted to treat the "oc" parameter in the same
> manner as the SIP "rport" parameter in rfc3581.  Like "rport", when a
> server filled a value for "oc" it indicated support for the overload
> extension.  A value of "0" for the "oc" parameter indicated that the
> server supported overload control but it was not interested in using it
> right now.
>
> The problem that arised when using only "oc=0" to indicate support
> for overload control was that if the rate-based algorithm was chosen to
> perform overload, then the value "oc=0" was taken as indication not to
> send any requests to the server.  Hence we added "oc-validity=0" as
> well.
>
> Ostensibly, as you state, a server could insert "oc;oc-validity=0" to
> indicate to a client that it supports overload control.  But being
> more explicit by "oc=0;oc-validity=0" does not seem too onerous.
> Unless you feel strongly about this, I'd rather leave the current
> text as is.
>

Ok, this explanation makes sense.  I can live with the current text.



>  3. As written, it seems like Section 5.9 could be read to require a
>> behavior that would exacerbate overload conditions with liveness checks.
>> (For example, "periodically" with period 500ms.)  Suggest that this
>> section recommend a back-off algorithm, possibly with some concrete
>> timing paramters.  E.g., start at whatever interval you like,
>> exponential back-off to some floor (say 10sec).
>>
>
> I believe this issue is a bit more complex than suggesting a exponential
> backoff algorithm.  The intent is that a SIP client has a plurality of
> downstream servers to choose from, and that one of these servers is not
> currently responding.  Therfore, request is sent to the other (N-1)
> servers in some fashion.  It is not the case that the same request is
> continuously sent to the non-responding server.
>
> Instead of mandating any specific behaviour, the current text leaves
> this to implementations to determine how often they want to, and indeed,
> if they want to, contact the non-responding server.  Should we mandate
> more?
>

We probably don't need to be as specific as my initial suggestion, but I
think it would be good to note that liveness checks are a source of load.
Suggested text:

OLD:
"""
The SIP client SHOULD periodically probe if the downstream server is alive
using any mechanism at its disposal.
"""

NEW:
"""
The SIP client SHOULD periodically probe if the downstream server is alive
using any mechanism at its disposal.  Clients should be conservative in
their probing (e.g., using an exponential back-off) so that their liveness
probes do not exacerbate an overload situation.
"""



>  4. The Security Considerations do a good job of describing the threats
>> that this mechanism introduces, but less so the mitigations to these
>> threats.  In particular, there is no mitigation provided for the
>> multi-hop attack, and the mitigation for a malicious client is not
>> clearly stated.  Suggest:
>> -- Recommending that clients enforce a maximum validity period (e.g.,
>> 3600s) in order to limit the scope of spoofing attacks (off-path or
>> multi-hop)
>> -- "Servers SHOULD monitor client behavior to determine whether they are
>> complying with overload control policies.  If a client is not
>> conforming, then the server SHOULD treat it as a non-supporting client
>> (Section 5.10.2)."
>>
>
> Thanks for the suggestions.  I re-read the section and in light of your
> suggestions, I think the section may benefit from rewording it to
> enunciate the security threats better.  The mitigation strategies you
> outline then become more apparent.  Let me suggest the new wording of
> the section, including your mitigation strategies, that will completely
> replace the current S10.  Let me know what you think.
>
>
Overall, pretty good.  Couple of minor things inline.


> --- Begin new text
>
> 10. Security Considerations
>
> Overload control mechanisms can be used by an attacker to conduct a
> denial-of-service attack on a SIP entity if the attacker can pretend
> that the SIP entity is overloaded.  When such a forged overload
> indication is received by an upstream SIP client, it will stop
> sending traffic to the victim.  Thus, the victim is subject to a
> denial-of-service attack.
>
> To better understand the threat model, consider the following diagram:
>
>    Pa -------                    ------ Pb
>              \                  /
>    :  ------ +-------- P1 ------+------ :
>              /    L1        L2  \
>    :  -------                    ------ :
>
>    -----> Downstream (requests)
>    <----- Upstream (responses)
>
> Here, requests travel downstream from the left-hand side, through Proxy
> P1, towards the right-hand side, and responses travel upstream from the
> right-hand side, through P1, towards the left hand side.  Proxies Pa, Pb
> and P1 support overload control.  L1 and L2 are labels for the links
> connecting P1 to the upstream clients and downstream servers.
>
> If an attacker is able to modify traffic between Pa and P1 on link L1,
> it can cause denial of service attack on P1 by having Pa not send
> any traffic to P1.  Such an attack can proceed by the attacker modifying
> the response from P1 to Pa such that Pa's Via header is changed to
> indicate that all requests destined towards P1 should be dropped.
> Conversely, the attacker can simply remove any "oc", "oc-validity" and
> "oc-seq" markings added by P1 in a response to Pa.  In such a case, the
> attacker will force P1 into overload control by denying request
> quenching at Pa even though Pa is capable of performing overload
> control.
>
> Similarly, if an attacker is able to modify traffic between P1 and Pb
> on link L2, it can change P1's Via header in a response from Pb to
> P1 such that all subsequent requests destined towards Pb from P1 are
> dropped.  A denial of service attack is thus mounted on Pb.  Note that
> it is immaterial whether Pb supports overload control or not, the
> attack will succeed as long as the attacker is able to control L2.
> Conversely, an attacker can simply remove any "oc", "oc-validity"
> and "oc-seq" markings added by Pb in a response to P1.  In such a case,
> the attacker will force P1 into sending requests to Pb even under
> overload conditions because P1 would not be aware aware that Pb
> supports overload control.
>
> P1 can prevent these types of attack by using TLS on links L1 and L2.
>

Couple observations:
-- You might phrase this as (1) indicating false oc, and (2) suppressing
genuine oc
-- To do a DoS by indicating false oc over UDP, you could even be off-link
=> mitigate by using TCP/TLS/WS and/or applying BCP 38
-- To suppress genuine OC, you need to hijack the connection => Use TLS


Yet another type of attack could be mounted by a malicious proxy
> (say Pb in the above figure) changing Via headers not corresponding
> to their immediate neighbor such that the overload control parameters
> of these Via headers would cause the SIP client identified in the
> Via header not to send requests to its neighbour.  Such a multi-hop
> attack can be prevented ensuring that a SIP client removes "oc",
> "oc-validity" and "oc-seq" parameters from all Via headers of a
> response received, except for the topmost Via header.  This prevents
> overload control parameters that were accidentally or maliciously
> inserted into Via headers by a downstream SIP server from traveling
> upstream (Section 5.4).
>

I actually think the original text conveys this better.  The mitigation
described above helps if the request only goes through proxies that support
this spec.  But the mention of non-supporting proxies has been lost, and
that's the case where you need some other mitigation, e.g., the max
oc-vailidity.



> A malicious SIP entity could gain an advantage by pretending to
> support this specification but never reducing the amount of traffic
> it forwards to the downstream neighbor.  If its downstream neighbor
> receives traffic from multiple sources which correctly implement
> overload control, the malicious SIP entity would benefit since all
> other sources to its downstream neighbor would reduce load.
>
>    The solution to this problem depends on the overload control
>    method.  For rate-based and window-based overload control, it is
>    very easy for a downstream entity to monitor if the upstream
>    neighbor throttles traffic forwarded as directed.  For percentage
>    throttling this is not always obvious since the load forwarded
>    depends on the load received by the upstream neighbor.
>
> To prevent such attacks, servers should monitor client behavior to
> determine whether they are complying with overload control policies.
> If a client is not conforming to such policies, then the server should
> treat it as a non-supporting client (Section 5.10.2).
>

This part looks fine.

Thanks for the edits.  It looks like we should be able to converge pretty
quickly.

--Richard



> --- End new text
>
> Please let me know what you think on these issues and I will close
> any resolutions as expeditiously as possible.
>
> [1] http://www.ietf.org/mail-**archive/web/sip-overload/**
> current/msg00988.html<http://www.ietf.org/mail-archive/web/sip-overload/current/msg00988.html>
> [2] http://www.ietf.org/mail-**archive/web/sip-overload/**
> current/msg00307.html<http://www.ietf.org/mail-archive/web/sip-overload/current/msg00307.html>
>
> Thanks, Richard.
>
> - vijay
> --
> Vijay K. Gurbani, Bell Laboratories, Alcatel-Lucent
> 1960 Lucent Lane, Rm. 9C-533, Naperville, Illinois 60563 (USA)
> Email: vkg@{bell-labs.com,acm.org} / vijay.gurbani@alcatel-lucent.**com<vijay.gurbani@alcatel-lucent.com>
> Web: http://ect.bell-labs.com/who/**vkg/<http://ect.bell-labs.com/who/vkg/> | Calendar:
> http://goo.gl/x3Ogq
>

--001a11c257002281cd04e9e572cc
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hey Vijay,<br><br>Thanks for following up in detail.=A0 Ca=
tching up with this now.=A0 Responses inline.<br><div><div class=3D"gmail_e=
xtra"><br><br><div class=3D"gmail_quote">On Fri, Aug 9, 2013 at 5:52 PM, Vi=
jay K. Gurbani <span dir=3D"ltr">&lt;<a href=3D"mailto:vkg@bell-labs.com" t=
arget=3D"_blank">vkg@bell-labs.com</a>&gt;</span> wrote:<br>

<blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-=
left:1px solid rgb(204,204,204);padding-left:1ex">Richard: Thank you for a =
close read of the draft as part of the<br>
AD review (c.f. [1]). =A0I must offer my apologies for a delay in<br>
response, but I was on vacation when your email arrived and could not<br>
get to attend to it until now.<br>
<br>
I will break the response to your review in two parts. =A0This email<br>
attends to the major issues. =A0I will generate a separate email for the<br=
>
minor issues.<br>
<br>
So, taking a look at the major issues.<br>
<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-=
left:1px solid rgb(204,204,204);padding-left:1ex">
1. The fourth paragraph of Section 4.4 does not allow clients to detect<br>
when overflow has happened. =A0It seems like there are two options: (1)<br>
Define the timestamp so it cannot overflow (e.g., as a sufficiently long<br=
>
timestap), or (2) define what an &quot;appropriate base value&quot; is so t=
hat a<br>
client can recognize when the &quot;oc-seq&quot; has been reset there. =A0I=
t seems<br>
like it would be simplest to imply say that &quot;oc-seq&quot; MUST be an N=
-bit<br>
counter value or a timestamp. =A0(Or better, choose one.)<br>
</blockquote>
<br>
The client will detect overflow when it receives an &quot;oc-seq&quot; para=
meter<br>
whose value is less than the previously seen value (because successive<br>
&quot;oc-seq&quot; parameter values are defined to be in an increasing orde=
r).<br>
When this happens there are guidelines on what the client<br>
implementation can do (last indented paragraph of S4.4).<br>
<br>
Regarding choosing between a timestamp or a counter, the WG prefers to<br>
use a timestamp primarily because of re-entrancy issues in a multi-<br>
core/thread environment when using a common variable (the counter)<br>
[2]. =A0However, we did not end up mandating a timestamp using rfc2119<br>
language to allow flexibility to implementations who may want to use<br>
something else.<br>
<br>
The earliest we will overflow using a signed 32-bit representation<br>
of a timestamp will be January 2038; using a signed 64-bit<br>
representation gets us about 290 billion more years. =A0I<br>
understand the need to design robust protocols, but I am not<br>
sure what to mandate here besides perhaps exhorting implementations<br>
to use an unsigned 32-bit integer or move to a 64-bit machine or use<br>
a time library that will handles large time values on a 32-bit<br>
architecture.<br></blockquote><div><br></div><div>In retrospect, I may have=
 been a little persnickety about this.=A0 What I meant was that simply havi=
ng a timestamp with a value less than a previous one is not sufficient to d=
etect overflow, because messages can arrive out of order (as the document n=
otes).=A0 It seems like for overflow detection, you could just require that=
 the oc-seq value be *significantly* below recent values, or below all valu=
es used in a time window.=A0 <br>

<br></div><div>Also, if overflow can be detected, then shouldn&#39;t the ne=
w message be accepted and used, even though the oc-seq value is lower?<br><=
/div><div><br>It&#39;s actually a little more troubling that the field is n=
ot actually defined to be an unsigned integer AFAICT.=A0 Could we define th=
is to be a 32-bit or 64-bit unsigned integer?=A0 Otherwise, talking about c=
omparisons is kind of ill-defined.=A0 <br>

<br>Suggested text:<br></div><div>OLD: &quot;This parameter contains a valu=
e...&quot;<br>NEW: &quot;This parameter contains a unsigned integer value..=
.&quot;<br></div><div><br></div><div>OLD: <br>&quot;&quot;&quot;<br>Due to =
an overflow, client implementations should be prepared to receive an &quot;=
oc-seq&quot; parameter whose value is less than the previous value.=A0 Clie=
nt implementations can handle this by continuing to perform overload contro=
l until the &quot;oc-validity&quot; related to the previous value of &quot;=
oc-seq&quot; parameter expires.<br>

&quot;&quot;&quot;<br></div><div>NEW: <br>&quot;&quot;&quot;<br></div><div>=
A client implementation can recognize that an overflow has occurred when if=
 it receives an &quot;oc-seq&quot; parameter whose value is significantly l=
ess than the last several previous values.=A0 If an overflow is detected, t=
hen the client should use the overload parameters in the new message, even =
though the sequence number is lower.=A0 The client should also reset any in=
ternal state to reflect the overflow so that future messages (following the=
 overflow) will be accepted.=A0 <br>

</div><div>&quot;&quot;&quot;<br><br>=A0</div><blockquote class=3D"gmail_qu=
ote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,20=
4);padding-left:1ex">
<blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-=
left:1px solid rgb(204,204,204);padding-left:1ex">
2. &quot;oc=3D0&quot; seems like a bad way to signal that there&#39;s no ov=
erload going<br>
on. =A0&quot;oc-validity=3D0&quot; does that. =A0And if there&#39;s no over=
load condition,<br>
on algorithm is being applied, so no &quot;oc&quot; parameter value needs t=
o be<br>
supplied. =A0So it seems like you should signal support with no overload<br=
>
with &quot;oc;oc-validity=3D0&quot;.<br>
</blockquote>
<br>
The reason &quot;oc=3D0&quot; was chosen to denote a server was not under o=
verload<br>
control was that we wanted to treat the &quot;oc&quot; parameter in the sam=
e<br>
manner as the SIP &quot;rport&quot; parameter in rfc3581. =A0Like &quot;rpo=
rt&quot;, when a<br>
server filled a value for &quot;oc&quot; it indicated support for the overl=
oad<br>
extension. =A0A value of &quot;0&quot; for the &quot;oc&quot; parameter ind=
icated that the<br>
server supported overload control but it was not interested in using it<br>
right now.<br>
<br>
The problem that arised when using only &quot;oc=3D0&quot; to indicate supp=
ort<br>
for overload control was that if the rate-based algorithm was chosen to<br>
perform overload, then the value &quot;oc=3D0&quot; was taken as indication=
 not to<br>
send any requests to the server. =A0Hence we added &quot;oc-validity=3D0&qu=
ot; as<br>
well.<br>
<br>
Ostensibly, as you state, a server could insert &quot;oc;oc-validity=3D0&qu=
ot; to<br>
indicate to a client that it supports overload control. =A0But being<br>
more explicit by &quot;oc=3D0;oc-validity=3D0&quot; does not seem too onero=
us.<br>
Unless you feel strongly about this, I&#39;d rather leave the current<br>
text as is.<br></blockquote><div><br></div><div>Ok, this explanation makes =
sense.=A0 I can live with the current text.<br></div><div><br>=A0</div><blo=
ckquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left=
:1px solid rgb(204,204,204);padding-left:1ex">


<blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-=
left:1px solid rgb(204,204,204);padding-left:1ex">
3. As written, it seems like Section 5.9 could be read to require a<br>
behavior that would exacerbate overload conditions with liveness checks.<br=
>
(For example, &quot;periodically&quot; with period 500ms.) =A0Suggest that =
this<br>
section recommend a back-off algorithm, possibly with some concrete<br>
timing paramters. =A0E.g., start at whatever interval you like,<br>
exponential back-off to some floor (say 10sec).<br>
</blockquote>
<br>
I believe this issue is a bit more complex than suggesting a exponential<br=
>
backoff algorithm. =A0The intent is that a SIP client has a plurality of<br=
>
downstream servers to choose from, and that one of these servers is not<br>
currently responding. =A0Therfore, request is sent to the other (N-1)<br>
servers in some fashion. =A0It is not the case that the same request is<br>
continuously sent to the non-responding server.<br>
<br>
Instead of mandating any specific behaviour, the current text leaves<br>
this to implementations to determine how often they want to, and indeed,<br=
>
if they want to, contact the non-responding server. =A0Should we mandate<br=
>
more?<br></blockquote><div><br></div><div>We probably don&#39;t need to be =
as specific as my initial suggestion, but I think it would be good to note =
that liveness checks are a source of load.=A0 Suggested text:<br><br></div>

<div>OLD:<br>&quot;&quot;&quot;<br>The SIP client SHOULD periodically probe=
 if the downstream server is alive using any mechanism at its disposal.<br>=
&quot;&quot;&quot;<br><br></div><div>NEW:<br>&quot;&quot;&quot;<br>The SIP =
client SHOULD periodically probe if the downstream server is alive using an=
y mechanism at its disposal.=A0 Clients should be conservative in their pro=
bing (e.g., using an exponential back-off) so that their liveness probes do=
 not exacerbate an overload situation.<br>

&quot;&quot;&quot;<br></div><div><br>=A0</div><blockquote class=3D"gmail_qu=
ote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,20=
4);padding-left:1ex">
<blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-=
left:1px solid rgb(204,204,204);padding-left:1ex">
4. The Security Considerations do a good job of describing the threats<br>
that this mechanism introduces, but less so the mitigations to these<br>
threats. =A0In particular, there is no mitigation provided for the<br>
multi-hop attack, and the mitigation for a malicious client is not<br>
clearly stated. =A0Suggest:<br>
-- Recommending that clients enforce a maximum validity period (e.g.,<br>
3600s) in order to limit the scope of spoofing attacks (off-path or<br>
multi-hop)<br>
-- &quot;Servers SHOULD monitor client behavior to determine whether they a=
re<br>
complying with overload control policies. =A0If a client is not<br>
conforming, then the server SHOULD treat it as a non-supporting client<br>
(Section 5.10.2).&quot;<br>
</blockquote>
<br>
Thanks for the suggestions. =A0I re-read the section and in light of your<b=
r>
suggestions, I think the section may benefit from rewording it to<br>
enunciate the security threats better. =A0The mitigation strategies you<br>
outline then become more apparent. =A0Let me suggest the new wording of<br>
the section, including your mitigation strategies, that will completely<br>
replace the current S10. =A0Let me know what you think.<br>
<br></blockquote><div><br></div><div>Overall, pretty good. =A0Couple of min=
or things inline.</div><div>=A0</div><blockquote class=3D"gmail_quote" styl=
e=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);paddin=
g-left:1ex">

--- Begin new text<br>
<br>
10. Security Considerations<br>
<br>
Overload control mechanisms can be used by an attacker to conduct a<br>
denial-of-service attack on a SIP entity if the attacker can pretend<br>
that the SIP entity is overloaded. =A0When such a forged overload<br>
indication is received by an upstream SIP client, it will stop<br>
sending traffic to the victim. =A0Thus, the victim is subject to a<br>
denial-of-service attack.<br>
<br>
To better understand the threat model, consider the following diagram:<br>
<br>
=A0 =A0Pa ------- =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0------ Pb<br>
=A0 =A0 =A0 =A0 =A0 =A0 =A0\ =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0/<br>
=A0 =A0: =A0------ +-------- P1 ------+------ :<br>
=A0 =A0 =A0 =A0 =A0 =A0 =A0/ =A0 =A0L1 =A0 =A0 =A0 =A0L2 =A0\<br>
=A0 =A0: =A0------- =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0------ :<br>
<br>
=A0 =A0-----&gt; Downstream (requests)<br>
=A0 =A0&lt;----- Upstream (responses)<br>
<br>
Here, requests travel downstream from the left-hand side, through Proxy<br>
P1, towards the right-hand side, and responses travel upstream from the<br>
right-hand side, through P1, towards the left hand side. =A0Proxies Pa, Pb<=
br>
and P1 support overload control. =A0L1 and L2 are labels for the links<br>
connecting P1 to the upstream clients and downstream servers.<br>
<br>
If an attacker is able to modify traffic between Pa and P1 on link L1,<br>
it can cause denial of service attack on P1 by having Pa not send<br>
any traffic to P1. =A0Such an attack can proceed by the attacker modifying<=
br>
the response from P1 to Pa such that Pa&#39;s Via header is changed to<br>
indicate that all requests destined towards P1 should be dropped.<br>
Conversely, the attacker can simply remove any &quot;oc&quot;, &quot;oc-val=
idity&quot; and<br>
&quot;oc-seq&quot; markings added by P1 in a response to Pa. =A0In such a c=
ase, the<br>
attacker will force P1 into overload control by denying request<br>
quenching at Pa even though Pa is capable of performing overload<br>
control.<br>
<br>
Similarly, if an attacker is able to modify traffic between P1 and Pb<br>
on link L2, it can change P1&#39;s Via header in a response from Pb to<br>
P1 such that all subsequent requests destined towards Pb from P1 are<br>
dropped. =A0A denial of service attack is thus mounted on Pb. =A0Note that<=
br>
it is immaterial whether Pb supports overload control or not, the<br>
attack will succeed as long as the attacker is able to control L2.<br>
Conversely, an attacker can simply remove any &quot;oc&quot;, &quot;oc-vali=
dity&quot;<br>
and &quot;oc-seq&quot; markings added by Pb in a response to P1. =A0In such=
 a case,<br>
the attacker will force P1 into sending requests to Pb even under<br>
overload conditions because P1 would not be aware aware that Pb<br>
supports overload control.<br>
<br>
P1 can prevent these types of attack by using TLS on links L1 and L2.<br></=
blockquote><div><br></div><div>Couple observations:<br></div><div>-- You mi=
ght phrase this as (1) indicating false oc, and (2) suppressing genuine oc<=
/div>
<div>-- To do a DoS by indicating false oc over UDP, you could even be off-=
link =3D&gt; mitigate by using TCP/TLS/WS and/or applying BCP 38</div><div>=
-- To suppress genuine OC, you need to hijack the connection =3D&gt; Use TL=
S</div>
<div><br></div><div><br></div><blockquote class=3D"gmail_quote" style=3D"ma=
rgin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:=
1ex">
Yet another type of attack could be mounted by a malicious proxy<br>
(say Pb in the above figure) changing Via headers not corresponding<br>
to their immediate neighbor such that the overload control parameters<br>
of these Via headers would cause the SIP client identified in the<br>
Via header not to send requests to its neighbour. =A0Such a multi-hop<br>
attack can be prevented ensuring that a SIP client removes &quot;oc&quot;,<=
br>
&quot;oc-validity&quot; and &quot;oc-seq&quot; parameters from all Via head=
ers of a<br>
response received, except for the topmost Via header. =A0This prevents<br>
overload control parameters that were accidentally or maliciously<br>
inserted into Via headers by a downstream SIP server from traveling<br>
upstream (Section 5.4).<br></blockquote><div><br></div><div>I actually thin=
k the original text conveys this better. =A0The mitigation described above =
helps if the request only goes through proxies that support this spec. =A0B=
ut the mention of non-supporting proxies has been lost, and that&#39;s the =
case where you need some other mitigation, e.g., the max oc-vailidity.</div=
>
<div><br></div><div>=A0</div><blockquote class=3D"gmail_quote" style=3D"mar=
gin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1=
ex">
A malicious SIP entity could gain an advantage by pretending to<br>
support this specification but never reducing the amount of traffic<br>
it forwards to the downstream neighbor. =A0If its downstream neighbor<br>
receives traffic from multiple sources which correctly implement<br>
overload control, the malicious SIP entity would benefit since all<br>
other sources to its downstream neighbor would reduce load.<br>
<br>
=A0 =A0The solution to this problem depends on the overload control<br>
=A0 =A0method. =A0For rate-based and window-based overload control, it is<b=
r>
=A0 =A0very easy for a downstream entity to monitor if the upstream<br>
=A0 =A0neighbor throttles traffic forwarded as directed. =A0For percentage<=
br>
=A0 =A0throttling this is not always obvious since the load forwarded<br>
=A0 =A0depends on the load received by the upstream neighbor.<br>
<br>
To prevent such attacks, servers should monitor client behavior to<br>
determine whether they are complying with overload control policies.<br>
If a client is not conforming to such policies, then the server should<br>
treat it as a non-supporting client (Section 5.10.2).<br></blockquote><div>=
<br></div><div>This part looks fine. =A0</div><div><br></div><div>Thanks fo=
r the edits. =A0It looks like we should be able to converge pretty quickly.=
</div>
<div><br></div><div>--Richard</div><div><br></div><div>=A0</div><blockquote=
 class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px so=
lid rgb(204,204,204);padding-left:1ex">
--- End new text<br>
<br>
Please let me know what you think on these issues and I will close<br>
any resolutions as expeditiously as possible.<br>
<br>
[1] <a href=3D"http://www.ietf.org/mail-archive/web/sip-overload/current/ms=
g00988.html" target=3D"_blank">http://www.ietf.org/mail-<u></u>archive/web/=
sip-overload/<u></u>current/msg00988.html</a><br>
[2] <a href=3D"http://www.ietf.org/mail-archive/web/sip-overload/current/ms=
g00307.html" target=3D"_blank">http://www.ietf.org/mail-<u></u>archive/web/=
sip-overload/<u></u>current/msg00307.html</a><br>
<br>
Thanks, Richard.<span><font color=3D"#888888"><br>
<br>
- vijay<br>
-- <br>
Vijay K. Gurbani, Bell Laboratories, Alcatel-Lucent<br>
1960 Lucent Lane, Rm. 9C-533, Naperville, Illinois 60563 (USA)<br>
Email: vkg@{<a href=3D"http://bell-labs.com" target=3D"_blank">bell-labs.co=
m</a>,<a href=3D"http://acm.org" target=3D"_blank">acm.org</a>} / <a href=
=3D"mailto:vijay.gurbani@alcatel-lucent.com" target=3D"_blank">vijay.gurban=
i@alcatel-lucent.<u></u>com</a><br>


Web: <a href=3D"http://ect.bell-labs.com/who/vkg/" target=3D"_blank">http:/=
/ect.bell-labs.com/who/<u></u>vkg/</a> =A0| Calendar: <a href=3D"http://goo=
.gl/x3Ogq" target=3D"_blank">http://goo.gl/x3Ogq</a><br>
</font></span></blockquote></div><br></div></div></div>

--001a11c257002281cd04e9e572cc--

From rlb@ipv.sx  Tue Oct 29 12:08:49 2013
Return-Path: <rlb@ipv.sx>
X-Original-To: sip-overload@ietfa.amsl.com
Delivered-To: sip-overload@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B3F6A11E8110 for <sip-overload@ietfa.amsl.com>; Tue, 29 Oct 2013 12:08:49 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.896
X-Spam-Level: 
X-Spam-Status: No, score=-2.896 tagged_above=-999 required=5 tests=[AWL=0.080,  BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id SSwVN2j8DIgV for <sip-overload@ietfa.amsl.com>; Tue, 29 Oct 2013 12:08:44 -0700 (PDT)
Received: from mail-oa0-f43.google.com (mail-oa0-f43.google.com [209.85.219.43]) by ietfa.amsl.com (Postfix) with ESMTP id A96A311E8244 for <sip-overload@ietf.org>; Tue, 29 Oct 2013 12:08:40 -0700 (PDT)
Received: by mail-oa0-f43.google.com with SMTP id m1so367599oag.30 for <sip-overload@ietf.org>; Tue, 29 Oct 2013 12:08:37 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:content-type; bh=+Y/0A85n8nVZYMlxlVby3BLHkUq9B/otEpvRBI33eL8=; b=NkxCrXWxGX4NeNZInHSARQrXk/G1lGfvZkiiUsBGZvkbstQwwHgxTAcej1V6AtkgbG wprH49SUx8mwMY5mE9M6h894mtj+Bs+RYK0XJrNfZgVgZje850MaMsWlp36Lgw7+As6u WwGkcfPMOIg675SmySVPvfS0YBz8CZUxn+5XbESUZX6pv1eGBEvWyWQEmRXdDaGKfAoW myOdZsH+2a9gJic7BDGIY4u28LT6zzPpJa5hF8frfW91Yy3RbECv3iPEpQPiA66ghc0I SZ5fWY9T77hQtm5LT/PGbeIJSX6293COYpd5POK48PMrDecaSayNrBi76sHkgL9ENCqj Gq0Q==
X-Gm-Message-State: ALoCoQlY+zARs+U/TES9Uo5NGmqNsV9mVMAvfaJg2embFu8zdA+1P4du2pi7YYwuIcjiyct7gre8
MIME-Version: 1.0
X-Received: by 10.182.71.82 with SMTP id s18mr820107obu.9.1383073717124; Tue, 29 Oct 2013 12:08:37 -0700 (PDT)
Received: by 10.76.101.10 with HTTP; Tue, 29 Oct 2013 12:08:37 -0700 (PDT)
In-Reply-To: <CAL02cgQW3eJg+f0nwEwihJGRgE82o+B0gSx0LJ6vTP1M8F+n5w@mail.gmail.com>
References: <CAL02cgQW3eJg+f0nwEwihJGRgE82o+B0gSx0LJ6vTP1M8F+n5w@mail.gmail.com>
Date: Tue, 29 Oct 2013 15:08:37 -0400
Message-ID: <CAL02cgSMrQTJt=LJg+j7c-9XrX=N9i=14vAvxqkq2KBgPbdHiQ@mail.gmail.com>
From: Richard Barnes <rlb@ipv.sx>
To: "sip-overload@ietf.org" <sip-overload@ietf.org>,  draft-ietf-soc-load-control-event-package@tools.ietf.org
Content-Type: multipart/alternative; boundary=e89a8fb1fde69b9a6104e9e5f183
Subject: Re: [sip-overload] AD review of draft-ietf-soc-load-control-event-package-08
X-BeenThere: sip-overload@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: SIP Overload <sip-overload.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/sip-overload>, <mailto:sip-overload-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/sip-overload>
List-Post: <mailto:sip-overload@ietf.org>
List-Help: <mailto:sip-overload-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/sip-overload>, <mailto:sip-overload-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 29 Oct 2013 19:08:49 -0000

--e89a8fb1fde69b9a6104e9e5f183
Content-Type: text/plain; charset=ISO-8859-1

Dear authors,

Thanks for updating this document.  It looks much better.  Sorry for the
delay in my reply.

The one thing I don't think is quite adequately addressed by the
considerations around the use of the "redirect" action.

The attack I'm worried about is something like the following:
-- A bunch of proxies in a Trust Domain are using UDP, and configured to
get their policies from a central server.
-- Attacker spoofs the server's address to send a bunch of NOTIFY bodies
telling proxies to send all calls to victim@outside-of-trust-domain.com
-- Proxies redirect all calls to victim, who is now DoSed off of the
Internet

In order to address this threat, you need to either (1) remove the
"redirect" action, or (2) constrain redirects to a safe space.  I assume
that the WG doesn't want to do (1) :)

Proposed edits:
-- Add to the definition of a Trust Domain an agreement on the types of
calls that can be affected by load control.  For example, <one> and <many>
element might be limited to specific domains; <*-tel> elements might be
limited to be within certain prefixes.
-- Add to the definition of a Trust Domain an agreement on the destinations
to which calls may be redirected.  For example, the URI might have to match
a given set of domains.
-- Add text to the Security Considerations describing the above attack, and
REQUIREing that implementations enforce the limits described in the
definition of their Trust Domain.

Thanks,
--Richard






On Wed, Apr 17, 2013 at 1:53 PM, Richard Barnes <rlb@ipv.sx> wrote:

> I have reviewed this document, and have a few questions before IETF LC:
>
> Major:
>
> In a few places, for example Section 5.3., the document suggests that this
> event package could be used to communicate load filtering policies between
> domains.  This seems like a bad idea for a few reasons.  First, policies
> can be based on "P-Asserted-Identity", which is itself limited to use
> within a trust domain / Spec(T).  It doesn't make sense to have policies
> based on these identifiers outside of the domain in which they are used.
>  Second, inter-domain policies can create subtle and dangerous security
> risks.  For example, according to the current specification, Domain A could
> tell Domain B to drop all calls between Domain B and Domain C.  It's not
> clear how you would prevent these sorts of attacks, especially where "tel:"
> URIs are involved.  I think both of these issues go away if this event
> package is limited in a similar way to P-Asserted-Identity, i.e., limited
> to use within a trust domain.
>
> Section 6.3., "SUBSCRIBE Bodies" doesn't actually say anything about what
> goes in the body of a SUBSCRIBE message.  On the one hand, it implies that
> there could be a body (since the last sentence considers a request without
> a body as a special case), but it doesn't say what goes in the body if
> there is one.  Please either (1) define what may go in the body, (2)
> explicitly say that this document does not specify what goes in SUBSCRIBE
> bodies, or (3) require that the body be empty.   (Also, the first paragraph
> of this section seems out of place here, since it also has nothing to do
> with the body.)
>
> In Section 6.5., the last sentence is wrong.  The presence of an Accept
> header indicates that the response body should be one of the indicated
> types.  The indicated behavior would only be acceptable if the Accept
> header included "multipart/mixed".  Suggest deleting the last sentence.
>  (Also,  it would be clearer to change "the request body will contain" to
> "the request body MUST contain".)
>
> In Section 7.3.1, you need to specify how a "tel:" URI is matched against
> a domain value starting with "+".  Your examples seem to indicate simple
> string prefix matching, but I doubt that's what you actually want, since
> non-digit characters can break things.  For example, "+1212" should match "
> +1-212-555-1212".  Please specify a matching algorithm here.
>
> In Section 7.3.2, please change "Non-initial requests ... are not
> subjected" to "Non-initial requests ... MUST NOT be subjected".
>
> Section 7.4. doesn't adequately define the actions to be taken.  Each of
> the action elements (<rate>, <window>, <percent>) need to define a concrete
> action that the proxy should take.
>
> RFC 4745 allows rules to combine when multiple rules match a given call.
>  This document needs to define combination rules for the actions defined
> here.
>
> What's the reason for having both the "drop" action and the "reject"
> action?  It seems like the "drop" action is almost always harmful.  With
> unreliable transport, it causes retransmits, and even with reliable
> transport, it causes the client to wait unnecessarily until the connection
> times out.  In any case, the "simple drop" action is underspecified.  For
> example, does the server simply ignore the SIP message, or does it close
> the transport connection?
>
>
> Minor:
>
> In Section 7.3, "we re-define" -- the document doesn't re-define any of
> the elements in RFC 4745 (that's good; redefinition is bad).  Instead, you
> should say you define new identity elements.
>
> In Section 7.3.1, please break up paragraph starting "To include the two
> forms..." for greater readability.  Suggested break points: Before "Note
> that the tradeoff...", and before "It should be noted..."
>
> In Section 7.3.3, it would be helpful to break up the paragraph starting
> "The following are two example...".  Break before "Usecase I" and "Usecase
> II".  Also, s/Usecase/Use case/g
>
>
> Thanks,
> --Richard
>

--e89a8fb1fde69b9a6104e9e5f183
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Dear authors,<div><br></div><div>Thanks for updating this =
document. =A0It looks much better. =A0Sorry for the delay in my reply.</div=
><div><br></div><div>The one thing I don&#39;t think is quite adequately ad=
dressed by the considerations around the use of the &quot;redirect&quot; ac=
tion. =A0</div>
<div class=3D"gmail_extra"><br></div><div class=3D"gmail_extra">The attack =
I&#39;m worried about is something like the following:=A0</div><div class=
=3D"gmail_extra">-- A bunch of proxies in a Trust Domain are using UDP, and=
 configured to get their policies from a central server. =A0</div>
<div class=3D"gmail_extra">-- Attacker spoofs the server&#39;s address to s=
end a bunch of NOTIFY bodies telling proxies to send all calls to <a href=
=3D"mailto:victim@outside-of-trust-domain.com">victim@outside-of-trust-doma=
in.com</a></div>
<div class=3D"gmail_extra">-- Proxies redirect all calls to victim, who is =
now DoSed off of the Internet</div><div class=3D"gmail_extra"><br></div><di=
v class=3D"gmail_extra">In order to address this threat, you need to either=
 (1) remove the &quot;redirect&quot; action, or (2) constrain redirects to =
a safe space. =A0I assume that the WG doesn&#39;t want to do (1) :) =A0</di=
v>
<div class=3D"gmail_extra"><br></div><div class=3D"gmail_extra">Proposed ed=
its:</div><div class=3D"gmail_extra">-- Add to the definition of a Trust Do=
main an agreement on the types of calls that can be affected by load contro=
l. =A0For example, &lt;one&gt; and &lt;many&gt; element might be limited to=
 specific domains; &lt;*-tel&gt; elements might be limited to be within cer=
tain prefixes.</div>
<div class=3D"gmail_extra">-- Add to the definition of a Trust Domain an ag=
reement on the destinations to which calls may be redirected. =A0For exampl=
e, the URI might have to match a given set of domains.</div><div class=3D"g=
mail_extra">
-- Add text to the Security Considerations describing the above attack, and=
 REQUIREing that implementations enforce the limits described in the defini=
tion of their Trust Domain.</div><div class=3D"gmail_extra"><br></div><div =
class=3D"gmail_extra">
Thanks,</div><div class=3D"gmail_extra">--Richard</div><div class=3D"gmail_=
extra"><br></div><div class=3D"gmail_extra"><br></div><div class=3D"gmail_e=
xtra"><br></div><div class=3D"gmail_extra"><br></div><div class=3D"gmail_ex=
tra"><br>
<br><div class=3D"gmail_quote">On Wed, Apr 17, 2013 at 1:53 PM, Richard Bar=
nes <span dir=3D"ltr">&lt;<a href=3D"mailto:rlb@ipv.sx" target=3D"_blank">r=
lb@ipv.sx</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_quote" style=
=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<span style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-se=
rif">I have reviewed this document, and have a few questions before IETF LC=
:</span><div style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,=
sans-serif">

<br></div><div style=3D"color:rgb(34,34,34);font-size:13px;font-family:aria=
l,sans-serif">Major:</div><div style=3D"color:rgb(34,34,34);font-size:13px;=
font-family:arial,sans-serif">
<br></div><div style=3D"color:rgb(34,34,34);font-size:13px;font-family:aria=
l,sans-serif">In a few places, for example Section 5.3., the document sugge=
sts that this event package could be used to communicate load filtering pol=
icies between domains. =A0This seems like a bad idea for a few reasons. =A0=
First, policies can be based on &quot;P-Asserted-Identity&quot;, which is i=
tself limited to use within a trust domain / Spec(T). =A0It doesn&#39;t mak=
e sense to have policies based on these identifiers outside of the domain i=
n which they are used. =A0Second, inter-domain policies can create subtle a=
nd dangerous security risks. =A0For example, according to the current speci=
fication, Domain A could tell Domain B to drop all calls between Domain B a=
nd Domain C. =A0It&#39;s not clear how you would prevent these sorts of att=
acks, especially where &quot;tel:&quot; URIs are involved. =A0I think both =
of these issues go away if this event package is limited in a similar way t=
o P-Asserted-Identity, i.e., limited to use within a trust domain.</div>

<div style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-ser=
if"><br></div><div style=3D"color:rgb(34,34,34);font-size:13px;font-family:=
arial,sans-serif">
Section 6.3., &quot;SUBSCRIBE Bodies&quot; doesn&#39;t actually say anythin=
g about what goes in the body of a SUBSCRIBE message. =A0On the one hand, i=
t implies that there could be a body (since the last sentence considers a r=
equest without a body as a special case), but it doesn&#39;t say what goes =
in the body if there is one. =A0Please either (1) define what may go in the=
 body, (2) explicitly say that this document does not specify what goes in =
SUBSCRIBE bodies, or (3) require that the body be empty. =A0 (Also, the fir=
st paragraph of this section seems out of place here, since it also has not=
hing to do with the body.)</div>

<div style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-ser=
if"><br></div><div style=3D"color:rgb(34,34,34);font-size:13px;font-family:=
arial,sans-serif">
In Section 6.5., the last sentence is wrong. =A0The presence of an Accept h=
eader indicates that the response body should be one of the indicated types=
. =A0The indicated behavior would only be acceptable if the Accept header i=
ncluded &quot;multipart/mixed&quot;. =A0Suggest deleting the last sentence.=
 =A0(Also,=A0=A0it would be clearer to change &quot;the request body will c=
ontain&quot; to &quot;the request body MUST contain&quot;.)</div>

<div style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-ser=
if"><br></div><div style=3D"color:rgb(34,34,34);font-size:13px;font-family:=
arial,sans-serif">
In Section 7.3.1, you need to specify how a &quot;tel:&quot; URI is matched=
 against a domain value starting with &quot;+&quot;. =A0Your examples seem =
to indicate simple string prefix matching, but I doubt that&#39;s what you =
actually want, since non-digit characters can break things. =A0For example,=
 &quot;+1212&quot; should match &quot;<a href=3D"tel:%2B1-212-555-1212" val=
ue=3D"+12125551212" style=3D"color:rgb(17,85,204)" target=3D"_blank">+1-212=
-555-1212</a>&quot;. =A0Please specify a matching algorithm here.</div>

<div style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-ser=
if"><br></div><div style=3D"color:rgb(34,34,34);font-size:13px;font-family:=
arial,sans-serif">
In Section 7.3.2, please change &quot;Non-initial requests ... are not subj=
ected&quot; to &quot;Non-initial requests ... MUST NOT be subjected&quot;.<=
/div><div style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,san=
s-serif">

<br></div><div style=3D"color:rgb(34,34,34);font-size:13px;font-family:aria=
l,sans-serif">Section 7.4. doesn&#39;t adequately define the actions to be =
taken. =A0Each of the action elements (&lt;rate&gt;, &lt;window&gt;, &lt;pe=
rcent&gt;) need to define a concrete action that the proxy should take.=A0<=
/div>

<div style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-ser=
if"><br></div><div style=3D"color:rgb(34,34,34);font-size:13px;font-family:=
arial,sans-serif">
RFC 4745 allows rules to combine when multiple rules match a given call. =
=A0This document needs to define combination rules for the actions defined =
here. =A0</div><div style=3D"color:rgb(34,34,34);font-size:13px;font-family=
:arial,sans-serif">

<br></div><div style=3D"color:rgb(34,34,34);font-size:13px;font-family:aria=
l,sans-serif">What&#39;s the reason for having both the &quot;drop&quot; ac=
tion and the &quot;reject&quot; action? =A0It seems like the &quot;drop&quo=
t; action is almost always harmful. =A0With unreliable transport, it causes=
 retransmits, and even with reliable transport, it causes the client to wai=
t unnecessarily until the connection times out. =A0In any case, the &quot;s=
imple drop&quot; action is underspecified. =A0For example, does the server =
simply ignore the SIP message, or does it close the transport connection?</=
div>

<div style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-ser=
if"><br></div><div style=3D"color:rgb(34,34,34);font-size:13px;font-family:=
arial,sans-serif">
<br></div><div style=3D"color:rgb(34,34,34);font-size:13px;font-family:aria=
l,sans-serif">Minor:</div><div style=3D"color:rgb(34,34,34);font-size:13px;=
font-family:arial,sans-serif">
<br></div><div style=3D"color:rgb(34,34,34);font-size:13px;font-family:aria=
l,sans-serif">In Section 7.3, &quot;we re-define&quot; -- the document does=
n&#39;t re-define any of the elements in RFC 4745 (that&#39;s good; redefin=
ition is bad). =A0Instead, you should say you define new identity elements.=
</div>

<div style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-ser=
if"><br></div><div style=3D"color:rgb(34,34,34);font-size:13px;font-family:=
arial,sans-serif">
In Section 7.3.1, please break up paragraph starting &quot;To include the t=
wo forms...&quot; for greater readability. =A0Suggested break points: Befor=
e &quot;Note that the tradeoff...&quot;, and before &quot;It should be note=
d...&quot;</div>

<div style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-ser=
if"><br></div><div style=3D"color:rgb(34,34,34);font-size:13px;font-family:=
arial,sans-serif">
In Section 7.3.3, it would be helpful to break up the paragraph starting &q=
uot;The following are two example...&quot;. =A0Break before &quot;Usecase I=
&quot; and &quot;Usecase II&quot;. =A0Also, s/Usecase/Use case/g</div><div =
style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">

<br></div><div style=3D"color:rgb(34,34,34);font-size:13px;font-family:aria=
l,sans-serif"><br></div><div style=3D"color:rgb(34,34,34);font-size:13px;fo=
nt-family:arial,sans-serif">
Thanks,</div><div style=3D"color:rgb(34,34,34);font-size:13px;font-family:a=
rial,sans-serif">--Richard</div>
</blockquote></div><br></div></div>

--e89a8fb1fde69b9a6104e9e5f183--

From charles.newyork@gmail.com  Wed Oct 30 11:12:21 2013
Return-Path: <charles.newyork@gmail.com>
X-Original-To: sip-overload@ietfa.amsl.com
Delivered-To: sip-overload@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 6FB2611E828A for <sip-overload@ietfa.amsl.com>; Wed, 30 Oct 2013 11:12:21 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0
X-Spam-Level: 
X-Spam-Status: No, score=x tagged_above=-999 required=5 tests=[]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 9zlNLjaZhjXK for <sip-overload@ietfa.amsl.com>; Wed, 30 Oct 2013 11:12:21 -0700 (PDT)
Received: from mail-oa0-x229.google.com (mail-oa0-x229.google.com [IPv6:2607:f8b0:4003:c02::229]) by ietfa.amsl.com (Postfix) with ESMTP id BCE8311E82D4 for <sip-overload@ietf.org>; Wed, 30 Oct 2013 11:12:18 -0700 (PDT)
Received: by mail-oa0-f41.google.com with SMTP id o9so1893997oag.28 for <sip-overload@ietf.org>; Wed, 30 Oct 2013 11:12:18 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc:content-type; bh=tjTe2G+fEExC46ZzkpVsMJdILYdjPDC0IrRcRhxaHQo=; b=PT9bhvOR2K3HOYbQR6BrQTPIsAViKURvAEo7wULcwb4X/HGT5TfZiDCZ4SC2vFI05H icvCr/T7fb1MNO8jSHEOHMdd9U2zv0m+EKj2qTHnK21a0Ui+wpMhr/MtdnxXxyuh5yEM ATbeXlNNiZPG1WGFkIAzyu8A8ttgU0olcd9HLgxF8iJpWEKlKiLj3jYGt/wsg7HVeTpx UdwF/90G+/fNXGrd840cnlif1tGYwmNWd9rBNUmekg6BGdDucKpYe+FocAvzAmlJZFWC ez469+pOVITX10yNno7Hk5GWVjxVZcYNUEpSc1lO2anZai2BPRwCU+qnGN7AUlIkVKDh WCWg==
X-Received: by 10.60.134.230 with SMTP id pn6mr2694261oeb.52.1383156738001; Wed, 30 Oct 2013 11:12:18 -0700 (PDT)
MIME-Version: 1.0
Sender: charles.newyork@gmail.com
Received: by 10.182.27.9 with HTTP; Wed, 30 Oct 2013 11:11:56 -0700 (PDT)
In-Reply-To: <CAL02cgSMrQTJt=LJg+j7c-9XrX=N9i=14vAvxqkq2KBgPbdHiQ@mail.gmail.com>
References: <CAL02cgQW3eJg+f0nwEwihJGRgE82o+B0gSx0LJ6vTP1M8F+n5w@mail.gmail.com> <CAL02cgSMrQTJt=LJg+j7c-9XrX=N9i=14vAvxqkq2KBgPbdHiQ@mail.gmail.com>
From: Charles Shen <qs2005@columbia.edu>
Date: Wed, 30 Oct 2013 14:11:56 -0400
X-Google-Sender-Auth: fh6F90zT1-Jdrii8oiKePtA6wTY
Message-ID: <CAPSQ9ZUY547AXNgsiSQE9H7Wr8UZAv_0N-rgyAdm5FeWsfjb1w@mail.gmail.com>
To: Richard Barnes <rlb@ipv.sx>
Content-Type: multipart/mixed; boundary=047d7b471e6a0a47c704e9f946b7
Cc: "sip-overload@ietf.org" <sip-overload@ietf.org>, "draft-ietf-soc-load-control-event-package@tools.ietf.org" <draft-ietf-soc-load-control-event-package@tools.ietf.org>
Subject: Re: [sip-overload] AD review of draft-ietf-soc-load-control-event-package-08
X-BeenThere: sip-overload@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: SIP Overload <sip-overload.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/sip-overload>, <mailto:sip-overload-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/sip-overload>
List-Post: <mailto:sip-overload@ietf.org>
List-Help: <mailto:sip-overload-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/sip-overload>, <mailto:sip-overload-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 30 Oct 2013 18:12:21 -0000

--047d7b471e6a0a47c704e9f946b7
Content-Type: multipart/alternative; boundary=047d7b471e6a0a47c304e9f946b5

--047d7b471e6a0a47c304e9f946b5
Content-Type: text/plain; charset=UTF-8

Dear Richard,

Thank you very much for your comments! I've incorporated your suggestions
into a revised version, as attached for your reference. Changes are in
Section 5.4 (definition of Trust Domain) and Section 11 (Security
Considerations). If there are any further concerns please let me know, I
will upload the most updated revision when the IETF submission site
re-opens on Nov. 4.

Thanks!

Charles


On Tue, Oct 29, 2013 at 3:08 PM, Richard Barnes <rlb@ipv.sx> wrote:

> Dear authors,
>
> Thanks for updating this document.  It looks much better.  Sorry for the
> delay in my reply.
>
> The one thing I don't think is quite adequately addressed by the
> considerations around the use of the "redirect" action.
>
> The attack I'm worried about is something like the following:
> -- A bunch of proxies in a Trust Domain are using UDP, and configured to
> get their policies from a central server.
> -- Attacker spoofs the server's address to send a bunch of NOTIFY bodies
> telling proxies to send all calls to victim@outside-of-trust-domain.com
> -- Proxies redirect all calls to victim, who is now DoSed off of the
> Internet
>
> In order to address this threat, you need to either (1) remove the
> "redirect" action, or (2) constrain redirects to a safe space.  I assume
> that the WG doesn't want to do (1) :)
>
> Proposed edits:
> -- Add to the definition of a Trust Domain an agreement on the types of
> calls that can be affected by load control.  For example, <one> and <many>
> element might be limited to specific domains; <*-tel> elements might be
> limited to be within certain prefixes.
> -- Add to the definition of a Trust Domain an agreement on the
> destinations to which calls may be redirected.  For example, the URI might
> have to match a given set of domains.
> -- Add text to the Security Considerations describing the above attack,
> and REQUIREing that implementations enforce the limits described in the
> definition of their Trust Domain.
>
> Thanks,
> --Richard
>
>
>
>
>
>
> On Wed, Apr 17, 2013 at 1:53 PM, Richard Barnes <rlb@ipv.sx> wrote:
>
>> I have reviewed this document, and have a few questions before IETF LC:
>>
>> Major:
>>
>> In a few places, for example Section 5.3., the document suggests that
>> this event package could be used to communicate load filtering policies
>> between domains.  This seems like a bad idea for a few reasons.  First,
>> policies can be based on "P-Asserted-Identity", which is itself limited to
>> use within a trust domain / Spec(T).  It doesn't make sense to have
>> policies based on these identifiers outside of the domain in which they are
>> used.  Second, inter-domain policies can create subtle and dangerous
>> security risks.  For example, according to the current specification,
>> Domain A could tell Domain B to drop all calls between Domain B and Domain
>> C.  It's not clear how you would prevent these sorts of attacks, especially
>> where "tel:" URIs are involved.  I think both of these issues go away if
>> this event package is limited in a similar way to P-Asserted-Identity,
>> i.e., limited to use within a trust domain.
>>
>> Section 6.3., "SUBSCRIBE Bodies" doesn't actually say anything about what
>> goes in the body of a SUBSCRIBE message.  On the one hand, it implies that
>> there could be a body (since the last sentence considers a request without
>> a body as a special case), but it doesn't say what goes in the body if
>> there is one.  Please either (1) define what may go in the body, (2)
>> explicitly say that this document does not specify what goes in SUBSCRIBE
>> bodies, or (3) require that the body be empty.   (Also, the first paragraph
>> of this section seems out of place here, since it also has nothing to do
>> with the body.)
>>
>> In Section 6.5., the last sentence is wrong.  The presence of an Accept
>> header indicates that the response body should be one of the indicated
>> types.  The indicated behavior would only be acceptable if the Accept
>> header included "multipart/mixed".  Suggest deleting the last sentence.
>>  (Also,  it would be clearer to change "the request body will contain" to
>> "the request body MUST contain".)
>>
>> In Section 7.3.1, you need to specify how a "tel:" URI is matched against
>> a domain value starting with "+".  Your examples seem to indicate simple
>> string prefix matching, but I doubt that's what you actually want, since
>> non-digit characters can break things.  For example, "+1212" should match "
>> +1-212-555-1212".  Please specify a matching algorithm here.
>>
>> In Section 7.3.2, please change "Non-initial requests ... are not
>> subjected" to "Non-initial requests ... MUST NOT be subjected".
>>
>> Section 7.4. doesn't adequately define the actions to be taken.  Each of
>> the action elements (<rate>, <window>, <percent>) need to define a concrete
>> action that the proxy should take.
>>
>> RFC 4745 allows rules to combine when multiple rules match a given call.
>>  This document needs to define combination rules for the actions defined
>> here.
>>
>> What's the reason for having both the "drop" action and the "reject"
>> action?  It seems like the "drop" action is almost always harmful.  With
>> unreliable transport, it causes retransmits, and even with reliable
>> transport, it causes the client to wait unnecessarily until the connection
>> times out.  In any case, the "simple drop" action is underspecified.  For
>> example, does the server simply ignore the SIP message, or does it close
>> the transport connection?
>>
>>
>> Minor:
>>
>> In Section 7.3, "we re-define" -- the document doesn't re-define any of
>> the elements in RFC 4745 (that's good; redefinition is bad).  Instead, you
>> should say you define new identity elements.
>>
>> In Section 7.3.1, please break up paragraph starting "To include the two
>> forms..." for greater readability.  Suggested break points: Before "Note
>> that the tradeoff...", and before "It should be noted..."
>>
>> In Section 7.3.3, it would be helpful to break up the paragraph starting
>> "The following are two example...".  Break before "Usecase I" and "Usecase
>> II".  Also, s/Usecase/Use case/g
>>
>>
>> Thanks,
>> --Richard
>>
>
>
> _______________________________________________
> sip-overload mailing list
> sip-overload@ietf.org
> https://www.ietf.org/mailman/listinfo/sip-overload
>
>

--047d7b471e6a0a47c304e9f946b5
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Dear Richard,=C2=A0<div><br></div><div>Thank you very much=
 for your comments! I&#39;ve incorporated your suggestions into a revised v=
ersion, as attached for your reference. Changes are in Section 5.4 (definit=
ion of Trust Domain) and Section 11 (Security Considerations). If there are=
 any further concerns please let me know, I will upload the most updated re=
vision when the IETF submission site re-opens on Nov. 4.=C2=A0</div>

<div class=3D"gmail_extra"><br>Thanks!</div><div class=3D"gmail_extra"><br>=
</div><div class=3D"gmail_extra">Charles<br><br><br><div class=3D"gmail_quo=
te">On Tue, Oct 29, 2013 at 3:08 PM, Richard Barnes <span dir=3D"ltr">&lt;<=
a href=3D"mailto:rlb@ipv.sx" target=3D"_blank">rlb@ipv.sx</a>&gt;</span> wr=
ote:<br>

<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex"><div dir=3D"ltr">Dear authors,<div><br></div=
><div>Thanks for updating this document. =C2=A0It looks much better. =C2=A0=
Sorry for the delay in my reply.</div>

<div><br></div><div>The one thing I don&#39;t think is quite adequately add=
ressed by the considerations around the use of the &quot;redirect&quot; act=
ion. =C2=A0</div>
<div class=3D"gmail_extra"><br></div><div class=3D"gmail_extra">The attack =
I&#39;m worried about is something like the following:=C2=A0</div><div clas=
s=3D"gmail_extra">-- A bunch of proxies in a Trust Domain are using UDP, an=
d configured to get their policies from a central server. =C2=A0</div>


<div class=3D"gmail_extra">-- Attacker spoofs the server&#39;s address to s=
end a bunch of NOTIFY bodies telling proxies to send all calls to <a href=
=3D"mailto:victim@outside-of-trust-domain.com" target=3D"_blank">victim@out=
side-of-trust-domain.com</a></div>


<div class=3D"gmail_extra">-- Proxies redirect all calls to victim, who is =
now DoSed off of the Internet</div><div class=3D"gmail_extra"><br></div><di=
v class=3D"gmail_extra">In order to address this threat, you need to either=
 (1) remove the &quot;redirect&quot; action, or (2) constrain redirects to =
a safe space. =C2=A0I assume that the WG doesn&#39;t want to do (1) :) =C2=
=A0</div>


<div class=3D"gmail_extra"><br></div><div class=3D"gmail_extra">Proposed ed=
its:</div><div class=3D"gmail_extra">-- Add to the definition of a Trust Do=
main an agreement on the types of calls that can be affected by load contro=
l. =C2=A0For example, &lt;one&gt; and &lt;many&gt; element might be limited=
 to specific domains; &lt;*-tel&gt; elements might be limited to be within =
certain prefixes.</div>


<div class=3D"gmail_extra">-- Add to the definition of a Trust Domain an ag=
reement on the destinations to which calls may be redirected. =C2=A0For exa=
mple, the URI might have to match a given set of domains.</div><div class=
=3D"gmail_extra">


-- Add text to the Security Considerations describing the above attack, and=
 REQUIREing that implementations enforce the limits described in the defini=
tion of their Trust Domain.</div><div class=3D"gmail_extra"><br></div><div =
class=3D"gmail_extra">


Thanks,</div><div class=3D"gmail_extra">--Richard</div><div><div class=3D"h=
5"><div class=3D"gmail_extra"><br></div><div class=3D"gmail_extra"><br></di=
v><div class=3D"gmail_extra"><br></div><div class=3D"gmail_extra"><br></div=
><div class=3D"gmail_extra">

<br>
<br><div class=3D"gmail_quote">On Wed, Apr 17, 2013 at 1:53 PM, Richard Bar=
nes <span dir=3D"ltr">&lt;<a href=3D"mailto:rlb@ipv.sx" target=3D"_blank">r=
lb@ipv.sx</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_quote" style=
=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


<span style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-se=
rif">I have reviewed this document, and have a few questions before IETF LC=
:</span><div style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,=
sans-serif">



<br></div><div style=3D"color:rgb(34,34,34);font-size:13px;font-family:aria=
l,sans-serif">Major:</div><div style=3D"color:rgb(34,34,34);font-size:13px;=
font-family:arial,sans-serif">
<br></div><div style=3D"color:rgb(34,34,34);font-size:13px;font-family:aria=
l,sans-serif">In a few places, for example Section 5.3., the document sugge=
sts that this event package could be used to communicate load filtering pol=
icies between domains. =C2=A0This seems like a bad idea for a few reasons. =
=C2=A0First, policies can be based on &quot;P-Asserted-Identity&quot;, whic=
h is itself limited to use within a trust domain / Spec(T). =C2=A0It doesn&=
#39;t make sense to have policies based on these identifiers outside of the=
 domain in which they are used. =C2=A0Second, inter-domain policies can cre=
ate subtle and dangerous security risks. =C2=A0For example, according to th=
e current specification, Domain A could tell Domain B to drop all calls bet=
ween Domain B and Domain C. =C2=A0It&#39;s not clear how you would prevent =
these sorts of attacks, especially where &quot;tel:&quot; URIs are involved=
. =C2=A0I think both of these issues go away if this event package is limit=
ed in a similar way to P-Asserted-Identity, i.e., limited to use within a t=
rust domain.</div>



<div style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-ser=
if"><br></div><div style=3D"color:rgb(34,34,34);font-size:13px;font-family:=
arial,sans-serif">
Section 6.3., &quot;SUBSCRIBE Bodies&quot; doesn&#39;t actually say anythin=
g about what goes in the body of a SUBSCRIBE message. =C2=A0On the one hand=
, it implies that there could be a body (since the last sentence considers =
a request without a body as a special case), but it doesn&#39;t say what go=
es in the body if there is one. =C2=A0Please either (1) define what may go =
in the body, (2) explicitly say that this document does not specify what go=
es in SUBSCRIBE bodies, or (3) require that the body be empty. =C2=A0 (Also=
, the first paragraph of this section seems out of place here, since it als=
o has nothing to do with the body.)</div>



<div style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-ser=
if"><br></div><div style=3D"color:rgb(34,34,34);font-size:13px;font-family:=
arial,sans-serif">
In Section 6.5., the last sentence is wrong. =C2=A0The presence of an Accep=
t header indicates that the response body should be one of the indicated ty=
pes. =C2=A0The indicated behavior would only be acceptable if the Accept he=
ader included &quot;multipart/mixed&quot;. =C2=A0Suggest deleting the last =
sentence. =C2=A0(Also,=C2=A0=C2=A0it would be clearer to change &quot;the r=
equest body will contain&quot; to &quot;the request body MUST contain&quot;=
.)</div>



<div style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-ser=
if"><br></div><div style=3D"color:rgb(34,34,34);font-size:13px;font-family:=
arial,sans-serif">
In Section 7.3.1, you need to specify how a &quot;tel:&quot; URI is matched=
 against a domain value starting with &quot;+&quot;. =C2=A0Your examples se=
em to indicate simple string prefix matching, but I doubt that&#39;s what y=
ou actually want, since non-digit characters can break things. =C2=A0For ex=
ample, &quot;+1212&quot; should match &quot;<a href=3D"tel:%2B1-212-555-121=
2" value=3D"+12125551212" style=3D"color:rgb(17,85,204)" target=3D"_blank">=
+1-212-555-1212</a>&quot;. =C2=A0Please specify a matching algorithm here.<=
/div>



<div style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-ser=
if"><br></div><div style=3D"color:rgb(34,34,34);font-size:13px;font-family:=
arial,sans-serif">
In Section 7.3.2, please change &quot;Non-initial requests ... are not subj=
ected&quot; to &quot;Non-initial requests ... MUST NOT be subjected&quot;.<=
/div><div style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,san=
s-serif">



<br></div><div style=3D"color:rgb(34,34,34);font-size:13px;font-family:aria=
l,sans-serif">Section 7.4. doesn&#39;t adequately define the actions to be =
taken. =C2=A0Each of the action elements (&lt;rate&gt;, &lt;window&gt;, &lt=
;percent&gt;) need to define a concrete action that the proxy should take.=
=C2=A0</div>



<div style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-ser=
if"><br></div><div style=3D"color:rgb(34,34,34);font-size:13px;font-family:=
arial,sans-serif">
RFC 4745 allows rules to combine when multiple rules match a given call. =
=C2=A0This document needs to define combination rules for the actions defin=
ed here. =C2=A0</div><div style=3D"color:rgb(34,34,34);font-size:13px;font-=
family:arial,sans-serif">



<br></div><div style=3D"color:rgb(34,34,34);font-size:13px;font-family:aria=
l,sans-serif">What&#39;s the reason for having both the &quot;drop&quot; ac=
tion and the &quot;reject&quot; action? =C2=A0It seems like the &quot;drop&=
quot; action is almost always harmful. =C2=A0With unreliable transport, it =
causes retransmits, and even with reliable transport, it causes the client =
to wait unnecessarily until the connection times out. =C2=A0In any case, th=
e &quot;simple drop&quot; action is underspecified. =C2=A0For example, does=
 the server simply ignore the SIP message, or does it close the transport c=
onnection?</div>



<div style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-ser=
if"><br></div><div style=3D"color:rgb(34,34,34);font-size:13px;font-family:=
arial,sans-serif">
<br></div><div style=3D"color:rgb(34,34,34);font-size:13px;font-family:aria=
l,sans-serif">Minor:</div><div style=3D"color:rgb(34,34,34);font-size:13px;=
font-family:arial,sans-serif">
<br></div><div style=3D"color:rgb(34,34,34);font-size:13px;font-family:aria=
l,sans-serif">In Section 7.3, &quot;we re-define&quot; -- the document does=
n&#39;t re-define any of the elements in RFC 4745 (that&#39;s good; redefin=
ition is bad). =C2=A0Instead, you should say you define new identity elemen=
ts.</div>



<div style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-ser=
if"><br></div><div style=3D"color:rgb(34,34,34);font-size:13px;font-family:=
arial,sans-serif">
In Section 7.3.1, please break up paragraph starting &quot;To include the t=
wo forms...&quot; for greater readability. =C2=A0Suggested break points: Be=
fore &quot;Note that the tradeoff...&quot;, and before &quot;It should be n=
oted...&quot;</div>



<div style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-ser=
if"><br></div><div style=3D"color:rgb(34,34,34);font-size:13px;font-family:=
arial,sans-serif">
In Section 7.3.3, it would be helpful to break up the paragraph starting &q=
uot;The following are two example...&quot;. =C2=A0Break before &quot;Usecas=
e I&quot; and &quot;Usecase II&quot;. =C2=A0Also, s/Usecase/Use case/g</div=
><div style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-se=
rif">



<br></div><div style=3D"color:rgb(34,34,34);font-size:13px;font-family:aria=
l,sans-serif"><br></div><div style=3D"color:rgb(34,34,34);font-size:13px;fo=
nt-family:arial,sans-serif">
Thanks,</div><div style=3D"color:rgb(34,34,34);font-size:13px;font-family:a=
rial,sans-serif">--Richard</div>
</blockquote></div><br></div></div></div></div>
<br>_______________________________________________<br>
sip-overload mailing list<br>
<a href=3D"mailto:sip-overload@ietf.org">sip-overload@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/sip-overload" target=3D"_b=
lank">https://www.ietf.org/mailman/listinfo/sip-overload</a><br>
<br></blockquote></div><br></div></div>

--047d7b471e6a0a47c304e9f946b5--
--047d7b471e6a0a47c704e9f946b7
Content-Type: text/plain; charset=US-ASCII; 
	name="draft-ietf-soc-load-control-event-package-10.txt"
Content-Disposition: attachment; 
	filename="draft-ietf-soc-load-control-event-package-10.txt"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_hnevh5yk0

CgoKCklFVEYgU09DIFdvcmtpbmcgR3JvdXAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgQy4gU2hlbgpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgSC4gU2NodWx6cmlubmUKSW50ZW5kZWQgc3RhdHVzOiBTdGFu
ZGFyZHMgVHJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbHVtYmlhIFUuCkV4cGly
ZXM6IE1heSAwMywgMjAxNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBBLiBLb2lrZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBOVFQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBPY3RvYmVyIDMwLCAyMDEzCgoKICAgICBBIFNlc3Np
b24gSW5pdGlhdGlvbiBQcm90b2NvbCAoU0lQKSBMb2FkIENvbnRyb2wgRXZlbnQgUGFja2FnZQog
ICAgICAgICAgICBkcmFmdC1pZXRmLXNvYy1sb2FkLWNvbnRyb2wtZXZlbnQtcGFja2FnZS0xMC50
eHQKCkFic3RyYWN0CgogICBXZSBkZWZpbmUgYSBsb2FkIGNvbnRyb2wgZXZlbnQgcGFja2FnZSBm
b3IgdGhlIFNlc3Npb24gSW5pdGlhdGlvbgogICBQcm90b2NvbCAoU0lQKS4gIEl0IGFsbG93cyBT
SVAgZW50aXRpZXMgdG8gZGlzdHJpYnV0ZSBsb2FkIGZpbHRlcmluZwogICBwb2xpY2llcyB0byBv
dGhlciBTSVAgZW50aXRpZXMgaW4gdGhlIG5ldHdvcmsuICBUaGUgbG9hZCBmaWx0ZXJpbmcKICAg
cG9saWNpZXMgY29udGFpbiBydWxlcyB0byB0aHJvdHRsZSBjYWxscyBiYXNlZCBvbiB0aGVpciBz
b3VyY2Ugb3IKICAgZGVzdGluYXRpb24gZG9tYWluLCB0ZWxlcGhvbmUgbnVtYmVyIHByZWZpeCBv
ciBmb3IgYSBzcGVjaWZpYyB1c2VyLgogICBUaGUgbWVjaGFuaXNtIGhlbHBzIHRvIHByZXZlbnQg
c2lnbmFsaW5nIG92ZXJsb2FkIGFuZCBjb21wbGVtZW50cwogICBmZWVkYmFjay1iYXNlZCBTSVAg
b3ZlcmxvYWQgY29udHJvbCBlZmZvcnRzLgoKU3RhdHVzIG9mIFRoaXMgTWVtbwoKICAgVGhpcyBJ
bnRlcm5ldC1EcmFmdCBpcyBzdWJtaXR0ZWQgaW4gZnVsbCBjb25mb3JtYW5jZSB3aXRoIHRoZQog
ICBwcm92aXNpb25zIG9mIEJDUCA3OCBhbmQgQkNQIDc5LgoKICAgSW50ZXJuZXQtRHJhZnRzIGFy
ZSB3b3JraW5nIGRvY3VtZW50cyBvZiB0aGUgSW50ZXJuZXQgRW5naW5lZXJpbmcKICAgVGFzayBG
b3JjZSAoSUVURikuICBOb3RlIHRoYXQgb3RoZXIgZ3JvdXBzIG1heSBhbHNvIGRpc3RyaWJ1dGUK
ICAgd29ya2luZyBkb2N1bWVudHMgYXMgSW50ZXJuZXQtRHJhZnRzLiAgVGhlIGxpc3Qgb2YgY3Vy
cmVudCBJbnRlcm5ldC0KICAgRHJhZnRzIGlzIGF0IGh0dHA6Ly9kYXRhdHJhY2tlci5pZXRmLm9y
Zy9kcmFmdHMvY3VycmVudC8uCgogICBJbnRlcm5ldC1EcmFmdHMgYXJlIGRyYWZ0IGRvY3VtZW50
cyB2YWxpZCBmb3IgYSBtYXhpbXVtIG9mIHNpeCBtb250aHMKICAgYW5kIG1heSBiZSB1cGRhdGVk
LCByZXBsYWNlZCwgb3Igb2Jzb2xldGVkIGJ5IG90aGVyIGRvY3VtZW50cyBhdCBhbnkKICAgdGlt
ZS4gIEl0IGlzIGluYXBwcm9wcmlhdGUgdG8gdXNlIEludGVybmV0LURyYWZ0cyBhcyByZWZlcmVu
Y2UKICAgbWF0ZXJpYWwgb3IgdG8gY2l0ZSB0aGVtIG90aGVyIHRoYW4gYXMgIndvcmsgaW4gcHJv
Z3Jlc3MuIgoKICAgVGhpcyBJbnRlcm5ldC1EcmFmdCB3aWxsIGV4cGlyZSBvbiBNYXkgMDMsIDIw
MTQuCgpDb3B5cmlnaHQgTm90aWNlCgogICBDb3B5cmlnaHQgKGMpIDIwMTMgSUVURiBUcnVzdCBh
bmQgdGhlIHBlcnNvbnMgaWRlbnRpZmllZCBhcyB0aGUKICAgZG9jdW1lbnQgYXV0aG9ycy4gIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCgogICBUaGlzIGRvY3VtZW50IGlzIHN1YmplY3QgdG8gQkNQIDc4
IGFuZCB0aGUgSUVURiBUcnVzdCdzIExlZ2FsCiAgIFByb3Zpc2lvbnMgUmVsYXRpbmcgdG8gSUVU
RiBEb2N1bWVudHMKICAgKGh0dHA6Ly90cnVzdGVlLmlldGYub3JnL2xpY2Vuc2UtaW5mbykgaW4g
ZWZmZWN0IG9uIHRoZSBkYXRlIG9mCiAgIHB1YmxpY2F0aW9uIG9mIHRoaXMgZG9jdW1lbnQuICBQ
bGVhc2UgcmV2aWV3IHRoZXNlIGRvY3VtZW50cwogICBjYXJlZnVsbHksIGFzIHRoZXkgZGVzY3Jp
YmUgeW91ciByaWdodHMgYW5kIHJlc3RyaWN0aW9ucyB3aXRoIHJlc3BlY3QKCgoKU2hlbiwgZXQg
YWwuICAgICAgICAgICAgICBFeHBpcmVzIE1heSAwMywgMjAxNCAgICAgICAgICAgICAgICAgIFtQ
YWdlIDFdCgwKSW50ZXJuZXQtRHJhZnQgICAgICAgU0lQIExvYWQgQ29udHJvbCBFdmVudCBQYWNr
YWdlICAgICAgICAgT2N0b2JlciAyMDEzCgoKICAgdG8gdGhpcyBkb2N1bWVudC4gIENvZGUgQ29t
cG9uZW50cyBleHRyYWN0ZWQgZnJvbSB0aGlzIGRvY3VtZW50IG11c3QKICAgaW5jbHVkZSBTaW1w
bGlmaWVkIEJTRCBMaWNlbnNlIHRleHQgYXMgZGVzY3JpYmVkIGluIFNlY3Rpb24gNC5lIG9mCiAg
IHRoZSBUcnVzdCBMZWdhbCBQcm92aXNpb25zIGFuZCBhcmUgcHJvdmlkZWQgd2l0aG91dCB3YXJy
YW50eSBhcwogICBkZXNjcmliZWQgaW4gdGhlIFNpbXBsaWZpZWQgQlNEIExpY2Vuc2UuCgpUYWJs
ZSBvZiBDb250ZW50cwoKICAgMS4gIEludHJvZHVjdGlvbiAgLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gICAzCiAgIDIuICBDb252ZW50aW9ucyAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAgNQogICAzLiAgRGVm
aW5pdGlvbnMgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAgIDUKICAgNC4gIERlc2lnbiBSZXF1aXJlbWVudHMgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gICA2CiAgIDUuICBTSVAgTG9hZCBGaWx0ZXJpbmcgT3ZlcnZpZXcg
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAgNgogICAgIDUuMS4gIExvYWQgRmls
dGVyaW5nIFBvbGljeSBGb3JtYXQgIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgIDYKICAg
ICA1LjIuICBMb2FkIEZpbHRlcmluZyBQb2xpY3kgQ29tcHV0YXRpb24gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gICA3CiAgICAgNS4zLiAgTG9hZCBGaWx0ZXJpbmcgUG9saWN5IERpc3RyaWJ1dGlv
biAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAgNwogICAgIDUuNC4gIEFwcGxpY2FibGUgTmV0d29y
ayBEb21haW5zICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMTAKICAgNi4gIExvYWQg
Q29udHJvbCBFdmVudCBQYWNrYWdlICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
IDExCiAgICAgNi4xLiAgRXZlbnQgUGFja2FnZSBOYW1lICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuICAxMQogICAgIDYuMi4gIEV2ZW50IFBhY2thZ2UgUGFyYW1ldGVycyAg
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMTIKICAgICA2LjMuICBTVUJTQ1JJQkUg
Qm9kaWVzICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDEyCiAgICAg
Ni40LiAgU1VCU0NSSUJFIER1cmF0aW9uICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuICAxMgogICAgIDYuNS4gIE5PVElGWSBCb2RpZXMgLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMTIKICAgICA2LjYuICBOb3RpZmllciBQcm9jZXNzaW5n
IG9mIFNVQlNDUklCRSBSZXF1ZXN0cyAuIC4gLiAuIC4gLiAuIC4gIDEyCiAgICAgNi43LiAgTm90
aWZpZXIgR2VuZXJhdGlvbiBvZiBOT1RJRlkgUmVxdWVzdHMgIC4gLiAuIC4gLiAuIC4gLiAuICAx
MwogICAgIDYuOC4gIFN1YnNjcmliZXIgUHJvY2Vzc2luZyBvZiBOT1RJRlkgUmVxdWVzdHMgIC4g
LiAuIC4gLiAuIC4gLiAgMTMKICAgICA2LjkuICBIYW5kbGluZyBvZiBGb3JrZWQgUmVxdWVzdHMg
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDE0CiAgICAgNi4xMC4gUmF0ZSBvZiBOb3Rp
ZmljYXRpb25zIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAxNQogICAgIDYu
MTEuIFN0YXRlIERlbHRhIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAgMTUKICAgNy4gIExvYWQgQ29udHJvbCBEb2N1bWVudCAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gIDE1CiAgICAgNy4xLiAgRm9ybWF0ICAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAxNQogICAgIDcuMi4gIE5hbWVz
cGFjZSAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMTYK
ICAgICA3LjMuICBDb25kaXRpb25zICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gIDE2CiAgICAgICA3LjMuMS4gIENhbGwgSWRlbnRpdHkgLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAxNgogICAgICAgNy4zLjIuICBNZXRob2QgIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMTkKICAgICAgIDcu
My4zLiAgVGFyZ2V0IFNJUCBFbnRpdHkgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gIDE5CiAgICAgICA3LjMuNC4gIFZhbGlkaXR5ICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuICAyMAogICAgIDcuNC4gIEFjdGlvbnMgLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMjEKICAgICA3LjUuICBDb21wbGV0
ZSBFeGFtcGxlcyAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDIyCiAg
ICAgICA3LjUuMS4gIExvYWQgQ29udHJvbCBEb2N1bWVudCBFeGFtcGxlcyAgLiAuIC4gLiAuIC4g
LiAuIC4gLiAuICAyMgogICAgICAgNy41LjIuICBNZXNzYWdlIEZsb3cgRXhhbXBsZXMgLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMjUKICAgOC4gIFhNTCBTY2hlbWEgRGVmaW5pdGlv
biBmb3IgTG9hZCBDb250cm9sICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDI3CiAgIDkuICBSZWxh
dGVkIFdvcmsgIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
ICAzMAogICAgIDkuMS4gIFJlbGF0aW9uc2hpcCB3aXRoIExvYWQgRmlsdGVyaW5nIGluIFBTVE4g
IC4gLiAuIC4gLiAuIC4gLiAgMzAKICAgICA5LjIuICBSZWxhdGlvbnNoaXAgd2l0aCBPdGhlciBJ
RVRGIFNJUCBPdmVybG9hZCBDb250cm9sIEVmZm9ydHMgIDMxCiAgIDEwLiBEaXNjdXNzaW9uIG9m
IHRoaXMgc3BlY2lmaWNhdGlvbiBtZWV0aW5nIHRoZSByZXF1aXJlbWVudHMgb2YKICAgICAgIFJG
QzUzOTAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gIDMyCiAgIDExLiBTZWN1cml0eSBDb25zaWRlcmF0aW9ucyAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuICAzNwogICAxMi4gSUFOQSBDb25zaWRlcmF0aW9ucyAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMzgKCgoKU2hlbiwgZXQgYWwuICAg
ICAgICAgICAgICBFeHBpcmVzIE1heSAwMywgMjAxNCAgICAgICAgICAgICAgICAgIFtQYWdlIDJd
CgwKSW50ZXJuZXQtRHJhZnQgICAgICAgU0lQIExvYWQgQ29udHJvbCBFdmVudCBQYWNrYWdlICAg
ICAgICAgT2N0b2JlciAyMDEzCgoKICAgICAxMi4xLiAgTG9hZCBDb250cm9sIEV2ZW50IFBhY2th
Z2UgUmVnaXN0cmF0aW9uICAuIC4gLiAuIC4gLiAuIC4gIDM4CiAgICAgMTIuMi4gIGFwcGxpY2F0
aW9uL2xvYWQtY29udHJvbCt4bWwgTUlNRSBSZWdpc3RyYXRpb24gLiAuIC4gLiAuICAzOAogICAg
IDEyLjMuICBMb2FkIENvbnRyb2wgU2NoZW1hIFJlZ2lzdHJhdGlvbiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAgMzkKICAgMTMuIEFja25vd2xlZGdlbWVudHMgIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDM5CiAgIDE0LiBSZWZlcmVuY2VzICAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICA0MAogICAgIDE0LjEuICBO
b3JtYXRpdmUgUmVmZXJlbmNlcyAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAg
NDAKICAgICAxNC4yLiAgSW5mb3JtYXRpdmUgUmVmZXJlbmNlcyAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gIDQxCiAgIEF1dGhvcnMnIEFkZHJlc3NlcyAgLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICA0MQoKMS4gIEludHJvZHVjdGlvbgoKICAg
UHJvcGVyIGZ1bmN0aW9uaW5nIG9mIFNlc3Npb24gSW5pdGlhdGlvbiBQcm90b2NvbCAoU0lQKSBb
UkZDMzI2MV0KICAgc2lnbmFsaW5nIHNlcnZlcnMgaXMgY3JpdGljYWwgaW4gU0lQLWJhc2VkIGNv
bW11bmljYXRpb25zIG5ldHdvcmtzLgogICBUaGUgcGVyZm9ybWFuY2Ugb2YgU0lQIHNlcnZlcnMg
Y2FuIGJlIHNldmVyZWx5IGRlZ3JhZGVkIHdoZW4gdGhlCiAgIHNlcnZlciBpcyBvdmVybG9hZGVk
IHdpdGggZXhjZXNzaXZlIG51bWJlciBvZiBzaWduYWxpbmcgcmVxdWVzdHMuCiAgIEJvdGggbGVn
aXRpbWF0ZSBhbmQgbWFsaWNpb3VzIHRyYWZmaWMgY2FuIG92ZXJsb2FkIFNJUCBzZXJ2ZXJzLAog
ICBkZXNwaXRlIGFwcHJvcHJpYXRlIGNhcGFjaXR5IHBsYW5uaW5nLgoKICAgVGhlcmUgYXJlIHRo
cmVlIGNvbW1vbiBleGFtcGxlcyBvZiBsZWdpdGltYXRlIHNob3J0LXRlcm0gaW5jcmVhc2VzIGlu
CiAgIGNhbGwgdm9sdW1lcy4gIFZpZXdlci12b3RpbmcgVFYgc2hvd3Mgb3IgdGlja2V0IGdpdmVh
d2F5cyBtYXkKICAgZ2VuZXJhdGUgbWlsbGlvbnMgb2YgY2FsbHMgd2l0aGluIGEgZmV3IG1pbnV0
ZXMuICBDYWxsIHZvbHVtZSBtYXkKICAgYWxzbyBzcGlrZSBkdXJpbmcgc3BlY2lhbCBob2xpZGF5
cyBzdWNoIGFzIE5ldyBZZWFyJ3MgRGF5IGFuZAogICBNb3RoZXIncyBEYXkuIEZpbmFsbHksIGNh
bGxlcnMgbWF5IHdhbnQgdG8gcmVhY2ggZnJpZW5kcyBhbmQgZmFtaWx5CiAgIGluIG5hdHVyYWwg
ZGlzYXN0ZXIgYXJlYXMgc3VjaCBhcyB0aG9zZSBhZmZlY3RlZCBieSBodXJyaWNhbmVzLiAgV2hl
bgogICBwb3NzaWJsZSwgb25seSBjYWxscyB0cmF2ZXJzaW5nIG92ZXJsb2FkZWQgc2VydmVycyBz
aG91bGQgYmUKICAgdGhyb3R0bGVkIHVuZGVyIHRob3NlIGNvbmRpdGlvbnMuCgogICBTSVAgbG9h
ZCBjb250cm9sIG1lY2hhbmlzbXMgYXJlIG5lZWRlZCB0byBwcmV2ZW50IGNvbmdlc3Rpb24gY29s
bGFwc2UKICAgaW4gdGhlc2UgY2FzZXMgW1JGQzUzOTBdLiAgVGhlcmUgYXJlIHR3byB0eXBlcyBv
ZiBsb2FkIGNvbnRyb2wKICAgYXBwcm9hY2hlcy4gIEluIHRoZSBmaXJzdCBhcHByb2FjaCwgZmVl
ZGJhY2sgY29udHJvbCwgU0lQIHNlcnZlcnMKICAgcHJvdmlkZSBsb2FkIGxpbWl0cyB0byB1cHN0
cmVhbSBzZXJ2ZXJzLCB0byByZWR1Y2UgdGhlIGluY29taW5nIHJhdGUKICAgb2YgYWxsIFNJUCBy
ZXF1ZXN0cyBbSS1ELmlldGYtc29jLW92ZXJsb2FkLWNvbnRyb2xdLiAgVGhlc2UgdXBzdHJlYW0K
ICAgc2VydmVycyB0aGVuIGRyb3Agb3IgZGVsYXkgaW5jb21pbmcgU0lQIHJlcXVlc3RzLiAgRmVl
ZGJhY2sgY29udHJvbAogICBpcyByZWFjdGl2ZSBhbmQgYWZmZWN0cyBzaWduYWxpbmcgbWVzc2Fn
ZXMgdGhhdCBoYXZlIGFscmVhZHkgYmVlbgogICBpc3N1ZWQgYnkgdXNlciBhZ2VudCBjbGllbnRz
LiAgVGhleSB3b3JrIHdlbGwgd2hlbiBTSVAgcHJveHkgc2VydmVycwogICBpbiB0aGUgY29yZSBu
ZXR3b3JrcyAoY29yZSBwcm94eSBzZXJ2ZXJzKSBvciBkZXN0aW5hdGlvbi1zcGVjaWZpYyBTSVAK
ICAgcHJveHkgc2VydmVycyBpbiB0aGUgZWRnZSBuZXR3b3JrcyAoZWRnZSBwcm94eSBzZXJ2ZXJz
KSBhcmUKICAgb3ZlcmxvYWRlZC4gIEJ5IHRoZWlyIG5hdHVyZSwgdGhleSBuZWVkIHRvIGRpc3Ry
aWJ1dGUgcmF0ZSwgZHJvcCBvcgogICB3aW5kb3cgaW5mb3JtYXRpb24gdG8gYWxsIHVwc3RyZWFt
IFNJUCBwcm94eSBzZXJ2ZXJzIGFuZCBub3JtYWxseQogICBhZmZlY3QgYWxsIGNhbGxzIGVxdWFs
bHksIHJlZ2FyZGxlc3Mgb2YgZGVzdGluYXRpb24uICBGb3IgZXhhbXBsZSwgaW4KICAgdGhlIHRp
Y2tldCBnaXZlYXdheSBjYXNlLCBhbG1vc3QgYWxsIGNhbGxzIHRvIHRoZSBob3RsaW5lIHdpbGwg
ZmFpbAogICBhdCB0aGUgY29yZSBwcm94eSBzZXJ2ZXJzOyBpZiB0aGUgZWRnZSBwcm94eSBzZXJ2
ZXJzIGxlYWRpbmcgdG8gdGhlCiAgIGNvcmUgcHJveHkgc2VydmVycyBhcmUgYWxzbyBvdmVybG9h
ZGVkLCBjYWxscyB0byBvdGhlciBkZXN0aW5hdGlvbnMKICAgd2lsbCBhbHNvIGJlIHJlamVjdGVk
IG9yIGRyb3BwZWQuCgogICBIZXJlLCB3ZSBwcm9wb3NlIGFuIGFkZGl0aW9uYWwsIGNvbXBsZW1l
bnRhcnkgbG9hZCBjb250cm9sIG1lY2hhbmlzbSwKICAgY2FsbGVkIGxvYWQgZmlsdGVyaW5nLiAg
TmV0d29yayBvcGVyYXRvcnMgY3JlYXRlIGxvYWQgZmlsdGVyaW5nCiAgIHBvbGljaWVzIHRoYXQg
aW5kaWNhdGUgY2FsbHMgdG8gc3BlY2lmaWMgZGVzdGluYXRpb25zIG9yIGZyb20KCgoKU2hlbiwg
ZXQgYWwuICAgICAgICAgICAgICBFeHBpcmVzIE1heSAwMywgMjAxNCAgICAgICAgICAgICAgICAg
IFtQYWdlIDNdCgwKSW50ZXJuZXQtRHJhZnQgICAgICAgU0lQIExvYWQgQ29udHJvbCBFdmVudCBQ
YWNrYWdlICAgICAgICAgT2N0b2JlciAyMDEzCgoKICAgc3BlY2lmaWMgc291cmNlcyBzaG91bGQg
YmUgcmF0ZS1saW1pdGVkIG9yIHJhbmRvbWx5IGRyb3BwZWQuICBUaGVzZQogICBsb2FkIGZpbHRl
cmluZyBwb2xpY2llcyBhcmUgdGhlbiBkaXN0cmlidXRlZCB0byBTSVAgc2VydmVycyBhbmQKICAg
cG9zc2libHkgU0lQIHVzZXIgYWdlbnRzIHRoYXQgYXJlIGxpa2VseSB0byBnZW5lcmF0ZSBjYWxs
cyB0byB0aGUKICAgYWZmZWN0ZWQgZGVzdGluYXRpb25zIG9yIGZyb20gdGhlIGFmZmVjdGVkIHNv
dXJjZXMuICBMb2FkIGZpbHRlcmluZwogICB3b3JrcyBiZXN0IGlmIGl0IHByZXZlbnRzIGNhbGxz
IGFzIGNsb3NlIHRvIHRoZSBvcmlnaW5hdGluZyB1c2VyCiAgIGFnZW50IGNsaWVudHMgYXMgcG9z
c2libGUuCgogICBUaGUgbG9hZCBmaWx0ZXJpbmcgYXBwcm9hY2ggaXMgbW9zdCBhcHBsaWNhYmxl
IGZvciBzaXR1YXRpb25zIHdoZXJlIGEKICAgdHJhZmZpYyBzdXJnZSBhbmQgaXRzIHNvdXJjZS9k
ZXN0aW5hdGlvbiBkaXN0cmlidXRpb24gY2FuIGJlCiAgIHByZWRpY3RlZCBpbiBhZHZhbmNlLiAg
Rm9yIGluc3RhbmNlLCBpdCBpcyBhcHByb3ByaWF0ZSBmb3IgYSBtYXNzLQogICBwaG9uZS12b3Rp
bmcgZXZlbnQsIE1vdGhlcidzIERheSwgTmV3IFllYXIncyBEYXksIGFuZCBldmVuIGEKICAgaHVy
cmljYW5lLiAgSG93ZXZlciwgaXQgaXMgbGVzcyBsaWtlbHkgdG8gYmUgZWZmZWN0aXZlIGZvciB0
aGUKICAgaW5pdGlhbCBwaGFzZSBvZiB1bnByZWRpY3RlZC91bnByZWRpY3RhYmxlIG1hc3MgY2Fs
bGluZyBldmVudHMsIHN1Y2gKICAgYXMgZWFydGhxdWFrZXMgb3IgdGVycm9yaXN0IGF0dGFja3Mu
ICBJbiB0aGVzZSBsYXR0ZXIgY2FzZXMsIHRoZQogICBsb2NhbCB0cmFmZmljIGxvYWQgbWF5IHBl
YWsgYnkgbW9yZSB0aGFuIGFuIG9yZGVyIG9mIG1hZ25pdHVkZSBpbgogICBtaW51dGVzLCBpZiBu
b3Qgc2Vjb25kcy4gIFRoaXMgZG9lcyBub3QgYWxsb3cgdGltZSB0byBlaXRoZXIKICAgZWZmZWN0
aXZlbHkgaWRlbnRpZnkgdGhlIGxvYWQgZmlsdGVyaW5nIHBvbGljaWVzIG5lZWRlZCwgbm9yCiAg
IGRpc3RyaWJ1dGUgdGhlbSB0byB0aGUgYXBwcm9wcmlhdGUgc2VydmVycyBzb29uIGVub3VnaCB0
byBwcmV2ZW50CiAgIHNlcnZlciBjb25nZXN0aW9uLiAgT25jZSBvdGhlciwgbW9yZSBpbW1lZGlh
dGUsIHRlY2huaXF1ZXMgKHN1Y2ggYXMKICAgdGhlIGxvc3MtYmFzZWQgb3IgcmF0ZS1iYXNlZCBs
b2FkIGZlZWRiYWNrIGNvbnRyb2wgbWV0aG9kcykgaGF2ZQogICBwcmV2ZW50ZWQgdGhlIGluaXRp
YWwgY29uZ2VzdGlvbiBjb2xsYXBzZSwgdGhlIGxvYWQgZmlsdGVyaW5nCiAgIGFwcHJvYWNoIGNh
biBiZSB1c2VkIHRvIGVmZmVjdGl2ZWx5IGNvbnRyb2wgdGhlIGNvbnRpbnVpbmcgb3ZlcmxvYWQu
CgogICBQZXJmb3JtaW5nIFNJUCBsb2FkIGZpbHRlcmluZyBpbnZvbHZlcyB0aGUgZm9sbG93aW5n
IGNvbXBvbmVudHMgb2YKICAgbG9hZCBmaWx0ZXJpbmcgcG9saWNpZXM6IGZvcm1hdCBkZWZpbml0
aW9uLCBjb21wdXRhdGlvbiwgZGlzdHJpYnV0aW9uCiAgIGFuZCBlbmZvcmNlbWVudC4gIFRoaXMg
c3BlY2lmaWNhdGlvbiBkZWZpbmVzIHRoZSBsb2FkIGZpbHRlcmluZwogICBwb2xpY3ksIGRpc3Ry
aWJ1dGlvbiBhbmQgZW5mb3JjZW1lbnQgaW4gdGhlIFNJUCBsb2FkIGNvbnRyb2wgZXZlbnQKICAg
cGFja2FnZSBidWlsdCB1cG9uIGV4aXN0aW5nIFNJUCBldmVudCBub3RpZmljYXRpb24gZnJhbWV3
b3JrLgogICBIb3dldmVyLCBsb2FkIGZpbHRlcmluZyBwb2xpY3kgY29tcHV0YXRpb24gaXMgb3V0
IG9mIHNjb3BlIG9mIHRoaXMKICAgc3BlY2lmaWNhdGlvbiwgYmVjYXVzZSBpdCBkZXBlbmRzIGhl
YXZpbHkgb24gdGhlIGFjdHVhbCBuZXR3b3JrCiAgIHRvcG9sb2d5IGFuZCBvdGhlciBzZXJ2aWNl
IHByb3ZpZGVyIHBvbGljaWVzLgoKICAgSXQgc2hvdWxkIGJlIG5vdGVkIHRoYXQgYWx0aG91Z2gg
dGhlIFNJUCBsb2FkIGZpbHRlcmluZyBtZWNoYW5pc20gaXMKICAgbW90aXZhdGVkIGJ5IHRoZSBT
SVAgb3ZlcmxvYWQgY29udHJvbCBwcm9ibGVtLCB3aGljaCBpcyB3aHkgdGhpcwogICBzcGVjaWZp
Y2F0aW9uIHJlZmVycyBleHRlbnNpdmVseSB0byBwYXJhbGxlbCBTSVAgb3ZlcmxvYWQgY29udHJv
bAogICByZWxhdGVkIGVmZm9ydHMsIHRoZSBhcHBsaWNhYmlsaXR5IG9mIFNJUCBsb2FkIGZpbHRl
cmluZyBleHRlbmRzCiAgIGJleW9uZCB0aGUgb3ZlcmxvYWQgY29udHJvbCBwdXJwb3NlLiAgRm9y
IGV4YW1wbGUsIGl0IGNhbiBhbHNvIGJlCiAgIHVzZWQgdG8gaW1wbGVtZW50IHF1YWxpdHkgb2Yg
c2VydmljZSBvciBvdGhlciBzZXJ2aWNlIGxldmVsIGFncmVlbWVudAogICBjb21taXRtZW50cy4g
IFRoZXJlZm9yZSwgd2UgdXNlIHRoZSB0ZXJtICJsb2FkIGNvbnRyb2wgZXZlbnQKICAgcGFja2Fn
ZSIsIGluc3RlYWQgb2YgYSBuYXJyb3dlciB0ZXJtICJvdmVybG9hZCBjb250cm9sIGV2ZW50CiAg
IHBhY2thZ2UiLgoKICAgVGhlIHJlc3Qgb2YgdGhpcyBzcGVjaWZpY2F0aW9uIGlzIHN0cnVjdHVy
ZWQgYXMgZm9sbG93czogd2UgYmVnaW4gYnkKICAgbGlzdGluZyB0aGUgZGVzaWduIHJlcXVpcmVt
ZW50cyBmb3IgdGhpcyB3b3JrIGluIFNlY3Rpb24gNC4gIFdlIHRoZW4KICAgZ2l2ZSBhbiBvdmVy
dmlldyBvZiBsb2FkIGZpbHRlcmluZyBvcGVyYXRpb24gaW4gU2VjdGlvbiA1LiAgVGhlIGxvYWQK
ICAgY29udHJvbCBldmVudCBwYWNrYWdlIGZvciBsb2FkIGZpbHRlcmluZyBwb2xpY3kgZGlzdHJp
YnV0aW9uIGlzCiAgIGRldGFpbGVkIGluIFNlY3Rpb24gNi4gIFRoZSBsb2FkIGZpbHRlcmluZyBw
b2xpY3kgZm9ybWF0IGlzIGRlZmluZWQKICAgaW4gdGhlIHR3byBzZWN0aW9ucyB0aGF0IGZvbGxv
dywgd2l0aCBTZWN0aW9uIDcgaW50cm9kdWNpbmcgdGhlIFhNTAoKCgpTaGVuLCBldCBhbC4gICAg
ICAgICAgICAgIEV4cGlyZXMgTWF5IDAzLCAyMDE0ICAgICAgICAgICAgICAgICAgW1BhZ2UgNF0K
DApJbnRlcm5ldC1EcmFmdCAgICAgICBTSVAgTG9hZCBDb250cm9sIEV2ZW50IFBhY2thZ2UgICAg
ICAgICBPY3RvYmVyIDIwMTMKCgogICBkb2N1bWVudCBmb3IgbG9hZCBmaWx0ZXJpbmcgcG9saWNp
ZXMgYW5kIFNlY3Rpb24gOCBsaXN0aW5nIHRoZQogICBhc3NvY2lhdGVkIHNjaGVtYS4gIFNlY3Rp
b24gOSByZWxhdGVzIHRoaXMgd29yayB0byBjb3JyZXNwb25kaW5nCiAgIG1lY2hhbmlzbXMgaW4g
UFNUTiBhbmQgb3RoZXIgSUVURiBlZmZvcnRzIGFkZHJlc3NpbmcgU0lQIG92ZXJsb2FkCiAgIGNv
bnRyb2wuICBTZWN0aW9uIDEwIGV2YWx1YXRlcyB3aGV0aGVyIHRoaXMgc3BlY2lmaWNhdGlvbiBt
ZWV0cyB0aGUKICAgU0lQIG92ZXJsb2FkIGNvbnRyb2wgcmVxdWlyZW1lbnRzIHNldCBmb3J0aCBi
eSBSRkM1MzkwIFtSRkM1MzkwXS4KICAgRmluYWxseSwgU2VjdGlvbiAxMSBwcmVzZW50cyBzZWN1
cml0eSBjb25zaWRlcmF0aW9ucyBhbmQgU2VjdGlvbiAxMgogICBwcm92aWRlcyBJQU5BIGNvbnNp
ZGVyYXRpb25zLgoKMi4gIENvbnZlbnRpb25zCgogICBUaGUga2V5IHdvcmRzICJNVVNUIiwgIk1V
U1QgTk9UIiwgIlJFUVVJUkVEIiwgIlNIQUxMIiwgIlNIQUxMIE5PVCIsCiAgICJTSE9VTEQiLCAi
U0hPVUxEIE5PVCIsICJSRUNPTU1FTkRFRCIsICJNQVkiLCBhbmQgIk9QVElPTkFMIiBpbiB0aGlz
CiAgIGRvY3VtZW50IGFyZSB0byBiZSBpbnRlcnByZXRlZCBhcyBkZXNjcmliZWQgaW4gW1JGQzIx
MTldLgoKMy4gIERlZmluaXRpb25zCgogICBUaGlzIHNwZWNpZmljYXRpb24gcmV1c2VzIHRoZSBk
ZWZpbml0aW9ucyBmb3IgIkV2ZW50IFBhY2thZ2UiLAogICAiTm90aWZpY2F0aW9uIiwgIk5vdGlm
aWVyIiwgIlN1YnNjcmliZXIiLCAiU3Vic2NyaXB0aW9uIiBhcyBpbgogICBbUkZDNjY2NV0uICBU
aGUgZm9sbG93aW5nIGFkZGl0aW9uYWwgZGVmaW5pdGlvbnMgYXJlIGFsc28gdXNlZC4KCiAgIExv
YWQgRmlsdGVyaW5nOiAgQSBsb2FkIGNvbnRyb2wgbWVjaGFuaXNtIHdoaWNoIGFwcGxpZXMgc3Bl
Y2lmaWMKICAgICAgYWN0aW9ucyB0byBzZWxlY3RlZCBsb2FkcyAoZS5nLiwgU0lQIHJlcXVlc3Rz
KSBtYXRjaGluZyBzcGVjaWZpYwogICAgICBjb25kaXRpb25zLgoKICAgTG9hZCBGaWx0ZXJpbmcg
UG9saWN5OiAgQSBzZXQgb2YgemVybyBvciBtb3JlIGxvYWQgZmlsdGVyaW5nIHJ1bGVzLAogICAg
ICBhbHNvIGtub3duIGFzIGxvYWQgZmlsdGVyaW5nIHJ1bGUgc2V0LgoKICAgTG9hZCBGaWx0ZXJp
bmcgUnVsZTogIENvbmRpdGlvbnMgYW5kIGFjdGlvbnMgdG8gYmUgYXBwbGllZCBmb3IgbG9hZAog
ICAgICBmaWx0ZXJpbmcuCgogICBMb2FkIEZpbHRlcmluZyBDb25kaXRpb246ICBFbGVtZW50cyB0
aGF0IGRlc2NyaWJlIGhvdyB0byBzZWxlY3QgbG9hZHMKICAgICAgdG8gYXBwbHkgbG9hZCBmaWx0
ZXJpbmcgYWN0aW9ucy4gIFRoaXMgc3BlY2lmaWNhdGlvbiBkZWZpbmVzIHRoZQogICAgICAiY2Fs
bCBpZGVudGl0eSIsICJtZXRob2QiLCAidGFyZ2V0IFNJUCBpZGVudGl0eSIsIGFuZCAidmFsaWRp
dHkiCiAgICAgIGNvbmRpdGlvbiBlbGVtZW50cyAoU2VjdGlvbiA3LjMpLgoKICAgTG9hZCBGaWx0
ZXJpbmcgQWN0aW9uOiAgQW4gb3BlcmF0aW9uIHRvIGJlIHRha2VuIGJ5IGEgbG9hZCBmaWx0ZXJp
bmcKICAgICAgc2VydmVyIG9uIGxvYWRzIHRoYXQgbWF0Y2ggdGhlIGxvYWQgZmlsdGVyaW5nIGNv
bmRpdGlvbnMuICBUaGlzCiAgICAgIHNwZWNpZmljYXRpb24gYWxsb3dzIGFjdGlvbnMgc3VjaCBh
cyBhY2NlcHQsIHJlamVjdCBhbmQgcmVkaXJlY3QKICAgICAgb2YgbG9hZHMgKFNlY3Rpb24gNy40
KS4KCiAgIExvYWQgRmlsdGVyaW5nIFNlcnZlcjogIEEgc2VydmVyIHdoaWNoIHBlcmZvcm1zIGxv
YWQgZmlsdGVyaW5nLiAgSW4KICAgICAgdGhlIGNvbnRleHQgb2YgdGhpcyBzcGVjaWZpY2F0aW9u
LCB0aGUgbG9hZCBmaWx0ZXJpbmcgc2VydmVyIGlzCiAgICAgIHRoZSBzdWJzY3JpYmVyLCB3aGlj
aCByZWNlaXZlcyBsb2FkIGZpbHRlcmluZyBwb2xpY2llcyBmcm9tIHRoZQogICAgICBub3RpZmll
ciBhbmQgZW5mb3JjZXMgdGhvc2UgcG9saWNpZXMgZHVyaW5nIGxvYWQgZmlsdGVyaW5nLgoKICAg
TG9hZCBDb250cm9sIERvY3VtZW50OiAgQW4gWE1MIGRvY3VtZW50IHRoYXQgZGVzY3JpYmVzIHRo
ZSBsb2FkCiAgICAgIGZpbHRlcmluZyBwb2xpY2llcyAoU2VjdGlvbiA3KS4gIEl0IGluaGVyaXRz
IGFuZCBlbmhhbmNlcyB0aGUKICAgICAgY29tbW9uIHBvbGljeSBkb2N1bWVudCBkZWZpbmVkIGlu
IFtSRkM0NzQ1XS4KCgoKU2hlbiwgZXQgYWwuICAgICAgICAgICAgICBFeHBpcmVzIE1heSAwMywg
MjAxNCAgICAgICAgICAgICAgICAgIFtQYWdlIDVdCgwKSW50ZXJuZXQtRHJhZnQgICAgICAgU0lQ
IExvYWQgQ29udHJvbCBFdmVudCBQYWNrYWdlICAgICAgICAgT2N0b2JlciAyMDEzCgoKNC4gIERl
c2lnbiBSZXF1aXJlbWVudHMKCiAgIFRoZSBTSVAgbG9hZCBmaWx0ZXJpbmcgbWVjaGFuaXNtIG5l
ZWRzIHRvIHNhdGlzZnkgdGhlIGZvbGxvd2luZwogICByZXF1aXJlbWVudHM6CgogICBvICBUbyBz
aW1wbGlmeSB0aGUgc29sdXRpb24sIHdlIGZvY3VzIG9uIGEgbWV0aG9kIGZvciBjb250cm9sbGlu
ZyBTSVAKICAgICAgbG9hZCwgcmF0aGVyIHRoYW4gYSBnZW5lcmljIGFwcGxpY2F0aW9uLWxheWVy
IG1lY2hhbmlzbS4KCiAgIG8gIFRoZSBsb2FkIGZpbHRlcmluZyBwb2xpY3kgbmVlZHMgdG8gYmUg
ZGlzdHJpYnV0ZWQgZWZmaWNpZW50bHkgdG8KICAgICAgcG9zc2libHkgYSBsYXJnZSBzdWJzZXQg
b2YgYWxsIFNJUCBlbGVtZW50cy4KCiAgIG8gIFRoZSBzb2x1dGlvbiBzaG91bGQgcmUtdXNlIGV4
aXN0aW5nIFNJUCBwcm90b2NvbCBtZWNoYW5pc21zIHRvCiAgICAgIHJlZHVjZSBpbXBsZW1lbnRh
dGlvbiBhbmQgZGVwbG95bWVudCBjb21wbGV4aXR5LgoKICAgbyAgRm9yIHByZWRpY3RhYmxlIG92
ZXJsb2FkIHNpdHVhdGlvbnMsIHN1Y2ggYXMgaG9saWRheXMgYW5kIG1hc3MKICAgICAgY2FsbGlu
ZyBldmVudHMsIHRoZSBsb2FkIGZpbHRlcmluZyBwb2xpY3kgc2hvdWxkIHNwZWNpZnkgZHVyaW5n
CiAgICAgIHdoYXQgdGltZSBpdCBpcyB0byBiZSBhcHBsaWVkLCBzbyB0aGF0IHRoZSBpbmZvcm1h
dGlvbiBjYW4gYmUKICAgICAgZGlzdHJpYnV0ZWQgYWhlYWQgb2YgdGltZS4KCiAgIG8gIEZvciBk
ZXN0aW5hdGlvbi1zcGVjaWZpYyBvdmVybG9hZCBzaXR1YXRpb25zLCB0aGUgbG9hZCBmaWx0ZXJp
bmcKICAgICAgcG9saWN5IHNob3VsZCBiZSBhYmxlIHRvIGRlc2NyaWJlIHRoZSBkZXN0aW5hdGlv
biBkb21haW4gb3IgdGhlCiAgICAgIGNhbGxlZS4KCiAgIG8gIFRvIGFkZHJlc3MgYWNjaWRlbnRh
bCBhbmQgaW50ZW50aW9uYWwgaGlnaC12b2x1bWUgY2FsbCBnZW5lcmF0b3JzLAogICAgICB0aGUg
bG9hZCBmaWx0ZXJpbmcgcG9saWN5IHNob3VsZCBiZSBhYmxlIHRvIHNwZWNpZnkgdGhlIGNhbGxl
ci4KCiAgIG8gIENhbGxlciBhbmQgY2FsbGVlIG5lZWQgdG8gYmUgc3BlY2lmaWVkIGFzIGJvdGgg
U0lQIFVSSXMgYW5kICd0ZWwnCiAgICAgIFVSSXMgW1JGQzM5NjZdIGluIGxvYWQgZmlsdGVyaW5n
IHBvbGljaWVzLgoKICAgbyAgSXQgc2hvdWxkIGJlIHBvc3NpYmxlIHRvIHNwZWNpZnkgcGFydGlj
dWxhciBpbmZvcm1hdGlvbiBpbiB0aGUgU0lQCiAgICAgIGhlYWRlcnMgKGUuZy4sIHByZWZpeGVz
IGluIHRlbGVwaG9uZSBudW1iZXJzKSB3aGljaCBhbGxvdyBsb2FkCiAgICAgIGZpbHRlcmluZyBv
dmVyIGxpbWl0ZWQgcmVnaW9uYWxseS1mb2N1c2VkIG92ZXJsb2Fkcy4KCiAgIG8gIFRoZSBzb2x1
dGlvbiBzaG91bGQgZHJhdyB1cG9uIGV4cGVyaWVuY2VzIGZyb20gcmVsYXRlZCBQU1ROCiAgICAg
IG1lY2hhbmlzbXMgd2hlcmUgYXBwbGljYWJsZS4KCiAgIG8gIFRoZSBzb2x1dGlvbiBzaG91bGQg
YmUgZXh0ZW5zaWJsZSB0byBtZWV0IGZ1dHVyZSBuZWVkcy4KCjUuICBTSVAgTG9hZCBGaWx0ZXJp
bmcgT3ZlcnZpZXcKCjUuMS4gIExvYWQgRmlsdGVyaW5nIFBvbGljeSBGb3JtYXQKCiAgIExvYWQg
ZmlsdGVyaW5nIHBvbGljaWVzIGFyZSBzcGVjaWZpZWQgYnkgc2V0cyBvZiBydWxlcy4gIEVhY2gg
cnVsZQogICBjb250YWlucyBib3RoIGxvYWQgZmlsdGVyaW5nIGNvbmRpdGlvbnMgYW5kIGFjdGlv
bnMuICBUaGUgbG9hZAogICBmaWx0ZXJpbmcgY29uZGl0aW9ucyBkZWZpbmUgaWRlbnRpdGllcyBv
ZiB0aGUgdGFyZ2V0cyB0byBiZQogICBmaWx0ZXJlZChTZWN0aW9uIDcuMy4xKS4gIEZvciBleGFt
cGxlLCB0aGVyZSBhcmUgdHdvIHR5cGljYWwgcmVzb3VyY2UKICAgbGltaXRzIGluIGEgcG9zc2li
bGUgb3ZlcmxvYWQgc2l0dWF0aW9uLCBpLmUuLCBodW1hbiBkZXN0aW5hdGlvbgogICBsaW1pdHMg
KE4gbnVtYmVyIG9mIGNhbGwgdGFrZXJzKSBhbmQgbm9kZSBjYXBhY2l0eSBsaW1pdHMuICBUaGUg
bG9hZAoKCgpTaGVuLCBldCBhbC4gICAgICAgICAgICAgIEV4cGlyZXMgTWF5IDAzLCAyMDE0ICAg
ICAgICAgICAgICAgICAgW1BhZ2UgNl0KDApJbnRlcm5ldC1EcmFmdCAgICAgICBTSVAgTG9hZCBD
b250cm9sIEV2ZW50IFBhY2thZ2UgICAgICAgICBPY3RvYmVyIDIwMTMKCgogICBmaWx0ZXJpbmcg
dGFyZ2V0cyBpbiB0aGVzZSB0d28gY2FzZXMgY2FuIGJlIHRoZSBzcGVjaWZpYyBjYWxsZWUKICAg
bnVtYmVycyBvciB0aGUgZGVzdGluYXRpb24gZG9tYWluIGNvcnJlc3BvbmRpbmcgdG8gdGhlIG92
ZXJsb2FkLgogICBMb2FkIGZpbHRlcmluZyBjb25kaXRpb25zIGFsc28gaW5kaWNhdGUgdGhlIHNw
ZWNpZmljIG1lc3NhZ2UgdHlwZSB0bwogICBiZSBtYXRjaGVkIChTZWN0aW9uIDcuMy4yKSwgd2l0
aCB3aGljaCB0YXJnZXQgU0lQIGVudGl0eSB0aGUKICAgZmlsdGVyaW5nIHBvbGljeSBpcyBhc3Nv
Y2lhdGVkIChTZWN0aW9uIDcuMy4zKSBhbmQgdGhlIHBlcmlvZCBvZiB0aW1lCiAgIHdoZW4gdGhl
IGZpbHRlcmluZyBwb2xpY3kgc2hvdWxkIGJlIGFjdGl2YXRlZCBhbmQgZGVhY3RpdmF0ZWQKICAg
KFNlY3Rpb24gNy4zLjQpLiAgTG9hZCBmaWx0ZXJpbmcgYWN0aW9ucyBkZXNjcmliZSB0aGUgZGVz
aXJlZCBjb250cm9sCiAgIGZ1bmN0aW9ucyBzdWNoIGFzIGxpbWl0aW5nIHRoZSByZXF1ZXN0IHJh
dGUgYmVsb3cgYSBjZXJ0YWluIGxldmVsCiAgIChTZWN0aW9uIDcuNCkuCgo1LjIuICBMb2FkIEZp
bHRlcmluZyBQb2xpY3kgQ29tcHV0YXRpb24KCiAgIENvbXB1dGluZyB0aGUgbG9hZCBmaWx0ZXJp
bmcgcG9saWNpZXMgbmVlZHMgdG8gdGFrZSBpbnRvCiAgIGNvbnNpZGVyYXRpb24gaW5mb3JtYXRp
b24gc3VjaCBhcyBvdmVybG9hZCB0aW1lLCBzY29wZSBhbmQgbmV0d29yawogICB0b3BvbG9neSwg
YXMgd2VsbCBhcyBzZXJ2aWNlIHBvbGljaWVzLiAgSXQgaXMgYWxzbyBpbXBvcnRhbnQgdG8gbWFr
ZQogICBzdXJlIHRoYXQgdGhlcmUgaXMgbm8gcmVzb3VyY2UgYWxsb2NhdGlvbiBsb29wLCBhbmQg
dGhhdCBzZXJ2ZXIKICAgY2FwYWNpdHkgaXMgYWxsb2NhdGVkIGluIGEgd2F5IHdoaWNoIGJvdGgg
cHJldmVudHMgb3ZlcmxvYWQgYW5kCiAgIG1heGltaXplcyBlZmZlY3RpdmUgdGhyb3VnaHB1dCAo
YWthIGdvb2RwdXQpLiAgSW4gc29tZSBjYXNlcywgaW4KICAgb3JkZXIgdG8gYmV0dGVyIHV0aWxp
emUgc3lzdGVtIHJlc291cmNlcywgaXQgbWF5IGJlIHByZWZlcmFibGUgdG8KICAgZW1wbG95IGFu
IGFsZ29yaXRobSB3aGljaCBkeW5hbWljYWxseSBjb21wdXRlcyB0aGUgbG9hZCBmaWx0ZXJpbmcK
ICAgcG9saWNpZXMgYmFzZWQgb24gY3VycmVudGx5IG9ic2VydmVkIHNlcnZlciBsb2FkIHN0YXR1
cywgcmF0aGVyIHRoYW4KICAgdXNpbmcgYSBwdXJlbHkgc3RhdGljIGZpbHRlcmluZyBwb2xpY3kg
YXNzaWdubWVudC4gIFRoZSBjb21wdXRhdGlvbgogICBhbGdvcml0aG0gZm9yIGxvYWQgZmlsdGVy
aW5nIHBvbGljaWVzIGlzIG91dCBvZiBzY29wZSBvZiB0aGlzCiAgIHNwZWNpZmljYXRpb24uCgo1
LjMuICBMb2FkIEZpbHRlcmluZyBQb2xpY3kgRGlzdHJpYnV0aW9uCgogICBGb3IgbG9hZCBmaWx0
ZXJpbmcgcG9saWN5IGRpc3RyaWJ1dGlvbiwgdGhpcyBzcGVjaWZpY2F0aW9uIGRlZmluZXMKICAg
dGhlIFNJUCBldmVudCBwYWNrYWdlIGZvciBsb2FkIGNvbnRyb2wsIHdoaWNoIGlzIGFuICJpbnN0
YW50aWF0aW9uIgogICBvZiB0aGUgZ2VuZXJpYyBTSVAgZXZlbnQgbm90aWZpY2F0aW9uIGZyYW1l
d29yayBbUkZDNjY2NV0uICBUaGUgU0lQCiAgIGV2ZW50IG5vdGlmaWNhdGlvbiBmcmFtZXdvcmsg
cHJvdmlkZXMgYW4gZXhpc3RpbmcgbWV0aG9kIGZvciBTSVAKICAgZW50aXRpZXMgdG8gc3Vic2Ny
aWJlIHRvIGFuZCByZWNlaXZlIG5vdGlmaWNhdGlvbnMgd2hlbiBjZXJ0YWluCiAgIGV2ZW50cyBv
Y2N1ci4gIFN1Y2ggYSBmcmFtZXdvcmsgZm9ybXMgYSBzY2FsYWJsZSBldmVudCBkaXN0cmlidXRp
b24KICAgYXJjaGl0ZWN0dXJlIHRoYXQgc3VpdHMgb3VyIG5lZWRzLiAgVGhpcyBzcGVjaWZpY2F0
aW9uIGFsc28gZGVmaW5lcwogICBYTUwgc2NoZW1hIG9mIGEgbG9hZCBjb250cm9sIGRvY3VtZW50
IChTZWN0aW9uIDcpLCB3aGljaCBpcyB1c2VkIHRvCiAgIGVuY29kZSBsb2FkIGZpbHRlcmluZyBw
b2xpY2llcy4KCiAgIEluIG9yZGVyIGZvciBsb2FkIGZpbHRlcmluZyBwb2xpY2llcyB0byBiZSBw
cm9wZXJseSBkaXN0cmlidXRlZCwgZWFjaAogICBjYXBhYmxlIFNJUCBlbnRpdHkgaW4gdGhlIG5l
dHdvcmsgU0hPVUxEIHN1YnNjcmliZSB0byB0aGUgU0lQIGxvYWQKICAgY29udHJvbCBldmVudCBw
YWNrYWdlIGZyb20gYWxsIGl0cyBvdXRnb2luZyBzaWduYWxpbmcgbmVpZ2hib3JzLAogICBrbm93
biBhcyBub3RpZmllcnMgKFNlY3Rpb24gNi42KS4gIFN1YnNjcmlwdGlvbiBpcyBpbml0aWF0ZWQg
YW5kCiAgIG1haW50YWluZWQgZHVyaW5nIG5vcm1hbCBzZXJ2ZXIgb3BlcmF0aW9uLiAgU2lnbmFs
aW5nIG5laWdoYm9ycyBhcmUKICAgZGlzY292ZXJlZCBieSBzZW5kaW5nIHNpZ25hbGluZyBtZXNz
YWdlcy4gIEZvciBpbnN0YW5jZSwgaWYgQSBzZW5kcwogICBzaWduYWxpbmcgcmVxdWVzdHMgdG8g
QiwgQiBpcyBhbiBvdXRnb2luZyBzaWduYWxpbmcgbmVpZ2hib3Igb2YgQS4gQQogICBuZWVkcyB0
byBzdWJzY3JpYmUgdG8gdGhlIGxvYWQgY29udHJvbCBldmVudCBwYWNrYWdlIG9mIEIgaW4gY2Fz
ZSBCCiAgIHdhbnRzIHRvIGN1cmIgcmVxdWVzdHMgZnJvbSBBLiBPbiB0aGUgb3RoZXIgaGFuZCwg
aWYgQiBhbHNvIHNlbmRzCiAgIHNpZ25hbGluZyByZXF1ZXN0cyB0byBBLCB0aGVuIEIgYWxzbyBu
ZWVkcyB0byBzdWJzY3JpYmUgdG8gQS4gVGhlCiAgIHN1YnNjcmlwdGlvbiBvZiBuZWlnaGJvcmlu
ZyBTSVAgZW50aXRpZXMgbmVlZHMgdG8gYmUgcGVyc2lzdGVudCBzbwoKCgpTaGVuLCBldCBhbC4g
ICAgICAgICAgICAgIEV4cGlyZXMgTWF5IDAzLCAyMDE0ICAgICAgICAgICAgICAgICAgW1BhZ2Ug
N10KDApJbnRlcm5ldC1EcmFmdCAgICAgICBTSVAgTG9hZCBDb250cm9sIEV2ZW50IFBhY2thZ2Ug
ICAgICAgICBPY3RvYmVyIDIwMTMKCgogICB0aGF0IGl0IGlzIGluIHBsYWNlIGluZGVwZW5kZW50
bHkgb2YgYW55IHNwZWNpZmljIGV2ZW50cyByZXF1aXJpbmcKICAgbG9hZCBmaWx0ZXJpbmcuICBL
ZXkgdG8gdGhpcyBpcyB0aGUgZmFjdCB0aGF0IGZvbGxvd2luZyBpbml0aWFsCiAgIHN1YnNjcmlw
dGlvbiwgdGhlIG5vdGlmaWVyIHNlbmRzIGEgbm90aWZpY2F0aW9uIHdpdGhvdXQgYSBib2R5IGlm
IG5vCiAgIGxvYWQgZmlsdGVyaW5nIHBvbGljeSBpcyBkZWZpbmVkIChTZWN0aW9uIDYuNyksIGFu
ZCB0aGF0IHRoZQogICBzdWJzY3JpcHRpb24gbmVlZHMgdG8gYmUgcmVmcmVzaGVkIHBlcmlvZGlj
YWxseSB0byBtYWtlIGl0CiAgIHBlcnNpc3RlbnQsIGFzIGRlc2NyaWJlZCBpbiBTZWN0aW9uIDQu
MSBhbmQgU2VjdGlvbiA0LjIgb2YgW1JGQzY2NjVdLgogICBUaGUgbm90aWZpZXIgd2lsbCBzZW5k
IGEgbm90aWZpY2F0aW9uIHRvIGl0cyBzdWJzY3JpYmVycyBlYWNoIHRpbWUgYQogICBuZXcgc3Vi
c2NyaXB0aW9uIG9yIGEgc3Vic2NyaXB0aW9uIHJlZnJlc2ggaXMgYWNjZXB0ZWQgKFNlY3Rpb24g
Ni43KS4KICAgVGhlIG5vdGlmaWNhdGlvbiByZXF1ZXN0IGluY2x1ZGVzIGluIGl0cyBib2R5IHRo
ZSBjdXJyZW50IGxvYWQKICAgZmlsdGVyaW5nIHBvbGljaWVzIChTZWN0aW9uIDcuMSkgZnJvbSB0
aGUgbm90aWZpZXIuICBJZiBubyBzdWNoIGxvYWQKICAgZmlsdGVyaW5nIHBvbGljeSBleGlzdHMs
IHRoZSBub3RpZmljYXRpb24gcmVxdWVzdCBpcyBzZW50IHdpdGhvdXQgYQogICBib2R5LiAgVGhl
IHN1YnNjcmliZXJzIE1BWSB0ZXJtaW5hdGUgdGhlIHN1YnNjcmlwdGlvbiBpZiBpdCBubyBsb25n
ZXIKICAgY29uc2lkZXJzIHRoZSBub3RpZmllcnMgYXMgaXRzIHNpZ25hbGluZyBuZWlnaGJvciwg
ZS5nLiwgYWZ0ZXIgYW4KICAgZXh0ZW5kZWQgcGVyaW9kIG9mIGFic2VuY2Ugb2Ygc2lnbmFsaW5n
IG1lc3NhZ2UgZXhjaGFuZ2UuICBIb3dldmVyLAogICBpZiBhZnRlciB1bi1zdWJzY3JpYmluZywg
dGhlIHN1YnNjcmliZXIgZGV0ZXJtaW5lcyB0aGF0IHNpZ25hbGluZwogICB3aXRoIHRoZSBub3Rp
ZmllciBiZWNvbWVzIGFjdGl2ZSBhZ2FpbiwgaXQgTVVTVCBpbW1lZGlhdGVseSBzdWJzY3JpYmUK
ICAgdG8gdGhhdCBub3RpZmllciBhZ2Fpbi4KCiAgIFdlIHVzZSB0aGUgZXhhbXBsZSBhcmNoaXRl
Y3R1cmUgc2hvd24gaW4gRmlndXJlIDEgdG8gaWxsdXN0cmF0ZSBsb2FkCiAgIGZpbHRlcmluZyBw
b2xpY3kgZGlzdHJpYnV0aW9uIGJhc2VkIG9uIHRoZSBTSVAgbG9hZCBjb250cm9sIGV2ZW50CiAg
IHBhY2thZ2UgbWVjaGFuaXNtLiAgVGhpcyBzY2VuYXJpbyBjb25zaXN0cyBvZiB0d28gbmV0d29y
a3MgYmVsb25naW5nCiAgIHRvIFNlcnZpY2UgUHJvdmlkZXIgQSBhbmQgU2VydmljZSBQcm92aWRl
ciBCLCByZXNwZWN0aXZlbHkuICBFYWNoCiAgIHByb3ZpZGVyJ3MgbmV0d29yayBpcyBtYWRlIHVw
IG9mIHR3byBTSVAgY29yZSBwcm94eSBzZXJ2ZXJzIGFuZCBmb3VyCiAgIFNJUCBlZGdlIHByb3h5
IHNlcnZlcnMuICBUaGUgY29yZSBwcm94eSBzZXJ2ZXJzIGFuZCBlZGdlIHByb3h5CiAgIHNlcnZl
cnMgb2YgU2VydmljZSBQcm92aWRlciBBIGFyZSBkZW5vdGVkIGFzIENQYTEgdG8gQ1BhMiBhbmQg
RVBhMSB0bwogICBFUGE0OyB0aGUgY29yZSBwcm94eSBzZXJ2ZXJzIGFuZCBlZGdlIHByb3h5IHNl
cnZlcnMgb2YgU2VydmljZQogICBQcm92aWRlciBCIGFyZSBkZW5vdGVkIGFzIENQYjEgdG8gQ1Bi
MiBhbmQgRVBiMSB0byBFUGI0LgoKCiAgICAgICstLS0tLS0tLS0tLSsgICArLS0tLS0tLS0tLS0r
ICAgKy0tLS0tLS0tLS0tKyAgICstLS0tLS0tLS0tLSsKICAgICAgfCAgICAgICAgICAgfCAgIHwg
ICAgICAgICAgIHwgICB8ICAgICAgICAgICB8ICAgfCAgICAgICAgICAgfAogICAgICB8ICAgRVBh
MSAgICB8ICAgfCAgIEVQYTIgICAgfCAgIHwgICBFUGEzICAgIHwgICB8ICAgRVBhNCAgICB8CiAg
ICAgIHwgICAgICAgICAgIHwgICB8ICAgICAgICAgICB8ICAgfCAgICAgICAgICAgfCAgIHwgICAg
ICAgICAgIHwKICAgICAgKy0tLS0tLS0tLS0tKyAgICstLS0tLS0tLS0tLSsgICArLS0tLS0tLS0t
LS0rICAgKy0tLS0tLS0tLS0tKwogICAgICAgICAgICAgIFwgICAgICAgICAvICAgICAgICAgICAg
ICAgICAgICBcICAgICAgICAgIC8KICAgICAgICAgICAgICAgXCAgICAgICAvICAgICAgICAgICAg
ICAgICAgICAgIFwgICAgICAgIC8KICAgICAgICAgICAgICAgIFwgICAgIC8gICAgICAgICAgICAg
ICAgICAgICAgICBcICAgICAgLwogICAgICAgICAgICAgICstLS0tLS0tLS0tLSsgICAgICAgICAg
ICAgICAgICArLS0tLS0tLS0tLS0rCiAgICAgICAgICAgICAgfCAgICAgICAgICAgfCAgICAgICAg
ICAgICAgICAgIHwgICAgICAgICAgIHwKICAgICAgICAgICAgICB8ICAgQ1BhMSAgICB8LS0tLS0t
LS0tLS0tLS0tLS0tfCAgIENQYTIgICAgfAogICAgICAgICAgICAgIHwgICAgICAgICAgIHwgICAg
ICAgICAgICAgICAgICB8ICAgICAgICAgICB8CiAgICAgICAgICAgICAgKy0tLS0tLS0tLS0tKyAg
ICAgICAgICAgICAgICAgICstLS0tLS0tLS0tLSsKICAgICAgICAgICAgICAgICAgICB8ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgfAogICAgICBTZXJ2aWNlICAgICAgIHwgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB8CiAgICAgIFByb3ZpZGVyIEEgICAgfCAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHwKICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgfAogICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgICAgICAgICAgICAgICAgfCAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHwKCgoKU2hlbiwgZXQgYWwuICAgICAgICAgICAgICBFeHBp
cmVzIE1heSAwMywgMjAxNCAgICAgICAgICAgICAgICAgIFtQYWdlIDhdCgwKSW50ZXJuZXQtRHJh
ZnQgICAgICAgU0lQIExvYWQgQ29udHJvbCBFdmVudCBQYWNrYWdlICAgICAgICAgT2N0b2JlciAy
MDEzCgoKICAgICAgU2VydmljZSAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
fAogICAgICBQcm92aWRlciBCICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CiAg
ICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKICAgICAg
ICAgICAgICArLS0tLS0tLS0tLS0rICAgICAgICAgICAgICAgICAgKy0tLS0tLS0tLS0tKwogICAg
ICAgICAgICAgIHwgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICB8CiAg
ICAgICAgICAgICAgfCAgIENQYjEgICAgfC0tLS0tLS0tLS0tLS0tLS0tLXwgICBDUGIyICAgIHwK
ICAgICAgICAgICAgICB8ICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAg
fAogICAgICAgICAgICAgICstLS0tLS0tLS0tLSsgICAgICAgICAgICAgICAgICArLS0tLS0tLS0t
LS0rCiAgICAgICAgICAgICAgICAvICAgICAgXCAgICAgICAgICAgICAgICAgICAgICAgIC8gICAg
IFwKICAgICAgICAgICAgICAgLyAgICAgICAgXCAgICAgICAgICAgICAgICAgICAgICAvICAgICAg
IFwKICAgICAgICAgICAgICAvICAgICAgICAgIFwgICAgICAgICAgICAgICAgICAgIC8gICAgICAg
ICBcCiAgICAgICstLS0tLS0tLS0tLSsgICArLS0tLS0tLS0tLS0rICAgKy0tLS0tLS0tLS0tKyAg
ICstLS0tLS0tLS0tLSsKICAgICAgfCAgICAgICAgICAgfCAgIHwgICAgICAgICAgIHwgICB8ICAg
ICAgICAgICB8ICAgfCAgICAgICAgICAgfAogICAgICB8ICAgRVBiMSAgICB8ICAgfCAgIEVQYjIg
ICAgfCAgIHwgICBFUGIzICAgIHwgICB8ICAgRVBiNCAgICB8CiAgICAgIHwgICAgICAgICAgIHwg
ICB8ICAgICAgICAgICB8ICAgfCAgICAgICAgICAgfCAgIHwgICAgICAgICAgIHwKICAgICAgKy0t
LS0tLS0tLS0tKyAgICstLS0tLS0tLS0tLSsgICArLS0tLS0tLS0tLS0rICAgKy0tLS0tLS0tLS0t
KwoKCgogICAgICBGaWd1cmUgMTogRXhhbXBsZSBOZXR3b3JrIFNjZW5hcmlvIFVzaW5nIFNJUCBM
b2FkIENvbnRyb2wgRXZlbnQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQYWNrYWdlIE1l
Y2hhbmlzbQoKICAgQXQgaW5pdGlhbGl6YXRpb24gc3RhZ2UsIHRoZSBwcm94eSBzZXJ2ZXJzIGZp
cnN0IGlkZW50aWZ5IGFsbCB0aGVpcgogICBvdXRnb2luZyBzaWduYWxpbmcgbmVpZ2hib3JzIGFu
ZCBzdWJzY3JpYmUgdG8gdGhlbS4gIFRoZSBuZWlnaGJvcgogICBpZGVudGlmaWNhdGlvbiBwcm9j
ZXNzIGNhbiBiZSBwZXJmb3JtZWQgYnkgc2VydmljZSBwcm92aWRlcnMgdGhyb3VnaAogICBkaXJl
Y3QgcHJvdmlzaW9uaW5nLCBvciBieSB0aGUgcHJveHkgc2VydmVycyB0aGVtc2VsdmVzIHZpYQog
ICBwcm9ncmVzc2l2ZSBsZWFybmluZyBmcm9tIHRoZSBzaWduYWxpbmcgbWVzc2FnZXMgc2VudCBh
bmQgcmVjZWl2ZWQuCiAgIEFzc3VtaW5nIGFsbCBzaWduYWxpbmcgcmVsYXRpb25zaGlwcyBpbiBG
aWd1cmUgMSBhcmUgYmktZGlyZWN0aW9uYWwsCiAgIGFmdGVyIHRoaXMgaW5pdGlhbGl6YXRpb24g
c3RhZ2UsIGVhY2ggcHJveHkgc2VydmVyIHdpbGwgYmUgc3Vic2NyaWJlZAogICB0byBhbGwgaXRz
IG5laWdoYm9ycy4gIFRoYXQgaXMsIEVQYTEgc3Vic2NyaWJlcyB0byBDUGExOyBDUGExCiAgIHN1
YnNjcmliZXMgdG8gRVBhMSwgRVBhMiwgQ1BhMiBhbmQgQ1BiMSwgc28gb24gYW5kIHNvIGZvcnRo
LiAgVGhlCiAgIGZvbGxvd2luZyBjYXNlcyB0aGVuIHNob3cgdHdvIGV4YW1wbGVzIG9mIGhvdyBs
b2FkIGZpbHRlcmluZyBwb2xpY3kKICAgZGlzdHJpYnV0aW9uIGluIHRoaXMgbmV0d29yayB3b3Jr
cy4KCiAgIENhc2UgSTogRVBhMSBzZXJ2ZXMgYSBUViBwcm9ncmFtIGhvdGxpbmUgYW5kIGRlY2lk
ZXMgdG8gbGltaXQgdGhlCiAgIHRvdGFsIG51bWJlciBvZiBpbmNvbWluZyBjYWxscyB0byB0aGUg
aG90bGluZSB0byBwcmV2ZW50IGFuIG92ZXJsb2FkLgogICBUbyBkbyBzbywgRVBhMSBzZW5kcyBh
IG5vdGlmaWNhdGlvbiB0byBDUGExIHdpdGggdGhlIHNwZWNpZmljIGhvdGxpbmUKICAgbnVtYmVy
LCB0aW1lIG9mIGFjdGl2YXRpb24gYW5kIHRvdGFsIGFjY2VwdGFibGUgY2FsbCByYXRlLiAgRGVw
ZW5kaW5nCiAgIG9uIHRoZSBsb2FkIGZpbHRlcmluZyBwb2xpY3kgY29tcHV0YXRpb24gYWxnb3Jp
dGhtLCBDUGExIG1heSBhbGxvY2F0ZQogICB0aGUgcmVjZWl2ZWQgdG90YWwgYWNjZXB0YWJsZSBj
YWxsIHJhdGUgYW1vbmcgaXRzIG5laWdoYm9ycywgbmFtZWx5LAogICBFUGEyLCBDUGEyLCBhbmQg
Q1BiMSwgYW5kIG5vdGlmeSB0aGVtIGFib3V0IHRoZSByZXN1bHRpbmcgYWxsb2NhdGlvbgogICBh
bG9uZyB3aXRoIHRoZSBob3RsaW5lIG51bWJlciBhbmQgdGhlIGFjdGl2YXRpb24gdGltZS4gIENQ
YTIgYW5kIENQYjEKICAgbWF5IHBlcmZvcm0gZnVydGhlciBhbGxvY2F0aW9uIGFtb25nIHRoZWly
IG93biBuZWlnaGJvcnMgYW5kIG5vdGlmeQogICB0aGUgY29ycmVzcG9uZGluZyBwcm94eSBzZXJ2
ZXJzLiAgVGhpcyBwcm9jZXNzIGNvbnRpbnVlcyB1bnRpbCBhbGwKICAgZWRnZSBwcm94eSBzZXJ2
ZXJzIGluIHRoZSBuZXR3b3JrIGhhdmUgYmVlbiBpbmZvcm1lZCBhYm91dCB0aGUgZXZlbnQKICAg
YW5kIGhhdmUgcHJvcGVyIGxvYWQgZmlsdGVyaW5nIHBvbGljeSBjb25maWd1cmVkLgoKICAgSW4g
dGhlIGFib3ZlIGNhc2UsIHRoZSBuZXR3b3JrIGVudGl0eSB3aGVyZSBsb2FkIGZpbHRlcmluZyBw
b2xpY3kgaXMKCgoKU2hlbiwgZXQgYWwuICAgICAgICAgICAgICBFeHBpcmVzIE1heSAwMywgMjAx
NCAgICAgICAgICAgICAgICAgIFtQYWdlIDldCgwKSW50ZXJuZXQtRHJhZnQgICAgICAgU0lQIExv
YWQgQ29udHJvbCBFdmVudCBQYWNrYWdlICAgICAgICAgT2N0b2JlciAyMDEzCgoKICAgZmlyc3Qg
aW50cm9kdWNlZCBpcyB0aGUgU0lQIHNlcnZlciBwcm92aWRpbmcgYWNjZXNzIHRvIHRoZSByZXNv
dXJjZQogICB0aGF0IGNyZWF0ZXMgdGhlIG92ZXJsb2FkIHNpdHVhdGlvbi4gIEluIG90aGVyIGNh
c2VzLCB0aGUgbmV0d29yawogICBlbnRyeSBwb2ludCBvZiBpbnRyb2R1Y2luZyBsb2FkIGZpbHRl
cmluZyBwb2xpY3kgY291bGQgYWxzbyBiZSBhbgogICBlbnRpdHkgdGhhdCBob3N0cyB0aGlzIHJl
c291cmNlLiAgRm9yIGV4YW1wbGUsIGFuIG9wZXJhdG9yIG1heSBob3N0CiAgIGFuIGFwcGxpY2F0
aW9uIHNlcnZlciB0aGF0IHBlcmZvcm1zIDgwMCBudW1iZXIgdHJhbnNsYXRpb24gc2VydmljZXMu
CiAgIFRoZSBhcHBsaWNhdGlvbiBzZXJ2ZXIgbWF5IGl0c2VsZiBiZSBhIFNJUCBwcm94eSBzZXJ2
ZXIgb3IgYSBTSVAKICAgQmFjay10by1CYWNrIFVzZXIgQWdlbnQgKEIyQlVBKS4gIElmIG9uZSBv
ZiB0aGUgODAwIG51bWJlcnMgaG9zdGVkIGF0CiAgIHRoZSBhcHBsaWNhdGlvbiBzZXJ2ZXIgY3Jl
YXRlcyB0aGUgb3ZlcmxvYWQgY29uZGl0aW9uLCB0aGUgbG9hZAogICBmaWx0ZXJpbmcgcG9saWNp
ZXMgY2FuIGJlIGludHJvZHVjZWQgZnJvbSB0aGUgYXBwbGljYXRpb24gc2VydmVyIGFuZAogICB0
aGVuIHByb3BhZ2F0ZWQgdG8gb3RoZXIgU0lQIHByb3h5IHNlcnZlcnMgaW4gdGhlIG5ldHdvcmsu
CgogICBDYXNlIElJOiBhIGh1cnJpY2FuZSBhZmZlY3RzIHRoZSByZWdpb24gY292ZXJlZCBieSBD
UGIyLCBFUGIzIGFuZAogICBFUGI0LiAgQWxsIHRoZXNlIHRocmVlIFNJUCBwcm94eSBzZXJ2ZXJz
IGFyZSBvdmVybG9hZGVkLiAgVGhlIHJlc2N1ZQogICB0ZWFtIGRldGVybWluZXMgdGhhdCBvdXRi
b3VuZCBjYWxscyBhcmUgbW9yZSB2YWx1YWJsZSB0aGFuIGluYm91bmQKICAgY2FsbHMgaW4gdGhp
cyBzcGVjaWZpYyBzaXR1YXRpb24uICBUaGVyZWZvcmUsIEVQYjMgYW5kIEVQYjQgYXJlCiAgIGNv
bmZpZ3VyZWQgd2l0aCBsb2FkIGZpbHRlcmluZyBwb2xpY2llcyB0byBhY2NlcHQgbW9yZSBvdXRi
b3VuZCBjYWxscwogICB0aGFuIGluYm91bmQgY2FsbHMuICBDUGIyIG1heSBiZSBjb25maWd1cmVk
IHRoZSBzYW1lIHdheSBvciByZWNlaXZlCiAgIGR5bmFtaWNhbGx5IGNvbXB1dGVkIGxvYWQgZmls
dGVyaW5nIHBvbGljaWVzIGZyb20gRVBiMyBhbmQgRVBiNC4KICAgRGVwZW5kaW5nIG9uIHRoZSBs
b2FkIGZpbHRlcmluZyBwb2xpY3kgY29tcHV0YXRpb24gYWxnb3JpdGhtLCBDUGIyCiAgIG1heSBh
bHNvIHNlbmQgb3V0IG5vdGlmaWNhdGlvbnMgdG8gaXRzIG91dHNpZGUgbmVpZ2hib3JzLCBuYW1l
bHkgQ1BiMQogICBhbmQgQ1BhMiwgc3BlY2lmeWluZyBhIGxpbWl0IG9uIHRoZSBhY2NlcHRhYmxl
IHJhdGUgb2YgaW5ib3VuZCBjYWxscwogICB0byBDUGIyJ3MgcmVzcG9uc2libGUgZG9tYWluLiAg
Q1BiMSBhbmQgQ1BhMiBtYXkgc3Vic2VxdWVudGx5IG5vdGlmeQogICB0aGVpciBuZWlnaGJvcnMg
YWJvdXQgbGltaXRpbmcgdGhlIGNhbGxzIHRvIENQYjIncyBhcmVhLiAgVGhlIHNhbWUKICAgcHJv
Y2VzcyBjb3VsZCBjb250aW51ZSB1bnRpbCBhbGwgZWRnZSBwcm94eSBzZXJ2ZXJzIGFyZSBub3Rp
ZmllZCBhbmQKICAgaGF2ZSBsb2FkIGZpbHRlcmluZyBwb2xpY2llcyBjb25maWd1cmVkLgoKICAg
Tm90ZSB0aGF0IHRoaXMgc3BlY2lmaWNhdGlvbiBkb2VzIG5vdCBkZWZpbmUgdGhlIHByb3Zpc2lv
bmluZwogICBpbnRlcmZhY2UgYmV0d2VlbiB0aGUgcGFydHkgd2hvIGRldGVybWluZXMgdGhlIGxv
YWQgZmlsdGVyaW5nIHBvbGljeQogICBhbmQgdGhlIG5ldHdvcmsgZW50cnkgcG9pbnQgd2hlcmUg
dGhlIHBvbGljeSBpcyBpbnRyb2R1Y2VkLiAgT25lIG9mCiAgIHRoZSBvcHRpb25zIGZvciB0aGUg
cHJvdmlzaW9uaW5nIGludGVyZmFjZSBpcyB0aGUgRXh0ZW5zaWJsZSBNYXJrdXAKICAgTGFuZ3Vh
Z2UgKFhNTCkgQ29uZmlndXJhdGlvbiBBY2Nlc3MgUHJvdG9jb2wgKFhDQVApIFtSRkM0ODI1XS4K
CjUuNC4gIEFwcGxpY2FibGUgTmV0d29yayBEb21haW5zCgogICBUaGlzIHNwZWNpZmljYXRpb24g
TVVTVCBiZSBhcHBsaWVkIGluc2lkZSBhICdUcnVzdCBEb21haW4nLiAgVGhlCiAgIGNvbmNlcHQg
b2YgYSBUcnVzdCBEb21haW4gaXMgc2ltaWxhciB0byB0aGF0IGRlZmluZWQgaW4gW1JGQzMzMjRd
LiAgQQogICBUcnVzdCBEb21haW4gZm9yIHRoZSBwdXJwb3NlIG9mIFNJUCBsb2FkIGZpbHRlcmlu
ZyBpcyBhIHNldCBvZiBTSVAKICAgZW50aXRpZXMgc3VjaCBhcyBTSVAgcHJveHkgc2VydmVycyB0
aGF0IGFyZSB0cnVzdGVkIHRvIGV4Y2hhbmdlIGxvYWQKICAgZmlsdGVyaW5nIHBvbGljaWVzIGRl
ZmluZWQgaW4gdGhpcyBzcGVjaWZpY2F0aW9uLiAgSW4gdGhlIHNpbXBsZXN0CiAgIGNhc2UsIGEg
VHJ1c3QgRG9tYWluIGlzIGEgbmV0d29yayBvZiBTSVAgZW50aXRpZXMgYmVsb25naW5nIHRvIGEK
ICAgc2luZ2xlIHNlcnZpY2UgcHJvdmlkZXIgd2hvIGRlcGxveXMgaXQgYW5kIGFjY3VyYXRlbHkg
a25vd3MgdGhlCiAgIGJlaGF2aW91ciBvZiB0aG9zZSBTSVAgZW50aXRpZXMuICBTdWNoIHNpbXBs
ZSBUcnVzdCBEb21haW5zIG1heSBiZQogICBqb2luZWQgdG8gZm9ybSBsYXJnZXIgVHJ1c3QgRG9t
YWlucyBieSBiaS1sYXRlcmFsIGFncmVlbWVudHMgYmV0d2VlbgogICB0aGUgc2VydmljZSBwcm92
aWRlcnMgb2YgdGhlIFNJUCBlbnRpdGllcy4KCiAgIFRoZSBrZXkgcmVxdWlyZW1lbnQgb2YgYSBU
cnVzdCBEb21haW4gZm9yIHRoZSBwdXJwb3NlIG9mIFNJUCBsb2FkCiAgIGZpbHRlcmluZyBpcyB0
aGF0IHRoZSBiZWhhdmlvciBvZiBhbGwgU0lQIGVudGl0aWVzIHdpdGhpbiBhIGdpdmVuCiAgIFRy
dXN0IERvbWFpbiBpcyBrbm93biB0byBjb21wbHkgdG8gdGhlIGZvbGxvd2luZyBzZXQgb2YKCgoK
U2hlbiwgZXQgYWwuICAgICAgICAgICAgICBFeHBpcmVzIE1heSAwMywgMjAxNCAgICAgICAgICAg
ICAgICAgW1BhZ2UgMTBdCgwKSW50ZXJuZXQtRHJhZnQgICAgICAgU0lQIExvYWQgQ29udHJvbCBF
dmVudCBQYWNrYWdlICAgICAgICAgT2N0b2JlciAyMDEzCgoKICAgc3BlY2lmaWNhdGlvbnMuCgog
ICBvICBUaGUgbWVjaGFuaXNtcyB1c2VkIHRvIHNlY3VyZSB0aGUgY29tbXVuaWNhdGlvbiBhbW9u
ZyBTSVAgZW50aXRpZXMKICAgICAgd2l0aGluIHRoZSBUcnVzdCBEb21haW4uCgogICBvICBUaGUg
bWFubmVyIHVzZWQgdG8gZGV0ZXJtaW5lIHdoaWNoIFNJUCBlbnRpdGllcyBhcmUgcGFydCBvZiB0
aGUKICAgICAgVHJ1c3QgRG9tYWluLgoKICAgbyAgVGhhdCBTSVAgZW50aXRpZXMgaW4gdGhlIFRy
dXN0IERvbWFpbiBhcmUgY29tcGxpYW50IHRvIFNJUAogICAgICBbUkZDMzI2MV0KCiAgIG8gIFRo
YXQgU0lQIGVudGl0aWVzIGluIHRoZSBUcnVzdCBEb21haW4gYXJlIGNvbXBsaWFudCB0byB0aGlz
CiAgICAgIGRvY3VtZW50LgoKICAgbyAgVGhlIGFncmVlbWVudCBvbiB3aGF0IHR5cGVzIG9mIGNh
bGxzIGNhbiBiZSBhZmZlY3RlZCBieSB0aGlzIFNJUAogICAgICBsb2FkIGZpbHRlcmluZyBtZWNo
YW5pc20uICBGb3IgZXhhbXBsZSwgY2FsbCBpZGVudGl0eSBjb25kaXRpb24KICAgICAgZWxlbWVu
dHMgKFNlY3Rpb24gNy4zLjEpIDxvbmU+IGFuZCA8bWFueT4gbWlnaHQgYmUgbGltaXRlZCB0bwog
ICAgICBkZXNjcmliZSBzcGVjaWZpYyBkb21haW5zOyA8bWFueS10ZWw+IGFuZCA8ZXhjZXB0LXRl
bD4gbWlnaHQgYmUKICAgICAgbGltaXRlZCB0byBkZXNjcmliZSB3aXRoaW4gY2VydGFpbiBwcmVm
aXhlcy4KCiAgIG8gIFRoZSBhZ3JlZW1lbnQgb24gdGhlIGRlc3RpbmF0aW9ucyB0byB3aGljaCBj
YWxscyBtYXkgYmUgcmVkaXJlY3RlZAogICAgICB3aGVuIHRoZSAicmVkaXJlY3QiIGFjdGlvbiAo
U2VjdGlvbiA3LjQpIGlzIHVzZWQuICBGb3IgZXhhbXBsZSwKICAgICAgdGhlIFVSSSBtaWdodCBo
YXZlIHRvIG1hdGNoIGEgZ2l2ZW4gc2V0IG9mIGRvbWFpbnMuCgogICBJdCBpcyBpbXBvcnRhbnQg
dG8gbm90ZSB0aGF0IGVmZmVjdGl2ZW5lc3Mgb2YgU0lQIGxvYWQgZmlsdGVyaW5nCiAgIHJlcXVp
cmVzIHRoYXQgYWxsIG5laWdoYm9ycyB0aGF0IGFyZSBwb3NzaWJsZSBzaWduYWxpbmcgc291cmNl
cwogICBwYXJ0aWNpcGF0ZSBhbmQgZW5mb3JjZSB0aGUgZGVzaWduYXRlZCBsb2FkIGZpbHRlcmlu
ZyBwb2xpY2llcy4KICAgT3RoZXJ3aXNlLCBhIHNpbmdsZSBub24tY29uZm9ybWluZyBuZWlnaGJv
ciBjb3VsZCBtYWtlIHRoZSB3aG9sZQogICBmaWx0ZXJpbmcgZWZmb3J0cyB1c2VsZXNzIGJ5IHB1
bXBpbmcgaW4gZXhjZXNzaXZlIHRyYWZmaWMgdG8gb3ZlcmxvYWQKICAgdGhlIHNlcnZlci4gIFRo
ZXJlZm9yZSwgdGhlIFNJUCBzZXJ2ZXIgdGhhdCBkaXN0cmlidXRlcyBsb2FkCiAgIGZpbHRlcmlu
ZyBwb2xpY2llcyBuZWVkcyB0byB0YWtlIGNvdW50ZXItbWVhc3VyZXMgdG93YXJkcyBhbnkgbm9u
LQogICBjb25mb3JtaW5nIG5laWdoYm9ycy4gIEEgc2ltcGxlIG1ldGhvZCBpcyB0byByZWplY3Qg
ZXhjZXNzaXZlCiAgIHJlcXVlc3RzIHdpdGggNTAzIChTZXJ2aWNlIFVuYXZhaWxhYmxlKSByZXNw
b25zZSBtZXNzYWdlcyBhcyBpZiB0aGV5CiAgIHdlcmUgb2JleWluZyB0aGUgcmF0ZS4gIENvbnNp
ZGVyaW5nIHRoZSByZWplY3Rpb24gY29zdHMsIGEgbW9yZQogICBjb21wbGljYXRlZCBidXQgZmFp
cmVyIG1ldGhvZCB3b3VsZCBiZSB0byBhbGxvY2F0ZSBhdCB0aGUgb3ZlcmxvYWRlZAogICBzZXJ2
ZXIgdGhlIHNhbWUgYW1vdW50IG9mIHByb2Nlc3NpbmcgdG8gdGhlIGNvbWJpbmF0aW9uIG9mIGJv
dGgKICAgbm9ybWFsIHByb2Nlc3NpbmcgYW5kIHJlamVjdGlvbiBhcyB0aGUgb3ZlcmxvYWRlZCBz
ZXJ2ZXIgd291bGQgZGV2b3RlCiAgIHRvIHByb2Nlc3NpbmcgcmVxdWVzdHMgZm9yIGEgY29uZm9y
bWluZyB1cHN0cmVhbSBTSVAgc2VydmVyLiAgVGhlc2UKICAgYXBwcm9hY2hlcyB3b3JrIGFzIGxv
bmcgYXMgdGhlIHRvdGFsIHJlamVjdGlvbiBjb3N0IGRvZXMgbm90CiAgIG92ZXJ3aGVsbSB0aGUg
ZW50aXJlIHNlcnZlciByZXNvdXJjZXMuICBJbiBhZGRpdGlvbiwgU0lQIHNlcnZlcnMgbmVlZAog
ICB0byBoYW5kbGUgbWVzc2FnZSBwcmlvcml0aXphdGlvbiBwcm9wZXJseSB3aGlsZSBwZXJmb3Jt
aW5nIGxvYWQKICAgZmlsdGVyaW5nLCB3aGljaCBpcyBkZXNjcmliZWQgaW4gU2VjdGlvbiA2Ljgu
Cgo2LiAgTG9hZCBDb250cm9sIEV2ZW50IFBhY2thZ2UKCiAgIFRoZSBTSVAgbG9hZCBmaWx0ZXJp
bmcgbWVjaGFuaXNtIGRlZmluZXMgYSBsb2FkIGNvbnRyb2wgZXZlbnQgcGFja2FnZQogICBmb3Ig
U0lQIGJhc2VkIG9uIFtSRkM2NjY1XS4KCgoKClNoZW4sIGV0IGFsLiAgICAgICAgICAgICAgRXhw
aXJlcyBNYXkgMDMsIDIwMTQgICAgICAgICAgICAgICAgIFtQYWdlIDExXQoMCkludGVybmV0LURy
YWZ0ICAgICAgIFNJUCBMb2FkIENvbnRyb2wgRXZlbnQgUGFja2FnZSAgICAgICAgIE9jdG9iZXIg
MjAxMwoKCjYuMS4gIEV2ZW50IFBhY2thZ2UgTmFtZQoKICAgVGhlIG5hbWUgb2YgdGhpcyBldmVu
dCBwYWNrYWdlIGlzICJsb2FkLWNvbnRyb2wiLiAgVGhpcyBuYW1lIGlzCiAgIGNhcnJpZWQgaW4g
dGhlIEV2ZW50IGFuZCBBbGxvdy1FdmVudHMgaGVhZGVyLCBhcyBzcGVjaWZpZWQgaW4KICAgW1JG
QzY2NjVdLgoKNi4yLiAgRXZlbnQgUGFja2FnZSBQYXJhbWV0ZXJzCgogICBObyBwYWNrYWdlIHNw
ZWNpZmljIGV2ZW50IGhlYWRlciBmaWVsZCBwYXJhbWV0ZXJzIGFyZSBkZWZpbmVkIGZvcgogICB0
aGlzIGV2ZW50IHBhY2thZ2UuCgo2LjMuICBTVUJTQ1JJQkUgQm9kaWVzCgogICBUaGlzIGRvY3Vt
ZW50IGRvZXMgbm90IGRlZmluZSB0aGUgY29udGVudCBvZiBTVUJTQ1JJQkUgYm9kaWVzLgogICBG
dXR1cmUgc3BlY2lmaWNhdGlvbnMgY291bGQgZGVmaW5lIGJvZGllcyBmb3IgU1VCU0NSSUJFIG1l
c3NhZ2VzLCBmb3IKICAgZXhhbXBsZSB0byByZXF1ZXN0IHNwZWNpZmljIHR5cGVzIG9mIGxvYWQg
Y29udHJvbCBldmVudAogICBub3RpZmljYXRpb25zLgoKICAgQSBTVUJTQ1JJQkUgcmVxdWVzdCBz
ZW50IHdpdGhvdXQgYSBib2R5IGltcGxpZXMgdGhlIGRlZmF1bHQKICAgc3Vic2NyaXB0aW9uIGJl
aGF2aW9yIGFzIHNwZWNpZmllZCBpbiBTZWN0aW9uIDYuNy4KCjYuNC4gIFNVQlNDUklCRSBEdXJh
dGlvbgoKICAgVGhlIGRlZmF1bHQgZXhwaXJhdGlvbiB0aW1lIGZvciBhIHN1YnNjcmlwdGlvbiB0
byBsb2FkIGZpbHRlcmluZwogICBwb2xpY3kgaXMgb25lIGhvdXIuICBTaW5jZSB0aGUgZGVzaXJl
ZCBleHBpcmF0aW9uIHRpbWUgbWF5IHZhcnkKICAgc2lnbmlmaWNhbnRseSBmb3Igc3Vic2NyaXB0
aW9ucyBhbW9uZyBTSVAgZW50aXRpZXMgd2l0aCBkaWZmZXJlbnQKICAgc2lnbmFsaW5nIHJlbGF0
aW9uc2hpcHMsIHRoZSBzdWJzY3JpYmVycyBhbmQgbm90aWZpZXJzIGFyZQogICBSRUNPTU1FTkRF
RCB0byBleHBsaWNpdGx5IG5lZ290aWF0ZSBhcHByb3ByaWF0ZSBzdWJzY3JpcHRpb24gZHVyYXRp
b24KICAgd2hlbiBrbm93bGVkZ2UgYWJvdXQgdGhlIG11dHVhbCBzaWduYWxpbmcgcmVsYXRpb25z
aGlwIGlzIGF2YWlsYWJsZS4KCjYuNS4gIE5PVElGWSBCb2RpZXMKCiAgIFRoZSBib2R5IG9mIGEg
Tk9USUZZIHJlcXVlc3QgaW4gdGhpcyBldmVudCBwYWNrYWdlIGNvbnRhaW5zIGxvYWQKICAgZmls
dGVyaW5nIHBvbGljaWVzLiAgVGhlIGZvcm1hdCBvZiB0aGUgTk9USUZZIHJlcXVlc3QgYm9keSBN
VVNUIGJlIGluCiAgIG9uZSBvZiB0aGUgZm9ybWF0cyBkZWZpbmVkIGluIHRoZSBBY2NlcHQgaGVh
ZGVyIGZpZWxkIG9mIHRoZQogICBTVUJTQ1JJQkUgcmVxdWVzdCBvciBiZSB0aGUgZGVmYXVsdCBm
b3JtYXQsIGFzIHNwZWNpZmllZCBpbgogICBbUkZDNjY2NV0uICBUaGUgZGVmYXVsdCBkYXRhIGZv
cm1hdCBmb3IgdGhlIE5PVElGWSByZXF1ZXN0IGJvZHkgb2YKICAgdGhpcyBldmVudCBwYWNrYWdl
IGlzICJhcHBsaWNhdGlvbi9sb2FkLWNvbnRyb2wreG1sIiAoZGVmaW5lZCBpbgogICBTZWN0aW9u
IDcpLiAgVGhpcyBtZWFucyB0aGF0IHdoZW4gTk9USUZZIHJlcXVlc3QgYm9keSBleGlzdHMgYnV0
IG5vCiAgIEFjY2VwdCBoZWFkZXIgZmllbGQgaXMgc3BlY2lmaWVkIGluIGEgU1VCU0NSSUJFIHJl
cXVlc3QsIHRoZSBOT1RJRlkKICAgcmVxdWVzdCBib2R5IE1VU1QgY29udGFpbiAiYXBwbGljYXRp
b24vbG9hZC1jb250cm9sK3htbCIgZm9ybWF0LgoKNi42LiAgTm90aWZpZXIgUHJvY2Vzc2luZyBv
ZiBTVUJTQ1JJQkUgUmVxdWVzdHMKCiAgIFRoZSBub3RpZmllciBhY2NlcHRzIGEgbmV3IHN1YnNj
cmlwdGlvbiBvciB1cGRhdGVzIGFuIGV4aXN0aW5nCiAgIHN1YnNjcmlwdGlvbiB1cG9uIHJlY2Vp
dmluZyBhIHZhbGlkIFNVQlNDUklCRSByZXF1ZXN0LgoKICAgSWYgdGhlIGlkZW50aXR5IG9mIHRo
ZSBzdWJzY3JpYmVyIHNlbmRpbmcgdGhlIFNVQlNDUklCRSByZXF1ZXN0IGlzCgoKClNoZW4sIGV0
IGFsLiAgICAgICAgICAgICAgRXhwaXJlcyBNYXkgMDMsIDIwMTQgICAgICAgICAgICAgICAgIFtQ
YWdlIDEyXQoMCkludGVybmV0LURyYWZ0ICAgICAgIFNJUCBMb2FkIENvbnRyb2wgRXZlbnQgUGFj
a2FnZSAgICAgICAgIE9jdG9iZXIgMjAxMwoKCiAgIG5vdCBhbGxvd2VkIHRvIHJlY2VpdmUgbG9h
ZCBmaWx0ZXJpbmcgcG9saWN5LCB0aGUgbm90aWZpZXIgTVVTVAogICByZXR1cm4gYSA0MDMgIkZv
cmJpZGRlbiIgcmVzcG9uc2UuCgogICBJZiBub25lIG9mIE1JTUUgdHlwZXMgc3BlY2lmaWVkIGlu
IHRoZSBBY2NlcHQgaGVhZGVyIG9mIHRoZSBTVUJTQ1JJQkUKICAgcmVxdWVzdCBpcyBzdXBwb3J0
ZWQsIHRoZSBub3RpZmllciBTSE9VTEQgcmV0dXJuIDQwNiAiTm90IEFjY2VwdGFibGUiCiAgIHJl
c3BvbnNlLgoKNi43LiAgTm90aWZpZXIgR2VuZXJhdGlvbiBvZiBOT1RJRlkgUmVxdWVzdHMKCiAg
IEEgbm90aWZpZXIgTVVTVCBzZW5kIGEgTk9USUZZIHJlcXVlc3Qgd2l0aCBpdHMgY3VycmVudCBs
b2FkIGZpbHRlcmluZwogICBwb2xpY3kgdG8gdGhlIHN1YnNjcmliZXIgdXBvbiBzdWNjZXNzZnVs
bHkgYWNjZXB0aW5nIG9yIHJlZnJlc2hpbmcgYQogICBzdWJzY3JpcHRpb24uICBJZiBubyBsb2Fk
IGZpbHRlcmluZyBwb2xpY3kgbmVlZHMgdG8gYmUgZGlzdHJpYnV0ZWQKICAgd2hlbiB0aGUgc3Vi
c2NyaXB0aW9uIGlzIHJlY2VpdmVkLCB0aGUgbm90aWZpZXIgU0hPVUxEIHNlbnQgYSBOT1RJRlkK
ICAgcmVxdWVzdCB3aXRob3V0IGJvZHkgdG8gdGhlIHN1YnNjcmliZXIuICBUaGUgY29udGVudC10
eXBlIGhlYWRlcgogICBmaWVsZCBvZiB0aGlzIE5PVElGWSByZXF1ZXN0IE1VU1QgaW5kaWNhdGUg
dGhlIGNvcnJlY3QgYm9keSBmb3JtYXQgYXMKICAgaWYgdGhlIGJvZHkgd2VyZSBwcmVzZW50IChl
LmcuLCAiYXBwbGljYXRpb24vbG9hZC1jb250cm9sK3htbCIpLgogICBTZW5kaW5nIHRoaXMgTk9U
SUZZIHJlcXVlc3Qgd2l0aG91dCBib2R5IGlzIG9mdGVuIHRoZSBjYXNlIHdoZW4gYQogICBzdWJz
Y3JpcHRpb24gaXMgaW5pdGlhdGVkIGZvciB0aGUgZmlyc3QgdGltZSwgZS5nLiwgd2hlbiBhIFNJ
UCBlbnRpdHkKICAgaXMganVzdCBpbnRyb2R1Y2VkLCBiZWNhdXNlIHRoZXJlIG1heSBiZSBubyBw
bGFubmVkIGV2ZW50cyB0aGF0CiAgIHJlcXVpcmUgbG9hZCBmaWx0ZXJpbmcgYXQgdGhhdCB0aW1l
LiAgQSBub3RpZmllciBTSE9VTEQgZ2VuZXJhdGUKICAgTk9USUZZIHJlcXVlc3RzIGVhY2ggdGlt
ZSB0aGUgbG9hZCBmaWx0ZXJpbmcgcG9saWN5IGNoYW5nZXMsIHdpdGggdGhlCiAgIG1heGltdW0g
bm90aWZpY2F0aW9uIHJhdGUgbm90IGV4Y2VlZGluZyB2YWx1ZXMgZGVmaW5lZCBpbgogICBTZWN0
aW9uIDYuMTAuCgo2LjguICBTdWJzY3JpYmVyIFByb2Nlc3Npbmcgb2YgTk9USUZZIFJlcXVlc3Rz
CgogICBUaGUgc3Vic2NyaWJlciBpcyB0aGUgbG9hZCBmaWx0ZXJpbmcgc2VydmVyIHdoaWNoIGVu
Zm9yY2VzIGxvYWQKICAgZmlsdGVyaW5nIHBvbGljaWVzIHJlY2VpdmVkIGZyb20gdGhlIG5vdGlm
aWVyLiAgVGhlIHdheSBzdWJzY3JpYmVycwogICBwcm9jZXNzIE5PVElGWSByZXF1ZXN0cyBkZXBl
bmRzIG9uIHRoZSBsb2FkIGZpbHRlcmluZyBwb2xpY2llcwogICBjb252ZXllZCBpbiB0aGUgbm90
aWZpY2F0aW9ucy4gIFR5cGljYWxseSwgbG9hZCBmaWx0ZXJpbmcgcG9saWNpZXMKICAgY29uc2lz
dCBvZiBydWxlcyBzcGVjaWZ5aW5nIGFjdGlvbnMgdG8gYmUgYXBwbGllZCB0byByZXF1ZXN0cwog
ICBtYXRjaGluZyBjZXJ0YWluIGNvbmRpdGlvbnMuICBBIHN1YnNjcmliZXIgcmVjZWl2aW5nIGEg
bm90aWZpY2F0aW9uCiAgIGZpcnN0IGluc3RhbGxzIHRoZXNlIHJ1bGVzIGFuZCB0aGVuIGVuZm9y
Y2UgY29ycmVzcG9uZGluZyBhY3Rpb25zIG9uCiAgIHJlcXVlc3RzIG1hdGNoaW5nIHRob3NlIGNv
bmRpdGlvbnMsIGZvciBleGFtcGxlLCBsaW1pdGluZyB0aGUgc2VuZGluZwogICByYXRlIG9mIGNh
bGwgcmVxdWVzdHMgZGVzdGluZWQgZm9yIGEgc3BlY2lmaWMgY2FsbGVlLgoKICAgSW4gdGhlIGNh
c2Ugd2hlbiBsb2FkIGZpbHRlcmluZyBwb2xpY2llcyBzcGVjaWZ5IGEgZnV0dXJlIHZhbGlkaXR5
LAogICBpdCBpcyBwb3NzaWJsZSB0aGF0IHdoZW4gdGhlIHZhbGlkaXR5IHRpbWUgY29tZXMsIHRo
ZSBzdWJzY3JpcHRpb24gdG8KICAgdGhlIHNwZWNpZmljIG5vdGlmaWVyIHRoYXQgY29udmV5ZWQg
dGhlIHJ1bGVzIGhhcyBleHBpcmVkLiAgSW4gdGhpcwogICBjYXNlLCBpdCBpcyBSRUNPTU1FTkRF
RCB0aGF0IHRoZSBzdWJzY3JpYmVyIHJlLWFjdGl2YXRlIGl0cwogICBzdWJzY3JpcHRpb24gd2l0
aCB0aGUgY29ycmVzcG9uZGluZyBub3RpZmllci4gIFJlZ2FyZGxlc3Mgb2Ygd2hldGhlcgogICB0
aGlzIHJlLWFjdGl2YXRpb24gb2Ygc3Vic2NyaXB0aW9uIGlzIHN1Y2Nlc3NmdWwgb3Igbm90LCB3
aGVuIHRoZQogICB2YWxpZGl0eSB0aW1lIGlzIHJlYWNoZWQsIHRoZSBzdWJzY3JpYmVyIFNIT1VM
RCBlbmZvcmNlIHRoZQogICBjb3JyZXNwb25kaW5nIHJ1bGVzLgoKICAgVXBvbiByZWNlaXB0IG9m
IGEgTk9USUZZIHJlcXVlc3Qgd2l0aCBhIFN1YnNjcmlwdGlvbi1TdGF0ZSBoZWFkZXIKICAgZmll
bGQgY29udGFpbmluZyB0aGUgdmFsdWUgInRlcm1pbmF0ZWQiLCB0aGUgc3Vic2NyaXB0aW9uIHN0
YXR1cyB3aXRoCiAgIHRoZSBwYXJ0aWN1bGFyIG5vdGlmaWVyIHdpbGwgYmUgdGVybWluYXRlZC4g
IE1lYW53aGlsZSwgc3Vic2NyaWJlcnMKCgoKU2hlbiwgZXQgYWwuICAgICAgICAgICAgICBFeHBp
cmVzIE1heSAwMywgMjAxNCAgICAgICAgICAgICAgICAgW1BhZ2UgMTNdCgwKSW50ZXJuZXQtRHJh
ZnQgICAgICAgU0lQIExvYWQgQ29udHJvbCBFdmVudCBQYWNrYWdlICAgICAgICAgT2N0b2JlciAy
MDEzCgoKICAgTVVTVCBhbHNvIHRlcm1pbmF0ZSBwcmV2aW91c2x5IHJlY2VpdmVkIGxvYWQgZmls
dGVyaW5nIHBvbGljaWVzIGZyb20KICAgdGhhdCBub3RpZmllci4KCiAgIFRoZSBzdWJzY3JpYmVy
IFNIT1VMRCBkaXNjYXJkIHVua25vd24gYm9kaWVzLiAgSWYgdGhlIE5PVElGWSByZXF1ZXN0CiAg
IGNvbnRhaW5zIHNldmVyYWwgYm9kaWVzLCBub25lIG9mIHRoZW0gYmVpbmcgc3VwcG9ydGVkLCBp
dCBTSE9VTEQKICAgdW5zdWJzY3JpYmUuICBBIE5PVElGWSByZXF1ZXN0IHdpdGhvdXQgYSBib2R5
IGluZGljYXRlcyB0aGF0IG5vIGxvYWQKICAgZmlsdGVyaW5nIHBvbGljaWVzIG5lZWQgdG8gYmUg
dXBkYXRlZC4KCiAgIFdoZW4gdGhlIHN1YnNjcmliZXIgZW5mb3JjZXMgbG9hZCBmaWx0ZXJpbmcg
cG9saWNpZXMsIGl0IG5lZWRzIHRvCiAgIHByaW9yaXRpemUgcmVxdWVzdHMgYW5kIHNlbGVjdCB0
aG9zZSByZXF1ZXN0cyB0aGF0IG5lZWQgdG8gYmUKICAgcmVqZWN0ZWQgb3IgcmVkaXJlY3RlZC4g
IFRoaXMgc2VsZWN0aW9uIGlzIGxhcmdlbHkgYSBtYXR0ZXIgb2YgbG9jYWwKICAgcG9saWN5LiAg
SXQgaXMgZXhwZWN0ZWQgdGhhdCB0aGUgc3Vic2NyaWJlciB3aWxsIGZvbGxvdyBsb2NhbCBwb2xp
Y3kKICAgYXMgbG9uZyBhcyB0aGUgcmVzdWx0IGluIHJlZHVjdGlvbiBvZiB0cmFmZmljIGlzIGNv
bnNpc3RlbnQgd2l0aCB0aGUKICAgb3ZlcmxvYWQgYWxnb3JpdGhtIGluIGVmZmVjdCBhdCB0aGF0
IG5vZGUuICBBY2NvcmRpbmdseSwgdGhlCiAgIG5vcm1hdGl2ZSBiZWhhdmlvciBpbiB0aGUgbmV4
dCB0aHJlZSBwYXJhZ3JhcGhzIHNob3VsZCBiZSBpbnRlcnByZXRlZAogICB3aXRoIHRoZSB1bmRl
cnN0YW5kaW5nIHRoYXQgdGhlIHN1YnNjcmliZXIgd2lsbCBhaW0gdG8gcHJlc2VydmUgbG9jYWwK
ICAgcG9saWN5IHRvIHRoZSBmdWxsZXN0IGV4dGVudCBwb3NzaWJsZS4KCiAgIG8gIFRoZSBzdWJz
Y3JpYmVyIFNIT1VMRCBob25vciB0aGUgbG9jYWwgcG9saWN5IGZvciBwcmlvcml0aXppbmcgU0lQ
CiAgICAgIHJlcXVlc3RzIHN1Y2ggYXMgcG9saWNpZXMgYmFzZWQgb24gbWVzc2FnZSB0eXBlLCBl
LmcuLCBJTlZJVEVzCiAgICAgIHZlcnN1cyByZXF1ZXN0cyBhc3NvY2lhdGVkIHdpdGggZXhpc3Rp
bmcgc2Vzc2lvbnMuCgogICBvICBUaGUgc3Vic2NyaWJlciBTSE9VTEQgaG9ub3IgdGhlIGxvY2Fs
IHBvbGljeSBmb3IgcHJpb3JpdGl6aW5nIFNJUAogICAgICByZXF1ZXN0cyBiYXNlZCBvbiB0aGUg
Y29udGVudCBvZiB0aGUgUmVzb3VyY2UtUHJpb3JpdHkgaGVhZGVyCiAgICAgIChSUEgsIFtSRkM0
NDEyXSkuICBTcGVjaWZpYyAobmFtZXNwYWNlLnZhbHVlKSBSUEggY29udGVudHMgbWF5CiAgICAg
IGluZGljYXRlIGhpZ2ggcHJpb3JpdHkgcmVxdWVzdHMgdGhhdCBzaG91bGQgYmUgcHJlc2VydmVk
IGFzIG11Y2gKICAgICAgYXMgcG9zc2libGUgZHVyaW5nIG92ZXJsb2FkLiAgVGhlIFJQSCBjb250
ZW50cyBjYW4gYWxzbyBpbmRpY2F0ZSBhCiAgICAgIGxvdy1wcmlvcml0eSByZXF1ZXN0IHRoYXQg
aXMgZWxpZ2libGUgdG8gYmUgZHJvcHBlZCBkdXJpbmcgdGltZXMKICAgICAgb2Ygb3ZlcmxvYWQu
CgogICBvICBUaGUgc3Vic2NyaWJlciBTSE9VTEQgaG9ub3IgdGhlIGxvY2FsIHBvbGljeSBmb3Ig
cHJpb3JpdGl6aW5nIFNJUAogICAgICByZXF1ZXN0cyByZWxhdGluZyB0byBlbWVyZ2VuY3kgY2Fs
bHMgYXMgaWRlbnRpZmllZCBieSB0aGUgU09TIFVSTgogICAgICBbUkZDNTAzMV0gaW5kaWNhdGlu
ZyBhbiBlbWVyZ2VuY3kgcmVxdWVzdC4KCiAgIEEgbG9jYWwgcG9saWN5IGNhbiBiZSBleHBlY3Rl
ZCB0byBjb21iaW5lIGJvdGggdGhlIFNJUCByZXF1ZXN0IHR5cGUKICAgYW5kIHRoZSBwcmlvcml0
aXphdGlvbiBtYXJraW5ncywgYW5kIFNIT1VMRCBiZSBob25vcmVkIHdoZW4gb3ZlcmxvYWQKICAg
Y29uZGl0aW9ucyBwcmV2YWlsLgoKNi45LiAgSGFuZGxpbmcgb2YgRm9ya2VkIFJlcXVlc3RzCgog
ICBGb3JraW5nIGlzIG5vdCBhcHBsaWNhYmxlIHdoZW4gdGhpcyBsb2FkIGNvbnRyb2wgZXZlbnQg
cGFja2FnZQogICBtZWNoYW5pc20gaXMgdXNlZCB3aXRoaW4gYSBzaW5nbGUtaG9wIGRpc3RhbmNl
IGJldHdlZW4gbmVpZ2hib3JpbmcKICAgU0lQIGVudGl0aWVzLiAgSWYgY29tbXVuaWNhdGlvbiBz
Y29wZSBvZiB0aGUgbG9hZCBjb250cm9sIGV2ZW50CiAgIHBhY2thZ2UgbWVjaGFuaXNtIGlzIGFt
b25nIG11bHRpcGxlIGhvcHMsIGZvcmtpbmcgaXMgbm90IGV4cGVjdGVkIHRvCiAgIGhhcHBlbiBl
aXRoZXIgYmVjYXVzZSB0aGUgc3Vic2NyaXB0aW9uIHJlcXVlc3QgaXMgYWRkcmVzc2VkIHRvIGEK
ICAgY2xlYXJseSBkZWZpbmVkIFNJUCBlbnRpdHkuICBIb3dldmVyLCBpbiB0aGUgdW5saWtlbHkg
Y2FzZSB3aGVuCiAgIGZvcmtpbmcgZG9lcyBoYXBwZW4sIHRoZSBsb2FkIGNvbnRyb2wgZXZlbnQg
cGFja2FnZSBvbmx5IGFsbG93cyB0aGUKICAgZmlyc3QgcG90ZW50aWFsIGRpYWxvZy1lc3RhYmxp
c2hpbmcgbWVzc2FnZSB0byBjcmVhdGUgYSBkaWFsb2csIGFzCgoKClNoZW4sIGV0IGFsLiAgICAg
ICAgICAgICAgRXhwaXJlcyBNYXkgMDMsIDIwMTQgICAgICAgICAgICAgICAgIFtQYWdlIDE0XQoM
CkludGVybmV0LURyYWZ0ICAgICAgIFNJUCBMb2FkIENvbnRyb2wgRXZlbnQgUGFja2FnZSAgICAg
ICAgIE9jdG9iZXIgMjAxMwoKCiAgIHNwZWNpZmllZCBpbiBTZWN0aW9uIDUuOSBvZiBbUkZDNjY2
NV0uCgo2LjEwLiAgUmF0ZSBvZiBOb3RpZmljYXRpb25zCgogICBSYXRlIG9mIG5vdGlmaWNhdGlv
bnMgaXMgbGlrZWx5IG5vdCBhIGNvbmNlcm4gZm9yIHRoaXMgbG9jYWwgY29udHJvbAogICBldmVu
dCBwYWNrYWdlIG1lY2hhbmlzbSB3aGVuIGl0IGlzIHVzZWQgaW4gYSBub24tcmVhbC10aW1lIG1v
ZGUgZm9yCiAgIHJlbGF0aXZlbHkgc3RhdGljIGxvYWQgZmlsdGVyaW5nIHBvbGljaWVzLiAgTmV2
ZXJ0aGVsZXNzLCBpZgogICBzaXR1YXRpb24gZG9lcyBhcmlzZSB0aGF0IGEgcmF0aGVyIGZyZXF1
ZW50IGxvYWQgZmlsdGVyaW5nIHBvbGljeQogICB1cGRhdGUgaXMgbmVlZGVkLCBpdCBpcyBSRUNP
TU1FTkRFRCB0aGF0IHRoZSBub3RpZmllciBkbyBub3QgZ2VuZXJhdGUKICAgbm90aWZpY2F0aW9u
cyBhdCBhIHJhdGUgaGlnaGVyIHRoYW4gb25jZSBwZXItc2Vjb25kIGluIGFsbCBjYXNlcywgaW4K
ICAgb3JkZXIgdG8gYXZvaWQgdGhlIE5PVElGWSByZXF1ZXN0IGl0c2VsZiBvdmVybG9hZGluZyB0
aGUgc3lzdGVtLgoKNi4xMS4gIFN0YXRlIERlbHRhCgogICBJdCBpcyBsaWtlbHkgdGhhdCB1cGRh
dGVzIHRvIHNwZWNpZmljIGxvYWQgZmlsdGVyaW5nIHBvbGljaWVzIGFyZQogICBtYWRlIGJ5IGNo
YW5naW5nIG9ubHkgcGFydCBvZiB0aGUgcG9saWN5IHBhcmFtZXRlcnMgb25seSAoZS5nLgogICBh
Y2NlcHRhYmxlIHJlcXVlc3QgcmF0ZSBvciBwZXJjZW50YWdlLCBidXQgbm90IG1hdGNoaW5nIGlk
ZW50aXRpZXMpLgogICBUaGlzIHdpbGwgdHlwaWNhbGx5IGJlIGJlY2F1c2UgdGhlIHV0aWxpemF0
aW9uIG9mIGEgcmVzb3VyY2Ugc3ViamVjdAogICB0byBvdmVybG9hZCBkZXBlbmRzIHVwb24gZHlu
YW1pYyB1bmtub3ducyBzdWNoIGFzIGhvbGRpbmcgdGltZSBhbmQKICAgdGhlIHJlbGF0aXZlIGRp
c3RyaWJ1dGlvbiBvZiBvZmZlcmVkIGxvYWRzIG92ZXIgc3Vic2NyaWJpbmcgU0lQCiAgIGVudGl0
aWVzLiAgVGhlIHVwZGF0ZXMgY291bGQgb3JpZ2luYXRlIG1hbnVhbGx5IG9yIGJlIGRldGVybWlu
ZWQKICAgYXV0b21hdGljYWxseSBieSBhbiBhbGdvcml0aG0gdGhhdCBkeW5hbWljYWxseSBjb21w
dXRlcyB0aGUgbG9hZAogICBmaWx0ZXJpbmcgcG9saWNpZXMgKFNlY3Rpb24gNS4yKS4gIEFub3Ro
ZXIgZmFjdG9yIHRoYXQgaXMgdXN1YWxseSBub3QKICAga25vd24gcHJlY2lzZWx5IG9yIG5lZWRz
IHRvIGJlIGNvbXB1dGVkIGF1dG9tYXRpY2FsbHkgaXMgdGhlIGR1cmF0aW9uCiAgIG9mIHRoZSBl
dmVudCByZXF1aXJpbmcgbG9hZCBmaWx0ZXJpbmcuICBUaGVyZWZvcmUgaXQgd291bGQgYWxzbyBi
ZQogICBjb21tb24gZm9yIHRoZSB2YWxpZGl0eSB0byBjaGFuZ2UgZnJlcXVlbnRseS4KCiAgIFRo
aXMgZXZlbnQgcGFja2FnZSBhbGxvd3MgdGhlIHVzZSBvZiBzdGF0ZSBkZWx0YSBhcyBpbiBbUkZD
NjY2NV0gdG8KICAgYWNjb21tb2RhdGUgZnJlcXVlbnQgdXBkYXRlcyBvZiBwYXJ0aWFsIHBvbGlj
eSBwYXJhbWV0ZXJzLiAgRm9yIGVhY2gKICAgTk9USUZZIHRyYW5zYWN0aW9uIGluIGEgc3Vic2Ny
aXB0aW9uLCBhIHZlcnNpb24gbnVtYmVyIHRoYXQgaW5jcmVhc2VzCiAgIGJ5IGV4YWN0bHkgb25l
IE1VU1QgYmUgaW5jbHVkZWQgaW4gdGhlIE5PVElGWSByZXF1ZXN0IGJvZHkgd2hlbiB0aGUKICAg
Ym9keSBpcyBwcmVzZW50LiAgV2hlbiB0aGUgc3Vic2NyaWJlciByZWNlaXZlcyBhIHN0YXRlIGRl
bHRhLCBpdAogICBhc3NvY2lhdGVzIHRoZSBwYXJ0aWFsIHVwZGF0ZXMgdG8gdGhlIHBhcnRpY3Vs
YXIgcG9saWN5IGJ5IG1hdGNoaW5nCiAgIHRoZSBhcHByb3ByaWF0ZSBydWxlIGlkIChTZWN0aW9u
IDcuNSkuICBJZiB0aGUgc3Vic2NyaWJlciByZWNlaXZlcyBhCiAgIE5PVElGWSByZXF1ZXN0IHdp
dGggYSB2ZXJzaW9uIG51bWJlciB0aGF0IGlzIGluY3JlYXNlZCBieSBtb3JlIHRoYW4KICAgb25l
LCBpdCBrbm93cyB0aGF0IGl0IGhhcyBtaXNzZWQgYSBzdGF0ZSBkZWx0YSBhbmQgbmVlZHMgdG8g
YXNrIGZvciBhCiAgIGZ1bGwgc3RhdGUgc25hcHNob3QuICBUaGVyZWZvcmUsIHRoZSBzdWJzY3Jp
YmVyIGlnbm9yZXMgdGhhdCBOT1RJRlkKICAgcmVxdWVzdCBjb250YWluaW5nIHRoZSBzdGF0ZSBk
ZWx0YSwgYW5kIHJlLXNlbmRzIGEgU1VCU0NSSUJFIHJlcXVlc3QKICAgdG8gZm9yY2UgYSBOT1RJ
RlkgcmVxdWVzdCBjb250YWluaW5nIGEgY29tcGxldGUgc3RhdGUgc25hcHNob3QuCgo3LiAgTG9h
ZCBDb250cm9sIERvY3VtZW50Cgo3LjEuICBGb3JtYXQKCiAgIEEgbG9hZCBjb250cm9sIGRvY3Vt
ZW50IGlzIGFuIFhNTCBkb2N1bWVudCB0aGF0IGRlc2NyaWJlcyB0aGUgbG9hZAogICBmaWx0ZXJp
bmcgcG9saWNpZXMuICBJdCBpbmhlcml0cyBhbmQgZW5oYW5jZXMgdGhlIGNvbW1vbiBwb2xpY3kK
ICAgZG9jdW1lbnQgZGVmaW5lZCBpbiBbUkZDNDc0NV0uICBBIGNvbW1vbiBwb2xpY3kgZG9jdW1l
bnQgY29udGFpbnMgYQogICBzZXQgb2YgcnVsZXMuICBFYWNoIHJ1bGUgY29uc2lzdHMgb2YgdGhy
ZWUgcGFydHM6IGNvbmRpdGlvbnMsIGFjdGlvbnMKCgoKU2hlbiwgZXQgYWwuICAgICAgICAgICAg
ICBFeHBpcmVzIE1heSAwMywgMjAxNCAgICAgICAgICAgICAgICAgW1BhZ2UgMTVdCgwKSW50ZXJu
ZXQtRHJhZnQgICAgICAgU0lQIExvYWQgQ29udHJvbCBFdmVudCBQYWNrYWdlICAgICAgICAgT2N0
b2JlciAyMDEzCgoKICAgYW5kIHRyYW5zZm9ybWF0aW9ucy4gIFRoZSBjb25kaXRpb25zIHBhcnQg
aXMgYSBzZXQgb2YgZXhwcmVzc2lvbnMKICAgY29udGFpbmluZyBhdHRyaWJ1dGVzIHN1Y2ggYXMg
aWRlbnRpdHksIGRvbWFpbiwgYW5kIHZhbGlkaXR5IHRpbWUKICAgaW5mb3JtYXRpb24uICBFYWNo
IGV4cHJlc3Npb24gZXZhbHVhdGVzIHRvIFRSVUUgb3IgRkFMU0UuICBDb25kaXRpb25zCiAgIGFy
ZSBtYXRjaGVkIG9uICJlcXVhbGl0eSIgb3IgImdyZWF0ZXIgdGhhbiIgc3R5bGUgY29tcGFyaXNv
bi4gIFRoZXJlCiAgIGlzIG5vIHJlZ3VsYXIgZXhwcmVzc2lvbiBtYXRjaGluZy4gIENvbmRpdGlv
bnMgYXJlIGV2YWx1YXRlZCBvbgogICByZWNlaXB0IG9mIGFuIGluaXRpYWwgU0lQIHJlcXVlc3Qg
Zm9yIGEgZGlhbG9nIG9yIHN0YW5kYWxvbmUKICAgdHJhbnNhY3Rpb24uICBJZiBhIHJlcXVlc3Qg
bWF0Y2hlcyBhbGwgY29uZGl0aW9ucyBpbiBhIHJ1bGUgc2V0LCB0aGUKICAgYWN0aW9uIHBhcnQg
YW5kIHRoZSB0cmFuc2Zvcm1hdGlvbiBwYXJ0IGFyZSBjb25zdWx0ZWQgdG8gZGV0ZXJtaW5lCiAg
IHRoZSAicGVybWlzc2lvbiIgb24gaG93IHRvIGhhbmRsZSB0aGUgcmVxdWVzdC4gIEVhY2ggYWN0
aW9uIG9yCiAgIHRyYW5zZm9ybWF0aW9uIHNwZWNpZmllcyBhIHBvc2l0aXZlIGdyYW50IHRvIHRo
ZSBwb2xpY3kgc2VydmVyIHRvCiAgIHBlcmZvcm0gdGhlIHJlc3VsdGluZyBhY3Rpb25zLiAgV2Vs
bC1kZWZpbmVkIG1lY2hhbmlzbSBhcmUgYXZhaWxhYmxlCiAgIGZvciBjb21iaW5pbmcgYWN0aW9u
cyBhbmQgdHJhbnNmb3JtYXRpb25zIG9idGFpbmVkIGZyb20gbW9yZSB0aGFuIG9uZQogICBzb3Vy
Y2VzLgoKNy4yLiAgTmFtZXNwYWNlCgogICBUaGUgbmFtZXNwYWNlIFVSSSBmb3IgZWxlbWVudHMg
ZGVmaW5lZCBieSB0aGlzIHNwZWNpZmljYXRpb24gaXMgYQogICBVbmlmb3JtIFJlc291cmNlIE5h
bWVzcGFjZSAoVVJOKSAoW1JGQzIxNDFdKSwgdXNpbmcgdGhlIG5hbWVzcGFjZQogICBpZGVudGlm
aWVyICdpZXRmJyBkZWZpbmVkIGJ5IFtSRkMyNjQ4XSBhbmQgZXh0ZW5kZWQgYnkgW1JGQzM2ODhd
LgogICBUaGUgVVJOIGlzIGFzIGZvbGxvd3M6CgogICB1cm46aWV0ZjpwYXJhbXM6eG1sOm5zOmxv
YWQtY29udHJvbAoKNy4zLiAgQ29uZGl0aW9ucwoKICAgW1JGQzQ3NDVdIGRlZmluZXMgdGhyZWUg
Y29uZGl0aW9uIGVsZW1lbnRzOiA8aWRlbnRpdHk+LCA8c3BoZXJlPiBhbmQKICAgPHZhbGlkaXR5
Pi4gIEluIHRoaXMgc3BlY2lmaWNhdGlvbiwgd2UgZGVmaW5lIG5ldyBjb25kaXRpb24gZWxlbWVu
dHMKICAgYW5kIHJldXNlIHRoZSA8dmFsaWRpdHk+IGVsZW1lbnQuICBUaGUgPHNwaGVyZT4gZWxl
bWVudCBpcyBub3QgdXNlZC4KCjcuMy4xLiAgQ2FsbCBJZGVudGl0eQoKICAgU2luY2UgdGhlIHBy
b2JsZW0gc3BhY2Ugb2YgdGhpcyBzcGVjaWZpY2F0aW9uIGlzIGRpZmZlcmVudCBmcm9tIHRoYXQK
ICAgb2YgW1JGQzQ3NDVdLCB0aGUgW1JGQzQ3NDVdIDxpZGVudGl0eT4gZWxlbWVudCBpcyBub3Qg
c3VmZmljaWVudCBmb3IKICAgdXNlIHdpdGggbG9hZCBmaWx0ZXJpbmcuICBGaXJzdCwgbG9hZCBm
aWx0ZXJpbmcgbWF5IGJlIGFwcGxpZWQgdG8KICAgZGlmZmVyZW50IGlkZW50aXRpZXMgY29udGFp
bmVkIGluIGEgcmVxdWVzdCwgaW5jbHVkaW5nIGlkZW50aXRpZXMgb2YKICAgYm90aCB0aGUgcmVj
ZWl2aW5nIGVudGl0eSBhbmQgdGhlIHNlbmRpbmcgZW50aXR5LiAgU2Vjb25kLCB0aGUKICAgaW1w
b3J0YW5jZSBvZiBhdXRoZW50aWNhdGlvbiB2YXJpZXMgd2hlbiBkaWZmZXJlbnQgaWRlbnRpdGll
cyBvZiBhCiAgIHJlcXVlc3QgYXJlIGNvbmNlcm5lZC4gIFRoaXMgc3BlY2lmaWNhdGlvbiBkZWZp
bmVzIG5ldyBpZGVudGl0eQogICBjb25kaXRpb25zIHRoYXQgY2FuIGFjY29tbW9kYXRlIHRoZSBn
cmFudWxhcml0eSBvZiBzcGVjaWZpYyBTSVAKICAgaWRlbnRpdHkgaGVhZGVyIGZpZWxkcy4gIFRo
ZSByZXF1aXJlbWVudCBmb3IgYXV0aGVudGljYXRpb24gZGVwZW5kcwogICBvbiB3aGljaCBmaWVs
ZCBpcyB0byBiZSBtYXRjaGVkLgoKICAgVGhlIGlkZW50aXR5IGNvbmRpdGlvbiBmb3IgbG9hZCBm
aWx0ZXJpbmcgaXMgc3BlY2lmaWVkIGJ5IHRoZSA8Y2FsbC0KICAgaWRlbnRpdHk+IGVsZW1lbnQg
YW5kIGl0cyBzdWItZWxlbWVudCA8c2lwPi4gIFRoZSA8c2lwPiBlbGVtZW50CiAgIGl0c2VsZiBj
b250YWlucyBzdWItZWxlbWVudHMgcmVwcmVzZW50aW5nIFNJUCBzZW5kaW5nIGFuZCByZWNlaXZp
bmcKICAgaWRlbnRpdHkgaGVhZGVyIGZpZWxkczogPGZyb20+LCA8dG8+LCA8cmVxdWVzdC11cmk+
IGFuZCA8cC1hc3NlcnRlZC0KICAgaWRlbnRpdHk+LiAgQWxsIHRob3NlIHN1Yi1lbGVtZW50cyBh
cmUgb2YgYW4gZXh0ZW5kZWQgZm9ybSBvZiB0aGUKICAgW1JGQzQ3NDVdIDxpZGVudGl0eT4gZWxl
bWVudC4gIEluIGFkZGl0aW9uIHRvIHRoZSBzdWItZWxlbWVudHMKCgoKU2hlbiwgZXQgYWwuICAg
ICAgICAgICAgICBFeHBpcmVzIE1heSAwMywgMjAxNCAgICAgICAgICAgICAgICAgW1BhZ2UgMTZd
CgwKSW50ZXJuZXQtRHJhZnQgICAgICAgU0lQIExvYWQgQ29udHJvbCBFdmVudCBQYWNrYWdlICAg
ICAgICAgT2N0b2JlciAyMDEzCgoKICAgaW5jbHVkaW5nIDxvbmU+LCA8ZXhjZXB0PiwgYW5kIDxt
YW55PiBpbiB0aGUgW1JGQzQ3NDVdIDxpZGVudGl0eT4KICAgZWxlbWVudCwgdGhlIGV4dGVuZGVk
IGZvcm0gYWRkcyB0d28gbmV3IHN1Yi1lbGVtZW50cywgbmFtZWx5LCA8bWFueS0KICAgdGVsPiBh
bmQgPGV4Y2VwdC10ZWw+LCB3aGljaCB3aWxsIGJlIGV4cGxhaW5lZCBsYXRlciBpbiB0aGlzIHNl
Y3Rpb24uCgogICBUaGUgW1JGQzQ3NDVdIDxvbmU+IGFuZCA8ZXhjZXB0PiBlbGVtZW50cyBtYXkg
Y29udGFpbiBhbiAiaWQiCiAgIGF0dHJpYnV0ZSwgd2hpY2ggaXMgdGhlIFVSSSBvZiBhIHNpbmds
ZSBlbnRpdHkgdG8gYmUgaW5jbHVkZWQgb3IKICAgZXhjbHVkZWQgaW4gdGhlIGNvbmRpdGlvbi4g
IFdoZW4gdXNlZCBpbiB0aGUgPGZyb20+LCA8dG8+LCA8cmVxdWVzdC0KICAgdXJpPiBhbmQgPHAt
YXNzZXJ0ZWQtaWRlbnRpdHk+IGVsZW1lbnRzLCB0aGlzICJpZCIgdmFsdWUgaXMgdGhlIFVSSQog
ICBjb250YWluZWQgaW4gdGhlIGNvcnJlc3BvbmRpbmcgU0lQIGhlYWRlciBmaWVsZCwgaS5lLiwg
RnJvbSwgVG8sCiAgIFJlcXVlc3QtVVJJLCBhbmQgUC1Bc3NlcnRlZC1JZGVudGl0eS4KCiAgIFdo
ZW4gdGhlIDxjYWxsLWlkZW50aXR5PiBlbGVtZW50IGNvbnRhaW5zIG11bHRpcGxlIDxzaXA+IHN1
Yi0KICAgZWxlbWVudHMsIHRoZSByZXN1bHQgaXMgY29tYmluZWQgdXNpbmcgbG9naWNhbCBPUi4g
IFdoZW4gdGhlIDxmcm9tPiwKICAgPHRvPiwgPHJlcXVlc3QtdXJpPiBhbmQgPHAtYXNzZXJ0ZWQt
aWRlbnRpdHk+IGVsZW1lbnRzIGNvbnRhaW4KICAgbXVsdGlwbGUgPG9uZT4gb3IgPG1hbnk+IG9y
IDxtYW55LXRlbD4gc3ViLWVsZW1lbnRzLCB0aGUgcmVzdWx0IGlzCiAgIGFsc28gY29tYmluZWQg
dXNpbmcgbG9naWNhbCBPUi4gIFdoZW4gdGhlIDxtYW55PiBzdWItZWxlbWVudCBmdXJ0aGVyCiAg
IGNvbnRhaW5zIG9uZSBvciBtb3JlIDxleGNlcHQ+IHN1Yi1lbGVtZW50cywgb3Igd2hlbiB0aGUg
PG1hbnktdGVsPgogICBzdWItZWxlbWVudCBmdXJ0aGVyIGNvbnRhaW5zIG9uZSBvciBtb3JlIDxl
eGNlcHQtdGVsPiBzdWItZWxlbWVudHMsCiAgIHRoZSByZXN1bHQgb2YgZWFjaCA8ZXhjZXB0PiBv
ciA8ZXhjZXB0LXRlbD4gc3ViLWVsZW1lbnQgaXMgY29tYmluZWQKICAgdXNpbmcgYSBsb2dpY2Fs
IE9SLCBzaW1pbGFyIHRvIHRoYXQgb2YgdGhlIFtSRkM0NzQ1XSA8aWRlbnRpdHk+CiAgIGVsZW1l
bnQuICBIb3dldmVyLCB3aGVuIHRoZSA8c2lwPiBlbGVtZW50IGNvbnRhaW5zIG11bHRpcGxlIG9m
IHRoZQogICA8ZnJvbT4sIDx0bz4sIDxyZXF1ZXN0LXVyaT4gYW5kIDxwLWFzc2VydGVkLWlkZW50
aXR5PiBzdWItZWxlbWVudHMsCiAgIHRoZSByZXN1bHQgaXMgY29tYmluZWQgdXNpbmcgbG9naWNh
bCBBTkQuICBUaGlzIGFsbG93cyB0aGUgY2FsbAogICBpZGVudGl0eSB0byBiZSBzcGVjaWZpZWQg
YnkgbXVsdGlwbGUgZmllbGRzIG9mIGEgU0lQIHJlcXVlc3QKICAgc2ltdWx0YW5lb3VzbHksIGUu
Zy4sIGJvdGggdGhlIEZyb20gYW5kIHRoZSBUbyBoZWFkZXIgZmllbGRzLgoKICAgVGhlIGZvbGxv
d2luZyBzaG93cyBhbiBleGFtcGxlIG9mIHRoZSA8Y2FsbC1pZGVudGl0eT4gZWxlbWVudCwgd2hp
Y2gKICAgbWF0Y2hlcyBjYWxsIHJlcXVlc3RzIHdob3NlIFRvIGhlYWRlciBmaWVsZCBjb250YWlu
cyB0aGUgU0lQIFVSSQogICAic2lwOmFsaWNlQGhvdGxpbmUuZXhhbXBsZS5jb20iLCBvciB0aGUg
J3RlbCcgVVJJCiAgICJ0ZWw6KzEtMjEyLTU1NS0xMjM0Ii4KCgogICAgICAgICAgICAgICA8Y2Fs
bC1pZGVudGl0eT4KICAgICAgICAgICAgICAgICAgIDxzaXA+CiAgICAgICAgICAgICAgICAgICAg
ICAgPHRvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b25lIGlkPSJzaXA6YWxpY2VAaG90
bGluZS5leGFtcGxlLmNvbSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b25lIGlkPSJ0
ZWw6KzEtMjEyLTU1NS0xMjM0Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgPC90bz4KICAgICAg
ICAgICAgICAgICAgIDwvc2lwPgogICAgICAgICAgICAgICA8L2NhbGwtaWRlbnRpdHk+CgoKCiAg
IEJlZm9yZSBldmFsdWF0aW5nIGNhbGwtaWRlbnRpdHkgY29uZGl0aW9ucywgdGhlIHN1YnNjcmli
ZXIgc2hhbGwKICAgY29udmVydCBVUklzIHJlY2VpdmVkIGluIFNJUCBoZWFkZXIgZmllbGRzIGlu
IGNhbm9uaWNhbCBmb3JtIGFzIHBlcgogICBbUkZDMzI2MV0sIGV4Y2VwdCB0aGF0IHRoZSBwaG9u
ZS1jb250ZXh0IHBhcmFtZXRlciBzaGFsbCBub3QgYmUKICAgcmVtb3ZlZCwgaWYgcHJlc2VudC4K
CgoKClNoZW4sIGV0IGFsLiAgICAgICAgICAgICAgRXhwaXJlcyBNYXkgMDMsIDIwMTQgICAgICAg
ICAgICAgICAgIFtQYWdlIDE3XQoMCkludGVybmV0LURyYWZ0ICAgICAgIFNJUCBMb2FkIENvbnRy
b2wgRXZlbnQgUGFja2FnZSAgICAgICAgIE9jdG9iZXIgMjAxMwoKCiAgIFRoZSBbUkZDNDc0NV0g
PG1hbnk+IGFuZCA8ZXhjZXB0PiBlbGVtZW50cyBtYXkgdGFrZSBhICJkb21haW4iCiAgIGF0dHJp
YnV0ZS4gIFRoZSAiZG9tYWluIiBhdHRyaWJ1dGUgc3BlY2lmaWVzIGEgZG9tYWluIG5hbWUgdG8g
YmUKICAgbWF0Y2hlZCBieSB0aGUgZG9tYWluIHBhcnQgb2YgdGhlIGNhbmRpZGF0ZSBpZGVudGl0
eS4gIFRodXMsIGl0CiAgIGFsbG93cyBtYXRjaGluZyBhIGxhcmdlIGFuZCBwb3NzaWJseSB1bmtu
b3duIG51bWJlciBvZiBlbnRpdGllcwogICB3aXRoaW4gYSBkb21haW4uICBUaGUgImRvbWFpbiIg
YXR0cmlidXRlIHdvcmtzIHdlbGwgZm9yIFNJUCBVUklzLgoKICAgQSBVUkkgaWRlbnRpZnlpbmcg
YSBTSVAgdXNlciwgaG93ZXZlciwgY2FuIGFsc28gYmUgYSAndGVsJyBVUkkuICBXZQogICB0aGVy
ZWZvcmUgbmVlZCBhIHNpbWlsYXIgd2F5IHRvIG1hdGNoIGEgZ3JvdXAgb2YgJ3RlbCcgVVJJcy4K
ICAgQWNjb3JkaW5nIHRvIFtSRkMzOTY2XSwgdGhlcmUgYXJlIHR3byBmb3JtcyBvZiAndGVsJyBV
UklzIGZvciBnbG9iYWwKICAgbnVtYmVycyBhbmQgbG9jYWwgbnVtYmVycywgcmVzcGVjdGl2ZWx5
LiAgQWxsIHBob25lIG51bWJlcnMgbXVzdCBiZQogICBleHByZXNzZWQgaW4gZ2xvYmFsIGZvcm0g
d2hlbiBwb3NzaWJsZS4gIFRoZSBnbG9iYWwgbnVtYmVyICd0ZWwnIFVSSXMKICAgc3RhcnQgd2l0
aCBhICIrIi4gIFRoZSByZXN0IG9mIHRoZSBudW1iZXJzIGFyZSBleHByZXNzZWQgYXMgbG9jYWwK
ICAgbnVtYmVycywgd2hpY2ggbXVzdCBiZSBxdWFsaWZpZWQgYnkgYSAicGhvbmUtY29udGV4dCIg
cGFyYW1ldGVyLiAgVGhlCiAgICJwaG9uZS1jb250ZXh0IiBwYXJhbWV0ZXIgbWF5IGJlIGxhYmVs
bGVkIGFzIGEgZ2xvYmFsIG51bWJlciBvciBhbnkKICAgbnVtYmVyIG9mIGl0cyBsZWFkaW5nIGRp
Z2l0cywgb3IgYSBkb21haW4gbmFtZS4gIEJvdGggZm9ybXMgb2YgdGhlCiAgICd0ZWwnIFVSSSBt
YWtlIHRoZSByZXN1bHRpbmcgVVJJIGdsb2JhbGx5IHVuaXF1ZS4KCiAgICdUZWwnIFVSSXMgb2Yg
Z2xvYmFsIG51bWJlcnMgY2FuIGJlIGdyb3VwZWQgYnkgcHJlZml4ZXMgY29uc2lzdGluZyBvZgog
ICBhbnkgbnVtYmVyIG9mIGNvbW1vbiBsZWFkaW5nIGRpZ2l0cy4gIEZvciBleGFtcGxlLCBhIHBy
ZWZpeCBmb3JtZWQgYnkKICAgYSBjb3VudHJ5IGNvZGUgb3IgYm90aCB0aGUgY291bnRyeSBhbmQg
YXJlYSBjb2RlIGlkZW50aWZpZXMgdGVsZXBob25lCiAgIG51bWJlcnMgd2l0aGluIGEgY291bnRy
eSBvciBhbiBhcmVhLiAgU2luY2UgdGhlIGxlbmd0aCBvZiB0aGUgY291bnRyeQogICBhbmQgYXJl
YSBjb2RlIGZvciBkaWZmZXJlbnQgcmVnaW9ucyBhcmUgZGlmZmVyZW50LCB0aGUgbGVuZ3RoIG9m
IHRoZQogICBudW1iZXIgcHJlZml4IGFsc28gdmFyaWVzLiAgVGhpcyBhbGxvd3MgZnVydGhlciBm
bGV4aWJpbGl0eSBzdWNoIGFzCiAgIGdyb3VwaW5nIHRoZSBudW1iZXJzIGludG8gc3ViLWFyZWFz
IHdpdGhpbiB0aGUgc2FtZSBhcmVhIGNvZGUuICAnVGVsJwogICBVUklzIG9mIGxvY2FsIG51bWJl
cnMgY2FuIGJlIGdyb3VwZWQgYnkgdGhlIHZhbHVlIG9mIHRoZSAicGhvbmUtCiAgIGNvbnRleHQi
IHBhcmFtZXRlci4KCiAgIFRoZSA8bWFueT4gYW5kIDxleGNlcHQ+IHN1Yi1lbGVtZW50cyBpbiB0
aGUgW1JGQzQ3NDVdIDxpZGVudGl0eT4KICAgZWxlbWVudCBkbyBub3QgYWxsb3cgYWRkaXRpb25h
bCBhdHRyaWJ1dGVzIHRvIGJlIGFkZGVkIGRpcmVjdGx5LgogICBSZWRlZmluaW5nIGJlaGF2aW9y
IG9mIHRoZWlyIGV4aXN0aW5nIDxkb21haW4+IGF0dHJpYnV0ZSBjcmVhdGVzCiAgIGJhY2t3YXJk
LWNvbXBhdGliaWxpdHkgaXNzdWVzLiAgVGhlcmVmb3JlLCB0aGlzIHNwZWNpZmljYXRpb24gZGVm
aW5lcwogICB0aGUgPG1hbnktdGVsPiBhbmQgPGV4Y2VwdC10ZWw+IHN1Yi1lbGVtZW50cyB0aGF0
IGV4dGVuZCB0aGUKICAgW1JGQzQ3NDVdIDxpZGVudGl0eT4gZWxlbWVudC4gIEJvdGggb2YgdGhl
bSBoYXZlIGEgInByZWZpeCIgYXR0cmlidXRlCiAgIGZvciBncm91cGluZyAndGVsJyBVUklzLCBz
aW1pbGFyIHRvIHRoZSAiZG9tYWluIiBhdHRyaWJ1dGUgZm9yCiAgIGdyb3VwaW5nIFNJUCBVUklz
IGluIGV4aXN0aW5nIDxtYW55PiBhbmQgPGV4Y2VwdD4gc3ViLWVsZW1lbnRzLiAgRm9yCiAgIGds
b2JhbCBudW1iZXJzLCB0aGUgInByZWZpeCIgYXR0cmlidXRlIHZhbHVlIGhvbGRzIGFueSBudW1i
ZXIgb2YKICAgY29tbW9uIGxlYWRpbmcgZGlnaXRzLCBmb3IgZXhhbXBsZSwgIisxLTIxMiIgZm9y
IFUuUy4gcGhvbmUgbnVtYmVycwogICB3aXRoaW4gYXJlYSBjb2RlICIyMTIiIG9yICIrMS0yMTIt
ODU0IiBmb3IgdGhlIG9yZ2FuaXphdGlvbiB3aXRoIFUuUy4KICAgYXJlYSBjb2RlICIyMTIiIGFu
ZCBsb2NhbCBwcmVmaXggIjg1NCIuICBGb3IgbG9jYWwgbnVtYmVycywgdGhlCiAgICJwcmVmaXgi
IGF0dHJpYnV0ZSB2YWx1ZSBjb250YWlucyB0aGUgInBob25lLWNvbnRleHQiIHBhcmFtZXRlcgog
ICB2YWx1ZS4gIEl0IHNob3VsZCBiZSBub3RlZCB0aGF0IHZpc3VhbCBzZXBhcmF0b3JzIChzdWNo
IGFzIHRoZSAiLSIKICAgc2lnbikgaW4gJ3RlbCcgVVJJcyBhcmUgbm90IHVzZWQgZm9yIFVSSSBj
b21wYXJpc29uIGFzIHBlciBbUkZDMzk2Nl0uCgogICBUaGUgZm9sbG93aW5nIGV4YW1wbGUgc2hv
d3MgdGhlIHVzZSBvZiB0aGUgInByZWZpeCIgYXR0cmlidXRlIGFsb25nCiAgIHdpdGggdGhlICJk
b21haW4iIGF0dHJpYnV0ZS4gIEl0IG1hdGNoZXMgdGhvc2UgcmVxdWVzdHMgY2FsbGluZyB0bwog
ICB0aGUgbnVtYmVyICIrMS0yMDItOTk5LTEyMzQiIGJ1dCBhcmUgbm90IGNhbGxpbmcgZnJvbSBh
ICIrMS0yMTIiCiAgIHByZWZpeCBvciBhIFNJUCBGcm9tIFVSSSBkb21haW4gb2YgIm1hbmhhdHRh
bi5leGFtcGxlLmNvbSIuCgoKCgpTaGVuLCBldCBhbC4gICAgICAgICAgICAgIEV4cGlyZXMgTWF5
IDAzLCAyMDE0ICAgICAgICAgICAgICAgICBbUGFnZSAxOF0KDApJbnRlcm5ldC1EcmFmdCAgICAg
ICBTSVAgTG9hZCBDb250cm9sIEV2ZW50IFBhY2thZ2UgICAgICAgICBPY3RvYmVyIDIwMTMKCgog
ICAgICAgICAgICA8Y2FsbC1pZGVudGl0eT4KICAgICAgICAgICAgICAgIDxzaXA+CiAgICAgICAg
ICAgICAgICAgICAgPGZyb20+CiAgICAgICAgICAgICAgICAgICAgICAgIDxtYW55PgogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgPGV4Y2VwdCBkb21haW49Im1hbmhhdHRhbi5leGFtcGxlLmNv
bSIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L21hbnk+CiAgICAgICAgICAgICAgICAgICAg
ICAgIDxtYW55LXRlbD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleGNlcHQtdGVsIHBy
ZWZpeD0iKzEtMjEyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWFueS10ZWw+CiAgICAg
ICAgICAgICAgICAgICAgPC9mcm9tPgogICAgICAgICAgICAgICAgICAgIDx0bz4KICAgICAgICAg
ICAgICAgICAgICAgICAgPG9uZSBpZD0idGVsOisxLTIwMi05OTktMTIzNCIvPgogICAgICAgICAg
ICAgICAgICAgIDwvdG8+CiAgICAgICAgICAgICAgICA8L3NpcD4KICAgICAgICAgICAgPC9jYWxs
LWlkZW50aXR5PgoKCjcuMy4yLiAgTWV0aG9kCgogICBUaGUgbG9hZCBjcmVhdGVkIG9uIGEgU0lQ
IHNlcnZlciBkZXBlbmRzIG9uIHRoZSB0eXBlIG9mIGluaXRpYWwgU0lQCiAgIHJlcXVlc3RzIGZv
ciBkaWFsb2dzIG9yIHN0YW5kYWxvbmUgdHJhbnNhY3Rpb25zLiAgVGhlIDxtZXRob2Q+CiAgIGVs
ZW1lbnQgc3BlY2lmaWVzIHRoZSBTSVAgbWV0aG9kIHRvIHdoaWNoIHRoZSBsb2FkIGZpbHRlcmlu
ZyBhY3Rpb24KICAgYXBwbGllcy4gIFdoZW4gdGhpcyBlbGVtZW50IGlzIG5vdCBpbmNsdWRlZCwg
dGhlIGxvYWQgZmlsdGVyaW5nCiAgIGFjdGlvbnMgYXJlIGFwcGxpY2FibGUgdG8gYWxsIGFwcGxp
Y2FibGUgaW5pdGlhbCByZXF1ZXN0cy4gIFRoZXNlCiAgIHJlcXVlc3RzIGluY2x1ZGUgSU5WSVRF
LCBNRVNTQUdFLCBSRUdJU1RFUiwgU1VCU0NSSUJFLCBPUFRJT05TLCBhbmQKICAgUFVCTElTSC4g
IE5vbi1pbml0aWFsIHJlcXVlc3RzLCBzdWNoIGFzIEFDSywgQllFIGFuZCBDQU5DRUwgTVVTVCBO
T1QKICAgYmUgc3ViamVjdGVkIHRvIGxvYWQgZmlsdGVyaW5nLiAgSW4gYWRkaXRpb24sIFNVQlND
UklCRSByZXF1ZXN0cyBhcmUKICAgbm90IGZpbHRlcmVkIGlmIHRoZSBldmVudC10eXBlIGhlYWRl
ciBmaWVsZCBpbmRpY2F0ZXMgdGhlIGV2ZW50CiAgIHBhY2thZ2UgZGVmaW5lZCBpbiB0aGlzIHNw
ZWNpZmljYXRpb24uCgogICBUaGUgZm9sbG93aW5nIGV4YW1wbGUgc2hvd3MgdGhlIHVzZSBvZiB0
aGUgPG1ldGhvZD4gZWxlbWVudCBpbiB0aGUKICAgY2FzZSB0aGUgZmlsdGVyaW5nIGFjdGlvbnMg
c2hvdWxkIGJlIGFwcGxpZWQgdG8gSU5WSVRFIHJlcXVlc3RzLgoKICAgICAgICA8bWV0aG9kPklO
VklURTwvbWV0aG9kPgoKCjcuMy4zLiAgVGFyZ2V0IFNJUCBFbnRpdHkKCiAgIEEgU0lQIHNlcnZl
ciB0aGF0IHBlcmZvcm1zIGxvYWQgZmlsdGVyaW5nIG1heSBoYXZlIG11bHRpcGxlIHBhdGhzIHRv
CiAgIHJvdXRlIGNhbGwgcmVxdWVzdHMgbWF0Y2hpbmcgdGhlIHNhbWUgc2V0IG9mIGNhbGwgaWRl
bnRpdHkgZWxlbWVudHMuCiAgIEluIHRob3NlIHNpdHVhdGlvbnMsIHRoZSBTSVAgbG9hZCBmaWx0
ZXJpbmcgc2VydmVyIG1heSBkZXNpcmUgdG8gdGFrZQogICBhZHZhbnRhZ2Ugb2YgYWx0ZXJuYXRp
dmUgcGF0aHMgYW5kIG9ubHkgYXBwbHkgbG9hZCBmaWx0ZXJpbmcgYWN0aW9ucwogICB0byBtYXRj
aGluZyByZXF1ZXN0cyBmb3IgdGhlIG5leHQgaG9wIFNJUCBlbnRpdHkgdGhhdCBvcmlnaW5hdGVk
IHRoZQogICBjb3JyZXNwb25kaW5nIGxvYWQgZmlsdGVyaW5nIHBvbGljeS4gIFRvIGFjaGlldmUg
dGhhdCwgdGhlIFNJUCBsb2FkCiAgIGZpbHRlcmluZyBzZXJ2ZXIgbmVlZHMgdG8gYXNzb2NpYXRl
IGV2ZXJ5IGxvYWQgZmlsdGVyaW5nIHBvbGljeSB3aXRoCiAgIGl0cyBvcmlnaW5hdGluZyBTSVAg
ZW50aXR5LiAgVGhlIDx0YXJnZXQtc2lwLWVudGl0eT4gZWxlbWVudCBpcwogICBkZWZpbmVkIGZv
ciB0aGF0IHB1cnBvc2UgYW5kIGl0IGNvbnRhaW5zIHRoZSBVUkkgb2YgdGhlIGVudGl0eSB0aGF0
CiAgIGluaXRpYXRlZCB0aGUgbG9hZCBmaWx0ZXJpbmcgcG9saWN5LCB3aGljaCBpcyBnZW5lcmFs
bHkgdGhlCgoKClNoZW4sIGV0IGFsLiAgICAgICAgICAgICAgRXhwaXJlcyBNYXkgMDMsIDIwMTQg
ICAgICAgICAgICAgICAgIFtQYWdlIDE5XQoMCkludGVybmV0LURyYWZ0ICAgICAgIFNJUCBMb2Fk
IENvbnRyb2wgRXZlbnQgUGFja2FnZSAgICAgICAgIE9jdG9iZXIgMjAxMwoKCiAgIGNvcnJlc3Bv
bmRpbmcgbm90aWZpZXIuICBBIG5vdGlmaWVyIE1BWSBpbmNsdWRlIHRoaXMgZWxlbWVudCBhcyBw
YXJ0CiAgIG9mIHRoZSBjb25kaXRpb24gb2YgaXRzIGZpbHRlcmluZyBwb2xpY3kgYmVpbmcgc2Vu
dCB0byB0aGUKICAgc3Vic2NyaWJlciwgYXMgYmVsb3cuCgogICA8dGFyZ2V0LXNpcC1lbnRpdHk+
c2lwOmJpbG94aS5leGFtcGxlLmNvbTwvdGFyZ2V0LXNpcC1lbnRpdHk+CgoKICAgV2hlbiBhIFNJ
UCBsb2FkIGZpbHRlcmluZyBzZXJ2ZXIgcmVjZWl2ZXMgYSBwb2xpY3kgd2l0aCBhIDx0YXJnZXQt
CiAgIHNpcC1lbnRpdHk+IGVsZW1lbnQsIGl0IFNIT1VMRCByZWNvcmQgaXQgYW5kIHRha2UgaXQg
aW50bwogICBjb25zaWRlcmF0aW9uIHdoZW4gbWFraW5nIGxvYWQgZmlsdGVyaW5nIGRlY2lzaW9u
cy4gIElmIHRoZSBsb2FkCiAgIGZpbHRlcmluZyBzZXJ2ZXIgcmVjZWl2ZXMgYSBsb2FkIGZpbHRl
cmluZyBwb2xpY3kgdGhhdCBkb2VzIG5vdAogICBjb250YWluIGEgPHRhcmdldC1zaXAtZW50aXR5
PiBlbGVtZW50LCBpdCBNQVkgc3RpbGwgcmVjb3JkIHRoZSBVUkkgb2YKICAgdGhlIGxvYWQgZmls
dGVyaW5nIHBvbGljeSdzIG9yaWdpbmF0b3IgYXMgdGhlIDx0YXJnZXQtc2lwLWVudGl0eT4KICAg
aW5mb3JtYXRpb24gYW5kIGNvbnNpZGVyIGl0IHdoZW4gbWFraW5nIGxvYWQgZmlsdGVyaW5nIGRl
Y2lzaW9ucy4KCiAgICAgIFRoZSBmb2xsb3dpbmcgYXJlIHR3byBleGFtcGxlcyBvZiB1c2luZyB0
aGUgPHRhcmdldC1zaXAtZW50aXR5PgogICAgICBlbGVtZW50LgoKICAgICAgVXNlIGNhc2UgSTog
dGhlIG5ldHdvcmsgaGFzIHVzZXIgQSBjb25uZWN0ZWQgdG8gU0lQIFByb3h5IDEgKFNQMSksCiAg
ICAgIHVzZXIgQiBjb25uZWN0ZWQgdG8gU0lQIFByb3h5IDMgKFNQMyksIFNQMSBhbmQgU1AzIGNv
bm5lY3RlZCB2aWEKICAgICAgU0lQIFByb3h5IDIgKFNQMiksIGFuZCBTUDIgY29ubmVjdGVkIHRv
IGFuIEFwcGxpY2F0aW9uIFNlcnZlcgogICAgICAoQVMpLiAgVW5kZXIgbm9ybWFsIGxvYWQgY29u
ZGl0aW9ucywgYSBjYWxsIGZyb20gQSB0byBCIGlzIHJvdXRlZAogICAgICBhbG9uZyB0aGUgZm9s
bG93aW5nIHBhdGg6IEEtU1AxLVNQMi1BUy1TUDMtQi4gVGhlIEFTIHByb3ZpZGVzIGEKICAgICAg
bm9uLWVzc2VudGlhbCBzZXJ2aWNlIGFuZCBjYW4gYmUgYnlwYXNzZWQgaW4gY2FzZSBvZiBvdmVy
bG9hZC4KICAgICAgTm93IGxldCdzIGFzc3VtZSB0aGF0IEFTIGlzIG92ZXJsb2FkZWQgYW5kIHNl
bmRzIHRvIFNQMiBhIGxvYWQKICAgICAgZmlsdGVyaW5nIHBvbGljeSByZXF1ZXN0aW5nIHRoYXQg
NTAlIG9mIGFsbCBJTlZJVEUgcmVxdWVzdHMgYmUKICAgICAgZHJvcHBlZC4gIFNQMiBjYW4gbWFp
bnRhaW4gQVMgYXMgdGhlIDx0YXJnZXQtc2lwLWVudGl0eT4gZm9yIHRoYXQKICAgICAgcG9saWN5
IHNvIHRoYXQgaXQga25vd3MgdGhlIDUwJSBkcm9wIGFjdGlvbiBpcyBvbmx5IGFwcGxpY2FibGUg
dG8KICAgICAgY2FsbCByZXF1ZXN0cyB0aGF0IG11c3QgZ28gdGhyb3VnaCBBUywgd2l0aG91dCBh
ZmZlY3RpbmcgdGhvc2UKICAgICAgY2FsbHMgZGlyZWN0bHkgcm91dGVkIHRocm91Z2ggU1AzIHRv
IEIuCgogICAgICBVc2UgY2FzZSBJSTogQW4gODAwIHRyYW5zbGF0aW9uIHNlcnZpY2UgaXMgaW5z
dGFsbGVkIG9uIHR3bwogICAgICBBcHBsaWNhdGlvbiBTZXJ2ZXJzLCBBUzEgYW5kIEFTMi4gIFVz
ZXIgQSBpcyBjb25uZWN0ZWQgdG8gU1AxIGFuZAogICAgICBjYWxscyA4MDAtMTIzNC00NTI5LCB3
aGljaCBpcyB0cmFuc2xhdGVkIGJ5IEFTMSBhbmQgQVMyIGludG8gYQogICAgICByZWd1bGFyIEUu
MTY0IG51bWJlciBkZXBlbmRpbmcgb24sIGUuZy4sIHRoZSBjYWxsZXIncyBsb2NhdGlvbi4KICAg
ICAgU1AxIGZvcndhcmRzIElOVklURSByZXF1ZXN0cyB3aXRoIFJlcXVlc3QtVVJJID0gIjgwMCBu
dW1iZXIiIHRvCiAgICAgIEFTMSBvciBBUzIgYmFzZWQgb24gYSBsb2FkIGJhbGFuY2luZyBzdHJh
dGVneS4gIEFzIGNhbGxzIHRvCiAgICAgIDgwMC0xMjM0LTQ1MjkgY3JlYXRlcyBhIHByZS1vdmVy
bG9hZCBjb25kaXRpb24gaW4gQVMxLCBBUzEgc2VuZHMKICAgICAgdG8gU1AxIGEgbG9hZCBmaWx0
ZXJpbmcgcG9saWN5IHJlcXVlc3RpbmcgdGhhdCA1MCUgb2YgY2FsbHMKICAgICAgdG93YXJkcyA4
MDAtMTIzNC00NTI5IGJlIHJlamVjdGVkLiAgSW4gdGhpcyBjYXNlLCBTUDEgY2FuIG1haW50YWlu
CiAgICAgIEFTMSBhcyB0aGUgPHRhcmdldC1zaXAtZW50aXR5PiBmb3IgdGhlIHJ1bGUsIGFuZCBv
bmx5IGFwcGx5IHRoZQogICAgICBsb2FkIGZpbHRlcmluZyBwb2xpY3kgb24gaW5jb21pbmcgcmVx
dWVzdHMgdGhhdCBhcmUgaW50ZW5kZWQgdG8gYmUKICAgICAgc2VudCB0byBBUzEuICBUaG9zZSBy
ZXF1ZXN0cyB0aGF0IGFyZSBzZW50IHRvIEFTMiwgYWx0aG91Z2gKICAgICAgbWF0Y2hpbmcgdGhl
IDxjYWxsLWlkZW50aXR5PiBvZiB0aGUgZmlsdGVyLCB3aWxsIG5vdCBiZSBhZmZlY3RlZC4KCjcu
My40LiAgVmFsaWRpdHkKCiAgIEEgZmlsdGVyaW5nIHBvbGljeSBpcyB1c3VhbGx5IGFzc29jaWF0
ZWQgd2l0aCBhIHZhbGlkaXR5IHBlcmlvZAoKCgpTaGVuLCBldCBhbC4gICAgICAgICAgICAgIEV4
cGlyZXMgTWF5IDAzLCAyMDE0ICAgICAgICAgICAgICAgICBbUGFnZSAyMF0KDApJbnRlcm5ldC1E
cmFmdCAgICAgICBTSVAgTG9hZCBDb250cm9sIEV2ZW50IFBhY2thZ2UgICAgICAgICBPY3RvYmVy
IDIwMTMKCgogICBjb25kaXRpb24uICBUaGlzIHNwZWNpZmljYXRpb24gcmV1c2VzIHRoZSA8dmFs
aWRpdHk+IGVsZW1lbnQgb2YKICAgW1JGQzQ3NDVdLCB3aGljaCBzcGVjaWZpZXMgYSBwZXJpb2Qg
b2YgdmFsaWRpdHkgdGltZSBieSBwYWlycyBvZgogICA8ZnJvbT4gYW5kIDx1bnRpbD4gc3ViLWVs
ZW1lbnRzLiAgV2hlbiBtdWx0aXBsZSB0aW1lIHBlcmlvZHMgYXJlCiAgIGRlZmluZWQsIHRoZSB2
YWxpZGl0eSBjb25kaXRpb24gaXMgZXZhbHVhdGVkIHRvIFRSVUUgaWYgdGhlIGN1cnJlbnQKICAg
dGltZSBmYWxscyBpbnRvIGFueSBvZiB0aGUgc3BlY2lmaWVkIHRpbWUgcGVyaW9kcy4gaS5lLiwg
aXQKICAgcmVwcmVzZW50cyBhIGxvZ2ljYWwgT1Igb3BlcmF0aW9uIGFjcm9zcyBhbGwgdmFsaWRp
dHkgdGltZSBwZXJpb2RzLgoKICAgVGhlIGZvbGxvd2luZyBleGFtcGxlIHNob3dzIGEgPHZhbGlk
aXR5PiBlbGVtZW50IHNwZWNpZnlpbmcgYSB2YWxpZAogICBwZXJpb2QgZnJvbSAxMjowMCB0byAx
NTowMCBVUyBFYXN0ZXJuIFN0YW5kYXJkIFRpbWUgb24gMjAwOC0wNS0zMS4KCiAgICAgICAgICAg
IDx2YWxpZGl0eT4KICAgICAgICAgICAgICAgIDxmcm9tPjIwMDgtMDUtMzFUMTI6MDA6MDAtMDU6
MDA8L2Zyb20+CiAgICAgICAgICAgICAgICA8dW50aWw+MjAwOC0wNS0zMVQxNTowMDowMC0wNTow
MDwvdW50aWw+CiAgICAgICAgICAgIDwvdmFsaWRpdHk+CgoKNy40LiAgQWN0aW9ucwoKICAgVGhl
IGFjdGlvbnMgYSBsb2FkIGZpbHRlcmluZyBzZXJ2ZXIgdGFrZXMgb24gbG9hZHMgbWF0Y2hpbmcg
dGhlIGxvYWQKICAgZmlsdGVyaW5nIGNvbmRpdGlvbnMgYXJlIGRlZmluZWQgYnkgdGhlIDxhY2Nl
cHQ+IGVsZW1lbnQgaW4gdGhlIGxvYWQKICAgZmlsdGVyaW5nIHBvbGljeSwgd2hpY2ggaW5jbHVk
ZXMgYW55IG9uZSBvZiB0aGUgdGhyZWUgc3ViLWVsZW1lbnRzCiAgIDxyYXRlPiwgPHBlcmNlbnQ+
LCBhbmQgPHdpbj4uICBUaGUgPHJhdGU+IGVsZW1lbnQgZGVub3RlcyBhbiBhYnNvbHV0ZQogICB2
YWx1ZSBvZiB0aGUgbWF4aW11bSBhY2NlcHRhYmxlIHJlcXVlc3QgcmF0ZSBpbiByZXF1ZXN0cyBw
ZXIgc2Vjb25kOwogICB0aGUgPHBlcmNlbnQ+IGVsZW1lbnQgc3BlY2lmaWVzIHRoZSByZWxhdGl2
ZSBwZXJjZW50YWdlIG9mIGluY29taW5nCiAgIHJlcXVlc3RzIHRoYXQgc2hvdWxkIGJlIGFjY2Vw
dGVkOyB0aGUgPHdpbj4gZWxlbWVudCBkZXNjcmliZXMgdGhlCiAgIGFjY2VwdGFibGUgd2luZG93
IHNpemUgc3VwcGxpZWQgYnkgdGhlIHJlY2VpdmVyLCB3aGljaCBpcyBhcHBsaWNhYmxlCiAgIGlu
IHdpbmRvdy1iYXNlZCBsb2FkIGZpbHRlcmluZy4gIEluIHN0YXRpYyBsb2FkIGZpbHRlcmluZyBw
b2xpY3kKICAgY29uZmlndXJhdGlvbiBzY2VuYXJpb3MsIHVzaW5nIHRoZSA8cmF0ZT4gc3ViLWVs
ZW1lbnQgaXMgUkVDT01NRU5ERUQKICAgYmVjYXVzZSBpdCBpcyBoYXJkIHRvIGVuZm9yY2UgdGhl
IHBlcmNlbnRhZ2UgcmF0ZSBvciB3aW5kb3ctYmFzZWQKICAgbG9hZCBmaWx0ZXJpbmcgd2hlbiBp
bmNvbWluZyBsb2FkIGZyb20gdXBzdHJlYW0gb3IgcmVhY3Rpb25zIGZyb20KICAgZG93bnN0cmVh
bSBhcmUgdW5jZXJ0YWluLiAgKFNlZSBbSS1ELmlldGYtc29jLW92ZXJsb2FkLWNvbnRyb2xdCiAg
IFtSRkM2MzU3XSBmb3IgbW9yZSBkZXRhaWxzIG9uIHJhdGUtYmFzZWQsIGxvc3MtYmFzZWQgYW5k
IHdpbmRvdy1iYXNlZAogICBsb2FkIGNvbnRyb2wuKQoKICAgSW4gYWRkaXRpb24sIHRoZSA8YWNj
ZXB0PiBlbGVtZW50IHRha2VzIGFuIG9wdGlvbmFsICJhbHQtYWN0aW9uIgogICBhdHRyaWJ1dGUg
d2hpY2ggY2FuIGJlIHVzZWQgdG8gZXhwbGljaXRseSBzcGVjaWZ5IHRoZSBkZXNpcmVkIGFjdGlv
bgogICBpbiBjYXNlIGEgcmVxdWVzdCBjYW5ub3QgYmUgcHJvY2Vzc2VkLiAgVGhlICJhbHQtYWN0
aW9uIiBjYW4gdGFrZSBvbmUKICAgb2YgdGhlIGZvbGxvd2luZyB0aHJlZSB2YWx1ZXM6ICJyZWpl
Y3QiLCAicmVkaXJlY3QiIGFuZCAiZHJvcCIuCgogICBvICBUaGUgInJlamVjdCIgYWN0aW9uIGlz
IHRoZSBkZWZhdWx0IHZhbHVlIGZvciAiYWx0LWFjdGlvbiIuICBJdAogICAgICBtZWFucyB0aGF0
IHRoZSBsb2FkIGZpbHRlcmluZyBzZXJ2ZXIgd2lsbCByZWplY3QgdGhlIHJlcXVlc3Qgd2l0aAog
ICAgICBhIDUwMyAoU2VydmljZSBVbmF2YWlsYWJsZSkgcmVzcG9uc2UgbWVzc2FnZS4KCiAgIG8g
IFRoZSAicmVkaXJlY3QiIGFjdGlvbiBtZWFucyByZWRpcmVjdGluZyB0aGUgcmVxdWVzdCB0byBh
bm90aGVyCiAgICAgIHRhcmdldC4gIFdoZW4gaXQgaXMgdXNlZCwgYW4gImFsdC10YXJnZXQiIGF0
dHJpYnV0ZSBNVVNUIGJlCiAgICAgIGRlZmluZWQuICBUaGUgImFsdC10YXJnZXQiIHNwZWNpZmll
cyBvbmUgVVJJIG9yIGEgbGlzdCBvZiBVUklzCiAgICAgIHdoZXJlIHRoZSByZXF1ZXN0IHNob3Vs
ZCBiZSByZWRpcmVjdGVkLiAgVGhlIHNlcnZlciBzZW5kcyBvdXQgdGhlCiAgICAgIHJlZGlyZWN0
IFVSSXMgaW4gYSAzMDAtY2xhc3MgcmVzcG9uc2UgbWVzc2FnZS4KCgoKU2hlbiwgZXQgYWwuICAg
ICAgICAgICAgICBFeHBpcmVzIE1heSAwMywgMjAxNCAgICAgICAgICAgICAgICAgW1BhZ2UgMjFd
CgwKSW50ZXJuZXQtRHJhZnQgICAgICAgU0lQIExvYWQgQ29udHJvbCBFdmVudCBQYWNrYWdlICAg
ICAgICAgT2N0b2JlciAyMDEzCgoKICAgbyAgVGhlICJkcm9wIiBhY3Rpb24gbWVhbnMgc2ltcGx5
IGlnbm9yaW5nIHRoZSByZXF1ZXN0IHdpdGhvdXQgZG9pbmcKICAgICAgYW55dGhpbmcsIHdoaWNo
IGNhbiBpbiBjZXJ0YWluIGNhc2VzIGhlbHAgc2F2ZSBwcm9jZXNzaW5nCiAgICAgIGNhcGFiaWxp
dHkgZHVyaW5nIG92ZXJsb2FkLiAgRm9yIGV4YW1wbGUsIHdoZW4gU0lQIGlzIHJ1bm5pbmcgb3Zl
cgogICAgICBhIHJlbGlhYmxlIHRyYW5zcG9ydCBzdWNoIGFzIFRDUCwgdGhlICJkcm9wIiBhY3Rp
b24gZG9lcyBub3Qgc2VuZAogICAgICBvdXQgdGhlIHJlamVjdGlvbiByZXNwb25zZSwgbmVpdGhl
ciBkb2VzIGl0IGNsb3NlIHRoZSB0cmFuc3BvcnQKICAgICAgY29ubmVjdGlvbi4gIFRoZSAiZHJv
cCIgYWN0aW9uIGlzIGdlbmVyYWxseSBhbHNvIGdvb2QgYXQgZGVhbGluZwogICAgICB3aXRoIHRl
bGVwaG9ueSBET1MgYXR0YWNrcy4gIEhvd2V2ZXIsIHdoZW4gcnVubmluZyBTSVAgb3ZlciBhbgog
ICAgICB1bnJlbGlhYmxlIHRyYW5zcG9ydCBzdWNoIGFzIFVEUCwgdXNpbmcgdGhlICJkcm9wIiBh
Y3Rpb24gd2lsbAogICAgICBjcmVhdGUgbWVzc2FnZSByZXRyYW5zbWlzc2lvbnMgdGhhdCBmdXJ0
aGVyIHdvcnNlbiB0aGUgcG9zc2libGUKICAgICAgb3ZlcmxvYWQgc2l0dWF0aW9uLiAgVGhlcmVm
b3JlLCBhbnkgImRyb3AiIGFjdGlvbiBhcHBsaWVkIHRvIGFuCiAgICAgIHVucmVsaWFibGUgdHJh
bnNwb3J0IE1VU1QgYmUgdHJlYXRlZCBhcyBpZiBpdCB3ZXJlICJyZWplY3QiLgoKICAgSW4gdGhl
IGZvbGxvd2luZyA8YWN0aW9ucz4gZWxlbWVudCBleGFtcGxlLCB0aGUgc2VydmVyIGFjY2VwdHMK
ICAgbWF4aW11bSBvZiAxMDAgY2FsbCByZXF1ZXN0cyBwZXIgc2Vjb25kLiAgVGhlIHJlbWFpbmlu
ZyBjYWxscyBhcmUKICAgcmVkaXJlY3RlZCB0byBhbiBhbnN3ZXJpbmcgbWFjaGluZS4KCiAgICAg
ICAgPGFjdGlvbnM+CiAgICAgICAgICAgIDxhY2NlcHQgYWx0LWFjdGlvbj0icmVkaXJlY3QiIGFs
dC10YXJnZXQ9CiAgICAgICAgICAgICAgICAgICAgInNpcDphbnN3ZXItbWFjaGluZUBleGFtcGxl
LmNvbSI+CiAgICAgICAgICAgICAgICA8cmF0ZT4xMDA8L3JhdGU+CiAgICAgICAgICAgIDwvYWNj
ZXB0PgogICAgICAgIDwvYWN0aW9ucz4KCgo3LjUuICBDb21wbGV0ZSBFeGFtcGxlcwoKNy41LjEu
ICBMb2FkIENvbnRyb2wgRG9jdW1lbnQgRXhhbXBsZXMKCiAgIFRoaXMgc2VjdGlvbiBwcmVzZW50
cyB0d28gY29tcGxldGUgZXhhbXBsZXMgb2YgbG9hZCBjb250cm9sIGRvY3VtZW50cwogICB2YWxp
ZCB3aXRoIHJlc3BlY3QgdG8gdGhlIFhNTCBzY2hlbWEgZGVmaW5lZCBpbiBTZWN0aW9uIDguCgog
ICBUaGUgZmlyc3QgZXhhbXBsZSBhc3N1bWVzIHRoYXQgYSBzZXQgb2YgaG90bGluZXMgYXJlIHNl
dCB1cCBhdAogICAic2lwOmFsaWNlQGhvdGxpbmUuZXhhbXBsZS5jb20iIGFuZCAidGVsOisxLTIx
Mi01NTUtMTIzNCIuICBUaGUKICAgaG90bGluZXMgYXJlIGFjdGl2YXRlZCBmcm9tIDEyOjAwIHRv
IDE1OjAwIFVTIEVhc3Rlcm4gU3RhbmRhcmQgVGltZQogICBvbiAyMDA4LTA1LTMxLiAgVGhlIGdv
YWwgaXMgdG8gbGltaXQgdGhlIGluY29taW5nIGNhbGxzIHRvIHRoZQogICBob3RsaW5lcyB0byAx
MDAgcmVxdWVzdHMgcGVyIHNlY29uZC4gIENhbGxzIHRoYXQgZXhjZWVkIHRoZSByYXRlCiAgIGxp
bWl0IGFyZSBleHBsaWNpdGx5IHJlamVjdGVkLgoKICAgPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNv
ZGluZz0iVVRGLTgiPz4KICAgPHJ1bGVzZXQgeG1sbnM9InVybjppZXRmOnBhcmFtczp4bWw6bnM6
Y29tbW9uLXBvbGljeSIKICAgICAgICAgICAgICAgeG1sbnM6bGM9InVybjppZXRmOnBhcmFtczp4
bWw6bnM6bG9hZC1jb250cm9sIgogICAgICAgICAgICAgICB2ZXJzaW9uPSIwIiBzdGF0ZT0iZnVs
bCI+CgogICAgICAgPHJ1bGUgaWQ9ImYzZzQ0azEiPgogICAgICAgICAgIDxjb25kaXRpb25zPgog
ICAgICAgICAgICAgICA8bGM6Y2FsbC1pZGVudGl0eT4KICAgICAgICAgICAgICAgICAgIDxsYzpz
aXA+CiAgICAgICAgICAgICAgICAgICAgICAgPGxjOnRvPgoKCgpTaGVuLCBldCBhbC4gICAgICAg
ICAgICAgIEV4cGlyZXMgTWF5IDAzLCAyMDE0ICAgICAgICAgICAgICAgICBbUGFnZSAyMl0KDApJ
bnRlcm5ldC1EcmFmdCAgICAgICBTSVAgTG9hZCBDb250cm9sIEV2ZW50IFBhY2thZ2UgICAgICAg
ICBPY3RvYmVyIDIwMTMKCgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b25lIGlkPSJzaXA6
YWxpY2VAaG90bGluZS5leGFtcGxlLmNvbSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8
b25lIGlkPSJ0ZWw6KzEtMjEyLTU1NS0xMjM0Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgPC9s
Yzp0bz4KICAgICAgICAgICAgICAgICAgIDwvbGM6c2lwPgogICAgICAgICAgICAgICA8L2xjOmNh
bGwtaWRlbnRpdHk+CiAgICAgICAgICAgICAgIDxtZXRob2Q+SU5WSVRFPC9tZXRob2Q+CiAgICAg
ICAgICAgICAgIDx2YWxpZGl0eT4KICAgICAgICAgICAgICAgICAgIDxmcm9tPjIwMDgtMDUtMzFU
MTI6MDA6MDAtMDU6MDA8L2Zyb20+CiAgICAgICAgICAgICAgICAgICA8dW50aWw+MjAwOC0wNS0z
MVQxNTowMDowMC0wNTowMDwvdW50aWw+CiAgICAgICAgICAgICAgIDwvdmFsaWRpdHk+CiAgICAg
ICAgICAgPC9jb25kaXRpb25zPgogICAgICAgICAgIDxhY3Rpb25zPgogICAgICAgICAgICAgICA8
bGM6YWNjZXB0IGFsdC1hY3Rpb249InJlamVjdCI+CiAgICAgICAgICAgICAgICAgICA8bGM6cmF0
ZT4xMDA8L2xjOnJhdGU+CiAgICAgICAgICAgICAgIDwvbGM6YWNjZXB0PgogICAgICAgICAgIDwv
YWN0aW9ucz4KCiAgICAgICA8L3J1bGU+CiAgIDwvcnVsZXNldD4KCgoKICAgVGhlIHNlY29uZCBl
eGFtcGxlIGNvbnNpZGVycyBvcHRpbWl6aW5nIHNlcnZlciByZXNvdXJjZSB1c2FnZSBvZiBhCiAg
IHRocmVlLWRheSBwZXJpb2QgZHVyaW5nIHRoZSBhZnRlcm1hdGggb2YgYSBodXJyaWNhbmUuICBJ
bmNvbWluZyBjYWxscwogICB0byB0aGUgZG9tYWluICJzYW5keS5leGFtcGxlLmNvbSIgb3IgdG8g
Y2FsbCBkZXN0aW5hdGlvbnMgd2l0aCBwcmVmaXgKICAgIisxLTIxMiIgd2lsbCBiZSBsaW1pdGVk
IHRvIGEgcmF0ZSBvZiAxMDAgcmVxdWVzdHMgcGVyIHNlY29uZCwgZXhjZXB0CiAgIGZvciB0aG9z
ZSBjYWxscyBvcmlnaW5hdGluZyBmcm9tIGEgcGFydGljdWxhciByZXNjdWUgdGVhbSBkb21haW4K
ICAgInJlc2N1ZS5leGFtcGxlLmNvbSIuICBPdXRnb2luZyBjYWxscyBmcm9tIHRoZSBodXJyaWNh
bmUgZG9tYWluIG9yCiAgIGNhbGxzIHdpdGhpbiB0aGUgbG9jYWwgZG9tYWluIGFyZSBuZXZlciBs
aW1pdGVkLiAgQWxsIGNhbGxzIHRoYXQgYXJlCiAgIHRocm90dGxlZCBkdWUgdG8gdGhlIHJhdGUg
bGltaXQgd2lsbCBiZSBmb3J3YXJkZWQgdG8gYW4gYW5zd2VyaW5nCiAgIG1hY2hpbmUgd2l0aCB1
cGRhdGVkIGh1cnJpY2FuZSByZXNjdWUgaW5mb3JtYXRpb24uCgogICA8P3htbCB2ZXJzaW9uPSIx
LjAiIGVuY29kaW5nPSJVVEYtOCI/PgogICA8cnVsZXNldCB4bWxucz0idXJuOmlldGY6cGFyYW1z
OnhtbDpuczpjb21tb24tcG9saWN5IgogICAgICAgeG1sbnM6bGM9InVybjppZXRmOnBhcmFtczp4
bWw6bnM6bG9hZC1jb250cm9sIgogICAgICAgdmVyc2lvbj0iMSIgc3RhdGU9ImZ1bGwiPgoKICAg
ICAgIDxydWxlIGlkPSJmM2c0NGsyIj4KICAgICAgICAgICA8Y29uZGl0aW9ucz4KICAgICAgICAg
ICAgICAgPGxjOmNhbGwtaWRlbnRpdHk+CiAgICAgICAgICAgICAgICAgICA8bGM6c2lwPgogICAg
ICAgICAgICAgICAgICAgICAgIDxsYzp0bz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1h
bnkgZG9tYWluPSJzYW5keS5leGFtcGxlLmNvbSIvPgogICAgICAgICAgICAgICAgICAgICAgICAg
ICA8bWFueS10ZWwgcHJlZml4PSIrMS0yMTIiLz4KICAgICAgICAgICAgICAgICAgICAgICA8L2xj
OnRvPgogICAgICAgICAgICAgICAgICAgICAgIDxsYzpmcm9tPgogICAgICAgICAgICAgICAgICAg
ICAgICAgICA8bWFueT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleGNlcHQgZG9t
YWluPSJzYW5keS5leGFtcGxlLmNvbSIvPgoKCgpTaGVuLCBldCBhbC4gICAgICAgICAgICAgIEV4
cGlyZXMgTWF5IDAzLCAyMDE0ICAgICAgICAgICAgICAgICBbUGFnZSAyM10KDApJbnRlcm5ldC1E
cmFmdCAgICAgICBTSVAgTG9hZCBDb250cm9sIEV2ZW50IFBhY2thZ2UgICAgICAgICBPY3RvYmVy
IDIwMTMKCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4Y2VwdCBkb21haW49InJl
c2N1ZS5leGFtcGxlLmNvbSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hbnk+CiAg
ICAgICAgICAgICAgICAgICAgICAgPC9sYzpmcm9tPgogICAgICAgICAgICAgICAgICAgPC9sYzpz
aXA+CiAgICAgICAgICAgICAgIDwvbGM6Y2FsbC1pZGVudGl0eT4KICAgICAgICAgICAgICAgPG1l
dGhvZD5JTlZJVEU8L21ldGhvZD4KICAgICAgICAgICAgICAgPHZhbGlkaXR5PgogICAgICAgICAg
ICAgICAgICAgPGZyb20+MjAxMi0xMC0yNVQwOTowMDowMCswMTowMDwvZnJvbT4KICAgICAgICAg
ICAgICAgICAgIDx1bnRpbD4yMDEyLTEwLTI4VDA5OjAwOjAwKzAxOjAwPC91bnRpbD4KICAgICAg
ICAgICAgICAgPC92YWxpZGl0eT4KICAgICAgICAgICA8L2NvbmRpdGlvbnM+CiAgICAgICAgICAg
PGFjdGlvbnM+CiAgICAgICAgICAgICAgIDxsYzphY2NlcHQgYWx0LWFjdGlvbj0icmVkaXJlY3Qi
IGFsdC10YXJnZXQ9CiAgICAgICAgICAgICAgICAgICAgICAgInNpcDpzYW5keUB1cGRhdGUuZXhh
bXBsZS5jb20iPgogICAgICAgICAgICAgICAgICAgPGxjOnJhdGU+MTAwPC9sYzpyYXRlPgogICAg
ICAgICAgICAgICA8L2xjOmFjY2VwdD4KICAgICAgICAgICA8L2FjdGlvbnM+CgogICAgICAgPC9y
dWxlPgogICA8L3J1bGVzZXQ+CgoKCiAgIFNvbWV0aW1lcyBpdCBtYXkgb2NjdXIgdGhhdCBtdWx0
aXBsZSBydWxlcyBpbiBhIHJ1bGVzZXQgZGVmaW5lCiAgIGFjdGlvbnMgdGhhdCBtYXRjaCB0aGUg
c2FtZSBtZXRob2RzLCBjYWxsIGlkZW50aXR5IGFuZCB2YWxpZGl0eS4gIEluCiAgIHRob3NlIGNh
c2VzLCB0aGUgImZpcnN0LW1hdGNoLXdpbnMiIHByaW5jaXBsZSBpcyB1c2VkLiAgRm9yIGV4YW1w
bGUsCiAgIGluIHRoZSBmb2xsb3dpbmcgcnVsZXNldCwgdGhlIGZpcnN0IHJ1bGUgcmVxdWlyZXMg
YWxsIGNhbGxzIGZyb20gdGhlCiAgICJleGFtcGxlLmNvbSIgZG9tYWluIHRvIGJlIHJlamVjdGVk
LiAgRXZlbiB0aG91Z2ggdGhlIHJ1bGUgZm9sbG93aW5nCiAgIHRoYXQgb25lIHNwZWNpZmllcyB0
aGF0IGNhbGxzIGZyb20gInNpcDphbGljZUBleGFtcGxlLmNvbSIgYmUKICAgcmVkaXJlY3RlZCB0
byBhIHNwZWNpZmljIHRhcmdldCAic2lwOmV2ZUBleGFtcGxlLmNvbSIsIHRoZSBjYWxscyBmcm9t
CiAgICJzaXA6YWxpY2VAZXhhbXBsZS5jb20iIHdpbGwgc3RpbGwgYmUgcmVqZWN0ZWQgYmVjYXVz
ZSB0aGV5IGhhdmUKICAgYWxyZWFkeSBiZWVuIG1hdGNoZWQgYnkgdGhlIGVhcmxpZXIgcnVsZS4K
CiAgIDw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+CiAgIDxydWxlc2V0IHht
bG5zPSJ1cm46aWV0ZjpwYXJhbXM6eG1sOm5zOmNvbW1vbi1wb2xpY3kiCiAgICAgICB4bWxuczps
Yz0idXJuOmlldGY6cGFyYW1zOnhtbDpuczpsb2FkLWNvbnRyb2wiCiAgICAgICB2ZXJzaW9uPSIx
IiBzdGF0ZT0iZnVsbCI+CgogICAgICAgPHJ1bGUgaWQ9ImYzZzQ0azMiPgogICAgICAgICAgIDxj
b25kaXRpb25zPgogICAgICAgICAgICAgICA8bGM6Y2FsbC1pZGVudGl0eT4KICAgICAgICAgICAg
ICAgICAgIDxsYzpzaXA+CiAgICAgICAgICAgICAgICAgICAgICAgPGxjOmZyb20+CiAgICAgICAg
ICAgICAgICAgICAgICAgICAgIDxtYW55IGRvbWFpbj0iZXhhbXBsZS5jb20iLz4KICAgICAgICAg
ICAgICAgICAgICAgICA8L2xjOmZyb20+CiAgICAgICAgICAgICAgICAgICA8L2xjOnNpcD4KICAg
ICAgICAgICAgICAgPC9sYzpjYWxsLWlkZW50aXR5PgogICAgICAgICAgICAgICA8bWV0aG9kPklO
VklURTwvbWV0aG9kPgoKCgpTaGVuLCBldCBhbC4gICAgICAgICAgICAgIEV4cGlyZXMgTWF5IDAz
LCAyMDE0ICAgICAgICAgICAgICAgICBbUGFnZSAyNF0KDApJbnRlcm5ldC1EcmFmdCAgICAgICBT
SVAgTG9hZCBDb250cm9sIEV2ZW50IFBhY2thZ2UgICAgICAgICBPY3RvYmVyIDIwMTMKCgogICAg
ICAgICAgICAgICA8dmFsaWRpdHk+CiAgICAgICAgICAgICAgICAgICA8ZnJvbT4yMDEzLTctMlQw
OTowMDowMCswMTowMDwvZnJvbT4KICAgICAgICAgICAgICAgICAgIDx1bnRpbD4yMDEzLTctM1Qw
OTowMDowMCswMTowMDwvdW50aWw+CiAgICAgICAgICAgICAgIDwvdmFsaWRpdHk+CiAgICAgICAg
ICAgPC9jb25kaXRpb25zPgogICAgICAgICAgIDxhY3Rpb25zPgogICAgICAgICAgICAgICA8bGM6
YWNjZXB0IGFsdC1hY3Rpb249InJlamVjdCI+CiAgICAgICAgICAgICAgICAgICA8bGM6cmF0ZT4w
PC9sYzpyYXRlPgogICAgICAgICAgICAgICA8L2xjOmFjY2VwdD4KICAgICAgICAgICA8L2FjdGlv
bnM+CiAgICAgICA8L3J1bGU+CgogICAgICAgPHJ1bGUgaWQ9ImYzZzQ0azQiPgogICAgICAgICAg
IDxjb25kaXRpb25zPgogICAgICAgICAgICAgICA8bGM6Y2FsbC1pZGVudGl0eT4KICAgICAgICAg
ICAgICAgICAgIDxsYzpzaXA+CiAgICAgICAgICAgICAgICAgICAgICAgPGxjOmZyb20+CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDxvbmUgaWQ9InNpcDphbGljZUBleGFtcGxlLmNvbSIvPgog
ICAgICAgICAgICAgICAgICAgICAgIDwvbGM6ZnJvbT4KICAgICAgICAgICAgICAgICAgIDwvbGM6
c2lwPgogICAgICAgICAgICAgICA8L2xjOmNhbGwtaWRlbnRpdHk+CiAgICAgICAgICAgICAgIDxt
ZXRob2Q+SU5WSVRFPC9tZXRob2Q+CiAgICAgICAgICAgICAgIDx2YWxpZGl0eT4KICAgICAgICAg
ICAgICAgICAgIDxmcm9tPjIwMTMtNy0yVDA5OjAwOjAwKzAxOjAwPC9mcm9tPgogICAgICAgICAg
ICAgICAgICAgPHVudGlsPjIwMTMtNy0zVDA5OjAwOjAwKzAxOjAwPC91bnRpbD4KICAgICAgICAg
ICAgICAgPC92YWxpZGl0eT4KICAgICAgICAgICA8L2NvbmRpdGlvbnM+CiAgICAgICAgICAgPGFj
dGlvbnM+CiAgICAgICAgICAgICAgIDxsYzphY2NlcHQgYWx0LWFjdGlvbj0icmVkaXJlY3QiIGFs
dC10YXJnZXQ9CiAgICAgICAgICAgICAgICAgICAgICAgInNpcDpldmVAZXhhbXBsZS5jb20iPgog
ICAgICAgICAgICAgICAgICAgPGxjOnJhdGU+MDwvbGM6cmF0ZT4KICAgICAgICAgICAgICAgPC9s
YzphY2NlcHQ+CiAgICAgICAgICAgPC9hY3Rpb25zPgogICAgICAgPC9ydWxlPgoKICAgPC9ydWxl
c2V0PgoKCgo3LjUuMi4gIE1lc3NhZ2UgRmxvdyBFeGFtcGxlcwoKICAgVGhpcyBzZWN0aW9uIHBy
ZXNlbnRzIGFuIGV4YW1wbGUgbWVzc2FnZSBmbG93IG9mIHVzaW5nIHRoZSBsb2FkCiAgIGNvbnRy
b2wgZXZlbnQgcGFja2FnZSBtZWNoYW5pc20gZGVmaW5lZCBpbiB0aGlzIHNwZWNpZmljYXRpb24u
CgoKICAgICAgYXRsYW50YSAgICAgICAgICAgICBiaWxveGkKICAgICAgICAgfCBGMSBTVUJTQ1JJ
QkUgICAgICB8CiAgICAgICAgIHwtLS0tLS0tLS0tLS0tLS0tLS0+fAoKCgpTaGVuLCBldCBhbC4g
ICAgICAgICAgICAgIEV4cGlyZXMgTWF5IDAzLCAyMDE0ICAgICAgICAgICAgICAgICBbUGFnZSAy
NV0KDApJbnRlcm5ldC1EcmFmdCAgICAgICBTSVAgTG9hZCBDb250cm9sIEV2ZW50IFBhY2thZ2Ug
ICAgICAgICBPY3RvYmVyIDIwMTMKCgogICAgICAgICB8IEYyIDIwMCBPSyAgICAgICAgIHwKICAg
ICAgICAgfDwtLS0tLS0tLS0tLS0tLS0tLS18CiAgICAgICAgIHwgRjMgTk9USUZZICAgICAgICAg
fAogICAgICAgICB8PC0tLS0tLS0tLS0tLS0tLS0tLXwKICAgICAgICAgfCBGNCAyMDAgT0sgICAg
ICAgICB8CiAgICAgICAgIHwtLS0tLS0tLS0tLS0tLS0tLS0+fAoKICAgICAgRjEgU1VCU0NSSUJF
IGF0bGFudGEuZXhhbXBsZS5jb20gLT4gYmlsb3hpLmV4YW1wbGUuY29tCgogICAgICAgICBTVUJT
Q1JJQkUgc2lwOmJpbG94aS5leGFtcGxlLmNvbSBTSVAvMi4wCiAgICAgICAgIFZpYTogU0lQLzIu
MC9UQ1AgYXRsYW50YS5leGFtcGxlLmNvbTticmFuY2g9ejloRzRiS3k3Y2pidTMKICAgICAgICAg
RnJvbTogc2lwOmF0bGFudGEuZXhhbXBsZS5jb207dGFnPTE2MmFiNQogICAgICAgICBUbzogc2lw
OmJpbG94aS5leGFtcGxlLmNvbQogICAgICAgICBDYWxsLUlEOiAyeFRiOXZ4U2l0NTVYVTdwOEBh
dGxhbnRhLmV4YW1wbGUuY29tCiAgICAgICAgIENTZXE6IDIwMTIgU1VCU0NSSUJFCiAgICAgICAg
IENvbnRhY3Q6IHNpcDphdGxhbnRhLmV4YW1wbGUuY29tCiAgICAgICAgIEV2ZW50OiBsb2FkLWNv
bnRyb2wKICAgICAgICAgTWF4LUZvcndhcmRzOiA3MAogICAgICAgICBBY2NlcHQ6IGFwcGxpY2F0
aW9uL2xvYWQtY29udHJvbCt4bWwKICAgICAgICAgRXhwaXJlczogMzYwMAogICAgICAgICBDb250
ZW50LUxlbmd0aDogMAoKICAgICAgRjIgMjAwIE9LICAgYmlsb3hpLmV4YW1wbGUuY29tIC0+IGF0
bGFudGEuZXhhbXBsZS5jb20KCiAgICAgICAgIFNJUC8yLjAgMjAwIE9LCiAgICAgICAgIFZpYTog
U0lQLzIuMC9UQ1AgYmlsb3hpLmV4YW1wbGUuY29tO2JyYW5jaD16OWhHNGJLeTdjamJ1MwogICAg
ICAgICAgIDtyZWNlaXZlZD0xOTIuMC4yLjEKICAgICAgICAgVG86IDxzaXA6Ymlsb3hpLmV4YW1w
bGUuY29tPjt0YWc9MzMxZGM4CiAgICAgICAgIEZyb206IDxzaXA6YXRsYW50YS5leGFtcGxlLmNv
bT47dGFnPTE2MmFiNQogICAgICAgICBDYWxsLUlEOiAyeFRiOXZ4U2l0NTVYVTdwOEBhdGxhbnRh
LmV4YW1wbGUuY29tCiAgICAgICAgIENTZXE6IDIwMTIgU1VCU0NSSUJFCiAgICAgICAgIEV4cGly
ZXM6IDM2MDAKICAgICAgICAgQ29udGFjdDogc2lwOmJpbG94aS5leGFtcGxlLmNvbQogICAgICAg
ICBDb250ZW50LUxlbmd0aDogMAoKICAgICAgRjMgTk9USUZZICBiaWxveGkuZXhhbXBsZS5jb20g
LT4gYXRsYW50YS5leGFtcGxlLmNvbQoKICAgICAgICAgTk9USUZZIHNpcDphdGxhbnRhLmV4YW1w
bGUuY29tIFNJUC8yLjAKICAgICAgICAgVmlhOiBTSVAvMi4wL1RDUCBiaWxveGkuZXhhbXBsZS5j
b207YnJhbmNoPXo5aEc0Ykt5NzFnMmtzCiAgICAgICAgIEZyb206IDxzaXA6Ymlsb3hpLmV4YW1w
bGUuY29tPjt0YWc9MzMxZGM4CiAgICAgICAgIFRvOiA8c2lwOmF0bGFudGEuZXhhbXBsZS5jb20+
O3RhZz0xNjJhYjUKICAgICAgICAgQ2FsbC1JRDogMnhUYjl2eFNpdDU1WFU3cDhAYXRsYW50YS5l
eGFtcGxlLmNvbQogICAgICAgICBFdmVudDogbG9hZC1jb250cm9sCiAgICAgICAgIFN1YnNjcmlw
dGlvbi1TdGF0ZTogYWN0aXZlO2V4cGlyZXM9MzU5OQogICAgICAgICBNYXgtRm9yd2FyZHM6IDcw
CiAgICAgICAgIENTZXE6IDE3NzUgTk9USUZZCiAgICAgICAgIENvbnRhY3Q6IHNpcDpiaWxveGku
ZXhhbXBsZS5jb20KICAgICAgICAgQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9sb2FkLWNvbnRy
b2wreG1sCgoKClNoZW4sIGV0IGFsLiAgICAgICAgICAgICAgRXhwaXJlcyBNYXkgMDMsIDIwMTQg
ICAgICAgICAgICAgICAgIFtQYWdlIDI2XQoMCkludGVybmV0LURyYWZ0ICAgICAgIFNJUCBMb2Fk
IENvbnRyb2wgRXZlbnQgUGFja2FnZSAgICAgICAgIE9jdG9iZXIgMjAxMwoKCiAgICAgICAgIENv
bnRlbnQtTGVuZ3RoOiAuLi4KCiAgICAgICAgIFtMb2FkIENvbnRyb2wgRG9jdW1lbnRdCgogICAg
ICBGNCAyMDAgT0sgYXRsYW50YS5leGFtcGxlLmNvbSAtPiBiaWxveGkuZXhhbXBsZS5jb20KCiAg
ICAgICAgIFNJUC8yLjAgMjAwIE9LCiAgICAgICAgIFZpYTogU0lQLzIuMC9UQ1AgYXRsYW50YS5l
eGFtcGxlLmNvbTticmFuY2g9ejloRzRiS3k3MWcya3MKICAgICAgICAgICA7cmVjZWl2ZWQ9MTky
LjAuMi4yCiAgICAgICAgIEZyb206IDxzaXA6Ymlsb3hpLmV4YW1wbGUuY29tPjt0YWc9MzMxZGM4
CiAgICAgICAgIFRvOiA8c2lwOmF0bGFudGEuZXhhbXBsZS5jb20+O3RhZz0xNjJhYjUKICAgICAg
ICAgQ2FsbC1JRDogMnhUYjl2eFNpdDU1WFU3cDhAYXRsYW50YS5leGFtcGxlLmNvbQogICAgICAg
ICBDU2VxOiAxNzc1IE5PVElGWQogICAgICAgICBDb250ZW50LUxlbmd0aDogMAoKCgoKOC4gIFhN
TCBTY2hlbWEgRGVmaW5pdGlvbiBmb3IgTG9hZCBDb250cm9sCgogICBUaGlzIHNlY3Rpb24gZGVm
aW5lcyB0aGUgWE1MIHNjaGVtYSBmb3IgdGhlIGxvYWQgY29udHJvbCBkb2N1bWVudC4KICAgSXQg
ZXh0ZW5kcyB0aGUgQ29tbW9uIFBvbGljeSBzY2hlbWEgaW4gW1JGQzQ3NDVdIGluIHR3byB3YXlz
LgogICBGaXJzdGx5LCBpdCBkZWZpbmVzIHR3byBtYW5kYXRvcnkgYXR0cmlidXRlcyBmb3IgdGhl
IDxydWxlc2V0PgogICBlbGVtZW50OiB2ZXJzaW9uIGFuZCBzdGF0ZS4gIFRoZSB2ZXJzaW9uIGF0
dHJpYnV0ZSBhbGxvd3MgdGhlCiAgIHJlY2lwaWVudCBvZiB0aGUgbm90aWZpY2F0aW9uIHRvIHBy
b3Blcmx5IG9yZGVyIHRoZW0uICBWZXJzaW9ucyBzdGFydAogICBhdCAwLCBhbmQgaW5jcmVhc2Ug
Ynkgb25lIGZvciBlYWNoIG5ldyBkb2N1bWVudCBzZW50IHRvIGEgc3Vic2NyaWJlcgogICB3aXRo
aW4gdGhlIHNhbWUgc3Vic2NyaXB0aW9uLiAgVmVyc2lvbnMgTVVTVCBiZSByZXByZXNlbnRhYmxl
IHVzaW5nIGEKICAgbm9uLW5lZ2F0aXZlIDMyIGJpdCBpbnRlZ2VyLiAgVGhlIHN0YXRlIGF0dHJp
YnV0ZSBpbmRpY2F0ZXMgd2hldGhlcgogICB0aGUgZG9jdW1lbnQgY29udGFpbnMgYSBmdWxsIGxv
YWQgZmlsdGVyaW5nIHBvbGljeSB1cGRhdGUsIG9yIHdoZXRoZXIKICAgaXQgY29udGFpbnMgb25s
eSBzdGF0ZSBkZWx0YSBhcyBwYXJ0aWFsIHVwZGF0ZS4gIFNlY29uZGx5LCBpdCBkZWZpbmVzCiAg
IG5ldyBtZW1iZXJzIG9mIHRoZSA8Y29uZGl0aW9ucz4gYW5kIDxhY3Rpb25zPiBlbGVtZW50cy4K
CgogICA8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgogICA8eHM6c2NoZW1h
IHRhcmdldE5hbWVzcGFjZT0idXJuOmlldGY6cGFyYW1zOnhtbDpuczpsb2FkLWNvbnRyb2wiCiAg
ICAgICB4bWxuczpsYz0idXJuOmlldGY6cGFyYW1zOnhtbDpuczpsb2FkLWNvbnRyb2wiCiAgICAg
ICB4bWxuczpjcD0idXJuOmlldGY6cGFyYW1zOnhtbDpuczpjb21tb24tcG9saWN5IgogICAgICAg
eG1sbnM6eHM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIgogICAgICAgZWxlbWVu
dEZvcm1EZWZhdWx0PSJxdWFsaWZpZWQiCiAgICAgICBhdHRyaWJ1dGVkRm9ybURlZmF1bHQ9InVu
cXVhbGlmaWVkIj4KCiAgIDx4czppbXBvcnQgbmFtZXNwYWNlPSJ1cm46aWV0ZjpwYXJhbXM6eG1s
Om5zOmNvbW1vbi1wb2xpY3kiLz4KCiAgIDwhLS0gUlVMRVNFVCAtLT4KCiAgIDx4czplbGVtZW50
IG5hbWU9InJ1bGVzZXQiPgogICAgIDx4czpjb21wbGV4VHlwZT4KICAgICAgIDx4czpjb21wbGV4
Q29udGVudD4KCgoKU2hlbiwgZXQgYWwuICAgICAgICAgICAgICBFeHBpcmVzIE1heSAwMywgMjAx
NCAgICAgICAgICAgICAgICAgW1BhZ2UgMjddCgwKSW50ZXJuZXQtRHJhZnQgICAgICAgU0lQIExv
YWQgQ29udHJvbCBFdmVudCBQYWNrYWdlICAgICAgICAgT2N0b2JlciAyMDEzCgoKICAgICAgICAg
PHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOmFueVR5cGUiPgogICAgICAgICAgIDx4czpzZXF1ZW5j
ZT4KICAgICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9InJ1bGUiIHR5cGU9ImNwOnJ1bGVUeXBl
IgogICAgICAgICAgICAgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIvPgogICAg
ICAgICAgIDwveHM6c2VxdWVuY2U+CiAgICAgICAgIDwveHM6cmVzdHJpY3Rpb24+CiAgICAgICA8
L3hzOmNvbXBsZXhDb250ZW50PgogICAgICAgPHhzOmF0dHJpYnV0ZSBuYW1lPSJ2ZXJzaW9uIiB0
eXBlPSJ4czppbnRlZ2VyIiB1c2U9InJlcXVpcmVkIi8+CiAgICAgICA8eHM6YXR0cmlidXRlIG5h
bWU9InN0YXRlIiB1c2U9InJlcXVpcmVkIj4KICAgICAgICAgPHhzOnNpbXBsZVR5cGU+CiAgICAg
ICAgICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+CiAgICAgICAgICAgICA8eHM6
ZW51bWVyYXRpb24gdmFsdWU9ImZ1bGwiLz4KICAgICAgICAgICAgIDx4czplbnVtZXJhdGlvbiB2
YWx1ZT0icGFydGlhbCIvPgogICAgICAgICAgIDwveHM6cmVzdHJpY3Rpb24+CiAgICAgICAgIDwv
eHM6c2ltcGxlVHlwZT4KICAgICAgIDwveHM6YXR0cmlidXRlPgogICAgIDwveHM6Y29tcGxleFR5
cGU+CiAgIDwveHM6ZWxlbWVudD4KCiAgIDwhLS0gQ09ORElUSU9OUyAtLT4KCiAgIDwhLS0gQ0FM
TCBJREVOVElUWSAtLT4KICAgPHhzOmVsZW1lbnQgbmFtZT0iY2FsbC1pZGVudGl0eSIgdHlwZT0i
bGM6Y2FsbC1pZGVudGl0eS10eXBlIi8+CgogICA8IS0tIENBTEwgSURFTlRJVFkgVFlQRSAtLT4K
ICAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9ImNhbGwtaWRlbnRpdHktdHlwZSI+CiAgICAgPHhzOmNo
b2ljZT4KICAgICAgIDx4czplbGVtZW50IG5hbWU9InNpcCIgdHlwZT0ibGM6c2lwLWlkLXR5cGUi
Lz4KICAgICAgIDxhbnkgbmFtZXNwYWNlPSIjI290aGVyIiBwcm9jZXNzQ29udGVudHM9ImxheCIg
bWluT2NjdXJzPSIwIgogICAgICAgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiLz4KICAgICA8L3hzOmNo
b2ljZT4KICAgICA8YW55QXRycmlidXRlIG5hbWVzcGFjZT0iIyNvdGhlciIgcHJvY2Vzc0NvbnRl
bnRzPSJsYXgiLz4KICAgPC94czpjb21wbGV4VHlwZT4KCiAgIDwhLS0gU0lQIElEIFRZUEUgLS0+
CiAgIDx4czpjb21wbGV4VHlwZSBuYW1lPSJzaXAtaWQtdHlwZSI+CiAgICAgPHhzOnNlcXVlbmNl
PgogICAgICAgPGVsZW1lbnQgbmFtZT0iZnJvbSIgdHlwZT0ibGM6aWRlbnRpdHlUeXBlIiBtaW5P
Y2N1cnM9IjAiLz4KICAgICAgIDxlbGVtZW50IG5hbWU9InRvIiB0eXBlPSJsYzppZGVudGl0eVR5
cGUiIG1pbk9jY3Vycz0iMCIvPgogICAgICAgPGVsZW1lbnQgbmFtZT0icmVxdWVzdC11cmkiIHR5
cGU9ImxjOmlkZW50aXR5VHlwZSIKICAgICAgIG1pbk9jY3Vycz0iMCIvPgogICAgICAgPGVsZW1l
bnQgbmFtZT0icC1hc3NlcnRlZC1pZGVudGl0eSIgdHlwZT0ibGM6aWRlbnRpdHlUeXBlIgogICAg
ICAgbWluT2NjdXJzPSIwIi8+CiAgICAgICA8YW55IG5hbWVzcGFjZT0iIyNvdGhlciIgcHJvY2Vz
c0NvbnRlbnRzPSJsYXgiIG1pbk9jY3Vycz0iMCIKICAgICAgIG1heE9jY3Vycz0idW5ib3VuZGVk
Ii8+CiAgICAgPC94czpzZXF1ZW5jZT4KICAgICA8YW55QXRycmlidXRlIG5hbWVzcGFjZT0iIyNv
dGhlciIgcHJvY2Vzc0NvbnRlbnRzPSJsYXgiLz4KICAgPC94czpjb21wbGV4VHlwZT4KCgoKU2hl
biwgZXQgYWwuICAgICAgICAgICAgICBFeHBpcmVzIE1heSAwMywgMjAxNCAgICAgICAgICAgICAg
ICAgW1BhZ2UgMjhdCgwKSW50ZXJuZXQtRHJhZnQgICAgICAgU0lQIExvYWQgQ29udHJvbCBFdmVu
dCBQYWNrYWdlICAgICAgICAgT2N0b2JlciAyMDEzCgoKICAgPCEtLSBJREVOVElUWSBUWVBFIC0t
PgogICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iaWRlbnRpdHlUeXBlIj4KICAgICA8eHM6Y29tcGxl
eENvbnRlbnQ+CiAgICAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6YW55VHlwZSI+CiAgICAg
ICAgIDx4czpjaG9pY2UgbWluT2NjdXJzPSIxIiBtYXhPY2N1cnM9InVuYm91bmRlZCI+CiAgICAg
ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0ib25lIiB0eXBlPSJjcDpvbmVUeXBlIi8+CiAgICAgICAg
ICAgPHhzOmVsZW1lbnQgbmFtZT0ibWFueSIgdHlwZT0ibGM6bWFueVR5cGUiLz4KICAgICAgICAg
ICA8eHM6ZWxlbWVudCBuYW1lPSJtYW55LXRlbCIgdHlwZT0ibGM6bWFueVRlbFR5cGUiLz4KICAg
ICAgICAgICA8eHM6YW55IG5hbWVzcGFjZT0iIyNvdGhlciIgcHJvY2Vzc0NvbnRlbnRzPSJsYXgi
Lz4KICAgICAgICAgPC94czpjaG9pY2U+CiAgICAgICA8L3hzOnJlc3RyaWN0aW9uPgogICAgIDwv
eHM6Y29tcGxleENvbnRlbnQ+CiAgIDwveHM6Y29tcGxleFR5cGU+CgogICA8IS0tIE1BTlktVEVM
IFRZUEUgLS0+CiAgIDx4czpjb21wbGV4VHlwZSBuYW1lPSJtYW55VGVsVHlwZSI+CiAgICAgPHhz
OmNvbXBsZXhDb250ZW50PgogICAgICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOmFueVR5cGUi
PgogICAgICAgICA8eHM6Y2hvaWNlIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQi
PgogICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9ImV4Y2VwdC10ZWwiIHR5cGU9ImxjOmV4Y2Vw
dFRlbFR5cGUiLz4KICAgICAgICAgICA8eHM6YW55IG5hbWVzcGFjZT0iIyNvdGhlciIKICAgICAg
ICAgICBtaW5PY2N1cnM9IjAiIHByb2Nlc3NDb250ZW50cz0ibGF4Ii8+CiAgICAgICAgIDwveHM6
Y2hvaWNlPgogICAgICAgICA8eHM6YXR0cmlidXRlIG5hbWU9InByZWZpeCIKICAgICAgICAgdXNl
PSJvcHRpb25hbCIgdHlwZT0ieHM6c3RyaW5nIi8+CiAgICAgICA8L3hzOnJlc3RyaWN0aW9uPgog
ICAgIDwveHM6Y29tcGxleENvbnRlbnQ+CiAgIDwveHM6Y29tcGxleFR5cGU+CgogICA8IS0tIEVY
Q0VQVC1URUwgVFlQRSAtLT4KICAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9ImV4Y2VwdFRlbFR5cGUi
PgogICAgIDx4czphdHRyaWJ1dGUgbmFtZT0icHJlZml4IiB0eXBlPSJ4czpzdHJpbmciIHVzZT0i
b3B0aW9uYWwiLz4KICAgICA8eHM6YXR0cmlidXRlIG5hbWU9ImlkIiB0eXBlPSJ4czphbnlVUkki
IHVzZT0ib3B0aW9uYWwiLz4KICAgPC94czpjb21wbGV4VHlwZT4KCiAgIDwhLS0gTUVUSE9EIC0t
PgogICA8eHM6ZWxlbWVudCBuYW1lPSJtZXRob2QiIHR5cGU9ImxjOm1ldGhvZC10eXBlIi8+Cgog
ICA8IS0tIE1FVEhPRCBUWVBFIC0tPgogICA8eHM6c2ltcGxlVHlwZSBuYW1lPSJtZXRob2QtdHlw
ZSI+CiAgICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+CiAgICAgICA8eHM6ZW51
bWVyYXRpb24gdmFsdWU9IklOVklURSIvPgogICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJN
RVNTQUdFIi8+CiAgICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJFR0lTVEVSIi8+CiAgICAg
ICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlNVQlNDUklCRSIvPgogICAgICAgPHhzOmVudW1lcmF0
aW9uIHZhbHVlPSJPUFRJT05TIi8+CiAgICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlBVQkxJ
U0giLz4KICAgICA8L3hzOnJlc3RyaWN0aW9uPgoKCgpTaGVuLCBldCBhbC4gICAgICAgICAgICAg
IEV4cGlyZXMgTWF5IDAzLCAyMDE0ICAgICAgICAgICAgICAgICBbUGFnZSAyOV0KDApJbnRlcm5l
dC1EcmFmdCAgICAgICBTSVAgTG9hZCBDb250cm9sIEV2ZW50IFBhY2thZ2UgICAgICAgICBPY3Rv
YmVyIDIwMTMKCgogICA8L3hzOnNpbXBsZVR5cGU+CgogICA8IS0tIFRBUkdFVCBTSVAgRU5USVRZ
IC0tPgogICA8eHM6ZWxlbWVudCBuYW1lPSJ0YXJnZXQtc2lwLWVudGl0eSIgdHlwZT0ieHM6YW55
VVJJIiBtaW5PY2N1cnM9IjAiLz4KCiAgIDwhLS0gQUNUSU9OUyAtLT4KICAgPHhzOmVsZW1lbnQg
bmFtZT0iYWNjZXB0Ij4KICAgICA8eHM6Y2hvaWNlPgogICAgICAgPGVsZW1lbnQgbmFtZT0icmF0
ZSIgdHlwZT0ieHM6ZGVjaW1hbCIgbWluT2NjdXJzPSIwIi8+CiAgICAgICA8ZWxlbWVudCBuYW1l
PSJ3aW4iIHR5cGU9InhzOmludGVnZXIiIG1pbk9jY3Vycz0iMCIvPgogICAgICAgPGVsZW1lbnQg
bmFtZT0icGVyY2VudCIgdHlwZT0ieHM6ZGVjaW1hbCIgbWluT2NjdXJzPSIwIi8+CiAgICAgICA8
YW55IG5hbWVzcGFjZT0iIyNvdGhlciIgcHJvY2Vzc0NvbnRlbnRzPSJsYXgiIG1pbk9jY3Vycz0i
MCIKICAgICAgIG1heE9jY3Vycz0idW5ib3VuZGVkIi8+CiAgICAgPC94czpjaG9pY2U+CiAgICAg
PHhzOmF0dHJpYnV0ZSBuYW1lPSJhbHQtYWN0aW9uIiB0eXBlPSJ4czpzdHJpbmciIGRlZmF1bHQ9
InJlamVjdCIvPgogICAgIDx4czphdHRyaWJ1dGUgbmFtZT0iYWx0LXRhcmdldCIgdHlwZT0ibGM6
YWx0LXRhcmdldC10eXBlIgogICAgIHVzZT0ib3B0aW9uYWwiLz4KICAgICA8YW55QXRycmlidXRl
IG5hbWVzcGFjZT0iIyNvdGhlciIgcHJvY2Vzc0NvbnRlbnRzPSJsYXgiLz4KICAgPC94czplbGVt
ZW50PgoKICAgPCEtLSBBTFQgVEFSR0VUIFRZUEUgLS0+CiAgIDx4czpzaW1wbGVUeXBlIG5hbWU9
ImFsdC10YXJnZXQtdHlwZSI+CiAgICAgPHhzOmxpc3QgaXRlbVR5cGU9InhzOmFueVVSSSIvPgog
ICA8L3hzOnNpbXBsZVR5cGU+CgogICA8L3hzOnNjaGVtYT4KCgoKOS4gIFJlbGF0ZWQgV29yawoK
OS4xLiAgUmVsYXRpb25zaGlwIHdpdGggTG9hZCBGaWx0ZXJpbmcgaW4gUFNUTgoKICAgSXQgaXMg
a25vd24gdGhhdCBleGlzdGluZyBQU1ROIG5ldHdvcmsgYWxzbyB1c2VzIGEgbG9hZCBmaWx0ZXJp
bmcKICAgbWVjaGFuaXNtIHRvIHByZXZlbnQgb3ZlcmxvYWQgYW5kIHRoZSBmaWx0ZXJpbmcgcG9s
aWN5IGNvbmZpZ3VyYXRpb24KICAgaXMgZG9uZSBtYW51YWxseSBleGNlcHQgaW4gc3BlY2lmaWMg
Y2FzZXMgd2hlbiB0aGUgSW50ZWxsaWdlbnQKICAgTmV0d29yayBhcmNoaXRlY3R1cmUgaXMgdXNl
ZCBbUS4xMjQ4LjJdW0UuNDEyXS4gIFRoaXMgc3BlY2lmaWNhdGlvbgogICBkZWZpbmVzIGEgbG9h
ZCBmaWx0ZXJpbmcgbWVjaGFuaXNtIGJhc2VkIG9uIHRoZSBTSVAgZXZlbnQKICAgbm90aWZpY2F0
aW9uIGZyYW1ld29yayB0aGF0IGFsbG93cyBhdXRvbWF0ZWQgZmlsdGVyaW5nIHBvbGljeQogICBk
aXN0cmlidXRpb24gaW4gc3VpdGFibGUgZW52aXJvbm1lbnRzLgoKICAgVGhlcmUgYXJlIGNvbnRy
b2wgbWVzc2FnZXMgYXNzb2NpYXRlZCB3aXRoIFBTVE4gb3ZlcmxvYWQgY29udHJvbAogICB3aGlj
aCB3b3VsZCBzcGVjaWZ5IGFuIG91dGdvaW5nIGNvbnRyb2wgbGlzdCwgY2FsbCBnYXAgZHVyYXRp
b24gYW5kCiAgIGNvbnRyb2wgZHVyYXRpb24gW1EuMTI0OC4yXVtFLjQxMl0uICBUaGVzZSBpdGVt
cyBjb3VsZCBiZSByb3VnaGx5CiAgIGNvcnJlbGF0ZWQgdG8gdGhlIGlkZW50aXR5LCBhY3Rpb24g
YW5kIHRpbWUgZmllbGRzIG9mIHRoZSBTSVAgbG9hZAogICBmaWx0ZXJpbmcgcG9saWN5IGRlZmlu
ZWQgaW4gdGhpcyBzcGVjaWZpY2F0aW9uLiAgSG93ZXZlciwgdGhlIGxvYWQKICAgZmlsdGVyaW5n
IHBvbGljeSBkZWZpbmVkIGluIHRoaXMgc3BlY2lmaWNhdGlvbiBpcyBtdWNoIG1vcmUgZ2VuZXJp
YwogICBhbmQgZmxleGlibGUgYXMgb3Bwb3NlZCB0byBpdHMgUFNUTiBjb3VudGVycGFydC4KCgoK
U2hlbiwgZXQgYWwuICAgICAgICAgICAgICBFeHBpcmVzIE1heSAwMywgMjAxNCAgICAgICAgICAg
ICAgICAgW1BhZ2UgMzBdCgwKSW50ZXJuZXQtRHJhZnQgICAgICAgU0lQIExvYWQgQ29udHJvbCBF
dmVudCBQYWNrYWdlICAgICAgICAgT2N0b2JlciAyMDEzCgoKICAgRmlyc3RseSwgUFNUTiBsb2Fk
IGZpbHRlcmluZyBvbmx5IGFwcGxpZXMgdG8gdGVsZXBob25lIG51bWJlcnMuICBUaGUKICAgaWRl
bnRpdHkgZWxlbWVudCBvZiBTSVAgbG9hZCBmaWx0ZXJpbmcgcG9saWN5IGFsbG93cyBib3RoIFNJ
UCBVUkkgYW5kCiAgIHRlbGVwaG9uZSBudW1iZXJzICh0aHJvdWdoICd0ZWwnIFVSSSkgdG8gYmUg
c3BlY2lmaWVkLiAgVGhlc2UKICAgaWRlbnRpdGllcyBjYW4gYmUgYXJiaXRyYXJpbHkgZ3JvdXBl
ZCBieSBTSVAgZG9tYWlucyBvciBhbnkgbnVtYmVyIG9mCiAgIGxlYWRpbmcgcHJlZml4IG9mIHRo
ZSB0ZWxlcGhvbmUgbnVtYmVycy4KCiAgIFNlY29uZGx5LCB0aGUgUFNUTiBsb2FkIGZpbHRlcmlu
ZyBhY3Rpb24gaXMgdXN1YWxseSBsaW1pdGVkIHRvIGNhbGwKICAgZ2FwcGluZy4gIFRoZSBhY3Rp
b24gZmllbGQgaW4gU0lQIGxvYWQgZmlsdGVyaW5nIHBvbGljeSBhbGxvd3MgbW9yZQogICBmbGV4
aWJsZSBwb3NzaWJpbGl0aWVzIHN1Y2ggYXMgcmF0ZSB0aHJvdHRsZSBhbmQgb3RoZXJzLgoKICAg
VGhpcmRseSwgdGhlIGR1cmF0aW9uIGZpZWxkIGluIFBTVE4gbG9hZCBmaWx0ZXJpbmcgc3BlY2lm
aWVzIGEgdmFsdWUKICAgaW4gc2Vjb25kcyBmb3IgdGhlIGxvYWQgZmlsdGVyaW5nIGR1cmF0aW9u
IG9ubHksIGFuZCB0aGUgYWxsb3dlZAogICB2YWx1ZXMgYXJlIG1hcHBlZCBpbnRvIGEgdmFsdWUg
c2V0LiAgVGhlIHRpbWUgZmllbGQgaW4gU0lQIGxvYWQKICAgZmlsdGVyaW5nIHBvbGljeSBtYXkg
c3BlY2lmeSBub3Qgb25seSBhIGR1cmF0aW9uLCBidXQgYWxzbyBhIGZ1dHVyZQogICBhY3RpdmF0
aW9uIHRpbWUgd2hpY2ggY291bGQgYmUgZXNwZWNpYWxseSB1c2VmdWwgZm9yIGF1dG9tYXRpbmcg
bG9hZAogICBmaWx0ZXJpbmcgZm9yIHByZWRpY3RhYmxlIG92ZXJsb2Fkcy4KCiAgIFBTVE4gbG9h
ZCBmaWx0ZXJpbmcgY2FuIGJlIHBlcmZvcm1lZCBpbiBib3RoIGVkZ2Ugc3dpdGNoZXMgYW5kCiAg
IHRyYW5zaXQgc3dpdGNoZXM7IFNJUCBsb2FkIGZpbHRlcmluZyBjYW4gYWxzbyBiZSBhcHBsaWVk
IGluIGJvdGggZWRnZQogICBwcm94eSBzZXJ2ZXJzIGFuZCBjb3JlIHByb3h5IHNlcnZlcnMsIGFu
ZCBldmVuIGluIGNhcGFibGUgdXNlcgogICBhZ2VudHMuCgogICBQU1ROIGxvYWQgZmlsdGVyaW5n
IGFsc28gaGFzIHNwZWNpYWwgYWNjb21tb2RhdGlvbiBmb3IgSGlnaAogICBQcm9iYWJpbGl0eSBv
ZiBDb21wbGV0aW9uIChIUEMpIGNhbGxzLCB3aGljaCB3b3VsZCBiZSBzaW1pbGFyIHRvCiAgIGNh
bGxzIGRlc2lnbmF0ZWQgYnkgdGhlIFNJUCBSZXNvdXJjZSBQcmlvcml0eSBIZWFkZXJzIFtSRkM0
NDEyXS4gIFNJUAogICBsb2FkIGZpbHRlcmluZyBtZWNoYW5pc20gYWxzbyBhbGxvd3MgcHJpb3Jp
dGl6aW5nIHRoZSB0cmVhdG1lbnQgb2YKICAgdGhlc2UgY2FsbHMgYnkgc3BlY2lmeWluZyBmYXZv
cmFibGUgYWN0aW9ucyBmb3IgdGhlbS4KCiAgIFBTVE4gbG9hZCBmaWx0ZXJpbmcgYWxzbyBwcm92
aWRlcyBhZG1pbmlzdHJhdGl2ZSBvcHRpb24gZm9yIHJvdXRpbmcKICAgZmFpbGVkIGNhbGwgYXR0
ZW1wdHMgdG8gZWl0aGVyIGEgcmVvcmRlciB0b25lIFtFLjMwMFNlclN1cDNdCiAgIGluZGljYXRp
bmcgb3ZlcmxvYWQgY29uZGl0aW9ucywgb3IgYSBzcGVjaWFsIHJlY29yZGVkIGFubm91bmNlbWVu
dC4KICAgU2ltaWxhciBjYXBhYmlsaXR5IGNhbiBiZSBwcm92aWRlZCBpbiBTSVAgbG9hZCBmaWx0
ZXJpbmcgbWVjaGFuaXNtIGJ5CiAgIHNwZWNpZnlpbmcgYXBwcm9wcmlhdGUgImFsdC1hY3Rpb24i
IGF0dHJpYnV0ZSBpbiB0aGUgU0lQIGxvYWQKICAgZmlsdGVyaW5nIGFjdGlvbiBmaWVsZC4KCjku
Mi4gIFJlbGF0aW9uc2hpcCB3aXRoIE90aGVyIElFVEYgU0lQIE92ZXJsb2FkIENvbnRyb2wgRWZm
b3J0cwoKICAgVGhlIGxvYWQgZmlsdGVyaW5nIHBvbGljaWVzIGluIHRoaXMgc3BlY2lmaWNhdGlv
biBjb25zaXN0IG9mCiAgIGlkZW50aXR5LCBhY3Rpb24gYW5kIHRpbWUuICBUaGUgaWRlbnRpdHkg
Y2FuIHJhbmdlIGZyb20gYSBzaW5nbGUKICAgc3BlY2lmaWMgdXNlciB0byBhbiBhcmJpdHJhcnkg
dXNlciBhZ2dyZWdhdGUsIGRvbWFpbnMgb3IgYXJlYXMuICBUaGUKICAgdXNlciBjYW4gYmUgaWRl
bnRpZmllZCBieSBlaXRoZXIgdGhlIHNvdXJjZSBvciB0aGUgZGVzdGluYXRpb24uICBXaGVuCiAg
IHRoZSB1c2VyIGlzIGlkZW50aWZpZWQgYnkgdGhlIHNvdXJjZSBhbmQgYSBmYXZvcmFibGUgYWN0
aW9uIGlzCiAgIHNwZWNpZmllZCwgdGhlIHJlc3VsdCBpcyB0byBzb21lIGV4dGVudCBzaW1pbGFy
IHRvIGlkZW50aWZ5aW5nIGEKICAgcHJpb3JpdHkgdXNlciBiYXNlZCBvbiBhdXRob3JpemVkIFJl
c291cmNlIFByaW9yaXR5IEhlYWRlcnMgW1JGQzQ0MTJdCiAgIGluIHRoZSByZXF1ZXN0cy4gIFNw
ZWNpZnlpbmcgYSBzb3VyY2UgdXNlciBpZGVudGl0eSB3aXRoIGFuCiAgIHVuZmF2b3JhYmxlIGFj
dGlvbiB3b3VsZCBjYXVzZSBhbiBlZmZlY3QgdG8gc29tZSBleHRlbnQgc2ltaWxhciB0byBhbgog
ICBpbnZlcnNlIFNJUCByZXNvdXJjZSBwcmlvcml0eSBtZWNoYW5pc20uCgoKCgpTaGVuLCBldCBh
bC4gICAgICAgICAgICAgIEV4cGlyZXMgTWF5IDAzLCAyMDE0ICAgICAgICAgICAgICAgICBbUGFn
ZSAzMV0KDApJbnRlcm5ldC1EcmFmdCAgICAgICBTSVAgTG9hZCBDb250cm9sIEV2ZW50IFBhY2th
Z2UgICAgICAgICBPY3RvYmVyIDIwMTMKCgogICBUaGUgbG9hZCBmaWx0ZXJpbmcgcG9saWN5IGRl
ZmluZWQgaW4gdGhpcyBzcGVjaWZpY2F0aW9uIGlzIGdlbmVyaWMKICAgYW5kIGV4cGVjdGVkIHRv
IGJlIGFwcGxpY2FibGUgbm90IG9ubHkgdG8gdGhlIGxvYWQgZmlsdGVyaW5nCiAgIG1lY2hhbmlz
bSBidXQgYWxzbyB0byB0aGUgZmVlZGJhY2sgb3ZlcmxvYWQgY29udHJvbCBtZWNoYW5pc20gaW4K
ICAgW0ktRC5pZXRmLXNvYy1vdmVybG9hZC1jb250cm9sXS4gIEluIHBhcnRpY3VsYXIsIGJvdGgg
bWVjaGFuaXNtcwogICBjb3VsZCB1c2Ugc3BlY2lmaWMgb3Igd2lsZGNhcmQgaWRlbnRpdGllcyBm
b3IgbG9hZCBjb250cm9sIGFuZCBjb3VsZAogICBzaGFyZSB3ZWxsLWtub3duIGxvYWQgY29udHJv
bCBhY3Rpb25zLiAgVGhlIHRpbWUgZHVyYXRpb24gZmllbGQgaW4KICAgdGhlIGxvYWQgZmlsdGVy
aW5nIHBvbGljeSBjb3VsZCBhbHNvIGJlIHVzZWQgaW4gYm90aCBtZWNoYW5pc21zLiAgQXMKICAg
bWVudGlvbmVkIGluIFNlY3Rpb24gMSwgdGhlIGxvYWQgZmlsdGVyaW5nIHBvbGljeSBkaXN0cmli
dXRpb24KICAgbWVjaGFuaXNtIGFuZCB0aGUgZmVlZGJhY2sgb3ZlcmxvYWQgY29udHJvbCBtZWNo
YW5pc20gYWRkcmVzcwogICBjb21wbGVtZW50YXJ5IGFyZWFzIGluIHRoZSBvdmVybG9hZCBjb250
cm9sIHByb2JsZW0gc3BhY2UuICBMb2FkCiAgIGZpbHRlcmluZyBpcyBtb3JlIHByb2FjdGl2ZSBh
bmQgZm9jdXNlcyBvbiBkaXN0cmlidXRpbmcgZmlsdGVyaW5nCiAgIHBvbGljaWVzIHRvd2FyZHMg
dGhlIHNvdXJjZSBvZiB0aGUgdHJhZmZpYzsgdGhlIGhvcC1ieS1ob3AgZmVlZGJhY2stCiAgIGJh
c2VkIGFwcHJvYWNoIGlzIHJlYWN0aXZlIGFuZCB0YXJnZXRzIG1vcmUgYXQgdHJhZmZpYyBhbHJl
YWR5CiAgIGFjY2VwdGVkIGluIHRoZSBuZXR3b3JrLiAgVGhlcmVmb3JlLCB0aGV5IGNvdWxkIGFs
c28gbWFrZSBkaWZmZXJlbnQKICAgdXNlIG9mIHRoZSBnZW5lcmljIGxvYWQgZmlsdGVyaW5nIHBv
bGljeSBjb21wb25lbnRzLiAgRm9yIGV4YW1wbGUsCiAgIHRoZSBsb2FkIGZpbHRlcmluZyBtZWNo
YW5pc20gbWF5IHVzZSB0aGUgdGltZSBmaWVsZCBpbiB0aGUgZmlsdGVyaW5nCiAgIHBvbGljeSB0
byBzcGVjaWZ5IG5vdCBvbmx5IGEgY29udHJvbCBkdXJhdGlvbiBidXQgYWxzbyBhIGZ1dHVyZQog
ICBhY3RpdmF0aW9uIHRpbWUgdG8gYWNjb21tb2RhdGUgYSBwcmVkaWNhYmxlIG92ZXJsb2FkIHN1
Y2ggYXMgdGhlIG9uZQogICBjYXVzZWQgYnkgTW90aGVyJ3MgRGF5IGdyZWV0aW5ncyBvciBhIHZp
ZXdlci12b3RpbmcgcHJvZ3JhbTsgdGhlCiAgIGZlZWRiYWNrLWJhc2VkIGNvbnRyb2wgbWlnaHQg
bm90IG5lZWQgdG8gdXNlIHRoZSB0aW1lIGZpZWxkIG9yIG1pZ2h0CiAgIHVzZSB0aGUgdGltZSBm
aWVsZCB0byBzcGVjaWZ5IGFuIGltbWVkaWF0ZSBsb2FkIGNvbnRyb2wgZHVyYXRpb24uCgoxMC4g
IERpc2N1c3Npb24gb2YgdGhpcyBzcGVjaWZpY2F0aW9uIG1lZXRpbmcgdGhlIHJlcXVpcmVtZW50
cyBvZgogICAgIFJGQzUzOTAKCiAgIFRoaXMgc2VjdGlvbiBldmFsdWF0ZXMgd2hldGhlciB0aGUg
bG9hZCBjb250cm9sIGV2ZW50IHBhY2thZ2UKICAgbWVjaGFuaXNtIGRlZmluZWQgaW4gdGhpcyBz
cGVjaWZpY2F0aW9uIHNhdGlzZmllcyB2YXJpb3VzIFNJUAogICBvdmVybG9hZCBjb250cm9sIHJl
cXVpcmVtZW50cyBzZXQgZm9ydGggYnkgUkZDNTM5MCBbUkZDNTM5MF0uICBOb3QKICAgYWxsIFJG
QzUzOTAgcmVxdWlyZW1lbnRzIGFyZSBmb3VuZCBhcHBsaWNhYmxlIGR1ZSB0byB0aGUgc2NvcGUg
b2YKICAgdGhpcyBzcGVjaWZpY2F0aW9uLiAgVGhlcmVmb3JlLCB3ZSBjYXRlZ29yaXplIHRoZSBh
c3Nlc3NtZW50IHJlc3VsdHMKICAgaW50byBZZXMgKG1lZXQgdGhlIHJlcXVpcmVtZW50KSwgUC9B
IChQYXJ0aWFsbHkgQXBwbGljYWJsZSksIE5vIChtdXN0CiAgIGJlIHVzZWQgaW4gY29uanVuY3Rp
b24gd2l0aCBhbm90aGVyIG1lY2hhbmlzbSB0byBtZWV0IHRoZQogICByZXF1aXJlbWVudCksIGFu
ZCBOL0EgKE5vdCBBcHBsaWNhYmxlKS4KCiAgICAgIFJFUSAxOiBUaGUgb3ZlcmxvYWQgbWVjaGFu
aXNtIHNoYWxsIHN0cml2ZSB0byBtYWludGFpbiB0aGUgb3ZlcmFsbAogICAgICB1c2VmdWwgdGhy
b3VnaHB1dCAodGFraW5nIGludG8gY29uc2lkZXJhdGlvbiB0aGUgcXVhbGl0eS1vZi0KICAgICAg
c2VydmljZSBuZWVkcyBvZiB0aGUgdXNpbmcgYXBwbGljYXRpb25zKSBvZiBhIFNJUCBzZXJ2ZXIg
YXQKICAgICAgcmVhc29uYWJsZSBsZXZlbHMsIGV2ZW4gd2hlbiB0aGUgaW5jb21pbmcgbG9hZCBv
biB0aGUgbmV0d29yayBpcwogICAgICBmYXIgaW4gZXhjZXNzIG9mIGl0cyBjYXBhY2l0eS4gIFRo
ZSBvdmVyYWxsIHRocm91Z2hwdXQgdW5kZXIgbG9hZAogICAgICBpcyB0aGUgdWx0aW1hdGUgbWVh
c3VyZSBvZiB0aGUgdmFsdWUgb2YgYW4gb3ZlcmxvYWQgY29udHJvbAogICAgICBtZWNoYW5pc20u
CgogICBQL0EuIFRoZSBnb2FsIG9mIHRoZSBsb2FkIGZpbHRlcmluZyBpcyB0byBwcmV2ZW50IG92
ZXJsb2FkIG9yCiAgIG1haW50YWluIG92ZXJhbGwgZ29vZHB1dCBkdXJpbmcgdGhlIHRpbWUgb2Yg
b3ZlcmxvYWQsIGJ1dCBpdCBpcwogICBkZXBlbmRlbnQgb24gdGhlIGFkdmFuY2UgcHJlZGljdGlv
bnMgb2YgdGhlIGxvYWQuICBJZiB0aGUgcHJlZGljdGlvbnMKICAgYXJlIGluY29ycmVjdCwgaW4g
ZWl0aGVyIGRpcmVjdGlvbiwgdGhlIGVmZmVjdGl2ZW5lc3Mgb2YgdGhlCiAgIG1lY2hhbmlzbSB3
aWxsIGJlIGFmZmVjdGVkLgoKCgoKU2hlbiwgZXQgYWwuICAgICAgICAgICAgICBFeHBpcmVzIE1h
eSAwMywgMjAxNCAgICAgICAgICAgICAgICAgW1BhZ2UgMzJdCgwKSW50ZXJuZXQtRHJhZnQgICAg
ICAgU0lQIExvYWQgQ29udHJvbCBFdmVudCBQYWNrYWdlICAgICAgICAgT2N0b2JlciAyMDEzCgoK
ICAgICAgUkVRIDI6IFdoZW4gYSBzaW5nbGUgbmV0d29yayBlbGVtZW50IGZhaWxzLCBnb2VzIGlu
dG8gb3ZlcmxvYWQsIG9yCiAgICAgIHN1ZmZlcnMgZnJvbSByZWR1Y2VkIHByb2Nlc3NpbmcgY2Fw
YWNpdHksIHRoZSBtZWNoYW5pc20gc2hvdWxkCiAgICAgIHN0cml2ZSB0byBsaW1pdCB0aGUgaW1w
YWN0IG9mIHRoaXMgb24gb3RoZXIgZWxlbWVudHMgaW4gdGhlCiAgICAgIG5ldHdvcmsuICBUaGlz
IGhlbHBzIHRvIHByZXZlbnQgYSBzbWFsbC1zY2FsZSBmYWlsdXJlIGZyb20KICAgICAgYmVjb21p
bmcgYSB3aWRlc3ByZWFkIG91dGFnZS4KCiAgIE4vQSBpZiBsb2FkIGZpbHRlcmluZyBwb2xpY2ll
cyBhcmUgaW5zdGFsbGVkIGluIGFkdmFuY2UgYW5kIGRvIG5vdAogICBjaGFuZ2UgZHVyaW5nIHRo
ZSBwb3RlbnRpYWwgb3ZlcmxvYWQgcGVyaW9kLiAgUC9BIGlmIGxvYWQgZmlsdGVyaW5nCiAgIHBv
bGljaWVzIGFyZSBkeW5hbWljYWxseSBhZGp1c3RlZC4gIFRoZSBhbGdvcml0aG0gdG8gZHluYW1p
Y2FsbHkKICAgY29tcHV0ZSBsb2FkIGZpbHRlcmluZyBwb2xpY2llcyBpcyBvdXRzaWRlIHRoZSBz
Y29wZSBvZiB0aGlzCiAgIHNwZWNpZmljYXRpb24sIHdoaWxlIHRoZSBkaXN0cmlidXRpb24gb2Yg
dGhlIHVwZGF0ZWQgZmlsdGVyaW5nCiAgIHBvbGljaWVzIHVzZXMgdGhlIGV2ZW50IHBhY2thZ2Ug
bWVjaGFuaXNtIG9mIHRoaXMgc3BlY2lmaWNhdGlvbi4KCiAgICAgIFJFUSAzOiBUaGUgbWVjaGFu
aXNtIHNob3VsZCBzZWVrIHRvIG1pbmltaXplIHRoZSBhbW91bnQgb2YKICAgICAgY29uZmlndXJh
dGlvbiByZXF1aXJlZCBpbiBvcmRlciB0byB3b3JrLiAgRm9yIGV4YW1wbGUsIGl0IGlzCiAgICAg
IGJldHRlciB0byBhdm9pZCBuZWVkaW5nIHRvIGNvbmZpZ3VyZSBhIHNlcnZlciB3aXRoIGl0cyBT
SVAgbWVzc2FnZQogICAgICB0aHJvdWdocHV0LCBhcyB0aGVzZSBraW5kcyBvZiBxdWFudGl0aWVz
IGFyZSBoYXJkIHRvIGRldGVybWluZS4KCiAgIE5vLiAgVGhpcyBtZWNoYW5pc20gaXMgZW50aXJl
bHkgZGVwZW5kZW50IG9uIGFkdmFuY2UgY29uZmlndXJhdGlvbiwKICAgYmFzZWQgb24gYWR2YW5j
ZSBrbm93bGVkZ2UuICBJbiBvcmRlciB0byBzYXRpc2Z5IFJlcSAzLCBpdCBzaG91bGQgYmUKICAg
dXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIG90aGVyIG1lY2hhbmlzbXMgd2hpY2ggYXJlIG5vdCBi
YXNlZCBvbgogICBhZHZhbmNlIGNvbmZpZ3VyYXRpb24uCgogICAgICBSRVEgNDogVGhlIG1lY2hh
bmlzbSBtdXN0IGJlIGNhcGFibGUgb2YgZGVhbGluZyB3aXRoIGVsZW1lbnRzIHRoYXQKICAgICAg
ZG8gbm90IHN1cHBvcnQgaXQsIHNvIHRoYXQgYSBuZXR3b3JrIGNhbiBjb25zaXN0IG9mIGEgbWl4
IG9mCiAgICAgIGVsZW1lbnRzIHRoYXQgZG8gYW5kIGRvbid0IHN1cHBvcnQgaXQuICBJbiBvdGhl
ciB3b3JkcywgdGhlCiAgICAgIG1lY2hhbmlzbSBzaG91bGQgbm90IHdvcmsgb25seSBpbiBlbnZp
cm9ubWVudHMgd2hlcmUgYWxsIGVsZW1lbnRzCiAgICAgIHN1cHBvcnQgaXQuICBJdCBpcyByZWFz
b25hYmxlIHRvIGFzc3VtZSB0aGF0IGl0IHdvcmtzIGJldHRlciBpbgogICAgICBzdWNoIGVudmly
b25tZW50cywgb2YgY291cnNlLiAgSWRlYWxseSwgdGhlcmUgc2hvdWxkIGJlCiAgICAgIGluY3Jl
bWVudGFsIGltcHJvdmVtZW50cyBpbiBvdmVyYWxsIG5ldHdvcmsgdGhyb3VnaHB1dCBhcwogICAg
ICBpbmNyZWFzaW5nIG51bWJlcnMgb2YgZWxlbWVudHMgaW4gdGhlIG5ldHdvcmsgc3VwcG9ydCB0
aGUKICAgICAgbWVjaGFuaXNtLgoKICAgTm8uICBUaGlzIG1lY2hhbmlzbSBpcyBlbnRpcmVseSBk
ZXBlbmRlbnQgb24gdGhlIHBhcnRpY2lwYXRpb24gb2YgYWxsCiAgIHBvc3NpYmxlIG5laWdoYm9y
cy4gIEluIG9yZGVyIHRvIHNhdGlzZnkgUmVxIDQsIGl0IHNob3VsZCBiZSB1c2VkIGluCiAgIGNv
bmp1bmN0aW9uIHdpdGggb3RoZXIgbWVjaGFuaXNtcywgc29tZSBvZiB3aGljaCBhcmUgZGVzY3Jp
YmVkIGluCiAgIFNlY3Rpb24gNS40LgoKICAgICAgUkVRIDU6IFRoZSBtZWNoYW5pc20gc2hvdWxk
IG5vdCBhc3N1bWUgdGhhdCBpdCB3aWxsIG9ubHkgYmUKICAgICAgZGVwbG95ZWQgaW4gZW52aXJv
bm1lbnRzIHdpdGggY29tcGxldGVseSB0cnVzdGVkIGVsZW1lbnRzLiAgSXQKICAgICAgc2hvdWxk
IHNlZWsgdG8gb3BlcmF0ZSBhcyBlZmZlY3RpdmVseSBhcyBwb3NzaWJsZSBpbiBlbnZpcm9ubWVu
dHMKICAgICAgd2hlcmUgb3RoZXIgZWxlbWVudHMgYXJlIG1hbGljaW91czsgdGhpcyBpbmNsdWRl
cyBwcmV2ZW50aW5nCiAgICAgIG1hbGljaW91cyBlbGVtZW50cyBmcm9tIG9idGFpbmluZyBtb3Jl
IHRoYW4gYSBmYWlyIHNoYXJlIG9mCiAgICAgIHNlcnZpY2UuCgogICBOby4gIFRoaXMgbWVjaGFu
aXNtIGlzIGVudGlyZWx5IGRlcGVuZGVudCBvbiB0aGUgbm9uLW1hbGljaW91cwogICBwYXJ0aWNp
cGF0aW9uIG9mIGFsbCBwb3NzaWJsZSBuZWlnaGJvcnMuICBJbiBvcmRlciB0byBzYXRpc2Z5IFJl
cSA1LAogICBpdCBzaG91bGQgYmUgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIG90aGVyIG1lY2hh
bmlzbXMsIHNvbWUgb2Ygd2hpY2gKCgoKU2hlbiwgZXQgYWwuICAgICAgICAgICAgICBFeHBpcmVz
IE1heSAwMywgMjAxNCAgICAgICAgICAgICAgICAgW1BhZ2UgMzNdCgwKSW50ZXJuZXQtRHJhZnQg
ICAgICAgU0lQIExvYWQgQ29udHJvbCBFdmVudCBQYWNrYWdlICAgICAgICAgT2N0b2JlciAyMDEz
CgoKICAgYXJlIGRlc2NyaWJlZCBpbiBTZWN0aW9uIDUuNC4KCiAgICAgIFJFUSA2OiBXaGVuIG92
ZXJsb2FkIGlzIHNpZ25hbGVkIGJ5IG1lYW5zIG9mIGEgc3BlY2lmaWMgbWVzc2FnZSwKICAgICAg
dGhlIG1lc3NhZ2UgbXVzdCBjbGVhcmx5IGluZGljYXRlIHRoYXQgaXQgaXMgYmVpbmcgc2VudCBi
ZWNhdXNlIG9mCiAgICAgIG92ZXJsb2FkLCBhcyBvcHBvc2VkIHRvIG90aGVyLCBub24gb3Zlcmxv
YWQtYmFzZWQgZmFpbHVyZQogICAgICBjb25kaXRpb25zLiAgVGhpcyByZXF1aXJlbWVudCBpcyBt
ZWFudCB0byBhdm9pZCBzb21lIG9mIHRoZQogICAgICBwcm9ibGVtcyB0aGF0IGhhdmUgYXJpc2Vu
IGZyb20gdGhlIHJldXNlIG9mIHRoZSA1MDMgcmVzcG9uc2UgY29kZQogICAgICBmb3IgbXVsdGlw
bGUgcHVycG9zZXMuICBPZiBjb3Vyc2UsIG92ZXJsb2FkIGlzIGFsc28gc2lnbmFsZWQgYnkKICAg
ICAgbGFjayBvZiByZXNwb25zZSB0byByZXF1ZXN0cy4gIFRoaXMgcmVxdWlyZW1lbnQgYXBwbGll
cyBvbmx5IHRvCiAgICAgIGV4cGxpY2l0IG92ZXJsb2FkIHNpZ25hbHMuCgogICBOL0EuIFRoaXMg
bWVjaGFuaXNtIHNpZ25hbHMgYW50aWNpcGF0ZWQgb3ZlcmxvYWQsIG5vdCBhY3R1YWwKICAgb3Zl
cmxvYWQuICBIb3dldmVyIHRoZSBzaWduYWxzIGluIHRoaXMgbWVjaGFuaXNtIGFyZSBub3QgdXNl
ZCBmb3IgYW55CiAgIG90aGVyIHB1cnBvc2UuCgogICAgICBSRVEgNzogVGhlIG1lY2hhbmlzbSBz
aGFsbCBwcm92aWRlIGEgd2F5IGZvciBhbiBlbGVtZW50IHRvCiAgICAgIHRocm90dGxlIHRoZSBh
bW91bnQgb2YgdHJhZmZpYyBpdCByZWNlaXZlcyBmcm9tIGFuIHVwc3RyZWFtCiAgICAgIGVsZW1l
bnQuICBUaGlzIHRocm90dGxpbmcgc2hhbGwgYmUgZ3JhZGVkIHNvIHRoYXQgaXQgaXMgbm90IGFs
bC0KICAgICAgb3Itbm90aGluZyBhcyB3aXRoIHRoZSBjdXJyZW50IDUwMyBtZWNoYW5pc20uICBU
aGlzIHJlY29nbml6ZXMgdGhlCiAgICAgIGZhY3QgdGhhdCAib3ZlcmxvYWQiIGlzIG5vdCBhIGJp
bmFyeSBzdGF0ZSBhbmQgdGhhdCB0aGVyZSBhcmUKICAgICAgZGVncmVlcyBvZiBvdmVybG9hZC4K
CiAgIFllcy4gVGhpcyBldmVudCBwYWNrYWdlIGFsbG93cyByYXRlL2xvc3Mvd2luZG93LWJhc2Vk
IG92ZXJsb2FkCiAgIGNvbnRyb2wgb3B0aW9ucyBhcyBkaXNjdXNzZWQgaW4gU2VjdGlvbiA3LjQu
CgogICAgICBSRVEgODogVGhlIG1lY2hhbmlzbSBzaGFsbCBlbnN1cmUgdGhhdCwgd2hlbiBhIHJl
cXVlc3Qgd2FzIG5vdAogICAgICBwcm9jZXNzZWQgc3VjY2Vzc2Z1bGx5IGR1ZSB0byBvdmVybG9h
ZCAob3IgZmFpbHVyZSkgb2YgYQogICAgICBkb3duc3RyZWFtIGVsZW1lbnQsIHRoZSByZXF1ZXN0
IHdpbGwgbm90IGJlIHJldHJpZWQgb24gYW5vdGhlcgogICAgICBlbGVtZW50IHRoYXQgaXMgYWxz
byBvdmVybG9hZGVkIG9yIHdob3NlIHN0YXR1cyBpcyB1bmtub3duLiAgVGhpcwogICAgICByZXF1
aXJlbWVudCBkZXJpdmVzIGZyb20gUkVRIDEuCgogICBOL0EgdG8gdGhlIGxvYWQgY29udHJvbCBl
dmVudCBwYWNrYWdlIG1lY2hhbmlzbSBpdHNlbGYuCgogICAgICBSRVEgOTogVGhhdCBhIHJlcXVl
c3QgaGFzIGJlZW4gcmVqZWN0ZWQgZnJvbSBhbiBvdmVybG9hZGVkIGVsZW1lbnQKICAgICAgc2hh
bGwgbm90IHVuZHVseSByZXN0cmljdCB0aGUgYWJpbGl0eSBvZiB0aGF0IHJlcXVlc3QgdG8gYmUK
ICAgICAgc3VibWl0dGVkIHRvIGFuZCBwcm9jZXNzZWQgYnkgYW4gZWxlbWVudCB0aGF0IGlzIG5v
dCBvdmVybG9hZGVkLgogICAgICBUaGlzIHJlcXVpcmVtZW50IGRlcml2ZXMgZnJvbSBSRVEgMS4K
CiAgIFllcy4gRm9yIGV4YW1wbGUsIGxvYWQgZmlsdGVyaW5nIHBvbGljeSBbU2VjdGlvbiA1LjFd
IGFsbG93cyB0aGUKICAgaW5jbHVzaW9uIG9mIGFsdGVybmF0aXZlIGZvcndhcmRpbmcgZGVzdGlu
YXRpb25zIGZvciByZWplY3RlZAogICByZXF1ZXN0cy4KCiAgICAgIFJFUSAxMDogVGhlIG1lY2hh
bmlzbSBzaG91bGQgc3VwcG9ydCBzZXJ2ZXJzIHRoYXQgcmVjZWl2ZSByZXF1ZXN0cwogICAgICBm
cm9tIGEgbGFyZ2UgbnVtYmVyIG9mIGRpZmZlcmVudCB1cHN0cmVhbSBlbGVtZW50cywgd2hlcmUg
dGhlIHNldAogICAgICBvZiB1cHN0cmVhbSBlbGVtZW50cyBpcyBub3QgZW51bWVyYWJsZS4KCiAg
IE5vLiAgQmVjYXVzZSB0aGlzIG1lY2hhbmlzbSByZXF1aXJlcyBhZHZhbmNlIGNvbmZpZ3VyYXRp
b24gb2YKICAgc3BlY2lmaWNhbGx5IGlkZW50aWZpZWQgbmVpZ2hib3JzLCBpdCBkb2VzIG5vdCBz
dXBwb3J0IGVudmlyb25tZW50cwoKCgpTaGVuLCBldCBhbC4gICAgICAgICAgICAgIEV4cGlyZXMg
TWF5IDAzLCAyMDE0ICAgICAgICAgICAgICAgICBbUGFnZSAzNF0KDApJbnRlcm5ldC1EcmFmdCAg
ICAgICBTSVAgTG9hZCBDb250cm9sIEV2ZW50IFBhY2thZ2UgICAgICAgICBPY3RvYmVyIDIwMTMK
CgogICB3aGVyZSB0aGUgbnVtYmVyIGFuZCBpZGVudGl0eSBvZiB0aGUgdXBzdHJlYW0gbmVpZ2hi
b3JzIGFyZSBub3Qga25vd24KICAgaW4gYWR2YW5jZS4gIEluIG9yZGVyIHRvIHNhdGlzZnkgUmVx
IDEwLCBpdCBzaG91bGQgYmUgdXNlZCBpbgogICBjb25qdW5jdGlvbiB3aXRoIG90aGVyIG1lY2hh
bmlzbXMuCgogICAgICBSRVEgMTE6IFRoZSBtZWNoYW5pc20gc2hvdWxkIHN1cHBvcnQgc2VydmVy
cyB0aGF0IHJlY2VpdmUgcmVxdWVzdHMKICAgICAgZnJvbSBhIGZpbml0ZSBzZXQgb2YgdXBzdHJl
YW0gZWxlbWVudHMsIHdoZXJlIHRoZSBzZXQgb2YgdXBzdHJlYW0KICAgICAgZWxlbWVudHMgaXMg
ZW51bWVyYWJsZS4KCiAgIFllcy4gU2VlIGFsc28gYW5zd2VyIHRvIFJFUSAxMC4KCiAgICAgIFJF
USAxMjogVGhlIG1lY2hhbmlzbSBzaG91bGQgd29yayBiZXR3ZWVuIHNlcnZlcnMgaW4gZGlmZmVy
ZW50CiAgICAgIGRvbWFpbnMuCgogICBZZXMuIFRoZSBsb2FkIGNvbnRyb2wgZXZlbnQgcGFja2Fn
ZSBtZWNoYW5pc20gaXMgbm90IGxpbWl0ZWQgYnkKICAgZG9tYWluIGJvdW5kYXJpZXMuICBIb3dl
dmVyLCBpdCBpcyBsaWtlbHkgbW9yZSBhcHBsaWNhYmxlIGluIGludHJhLQogICBkb21haW4gc2Nl
bmFyaW9zIHRoYW4gaW4gaW50ZXItZG9tYWluIHNjZW5hcmlvcyBkdWUgdG8gc2VjdXJpdHkgYW5k
CiAgIG90aGVyIGNvbmNlcm5zIChTZWUgYWxzbyBTZWN0aW9uIDUuNCkuCgogICAgICBSRVEgMTM6
IFRoZSBtZWNoYW5pc20gbXVzdCBub3QgZGljdGF0ZSBhIHNwZWNpZmljIGFsZ29yaXRobSBmb3IK
ICAgICAgcHJpb3JpdGl6aW5nIHRoZSBwcm9jZXNzaW5nIG9mIHdvcmsgd2l0aGluIGEgcHJveHkg
ZHVyaW5nIHRpbWVzIG9mCiAgICAgIG92ZXJsb2FkLiAgSXQgbXVzdCBwZXJtaXQgYSBwcm94eSB0
byBwcmlvcml0aXplIHJlcXVlc3RzIGJhc2VkIG9uCiAgICAgIGFueSBsb2NhbCBwb2xpY3ksIHNv
IHRoYXQgY2VydGFpbiBvbmVzIChzdWNoIGFzIGEgY2FsbCBmb3IKICAgICAgZW1lcmdlbmN5IHNl
cnZpY2VzIG9yIGEgY2FsbCB3aXRoIGEgc3BlY2lmaWMgdmFsdWUgb2YgdGhlCiAgICAgIFJlc291
cmNlLVByaW9yaXR5IGhlYWRlciBmaWVsZCBbUkZDNDQxMl0pIGFyZSBnaXZlbiBwcmVmZXJlbnRp
YWwKICAgICAgdHJlYXRtZW50LCBzdWNoIGFzIG5vdCBiZWluZyBkcm9wcGVkLCBiZWluZyBnaXZl
biBhZGRpdGlvbmFsCiAgICAgIHJldHJhbnNtaXNzaW9uLCBvciBiZWluZyBwcm9jZXNzZWQgYWhl
YWQgb2Ygb3RoZXJzLgoKICAgUC9BLiBUaGlzIG1lY2hhbmlzbSBkb2VzIG5vdCBzcGVjaWZpY2Fs
bHkgYWRkcmVzcyB0aGUgcHJpb3JpdGl6aW5nIG9mCiAgIHdvcmsgZHVyaW5nIHRpbWVzIG9mIG92
ZXJsb2FkLiAgQnV0IGl0IGRvZXMgbm90IHByZWNsdWRlIGFueQogICBwYXJ0aWN1bGFyIGxvY2Fs
IHBvbGljeS4KCiAgICAgIFJFUSAxNDogVGhlIG1lY2hhbmlzbSBzaG91bGQgcHJvdmlkZSB1bmFt
YmlndW91cyBkaXJlY3Rpb25zIHRvCiAgICAgIGNsaWVudHMgb24gd2hlbiB0aGV5IHNob3VsZCBy
ZXRyeSBhIHJlcXVlc3QgYW5kIHdoZW4gdGhleSBzaG91bGQKICAgICAgbm90LiAgVGhpcyBlc3Bl
Y2lhbGx5IGFwcGxpZXMgdG8gVENQIGNvbm5lY3Rpb24gZXN0YWJsaXNobWVudCBhbmQKICAgICAg
U0lQIHJlZ2lzdHJhdGlvbnMsIGluIG9yZGVyIHRvIG1pdGlnYXRlIGFnYWluc3QgYXZhbGFuY2hl
IHJlc3RhcnQuCgogICBOL0EgdG8gdGhlIGxvYWQgY29udHJvbCBldmVudCBwYWNrYWdlIG1lY2hh
bmlzbSBpdHNlbGYuCgogICAgICBSRVEgMTU6IEluIGNhc2VzIHdoZXJlIGEgbmV0d29yayBlbGVt
ZW50IGZhaWxzLCBpcyBzbyBvdmVybG9hZGVkCiAgICAgIHRoYXQgaXQgY2Fubm90IHByb2Nlc3Mg
bWVzc2FnZXMsIG9yIGNhbm5vdCBjb21tdW5pY2F0ZSBkdWUgdG8gYQogICAgICBuZXR3b3JrIGZh
aWx1cmUgb3IgbmV0d29yayBwYXJ0aXRpb24sIGl0IHdpbGwgbm90IGJlIGFibGUgdG8KICAgICAg
cHJvdmlkZSBleHBsaWNpdCBpbmRpY2F0aW9ucyBvZiB0aGUgbmF0dXJlIG9mIHRoZSBmYWlsdXJl
IG9yIGl0cwogICAgICBsZXZlbHMgb2YgY29uZ2VzdGlvbi4gIFRoZSBtZWNoYW5pc20gbXVzdCBw
cm9wZXJseSBmdW5jdGlvbiBpbgogICAgICB0aGVzZSBjYXNlcy4KCiAgIFAvQS4gQmVjYXVzZSB0
aGUgbG9hZCBmaWx0ZXJpbmcgcG9saWNpZXMgYXJlIHByb3Zpc2lvbmVkIGluIGFkdmFuY2UsCiAg
IHRoZXkgYXJlIG5vdCBhZmZlY3RlZCBieSB0aGUgb3ZlcmxvYWQgb3IgZmFpbHVyZSBvZiBvdGhl
ciBuZXR3b3JrCiAgIGVsZW1lbnRzLiAgQnV0LCBvbiB0aGUgb3RoZXIgaGFuZCwgdGhleSBtYXkg
bm90LCBpbiB0aG9zZSBjYXNlcywgYmUKCgoKU2hlbiwgZXQgYWwuICAgICAgICAgICAgICBFeHBp
cmVzIE1heSAwMywgMjAxNCAgICAgICAgICAgICAgICAgW1BhZ2UgMzVdCgwKSW50ZXJuZXQtRHJh
ZnQgICAgICAgU0lQIExvYWQgQ29udHJvbCBFdmVudCBQYWNrYWdlICAgICAgICAgT2N0b2JlciAy
MDEzCgoKICAgYWJsZSB0byBwcm90ZWN0IHRoZSBvdmVybG9hZGVkIG5ldHdvcmsgZWxlbWVudHMg
KHNlZSBSZXEgMSkuCgogICAgICBSRVEgMTY6IFRoZSBtZWNoYW5pc20gc2hvdWxkIGF0dGVtcHQg
dG8gbWluaW1pemUgdGhlIG92ZXJoZWFkIG9mCiAgICAgIHRoZSBvdmVybG9hZCBjb250cm9sIG1l
c3NhZ2luZy4KCiAgIFllcy4gVGhlIHN0YW5kYXJkaXplZCBTSVAgZXZlbnQgcGFja2FnZSBtZWNo
YW5pc20gW1JGQzY2NjVdIGlzIHVzZWQuCgogICAgICBSRVEgMTc6IFRoZSBvdmVybG9hZCBtZWNo
YW5pc20gbXVzdCBub3QgcHJvdmlkZSBhbiBhdmVudWUgZm9yCiAgICAgIG1hbGljaW91cyBhdHRh
Y2ssIGluY2x1ZGluZyBEb1MgYW5kIEREb1MgYXR0YWNrcy4KCiAgIFAvQS4gVGhpcyBtZWNoYW5p
c20gZG9lcyBwcm92aWRlIGEgcG90ZW50aWFsIGF2ZW51ZSBmb3IgbWFsaWNpb3VzCiAgIGF0dGFj
a3MuICBUaGVyZWZvcmUgdGhlIHNlY3VyaXR5IG1lY2hhbmlzbXMgZm9yIFNJUCBldmVudCBwYWNr
YWdlcyBpbgogICBnZW5lcmFsIFtSRkM2NjY1XSBhbmQgb2Ygc2VjdGlvbiAxMCBvZiB0aGlzIHNw
ZWNpZmljYXRpb24gc2hvdWxkIGJlCiAgIHVzZWQuCgogICAgICBSRVEgMTg6IFRoZSBvdmVybG9h
ZCBtZWNoYW5pc20gc2hvdWxkIGJlIHVuYW1iaWd1b3VzIGFib3V0IHdoZXRoZXIKICAgICAgYSBs
b2FkIGluZGljYXRpb24gYXBwbGllcyB0byBhIHNwZWNpZmljIElQIGFkZHJlc3MsIGhvc3QsIG9y
IFVSSSwKICAgICAgc28gdGhhdCBhbiB1cHN0cmVhbSBlbGVtZW50IGNhbiBkZXRlcm1pbmUgdGhl
IGxvYWQgb2YgdGhlIGVudGl0eQogICAgICB0byB3aGljaCBhIHJlcXVlc3QgaXMgdG8gYmUgc2Vu
dC4KCiAgIFllcy4gVGhlIGlkZW50aXR5IG9mIGxvYWQgaW5kaWNhdGlvbiBpcyBjb3ZlcmVkIGlu
IHRoZSBsb2FkIGZpbHRlcmluZwogICBwb2xpY3kgZm9ybWF0IGRlZmluaXRpb24gaW4gU2VjdGlv
biA1LjEuCgogICAgICBSRVEgMTk6IFRoZSBzcGVjaWZpY2F0aW9uIGZvciB0aGUgb3ZlcmxvYWQg
bWVjaGFuaXNtIHNob3VsZCBnaXZlCiAgICAgIGd1aWRhbmNlIG9uIHdoaWNoIG1lc3NhZ2UgdHlw
ZXMgbWlnaHQgYmUgZGVzaXJhYmxlIHRvIHByb2Nlc3Mgb3ZlcgogICAgICBvdGhlcnMgZHVyaW5n
IHRpbWVzIG9mIG92ZXJsb2FkLCBiYXNlZCBvbiBTSVAtc3BlY2lmaWMKICAgICAgY29uc2lkZXJh
dGlvbnMuICBGb3IgZXhhbXBsZSwgaXQgbWF5IGJlIG1vcmUgYmVuZWZpY2lhbCB0byBwcm9jZXNz
CiAgICAgIGEgU1VCU0NSSUJFIHJlZnJlc2ggd2l0aCBFeHBpcmVzIG9mIHplcm8gdGhhbiBhIFNV
QlNDUklCRSByZWZyZXNoCiAgICAgIHdpdGggYSBub24temVybyBleHBpcmF0aW9uIChzaW5jZSB0
aGUgZm9ybWVyIHJlZHVjZXMgdGhlIG92ZXJhbGwKICAgICAgYW1vdW50IG9mIGxvYWQgb24gdGhl
IGVsZW1lbnQpLCBvciB0byBwcm9jZXNzIHJlLUlOVklURXMgb3ZlciBuZXcKICAgICAgSU5WSVRF
cy4KCiAgIE4vQSB0byB0aGUgbG9hZCBjb250cm9sIGV2ZW50IHBhY2thZ2UgbWVjaGFuaXNtIGl0
c2VsZi4KCiAgICAgIFJFUSAyMDogSW4gYSBtaXhlZCBlbnZpcm9ubWVudCBvZiBlbGVtZW50cyB0
aGF0IGRvIGFuZCBkbyBub3QKICAgICAgaW1wbGVtZW50IHRoZSBvdmVybG9hZCBtZWNoYW5pc20s
IG5vIGRpc3Byb3BvcnRpb25hdGUgYmVuZWZpdAogICAgICBzaGFsbCBhY2NydWUgdG8gdGhlIHVz
ZXJzIG9yIG9wZXJhdG9ycyBvZiB0aGUgZWxlbWVudHMgdGhhdCBkbyBub3QKICAgICAgaW1wbGVt
ZW50IHRoZSBtZWNoYW5pc20uCgogICBOby4gIFRoaXMgbWVjaGFuaXNtIGlzIGVudGlyZWx5IGRl
cGVuZGVudCBvbiB0aGUgcGFydGljaXBhdGlvbiBvZiBhbGwKICAgcG9zc2libGUgbmVpZ2hib3Jz
LiAgSW4gb3JkZXIgdG8gc2F0aXNmeSBSZXEgMjAsIGl0IHNob3VsZCBiZSB1c2VkIGluCiAgIGNv
bmp1bmN0aW9uIHdpdGggb3RoZXIgbWVjaGFuaXNtcywgc29tZSBvZiB3aGljaCBhcmUgZGVzY3Jp
YmVkIGluCiAgIFNlY3Rpb24gNS40LgoKICAgICAgUkVRIDIxOiBUaGUgb3ZlcmxvYWQgbWVjaGFu
aXNtIHNob3VsZCBlbnN1cmUgdGhhdCB0aGUgc3lzdGVtCiAgICAgIHJlbWFpbnMgc3RhYmxlLiAg
V2hlbiB0aGUgb2ZmZXJlZCBsb2FkIGRyb3BzIGZyb20gYWJvdmUgdGhlCiAgICAgIG92ZXJhbGwg
Y2FwYWNpdHkgb2YgdGhlIG5ldHdvcmsgdG8gYmVsb3cgdGhlIG92ZXJhbGwgY2FwYWNpdHksIHRo
ZQogICAgICB0aHJvdWdocHV0IHNob3VsZCBzdGFiaWxpemUgYW5kIGJlY29tZSBlcXVhbCB0byB0
aGUgb2ZmZXJlZCBsb2FkLgoKCgpTaGVuLCBldCBhbC4gICAgICAgICAgICAgIEV4cGlyZXMgTWF5
IDAzLCAyMDE0ICAgICAgICAgICAgICAgICBbUGFnZSAzNl0KDApJbnRlcm5ldC1EcmFmdCAgICAg
ICBTSVAgTG9hZCBDb250cm9sIEV2ZW50IFBhY2thZ2UgICAgICAgICBPY3RvYmVyIDIwMTMKCgog
ICBOL0EgdG8gdGhlIGxvYWQgY29udHJvbCBldmVudCBwYWNrYWdlIG1lY2hhbmlzbSBpdHNlbGYu
CgogICAgICBSRVEgMjI6IEl0IG11c3QgYmUgcG9zc2libGUgdG8gZGlzYWJsZSB0aGUgcmVwb3J0
aW5nIG9mIGxvYWQKICAgICAgaW5mb3JtYXRpb24gdG93YXJkcyB1cHN0cmVhbSB0YXJnZXRzIGJh
c2VkIG9uIHRoZSBpZGVudGl0eSBvZgogICAgICB0aG9zZSB0YXJnZXRzLiAgVGhpcyBhbGxvd3Mg
YSBkb21haW4gYWRtaW5pc3RyYXRvciB3aG8gY29uc2lkZXJzCiAgICAgIHRoZSBsb2FkIG9mIHRo
ZWlyIGVsZW1lbnRzIHRvIGJlIHNlbnNpdGl2ZSBpbmZvcm1hdGlvbiwgdG8KICAgICAgcmVzdHJp
Y3QgYWNjZXNzIHRvIHRoYXQgaW5mb3JtYXRpb24uICBPZiBjb3Vyc2UsIGluIHN1Y2ggY2FzZXMs
CiAgICAgIHRoZXJlIGlzIG5vIGV4cGVjdGF0aW9uIHRoYXQgdGhlIG92ZXJsb2FkIG1lY2hhbmlz
bSBpdHNlbGYgd2lsbAogICAgICBoZWxwIHByZXZlbnQgb3ZlcmxvYWQgZnJvbSB0aGF0IHVwc3Ry
ZWFtIHRhcmdldC4KCiAgIE4vQSB0byB0aGUgbG9hZCBjb250cm9sIGV2ZW50IHBhY2thZ2UgbWVj
aGFuaXNtIGl0c2VsZi4KCiAgICAgIFJFUSAyMzogSXQgbXVzdCBiZSBwb3NzaWJsZSBmb3IgdGhl
IG92ZXJsb2FkIG1lY2hhbmlzbSB0byB3b3JrIGluCiAgICAgIGNhc2VzIHdoZXJlIHRoZXJlIGlz
IGEgbG9hZCBiYWxhbmNlciBpbiBmcm9udCBvZiBhIGZhcm0gb2YKICAgICAgcHJveGllcy4KCiAg
IFllcy4gVGhlIGxvYWQgY29udHJvbCBldmVudCBwYWNrYWdlIG1lY2hhbmlzbSBkb2VzIG5vdCBw
cmVjbHVkZSBpdHMKICAgdXNlIGluIGEgc2NlbmFyaW8gd2l0aCBzZXJ2ZXIgZmFybXMuCgoxMS4g
IFNlY3VyaXR5IENvbnNpZGVyYXRpb25zCgogICBUd28gYXNwZWN0cyBvZiBzZWN1cml0eSBjb25z
aWRlcmF0aW9ucyBhcmlzZSBmcm9tIHRoaXMgc3BlY2lmaWNhdGlvbi4KICAgT25lIGlzIHRoZSBT
SVAgZXZlbnQgbm90aWZpY2F0aW9uIGZyYW1ld29yay1iYXNlZCBsb2FkIGZpbHRlcmluZwogICBw
b2xpY3kgZGlzdHJpYnV0aW9uIG1lY2hhbmlzbSwgdGhlIG90aGVyIGlzIHRoZSBsb2FkIGZpbHRl
cmluZyBwb2xpY3kKICAgZW5mb3JjZW1lbnQgbWVjaGFuaXNtLgoKICAgU2VjdXJpdHkgY29uc2lk
ZXJhdGlvbnMgZm9yIFNJUCBldmVudCBwYWNrYWdlIG1lY2hhbmlzbXMgYXJlIGNvdmVyZWQKICAg
aW4gU2VjdGlvbiA2IG9mIFtSRkM2NjY1XS4gIEEgcGFydGljdWxhcmx5IHJlbGV2YW50IHNlY3Vy
aXR5IGNvbmNlcm4KICAgZm9yIHRoaXMgZXZlbnQgcGFja2FnZSBpcyB0aGF0IGlmIHRoZSBub3Rp
ZmllcnMgY2FuIGJlIHNwb29mZWQsCiAgIGF0dGFja2VycyBjYW4gc2VuZCBmYWtlIG5vdGlmaWNh
dGlvbnMgYXNraW5nIHN1YnNjcmliZXJzIHRvIHRocm90dGxlCiAgIGFsbCB0cmFmZmljLCBsZWFk
aW5nIHRvIERlbmlhbC1vZi1TZXJ2aWNlIGF0dGFja3MuICBUaGVyZWZvcmUsIHRoaXMKICAgU0lQ
IGxvYWQgZmlsdGVyaW5nIG1lY2hhbmlzbSBNVVNUIGJlIHVzZWQgaW4gYSBUcnVzdCBEb21haW4K
ICAgKFNlY3Rpb24gNS40KS4gIEJ1dCBpZiBhIGxlZ2l0aW1hdGUgbm90aWZpZXIgaW4gdGhlIFRy
dXN0IERvbWFpbiBpcwogICBpdHNlbGYgY29tcHJvbWlzZWQsIGFkZGl0aW9uYWwgbWVjaGFuaXNt
cyB3aWxsIGJlIG5lZWRlZCB0byBkZXRlY3QKICAgdGhlIGF0dGFjay4KCiAgIFNlY3VyaXR5IGNv
bnNpZGVyYXRpb25zIGZvciBsb2FkIGZpbHRlcmluZyBwb2xpY3kgZW5mb3JjZW1lbnQgZGVwZW5k
cwogICB2ZXJ5IG11Y2ggb24gdGhlIGNvbnRlbnRzIG9mIHRoZSBwb2xpY3kuICBUaGlzIHNwZWNp
ZmljYXRpb24gZGVmaW5lcwogICBwb3NzaWJsZSBtYXRjaCBvZiB0aGUgZm9sbG93aW5nIFNJUCBo
ZWFkZXIgZmllbGRzIGluIGEgbG9hZCBmaWx0ZXJpbmcKICAgcG9saWN5OiA8ZnJvbT4sIDx0bz4s
IDxyZXF1ZXN0LXVyaT4gYW5kIDxwLWFzc2VydGVkLWlkZW50aXR5Pi4gIFRoZQogICBleGFjdCBy
ZXF1aXJlbWVudCB0byBhdXRoZW50aWNhdGUgYW5kIGF1dGhvcml6ZSB0aGVzZSBmaWVsZHMgaXMg
dXAgdG8KICAgdGhlIHNlcnZpY2UgcHJvdmlkZXIuICBJbiBnZW5lcmFsLCBpZiB0aGUgaWRlbnRp
dHkgZmllbGQgcmVwcmVzZW50cwogICB0aGUgc291cmNlIG9mIHRoZSByZXF1ZXN0LCBpdCBTSE9V
TEQgYmUgYXV0aGVudGljYXRlZCBhbmQgYXV0aG9yaXplZDsKICAgaWYgdGhlIGlkZW50aXR5IGZp
ZWxkIHJlcHJlc2VudHMgdGhlIGRlc3RpbmF0aW9uIG9mIHRoZSByZXF1ZXN0LCB0aGUKICAgYXV0
aGVudGljYXRpb24gYW5kIGF1dGhvcml6YXRpb24gaXMgb3B0aW9uYWwuCgogICBJbiBhZGRpdGlv
biwgdGhlcmUgY291bGQgYmUgb25lIHNwZWNpZmljIHR5cGUgb2YgYXR0YWNrIGFyb3VuZCB0aGUK
ICAgdXNlIHRoZSAicmVkaXJlY3QiIGFjdGlvbiAoU2VjdGlvbiA3LjQpLiAgQXNzdW1pbmcgYSBi
dW5jaCBvZiBTSVAKCgoKU2hlbiwgZXQgYWwuICAgICAgICAgICAgICBFeHBpcmVzIE1heSAwMywg
MjAxNCAgICAgICAgICAgICAgICAgW1BhZ2UgMzddCgwKSW50ZXJuZXQtRHJhZnQgICAgICAgU0lQ
IExvYWQgQ29udHJvbCBFdmVudCBQYWNrYWdlICAgICAgICAgT2N0b2JlciAyMDEzCgoKICAgcHJv
eHkgc2VydmVycyBpbiBhIFRydXN0IERvbWFpbiBhcmUgdXNpbmcgVURQLCBhbmQgY29uZmlndXJl
ZCB0byBnZXQKICAgdGhlaXIgcG9saWNpZXMgZnJvbSBhIGNlbnRyYWwgc2VydmVyLiAgQW4gYXR0
YWNrZXIgc3Bvb2ZzIHRoZSBjZW50cmFsCiAgIHNlcnZlcidzIGFkZHJlc3MgdG8gc2VuZCBhIGJ1
bmNoIG9mIE5PVElGWSBib2RpZXMgdGVsbGluZyB0aGUgcHJveHkKICAgc2VydmVycyB0byByZWRp
cmVjdCBhbGwgY2FsbHMgdG8gdmljdGltQG91dHNpZGUtb2YtdHJ1c3QtZG9tYWluLmNvbS4KICAg
VGhlIHByb3h5IHNlcnZlcnMgdGhlbiByZWRpcmVjdCBhbGwgY2FsbHMgdG8gdmljdGltLCB3aG8g
aXMgdGhlbgogICBEb1NlZCBvZmYgb2YgdGhlIEludGVybmV0LiAgVG8gYWRkcmVzcyB0aGlzIHR5
cGUgb2YgdGhyZWF0LCB0aGlzCiAgIGRvY3VtZW50IHJlcXVpcmVzIHRoYXQgYSBUcnVzdCBEb21h
aW4gYWdyZWVzIG9uIHdoYXQgdHlwZXMgb2YgY2FsbHMKICAgY2FuIGJlIGFmZmVjdGVkIGFzIHdl
bGwgYXMgb24gdGhlIGRlc3RpbmF0aW9ucyB0byB3aGljaCBjYWxscyBtYXkgYmUKICAgcmVkaXJl
Y3RlZCwgYXMgaW4gU2VjdGlvbiA1LjQuCgoxMi4gIElBTkEgQ29uc2lkZXJhdGlvbnMKCiAgIFRo
aXMgc3BlY2lmaWNhdGlvbiByZWdpc3RlcnMgYSBTSVAgZXZlbnQgcGFja2FnZSwgYSBuZXcgTUlN
RSB0eXBlLCBhCiAgIG5ldyBYTUwgbmFtZXNwYWNlLCBhbmQgYSBuZXcgWE1MIHNjaGVtYS4KCjEy
LjEuICBMb2FkIENvbnRyb2wgRXZlbnQgUGFja2FnZSBSZWdpc3RyYXRpb24KCiAgIFRoaXMgc2Vj
dGlvbiByZWdpc3RlcnMgYW4gZXZlbnQgcGFja2FnZSBiYXNlZCBvbiB0aGUgcmVnaXN0cmF0aW9u
CiAgIHByb2NlZHVyZXMgZGVmaW5lZCBpbiBbUkZDNjY2NV0uCgogICBQYWNrYWdlIG5hbWU6IGxv
YWQtY29udHJvbAoKICAgVHlwZTogcGFja2FnZQoKICAgUHVibGlzaGVkIHNwZWNpZmljYXRpb246
IFRoaXMgc3BlY2lmaWNhdGlvbgoKICAgUGVyc29uIHRvIGNvbnRhY3Q6IENoYXJsZXMgU2hlbiwg
Y2hhcmxlc0Bjcy5jb2x1bWJpYS5lZHUKCjEyLjIuICBhcHBsaWNhdGlvbi9sb2FkLWNvbnRyb2wr
eG1sIE1JTUUgUmVnaXN0cmF0aW9uCgogICBUaGlzIHNlY3Rpb24gcmVnaXN0ZXJzIGEgbmV3IE1J
TUUgdHlwZSBiYXNlZCBvbiB0aGUgcHJvY2VkdXJlcwogICBkZWZpbmVkIGluIFtSRkM2ODM4XSBh
bmQgZ3VpZGVsaW5lcyBpbiBbUkZDMzAyM10uCgogICAgICBNSU1FIG1lZGlhIHR5cGUgbmFtZTog
YXBwbGljYXRpb24KCgogICAgICBNSU1FIHN1YnR5cGUgbmFtZTogbG9hZC1jb250cm9sK3htbAoK
CiAgICAgIE1hbmRhdG9yeSBwYXJhbWV0ZXJzOiBub25lCgogICBPcHRpb25hbCBwYXJhbWV0ZXJz
OiBTYW1lIGFzIGNoYXJzZXQgcGFyYW1ldGVyIGFwcGxpY2F0aW9uL3htbCBpbgogICBbUkZDMzAy
M10KCiAgIEVuY29kaW5nIGNvbnNpZGVyYXRpb25zOiBTYW1lIGFzIGVuY29kaW5nIGNvbnNpZGVy
YXRpb25zIG9mCiAgIGFwcGxpY2F0aW9uL3htbCBpbiBbUkZDMzAyM10KCiAgIFNlY3VyaXR5IGNv
bnNpZGVyYXRpb25zOiBTZWUgU2VjdGlvbiAxMCBvZiBbUkZDMzAyM10gYW5kIFNlY3Rpb24gMTEK
CgoKU2hlbiwgZXQgYWwuICAgICAgICAgICAgICBFeHBpcmVzIE1heSAwMywgMjAxNCAgICAgICAg
ICAgICAgICAgW1BhZ2UgMzhdCgwKSW50ZXJuZXQtRHJhZnQgICAgICAgU0lQIExvYWQgQ29udHJv
bCBFdmVudCBQYWNrYWdlICAgICAgICAgT2N0b2JlciAyMDEzCgoKICAgb2YgdGhpcyBzcGVjaWZp
Y2F0aW9uCgogICBJbnRlcm9wZXJhYmlsaXR5IGNvbnNpZGVyYXRpb25zOiBOb25lCgogICBQdWJs
aXNoZWQgU3BlY2lmaWNhdGlvbjogVGhpcyBzcGVjaWZpY2F0aW9uCgogICBBcHBsaWNhdGlvbnMg
d2hpY2ggdXNlIHRoaXMgbWVkaWEgdHlwZTogbG9hZCBjb250cm9sIG9mIFNJUCBlbnRpdGllcwoK
ICAgQWRkaXRpb25hbCBpbmZvcm1hdGlvbjoKCiAgIE1hZ2ljIG51bWJlcjogTm9uZQoKICAgRmls
ZSBleHRlbnNpb246IC54bWwKCiAgIE1hY2ludG9zaCBmaWxlIHR5cGUgY29kZTogJ1RFWFQnCgog
ICBQZXJzb25hbCBhbmQgZW1haWwgYWRkcmVzcyBmb3IgZnVydGhlciBpbmZvcm1hdGlvbjoKCiAg
IENoYXJsZXMgU2hlbiwgY2hhcmxlc0Bjcy5jb2x1bWJpYS5lZHUKCiAgIEludGVuZGVkIHVzYWdl
OiBDT01NT04KCiAgIEF1dGhvci9DaGFuZ2UgQ29udHJvbGxlcjogSUVURiBTT0MgV29ya2luZyBH
cm91cCA8c2lwLQogICBvdmVybG9hZEBpZXRmLm9yZz4sIGFzIGRlc2lnbmF0ZWQgYnkgdGhlIElF
U0cgPGllc2dAaWV0Zi5vcmc+CgoxMi4zLiAgTG9hZCBDb250cm9sIFNjaGVtYSBSZWdpc3RyYXRp
b24KCiAgIFVSSTogdXJuOmlldGY6cGFyYW1zOnhtbDpzY2hlbWE6bG9hZC1jb250cm9sCgogICBS
ZWdpc3RyYW50IENvbnRhY3Q6IElFVEYgU09DIHdvcmtpbmcgZ3JvdXAsIENoYXJsZXMgU2hlbgog
ICAoY2hhcmxlc0Bjcy5jb2x1bWJpYS5lZHUpLgoKICAgWE1MOiB0aGUgWE1MIHNjaGVtYSB0byBi
ZSByZWdpc3RlcmVkIGlzIGNvbnRhaW5lZCBpbiBTZWN0aW9uIDguCgogICBJdHMgZmlyc3QgbGlu
ZSBpcwoKICAgPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KCiAgIGFuZCBp
dHMgbGFzdCBsaW5lIGlzCgogICA8L3hzOnNjaGVtYT4KCjEzLiAgQWNrbm93bGVkZ2VtZW50cwoK
ICAgVGhlIGF1dGhvcnMgd291bGQgbGlrZSB0byB0aGFuayBSaWNoYXJkIEJhcm5lcywgQnJ1bm8g
Q2hhdHJhcywgTWFydGluCiAgIERvbGx5LCBLZWl0aCBEcmFnZSwgQXNodXRvc2ggRHV0dGEsIEph
bmV0IEd1bm4sIFZpamF5IEd1cmJhbmksIFZvbGtlcgogICBIaWx0LCBHZW9mZiBIdW50LCBDYXJv
bHluIEpvaG5zb24sIEhhZHJpZWwgS2FwbGFuLCBQYXVsIEt5eml2YXQsCiAgIFNhbHZhdG9yZSBM
b3JldG8sIFRpbW90aHkgTW9yYW4sIEVyaWMgTm9lbCwgUGFydGhhc2FyYXRoaSBSLCBBZGFtCgoK
ClNoZW4sIGV0IGFsLiAgICAgICAgICAgICAgRXhwaXJlcyBNYXkgMDMsIDIwMTQgICAgICAgICAg
ICAgICAgIFtQYWdlIDM5XQoMCkludGVybmV0LURyYWZ0ICAgICAgIFNJUCBMb2FkIENvbnRyb2wg
RXZlbnQgUGFja2FnZSAgICAgICAgIE9jdG9iZXIgMjAxMwoKCiAgIFJvYWNoLCBTaGlkYSBTY2h1
YmVydCwgUm9iZXJ0IFNwYXJrcywgUGhpbCBXaWxsaWFtcyBhbmQgb3RoZXIgbWVtYmVycwogICBv
ZiB0aGUgU09DIGFuZCBTSVBQSU5HIHdvcmtpbmcgZ3JvdXAgZm9yIG1hbnkgaGVscGZ1bCBjb21t
ZW50cy4gIEluCiAgIHBhcnRpY3VsYXIsIEJydW5vIENoYXRyYXMgcHJvcG9zZWQgdGhlIDxtZXRo
b2Q+IGFuZCA8dGFyZ2V0LXNpcC0KICAgZW50aXR5PiBjb25kaXRpb24gZWxlbWVudHMgYWxvbmcg
d2l0aCBtYW55IG90aGVyIHRleHQgaW1wcm92ZW1lbnRzLgogICBKYW5ldCBHdW5uIHByb3ZpZGVk
IGRldGFpbGVkIHRleHQgc3VnZ2VzdGlvbnMgaW5jbHVkaW5nIFNlY3Rpb24gMTAuCiAgIEVyaWMg
Tm9lbCBzdWdnZXN0ZWQgY2xhcmlmaWNhdGlvbiBvbiBsb2FkIGZpbHRlcmluZyBwb2xpY3kKICAg
ZGlzdHJpYnV0aW9uIGluaXRpYWxpemF0aW9uIHByb2Nlc3MuICBTaGlkYSBTY2h1YmVydCBtYWRl
IG1hbnkKICAgc3VnZ2VzdGlvbnMgc3VjaCBhcyB0ZXJtaW5vbG9neSB1c2FnZS4gIFBoaWwgV2ls
bGlhbXMgc3VnZ2VzdGVkCiAgIGFkZGluZyBzdXBwb3J0IGZvciBkZWx0YSB1cGRhdGVzLiAgQXNo
dXRvc2ggRHV0dGEgZ2F2ZSBwb2ludGVycyB0bwogICBQU1ROIHJlZmVyZW5jZXMuICBBZGFtIFJv
YWNoIHN1Z2dlc3RlZCBSRkM2NjY1LXJlbGF0ZWQgYW5kIG90aGVyCiAgIGhlbHBmdWwgY2xhcmlm
aWNhdGlvbnMuICBSaWNoYXJkIEJhcm5lcyBtYWRlIG1hbnkgc3VnZ2VzdGlvbnMgc3VjaCBhcwog
ICByZWZlcmVuY2luZyB0aGUgVHJ1c3QgRG9tYWluIGNvbmNlcHQgb2YgUkZDMzMyNCwgdGhlIHVz
ZSBvZiBhCiAgIHNlcGFyYXRlIGVsZW1lbnQgZm9yICd0ZWwnIFVSSSBncm91cGluZyBhbmQgYWRk
cmVzc2luZyB0aGUgInJlZGlyZWN0IgogICBhY3Rpb24gc2VjdXJpdHkgdGhyZWF0LgoKMTQuICBS
ZWZlcmVuY2VzCgoxNC4xLiAgTm9ybWF0aXZlIFJlZmVyZW5jZXMKCiAgIFtSRkMyMTE5XSAgQnJh
ZG5lciwgUy4sICJLZXkgd29yZHMgZm9yIHVzZSBpbiBSRkNzIHRvIEluZGljYXRlCiAgICAgICAg
ICAgICAgUmVxdWlyZW1lbnQgTGV2ZWxzIiwgQkNQIDE0LCBSRkMgMjExOSwgTWFyY2ggMTk5Ny4K
CiAgIFtSRkMyMTQxXSAgTW9hdHMsIFIuLCAiVVJOIFN5bnRheCIsIFJGQyAyMTQxLCBNYXkgMTk5
Ny4KCiAgIFtSRkMzMDIzXSAgTXVyYXRhLCBNLiwgU3QuIExhdXJlbnQsIFMuLCBhbmQgRC4gS29o
biwgIlhNTCBNZWRpYQogICAgICAgICAgICAgIFR5cGVzIiwgUkZDIDMwMjMsIEphbnVhcnkgMjAw
MS4KCiAgIFtSRkMzMjYxXSAgUm9zZW5iZXJnLCBKLiwgU2NodWx6cmlubmUsIEguLCBDYW1hcmls
bG8sIEcuLCBKb2huc3RvbiwKICAgICAgICAgICAgICBBLiwgUGV0ZXJzb24sIEouLCBTcGFya3Ms
IFIuLCBIYW5kbGV5LCBNLiwgYW5kIEUuCiAgICAgICAgICAgICAgU2Nob29sZXIsICJTSVA6IFNl
c3Npb24gSW5pdGlhdGlvbiBQcm90b2NvbCIsIFJGQyAzMjYxLAogICAgICAgICAgICAgIEp1bmUg
MjAwMi4KCiAgIFtSRkMzNjg4XSAgTWVhbGxpbmcsIE0uLCAiVGhlIElFVEYgWE1MIFJlZ2lzdHJ5
IiwgQkNQIDgxLCBSRkMgMzY4OCwKICAgICAgICAgICAgICBKYW51YXJ5IDIwMDQuCgogICBbUkZD
Mzk2Nl0gIFNjaHVsenJpbm5lLCBILiwgIlRoZSB0ZWwgVVJJIGZvciBUZWxlcGhvbmUgTnVtYmVy
cyIsIFJGQwogICAgICAgICAgICAgIDM5NjYsIERlY2VtYmVyIDIwMDQuCgogICBbUkZDNDc0NV0g
IFNjaHVsenJpbm5lLCBILiwgVHNjaG9mZW5pZywgSC4sIE1vcnJpcywgSi4sIEN1ZWxsYXIsIEou
LAogICAgICAgICAgICAgIFBvbGssIEouLCBhbmQgSi4gUm9zZW5iZXJnLCAiQ29tbW9uIFBvbGlj
eTogQSBEb2N1bWVudAogICAgICAgICAgICAgIEZvcm1hdCBmb3IgRXhwcmVzc2luZyBQcml2YWN5
IFByZWZlcmVuY2VzIiwgUkZDIDQ3NDUsCiAgICAgICAgICAgICAgRmVicnVhcnkgMjAwNy4KCiAg
IFtSRkM2NjY1XSAgUm9hY2gsIEEuLCAiU0lQLVNwZWNpZmljIEV2ZW50IE5vdGlmaWNhdGlvbiIs
IFJGQyA2NjY1LAogICAgICAgICAgICAgIEp1bHkgMjAxMi4KCiAgIFtSRkM2ODM4XSAgRnJlZWQs
IE4uLCBLbGVuc2luLCBKLiwgYW5kIFQuIEhhbnNlbiwgIk1lZGlhIFR5cGUKICAgICAgICAgICAg
ICBTcGVjaWZpY2F0aW9ucyBhbmQgUmVnaXN0cmF0aW9uIFByb2NlZHVyZXMiLCBCQ1AgMTMsIFJG
QwoKCgpTaGVuLCBldCBhbC4gICAgICAgICAgICAgIEV4cGlyZXMgTWF5IDAzLCAyMDE0ICAgICAg
ICAgICAgICAgICBbUGFnZSA0MF0KDApJbnRlcm5ldC1EcmFmdCAgICAgICBTSVAgTG9hZCBDb250
cm9sIEV2ZW50IFBhY2thZ2UgICAgICAgICBPY3RvYmVyIDIwMTMKCgogICAgICAgICAgICAgIDY4
MzgsIEphbnVhcnkgMjAxMy4KCjE0LjIuICBJbmZvcm1hdGl2ZSBSZWZlcmVuY2VzCgogICBbRS4z
MDBTZXJTdXAzXQogICAgICAgICAgICAgIElUVS1ULCAuLCAiTm9ydGggQW1lcmljYW4gUHJlY2lz
ZSBBdWRpYmxlIFRvbmUgUGxhbiIsCiAgICAgICAgICAgICAgRS4zMDAgU2VyaWVzIFN1cHBsZW1l
bnQgMyAsIE5vdmVtYmVyIDE5ODguCgogICBbRS40MTJdICAgIElUVS1ULCAuLCAiTmV0d29yayBN
YW5hZ2VtZW50IENvbnRyb2xzIiwgRS40MTItMjAwMyAsCiAgICAgICAgICAgICAgSmFudWFyeSAy
MDAzLgoKICAgW0ktRC5pZXRmLXNvYy1vdmVybG9hZC1jb250cm9sXQogICAgICAgICAgICAgIEd1
cmJhbmksIFYuLCBIaWx0LCBWLiwgYW5kIEguIFNjaHVsenJpbm5lLCAiU2Vzc2lvbgogICAgICAg
ICAgICAgIEluaXRpYXRpb24gUHJvdG9jb2wgKFNJUCkgT3ZlcmxvYWQgQ29udHJvbCIsIGRyYWZ0
LWlldGYtCiAgICAgICAgICAgICAgc29jLW92ZXJsb2FkLWNvbnRyb2wtMTMgKHdvcmsgaW4gcHJv
Z3Jlc3MpLCBNYXkgMjAxMy4KCiAgIFtRLjEyNDguMl0KICAgICAgICAgICAgICBJVFUtVCwgLiwg
IkludGVyZmFjZSBSZWNvbW1lbmRhdGlvbiBmb3IgSW50ZWxsaWdlbnQKICAgICAgICAgICAgICBO
ZXR3b3JrIENhcGFiaWxpdHkgU2V0NDpTQ0YtU1NGIGludGVyZmFjZSIsIFEuMTI0OC4yICwKICAg
ICAgICAgICAgICBKdWx5IDIwMDEuCgogICBbUkZDMjY0OF0gIE1vYXRzLCBSLiwgIkEgVVJOIE5h
bWVzcGFjZSBmb3IgSUVURiBEb2N1bWVudHMiLCBSRkMgMjY0OCwKICAgICAgICAgICAgICBBdWd1
c3QgMTk5OS4KCiAgIFtSRkMzMzI0XSAgV2F0c29uLCBNLiwgIlNob3J0IFRlcm0gUmVxdWlyZW1l
bnRzIGZvciBOZXR3b3JrIEFzc2VydGVkCiAgICAgICAgICAgICAgSWRlbnRpdHkiLCBSRkMgMzMy
NCwgTm92ZW1iZXIgMjAwMi4KCiAgIFtSRkM0NDEyXSAgU2NodWx6cmlubmUsIEguIGFuZCBKLiBQ
b2xrLCAiQ29tbXVuaWNhdGlvbnMgUmVzb3VyY2UKICAgICAgICAgICAgICBQcmlvcml0eSBmb3Ig
dGhlIFNlc3Npb24gSW5pdGlhdGlvbiBQcm90b2NvbCAoU0lQKSIsIFJGQwogICAgICAgICAgICAg
IDQ0MTIsIEZlYnJ1YXJ5IDIwMDYuCgogICBbUkZDNDgyNV0gIFJvc2VuYmVyZywgSi4sICJUaGUg
RXh0ZW5zaWJsZSBNYXJrdXAgTGFuZ3VhZ2UgKFhNTCkKICAgICAgICAgICAgICBDb25maWd1cmF0
aW9uIEFjY2VzcyBQcm90b2NvbCAoWENBUCkiLCBSRkMgNDgyNSwgTWF5IDIwMDcuCgogICBbUkZD
NTAzMV0gIFNjaHVsenJpbm5lLCBILiwgIkEgVW5pZm9ybSBSZXNvdXJjZSBOYW1lIChVUk4pIGZv
cgogICAgICAgICAgICAgIEVtZXJnZW5jeSBhbmQgT3RoZXIgV2VsbC1Lbm93biBTZXJ2aWNlcyIs
IFJGQyA1MDMxLAogICAgICAgICAgICAgIEphbnVhcnkgMjAwOC4KCiAgIFtSRkM1MzkwXSAgUm9z
ZW5iZXJnLCBKLiwgIlJlcXVpcmVtZW50cyBmb3IgTWFuYWdlbWVudCBvZiBPdmVybG9hZCBpbgog
ICAgICAgICAgICAgIHRoZSBTZXNzaW9uIEluaXRpYXRpb24gUHJvdG9jb2wiLCBSRkMgNTM5MCwg
RGVjZW1iZXIgMjAwOC4KCiAgIFtSRkM2MzU3XSAgSGlsdCwgVi4sIE5vZWwsIEUuLCBTaGVuLCBD
LiwgYW5kIEEuIEFiZGVsYWwsICJEZXNpZ24KICAgICAgICAgICAgICBDb25zaWRlcmF0aW9ucyBm
b3IgU2Vzc2lvbiBJbml0aWF0aW9uIFByb3RvY29sIChTSVApCiAgICAgICAgICAgICAgT3Zlcmxv
YWQgQ29udHJvbCIsIFJGQyA2MzU3LCBBdWd1c3QgMjAxMS4KCkF1dGhvcnMnIEFkZHJlc3NlcwoK
CgoKClNoZW4sIGV0IGFsLiAgICAgICAgICAgICAgRXhwaXJlcyBNYXkgMDMsIDIwMTQgICAgICAg
ICAgICAgICAgIFtQYWdlIDQxXQoMCkludGVybmV0LURyYWZ0ICAgICAgIFNJUCBMb2FkIENvbnRy
b2wgRXZlbnQgUGFja2FnZSAgICAgICAgIE9jdG9iZXIgMjAxMwoKCiAgIENoYXJsZXMgU2hlbgog
ICBDb2x1bWJpYSBVbml2ZXJzaXR5CiAgIERlcGFydG1lbnQgb2YgQ29tcHV0ZXIgU2NpZW5jZQog
ICAxMjE0IEFtc3RlcmRhbSBBdmVudWUsIE1DIDA0MDEKICAgTmV3IFlvcmssIE5ZICAgMTAwMjcK
ICAgVVNBCgogICBQaG9uZTogKzEgMjEyIDg1NCAzMTA5CiAgIEVtYWlsOiBjaGFybGVzQGNzLmNv
bHVtYmlhLmVkdQoKCiAgIEhlbm5pbmcgU2NodWx6cmlubmUKICAgQ29sdW1iaWEgVW5pdmVyc2l0
eQogICBEZXBhcnRtZW50IG9mIENvbXB1dGVyIFNjaWVuY2UKICAgMTIxNCBBbXN0ZXJkYW0gQXZl
bnVlLCBNQyAwNDAxCiAgIE5ldyBZb3JrLCBOWSAgIDEwMDI3CiAgIFVTQQoKICAgUGhvbmU6ICsx
IDIxMiA5MzkgNzAwNAogICBFbWFpbDogc2NodWx6cmlubmVAY3MuY29sdW1iaWEuZWR1CgoKICAg
QXJhdGEgS29pa2UKICAgTlRUIFNlcnZpY2UgSW50ZWdyYXRpb24gTGFicwogICAzLTktMTEgTWlk
b3JpLWNobyBNdXNhc2hpbm8tc2hpCiAgIFRva3lvICAxODQtMDAxMwogICBKYXBhbgoKICAgUGhv
bmU6ICs4MSA0MjIgNTkgNjA5OQogICBFbWFpbDoga29pa2UuYXJhdGFAbGFiLm50dC5jby5qcAoK
CgoKCgoKCgoKCgoKCgoKCgoKCgpTaGVuLCBldCBhbC4gICAgICAgICAgICAgIEV4cGlyZXMgTWF5
IDAzLCAyMDE0ICAgICAgICAgICAgICAgICBbUGFnZSA0Ml0K
--047d7b471e6a0a47c704e9f946b7
Content-Type: text/html; charset=US-ASCII; 
	name="draft-ietf-soc-load-control-event-package-10.html"
Content-Disposition: attachment; 
	filename="draft-ietf-soc-load-control-event-package-10.html"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_hnevqzu51

PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIg
CiAgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXN0cmljdC5kdGQiPgoK
PGh0bWwgbGFuZz0iZW4iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiB4bWw6
bGFuZz0iZW4iPgo8aGVhZCBwcm9maWxlPSJodHRwOi8vd3d3LnczLm9yZy8yMDA2LzAzL2hjYXJk
IGh0dHA6Ly9kdWJsaW5jb3JlLm9yZy9kb2N1bWVudHMvMjAwOC8wOC8wNC9kYy1odG1sLyI+CiAg
PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJz
ZXQ9dXMtYXNjaWkiIC8+CgogIDx0aXRsZT5BIFNlc3Npb24gSW5pdGlhdGlvbiBQcm90b2NvbCAo
U0lQKSBMb2FkIENvbnRyb2wgRXZlbnQgUGFja2FnZSA8L3RpdGxlPgoKICA8c3R5bGUgdHlwZT0i
dGV4dC9jc3MiIHRpdGxlPSJYbWwyUmZjIChzYW5zIHNlcmlmKSI+CiAgLyo8IVtDREFUQVsqLwoJ
ICBhIHsKCSAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwoJICB9CgkgIGEuc21wbCB7CgkgIGNvbG9y
OiBibGFjazsKCSAgfQoJICBhOmhvdmVyIHsKCSAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7
CgkgIH0KCSAgYTphY3RpdmUgewoJICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKCSAgfQoJ
ICBhZGRyZXNzIHsKCSAgbWFyZ2luLXRvcDogMWVtOwoJICBtYXJnaW4tbGVmdDogMmVtOwoJICBm
b250LXN0eWxlOiBub3JtYWw7CgkgIH0KCSAgYm9keSB7CgkgIGNvbG9yOiBibGFjazsKCSAgZm9u
dC1mYW1pbHk6IHZlcmRhbmEsIGhlbHZldGljYSwgYXJpYWwsIHNhbnMtc2VyaWY7CgkgIGZvbnQt
c2l6ZTogMTBwdDsKCSAgbWF4LXdpZHRoOiA1NWVtOwoJICAKCSAgfQoJICBjaXRlIHsKCSAgZm9u
dC1zdHlsZTogbm9ybWFsOwoJICB9CgkgIGRkIHsKCSAgbWFyZ2luLXJpZ2h0OiAyZW07CgkgIH0K
CSAgZGwgewoJICBtYXJnaW4tbGVmdDogMmVtOwoJICB9CgkKCSAgdWwuZW1wdHkgewoJICBsaXN0
LXN0eWxlLXR5cGU6IG5vbmU7CgkgIH0KCSAgdWwuZW1wdHkgbGkgewoJICBtYXJnaW4tdG9wOiAu
NWVtOwoJICB9CgkgIGRsIHAgewoJICBtYXJnaW4tbGVmdDogMGVtOwoJICB9CgkgIGR0IHsKCSAg
bWFyZ2luLXRvcDogLjVlbTsKCSAgfQoJICBoMSB7CgkgIGZvbnQtc2l6ZTogMTRwdDsKCSAgbGlu
ZS1oZWlnaHQ6IDIxcHQ7CgkgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOwoJICB9CgkgIGgxLm5w
IHsKCSAgcGFnZS1icmVhay1iZWZvcmU6IGFsd2F5czsKCSAgfQoJICBoMSBhIHsKCSAgY29sb3I6
ICMzMzMzMzM7CgkgIH0KCSAgaDIgewoJICBmb250LXNpemU6IDEycHQ7CgkgIGxpbmUtaGVpZ2h0
OiAxNXB0OwoJICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsKCSAgfQoJICBoMywgaDQsIGg1LCBo
NiB7CgkgIGZvbnQtc2l6ZTogMTBwdDsKCSAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7CgkgIH0K
CSAgaDIgYSwgaDMgYSwgaDQgYSwgaDUgYSwgaDYgYSB7CgkgIGNvbG9yOiBibGFjazsKCSAgfQoJ
ICBpbWcgewoJICBtYXJnaW4tbGVmdDogM2VtOwoJICB9CgkgIGxpIHsKCSAgbWFyZ2luLWxlZnQ6
IDJlbTsKCSAgbWFyZ2luLXJpZ2h0OiAyZW07CgkgIH0KCSAgb2wgewoJICBtYXJnaW4tbGVmdDog
MmVtOwoJICBtYXJnaW4tcmlnaHQ6IDJlbTsKCSAgfQoJICBvbCBwIHsKCSAgbWFyZ2luLWxlZnQ6
IDBlbTsKCSAgfQoJICBwIHsKCSAgbWFyZ2luLWxlZnQ6IDJlbTsKCSAgbWFyZ2luLXJpZ2h0OiAy
ZW07CgkgIH0KCSAgcHJlIHsKCSAgbWFyZ2luLWxlZnQ6IDNlbTsKCSAgYmFja2dyb3VuZC1jb2xv
cjogbGlnaHR5ZWxsb3c7CgkgIHBhZGRpbmc6IC4yNWVtOwoJICB9CgkgIHByZS50ZXh0MiB7Cgkg
IGJvcmRlci1zdHlsZTogZG90dGVkOwoJICBib3JkZXItd2lkdGg6IDFweDsKCSAgYmFja2dyb3Vu
ZC1jb2xvcjogI2YwZjBmMDsKCSAgd2lkdGg6IDY5ZW07CgkgIH0KCSAgcHJlLmlubGluZSB7Cgkg
IGJhY2tncm91bmQtY29sb3I6IHdoaXRlOwoJICBwYWRkaW5nOiAwZW07CgkgIH0KCSAgcHJlLnRl
eHQgewoJICBib3JkZXItc3R5bGU6IGRvdHRlZDsKCSAgYm9yZGVyLXdpZHRoOiAxcHg7CgkgIGJh
Y2tncm91bmQtY29sb3I6ICNmOGY4Zjg7CgkgIHdpZHRoOiA2OWVtOwoJICB9CgkgIHByZS5kcmF3
aW5nIHsKCSAgYm9yZGVyLXN0eWxlOiBzb2xpZDsKCSAgYm9yZGVyLXdpZHRoOiAxcHg7CgkgIGJh
Y2tncm91bmQtY29sb3I6ICNmOGY4Zjg7CgkgIHBhZGRpbmc6IDJlbTsKCSAgfQoJICB0YWJsZSB7
CgkgIG1hcmdpbi1sZWZ0OiAyZW07CgkgIH0KCSAgdGFibGUudHQgewoJICB2ZXJ0aWNhbC1hbGln
bjogdG9wOwoJICB9CgkgIHRhYmxlLmZ1bGwgewoJICBib3JkZXItc3R5bGU6IG91dHNldDsKCSAg
Ym9yZGVyLXdpZHRoOiAxcHg7CgkgIH0KCSAgdGFibGUuaGVhZGVycyB7CgkgIGJvcmRlci1zdHls
ZTogb3V0c2V0OwoJICBib3JkZXItd2lkdGg6IDFweDsKCSAgfQoJICB0YWJsZS50dCB0ZCB7Cgkg
IHZlcnRpY2FsLWFsaWduOiB0b3A7CgkgIH0KCSAgdGFibGUuZnVsbCB0ZCB7CgkgIGJvcmRlci1z
dHlsZTogaW5zZXQ7CgkgIGJvcmRlci13aWR0aDogMXB4OwoJICB9CgkgIHRhYmxlLnR0IHRoIHsK
CSAgdmVydGljYWwtYWxpZ246IHRvcDsKCSAgfQoJICB0YWJsZS5mdWxsIHRoIHsKCSAgYm9yZGVy
LXN0eWxlOiBpbnNldDsKCSAgYm9yZGVyLXdpZHRoOiAxcHg7CgkgIH0KCSAgdGFibGUuaGVhZGVy
cyB0aCB7CgkgIGJvcmRlci1zdHlsZTogbm9uZSBub25lIGluc2V0IG5vbmU7CgkgIGJvcmRlci13
aWR0aDogMXB4OwoJICB9CgkgIHRhYmxlLmxlZnQgewoJICBtYXJnaW4tcmlnaHQ6IGF1dG87Cgkg
IH0KCSAgdGFibGUucmlnaHQgewoJICBtYXJnaW4tbGVmdDogYXV0bzsKCSAgfQoJICB0YWJsZS5j
ZW50ZXIgewoJICBtYXJnaW4tbGVmdDogYXV0bzsKCSAgbWFyZ2luLXJpZ2h0OiBhdXRvOwoJICB9
CgkgIGNhcHRpb24gewoJICBjYXB0aW9uLXNpZGU6IGJvdHRvbTsKCSAgZm9udC13ZWlnaHQ6IGJv
bGQ7CgkgIGZvbnQtc2l6ZTogOXB0OwoJICBtYXJnaW4tdG9wOiAuNWVtOwoJICB9CgkKCSAgdGFi
bGUuaGVhZGVyIHsKCSAgYm9yZGVyLXNwYWNpbmc6IDFweDsKCSAgd2lkdGg6IDk1JTsKCSAgZm9u
dC1zaXplOiAxMHB0OwoJICBjb2xvcjogd2hpdGU7CgkgIH0KCSAgdGQudG9wIHsKCSAgdmVydGlj
YWwtYWxpZ246IHRvcDsKCSAgfQoJICB0ZC50b3Bub3dyYXAgewoJICB2ZXJ0aWNhbC1hbGlnbjog
dG9wOwoJICB3aGl0ZS1zcGFjZTogbm93cmFwOyAKCSAgfQoJICB0YWJsZS5oZWFkZXIgdGQgewoJ
ICBiYWNrZ3JvdW5kLWNvbG9yOiBncmF5OwoJICB3aWR0aDogNTAlOwoJICB9CgkgIHRhYmxlLmhl
YWRlciBhIHsKCSAgY29sb3I6IHdoaXRlOwoJICB9CgkgIHRkLnJlZmVyZW5jZSB7CgkgIHZlcnRp
Y2FsLWFsaWduOiB0b3A7CgkgIHdoaXRlLXNwYWNlOiBub3dyYXA7CgkgIHBhZGRpbmctcmlnaHQ6
IDFlbTsKCSAgfQoJICB0aGVhZCB7CgkgIGRpc3BsYXk6dGFibGUtaGVhZGVyLWdyb3VwOwoJICB9
CgkgIHVsLnRvYywgdWwudG9jIHVsIHsKCSAgbGlzdC1zdHlsZTogbm9uZTsKCSAgbWFyZ2luLWxl
ZnQ6IDEuNWVtOwoJICBtYXJnaW4tcmlnaHQ6IDBlbTsKCSAgcGFkZGluZy1sZWZ0OiAwZW07Cgkg
IH0KCSAgdWwudG9jIGxpIHsKCSAgbGluZS1oZWlnaHQ6IDE1MCU7CgkgIGZvbnQtd2VpZ2h0OiBi
b2xkOwoJICBmb250LXNpemU6IDEwcHQ7CgkgIG1hcmdpbi1sZWZ0OiAwZW07CgkgIG1hcmdpbi1y
aWdodDogMGVtOwoJICB9CgkgIHVsLnRvYyBsaSBsaSB7CgkgIGxpbmUtaGVpZ2h0OiBub3JtYWw7
CgkgIGZvbnQtd2VpZ2h0OiBub3JtYWw7CgkgIGZvbnQtc2l6ZTogOXB0OwoJICBtYXJnaW4tbGVm
dDogMGVtOwoJICBtYXJnaW4tcmlnaHQ6IDBlbTsKCSAgfQoJICBsaS5leGNsdWRlZCB7CgkgIGZv
bnQtc2l6ZTogMHB0OwoJICB9CgkgIHVsIHAgewoJICBtYXJnaW4tbGVmdDogMGVtOwoJICB9CgkK
CSAgLmNvbW1lbnQgewoJICBiYWNrZ3JvdW5kLWNvbG9yOiB5ZWxsb3c7CgkgIH0KCSAgLmNlbnRl
ciB7CgkgIHRleHQtYWxpZ246IGNlbnRlcjsKCSAgfQoJICAuZXJyb3IgewoJICBjb2xvcjogcmVk
OwoJICBmb250LXN0eWxlOiBpdGFsaWM7CgkgIGZvbnQtd2VpZ2h0OiBib2xkOwoJICB9CgkgIC5m
aWd1cmUgewoJICBmb250LXdlaWdodDogYm9sZDsKCSAgdGV4dC1hbGlnbjogY2VudGVyOwoJICBm
b250LXNpemU6IDlwdDsKCSAgfQoJICAuZmlsZW5hbWUgewoJICBjb2xvcjogIzMzMzMzMzsKCSAg
Zm9udC13ZWlnaHQ6IGJvbGQ7CgkgIGZvbnQtc2l6ZTogMTJwdDsKCSAgbGluZS1oZWlnaHQ6IDIx
cHQ7CgkgIHRleHQtYWxpZ246IGNlbnRlcjsKCSAgfQoJICAuZm4gewoJICBmb250LXdlaWdodDog
Ym9sZDsKCSAgfQoJICAuaGlkZGVuIHsKCSAgZGlzcGxheTogbm9uZTsKCSAgfQoJICAubGVmdCB7
CgkgIHRleHQtYWxpZ246IGxlZnQ7CgkgIH0KCSAgLnJpZ2h0IHsKCSAgdGV4dC1hbGlnbjogcmln
aHQ7CgkgIH0KCSAgLnRpdGxlIHsKCSAgY29sb3I6ICM5OTAwMDA7CgkgIGZvbnQtc2l6ZTogMThw
dDsKCSAgbGluZS1oZWlnaHQ6IDE4cHQ7CgkgIGZvbnQtd2VpZ2h0OiBib2xkOwoJICB0ZXh0LWFs
aWduOiBjZW50ZXI7CgkgIG1hcmdpbi10b3A6IDM2cHQ7CgkgIH0KCSAgLnZjYXJkbGluZSB7Cgkg
IGRpc3BsYXk6IGJsb2NrOwoJICB9CgkgIC53YXJuaW5nIHsKCSAgZm9udC1zaXplOiAxNHB0OwoJ
ICBiYWNrZ3JvdW5kLWNvbG9yOiB5ZWxsb3c7CgkgIH0KCQoJCgkgIEBtZWRpYSBwcmludCB7Cgkg
IC5ub3ByaW50IHsKCQlkaXNwbGF5OiBub25lOwoJICB9CgkKCSAgYSB7CgkJY29sb3I6IGJsYWNr
OwoJCXRleHQtZGVjb3JhdGlvbjogbm9uZTsKCSAgfQoJCgkgIHRhYmxlLmhlYWRlciB7CgkJd2lk
dGg6IDkwJTsKCSAgfQoJCgkgIHRkLmhlYWRlciB7CgkJd2lkdGg6IDUwJTsKCQljb2xvcjogYmxh
Y2s7CgkJYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7CgkJdmVydGljYWwtYWxpZ246IHRvcDsKCQlm
b250LXNpemU6IDEycHQ7CgkgIH0KCQoJICB1bC50b2MgYTo6YWZ0ZXIgewoJCWNvbnRlbnQ6IGxl
YWRlcignLicpIHRhcmdldC1jb3VudGVyKGF0dHIoaHJlZiksIHBhZ2UpOwoJICB9CgkKCSAgdWwu
aW5kIGxpIGxpIGEgewoJCWNvbnRlbnQ6IHRhcmdldC1jb3VudGVyKGF0dHIoaHJlZiksIHBhZ2Up
OwoJICB9CgkKCSAgLnByaW50MmNvbCB7CgkJY29sdW1uLWNvdW50OiAyOwoJCS1tb3otY29sdW1u
LWNvdW50OiAyOwoJCWNvbHVtbi1maWxsOiBhdXRvOwoJICB9CgkgIH0KCQoJICBAcGFnZSB7Cgkg
IEB0b3AtbGVmdCB7CgkJICAgY29udGVudDogIkludGVybmV0LURyYWZ0IjsgCgkgIH0gCgkgIEB0
b3AtcmlnaHQgewoJCSAgIGNvbnRlbnQ6ICJEZWNlbWJlciAyMDEwIjsgCgkgIH0gCgkgIEB0b3At
Y2VudGVyIHsKCQkgICBjb250ZW50OiAiQWJicmV2aWF0ZWQgVGl0bGUiOzMKCSAgfSAKCSAgQGJv
dHRvbS1sZWZ0IHsKCQkgICBjb250ZW50OiAiRG9lIjsgCgkgIH0gCgkgIEBib3R0b20tY2VudGVy
IHsKCQkgICBjb250ZW50OiAiRXhwaXJlcyBKdW5lIDIwMTEiOyAKCSAgfSAKCSAgQGJvdHRvbS1y
aWdodCB7CgkJICAgY29udGVudDogIltQYWdlICIgY291bnRlcihwYWdlKSAiXSI7IAoJICB9IAoJ
ICB9CgkKCSAgQHBhZ2U6Zmlyc3QgeyAKCQlAdG9wLWxlZnQgewoJCSAgY29udGVudDogbm9ybWFs
OwoJCX0KCQlAdG9wLXJpZ2h0IHsKCQkgIGNvbnRlbnQ6IG5vcm1hbDsKCQl9CgkJQHRvcC1jZW50
ZXIgewoJCSAgY29udGVudDogbm9ybWFsOwoJCX0KCSAgfQogIC8qXV0+Ki8KICA8L3N0eWxlPgoK
ICA8bGluayBocmVmPSIjcmZjLnRvYyIgcmVsPSJDb250ZW50cyIvPgo8bGluayBocmVmPSIjcmZj
LnNlY3Rpb24uMSIgcmVsPSJDaGFwdGVyIiB0aXRsZT0iMSBJbnRyb2R1Y3Rpb24iLz4KPGxpbmsg
aHJlZj0iI3JmYy5zZWN0aW9uLjIiIHJlbD0iQ2hhcHRlciIgdGl0bGU9IjIgQ29udmVudGlvbnMi
Lz4KPGxpbmsgaHJlZj0iI3JmYy5zZWN0aW9uLjMiIHJlbD0iQ2hhcHRlciIgdGl0bGU9IjMgRGVm
aW5pdGlvbnMiLz4KPGxpbmsgaHJlZj0iI3JmYy5zZWN0aW9uLjQiIHJlbD0iQ2hhcHRlciIgdGl0
bGU9IjQgRGVzaWduIFJlcXVpcmVtZW50cyIvPgo8bGluayBocmVmPSIjcmZjLnNlY3Rpb24uNSIg
cmVsPSJDaGFwdGVyIiB0aXRsZT0iNSBTSVAgTG9hZCBGaWx0ZXJpbmcgT3ZlcnZpZXciLz4KPGxp
bmsgaHJlZj0iI3JmYy5zZWN0aW9uLjUuMSIgcmVsPSJDaGFwdGVyIiB0aXRsZT0iNS4xIExvYWQg
RmlsdGVyaW5nIFBvbGljeSBGb3JtYXQiLz4KPGxpbmsgaHJlZj0iI3JmYy5zZWN0aW9uLjUuMiIg
cmVsPSJDaGFwdGVyIiB0aXRsZT0iNS4yIExvYWQgRmlsdGVyaW5nIFBvbGljeSBDb21wdXRhdGlv
biIvPgo8bGluayBocmVmPSIjcmZjLnNlY3Rpb24uNS4zIiByZWw9IkNoYXB0ZXIiIHRpdGxlPSI1
LjMgTG9hZCBGaWx0ZXJpbmcgUG9saWN5IERpc3RyaWJ1dGlvbiIvPgo8bGluayBocmVmPSIjcmZj
LnNlY3Rpb24uNS40IiByZWw9IkNoYXB0ZXIiIHRpdGxlPSI1LjQgQXBwbGljYWJsZSBOZXR3b3Jr
IERvbWFpbnMiLz4KPGxpbmsgaHJlZj0iI3JmYy5zZWN0aW9uLjYiIHJlbD0iQ2hhcHRlciIgdGl0
bGU9IjYgTG9hZCBDb250cm9sIEV2ZW50IFBhY2thZ2UiLz4KPGxpbmsgaHJlZj0iI3JmYy5zZWN0
aW9uLjYuMSIgcmVsPSJDaGFwdGVyIiB0aXRsZT0iNi4xIEV2ZW50IFBhY2thZ2UgTmFtZSIvPgo8
bGluayBocmVmPSIjcmZjLnNlY3Rpb24uNi4yIiByZWw9IkNoYXB0ZXIiIHRpdGxlPSI2LjIgRXZl
bnQgUGFja2FnZSBQYXJhbWV0ZXJzIi8+CjxsaW5rIGhyZWY9IiNyZmMuc2VjdGlvbi42LjMiIHJl
bD0iQ2hhcHRlciIgdGl0bGU9IjYuMyBTVUJTQ1JJQkUgQm9kaWVzIi8+CjxsaW5rIGhyZWY9IiNy
ZmMuc2VjdGlvbi42LjQiIHJlbD0iQ2hhcHRlciIgdGl0bGU9IjYuNCBTVUJTQ1JJQkUgRHVyYXRp
b24iLz4KPGxpbmsgaHJlZj0iI3JmYy5zZWN0aW9uLjYuNSIgcmVsPSJDaGFwdGVyIiB0aXRsZT0i
Ni41IE5PVElGWSBCb2RpZXMiLz4KPGxpbmsgaHJlZj0iI3JmYy5zZWN0aW9uLjYuNiIgcmVsPSJD
aGFwdGVyIiB0aXRsZT0iNi42IE5vdGlmaWVyIFByb2Nlc3Npbmcgb2YgU1VCU0NSSUJFIFJlcXVl
c3RzIi8+CjxsaW5rIGhyZWY9IiNyZmMuc2VjdGlvbi42LjciIHJlbD0iQ2hhcHRlciIgdGl0bGU9
IjYuNyBOb3RpZmllciBHZW5lcmF0aW9uIG9mIE5PVElGWSBSZXF1ZXN0cyIvPgo8bGluayBocmVm
PSIjcmZjLnNlY3Rpb24uNi44IiByZWw9IkNoYXB0ZXIiIHRpdGxlPSI2LjggU3Vic2NyaWJlciBQ
cm9jZXNzaW5nIG9mIE5PVElGWSBSZXF1ZXN0cyIvPgo8bGluayBocmVmPSIjcmZjLnNlY3Rpb24u
Ni45IiByZWw9IkNoYXB0ZXIiIHRpdGxlPSI2LjkgSGFuZGxpbmcgb2YgRm9ya2VkIFJlcXVlc3Rz
Ii8+CjxsaW5rIGhyZWY9IiNyZmMuc2VjdGlvbi42LjEwIiByZWw9IkNoYXB0ZXIiIHRpdGxlPSI2
LjEwIFJhdGUgb2YgTm90aWZpY2F0aW9ucyIvPgo8bGluayBocmVmPSIjcmZjLnNlY3Rpb24uNi4x
MSIgcmVsPSJDaGFwdGVyIiB0aXRsZT0iNi4xMSBTdGF0ZSBEZWx0YSIvPgo8bGluayBocmVmPSIj
cmZjLnNlY3Rpb24uNyIgcmVsPSJDaGFwdGVyIiB0aXRsZT0iNyBMb2FkIENvbnRyb2wgRG9jdW1l
bnQiLz4KPGxpbmsgaHJlZj0iI3JmYy5zZWN0aW9uLjcuMSIgcmVsPSJDaGFwdGVyIiB0aXRsZT0i
Ny4xIEZvcm1hdCIvPgo8bGluayBocmVmPSIjcmZjLnNlY3Rpb24uNy4yIiByZWw9IkNoYXB0ZXIi
IHRpdGxlPSI3LjIgTmFtZXNwYWNlIi8+CjxsaW5rIGhyZWY9IiNyZmMuc2VjdGlvbi43LjMiIHJl
bD0iQ2hhcHRlciIgdGl0bGU9IjcuMyBDb25kaXRpb25zICIvPgo8bGluayBocmVmPSIjcmZjLnNl
Y3Rpb24uNy4zLjEiIHJlbD0iQ2hhcHRlciIgdGl0bGU9IjcuMy4xIENhbGwgSWRlbnRpdHkiLz4K
PGxpbmsgaHJlZj0iI3JmYy5zZWN0aW9uLjcuMy4yIiByZWw9IkNoYXB0ZXIiIHRpdGxlPSI3LjMu
MiBNZXRob2QiLz4KPGxpbmsgaHJlZj0iI3JmYy5zZWN0aW9uLjcuMy4zIiByZWw9IkNoYXB0ZXIi
IHRpdGxlPSI3LjMuMyBUYXJnZXQgU0lQIEVudGl0eSIvPgo8bGluayBocmVmPSIjcmZjLnNlY3Rp
b24uNy4zLjQiIHJlbD0iQ2hhcHRlciIgdGl0bGU9IjcuMy40IFZhbGlkaXR5Ii8+CjxsaW5rIGhy
ZWY9IiNyZmMuc2VjdGlvbi43LjQiIHJlbD0iQ2hhcHRlciIgdGl0bGU9IjcuNCBBY3Rpb25zIi8+
CjxsaW5rIGhyZWY9IiNyZmMuc2VjdGlvbi43LjUiIHJlbD0iQ2hhcHRlciIgdGl0bGU9IjcuNSBD
b21wbGV0ZSBFeGFtcGxlcyIvPgo8bGluayBocmVmPSIjcmZjLnNlY3Rpb24uNy41LjEiIHJlbD0i
Q2hhcHRlciIgdGl0bGU9IjcuNS4xIExvYWQgQ29udHJvbCBEb2N1bWVudCBFeGFtcGxlcyIvPgo8
bGluayBocmVmPSIjcmZjLnNlY3Rpb24uNy41LjIiIHJlbD0iQ2hhcHRlciIgdGl0bGU9IjcuNS4y
IE1lc3NhZ2UgRmxvdyBFeGFtcGxlcyIvPgo8bGluayBocmVmPSIjcmZjLnNlY3Rpb24uOCIgcmVs
PSJDaGFwdGVyIiB0aXRsZT0iOCBYTUwgU2NoZW1hIERlZmluaXRpb24gZm9yIExvYWQgQ29udHJv
bCIvPgo8bGluayBocmVmPSIjcmZjLnNlY3Rpb24uOSIgcmVsPSJDaGFwdGVyIiB0aXRsZT0iOSBS
ZWxhdGVkIFdvcmsiLz4KPGxpbmsgaHJlZj0iI3JmYy5zZWN0aW9uLjkuMSIgcmVsPSJDaGFwdGVy
IiB0aXRsZT0iOS4xIFJlbGF0aW9uc2hpcCB3aXRoIExvYWQgRmlsdGVyaW5nIGluIFBTVE4iLz4K
PGxpbmsgaHJlZj0iI3JmYy5zZWN0aW9uLjkuMiIgcmVsPSJDaGFwdGVyIiB0aXRsZT0iOS4yIFJl
bGF0aW9uc2hpcCB3aXRoIE90aGVyIElFVEYgU0lQIE92ZXJsb2FkIENvbnRyb2wgRWZmb3J0cyIv
Pgo8bGluayBocmVmPSIjcmZjLnNlY3Rpb24uMTAiIHJlbD0iQ2hhcHRlciIgdGl0bGU9IjEwIERp
c2N1c3Npb24gb2YgdGhpcyBzcGVjaWZpY2F0aW9uIG1lZXRpbmcgdGhlIHJlcXVpcmVtZW50cyBv
ZiBSRkM1MzkwIi8+CjxsaW5rIGhyZWY9IiNyZmMuc2VjdGlvbi4xMSIgcmVsPSJDaGFwdGVyIiB0
aXRsZT0iMTEgU2VjdXJpdHkgQ29uc2lkZXJhdGlvbnMiLz4KPGxpbmsgaHJlZj0iI3JmYy5zZWN0
aW9uLjEyIiByZWw9IkNoYXB0ZXIiIHRpdGxlPSIxMiBJQU5BIENvbnNpZGVyYXRpb25zIi8+Cjxs
aW5rIGhyZWY9IiNyZmMuc2VjdGlvbi4xMi4xIiByZWw9IkNoYXB0ZXIiIHRpdGxlPSIxMi4xIExv
YWQgQ29udHJvbCBFdmVudCBQYWNrYWdlIFJlZ2lzdHJhdGlvbiIvPgo8bGluayBocmVmPSIjcmZj
LnNlY3Rpb24uMTIuMiIgcmVsPSJDaGFwdGVyIiB0aXRsZT0iMTIuMiBhcHBsaWNhdGlvbi9sb2Fk
LWNvbnRyb2wreG1sIE1JTUUgUmVnaXN0cmF0aW9uIi8+CjxsaW5rIGhyZWY9IiNyZmMuc2VjdGlv
bi4xMi4zIiByZWw9IkNoYXB0ZXIiIHRpdGxlPSIxMi4zIExvYWQgQ29udHJvbCBTY2hlbWEgUmVn
aXN0cmF0aW9uIi8+CjxsaW5rIGhyZWY9IiNyZmMuc2VjdGlvbi4xMyIgcmVsPSJDaGFwdGVyIiB0
aXRsZT0iMTMgQWNrbm93bGVkZ2VtZW50cyIvPgo8bGluayBocmVmPSIjcmZjLnJlZmVyZW5jZXMi
IHJlbD0iQ2hhcHRlciIgdGl0bGU9IjE0IFJlZmVyZW5jZXMiLz4KPGxpbmsgaHJlZj0iI3JmYy5y
ZWZlcmVuY2VzLjEiIHJlbD0iQ2hhcHRlciIgdGl0bGU9IjE0LjEgTm9ybWF0aXZlIFJlZmVyZW5j
ZXMiLz4KPGxpbmsgaHJlZj0iI3JmYy5yZWZlcmVuY2VzLjIiIHJlbD0iQ2hhcHRlciIgdGl0bGU9
IjE0LjIgSW5mb3JtYXRpdmUgUmVmZXJlbmNlcyIvPgo8bGluayBocmVmPSIjcmZjLmF1dGhvcnMi
IHJlbD0iQ2hhcHRlciIvPgoKCiAgPG1ldGEgbmFtZT0iZ2VuZXJhdG9yIiBjb250ZW50PSJ4bWwy
cmZjIHZlcnNpb24gMi40LjIgLSBodHRwOi8vdG9vbHMuaWV0Zi5vcmcvdG9vbHMveG1sMnJmYyIg
Lz4KICA8bGluayByZWw9InNjaGVtYS5kY3QiIGhyZWY9Imh0dHA6Ly9wdXJsLm9yZy9kYy90ZXJt
cy8iIC8+CgogIDxtZXRhIG5hbWU9ImRjdC5jcmVhdG9yIiBjb250ZW50PSJTaGVuLCBDLiwgU2No
dWx6cmlubmUsIEguLCBhbmQgQS4gS29pa2UiIC8+CiAgPG1ldGEgbmFtZT0iZGN0LmlkZW50aWZp
ZXIiIGNvbnRlbnQ9InVybjppZXRmOmlkOmRyYWZ0LWlldGYtc29jLWxvYWQtY29udHJvbC1ldmVu
dC1wYWNrYWdlLTEwLnR4dCIgLz4KICA8bWV0YSBuYW1lPSJkY3QuaXNzdWVkIiBzY2hlbWU9IklT
Tzg2MDEiIGNvbnRlbnQ9IjIwMTMtMTAtMzAiIC8+CiAgPG1ldGEgbmFtZT0iZGN0LmFic3RyYWN0
IiBjb250ZW50PSJXZSBkZWZpbmUgYSBsb2FkIGNvbnRyb2wgZXZlbnQgcGFja2FnZSBmb3IgdGhl
IFNlc3Npb24gSW5pdGlhdGlvbiBQcm90b2NvbCAoU0lQKS4gSXQgYWxsb3dzIFNJUCBlbnRpdGll
cyB0byBkaXN0cmlidXRlIGxvYWQgZmlsdGVyaW5nIHBvbGljaWVzIHRvIG90aGVyIFNJUCBlbnRp
dGllcyBpbiB0aGUgbmV0d29yay4gVGhlIGxvYWQgZmlsdGVyaW5nIHBvbGljaWVzIGNvbnRhaW4g
cnVsZXMgdG8gdGhyb3R0bGUgY2FsbHMgYmFzZWQgb24gdGhlaXIgc291cmNlIG9yIGRlc3RpbmF0
aW9uIGRvbWFpbiwgdGVsZXBob25lIG51bWJlciBwcmVmaXggb3IgZm9yIGEgc3BlY2lmaWMgdXNl
ci4gVGhlIG1lY2hhbmlzbSBoZWxwcyB0byBwcmV2ZW50IHNpZ25hbGluZyBvdmVybG9hZCBhbmQg
Y29tcGxlbWVudHMgZmVlZGJhY2stYmFzZWQgU0lQIG92ZXJsb2FkIGNvbnRyb2wgZWZmb3J0cy4g
IiAvPgogIDxtZXRhIG5hbWU9ImRlc2NyaXB0aW9uIiBjb250ZW50PSJXZSBkZWZpbmUgYSBsb2Fk
IGNvbnRyb2wgZXZlbnQgcGFja2FnZSBmb3IgdGhlIFNlc3Npb24gSW5pdGlhdGlvbiBQcm90b2Nv
bCAoU0lQKS4gSXQgYWxsb3dzIFNJUCBlbnRpdGllcyB0byBkaXN0cmlidXRlIGxvYWQgZmlsdGVy
aW5nIHBvbGljaWVzIHRvIG90aGVyIFNJUCBlbnRpdGllcyBpbiB0aGUgbmV0d29yay4gVGhlIGxv
YWQgZmlsdGVyaW5nIHBvbGljaWVzIGNvbnRhaW4gcnVsZXMgdG8gdGhyb3R0bGUgY2FsbHMgYmFz
ZWQgb24gdGhlaXIgc291cmNlIG9yIGRlc3RpbmF0aW9uIGRvbWFpbiwgdGVsZXBob25lIG51bWJl
ciBwcmVmaXggb3IgZm9yIGEgc3BlY2lmaWMgdXNlci4gVGhlIG1lY2hhbmlzbSBoZWxwcyB0byBw
cmV2ZW50IHNpZ25hbGluZyBvdmVybG9hZCBhbmQgY29tcGxlbWVudHMgZmVlZGJhY2stYmFzZWQg
U0lQIG92ZXJsb2FkIGNvbnRyb2wgZWZmb3J0cy4gIiAvPgoKPC9oZWFkPgoKPGJvZHk+CgogIDx0
YWJsZSBjbGFzcz0iaGVhZGVyIj4KICAgIDx0Ym9keT4KICAgIAogICAgCTx0cj4KICA8dGQgY2xh
c3M9ImxlZnQiPklFVEYgU09DIFdvcmtpbmcgR3JvdXA8L3RkPgogIDx0ZCBjbGFzcz0icmlnaHQi
PkMuIFNoZW48L3RkPgo8L3RyPgo8dHI+CiAgPHRkIGNsYXNzPSJsZWZ0Ij5JbnRlcm5ldC1EcmFm
dDwvdGQ+CiAgPHRkIGNsYXNzPSJyaWdodCI+SC4gU2NodWx6cmlubmU8L3RkPgo8L3RyPgo8dHI+
CiAgPHRkIGNsYXNzPSJsZWZ0Ij5JbnRlbmRlZCBzdGF0dXM6IFN0YW5kYXJkcyBUcmFjazwvdGQ+
CiAgPHRkIGNsYXNzPSJyaWdodCI+Q29sdW1iaWEgVS48L3RkPgo8L3RyPgo8dHI+CiAgPHRkIGNs
YXNzPSJsZWZ0Ij5FeHBpcmVzOiBNYXkgMDMsIDIwMTQ8L3RkPgogIDx0ZCBjbGFzcz0icmlnaHQi
PkEuIEtvaWtlPC90ZD4KPC90cj4KPHRyPgogIDx0ZCBjbGFzcz0ibGVmdCI+PC90ZD4KICA8dGQg
Y2xhc3M9InJpZ2h0Ij5OVFQ8L3RkPgo8L3RyPgo8dHI+CiAgPHRkIGNsYXNzPSJsZWZ0Ij48L3Rk
PgogIDx0ZCBjbGFzcz0icmlnaHQiPk9jdG9iZXIgMzAsIDIwMTM8L3RkPgo8L3RyPgoKICAgIAkK
ICAgIDwvdGJvZHk+CiAgPC90YWJsZT4KCiAgPHAgY2xhc3M9InRpdGxlIj5BIFNlc3Npb24gSW5p
dGlhdGlvbiBQcm90b2NvbCAoU0lQKSBMb2FkIENvbnRyb2wgRXZlbnQgUGFja2FnZSA8YnIgLz4K
ICA8c3BhbiBjbGFzcz0iZmlsZW5hbWUiPmRyYWZ0LWlldGYtc29jLWxvYWQtY29udHJvbC1ldmVu
dC1wYWNrYWdlLTEwLnR4dDwvc3Bhbj48L3A+CiAgCiAgPGgxIGlkPSJyZmMuYWJzdHJhY3QiPgog
IDxhIGhyZWY9IiNyZmMuYWJzdHJhY3QiPkFic3RyYWN0PC9hPgo8L2gxPgo8cD5XZSBkZWZpbmUg
YSBsb2FkIGNvbnRyb2wgZXZlbnQgcGFja2FnZSBmb3IgdGhlIFNlc3Npb24gSW5pdGlhdGlvbiBQ
cm90b2NvbCAoU0lQKS4gSXQgYWxsb3dzIFNJUCBlbnRpdGllcyB0byBkaXN0cmlidXRlIGxvYWQg
ZmlsdGVyaW5nIHBvbGljaWVzIHRvIG90aGVyIFNJUCBlbnRpdGllcyBpbiB0aGUgbmV0d29yay4g
VGhlIGxvYWQgZmlsdGVyaW5nIHBvbGljaWVzIGNvbnRhaW4gcnVsZXMgdG8gdGhyb3R0bGUgY2Fs
bHMgYmFzZWQgb24gdGhlaXIgc291cmNlIG9yIGRlc3RpbmF0aW9uIGRvbWFpbiwgdGVsZXBob25l
IG51bWJlciBwcmVmaXggb3IgZm9yIGEgc3BlY2lmaWMgdXNlci4gVGhlIG1lY2hhbmlzbSBoZWxw
cyB0byBwcmV2ZW50IHNpZ25hbGluZyBvdmVybG9hZCBhbmQgY29tcGxlbWVudHMgZmVlZGJhY2st
YmFzZWQgU0lQIG92ZXJsb2FkIGNvbnRyb2wgZWZmb3J0cy4gPC9wPgo8aDEgaWQ9InJmYy5zdGF0
dXMiPgogIDxhIGhyZWY9IiNyZmMuc3RhdHVzIj5TdGF0dXMgb2YgVGhpcyBNZW1vPC9hPgo8L2gx
Pgo8cD5UaGlzIEludGVybmV0LURyYWZ0IGlzIHN1Ym1pdHRlZCBpbiBmdWxsIGNvbmZvcm1hbmNl
IHdpdGggdGhlIHByb3Zpc2lvbnMgb2YgQkNQIDc4IGFuZCBCQ1AgNzkuPC9wPgo8cD5JbnRlcm5l
dC1EcmFmdHMgYXJlIHdvcmtpbmcgZG9jdW1lbnRzIG9mIHRoZSBJbnRlcm5ldCBFbmdpbmVlcmlu
ZyBUYXNrIEZvcmNlIChJRVRGKS4gIE5vdGUgdGhhdCBvdGhlciBncm91cHMgbWF5IGFsc28gZGlz
dHJpYnV0ZSB3b3JraW5nIGRvY3VtZW50cyBhcyBJbnRlcm5ldC1EcmFmdHMuICBUaGUgbGlzdCBv
ZiBjdXJyZW50IEludGVybmV0LURyYWZ0cyBpcyBhdCBodHRwOi8vZGF0YXRyYWNrZXIuaWV0Zi5v
cmcvZHJhZnRzL2N1cnJlbnQvLjwvcD4KPHA+SW50ZXJuZXQtRHJhZnRzIGFyZSBkcmFmdCBkb2N1
bWVudHMgdmFsaWQgZm9yIGEgbWF4aW11bSBvZiBzaXggbW9udGhzIGFuZCBtYXkgYmUgdXBkYXRl
ZCwgcmVwbGFjZWQsIG9yIG9ic29sZXRlZCBieSBvdGhlciBkb2N1bWVudHMgYXQgYW55IHRpbWUu
ICBJdCBpcyBpbmFwcHJvcHJpYXRlIHRvIHVzZSBJbnRlcm5ldC1EcmFmdHMgYXMgcmVmZXJlbmNl
IG1hdGVyaWFsIG9yIHRvIGNpdGUgdGhlbSBvdGhlciB0aGFuIGFzICJ3b3JrIGluIHByb2dyZXNz
LiI8L3A+CjxwPlRoaXMgSW50ZXJuZXQtRHJhZnQgd2lsbCBleHBpcmUgb24gTWF5IDAzLCAyMDE0
LjwvcD4KPGgxIGlkPSJyZmMuY29weXJpZ2h0bm90aWNlIj4KICA8YSBocmVmPSIjcmZjLmNvcHly
aWdodG5vdGljZSI+Q29weXJpZ2h0IE5vdGljZTwvYT4KPC9oMT4KPHA+Q29weXJpZ2h0IChjKSAy
MDEzIElFVEYgVHJ1c3QgYW5kIHRoZSBwZXJzb25zIGlkZW50aWZpZWQgYXMgdGhlIGRvY3VtZW50
IGF1dGhvcnMuICBBbGwgcmlnaHRzIHJlc2VydmVkLjwvcD4KPHA+VGhpcyBkb2N1bWVudCBpcyBz
dWJqZWN0IHRvIEJDUCA3OCBhbmQgdGhlIElFVEYgVHJ1c3QncyBMZWdhbCBQcm92aXNpb25zIFJl
bGF0aW5nIHRvIElFVEYgRG9jdW1lbnRzIChodHRwOi8vdHJ1c3RlZS5pZXRmLm9yZy9saWNlbnNl
LWluZm8pIGluIGVmZmVjdCBvbiB0aGUgZGF0ZSBvZiBwdWJsaWNhdGlvbiBvZiB0aGlzIGRvY3Vt
ZW50LiAgUGxlYXNlIHJldmlldyB0aGVzZSBkb2N1bWVudHMgY2FyZWZ1bGx5LCBhcyB0aGV5IGRl
c2NyaWJlIHlvdXIgcmlnaHRzIGFuZCByZXN0cmljdGlvbnMgd2l0aCByZXNwZWN0IHRvIHRoaXMg
ZG9jdW1lbnQuICBDb2RlIENvbXBvbmVudHMgZXh0cmFjdGVkIGZyb20gdGhpcyBkb2N1bWVudCBt
dXN0IGluY2x1ZGUgU2ltcGxpZmllZCBCU0QgTGljZW5zZSB0ZXh0IGFzIGRlc2NyaWJlZCBpbiBT
ZWN0aW9uIDQuZSBvZiB0aGUgVHJ1c3QgTGVnYWwgUHJvdmlzaW9ucyBhbmQgYXJlIHByb3ZpZGVk
IHdpdGhvdXQgd2FycmFudHkgYXMgZGVzY3JpYmVkIGluIHRoZSBTaW1wbGlmaWVkIEJTRCBMaWNl
bnNlLjwvcD4KCiAgCiAgPGhyIGNsYXNzPSJub3ByaW50IiAvPgogIDxoMSBjbGFzcz0ibnAiIGlk
PSJyZmMudG9jIj48YSBocmVmPSIjcmZjLnRvYyI+VGFibGUgb2YgQ29udGVudHM8L2E+PC9oMT4K
ICA8dWwgY2xhc3M9InRvYyI+CgogIAk8bGk+MS4gICA8YSBocmVmPSIjcmZjLnNlY3Rpb24uMSI+
SW50cm9kdWN0aW9uPC9hPjwvbGk+CjxsaT4yLiAgIDxhIGhyZWY9IiNyZmMuc2VjdGlvbi4yIj5D
b252ZW50aW9uczwvYT48L2xpPgo8bGk+My4gICA8YSBocmVmPSIjcmZjLnNlY3Rpb24uMyI+RGVm
aW5pdGlvbnM8L2E+PC9saT4KPGxpPjQuICAgPGEgaHJlZj0iI3JmYy5zZWN0aW9uLjQiPkRlc2ln
biBSZXF1aXJlbWVudHM8L2E+PC9saT4KPGxpPjUuICAgPGEgaHJlZj0iI3JmYy5zZWN0aW9uLjUi
PlNJUCBMb2FkIEZpbHRlcmluZyBPdmVydmlldzwvYT48L2xpPgo8bGk+NS4xLiAgIDxhIGhyZWY9
IiNyZmMuc2VjdGlvbi41LjEiPkxvYWQgRmlsdGVyaW5nIFBvbGljeSBGb3JtYXQ8L2E+PC9saT4K
PGxpPjUuMi4gICA8YSBocmVmPSIjcmZjLnNlY3Rpb24uNS4yIj5Mb2FkIEZpbHRlcmluZyBQb2xp
Y3kgQ29tcHV0YXRpb248L2E+PC9saT4KPGxpPjUuMy4gICA8YSBocmVmPSIjcmZjLnNlY3Rpb24u
NS4zIj5Mb2FkIEZpbHRlcmluZyBQb2xpY3kgRGlzdHJpYnV0aW9uPC9hPjwvbGk+CjxsaT41LjQu
ICAgPGEgaHJlZj0iI3JmYy5zZWN0aW9uLjUuNCI+QXBwbGljYWJsZSBOZXR3b3JrIERvbWFpbnM8
L2E+PC9saT4KPGxpPjYuICAgPGEgaHJlZj0iI3JmYy5zZWN0aW9uLjYiPkxvYWQgQ29udHJvbCBF
dmVudCBQYWNrYWdlPC9hPjwvbGk+CjxsaT42LjEuICAgPGEgaHJlZj0iI3JmYy5zZWN0aW9uLjYu
MSI+RXZlbnQgUGFja2FnZSBOYW1lPC9hPjwvbGk+CjxsaT42LjIuICAgPGEgaHJlZj0iI3JmYy5z
ZWN0aW9uLjYuMiI+RXZlbnQgUGFja2FnZSBQYXJhbWV0ZXJzPC9hPjwvbGk+CjxsaT42LjMuICAg
PGEgaHJlZj0iI3JmYy5zZWN0aW9uLjYuMyI+U1VCU0NSSUJFIEJvZGllczwvYT48L2xpPgo8bGk+
Ni40LiAgIDxhIGhyZWY9IiNyZmMuc2VjdGlvbi42LjQiPlNVQlNDUklCRSBEdXJhdGlvbjwvYT48
L2xpPgo8bGk+Ni41LiAgIDxhIGhyZWY9IiNyZmMuc2VjdGlvbi42LjUiPk5PVElGWSBCb2RpZXM8
L2E+PC9saT4KPGxpPjYuNi4gICA8YSBocmVmPSIjcmZjLnNlY3Rpb24uNi42Ij5Ob3RpZmllciBQ
cm9jZXNzaW5nIG9mIFNVQlNDUklCRSBSZXF1ZXN0czwvYT48L2xpPgo8bGk+Ni43LiAgIDxhIGhy
ZWY9IiNyZmMuc2VjdGlvbi42LjciPk5vdGlmaWVyIEdlbmVyYXRpb24gb2YgTk9USUZZIFJlcXVl
c3RzPC9hPjwvbGk+CjxsaT42LjguICAgPGEgaHJlZj0iI3JmYy5zZWN0aW9uLjYuOCI+U3Vic2Ny
aWJlciBQcm9jZXNzaW5nIG9mIE5PVElGWSBSZXF1ZXN0czwvYT48L2xpPgo8bGk+Ni45LiAgIDxh
IGhyZWY9IiNyZmMuc2VjdGlvbi42LjkiPkhhbmRsaW5nIG9mIEZvcmtlZCBSZXF1ZXN0czwvYT48
L2xpPgo8bGk+Ni4xMC4gICA8YSBocmVmPSIjcmZjLnNlY3Rpb24uNi4xMCI+UmF0ZSBvZiBOb3Rp
ZmljYXRpb25zPC9hPjwvbGk+CjxsaT42LjExLiAgIDxhIGhyZWY9IiNyZmMuc2VjdGlvbi42LjEx
Ij5TdGF0ZSBEZWx0YTwvYT48L2xpPgo8bGk+Ny4gICA8YSBocmVmPSIjcmZjLnNlY3Rpb24uNyI+
TG9hZCBDb250cm9sIERvY3VtZW50PC9hPjwvbGk+CjxsaT43LjEuICAgPGEgaHJlZj0iI3JmYy5z
ZWN0aW9uLjcuMSI+Rm9ybWF0PC9hPjwvbGk+CjxsaT43LjIuICAgPGEgaHJlZj0iI3JmYy5zZWN0
aW9uLjcuMiI+TmFtZXNwYWNlPC9hPjwvbGk+CjxsaT43LjMuICAgPGEgaHJlZj0iI3JmYy5zZWN0
aW9uLjcuMyI+Q29uZGl0aW9ucyA8L2E+PC9saT4KPGxpPjcuMy4xLiAgIDxhIGhyZWY9IiNyZmMu
c2VjdGlvbi43LjMuMSI+Q2FsbCBJZGVudGl0eTwvYT48L2xpPgo8bGk+Ny4zLjIuICAgPGEgaHJl
Zj0iI3JmYy5zZWN0aW9uLjcuMy4yIj5NZXRob2Q8L2E+PC9saT4KPGxpPjcuMy4zLiAgIDxhIGhy
ZWY9IiNyZmMuc2VjdGlvbi43LjMuMyI+VGFyZ2V0IFNJUCBFbnRpdHk8L2E+PC9saT4KPGxpPjcu
My40LiAgIDxhIGhyZWY9IiNyZmMuc2VjdGlvbi43LjMuNCI+VmFsaWRpdHk8L2E+PC9saT4KPGxp
PjcuNC4gICA8YSBocmVmPSIjcmZjLnNlY3Rpb24uNy40Ij5BY3Rpb25zPC9hPjwvbGk+CjxsaT43
LjUuICAgPGEgaHJlZj0iI3JmYy5zZWN0aW9uLjcuNSI+Q29tcGxldGUgRXhhbXBsZXM8L2E+PC9s
aT4KPGxpPjcuNS4xLiAgIDxhIGhyZWY9IiNyZmMuc2VjdGlvbi43LjUuMSI+TG9hZCBDb250cm9s
IERvY3VtZW50IEV4YW1wbGVzPC9hPjwvbGk+CjxsaT43LjUuMi4gICA8YSBocmVmPSIjcmZjLnNl
Y3Rpb24uNy41LjIiPk1lc3NhZ2UgRmxvdyBFeGFtcGxlczwvYT48L2xpPgo8bGk+OC4gICA8YSBo
cmVmPSIjcmZjLnNlY3Rpb24uOCI+WE1MIFNjaGVtYSBEZWZpbml0aW9uIGZvciBMb2FkIENvbnRy
b2w8L2E+PC9saT4KPGxpPjkuICAgPGEgaHJlZj0iI3JmYy5zZWN0aW9uLjkiPlJlbGF0ZWQgV29y
azwvYT48L2xpPgo8bGk+OS4xLiAgIDxhIGhyZWY9IiNyZmMuc2VjdGlvbi45LjEiPlJlbGF0aW9u
c2hpcCB3aXRoIExvYWQgRmlsdGVyaW5nIGluIFBTVE48L2E+PC9saT4KPGxpPjkuMi4gICA8YSBo
cmVmPSIjcmZjLnNlY3Rpb24uOS4yIj5SZWxhdGlvbnNoaXAgd2l0aCBPdGhlciBJRVRGIFNJUCBP
dmVybG9hZCBDb250cm9sIEVmZm9ydHM8L2E+PC9saT4KPGxpPjEwLiAgIDxhIGhyZWY9IiNyZmMu
c2VjdGlvbi4xMCI+RGlzY3Vzc2lvbiBvZiB0aGlzIHNwZWNpZmljYXRpb24gbWVldGluZyB0aGUg
cmVxdWlyZW1lbnRzIG9mIFJGQzUzOTA8L2E+PC9saT4KPGxpPjExLiAgIDxhIGhyZWY9IiNyZmMu
c2VjdGlvbi4xMSI+U2VjdXJpdHkgQ29uc2lkZXJhdGlvbnM8L2E+PC9saT4KPGxpPjEyLiAgIDxh
IGhyZWY9IiNyZmMuc2VjdGlvbi4xMiI+SUFOQSBDb25zaWRlcmF0aW9uczwvYT48L2xpPgo8bGk+
MTIuMS4gICA8YSBocmVmPSIjcmZjLnNlY3Rpb24uMTIuMSI+TG9hZCBDb250cm9sIEV2ZW50IFBh
Y2thZ2UgUmVnaXN0cmF0aW9uPC9hPjwvbGk+CjxsaT4xMi4yLiAgIDxhIGhyZWY9IiNyZmMuc2Vj
dGlvbi4xMi4yIj5hcHBsaWNhdGlvbi9sb2FkLWNvbnRyb2wreG1sIE1JTUUgUmVnaXN0cmF0aW9u
PC9hPjwvbGk+CjxsaT4xMi4zLiAgIDxhIGhyZWY9IiNyZmMuc2VjdGlvbi4xMi4zIj5Mb2FkIENv
bnRyb2wgU2NoZW1hIFJlZ2lzdHJhdGlvbjwvYT48L2xpPgo8bGk+MTMuICAgPGEgaHJlZj0iI3Jm
Yy5zZWN0aW9uLjEzIj5BY2tub3dsZWRnZW1lbnRzPC9hPjwvbGk+CjxsaT4xNC4gICA8YSBocmVm
PSIjcmZjLnJlZmVyZW5jZXMiPlJlZmVyZW5jZXM8L2E+PC9saT4KPGxpPjE0LjEuICAgPGEgaHJl
Zj0iI3JmYy5yZWZlcmVuY2VzLjEiPk5vcm1hdGl2ZSBSZWZlcmVuY2VzPC9hPjwvbGk+CjxsaT4x
NC4yLiAgIDxhIGhyZWY9IiNyZmMucmVmZXJlbmNlcy4yIj5JbmZvcm1hdGl2ZSBSZWZlcmVuY2Vz
PC9hPjwvbGk+CjxsaT48YSBocmVmPSIjcmZjLmF1dGhvcnMiPkF1dGhvcnMnIEFkZHJlc3Nlczwv
YT48L2xpPgoKCiAgPC91bD4KCiAgPGgxIGlkPSJyZmMuc2VjdGlvbi4xIj48YSBocmVmPSIjcmZj
LnNlY3Rpb24uMSI+MS48L2E+IDxhIGhyZWY9IiNzZWM6aW50cm8iIGlkPSJzZWM6aW50cm8iPklu
dHJvZHVjdGlvbjwvYT48L2gxPgo8cCBpZD0icmZjLnNlY3Rpb24uMS5wLjEiPlByb3BlciBmdW5j
dGlvbmluZyBvZiBTZXNzaW9uIEluaXRpYXRpb24gUHJvdG9jb2wgKFNJUCkgPGEgaHJlZj0iI1JG
QzMyNjEiPltSRkMzMjYxXTwvYT4gc2lnbmFsaW5nIHNlcnZlcnMgaXMgY3JpdGljYWwgaW4gU0lQ
LWJhc2VkIGNvbW11bmljYXRpb25zIG5ldHdvcmtzLiBUaGUgcGVyZm9ybWFuY2Ugb2YgU0lQIHNl
cnZlcnMgY2FuIGJlIHNldmVyZWx5IGRlZ3JhZGVkIHdoZW4gdGhlIHNlcnZlciBpcyBvdmVybG9h
ZGVkIHdpdGggZXhjZXNzaXZlIG51bWJlciBvZiBzaWduYWxpbmcgcmVxdWVzdHMuIEJvdGggbGVn
aXRpbWF0ZSBhbmQgbWFsaWNpb3VzIHRyYWZmaWMgY2FuIG92ZXJsb2FkIFNJUCBzZXJ2ZXJzLCBk
ZXNwaXRlIGFwcHJvcHJpYXRlIGNhcGFjaXR5IHBsYW5uaW5nLiA8L3A+CjxwIGlkPSJyZmMuc2Vj
dGlvbi4xLnAuMiI+VGhlcmUgYXJlIHRocmVlIGNvbW1vbiBleGFtcGxlcyBvZiBsZWdpdGltYXRl
IHNob3J0LXRlcm0gaW5jcmVhc2VzIGluIGNhbGwgdm9sdW1lcy4gVmlld2VyLXZvdGluZyBUViBz
aG93cyBvciB0aWNrZXQgZ2l2ZWF3YXlzIG1heSBnZW5lcmF0ZSBtaWxsaW9ucyBvZiBjYWxscyB3
aXRoaW4gYSBmZXcgbWludXRlcy4gQ2FsbCB2b2x1bWUgbWF5IGFsc28gc3Bpa2UgZHVyaW5nIHNw
ZWNpYWwgaG9saWRheXMgc3VjaCBhcyBOZXcgWWVhcidzIERheSBhbmQgTW90aGVyJ3MgRGF5LiBG
aW5hbGx5LCBjYWxsZXJzIG1heSB3YW50IHRvIHJlYWNoIGZyaWVuZHMgYW5kIGZhbWlseSBpbiBu
YXR1cmFsIGRpc2FzdGVyIGFyZWFzIHN1Y2ggYXMgdGhvc2UgYWZmZWN0ZWQgYnkgaHVycmljYW5l
cy4gV2hlbiBwb3NzaWJsZSwgb25seSBjYWxscyB0cmF2ZXJzaW5nIG92ZXJsb2FkZWQgc2VydmVy
cyBzaG91bGQgYmUgdGhyb3R0bGVkIHVuZGVyIHRob3NlIGNvbmRpdGlvbnMuIDwvcD4KPHAgaWQ9
InJmYy5zZWN0aW9uLjEucC4zIj5TSVAgbG9hZCBjb250cm9sIG1lY2hhbmlzbXMgYXJlIG5lZWRl
ZCB0byBwcmV2ZW50IGNvbmdlc3Rpb24gY29sbGFwc2UgaW4gdGhlc2UgY2FzZXMgPGEgaHJlZj0i
I1JGQzUzOTAiPltSRkM1MzkwXTwvYT4uIFRoZXJlIGFyZSB0d28gdHlwZXMgb2YgbG9hZCBjb250
cm9sIGFwcHJvYWNoZXMuIEluIHRoZSBmaXJzdCBhcHByb2FjaCwgZmVlZGJhY2sgY29udHJvbCwg
U0lQIHNlcnZlcnMgcHJvdmlkZSBsb2FkIGxpbWl0cyB0byB1cHN0cmVhbSBzZXJ2ZXJzLCB0byBy
ZWR1Y2UgdGhlIGluY29taW5nIHJhdGUgb2YgYWxsIFNJUCByZXF1ZXN0cyA8YSBocmVmPSIjSS1E
LmlldGYtc29jLW92ZXJsb2FkLWNvbnRyb2wiPltJLUQuaWV0Zi1zb2Mtb3ZlcmxvYWQtY29udHJv
bF08L2E+LiBUaGVzZSB1cHN0cmVhbSBzZXJ2ZXJzIHRoZW4gZHJvcCBvciBkZWxheSBpbmNvbWlu
ZyBTSVAgcmVxdWVzdHMuIEZlZWRiYWNrIGNvbnRyb2wgaXMgcmVhY3RpdmUgYW5kIGFmZmVjdHMg
c2lnbmFsaW5nIG1lc3NhZ2VzIHRoYXQgaGF2ZSBhbHJlYWR5IGJlZW4gaXNzdWVkIGJ5IHVzZXIg
YWdlbnQgY2xpZW50cy4gVGhleSB3b3JrIHdlbGwgd2hlbiBTSVAgcHJveHkgc2VydmVycyBpbiB0
aGUgY29yZSBuZXR3b3JrcyAoY29yZSBwcm94eSBzZXJ2ZXJzKSBvciBkZXN0aW5hdGlvbi1zcGVj
aWZpYyBTSVAgcHJveHkgc2VydmVycyBpbiB0aGUgZWRnZSBuZXR3b3JrcyAoZWRnZSBwcm94eSBz
ZXJ2ZXJzKSBhcmUgb3ZlcmxvYWRlZC4gQnkgdGhlaXIgbmF0dXJlLCB0aGV5IG5lZWQgdG8gZGlz
dHJpYnV0ZSByYXRlLCBkcm9wIG9yIHdpbmRvdyBpbmZvcm1hdGlvbiB0byBhbGwgdXBzdHJlYW0g
U0lQIHByb3h5IHNlcnZlcnMgYW5kIG5vcm1hbGx5IGFmZmVjdCBhbGwgY2FsbHMgZXF1YWxseSwg
cmVnYXJkbGVzcyBvZiBkZXN0aW5hdGlvbi4gRm9yIGV4YW1wbGUsIGluIHRoZSB0aWNrZXQgZ2l2
ZWF3YXkgY2FzZSwgYWxtb3N0IGFsbCBjYWxscyB0byB0aGUgaG90bGluZSB3aWxsIGZhaWwgYXQg
dGhlIGNvcmUgcHJveHkgc2VydmVyczsgaWYgdGhlIGVkZ2UgcHJveHkgc2VydmVycyBsZWFkaW5n
IHRvIHRoZSBjb3JlIHByb3h5IHNlcnZlcnMgYXJlIGFsc28gb3ZlcmxvYWRlZCwgY2FsbHMgdG8g
b3RoZXIgZGVzdGluYXRpb25zIHdpbGwgYWxzbyBiZSByZWplY3RlZCBvciBkcm9wcGVkLiA8L3A+
CjxwIGlkPSJyZmMuc2VjdGlvbi4xLnAuNCI+SGVyZSwgd2UgcHJvcG9zZSBhbiBhZGRpdGlvbmFs
LCBjb21wbGVtZW50YXJ5IGxvYWQgY29udHJvbCBtZWNoYW5pc20sIGNhbGxlZCBsb2FkIGZpbHRl
cmluZy4gTmV0d29yayBvcGVyYXRvcnMgY3JlYXRlIGxvYWQgZmlsdGVyaW5nIHBvbGljaWVzIHRo
YXQgaW5kaWNhdGUgY2FsbHMgdG8gc3BlY2lmaWMgZGVzdGluYXRpb25zIG9yIGZyb20gc3BlY2lm
aWMgc291cmNlcyBzaG91bGQgYmUgcmF0ZS1saW1pdGVkIG9yIHJhbmRvbWx5IGRyb3BwZWQuIFRo
ZXNlIGxvYWQgZmlsdGVyaW5nIHBvbGljaWVzIGFyZSB0aGVuIGRpc3RyaWJ1dGVkIHRvIFNJUCBz
ZXJ2ZXJzIGFuZCBwb3NzaWJseSBTSVAgdXNlciBhZ2VudHMgdGhhdCBhcmUgbGlrZWx5IHRvIGdl
bmVyYXRlIGNhbGxzIHRvIHRoZSBhZmZlY3RlZCBkZXN0aW5hdGlvbnMgb3IgZnJvbSB0aGUgYWZm
ZWN0ZWQgc291cmNlcy4gTG9hZCBmaWx0ZXJpbmcgd29ya3MgYmVzdCBpZiBpdCBwcmV2ZW50cyBj
YWxscyBhcyBjbG9zZSB0byB0aGUgb3JpZ2luYXRpbmcgdXNlciBhZ2VudCBjbGllbnRzIGFzIHBv
c3NpYmxlLjwvcD4KPHAgaWQ9InJmYy5zZWN0aW9uLjEucC41Ij5UaGUgbG9hZCBmaWx0ZXJpbmcg
YXBwcm9hY2ggaXMgbW9zdCBhcHBsaWNhYmxlIGZvciBzaXR1YXRpb25zIHdoZXJlIGEgdHJhZmZp
YyBzdXJnZSBhbmQgaXRzIHNvdXJjZS9kZXN0aW5hdGlvbiBkaXN0cmlidXRpb24gY2FuIGJlIHBy
ZWRpY3RlZCBpbiBhZHZhbmNlLiBGb3IgaW5zdGFuY2UsIGl0IGlzIGFwcHJvcHJpYXRlIGZvciBh
IG1hc3MtcGhvbmUtdm90aW5nIGV2ZW50LCBNb3RoZXIncyBEYXksIE5ldyBZZWFyJ3MgRGF5LCBh
bmQgZXZlbiBhIGh1cnJpY2FuZS4gSG93ZXZlciwgaXQgaXMgbGVzcyBsaWtlbHkgdG8gYmUgZWZm
ZWN0aXZlIGZvciB0aGUgaW5pdGlhbCBwaGFzZSBvZiB1bnByZWRpY3RlZC91bnByZWRpY3RhYmxl
IG1hc3MgY2FsbGluZyBldmVudHMsIHN1Y2ggYXMgZWFydGhxdWFrZXMgb3IgdGVycm9yaXN0IGF0
dGFja3MuIEluIHRoZXNlIGxhdHRlciBjYXNlcywgdGhlIGxvY2FsIHRyYWZmaWMgbG9hZCBtYXkg
cGVhayBieSBtb3JlIHRoYW4gYW4gb3JkZXIgb2YgbWFnbml0dWRlIGluIG1pbnV0ZXMsIGlmIG5v
dCBzZWNvbmRzLiBUaGlzIGRvZXMgbm90IGFsbG93IHRpbWUgdG8gZWl0aGVyIGVmZmVjdGl2ZWx5
IGlkZW50aWZ5IHRoZSBsb2FkIGZpbHRlcmluZyBwb2xpY2llcyBuZWVkZWQsIG5vciBkaXN0cmli
dXRlIHRoZW0gdG8gdGhlIGFwcHJvcHJpYXRlIHNlcnZlcnMgc29vbiBlbm91Z2ggdG8gcHJldmVu
dCBzZXJ2ZXIgY29uZ2VzdGlvbi4gT25jZSBvdGhlciwgbW9yZSBpbW1lZGlhdGUsIHRlY2huaXF1
ZXMgKHN1Y2ggYXMgdGhlIGxvc3MtYmFzZWQgb3IgcmF0ZS1iYXNlZCBsb2FkIGZlZWRiYWNrIGNv
bnRyb2wgbWV0aG9kcykgaGF2ZSBwcmV2ZW50ZWQgdGhlIGluaXRpYWwgY29uZ2VzdGlvbiBjb2xs
YXBzZSwgdGhlIGxvYWQgZmlsdGVyaW5nIGFwcHJvYWNoIGNhbiBiZSB1c2VkIHRvIGVmZmVjdGl2
ZWx5IGNvbnRyb2wgdGhlIGNvbnRpbnVpbmcgb3ZlcmxvYWQuIDwvcD4KPHAgaWQ9InJmYy5zZWN0
aW9uLjEucC42Ij5QZXJmb3JtaW5nIFNJUCBsb2FkIGZpbHRlcmluZyBpbnZvbHZlcyB0aGUgZm9s
bG93aW5nIGNvbXBvbmVudHMgb2YgbG9hZCBmaWx0ZXJpbmcgcG9saWNpZXM6IGZvcm1hdCBkZWZp
bml0aW9uLCBjb21wdXRhdGlvbiwgZGlzdHJpYnV0aW9uIGFuZCBlbmZvcmNlbWVudC4gVGhpcyBz
cGVjaWZpY2F0aW9uIGRlZmluZXMgdGhlIGxvYWQgZmlsdGVyaW5nIHBvbGljeSwgZGlzdHJpYnV0
aW9uIGFuZCBlbmZvcmNlbWVudCBpbiB0aGUgU0lQIGxvYWQgY29udHJvbCBldmVudCBwYWNrYWdl
IGJ1aWx0IHVwb24gZXhpc3RpbmcgU0lQIGV2ZW50IG5vdGlmaWNhdGlvbiBmcmFtZXdvcmsuIEhv
d2V2ZXIsIGxvYWQgZmlsdGVyaW5nIHBvbGljeSBjb21wdXRhdGlvbiBpcyBvdXQgb2Ygc2NvcGUg
b2YgdGhpcyBzcGVjaWZpY2F0aW9uLCBiZWNhdXNlIGl0IGRlcGVuZHMgaGVhdmlseSBvbiB0aGUg
YWN0dWFsIG5ldHdvcmsgdG9wb2xvZ3kgYW5kIG90aGVyIHNlcnZpY2UgcHJvdmlkZXIgcG9saWNp
ZXMuIDwvcD4KPHAgaWQ9InJmYy5zZWN0aW9uLjEucC43Ij5JdCBzaG91bGQgYmUgbm90ZWQgdGhh
dCBhbHRob3VnaCB0aGUgU0lQIGxvYWQgZmlsdGVyaW5nIG1lY2hhbmlzbSBpcyBtb3RpdmF0ZWQg
YnkgdGhlIFNJUCBvdmVybG9hZCBjb250cm9sIHByb2JsZW0sIHdoaWNoIGlzIHdoeSB0aGlzIHNw
ZWNpZmljYXRpb24gcmVmZXJzIGV4dGVuc2l2ZWx5IHRvIHBhcmFsbGVsIFNJUCBvdmVybG9hZCBj
b250cm9sIHJlbGF0ZWQgZWZmb3J0cywgdGhlIGFwcGxpY2FiaWxpdHkgb2YgU0lQIGxvYWQgZmls
dGVyaW5nIGV4dGVuZHMgYmV5b25kIHRoZSBvdmVybG9hZCBjb250cm9sIHB1cnBvc2UuIEZvciBl
eGFtcGxlLCBpdCBjYW4gYWxzbyBiZSB1c2VkIHRvIGltcGxlbWVudCBxdWFsaXR5IG9mIHNlcnZp
Y2Ugb3Igb3RoZXIgc2VydmljZSBsZXZlbCBhZ3JlZW1lbnQgY29tbWl0bWVudHMuIFRoZXJlZm9y
ZSwgd2UgdXNlIHRoZSB0ZXJtICJsb2FkIGNvbnRyb2wgZXZlbnQgcGFja2FnZSIsIGluc3RlYWQg
b2YgYSBuYXJyb3dlciB0ZXJtICJvdmVybG9hZCBjb250cm9sIGV2ZW50IHBhY2thZ2UiLiA8L3A+
CjxwIGlkPSJyZmMuc2VjdGlvbi4xLnAuOCI+VGhlIHJlc3Qgb2YgdGhpcyBzcGVjaWZpY2F0aW9u
IGlzIHN0cnVjdHVyZWQgYXMgZm9sbG93czogd2UgYmVnaW4gYnkgbGlzdGluZyB0aGUgZGVzaWdu
IHJlcXVpcmVtZW50cyBmb3IgdGhpcyB3b3JrIGluIDxhIGhyZWY9IiNzZWM6cmVxdWlyZW1lbnQi
PlNlY3Rpb24gNDwvYT4uIFdlIHRoZW4gZ2l2ZSBhbiBvdmVydmlldyBvZiBsb2FkIGZpbHRlcmlu
ZyBvcGVyYXRpb24gaW4gPGEgaHJlZj0iI3NlYzpvdmVydmlldyI+U2VjdGlvbiA1PC9hPi4gVGhl
IGxvYWQgY29udHJvbCBldmVudCBwYWNrYWdlIGZvciBsb2FkIGZpbHRlcmluZyBwb2xpY3kgZGlz
dHJpYnV0aW9uIGlzIGRldGFpbGVkIGluIDxhIGhyZWY9IiNzZWM6bG9hZGN0cmxldmVudHBrdCI+
U2VjdGlvbiA2PC9hPi4gVGhlIGxvYWQgZmlsdGVyaW5nIHBvbGljeSBmb3JtYXQgaXMgZGVmaW5l
ZCBpbiB0aGUgdHdvIHNlY3Rpb25zIHRoYXQgZm9sbG93LCB3aXRoIDxhIGhyZWY9IiNzZWM6bG9h
ZGN0cmxmb3JtYXQiPlNlY3Rpb24gNzwvYT4gaW50cm9kdWNpbmcgdGhlIFhNTCBkb2N1bWVudCBm
b3IgbG9hZCBmaWx0ZXJpbmcgcG9saWNpZXMgYW5kIDxhIGhyZWY9IiNzZWM6c2NoZW1hIj5TZWN0
aW9uIDg8L2E+IGxpc3RpbmcgdGhlIGFzc29jaWF0ZWQgc2NoZW1hLiA8YSBocmVmPSIjc2VjOnJl
bGF0ZWR3b3JrIj5TZWN0aW9uIDk8L2E+IHJlbGF0ZXMgdGhpcyB3b3JrIHRvIGNvcnJlc3BvbmRp
bmcgbWVjaGFuaXNtcyBpbiBQU1ROIGFuZCBvdGhlciBJRVRGIGVmZm9ydHMgYWRkcmVzc2luZyBT
SVAgb3ZlcmxvYWQgY29udHJvbC4gPGEgaHJlZj0iI3NlYzpyZXFtYXRjaCI+U2VjdGlvbiAxMDwv
YT4gZXZhbHVhdGVzIHdoZXRoZXIgdGhpcyBzcGVjaWZpY2F0aW9uIG1lZXRzIHRoZSBTSVAgb3Zl
cmxvYWQgY29udHJvbCByZXF1aXJlbWVudHMgc2V0IGZvcnRoIGJ5IFJGQzUzOTAgPGEgaHJlZj0i
I1JGQzUzOTAiPltSRkM1MzkwXTwvYT4uIEZpbmFsbHksIDxhIGhyZWY9IiNzZWM6c2VjdXJpdHki
PlNlY3Rpb24gMTE8L2E+IHByZXNlbnRzIHNlY3VyaXR5IGNvbnNpZGVyYXRpb25zIGFuZCA8YSBo
cmVmPSIjc2VjOmlhbmEiPlNlY3Rpb24gMTI8L2E+IHByb3ZpZGVzIElBTkEgY29uc2lkZXJhdGlv
bnMuIDwvcD4KPGgxIGlkPSJyZmMuc2VjdGlvbi4yIj48YSBocmVmPSIjcmZjLnNlY3Rpb24uMiI+
Mi48L2E+IDxhIGhyZWY9IiNzZWM6dGVybSIgaWQ9InNlYzp0ZXJtIj5Db252ZW50aW9uczwvYT48
L2gxPgo8cCBpZD0icmZjLnNlY3Rpb24uMi5wLjEiPlRoZSBrZXkgd29yZHMgIk1VU1QiLCAiTVVT
VCBOT1QiLCAiUkVRVUlSRUQiLCAiU0hBTEwiLCAiU0hBTEwgTk9UIiwgIlNIT1VMRCIsICJTSE9V
TEQgTk9UIiwgIlJFQ09NTUVOREVEIiwgIk1BWSIsIGFuZCAiT1BUSU9OQUwiIGluIHRoaXMgZG9j
dW1lbnQgYXJlIHRvIGJlIGludGVycHJldGVkIGFzIGRlc2NyaWJlZCBpbiA8YSBocmVmPSIjUkZD
MjExOSI+W1JGQzIxMTldPC9hPi48L3A+CjxoMSBpZD0icmZjLnNlY3Rpb24uMyI+PGEgaHJlZj0i
I3JmYy5zZWN0aW9uLjMiPjMuPC9hPiA8YSBocmVmPSIjc2VjOmRlZmluaXRpb24iIGlkPSJzZWM6
ZGVmaW5pdGlvbiI+RGVmaW5pdGlvbnM8L2E+PC9oMT4KPHAgaWQ9InJmYy5zZWN0aW9uLjMucC4x
Ij5UaGlzIHNwZWNpZmljYXRpb24gcmV1c2VzIHRoZSBkZWZpbml0aW9ucyBmb3IgIkV2ZW50IFBh
Y2thZ2UiLCAiTm90aWZpY2F0aW9uIiwgIk5vdGlmaWVyIiwgIlN1YnNjcmliZXIiLCAiU3Vic2Ny
aXB0aW9uIiBhcyBpbiA8YSBocmVmPSIjUkZDNjY2NSI+W1JGQzY2NjVdPC9hPi4gVGhlIGZvbGxv
d2luZyBhZGRpdGlvbmFsIGRlZmluaXRpb25zIGFyZSBhbHNvIHVzZWQuPC9wPgo8cC8+Cgo8ZGw+
CiAgPGR0PkxvYWQgRmlsdGVyaW5nOjwvZHQ+CiAgPGRkIHN0eWxlPSJtYXJnaW4tbGVmdDogOCI+
QSBsb2FkIGNvbnRyb2wgbWVjaGFuaXNtIHdoaWNoIGFwcGxpZXMgc3BlY2lmaWMgYWN0aW9ucyB0
byBzZWxlY3RlZCBsb2FkcyAoZS5nLiwgU0lQIHJlcXVlc3RzKSBtYXRjaGluZyBzcGVjaWZpYyBj
b25kaXRpb25zLiA8L2RkPgogIDxkdD5Mb2FkIEZpbHRlcmluZyBQb2xpY3k6PC9kdD4KICA8ZGQg
c3R5bGU9Im1hcmdpbi1sZWZ0OiA4Ij5BIHNldCBvZiB6ZXJvIG9yIG1vcmUgbG9hZCBmaWx0ZXJp
bmcgcnVsZXMsIGFsc28ga25vd24gYXMgbG9hZCBmaWx0ZXJpbmcgcnVsZSBzZXQuIDwvZGQ+CiAg
PGR0PkxvYWQgRmlsdGVyaW5nIFJ1bGU6PC9kdD4KICA8ZGQgc3R5bGU9Im1hcmdpbi1sZWZ0OiA4
Ij5Db25kaXRpb25zIGFuZCBhY3Rpb25zIHRvIGJlIGFwcGxpZWQgZm9yIGxvYWQgZmlsdGVyaW5n
LiA8L2RkPgogIDxkdD5Mb2FkIEZpbHRlcmluZyBDb25kaXRpb246PC9kdD4KICA8ZGQgc3R5bGU9
Im1hcmdpbi1sZWZ0OiA4Ij5FbGVtZW50cyB0aGF0IGRlc2NyaWJlIGhvdyB0byBzZWxlY3QgbG9h
ZHMgdG8gYXBwbHkgbG9hZCBmaWx0ZXJpbmcgYWN0aW9ucy4gVGhpcyBzcGVjaWZpY2F0aW9uIGRl
ZmluZXMgdGhlICJjYWxsIGlkZW50aXR5IiwgIm1ldGhvZCIsICJ0YXJnZXQgU0lQIGlkZW50aXR5
IiwgYW5kICJ2YWxpZGl0eSIgY29uZGl0aW9uIGVsZW1lbnRzICg8YSBocmVmPSIjc2VjOmNvbmRp
dGlvbiI+U2VjdGlvbiA3LjM8L2E+KS4gPC9kZD4KICA8ZHQ+TG9hZCBGaWx0ZXJpbmcgQWN0aW9u
OjwvZHQ+CiAgPGRkIHN0eWxlPSJtYXJnaW4tbGVmdDogOCI+QW4gb3BlcmF0aW9uIHRvIGJlIHRh
a2VuIGJ5IGEgbG9hZCBmaWx0ZXJpbmcgc2VydmVyIG9uIGxvYWRzIHRoYXQgbWF0Y2ggdGhlIGxv
YWQgZmlsdGVyaW5nIGNvbmRpdGlvbnMuIFRoaXMgc3BlY2lmaWNhdGlvbiBhbGxvd3MgYWN0aW9u
cyBzdWNoIGFzIGFjY2VwdCwgcmVqZWN0IGFuZCByZWRpcmVjdCBvZiBsb2FkcyAoPGEgaHJlZj0i
I3NlYzphY3Rpb24iPlNlY3Rpb24gNy40PC9hPikuIDwvZGQ+CiAgPGR0PkxvYWQgRmlsdGVyaW5n
IFNlcnZlcjo8L2R0PgogIDxkZCBzdHlsZT0ibWFyZ2luLWxlZnQ6IDgiPkEgc2VydmVyIHdoaWNo
IHBlcmZvcm1zIGxvYWQgZmlsdGVyaW5nLiBJbiB0aGUgY29udGV4dCBvZiB0aGlzIHNwZWNpZmlj
YXRpb24sIHRoZSBsb2FkIGZpbHRlcmluZyBzZXJ2ZXIgaXMgdGhlIHN1YnNjcmliZXIsIHdoaWNo
IHJlY2VpdmVzIGxvYWQgZmlsdGVyaW5nIHBvbGljaWVzIGZyb20gdGhlIG5vdGlmaWVyIGFuZCBl
bmZvcmNlcyB0aG9zZSBwb2xpY2llcyBkdXJpbmcgbG9hZCBmaWx0ZXJpbmcuIDwvZGQ+CiAgPGR0
PkxvYWQgQ29udHJvbCBEb2N1bWVudDo8L2R0PgogIDxkZCBzdHlsZT0ibWFyZ2luLWxlZnQ6IDgi
PkFuIFhNTCBkb2N1bWVudCB0aGF0IGRlc2NyaWJlcyB0aGUgbG9hZCBmaWx0ZXJpbmcgcG9saWNp
ZXMgKDxhIGhyZWY9IiNzZWM6bG9hZGN0cmxmb3JtYXQiPlNlY3Rpb24gNzwvYT4pLiBJdCBpbmhl
cml0cyBhbmQgZW5oYW5jZXMgdGhlIGNvbW1vbiBwb2xpY3kgZG9jdW1lbnQgZGVmaW5lZCBpbiA8
YSBocmVmPSIjUkZDNDc0NSI+W1JGQzQ3NDVdPC9hPi4gPC9kZD4KPC9kbD4KCjxwPiA8L3A+Cjxo
MSBpZD0icmZjLnNlY3Rpb24uNCI+PGEgaHJlZj0iI3JmYy5zZWN0aW9uLjQiPjQuPC9hPiA8YSBo
cmVmPSIjc2VjOnJlcXVpcmVtZW50IiBpZD0ic2VjOnJlcXVpcmVtZW50Ij5EZXNpZ24gUmVxdWly
ZW1lbnRzPC9hPjwvaDE+CjxwIGlkPSJyZmMuc2VjdGlvbi40LnAuMSI+VGhlIFNJUCBsb2FkIGZp
bHRlcmluZyBtZWNoYW5pc20gbmVlZHMgdG8gc2F0aXNmeSB0aGUgZm9sbG93aW5nIHJlcXVpcmVt
ZW50czogPC9wPgo8cC8+Cgo8dWw+CiAgPGxpPlRvIHNpbXBsaWZ5IHRoZSBzb2x1dGlvbiwgd2Ug
Zm9jdXMgb24gYSBtZXRob2QgZm9yIGNvbnRyb2xsaW5nIFNJUCBsb2FkLCByYXRoZXIgdGhhbiBh
IGdlbmVyaWMgYXBwbGljYXRpb24tbGF5ZXIgbWVjaGFuaXNtLiA8L2xpPgogIDxsaT5UaGUgbG9h
ZCBmaWx0ZXJpbmcgcG9saWN5IG5lZWRzIHRvIGJlIGRpc3RyaWJ1dGVkIGVmZmljaWVudGx5IHRv
IHBvc3NpYmx5IGEgbGFyZ2Ugc3Vic2V0IG9mIGFsbCBTSVAgZWxlbWVudHMuIDwvbGk+CiAgPGxp
PlRoZSBzb2x1dGlvbiBzaG91bGQgcmUtdXNlIGV4aXN0aW5nIFNJUCBwcm90b2NvbCBtZWNoYW5p
c21zIHRvIHJlZHVjZSBpbXBsZW1lbnRhdGlvbiBhbmQgZGVwbG95bWVudCBjb21wbGV4aXR5LiA8
L2xpPgogIDxsaT5Gb3IgcHJlZGljdGFibGUgb3ZlcmxvYWQgc2l0dWF0aW9ucywgc3VjaCBhcyBo
b2xpZGF5cyBhbmQgbWFzcyBjYWxsaW5nIGV2ZW50cywgdGhlIGxvYWQgZmlsdGVyaW5nIHBvbGlj
eSBzaG91bGQgc3BlY2lmeSBkdXJpbmcgd2hhdCB0aW1lIGl0IGlzIHRvIGJlIGFwcGxpZWQsIHNv
IHRoYXQgdGhlIGluZm9ybWF0aW9uIGNhbiBiZSBkaXN0cmlidXRlZCBhaGVhZCBvZiB0aW1lLiA8
L2xpPgogIDxsaT5Gb3IgZGVzdGluYXRpb24tc3BlY2lmaWMgb3ZlcmxvYWQgc2l0dWF0aW9ucywg
dGhlIGxvYWQgZmlsdGVyaW5nIHBvbGljeSBzaG91bGQgYmUgYWJsZSB0byBkZXNjcmliZSB0aGUg
ZGVzdGluYXRpb24gZG9tYWluIG9yIHRoZSBjYWxsZWUuIDwvbGk+CiAgPGxpPlRvIGFkZHJlc3Mg
YWNjaWRlbnRhbCBhbmQgaW50ZW50aW9uYWwgaGlnaC12b2x1bWUgY2FsbCBnZW5lcmF0b3JzLCB0
aGUgbG9hZCBmaWx0ZXJpbmcgcG9saWN5IHNob3VsZCBiZSBhYmxlIHRvIHNwZWNpZnkgdGhlIGNh
bGxlci4gPC9saT4KICA8bGk+Q2FsbGVyIGFuZCBjYWxsZWUgbmVlZCB0byBiZSBzcGVjaWZpZWQg
YXMgYm90aCBTSVAgVVJJcyBhbmQgJ3RlbCcgVVJJcyA8YSBocmVmPSIjUkZDMzk2NiI+W1JGQzM5
NjZdPC9hPiBpbiBsb2FkIGZpbHRlcmluZyBwb2xpY2llcy4gPC9saT4KICA8bGk+SXQgc2hvdWxk
IGJlIHBvc3NpYmxlIHRvIHNwZWNpZnkgcGFydGljdWxhciBpbmZvcm1hdGlvbiBpbiB0aGUgU0lQ
IGhlYWRlcnMgKGUuZy4sIHByZWZpeGVzIGluIHRlbGVwaG9uZSBudW1iZXJzKSB3aGljaCBhbGxv
dyBsb2FkIGZpbHRlcmluZyBvdmVyIGxpbWl0ZWQgcmVnaW9uYWxseS1mb2N1c2VkIG92ZXJsb2Fk
cy4gPC9saT4KICA8bGk+VGhlIHNvbHV0aW9uIHNob3VsZCBkcmF3IHVwb24gZXhwZXJpZW5jZXMg
ZnJvbSByZWxhdGVkIFBTVE4gbWVjaGFuaXNtcyB3aGVyZSBhcHBsaWNhYmxlLiA8L2xpPgogIDxs
aT5UaGUgc29sdXRpb24gc2hvdWxkIGJlIGV4dGVuc2libGUgdG8gbWVldCBmdXR1cmUgbmVlZHMu
IDwvbGk+CjwvdWw+Cgo8cD4gPC9wPgo8aDEgaWQ9InJmYy5zZWN0aW9uLjUiPjxhIGhyZWY9IiNy
ZmMuc2VjdGlvbi41Ij41LjwvYT4gPGEgaHJlZj0iI3NlYzpvdmVydmlldyIgaWQ9InNlYzpvdmVy
dmlldyI+U0lQIExvYWQgRmlsdGVyaW5nIE92ZXJ2aWV3PC9hPjwvaDE+CjxoMSBpZD0icmZjLnNl
Y3Rpb24uNS4xIj48YSBocmVmPSIjcmZjLnNlY3Rpb24uNS4xIj41LjEuPC9hPiA8YSBocmVmPSIj
c2VjOmZpbHRlcmNvbnRlbnQiIGlkPSJzZWM6ZmlsdGVyY29udGVudCI+TG9hZCBGaWx0ZXJpbmcg
UG9saWN5IEZvcm1hdDwvYT48L2gxPgo8cCBpZD0icmZjLnNlY3Rpb24uNS4xLnAuMSI+TG9hZCBm
aWx0ZXJpbmcgcG9saWNpZXMgYXJlIHNwZWNpZmllZCBieSBzZXRzIG9mIHJ1bGVzLiBFYWNoIHJ1
bGUgY29udGFpbnMgYm90aCBsb2FkIGZpbHRlcmluZyBjb25kaXRpb25zIGFuZCBhY3Rpb25zLiBU
aGUgbG9hZCBmaWx0ZXJpbmcgY29uZGl0aW9ucyBkZWZpbmUgaWRlbnRpdGllcyBvZiB0aGUgdGFy
Z2V0cyB0byBiZSBmaWx0ZXJlZCg8YSBocmVmPSIjc2VjOmlkZW50aXR5Ij5TZWN0aW9uIDcuMy4x
PC9hPikuIEZvciBleGFtcGxlLCB0aGVyZSBhcmUgdHdvIHR5cGljYWwgcmVzb3VyY2UgbGltaXRz
IGluIGEgcG9zc2libGUgb3ZlcmxvYWQgc2l0dWF0aW9uLCBpLmUuLCBodW1hbiBkZXN0aW5hdGlv
biBsaW1pdHMgKE4gbnVtYmVyIG9mIGNhbGwgdGFrZXJzKSBhbmQgbm9kZSBjYXBhY2l0eSBsaW1p
dHMuIFRoZSBsb2FkIGZpbHRlcmluZyB0YXJnZXRzIGluIHRoZXNlIHR3byBjYXNlcyBjYW4gYmUg
dGhlIHNwZWNpZmljIGNhbGxlZSBudW1iZXJzIG9yIHRoZSBkZXN0aW5hdGlvbiBkb21haW4gY29y
cmVzcG9uZGluZyB0byB0aGUgb3ZlcmxvYWQuIExvYWQgZmlsdGVyaW5nIGNvbmRpdGlvbnMgYWxz
byBpbmRpY2F0ZSB0aGUgc3BlY2lmaWMgbWVzc2FnZSB0eXBlIHRvIGJlIG1hdGNoZWQgKDxhIGhy
ZWY9IiNzZWM6bWV0aG9kIj5TZWN0aW9uIDcuMy4yPC9hPiksIHdpdGggd2hpY2ggdGFyZ2V0IFNJ
UCBlbnRpdHkgdGhlIGZpbHRlcmluZyBwb2xpY3kgaXMgYXNzb2NpYXRlZCAoPGEgaHJlZj0iI3Nl
Yzp0YXJnZXRzaXBlbnRpdHkiPlNlY3Rpb24gNy4zLjM8L2E+KSBhbmQgdGhlIHBlcmlvZCBvZiB0
aW1lIHdoZW4gdGhlIGZpbHRlcmluZyBwb2xpY3kgc2hvdWxkIGJlIGFjdGl2YXRlZCBhbmQgZGVh
Y3RpdmF0ZWQgKDxhIGhyZWY9IiNzZWM6dmFsaWRpdHkiPlNlY3Rpb24gNy4zLjQ8L2E+KS4gTG9h
ZCBmaWx0ZXJpbmcgYWN0aW9ucyBkZXNjcmliZSB0aGUgZGVzaXJlZCBjb250cm9sIGZ1bmN0aW9u
cyBzdWNoIGFzIGxpbWl0aW5nIHRoZSByZXF1ZXN0IHJhdGUgYmVsb3cgYSBjZXJ0YWluIGxldmVs
ICg8YSBocmVmPSIjc2VjOmFjdGlvbiI+U2VjdGlvbiA3LjQ8L2E+KS4gPC9wPgo8aDEgaWQ9InJm
Yy5zZWN0aW9uLjUuMiI+PGEgaHJlZj0iI3JmYy5zZWN0aW9uLjUuMiI+NS4yLjwvYT4gPGEgaHJl
Zj0iI3NlYzpmaWx0ZXJjb21wdXRlIiBpZD0ic2VjOmZpbHRlcmNvbXB1dGUiPkxvYWQgRmlsdGVy
aW5nIFBvbGljeSBDb21wdXRhdGlvbjwvYT48L2gxPgo8cCBpZD0icmZjLnNlY3Rpb24uNS4yLnAu
MSI+Q29tcHV0aW5nIHRoZSBsb2FkIGZpbHRlcmluZyBwb2xpY2llcyBuZWVkcyB0byB0YWtlIGlu
dG8gY29uc2lkZXJhdGlvbiBpbmZvcm1hdGlvbiBzdWNoIGFzIG92ZXJsb2FkIHRpbWUsIHNjb3Bl
IGFuZCBuZXR3b3JrIHRvcG9sb2d5LCBhcyB3ZWxsIGFzIHNlcnZpY2UgcG9saWNpZXMuIEl0IGlz
IGFsc28gaW1wb3J0YW50IHRvIG1ha2Ugc3VyZSB0aGF0IHRoZXJlIGlzIG5vIHJlc291cmNlIGFs
bG9jYXRpb24gbG9vcCwgYW5kIHRoYXQgc2VydmVyIGNhcGFjaXR5IGlzIGFsbG9jYXRlZCBpbiBh
IHdheSB3aGljaCBib3RoIHByZXZlbnRzIG92ZXJsb2FkIGFuZCBtYXhpbWl6ZXMgZWZmZWN0aXZl
IHRocm91Z2hwdXQgKGFrYSBnb29kcHV0KS4gSW4gc29tZSBjYXNlcywgaW4gb3JkZXIgdG8gYmV0
dGVyIHV0aWxpemUgc3lzdGVtIHJlc291cmNlcywgaXQgbWF5IGJlIHByZWZlcmFibGUgdG8gZW1w
bG95IGFuIGFsZ29yaXRobSB3aGljaCBkeW5hbWljYWxseSBjb21wdXRlcyB0aGUgbG9hZCBmaWx0
ZXJpbmcgcG9saWNpZXMgYmFzZWQgb24gY3VycmVudGx5IG9ic2VydmVkIHNlcnZlciBsb2FkIHN0
YXR1cywgcmF0aGVyIHRoYW4gdXNpbmcgYSBwdXJlbHkgc3RhdGljIGZpbHRlcmluZyBwb2xpY3kg
YXNzaWdubWVudC4gVGhlIGNvbXB1dGF0aW9uIGFsZ29yaXRobSBmb3IgbG9hZCBmaWx0ZXJpbmcg
cG9saWNpZXMgaXMgb3V0IG9mIHNjb3BlIG9mIHRoaXMgc3BlY2lmaWNhdGlvbi4gPC9wPgo8aDEg
aWQ9InJmYy5zZWN0aW9uLjUuMyI+PGEgaHJlZj0iI3JmYy5zZWN0aW9uLjUuMyI+NS4zLjwvYT4g
PGEgaHJlZj0iI3NlYzpvcGVyYXRpb24iIGlkPSJzZWM6b3BlcmF0aW9uIj5Mb2FkIEZpbHRlcmlu
ZyBQb2xpY3kgRGlzdHJpYnV0aW9uPC9hPjwvaDE+CjxwIGlkPSJyZmMuc2VjdGlvbi41LjMucC4x
Ij5Gb3IgbG9hZCBmaWx0ZXJpbmcgcG9saWN5IGRpc3RyaWJ1dGlvbiwgdGhpcyBzcGVjaWZpY2F0
aW9uIGRlZmluZXMgdGhlIFNJUCBldmVudCBwYWNrYWdlIGZvciBsb2FkIGNvbnRyb2wsIHdoaWNo
IGlzIGFuICJpbnN0YW50aWF0aW9uIiBvZiB0aGUgZ2VuZXJpYyBTSVAgZXZlbnQgbm90aWZpY2F0
aW9uIGZyYW1ld29yayA8YSBocmVmPSIjUkZDNjY2NSI+W1JGQzY2NjVdPC9hPi4gVGhlIFNJUCBl
dmVudCBub3RpZmljYXRpb24gZnJhbWV3b3JrIHByb3ZpZGVzIGFuIGV4aXN0aW5nIG1ldGhvZCBm
b3IgU0lQIGVudGl0aWVzIHRvIHN1YnNjcmliZSB0byBhbmQgcmVjZWl2ZSBub3RpZmljYXRpb25z
IHdoZW4gY2VydGFpbiBldmVudHMgb2NjdXIuIFN1Y2ggYSBmcmFtZXdvcmsgZm9ybXMgYSBzY2Fs
YWJsZSBldmVudCBkaXN0cmlidXRpb24gYXJjaGl0ZWN0dXJlIHRoYXQgc3VpdHMgb3VyIG5lZWRz
LiBUaGlzIHNwZWNpZmljYXRpb24gYWxzbyBkZWZpbmVzIFhNTCBzY2hlbWEgb2YgYSBsb2FkIGNv
bnRyb2wgZG9jdW1lbnQgKDxhIGhyZWY9IiNzZWM6bG9hZGN0cmxmb3JtYXQiPlNlY3Rpb24gNzwv
YT4pLCB3aGljaCBpcyB1c2VkIHRvIGVuY29kZSBsb2FkIGZpbHRlcmluZyBwb2xpY2llcy4gPC9w
Pgo8cCBpZD0icmZjLnNlY3Rpb24uNS4zLnAuMiI+SW4gb3JkZXIgZm9yIGxvYWQgZmlsdGVyaW5n
IHBvbGljaWVzIHRvIGJlIHByb3Blcmx5IGRpc3RyaWJ1dGVkLCBlYWNoIGNhcGFibGUgU0lQIGVu
dGl0eSBpbiB0aGUgbmV0d29yayBTSE9VTEQgc3Vic2NyaWJlIHRvIHRoZSBTSVAgbG9hZCBjb250
cm9sIGV2ZW50IHBhY2thZ2UgZnJvbSBhbGwgaXRzIG91dGdvaW5nIHNpZ25hbGluZyBuZWlnaGJv
cnMsIGtub3duIGFzIG5vdGlmaWVycyAoPGEgaHJlZj0iI3NlYzpudGZwcm9jc3ViIj5TZWN0aW9u
IDYuNjwvYT4pLiBTdWJzY3JpcHRpb24gaXMgaW5pdGlhdGVkIGFuZCBtYWludGFpbmVkIGR1cmlu
ZyBub3JtYWwgc2VydmVyIG9wZXJhdGlvbi4gU2lnbmFsaW5nIG5laWdoYm9ycyBhcmUgZGlzY292
ZXJlZCBieSBzZW5kaW5nIHNpZ25hbGluZyBtZXNzYWdlcy4gRm9yIGluc3RhbmNlLCBpZiBBIHNl
bmRzIHNpZ25hbGluZyByZXF1ZXN0cyB0byBCLCBCIGlzIGFuIG91dGdvaW5nIHNpZ25hbGluZyBu
ZWlnaGJvciBvZiBBLiBBIG5lZWRzIHRvIHN1YnNjcmliZSB0byB0aGUgbG9hZCBjb250cm9sIGV2
ZW50IHBhY2thZ2Ugb2YgQiBpbiBjYXNlIEIgd2FudHMgdG8gY3VyYiByZXF1ZXN0cyBmcm9tIEEu
IE9uIHRoZSBvdGhlciBoYW5kLCBpZiBCIGFsc28gc2VuZHMgc2lnbmFsaW5nIHJlcXVlc3RzIHRv
IEEsIHRoZW4gQiBhbHNvIG5lZWRzIHRvIHN1YnNjcmliZSB0byBBLiBUaGUgc3Vic2NyaXB0aW9u
IG9mIG5laWdoYm9yaW5nIFNJUCBlbnRpdGllcyBuZWVkcyB0byBiZSBwZXJzaXN0ZW50IHNvIHRo
YXQgaXQgaXMgaW4gcGxhY2UgaW5kZXBlbmRlbnRseSBvZiBhbnkgc3BlY2lmaWMgZXZlbnRzIHJl
cXVpcmluZyBsb2FkIGZpbHRlcmluZy4gS2V5IHRvIHRoaXMgaXMgdGhlIGZhY3QgdGhhdCBmb2xs
b3dpbmcgaW5pdGlhbCBzdWJzY3JpcHRpb24sIHRoZSBub3RpZmllciBzZW5kcyBhIG5vdGlmaWNh
dGlvbiB3aXRob3V0IGEgYm9keSBpZiBubyBsb2FkIGZpbHRlcmluZyBwb2xpY3kgaXMgZGVmaW5l
ZCAoPGEgaHJlZj0iI3NlYzpudGZnZW5udGYiPlNlY3Rpb24gNi43PC9hPiksIGFuZCB0aGF0IHRo
ZSBzdWJzY3JpcHRpb24gbmVlZHMgdG8gYmUgcmVmcmVzaGVkIHBlcmlvZGljYWxseSB0byBtYWtl
IGl0IHBlcnNpc3RlbnQsIGFzIGRlc2NyaWJlZCBpbiBTZWN0aW9uIDQuMSBhbmQgU2VjdGlvbiA0
LjIgb2YgPGEgaHJlZj0iI1JGQzY2NjUiPltSRkM2NjY1XTwvYT4uIFRoZSBub3RpZmllciB3aWxs
IHNlbmQgYSBub3RpZmljYXRpb24gdG8gaXRzIHN1YnNjcmliZXJzIGVhY2ggdGltZSBhIG5ldyBz
dWJzY3JpcHRpb24gb3IgYSBzdWJzY3JpcHRpb24gcmVmcmVzaCBpcyBhY2NlcHRlZCAoPGEgaHJl
Zj0iI3NlYzpudGZnZW5udGYiPlNlY3Rpb24gNi43PC9hPikuIFRoZSBub3RpZmljYXRpb24gcmVx
dWVzdCBpbmNsdWRlcyBpbiBpdHMgYm9keSB0aGUgY3VycmVudCBsb2FkIGZpbHRlcmluZyBwb2xp
Y2llcyAoPGEgaHJlZj0iI3NlYzpmb3JtYXQiPlNlY3Rpb24gNy4xPC9hPikgZnJvbSB0aGUgbm90
aWZpZXIuIElmIG5vIHN1Y2ggbG9hZCBmaWx0ZXJpbmcgcG9saWN5IGV4aXN0cywgdGhlIG5vdGlm
aWNhdGlvbiByZXF1ZXN0IGlzIHNlbnQgd2l0aG91dCBhIGJvZHkuIFRoZSBzdWJzY3JpYmVycyBN
QVkgdGVybWluYXRlIHRoZSBzdWJzY3JpcHRpb24gaWYgaXQgbm8gbG9uZ2VyIGNvbnNpZGVycyB0
aGUgbm90aWZpZXJzIGFzIGl0cyBzaWduYWxpbmcgbmVpZ2hib3IsIGUuZy4sIGFmdGVyIGFuIGV4
dGVuZGVkIHBlcmlvZCBvZiBhYnNlbmNlIG9mIHNpZ25hbGluZyBtZXNzYWdlIGV4Y2hhbmdlLiBI
b3dldmVyLCBpZiBhZnRlciB1bi1zdWJzY3JpYmluZywgdGhlIHN1YnNjcmliZXIgZGV0ZXJtaW5l
cyB0aGF0IHNpZ25hbGluZyB3aXRoIHRoZSBub3RpZmllciBiZWNvbWVzIGFjdGl2ZSBhZ2Fpbiwg
aXQgTVVTVCBpbW1lZGlhdGVseSBzdWJzY3JpYmUgdG8gdGhhdCBub3RpZmllciBhZ2Fpbi4gPC9w
Pgo8cCBpZD0icmZjLnNlY3Rpb24uNS4zLnAuMyI+V2UgdXNlIHRoZSBleGFtcGxlIGFyY2hpdGVj
dHVyZSBzaG93biBpbiA8YSBocmVmPSIjZmlnOnNjZW5hcmlvIj5GaWd1cmUgMTwvYT4gdG8gaWxs
dXN0cmF0ZSBsb2FkIGZpbHRlcmluZyBwb2xpY3kgZGlzdHJpYnV0aW9uIGJhc2VkIG9uIHRoZSBT
SVAgbG9hZCBjb250cm9sIGV2ZW50IHBhY2thZ2UgbWVjaGFuaXNtLiBUaGlzIHNjZW5hcmlvIGNv
bnNpc3RzIG9mIHR3byBuZXR3b3JrcyBiZWxvbmdpbmcgdG8gU2VydmljZSBQcm92aWRlciBBIGFu
ZCBTZXJ2aWNlIFByb3ZpZGVyIEIsIHJlc3BlY3RpdmVseS4gRWFjaCBwcm92aWRlcidzIG5ldHdv
cmsgaXMgbWFkZSB1cCBvZiB0d28gU0lQIGNvcmUgcHJveHkgc2VydmVycyBhbmQgZm91ciBTSVAg
ZWRnZSBwcm94eSBzZXJ2ZXJzLiBUaGUgY29yZSBwcm94eSBzZXJ2ZXJzIGFuZCBlZGdlIHByb3h5
IHNlcnZlcnMgb2YgU2VydmljZSBQcm92aWRlciBBIGFyZSBkZW5vdGVkIGFzIENQYTEgdG8gQ1Bh
MiBhbmQgRVBhMSB0byBFUGE0OyB0aGUgY29yZSBwcm94eSBzZXJ2ZXJzIGFuZCBlZGdlIHByb3h5
IHNlcnZlcnMgb2YgU2VydmljZSBQcm92aWRlciBCIGFyZSBkZW5vdGVkIGFzIENQYjEgdG8gQ1Bi
MiBhbmQgRVBiMSB0byBFUGI0LiA8L3A+CjxkaXYgaWQ9InJmYy5maWd1cmUuMSIvPgo8ZGl2IGlk
PSJmaWc6c2NlbmFyaW8iLz4KPHByZT4KCiAgICstLS0tLS0tLS0tLSsgICArLS0tLS0tLS0tLS0r
ICAgKy0tLS0tLS0tLS0tKyAgICstLS0tLS0tLS0tLSsKICAgfCAgICAgICAgICAgfCAgIHwgICAg
ICAgICAgIHwgICB8ICAgICAgICAgICB8ICAgfCAgICAgICAgICAgfAogICB8ICAgRVBhMSAgICB8
ICAgfCAgIEVQYTIgICAgfCAgIHwgICBFUGEzICAgIHwgICB8ICAgRVBhNCAgICB8CiAgIHwgICAg
ICAgICAgIHwgICB8ICAgICAgICAgICB8ICAgfCAgICAgICAgICAgfCAgIHwgICAgICAgICAgIHwK
ICAgKy0tLS0tLS0tLS0tKyAgICstLS0tLS0tLS0tLSsgICArLS0tLS0tLS0tLS0rICAgKy0tLS0t
LS0tLS0tKwogICAgICAgICAgIFwgICAgICAgICAvICAgICAgICAgICAgICAgICAgICBcICAgICAg
ICAgIC8KICAgICAgICAgICAgXCAgICAgICAvICAgICAgICAgICAgICAgICAgICAgIFwgICAgICAg
IC8KICAgICAgICAgICAgIFwgICAgIC8gICAgICAgICAgICAgICAgICAgICAgICBcICAgICAgLwog
ICAgICAgICAgICstLS0tLS0tLS0tLSsgICAgICAgICAgICAgICAgICArLS0tLS0tLS0tLS0rCiAg
ICAgICAgICAgfCAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgIHwKICAg
ICAgICAgICB8ICAgQ1BhMSAgICB8LS0tLS0tLS0tLS0tLS0tLS0tfCAgIENQYTIgICAgfAogICAg
ICAgICAgIHwgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICB8CiAgICAg
ICAgICAgKy0tLS0tLS0tLS0tKyAgICAgICAgICAgICAgICAgICstLS0tLS0tLS0tLSsKICAgICAg
ICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgCiAgIFNlcnZp
Y2UgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKICAgUHJvdmlkZXIgQSAg
ICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAogICAgICAgICAgICAgICAgIHwgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB8CiAgPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAgICAgICAgICAgICB8
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAogICBTZXJ2aWNlICAgICAgIHwgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB8CiAgIFByb3ZpZGVyIEIgICAgfCAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHwKICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgfAogICAgICAgICAgICstLS0tLS0tLS0tLSsgICAgICAgICAgICAgICAgICArLS0t
LS0tLS0tLS0rCiAgICAgICAgICAgfCAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgIHwgICAg
ICAgICAgIHwKICAgICAgICAgICB8ICAgQ1BiMSAgICB8LS0tLS0tLS0tLS0tLS0tLS0tfCAgIENQ
YjIgICAgfAogICAgICAgICAgIHwgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICB8ICAgICAg
ICAgICB8CiAgICAgICAgICAgKy0tLS0tLS0tLS0tKyAgICAgICAgICAgICAgICAgICstLS0tLS0t
LS0tLSsKICAgICAgICAgICAgIC8gICAgICBcICAgICAgICAgICAgICAgICAgICAgICAgLyAgICAg
XAogICAgICAgICAgICAvICAgICAgICBcICAgICAgICAgICAgICAgICAgICAgIC8gICAgICAgXAog
ICAgICAgICAgIC8gICAgICAgICAgXCAgICAgICAgICAgICAgICAgICAgLyAgICAgICAgIFwKICAg
Ky0tLS0tLS0tLS0tKyAgICstLS0tLS0tLS0tLSsgICArLS0tLS0tLS0tLS0rICAgKy0tLS0tLS0t
LS0tKwogICB8ICAgICAgICAgICB8ICAgfCAgICAgICAgICAgfCAgIHwgICAgICAgICAgIHwgICB8
ICAgICAgICAgICB8CiAgIHwgICBFUGIxICAgIHwgICB8ICAgRVBiMiAgICB8ICAgfCAgIEVQYjMg
ICAgfCAgIHwgICBFUGI0ICAgIHwKICAgfCAgICAgICAgICAgfCAgIHwgICAgICAgICAgIHwgICB8
ICAgICAgICAgICB8ICAgfCAgICAgICAgICAgfAogICArLS0tLS0tLS0tLS0rICAgKy0tLS0tLS0t
LS0tKyAgICstLS0tLS0tLS0tLSsgICArLS0tLS0tLS0tLS0rCiAgICAgICAgICAgICAgICAKCiAg
ICA8L3ByZT4KPHAgY2xhc3M9ImZpZ3VyZSI+RmlndXJlIDE6IEV4YW1wbGUgTmV0d29yayBTY2Vu
YXJpbyBVc2luZyBTSVAgTG9hZCBDb250cm9sIEV2ZW50IFBhY2thZ2UgTWVjaGFuaXNtPC9wPgo8
cCBpZD0icmZjLnNlY3Rpb24uNS4zLnAuNCI+QXQgaW5pdGlhbGl6YXRpb24gc3RhZ2UsIHRoZSBw
cm94eSBzZXJ2ZXJzIGZpcnN0IGlkZW50aWZ5IGFsbCB0aGVpciBvdXRnb2luZyBzaWduYWxpbmcg
bmVpZ2hib3JzIGFuZCBzdWJzY3JpYmUgdG8gdGhlbS4gVGhlIG5laWdoYm9yIGlkZW50aWZpY2F0
aW9uIHByb2Nlc3MgY2FuIGJlIHBlcmZvcm1lZCBieSBzZXJ2aWNlIHByb3ZpZGVycyB0aHJvdWdo
IGRpcmVjdCBwcm92aXNpb25pbmcsIG9yIGJ5IHRoZSBwcm94eSBzZXJ2ZXJzIHRoZW1zZWx2ZXMg
dmlhIHByb2dyZXNzaXZlIGxlYXJuaW5nIGZyb20gdGhlIHNpZ25hbGluZyBtZXNzYWdlcyBzZW50
IGFuZCByZWNlaXZlZC4gQXNzdW1pbmcgYWxsIHNpZ25hbGluZyByZWxhdGlvbnNoaXBzIGluIDxh
IGhyZWY9IiNmaWc6c2NlbmFyaW8iPkZpZ3VyZSAxPC9hPiBhcmUgYmktZGlyZWN0aW9uYWwsIGFm
dGVyIHRoaXMgaW5pdGlhbGl6YXRpb24gc3RhZ2UsIGVhY2ggcHJveHkgc2VydmVyIHdpbGwgYmUg
c3Vic2NyaWJlZCB0byBhbGwgaXRzIG5laWdoYm9ycy4gVGhhdCBpcywgRVBhMSBzdWJzY3JpYmVz
IHRvIENQYTE7IENQYTEgc3Vic2NyaWJlcyB0byBFUGExLCBFUGEyLCBDUGEyIGFuZCBDUGIxLCBz
byBvbiBhbmQgc28gZm9ydGguIFRoZSBmb2xsb3dpbmcgY2FzZXMgdGhlbiBzaG93IHR3byBleGFt
cGxlcyBvZiBob3cgbG9hZCBmaWx0ZXJpbmcgcG9saWN5IGRpc3RyaWJ1dGlvbiBpbiB0aGlzIG5l
dHdvcmsgd29ya3MuIDwvcD4KPHAgaWQ9InJmYy5zZWN0aW9uLjUuMy5wLjUiPkNhc2UgSTogRVBh
MSBzZXJ2ZXMgYSBUViBwcm9ncmFtIGhvdGxpbmUgYW5kIGRlY2lkZXMgdG8gbGltaXQgdGhlIHRv
dGFsIG51bWJlciBvZiBpbmNvbWluZyBjYWxscyB0byB0aGUgaG90bGluZSB0byBwcmV2ZW50IGFu
IG92ZXJsb2FkLiBUbyBkbyBzbywgRVBhMSBzZW5kcyBhIG5vdGlmaWNhdGlvbiB0byBDUGExIHdp
dGggdGhlIHNwZWNpZmljIGhvdGxpbmUgbnVtYmVyLCB0aW1lIG9mIGFjdGl2YXRpb24gYW5kIHRv
dGFsIGFjY2VwdGFibGUgY2FsbCByYXRlLiBEZXBlbmRpbmcgb24gdGhlIGxvYWQgZmlsdGVyaW5n
IHBvbGljeSBjb21wdXRhdGlvbiBhbGdvcml0aG0sIENQYTEgbWF5IGFsbG9jYXRlIHRoZSByZWNl
aXZlZCB0b3RhbCBhY2NlcHRhYmxlIGNhbGwgcmF0ZSBhbW9uZyBpdHMgbmVpZ2hib3JzLCBuYW1l
bHksIEVQYTIsIENQYTIsIGFuZCBDUGIxLCBhbmQgbm90aWZ5IHRoZW0gYWJvdXQgdGhlIHJlc3Vs
dGluZyBhbGxvY2F0aW9uIGFsb25nIHdpdGggdGhlIGhvdGxpbmUgbnVtYmVyIGFuZCB0aGUgYWN0
aXZhdGlvbiB0aW1lLiBDUGEyIGFuZCBDUGIxIG1heSBwZXJmb3JtIGZ1cnRoZXIgYWxsb2NhdGlv
biBhbW9uZyB0aGVpciBvd24gbmVpZ2hib3JzIGFuZCBub3RpZnkgdGhlIGNvcnJlc3BvbmRpbmcg
cHJveHkgc2VydmVycy4gVGhpcyBwcm9jZXNzIGNvbnRpbnVlcyB1bnRpbCBhbGwgZWRnZSBwcm94
eSBzZXJ2ZXJzIGluIHRoZSBuZXR3b3JrIGhhdmUgYmVlbiBpbmZvcm1lZCBhYm91dCB0aGUgZXZl
bnQgYW5kIGhhdmUgcHJvcGVyIGxvYWQgZmlsdGVyaW5nIHBvbGljeSBjb25maWd1cmVkLiA8L3A+
CjxwIGlkPSJyZmMuc2VjdGlvbi41LjMucC42Ij5JbiB0aGUgYWJvdmUgY2FzZSwgdGhlIG5ldHdv
cmsgZW50aXR5IHdoZXJlIGxvYWQgZmlsdGVyaW5nIHBvbGljeSBpcyBmaXJzdCBpbnRyb2R1Y2Vk
IGlzIHRoZSBTSVAgc2VydmVyIHByb3ZpZGluZyBhY2Nlc3MgdG8gdGhlIHJlc291cmNlIHRoYXQg
Y3JlYXRlcyB0aGUgb3ZlcmxvYWQgc2l0dWF0aW9uLiBJbiBvdGhlciBjYXNlcywgdGhlIG5ldHdv
cmsgZW50cnkgcG9pbnQgb2YgaW50cm9kdWNpbmcgbG9hZCBmaWx0ZXJpbmcgcG9saWN5IGNvdWxk
IGFsc28gYmUgYW4gZW50aXR5IHRoYXQgaG9zdHMgdGhpcyByZXNvdXJjZS4gRm9yIGV4YW1wbGUs
IGFuIG9wZXJhdG9yIG1heSBob3N0IGFuIGFwcGxpY2F0aW9uIHNlcnZlciB0aGF0IHBlcmZvcm1z
IDgwMCBudW1iZXIgdHJhbnNsYXRpb24gc2VydmljZXMuIFRoZSBhcHBsaWNhdGlvbiBzZXJ2ZXIg
bWF5IGl0c2VsZiBiZSBhIFNJUCBwcm94eSBzZXJ2ZXIgb3IgYSBTSVAgQmFjay10by1CYWNrIFVz
ZXIgQWdlbnQgKEIyQlVBKS4gSWYgb25lIG9mIHRoZSA4MDAgbnVtYmVycyBob3N0ZWQgYXQgdGhl
IGFwcGxpY2F0aW9uIHNlcnZlciBjcmVhdGVzIHRoZSBvdmVybG9hZCBjb25kaXRpb24sIHRoZSBs
b2FkIGZpbHRlcmluZyBwb2xpY2llcyBjYW4gYmUgaW50cm9kdWNlZCBmcm9tIHRoZSBhcHBsaWNh
dGlvbiBzZXJ2ZXIgYW5kIHRoZW4gcHJvcGFnYXRlZCB0byBvdGhlciBTSVAgcHJveHkgc2VydmVy
cyBpbiB0aGUgbmV0d29yay4gPC9wPgo8cCBpZD0icmZjLnNlY3Rpb24uNS4zLnAuNyI+Q2FzZSBJ
STogYSBodXJyaWNhbmUgYWZmZWN0cyB0aGUgcmVnaW9uIGNvdmVyZWQgYnkgQ1BiMiwgRVBiMyBh
bmQgRVBiNC4gQWxsIHRoZXNlIHRocmVlIFNJUCBwcm94eSBzZXJ2ZXJzIGFyZSBvdmVybG9hZGVk
LiBUaGUgcmVzY3VlIHRlYW0gZGV0ZXJtaW5lcyB0aGF0IG91dGJvdW5kIGNhbGxzIGFyZSBtb3Jl
IHZhbHVhYmxlIHRoYW4gaW5ib3VuZCBjYWxscyBpbiB0aGlzIHNwZWNpZmljIHNpdHVhdGlvbi4g
VGhlcmVmb3JlLCBFUGIzIGFuZCBFUGI0IGFyZSBjb25maWd1cmVkIHdpdGggbG9hZCBmaWx0ZXJp
bmcgcG9saWNpZXMgdG8gYWNjZXB0IG1vcmUgb3V0Ym91bmQgY2FsbHMgdGhhbiBpbmJvdW5kIGNh
bGxzLiBDUGIyIG1heSBiZSBjb25maWd1cmVkIHRoZSBzYW1lIHdheSBvciByZWNlaXZlIGR5bmFt
aWNhbGx5IGNvbXB1dGVkIGxvYWQgZmlsdGVyaW5nIHBvbGljaWVzIGZyb20gRVBiMyBhbmQgRVBi
NC4gRGVwZW5kaW5nIG9uIHRoZSBsb2FkIGZpbHRlcmluZyBwb2xpY3kgY29tcHV0YXRpb24gYWxn
b3JpdGhtLCBDUGIyIG1heSBhbHNvIHNlbmQgb3V0IG5vdGlmaWNhdGlvbnMgdG8gaXRzIG91dHNp
ZGUgbmVpZ2hib3JzLCBuYW1lbHkgQ1BiMSBhbmQgQ1BhMiwgc3BlY2lmeWluZyBhIGxpbWl0IG9u
IHRoZSBhY2NlcHRhYmxlIHJhdGUgb2YgaW5ib3VuZCBjYWxscyB0byBDUGIyJ3MgcmVzcG9uc2li
bGUgZG9tYWluLiBDUGIxIGFuZCBDUGEyIG1heSBzdWJzZXF1ZW50bHkgbm90aWZ5IHRoZWlyIG5l
aWdoYm9ycyBhYm91dCBsaW1pdGluZyB0aGUgY2FsbHMgdG8gQ1BiMidzIGFyZWEuIFRoZSBzYW1l
IHByb2Nlc3MgY291bGQgY29udGludWUgdW50aWwgYWxsIGVkZ2UgcHJveHkgc2VydmVycyBhcmUg
bm90aWZpZWQgYW5kIGhhdmUgbG9hZCBmaWx0ZXJpbmcgcG9saWNpZXMgY29uZmlndXJlZC4gIDwv
cD4KPHAgaWQ9InJmYy5zZWN0aW9uLjUuMy5wLjgiPk5vdGUgdGhhdCB0aGlzIHNwZWNpZmljYXRp
b24gZG9lcyBub3QgZGVmaW5lIHRoZSBwcm92aXNpb25pbmcgaW50ZXJmYWNlIGJldHdlZW4gdGhl
IHBhcnR5IHdobyBkZXRlcm1pbmVzIHRoZSBsb2FkIGZpbHRlcmluZyBwb2xpY3kgYW5kIHRoZSBu
ZXR3b3JrIGVudHJ5IHBvaW50IHdoZXJlIHRoZSBwb2xpY3kgaXMgaW50cm9kdWNlZC4gT25lIG9m
IHRoZSBvcHRpb25zIGZvciB0aGUgcHJvdmlzaW9uaW5nIGludGVyZmFjZSBpcyB0aGUgRXh0ZW5z
aWJsZSBNYXJrdXAgTGFuZ3VhZ2UgKFhNTCkgQ29uZmlndXJhdGlvbiBBY2Nlc3MgUHJvdG9jb2wg
KFhDQVApIDxhIGhyZWY9IiNSRkM0ODI1Ij5bUkZDNDgyNV08L2E+LiA8L3A+CjxoMSBpZD0icmZj
LnNlY3Rpb24uNS40Ij48YSBocmVmPSIjcmZjLnNlY3Rpb24uNS40Ij41LjQuPC9hPiA8YSBocmVm
PSIjc2VjOm5ldHVzYWdlIiBpZD0ic2VjOm5ldHVzYWdlIj5BcHBsaWNhYmxlIE5ldHdvcmsgRG9t
YWluczwvYT48L2gxPgo8cCBpZD0icmZjLnNlY3Rpb24uNS40LnAuMSI+VGhpcyBzcGVjaWZpY2F0
aW9uIE1VU1QgYmUgYXBwbGllZCBpbnNpZGUgYSAnVHJ1c3QgRG9tYWluJy4gVGhlIGNvbmNlcHQg
b2YgYSBUcnVzdCBEb21haW4gaXMgc2ltaWxhciB0byB0aGF0IGRlZmluZWQgaW4gPGEgaHJlZj0i
I1JGQzMzMjQiPltSRkMzMzI0XTwvYT4uIEEgVHJ1c3QgRG9tYWluIGZvciB0aGUgcHVycG9zZSBv
ZiBTSVAgbG9hZCBmaWx0ZXJpbmcgaXMgYSBzZXQgb2YgU0lQIGVudGl0aWVzIHN1Y2ggYXMgU0lQ
IHByb3h5IHNlcnZlcnMgdGhhdCBhcmUgdHJ1c3RlZCB0byBleGNoYW5nZSBsb2FkIGZpbHRlcmlu
ZyBwb2xpY2llcyBkZWZpbmVkIGluIHRoaXMgc3BlY2lmaWNhdGlvbi4gSW4gdGhlIHNpbXBsZXN0
IGNhc2UsIGEgVHJ1c3QgRG9tYWluIGlzIGEgbmV0d29yayBvZiBTSVAgZW50aXRpZXMgYmVsb25n
aW5nIHRvIGEgc2luZ2xlIHNlcnZpY2UgcHJvdmlkZXIgd2hvIGRlcGxveXMgaXQgYW5kIGFjY3Vy
YXRlbHkga25vd3MgdGhlIGJlaGF2aW91ciBvZiB0aG9zZSBTSVAgZW50aXRpZXMuIFN1Y2ggc2lt
cGxlIFRydXN0IERvbWFpbnMgbWF5IGJlIGpvaW5lZCB0byBmb3JtIGxhcmdlciBUcnVzdCBEb21h
aW5zIGJ5IGJpLWxhdGVyYWwgYWdyZWVtZW50cyBiZXR3ZWVuIHRoZSBzZXJ2aWNlIHByb3ZpZGVy
cyBvZiB0aGUgU0lQIGVudGl0aWVzLiA8L3A+CjxwIGlkPSJyZmMuc2VjdGlvbi41LjQucC4yIj5U
aGUga2V5IHJlcXVpcmVtZW50IG9mIGEgVHJ1c3QgRG9tYWluIGZvciB0aGUgcHVycG9zZSBvZiBT
SVAgbG9hZCBmaWx0ZXJpbmcgaXMgdGhhdCB0aGUgYmVoYXZpb3Igb2YgYWxsIFNJUCBlbnRpdGll
cyB3aXRoaW4gYSBnaXZlbiBUcnVzdCBEb21haW4gaXMga25vd24gdG8gY29tcGx5IHRvIHRoZSBm
b2xsb3dpbmcgc2V0IG9mIHNwZWNpZmljYXRpb25zLiA8L3A+CjxwLz4KCjx1bD4KICA8bGk+VGhl
IG1lY2hhbmlzbXMgdXNlZCB0byBzZWN1cmUgdGhlIGNvbW11bmljYXRpb24gYW1vbmcgU0lQIGVu
dGl0aWVzIHdpdGhpbiB0aGUgVHJ1c3QgRG9tYWluLiA8L2xpPgogIDxsaT5UaGUgbWFubmVyIHVz
ZWQgdG8gZGV0ZXJtaW5lIHdoaWNoIFNJUCBlbnRpdGllcyBhcmUgcGFydCBvZiB0aGUgVHJ1c3Qg
RG9tYWluLiA8L2xpPgogIDxsaT5UaGF0IFNJUCBlbnRpdGllcyBpbiB0aGUgVHJ1c3QgRG9tYWlu
IGFyZSBjb21wbGlhbnQgdG8gU0lQIDxhIGhyZWY9IiNSRkMzMjYxIj5bUkZDMzI2MV08L2E+PC9s
aT4KICA8bGk+VGhhdCBTSVAgZW50aXRpZXMgaW4gdGhlIFRydXN0IERvbWFpbiBhcmUgY29tcGxp
YW50IHRvIHRoaXMgZG9jdW1lbnQuPC9saT4KICA8bGk+VGhlIGFncmVlbWVudCBvbiB3aGF0IHR5
cGVzIG9mIGNhbGxzIGNhbiBiZSBhZmZlY3RlZCBieSB0aGlzIFNJUCBsb2FkIGZpbHRlcmluZyBt
ZWNoYW5pc20uIEZvciBleGFtcGxlLCBjYWxsIGlkZW50aXR5IGNvbmRpdGlvbiBlbGVtZW50cyAo
PGEgaHJlZj0iI3NlYzppZGVudGl0eSI+U2VjdGlvbiA3LjMuMTwvYT4pICZsdDtvbmUmZ3Q7IGFu
ZCAmbHQ7bWFueSZndDsgbWlnaHQgYmUgbGltaXRlZCB0byBkZXNjcmliZSBzcGVjaWZpYyBkb21h
aW5zOyAmbHQ7bWFueS10ZWwmZ3Q7IGFuZCAmbHQ7ZXhjZXB0LXRlbCZndDsgbWlnaHQgYmUgbGlt
aXRlZCB0byBkZXNjcmliZSB3aXRoaW4gY2VydGFpbiBwcmVmaXhlcy48L2xpPgogIDxsaT5UaGUg
YWdyZWVtZW50IG9uIHRoZSBkZXN0aW5hdGlvbnMgdG8gd2hpY2ggY2FsbHMgbWF5IGJlIHJlZGly
ZWN0ZWQgd2hlbiB0aGUgInJlZGlyZWN0IiBhY3Rpb24gKDxhIGhyZWY9IiNzZWM6YWN0aW9uIj5T
ZWN0aW9uIDcuNDwvYT4pIGlzIHVzZWQuIEZvciBleGFtcGxlLCB0aGUgVVJJIG1pZ2h0IGhhdmUg
dG8gbWF0Y2ggYSBnaXZlbiBzZXQgb2YgZG9tYWlucy48L2xpPgo8L3VsPgoKPHA+IDwvcD4KPHAg
aWQ9InJmYy5zZWN0aW9uLjUuNC5wLjQiPkl0IGlzIGltcG9ydGFudCB0byBub3RlIHRoYXQgZWZm
ZWN0aXZlbmVzcyBvZiBTSVAgbG9hZCBmaWx0ZXJpbmcgcmVxdWlyZXMgdGhhdCBhbGwgbmVpZ2hi
b3JzIHRoYXQgYXJlIHBvc3NpYmxlIHNpZ25hbGluZyBzb3VyY2VzIHBhcnRpY2lwYXRlIGFuZCBl
bmZvcmNlIHRoZSBkZXNpZ25hdGVkIGxvYWQgZmlsdGVyaW5nIHBvbGljaWVzLiBPdGhlcndpc2Us
IGEgc2luZ2xlIG5vbi1jb25mb3JtaW5nIG5laWdoYm9yIGNvdWxkIG1ha2UgdGhlIHdob2xlIGZp
bHRlcmluZyBlZmZvcnRzIHVzZWxlc3MgYnkgcHVtcGluZyBpbiBleGNlc3NpdmUgdHJhZmZpYyB0
byBvdmVybG9hZCB0aGUgc2VydmVyLiBUaGVyZWZvcmUsIHRoZSBTSVAgc2VydmVyIHRoYXQgZGlz
dHJpYnV0ZXMgbG9hZCBmaWx0ZXJpbmcgcG9saWNpZXMgbmVlZHMgdG8gdGFrZSBjb3VudGVyLW1l
YXN1cmVzIHRvd2FyZHMgYW55IG5vbi1jb25mb3JtaW5nIG5laWdoYm9ycy4gQSBzaW1wbGUgbWV0
aG9kIGlzIHRvIHJlamVjdCBleGNlc3NpdmUgcmVxdWVzdHMgd2l0aCA1MDMgKFNlcnZpY2UgVW5h
dmFpbGFibGUpIHJlc3BvbnNlIG1lc3NhZ2VzIGFzIGlmIHRoZXkgd2VyZSBvYmV5aW5nIHRoZSBy
YXRlLiBDb25zaWRlcmluZyB0aGUgcmVqZWN0aW9uIGNvc3RzLCBhIG1vcmUgY29tcGxpY2F0ZWQg
YnV0IGZhaXJlciBtZXRob2Qgd291bGQgYmUgdG8gYWxsb2NhdGUgYXQgdGhlIG92ZXJsb2FkZWQg
c2VydmVyIHRoZSBzYW1lIGFtb3VudCBvZiBwcm9jZXNzaW5nIHRvIHRoZSBjb21iaW5hdGlvbiBv
ZiBib3RoIG5vcm1hbCBwcm9jZXNzaW5nIGFuZCByZWplY3Rpb24gYXMgdGhlIG92ZXJsb2FkZWQg
c2VydmVyIHdvdWxkIGRldm90ZSB0byBwcm9jZXNzaW5nIHJlcXVlc3RzIGZvciBhIGNvbmZvcm1p
bmcgdXBzdHJlYW0gU0lQIHNlcnZlci4gVGhlc2UgYXBwcm9hY2hlcyB3b3JrIGFzIGxvbmcgYXMg
dGhlIHRvdGFsIHJlamVjdGlvbiBjb3N0IGRvZXMgbm90IG92ZXJ3aGVsbSB0aGUgZW50aXJlIHNl
cnZlciByZXNvdXJjZXMuIEluIGFkZGl0aW9uLCBTSVAgc2VydmVycyBuZWVkIHRvIGhhbmRsZSBt
ZXNzYWdlIHByaW9yaXRpemF0aW9uIHByb3Blcmx5IHdoaWxlIHBlcmZvcm1pbmcgbG9hZCBmaWx0
ZXJpbmcsIHdoaWNoIGlzIGRlc2NyaWJlZCBpbiA8YSBocmVmPSIjc2VjOnN1YnByb2NudGYiPlNl
Y3Rpb24gNi44PC9hPi4gPC9wPgo8aDEgaWQ9InJmYy5zZWN0aW9uLjYiPjxhIGhyZWY9IiNyZmMu
c2VjdGlvbi42Ij42LjwvYT4gPGEgaHJlZj0iI3NlYzpsb2FkY3RybGV2ZW50cGt0IiBpZD0ic2Vj
OmxvYWRjdHJsZXZlbnRwa3QiPkxvYWQgQ29udHJvbCBFdmVudCBQYWNrYWdlPC9hPjwvaDE+Cjxw
IGlkPSJyZmMuc2VjdGlvbi42LnAuMSI+VGhlIFNJUCBsb2FkIGZpbHRlcmluZyBtZWNoYW5pc20g
ZGVmaW5lcyBhIGxvYWQgY29udHJvbCBldmVudCBwYWNrYWdlIGZvciBTSVAgYmFzZWQgb24gPGEg
aHJlZj0iI1JGQzY2NjUiPltSRkM2NjY1XTwvYT4uIDwvcD4KPGgxIGlkPSJyZmMuc2VjdGlvbi42
LjEiPjxhIGhyZWY9IiNyZmMuc2VjdGlvbi42LjEiPjYuMS48L2E+IDxhIGhyZWY9IiNzZWM6ZXBu
YW1lIiBpZD0ic2VjOmVwbmFtZSI+RXZlbnQgUGFja2FnZSBOYW1lPC9hPjwvaDE+CjxwIGlkPSJy
ZmMuc2VjdGlvbi42LjEucC4xIj5UaGUgbmFtZSBvZiB0aGlzIGV2ZW50IHBhY2thZ2UgaXMgImxv
YWQtY29udHJvbCIuIFRoaXMgbmFtZSBpcyBjYXJyaWVkIGluIHRoZSBFdmVudCBhbmQgQWxsb3ct
RXZlbnRzIGhlYWRlciwgYXMgc3BlY2lmaWVkIGluIDxhIGhyZWY9IiNSRkM2NjY1Ij5bUkZDNjY2
NV08L2E+LiA8L3A+CjxoMSBpZD0icmZjLnNlY3Rpb24uNi4yIj48YSBocmVmPSIjcmZjLnNlY3Rp
b24uNi4yIj42LjIuPC9hPiA8YSBocmVmPSIjc2VjOmVwcGFyYW1ldGVyIiBpZD0ic2VjOmVwcGFy
YW1ldGVyIj5FdmVudCBQYWNrYWdlIFBhcmFtZXRlcnM8L2E+PC9oMT4KPHAgaWQ9InJmYy5zZWN0
aW9uLjYuMi5wLjEiPk5vIHBhY2thZ2Ugc3BlY2lmaWMgZXZlbnQgaGVhZGVyIGZpZWxkIHBhcmFt
ZXRlcnMgYXJlIGRlZmluZWQgZm9yIHRoaXMgZXZlbnQgcGFja2FnZS48L3A+CjxoMSBpZD0icmZj
LnNlY3Rpb24uNi4zIj48YSBocmVmPSIjcmZjLnNlY3Rpb24uNi4zIj42LjMuPC9hPiA8YSBocmVm
PSIjc2VjOnN1YmJvZHkiIGlkPSJzZWM6c3ViYm9keSI+U1VCU0NSSUJFIEJvZGllczwvYT48L2gx
Pgo8cCBpZD0icmZjLnNlY3Rpb24uNi4zLnAuMSI+VGhpcyBkb2N1bWVudCBkb2VzIG5vdCBkZWZp
bmUgdGhlIGNvbnRlbnQgb2YgU1VCU0NSSUJFIGJvZGllcy4gIEZ1dHVyZSBzcGVjaWZpY2F0aW9u
cyBjb3VsZCBkZWZpbmUgYm9kaWVzIGZvciBTVUJTQ1JJQkUgbWVzc2FnZXMsIGZvciBleGFtcGxl
IHRvIHJlcXVlc3Qgc3BlY2lmaWMgdHlwZXMgb2YgbG9hZCBjb250cm9sIGV2ZW50IG5vdGlmaWNh
dGlvbnMuIDwvcD4KPHAgaWQ9InJmYy5zZWN0aW9uLjYuMy5wLjIiPkEgU1VCU0NSSUJFIHJlcXVl
c3Qgc2VudCB3aXRob3V0IGEgYm9keSBpbXBsaWVzIHRoZSBkZWZhdWx0IHN1YnNjcmlwdGlvbiBi
ZWhhdmlvciBhcyBzcGVjaWZpZWQgaW4gPGEgaHJlZj0iI3NlYzpudGZnZW5udGYiPlNlY3Rpb24g
Ni43PC9hPi4gIDwvcD4KPGgxIGlkPSJyZmMuc2VjdGlvbi42LjQiPjxhIGhyZWY9IiNyZmMuc2Vj
dGlvbi42LjQiPjYuNC48L2E+IDxhIGhyZWY9IiNzZWM6c3ViZHVyYXRpb24iIGlkPSJzZWM6c3Vi
ZHVyYXRpb24iPlNVQlNDUklCRSBEdXJhdGlvbjwvYT48L2gxPgo8cCBpZD0icmZjLnNlY3Rpb24u
Ni40LnAuMSI+VGhlIGRlZmF1bHQgZXhwaXJhdGlvbiB0aW1lIGZvciBhIHN1YnNjcmlwdGlvbiB0
byBsb2FkIGZpbHRlcmluZyBwb2xpY3kgaXMgb25lIGhvdXIuIFNpbmNlIHRoZSBkZXNpcmVkIGV4
cGlyYXRpb24gdGltZSBtYXkgdmFyeSBzaWduaWZpY2FudGx5IGZvciBzdWJzY3JpcHRpb25zIGFt
b25nIFNJUCBlbnRpdGllcyB3aXRoIGRpZmZlcmVudCBzaWduYWxpbmcgcmVsYXRpb25zaGlwcywg
dGhlIHN1YnNjcmliZXJzIGFuZCBub3RpZmllcnMgYXJlIFJFQ09NTUVOREVEIHRvIGV4cGxpY2l0
bHkgbmVnb3RpYXRlIGFwcHJvcHJpYXRlIHN1YnNjcmlwdGlvbiBkdXJhdGlvbiB3aGVuIGtub3ds
ZWRnZSBhYm91dCB0aGUgbXV0dWFsIHNpZ25hbGluZyByZWxhdGlvbnNoaXAgaXMgYXZhaWxhYmxl
LiA8L3A+CjxoMSBpZD0icmZjLnNlY3Rpb24uNi41Ij48YSBocmVmPSIjcmZjLnNlY3Rpb24uNi41
Ij42LjUuPC9hPiA8YSBocmVmPSIjc2VjOm50ZmJvZHkiIGlkPSJzZWM6bnRmYm9keSI+Tk9USUZZ
IEJvZGllczwvYT48L2gxPgo8cCBpZD0icmZjLnNlY3Rpb24uNi41LnAuMSI+VGhlIGJvZHkgb2Yg
YSBOT1RJRlkgcmVxdWVzdCBpbiB0aGlzIGV2ZW50IHBhY2thZ2UgY29udGFpbnMgbG9hZCBmaWx0
ZXJpbmcgcG9saWNpZXMuIFRoZSBmb3JtYXQgb2YgdGhlIE5PVElGWSByZXF1ZXN0IGJvZHkgTVVT
VCBiZSBpbiBvbmUgb2YgdGhlIGZvcm1hdHMgZGVmaW5lZCBpbiB0aGUgQWNjZXB0IGhlYWRlciBm
aWVsZCBvZiB0aGUgU1VCU0NSSUJFIHJlcXVlc3Qgb3IgYmUgdGhlIGRlZmF1bHQgZm9ybWF0LCBh
cyBzcGVjaWZpZWQgaW4gPGEgaHJlZj0iI1JGQzY2NjUiPltSRkM2NjY1XTwvYT4uIFRoZSBkZWZh
dWx0IGRhdGEgZm9ybWF0IGZvciB0aGUgTk9USUZZIHJlcXVlc3QgYm9keSBvZiB0aGlzIGV2ZW50
IHBhY2thZ2UgaXMgImFwcGxpY2F0aW9uL2xvYWQtY29udHJvbCt4bWwiIChkZWZpbmVkIGluIDxh
IGhyZWY9IiNzZWM6bG9hZGN0cmxmb3JtYXQiPlNlY3Rpb24gNzwvYT4pLiBUaGlzIG1lYW5zIHRo
YXQgd2hlbiBOT1RJRlkgcmVxdWVzdCBib2R5IGV4aXN0cyBidXQgbm8gQWNjZXB0IGhlYWRlciBm
aWVsZCBpcyBzcGVjaWZpZWQgaW4gYSBTVUJTQ1JJQkUgcmVxdWVzdCwgdGhlIE5PVElGWSByZXF1
ZXN0IGJvZHkgTVVTVCBjb250YWluICJhcHBsaWNhdGlvbi9sb2FkLWNvbnRyb2wreG1sIiBmb3Jt
YXQuIDwvcD4KPGgxIGlkPSJyZmMuc2VjdGlvbi42LjYiPjxhIGhyZWY9IiNyZmMuc2VjdGlvbi42
LjYiPjYuNi48L2E+IDxhIGhyZWY9IiNzZWM6bnRmcHJvY3N1YiIgaWQ9InNlYzpudGZwcm9jc3Vi
Ij5Ob3RpZmllciBQcm9jZXNzaW5nIG9mIFNVQlNDUklCRSBSZXF1ZXN0czwvYT48L2gxPgo8cCBp
ZD0icmZjLnNlY3Rpb24uNi42LnAuMSI+VGhlIG5vdGlmaWVyIGFjY2VwdHMgYSBuZXcgc3Vic2Ny
aXB0aW9uIG9yIHVwZGF0ZXMgYW4gZXhpc3Rpbmcgc3Vic2NyaXB0aW9uIHVwb24gcmVjZWl2aW5n
IGEgdmFsaWQgU1VCU0NSSUJFIHJlcXVlc3QuIDwvcD4KPHAgaWQ9InJmYy5zZWN0aW9uLjYuNi5w
LjIiPklmIHRoZSBpZGVudGl0eSBvZiB0aGUgc3Vic2NyaWJlciBzZW5kaW5nIHRoZSBTVUJTQ1JJ
QkUgcmVxdWVzdCBpcyBub3QgYWxsb3dlZCB0byByZWNlaXZlIGxvYWQgZmlsdGVyaW5nIHBvbGlj
eSwgdGhlIG5vdGlmaWVyIE1VU1QgcmV0dXJuIGEgNDAzICJGb3JiaWRkZW4iIHJlc3BvbnNlLiA8
L3A+CjxwIGlkPSJyZmMuc2VjdGlvbi42LjYucC4zIj5JZiBub25lIG9mIE1JTUUgdHlwZXMgc3Bl
Y2lmaWVkIGluIHRoZSBBY2NlcHQgaGVhZGVyIG9mIHRoZSBTVUJTQ1JJQkUgcmVxdWVzdCBpcyBz
dXBwb3J0ZWQsIHRoZSBub3RpZmllciBTSE9VTEQgcmV0dXJuIDQwNiAiTm90IEFjY2VwdGFibGUi
IHJlc3BvbnNlLiA8L3A+CjxoMSBpZD0icmZjLnNlY3Rpb24uNi43Ij48YSBocmVmPSIjcmZjLnNl
Y3Rpb24uNi43Ij42LjcuPC9hPiA8YSBocmVmPSIjc2VjOm50Zmdlbm50ZiIgaWQ9InNlYzpudGZn
ZW5udGYiPk5vdGlmaWVyIEdlbmVyYXRpb24gb2YgTk9USUZZIFJlcXVlc3RzPC9hPjwvaDE+Cjxw
IGlkPSJyZmMuc2VjdGlvbi42LjcucC4xIj5BIG5vdGlmaWVyIE1VU1Qgc2VuZCBhIE5PVElGWSBy
ZXF1ZXN0IHdpdGggaXRzIGN1cnJlbnQgbG9hZCBmaWx0ZXJpbmcgcG9saWN5IHRvIHRoZSBzdWJz
Y3JpYmVyIHVwb24gc3VjY2Vzc2Z1bGx5IGFjY2VwdGluZyBvciByZWZyZXNoaW5nIGEgc3Vic2Ny
aXB0aW9uLiBJZiBubyBsb2FkIGZpbHRlcmluZyBwb2xpY3kgbmVlZHMgdG8gYmUgZGlzdHJpYnV0
ZWQgd2hlbiB0aGUgc3Vic2NyaXB0aW9uIGlzIHJlY2VpdmVkLCB0aGUgbm90aWZpZXIgU0hPVUxE
IHNlbnQgYSBOT1RJRlkgcmVxdWVzdCB3aXRob3V0IGJvZHkgdG8gdGhlIHN1YnNjcmliZXIuIFRo
ZSBjb250ZW50LXR5cGUgaGVhZGVyIGZpZWxkIG9mIHRoaXMgTk9USUZZIHJlcXVlc3QgTVVTVCBp
bmRpY2F0ZSB0aGUgY29ycmVjdCBib2R5IGZvcm1hdCBhcyBpZiB0aGUgYm9keSB3ZXJlIHByZXNl
bnQgKGUuZy4sICJhcHBsaWNhdGlvbi9sb2FkLWNvbnRyb2wreG1sIikuIFNlbmRpbmcgdGhpcyBO
T1RJRlkgcmVxdWVzdCB3aXRob3V0IGJvZHkgaXMgb2Z0ZW4gdGhlIGNhc2Ugd2hlbiBhIHN1YnNj
cmlwdGlvbiBpcyBpbml0aWF0ZWQgZm9yIHRoZSBmaXJzdCB0aW1lLCBlLmcuLCB3aGVuIGEgU0lQ
IGVudGl0eSBpcyBqdXN0IGludHJvZHVjZWQsIGJlY2F1c2UgdGhlcmUgbWF5IGJlIG5vIHBsYW5u
ZWQgZXZlbnRzIHRoYXQgcmVxdWlyZSBsb2FkIGZpbHRlcmluZyBhdCB0aGF0IHRpbWUuIEEgbm90
aWZpZXIgU0hPVUxEIGdlbmVyYXRlIE5PVElGWSByZXF1ZXN0cyBlYWNoIHRpbWUgdGhlIGxvYWQg
ZmlsdGVyaW5nIHBvbGljeSBjaGFuZ2VzLCB3aXRoIHRoZSBtYXhpbXVtIG5vdGlmaWNhdGlvbiBy
YXRlIG5vdCBleGNlZWRpbmcgdmFsdWVzIGRlZmluZWQgaW4gPGEgaHJlZj0iI3NlYzpyYXRlbnRm
Ij5TZWN0aW9uIDYuMTA8L2E+LiA8L3A+CjxoMSBpZD0icmZjLnNlY3Rpb24uNi44Ij48YSBocmVm
PSIjcmZjLnNlY3Rpb24uNi44Ij42LjguPC9hPiA8YSBocmVmPSIjc2VjOnN1YnByb2NudGYiIGlk
PSJzZWM6c3VicHJvY250ZiI+U3Vic2NyaWJlciBQcm9jZXNzaW5nIG9mIE5PVElGWSBSZXF1ZXN0
czwvYT48L2gxPgo8cCBpZD0icmZjLnNlY3Rpb24uNi44LnAuMSI+VGhlIHN1YnNjcmliZXIgaXMg
dGhlIGxvYWQgZmlsdGVyaW5nIHNlcnZlciB3aGljaCBlbmZvcmNlcyBsb2FkIGZpbHRlcmluZyBw
b2xpY2llcyByZWNlaXZlZCBmcm9tIHRoZSBub3RpZmllci4gVGhlIHdheSBzdWJzY3JpYmVycyBw
cm9jZXNzIE5PVElGWSByZXF1ZXN0cyBkZXBlbmRzIG9uIHRoZSBsb2FkIGZpbHRlcmluZyBwb2xp
Y2llcyBjb252ZXllZCBpbiB0aGUgbm90aWZpY2F0aW9ucy4gVHlwaWNhbGx5LCBsb2FkIGZpbHRl
cmluZyBwb2xpY2llcyBjb25zaXN0IG9mIHJ1bGVzIHNwZWNpZnlpbmcgYWN0aW9ucyB0byBiZSBh
cHBsaWVkIHRvIHJlcXVlc3RzIG1hdGNoaW5nIGNlcnRhaW4gY29uZGl0aW9ucy4gQSBzdWJzY3Jp
YmVyIHJlY2VpdmluZyBhIG5vdGlmaWNhdGlvbiBmaXJzdCBpbnN0YWxscyB0aGVzZSBydWxlcyBh
bmQgdGhlbiBlbmZvcmNlIGNvcnJlc3BvbmRpbmcgYWN0aW9ucyBvbiByZXF1ZXN0cyBtYXRjaGlu
ZyB0aG9zZSBjb25kaXRpb25zLCBmb3IgZXhhbXBsZSwgbGltaXRpbmcgdGhlIHNlbmRpbmcgcmF0
ZSBvZiBjYWxsIHJlcXVlc3RzIGRlc3RpbmVkIGZvciBhIHNwZWNpZmljIGNhbGxlZS4gPC9wPgo8
cCBpZD0icmZjLnNlY3Rpb24uNi44LnAuMiI+SW4gdGhlIGNhc2Ugd2hlbiBsb2FkIGZpbHRlcmlu
ZyBwb2xpY2llcyBzcGVjaWZ5IGEgZnV0dXJlIHZhbGlkaXR5LCBpdCBpcyBwb3NzaWJsZSB0aGF0
IHdoZW4gdGhlIHZhbGlkaXR5IHRpbWUgY29tZXMsIHRoZSBzdWJzY3JpcHRpb24gdG8gdGhlIHNw
ZWNpZmljIG5vdGlmaWVyIHRoYXQgY29udmV5ZWQgdGhlIHJ1bGVzIGhhcyBleHBpcmVkLiBJbiB0
aGlzIGNhc2UsIGl0IGlzIFJFQ09NTUVOREVEIHRoYXQgdGhlIHN1YnNjcmliZXIgcmUtYWN0aXZh
dGUgaXRzIHN1YnNjcmlwdGlvbiB3aXRoIHRoZSBjb3JyZXNwb25kaW5nIG5vdGlmaWVyLiBSZWdh
cmRsZXNzIG9mIHdoZXRoZXIgdGhpcyByZS1hY3RpdmF0aW9uIG9mIHN1YnNjcmlwdGlvbiBpcyBz
dWNjZXNzZnVsIG9yIG5vdCwgd2hlbiB0aGUgdmFsaWRpdHkgdGltZSBpcyByZWFjaGVkLCB0aGUg
c3Vic2NyaWJlciBTSE9VTEQgZW5mb3JjZSB0aGUgY29ycmVzcG9uZGluZyBydWxlcy4gPC9wPgo8
cCBpZD0icmZjLnNlY3Rpb24uNi44LnAuMyI+VXBvbiByZWNlaXB0IG9mIGEgTk9USUZZIHJlcXVl
c3Qgd2l0aCBhIFN1YnNjcmlwdGlvbi1TdGF0ZSBoZWFkZXIgZmllbGQgY29udGFpbmluZyB0aGUg
dmFsdWUgInRlcm1pbmF0ZWQiLCB0aGUgc3Vic2NyaXB0aW9uIHN0YXR1cyB3aXRoIHRoZSBwYXJ0
aWN1bGFyIG5vdGlmaWVyIHdpbGwgYmUgdGVybWluYXRlZC4gTWVhbndoaWxlLCBzdWJzY3JpYmVy
cyBNVVNUIGFsc28gdGVybWluYXRlIHByZXZpb3VzbHkgcmVjZWl2ZWQgbG9hZCBmaWx0ZXJpbmcg
cG9saWNpZXMgZnJvbSB0aGF0IG5vdGlmaWVyLiA8L3A+CjxwIGlkPSJyZmMuc2VjdGlvbi42Ljgu
cC40Ij5UaGUgc3Vic2NyaWJlciBTSE9VTEQgZGlzY2FyZCB1bmtub3duIGJvZGllcy4gSWYgdGhl
IE5PVElGWSByZXF1ZXN0IGNvbnRhaW5zIHNldmVyYWwgYm9kaWVzLCBub25lIG9mIHRoZW0gYmVp
bmcgc3VwcG9ydGVkLCBpdCBTSE9VTEQgdW5zdWJzY3JpYmUuIEEgTk9USUZZIHJlcXVlc3Qgd2l0
aG91dCBhIGJvZHkgaW5kaWNhdGVzIHRoYXQgbm8gbG9hZCBmaWx0ZXJpbmcgcG9saWNpZXMgbmVl
ZCB0byBiZSB1cGRhdGVkLiA8L3A+CjxwIGlkPSJyZmMuc2VjdGlvbi42LjgucC41Ij5XaGVuIHRo
ZSBzdWJzY3JpYmVyIGVuZm9yY2VzIGxvYWQgZmlsdGVyaW5nIHBvbGljaWVzLCBpdCBuZWVkcyB0
byBwcmlvcml0aXplIHJlcXVlc3RzIGFuZCBzZWxlY3QgdGhvc2UgcmVxdWVzdHMgdGhhdCBuZWVk
IHRvIGJlIHJlamVjdGVkIG9yIHJlZGlyZWN0ZWQuIFRoaXMgc2VsZWN0aW9uIGlzIGxhcmdlbHkg
YSBtYXR0ZXIgb2YgbG9jYWwgcG9saWN5LiBJdCBpcyBleHBlY3RlZCB0aGF0IHRoZSBzdWJzY3Jp
YmVyIHdpbGwgZm9sbG93IGxvY2FsIHBvbGljeSBhcyBsb25nIGFzIHRoZSByZXN1bHQgaW4gcmVk
dWN0aW9uIG9mIHRyYWZmaWMgaXMgY29uc2lzdGVudCB3aXRoIHRoZSBvdmVybG9hZCBhbGdvcml0
aG0gaW4gZWZmZWN0IGF0IHRoYXQgbm9kZS4gQWNjb3JkaW5nbHksIHRoZSBub3JtYXRpdmUgYmVo
YXZpb3IgaW4gdGhlIG5leHQgdGhyZWUgcGFyYWdyYXBocyBzaG91bGQgYmUgaW50ZXJwcmV0ZWQg
d2l0aCB0aGUgdW5kZXJzdGFuZGluZyB0aGF0IHRoZSBzdWJzY3JpYmVyIHdpbGwgYWltIHRvIHBy
ZXNlcnZlIGxvY2FsIHBvbGljeSB0byB0aGUgZnVsbGVzdCBleHRlbnQgcG9zc2libGUuPC9wPgo8
cC8+Cgo8dWw+CiAgPGxpPlRoZSBzdWJzY3JpYmVyIFNIT1VMRCBob25vciB0aGUgbG9jYWwgcG9s
aWN5IGZvciBwcmlvcml0aXppbmcgU0lQIHJlcXVlc3RzIHN1Y2ggYXMgcG9saWNpZXMgYmFzZWQg
b24gbWVzc2FnZSB0eXBlLCBlLmcuLCBJTlZJVEVzIHZlcnN1cyByZXF1ZXN0cyBhc3NvY2lhdGVk
IHdpdGggZXhpc3Rpbmcgc2Vzc2lvbnMuIDwvbGk+CiAgPGxpPlRoZSBzdWJzY3JpYmVyIFNIT1VM
RCBob25vciB0aGUgbG9jYWwgcG9saWN5IGZvciBwcmlvcml0aXppbmcgU0lQIHJlcXVlc3RzIGJh
c2VkIG9uIHRoZSBjb250ZW50IG9mIHRoZSBSZXNvdXJjZS1Qcmlvcml0eSBoZWFkZXIgKFJQSCwg
PGEgaHJlZj0iI1JGQzQ0MTIiPltSRkM0NDEyXTwvYT4pLiBTcGVjaWZpYyAobmFtZXNwYWNlLnZh
bHVlKSBSUEggY29udGVudHMgbWF5IGluZGljYXRlIGhpZ2ggcHJpb3JpdHkgcmVxdWVzdHMgdGhh
dCBzaG91bGQgYmUgcHJlc2VydmVkIGFzIG11Y2ggYXMgcG9zc2libGUgZHVyaW5nIG92ZXJsb2Fk
LiBUaGUgUlBIIGNvbnRlbnRzIGNhbiBhbHNvIGluZGljYXRlIGEgbG93LXByaW9yaXR5IHJlcXVl
c3QgdGhhdCBpcyBlbGlnaWJsZSB0byBiZSBkcm9wcGVkIGR1cmluZyB0aW1lcyBvZiBvdmVybG9h
ZC4gPC9saT4KICA8bGk+VGhlIHN1YnNjcmliZXIgU0hPVUxEIGhvbm9yIHRoZSBsb2NhbCBwb2xp
Y3kgZm9yIHByaW9yaXRpemluZyBTSVAgcmVxdWVzdHMgcmVsYXRpbmcgdG8gZW1lcmdlbmN5IGNh
bGxzIGFzIGlkZW50aWZpZWQgYnkgdGhlIFNPUyBVUk4gPGEgaHJlZj0iI1JGQzUwMzEiPltSRkM1
MDMxXTwvYT4gaW5kaWNhdGluZyBhbiBlbWVyZ2VuY3kgcmVxdWVzdC48L2xpPgo8L3VsPgoKPHA+
IDwvcD4KPHAgaWQ9InJmYy5zZWN0aW9uLjYuOC5wLjciPkEgbG9jYWwgcG9saWN5IGNhbiBiZSBl
eHBlY3RlZCB0byBjb21iaW5lIGJvdGggdGhlIFNJUCByZXF1ZXN0IHR5cGUgYW5kIHRoZSBwcmlv
cml0aXphdGlvbiBtYXJraW5ncywgYW5kIFNIT1VMRCBiZSBob25vcmVkIHdoZW4gb3ZlcmxvYWQg
Y29uZGl0aW9ucyBwcmV2YWlsLiA8L3A+CjxoMSBpZD0icmZjLnNlY3Rpb24uNi45Ij48YSBocmVm
PSIjcmZjLnNlY3Rpb24uNi45Ij42LjkuPC9hPiA8YSBocmVmPSIjc2VjOmhkbGZvcmsiIGlkPSJz
ZWM6aGRsZm9yayI+SGFuZGxpbmcgb2YgRm9ya2VkIFJlcXVlc3RzPC9hPjwvaDE+CjxwIGlkPSJy
ZmMuc2VjdGlvbi42LjkucC4xIj5Gb3JraW5nIGlzIG5vdCBhcHBsaWNhYmxlIHdoZW4gdGhpcyBs
b2FkIGNvbnRyb2wgZXZlbnQgcGFja2FnZSBtZWNoYW5pc20gaXMgdXNlZCB3aXRoaW4gYSBzaW5n
bGUtaG9wIGRpc3RhbmNlIGJldHdlZW4gbmVpZ2hib3JpbmcgU0lQIGVudGl0aWVzLiBJZiBjb21t
dW5pY2F0aW9uIHNjb3BlIG9mIHRoZSBsb2FkIGNvbnRyb2wgZXZlbnQgcGFja2FnZSBtZWNoYW5p
c20gaXMgYW1vbmcgbXVsdGlwbGUgaG9wcywgZm9ya2luZyBpcyBub3QgZXhwZWN0ZWQgdG8gaGFw
cGVuIGVpdGhlciBiZWNhdXNlIHRoZSBzdWJzY3JpcHRpb24gcmVxdWVzdCBpcyBhZGRyZXNzZWQg
dG8gYSBjbGVhcmx5IGRlZmluZWQgU0lQIGVudGl0eS4gSG93ZXZlciwgaW4gdGhlIHVubGlrZWx5
IGNhc2Ugd2hlbiBmb3JraW5nIGRvZXMgaGFwcGVuLCB0aGUgbG9hZCBjb250cm9sIGV2ZW50IHBh
Y2thZ2Ugb25seSBhbGxvd3MgdGhlIGZpcnN0IHBvdGVudGlhbCBkaWFsb2ctZXN0YWJsaXNoaW5n
IG1lc3NhZ2UgdG8gY3JlYXRlIGEgZGlhbG9nLCBhcyBzcGVjaWZpZWQgaW4gU2VjdGlvbiA1Ljkg
b2YgPGEgaHJlZj0iI1JGQzY2NjUiPltSRkM2NjY1XTwvYT4uIDwvcD4KPGgxIGlkPSJyZmMuc2Vj
dGlvbi42LjEwIj48YSBocmVmPSIjcmZjLnNlY3Rpb24uNi4xMCI+Ni4xMC48L2E+IDxhIGhyZWY9
IiNzZWM6cmF0ZW50ZiIgaWQ9InNlYzpyYXRlbnRmIj5SYXRlIG9mIE5vdGlmaWNhdGlvbnM8L2E+
PC9oMT4KPHAgaWQ9InJmYy5zZWN0aW9uLjYuMTAucC4xIj5SYXRlIG9mIG5vdGlmaWNhdGlvbnMg
aXMgbGlrZWx5IG5vdCBhIGNvbmNlcm4gZm9yIHRoaXMgbG9jYWwgY29udHJvbCBldmVudCBwYWNr
YWdlIG1lY2hhbmlzbSB3aGVuIGl0IGlzIHVzZWQgaW4gYSBub24tcmVhbC10aW1lIG1vZGUgZm9y
IHJlbGF0aXZlbHkgc3RhdGljIGxvYWQgZmlsdGVyaW5nIHBvbGljaWVzLiBOZXZlcnRoZWxlc3Ms
IGlmIHNpdHVhdGlvbiBkb2VzIGFyaXNlIHRoYXQgYSByYXRoZXIgZnJlcXVlbnQgbG9hZCBmaWx0
ZXJpbmcgcG9saWN5IHVwZGF0ZSBpcyBuZWVkZWQsIGl0IGlzIFJFQ09NTUVOREVEIHRoYXQgdGhl
IG5vdGlmaWVyIGRvIG5vdCBnZW5lcmF0ZSBub3RpZmljYXRpb25zIGF0IGEgcmF0ZSBoaWdoZXIg
dGhhbiBvbmNlIHBlci1zZWNvbmQgaW4gYWxsIGNhc2VzLCBpbiBvcmRlciB0byBhdm9pZCB0aGUg
Tk9USUZZIHJlcXVlc3QgaXRzZWxmIG92ZXJsb2FkaW5nIHRoZSBzeXN0ZW0uIDwvcD4KPGgxIGlk
PSJyZmMuc2VjdGlvbi42LjExIj48YSBocmVmPSIjcmZjLnNlY3Rpb24uNi4xMSI+Ni4xMS48L2E+
IDxhIGhyZWY9IiNzZWM6c3RhdGVkZWx0YSIgaWQ9InNlYzpzdGF0ZWRlbHRhIj5TdGF0ZSBEZWx0
YTwvYT48L2gxPgo8cCBpZD0icmZjLnNlY3Rpb24uNi4xMS5wLjEiPkl0IGlzIGxpa2VseSB0aGF0
IHVwZGF0ZXMgdG8gc3BlY2lmaWMgbG9hZCBmaWx0ZXJpbmcgcG9saWNpZXMgYXJlIG1hZGUgYnkg
Y2hhbmdpbmcgb25seSBwYXJ0IG9mIHRoZSBwb2xpY3kgcGFyYW1ldGVycyBvbmx5IChlLmcuIGFj
Y2VwdGFibGUgcmVxdWVzdCByYXRlIG9yIHBlcmNlbnRhZ2UsIGJ1dCBub3QgbWF0Y2hpbmcgaWRl
bnRpdGllcykuIFRoaXMgd2lsbCB0eXBpY2FsbHkgYmUgYmVjYXVzZSB0aGUgdXRpbGl6YXRpb24g
b2YgYSByZXNvdXJjZSBzdWJqZWN0IHRvIG92ZXJsb2FkIGRlcGVuZHMgdXBvbiBkeW5hbWljIHVu
a25vd25zIHN1Y2ggYXMgaG9sZGluZyB0aW1lIGFuZCB0aGUgcmVsYXRpdmUgZGlzdHJpYnV0aW9u
IG9mIG9mZmVyZWQgbG9hZHMgb3ZlciBzdWJzY3JpYmluZyBTSVAgZW50aXRpZXMuIFRoZSB1cGRh
dGVzIGNvdWxkIG9yaWdpbmF0ZSBtYW51YWxseSBvciBiZSBkZXRlcm1pbmVkIGF1dG9tYXRpY2Fs
bHkgYnkgYW4gYWxnb3JpdGhtIHRoYXQgZHluYW1pY2FsbHkgY29tcHV0ZXMgdGhlIGxvYWQgZmls
dGVyaW5nIHBvbGljaWVzICg8YSBocmVmPSIjc2VjOmZpbHRlcmNvbXB1dGUiPlNlY3Rpb24gNS4y
PC9hPikuIEFub3RoZXIgZmFjdG9yIHRoYXQgaXMgdXN1YWxseSBub3Qga25vd24gcHJlY2lzZWx5
IG9yIG5lZWRzIHRvIGJlIGNvbXB1dGVkIGF1dG9tYXRpY2FsbHkgaXMgdGhlIGR1cmF0aW9uIG9m
IHRoZSBldmVudCByZXF1aXJpbmcgbG9hZCBmaWx0ZXJpbmcuIFRoZXJlZm9yZSBpdCB3b3VsZCBh
bHNvIGJlIGNvbW1vbiBmb3IgdGhlIHZhbGlkaXR5IHRvIGNoYW5nZSBmcmVxdWVudGx5LiA8L3A+
CjxwIGlkPSJyZmMuc2VjdGlvbi42LjExLnAuMiI+VGhpcyBldmVudCBwYWNrYWdlIGFsbG93cyB0
aGUgdXNlIG9mIHN0YXRlIGRlbHRhIGFzIGluIDxhIGhyZWY9IiNSRkM2NjY1Ij5bUkZDNjY2NV08
L2E+IHRvIGFjY29tbW9kYXRlIGZyZXF1ZW50IHVwZGF0ZXMgb2YgcGFydGlhbCBwb2xpY3kgcGFy
YW1ldGVycy4gRm9yIGVhY2ggTk9USUZZIHRyYW5zYWN0aW9uIGluIGEgc3Vic2NyaXB0aW9uLCBh
IHZlcnNpb24gbnVtYmVyIHRoYXQgaW5jcmVhc2VzIGJ5IGV4YWN0bHkgb25lIE1VU1QgYmUgaW5j
bHVkZWQgaW4gdGhlIE5PVElGWSByZXF1ZXN0IGJvZHkgd2hlbiB0aGUgYm9keSBpcyBwcmVzZW50
LiBXaGVuIHRoZSBzdWJzY3JpYmVyIHJlY2VpdmVzIGEgc3RhdGUgZGVsdGEsIGl0IGFzc29jaWF0
ZXMgdGhlIHBhcnRpYWwgdXBkYXRlcyB0byB0aGUgcGFydGljdWxhciBwb2xpY3kgYnkgbWF0Y2hp
bmcgdGhlIGFwcHJvcHJpYXRlIHJ1bGUgaWQgKDxhIGhyZWY9IiNzZWM6cnVsZWV4Ij5TZWN0aW9u
IDcuNTwvYT4pLiBJZiB0aGUgc3Vic2NyaWJlciByZWNlaXZlcyBhIE5PVElGWSByZXF1ZXN0IHdp
dGggYSB2ZXJzaW9uIG51bWJlciB0aGF0IGlzIGluY3JlYXNlZCBieSBtb3JlIHRoYW4gb25lLCBp
dCBrbm93cyB0aGF0IGl0IGhhcyBtaXNzZWQgYSBzdGF0ZSBkZWx0YSBhbmQgbmVlZHMgdG8gYXNr
IGZvciBhIGZ1bGwgc3RhdGUgc25hcHNob3QuIFRoZXJlZm9yZSwgdGhlIHN1YnNjcmliZXIgaWdu
b3JlcyB0aGF0IE5PVElGWSByZXF1ZXN0IGNvbnRhaW5pbmcgdGhlIHN0YXRlIGRlbHRhLCBhbmQg
cmUtc2VuZHMgYSBTVUJTQ1JJQkUgcmVxdWVzdCB0byBmb3JjZSBhIE5PVElGWSByZXF1ZXN0IGNv
bnRhaW5pbmcgYSBjb21wbGV0ZSBzdGF0ZSBzbmFwc2hvdC4gPC9wPgo8aDEgaWQ9InJmYy5zZWN0
aW9uLjciPjxhIGhyZWY9IiNyZmMuc2VjdGlvbi43Ij43LjwvYT4gPGEgaHJlZj0iI3NlYzpsb2Fk
Y3RybGZvcm1hdCIgaWQ9InNlYzpsb2FkY3RybGZvcm1hdCI+TG9hZCBDb250cm9sIERvY3VtZW50
PC9hPjwvaDE+CjxoMSBpZD0icmZjLnNlY3Rpb24uNy4xIj48YSBocmVmPSIjcmZjLnNlY3Rpb24u
Ny4xIj43LjEuPC9hPiA8YSBocmVmPSIjc2VjOmZvcm1hdCIgaWQ9InNlYzpmb3JtYXQiPkZvcm1h
dDwvYT48L2gxPgo8cCBpZD0icmZjLnNlY3Rpb24uNy4xLnAuMSI+QSBsb2FkIGNvbnRyb2wgZG9j
dW1lbnQgaXMgYW4gWE1MIGRvY3VtZW50IHRoYXQgZGVzY3JpYmVzIHRoZSBsb2FkIGZpbHRlcmlu
ZyBwb2xpY2llcy4gSXQgaW5oZXJpdHMgYW5kIGVuaGFuY2VzIHRoZSBjb21tb24gcG9saWN5IGRv
Y3VtZW50IGRlZmluZWQgaW4gPGEgaHJlZj0iI1JGQzQ3NDUiPltSRkM0NzQ1XTwvYT4uIEEgY29t
bW9uIHBvbGljeSBkb2N1bWVudCBjb250YWlucyBhIHNldCBvZiBydWxlcy4gRWFjaCBydWxlIGNv
bnNpc3RzIG9mIHRocmVlIHBhcnRzOiBjb25kaXRpb25zLCBhY3Rpb25zIGFuZCB0cmFuc2Zvcm1h
dGlvbnMuIFRoZSBjb25kaXRpb25zIHBhcnQgaXMgYSBzZXQgb2YgZXhwcmVzc2lvbnMgY29udGFp
bmluZyBhdHRyaWJ1dGVzIHN1Y2ggYXMgaWRlbnRpdHksIGRvbWFpbiwgYW5kIHZhbGlkaXR5IHRp
bWUgaW5mb3JtYXRpb24uIEVhY2ggZXhwcmVzc2lvbiBldmFsdWF0ZXMgdG8gVFJVRSBvciBGQUxT
RS4gQ29uZGl0aW9ucyBhcmUgbWF0Y2hlZCBvbiAiZXF1YWxpdHkiIG9yICJncmVhdGVyIHRoYW4i
IHN0eWxlIGNvbXBhcmlzb24uIFRoZXJlIGlzIG5vIHJlZ3VsYXIgZXhwcmVzc2lvbiBtYXRjaGlu
Zy4gQ29uZGl0aW9ucyBhcmUgZXZhbHVhdGVkIG9uIHJlY2VpcHQgb2YgYW4gaW5pdGlhbCBTSVAg
cmVxdWVzdCBmb3IgYSBkaWFsb2cgb3Igc3RhbmRhbG9uZSB0cmFuc2FjdGlvbi4gSWYgYSByZXF1
ZXN0IG1hdGNoZXMgYWxsIGNvbmRpdGlvbnMgaW4gYSBydWxlIHNldCwgdGhlIGFjdGlvbiBwYXJ0
IGFuZCB0aGUgdHJhbnNmb3JtYXRpb24gcGFydCBhcmUgY29uc3VsdGVkIHRvIGRldGVybWluZSB0
aGUgInBlcm1pc3Npb24iIG9uIGhvdyB0byBoYW5kbGUgdGhlIHJlcXVlc3QuIEVhY2ggYWN0aW9u
IG9yIHRyYW5zZm9ybWF0aW9uIHNwZWNpZmllcyBhIHBvc2l0aXZlIGdyYW50IHRvIHRoZSBwb2xp
Y3kgc2VydmVyIHRvIHBlcmZvcm0gdGhlIHJlc3VsdGluZyBhY3Rpb25zLiBXZWxsLWRlZmluZWQg
bWVjaGFuaXNtIGFyZSBhdmFpbGFibGUgZm9yIGNvbWJpbmluZyBhY3Rpb25zIGFuZCB0cmFuc2Zv
cm1hdGlvbnMgb2J0YWluZWQgZnJvbSBtb3JlIHRoYW4gb25lIHNvdXJjZXMuIDwvcD4KPGgxIGlk
PSJyZmMuc2VjdGlvbi43LjIiPjxhIGhyZWY9IiNyZmMuc2VjdGlvbi43LjIiPjcuMi48L2E+IDxh
IGhyZWY9IiNzZWM6bmFtZXNwYWNlIiBpZD0ic2VjOm5hbWVzcGFjZSI+TmFtZXNwYWNlPC9hPjwv
aDE+CjxwIGlkPSJyZmMuc2VjdGlvbi43LjIucC4xIj5UaGUgbmFtZXNwYWNlIFVSSSBmb3IgZWxl
bWVudHMgZGVmaW5lZCBieSB0aGlzIHNwZWNpZmljYXRpb24gaXMgYSBVbmlmb3JtIFJlc291cmNl
IE5hbWVzcGFjZSAoVVJOKSAoPGEgaHJlZj0iI1JGQzIxNDEiPltSRkMyMTQxXTwvYT4pLCB1c2lu
ZyB0aGUgbmFtZXNwYWNlIGlkZW50aWZpZXIgJ2lldGYnIGRlZmluZWQgYnkgPGEgaHJlZj0iI1JG
QzI2NDgiPltSRkMyNjQ4XTwvYT4gYW5kIGV4dGVuZGVkIGJ5IDxhIGhyZWY9IiNSRkMzNjg4Ij5b
UkZDMzY4OF08L2E+LiBUaGUgVVJOIGlzIGFzIGZvbGxvd3M6IDwvcD4KPHAgaWQ9InJmYy5zZWN0
aW9uLjcuMi5wLjIiPnVybjppZXRmOnBhcmFtczp4bWw6bnM6bG9hZC1jb250cm9sIDwvcD4KPGgx
IGlkPSJyZmMuc2VjdGlvbi43LjMiPjxhIGhyZWY9IiNyZmMuc2VjdGlvbi43LjMiPjcuMy48L2E+
IDxhIGhyZWY9IiNzZWM6Y29uZGl0aW9uIiBpZD0ic2VjOmNvbmRpdGlvbiI+Q29uZGl0aW9ucyA8
L2E+PC9oMT4KPHA+PGEgaHJlZj0iI1JGQzQ3NDUiPltSRkM0NzQ1XTwvYT4gZGVmaW5lcyB0aHJl
ZSBjb25kaXRpb24gZWxlbWVudHM6ICZsdDtpZGVudGl0eSZndDssICZsdDtzcGhlcmUmZ3Q7IGFu
ZCAmbHQ7dmFsaWRpdHkmZ3Q7LiBJbiB0aGlzIHNwZWNpZmljYXRpb24sIHdlIGRlZmluZSBuZXcg
Y29uZGl0aW9uIGVsZW1lbnRzIGFuZCByZXVzZSB0aGUgJmx0O3ZhbGlkaXR5Jmd0OyBlbGVtZW50
LiBUaGUgJmx0O3NwaGVyZSZndDsgZWxlbWVudCBpcyBub3QgdXNlZC4gPC9wPgo8aDEgaWQ9InJm
Yy5zZWN0aW9uLjcuMy4xIj48YSBocmVmPSIjcmZjLnNlY3Rpb24uNy4zLjEiPjcuMy4xLjwvYT4g
PGEgaHJlZj0iI3NlYzppZGVudGl0eSIgaWQ9InNlYzppZGVudGl0eSI+Q2FsbCBJZGVudGl0eTwv
YT48L2gxPgo8cCBpZD0icmZjLnNlY3Rpb24uNy4zLjEucC4xIj5TaW5jZSB0aGUgcHJvYmxlbSBz
cGFjZSBvZiB0aGlzIHNwZWNpZmljYXRpb24gaXMgZGlmZmVyZW50IGZyb20gdGhhdCBvZiA8YSBo
cmVmPSIjUkZDNDc0NSI+W1JGQzQ3NDVdPC9hPiwgdGhlIDxhIGhyZWY9IiNSRkM0NzQ1Ij5bUkZD
NDc0NV08L2E+ICZsdDtpZGVudGl0eSZndDsgZWxlbWVudCBpcyBub3Qgc3VmZmljaWVudCBmb3Ig
dXNlIHdpdGggbG9hZCBmaWx0ZXJpbmcuIEZpcnN0LCBsb2FkIGZpbHRlcmluZyBtYXkgYmUgYXBw
bGllZCB0byBkaWZmZXJlbnQgaWRlbnRpdGllcyBjb250YWluZWQgaW4gYSByZXF1ZXN0LCBpbmNs
dWRpbmcgaWRlbnRpdGllcyBvZiBib3RoIHRoZSByZWNlaXZpbmcgZW50aXR5IGFuZCB0aGUgc2Vu
ZGluZyBlbnRpdHkuIFNlY29uZCwgdGhlIGltcG9ydGFuY2Ugb2YgYXV0aGVudGljYXRpb24gdmFy
aWVzIHdoZW4gZGlmZmVyZW50IGlkZW50aXRpZXMgb2YgYSByZXF1ZXN0IGFyZSBjb25jZXJuZWQu
IFRoaXMgc3BlY2lmaWNhdGlvbiBkZWZpbmVzIG5ldyBpZGVudGl0eSBjb25kaXRpb25zIHRoYXQg
Y2FuIGFjY29tbW9kYXRlIHRoZSBncmFudWxhcml0eSBvZiBzcGVjaWZpYyBTSVAgaWRlbnRpdHkg
aGVhZGVyIGZpZWxkcy4gVGhlIHJlcXVpcmVtZW50IGZvciBhdXRoZW50aWNhdGlvbiBkZXBlbmRz
IG9uIHdoaWNoIGZpZWxkIGlzIHRvIGJlIG1hdGNoZWQuIDwvcD4KPHAgaWQ9InJmYy5zZWN0aW9u
LjcuMy4xLnAuMiI+VGhlIGlkZW50aXR5IGNvbmRpdGlvbiBmb3IgbG9hZCBmaWx0ZXJpbmcgaXMg
c3BlY2lmaWVkIGJ5IHRoZSAmbHQ7Y2FsbC1pZGVudGl0eSZndDsgZWxlbWVudCBhbmQgaXRzIHN1
Yi1lbGVtZW50ICZsdDtzaXAmZ3Q7LiBUaGUgJmx0O3NpcCZndDsgZWxlbWVudCBpdHNlbGYgY29u
dGFpbnMgc3ViLWVsZW1lbnRzIHJlcHJlc2VudGluZyBTSVAgc2VuZGluZyBhbmQgcmVjZWl2aW5n
IGlkZW50aXR5IGhlYWRlciBmaWVsZHM6ICZsdDtmcm9tJmd0OywgJmx0O3RvJmd0OywgJmx0O3Jl
cXVlc3QtdXJpJmd0OyBhbmQgJmx0O3AtYXNzZXJ0ZWQtaWRlbnRpdHkmZ3Q7LiBBbGwgdGhvc2Ug
c3ViLWVsZW1lbnRzIGFyZSBvZiBhbiBleHRlbmRlZCBmb3JtIG9mIHRoZSA8YSBocmVmPSIjUkZD
NDc0NSI+W1JGQzQ3NDVdPC9hPiAmbHQ7aWRlbnRpdHkmZ3Q7IGVsZW1lbnQuIEluIGFkZGl0aW9u
IHRvIHRoZSBzdWItZWxlbWVudHMgaW5jbHVkaW5nICZsdDtvbmUmZ3Q7LCAmbHQ7ZXhjZXB0Jmd0
OywgYW5kICZsdDttYW55Jmd0OyBpbiB0aGUgPGEgaHJlZj0iI1JGQzQ3NDUiPltSRkM0NzQ1XTwv
YT4gJmx0O2lkZW50aXR5Jmd0OyBlbGVtZW50LCB0aGUgZXh0ZW5kZWQgZm9ybSBhZGRzIHR3byBu
ZXcgc3ViLWVsZW1lbnRzLCBuYW1lbHksICZsdDttYW55LXRlbCZndDsgYW5kICZsdDtleGNlcHQt
dGVsJmd0Oywgd2hpY2ggd2lsbCBiZSBleHBsYWluZWQgbGF0ZXIgaW4gdGhpcyBzZWN0aW9uLjwv
cD4KPHAgaWQ9InJmYy5zZWN0aW9uLjcuMy4xLnAuMyI+VGhlIDxhIGhyZWY9IiNSRkM0NzQ1Ij5b
UkZDNDc0NV08L2E+ICZsdDtvbmUmZ3Q7IGFuZCAmbHQ7ZXhjZXB0Jmd0OyBlbGVtZW50cyBtYXkg
Y29udGFpbiBhbiAiaWQiIGF0dHJpYnV0ZSwgd2hpY2ggaXMgdGhlIFVSSSBvZiBhIHNpbmdsZSBl
bnRpdHkgdG8gYmUgaW5jbHVkZWQgb3IgZXhjbHVkZWQgaW4gdGhlIGNvbmRpdGlvbi4gV2hlbiB1
c2VkIGluIHRoZSAmbHQ7ZnJvbSZndDssICZsdDt0byZndDssICZsdDtyZXF1ZXN0LXVyaSZndDsg
YW5kICZsdDtwLWFzc2VydGVkLWlkZW50aXR5Jmd0OyBlbGVtZW50cywgdGhpcyAiaWQiIHZhbHVl
IGlzIHRoZSBVUkkgY29udGFpbmVkIGluIHRoZSBjb3JyZXNwb25kaW5nIFNJUCBoZWFkZXIgZmll
bGQsIGkuZS4sIEZyb20sIFRvLCBSZXF1ZXN0LVVSSSwgYW5kIFAtQXNzZXJ0ZWQtSWRlbnRpdHku
IDwvcD4KPHAgaWQ9InJmYy5zZWN0aW9uLjcuMy4xLnAuNCI+V2hlbiB0aGUgJmx0O2NhbGwtaWRl
bnRpdHkmZ3Q7IGVsZW1lbnQgY29udGFpbnMgbXVsdGlwbGUgJmx0O3NpcCZndDsgc3ViLWVsZW1l
bnRzLCB0aGUgcmVzdWx0IGlzIGNvbWJpbmVkIHVzaW5nIGxvZ2ljYWwgT1IuIFdoZW4gdGhlICZs
dDtmcm9tJmd0OywgJmx0O3RvJmd0OywgJmx0O3JlcXVlc3QtdXJpJmd0OyBhbmQgJmx0O3AtYXNz
ZXJ0ZWQtaWRlbnRpdHkmZ3Q7IGVsZW1lbnRzIGNvbnRhaW4gbXVsdGlwbGUgJmx0O29uZSZndDsg
b3IgJmx0O21hbnkmZ3Q7IG9yICZsdDttYW55LXRlbCZndDsgc3ViLWVsZW1lbnRzLCB0aGUgcmVz
dWx0IGlzIGFsc28gY29tYmluZWQgdXNpbmcgbG9naWNhbCBPUi4gV2hlbiB0aGUgJmx0O21hbnkm
Z3Q7IHN1Yi1lbGVtZW50IGZ1cnRoZXIgY29udGFpbnMgb25lIG9yIG1vcmUgJmx0O2V4Y2VwdCZn
dDsgc3ViLWVsZW1lbnRzLCBvciB3aGVuIHRoZSAmbHQ7bWFueS10ZWwmZ3Q7IHN1Yi1lbGVtZW50
IGZ1cnRoZXIgY29udGFpbnMgb25lIG9yIG1vcmUgJmx0O2V4Y2VwdC10ZWwmZ3Q7IHN1Yi1lbGVt
ZW50cywgdGhlIHJlc3VsdCBvZiBlYWNoICZsdDtleGNlcHQmZ3Q7IG9yICZsdDtleGNlcHQtdGVs
Jmd0OyBzdWItZWxlbWVudCBpcyBjb21iaW5lZCB1c2luZyBhIGxvZ2ljYWwgT1IsIHNpbWlsYXIg
dG8gdGhhdCBvZiB0aGUgPGEgaHJlZj0iI1JGQzQ3NDUiPltSRkM0NzQ1XTwvYT4gJmx0O2lkZW50
aXR5Jmd0OyBlbGVtZW50LiBIb3dldmVyLCB3aGVuIHRoZSAmbHQ7c2lwJmd0OyBlbGVtZW50IGNv
bnRhaW5zIG11bHRpcGxlIG9mIHRoZSAmbHQ7ZnJvbSZndDssICZsdDt0byZndDssICZsdDtyZXF1
ZXN0LXVyaSZndDsgYW5kICZsdDtwLWFzc2VydGVkLWlkZW50aXR5Jmd0OyBzdWItZWxlbWVudHMs
IHRoZSByZXN1bHQgaXMgY29tYmluZWQgdXNpbmcgbG9naWNhbCBBTkQuIFRoaXMgYWxsb3dzIHRo
ZSBjYWxsIGlkZW50aXR5IHRvIGJlIHNwZWNpZmllZCBieSBtdWx0aXBsZSBmaWVsZHMgb2YgYSBT
SVAgcmVxdWVzdCBzaW11bHRhbmVvdXNseSwgZS5nLiwgYm90aCB0aGUgRnJvbSBhbmQgdGhlIFRv
IGhlYWRlciBmaWVsZHMuIDwvcD4KPHAgaWQ9InJmYy5zZWN0aW9uLjcuMy4xLnAuNSI+VGhlIGZv
bGxvd2luZyBzaG93cyBhbiBleGFtcGxlIG9mIHRoZSAmbHQ7Y2FsbC1pZGVudGl0eSZndDsgZWxl
bWVudCwgd2hpY2ggbWF0Y2hlcyBjYWxsIHJlcXVlc3RzIHdob3NlIFRvIGhlYWRlciBmaWVsZCBj
b250YWlucyB0aGUgU0lQIFVSSSAic2lwOmFsaWNlQGhvdGxpbmUuZXhhbXBsZS5jb20iLCBvciB0
aGUgJ3RlbCcgVVJJICJ0ZWw6KzEtMjEyLTU1NS0xMjM0Ii48L3A+CjxwcmU+CgogICAgICAgICAg
ICAmbHQ7Y2FsbC1pZGVudGl0eSZndDsKICAgICAgICAgICAgICAgICZsdDtzaXAmZ3Q7CiAgICAg
ICAgICAgICAgICAgICAgJmx0O3RvJmd0OwogICAgICAgICAgICAgICAgICAgICAgICAmbHQ7b25l
IGlkPSJzaXA6YWxpY2VAaG90bGluZS5leGFtcGxlLmNvbSIvJmd0OwogICAgICAgICAgICAgICAg
ICAgICAgICAmbHQ7b25lIGlkPSJ0ZWw6KzEtMjEyLTU1NS0xMjM0Ii8mZ3Q7CiAgICAgICAgICAg
ICAgICAgICAgJmx0Oy90byZndDsKICAgICAgICAgICAgICAgICZsdDsvc2lwJmd0OwogICAgICAg
ICAgICAmbHQ7L2NhbGwtaWRlbnRpdHkmZ3Q7CgogICAgPC9wcmU+CjxwIGNsYXNzPSJmaWd1cmUi
PjwvcD4KPHAgaWQ9InJmYy5zZWN0aW9uLjcuMy4xLnAuNiI+QmVmb3JlIGV2YWx1YXRpbmcgY2Fs
bC1pZGVudGl0eSBjb25kaXRpb25zLCB0aGUgc3Vic2NyaWJlciBzaGFsbCBjb252ZXJ0IFVSSXMg
cmVjZWl2ZWQgaW4gU0lQIGhlYWRlciBmaWVsZHMgaW4gY2Fub25pY2FsIGZvcm0gYXMgcGVyIDxh
IGhyZWY9IiNSRkMzMjYxIj5bUkZDMzI2MV08L2E+LCBleGNlcHQgdGhhdCB0aGUgcGhvbmUtY29u
dGV4dCBwYXJhbWV0ZXIgc2hhbGwgbm90IGJlIHJlbW92ZWQsIGlmIHByZXNlbnQuIDwvcD4KPHAg
aWQ9InJmYy5zZWN0aW9uLjcuMy4xLnAuNyI+VGhlIDxhIGhyZWY9IiNSRkM0NzQ1Ij5bUkZDNDc0
NV08L2E+ICZsdDttYW55Jmd0OyBhbmQgJmx0O2V4Y2VwdCZndDsgZWxlbWVudHMgbWF5IHRha2Ug
YSAiZG9tYWluIiBhdHRyaWJ1dGUuIFRoZSAiZG9tYWluIiBhdHRyaWJ1dGUgc3BlY2lmaWVzIGEg
ZG9tYWluIG5hbWUgdG8gYmUgbWF0Y2hlZCBieSB0aGUgZG9tYWluIHBhcnQgb2YgdGhlIGNhbmRp
ZGF0ZSBpZGVudGl0eS4gVGh1cywgaXQgYWxsb3dzIG1hdGNoaW5nIGEgbGFyZ2UgYW5kIHBvc3Np
Ymx5IHVua25vd24gbnVtYmVyIG9mIGVudGl0aWVzIHdpdGhpbiBhIGRvbWFpbi4gVGhlICJkb21h
aW4iIGF0dHJpYnV0ZSB3b3JrcyB3ZWxsIGZvciBTSVAgVVJJcy4gPC9wPgo8cCBpZD0icmZjLnNl
Y3Rpb24uNy4zLjEucC44Ij5BIFVSSSBpZGVudGlmeWluZyBhIFNJUCB1c2VyLCBob3dldmVyLCBj
YW4gYWxzbyBiZSBhICd0ZWwnIFVSSS4gV2UgdGhlcmVmb3JlIG5lZWQgYSBzaW1pbGFyIHdheSB0
byBtYXRjaCBhIGdyb3VwIG9mICd0ZWwnIFVSSXMuIEFjY29yZGluZyB0byA8YSBocmVmPSIjUkZD
Mzk2NiI+W1JGQzM5NjZdPC9hPiwgdGhlcmUgYXJlIHR3byBmb3JtcyBvZiAndGVsJyBVUklzIGZv
ciBnbG9iYWwgbnVtYmVycyBhbmQgbG9jYWwgbnVtYmVycywgcmVzcGVjdGl2ZWx5LiBBbGwgcGhv
bmUgbnVtYmVycyBtdXN0IGJlIGV4cHJlc3NlZCBpbiBnbG9iYWwgZm9ybSB3aGVuIHBvc3NpYmxl
LiBUaGUgZ2xvYmFsIG51bWJlciAndGVsJyBVUklzIHN0YXJ0IHdpdGggYSAiKyIuIFRoZSByZXN0
IG9mIHRoZSBudW1iZXJzIGFyZSBleHByZXNzZWQgYXMgbG9jYWwgbnVtYmVycywgd2hpY2ggbXVz
dCBiZSBxdWFsaWZpZWQgYnkgYSAicGhvbmUtY29udGV4dCIgcGFyYW1ldGVyLiBUaGUgInBob25l
LWNvbnRleHQiIHBhcmFtZXRlciBtYXkgYmUgbGFiZWxsZWQgYXMgYSBnbG9iYWwgbnVtYmVyIG9y
IGFueSBudW1iZXIgb2YgaXRzIGxlYWRpbmcgZGlnaXRzLCBvciBhIGRvbWFpbiBuYW1lLiBCb3Ro
IGZvcm1zIG9mIHRoZSAndGVsJyBVUkkgbWFrZSB0aGUgcmVzdWx0aW5nIFVSSSBnbG9iYWxseSB1
bmlxdWUuIDwvcD4KPHAgaWQ9InJmYy5zZWN0aW9uLjcuMy4xLnAuOSI+J1RlbCcgVVJJcyBvZiBn
bG9iYWwgbnVtYmVycyBjYW4gYmUgZ3JvdXBlZCBieSBwcmVmaXhlcyBjb25zaXN0aW5nIG9mIGFu
eSBudW1iZXIgb2YgY29tbW9uIGxlYWRpbmcgZGlnaXRzLiBGb3IgZXhhbXBsZSwgYSBwcmVmaXgg
Zm9ybWVkIGJ5IGEgY291bnRyeSBjb2RlIG9yIGJvdGggdGhlIGNvdW50cnkgYW5kIGFyZWEgY29k
ZSBpZGVudGlmaWVzIHRlbGVwaG9uZSBudW1iZXJzIHdpdGhpbiBhIGNvdW50cnkgb3IgYW4gYXJl
YS4gU2luY2UgdGhlIGxlbmd0aCBvZiB0aGUgY291bnRyeSBhbmQgYXJlYSBjb2RlIGZvciBkaWZm
ZXJlbnQgcmVnaW9ucyBhcmUgZGlmZmVyZW50LCB0aGUgbGVuZ3RoIG9mIHRoZSBudW1iZXIgcHJl
Zml4IGFsc28gdmFyaWVzLiBUaGlzIGFsbG93cyBmdXJ0aGVyIGZsZXhpYmlsaXR5IHN1Y2ggYXMg
Z3JvdXBpbmcgdGhlIG51bWJlcnMgaW50byBzdWItYXJlYXMgd2l0aGluIHRoZSBzYW1lIGFyZWEg
Y29kZS4gJ1RlbCcgVVJJcyBvZiBsb2NhbCBudW1iZXJzIGNhbiBiZSBncm91cGVkIGJ5IHRoZSB2
YWx1ZSBvZiB0aGUgInBob25lLWNvbnRleHQiIHBhcmFtZXRlci4gPC9wPgo8cCBpZD0icmZjLnNl
Y3Rpb24uNy4zLjEucC4xMCI+VGhlICZsdDttYW55Jmd0OyBhbmQgJmx0O2V4Y2VwdCZndDsgc3Vi
LWVsZW1lbnRzIGluIHRoZSA8YSBocmVmPSIjUkZDNDc0NSI+W1JGQzQ3NDVdPC9hPiAmbHQ7aWRl
bnRpdHkmZ3Q7IGVsZW1lbnQgZG8gbm90IGFsbG93IGFkZGl0aW9uYWwgYXR0cmlidXRlcyB0byBi
ZSBhZGRlZCBkaXJlY3RseS4gUmVkZWZpbmluZyBiZWhhdmlvciBvZiB0aGVpciBleGlzdGluZyAm
bHQ7ZG9tYWluJmd0OyBhdHRyaWJ1dGUgY3JlYXRlcyBiYWNrd2FyZC1jb21wYXRpYmlsaXR5IGlz
c3Vlcy4gVGhlcmVmb3JlLCB0aGlzIHNwZWNpZmljYXRpb24gZGVmaW5lcyB0aGUgJmx0O21hbnkt
dGVsJmd0OyBhbmQgJmx0O2V4Y2VwdC10ZWwmZ3Q7IHN1Yi1lbGVtZW50cyB0aGF0IGV4dGVuZCB0
aGUgPGEgaHJlZj0iI1JGQzQ3NDUiPltSRkM0NzQ1XTwvYT4gJmx0O2lkZW50aXR5Jmd0OyBlbGVt
ZW50LiBCb3RoIG9mIHRoZW0gaGF2ZSBhICJwcmVmaXgiIGF0dHJpYnV0ZSBmb3IgZ3JvdXBpbmcg
J3RlbCcgVVJJcywgc2ltaWxhciB0byB0aGUgImRvbWFpbiIgYXR0cmlidXRlIGZvciBncm91cGlu
ZyBTSVAgVVJJcyBpbiBleGlzdGluZyAmbHQ7bWFueSZndDsgYW5kICZsdDtleGNlcHQmZ3Q7IHN1
Yi1lbGVtZW50cy4gRm9yIGdsb2JhbCBudW1iZXJzLCB0aGUgInByZWZpeCIgYXR0cmlidXRlIHZh
bHVlIGhvbGRzIGFueSBudW1iZXIgb2YgY29tbW9uIGxlYWRpbmcgZGlnaXRzLCBmb3IgZXhhbXBs
ZSwgIisxLTIxMiIgZm9yIFUuUy4gcGhvbmUgbnVtYmVycyB3aXRoaW4gYXJlYSBjb2RlICIyMTIi
IG9yICIrMS0yMTItODU0IiBmb3IgdGhlIG9yZ2FuaXphdGlvbiB3aXRoIFUuUy4gYXJlYSBjb2Rl
ICIyMTIiIGFuZCBsb2NhbCBwcmVmaXggIjg1NCIuIEZvciBsb2NhbCBudW1iZXJzLCB0aGUgInBy
ZWZpeCIgYXR0cmlidXRlIHZhbHVlIGNvbnRhaW5zIHRoZSAicGhvbmUtY29udGV4dCIgcGFyYW1l
dGVyIHZhbHVlLiBJdCBzaG91bGQgYmUgbm90ZWQgdGhhdCB2aXN1YWwgc2VwYXJhdG9ycyAoc3Vj
aCBhcyB0aGUgIi0iIHNpZ24pIGluICd0ZWwnIFVSSXMgYXJlIG5vdCB1c2VkIGZvciBVUkkgY29t
cGFyaXNvbiBhcyBwZXIgPGEgaHJlZj0iI1JGQzM5NjYiPltSRkMzOTY2XTwvYT4uIDwvcD4KPHAg
aWQ9InJmYy5zZWN0aW9uLjcuMy4xLnAuMTEiPlRoZSBmb2xsb3dpbmcgZXhhbXBsZSBzaG93cyB0
aGUgdXNlIG9mIHRoZSAicHJlZml4IiBhdHRyaWJ1dGUgYWxvbmcgd2l0aCB0aGUgImRvbWFpbiIg
YXR0cmlidXRlLiBJdCBtYXRjaGVzIHRob3NlIHJlcXVlc3RzIGNhbGxpbmcgdG8gdGhlIG51bWJl
ciAiKzEtMjAyLTk5OS0xMjM0IiBidXQgYXJlIG5vdCBjYWxsaW5nIGZyb20gYSAiKzEtMjEyIiBw
cmVmaXggb3IgYSBTSVAgRnJvbSBVUkkgZG9tYWluIG9mICJtYW5oYXR0YW4uZXhhbXBsZS5jb20i
LiA8L3A+CjxwcmU+CiAgICAgICAgICAgICZsdDtjYWxsLWlkZW50aXR5Jmd0OwogICAgICAgICAg
ICAgICAgJmx0O3NpcCZndDsKICAgICAgICAgICAgICAgICAgICAmbHQ7ZnJvbSZndDsKICAgICAg
ICAgICAgICAgICAgICAgICAgJmx0O21hbnkmZ3Q7IAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgJmx0O2V4Y2VwdCBkb21haW49Im1hbmhhdHRhbi5leGFtcGxlLmNvbSIvJmd0OwogICAgICAg
ICAgICAgICAgICAgICAgICAmbHQ7L21hbnkmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICZs
dDttYW55LXRlbCZndDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsdDtleGNlcHQtdGVs
IHByZWZpeD0iKzEtMjEyIi8mZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICZsdDsvbWFueS10
ZWwmZ3Q7CiAgICAgICAgICAgICAgICAgICAgJmx0Oy9mcm9tJmd0OwogICAgICAgICAgICAgICAg
ICAgICZsdDt0byZndDsKICAgICAgICAgICAgICAgICAgICAgICAgJmx0O29uZSBpZD0idGVsOisx
LTIwMi05OTktMTIzNCIvJmd0OwogICAgICAgICAgICAgICAgICAgICZsdDsvdG8mZ3Q7CiAgICAg
ICAgICAgICAgICAmbHQ7L3NpcCZndDsKICAgICAgICAgICAgJmx0Oy9jYWxsLWlkZW50aXR5Jmd0
OwogICAgPC9wcmU+CjxwIGNsYXNzPSJmaWd1cmUiPjwvcD4KPGgxIGlkPSJyZmMuc2VjdGlvbi43
LjMuMiI+PGEgaHJlZj0iI3JmYy5zZWN0aW9uLjcuMy4yIj43LjMuMi48L2E+IDxhIGhyZWY9IiNz
ZWM6bWV0aG9kIiBpZD0ic2VjOm1ldGhvZCI+TWV0aG9kPC9hPjwvaDE+CjxwIGlkPSJyZmMuc2Vj
dGlvbi43LjMuMi5wLjEiPlRoZSBsb2FkIGNyZWF0ZWQgb24gYSBTSVAgc2VydmVyIGRlcGVuZHMg
b24gdGhlIHR5cGUgb2YgaW5pdGlhbCBTSVAgcmVxdWVzdHMgZm9yIGRpYWxvZ3Mgb3Igc3RhbmRh
bG9uZSB0cmFuc2FjdGlvbnMuIFRoZSAmbHQ7bWV0aG9kJmd0OyBlbGVtZW50IHNwZWNpZmllcyB0
aGUgU0lQIG1ldGhvZCB0byB3aGljaCB0aGUgbG9hZCBmaWx0ZXJpbmcgYWN0aW9uIGFwcGxpZXMu
IFdoZW4gdGhpcyBlbGVtZW50IGlzIG5vdCBpbmNsdWRlZCwgdGhlIGxvYWQgZmlsdGVyaW5nIGFj
dGlvbnMgYXJlIGFwcGxpY2FibGUgdG8gYWxsIGFwcGxpY2FibGUgaW5pdGlhbCByZXF1ZXN0cy4g
VGhlc2UgcmVxdWVzdHMgaW5jbHVkZSBJTlZJVEUsIE1FU1NBR0UsIFJFR0lTVEVSLCBTVUJTQ1JJ
QkUsIE9QVElPTlMsIGFuZCBQVUJMSVNILiBOb24taW5pdGlhbCByZXF1ZXN0cywgc3VjaCBhcyBB
Q0ssIEJZRSBhbmQgQ0FOQ0VMIE1VU1QgTk9UIGJlIHN1YmplY3RlZCB0byBsb2FkIGZpbHRlcmlu
Zy4gSW4gYWRkaXRpb24sIFNVQlNDUklCRSByZXF1ZXN0cyBhcmUgbm90IGZpbHRlcmVkIGlmIHRo
ZSBldmVudC10eXBlIGhlYWRlciBmaWVsZCBpbmRpY2F0ZXMgdGhlIGV2ZW50IHBhY2thZ2UgZGVm
aW5lZCBpbiB0aGlzIHNwZWNpZmljYXRpb24uIDwvcD4KPHAgaWQ9InJmYy5zZWN0aW9uLjcuMy4y
LnAuMiI+VGhlIGZvbGxvd2luZyBleGFtcGxlIHNob3dzIHRoZSB1c2Ugb2YgdGhlICZsdDttZXRo
b2QmZ3Q7IGVsZW1lbnQgaW4gdGhlIGNhc2UgdGhlIGZpbHRlcmluZyBhY3Rpb25zIHNob3VsZCBi
ZSBhcHBsaWVkIHRvIElOVklURSByZXF1ZXN0cy4gPC9wPgo8cHJlPgogIAkgICAgJmx0O21ldGhv
ZCZndDtJTlZJVEUmbHQ7L21ldGhvZCZndDsKICAgIDwvcHJlPgo8cCBjbGFzcz0iZmlndXJlIj48
L3A+CjxoMSBpZD0icmZjLnNlY3Rpb24uNy4zLjMiPjxhIGhyZWY9IiNyZmMuc2VjdGlvbi43LjMu
MyI+Ny4zLjMuPC9hPiA8YSBocmVmPSIjc2VjOnRhcmdldHNpcGVudGl0eSIgaWQ9InNlYzp0YXJn
ZXRzaXBlbnRpdHkiPlRhcmdldCBTSVAgRW50aXR5PC9hPjwvaDE+CjxwIGlkPSJyZmMuc2VjdGlv
bi43LjMuMy5wLjEiPkEgU0lQIHNlcnZlciB0aGF0IHBlcmZvcm1zIGxvYWQgZmlsdGVyaW5nIG1h
eSBoYXZlIG11bHRpcGxlIHBhdGhzIHRvIHJvdXRlIGNhbGwgcmVxdWVzdHMgbWF0Y2hpbmcgdGhl
IHNhbWUgc2V0IG9mIGNhbGwgaWRlbnRpdHkgZWxlbWVudHMuIEluIHRob3NlIHNpdHVhdGlvbnMs
IHRoZSBTSVAgbG9hZCBmaWx0ZXJpbmcgc2VydmVyIG1heSBkZXNpcmUgdG8gdGFrZSBhZHZhbnRh
Z2Ugb2YgYWx0ZXJuYXRpdmUgcGF0aHMgYW5kIG9ubHkgYXBwbHkgbG9hZCBmaWx0ZXJpbmcgYWN0
aW9ucyB0byBtYXRjaGluZyByZXF1ZXN0cyBmb3IgdGhlIG5leHQgaG9wIFNJUCBlbnRpdHkgdGhh
dCBvcmlnaW5hdGVkIHRoZSBjb3JyZXNwb25kaW5nIGxvYWQgZmlsdGVyaW5nIHBvbGljeS4gVG8g
YWNoaWV2ZSB0aGF0LCB0aGUgU0lQIGxvYWQgZmlsdGVyaW5nIHNlcnZlciBuZWVkcyB0byBhc3Nv
Y2lhdGUgZXZlcnkgbG9hZCBmaWx0ZXJpbmcgcG9saWN5IHdpdGggaXRzIG9yaWdpbmF0aW5nIFNJ
UCBlbnRpdHkuIFRoZSAmbHQ7dGFyZ2V0LXNpcC1lbnRpdHkmZ3Q7IGVsZW1lbnQgaXMgZGVmaW5l
ZCBmb3IgdGhhdCBwdXJwb3NlIGFuZCBpdCBjb250YWlucyB0aGUgVVJJIG9mIHRoZSBlbnRpdHkg
dGhhdCBpbml0aWF0ZWQgdGhlIGxvYWQgZmlsdGVyaW5nIHBvbGljeSwgd2hpY2ggaXMgZ2VuZXJh
bGx5IHRoZSBjb3JyZXNwb25kaW5nIG5vdGlmaWVyLiBBIG5vdGlmaWVyIE1BWSBpbmNsdWRlIHRo
aXMgZWxlbWVudCBhcyBwYXJ0IG9mIHRoZSBjb25kaXRpb24gb2YgaXRzIGZpbHRlcmluZyBwb2xp
Y3kgYmVpbmcgc2VudCB0byB0aGUgc3Vic2NyaWJlciwgYXMgYmVsb3cuIDwvcD4KPHByZT4KJmx0
O3RhcmdldC1zaXAtZW50aXR5Jmd0O3NpcDpiaWxveGkuZXhhbXBsZS5jb20mbHQ7L3RhcmdldC1z
aXAtZW50aXR5Jmd0OwogICAgPC9wcmU+CjxwIGNsYXNzPSJmaWd1cmUiPjwvcD4KPHAgaWQ9InJm
Yy5zZWN0aW9uLjcuMy4zLnAuMiI+V2hlbiBhIFNJUCBsb2FkIGZpbHRlcmluZyBzZXJ2ZXIgcmVj
ZWl2ZXMgYSBwb2xpY3kgd2l0aCBhICZsdDt0YXJnZXQtc2lwLWVudGl0eSZndDsgZWxlbWVudCwg
aXQgU0hPVUxEIHJlY29yZCBpdCBhbmQgdGFrZSBpdCBpbnRvIGNvbnNpZGVyYXRpb24gd2hlbiBt
YWtpbmcgbG9hZCBmaWx0ZXJpbmcgZGVjaXNpb25zLiBJZiB0aGUgbG9hZCBmaWx0ZXJpbmcgc2Vy
dmVyIHJlY2VpdmVzIGEgbG9hZCBmaWx0ZXJpbmcgcG9saWN5IHRoYXQgZG9lcyBub3QgY29udGFp
biBhICZsdDt0YXJnZXQtc2lwLWVudGl0eSZndDsgZWxlbWVudCwgaXQgTUFZIHN0aWxsIHJlY29y
ZCB0aGUgVVJJIG9mIHRoZSBsb2FkIGZpbHRlcmluZyBwb2xpY3kncyBvcmlnaW5hdG9yIGFzIHRo
ZSAmbHQ7dGFyZ2V0LXNpcC1lbnRpdHkmZ3Q7IGluZm9ybWF0aW9uIGFuZCBjb25zaWRlciBpdCB3
aGVuIG1ha2luZyBsb2FkIGZpbHRlcmluZyBkZWNpc2lvbnMuIDwvcD4KPHAvPgoKPHVsIGNsYXNz
PSJlbXB0eSI+CiAgPGxpPlRoZSBmb2xsb3dpbmcgYXJlIHR3byBleGFtcGxlcyBvZiB1c2luZyB0
aGUgJmx0O3RhcmdldC1zaXAtZW50aXR5Jmd0OyBlbGVtZW50LiA8L2xpPgogIDxsaT5Vc2UgY2Fz
ZSBJOiB0aGUgbmV0d29yayBoYXMgdXNlciBBIGNvbm5lY3RlZCB0byBTSVAgUHJveHkgMSAoU1Ax
KSwgdXNlciBCIGNvbm5lY3RlZCB0byBTSVAgUHJveHkgMyAoU1AzKSwgU1AxIGFuZCBTUDMgY29u
bmVjdGVkIHZpYSBTSVAgUHJveHkgMiAoU1AyKSwgYW5kIFNQMiBjb25uZWN0ZWQgdG8gYW4gQXBw
bGljYXRpb24gU2VydmVyIChBUykuIFVuZGVyIG5vcm1hbCBsb2FkIGNvbmRpdGlvbnMsIGEgY2Fs
bCBmcm9tIEEgdG8gQiBpcyByb3V0ZWQgYWxvbmcgdGhlIGZvbGxvd2luZyBwYXRoOiBBLVNQMS1T
UDItQVMtU1AzLUIuIFRoZSBBUyBwcm92aWRlcyBhIG5vbi1lc3NlbnRpYWwgc2VydmljZSBhbmQg
Y2FuIGJlIGJ5cGFzc2VkIGluIGNhc2Ugb2Ygb3ZlcmxvYWQuIE5vdyBsZXQncyBhc3N1bWUgdGhh
dCBBUyBpcyBvdmVybG9hZGVkIGFuZCBzZW5kcyB0byBTUDIgYSBsb2FkIGZpbHRlcmluZyBwb2xp
Y3kgcmVxdWVzdGluZyB0aGF0IDUwJSBvZiBhbGwgSU5WSVRFIHJlcXVlc3RzIGJlIGRyb3BwZWQu
IFNQMiBjYW4gbWFpbnRhaW4gQVMgYXMgdGhlICZsdDt0YXJnZXQtc2lwLWVudGl0eSZndDsgZm9y
IHRoYXQgcG9saWN5IHNvIHRoYXQgaXQga25vd3MgdGhlIDUwJSBkcm9wIGFjdGlvbiBpcyBvbmx5
IGFwcGxpY2FibGUgdG8gY2FsbCByZXF1ZXN0cyB0aGF0IG11c3QgZ28gdGhyb3VnaCBBUywgd2l0
aG91dCBhZmZlY3RpbmcgdGhvc2UgY2FsbHMgZGlyZWN0bHkgcm91dGVkIHRocm91Z2ggU1AzIHRv
IEIuIDwvbGk+CiAgPGxpPlVzZSBjYXNlIElJOiBBbiA4MDAgdHJhbnNsYXRpb24gc2VydmljZSBp
cyBpbnN0YWxsZWQgb24gdHdvIEFwcGxpY2F0aW9uIFNlcnZlcnMsIEFTMSBhbmQgQVMyLiBVc2Vy
IEEgaXMgY29ubmVjdGVkIHRvIFNQMSBhbmQgY2FsbHMgODAwLTEyMzQtNDUyOSwgd2hpY2ggaXMg
dHJhbnNsYXRlZCBieSBBUzEgYW5kIEFTMiBpbnRvIGEgcmVndWxhciBFLjE2NCBudW1iZXIgZGVw
ZW5kaW5nIG9uLCBlLmcuLCB0aGUgY2FsbGVyJ3MgbG9jYXRpb24uIFNQMSBmb3J3YXJkcyBJTlZJ
VEUgcmVxdWVzdHMgd2l0aCBSZXF1ZXN0LVVSSSA9ICI4MDAgbnVtYmVyIiB0byBBUzEgb3IgQVMy
IGJhc2VkIG9uIGEgbG9hZCBiYWxhbmNpbmcgc3RyYXRlZ3kuIEFzIGNhbGxzIHRvIDgwMC0xMjM0
LTQ1MjkgY3JlYXRlcyBhIHByZS1vdmVybG9hZCBjb25kaXRpb24gaW4gQVMxLCBBUzEgc2VuZHMg
dG8gU1AxIGEgbG9hZCBmaWx0ZXJpbmcgcG9saWN5IHJlcXVlc3RpbmcgdGhhdCA1MCUgb2YgY2Fs
bHMgdG93YXJkcyA4MDAtMTIzNC00NTI5IGJlIHJlamVjdGVkLiBJbiB0aGlzIGNhc2UsIFNQMSBj
YW4gbWFpbnRhaW4gQVMxIGFzIHRoZSAmbHQ7dGFyZ2V0LXNpcC1lbnRpdHkmZ3Q7IGZvciB0aGUg
cnVsZSwgYW5kIG9ubHkgYXBwbHkgdGhlIGxvYWQgZmlsdGVyaW5nIHBvbGljeSBvbiBpbmNvbWlu
ZyByZXF1ZXN0cyB0aGF0IGFyZSBpbnRlbmRlZCB0byBiZSBzZW50IHRvIEFTMS4gVGhvc2UgcmVx
dWVzdHMgdGhhdCBhcmUgc2VudCB0byBBUzIsIGFsdGhvdWdoIG1hdGNoaW5nIHRoZSAmbHQ7Y2Fs
bC1pZGVudGl0eSZndDsgb2YgdGhlIGZpbHRlciwgd2lsbCBub3QgYmUgYWZmZWN0ZWQuIDwvbGk+
CjwvdWw+Cgo8cD4gPC9wPgo8aDEgaWQ9InJmYy5zZWN0aW9uLjcuMy40Ij48YSBocmVmPSIjcmZj
LnNlY3Rpb24uNy4zLjQiPjcuMy40LjwvYT4gPGEgaHJlZj0iI3NlYzp2YWxpZGl0eSIgaWQ9InNl
Yzp2YWxpZGl0eSI+VmFsaWRpdHk8L2E+PC9oMT4KPHAgaWQ9InJmYy5zZWN0aW9uLjcuMy40LnAu
MSI+QSBmaWx0ZXJpbmcgcG9saWN5IGlzIHVzdWFsbHkgYXNzb2NpYXRlZCB3aXRoIGEgdmFsaWRp
dHkgcGVyaW9kIGNvbmRpdGlvbi4gVGhpcyBzcGVjaWZpY2F0aW9uIHJldXNlcyB0aGUgJmx0O3Zh
bGlkaXR5Jmd0OyBlbGVtZW50IG9mIDxhIGhyZWY9IiNSRkM0NzQ1Ij5bUkZDNDc0NV08L2E+LCB3
aGljaCBzcGVjaWZpZXMgYSBwZXJpb2Qgb2YgdmFsaWRpdHkgdGltZSBieSBwYWlycyBvZiAmbHQ7
ZnJvbSZndDsgYW5kICZsdDt1bnRpbCZndDsgc3ViLWVsZW1lbnRzLiBXaGVuIG11bHRpcGxlIHRp
bWUgcGVyaW9kcyBhcmUgZGVmaW5lZCwgdGhlIHZhbGlkaXR5IGNvbmRpdGlvbiBpcyBldmFsdWF0
ZWQgdG8gVFJVRSBpZiB0aGUgY3VycmVudCB0aW1lIGZhbGxzIGludG8gYW55IG9mIHRoZSBzcGVj
aWZpZWQgdGltZSBwZXJpb2RzLiBpLmUuLCBpdCByZXByZXNlbnRzIGEgbG9naWNhbCBPUiBvcGVy
YXRpb24gYWNyb3NzIGFsbCB2YWxpZGl0eSB0aW1lIHBlcmlvZHMuIDwvcD4KPHAgaWQ9InJmYy5z
ZWN0aW9uLjcuMy40LnAuMiI+VGhlIGZvbGxvd2luZyBleGFtcGxlIHNob3dzIGEgJmx0O3ZhbGlk
aXR5Jmd0OyBlbGVtZW50IHNwZWNpZnlpbmcgYSB2YWxpZCBwZXJpb2QgZnJvbSAxMjowMCB0byAx
NTowMCBVUyBFYXN0ZXJuIFN0YW5kYXJkIFRpbWUgb24gMjAwOC0wNS0zMS4gPC9wPgo8cHJlPgog
ICAgICAgICAgICAmbHQ7dmFsaWRpdHkmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7ZnJvbSZndDsy
MDA4LTA1LTMxVDEyOjAwOjAwLTA1OjAwJmx0Oy9mcm9tJmd0OwogICAgICAgICAgICAgICAgJmx0
O3VudGlsJmd0OzIwMDgtMDUtMzFUMTU6MDA6MDAtMDU6MDAmbHQ7L3VudGlsJmd0OwogICAgICAg
ICAgICAmbHQ7L3ZhbGlkaXR5Jmd0OwogICAgPC9wcmU+CjxwIGNsYXNzPSJmaWd1cmUiPjwvcD4K
PGgxIGlkPSJyZmMuc2VjdGlvbi43LjQiPjxhIGhyZWY9IiNyZmMuc2VjdGlvbi43LjQiPjcuNC48
L2E+IDxhIGhyZWY9IiNzZWM6YWN0aW9uIiBpZD0ic2VjOmFjdGlvbiI+QWN0aW9uczwvYT48L2gx
Pgo8cCBpZD0icmZjLnNlY3Rpb24uNy40LnAuMSI+VGhlIGFjdGlvbnMgYSBsb2FkIGZpbHRlcmlu
ZyBzZXJ2ZXIgdGFrZXMgb24gbG9hZHMgbWF0Y2hpbmcgdGhlIGxvYWQgZmlsdGVyaW5nIGNvbmRp
dGlvbnMgYXJlIGRlZmluZWQgYnkgdGhlICZsdDthY2NlcHQmZ3Q7IGVsZW1lbnQgaW4gdGhlIGxv
YWQgZmlsdGVyaW5nIHBvbGljeSwgd2hpY2ggaW5jbHVkZXMgYW55IG9uZSBvZiB0aGUgdGhyZWUg
c3ViLWVsZW1lbnRzICZsdDtyYXRlJmd0OywgJmx0O3BlcmNlbnQmZ3Q7LCBhbmQgJmx0O3dpbiZn
dDsuIFRoZSAmbHQ7cmF0ZSZndDsgZWxlbWVudCBkZW5vdGVzIGFuIGFic29sdXRlIHZhbHVlIG9m
IHRoZSBtYXhpbXVtIGFjY2VwdGFibGUgcmVxdWVzdCByYXRlIGluIHJlcXVlc3RzIHBlciBzZWNv
bmQ7IHRoZSAmbHQ7cGVyY2VudCZndDsgZWxlbWVudCBzcGVjaWZpZXMgdGhlIHJlbGF0aXZlIHBl
cmNlbnRhZ2Ugb2YgaW5jb21pbmcgcmVxdWVzdHMgdGhhdCBzaG91bGQgYmUgYWNjZXB0ZWQ7IHRo
ZSAmbHQ7d2luJmd0OyBlbGVtZW50IGRlc2NyaWJlcyB0aGUgYWNjZXB0YWJsZSB3aW5kb3cgc2l6
ZSBzdXBwbGllZCBieSB0aGUgcmVjZWl2ZXIsIHdoaWNoIGlzIGFwcGxpY2FibGUgaW4gd2luZG93
LWJhc2VkIGxvYWQgZmlsdGVyaW5nLiBJbiBzdGF0aWMgbG9hZCBmaWx0ZXJpbmcgcG9saWN5IGNv
bmZpZ3VyYXRpb24gc2NlbmFyaW9zLCB1c2luZyB0aGUgJmx0O3JhdGUmZ3Q7IHN1Yi1lbGVtZW50
IGlzIFJFQ09NTUVOREVEIGJlY2F1c2UgaXQgaXMgaGFyZCB0byBlbmZvcmNlIHRoZSBwZXJjZW50
YWdlIHJhdGUgb3Igd2luZG93LWJhc2VkIGxvYWQgZmlsdGVyaW5nIHdoZW4gaW5jb21pbmcgbG9h
ZCBmcm9tIHVwc3RyZWFtIG9yIHJlYWN0aW9ucyBmcm9tIGRvd25zdHJlYW0gYXJlIHVuY2VydGFp
bi4gKFNlZSA8YSBocmVmPSIjSS1ELmlldGYtc29jLW92ZXJsb2FkLWNvbnRyb2wiPltJLUQuaWV0
Zi1zb2Mtb3ZlcmxvYWQtY29udHJvbF08L2E+IDxhIGhyZWY9IiNSRkM2MzU3Ij5bUkZDNjM1N108
L2E+IGZvciBtb3JlIGRldGFpbHMgb24gcmF0ZS1iYXNlZCwgbG9zcy1iYXNlZCBhbmQgd2luZG93
LWJhc2VkIGxvYWQgY29udHJvbC4pPC9wPgo8cCBpZD0icmZjLnNlY3Rpb24uNy40LnAuMiI+SW4g
YWRkaXRpb24sIHRoZSAmbHQ7YWNjZXB0Jmd0OyBlbGVtZW50IHRha2VzIGFuIG9wdGlvbmFsICJh
bHQtYWN0aW9uIiBhdHRyaWJ1dGUgd2hpY2ggY2FuIGJlIHVzZWQgdG8gZXhwbGljaXRseSBzcGVj
aWZ5IHRoZSBkZXNpcmVkIGFjdGlvbiBpbiBjYXNlIGEgcmVxdWVzdCBjYW5ub3QgYmUgcHJvY2Vz
c2VkLiBUaGUgImFsdC1hY3Rpb24iIGNhbiB0YWtlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHRocmVl
IHZhbHVlczogInJlamVjdCIsICJyZWRpcmVjdCIgYW5kICJkcm9wIi48L3A+CjxwLz4KCjx1bD4K
ICA8bGk+VGhlICJyZWplY3QiIGFjdGlvbiBpcyB0aGUgZGVmYXVsdCB2YWx1ZSBmb3IgImFsdC1h
Y3Rpb24iLiBJdCBtZWFucyB0aGF0IHRoZSBsb2FkIGZpbHRlcmluZyBzZXJ2ZXIgd2lsbCByZWpl
Y3QgdGhlIHJlcXVlc3Qgd2l0aCBhIDUwMyAoU2VydmljZSBVbmF2YWlsYWJsZSkgcmVzcG9uc2Ug
bWVzc2FnZS4gPC9saT4KICA8bGk+VGhlICJyZWRpcmVjdCIgYWN0aW9uIG1lYW5zIHJlZGlyZWN0
aW5nIHRoZSByZXF1ZXN0IHRvIGFub3RoZXIgdGFyZ2V0LiBXaGVuIGl0IGlzIHVzZWQsIGFuICJh
bHQtdGFyZ2V0IiBhdHRyaWJ1dGUgTVVTVCBiZSBkZWZpbmVkLiBUaGUgImFsdC10YXJnZXQiIHNw
ZWNpZmllcyBvbmUgVVJJIG9yIGEgbGlzdCBvZiBVUklzIHdoZXJlIHRoZSByZXF1ZXN0IHNob3Vs
ZCBiZSByZWRpcmVjdGVkLiBUaGUgc2VydmVyIHNlbmRzIG91dCB0aGUgcmVkaXJlY3QgVVJJcyBp
biBhIDMwMC1jbGFzcyByZXNwb25zZSBtZXNzYWdlLiA8L2xpPgogIDxsaT5UaGUgImRyb3AiIGFj
dGlvbiBtZWFucyBzaW1wbHkgaWdub3JpbmcgdGhlIHJlcXVlc3Qgd2l0aG91dCBkb2luZyBhbnl0
aGluZywgd2hpY2ggY2FuIGluIGNlcnRhaW4gY2FzZXMgaGVscCBzYXZlIHByb2Nlc3NpbmcgY2Fw
YWJpbGl0eSBkdXJpbmcgb3ZlcmxvYWQuIEZvciBleGFtcGxlLCB3aGVuIFNJUCBpcyBydW5uaW5n
IG92ZXIgYSByZWxpYWJsZSB0cmFuc3BvcnQgc3VjaCBhcyBUQ1AsIHRoZSAiZHJvcCIgYWN0aW9u
IGRvZXMgbm90IHNlbmQgb3V0IHRoZSByZWplY3Rpb24gcmVzcG9uc2UsIG5laXRoZXIgZG9lcyBp
dCBjbG9zZSB0aGUgdHJhbnNwb3J0IGNvbm5lY3Rpb24uIFRoZSAiZHJvcCIgYWN0aW9uIGlzIGdl
bmVyYWxseSBhbHNvIGdvb2QgYXQgZGVhbGluZyB3aXRoIHRlbGVwaG9ueSBET1MgYXR0YWNrcy4g
SG93ZXZlciwgd2hlbiBydW5uaW5nIFNJUCBvdmVyIGFuIHVucmVsaWFibGUgdHJhbnNwb3J0IHN1
Y2ggYXMgVURQLCB1c2luZyB0aGUgImRyb3AiIGFjdGlvbiB3aWxsIGNyZWF0ZSBtZXNzYWdlIHJl
dHJhbnNtaXNzaW9ucyB0aGF0IGZ1cnRoZXIgd29yc2VuIHRoZSBwb3NzaWJsZSBvdmVybG9hZCBz
aXR1YXRpb24uIFRoZXJlZm9yZSwgYW55ICJkcm9wIiBhY3Rpb24gYXBwbGllZCB0byBhbiB1bnJl
bGlhYmxlIHRyYW5zcG9ydCBNVVNUIGJlIHRyZWF0ZWQgYXMgaWYgaXQgd2VyZSAicmVqZWN0Ii4g
PC9saT4KPC91bD4KCjxwPiA8L3A+CjxwIGlkPSJyZmMuc2VjdGlvbi43LjQucC40Ij5JbiB0aGUg
Zm9sbG93aW5nICZsdDthY3Rpb25zJmd0OyBlbGVtZW50IGV4YW1wbGUsIHRoZSBzZXJ2ZXIgYWNj
ZXB0cyBtYXhpbXVtIG9mIDEwMCBjYWxsIHJlcXVlc3RzIHBlciBzZWNvbmQuIFRoZSByZW1haW5p
bmcgY2FsbHMgYXJlIHJlZGlyZWN0ZWQgdG8gYW4gYW5zd2VyaW5nIG1hY2hpbmUuIDwvcD4KPHBy
ZT4KICAgICAgICAmbHQ7YWN0aW9ucyZndDsKICAgICAgICAgICAgJmx0O2FjY2VwdCBhbHQtYWN0
aW9uPSJyZWRpcmVjdCIgYWx0LXRhcmdldD0KICAgICAgICAgICAgICAgICAgICAic2lwOmFuc3dl
ci1tYWNoaW5lQGV4YW1wbGUuY29tIiZndDsKICAgICAgICAgICAgICAgICZsdDtyYXRlJmd0OzEw
MCZsdDsvcmF0ZSZndDsKICAgICAgICAgICAgJmx0Oy9hY2NlcHQmZ3Q7CiAgICAgICAgJmx0Oy9h
Y3Rpb25zJmd0OwogICAgPC9wcmU+CjxwIGNsYXNzPSJmaWd1cmUiPjwvcD4KPGgxIGlkPSJyZmMu
c2VjdGlvbi43LjUiPjxhIGhyZWY9IiNyZmMuc2VjdGlvbi43LjUiPjcuNS48L2E+IDxhIGhyZWY9
IiNzZWM6cnVsZWV4IiBpZD0ic2VjOnJ1bGVleCI+Q29tcGxldGUgRXhhbXBsZXM8L2E+PC9oMT4K
PGgxIGlkPSJyZmMuc2VjdGlvbi43LjUuMSI+PGEgaHJlZj0iI3JmYy5zZWN0aW9uLjcuNS4xIj43
LjUuMS48L2E+IDxhIGhyZWY9IiNzZWM6ZG9jdW1lbnRzIiBpZD0ic2VjOmRvY3VtZW50cyI+TG9h
ZCBDb250cm9sIERvY3VtZW50IEV4YW1wbGVzPC9hPjwvaDE+CjxwIGlkPSJyZmMuc2VjdGlvbi43
LjUuMS5wLjEiPlRoaXMgc2VjdGlvbiBwcmVzZW50cyB0d28gY29tcGxldGUgZXhhbXBsZXMgb2Yg
bG9hZCBjb250cm9sIGRvY3VtZW50cyB2YWxpZCB3aXRoIHJlc3BlY3QgdG8gdGhlIFhNTCBzY2hl
bWEgZGVmaW5lZCBpbiA8YSBocmVmPSIjc2VjOnNjaGVtYSI+U2VjdGlvbiA4PC9hPi4gPC9wPgo8
cCBpZD0icmZjLnNlY3Rpb24uNy41LjEucC4yIj5UaGUgZmlyc3QgZXhhbXBsZSBhc3N1bWVzIHRo
YXQgYSBzZXQgb2YgaG90bGluZXMgYXJlIHNldCB1cCBhdCAic2lwOmFsaWNlQGhvdGxpbmUuZXhh
bXBsZS5jb20iIGFuZCAidGVsOisxLTIxMi01NTUtMTIzNCIuIFRoZSBob3RsaW5lcyBhcmUgYWN0
aXZhdGVkIGZyb20gMTI6MDAgdG8gMTU6MDAgVVMgRWFzdGVybiBTdGFuZGFyZCBUaW1lIG9uIDIw
MDgtMDUtMzEuIFRoZSBnb2FsIGlzIHRvIGxpbWl0IHRoZSBpbmNvbWluZyBjYWxscyB0byB0aGUg
aG90bGluZXMgdG8gMTAwIHJlcXVlc3RzIHBlciBzZWNvbmQuIENhbGxzIHRoYXQgZXhjZWVkIHRo
ZSByYXRlIGxpbWl0IGFyZSBleHBsaWNpdGx5IHJlamVjdGVkLiA8L3A+CjxwcmU+CiZsdDs/eG1s
IHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8mZ3Q7CiZsdDtydWxlc2V0IHhtbG5zPSJ1
cm46aWV0ZjpwYXJhbXM6eG1sOm5zOmNvbW1vbi1wb2xpY3kiCiAgICAgICAgICAgIHhtbG5zOmxj
PSJ1cm46aWV0ZjpwYXJhbXM6eG1sOm5zOmxvYWQtY29udHJvbCIKICAgICAgICAgICAgdmVyc2lv
bj0iMCIgc3RhdGU9ImZ1bGwiJmd0OwoKICAgICZsdDtydWxlIGlkPSJmM2c0NGsxIiZndDsKICAg
ICAgICAmbHQ7Y29uZGl0aW9ucyZndDsKICAgICAgICAgICAgJmx0O2xjOmNhbGwtaWRlbnRpdHkm
Z3Q7CiAgICAgICAgICAgICAgICAmbHQ7bGM6c2lwJmd0OwogICAgICAgICAgICAgICAgICAgICZs
dDtsYzp0byZndDsKICAgICAgICAgICAgICAgICAgICAgICAgJmx0O29uZSBpZD0ic2lwOmFsaWNl
QGhvdGxpbmUuZXhhbXBsZS5jb20iLyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgJmx0O29u
ZSBpZD0idGVsOisxLTIxMi01NTUtMTIzNCIvJmd0OwogICAgICAgICAgICAgICAgICAgICZsdDsv
bGM6dG8mZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7L2xjOnNpcCZndDsKICAgICAgICAgICAgJmx0
Oy9sYzpjYWxsLWlkZW50aXR5Jmd0OwogICAgICAgICAgICAmbHQ7bWV0aG9kJmd0O0lOVklURSZs
dDsvbWV0aG9kJmd0OwogICAgICAgICAgICAmbHQ7dmFsaWRpdHkmZ3Q7CiAgICAgICAgICAgICAg
ICAmbHQ7ZnJvbSZndDsyMDA4LTA1LTMxVDEyOjAwOjAwLTA1OjAwJmx0Oy9mcm9tJmd0OwogICAg
ICAgICAgICAgICAgJmx0O3VudGlsJmd0OzIwMDgtMDUtMzFUMTU6MDA6MDAtMDU6MDAmbHQ7L3Vu
dGlsJmd0OwogICAgICAgICAgICAmbHQ7L3ZhbGlkaXR5Jmd0OwogICAgICAgICZsdDsvY29uZGl0
aW9ucyZndDsKICAgICAgICAmbHQ7YWN0aW9ucyZndDsKICAgICAgICAgICAgJmx0O2xjOmFjY2Vw
dCBhbHQtYWN0aW9uPSJyZWplY3QiJmd0OwogICAgICAgICAgICAgICAgJmx0O2xjOnJhdGUmZ3Q7
MTAwJmx0Oy9sYzpyYXRlJmd0OwogICAgICAgICAgICAmbHQ7L2xjOmFjY2VwdCZndDsKICAgICAg
ICAmbHQ7L2FjdGlvbnMmZ3Q7CgogICAgJmx0Oy9ydWxlJmd0OwombHQ7L3J1bGVzZXQmZ3Q7CiAg
ICAgICAgICAgICAgICAKICAgIDwvcHJlPgo8cCBjbGFzcz0iZmlndXJlIj48L3A+CjxwIGlkPSJy
ZmMuc2VjdGlvbi43LjUuMS5wLjMiPlRoZSBzZWNvbmQgZXhhbXBsZSBjb25zaWRlcnMgb3B0aW1p
emluZyBzZXJ2ZXIgcmVzb3VyY2UgdXNhZ2Ugb2YgYSB0aHJlZS1kYXkgcGVyaW9kIGR1cmluZyB0
aGUgYWZ0ZXJtYXRoIG9mIGEgaHVycmljYW5lLiBJbmNvbWluZyBjYWxscyB0byB0aGUgZG9tYWlu
ICJzYW5keS5leGFtcGxlLmNvbSIgb3IgdG8gY2FsbCBkZXN0aW5hdGlvbnMgd2l0aCBwcmVmaXgg
IisxLTIxMiIgd2lsbCBiZSBsaW1pdGVkIHRvIGEgcmF0ZSBvZiAxMDAgcmVxdWVzdHMgcGVyIHNl
Y29uZCwgZXhjZXB0IGZvciB0aG9zZSBjYWxscyBvcmlnaW5hdGluZyBmcm9tIGEgcGFydGljdWxh
ciByZXNjdWUgdGVhbSBkb21haW4gInJlc2N1ZS5leGFtcGxlLmNvbSIuIE91dGdvaW5nIGNhbGxz
IGZyb20gdGhlIGh1cnJpY2FuZSBkb21haW4gb3IgY2FsbHMgd2l0aGluIHRoZSBsb2NhbCBkb21h
aW4gYXJlIG5ldmVyIGxpbWl0ZWQuIEFsbCBjYWxscyB0aGF0IGFyZSB0aHJvdHRsZWQgZHVlIHRv
IHRoZSByYXRlIGxpbWl0IHdpbGwgYmUgZm9yd2FyZGVkIHRvIGFuIGFuc3dlcmluZyBtYWNoaW5l
IHdpdGggdXBkYXRlZCBodXJyaWNhbmUgcmVzY3VlIGluZm9ybWF0aW9uLiA8L3A+CjxwcmU+CiZs
dDs/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8mZ3Q7CiZsdDtydWxlc2V0IHht
bG5zPSJ1cm46aWV0ZjpwYXJhbXM6eG1sOm5zOmNvbW1vbi1wb2xpY3kiCiAgICB4bWxuczpsYz0i
dXJuOmlldGY6cGFyYW1zOnhtbDpuczpsb2FkLWNvbnRyb2wiCiAgICB2ZXJzaW9uPSIxIiBzdGF0
ZT0iZnVsbCImZ3Q7CgogICAgJmx0O3J1bGUgaWQ9ImYzZzQ0azIiJmd0OwogICAgICAgICZsdDtj
b25kaXRpb25zJmd0OwogICAgICAgICAgICAmbHQ7bGM6Y2FsbC1pZGVudGl0eSZndDsKICAgICAg
ICAgICAgICAgICZsdDtsYzpzaXAmZ3Q7CiAgICAgICAgICAgICAgICAgICAgJmx0O2xjOnRvJmd0
OwogICAgICAgICAgICAgICAgICAgICAgICAmbHQ7bWFueSBkb21haW49InNhbmR5LmV4YW1wbGUu
Y29tIi8mZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICZsdDttYW55LXRlbCBwcmVmaXg9Iisx
LTIxMiIvJmd0OwogICAgICAgICAgICAgICAgICAgICZsdDsvbGM6dG8mZ3Q7CiAgICAgICAgICAg
ICAgICAgICAgJmx0O2xjOmZyb20mZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICZsdDttYW55
Jmd0OyAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsdDtleGNlcHQgZG9tYWluPSJzYW5k
eS5leGFtcGxlLmNvbSIvJmd0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0O2V4Y2Vw
dCBkb21haW49InJlc2N1ZS5leGFtcGxlLmNvbSIvJmd0OwogICAgICAgICAgICAgICAgICAgICAg
ICAmbHQ7L21hbnkmZ3Q7CiAgICAgICAgICAgICAgICAgICAgJmx0Oy9sYzpmcm9tJmd0OwogICAg
ICAgICAgICAgICAgJmx0Oy9sYzpzaXAmZ3Q7CiAgICAgICAgICAgICZsdDsvbGM6Y2FsbC1pZGVu
dGl0eSZndDsKICAgICAgICAgICAgJmx0O21ldGhvZCZndDtJTlZJVEUmbHQ7L21ldGhvZCZndDsK
ICAgICAgICAgICAgJmx0O3ZhbGlkaXR5Jmd0OwogICAgICAgICAgICAgICAgJmx0O2Zyb20mZ3Q7
MjAxMi0xMC0yNVQwOTowMDowMCswMTowMCZsdDsvZnJvbSZndDsKICAgICAgICAgICAgICAgICZs
dDt1bnRpbCZndDsyMDEyLTEwLTI4VDA5OjAwOjAwKzAxOjAwJmx0Oy91bnRpbCZndDsKICAgICAg
ICAgICAgJmx0Oy92YWxpZGl0eSZndDsKICAgICAgICAmbHQ7L2NvbmRpdGlvbnMmZ3Q7CiAgICAg
ICAgJmx0O2FjdGlvbnMmZ3Q7CiAgICAgICAgICAgICZsdDtsYzphY2NlcHQgYWx0LWFjdGlvbj0i
cmVkaXJlY3QiIGFsdC10YXJnZXQ9CiAgICAgICAgICAgICAgICAgICAgInNpcDpzYW5keUB1cGRh
dGUuZXhhbXBsZS5jb20iJmd0OwogICAgICAgICAgICAgICAgJmx0O2xjOnJhdGUmZ3Q7MTAwJmx0
Oy9sYzpyYXRlJmd0OwogICAgICAgICAgICAmbHQ7L2xjOmFjY2VwdCZndDsKICAgICAgICAmbHQ7
L2FjdGlvbnMmZ3Q7CgogICAgJmx0Oy9ydWxlJmd0OwombHQ7L3J1bGVzZXQmZ3Q7CiAgICAgICAg
ICAgICAgICAKICAgIDwvcHJlPgo8cCBjbGFzcz0iZmlndXJlIj48L3A+CjxwIGlkPSJyZmMuc2Vj
dGlvbi43LjUuMS5wLjQiPlNvbWV0aW1lcyBpdCBtYXkgb2NjdXIgdGhhdCBtdWx0aXBsZSBydWxl
cyBpbiBhIHJ1bGVzZXQgZGVmaW5lIGFjdGlvbnMgdGhhdCBtYXRjaCB0aGUgc2FtZSBtZXRob2Rz
LCBjYWxsIGlkZW50aXR5IGFuZCB2YWxpZGl0eS4gSW4gdGhvc2UgY2FzZXMsIHRoZSAiZmlyc3Qt
bWF0Y2gtd2lucyIgcHJpbmNpcGxlIGlzIHVzZWQuIEZvciBleGFtcGxlLCBpbiB0aGUgZm9sbG93
aW5nIHJ1bGVzZXQsIHRoZSBmaXJzdCBydWxlIHJlcXVpcmVzIGFsbCBjYWxscyBmcm9tIHRoZSAi
ZXhhbXBsZS5jb20iIGRvbWFpbiB0byBiZSByZWplY3RlZC4gRXZlbiB0aG91Z2ggdGhlIHJ1bGUg
Zm9sbG93aW5nIHRoYXQgb25lIHNwZWNpZmllcyB0aGF0IGNhbGxzIGZyb20gInNpcDphbGljZUBl
eGFtcGxlLmNvbSIgYmUgcmVkaXJlY3RlZCB0byBhIHNwZWNpZmljIHRhcmdldCAic2lwOmV2ZUBl
eGFtcGxlLmNvbSIsIHRoZSBjYWxscyBmcm9tICJzaXA6YWxpY2VAZXhhbXBsZS5jb20iIHdpbGwg
c3RpbGwgYmUgcmVqZWN0ZWQgYmVjYXVzZSB0aGV5IGhhdmUgYWxyZWFkeSBiZWVuIG1hdGNoZWQg
YnkgdGhlIGVhcmxpZXIgcnVsZS4gPC9wPgo8cHJlPgombHQ7P3htbCB2ZXJzaW9uPSIxLjAiIGVu
Y29kaW5nPSJVVEYtOCI/Jmd0OwombHQ7cnVsZXNldCB4bWxucz0idXJuOmlldGY6cGFyYW1zOnht
bDpuczpjb21tb24tcG9saWN5IgogICAgeG1sbnM6bGM9InVybjppZXRmOnBhcmFtczp4bWw6bnM6
bG9hZC1jb250cm9sIgogICAgdmVyc2lvbj0iMSIgc3RhdGU9ImZ1bGwiJmd0OwoKICAgICZsdDty
dWxlIGlkPSJmM2c0NGszIiZndDsKICAgICAgICAmbHQ7Y29uZGl0aW9ucyZndDsKICAgICAgICAg
ICAgJmx0O2xjOmNhbGwtaWRlbnRpdHkmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7bGM6c2lwJmd0
OwogICAgICAgICAgICAgICAgICAgICZsdDtsYzpmcm9tJmd0OwogICAgICAgICAgICAgICAgICAg
ICAgICAmbHQ7bWFueSBkb21haW49ImV4YW1wbGUuY29tIi8mZ3Q7CiAgICAgICAgICAgICAgICAg
ICAgJmx0Oy9sYzpmcm9tJmd0OwogICAgICAgICAgICAgICAgJmx0Oy9sYzpzaXAmZ3Q7CiAgICAg
ICAgICAgICZsdDsvbGM6Y2FsbC1pZGVudGl0eSZndDsKICAgICAgICAgICAgJmx0O21ldGhvZCZn
dDtJTlZJVEUmbHQ7L21ldGhvZCZndDsKICAgICAgICAgICAgJmx0O3ZhbGlkaXR5Jmd0OwogICAg
ICAgICAgICAgICAgJmx0O2Zyb20mZ3Q7MjAxMy03LTJUMDk6MDA6MDArMDE6MDAmbHQ7L2Zyb20m
Z3Q7CiAgICAgICAgICAgICAgICAmbHQ7dW50aWwmZ3Q7MjAxMy03LTNUMDk6MDA6MDArMDE6MDAm
bHQ7L3VudGlsJmd0OwogICAgICAgICAgICAmbHQ7L3ZhbGlkaXR5Jmd0OwogICAgICAgICZsdDsv
Y29uZGl0aW9ucyZndDsKICAgICAgICAmbHQ7YWN0aW9ucyZndDsKICAgICAgICAgICAgJmx0O2xj
OmFjY2VwdCBhbHQtYWN0aW9uPSJyZWplY3QiJmd0OwogICAgICAgICAgICAgICAgJmx0O2xjOnJh
dGUmZ3Q7MCZsdDsvbGM6cmF0ZSZndDsKICAgICAgICAgICAgJmx0Oy9sYzphY2NlcHQmZ3Q7CiAg
ICAgICAgJmx0Oy9hY3Rpb25zJmd0OwogICAgJmx0Oy9ydWxlJmd0OwoKICAgICZsdDtydWxlIGlk
PSJmM2c0NGs0IiZndDsKICAgICAgICAmbHQ7Y29uZGl0aW9ucyZndDsKICAgICAgICAgICAgJmx0
O2xjOmNhbGwtaWRlbnRpdHkmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7bGM6c2lwJmd0OwogICAg
ICAgICAgICAgICAgICAgICZsdDtsYzpmcm9tJmd0OwogICAgICAgICAgICAgICAgICAgICAgICAm
bHQ7b25lIGlkPSJzaXA6YWxpY2VAZXhhbXBsZS5jb20iLyZndDsKICAgICAgICAgICAgICAgICAg
ICAmbHQ7L2xjOmZyb20mZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7L2xjOnNpcCZndDsKICAgICAg
ICAgICAgJmx0Oy9sYzpjYWxsLWlkZW50aXR5Jmd0OwogICAgICAgICAgICAmbHQ7bWV0aG9kJmd0
O0lOVklURSZsdDsvbWV0aG9kJmd0OwogICAgICAgICAgICAmbHQ7dmFsaWRpdHkmZ3Q7CiAgICAg
ICAgICAgICAgICAmbHQ7ZnJvbSZndDsyMDEzLTctMlQwOTowMDowMCswMTowMCZsdDsvZnJvbSZn
dDsKICAgICAgICAgICAgICAgICZsdDt1bnRpbCZndDsyMDEzLTctM1QwOTowMDowMCswMTowMCZs
dDsvdW50aWwmZ3Q7CiAgICAgICAgICAgICZsdDsvdmFsaWRpdHkmZ3Q7CiAgICAgICAgJmx0Oy9j
b25kaXRpb25zJmd0OwogICAgICAgICZsdDthY3Rpb25zJmd0OwogICAgICAgICAgICAmbHQ7bGM6
YWNjZXB0IGFsdC1hY3Rpb249InJlZGlyZWN0IiBhbHQtdGFyZ2V0PQogICAgICAgICAgICAgICAg
ICAgICJzaXA6ZXZlQGV4YW1wbGUuY29tIiZndDsKICAgICAgICAgICAgICAgICZsdDtsYzpyYXRl
Jmd0OzAmbHQ7L2xjOnJhdGUmZ3Q7CiAgICAgICAgICAgICZsdDsvbGM6YWNjZXB0Jmd0OwogICAg
ICAgICZsdDsvYWN0aW9ucyZndDsKICAgICZsdDsvcnVsZSZndDsKCiZsdDsvcnVsZXNldCZndDsK
CiAgICAgICAgIDwvcHJlPgo8cCBjbGFzcz0iZmlndXJlIj48L3A+CjxoMSBpZD0icmZjLnNlY3Rp
b24uNy41LjIiPjxhIGhyZWY9IiNyZmMuc2VjdGlvbi43LjUuMiI+Ny41LjIuPC9hPiA8YSBocmVm
PSIjc2VjOm1lc3NhZ2VmbG93IiBpZD0ic2VjOm1lc3NhZ2VmbG93Ij5NZXNzYWdlIEZsb3cgRXhh
bXBsZXM8L2E+PC9oMT4KPHAgaWQ9InJmYy5zZWN0aW9uLjcuNS4yLnAuMSI+VGhpcyBzZWN0aW9u
IHByZXNlbnRzIGFuIGV4YW1wbGUgbWVzc2FnZSBmbG93IG9mIHVzaW5nIHRoZSBsb2FkIGNvbnRy
b2wgZXZlbnQgcGFja2FnZSBtZWNoYW5pc20gZGVmaW5lZCBpbiB0aGlzIHNwZWNpZmljYXRpb24u
IDwvcD4KPHByZT4KCiAgIGF0bGFudGEgICAgICAgICAgICAgYmlsb3hpCiAgICAgIHwgRjEgU1VC
U0NSSUJFICAgICAgfCAgICAgICAgICAgICAgIAogICAgICB8LS0tLS0tLS0tLS0tLS0tLS0tJmd0
O3wgICAgICAgICAgICAgICAgICAgIAogICAgICB8IEYyIDIwMCBPSyAgICAgICAgIHwgICAgICAg
ICAgICAgICAgICAgIAogICAgICB8Jmx0Oy0tLS0tLS0tLS0tLS0tLS0tLXwgICAgICAgICAgICAg
ICAgICAgIAogICAgICB8IEYzIE5PVElGWSAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgIAog
ICAgICB8Jmx0Oy0tLS0tLS0tLS0tLS0tLS0tLXwgICAgICAgICAgICAgICAgICAgIAogICAgICB8
IEY0IDIwMCBPSyAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgCiAgICAgIHwtLS0tLS0tLS0t
LS0tLS0tLS0mZ3Q7fCAgICAKCiAgIEYxIFNVQlNDUklCRSBhdGxhbnRhLmV4YW1wbGUuY29tIC0m
Z3Q7IGJpbG94aS5leGFtcGxlLmNvbQoKICAgICAgU1VCU0NSSUJFIHNpcDpiaWxveGkuZXhhbXBs
ZS5jb20gU0lQLzIuMAogICAgICBWaWE6IFNJUC8yLjAvVENQIGF0bGFudGEuZXhhbXBsZS5jb207
YnJhbmNoPXo5aEc0Ykt5N2NqYnUzCiAgICAgIEZyb206IHNpcDphdGxhbnRhLmV4YW1wbGUuY29t
O3RhZz0xNjJhYjUKICAgICAgVG86IHNpcDpiaWxveGkuZXhhbXBsZS5jb20KICAgICAgQ2FsbC1J
RDogMnhUYjl2eFNpdDU1WFU3cDhAYXRsYW50YS5leGFtcGxlLmNvbQogICAgICBDU2VxOiAyMDEy
IFNVQlNDUklCRQogICAgICBDb250YWN0OiBzaXA6YXRsYW50YS5leGFtcGxlLmNvbQogICAgICBF
dmVudDogbG9hZC1jb250cm9sCiAgICAgIE1heC1Gb3J3YXJkczogNzAKICAgICAgQWNjZXB0OiBh
cHBsaWNhdGlvbi9sb2FkLWNvbnRyb2wreG1sCiAgICAgIEV4cGlyZXM6IDM2MDAKICAgICAgQ29u
dGVudC1MZW5ndGg6IDAKCiAgIEYyIDIwMCBPSyAgIGJpbG94aS5leGFtcGxlLmNvbSAtJmd0OyBh
dGxhbnRhLmV4YW1wbGUuY29tCgogICAgICBTSVAvMi4wIDIwMCBPSwogICAgICBWaWE6IFNJUC8y
LjAvVENQIGJpbG94aS5leGFtcGxlLmNvbTticmFuY2g9ejloRzRiS3k3Y2pidTMKICAgICAgICA7
cmVjZWl2ZWQ9MTkyLjAuMi4xCiAgICAgIFRvOiAmbHQ7c2lwOmJpbG94aS5leGFtcGxlLmNvbSZn
dDs7dGFnPTMzMWRjOAogICAgICBGcm9tOiAmbHQ7c2lwOmF0bGFudGEuZXhhbXBsZS5jb20mZ3Q7
O3RhZz0xNjJhYjUKICAgICAgQ2FsbC1JRDogMnhUYjl2eFNpdDU1WFU3cDhAYXRsYW50YS5leGFt
cGxlLmNvbQogICAgICBDU2VxOiAyMDEyIFNVQlNDUklCRQogICAgICBFeHBpcmVzOiAzNjAwCiAg
ICAgIENvbnRhY3Q6IHNpcDpiaWxveGkuZXhhbXBsZS5jb20KICAgICAgQ29udGVudC1MZW5ndGg6
IDAKCiAgIEYzIE5PVElGWSAgYmlsb3hpLmV4YW1wbGUuY29tIC0mZ3Q7IGF0bGFudGEuZXhhbXBs
ZS5jb20KCiAgICAgIE5PVElGWSBzaXA6YXRsYW50YS5leGFtcGxlLmNvbSBTSVAvMi4wCiAgICAg
IFZpYTogU0lQLzIuMC9UQ1AgYmlsb3hpLmV4YW1wbGUuY29tO2JyYW5jaD16OWhHNGJLeTcxZzJr
cwogICAgICBGcm9tOiAmbHQ7c2lwOmJpbG94aS5leGFtcGxlLmNvbSZndDs7dGFnPTMzMWRjOAog
ICAgICBUbzogJmx0O3NpcDphdGxhbnRhLmV4YW1wbGUuY29tJmd0Ozt0YWc9MTYyYWI1CiAgICAg
IENhbGwtSUQ6IDJ4VGI5dnhTaXQ1NVhVN3A4QGF0bGFudGEuZXhhbXBsZS5jb20KICAgICAgRXZl
bnQ6IGxvYWQtY29udHJvbAogICAgICBTdWJzY3JpcHRpb24tU3RhdGU6IGFjdGl2ZTtleHBpcmVz
PTM1OTkKICAgICAgTWF4LUZvcndhcmRzOiA3MAogICAgICBDU2VxOiAxNzc1IE5PVElGWQogICAg
ICBDb250YWN0OiBzaXA6Ymlsb3hpLmV4YW1wbGUuY29tCiAgICAgIENvbnRlbnQtVHlwZTogYXBw
bGljYXRpb24vbG9hZC1jb250cm9sK3htbAogICAgICBDb250ZW50LUxlbmd0aDogLi4uCgogICAg
ICBbTG9hZCBDb250cm9sIERvY3VtZW50XQoKICAgRjQgMjAwIE9LIGF0bGFudGEuZXhhbXBsZS5j
b20gLSZndDsgYmlsb3hpLmV4YW1wbGUuY29tIAoKICAgICAgU0lQLzIuMCAyMDAgT0sKICAgICAg
VmlhOiBTSVAvMi4wL1RDUCBhdGxhbnRhLmV4YW1wbGUuY29tO2JyYW5jaD16OWhHNGJLeTcxZzJr
cwogICAgICAgIDtyZWNlaXZlZD0xOTIuMC4yLjIKICAgICAgRnJvbTogJmx0O3NpcDpiaWxveGku
ZXhhbXBsZS5jb20mZ3Q7O3RhZz0zMzFkYzgKICAgICAgVG86ICZsdDtzaXA6YXRsYW50YS5leGFt
cGxlLmNvbSZndDs7dGFnPTE2MmFiNQogICAgICBDYWxsLUlEOiAyeFRiOXZ4U2l0NTVYVTdwOEBh
dGxhbnRhLmV4YW1wbGUuY29tCiAgICAgIENTZXE6IDE3NzUgTk9USUZZCiAgICAgIENvbnRlbnQt
TGVuZ3RoOiAwCgoKICAgICAgICAgPC9wcmU+CjxwIGNsYXNzPSJmaWd1cmUiPjwvcD4KPGgxIGlk
PSJyZmMuc2VjdGlvbi44Ij48YSBocmVmPSIjcmZjLnNlY3Rpb24uOCI+OC48L2E+IDxhIGhyZWY9
IiNzZWM6c2NoZW1hIiBpZD0ic2VjOnNjaGVtYSI+WE1MIFNjaGVtYSBEZWZpbml0aW9uIGZvciBM
b2FkIENvbnRyb2w8L2E+PC9oMT4KPHAgaWQ9InJmYy5zZWN0aW9uLjgucC4xIj5UaGlzIHNlY3Rp
b24gZGVmaW5lcyB0aGUgWE1MIHNjaGVtYSBmb3IgdGhlIGxvYWQgY29udHJvbCBkb2N1bWVudC4g
SXQgZXh0ZW5kcyB0aGUgQ29tbW9uIFBvbGljeSBzY2hlbWEgaW4gPGEgaHJlZj0iI1JGQzQ3NDUi
PltSRkM0NzQ1XTwvYT4gaW4gdHdvIHdheXMuIEZpcnN0bHksIGl0IGRlZmluZXMgdHdvIG1hbmRh
dG9yeSBhdHRyaWJ1dGVzIGZvciB0aGUgJmx0O3J1bGVzZXQmZ3Q7IGVsZW1lbnQ6IHZlcnNpb24g
YW5kIHN0YXRlLiBUaGUgdmVyc2lvbiBhdHRyaWJ1dGUgYWxsb3dzIHRoZSByZWNpcGllbnQgb2Yg
dGhlIG5vdGlmaWNhdGlvbiB0byBwcm9wZXJseSBvcmRlciB0aGVtLiBWZXJzaW9ucyBzdGFydCBh
dCAwLCBhbmQgaW5jcmVhc2UgYnkgb25lIGZvciBlYWNoIG5ldyBkb2N1bWVudCBzZW50IHRvIGEg
c3Vic2NyaWJlciB3aXRoaW4gdGhlIHNhbWUgc3Vic2NyaXB0aW9uLiBWZXJzaW9ucyBNVVNUIGJl
IHJlcHJlc2VudGFibGUgdXNpbmcgYSBub24tbmVnYXRpdmUgMzIgYml0IGludGVnZXIuIFRoZSBz
dGF0ZSBhdHRyaWJ1dGUgaW5kaWNhdGVzIHdoZXRoZXIgdGhlIGRvY3VtZW50IGNvbnRhaW5zIGEg
ZnVsbCBsb2FkIGZpbHRlcmluZyBwb2xpY3kgdXBkYXRlLCBvciB3aGV0aGVyIGl0IGNvbnRhaW5z
IG9ubHkgc3RhdGUgZGVsdGEgYXMgcGFydGlhbCB1cGRhdGUuIFNlY29uZGx5LCBpdCBkZWZpbmVz
IG5ldyBtZW1iZXJzIG9mIHRoZSAmbHQ7Y29uZGl0aW9ucyZndDsgYW5kICZsdDthY3Rpb25zJmd0
OyBlbGVtZW50cy4gPC9wPgo8cHJlPgoKJmx0Oz94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0i
VVRGLTgiPyZndDsgCiZsdDt4czpzY2hlbWEgdGFyZ2V0TmFtZXNwYWNlPSJ1cm46aWV0ZjpwYXJh
bXM6eG1sOm5zOmxvYWQtY29udHJvbCIgCiAgICB4bWxuczpsYz0idXJuOmlldGY6cGFyYW1zOnht
bDpuczpsb2FkLWNvbnRyb2wiIAogICAgeG1sbnM6Y3A9InVybjppZXRmOnBhcmFtczp4bWw6bnM6
Y29tbW9uLXBvbGljeSIgCiAgICB4bWxuczp4cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxT
Y2hlbWEiIAogICAgZWxlbWVudEZvcm1EZWZhdWx0PSJxdWFsaWZpZWQiIAogICAgYXR0cmlidXRl
ZEZvcm1EZWZhdWx0PSJ1bnF1YWxpZmllZCImZ3Q7IAoKJmx0O3hzOmltcG9ydCBuYW1lc3BhY2U9
InVybjppZXRmOnBhcmFtczp4bWw6bnM6Y29tbW9uLXBvbGljeSIvJmd0OwoKJmx0OyEtLSBSVUxF
U0VUIC0tJmd0OwoKJmx0O3hzOmVsZW1lbnQgbmFtZT0icnVsZXNldCImZ3Q7CiAgJmx0O3hzOmNv
bXBsZXhUeXBlJmd0OwogICAgJmx0O3hzOmNvbXBsZXhDb250ZW50Jmd0OwogICAgICAmbHQ7eHM6
cmVzdHJpY3Rpb24gYmFzZT0ieHM6YW55VHlwZSImZ3Q7CiAgICAgICAgJmx0O3hzOnNlcXVlbmNl
Jmd0OwogICAgICAgICAgJmx0O3hzOmVsZW1lbnQgbmFtZT0icnVsZSIgdHlwZT0iY3A6cnVsZVR5
cGUiCiAgICAgICAgICBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIi8mZ3Q7CiAg
ICAgICAgJmx0Oy94czpzZXF1ZW5jZSZndDsKICAgICAgJmx0Oy94czpyZXN0cmljdGlvbiZndDsK
ICAgICZsdDsveHM6Y29tcGxleENvbnRlbnQmZ3Q7CiAgICAmbHQ7eHM6YXR0cmlidXRlIG5hbWU9
InZlcnNpb24iIHR5cGU9InhzOmludGVnZXIiIHVzZT0icmVxdWlyZWQiLyZndDsKICAgICZsdDt4
czphdHRyaWJ1dGUgbmFtZT0ic3RhdGUiIHVzZT0icmVxdWlyZWQiJmd0OwogICAgICAmbHQ7eHM6
c2ltcGxlVHlwZSZndDsKICAgICAgICAmbHQ7eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5n
IiZndDsKICAgICAgICAgICZsdDt4czplbnVtZXJhdGlvbiB2YWx1ZT0iZnVsbCIvJmd0OwogICAg
ICAgICAgJmx0O3hzOmVudW1lcmF0aW9uIHZhbHVlPSJwYXJ0aWFsIi8mZ3Q7CiAgICAgICAgJmx0
Oy94czpyZXN0cmljdGlvbiZndDsKICAgICAgJmx0Oy94czpzaW1wbGVUeXBlJmd0OwogICAgJmx0
Oy94czphdHRyaWJ1dGUmZ3Q7IAogICZsdDsveHM6Y29tcGxleFR5cGUmZ3Q7CiZsdDsveHM6ZWxl
bWVudCZndDsKCiZsdDshLS0gQ09ORElUSU9OUyAtLSZndDsKCiZsdDshLS0gQ0FMTCBJREVOVElU
WSAtLSZndDsKJmx0O3hzOmVsZW1lbnQgbmFtZT0iY2FsbC1pZGVudGl0eSIgdHlwZT0ibGM6Y2Fs
bC1pZGVudGl0eS10eXBlIi8mZ3Q7CgombHQ7IS0tIENBTEwgSURFTlRJVFkgVFlQRSAtLSZndDsK
Jmx0O3hzOmNvbXBsZXhUeXBlIG5hbWU9ImNhbGwtaWRlbnRpdHktdHlwZSImZ3Q7CiAgJmx0O3hz
OmNob2ljZSZndDsKICAgICZsdDt4czplbGVtZW50IG5hbWU9InNpcCIgdHlwZT0ibGM6c2lwLWlk
LXR5cGUiLyZndDsKICAgICZsdDthbnkgbmFtZXNwYWNlPSIjI290aGVyIiBwcm9jZXNzQ29udGVu
dHM9ImxheCIgbWluT2NjdXJzPSIwIiAKICAgIG1heE9jY3Vycz0idW5ib3VuZGVkIi8mZ3Q7CiAg
Jmx0Oy94czpjaG9pY2UmZ3Q7CiAgJmx0O2FueUF0cnJpYnV0ZSBuYW1lc3BhY2U9IiMjb3RoZXIi
IHByb2Nlc3NDb250ZW50cz0ibGF4Ii8mZ3Q7CiZsdDsveHM6Y29tcGxleFR5cGUmZ3Q7CgombHQ7
IS0tIFNJUCBJRCBUWVBFIC0tJmd0OwombHQ7eHM6Y29tcGxleFR5cGUgbmFtZT0ic2lwLWlkLXR5
cGUiJmd0OwogICZsdDt4czpzZXF1ZW5jZSZndDsKICAgICZsdDtlbGVtZW50IG5hbWU9ImZyb20i
IHR5cGU9ImxjOmlkZW50aXR5VHlwZSIgbWluT2NjdXJzPSIwIi8mZ3Q7CiAgICAmbHQ7ZWxlbWVu
dCBuYW1lPSJ0byIgdHlwZT0ibGM6aWRlbnRpdHlUeXBlIiBtaW5PY2N1cnM9IjAiLyZndDsKICAg
ICZsdDtlbGVtZW50IG5hbWU9InJlcXVlc3QtdXJpIiB0eXBlPSJsYzppZGVudGl0eVR5cGUiIAog
ICAgbWluT2NjdXJzPSIwIi8mZ3Q7CiAgICAmbHQ7ZWxlbWVudCBuYW1lPSJwLWFzc2VydGVkLWlk
ZW50aXR5IiB0eXBlPSJsYzppZGVudGl0eVR5cGUiIAogICAgbWluT2NjdXJzPSIwIi8mZ3Q7CiAg
ICAmbHQ7YW55IG5hbWVzcGFjZT0iIyNvdGhlciIgcHJvY2Vzc0NvbnRlbnRzPSJsYXgiIG1pbk9j
Y3Vycz0iMCIgCiAgICBtYXhPY2N1cnM9InVuYm91bmRlZCIvJmd0OwogICZsdDsveHM6c2VxdWVu
Y2UmZ3Q7CiAgJmx0O2FueUF0cnJpYnV0ZSBuYW1lc3BhY2U9IiMjb3RoZXIiIHByb2Nlc3NDb250
ZW50cz0ibGF4Ii8mZ3Q7CiZsdDsveHM6Y29tcGxleFR5cGUmZ3Q7CgombHQ7IS0tIElERU5USVRZ
IFRZUEUgLS0mZ3Q7CiZsdDt4czpjb21wbGV4VHlwZSBuYW1lPSJpZGVudGl0eVR5cGUiJmd0Owog
ICZsdDt4czpjb21wbGV4Q29udGVudCZndDsKICAgICZsdDt4czpyZXN0cmljdGlvbiBiYXNlPSJ4
czphbnlUeXBlIiZndDsKICAgICAgJmx0O3hzOmNob2ljZSBtaW5PY2N1cnM9IjEiIG1heE9jY3Vy
cz0idW5ib3VuZGVkIiZndDsKICAgICAgICAmbHQ7eHM6ZWxlbWVudCBuYW1lPSJvbmUiIHR5cGU9
ImNwOm9uZVR5cGUiLyZndDsKICAgICAgICAmbHQ7eHM6ZWxlbWVudCBuYW1lPSJtYW55IiB0eXBl
PSJsYzptYW55VHlwZSIvJmd0OwogICAgICAgICZsdDt4czplbGVtZW50IG5hbWU9Im1hbnktdGVs
IiB0eXBlPSJsYzptYW55VGVsVHlwZSIvJmd0OwogICAgICAgICZsdDt4czphbnkgbmFtZXNwYWNl
PSIjI290aGVyIiBwcm9jZXNzQ29udGVudHM9ImxheCIvJmd0OwogICAgICAmbHQ7L3hzOmNob2lj
ZSZndDsKICAgICZsdDsveHM6cmVzdHJpY3Rpb24mZ3Q7CiAgJmx0Oy94czpjb21wbGV4Q29udGVu
dCZndDsKJmx0Oy94czpjb21wbGV4VHlwZSZndDsKCiZsdDshLS0gTUFOWS1URUwgVFlQRSAtLSZn
dDsKJmx0O3hzOmNvbXBsZXhUeXBlIG5hbWU9Im1hbnlUZWxUeXBlIiZndDsKICAmbHQ7eHM6Y29t
cGxleENvbnRlbnQmZ3Q7CiAgICAmbHQ7eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6YW55VHlwZSIm
Z3Q7CiAgICAgICZsdDt4czpjaG9pY2UgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRl
ZCImZ3Q7CiAgICAgICAgJmx0O3hzOmVsZW1lbnQgbmFtZT0iZXhjZXB0LXRlbCIgdHlwZT0ibGM6
ZXhjZXB0VGVsVHlwZSIvJmd0OwogICAgICAgICZsdDt4czphbnkgbmFtZXNwYWNlPSIjI290aGVy
IgogICAgICAgIG1pbk9jY3Vycz0iMCIgcHJvY2Vzc0NvbnRlbnRzPSJsYXgiLyZndDsKICAgICAg
Jmx0Oy94czpjaG9pY2UmZ3Q7CiAgICAgICZsdDt4czphdHRyaWJ1dGUgbmFtZT0icHJlZml4Igog
ICAgICB1c2U9Im9wdGlvbmFsIiB0eXBlPSJ4czpzdHJpbmciLyZndDsKICAgICZsdDsveHM6cmVz
dHJpY3Rpb24mZ3Q7CiAgJmx0Oy94czpjb21wbGV4Q29udGVudCZndDsKJmx0Oy94czpjb21wbGV4
VHlwZSZndDsKCiZsdDshLS0gRVhDRVBULVRFTCBUWVBFIC0tJmd0OwombHQ7eHM6Y29tcGxleFR5
cGUgbmFtZT0iZXhjZXB0VGVsVHlwZSImZ3Q7CiAgJmx0O3hzOmF0dHJpYnV0ZSBuYW1lPSJwcmVm
aXgiIHR5cGU9InhzOnN0cmluZyIgdXNlPSJvcHRpb25hbCIvJmd0OwogICZsdDt4czphdHRyaWJ1
dGUgbmFtZT0iaWQiIHR5cGU9InhzOmFueVVSSSIgdXNlPSJvcHRpb25hbCIvJmd0OwombHQ7L3hz
OmNvbXBsZXhUeXBlJmd0OwoKJmx0OyEtLSBNRVRIT0QgLS0mZ3Q7CiZsdDt4czplbGVtZW50IG5h
bWU9Im1ldGhvZCIgdHlwZT0ibGM6bWV0aG9kLXR5cGUiLyZndDsKCiZsdDshLS0gTUVUSE9EIFRZ
UEUgLS0mZ3Q7CiZsdDt4czpzaW1wbGVUeXBlIG5hbWU9Im1ldGhvZC10eXBlIiZndDsKICAmbHQ7
eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIiZndDsKICAgICZsdDt4czplbnVtZXJhdGlv
biB2YWx1ZT0iSU5WSVRFIi8mZ3Q7CiAgICAmbHQ7eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik1FU1NB
R0UiLyZndDsKICAgICZsdDt4czplbnVtZXJhdGlvbiB2YWx1ZT0iUkVHSVNURVIiLyZndDsKICAg
ICZsdDt4czplbnVtZXJhdGlvbiB2YWx1ZT0iU1VCU0NSSUJFIi8mZ3Q7CiAgICAmbHQ7eHM6ZW51
bWVyYXRpb24gdmFsdWU9Ik9QVElPTlMiLyZndDsKICAgICZsdDt4czplbnVtZXJhdGlvbiB2YWx1
ZT0iUFVCTElTSCIvJmd0OwogICZsdDsveHM6cmVzdHJpY3Rpb24mZ3Q7CiZsdDsveHM6c2ltcGxl
VHlwZSZndDsKCiZsdDshLS0gVEFSR0VUIFNJUCBFTlRJVFkgLS0mZ3Q7CiZsdDt4czplbGVtZW50
IG5hbWU9InRhcmdldC1zaXAtZW50aXR5IiB0eXBlPSJ4czphbnlVUkkiIG1pbk9jY3Vycz0iMCIv
Jmd0OwoKJmx0OyEtLSBBQ1RJT05TIC0tJmd0OwombHQ7eHM6ZWxlbWVudCBuYW1lPSJhY2NlcHQi
Jmd0OwogICZsdDt4czpjaG9pY2UmZ3Q7CiAgICAmbHQ7ZWxlbWVudCBuYW1lPSJyYXRlIiB0eXBl
PSJ4czpkZWNpbWFsIiBtaW5PY2N1cnM9IjAiLyZndDsKICAgICZsdDtlbGVtZW50IG5hbWU9Indp
biIgdHlwZT0ieHM6aW50ZWdlciIgbWluT2NjdXJzPSIwIi8mZ3Q7CiAgICAmbHQ7ZWxlbWVudCBu
YW1lPSJwZXJjZW50IiB0eXBlPSJ4czpkZWNpbWFsIiBtaW5PY2N1cnM9IjAiLyZndDsKICAgICZs
dDthbnkgbmFtZXNwYWNlPSIjI290aGVyIiBwcm9jZXNzQ29udGVudHM9ImxheCIgbWluT2NjdXJz
PSIwIiAKICAgIG1heE9jY3Vycz0idW5ib3VuZGVkIi8mZ3Q7CiAgJmx0Oy94czpjaG9pY2UmZ3Q7
CiAgJmx0O3hzOmF0dHJpYnV0ZSBuYW1lPSJhbHQtYWN0aW9uIiB0eXBlPSJ4czpzdHJpbmciIGRl
ZmF1bHQ9InJlamVjdCIvJmd0OwogICZsdDt4czphdHRyaWJ1dGUgbmFtZT0iYWx0LXRhcmdldCIg
dHlwZT0ibGM6YWx0LXRhcmdldC10eXBlIiAKICB1c2U9Im9wdGlvbmFsIi8mZ3Q7CiAgJmx0O2Fu
eUF0cnJpYnV0ZSBuYW1lc3BhY2U9IiMjb3RoZXIiIHByb2Nlc3NDb250ZW50cz0ibGF4Ii8mZ3Q7
CiZsdDsveHM6ZWxlbWVudCZndDsKCiZsdDshLS0gQUxUIFRBUkdFVCBUWVBFIC0tJmd0OwombHQ7
eHM6c2ltcGxlVHlwZSBuYW1lPSJhbHQtdGFyZ2V0LXR5cGUiJmd0OwogICZsdDt4czpsaXN0IGl0
ZW1UeXBlPSJ4czphbnlVUkkiLyZndDsKJmx0Oy94czpzaW1wbGVUeXBlJmd0OwoKJmx0Oy94czpz
Y2hlbWEmZ3Q7CgogICAgPC9wcmU+CjxwIGNsYXNzPSJmaWd1cmUiPjwvcD4KPGgxIGlkPSJyZmMu
c2VjdGlvbi45Ij48YSBocmVmPSIjcmZjLnNlY3Rpb24uOSI+OS48L2E+IDxhIGhyZWY9IiNzZWM6
cmVsYXRlZHdvcmsiIGlkPSJzZWM6cmVsYXRlZHdvcmsiPlJlbGF0ZWQgV29yazwvYT48L2gxPgo8
aDEgaWQ9InJmYy5zZWN0aW9uLjkuMSI+PGEgaHJlZj0iI3JmYy5zZWN0aW9uLjkuMSI+OS4xLjwv
YT4gPGEgaHJlZj0iI3NlYzpybHBzdG4iIGlkPSJzZWM6cmxwc3RuIj5SZWxhdGlvbnNoaXAgd2l0
aCBMb2FkIEZpbHRlcmluZyBpbiBQU1ROPC9hPjwvaDE+CjxwIGlkPSJyZmMuc2VjdGlvbi45LjEu
cC4xIj5JdCBpcyBrbm93biB0aGF0IGV4aXN0aW5nIFBTVE4gbmV0d29yayBhbHNvIHVzZXMgYSBs
b2FkIGZpbHRlcmluZyBtZWNoYW5pc20gdG8gcHJldmVudCBvdmVybG9hZCBhbmQgdGhlIGZpbHRl
cmluZyBwb2xpY3kgY29uZmlndXJhdGlvbiBpcyBkb25lIG1hbnVhbGx5IGV4Y2VwdCBpbiBzcGVj
aWZpYyBjYXNlcyB3aGVuIHRoZSBJbnRlbGxpZ2VudCBOZXR3b3JrIGFyY2hpdGVjdHVyZSBpcyB1
c2VkIDxhIGhyZWY9IiNRLjEyNDguMiI+W1EuMTI0OC4yXTwvYT48YSBocmVmPSIjRS40MTIiPltF
LjQxMl08L2E+LiBUaGlzIHNwZWNpZmljYXRpb24gZGVmaW5lcyBhIGxvYWQgZmlsdGVyaW5nIG1l
Y2hhbmlzbSBiYXNlZCBvbiB0aGUgU0lQIGV2ZW50IG5vdGlmaWNhdGlvbiBmcmFtZXdvcmsgdGhh
dCBhbGxvd3MgYXV0b21hdGVkIGZpbHRlcmluZyBwb2xpY3kgZGlzdHJpYnV0aW9uIGluIHN1aXRh
YmxlIGVudmlyb25tZW50cy4gPC9wPgo8cCBpZD0icmZjLnNlY3Rpb24uOS4xLnAuMiI+VGhlcmUg
YXJlIGNvbnRyb2wgbWVzc2FnZXMgYXNzb2NpYXRlZCB3aXRoIFBTVE4gb3ZlcmxvYWQgY29udHJv
bCB3aGljaCB3b3VsZCBzcGVjaWZ5IGFuIG91dGdvaW5nIGNvbnRyb2wgbGlzdCwgY2FsbCBnYXAg
ZHVyYXRpb24gYW5kIGNvbnRyb2wgZHVyYXRpb24gPGEgaHJlZj0iI1EuMTI0OC4yIj5bUS4xMjQ4
LjJdPC9hPjxhIGhyZWY9IiNFLjQxMiI+W0UuNDEyXTwvYT4uIFRoZXNlIGl0ZW1zIGNvdWxkIGJl
IHJvdWdobHkgY29ycmVsYXRlZCB0byB0aGUgaWRlbnRpdHksIGFjdGlvbiBhbmQgdGltZSBmaWVs
ZHMgb2YgdGhlIFNJUCBsb2FkIGZpbHRlcmluZyBwb2xpY3kgZGVmaW5lZCBpbiB0aGlzIHNwZWNp
ZmljYXRpb24uIEhvd2V2ZXIsIHRoZSBsb2FkIGZpbHRlcmluZyBwb2xpY3kgZGVmaW5lZCBpbiB0
aGlzIHNwZWNpZmljYXRpb24gaXMgbXVjaCBtb3JlIGdlbmVyaWMgYW5kIGZsZXhpYmxlIGFzIG9w
cG9zZWQgdG8gaXRzIFBTVE4gY291bnRlcnBhcnQuIDwvcD4KPHAgaWQ9InJmYy5zZWN0aW9uLjku
MS5wLjMiPkZpcnN0bHksIFBTVE4gbG9hZCBmaWx0ZXJpbmcgb25seSBhcHBsaWVzIHRvIHRlbGVw
aG9uZSBudW1iZXJzLiBUaGUgaWRlbnRpdHkgZWxlbWVudCBvZiBTSVAgbG9hZCBmaWx0ZXJpbmcg
cG9saWN5IGFsbG93cyBib3RoIFNJUCBVUkkgYW5kIHRlbGVwaG9uZSBudW1iZXJzICh0aHJvdWdo
ICd0ZWwnIFVSSSkgdG8gYmUgc3BlY2lmaWVkLiBUaGVzZSBpZGVudGl0aWVzIGNhbiBiZSBhcmJp
dHJhcmlseSBncm91cGVkIGJ5IFNJUCBkb21haW5zIG9yIGFueSBudW1iZXIgb2YgbGVhZGluZyBw
cmVmaXggb2YgdGhlIHRlbGVwaG9uZSBudW1iZXJzLiAgPC9wPgo8cCBpZD0icmZjLnNlY3Rpb24u
OS4xLnAuNCI+U2Vjb25kbHksIHRoZSBQU1ROIGxvYWQgZmlsdGVyaW5nIGFjdGlvbiBpcyB1c3Vh
bGx5IGxpbWl0ZWQgdG8gY2FsbCBnYXBwaW5nLiBUaGUgYWN0aW9uIGZpZWxkIGluIFNJUCBsb2Fk
IGZpbHRlcmluZyBwb2xpY3kgYWxsb3dzIG1vcmUgZmxleGlibGUgcG9zc2liaWxpdGllcyBzdWNo
IGFzIHJhdGUgdGhyb3R0bGUgYW5kIG90aGVycy4gPC9wPgo8cCBpZD0icmZjLnNlY3Rpb24uOS4x
LnAuNSI+VGhpcmRseSwgdGhlIGR1cmF0aW9uIGZpZWxkIGluIFBTVE4gbG9hZCBmaWx0ZXJpbmcg
c3BlY2lmaWVzIGEgdmFsdWUgaW4gc2Vjb25kcyBmb3IgdGhlIGxvYWQgZmlsdGVyaW5nIGR1cmF0
aW9uIG9ubHksIGFuZCB0aGUgYWxsb3dlZCB2YWx1ZXMgYXJlIG1hcHBlZCBpbnRvIGEgdmFsdWUg
c2V0LiBUaGUgdGltZSBmaWVsZCBpbiBTSVAgbG9hZCBmaWx0ZXJpbmcgcG9saWN5IG1heSBzcGVj
aWZ5IG5vdCBvbmx5IGEgZHVyYXRpb24sIGJ1dCBhbHNvIGEgZnV0dXJlIGFjdGl2YXRpb24gdGlt
ZSB3aGljaCBjb3VsZCBiZSBlc3BlY2lhbGx5IHVzZWZ1bCBmb3IgYXV0b21hdGluZyBsb2FkIGZp
bHRlcmluZyBmb3IgcHJlZGljdGFibGUgb3ZlcmxvYWRzLiA8L3A+CjxwIGlkPSJyZmMuc2VjdGlv
bi45LjEucC42Ij5QU1ROIGxvYWQgZmlsdGVyaW5nIGNhbiBiZSBwZXJmb3JtZWQgaW4gYm90aCBl
ZGdlIHN3aXRjaGVzIGFuZCB0cmFuc2l0IHN3aXRjaGVzOyBTSVAgbG9hZCBmaWx0ZXJpbmcgY2Fu
IGFsc28gYmUgYXBwbGllZCBpbiBib3RoIGVkZ2UgcHJveHkgc2VydmVycyBhbmQgY29yZSBwcm94
eSBzZXJ2ZXJzLCBhbmQgZXZlbiBpbiBjYXBhYmxlIHVzZXIgYWdlbnRzLiA8L3A+CjxwIGlkPSJy
ZmMuc2VjdGlvbi45LjEucC43Ij5QU1ROIGxvYWQgZmlsdGVyaW5nIGFsc28gaGFzIHNwZWNpYWwg
YWNjb21tb2RhdGlvbiBmb3IgSGlnaCBQcm9iYWJpbGl0eSBvZiBDb21wbGV0aW9uIChIUEMpIGNh
bGxzLCB3aGljaCB3b3VsZCBiZSBzaW1pbGFyIHRvIGNhbGxzIGRlc2lnbmF0ZWQgYnkgdGhlIFNJ
UCBSZXNvdXJjZSBQcmlvcml0eSBIZWFkZXJzIDxhIGhyZWY9IiNSRkM0NDEyIj5bUkZDNDQxMl08
L2E+LiBTSVAgbG9hZCBmaWx0ZXJpbmcgbWVjaGFuaXNtIGFsc28gYWxsb3dzIHByaW9yaXRpemlu
ZyB0aGUgdHJlYXRtZW50IG9mIHRoZXNlIGNhbGxzIGJ5IHNwZWNpZnlpbmcgZmF2b3JhYmxlIGFj
dGlvbnMgZm9yIHRoZW0uIDwvcD4KPHAgaWQ9InJmYy5zZWN0aW9uLjkuMS5wLjgiPlBTVE4gbG9h
ZCBmaWx0ZXJpbmcgYWxzbyBwcm92aWRlcyBhZG1pbmlzdHJhdGl2ZSBvcHRpb24gZm9yIHJvdXRp
bmcgZmFpbGVkIGNhbGwgYXR0ZW1wdHMgdG8gZWl0aGVyIGEgcmVvcmRlciB0b25lIDxhIGhyZWY9
IiNFLjMwMFNlclN1cDMiPltFLjMwMFNlclN1cDNdPC9hPiBpbmRpY2F0aW5nIG92ZXJsb2FkIGNv
bmRpdGlvbnMsIG9yIGEgc3BlY2lhbCByZWNvcmRlZCBhbm5vdW5jZW1lbnQuIFNpbWlsYXIgY2Fw
YWJpbGl0eSBjYW4gYmUgcHJvdmlkZWQgaW4gU0lQIGxvYWQgZmlsdGVyaW5nIG1lY2hhbmlzbSBi
eSBzcGVjaWZ5aW5nIGFwcHJvcHJpYXRlICJhbHQtYWN0aW9uIiBhdHRyaWJ1dGUgaW4gdGhlIFNJ
UCBsb2FkIGZpbHRlcmluZyBhY3Rpb24gZmllbGQuIDwvcD4KPGgxIGlkPSJyZmMuc2VjdGlvbi45
LjIiPjxhIGhyZWY9IiNyZmMuc2VjdGlvbi45LjIiPjkuMi48L2E+IDxhIGhyZWY9IiNzZWM6cmxm
ZWVkYmFjayIgaWQ9InNlYzpybGZlZWRiYWNrIj5SZWxhdGlvbnNoaXAgd2l0aCBPdGhlciBJRVRG
IFNJUCBPdmVybG9hZCBDb250cm9sIEVmZm9ydHM8L2E+PC9oMT4KPHAgaWQ9InJmYy5zZWN0aW9u
LjkuMi5wLjEiPlRoZSBsb2FkIGZpbHRlcmluZyBwb2xpY2llcyBpbiB0aGlzIHNwZWNpZmljYXRp
b24gY29uc2lzdCBvZiBpZGVudGl0eSwgYWN0aW9uIGFuZCB0aW1lLiBUaGUgaWRlbnRpdHkgY2Fu
IHJhbmdlIGZyb20gYSBzaW5nbGUgc3BlY2lmaWMgdXNlciB0byBhbiBhcmJpdHJhcnkgdXNlciBh
Z2dyZWdhdGUsIGRvbWFpbnMgb3IgYXJlYXMuIFRoZSB1c2VyIGNhbiBiZSBpZGVudGlmaWVkIGJ5
IGVpdGhlciB0aGUgc291cmNlIG9yIHRoZSBkZXN0aW5hdGlvbi4gV2hlbiB0aGUgdXNlciBpcyBp
ZGVudGlmaWVkIGJ5IHRoZSBzb3VyY2UgYW5kIGEgZmF2b3JhYmxlIGFjdGlvbiBpcyBzcGVjaWZp
ZWQsIHRoZSByZXN1bHQgaXMgdG8gc29tZSBleHRlbnQgc2ltaWxhciB0byBpZGVudGlmeWluZyBh
IHByaW9yaXR5IHVzZXIgYmFzZWQgb24gYXV0aG9yaXplZCBSZXNvdXJjZSBQcmlvcml0eSBIZWFk
ZXJzIDxhIGhyZWY9IiNSRkM0NDEyIj5bUkZDNDQxMl08L2E+IGluIHRoZSByZXF1ZXN0cy4gU3Bl
Y2lmeWluZyBhIHNvdXJjZSB1c2VyIGlkZW50aXR5IHdpdGggYW4gdW5mYXZvcmFibGUgYWN0aW9u
IHdvdWxkIGNhdXNlIGFuIGVmZmVjdCB0byBzb21lIGV4dGVudCBzaW1pbGFyIHRvIGFuIGludmVy
c2UgU0lQIHJlc291cmNlIHByaW9yaXR5IG1lY2hhbmlzbS4gPC9wPgo8cCBpZD0icmZjLnNlY3Rp
b24uOS4yLnAuMiI+VGhlIGxvYWQgZmlsdGVyaW5nIHBvbGljeSBkZWZpbmVkIGluIHRoaXMgc3Bl
Y2lmaWNhdGlvbiBpcyBnZW5lcmljIGFuZCBleHBlY3RlZCB0byBiZSBhcHBsaWNhYmxlIG5vdCBv
bmx5IHRvIHRoZSBsb2FkIGZpbHRlcmluZyBtZWNoYW5pc20gYnV0IGFsc28gdG8gdGhlIGZlZWRi
YWNrIG92ZXJsb2FkIGNvbnRyb2wgbWVjaGFuaXNtIGluIDxhIGhyZWY9IiNJLUQuaWV0Zi1zb2Mt
b3ZlcmxvYWQtY29udHJvbCI+W0ktRC5pZXRmLXNvYy1vdmVybG9hZC1jb250cm9sXTwvYT4uIElu
IHBhcnRpY3VsYXIsIGJvdGggbWVjaGFuaXNtcyBjb3VsZCB1c2Ugc3BlY2lmaWMgb3Igd2lsZGNh
cmQgaWRlbnRpdGllcyBmb3IgbG9hZCBjb250cm9sIGFuZCBjb3VsZCBzaGFyZSB3ZWxsLWtub3du
IGxvYWQgY29udHJvbCBhY3Rpb25zLiBUaGUgdGltZSBkdXJhdGlvbiBmaWVsZCBpbiB0aGUgbG9h
ZCBmaWx0ZXJpbmcgcG9saWN5IGNvdWxkIGFsc28gYmUgdXNlZCBpbiBib3RoIG1lY2hhbmlzbXMu
IEFzIG1lbnRpb25lZCBpbiA8YSBocmVmPSIjc2VjOmludHJvIj5TZWN0aW9uIDE8L2E+LCB0aGUg
bG9hZCBmaWx0ZXJpbmcgcG9saWN5IGRpc3RyaWJ1dGlvbiBtZWNoYW5pc20gYW5kIHRoZSBmZWVk
YmFjayBvdmVybG9hZCBjb250cm9sIG1lY2hhbmlzbSBhZGRyZXNzIGNvbXBsZW1lbnRhcnkgYXJl
YXMgaW4gdGhlIG92ZXJsb2FkIGNvbnRyb2wgcHJvYmxlbSBzcGFjZS4gTG9hZCBmaWx0ZXJpbmcg
aXMgbW9yZSBwcm9hY3RpdmUgYW5kIGZvY3VzZXMgb24gZGlzdHJpYnV0aW5nIGZpbHRlcmluZyBw
b2xpY2llcyB0b3dhcmRzIHRoZSBzb3VyY2Ugb2YgdGhlIHRyYWZmaWM7IHRoZSBob3AtYnktaG9w
IGZlZWRiYWNrLWJhc2VkIGFwcHJvYWNoIGlzIHJlYWN0aXZlIGFuZCB0YXJnZXRzIG1vcmUgYXQg
dHJhZmZpYyBhbHJlYWR5IGFjY2VwdGVkIGluIHRoZSBuZXR3b3JrLiBUaGVyZWZvcmUsIHRoZXkg
Y291bGQgYWxzbyBtYWtlIGRpZmZlcmVudCB1c2Ugb2YgdGhlIGdlbmVyaWMgbG9hZCBmaWx0ZXJp
bmcgcG9saWN5IGNvbXBvbmVudHMuIEZvciBleGFtcGxlLCB0aGUgbG9hZCBmaWx0ZXJpbmcgbWVj
aGFuaXNtIG1heSB1c2UgdGhlIHRpbWUgZmllbGQgaW4gdGhlIGZpbHRlcmluZyBwb2xpY3kgdG8g
c3BlY2lmeSBub3Qgb25seSBhIGNvbnRyb2wgZHVyYXRpb24gYnV0IGFsc28gYSBmdXR1cmUgYWN0
aXZhdGlvbiB0aW1lIHRvIGFjY29tbW9kYXRlIGEgcHJlZGljYWJsZSBvdmVybG9hZCBzdWNoIGFz
IHRoZSBvbmUgY2F1c2VkIGJ5IE1vdGhlcidzIERheSBncmVldGluZ3Mgb3IgYSB2aWV3ZXItdm90
aW5nIHByb2dyYW07IHRoZSBmZWVkYmFjay1iYXNlZCBjb250cm9sIG1pZ2h0IG5vdCBuZWVkIHRv
IHVzZSB0aGUgdGltZSBmaWVsZCBvciBtaWdodCB1c2UgdGhlIHRpbWUgZmllbGQgdG8gc3BlY2lm
eSBhbiBpbW1lZGlhdGUgbG9hZCBjb250cm9sIGR1cmF0aW9uLiA8L3A+CjxoMSBpZD0icmZjLnNl
Y3Rpb24uMTAiPjxhIGhyZWY9IiNyZmMuc2VjdGlvbi4xMCI+MTAuPC9hPiA8YSBocmVmPSIjc2Vj
OnJlcW1hdGNoIiBpZD0ic2VjOnJlcW1hdGNoIj5EaXNjdXNzaW9uIG9mIHRoaXMgc3BlY2lmaWNh
dGlvbiBtZWV0aW5nIHRoZSByZXF1aXJlbWVudHMgb2YgUkZDNTM5MDwvYT48L2gxPgo8cCBpZD0i
cmZjLnNlY3Rpb24uMTAucC4xIj5UaGlzIHNlY3Rpb24gZXZhbHVhdGVzIHdoZXRoZXIgdGhlIGxv
YWQgY29udHJvbCBldmVudCBwYWNrYWdlIG1lY2hhbmlzbSBkZWZpbmVkIGluIHRoaXMgc3BlY2lm
aWNhdGlvbiBzYXRpc2ZpZXMgdmFyaW91cyBTSVAgb3ZlcmxvYWQgY29udHJvbCByZXF1aXJlbWVu
dHMgc2V0IGZvcnRoIGJ5IFJGQzUzOTAgPGEgaHJlZj0iI1JGQzUzOTAiPltSRkM1MzkwXTwvYT4u
IE5vdCBhbGwgUkZDNTM5MCByZXF1aXJlbWVudHMgYXJlIGZvdW5kIGFwcGxpY2FibGUgZHVlIHRv
IHRoZSBzY29wZSBvZiB0aGlzIHNwZWNpZmljYXRpb24uIFRoZXJlZm9yZSwgd2UgY2F0ZWdvcml6
ZSB0aGUgYXNzZXNzbWVudCByZXN1bHRzIGludG8gWWVzIChtZWV0IHRoZSByZXF1aXJlbWVudCks
IFAvQSAoUGFydGlhbGx5IEFwcGxpY2FibGUpLCBObyAobXVzdCBiZSB1c2VkIGluIGNvbmp1bmN0
aW9uIHdpdGggYW5vdGhlciBtZWNoYW5pc20gdG8gbWVldCB0aGUgcmVxdWlyZW1lbnQpLCBhbmQg
Ti9BIChOb3QgQXBwbGljYWJsZSkuIDwvcD4KPHAvPgoKPHVsIGNsYXNzPSJlbXB0eSI+CiAgPGxp
PlJFUSAxOiAgVGhlIG92ZXJsb2FkIG1lY2hhbmlzbSBzaGFsbCBzdHJpdmUgdG8gbWFpbnRhaW4g
dGhlIG92ZXJhbGwgdXNlZnVsIHRocm91Z2hwdXQgKHRha2luZyBpbnRvIGNvbnNpZGVyYXRpb24g
dGhlIHF1YWxpdHktb2Ytc2VydmljZSBuZWVkcyBvZiB0aGUgdXNpbmcgYXBwbGljYXRpb25zKSBv
ZiBhIFNJUCBzZXJ2ZXIgYXQgcmVhc29uYWJsZSBsZXZlbHMsIGV2ZW4gd2hlbiB0aGUgaW5jb21p
bmcgbG9hZCBvbiB0aGUgbmV0d29yayBpcyBmYXIgaW4gZXhjZXNzIG9mIGl0cyBjYXBhY2l0eS4g
VGhlIG92ZXJhbGwgdGhyb3VnaHB1dCB1bmRlciBsb2FkIGlzIHRoZSB1bHRpbWF0ZSBtZWFzdXJl
IG9mIHRoZSB2YWx1ZSBvZiBhbiBvdmVybG9hZCBjb250cm9sIG1lY2hhbmlzbS4gPC9saT4KPC91
bD4KCjxwPiA8L3A+CjxwIGlkPSJyZmMuc2VjdGlvbi4xMC5wLjMiPlAvQS4gVGhlIGdvYWwgb2Yg
dGhlIGxvYWQgZmlsdGVyaW5nIGlzIHRvIHByZXZlbnQgb3ZlcmxvYWQgb3IgbWFpbnRhaW4gb3Zl
cmFsbCBnb29kcHV0IGR1cmluZyB0aGUgdGltZSBvZiBvdmVybG9hZCwgYnV0IGl0IGlzIGRlcGVu
ZGVudCBvbiB0aGUgYWR2YW5jZSBwcmVkaWN0aW9ucyBvZiB0aGUgbG9hZC4gSWYgdGhlIHByZWRp
Y3Rpb25zIGFyZSBpbmNvcnJlY3QsIGluIGVpdGhlciBkaXJlY3Rpb24sIHRoZSBlZmZlY3RpdmVu
ZXNzIG9mIHRoZSBtZWNoYW5pc20gd2lsbCBiZSBhZmZlY3RlZC4gPC9wPgo8cC8+Cgo8dWwgY2xh
c3M9ImVtcHR5Ij4KICA8bGk+UkVRIDI6ICBXaGVuIGEgc2luZ2xlIG5ldHdvcmsgZWxlbWVudCBm
YWlscywgZ29lcyBpbnRvIG92ZXJsb2FkLCBvciBzdWZmZXJzIGZyb20gcmVkdWNlZCBwcm9jZXNz
aW5nIGNhcGFjaXR5LCB0aGUgbWVjaGFuaXNtIHNob3VsZCBzdHJpdmUgdG8gbGltaXQgdGhlIGlt
cGFjdCBvZiB0aGlzIG9uIG90aGVyIGVsZW1lbnRzIGluIHRoZSBuZXR3b3JrLiAgVGhpcyBoZWxw
cyB0byBwcmV2ZW50IGEgc21hbGwtc2NhbGUgZmFpbHVyZSBmcm9tIGJlY29taW5nIGEgd2lkZXNw
cmVhZCBvdXRhZ2UuIDwvbGk+CjwvdWw+Cgo8cD4gPC9wPgo8cCBpZD0icmZjLnNlY3Rpb24uMTAu
cC41Ij5OL0EgaWYgbG9hZCBmaWx0ZXJpbmcgcG9saWNpZXMgYXJlIGluc3RhbGxlZCBpbiBhZHZh
bmNlIGFuZCBkbyBub3QgY2hhbmdlIGR1cmluZyB0aGUgcG90ZW50aWFsIG92ZXJsb2FkIHBlcmlv
ZC4gUC9BIGlmIGxvYWQgZmlsdGVyaW5nIHBvbGljaWVzIGFyZSBkeW5hbWljYWxseSBhZGp1c3Rl
ZC4gVGhlIGFsZ29yaXRobSB0byBkeW5hbWljYWxseSBjb21wdXRlIGxvYWQgZmlsdGVyaW5nIHBv
bGljaWVzIGlzIG91dHNpZGUgdGhlIHNjb3BlIG9mIHRoaXMgc3BlY2lmaWNhdGlvbiwgd2hpbGUg
dGhlIGRpc3RyaWJ1dGlvbiBvZiB0aGUgdXBkYXRlZCBmaWx0ZXJpbmcgcG9saWNpZXMgdXNlcyB0
aGUgZXZlbnQgcGFja2FnZSBtZWNoYW5pc20gb2YgdGhpcyBzcGVjaWZpY2F0aW9uLiA8L3A+Cjxw
Lz4KCjx1bCBjbGFzcz0iZW1wdHkiPgogIDxsaT5SRVEgMzogIFRoZSBtZWNoYW5pc20gc2hvdWxk
IHNlZWsgdG8gbWluaW1pemUgdGhlIGFtb3VudCBvZiBjb25maWd1cmF0aW9uIHJlcXVpcmVkIGlu
IG9yZGVyIHRvIHdvcmsuICBGb3IgZXhhbXBsZSwgaXQgaXMgYmV0dGVyIHRvIGF2b2lkIG5lZWRp
bmcgdG8gY29uZmlndXJlIGEgc2VydmVyIHdpdGggaXRzIFNJUCBtZXNzYWdlIHRocm91Z2hwdXQs
IGFzIHRoZXNlIGtpbmRzIG9mIHF1YW50aXRpZXMgYXJlIGhhcmQgdG8gZGV0ZXJtaW5lLiA8L2xp
Pgo8L3VsPgoKPHA+IDwvcD4KPHAgaWQ9InJmYy5zZWN0aW9uLjEwLnAuNyI+Tm8uIFRoaXMgbWVj
aGFuaXNtIGlzIGVudGlyZWx5IGRlcGVuZGVudCBvbiBhZHZhbmNlIGNvbmZpZ3VyYXRpb24sIGJh
c2VkIG9uIGFkdmFuY2Uga25vd2xlZGdlLiBJbiBvcmRlciB0byBzYXRpc2Z5IFJlcSAzLCBpdCBz
aG91bGQgYmUgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIG90aGVyIG1lY2hhbmlzbXMgd2hpY2gg
YXJlIG5vdCBiYXNlZCBvbiBhZHZhbmNlIGNvbmZpZ3VyYXRpb24uIDwvcD4KPHAvPgoKPHVsIGNs
YXNzPSJlbXB0eSI+CiAgPGxpPlJFUSA0OiAgVGhlIG1lY2hhbmlzbSBtdXN0IGJlIGNhcGFibGUg
b2YgZGVhbGluZyB3aXRoIGVsZW1lbnRzIHRoYXQgZG8gbm90IHN1cHBvcnQgaXQsIHNvIHRoYXQg
YSBuZXR3b3JrIGNhbiBjb25zaXN0IG9mIGEgbWl4IG9mIGVsZW1lbnRzIHRoYXQgZG8gYW5kIGRv
bid0IHN1cHBvcnQgaXQuICBJbiBvdGhlciB3b3JkcywgdGhlIG1lY2hhbmlzbSBzaG91bGQgbm90
IHdvcmsgb25seSBpbiBlbnZpcm9ubWVudHMgd2hlcmUgYWxsIGVsZW1lbnRzIHN1cHBvcnQgaXQu
ICBJdCBpcyByZWFzb25hYmxlIHRvIGFzc3VtZSB0aGF0IGl0IHdvcmtzIGJldHRlciBpbiBzdWNo
IGVudmlyb25tZW50cywgb2YgY291cnNlLiAgSWRlYWxseSwgdGhlcmUgc2hvdWxkIGJlIGluY3Jl
bWVudGFsIGltcHJvdmVtZW50cyBpbiBvdmVyYWxsIG5ldHdvcmsgdGhyb3VnaHB1dCBhcyBpbmNy
ZWFzaW5nIG51bWJlcnMgb2YgZWxlbWVudHMgaW4gdGhlIG5ldHdvcmsgc3VwcG9ydCB0aGUgbWVj
aGFuaXNtLiA8L2xpPgo8L3VsPgoKPHA+IDwvcD4KPHAgaWQ9InJmYy5zZWN0aW9uLjEwLnAuOSI+
Tm8uIFRoaXMgbWVjaGFuaXNtIGlzIGVudGlyZWx5IGRlcGVuZGVudCBvbiB0aGUgcGFydGljaXBh
dGlvbiBvZiBhbGwgcG9zc2libGUgbmVpZ2hib3JzLiBJbiBvcmRlciB0byBzYXRpc2Z5IFJlcSA0
LCBpdCBzaG91bGQgYmUgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIG90aGVyIG1lY2hhbmlzbXMs
IHNvbWUgb2Ygd2hpY2ggYXJlIGRlc2NyaWJlZCBpbiA8YSBocmVmPSIjc2VjOm5ldHVzYWdlIj5T
ZWN0aW9uIDUuNDwvYT4uPC9wPgo8cC8+Cgo8dWwgY2xhc3M9ImVtcHR5Ij4KICA8bGk+UkVRIDU6
ICBUaGUgbWVjaGFuaXNtIHNob3VsZCBub3QgYXNzdW1lIHRoYXQgaXQgd2lsbCBvbmx5IGJlIGRl
cGxveWVkIGluIGVudmlyb25tZW50cyB3aXRoIGNvbXBsZXRlbHkgdHJ1c3RlZCBlbGVtZW50cy4g
SXQgc2hvdWxkIHNlZWsgdG8gb3BlcmF0ZSBhcyBlZmZlY3RpdmVseSBhcyBwb3NzaWJsZSBpbiBl
bnZpcm9ubWVudHMgd2hlcmUgb3RoZXIgZWxlbWVudHMgYXJlIG1hbGljaW91czsgdGhpcyBpbmNs
dWRlcyBwcmV2ZW50aW5nIG1hbGljaW91cyBlbGVtZW50cyBmcm9tIG9idGFpbmluZyBtb3JlIHRo
YW4gYSBmYWlyIHNoYXJlIG9mIHNlcnZpY2UuIDwvbGk+CjwvdWw+Cgo8cD4gPC9wPgo8cCBpZD0i
cmZjLnNlY3Rpb24uMTAucC4xMSI+Tm8uIFRoaXMgbWVjaGFuaXNtIGlzIGVudGlyZWx5IGRlcGVu
ZGVudCBvbiB0aGUgbm9uLW1hbGljaW91cyBwYXJ0aWNpcGF0aW9uIG9mIGFsbCBwb3NzaWJsZSBu
ZWlnaGJvcnMuIEluIG9yZGVyIHRvIHNhdGlzZnkgUmVxIDUsIGl0IHNob3VsZCBiZSB1c2VkIGlu
IGNvbmp1bmN0aW9uIHdpdGggb3RoZXIgbWVjaGFuaXNtcywgc29tZSBvZiB3aGljaCBhcmUgZGVz
Y3JpYmVkIGluIDxhIGhyZWY9IiNzZWM6bmV0dXNhZ2UiPlNlY3Rpb24gNS40PC9hPi4gPC9wPgo8
cC8+Cgo8dWwgY2xhc3M9ImVtcHR5Ij4KICA8bGk+UkVRIDY6ICBXaGVuIG92ZXJsb2FkIGlzIHNp
Z25hbGVkIGJ5IG1lYW5zIG9mIGEgc3BlY2lmaWMgbWVzc2FnZSwgdGhlIG1lc3NhZ2UgbXVzdCBj
bGVhcmx5IGluZGljYXRlIHRoYXQgaXQgaXMgYmVpbmcgc2VudCBiZWNhdXNlIG9mIG92ZXJsb2Fk
LCBhcyBvcHBvc2VkIHRvIG90aGVyLCBub24gb3ZlcmxvYWQtYmFzZWQgZmFpbHVyZSBjb25kaXRp
b25zLiAgVGhpcyByZXF1aXJlbWVudCBpcyBtZWFudCB0byBhdm9pZCBzb21lIG9mIHRoZSBwcm9i
bGVtcyB0aGF0IGhhdmUgYXJpc2VuIGZyb20gdGhlIHJldXNlIG9mIHRoZSA1MDMgcmVzcG9uc2Ug
Y29kZSBmb3IgbXVsdGlwbGUgcHVycG9zZXMuICBPZiBjb3Vyc2UsIG92ZXJsb2FkIGlzIGFsc28g
c2lnbmFsZWQgYnkgbGFjayBvZiByZXNwb25zZSB0byByZXF1ZXN0cy4gIFRoaXMgcmVxdWlyZW1l
bnQgYXBwbGllcyBvbmx5IHRvIGV4cGxpY2l0IG92ZXJsb2FkIHNpZ25hbHMuIDwvbGk+CjwvdWw+
Cgo8cD4gPC9wPgo8cCBpZD0icmZjLnNlY3Rpb24uMTAucC4xMyI+Ti9BLiBUaGlzIG1lY2hhbmlz
bSBzaWduYWxzIGFudGljaXBhdGVkIG92ZXJsb2FkLCBub3QgYWN0dWFsIG92ZXJsb2FkLiBIb3dl
dmVyIHRoZSBzaWduYWxzIGluIHRoaXMgbWVjaGFuaXNtIGFyZSBub3QgdXNlZCBmb3IgYW55IG90
aGVyIHB1cnBvc2UuPC9wPgo8cC8+Cgo8dWwgY2xhc3M9ImVtcHR5Ij4KICA8bGk+UkVRIDc6ICBU
aGUgbWVjaGFuaXNtIHNoYWxsIHByb3ZpZGUgYSB3YXkgZm9yIGFuIGVsZW1lbnQgdG8gdGhyb3R0
bGUgdGhlIGFtb3VudCBvZiB0cmFmZmljIGl0IHJlY2VpdmVzIGZyb20gYW4gdXBzdHJlYW0gZWxl
bWVudC4gIFRoaXMgdGhyb3R0bGluZyBzaGFsbCBiZSBncmFkZWQgc28gdGhhdCBpdCBpcyBub3Qg
YWxsLW9yLW5vdGhpbmcgYXMgd2l0aCB0aGUgY3VycmVudCA1MDMgbWVjaGFuaXNtLiAgVGhpcyBy
ZWNvZ25pemVzIHRoZSBmYWN0IHRoYXQgIm92ZXJsb2FkIiBpcyBub3QgYSBiaW5hcnkgc3RhdGUg
YW5kIHRoYXQgdGhlcmUgYXJlIGRlZ3JlZXMgb2Ygb3ZlcmxvYWQuIDwvbGk+CjwvdWw+Cgo8cD4g
PC9wPgo8cCBpZD0icmZjLnNlY3Rpb24uMTAucC4xNSI+WWVzLiBUaGlzIGV2ZW50IHBhY2thZ2Ug
YWxsb3dzIHJhdGUvbG9zcy93aW5kb3ctYmFzZWQgb3ZlcmxvYWQgY29udHJvbCBvcHRpb25zIGFz
IGRpc2N1c3NlZCBpbiA8YSBocmVmPSIjc2VjOmFjdGlvbiI+U2VjdGlvbiA3LjQ8L2E+LiA8L3A+
CjxwLz4KCjx1bCBjbGFzcz0iZW1wdHkiPgogIDxsaT5SRVEgODogIFRoZSBtZWNoYW5pc20gc2hh
bGwgZW5zdXJlIHRoYXQsIHdoZW4gYSByZXF1ZXN0IHdhcyBub3QgcHJvY2Vzc2VkIHN1Y2Nlc3Nm
dWxseSBkdWUgdG8gb3ZlcmxvYWQgKG9yIGZhaWx1cmUpIG9mIGEgZG93bnN0cmVhbSBlbGVtZW50
LCB0aGUgcmVxdWVzdCB3aWxsIG5vdCBiZSByZXRyaWVkIG9uIGFub3RoZXIgZWxlbWVudCB0aGF0
IGlzIGFsc28gb3ZlcmxvYWRlZCBvciB3aG9zZSBzdGF0dXMgaXMgdW5rbm93bi4gIFRoaXMgcmVx
dWlyZW1lbnQgZGVyaXZlcyBmcm9tIFJFUSAxLiA8L2xpPgo8L3VsPgoKPHA+IDwvcD4KPHAgaWQ9
InJmYy5zZWN0aW9uLjEwLnAuMTciPk4vQSB0byB0aGUgbG9hZCBjb250cm9sIGV2ZW50IHBhY2th
Z2UgbWVjaGFuaXNtIGl0c2VsZi4gPC9wPgo8cC8+Cgo8dWwgY2xhc3M9ImVtcHR5Ij4KICA8bGk+
UkVRIDk6ICBUaGF0IGEgcmVxdWVzdCBoYXMgYmVlbiByZWplY3RlZCBmcm9tIGFuIG92ZXJsb2Fk
ZWQgZWxlbWVudCBzaGFsbCBub3QgdW5kdWx5IHJlc3RyaWN0IHRoZSBhYmlsaXR5IG9mIHRoYXQg
cmVxdWVzdCB0byBiZSBzdWJtaXR0ZWQgdG8gYW5kIHByb2Nlc3NlZCBieSBhbiBlbGVtZW50IHRo
YXQgaXMgbm90IG92ZXJsb2FkZWQuIFRoaXMgcmVxdWlyZW1lbnQgZGVyaXZlcyBmcm9tIFJFUSAx
LiA8L2xpPgo8L3VsPgoKPHA+IDwvcD4KPHAgaWQ9InJmYy5zZWN0aW9uLjEwLnAuMTkiPlllcy4g
Rm9yIGV4YW1wbGUsIGxvYWQgZmlsdGVyaW5nIHBvbGljeSBbPGEgaHJlZj0iI3NlYzpmaWx0ZXJj
b250ZW50Ij5TZWN0aW9uIDUuMTwvYT5dIGFsbG93cyB0aGUgaW5jbHVzaW9uIG9mIGFsdGVybmF0
aXZlIGZvcndhcmRpbmcgZGVzdGluYXRpb25zIGZvciByZWplY3RlZCByZXF1ZXN0cy4gPC9wPgo8
cC8+Cgo8dWwgY2xhc3M9ImVtcHR5Ij4KICA8bGk+UkVRIDEwOiAgVGhlIG1lY2hhbmlzbSBzaG91
bGQgc3VwcG9ydCBzZXJ2ZXJzIHRoYXQgcmVjZWl2ZSByZXF1ZXN0cyBmcm9tIGEgbGFyZ2UgbnVt
YmVyIG9mIGRpZmZlcmVudCB1cHN0cmVhbSBlbGVtZW50cywgd2hlcmUgdGhlIHNldCBvZiB1cHN0
cmVhbSBlbGVtZW50cyBpcyBub3QgZW51bWVyYWJsZS4gPC9saT4KPC91bD4KCjxwPiA8L3A+Cjxw
IGlkPSJyZmMuc2VjdGlvbi4xMC5wLjIxIj5Oby4gQmVjYXVzZSB0aGlzIG1lY2hhbmlzbSByZXF1
aXJlcyBhZHZhbmNlIGNvbmZpZ3VyYXRpb24gb2Ygc3BlY2lmaWNhbGx5IGlkZW50aWZpZWQgbmVp
Z2hib3JzLCBpdCBkb2VzIG5vdCBzdXBwb3J0IGVudmlyb25tZW50cyB3aGVyZSB0aGUgbnVtYmVy
IGFuZCBpZGVudGl0eSBvZiB0aGUgdXBzdHJlYW0gbmVpZ2hib3JzIGFyZSBub3Qga25vd24gaW4g
YWR2YW5jZS4gSW4gb3JkZXIgdG8gc2F0aXNmeSBSZXEgMTAsIGl0IHNob3VsZCBiZSB1c2VkIGlu
IGNvbmp1bmN0aW9uIHdpdGggb3RoZXIgbWVjaGFuaXNtcy48L3A+CjxwLz4KCjx1bCBjbGFzcz0i
ZW1wdHkiPgogIDxsaT5SRVEgMTE6ICBUaGUgbWVjaGFuaXNtIHNob3VsZCBzdXBwb3J0IHNlcnZl
cnMgdGhhdCByZWNlaXZlIHJlcXVlc3RzIGZyb20gYSBmaW5pdGUgc2V0IG9mIHVwc3RyZWFtIGVs
ZW1lbnRzLCB3aGVyZSB0aGUgc2V0IG9mIHVwc3RyZWFtIGVsZW1lbnRzIGlzIGVudW1lcmFibGUu
IDwvbGk+CjwvdWw+Cgo8cD4gPC9wPgo8cCBpZD0icmZjLnNlY3Rpb24uMTAucC4yMyI+WWVzLiBT
ZWUgYWxzbyBhbnN3ZXIgdG8gUkVRIDEwLiA8L3A+CjxwLz4KCjx1bCBjbGFzcz0iZW1wdHkiPgog
IDxsaT5SRVEgMTI6ICBUaGUgbWVjaGFuaXNtIHNob3VsZCB3b3JrIGJldHdlZW4gc2VydmVycyBp
biBkaWZmZXJlbnQgZG9tYWlucy4gPC9saT4KPC91bD4KCjxwPiA8L3A+CjxwIGlkPSJyZmMuc2Vj
dGlvbi4xMC5wLjI1Ij5ZZXMuIFRoZSBsb2FkIGNvbnRyb2wgZXZlbnQgcGFja2FnZSBtZWNoYW5p
c20gaXMgbm90IGxpbWl0ZWQgYnkgZG9tYWluIGJvdW5kYXJpZXMuIEhvd2V2ZXIsIGl0IGlzIGxp
a2VseSBtb3JlIGFwcGxpY2FibGUgaW4gaW50cmEtZG9tYWluIHNjZW5hcmlvcyB0aGFuIGluIGlu
dGVyLWRvbWFpbiBzY2VuYXJpb3MgZHVlIHRvIHNlY3VyaXR5IGFuZCBvdGhlciBjb25jZXJucyAo
U2VlIGFsc28gPGEgaHJlZj0iI3NlYzpuZXR1c2FnZSI+U2VjdGlvbiA1LjQ8L2E+KS4gPC9wPgo8
cC8+Cgo8dWwgY2xhc3M9ImVtcHR5Ij4KICA8bGk+UkVRIDEzOiAgVGhlIG1lY2hhbmlzbSBtdXN0
IG5vdCBkaWN0YXRlIGEgc3BlY2lmaWMgYWxnb3JpdGhtIGZvciBwcmlvcml0aXppbmcgdGhlIHBy
b2Nlc3Npbmcgb2Ygd29yayB3aXRoaW4gYSBwcm94eSBkdXJpbmcgdGltZXMgb2Ygb3ZlcmxvYWQu
ICBJdCBtdXN0IHBlcm1pdCBhIHByb3h5IHRvIHByaW9yaXRpemUgcmVxdWVzdHMgYmFzZWQgb24g
YW55IGxvY2FsIHBvbGljeSwgc28gdGhhdCBjZXJ0YWluIG9uZXMgKHN1Y2ggYXMgYSBjYWxsIGZv
ciBlbWVyZ2VuY3kgc2VydmljZXMgb3IgYSBjYWxsIHdpdGggYSBzcGVjaWZpYyB2YWx1ZSBvZiB0
aGUgUmVzb3VyY2UtUHJpb3JpdHkgaGVhZGVyIGZpZWxkIFtSRkM0NDEyXSkgYXJlIGdpdmVuIHBy
ZWZlcmVudGlhbCB0cmVhdG1lbnQsIHN1Y2ggYXMgbm90IGJlaW5nIGRyb3BwZWQsIGJlaW5nIGdp
dmVuIGFkZGl0aW9uYWwgcmV0cmFuc21pc3Npb24sIG9yIGJlaW5nIHByb2Nlc3NlZCBhaGVhZCBv
ZiBvdGhlcnMuIDwvbGk+CjwvdWw+Cgo8cD4gPC9wPgo8cCBpZD0icmZjLnNlY3Rpb24uMTAucC4y
NyI+UC9BLiBUaGlzIG1lY2hhbmlzbSBkb2VzIG5vdCBzcGVjaWZpY2FsbHkgYWRkcmVzcyB0aGUg
cHJpb3JpdGl6aW5nIG9mIHdvcmsgZHVyaW5nIHRpbWVzIG9mIG92ZXJsb2FkLiBCdXQgaXQgZG9l
cyBub3QgcHJlY2x1ZGUgYW55IHBhcnRpY3VsYXIgbG9jYWwgcG9saWN5LiA8L3A+CjxwLz4KCjx1
bCBjbGFzcz0iZW1wdHkiPgogIDxsaT5SRVEgMTQ6ICBUaGUgbWVjaGFuaXNtIHNob3VsZCBwcm92
aWRlIHVuYW1iaWd1b3VzIGRpcmVjdGlvbnMgdG8gY2xpZW50cyBvbiB3aGVuIHRoZXkgc2hvdWxk
IHJldHJ5IGEgcmVxdWVzdCBhbmQgd2hlbiB0aGV5IHNob3VsZCBub3QuICBUaGlzIGVzcGVjaWFs
bHkgYXBwbGllcyB0byBUQ1AgY29ubmVjdGlvbiBlc3RhYmxpc2htZW50IGFuZCBTSVAgcmVnaXN0
cmF0aW9ucywgaW4gb3JkZXIgdG8gbWl0aWdhdGUgYWdhaW5zdCBhdmFsYW5jaGUgcmVzdGFydC4g
PC9saT4KPC91bD4KCjxwPiA8L3A+CjxwIGlkPSJyZmMuc2VjdGlvbi4xMC5wLjI5Ij5OL0EgdG8g
dGhlIGxvYWQgY29udHJvbCBldmVudCBwYWNrYWdlIG1lY2hhbmlzbSBpdHNlbGYuIDwvcD4KPHAv
PgoKPHVsIGNsYXNzPSJlbXB0eSI+CiAgPGxpPlJFUSAxNTogIEluIGNhc2VzIHdoZXJlIGEgbmV0
d29yayBlbGVtZW50IGZhaWxzLCBpcyBzbyBvdmVybG9hZGVkIHRoYXQgaXQgY2Fubm90IHByb2Nl
c3MgbWVzc2FnZXMsIG9yIGNhbm5vdCBjb21tdW5pY2F0ZSBkdWUgdG8gYSBuZXR3b3JrIGZhaWx1
cmUgb3IgbmV0d29yayBwYXJ0aXRpb24sIGl0IHdpbGwgbm90IGJlIGFibGUgdG8gcHJvdmlkZSBl
eHBsaWNpdCBpbmRpY2F0aW9ucyBvZiB0aGUgbmF0dXJlIG9mIHRoZSBmYWlsdXJlIG9yIGl0cyBs
ZXZlbHMgb2YgY29uZ2VzdGlvbi4gIFRoZSBtZWNoYW5pc20gbXVzdCBwcm9wZXJseSBmdW5jdGlv
biBpbiB0aGVzZSBjYXNlcy4gPC9saT4KPC91bD4KCjxwPiA8L3A+CjxwIGlkPSJyZmMuc2VjdGlv
bi4xMC5wLjMxIj5QL0EuIEJlY2F1c2UgdGhlIGxvYWQgZmlsdGVyaW5nIHBvbGljaWVzIGFyZSBw
cm92aXNpb25lZCBpbiBhZHZhbmNlLCB0aGV5IGFyZSBub3QgYWZmZWN0ZWQgYnkgdGhlIG92ZXJs
b2FkIG9yIGZhaWx1cmUgb2Ygb3RoZXIgbmV0d29yayBlbGVtZW50cy4gQnV0LCBvbiB0aGUgb3Ro
ZXIgaGFuZCwgdGhleSBtYXkgbm90LCBpbiB0aG9zZSBjYXNlcywgYmUgYWJsZSB0byBwcm90ZWN0
IHRoZSBvdmVybG9hZGVkIG5ldHdvcmsgZWxlbWVudHMgKHNlZSBSZXEgMSkuIDwvcD4KPHAvPgoK
PHVsIGNsYXNzPSJlbXB0eSI+CiAgPGxpPlJFUSAxNjogIFRoZSBtZWNoYW5pc20gc2hvdWxkIGF0
dGVtcHQgdG8gbWluaW1pemUgdGhlIG92ZXJoZWFkIG9mIHRoZSBvdmVybG9hZCBjb250cm9sIG1l
c3NhZ2luZy4gPC9saT4KPC91bD4KCjxwPiA8L3A+CjxwIGlkPSJyZmMuc2VjdGlvbi4xMC5wLjMz
Ij5ZZXMuIFRoZSBzdGFuZGFyZGl6ZWQgU0lQIGV2ZW50IHBhY2thZ2UgbWVjaGFuaXNtIDxhIGhy
ZWY9IiNSRkM2NjY1Ij5bUkZDNjY2NV08L2E+IGlzIHVzZWQuIDwvcD4KPHAvPgoKPHVsIGNsYXNz
PSJlbXB0eSI+CiAgPGxpPlJFUSAxNzogIFRoZSBvdmVybG9hZCBtZWNoYW5pc20gbXVzdCBub3Qg
cHJvdmlkZSBhbiBhdmVudWUgZm9yIG1hbGljaW91cyBhdHRhY2ssIGluY2x1ZGluZyBEb1MgYW5k
IEREb1MgYXR0YWNrcy4gPC9saT4KPC91bD4KCjxwPiA8L3A+CjxwIGlkPSJyZmMuc2VjdGlvbi4x
MC5wLjM1Ij5QL0EuIFRoaXMgbWVjaGFuaXNtIGRvZXMgcHJvdmlkZSBhIHBvdGVudGlhbCBhdmVu
dWUgZm9yIG1hbGljaW91cyBhdHRhY2tzLiBUaGVyZWZvcmUgdGhlIHNlY3VyaXR5IG1lY2hhbmlz
bXMgZm9yIFNJUCBldmVudCBwYWNrYWdlcyBpbiBnZW5lcmFsIDxhIGhyZWY9IiNSRkM2NjY1Ij5b
UkZDNjY2NV08L2E+IGFuZCBvZiBzZWN0aW9uIDEwIG9mIHRoaXMgc3BlY2lmaWNhdGlvbiBzaG91
bGQgYmUgdXNlZC4gPC9wPgo8cC8+Cgo8dWwgY2xhc3M9ImVtcHR5Ij4KICA8bGk+UkVRIDE4OiAg
VGhlIG92ZXJsb2FkIG1lY2hhbmlzbSBzaG91bGQgYmUgdW5hbWJpZ3VvdXMgYWJvdXQgd2hldGhl
ciBhIGxvYWQgaW5kaWNhdGlvbiBhcHBsaWVzIHRvIGEgc3BlY2lmaWMgSVAgYWRkcmVzcywgaG9z
dCwgb3IgVVJJLCBzbyB0aGF0IGFuIHVwc3RyZWFtIGVsZW1lbnQgY2FuIGRldGVybWluZSB0aGUg
bG9hZCBvZiB0aGUgZW50aXR5IHRvIHdoaWNoIGEgcmVxdWVzdCBpcyB0byBiZSBzZW50LiA8L2xp
Pgo8L3VsPgoKPHA+IDwvcD4KPHAgaWQ9InJmYy5zZWN0aW9uLjEwLnAuMzciPlllcy4gVGhlIGlk
ZW50aXR5IG9mIGxvYWQgaW5kaWNhdGlvbiBpcyBjb3ZlcmVkIGluIHRoZSBsb2FkIGZpbHRlcmlu
ZyBwb2xpY3kgZm9ybWF0IGRlZmluaXRpb24gaW4gPGEgaHJlZj0iI3NlYzpmaWx0ZXJjb250ZW50
Ij5TZWN0aW9uIDUuMTwvYT4uIDwvcD4KPHAvPgoKPHVsIGNsYXNzPSJlbXB0eSI+CiAgPGxpPlJF
USAxOTogIFRoZSBzcGVjaWZpY2F0aW9uIGZvciB0aGUgb3ZlcmxvYWQgbWVjaGFuaXNtIHNob3Vs
ZCBnaXZlIGd1aWRhbmNlIG9uIHdoaWNoIG1lc3NhZ2UgdHlwZXMgbWlnaHQgYmUgZGVzaXJhYmxl
IHRvIHByb2Nlc3Mgb3ZlciBvdGhlcnMgZHVyaW5nIHRpbWVzIG9mIG92ZXJsb2FkLCBiYXNlZCBv
biBTSVAtc3BlY2lmaWMgY29uc2lkZXJhdGlvbnMuICBGb3IgZXhhbXBsZSwgaXQgbWF5IGJlIG1v
cmUgYmVuZWZpY2lhbCB0byBwcm9jZXNzIGEgU1VCU0NSSUJFIHJlZnJlc2ggd2l0aCBFeHBpcmVz
IG9mIHplcm8gdGhhbiBhIFNVQlNDUklCRSByZWZyZXNoIHdpdGggYSBub24temVybyBleHBpcmF0
aW9uIChzaW5jZSB0aGUgZm9ybWVyIHJlZHVjZXMgdGhlIG92ZXJhbGwgYW1vdW50IG9mIGxvYWQg
b24gdGhlIGVsZW1lbnQpLCBvciB0byBwcm9jZXNzIHJlLUlOVklURXMgb3ZlciBuZXcgSU5WSVRF
cy4gPC9saT4KPC91bD4KCjxwPiA8L3A+CjxwIGlkPSJyZmMuc2VjdGlvbi4xMC5wLjM5Ij5OL0Eg
dG8gdGhlIGxvYWQgY29udHJvbCBldmVudCBwYWNrYWdlIG1lY2hhbmlzbSBpdHNlbGYuIDwvcD4K
PHAvPgoKPHVsIGNsYXNzPSJlbXB0eSI+CiAgPGxpPlJFUSAyMDogIEluIGEgbWl4ZWQgZW52aXJv
bm1lbnQgb2YgZWxlbWVudHMgdGhhdCBkbyBhbmQgZG8gbm90IGltcGxlbWVudCB0aGUgb3Zlcmxv
YWQgbWVjaGFuaXNtLCBubyBkaXNwcm9wb3J0aW9uYXRlIGJlbmVmaXQgc2hhbGwgYWNjcnVlIHRv
IHRoZSB1c2VycyBvciBvcGVyYXRvcnMgb2YgdGhlIGVsZW1lbnRzIHRoYXQgZG8gbm90IGltcGxl
bWVudCB0aGUgbWVjaGFuaXNtLiA8L2xpPgo8L3VsPgoKPHA+IDwvcD4KPHAgaWQ9InJmYy5zZWN0
aW9uLjEwLnAuNDEiPk5vLiBUaGlzIG1lY2hhbmlzbSBpcyBlbnRpcmVseSBkZXBlbmRlbnQgb24g
dGhlIHBhcnRpY2lwYXRpb24gb2YgYWxsIHBvc3NpYmxlIG5laWdoYm9ycy4gSW4gb3JkZXIgdG8g
c2F0aXNmeSBSZXEgMjAsIGl0IHNob3VsZCBiZSB1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggb3Ro
ZXIgbWVjaGFuaXNtcywgc29tZSBvZiB3aGljaCBhcmUgZGVzY3JpYmVkIGluIDxhIGhyZWY9IiNz
ZWM6bmV0dXNhZ2UiPlNlY3Rpb24gNS40PC9hPi4gPC9wPgo8cC8+Cgo8dWwgY2xhc3M9ImVtcHR5
Ij4KICA8bGk+UkVRIDIxOiAgVGhlIG92ZXJsb2FkIG1lY2hhbmlzbSBzaG91bGQgZW5zdXJlIHRo
YXQgdGhlIHN5c3RlbSByZW1haW5zIHN0YWJsZS4gIFdoZW4gdGhlIG9mZmVyZWQgbG9hZCBkcm9w
cyBmcm9tIGFib3ZlIHRoZSBvdmVyYWxsIGNhcGFjaXR5IG9mIHRoZSBuZXR3b3JrIHRvIGJlbG93
IHRoZSBvdmVyYWxsIGNhcGFjaXR5LCB0aGUgdGhyb3VnaHB1dCBzaG91bGQgc3RhYmlsaXplIGFu
ZCBiZWNvbWUgZXF1YWwgdG8gdGhlIG9mZmVyZWQgbG9hZC4gPC9saT4KPC91bD4KCjxwPiA8L3A+
CjxwIGlkPSJyZmMuc2VjdGlvbi4xMC5wLjQzIj5OL0EgdG8gdGhlIGxvYWQgY29udHJvbCBldmVu
dCBwYWNrYWdlIG1lY2hhbmlzbSBpdHNlbGYuIDwvcD4KPHAvPgoKPHVsIGNsYXNzPSJlbXB0eSI+
CiAgPGxpPlJFUSAyMjogIEl0IG11c3QgYmUgcG9zc2libGUgdG8gZGlzYWJsZSB0aGUgcmVwb3J0
aW5nIG9mIGxvYWQgaW5mb3JtYXRpb24gdG93YXJkcyB1cHN0cmVhbSB0YXJnZXRzIGJhc2VkIG9u
IHRoZSBpZGVudGl0eSBvZiB0aG9zZSB0YXJnZXRzLiAgVGhpcyBhbGxvd3MgYSBkb21haW4gYWRt
aW5pc3RyYXRvciB3aG8gY29uc2lkZXJzIHRoZSBsb2FkIG9mIHRoZWlyIGVsZW1lbnRzIHRvIGJl
IHNlbnNpdGl2ZSBpbmZvcm1hdGlvbiwgdG8gcmVzdHJpY3QgYWNjZXNzIHRvIHRoYXQgaW5mb3Jt
YXRpb24uICBPZiBjb3Vyc2UsIGluIHN1Y2ggY2FzZXMsIHRoZXJlIGlzIG5vIGV4cGVjdGF0aW9u
IHRoYXQgdGhlIG92ZXJsb2FkIG1lY2hhbmlzbSBpdHNlbGYgd2lsbCBoZWxwIHByZXZlbnQgb3Zl
cmxvYWQgZnJvbSB0aGF0IHVwc3RyZWFtIHRhcmdldC4gPC9saT4KPC91bD4KCjxwPiA8L3A+Cjxw
IGlkPSJyZmMuc2VjdGlvbi4xMC5wLjQ1Ij5OL0EgdG8gdGhlIGxvYWQgY29udHJvbCBldmVudCBw
YWNrYWdlIG1lY2hhbmlzbSBpdHNlbGYuIDwvcD4KPHAvPgoKPHVsIGNsYXNzPSJlbXB0eSI+CiAg
PGxpPlJFUSAyMzogIEl0IG11c3QgYmUgcG9zc2libGUgZm9yIHRoZSBvdmVybG9hZCBtZWNoYW5p
c20gdG8gd29yayBpbiBjYXNlcyB3aGVyZSB0aGVyZSBpcyBhIGxvYWQgYmFsYW5jZXIgaW4gZnJv
bnQgb2YgYSBmYXJtIG9mIHByb3hpZXMuIDwvbGk+CjwvdWw+Cgo8cD4gPC9wPgo8cCBpZD0icmZj
LnNlY3Rpb24uMTAucC40NyI+WWVzLiBUaGUgbG9hZCBjb250cm9sIGV2ZW50IHBhY2thZ2UgbWVj
aGFuaXNtIGRvZXMgbm90IHByZWNsdWRlIGl0cyB1c2UgaW4gYSBzY2VuYXJpbyB3aXRoIHNlcnZl
ciBmYXJtcy4gPC9wPgo8aDEgaWQ9InJmYy5zZWN0aW9uLjExIj48YSBocmVmPSIjcmZjLnNlY3Rp
b24uMTEiPjExLjwvYT4gPGEgaHJlZj0iI3NlYzpzZWN1cml0eSIgaWQ9InNlYzpzZWN1cml0eSI+
U2VjdXJpdHkgQ29uc2lkZXJhdGlvbnM8L2E+PC9oMT4KPHAgaWQ9InJmYy5zZWN0aW9uLjExLnAu
MSI+VHdvIGFzcGVjdHMgb2Ygc2VjdXJpdHkgY29uc2lkZXJhdGlvbnMgYXJpc2UgZnJvbSB0aGlz
IHNwZWNpZmljYXRpb24uIE9uZSBpcyB0aGUgU0lQIGV2ZW50IG5vdGlmaWNhdGlvbiBmcmFtZXdv
cmstYmFzZWQgbG9hZCBmaWx0ZXJpbmcgcG9saWN5IGRpc3RyaWJ1dGlvbiBtZWNoYW5pc20sIHRo
ZSBvdGhlciBpcyB0aGUgbG9hZCBmaWx0ZXJpbmcgcG9saWN5IGVuZm9yY2VtZW50IG1lY2hhbmlz
bS4gPC9wPgo8cCBpZD0icmZjLnNlY3Rpb24uMTEucC4yIj5TZWN1cml0eSBjb25zaWRlcmF0aW9u
cyBmb3IgU0lQIGV2ZW50IHBhY2thZ2UgbWVjaGFuaXNtcyBhcmUgY292ZXJlZCBpbiBTZWN0aW9u
IDYgb2YgPGEgaHJlZj0iI1JGQzY2NjUiPltSRkM2NjY1XTwvYT4uIEEgcGFydGljdWxhcmx5IHJl
bGV2YW50IHNlY3VyaXR5IGNvbmNlcm4gZm9yIHRoaXMgZXZlbnQgcGFja2FnZSBpcyB0aGF0IGlm
IHRoZSBub3RpZmllcnMgY2FuIGJlIHNwb29mZWQsIGF0dGFja2VycyBjYW4gc2VuZCBmYWtlIG5v
dGlmaWNhdGlvbnMgYXNraW5nIHN1YnNjcmliZXJzIHRvIHRocm90dGxlIGFsbCB0cmFmZmljLCBs
ZWFkaW5nIHRvIERlbmlhbC1vZi1TZXJ2aWNlIGF0dGFja3MuIFRoZXJlZm9yZSwgdGhpcyBTSVAg
bG9hZCBmaWx0ZXJpbmcgbWVjaGFuaXNtIE1VU1QgYmUgdXNlZCBpbiBhIFRydXN0IERvbWFpbiAo
PGEgaHJlZj0iI3NlYzpuZXR1c2FnZSI+U2VjdGlvbiA1LjQ8L2E+KS4gQnV0IGlmIGEgbGVnaXRp
bWF0ZSBub3RpZmllciBpbiB0aGUgVHJ1c3QgRG9tYWluIGlzIGl0c2VsZiBjb21wcm9taXNlZCwg
YWRkaXRpb25hbCBtZWNoYW5pc21zIHdpbGwgYmUgbmVlZGVkIHRvIGRldGVjdCB0aGUgYXR0YWNr
LjwvcD4KPHAgaWQ9InJmYy5zZWN0aW9uLjExLnAuMyI+U2VjdXJpdHkgY29uc2lkZXJhdGlvbnMg
Zm9yIGxvYWQgZmlsdGVyaW5nIHBvbGljeSBlbmZvcmNlbWVudCBkZXBlbmRzIHZlcnkgbXVjaCBv
biB0aGUgY29udGVudHMgb2YgdGhlIHBvbGljeS4gVGhpcyBzcGVjaWZpY2F0aW9uIGRlZmluZXMg
cG9zc2libGUgbWF0Y2ggb2YgdGhlIGZvbGxvd2luZyBTSVAgaGVhZGVyIGZpZWxkcyBpbiBhIGxv
YWQgZmlsdGVyaW5nIHBvbGljeTogJmx0O2Zyb20mZ3Q7LCAmbHQ7dG8mZ3Q7LCAmbHQ7cmVxdWVz
dC11cmkmZ3Q7IGFuZCAmbHQ7cC1hc3NlcnRlZC1pZGVudGl0eSZndDsuIFRoZSBleGFjdCByZXF1
aXJlbWVudCB0byBhdXRoZW50aWNhdGUgYW5kIGF1dGhvcml6ZSB0aGVzZSBmaWVsZHMgaXMgdXAg
dG8gdGhlIHNlcnZpY2UgcHJvdmlkZXIuIEluIGdlbmVyYWwsIGlmIHRoZSBpZGVudGl0eSBmaWVs
ZCByZXByZXNlbnRzIHRoZSBzb3VyY2Ugb2YgdGhlIHJlcXVlc3QsIGl0IFNIT1VMRCBiZSBhdXRo
ZW50aWNhdGVkIGFuZCBhdXRob3JpemVkOyBpZiB0aGUgaWRlbnRpdHkgZmllbGQgcmVwcmVzZW50
cyB0aGUgZGVzdGluYXRpb24gb2YgdGhlIHJlcXVlc3QsIHRoZSBhdXRoZW50aWNhdGlvbiBhbmQg
YXV0aG9yaXphdGlvbiBpcyBvcHRpb25hbC4gPC9wPgo8cCBpZD0icmZjLnNlY3Rpb24uMTEucC40
Ij5JbiBhZGRpdGlvbiwgdGhlcmUgY291bGQgYmUgb25lIHNwZWNpZmljIHR5cGUgb2YgYXR0YWNr
IGFyb3VuZCB0aGUgdXNlIHRoZSAicmVkaXJlY3QiIGFjdGlvbiAoPGEgaHJlZj0iI3NlYzphY3Rp
b24iPlNlY3Rpb24gNy40PC9hPikuIEFzc3VtaW5nIGEgYnVuY2ggb2YgU0lQIHByb3h5IHNlcnZl
cnMgaW4gYSBUcnVzdCBEb21haW4gYXJlIHVzaW5nIFVEUCwgYW5kIGNvbmZpZ3VyZWQgdG8gZ2V0
IHRoZWlyIHBvbGljaWVzIGZyb20gYSBjZW50cmFsIHNlcnZlci4gQW4gYXR0YWNrZXIgc3Bvb2Zz
IHRoZSBjZW50cmFsIHNlcnZlcidzIGFkZHJlc3MgdG8gc2VuZCBhIGJ1bmNoIG9mIE5PVElGWSBi
b2RpZXMgdGVsbGluZyB0aGUgcHJveHkgc2VydmVycyB0byByZWRpcmVjdCBhbGwgY2FsbHMgdG8g
dmljdGltQG91dHNpZGUtb2YtdHJ1c3QtZG9tYWluLmNvbS4gVGhlIHByb3h5IHNlcnZlcnMgdGhl
biByZWRpcmVjdCBhbGwgY2FsbHMgdG8gdmljdGltLCB3aG8gaXMgdGhlbiBEb1NlZCBvZmYgb2Yg
dGhlIEludGVybmV0LiBUbyBhZGRyZXNzIHRoaXMgdHlwZSBvZiB0aHJlYXQsIHRoaXMgZG9jdW1l
bnQgcmVxdWlyZXMgdGhhdCBhIFRydXN0IERvbWFpbiBhZ3JlZXMgb24gd2hhdCB0eXBlcyBvZiBj
YWxscyBjYW4gYmUgYWZmZWN0ZWQgYXMgd2VsbCBhcyBvbiB0aGUgZGVzdGluYXRpb25zIHRvIHdo
aWNoIGNhbGxzIG1heSBiZSByZWRpcmVjdGVkLCBhcyBpbiA8YSBocmVmPSIjc2VjOm5ldHVzYWdl
Ij5TZWN0aW9uIDUuNDwvYT4uPC9wPgo8aDEgaWQ9InJmYy5zZWN0aW9uLjEyIj48YSBocmVmPSIj
cmZjLnNlY3Rpb24uMTIiPjEyLjwvYT4gPGEgaHJlZj0iI3NlYzppYW5hIiBpZD0ic2VjOmlhbmEi
PklBTkEgQ29uc2lkZXJhdGlvbnM8L2E+PC9oMT4KPHAgaWQ9InJmYy5zZWN0aW9uLjEyLnAuMSI+
VGhpcyBzcGVjaWZpY2F0aW9uIHJlZ2lzdGVycyBhIFNJUCBldmVudCBwYWNrYWdlLCBhIG5ldyBN
SU1FIHR5cGUsIGEgbmV3IFhNTCBuYW1lc3BhY2UsIGFuZCBhIG5ldyBYTUwgc2NoZW1hLiA8L3A+
CjxoMSBpZD0icmZjLnNlY3Rpb24uMTIuMSI+PGEgaHJlZj0iI3JmYy5zZWN0aW9uLjEyLjEiPjEy
LjEuPC9hPiA8YSBocmVmPSIjc2VjOnBrZ3JlZyIgaWQ9InNlYzpwa2dyZWciPkxvYWQgQ29udHJv
bCBFdmVudCBQYWNrYWdlIFJlZ2lzdHJhdGlvbjwvYT48L2gxPgo8cCBpZD0icmZjLnNlY3Rpb24u
MTIuMS5wLjEiPlRoaXMgc2VjdGlvbiByZWdpc3RlcnMgYW4gZXZlbnQgcGFja2FnZSBiYXNlZCBv
biB0aGUgcmVnaXN0cmF0aW9uIHByb2NlZHVyZXMgZGVmaW5lZCBpbiA8YSBocmVmPSIjUkZDNjY2
NSI+W1JGQzY2NjVdPC9hPi4gPC9wPgo8cCBpZD0icmZjLnNlY3Rpb24uMTIuMS5wLjIiPlBhY2th
Z2UgbmFtZTogbG9hZC1jb250cm9sIDwvcD4KPHAgaWQ9InJmYy5zZWN0aW9uLjEyLjEucC4zIj5U
eXBlOiBwYWNrYWdlIDwvcD4KPHAgaWQ9InJmYy5zZWN0aW9uLjEyLjEucC40Ij5QdWJsaXNoZWQg
c3BlY2lmaWNhdGlvbjogVGhpcyBzcGVjaWZpY2F0aW9uIDwvcD4KPHAgaWQ9InJmYy5zZWN0aW9u
LjEyLjEucC41Ij5QZXJzb24gdG8gY29udGFjdDogQ2hhcmxlcyBTaGVuLCBjaGFybGVzQGNzLmNv
bHVtYmlhLmVkdSA8L3A+CjxoMSBpZD0icmZjLnNlY3Rpb24uMTIuMiI+PGEgaHJlZj0iI3JmYy5z
ZWN0aW9uLjEyLjIiPjEyLjIuPC9hPiA8YSBocmVmPSIjc2VjOm1pbWVyZWciIGlkPSJzZWM6bWlt
ZXJlZyI+YXBwbGljYXRpb24vbG9hZC1jb250cm9sK3htbCBNSU1FIFJlZ2lzdHJhdGlvbjwvYT48
L2gxPgo8cCBpZD0icmZjLnNlY3Rpb24uMTIuMi5wLjEiPlRoaXMgc2VjdGlvbiByZWdpc3RlcnMg
YSBuZXcgTUlNRSB0eXBlIGJhc2VkIG9uIHRoZSBwcm9jZWR1cmVzIGRlZmluZWQgaW4gPGEgaHJl
Zj0iI1JGQzY4MzgiPltSRkM2ODM4XTwvYT4gYW5kIGd1aWRlbGluZXMgaW4gPGEgaHJlZj0iI1JG
QzMwMjMiPltSRkMzMDIzXTwvYT4uIDwvcD4KPHAvPgoKPHVsIGNsYXNzPSJlbXB0eSI+CiAgPGxp
Pk1JTUUgbWVkaWEgdHlwZSBuYW1lOiBhcHBsaWNhdGlvbiA8L2xpPgogIDxsaT48YnIvPiBNSU1F
IHN1YnR5cGUgbmFtZTogbG9hZC1jb250cm9sK3htbCA8L2xpPgogIDxsaT48YnIvPiBNYW5kYXRv
cnkgcGFyYW1ldGVyczogbm9uZSA8L2xpPgo8L3VsPgoKPHA+IDwvcD4KPHAgaWQ9InJmYy5zZWN0
aW9uLjEyLjIucC4zIj5PcHRpb25hbCBwYXJhbWV0ZXJzOiBTYW1lIGFzIGNoYXJzZXQgcGFyYW1l
dGVyIGFwcGxpY2F0aW9uL3htbCBpbiA8YSBocmVmPSIjUkZDMzAyMyI+W1JGQzMwMjNdPC9hPiA8
L3A+CjxwIGlkPSJyZmMuc2VjdGlvbi4xMi4yLnAuNCI+RW5jb2RpbmcgY29uc2lkZXJhdGlvbnM6
IFNhbWUgYXMgZW5jb2RpbmcgY29uc2lkZXJhdGlvbnMgb2YgYXBwbGljYXRpb24veG1sIGluIDxh
IGhyZWY9IiNSRkMzMDIzIj5bUkZDMzAyM108L2E+IDwvcD4KPHAgaWQ9InJmYy5zZWN0aW9uLjEy
LjIucC41Ij5TZWN1cml0eSBjb25zaWRlcmF0aW9uczogU2VlIFNlY3Rpb24gMTAgb2YgPGEgaHJl
Zj0iI1JGQzMwMjMiPltSRkMzMDIzXTwvYT4gYW5kIDxhIGhyZWY9IiNzZWM6c2VjdXJpdHkiPlNl
Y3Rpb24gMTE8L2E+IG9mIHRoaXMgc3BlY2lmaWNhdGlvbiA8L3A+CjxwIGlkPSJyZmMuc2VjdGlv
bi4xMi4yLnAuNiI+SW50ZXJvcGVyYWJpbGl0eSBjb25zaWRlcmF0aW9uczogTm9uZSA8L3A+Cjxw
IGlkPSJyZmMuc2VjdGlvbi4xMi4yLnAuNyI+UHVibGlzaGVkIFNwZWNpZmljYXRpb246IFRoaXMg
c3BlY2lmaWNhdGlvbiA8L3A+CjxwIGlkPSJyZmMuc2VjdGlvbi4xMi4yLnAuOCI+QXBwbGljYXRp
b25zIHdoaWNoIHVzZSB0aGlzIG1lZGlhIHR5cGU6IGxvYWQgY29udHJvbCBvZiBTSVAgZW50aXRp
ZXMgPC9wPgo8cCBpZD0icmZjLnNlY3Rpb24uMTIuMi5wLjkiPkFkZGl0aW9uYWwgaW5mb3JtYXRp
b246IDwvcD4KPHAgaWQ9InJmYy5zZWN0aW9uLjEyLjIucC4xMCI+TWFnaWMgbnVtYmVyOiBOb25l
IDwvcD4KPHAgaWQ9InJmYy5zZWN0aW9uLjEyLjIucC4xMSI+RmlsZSBleHRlbnNpb246IC54bWwg
PC9wPgo8cCBpZD0icmZjLnNlY3Rpb24uMTIuMi5wLjEyIj5NYWNpbnRvc2ggZmlsZSB0eXBlIGNv
ZGU6ICdURVhUJyA8L3A+CjxwIGlkPSJyZmMuc2VjdGlvbi4xMi4yLnAuMTMiPlBlcnNvbmFsIGFu
ZCBlbWFpbCBhZGRyZXNzIGZvciBmdXJ0aGVyIGluZm9ybWF0aW9uOiA8L3A+CjxwIGlkPSJyZmMu
c2VjdGlvbi4xMi4yLnAuMTQiPkNoYXJsZXMgU2hlbiwgY2hhcmxlc0Bjcy5jb2x1bWJpYS5lZHUg
PC9wPgo8cCBpZD0icmZjLnNlY3Rpb24uMTIuMi5wLjE1Ij5JbnRlbmRlZCB1c2FnZTogQ09NTU9O
IDwvcD4KPHAgaWQ9InJmYy5zZWN0aW9uLjEyLjIucC4xNiI+QXV0aG9yL0NoYW5nZSBDb250cm9s
bGVyOiBJRVRGIFNPQyBXb3JraW5nIEdyb3VwICZsdDtzaXAtb3ZlcmxvYWRAaWV0Zi5vcmcmZ3Q7
LCBhcyBkZXNpZ25hdGVkIGJ5IHRoZSBJRVNHICZsdDtpZXNnQGlldGYub3JnJmd0OyA8L3A+Cjxo
MSBpZD0icmZjLnNlY3Rpb24uMTIuMyI+PGEgaHJlZj0iI3JmYy5zZWN0aW9uLjEyLjMiPjEyLjMu
PC9hPiA8YSBocmVmPSIjc2VjOnNjaGVtYXJlZyIgaWQ9InNlYzpzY2hlbWFyZWciPkxvYWQgQ29u
dHJvbCBTY2hlbWEgUmVnaXN0cmF0aW9uPC9hPjwvaDE+CjxwIGlkPSJyZmMuc2VjdGlvbi4xMi4z
LnAuMSI+VVJJOiB1cm46aWV0ZjpwYXJhbXM6eG1sOnNjaGVtYTpsb2FkLWNvbnRyb2wgPC9wPgo8
cCBpZD0icmZjLnNlY3Rpb24uMTIuMy5wLjIiPlJlZ2lzdHJhbnQgQ29udGFjdDogSUVURiBTT0Mg
d29ya2luZyBncm91cCwgQ2hhcmxlcyBTaGVuIChjaGFybGVzQGNzLmNvbHVtYmlhLmVkdSkuIDwv
cD4KPHAgaWQ9InJmYy5zZWN0aW9uLjEyLjMucC4zIj5YTUw6IHRoZSBYTUwgc2NoZW1hIHRvIGJl
IHJlZ2lzdGVyZWQgaXMgY29udGFpbmVkIGluIDxhIGhyZWY9IiNzZWM6c2NoZW1hIj5TZWN0aW9u
IDg8L2E+LiA8L3A+CjxwIGlkPSJyZmMuc2VjdGlvbi4xMi4zLnAuNCI+SXRzIGZpcnN0IGxpbmUg
aXMgPC9wPgo8cCBpZD0icmZjLnNlY3Rpb24uMTIuMy5wLjUiPiZsdDs/eG1sIHZlcnNpb249IjEu
MCIgZW5jb2Rpbmc9IlVURi04Ij8mZ3Q7IDwvcD4KPHAgaWQ9InJmYy5zZWN0aW9uLjEyLjMucC42
Ij5hbmQgaXRzIGxhc3QgbGluZSBpcyA8L3A+CjxwIGlkPSJyZmMuc2VjdGlvbi4xMi4zLnAuNyI+
Jmx0Oy94czpzY2hlbWEmZ3Q7IDwvcD4KPGgxIGlkPSJyZmMuc2VjdGlvbi4xMyI+PGEgaHJlZj0i
I3JmYy5zZWN0aW9uLjEzIj4xMy48L2E+IDxhIGhyZWY9IiNzZWM6YWNrIiBpZD0ic2VjOmFjayI+
QWNrbm93bGVkZ2VtZW50czwvYT48L2gxPgo8cCBpZD0icmZjLnNlY3Rpb24uMTMucC4xIj5UaGUg
YXV0aG9ycyB3b3VsZCBsaWtlIHRvIHRoYW5rIFJpY2hhcmQgQmFybmVzLCBCcnVubyBDaGF0cmFz
LCBNYXJ0aW4gRG9sbHksIEtlaXRoIERyYWdlLCBBc2h1dG9zaCBEdXR0YSwgSmFuZXQgR3Vubiwg
VmlqYXkgR3VyYmFuaSwgVm9sa2VyIEhpbHQsIEdlb2ZmIEh1bnQsIENhcm9seW4gSm9obnNvbiwg
SGFkcmllbCBLYXBsYW4sIFBhdWwgS3l6aXZhdCwgU2FsdmF0b3JlIExvcmV0bywgVGltb3RoeSBN
b3JhbiwgRXJpYyBOb2VsLCBQYXJ0aGFzYXJhdGhpIFIsIEFkYW0gUm9hY2gsIFNoaWRhIFNjaHVi
ZXJ0LCBSb2JlcnQgU3BhcmtzLCBQaGlsIFdpbGxpYW1zIGFuZCBvdGhlciBtZW1iZXJzIG9mIHRo
ZSBTT0MgYW5kIFNJUFBJTkcgd29ya2luZyBncm91cCBmb3IgbWFueSBoZWxwZnVsIGNvbW1lbnRz
LiBJbiBwYXJ0aWN1bGFyLCBCcnVubyBDaGF0cmFzIHByb3Bvc2VkIHRoZSAmbHQ7bWV0aG9kJmd0
OyBhbmQgJmx0O3RhcmdldC1zaXAtZW50aXR5Jmd0OyBjb25kaXRpb24gZWxlbWVudHMgYWxvbmcg
d2l0aCBtYW55IG90aGVyIHRleHQgaW1wcm92ZW1lbnRzLiBKYW5ldCBHdW5uIHByb3ZpZGVkIGRl
dGFpbGVkIHRleHQgc3VnZ2VzdGlvbnMgaW5jbHVkaW5nIDxhIGhyZWY9IiNzZWM6cmVxbWF0Y2gi
PlNlY3Rpb24gMTA8L2E+LiBFcmljIE5vZWwgc3VnZ2VzdGVkIGNsYXJpZmljYXRpb24gb24gbG9h
ZCBmaWx0ZXJpbmcgcG9saWN5IGRpc3RyaWJ1dGlvbiBpbml0aWFsaXphdGlvbiBwcm9jZXNzLiBT
aGlkYSBTY2h1YmVydCBtYWRlIG1hbnkgc3VnZ2VzdGlvbnMgc3VjaCBhcyB0ZXJtaW5vbG9neSB1
c2FnZS4gUGhpbCBXaWxsaWFtcyBzdWdnZXN0ZWQgYWRkaW5nIHN1cHBvcnQgZm9yIGRlbHRhIHVw
ZGF0ZXMuIEFzaHV0b3NoIER1dHRhIGdhdmUgcG9pbnRlcnMgdG8gUFNUTiByZWZlcmVuY2VzLiBB
ZGFtIFJvYWNoIHN1Z2dlc3RlZCBSRkM2NjY1LXJlbGF0ZWQgYW5kIG90aGVyIGhlbHBmdWwgY2xh
cmlmaWNhdGlvbnMuIFJpY2hhcmQgQmFybmVzIG1hZGUgbWFueSBzdWdnZXN0aW9ucyBzdWNoIGFz
IHJlZmVyZW5jaW5nIHRoZSBUcnVzdCBEb21haW4gY29uY2VwdCBvZiBSRkMzMzI0LCB0aGUgdXNl
IG9mIGEgc2VwYXJhdGUgZWxlbWVudCBmb3IgJ3RlbCcgVVJJIGdyb3VwaW5nIGFuZCBhZGRyZXNz
aW5nIHRoZSAicmVkaXJlY3QiIGFjdGlvbiBzZWN1cml0eSB0aHJlYXQuICA8L3A+CjxoMSBpZD0i
cmZjLnJlZmVyZW5jZXMiPjxhIGhyZWY9IiNyZmMucmVmZXJlbmNlcyI+MTQuPC9hPiBSZWZlcmVu
Y2VzPC9oMT4KPGgxIGlkPSJyZmMucmVmZXJlbmNlcy4xIj48YSBocmVmPSIjcmZjLnJlZmVyZW5j
ZXMuMSI+MTQuMS48L2E+IE5vcm1hdGl2ZSBSZWZlcmVuY2VzPC9oMT4KPHRhYmxlPgogIDx0Ym9k
eT4KICAgIDx0cj4KICAgICAgPHRkIGNsYXNzPSJyZWZlcmVuY2UiPgogICAgICAgIDxiIGlkPSJS
RkMyMTE5Ij5bUkZDMjExOV08L2I+CiAgICAgIDwvdGQ+CiAgICAgIDx0ZCBjbGFzcz0idG9wIj48
YSBocmVmPSJtYWlsdG86c29iQGhhcnZhcmQuZWR1IiB0aXRsZT0iSGFydmFyZCBVbml2ZXJzaXR5
Ij5CcmFkbmVyLCBTLjwvYT4sICI8YSBocmVmPSJodHRwOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9y
ZmMyMTE5Ij5LZXkgd29yZHMgZm9yIHVzZSBpbiBSRkNzIHRvIEluZGljYXRlIFJlcXVpcmVtZW50
IExldmVsczwvYT4iLCBCQ1AgMTQsIFJGQyAyMTE5LCBNYXJjaCAxOTk3LjwvdGQ+CiAgICA8L3Ry
PgogICAgPHRyPgogICAgICA8dGQgY2xhc3M9InJlZmVyZW5jZSI+CiAgICAgICAgPGIgaWQ9IlJG
QzIxNDEiPltSRkMyMTQxXTwvYj4KICAgICAgPC90ZD4KICAgICAgPHRkIGNsYXNzPSJ0b3AiPjxh
IGhyZWY9Im1haWx0bzpqYXloYXdrQGRzLmludGVybmljLm5ldCIgdGl0bGU9IkFUJmFtcDtUIj5N
b2F0cywgUi48L2E+LCAiPGEgaHJlZj0iaHR0cDovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjMjE0
MSI+VVJOIFN5bnRheDwvYT4iLCBSRkMgMjE0MSwgTWF5IDE5OTcuPC90ZD4KICAgIDwvdHI+CiAg
ICA8dHI+CiAgICAgIDx0ZCBjbGFzcz0icmVmZXJlbmNlIj4KICAgICAgICA8YiBpZD0iUkZDMzAy
MyI+W1JGQzMwMjNdPC9iPgogICAgICA8L3RkPgogICAgICA8dGQgY2xhc3M9InRvcCI+PGE+TXVy
YXRhLCBNLjwvYT4sIDxhPlN0LiBMYXVyZW50LCBTLjwvYT4gYW5kIDxhPkQuIEtvaG48L2E+LCAi
PGEgaHJlZj0iaHR0cDovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjMzAyMyI+WE1MIE1lZGlhIFR5
cGVzPC9hPiIsIFJGQyAzMDIzLCBKYW51YXJ5IDIwMDEuPC90ZD4KICAgIDwvdHI+CiAgICA8dHI+
CiAgICAgIDx0ZCBjbGFzcz0icmVmZXJlbmNlIj4KICAgICAgICA8YiBpZD0iUkZDMzI2MSI+W1JG
QzMyNjFdPC9iPgogICAgICA8L3RkPgogICAgICA8dGQgY2xhc3M9InRvcCI+PGE+Um9zZW5iZXJn
LCBKLjwvYT4sIDxhPlNjaHVsenJpbm5lLCBILjwvYT4sIDxhPkNhbWFyaWxsbywgRy48L2E+LCA8
YT5Kb2huc3RvbiwgQS48L2E+LCA8YT5QZXRlcnNvbiwgSi48L2E+LCA8YT5TcGFya3MsIFIuPC9h
PiwgPGE+SGFuZGxleSwgTS48L2E+IGFuZCA8YT5FLiBTY2hvb2xlcjwvYT4sICI8YSBocmVmPSJo
dHRwOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmMzMjYxIj5TSVA6IFNlc3Npb24gSW5pdGlhdGlv
biBQcm90b2NvbDwvYT4iLCBSRkMgMzI2MSwgSnVuZSAyMDAyLjwvdGQ+CiAgICA8L3RyPgogICAg
PHRyPgogICAgICA8dGQgY2xhc3M9InJlZmVyZW5jZSI+CiAgICAgICAgPGIgaWQ9IlJGQzM2ODgi
PltSRkMzNjg4XTwvYj4KICAgICAgPC90ZD4KICAgICAgPHRkIGNsYXNzPSJ0b3AiPjxhPk1lYWxs
aW5nLCBNLjwvYT4sICI8YSBocmVmPSJodHRwOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmMzNjg4
Ij5UaGUgSUVURiBYTUwgUmVnaXN0cnk8L2E+IiwgQkNQIDgxLCBSRkMgMzY4OCwgSmFudWFyeSAy
MDA0LjwvdGQ+CiAgICA8L3RyPgogICAgPHRyPgogICAgICA8dGQgY2xhc3M9InJlZmVyZW5jZSI+
CiAgICAgICAgPGIgaWQ9IlJGQzM5NjYiPltSRkMzOTY2XTwvYj4KICAgICAgPC90ZD4KICAgICAg
PHRkIGNsYXNzPSJ0b3AiPjxhPlNjaHVsenJpbm5lLCBILjwvYT4sICI8YSBocmVmPSJodHRwOi8v
dG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmMzOTY2Ij5UaGUgdGVsIFVSSSBmb3IgVGVsZXBob25lIE51
bWJlcnM8L2E+IiwgUkZDIDM5NjYsIERlY2VtYmVyIDIwMDQuPC90ZD4KICAgIDwvdHI+CiAgICA8
dHI+CiAgICAgIDx0ZCBjbGFzcz0icmVmZXJlbmNlIj4KICAgICAgICA8YiBpZD0iUkZDNDc0NSI+
W1JGQzQ3NDVdPC9iPgogICAgICA8L3RkPgogICAgICA8dGQgY2xhc3M9InRvcCI+PGE+U2NodWx6
cmlubmUsIEguPC9hPiwgPGE+VHNjaG9mZW5pZywgSC48L2E+LCA8YT5Nb3JyaXMsIEouPC9hPiwg
PGE+Q3VlbGxhciwgSi48L2E+LCA8YT5Qb2xrLCBKLjwvYT4gYW5kIDxhPkouIFJvc2VuYmVyZzwv
YT4sICI8YSBocmVmPSJodHRwOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmM0NzQ1Ij5Db21tb24g
UG9saWN5OiBBIERvY3VtZW50IEZvcm1hdCBmb3IgRXhwcmVzc2luZyBQcml2YWN5IFByZWZlcmVu
Y2VzPC9hPiIsIFJGQyA0NzQ1LCBGZWJydWFyeSAyMDA3LjwvdGQ+CiAgICA8L3RyPgogICAgPHRy
PgogICAgICA8dGQgY2xhc3M9InJlZmVyZW5jZSI+CiAgICAgICAgPGIgaWQ9IlJGQzY2NjUiPltS
RkM2NjY1XTwvYj4KICAgICAgPC90ZD4KICAgICAgPHRkIGNsYXNzPSJ0b3AiPjxhPlJvYWNoLCBB
LjwvYT4sICI8YSBocmVmPSJodHRwOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmM2NjY1Ij5TSVAt
U3BlY2lmaWMgRXZlbnQgTm90aWZpY2F0aW9uPC9hPiIsIFJGQyA2NjY1LCBKdWx5IDIwMTIuPC90
ZD4KICAgIDwvdHI+CiAgICA8dHI+CiAgICAgIDx0ZCBjbGFzcz0icmVmZXJlbmNlIj4KICAgICAg
ICA8YiBpZD0iUkZDNjgzOCI+W1JGQzY4MzhdPC9iPgogICAgICA8L3RkPgogICAgICA8dGQgY2xh
c3M9InRvcCI+PGE+RnJlZWQsIE4uPC9hPiwgPGE+S2xlbnNpbiwgSi48L2E+IGFuZCA8YT5ULiBI
YW5zZW48L2E+LCAiPGEgaHJlZj0iaHR0cDovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjNjgzOCI+
TWVkaWEgVHlwZSBTcGVjaWZpY2F0aW9ucyBhbmQgUmVnaXN0cmF0aW9uIFByb2NlZHVyZXM8L2E+
IiwgQkNQIDEzLCBSRkMgNjgzOCwgSmFudWFyeSAyMDEzLjwvdGQ+CiAgICA8L3RyPgogIDwvdGJv
ZHk+CjwvdGFibGU+CjxoMSBpZD0icmZjLnJlZmVyZW5jZXMuMiI+PGEgaHJlZj0iI3JmYy5yZWZl
cmVuY2VzLjIiPjE0LjIuPC9hPiBJbmZvcm1hdGl2ZSBSZWZlcmVuY2VzPC9oMT4KPHRhYmxlPgog
IDx0Ym9keT4KICAgIDx0cj4KICAgICAgPHRkIGNsYXNzPSJyZWZlcmVuY2UiPgogICAgICAgIDxi
IGlkPSJFLjMwMFNlclN1cDMiPltFLjMwMFNlclN1cDNdPC9iPgogICAgICA8L3RkPgogICAgICA8
dGQgY2xhc3M9InRvcCI+PGE+SVRVLVQsIC48L2E+LCAiPGE+Tm9ydGggQW1lcmljYW4gUHJlY2lz
ZSBBdWRpYmxlIFRvbmUgUGxhbjwvYT4iLCBFLjMwMCBTZXJpZXMgU3VwcGxlbWVudCAzICwgTm92
ZW1iZXIgMTk4OC48L3RkPgogICAgPC90cj4KICAgIDx0cj4KICAgICAgPHRkIGNsYXNzPSJyZWZl
cmVuY2UiPgogICAgICAgIDxiIGlkPSJFLjQxMiI+W0UuNDEyXTwvYj4KICAgICAgPC90ZD4KICAg
ICAgPHRkIGNsYXNzPSJ0b3AiPjxhPklUVS1ULCAuPC9hPiwgIjxhPk5ldHdvcmsgTWFuYWdlbWVu
dCBDb250cm9sczwvYT4iLCBFLjQxMi0yMDAzICwgSmFudWFyeSAyMDAzLjwvdGQ+CiAgICA8L3Ry
PgogICAgPHRyPgogICAgICA8dGQgY2xhc3M9InJlZmVyZW5jZSI+CiAgICAgICAgPGIgaWQ9Ikkt
RC5pZXRmLXNvYy1vdmVybG9hZC1jb250cm9sIj5bSS1ELmlldGYtc29jLW92ZXJsb2FkLWNvbnRy
b2xdPC9iPgogICAgICA8L3RkPgogICAgICA8dGQgY2xhc3M9InRvcCI+PGE+R3VyYmFuaSwgVi48
L2E+LCA8YT5IaWx0LCBWLjwvYT4gYW5kIDxhPkguIFNjaHVsenJpbm5lPC9hPiwgIjxhIGhyZWY9
Imh0dHA6Ly90b29scy5pZXRmLm9yZy9odG1sL2RyYWZ0LWlldGYtc29jLW92ZXJsb2FkLWNvbnRy
b2wtMTMiPlNlc3Npb24gSW5pdGlhdGlvbiBQcm90b2NvbCAoU0lQKSBPdmVybG9hZCBDb250cm9s
PC9hPiIsIEludGVybmV0LURyYWZ0IGRyYWZ0LWlldGYtc29jLW92ZXJsb2FkLWNvbnRyb2wtMTMs
IE1heSAyMDEzLjwvdGQ+CiAgICA8L3RyPgogICAgPHRyPgogICAgICA8dGQgY2xhc3M9InJlZmVy
ZW5jZSI+CiAgICAgICAgPGIgaWQ9IlEuMTI0OC4yIj5bUS4xMjQ4LjJdPC9iPgogICAgICA8L3Rk
PgogICAgICA8dGQgY2xhc3M9InRvcCI+PGE+SVRVLVQsIC48L2E+LCAiPGE+SW50ZXJmYWNlIFJl
Y29tbWVuZGF0aW9uIGZvciBJbnRlbGxpZ2VudCBOZXR3b3JrIENhcGFiaWxpdHkgU2V0NDpTQ0Yt
U1NGIGludGVyZmFjZTwvYT4iLCBRLjEyNDguMiAsIEp1bHkgMjAwMS48L3RkPgogICAgPC90cj4K
ICAgIDx0cj4KICAgICAgPHRkIGNsYXNzPSJyZWZlcmVuY2UiPgogICAgICAgIDxiIGlkPSJSRkMy
NjQ4Ij5bUkZDMjY0OF08L2I+CiAgICAgIDwvdGQ+CiAgICAgIDx0ZCBjbGFzcz0idG9wIj48YSBo
cmVmPSJtYWlsdG86amF5aGF3a0BhdHQuY29tIiB0aXRsZT0iQVQmYW1wO1QiPk1vYXRzLCBSLjwv
YT4sICI8YSBocmVmPSJodHRwOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmMyNjQ4Ij5BIFVSTiBO
YW1lc3BhY2UgZm9yIElFVEYgRG9jdW1lbnRzPC9hPiIsIFJGQyAyNjQ4LCBBdWd1c3QgMTk5OS48
L3RkPgogICAgPC90cj4KICAgIDx0cj4KICAgICAgPHRkIGNsYXNzPSJyZWZlcmVuY2UiPgogICAg
ICAgIDxiIGlkPSJSRkMzMzI0Ij5bUkZDMzMyNF08L2I+CiAgICAgIDwvdGQ+CiAgICAgIDx0ZCBj
bGFzcz0idG9wIj48YT5XYXRzb24sIE0uPC9hPiwgIjxhIGhyZWY9Imh0dHA6Ly90b29scy5pZXRm
Lm9yZy9odG1sL3JmYzMzMjQiPlNob3J0IFRlcm0gUmVxdWlyZW1lbnRzIGZvciBOZXR3b3JrIEFz
c2VydGVkIElkZW50aXR5PC9hPiIsIFJGQyAzMzI0LCBOb3ZlbWJlciAyMDAyLjwvdGQ+CiAgICA8
L3RyPgogICAgPHRyPgogICAgICA8dGQgY2xhc3M9InJlZmVyZW5jZSI+CiAgICAgICAgPGIgaWQ9
IlJGQzQ0MTIiPltSRkM0NDEyXTwvYj4KICAgICAgPC90ZD4KICAgICAgPHRkIGNsYXNzPSJ0b3Ai
PjxhPlNjaHVsenJpbm5lLCBILjwvYT4gYW5kIDxhPkouIFBvbGs8L2E+LCAiPGEgaHJlZj0iaHR0
cDovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjNDQxMiI+Q29tbXVuaWNhdGlvbnMgUmVzb3VyY2Ug
UHJpb3JpdHkgZm9yIHRoZSBTZXNzaW9uIEluaXRpYXRpb24gUHJvdG9jb2wgKFNJUCk8L2E+Iiwg
UkZDIDQ0MTIsIEZlYnJ1YXJ5IDIwMDYuPC90ZD4KICAgIDwvdHI+CiAgICA8dHI+CiAgICAgIDx0
ZCBjbGFzcz0icmVmZXJlbmNlIj4KICAgICAgICA8YiBpZD0iUkZDNDgyNSI+W1JGQzQ4MjVdPC9i
PgogICAgICA8L3RkPgogICAgICA8dGQgY2xhc3M9InRvcCI+PGE+Um9zZW5iZXJnLCBKLjwvYT4s
ICI8YSBocmVmPSJodHRwOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmM0ODI1Ij5UaGUgRXh0ZW5z
aWJsZSBNYXJrdXAgTGFuZ3VhZ2UgKFhNTCkgQ29uZmlndXJhdGlvbiBBY2Nlc3MgUHJvdG9jb2wg
KFhDQVApPC9hPiIsIFJGQyA0ODI1LCBNYXkgMjAwNy48L3RkPgogICAgPC90cj4KICAgIDx0cj4K
ICAgICAgPHRkIGNsYXNzPSJyZWZlcmVuY2UiPgogICAgICAgIDxiIGlkPSJSRkM1MDMxIj5bUkZD
NTAzMV08L2I+CiAgICAgIDwvdGQ+CiAgICAgIDx0ZCBjbGFzcz0idG9wIj48YT5TY2h1bHpyaW5u
ZSwgSC48L2E+LCAiPGEgaHJlZj0iaHR0cDovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjNTAzMSI+
QSBVbmlmb3JtIFJlc291cmNlIE5hbWUgKFVSTikgZm9yIEVtZXJnZW5jeSBhbmQgT3RoZXIgV2Vs
bC1Lbm93biBTZXJ2aWNlczwvYT4iLCBSRkMgNTAzMSwgSmFudWFyeSAyMDA4LjwvdGQ+CiAgICA8
L3RyPgogICAgPHRyPgogICAgICA8dGQgY2xhc3M9InJlZmVyZW5jZSI+CiAgICAgICAgPGIgaWQ9
IlJGQzUzOTAiPltSRkM1MzkwXTwvYj4KICAgICAgPC90ZD4KICAgICAgPHRkIGNsYXNzPSJ0b3Ai
PjxhPlJvc2VuYmVyZywgSi48L2E+LCAiPGEgaHJlZj0iaHR0cDovL3Rvb2xzLmlldGYub3JnL2h0
bWwvcmZjNTM5MCI+UmVxdWlyZW1lbnRzIGZvciBNYW5hZ2VtZW50IG9mIE92ZXJsb2FkIGluIHRo
ZSBTZXNzaW9uIEluaXRpYXRpb24gUHJvdG9jb2w8L2E+IiwgUkZDIDUzOTAsIERlY2VtYmVyIDIw
MDguPC90ZD4KICAgIDwvdHI+CiAgICA8dHI+CiAgICAgIDx0ZCBjbGFzcz0icmVmZXJlbmNlIj4K
ICAgICAgICA8YiBpZD0iUkZDNjM1NyI+W1JGQzYzNTddPC9iPgogICAgICA8L3RkPgogICAgICA8
dGQgY2xhc3M9InRvcCI+PGE+SGlsdCwgVi48L2E+LCA8YT5Ob2VsLCBFLjwvYT4sIDxhPlNoZW4s
IEMuPC9hPiBhbmQgPGE+QS4gQWJkZWxhbDwvYT4sICI8YSBocmVmPSJodHRwOi8vdG9vbHMuaWV0
Zi5vcmcvaHRtbC9yZmM2MzU3Ij5EZXNpZ24gQ29uc2lkZXJhdGlvbnMgZm9yIFNlc3Npb24gSW5p
dGlhdGlvbiBQcm90b2NvbCAoU0lQKSBPdmVybG9hZCBDb250cm9sPC9hPiIsIFJGQyA2MzU3LCBB
dWd1c3QgMjAxMS48L3RkPgogICAgPC90cj4KICA8L3Rib2R5Pgo8L3RhYmxlPgo8aDEgaWQ9InJm
Yy5hdXRob3JzIj4KICA8YSBocmVmPSIjcmZjLmF1dGhvcnMiPkF1dGhvcnMnIEFkZHJlc3Nlczwv
YT4KPC9oMT4KPGRpdiBjbGFzcz0iYXZvaWRicmVhayI+CiAgPGFkZHJlc3MgY2xhc3M9InZjYXJk
Ij4KCTxzcGFuIGNsYXNzPSJ2Y2FyZGxpbmUiPgoJICA8c3BhbiBjbGFzcz0iZm4iPkNoYXJsZXMg
U2hlbjwvc3Bhbj4gCgkgIDxzcGFuIGNsYXNzPSJuIGhpZGRlbiI+CgkJPHNwYW4gY2xhc3M9ImZh
bWlseS1uYW1lIj5TaGVuPC9zcGFuPgoJICA8L3NwYW4+Cgk8L3NwYW4+Cgk8c3BhbiBjbGFzcz0i
b3JnIHZjYXJkbGluZSI+Q29sdW1iaWEgVW5pdmVyc2l0eSA8L3NwYW4+Cgk8c3BhbiBjbGFzcz0i
YWRyIj4KCSAgPHNwYW4+RGVwYXJ0bWVudCBvZiBDb21wdXRlciBTY2llbmNlPC9zcGFuPgo8c3Bh
bj4xMjE0IEFtc3RlcmRhbSBBdmVudWUsIE1DIDA0MDE8L3NwYW4+CgoJICA8c3BhbiBjbGFzcz0i
dmNhcmRsaW5lIj4KCQk8c3BhbiBjbGFzcz0ibG9jYWxpdHkiPk5ldyBZb3JrPC9zcGFuPiwgIAoJ
CTxzcGFuIGNsYXNzPSJyZWdpb24iPk5ZIDwvc3Bhbj4gCgkJPHNwYW4gY2xhc3M9ImNvZGUiPjEw
MDI3PC9zcGFuPgoJICA8L3NwYW4+CgkgIDxzcGFuIGNsYXNzPSJjb3VudHJ5LW5hbWUgdmNhcmRs
aW5lIj5VU0E8L3NwYW4+Cgk8L3NwYW4+Cgk8c3BhbiBjbGFzcz0idmNhcmRsaW5lIj5QaG9uZTog
KzEgMjEyIDg1NCAzMTA5PC9zcGFuPgoKPHNwYW4gY2xhc3M9InZjYXJkbGluZSI+RU1haWw6IDxh
IGhyZWY9Im1haWx0bzpjaGFybGVzQGNzLmNvbHVtYmlhLmVkdSI+Y2hhcmxlc0Bjcy5jb2x1bWJp
YS5lZHU8L2E+PC9zcGFuPgoKICA8L2FkZHJlc3M+CjwvZGl2PjxkaXYgY2xhc3M9ImF2b2lkYnJl
YWsiPgogIDxhZGRyZXNzIGNsYXNzPSJ2Y2FyZCI+Cgk8c3BhbiBjbGFzcz0idmNhcmRsaW5lIj4K
CSAgPHNwYW4gY2xhc3M9ImZuIj5IZW5uaW5nIFNjaHVsenJpbm5lPC9zcGFuPiAKCSAgPHNwYW4g
Y2xhc3M9Im4gaGlkZGVuIj4KCQk8c3BhbiBjbGFzcz0iZmFtaWx5LW5hbWUiPlNjaHVsenJpbm5l
PC9zcGFuPgoJICA8L3NwYW4+Cgk8L3NwYW4+Cgk8c3BhbiBjbGFzcz0ib3JnIHZjYXJkbGluZSI+
Q29sdW1iaWEgVW5pdmVyc2l0eSA8L3NwYW4+Cgk8c3BhbiBjbGFzcz0iYWRyIj4KCSAgPHNwYW4+
RGVwYXJ0bWVudCBvZiBDb21wdXRlciBTY2llbmNlPC9zcGFuPgo8c3Bhbj4xMjE0IEFtc3RlcmRh
bSBBdmVudWUsIE1DIDA0MDE8L3NwYW4+CgoJICA8c3BhbiBjbGFzcz0idmNhcmRsaW5lIj4KCQk8
c3BhbiBjbGFzcz0ibG9jYWxpdHkiPk5ldyBZb3JrPC9zcGFuPiwgIAoJCTxzcGFuIGNsYXNzPSJy
ZWdpb24iPk5ZIDwvc3Bhbj4gCgkJPHNwYW4gY2xhc3M9ImNvZGUiPjEwMDI3PC9zcGFuPgoJICA8
L3NwYW4+CgkgIDxzcGFuIGNsYXNzPSJjb3VudHJ5LW5hbWUgdmNhcmRsaW5lIj5VU0E8L3NwYW4+
Cgk8L3NwYW4+Cgk8c3BhbiBjbGFzcz0idmNhcmRsaW5lIj5QaG9uZTogKzEgMjEyIDkzOSA3MDA0
PC9zcGFuPgoKPHNwYW4gY2xhc3M9InZjYXJkbGluZSI+RU1haWw6IDxhIGhyZWY9Im1haWx0bzpz
Y2h1bHpyaW5uZUBjcy5jb2x1bWJpYS5lZHUiPnNjaHVsenJpbm5lQGNzLmNvbHVtYmlhLmVkdTwv
YT48L3NwYW4+CgogIDwvYWRkcmVzcz4KPC9kaXY+PGRpdiBjbGFzcz0iYXZvaWRicmVhayI+CiAg
PGFkZHJlc3MgY2xhc3M9InZjYXJkIj4KCTxzcGFuIGNsYXNzPSJ2Y2FyZGxpbmUiPgoJICA8c3Bh
biBjbGFzcz0iZm4iPkFyYXRhIEtvaWtlPC9zcGFuPiAKCSAgPHNwYW4gY2xhc3M9Im4gaGlkZGVu
Ij4KCQk8c3BhbiBjbGFzcz0iZmFtaWx5LW5hbWUiPktvaWtlPC9zcGFuPgoJICA8L3NwYW4+Cgk8
L3NwYW4+Cgk8c3BhbiBjbGFzcz0ib3JnIHZjYXJkbGluZSI+TlRUIFNlcnZpY2UgSW50ZWdyYXRp
b24gTGFicyA8L3NwYW4+Cgk8c3BhbiBjbGFzcz0iYWRyIj4KCSAgPHNwYW4+My05LTExIE1pZG9y
aS1jaG8gTXVzYXNoaW5vLXNoaTwvc3Bhbj4KCgkgIDxzcGFuIGNsYXNzPSJ2Y2FyZGxpbmUiPgoJ
CTxzcGFuIGNsYXNzPSJsb2NhbGl0eSI+VG9reW88L3NwYW4+LCAgCgkJPHNwYW4gY2xhc3M9InJl
Z2lvbiI+PC9zcGFuPgoJCTxzcGFuIGNsYXNzPSJjb2RlIj4xODQtMDAxMzwvc3Bhbj4KCSAgPC9z
cGFuPgoJICA8c3BhbiBjbGFzcz0iY291bnRyeS1uYW1lIHZjYXJkbGluZSI+SmFwYW48L3NwYW4+
Cgk8L3NwYW4+Cgk8c3BhbiBjbGFzcz0idmNhcmRsaW5lIj5QaG9uZTogKzgxIDQyMiA1OSA2MDk5
PC9zcGFuPgoKPHNwYW4gY2xhc3M9InZjYXJkbGluZSI+RU1haWw6IDxhIGhyZWY9Im1haWx0bzpr
b2lrZS5hcmF0YUBsYWIubnR0LmNvLmpwIj5rb2lrZS5hcmF0YUBsYWIubnR0LmNvLmpwPC9hPjwv
c3Bhbj4KCiAgPC9hZGRyZXNzPgo8L2Rpdj4KCjwvYm9keT4KPC9odG1sPg==
--047d7b471e6a0a47c704e9f946b7--

From rlb@ipv.sx  Wed Oct 30 13:52:27 2013
Return-Path: <rlb@ipv.sx>
X-Original-To: sip-overload@ietfa.amsl.com
Delivered-To: sip-overload@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 63DCA11E8254 for <sip-overload@ietfa.amsl.com>; Wed, 30 Oct 2013 13:52:27 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.896
X-Spam-Level: 
X-Spam-Status: No, score=-2.896 tagged_above=-999 required=5 tests=[AWL=0.080,  BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 2TPxZaMfDbmb for <sip-overload@ietfa.amsl.com>; Wed, 30 Oct 2013 13:52:23 -0700 (PDT)
Received: from mail-ob0-f179.google.com (mail-ob0-f179.google.com [209.85.214.179]) by ietfa.amsl.com (Postfix) with ESMTP id BB62211E8256 for <sip-overload@ietf.org>; Wed, 30 Oct 2013 13:52:19 -0700 (PDT)
Received: by mail-ob0-f179.google.com with SMTP id uy5so2054494obc.38 for <sip-overload@ietf.org>; Wed, 30 Oct 2013 13:52:19 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=GWVyNPZQuB6dbQppEEQyvMwgceSFBaqqGF6qwd5FDGQ=; b=Fmm1MvPTequNwCITViCHInSBhluzZzSyrXccC7QODweYCmgQTwaOBEOtd1meW0AGQH AjpGytGflpR6YHokPCW18gkWm54hO8b5kEj7GFq/Hn3i6Mv1jDAWAcKf7082/UOK1Chu Fd4T9Y1dDY/AfttDRJZEvbu77INlAhjcFvK8lm+dL8tgoOv7qo3obEy3N+pYCVYy4GhX OVj/UPtkSzK+x4A0ZRyhEil0BvF6iiboxm7tilmzRATiBBNeMryf7Xfgt9KUNdcJwmi6 /Ft0WRjFiLViOE0wOlsEDj4lK42IcAxZzCp61yGs5e6mXR9S+/WENSBCtJyWo1sNIHC3 mHEg==
X-Gm-Message-State: ALoCoQkr0Rs9aGrCcr5JyQvi+Jjy4QmCGuyqDFpz0ufLLZaNex7ndAjpDDlXIi27ReXVv7Q8mL+B
MIME-Version: 1.0
X-Received: by 10.182.49.166 with SMTP id v6mr5577556obn.13.1383166339203; Wed, 30 Oct 2013 13:52:19 -0700 (PDT)
Received: by 10.76.101.10 with HTTP; Wed, 30 Oct 2013 13:52:19 -0700 (PDT)
In-Reply-To: <CAPSQ9ZUY547AXNgsiSQE9H7Wr8UZAv_0N-rgyAdm5FeWsfjb1w@mail.gmail.com>
References: <CAL02cgQW3eJg+f0nwEwihJGRgE82o+B0gSx0LJ6vTP1M8F+n5w@mail.gmail.com> <CAL02cgSMrQTJt=LJg+j7c-9XrX=N9i=14vAvxqkq2KBgPbdHiQ@mail.gmail.com> <CAPSQ9ZUY547AXNgsiSQE9H7Wr8UZAv_0N-rgyAdm5FeWsfjb1w@mail.gmail.com>
Date: Wed, 30 Oct 2013 16:52:19 -0400
Message-ID: <CAL02cgSKQOhb_8v6SF4o=_WDieobFki_Qy2aaO=-KA-FRJqTsw@mail.gmail.com>
From: Richard Barnes <rlb@ipv.sx>
To: Charles Shen <qs2005@columbia.edu>
Content-Type: multipart/alternative; boundary=047d7b5d2ea450bca504e9fb823f
Cc: "sip-overload@ietf.org" <sip-overload@ietf.org>, "draft-ietf-soc-load-control-event-package@tools.ietf.org" <draft-ietf-soc-load-control-event-package@tools.ietf.org>
Subject: Re: [sip-overload] AD review of draft-ietf-soc-load-control-event-package-08
X-BeenThere: sip-overload@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: SIP Overload <sip-overload.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/sip-overload>, <mailto:sip-overload-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/sip-overload>
List-Post: <mailto:sip-overload@ietf.org>
List-Help: <mailto:sip-overload-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/sip-overload>, <mailto:sip-overload-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 30 Oct 2013 20:52:27 -0000

--047d7b5d2ea450bca504e9fb823f
Content-Type: text/plain; charset=ISO-8859-1

I wouldn't have used my text quite so directly (maybe edited out some
"bunch of" instances), but this looks OK to me.  Thanks for the quick
update.  Please feel free to post.

Is there anyone in the WG that has an objection to these changes?




On Wed, Oct 30, 2013 at 2:11 PM, Charles Shen <qs2005@columbia.edu> wrote:

> Dear Richard,
>
> Thank you very much for your comments! I've incorporated your suggestions
> into a revised version, as attached for your reference. Changes are in
> Section 5.4 (definition of Trust Domain) and Section 11 (Security
> Considerations). If there are any further concerns please let me know, I
> will upload the most updated revision when the IETF submission site
> re-opens on Nov. 4.
>
> Thanks!
>
> Charles
>
>
> On Tue, Oct 29, 2013 at 3:08 PM, Richard Barnes <rlb@ipv.sx> wrote:
>
>> Dear authors,
>>
>> Thanks for updating this document.  It looks much better.  Sorry for the
>> delay in my reply.
>>
>> The one thing I don't think is quite adequately addressed by the
>> considerations around the use of the "redirect" action.
>>
>> The attack I'm worried about is something like the following:
>> -- A bunch of proxies in a Trust Domain are using UDP, and configured to
>> get their policies from a central server.
>> -- Attacker spoofs the server's address to send a bunch of NOTIFY bodies
>> telling proxies to send all calls to victim@outside-of-trust-domain.com
>> -- Proxies redirect all calls to victim, who is now DoSed off of the
>> Internet
>>
>> In order to address this threat, you need to either (1) remove the
>> "redirect" action, or (2) constrain redirects to a safe space.  I assume
>> that the WG doesn't want to do (1) :)
>>
>> Proposed edits:
>> -- Add to the definition of a Trust Domain an agreement on the types of
>> calls that can be affected by load control.  For example, <one> and <many>
>> element might be limited to specific domains; <*-tel> elements might be
>> limited to be within certain prefixes.
>> -- Add to the definition of a Trust Domain an agreement on the
>> destinations to which calls may be redirected.  For example, the URI might
>> have to match a given set of domains.
>> -- Add text to the Security Considerations describing the above attack,
>> and REQUIREing that implementations enforce the limits described in the
>> definition of their Trust Domain.
>>
>> Thanks,
>> --Richard
>>
>>
>>
>>
>>
>>
>> On Wed, Apr 17, 2013 at 1:53 PM, Richard Barnes <rlb@ipv.sx> wrote:
>>
>>> I have reviewed this document, and have a few questions before IETF LC:
>>>
>>> Major:
>>>
>>> In a few places, for example Section 5.3., the document suggests that
>>> this event package could be used to communicate load filtering policies
>>> between domains.  This seems like a bad idea for a few reasons.  First,
>>> policies can be based on "P-Asserted-Identity", which is itself limited to
>>> use within a trust domain / Spec(T).  It doesn't make sense to have
>>> policies based on these identifiers outside of the domain in which they are
>>> used.  Second, inter-domain policies can create subtle and dangerous
>>> security risks.  For example, according to the current specification,
>>> Domain A could tell Domain B to drop all calls between Domain B and Domain
>>> C.  It's not clear how you would prevent these sorts of attacks, especially
>>> where "tel:" URIs are involved.  I think both of these issues go away if
>>> this event package is limited in a similar way to P-Asserted-Identity,
>>> i.e., limited to use within a trust domain.
>>>
>>> Section 6.3., "SUBSCRIBE Bodies" doesn't actually say anything about
>>> what goes in the body of a SUBSCRIBE message.  On the one hand, it implies
>>> that there could be a body (since the last sentence considers a request
>>> without a body as a special case), but it doesn't say what goes in the body
>>> if there is one.  Please either (1) define what may go in the body, (2)
>>> explicitly say that this document does not specify what goes in SUBSCRIBE
>>> bodies, or (3) require that the body be empty.   (Also, the first paragraph
>>> of this section seems out of place here, since it also has nothing to do
>>> with the body.)
>>>
>>> In Section 6.5., the last sentence is wrong.  The presence of an Accept
>>> header indicates that the response body should be one of the indicated
>>> types.  The indicated behavior would only be acceptable if the Accept
>>> header included "multipart/mixed".  Suggest deleting the last sentence.
>>>  (Also,  it would be clearer to change "the request body will contain" to
>>> "the request body MUST contain".)
>>>
>>> In Section 7.3.1, you need to specify how a "tel:" URI is matched
>>> against a domain value starting with "+".  Your examples seem to indicate
>>> simple string prefix matching, but I doubt that's what you actually want,
>>> since non-digit characters can break things.  For example, "+1212" should
>>> match "+1-212-555-1212".  Please specify a matching algorithm here.
>>>
>>> In Section 7.3.2, please change "Non-initial requests ... are not
>>> subjected" to "Non-initial requests ... MUST NOT be subjected".
>>>
>>> Section 7.4. doesn't adequately define the actions to be taken.  Each of
>>> the action elements (<rate>, <window>, <percent>) need to define a concrete
>>> action that the proxy should take.
>>>
>>> RFC 4745 allows rules to combine when multiple rules match a given call.
>>>  This document needs to define combination rules for the actions defined
>>> here.
>>>
>>> What's the reason for having both the "drop" action and the "reject"
>>> action?  It seems like the "drop" action is almost always harmful.  With
>>> unreliable transport, it causes retransmits, and even with reliable
>>> transport, it causes the client to wait unnecessarily until the connection
>>> times out.  In any case, the "simple drop" action is underspecified.  For
>>> example, does the server simply ignore the SIP message, or does it close
>>> the transport connection?
>>>
>>>
>>> Minor:
>>>
>>> In Section 7.3, "we re-define" -- the document doesn't re-define any of
>>> the elements in RFC 4745 (that's good; redefinition is bad).  Instead, you
>>> should say you define new identity elements.
>>>
>>> In Section 7.3.1, please break up paragraph starting "To include the two
>>> forms..." for greater readability.  Suggested break points: Before "Note
>>> that the tradeoff...", and before "It should be noted..."
>>>
>>> In Section 7.3.3, it would be helpful to break up the paragraph starting
>>> "The following are two example...".  Break before "Usecase I" and "Usecase
>>> II".  Also, s/Usecase/Use case/g
>>>
>>>
>>> Thanks,
>>> --Richard
>>>
>>
>>
>> _______________________________________________
>> sip-overload mailing list
>> sip-overload@ietf.org
>> https://www.ietf.org/mailman/listinfo/sip-overload
>>
>>
>

--047d7b5d2ea450bca504e9fb823f
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div>I wouldn&#39;t have used my text quite so directly (m=
aybe edited out some &quot;bunch of&quot; instances), but this looks OK to =
me.=A0 Thanks for the quick update.=A0 Please feel free to post.<br><br></d=
iv>
Is there anyone in the WG that has an objection to these changes?<br><div><=
br>=A0<br></div></div><div class=3D"gmail_extra"><br><br><div class=3D"gmai=
l_quote">On Wed, Oct 30, 2013 at 2:11 PM, Charles Shen <span dir=3D"ltr">&l=
t;<a href=3D"mailto:qs2005@columbia.edu" target=3D"_blank">qs2005@columbia.=
edu</a>&gt;</span> wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex"><div dir=3D"ltr">Dear Richard,=A0<div><br></=
div><div>Thank you very much for your comments! I&#39;ve incorporated your =
suggestions into a revised version, as attached for your reference. Changes=
 are in Section 5.4 (definition of Trust Domain) and Section 11 (Security C=
onsiderations). If there are any further concerns please let me know, I wil=
l upload the most updated revision when the IETF submission site re-opens o=
n Nov. 4.=A0</div>


<div class=3D"gmail_extra"><br>Thanks!</div><span class=3D"HOEnZb"><font co=
lor=3D"#888888"><div class=3D"gmail_extra"><br></div></font></span><div cla=
ss=3D"gmail_extra"><span class=3D"HOEnZb"><font color=3D"#888888">Charles<b=
r><br><br>
</font></span><div class=3D"gmail_quote"><div><div class=3D"h5">On Tue, Oct=
 29, 2013 at 3:08 PM, Richard Barnes <span dir=3D"ltr">&lt;<a href=3D"mailt=
o:rlb@ipv.sx" target=3D"_blank">rlb@ipv.sx</a>&gt;</span> wrote:<br>

</div></div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;bo=
rder-left:1px #ccc solid;padding-left:1ex"><div><div class=3D"h5"><div dir=
=3D"ltr">Dear authors,<div><br></div><div>Thanks for updating this document=
. =A0It looks much better. =A0Sorry for the delay in my reply.</div>


<div><br></div><div>The one thing I don&#39;t think is quite adequately add=
ressed by the considerations around the use of the &quot;redirect&quot; act=
ion. =A0</div>
<div class=3D"gmail_extra"><br></div><div class=3D"gmail_extra">The attack =
I&#39;m worried about is something like the following:=A0</div><div class=
=3D"gmail_extra">-- A bunch of proxies in a Trust Domain are using UDP, and=
 configured to get their policies from a central server. =A0</div>



<div class=3D"gmail_extra">-- Attacker spoofs the server&#39;s address to s=
end a bunch of NOTIFY bodies telling proxies to send all calls to <a href=
=3D"mailto:victim@outside-of-trust-domain.com" target=3D"_blank">victim@out=
side-of-trust-domain.com</a></div>



<div class=3D"gmail_extra">-- Proxies redirect all calls to victim, who is =
now DoSed off of the Internet</div><div class=3D"gmail_extra"><br></div><di=
v class=3D"gmail_extra">In order to address this threat, you need to either=
 (1) remove the &quot;redirect&quot; action, or (2) constrain redirects to =
a safe space. =A0I assume that the WG doesn&#39;t want to do (1) :) =A0</di=
v>



<div class=3D"gmail_extra"><br></div><div class=3D"gmail_extra">Proposed ed=
its:</div><div class=3D"gmail_extra">-- Add to the definition of a Trust Do=
main an agreement on the types of calls that can be affected by load contro=
l. =A0For example, &lt;one&gt; and &lt;many&gt; element might be limited to=
 specific domains; &lt;*-tel&gt; elements might be limited to be within cer=
tain prefixes.</div>



<div class=3D"gmail_extra">-- Add to the definition of a Trust Domain an ag=
reement on the destinations to which calls may be redirected. =A0For exampl=
e, the URI might have to match a given set of domains.</div><div class=3D"g=
mail_extra">



-- Add text to the Security Considerations describing the above attack, and=
 REQUIREing that implementations enforce the limits described in the defini=
tion of their Trust Domain.</div><div class=3D"gmail_extra"><br></div><div =
class=3D"gmail_extra">



Thanks,</div><div class=3D"gmail_extra">--Richard</div><div><div><div class=
=3D"gmail_extra"><br></div><div class=3D"gmail_extra"><br></div><div class=
=3D"gmail_extra"><br></div><div class=3D"gmail_extra"><br></div><div class=
=3D"gmail_extra">


<br>
<br><div class=3D"gmail_quote">On Wed, Apr 17, 2013 at 1:53 PM, Richard Bar=
nes <span dir=3D"ltr">&lt;<a href=3D"mailto:rlb@ipv.sx" target=3D"_blank">r=
lb@ipv.sx</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_quote" style=
=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">



<span style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-se=
rif">I have reviewed this document, and have a few questions before IETF LC=
:</span><div style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,=
sans-serif">




<br></div><div style=3D"color:rgb(34,34,34);font-size:13px;font-family:aria=
l,sans-serif">Major:</div><div style=3D"color:rgb(34,34,34);font-size:13px;=
font-family:arial,sans-serif">
<br></div><div style=3D"color:rgb(34,34,34);font-size:13px;font-family:aria=
l,sans-serif">In a few places, for example Section 5.3., the document sugge=
sts that this event package could be used to communicate load filtering pol=
icies between domains. =A0This seems like a bad idea for a few reasons. =A0=
First, policies can be based on &quot;P-Asserted-Identity&quot;, which is i=
tself limited to use within a trust domain / Spec(T). =A0It doesn&#39;t mak=
e sense to have policies based on these identifiers outside of the domain i=
n which they are used. =A0Second, inter-domain policies can create subtle a=
nd dangerous security risks. =A0For example, according to the current speci=
fication, Domain A could tell Domain B to drop all calls between Domain B a=
nd Domain C. =A0It&#39;s not clear how you would prevent these sorts of att=
acks, especially where &quot;tel:&quot; URIs are involved. =A0I think both =
of these issues go away if this event package is limited in a similar way t=
o P-Asserted-Identity, i.e., limited to use within a trust domain.</div>




<div style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-ser=
if"><br></div><div style=3D"color:rgb(34,34,34);font-size:13px;font-family:=
arial,sans-serif">
Section 6.3., &quot;SUBSCRIBE Bodies&quot; doesn&#39;t actually say anythin=
g about what goes in the body of a SUBSCRIBE message. =A0On the one hand, i=
t implies that there could be a body (since the last sentence considers a r=
equest without a body as a special case), but it doesn&#39;t say what goes =
in the body if there is one. =A0Please either (1) define what may go in the=
 body, (2) explicitly say that this document does not specify what goes in =
SUBSCRIBE bodies, or (3) require that the body be empty. =A0 (Also, the fir=
st paragraph of this section seems out of place here, since it also has not=
hing to do with the body.)</div>




<div style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-ser=
if"><br></div><div style=3D"color:rgb(34,34,34);font-size:13px;font-family:=
arial,sans-serif">
In Section 6.5., the last sentence is wrong. =A0The presence of an Accept h=
eader indicates that the response body should be one of the indicated types=
. =A0The indicated behavior would only be acceptable if the Accept header i=
ncluded &quot;multipart/mixed&quot;. =A0Suggest deleting the last sentence.=
 =A0(Also,=A0=A0it would be clearer to change &quot;the request body will c=
ontain&quot; to &quot;the request body MUST contain&quot;.)</div>




<div style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-ser=
if"><br></div><div style=3D"color:rgb(34,34,34);font-size:13px;font-family:=
arial,sans-serif">
In Section 7.3.1, you need to specify how a &quot;tel:&quot; URI is matched=
 against a domain value starting with &quot;+&quot;. =A0Your examples seem =
to indicate simple string prefix matching, but I doubt that&#39;s what you =
actually want, since non-digit characters can break things. =A0For example,=
 &quot;+1212&quot; should match &quot;<a href=3D"tel:%2B1-212-555-1212" val=
ue=3D"+12125551212" style=3D"color:rgb(17,85,204)" target=3D"_blank">+1-212=
-555-1212</a>&quot;. =A0Please specify a matching algorithm here.</div>




<div style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-ser=
if"><br></div><div style=3D"color:rgb(34,34,34);font-size:13px;font-family:=
arial,sans-serif">
In Section 7.3.2, please change &quot;Non-initial requests ... are not subj=
ected&quot; to &quot;Non-initial requests ... MUST NOT be subjected&quot;.<=
/div><div style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,san=
s-serif">




<br></div><div style=3D"color:rgb(34,34,34);font-size:13px;font-family:aria=
l,sans-serif">Section 7.4. doesn&#39;t adequately define the actions to be =
taken. =A0Each of the action elements (&lt;rate&gt;, &lt;window&gt;, &lt;pe=
rcent&gt;) need to define a concrete action that the proxy should take.=A0<=
/div>




<div style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-ser=
if"><br></div><div style=3D"color:rgb(34,34,34);font-size:13px;font-family:=
arial,sans-serif">
RFC 4745 allows rules to combine when multiple rules match a given call. =
=A0This document needs to define combination rules for the actions defined =
here. =A0</div><div style=3D"color:rgb(34,34,34);font-size:13px;font-family=
:arial,sans-serif">




<br></div><div style=3D"color:rgb(34,34,34);font-size:13px;font-family:aria=
l,sans-serif">What&#39;s the reason for having both the &quot;drop&quot; ac=
tion and the &quot;reject&quot; action? =A0It seems like the &quot;drop&quo=
t; action is almost always harmful. =A0With unreliable transport, it causes=
 retransmits, and even with reliable transport, it causes the client to wai=
t unnecessarily until the connection times out. =A0In any case, the &quot;s=
imple drop&quot; action is underspecified. =A0For example, does the server =
simply ignore the SIP message, or does it close the transport connection?</=
div>




<div style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-ser=
if"><br></div><div style=3D"color:rgb(34,34,34);font-size:13px;font-family:=
arial,sans-serif">
<br></div><div style=3D"color:rgb(34,34,34);font-size:13px;font-family:aria=
l,sans-serif">Minor:</div><div style=3D"color:rgb(34,34,34);font-size:13px;=
font-family:arial,sans-serif">
<br></div><div style=3D"color:rgb(34,34,34);font-size:13px;font-family:aria=
l,sans-serif">In Section 7.3, &quot;we re-define&quot; -- the document does=
n&#39;t re-define any of the elements in RFC 4745 (that&#39;s good; redefin=
ition is bad). =A0Instead, you should say you define new identity elements.=
</div>




<div style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-ser=
if"><br></div><div style=3D"color:rgb(34,34,34);font-size:13px;font-family:=
arial,sans-serif">
In Section 7.3.1, please break up paragraph starting &quot;To include the t=
wo forms...&quot; for greater readability. =A0Suggested break points: Befor=
e &quot;Note that the tradeoff...&quot;, and before &quot;It should be note=
d...&quot;</div>




<div style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-ser=
if"><br></div><div style=3D"color:rgb(34,34,34);font-size:13px;font-family:=
arial,sans-serif">
In Section 7.3.3, it would be helpful to break up the paragraph starting &q=
uot;The following are two example...&quot;. =A0Break before &quot;Usecase I=
&quot; and &quot;Usecase II&quot;. =A0Also, s/Usecase/Use case/g</div><div =
style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">




<br></div><div style=3D"color:rgb(34,34,34);font-size:13px;font-family:aria=
l,sans-serif"><br></div><div style=3D"color:rgb(34,34,34);font-size:13px;fo=
nt-family:arial,sans-serif">
Thanks,</div><div style=3D"color:rgb(34,34,34);font-size:13px;font-family:a=
rial,sans-serif">--Richard</div>
</blockquote></div><br></div></div></div></div>
<br></div></div><div class=3D"im">_________________________________________=
______<br>
sip-overload mailing list<br>
<a href=3D"mailto:sip-overload@ietf.org" target=3D"_blank">sip-overload@iet=
f.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/sip-overload" target=3D"_b=
lank">https://www.ietf.org/mailman/listinfo/sip-overload</a><br>
<br></div></blockquote></div><br></div></div>
</blockquote></div><br></div>

--047d7b5d2ea450bca504e9fb823f--

From shida@ntt-at.com  Wed Oct 30 14:45:52 2013
Return-Path: <shida@ntt-at.com>
X-Original-To: sip-overload@ietfa.amsl.com
Delivered-To: sip-overload@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id A4B6B11E824C for <sip-overload@ietfa.amsl.com>; Wed, 30 Oct 2013 14:45:52 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.598
X-Spam-Level: 
X-Spam-Status: No, score=-102.598 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HTML_MESSAGE=0.001, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id qPtPUjOn2G6U for <sip-overload@ietfa.amsl.com>; Wed, 30 Oct 2013 14:45:47 -0700 (PDT)
Received: from gator4135.hostgator.com (gator4135.hostgator.com [192.185.4.147]) by ietfa.amsl.com (Postfix) with ESMTP id 51ACE11E81BE for <sip-overload@ietf.org>; Wed, 30 Oct 2013 14:45:47 -0700 (PDT)
Received: from [98.210.227.187] (port=51985 helo=[192.168.1.25]) by gator4135.hostgator.com with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.80) (envelope-from <shida@ntt-at.com>) id 1VbdaC-0007Ph-K7; Wed, 30 Oct 2013 16:45:44 -0500
Content-Type: multipart/alternative; boundary="Apple-Mail=_81522255-091F-40DE-9663-04A216868BE0"
Mime-Version: 1.0 (Mac OS X Mail 6.6 \(1510\))
From: Shida Schubert <shida@ntt-at.com>
In-Reply-To: <CAL02cgSMrQTJt=LJg+j7c-9XrX=N9i=14vAvxqkq2KBgPbdHiQ@mail.gmail.com>
Date: Wed, 30 Oct 2013 14:45:42 -0700
Message-Id: <847C9A9B-1961-4C1F-BB5E-FCBE88F120BB@ntt-at.com>
References: <CAL02cgQW3eJg+f0nwEwihJGRgE82o+B0gSx0LJ6vTP1M8F+n5w@mail.gmail.com> <CAL02cgSMrQTJt=LJg+j7c-9XrX=N9i=14vAvxqkq2KBgPbdHiQ@mail.gmail.com>
To: Richard Barnes <rlb@ipv.sx>
X-Mailer: Apple Mail (2.1510)
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - gator4135.hostgator.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - ntt-at.com
X-BWhitelist: no
X-Source: 
X-Source-Args: 
X-Source-Dir: 
X-Source-Sender: ([192.168.1.25]) [98.210.227.187]:51985
X-Source-Auth: shida.schubert+tingle.jp
X-Email-Count: 6
X-Source-Cap: c3NoaWRhO3NzaGlkYTtnYXRvcjQxMzUuaG9zdGdhdG9yLmNvbQ==
Cc: "sip-overload@ietf.org" <sip-overload@ietf.org>, draft-ietf-soc-load-control-event-package@tools.ietf.org
Subject: Re: [sip-overload] AD review of draft-ietf-soc-load-control-event-package-08
X-BeenThere: sip-overload@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: SIP Overload <sip-overload.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/sip-overload>, <mailto:sip-overload-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/sip-overload>
List-Post: <mailto:sip-overload@ietf.org>
List-Help: <mailto:sip-overload-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/sip-overload>, <mailto:sip-overload-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 30 Oct 2013 21:45:52 -0000

--Apple-Mail=_81522255-091F-40DE-9663-04A216868BE0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=iso-8859-1


Hi Richard;

 I am not an author but as one who had some concern with=20
your comments on the security section, I think the following=20
suggestions look good.=20

 Thanks
  Shida

On Oct 29, 2013, at 12:08 PM, Richard Barnes <rlb@ipv.sx> wrote:

> Dear authors,
>=20
> Thanks for updating this document.  It looks much better.  Sorry for =
the delay in my reply.
>=20
> The one thing I don't think is quite adequately addressed by the =
considerations around the use of the "redirect" action. =20
>=20
> The attack I'm worried about is something like the following:=20
> -- A bunch of proxies in a Trust Domain are using UDP, and configured =
to get their policies from a central server. =20
> -- Attacker spoofs the server's address to send a bunch of NOTIFY =
bodies telling proxies to send all calls to =
victim@outside-of-trust-domain.com
> -- Proxies redirect all calls to victim, who is now DoSed off of the =
Internet
>=20
> In order to address this threat, you need to either (1) remove the =
"redirect" action, or (2) constrain redirects to a safe space.  I assume =
that the WG doesn't want to do (1) :) =20
>=20
> Proposed edits:
> -- Add to the definition of a Trust Domain an agreement on the types =
of calls that can be affected by load control.  For example, <one> and =
<many> element might be limited to specific domains; <*-tel> elements =
might be limited to be within certain prefixes.
> -- Add to the definition of a Trust Domain an agreement on the =
destinations to which calls may be redirected.  For example, the URI =
might have to match a given set of domains.
> -- Add text to the Security Considerations describing the above =
attack, and REQUIREing that implementations enforce the limits described =
in the definition of their Trust Domain.
>=20
> Thanks,
> --Richard
>=20
>=20
>=20
>=20
>=20
>=20
> On Wed, Apr 17, 2013 at 1:53 PM, Richard Barnes <rlb@ipv.sx> wrote:
> I have reviewed this document, and have a few questions before IETF =
LC:
>=20
> Major:
>=20
> In a few places, for example Section 5.3., the document suggests that =
this event package could be used to communicate load filtering policies =
between domains.  This seems like a bad idea for a few reasons.  First, =
policies can be based on "P-Asserted-Identity", which is itself limited =
to use within a trust domain / Spec(T).  It doesn't make sense to have =
policies based on these identifiers outside of the domain in which they =
are used.  Second, inter-domain policies can create subtle and dangerous =
security risks.  For example, according to the current specification, =
Domain A could tell Domain B to drop all calls between Domain B and =
Domain C.  It's not clear how you would prevent these sorts of attacks, =
especially where "tel:" URIs are involved.  I think both of these issues =
go away if this event package is limited in a similar way to =
P-Asserted-Identity, i.e., limited to use within a trust domain.
>=20
> Section 6.3., "SUBSCRIBE Bodies" doesn't actually say anything about =
what goes in the body of a SUBSCRIBE message.  On the one hand, it =
implies that there could be a body (since the last sentence considers a =
request without a body as a special case), but it doesn't say what goes =
in the body if there is one.  Please either (1) define what may go in =
the body, (2) explicitly say that this document does not specify what =
goes in SUBSCRIBE bodies, or (3) require that the body be empty.   =
(Also, the first paragraph of this section seems out of place here, =
since it also has nothing to do with the body.)
>=20
> In Section 6.5., the last sentence is wrong.  The presence of an =
Accept header indicates that the response body should be one of the =
indicated types.  The indicated behavior would only be acceptable if the =
Accept header included "multipart/mixed".  Suggest deleting the last =
sentence.  (Also,  it would be clearer to change "the request body will =
contain" to "the request body MUST contain".)
>=20
> In Section 7.3.1, you need to specify how a "tel:" URI is matched =
against a domain value starting with "+".  Your examples seem to =
indicate simple string prefix matching, but I doubt that's what you =
actually want, since non-digit characters can break things.  For =
example, "+1212" should match "+1-212-555-1212".  Please specify a =
matching algorithm here.
>=20
> In Section 7.3.2, please change "Non-initial requests ... are not =
subjected" to "Non-initial requests ... MUST NOT be subjected".
>=20
> Section 7.4. doesn't adequately define the actions to be taken.  Each =
of the action elements (<rate>, <window>, <percent>) need to define a =
concrete action that the proxy should take.=20
>=20
> RFC 4745 allows rules to combine when multiple rules match a given =
call.  This document needs to define combination rules for the actions =
defined here. =20
>=20
> What's the reason for having both the "drop" action and the "reject" =
action?  It seems like the "drop" action is almost always harmful.  With =
unreliable transport, it causes retransmits, and even with reliable =
transport, it causes the client to wait unnecessarily until the =
connection times out.  In any case, the "simple drop" action is =
underspecified.  For example, does the server simply ignore the SIP =
message, or does it close the transport connection?
>=20
>=20
> Minor:
>=20
> In Section 7.3, "we re-define" -- the document doesn't re-define any =
of the elements in RFC 4745 (that's good; redefinition is bad).  =
Instead, you should say you define new identity elements.
>=20
> In Section 7.3.1, please break up paragraph starting "To include the =
two forms..." for greater readability.  Suggested break points: Before =
"Note that the tradeoff...", and before "It should be noted..."
>=20
> In Section 7.3.3, it would be helpful to break up the paragraph =
starting "The following are two example...".  Break before "Usecase I" =
and "Usecase II".  Also, s/Usecase/Use case/g
>=20
>=20
> Thanks,
> --Richard
>=20
> _______________________________________________
> sip-overload mailing list
> sip-overload@ietf.org
> https://www.ietf.org/mailman/listinfo/sip-overload


--Apple-Mail=_81522255-091F-40DE-9663-04A216868BE0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=iso-8859-1

<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html =
charset=3Diso-8859-1"></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; -webkit-line-break: after-white-space; =
"><div><br></div><div>Hi Richard;</div><div><br></div><div>&nbsp;I am =
not an author but as one who had some concern with&nbsp;</div><div>your =
comments on the security section, I think the =
following&nbsp;</div><div>suggestions look =
good.&nbsp;</div><div><br></div><div>&nbsp;Thanks</div><div>&nbsp; =
Shida</div><br><div><div>On Oct 29, 2013, at 12:08 PM, Richard Barnes =
&lt;<a href=3D"mailto:rlb@ipv.sx">rlb@ipv.sx</a>&gt; wrote:</div><br =
class=3D"Apple-interchange-newline"><blockquote type=3D"cite"><div =
dir=3D"ltr">Dear authors,<div><br></div><div>Thanks for updating this =
document. &nbsp;It looks much better. &nbsp;Sorry for the delay in my =
reply.</div><div><br></div><div>The one thing I don't think is quite =
adequately addressed by the considerations around the use of the =
"redirect" action. &nbsp;</div>
<div class=3D"gmail_extra"><br></div><div class=3D"gmail_extra">The =
attack I'm worried about is something like the =
following:&nbsp;</div><div class=3D"gmail_extra">-- A bunch of proxies =
in a Trust Domain are using UDP, and configured to get their policies =
from a central server. &nbsp;</div>
<div class=3D"gmail_extra">-- Attacker spoofs the server's address to =
send a bunch of NOTIFY bodies telling proxies to send all calls to <a =
href=3D"mailto:victim@outside-of-trust-domain.com">victim@outside-of-trust=
-domain.com</a></div>
<div class=3D"gmail_extra">-- Proxies redirect all calls to victim, who =
is now DoSed off of the Internet</div><div =
class=3D"gmail_extra"><br></div><div class=3D"gmail_extra">In order to =
address this threat, you need to either (1) remove the "redirect" =
action, or (2) constrain redirects to a safe space. &nbsp;I assume that =
the WG doesn't want to do (1) :) &nbsp;</div>
<div class=3D"gmail_extra"><br></div><div class=3D"gmail_extra">Proposed =
edits:</div><div class=3D"gmail_extra">-- Add to the definition of a =
Trust Domain an agreement on the types of calls that can be affected by =
load control. &nbsp;For example, &lt;one&gt; and &lt;many&gt; element =
might be limited to specific domains; &lt;*-tel&gt; elements might be =
limited to be within certain prefixes.</div>
<div class=3D"gmail_extra">-- Add to the definition of a Trust Domain an =
agreement on the destinations to which calls may be redirected. =
&nbsp;For example, the URI might have to match a given set of =
domains.</div><div class=3D"gmail_extra">
-- Add text to the Security Considerations describing the above attack, =
and REQUIREing that implementations enforce the limits described in the =
definition of their Trust Domain.</div><div =
class=3D"gmail_extra"><br></div><div class=3D"gmail_extra">
Thanks,</div><div class=3D"gmail_extra">--Richard</div><div =
class=3D"gmail_extra"><br></div><div class=3D"gmail_extra"><br></div><div =
class=3D"gmail_extra"><br></div><div class=3D"gmail_extra"><br></div><div =
class=3D"gmail_extra"><br>
<br><div class=3D"gmail_quote">On Wed, Apr 17, 2013 at 1:53 PM, Richard =
Barnes <span dir=3D"ltr">&lt;<a href=3D"mailto:rlb@ipv.sx" =
target=3D"_blank">rlb@ipv.sx</a>&gt;</span> wrote:<br><blockquote =
class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc =
solid;padding-left:1ex">
<span =
style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">=
I have reviewed this document, and have a few questions before IETF =
LC:</span><div =
style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">=


<br></div><div =
style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">=
Major:</div><div =
style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">=

<br></div><div =
style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">=
In a few places, for example Section 5.3., the document suggests that =
this event package could be used to communicate load filtering policies =
between domains. &nbsp;This seems like a bad idea for a few reasons. =
&nbsp;First, policies can be based on "P-Asserted-Identity", which is =
itself limited to use within a trust domain / Spec(T). &nbsp;It doesn't =
make sense to have policies based on these identifiers outside of the =
domain in which they are used. &nbsp;Second, inter-domain policies can =
create subtle and dangerous security risks. &nbsp;For example, according =
to the current specification, Domain A could tell Domain B to drop all =
calls between Domain B and Domain C. &nbsp;It's not clear how you would =
prevent these sorts of attacks, especially where "tel:" URIs are =
involved. &nbsp;I think both of these issues go away if this event =
package is limited in a similar way to P-Asserted-Identity, i.e., =
limited to use within a trust domain.</div>

<div =
style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">=
<br></div><div =
style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">=

Section 6.3., "SUBSCRIBE Bodies" doesn't actually say anything about =
what goes in the body of a SUBSCRIBE message. &nbsp;On the one hand, it =
implies that there could be a body (since the last sentence considers a =
request without a body as a special case), but it doesn't say what goes =
in the body if there is one. &nbsp;Please either (1) define what may go =
in the body, (2) explicitly say that this document does not specify what =
goes in SUBSCRIBE bodies, or (3) require that the body be empty. &nbsp; =
(Also, the first paragraph of this section seems out of place here, =
since it also has nothing to do with the body.)</div>

<div =
style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">=
<br></div><div =
style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">=

In Section 6.5., the last sentence is wrong. &nbsp;The presence of an =
Accept header indicates that the response body should be one of the =
indicated types. &nbsp;The indicated behavior would only be acceptable =
if the Accept header included "multipart/mixed". &nbsp;Suggest deleting =
the last sentence. &nbsp;(Also,&nbsp;&nbsp;it would be clearer to change =
"the request body will contain" to "the request body MUST =
contain".)</div>

<div =
style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">=
<br></div><div =
style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">=

In Section 7.3.1, you need to specify how a "tel:" URI is matched =
against a domain value starting with "+". &nbsp;Your examples seem to =
indicate simple string prefix matching, but I doubt that's what you =
actually want, since non-digit characters can break things. &nbsp;For =
example, "+1212" should match "<a href=3D"tel:%2B1-212-555-1212" =
value=3D"+12125551212" style=3D"color:rgb(17,85,204)" =
target=3D"_blank">+1-212-555-1212</a>". &nbsp;Please specify a matching =
algorithm here.</div>

<div =
style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">=
<br></div><div =
style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">=

In Section 7.3.2, please change "Non-initial requests ... are not =
subjected" to "Non-initial requests ... MUST NOT be =
subjected".</div><div =
style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">=


<br></div><div =
style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">=
Section 7.4. doesn't adequately define the actions to be taken. =
&nbsp;Each of the action elements (&lt;rate&gt;, &lt;window&gt;, =
&lt;percent&gt;) need to define a concrete action that the proxy should =
take.&nbsp;</div>

<div =
style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">=
<br></div><div =
style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">=

RFC 4745 allows rules to combine when multiple rules match a given call. =
&nbsp;This document needs to define combination rules for the actions =
defined here. &nbsp;</div><div =
style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">=


<br></div><div =
style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">=
What's the reason for having both the "drop" action and the "reject" =
action? &nbsp;It seems like the "drop" action is almost always harmful. =
&nbsp;With unreliable transport, it causes retransmits, and even with =
reliable transport, it causes the client to wait unnecessarily until the =
connection times out. &nbsp;In any case, the "simple drop" action is =
underspecified. &nbsp;For example, does the server simply ignore the SIP =
message, or does it close the transport connection?</div>

<div =
style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">=
<br></div><div =
style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">=

<br></div><div =
style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">=
Minor:</div><div =
style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">=

<br></div><div =
style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">=
In Section 7.3, "we re-define" -- the document doesn't re-define any of =
the elements in RFC 4745 (that's good; redefinition is bad). =
&nbsp;Instead, you should say you define new identity elements.</div>

<div =
style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">=
<br></div><div =
style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">=

In Section 7.3.1, please break up paragraph starting "To include the two =
forms..." for greater readability. &nbsp;Suggested break points: Before =
"Note that the tradeoff...", and before "It should be noted..."</div>

<div =
style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">=
<br></div><div =
style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">=

In Section 7.3.3, it would be helpful to break up the paragraph starting =
"The following are two example...". &nbsp;Break before "Usecase I" and =
"Usecase II". &nbsp;Also, s/Usecase/Use case/g</div><div =
style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">=


<br></div><div =
style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">=
<br></div><div =
style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">=

Thanks,</div><div =
style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">=
--Richard</div>
</blockquote></div><br></div></div>
_______________________________________________<br>sip-overload mailing =
list<br><a =
href=3D"mailto:sip-overload@ietf.org">sip-overload@ietf.org</a><br>https:/=
/www.ietf.org/mailman/listinfo/sip-overload<br></blockquote></div><br></bo=
dy></html>=

--Apple-Mail=_81522255-091F-40DE-9663-04A216868BE0--

From vkg@bell-labs.com  Wed Oct 30 14:59:49 2013
Return-Path: <vkg@bell-labs.com>
X-Original-To: sip-overload@ietfa.amsl.com
Delivered-To: sip-overload@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 41DFC11E81B4 for <sip-overload@ietfa.amsl.com>; Wed, 30 Oct 2013 14:59:49 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -110.519
X-Spam-Level: 
X-Spam-Status: No, score=-110.519 tagged_above=-999 required=5 tests=[AWL=0.080, BAYES_00=-2.599, RCVD_IN_DNSWL_HI=-8, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id iAvPJ9RJTU2x for <sip-overload@ietfa.amsl.com>; Wed, 30 Oct 2013 14:59:40 -0700 (PDT)
Received: from ihemail2.lucent.com (ihemail2.lucent.com [135.245.0.35]) by ietfa.amsl.com (Postfix) with ESMTP id 3FECB11E8182 for <sip-overload@ietf.org>; Wed, 30 Oct 2013 14:59:40 -0700 (PDT)
Received: from usnavsmail3.ndc.alcatel-lucent.com (usnavsmail3.ndc.alcatel-lucent.com [135.3.39.11]) by ihemail2.lucent.com (8.13.8/IER-o) with ESMTP id r9ULxda4023574 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL); Wed, 30 Oct 2013 16:59:39 -0500 (CDT)
Received: from umail.lucent.com (umail.ndc.lucent.com [135.3.40.61]) by usnavsmail3.ndc.alcatel-lucent.com (8.14.3/8.14.3/GMO) with ESMTP id r9ULxdVs005444 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Wed, 30 Oct 2013 16:59:39 -0500
Received: from shoonya.ih.lucent.com (shoonya.ih.lucent.com [135.185.237.229]) by umail.lucent.com (8.13.8/TPES) with ESMTP id r9ULxcPK020012; Wed, 30 Oct 2013 16:59:39 -0500 (CDT)
Message-ID: <5271813C.606@bell-labs.com>
Date: Wed, 30 Oct 2013 16:59:24 -0500
From: "Vijay K. Gurbani" <vkg@bell-labs.com>
Organization: Bell Laboratories, Alcatel-Lucent
User-Agent: Mozilla/5.0 (X11; Linux i686; rv:17.0) Gecko/20130805 Thunderbird/17.0.8
MIME-Version: 1.0
To: Richard Barnes <rlb@ipv.sx>
References: <520564B6.7040304@bell-labs.com> <CAL02cgSov68ub=Djrst=V+=f0oPHY_HFMEb6jOuerWYAaxtRxQ@mail.gmail.com>
In-Reply-To: <CAL02cgSov68ub=Djrst=V+=f0oPHY_HFMEb6jOuerWYAaxtRxQ@mail.gmail.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-Scanned-By: MIMEDefang 2.57 on 135.245.2.35
X-Scanned-By: MIMEDefang 2.64 on 135.3.39.11
Cc: "sip-overload@ietf.org" <sip-overload@ietf.org>
Subject: Re: [sip-overload] AD review: draft-ietf-soc-overload-control-13 (MAJOR ISSUES)
X-BeenThere: sip-overload@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: SIP Overload <sip-overload.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/sip-overload>, <mailto:sip-overload-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/sip-overload>
List-Post: <mailto:sip-overload@ietf.org>
List-Help: <mailto:sip-overload-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/sip-overload>, <mailto:sip-overload-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 30 Oct 2013 21:59:50 -0000

On 10/29/2013 01:32 PM, Richard Barnes wrote:
> Hey Vijay,
>
> Thanks for following up in detail.  Catching up with this now.
> Responses inline.

Richard: Thank you for your time and a close read.  More inline,
please.

> In retrospect, I may have been a little persnickety about this.  What I
> meant was that simply having a timestamp with a value less than a
> previous one is not sufficient to detect overflow, because messages can
> arrive out of order (as the document notes).  It seems like for overflow
> detection, you could just require that the oc-seq value be
> *significantly* below recent values, or below all values used in a time
> window.
>
> Also, if overflow can be detected, then shouldn't the new message be
> accepted and used, even though the oc-seq value is lower?
>
> It's actually a little more troubling that the field is not actually
> defined to be an unsigned integer AFAICT.  Could we define this to be a
> 32-bit or 64-bit unsigned integer?  Otherwise, talking about comparisons
> is kind of ill-defined.
>
> Suggested text:
> OLD: "This parameter contains a value..."
> NEW: "This parameter contains a unsigned integer value..."

Sure, I will make that change.

> OLD:
> """
> Due to an overflow, client implementations should be prepared to receive
> an "oc-seq" parameter whose value is less than the previous value.
> Client implementations can handle this by continuing to perform overload
> control until the "oc-validity" related to the previous value of
> "oc-seq" parameter expires.
> """
> NEW:
> """
> A client implementation can recognize that an overflow has occurred when
> if it receives an "oc-seq" parameter whose value is significantly less
> than the last several previous values.  If an overflow is detected, then
> the client should use the overload parameters in the new message, even
> though the sequence number is lower.  The client should also reset any
> internal state to reflect the overflow so that future messages
> (following the overflow) will be accepted.
> """

Sure, this is good as well.  One small modification I would suggest is
to expand on the term "significantly" to provide context to
implementers.  Absent such a context, the term looses its, well,
significance, as time passes.

So, I would very slightly modify your proposal above as follows:

    A client implementation can recognize that an overflow has
    occurred when it receives an "oc-seq" parameter whose value
    is significantly less than several previous values.  (Note that
    an "oc-seq" parameter whose value does not deviate significantly
    from the last several previous values is symptomatic of a tardy
    packet.  However, overflow will cause "oc-seq" an "oc-seq"
    parameter value to be significantly less than the last several
    values.)  If an overflow is detected, then the client should
    use the overload parameters in the new message, even though the
    sequence number is lower.  The client should also reset any
    internal state to reflect the overflow so that future messages
    (following the overflow) will be accepted.

Let me know if you have any concerns on such an edit.

> We probably don't need to be as specific as my initial suggestion, but I
> think it would be good to note that liveness checks are a source of
> load.  Suggested text:
>
> OLD:
> """
> The SIP client SHOULD periodically probe if the downstream server is
> alive using any mechanism at its disposal.
> """
>
> NEW:
> """
> The SIP client SHOULD periodically probe if the downstream server is
> alive using any mechanism at its disposal.  Clients should be
> conservative in their probing (e.g., using an exponential back-off) so
> that their liveness probes do not exacerbate an overload situation.
> """

Sure, sounds reasonable.

Regarding the security considerations, you wrote:

> Overall, pretty good.  Couple of minor things inline.

I will circle back on the security considerations with a fresh mind
sometimes in the morning and get back to you.  Generally, I think what
you write seems reasonable here, but I will like to look at the changes
with a fresh set of eyes.

Thank you so much.

- vijay
-- 
Vijay K. Gurbani, Bell Laboratories, Alcatel-Lucent
1960 Lucent Lane, Rm. 9C-533, Naperville, Illinois 60563 (USA)
Email: vkg@{bell-labs.com,acm.org} / vijay.gurbani@alcatel-lucent.com
Web: http://ect.bell-labs.com/who/vkg/  | Calendar: http://goo.gl/x3Ogq

From rlb@ipv.sx  Wed Oct 30 16:29:21 2013
Return-Path: <rlb@ipv.sx>
X-Original-To: sip-overload@ietfa.amsl.com
Delivered-To: sip-overload@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B0C5811E8186 for <sip-overload@ietfa.amsl.com>; Wed, 30 Oct 2013 16:29:21 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.897
X-Spam-Level: 
X-Spam-Status: No, score=-2.897 tagged_above=-999 required=5 tests=[AWL=0.079,  BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id WtkRZ5pV3QhW for <sip-overload@ietfa.amsl.com>; Wed, 30 Oct 2013 16:29:17 -0700 (PDT)
Received: from mail-oa0-f47.google.com (mail-oa0-f47.google.com [209.85.219.47]) by ietfa.amsl.com (Postfix) with ESMTP id C6F6511E810C for <sip-overload@ietf.org>; Wed, 30 Oct 2013 16:29:17 -0700 (PDT)
Received: by mail-oa0-f47.google.com with SMTP id i1so2257636oag.6 for <sip-overload@ietf.org>; Wed, 30 Oct 2013 16:29:17 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=Iuc+FBVvSlPzFglvWzOMNb6ZCgdFwZvaWuYAwIY1aTk=; b=NOaGzcWEyaKTAmhdNiWCBUen7qT51Q9ACKYcWwwSBMxhVFkUQKZpPAxb6qP/0Uk+7Q 0eqjZGkLOOU7qyfGQb9K3xMNvM8dmphlJghdNIAYGi18necD+p3agKAycyP7Z7OJagVb TcaNUXdfWPd+lXV9Fl1mIHefV5tumetOL1VpzXWEE8MT6lGNwVXCPmNpTm+9pqSw3Iv6 aoTgKAQFdbXXZOMa+aXjwaaHlDGW9ySOg2p+htF6jfi6ZwqWBBKv8opv01bubiSbonk/ Yl3m0u3ovB8HjkXke9s0YwOx3Q1XAYg74QFcgpfQs/k/VyPohnolpmkHSKtgu33JPqzo +yIQ==
X-Gm-Message-State: ALoCoQkg8H8CuIDo9XxNIolnNWEstgCG3oVdW3qpiHQoemJ6X4iw/RgJjGHpuhSEqO2yWmQ8dE1g
MIME-Version: 1.0
X-Received: by 10.182.101.134 with SMTP id fg6mr201816obb.30.1383175756910; Wed, 30 Oct 2013 16:29:16 -0700 (PDT)
Received: by 10.76.101.10 with HTTP; Wed, 30 Oct 2013 16:29:16 -0700 (PDT)
In-Reply-To: <5271813C.606@bell-labs.com>
References: <520564B6.7040304@bell-labs.com> <CAL02cgSov68ub=Djrst=V+=f0oPHY_HFMEb6jOuerWYAaxtRxQ@mail.gmail.com> <5271813C.606@bell-labs.com>
Date: Wed, 30 Oct 2013 19:29:16 -0400
Message-ID: <CAL02cgTn3jzwf2T2YhWAYg8QmctNaNY2QyNpW=j3W7jV8hjKOw@mail.gmail.com>
From: Richard Barnes <rlb@ipv.sx>
To: "Vijay K. Gurbani" <vkg@bell-labs.com>
Content-Type: multipart/alternative; boundary=e89a8ff250e0a72bba04e9fdb399
Cc: "sip-overload@ietf.org" <sip-overload@ietf.org>
Subject: Re: [sip-overload] AD review: draft-ietf-soc-overload-control-13 (MAJOR ISSUES)
X-BeenThere: sip-overload@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: SIP Overload <sip-overload.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/sip-overload>, <mailto:sip-overload-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/sip-overload>
List-Post: <mailto:sip-overload@ietf.org>
List-Help: <mailto:sip-overload-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/sip-overload>, <mailto:sip-overload-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 30 Oct 2013 23:29:21 -0000

--e89a8ff250e0a72bba04e9fdb399
Content-Type: text/plain; charset=ISO-8859-1

All that looks good to me!

On Wednesday, October 30, 2013, Vijay K. Gurbani wrote:

> On 10/29/2013 01:32 PM, Richard Barnes wrote:
>
>> Hey Vijay,
>>
>> Thanks for following up in detail.  Catching up with this now.
>> Responses inline.
>>
>
> Richard: Thank you for your time and a close read.  More inline,
> please.
>
>  In retrospect, I may have been a little persnickety about this.  What I
>> meant was that simply having a timestamp with a value less than a
>> previous one is not sufficient to detect overflow, because messages can
>> arrive out of order (as the document notes).  It seems like for overflow
>> detection, you could just require that the oc-seq value be
>> *significantly* below recent values, or below all values used in a time
>> window.
>>
>> Also, if overflow can be detected, then shouldn't the new message be
>> accepted and used, even though the oc-seq value is lower?
>>
>> It's actually a little more troubling that the field is not actually
>> defined to be an unsigned integer AFAICT.  Could we define this to be a
>> 32-bit or 64-bit unsigned integer?  Otherwise, talking about comparisons
>> is kind of ill-defined.
>>
>> Suggested text:
>> OLD: "This parameter contains a value..."
>> NEW: "This parameter contains a unsigned integer value..."
>>
>
> Sure, I will make that change.
>
>  OLD:
>> """
>> Due to an overflow, client implementations should be prepared to receive
>> an "oc-seq" parameter whose value is less than the previous value.
>> Client implementations can handle this by continuing to perform overload
>> control until the "oc-validity" related to the previous value of
>> "oc-seq" parameter expires.
>> """
>> NEW:
>> """
>> A client implementation can recognize that an overflow has occurred when
>> if it receives an "oc-seq" parameter whose value is significantly less
>> than the last several previous values.  If an overflow is detected, then
>> the client should use the overload parameters in the new message, even
>> though the sequence number is lower.  The client should also reset any
>> internal state to reflect the overflow so that future messages
>> (following the overflow) will be accepted.
>> """
>>
>
> Sure, this is good as well.  One small modification I would suggest is
> to expand on the term "significantly" to provide context to
> implementers.  Absent such a context, the term looses its, well,
> significance, as time passes.
>
> So, I would very slightly modify your proposal above as follows:
>
>    A client implementation can recognize that an overflow has
>    occurred when it receives an "oc-seq" parameter whose value
>    is significantly less than several previous values.  (Note that
>    an "oc-seq" parameter whose value does not deviate significantly
>    from the last several previous values is symptomatic of a tardy
>    packet.  However, overflow will cause "oc-seq" an "oc-seq"
>    parameter value to be significantly less than the last several
>    values.)  If an overflow is detected, then the client should
>    use the overload parameters in the new message, even though the
>    sequence number is lower.  The client should also reset any
>    internal state to reflect the overflow so that future messages
>    (following the overflow) will be accepted.
>
> Let me know if you have any concerns on such an edit.
>
>  We probably don't need to be as specific as my initial suggestion, but I
>> think it would be good to note that liveness checks are a source of
>> load.  Suggested text:
>>
>> OLD:
>> """
>> The SIP client SHOULD periodically probe if the downstream server is
>> alive using any mechanism at its disposal.
>> """
>>
>> NEW:
>> """
>> The SIP client SHOULD periodically probe if the downstream server is
>> alive using any mechanism at its disposal.  Clients should be
>> conservative in their probing (e.g., using an exponential back-off) so
>> that their liveness probes do not exacerbate an overload situation.
>> """
>>
>
> Sure, sounds reasonable.
>
> Regarding the security considerations, you wrote:
>
>  Overall, pretty good.  Couple of minor things inline.
>>
>
> I will circle back on the security considerations with a fresh mind
> sometimes in the morning and get back to you.  Generally, I think what
> you write seems reasonable here, but I will like to look at the changes
> with a fresh set of eyes.
>
> Thank you so much.
>
> - vijay
> --
> Vijay K. Gurbani, Bell Laboratories, Alcatel-Lucent
> 1960 Lucent Lane, Rm. 9C-533, Naperville, Illinois 60563 (USA)
> Email: vkg@{bell-labs.com,acm.org} / vijay.gurbani@alcatel-lucent.com
> Web: http://ect.bell-labs.com/who/**vkg/<http://ect.bell-labs.com/who/vkg/> | Calendar:
> http://goo.gl/x3Ogq
>

--e89a8ff250e0a72bba04e9fdb399
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

All that looks good to me!<br><br>On Wednesday, October 30, 2013, Vijay K. =
Gurbani  wrote:<br><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 =
.8ex;border-left:1px #ccc solid;padding-left:1ex">On 10/29/2013 01:32 PM, R=
ichard Barnes wrote:<br>

<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">
Hey Vijay,<br>
<br>
Thanks for following up in detail. =A0Catching up with this now.<br>
Responses inline.<br>
</blockquote>
<br>
Richard: Thank you for your time and a close read. =A0More inline,<br>
please.<br>
<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">
In retrospect, I may have been a little persnickety about this. =A0What I<b=
r>
meant was that simply having a timestamp with a value less than a<br>
previous one is not sufficient to detect overflow, because messages can<br>
arrive out of order (as the document notes). =A0It seems like for overflow<=
br>
detection, you could just require that the oc-seq value be<br>
*significantly* below recent values, or below all values used in a time<br>
window.<br>
<br>
Also, if overflow can be detected, then shouldn&#39;t the new message be<br=
>
accepted and used, even though the oc-seq value is lower?<br>
<br>
It&#39;s actually a little more troubling that the field is not actually<br=
>
defined to be an unsigned integer AFAICT. =A0Could we define this to be a<b=
r>
32-bit or 64-bit unsigned integer? =A0Otherwise, talking about comparisons<=
br>
is kind of ill-defined.<br>
<br>
Suggested text:<br>
OLD: &quot;This parameter contains a value...&quot;<br>
NEW: &quot;This parameter contains a unsigned integer value...&quot;<br>
</blockquote>
<br>
Sure, I will make that change.<br>
<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">
OLD:<br>
&quot;&quot;&quot;<br>
Due to an overflow, client implementations should be prepared to receive<br=
>
an &quot;oc-seq&quot; parameter whose value is less than the previous value=
.<br>
Client implementations can handle this by continuing to perform overload<br=
>
control until the &quot;oc-validity&quot; related to the previous value of<=
br>
&quot;oc-seq&quot; parameter expires.<br>
&quot;&quot;&quot;<br>
NEW:<br>
&quot;&quot;&quot;<br>
A client implementation can recognize that an overflow has occurred when<br=
>
if it receives an &quot;oc-seq&quot; parameter whose value is significantly=
 less<br>
than the last several previous values. =A0If an overflow is detected, then<=
br>
the client should use the overload parameters in the new message, even<br>
though the sequence number is lower. =A0The client should also reset any<br=
>
internal state to reflect the overflow so that future messages<br>
(following the overflow) will be accepted.<br>
&quot;&quot;&quot;<br>
</blockquote>
<br>
Sure, this is good as well. =A0One small modification I would suggest is<br=
>
to expand on the term &quot;significantly&quot; to provide context to<br>
implementers. =A0Absent such a context, the term looses its, well,<br>
significance, as time passes.<br>
<br>
So, I would very slightly modify your proposal above as follows:<br>
<br>
=A0 =A0A client implementation can recognize that an overflow has<br>
=A0 =A0occurred when it receives an &quot;oc-seq&quot; parameter whose valu=
e<br>
=A0 =A0is significantly less than several previous values. =A0(Note that<br=
>
=A0 =A0an &quot;oc-seq&quot; parameter whose value does not deviate signifi=
cantly<br>
=A0 =A0from the last several previous values is symptomatic of a tardy<br>
=A0 =A0packet. =A0However, overflow will cause &quot;oc-seq&quot; an &quot;=
oc-seq&quot;<br>
=A0 =A0parameter value to be significantly less than the last several<br>
=A0 =A0values.) =A0If an overflow is detected, then the client should<br>
=A0 =A0use the overload parameters in the new message, even though the<br>
=A0 =A0sequence number is lower. =A0The client should also reset any<br>
=A0 =A0internal state to reflect the overflow so that future messages<br>
=A0 =A0(following the overflow) will be accepted.<br>
<br>
Let me know if you have any concerns on such an edit.<br>
<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">
We probably don&#39;t need to be as specific as my initial suggestion, but =
I<br>
think it would be good to note that liveness checks are a source of<br>
load. =A0Suggested text:<br>
<br>
OLD:<br>
&quot;&quot;&quot;<br>
The SIP client SHOULD periodically probe if the downstream server is<br>
alive using any mechanism at its disposal.<br>
&quot;&quot;&quot;<br>
<br>
NEW:<br>
&quot;&quot;&quot;<br>
The SIP client SHOULD periodically probe if the downstream server is<br>
alive using any mechanism at its disposal. =A0Clients should be<br>
conservative in their probing (e.g., using an exponential back-off) so<br>
that their liveness probes do not exacerbate an overload situation.<br>
&quot;&quot;&quot;<br>
</blockquote>
<br>
Sure, sounds reasonable.<br>
<br>
Regarding the security considerations, you wrote:<br>
<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">
Overall, pretty good. =A0Couple of minor things inline.<br>
</blockquote>
<br>
I will circle back on the security considerations with a fresh mind<br>
sometimes in the morning and get back to you. =A0Generally, I think what<br=
>
you write seems reasonable here, but I will like to look at the changes<br>
with a fresh set of eyes.<br>
<br>
Thank you so much.<br>
<br>
- vijay<br>
-- <br>
Vijay K. Gurbani, Bell Laboratories, Alcatel-Lucent<br>
1960 Lucent Lane, Rm. 9C-533, Naperville, Illinois 60563 (USA)<br>
Email: vkg@{<a href=3D"http://bell-labs.com" target=3D"_blank">bell-labs.co=
m</a>,<a href=3D"http://acm.org" target=3D"_blank">acm.org</a>} / <a>vijay.=
gurbani@alcatel-lucent.com</a><br>
Web: <a href=3D"http://ect.bell-labs.com/who/vkg/" target=3D"_blank">http:/=
/ect.bell-labs.com/who/<u></u>vkg/</a> =A0| Calendar: <a href=3D"http://goo=
.gl/x3Ogq" target=3D"_blank">http://goo.gl/x3Ogq</a><br>
</blockquote>

--e89a8ff250e0a72bba04e9fdb399--

From shida@agnada.com  Wed Oct 30 14:19:11 2013
Return-Path: <shida@agnada.com>
X-Original-To: sip-overload@ietfa.amsl.com
Delivered-To: sip-overload@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E1A5C11E819F for <sip-overload@ietfa.amsl.com>; Wed, 30 Oct 2013 14:19:11 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.264
X-Spam-Level: 
X-Spam-Status: No, score=-2.264 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HTML_MESSAGE=0.001, IP_NOT_FRIENDLY=0.334]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id WH6f9FtMMe9z for <sip-overload@ietfa.amsl.com>; Wed, 30 Oct 2013 14:19:06 -0700 (PDT)
Received: from gateway14.websitewelcome.com (gateway14.websitewelcome.com [69.93.179.25]) by ietfa.amsl.com (Postfix) with ESMTP id 1B80211E826B for <sip-overload@ietf.org>; Wed, 30 Oct 2013 14:19:03 -0700 (PDT)
Received: by gateway14.websitewelcome.com (Postfix, from userid 5007) id E43F987988C65; Wed, 30 Oct 2013 16:18:52 -0500 (CDT)
Received: from gator4135.hostgator.com (gator4135.hostgator.com [192.185.4.147]) by gateway14.websitewelcome.com (Postfix) with ESMTP id CB01A87988BFC for <sip-overload@ietf.org>; Wed, 30 Oct 2013 16:18:52 -0500 (CDT)
Received: from [98.210.227.187] (port=51320 helo=[192.168.1.25]) by gator4135.hostgator.com with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.80) (envelope-from <shida@agnada.com>) id 1VbdAM-0004Ij-Vv; Wed, 30 Oct 2013 16:19:03 -0500
Content-Type: multipart/alternative; boundary="Apple-Mail=_8C0EBAF7-6FEF-4A5E-8AF3-53D0DDD55E93"
Mime-Version: 1.0 (Mac OS X Mail 6.6 \(1510\))
From: Shida Schubert <shida@agnada.com>
In-Reply-To: <CAL02cgSMrQTJt=LJg+j7c-9XrX=N9i=14vAvxqkq2KBgPbdHiQ@mail.gmail.com>
Date: Wed, 30 Oct 2013 14:19:02 -0700
Message-Id: <F748D8BE-3C47-4277-8E85-6C4F1F99DC71@agnada.com>
References: <CAL02cgQW3eJg+f0nwEwihJGRgE82o+B0gSx0LJ6vTP1M8F+n5w@mail.gmail.com> <CAL02cgSMrQTJt=LJg+j7c-9XrX=N9i=14vAvxqkq2KBgPbdHiQ@mail.gmail.com>
To: Richard Barnes <rlb@ipv.sx>
X-Mailer: Apple Mail (2.1510)
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - gator4135.hostgator.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - agnada.com
X-BWhitelist: no
X-Source: 
X-Source-Args: 
X-Source-Dir: 
X-Source-Sender: ([192.168.1.25]) [98.210.227.187]:51320
X-Source-Auth: shida.schubert+tingle.jp
X-Email-Count: 2
X-Source-Cap: c3NoaWRhO3NzaGlkYTtnYXRvcjQxMzUuaG9zdGdhdG9yLmNvbQ==
X-Mailman-Approved-At: Thu, 31 Oct 2013 01:56:09 -0700
Cc: "sip-overload@ietf.org" <sip-overload@ietf.org>, draft-ietf-soc-load-control-event-package@tools.ietf.org
Subject: Re: [sip-overload] AD review of draft-ietf-soc-load-control-event-package-08
X-BeenThere: sip-overload@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: SIP Overload <sip-overload.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/sip-overload>, <mailto:sip-overload-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/sip-overload>
List-Post: <mailto:sip-overload@ietf.org>
List-Help: <mailto:sip-overload-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/sip-overload>, <mailto:sip-overload-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 30 Oct 2013 21:19:12 -0000

--Apple-Mail=_8C0EBAF7-6FEF-4A5E-8AF3-53D0DDD55E93
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=iso-8859-1


Hi Richard;

 The proposed text looks good to me..=20

  Shida

On Oct 29, 2013, at 12:08 PM, Richard Barnes <rlb@ipv.sx> wrote:

> Dear authors,
>=20
> Thanks for updating this document.  It looks much better.  Sorry for =
the delay in my reply.
>=20
> The one thing I don't think is quite adequately addressed by the =
considerations around the use of the "redirect" action. =20
>=20
> The attack I'm worried about is something like the following:=20
> -- A bunch of proxies in a Trust Domain are using UDP, and configured =
to get their policies from a central server. =20
> -- Attacker spoofs the server's address to send a bunch of NOTIFY =
bodies telling proxies to send all calls to =
victim@outside-of-trust-domain.com
> -- Proxies redirect all calls to victim, who is now DoSed off of the =
Internet
>=20
> In order to address this threat, you need to either (1) remove the =
"redirect" action, or (2) constrain redirects to a safe space.  I assume =
that the WG doesn't want to do (1) :) =20
>=20
> Proposed edits:
> -- Add to the definition of a Trust Domain an agreement on the types =
of calls that can be affected by load control.  For example, <one> and =
<many> element might be limited to specific domains; <*-tel> elements =
might be limited to be within certain prefixes.
> -- Add to the definition of a Trust Domain an agreement on the =
destinations to which calls may be redirected.  For example, the URI =
might have to match a given set of domains.
> -- Add text to the Security Considerations describing the above =
attack, and REQUIREing that implementations enforce the limits described =
in the definition of their Trust Domain.
>=20
> Thanks,
> --Richard
>=20
>=20
>=20
>=20
>=20
>=20
> On Wed, Apr 17, 2013 at 1:53 PM, Richard Barnes <rlb@ipv.sx> wrote:
> I have reviewed this document, and have a few questions before IETF =
LC:
>=20
> Major:
>=20
> In a few places, for example Section 5.3., the document suggests that =
this event package could be used to communicate load filtering policies =
between domains.  This seems like a bad idea for a few reasons.  First, =
policies can be based on "P-Asserted-Identity", which is itself limited =
to use within a trust domain / Spec(T).  It doesn't make sense to have =
policies based on these identifiers outside of the domain in which they =
are used.  Second, inter-domain policies can create subtle and dangerous =
security risks.  For example, according to the current specification, =
Domain A could tell Domain B to drop all calls between Domain B and =
Domain C.  It's not clear how you would prevent these sorts of attacks, =
especially where "tel:" URIs are involved.  I think both of these issues =
go away if this event package is limited in a similar way to =
P-Asserted-Identity, i.e., limited to use within a trust domain.
>=20
> Section 6.3., "SUBSCRIBE Bodies" doesn't actually say anything about =
what goes in the body of a SUBSCRIBE message.  On the one hand, it =
implies that there could be a body (since the last sentence considers a =
request without a body as a special case), but it doesn't say what goes =
in the body if there is one.  Please either (1) define what may go in =
the body, (2) explicitly say that this document does not specify what =
goes in SUBSCRIBE bodies, or (3) require that the body be empty.   =
(Also, the first paragraph of this section seems out of place here, =
since it also has nothing to do with the body.)
>=20
> In Section 6.5., the last sentence is wrong.  The presence of an =
Accept header indicates that the response body should be one of the =
indicated types.  The indicated behavior would only be acceptable if the =
Accept header included "multipart/mixed".  Suggest deleting the last =
sentence.  (Also,  it would be clearer to change "the request body will =
contain" to "the request body MUST contain".)
>=20
> In Section 7.3.1, you need to specify how a "tel:" URI is matched =
against a domain value starting with "+".  Your examples seem to =
indicate simple string prefix matching, but I doubt that's what you =
actually want, since non-digit characters can break things.  For =
example, "+1212" should match "+1-212-555-1212".  Please specify a =
matching algorithm here.
>=20
> In Section 7.3.2, please change "Non-initial requests ... are not =
subjected" to "Non-initial requests ... MUST NOT be subjected".
>=20
> Section 7.4. doesn't adequately define the actions to be taken.  Each =
of the action elements (<rate>, <window>, <percent>) need to define a =
concrete action that the proxy should take.=20
>=20
> RFC 4745 allows rules to combine when multiple rules match a given =
call.  This document needs to define combination rules for the actions =
defined here. =20
>=20
> What's the reason for having both the "drop" action and the "reject" =
action?  It seems like the "drop" action is almost always harmful.  With =
unreliable transport, it causes retransmits, and even with reliable =
transport, it causes the client to wait unnecessarily until the =
connection times out.  In any case, the "simple drop" action is =
underspecified.  For example, does the server simply ignore the SIP =
message, or does it close the transport connection?
>=20
>=20
> Minor:
>=20
> In Section 7.3, "we re-define" -- the document doesn't re-define any =
of the elements in RFC 4745 (that's good; redefinition is bad).  =
Instead, you should say you define new identity elements.
>=20
> In Section 7.3.1, please break up paragraph starting "To include the =
two forms..." for greater readability.  Suggested break points: Before =
"Note that the tradeoff...", and before "It should be noted..."
>=20
> In Section 7.3.3, it would be helpful to break up the paragraph =
starting "The following are two example...".  Break before "Usecase I" =
and "Usecase II".  Also, s/Usecase/Use case/g
>=20
>=20
> Thanks,
> --Richard
>=20
> _______________________________________________
> sip-overload mailing list
> sip-overload@ietf.org
> https://www.ietf.org/mailman/listinfo/sip-overload


--Apple-Mail=_8C0EBAF7-6FEF-4A5E-8AF3-53D0DDD55E93
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=iso-8859-1

<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html =
charset=3Diso-8859-1"></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; -webkit-line-break: after-white-space; =
"><div><br></div><div>Hi Richard;</div><div><br></div><div>&nbsp;The =
proposed text looks good to me..&nbsp;</div><div><br></div><div>&nbsp; =
Shida</div><br><div><div>On Oct 29, 2013, at 12:08 PM, Richard Barnes =
&lt;<a href=3D"mailto:rlb@ipv.sx">rlb@ipv.sx</a>&gt; wrote:</div><br =
class=3D"Apple-interchange-newline"><blockquote type=3D"cite"><div =
dir=3D"ltr">Dear authors,<div><br></div><div>Thanks for updating this =
document. &nbsp;It looks much better. &nbsp;Sorry for the delay in my =
reply.</div><div><br></div><div>The one thing I don't think is quite =
adequately addressed by the considerations around the use of the =
"redirect" action. &nbsp;</div>
<div class=3D"gmail_extra"><br></div><div class=3D"gmail_extra">The =
attack I'm worried about is something like the =
following:&nbsp;</div><div class=3D"gmail_extra">-- A bunch of proxies =
in a Trust Domain are using UDP, and configured to get their policies =
from a central server. &nbsp;</div>
<div class=3D"gmail_extra">-- Attacker spoofs the server's address to =
send a bunch of NOTIFY bodies telling proxies to send all calls to <a =
href=3D"mailto:victim@outside-of-trust-domain.com">victim@outside-of-trust=
-domain.com</a></div>
<div class=3D"gmail_extra">-- Proxies redirect all calls to victim, who =
is now DoSed off of the Internet</div><div =
class=3D"gmail_extra"><br></div><div class=3D"gmail_extra">In order to =
address this threat, you need to either (1) remove the "redirect" =
action, or (2) constrain redirects to a safe space. &nbsp;I assume that =
the WG doesn't want to do (1) :) &nbsp;</div>
<div class=3D"gmail_extra"><br></div><div class=3D"gmail_extra">Proposed =
edits:</div><div class=3D"gmail_extra">-- Add to the definition of a =
Trust Domain an agreement on the types of calls that can be affected by =
load control. &nbsp;For example, &lt;one&gt; and &lt;many&gt; element =
might be limited to specific domains; &lt;*-tel&gt; elements might be =
limited to be within certain prefixes.</div>
<div class=3D"gmail_extra">-- Add to the definition of a Trust Domain an =
agreement on the destinations to which calls may be redirected. =
&nbsp;For example, the URI might have to match a given set of =
domains.</div><div class=3D"gmail_extra">
-- Add text to the Security Considerations describing the above attack, =
and REQUIREing that implementations enforce the limits described in the =
definition of their Trust Domain.</div><div =
class=3D"gmail_extra"><br></div><div class=3D"gmail_extra">
Thanks,</div><div class=3D"gmail_extra">--Richard</div><div =
class=3D"gmail_extra"><br></div><div class=3D"gmail_extra"><br></div><div =
class=3D"gmail_extra"><br></div><div class=3D"gmail_extra"><br></div><div =
class=3D"gmail_extra"><br>
<br><div class=3D"gmail_quote">On Wed, Apr 17, 2013 at 1:53 PM, Richard =
Barnes <span dir=3D"ltr">&lt;<a href=3D"mailto:rlb@ipv.sx" =
target=3D"_blank">rlb@ipv.sx</a>&gt;</span> wrote:<br><blockquote =
class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc =
solid;padding-left:1ex">
<span =
style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">=
I have reviewed this document, and have a few questions before IETF =
LC:</span><div =
style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">=


<br></div><div =
style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">=
Major:</div><div =
style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">=

<br></div><div =
style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">=
In a few places, for example Section 5.3., the document suggests that =
this event package could be used to communicate load filtering policies =
between domains. &nbsp;This seems like a bad idea for a few reasons. =
&nbsp;First, policies can be based on "P-Asserted-Identity", which is =
itself limited to use within a trust domain / Spec(T). &nbsp;It doesn't =
make sense to have policies based on these identifiers outside of the =
domain in which they are used. &nbsp;Second, inter-domain policies can =
create subtle and dangerous security risks. &nbsp;For example, according =
to the current specification, Domain A could tell Domain B to drop all =
calls between Domain B and Domain C. &nbsp;It's not clear how you would =
prevent these sorts of attacks, especially where "tel:" URIs are =
involved. &nbsp;I think both of these issues go away if this event =
package is limited in a similar way to P-Asserted-Identity, i.e., =
limited to use within a trust domain.</div>

<div =
style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">=
<br></div><div =
style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">=

Section 6.3., "SUBSCRIBE Bodies" doesn't actually say anything about =
what goes in the body of a SUBSCRIBE message. &nbsp;On the one hand, it =
implies that there could be a body (since the last sentence considers a =
request without a body as a special case), but it doesn't say what goes =
in the body if there is one. &nbsp;Please either (1) define what may go =
in the body, (2) explicitly say that this document does not specify what =
goes in SUBSCRIBE bodies, or (3) require that the body be empty. &nbsp; =
(Also, the first paragraph of this section seems out of place here, =
since it also has nothing to do with the body.)</div>

<div =
style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">=
<br></div><div =
style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">=

In Section 6.5., the last sentence is wrong. &nbsp;The presence of an =
Accept header indicates that the response body should be one of the =
indicated types. &nbsp;The indicated behavior would only be acceptable =
if the Accept header included "multipart/mixed". &nbsp;Suggest deleting =
the last sentence. &nbsp;(Also,&nbsp;&nbsp;it would be clearer to change =
"the request body will contain" to "the request body MUST =
contain".)</div>

<div =
style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">=
<br></div><div =
style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">=

In Section 7.3.1, you need to specify how a "tel:" URI is matched =
against a domain value starting with "+". &nbsp;Your examples seem to =
indicate simple string prefix matching, but I doubt that's what you =
actually want, since non-digit characters can break things. &nbsp;For =
example, "+1212" should match "<a href=3D"tel:%2B1-212-555-1212" =
value=3D"+12125551212" style=3D"color:rgb(17,85,204)" =
target=3D"_blank">+1-212-555-1212</a>". &nbsp;Please specify a matching =
algorithm here.</div>

<div =
style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">=
<br></div><div =
style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">=

In Section 7.3.2, please change "Non-initial requests ... are not =
subjected" to "Non-initial requests ... MUST NOT be =
subjected".</div><div =
style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">=


<br></div><div =
style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">=
Section 7.4. doesn't adequately define the actions to be taken. =
&nbsp;Each of the action elements (&lt;rate&gt;, &lt;window&gt;, =
&lt;percent&gt;) need to define a concrete action that the proxy should =
take.&nbsp;</div>

<div =
style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">=
<br></div><div =
style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">=

RFC 4745 allows rules to combine when multiple rules match a given call. =
&nbsp;This document needs to define combination rules for the actions =
defined here. &nbsp;</div><div =
style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">=


<br></div><div =
style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">=
What's the reason for having both the "drop" action and the "reject" =
action? &nbsp;It seems like the "drop" action is almost always harmful. =
&nbsp;With unreliable transport, it causes retransmits, and even with =
reliable transport, it causes the client to wait unnecessarily until the =
connection times out. &nbsp;In any case, the "simple drop" action is =
underspecified. &nbsp;For example, does the server simply ignore the SIP =
message, or does it close the transport connection?</div>

<div =
style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">=
<br></div><div =
style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">=

<br></div><div =
style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">=
Minor:</div><div =
style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">=

<br></div><div =
style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">=
In Section 7.3, "we re-define" -- the document doesn't re-define any of =
the elements in RFC 4745 (that's good; redefinition is bad). =
&nbsp;Instead, you should say you define new identity elements.</div>

<div =
style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">=
<br></div><div =
style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">=

In Section 7.3.1, please break up paragraph starting "To include the two =
forms..." for greater readability. &nbsp;Suggested break points: Before =
"Note that the tradeoff...", and before "It should be noted..."</div>

<div =
style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">=
<br></div><div =
style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">=

In Section 7.3.3, it would be helpful to break up the paragraph starting =
"The following are two example...". &nbsp;Break before "Usecase I" and =
"Usecase II". &nbsp;Also, s/Usecase/Use case/g</div><div =
style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">=


<br></div><div =
style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">=
<br></div><div =
style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">=

Thanks,</div><div =
style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">=
--Richard</div>
</blockquote></div><br></div></div>
_______________________________________________<br>sip-overload mailing =
list<br><a =
href=3D"mailto:sip-overload@ietf.org">sip-overload@ietf.org</a><br>https:/=
/www.ietf.org/mailman/listinfo/sip-overload<br></blockquote></div><br></bo=
dy></html>=

--Apple-Mail=_8C0EBAF7-6FEF-4A5E-8AF3-53D0DDD55E93--

From charles.newyork@gmail.com  Thu Oct 31 08:00:42 2013
Return-Path: <charles.newyork@gmail.com>
X-Original-To: sip-overload@ietfa.amsl.com
Delivered-To: sip-overload@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id BC2F611E81C6 for <sip-overload@ietfa.amsl.com>; Thu, 31 Oct 2013 08:00:42 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.977
X-Spam-Level: 
X-Spam-Status: No, score=-1.977 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, NO_RELAYS=-0.001]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id yYUdF0zX9NkP for <sip-overload@ietfa.amsl.com>; Thu, 31 Oct 2013 08:00:39 -0700 (PDT)
Received: from mail-oa0-x234.google.com (mail-oa0-x234.google.com [IPv6:2607:f8b0:4003:c02::234]) by ietfa.amsl.com (Postfix) with ESMTP id A20C911E8196 for <sip-overload@ietf.org>; Thu, 31 Oct 2013 08:00:31 -0700 (PDT)
Received: by mail-oa0-f52.google.com with SMTP id j1so3195963oag.11 for <sip-overload@ietf.org>; Thu, 31 Oct 2013 08:00:28 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc:content-type; bh=EL13KFjOHUmxBoKFejA6rtwviRpWI+zkEr9GTWLu+kI=; b=Is5FJrYYc/mzonDw6jrubHjp0b/pNvmOLSmNvi4ZY831IgyBMr4sFQ8FnPJSgmm6ZL pB48Qgo34zUsoMaDghyg9AV2OjPoe2EsSv/ahiZe8sQ6TR18ycX+7rdsqF7/kTMFVnJf IWYd8a65j4s8WKHdWOamUKtv9RHgwfu9MfjXdQUdgrQKPY7FDVHo65V/D7icHaulLf3A 7VqT+fZWmQ7Ayf6M4f7S3olWojP6Ee+gjauXFlDbXgZt/oDdzKGmZ4Qkm1F2RDlpSirO kJXb5lCPRFr/tYYFX5WPgzWxdZr1KM8Ciso2Bx8sisopgJPZnqdfnj7AuYKMnJ/woZ0w chtg==
X-Received: by 10.60.116.230 with SMTP id jz6mr3045835oeb.21.1383231628039; Thu, 31 Oct 2013 08:00:28 -0700 (PDT)
MIME-Version: 1.0
Sender: charles.newyork@gmail.com
Received: by 10.182.27.9 with HTTP; Thu, 31 Oct 2013 08:00:07 -0700 (PDT)
In-Reply-To: <CAL02cgSKQOhb_8v6SF4o=_WDieobFki_Qy2aaO=-KA-FRJqTsw@mail.gmail.com>
References: <CAL02cgQW3eJg+f0nwEwihJGRgE82o+B0gSx0LJ6vTP1M8F+n5w@mail.gmail.com> <CAL02cgSMrQTJt=LJg+j7c-9XrX=N9i=14vAvxqkq2KBgPbdHiQ@mail.gmail.com> <CAPSQ9ZUY547AXNgsiSQE9H7Wr8UZAv_0N-rgyAdm5FeWsfjb1w@mail.gmail.com> <CAL02cgSKQOhb_8v6SF4o=_WDieobFki_Qy2aaO=-KA-FRJqTsw@mail.gmail.com>
From: Charles Shen <qs2005@columbia.edu>
Date: Thu, 31 Oct 2013 11:00:07 -0400
X-Google-Sender-Auth: gsdbLhGvP0MvAd8oFqfRQ_o4ltg
Message-ID: <CAPSQ9ZXfH7YQX-wjWZkKJRSzpXnWFch0_i=TUvAkVjjNpGj0gA@mail.gmail.com>
To: Richard Barnes <rlb@ipv.sx>
Content-Type: multipart/alternative; boundary=089e0115e84ad4df8204ea0ab558
Cc: "sip-overload@ietf.org" <sip-overload@ietf.org>, "draft-ietf-soc-load-control-event-package@tools.ietf.org" <draft-ietf-soc-load-control-event-package@tools.ietf.org>
Subject: Re: [sip-overload] AD review of draft-ietf-soc-load-control-event-package-08
X-BeenThere: sip-overload@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: SIP Overload <sip-overload.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/sip-overload>, <mailto:sip-overload-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/sip-overload>
List-Post: <mailto:sip-overload@ietf.org>
List-Help: <mailto:sip-overload-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/sip-overload>, <mailto:sip-overload-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 31 Oct 2013 15:00:43 -0000

--089e0115e84ad4df8204ea0ab558
Content-Type: text/plain; charset=UTF-8

Hi Richard, I will let the "bunch of"s go before upload :)


On Wed, Oct 30, 2013 at 4:52 PM, Richard Barnes <rlb@ipv.sx> wrote:

> I wouldn't have used my text quite so directly (maybe edited out some
> "bunch of" instances), but this looks OK to me.  Thanks for the quick
> update.  Please feel free to post.
>
> Is there anyone in the WG that has an objection to these changes?
>
>
>
>
> On Wed, Oct 30, 2013 at 2:11 PM, Charles Shen <qs2005@columbia.edu> wrote:
>
>> Dear Richard,
>>
>> Thank you very much for your comments! I've incorporated your suggestions
>> into a revised version, as attached for your reference. Changes are in
>> Section 5.4 (definition of Trust Domain) and Section 11 (Security
>> Considerations). If there are any further concerns please let me know, I
>> will upload the most updated revision when the IETF submission site
>> re-opens on Nov. 4.
>>
>> Thanks!
>>
>> Charles
>>
>>
>> On Tue, Oct 29, 2013 at 3:08 PM, Richard Barnes <rlb@ipv.sx> wrote:
>>
>>> Dear authors,
>>>
>>> Thanks for updating this document.  It looks much better.  Sorry for the
>>> delay in my reply.
>>>
>>> The one thing I don't think is quite adequately addressed by the
>>> considerations around the use of the "redirect" action.
>>>
>>> The attack I'm worried about is something like the following:
>>> -- A bunch of proxies in a Trust Domain are using UDP, and configured to
>>> get their policies from a central server.
>>> -- Attacker spoofs the server's address to send a bunch of NOTIFY bodies
>>> telling proxies to send all calls to victim@outside-of-trust-domain.com
>>> -- Proxies redirect all calls to victim, who is now DoSed off of the
>>> Internet
>>>
>>> In order to address this threat, you need to either (1) remove the
>>> "redirect" action, or (2) constrain redirects to a safe space.  I assume
>>> that the WG doesn't want to do (1) :)
>>>
>>> Proposed edits:
>>> -- Add to the definition of a Trust Domain an agreement on the types of
>>> calls that can be affected by load control.  For example, <one> and <many>
>>> element might be limited to specific domains; <*-tel> elements might be
>>> limited to be within certain prefixes.
>>> -- Add to the definition of a Trust Domain an agreement on the
>>> destinations to which calls may be redirected.  For example, the URI might
>>> have to match a given set of domains.
>>> -- Add text to the Security Considerations describing the above attack,
>>> and REQUIREing that implementations enforce the limits described in the
>>> definition of their Trust Domain.
>>>
>>> Thanks,
>>> --Richard
>>>
>>>
>>>
>>>
>>>
>>>
>>> On Wed, Apr 17, 2013 at 1:53 PM, Richard Barnes <rlb@ipv.sx> wrote:
>>>
>>>> I have reviewed this document, and have a few questions before IETF LC:
>>>>
>>>> Major:
>>>>
>>>> In a few places, for example Section 5.3., the document suggests that
>>>> this event package could be used to communicate load filtering policies
>>>> between domains.  This seems like a bad idea for a few reasons.  First,
>>>> policies can be based on "P-Asserted-Identity", which is itself limited to
>>>> use within a trust domain / Spec(T).  It doesn't make sense to have
>>>> policies based on these identifiers outside of the domain in which they are
>>>> used.  Second, inter-domain policies can create subtle and dangerous
>>>> security risks.  For example, according to the current specification,
>>>> Domain A could tell Domain B to drop all calls between Domain B and Domain
>>>> C.  It's not clear how you would prevent these sorts of attacks, especially
>>>> where "tel:" URIs are involved.  I think both of these issues go away if
>>>> this event package is limited in a similar way to P-Asserted-Identity,
>>>> i.e., limited to use within a trust domain.
>>>>
>>>> Section 6.3., "SUBSCRIBE Bodies" doesn't actually say anything about
>>>> what goes in the body of a SUBSCRIBE message.  On the one hand, it implies
>>>> that there could be a body (since the last sentence considers a request
>>>> without a body as a special case), but it doesn't say what goes in the body
>>>> if there is one.  Please either (1) define what may go in the body, (2)
>>>> explicitly say that this document does not specify what goes in SUBSCRIBE
>>>> bodies, or (3) require that the body be empty.   (Also, the first paragraph
>>>> of this section seems out of place here, since it also has nothing to do
>>>> with the body.)
>>>>
>>>> In Section 6.5., the last sentence is wrong.  The presence of an Accept
>>>> header indicates that the response body should be one of the indicated
>>>> types.  The indicated behavior would only be acceptable if the Accept
>>>> header included "multipart/mixed".  Suggest deleting the last sentence.
>>>>  (Also,  it would be clearer to change "the request body will contain" to
>>>> "the request body MUST contain".)
>>>>
>>>> In Section 7.3.1, you need to specify how a "tel:" URI is matched
>>>> against a domain value starting with "+".  Your examples seem to indicate
>>>> simple string prefix matching, but I doubt that's what you actually want,
>>>> since non-digit characters can break things.  For example, "+1212" should
>>>> match "+1-212-555-1212".  Please specify a matching algorithm here.
>>>>
>>>> In Section 7.3.2, please change "Non-initial requests ... are not
>>>> subjected" to "Non-initial requests ... MUST NOT be subjected".
>>>>
>>>> Section 7.4. doesn't adequately define the actions to be taken.  Each
>>>> of the action elements (<rate>, <window>, <percent>) need to define a
>>>> concrete action that the proxy should take.
>>>>
>>>> RFC 4745 allows rules to combine when multiple rules match a given
>>>> call.  This document needs to define combination rules for the actions
>>>> defined here.
>>>>
>>>> What's the reason for having both the "drop" action and the "reject"
>>>> action?  It seems like the "drop" action is almost always harmful.  With
>>>> unreliable transport, it causes retransmits, and even with reliable
>>>> transport, it causes the client to wait unnecessarily until the connection
>>>> times out.  In any case, the "simple drop" action is underspecified.  For
>>>> example, does the server simply ignore the SIP message, or does it close
>>>> the transport connection?
>>>>
>>>>
>>>> Minor:
>>>>
>>>> In Section 7.3, "we re-define" -- the document doesn't re-define any of
>>>> the elements in RFC 4745 (that's good; redefinition is bad).  Instead, you
>>>> should say you define new identity elements.
>>>>
>>>> In Section 7.3.1, please break up paragraph starting "To include the
>>>> two forms..." for greater readability.  Suggested break points: Before
>>>> "Note that the tradeoff...", and before "It should be noted..."
>>>>
>>>> In Section 7.3.3, it would be helpful to break up the paragraph
>>>> starting "The following are two example...".  Break before "Usecase I" and
>>>> "Usecase II".  Also, s/Usecase/Use case/g
>>>>
>>>>
>>>> Thanks,
>>>> --Richard
>>>>
>>>
>>>
>>> _______________________________________________
>>> sip-overload mailing list
>>> sip-overload@ietf.org
>>> https://www.ietf.org/mailman/listinfo/sip-overload
>>>
>>>
>>
>
> _______________________________________________
> sip-overload mailing list
> sip-overload@ietf.org
> https://www.ietf.org/mailman/listinfo/sip-overload
>
>

--089e0115e84ad4df8204ea0ab558
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hi Richard, I will let the &quot;bunch of&quot;s go before=
 upload :)<div class=3D"gmail_extra"><br><br><div class=3D"gmail_quote">On =
Wed, Oct 30, 2013 at 4:52 PM, Richard Barnes <span dir=3D"ltr">&lt;<a href=
=3D"mailto:rlb@ipv.sx" target=3D"_blank">rlb@ipv.sx</a>&gt;</span> wrote:<b=
r>

<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex"><div dir=3D"ltr"><div>I wouldn&#39;t have us=
ed my text quite so directly (maybe edited out some &quot;bunch of&quot; in=
stances), but this looks OK to me.=C2=A0 Thanks for the quick update.=C2=A0=
 Please feel free to post.<br>

<br></div>
Is there anyone in the WG that has an objection to these changes?<br><div><=
br>=C2=A0<br></div></div><div class=3D"HOEnZb"><div class=3D"h5"><div class=
=3D"gmail_extra"><br><br><div class=3D"gmail_quote">On Wed, Oct 30, 2013 at=
 2:11 PM, Charles Shen <span dir=3D"ltr">&lt;<a href=3D"mailto:qs2005@colum=
bia.edu" target=3D"_blank">qs2005@columbia.edu</a>&gt;</span> wrote:<br>


<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex"><div dir=3D"ltr">Dear Richard,=C2=A0<div><br=
></div><div>Thank you very much for your comments! I&#39;ve incorporated yo=
ur suggestions into a revised version, as attached for your reference. Chan=
ges are in Section 5.4 (definition of Trust Domain) and Section 11 (Securit=
y Considerations). If there are any further concerns please let me know, I =
will upload the most updated revision when the IETF submission site re-open=
s on Nov. 4.=C2=A0</div>




<div class=3D"gmail_extra"><br>Thanks!</div><span><font color=3D"#888888"><=
div class=3D"gmail_extra"><br></div></font></span><div class=3D"gmail_extra=
"><span><font color=3D"#888888">Charles<br><br><br>
</font></span><div class=3D"gmail_quote"><div><div>On Tue, Oct 29, 2013 at =
3:08 PM, Richard Barnes <span dir=3D"ltr">&lt;<a href=3D"mailto:rlb@ipv.sx"=
 target=3D"_blank">rlb@ipv.sx</a>&gt;</span> wrote:<br>

</div></div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;bo=
rder-left:1px #ccc solid;padding-left:1ex"><div><div><div dir=3D"ltr">Dear =
authors,<div><br></div><div>Thanks for updating this document. =C2=A0It loo=
ks much better. =C2=A0Sorry for the delay in my reply.</div>




<div><br></div><div>The one thing I don&#39;t think is quite adequately add=
ressed by the considerations around the use of the &quot;redirect&quot; act=
ion. =C2=A0</div>
<div class=3D"gmail_extra"><br></div><div class=3D"gmail_extra">The attack =
I&#39;m worried about is something like the following:=C2=A0</div><div clas=
s=3D"gmail_extra">-- A bunch of proxies in a Trust Domain are using UDP, an=
d configured to get their policies from a central server. =C2=A0</div>





<div class=3D"gmail_extra">-- Attacker spoofs the server&#39;s address to s=
end a bunch of NOTIFY bodies telling proxies to send all calls to <a href=
=3D"mailto:victim@outside-of-trust-domain.com" target=3D"_blank">victim@out=
side-of-trust-domain.com</a></div>





<div class=3D"gmail_extra">-- Proxies redirect all calls to victim, who is =
now DoSed off of the Internet</div><div class=3D"gmail_extra"><br></div><di=
v class=3D"gmail_extra">In order to address this threat, you need to either=
 (1) remove the &quot;redirect&quot; action, or (2) constrain redirects to =
a safe space. =C2=A0I assume that the WG doesn&#39;t want to do (1) :) =C2=
=A0</div>





<div class=3D"gmail_extra"><br></div><div class=3D"gmail_extra">Proposed ed=
its:</div><div class=3D"gmail_extra">-- Add to the definition of a Trust Do=
main an agreement on the types of calls that can be affected by load contro=
l. =C2=A0For example, &lt;one&gt; and &lt;many&gt; element might be limited=
 to specific domains; &lt;*-tel&gt; elements might be limited to be within =
certain prefixes.</div>





<div class=3D"gmail_extra">-- Add to the definition of a Trust Domain an ag=
reement on the destinations to which calls may be redirected. =C2=A0For exa=
mple, the URI might have to match a given set of domains.</div><div class=
=3D"gmail_extra">





-- Add text to the Security Considerations describing the above attack, and=
 REQUIREing that implementations enforce the limits described in the defini=
tion of their Trust Domain.</div><div class=3D"gmail_extra"><br></div><div =
class=3D"gmail_extra">





Thanks,</div><div class=3D"gmail_extra">--Richard</div><div><div><div class=
=3D"gmail_extra"><br></div><div class=3D"gmail_extra"><br></div><div class=
=3D"gmail_extra"><br></div><div class=3D"gmail_extra"><br></div><div class=
=3D"gmail_extra">




<br>
<br><div class=3D"gmail_quote">On Wed, Apr 17, 2013 at 1:53 PM, Richard Bar=
nes <span dir=3D"ltr">&lt;<a href=3D"mailto:rlb@ipv.sx" target=3D"_blank">r=
lb@ipv.sx</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_quote" style=
=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">





<span style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-se=
rif">I have reviewed this document, and have a few questions before IETF LC=
:</span><div style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,=
sans-serif">






<br></div><div style=3D"color:rgb(34,34,34);font-size:13px;font-family:aria=
l,sans-serif">Major:</div><div style=3D"color:rgb(34,34,34);font-size:13px;=
font-family:arial,sans-serif">
<br></div><div style=3D"color:rgb(34,34,34);font-size:13px;font-family:aria=
l,sans-serif">In a few places, for example Section 5.3., the document sugge=
sts that this event package could be used to communicate load filtering pol=
icies between domains. =C2=A0This seems like a bad idea for a few reasons. =
=C2=A0First, policies can be based on &quot;P-Asserted-Identity&quot;, whic=
h is itself limited to use within a trust domain / Spec(T). =C2=A0It doesn&=
#39;t make sense to have policies based on these identifiers outside of the=
 domain in which they are used. =C2=A0Second, inter-domain policies can cre=
ate subtle and dangerous security risks. =C2=A0For example, according to th=
e current specification, Domain A could tell Domain B to drop all calls bet=
ween Domain B and Domain C. =C2=A0It&#39;s not clear how you would prevent =
these sorts of attacks, especially where &quot;tel:&quot; URIs are involved=
. =C2=A0I think both of these issues go away if this event package is limit=
ed in a similar way to P-Asserted-Identity, i.e., limited to use within a t=
rust domain.</div>






<div style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-ser=
if"><br></div><div style=3D"color:rgb(34,34,34);font-size:13px;font-family:=
arial,sans-serif">
Section 6.3., &quot;SUBSCRIBE Bodies&quot; doesn&#39;t actually say anythin=
g about what goes in the body of a SUBSCRIBE message. =C2=A0On the one hand=
, it implies that there could be a body (since the last sentence considers =
a request without a body as a special case), but it doesn&#39;t say what go=
es in the body if there is one. =C2=A0Please either (1) define what may go =
in the body, (2) explicitly say that this document does not specify what go=
es in SUBSCRIBE bodies, or (3) require that the body be empty. =C2=A0 (Also=
, the first paragraph of this section seems out of place here, since it als=
o has nothing to do with the body.)</div>






<div style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-ser=
if"><br></div><div style=3D"color:rgb(34,34,34);font-size:13px;font-family:=
arial,sans-serif">
In Section 6.5., the last sentence is wrong. =C2=A0The presence of an Accep=
t header indicates that the response body should be one of the indicated ty=
pes. =C2=A0The indicated behavior would only be acceptable if the Accept he=
ader included &quot;multipart/mixed&quot;. =C2=A0Suggest deleting the last =
sentence. =C2=A0(Also,=C2=A0=C2=A0it would be clearer to change &quot;the r=
equest body will contain&quot; to &quot;the request body MUST contain&quot;=
.)</div>






<div style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-ser=
if"><br></div><div style=3D"color:rgb(34,34,34);font-size:13px;font-family:=
arial,sans-serif">
In Section 7.3.1, you need to specify how a &quot;tel:&quot; URI is matched=
 against a domain value starting with &quot;+&quot;. =C2=A0Your examples se=
em to indicate simple string prefix matching, but I doubt that&#39;s what y=
ou actually want, since non-digit characters can break things. =C2=A0For ex=
ample, &quot;+1212&quot; should match &quot;<a href=3D"tel:%2B1-212-555-121=
2" value=3D"+12125551212" style=3D"color:rgb(17,85,204)" target=3D"_blank">=
+1-212-555-1212</a>&quot;. =C2=A0Please specify a matching algorithm here.<=
/div>






<div style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-ser=
if"><br></div><div style=3D"color:rgb(34,34,34);font-size:13px;font-family:=
arial,sans-serif">
In Section 7.3.2, please change &quot;Non-initial requests ... are not subj=
ected&quot; to &quot;Non-initial requests ... MUST NOT be subjected&quot;.<=
/div><div style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,san=
s-serif">






<br></div><div style=3D"color:rgb(34,34,34);font-size:13px;font-family:aria=
l,sans-serif">Section 7.4. doesn&#39;t adequately define the actions to be =
taken. =C2=A0Each of the action elements (&lt;rate&gt;, &lt;window&gt;, &lt=
;percent&gt;) need to define a concrete action that the proxy should take.=
=C2=A0</div>






<div style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-ser=
if"><br></div><div style=3D"color:rgb(34,34,34);font-size:13px;font-family:=
arial,sans-serif">
RFC 4745 allows rules to combine when multiple rules match a given call. =
=C2=A0This document needs to define combination rules for the actions defin=
ed here. =C2=A0</div><div style=3D"color:rgb(34,34,34);font-size:13px;font-=
family:arial,sans-serif">






<br></div><div style=3D"color:rgb(34,34,34);font-size:13px;font-family:aria=
l,sans-serif">What&#39;s the reason for having both the &quot;drop&quot; ac=
tion and the &quot;reject&quot; action? =C2=A0It seems like the &quot;drop&=
quot; action is almost always harmful. =C2=A0With unreliable transport, it =
causes retransmits, and even with reliable transport, it causes the client =
to wait unnecessarily until the connection times out. =C2=A0In any case, th=
e &quot;simple drop&quot; action is underspecified. =C2=A0For example, does=
 the server simply ignore the SIP message, or does it close the transport c=
onnection?</div>






<div style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-ser=
if"><br></div><div style=3D"color:rgb(34,34,34);font-size:13px;font-family:=
arial,sans-serif">
<br></div><div style=3D"color:rgb(34,34,34);font-size:13px;font-family:aria=
l,sans-serif">Minor:</div><div style=3D"color:rgb(34,34,34);font-size:13px;=
font-family:arial,sans-serif">
<br></div><div style=3D"color:rgb(34,34,34);font-size:13px;font-family:aria=
l,sans-serif">In Section 7.3, &quot;we re-define&quot; -- the document does=
n&#39;t re-define any of the elements in RFC 4745 (that&#39;s good; redefin=
ition is bad). =C2=A0Instead, you should say you define new identity elemen=
ts.</div>






<div style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-ser=
if"><br></div><div style=3D"color:rgb(34,34,34);font-size:13px;font-family:=
arial,sans-serif">
In Section 7.3.1, please break up paragraph starting &quot;To include the t=
wo forms...&quot; for greater readability. =C2=A0Suggested break points: Be=
fore &quot;Note that the tradeoff...&quot;, and before &quot;It should be n=
oted...&quot;</div>






<div style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-ser=
if"><br></div><div style=3D"color:rgb(34,34,34);font-size:13px;font-family:=
arial,sans-serif">
In Section 7.3.3, it would be helpful to break up the paragraph starting &q=
uot;The following are two example...&quot;. =C2=A0Break before &quot;Usecas=
e I&quot; and &quot;Usecase II&quot;. =C2=A0Also, s/Usecase/Use case/g</div=
><div style=3D"color:rgb(34,34,34);font-size:13px;font-family:arial,sans-se=
rif">






<br></div><div style=3D"color:rgb(34,34,34);font-size:13px;font-family:aria=
l,sans-serif"><br></div><div style=3D"color:rgb(34,34,34);font-size:13px;fo=
nt-family:arial,sans-serif">
Thanks,</div><div style=3D"color:rgb(34,34,34);font-size:13px;font-family:a=
rial,sans-serif">--Richard</div>
</blockquote></div><br></div></div></div></div>
<br></div></div><div>_______________________________________________<br>
sip-overload mailing list<br>
<a href=3D"mailto:sip-overload@ietf.org" target=3D"_blank">sip-overload@iet=
f.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/sip-overload" target=3D"_b=
lank">https://www.ietf.org/mailman/listinfo/sip-overload</a><br>
<br></div></blockquote></div><br></div></div>
</blockquote></div><br></div>
</div></div><br>_______________________________________________<br>
sip-overload mailing list<br>
<a href=3D"mailto:sip-overload@ietf.org">sip-overload@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/sip-overload" target=3D"_b=
lank">https://www.ietf.org/mailman/listinfo/sip-overload</a><br>
<br></blockquote></div><br></div></div>

--089e0115e84ad4df8204ea0ab558--
