
From nobody Mon Sep  1 04:51:20 2014
Return-Path: <bo.burman@ericsson.com>
X-Original-To: avtext@ietfa.amsl.com
Delivered-To: avtext@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 43A171A039A for <avtext@ietfa.amsl.com>; Mon,  1 Sep 2014 04:51:18 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.299
X-Spam-Level: 
X-Spam-Status: No, score=0.299 tagged_above=-999 required=5 tests=[BAYES_50=0.8, J_CHICKENPOX_38=0.6, J_CHICKENPOX_45=0.6, J_CHICKENPOX_46=0.6, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Pj0C3eRMiNMD for <avtext@ietfa.amsl.com>; Mon,  1 Sep 2014 04:51:15 -0700 (PDT)
Received: from sesbmg22.ericsson.net (sesbmg22.ericsson.net [193.180.251.48]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B25B81A02BD for <avtext@ietf.org>; Mon,  1 Sep 2014 04:51:14 -0700 (PDT)
X-AuditID: c1b4fb30-f79736d0000053b8-c2-54045daf5136
Received: from ESESSHC018.ericsson.se (Unknown_Domain [153.88.253.124]) by sesbmg22.ericsson.net (Symantec Mail Security) with SMTP id B9.E9.21432.FAD54045; Mon,  1 Sep 2014 13:51:12 +0200 (CEST)
Received: from ESESSMB105.ericsson.se ([169.254.5.48]) by ESESSHC018.ericsson.se ([153.88.183.72]) with mapi id 14.03.0174.001; Mon, 1 Sep 2014 13:51:11 +0200
From: Bo Burman <bo.burman@ericsson.com>
To: Christian Groves <Christian.Groves@nteczone.com>, "avtext@ietf.org" <avtext@ietf.org>
Thread-Topic: [avtext] WGLC for  draft-ietf-avtext-rtp-stream-pause-02
Thread-Index: Ac+oI8943NA5z66dRdGqdkJ2oCY7RQSn2IaAAC2sUTAALZTUgABGai2QARodEgABAng3IA==
Date: Mon, 1 Sep 2014 11:51:10 +0000
Message-ID: <BBE9739C2C302046BD34B42713A1E2A22E29B9AD@ESESSMB105.ericsson.se>
References: <949EF20990823C4C85C18D59AA11AD8B212C0B@FR712WXCHMBA11.zeu.alcatel-lucent.com> <53F1DD5D.6030204@nteczone.com> <BBE9739C2C302046BD34B42713A1E2A22E28C887@ESESSMB105.ericsson.se> <53F441C3.5050201@nteczone.com> <BBE9739C2C302046BD34B42713A1E2A22E29290C@ESESSMB105.ericsson.se> <53FD7F8A.6060608@nteczone.com>
In-Reply-To: <53FD7F8A.6060608@nteczone.com>
Accept-Language: sv-SE, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [153.88.183.18]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrELMWRmVeSWpSXmKPExsUyM+Jvje6GWJYQg/PdTBYf791gtfjyvpHF gcljyZKfTB4rzs9kCWCK4rJJSc3JLEst0rdL4MqYdNu24EpIxbf7zewNjAtduhg5OSQETCRO rvrECmGLSVy4t56ti5GLQ0jgKKPEid/tTBDOIkaJLTs/MYNUsQloSMzfcZcRxBYRiJbY2vMZ LC4s4Cox9dE9Zoi4m8SvOzvZIOwwiWUHZjOB2CwCKhKbT30G6+UV8JWY92sqO8SCE0wS7y4d ZQFJcAroSGz/NA3MZhSQlbj//R6YzSwgLnHryXwmiFMFJJbsOc8MYYtKvHz8D+oFRYmPr/Yx QtTrSCzY/YkNwtaWWLbwNTPEYkGJkzOfsExgFJ2FZOwsJC2zkLTMQtKygJFlFaNocWpxUm66 kZFealFmcnFxfp5eXmrJJkZgpBzc8ttgB+PL546HGAU4GJV4eB/MYg4RYk0sK67MPcQozcGi JM678Ny8YCGB9MSS1OzU1ILUovii0pzU4kOMTBycUg2MLrJs+5cLMZRVKMRXmqTK3ZnaKvHz haebdE7PW6ZtbNNXLxc3vKllf8ri2YOFTj4xj741mcn9lP3U/kc07P21LaviXGOnyxaw+JrZ HnSzXPD4rdK32vRAx7sni14p5QtOaG7RLSoSve3aqWRc+MHD7OLd1E/tR5XMF7xjPfm2mCdn L5+Hn4MSS3FGoqEWc1FxIgBS0UhrdQIAAA==
Archived-At: http://mailarchive.ietf.org/arch/msg/avtext/kZgpJ0wl2orQMlOPon8jfphtRXY
Subject: Re: [avtext] WGLC for  draft-ietf-avtext-rtp-stream-pause-02
X-BeenThere: avtext@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Audio/Video Transport Extensions working group discussion list <avtext.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/avtext>, <mailto:avtext-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/avtext/>
List-Post: <mailto:avtext@ietf.org>
List-Help: <mailto:avtext-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/avtext>, <mailto:avtext-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 01 Sep 2014 11:51:18 -0000

Hello Christian, see inline below
Cheers,
Bo

> -----Original Message-----
> From: Christian Groves [mailto:Christian.Groves@nteczone.com]
> Sent: den 27 augusti 2014 08:50
> To: Bo Burman; avtext@ietf.org
> Subject: Re: [avtext] WGLC for draft-ietf-avtext-rtp-stream-pause-02
>=20
> Hello Bo,
>=20
> Please see below.
>=20
> Regards, Christian
>=20
> On 22/08/2014 10:35 PM, Bo Burman wrote:
> > ..snip..
> >> 2) Clause 9: Use of PAUSE and PAUSED: I must admit I find the
> >> distinction between these two parameters really confusing. Especially =
when the draft says that they are different
> functions but that "pause"
> >> encompasses "paused". It is really necessary to have two parameters?
> >> It seems that a node can do the following with respect to the messages=
:
> >> a) Both send and receive PAUSE, RESUME, PAUSED and REFUSE
> >> b) Send PAUSE, RESUME and receive PAUSED and REFUSE only
> >> c) Receive PAUSE, RESUME and send PAUSED and REFUSE only
> >> d) Do not receive messages but send a PAUSED only.
> >>
> >> The issue seems to come when considering the local PAUSE functionality=
.
> >> As the draft notes that "pause" contains the full "paused"
> >> functionality", I could assume that a) b) and c) contain the local
> >> PAUSE functionality. d) would also have to contain the local PAUSE
> >> functionality. However I'm not sure b) would be valid because the
> >> node would have to be able to send PAUSED as a result of clause 5.3. W=
hilst the intent is that 'pause' and 'paused' are
> different functions there would appear to be interactions. e.g. It would =
be strange to set 'pause=3Drecvonly' and
> 'paused=3Drecvonly'.
> >>
> >> I think the usage at least needs to be clarified as there appears to
> >> be some overlap and inconsistencies with other sections. Preferably it=
 would be good to try to use one parameter.
> > [BoB]: Good catch and good analysis!
> >
> > To go back to the design intent of "paused" and if I remember correctly=
, I believe it was to allow for a very restricted
> implementation that supports/knows _only_ "local pause" functionality, an=
d additionally (with the dir=3D parameter) allow
> for just a) sending the indication, b) just receiving it, or c) both. Thi=
s is however not motivated or required by any of the
> currently included use cases. It seems that some parts of the current tex=
t, for example clause 5.1, confuses the use of
> "paused" with what is actually solved by the direction parameter of "paus=
e".
> >
> > I think the following two main options are reasonable ways forward:
> >
> > 1) Remove the "paused" SDP parameter entirely, and with it the
> > possibility to implement support of only the local pause indication
> >
> > 2) Make the text consistently express that "paused" refers to capabilit=
y for that limited functionality. For SDP
> offer/answer, we then have a few more choices regarding the relation betw=
een "pause" and "paused":
> >
> > 	a)  an offer expressing support for this specification MUST contain on=
ly one of "pause" or "paused", and an offer
> with "pause" is possible to restrict by answering with "paused", but an o=
ffer with the limited "paused" cannot be
> upgraded to "pause" in the answer. May possibly cause problems with decla=
rative use; guidance appreciated.
> >
> > 	b) "pause" and "paused" are kept separate (what current text mostly
> > does, except for some confusion that must be corrected throughout if
> > this option is chosen); the offer MAY contain either or both, while
> > the answer MUST choose one and MUST NOT add anything that was not in
> > the offer
> [CNG] I wasn't following this closely when 'paused' was added so I'm not =
sure about removing it. It would simplify things
> if it was removed.
> I think what would need to be added if local pause was supported without =
signalling is that a node supporting this draft
> must at minimum support the reception of a 'paused' indication and the se=
nding of 'paused' if the node supports a
> paused state. There would probably need to be an extra value in direction=
 indicating that PAUSE/RESUME is not sent or
> received.
[BoB] You mean using additional direction signaling for pause instead of th=
e tag "paused"? I don't see how that goes with your statement "supported wi=
thout signaling" a few sentences back, since that is then also explicit sig=
naling?

>=20
> Maybe an option 2c: If local pause is kept and it needs to be supported b=
y signalling there actually appears to be 8
> combinations of sent and received messages. I assume a node supporting th=
e sending and/or reception of PAUSE must
> also support RESUME. A node supporting the reception of PAUSE/RESUME must=
 also support sending PAUSED and
> REFUSED.
[BoB] An observation: I see you more or less consistently using "REFUSED" i=
nstead of the currently defined tag "REFUSE". This is actually consistent w=
ith it being an indication/response rather than a command, and thus probabl=
y a better name. Do you suggest that we change the name to "REFUSED" in the=
 draft?

> The combinations a Node can support are:
>=20
> 1) Send(PAUSE,RESUMED,PAUSED,REFUSE) Receive (PAUSED,RESUMED,PAUSED,REFUS=
ED)
> 2) Send(PAUSE, RESUME, PAUSED) Receive (PAUSED, REFUSED)
> 3) Send(PAUSED,REFUSED) Receive (PAUSE, RESUME, PAUSED)
> 4) Send(PAUSED,REFUSED) Receive (PAUSE, RESUME)
> 5) Send(PAUSE, RESUME) Receive (PAUSED, REFUSED)
> 6) Send(PAUSED) Receive(PAUSED)
> 7) Send() Receive(PAUSED)
> 8) Send(PAUSED) Receive()
>=20
> Would it be easier to simply signal the messages that are supported rathe=
r than two parameters with a direction
> parameters? e.g. the draft could have the above list of values. If a node=
 supported both the sending and reception of
> PAUSE/RESUME/PAUSED/REFUSED then it could signal e.g. a=3Drtcp-fb:98 ccm =
pause config=3D1 . Part of the confusion
> comes from the interaction between the parameters. This would remove the =
interaction.
>=20
> It might make describing the SDP O/A procedures easier.
> e.g.
> On receiving an Offer with:
> config=3D1 the answerer may reply with config=3D1, 2, 3, 4, 5, 6, 7 or 8.
> config=3D2 the answerer may reply with config=3D3, 4, 5, 6, 7 or 8.
> config=3D3 the answerer may reply with config=3D2, 4, 5, 6, 7 or 8.
> config=3D4 the answerer may reply with config=3D5, 6, 7 or 8.
> config=3D5 the answerer may reply with config=3D4, 6, 7 or 8.
> config=3D6 the answerer may reply with config=3D6, 7 or 8.
> config=3D7 the answerer may reply with config=3D8
> config=3D8 the answerer may reply with config=3D7 In all cases the answer=
er may reply with a completely removed "pause"
> parameter.
>=20
> An answerer cannot add extra messages to what is provided in the Offer.
> For example: If an Offer indicates config=3D6 an Answer cannot reply with
> config=3D3 indicating that it has the capability to receive PAUSE and RES=
UME. An answerer may remove messages that it
> does not support. For
> example: if an Offer indicates config=3D6 an Answer may reply with
> config=3D7 indicating that it can only receive PAUSED.
[BoB] I get your point. There is significant inherent complexity in this th=
at your proposal makes explicit and clarifies. I would like to simplify and=
 clarify this further by reducing the allowed configurations to be 1, 4, 5 =
and 6:

1) Full support of sending and receiving all messages ("ccm pause" without =
direction)
	As you say above, acceptable Answers include 1, 4, 5 or 6, or (of course) =
removing "ccm pause" entirely
4) Pause command receiver, sending result indications ("ccm pause dir=3Drec=
vonly")
	Acceptable Answers include 5, 6, or removing ccm pause entirely
5) Pause command sender, receiving result indications ("ccm pause dir=3Dsen=
donly")
	Acceptable Answers include 4, 6, or removing ccm pause entirely
6) Local pause support only ("ccm paused", and I then suggest removing dire=
ction from paused; either you support it or you don't)
	Acceptable Answers include 6 or removing ccm paused entirely

If those clarifications you list above on O/A and what messages are sent an=
d/or received are made in the document, do you still think we need to intro=
duce the "config" concept, or will the direction parameter to "pause" (as i=
ndicated in my shortened list above) be clear enough?

I wonder, is it rather the notion of "direction" that becomes confusing, si=
nce "recvonly" actually includes sending messages, only those messages are =
not "PAUSE" and "RESUME"? In that case, could we call it something else tha=
n "direction"; like "dir=3Dsendonly" -> "command-only" and "dir=3Drecvonly"=
 -> "indication-only"?

>=20
>=20
>=20
> >> 3) Clause 5.1 indicates "/<The> Capability to understand PAUSED
> >> indication is defined separately from the others to support partial
> >> implementation, which is specifically believed to be feasible for the
> >> RTP Mixer to Media Sender use case (Section 3.2)./" I guess the import=
ant thing is that its the media sender that must
> at least support the PAUSED indication, the mixer needs to support PAUSE.
> > [BoB]: As said above, signaling for the mixer case is a bit confused in=
 5.1, and better dealt with (and covered) by having
> either dir=3Dsendonly or dir=3Drecvonly to pause parameter, depending on =
desired functionality restriction. Only supporting
> local PAUSED, indicated by "paused" SDP parameter, is a separate issue an=
d should be made clearer, if not removed (see
> above).
> >
> >> 4) Clause 10.1 paragraph below the figure. Indicates "/includes the
> >> "nowait" sub-parameter for both "pause" and "paused" parameters/"
> >> however the nowait parameter is only specified in the example offer
> >> for pause + nowait is not defined for paused in the ABNF syntax.
> > [BoB]: Correct. Only "pause" should be in the sentence above.
> >
> >> The last paragraph in clause 9.1 also indicates that possibility to
> >> support "nowait" for "paused" i.e. "/The answerer MUST NOT add
> >> "nowait" on the "pause" line in the answer unless it is present on the=
 "paused" line in the offer./" This isn't possible
> due to the syntax.
> > [BoB]: Correct. Probably a typo; "paused" -> "pause".
> >
> >> 5) Clause 9.1 paragraph 2: "/In other words, an offer for "paused
> >> dir=3Dsendonly" means that the offerer intends to send PAUSED
> >> indications whenever it pauses RTP stream delivery in any of its strea=
ms./" Would a pause in one stream require
> sending a PAUSED indication in multiple streams?
> > [BoB]: No, only for the actually paused stream; unclear wording. What a=
bout simply "...intends to send PAUSED
> indications for paused RTP streams"?
> [CNG] OK
> >
> >


From nobody Mon Sep  1 17:45:42 2014
Return-Path: <Christian.Groves@nteczone.com>
X-Original-To: avtext@ietfa.amsl.com
Delivered-To: avtext@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 750D31A6F21 for <avtext@ietfa.amsl.com>; Mon,  1 Sep 2014 17:45:41 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 1.199
X-Spam-Level: *
X-Spam-Status: No, score=1.199 tagged_above=-999 required=5 tests=[BAYES_40=-0.001, J_CHICKENPOX_45=0.6, J_CHICKENPOX_46=0.6] autolearn=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 7e2k3KuNiuhD for <avtext@ietfa.amsl.com>; Mon,  1 Sep 2014 17:45:40 -0700 (PDT)
Received: from cserver5.myshophosting.com (cserver5.myshophosting.com [175.107.161.1]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id AE65F1A6F1F for <avtext@ietf.org>; Mon,  1 Sep 2014 17:45:39 -0700 (PDT)
Received: from ppp118-209-119-165.lns20.mel4.internode.on.net ([118.209.119.165]:53314 helo=[127.0.0.1]) by cserver5.myshophosting.com with esmtpsa (TLSv1:DHE-RSA-AES128-SHA:128) (Exim 4.82) (envelope-from <Christian.Groves@nteczone.com>) id 1XOcBF-0002HF-Dn; Tue, 02 Sep 2014 10:42:41 +1000
Message-ID: <54051326.5090103@nteczone.com>
Date: Tue, 02 Sep 2014 10:45:26 +1000
From: Christian Groves <Christian.Groves@nteczone.com>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.6.0
MIME-Version: 1.0
To: Bo Burman <bo.burman@ericsson.com>,  "avtext@ietf.org" <avtext@ietf.org>
References: <949EF20990823C4C85C18D59AA11AD8B212C0B@FR712WXCHMBA11.zeu.alcatel-lucent.com> <53F1DD5D.6030204@nteczone.com> <BBE9739C2C302046BD34B42713A1E2A22E28C887@ESESSMB105.ericsson.se> <53F441C3.5050201@nteczone.com> <BBE9739C2C302046BD34B42713A1E2A22E29290C@ESESSMB105.ericsson.se> <53FD7F8A.6060608@nteczone.com> <BBE9739C2C302046BD34B42713A1E2A22E29B9AD@ESESSMB105.ericsson.se>
In-Reply-To: <BBE9739C2C302046BD34B42713A1E2A22E29B9AD@ESESSMB105.ericsson.se>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - cserver5.myshophosting.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - nteczone.com
X-Get-Message-Sender-Via: cserver5.myshophosting.com: authenticated_id: christian.groves@nteczone.com
X-Source: 
X-Source-Args: 
X-Source-Dir: 
Archived-At: http://mailarchive.ietf.org/arch/msg/avtext/w6ew65weNCVTCW1Ux8CHv0hfQ7E
Subject: Re: [avtext] WGLC for  draft-ietf-avtext-rtp-stream-pause-02
X-BeenThere: avtext@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Audio/Video Transport Extensions working group discussion list <avtext.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/avtext>, <mailto:avtext-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/avtext/>
List-Post: <mailto:avtext@ietf.org>
List-Help: <mailto:avtext-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/avtext>, <mailto:avtext-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 02 Sep 2014 00:45:41 -0000

Hello Bo,

Please see my replies below.

Regards, Christian

On 1/09/2014 9:51 PM, Bo Burman wrote:
> ..snip..
> I think the following two main options are reasonable ways forward:
>
> 1) Remove the "paused" SDP parameter entirely, and with it the
> possibility to implement support of only the local pause indication
>
> 2) Make the text consistently express that "paused" refers to capability for that limited functionality. For SDP
>> offer/answer, we then have a few more choices regarding the relation between "pause" and "paused":
>>> 	a)  an offer expressing support for this specification MUST contain only one of "pause" or "paused", and an offer
>> with "pause" is possible to restrict by answering with "paused", but an offer with the limited "paused" cannot be
>> upgraded to "pause" in the answer. May possibly cause problems with declarative use; guidance appreciated.
>>> 	b) "pause" and "paused" are kept separate (what current text mostly
>>> does, except for some confusion that must be corrected throughout if
>>> this option is chosen); the offer MAY contain either or both, while
>>> the answer MUST choose one and MUST NOT add anything that was not in
>>> the offer
>> [CNG] I wasn't following this closely when 'paused' was added so I'm not sure about removing it. It would simplify things
>> if it was removed.
>> I think what would need to be added if local pause was supported without signalling is that a node supporting this draft
>> must at minimum support the reception of a 'paused' indication and the sending of 'paused' if the node supports a
>> paused state. There would probably need to be an extra value in direction indicating that PAUSE/RESUME is not sent or
>> received.
> [BoB] You mean using additional direction signaling for pause instead of the tag "paused"? I don't see how that goes with your statement "supported without signaling" a few sentences back, since that is then also explicit signaling?
[CNG] Yes an additional direction. I was thinking about how to specify 
"local pause" where the endpoint didn't support sendonly,recvonly or 
sendrecv. It wouldn't be correct for the endpoint to send "a=rtcp-fb:* 
ccm pause" because the default is "sendrecv".
>
>> Maybe an option 2c: If local pause is kept and it needs to be supported by signalling there actually appears to be 8
>> combinations of sent and received messages. I assume a node supporting the sending and/or reception of PAUSE must
>> also support RESUME. A node supporting the reception of PAUSE/RESUME must also support sending PAUSED and
>> REFUSED.
> [BoB] An observation: I see you more or less consistently using "REFUSED" instead of the currently defined tag "REFUSE". This is actually consistent with it being an indication/response rather than a command, and thus probably a better name. Do you suggest that we change the name to "REFUSED" in the draft?
[CNG] I wasn't proposing the change, I guess I just aligned "paused" and 
"refused". I'd be OK with changing it.
>
>> The combinations a Node can support are:
>>
>> 1) Send(PAUSE,RESUMED,PAUSED,REFUSE) Receive (PAUSED,RESUMED,PAUSED,REFUSED)
>> 2) Send(PAUSE, RESUME, PAUSED) Receive (PAUSED, REFUSED)
>> 3) Send(PAUSED,REFUSED) Receive (PAUSE, RESUME, PAUSED)
>> 4) Send(PAUSED,REFUSED) Receive (PAUSE, RESUME)
>> 5) Send(PAUSE, RESUME) Receive (PAUSED, REFUSED)
>> 6) Send(PAUSED) Receive(PAUSED)
>> 7) Send() Receive(PAUSED)
>> 8) Send(PAUSED) Receive()
>>
>> Would it be easier to simply signal the messages that are supported rather than two parameters with a direction
>> parameters? e.g. the draft could have the above list of values. If a node supported both the sending and reception of
>> PAUSE/RESUME/PAUSED/REFUSED then it could signal e.g. a=rtcp-fb:98 ccm pause config=1 . Part of the confusion
>> comes from the interaction between the parameters. This would remove the interaction.
>>
>> It might make describing the SDP O/A procedures easier.
>> e.g.
>> On receiving an Offer with:
>> config=1 the answerer may reply with config=1, 2, 3, 4, 5, 6, 7 or 8.
>> config=2 the answerer may reply with config=3, 4, 5, 6, 7 or 8.
>> config=3 the answerer may reply with config=2, 4, 5, 6, 7 or 8.
>> config=4 the answerer may reply with config=5, 6, 7 or 8.
>> config=5 the answerer may reply with config=4, 6, 7 or 8.
>> config=6 the answerer may reply with config=6, 7 or 8.
>> config=7 the answerer may reply with config=8
>> config=8 the answerer may reply with config=7 In all cases the answerer may reply with a completely removed "pause"
>> parameter.
>>
>> An answerer cannot add extra messages to what is provided in the Offer.
>> For example: If an Offer indicates config=6 an Answer cannot reply with
>> config=3 indicating that it has the capability to receive PAUSE and RESUME. An answerer may remove messages that it
>> does not support. For
>> example: if an Offer indicates config=6 an Answer may reply with
>> config=7 indicating that it can only receive PAUSED.
> [BoB] I get your point. There is significant inherent complexity in this that your proposal makes explicit and clarifies. I would like to simplify and clarify this further by reducing the allowed configurations to be 1, 4, 5 and 6:
>
> 1) Full support of sending and receiving all messages ("ccm pause" without direction)
> 	As you say above, acceptable Answers include 1, 4, 5 or 6, or (of course) removing "ccm pause" entirely
> 4) Pause command receiver, sending result indications ("ccm pause dir=recvonly")
> 	Acceptable Answers include 5, 6, or removing ccm pause entirely
> 5) Pause command sender, receiving result indications ("ccm pause dir=sendonly")
> 	Acceptable Answers include 4, 6, or removing ccm pause entirely
> 6) Local pause support only ("ccm paused", and I then suggest removing direction from paused; either you support it or you don't)
> 	Acceptable Answers include 6 or removing ccm paused entirely
[CNG] So to remove 2 and 3 the assumption must be that local pause is 
not supported by a sendonly or receive only endpoint. Is that correct? 
It would seem that if local pause was to be supported then 2 and 3 
should be selected rather than 4 and 5.
       To remove 7 and 8 the assumption must be that endpoints 
supporting this draft must support local pause? Otherwise there's no way 
of saying "I won't send anything but if you do a local pause let me know".
> If those clarifications you list above on O/A and what messages are sent and/or received are made in the document, do you still think we need to introduce the "config" concept, or will the direction parameter to "pause" (as indicated in my shortened list above) be clear enough?
[CNG] I think having "paused" as a separate parameter as in your 
proposal 6 just complicates things. Once you have two parameters then we 
come back to specifying the interaction between them. E.g. If A sends 
SDP "a=rtcp-fb:* ccm pause" if B only supports local pause does it reply 
back with a different parameter "a=rtcp-fb* ccm paused"? If so then it 
wouldn't make sense for an endpoint to send both "pause" and "paused".
>
> I wonder, is it rather the notion of "direction" that becomes confusing, since "recvonly" actually includes sending messages, only those messages are not "PAUSE" and "RESUME"? In that case, could we call it something else than "direction"; like "dir=sendonly" -> "command-only" and "dir=recvonly" -> "indication-only"?
[CNG] Yes I think the direction is confusing considering that for pause 
it's opposite the RTP flow direction, for paused its the same. To 
support pause an endpoint will send and receive messages. I don't think 
"command-only"/"indication-only" help because they again relate to a 
direction. e.g. to support "sendonly" an endpoint sends commands 
PAUSE/RESUME and receives indications PAUSED/REFUSEd. I think being 
explicit makes the description much easier.

..snip..


From nobody Fri Sep  5 02:44:02 2014
Return-Path: <bo.burman@ericsson.com>
X-Original-To: avtext@ietfa.amsl.com
Delivered-To: avtext@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id BF8561A00E7 for <avtext@ietfa.amsl.com>; Fri,  5 Sep 2014 02:44:00 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.502
X-Spam-Level: 
X-Spam-Status: No, score=-0.502 tagged_above=-999 required=5 tests=[BAYES_20=-0.001, J_CHICKENPOX_38=0.6, J_CHICKENPOX_45=0.6, J_CHICKENPOX_46=0.6, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 0iNXn0cSOjXW for <avtext@ietfa.amsl.com>; Fri,  5 Sep 2014 02:43:57 -0700 (PDT)
Received: from sessmg23.ericsson.net (sessmg23.ericsson.net [193.180.251.45]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 002861A0535 for <avtext@ietf.org>; Fri,  5 Sep 2014 02:43:56 -0700 (PDT)
X-AuditID: c1b4fb2d-f793d6d000005356-9e-540985db997d
Received: from ESESSHC007.ericsson.se (Unknown_Domain [153.88.253.124]) by sessmg23.ericsson.net (Symantec Mail Security) with SMTP id E8.13.21334.BD589045; Fri,  5 Sep 2014 11:43:55 +0200 (CEST)
Received: from ESESSMB105.ericsson.se ([169.254.5.48]) by ESESSHC007.ericsson.se ([153.88.183.39]) with mapi id 14.03.0174.001; Fri, 5 Sep 2014 11:43:54 +0200
From: Bo Burman <bo.burman@ericsson.com>
To: Christian Groves <Christian.Groves@nteczone.com>, "avtext@ietf.org" <avtext@ietf.org>
Thread-Topic: [avtext] WGLC for  draft-ietf-avtext-rtp-stream-pause-02
Thread-Index: Ac+oI8943NA5z66dRdGqdkJ2oCY7RQSn2IaAAC2sUTAALZTUgABGai2QARodEgABAng3IAAejgIAAIUmrNA=
Date: Fri, 5 Sep 2014 09:43:53 +0000
Message-ID: <BBE9739C2C302046BD34B42713A1E2A22E29F3A3@ESESSMB105.ericsson.se>
References: <949EF20990823C4C85C18D59AA11AD8B212C0B@FR712WXCHMBA11.zeu.alcatel-lucent.com> <53F1DD5D.6030204@nteczone.com> <BBE9739C2C302046BD34B42713A1E2A22E28C887@ESESSMB105.ericsson.se> <53F441C3.5050201@nteczone.com> <BBE9739C2C302046BD34B42713A1E2A22E29290C@ESESSMB105.ericsson.se> <53FD7F8A.6060608@nteczone.com> <BBE9739C2C302046BD34B42713A1E2A22E29B9AD@ESESSMB105.ericsson.se> <54051326.5090103@nteczone.com>
In-Reply-To: <54051326.5090103@nteczone.com>
Accept-Language: sv-SE, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [153.88.183.16]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrELMWRmVeSWpSXmKPExsUyM+Jvje7tVs4Qg9VHhS0+3rvBavHlfSOL A5PHkiU/mTxWnJ/JEsAUxWWTkpqTWZZapG+XwJUx+/ZJxoKDERXvJhxnbWA85d7FyMkhIWAi 0f5pKyuELSZx4d56ti5GLg4hgaOMEu3TzjGCJIQEFjFKLO7wBbHZBDQk5u+4CxYXEYiW2Nrz mRnEFhZwlZj66B4zRNxN4tednWwQdpLEx3tvwOIsAioSG6dvA7N5BXwlLn7uZYZYto5Z4vat eywgCU4BHYmelmawBYwCshL3v0PEmQXEJW49mc8EcamAxJI955khbFGJl4//QX2gKLHzbDsz RL2OxILdn9ggbG2JZQtfQy0WlDg58wnLBEbRWUjGzkLSMgtJyywkLQsYWVYxihanFhfnphsZ 66UWZSYXF+fn6eWllmxiBEbKwS2/dXcwrn7teIhRgINRiYdXQZIzRIg1say4MvcQozQHi5I4 76Jz84KFBNITS1KzU1MLUovii0pzUosPMTJxcEo1MM4xlPq39nHOrmWW+dqb3tzv2qJiImlZ uHHLY5vdqy/0MbQZ1ryMrN/TcvXd7rUZEtPaLrZtmqb3Kznv7TzOV+kHTtRLWq1bPm/L4md3 /UU/brLWFeIWaDll4bL/9FXPn1rH9ymnMHZN8XX2EV335Yffc60PJ6ccUNO0zKze/PSQoK/s A/ZZmUxKLMUZiYZazEXFiQBoFZi2dQIAAA==
Archived-At: http://mailarchive.ietf.org/arch/msg/avtext/TIyEUiiEXLKh8sqpfKf2Hh7IkDA
Subject: Re: [avtext] WGLC for  draft-ietf-avtext-rtp-stream-pause-02
X-BeenThere: avtext@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Audio/Video Transport Extensions working group discussion list <avtext.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/avtext>, <mailto:avtext-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/avtext/>
List-Post: <mailto:avtext@ietf.org>
List-Help: <mailto:avtext-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/avtext>, <mailto:avtext-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 05 Sep 2014 09:44:01 -0000

Hi Christian,

More inline.

As a summary, I must conclude that Christian's proposal has consistency and=
 clarity benefits in SDP signaling compared to what is currently in the tex=
t, and suggest that the text should be changed accordingly:

* The "dir" parameter of "ccm pause" is replaced by "config" as suggested b=
elow.
* The separate "ccm paused" parameter is removed, since support of PAUSED w=
ill instead be indicated through "config"

BR
/Bo

> -----Original Message-----
> From: Christian Groves [mailto:Christian.Groves@nteczone.com]
> Sent: den 2 september 2014 02:45
> To: Bo Burman; avtext@ietf.org
> Subject: Re: [avtext] WGLC for draft-ietf-avtext-rtp-stream-pause-02
>=20
> Hello Bo,
>=20
> Please see my replies below.
>=20
> Regards, Christian
>=20
> On 1/09/2014 9:51 PM, Bo Burman wrote:
> > ..snip..
> > I think the following two main options are reasonable ways forward:
> >
> > 1) Remove the "paused" SDP parameter entirely, and with it the
> > possibility to implement support of only the local pause indication
> >
> > 2) Make the text consistently express that "paused" refers to
> > capability for that limited functionality. For SDP
> >> offer/answer, we then have a few more choices regarding the relation b=
etween "pause" and "paused":
> >>> 	a)  an offer expressing support for this specification MUST contain
> >>> only one of "pause" or "paused", and an offer
> >> with "pause" is possible to restrict by answering with "paused", but
> >> an offer with the limited "paused" cannot be upgraded to "pause" in th=
e answer. May possibly cause problems with
> declarative use; guidance appreciated.
> >>> 	b) "pause" and "paused" are kept separate (what current text mostly
> >>> does, except for some confusion that must be corrected throughout if
> >>> this option is chosen); the offer MAY contain either or both, while
> >>> the answer MUST choose one and MUST NOT add anything that was not in
> >>> the offer
> >> [CNG] I wasn't following this closely when 'paused' was added so I'm
> >> not sure about removing it. It would simplify things if it was removed=
.
> >> I think what would need to be added if local pause was supported
> >> without signalling is that a node supporting this draft must at
> >> minimum support the reception of a 'paused' indication and the
> >> sending of 'paused' if the node supports a paused state. There would p=
robably need to be an extra value in direction
> indicating that PAUSE/RESUME is not sent or received.
> > [BoB] You mean using additional direction signaling for pause instead o=
f the tag "paused"? I don't see how that goes
> with your statement "supported without signaling" a few sentences back, s=
ince that is then also explicit signaling?
> [CNG] Yes an additional direction. I was thinking about how to specify "l=
ocal pause" where the endpoint didn't support
> sendonly,recvonly or sendrecv. It wouldn't be correct for the endpoint to=
 send "a=3Drtcp-fb:* ccm pause" because the
> default is "sendrecv".

[BoB] Thinking this through again. It is possible to make the currently pro=
posed signaling in the draft consistent, but only if capability and indicat=
ion of pause and local pause are changed to be totally independent function=
s. The 8 configurations you list are then possible to express, using direct=
ion parameter of both pause and paused ([] indicates optional).

1) Send(PAUSE,RESUMED,PAUSED,REFUSE) Receive (PAUSED,RESUMED,PAUSED,REFUSED=
)
a=3Drtcp-fb:* ccm pause [dir=3Dsendrecv]
a=3Drtcp-fb:* ccm paused [dir=3Dsendrecv]

2) Send(PAUSE, RESUME, PAUSED) Receive (PAUSED, REFUSED)
a=3Drtcp-fb:* ccm pause dir=3Dsendonly
a=3Drtcp-fb:* ccm paused [dir=3Dsendrecv]

3) Send(PAUSED,REFUSED) Receive (PAUSE, RESUME, PAUSED)
a=3Drtcp-fb:* ccm pause dir=3Drecvonly
a=3Drtcp-fb:* ccm paused [dir=3Dsendrecv]

4) Send(PAUSED,REFUSED) Receive (PAUSE, RESUME)
a=3Drtcp-fb:* ccm pause dir=3Drecvonly
a=3Drtcp-fb:* ccm paused dir=3Dsendonly

5) Send(PAUSE, RESUME) Receive (PAUSED, REFUSED)
a=3Drtcp-fb:* ccm pause dir=3Dsendonly
a=3Drtcp-fb:* ccm paused dir=3Drecvonly

6) Send(PAUSED) Receive(PAUSED)
a=3Drtcp-fb:* ccm paused [dir=3Dsendrecv]

7) Send() Receive(PAUSED)
a=3Drtcp-fb:* ccm paused dir=3Drecvonly

8) Send(PAUSED) Receive()
a=3Drtcp-fb:* ccm paused dir=3Dsendonly

That split would however also mean there is a possibility to support PAUSE =
but not PAUSED, which I believe is an undesirable side-effect and definitel=
y not in line with the current text.

As a summary, I must agree that your proposal to use a "config" parameter w=
ith an explicit listing of supported messages and directions is indeed much=
 easier to describe and is beneficial for text clarity.

> >
> >> Maybe an option 2c: If local pause is kept and it needs to be
> >> supported by signalling there actually appears to be 8 combinations
> >> of sent and received messages. I assume a node supporting the sending
> >> and/or reception of PAUSE must also support RESUME. A node supporting =
the reception of PAUSE/RESUME must also
> support sending PAUSED and REFUSED.
> > [BoB] An observation: I see you more or less consistently using "REFUSE=
D" instead of the currently defined tag
> "REFUSE". This is actually consistent with it being an indication/respons=
e rather than a command, and thus probably a
> better name. Do you suggest that we change the name to "REFUSED" in the d=
raft?
> [CNG] I wasn't proposing the change, I guess I just aligned "paused" and =
"refused". I'd be OK with changing it.
[BoB] Unless someone else objects, I will change REFUSE to REFUSED througho=
ut, to better reflect that it is an indication, not a command.

> >
> >> The combinations a Node can support are:
> >>
> >> 1) Send(PAUSE,RESUMED,PAUSED,REFUSE) Receive
> >> (PAUSED,RESUMED,PAUSED,REFUSED)
> >> 2) Send(PAUSE, RESUME, PAUSED) Receive (PAUSED, REFUSED)
> >> 3) Send(PAUSED,REFUSED) Receive (PAUSE, RESUME, PAUSED)
> >> 4) Send(PAUSED,REFUSED) Receive (PAUSE, RESUME)
> >> 5) Send(PAUSE, RESUME) Receive (PAUSED, REFUSED)
> >> 6) Send(PAUSED) Receive(PAUSED)
> >> 7) Send() Receive(PAUSED)
> >> 8) Send(PAUSED) Receive()
> >>
> >> Would it be easier to simply signal the messages that are supported
> >> rather than two parameters with a direction parameters? e.g. the
> >> draft could have the above list of values. If a node supported both
> >> the sending and reception of PAUSE/RESUME/PAUSED/REFUSED then it could=
 signal e.g. a=3Drtcp-fb:98 ccm pause
> config=3D1 . Part of the confusion comes from the interaction between the=
 parameters. This would remove the interaction.
> >>
> >> It might make describing the SDP O/A procedures easier.
> >> e.g.
> >> On receiving an Offer with:
> >> config=3D1 the answerer may reply with config=3D1, 2, 3, 4, 5, 6, 7 or=
 8.
> >> config=3D2 the answerer may reply with config=3D3, 4, 5, 6, 7 or 8.
> >> config=3D3 the answerer may reply with config=3D2, 4, 5, 6, 7 or 8.
> >> config=3D4 the answerer may reply with config=3D5, 6, 7 or 8.
> >> config=3D5 the answerer may reply with config=3D4, 6, 7 or 8.
> >> config=3D6 the answerer may reply with config=3D6, 7 or 8.
> >> config=3D7 the answerer may reply with config=3D8
> >> config=3D8 the answerer may reply with config=3D7
> >> In all cases the answerer may reply with a completely removed "pause"
> >> parameter.
> >>
> >> An answerer cannot add extra messages to what is provided in the Offer=
.
> >> For example: If an Offer indicates config=3D6 an Answer cannot reply
> >> with
> >> config=3D3 indicating that it has the capability to receive PAUSE and
> >> RESUME. An answerer may remove messages that it does not support. For
> >> example: if an Offer indicates config=3D6 an Answer may reply with
> >> config=3D7 indicating that it can only receive PAUSED.
> > [BoB] I get your point. There is significant inherent complexity in thi=
s that your proposal makes explicit and clarifies. I
> would like to simplify and clarify this further by reducing the allowed c=
onfigurations to be 1, 4, 5 and 6:
> >
> > 1) Full support of sending and receiving all messages ("ccm pause" with=
out direction)
> > 	As you say above, acceptable Answers include 1, 4, 5 or 6, or (of
> > course) removing "ccm pause" entirely
> > 4) Pause command receiver, sending result indications ("ccm pause dir=
=3Drecvonly")
> > 	Acceptable Answers include 5, 6, or removing ccm pause entirely
> > 5) Pause command sender, receiving result indications ("ccm pause dir=
=3Dsendonly")
> > 	Acceptable Answers include 4, 6, or removing ccm pause entirely
> > 6) Local pause support only ("ccm paused", and I then suggest removing =
direction from paused; either you support it or
> you don't)
> > 	Acceptable Answers include 6 or removing ccm paused entirely
> [CNG] So to remove 2 and 3 the assumption must be that local pause is not=
 supported by a sendonly or receive only
> endpoint. Is that correct?
> It would seem that if local pause was to be supported then 2 and 3 should=
 be selected rather than 4 and 5.
>        To remove 7 and 8 the assumption must be that endpoints supporting=
 this draft must support local pause? Otherwise
> there's no way of saying "I won't send anything but if you do a local pau=
se let me know".

[BoB] I agree the 8 configurations you list makes sense to keep. They refle=
ct the current text better than what I suggested.

> > If those clarifications you list above on O/A and what messages are sen=
t and/or received are made in the document, do
> you still think we need to introduce the "config" concept, or will the di=
rection parameter to "pause" (as indicated in my
> shortened list above) be clear enough?
> [CNG] I think having "paused" as a separate parameter as in your proposal=
 6 just complicates things. Once you have two
> parameters then we come back to specifying the interaction between them. =
E.g. If A sends SDP "a=3Drtcp-fb:* ccm pause"
> if B only supports local pause does it reply back with a different parame=
ter "a=3Drtcp-fb* ccm paused"? If so then it
> wouldn't make sense for an endpoint to send both "pause" and "paused".

[BoB] As said above, just signaling ccm pause would have to mean that pause=
d is not supported, so there would be no way to fall back to local pause, w=
hich is undesirable. Your "config" is better.

> >
> > I wonder, is it rather the notion of "direction" that becomes confusing=
, since "recvonly" actually includes sending
> messages, only those messages are not "PAUSE" and "RESUME"? In that case,=
 could we call it something else than
> "direction"; like "dir=3Dsendonly" -> "command-only" and "dir=3Drecvonly"=
 -> "indication-only"?
> [CNG] Yes I think the direction is confusing considering that for pause i=
t's opposite the RTP flow direction, for paused its
> the same. To support pause an endpoint will send and receive messages. I =
don't think "command-only"/"indication-only"
> help because they again relate to a direction. e.g. to support "sendonly"=
 an endpoint sends commands PAUSE/RESUME
> and receives indications PAUSED/REFUSEd. I think being explicit makes the=
 description much easier.
[BoB] Agree


From nobody Tue Sep  9 17:20:21 2014
Return-Path: <Christian.Groves@nteczone.com>
X-Original-To: avtext@ietfa.amsl.com
Delivered-To: avtext@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id CF8B31A0114 for <avtext@ietfa.amsl.com>; Tue,  9 Sep 2014 17:20:09 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.8
X-Spam-Level: 
X-Spam-Status: No, score=0.8 tagged_above=-999 required=5 tests=[BAYES_50=0.8] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id oYl72S6UwZUR for <avtext@ietfa.amsl.com>; Tue,  9 Sep 2014 17:20:06 -0700 (PDT)
Received: from cserver5.myshophosting.com (cserver5.myshophosting.com [175.107.161.1]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 0B4091A00FF for <avtext@ietf.org>; Tue,  9 Sep 2014 17:20:04 -0700 (PDT)
Received: from ppp118-209-187-65.lns20.mel8.internode.on.net ([118.209.187.65]:54926 helo=[127.0.0.1]) by cserver5.myshophosting.com with esmtpsa (TLSv1:DHE-RSA-AES128-SHA:128) (Exim 4.82) (envelope-from <Christian.Groves@nteczone.com>) id 1XRVdT-0000Up-B4 for avtext@ietf.org; Wed, 10 Sep 2014 10:19:47 +1000
Message-ID: <540F9922.8060705@nteczone.com>
Date: Wed, 10 Sep 2014 10:19:46 +1000
From: Christian Groves <Christian.Groves@nteczone.com>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.6.0
MIME-Version: 1.0
To: "avtext@ietf.org" <avtext@ietf.org>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - cserver5.myshophosting.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - nteczone.com
X-Get-Message-Sender-Via: cserver5.myshophosting.com: authenticated_id: christian.groves@nteczone.com
X-Source: 
X-Source-Args: 
X-Source-Dir: 
Archived-At: http://mailarchive.ietf.org/arch/msg/avtext/7QW1cmKBmLtN-O5Jxy2AxnJxWz8
Subject: [avtext] RTP stream pause and keepalives
X-BeenThere: avtext@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Audio/Video Transport Extensions working group discussion list <avtext.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/avtext>, <mailto:avtext-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/avtext/>
List-Post: <mailto:avtext@ietf.org>
List-Help: <mailto:avtext-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/avtext>, <mailto:avtext-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 10 Sep 2014 00:20:10 -0000

Hello Bo,

A colleague mentioned there might be an issue with regards to heartbeats 
keeping NAT resources open, i.e. as per clause 10/RFC5245 when an RTP 
stream is paused. We probably need to add some text to the draft to 
indicate what happens when an RTP stream is paused. I take it that 
normal media should be paused but that any RTP keepalive (e.g. comfort 
noise, No-Op or incorrect version) should still be transmitted.

Regards, Christian


From nobody Wed Sep 10 00:35:33 2014
Return-Path: <bo.burman@ericsson.com>
X-Original-To: avtext@ietfa.amsl.com
Delivered-To: avtext@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 78D681A0669 for <avtext@ietfa.amsl.com>; Wed, 10 Sep 2014 00:35:32 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.201
X-Spam-Level: 
X-Spam-Status: No, score=-4.201 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id McV1X9JOut5n for <avtext@ietfa.amsl.com>; Wed, 10 Sep 2014 00:35:30 -0700 (PDT)
Received: from sessmg23.ericsson.net (sessmg23.ericsson.net [193.180.251.45]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 5C1B11A0657 for <avtext@ietf.org>; Wed, 10 Sep 2014 00:35:30 -0700 (PDT)
X-AuditID: c1b4fb2d-f793d6d000005356-74-540fff4071c2
Received: from ESESSHC024.ericsson.se (Unknown_Domain [153.88.253.124]) by sessmg23.ericsson.net (Symantec Mail Security) with SMTP id C3.DF.21334.04FFF045; Wed, 10 Sep 2014 09:35:28 +0200 (CEST)
Received: from ESESSMB105.ericsson.se ([169.254.5.215]) by ESESSHC024.ericsson.se ([153.88.183.90]) with mapi id 14.03.0174.001; Wed, 10 Sep 2014 09:35:27 +0200
From: Bo Burman <bo.burman@ericsson.com>
To: Christian Groves <Christian.Groves@nteczone.com>, "avtext@ietf.org" <avtext@ietf.org>
Thread-Topic: [avtext] RTP stream pause and keepalives
Thread-Index: AQHPzI0E+Kr8YvHSDEqOcWX2GY8UVJv56rVQ
Date: Wed, 10 Sep 2014 07:35:27 +0000
Message-ID: <BBE9739C2C302046BD34B42713A1E2A22E2AF9FB@ESESSMB105.ericsson.se>
References: <540F9922.8060705@nteczone.com>
In-Reply-To: <540F9922.8060705@nteczone.com>
Accept-Language: sv-SE, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [153.88.183.146]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrALMWRmVeSWpSXmKPExsUyM+Jvja7Df/4Qg/1TpCw+3rvBavHlfSOL A5PHkiU/mTxWnJ/JEsAUxWWTkpqTWZZapG+XwJWxp3kBY8Eb4Yr3i14xNjC2CHQxcnJICJhI fD4xjx3CFpO4cG89WxcjF4eQwFFGifWruxghnCWMEh8eHGMBqWIT0JCYv+MuI4gtIhAtsbXn MzOILSxgKvF74S2gOAdQ3ExixztuiBIjiTXnroAtYBFQlZix6RIriM0r4CvxYuVdVpByIQFt iZU3FUHCnAI6Enu7r4FtYhSQlbj//R6YzSwgLnHryXwmiDsFJJbsOc8MYYtKvHz8jxXCVpL4 seESVL2OxILdn9ggbG2JZQtfM0OsFZQ4OfMJywRG0VlIxs5C0jILScssJC0LGFlWMYoWpxYX 56YbGeulFmUmFxfn5+nlpZZsYgRGycEtv3V3MK5+7XiIUYCDUYmHd8EG/hAh1sSy4srcQ4zS HCxK4ryLzs0LFhJITyxJzU5NLUgtii8qzUktPsTIxMEp1cDoIBV4rG2PRdx3j7xda70fcyoJ LJp2ztWjP/PSj6Y3tlWbuBWYi2v23li5ZrJxmNvl7oztWqxrs9VnnxTxWrXooHbfnTc/P4ax BhpoHjh6cr3lKR+OK/uNL1VHfGRd6cMiECQknC6g2KN0ME//XcqDlBcNip90dmwIXHesZf3Z VT+amo4HvmpXYinOSDTUYi4qTgQAGKyhSnMCAAA=
Archived-At: http://mailarchive.ietf.org/arch/msg/avtext/ytTXi0BPl-VqYOGcQUNr18Inkvw
Subject: Re: [avtext] RTP stream pause and keepalives
X-BeenThere: avtext@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Audio/Video Transport Extensions working group discussion list <avtext.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/avtext>, <mailto:avtext-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/avtext/>
List-Post: <mailto:avtext@ietf.org>
List-Help: <mailto:avtext-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/avtext>, <mailto:avtext-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 10 Sep 2014 07:35:32 -0000

Hi Christian,

You are entirely right, the intent is that RTP stream pause does not affect=
 keepalive. I have no problem with adding some clarifying statement.

I also think sec 10 / RFC 5242 text is pretty clear on this: "These keepali=
ves MUST be sent regardless of whether the media stream is currently inacti=
ve, sendonly, recvonly, or sendrecv...", and even "...keepalives MUST be se=
nt even if ICE is not being utilized for the session at all". I see RTP str=
eam pause as being even more "temporary" than setting a stream inactive, so=
 a paused RTP stream should definitely be "live" enough to make the above R=
FC 5245 statements apply.

Do you think that a reference to RFC 5245 from the pause draft is appropria=
te and sufficient?

Tentative text, possibly after second clause of sec 6.3 ("Paused State"):
"Pausing an RTP stream MUST NOT affect the sending of RTP keepalive [RFC524=
5] applicable to that RTP stream",
as well as adding RFC 5245 as a normative reference. Is it correct to have =
it as a normative reference, even if it is not mandated by this draft to ac=
tually implement RFC 5245, but just referencing it in a normative statement=
?

I don't think that referencing RFC 5245 opens up to allowing RTP stream pau=
se affect "non-RFC 5245 keepalive", because the text in RFC 5245 seems gene=
ric enough to cover any perceivable RTP keepalive procedure. Do you agree?

I think including "applicable to that RTP stream" should also cover the cas=
e when BUNDLE is used, because then a single keepalive can "apply" to multi=
ple RTP streams. OK?

Comments to text formulation and placement are welcome.

Cheers,
/Bo

> -----Original Message-----
> From: avtext [mailto:avtext-bounces@ietf.org] On Behalf Of Christian Grov=
es
> Sent: den 10 september 2014 02:20
> To: avtext@ietf.org
> Subject: [avtext] RTP stream pause and keepalives
>=20
> Hello Bo,
>=20
> A colleague mentioned there might be an issue with regards to heartbeats =
keeping NAT resources open, i.e. as per
> clause 10/RFC5245 when an RTP stream is paused. We probably need to add s=
ome text to the draft to indicate what
> happens when an RTP stream is paused. I take it that normal media should =
be paused but that any RTP keepalive (e.g.
> comfort noise, No-Op or incorrect version) should still be transmitted.
>=20
> Regards, Christian
>=20
> _______________________________________________
> avtext mailing list
> avtext@ietf.org
> https://www.ietf.org/mailman/listinfo/avtext


From nobody Wed Sep 10 02:03:07 2014
Return-Path: <ron.even.tlv@gmail.com>
X-Original-To: avtext@ietfa.amsl.com
Delivered-To: avtext@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D03271A06BF for <avtext@ietfa.amsl.com>; Wed, 10 Sep 2014 02:03:05 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2
X-Spam-Level: 
X-Spam-Status: No, score=-2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9,  DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, SPF_PASS=-0.001] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ngrWHpl6Ojrp for <avtext@ietfa.amsl.com>; Wed, 10 Sep 2014 02:03:04 -0700 (PDT)
Received: from mail-we0-x22b.google.com (mail-we0-x22b.google.com [IPv6:2a00:1450:400c:c03::22b]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 028AA1A06B8 for <avtext@ietf.org>; Wed, 10 Sep 2014 02:03:03 -0700 (PDT)
Received: by mail-we0-f171.google.com with SMTP id p10so1872696wes.30 for <avtext@ietf.org>; Wed, 10 Sep 2014 02:03:02 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;  h=from:to:references:in-reply-to:subject:date:message-id:mime-version :content-type:content-transfer-encoding:thread-index :content-language; bh=MtyLgfBl91+HQj3aqJR3c8aTJZUxn5mkvIOypRJoo7U=; b=fcAMtTiCp5PvzEWK1blecJyVPlhvx6cu73rYU+jHGzPBZYgHvZnvq8e6MTKGHZPGKw MNNi8YEG4UZXgrJ+p+1wJmMDg+lUuyoTCJsmkrdhvHmdANqP2v0kLabzfek2ydUoVKCM nZjjQQx4NV1OjIg4tGUg8ZIMoTOrr3NR035ECDp0qmFBXoLz1Nxazn+Rc7IRsiGSlcMI lfuHA/yKHbAAnZkPzqIKI6DPcQXg8cVyr3Nx5qxB91UoO1JinOLJ2R8z3EkEO64R/dGx r+nS/fXioT/1zBHcPjklgiFMDGCfWTT2WeFbd2QrsjDh0u22rnFTHGA6U4PV9yqna2p2 IxLw==
X-Received: by 10.194.120.101 with SMTP id lb5mr10289792wjb.84.1410339782599;  Wed, 10 Sep 2014 02:03:02 -0700 (PDT)
Received: from RoniE (bzq-79-176-126-132.red.bezeqint.net. [79.176.126.132]) by mx.google.com with ESMTPSA id am1sm17748096wjc.29.2014.09.10.02.03.00 for <multiple recipients> (version=TLSv1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 10 Sep 2014 02:03:01 -0700 (PDT)
From: "Roni Even" <ron.even.tlv@gmail.com>
To: "'Bo Burman'" <bo.burman@ericsson.com>, "'Christian Groves'" <Christian.Groves@nteczone.com>, <avtext@ietf.org>
References: <540F9922.8060705@nteczone.com> <BBE9739C2C302046BD34B42713A1E2A22E2AF9FB@ESESSMB105.ericsson.se>
In-Reply-To: <BBE9739C2C302046BD34B42713A1E2A22E2AF9FB@ESESSMB105.ericsson.se>
Date: Wed, 10 Sep 2014 12:02:50 +0300
Message-ID: <002801cfccd6$01337190$039a54b0$@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
X-Mailer: Microsoft Outlook 14.0
Thread-Index: AQGQbTCXgpnCzptUQ9kRxVWtZA2kHAHso0CbnGlrCNA=
Content-Language: en-us
Archived-At: http://mailarchive.ietf.org/arch/msg/avtext/ny6wLWVAuSnBFxhxeZeLflt_OJ4
Subject: Re: [avtext] RTP stream pause and keepalives
X-BeenThere: avtext@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Audio/Video Transport Extensions working group discussion list <avtext.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/avtext>, <mailto:avtext-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/avtext/>
List-Post: <mailto:avtext@ietf.org>
List-Help: <mailto:avtext-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/avtext>, <mailto:avtext-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 10 Sep 2014 09:03:06 -0000

Hi Bo,
I think the text you propose make sense. Wondering if we should reference
RFC6263 and not RFC 5245
 
Roni

> -----Original Message-----
> From: avtext [mailto:avtext-bounces@ietf.org] On Behalf Of Bo Burman
> Sent: 10 September, 2014 10:35 AM
> To: Christian Groves; avtext@ietf.org
> Subject: Re: [avtext] RTP stream pause and keepalives
> 
> Hi Christian,
> 
> You are entirely right, the intent is that RTP stream pause does not
affect
> keepalive. I have no problem with adding some clarifying statement.
> 
> I also think sec 10 / RFC 5242 text is pretty clear on this: "These
keepalives
> MUST be sent regardless of whether the media stream is currently inactive,
> sendonly, recvonly, or sendrecv...", and even "...keepalives MUST be sent
even
> if ICE is not being utilized for the session at all". I see RTP stream
pause as
> being even more "temporary" than setting a stream inactive, so a paused
RTP
> stream should definitely be "live" enough to make the above RFC 5245
> statements apply.
> 
> Do you think that a reference to RFC 5245 from the pause draft is
appropriate
> and sufficient?
> 
> Tentative text, possibly after second clause of sec 6.3 ("Paused State"):
> "Pausing an RTP stream MUST NOT affect the sending of RTP keepalive
> [RFC5245] applicable to that RTP stream", as well as adding RFC 5245 as a
> normative reference. Is it correct to have it as a normative reference,
even if it
> is not mandated by this draft to actually implement RFC 5245, but just
> referencing it in a normative statement?
> 
> I don't think that referencing RFC 5245 opens up to allowing RTP stream
pause
> affect "non-RFC 5245 keepalive", because the text in RFC 5245 seems
generic
> enough to cover any perceivable RTP keepalive procedure. Do you agree?
> 
> I think including "applicable to that RTP stream" should also cover the
case
> when BUNDLE is used, because then a single keepalive can "apply" to
multiple
> RTP streams. OK?
> 
> Comments to text formulation and placement are welcome.
> 
> Cheers,
> /Bo
> 
> > -----Original Message-----
> > From: avtext [mailto:avtext-bounces@ietf.org] On Behalf Of Christian
> > Groves
> > Sent: den 10 september 2014 02:20
> > To: avtext@ietf.org
> > Subject: [avtext] RTP stream pause and keepalives
> >
> > Hello Bo,
> >
> > A colleague mentioned there might be an issue with regards to
> > heartbeats keeping NAT resources open, i.e. as per clause 10/RFC5245
> > when an RTP stream is paused. We probably need to add some text to the
> draft to indicate what happens when an RTP stream is paused. I take it
that
> normal media should be paused but that any RTP keepalive (e.g.
> > comfort noise, No-Op or incorrect version) should still be transmitted.
> >
> > Regards, Christian
> >
> > _______________________________________________
> > avtext mailing list
> > avtext@ietf.org
> > https://www.ietf.org/mailman/listinfo/avtext
> 
> _______________________________________________
> avtext mailing list
> avtext@ietf.org
> https://www.ietf.org/mailman/listinfo/avtext


From nobody Wed Sep 10 04:08:01 2014
Return-Path: <bo.burman@ericsson.com>
X-Original-To: avtext@ietfa.amsl.com
Delivered-To: avtext@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 1E4D31A6F63 for <avtext@ietfa.amsl.com>; Wed, 10 Sep 2014 04:07:59 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.601
X-Spam-Level: 
X-Spam-Status: No, score=-2.601 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id eHaEbKQxjT6f for <avtext@ietfa.amsl.com>; Wed, 10 Sep 2014 04:07:56 -0700 (PDT)
Received: from sessmg22.ericsson.net (sessmg22.ericsson.net [193.180.251.58]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 459DD1A6F4C for <avtext@ietf.org>; Wed, 10 Sep 2014 04:07:55 -0700 (PDT)
X-AuditID: c1b4fb3a-f79da6d0000008c7-6c-5410310952f4
Received: from ESESSHC018.ericsson.se (Unknown_Domain [153.88.253.124]) by sessmg22.ericsson.net (Symantec Mail Security) with SMTP id 60.12.02247.90130145; Wed, 10 Sep 2014 13:07:53 +0200 (CEST)
Received: from ESESSMB105.ericsson.se ([169.254.5.215]) by ESESSHC018.ericsson.se ([153.88.183.72]) with mapi id 14.03.0174.001; Wed, 10 Sep 2014 13:07:53 +0200
From: Bo Burman <bo.burman@ericsson.com>
To: Roni Even <ron.even.tlv@gmail.com>, 'Christian Groves' <Christian.Groves@nteczone.com>, "avtext@ietf.org" <avtext@ietf.org>
Thread-Topic: [avtext] RTP stream pause and keepalives
Thread-Index: AQHPzI0E+Kr8YvHSDEqOcWX2GY8UVJv56rVQgAAGqACAAENYIA==
Date: Wed, 10 Sep 2014 11:07:53 +0000
Message-ID: <BBE9739C2C302046BD34B42713A1E2A22E2B5B19@ESESSMB105.ericsson.se>
References: <540F9922.8060705@nteczone.com> <BBE9739C2C302046BD34B42713A1E2A22E2AF9FB@ESESSMB105.ericsson.se> <002801cfccd6$01337190$039a54b0$@gmail.com>
In-Reply-To: <002801cfccd6$01337190$039a54b0$@gmail.com>
Accept-Language: sv-SE, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [153.88.183.17]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrJLMWRmVeSWpSXmKPExsUyM+JvjS6noUCIwdWpxhYf791gtfjyvpHF 4m87swOzx85Zd9k9liz5yeSx4vxMlgDmKC6blNSczLLUIn27BK6M/v8v2QomyVUcmzCVvYHx nngXIyeHhICJRMeSf+wQtpjEhXvr2UBsIYGjjBJHb0h3MXIB2UsYJV7cug1WxCagITF/x11G kISIQCOjxIm/a8ASwgKmEr8X3gJKcAAlzCR2vOOGMJ0kHvywAalgEVCVODd1KSOIzSvgK3Hu 9ipGiPlzGSUetl5hBklwClhIfNz2DGwko4CsxP3v91hAbGYBcYlbT+YzQRwqILFkz3lmCFtU 4uXjf6wguyQEFCWW98tBlOtILNj9iQ3C1pZYtvA1M8ReQYmTM5+wTGAUnYVk6iwkLbOQtMxC 0rKAkWUVo2hxanFxbrqRkV5qUWZycXF+nl5easkmRmDcHNzy22oH48HnjocYBTgYlXh4F2zg DxFiTSwrrsw9xCjNwaIkzrvw3LxgIYH0xJLU7NTUgtSi+KLSnNTiQ4xMHJxSDYwbL26qttzb /8ThnKL36W1TfZtOvty6UX/alWJNZmdDQXXxemXd3e/s23ZEHP4vmBvZf+Mq77dSu6WHla1e x2v9bNbWnGn2qK/BlYPnw4JZD++uTJ1p1tYRIy1ctcUjr2i6pB+ndtt97aUWvz/yCt+905fK 2sgioNwocc5h8ekUy4n2zje3tSmxFGckGmoxFxUnAgBGNAvyfAIAAA==
Archived-At: http://mailarchive.ietf.org/arch/msg/avtext/xCYaJVHqRLF7uzRSTwu4k_JYA9A
Subject: Re: [avtext] RTP stream pause and keepalives
X-BeenThere: avtext@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Audio/Video Transport Extensions working group discussion list <avtext.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/avtext>, <mailto:avtext-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/avtext/>
List-Post: <mailto:avtext@ietf.org>
List-Help: <mailto:avtext-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/avtext>, <mailto:avtext-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 10 Sep 2014 11:07:59 -0000

Agree, 6263 seems more applicable to this very RTP-specific scope, but 6263=
 says it is specifically not applicable to ICE clients, so maybe there's no=
 harm in referencing both 6263 and 5245, since what keepalive method is use=
d does not matter as long as it is not impacted by pause?

> -----Original Message-----
> From: Roni Even [mailto:ron.even.tlv@gmail.com]
> Sent: den 10 september 2014 11:03
> To: Bo Burman; 'Christian Groves'; avtext@ietf.org
> Subject: RE: [avtext] RTP stream pause and keepalives
>=20
> Hi Bo,
> I think the text you propose make sense. Wondering if we should reference
> RFC6263 and not RFC 5245
>=20
> Roni
>=20
> > -----Original Message-----
> > From: avtext [mailto:avtext-bounces@ietf.org] On Behalf Of Bo Burman
> > Sent: 10 September, 2014 10:35 AM
> > To: Christian Groves; avtext@ietf.org
> > Subject: Re: [avtext] RTP stream pause and keepalives
> >
> > Hi Christian,
> >
> > You are entirely right, the intent is that RTP stream pause does not
> affect
> > keepalive. I have no problem with adding some clarifying statement.
> >
> > I also think sec 10 / RFC 5242 text is pretty clear on this: "These
> keepalives
> > MUST be sent regardless of whether the media stream is currently
> > inactive, sendonly, recvonly, or sendrecv...", and even "...keepalives
> > MUST be sent
> even
> > if ICE is not being utilized for the session at all". I see RTP stream
> pause as
> > being even more "temporary" than setting a stream inactive, so a
> > paused
> RTP
> > stream should definitely be "live" enough to make the above RFC 5245
> > statements apply.
> >
> > Do you think that a reference to RFC 5245 from the pause draft is
> appropriate
> > and sufficient?
> >
> > Tentative text, possibly after second clause of sec 6.3 ("Paused State"=
):
> > "Pausing an RTP stream MUST NOT affect the sending of RTP keepalive
> > [RFC5245] applicable to that RTP stream", as well as adding RFC 5245
> > as a normative reference. Is it correct to have it as a normative
> > reference,
> even if it
> > is not mandated by this draft to actually implement RFC 5245, but just
> > referencing it in a normative statement?
> >
> > I don't think that referencing RFC 5245 opens up to allowing RTP
> > stream
> pause
> > affect "non-RFC 5245 keepalive", because the text in RFC 5245 seems
> generic
> > enough to cover any perceivable RTP keepalive procedure. Do you agree?
> >
> > I think including "applicable to that RTP stream" should also cover
> > the
> case
> > when BUNDLE is used, because then a single keepalive can "apply" to
> multiple
> > RTP streams. OK?
> >
> > Comments to text formulation and placement are welcome.
> >
> > Cheers,
> > /Bo
> >
> > > -----Original Message-----
> > > From: avtext [mailto:avtext-bounces@ietf.org] On Behalf Of Christian
> > > Groves
> > > Sent: den 10 september 2014 02:20
> > > To: avtext@ietf.org
> > > Subject: [avtext] RTP stream pause and keepalives
> > >
> > > Hello Bo,
> > >
> > > A colleague mentioned there might be an issue with regards to
> > > heartbeats keeping NAT resources open, i.e. as per clause 10/RFC5245
> > > when an RTP stream is paused. We probably need to add some text to
> > > the
> > draft to indicate what happens when an RTP stream is paused. I take it
> that
> > normal media should be paused but that any RTP keepalive (e.g.
> > > comfort noise, No-Op or incorrect version) should still be transmitte=
d.
> > >
> > > Regards, Christian
> > >
> > > _______________________________________________
> > > avtext mailing list
> > > avtext@ietf.org
> > > https://www.ietf.org/mailman/listinfo/avtext
> >
> > _______________________________________________
> > avtext mailing list
> > avtext@ietf.org
> > https://www.ietf.org/mailman/listinfo/avtext


From nobody Wed Sep 10 15:04:19 2014
Return-Path: <ron.even.tlv@gmail.com>
X-Original-To: avtext@ietfa.amsl.com
Delivered-To: avtext@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 705101A0201 for <avtext@ietfa.amsl.com>; Wed, 10 Sep 2014 15:04:17 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2
X-Spam-Level: 
X-Spam-Status: No, score=-2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9,  DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, SPF_PASS=-0.001] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id IY0yoZ3eel3N for <avtext@ietfa.amsl.com>; Wed, 10 Sep 2014 15:04:15 -0700 (PDT)
Received: from mail-wi0-x233.google.com (mail-wi0-x233.google.com [IPv6:2a00:1450:400c:c05::233]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 5C4551A01F9 for <avtext@ietf.org>; Wed, 10 Sep 2014 15:04:15 -0700 (PDT)
Received: by mail-wi0-f179.google.com with SMTP id q5so7088392wiv.12 for <avtext@ietf.org>; Wed, 10 Sep 2014 15:04:13 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;  h=from:to:references:in-reply-to:subject:date:message-id:mime-version :content-type:content-transfer-encoding:thread-index :content-language; bh=MViSWKiJXILUoOm2gxSsJj/qMhD0BPfbBANreJV03kU=; b=jBJ+UrJ/asbfY4GBR2OPJB92Z5PafobPqfMLxo/ZvLtRlF0aihkFlMYg5lUOhNpNL5 aPlfCPKmTG0pi7N4jedEjhblPWHTHC6oOHz1k7ZknF14ORskK03ilSfkhpZalUknP0e3 f4VMsBJ735kFi6hDthKA1uAc9ykUcUKjZj+yLe4U1Hfe7i7oinJib46YmBvSWThX3xGx cCom3yfYUTpPX01TrejSeQfU8NAeYR7yePjv8THUHQXIsDJK4emE0rxWqJhYfVEqEynB qO9HpZwzLIpUleWA3K7UlHvKu6W0CYbBnUtzT/PXdAWiitw6GH6Mxwadx8W0vCFH/zuW Ohrw==
X-Received: by 10.180.86.33 with SMTP id m1mr2380759wiz.11.1410386653763; Wed, 10 Sep 2014 15:04:13 -0700 (PDT)
Received: from RoniE (bzq-79-176-126-132.red.bezeqint.net. [79.176.126.132]) by mx.google.com with ESMTPSA id gk17sm3871272wic.16.2014.09.10.15.04.11 for <multiple recipients> (version=TLSv1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 10 Sep 2014 15:04:12 -0700 (PDT)
From: "Roni Even" <ron.even.tlv@gmail.com>
To: "'Bo Burman'" <bo.burman@ericsson.com>, "'Christian Groves'" <Christian.Groves@nteczone.com>, <avtext@ietf.org>
References: <540F9922.8060705@nteczone.com> <BBE9739C2C302046BD34B42713A1E2A22E2AF9FB@ESESSMB105.ericsson.se> <002801cfccd6$01337190$039a54b0$@gmail.com> <BBE9739C2C302046BD34B42713A1E2A22E2B5B19@ESESSMB105.ericsson.se>
In-Reply-To: <BBE9739C2C302046BD34B42713A1E2A22E2B5B19@ESESSMB105.ericsson.se>
Date: Thu, 11 Sep 2014 01:04:01 +0300
Message-ID: <008a01cfcd43$22676ca0$673645e0$@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
X-Mailer: Microsoft Outlook 14.0
Thread-Index: AQGQbTCXgpnCzptUQ9kRxVWtZA2kHAHso0CbAWGpSk4CtzhHX5xJf5pw
Content-Language: en-us
Archived-At: http://mailarchive.ietf.org/arch/msg/avtext/4M0qbqEPzDui-jkxuNRLd53_nAs
Subject: Re: [avtext] RTP stream pause and keepalives
X-BeenThere: avtext@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Audio/Video Transport Extensions working group discussion list <avtext.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/avtext>, <mailto:avtext-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/avtext/>
List-Post: <mailto:avtext@ietf.org>
List-Help: <mailto:avtext-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/avtext>, <mailto:avtext-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 10 Sep 2014 22:04:17 -0000

Hi Bo,
Agree
Roni

> -----Original Message-----
> From: Bo Burman [mailto:bo.burman@ericsson.com]
> Sent: 10 September, 2014 2:08 PM
> To: Roni Even; 'Christian Groves'; avtext@ietf.org
> Subject: RE: [avtext] RTP stream pause and keepalives
> 
> Agree, 6263 seems more applicable to this very RTP-specific scope, but
6263
> says it is specifically not applicable to ICE clients, so maybe there's no
harm in
> referencing both 6263 and 5245, since what keepalive method is used does
not
> matter as long as it is not impacted by pause?
> 
> > -----Original Message-----
> > From: Roni Even [mailto:ron.even.tlv@gmail.com]
> > Sent: den 10 september 2014 11:03
> > To: Bo Burman; 'Christian Groves'; avtext@ietf.org
> > Subject: RE: [avtext] RTP stream pause and keepalives
> >
> > Hi Bo,
> > I think the text you propose make sense. Wondering if we should
> > reference
> > RFC6263 and not RFC 5245
> >
> > Roni
> >
> > > -----Original Message-----
> > > From: avtext [mailto:avtext-bounces@ietf.org] On Behalf Of Bo Burman
> > > Sent: 10 September, 2014 10:35 AM
> > > To: Christian Groves; avtext@ietf.org
> > > Subject: Re: [avtext] RTP stream pause and keepalives
> > >
> > > Hi Christian,
> > >
> > > You are entirely right, the intent is that RTP stream pause does not
> > affect
> > > keepalive. I have no problem with adding some clarifying statement.
> > >
> > > I also think sec 10 / RFC 5242 text is pretty clear on this: "These
> > keepalives
> > > MUST be sent regardless of whether the media stream is currently
> > > inactive, sendonly, recvonly, or sendrecv...", and even
> > > "...keepalives MUST be sent
> > even
> > > if ICE is not being utilized for the session at all". I see RTP
> > > stream
> > pause as
> > > being even more "temporary" than setting a stream inactive, so a
> > > paused
> > RTP
> > > stream should definitely be "live" enough to make the above RFC 5245
> > > statements apply.
> > >
> > > Do you think that a reference to RFC 5245 from the pause draft is
> > appropriate
> > > and sufficient?
> > >
> > > Tentative text, possibly after second clause of sec 6.3 ("Paused
State"):
> > > "Pausing an RTP stream MUST NOT affect the sending of RTP keepalive
> > > [RFC5245] applicable to that RTP stream", as well as adding RFC 5245
> > > as a normative reference. Is it correct to have it as a normative
> > > reference,
> > even if it
> > > is not mandated by this draft to actually implement RFC 5245, but
> > > just referencing it in a normative statement?
> > >
> > > I don't think that referencing RFC 5245 opens up to allowing RTP
> > > stream
> > pause
> > > affect "non-RFC 5245 keepalive", because the text in RFC 5245 seems
> > generic
> > > enough to cover any perceivable RTP keepalive procedure. Do you agree?
> > >
> > > I think including "applicable to that RTP stream" should also cover
> > > the
> > case
> > > when BUNDLE is used, because then a single keepalive can "apply" to
> > multiple
> > > RTP streams. OK?
> > >
> > > Comments to text formulation and placement are welcome.
> > >
> > > Cheers,
> > > /Bo
> > >
> > > > -----Original Message-----
> > > > From: avtext [mailto:avtext-bounces@ietf.org] On Behalf Of
> > > > Christian Groves
> > > > Sent: den 10 september 2014 02:20
> > > > To: avtext@ietf.org
> > > > Subject: [avtext] RTP stream pause and keepalives
> > > >
> > > > Hello Bo,
> > > >
> > > > A colleague mentioned there might be an issue with regards to
> > > > heartbeats keeping NAT resources open, i.e. as per clause
> > > > 10/RFC5245 when an RTP stream is paused. We probably need to add
> > > > some text to the
> > > draft to indicate what happens when an RTP stream is paused. I take
> > > it
> > that
> > > normal media should be paused but that any RTP keepalive (e.g.
> > > > comfort noise, No-Op or incorrect version) should still be
transmitted.
> > > >
> > > > Regards, Christian
> > > >
> > > > _______________________________________________
> > > > avtext mailing list
> > > > avtext@ietf.org
> > > > https://www.ietf.org/mailman/listinfo/avtext
> > >
> > > _______________________________________________
> > > avtext mailing list
> > > avtext@ietf.org
> > > https://www.ietf.org/mailman/listinfo/avtext


From nobody Wed Sep 10 16:27:43 2014
Return-Path: <Christian.Groves@nteczone.com>
X-Original-To: avtext@ietfa.amsl.com
Delivered-To: avtext@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 797BF1A03B7 for <avtext@ietfa.amsl.com>; Wed, 10 Sep 2014 16:27:41 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level: 
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id JpzVxFCD1K4s for <avtext@ietfa.amsl.com>; Wed, 10 Sep 2014 16:27:36 -0700 (PDT)
Received: from cserver5.myshophosting.com (cserver5.myshophosting.com [175.107.161.1]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 1B5D41A03A8 for <avtext@ietf.org>; Wed, 10 Sep 2014 16:27:35 -0700 (PDT)
Received: from ppp118-209-40-238.lns20.mel4.internode.on.net ([118.209.40.238]:49739 helo=[127.0.0.1]) by cserver5.myshophosting.com with esmtpsa (TLSv1:DHE-RSA-AES128-SHA:128) (Exim 4.82) (envelope-from <Christian.Groves@nteczone.com>) id 1XRrHy-0005g6-D8; Thu, 11 Sep 2014 09:27:02 +1000
Message-ID: <5410DE51.4030602@nteczone.com>
Date: Thu, 11 Sep 2014 09:27:13 +1000
From: Christian Groves <Christian.Groves@nteczone.com>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.6.0
MIME-Version: 1.0
To: Roni Even <ron.even.tlv@gmail.com>, 'Bo Burman' <bo.burman@ericsson.com>,  avtext@ietf.org
References: <540F9922.8060705@nteczone.com> <BBE9739C2C302046BD34B42713A1E2A22E2AF9FB@ESESSMB105.ericsson.se> <002801cfccd6$01337190$039a54b0$@gmail.com> <BBE9739C2C302046BD34B42713A1E2A22E2B5B19@ESESSMB105.ericsson.se> <008a01cfcd43$22676ca0$673645e0$@gmail.com>
In-Reply-To: <008a01cfcd43$22676ca0$673645e0$@gmail.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - cserver5.myshophosting.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - nteczone.com
X-Get-Message-Sender-Via: cserver5.myshophosting.com: authenticated_id: christian.groves@nteczone.com
X-Source: 
X-Source-Args: 
X-Source-Dir: 
Archived-At: http://mailarchive.ietf.org/arch/msg/avtext/Hnd6hKyZvikh9RWNN8NDESOdk_g
Subject: Re: [avtext] RTP stream pause and keepalives
X-BeenThere: avtext@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Audio/Video Transport Extensions working group discussion list <avtext.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/avtext>, <mailto:avtext-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/avtext/>
List-Post: <mailto:avtext@ietf.org>
List-Help: <mailto:avtext-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/avtext>, <mailto:avtext-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 10 Sep 2014 23:27:41 -0000

Hello Bo,

Sounds good to me also.

Regards, Christian

On 11/09/2014 8:04 AM, Roni Even wrote:
> Hi Bo,
> Agree
> Roni
>
>> -----Original Message-----
>> From: Bo Burman [mailto:bo.burman@ericsson.com]
>> Sent: 10 September, 2014 2:08 PM
>> To: Roni Even; 'Christian Groves'; avtext@ietf.org
>> Subject: RE: [avtext] RTP stream pause and keepalives
>>
>> Agree, 6263 seems more applicable to this very RTP-specific scope, but
> 6263
>> says it is specifically not applicable to ICE clients, so maybe there's no
> harm in
>> referencing both 6263 and 5245, since what keepalive method is used does
> not
>> matter as long as it is not impacted by pause?
>>
>>> -----Original Message-----
>>> From: Roni Even [mailto:ron.even.tlv@gmail.com]
>>> Sent: den 10 september 2014 11:03
>>> To: Bo Burman; 'Christian Groves'; avtext@ietf.org
>>> Subject: RE: [avtext] RTP stream pause and keepalives
>>>
>>> Hi Bo,
>>> I think the text you propose make sense. Wondering if we should
>>> reference
>>> RFC6263 and not RFC 5245
>>>
>>> Roni
>>>
>>>> -----Original Message-----
>>>> From: avtext [mailto:avtext-bounces@ietf.org] On Behalf Of Bo Burman
>>>> Sent: 10 September, 2014 10:35 AM
>>>> To: Christian Groves; avtext@ietf.org
>>>> Subject: Re: [avtext] RTP stream pause and keepalives
>>>>
>>>> Hi Christian,
>>>>
>>>> You are entirely right, the intent is that RTP stream pause does not
>>> affect
>>>> keepalive. I have no problem with adding some clarifying statement.
>>>>
>>>> I also think sec 10 / RFC 5242 text is pretty clear on this: "These
>>> keepalives
>>>> MUST be sent regardless of whether the media stream is currently
>>>> inactive, sendonly, recvonly, or sendrecv...", and even
>>>> "...keepalives MUST be sent
>>> even
>>>> if ICE is not being utilized for the session at all". I see RTP
>>>> stream
>>> pause as
>>>> being even more "temporary" than setting a stream inactive, so a
>>>> paused
>>> RTP
>>>> stream should definitely be "live" enough to make the above RFC 5245
>>>> statements apply.
>>>>
>>>> Do you think that a reference to RFC 5245 from the pause draft is
>>> appropriate
>>>> and sufficient?
>>>>
>>>> Tentative text, possibly after second clause of sec 6.3 ("Paused
> State"):
>>>> "Pausing an RTP stream MUST NOT affect the sending of RTP keepalive
>>>> [RFC5245] applicable to that RTP stream", as well as adding RFC 5245
>>>> as a normative reference. Is it correct to have it as a normative
>>>> reference,
>>> even if it
>>>> is not mandated by this draft to actually implement RFC 5245, but
>>>> just referencing it in a normative statement?
>>>>
>>>> I don't think that referencing RFC 5245 opens up to allowing RTP
>>>> stream
>>> pause
>>>> affect "non-RFC 5245 keepalive", because the text in RFC 5245 seems
>>> generic
>>>> enough to cover any perceivable RTP keepalive procedure. Do you agree?
>>>>
>>>> I think including "applicable to that RTP stream" should also cover
>>>> the
>>> case
>>>> when BUNDLE is used, because then a single keepalive can "apply" to
>>> multiple
>>>> RTP streams. OK?
>>>>
>>>> Comments to text formulation and placement are welcome.
>>>>
>>>> Cheers,
>>>> /Bo
>>>>
>>>>> -----Original Message-----
>>>>> From: avtext [mailto:avtext-bounces@ietf.org] On Behalf Of
>>>>> Christian Groves
>>>>> Sent: den 10 september 2014 02:20
>>>>> To: avtext@ietf.org
>>>>> Subject: [avtext] RTP stream pause and keepalives
>>>>>
>>>>> Hello Bo,
>>>>>
>>>>> A colleague mentioned there might be an issue with regards to
>>>>> heartbeats keeping NAT resources open, i.e. as per clause
>>>>> 10/RFC5245 when an RTP stream is paused. We probably need to add
>>>>> some text to the
>>>> draft to indicate what happens when an RTP stream is paused. I take
>>>> it
>>> that
>>>> normal media should be paused but that any RTP keepalive (e.g.
>>>>> comfort noise, No-Op or incorrect version) should still be
> transmitted.
>>>>> Regards, Christian
>>>>>
>>>>> _______________________________________________
>>>>> avtext mailing list
>>>>> avtext@ietf.org
>>>>> https://www.ietf.org/mailman/listinfo/avtext
>>>> _______________________________________________
>>>> avtext mailing list
>>>> avtext@ietf.org
>>>> https://www.ietf.org/mailman/listinfo/avtext
>


From nobody Mon Sep 15 07:30:10 2014
Return-Path: <bo.burman@ericsson.com>
X-Original-To: avtext@ietfa.amsl.com
Delivered-To: avtext@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 62F661A0369 for <avtext@ietfa.amsl.com>; Mon, 15 Sep 2014 07:30:06 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 4.909
X-Spam-Level: ****
X-Spam-Status: No, score=4.909 tagged_above=-999 required=5 tests=[BAYES_50=0.8, J_CHICKENPOX_12=0.6, J_CHICKENPOX_15=0.6, J_CHICKENPOX_17=0.6, J_CHICKENPOX_38=0.6, J_CHICKENPOX_45=0.6, J_CHICKENPOX_46=0.6, J_CHICKENPOX_51=0.6, J_CHICKENPOX_61=0.6, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, T_FILL_THIS_FORM_SHORT=0.01] autolearn=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id UJLSsc-rGcqI for <avtext@ietfa.amsl.com>; Mon, 15 Sep 2014 07:29:54 -0700 (PDT)
Received: from sessmg22.ericsson.net (sessmg22.ericsson.net [193.180.251.58]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 6FBD31A0339 for <avtext@ietf.org>; Mon, 15 Sep 2014 07:29:52 -0700 (PDT)
X-AuditID: c1b4fb3a-f79da6d0000008c7-4b-5416f7de17b0
Received: from ESESSHC015.ericsson.se (Unknown_Domain [153.88.253.124]) by sessmg22.ericsson.net (Symantec Mail Security) with SMTP id 6A.F8.02247.ED7F6145; Mon, 15 Sep 2014 16:29:50 +0200 (CEST)
Received: from ESESSMB105.ericsson.se ([169.254.5.215]) by ESESSHC015.ericsson.se ([153.88.183.63]) with mapi id 14.03.0174.001; Mon, 15 Sep 2014 16:29:49 +0200
From: Bo Burman <bo.burman@ericsson.com>
To: Bo Burman <bo.burman@ericsson.com>, Christian Groves <Christian.Groves@nteczone.com>, "avtext@ietf.org" <avtext@ietf.org>
Thread-Topic: [avtext] WGLC for  draft-ietf-avtext-rtp-stream-pause-02
Thread-Index: Ac+oI8943NA5z66dRdGqdkJ2oCY7RQSn2IaAAC2sUTAALZTUgABGai2QARodEgABAng3IAAejgIAAIUmrNACKTUMMA==
Date: Mon, 15 Sep 2014 14:29:49 +0000
Message-ID: <BBE9739C2C302046BD34B42713A1E2A22E2CD82A@ESESSMB105.ericsson.se>
References: <949EF20990823C4C85C18D59AA11AD8B212C0B@FR712WXCHMBA11.zeu.alcatel-lucent.com> <53F1DD5D.6030204@nteczone.com> <BBE9739C2C302046BD34B42713A1E2A22E28C887@ESESSMB105.ericsson.se> <53F441C3.5050201@nteczone.com> <BBE9739C2C302046BD34B42713A1E2A22E29290C@ESESSMB105.ericsson.se> <53FD7F8A.6060608@nteczone.com> <BBE9739C2C302046BD34B42713A1E2A22E29B9AD@ESESSMB105.ericsson.se> <54051326.5090103@nteczone.com> <BBE9739C2C302046BD34B42713A1E2A22E29F3A3@ESESSMB105.ericsson.se>
In-Reply-To: <BBE9739C2C302046BD34B42713A1E2A22E29F3A3@ESESSMB105.ericsson.se>
Accept-Language: sv-SE, en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
x-originating-ip: [153.88.183.147]
Content-Type: multipart/mixed; boundary="_002_BBE9739C2C302046BD34B42713A1E2A22E2CD82AESESSMB105erics_"
MIME-Version: 1.0
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprEIsWRmVeSWpSXmKPExsUyM+Jvje6972IhBvfXKFl8vHeD1eLL+0YW ByaPJUt+MnmsOD+TJYApissmJTUnsyy1SN8ugSvjzP1+xoLedq6Khv4n7A2MP69wdjFycEgI mEhsuOHUxcgJZIpJXLi3nq2LkYtDSOAoo8TCu7OZIZwljBLf97WxgFSxCWhIzN9xlxHEFhGo l/h+fA07iC0s4Cox9dE9Zoi4m8SvOzvZIOwsib7FrWD1LAKqEuf6F7KALOYV8JVYcagSYv4n ZomdDzeA9XIK+Enc2XkCbBejgKzE/e/3wGxmAXGJW0/mM0FcKiLx8OJpNghbVOLl43+sEM8o SUzbmgZRnimx6cM+sFZeAUGJkzOfsExgFJmFZNIsJGWzkJRBxHUkFuz+xAZha0ssW/iaGcIO ljjysoFxFtA2ZqCPV7e4zgL6gFngIqPEru6HUPWKElO6H7IvYORcxShanFpcnJtuZKSXWpSZ XFycn6eXl1qyiREYiQe3/LbawXjwueMhRgEORiUe3gU7xEKEWBPLiitzDzFKc7AoifMuPDcv WEggPbEkNTs1tSC1KL6oNCe1+BAjEwenVAOj5F7taKMLnj01rr2vz7r67nhy5tXU6tzLjcbJ 0/Z9S+nUZ3JZOylz7vo5syoFHv+9/eLBguJDF+NKD80OmHBt+t29Ry9rvHLSTu2f0GQr7T97 dW9E9392A53WSM6l+XNSeto7uj7oFX5eHnlt7tX82933am41/c5amsp3oluDO33qbdfvd0L/ K7EUZyQaajEXFScCAHR1dP+lAgAA
Archived-At: http://mailarchive.ietf.org/arch/msg/avtext/pmcTH4bE7mTTrrXYaLHkbz8RAv8
Subject: Re: [avtext] WGLC for  draft-ietf-avtext-rtp-stream-pause-02
X-BeenThere: avtext@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Audio/Video Transport Extensions working group discussion list <avtext.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/avtext>, <mailto:avtext-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/avtext/>
List-Post: <mailto:avtext@ietf.org>
List-Help: <mailto:avtext-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/avtext>, <mailto:avtext-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 15 Sep 2014 14:30:06 -0000

--_002_BBE9739C2C302046BD34B42713A1E2A22E2CD82AESESSMB105erics_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Christian, Roni, all,

Please find enclosed a draft update implementing Christian's suggested chan=
ges below. Affected sections are 9 and 10.1.
Please have a look and let me know if the changes are acceptable and consis=
tent with our discussions.

Cheers,
/Bo

> -----Original Message-----
> From: avtext [mailto:avtext-bounces@ietf.org] On Behalf Of Bo Burman
> Sent: den 5 september 2014 11:44
> To: Christian Groves; avtext@ietf.org
> Subject: Re: [avtext] WGLC for draft-ietf-avtext-rtp-stream-pause-02
>=20
> Hi Christian,
>=20
> More inline.
>=20
> As a summary, I must conclude that Christian's proposal has consistency a=
nd clarity benefits in SDP signaling compared to
> what is currently in the text, and suggest that the text should be change=
d accordingly:
>=20
> * The "dir" parameter of "ccm pause" is replaced by "config" as suggested=
 below.
> * The separate "ccm paused" parameter is removed, since support of PAUSED=
 will instead be indicated through "config"
>=20
> BR
> /Bo
>=20
> > -----Original Message-----
> > From: Christian Groves [mailto:Christian.Groves@nteczone.com]
> > Sent: den 2 september 2014 02:45
> > To: Bo Burman; avtext@ietf.org
> > Subject: Re: [avtext] WGLC for draft-ietf-avtext-rtp-stream-pause-02
> >
> > Hello Bo,
> >
> > Please see my replies below.
> >
> > Regards, Christian
> >
> > On 1/09/2014 9:51 PM, Bo Burman wrote:
> > > ..snip..
> > > I think the following two main options are reasonable ways forward:
> > >
> > > 1) Remove the "paused" SDP parameter entirely, and with it the
> > > possibility to implement support of only the local pause indication
> > >
> > > 2) Make the text consistently express that "paused" refers to
> > > capability for that limited functionality. For SDP
> > >> offer/answer, we then have a few more choices regarding the relation=
 between "pause" and "paused":
> > >>> 	a)  an offer expressing support for this specification MUST
> > >>> contain only one of "pause" or "paused", and an offer
> > >> with "pause" is possible to restrict by answering with "paused",
> > >> but an offer with the limited "paused" cannot be upgraded to
> > >> "pause" in the answer. May possibly cause problems with
> > declarative use; guidance appreciated.
> > >>> 	b) "pause" and "paused" are kept separate (what current text
> > >>> mostly does, except for some confusion that must be corrected
> > >>> throughout if this option is chosen); the offer MAY contain either
> > >>> or both, while the answer MUST choose one and MUST NOT add
> > >>> anything that was not in the offer
> > >> [CNG] I wasn't following this closely when 'paused' was added so
> > >> I'm not sure about removing it. It would simplify things if it was r=
emoved.
> > >> I think what would need to be added if local pause was supported
> > >> without signalling is that a node supporting this draft must at
> > >> minimum support the reception of a 'paused' indication and the
> > >> sending of 'paused' if the node supports a paused state. There
> > >> would probably need to be an extra value in direction
> > indicating that PAUSE/RESUME is not sent or received.
> > > [BoB] You mean using additional direction signaling for pause
> > > instead of the tag "paused"? I don't see how that goes
> > with your statement "supported without signaling" a few sentences back,=
 since that is then also explicit signaling?
> > [CNG] Yes an additional direction. I was thinking about how to specify
> > "local pause" where the endpoint didn't support sendonly,recvonly or
> > sendrecv. It wouldn't be correct for the endpoint to send "a=3Drtcp-fb:=
* ccm pause" because the default is "sendrecv".
>=20
> [BoB] Thinking this through again. It is possible to make the currently p=
roposed signaling in the draft consistent, but only
> if capability and indication of pause and local pause are changed to be t=
otally independent functions. The 8 configurations
> you list are then possible to express, using direction parameter of both =
pause and paused ([] indicates optional).
>=20
> 1) Send(PAUSE,RESUMED,PAUSED,REFUSE) Receive (PAUSED,RESUMED,PAUSED,REFUS=
ED)
> a=3Drtcp-fb:* ccm pause [dir=3Dsendrecv]
> a=3Drtcp-fb:* ccm paused [dir=3Dsendrecv]
>=20
> 2) Send(PAUSE, RESUME, PAUSED) Receive (PAUSED, REFUSED)
> a=3Drtcp-fb:* ccm pause dir=3Dsendonly
> a=3Drtcp-fb:* ccm paused [dir=3Dsendrecv]
>=20
> 3) Send(PAUSED,REFUSED) Receive (PAUSE, RESUME, PAUSED)
> a=3Drtcp-fb:* ccm pause dir=3Drecvonly
> a=3Drtcp-fb:* ccm paused [dir=3Dsendrecv]
>=20
> 4) Send(PAUSED,REFUSED) Receive (PAUSE, RESUME)
> a=3Drtcp-fb:* ccm pause dir=3Drecvonly
> a=3Drtcp-fb:* ccm paused dir=3Dsendonly
>=20
> 5) Send(PAUSE, RESUME) Receive (PAUSED, REFUSED)
> a=3Drtcp-fb:* ccm pause dir=3Dsendonly
> a=3Drtcp-fb:* ccm paused dir=3Drecvonly
>=20
> 6) Send(PAUSED) Receive(PAUSED)
> a=3Drtcp-fb:* ccm paused [dir=3Dsendrecv]
>=20
> 7) Send() Receive(PAUSED)
> a=3Drtcp-fb:* ccm paused dir=3Drecvonly
>=20
> 8) Send(PAUSED) Receive()
> a=3Drtcp-fb:* ccm paused dir=3Dsendonly
>=20
> That split would however also mean there is a possibility to support PAUS=
E but not PAUSED, which I believe is an
> undesirable side-effect and definitely not in line with the current text.
>=20
> As a summary, I must agree that your proposal to use a "config" parameter=
 with an explicit listing of supported messages
> and directions is indeed much easier to describe and is beneficial for te=
xt clarity.
>=20
> > >
> > >> Maybe an option 2c: If local pause is kept and it needs to be
> > >> supported by signalling there actually appears to be 8 combinations
> > >> of sent and received messages. I assume a node supporting the
> > >> sending and/or reception of PAUSE must also support RESUME. A node
> > >> supporting the reception of PAUSE/RESUME must also
> > support sending PAUSED and REFUSED.
> > > [BoB] An observation: I see you more or less consistently using
> > > "REFUSED" instead of the currently defined tag
> > "REFUSE". This is actually consistent with it being an
> > indication/response rather than a command, and thus probably a better n=
ame. Do you suggest that we change the
> name to "REFUSED" in the draft?
> > [CNG] I wasn't proposing the change, I guess I just aligned "paused" an=
d "refused". I'd be OK with changing it.
> [BoB] Unless someone else objects, I will change REFUSE to REFUSED throug=
hout, to better reflect that it is an indication,
> not a command.
>=20
> > >
> > >> The combinations a Node can support are:
> > >>
> > >> 1) Send(PAUSE,RESUMED,PAUSED,REFUSE) Receive
> > >> (PAUSED,RESUMED,PAUSED,REFUSED)
> > >> 2) Send(PAUSE, RESUME, PAUSED) Receive (PAUSED, REFUSED)
> > >> 3) Send(PAUSED,REFUSED) Receive (PAUSE, RESUME, PAUSED)
> > >> 4) Send(PAUSED,REFUSED) Receive (PAUSE, RESUME)
> > >> 5) Send(PAUSE, RESUME) Receive (PAUSED, REFUSED)
> > >> 6) Send(PAUSED) Receive(PAUSED)
> > >> 7) Send() Receive(PAUSED)
> > >> 8) Send(PAUSED) Receive()
> > >>
> > >> Would it be easier to simply signal the messages that are supported
> > >> rather than two parameters with a direction parameters? e.g. the
> > >> draft could have the above list of values. If a node supported both
> > >> the sending and reception of PAUSE/RESUME/PAUSED/REFUSED then it
> > >> could signal e.g. a=3Drtcp-fb:98 ccm pause
> > config=3D1 . Part of the confusion comes from the interaction between t=
he parameters. This would remove the
> interaction.
> > >>
> > >> It might make describing the SDP O/A procedures easier.
> > >> e.g.
> > >> On receiving an Offer with:
> > >> config=3D1 the answerer may reply with config=3D1, 2, 3, 4, 5, 6, 7 =
or 8.
> > >> config=3D2 the answerer may reply with config=3D3, 4, 5, 6, 7 or 8.
> > >> config=3D3 the answerer may reply with config=3D2, 4, 5, 6, 7 or 8.
> > >> config=3D4 the answerer may reply with config=3D5, 6, 7 or 8.
> > >> config=3D5 the answerer may reply with config=3D4, 6, 7 or 8.
> > >> config=3D6 the answerer may reply with config=3D6, 7 or 8.
> > >> config=3D7 the answerer may reply with config=3D8
> > >> config=3D8 the answerer may reply with config=3D7 In all cases the
> > >> answerer may reply with a completely removed "pause"
> > >> parameter.
> > >>
> > >> An answerer cannot add extra messages to what is provided in the Off=
er.
> > >> For example: If an Offer indicates config=3D6 an Answer cannot reply
> > >> with
> > >> config=3D3 indicating that it has the capability to receive PAUSE an=
d
> > >> RESUME. An answerer may remove messages that it does not support.
> > >> For
> > >> example: if an Offer indicates config=3D6 an Answer may reply with
> > >> config=3D7 indicating that it can only receive PAUSED.
> > > [BoB] I get your point. There is significant inherent complexity in
> > > this that your proposal makes explicit and clarifies. I
> > would like to simplify and clarify this further by reducing the allowed=
 configurations to be 1, 4, 5 and 6:
> > >
> > > 1) Full support of sending and receiving all messages ("ccm pause" wi=
thout direction)
> > > 	As you say above, acceptable Answers include 1, 4, 5 or 6, or (of
> > > course) removing "ccm pause" entirely
> > > 4) Pause command receiver, sending result indications ("ccm pause dir=
=3Drecvonly")
> > > 	Acceptable Answers include 5, 6, or removing ccm pause entirely
> > > 5) Pause command sender, receiving result indications ("ccm pause dir=
=3Dsendonly")
> > > 	Acceptable Answers include 4, 6, or removing ccm pause entirely
> > > 6) Local pause support only ("ccm paused", and I then suggest
> > > removing direction from paused; either you support it or
> > you don't)
> > > 	Acceptable Answers include 6 or removing ccm paused entirely
> > [CNG] So to remove 2 and 3 the assumption must be that local pause is
> > not supported by a sendonly or receive only endpoint. Is that correct?
> > It would seem that if local pause was to be supported then 2 and 3 shou=
ld be selected rather than 4 and 5.
> >        To remove 7 and 8 the assumption must be that endpoints
> > supporting this draft must support local pause? Otherwise there's no wa=
y of saying "I won't send anything but if you do
> a local pause let me know".
>=20
> [BoB] I agree the 8 configurations you list makes sense to keep. They ref=
lect the current text better than what I
> suggested.
>=20
> > > If those clarifications you list above on O/A and what messages are
> > > sent and/or received are made in the document, do
> > you still think we need to introduce the "config" concept, or will the
> > direction parameter to "pause" (as indicated in my shortened list above=
) be clear enough?
> > [CNG] I think having "paused" as a separate parameter as in your
> > proposal 6 just complicates things. Once you have two parameters then w=
e come back to specifying the interaction
> between them. E.g. If A sends SDP "a=3Drtcp-fb:* ccm pause"
> > if B only supports local pause does it reply back with a different
> > parameter "a=3Drtcp-fb* ccm paused"? If so then it wouldn't make sense =
for an endpoint to send both "pause" and
> "paused".
>=20
> [BoB] As said above, just signaling ccm pause would have to mean that pau=
sed is not supported, so there would be no
> way to fall back to local pause, which is undesirable. Your "config" is b=
etter.
>=20
> > >
> > > I wonder, is it rather the notion of "direction" that becomes
> > > confusing, since "recvonly" actually includes sending
> > messages, only those messages are not "PAUSE" and "RESUME"? In that
> > case, could we call it something else than "direction"; like "dir=3Dsen=
donly" -> "command-only" and "dir=3Drecvonly" ->
> "indication-only"?
> > [CNG] Yes I think the direction is confusing considering that for
> > pause it's opposite the RTP flow direction, for paused its the same. To=
 support pause an endpoint will send and receive
> messages. I don't think "command-only"/"indication-only"
> > help because they again relate to a direction. e.g. to support
> > "sendonly" an endpoint sends commands PAUSE/RESUME and receives indicat=
ions PAUSED/REFUSEd. I think being
> explicit makes the description much easier.
> [BoB] Agree
>=20
> _______________________________________________
> avtext mailing list
> avtext@ietf.org
> https://www.ietf.org/mailman/listinfo/avtext

--_002_BBE9739C2C302046BD34B42713A1E2A22E2CD82AESESSMB105erics_
Content-Type: text/plain;
	name="draft-ietf-avtext-rtp-stream-pause-03-DRAFT1.txt"
Content-Description: draft-ietf-avtext-rtp-stream-pause-03-DRAFT1.txt
Content-Disposition: attachment;
	filename="draft-ietf-avtext-rtp-stream-pause-03-DRAFT1.txt"; size=110762;
	creation-date="Mon, 15 Sep 2014 14:17:35 GMT";
	modification-date="Mon, 15 Sep 2014 14:17:35 GMT"
Content-Transfer-Encoding: base64

DQoNCg0KDQpOZXR3b3JrIFdvcmtpbmcgR3JvdXAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBCLiBCdXJtYW4NCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBLiBBa3JhbQ0KVXBkYXRlczogNTEwNCAo
aWYgYXBwcm92ZWQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVyaWNzc29u
DQpJbnRlbmRlZCBzdGF0dXM6IFN0YW5kYXJkcyBUcmFjayAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFIuIEV2ZW4NCkV4cGlyZXM6IE1hcmNoIDE5LCAyMDE1ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgSHVhd2VpIFRlY2hub2xvZ2llcw0KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNLiBXZXN0ZXJsdW5kDQogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgRXJpY3Nzb24NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFNlcHRlbWJlciAxNSwgMjAxNA0KDQoNCiAgICAgICAgICAgICAgICAgICAgICBS
VFAgU3RyZWFtIFBhdXNlIGFuZCBSZXN1bWUNCiAgICAgICAgICAgICAgICAgZHJhZnQtaWV0Zi1h
dnRleHQtcnRwLXN0cmVhbS1wYXVzZS0wMw0KDQpBYnN0cmFjdA0KDQogICBXaXRoIHRoZSBpbmNy
ZWFzZWQgcG9wdWxhcml0eSBvZiByZWFsLXRpbWUgbXVsdGltZWRpYSBhcHBsaWNhdGlvbnMsDQog
ICBpdCBpcyBkZXNpcmFibGUgdG8gcHJvdmlkZSBnb29kIGNvbnRyb2wgb2YgcmVzb3VyY2UgdXNh
Z2UsIGFuZCB1c2Vycw0KICAgYWxzbyBkZW1hbmQgbW9yZSBjb250cm9sIG92ZXIgY29tbXVuaWNh
dGlvbiBzZXNzaW9ucy4gIFRoaXMgZG9jdW1lbnQNCiAgIGRlc2NyaWJlcyBob3cgYSByZWNlaXZl
ciBpbiBhIG11bHRpbWVkaWEgY29udmVyc2F0aW9uIGNhbiBwYXVzZSBhbmQNCiAgIHJlc3VtZSBp
bmNvbWluZyBkYXRhIGZyb20gYSBzZW5kZXIgYnkgc2VuZGluZyByZWFsLXRpbWUgZmVlZGJhY2sN
CiAgIG1lc3NhZ2VzIHdoZW4gdXNpbmcgUmVhbC10aW1lIFRyYW5zcG9ydCBQcm90b2NvbCAoUlRQ
KSBmb3IgcmVhbCB0aW1lDQogICBkYXRhIHRyYW5zcG9ydC4gIFRoaXMgZG9jdW1lbnQgZXh0ZW5k
cyB0aGUgQ29kZWMgQ29udHJvbCBNZXNzYWdlcw0KICAgKENDTSkgUlRDUCBmZWVkYmFjayBwYWNr
YWdlIGJ5IGV4cGxpY2l0bHkgYWxsb3dpbmcgYW5kIGRlc2NyaWJpbmcNCiAgIHNwZWNpZmljIHVz
ZSBvZiBleGlzdGluZyBDQ00gbWVzc2FnZXMgYW5kIGFkZGluZyBhIGdyb3VwIG9mIG5ldyByZWFs
LQ0KICAgdGltZSBmZWVkYmFjayBtZXNzYWdlcyB1c2VkIHRvIHBhdXNlIGFuZCByZXN1bWUgUlRQ
IGRhdGEgc3RyZWFtcy4NCiAgIFRoaXMgZG9jdW1lbnQgdXBkYXRlcyBSRkMgNTEwNC4NCg0KU3Rh
dHVzIG9mIFRoaXMgTWVtbw0KDQogICBUaGlzIEludGVybmV0LURyYWZ0IGlzIHN1Ym1pdHRlZCBp
biBmdWxsIGNvbmZvcm1hbmNlIHdpdGggdGhlDQogICBwcm92aXNpb25zIG9mIEJDUCA3OCBhbmQg
QkNQIDc5Lg0KDQogICBJbnRlcm5ldC1EcmFmdHMgYXJlIHdvcmtpbmcgZG9jdW1lbnRzIG9mIHRo
ZSBJbnRlcm5ldCBFbmdpbmVlcmluZw0KICAgVGFzayBGb3JjZSAoSUVURikuICBOb3RlIHRoYXQg
b3RoZXIgZ3JvdXBzIG1heSBhbHNvIGRpc3RyaWJ1dGUNCiAgIHdvcmtpbmcgZG9jdW1lbnRzIGFz
IEludGVybmV0LURyYWZ0cy4gIFRoZSBsaXN0IG9mIGN1cnJlbnQgSW50ZXJuZXQtDQogICBEcmFm
dHMgaXMgYXQgaHR0cDovL2RhdGF0cmFja2VyLmlldGYub3JnL2RyYWZ0cy9jdXJyZW50Ly4NCg0K
ICAgSW50ZXJuZXQtRHJhZnRzIGFyZSBkcmFmdCBkb2N1bWVudHMgdmFsaWQgZm9yIGEgbWF4aW11
bSBvZiBzaXggbW9udGhzDQogICBhbmQgbWF5IGJlIHVwZGF0ZWQsIHJlcGxhY2VkLCBvciBvYnNv
bGV0ZWQgYnkgb3RoZXIgZG9jdW1lbnRzIGF0IGFueQ0KICAgdGltZS4gIEl0IGlzIGluYXBwcm9w
cmlhdGUgdG8gdXNlIEludGVybmV0LURyYWZ0cyBhcyByZWZlcmVuY2UNCiAgIG1hdGVyaWFsIG9y
IHRvIGNpdGUgdGhlbSBvdGhlciB0aGFuIGFzICJ3b3JrIGluIHByb2dyZXNzLiINCg0KICAgVGhp
cyBJbnRlcm5ldC1EcmFmdCB3aWxsIGV4cGlyZSBvbiBNYXJjaCAxOSwgMjAxNS4NCg0KDQoNCg0K
DQoNCg0KDQpCdXJtYW4sIGV0IGFsLiAgICAgICAgICAgRXhwaXJlcyBNYXJjaCAxOSwgMjAxNSAg
ICAgICAgICAgICAgICAgW1BhZ2UgMV0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgICBS
VFAgU3RyZWFtIFBhdXNlICAgICAgICAgICAgICBTZXB0ZW1iZXIgMjAxNA0KDQoNCkNvcHlyaWdo
dCBOb3RpY2UNCg0KICAgQ29weXJpZ2h0IChjKSAyMDE0IElFVEYgVHJ1c3QgYW5kIHRoZSBwZXJz
b25zIGlkZW50aWZpZWQgYXMgdGhlDQogICBkb2N1bWVudCBhdXRob3JzLiAgQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4NCg0KICAgVGhpcyBkb2N1bWVudCBpcyBzdWJqZWN0IHRvIEJDUCA3OCBhbmQgdGhl
IElFVEYgVHJ1c3QncyBMZWdhbA0KICAgUHJvdmlzaW9ucyBSZWxhdGluZyB0byBJRVRGIERvY3Vt
ZW50cw0KICAgKGh0dHA6Ly90cnVzdGVlLmlldGYub3JnL2xpY2Vuc2UtaW5mbykgaW4gZWZmZWN0
IG9uIHRoZSBkYXRlIG9mDQogICBwdWJsaWNhdGlvbiBvZiB0aGlzIGRvY3VtZW50LiAgUGxlYXNl
IHJldmlldyB0aGVzZSBkb2N1bWVudHMNCiAgIGNhcmVmdWxseSwgYXMgdGhleSBkZXNjcmliZSB5
b3VyIHJpZ2h0cyBhbmQgcmVzdHJpY3Rpb25zIHdpdGggcmVzcGVjdA0KICAgdG8gdGhpcyBkb2N1
bWVudC4gIENvZGUgQ29tcG9uZW50cyBleHRyYWN0ZWQgZnJvbSB0aGlzIGRvY3VtZW50IG11c3QN
CiAgIGluY2x1ZGUgU2ltcGxpZmllZCBCU0QgTGljZW5zZSB0ZXh0IGFzIGRlc2NyaWJlZCBpbiBT
ZWN0aW9uIDQuZSBvZg0KICAgdGhlIFRydXN0IExlZ2FsIFByb3Zpc2lvbnMgYW5kIGFyZSBwcm92
aWRlZCB3aXRob3V0IHdhcnJhbnR5IGFzDQogICBkZXNjcmliZWQgaW4gdGhlIFNpbXBsaWZpZWQg
QlNEIExpY2Vuc2UuDQoNClRhYmxlIG9mIENvbnRlbnRzDQoNCiAgIDEuICBJbnRyb2R1Y3Rpb24g
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAgMw0KICAg
Mi4gIERlZmluaXRpb25zIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gICA0DQogICAgIDIuMS4gIEFiYnJldmlhdGlvbnMgLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgIDQNCiAgICAgMi4yLiAgVGVybWlub2xvZ3kgLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAgNg0KICAgICAyLjMu
ICBSZXF1aXJlbWVudHMgTGFuZ3VhZ2UgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gICA3DQogICAzLiAgVXNlIENhc2VzIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAgIDcNCiAgICAgMy4xLiAgUG9pbnQgdG8gUG9pbnQgIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAgNw0KICAgICAzLjIuICBSVFAg
TWl4ZXIgdG8gTWVkaWEgU2VuZGVyIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gICA4
DQogICAgIDMuMy4gIFJUUCBNaXhlciB0byBNZWRpYSBTZW5kZXIgaW4gUG9pbnQtdG8tTXVsdGlw
b2ludCAgLiAuIC4gLiAgIDkNCiAgICAgMy40LiAgTWVkaWEgUmVjZWl2ZXIgdG8gUlRQIE1peGVy
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAgOQ0KICAgICAzLjUuICBNZWRpYSBSZWNl
aXZlciB0byBNZWRpYSBTZW5kZXIgQWNyb3NzIFJUUCBNaXhlciAuIC4gLiAuIC4gIDEwDQogICA0
LiAgRGVzaWduIENvbnNpZGVyYXRpb25zIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAgMTANCiAgICAgNC4xLiAgUmVhbC10aW1lIE5hdHVyZSAgLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAxMA0KICAgICA0LjIuICBNZXNzYWdlIERpcmVjdGlv
biAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDExDQogICAgIDQuMy4g
IEFwcGx5IHRvIEluZGl2aWR1YWwgU291cmNlcyAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAgMTENCiAgICAgNC40LiAgQ29uc2Vuc3VzIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuICAxMQ0KICAgICA0LjUuICBNZXNzYWdlIEFja25vd2xlZGdtZW50
cyAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDExDQogICAgIDQuNi4gIFJldHJh
bnNtaXR0aW5nIFJlcXVlc3RzIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMTIN
CiAgICAgNC43LiAgU2VxdWVuY2UgTnVtYmVyaW5nICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuICAxMg0KICAgICA0LjguICBSZWxhdGlvbiB0byBPdGhlciBTb2x1dGlvbnMg
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDEyDQogICA1LiAgU29sdXRpb24gT3ZlcnZp
ZXcgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMTMNCiAgICAg
NS4xLiAgRXhwcmVzc2luZyBDYXBhYmlsaXR5IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuICAxMw0KICAgICA1LjIuICBSZXF1ZXN0aW5nIHRvIFBhdXNlIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDE0DQogICAgIDUuMy4gIE1lZGlhIFNlbmRlciBQYXVz
aW5nICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMTUNCiAgICAgNS40LiAg
UmVxdWVzdGluZyB0byBSZXN1bWUgIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
ICAxNg0KICAgICA1LjUuICBUTU1CUi9UTU1CTiBDb25zaWRlcmF0aW9ucyAgLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gIDE3DQogICA2LiAgUGFydGljaXBhbnQgU3RhdGVzICAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMTgNCiAgICAgNi4xLiAgUGxheWlu
ZyBTdGF0ZSAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAxOQ0K
ICAgICA2LjIuICBQYXVzaW5nIFN0YXRlIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gIDE5DQogICAgIDYuMy4gIFBhdXNlZCBTdGF0ZSAgLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMTkNCiAgICAgICA2LjMuMS4gIFJUQ1AgQllF
IE1lc3NhZ2UgIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAyMA0KDQoNCg0K
QnVybWFuLCBldCBhbC4gICAgICAgICAgIEV4cGlyZXMgTWFyY2ggMTksIDIwMTUgICAgICAgICAg
ICAgICAgIFtQYWdlIDJdDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICAgUlRQIFN0cmVh
bSBQYXVzZSAgICAgICAgICAgICAgU2VwdGVtYmVyIDIwMTQNCg0KDQogICAgICAgNi4zLjIuICBT
U1JDIFRpbWUtb3V0IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMjAN
CiAgICAgNi40LiAgTG9jYWwgUGF1c2VkIFN0YXRlICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuICAyMA0KICAgNy4gIE1lc3NhZ2UgRm9ybWF0ICAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDIxDQogICA4LiAgTWVzc2FnZSBEZXRhaWxz
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMjMNCiAgICAg
OC4xLiAgUEFVU0UgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuICAyMw0KICAgICA4LjIuICBQQVVTRUQgIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDI0DQogICAgIDguMy4gIFJFU1VNRSAgLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMjUNCiAgICAgOC40LiAg
UkVGVVNFRCAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
ICAyNg0KICAgICA4LjUuICBUcmFuc21pc3Npb24gUnVsZXMgIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gIDI2DQogICA5LiAgU2lnbmFsaW5nIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMjcNCiAgICAgOS4xLiAgT2ZmZXIt
QW5zd2VyIFVzZSAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAzMA0K
ICAgICA5LjIuICBEZWNsYXJhdGl2ZSBVc2UgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gIDMxDQogICAxMC4gRXhhbXBsZXMgIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMzENCiAgICAgMTAuMS4gIE9mZmVyLUFuc3dl
ciAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAzMQ0KICAgICAx
MC4yLiAgUG9pbnQtdG8tUG9pbnQgU2Vzc2lvbiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gIDMzDQogICAgIDEwLjMuICBQb2ludC10by1NdWx0aXBvaW50IHVzaW5nIE1peGVyICAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMzYNCiAgICAgMTAuNC4gIFBvaW50LXRvLU11bHRpcG9p
bnQgdXNpbmcgVHJhbnNsYXRvciAuIC4gLiAuIC4gLiAuIC4gLiAuICAzOA0KICAgMTEuIElBTkEg
Q29uc2lkZXJhdGlvbnMgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
IDQxDQogICAxMi4gU2VjdXJpdHkgQ29uc2lkZXJhdGlvbnMgLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAgNDINCiAgIDEzLiBDb250cmlidXRvcnMgIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICA0Mg0KICAgMTQuIEFja25vd2xlZGdl
bWVudHMgIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDQyDQog
ICAxNS4gUmVmZXJlbmNlcyAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAgNDINCiAgICAgMTUuMS4gIE5vcm1hdGl2ZSBSZWZlcmVuY2VzIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICA0Mg0KICAgICAxNS4yLiAgSW5mb3JtYXRpdmUg
UmVmZXJlbmNlcyAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDQzDQogICBBcHBl
bmRpeCBBLiAgQ2hhbmdlcyBGcm9tIEVhcmxpZXIgVmVyc2lvbnMgIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAgNDQNCiAgICAgQS4xLiAgTW9kaWZpY2F0aW9ucyBCZXR3ZWVuIFZlcnNpb24gLTAyIGFu
ZCAtMDMgLiAuIC4gLiAuIC4gLiAuICA0NA0KICAgICBBLjIuICBNb2RpZmljYXRpb25zIEJldHdl
ZW4gVmVyc2lvbiAtMDEgYW5kIC0wMiAuIC4gLiAuIC4gLiAuIC4gIDQ0DQogICAgIEEuMy4gIE1v
ZGlmaWNhdGlvbnMgQmV0d2VlbiBWZXJzaW9uIC0wMCBhbmQgLTAxIC4gLiAuIC4gLiAuIC4gLiAg
NDUNCiAgIEF1dGhvcnMnIEFkZHJlc3NlcyAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuICA0NQ0KDQoxLiAgSW50cm9kdWN0aW9uDQoNCiAgIEFzIHJlYWwtdGlt
ZSBjb21tdW5pY2F0aW9uIGF0dHJhY3RzIG1vcmUgcGVvcGxlLCBtb3JlIGFwcGxpY2F0aW9ucw0K
ICAgYXJlIGNyZWF0ZWQ7IG11bHRpbWVkaWEgY29udmVyc2F0aW9uIGFwcGxpY2F0aW9ucyBiZWlu
ZyBvbmUgZXhhbXBsZS4NCiAgIE11bHRpbWVkaWEgY29udmVyc2F0aW9uIGZ1cnRoZXIgZXhpc3Rz
IGluIG1hbnkgZm9ybXMsIGZvciBleGFtcGxlLA0KICAgcGVlci10by1wZWVyIGNoYXQgYXBwbGlj
YXRpb24gYW5kIG11bHRpcGFydHkgdmlkZW8gY29uZmVyZW5jaW5nDQogICBjb250cm9sbGVkIGJ5
IGNlbnRyYWwgbWVkaWEgbm9kZXMsIHN1Y2ggYXMgUlRQIE1peGVycy4NCg0KICAgTXVsdGltZWRp
YSBjb25mZXJlbmNpbmcgbWF5IGludm9sdmUgbWFueSBwYXJ0aWNpcGFudHM7IGVhY2ggaGFzIGl0
cw0KICAgb3duIHByZWZlcmVuY2VzIGZvciB0aGUgY29tbXVuaWNhdGlvbiBzZXNzaW9uLCBub3Qg
b25seSBhdCB0aGUgc3RhcnQNCiAgIGJ1dCBhbHNvIGR1cmluZyB0aGUgc2Vzc2lvbi4gIFRoaXMg
ZG9jdW1lbnQgZGVzY3JpYmVzIHNldmVyYWwNCiAgIHNjZW5hcmlvcyBpbiBtdWx0aW1lZGlhIGNv
bW11bmljYXRpb24gd2hlcmUgYSBjb25mZXJlbmNpbmcgbm9kZSBvcg0KICAgcGFydGljaXBhbnQg
Y2hvb3NlcyB0byB0ZW1wb3JhcmlseSBwYXVzZSBhbiBpbmNvbWluZyBSVFAgW1JGQzM1NTBdDQog
ICBzdHJlYW0gYW5kIGxhdGVyIHJlc3VtZSBpdCB3aGVuIG5lZWRlZC4gIFRoZSByZWNlaXZlciBk
b2VzIG5vdCBuZWVkDQogICB0byB0ZXJtaW5hdGUgb3IgaW5hY3RpdmF0ZSB0aGUgUlRQIHNlc3Np
b24gYW5kIHN0YXJ0IGFsbCBvdmVyIGFnYWluDQogICBieSBuZWdvdGlhdGluZyB0aGUgc2Vzc2lv
biBwYXJhbWV0ZXJzLCBmb3IgZXhhbXBsZSB1c2luZyBTSVANCiAgIFtSRkMzMjYxXSB3aXRoIFNE
UCBPZmZlci9BbnN3ZXIgW1JGQzMyNjRdLg0KDQoNCg0KDQpCdXJtYW4sIGV0IGFsLiAgICAgICAg
ICAgRXhwaXJlcyBNYXJjaCAxOSwgMjAxNSAgICAgICAgICAgICAgICAgW1BhZ2UgM10NCgwNCklu
dGVybmV0LURyYWZ0ICAgICAgICAgICAgICBSVFAgU3RyZWFtIFBhdXNlICAgICAgICAgICAgICBT
ZXB0ZW1iZXIgMjAxNA0KDQoNCiAgIENlbnRyYWxpemVkIG5vZGVzLCBsaWtlIFJUUCBNaXhlcnMg
b3IgTUNVcywgd2hpY2ggZWl0aGVyIHVzZXMgbG9naWMNCiAgIGJhc2VkIG9uIHZvaWNlIGFjdGl2
aXR5LCBvdGhlciBtZWFzdXJlbWVudHMsIG9yIHVzZXIgaW5wdXQgY291bGQNCiAgIHJlZHVjZSB0
aGUgcmVzb3VyY2VzIGNvbnN1bWVkIGluIGJvdGggdGhlIHNlbmRlciBhbmQgdGhlIG5ldHdvcmsg
YnkNCiAgIHRlbXBvcmFyaWx5IHBhdXNpbmcgdGhlIFJUUCBzdHJlYW1zIHRoYXQgYXJlbid0IHJl
cXVpcmVkIGJ5IHRoZSBSVFANCiAgIE1peGVyLiAgSWYgdGhlIG51bWJlciBvZiBjb25mZXJlbmNl
IHBhcnRpY2lwYW50cyBhcmUgZ3JlYXRlciB0aGFuDQogICB3aGF0IHRoZSBjb25mZXJlbmNlIGxv
Z2ljIGhhcyBjaG9zZW4gdG8gcHJlc2VudCBzaW11bHRhbmVvdXNseSB0bw0KICAgcmVjZWl2aW5n
IHBhcnRpY2lwYW50cywgc29tZSBwYXJ0aWNpcGFudCBSVFAgc3RyZWFtcyBzZW50IHRvIHRoZSBS
VFANCiAgIE1peGVyIG1heSBub3QgbmVlZCB0byBiZSBmb3J3YXJkZWQgdG8gYW55IG90aGVyIHBh
cnRpY2lwYW50LiAgVGhvc2UNCiAgIFJUUCBzdHJlYW1zIGNvdWxkIHRoZW4gYmUgdGVtcG9yYXJp
bHkgcGF1c2VkLiAgVGhpcyBiZWNvbWVzDQogICBlc3BlY2lhbGx5IHVzZWZ1bCB3aGVuIHRoZSBt
ZWRpYSBzb3VyY2VzIGFyZSBwcm92aWRlZCBpbiBtdWx0aXBsZQ0KICAgZW5jb2RpbmcgdmVyc2lv
bnMgKFNpbXVsY2FzdCkgW0ktRC53ZXN0ZXJsdW5kLWF2dGNvcmUtcnRwLXNpbXVsY2FzdF0NCiAg
IG9yIHdpdGggTXVsdGktU2Vzc2lvbiBUcmFuc21pc3Npb24gKE1TVCkgb2Ygc2NhbGFibGUgZW5j
b2Rpbmcgc3VjaCBhcw0KICAgU1ZDIFtSRkM2MTkwXS4gIFRoZXJlIG1heSBiZSBzb21lIG9mIHRo
ZSBkZWZpbmVkIGVuY29kaW5ncyBvcg0KICAgY29tYmluYXRpb24gb2Ygc2NhbGFibGUgbGF5ZXJz
IHRoYXQgYXJlIG5vdCB1c2VkIGFsbCBvZiB0aGUgdGltZS4NCg0KICAgQXMgdGhlIFJUUCBzdHJl
YW1zIHJlcXVpcmVkIGF0IGFueSBnaXZlbiBwb2ludCBpbiB0aW1lIGlzIGhpZ2hseQ0KICAgZHlu
YW1pYyBpbiBzdWNoIHNjZW5hcmlvcywgdXNpbmcgdGhlIG91dC1vZi1iYW5kIHNpZ25hbGluZyBj
aGFubmVsDQogICBmb3IgcGF1c2luZywgYW5kIGV2ZW4gbW9yZSBpbXBvcnRhbnRseSByZXN1bWlu
ZywgYW4gUlRQIHN0cmVhbSBpcw0KICAgZGlmZmljdWx0IGR1ZSB0byB0aGUgcGVyZm9ybWFuY2Ug
cmVxdWlyZW1lbnRzLiAgSW5zdGVhZCwgdGhlIHBhdXNlDQogICBhbmQgcmVzdW1lIHNpZ25hbGlu
ZyBzaG91bGQgYmUgaW4gdGhlIG1lZGlhIHBsYW5lIGFuZCBnbyBkaXJlY3RseQ0KICAgYmV0d2Vl
biB0aGUgYWZmZWN0ZWQgbm9kZXMuICBXaGVuIHVzaW5nIFJUUCBbUkZDMzU1MF0gZm9yIG1lZGlh
DQogICB0cmFuc3BvcnQsIHVzaW5nIEV4dGVuZGVkIFJUUCBQcm9maWxlIGZvciBSZWFsLXRpbWUg
VHJhbnNwb3J0IENvbnRyb2wNCiAgIFByb3RvY29sIChSVENQKS1CYXNlZCBGZWVkYmFjayAoUlRQ
L0FWUEYpIFtSRkM0NTg1XSBhcHBlYXJzDQogICBhcHByb3ByaWF0ZS4gIE5vIGN1cnJlbnRseSBl
eGlzdGluZyBSVENQIGZlZWRiYWNrIG1lc3NhZ2UgZXhwbGljaXRseQ0KICAgc3VwcG9ydHMgcGF1
c2luZyBhbmQgcmVzdW1pbmcgYW4gaW5jb21pbmcgUlRQIHN0cmVhbS4gIEFzIHRoaXMNCiAgIGFm
ZmVjdHMgdGhlIGdlbmVyYXRpb24gb2YgcGFja2V0cyBhbmQgbWF5IGV2ZW4gYWxsb3cgdGhlIGVu
Y29kaW5nDQogICBwcm9jZXNzIHRvIGJlIHBhdXNlZCwgdGhlIGZ1bmN0aW9uYWxpdHkgYXBwZWFy
cyB0byBtYXRjaCBDb2RlYw0KICAgQ29udHJvbCBNZXNzYWdlcyBpbiB0aGUgUlRQIEF1ZGlvLVZp
c3VhbCBQcm9maWxlIHdpdGggRmVlZGJhY2sgKEFWUEYpDQogICBbUkZDNTEwNF0gYW5kIGl0IGlz
IHByb3Bvc2VkIHRvIGRlZmluZSB0aGUgc29sdXRpb24gYXMgYSBDb2RlYw0KICAgQ29udHJvbCBN
ZXNzYWdlIChDQ00pIGV4dGVuc2lvbi4NCg0KICAgVGhlIFRlbXBvcmFyeSBNYXhpbXVtIE1lZGlh
IEJpdHJhdGUgUmVxdWVzdCAoVE1NQlIpIG1lc3NhZ2Ugb2YgQ0NNIGlzDQogICB1c2VkIGJ5IHZp
ZGVvIGNvbmZlcmVuY2luZyBzeXN0ZW1zIGZvciBmbG93IGNvbnRyb2wuICBJdCBpcyBkZXNpcmFi
bGUNCiAgIHRvIGJlIGFibGUgdG8gdXNlIHRoYXQgbWV0aG9kIHdpdGggYSBiaXRyYXRlIHZhbHVl
IG9mIHplcm8gZm9yIHBhdXNlLA0KICAgd2hlbmV2ZXIgcG9zc2libGUuDQoNCjIuICBEZWZpbml0
aW9ucw0KDQoyLjEuICBBYmJyZXZpYXRpb25zDQoNCiAgIDNHUFA6ICAzcmQgR2VuZXJhdGlvbiBQ
YXJ0bmVyc2hpcCBQcm9qZWN0DQoNCiAgIEFWUEY6ICBBdWRpby1WaXN1YWwgUHJvZmlsZSB3aXRo
IEZlZWRiYWNrIChSRkMgNDU4NSkNCg0KICAgQkdXOiAgQm9yZGVyIEdhdGV3YXkNCg0KICAgQ0NN
OiAgQ29kZWMgQ29udHJvbCBNZXNzYWdlcyAoUkZDIDUxMDQpDQoNCg0KDQoNCkJ1cm1hbiwgZXQg
YWwuICAgICAgICAgICBFeHBpcmVzIE1hcmNoIDE5LCAyMDE1ICAgICAgICAgICAgICAgICBbUGFn
ZSA0XQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgIFJUUCBTdHJlYW0gUGF1c2UgICAg
ICAgICAgICAgIFNlcHRlbWJlciAyMDE0DQoNCg0KICAgQ05BTUU6ICBDYW5vbmljYWwgTmFtZSAo
UlRDUCBTREVTKQ0KDQogICBDU1JDOiAgQ29udHJpYnV0aW5nIFNvdXJjZSAoUlRQKQ0KDQogICBG
QjogIEZlZWRiYWNrIChBVlBGKQ0KDQogICBGQ0k6ICBGZWVkYmFjayBDb250cm9sIEluZm9ybWF0
aW9uIChBVlBGKQ0KDQogICBGSVI6ICBGdWxsIEludHJhIFJlZnJlc2ggKENDTSkNCg0KICAgRk1U
OiAgRmVlZGJhY2sgTWVzc2FnZSBUeXBlIChBVlBGKQ0KDQogICBMVEU6ICBMb25nLVRlcm0gRXZv
bHV0aW9uICgzR1BQKQ0KDQogICBNQ1U6ICBNdWx0aXBvaW50IENvbnRyb2wgVW5pdA0KDQogICBN
VFU6ICBNYXhpbXVtIFRyYW5zZmVyIFVuaXQNCg0KICAgUFQ6ICBQYXlsb2FkIFR5cGUgKFJUUCkN
Cg0KICAgUlRQOiAgUmVhbC10aW1lIFRyYW5zcG9ydCBQcm90b2NvbCAoUkZDIDM1NTApDQoNCiAg
IFJUQ1A6ICBSVFAgQ29udHJvbCBQcm90b2NvbCAoUkZDIDM1NTApDQoNCiAgIFJUQ1AgUlI6ICBS
VENQIFJlY2VpdmVyIFJlcG9ydA0KDQogICBTRFA6ICBTZXNzaW9uIERlc2NyaXB0aW9uIFByb3Rv
Y29sIChSRkMgNDU2NikNCg0KICAgU0dXOiAgU2lnbmFsaW5nIEdhdGV3YXkNCg0KICAgU0lQOiAg
U2Vzc2lvbiBJbml0aWF0aW9uIFByb3RvY29sIChSRkMgMzI2MSkNCg0KICAgU1NSQzogIFN5bmNo
cm9uaXphdGlvbiBTb3VyY2UgKFJUUCkNCg0KICAgU1ZDOiAgU2NhbGFibGUgVmlkZW8gQ29kaW5n
DQoNCiAgIFRDUDogIFRyYW5zbWlzc2lvbiBDb250cm9sIFByb3RvY29sIChSRkMgNzkzKQ0KDQog
ICBUTU1CUjogIFRlbXBvcmFyeSBNYXhpbXVtIE1lZGlhIEJpdHJhdGUgUmVxdWVzdCAoQ0NNKQ0K
DQogICBUTU1CTjogIFRlbXBvcmFyeSBNYXhpbXVtIE1lZGlhIEJpdHJhdGUgTm90aWZpY2F0aW9u
IChDQ00pDQoNCiAgIFVBOiAgVXNlciBBZ2VudCAoU0lQKQ0KDQogICBVRFA6ICBVc2VyIERhdGFn
cmFtIFByb3RvY29sIChSRkMgNzY4KQ0KDQoNCg0KDQoNCg0KQnVybWFuLCBldCBhbC4gICAgICAg
ICAgIEV4cGlyZXMgTWFyY2ggMTksIDIwMTUgICAgICAgICAgICAgICAgIFtQYWdlIDVdDQoMDQpJ
bnRlcm5ldC1EcmFmdCAgICAgICAgICAgICAgUlRQIFN0cmVhbSBQYXVzZSAgICAgICAgICAgICAg
U2VwdGVtYmVyIDIwMTQNCg0KDQoyLjIuICBUZXJtaW5vbG9neQ0KDQogICBJbiBhZGRpdGlvbiB0
byB0aGUgZm9sbG93aW5nLCB0aGUgZGVmaW5pdGlvbnMgZnJvbSBSVFAgW1JGQzM1NTBdLA0KICAg
QVZQRiBbUkZDNDU4NV0sIENDTSBbUkZDNTEwNF0sIGFuZCBSVFAgVGF4b25vbXkNCiAgIFtJLUQu
aWV0Zi1hdnRleHQtcnRwLWdyb3VwaW5nLXRheG9ub215XSBhbHNvIGFwcGx5IGluIHRoaXMgZG9j
dW1lbnQuDQoNCiAgIEZlZWRiYWNrIE1lc3NhZ2VzOiAgQ0NNIFtSRkM1MTA0XSBjYXRlZ29yaXpl
ZCBkaWZmZXJlbnQgUlRDUCBmZWVkYmFjaw0KICAgICAgbWVzc2FnZXMgaW50byBmb3VyIHR5cGVz
LCBSZXF1ZXN0LCBDb21tYW5kLCBJbmRpY2F0aW9uIGFuZA0KICAgICAgTm90aWZpY2F0aW9uLiAg
VGhpcyBkb2N1bWVudCBwbGFjZXMgdGhlIFBBVVNFIGFuZCBSRVNVTUUgbWVzc2FnZXMNCiAgICAg
IGludG8gUmVxdWVzdCBjYXRlZ29yeSwgUEFVU0VEIGFzIEluZGljYXRpb24gYW5kIFJFRlVTRUQg
YXMNCiAgICAgIE5vdGlmaWNhdGlvbi4NCg0KICAgICAgUEFVU0UgIFJlcXVlc3QgZnJvbSBhbiBS
VFAgc3RyZWFtIHJlY2VpdmVyIHRvIHBhdXNlIGEgc3RyZWFtDQoNCiAgICAgIFJFU1VNRSAgUmVx
dWVzdCBmcm9tIGFuIFJUUCBzdHJlYW0gcmVjZWl2ZXIgdG8gcmVzdW1lIGEgcGF1c2VkDQogICAg
ICAgICBzdHJlYW0NCg0KICAgICAgUEFVU0VEICBJbmRpY2F0aW9uIGZyb20gYW4gUlRQIHN0cmVh
bSBzZW5kZXIgdGhhdCBhIHN0cmVhbSBpcw0KICAgICAgICAgcGF1c2VkDQoNCiAgICAgIFJFRlVT
RUQgIE5vdGlmaWNhdGlvbiBmcm9tIGFuIFJUUCBzdHJlYW0gc2VuZGVyIHRoYXQgYSBQQVVTRSBv
cg0KICAgICAgICAgUkVTVU1FIHJlcXVlc3Qgd2lsbCBub3QgYmUgaG9ub3JlZA0KDQogICBNaXhl
cjogIFRoZSBpbnRlcm1lZGlhdGUgUlRQIG5vZGUgd2hpY2ggcmVjZWl2ZXMgYW4gUlRQIHN0cmVh
bSBmcm9tDQogICAgICBkaWZmZXJlbnQgZW5kIHBvaW50cywgY29tYmluZXMgdGhlbSB0byBtYWtl
IG9uZSBSVFAgc3RyZWFtIGFuZA0KICAgICAgZm9yd2FyZHMgdG8gZGVzdGluYXRpb25zLCBpbiB0
aGUgc2Vuc2UgZGVzY3JpYmVkIGluIFRvcG8tTWl4ZXIgb2YNCiAgICAgIFJUUCBUb3BvbG9naWVz
IFtJLUQuaWV0Zi1hdnRjb3JlLXJ0cC10b3BvbG9naWVzLXVwZGF0ZV0uDQoNCiAgIFBhcnRpY2lw
YW50OiAgQSBtZW1iZXIgd2hpY2ggaXMgcGFydCBvZiBhbiBSVFAgc2Vzc2lvbiwgYWN0aW5nIGFz
DQogICAgICByZWNlaXZlciwgc2VuZGVyIG9yIGJvdGguDQoNCiAgIFBhdXNlZCBzZW5kZXI6ICBB
biBSVFAgc3RyZWFtIHNlbmRlciB0aGF0IGhhcyBzdG9wcGVkIGl0cw0KICAgICAgdHJhbnNtaXNz
aW9uLCBpLmUuIG5vIG90aGVyIHBhcnRpY2lwYW50IHJlY2VpdmVzIGl0cyBSVFANCiAgICAgIHRy
YW5zbWlzc2lvbiwgZWl0aGVyIGJhc2VkIG9uIGhhdmluZyByZWNlaXZlZCBhIFBBVVNFIHJlcXVl
c3QsDQogICAgICBkZWZpbmVkIGluIHRoaXMgc3BlY2lmaWNhdGlvbiwgb3IgYmFzZWQgb24gYSBs
b2NhbCBkZWNpc2lvbi4NCg0KICAgUGF1c2luZyByZWNlaXZlcjogIEFuIFJUUCBzdHJlYW0gcmVj
ZWl2ZXIgd2hpY2ggc2VuZHMgYSBQQVVTRQ0KICAgICAgcmVxdWVzdCwgZGVmaW5lZCBpbiB0aGlz
IHNwZWNpZmljYXRpb24sIHRvIG90aGVyIHBhcnRpY2lwYW50KHMpLg0KDQogICBTdHJlYW06ICBV
c2VkIGFzIGEgc2hvcnQgdGVybSBmb3IgUlRQIHN0cmVhbSwgdW5sZXNzIG90aGVyd2lzZSBub3Rl
ZC4NCg0KICAgU3RyZWFtIHJlY2VpdmVyOiAgU2hvcnQgZm9yIFJUUCBzdHJlYW0gcmVjZWl2ZXI7
IHRoZSBSVFAgZW50aXR5DQogICAgICByZXNwb25zaWJsZSBmb3IgcmVjZWl2aW5nIGFuIFJUUCBz
dHJlYW0sIHVzdWFsbHkgYSBNZWRpYQ0KICAgICAgRGVwYWNrZXRpemVyLg0KDQogICBTdHJlYW0g
c2VuZGVyOiAgU2hvcnQgZm9yIFJUUCBzdHJlYW0gc2VuZGVyOyB0aGUgUlRQIGVudGl0eQ0KICAg
ICAgcmVzcG9uc2libGUgZm9yIGNyZWF0aW5nIGFuIFJUUCBzdHJlYW0sIHVzdWFsbHkgYSBNZWRp
YQ0KICAgICAgUGFja2V0aXplci4NCg0KDQoNCkJ1cm1hbiwgZXQgYWwuICAgICAgICAgICBFeHBp
cmVzIE1hcmNoIDE5LCAyMDE1ICAgICAgICAgICAgICAgICBbUGFnZSA2XQ0KDA0KSW50ZXJuZXQt
RHJhZnQgICAgICAgICAgICAgIFJUUCBTdHJlYW0gUGF1c2UgICAgICAgICAgICAgIFNlcHRlbWJl
ciAyMDE0DQoNCg0KMi4zLiAgUmVxdWlyZW1lbnRzIExhbmd1YWdlDQoNCiAgIFRoZSBrZXkgd29y
ZHMgIk1VU1QiLCAiTVVTVCBOT1QiLCAiUkVRVUlSRUQiLCAiU0hBTEwiLCAiU0hBTEwgTk9UIiwN
CiAgICJTSE9VTEQiLCAiU0hPVUxEIE5PVCIsICJSRUNPTU1FTkRFRCIsICJNQVkiLCBhbmQgIk9Q
VElPTkFMIiBpbiB0aGlzDQogICBkb2N1bWVudCBhcmUgdG8gYmUgaW50ZXJwcmV0ZWQgYXMgZGVz
Y3JpYmVkIGluIFJGQyAyMTE5IFtSRkMyMTE5XS4NCg0KMy4gIFVzZSBDYXNlcw0KDQogICBUaGlz
IHNlY3Rpb24gZGlzY3Vzc2VzIHRoZSBtYWluIHVzZSBjYXNlcyBmb3IgUlRQIHN0cmVhbSBwYXVz
ZSBhbmQNCiAgIHJlc3VtZS4NCg0KMy4xLiAgUG9pbnQgdG8gUG9pbnQNCg0KICAgVGhpcyBpcyB0
aGUgbW9zdCBiYXNpYyB1c2UgY2FzZSB3aXRoIGFuIFJUUCBzZXNzaW9uIGNvbnRhaW5pbmcgdHdv
DQogICBFbmQgUG9pbnRzLiAgRWFjaCBFbmQgUG9pbnQgc2VuZHMgb25lIG9yIG1vcmUgc3RyZWFt
cy4NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICstLS0rICAgICAgICAgKy0tLSsNCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB8IEEgfDwtLS0tLS0tPnwgQiB8DQogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgKy0tLSsgICAgICAgICArLS0tKw0KDQogICAgICAgICAgICAgICAg
ICAgICAgICAgRmlndXJlIDE6IFBvaW50IHRvIFBvaW50DQoNCiAgIFRoZSB1c2FnZSBvZiBSVFAg
c3RyZWFtIHBhdXNlIGluIHRoaXMgdXNlIGNhc2UgaXMgdG8gdGVtcG9yYXJpbHkgaGFsdA0KICAg
ZGVsaXZlcnkgb2Ygc3RyZWFtcyB0aGF0IHRoZSBzZW5kZXIgcHJvdmlkZXMgYnV0IHRoZSByZWNl
aXZlciBkb2VzDQogICBub3QgY3VycmVudGx5IHVzZS4gIFRoaXMgY2FuIGZvciBleGFtcGxlIGJl
IGR1ZSB0byBtaW5pbWl6ZWQNCiAgIGFwcGxpY2F0aW9ucyB3aGVyZSB0aGUgdmlkZW8gc3RyZWFt
IGlzIG5vdCBhY3R1YWxseSBzaG93biBvbiBhbnkNCiAgIGRpc3BsYXksIGFuZCBuZWl0aGVyIGlz
IGl0IHVzZWQgaW4gYW55IG90aGVyIHdheSwgc3VjaCBhcyBiZWluZw0KICAgcmVjb3JkZWQuDQoN
CiAgIEluIHRoaXMgY2FzZSwgc2luY2UgdGhlcmUgaXMgb25seSBhIHNpbmdsZSByZWNlaXZlciBv
ZiB0aGUgc3RyZWFtLA0KICAgcGF1c2luZyBvciByZXN1bWluZyBhIHN0cmVhbSBkb2VzIG5vdCBp
bXBhY3QgYW55b25lIGVsc2UgdGhhbiB0aGUNCiAgIHNlbmRlciBhbmQgdGhlIHNpbmdsZSByZWNl
aXZlciBvZiB0aGF0IHN0cmVhbS4NCg0KICAgUlRDV0VCIFdHJ3MgdXNlIGNhc2UgYW5kIHJlcXVp
cmVtZW50cyBkb2N1bWVudA0KICAgW0ktRC5pZXRmLXJ0Y3dlYi11c2UtY2FzZXMtYW5kLXJlcXVp
cmVtZW50c10gZGVmaW5lcyB0aGUgZm9sbG93aW5nDQogICBBUEkgcmVxdWlyZW1lbnRzIGluIEFw
cGVuZGl4IEEsIHVzZWQgYWxzbyBieSBXM0MgV2ViUlRDIFdHOg0KDQogICBBOCBUaGUgV2ViIEFQ
SSBtdXN0IHByb3ZpZGUgbWVhbnMgZm9yIHRoZSB3ZWIgYXBwbGljYXRpb24gdG8gbXV0ZS8NCiAg
ICAgIHVubXV0ZSBhIHN0cmVhbSBvciBzdHJlYW0gY29tcG9uZW50KHMpLiAgV2hlbiBhIHN0cmVh
bSBpcyBzZW50IHRvDQogICAgICBhIHBlZXIgbXV0ZSBzdGF0dXMgbXVzdCBiZSBwcmVzZXJ2ZWQg
aW4gdGhlIHN0cmVhbSByZWNlaXZlZCBieSB0aGUNCiAgICAgIHBlZXIuDQoNCiAgIEE5IFRoZSBX
ZWIgQVBJIG11c3QgcHJvdmlkZSBtZWFucyBmb3IgdGhlIHdlYiBhcHBsaWNhdGlvbiB0byBjZWFz
ZQ0KICAgICAgdGhlIHNlbmRpbmcgb2YgYSBzdHJlYW0gdG8gYSBwZWVyLg0KDQogICBUaGlzIG1l
bW8gcHJvdmlkZXMgbWVhbnMgdG8gb3B0aW1pemUgdHJhbnNwb3J0IHVzYWdlIGJ5IHN0b3Agc2Vu
ZGluZw0KICAgbXV0ZWQgc3RyZWFtcyBhbmQgc3RhcnQgc2VuZGluZyBhZ2FpbiB3aGVuIHVubXV0
aW5nLg0KDQoNCg0KDQpCdXJtYW4sIGV0IGFsLiAgICAgICAgICAgRXhwaXJlcyBNYXJjaCAxOSwg
MjAxNSAgICAgICAgICAgICAgICAgW1BhZ2UgN10NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAg
ICAgICBSVFAgU3RyZWFtIFBhdXNlICAgICAgICAgICAgICBTZXB0ZW1iZXIgMjAxNA0KDQoNCjMu
Mi4gIFJUUCBNaXhlciB0byBNZWRpYSBTZW5kZXINCg0KICAgT25lIG9mIHRoZSBtb3N0IGNvbW1v
bmx5IHVzZWQgdG9wb2xvZ2llcyBpbiBjZW50cmFsaXplZCBjb25mZXJlbmNpbmcNCiAgIGlzIGJh
c2VkIG9uIHRoZSBSVFAgTWl4ZXIgW0ktRC5pZXRmLWF2dGNvcmUtcnRwLXRvcG9sb2dpZXMtdXBk
YXRlXS4NCiAgIFRoZSBtYWluIHJlYXNvbiBmb3IgdGhpcyBpcyB0aGF0IGl0IHByb3ZpZGVzIGEg
dmVyeSBjb25zaXN0ZW50IHZpZXcNCiAgIG9mIHRoZSBSVFAgc2Vzc2lvbiB0b3dhcmRzIGVhY2gg
cGFydGljaXBhbnQuICBUaGF0IGlzIGFjY29tcGxpc2hlZA0KICAgdGhyb3VnaCB0aGUgTWl4ZXIg
b3JpZ2luYXRpbmcgaXRzJyBvd24gc3RyZWFtcywgaWRlbnRpZmllZCBieSBTU1JDLA0KICAgYW5k
IGFueSBSVFAgc3RyZWFtcyBzZW50IHRvIHRoZSBwYXJ0aWNpcGFudHMgd2lsbCBiZSBzZW50IHVz
aW5nIHRob3NlDQogICBTU1JDcy4gIElmIHRoZSBNaXhlciB3YW50cyB0byBpZGVudGlmeSB0aGUg
dW5kZXJseWluZyBtZWRpYSBzb3VyY2VzDQogICBmb3IgaXRzJyBjb25jZXB0dWFsIHN0cmVhbXMs
IGl0IGNhbiBpZGVudGlmeSB0aGVtIHVzaW5nIENTUkMuICBUaGUNCiAgIHN0cmVhbSB0aGUgTWl4
ZXIgcHJvdmlkZXMgY2FuIGJlIGFuIGFjdHVhbCBtaXggb2YgbXVsdGlwbGUgbWVkaWENCiAgIHNv
dXJjZXMsIGJ1dCBpdCBtaWdodCBhbHNvIGJlIHN3aXRjaGluZyByZWNlaXZlZCBzdHJlYW1zIGFz
IGRlc2NyaWJlZA0KICAgaW4gU2VjdGlvbnMgMy42LTMuOCBvZiBbSS1ELmlldGYtYXZ0Y29yZS1y
dHAtdG9wb2xvZ2llcy11cGRhdGVdLg0KDQogICAgICAgICAgICAgICAgICAgICstLS0rICAgICAg
Ky0tLS0tLS0tLS0tKyAgICAgICstLS0rDQogICAgICAgICAgICAgICAgICAgIHwgQSB8PC0tLS0+
fCAgICAgICAgICAgfDwtLS0tPnwgQiB8DQogICAgICAgICAgICAgICAgICAgICstLS0rICAgICAg
fCAgICAgICAgICAgfCAgICAgICstLS0rDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
fCAgIE1peGVyICAgfA0KICAgICAgICAgICAgICAgICAgICArLS0tKyAgICAgIHwgICAgICAgICAg
IHwgICAgICArLS0tKw0KICAgICAgICAgICAgICAgICAgICB8IEMgfDwtLS0tPnwgICAgICAgICAg
IHw8LS0tLT58IEQgfA0KICAgICAgICAgICAgICAgICAgICArLS0tKyAgICAgICstLS0tLS0tLS0t
LSsgICAgICArLS0tKw0KDQogICAgICAgICAgICAgICAgICAgIEZpZ3VyZSAyOiBSVFAgTWl4ZXIg
aW4gVW5pY2FzdC1vbmx5DQoNCiAgIFdoaWNoIHN0cmVhbXMgdGhhdCBhcmUgZGVsaXZlcmVkIHRv
IGEgZ2l2ZW4gcmVjZWl2ZXIsIEEsIGNhbiBkZXBlbmQNCiAgIG9uIHNldmVyYWwgdGhpbmdzLiAg
SXQgY2FuIGVpdGhlciBiZSB0aGUgUlRQIE1peGVyJ3Mgb3duIGxvZ2ljIGFuZA0KICAgbWVhc3Vy
ZW1lbnRzIHN1Y2ggYXMgdm9pY2UgYWN0aXZpdHkgb24gdGhlIGluY29taW5nIGF1ZGlvIHN0cmVh
bXMuDQogICBJdCBjYW4gYmUgdGhhdCB0aGUgbnVtYmVyIG9mIHNlbnQgbWVkaWEgc291cmNlcyBl
eGNlZWQgd2hhdCBpcw0KICAgcmVhc29uYWJsZSB0byBwcmVzZW50IHNpbXVsdGFuZW91c2x5IGF0
IGFueSBnaXZlbiByZWNlaXZlci4gIEl0IGNhbg0KICAgYWxzbyBiZSBhIGh1bWFuIGNvbnRyb2xs
aW5nIHRoZSBjb25mZXJlbmNlIHRoYXQgZGV0ZXJtaW5lcyBob3cgdGhlDQogICBtZWRpYSBzaG91
bGQgYmUgbWl4ZWQ7IHRoaXMgd291bGQgYmUgbW9yZSBjb21tb24gaW4gbGVjdHVyZSBvcg0KICAg
c2ltaWxhciBhcHBsaWNhdGlvbnMgd2hlcmUgcmVndWxhciBsaXN0ZW5lcnMgbWF5IGJlIHByZXZl
bnRlZCBmcm9tDQogICBicmVha2luZyBpbnRvIHRoZSBzZXNzaW9uIHVubGVzcyBhcHByb3ZlZCBi
eSB0aGUgbW9kZXJhdG9yLiAgVGhlDQogICBzdHJlYW1zIG1heSBhbHNvIGJlIHBhcnQgb2YgYSBT
aW11bGNhc3QNCiAgIFtJLUQud2VzdGVybHVuZC1hdnRjb3JlLXJ0cC1zaW11bGNhc3RdIG9yIHNj
YWxhYmxlIGVuY29kZWQgKGZvcg0KICAgTXVsdGktU2Vzc2lvbiBUcmFuc21pc3Npb24pIFtSRkM2
MTkwXSwgdGh1cyBwcm92aWRpbmcgbXVsdGlwbGUNCiAgIHZlcnNpb25zIHRoYXQgY2FuIGJlIGRl
bGl2ZXJlZCBieSB0aGUgUlRQIHN0cmVhbSBzZW5kZXIuICBUaGVzZQ0KICAgZXhhbXBsZXMgaW5k
aWNhdGUgdGhhdCB0aGVyZSBhcmUgbnVtZXJvdXMgcmVhc29ucyB3aHkgYSBwYXJ0aWN1bGFyDQog
ICBzdHJlYW0gd291bGQgbm90IGN1cnJlbnRseSBiZSBpbiB1c2UsIGJ1dCBtdXN0IGJlIGF2YWls
YWJsZSBmb3IgdXNlDQogICBhdCB2ZXJ5IHNob3J0IG5vdGljZSBpZiBhbnkgZHluYW1pYyBldmVu
dCBvY2N1cnMgdGhhdCBjYXVzZXMgYQ0KICAgZGlmZmVyZW50IHN0cmVhbSBzZWxlY3Rpb24gdG8g
YmUgZG9uZSBpbiB0aGUgTWl4ZXIuDQoNCiAgIEJlY2F1c2Ugb2YgdGhpcywgaXQgd291bGQgYmUg
aGlnaGx5IGJlbmVmaWNpYWwgaWYgdGhlIE1peGVyIGNvdWxkDQogICByZXF1ZXN0IHRvIHBhdXNl
IGEgcGFydGljdWxhciBzdHJlYW0gZnJvbSBiZWluZyBkZWxpdmVyZWQgdG8gaXQuICBJdA0KICAg
YWxzbyBuZWVkcyB0byBiZSBhYmxlIHRvIHJlc3VtZSBkZWxpdmVyeSB3aXRoIG1pbmltYWwgZGVs
YXkuDQoNCiAgIEp1c3QgYXMgZm9yIHBvaW50LXRvLXBvaW50IChTZWN0aW9uIDMuMSksIHRoZXJl
IGlzIG9ubHkgYSBzaW5nbGUNCiAgIHJlY2VpdmVyIG9mIHRoZSBzdHJlYW0sIHRoZSBSVFAgTWl4
ZXIsIGFuZCBwYXVzaW5nIG9yIHJlc3VtaW5nIGENCg0KDQoNCkJ1cm1hbiwgZXQgYWwuICAgICAg
ICAgICBFeHBpcmVzIE1hcmNoIDE5LCAyMDE1ICAgICAgICAgICAgICAgICBbUGFnZSA4XQ0KDA0K
SW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgIFJUUCBTdHJlYW0gUGF1c2UgICAgICAgICAgICAg
IFNlcHRlbWJlciAyMDE0DQoNCg0KICAgc3RyZWFtIGRvZXMgbm90IGFmZmVjdCBhbnlvbmUgZWxz
ZSB0aGFuIHRoZSBzZW5kZXIgYW5kIHNpbmdsZQ0KICAgcmVjZWl2ZXIgb2YgdGhhdCBzdHJlYW0u
DQoNCjMuMy4gIFJUUCBNaXhlciB0byBNZWRpYSBTZW5kZXIgaW4gUG9pbnQtdG8tTXVsdGlwb2lu
dA0KDQogICBUaGlzIHVzZSBjYXNlIGlzIHNpbWlsYXIgdG8gdGhlIHByZXZpb3VzIHNlY3Rpb24s
IGhvd2V2ZXIgdGhlIFJUUA0KICAgTWl4ZXIgaXMgaW52b2x2ZWQgaW4gdGhyZWUgZG9tYWlucyB0
aGF0IG5lZWQgdG8gYmUgc2VwYXJhdGVkOyB0aGUNCiAgIE11bHRpY2FzdCBOZXR3b3JrIChpbmNs
dWRpbmcgcGFydGljaXBhbnRzIEEgYW5kIEMpLCBwYXJ0aWNpcGFudCBCLA0KICAgYW5kIHBhcnRp
Y2lwYW50IEQuICBUaGUgZGlmZmVyZW5jZSBmcm9tIGFib3ZlIGlzIHRoYXQgQSBhbmQgQyBzaGFy
ZSBhDQogICBtdWx0aWNhc3QgZG9tYWluLCB3aGljaCBpcyBkZXBpY3RlZCBiZWxvdy4NCg0KICAg
ICAgICAgICAgICAgICAgICAgICAgKy0tLS0tKw0KICAgICAgICAgICAgICstLS0rICAgICAvICAg
ICAgIFwgICAgICstLS0tLS0tLS0tLSsgICAgICArLS0tKw0KICAgICAgICAgICAgIHwgQSB8PC0t
LS8gICAgICAgICBcICAgIHwgICAgICAgICAgIHw8LS0tLT58IEIgfA0KICAgICAgICAgICAgICst
LS0rICAgLyAgIE11bHRpLSAgXCAgIHwgICAgICAgICAgIHwgICAgICArLS0tKw0KICAgICAgICAg
ICAgICAgICAgICArICAgIENhc3QgICAgICstPnwgICBNaXhlciAgIHwNCiAgICAgICAgICAgICAr
LS0tKyAgIFwgIE5ldHdvcmsgIC8gICB8ICAgICAgICAgICB8ICAgICAgKy0tLSsNCiAgICAgICAg
ICAgICB8IEMgfDwtLS1cICAgICAgICAgLyAgICB8ICAgICAgICAgICB8PC0tLS0+fCBEIHwNCiAg
ICAgICAgICAgICArLS0tKyAgICAgXCAgICAgICAvICAgICArLS0tLS0tLS0tLS0rICAgICAgKy0t
LSsNCiAgICAgICAgICAgICAgICAgICAgICAgICstLS0tLSsNCg0KICAgICAgICAgICAgICAgIEZp
Z3VyZSAzOiBSVFAgTWl4ZXIgaW4gUG9pbnQtdG8tTXVsdGlwb2ludA0KDQogICBJZiB0aGUgUlRQ
IE1peGVyIHBhdXNlcyBhIHN0cmVhbSBmcm9tIEEsIGl0IHdpbGwgbm90IG9ubHkgcGF1c2UgdGhl
DQogICBzdHJlYW0gdG93YXJkcyBpdHNlbGYsIGJ1dCB3aWxsIGFsc28gc3RvcCB0aGUgc3RyZWFt
IGZyb20gYXJyaXZpbmcgdG8NCiAgIEMsIHdoaWNoIEMgaXMgaGVhdmlseSBpbXBhY3RlZCBieSwg
bWlnaHQgbm90IGFwcHJvdmUgb2YsIGFuZCBzaG91bGQNCiAgIHRodXMgaGF2ZSBhIHNheSBvbi4N
Cg0KICAgSWYgdGhlIE1peGVyIHJlc3VtZXMgYSBwYXVzZWQgc3RyZWFtIGZyb20gQSwgaXQgd2ls
bCBiZSByZXN1bWVkIGFsc28NCiAgIHRvd2FyZHMgQy4gIEluIHRoaXMgY2FzZSwgaWYgQyBpcyBu
b3QgaW50ZXJlc3RlZCBpdCBjYW4gc2ltcGx5IGlnbm9yZQ0KICAgdGhlIHN0cmVhbSBhbmQgaXMg
bm90IGltcGFjdGVkIGFzIG11Y2ggYXMgYWJvdmUuDQoNCiAgIEluIHRoaXMgdXNlIGNhc2UgdGhl
cmUgYXJlIHNldmVyYWwgcmVjZWl2ZXJzIG9mIGEgc3RyZWFtIGFuZCBzcGVjaWFsDQogICBjYXJl
IG11c3QgYmUgdGFrZW4gYXMgbm90IHRvIHBhdXNlIGEgc3RyZWFtIHRoYXQgaXMgc3RpbGwgd2Fu
dGVkIGJ5DQogICBzb21lIHJlY2VpdmVycy4NCg0KMy40LiAgTWVkaWEgUmVjZWl2ZXIgdG8gUlRQ
IE1peGVyDQoNCiAgIEFuIEVuZCBQb2ludCBpbiBGaWd1cmUgMiBjb3VsZCBwb3RlbnRpYWxseSBy
ZXF1ZXN0IHRvIHBhdXNlIHRoZQ0KICAgZGVsaXZlcnkgb2YgYSBnaXZlbiBzdHJlYW0uICBQb3Nz
aWJsZSByZWFzb25zIGluY2x1ZGUgdGhlIG9uZXMgaW4gdGhlDQogICBwb2ludCB0byBwb2ludCBj
YXNlIChTZWN0aW9uIDMuMSkgYWJvdmUuDQoNCiAgIFdoZW4gdGhlIFJUUCBNaXhlciBpcyBvbmx5
IGNvbm5lY3RlZCB0byBpbmRpdmlkdWFsIHVuaWNhc3QgcGF0aHMsIHRoZQ0KICAgdXNlIGNhc2Ug
YW5kIGFueSBjb25zaWRlcmF0aW9ucyBhcmUgaWRlbnRpY2FsIHRvIHRoZSBwb2ludCB0byBwb2lu
dA0KICAgdXNlIGNhc2UuDQoNCiAgIEhvd2V2ZXIsIHdoZW4gdGhlIEVuZCBQb2ludCByZXF1ZXN0
aW5nIHN0cmVhbSBwYXVzZSBpcyBjb25uZWN0ZWQgdG8NCiAgIHRoZSBSVFAgTWl4ZXIgdGhyb3Vn
aCBhIG11bHRpY2FzdCBuZXR3b3JrLCBzdWNoIGFzIEEgb3IgQyBpbg0KDQoNCg0KQnVybWFuLCBl
dCBhbC4gICAgICAgICAgIEV4cGlyZXMgTWFyY2ggMTksIDIwMTUgICAgICAgICAgICAgICAgIFtQ
YWdlIDldDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICAgUlRQIFN0cmVhbSBQYXVzZSAg
ICAgICAgICAgICAgU2VwdGVtYmVyIDIwMTQNCg0KDQogICBGaWd1cmUgMywgdGhlIHVzZSBjYXNl
IGluc3RlYWQgYmVjb21lcyBpZGVudGljYWwgdG8gdGhlIG9uZSBpbg0KICAgU2VjdGlvbiAzLjMs
IG9ubHkgd2l0aCByZXZlcnNlIGRpcmVjdGlvbiBvZiB0aGUgc3RyZWFtcyBhbmQgcGF1c2UvDQog
ICByZXN1bWUgcmVxdWVzdHMuDQoNCjMuNS4gIE1lZGlhIFJlY2VpdmVyIHRvIE1lZGlhIFNlbmRl
ciBBY3Jvc3MgUlRQIE1peGVyDQoNCiAgIEFuIEVuZCBQb2ludCwgbGlrZSBBIGluIEZpZ3VyZSAy
LCBjb3VsZCBwb3RlbnRpYWxseSByZXF1ZXN0IHRvIHBhdXNlDQogICB0aGUgZGVsaXZlcnkgb2Yg
YSBnaXZlbiBzdHJlYW0sIGxpa2Ugb25lIG9mIEIncywgb3ZlciBhbnkgb2YgdGhlDQogICBTU1JD
cyB1c2VkIGJ5IHRoZSBNaXhlciBieSBzZW5kaW5nIGEgcGF1c2UgcmVxdWVzdCBmb3IgdGhlIENT
UkMNCiAgIGlkZW50aWZ5aW5nIHRoZSBzdHJlYW0uICBIb3dldmVyLCB0aGUgYXV0aG9ycyBhcmUg
b2YgdGhlIG9waW5pb24gdGhhdA0KICAgdGhpcyBpcyBub3QgYSBzdWl0YWJsZSBzb2x1dGlvbiwg
Zm9yIHNldmVyYWwgcmVhc29uczoNCg0KICAgMS4gIFRoZSBNaXhlciBtaWdodCBub3QgaW5jbHVk
ZSBDU1JDIGluIGl0J3Mgc3RyZWFtIGluZGljYXRpb25zLg0KDQogICAyLiAgQW4gRW5kIFBvaW50
IGNhbm5vdCByZWx5IG9uIHRoZSBDU1JDIHRvIGNvcnJlY3RseSBpZGVudGlmeSB0aGUNCiAgICAg
ICBzdHJlYW0gdG8gYmUgcGF1c2VkIHdoZW4gdGhlIGRlbGl2ZXJlZCBtZWRpYSBpcyBzb21lIHR5
cGUgb2YgbWl4Lg0KICAgICAgIEEgbW9yZSBlbGFib3JhdGUgc3RyZWFtIGlkZW50aWZpY2F0aW9u
IHNvbHV0aW9uIGlzIG5lZWRlZCB0bw0KICAgICAgIHN1cHBvcnQgdGhpcyBpbiB0aGUgZ2VuZXJh
bCBjYXNlLg0KDQogICAzLiAgVGhlIEVuZCBQb2ludCBjYW5ub3QgZGV0ZXJtaW5lIGlmIGEgZ2l2
ZW4gc3RyZWFtIGlzIHN0aWxsIG5lZWRlZA0KICAgICAgIGJ5IHRoZSBSVFAgTWl4ZXIgdG8gZGVs
aXZlciB0byBhbm90aGVyIHNlc3Npb24gcGFydGljaXBhbnQuDQoNCiAgIER1ZSB0byB0aGUgYWJv
dmUgcmVhc29ucywgd2UgZXhjbHVkZSB0aGlzIHVzZSBjYXNlIGZyb20gZnVydGhlcg0KICAgY29u
c2lkZXJhdGlvbi4NCg0KNC4gIERlc2lnbiBDb25zaWRlcmF0aW9ucw0KDQogICBUaGlzIHNlY3Rp
b24gZGVzY3JpYmVzIHRoZSByZXF1aXJlbWVudHMgdGhhdCB0aGlzIHNwZWNpZmljYXRpb24gbmVl
ZHMNCiAgIHRvIG1lZXQuDQoNCjQuMS4gIFJlYWwtdGltZSBOYXR1cmUNCg0KICAgVGhlIGZpcnN0
IHNlY3Rpb24gKFNlY3Rpb24gMSkgb2YgdGhpcyBzcGVjaWZpY2F0aW9uIGRlc2NyaWJlcyBzb21l
DQogICBwb3NzaWJsZSByZWFzb25zIHdoeSBhIHJlY2VpdmVyIG1heSBwYXVzZSBhbiBSVFAgc2Vu
ZGVyLiAgUGF1c2luZyBhbmQNCiAgIHJlc3VtaW5nIGlzIHRpbWUtZGVwZW5kZW50LCBpLmUuIGEg
cmVjZWl2ZXIgbWF5IGNob29zZSB0byBwYXVzZSBhbg0KICAgUlRQIHN0cmVhbSBmb3IgYSBjZXJ0
YWluIGR1cmF0aW9uLCBhZnRlciB3aGljaCB0aGUgcmVjZWl2ZXIgbWF5IHdhbnQNCiAgIHRoZSBz
ZW5kZXIgdG8gcmVzdW1lLiAgVGhpcyB0aW1lIGRlcGVuZGVuY3kgbWVhbnMgdGhhdCB0aGUgbWVz
c2FnZXMNCiAgIHJlbGF0ZWQgdG8gcGF1c2UgYW5kIHJlc3VtZSBtdXN0IGJlIHRyYW5zbWl0dGVk
IHRvIHRoZSBzZW5kZXIgaW4NCiAgIHJlYWwtdGltZSBpbiBvcmRlciBmb3IgdGhlbSB0byBiZSBw
dXJwb3NlZnVsLiAgVGhlIHBhdXNlIG9wZXJhdGlvbiBpcw0KICAgYXJndWFibHkgbm90IHZlcnkg
dGltZSBjcml0aWNhbCBzaW5jZSBpdCBtYWlubHkgcHJvdmlkZXMgYSByZWR1Y3Rpb24NCiAgIG9m
IHJlc291cmNlIHVzYWdlLiAgVGltZWx5IGhhbmRsaW5nIG9mIHRoZSByZXN1bWUgb3BlcmF0aW9u
IGlzDQogICBob3dldmVyIGxpa2VseSB0byBkaXJlY3RseSBpbXBhY3QgdGhlIGVuZC11c2VyJ3Mg
cGVyY2VpdmVkIHF1YWxpdHkNCiAgIGV4cGVyaWVuY2UsIHNpbmNlIGl0IGFmZmVjdHMgdGhlIGF2
YWlsYWJpbGl0eSBvZiBtZWRpYSB0aGF0IHRoZSB1c2VyDQogICBleHBlY3RzIHRvIHJlY2VpdmUg
bW9yZSBvciBsZXNzIGluc3RhbnRseS4NCg0KDQoNCg0KDQoNCg0KQnVybWFuLCBldCBhbC4gICAg
ICAgICAgIEV4cGlyZXMgTWFyY2ggMTksIDIwMTUgICAgICAgICAgICAgICAgW1BhZ2UgMTBdDQoM
DQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICAgUlRQIFN0cmVhbSBQYXVzZSAgICAgICAgICAg
ICAgU2VwdGVtYmVyIDIwMTQNCg0KDQo0LjIuICBNZXNzYWdlIERpcmVjdGlvbg0KDQogICBJdCBp
cyB0aGUgcmVzcG9uc2liaWxpdHkgb2YgYW4gUlRQIHN0cmVhbSByZWNlaXZlciwgd2hvIHdhbnRz
IHRvDQogICBwYXVzZSBvciByZXN1bWUgYSBzdHJlYW0gZnJvbSB0aGUgc2VuZGVyKHMpLCB0byB0
cmFuc21pdCBQQVVTRSBhbmQNCiAgIFJFU1VNRSBtZXNzYWdlcy4gIEFuIFJUUCBzdHJlYW0gc2Vu
ZGVyIHdobyBsaWtlcyB0byBwYXVzZSBpdHNlbGYsIGNhbg0KICAgc2ltcGx5IGRvIGl0LiAgQW55
IGluZGljYXRpb24gdGhhdCBhbiBSVFAgc3RyZWFtIGlzIHBhdXNlZCBpcyB0aGUNCiAgIHJlc3Bv
bnNpYmlsaXR5IG9mIHRoZSBSVFAgc3RyZWFtIHNlbmRlciBhbmQgbWF5IGluIHNvbWUgY2FzZXMg
bm90DQogICBldmVuIGJlIG5lZWRlZCBieSB0aGUgc3RyZWFtIHJlY2VpdmVyLg0KDQo0LjMuICBB
cHBseSB0byBJbmRpdmlkdWFsIFNvdXJjZXMNCg0KICAgVGhlIFBBVVNFIGFuZCBSRVNVTUUgbWVz
c2FnZXMgYXBwbHkgdG8gc2luZ2xlIFJUUCBzdHJlYW1zIGlkZW50aWZpZWQNCiAgIGJ5IHRoZWly
IFNTUkMsIHdoaWNoIG1lYW5zIHRoZSByZWNlaXZlciB0YXJnZXRzIHRoZSBzZW5kZXIncyBTU1JD
IGluDQogICB0aGUgUEFVU0UgYW5kIFJFU1VNRSByZXF1ZXN0cy4gIElmIGEgcGF1c2VkIHNlbmRl
ciBzdGFydHMgc2VuZGluZw0KICAgd2l0aCBhIG5ldyBTU1JDLCB0aGUgcmVjZWl2ZXJzIHdpbGwg
bmVlZCB0byBzZW5kIGEgbmV3IFBBVVNFIHJlcXVlc3QNCiAgIGluIG9yZGVyIHRvIHBhdXNlIGl0
LiAgUEFVU0VEIGluZGljYXRpb25zIHJlZmVyIHRvIGEgc2luZ2xlIG9uZSBvZg0KICAgdGhlIHNl
bmRlcidzIG93biwgcGF1c2VkIFNTUkMuDQoNCjQuNC4gIENvbnNlbnN1cw0KDQogICBBbiBSVFAg
c3RyZWFtIHNlbmRlciBzaG91bGQgbm90IHBhdXNlIGFuIFNTUkMgdGhhdCBzb21lIHJlY2VpdmVy
DQogICBzdGlsbCB3aXNoZXMgdG8gcmVjZWl2ZS4gIFRoZSByZWFzb24gaXMgdGhhdCBpbiBSVFAg
dG9wb2xvZ2llcyB3aGVyZQ0KICAgdGhlIHN0cmVhbSBpcyBzaGFyZWQgYmV0d2VlbiBtdWx0aXBs
ZSByZWNlaXZlcnMsIGEgc2luZ2xlIHJlY2VpdmVyIG9uDQogICB0aGF0IHNoYXJlZCBuZXR3b3Jr
LCBpbmRlcGVuZGVudCBvZiBpdCBiZWluZyBtdWx0aWNhc3QsIGEgbWVzaCB3aXRoDQogICBqb2lu
dCBSVFAgc2Vzc2lvbiBvciBhIHRyYW5zcG9ydCBUcmFuc2xhdG9yIGJhc2VkLCBtdXN0IG5vdCBz
aW5nbGUtDQogICBoYW5kZWRseSBjYXVzZSB0aGUgc3RyZWFtIHRvIGJlIHBhdXNlZCB3aXRob3V0
IGxldHRpbmcgYWxsIG90aGVyDQogICByZWNlaXZlcnMgdG8gdm9pY2UgdGhlaXIgb3BpbmlvbnMg
b24gd2hldGhlciBvciBub3QgdGhlIHN0cmVhbSBzaG91bGQNCiAgIGJlIHBhdXNlZC4gIEEgY29u
c2VxdWVuY2Ugb2YgdGhpcyBpcyB0aGF0IGEgbmV3bHkgam9pbmluZyByZWNlaXZlciwNCiAgIGZv
ciBleGFtcGxlIGluZGljYXRlZCBieSBhbiBSVENQIFJlY2VpdmVyIFJlcG9ydCBjb250YWluaW5n
IGJvdGggYQ0KICAgbmV3IFNTUkMgYW5kIGEgQ05BTUUgdGhhdCBkb2VzIG5vdCBhbHJlYWR5IG9j
Y3VyIGluIHRoZSBzZXNzaW9uLA0KICAgZmlyc3RseSBuZWVkcyB0byBsZWFybiB0aGUgZXhpc3Rl
bmNlIG9mIHBhdXNlZCBzdHJlYW1zLCBhbmQgc2Vjb25kbHkNCiAgIHNob3VsZCBiZSBhYmxlIHRv
IHJlc3VtZSBhbnkgcGF1c2VkIHN0cmVhbS4gIEFueSBzaW5nbGUgcmVjZWl2ZXINCiAgIHdhbnRp
bmcgdG8gcmVzdW1lIGEgc3RyZWFtIHNob3VsZCBhbHNvIGNhdXNlIGl0IHRvIGJlIHJlc3VtZWQu
DQoNCjQuNS4gIE1lc3NhZ2UgQWNrbm93bGVkZ21lbnRzDQoNCiAgIFJUUCBhbmQgUlRDUCBkb2Vz
IG5vdCBndWFyYW50ZWUgcmVsaWFibGUgZGF0YSB0cmFuc21pc3Npb24uICBJdCB1c2VzDQogICB3
aGF0ZXZlciBhc3N1cmFuY2UgdGhlIGxvd2VyIGxheWVyIHRyYW5zcG9ydCBwcm90b2NvbCBjYW4g
cHJvdmlkZS4NCiAgIEhvd2V2ZXIsIHRoaXMgaXMgY29tbW9ubHkgVURQIHRoYXQgcHJvdmlkZXMg
bm8gcmVsaWFiaWxpdHkNCiAgIGd1YXJhbnRlZXMuICBUaHVzIGl0IGlzIHBvc3NpYmxlIHRoYXQg
YSBQQVVTRSBhbmQvb3IgUkVTVU1FIG1lc3NhZ2UNCiAgIHRyYW5zbWl0dGVkIGZyb20gYW4gUlRQ
IEVuZCBQb2ludCBkb2VzIG5vdCByZWFjaCBpdHMgZGVzdGluYXRpb24sDQogICBpLmUuIHRoZSB0
YXJnZXRlZCBSVFAgc3RyZWFtIHNlbmRlci4gIFdoZW4gUEFVU0Ugb3IgUkVTVU1FIHJlYWNoZXMN
CiAgIHRoZSBSVFAgc3RyZWFtIHNlbmRlciBhbmQgYXJlIGVmZmVjdGl2ZSwgaS5lLiwgYW4gYWN0
aXZlIFJUUCBzdHJlYW0NCiAgIHNlbmRlciBwYXVzZXMsIG9yIGEgcmVzdW1pbmcgUlRQIHN0cmVh
bSBzZW5kZXIgaGF2ZSBtZWRpYSBkYXRhIHRvDQogICB0cmFuc21pdCwgaXQgaXMgaW1tZWRpYXRl
bHkgc2VlbiBmcm9tIHRoZSBhcnJpdmFsIG9yIG5vbi1hcnJpdmFsIG9mDQogICBSVFAgcGFja2V0
cyBmb3IgdGhhdCBSVFAgc3RyZWFtLiAgVGh1cywgbm8gZXhwbGljaXQgYWNrbm93bGVkZ21lbnRz
DQogICBhcmUgcmVxdWlyZWQgaW4gdGhpcyBjYXNlLg0KDQoNCg0KDQpCdXJtYW4sIGV0IGFsLiAg
ICAgICAgICAgRXhwaXJlcyBNYXJjaCAxOSwgMjAxNSAgICAgICAgICAgICAgICBbUGFnZSAxMV0N
CgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgICBSVFAgU3RyZWFtIFBhdXNlICAgICAgICAg
ICAgICBTZXB0ZW1iZXIgMjAxNA0KDQoNCiAgIEluIHNvbWUgY2FzZXMgd2hlbiBhIFBBVVNFIG9y
IFJFU1VNRSBtZXNzYWdlIHJlYWNoZXMgdGhlIFJUUCBzdHJlYW0NCiAgIHNlbmRlciwgaXQgd2ls
bCBub3QgYmUgYWJsZSB0byBwYXVzZSBvciByZXN1bWUgdGhlIHN0cmVhbSBkdWUgdG8gc29tZQ0K
ICAgbG9jYWwgY29uc2lkZXJhdGlvbiwgZm9yIGV4YW1wbGUgbGFjayBvZiBkYXRhIHRvIHRyYW5z
bWl0LiAgVGhpcw0KICAgZXJyb3IgY29uZGl0aW9uLCBhIG5lZ2F0aXZlIGFja25vd2xlZGdtZW50
LCBtYXkgYmUgbmVlZGVkIHRvIGF2b2lkDQogICB1bm5lY2Vzc2FyeSByZXRyYW5zbWlzc2lvbiBv
ZiByZXF1ZXN0cyAoU2VjdGlvbiA0LjYpLg0KDQo0LjYuICBSZXRyYW5zbWl0dGluZyBSZXF1ZXN0
cw0KDQogICBXaGVuIHRoZSBzdHJlYW0gaXMgbm90IGFmZmVjdGVkIGFzIGV4cGVjdGVkIGJ5IGEg
UEFVU0Ugb3IgUkVTVU1FDQogICByZXF1ZXN0LCB0aGUgcmVxdWVzdCBtYXkgaGF2ZSBiZWVuIGxv
c3QgYW5kIHRoZSBzZW5kZXIgb2YgdGhlIHJlcXVlc3QNCiAgIHdpbGwgbmVlZCB0byByZXRyYW5z
bWl0IGl0LiAgVGhlIHJldHJhbnNtaXNzaW9uIHNob3VsZCB0YWtlIHRoZSByb3VuZA0KICAgdHJp
cCB0aW1lIGludG8gYWNjb3VudCwgYW5kIHdpbGwgYWxzbyBuZWVkIHRvIHRha2UgdGhlIG5vcm1h
bCBSVENQDQogICBiYW5kd2lkdGggYW5kIHRpbWluZyBydWxlcyBhcHBsaWNhYmxlIHRvIHRoZSBS
VFAgc2Vzc2lvbiBpbnRvDQogICBhY2NvdW50LCB3aGVuIHNjaGVkdWxpbmcgcmV0cmFuc21pc3Np
b24gb2YgZmVlZGJhY2suDQoNCiAgIFdoZW4gaXQgY29tZXMgdG8gcmVzdW1lIHJlcXVlc3RzIHRo
YXQgYXJlIG1vcmUgdGltZSBjcml0aWNhbCwgdGhlDQogICBiZXN0IHJlc3VtZSBwZXJmb3JtYW5j
ZSBtYXkgYmUgYWNoaWV2ZWQgYnkgcmVwZWF0aW5nIHRoZSByZXF1ZXN0IGFzDQogICBvZnRlbiBh
cyBwb3NzaWJsZSB1bnRpbCBhIHN1ZmZpY2llbnQgbnVtYmVyIGhhdmUgYmVlbiBzZW50IHRvIHJl
YWNoIGENCiAgIGhpZ2ggcHJvYmFiaWxpdHkgb2YgcmVxdWVzdCBkZWxpdmVyeSwgb3IgdGhlIHN0
cmVhbSBnZXRzIGRlbGl2ZXJlZC4NCg0KNC43LiAgU2VxdWVuY2UgTnVtYmVyaW5nDQoNCiAgIEEg
UEFVU0UgcmVxdWVzdCBtZXNzYWdlIHdpbGwgbmVlZCB0byBoYXZlIGEgc2VxdWVuY2UgbnVtYmVy
IHRvDQogICBzZXBhcmF0ZSByZXRyYW5zbWlzc2lvbnMgZnJvbSBuZXcgcmVxdWVzdHMuICBBIHJl
dHJhbnNtaXNzaW9uIGtlZXBzDQogICB0aGUgc2VxdWVuY2UgbnVtYmVyIHVuY2hhbmdlZCwgd2hp
bGUgaXQgaXMgaW5jcmVtZW50ZWQgZXZlcnkgdGltZSBhDQogICBuZXcgUEFVU0UgcmVxdWVzdCBp
cyB0cmFuc21pdHRlZCB0aGF0IGlzIG5vdCBhIHJldHJhbnNtaXNzaW9uIG9mIGENCiAgIHByZXZp
b3VzIHJlcXVlc3QuDQoNCiAgIFNpbmNlIFJFU1VNRSBhbHdheXMgdGFrZXMgcHJlY2VkZW5jZSBv
dmVyIFBBVVNFIGFuZCBhcmUgZXZlbiBhbGxvd2VkDQogICB0byBhdm9pZCBwYXVzaW5nIGEgc3Ry
ZWFtLCB0aGVyZSBpcyBhIG5lZWQgdG8ga2VlcCBzdHJpY3Qgb3JkZXJpbmcgb2YNCiAgIFBBVVNF
IGFuZCBSRVNVTUUuICBUaHVzLCBSRVNVTUUgbmVlZHMgdG8gc2hhcmUgc2VxdWVuY2UgbnVtYmVy
IHNwYWNlDQogICB3aXRoIFBBVVNFIGFuZCBpbXBsaWNpdGx5IHJlZmVyZW5jZXMgd2hpY2ggUEFV
U0UgaXQgcmVmZXJzIHRvLiAgRm9yDQogICB0aGUgc2FtZSByZWFzb25zLCB0aGUgZXhwbGljaXQg
UEFVU0VEIGluZGljYXRpb24gYWxzbyBuZWVkcyB0byBzaGFyZQ0KICAgc2VxdWVuY2UgbnVtYmVy
IHNwYWNlIHdpdGggUEFVU0UgYW5kIFJFU1VNRS4NCg0KNC44LiAgUmVsYXRpb24gdG8gT3RoZXIg
U29sdXRpb25zDQoNCiAgIEEgcGVyZm9ybWFuY2UgY29tcGFyaXNvbiBiZXR3ZWVuIFNJUC9TRFAg
YW5kIFJUQ1Agc2lnbmFsaW5nDQogICB0ZWNobm9sb2dpZXMgd2FzIG1hZGUgYW5kIGluY2x1ZGVk
IGluIGRyYWZ0IHZlcnNpb25zIG9mIHRoaXMNCiAgIHNwZWNpZmljYXRpb24uICBVc2luZyBTSVAg
YW5kIFNEUCBbUkZDNDU2Nl0gdG8gY2FycnkgcGF1c2UgYW5kIHJlc3VtZQ0KICAgaW5mb3JtYXRp
b24gbWVhbnMgdGhhdCBpdCB3aWxsIG5lZWQgdG8gdHJhdmVyc2UgdGhlIGVudGlyZSBzaWduYWxp
bmcNCiAgIHBhdGggdG8gcmVhY2ggdGhlIHNpZ25hbGluZyBkZXN0aW5hdGlvbiAoZWl0aGVyIHRo
ZSByZW1vdGUgRW5kIFBvaW50DQogICBvciB0aGUgZW50aXR5IGNvbnRyb2xsaW5nIHRoZSBSVFAg
TWl4ZXIpLCBhY3Jvc3MgYW55IHNpZ25hbGluZw0KICAgcHJveGllcyB0aGF0IHBvdGVudGlhbGx5
IGFsc28gaGFzIHRvIHByb2Nlc3MgdGhlIFNEUCBjb250ZW50IHRvDQogICBkZXRlcm1pbmUgaWYg
dGhleSBhcmUgZXhwZWN0ZWQgdG8gYWN0IG9uIGl0LiAgVGhlIGFtb3VudCBvZiBiYW5kd2lkdGgN
CiAgIHJlcXVpcmVkIGZvciBhIFNJUC9TRFAtYmFzZWQgc2lnbmFsaW5nIHNvbHV0aW9uIGlzIGlu
IHRoZSBvcmRlciBvZiBhdA0KICAgbGVhc3QgMTAgdGltZXMgbW9yZSB0aGFuIGFuIFJUQ1AtYmFz
ZWQgc29sdXRpb24uICBFc3BlY2lhbGx5IGZvciBVQQ0KICAgc2l0dGluZyBvbiBtb2JpbGUgd2ly
ZWxlc3MgYWNjZXNzLCB0aGlzIHdpbGwgcmlzayBpbnRyb2R1Y2luZyBkZWxheXMNCg0KDQoNCkJ1
cm1hbiwgZXQgYWwuICAgICAgICAgICBFeHBpcmVzIE1hcmNoIDE5LCAyMDE1ICAgICAgICAgICAg
ICAgIFtQYWdlIDEyXQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgIFJUUCBTdHJlYW0g
UGF1c2UgICAgICAgICAgICAgIFNlcHRlbWJlciAyMDE0DQoNCg0KICAgdGhhdCBhcmUgdG9vIGxv
bmcgKFNlY3Rpb24gNC4xKSB0byBwcm92aWRlIGEgZ29vZCB1c2VyIGV4cGVyaWVuY2UsDQogICBh
bmQgdGhlIGJhbmR3aWR0aCBjb3N0IG1heSBhbHNvIGJlIGNvbnNpZGVyZWQgaW5mZWFzaWJsZSBj
b21wYXJlZCB0bw0KICAgYW4gUlRDUC1iYXNlZCBzb2x1dGlvbi4gIFJUQ1AgZGF0YSBpcyBzZW50
IHRocm91Z2ggdGhlIG1lZGlhIHBhdGgsDQogICB3aGljaCBpcyBsaWtlbHkgc2hvcnRlciAoY29u
dGFpbnMgZmV3ZXIgaW50ZXJtZWRpYXRlIG5vZGVzKSB0aGFuIHRoZQ0KICAgc2lnbmFsaW5nIHBh
dGgsIG1heSBhbnl3YXkgaGF2ZSB0byB0cmF2ZXJzZSBhIGZldyBpbnRlcm1lZGlhdGUgbm9kZXMu
DQogICBUaGUgYW1vdW50IG9mIHByb2Nlc3NpbmcgYW5kIGJ1ZmZlcmluZyByZXF1aXJlZCBpbiBp
bnRlcm1lZGlhdGUgbm9kZXMNCiAgIHRvIGZvcndhcmQgdGhvc2UgUlRDUCBtZXNzYWdlcyBpcyBo
b3dldmVyIGJlbGlldmVkIHRvIGJlDQogICBzaWduaWZpY2FudGx5IGxlc3MgdGhhbiBmb3IgaW50
ZXJtZWRpYXRlIG5vZGVzIGluIHRoZSBzaWduYWxpbmcgcGF0aC4NCiAgIEJhc2VkIG9uIHRob3Nl
IGNvbnNpZGVyYXRpb25zLCBSVENQIGlzIGNob3NlbiBhcyBzaWduYWxpbmcgcHJvdG9jb2wNCiAg
IGZvciB0aGUgcGF1c2UgYW5kIHJlc3VtZSBmdW5jdGlvbmFsaXR5Lg0KDQo1LiAgU29sdXRpb24g
T3ZlcnZpZXcNCg0KICAgVGhlIHByb3Bvc2VkIHNvbHV0aW9uIGltcGxlbWVudHMgUEFVU0UgYW5k
IFJFU1VNRSBmdW5jdGlvbmFsaXR5IGJhc2VkDQogICBvbiBzZW5kaW5nIEFWUEYgUlRDUCBmZWVk
YmFjayBtZXNzYWdlcyBmcm9tIGFueSBSVFAgc2Vzc2lvbg0KICAgcGFydGljaXBhbnQgdGhhdCB3
YW50cyB0byBwYXVzZSBvciByZXN1bWUgYSBzdHJlYW0gdGFyZ2V0ZWQgYXQgdGhlDQogICBzdHJl
YW0gc2VuZGVyLCBhcyBpZGVudGlmaWVkIGJ5IHRoZSBzZW5kZXIgU1NSQy4NCg0KICAgSXQgaXMg
cHJvcG9zZWQgdG8gcmUtdXNlIENDTSBUTU1CUiBhbmQgVE1NQk4gW1JGQzUxMDRdIHRvIHRoZSBl
eHRlbnQNCiAgIHBvc3NpYmxlLCBhbmQgdG8gZGVmaW5lIGEgc21hbGwgc2V0IG9mIG5ldyBSVENQ
IGZlZWRiYWNrIG1lc3NhZ2VzDQogICB3aGVyZSBuZXcgc2VtYW50aWNzIGlzIG5lZWRlZC4gIENv
bnNpZGVyYXRpb25zIHRoYXQgYXBwbHkgd2hlbiB1c2luZw0KICAgVE1NQlIvVE1NQk4gZm9yIHBh
dXNlIGFuZCByZXN1bWUgcHVycG9zZXMgYXJlIGFsc28gZGVzY3JpYmVkLg0KDQogICBBIHNpbmds
ZSBGZWVkYmFjayBtZXNzYWdlIHNwZWNpZmljYXRpb24gaXMgdXNlZCB0byBpbXBsZW1lbnQgdGhl
IG5ldw0KICAgbWVzc2FnZXMuICBUaGUgbWVzc2FnZSBjb25zaXN0cyBvZiBhIG51bWJlciBvZiBG
ZWVkYmFjayBDb250cm9sDQogICBJbmZvcm1hdGlvbiAoRkNJKSBibG9ja3MsIHdoZXJlIGVhY2gg
YmxvY2sgY2FuIGJlIGEgUEFVU0UgcmVxdWVzdCwgYQ0KICAgUkVTVU1FIHJlcXVlc3QsIFBBVVNF
RCBpbmRpY2F0aW9uLCBhIFJFRlVTRUQgcmVzcG9uc2UsIG9yIGFuDQogICBleHRlbnNpb24gdG8g
dGhpcyBzcGVjaWZpY2F0aW9uLiAgVGhpcyBzdHJ1Y3R1cmUgYWxsb3dzIGEgc2luZ2xlDQogICBm
ZWVkYmFjayBtZXNzYWdlIHRvIGhhbmRsZSBwYXVzZSBmdW5jdGlvbmFsaXR5IG9uIGEgbnVtYmVy
IG9mDQogICBzdHJlYW1zLg0KDQogICBUaGUgUEFVU0VEIGZ1bmN0aW9uYWxpdHkgaXMgYWxzbyBk
ZWZpbmVkIGluIHN1Y2ggYSB3YXkgdGhhdCBpdCBjYW4gYmUNCiAgIHVzZWQgc3RhbmRhbG9uZSBi
eSB0aGUgUlRQIHN0cmVhbSBzZW5kZXIgdG8gaW5kaWNhdGUgYSBsb2NhbCBkZWNpc2lvbg0KICAg
dG8gcGF1c2UsIGFuZCBpbmZvcm0gYW55IHJlY2VpdmVyIG9mIHRoZSBmYWN0IHRoYXQgaGFsdGlu
ZyBtZWRpYQ0KICAgZGVsaXZlcnkgaXMgZGVsaWJlcmF0ZSBhbmQgd2hpY2ggUlRQIHBhY2tldCB3
YXMgdGhlIGxhc3QgdHJhbnNtaXR0ZWQuDQoNCiAgIFRoaXMgc2VjdGlvbiBpcyBpbnRlbmRlZCB0
byBiZSBleHBsYW5hdG9yeSBhbmQgdGhlcmVmb3JlDQogICBpbnRlbnRpb25hbGx5IGNvbnRhaW5z
IG5vIG1hbmRhdG9yeSBzdGF0ZW1lbnRzLiAgU3VjaCBzdGF0ZW1lbnRzIGNhbg0KICAgaW5zdGVh
ZCBiZSBmb3VuZCBpbiBvdGhlciBwYXJ0cyBvZiB0aGlzIHNwZWNpZmljYXRpb24uDQoNCjUuMS4g
IEV4cHJlc3NpbmcgQ2FwYWJpbGl0eQ0KDQogICBBbiBFbmQgUG9pbnQgY2FuIHVzZSBhbiBleHRl
bnNpb24gdG8gQ0NNIFNEUCBzaWduYWxpbmcgdG8gZGVjbGFyZQ0KICAgY2FwYWJpbGl0eSB0byB1
bmRlcnN0YW5kIHRoZSBtZXNzYWdlcyBkZWZpbmVkIGluIHRoaXMgc3BlY2lmaWNhdGlvbi4NCiAg
IENhcGFiaWxpdHkgdG8gdW5kZXJzdGFuZCBQQVVTRUQgaW5kaWNhdGlvbiBpcyBkZWZpbmVkIHNl
cGFyYXRlbHkgZnJvbQ0KICAgdGhlIG90aGVycyB0byBzdXBwb3J0IHBhcnRpYWwgaW1wbGVtZW50
YXRpb24sIHdoaWNoIGlzIHNwZWNpZmljYWxseQ0KICAgYmVsaWV2ZWQgdG8gYmUgZmVhc2libGUg
Zm9yIHRoZSBSVFAgTWl4ZXIgdG8gTWVkaWEgU2VuZGVyIHVzZSBjYXNlDQogICAoU2VjdGlvbiAz
LjIpLg0KDQoNCg0KQnVybWFuLCBldCBhbC4gICAgICAgICAgIEV4cGlyZXMgTWFyY2ggMTksIDIw
MTUgICAgICAgICAgICAgICAgW1BhZ2UgMTNdDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAg
ICAgUlRQIFN0cmVhbSBQYXVzZSAgICAgICAgICAgICAgU2VwdGVtYmVyIDIwMTQNCg0KDQogICBG
b3IgdGhlIGNhc2Ugd2hlbiBUTU1CUi9UTU1CTiBhcmUgdXNlZCBmb3IgcGF1c2UgYW5kIHJlc3Vt
ZSBwdXJwb3NlcywNCiAgIGl0IGlzIHBvc3NpYmxlIHRvIGV4cGxpY2l0bHkgZXhwcmVzcyBqb2lu
dCBzdXBwb3J0IGZvciBUTU1CUiBhbmQNCiAgIFRNTUJOLCBidXQgbm90IGZvciBUTU1CTiBvbmx5
Lg0KDQo1LjIuICBSZXF1ZXN0aW5nIHRvIFBhdXNlDQoNCiAgIEFuIFJUUCBzdHJlYW0gcmVjZWl2
ZXIgY2FuIGNob29zZSB0byByZXF1ZXN0IFBBVVNFIGF0IGFueSB0aW1lLA0KICAgc3ViamVjdCB0
byBBVlBGIHRpbWluZyBydWxlcy4gIFRoaXMgYWxzbyBhcHBsaWVzIHdoZW4gdXNpbmcgVE1NQlIg
MA0KICAgaW4gdGhlIHBvaW50LXRvLXBvaW50IGNhc2UuDQoNCiAgIFRoZSBQQVVTRSByZXF1ZXN0
IGNvbnRhaW5zIGEgUGF1c2VJRCwgd2hpY2ggaXMgaW5jcmVtZW50ZWQgYnkgb25lIChpbg0KICAg
bW9kdWxvIGFyaXRobWV0aWMpIHdpdGggZWFjaCBQQVVTRSByZXF1ZXN0IHRoYXQgaXMgbm90IGEg
cmUtDQogICB0cmFuc21pc3Npb24uICBUaGUgUGF1c2VJRCBpcyBzY29wZWQgYnkgYW5kIHRodXMg
YSBwcm9wZXJ0eSBvZiB0aGUNCiAgIHRhcmdldGVkIFJUUCBzdHJlYW0gKFNTUkMpLg0KDQogICBX
aGVuIGEgbm9uLXBhdXNlZCBSVFAgc3RyZWFtIHNlbmRlciByZWNlaXZlcyB0aGUgUEFVU0UgcmVx
dWVzdCwgaXQNCiAgIGNvbnRpbnVlcyB0byBzZW5kIHRoZSBSVFAgc3RyZWFtIHdoaWxlIHdhaXRp
bmcgZm9yIHNvbWUgdGltZSB0byBhbGxvdw0KICAgb3RoZXIgUlRQIHN0cmVhbSByZWNlaXZlcnMg
aW4gdGhlIHNhbWUgUlRQIHNlc3Npb24gdGhhdCBzYXcgdGhpcw0KICAgUEFVU0UgcmVxdWVzdCB0
byBkaXNhcHByb3ZlIGJ5IHNlbmRpbmcgYSBSRVNVTUUgKFNlY3Rpb24gNS40KSBmb3IgdGhlDQog
ICBzYW1lIHN0cmVhbSBhbmQgd2l0aCB0aGUgc2FtZSBQYXVzZUlEIGFzIGluIHRoZSBkaXNhcHBy
b3ZlZCBQQVVTRS4NCiAgIElmIHN1Y2ggZGlzYXBwcm92aW5nIFJFU1VNRSBhcnJpdmVzIGF0IHRo
ZSBSVFAgc3RyZWFtIHNlbmRlciBkdXJpbmcNCiAgIHRoZSB3YWl0IHBlcmlvZCBiZWZvcmUgdGhl
IHN0cmVhbSBpcyBwYXVzZWQsIHRoZSBwYXVzZSBpcyBub3QNCiAgIHBlcmZvcm1lZC4gIEluIHBv
aW50LXRvLXBvaW50IGNvbmZpZ3VyYXRpb25zLCB0aGUgd2FpdCBwZXJpb2QgbWF5IGJlDQogICBz
ZXQgdG8gemVyby4gIFVzaW5nIGEgd2FpdCBwZXJpb2Qgb2YgemVybyBpcyBhbHNvIGFwcHJvcHJp
YXRlIHdoZW4NCiAgIHVzaW5nIFRNTUJSIDAgYW5kIGluIGxpbmUgd2l0aCB0aGUgc2VtYW50aWNz
IGZvciB0aGF0IG1lc3NhZ2UuDQoNCiAgIElmIHRoZSBSVFAgc3RyZWFtIHNlbmRlciByZWNlaXZl
cyBmdXJ0aGVyIFBBVVNFIHJlcXVlc3RzIHdpdGggdGhlDQogICBhdmFpbGFibGUgUGF1c2VJRCB3
aGlsZSB3YWl0aW5nIGFzIGRlc2NyaWJlZCBhYm92ZSwgdGhvc2UgYWRkaXRpb25hbA0KICAgcmVx
dWVzdHMgYXJlIGlnbm9yZWQuDQoNCiAgIElmIHRoZSBQQVVTRSByZXF1ZXN0IG9yIFRNTUJSIDAg
aXMgbG9zdCBiZWZvcmUgaXQgcmVhY2hlcyB0aGUgUlRQDQogICBzdHJlYW0gc2VuZGVyLCBpdCB3
aWxsIGJlIGRpc2NvdmVyZWQgYnkgdGhlIFJUUCBzdHJlYW0gcmVjZWl2ZXINCiAgIGJlY2F1c2Ug
aXQgY29udGludWVzIHRvIHJlY2VpdmUgdGhlIFJUUCBzdHJlYW0uICBJdCB3aWxsIGFsc28gbm90
IHNlZQ0KICAgYW55IFBBVVNFRCBpbmRpY2F0aW9uIChTZWN0aW9uIDUuMykgb3IgVE1NQk4gMCBm
b3IgdGhlIHN0cmVhbS4gIFRoZQ0KICAgc2FtZSBjb25kaXRpb24gY2FuIGJlIGNhdXNlZCBieSB0
aGUgUlRQIHN0cmVhbSBzZW5kZXIgaGF2aW5nIHJlY2VpdmVkDQogICBhIGRpc2FwcHJvdmluZyBS
RVNVTUUgZnJvbSBhIHN0cmVhbSByZWNlaXZlciBBIGZvciBhIFBBVVNFIHJlcXVlc3QNCiAgIHNl
bnQgYnkgYSBzdHJlYW0gc2VuZGVyIEIsIGJ1dCB0aGF0IHRoZSBQQVVTRSBzZW5kZXIgKEIpIGRp
ZCBub3QNCiAgIHJlY2VpdmUgdGhlIFJFU1VNRSAoZnJvbSBBKSBhbmQgbWF5IGluc3RlYWQgdGhp
bmsgdGhhdCB0aGUgUEFVU0Ugd2FzDQogICBsb3N0LiAgSW4gYm90aCBjYXNlcywgYSBQQVVTRSBy
ZXF1ZXN0IGNhbiBiZSByZS10cmFuc21pdHRlZCB1c2luZyB0aGUNCiAgIHNhbWUgUGF1c2VJRC4g
IElmIHVzaW5nIFRNTUJSIDAgdGhlIHJlcXVlc3QgTUFZIGJlIHJlLXRyYW5zbWl0dGVkDQogICB3
aGVuIHRoZSByZXF1ZXN0ZXIgZmFpbHMgdG8gcmVjZWl2ZSBhIFRNTUJOIDAgY29uZmlybWF0aW9u
Lg0KDQogICBJZiB0aGUgcGVuZGluZyBzdHJlYW0gcGF1c2UgaXMgYWJvcnRlZCBkdWUgdG8gYSBk
aXNhcHByb3ZpbmcgUkVTVU1FLA0KICAgdGhlIFBhdXNlSUQgZnJvbSB0aGUgZGlzYXBwcm92ZWQg
UEFVU0UgaXMgaW52YWxpZGF0ZWQgYnkgdGhlIFJFU1VNRQ0KICAgYW5kIGFueSBuZXcgUEFVU0Ug
bXVzdCB1c2UgYW4gaW5jcmVtZW50ZWQgUGF1c2VJRCAoaW4gbW9kdWxvDQogICBhcml0aG1ldGlj
KSB0byBiZSBlZmZlY3RpdmUuDQoNCg0KDQoNCg0KQnVybWFuLCBldCBhbC4gICAgICAgICAgIEV4
cGlyZXMgTWFyY2ggMTksIDIwMTUgICAgICAgICAgICAgICAgW1BhZ2UgMTRdDQoMDQpJbnRlcm5l
dC1EcmFmdCAgICAgICAgICAgICAgUlRQIFN0cmVhbSBQYXVzZSAgICAgICAgICAgICAgU2VwdGVt
YmVyIDIwMTQNCg0KDQogICBBbiBSVFAgc3RyZWFtIHNlbmRlciByZWNlaXZpbmcgYSBQQVVTRSBu
b3QgdXNpbmcgdGhlIGF2YWlsYWJsZQ0KICAgUGF1c2VJRCBpbmZvcm1zIHRoZSBSVFAgc3RyZWFt
IHJlY2VpdmVyIHNlbmRpbmcgdGhlIGluZWZmZWN0aXZlIFBBVVNFDQogICBvZiB0aGlzIGNvbmRp
dGlvbiBieSBzZW5kaW5nIGEgUkVGVVNFRCByZXNwb25zZSB0aGF0IGNvbnRhaW5zIHRoZQ0KICAg
bmV4dCBhdmFpbGFibGUgUGF1c2VJRCB2YWx1ZS4gIFRoaXMgUkVGVVNFRCBhbHNvIGluZm9ybXMg
dGhlIFJUUA0KICAgc3RyZWFtIHJlY2VpdmVyIHRoYXQgaXQgaXMgcHJvYmFibHkgbm90IGZlYXNp
YmxlIHRvIHNlbmQgYW5vdGhlcg0KICAgUEFVU0UgZm9yIHNvbWUgdGltZSwgbm90IGV2ZW4gd2l0
aCB0aGUgYXZhaWxhYmxlIFBhdXNlSUQsIHNpbmNlIHRoZXJlDQogICBhcmUgb3RoZXIgUlRQIHN0
cmVhbSByZWNlaXZlcnMgdGhhdCB3aXNoIHRvIHJlY2VpdmUgdGhlIHN0cmVhbS4NCg0KICAgQSBz
aW1pbGFyIHNpdHVhdGlvbiB3aGVyZSBhbiBpbmVmZmVjdGl2ZSBQYXVzZUlEIGlzIGNob3NlbiBj
YW4gYXBwZWFyDQogICB3aGVuIGEgbmV3IFJUUCBzdHJlYW0gcmVjZWl2ZXIgam9pbnMgYSBzZXNz
aW9uIGFuZCB3YW50cyB0byBQQVVTRSBhDQogICBzdHJlYW0sIGJ1dCBkb2VzIG5vdCB5ZXQga25v
dyB0aGUgYXZhaWxhYmxlIFBhdXNlSUQgdG8gdXNlLiAgVGhlDQogICBSRUZVU0VEIHJlc3BvbnNl
IHdpbGwgdGhlbiBwcm92aWRlIHN1ZmZpY2llbnQgaW5mb3JtYXRpb24gdG8gY3JlYXRlIGENCiAg
IHZhbGlkIFBBVVNFLiAgVGhlIHJlcXVpcmVkIGV4dHJhIHNpZ25hbGluZyByb3VuZC10cmlwIGlz
IG5vdA0KICAgY29uc2lkZXJlZCBoYXJtZnVsLCBzaW5jZSBpdCBpcyBhc3N1bWVkIHRoYXQgcGF1
c2luZyBhIHN0cmVhbSBpcyBub3QNCiAgIHRpbWUtY3JpdGljYWwgKFNlY3Rpb24gNC4xKS4NCg0K
ICAgVGhlcmUgbWF5IGJlIGxvY2FsIGNvbnNpZGVyYXRpb25zIG1ha2luZyBpdCBpbXBvc3NpYmxl
IG9yIGluZmVhc2libGUNCiAgIHRvIHBhdXNlIHRoZSBzdHJlYW0sIGFuZCB0aGUgUlRQIHN0cmVh
bSBzZW5kZXIgY2FuIHRoZW4gcmVzcG9uZCB3aXRoDQogICBhIFJFRlVTRUQuICBJbiB0aGlzIGNh
c2UsIGlmIHRoZSB1c2VkIFBhdXNlSUQgd291bGQgb3RoZXJ3aXNlIGhhdmUNCiAgIGJlZW4gZWZm
ZWN0aXZlLCB0aGUgUkVGVVNFRCBjb250YWlucyB0aGUgc2FtZSBQYXVzZUlEIGFzIGluIHRoZSBQ
QVVTRQ0KICAgcmVxdWVzdCwgYW5kIHRoZSBQYXVzZUlEIGlzIGtlcHQgYXMgYXZhaWxhYmxlLiAg
Tm90ZSB0aGF0IHdoZW4gdXNpbmcNCiAgIFRNTUJSIDAgYXMgUEFVU0UsIHRoYXQgcmVxdWVzdCBj
YW5ub3QgYmUgcmVmdXNlZCAoVE1NQk4gPiAwKSBkdWUgdG8NCiAgIHRoZSBleGlzdGluZyByZXN0
cmljdGlvbiBpbiBzZWN0aW9uIDQuMi4yLjIgb2YgW1JGQzUxMDRdIHRoYXQgVE1NQk4NCiAgIFNI
QUxMIGNvbnRhaW4gdGhlIGN1cnJlbnQgYm91bmRpbmcgc2V0LCBhbmQgdGhlIGZhY3QgdGhhdCBh
IFRNTUJSIDANCiAgIHdpbGwgYWx3YXlzIGJlIHRoZSBtb3N0IHJlc3RyaWN0aXZlIHBvaW50IGlu
IGFueSBib3VuZGluZyBzZXQuDQoNCiAgIElmIHRoZSBSVFAgc3RyZWFtIHNlbmRlciByZWNlaXZl
cyBzZXZlcmFsIGlkZW50aWNhbCBQQVVTRSBmb3IgYW4gUlRQDQogICBzdHJlYW0gdGhhdCB3YXMg
YWxyZWFkeSBhdCBsZWFzdCBvbmNlIHJlc3BvbmRlZCB3aXRoIFJFRlVTRUQgYW5kIHRoZQ0KICAg
Y29uZGl0aW9uIGNhdXNpbmcgUkVGVVNFRCByZW1haW5zLCB0aG9zZSBhZGRpdGlvbmFsIFJFRlVT
RUQgc2hvdWxkIGJlDQogICBzZW50IHdpdGggcmVndWxhciBSVENQIHRpbWluZy4gIEEgc2luZ2xl
IFJFRlVTRUQgY2FuIHJlc3BvbmQgdG8NCiAgIHNldmVyYWwgaWRlbnRpY2FsIFBBVVNFIHJlcXVl
c3RzLg0KDQo1LjMuICBNZWRpYSBTZW5kZXIgUGF1c2luZw0KDQogICBBbiBSVFAgc3RyZWFtIHNl
bmRlciBjYW4gY2hvb3NlIHRvIHBhdXNlIHRoZSBzdHJlYW0gYXQgYW55IHRpbWUuDQogICBUaGlz
IGNhbiBlaXRoZXIgYmUgYXMgYSByZXN1bHQgb2YgcmVjZWl2aW5nIGEgUEFVU0UsIG9yIGJlIGJh
c2VkIG9uDQogICBzb21lIGxvY2FsIHNlbmRlciBjb25zaWRlcmF0aW9uLiAgV2hlbiBpdCBkb2Vz
LCBpdCBzZW5kcyBhIFBBVVNFRA0KICAgaW5kaWNhdGlvbiwgY29udGFpbmluZyB0aGUgYXZhaWxh
YmxlIFBhdXNlSUQuICBJZiB0aGUgc3RyZWFtIHdhcw0KICAgcGF1c2VkIGJ5IGEgVE1NQlIgMCwg
VE1NQk4gMCBpcyB1c2VkIGFzIFBBVVNFRCBpbmRpY2F0aW9uLiAgV2hhdCBpcw0KICAgc2FpZCBv
biBQQVVTRUQgaW4gdGhlIHJlc3Qgb2YgdGhpcyBwYXJhZ3JhcGggYXBwbHkgYWxzbyB0byB0aGUg
dXNlIG9mDQogICBUTU1CTiAwLCBleGNlcHQgZm9yIFBBVVNFRCBtZXNzYWdlIHBhcmFtZXRlcnMu
ICBOb3RlIHRoYXQgUGF1c2VJRCBpcw0KICAgaW5jcmVtZW50ZWQgd2hlbiBwYXVzaW5nIGxvY2Fs
bHkgKHdpdGhvdXQgaGF2aW5nIHJlY2VpdmVkIGEgUEFVU0UpLg0KICAgSXQgYWxzbyBzZW5kcyB0
aGUgUEFVU0VEIGluZGljYXRpb24gaW4gdGhlIG5leHQgdHdvIHJlZ3VsYXIgUlRDUA0KICAgcmVw
b3J0cywgZ2l2ZW4gdGhhdCB0aGUgcGF1c2UgY29uZGl0aW9uIGlzIHRoZW4gc3RpbGwgZWZmZWN0
aXZlLg0KDQogICBUaGUgUlRQIHN0cmVhbSBzZW5kZXIgbWF5IHdhbnQgdG8gYXBwbHkgc29tZSBs
b2NhbCBjb25zaWRlcmF0aW9uIHRvDQogICBleGFjdGx5IHdoZW4gdGhlIHN0cmVhbSBpcyBwYXVz
ZWQsIGZvciBleGFtcGxlIGNvbXBsZXRpbmcgc29tZSBtZWRpYQ0KICAgdW5pdCBvciBhIGZvcndh
cmQgZXJyb3IgY29ycmVjdGlvbiBibG9jaywgYmVmb3JlIHBhdXNpbmcgdGhlIHN0cmVhbS4NCg0K
DQoNCkJ1cm1hbiwgZXQgYWwuICAgICAgICAgICBFeHBpcmVzIE1hcmNoIDE5LCAyMDE1ICAgICAg
ICAgICAgICAgIFtQYWdlIDE1XQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgIFJUUCBT
dHJlYW0gUGF1c2UgICAgICAgICAgICAgIFNlcHRlbWJlciAyMDE0DQoNCg0KICAgVGhlIFBBVVNF
RCBpbmRpY2F0aW9uIGFsc28gY29udGFpbnMgaW5mb3JtYXRpb24gYWJvdXQgdGhlIFJUUA0KICAg
ZXh0ZW5kZWQgaGlnaGVzdCBzZXF1ZW5jZSBudW1iZXIgd2hlbiB0aGUgcGF1c2UgYmVjYW1lIGVm
ZmVjdGl2ZS4NCiAgIFRoaXMgcHJvdmlkZXMgUlRQIHN0cmVhbSByZWNlaXZlcnMgd2l0aCBmaXJz
dCBoYW5kIGluZm9ybWF0aW9uDQogICBhbGxvd2luZyB0aGVtIHRvIGtub3cgd2hldGhlciB0aGV5
IGxvc3QgYW55IHBhY2tldHMganVzdCBiZWZvcmUgdGhlDQogICBzdHJlYW0gcGF1c2VkIG9yIHdo
ZW4gdGhlIHN0cmVhbSBpcyByZXN1bWVkIGFnYWluLiAgVGhpcyBhbGxvd3MgUlRQDQogICBzdHJl
YW0gcmVjZWl2ZXJzIHRvIHF1aWNrbHkgYW5kIHNhZmVseSB0YWtlIGludG8gYWNjb3VudCB0aGF0
IHRoZQ0KICAgc3RyZWFtIGlzIHBhdXNlZCwgaW4gZm9yIGV4YW1wbGUgcmV0cmFuc21pc3Npb24g
b3IgY29uZ2VzdGlvbiBjb250cm9sDQogICBhbGdvcml0aG1zLg0KDQogICBJZiB0aGUgUlRQIHN0
cmVhbSBzZW5kZXIgcmVjZWl2ZXMgUEFVU0UgcmVxdWVzdHMgd2l0aCB0aGUgYXZhaWxhYmxlDQog
ICBQYXVzZUlEIHdoaWxlIHRoZSBzdHJlYW0gaXMgYWxyZWFkeSBwYXVzZWQsIHRob3NlIHJlcXVl
c3RzIGFyZQ0KICAgaWdub3JlZC4NCg0KICAgQXMgbG9uZyBhcyB0aGUgc3RyZWFtIGlzIGJlaW5n
IHBhdXNlZCwgdGhlIFBBVVNFRCBpbmRpY2F0aW9uIE1BWSBiZQ0KICAgc2VudCB0b2dldGhlciB3
aXRoIGFueSByZWd1bGFyIFJUQ1AgU1Igb3IgUlIuICBJbmNsdWRpbmcgUEFVU0VEIGluDQogICB0
aGlzIHdheSBhbGxvd3MgUlRQIHN0cmVhbSByZWNlaXZlcnMgam9pbmluZyB3aGlsZSB0aGUgc3Ry
ZWFtIGlzDQogICBwYXVzZWQgdG8gcXVpY2tseSBrbm93IHRoYXQgdGhlcmUgaXMgYSBwYXVzZWQg
c3RyZWFtLCB3aGF0IHRoZSBsYXN0DQogICBzZW50IGV4dGVuZGVkIFJUUCBzZXF1ZW5jZSBudW1i
ZXIgd2FzLCBhbmQgd2hhdCB0aGUgbmV4dCBhdmFpbGFibGUNCiAgIFBhdXNlSUQgaXMgdG8gYmUg
YWJsZSB0byBjb25zdHJ1Y3QgdmFsaWQgUEFVU0UgYW5kIFJFU1VNRSByZXF1ZXN0cyBhdA0KICAg
YSBsYXRlciBzdGFnZS4NCg0KICAgV2hlbiB0aGUgUlRQIHN0cmVhbSBzZW5kZXIgbGVhcm5zIHRo
YXQgYSBuZXcgRW5kIFBvaW50IGhhcyBqb2luZWQgdGhlDQogICBSVFAgc2Vzc2lvbiwgZm9yIGV4
YW1wbGUgYnkgYSBuZXcgU1NSQyBhbmQgYSBDTkFNRSB0aGF0IHdhcyBub3QNCiAgIHByZXZpb3Vz
bHkgc2VlbiBpbiB0aGUgUlRQIHNlc3Npb24sIGl0IHNob3VsZCBzZW5kIFBBVVNFRCBpbmRpY2F0
aW9ucw0KICAgZm9yIGFsbCBpdHMgcGF1c2VkIHN0cmVhbXMgYXQgaXRzIGVhcmxpZXN0IG9wcG9y
dHVuaXR5LiAgSXQgc2hvdWxkIGluDQogICBhZGRpdGlvbiBjb250aW51ZSB0byBpbmNsdWRlIFBB
VVNFRCBpbmRpY2F0aW9ucyBpbiBhdCBsZWFzdCB0d28NCiAgIHJlZ3VsYXIgUlRDUCByZXBvcnRz
Lg0KDQo1LjQuICBSZXF1ZXN0aW5nIHRvIFJlc3VtZQ0KDQogICBBbiBSVFAgc3RyZWFtIHJlY2Vp
dmVyIGNhbiByZXF1ZXN0IHRvIHJlc3VtZSBhIHN0cmVhbSB3aXRoIGEgUkVTVU1FDQogICByZXF1
ZXN0IGF0IGFueSB0aW1lLCBzdWJqZWN0IHRvIEFWUEYgdGltaW5nIHJ1bGVzLiAgSWYgdGhlIHN0
cmVhbSB3YXMNCiAgIHBhdXNlZCB3aXRoIFRNTUJSIDAsIHJlc3VtaW5nIHRoZSBzdHJlYW0gaXMg
bWFkZSB3aXRoIFRNTUJSDQogICBjb250YWluaW5nIGEgYml0cmF0ZSB2YWx1ZSBsYXJnZXIgdGhh
biAwLiAgVGhlIGJpdHJhdGUgdmFsdWUgdXNlZA0KICAgd2hlbiByZXN1bWluZyBhZnRlciBhIFBB
VVNFIHdpdGggVE1NQlIgMCBpcyBlaXRoZXIgYWNjb3JkaW5nIHRvIGtub3duDQogICBsaW1pdGF0
aW9ucywgb3IgdGhlIGNvbmZpZ3VyZWQgbWF4aW11bSBmb3IgdGhlIHN0cmVhbSBvciBzZXNzaW9u
Lg0KICAgV2hhdCBpcyBzYWlkIG9uIFJFU1VNRSBpbiB0aGUgcmVzdCBvZiB0aGlzIHBhcmFncmFw
aCBhcHBseSBhbHNvIHRvDQogICB0aGUgdXNlIG9mIFRNTUJSIHdpdGggYSBiaXRyYXRlIHZhbHVl
IGxhcmdlciB0aGFuIDAsIGV4Y2VwdCBmb3INCiAgIFJFU1VNRSBtZXNzYWdlIHBhcmFtZXRlcnMu
DQoNCiAgIFRoZSBSVFAgc3RyZWFtIHJlY2VpdmVyIG11c3QgaW5jbHVkZSB0aGUgYXZhaWxhYmxl
IFBhdXNlSUQgaW4gdGhlDQogICBSRVNVTUUgcmVxdWVzdCBmb3IgaXQgdG8gYmUgZWZmZWN0aXZl
Lg0KDQogICBBIHBhdXNpbmcgUlRQIHN0cmVhbSBzZW5kZXIgdGhhdCByZWNlaXZlcyBhIFJFU1VN
RSBpbmNsdWRpbmcgdGhlDQogICBjb3JyZWN0IGF2YWlsYWJsZSBQYXVzZUlEIHJlc3VtZXMgdGhl
IHN0cmVhbSBhdCB0aGUgZWFybGllc3QNCiAgIG9wcG9ydHVuaXR5LiAgUmVjZWl2aW5nIFJFU1VN
RSByZXF1ZXN0cyBmb3IgYSBzdHJlYW0gdGhhdCBpcyBub3QNCiAgIHBhdXNlZCBkb2VzIG5vdCBy
ZXF1aXJlIGFueSBhY3Rpb24gYW5kIGNhbiBiZSBpZ25vcmVkLg0KDQoNCg0KDQpCdXJtYW4sIGV0
IGFsLiAgICAgICAgICAgRXhwaXJlcyBNYXJjaCAxOSwgMjAxNSAgICAgICAgICAgICAgICBbUGFn
ZSAxNl0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgICBSVFAgU3RyZWFtIFBhdXNlICAg
ICAgICAgICAgICBTZXB0ZW1iZXIgMjAxNA0KDQoNCiAgIFRoZXJlIG1heSBiZSBsb2NhbCBjb25z
aWRlcmF0aW9ucywgZm9yIGV4YW1wbGUgdGhhdCB0aGUgbWVkaWEgZGV2aWNlDQogICBpcyBub3Qg
cmVhZHksIG1ha2luZyBpdCB0ZW1wb3JhcmlseSBpbXBvc3NpYmxlIHRvIHJlc3VtZSB0aGUgc3Ry
ZWFtDQogICBhdCB0aGF0IHBvaW50IGluIHRpbWUsIGFuZCB0aGUgUlRQIHN0cmVhbSBzZW5kZXIg
TUFZIHRoZW4gcmVzcG9uZA0KICAgd2l0aCBhIFJFRlVTRUQgY29udGFpbmluZyB0aGUgc2FtZSBQ
YXVzZUlEIGFzIGluIHRoZSBSRVNVTUUuICBXaGVuDQogICByZWNlaXZpbmcgc3VjaCBSRUZVU0VE
IHdpdGggYSBQYXVzZUlEIGlkZW50aWNhbCB0byB0aGUgb25lIGluIHRoZQ0KICAgc2VudCBSRVNV
TUUsIFJUUCBzdHJlYW0gcmVjZWl2ZXJzIFNIT1VMRCB0aGVuIGF2b2lkIHNlbmRpbmcgZnVydGhl
cg0KICAgUkVTVU1FIHJlcXVlc3RzIGZvciBzb21lIHJlYXNvbmFibGUgYW1vdW50IG9mIHRpbWUs
IHRvIGFsbG93IHRoZQ0KICAgY29uZGl0aW9uIHRvIGNsZWFyLg0KDQogICBJZiB0aGUgUlRQIHN0
cmVhbSBzZW5kZXIgcmVjZWl2ZXMgc2V2ZXJhbCBpZGVudGljYWwgUkVTVU1FIGZvciBhbiBSVFAN
CiAgIHN0cmVhbSB0aGF0IHdhcyBhbHJlYWR5IGF0IGxlYXN0IG9uY2UgcmVzcG9uZGVkIHdpdGgg
UkVGVVNFRCBhbmQgdGhlDQogICBjb25kaXRpb24gY2F1c2luZyBSRUZVU0VEIHJlbWFpbnMsIHRo
b3NlIGFkZGl0aW9uYWwgUkVGVVNFRCBzaG91bGQgYmUNCiAgIHNlbnQgd2l0aCByZWd1bGFyIFJU
Q1AgdGltaW5nLiAgQSBzaW5nbGUgUkVGVVNFRCBjYW4gcmVzcG9uZCB0bw0KICAgc2V2ZXJhbCBp
ZGVudGljYWwgUkVTVU1FIHJlcXVlc3RzLg0KDQogICBBIHBhdXNpbmcgUlRQIHN0cmVhbSBzZW5k
ZXIgY2FuIGFwcGx5IGxvY2FsIGNvbnNpZGVyYXRpb25zIGFuZCBNQVkNCiAgIHJlc3VtZSBhIHBh
dXNlZCBSVFAgc3RyZWFtIGF0IGFueSB0aW1lLiAgSWYgVE1NQlIgMCB3YXMgdXNlZCB0byBwYXVz
ZQ0KICAgdGhlIFJUUCBzdHJlYW0sIGl0IGhvd2V2ZXIgTVVTVCBOT1QgYmUgcmVzdW1lZCBkdWUg
dG8gbG9jYWwNCiAgIGNvbnNpZGVyYXRpb25zLCB1bmxlc3MgdGhlIFJUUCBzdHJlYW0gaXMgcGF1
c2VkIG9ubHkgZHVlIHRvIGxvY2FsDQogICBjb25zaWRlcmF0aW9ucyAoU2VjdGlvbiA1LjMpIGFu
ZCB0aHVzIG5vIFJUUCBzdHJlYW0gcmVjZWl2ZXIgaGFzDQogICByZXF1ZXN0ZWQgdG8gcGF1c2Ug
dGhlIHN0cmVhbSB3aXRoIFRNTUJSIDAuDQoNCiAgIFdoZW4gcmVzdW1pbmcgYSBwYXVzZWQgc3Ry
ZWFtLCBlc3BlY2lhbGx5IGZvciBtZWRpYSB0aGF0IG1ha2VzIHVzZSBvZg0KICAgdGVtcG9yYWwg
cmVkdW5kYW5jeSBiZXR3ZWVuIHNhbXBsZXMgc3VjaCBhcyB2aWRlbywgdGhlIHRlbXBvcmFsDQog
ICBkZXBlbmRlbmN5IGJldHdlZW4gc2FtcGxlcyB0YWtlbiBiZWZvcmUgdGhlIHBhdXNlIGFuZCBh
dCB0aGUgdGltZQ0KICAgaW5zdGFudCB0aGUgc3RyZWFtIGlzIHJlc3VtZWQgbWF5IG5vdCBiZSBh
cHByb3ByaWF0ZSB0byB1c2UgaW4gdGhlDQogICBlbmNvZGluZy4gIFNob3VsZCBzdWNoIHRlbXBv
cmFsIGRlcGVuZGVuY3kgYmV0d2VlbiBiZWZvcmUgYW5kIGFmdGVyDQogICB0aGUgbWVkaWEgd2Fz
IHBhdXNlZCBiZSB1c2VkIGJ5IHRoZSBSVFAgc3RyZWFtIHNlbmRlciwgaXQgcmVxdWlyZXMNCiAg
IHRoZSBSVFAgc3RyZWFtIHJlY2VpdmVyIHRvIGhhdmUgc2F2ZWQgdGhlIHNhbXBsZSBmcm9tIGJl
Zm9yZSB0aGUNCiAgIHBhdXNlIGZvciBzdWNjZXNzZnVsIGNvbnRpbnVlZCBkZWNvZGluZyB3aGVu
IHJlc3VtaW5nLiAgVGhlIHVzZSBvZg0KICAgdGhpcyB0ZW1wb3JhbCBkZXBlbmRlbmN5IGlzIGxl
ZnQgdXAgdG8gdGhlIFJUUCBzdHJlYW0gc2VuZGVyLiAgSWYNCiAgIHRlbXBvcmFsIGRlcGVuZGVu
Y3kgaXMgbm90IHVzZWQgd2hlbiB0aGUgUlRQIHN0cmVhbSBpcyByZXN1bWVkLCB0aGUNCiAgIGZp
cnN0IGVuY29kZWQgc2FtcGxlIGFmdGVyIHRoZSBwYXVzZSB3aWxsIG5vdCBjb250YWluIGFueSB0
ZW1wb3JhbA0KICAgZGVwZW5kZW5jeSB0byBzYW1wbGVzIGJlZm9yZSB0aGUgcGF1c2UgKGZvciB2
aWRlbyBpdCBtYXkgYmUgYSBzby0NCiAgIGNhbGxlZCBpbnRyYSBwaWN0dXJlKS4gIElmIHRlbXBv
cmFsIGRlcGVuZGVuY3kgdG8gYmVmb3JlIHRoZSBwYXVzZSBpcw0KICAgdXNlZCBieSB0aGUgUlRQ
IHN0cmVhbSBzZW5kZXIgd2hlbiByZXN1bWluZywgYW5kIGlmIHRoZSBSVFAgc3RyZWFtDQogICBy
ZWNlaXZlciBkaWQgbm90IHNhdmUgYW55IHNhbXBsZSBmcm9tIGJlZm9yZSB0aGUgcGF1c2UsIHRo
ZSBSVFANCiAgIHN0cmVhbSByZWNlaXZlciBjYW4gdXNlIGEgRklSIHJlcXVlc3QgW1JGQzUxMDRd
IHRvIGV4cGxpY2l0bHkgYXNrIGZvcg0KICAgYSBzYW1wbGUgd2l0aG91dCB0ZW1wb3JhbCBkZXBl
bmRlbmN5IChmb3IgdmlkZW8gYSBzby1jYWxsZWQgaW50cmENCiAgIHBpY3R1cmUpLCBldmVuIGF0
IHRoZSBzYW1lIHRpbWUgYXMgc2VuZGluZyB0aGUgUkVTVU1FLg0KDQo1LjUuICBUTU1CUi9UTU1C
TiBDb25zaWRlcmF0aW9ucw0KDQogICBBcyBzdGF0ZWQsIFRNTUJSL1RNTUJOIG1heSBiZSB1c2Vk
IHRvIHByb3ZpZGUgcGF1c2UgYW5kIHJlc3VtZQ0KICAgZnVuY3Rpb25hbGl0eSBmb3IgdGhlIHBv
aW50LXRvLXBvaW50IGNhc2UuICBJZiB0aGUgdG9wb2xvZ3kgaXMgbm90DQogICBwb2ludC10by1w
b2ludCwgVE1NQlIvVE1NQk4gY2Fubm90IHNhZmVseSBiZSB1c2VkIGZvciBwYXVzZSBvcg0KICAg
cmVzdW1lLg0KDQoNCg0KDQpCdXJtYW4sIGV0IGFsLiAgICAgICAgICAgRXhwaXJlcyBNYXJjaCAx
OSwgMjAxNSAgICAgICAgICAgICAgICBbUGFnZSAxN10NCgwNCkludGVybmV0LURyYWZ0ICAgICAg
ICAgICAgICBSVFAgU3RyZWFtIFBhdXNlICAgICAgICAgICAgICBTZXB0ZW1iZXIgMjAxNA0KDQoN
CiAgIFRoaXMgaXMgYSBicmllZiBzdW1tYXJ5IG9mIHdoYXQgZnVuY3Rpb25hbGl0eSBpcyBwcm92
aWRlZCB3aGVuIHVzaW5nDQogICBUTU1CUi9UTU1CTjoNCg0KICAgVE1NQlIgMDogIENvcnJlc3Bv
bmRzIHRvIFBBVVNFLCB3aXRob3V0IHRoZSByZXF1aXJlbWVudCBmb3IgYW55IGhvbGQtDQogICAg
ICBvZmYgcGVyaW9kIHRvIHdhaXQgZm9yIFJFU1VNRSBiZWZvcmUgcGF1c2luZyB0aGUgc3RyZWFt
Lg0KDQogICBUTU1CUiA+MDogIENvcnJlc3BvbmRzIHRvIFJFU1VNRSB3aGVuIHRoZSBzdHJlYW0g
d2FzIHByZXZpb3VzbHkNCiAgICAgIHBhdXNlZCB3aXRoIFRNTUJSIDAuICBTaW5jZSB0aGVyZSBp
cyBvbmx5IGEgc2luZ2xlIFJUUCBzdHJlYW0NCiAgICAgIHJlY2VpdmVyLCB0aGVyZSBpcyBubyBu
ZWVkIGZvciB0aGUgUlRQIHN0cmVhbSBzZW5kZXIgdG8gZGVsYXkNCiAgICAgIHJlc3VtaW5nIHRo
ZSBzdHJlYW0gdW50aWwgYWZ0ZXIgc2VuZGluZyBUTU1CTiA+MCwgb3IgdG8gYXBwbHkgdGhlDQog
ICAgICBob2xkLW9mZiBwZXJpb2Qgc3BlY2lmaWVkIGluIFtSRkM1MTA0XSBiZWZvcmUgaW5jcmVh
c2luZyB0aGUNCiAgICAgIGJpdHJhdGUgZnJvbSB6ZXJvLg0KDQogICBUTU1CTiAwOiAgQ29ycmVz
cG9uZHMgdG8gUEFVU0VELiAgQWxzbyBjb3JyZXNwb25kcyB0byBhIFJFRlVTRUQNCiAgICAgIGlu
ZGljYXRpb24gd2hlbiBhIHN0cmVhbSBpcyByZXF1ZXN0ZWQgdG8gYmUgcmVzdW1lZCB3aXRoIFRN
TUJSID4wLg0KDQogICBUTU1CTiA+MDogIENhbm5vdCBiZSB1c2VkIGFzIFJFRlVTRUQgaW5kaWNh
dGlvbiB3aGVuIGEgc3RyZWFtIGlzDQogICAgICByZXF1ZXN0ZWQgdG8gYmUgcGF1c2VkIHdpdGgg
VE1NQlIgMCwgZm9yIHJlYXNvbnMgc3RhdGVkIGluDQogICAgICBTZWN0aW9uIDUuMi4NCg0KNi4g
IFBhcnRpY2lwYW50IFN0YXRlcw0KDQogICBUaGlzIGRvY3VtZW50IGludHJvZHVjZXMgdGhyZWUg
bmV3IHN0YXRlcyBmb3IgYSBzdHJlYW0gaW4gYW4gUlRQDQogICBzZW5kZXIsIGFjY29yZGluZyB0
byB0aGUgZmlndXJlIGFuZCBzdWItc2VjdGlvbnMgYmVsb3cuICBBbnkNCiAgIHJlZmVyZW5jZXMg
dG8gUEFVU0UsIFBBVVNFRCwgUkVTVU1FIGFuZCBSRUZVU0VEIGluIHRoaXMgc2VjdGlvbiBTSEFM
TA0KICAgYmUgdGFrZW4gdG8gYXBwbHkgdG8gdGhlIGV4dGVudCBwb3NzaWJsZSBhbHNvIHdoZW4g
VE1NQlIvVE1NQk4gYXJlDQogICB1c2VkIChTZWN0aW9uIDUuNSkgZm9yIHRoaXMgZnVuY3Rpb25h
bGl0eS4NCg0KICAgICAgICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLSsNCiAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICBSZWNlaXZl
ZCBSRVNVTUUgICAgICAgICAgICAgICAgICB8DQogICAgICAgICB2ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfA0KICAgICstLS0tLS0tLS0rIFJl
Y2VpdmVkIFBBVVNFICArLS0tLS0tLS0tKyBIb2xkLW9mZiBwZXJpb2QgKy0tLS0tLS0tKw0KICAg
IHwgUGxheWluZyB8LS0tLS0tLS0tLS0tLS0tLT58IFBhdXNpbmcgfC0tLS0tLS0tLS0tLS0tLS0+
fCBQYXVzZWQgfA0KICAgIHwgICAgICAgICB8PC0tLS0tLS0tLS0tLS0tLS18ICAgICAgICAgfCAg
ICAgICAgICAgICAgICAgfCAgICAgICAgfA0KICAgICstLS0tLS0tLS0rIFJlY2VpdmVkIFJFU1VN
RSArLS0tLS0tLS0tKyAgICAgICAgICAgICAgICAgKy0tLS0tLS0tKw0KICAgICAgXiAgICAgfCAg
ICAgICAgICAgICAgICAgICAgICAgIHwgUEFVU0UgZGVjaXNpb24gICAgICAgICAgIHwNCiAgICAg
IHwgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICB2ICAgICAgICAgICAgICAgICAgICAgICAg
ICB8DQogICAgICB8ICAgICB8ICBQQVVTRSBkZWNpc2lvbiAgICstLS0tLS0tLS0rICAgIFBBVVNF
IGRlY2lzaW9uICAgfA0KICAgICAgfCAgICAgKy0tLS0tLS0tLS0tLS0tLS0tLT58IExvY2FsICAg
fDwtLS0tLS0tLS0tLS0tLS0tLS0tLSsNCiAgICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
fCBQYXVzZWQgIHwNCiAgICAgICAgICAgICAgUkVTVU1FIGRlY2lzaW9uICAgKy0tLS0tLS0tLSsN
Cg0KDQogICAgICAgICAgICAgICAgICAgICAgICBGaWd1cmUgNDogUlRQIFBhdXNlIFN0YXRlcw0K
DQoNCg0KDQoNCg0KDQpCdXJtYW4sIGV0IGFsLiAgICAgICAgICAgRXhwaXJlcyBNYXJjaCAxOSwg
MjAxNSAgICAgICAgICAgICAgICBbUGFnZSAxOF0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAg
ICAgICBSVFAgU3RyZWFtIFBhdXNlICAgICAgICAgICAgICBTZXB0ZW1iZXIgMjAxNA0KDQoNCjYu
MS4gIFBsYXlpbmcgU3RhdGUNCg0KICAgVGhpcyBzdGF0ZSBpcyBub3QgbmV3LCBidXQgaXMgdGhl
IG5vcm1hbCBtZWRpYSBzZW5kaW5nIHN0YXRlIGZyb20NCiAgIFtSRkMzNTUwXS4gIFdoZW4gZW50
ZXJpbmcgdGhlIHN0YXRlLCB0aGUgUGF1c2VJRCBNVVNUIGJlIGluY3JlbWVudGVkDQogICBieSBv
bmUgaW4gbW9kdWxvIGFyaXRobWV0aWMuICBUaGUgUlRQIHNlcXVlbmNlIG51bWJlciBmb3IgdGhl
IGZpcnN0DQogICBwYWNrZXQgc2VudCBhZnRlciBhIHBhdXNlIFNIQUxMIGJlIGluY3JlbWVudGVk
IGJ5IG9uZSBjb21wYXJlZCB0byB0aGUNCiAgIGhpZ2hlc3QgUlRQIHNlcXVlbmNlIG51bWJlciBz
ZW50IGJlZm9yZSB0aGUgcGF1c2UuICBUaGUgZmlyc3QgUlRQDQogICBUaW1lIFN0YW1wIGZvciB0
aGUgZmlyc3QgcGFja2V0IHNlbnQgYWZ0ZXIgYSBwYXVzZSBTSE9VTEQgYmUgc2V0DQogICBhY2Nv
cmRpbmcgdG8gY2FwdHVyZSB0aW1lcyBhdCB0aGUgc291cmNlLg0KDQo2LjIuICBQYXVzaW5nIFN0
YXRlDQoNCiAgIEluIHRoaXMgc3RhdGUsIHRoZSBSVFAgc3RyZWFtIHNlbmRlciBoYXMgcmVjZWl2
ZWQgYXQgbGVhc3Qgb25lIFBBVVNFDQogICBtZXNzYWdlIGZvciB0aGUgc3RyZWFtIGluIHF1ZXN0
aW9uLiAgVGhlIFJUUCBzdHJlYW0gc2VuZGVyIFNIQUxMIHdhaXQNCiAgIGR1cmluZyBhIGhvbGQt
b2ZmIHBlcmlvZCBmb3IgdGhlIHBvc3NpYmxlIHJlY2VwdGlvbiBvZiBSRVNVTUUNCiAgIG1lc3Nh
Z2VzIGZvciB0aGUgUlRQIHN0cmVhbSBiZWluZyBwYXVzZWQgYmVmb3JlIGFjdHVhbGx5IHBhdXNp
bmcgUlRQDQogICBzdHJlYW0gdHJhbnNtaXNzaW9uLiAgVGhlIHBlcmlvZCB0byB3YWl0IFNIQUxM
IGJlIGxvbmcgZW5vdWdoIHRvDQogICBhbGxvdyBhbm90aGVyIFJUUCBzdHJlYW0gcmVjZWl2ZXIg
dG8gcmVzcG9uZCB0byB0aGUgUEFVU0Ugd2l0aCBhDQogICBSRVNVTUUsIGlmIGl0IGRldGVybWlu
ZXMgdGhhdCBpdCB3b3VsZCBub3QgbGlrZSB0byBzZWUgdGhlIHN0cmVhbQ0KICAgcGF1c2VkLiAg
VGhpcyBkZWxheSBwZXJpb2QgKGRlbm90ZWQgYnkgJ0hvbGQtb2ZmIHBlcmlvZCcgaW4gdGhlDQog
ICBmaWd1cmUpIGlzIGRldGVybWluZWQgYnkgdGhlIGZvcm11bGE6DQoNCiAgICAgIDIgKiBSVFQg
KyBUX2RpdGhlcl9tYXgsDQoNCiAgIHdoZXJlIFJUVCBpcyB0aGUgbG9uZ2VzdCByb3VuZCB0cmlw
IGtub3duIHRvIHRoZSBSVFAgc3RyZWFtIHNlbmRlcg0KICAgYW5kIFRfZGl0aGVyX21heCBpcyBk
ZWZpbmVkIGluIHNlY3Rpb24gMy40IG9mIFtSRkM0NTg1XS4gIFRoZSBob2xkLQ0KICAgb2ZmIHBl
cmlvZCBNQVkgYmUgc2V0IHRvIDAgYnkgc29tZSBzaWduYWxpbmcgKFNlY3Rpb24gOSkgbWVhbnMg
d2hlbg0KICAgaXQgY2FuIGJlIGRldGVybWluZWQgdGhhdCB0aGVyZSBpcyBvbmx5IGEgc2luZ2xl
IHJlY2VpdmVyLCBmb3INCiAgIGV4YW1wbGUgaW4gcG9pbnQtdG8tcG9pbnQgb3Igc29tZSB1bmlj
YXN0IHNpdHVhdGlvbnMuDQoNCiAgIElmIHRoZSBSVFAgc3RyZWFtIHNlbmRlciBoYXMgc2V0IHRo
ZSBob2xkLW9mZiBwZXJpb2QgdG8gMCBhbmQNCiAgIHJlY2VpdmVzIGluZm9ybWF0aW9uIHRoYXQg
aXQgd2FzIGFuIGluY29ycmVjdCBkZWNpc2lvbiBhbmQgdGhhdCB0aGVyZQ0KICAgYXJlIGluIGZh
Y3Qgc2V2ZXJhbCByZWNlaXZlcnMgb2YgdGhlIHN0cmVhbSwgZm9yIGV4YW1wbGUgYnkgUlRDUCBS
UiwNCiAgIGl0IE1VU1QgY2hhbmdlIHRoZSBob2xkLW9mZiB0byBpbnN0ZWFkIGJlIGJhc2VkIG9u
IHRoZSBhYm92ZSBmb3JtdWxhLg0KDQo2LjMuICBQYXVzZWQgU3RhdGUNCg0KICAgQW4gUlRQIHN0
cmVhbSBpcyBpbiBwYXVzZWQgc3RhdGUgd2hlbiB0aGUgc2VuZGVyIHBhdXNlcyBpdHMNCiAgIHRy
YW5zbWlzc2lvbiBhZnRlciByZWNlaXZpbmcgYXQgbGVhc3Qgb25lIFBBVVNFIG1lc3NhZ2UgYW5k
IHRoZSBob2xkLQ0KICAgb2ZmIHBlcmlvZCBoYXMgcGFzc2VkIHdpdGhvdXQgcmVjZWl2aW5nIGFu
eSBSRVNVTUUgbWVzc2FnZSBmb3IgdGhhdA0KICAgc3RyZWFtLg0KDQogICBXaGVuIGVudGVyaW5n
IHRoZSBzdGF0ZSwgdGhlIFJUUCBzdHJlYW0gc2VuZGVyIFNIQUxMIHNlbmQgYSBQQVVTRUQNCiAg
IGluZGljYXRpb24gdG8gYWxsIGtub3duIFJUUCBzdHJlYW0gcmVjZWl2ZXJzLCBhbmQgU0hBTEwg
YWxzbyByZXBlYXQNCiAgIFBBVVNFRCBpbiB0aGUgbmV4dCB0d28gcmVndWxhciBSVENQIHJlcG9y
dHMuDQoNCiAgIFBhdXNpbmcgYW4gUlRQIHN0cmVhbSBNVVNUIE5PVCBhZmZlY3QgdGhlIHNlbmRp
bmcgb2YgUlRQIGtlZXBhbGl2ZQ0KICAgW1JGQzYyNjNdW1JGQzUyNDVdIGFwcGxpY2FibGUgdG8g
dGhhdCBSVFAgc3RyZWFtLg0KDQoNCg0KQnVybWFuLCBldCBhbC4gICAgICAgICAgIEV4cGlyZXMg
TWFyY2ggMTksIDIwMTUgICAgICAgICAgICAgICAgW1BhZ2UgMTldDQoMDQpJbnRlcm5ldC1EcmFm
dCAgICAgICAgICAgICAgUlRQIFN0cmVhbSBQYXVzZSAgICAgICAgICAgICAgU2VwdGVtYmVyIDIw
MTQNCg0KDQogICBGb2xsb3dpbmcgc3ViLXNlY3Rpb25zIGRpc2N1c3NlcyBzb21lIHBvdGVudGlh
bCBpc3N1ZXMgd2hlbiBhbiBSVFANCiAgIHNlbmRlciBnb2VzIGludG8gcGF1c2VkIHN0YXRlLiAg
VGhlc2UgY29uZGl0aW9ucyBhcmUgYWxzbyB2YWxpZCBpZiBhbg0KICAgUlRQIFRyYW5zbGF0b3Ig
aXMgdXNlZCBpbiB0aGUgY29tbXVuaWNhdGlvbi4gIFdoZW4gYW4gUlRQIE1peGVyDQogICBpbXBs
ZW1lbnRpbmcgdGhpcyBzcGVjaWZpY2F0aW9uIGlzIGludm9sdmVkIGJldHdlZW4gdGhlIHBhcnRp
Y2lwYW50cw0KICAgKHdoaWNoIGZvcndhcmRzIHRoZSBzdHJlYW0gYnkgbWFya2luZyB0aGUgUlRQ
IGRhdGEgd2l0aCBpdHMgb3duDQogICBTU1JDKSwgaXQgU0hBTEwgYmUgYSByZXNwb25zaWJpbGl0
eSBvZiB0aGUgTWl4ZXIgdG8gY29udHJvbCBzZW5kaW5nDQogICBQQVVTRSBhbmQgUkVTVU1FIHJl
cXVlc3RzIHRvIHRoZSBzZW5kZXIuICBUaGUgYmVsb3cgY29uZGl0aW9ucyBhbHNvDQogICBhcHBs
eSB0byB0aGUgc2VuZGVyIGFuZCByZWNlaXZlciBwYXJ0cyBvZiB0aGUgUlRQIE1peGVyLA0KICAg
cmVzcGVjdGl2ZWx5Lg0KDQo2LjMuMS4gIFJUQ1AgQllFIE1lc3NhZ2UNCg0KICAgV2hlbiBhIHBh
cnRpY2lwYW50IGxlYXZlcyB0aGUgUlRQIHNlc3Npb24sIGl0IHNlbmRzIGFuIFJUQ1AgQllFDQog
ICBtZXNzYWdlLiAgSW4gYWRkaXRpb24gdG8gdGhlIHNlbWFudGljcyBkZXNjcmliZWQgaW4gc2Vj
dGlvbiA2LjMuNCBhbmQNCiAgIDYuMy43IG9mIFJUUCBbUkZDMzU1MF0sIGZvbGxvd2luZyB0d28g
Y29uZGl0aW9ucyBNVVNUIGFsc28gYmUNCiAgIGNvbnNpZGVyZWQgd2hlbiBhbiBSVFAgcGFydGlj
aXBhbnQgc2VuZHMgYW4gUlRDUCBCWUUgbWVzc2FnZSwNCg0KICAgbyAgSWYgYSBwYXVzZWQgc2Vu
ZGVyIHNlbmRzIGFuIFJUQ1AgQllFIG1lc3NhZ2UsIHJlY2VpdmVycyBvYnNlcnZpbmcNCiAgICAg
IHRoaXMgU0hBTEwgTk9UIHNlbmQgZnVydGhlciBQQVVTRSBvciBSRVNVTUUgcmVxdWVzdHMgdG8g
aXQuDQoNCiAgIG8gIFNpbmNlIGEgc2VuZGVyIHBhdXNlcyBpdHMgdHJhbnNtaXNzaW9uIG9uIHJl
Y2VpdmluZyB0aGUgUEFVU0UNCiAgICAgIHJlcXVlc3RzIGZyb20gYW55IHJlY2VpdmVyIGluIGEg
c2Vzc2lvbiwgdGhlIHNlbmRlciBNVVNUIGtlZXANCiAgICAgIHJlY29yZCBvZiB3aGljaCByZWNl
aXZlciB0aGF0IGNhdXNlZCB0aGUgUlRQIHN0cmVhbSB0byBwYXVzZS4gIElmDQogICAgICB0aGF0
IHJlY2VpdmVyIHNlbmRzIGFuIFJUQ1AgQllFIG1lc3NhZ2Ugb2JzZXJ2ZWQgYnkgdGhlIHNlbmRl
ciwNCiAgICAgIHRoZSBzZW5kZXIgU0hBTEwgcmVzdW1lIHRoZSBSVFAgc3RyZWFtLg0KDQo2LjMu
Mi4gIFNTUkMgVGltZS1vdXQNCg0KICAgU2VjdGlvbiA2LjMuNSBpbiBSVFAgW1JGQzM1NTBdIGRl
c2NyaWJlcyB0aGUgU1NSQyB0aW1lLW91dCBvZiBhbiBSVFANCiAgIHBhcnRpY2lwYW50LiAgRXZl
cnkgUlRQIHBhcnRpY2lwYW50IG1haW50YWlucyBhIHNlbmRlciBhbmQgcmVjZWl2ZXINCiAgIGxp
c3QgaW4gYSBzZXNzaW9uLiAgSWYgYSBwYXJ0aWNpcGFudCBkb2VzIG5vdCBnZXQgYW55IFJUUCBv
ciBSVENQDQogICBwYWNrZXRzIGZyb20gc29tZSBvdGhlciBwYXJ0aWNpcGFudCBmb3IgdGhlIGxh
c3QgZml2ZSBSVENQIHJlcG9ydGluZw0KICAgaW50ZXJ2YWxzIGl0IHJlbW92ZXMgdGhhdCBwYXJ0
aWNpcGFudCBmcm9tIHRoZSByZWNlaXZlciBsaXN0LiAgQW55DQogICBzdHJlYW1zIHRoYXQgd2Vy
ZSBwYXVzZWQgYnkgdGhhdCByZW1vdmVkIHBhcnRpY2lwYW50IFNIQUxMIGJlDQogICByZXN1bWVk
Lg0KDQo2LjQuICBMb2NhbCBQYXVzZWQgU3RhdGUNCg0KICAgVGhpcyBzdGF0ZSBjYW4gYmUgZW50
ZXJlZCBhdCBhbnkgdGltZSwgYmFzZWQgb24gbG9jYWwgZGVjaXNpb24gZnJvbQ0KICAgdGhlIFJU
UCBzdHJlYW0gc2VuZGVyLiAgQXMgZm9yIFBhdXNlZCBTdGF0ZSAoU2VjdGlvbiA2LjMpLCB0aGUg
UlRQDQogICBzdHJlYW0gc2VuZGVyIFNIQUxMIHNlbmQgYSBQQVVTRUQgaW5kaWNhdGlvbiB0byBh
bGwga25vd24gUlRQIHN0cmVhbQ0KICAgcmVjZWl2ZXJzLCB3aGVuIGVudGVyaW5nIHRoZSBzdGF0
ZSwgYW5kIHJlcGVhdCBpdCBpbiB0aGUgbmV4dCB0d28NCiAgIHJlZ3VsYXIgUlRDUCByZXBvcnRz
Lg0KDQogICBXaGVuIGxlYXZpbmcgdGhlIHN0YXRlLCB0aGUgc3RyZWFtIHN0YXRlIFNIQUxMIGJl
Y29tZSBQbGF5aW5nLA0KICAgcmVnYXJkbGVzcyB3aGV0aGVyIG9yIG5vdCB0aGVyZSB3ZXJlIGFu
eSBSVFAgc3RyZWFtIHJlY2VpdmVycyB0aGF0DQogICBzZW50IFBBVVNFIGZvciB0aGF0IHN0cmVh
bSwgZWZmZWN0aXZlbHkgY2xlYXJpbmcgdGhlIFJUUCBzdHJlYW0NCiAgIHNlbmRlcidzIG1lbW9y
eSBmb3IgdGhhdCBzdHJlYW0uDQoNCg0KDQpCdXJtYW4sIGV0IGFsLiAgICAgICAgICAgRXhwaXJl
cyBNYXJjaCAxOSwgMjAxNSAgICAgICAgICAgICAgICBbUGFnZSAyMF0NCgwNCkludGVybmV0LURy
YWZ0ICAgICAgICAgICAgICBSVFAgU3RyZWFtIFBhdXNlICAgICAgICAgICAgICBTZXB0ZW1iZXIg
MjAxNA0KDQoNCjcuICBNZXNzYWdlIEZvcm1hdA0KDQogICBTZWN0aW9uIDYgb2YgQVZQRiBbUkZD
NDU4NV0gZGVmaW5lcyB0aHJlZSB0eXBlcyBvZiBsb3ctZGVsYXkgUlRDUA0KICAgZmVlZGJhY2sg
bWVzc2FnZXMsIGkuZS4gIFRyYW5zcG9ydCBsYXllciwgUGF5bG9hZC1zcGVjaWZpYywgYW5kDQog
ICBBcHBsaWNhdGlvbiBsYXllciBmZWVkYmFjayBtZXNzYWdlcy4gIFRoaXMgZG9jdW1lbnQgZGVm
aW5lcyBhIG5ldw0KICAgVHJhbnNwb3J0IGxheWVyIGZlZWRiYWNrIG1lc3NhZ2UsIHRoaXMgbWVz
c2FnZSBpcyBlaXRoZXIgYSBQQVVTRQ0KICAgcmVxdWVzdCwgYSBSRVNVTUUgcmVxdWVzdCwgb3Ig
b25lIG9mIGZvdXIgZGlmZmVyZW50IHR5cGVzIG9mDQogICBhY2tub3dsZWRnbWVudHMgaW4gcmVz
cG9uc2UgdG8gZWl0aGVyIFBBVVNFIG9yIFJFU1VNRSByZXF1ZXN0cy4NCg0KICAgVGhlIFRyYW5z
cG9ydCBsYXllciBmZWVkYmFjayBtZXNzYWdlcyBhcmUgaWRlbnRpZmllZCBieSBoYXZpbmcgdGhl
DQogICBSVENQIHBheWxvYWQgdHlwZSBiZSBSVFBGQiAoMjA1KSBhcyBkZWZpbmVkIGJ5IEFWUEYg
W1JGQzQ1ODVdLiAgVGhlDQogICBQQVVTRSBhbmQgUkVTVU1FIG1lc3NhZ2VzIGFyZSBpZGVudGlm
aWVkIGJ5IEZlZWRiYWNrIE1lc3NhZ2UgVHlwZQ0KICAgKEZNVCkgdmFsdWUgaW4gY29tbW9uIHBh
Y2tldCBoZWFkZXIgZm9yIGZlZWRiYWNrIG1lc3NhZ2UgZGVmaW5lZCBpbg0KICAgc2VjdGlvbiA2
LjEgb2YgQVZQRiBbUkZDNDU4NV0uICBUaGUgUEFVU0UgYW5kIFJFU1VNRSB0cmFuc3BvcnQNCiAg
IGZlZWRiYWNrIG1lc3NhZ2UgaXMgaWRlbnRpZmllZCBieSB0aGUgRk1UIHZhbHVlID0gVEJBMS4N
Cg0KICAgVGhlIENvbW1vbiBQYWNrZXQgRm9ybWF0IGZvciBGZWVkYmFjayBNZXNzYWdlcyBkZWZp
bmVkIGJ5IEFWUEYNCiAgIFtSRkM0NTg1XSBpczoNCg0KICAgICAgMCAgICAgICAgICAgICAgICAg
ICAxICAgICAgICAgICAgICAgICAgIDIgICAgICAgICAgICAgICAgICAgMw0KICAgICAgMCAxIDIg
MyA0IDUgNiA3IDggOSAwIDEgMiAzIDQgNSA2IDcgOCA5IDAgMSAyIDMgNCA1IDYgNyA4IDkgMCAx
DQogICAgICstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSst
Ky0rLSstKy0rLSstKy0rDQogICAgIHxWPTJ8UHwgICBGTVQgICB8ICAgICAgIFBUICAgICAgfCAg
ICAgICAgICBMZW5ndGggICAgICAgICAgICAgICB8DQogICAgICstKy0rLSstKy0rLSstKy0rLSst
Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rDQogICAgIHwgICAg
ICAgICAgICAgICAgICBTU1JDIG9mIHBhY2tldCBzZW5kZXIgICAgICAgICAgICAgICAgICAgICAg
ICB8DQogICAgICstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0r
LSstKy0rLSstKy0rLSstKy0rDQogICAgIHwgICAgICAgICAgICAgICAgICBTU1JDIG9mIG1lZGlh
IHNvdXJjZSAgICAgICAgICAgICAgICAgICAgICAgICB8DQogICAgICstKy0rLSstKy0rLSstKy0r
LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rDQogICAgIDog
ICAgICAgICAgICBGZWVkYmFjayBDb250cm9sIEluZm9ybWF0aW9uIChGQ0kpICAgICAgICAgICAg
ICAgICA6DQogICAgIDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICA6DQoNCiAgIEZvciB0aGUgUEFVU0UgYW5kIFJFU1VNRSBtZXNz
YWdlcywgdGhlIGZvbGxvd2luZyBpbnRlcnByZXRhdGlvbiBvZg0KICAgdGhlIHBhY2tldCBmaWVs
ZHMgd2lsbCBiZToNCg0KICAgRk1UOiAgVGhlIEZNVCB2YWx1ZSBpZGVudGlmeWluZyB0aGUgUEFV
U0UgYW5kIFJFU1VNRSBtZXNzYWdlOiBUQkExDQoNCiAgIFBUOiAgUGF5bG9hZCBUeXBlID0gMjA1
IChSVFBGQikNCg0KICAgTGVuZ3RoOiAgQXMgZGVmaW5lZCBieSBBVlBGLCBpLmUuIHRoZSBsZW5n
dGggb2YgdGhpcyBwYWNrZXQgaW4gMzItYml0DQogICAgICB3b3JkcyBtaW51cyBvbmUsIGluY2x1
ZGluZyB0aGUgaGVhZGVyIGFuZCBhbnkgcGFkZGluZy4NCg0KICAgU1NSQyBvZiBwYWNrZXQgc2Vu
ZGVyOiAgVGhlIFNTUkMgb2YgdGhlIFJUUCBzZXNzaW9uIHBhcnRpY2lwYW50DQogICAgICBzZW5k
aW5nIHRoZSBtZXNzYWdlcyBpbiB0aGUgRkNJLiAgTm90ZSwgZm9yIEVuZCBQb2ludHMgdGhhdCBo
YXZlDQogICAgICBtdWx0aXBsZSBTU1JDcyBpbiBhbiBSVFAgc2Vzc2lvbiwgYW55IG9mIGl0cyBT
U1JDcyBNQVkgYmUgdXNlZCB0bw0KICAgICAgc2VuZCBhbnkgb2YgdGhlIHBhdXNlIG1lc3NhZ2Ug
dHlwZXMuDQoNCiAgIFNTUkMgb2YgbWVkaWEgc291cmNlOiAgTm90IHVzZWQsIFNIQUxMIGJlIHNl
dCB0byAwLiAgVGhlIEZDSQ0KICAgICAgaWRlbnRpZmllcyB0aGUgU1NSQyB0aGUgbWVzc2FnZSBp
cyB0YXJnZXRlZCBmb3IuDQoNCg0KDQpCdXJtYW4sIGV0IGFsLiAgICAgICAgICAgRXhwaXJlcyBN
YXJjaCAxOSwgMjAxNSAgICAgICAgICAgICAgICBbUGFnZSAyMV0NCgwNCkludGVybmV0LURyYWZ0
ICAgICAgICAgICAgICBSVFAgU3RyZWFtIFBhdXNlICAgICAgICAgICAgICBTZXB0ZW1iZXIgMjAx
NA0KDQoNCiAgIFRoZSBGZWVkYmFjayBDb250cm9sIEluZm9ybWF0aW9uIChGQ0kpIGZpZWxkIGNv
bnNpc3Qgb2Ygb25lIG9yIG1vcmUNCiAgIFBBVVNFLCBSRVNVTUUsIFBBVVNFRCwgUkVGVVNFRCwg
b3IgYW55IGZ1dHVyZSBleHRlbnNpb24uICBUaGVzZQ0KICAgbWVzc2FnZXMgaGF2ZSB0aGUgZm9s
bG93aW5nIEZDSSBmb3JtYXQ6DQoNCiAgICAgMCAgICAgICAgICAgICAgICAgICAxICAgICAgICAg
ICAgICAgICAgIDIgICAgICAgICAgICAgICAgICAgMw0KICAgICAgMCAxIDIgMyA0IDUgNiA3IDgg
OSAwIDEgMiAzIDQgNSA2IDcgOCA5IDAgMSAyIDMgNCA1IDYgNyA4IDkgMCAxDQogICAgICstKy0r
LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSst
Ky0rDQogICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICBUYXJnZXQgU1NSQyAgICAgICAg
ICAgICAgICAgICAgICAgICB8DQogICAgICstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSst
Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rDQogICAgIHwgVHlwZSAgfCAgUmVzICB8
IFBhcmFtZXRlciBMZW4gfCAgICAgICAgICAgUGF1c2VJRCAgICAgICAgICAgICB8DQogICAgICst
Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0r
LSstKy0rDQogICAgIDogICAgICAgICAgICAgICAgICAgICAgICAgVHlwZSBTcGVjaWZpYyAgICAg
ICAgICAgICAgICAgICAgICAgICA6DQogICAgICstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0r
LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rDQoNCg0KICAgICAgIEZpZ3VyZSA1
OiBTeW50YXggb2YgRkNJIEVudHJ5IGluIHRoZSBQQVVTRSBhbmQgUkVTVU1FIG1lc3NhZ2UNCg0K
ICAgVGhlIEZDSSBmaWVsZHMgaGF2ZSB0aGUgZm9sbG93aW5nIGRlZmluaXRpb25zOg0KDQogICBU
YXJnZXQgU1NSQyAoMzIgYml0cyk6ICBGb3IgYSBQQVVTRSBhbmQgUkVTVU1FIG1lc3NhZ2VzLCB0
aGlzIHZhbHVlDQogICAgICBpcyB0aGUgU1NSQyB0aGF0IHRoZSByZXF1ZXN0IGlzIGludGVuZGVk
IGZvci4gIEZvciBQQVVTRUQsIGl0IE1VU1QNCiAgICAgIGJlIHRoZSBTU1JDIGJlaW5nIHBhdXNl
ZC4gIElmIHBhdXNpbmcgaXMgdGhlIHJlc3VsdCBvZiBhIFBBVVNFDQogICAgICByZXF1ZXN0LCB0
aGUgdmFsdWUgaW4gUEFVU0VEIGlzIGVmZmVjdGl2ZWx5IHRoZSBzYW1lIGFzIFRhcmdldA0KICAg
ICAgU1NSQyBpbiBhIHJlbGF0ZWQgUEFVU0UgcmVxdWVzdC4gIEZvciBSRUZVU0VELCBpdCBNVVNU
IGJlIHRoZQ0KICAgICAgVGFyZ2V0IFNTUkMgb2YgdGhlIFBBVVNFIG9yIFJFU1VNRSByZXF1ZXN0
IHRoYXQgY2Fubm90IGNoYW5nZQ0KICAgICAgc3RhdGUuICBBIENTUkMgTVVTVCBOT1QgYmUgdXNl
ZCBhcyBhIHRhcmdldCBhcyB0aGUgaW50ZXJwcmV0YXRpb24NCiAgICAgIG9mIHN1Y2ggYSByZXF1
ZXN0IGlzIHVuY2xlYXIuDQoNCiAgIFR5cGUgKDQgYml0cyk6ICBUaGUgcGF1c2UgZmVlZGJhY2sg
dHlwZS4gIFRoZSB2YWx1ZXMgZGVmaW5lZCBpbiB0aGlzDQogICAgICBzcGVjaWZpY2F0aW9uIGFy
ZSBhcyBmb2xsb3dzLA0KDQogICAgICAwOiBQQVVTRSByZXF1ZXN0IG1lc3NhZ2UNCg0KICAgICAg
MTogUkVTVU1FIHJlcXVlc3QgbWVzc2FnZQ0KDQogICAgICAyOiBQQVVTRUQgaW5kaWNhdGlvbiBt
ZXNzYWdlDQoNCiAgICAgIDM6IFJFRlVTRUQgaW5kaWNhdGlvbiBtZXNzYWdlDQoNCiAgICAgIDQt
MTU6ICBSZXNlcnZlZCBmb3IgZnV0dXJlIHVzZQ0KDQogICBSZXM6ICg0IGJpdHMpOiAgVHlwZSBz
cGVjaWZpYyByZXNlcnZlZC4gIFNIQUxMIGJlIGlnbm9yZWQgYnkNCiAgICAgIHJlY2VpdmVycyBp
bXBsZW1lbnRpbmcgdGhpcyBzcGVjaWZpY2F0aW9uIGFuZCBNVVNUIGJlIHNldCB0byAwIGJ5DQog
ICAgICBzZW5kZXJzIGltcGxlbWVudGluZyB0aGlzIHNwZWNpZmljYXRpb24uDQoNCiAgIFBhcmFt
ZXRlciBMZW46ICg4IGJpdHMpOiAgTGVuZ3RoIG9mIHRoZSBUeXBlIFNwZWNpZmljIGZpZWxkIGlu
IDMyLWJpdA0KICAgICAgd29yZHMuICBNQVkgYmUgMC4NCg0KDQoNCg0KQnVybWFuLCBldCBhbC4g
ICAgICAgICAgIEV4cGlyZXMgTWFyY2ggMTksIDIwMTUgICAgICAgICAgICAgICAgW1BhZ2UgMjJd
DQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICAgUlRQIFN0cmVhbSBQYXVzZSAgICAgICAg
ICAgICAgU2VwdGVtYmVyIDIwMTQNCg0KDQogICBQYXVzZUlEICgxNiBiaXRzKTogIE1lc3NhZ2Ug
c2VxdWVuY2UgaWRlbnRpZmljYXRpb24uICBTSEFMTCBiZQ0KICAgICAgaW5jcmVtZW50ZWQgYnkg
b25lIG1vZHVsbyAyXjE2IGZvciBlYWNoIG5ldyBQQVVTRSBtZXNzYWdlLCB1bmxlc3MNCiAgICAg
IHRoZSBtZXNzYWdlIGlzIHJlLXRyYW5zbWl0dGVkLiAgVGhlIGluaXRpYWwgdmFsdWUgU0hPVUxE
IGJlIDAuDQogICAgICBUaGUgUGF1c2VJRCBpcyBzY29wZWQgYnkgdGhlIFRhcmdldCBTU1JDLCBt
ZWFuaW5nIHRoYXQgUEFVU0UsDQogICAgICBSRVNVTUUsIGFuZCBQQVVTRUQgbWVzc2FnZXMgdGhl
cmVmb3JlIHNoYXJlIHRoZSBzYW1lIFBhdXNlSUQgc3BhY2UNCiAgICAgIGZvciBhIHNwZWNpZmlj
IFRhcmdldCBTU1JDLg0KDQogICBUeXBlIFNwZWNpZmljOiAodmFyaWFibGUpOiAgRGVmaW5lZCBw
ZXIgcGF1c2UgZmVlZGJhY2sgVHlwZS4gIE1BWSBiZQ0KICAgICAgZW1wdHkuDQoNCjguICBNZXNz
YWdlIERldGFpbHMNCg0KICAgVGhpcyBzZWN0aW9uIGNvbnRhaW5zIGRldGFpbGVkIGV4cGxhbmF0
aW9ucyBvZiBlYWNoIG1lc3NhZ2UgZGVmaW5lZA0KICAgaW4gdGhpcyBzcGVjaWZpY2F0aW9uLiAg
QWxsIHRyYW5zbWlzc2lvbnMgb2YgcmVxdWVzdCBhbmQgaW5kaWNhdGlvbnMNCiAgIGFyZSBnb3Zl
cm5lZCBieSB0aGUgdHJhbnNtaXNzaW9uIHJ1bGVzIGFzIGRlZmluZWQgYnkgU2VjdGlvbiA4LjUu
DQoNCiAgIEFueSByZWZlcmVuY2VzIHRvIFBBVVNFLCBQQVVTRUQsIFJFU1VNRSBhbmQgUkVGVVNF
RCBpbiB0aGlzIHNlY3Rpb24NCiAgIFNIQUxMIGJlIHRha2VuIHRvIGFwcGx5IHRvIHRoZSBleHRl
bnQgcG9zc2libGUgYWxzbyB3aGVuIFRNTUJSL1RNTUJODQogICBhcmUgdXNlZCAoU2VjdGlvbiA1
LjUpIGZvciB0aGlzIGZ1bmN0aW9uYWxpdHkuICBUTU1CUi9UTU1CTiBNQVkgYmUNCiAgIHVzZWQg
aW5zdGVhZCBvZiB0aGUgbWVzc2FnZXMgZGVmaW5lZCBpbiB0aGlzIHNwZWNpZmljYXRpb24gd2hl
biB0aGUNCiAgIGVmZmVjdGl2ZSB0b3BvbG9neSBpcyBwb2ludC10by1wb2ludC4gIElmIGVpdGhl
ciBzZW5kZXIgb3IgcmVjZWl2ZXINCiAgIGxlYXJucyB0aGF0IHRoZSB0b3BvbG9neSBpcyBub3Qg
cG9pbnQtdG8tcG9pbnQsIFRNTUJSL1RNTUJOIE1VU1QgTk9UDQogICBiZSB1c2VkIGZvciBwYXVz
ZS9yZXN1bWUgZnVuY3Rpb25hbGl0eS4gIElmIHRoZSBtZXNzYWdlcyBkZWZpbmVkIGluDQogICB0
aGlzIHNwZWNpZmljYXRpb24gYXJlIHN1cHBvcnRlZCBpbiBhZGRpdGlvbiB0byBUTU1CUi9UTU1C
TiwgcGF1c2UvDQogICByZXN1bWUgc2lnbmFsaW5nIE1VU1QgcmV2ZXJ0IHRvIHVzZSB0aG9zZSBp
bnN0ZWFkLiAgSWYgdGhlIHRvcG9sb2d5DQogICBpcyBub3QgcG9pbnQtdG8tcG9pbnQgYW5kIHRo
ZSBtZXNzYWdlcyBkZWZpbmVkIGluIHRoaXMgc3BlY2lmaWNhdGlvbg0KICAgYXJlIG5vdCBzdXBw
b3J0ZWQsIHBhdXNlL3Jlc3VtZSBmdW5jdGlvbmFsaXR5IHdpdGggVE1NQlIvVE1NQk4gTVVTVA0K
ICAgTk9UIGJlIHVzZWQuDQoNCjguMS4gIFBBVVNFDQoNCiAgIEFuIFJUUCBzdHJlYW0gcmVjZWl2
ZXIgTUFZIHNjaGVkdWxlIFBBVVNFIGZvciB0cmFuc21pc3Npb24gYXQgYW55DQogICB0aW1lLg0K
DQogICBQQVVTRSBoYXMgbm8gZGVmaW5lZCBUeXBlIFNwZWNpZmljIHBhcmFtZXRlcnMgYW5kIFBh
cmFtZXRlciBMZW4gTVVTVA0KICAgYmUgc2V0IHRvIDAuDQoNCiAgIFBhdXNlSUQgU0hPVUxEIGJl
IHRoZSBhdmFpbGFibGUgUGF1c2VJRCwgYXMgaW5kaWNhdGVkIGJ5IFBBVVNFRA0KICAgKFNlY3Rp
b24gOC4yKSBvciBpbXBsaWNpdGx5IGRldGVybWluZWQgYnkgcHJldmlvdXNseSByZWNlaXZlZCBQ
QVVTRQ0KICAgb3IgUkVTVU1FIChTZWN0aW9uIDguMykgcmVxdWVzdHMuICBBIHJhbmRvbWx5IGNo
b3NlbiBQYXVzZUlEIE1BWSBiZQ0KICAgdXNlZCBpZiBpdCB3YXMgbm90IHBvc3NpYmxlIHRvIHJl
dHJpZXZlIFBhdXNlSUQgaW5mb3JtYXRpb24sIGluIHdoaWNoDQogICBjYXNlIHRoZSBQQVVTRSB3
aWxsIGVpdGhlciBzdWNjZWVkLCBvciB0aGUgY29ycmVjdCBQYXVzZUlEIGNhbiBiZQ0KICAgZm91
bmQgaW4gdGhlIHJldHVybmVkIFJFRlVTRUQgKFNlY3Rpb24gOC40KS4gIEEgUGF1c2VJRCB0aGF0
IGlzDQogICBtYXRjaGluZyB0aGUgYXZhaWxhYmxlIFBhdXNlSUQgaXMgaGVuY2Vmb3J0aCBhbHNv
IGNhbGxlZCBhIHZhbGlkDQogICBQYXVzZUlELg0KDQogICBQYXVzZUlEIG5lZWRzIHRvIGJlIGlu
Y3JlbWVudGVkIGJ5IG9uZSwgaW4gbW9kdWxvIGFyaXRobWV0aWMsIGZvcg0KICAgZWFjaCBQQVVT
RSByZXF1ZXN0IHRoYXQgaXMgbm90IGEgcmV0cmFuc21pc3Npb24sIGNvbXBhcmVkIHRvIHdoYXQg
d2FzDQoNCg0KDQpCdXJtYW4sIGV0IGFsLiAgICAgICAgICAgRXhwaXJlcyBNYXJjaCAxOSwgMjAx
NSAgICAgICAgICAgICAgICBbUGFnZSAyM10NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAg
ICBSVFAgU3RyZWFtIFBhdXNlICAgICAgICAgICAgICBTZXB0ZW1iZXIgMjAxNA0KDQoNCiAgIHVz
ZWQgaW4gdGhlIGxhc3QgUEFVU0VEIGluZGljYXRpb24gc2VudCBieSB0aGUgbWVkaWEgc2VuZGVy
LiAgVGhpcyBpcw0KICAgdG8gZW5zdXJlIHRoYXQgdGhlIFBhdXNlSUQgbWF0Y2hlcyB3aGF0IGlz
IHRoZSBjdXJyZW50IGF2YWlsYWJsZQ0KICAgUGF1c2VJRCBhdCB0aGUgUlRQIHN0cmVhbSBzZW5k
ZXIuICBUaGUgUlRQIHN0cmVhbSBzZW5kZXIgaW5jcmVtZW50cw0KICAgd2hhdCBpdCBjb25zaWRl
cnMgdG8gYmUgdGhlIGF2YWlsYWJsZSBQYXVzZUlEIHdoZW4gZW50ZXJpbmcgUGxheWluZw0KICAg
U3RhdGUgKFNlY3Rpb24gNi4xKS4NCg0KICAgRm9yIHRoZSBzY29wZSBvZiB0aGlzIHNwZWNpZmlj
YXRpb24sIGEgUGF1c2VJRCBsYXJnZXIgdGhhbiB0aGUNCiAgIGN1cnJlbnQgb25lIGlzIGRlZmlu
ZWQgYXMgaGF2aW5nIGEgdmFsdWUgYmV0d2VlbiBhbmQgaW5jbHVkaW5nDQogICAoUGF1c2VJRCAr
IDEpIE1PRCAyXjE2IGFuZCAoUGF1c2VJRCArIDJeMTQpIE1PRCAyXjE2LCB3aGVyZSAiTU9EIiBp
cw0KICAgdGhlIG1vZHVsbyBvcGVyYXRvci4gIFNpbWlsYXJseSwgYSBQYXVzZUlEIHNtYWxsZXIg
dGhhbiB0aGUgY3VycmVudA0KICAgb25lIGlzIGRlZmluZWQgYXMgaGF2aW5nIGEgdmFsdWUgYmV0
d2VlbiBhbmQgaW5jbHVkaW5nIChQYXVzZUlEIC0NCiAgIDJeMTUpIE1PRCAyXjE2IGFuZCAoUGF1
c2VJRCAtIDEpIE1PRCAyXjE2Lg0KDQogICBJZiBhbiBSVFAgc3RyZWFtIHJlY2VpdmVyIHRoYXQg
c2VudCBhIFBBVVNFIHdpdGggYSBjZXJ0YWluIFBhdXNlSUQNCiAgIHJlY2VpdmVzIGEgUkVTVU1F
IHdpdGggdGhlIHNhbWUgUGF1c2VJRCwgaXQgaXMgUkVDT01NRU5ERUQgdGhhdCBpdA0KICAgcmVm
cmFpbnMgZnJvbSBzZW5kaW5nIGZ1cnRoZXIgUEFVU0UgcmVxdWVzdHMgZm9yIHNvbWUgYXBwcm9w
cmlhdGUNCiAgIHRpbWUgc2luY2UgdGhlIFJFU1VNRSBpbmRpY2F0ZXMgdGhhdCB0aGVyZSBhcmUg
b3RoZXIgcmVjZWl2ZXJzIHRoYXQNCiAgIHN0aWxsIHdpc2hlcyB0byByZWNlaXZlIHRoZSBzdHJl
YW0uDQoNCiAgIElmIHRoZSB0YXJnZXRlZCBSVFAgc3RyZWFtIGRvZXMgbm90IHBhdXNlLCBpZiBu
byBQQVVTRUQgaW5kaWNhdGlvbg0KICAgd2l0aCBhIGxhcmdlciBQYXVzZUlEIHRoYW4gdGhlIG9u
ZSB1c2VkIGluIFBBVVNFLCBhbmQgaWYgbm8gUkVGVVNFRA0KICAgaXMgcmVjZWl2ZWQgd2l0aGlu
IDIgKiBSVFQgKyBUX2RpdGhlcl9tYXgsIHRoZSBQQVVTRSBNQVkgYmUgc2NoZWR1bGVkDQogICBm
b3IgcmV0cmFuc21pc3Npb24sIHVzaW5nIHRoZSBzYW1lIFBhdXNlSUQuICBSVFQgaXMgdGhlIG9i
c2VydmVkDQogICByb3VuZC10cmlwIHRvIHRoZSBSVFAgc3RyZWFtIHNlbmRlciBhbmQgVF9kaXRo
ZXJfbWF4IGlzIGRlZmluZWQgaW4NCiAgIHNlY3Rpb24gMy40IG9mIFtSRkM0NTg1XS4NCg0KICAg
V2hlbiBhbiBSVFAgc3RyZWFtIHNlbmRlciBpbiBQbGF5aW5nIFN0YXRlIChTZWN0aW9uIDYuMSkg
cmVjZWl2ZXMgYQ0KICAgdmFsaWQgUEFVU0UsIGFuZCB1bmxlc3MgbG9jYWwgY29uc2lkZXJhdGlv
bnMgY3VycmVudGx5IG1ha2VzIGl0DQogICBpbXBvc3NpYmxlIHRvIHBhdXNlIHRoZSBzdHJlYW0s
IGl0IFNIQUxMIGVudGVyIFBhdXNpbmcgU3RhdGUNCiAgIChTZWN0aW9uIDYuMikgd2hlbiByZWFj
aGluZyBhbiBhcHByb3ByaWF0ZSBwbGFjZSB0byBwYXVzZSBpbiB0aGUNCiAgIHN0cmVhbSwgYW5k
IGFjdCBhY2NvcmRpbmdseS4NCg0KICAgSWYgYW4gUlRQIHN0cmVhbSBzZW5kZXIgcmVjZWl2ZXMg
YSB2YWxpZCBQQVVTRSB3aGlsZSBpbiBQYXVzaW5nLA0KICAgUGF1c2VkIChTZWN0aW9uIDYuMykg
b3IgTG9jYWwgUGF1c2VkIChTZWN0aW9uIDYuNCkgU3RhdGVzLCB0aGUNCiAgIHJlY2VpdmVkIFBB
VVNFIFNIQUxMIGJlIGlnbm9yZWQuDQoNCjguMi4gIFBBVVNFRA0KDQogICBUaGUgUEFVU0VEIGlu
ZGljYXRpb24gTUFZIGJlIHNlbnQgZWl0aGVyIGFzIGEgcmVzdWx0IG9mIGEgdmFsaWQgUEFVU0UN
CiAgIChTZWN0aW9uIDguMSkgcmVxdWVzdCwgd2hlbiBlbnRlcmluZyBQYXVzZWQgU3RhdGUgKFNl
Y3Rpb24gNi4zKSwgb3INCiAgIGJhc2VkIG9uIGEgUlRQIHN0cmVhbSBzZW5kZXIgbG9jYWwgZGVj
aXNpb24sIHdoZW4gZW50ZXJpbmcgTG9jYWwNCiAgIFBhdXNlZCBTdGF0ZSAoU2VjdGlvbiA2LjQp
Lg0KDQogICBQYXVzZUlEIE1VU1QgY29udGFpbiB0aGUgYXZhaWxhYmxlLCB2YWxpZCB2YWx1ZSB0
byBiZSBpbmNsdWRlZCBpbiBhDQogICBzdWJzZXF1ZW50IFJFU1VNRSAoU2VjdGlvbiA4LjMpLg0K
DQoNCg0KDQoNCg0KQnVybWFuLCBldCBhbC4gICAgICAgICAgIEV4cGlyZXMgTWFyY2ggMTksIDIw
MTUgICAgICAgICAgICAgICAgW1BhZ2UgMjRdDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAg
ICAgUlRQIFN0cmVhbSBQYXVzZSAgICAgICAgICAgICAgU2VwdGVtYmVyIDIwMTQNCg0KDQogICBQ
QVVTRUQgU0hBTEwgY29udGFpbiBhIDMyIGJpdCBwYXJhbWV0ZXIgd2l0aCB0aGUgUlRQIGV4dGVu
ZGVkIGhpZ2hlc3QNCiAgIHNlcXVlbmNlIG51bWJlciB2YWxpZCB3aGVuIHRoZSBSVFAgc3RyZWFt
IHdhcyBwYXVzZWQuICBQYXJhbWV0ZXIgTGVuDQogICBNVVNUIGJlIHNldCB0byAxLg0KDQogICBB
ZnRlciBoYXZpbmcgZW50ZXJlZCBQYXVzZWQgb3IgTG9jYWwgUGF1c2VkIFN0YXRlIGFuZCB0aHVz
IGhhdmluZw0KICAgc2VudCBQQVVTRUQgb25jZSwgUEFVU0VEIE1VU1QgYWxzbyBiZSBpbmNsdWRl
ZCBpbiB0aGUgbmV4dCB0d28NCiAgIHJlZ3VsYXIgUlRDUCByZXBvcnRzLCBnaXZlbiB0aGF0IHRo
ZSBwYXVzZSBjb25kaXRpb24gaXMgdGhlbiBzdGlsbA0KICAgZWZmZWN0aXZlLg0KDQogICBXaGls
ZSByZW1haW5pbmcgaW4gUGF1c2VkIG9yIExvY2FsIFBhdXNlZCBTdGF0ZXMsIFBBVVNFRCBNQVkg
YmUNCiAgIGluY2x1ZGVkIGluIGFsbCByZWd1bGFyIFJUQ1AgcmVwb3J0cy4NCg0KICAgV2hlbiBp
biBQYXVzZWQgb3IgTG9jYWwgUGF1c2VkIFN0YXRlcywgSXQgaXMgUkVDT01NRU5ERUQgdG8gc2Vu
ZA0KICAgUEFVU0VEIGF0IHRoZSBlYXJsaWVzdCBvcHBvcnR1bml0eSBhbmQgYWxzbyB0byBpbmNs
dWRlIGl0IGluIHRoZSBuZXh0DQogICB0d28gcmVndWxhciBSVENQIHJlcG9ydHMsIHdoZW5ldmVy
IHRoZSBSVFAgc3RyZWFtIHNlbmRlciBsZWFybnMgdGhhdA0KICAgdGhlcmUgYXJlIEVuZCBQb2lu
dHMgdGhhdCBkaWQgbm90IHByZXZpb3VzbHkgcmVjZWl2ZSB0aGUgc3RyZWFtLCBmb3INCiAgIGV4
YW1wbGUgYnkgUlRDUCByZXBvcnRzIHdpdGggYW4gU1NSQyBhbmQgYSBDTkFNRSB0aGF0IHdhcyBu
b3QNCiAgIHByZXZpb3VzbHkgc2VlbiBpbiB0aGUgUlRQIHNlc3Npb24uDQoNCjguMy4gIFJFU1VN
RQ0KDQogICBBbiBSVFAgc3RyZWFtIHJlY2VpdmVyIE1BWSBzY2hlZHVsZSBSRVNVTUUgZm9yIHRy
YW5zbWlzc2lvbiB3aGVuZXZlcg0KICAgaXQgd2lzaGVzIHRvIHJlc3VtZSBhIHBhdXNlZCBzdHJl
YW0sIG9yIHRvIGRpc2FwcHJvdmUgYSBzdHJlYW0gZnJvbQ0KICAgYmVpbmcgcGF1c2VkLg0KDQog
ICBQYXVzZUlEIFNIT1VMRCBiZSB0aGUgdmFsaWQgUGF1c2VJRCwgYXMgaW5kaWNhdGVkIGJ5IFBB
VVNFRA0KICAgKFNlY3Rpb24gOC4yKSBvciBpbXBsaWNpdGx5IGRldGVybWluZWQgYnkgcHJldmlv
dXNseSByZWNlaXZlZCBQQVVTRQ0KICAgKFNlY3Rpb24gOC4xKSBvciBSRVNVTUUgcmVxdWVzdHMu
ICBBIHJhbmRvbWx5IGNob3NlbiBQYXVzZUlEIE1BWSBiZQ0KICAgdXNlZCBpZiBpdCB3YXMgbm90
IHBvc3NpYmxlIHRvIHJldHJpZXZlIFBhdXNlSUQgaW5mb3JtYXRpb24sIGluIHdoaWNoDQogICBj
YXNlIHRoZSBSRVNVTUUgd2lsbCBlaXRoZXIgc3VjY2VlZCwgb3IgdGhlIGNvcnJlY3QgUGF1c2VJ
RCBjYW4gYmUNCiAgIGZvdW5kIGluIGEgcmV0dXJuZWQgUkVGVVNFRCAoU2VjdGlvbiA4LjQpLg0K
DQogICBSRVNVTUUgaGFzIG5vIGRlZmluZWQgVHlwZSBTcGVjaWZpYyBwYXJhbWV0ZXJzIGFuZCBQ
YXJhbWV0ZXIgTGVuIE1VU1QNCiAgIGJlIHNldCB0byAwLg0KDQogICBXaGVuIGFuIFJUUCBzdHJl
YW0gc2VuZGVyIGluIFBhdXNpbmcgKFNlY3Rpb24gNi4yKSwgUGF1c2VkDQogICAoU2VjdGlvbiA2
LjMpIG9yIExvY2FsIFBhdXNlZCBTdGF0ZSAoU2VjdGlvbiA2LjQpIHJlY2VpdmVzIGEgdmFsaWQN
CiAgIFJFU1VNRSwgYW5kIHVubGVzcyBsb2NhbCBjb25zaWRlcmF0aW9ucyBjdXJyZW50bHkgbWFr
ZXMgaXQgaW1wb3NzaWJsZQ0KICAgdG8gcmVzdW1lIHRoZSBzdHJlYW0sIGl0IFNIQUxMIGVudGVy
IFBsYXlpbmcgU3RhdGUgKFNlY3Rpb24gNi4xKSBhbmQNCiAgIGFjdCBhY2NvcmRpbmdseS4gIElm
IHRoZSBSVFAgc3RyZWFtIHNlbmRlciBpcyBpbmNhcGFibGUgb2YgaG9ub3JpbmcNCiAgIHRoZSBS
RVNVTUUgcmVxdWVzdCB3aXRoIGEgdmFsaWQgUGF1c2VJRCwgb3IgcmVjZWl2ZXMgYSBSRVNVTUUg
cmVxdWVzdA0KICAgd2l0aCBhbiBpbnZhbGlkIFBhdXNlSUQgd2hpbGUgaW4gUGF1c2VkIG9yIFBh
dXNpbmcgc3RhdGUsIHRoZSBSVFANCiAgIHN0cmVhbSBzZW5kZXIgc2VuZHMgYSBSRUZVU0VEIG1l
c3NhZ2UgYXMgc3BlY2lmaWVkIGJlbG93Lg0KDQogICBJZiBhbiBSVFAgc3RyZWFtIHNlbmRlciBp
biBQbGF5aW5nIFN0YXRlIHJlY2VpdmVzIGEgUkVTVU1FIGNvbnRhaW5pbmcNCiAgIGVpdGhlciBh
IHZhbGlkIFBhdXNlSUQgb3IgYSBQYXVzZUlEIHRoYXQgaXMgbGVzcyB0aGFuIHRoZSB2YWxpZA0K
ICAgUGF1c2VJRCwgdGhlIHJlY2VpdmVkIFJFU1VNRSBTSEFMTCBiZSBpZ25vcmVkLg0KDQoNCg0K
DQpCdXJtYW4sIGV0IGFsLiAgICAgICAgICAgRXhwaXJlcyBNYXJjaCAxOSwgMjAxNSAgICAgICAg
ICAgICAgICBbUGFnZSAyNV0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgICBSVFAgU3Ry
ZWFtIFBhdXNlICAgICAgICAgICAgICBTZXB0ZW1iZXIgMjAxNA0KDQoNCjguNC4gIFJFRlVTRUQN
Cg0KICAgUkVGVVNFRCBoYXMgbm8gZGVmaW5lZCBUeXBlIFNwZWNpZmljIHBhcmFtZXRlcnMgYW5k
IFBhcmFtZXRlciBMZW4NCiAgIE1VU1QgYmUgc2V0IHRvIDAuDQoNCiAgIElmIGFuIFJUUCBzdHJl
YW0gc2VuZGVyIHJlY2VpdmVzIGEgdmFsaWQgUEFVU0UgKFNlY3Rpb24gOC4xKSBvcg0KICAgUkVT
VU1FIChTZWN0aW9uIDguMykgcmVxdWVzdCB0aGF0IGNhbm5vdCBiZSBmdWxmaWxsZWQgYnkgdGhl
IHNlbmRlcg0KICAgZHVlIHRvIHNvbWUgbG9jYWwgY29uc2lkZXJhdGlvbiwgaXQgU0hBTEwgc2No
ZWR1bGUgdHJhbnNtaXNzaW9uIG9mIGENCiAgIFJFRlVTRUQgaW5kaWNhdGlvbiBjb250YWluaW5n
IHRoZSB2YWxpZCBQYXVzZUlEIGZyb20gdGhlIHJlamVjdGVkDQogICByZXF1ZXN0Lg0KDQogICBJ
ZiBhbiBSVFAgc3RyZWFtIHNlbmRlciByZWNlaXZlcyBQQVVTRSBvciBSRVNVTUUgcmVxdWVzdHMg
d2l0aCBhIG5vbi0NCiAgIHZhbGlkIFBhdXNlSUQgaXQgU0hBTEwgc2NoZWR1bGUgYSBSRUZVU0VE
IHJlc3BvbnNlIGNvbnRhaW5pbmcgdGhlDQogICBhdmFpbGFibGUsIHZhbGlkIFBhdXNlSUQsIGV4
Y2VwdCBpZiB0aGUgUlRQIHN0cmVhbSBzZW5kZXIgaXMgaW4NCiAgIFBsYXlpbmcgU3RhdGUgYW5k
IHJlY2VpdmVzIGEgUkVTVU1FIHdpdGggYSBQYXVzZUlEIGxlc3MgdGhhbiB0aGUNCiAgIHZhbGlk
IG9uZSwgaW4gd2hpY2ggY2FzZSB0aGUgUkVTVU1FIFNIQUxMIGJlIGlnbm9yZWQuDQoNCiAgIElm
IHNldmVyYWwgUEFVU0Ugb3IgUkVTVU1FIHRoYXQgd291bGQgcmVuZGVyIGlkZW50aWNhbCBSRUZV
U0VEDQogICByZXNwb25zZXMgYXJlIHJlY2VpdmVkIGJlZm9yZSB0aGUgc2NoZWR1bGVkIFJFRlVT
RUQgaXMgc2VudCwNCiAgIGR1cGxpY2F0ZSBSRUZVU0VEIE1VU1QgTk9UIGJlIHNjaGVkdWxlZCBm
b3IgdHJhbnNtaXNzaW9uLiAgVGhpcw0KICAgZWZmZWN0aXZlbHkgbGV0cyBhIHNpbmdsZSBSRUZV
U0VEIHJlc3BvbmQgdG8gc2V2ZXJhbCBpbnZhbGlkIFBBVVNFIG9yDQogICBSRVNVTUUgcmVxdWVz
dHMuDQoNCiAgIElmIFJFRlVTRUQgY29udGFpbmluZyBhIGNlcnRhaW4gUGF1c2VJRCB3YXMgYWxy
ZWFkeSBzZW50IGFuZCB5ZXQgbW9yZQ0KICAgUEFVU0Ugb3IgUkVTVU1FIG1lc3NhZ2VzIGFyZSBy
ZWNlaXZlZCB0aGF0IHJlcXVpcmUgYWRkaXRpb25hbCBSRUZVU0VEDQogICB3aXRoIHRoYXQgc3Bl
Y2lmaWMgUGF1c2VJRCB0byBiZSBzY2hlZHVsZWQsIGFuZCB1bmxlc3MgdGhlIFBhdXNlSUQNCiAg
IG51bWJlciBzcGFjZSBoYXMgd3JhcHBlZCBzaW5jZSBSRUZVU0VEIHdhcyBsYXN0IHNlbnQgd2l0
aCB0aGF0DQogICBQYXVzZUlELCBmdXJ0aGVyIFJFRlVTRUQgbWVzc2FnZXMgd2l0aCB0aGF0IFBh
dXNlSUQgU0hPVUxEIGJlIHNlbnQgaW4NCiAgIHJlZ3VsYXIgUlRDUCByZXBvcnRzLg0KDQogICBB
biBSVFAgc3RyZWFtIHJlY2VpdmVyIHRoYXQgc2VudCBhIFBBVVNFIG9yIFJFU1VNRSByZXF1ZXN0
IGFuZA0KICAgcmVjZWl2ZXMgYSBSRUZVU0VEIGNvbnRhaW5pbmcgdGhlIHNhbWUgUGF1c2VJRCBh
cyBpbiB0aGUgcmVxdWVzdA0KICAgU0hPVUxEIHJlZnJhaW4gZnJvbSBzZW5kaW5nIGFuIGlkZW50
aWNhbCByZXF1ZXN0IGZvciBzb21lIGFwcHJvcHJpYXRlDQogICB0aW1lIHRvIGFsbG93IHRoZSBj
b25kaXRpb24gdGhhdCBjYXVzZWQgUkVGVVNFRCB0byBjbGVhci4NCg0KICAgQW4gUlRQIHN0cmVh
bSByZWNlaXZlciB0aGF0IHNlbnQgYSBQQVVTRSBvciBSRVNVTUUgcmVxdWVzdCBhbmQNCiAgIHJl
Y2VpdmVzIGEgUkVGVVNFRCBjb250YWluaW5nIGEgUGF1c2VJRCBkaWZmZXJlbnQgZnJvbSB0aGUg
cmVxdWVzdA0KICAgTUFZIHNjaGVkdWxlIGFub3RoZXIgcmVxdWVzdCB1c2luZyB0aGUgUGF1c2VJ
RCBmcm9tIHRoZSBSRUZVU0VEDQogICBpbmRpY2F0aW9uLg0KDQo4LjUuICBUcmFuc21pc3Npb24g
UnVsZXMNCg0KICAgVGhlIHRyYW5zbWlzc2lvbiBvZiBhbnkgUlRDUCBmZWVkYmFjayBtZXNzYWdl
cyBkZWZpbmVkIGluIHRoaXMNCiAgIHNwZWNpZmljYXRpb24gTVVTVCBmb2xsb3cgdGhlIG5vcm1h
bCBBVlBGIGRlZmluZWQgdGltaW5nIHJ1bGVzIGFuZA0KICAgZGVwZW5kcyBvbiB0aGUgc2Vzc2lv
bidzIG1vZGUgb2Ygb3BlcmF0aW9uLg0KDQogICBBbGwgbWVzc2FnZXMgZGVmaW5lZCBpbiB0aGlz
IHNwZWNpZmljYXRpb24gTUFZIHVzZSBlaXRoZXIgUmVndWxhciwNCiAgIEVhcmx5IG9yIEltbWVk
aWF0ZSB0aW1pbmdzLCB0YWtpbmcgdGhlIGZvbGxvd2luZyBpbnRvIGNvbnNpZGVyYXRpb246DQoN
Cg0KDQpCdXJtYW4sIGV0IGFsLiAgICAgICAgICAgRXhwaXJlcyBNYXJjaCAxOSwgMjAxNSAgICAg
ICAgICAgICAgICBbUGFnZSAyNl0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgICBSVFAg
U3RyZWFtIFBhdXNlICAgICAgICAgICAgICBTZXB0ZW1iZXIgMjAxNA0KDQoNCiAgIG8gIFBBVVNF
IFNIT1VMRCB1c2UgRWFybHkgb3IgSW1tZWRpYXRlIHRpbWluZywgZXhjZXB0IGZvcg0KICAgICAg
cmV0cmFuc21pc3Npb25zIHRoYXQgU0hPVUxEIHVzZSBSZWd1bGFyIHRpbWluZy4NCg0KICAgbyAg
VGhlIGZpcnN0IHRyYW5zbWlzc2lvbiBvZiBQQVVTRUQgZm9yIGVhY2ggKG5vbi13cmFwcGVkKSBQ
YXVzZUlEDQogICAgICBTSE9VTEQgYmUgc2VudCB3aXRoIEltbWVkaWF0ZSBvciBFYXJseSB0aW1p
bmcsIHdoaWxlIHN1YnNlcXVlbnQNCiAgICAgIFBBVVNFRCBmb3IgdGhhdCBQYXVzZUlEIFNIT1VM
RCB1c2UgUmVndWxhciB0aW1pbmcuDQoNCiAgIG8gIFJFU1VNRSBTSE9VTEQgYWx3YXlzIHVzZSBJ
bW1lZGlhdGUgb3IgRWFybHkgdGltaW5nLg0KDQogICBvICBUaGUgZmlyc3QgdHJhbnNtaXNzaW9u
IG9mIFJFRlVTRUQgZm9yIGVhY2ggKG5vbi13cmFwcGVkKSBQYXVzZUlEDQogICAgICBTSE9VTEQg
YmUgc2VudCB3aXRoIEltbWVkaWF0ZSBvciBFYXJseSB0aW1pbmcsIHdoaWxlIHN1YnNlcXVlbnQN
CiAgICAgIFJFRlVTRUQgZm9yIHRoYXQgUGF1c2VJRCBTSE9VTEQgdXNlIFJlZ3VsYXIgdGltaW5n
Lg0KDQo5LiAgU2lnbmFsaW5nDQoNCiAgIFRoZSBjYXBhYmlsaXR5IG9mIGhhbmRsaW5nIG1lc3Nh
Z2VzIGRlZmluZWQgaW4gdGhpcyBzcGVjaWZpY2F0aW9uIE1BWQ0KICAgYmUgZXhjaGFuZ2VkIGF0
IGEgaGlnaGVyIGxheWVyIHN1Y2ggYXMgU0RQLiAgVGhpcyBkb2N1bWVudCBleHRlbmRzDQogICB0
aGUgcnRjcC1mYiBhdHRyaWJ1dGUgZGVmaW5lZCBpbiBzZWN0aW9uIDQgb2YgQVZQRiBbUkZDNDU4
NV0gdG8NCiAgIGluY2x1ZGUgdGhlIHJlcXVlc3QgZm9yIHBhdXNlIGFuZCByZXN1bWUuICBMaWtl
IEFWUEYgW1JGQzQ1ODVdIGFuZA0KICAgQ0NNIFtSRkM1MTA0XSwgaXQgaXMgUkVDT01NRU5ERUQg
dG8gdXNlIHRoZSBydGNwLWZiIGF0dHJpYnV0ZSBhdA0KICAgbWVkaWEgbGV2ZWwgYW5kIGl0IE1V
U1QgTk9UIGJlIHVzZWQgYXQgc2Vzc2lvbiBsZXZlbC4gIFRoaXMNCiAgIHNwZWNpZmljYXRpb24g
Zm9sbG93cyBhbGwgdGhlIHJ1bGVzIGRlZmluZWQgaW4gQVZQRiBmb3IgcnRjcC1mYg0KICAgYXR0
cmlidXRlIHJlbGF0aW5nIHRvIHBheWxvYWQgdHlwZSBpbiBhIHNlc3Npb24gZGVzY3JpcHRpb24u
DQoNCiAgICAgIE5vdGU6IFdoZW4gVE1NQlIgMCAvIFRNTUJOIDAgYXJlIHVzZWQgdG8gaW1wbGVt
ZW50IHBhdXNlIGFuZA0KICAgICAgcmVzdW1lIGZ1bmN0aW9uYWxpdHkgKHdpdGggdGhlIHJlc3Ry
aWN0aW9ucyBkZXNjcmliZWQgaW4gdGhpcw0KICAgICAgbWVtbyksIHNpZ25hbGluZyBydGNwLWZi
IGF0dHJpYnV0ZSB3aXRoIGNjbSB0bW1iciBwYXJhbWV0ZXIgaXMNCiAgICAgIHN1ZmZpY2llbnQg
YW5kIG5vIGZ1cnRoZXIgc2lnbmFsaW5nIGlzIG5lY2Vzc2FyeS4NCg0KICAgVGhpcyBzcGVjaWZp
Y2F0aW9uIGRlZmluZXMgYSBuZXcgcGFyYW1ldGVyICJwYXVzZSIgdG8gdGhlICJjY20iDQogICBm
ZWVkYmFjayB2YWx1ZSBkZWZpbmVkIGluIENDTSBbUkZDNTEwNF0sIHJlcHJlc2VudGluZyB0aGUg
Y2FwYWJpbGl0eQ0KICAgdG8gdW5kZXJzdGFuZCB0aGUgUlRDUCBmZWVkYmFjayBtZXNzYWdlIGFu
ZCBhbGwgb2YgdGhlIGRlZmluZWQgRkNJcw0KICAgb2YgUEFVU0UsIFJFU1VNRSwgUEFVU0VEIGFu
ZCBSRUZVU0VELg0KDQogICBUaGUgInBhdXNlIiBwYXJhbWV0ZXIgaGFzIHR3byBvcHRpb25hbCBh
dHRyaWJ1dGVzLCAibm93YWl0IiBhbmQNCiAgICJjb25maWciOg0KDQogICBvICAibm93YWl0IiBp
bmRpY2F0ZXMgdGhhdCB0aGUgaG9sZC1vZmYgdGltZSBkZWZpbmVkIGluIFNlY3Rpb24gNi4yDQog
ICAgICBjYW4gYmUgc2V0IHRvIDAsIHJlZHVjaW5nIHRoZSBsYXRlbmN5IGJlZm9yZSB0aGUgc3Ry
ZWFtIGNhbiBwYXVzZWQNCiAgICAgIGFmdGVyIHJlY2VpdmluZyBhIFBBVVNFIHJlcXVlc3QuICBU
aGlzIGNvbmRpdGlvbiBvY2N1cnMgd2hlbiB0aGVyZQ0KICAgICAgd2lsbCBiZSBvbmx5IGEgc2lu
Z2xlIHJlY2VpdmVyIHBlciBkaXJlY3Rpb24gaW4gdGhlIFJUUCBzZXNzaW9uLA0KICAgICAgZm9y
IGV4YW1wbGUgaW4gcG9pbnQtdG8tcG9pbnQgc2Vzc2lvbnMuICBJdCBpcyBhbHNvIHBvc3NpYmxl
IHRvDQogICAgICB1c2UgaW4gc2NlbmFyaW9zIHVzaW5nIHVuaWRpcmVjdGlvbmFsIG1lZGlhLiAg
VGhlIGNvbmRpdGlvbnMgdGhhdA0KICAgICAgYWxsb3cgIm5vd2FpdCIgdG8gYmUgc2V0IGFsc28g
aW5kaWNhdGUgdGhhdCBpdCB3b3VsZCBiZSBwb3NzaWJsZQ0KICAgICAgdG8gdXNlIENDTSBUTU1C
Ui9UTU1CTiBhcyBwYXVzZS9yZXN1bWUgc2lnbmFsaW5nLg0KDQogICBvICAiY29uZmlnIiBhbGxv
d3MgZm9yIHBhcnRpYWwgaW1wbGVtZW50YXRpb24gb2YgdGhpcyBzcGVjaWZpY2F0aW9uDQogICAg
ICBhY2NvcmRpbmcgdG8gdGhlIGRpZmZlcmVudCByb2xlcyBpbiB0aGUgdXNlIGNhc2VzIHNlY3Rp
b24NCg0KDQoNCkJ1cm1hbiwgZXQgYWwuICAgICAgICAgICBFeHBpcmVzIE1hcmNoIDE5LCAyMDE1
ICAgICAgICAgICAgICAgIFtQYWdlIDI3XQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAg
IFJUUCBTdHJlYW0gUGF1c2UgICAgICAgICAgICAgIFNlcHRlbWJlciAyMDE0DQoNCg0KICAgICAg
KFNlY3Rpb24gMyksIGFuZCB0YWtlcyBhIHZhbHVlIHRoYXQgZGVzY3JpYmVzIHdoYXQgc3ViLXNl
dCBpcw0KICAgICAgaW1wbGVtZW50ZWQ6DQoNCiAgICAgIDEgIEZ1bGwgaW1wbGVtZW50YXRpb24g
b2YgdGhpcyBzcGVjaWZpY2F0aW9uLiAgVGhpcyBpcyB0aGUgZGVmYXVsdA0KICAgICAgICAgY29u
ZmlndXJhdGlvbi4gIEEgbWlzc2luZyBjb25maWcgYXR0cmlidXRlIE1VU1QgYmUgdHJlYXRlZA0K
ICAgICAgICAgZXF1aXZhbGVudCB0byBwcm92aWRpbmcgYSBjb25maWcgdmFsdWUgb2YgMS4NCg0K
ICAgICAgMiAgVGhlIGltcGxlbWVudGF0aW9uIGludGVuZHMgdG8gc2VuZCBQQVVTRSBhbmQgUkVT
VU1FIHJlcXVlc3RzDQogICAgICAgICBmb3IgcmVjZWl2ZWQgUlRQIHN0cmVhbXMgYW5kIGlzIHRo
dXMgYWxzbyBjYXBhYmxlIG9mIHJlY2VpdmluZw0KICAgICAgICAgUEFVU0VEIGFuZCBSRUZVU0VE
LiAgSXQgZG9lcyBub3Qgc3VwcG9ydCByZWNlaXZpbmcgUEFVU0UgYW5kDQogICAgICAgICBSRVNV
TUUgcmVxdWVzdHMsIGJ1dCBtYXkgcGF1c2Ugc2VudCBSVFAgc3RyZWFtcyBkdWUgdG8gbG9jYWwN
CiAgICAgICAgIGNvbnNpZGVyYXRpb25zIGFuZCB0aGVuIGludGVuZHMgdG8gc2VuZCBQQVVTRUQg
Zm9yIHRoZW0uDQoNCiAgICAgIDMgIFRoZSBpbXBsZW1lbnRhdGlvbiBzdXBwb3J0cyByZWNlaXZp
bmcgUEFVU0UgYW5kIFJFU1VNRSByZXF1ZXN0cw0KICAgICAgICAgdGFyZ2V0ZWQgZm9yIFJUUCBz
dHJlYW1zIGl0IHNlbmRzLiAgSXQgd2lsbCBzZW5kIFBBVVNFRCBhbmQNCiAgICAgICAgIFJFRlVT
RUQgYXMgbmVlZGVkLiAgVGhlIG5vZGUgd2lsbCBub3Qgc2VuZCBhbnkgUEFVU0UgYW5kIFJFU1VN
RQ0KICAgICAgICAgcmVxdWVzdHMsIGJ1dCBzdXBwb3J0cyBhbmQgZGVzaXJlcyByZWNlaXZpbmcg
UEFVU0VEIGlmIHJlY2VpdmVkDQogICAgICAgICBSVFAgc3RyZWFtcyBhcmUgcGF1c2VkLg0KDQog
ICAgICA0ICBUaGUgaW1wbGVtZW50YXRpb24gaW50ZW5kcyB0byBzZW5kIFBBVVNFIGFuZCBSRVNV
TUUgcmVxdWVzdHMNCiAgICAgICAgIGZvciByZWNlaXZlZCBSVFAgc3RyZWFtcyBhbmQgaXMgdGh1
cyBhbHNvIGNhcGFibGUgb2YgcmVjZWl2aW5nDQogICAgICAgICBQQVVTRUQgYW5kIFJFRlVTRUQu
ICBJdCBjYW5ub3QgcGF1c2UgYW55IFJUUCBzdHJlYW1zIGl0IHNlbmRzLA0KICAgICAgICAgYW5k
IHRodXMgZG9lcyBub3Qgc3VwcG9ydCByZWNlaXZpbmcgUEFVU0UgYW5kIFJFU1VNRSByZXF1ZXN0
cywNCiAgICAgICAgIGFuZCBhbHNvIGRvZXMgbm90IHN1cHBvcnQgc2VuZGluZyBQQVVTRUQgaW5k
aWNhdGlvbnMuDQoNCiAgICAgIDUgIFRoZSBpbXBsZW1lbnRhdGlvbiBzdXBwb3J0cyByZWNlaXZp
bmcgUEFVU0UgYW5kIFJFU1VNRSByZXF1ZXN0cw0KICAgICAgICAgdGFyZ2V0ZWQgZm9yIFJUUCBz
dHJlYW1zIGl0IHNlbmRzLiAgSXQgd2lsbCBzZW5kIFBBVVNFRCBhbmQNCiAgICAgICAgIFJFRlVT
RUQgYXMgbmVlZGVkLiAgSXQgZG9lcyBub3Qgc3VwcG9ydCBwYXVzaW5nIHJlY2VpdmVkIFJUUA0K
ICAgICAgICAgc3RyZWFtcywgYW5kIHRodXMgZG9lcyBub3Qgc2VuZCBhbnkgUEFVU0UgYW5kIFJF
U1VNRSByZXF1ZXN0cywNCiAgICAgICAgIGFuZCBhbHNvIGRvZXMgbm90IHN1cHBvcnQgcmVjZWl2
aW5nIFBBVVNFRCBpbmRpY2F0aW9ucy4NCg0KICAgICAgNiAgVGhlIGltcGxlbWVudGF0aW9uIHN1
cHBvcnRzIHNlbnQgYW5kIHJlY2VpdmVkIFJUUCBzdHJlYW1zIGJlaW5nDQogICAgICAgICBwYXVz
ZWQgZHVlIHRvIGxvY2FsIGNvbnNpZGVyYXRpb25zLCBhbmQgdGh1cyBzdXBwb3J0cyBzZW5kaW5n
DQogICAgICAgICBhbmQgcmVjZWl2aW5nIFBBVVNFRCBpbmRpY2F0aW9ucy4NCg0KICAgICAgNyAg
VGhlIGltcGxlbWVudGF0aW9uIHN1cHBvcnRzIGFuZCBkZXNpcmVzIHRvIHJlY2VpdmUgUEFVU0VE
DQogICAgICAgICBpbmRpY2F0aW9ucyBmb3IgcmVjZWl2ZWQgUlRQIHN0cmVhbXMsIGJ1dCBkb2Vz
IG5vdCBwYXVzZSBvcg0KICAgICAgICAgc2VuZCBQQVVTRUQgaW5kaWNhdGlvbnMgZm9yIHNlbnQg
UlRQIHN0cmVhbXMuICBJdCBkb2VzIG5vdA0KICAgICAgICAgc3VwcG9ydCBhbnkgb3RoZXIgbWVz
c2FnZXMgZGVmaW5lZCBpbiB0aGlzIHNwZWNpZmljYXRpb24uDQoNCiAgICAgIDggIFRoZSBpbXBs
ZW1lbnRhdGlvbiBzdXBwb3J0cyBwYXVzaW5nIHNlbnQgUlRQIHN0cmVhbXMgYW5kDQogICAgICAg
ICBzZW5kaW5nIFBBVVNFRCBpbmRpY2F0aW9ucyBmb3IgdGhlbSwgYnV0IGRvZXMgbm90IHN1cHBv
cnQNCiAgICAgICAgIHJlY2VpdmluZyBQQVVTRUQgaW5kaWNhdGlvbnMgZm9yIHJlY2VpdmVkIFJU
UCBzdHJlYW1zLiAgSXQgZG9lcw0KICAgICAgICAgbm90IHN1cHBvcnQgYW55IG90aGVyIG1lc3Nh
Z2VzIGRlZmluZWQgaW4gdGhpcyBzcGVjaWZpY2F0aW9uLg0KDQogICBBbGwgaW1wbGVtZW50YXRp
b25zIG9mIHRoaXMgc3BlY2lmaWNhdGlvbiBNVVNUIGJlIGFibGUgdG8gcmVjZWl2ZSBhbGwNCiAg
IG1lc3NhZ2VzIGRlZmluZWQgaW4gU2VjdGlvbiA4LCBleGNlcHQgd2hlbiBvbmx5IFRNTUJSL1RN
TUJOIHNpZ25hbGluZw0KICAgaXMgdXNlZCBhcyBkZXNjcmliZWQgaW4gU2VjdGlvbiA1LjUuICBX
aGVuIHNpZ25hbGluZyBhIGNvbmZpZyB2YWx1ZQ0KDQoNCg0KQnVybWFuLCBldCBhbC4gICAgICAg
ICAgIEV4cGlyZXMgTWFyY2ggMTksIDIwMTUgICAgICAgICAgICAgICAgW1BhZ2UgMjhdDQoMDQpJ
bnRlcm5ldC1EcmFmdCAgICAgICAgICAgICAgUlRQIFN0cmVhbSBQYXVzZSAgICAgICAgICAgICAg
U2VwdGVtYmVyIDIwMTQNCg0KDQogICBvdGhlciB0aGFuIDEsIGFuIGltcGxlbWVudGF0aW9uIE1B
WSBpZ25vcmUgbm9uLXN1cHBvcnRlZCBtZXNzYWdlcyBvbg0KICAgcmVjZXB0aW9uLCBhbmQgTUFZ
IG9taXQgc2VuZGluZyBub24tc3VwcG9ydGVkIG1lc3NhZ2VzLiAgVGhlIGJlbG93DQogICB0YWJs
ZSBzdW1tYXJpemVzIHBlci1tZXNzYWdlIHNlbmQgYW5kIHJlY2VpdmUgc3VwcG9ydCBmb3IgdGhl
DQogICBkaWZmZXJlbnQgY29uZmlnIGF0dHJpYnV0ZSB2YWx1ZXMgKCJYIiBpbmRpY2F0aW5nIHN1
cHBvcnQgYW5kICItIg0KICAgaW5kaWNhdGluZyBub24tc3VwcG9ydCk6DQoNCiAgICAgKy0tLSst
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LSsNCiAgICAgfCAjIHwgU2VuZCAgICAgICAgICAgICAgICAgICAgICAgIHwgUmVjZWl2ZSAgICAg
ICAgICAgICAgICAgICAgIHwNCiAgICAgfCAgIHwgUEFVU0UgUkVTVU1FIFBBVVNFRCBSRUZVU0VE
IHwgUEFVU0UgUkVTVU1FIFBBVVNFRCBSRUZVU0VEIHwNCiAgICAgKy0tLSstLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsNCiAgICAgfCAx
IHwgICBYICAgICAgWCAgICAgIFggICAgICBYICAgIHwgICBYICAgICAgWCAgICAgIFggICAgICBY
ICAgIHwNCiAgICAgfCAyIHwgICBYICAgICAgWCAgICAgIFggICAgICAtICAgIHwgICAtICAgICAg
LSAgICAgIFggICAgICBYICAgIHwNCiAgICAgfCAzIHwgICAtICAgICAgLSAgICAgIFggICAgICBY
ICAgIHwgICBYICAgICAgWCAgICAgIFggICAgICAtICAgIHwNCiAgICAgfCA0IHwgICBYICAgICAg
WCAgICAgIC0gICAgICAtICAgIHwgICAtICAgICAgLSAgICAgIFggICAgICBYICAgIHwNCiAgICAg
fCA1IHwgICAtICAgICAgLSAgICAgIFggICAgICBYICAgIHwgICBYICAgICAgWCAgICAgIC0gICAg
ICAtICAgIHwNCiAgICAgfCA2IHwgICAtICAgICAgLSAgICAgIFggICAgICAtICAgIHwgICAtICAg
ICAgLSAgICAgIFggICAgICAtICAgIHwNCiAgICAgfCA3IHwgICAtICAgICAgLSAgICAgIC0gICAg
ICAtICAgIHwgICAtICAgICAgLSAgICAgIFggICAgICAtICAgIHwNCiAgICAgfCA4IHwgICAtICAg
ICAgLSAgICAgIFggICAgICAtICAgIHwgICAtICAgICAgLSAgICAgIC0gICAgICAtICAgIHwNCiAg
ICAgKy0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLSsNCg0KICAgICAgICAgRmlndXJlIDY6IFN1cHBvcnRlZCBtZXNzYWdlcyBmb3Ig
ZGlmZmVyZW50IGNvbmZpZyB2YWx1ZXMNCg0KICAgVGhpcyBpcyB0aGUgcmVzdWx0aW5nIEFCTkYg
W1JGQzUyMzRdLCBleHRlbmRpbmcgZXhpc3RpbmcgQUJORiBpbg0KICAgc2VjdGlvbiA3LjEgb2Yg
Q0NNIFtSRkM1MTA0XToNCg0KICAgcnRjcC1mYi1jY20tcGFyYW0gID0vIFNQICJwYXVzZSIgKihT
UCBwYXVzZS1hdHRyKQ0KICAgcGF1c2UtYXR0ciAgICAgICAgID0gcGF1c2UtY29uZmlnDQogICAg
ICAgICAgICAgICAgICAgICAgLyAibm93YWl0Ig0KICAgICAgICAgICAgICAgICAgICAgIC8gdG9r
ZW4gOyBmb3IgZnV0dXJlIGV4dGVuc2lvbnMNCiAgIHBhdXNlLWNvbmZpZyAgICAgICA9ICJjb25m
aWc9IiBwYXVzZS1jb25maWctdmFsdWUNCiAgIHBhdXNlLWNvbmZpZy12YWx1ZSA9ICIxIi0iOCIN
Cg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGaWd1cmUgNzogQUJORg0KDQogICBB
biBlbmRwb2ludCBpbXBsZW1lbnRpbmcgdGhpcyBzcGVjaWZpY2F0aW9uIGFuZCB1c2luZyBTRFAg
dG8gc2lnbmFsDQogICBjYXBhYmlsaXR5IFNIT1VMRCBpbmRpY2F0ZSB0aGUgbmV3ICJwYXVzZSIg
cGFyYW1ldGVyIHdpdGggY2NtDQogICBzaWduYWxpbmcsIGJ1dCBNQVkgdXNlIGV4aXN0aW5nIGNj
bSB0bW1iciBzaWduYWxpbmcgW1JGQzUxMDRdIGlmIHRoZQ0KICAgbGltaXRhdGlvbnMgaW4gZnVu
Y3Rpb25hbGl0eSBhcyBkZXNjcmliZWQgaW4gdGhpcyBzcGVjaWZpY2F0aW9uDQogICBjb21pbmcg
ZnJvbSBzdWNoIHVzYWdlIGFyZSBjb25zaWRlcmVkIGFjY2VwdGFibGUuICBUaGUgbWVzc2FnZXMg
ZnJvbQ0KICAgdGhpcyBzcGVjaWZpY2F0aW9uIFNIT1VMRCBOT1QgYmUgdXNlZCB0b3dhcmRzIHJl
Y2VpdmVycyB0aGF0IGRpZCBub3QNCiAgIGRlY2xhcmUgY2FwYWJpbGl0eSB0byByZWNlaXZlIHRo
b3NlIG1lc3NhZ2VzLg0KDQogICBUaGVyZSBNVVNUIE5PVCBiZSBtb3JlIHRoYW4gb25lICJhPXJ0
Y3AtZmIiIGxpbmUgd2l0aCAicGF1c2UiDQogICBhcHBsaWNhYmxlIHRvIGEgc2luZ2xlIHBheWxv
YWQgdHlwZSBpbiB0aGUgU0RQLCB1bmxlc3MgdGhlIGFkZGl0aW9uYWwNCiAgIGxpbmUgdXNlcyAi
KiIgYXMgcGF5bG9hZCB0eXBlLCBpbiB3aGljaCBjYXNlICIqIiBTSEFMTCBiZSBpbnRlcnByZXRl
ZA0KICAgYXMgYXBwbGljYWJsZSB0byBhbGwgbGlzdGVkIHBheWxvYWQgdHlwZXMgdGhhdCBkb2Vz
IG5vdCBoYXZlIGFuDQogICBleHBsaWNpdCAicGF1c2UiIHNwZWNpZmljYXRpb24uDQoNCg0KDQpC
dXJtYW4sIGV0IGFsLiAgICAgICAgICAgRXhwaXJlcyBNYXJjaCAxOSwgMjAxNSAgICAgICAgICAg
ICAgICBbUGFnZSAyOV0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgICBSVFAgU3RyZWFt
IFBhdXNlICAgICAgICAgICAgICBTZXB0ZW1iZXIgMjAxNA0KDQoNCiAgIFRoZXJlIE1VU1QgTk9U
IGJlIG1vcmUgdGhhbiBhIHNpbmdsZSBjb25maWcgYXR0cmlidXRlIHBlciAicGF1c2UiDQogICBw
YXJhbWV0ZXIuICBUaGVyZSBNVVNUIE5PVCBiZSBtb3JlIHRoYW4gYSBzaW5nbGUgIm5vd2FpdCIg
YXR0cmlidXRlDQogICBwZXIgInBhdXNlIiBwYXJhbWV0ZXIuDQoNCjkuMS4gIE9mZmVyLUFuc3dl
ciBVc2UNCg0KICAgQW4gb2ZmZXJlciBpbXBsZW1lbnRpbmcgdGhpcyBzcGVjaWZpY2F0aW9uIG5l
ZWRzIHRvIGluY2x1ZGUgInBhdXNlIg0KICAgQ0NNIHBhcmFtZXRlciB3aXRoIHN1aXRhYmxlIGNv
bmZpZ3VyYXRpb24gYXR0cmlidXRlICgiY29uZmlnIikgaW4gdGhlDQogICBTRFAsIGFjY29yZGlu
ZyB0byB3aGF0IG1lc3NhZ2VzIGl0IGludGVuZHMgdG8gc2VuZCBhbmQgZGVzaXJlcyB0bw0KICAg
cmVjZWl2ZSBpbiB0aGUgc2Vzc2lvbi4NCg0KICAgSW4gU0RQIG9mZmVyL2Fuc3dlciwgdGhlICJj
b25maWciIGF0dHJpYnV0ZSBhbmQgaXRzIG1lc3NhZ2UNCiAgIGRpcmVjdGlvbnMgYXJlIGludGVy
cHJldGVkIGJhc2VkIG9uIHRoZSBhZ2VudCBwcm92aWRpbmcgdGhlIFNEUC4gIFRoZQ0KICAgb2Zm
ZXJlciBpcyBkZXNjcmliZWQgaW4gYW4gb2ZmZXIsIGFuZCB0aGUgYW5zd2VyZXIgaXMgZGVzY3Jp
YmVkIGluIGFuDQogICBhbnN3ZXIuDQoNCiAgIEFuIGFuc3dlcmVyIHJlY2VpdmluZyBhbiBvZmZl
ciB3aXRoIGEgInBhdXNlIiBDQ00gcGFyYW1ldGVyIGFuZCBhDQogICBjb25maWcgYXR0cmlidXRl
IHdpdGggYSBjZXJ0YWluIHZhbHVlLCBkZXNjcmliaW5nIGEgY2VydGFpbg0KICAgY2FwYWJpbGl0
eSB0byBzZW5kIGFuZCByZWNlaXZlIG1lc3NhZ2VzLCBNQVkgY2hhbmdlIHRoZSBjb25maWcNCiAg
IGF0dHJpYnV0ZSB2YWx1ZSBpbiB0aGUgYW5zd2VyIHRvIGFub3RoZXIgY29uZmlndXJhdGlvbi4g
IFRoZQ0KICAgcGVybWl0dGVkIGFuc3dlcnMgYXJlIGxpc3RlZCBpbiB0aGUgYmVsb3cgdGFibGUu
DQoNCiAgICAgICAgU0RQIE9mZmVyIGNvbmZpZyB2YWx1ZSB8IFBlcm1pdHRlZCBTRFAgQW5zd2Vy
IGNvbmZpZyB2YWx1ZXMNCiAgICAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiAgICAgICAgICAgICAgICAgICAgMSAgICAgICAg
ICB8IDEsIDIsIDMsIDQsIDUsIDYsIDcsIDgNCiAgICAgICAgICAgICAgICAgICAgMiAgICAgICAg
ICB8IDMsIDQsIDUsIDYsIDcsIDgNCiAgICAgICAgICAgICAgICAgICAgMyAgICAgICAgICB8IDIs
IDQsIDUsIDYsIDcsIDgNCiAgICAgICAgICAgICAgICAgICAgNCAgICAgICAgICB8IDUsIDYsIDcs
IDgNCiAgICAgICAgICAgICAgICAgICAgNSAgICAgICAgICB8IDQsIDYsIDcsIDgNCiAgICAgICAg
ICAgICAgICAgICAgNiAgICAgICAgICB8IDYsIDcsIDgNCiAgICAgICAgICAgICAgICAgICAgNyAg
ICAgICAgICB8IDgNCiAgICAgICAgICAgICAgICAgICAgOCAgICAgICAgICB8IDcNCg0KDQogICAg
ICAgICAgICAgICAgICBGaWd1cmUgODogQ29uZmlnIHZhbHVlcyBpbiBPZmZlci9BbnN3ZXINCg0K
ICAgQW4gb2ZmZXIgb3IgYW5zd2VyIG9taXR0aW5nIHRoZSBjb25maWcgYXR0cmlidXRlLCBNVVNU
IGJlIGludGVycHJldGVkDQogICBhcyBlcXVpdmFsZW50IHRvIGNvbmZpZz0xLiAgSW4gYWxsIGNh
c2VzIHRoZSBhbnN3ZXJlciBNQVkgYWxzbw0KICAgY29tcGxldGVseSByZW1vdmUgYW55ICJwYXVz
ZSIgQ0NNIHBhcmFtZXRlciB0byBpbmRpY2F0ZSB0aGF0IGl0IGRvZXMNCiAgIG5vdCB1bmRlcnN0
YW5kIG9yIGRlc2lyZSB0byB1c2UgYW55IHBhdXNlIGZ1bmN0aW9uYWxpdHkgZm9yIHRoZQ0KICAg
YWZmZWN0ZWQgcGF5bG9hZCB0eXBlcy4NCg0KICAgSWYgdGhlIG9mZmVyZXIgYmVsaWV2ZXMgdGhh
dCBpdHNlbGYgYW5kIHRoZSBpbnRlbmRlZCBhbnN3ZXJlciBhcmUNCiAgIGxpa2VseSB0aGUgb25s
eSBFbmQgUG9pbnRzIGluIHRoZSBSVFAgc2Vzc2lvbiwgaXQgTUFZIGluY2x1ZGUgdGhlDQogICAi
bm93YWl0IiBzdWItcGFyYW1ldGVyIG9uIHRoZSAicGF1c2UiIGxpbmUgaW4gdGhlIG9mZmVyLiAg
SWYgYW4NCiAgIGFuc3dlcmVyIHJlY2VpdmVzIHRoZSAibm93YWl0IiBzdWItcGFyYW1ldGVyIG9u
IHRoZSAicGF1c2UiIGxpbmUgaW4NCiAgIHRoZSBTRFAsIGFuZCBpZiBpdCBoYXMgaW5mb3JtYXRp
b24gdGhhdCB0aGUgb2ZmZXJlciBhbmQgaXRzZWxmIGFyZQ0KICAgbm90IHRoZSBvbmx5IEVuZCBQ
b2ludHMgaW4gdGhlIFJUUCBzZXNzaW9uLCBpdCBNVVNUIE5PVCBpbmNsdWRlIGFueQ0KDQoNCg0K
QnVybWFuLCBldCBhbC4gICAgICAgICAgIEV4cGlyZXMgTWFyY2ggMTksIDIwMTUgICAgICAgICAg
ICAgICAgW1BhZ2UgMzBdDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICAgUlRQIFN0cmVh
bSBQYXVzZSAgICAgICAgICAgICAgU2VwdGVtYmVyIDIwMTQNCg0KDQogICAibm93YWl0IiBzdWIt
cGFyYW1ldGVyIG9uIGl0cyAicGF1c2UiIGxpbmUgaW4gdGhlIFNEUCBhbnN3ZXIuICBUaGUNCiAg
IGFuc3dlcmVyIE1VU1QgTk9UIGFkZCAibm93YWl0IiBvbiB0aGUgInBhdXNlIiBsaW5lIGluIHRo
ZSBhbnN3ZXINCiAgIHVubGVzcyBpdCBpcyBwcmVzZW50IG9uIHRoZSAicGF1c2UiIGxpbmUgaW4g
dGhlIG9mZmVyLiAgSWYgYm90aCBvZmZlcg0KICAgYW5kIGFuc3dlciBjb250YWluZWQgYSAibm93
YWl0IiBwYXJhbWV0ZXIsIHRoZW4gdGhlIGhvbGQtb2ZmIHRpbWUgaXMNCiAgIGNvbmZpZ3VyZWQg
dG8gMCBhdCBib3RoIG9mZmVyZXIgYW5kIGFuc3dlcmVyLg0KDQo5LjIuICBEZWNsYXJhdGl2ZSBV
c2UNCg0KICAgSW4gZGVjbGFyYXRpdmUgdXNlLCB0aGUgU0RQIGlzIHVzZWQgdG8gY29uZmlndXJl
IHRoZSBub2RlIHJlY2VpdmluZw0KICAgdGhlIFNEUC4gIFRoaXMgaGFzIGltcGxpY2F0aW9ucyBv
biB0aGUgaW50ZXJwcmV0YXRpb24gb2YgdGhlIFNEUA0KICAgc2lnbmFsaW5nIGV4dGVuc2lvbnMg
ZGVmaW5lZCBpbiB0aGlzIHNwZWNpZmljYXRpb24uDQoNCiAgIEZpcnN0LCB0aGUgImNvbmZpZyIg
YXR0cmlidXRlIGFuZCBpdHMgbWVzc2FnZSBkaXJlY3Rpb25zIGFyZQ0KICAgaW50ZXJwcmV0ZWQg
YmFzZWQgb24gdGhlIG5vZGUgcmVjZWl2aW5nIHRoZSBTRFAuDQoNCiAgIFNlY29uZCwgdGhlICJu
b3dhaXQiIHBhcmFtZXRlciwgaWYgaW5jbHVkZWQsIGlzIGZvbGxvd2VkIGFzDQogICBzcGVjaWZp
ZWQuICBJdCBpcyB0aGUgcmVzcG9uc2liaWxpdHkgb2YgdGhlIGRlY2xhcmF0aXZlIFNEUCBzZW5k
ZXIgdG8NCiAgIGRldGVybWluZSBpZiBhIGNvbmZpZ3VyZWQgbm9kZSB3aWxsIHBhcnRpY2lwYXRl
IGluIGEgc2Vzc2lvbiB0aGF0DQogICB3aWxsIGJlIHBvaW50IHRvIHBvaW50LCBiYXNlZCBvbiB0
aGUgdXNhZ2UuICBGb3IgZXhhbXBsZSwgYQ0KICAgY29uZmVyZW5jZSBjbGllbnQgYmVpbmcgY29u
ZmlndXJlZCBmb3IgYW4gYW55IHNvdXJjZSBtdWx0aWNhc3QNCiAgIHNlc3Npb24gdXNpbmcgU0FQ
IFtSRkMyOTc0XSB3aWxsIG5vdCBiZSBpbiBhIHBvaW50IHRvIHBvaW50IHNlc3Npb24sDQogICB0
aHVzICJub3dhaXQiIGNhbm5vdCBiZSBpbmNsdWRlZC4gIEFuIFJUU1AgW1JGQzIzMjZdIGNsaWVu
dCByZWNlaXZpbmcNCiAgIGEgZGVjbGFyYXRpdmUgU0RQIG1heSB2ZXJ5IHdlbGwgYmUgaW4gYSBw
b2ludCB0byBwb2ludCBzZXNzaW9uLA0KICAgYWx0aG91Z2ggaXQgaXMgaGlnaGx5IGRvdWJ0ZnVs
IHRoYXQgYW4gUlRTUCBjbGllbnQgd291bGQgbmVlZCB0bw0KICAgc3VwcG9ydCB0aGlzIHNwZWNp
ZmljYXRpb24sIGNvbnNpZGVyaW5nIHRoZSBpbmhlcmVudCBQQVVTRSBzdXBwb3J0IGluDQogICBS
VFNQLg0KDQoxMC4gIEV4YW1wbGVzDQoNCiAgIFRoZSBmb2xsb3dpbmcgZXhhbXBsZXMgc2hvd3Mg
dXNlIG9mIFBBVVNFIGFuZCBSRVNVTUUgbWVzc2FnZXMsDQogICBpbmNsdWRpbmcgdXNlIG9mIG9m
ZmVyLWFuc3dlcjoNCg0KICAgMS4gIE9mZmVyLUFuc3dlcg0KDQogICAyLiAgUG9pbnQtdG8tUG9p
bnQgc2Vzc2lvbg0KDQogICAzLiAgUG9pbnQtdG8tTXVsdGlwb2ludCB1c2luZyBNaXhlcg0KDQog
ICA0LiAgUG9pbnQtdG8tTXVsdGlwb2ludCB1c2luZyBUcmFuc2xhdG9yDQoNCjEwLjEuICBPZmZl
ci1BbnN3ZXINCg0KICAgVGhlIGJlbG93IGZpZ3VyZXMgY29udGFpbnMgYW4gZXhhbXBsZSBob3cg
dG8gc2hvdyBzdXBwb3J0IGZvciBwYXVzaW5nDQogICBhbmQgcmVzdW1pbmcgdGhlIHN0cmVhbXMs
IGFzIHdlbGwgYXMgaW5kaWNhdGluZyB3aGV0aGVyIG9yIG5vdCB0aGUNCiAgIGhvbGQtb2ZmIHBl
cmlvZCBjYW4gYmUgc2V0IHRvIDAuDQoNCg0KDQoNCg0KDQpCdXJtYW4sIGV0IGFsLiAgICAgICAg
ICAgRXhwaXJlcyBNYXJjaCAxOSwgMjAxNSAgICAgICAgICAgICAgICBbUGFnZSAzMV0NCgwNCklu
dGVybmV0LURyYWZ0ICAgICAgICAgICAgICBSVFAgU3RyZWFtIFBhdXNlICAgICAgICAgICAgICBT
ZXB0ZW1iZXIgMjAxNA0KDQoNCiAgIHY9MA0KICAgbz1hbGljZSAzMjAzMDkzNTIwIDMyMDMwOTM1
MjAgSU4gSVA0IGFsaWNlLmV4YW1wbGUuY29tDQogICBzPVBhdXNpbmcgTWVkaWENCiAgIHQ9MCAw
DQogICBjPUlOIElQNCBhbGljZS5leGFtcGxlLmNvbQ0KICAgbT1hdWRpbyA0OTE3MCBSVFAvQVZQ
RiA5OCA5OQ0KICAgYT1ydHBtYXA6OTggRzcxOS80ODAwMA0KICAgYT1ydHBtYXA6OTkgUENNQS84
MDAwDQogICBhPXJ0Y3AtZmI6KiBjY20gcGF1c2Ugbm93YWl0DQoNCg0KICAgICAgICAgICBGaWd1
cmUgOTogU0RQIE9mZmVyIFdpdGggUGF1c2UgYW5kIFJlc3VtZSBDYXBhYmlsaXR5DQoNCiAgIFRo
ZSBvZmZlcmVyIHN1cHBvcnRzIGFsbCBvZiB0aGUgbWVzc2FnZXMgZGVmaW5lZCBpbiB0aGlzDQog
ICBzcGVjaWZpY2F0aW9uLCBsZWF2aW5nIG91dCB0aGUgb3B0aW9uYWwgY29uZmlnIGF0dHJpYnV0
ZS4gIFRoZQ0KICAgb2ZmZXJlciBhbHNvIGJlbGlldmVzIHRoYXQgaXQgd2lsbCBiZSB0aGUgc29s
ZSByZWNlaXZlciBvZiB0aGUNCiAgIGFuc3dlcmVyJ3Mgc3RyZWFtIGFzIHdlbGwgYXMgdGhhdCB0
aGUgYW5zd2VyZXIgd2lsbCBiZSB0aGUgc29sZQ0KICAgcmVjZWl2ZXIgb2YgdGhlIG9mZmVyZXIn
cyBzdHJlYW0gYW5kIHRodXMgaW5jbHVkZXMgdGhlICJub3dhaXQiIHN1Yi0NCiAgIHBhcmFtZXRl
ciBmb3IgdGhlICJwYXVzZSIgcGFyYW1ldGVyLg0KDQogICBUaGlzIGlzIHRoZSBTRFAgYW5zd2Vy
Og0KDQogICB2PTANCiAgIG89Ym9iIDI5Mzg0NzE5MiAyOTM4NDcxOTIgSU4gSVA0IGJvYi5leGFt
cGxlLmNvbQ0KICAgcz0tDQogICB0PTAgMA0KICAgYz1JTiBJUDQgYm9iLmV4YW1wbGUuY29tDQog
ICBtPWF1ZGlvIDQ5MjAyIFJUUC9BVlBGIDk4DQogICBhPXJ0cG1hcDo5OCBHNzE5LzQ4MDAwDQog
ICBhPXJ0Y3AtZmI6OTggY2NtIHBhdXNlIGNvbmZpZz0yDQoNCg0KICAgICAgICAgIEZpZ3VyZSAx
MDogU0RQIEFuc3dlciBXaXRoIFBhdXNlIGFuZCBSZXN1bWUgQ2FwYWJpbGl0eQ0KDQogICBUaGUg
YW5zd2VyZXIgd2lsbCBub3QgYWxsb3cgaXRzIHNlbnQgc3RyZWFtcyB0byBiZSBwYXVzZWQgb3Ig
cmVzdW1lZA0KICAgYW5kIHRodXMgcmVzdHJpY3RzIHRoZSBhbnN3ZXIgdG8gaW5kaWNhdGUgY29u
ZmlnPTIuICBJdCBhbHNvIHN1cHBvcnRzDQogICBwYXVzaW5nIGl0cyBvd24gUlRQIHN0cmVhbXMg
ZHVlIHRvIGxvY2FsIGNvbnNpZGVyYXRpb25zLCB3aGljaCBpcyB3aHkNCiAgIGNvbmZpZz0yIGlz
IGNob3NlbiByYXRoZXIgdGhhbiBjb25maWc9NC4gIFRoZSBhbnN3ZXJlciBzb21laG93IGtub3dz
DQogICB0aGF0IGl0IHdpbGwgbm90IGJlIGEgcG9pbnQtdG8tcG9pbnQgUlRQIHNlc3Npb24gYW5k
IGhhcyB0aGVyZWZvcmUNCiAgIHJlbW92ZWQgIm5vd2FpdCIgZnJvbSB0aGUgInBhdXNlIiBsaW5l
LCBtZWFuaW5nIHRoYXQgdGhlIG9mZmVyZXIgbXVzdA0KICAgdXNlIGEgbm9uLXplcm8gaG9sZC1v
ZmYgdGltZSB3aGVuIGJlaW5nIHJlcXVlc3RlZCB0byBwYXVzZSB0aGUNCiAgIHN0cmVhbS4NCg0K
ICAgV2hlbiB1c2luZyBUTU1CUiAwIC8gVE1NQk4gMCB0byBhY2hpZXZlIHBhdXNlIGFuZCByZXN1
bWUNCiAgIGZ1bmN0aW9uYWxpdHksIHRoZXJlIGFyZSBubyBkaWZmZXJlbmNlcyBpbiBTRFAgY29t
cGFyZWQgdG8gQ0NNDQogICBbUkZDNTEwNF0gYW5kIHRoZXJlZm9yZSBubyBzdWNoIGV4YW1wbGVz
IGFyZSBpbmNsdWRlZCBoZXJlLg0KDQoNCg0KDQoNCkJ1cm1hbiwgZXQgYWwuICAgICAgICAgICBF
eHBpcmVzIE1hcmNoIDE5LCAyMDE1ICAgICAgICAgICAgICAgIFtQYWdlIDMyXQ0KDA0KSW50ZXJu
ZXQtRHJhZnQgICAgICAgICAgICAgIFJUUCBTdHJlYW0gUGF1c2UgICAgICAgICAgICAgIFNlcHRl
bWJlciAyMDE0DQoNCg0KMTAuMi4gIFBvaW50LXRvLVBvaW50IFNlc3Npb24NCg0KICAgVGhpcyBp
cyB0aGUgbW9zdCBiYXNpYyBzY2VuYXJpbywgd2hpY2ggaW52b2x2ZXMgdHdvIHBhcnRpY2lwYW50
cywNCiAgIGVhY2ggYWN0aW5nIGFzIGEgc2VuZGVyIGFuZC9vciByZWNlaXZlci4gIEFueSBSVFAg
ZGF0YSByZWNlaXZlciBzZW5kcw0KICAgUEFVU0Ugb3IgUkVTVU1FIG1lc3NhZ2VzIHRvIHRoZSBz
ZW5kZXIsIHdoaWNoIHBhdXNlcyBvciByZXN1bWVzDQogICB0cmFuc21pc3Npb24gYWNjb3JkaW5n
bHkuICBUaGUgaG9sZC1vZmYgdGltZSBiZWZvcmUgcGF1c2luZyBhIHN0cmVhbQ0KICAgaXMgMC4N
Cg0KICAgICAgICAgICArLS0tLS0tLS0tLS0tLS0tKyAgICAgICAgICAgICAgICAgICArLS0tLS0t
LS0tLS0tLS0tKw0KICAgICAgICAgICB8ICBSVFAgU2VuZGVyICAgfCAgICAgICAgICAgICAgICAg
ICB8IFJUUCBSZWNlaXZlciAgfA0KICAgICAgICAgICArLS0tLS0tLS0tLS0tLS0tKyAgICAgICAg
ICAgICAgICAgICArLS0tLS0tLS0tLS0tLS0tKw0KICAgICAgICAgICAgICAgICAgOiAgICAgICAg
ICAgdDE6IFJUUCBkYXRhICAgICAgICAgICA6DQogICAgICAgICAgICAgICAgICB8IC0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0+IHwNCiAgICAgICAgICAgICAgICAgIHwgICAgICAgICAg
IHQyOiBQQVVTRSgzKSAgICAgICAgICAgfA0KICAgICAgICAgICAgICAgICAgfCA8LS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSB8DQogICAgICAgICAgICAgICAgICB8ICAgICAgIDwgUlRQ
IGRhdGEgcGF1c2VkID4gICAgICAgIHwNCiAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgIHQz
OiBQQVVTRUQoMykgICAgICAgICAgfA0KICAgICAgICAgICAgICAgICAgfCAtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tPiB8DQogICAgICAgICAgICAgICAgICA6ICAgICAgIDwgU29tZSB0
aW1lIHBhc3NlcyA+ICAgICAgIDoNCiAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgIHQ0OiBS
RVNVTUUoMykgICAgICAgICAgfA0KICAgICAgICAgICAgICAgICAgfCA8LS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLSB8DQogICAgICAgICAgICAgICAgICB8ICAgICAgICAgICB0NTogUlRQ
IGRhdGEgICAgICAgICAgIHwNCiAgICAgICAgICAgICAgICAgIHwgLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLT4gfA0KICAgICAgICAgICAgICAgICAgOiAgICAgICA8IFNvbWUgdGltZSBw
YXNzZXMgPiAgICAgICA6DQogICAgICAgICAgICAgICAgICB8ICAgICAgICAgICB0NjogUEFVU0Uo
NCkgICAgICAgICAgIHwNCiAgICAgICAgICAgICAgICAgIHwgPC0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0gfA0KICAgICAgICAgICAgICAgICAgfCAgICAgICA8IFJUUCBkYXRhIHBhdXNl
ZCA+ICAgICAgICB8DQogICAgICAgICAgICAgICAgICA6ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDoNCg0KDQogICAgICAgICAgRmlndXJlIDExOiBQYXVzZSBhbmQgUmVzdW1lIE9w
ZXJhdGlvbiBpbiBQb2ludC10by1Qb2ludA0KDQogICBGaWd1cmUgMTEgc2hvd3MgdGhlIGJhc2lj
IHBhdXNlIGFuZCByZXN1bWUgb3BlcmF0aW9uIGluIFBvaW50LXRvLQ0KICAgUG9pbnQgc2NlbmFy
aW8uICBBdCB0aW1lIHQxLCBhbiBSVFAgc2VuZGVyIHNlbmRzIGRhdGEgdG8gYSByZWNlaXZlci4N
CiAgIEF0IHRpbWUgdDIsIHRoZSBSVFAgcmVjZWl2ZXIgcmVxdWVzdHMgdGhlIHNlbmRlciB0byBw
YXVzZSB0aGUgc3RyZWFtLA0KICAgdXNpbmcgUGF1c2VJRCAzICh3aGljaCBpdCBrbmV3IHNpbmNl
IGJlZm9yZSBpbiB0aGlzIGV4YW1wbGUpLiAgVGhlDQogICBzZW5kZXIgcGF1c2VzIHRoZSBkYXRh
IGFuZCByZXBsaWVzIHdpdGggYSBQQVVTRUQgY29udGFpbmluZyB0aGUgc2FtZQ0KICAgUGF1c2VJ
RC4gIFNvbWUgdGltZSBsYXRlciAoYXQgdGltZSB0NCkgdGhlIHJlY2VpdmVyIHJlcXVlc3RzIHRo
ZQ0KICAgc2VuZGVyIHRvIHJlc3VtZSwgd2hpY2ggcmVzdW1lcyBpdHMgdHJhbnNtaXNzaW9uLiAg
VGhlIG5leHQgUEFVU0UsDQogICBzZW50IGF0IHRpbWUgdDYsIGNvbnRhaW5zIGFuIHVwZGF0ZWQg
UGF1c2VJRCAoNCkuDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KQnVybWFuLCBldCBhbC4gICAgICAg
ICAgIEV4cGlyZXMgTWFyY2ggMTksIDIwMTUgICAgICAgICAgICAgICAgW1BhZ2UgMzNdDQoMDQpJ
bnRlcm5ldC1EcmFmdCAgICAgICAgICAgICAgUlRQIFN0cmVhbSBQYXVzZSAgICAgICAgICAgICAg
U2VwdGVtYmVyIDIwMTQNCg0KDQogICAgICAgICAgICstLS0tLS0tLS0tLS0tLS0rICAgICAgICAg
ICAgICAgICAgICstLS0tLS0tLS0tLS0tLS0rDQogICAgICAgICAgIHwgIFJUUCBTZW5kZXIgICB8
ICAgICAgICAgICAgICAgICAgIHwgUlRQIFJlY2VpdmVyICB8DQogICAgICAgICAgICstLS0tLS0t
LS0tLS0tLS0rICAgICAgICAgICAgICAgICAgICstLS0tLS0tLS0tLS0tLS0rDQogICAgICAgICAg
ICAgICAgICA6ICAgICAgICAgICB0MTogUlRQIGRhdGEgICAgICAgICAgIDoNCiAgICAgICAgICAg
ICAgICAgIHwgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLT4gfA0KICAgICAgICAgICAg
ICAgICAgfCAgICAgICAgICAgdDI6IFRNTUJSIDAgICAgICAgICAgICB8DQogICAgICAgICAgICAg
ICAgICB8IDwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIHwNCiAgICAgICAgICAgICAg
ICAgIHwgICAgICAgPCBSVFAgZGF0YSBwYXVzZWQgPiAgICAgICAgfA0KICAgICAgICAgICAgICAg
ICAgfCAgICAgICAgICAgdDM6IFRNTUJOIDAgICAgICAgICAgICB8DQogICAgICAgICAgICAgICAg
ICB8IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0+IHwNCiAgICAgICAgICAgICAgICAg
IDogICAgICAgPCBTb21lIHRpbWUgcGFzc2VzID4gICAgICAgOg0KICAgICAgICAgICAgICAgICAg
fCAgICAgICAgICAgdDQ6IFRNTUJSIDE1MDAwMCAgICAgICB8DQogICAgICAgICAgICAgICAgICB8
IDwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIHwNCiAgICAgICAgICAgICAgICAgIHwg
ICAgICAgICAgIHQ1OiBSVFAgZGF0YSAgICAgICAgICAgfA0KICAgICAgICAgICAgICAgICAgfCAt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPiB8DQogICAgICAgICAgICAgICAgICA6ICAg
ICAgIDwgU29tZSB0aW1lIHBhc3NlcyA+ICAgICAgIDoNCiAgICAgICAgICAgICAgICAgIHwgICAg
ICAgICAgIHQ2OiBUTU1CUiAwICAgICAgICAgICAgfA0KICAgICAgICAgICAgICAgICAgfCA8LS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSB8DQogICAgICAgICAgICAgICAgICB8ICAgICAg
IDwgUlRQIGRhdGEgcGF1c2VkID4gICAgICAgIHwNCiAgICAgICAgICAgICAgICAgIDogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgOg0KDQoNCiAgICAgICAgICAgIEZpZ3VyZSAxMjog
VE1NQlIgUGF1c2UgYW5kIFJlc3VtZSBpbiBQb2ludC10by1Qb2ludA0KDQogICBGaWd1cmUgMTIg
ZGVzY3JpYmVzIHRoZSBzYW1lIHBvaW50LXRvLXBvaW50IHNjZW5hcmlvIGFzIGFib3ZlLCBidXQN
CiAgIHVzaW5nIFRNTUJSL1RNTUJOIHNpZ25hbGluZy4NCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoN
Cg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KQnVybWFuLCBldCBhbC4gICAgICAgICAgIEV4cGly
ZXMgTWFyY2ggMTksIDIwMTUgICAgICAgICAgICAgICAgW1BhZ2UgMzRdDQoMDQpJbnRlcm5ldC1E
cmFmdCAgICAgICAgICAgICAgUlRQIFN0cmVhbSBQYXVzZSAgICAgICAgICAgICAgU2VwdGVtYmVy
IDIwMTQNCg0KDQogICAgICAgICArLS0tLS0tLS0tLS0tLS0tKyAgICAgICAgICAgICAgICAgICAg
ICAgKy0tLS0tLS0tLS0tLS0tLSsNCiAgICAgICAgIHwgIFJUUCBTZW5kZXIgICB8ICAgICAgICAg
ICAgICAgICAgICAgICB8IFJUUCBSZWNlaXZlciAgfA0KICAgICAgICAgKy0tLS0tLS0tLS0tLS0t
LSsgICAgICAgICAgICAgICAgICAgICAgICstLS0tLS0tLS0tLS0tLS0rDQogICAgICAgICAgICAg
ICAgOiAgICAgICAgICAgdDE6IFJUUCBkYXRhICAgICAgICAgICAgICAgIDoNCiAgICAgICAgICAg
ICAgICB8IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLT4gfA0KICAgICAgICAg
ICAgICAgIHwgICAgICAgICAgICAgICAgICAgdDI6IFBBVVNFKDcpLCBsb3N0ICB8DQogICAgICAg
ICAgICAgICAgfCAgICAgICAgICAgICAgICAgICA8LS0tWC0tLS0tLS0tLS0tLS0tIHwNCiAgICAg
ICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfA0KICAg
ICAgICAgICAgICAgIHwgICAgICAgICAgIHQzOiBSVFAgZGF0YSAgICAgICAgICAgICAgICB8DQog
ICAgICAgICAgICAgICAgfCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0+IHwN
CiAgICAgICAgICAgICAgICA6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Og0KICAgICAgICAgICAgICAgIHwgICAgPFRpbWVvdXQsIHN0aWxsIHJlY2VpdmluZyBkYXRhPiAg
ICB8DQogICAgICAgICAgICAgICAgfCAgICAgICAgICAgdDQ6IFBBVVNFKDcpICAgICAgICAgICAg
ICAgIHwNCiAgICAgICAgICAgICAgICB8IDwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0gfA0KICAgICAgICAgICAgICAgIHwgICAgICAgICAgPCBSVFAgZGF0YSBwYXVzZWQgPiAg
ICAgICAgICB8DQogICAgICAgICAgICAgICAgfCAgICAgICAgICAgdDU6IFBBVVNFRCg3KSAgICAg
ICAgICAgICAgIHwNCiAgICAgICAgICAgICAgICB8IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLT4gfA0KICAgICAgICAgICAgICAgIDogICAgICAgICAgPCBTb21lIHRpbWUgcGFz
c2VzID4gICAgICAgICA6DQogICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICB0Njog
UkVTVU1FKDcpLCBsb3N0IHwNCiAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgIDwt
LS1YLS0tLS0tLS0tLS0tLS0gfA0KICAgICAgICAgICAgICAgIHwgICAgICAgICAgIHQ3OiBSRVNV
TUUoNykgICAgICAgICAgICAgICB8DQogICAgICAgICAgICAgICAgfCA8LS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tIHwNCiAgICAgICAgICAgICAgICB8ICAgICAgICAgICB0ODog
UlRQIGRhdGEgICAgICAgICAgICAgICAgfA0KICAgICAgICAgICAgICAgIHwgLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPiB8DQogICAgICAgICAgICAgICAgfCAgICAgICAgICAg
dDk6IFJFU1VNRSg3KSAgICAgICAgICAgICAgIHwNCiAgICAgICAgICAgICAgICB8IDwtLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gfA0KICAgICAgICAgICAgICAgIDogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6DQoNCg0KICAgICAgICAgRmlndXJlIDEz
OiBQYXVzZSBhbmQgUmVzdW1lIE9wZXJhdGlvbiBXaXRoIE1lc3NhZ2VzIExvc3QNCg0KICAgRmln
dXJlIDEzIGRlc2NyaWJlcyB3aGF0IGhhcHBlbnMgaWYgYSBQQVVTRSBtZXNzYWdlIGZyb20gYW4g
UlRQDQogICBzdHJlYW0gcmVjZWl2ZXIgZG9lcyBub3QgcmVhY2ggdGhlIFJUUCBzdHJlYW0gc2Vu
ZGVyLiAgQWZ0ZXIgc2VuZGluZw0KICAgYSBQQVVTRSBtZXNzYWdlLCB0aGUgUlRQIHN0cmVhbSBy
ZWNlaXZlciB3YWl0cyBmb3IgYSB0aW1lLW91dCB0bw0KICAgZGV0ZWN0IGlmIHRoZSBSVFAgc3Ry
ZWFtIHNlbmRlciBoYXMgcGF1c2VkIHRoZSBkYXRhIHRyYW5zbWlzc2lvbiBvcg0KICAgaGFzIHNl
bnQgUEFVU0VEIGluZGljYXRpb24gYWNjb3JkaW5nIHRvIHRoZSBydWxlcyBkaXNjdXNzZWQgaW4N
CiAgIFNlY3Rpb24gNi4zLiAgQXMgdGhlIFBBVVNFIG1lc3NhZ2UgaXMgbG9zdCBvbiB0aGUgd2F5
IChhdCB0aW1lIHQyKSwNCiAgIFJUUCBkYXRhIGNvbnRpbnVlcyB0byByZWFjaCB0byB0aGUgUlRQ
IHN0cmVhbSByZWNlaXZlci4gIFdoZW4gdGhlDQogICB0aW1lciBleHBpcmVzLCB0aGUgUlRQIHN0
cmVhbSByZWNlaXZlciBzY2hlZHVsZXMgYSByZXRyYW5zbWlzc2lvbiBvZg0KICAgdGhlIFBBVVNF
IG1lc3NhZ2UsIHdoaWNoIGlzIHNlbnQgYXQgdGltZSB0NC4gIElmIHRoZSBQQVVTRSBtZXNzYWdl
DQogICBub3cgcmVhY2hlcyB0aGUgUlRQIHN0cmVhbSBzZW5kZXIsIGl0IHBhdXNlcyB0aGUgUlRQ
IHN0cmVhbSBhbmQNCiAgIHJlcGxpZXMgd2l0aCBQQVVTRUQuDQoNCiAgIEF0IHRpbWUgdDYsIHRo
ZSBSVFAgc3RyZWFtIHJlY2VpdmVyIHdpc2hlcyB0byByZXN1bWUgdGhlIHN0cmVhbSBhZ2Fpbg0K
ICAgYW5kIHNlbmRzIGEgUkVTVU1FLCB3aGljaCBpcyBsb3N0LiAgVGhpcyBkb2VzIG5vdCBjYXVz
ZSBhbnkgc2V2ZXJlDQogICBlZmZlY3QsIHNpbmNlIHRoZXJlIGlzIG5vIHJlcXVpcmVtZW50IHRv
IHdhaXQgdW50aWwgZnVydGhlciBSRVNVTUUNCiAgIGFyZSBzZW50IGFuZCBhbm90aGVyIFJFU1VN
RSBhcmUgc2VudCBhbHJlYWR5IGF0IHRpbWUgdDcsIHdoaWNoIG5vdw0KICAgcmVhY2hlcyB0aGUg
UlRQIHN0cmVhbSBzZW5kZXIgdGhhdCBjb25zZXF1ZW50bHkgcmVzdW1lcyB0aGUgc3RyZWFtIGF0
DQoNCg0KDQpCdXJtYW4sIGV0IGFsLiAgICAgICAgICAgRXhwaXJlcyBNYXJjaCAxOSwgMjAxNSAg
ICAgICAgICAgICAgICBbUGFnZSAzNV0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgICBS
VFAgU3RyZWFtIFBhdXNlICAgICAgICAgICAgICBTZXB0ZW1iZXIgMjAxNA0KDQoNCiAgIHRpbWUg
dDguICBUaGUgdGltZSBpbnRlcnZhbCBiZXR3ZWVuIHQ2IGFuZCB0NyBjYW4gdmFyeSwgYnV0IG1h
eSBmb3INCiAgIGV4YW1wbGUgYmUgb25lIFJUQ1AgZmVlZGJhY2sgdHJhbnNtaXNzaW9uIGludGVy
dmFsIGFzIGRldGVybWluZWQgYnkNCiAgIHRoZSBBVlBGIHJ1bGVzLg0KDQogICBUaGUgUlRQIHN0
cmVhbSByZWNlaXZlciBkaWQgbm90IHJlYWxpemUgdGhhdCB0aGUgUlRQIHN0cmVhbSB3YXMNCiAg
IHJlc3VtZWQgaW4gdGltZSB0byBzdG9wIHlldCBhbm90aGVyIHNjaGVkdWxlZCBSRVNVTUUgZnJv
bSBiZWluZyBzZW50DQogICBhdCB0aW1lIHQ5LiAgVGhpcyBpcyBob3dldmVyIGhhcm1sZXNzIHNp
bmNlIHRoZSBSRVNVTUUgUGF1c2VJRCBpcw0KICAgbGVzcyB0aGFuIHRoZSB2YWxpZCBvbmUgYW5k
IHdpbGwgYmUgaWdub3JlZCBieSB0aGUgUlRQIHN0cmVhbSBzZW5kZXIuDQogICBJdCB3aWxsIGFs
c28gbm90IGNhdXNlIGFueSB1bndhbnRlZCByZXN1bWUgZXZlbiBpZiB0aGUgc3RyZWFtIHdhcw0K
ICAgcGF1c2VkIGJhc2VkIG9uIGEgUEFVU0UgZnJvbSBzb21lIG90aGVyIHJlY2VpdmVyIGJlZm9y
ZSByZWNlaXZpbmcgdGhlDQogICBSRVNVTUUsIHNpbmNlIHRoZSB2YWxpZCBQYXVzZUlEIGlzIG5v
dyBsYXJnZXIgdGhhbiB0aGUgb25lIGluIHRoZQ0KICAgc3RyYXkgUkVTVU1FIGFuZCB3aWxsIG9u
bHkgY2F1c2UgYSBSRUZVU0VEIGNvbnRhaW5pbmcgdGhlIG5ldyB2YWxpZA0KICAgUGF1c2VJRCBm
cm9tIHRoZSBSVFAgc3RyZWFtIHNlbmRlci4NCg0KICAgICAgICAgICAgKy0tLS0tLS0tLS0tLS0t
LSsgICAgICAgICAgICAgICAgICstLS0tLS0tLS0tLS0tLS0rDQogICAgICAgICAgICB8ICBSVFAg
U2VuZGVyICAgfCAgICAgICAgICAgICAgICAgfCBSVFAgUmVjZWl2ZXIgIHwNCiAgICAgICAgICAg
ICstLS0tLS0tLS0tLS0tLS0rICAgICAgICAgICAgICAgICArLS0tLS0tLS0tLS0tLS0tKw0KICAg
ICAgICAgICAgICAgICAgIDogICAgICAgICAgIHQxOiBSVFAgZGF0YSAgICAgICAgICA6DQogICAg
ICAgICAgICAgICAgICAgfCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0+IHwNCiAgICAg
ICAgICAgICAgICAgICB8ICAgICAgICAgICB0MjogUEFVU0UoMTEpICAgICAgICAgfA0KICAgICAg
ICAgICAgICAgICAgIHwgPC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSB8DQogICAgICAg
ICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwNCiAgICAgICAg
ICAgICAgICAgICB8ICA8IENhbiBub3QgcGF1c2UgUlRQIGRhdGEgPiAgICAgfA0KICAgICAgICAg
ICAgICAgICAgIHwgICAgICAgICAgIHQzOiBSRUZVU0VEKDExKSAgICAgICB8DQogICAgICAgICAg
ICAgICAgICAgfCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0+IHwNCiAgICAgICAgICAg
ICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfA0KICAgICAgICAgICAg
ICAgICAgIHwgICAgICAgICAgIHQ0OiBSVFAgZGF0YSAgICAgICAgICB8DQogICAgICAgICAgICAg
ICAgICAgfCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0+IHwNCiAgICAgICAgICAgICAg
ICAgICA6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOg0KDQoNCiAgICAgICAgICAg
RmlndXJlIDE0OiBQYXVzZSBSZXF1ZXN0IGlzIFJlZnVzZWQgaW4gUG9pbnQtdG8tUG9pbnQNCg0K
ICAgSW4gRmlndXJlIDE0LCB0aGUgcmVjZWl2ZXIgcmVxdWVzdHMgdG8gcGF1c2UgdGhlIHNlbmRl
ciwgd2hpY2gNCiAgIHJlZnVzZXMgdG8gcGF1c2UgZHVlIHRvIHNvbWUgY29uc2lkZXJhdGlvbiBs
b2NhbCB0byB0aGUgc2VuZGVyIGFuZA0KICAgcmVzcG9uZHMgd2l0aCBhIFJFRlVTRUQgbWVzc2Fn
ZS4NCg0KMTAuMy4gIFBvaW50LXRvLU11bHRpcG9pbnQgdXNpbmcgTWl4ZXINCg0KICAgQW4gUlRQ
IE1peGVyIGlzIGFuIGludGVybWVkaWF0ZSBub2RlIGNvbm5lY3RpbmcgZGlmZmVyZW50IHRyYW5z
cG9ydC0NCiAgIGxldmVsIGNsb3Vkcy4gIFRoZSBNaXhlciByZWNlaXZlcyBzdHJlYW1zIGZyb20g
ZGlmZmVyZW50IFJUUCBzb3VyY2VzLA0KICAgc2VsZWN0cyBvciBjb21iaW5lcyB0aGVtIGJhc2Vk
IG9uIHRoZSBhcHBsaWNhdGlvbidzIG5lZWRzIGFuZA0KICAgZm9yd2FyZHMgdGhlIGdlbmVyYXRl
ZCBzdHJlYW0ocykgdG8gdGhlIGRlc3RpbmF0aW9uLiAgVGhlIE1peGVyDQogICB0eXBpY2FsbHkg
cHV0cyBpdHMnIG93biBTU1JDKHMpIGluIFJUUCBkYXRhIHBhY2tldHMgaW5zdGVhZCBvZiB0aGUN
CiAgIG9yaWdpbmFsIHNvdXJjZShzKS4NCg0KICAgVGhlIE1peGVyIGtlZXBzIHRyYWNrIG9mIGFs
bCB0aGUgc3RyZWFtcyBkZWxpdmVyZWQgdG8gdGhlIE1peGVyIGFuZA0KICAgaG93IHRoZXkgYXJl
IGN1cnJlbnRseSB1c2VkLiAgSW4gdGhpcyBleGFtcGxlLCBpdCBzZWxlY3RzIHRoZSB2aWRlbw0K
DQoNCg0KQnVybWFuLCBldCBhbC4gICAgICAgICAgIEV4cGlyZXMgTWFyY2ggMTksIDIwMTUgICAg
ICAgICAgICAgICAgW1BhZ2UgMzZdDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICAgUlRQ
IFN0cmVhbSBQYXVzZSAgICAgICAgICAgICAgU2VwdGVtYmVyIDIwMTQNCg0KDQogICBzdHJlYW0g
dG8gZGVsaXZlciB0byB0aGUgcmVjZWl2ZXIgUiBiYXNlZCBvbiB0aGUgdm9pY2UgYWN0aXZpdHkg
b2YNCiAgIHRoZSBSVFAgc3RyZWFtIHNlbmRlcnMuICBUaGUgdmlkZW8gc3RyZWFtIHdpbGwgYmUg
ZGVsaXZlcmVkIHRvIFINCiAgIHVzaW5nIE0ncyBTU1JDIGFuZCB3aXRoIGFuIENTUkMgaW5kaWNh
dGluZyB0aGUgb3JpZ2luYWwgc291cmNlLg0KDQogICBOb3RlIHRoYXQgUGF1c2VJRCBpcyBub3Qg
b2YgYW55IHNpZ25pZmljYW5jZSBmb3IgdGhlIGV4YW1wbGUgYW5kIGlzDQogICB0aGVyZWZvcmUg
b21pdHRlZCBpbiB0aGUgZGVzY3JpcHRpb24uDQoNCiAgICAgKy0tLS0tKyAgICAgICAgICAgICst
LS0tLSsgICAgICAgICAgICArLS0tLS0rICAgICAgICAgICAgKy0tLS0tKw0KICAgICB8ICBSICB8
ICAgICAgICAgICAgfCAgTSAgfCAgICAgICAgICAgIHwgUzEgIHwgICAgICAgICAgICB8IFMyICB8
DQogICAgICstLS0tLSsgICAgICAgICAgICArLS0tLS18ICAgICAgICAgICAgKy0tLS0tKyAgICAg
ICAgICAgICstLS0tLSsNCiAgICAgICAgOiAgICAgICAgICAgICAgICAgIDogICB0MTpSVFAoUzEp
ICAgICA6ICAgICAgICAgICAgICAgICAgOg0KICAgICAgICB8IHQyOlJUUChNOlMxKSAgICAgfDwt
LS0tLS0tLS0tLS0tLS0tLXwgICAgICAgICAgICAgICAgICB8DQogICAgICAgIHw8LS0tLS0tLS0t
LS0tLS0tLS18ICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgIHwNCiAgICAgICAg
fCAgICAgICAgICAgICAgICAgIHwgdDM6UlRQKFMyKSAgICAgICB8ICAgICAgICAgICAgICAgICAg
fA0KICAgICAgICB8ICAgICAgICAgICAgICAgICAgfDwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS18DQogICAgICAgIHwgICAgICAgICAgICAgICAgICB8ICB0NDogUEFVU0UoUzIp
ICAgfCAgICAgICAgICAgICAgICAgIHwNCiAgICAgICAgfCAgICAgICAgICAgICAgICAgIHwtLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0+fA0KICAgICAgICB8ICAgICAgICAgICAg
ICAgICAgfCAgICAgICAgICAgICAgICAgIHwgICB0NTogUEFVU0VEKFMyKSB8DQogICAgICAgIHwg
ICAgICAgICAgICAgICAgICB8PC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwN
CiAgICAgICAgfCAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICB8IDxTMjpObyBS
VFAgdG8gTT4gfA0KICAgICAgICB8ICAgICAgICAgICAgICAgICAgfCB0NjogUkVTVU1FKFMyKSAg
IHwgICAgICAgICAgICAgICAgICB8DQogICAgICAgIHwgICAgICAgICAgICAgICAgICB8LS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPnwNCiAgICAgICAgfCAgICAgICAgICAgICAg
ICAgIHwgICAgICAgICAgICAgICAgICB8IHQ3OiBSVFAgdG8gTSAgICAgfA0KICAgICAgICB8ICAg
ICAgICAgICAgICAgICAgfDwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18DQog
ICAgICAgIHwgICB0ODpSVFAoTTpTMikgICB8ICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAg
ICAgICAgIHwNCiAgICAgICAgfDwtLS0tLS0tLS0tLS0tLS0tLXwgICAgICAgICAgICAgICAgICB8
ICAgICAgICAgICAgICAgICAgfA0KICAgICAgICB8ICAgICAgICAgICAgICAgICAgfCB0OTpQQVVT
RShTMSkgICAgIHwgICAgICAgICAgICAgICAgICB8DQogICAgICAgIHwgICAgICAgICAgICAgICAg
ICB8LS0tLS0tLS0tLS0tLS0tLS0+fCAgICAgICAgICAgICAgICAgIHwNCiAgICAgICAgfCAgICAg
ICAgICAgICAgICAgIHwgdDEwOlBBVVNFRChTMSkgICB8ICAgICAgICAgICAgICAgICAgfA0KICAg
ICAgICB8ICAgICAgICAgICAgICAgICAgfDwtLS0tLS0tLS0tLS0tLS0tLXwgICAgICAgICAgICAg
ICAgICB8DQogICAgICAgIHwgICAgICAgICAgICAgICAgICB8IDxTMTpObyBSVFAgdG8gTT4gfCAg
ICAgICAgICAgICAgICAgIHwNCiAgICAgICAgOiAgICAgICAgICAgICAgICAgIDogICAgICAgICAg
ICAgICAgICA6ICAgICAgICAgICAgICAgICAgOg0KDQoNCiAgICAgRmlndXJlIDE1OiBQYXVzZSBh
bmQgUmVzdW1lIE9wZXJhdGlvbiBmb3IgYSBWb2ljZSBBY3RpdmF0ZWQgTWl4ZXINCg0KICAgVGhl
IHNlc3Npb24gc3RhcnRzIGF0IHQxIHdpdGggUzEgYmVpbmcgdGhlIG1vc3QgYWN0aXZlIHNwZWFr
ZXIgYW5kDQogICB0aHVzIGJlaW5nIHNlbGVjdGVkIGFzIHRoZSBzaW5nbGUgdmlkZW8gc3RyZWFt
IHRvIGJlIGRlbGl2ZXJlZCB0byBSDQogICAodDIpIHVzaW5nIHRoZSBNaXhlciBTU1JDIGJ1dCB3
aXRoIFMxIGFzIENTUkMgKGluZGljYXRlZCBhZnRlciB0aGUNCiAgIGNvbG9uIGluIHRoZSBmaWd1
cmUpLiAgVGhlbiBTMiBqb2lucyB0aGUgc2Vzc2lvbiBhdCB0MyBhbmQgc3RhcnRzDQogICBkZWxp
dmVyaW5nIGFuIFJUUCBzdHJlYW0gdG8gdGhlIE1peGVyLiAgQXMgUzIgaGFzIGxlc3Mgdm9pY2Ug
YWN0aXZpdHkNCiAgIHRoZW4gUzEsIHRoZSBNaXhlciBkZWNpZGVzIHRvIHBhdXNlIFMyIGF0IHQ0
IGJ5IHNlbmRpbmcgUzIgYSBQQVVTRQ0KICAgcmVxdWVzdC4gIEF0IHQ1LCBTMiBhY2tub3dsZWRn
ZXMgd2l0aCBhIFBBVVNFRCBhbmQgYXQgdGhlIHNhbWUNCiAgIGluc3RhbnQgc3RvcHMgZGVsaXZl
cmluZyBSVFAgdG8gdGhlIE1peGVyLiAgQXQgdDYsIHRoZSB1c2VyIGF0IFMyDQogICBzdGFydHMg
c3BlYWtpbmcgYW5kIGJlY29tZXMgdGhlIG1vc3QgYWN0aXZlIHNwZWFrZXIgYW5kIHRoZSBNaXhl
cg0KICAgZGVjaWRlcyB0byBzd2l0Y2ggdGhlIHZpZGVvIHN0cmVhbSB0byBTMiwgYW5kIHRoZXJl
Zm9yZSBxdWlja2x5IHNlbmRzDQogICBhIFJFU1VNRSByZXF1ZXN0IHRvIFMyLiAgQXQgdDcsIFMy
IGhhcyByZWNlaXZlZCB0aGUgUkVTVU1FIHJlcXVlc3QNCiAgIGFuZCBhY3RzIG9uIGl0IGJ5IHJl
c3VtaW5nIFJUUCBzdHJlYW0gZGVsaXZlcnkgdG8gTS4gIFdoZW4gdGhlIFJUUA0KDQoNCg0KQnVy
bWFuLCBldCBhbC4gICAgICAgICAgIEV4cGlyZXMgTWFyY2ggMTksIDIwMTUgICAgICAgICAgICAg
ICAgW1BhZ2UgMzddDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICAgUlRQIFN0cmVhbSBQ
YXVzZSAgICAgICAgICAgICAgU2VwdGVtYmVyIDIwMTQNCg0KDQogICBzdHJlYW0gZnJvbSB0NyBh
cnJpdmVzIGF0IHRoZSBNaXhlciwgaXQgc3dpdGNoZXMgdGhpcyBSVFAgc3RyZWFtIGludG8NCiAg
IGl0cyBTU1JDIChNKSBhdCB0OCBhbmQgY2hhbmdlcyB0aGUgQ1NSQyB0byBTMi4gIEFzIFMxIG5v
dyBiZWNvbWVzDQogICB1bnVzZWQsIHRoZSBNaXhlciBpc3N1ZXMgYSBQQVVTRSByZXF1ZXN0IHRv
IFMxIGF0IHQ5LCB3aGljaCBpcw0KICAgYWNrbm93bGVkZ2VkIGF0IHQxMCB3aXRoIGEgUEFVU0VE
IGFuZCB0aGUgUlRQIHN0cmVhbSBmcm9tIFMxIHN0b3BzDQogICBiZWluZyBkZWxpdmVyZWQuDQoN
CjEwLjQuICBQb2ludC10by1NdWx0aXBvaW50IHVzaW5nIFRyYW5zbGF0b3INCg0KICAgQSB0cmFu
c3BvcnQgVHJhbnNsYXRvciBpbiBhbiBSVFAgc2Vzc2lvbiBmb3J3YXJkcyB0aGUgbWVzc2FnZSBm
cm9tDQogICBvbmUgcGVlciB0byBhbGwgdGhlIG90aGVycy4gIFVubGlrZSBNaXhlciwgdGhlIFRy
YW5zbGF0b3IgZG9lcyBub3QNCiAgIG1peCB0aGUgc3RyZWFtcyBvciBjaGFuZ2UgdGhlIFNTUkMg
b2YgdGhlIG1lc3NhZ2VzIG9yIFJUUCBtZWRpYS4NCiAgIFRoZXNlIGV4YW1wbGVzIGFyZSB0byBz
aG93IHRoYXQgdGhlIG1lc3NhZ2VzIGRlZmluZWQgaW4gdGhpcw0KICAgc3BlY2lmaWNhdGlvbiBj
YW4gYmUgc2FmZWx5IHVzZWQgYWxzbyBpbiBhIHRyYW5zcG9ydCBUcmFuc2xhdG9yIGNhc2UuDQog
ICBUaGUgcGFyZW50aGVzZXMgaW4gdGhlIGZpZ3VyZXMgY29udGFpbnMgKFRhcmdldCBTU1JDLCBQ
YXVzZUlEKQ0KICAgaW5mb3JtYXRpb24gZm9yIHRoZSBtZXNzYWdlcyBkZWZpbmVkIGluIHRoaXMg
c3BlY2lmaWNhdGlvbi4NCg0KICAgICAgICAgKy0tLS0tLS0tLS0tLS0rICAgICArLS0tLS0tLS0t
LS0tLSsgICAgICstLS0tLS0tLS0tLS0tLSsNCiAgICAgICAgIHwgIFNlbmRlcihTKSAgfCAgICAg
fCBUcmFuc2xhdG9yICB8ICAgICB8IFJlY2VpdmVyKFIpICB8DQogICAgICAgICArLS0tLS0tLS0t
LS0tLSsgICAgICstLS0tLS0tLS0tLS0tfCAgICAgKy0tLS0tLS0tLS0tLS0tKw0KICAgICAgICAg
ICAgICAgIDogdDE6IFJUUChTKSAgICAgICAgOiAgICAgICAgICAgICAgICAgICA6DQogICAgICAg
ICAgICAgICAgfC0tLS0tLS0tLS0tLS0tLS0tLT58ICAgICAgICAgICAgICAgICAgIHwNCiAgICAg
ICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgIHwgdDI6IFJUUCAoUykgICAgICAgfA0KICAg
ICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgfC0tLS0tLS0tLS0tLS0tLS0tLT58DQog
ICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICB8IHQzOiBQQVVTRShTLDMpICAgIHwN
CiAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgIHw8LS0tLS0tLS0tLS0tLS0tLS0t
fA0KICAgICAgICAgICAgICAgIHwgdDQ6UEFVU0UoUywzKSAgICAgfCAgICAgICAgICAgICAgICAg
ICB8DQogICAgICAgICAgICAgICAgfDwtLS0tLS0tLS0tLS0tLS0tLS18ICAgICAgICAgICAgICAg
ICAgIHwNCiAgICAgICAgICAgICAgICA6IDwgU2VuZGVyIHdhaXRpbmcgZm9yIHBvc3NpYmxlIFJF
U1VNRT4gOg0KICAgICAgICAgICAgICAgIHwgICAgICAgICAgPCBSVFAgZGF0YSBwYXVzZWQgPiAg
ICAgICAgICB8DQogICAgICAgICAgICAgICAgfCB0NTogUEFVU0VEKFMsMykgICB8ICAgICAgICAg
ICAgICAgICAgIHwNCiAgICAgICAgICAgICAgICB8LS0tLS0tLS0tLS0tLS0tLS0tPnwgICAgICAg
ICAgICAgICAgICAgfA0KICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgfCB0Njog
UEFVU0VEKFMsMykgICB8DQogICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICB8LS0t
LS0tLS0tLS0tLS0tLS0tPnwNCiAgICAgICAgICAgICAgICA6ICAgICAgICAgICAgICAgICAgIDog
ICAgICAgICAgICAgICAgICAgOg0KICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAg
fCB0NzogUkVTVU1FKFMsMykgICB8DQogICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAg
ICB8PC0tLS0tLS0tLS0tLS0tLS0tLXwNCiAgICAgICAgICAgICAgICB8IHQ4OiBSRVNVTUUoUywz
KSAgIHwgICAgICAgICAgICAgICAgICAgfA0KICAgICAgICAgICAgICAgIHw8LS0tLS0tLS0tLS0t
LS0tLS0tfCAgICAgICAgICAgICAgICAgICB8DQogICAgICAgICAgICAgICAgfCB0OTogUlRQIChT
KSAgICAgICB8ICAgICAgICAgICAgICAgICAgIHwNCiAgICAgICAgICAgICAgICB8LS0tLS0tLS0t
LS0tLS0tLS0tPnwgICAgICAgICAgICAgICAgICAgfA0KICAgICAgICAgICAgICAgIHwgICAgICAg
ICAgICAgICAgICAgfCB0MTA6IFJUUCAoUykgICAgICB8DQogICAgICAgICAgICAgICAgfCAgICAg
ICAgICAgICAgICAgICB8LS0tLS0tLS0tLS0tLS0tLS0tPnwNCiAgICAgICAgICAgICAgICA6ICAg
ICAgICAgICAgICAgICAgIDogICAgICAgICAgICAgICAgICAgOg0KDQoNCiAgIEZpZ3VyZSAxNjog
UGF1c2UgYW5kIFJlc3VtZSBPcGVyYXRpb24gQmV0d2VlbiBUd28gUGFydGljaXBhbnRzIFVzaW5n
DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYSBUcmFuc2xhdG9yDQoNCg0KDQoNCkJ1
cm1hbiwgZXQgYWwuICAgICAgICAgICBFeHBpcmVzIE1hcmNoIDE5LCAyMDE1ICAgICAgICAgICAg
ICAgIFtQYWdlIDM4XQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgIFJUUCBTdHJlYW0g
UGF1c2UgICAgICAgICAgICAgIFNlcHRlbWJlciAyMDE0DQoNCg0KICAgRmlndXJlIDE2IGRlc2Ny
aWJlcyBob3cgYSBUcmFuc2xhdG9yIGNhbiBoZWxwIHRoZSByZWNlaXZlciBpbiBwYXVzaW5nDQog
ICBhbmQgcmVzdW1pbmcgdGhlIHNlbmRlci4gIFRoZSBzZW5kZXIgUyBzZW5kcyBSVFAgZGF0YSB0
byB0aGUgcmVjZWl2ZXINCiAgIFIgdGhyb3VnaCBUcmFuc2xhdG9yLCB3aGljaCBqdXN0IGZvcndh
cmRzIHRoZSBkYXRhIHdpdGhvdXQgbW9kaWZ5aW5nDQogICB0aGUgU1NSQ3MuICBUaGUgcmVjZWl2
ZXIgc2VuZHMgYSBQQVVTRSByZXF1ZXN0IHRvIHRoZSBzZW5kZXIsIHdoaWNoDQogICBpbiB0aGlz
IGV4YW1wbGUga25vd3MgdGhhdCB0aGVyZSBtYXkgYmUgbW9yZSByZWNlaXZlcnMgb2YgdGhlIHN0
cmVhbQ0KICAgYW5kIHdhaXRzIGEgbm9uLXplcm8gaG9sZC1vZmYgdGltZSB0byBzZWUgaWYgdGhl
cmUgaXMgYW55IG90aGVyDQogICByZWNlaXZlciB0aGF0IHdhbnRzIHRvIHJlY2VpdmUgdGhlIGRh
dGEsIGRvZXMgbm90IHJlY2VpdmUgYW55DQogICBkaXNhcHByb3ZpbmcgUkVTVU1FLCBoZW5jZSBw
YXVzZXMgaXRzZWxmIGFuZCByZXBsaWVzIHdpdGggUEFVU0VELg0KICAgU2ltaWxhcmx5IHRoZSBy
ZWNlaXZlciByZXN1bWVzIHRoZSBzZW5kZXIgYnkgc2VuZGluZyBSRVNVTUUgcmVxdWVzdA0KICAg
dGhyb3VnaCBUcmFuc2xhdG9yLiAgU2luY2UgdGhpcyBkZXNjcmliZXMgb25seSBhIHNpbmdsZSBw
YXVzZQ0KICAgb3BlcmF0aW9uIGZvciBhIHNpbmdsZSBSVFAgc3RyZWFtIHNlbmRlciwgYWxsIG1l
c3NhZ2VzIHVzZXMgYSBzaW5nbGUNCiAgIFBhdXNlSUQsIGluIHRoaXMgZXhhbXBsZSAzLg0KDQoN
Cg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0K
DQoNCg0KDQoNCg0KDQoNCg0KQnVybWFuLCBldCBhbC4gICAgICAgICAgIEV4cGlyZXMgTWFyY2gg
MTksIDIwMTUgICAgICAgICAgICAgICAgW1BhZ2UgMzldDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAg
ICAgICAgICAgUlRQIFN0cmVhbSBQYXVzZSAgICAgICAgICAgICAgU2VwdGVtYmVyIDIwMTQNCg0K
DQogICAgICstLS0tLSsgICAgICAgICAgICArLS0tLS0rICAgICAgICAgICAgKy0tLS0tKyAgICAg
ICAgICAgICstLS0tLSsNCiAgICAgfCAgUyAgfCAgICAgICAgICAgIHwgIFQgIHwgICAgICAgICAg
ICB8IFIxICB8ICAgICAgICAgICAgfCBSMiAgfA0KICAgICArLS0tLS0rICAgICAgICAgICAgKy0t
LS0tfCAgICAgICAgICAgICstLS0tLSsgICAgICAgICAgICArLS0tLS0rDQogICAgICAgIDogdDE6
UlRQKFMpICAgICAgICA6ICAgICAgICAgICAgICAgICAgOiAgICAgICAgICAgICAgICAgIDoNCiAg
ICAgICAgfC0tLS0tLS0tLS0tLS0tLS0tPnwgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAg
ICAgICAgfA0KICAgICAgICB8ICAgICAgICAgICAgICAgICAgfCB0MjpSVFAoUykgICAgICAgIHwg
ICAgICAgICAgICAgICAgICB8DQogICAgICAgIHwgICAgICAgICAgICAgICAgICB8LS0tLS0tLS0t
LS0tLS0tLS0+LS0tLS0tLS0tLS0tLS0tLS0tPnwNCiAgICAgICAgfCAgICAgICAgICAgICAgICAg
IHwgdDM6UEFVU0UoUyw3KSAgICB8ICAgICAgICAgICAgICAgICAgfA0KICAgICAgICB8ICAgICAg
ICAgICAgICAgICAgfDwtLS0tLS0tLS0tLS0tLS0tLXwgICAgICAgICAgICAgICAgICB8DQogICAg
ICAgIHwgdDQ6UEFVU0UoUyw3KSAgICB8ICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAg
ICAgIHwNCiAgICAgICAgfDwtLS0tLS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0+fA0KICAgICAgICB8ICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAg
ICAgICAgIHwgICB0NTpSRVNVTUUoUyw3KSB8DQogICAgICAgIHwgICAgICAgICAgICAgICAgICB8
PC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwNCiAgICAgICAgfCB0NjpSRVNV
TUUoUyw3KSAgIHwgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgfA0KICAgICAg
ICB8PC0tLS0tLS0tLS0tLS0tLS0tfCAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAg
ICB8DQogICAgICAgIHwgICAgICAgICAgICAgICAgICB8PFJUUCBzdHJlYW0gY29udGludWVzIHRv
IFIxIGFuZCBSMj4gIHwNCiAgICAgICAgfCAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAg
ICAgICB8ICAgdDc6IFBBVVNFKFMsOCkgfA0KICAgICAgICB8ICAgICAgICAgICAgICAgICAgfDwt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18DQogICAgICAgIHwgdDg6UEFVU0Uo
Uyw4KSAgICB8ICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgIHwNCiAgICAgICAg
fDwtLS0tLS0tLS0tLS0tLS0tLXwgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAg
fA0KICAgICAgICA6ICAgICAgICAgICAgICAgICAgOiAgICAgICAgICAgICAgICAgIDogICAgICAg
ICAgICAgICAgICA6DQogICAgICAgIHwgPCBQYXVzZXMgUlRQIFN0cmVhbSA+ICAgICAgICAgICAg
ICAgfCAgICAgICAgICAgICAgICAgIHwNCiAgICAgICAgfCB0OTpQQVVTRUQoUyw4KSAgIHwgICAg
ICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgfA0KICAgICAgICB8LS0tLS0tLS0tLS0t
LS0tLS0+fCAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICB8DQogICAgICAgIHwg
ICAgICAgICAgICAgICAgICB8IHQxMDpQQVVTRUQoUyw4KSAgfCAgICAgICAgICAgICAgICAgIHwN
CiAgICAgICAgfCAgICAgICAgICAgICAgICAgIHwtLS0tLS0tLS0tLS0tLS0tLT4tLS0tLS0tLS0t
LS0tLS0tLS0+fA0KICAgICAgICA6ICAgICAgICAgICAgICAgICAgOiAgICAgICAgICAgICAgICAg
IDogICAgICAgICAgICAgICAgICA6DQogICAgICAgIHwgICAgICAgICAgICAgICAgICB8IHQxMTpS
RVNVTUUoUyw4KSAgfCAgICAgICAgICAgICAgICAgIHwNCiAgICAgICAgfCAgICAgICAgICAgICAg
ICAgIHw8LS0tLS0tLS0tLS0tLS0tLS18ICAgICAgICAgICAgICAgICAgfA0KICAgICAgICB8IHQx
MjpSRVNVTUUoUyw4KSAgfCAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICB8DQog
ICAgICAgIHw8LS0tLS0tLS0tLS0tLS0tLS18ICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAg
ICAgICAgIHwNCiAgICAgICAgfCB0MTM6UlRQKFMpICAgICAgIHwgICAgICAgICAgICAgICAgICB8
ICAgICAgICAgICAgICAgICAgfA0KICAgICAgICB8LS0tLS0tLS0tLS0tLS0tLS0+fCAgICAgICAg
ICAgICAgICAgIHwgICAgICAgICAgICAgICAgICB8DQogICAgICAgIHwgICAgICAgICAgICAgICAg
ICB8IHQxNDpSVFAoUykgICAgICAgfCAgICAgICAgICAgICAgICAgIHwNCiAgICAgICAgfCAgICAg
ICAgICAgICAgICAgIHwtLS0tLS0tLS0tLS0tLS0tLT4tLS0tLS0tLS0tLS0tLS0tLS0+fA0KICAg
ICAgICA6ICAgICAgICAgICAgICAgICAgOiAgICAgICAgICAgICAgICAgIDogICAgICAgICAgICAg
ICAgICA6DQoNCg0KICAgICBGaWd1cmUgMTc6IFBhdXNlIGFuZCBSZXN1bWUgT3BlcmF0aW9uIEJl
dHdlZW4gT25lIFNlbmRlciBhbmQgVHdvDQogICAgICAgICAgICAgICAgICAgICAgIFJlY2VpdmVy
cyBUaHJvdWdoIFRyYW5zbGF0b3INCg0KICAgRmlndXJlIDE3IGV4cGxhaW5zIHRoZSBwYXVzZSBh
bmQgcmVzdW1lIG9wZXJhdGlvbnMgd2hlbiBhIHRyYW5zcG9ydA0KICAgVHJhbnNsYXRvciBpcyBp
bnZvbHZlZCBiZXR3ZWVuIGEgc2VuZGVyIGFuZCB0d28gcmVjZWl2ZXJzIGluIGFuIFJUUA0KICAg
c2Vzc2lvbi4gIEVhY2ggbWVzc2FnZSBleGNoYW5nZSBpcyByZXByZXNlbnRlZCBieSB0aGUgdGlt
ZSBpdA0KICAgaGFwcGVucy4gIEF0IHRpbWUgdDEsIFNlbmRlciAoUykgc3RhcnRzIHNlbmRpbmcg
YW4gUlRQIHN0cmVhbSB0byB0aGUNCiAgIFRyYW5zbGF0b3IsIHdoaWNoIGlzIGZvcndhcmRlZCB0
byBSMSBhbmQgUjIgdGhyb3VnaCB0aGUgVHJhbnNsYXRvciwNCiAgIFQuICBSMSBhbmQgUjIgcmVj
ZWl2ZXMgUlRQIGRhdGEgZnJvbSBUcmFuc2xhdG9yIGF0IHQyLiAgQXQgdGhpcw0KDQoNCg0KDQpC
dXJtYW4sIGV0IGFsLiAgICAgICAgICAgRXhwaXJlcyBNYXJjaCAxOSwgMjAxNSAgICAgICAgICAg
ICAgICBbUGFnZSA0MF0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgICBSVFAgU3RyZWFt
IFBhdXNlICAgICAgICAgICAgICBTZXB0ZW1iZXIgMjAxNA0KDQoNCiAgIHBvaW50LCBib3RoIFIx
IGFuZCBSMiB3aWxsIHNlbmQgUlRDUCBSZWNlaXZlciBSZXBvcnRzIHRvIFMgaW5mb3JtaW5nDQog
ICB0aGF0IHRoZXkgcmVjZWl2ZSBTJ3Mgc3RyZWFtLg0KDQogICBBZnRlciBzb21lIHRpbWUgKGF0
IHQzKSwgUjEgY2hvb3NlcyB0byBwYXVzZSB0aGUgc3RyZWFtLiAgT24NCiAgIHJlY2VpdmluZyB0
aGUgUEFVU0UgcmVxdWVzdCBmcm9tIFIxIGF0IHQ0LCBTIGtub3dzIHRoYXQgdGhlcmUgYXJlIGF0
DQogICBsZWFzdCBvbmUgcmVjZWl2ZXIgdGhhdCBtYXkgc3RpbGwgd2FudCB0byByZWNlaXZlIHRo
ZSBkYXRhIGFuZCB1c2VzIGENCiAgIG5vbi16ZXJvIGhvbGQtb2ZmIHBlcmlvZCB0byB3YWl0IGZv
ciBwb3NzaWJsZSBSRVNVTUUgbWVzc2FnZXMuICBSMg0KICAgZGlkIGFsc28gcmVjZWl2ZSB0aGUg
UEFVU0UgcmVxdWVzdCBhdCB0aW1lIHQ0IGFuZCBzaW5jZSBpdCBzdGlsbA0KICAgd2FudHMgdG8g
cmVjZWl2ZSB0aGUgc3RyZWFtLCBpdCBzZW5kcyBhIFJFU1VNRSBmb3IgaXQgYXQgdGltZSB0NSwN
CiAgIHdoaWNoIGlzIGZvcndhcmRlZCB0byB0aGUgc2VuZGVyIFMgYnkgdGhlIHRyYW5zbGF0b3Ig
VC4gIFRoZSBzZW5kZXIgUw0KICAgc2VlcyB0aGUgUkVTVU1FIGF0IHRpbWUgdDYgYW5kIGNvbnRp
bnVlcyB0byBzZW5kIGRhdGEgdG8gVCB3aGljaA0KICAgZm9yd2FyZHMgdG8gYm90aCBSMSBhbmQg
UjIuICBBdCB0NywgdGhlIHJlY2VpdmVyIFIyIGNob29zZXMgdG8gcGF1c2UNCiAgIHRoZSBzdHJl
YW0gYnkgc2VuZGluZyBhIFBBVVNFIHJlcXVlc3Qgd2l0aCBhbiB1cGRhdGVkIFBhdXNlSUQuICBU
aGUNCiAgIHNlbmRlciBTIHN0aWxsIGtub3dzIHRoYXQgdGhlcmUgYXJlIG1vcmUgdGhhbiBvbmUg
cmVjZWl2ZXIgKFIxIGFuZA0KICAgUjIpIHRoYXQgbWF5IHdhbnQgdGhlIHN0cmVhbSBhbmQgYWdh
aW4gd2FpdHMgYSBub24temVybyBob2xkLW9mZg0KICAgdGltZSwgYWZ0ZXIgd2hpY2ggYW5kIG5v
dCBoYXZpbmcgcmVjZWl2ZWQgYW55IGRpc2FwcHJvdmluZyBSRVNVTUUsIGl0DQogICBjb25jbHVk
ZXMgdGhhdCB0aGUgc3RyZWFtIG11c3QgYmUgcGF1c2VkLiAgUyBub3cgc3RvcHMgc2VuZGluZyB0
aGUNCiAgIHN0cmVhbSBhbmQgcmVwbGllcyB3aXRoIFBBVVNFRCB0byBSMSBhbmQgUjIuICBXaGVu
IGFueSBvZiB0aGUNCiAgIHJlY2VpdmVycyAoUjEgb3IgUjIpIGNob29zZXMgdG8gcmVzdW1lIHRo
ZSBzdHJlYW0gZnJvbSBTLCBpbiB0aGlzDQogICBleGFtcGxlIFIxLCBpdCBzZW5kcyBhIFJFU1VN
RSByZXF1ZXN0IHRvIHRoZSBzZW5kZXIuICBUaGUgUlRQIHNlbmRlcg0KICAgaW1tZWRpYXRlbHkg
cmVzdW1lcyB0aGUgc3RyZWFtLg0KDQogICBDb25zaWRlciBhbHNvIGFuIFJUUCBzZXNzaW9uIHdo
aWNoIGluY2x1ZGVzIG9uZSBvciBtb3JlIHJlY2VpdmVycywNCiAgIHBhdXNlZCBzZW5kZXIocyks
IGFuZCBhIFRyYW5zbGF0b3IuICBGdXJ0aGVyIGFzc3VtZSB0aGF0IGEgbmV3DQogICBwYXJ0aWNp
cGFudCBqb2lucyB0aGUgc2Vzc2lvbiwgd2hpY2ggaXMgbm90IGF3YXJlIG9mIHRoZSBwYXVzZWQN
CiAgIHNlbmRlcihzKS4gIE9uIHJlY2VpdmluZyBrbm93bGVkZ2UgYWJvdXQgdGhlIG5ld2x5IGpv
aW5lZA0KICAgcGFydGljaXBhbnQsIGUuZy4gYW55IFJUUCB0cmFmZmljIG9yIFJUQ1AgcmVwb3J0
IChpLmUuIGVpdGhlciBTUiBvcg0KICAgUlIpIGZyb20gdGhlIG5ld2x5IGpvaW5lZCBwYXJ0aWNp
cGFudCwgdGhlIHBhdXNlZCBzZW5kZXIocykNCiAgIGltbWVkaWF0ZWx5IHNlbmRzIFBBVVNFRCBp
bmRpY2F0aW9ucyBmb3IgdGhlIHBhdXNlZCBzdHJlYW1zIHNpbmNlDQogICB0aGVyZSBpcyBub3cg
YSByZWNlaXZlciBpbiB0aGUgc2Vzc2lvbiB0aGF0IGRpZCBub3QgcGF1c2UgdGhlDQogICBzZW5k
ZXIocykgYW5kIG1heSB3YW50IHRvIHJlY2VpdmUgdGhlIHN0cmVhbXMuICBIYXZpbmcgdGhpcw0K
ICAgaW5mb3JtYXRpb24sIHRoZSBuZXdseSBqb2luZWQgcGFydGljaXBhbnQgaGFzIHRoZSBzYW1l
IHBvc3NpYmlsaXR5IGFzDQogICBhbnkgb3RoZXIgcGFydGljaXBhbnQgdG8gcmVzdW1lIHRoZSBw
YXVzZWQgc3RyZWFtcy4NCg0KMTEuICBJQU5BIENvbnNpZGVyYXRpb25zDQoNCiAgIEFzIG91dGxp
bmVkIGluIFNlY3Rpb24gNywgdGhpcyBzcGVjaWZpY2F0aW9uIHJlcXVlc3RzIElBTkEgdG8NCiAg
IGFsbG9jYXRlDQoNCiAgIDEuICBUaGUgRk1UIG51bWJlciBUQkExIHRvIGJlIGFsbG9jYXRlZCB0
byB0aGUgUEFVU0UgYW5kIFJFU1VNRQ0KICAgICAgIGZ1bmN0aW9uYWxpdHkgZnJvbSB0aGlzIHNw
ZWNpZmljYXRpb24uDQoNCiAgIDIuICBUaGUgJ3BhdXNlJyB0YWcgdG8gYmUgdXNlZCB3aXRoIGNj
bSB1bmRlciBydGNwLWZiIEFWUEYgYXR0cmlidXRlDQogICAgICAgaW4gU0RQLg0KDQogICAzLiAg
VGhlICdub3dhaXQnIHBhcmFtZXRlciB0byBiZSB1c2VkIHdpdGggdGhlICdwYXVzZScgdGFnIGlu
IFNEUC4NCg0KICAgNC4gIEEgcmVnaXN0cnkgbGlzdGluZyByZWdpc3RlcmVkIHZhbHVlcyBmb3Ig
J3BhdXNlJyBUeXBlcy4NCg0KDQoNCkJ1cm1hbiwgZXQgYWwuICAgICAgICAgICBFeHBpcmVzIE1h
cmNoIDE5LCAyMDE1ICAgICAgICAgICAgICAgIFtQYWdlIDQxXQ0KDA0KSW50ZXJuZXQtRHJhZnQg
ICAgICAgICAgICAgIFJUUCBTdHJlYW0gUGF1c2UgICAgICAgICAgICAgIFNlcHRlbWJlciAyMDE0
DQoNCg0KICAgNS4gIFBBVVNFLCBSRVNVTUUsIFBBVVNFRCwgYW5kIFJFRlVTRUQgd2l0aCB0aGUg
bGlzdGVkIG51bWJlcnMgaW4gdGhlDQogICAgICAgcGF1c2UgVHlwZSByZWdpc3RyeS4NCg0KMTIu
ICBTZWN1cml0eSBDb25zaWRlcmF0aW9ucw0KDQogICBUaGlzIGRvY3VtZW50IGV4dGVuZHMgdGhl
IENDTSBbUkZDNTEwNF0gYW5kIGRlZmluZXMgbmV3IG1lc3NhZ2VzLA0KICAgaS5lLiAgUEFVU0Ug
YW5kIFJFU1VNRS4gIFRoZSBleGNoYW5nZSBvZiB0aGVzZSBuZXcgbWVzc2FnZXMgTUFZIGhhdmUN
CiAgIHNvbWUgc2VjdXJpdHkgaW1wbGljYXRpb25zLCB3aGljaCBuZWVkIHRvIGJlIGFkZHJlc3Nl
ZCBieSB0aGUgdXNlci4NCiAgIEZvbGxvd2luZyBhcmUgc29tZSBpbXBvcnRhbnQgaW1wbGljYXRp
b25zLA0KDQogICAxLiAgSWRlbnRpdHkgc3Bvb2ZpbmcgLSBBbiBhdHRhY2tlciBjYW4gc3Bvb2Yg
aGltL2hlcnNlbGYgYXMgYW4NCiAgICAgICBhdXRoZW50aWNhdGVkIHVzZXIgYW5kIGNhbiBmYWxz
ZWx5IHBhdXNlIG9yIHJlc3VtZSBhbnkgc291cmNlDQogICAgICAgdHJhbnNtaXNzaW9uLiAgSW4g
b3JkZXIgdG8gcHJldmVudCB0aGlzIHR5cGUgb2YgYXR0YWNrLCBhIHN0cm9uZw0KICAgICAgIGF1
dGhlbnRpY2F0aW9uIGFuZCBpbnRlZ3JpdHkgcHJvdGVjdGlvbiBtZWNoYW5pc20gaXMgbmVlZGVk
Lg0KDQogICAyLiAgRGVuaWFsIG9mIFNlcnZpY2UgKERvUykgLSBBbiBhdHRhY2tlciBjYW4gZmFs
c2VseSBwYXVzZSBhbGwNCiAgICAgICBzb3VyY2Ugc3RyZWFtcyB3aGljaCBNQVkgcmVzdWx0IGlu
IERlbmlhbCBvZiBTZXJ2aWNlIChEb1MpLiAgQW4NCiAgICAgICBBdXRoZW50aWNhdGlvbiBwcm90
b2NvbCBtYXkgcHJldmVudCB0aGlzIGF0dGFjay4NCg0KICAgMy4gIE1hbi1pbi1NaWRkbGUgQXR0
YWNrIChNaU1UKSAtIFRoZSBwYXVzaW5nIGFuZCByZXN1bWluZyBvZiBhbiBSVFANCiAgICAgICBz
b3VyY2UgaXMgcHJvbmUgdG8gYSBNYW4taW4tTWlkZGxlIGF0dGFjay4gIFB1YmxpYyBrZXkNCiAg
ICAgICBhdXRoZW50aWNhdGlvbiBtYXkgYmUgdXNlZCB0byBwcmV2ZW50IE1pTVQuDQoNCjEzLiAg
Q29udHJpYnV0b3JzDQoNCiAgIERhbmllbCBHcm9uZGFsIGNvbnRyaWJ1dGVkIGluIHRoZSBjcmVh
dGlvbiBhbmQgd3JpdGluZyBvZiBlYXJseQ0KICAgdmVyc2lvbnMgb2YgdGhpcyBzcGVjaWZpY2F0
aW9uLg0KDQoxNC4gIEFja25vd2xlZGdlbWVudHMNCg0KICAgRGFuaWVsIEdyb25kYWwgbWFkZSB2
YWx1YWJsZSBjb250cmlidXRpb25zIGR1cmluZyB0aGUgaW5pdGlhbA0KICAgdmVyc2lvbnMgb2Yg
dGhpcyBkcmFmdC4gIENocmlzdGlhbiBHcm92ZXMgcHJvdmlkZWQgdmFsdWFibGUgcmV2aWV3DQog
ICBjb21tZW50cy4NCg0KMTUuICBSZWZlcmVuY2VzDQoNCjE1LjEuICBOb3JtYXRpdmUgUmVmZXJl
bmNlcw0KDQogICBbUkZDMjExOV0gIEJyYWRuZXIsIFMuLCAiS2V5IHdvcmRzIGZvciB1c2UgaW4g
UkZDcyB0byBJbmRpY2F0ZQ0KICAgICAgICAgICAgICBSZXF1aXJlbWVudCBMZXZlbHMiLCBCQ1Ag
MTQsIFJGQyAyMTE5LCBNYXJjaCAxOTk3Lg0KDQogICBbUkZDMzU1MF0gIFNjaHVsenJpbm5lLCBI
LiwgQ2FzbmVyLCBTLiwgRnJlZGVyaWNrLCBSLiwgYW5kIFYuDQogICAgICAgICAgICAgIEphY29i
c29uLCAiUlRQOiBBIFRyYW5zcG9ydCBQcm90b2NvbCBmb3IgUmVhbC1UaW1lDQogICAgICAgICAg
ICAgIEFwcGxpY2F0aW9ucyIsIFNURCA2NCwgUkZDIDM1NTAsIEp1bHkgMjAwMy4NCg0KDQoNCg0K
DQoNCg0KQnVybWFuLCBldCBhbC4gICAgICAgICAgIEV4cGlyZXMgTWFyY2ggMTksIDIwMTUgICAg
ICAgICAgICAgICAgW1BhZ2UgNDJdDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICAgUlRQ
IFN0cmVhbSBQYXVzZSAgICAgICAgICAgICAgU2VwdGVtYmVyIDIwMTQNCg0KDQogICBbUkZDNDU4
NV0gIE90dCwgSi4sIFdlbmdlciwgUy4sIFNhdG8sIE4uLCBCdXJtZWlzdGVyLCBDLiwgYW5kIEou
IFJleSwNCiAgICAgICAgICAgICAgIkV4dGVuZGVkIFJUUCBQcm9maWxlIGZvciBSZWFsLXRpbWUg
VHJhbnNwb3J0IENvbnRyb2wNCiAgICAgICAgICAgICAgUHJvdG9jb2wgKFJUQ1ApLUJhc2VkIEZl
ZWRiYWNrIChSVFAvQVZQRikiLCBSRkMgNDU4NSwgSnVseQ0KICAgICAgICAgICAgICAyMDA2Lg0K
DQogICBbUkZDNTEwNF0gIFdlbmdlciwgUy4sIENoYW5kcmEsIFUuLCBXZXN0ZXJsdW5kLCBNLiwg
YW5kIEIuIEJ1cm1hbiwNCiAgICAgICAgICAgICAgIkNvZGVjIENvbnRyb2wgTWVzc2FnZXMgaW4g
dGhlIFJUUCBBdWRpby1WaXN1YWwgUHJvZmlsZQ0KICAgICAgICAgICAgICB3aXRoIEZlZWRiYWNr
IChBVlBGKSIsIFJGQyA1MTA0LCBGZWJydWFyeSAyMDA4Lg0KDQogICBbUkZDNTIzNF0gIENyb2Nr
ZXIsIEQuIGFuZCBQLiBPdmVyZWxsLCAiQXVnbWVudGVkIEJORiBmb3IgU3ludGF4DQogICAgICAg
ICAgICAgIFNwZWNpZmljYXRpb25zOiBBQk5GIiwgU1REIDY4LCBSRkMgNTIzNCwgSmFudWFyeSAy
MDA4Lg0KDQogICBbUkZDNTI0NV0gIFJvc2VuYmVyZywgSi4sICJJbnRlcmFjdGl2ZSBDb25uZWN0
aXZpdHkgRXN0YWJsaXNobWVudA0KICAgICAgICAgICAgICAoSUNFKTogQSBQcm90b2NvbCBmb3Ig
TmV0d29yayBBZGRyZXNzIFRyYW5zbGF0b3IgKE5BVCkNCiAgICAgICAgICAgICAgVHJhdmVyc2Fs
IGZvciBPZmZlci9BbnN3ZXIgUHJvdG9jb2xzIiwgUkZDIDUyNDUsIEFwcmlsDQogICAgICAgICAg
ICAgIDIwMTAuDQoNCiAgIFtSRkM2MjYzXSAgTWFyam91LCBYLiBhbmQgQS4gU29sbGF1ZCwgIkFw
cGxpY2F0aW9uIE1lY2hhbmlzbSBmb3INCiAgICAgICAgICAgICAgS2VlcGluZyBBbGl2ZSB0aGUg
TkFUIE1hcHBpbmdzIEFzc29jaWF0ZWQgd2l0aCBSVFAgLyBSVFANCiAgICAgICAgICAgICAgQ29u
dHJvbCBQcm90b2NvbCAoUlRDUCkgRmxvd3MiLCBSRkMgNjI2MywgSnVuZSAyMDExLg0KDQoxNS4y
LiAgSW5mb3JtYXRpdmUgUmVmZXJlbmNlcw0KDQogICBbSS1ELmlldGYtYXZ0Y29yZS1ydHAtdG9w
b2xvZ2llcy11cGRhdGVdDQogICAgICAgICAgICAgIFdlc3Rlcmx1bmQsIE0uIGFuZCBTLiBXZW5n
ZXIsICJSVFAgVG9wb2xvZ2llcyIsIGRyYWZ0LQ0KICAgICAgICAgICAgICBpZXRmLWF2dGNvcmUt
cnRwLXRvcG9sb2dpZXMtdXBkYXRlLTAwICh3b3JrIGluIHByb2dyZXNzKSwNCiAgICAgICAgICAg
ICAgQXByaWwgMjAxMy4NCg0KICAgW0ktRC5pZXRmLWF2dGV4dC1ydHAtZ3JvdXBpbmctdGF4b25v
bXldDQogICAgICAgICAgICAgIExlbm5veCwgSi4sIEdyb3NzLCBLLiwgTmFuZGFrdW1hciwgUy4s
IGFuZCBHLiBTYWxndWVpcm8sDQogICAgICAgICAgICAgICJBIFRheG9ub215IG9mIEdyb3VwaW5n
IFNlbWFudGljcyBhbmQgTWVjaGFuaXNtcyBmb3IgUmVhbC0NCiAgICAgICAgICAgICAgVGltZSBU
cmFuc3BvcnQgUHJvdG9jb2wgKFJUUCkgU291cmNlcyIsIGRyYWZ0LWlldGYtYXZ0ZXh0LQ0KICAg
ICAgICAgICAgICBydHAtZ3JvdXBpbmctdGF4b25vbXktMDEgKHdvcmsgaW4gcHJvZ3Jlc3MpLCBG
ZWJydWFyeQ0KICAgICAgICAgICAgICAyMDE0Lg0KDQogICBbSS1ELmlldGYtcnRjd2ViLXVzZS1j
YXNlcy1hbmQtcmVxdWlyZW1lbnRzXQ0KICAgICAgICAgICAgICBIb2xtYmVyZywgQy4sIEhha2Fu
c3NvbiwgUy4sIGFuZCBHLiBFcmlrc3NvbiwgIldlYiBSZWFsLQ0KICAgICAgICAgICAgICBUaW1l
IENvbW11bmljYXRpb24gVXNlLWNhc2VzIGFuZCBSZXF1aXJlbWVudHMiLCBkcmFmdC0NCiAgICAg
ICAgICAgICAgaWV0Zi1ydGN3ZWItdXNlLWNhc2VzLWFuZC1yZXF1aXJlbWVudHMtMDkgKHdvcmsg
aW4NCiAgICAgICAgICAgICAgcHJvZ3Jlc3MpLCBKdW5lIDIwMTIuDQoNCiAgIFtJLUQud2VzdGVy
bHVuZC1hdnRjb3JlLXJ0cC1zaW11bGNhc3RdDQogICAgICAgICAgICAgIFdlc3Rlcmx1bmQsIE0u
LCBCdXJtYW4sIEIuLCBMaW5kcXZpc3QsIE0uLCBhbmQgRi4gSmFuc3NvbiwNCiAgICAgICAgICAg
ICAgIlVzaW5nIFNpbXVsY2FzdCBpbiBSVFAgc2Vzc2lvbnMiLCBkcmFmdC13ZXN0ZXJsdW5kLQ0K
ICAgICAgICAgICAgICBhdnRjb3JlLXJ0cC1zaW11bGNhc3QgKHdvcmsgaW4gcHJvZ3Jlc3MpLCBP
Y3RvYmVyIDIwMTEuDQoNCiAgIFtSRkMyMzI2XSAgU2NodWx6cmlubmUsIEguLCBSYW8sIEEuLCBh
bmQgUi4gTGFucGhpZXIsICJSZWFsIFRpbWUNCiAgICAgICAgICAgICAgU3RyZWFtaW5nIFByb3Rv
Y29sIChSVFNQKSIsIFJGQyAyMzI2LCBBcHJpbCAxOTk4Lg0KDQoNCg0KQnVybWFuLCBldCBhbC4g
ICAgICAgICAgIEV4cGlyZXMgTWFyY2ggMTksIDIwMTUgICAgICAgICAgICAgICAgW1BhZ2UgNDNd
DQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICAgUlRQIFN0cmVhbSBQYXVzZSAgICAgICAg
ICAgICAgU2VwdGVtYmVyIDIwMTQNCg0KDQogICBbUkZDMjk3NF0gIEhhbmRsZXksIE0uLCBQZXJr
aW5zLCBDLiwgYW5kIEUuIFdoZWxhbiwgIlNlc3Npb24NCiAgICAgICAgICAgICAgQW5ub3VuY2Vt
ZW50IFByb3RvY29sIiwgUkZDIDI5NzQsIE9jdG9iZXIgMjAwMC4NCg0KICAgW1JGQzMyNjFdICBS
b3NlbmJlcmcsIEouLCBTY2h1bHpyaW5uZSwgSC4sIENhbWFyaWxsbywgRy4sIEpvaG5zdG9uLA0K
ICAgICAgICAgICAgICBBLiwgUGV0ZXJzb24sIEouLCBTcGFya3MsIFIuLCBIYW5kbGV5LCBNLiwg
YW5kIEUuDQogICAgICAgICAgICAgIFNjaG9vbGVyLCAiU0lQOiBTZXNzaW9uIEluaXRpYXRpb24g
UHJvdG9jb2wiLCBSRkMgMzI2MSwNCiAgICAgICAgICAgICAgSnVuZSAyMDAyLg0KDQogICBbUkZD
MzI2NF0gIFJvc2VuYmVyZywgSi4gYW5kIEguIFNjaHVsenJpbm5lLCAiQW4gT2ZmZXIvQW5zd2Vy
IE1vZGVsDQogICAgICAgICAgICAgIHdpdGggU2Vzc2lvbiBEZXNjcmlwdGlvbiBQcm90b2NvbCAo
U0RQKSIsIFJGQyAzMjY0LCBKdW5lDQogICAgICAgICAgICAgIDIwMDIuDQoNCiAgIFtSRkM0NTY2
XSAgSGFuZGxleSwgTS4sIEphY29ic29uLCBWLiwgYW5kIEMuIFBlcmtpbnMsICJTRFA6IFNlc3Np
b24NCiAgICAgICAgICAgICAgRGVzY3JpcHRpb24gUHJvdG9jb2wiLCBSRkMgNDU2NiwgSnVseSAy
MDA2Lg0KDQogICBbUkZDNjE5MF0gIFdlbmdlciwgUy4sIFdhbmcsIFkuLCBTY2hpZXJsLCBULiwg
YW5kIEEuIEVsZWZ0aGVyaWFkaXMsDQogICAgICAgICAgICAgICJSVFAgUGF5bG9hZCBGb3JtYXQg
Zm9yIFNjYWxhYmxlIFZpZGVvIENvZGluZyIsIFJGQyA2MTkwLA0KICAgICAgICAgICAgICBNYXkg
MjAxMS4NCg0KQXBwZW5kaXggQS4gIENoYW5nZXMgRnJvbSBFYXJsaWVyIFZlcnNpb25zDQoNCiAg
IE5PVEUgVE8gUkZDIEVESVRPUjogUGxlYXNlIHJlbW92ZSB0aGlzIHNlY3Rpb24gcHJpb3IgdG8g
cHVibGljYXRpb24uDQoNCkEuMS4gIE1vZGlmaWNhdGlvbnMgQmV0d2VlbiBWZXJzaW9uIC0wMiBh
bmQgLTAzDQoNCiAgIG8gIENoYW5nZWQgdGhlIHNlY3Rpb24gb24gU0RQIHNpZ25hbGluZyB0byBi
ZSBtb3JlIGV4cGxpY2l0IGFuZCBjbGVhcg0KICAgICAgaW4gd2hhdCBpcyBzdXBwb3J0ZWQsIHJl
cGxhY2luZyB0aGUgJ3BhdXNlZCcgcGFyYW1ldGVyIGFuZCB0aGUNCiAgICAgICdkaXInIGF0dHJp
YnV0ZSB3aXRoIGEgJ2NvbmZpZycgcGFyYW1ldGVyIHRoYXQgY2FuIHRha2UgYSB2YWx1ZSwNCiAg
ICAgIGFuZCBhbiBleHBsaWNpdCBsaXN0aW5nIG9mIHdoYXQgZWFjaCB2YWx1ZSBtZWFucy4NCg0K
ICAgbyAgQWRkZWQgYSBzZW50ZW5jZSBpbiBzZWN0aW9uIG9uIHBhdXNlZCBzdGF0ZSAoU2VjdGlv
biA2LjMpIHRoYXQNCiAgICAgIHBhdXNlIG11c3Qgbm90IGFmZmVjdCBSVFAga2VlcGFsaXZlLg0K
DQogICBvICBSZXBsYWNlZCBSRUZVU0UgbWVzc2FnZSBuYW1lIHdpdGggUkVGVVNFRCB0aHJvdWdo
b3V0LCB0byBiZXR0ZXINCiAgICAgIGluZGljYXRlIHRoYXQgaXQgaXMgbm90IGEgY29tbWFuZCBi
dXQgYSBub3RpZmljYXRpb24uDQoNCkEuMi4gIE1vZGlmaWNhdGlvbnMgQmV0d2VlbiBWZXJzaW9u
IC0wMSBhbmQgLTAyDQoNCiAgIG8gIFJlcGxhY2VkIG1vc3QgdGV4dCBvbiByZWxhdGlvbiB3aXRo
IG90aGVyIHNpZ25hbGluZyB0ZWNobm9sb2dpZXMNCiAgICAgIGluIHByZXZpb3VzIHNlY3Rpb24g
NSB3aXRoIGEgc2luZ2xlLCBzdW1tYXJpemluZyBwYXJhZ3JhcGgsIGFzDQogICAgICBkaXNjdXNz
ZWQgYXQgSUVURiA5MCBpbiBUb3JvbnRvLCBhbmQgcGxhY2VkIGl0IGFzIHRoZSBsYXN0IHN1Yi0N
CiAgICAgIHNlY3Rpb24gb2Ygc2VjdGlvbiA0IChkZXNpZ24gY29uc2lkZXJhdGlvbnMpLg0KDQog
ICBvICBSZW1vdmVkIHVudXNlZCByZWZlcmVuY2VzLg0KDQoNCg0KDQoNCg0KDQpCdXJtYW4sIGV0
IGFsLiAgICAgICAgICAgRXhwaXJlcyBNYXJjaCAxOSwgMjAxNSAgICAgICAgICAgICAgICBbUGFn
ZSA0NF0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgICBSVFAgU3RyZWFtIFBhdXNlICAg
ICAgICAgICAgICBTZXB0ZW1iZXIgMjAxNA0KDQoNCkEuMy4gIE1vZGlmaWNhdGlvbnMgQmV0d2Vl
biBWZXJzaW9uIC0wMCBhbmQgLTAxDQoNCiAgIG8gIENvcnJlY3RlZCB0ZXh0IGluIHNlY3Rpb24g
Ni41IGFuZCA2LjIgdG8gaW5kaWNhdGUgdGhhdCBhIFBBVVNFDQogICAgICBzaWduYWxlZCB2aWEg
VE1NQlIgMCBjYW5ub3QgYmUgUkVGVVNFRCB1c2luZyBUTU1CTiA+IDANCg0KICAgbyAgSW1wcm92
ZWQgYWxpZ25tZW50IHdpdGggUlRQIFRheG9ub215IGRyYWZ0LCBpbmNsdWRpbmcgdGhlIGNoYW5n
ZQ0KICAgICAgb2YgUGFja2V0IFN0cmVhbSB0byBSVFAgU3RyZWFtDQoNCiAgIG8gIEVkaXRvcmlh
bCBpbXByb3ZlbWVudHMNCg0KQXV0aG9ycycgQWRkcmVzc2VzDQoNCiAgIEJvIEJ1cm1hbg0KICAg
RXJpY3Nzb24NCiAgIEtpc3RhdmFnZW4gMjUNCiAgIFNFIC0gMTY0IDgwIEtpc3RhDQogICBTd2Vk
ZW4NCg0KICAgUGhvbmU6ICs0NjEwNzE0MTMxMQ0KICAgRW1haWw6IGJvLmJ1cm1hbkBlcmljc3Nv
bi5jb20NCiAgIFVSSTogICB3d3cuZXJpY3Nzb24uY29tDQoNCg0KICAgQXphbSBBa3JhbQ0KICAg
RXJpY3Nzb24NCiAgIEZhcm9nYXRhbiA2DQogICBTRSAtIDE2NCA4MCBLaXN0YQ0KICAgU3dlZGVu
DQoNCiAgIFBob25lOiArNDYxMDcxNDI2NTgNCiAgIEVtYWlsOiBtdWhhbW1hZC5hemFtLmFrcmFt
QGVyaWNzc29uLmNvbQ0KICAgVVJJOiAgIHd3dy5lcmljc3Nvbi5jb20NCg0KDQogICBSb25pIEV2
ZW4NCiAgIEh1YXdlaSBUZWNobm9sb2dpZXMNCiAgIFRlbCBBdml2DQogICBJc3JhZWwNCg0KICAg
RW1haWw6IHJvbmkuZXZlbkBtYWlsMDEuaHVhd2VpLmNvbQ0KDQoNCg0KDQoNCg0KDQoNCg0KDQoN
CkJ1cm1hbiwgZXQgYWwuICAgICAgICAgICBFeHBpcmVzIE1hcmNoIDE5LCAyMDE1ICAgICAgICAg
ICAgICAgIFtQYWdlIDQ1XQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgIFJUUCBTdHJl
YW0gUGF1c2UgICAgICAgICAgICAgIFNlcHRlbWJlciAyMDE0DQoNCg0KICAgTWFnbnVzIFdlc3Rl
cmx1bmQNCiAgIEVyaWNzc29uDQogICBGYXJvZ2F0YW4gNg0KICAgU0UtIEtpc3RhIDE2NCA4MA0K
ICAgU3dlZGVuDQoNCiAgIFBob25lOiArNDYxMDcxNDgyODcNCiAgIEVtYWlsOiBtYWdudXMud2Vz
dGVybHVuZEBlcmljc3Nvbi5jb20NCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoN
Cg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KQnVybWFu
LCBldCBhbC4gICAgICAgICAgIEV4cGlyZXMgTWFyY2ggMTksIDIwMTUgICAgICAgICAgICAgICAg
W1BhZ2UgNDZdDQo=

--_002_BBE9739C2C302046BD34B42713A1E2A22E2CD82AESESSMB105erics_--


From nobody Mon Sep 15 20:14:23 2014
Return-Path: <Christian.Groves@nteczone.com>
X-Original-To: avtext@ietfa.amsl.com
Delivered-To: avtext@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id AFD041A020B for <avtext@ietfa.amsl.com>; Mon, 15 Sep 2014 20:14:21 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.1
X-Spam-Level: 
X-Spam-Status: No, score=-0.1 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, J_CHICKENPOX_38=0.6, J_CHICKENPOX_45=0.6, J_CHICKENPOX_46=0.6] autolearn=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id vO77tcxxAtvI for <avtext@ietfa.amsl.com>; Mon, 15 Sep 2014 20:14:17 -0700 (PDT)
Received: from cserver5.myshophosting.com (cserver5.myshophosting.com [175.107.161.1]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id E44B71A0199 for <avtext@ietf.org>; Mon, 15 Sep 2014 20:14:16 -0700 (PDT)
Received: from ppp118-209-111-109.lns20.mel4.internode.on.net ([118.209.111.109]:54449 helo=[127.0.0.1]) by cserver5.myshophosting.com with esmtpsa (TLSv1:DHE-RSA-AES128-SHA:128) (Exim 4.82) (envelope-from <Christian.Groves@nteczone.com>) id 1XTjBx-0008Jw-TF; Tue, 16 Sep 2014 13:12:34 +1000
Message-ID: <5417AB01.2010801@nteczone.com>
Date: Tue, 16 Sep 2014 13:14:09 +1000
From: Christian Groves <Christian.Groves@nteczone.com>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.6.0
MIME-Version: 1.0
To: Bo Burman <bo.burman@ericsson.com>,  "avtext@ietf.org" <avtext@ietf.org>
References: <949EF20990823C4C85C18D59AA11AD8B212C0B@FR712WXCHMBA11.zeu.alcatel-lucent.com> <53F1DD5D.6030204@nteczone.com> <BBE9739C2C302046BD34B42713A1E2A22E28C887@ESESSMB105.ericsson.se> <53F441C3.5050201@nteczone.com> <BBE9739C2C302046BD34B42713A1E2A22E29290C@ESESSMB105.ericsson.se> <53FD7F8A.6060608@nteczone.com> <BBE9739C2C302046BD34B42713A1E2A22E29B9AD@ESESSMB105.ericsson.se> <54051326.5090103@nteczone.com> <BBE9739C2C302046BD34B42713A1E2A22E29F3A3@ESESSMB105.ericsson.se> <BBE9739C2C302046BD34B42713A1E2A22E2CD82A@ESESSMB105.ericsson.se>
In-Reply-To: <BBE9739C2C302046BD34B42713A1E2A22E2CD82A@ESESSMB105.ericsson.se>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - cserver5.myshophosting.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - nteczone.com
X-Get-Message-Sender-Via: cserver5.myshophosting.com: authenticated_id: christian.groves@nteczone.com
X-Source: 
X-Source-Args: 
X-Source-Dir: 
Archived-At: http://mailarchive.ietf.org/arch/msg/avtext/CPYl9jo32eeoMqFSc79s3kdxdhk
Subject: Re: [avtext] WGLC for  draft-ietf-avtext-rtp-stream-pause-02
X-BeenThere: avtext@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Audio/Video Transport Extensions working group discussion list <avtext.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/avtext>, <mailto:avtext-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/avtext/>
List-Post: <mailto:avtext@ietf.org>
List-Help: <mailto:avtext-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/avtext>, <mailto:avtext-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 16 Sep 2014 03:14:21 -0000

Hello Bo,

Thanks for the updates. A few comments:

1) Cl.6.3: Text was added to the Paused state regarding keepalives. Do 
we also need that text in clause 6.4 on local paused state?

2) Cl.2.2: The term "REFUSED notification" is used but elsewhere 
"REFUSED indication" is used.

3) Cl.9 Para.1: With respect to the use of the rtcp-fb attribute I think 
the text should say "/MUST only be used as an SDP media attribute and 
MUST NOT be provided at the session level/". The use of "Recommended" 
implies an option however there's a must against the use at session 
level, so really there is no option.

4) General Nit: Sometimes "hold off period" is used, sometimes "hold off 
time" is used. Could be consistent.

5) Cl.9 Config value 5: " /streams it sends.  It will send PAUSED and 
REFUSED as needed.  It does not support pausing received RTP streams, 
and thus does not send any PAUSE and RESUME requests/
". Could we modify it to read "/It does not support sending PAUSE and 
RESUME requests to pause received RTP streams.../"? It makes it clearer 
that the draft is talking about a sending action rather than a local pause.

6) Cl.9 last para pg 28: "/All implementations of this specification 
MUST be able to receive all//
//   messages defined in Section 8/". Given that the config parameter 
allows partial implementation then this statement isn't true.

7) Cl.9 Fig.7: I'm not sure if "1"-"8" is valid range syntax for ABNF? 
Cl.3.4/RFC5234 seems to imply that: pause-config-value = %x31-38 would 
be equivalent to "1" / "2" / "3" / "4" / "5" / "6" / "7" / "8".
Also rather than having to enforce a once only usage for nowait and 
config could the ABNF be updated to make sure, e.g.
rtcp-fb-ccm-param =/ SP "pause" [SP pause-config] [SP "nowait"]

With respect to the extension token, the current form wouldn't allow 
something like foo=bar in the future as "=" isn't a token character. 
Firstly is it needed? if so then would something like [SP byte-string] 
be more appropriate?


8) Cl.9.2: " /First, the "config" attribute and its message directions are//
//   interpreted based on the node receiving the SDP./" Should this be 
the node "providing" the SDP as per cl.9.1?

9) Cl.11: Does the config parameter need to be included here? Also 
perhaps 4) and 5) should say "pause feedback type" as per the 
description of the "type" element.


Regards, Christian


On 16/09/2014 12:29 AM, Bo Burman wrote:
> Christian, Roni, all,
>
> Please find enclosed a draft update implementing Christian's suggested changes below. Affected sections are 9 and 10.1.
> Please have a look and let me know if the changes are acceptable and consistent with our discussions.
>
> Cheers,
> /Bo
>
>> -----Original Message-----
>> From: avtext [mailto:avtext-bounces@ietf.org] On Behalf Of Bo Burman
>> Sent: den 5 september 2014 11:44
>> To: Christian Groves; avtext@ietf.org
>> Subject: Re: [avtext] WGLC for draft-ietf-avtext-rtp-stream-pause-02
>>
>> Hi Christian,
>>
>> More inline.
>>
>> As a summary, I must conclude that Christian's proposal has consistency and clarity benefits in SDP signaling compared to
>> what is currently in the text, and suggest that the text should be changed accordingly:
>>
>> * The "dir" parameter of "ccm pause" is replaced by "config" as suggested below.
>> * The separate "ccm paused" parameter is removed, since support of PAUSED will instead be indicated through "config"
>>
>> BR
>> /Bo
>>
>>> -----Original Message-----
>>> From: Christian Groves [mailto:Christian.Groves@nteczone.com]
>>> Sent: den 2 september 2014 02:45
>>> To: Bo Burman; avtext@ietf.org
>>> Subject: Re: [avtext] WGLC for draft-ietf-avtext-rtp-stream-pause-02
>>>
>>> Hello Bo,
>>>
>>> Please see my replies below.
>>>
>>> Regards, Christian
>>>
>>> On 1/09/2014 9:51 PM, Bo Burman wrote:
>>>> ..snip..
>>>> I think the following two main options are reasonable ways forward:
>>>>
>>>> 1) Remove the "paused" SDP parameter entirely, and with it the
>>>> possibility to implement support of only the local pause indication
>>>>
>>>> 2) Make the text consistently express that "paused" refers to
>>>> capability for that limited functionality. For SDP
>>>>> offer/answer, we then have a few more choices regarding the relation between "pause" and "paused":
>>>>>> 	a)  an offer expressing support for this specification MUST
>>>>>> contain only one of "pause" or "paused", and an offer
>>>>> with "pause" is possible to restrict by answering with "paused",
>>>>> but an offer with the limited "paused" cannot be upgraded to
>>>>> "pause" in the answer. May possibly cause problems with
>>> declarative use; guidance appreciated.
>>>>>> 	b) "pause" and "paused" are kept separate (what current text
>>>>>> mostly does, except for some confusion that must be corrected
>>>>>> throughout if this option is chosen); the offer MAY contain either
>>>>>> or both, while the answer MUST choose one and MUST NOT add
>>>>>> anything that was not in the offer
>>>>> [CNG] I wasn't following this closely when 'paused' was added so
>>>>> I'm not sure about removing it. It would simplify things if it was removed.
>>>>> I think what would need to be added if local pause was supported
>>>>> without signalling is that a node supporting this draft must at
>>>>> minimum support the reception of a 'paused' indication and the
>>>>> sending of 'paused' if the node supports a paused state. There
>>>>> would probably need to be an extra value in direction
>>> indicating that PAUSE/RESUME is not sent or received.
>>>> [BoB] You mean using additional direction signaling for pause
>>>> instead of the tag "paused"? I don't see how that goes
>>> with your statement "supported without signaling" a few sentences back, since that is then also explicit signaling?
>>> [CNG] Yes an additional direction. I was thinking about how to specify
>>> "local pause" where the endpoint didn't support sendonly,recvonly or
>>> sendrecv. It wouldn't be correct for the endpoint to send "a=rtcp-fb:* ccm pause" because the default is "sendrecv".
>> [BoB] Thinking this through again. It is possible to make the currently proposed signaling in the draft consistent, but only
>> if capability and indication of pause and local pause are changed to be totally independent functions. The 8 configurations
>> you list are then possible to express, using direction parameter of both pause and paused ([] indicates optional).
>>
>> 1) Send(PAUSE,RESUMED,PAUSED,REFUSE) Receive (PAUSED,RESUMED,PAUSED,REFUSED)
>> a=rtcp-fb:* ccm pause [dir=sendrecv]
>> a=rtcp-fb:* ccm paused [dir=sendrecv]
>>
>> 2) Send(PAUSE, RESUME, PAUSED) Receive (PAUSED, REFUSED)
>> a=rtcp-fb:* ccm pause dir=sendonly
>> a=rtcp-fb:* ccm paused [dir=sendrecv]
>>
>> 3) Send(PAUSED,REFUSED) Receive (PAUSE, RESUME, PAUSED)
>> a=rtcp-fb:* ccm pause dir=recvonly
>> a=rtcp-fb:* ccm paused [dir=sendrecv]
>>
>> 4) Send(PAUSED,REFUSED) Receive (PAUSE, RESUME)
>> a=rtcp-fb:* ccm pause dir=recvonly
>> a=rtcp-fb:* ccm paused dir=sendonly
>>
>> 5) Send(PAUSE, RESUME) Receive (PAUSED, REFUSED)
>> a=rtcp-fb:* ccm pause dir=sendonly
>> a=rtcp-fb:* ccm paused dir=recvonly
>>
>> 6) Send(PAUSED) Receive(PAUSED)
>> a=rtcp-fb:* ccm paused [dir=sendrecv]
>>
>> 7) Send() Receive(PAUSED)
>> a=rtcp-fb:* ccm paused dir=recvonly
>>
>> 8) Send(PAUSED) Receive()
>> a=rtcp-fb:* ccm paused dir=sendonly
>>
>> That split would however also mean there is a possibility to support PAUSE but not PAUSED, which I believe is an
>> undesirable side-effect and definitely not in line with the current text.
>>
>> As a summary, I must agree that your proposal to use a "config" parameter with an explicit listing of supported messages
>> and directions is indeed much easier to describe and is beneficial for text clarity.
>>
>>>>> Maybe an option 2c: If local pause is kept and it needs to be
>>>>> supported by signalling there actually appears to be 8 combinations
>>>>> of sent and received messages. I assume a node supporting the
>>>>> sending and/or reception of PAUSE must also support RESUME. A node
>>>>> supporting the reception of PAUSE/RESUME must also
>>> support sending PAUSED and REFUSED.
>>>> [BoB] An observation: I see you more or less consistently using
>>>> "REFUSED" instead of the currently defined tag
>>> "REFUSE". This is actually consistent with it being an
>>> indication/response rather than a command, and thus probably a better name. Do you suggest that we change the
>> name to "REFUSED" in the draft?
>>> [CNG] I wasn't proposing the change, I guess I just aligned "paused" and "refused". I'd be OK with changing it.
>> [BoB] Unless someone else objects, I will change REFUSE to REFUSED throughout, to better reflect that it is an indication,
>> not a command.
>>
>>>>> The combinations a Node can support are:
>>>>>
>>>>> 1) Send(PAUSE,RESUMED,PAUSED,REFUSE) Receive
>>>>> (PAUSED,RESUMED,PAUSED,REFUSED)
>>>>> 2) Send(PAUSE, RESUME, PAUSED) Receive (PAUSED, REFUSED)
>>>>> 3) Send(PAUSED,REFUSED) Receive (PAUSE, RESUME, PAUSED)
>>>>> 4) Send(PAUSED,REFUSED) Receive (PAUSE, RESUME)
>>>>> 5) Send(PAUSE, RESUME) Receive (PAUSED, REFUSED)
>>>>> 6) Send(PAUSED) Receive(PAUSED)
>>>>> 7) Send() Receive(PAUSED)
>>>>> 8) Send(PAUSED) Receive()
>>>>>
>>>>> Would it be easier to simply signal the messages that are supported
>>>>> rather than two parameters with a direction parameters? e.g. the
>>>>> draft could have the above list of values. If a node supported both
>>>>> the sending and reception of PAUSE/RESUME/PAUSED/REFUSED then it
>>>>> could signal e.g. a=rtcp-fb:98 ccm pause
>>> config=1 . Part of the confusion comes from the interaction between the parameters. This would remove the
>> interaction.
>>>>> It might make describing the SDP O/A procedures easier.
>>>>> e.g.
>>>>> On receiving an Offer with:
>>>>> config=1 the answerer may reply with config=1, 2, 3, 4, 5, 6, 7 or 8.
>>>>> config=2 the answerer may reply with config=3, 4, 5, 6, 7 or 8.
>>>>> config=3 the answerer may reply with config=2, 4, 5, 6, 7 or 8.
>>>>> config=4 the answerer may reply with config=5, 6, 7 or 8.
>>>>> config=5 the answerer may reply with config=4, 6, 7 or 8.
>>>>> config=6 the answerer may reply with config=6, 7 or 8.
>>>>> config=7 the answerer may reply with config=8
>>>>> config=8 the answerer may reply with config=7 In all cases the
>>>>> answerer may reply with a completely removed "pause"
>>>>> parameter.
>>>>>
>>>>> An answerer cannot add extra messages to what is provided in the Offer.
>>>>> For example: If an Offer indicates config=6 an Answer cannot reply
>>>>> with
>>>>> config=3 indicating that it has the capability to receive PAUSE and
>>>>> RESUME. An answerer may remove messages that it does not support.
>>>>> For
>>>>> example: if an Offer indicates config=6 an Answer may reply with
>>>>> config=7 indicating that it can only receive PAUSED.
>>>> [BoB] I get your point. There is significant inherent complexity in
>>>> this that your proposal makes explicit and clarifies. I
>>> would like to simplify and clarify this further by reducing the allowed configurations to be 1, 4, 5 and 6:
>>>> 1) Full support of sending and receiving all messages ("ccm pause" without direction)
>>>> 	As you say above, acceptable Answers include 1, 4, 5 or 6, or (of
>>>> course) removing "ccm pause" entirely
>>>> 4) Pause command receiver, sending result indications ("ccm pause dir=recvonly")
>>>> 	Acceptable Answers include 5, 6, or removing ccm pause entirely
>>>> 5) Pause command sender, receiving result indications ("ccm pause dir=sendonly")
>>>> 	Acceptable Answers include 4, 6, or removing ccm pause entirely
>>>> 6) Local pause support only ("ccm paused", and I then suggest
>>>> removing direction from paused; either you support it or
>>> you don't)
>>>> 	Acceptable Answers include 6 or removing ccm paused entirely
>>> [CNG] So to remove 2 and 3 the assumption must be that local pause is
>>> not supported by a sendonly or receive only endpoint. Is that correct?
>>> It would seem that if local pause was to be supported then 2 and 3 should be selected rather than 4 and 5.
>>>         To remove 7 and 8 the assumption must be that endpoints
>>> supporting this draft must support local pause? Otherwise there's no way of saying "I won't send anything but if you do
>> a local pause let me know".
>>
>> [BoB] I agree the 8 configurations you list makes sense to keep. They reflect the current text better than what I
>> suggested.
>>
>>>> If those clarifications you list above on O/A and what messages are
>>>> sent and/or received are made in the document, do
>>> you still think we need to introduce the "config" concept, or will the
>>> direction parameter to "pause" (as indicated in my shortened list above) be clear enough?
>>> [CNG] I think having "paused" as a separate parameter as in your
>>> proposal 6 just complicates things. Once you have two parameters then we come back to specifying the interaction
>> between them. E.g. If A sends SDP "a=rtcp-fb:* ccm pause"
>>> if B only supports local pause does it reply back with a different
>>> parameter "a=rtcp-fb* ccm paused"? If so then it wouldn't make sense for an endpoint to send both "pause" and
>> "paused".
>>
>> [BoB] As said above, just signaling ccm pause would have to mean that paused is not supported, so there would be no
>> way to fall back to local pause, which is undesirable. Your "config" is better.
>>
>>>> I wonder, is it rather the notion of "direction" that becomes
>>>> confusing, since "recvonly" actually includes sending
>>> messages, only those messages are not "PAUSE" and "RESUME"? In that
>>> case, could we call it something else than "direction"; like "dir=sendonly" -> "command-only" and "dir=recvonly" ->
>> "indication-only"?
>>> [CNG] Yes I think the direction is confusing considering that for
>>> pause it's opposite the RTP flow direction, for paused its the same. To support pause an endpoint will send and receive
>> messages. I don't think "command-only"/"indication-only"
>>> help because they again relate to a direction. e.g. to support
>>> "sendonly" an endpoint sends commands PAUSE/RESUME and receives indications PAUSED/REFUSEd. I think being
>> explicit makes the description much easier.
>> [BoB] Agree
>>
>> _______________________________________________
>> avtext mailing list
>> avtext@ietf.org
>> https://www.ietf.org/mailman/listinfo/avtext


From nobody Tue Sep 16 02:13:06 2014
Return-Path: <bo.burman@ericsson.com>
X-Original-To: avtext@ietfa.amsl.com
Delivered-To: avtext@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 11BEC1A01FA for <avtext@ietfa.amsl.com>; Tue, 16 Sep 2014 02:13:05 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 1.698
X-Spam-Level: *
X-Spam-Status: No, score=1.698 tagged_above=-999 required=5 tests=[BAYES_20=-0.001, J_CHICKENPOX_18=0.6, J_CHICKENPOX_38=0.6, J_CHICKENPOX_45=0.6, J_CHICKENPOX_46=0.6, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 55N6Cxs8gr6q for <avtext@ietfa.amsl.com>; Tue, 16 Sep 2014 02:13:01 -0700 (PDT)
Received: from sessmg22.ericsson.net (sessmg22.ericsson.net [193.180.251.58]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id E2CA31A0478 for <avtext@ietf.org>; Tue, 16 Sep 2014 02:12:36 -0700 (PDT)
X-AuditID: c1b4fb3a-f79da6d0000008c7-8a-5417ff026e05
Received: from ESESSHC020.ericsson.se (Unknown_Domain [153.88.253.124]) by sessmg22.ericsson.net (Symantec Mail Security) with SMTP id 9A.47.02247.20FF7145; Tue, 16 Sep 2014 11:12:34 +0200 (CEST)
Received: from ESESSMB105.ericsson.se ([169.254.5.215]) by ESESSHC020.ericsson.se ([153.88.183.78]) with mapi id 14.03.0174.001; Tue, 16 Sep 2014 11:12:33 +0200
From: Bo Burman <bo.burman@ericsson.com>
To: Christian Groves <Christian.Groves@nteczone.com>, "avtext@ietf.org" <avtext@ietf.org>
Thread-Topic: [avtext] WGLC for  draft-ietf-avtext-rtp-stream-pause-02
Thread-Index: Ac+oI8943NA5z66dRdGqdkJ2oCY7RQSn2IaAAC2sUTAALZTUgABGai2QARodEgABAng3IAAejgIAAIUmrNACKTUMMAAW6lyAAAteQRA=
Date: Tue, 16 Sep 2014 09:12:33 +0000
Message-ID: <BBE9739C2C302046BD34B42713A1E2A22E2CEC15@ESESSMB105.ericsson.se>
References: <949EF20990823C4C85C18D59AA11AD8B212C0B@FR712WXCHMBA11.zeu.alcatel-lucent.com> <53F1DD5D.6030204@nteczone.com> <BBE9739C2C302046BD34B42713A1E2A22E28C887@ESESSMB105.ericsson.se> <53F441C3.5050201@nteczone.com> <BBE9739C2C302046BD34B42713A1E2A22E29290C@ESESSMB105.ericsson.se> <53FD7F8A.6060608@nteczone.com> <BBE9739C2C302046BD34B42713A1E2A22E29B9AD@ESESSMB105.ericsson.se> <54051326.5090103@nteczone.com> <BBE9739C2C302046BD34B42713A1E2A22E29F3A3@ESESSMB105.ericsson.se> <BBE9739C2C302046BD34B42713A1E2A22E2CD82A@ESESSMB105.ericsson.se> <5417AB01.2010801@nteczone.com>
In-Reply-To: <5417AB01.2010801@nteczone.com>
Accept-Language: sv-SE, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [153.88.183.147]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrILMWRmVeSWpSXmKPExsUyM+JvjS7Tf/EQg703jCw+3rvBavHlfSOL A5PHkiU/mTxWnJ/JEsAUxWWTkpqTWZZapG+XwJXReeEeU8GdiYwVDx++Y2pgnFXaxcjJISFg IrHz7i9WCFtM4sK99WxdjFwcQgJHGSW+Hp/MCuEsYZQ4dHc/WBWbgIbE/B13GUFsEYFoia09 n5lBbGEBV4mpj+4xQ8TdJH7d2Qk0iQPILpNY3mMMYrIIqErcvuwDUsEr4Csx+dtuqPE3WCS2 7HkBNp5TQEdi8cLjYDajgKzE/e/3WEBsZgFxiVtP5jNBHCogsWTPeWYIW1Ti5eN/rCDzJQSU JKZtTYMo15FYsPsTG4StLbFs4WtmiL2CEidnPmGZwCg6C8nUWUhaZiFpmYWkZQEjyypG0eLU 4uLcdCMjvdSizOTi4vw8vbzUkk2MwDg5uOW31Q7Gg88dDzEKcDAq8fAu2CEWIsSaWFZcmXuI UZqDRUmcd+G5ecFCAumJJanZqakFqUXxRaU5qcWHGJk4OKUaGLn6lu3Rmn3/rDTnnKORV+Sd mvKZ9Sd7MczIecF3juNxz+npGnKX6zZdPl+ouHrOkfYTsknMFVaxNzauLFsdFZAdmGAULVfP afXF8xHblW8H84v+SqvaRwpXPd38zFbL9tnDu7FflwV6rEt4/qw6OPnBI2EVl8rn+RMj3GTK I7U3PV25IdXjlxJLcUaioRZzUXEiAIV9phJ0AgAA
Archived-At: http://mailarchive.ietf.org/arch/msg/avtext/4qeAJbqSZt_U4WrxxtgwLpg4wsE
Subject: Re: [avtext] WGLC for  draft-ietf-avtext-rtp-stream-pause-02
X-BeenThere: avtext@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Audio/Video Transport Extensions working group discussion list <avtext.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/avtext>, <mailto:avtext-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/avtext/>
List-Post: <mailto:avtext@ietf.org>
List-Help: <mailto:avtext-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/avtext>, <mailto:avtext-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 16 Sep 2014 09:13:05 -0000

Hi Christian,

Thank you for good and constructive comments! My responses inline.

Note that I need guidance on whether or not defined 'config' attribute valu=
es need to be somehow mentioned in IANA section, and in that case how to de=
scribe it. A reference to the table in Figure 6? Examples from other RFCs a=
re welcome!

Also, while editing the first part of section 9, I started to wonder if thi=
s specification can really promise that existing 'ccm tmmbr' signaling mean=
s TMMBR and TMMBN with value 0 is supported and will be treated correctly i=
n all existing implementations? Should we not at least say there is no guar=
antee TMMBR and TMMBN implementations pre-dating this specification work ex=
actly as described when used with a bitrate value of 0?

Cheers,
/Bo

> -----Original Message-----
> From: Christian Groves [mailto:Christian.Groves@nteczone.com]
> Sent: den 16 september 2014 05:14
> To: Bo Burman; avtext@ietf.org
> Subject: Re: [avtext] WGLC for draft-ietf-avtext-rtp-stream-pause-02
>=20
> Hello Bo,
>=20
> Thanks for the updates. A few comments:
>=20
> 1) Cl.6.3: Text was added to the Paused state regarding keepalives. Do we=
 also need that text in clause 6.4 on local
> paused state?
[BoB] I guess that does not harm. I'll add it.

>=20
> 2) Cl.2.2: The term "REFUSED notification" is used but elsewhere "REFUSED=
 indication" is used.
[BoB] Good catch. I'll change to "indication".

>=20
> 3) Cl.9 Para.1: With respect to the use of the rtcp-fb attribute I think =
the text should say "/MUST only be used as an SDP
> media attribute and MUST NOT be provided at the session level/". The use =
of "Recommended"
> implies an option however there's a must against the use at session level=
, so really there is no option.
[BoB] I agree that "recommend" and "must" do not match. The current text in=
 that sentence is a bit poorly written. I think it tries to both describe w=
hat is said in RFC 4585 and 5104 about the rtcp-fb attribute in general, as=
 well as saying that it applies also for this specification. That statement=
 is redundant. RFC 4585 section 4.2 is totally clear: "The 'rtcp-fb' attrib=
ute MUST only be used as an SDP media attribute and MUST NOT be provided at=
 the session level". I think the sentence can be removed.

>=20
> 4) General Nit: Sometimes "hold off period" is used, sometimes "hold off =
time" is used. Could be consistent.
[BoB] There are also sometimes "wait period" or "wait time". I'll change to=
 "hold-off period" throughout.

>=20
> 5) Cl.9 Config value 5: " /streams it sends.  It will send PAUSED and REF=
USED as needed.  It does not support pausing
> received RTP streams, and thus does not send any PAUSE and RESUME request=
s/ ". Could we modify it to read "/It does
> not support sending PAUSE and RESUME requests to pause received RTP strea=
ms.../"? It makes it clearer that the draft is
> talking about a sending action rather than a local pause.
[BoB] OK

>=20
> 6) Cl.9 last para pg 28: "/All implementations of this specification MUST=
 be able to receive all//
> //   messages defined in Section 8/". Given that the config parameter
> allows partial implementation then this statement isn't true.
[BoB] My intent was to require that all implementations are able to at leas=
t receive _and ignore_ all messages from section 8, regardless of config. T=
hat would be in line with section 4.2 of RFC 4585: "RTP senders MUST be pre=
pared to receive any kind of RTCP FB messages  and MUST silently discard al=
l those RTCP FB messages that they do not understand", but is thus strictly=
 redundant. I suggest to simply remove the sentence since it does not add a=
nything.

>=20
> 7) Cl.9 Fig.7: I'm not sure if "1"-"8" is valid range syntax for ABNF?
> Cl.3.4/RFC5234 seems to imply that: pause-config-value =3D %x31-38 would =
be equivalent to "1" / "2" / "3" / "4" / "5" / "6" /
> "7" / "8".
[BoB] You are right. I'll change it.

> Also rather than having to enforce a once only usage for nowait and confi=
g could the ABNF be updated to make sure, e.g.
> rtcp-fb-ccm-param =3D/ SP "pause" [SP pause-config] [SP "nowait"]
[BoB] OK. The fact that you by that require a strict ordering of attributes=
 is probably not limiting.

>=20
> With respect to the extension token, the current form wouldn't allow some=
thing like foo=3Dbar in the future as "=3D" isn't a
> token character.
> Firstly is it needed? if so then would something like [SP byte-string] be=
 more appropriate?
[BoB] I think extensibility to be a good thing in general. Agree that byte-=
string is better.

>=20
>=20
> 8) Cl.9.2: " /First, the "config" attribute and its message directions ar=
e//
> //   interpreted based on the node receiving the SDP./" Should this be
> the node "providing" the SDP as per cl.9.1?
[BoB] No. Declarative use of SDP seems to have this difference in interpret=
ation of the SDP. First, see section 3.4 of RFC 4566 on Multicast Session A=
nnouncement that says "remote participants can use the session description =
to start the tools required to participate in the session". Second, compare=
 with section 6 of RFC 4566 where a=3Drecvonly is described as "specifies t=
hat the tools should be started in a receive-only mode". This indicates to =
me that the text currently in 9.2 is correct.

>=20
> 9) Cl.11: Does the config parameter need to be included here? Also perhap=
s 4) and 5) should say "pause feedback type"
> as per the description of the "type" element.
[BoB] 'config' should be in 3, yes. Don't know about config values. Guidanc=
e appreciated!

>=20
>=20
> Regards, Christian
>=20
>=20
> On 16/09/2014 12:29 AM, Bo Burman wrote:
> > Christian, Roni, all,
> >
> > Please find enclosed a draft update implementing Christian's suggested =
changes below. Affected sections are 9 and
> 10.1.
> > Please have a look and let me know if the changes are acceptable and co=
nsistent with our discussions.
> >
> > Cheers,
> > /Bo
> >
> >> -----Original Message-----
> >> From: avtext [mailto:avtext-bounces@ietf.org] On Behalf Of Bo Burman
> >> Sent: den 5 september 2014 11:44
> >> To: Christian Groves; avtext@ietf.org
> >> Subject: Re: [avtext] WGLC for draft-ietf-avtext-rtp-stream-pause-02
> >>
> >> Hi Christian,
> >>
> >> More inline.
> >>
> >> As a summary, I must conclude that Christian's proposal has
> >> consistency and clarity benefits in SDP signaling compared to what is =
currently in the text, and suggest that the text
> should be changed accordingly:
> >>
> >> * The "dir" parameter of "ccm pause" is replaced by "config" as sugges=
ted below.
> >> * The separate "ccm paused" parameter is removed, since support of PAU=
SED will instead be indicated through
> "config"
> >>
> >> BR
> >> /Bo
> >>
> >>> -----Original Message-----
> >>> From: Christian Groves [mailto:Christian.Groves@nteczone.com]
> >>> Sent: den 2 september 2014 02:45
> >>> To: Bo Burman; avtext@ietf.org
> >>> Subject: Re: [avtext] WGLC for draft-ietf-avtext-rtp-stream-pause-02
> >>>
> >>> Hello Bo,
> >>>
> >>> Please see my replies below.
> >>>
> >>> Regards, Christian
> >>>
> >>> On 1/09/2014 9:51 PM, Bo Burman wrote:
> >>>> ..snip..
> >>>> I think the following two main options are reasonable ways forward:
> >>>>
> >>>> 1) Remove the "paused" SDP parameter entirely, and with it the
> >>>> possibility to implement support of only the local pause indication
> >>>>
> >>>> 2) Make the text consistently express that "paused" refers to
> >>>> capability for that limited functionality. For SDP
> >>>>> offer/answer, we then have a few more choices regarding the relatio=
n between "pause" and "paused":
> >>>>>> 	a)  an offer expressing support for this specification MUST
> >>>>>> contain only one of "pause" or "paused", and an offer
> >>>>> with "pause" is possible to restrict by answering with "paused",
> >>>>> but an offer with the limited "paused" cannot be upgraded to
> >>>>> "pause" in the answer. May possibly cause problems with
> >>> declarative use; guidance appreciated.
> >>>>>> 	b) "pause" and "paused" are kept separate (what current text
> >>>>>> mostly does, except for some confusion that must be corrected
> >>>>>> throughout if this option is chosen); the offer MAY contain
> >>>>>> either or both, while the answer MUST choose one and MUST NOT add
> >>>>>> anything that was not in the offer
> >>>>> [CNG] I wasn't following this closely when 'paused' was added so
> >>>>> I'm not sure about removing it. It would simplify things if it was =
removed.
> >>>>> I think what would need to be added if local pause was supported
> >>>>> without signalling is that a node supporting this draft must at
> >>>>> minimum support the reception of a 'paused' indication and the
> >>>>> sending of 'paused' if the node supports a paused state. There
> >>>>> would probably need to be an extra value in direction
> >>> indicating that PAUSE/RESUME is not sent or received.
> >>>> [BoB] You mean using additional direction signaling for pause
> >>>> instead of the tag "paused"? I don't see how that goes
> >>> with your statement "supported without signaling" a few sentences bac=
k, since that is then also explicit signaling?
> >>> [CNG] Yes an additional direction. I was thinking about how to
> >>> specify "local pause" where the endpoint didn't support
> >>> sendonly,recvonly or sendrecv. It wouldn't be correct for the endpoin=
t to send "a=3Drtcp-fb:* ccm pause" because the
> default is "sendrecv".
> >> [BoB] Thinking this through again. It is possible to make the
> >> currently proposed signaling in the draft consistent, but only if
> >> capability and indication of pause and local pause are changed to be t=
otally independent functions. The 8
> configurations you list are then possible to express, using direction par=
ameter of both pause and paused ([] indicates
> optional).
> >>
> >> 1) Send(PAUSE,RESUMED,PAUSED,REFUSE) Receive
> >> (PAUSED,RESUMED,PAUSED,REFUSED)
> >> a=3Drtcp-fb:* ccm pause [dir=3Dsendrecv]
> >> a=3Drtcp-fb:* ccm paused [dir=3Dsendrecv]
> >>
> >> 2) Send(PAUSE, RESUME, PAUSED) Receive (PAUSED, REFUSED)
> >> a=3Drtcp-fb:* ccm pause dir=3Dsendonly
> >> a=3Drtcp-fb:* ccm paused [dir=3Dsendrecv]
> >>
> >> 3) Send(PAUSED,REFUSED) Receive (PAUSE, RESUME, PAUSED)
> >> a=3Drtcp-fb:* ccm pause dir=3Drecvonly
> >> a=3Drtcp-fb:* ccm paused [dir=3Dsendrecv]
> >>
> >> 4) Send(PAUSED,REFUSED) Receive (PAUSE, RESUME)
> >> a=3Drtcp-fb:* ccm pause dir=3Drecvonly
> >> a=3Drtcp-fb:* ccm paused dir=3Dsendonly
> >>
> >> 5) Send(PAUSE, RESUME) Receive (PAUSED, REFUSED)
> >> a=3Drtcp-fb:* ccm pause dir=3Dsendonly
> >> a=3Drtcp-fb:* ccm paused dir=3Drecvonly
> >>
> >> 6) Send(PAUSED) Receive(PAUSED)
> >> a=3Drtcp-fb:* ccm paused [dir=3Dsendrecv]
> >>
> >> 7) Send() Receive(PAUSED)
> >> a=3Drtcp-fb:* ccm paused dir=3Drecvonly
> >>
> >> 8) Send(PAUSED) Receive()
> >> a=3Drtcp-fb:* ccm paused dir=3Dsendonly
> >>
> >> That split would however also mean there is a possibility to support
> >> PAUSE but not PAUSED, which I believe is an undesirable side-effect an=
d definitely not in line with the current text.
> >>
> >> As a summary, I must agree that your proposal to use a "config"
> >> parameter with an explicit listing of supported messages and direction=
s is indeed much easier to describe and is
> beneficial for text clarity.
> >>
> >>>>> Maybe an option 2c: If local pause is kept and it needs to be
> >>>>> supported by signalling there actually appears to be 8
> >>>>> combinations of sent and received messages. I assume a node
> >>>>> supporting the sending and/or reception of PAUSE must also support
> >>>>> RESUME. A node supporting the reception of PAUSE/RESUME must also
> >>> support sending PAUSED and REFUSED.
> >>>> [BoB] An observation: I see you more or less consistently using
> >>>> "REFUSED" instead of the currently defined tag
> >>> "REFUSE". This is actually consistent with it being an
> >>> indication/response rather than a command, and thus probably a
> >>> better name. Do you suggest that we change the
> >> name to "REFUSED" in the draft?
> >>> [CNG] I wasn't proposing the change, I guess I just aligned "paused" =
and "refused". I'd be OK with changing it.
> >> [BoB] Unless someone else objects, I will change REFUSE to REFUSED
> >> throughout, to better reflect that it is an indication, not a command.
> >>
> >>>>> The combinations a Node can support are:
> >>>>>
> >>>>> 1) Send(PAUSE,RESUMED,PAUSED,REFUSE) Receive
> >>>>> (PAUSED,RESUMED,PAUSED,REFUSED)
> >>>>> 2) Send(PAUSE, RESUME, PAUSED) Receive (PAUSED, REFUSED)
> >>>>> 3) Send(PAUSED,REFUSED) Receive (PAUSE, RESUME, PAUSED)
> >>>>> 4) Send(PAUSED,REFUSED) Receive (PAUSE, RESUME)
> >>>>> 5) Send(PAUSE, RESUME) Receive (PAUSED, REFUSED)
> >>>>> 6) Send(PAUSED) Receive(PAUSED)
> >>>>> 7) Send() Receive(PAUSED)
> >>>>> 8) Send(PAUSED) Receive()
> >>>>>
> >>>>> Would it be easier to simply signal the messages that are
> >>>>> supported rather than two parameters with a direction parameters?
> >>>>> e.g. the draft could have the above list of values. If a node
> >>>>> supported both the sending and reception of
> >>>>> PAUSE/RESUME/PAUSED/REFUSED then it could signal e.g. a=3Drtcp-fb:9=
8
> >>>>> ccm pause
> >>> config=3D1 . Part of the confusion comes from the interaction between
> >>> the parameters. This would remove the
> >> interaction.
> >>>>> It might make describing the SDP O/A procedures easier.
> >>>>> e.g.
> >>>>> On receiving an Offer with:
> >>>>> config=3D1 the answerer may reply with config=3D1, 2, 3, 4, 5, 6, 7=
 or 8.
> >>>>> config=3D2 the answerer may reply with config=3D3, 4, 5, 6, 7 or 8.
> >>>>> config=3D3 the answerer may reply with config=3D2, 4, 5, 6, 7 or 8.
> >>>>> config=3D4 the answerer may reply with config=3D5, 6, 7 or 8.
> >>>>> config=3D5 the answerer may reply with config=3D4, 6, 7 or 8.
> >>>>> config=3D6 the answerer may reply with config=3D6, 7 or 8.
> >>>>> config=3D7 the answerer may reply with config=3D8
> >>>>> config=3D8 the answerer may reply with config=3D7 In all cases the
> >>>>> answerer may reply with a completely removed "pause"
> >>>>> parameter.
> >>>>>
> >>>>> An answerer cannot add extra messages to what is provided in the Of=
fer.
> >>>>> For example: If an Offer indicates config=3D6 an Answer cannot repl=
y
> >>>>> with
> >>>>> config=3D3 indicating that it has the capability to receive PAUSE
> >>>>> and RESUME. An answerer may remove messages that it does not suppor=
t.
> >>>>> For
> >>>>> example: if an Offer indicates config=3D6 an Answer may reply with
> >>>>> config=3D7 indicating that it can only receive PAUSED.
> >>>> [BoB] I get your point. There is significant inherent complexity in
> >>>> this that your proposal makes explicit and clarifies. I
> >>> would like to simplify and clarify this further by reducing the allow=
ed configurations to be 1, 4, 5 and 6:
> >>>> 1) Full support of sending and receiving all messages ("ccm pause" w=
ithout direction)
> >>>> 	As you say above, acceptable Answers include 1, 4, 5 or 6, or (of
> >>>> course) removing "ccm pause" entirely
> >>>> 4) Pause command receiver, sending result indications ("ccm pause di=
r=3Drecvonly")
> >>>> 	Acceptable Answers include 5, 6, or removing ccm pause entirely
> >>>> 5) Pause command sender, receiving result indications ("ccm pause di=
r=3Dsendonly")
> >>>> 	Acceptable Answers include 4, 6, or removing ccm pause entirely
> >>>> 6) Local pause support only ("ccm paused", and I then suggest
> >>>> removing direction from paused; either you support it or
> >>> you don't)
> >>>> 	Acceptable Answers include 6 or removing ccm paused entirely
> >>> [CNG] So to remove 2 and 3 the assumption must be that local pause
> >>> is not supported by a sendonly or receive only endpoint. Is that corr=
ect?
> >>> It would seem that if local pause was to be supported then 2 and 3 sh=
ould be selected rather than 4 and 5.
> >>>         To remove 7 and 8 the assumption must be that endpoints
> >>> supporting this draft must support local pause? Otherwise there's no
> >>> way of saying "I won't send anything but if you do
> >> a local pause let me know".
> >>
> >> [BoB] I agree the 8 configurations you list makes sense to keep. They
> >> reflect the current text better than what I suggested.
> >>
> >>>> If those clarifications you list above on O/A and what messages are
> >>>> sent and/or received are made in the document, do
> >>> you still think we need to introduce the "config" concept, or will
> >>> the direction parameter to "pause" (as indicated in my shortened list=
 above) be clear enough?
> >>> [CNG] I think having "paused" as a separate parameter as in your
> >>> proposal 6 just complicates things. Once you have two parameters
> >>> then we come back to specifying the interaction
> >> between them. E.g. If A sends SDP "a=3Drtcp-fb:* ccm pause"
> >>> if B only supports local pause does it reply back with a different
> >>> parameter "a=3Drtcp-fb* ccm paused"? If so then it wouldn't make sens=
e
> >>> for an endpoint to send both "pause" and
> >> "paused".
> >>
> >> [BoB] As said above, just signaling ccm pause would have to mean that
> >> paused is not supported, so there would be no way to fall back to loca=
l pause, which is undesirable. Your "config" is
> better.
> >>
> >>>> I wonder, is it rather the notion of "direction" that becomes
> >>>> confusing, since "recvonly" actually includes sending
> >>> messages, only those messages are not "PAUSE" and "RESUME"? In that
> >>> case, could we call it something else than "direction"; like
> >>> "dir=3Dsendonly" -> "command-only" and "dir=3Drecvonly" ->
> >> "indication-only"?
> >>> [CNG] Yes I think the direction is confusing considering that for
> >>> pause it's opposite the RTP flow direction, for paused its the same.
> >>> To support pause an endpoint will send and receive
> >> messages. I don't think "command-only"/"indication-only"
> >>> help because they again relate to a direction. e.g. to support
> >>> "sendonly" an endpoint sends commands PAUSE/RESUME and receives
> >>> indications PAUSED/REFUSEd. I think being
> >> explicit makes the description much easier.
> >> [BoB] Agree
> >>
> >> _______________________________________________
> >> avtext mailing list
> >> avtext@ietf.org
> >> https://www.ietf.org/mailman/listinfo/avtext


From nobody Tue Sep 16 21:54:23 2014
Return-Path: <bernard_aboba@hotmail.com>
X-Original-To: avtext@ietfa.amsl.com
Delivered-To: avtext@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 6329D1A212A for <avtext@ietfa.amsl.com>; Tue, 16 Sep 2014 21:53:12 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.851
X-Spam-Level: 
X-Spam-Status: No, score=-0.851 tagged_above=-999 required=5 tests=[BAYES_50=0.8, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RP_MATCHES_RCVD=-1.652, SPF_PASS=-0.001] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id BYRPewBBoumF for <avtext@ietfa.amsl.com>; Tue, 16 Sep 2014 21:53:10 -0700 (PDT)
Received: from BLU004-OMC2S31.hotmail.com (blu004-omc2s31.hotmail.com [65.55.111.106]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A9AD61A068D for <avtext@ietf.org>; Tue, 16 Sep 2014 21:53:09 -0700 (PDT)
Received: from BLU181-W11 ([65.55.111.73]) by BLU004-OMC2S31.hotmail.com with Microsoft SMTPSVC(7.5.7601.22724); Tue, 16 Sep 2014 21:53:08 -0700
X-TMN: [MpiCZnzgxTBPEj+GyFmsLlpCv0prYrCN]
X-Originating-Email: [bernard_aboba@hotmail.com]
Message-ID: <BLU181-W11CBB817B5DAFD30D99C4693B60@phx.gbl>
Content-Type: multipart/alternative; boundary="_bf526327-a7b4-4be8-aa35-1be95638f390_"
From: Bernard Aboba <bernard_aboba@hotmail.com>
To: "avtext@ietf.org" <avtext@ietf.org>
Date: Tue, 16 Sep 2014 21:53:08 -0700
Importance: Normal
In-Reply-To: <BBE9739C2C302046BD34B42713A1E2A22E2CEC15@ESESSMB105.ericsson.se>
References: <949EF20990823C4C85C18D59AA11AD8B212C0B@FR712WXCHMBA11.zeu.alcatel-lucent.com>, <53F1DD5D.6030204@nteczone.com>, <BBE9739C2C302046BD34B42713A1E2A22E28C887@ESESSMB105.ericsson.se>, <53F441C3.5050201@nteczone.com>, <BBE9739C2C302046BD34B42713A1E2A22E29290C@ESESSMB105.ericsson.se>, <53FD7F8A.6060608@nteczone.com>, <BBE9739C2C302046BD34B42713A1E2A22E29B9AD@ESESSMB105.ericsson.se>, <54051326.5090103@nteczone.com>, <BBE9739C2C302046BD34B42713A1E2A22E29F3A3@ESESSMB105.ericsson.se>, <BBE9739C2C302046BD34B42713A1E2A22E2CD82A@ESESSMB105.ericsson.se>, <5417AB01.2010801@nteczone.com>, <BBE9739C2C302046BD34B42713A1E2A22E2CEC15@ESESSMB105.ericsson.se>
MIME-Version: 1.0
X-OriginalArrivalTime: 17 Sep 2014 04:53:08.0771 (UTC) FILETIME=[46A97730:01CFD233]
Archived-At: http://mailarchive.ietf.org/arch/msg/avtext/OJQpRRTW5DkxEnggFOWxmc-Rmtg
Subject: [avtext] Review of  draft-ietf-avtext-rtp-stream-pause-02
X-BeenThere: avtext@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Audio/Video Transport Extensions working group discussion list <avtext.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/avtext>, <mailto:avtext-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/avtext/>
List-Post: <mailto:avtext@ietf.org>
List-Help: <mailto:avtext-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/avtext>, <mailto:avtext-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 17 Sep 2014 04:53:12 -0000

--_bf526327-a7b4-4be8-aa35-1be95638f390_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Section 1
=20
   This document describes several
   scenarios in multimedia communication where a conferencing node or
   participant chooses to temporarily pause an incoming RTP [RFC3550]
   stream and later resume it when needed.  The receiver does not need
   to terminate or inactivate the RTP session and start all over again
   by negotiating the session parameters=2C for example using SIP
   [RFC3261] with SDP Offer/Answer [RFC3264].
=20
  Centralized nodes=2C like RTP Mixers or MCUs=2C which either uses logic
   based on voice activity=2C other measurements=2C or user input could
   reduce the resources consumed in both the sender and the network by
   temporarily pausing the RTP streams that aren't required by the RTP
   Mixer.
=20
[BA] There is another potential use case for a centralized node.  Could str=
eam pause/resume also be used to enable a centralized node to notify a rece=
iver that it has chosen to pause a stream on its own (without being asked)?=
  For example=2C there are situations where an multi-stream SFU may wish to=
 drop a layer (RTCP RRs or PLI indicates congestion).  Today this is handle=
d via codec-specific messages (e.g. SEI layer drop).   However=2C if it was=
 desired to handle this in a codec-independent way=2C could a centralized n=
ode send an unsolicited PAUSED (e.g. TMMBN =3D 0) message?
=20
Section 4.2
=20
=0A=
=0A=
   It is the responsibility of an RTP stream receiver=2C who wants to=0A=
   pause or resume a stream from the sender(s)=2C to transmit PAUSE and=0A=
   RESUME messages.  An RTP stream sender who likes to pause itself=2C can=
=0A=
   simply do it.  Any indication that an RTP stream is paused is the=0A=
   responsibility of the RTP stream sender and may in some cases not=0A=
   even be needed by the stream receiver.
=20
[BA] Not sure I agree with this for the multi-stream transmission case.  If=
 a sender stops sending a layer with no notification=2C then the receiver c=
ould be adversely affected.  For example=2C it could be waiting for a spati=
al enhancement layer that never shows up.   That is why we have SEI layer d=
rop messages=2C right?=20
=20
Section 4.4
=20
An RTP stream sender should not pause an SSRC that some receiver   still wi=
shes to receive.  The reason is that in RTP topologies where   the stream i=
s shared between multiple receivers=2C a single receiver on   that shared n=
etwork=2C independent of it being multicast=2C a mesh with   joint RTP sess=
ion or a transport Translator based=2C must not single-   handedly cause th=
e stream to be paused without letting all other   receivers to voice their =
opinions on whether or not the stream should   be paused.  A consequence of=
 this is that a newly joining receiver=2C   for example indicated by an RTC=
P Receiver Report containing both a   new SSRC and a CNAME that does not al=
ready occur in the session=2C   firstly needs to learn the existence of pau=
sed streams=2C and secondly   should be able to resume any paused stream.  =
Any single receiver   wanting to resume a stream should also cause it to be=
 resumed.=20
=20
[BA] In many simulcast and MST implementations=2C the centralized unit util=
izes sender-based congestion control=2C which means that it decides which s=
treams to send based on indications from the receiver such as packet loss=
=2C etc.   If there is substantial loss=2C the sender will adjust the strea=
ms it is sending.  In implementations where the SFU uses a distinct SSRC fo=
r each simulcast stream (as opposed to using the same SSRC but adjusting th=
e resolution/framerate)=2C it may pause sending one SSRC and resume sending=
 another (lower bandwidth one).  Where MST is in use=2C the sender may paus=
e an enhancement layer and subsequently resume sending it when it has reaso=
n to believe that there is sufficient bandwidth to handle it.  Whether rece=
iver "wishes to receive" a stream doesn't really enter into the sender's de=
cision if it determines that there isn't sufficient bandwidth available to =
send it successfully.=20
=20
=20
 =20

=20
 		 	   		  =

--_bf526327-a7b4-4be8-aa35-1be95638f390_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<html>
<head>
<style><!--
.hmmessage P
{
margin:0px=3B
padding:0px
}
body.hmmessage
{
font-size: 12pt=3B
font-family:Calibri
}
--></style></head>
<body class=3D'hmmessage'><div dir=3D'ltr'>Section 1<BR>&nbsp=3B<BR>&nbsp=
=3B&nbsp=3B This document describes several<br>&nbsp=3B&nbsp=3B scenarios i=
n multimedia communication where a conferencing node or<br>&nbsp=3B&nbsp=3B=
 participant chooses to temporarily pause an incoming RTP [<a title=3D'"RTP=
: A Transport Protocol for Real-Time Applications"' href=3D"https://tools.i=
etf.org/html/rfc3550">RFC3550</a>]<br>&nbsp=3B&nbsp=3B stream and later res=
ume it when needed.&nbsp=3B The receiver does not need<br>&nbsp=3B&nbsp=3B =
to terminate or inactivate the RTP session and start all over again<br>&nbs=
p=3B&nbsp=3B by negotiating the session parameters=2C for example using SIP=
<br>&nbsp=3B&nbsp=3B [<a title=3D'"SIP: Session Initiation Protocol"' href=
=3D"https://tools.ietf.org/html/rfc3261">RFC3261</a>] with SDP Offer/Answer=
 [<a title=3D'"An Offer/Answer Model with Session Description Protocol (SDP=
)"' href=3D"https://tools.ietf.org/html/rfc3264">RFC3264</a>].<BR>&nbsp=3B<=
BR>&nbsp=3B Centralized nodes=2C like RTP Mixers or MCUs=2C which either us=
es logic<br>&nbsp=3B&nbsp=3B based on voice activity=2C other measurements=
=2C or user input could<br>&nbsp=3B&nbsp=3B reduce the resources consumed i=
n both the sender and the network by<br>&nbsp=3B&nbsp=3B temporarily pausin=
g the RTP streams that aren't required by the RTP<br>&nbsp=3B&nbsp=3B Mixer=
.<BR>&nbsp=3B<BR>[BA] There is another potential use case for a centralized=
 node.&nbsp=3B Could stream pause/resume also be used to enable a centraliz=
ed node to notify a receiver that it has chosen to pause a stream on its ow=
n (without being asked)?&nbsp=3B For example=2C there are situations where =
an multi-stream SFU may wish to drop a layer (RTCP RRs or PLI indicates con=
gestion).&nbsp=3B Today this is handled via codec-specific messages (e.g. S=
EI layer drop).&nbsp=3B&nbsp=3B&nbsp=3BHowever=2C if it was desired to hand=
le this in a codec-independent way=2C could a centralized node send an unso=
licited&nbsp=3BPAUSED (e.g. TMMBN =3D 0) message?<BR>&nbsp=3B<BR>Section 4.=
2<BR><span class=3D"h3">&nbsp=3B<BR></span>=0A=
=0A=
   It is the responsibility of an RTP stream receiver=2C who wants to=0A=
   pause or resume a stream from the sender(s)=2C to transmit PAUSE and=0A=
   RESUME messages.  An RTP stream sender who likes to pause itself=2C can=
=0A=
   simply do it.  Any indication that an RTP stream is paused is the=0A=
   responsibility of the RTP stream sender and may in some cases not=0A=
   even be needed by the stream receiver.<BR>&nbsp=3B<BR>[BA] Not sure I ag=
ree with this for the multi-stream transmission case.&nbsp=3B If&nbsp=3Ba s=
ender stops sending a layer with no notification=2C then the receiver could=
 be adversely affected.&nbsp=3B For example=2C it could be waiting for a sp=
atial enhancement layer that never shows up.&nbsp=3B&nbsp=3B That is why we=
 have SEI layer drop messages=2C right? <BR>&nbsp=3B<BR>Section 4.4<BR>&nbs=
p=3B<BR>An RTP stream sender should not pause an SSRC that some receiver   =
still wishes to receive.  The reason is that in RTP topologies where   the =
stream is shared between multiple receivers=2C a single receiver on   that =
shared network=2C independent of it being multicast=2C a mesh with   joint =
RTP session or a transport Translator based=2C must not single-   handedly =
cause the stream to be paused without letting all other   receivers to voic=
e their opinions on whether or not the stream should   be paused.  A conseq=
uence of this is that a newly joining receiver=2C   for example indicated b=
y an RTCP Receiver Report containing both a   new SSRC and a CNAME that doe=
s not already occur in the session=2C   firstly needs to learn the existenc=
e of paused streams=2C and secondly   should be able to resume any paused s=
tream.  Any single receiver   wanting to resume a stream should also cause =
it to be resumed. <BR>&nbsp=3B<BR>[BA] In many simulcast and MST implementa=
tions=2C the centralized unit utilizes sender-based congestion control=2C w=
hich means that it decides which streams to send based on indications from =
the receiver such as packet loss=2C etc.&nbsp=3B&nbsp=3B If there is substa=
ntial loss=2C the sender will adjust the streams it is sending.&nbsp=3B In =
implementations where the SFU uses a distinct SSRC for each simulcast strea=
m (as opposed to using the same SSRC but adjusting the resolution/framerate=
)=2C it may&nbsp=3Bpause sending one SSRC and&nbsp=3Bresume sending another=
 (lower bandwidth one).&nbsp=3B Where MST is in use=2C the sender may pause=
 an enhancement layer and subsequently resume sending it when it has reason=
 to believe that there is sufficient bandwidth to handle it.&nbsp=3B Whethe=
r receiver "wishes to receive" a stream doesn't really enter into the sende=
r's decision if it determines that there isn't sufficient bandwidth availab=
le to send it successfully. <BR>&nbsp=3B<BR><span class=3D"h3">&nbsp=3B<BR>=
<h3>&nbsp=3B</h3>&nbsp=3B<BR></span><br>&nbsp=3B<BR> 		 	   		  </div></bod=
y>
</html>=

--_bf526327-a7b4-4be8-aa35-1be95638f390_--


From nobody Tue Sep 16 23:21:13 2014
Return-Path: <Christian.Groves@nteczone.com>
X-Original-To: avtext@ietfa.amsl.com
Delivered-To: avtext@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D98F01A6F9F for <avtext@ietfa.amsl.com>; Tue, 16 Sep 2014 23:21:12 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.5
X-Spam-Level: 
X-Spam-Status: No, score=0.5 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, J_CHICKENPOX_18=0.6, J_CHICKENPOX_38=0.6, J_CHICKENPOX_45=0.6, J_CHICKENPOX_46=0.6] autolearn=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Cje-4CkSMELR for <avtext@ietfa.amsl.com>; Tue, 16 Sep 2014 23:21:09 -0700 (PDT)
Received: from cserver5.myshophosting.com (cserver5.myshophosting.com [175.107.161.1]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 123BE1A6F9E for <avtext@ietf.org>; Tue, 16 Sep 2014 23:21:09 -0700 (PDT)
Received: from ppp118-209-111-109.lns20.mel4.internode.on.net ([118.209.111.109]:55555 helo=[127.0.0.1]) by cserver5.myshophosting.com with esmtpsa (TLSv1:DHE-RSA-AES128-SHA:128) (Exim 4.82) (envelope-from <Christian.Groves@nteczone.com>) id 1XU8a7-0006ma-4i; Wed, 17 Sep 2014 16:19:11 +1000
Message-ID: <5419284D.70804@nteczone.com>
Date: Wed, 17 Sep 2014 16:21:01 +1000
From: Christian Groves <Christian.Groves@nteczone.com>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.6.0
MIME-Version: 1.0
To: Bo Burman <bo.burman@ericsson.com>,  "avtext@ietf.org" <avtext@ietf.org>
References: <949EF20990823C4C85C18D59AA11AD8B212C0B@FR712WXCHMBA11.zeu.alcatel-lucent.com> <53F1DD5D.6030204@nteczone.com> <BBE9739C2C302046BD34B42713A1E2A22E28C887@ESESSMB105.ericsson.se> <53F441C3.5050201@nteczone.com> <BBE9739C2C302046BD34B42713A1E2A22E29290C@ESESSMB105.ericsson.se> <53FD7F8A.6060608@nteczone.com> <BBE9739C2C302046BD34B42713A1E2A22E29B9AD@ESESSMB105.ericsson.se> <54051326.5090103@nteczone.com> <BBE9739C2C302046BD34B42713A1E2A22E29F3A3@ESESSMB105.ericsson.se> <BBE9739C2C302046BD34B42713A1E2A22E2CD82A@ESESSMB105.ericsson.se> <5417AB01.2010801@nteczone.com> <BBE9739C2C302046BD34B42713A1E2A22E2CEC15@ESESSMB105.ericsson.se>
In-Reply-To: <BBE9739C2C302046BD34B42713A1E2A22E2CEC15@ESESSMB105.ericsson.se>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - cserver5.myshophosting.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - nteczone.com
X-Get-Message-Sender-Via: cserver5.myshophosting.com: authenticated_id: christian.groves@nteczone.com
X-Source: 
X-Source-Args: 
X-Source-Dir: 
Archived-At: http://mailarchive.ietf.org/arch/msg/avtext/YNvpWYYcuggMvIbzHtB4NnGAr4c
Subject: Re: [avtext] WGLC for  draft-ietf-avtext-rtp-stream-pause-02
X-BeenThere: avtext@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Audio/Video Transport Extensions working group discussion list <avtext.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/avtext>, <mailto:avtext-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/avtext/>
List-Post: <mailto:avtext@ietf.org>
List-Help: <mailto:avtext-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/avtext>, <mailto:avtext-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 17 Sep 2014 06:21:13 -0000

Hello Bo,

Please see my replies below.

Regards, Christian

On 16/09/2014 7:12 PM, Bo Burman wrote:
> Hi Christian,
>
> Thank you for good and constructive comments! My responses inline.
>
> Note that I need guidance on whether or not defined 'config' attribute values need to be somehow mentioned in IANA section, and in that case how to describe it. A reference to the table in Figure 6? Examples from other RFCs are welcome!
>
> Also, while editing the first part of section 9, I started to wonder if this specification can really promise that existing 'ccm tmmbr' signaling means TMMBR and TMMBN with value 0 is supported and will be treated correctly in all existing implementations? Should we not at least say there is no guarantee TMMBR and TMMBN implementations pre-dating this specification work exactly as described when used with a bitrate value of 0?
[CNG] The later seems a safer assumption.
>
> Cheers,
> /Bo
>
> ..snip
>> 3) Cl.9 Para.1: With respect to the use of the rtcp-fb attribute I think the text should say "/MUST only be used as an SDP
>> media attribute and MUST NOT be provided at the session level/". The use of "Recommended"
>> implies an option however there's a must against the use at session level, so really there is no option.
> [BoB] I agree that "recommend" and "must" do not match. The current text in that sentence is a bit poorly written. I think it tries to both describe what is said in RFC 4585 and 5104 about the rtcp-fb attribute in general, as well as saying that it applies also for this specification. That statement is redundant. RFC 4585 section 4.2 is totally clear: "The 'rtcp-fb' attribute MUST only be used as an SDP media attribute and MUST NOT be provided at the session level". I think the sentence can be removed.
[CNG] OK
>
>> 4) General Nit: Sometimes "hold off period" is used, sometimes "hold off time" is used. Could be consistent.
> [BoB] There are also sometimes "wait period" or "wait time". I'll change to "hold-off period" throughout.
[CNG] OK
>
> ..snip..
>> 6) Cl.9 last para pg 28: "/All implementations of this specification MUST be able to receive all//
>> //   messages defined in Section 8/". Given that the config parameter
>> allows partial implementation then this statement isn't true.
> [BoB] My intent was to require that all implementations are able to at least receive _and ignore_ all messages from section 8, regardless of config. That would be in line with section 4.2 of RFC 4585: "RTP senders MUST be prepared to receive any kind of RTCP FB messages  and MUST silently discard all those RTCP FB messages that they do not understand", but is thus strictly redundant. I suggest to simply remove the sentence since it does not add anything.
[CNG] OK
> ..snip..
>
>>
>> 8) Cl.9.2: " /First, the "config" attribute and its message directions are//
>> //   interpreted based on the node receiving the SDP./" Should this be
>> the node "providing" the SDP as per cl.9.1?
> [BoB] No. Declarative use of SDP seems to have this difference in interpretation of the SDP. First, see section 3.4 of RFC 4566 on Multicast Session Announcement that says "remote participants can use the session description to start the tools required to participate in the session". Second, compare with section 6 of RFC 4566 where a=recvonly is described as "specifies that the tools should be started in a receive-only mode". This indicates to me that the text currently in 9.2 is correct.
[CNG] Yes, seems you're right.
>
>> 9) Cl.11: Does the config parameter need to be included here? Also perhaps 4) and 5) should say "pause feedback type"
>> as per the description of the "type" element.
> [BoB] 'config' should be in 3, yes. Don't know about config values. Guidance appreciated!
[CNG] You may want to be more formal in the way the updates are 
specified to make it clear to IANA what exactly they have to do, e.g. 
similar to RFC5104.

11. IANA Considerations
This specification requests the following registrations from IANA

1) A new value for media stream pause / resume to be registered with 
IANA in the "FMT Values for RTPFB Payload Types" registry located at the 
time of publication at:
http://www.iana.org/assignments/rtp-parameters/rtp-parameters.xhtml

       Value:            9
       Name:             PAUSE RESUME
       Long Name:        Media Pause Resume
       Reference:        This RFC.

2) A new value "pause" to be registered with IANA in the "Codec Control 
Messages" registry located at the time of publication at:
http://www.iana.org/assignments/sdp-parameters/sdp-parameters.xhtml#sdp-parameters-19

    Name           Long Name                         Value  Reference
    -------------- --------------------------------- -----  ---------
    PAUSERES       Pause / Resume Media Sending        9    This RFC

With regards to the "no wait" and "config" parameters I don't think you 
need a registry for these are they don't need to be extensible. RFCs 
4585 and 5104 don't register these types of sub-parameters.

For 4 & 5 'pause' Types, I'm not sure a registry is needed for these. I 
would assume that any new value would be as a result of a revision to 
the pause/resume RFC. If you set up a registry for these 'pause' types 
then you have to specify the process used in order to update it.


>
>>
>> Regards, Christian
>>
>>
>> On 16/09/2014 12:29 AM, Bo Burman wrote:
>>> Christian, Roni, all,
>>>
>>> Please find enclosed a draft update implementing Christian's suggested changes below. Affected sections are 9 and
>> 10.1.
>>> Please have a look and let me know if the changes are acceptable and consistent with our discussions.
>>>
>>> Cheers,
>>> /Bo
>>>
>>>> -----Original Message-----
>>>> From: avtext [mailto:avtext-bounces@ietf.org] On Behalf Of Bo Burman
>>>> Sent: den 5 september 2014 11:44
>>>> To: Christian Groves; avtext@ietf.org
>>>> Subject: Re: [avtext] WGLC for draft-ietf-avtext-rtp-stream-pause-02
>>>>
>>>> Hi Christian,
>>>>
>>>> More inline.
>>>>
>>>> As a summary, I must conclude that Christian's proposal has
>>>> consistency and clarity benefits in SDP signaling compared to what is currently in the text, and suggest that the text
>> should be changed accordingly:
>>>> * The "dir" parameter of "ccm pause" is replaced by "config" as suggested below.
>>>> * The separate "ccm paused" parameter is removed, since support of PAUSED will instead be indicated through
>> "config"
>>>> BR
>>>> /Bo
>>>>
>>>>> -----Original Message-----
>>>>> From: Christian Groves [mailto:Christian.Groves@nteczone.com]
>>>>> Sent: den 2 september 2014 02:45
>>>>> To: Bo Burman; avtext@ietf.org
>>>>> Subject: Re: [avtext] WGLC for draft-ietf-avtext-rtp-stream-pause-02
>>>>>
>>>>> Hello Bo,
>>>>>
>>>>> Please see my replies below.
>>>>>
>>>>> Regards, Christian
>>>>>
>>>>> On 1/09/2014 9:51 PM, Bo Burman wrote:
>>>>>> ..snip..
>>>>>> I think the following two main options are reasonable ways forward:
>>>>>>
>>>>>> 1) Remove the "paused" SDP parameter entirely, and with it the
>>>>>> possibility to implement support of only the local pause indication
>>>>>>
>>>>>> 2) Make the text consistently express that "paused" refers to
>>>>>> capability for that limited functionality. For SDP
>>>>>>> offer/answer, we then have a few more choices regarding the relation between "pause" and "paused":
>>>>>>>> 	a)  an offer expressing support for this specification MUST
>>>>>>>> contain only one of "pause" or "paused", and an offer
>>>>>>> with "pause" is possible to restrict by answering with "paused",
>>>>>>> but an offer with the limited "paused" cannot be upgraded to
>>>>>>> "pause" in the answer. May possibly cause problems with
>>>>> declarative use; guidance appreciated.
>>>>>>>> 	b) "pause" and "paused" are kept separate (what current text
>>>>>>>> mostly does, except for some confusion that must be corrected
>>>>>>>> throughout if this option is chosen); the offer MAY contain
>>>>>>>> either or both, while the answer MUST choose one and MUST NOT add
>>>>>>>> anything that was not in the offer
>>>>>>> [CNG] I wasn't following this closely when 'paused' was added so
>>>>>>> I'm not sure about removing it. It would simplify things if it was removed.
>>>>>>> I think what would need to be added if local pause was supported
>>>>>>> without signalling is that a node supporting this draft must at
>>>>>>> minimum support the reception of a 'paused' indication and the
>>>>>>> sending of 'paused' if the node supports a paused state. There
>>>>>>> would probably need to be an extra value in direction
>>>>> indicating that PAUSE/RESUME is not sent or received.
>>>>>> [BoB] You mean using additional direction signaling for pause
>>>>>> instead of the tag "paused"? I don't see how that goes
>>>>> with your statement "supported without signaling" a few sentences back, since that is then also explicit signaling?
>>>>> [CNG] Yes an additional direction. I was thinking about how to
>>>>> specify "local pause" where the endpoint didn't support
>>>>> sendonly,recvonly or sendrecv. It wouldn't be correct for the endpoint to send "a=rtcp-fb:* ccm pause" because the
>> default is "sendrecv".
>>>> [BoB] Thinking this through again. It is possible to make the
>>>> currently proposed signaling in the draft consistent, but only if
>>>> capability and indication of pause and local pause are changed to be totally independent functions. The 8
>> configurations you list are then possible to express, using direction parameter of both pause and paused ([] indicates
>> optional).
>>>> 1) Send(PAUSE,RESUMED,PAUSED,REFUSE) Receive
>>>> (PAUSED,RESUMED,PAUSED,REFUSED)
>>>> a=rtcp-fb:* ccm pause [dir=sendrecv]
>>>> a=rtcp-fb:* ccm paused [dir=sendrecv]
>>>>
>>>> 2) Send(PAUSE, RESUME, PAUSED) Receive (PAUSED, REFUSED)
>>>> a=rtcp-fb:* ccm pause dir=sendonly
>>>> a=rtcp-fb:* ccm paused [dir=sendrecv]
>>>>
>>>> 3) Send(PAUSED,REFUSED) Receive (PAUSE, RESUME, PAUSED)
>>>> a=rtcp-fb:* ccm pause dir=recvonly
>>>> a=rtcp-fb:* ccm paused [dir=sendrecv]
>>>>
>>>> 4) Send(PAUSED,REFUSED) Receive (PAUSE, RESUME)
>>>> a=rtcp-fb:* ccm pause dir=recvonly
>>>> a=rtcp-fb:* ccm paused dir=sendonly
>>>>
>>>> 5) Send(PAUSE, RESUME) Receive (PAUSED, REFUSED)
>>>> a=rtcp-fb:* ccm pause dir=sendonly
>>>> a=rtcp-fb:* ccm paused dir=recvonly
>>>>
>>>> 6) Send(PAUSED) Receive(PAUSED)
>>>> a=rtcp-fb:* ccm paused [dir=sendrecv]
>>>>
>>>> 7) Send() Receive(PAUSED)
>>>> a=rtcp-fb:* ccm paused dir=recvonly
>>>>
>>>> 8) Send(PAUSED) Receive()
>>>> a=rtcp-fb:* ccm paused dir=sendonly
>>>>
>>>> That split would however also mean there is a possibility to support
>>>> PAUSE but not PAUSED, which I believe is an undesirable side-effect and definitely not in line with the current text.
>>>>
>>>> As a summary, I must agree that your proposal to use a "config"
>>>> parameter with an explicit listing of supported messages and directions is indeed much easier to describe and is
>> beneficial for text clarity.
>>>>>>> Maybe an option 2c: If local pause is kept and it needs to be
>>>>>>> supported by signalling there actually appears to be 8
>>>>>>> combinations of sent and received messages. I assume a node
>>>>>>> supporting the sending and/or reception of PAUSE must also support
>>>>>>> RESUME. A node supporting the reception of PAUSE/RESUME must also
>>>>> support sending PAUSED and REFUSED.
>>>>>> [BoB] An observation: I see you more or less consistently using
>>>>>> "REFUSED" instead of the currently defined tag
>>>>> "REFUSE". This is actually consistent with it being an
>>>>> indication/response rather than a command, and thus probably a
>>>>> better name. Do you suggest that we change the
>>>> name to "REFUSED" in the draft?
>>>>> [CNG] I wasn't proposing the change, I guess I just aligned "paused" and "refused". I'd be OK with changing it.
>>>> [BoB] Unless someone else objects, I will change REFUSE to REFUSED
>>>> throughout, to better reflect that it is an indication, not a command.
>>>>
>>>>>>> The combinations a Node can support are:
>>>>>>>
>>>>>>> 1) Send(PAUSE,RESUMED,PAUSED,REFUSE) Receive
>>>>>>> (PAUSED,RESUMED,PAUSED,REFUSED)
>>>>>>> 2) Send(PAUSE, RESUME, PAUSED) Receive (PAUSED, REFUSED)
>>>>>>> 3) Send(PAUSED,REFUSED) Receive (PAUSE, RESUME, PAUSED)
>>>>>>> 4) Send(PAUSED,REFUSED) Receive (PAUSE, RESUME)
>>>>>>> 5) Send(PAUSE, RESUME) Receive (PAUSED, REFUSED)
>>>>>>> 6) Send(PAUSED) Receive(PAUSED)
>>>>>>> 7) Send() Receive(PAUSED)
>>>>>>> 8) Send(PAUSED) Receive()
>>>>>>>
>>>>>>> Would it be easier to simply signal the messages that are
>>>>>>> supported rather than two parameters with a direction parameters?
>>>>>>> e.g. the draft could have the above list of values. If a node
>>>>>>> supported both the sending and reception of
>>>>>>> PAUSE/RESUME/PAUSED/REFUSED then it could signal e.g. a=rtcp-fb:98
>>>>>>> ccm pause
>>>>> config=1 . Part of the confusion comes from the interaction between
>>>>> the parameters. This would remove the
>>>> interaction.
>>>>>>> It might make describing the SDP O/A procedures easier.
>>>>>>> e.g.
>>>>>>> On receiving an Offer with:
>>>>>>> config=1 the answerer may reply with config=1, 2, 3, 4, 5, 6, 7 or 8.
>>>>>>> config=2 the answerer may reply with config=3, 4, 5, 6, 7 or 8.
>>>>>>> config=3 the answerer may reply with config=2, 4, 5, 6, 7 or 8.
>>>>>>> config=4 the answerer may reply with config=5, 6, 7 or 8.
>>>>>>> config=5 the answerer may reply with config=4, 6, 7 or 8.
>>>>>>> config=6 the answerer may reply with config=6, 7 or 8.
>>>>>>> config=7 the answerer may reply with config=8
>>>>>>> config=8 the answerer may reply with config=7 In all cases the
>>>>>>> answerer may reply with a completely removed "pause"
>>>>>>> parameter.
>>>>>>>
>>>>>>> An answerer cannot add extra messages to what is provided in the Offer.
>>>>>>> For example: If an Offer indicates config=6 an Answer cannot reply
>>>>>>> with
>>>>>>> config=3 indicating that it has the capability to receive PAUSE
>>>>>>> and RESUME. An answerer may remove messages that it does not support.
>>>>>>> For
>>>>>>> example: if an Offer indicates config=6 an Answer may reply with
>>>>>>> config=7 indicating that it can only receive PAUSED.
>>>>>> [BoB] I get your point. There is significant inherent complexity in
>>>>>> this that your proposal makes explicit and clarifies. I
>>>>> would like to simplify and clarify this further by reducing the allowed configurations to be 1, 4, 5 and 6:
>>>>>> 1) Full support of sending and receiving all messages ("ccm pause" without direction)
>>>>>> 	As you say above, acceptable Answers include 1, 4, 5 or 6, or (of
>>>>>> course) removing "ccm pause" entirely
>>>>>> 4) Pause command receiver, sending result indications ("ccm pause dir=recvonly")
>>>>>> 	Acceptable Answers include 5, 6, or removing ccm pause entirely
>>>>>> 5) Pause command sender, receiving result indications ("ccm pause dir=sendonly")
>>>>>> 	Acceptable Answers include 4, 6, or removing ccm pause entirely
>>>>>> 6) Local pause support only ("ccm paused", and I then suggest
>>>>>> removing direction from paused; either you support it or
>>>>> you don't)
>>>>>> 	Acceptable Answers include 6 or removing ccm paused entirely
>>>>> [CNG] So to remove 2 and 3 the assumption must be that local pause
>>>>> is not supported by a sendonly or receive only endpoint. Is that correct?
>>>>> It would seem that if local pause was to be supported then 2 and 3 should be selected rather than 4 and 5.
>>>>>          To remove 7 and 8 the assumption must be that endpoints
>>>>> supporting this draft must support local pause? Otherwise there's no
>>>>> way of saying "I won't send anything but if you do
>>>> a local pause let me know".
>>>>
>>>> [BoB] I agree the 8 configurations you list makes sense to keep. They
>>>> reflect the current text better than what I suggested.
>>>>
>>>>>> If those clarifications you list above on O/A and what messages are
>>>>>> sent and/or received are made in the document, do
>>>>> you still think we need to introduce the "config" concept, or will
>>>>> the direction parameter to "pause" (as indicated in my shortened list above) be clear enough?
>>>>> [CNG] I think having "paused" as a separate parameter as in your
>>>>> proposal 6 just complicates things. Once you have two parameters
>>>>> then we come back to specifying the interaction
>>>> between them. E.g. If A sends SDP "a=rtcp-fb:* ccm pause"
>>>>> if B only supports local pause does it reply back with a different
>>>>> parameter "a=rtcp-fb* ccm paused"? If so then it wouldn't make sense
>>>>> for an endpoint to send both "pause" and
>>>> "paused".
>>>>
>>>> [BoB] As said above, just signaling ccm pause would have to mean that
>>>> paused is not supported, so there would be no way to fall back to local pause, which is undesirable. Your "config" is
>> better.
>>>>>> I wonder, is it rather the notion of "direction" that becomes
>>>>>> confusing, since "recvonly" actually includes sending
>>>>> messages, only those messages are not "PAUSE" and "RESUME"? In that
>>>>> case, could we call it something else than "direction"; like
>>>>> "dir=sendonly" -> "command-only" and "dir=recvonly" ->
>>>> "indication-only"?
>>>>> [CNG] Yes I think the direction is confusing considering that for
>>>>> pause it's opposite the RTP flow direction, for paused its the same.
>>>>> To support pause an endpoint will send and receive
>>>> messages. I don't think "command-only"/"indication-only"
>>>>> help because they again relate to a direction. e.g. to support
>>>>> "sendonly" an endpoint sends commands PAUSE/RESUME and receives
>>>>> indications PAUSED/REFUSEd. I think being
>>>> explicit makes the description much easier.
>>>> [BoB] Agree
>>>>
>>>> _______________________________________________
>>>> avtext mailing list
>>>> avtext@ietf.org
>>>> https://www.ietf.org/mailman/listinfo/avtext
>


From nobody Wed Sep 17 00:15:53 2014
Return-Path: <bo.burman@ericsson.com>
X-Original-To: avtext@ietfa.amsl.com
Delivered-To: avtext@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 3129A1A0336 for <avtext@ietfa.amsl.com>; Wed, 17 Sep 2014 00:15:52 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.2
X-Spam-Level: 
X-Spam-Status: No, score=-4.2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id w0MBJFCd7VtF for <avtext@ietfa.amsl.com>; Wed, 17 Sep 2014 00:15:48 -0700 (PDT)
Received: from sesbmg23.ericsson.net (sesbmg23.ericsson.net [193.180.251.37]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id F338B1A0310 for <avtext@ietf.org>; Wed, 17 Sep 2014 00:15:47 -0700 (PDT)
X-AuditID: c1b4fb25-f791c6d00000617b-0e-54193522d606
Received: from ESESSHC024.ericsson.se (Unknown_Domain [153.88.253.124]) by sesbmg23.ericsson.net (Symantec Mail Security) with SMTP id CB.C0.24955.22539145; Wed, 17 Sep 2014 09:15:46 +0200 (CEST)
Received: from ESESSMB105.ericsson.se ([169.254.5.215]) by ESESSHC024.ericsson.se ([153.88.183.90]) with mapi id 14.03.0174.001; Wed, 17 Sep 2014 09:15:45 +0200
From: Bo Burman <bo.burman@ericsson.com>
To: Bernard Aboba <bernard_aboba@hotmail.com>, "avtext@ietf.org" <avtext@ietf.org>
Thread-Topic: [avtext] Review of  draft-ietf-avtext-rtp-stream-pause-02
Thread-Index: AQHP0jN1uJj+/jLIEEmtXmUHB8gdz5wE3dZg
Date: Wed, 17 Sep 2014 07:15:44 +0000
Message-ID: <BBE9739C2C302046BD34B42713A1E2A22E2CF922@ESESSMB105.ericsson.se>
References: <949EF20990823C4C85C18D59AA11AD8B212C0B@FR712WXCHMBA11.zeu.alcatel-lucent.com>, <53F1DD5D.6030204@nteczone.com>, <BBE9739C2C302046BD34B42713A1E2A22E28C887@ESESSMB105.ericsson.se>, <53F441C3.5050201@nteczone.com>, <BBE9739C2C302046BD34B42713A1E2A22E29290C@ESESSMB105.ericsson.se>, <53FD7F8A.6060608@nteczone.com>, <BBE9739C2C302046BD34B42713A1E2A22E29B9AD@ESESSMB105.ericsson.se>, <54051326.5090103@nteczone.com>, <BBE9739C2C302046BD34B42713A1E2A22E29F3A3@ESESSMB105.ericsson.se>, <BBE9739C2C302046BD34B42713A1E2A22E2CD82A@ESESSMB105.ericsson.se>, <5417AB01.2010801@nteczone.com>, <BBE9739C2C302046BD34B42713A1E2A22E2CEC15@ESESSMB105.ericsson.se> <BLU181-W11CBB817B5DAFD30D99C4693B60@phx.gbl>
In-Reply-To: <BLU181-W11CBB817B5DAFD30D99C4693B60@phx.gbl>
Accept-Language: sv-SE, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [153.88.183.19]
Content-Type: multipart/alternative; boundary="_000_BBE9739C2C302046BD34B42713A1E2A22E2CF922ESESSMB105erics_"
MIME-Version: 1.0
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrLLMWRmVeSWpSXmKPExsUyM+Jvja6SqWSIwdY3IhYf791gtdi/5DKz A5PH454zbB5LlvxkCmCK4rJJSc3JLEst0rdL4MqYcuwNe8HseYwVxyd3sjQw7m5j7GLk5JAQ MJF4+XkTO4QtJnHh3nq2LkYuDiGBo4wSu1f9hHKWMEo8+LufCaSKTUBDYv6Ou2DdIgIhEiva lrKC2MICbhLv3p+DirtL3Du2ig3CNpJY2/UMbAOLgKrEnNmrwep5BXwlFp6/A7XgOqvEqR+v WEASnAJWEtM+XgWzGQVkJe5/vwdmMwuIS9x6Mp8J4lQBiSV7zjND2KISLx//Y4WwFSXanzYw QtTnS3QfO88CsUxQ4uTMJywTGEVmIRk1C0nZLCRlEHEdiQW7P7FB2NoSyxa+Zoaxzxx4zIQs voCRfRWjaHFqcVJuupGxXmpRZnJxcX6eXl5qySZGYHwd3PJbdQfj5TeOhxgFOBiVeHgVXkuE CLEmlhVX5h5ilOZgURLnXXhuXrCQQHpiSWp2ampBalF8UWlOavEhRiYOTqkGRt0tjQ637e3d df5Wu+TGWf4rOBwafYjpjvzDR0+zYm22Pf4lu60/pzijhiHTv2/Zkx5NE5bbc4qVpL8GHDPn WhBdmfPh17ZFSX/Z3U+4GngntLtkL+GJmHrxxtR5B896xN9e982lp3LfDI29ySrBs32dNW7f UNvYOjHN/9SkVfqvO938NFwPKrEUZyQaajEXFScCAFgm8d+QAgAA
Archived-At: http://mailarchive.ietf.org/arch/msg/avtext/pfcfRsmVfzQ8yBkyb5NsyOQKjGo
Subject: Re: [avtext] Review of  draft-ietf-avtext-rtp-stream-pause-02
X-BeenThere: avtext@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Audio/Video Transport Extensions working group discussion list <avtext.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/avtext>, <mailto:avtext-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/avtext/>
List-Post: <mailto:avtext@ietf.org>
List-Help: <mailto:avtext-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/avtext>, <mailto:avtext-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 17 Sep 2014 07:15:52 -0000

--_000_BBE9739C2C302046BD34B42713A1E2A22E2CF922ESESSMB105erics_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Responses inline
/Bo

From: avtext [mailto:avtext-bounces@ietf.org] On Behalf Of Bernard Aboba
Sent: den 17 september 2014 06:53
To: avtext@ietf.org
Subject: [avtext] Review of draft-ietf-avtext-rtp-stream-pause-02

Section 1

   This document describes several
   scenarios in multimedia communication where a conferencing node or
   participant chooses to temporarily pause an incoming RTP [RFC3550<https:=
//tools.ietf.org/html/rfc3550>]
   stream and later resume it when needed.  The receiver does not need
   to terminate or inactivate the RTP session and start all over again
   by negotiating the session parameters, for example using SIP
   [RFC3261<https://tools.ietf.org/html/rfc3261>] with SDP Offer/Answer [RF=
C3264<https://tools.ietf.org/html/rfc3264>].

  Centralized nodes, like RTP Mixers or MCUs, which either uses logic
   based on voice activity, other measurements, or user input could
   reduce the resources consumed in both the sender and the network by
   temporarily pausing the RTP streams that aren't required by the RTP
   Mixer.

[BA] There is another potential use case for a centralized node.  Could str=
eam pause/resume also be used to enable a centralized node to notify a rece=
iver that it has chosen to pause a stream on its own (without being asked)?=
  For example, there are situations where an multi-stream SFU may wish to d=
rop a layer (RTCP RRs or PLI indicates congestion).  Today this is handled =
via codec-specific messages (e.g. SEI layer drop).   However, if it was des=
ired to handle this in a codec-independent way, could a centralized node se=
nd an unsolicited PAUSED (e.g. TMMBN =3D 0) message?
[BoB] Yes, that is the intention. I could add some text in the introduction=
 about that. This is fully in line with the rest of the document. See for e=
xample first part of section 5.3 "Media Sender Pausing";
   An RTP stream sender can choose to pause the stream at any time.
   This can either be as a result of receiving a PAUSE, or be based on
   some local sender consideration.  When it does, it sends a PAUSED
   indication, containing the available PauseID.  If the stream was
   paused by a TMMBR 0, TMMBN 0 is used as PAUSED indication.  What is
   said on PAUSED in the rest of this paragraph apply also to the use of
    TMMBN 0, except for PAUSED message parameters.
Do you think that the text need further clarification? I see no problem add=
ing explicit text regarding unsolicited sending of TMMBN 0.

Section 4.2

It is the responsibility of an RTP stream receiver, who wants to pause or r=
esume a stream from the sender(s), to transmit PAUSE and RESUME messages. A=
n RTP stream sender who likes to pause itself, can simply do it. Any indica=
tion that an RTP stream is paused is the responsibility of the RTP stream s=
ender and may in some cases not even be needed by the stream receiver.

[BA] Not sure I agree with this for the multi-stream transmission case.  If=
 a sender stops sending a layer with no notification, then the receiver cou=
ld be adversely affected.  For example, it could be waiting for a spatial e=
nhancement layer that never shows up.   That is why we have SEI layer drop =
messages, right?
[BoB] If you refer to the sentence marked in red above, it was intended to =
highlight a fact that was there already before this draft, not to specifica=
lly allow something that was previously disallowed. Maybe that sentence cou=
ld be changed into something like "An RTP stream sender who likes to pause =
itself can often simply do it, but sometimes this will adversely affect the=
 receiver and an explicit indication that the RTP stream is paused may then=
 help"?


Section 4.4

An RTP stream sender should not pause an SSRC that some receiver still wish=
es to receive. The reason is that in RTP topologies where the stream is sha=
red between multiple receivers, a single receiver on that shared network, i=
ndependent of it being multicast, a mesh with joint RTP session or a transp=
ort Translator based, must not single- handedly cause the stream to be paus=
ed without letting all other receivers to voice their opinions on whether o=
r not the stream should be paused. A consequence of this is that a newly jo=
ining receiver, for example indicated by an RTCP Receiver Report containing=
 both a new SSRC and a CNAME that does not already occur in the session, fi=
rstly needs to learn the existence of paused streams, and secondly should b=
e able to resume any paused stream. Any single receiver wanting to resume a=
 stream should also cause it to be resumed.

[BA] In many simulcast and MST implementations, the centralized unit utiliz=
es sender-based congestion control, which means that it decides which strea=
ms to send based on indications from the receiver such as packet loss, etc.=
   If there is substantial loss, the sender will adjust the streams it is s=
ending.  In implementations where the SFU uses a distinct SSRC for each sim=
ulcast stream (as opposed to using the same SSRC but adjusting the resoluti=
on/framerate), it may pause sending one SSRC and resume sending another (lo=
wer bandwidth one).  Where MST is in use, the sender may pause an enhanceme=
nt layer and subsequently resume sending it when it has reason to believe t=
hat there is sufficient bandwidth to handle it.  Whether receiver "wishes t=
o receive" a stream doesn't really enter into the sender's decision if it d=
etermines that there isn't sufficient bandwidth available to send it succes=
sfully.
[BoB] Fully agree that bandwidth availability has higher precedence than an=
y receiver's wishes. This is a typical case where "local considerations" ov=
erride RTP stream receivers, as described in section 5.4. That is also one =
of the very reasons to include the REFUSED indication in the draft. This sc=
enario is also viable when using TMMBR/TMMBN; a RESUME signaled through TMM=
BR>0 can be REFUSED using TMMBN 0 (likely indicating the RTP stream sender =
itself owning the bitrate restriction), as described in section 5.5. I real=
ize that the text is not clear on using the RTP stream sender's own SSRC as=
 the one owning the restriction in TMMBR/TMMBN signaling whenever "local co=
nsiderations" apply, which I believe is useful here. I should probably add =
text about that in a few places. Agree?








--_000_BBE9739C2C302046BD34B42713A1E2A22E2CF922ESESSMB105erics_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:=
//www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dus-ascii"=
>
<meta name=3D"Generator" content=3D"Microsoft Word 14 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0cm;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";}
h3
	{mso-style-priority:9;
	mso-style-link:"Heading 3 Char";
	mso-margin-top-alt:auto;
	margin-right:0cm;
	mso-margin-bottom-alt:auto;
	margin-left:0cm;
	font-size:13.5pt;
	font-family:"Times New Roman","serif";
	font-weight:bold;}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
p
	{mso-style-priority:99;
	mso-margin-top-alt:auto;
	margin-right:0cm;
	mso-margin-bottom-alt:auto;
	margin-left:0cm;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";}
span.h3
	{mso-style-name:h3;}
span.Heading3Char
	{mso-style-name:"Heading 3 Char";
	mso-style-priority:9;
	mso-style-link:"Heading 3";
	font-family:"Cambria","serif";
	color:#4F81BD;
	font-weight:bold;}
span.EmailStyle20
	{mso-style-type:personal-reply;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-size:10.0pt;}
@page WordSection1
	{size:612.0pt 792.0pt;
	margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
	{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang=3D"EN-US" link=3D"blue" vlink=3D"purple">
<div class=3D"WordSection1">
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D">Responses inline<o:p></o:=
p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D">/Bo<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p>&nbsp;</o:p></span><=
/p>
<div style=3D"border:none;border-left:solid blue 1.5pt;padding:0cm 0cm 0cm =
4.0pt">
<div>
<div style=3D"border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm =
0cm 0cm">
<p class=3D"MsoNormal"><b><span style=3D"font-size:10.0pt;font-family:&quot=
;Tahoma&quot;,&quot;sans-serif&quot;">From:</span></b><span style=3D"font-s=
ize:10.0pt;font-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;"> avtext [=
mailto:avtext-bounces@ietf.org]
<b>On Behalf Of </b>Bernard Aboba<br>
<b>Sent:</b> den 17 september 2014 06:53<br>
<b>To:</b> avtext@ietf.org<br>
<b>Subject:</b> [avtext] Review of draft-ietf-avtext-rtp-stream-pause-02<o:=
p></o:p></span></p>
</div>
</div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<div>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Calibri&quot;,&quot=
;sans-serif&quot;">Section 1<br>
&nbsp;<br>
&nbsp;&nbsp; This document describes several<br>
&nbsp;&nbsp; scenarios in multimedia communication where a conferencing nod=
e or<br>
&nbsp;&nbsp; participant chooses to temporarily pause an incoming RTP [<a h=
ref=3D"https://tools.ietf.org/html/rfc3550" title=3D"&quot;RTP: A Transport=
 Protocol for Real-Time Applications&quot;">RFC3550</a>]<br>
&nbsp;&nbsp; stream and later resume it when needed.&nbsp; The receiver doe=
s not need<br>
&nbsp;&nbsp; to terminate or inactivate the RTP session and start all over =
again<br>
&nbsp;&nbsp; by negotiating the session parameters, for example using SIP<b=
r>
&nbsp;&nbsp; [<a href=3D"https://tools.ietf.org/html/rfc3261" title=3D"&quo=
t;SIP: Session Initiation Protocol&quot;">RFC3261</a>] with SDP Offer/Answe=
r [<a href=3D"https://tools.ietf.org/html/rfc3264" title=3D"&quot;An Offer/=
Answer Model with Session Description Protocol (SDP)&quot;">RFC3264</a>].<b=
r>
&nbsp;<br>
&nbsp; Centralized nodes, like RTP Mixers or MCUs, which either uses logic<=
br>
&nbsp;&nbsp; based on voice activity, other measurements, or user input cou=
ld<br>
&nbsp;&nbsp; reduce the resources consumed in both the sender and the netwo=
rk by<br>
&nbsp;&nbsp; temporarily pausing the RTP streams that aren't required by th=
e RTP<br>
&nbsp;&nbsp; Mixer.<br>
&nbsp;<br>
[BA] There is another potential use case for a centralized node.&nbsp; Coul=
d stream pause/resume also be used to enable a centralized node to notify a=
 receiver that it has chosen to pause a stream on its own (without being as=
ked)?&nbsp; For example, there are situations
 where an multi-stream SFU may wish to drop a layer (RTCP RRs or PLI indica=
tes congestion).&nbsp; Today this is handled via codec-specific messages (e=
.g. SEI layer drop).&nbsp;&nbsp;&nbsp;However, if it was desired to handle =
this in a codec-independent way, could a centralized
 node send an unsolicited&nbsp;PAUSED (e.g. TMMBN =3D 0) message?<span styl=
e=3D"color:#1F497D"><o:p></o:p></span></span></p>
<p class=3D"MsoNormal"><b><i><span style=3D"font-size:11.0pt;font-family:&q=
uot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D">[BoB] Yes, that is =
the intention. I could add some text in the introduction about that. This i=
s fully in line with the rest of the document. See for example
 first part of section 5.3 &#8220;Media Sender Pausing&#8221;;<o:p></o:p></=
span></i></b></p>
<p class=3D"MsoNormal" style=3D"margin-left:5.25pt"><span style=3D"font-siz=
e:11.0pt;font-family:&quot;Courier New&quot;;color:#1F497D">&nbsp;&nbsp; An=
 RTP stream sender can choose to pause the stream at any time.<o:p></o:p></=
span></p>
<p class=3D"MsoNormal" style=3D"margin-left:5.25pt"><span style=3D"font-siz=
e:11.0pt;font-family:&quot;Courier New&quot;;color:#1F497D">&nbsp;&nbsp; Th=
is can either be as a result of receiving a PAUSE, or be based on<o:p></o:p=
></span></p>
<p class=3D"MsoNormal" style=3D"margin-left:5.25pt"><span style=3D"font-siz=
e:11.0pt;font-family:&quot;Courier New&quot;;color:#1F497D">&nbsp;&nbsp; so=
me local sender consideration.&nbsp; When it does, it sends a PAUSED<o:p></=
o:p></span></p>
<p class=3D"MsoNormal" style=3D"margin-left:5.25pt"><span style=3D"font-siz=
e:11.0pt;font-family:&quot;Courier New&quot;;color:#1F497D">&nbsp;&nbsp; in=
dication, containing the available PauseID.&nbsp; If the stream was<o:p></o=
:p></span></p>
<p class=3D"MsoNormal" style=3D"margin-left:5.25pt"><span style=3D"font-siz=
e:11.0pt;font-family:&quot;Courier New&quot;;color:#1F497D">&nbsp;&nbsp; pa=
used by a TMMBR 0, TMMBN 0 is used as PAUSED indication.&nbsp; What is<o:p>=
</o:p></span></p>
<p class=3D"MsoNormal" style=3D"margin-left:5.25pt"><span style=3D"font-siz=
e:11.0pt;font-family:&quot;Courier New&quot;;color:#1F497D">&nbsp;&nbsp; sa=
id on PAUSED in the rest of this paragraph apply also to the use of<o:p></o=
:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Co=
urier New&quot;;color:#1F497D">&nbsp;&nbsp; &nbsp;TMMBN 0, except for PAUSE=
D message parameters.<o:p></o:p></span></p>
<p class=3D"MsoNormal"><b><i><span style=3D"font-size:11.0pt;font-family:&q=
uot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D">Do you think that t=
he text need further clarification? I see no problem adding explicit text r=
egarding unsolicited sending of TMMBN 0.<o:p></o:p></span></i></b></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Calibri&quot;,&quot=
;sans-serif&quot;">&nbsp;<br>
Section 4.2<br>
<span class=3D"h3">&nbsp;</span><br>
It is the responsibility of an RTP stream receiver, who wants to pause or r=
esume a stream from the sender(s), to transmit PAUSE and RESUME messages.
<span style=3D"color:red">An RTP stream sender who likes to pause itself, c=
an simply do it</span>. Any indication that an RTP stream is paused is the =
responsibility of the RTP stream sender and may in some cases not even be n=
eeded by the stream receiver.<br>
&nbsp;<br>
[BA] Not sure I agree with this for the multi-stream transmission case.&nbs=
p; If&nbsp;a sender stops sending a layer with no notification, then the re=
ceiver could be adversely affected.&nbsp; For example, it could be waiting =
for a spatial enhancement layer that never shows
 up.&nbsp;&nbsp; That is why we have SEI layer drop messages, right? <span =
style=3D"color:#1F497D">
<o:p></o:p></span></span></p>
<p class=3D"MsoNormal"><b><i><span style=3D"font-size:11.0pt;font-family:&q=
uot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D">[BoB] If you refer =
to the sentence marked in red above, it was intended to highlight a fact th=
at was there already before this draft, not to specifically
 allow something that was previously disallowed. Maybe that sentence could =
be changed into something like &#8220;An RTP stream sender who likes to pau=
se itself can often simply do it, but sometimes this will adversely affect =
the receiver and an explicit indication
 that the RTP stream is paused may then help&#8221;?<o:p></o:p></span></i><=
/b></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Calibri&quot;,&quot=
;sans-serif&quot;"><br>
&nbsp;<br>
Section 4.4<br>
&nbsp;<br>
An RTP stream sender should not pause an SSRC that some receiver still wish=
es to receive. The reason is that in RTP topologies where the stream is sha=
red between multiple receivers, a single receiver on that shared network, i=
ndependent of it being multicast,
 a mesh with joint RTP session or a transport Translator based, must not si=
ngle- handedly cause the stream to be paused without letting all other rece=
ivers to voice their opinions on whether or not the stream should be paused=
. A consequence of this is that
 a newly joining receiver, for example indicated by an RTCP Receiver Report=
 containing both a new SSRC and a CNAME that does not already occur in the =
session, firstly needs to learn the existence of paused streams, and second=
ly should be able to resume any
 paused stream. Any single receiver wanting to resume a stream should also =
cause it to be resumed.
<br>
&nbsp;<br>
[BA] In many simulcast and MST implementations, the centralized unit utiliz=
es sender-based congestion control, which means that it decides which strea=
ms to send based on indications from the receiver such as packet loss, etc.=
&nbsp;&nbsp; If there is substantial loss,
 the sender will adjust the streams it is sending.&nbsp; In implementations=
 where the SFU uses a distinct SSRC for each simulcast stream (as opposed t=
o using the same SSRC but adjusting the resolution/framerate), it may&nbsp;=
pause sending one SSRC and&nbsp;resume sending
 another (lower bandwidth one).&nbsp; Where MST is in use, the sender may p=
ause an enhancement layer and subsequently resume sending it when it has re=
ason to believe that there is sufficient bandwidth to handle it.&nbsp; Whet=
her receiver &quot;wishes to receive&quot; a stream
 doesn't really enter into the sender's decision if it determines that ther=
e isn't sufficient bandwidth available to send it successfully.
<span style=3D"color:#1F497D"><o:p></o:p></span></span></p>
<p class=3D"MsoNormal"><b><i><span style=3D"font-size:11.0pt;font-family:&q=
uot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D">[BoB] Fully agree t=
hat bandwidth availability has higher precedence than any receiver&#8217;s =
wishes. This is a typical case where &#8220;local considerations&#8221; ove=
rride
 RTP stream receivers, as described in section 5.4. That is also one of the=
 very reasons to include the REFUSED indication in the draft. This scenario=
 is also viable when using TMMBR/TMMBN; a RESUME signaled through TMMBR&gt;=
0 can be REFUSED using TMMBN 0 (likely
 indicating the RTP stream sender itself owning the bitrate restriction), a=
s described in section 5.5. I realize that the text is not clear on using t=
he RTP stream sender&#8217;s own SSRC as the one owning the restriction in =
TMMBR/TMMBN signaling whenever &#8220;local
 considerations&#8221; apply, which I believe is useful here. I should prob=
ably add text about that in a few places. Agree?<o:p></o:p></span></i></b><=
/p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Calibri&quot;,&quot=
;sans-serif&quot;"><br>
&nbsp;<br>
<span class=3D"h3">&nbsp;<o:p></o:p></span></span></p>
<h3><span style=3D"font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;">=
&nbsp;</span><o:p></o:p></h3>
<p class=3D"MsoNormal"><span class=3D"h3"><span style=3D"font-family:&quot;=
Calibri&quot;,&quot;sans-serif&quot;">&nbsp;</span></span><span style=3D"fo=
nt-family:&quot;Calibri&quot;,&quot;sans-serif&quot;"><br>
<br>
&nbsp;<o:p></o:p></span></p>
</div>
</div>
</div>
</body>
</html>

--_000_BBE9739C2C302046BD34B42713A1E2A22E2CF922ESESSMB105erics_--


From nobody Wed Sep 17 07:13:48 2014
Return-Path: <bo.burman@ericsson.com>
X-Original-To: avtext@ietfa.amsl.com
Delivered-To: avtext@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 982351A0460 for <avtext@ietfa.amsl.com>; Wed, 17 Sep 2014 07:13:43 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.801
X-Spam-Level: 
X-Spam-Status: No, score=-1.801 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, J_CHICKENPOX_18=0.6, J_CHICKENPOX_38=0.6, J_CHICKENPOX_45=0.6, J_CHICKENPOX_46=0.6, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001] autolearn=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id mXmDV2X7bLkY for <avtext@ietfa.amsl.com>; Wed, 17 Sep 2014 07:13:40 -0700 (PDT)
Received: from sessmg23.ericsson.net (sessmg23.ericsson.net [193.180.251.45]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id AC1EC1A045F for <avtext@ietf.org>; Wed, 17 Sep 2014 07:13:39 -0700 (PDT)
X-AuditID: c1b4fb2d-f793d6d000005356-f6-54199711f89b
Received: from ESESSHC011.ericsson.se (Unknown_Domain [153.88.253.124]) by sessmg23.ericsson.net (Symantec Mail Security) with SMTP id 0A.87.21334.11799145; Wed, 17 Sep 2014 16:13:38 +0200 (CEST)
Received: from ESESSMB105.ericsson.se ([169.254.5.215]) by ESESSHC011.ericsson.se ([153.88.183.51]) with mapi id 14.03.0174.001; Wed, 17 Sep 2014 16:13:37 +0200
From: Bo Burman <bo.burman@ericsson.com>
To: Christian Groves <Christian.Groves@nteczone.com>, "avtext@ietf.org" <avtext@ietf.org>
Thread-Topic: [avtext] WGLC for  draft-ietf-avtext-rtp-stream-pause-02
Thread-Index: Ac+oI8943NA5z66dRdGqdkJ2oCY7RQSn2IaAAC2sUTAALZTUgABGai2QARodEgABAng3IAAejgIAAIUmrNACKTUMMAAW6lyAAAteQRAALXMRgAAUneaA
Date: Wed, 17 Sep 2014 14:13:36 +0000
Message-ID: <BBE9739C2C302046BD34B42713A1E2A22E2CFCE9@ESESSMB105.ericsson.se>
References: <949EF20990823C4C85C18D59AA11AD8B212C0B@FR712WXCHMBA11.zeu.alcatel-lucent.com> <53F1DD5D.6030204@nteczone.com> <BBE9739C2C302046BD34B42713A1E2A22E28C887@ESESSMB105.ericsson.se> <53F441C3.5050201@nteczone.com> <BBE9739C2C302046BD34B42713A1E2A22E29290C@ESESSMB105.ericsson.se> <53FD7F8A.6060608@nteczone.com> <BBE9739C2C302046BD34B42713A1E2A22E29B9AD@ESESSMB105.ericsson.se> <54051326.5090103@nteczone.com> <BBE9739C2C302046BD34B42713A1E2A22E29F3A3@ESESSMB105.ericsson.se> <BBE9739C2C302046BD34B42713A1E2A22E2CD82A@ESESSMB105.ericsson.se> <5417AB01.2010801@nteczone.com> <BBE9739C2C302046BD34B42713A1E2A22E2CEC15@ESESSMB105.ericsson.se> <5419284D.70804@nteczone.com>
In-Reply-To: <5419284D.70804@nteczone.com>
Accept-Language: sv-SE, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [153.88.183.146]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrMLMWRmVeSWpSXmKPExsUyM+Jvja7QdMkQg7ZzTBYf791gtfjyvpHF gcljyZKfTB4rzs9kCWCK4rJJSc3JLEst0rdL4MrYtvQvU8GqmYwVHUsXMTUw/q/qYuTkkBAw kXi3eCM7hC0mceHeerYuRi4OIYGjjBKzvlxigXCWMErs7F3KAlLFJqAhMX/HXUYQW0QgWmJr z2dmEFtYwFVi6qN7zBBxN4lfd3ayQdhNjBI/d/mA2CwCqhIrPr9n7WLk4OAV8JU4v08aYv4e VomvD+YygdRwCmhJfJ22EsxmFJCVuP/9HtheZgFxiVtP5jNBXCogsWTPeWYIW1Ti5eN/rBC2 ksSPDZeg6nUkFuz+xAZha0ssW/garJ5XQFDi5MwnLBMYRWchGTsLScssJC2zkLQsYGRZxSha nFpcnJtuZKyXWpSZXFycn6eXl1qyiREYKwe3/Nbdwbj6teMhRgEORiUeXoXXEiFCrIllxZW5 hxilOViUxHkXnZsXLCSQnliSmp2aWpBaFF9UmpNafIiRiYNTqoFRmG3fRfFlTl8eJ8jEGpSI R5221Dreb3bFRahJRn7By/QluWyMX/Iece2OyP4iVPOK56dMddCllfEW3Xt+rLnwhmf+vYXd 7/xUUgsXlD4M+T3ff+n7XUq3NSU33TN2SV54eNsJpySr43rv90nI85X06WpmrYn9zTPpf7en ddCvpRbFL+RnyrUpsRRnJBpqMRcVJwIAcqpAk3YCAAA=
Archived-At: http://mailarchive.ietf.org/arch/msg/avtext/O4hJoWW4msWLUwBpphAYf9qeBIY
Subject: Re: [avtext] WGLC for  draft-ietf-avtext-rtp-stream-pause-02
X-BeenThere: avtext@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Audio/Video Transport Extensions working group discussion list <avtext.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/avtext>, <mailto:avtext-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/avtext/>
List-Post: <mailto:avtext@ietf.org>
List-Help: <mailto:avtext-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/avtext>, <mailto:avtext-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 17 Sep 2014 14:13:43 -0000

Thank you! I'll amend the text accordingly, including the additional text i=
n the note on TMMBR/TMMBN in section 9 and the IANA section.

> -----Original Message-----
> From: Christian Groves [mailto:Christian.Groves@nteczone.com]
> Sent: den 17 september 2014 08:21
> To: Bo Burman; avtext@ietf.org
> Subject: Re: [avtext] WGLC for draft-ietf-avtext-rtp-stream-pause-02
>=20
> Hello Bo,
>=20
> Please see my replies below.
>=20
> Regards, Christian
>=20
> On 16/09/2014 7:12 PM, Bo Burman wrote:
> > Hi Christian,
> >
> > Thank you for good and constructive comments! My responses inline.
> >
> > Note that I need guidance on whether or not defined 'config' attribute =
values need to be somehow mentioned in IANA
> section, and in that case how to describe it. A reference to the table in=
 Figure 6? Examples from other RFCs are welcome!
> >
> > Also, while editing the first part of section 9, I started to wonder if=
 this specification can really promise that existing 'ccm
> tmmbr' signaling means TMMBR and TMMBN with value 0 is supported and will=
 be treated correctly in all existing
> implementations? Should we not at least say there is no guarantee TMMBR a=
nd TMMBN implementations pre-dating this
> specification work exactly as described when used with a bitrate value of=
 0?
> [CNG] The later seems a safer assumption.
> >
> > Cheers,
> > /Bo
> >
> > ..snip
> >> 3) Cl.9 Para.1: With respect to the use of the rtcp-fb attribute I
> >> think the text should say "/MUST only be used as an SDP media attribut=
e and MUST NOT be provided at the session
> level/". The use of "Recommended"
> >> implies an option however there's a must against the use at session le=
vel, so really there is no option.
> > [BoB] I agree that "recommend" and "must" do not match. The current tex=
t in that sentence is a bit poorly written. I
> think it tries to both describe what is said in RFC 4585 and 5104 about t=
he rtcp-fb attribute in general, as well as saying that
> it applies also for this specification. That statement is redundant. RFC =
4585 section 4.2 is totally clear: "The 'rtcp-fb'
> attribute MUST only be used as an SDP media attribute and MUST NOT be pro=
vided at the session level". I think the
> sentence can be removed.
> [CNG] OK
> >
> >> 4) General Nit: Sometimes "hold off period" is used, sometimes "hold o=
ff time" is used. Could be consistent.
> > [BoB] There are also sometimes "wait period" or "wait time". I'll chang=
e to "hold-off period" throughout.
> [CNG] OK
> >
> > ..snip..
> >> 6) Cl.9 last para pg 28: "/All implementations of this specification M=
UST be able to receive all//
> >> //   messages defined in Section 8/". Given that the config parameter
> >> allows partial implementation then this statement isn't true.
> > [BoB] My intent was to require that all implementations are able to at =
least receive _and ignore_ all messages from
> section 8, regardless of config. That would be in line with section 4.2 o=
f RFC 4585: "RTP senders MUST be prepared to
> receive any kind of RTCP FB messages  and MUST silently discard all those=
 RTCP FB messages that they do not
> understand", but is thus strictly redundant. I suggest to simply remove t=
he sentence since it does not add anything.
> [CNG] OK
> > ..snip..
> >
> >>
> >> 8) Cl.9.2: " /First, the "config" attribute and its message directions=
 are//
> >> //   interpreted based on the node receiving the SDP./" Should this be
> >> the node "providing" the SDP as per cl.9.1?
> > [BoB] No. Declarative use of SDP seems to have this difference in inter=
pretation of the SDP. First, see section 3.4 of RFC
> 4566 on Multicast Session Announcement that says "remote participants can=
 use the session description to start the tools
> required to participate in the session". Second, compare with section 6 o=
f RFC 4566 where a=3Drecvonly is described as
> "specifies that the tools should be started in a receive-only mode". This=
 indicates to me that the text currently in 9.2 is
> correct.
> [CNG] Yes, seems you're right.
> >
> >> 9) Cl.11: Does the config parameter need to be included here? Also per=
haps 4) and 5) should say "pause feedback
> type"
> >> as per the description of the "type" element.
> > [BoB] 'config' should be in 3, yes. Don't know about config values. Gui=
dance appreciated!
> [CNG] You may want to be more formal in the way the updates are specified=
 to make it clear to IANA what exactly they
> have to do, e.g.
> similar to RFC5104.
>=20
> 11. IANA Considerations
> This specification requests the following registrations from IANA
>=20
> 1) A new value for media stream pause / resume to be registered with IANA=
 in the "FMT Values for RTPFB Payload
> Types" registry located at the time of publication at:
> http://www.iana.org/assignments/rtp-parameters/rtp-parameters.xhtml
>=20
>        Value:            9
>        Name:             PAUSE RESUME
>        Long Name:        Media Pause Resume
>        Reference:        This RFC.
>=20
> 2) A new value "pause" to be registered with IANA in the "Codec Control M=
essages" registry located at the time of
> publication at:
> http://www.iana.org/assignments/sdp-parameters/sdp-parameters.xhtml#sdp-p=
arameters-19
>=20
>     Name           Long Name                         Value  Reference
>     -------------- --------------------------------- -----  ---------
>     PAUSERES       Pause / Resume Media Sending        9    This RFC
>=20
> With regards to the "no wait" and "config" parameters I don't think you n=
eed a registry for these are they don't need to
> be extensible. RFCs
> 4585 and 5104 don't register these types of sub-parameters.
>=20
> For 4 & 5 'pause' Types, I'm not sure a registry is needed for these. I w=
ould assume that any new value would be as a
> result of a revision to the pause/resume RFC. If you set up a registry fo=
r these 'pause' types then you have to specify the
> process used in order to update it.
>=20
>=20
> >
> >>
> >> Regards, Christian
> >>
> >>
> >> On 16/09/2014 12:29 AM, Bo Burman wrote:
> >>> Christian, Roni, all,
> >>>
> >>> Please find enclosed a draft update implementing Christian's
> >>> suggested changes below. Affected sections are 9 and
> >> 10.1.
> >>> Please have a look and let me know if the changes are acceptable and =
consistent with our discussions.
> >>>
> >>> Cheers,
> >>> /Bo
> >>>
> >>>> -----Original Message-----
> >>>> From: avtext [mailto:avtext-bounces@ietf.org] On Behalf Of Bo
> >>>> Burman
> >>>> Sent: den 5 september 2014 11:44
> >>>> To: Christian Groves; avtext@ietf.org
> >>>> Subject: Re: [avtext] WGLC for
> >>>> draft-ietf-avtext-rtp-stream-pause-02
> >>>>
> >>>> Hi Christian,
> >>>>
> >>>> More inline.
> >>>>
> >>>> As a summary, I must conclude that Christian's proposal has
> >>>> consistency and clarity benefits in SDP signaling compared to what
> >>>> is currently in the text, and suggest that the text
> >> should be changed accordingly:
> >>>> * The "dir" parameter of "ccm pause" is replaced by "config" as sugg=
ested below.
> >>>> * The separate "ccm paused" parameter is removed, since support of
> >>>> PAUSED will instead be indicated through
> >> "config"
> >>>> BR
> >>>> /Bo
> >>>>
> >>>>> -----Original Message-----
> >>>>> From: Christian Groves [mailto:Christian.Groves@nteczone.com]
> >>>>> Sent: den 2 september 2014 02:45
> >>>>> To: Bo Burman; avtext@ietf.org
> >>>>> Subject: Re: [avtext] WGLC for
> >>>>> draft-ietf-avtext-rtp-stream-pause-02
> >>>>>
> >>>>> Hello Bo,
> >>>>>
> >>>>> Please see my replies below.
> >>>>>
> >>>>> Regards, Christian
> >>>>>
> >>>>> On 1/09/2014 9:51 PM, Bo Burman wrote:
> >>>>>> ..snip..
> >>>>>> I think the following two main options are reasonable ways forward=
:
> >>>>>>
> >>>>>> 1) Remove the "paused" SDP parameter entirely, and with it the
> >>>>>> possibility to implement support of only the local pause
> >>>>>> indication
> >>>>>>
> >>>>>> 2) Make the text consistently express that "paused" refers to
> >>>>>> capability for that limited functionality. For SDP
> >>>>>>> offer/answer, we then have a few more choices regarding the relat=
ion between "pause" and "paused":
> >>>>>>>> 	a)  an offer expressing support for this specification MUST
> >>>>>>>> contain only one of "pause" or "paused", and an offer
> >>>>>>> with "pause" is possible to restrict by answering with "paused",
> >>>>>>> but an offer with the limited "paused" cannot be upgraded to
> >>>>>>> "pause" in the answer. May possibly cause problems with
> >>>>> declarative use; guidance appreciated.
> >>>>>>>> 	b) "pause" and "paused" are kept separate (what current text
> >>>>>>>> mostly does, except for some confusion that must be corrected
> >>>>>>>> throughout if this option is chosen); the offer MAY contain
> >>>>>>>> either or both, while the answer MUST choose one and MUST NOT
> >>>>>>>> add anything that was not in the offer
> >>>>>>> [CNG] I wasn't following this closely when 'paused' was added so
> >>>>>>> I'm not sure about removing it. It would simplify things if it wa=
s removed.
> >>>>>>> I think what would need to be added if local pause was supported
> >>>>>>> without signalling is that a node supporting this draft must at
> >>>>>>> minimum support the reception of a 'paused' indication and the
> >>>>>>> sending of 'paused' if the node supports a paused state. There
> >>>>>>> would probably need to be an extra value in direction
> >>>>> indicating that PAUSE/RESUME is not sent or received.
> >>>>>> [BoB] You mean using additional direction signaling for pause
> >>>>>> instead of the tag "paused"? I don't see how that goes
> >>>>> with your statement "supported without signaling" a few sentences b=
ack, since that is then also explicit signaling?
> >>>>> [CNG] Yes an additional direction. I was thinking about how to
> >>>>> specify "local pause" where the endpoint didn't support
> >>>>> sendonly,recvonly or sendrecv. It wouldn't be correct for the
> >>>>> endpoint to send "a=3Drtcp-fb:* ccm pause" because the
> >> default is "sendrecv".
> >>>> [BoB] Thinking this through again. It is possible to make the
> >>>> currently proposed signaling in the draft consistent, but only if
> >>>> capability and indication of pause and local pause are changed to
> >>>> be totally independent functions. The 8
> >> configurations you list are then possible to express, using direction
> >> parameter of both pause and paused ([] indicates optional).
> >>>> 1) Send(PAUSE,RESUMED,PAUSED,REFUSE) Receive
> >>>> (PAUSED,RESUMED,PAUSED,REFUSED)
> >>>> a=3Drtcp-fb:* ccm pause [dir=3Dsendrecv]
> >>>> a=3Drtcp-fb:* ccm paused [dir=3Dsendrecv]
> >>>>
> >>>> 2) Send(PAUSE, RESUME, PAUSED) Receive (PAUSED, REFUSED)
> >>>> a=3Drtcp-fb:* ccm pause dir=3Dsendonly
> >>>> a=3Drtcp-fb:* ccm paused [dir=3Dsendrecv]
> >>>>
> >>>> 3) Send(PAUSED,REFUSED) Receive (PAUSE, RESUME, PAUSED)
> >>>> a=3Drtcp-fb:* ccm pause dir=3Drecvonly
> >>>> a=3Drtcp-fb:* ccm paused [dir=3Dsendrecv]
> >>>>
> >>>> 4) Send(PAUSED,REFUSED) Receive (PAUSE, RESUME)
> >>>> a=3Drtcp-fb:* ccm pause dir=3Drecvonly
> >>>> a=3Drtcp-fb:* ccm paused dir=3Dsendonly
> >>>>
> >>>> 5) Send(PAUSE, RESUME) Receive (PAUSED, REFUSED)
> >>>> a=3Drtcp-fb:* ccm pause dir=3Dsendonly
> >>>> a=3Drtcp-fb:* ccm paused dir=3Drecvonly
> >>>>
> >>>> 6) Send(PAUSED) Receive(PAUSED)
> >>>> a=3Drtcp-fb:* ccm paused [dir=3Dsendrecv]
> >>>>
> >>>> 7) Send() Receive(PAUSED)
> >>>> a=3Drtcp-fb:* ccm paused dir=3Drecvonly
> >>>>
> >>>> 8) Send(PAUSED) Receive()
> >>>> a=3Drtcp-fb:* ccm paused dir=3Dsendonly
> >>>>
> >>>> That split would however also mean there is a possibility to
> >>>> support PAUSE but not PAUSED, which I believe is an undesirable side=
-effect and definitely not in line with the
> current text.
> >>>>
> >>>> As a summary, I must agree that your proposal to use a "config"
> >>>> parameter with an explicit listing of supported messages and
> >>>> directions is indeed much easier to describe and is
> >> beneficial for text clarity.
> >>>>>>> Maybe an option 2c: If local pause is kept and it needs to be
> >>>>>>> supported by signalling there actually appears to be 8
> >>>>>>> combinations of sent and received messages. I assume a node
> >>>>>>> supporting the sending and/or reception of PAUSE must also
> >>>>>>> support RESUME. A node supporting the reception of PAUSE/RESUME
> >>>>>>> must also
> >>>>> support sending PAUSED and REFUSED.
> >>>>>> [BoB] An observation: I see you more or less consistently using
> >>>>>> "REFUSED" instead of the currently defined tag
> >>>>> "REFUSE". This is actually consistent with it being an
> >>>>> indication/response rather than a command, and thus probably a
> >>>>> better name. Do you suggest that we change the
> >>>> name to "REFUSED" in the draft?
> >>>>> [CNG] I wasn't proposing the change, I guess I just aligned "paused=
" and "refused". I'd be OK with changing it.
> >>>> [BoB] Unless someone else objects, I will change REFUSE to REFUSED
> >>>> throughout, to better reflect that it is an indication, not a comman=
d.
> >>>>
> >>>>>>> The combinations a Node can support are:
> >>>>>>>
> >>>>>>> 1) Send(PAUSE,RESUMED,PAUSED,REFUSE) Receive
> >>>>>>> (PAUSED,RESUMED,PAUSED,REFUSED)
> >>>>>>> 2) Send(PAUSE, RESUME, PAUSED) Receive (PAUSED, REFUSED)
> >>>>>>> 3) Send(PAUSED,REFUSED) Receive (PAUSE, RESUME, PAUSED)
> >>>>>>> 4) Send(PAUSED,REFUSED) Receive (PAUSE, RESUME)
> >>>>>>> 5) Send(PAUSE, RESUME) Receive (PAUSED, REFUSED)
> >>>>>>> 6) Send(PAUSED) Receive(PAUSED)
> >>>>>>> 7) Send() Receive(PAUSED)
> >>>>>>> 8) Send(PAUSED) Receive()
> >>>>>>>
> >>>>>>> Would it be easier to simply signal the messages that are
> >>>>>>> supported rather than two parameters with a direction parameters?
> >>>>>>> e.g. the draft could have the above list of values. If a node
> >>>>>>> supported both the sending and reception of
> >>>>>>> PAUSE/RESUME/PAUSED/REFUSED then it could signal e.g.
> >>>>>>> a=3Drtcp-fb:98 ccm pause
> >>>>> config=3D1 . Part of the confusion comes from the interaction
> >>>>> between the parameters. This would remove the
> >>>> interaction.
> >>>>>>> It might make describing the SDP O/A procedures easier.
> >>>>>>> e.g.
> >>>>>>> On receiving an Offer with:
> >>>>>>> config=3D1 the answerer may reply with config=3D1, 2, 3, 4, 5, 6,=
 7 or 8.
> >>>>>>> config=3D2 the answerer may reply with config=3D3, 4, 5, 6, 7 or =
8.
> >>>>>>> config=3D3 the answerer may reply with config=3D2, 4, 5, 6, 7 or =
8.
> >>>>>>> config=3D4 the answerer may reply with config=3D5, 6, 7 or 8.
> >>>>>>> config=3D5 the answerer may reply with config=3D4, 6, 7 or 8.
> >>>>>>> config=3D6 the answerer may reply with config=3D6, 7 or 8.
> >>>>>>> config=3D7 the answerer may reply with config=3D8
> >>>>>>> config=3D8 the answerer may reply with config=3D7 In all cases th=
e
> >>>>>>> answerer may reply with a completely removed "pause"
> >>>>>>> parameter.
> >>>>>>>
> >>>>>>> An answerer cannot add extra messages to what is provided in the =
Offer.
> >>>>>>> For example: If an Offer indicates config=3D6 an Answer cannot
> >>>>>>> reply with
> >>>>>>> config=3D3 indicating that it has the capability to receive PAUSE
> >>>>>>> and RESUME. An answerer may remove messages that it does not supp=
ort.
> >>>>>>> For
> >>>>>>> example: if an Offer indicates config=3D6 an Answer may reply wit=
h
> >>>>>>> config=3D7 indicating that it can only receive PAUSED.
> >>>>>> [BoB] I get your point. There is significant inherent complexity
> >>>>>> in this that your proposal makes explicit and clarifies. I
> >>>>> would like to simplify and clarify this further by reducing the all=
owed configurations to be 1, 4, 5 and 6:
> >>>>>> 1) Full support of sending and receiving all messages ("ccm pause"=
 without direction)
> >>>>>> 	As you say above, acceptable Answers include 1, 4, 5 or 6, or
> >>>>>> (of
> >>>>>> course) removing "ccm pause" entirely
> >>>>>> 4) Pause command receiver, sending result indications ("ccm pause =
dir=3Drecvonly")
> >>>>>> 	Acceptable Answers include 5, 6, or removing ccm pause entirely
> >>>>>> 5) Pause command sender, receiving result indications ("ccm pause =
dir=3Dsendonly")
> >>>>>> 	Acceptable Answers include 4, 6, or removing ccm pause entirely
> >>>>>> 6) Local pause support only ("ccm paused", and I then suggest
> >>>>>> removing direction from paused; either you support it or
> >>>>> you don't)
> >>>>>> 	Acceptable Answers include 6 or removing ccm paused entirely
> >>>>> [CNG] So to remove 2 and 3 the assumption must be that local pause
> >>>>> is not supported by a sendonly or receive only endpoint. Is that co=
rrect?
> >>>>> It would seem that if local pause was to be supported then 2 and 3 =
should be selected rather than 4 and 5.
> >>>>>          To remove 7 and 8 the assumption must be that endpoints
> >>>>> supporting this draft must support local pause? Otherwise there's
> >>>>> no way of saying "I won't send anything but if you do
> >>>> a local pause let me know".
> >>>>
> >>>> [BoB] I agree the 8 configurations you list makes sense to keep.
> >>>> They reflect the current text better than what I suggested.
> >>>>
> >>>>>> If those clarifications you list above on O/A and what messages
> >>>>>> are sent and/or received are made in the document, do
> >>>>> you still think we need to introduce the "config" concept, or will
> >>>>> the direction parameter to "pause" (as indicated in my shortened li=
st above) be clear enough?
> >>>>> [CNG] I think having "paused" as a separate parameter as in your
> >>>>> proposal 6 just complicates things. Once you have two parameters
> >>>>> then we come back to specifying the interaction
> >>>> between them. E.g. If A sends SDP "a=3Drtcp-fb:* ccm pause"
> >>>>> if B only supports local pause does it reply back with a different
> >>>>> parameter "a=3Drtcp-fb* ccm paused"? If so then it wouldn't make
> >>>>> sense for an endpoint to send both "pause" and
> >>>> "paused".
> >>>>
> >>>> [BoB] As said above, just signaling ccm pause would have to mean
> >>>> that paused is not supported, so there would be no way to fall back
> >>>> to local pause, which is undesirable. Your "config" is
> >> better.
> >>>>>> I wonder, is it rather the notion of "direction" that becomes
> >>>>>> confusing, since "recvonly" actually includes sending
> >>>>> messages, only those messages are not "PAUSE" and "RESUME"? In
> >>>>> that case, could we call it something else than "direction"; like
> >>>>> "dir=3Dsendonly" -> "command-only" and "dir=3Drecvonly" ->
> >>>> "indication-only"?
> >>>>> [CNG] Yes I think the direction is confusing considering that for
> >>>>> pause it's opposite the RTP flow direction, for paused its the same=
.
> >>>>> To support pause an endpoint will send and receive
> >>>> messages. I don't think "command-only"/"indication-only"
> >>>>> help because they again relate to a direction. e.g. to support
> >>>>> "sendonly" an endpoint sends commands PAUSE/RESUME and receives
> >>>>> indications PAUSED/REFUSEd. I think being
> >>>> explicit makes the description much easier.
> >>>> [BoB] Agree
> >>>>
> >>>> _______________________________________________
> >>>> avtext mailing list
> >>>> avtext@ietf.org
> >>>> https://www.ietf.org/mailman/listinfo/avtext
> >


From nobody Wed Sep 17 08:15:51 2014
Return-Path: <bernard_aboba@hotmail.com>
X-Original-To: avtext@ietfa.amsl.com
Delivered-To: avtext@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id AE1191A045D for <avtext@ietfa.amsl.com>; Wed, 17 Sep 2014 08:15:50 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.551
X-Spam-Level: 
X-Spam-Status: No, score=-3.551 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RP_MATCHES_RCVD=-1.652, SPF_PASS=-0.001] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id t4PzINBnhquU for <avtext@ietfa.amsl.com>; Wed, 17 Sep 2014 08:15:44 -0700 (PDT)
Received: from BLU004-OMC1S38.hotmail.com (blu004-omc1s38.hotmail.com [65.55.116.49]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 0731F1A030C for <avtext@ietf.org>; Wed, 17 Sep 2014 08:15:40 -0700 (PDT)
Received: from BLU181-W71 ([65.55.116.8]) by BLU004-OMC1S38.hotmail.com with Microsoft SMTPSVC(7.5.7601.22724); Wed, 17 Sep 2014 08:15:39 -0700
X-TMN: [jNGrgXE2kSZNRZB1hmuwBwTOlthx7x91]
X-Originating-Email: [bernard_aboba@hotmail.com]
Message-ID: <BLU181-W717A65719DAE089894913A93B60@phx.gbl>
Content-Type: multipart/alternative; boundary="_849b8d1c-c0e6-4fae-958b-c9debbb9eadb_"
From: Bernard Aboba <bernard_aboba@hotmail.com>
To: Bo Burman <bo.burman@ericsson.com>, "avtext@ietf.org" <avtext@ietf.org>
Date: Wed, 17 Sep 2014 08:15:39 -0700
Importance: Normal
In-Reply-To: <BBE9739C2C302046BD34B42713A1E2A22E2CF922@ESESSMB105.ericsson.se>
References: <949EF20990823C4C85C18D59AA11AD8B212C0B@FR712WXCHMBA11.zeu.alcatel-lucent.com>, , <53F1DD5D.6030204@nteczone.com>, , <BBE9739C2C302046BD34B42713A1E2A22E28C887@ESESSMB105.ericsson.se>, , <53F441C3.5050201@nteczone.com>, , <BBE9739C2C302046BD34B42713A1E2A22E29290C@ESESSMB105.ericsson.se>, , <53FD7F8A.6060608@nteczone.com>, , <BBE9739C2C302046BD34B42713A1E2A22E29B9AD@ESESSMB105.ericsson.se>, , <54051326.5090103@nteczone.com>, , <BBE9739C2C302046BD34B42713A1E2A22E29F3A3@ESESSMB105.ericsson.se>, , <BBE9739C2C302046BD34B42713A1E2A22E2CD82A@ESESSMB105.ericsson.se>, , <5417AB01.2010801@nteczone.com>, , <BBE9739C2C302046BD34B42713A1E2A22E2CEC15@ESESSMB105.ericsson.se>, <BLU181-W11CBB817B5DAFD30D99C4693B60@phx.gbl>, <BBE9739C2C302046BD34B42713A1E2A22E2CF922@ESESSMB105.ericsson.se>
MIME-Version: 1.0
X-OriginalArrivalTime: 17 Sep 2014 15:15:39.0782 (UTC) FILETIME=[3D997260:01CFD28A]
Archived-At: http://mailarchive.ietf.org/arch/msg/avtext/D6l2rQ5ICPM14NJcH__PxvoMWDk
Subject: Re: [avtext] Review of  draft-ietf-avtext-rtp-stream-pause-02
X-BeenThere: avtext@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Audio/Video Transport Extensions working group discussion list <avtext.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/avtext>, <mailto:avtext-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/avtext/>
List-Post: <mailto:avtext@ietf.org>
List-Help: <mailto:avtext-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/avtext>, <mailto:avtext-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 17 Sep 2014 15:15:50 -0000

--_849b8d1c-c0e6-4fae-958b-c9debbb9eadb_
Content-Type: text/plain; charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable

Comments below.=20

From: bo.burman@ericsson.com
To: bernard_aboba@hotmail.com=3B avtext@ietf.org
Subject: RE: [avtext] Review of  draft-ietf-avtext-rtp-stream-pause-02
Date: Wed=2C 17 Sep 2014 07:15:44 +0000

=0A=
=0A=
=0A=
=0A=
=0A=
=0A=
=0A=
=0A=
Responses inline=0A=
/Bo=0A=
 =0A=
=0A=
=0A=
=0A=
From: avtext [mailto:avtext-bounces@ietf.org]=0A=
On Behalf Of Bernard Aboba
=0A=
Sent: den 17 september 2014 06:53
=0A=
To: avtext@ietf.org
=0A=
Subject: [avtext] Review of draft-ietf-avtext-rtp-stream-pause-02=0A=
=0A=
=0A=
 =0A=
=0A=
Section 1
=0A=
=20
=0A=
   This document describes several
=0A=
   scenarios in multimedia communication where a conferencing node or
=0A=
   participant chooses to temporarily pause an incoming RTP [RFC3550]
=0A=
   stream and later resume it when needed.  The receiver does not need
=0A=
   to terminate or inactivate the RTP session and start all over again
=0A=
   by negotiating the session parameters=2C for example using SIP
=0A=
   [RFC3261] with SDP Offer/Answer [RFC3264].
=0A=
=20
=0A=
  Centralized nodes=2C like RTP Mixers or MCUs=2C which either uses logic
=0A=
   based on voice activity=2C other measurements=2C or user input could
=0A=
   reduce the resources consumed in both the sender and the network by
=0A=
   temporarily pausing the RTP streams that aren't required by the RTP
=0A=
   Mixer.
=0A=
=20
=0A=
[BA] There is another potential use case for a centralized node.  Could str=
eam pause/resume also be used to enable a centralized node to notify a rece=
iver that it has chosen to pause a stream on its own (without being asked)?=
  For example=2C there are situations=0A=
 where an multi-stream SFU may wish to drop a layer (RTCP RRs or PLI indica=
tes congestion).  Today this is handled via codec-specific messages (e.g. S=
EI layer drop).   However=2C if it was desired to handle this in a codec-in=
dependent way=2C could a centralized=0A=
 node send an unsolicited PAUSED (e.g. TMMBN =3D 0) message?=0A=
[BoB] Yes=2C that is the intention. I could add some text in the introducti=
on about that. This is fully in line with the rest of the document. See for=
 example=0A=
 first part of section 5.3 =93Media Sender Pausing=94=3B=0A=
   An RTP stream sender can choose to pause the stream at any time.=0A=
   This can either be as a result of receiving a PAUSE=2C or be based on=0A=
   some local sender consideration.  When it does=2C it sends a PAUSED=0A=
   indication=2C containing the available PauseID.  If the stream was=0A=
   paused by a TMMBR 0=2C TMMBN 0 is used as PAUSED indication.  What is=0A=
   said on PAUSED in the rest of this paragraph apply also to the use of=0A=
    TMMBN 0=2C except for PAUSED message parameters.=0A=
Do you think that the text need further clarification? I see no problem add=
ing explicit text regarding unsolicited sending of TMMBN 0.
[BA] Yes=2C some clarification might be helpful in the case where the PAUSE=
D is unsolicited.  For example=2C is there any reply to an unsolicited TMMB=
N 0?=0A=
=20
=0A=
Section 4.2
=0A=
=20
=0A=
It is the responsibility of an RTP stream receiver=2C who wants to pause or=
 resume a stream from the sender(s)=2C to transmit PAUSE and RESUME message=
s.=0A=
An RTP stream sender who likes to pause itself=2C can simply do it. Any ind=
ication that an RTP stream is paused is the responsibility of the RTP strea=
m sender and may in some cases not even be needed by the stream receiver.
=0A=
=20
=0A=
[BA] Not sure I agree with this for the multi-stream transmission case.  If=
 a sender stops sending a layer with no notification=2C then the receiver c=
ould be adversely affected.  For example=2C it could be waiting for a spati=
al enhancement layer that never shows=0A=
 up.   That is why we have SEI layer drop messages=2C right? =0A=
=0A=
[BoB] If you refer to the sentence marked in red above=2C it was intended t=
o highlight a fact that was there already before this draft=2C not to speci=
fically=0A=
 allow something that was previously disallowed. Maybe that sentence could =
be changed into something like =93An RTP stream sender who likes to pause i=
tself can often simply do it=2C but sometimes this will adversely affect th=
e receiver and an explicit indication=0A=
 that the RTP stream is paused may then help=94?
[BA] That would be helpful=2C yes. =0A=

=0A=
=20
=0A=
Section 4.4
=0A=
=20
=0A=
An RTP stream sender should not pause an SSRC that some receiver still wish=
es to receive. The reason is that in RTP topologies where the stream is sha=
red between multiple receivers=2C a single receiver on that shared network=
=2C independent of it being multicast=2C=0A=
 a mesh with joint RTP session or a transport Translator based=2C must not =
single- handedly cause the stream to be paused without letting all other re=
ceivers to voice their opinions on whether or not the stream should be paus=
ed. A consequence of this is that=0A=
 a newly joining receiver=2C for example indicated by an RTCP Receiver Repo=
rt containing both a new SSRC and a CNAME that does not already occur in th=
e session=2C firstly needs to learn the existence of paused streams=2C and =
secondly should be able to resume any=0A=
 paused stream. Any single receiver wanting to resume a stream should also =
cause it to be resumed.=0A=

=0A=
=20
=0A=
[BA] In many simulcast and MST implementations=2C the centralized unit util=
izes sender-based congestion control=2C which means that it decides which s=
treams to send based on indications from the receiver such as packet loss=
=2C etc.   If there is substantial loss=2C=0A=
 the sender will adjust the streams it is sending.  In implementations wher=
e the SFU uses a distinct SSRC for each simulcast stream (as opposed to usi=
ng the same SSRC but adjusting the resolution/framerate)=2C it may pause se=
nding one SSRC and resume sending=0A=
 another (lower bandwidth one).  Where MST is in use=2C the sender may paus=
e an enhancement layer and subsequently resume sending it when it has reaso=
n to believe that there is sufficient bandwidth to handle it.  Whether rece=
iver "wishes to receive" a stream=0A=
 doesn't really enter into the sender's decision if it determines that ther=
e isn't sufficient bandwidth available to send it successfully.=0A=
=0A=
[BoB] Fully agree that bandwidth availability has higher precedence than an=
y receiver=92s wishes. This is a typical case where =93local considerations=
=94 override=0A=
 RTP stream receivers=2C as described in section 5.4. That is also one of t=
he very reasons to include the REFUSED indication in the draft. This scenar=
io is also viable when using TMMBR/TMMBN=3B a RESUME signaled through TMMBR=
>0 can be REFUSED using TMMBN 0 (likely=0A=
 indicating the RTP stream sender itself owning the bitrate restriction)=2C=
 as described in section 5.5. I realize that the text is not clear on using=
 the RTP stream sender=92s own SSRC as the one owning the restriction in TM=
MBR/TMMBN signaling whenever =93local=0A=
 considerations=94 apply=2C which I believe is useful here. I should probab=
ly add text about that in a few places. Agree?
[BA] Yes=2C I agree. =0A=

=0A=
=20
=0A=
 =0A=
 =0A=
=20
=0A=

=0A=
 =0A=
=0A=
=0A=
 		 	   		  =

--_849b8d1c-c0e6-4fae-958b-c9debbb9eadb_
Content-Type: text/html; charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable

<html>
<head>
<style><!--
.hmmessage P
{
margin:0px=3B
padding:0px
}
body.hmmessage
{
font-size: 12pt=3B
font-family:Calibri
}
--></style></head>
<body class=3D'hmmessage'><div dir=3D'ltr'>Comments below.&nbsp=3B<br><br><=
div><hr id=3D"stopSpelling">From: bo.burman@ericsson.com<br>To: bernard_abo=
ba@hotmail.com=3B avtext@ietf.org<br>Subject: RE: [avtext] Review of  draft=
-ietf-avtext-rtp-stream-pause-02<br>Date: Wed=2C 17 Sep 2014 07:15:44 +0000=
<br><br>=0A=
=0A=
=0A=
=0A=
<style><!--=0A=
.ExternalClass p.ecxMsoNormal=2C .ExternalClass li.ecxMsoNormal=2C .Externa=
lClass div.ecxMsoNormal {=0A=
font-size:12.0pt=3B=0A=
font-family:"Times New Roman"=2C"serif"=3B=0A=
}=0A=
=0A=
.ExternalClass h3 {=0A=
font-size:13.5pt=3B=0A=
font-family:"Times New Roman"=2C"serif"=3B=0A=
font-weight:bold=3B=0A=
}=0A=
=0A=
.ExternalClass a:link=2C .ExternalClass span.ecxMsoHyperlink {=0A=
color:blue=3B=0A=
text-decoration:underline=3B=0A=
}=0A=
=0A=
.ExternalClass span.ecxMsoHyperlinkFollowed {=0A=
color:purple=3B=0A=
text-decoration:underline=3B=0A=
}=0A=
=0A=
.ExternalClass p {=0A=
font-size:12.0pt=3B=0A=
font-family:"Times New Roman"=2C"serif"=3B=0A=
}=0A=
=0A=
.ExternalClass span.ecxh3 {=0A=
}=0A=
=0A=
.ExternalClass span.ecxHeading3Char {=0A=
font-family:"Cambria"=2C"serif"=3B=0A=
color:#4F81BD=3B=0A=
font-weight:bold=3B=0A=
}=0A=
=0A=
.ExternalClass span.ecxEmailStyle20 {=0A=
font-family:"Calibri"=2C"sans-serif"=3B=0A=
color:#1F497D=3B=0A=
}=0A=
=0A=
.ExternalClass .ecxMsoChpDefault {=0A=
font-size:10.0pt=3B=0A=
}=0A=
=0A=
.ExternalClass div.ecxWordSection1 {=0A=
}=0A=
=0A=
--></style>=0A=
=0A=
=0A=
<div class=3D"ecxWordSection1">=0A=
<p class=3D"ecxMsoNormal"><span style=3D"font-size:11.0pt=3Bfont-family:&qu=
ot=3BCalibri&quot=3B=2C&quot=3Bsans-serif&quot=3B=3Bcolor:#1F497D=3B">Respo=
nses inline</span></p>=0A=
<p class=3D"ecxMsoNormal"><span style=3D"font-size:11.0pt=3Bfont-family:&qu=
ot=3BCalibri&quot=3B=2C&quot=3Bsans-serif&quot=3B=3Bcolor:#1F497D=3B">/Bo</=
span></p>=0A=
<p class=3D"ecxMsoNormal"><span style=3D"font-size:11.0pt=3Bfont-family:&qu=
ot=3BCalibri&quot=3B=2C&quot=3Bsans-serif&quot=3B=3Bcolor:#1F497D=3B">&nbsp=
=3B</span></p>=0A=
<div style=3D"border:none=3Bborder-left:solid blue 1.5pt=3Bpadding:0cm 0cm =
0cm 4.0pt=3B">=0A=
<div>=0A=
<div style=3D"border:none=3Bborder-top:solid #B5C4DF 1.0pt=3Bpadding:3.0pt =
0cm 0cm 0cm=3B">=0A=
<p class=3D"ecxMsoNormal"><b><span style=3D"font-size:10.0pt=3Bfont-family:=
&quot=3BTahoma&quot=3B=2C&quot=3Bsans-serif&quot=3B=3B">From:</span></b><sp=
an style=3D"font-size:10.0pt=3Bfont-family:&quot=3BTahoma&quot=3B=2C&quot=
=3Bsans-serif&quot=3B=3B"> avtext [mailto:avtext-bounces@ietf.org]=0A=
<b>On Behalf Of </b>Bernard Aboba<br>=0A=
<b>Sent:</b> den 17 september 2014 06:53<br>=0A=
<b>To:</b> avtext@ietf.org<br>=0A=
<b>Subject:</b> [avtext] Review of draft-ietf-avtext-rtp-stream-pause-02</s=
pan></p>=0A=
</div>=0A=
</div>=0A=
<p class=3D"ecxMsoNormal">&nbsp=3B</p>=0A=
<div>=0A=
<p class=3D"ecxMsoNormal"><span style=3D"font-family:&quot=3BCalibri&quot=
=3B=2C&quot=3Bsans-serif&quot=3B=3B">Section 1<br>=0A=
&nbsp=3B<br>=0A=
&nbsp=3B&nbsp=3B This document describes several<br>=0A=
&nbsp=3B&nbsp=3B scenarios in multimedia communication where a conferencing=
 node or<br>=0A=
&nbsp=3B&nbsp=3B participant chooses to temporarily pause an incoming RTP [=
<a href=3D"https://tools.ietf.org/html/rfc3550" title=3D"&quot=3BRTP: A Tra=
nsport Protocol for Real-Time Applications&quot=3B" target=3D"_blank">RFC35=
50</a>]<br>=0A=
&nbsp=3B&nbsp=3B stream and later resume it when needed.&nbsp=3B The receiv=
er does not need<br>=0A=
&nbsp=3B&nbsp=3B to terminate or inactivate the RTP session and start all o=
ver again<br>=0A=
&nbsp=3B&nbsp=3B by negotiating the session parameters=2C for example using=
 SIP<br>=0A=
&nbsp=3B&nbsp=3B [<a href=3D"https://tools.ietf.org/html/rfc3261" title=3D"=
&quot=3BSIP: Session Initiation Protocol&quot=3B" target=3D"_blank">RFC3261=
</a>] with SDP Offer/Answer [<a href=3D"https://tools.ietf.org/html/rfc3264=
" title=3D"&quot=3BAn Offer/Answer Model with Session Description Protocol =
(SDP)&quot=3B" target=3D"_blank">RFC3264</a>].<br>=0A=
&nbsp=3B<br>=0A=
&nbsp=3B Centralized nodes=2C like RTP Mixers or MCUs=2C which either uses =
logic<br>=0A=
&nbsp=3B&nbsp=3B based on voice activity=2C other measurements=2C or user i=
nput could<br>=0A=
&nbsp=3B&nbsp=3B reduce the resources consumed in both the sender and the n=
etwork by<br>=0A=
&nbsp=3B&nbsp=3B temporarily pausing the RTP streams that aren't required b=
y the RTP<br>=0A=
&nbsp=3B&nbsp=3B Mixer.<br>=0A=
&nbsp=3B<br>=0A=
[BA] There is another potential use case for a centralized node.&nbsp=3B Co=
uld stream pause/resume also be used to enable a centralized node to notify=
 a receiver that it has chosen to pause a stream on its own (without being =
asked)?&nbsp=3B For example=2C there are situations=0A=
 where an multi-stream SFU may wish to drop a layer (RTCP RRs or PLI indica=
tes congestion).&nbsp=3B Today this is handled via codec-specific messages =
(e.g. SEI layer drop).&nbsp=3B&nbsp=3B&nbsp=3BHowever=2C if it was desired =
to handle this in a codec-independent way=2C could a centralized=0A=
 node send an unsolicited&nbsp=3BPAUSED (e.g. TMMBN =3D 0) message?<span st=
yle=3D"color:#1F497D=3B"></span></span></p>=0A=
<p class=3D"ecxMsoNormal"><b><i><span style=3D"font-size:11.0pt=3Bfont-fami=
ly:&quot=3BCalibri&quot=3B=2C&quot=3Bsans-serif&quot=3B=3Bcolor:#1F497D=3B"=
>[BoB] Yes=2C that is the intention. I could add some text in the introduct=
ion about that. This is fully in line with the rest of the document. See fo=
r example=0A=
 first part of section 5.3 =93Media Sender Pausing=94=3B</span></i></b></p>=
=0A=
<p class=3D"ecxMsoNormal" style=3D""><span style=3D"font-size:11.0pt=3Bfont=
-family:&quot=3BCourier New&quot=3B=3Bcolor:#1F497D=3B">&nbsp=3B&nbsp=3B An=
 RTP stream sender can choose to pause the stream at any time.</span></p>=
=0A=
<p class=3D"ecxMsoNormal" style=3D""><span style=3D"font-size:11.0pt=3Bfont=
-family:&quot=3BCourier New&quot=3B=3Bcolor:#1F497D=3B">&nbsp=3B&nbsp=3B Th=
is can either be as a result of receiving a PAUSE=2C or be based on</span><=
/p>=0A=
<p class=3D"ecxMsoNormal" style=3D""><span style=3D"font-size:11.0pt=3Bfont=
-family:&quot=3BCourier New&quot=3B=3Bcolor:#1F497D=3B">&nbsp=3B&nbsp=3B so=
me local sender consideration.&nbsp=3B When it does=2C it sends a PAUSED</s=
pan></p>=0A=
<p class=3D"ecxMsoNormal" style=3D""><span style=3D"font-size:11.0pt=3Bfont=
-family:&quot=3BCourier New&quot=3B=3Bcolor:#1F497D=3B">&nbsp=3B&nbsp=3B in=
dication=2C containing the available PauseID.&nbsp=3B If the stream was</sp=
an></p>=0A=
<p class=3D"ecxMsoNormal" style=3D""><span style=3D"font-size:11.0pt=3Bfont=
-family:&quot=3BCourier New&quot=3B=3Bcolor:#1F497D=3B">&nbsp=3B&nbsp=3B pa=
used by a TMMBR 0=2C TMMBN 0 is used as PAUSED indication.&nbsp=3B What is<=
/span></p>=0A=
<p class=3D"ecxMsoNormal" style=3D""><span style=3D"font-size:11.0pt=3Bfont=
-family:&quot=3BCourier New&quot=3B=3Bcolor:#1F497D=3B">&nbsp=3B&nbsp=3B sa=
id on PAUSED in the rest of this paragraph apply also to the use of</span><=
/p>=0A=
<p class=3D"ecxMsoNormal"><span style=3D"font-size:11.0pt=3Bfont-family:&qu=
ot=3BCourier New&quot=3B=3Bcolor:#1F497D=3B">&nbsp=3B&nbsp=3B &nbsp=3BTMMBN=
 0=2C except for PAUSED message parameters.</span></p>=0A=
<p class=3D"ecxMsoNormal"><b><i><span style=3D"font-size:11.0pt=3Bfont-fami=
ly:&quot=3BCalibri&quot=3B=2C&quot=3Bsans-serif&quot=3B=3Bcolor:#1F497D=3B"=
>Do you think that the text need further clarification? I see no problem ad=
ding explicit text regarding unsolicited sending of TMMBN 0.</span></i></b>=
</p><p class=3D"ecxMsoNormal"><b><i><span style=3D"font-size:11.0pt=3Bfont-=
family:&quot=3BCalibri&quot=3B=2C&quot=3Bsans-serif&quot=3B=3Bcolor:#1F497D=
=3B"><br></span></i></b></p><p class=3D"ecxMsoNormal"><b><i><font color=3D"=
#1f497d"><span style=3D"font-size: 11pt=3B">[BA] Yes=2C some&nbsp=3B</span>=
</font><font color=3D"#1f497d" face=3D"Calibri=2C sans-serif"><span style=
=3D"font-size: 15px=3B">clarification</span></font><font color=3D"#1f497d">=
<span style=3D"font-size: 11pt=3B">&nbsp=3Bmight be helpful in the case whe=
re the PAUSED is unsolicited. &nbsp=3BFor example=2C is there any reply to =
an unsolicited TMMBN 0?</span></font></i></b></p>=0A=
<p class=3D"ecxMsoNormal"><span style=3D"font-family:&quot=3BCalibri&quot=
=3B=2C&quot=3Bsans-serif&quot=3B=3B">&nbsp=3B<br>=0A=
Section 4.2<br>=0A=
<span class=3D"h3">&nbsp=3B</span><br>=0A=
It is the responsibility of an RTP stream receiver=2C who wants to pause or=
 resume a stream from the sender(s)=2C to transmit PAUSE and RESUME message=
s.=0A=
<span style=3D"color:red=3B">An RTP stream sender who likes to pause itself=
=2C can simply do it</span>. Any indication that an RTP stream is paused is=
 the responsibility of the RTP stream sender and may in some cases not even=
 be needed by the stream receiver.<br>=0A=
&nbsp=3B<br>=0A=
[BA] Not sure I agree with this for the multi-stream transmission case.&nbs=
p=3B If&nbsp=3Ba sender stops sending a layer with no notification=2C then =
the receiver could be adversely affected.&nbsp=3B For example=2C it could b=
e waiting for a spatial enhancement layer that never shows=0A=
 up.&nbsp=3B&nbsp=3B That is why we have SEI layer drop messages=2C right? =
<span style=3D"color:#1F497D=3B">=0A=
</span></span></p>=0A=
<p class=3D"ecxMsoNormal"><b><i><span style=3D"font-size:11.0pt=3Bfont-fami=
ly:&quot=3BCalibri&quot=3B=2C&quot=3Bsans-serif&quot=3B=3Bcolor:#1F497D=3B"=
>[BoB] If you refer to the sentence marked in red above=2C it was intended =
to highlight a fact that was there already before this draft=2C not to spec=
ifically=0A=
 allow something that was previously disallowed. Maybe that sentence could =
be changed into something like =93An RTP stream sender who likes to pause i=
tself can often simply do it=2C but sometimes this will adversely affect th=
e receiver and an explicit indication=0A=
 that the RTP stream is paused may then help=94?</span></i></b></p><p class=
=3D"ecxMsoNormal"><b><i><span style=3D"font-size:11.0pt=3Bfont-family:&quot=
=3BCalibri&quot=3B=2C&quot=3Bsans-serif&quot=3B=3Bcolor:#1F497D=3B"><br></s=
pan></i></b></p><p class=3D"ecxMsoNormal"><b><i><span style=3D"font-size:11=
.0pt=3Bfont-family:&quot=3BCalibri&quot=3B=2C&quot=3Bsans-serif&quot=3B=3Bc=
olor:#1F497D=3B">[BA] That would be helpful=2C yes.&nbsp=3B</span></i></b><=
/p>=0A=
<p class=3D"ecxMsoNormal"><span style=3D"font-family:&quot=3BCalibri&quot=
=3B=2C&quot=3Bsans-serif&quot=3B=3B"><br>=0A=
&nbsp=3B<br>=0A=
Section 4.4<br>=0A=
&nbsp=3B<br>=0A=
An RTP stream sender should not pause an SSRC that some receiver still wish=
es to receive. The reason is that in RTP topologies where the stream is sha=
red between multiple receivers=2C a single receiver on that shared network=
=2C independent of it being multicast=2C=0A=
 a mesh with joint RTP session or a transport Translator based=2C must not =
single- handedly cause the stream to be paused without letting all other re=
ceivers to voice their opinions on whether or not the stream should be paus=
ed. A consequence of this is that=0A=
 a newly joining receiver=2C for example indicated by an RTCP Receiver Repo=
rt containing both a new SSRC and a CNAME that does not already occur in th=
e session=2C firstly needs to learn the existence of paused streams=2C and =
secondly should be able to resume any=0A=
 paused stream. Any single receiver wanting to resume a stream should also =
cause it to be resumed.=0A=
<br>=0A=
&nbsp=3B<br>=0A=
[BA] In many simulcast and MST implementations=2C the centralized unit util=
izes sender-based congestion control=2C which means that it decides which s=
treams to send based on indications from the receiver such as packet loss=
=2C etc.&nbsp=3B&nbsp=3B If there is substantial loss=2C=0A=
 the sender will adjust the streams it is sending.&nbsp=3B In implementatio=
ns where the SFU uses a distinct SSRC for each simulcast stream (as opposed=
 to using the same SSRC but adjusting the resolution/framerate)=2C it may&n=
bsp=3Bpause sending one SSRC and&nbsp=3Bresume sending=0A=
 another (lower bandwidth one).&nbsp=3B Where MST is in use=2C the sender m=
ay pause an enhancement layer and subsequently resume sending it when it ha=
s reason to believe that there is sufficient bandwidth to handle it.&nbsp=
=3B Whether receiver "wishes to receive" a stream=0A=
 doesn't really enter into the sender's decision if it determines that ther=
e isn't sufficient bandwidth available to send it successfully.=0A=
<span style=3D"color:#1F497D=3B"></span></span></p>=0A=
<p class=3D"ecxMsoNormal"><b><i><span style=3D"font-size:11.0pt=3Bfont-fami=
ly:&quot=3BCalibri&quot=3B=2C&quot=3Bsans-serif&quot=3B=3Bcolor:#1F497D=3B"=
>[BoB] Fully agree that bandwidth availability has higher precedence than a=
ny receiver=92s wishes. This is a typical case where =93local consideration=
s=94 override=0A=
 RTP stream receivers=2C as described in section 5.4. That is also one of t=
he very reasons to include the REFUSED indication in the draft. This scenar=
io is also viable when using TMMBR/TMMBN=3B a RESUME signaled through TMMBR=
&gt=3B0 can be REFUSED using TMMBN 0 (likely=0A=
 indicating the RTP stream sender itself owning the bitrate restriction)=2C=
 as described in section 5.5. I realize that the text is not clear on using=
 the RTP stream sender=92s own SSRC as the one owning the restriction in TM=
MBR/TMMBN signaling whenever =93local=0A=
 considerations=94 apply=2C which I believe is useful here. I should probab=
ly add text about that in a few places. Agree?</span></i></b></p><p class=
=3D"ecxMsoNormal"><b><i><span style=3D"font-size:11.0pt=3Bfont-family:&quot=
=3BCalibri&quot=3B=2C&quot=3Bsans-serif&quot=3B=3Bcolor:#1F497D=3B"><br></s=
pan></i></b></p><p class=3D"ecxMsoNormal"><b><i><span style=3D"font-size:11=
.0pt=3Bfont-family:&quot=3BCalibri&quot=3B=2C&quot=3Bsans-serif&quot=3B=3Bc=
olor:#1F497D=3B">[BA] Yes=2C I agree.&nbsp=3B</span></i></b></p>=0A=
<p class=3D"ecxMsoNormal"><span style=3D"font-family:&quot=3BCalibri&quot=
=3B=2C&quot=3Bsans-serif&quot=3B=3B"><br>=0A=
&nbsp=3B<br>=0A=
<span class=3D"h3">&nbsp=3B</span></span></p>=0A=
<h3><span style=3D"font-family:&quot=3BCalibri&quot=3B=2C&quot=3Bsans-serif=
&quot=3B=3B">&nbsp=3B</span></h3>=0A=
<p class=3D"ecxMsoNormal"><span class=3D"h3"><span style=3D"font-family:&qu=
ot=3BCalibri&quot=3B=2C&quot=3Bsans-serif&quot=3B=3B">&nbsp=3B</span></span=
><span style=3D"font-family:&quot=3BCalibri&quot=3B=2C&quot=3Bsans-serif&qu=
ot=3B=3B"><br>=0A=
<br>=0A=
&nbsp=3B</span></p>=0A=
</div>=0A=
</div>=0A=
</div></div> 		 	   		  </div></body>
</html>=

--_849b8d1c-c0e6-4fae-958b-c9debbb9eadb_--


From nobody Thu Sep 18 00:46:49 2014
Return-Path: <abegen@cisco.com>
X-Original-To: avtext@ietfa.amsl.com
Delivered-To: avtext@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 61A8B1A797C for <avtext@ietfa.amsl.com>; Thu, 18 Sep 2014 00:46:47 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -16.153
X-Spam-Level: 
X-Spam-Status: No, score=-16.153 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_HI=-5, RP_MATCHES_RCVD=-1.652, SPF_PASS=-0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id sjUpAG8fau2O for <avtext@ietfa.amsl.com>; Thu, 18 Sep 2014 00:46:46 -0700 (PDT)
Received: from rcdn-iport-5.cisco.com (rcdn-iport-5.cisco.com [173.37.86.76]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id CF9CE1A7113 for <avtext@ietf.org>; Thu, 18 Sep 2014 00:46:45 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=3231; q=dns/txt; s=iport; t=1411026406; x=1412236006; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=Z0/d6HPPtJolEPfDJL8qolw7h716oTkgBpwVgqcsqdo=; b=MsMOa3sUTRd/ujIfw/U3CbaXvhGJGAKv3f1MFq6VTofBoEz8wbMJZUf0 w2oGqLHmu5F/gAcDhtd6dp5fGEVlpV1Eu2krFg8PnZWKftC6Duuzrr+DX MmF2O6BNlHHMrvjhnPjsLFiW7vt/fr38OEqGi8c+KNdU7jdSIzLa1rGmE k=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: Ag0FAMGMGlStJA2B/2dsb2JhbABhgmojU1cEyRsKhnlUAYEKFgF5hAMBAQEEAQEBNy4GCwwEAgEIEQQBAQsUCQcnCxQJCAIEAQ0FCIg2AQzADwETBI9GMQcGgyiBHQWRToQ3nE+DXmyBSIECAQEB
X-IronPort-AV: E=Sophos;i="5.04,545,1406592000"; d="scan'208";a="356182115"
Received: from alln-core-9.cisco.com ([173.36.13.129]) by rcdn-iport-5.cisco.com with ESMTP; 18 Sep 2014 07:46:45 +0000
Received: from xhc-rcd-x07.cisco.com (xhc-rcd-x07.cisco.com [173.37.183.81]) by alln-core-9.cisco.com (8.14.5/8.14.5) with ESMTP id s8I7kiHc028560 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL); Thu, 18 Sep 2014 07:46:44 GMT
Received: from xmb-aln-x01.cisco.com ([fe80::747b:83e1:9755:d453]) by xhc-rcd-x07.cisco.com ([173.37.183.81]) with mapi id 14.03.0195.001; Thu, 18 Sep 2014 02:46:44 -0500
From: "Ali C. Begen (abegen)" <abegen@cisco.com>
To: "DRAGE, Keith (Keith)" <keith.drage@alcatel-lucent.com>, "avtext@ietf.org" <avtext@ietf.org>
Thread-Topic: Alignment of 4566bis with RTP taxonomy draft
Thread-Index: AQHPnKb6HjdKqcd0IkG2qQJyg+i3uZuaG2IggGzUEf4=
Date: Thu, 18 Sep 2014 07:46:44 +0000
Message-ID: <C15918F2FCDA0243A7C919DA7C4BE9942B033CA5@xmb-aln-x01.cisco.com>
References: <06F60AED-D155-4030-A603-68F16E013E61@cisco.com>, <949EF20990823C4C85C18D59AA11AD8B2035DB@FR712WXCHMBA11.zeu.alcatel-lucent.com>
In-Reply-To: <949EF20990823C4C85C18D59AA11AD8B2035DB@FR712WXCHMBA11.zeu.alcatel-lucent.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.19.222.166]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Archived-At: http://mailarchive.ietf.org/arch/msg/avtext/9XUSyMNZsFb4QfJSUFwCCm7oXBQ
Cc: "draft-ietf-mmusic-rfc4566bis@tools.ietf.org" <draft-ietf-mmusic-rfc4566bis@tools.ietf.org>
Subject: Re: [avtext] Alignment of 4566bis with RTP taxonomy draft
X-BeenThere: avtext@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Audio/Video Transport Extensions working group discussion list <avtext.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/avtext>, <mailto:avtext-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/avtext/>
List-Post: <mailto:avtext@ietf.org>
List-Help: <mailto:avtext-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/avtext>, <mailto:avtext-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 18 Sep 2014 07:46:47 -0000

OK, time to make 4566bis refer to the taxonomy draft. My proposal is to int=
roduce the following text (a bit more tailored) to the taxonomy draft. As i=
t is a WG document, please comment. Ow, Bo (the editor) should get it into =
the draft in the next revision so 4566bis can refer to it.=0A=
=0A=
4.12.  Multimedia Conference=0A=
=0A=
   A Multimedia Conference is a Communication Session (Section 2.2.5)=0A=
   between two or more Participants (Section 2.2.3), along with the=0A=
   software they are using to communicate.=0A=
=0A=
-acbegen=0A=
=0A=
________________________________________=0A=
From: DRAGE, Keith (Keith) [keith.drage@alcatel-lucent.com]=0A=
Sent: Friday, July 11, 2014 1:20 PM=0A=
To: Ali C. Begen (abegen); avtext@ietf.org=0A=
Cc: draft-ietf-mmusic-rfc4566bis@tools.ietf.org=0A=
Subject: RE: Alignment of 4566bis with RTP taxonomy draft=0A=
=0A=
I'd note that the conference definition does not appear to be particularly =
distinct from what I remember as the ITU-T definition for call, which was a=
n association of two or more users.=0A=
=0A=
To be distinct, I suspect we need to be more specific on what the software =
is - maybe we need to say something about needing mixing support.=0A=
=0A=
Keith=0A=
=0A=
> -----Original Message-----=0A=
> From: avtext [mailto:avtext-bounces@ietf.org] On Behalf Of=0A=
> Ali C. Begen (abegen)=0A=
> Sent: 11 July 2014 02:25=0A=
> To: avtext@ietf.org=0A=
> Cc: draft-ietf-mmusic-rfc4566bis@tools.ietf.org=0A=
> Subject: [avtext] Alignment of 4566bis with RTP taxonomy draft=0A=
>=0A=
> Bo asked me to check the 4566bis (mmusic) draft to make sure=0A=
> it was aligned with=0A=
> https://datatracker.ietf.org/doc/draft-ietf-avtext-rtp-groupin=0A=
> g-taxonomy/=0A=
>=0A=
> Here is the summary. 4566bis is making the following=0A=
> definitions (remaining from 4566):=0A=
>=0A=
>   Conference:  A multimedia conference is a set of two or more=0A=
>      communicating users along with the software they are using to=0A=
>      communicate.=0A=
>=0A=
>   Session:  A multimedia session is a set of multimedia senders and=0A=
>      receivers and the data streams flowing from senders to receivers.=0A=
>      A multimedia conference is an example of a multimedia session.=0A=
>=0A=
>   Session Description:  A well-defined format for conveying sufficient=0A=
>      information to discover and participate in a multimedia session.=0A=
>=0A=
> My recommendations:=0A=
> 1) "Conference" should be defined in the taxonomy draft and=0A=
> 4566bis just refers to it.=0A=
>=0A=
> 2) "Session" is not defined in the taxonomy draft but we will=0A=
> adopt/use "multimedia session" defined in the taxonomy draft.=0A=
>=0A=
> 3) "Session Description" should stay in 4566bis.=0A=
>=0A=
> Now, Bo asked me to provide a definition for "conference" and=0A=
> the definition above is one proposal. I will leave it to=0A=
> AVTEXT to agree on its definition. 4566bis will just refer to=0A=
> the avtext document.=0A=
>=0A=
> Thanks.=0A=
> -acbegen=0A=
> _______________________________________________=0A=
> avtext mailing list=0A=
> avtext@ietf.org=0A=
> https://www.ietf.org/mailman/listinfo/avtext=0A=
>=0A=


From nobody Fri Sep 19 08:01:07 2014
Return-Path: <bo.burman@ericsson.com>
X-Original-To: avtext@ietfa.amsl.com
Delivered-To: avtext@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 85DE51A0009 for <avtext@ietfa.amsl.com>; Fri, 19 Sep 2014 08:01:05 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 1.51
X-Spam-Level: *
X-Spam-Status: No, score=1.51 tagged_above=-999 required=5 tests=[BAYES_50=0.8, HTML_MESSAGE=0.001, J_CHICKENPOX_12=0.6, J_CHICKENPOX_15=0.6, J_CHICKENPOX_17=0.6, J_CHICKENPOX_51=0.6, J_CHICKENPOX_61=0.6, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001, T_FILL_THIS_FORM_SHORT=0.01] autolearn=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 0wvSS6j-TURV for <avtext@ietfa.amsl.com>; Fri, 19 Sep 2014 08:00:37 -0700 (PDT)
Received: from sesbmg23.ericsson.net (sesbmg23.ericsson.net [193.180.251.37]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A0C591A016B for <avtext@ietf.org>; Fri, 19 Sep 2014 08:00:34 -0700 (PDT)
X-AuditID: c1b4fb25-f791c6d00000617b-97-541c450f3af5
Received: from ESESSHC017.ericsson.se (Unknown_Domain [153.88.253.124]) by sesbmg23.ericsson.net (Symantec Mail Security) with SMTP id AD.B1.24955.F054C145; Fri, 19 Sep 2014 17:00:31 +0200 (CEST)
Received: from ESESSMB105.ericsson.se ([169.254.5.215]) by ESESSHC017.ericsson.se ([153.88.183.69]) with mapi id 14.03.0174.001; Fri, 19 Sep 2014 17:00:29 +0200
From: Bo Burman <bo.burman@ericsson.com>
To: Bernard Aboba <bernard_aboba@hotmail.com>, "avtext@ietf.org" <avtext@ietf.org>
Thread-Topic: [avtext] Review of  draft-ietf-avtext-rtp-stream-pause-02
Thread-Index: AQHP0jN1uJj+/jLIEEmtXmUHB8gdz5wE3dZggABwtoCAAz9oEA==
Date: Fri, 19 Sep 2014 15:00:28 +0000
Message-ID: <BBE9739C2C302046BD34B42713A1E2A22E2D1751@ESESSMB105.ericsson.se>
References: <949EF20990823C4C85C18D59AA11AD8B212C0B@FR712WXCHMBA11.zeu.alcatel-lucent.com>, , <53F1DD5D.6030204@nteczone.com>, , <BBE9739C2C302046BD34B42713A1E2A22E28C887@ESESSMB105.ericsson.se>, , <53F441C3.5050201@nteczone.com>, , <BBE9739C2C302046BD34B42713A1E2A22E29290C@ESESSMB105.ericsson.se>, , <53FD7F8A.6060608@nteczone.com>, , <BBE9739C2C302046BD34B42713A1E2A22E29B9AD@ESESSMB105.ericsson.se>, , <54051326.5090103@nteczone.com>, , <BBE9739C2C302046BD34B42713A1E2A22E29F3A3@ESESSMB105.ericsson.se>, , <BBE9739C2C302046BD34B42713A1E2A22E2CD82A@ESESSMB105.ericsson.se>, , <5417AB01.2010801@nteczone.com>, , <BBE9739C2C302046BD34B42713A1E2A22E2CEC15@ESESSMB105.ericsson.se>, <BLU181-W11CBB817B5DAFD30D99C4693B60@phx.gbl>, <BBE9739C2C302046BD34B42713A1E2A22E2CF922@ESESSMB105.ericsson.se> <BLU181-W717A65719DAE089894913A93B60@phx.gbl>
In-Reply-To: <BLU181-W717A65719DAE089894913A93B60@phx.gbl>
Accept-Language: sv-SE, en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
x-originating-ip: [153.88.183.18]
Content-Type: multipart/mixed; boundary="_004_BBE9739C2C302046BD34B42713A1E2A22E2D1751ESESSMB105erics_"
MIME-Version: 1.0
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrKIsWRmVeSWpSXmKPExsUyM+JvjS6/q0yIwZEZJhYf791gtdi/5DKz A5PH454zbB5LlvxkCmCK4rJJSc3JLEst0rdL4MqY/mc1U8HkbdwV7y6UNjBu+s7VxcjJISFg InHk1mYWCFtM4sK99WxdjFwcQgJHGSWurJgJ5SxhlLi2dyIbSBWbgIbE/B13GUFsEYEQiRVt S1lBbGEBN4l3789Bxd0l7h1bxQZhO0msXH8QLM4ioCqxad9xsDivgK/Eyt4+FogFG9kklky8 B5bgFLCSmHPyH1gDo4CsxP3v98DOYxYQl7j1ZD4TxKkiEg8vnmaDsEUlXj7+xwphK0p8fLUP qJcDqD5T4tvDFIhdghInZz5hmcAoMgvJpFkIVbOQVEGU5Eu8eHKSEcLWkViw+xMbhK0tsWzh a2YY+8yBx0yY4sESV5t+s0OMd5VYfjcEInyRUWL5sSIIW1FiSvdD9gWMPKsYRYtTi5Ny042M 9VKLMpOLi/Pz9PJSSzYxAuP54JbfqjsYL79xPMQowMGoxMOr0CcdIsSaWFZcmXuIUZqDRUmc d+G5ecFCAumJJanZqakFqUXxRaU5qcWHGJk4OKUaGJPUN1R3R3mXSqmzXujKyanpmcCX21AY 9vWj8fEjJtKWqzZNtZcNlmrdMy3EU7V5jbp70pQegQbBvDnW8jx1k7ts8uYXHmef8CdW0SpP +cg/xYlLPc59TTT9bi5d7vL8GNf/SZEX8uOss81jnY/Yn0+5ucxdQ77kft3958Ghjx9FG+uv Ya9RYinOSDTUYi4qTgQARPRdXcgCAAA=
Archived-At: http://mailarchive.ietf.org/arch/msg/avtext/5P6yRyJ1yRkFtPZA3LkRPMxprQY
Subject: Re: [avtext] Review of  draft-ietf-avtext-rtp-stream-pause-02
X-BeenThere: avtext@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Audio/Video Transport Extensions working group discussion list <avtext.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/avtext>, <mailto:avtext-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/avtext/>
List-Post: <mailto:avtext@ietf.org>
List-Help: <mailto:avtext-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/avtext>, <mailto:avtext-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 19 Sep 2014 15:01:05 -0000

--_004_BBE9739C2C302046BD34B42713A1E2A22E2D1751ESESSMB105erics_
Content-Type: multipart/alternative;
	boundary="_000_BBE9739C2C302046BD34B42713A1E2A22E2D1751ESESSMB105erics_"

--_000_BBE9739C2C302046BD34B42713A1E2A22E2D1751ESESSMB105erics_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Bernard,

Please find attached a draft -03 version that tries to address your concern=
s, describing local pause a bit better and trying to clean up the text on u=
se of TMMBR/TMMBN. There are multiple edits, which is why I choose to attac=
h the entire text. It should be possible to use the diff tool on the IETF t=
ools page to better see what I've done compared to -02. Note that there are=
 also edits based on comments other than yours in the text, compared to -02=
 version.

Do you think that your concerns are sufficiently covered? Further comments =
are of course welcome!

Cheers,
/Bo

From: Bernard Aboba [mailto:bernard_aboba@hotmail.com]
Sent: den 17 september 2014 17:16
To: Bo Burman; avtext@ietf.org
Subject: RE: [avtext] Review of draft-ietf-avtext-rtp-stream-pause-02

Comments below.
________________________________
From: bo.burman@ericsson.com<mailto:bo.burman@ericsson.com>
To: bernard_aboba@hotmail.com<mailto:bernard_aboba@hotmail.com>; avtext@iet=
f.org<mailto:avtext@ietf.org>
Subject: RE: [avtext] Review of draft-ietf-avtext-rtp-stream-pause-02
Date: Wed, 17 Sep 2014 07:15:44 +0000
Responses inline
/Bo

From: avtext [mailto:avtext-bounces@ietf.org] On Behalf Of Bernard Aboba
Sent: den 17 september 2014 06:53
To: avtext@ietf.org<mailto:avtext@ietf.org>
Subject: [avtext] Review of draft-ietf-avtext-rtp-stream-pause-02

Section 1

   This document describes several
   scenarios in multimedia communication where a conferencing node or
   participant chooses to temporarily pause an incoming RTP [RFC3550<https:=
//tools.ietf.org/html/rfc3550>]
   stream and later resume it when needed.  The receiver does not need
   to terminate or inactivate the RTP session and start all over again
   by negotiating the session parameters, for example using SIP
   [RFC3261<https://tools.ietf.org/html/rfc3261>] with SDP Offer/Answer [RF=
C3264<https://tools.ietf.org/html/rfc3264>].

  Centralized nodes, like RTP Mixers or MCUs, which either uses logic
   based on voice activity, other measurements, or user input could
   reduce the resources consumed in both the sender and the network by
   temporarily pausing the RTP streams that aren't required by the RTP
   Mixer.

[BA] There is another potential use case for a centralized node.  Could str=
eam pause/resume also be used to enable a centralized node to notify a rece=
iver that it has chosen to pause a stream on its own (without being asked)?=
  For example, there are situations where an multi-stream SFU may wish to d=
rop a layer (RTCP RRs or PLI indicates congestion).  Today this is handled =
via codec-specific messages (e.g. SEI layer drop).   However, if it was des=
ired to handle this in a codec-independent way, could a centralized node se=
nd an unsolicited PAUSED (e.g. TMMBN =3D 0) message?
[BoB] Yes, that is the intention. I could add some text in the introduction=
 about that. This is fully in line with the rest of the document. See for e=
xample first part of section 5.3 "Media Sender Pausing";
   An RTP stream sender can choose to pause the stream at any time.
   This can either be as a result of receiving a PAUSE, or be based on
   some local sender consideration.  When it does, it sends a PAUSED
   indication, containing the available PauseID.  If the stream was
   paused by a TMMBR 0, TMMBN 0 is used as PAUSED indication.  What is
   said on PAUSED in the rest of this paragraph apply also to the use of
    TMMBN 0, except for PAUSED message parameters.
Do you think that the text need further clarification? I see no problem add=
ing explicit text regarding unsolicited sending of TMMBN 0.

[BA] Yes, some clarification might be helpful in the case where the PAUSED =
is unsolicited.  For example, is there any reply to an unsolicited TMMBN 0?

Section 4.2

It is the responsibility of an RTP stream receiver, who wants to pause or r=
esume a stream from the sender(s), to transmit PAUSE and RESUME messages. A=
n RTP stream sender who likes to pause itself, can simply do it. Any indica=
tion that an RTP stream is paused is the responsibility of the RTP stream s=
ender and may in some cases not even be needed by the stream receiver.

[BA] Not sure I agree with this for the multi-stream transmission case.  If=
 a sender stops sending a layer with no notification, then the receiver cou=
ld be adversely affected.  For example, it could be waiting for a spatial e=
nhancement layer that never shows up.   That is why we have SEI layer drop =
messages, right?
[BoB] If you refer to the sentence marked in red above, it was intended to =
highlight a fact that was there already before this draft, not to specifica=
lly allow something that was previously disallowed. Maybe that sentence cou=
ld be changed into something like "An RTP stream sender who likes to pause =
itself can often simply do it, but sometimes this will adversely affect the=
 receiver and an explicit indication that the RTP stream is paused may then=
 help"?

[BA] That would be helpful, yes.


Section 4.4

An RTP stream sender should not pause an SSRC that some receiver still wish=
es to receive. The reason is that in RTP topologies where the stream is sha=
red between multiple receivers, a single receiver on that shared network, i=
ndependent of it being multicast, a mesh with joint RTP session or a transp=
ort Translator based, must not single- handedly cause the stream to be paus=
ed without letting all other receivers to voice their opinions on whether o=
r not the stream should be paused. A consequence of this is that a newly jo=
ining receiver, for example indicated by an RTCP Receiver Report containing=
 both a new SSRC and a CNAME that does not already occur in the session, fi=
rstly needs to learn the existence of paused streams, and secondly should b=
e able to resume any paused stream. Any single receiver wanting to resume a=
 stream should also cause it to be resumed.

[BA] In many simulcast and MST implementations, the centralized unit utiliz=
es sender-based congestion control, which means that it decides which strea=
ms to send based on indications from the receiver such as packet loss, etc.=
   If there is substantial loss, the sender will adjust the streams it is s=
ending.  In implementations where the SFU uses a distinct SSRC for each sim=
ulcast stream (as opposed to using the same SSRC but adjusting the resoluti=
on/framerate), it may pause sending one SSRC and resume sending another (lo=
wer bandwidth one).  Where MST is in use, the sender may pause an enhanceme=
nt layer and subsequently resume sending it when it has reason to believe t=
hat there is sufficient bandwidth to handle it.  Whether receiver "wishes t=
o receive" a stream doesn't really enter into the sender's decision if it d=
etermines that there isn't sufficient bandwidth available to send it succes=
sfully.
[BoB] Fully agree that bandwidth availability has higher precedence than an=
y receiver's wishes. This is a typical case where "local considerations" ov=
erride RTP stream receivers, as described in section 5.4. That is also one =
of the very reasons to include the REFUSED indication in the draft. This sc=
enario is also viable when using TMMBR/TMMBN; a RESUME signaled through TMM=
BR>0 can be REFUSED using TMMBN 0 (likely indicating the RTP stream sender =
itself owning the bitrate restriction), as described in section 5.5. I real=
ize that the text is not clear on using the RTP stream sender's own SSRC as=
 the one owning the restriction in TMMBR/TMMBN signaling whenever "local co=
nsiderations" apply, which I believe is useful here. I should probably add =
text about that in a few places. Agree?

[BA] Yes, I agree.








--_000_BBE9739C2C302046BD34B42713A1E2A22E2D1751ESESSMB105erics_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:=
//www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dus-ascii"=
>
<meta name=3D"Generator" content=3D"Microsoft Word 14 (filtered medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
	{font-family:Cambria;
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0cm;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";}
h3
	{mso-style-priority:9;
	mso-style-link:"Heading 3 Char";
	mso-margin-top-alt:auto;
	margin-right:0cm;
	mso-margin-bottom-alt:auto;
	margin-left:0cm;
	font-size:13.5pt;
	font-family:"Times New Roman","serif";
	font-weight:bold;}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
p
	{mso-style-priority:99;
	mso-margin-top-alt:auto;
	margin-right:0cm;
	mso-margin-bottom-alt:auto;
	margin-left:0cm;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
	{mso-style-priority:99;
	mso-style-link:"Balloon Text Char";
	margin:0cm;
	margin-bottom:.0001pt;
	font-size:8.0pt;
	font-family:"Tahoma","sans-serif";}
span.Heading3Char
	{mso-style-name:"Heading 3 Char";
	mso-style-priority:9;
	mso-style-link:"Heading 3";
	font-family:"Cambria","serif";
	color:#4F81BD;
	font-weight:bold;}
p.ecxmsonormal, li.ecxmsonormal, div.ecxmsonormal
	{mso-style-name:ecxmsonormal;
	mso-margin-top-alt:auto;
	margin-right:0cm;
	mso-margin-bottom-alt:auto;
	margin-left:0cm;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";}
p.ecxmsochpdefault, li.ecxmsochpdefault, div.ecxmsochpdefault
	{mso-style-name:ecxmsochpdefault;
	mso-margin-top-alt:auto;
	margin-right:0cm;
	mso-margin-bottom-alt:auto;
	margin-left:0cm;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";}
span.ecxmsohyperlink
	{mso-style-name:ecxmsohyperlink;}
span.ecxmsohyperlinkfollowed
	{mso-style-name:ecxmsohyperlinkfollowed;}
span.ecxheading3char
	{mso-style-name:ecxheading3char;}
span.ecxemailstyle20
	{mso-style-name:ecxemailstyle20;}
p.ecxmsonormal1, li.ecxmsonormal1, div.ecxmsonormal1
	{mso-style-name:ecxmsonormal1;
	mso-margin-top-alt:auto;
	margin-right:0cm;
	mso-margin-bottom-alt:auto;
	margin-left:0cm;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";}
span.ecxmsohyperlink1
	{mso-style-name:ecxmsohyperlink1;
	color:blue;
	text-decoration:underline;}
span.ecxmsohyperlinkfollowed1
	{mso-style-name:ecxmsohyperlinkfollowed1;
	color:purple;
	text-decoration:underline;}
span.ecxheading3char1
	{mso-style-name:ecxheading3char1;
	font-family:"Cambria","serif";
	color:#4F81BD;
	font-weight:bold;}
span.ecxemailstyle201
	{mso-style-name:ecxemailstyle201;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
p.ecxmsochpdefault1, li.ecxmsochpdefault1, div.ecxmsochpdefault1
	{mso-style-name:ecxmsochpdefault1;
	mso-margin-top-alt:auto;
	margin-right:0cm;
	mso-margin-bottom-alt:auto;
	margin-left:0cm;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
span.h3
	{mso-style-name:h3;}
span.BalloonTextChar
	{mso-style-name:"Balloon Text Char";
	mso-style-priority:99;
	mso-style-link:"Balloon Text";
	font-family:"Tahoma","sans-serif";}
span.EmailStyle34
	{mso-style-type:personal-reply;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-size:10.0pt;}
@page WordSection1
	{size:612.0pt 792.0pt;
	margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
	{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang=3D"EN-US" link=3D"blue" vlink=3D"purple">
<div class=3D"WordSection1">
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D">Bernard,<o:p></o:p></span=
></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p>&nbsp;</o:p></span><=
/p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D">Please find attached a dr=
aft -03 version that tries to address your concerns, describing local pause=
 a bit better and trying to clean up the text on use of
 TMMBR/TMMBN. There are multiple edits, which is why I choose to attach the=
 entire text. It should be possible to use the diff tool on the IETF tools =
page to better see what I&#8217;ve done compared to -02. Note that there ar=
e also edits based on comments other than
 yours in the text, compared to -02 version.<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p>&nbsp;</o:p></span><=
/p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D">Do you think that your co=
ncerns are sufficiently covered? Further comments are of course welcome!<o:=
p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p>&nbsp;</o:p></span><=
/p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D">Cheers,<o:p></o:p></span>=
</p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D">/Bo<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p>&nbsp;</o:p></span><=
/p>
<div style=3D"border:none;border-left:solid blue 1.5pt;padding:0cm 0cm 0cm =
4.0pt">
<div>
<div style=3D"border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm =
0cm 0cm">
<p class=3D"MsoNormal"><b><span style=3D"font-size:10.0pt;font-family:&quot=
;Tahoma&quot;,&quot;sans-serif&quot;">From:</span></b><span style=3D"font-s=
ize:10.0pt;font-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;"> Bernard =
Aboba [mailto:bernard_aboba@hotmail.com]
<br>
<b>Sent:</b> den 17 september 2014 17:16<br>
<b>To:</b> Bo Burman; avtext@ietf.org<br>
<b>Subject:</b> RE: [avtext] Review of draft-ietf-avtext-rtp-stream-pause-0=
2<o:p></o:p></span></p>
</div>
</div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<div>
<p class=3D"MsoNormal" style=3D"margin-bottom:12.0pt"><span style=3D"font-f=
amily:&quot;Calibri&quot;,&quot;sans-serif&quot;">Comments below.&nbsp;<o:p=
></o:p></span></p>
<div>
<div class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span=
 style=3D"font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;">
<hr size=3D"2" width=3D"100%" align=3D"center" id=3D"stopSpelling">
</span></div>
<p class=3D"MsoNormal" style=3D"margin-bottom:12.0pt"><span style=3D"font-f=
amily:&quot;Calibri&quot;,&quot;sans-serif&quot;">From:
<a href=3D"mailto:bo.burman@ericsson.com">bo.burman@ericsson.com</a><br>
To: <a href=3D"mailto:bernard_aboba@hotmail.com">bernard_aboba@hotmail.com<=
/a>; <a href=3D"mailto:avtext@ietf.org">
avtext@ietf.org</a><br>
Subject: RE: [avtext] Review of draft-ietf-avtext-rtp-stream-pause-02<br>
Date: Wed, 17 Sep 2014 07:15:44 &#43;0000<o:p></o:p></span></p>
<div>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D">Responses inline</span><s=
pan style=3D"font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;"><o:p><=
/o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D">/Bo</span><span style=3D"=
font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;"><o:p></o:p></span><=
/p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D">&nbsp;</span><span style=
=3D"font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;"><o:p></o:p></sp=
an></p>
<div style=3D"border:none;border-left:solid blue 1.5pt;padding:0cm 0cm 0cm =
4.0pt">
<div>
<div style=3D"border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm =
0cm 0cm">
<p class=3D"MsoNormal"><b><span style=3D"font-size:10.0pt;font-family:&quot=
;Tahoma&quot;,&quot;sans-serif&quot;">From:</span></b><span style=3D"font-s=
ize:10.0pt;font-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;"> avtext [=
<a href=3D"mailto:avtext-bounces@ietf.org">mailto:avtext-bounces@ietf.org</=
a>]
<b>On Behalf Of </b>Bernard Aboba<br>
<b>Sent:</b> den 17 september 2014 06:53<br>
<b>To:</b> <a href=3D"mailto:avtext@ietf.org">avtext@ietf.org</a><br>
<b>Subject:</b> [avtext] Review of draft-ietf-avtext-rtp-stream-pause-02</s=
pan><span style=3D"font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;">=
<o:p></o:p></span></p>
</div>
</div>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Calibri&quot;,&quot=
;sans-serif&quot;">&nbsp;<o:p></o:p></span></p>
<div>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Calibri&quot;,&quot=
;sans-serif&quot;">Section 1<br>
&nbsp;<br>
&nbsp;&nbsp; This document describes several<br>
&nbsp;&nbsp; scenarios in multimedia communication where a conferencing nod=
e or<br>
&nbsp;&nbsp; participant chooses to temporarily pause an incoming RTP [<a h=
ref=3D"https://tools.ietf.org/html/rfc3550" target=3D"_blank" title=3D"&quo=
t;RTP: A Transport Protocol for Real-Time Applications&quot;">RFC3550</a>]<=
br>
&nbsp;&nbsp; stream and later resume it when needed.&nbsp; The receiver doe=
s not need<br>
&nbsp;&nbsp; to terminate or inactivate the RTP session and start all over =
again<br>
&nbsp;&nbsp; by negotiating the session parameters, for example using SIP<b=
r>
&nbsp;&nbsp; [<a href=3D"https://tools.ietf.org/html/rfc3261" target=3D"_bl=
ank" title=3D"&quot;SIP: Session Initiation Protocol&quot;">RFC3261</a>] wi=
th SDP Offer/Answer [<a href=3D"https://tools.ietf.org/html/rfc3264" target=
=3D"_blank" title=3D"&quot;An Offer/Answer Model with Session Description P=
rotocol (SDP)&quot;">RFC3264</a>].<br>
&nbsp;<br>
&nbsp; Centralized nodes, like RTP Mixers or MCUs, which either uses logic<=
br>
&nbsp;&nbsp; based on voice activity, other measurements, or user input cou=
ld<br>
&nbsp;&nbsp; reduce the resources consumed in both the sender and the netwo=
rk by<br>
&nbsp;&nbsp; temporarily pausing the RTP streams that aren't required by th=
e RTP<br>
&nbsp;&nbsp; Mixer.<br>
&nbsp;<br>
[BA] There is another potential use case for a centralized node.&nbsp; Coul=
d stream pause/resume also be used to enable a centralized node to notify a=
 receiver that it has chosen to pause a stream on its own (without being as=
ked)?&nbsp; For example, there are situations
 where an multi-stream SFU may wish to drop a layer (RTCP RRs or PLI indica=
tes congestion).&nbsp; Today this is handled via codec-specific messages (e=
.g. SEI layer drop).&nbsp;&nbsp;&nbsp;However, if it was desired to handle =
this in a codec-independent way, could a centralized
 node send an unsolicited&nbsp;PAUSED (e.g. TMMBN =3D 0) message?<o:p></o:p=
></span></p>
<p class=3D"MsoNormal"><b><i><span style=3D"font-size:11.0pt;font-family:&q=
uot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D">[BoB] Yes, that is =
the intention. I could add some text in the introduction about that. This i=
s fully in line with the rest of the document. See for example
 first part of section 5.3 &#8220;Media Sender Pausing&#8221;;</span></i></=
b><span style=3D"font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;"><o=
:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Co=
urier New&quot;;color:#1F497D">&nbsp;&nbsp; An RTP stream sender can choose=
 to pause the stream at any time.</span><span style=3D"font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;"><o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Co=
urier New&quot;;color:#1F497D">&nbsp;&nbsp; This can either be as a result =
of receiving a PAUSE, or be based on</span><span style=3D"font-family:&quot=
;Calibri&quot;,&quot;sans-serif&quot;"><o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Co=
urier New&quot;;color:#1F497D">&nbsp;&nbsp; some local sender consideration=
.&nbsp; When it does, it sends a PAUSED</span><span style=3D"font-family:&q=
uot;Calibri&quot;,&quot;sans-serif&quot;"><o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Co=
urier New&quot;;color:#1F497D">&nbsp;&nbsp; indication, containing the avai=
lable PauseID.&nbsp; If the stream was</span><span style=3D"font-family:&qu=
ot;Calibri&quot;,&quot;sans-serif&quot;"><o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Co=
urier New&quot;;color:#1F497D">&nbsp;&nbsp; paused by a TMMBR 0, TMMBN 0 is=
 used as PAUSED indication.&nbsp; What is</span><span style=3D"font-family:=
&quot;Calibri&quot;,&quot;sans-serif&quot;"><o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Co=
urier New&quot;;color:#1F497D">&nbsp;&nbsp; said on PAUSED in the rest of t=
his paragraph apply also to the use of</span><span style=3D"font-family:&qu=
ot;Calibri&quot;,&quot;sans-serif&quot;"><o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Co=
urier New&quot;;color:#1F497D">&nbsp;&nbsp; &nbsp;TMMBN 0, except for PAUSE=
D message parameters.</span><span style=3D"font-family:&quot;Calibri&quot;,=
&quot;sans-serif&quot;"><o:p></o:p></span></p>
<p class=3D"MsoNormal"><b><i><span style=3D"font-size:11.0pt;font-family:&q=
uot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D">Do you think that t=
he text need further clarification? I see no problem adding explicit text r=
egarding unsolicited sending of TMMBN 0.</span></i></b><span style=3D"font-=
family:&quot;Calibri&quot;,&quot;sans-serif&quot;"><o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Calibri&quot;,&quot=
;sans-serif&quot;"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><b><i><span style=3D"font-size:11.0pt;font-family:&q=
uot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D">[BA] Yes, some&nbsp=
;</span></i></b><b><i><span style=3D"font-size:11.5pt;font-family:&quot;Cal=
ibri&quot;,&quot;sans-serif&quot;;color:#1F497D">clarification</span></i></=
b><b><i><span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,&qu=
ot;sans-serif&quot;;color:#1F497D">&nbsp;might
 be helpful in the case where the PAUSED is unsolicited. &nbsp;For example,=
 is there any reply to an unsolicited TMMBN 0?</span></i></b><span style=3D=
"font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;"><o:p></o:p></span>=
</p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Calibri&quot;,&quot=
;sans-serif&quot;">&nbsp;<br>
Section 4.2<br>
<span class=3D"h3">&nbsp;</span><br>
It is the responsibility of an RTP stream receiver, who wants to pause or r=
esume a stream from the sender(s), to transmit PAUSE and RESUME messages.
<span style=3D"color:red">An RTP stream sender who likes to pause itself, c=
an simply do it</span>. Any indication that an RTP stream is paused is the =
responsibility of the RTP stream sender and may in some cases not even be n=
eeded by the stream receiver.<br>
&nbsp;<br>
[BA] Not sure I agree with this for the multi-stream transmission case.&nbs=
p; If&nbsp;a sender stops sending a layer with no notification, then the re=
ceiver could be adversely affected.&nbsp; For example, it could be waiting =
for a spatial enhancement layer that never shows
 up.&nbsp;&nbsp; That is why we have SEI layer drop messages, right? <o:p><=
/o:p></span></p>
<p class=3D"MsoNormal"><b><i><span style=3D"font-size:11.0pt;font-family:&q=
uot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D">[BoB] If you refer =
to the sentence marked in red above, it was intended to highlight a fact th=
at was there already before this draft, not to specifically
 allow something that was previously disallowed. Maybe that sentence could =
be changed into something like &#8220;An RTP stream sender who likes to pau=
se itself can often simply do it, but sometimes this will adversely affect =
the receiver and an explicit indication
 that the RTP stream is paused may then help&#8221;?</span></i></b><span st=
yle=3D"font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;"><o:p></o:p><=
/span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Calibri&quot;,&quot=
;sans-serif&quot;"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><b><i><span style=3D"font-size:11.0pt;font-family:&q=
uot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D">[BA] That would be =
helpful, yes.&nbsp;</span></i></b><span style=3D"font-family:&quot;Calibri&=
quot;,&quot;sans-serif&quot;"><o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Calibri&quot;,&quot=
;sans-serif&quot;"><br>
&nbsp;<br>
Section 4.4<br>
&nbsp;<br>
An RTP stream sender should not pause an SSRC that some receiver still wish=
es to receive. The reason is that in RTP topologies where the stream is sha=
red between multiple receivers, a single receiver on that shared network, i=
ndependent of it being multicast,
 a mesh with joint RTP session or a transport Translator based, must not si=
ngle- handedly cause the stream to be paused without letting all other rece=
ivers to voice their opinions on whether or not the stream should be paused=
. A consequence of this is that
 a newly joining receiver, for example indicated by an RTCP Receiver Report=
 containing both a new SSRC and a CNAME that does not already occur in the =
session, firstly needs to learn the existence of paused streams, and second=
ly should be able to resume any
 paused stream. Any single receiver wanting to resume a stream should also =
cause it to be resumed.
<br>
&nbsp;<br>
[BA] In many simulcast and MST implementations, the centralized unit utiliz=
es sender-based congestion control, which means that it decides which strea=
ms to send based on indications from the receiver such as packet loss, etc.=
&nbsp;&nbsp; If there is substantial loss,
 the sender will adjust the streams it is sending.&nbsp; In implementations=
 where the SFU uses a distinct SSRC for each simulcast stream (as opposed t=
o using the same SSRC but adjusting the resolution/framerate), it may&nbsp;=
pause sending one SSRC and&nbsp;resume sending
 another (lower bandwidth one).&nbsp; Where MST is in use, the sender may p=
ause an enhancement layer and subsequently resume sending it when it has re=
ason to believe that there is sufficient bandwidth to handle it.&nbsp; Whet=
her receiver &quot;wishes to receive&quot; a stream
 doesn't really enter into the sender's decision if it determines that ther=
e isn't sufficient bandwidth available to send it successfully.
<o:p></o:p></span></p>
<p class=3D"MsoNormal"><b><i><span style=3D"font-size:11.0pt;font-family:&q=
uot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D">[BoB] Fully agree t=
hat bandwidth availability has higher precedence than any receiver&#8217;s =
wishes. This is a typical case where &#8220;local considerations&#8221; ove=
rride
 RTP stream receivers, as described in section 5.4. That is also one of the=
 very reasons to include the REFUSED indication in the draft. This scenario=
 is also viable when using TMMBR/TMMBN; a RESUME signaled through TMMBR&gt;=
0 can be REFUSED using TMMBN 0 (likely
 indicating the RTP stream sender itself owning the bitrate restriction), a=
s described in section 5.5. I realize that the text is not clear on using t=
he RTP stream sender&#8217;s own SSRC as the one owning the restriction in =
TMMBR/TMMBN signaling whenever &#8220;local
 considerations&#8221; apply, which I believe is useful here. I should prob=
ably add text about that in a few places. Agree?</span></i></b><span style=
=3D"font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;"><o:p></o:p></sp=
an></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Calibri&quot;,&quot=
;sans-serif&quot;"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><b><i><span style=3D"font-size:11.0pt;font-family:&q=
uot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D">[BA] Yes, I agree.&=
nbsp;</span></i></b><span style=3D"font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;"><o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Calibri&quot;,&quot=
;sans-serif&quot;"><br>
&nbsp;<br>
<span class=3D"h3">&nbsp;</span><o:p></o:p></span></p>
<h3><span style=3D"font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;">=
&nbsp;<o:p></o:p></span></h3>
<p class=3D"MsoNormal"><span class=3D"h3"><span style=3D"font-family:&quot;=
Calibri&quot;,&quot;sans-serif&quot;">&nbsp;</span></span><span style=3D"fo=
nt-family:&quot;Calibri&quot;,&quot;sans-serif&quot;"><br>
<br>
&nbsp;<o:p></o:p></span></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>

--_000_BBE9739C2C302046BD34B42713A1E2A22E2D1751ESESSMB105erics_--

--_004_BBE9739C2C302046BD34B42713A1E2A22E2D1751ESESSMB105erics_
Content-Type: text/plain;
	name="draft-ietf-avtext-rtp-stream-pause-03-DRAFT4.txt"
Content-Description: draft-ietf-avtext-rtp-stream-pause-03-DRAFT4.txt
Content-Disposition: attachment;
	filename="draft-ietf-avtext-rtp-stream-pause-03-DRAFT4.txt"; size=114011;
	creation-date="Fri, 19 Sep 2014 14:50:34 GMT";
	modification-date="Fri, 19 Sep 2014 14:50:34 GMT"
Content-Transfer-Encoding: base64

DQoNCg0KDQpOZXR3b3JrIFdvcmtpbmcgR3JvdXAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBCLiBCdXJtYW4NCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBLiBBa3JhbQ0KVXBkYXRlczogNTEwNCAo
aWYgYXBwcm92ZWQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVyaWNzc29u
DQpJbnRlbmRlZCBzdGF0dXM6IFN0YW5kYXJkcyBUcmFjayAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFIuIEV2ZW4NCkV4cGlyZXM6IE1hcmNoIDIzLCAyMDE1ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgSHVhd2VpIFRlY2hub2xvZ2llcw0KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNLiBXZXN0ZXJsdW5kDQogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgRXJpY3Nzb24NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFNlcHRlbWJlciAxOSwgMjAxNA0KDQoNCiAgICAgICAgICAgICAgICAgICAgICBS
VFAgU3RyZWFtIFBhdXNlIGFuZCBSZXN1bWUNCiAgICAgICAgICAgICAgICAgZHJhZnQtaWV0Zi1h
dnRleHQtcnRwLXN0cmVhbS1wYXVzZS0wMw0KDQpBYnN0cmFjdA0KDQogICBXaXRoIHRoZSBpbmNy
ZWFzZWQgcG9wdWxhcml0eSBvZiByZWFsLXRpbWUgbXVsdGltZWRpYSBhcHBsaWNhdGlvbnMsDQog
ICBpdCBpcyBkZXNpcmFibGUgdG8gcHJvdmlkZSBnb29kIGNvbnRyb2wgb2YgcmVzb3VyY2UgdXNh
Z2UsIGFuZCB1c2Vycw0KICAgYWxzbyBkZW1hbmQgbW9yZSBjb250cm9sIG92ZXIgY29tbXVuaWNh
dGlvbiBzZXNzaW9ucy4gIFRoaXMgZG9jdW1lbnQNCiAgIGRlc2NyaWJlcyBob3cgYSByZWNlaXZl
ciBpbiBhIG11bHRpbWVkaWEgY29udmVyc2F0aW9uIGNhbiBwYXVzZSBhbmQNCiAgIHJlc3VtZSBp
bmNvbWluZyBkYXRhIGZyb20gYSBzZW5kZXIgYnkgc2VuZGluZyByZWFsLXRpbWUgZmVlZGJhY2sN
CiAgIG1lc3NhZ2VzIHdoZW4gdXNpbmcgUmVhbC10aW1lIFRyYW5zcG9ydCBQcm90b2NvbCAoUlRQ
KSBmb3IgcmVhbCB0aW1lDQogICBkYXRhIHRyYW5zcG9ydC4gIFRoaXMgZG9jdW1lbnQgZXh0ZW5k
cyB0aGUgQ29kZWMgQ29udHJvbCBNZXNzYWdlcw0KICAgKENDTSkgUlRDUCBmZWVkYmFjayBwYWNr
YWdlIGJ5IGV4cGxpY2l0bHkgYWxsb3dpbmcgYW5kIGRlc2NyaWJpbmcNCiAgIHNwZWNpZmljIHVz
ZSBvZiBleGlzdGluZyBDQ00gbWVzc2FnZXMgYW5kIGFkZGluZyBhIGdyb3VwIG9mIG5ldyByZWFs
LQ0KICAgdGltZSBmZWVkYmFjayBtZXNzYWdlcyB1c2VkIHRvIHBhdXNlIGFuZCByZXN1bWUgUlRQ
IGRhdGEgc3RyZWFtcy4NCiAgIFRoaXMgZG9jdW1lbnQgdXBkYXRlcyBSRkMgNTEwNC4NCg0KU3Rh
dHVzIG9mIFRoaXMgTWVtbw0KDQogICBUaGlzIEludGVybmV0LURyYWZ0IGlzIHN1Ym1pdHRlZCBp
biBmdWxsIGNvbmZvcm1hbmNlIHdpdGggdGhlDQogICBwcm92aXNpb25zIG9mIEJDUCA3OCBhbmQg
QkNQIDc5Lg0KDQogICBJbnRlcm5ldC1EcmFmdHMgYXJlIHdvcmtpbmcgZG9jdW1lbnRzIG9mIHRo
ZSBJbnRlcm5ldCBFbmdpbmVlcmluZw0KICAgVGFzayBGb3JjZSAoSUVURikuICBOb3RlIHRoYXQg
b3RoZXIgZ3JvdXBzIG1heSBhbHNvIGRpc3RyaWJ1dGUNCiAgIHdvcmtpbmcgZG9jdW1lbnRzIGFz
IEludGVybmV0LURyYWZ0cy4gIFRoZSBsaXN0IG9mIGN1cnJlbnQgSW50ZXJuZXQtDQogICBEcmFm
dHMgaXMgYXQgaHR0cDovL2RhdGF0cmFja2VyLmlldGYub3JnL2RyYWZ0cy9jdXJyZW50Ly4NCg0K
ICAgSW50ZXJuZXQtRHJhZnRzIGFyZSBkcmFmdCBkb2N1bWVudHMgdmFsaWQgZm9yIGEgbWF4aW11
bSBvZiBzaXggbW9udGhzDQogICBhbmQgbWF5IGJlIHVwZGF0ZWQsIHJlcGxhY2VkLCBvciBvYnNv
bGV0ZWQgYnkgb3RoZXIgZG9jdW1lbnRzIGF0IGFueQ0KICAgdGltZS4gIEl0IGlzIGluYXBwcm9w
cmlhdGUgdG8gdXNlIEludGVybmV0LURyYWZ0cyBhcyByZWZlcmVuY2UNCiAgIG1hdGVyaWFsIG9y
IHRvIGNpdGUgdGhlbSBvdGhlciB0aGFuIGFzICJ3b3JrIGluIHByb2dyZXNzLiINCg0KICAgVGhp
cyBJbnRlcm5ldC1EcmFmdCB3aWxsIGV4cGlyZSBvbiBNYXJjaCAyMywgMjAxNS4NCg0KDQoNCg0K
DQoNCg0KDQpCdXJtYW4sIGV0IGFsLiAgICAgICAgICAgRXhwaXJlcyBNYXJjaCAyMywgMjAxNSAg
ICAgICAgICAgICAgICAgW1BhZ2UgMV0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgICBS
VFAgU3RyZWFtIFBhdXNlICAgICAgICAgICAgICBTZXB0ZW1iZXIgMjAxNA0KDQoNCkNvcHlyaWdo
dCBOb3RpY2UNCg0KICAgQ29weXJpZ2h0IChjKSAyMDE0IElFVEYgVHJ1c3QgYW5kIHRoZSBwZXJz
b25zIGlkZW50aWZpZWQgYXMgdGhlDQogICBkb2N1bWVudCBhdXRob3JzLiAgQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4NCg0KICAgVGhpcyBkb2N1bWVudCBpcyBzdWJqZWN0IHRvIEJDUCA3OCBhbmQgdGhl
IElFVEYgVHJ1c3QncyBMZWdhbA0KICAgUHJvdmlzaW9ucyBSZWxhdGluZyB0byBJRVRGIERvY3Vt
ZW50cw0KICAgKGh0dHA6Ly90cnVzdGVlLmlldGYub3JnL2xpY2Vuc2UtaW5mbykgaW4gZWZmZWN0
IG9uIHRoZSBkYXRlIG9mDQogICBwdWJsaWNhdGlvbiBvZiB0aGlzIGRvY3VtZW50LiAgUGxlYXNl
IHJldmlldyB0aGVzZSBkb2N1bWVudHMNCiAgIGNhcmVmdWxseSwgYXMgdGhleSBkZXNjcmliZSB5
b3VyIHJpZ2h0cyBhbmQgcmVzdHJpY3Rpb25zIHdpdGggcmVzcGVjdA0KICAgdG8gdGhpcyBkb2N1
bWVudC4gIENvZGUgQ29tcG9uZW50cyBleHRyYWN0ZWQgZnJvbSB0aGlzIGRvY3VtZW50IG11c3QN
CiAgIGluY2x1ZGUgU2ltcGxpZmllZCBCU0QgTGljZW5zZSB0ZXh0IGFzIGRlc2NyaWJlZCBpbiBT
ZWN0aW9uIDQuZSBvZg0KICAgdGhlIFRydXN0IExlZ2FsIFByb3Zpc2lvbnMgYW5kIGFyZSBwcm92
aWRlZCB3aXRob3V0IHdhcnJhbnR5IGFzDQogICBkZXNjcmliZWQgaW4gdGhlIFNpbXBsaWZpZWQg
QlNEIExpY2Vuc2UuDQoNClRhYmxlIG9mIENvbnRlbnRzDQoNCiAgIDEuICBJbnRyb2R1Y3Rpb24g
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAgMw0KICAg
Mi4gIERlZmluaXRpb25zIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gICA0DQogICAgIDIuMS4gIEFiYnJldmlhdGlvbnMgLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgIDQNCiAgICAgMi4yLiAgVGVybWlub2xvZ3kgLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAgNg0KICAgICAyLjMu
ICBSZXF1aXJlbWVudHMgTGFuZ3VhZ2UgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gICA3DQogICAzLiAgVXNlIENhc2VzIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAgIDcNCiAgICAgMy4xLiAgUG9pbnQgdG8gUG9pbnQgIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAgNw0KICAgICAzLjIuICBSVFAg
TWl4ZXIgdG8gTWVkaWEgU2VuZGVyIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gICA4
DQogICAgIDMuMy4gIFJUUCBNaXhlciB0byBNZWRpYSBTZW5kZXIgaW4gUG9pbnQtdG8tTXVsdGlw
b2ludCAgLiAuIC4gLiAgIDkNCiAgICAgMy40LiAgTWVkaWEgUmVjZWl2ZXIgdG8gUlRQIE1peGVy
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAxMA0KICAgICAzLjUuICBNZWRpYSBSZWNl
aXZlciB0byBNZWRpYSBTZW5kZXIgQWNyb3NzIFJUUCBNaXhlciAuIC4gLiAuIC4gIDEwDQogICA0
LiAgRGVzaWduIENvbnNpZGVyYXRpb25zIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAgMTANCiAgICAgNC4xLiAgUmVhbC10aW1lIE5hdHVyZSAgLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAxMQ0KICAgICA0LjIuICBNZXNzYWdlIERpcmVjdGlv
biAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDExDQogICAgIDQuMy4g
IEFwcGx5IHRvIEluZGl2aWR1YWwgU291cmNlcyAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAgMTENCiAgICAgNC40LiAgQ29uc2Vuc3VzIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuICAxMQ0KICAgICA0LjUuICBNZXNzYWdlIEFja25vd2xlZGdtZW50
cyAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDEyDQogICAgIDQuNi4gIFJldHJh
bnNtaXR0aW5nIFJlcXVlc3RzIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMTIN
CiAgICAgNC43LiAgU2VxdWVuY2UgTnVtYmVyaW5nICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuICAxMg0KICAgICA0LjguICBSZWxhdGlvbiB0byBPdGhlciBTb2x1dGlvbnMg
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDEzDQogICA1LiAgU29sdXRpb24gT3ZlcnZp
ZXcgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMTMNCiAgICAg
NS4xLiAgRXhwcmVzc2luZyBDYXBhYmlsaXR5IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuICAxNA0KICAgICA1LjIuICBSZXF1ZXN0aW5nIHRvIFBhdXNlIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDE0DQogICAgIDUuMy4gIE1lZGlhIFNlbmRlciBQYXVz
aW5nICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMTYNCiAgICAgNS40LiAg
UmVxdWVzdGluZyB0byBSZXN1bWUgIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
ICAxNw0KICAgICA1LjUuICBUTU1CUi9UTU1CTiBDb25zaWRlcmF0aW9ucyAgLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gIDE4DQogICA2LiAgUGFydGljaXBhbnQgU3RhdGVzICAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMTkNCiAgICAgNi4xLiAgUGxheWlu
ZyBTdGF0ZSAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAxOQ0K
ICAgICA2LjIuICBQYXVzaW5nIFN0YXRlIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gIDIwDQogICAgIDYuMy4gIFBhdXNlZCBTdGF0ZSAgLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMjANCiAgICAgICA2LjMuMS4gIFJUQ1AgQllF
IE1lc3NhZ2UgIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAyMQ0KDQoNCg0K
QnVybWFuLCBldCBhbC4gICAgICAgICAgIEV4cGlyZXMgTWFyY2ggMjMsIDIwMTUgICAgICAgICAg
ICAgICAgIFtQYWdlIDJdDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICAgUlRQIFN0cmVh
bSBQYXVzZSAgICAgICAgICAgICAgU2VwdGVtYmVyIDIwMTQNCg0KDQogICAgICAgNi4zLjIuICBT
U1JDIFRpbWUtb3V0IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMjEN
CiAgICAgNi40LiAgTG9jYWwgUGF1c2VkIFN0YXRlICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuICAyMQ0KICAgNy4gIE1lc3NhZ2UgRm9ybWF0ICAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDIyDQogICA4LiAgTWVzc2FnZSBEZXRhaWxz
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMjQNCiAgICAg
OC4xLiAgUEFVU0UgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuICAyNA0KICAgICA4LjIuICBQQVVTRUQgIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDI1DQogICAgIDguMy4gIFJFU1VNRSAgLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMjYNCiAgICAgOC40LiAg
UkVGVVNFRCAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
ICAyNw0KICAgICA4LjUuICBUcmFuc21pc3Npb24gUnVsZXMgIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gIDI3DQogICA5LiAgU2lnbmFsaW5nIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMjgNCiAgICAgOS4xLiAgT2ZmZXIt
QW5zd2VyIFVzZSAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAzMQ0K
ICAgICA5LjIuICBEZWNsYXJhdGl2ZSBVc2UgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gIDMyDQogICAxMC4gRXhhbXBsZXMgIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMzINCiAgICAgMTAuMS4gIE9mZmVyLUFuc3dl
ciAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAzMg0KICAgICAx
MC4yLiAgUG9pbnQtdG8tUG9pbnQgU2Vzc2lvbiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gIDM0DQogICAgIDEwLjMuICBQb2ludC10by1NdWx0aXBvaW50IHVzaW5nIE1peGVyICAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMzcNCiAgICAgMTAuNC4gIFBvaW50LXRvLU11bHRpcG9p
bnQgdXNpbmcgVHJhbnNsYXRvciAuIC4gLiAuIC4gLiAuIC4gLiAuICAzOQ0KICAgMTEuIElBTkEg
Q29uc2lkZXJhdGlvbnMgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
IDQyDQogICAxMi4gU2VjdXJpdHkgQ29uc2lkZXJhdGlvbnMgLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAgNDMNCiAgIDEzLiBDb250cmlidXRvcnMgIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICA0Mw0KICAgMTQuIEFja25vd2xlZGdl
bWVudHMgIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDQzDQog
ICAxNS4gUmVmZXJlbmNlcyAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAgNDQNCiAgICAgMTUuMS4gIE5vcm1hdGl2ZSBSZWZlcmVuY2VzIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICA0NA0KICAgICAxNS4yLiAgSW5mb3JtYXRpdmUg
UmVmZXJlbmNlcyAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDQ0DQogICBBcHBl
bmRpeCBBLiAgQ2hhbmdlcyBGcm9tIEVhcmxpZXIgVmVyc2lvbnMgIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAgNDUNCiAgICAgQS4xLiAgTW9kaWZpY2F0aW9ucyBCZXR3ZWVuIFZlcnNpb24gLTAyIGFu
ZCAtMDMgLiAuIC4gLiAuIC4gLiAuICA0NQ0KICAgICBBLjIuICBNb2RpZmljYXRpb25zIEJldHdl
ZW4gVmVyc2lvbiAtMDEgYW5kIC0wMiAuIC4gLiAuIC4gLiAuIC4gIDQ2DQogICAgIEEuMy4gIE1v
ZGlmaWNhdGlvbnMgQmV0d2VlbiBWZXJzaW9uIC0wMCBhbmQgLTAxIC4gLiAuIC4gLiAuIC4gLiAg
NDYNCiAgIEF1dGhvcnMnIEFkZHJlc3NlcyAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuICA0Ng0KDQoxLiAgSW50cm9kdWN0aW9uDQoNCiAgIEFzIHJlYWwtdGlt
ZSBjb21tdW5pY2F0aW9uIGF0dHJhY3RzIG1vcmUgcGVvcGxlLCBtb3JlIGFwcGxpY2F0aW9ucw0K
ICAgYXJlIGNyZWF0ZWQ7IG11bHRpbWVkaWEgY29udmVyc2F0aW9uIGFwcGxpY2F0aW9ucyBiZWlu
ZyBvbmUgZXhhbXBsZS4NCiAgIE11bHRpbWVkaWEgY29udmVyc2F0aW9uIGZ1cnRoZXIgZXhpc3Rz
IGluIG1hbnkgZm9ybXMsIGZvciBleGFtcGxlLA0KICAgcGVlci10by1wZWVyIGNoYXQgYXBwbGlj
YXRpb24gYW5kIG11bHRpcGFydHkgdmlkZW8gY29uZmVyZW5jaW5nDQogICBjb250cm9sbGVkIGJ5
IGNlbnRyYWwgbWVkaWEgbm9kZXMsIHN1Y2ggYXMgUlRQIE1peGVycy4NCg0KICAgTXVsdGltZWRp
YSBjb25mZXJlbmNpbmcgbWF5IGludm9sdmUgbWFueSBwYXJ0aWNpcGFudHM7IGVhY2ggaGFzIGl0
cw0KICAgb3duIHByZWZlcmVuY2VzIGZvciB0aGUgY29tbXVuaWNhdGlvbiBzZXNzaW9uLCBub3Qg
b25seSBhdCB0aGUgc3RhcnQNCiAgIGJ1dCBhbHNvIGR1cmluZyB0aGUgc2Vzc2lvbi4gIFRoaXMg
ZG9jdW1lbnQgZGVzY3JpYmVzIHNldmVyYWwNCiAgIHNjZW5hcmlvcyBpbiBtdWx0aW1lZGlhIGNv
bW11bmljYXRpb24gd2hlcmUgYSBjb25mZXJlbmNpbmcgbm9kZSBvcg0KICAgcGFydGljaXBhbnQg
Y2hvb3NlcyB0byB0ZW1wb3JhcmlseSBwYXVzZSBhbiBpbmNvbWluZyBSVFAgW1JGQzM1NTBdDQog
ICBzdHJlYW0gYW5kIGxhdGVyIHJlc3VtZSBpdCB3aGVuIG5lZWRlZC4gIFRoZSByZWNlaXZlciBk
b2VzIG5vdCBuZWVkDQogICB0byB0ZXJtaW5hdGUgb3IgaW5hY3RpdmF0ZSB0aGUgUlRQIHNlc3Np
b24gYW5kIHN0YXJ0IGFsbCBvdmVyIGFnYWluDQogICBieSBuZWdvdGlhdGluZyB0aGUgc2Vzc2lv
biBwYXJhbWV0ZXJzLCBmb3IgZXhhbXBsZSB1c2luZyBTSVANCiAgIFtSRkMzMjYxXSB3aXRoIFNE
UCBPZmZlci9BbnN3ZXIgW1JGQzMyNjRdLg0KDQoNCg0KDQpCdXJtYW4sIGV0IGFsLiAgICAgICAg
ICAgRXhwaXJlcyBNYXJjaCAyMywgMjAxNSAgICAgICAgICAgICAgICAgW1BhZ2UgM10NCgwNCklu
dGVybmV0LURyYWZ0ICAgICAgICAgICAgICBSVFAgU3RyZWFtIFBhdXNlICAgICAgICAgICAgICBT
ZXB0ZW1iZXIgMjAxNA0KDQoNCiAgIENlbnRyYWxpemVkIG5vZGVzLCBsaWtlIFJUUCBNaXhlcnMg
b3IgTUNVcywgd2hpY2ggZWl0aGVyIHVzZXMgbG9naWMNCiAgIGJhc2VkIG9uIHZvaWNlIGFjdGl2
aXR5LCBvdGhlciBtZWFzdXJlbWVudHMsIG9yIHVzZXIgaW5wdXQgY291bGQNCiAgIHJlZHVjZSB0
aGUgcmVzb3VyY2VzIGNvbnN1bWVkIGluIGJvdGggdGhlIHNlbmRlciBhbmQgdGhlIG5ldHdvcmsg
YnkNCiAgIHRlbXBvcmFyaWx5IHBhdXNpbmcgdGhlIFJUUCBzdHJlYW1zIHRoYXQgYXJlbid0IHJl
cXVpcmVkIGJ5IHRoZSBSVFANCiAgIE1peGVyLiAgSWYgdGhlIG51bWJlciBvZiBjb25mZXJlbmNl
IHBhcnRpY2lwYW50cyBhcmUgZ3JlYXRlciB0aGFuDQogICB3aGF0IHRoZSBjb25mZXJlbmNlIGxv
Z2ljIGhhcyBjaG9zZW4gdG8gcHJlc2VudCBzaW11bHRhbmVvdXNseSB0bw0KICAgcmVjZWl2aW5n
IHBhcnRpY2lwYW50cywgc29tZSBwYXJ0aWNpcGFudCBSVFAgc3RyZWFtcyBzZW50IHRvIHRoZSBS
VFANCiAgIE1peGVyIG1heSBub3QgbmVlZCB0byBiZSBmb3J3YXJkZWQgdG8gYW55IG90aGVyIHBh
cnRpY2lwYW50LiAgVGhvc2UNCiAgIFJUUCBzdHJlYW1zIGNvdWxkIHRoZW4gYmUgdGVtcG9yYXJp
bHkgcGF1c2VkLiAgVGhpcyBiZWNvbWVzDQogICBlc3BlY2lhbGx5IHVzZWZ1bCB3aGVuIHRoZSBt
ZWRpYSBzb3VyY2VzIGFyZSBwcm92aWRlZCBpbiBtdWx0aXBsZQ0KICAgZW5jb2RpbmcgdmVyc2lv
bnMgKFNpbXVsY2FzdCkgW0ktRC53ZXN0ZXJsdW5kLWF2dGNvcmUtcnRwLXNpbXVsY2FzdF0NCiAg
IG9yIHdpdGggTXVsdGktU2Vzc2lvbiBUcmFuc21pc3Npb24gKE1TVCkgb2Ygc2NhbGFibGUgZW5j
b2Rpbmcgc3VjaCBhcw0KICAgU1ZDIFtSRkM2MTkwXS4gIFRoZXJlIG1heSBiZSBzb21lIG9mIHRo
ZSBkZWZpbmVkIGVuY29kaW5ncyBvcg0KICAgY29tYmluYXRpb24gb2Ygc2NhbGFibGUgbGF5ZXJz
IHRoYXQgYXJlIG5vdCB1c2VkIG9yIGNhbm5vdCBiZSB1c2VkDQogICBhbGwgb2YgdGhlIHRpbWUs
IGZvciBleGFtcGxlIGR1ZSB0byB0ZW1wb3JhcmlseSBsaW1pdGVkIG5ldHdvcmsgb3INCiAgIHBy
b2Nlc3NpbmcgcmVzb3VyY2VzLCBhbmQgYSBjZW50cmFsaXplZCBub2RlIG1heSBjaG9vc2UgdG8g
cGF1c2Ugc3VjaA0KICAgUlRQIHN0cmVhbXMgd2l0aG91dCBiZWluZyByZXF1ZXN0ZWQgdG8gZG8g
c28sIGJ1dCBhbnl3YXkgc2VuZCBhbg0KICAgZXhwbGljaXQgaW5kaWNhdGlvbiB0aGF0IHRoZSBz
dHJlYW0gaXMgcGF1c2VkLg0KDQogICBBcyB0aGUgUlRQIHN0cmVhbXMgcmVxdWlyZWQgYXQgYW55
IGdpdmVuIHBvaW50IGluIHRpbWUgaXMgaGlnaGx5DQogICBkeW5hbWljIGluIHN1Y2ggc2NlbmFy
aW9zLCB1c2luZyB0aGUgb3V0LW9mLWJhbmQgc2lnbmFsaW5nIGNoYW5uZWwNCiAgIGZvciBwYXVz
aW5nLCBhbmQgZXZlbiBtb3JlIGltcG9ydGFudGx5IHJlc3VtaW5nLCBhbiBSVFAgc3RyZWFtIGlz
DQogICBkaWZmaWN1bHQgZHVlIHRvIHRoZSBwZXJmb3JtYW5jZSByZXF1aXJlbWVudHMuICBJbnN0
ZWFkLCB0aGUgcGF1c2UNCiAgIGFuZCByZXN1bWUgc2lnbmFsaW5nIHNob3VsZCBiZSBpbiB0aGUg
bWVkaWEgcGxhbmUgYW5kIGdvIGRpcmVjdGx5DQogICBiZXR3ZWVuIHRoZSBhZmZlY3RlZCBub2Rl
cy4gIFdoZW4gdXNpbmcgUlRQIFtSRkMzNTUwXSBmb3IgbWVkaWENCiAgIHRyYW5zcG9ydCwgdXNp
bmcgRXh0ZW5kZWQgUlRQIFByb2ZpbGUgZm9yIFJlYWwtdGltZSBUcmFuc3BvcnQgQ29udHJvbA0K
ICAgUHJvdG9jb2wgKFJUQ1ApLUJhc2VkIEZlZWRiYWNrIChSVFAvQVZQRikgW1JGQzQ1ODVdIGFw
cGVhcnMNCiAgIGFwcHJvcHJpYXRlLiAgTm8gY3VycmVudGx5IGV4aXN0aW5nIFJUQ1AgZmVlZGJh
Y2sgbWVzc2FnZSBleHBsaWNpdGx5DQogICBzdXBwb3J0cyBwYXVzaW5nIGFuZCByZXN1bWluZyBh
biBpbmNvbWluZyBSVFAgc3RyZWFtLiAgQXMgdGhpcw0KICAgYWZmZWN0cyB0aGUgZ2VuZXJhdGlv
biBvZiBwYWNrZXRzIGFuZCBtYXkgZXZlbiBhbGxvdyB0aGUgZW5jb2RpbmcNCiAgIHByb2Nlc3Mg
dG8gYmUgcGF1c2VkLCB0aGUgZnVuY3Rpb25hbGl0eSBhcHBlYXJzIHRvIG1hdGNoIENvZGVjDQog
ICBDb250cm9sIE1lc3NhZ2VzIGluIHRoZSBSVFAgQXVkaW8tVmlzdWFsIFByb2ZpbGUgd2l0aCBG
ZWVkYmFjayAoQVZQRikNCiAgIFtSRkM1MTA0XSBhbmQgaXQgaXMgcHJvcG9zZWQgdG8gZGVmaW5l
IHRoZSBzb2x1dGlvbiBhcyBhIENvZGVjDQogICBDb250cm9sIE1lc3NhZ2UgKENDTSkgZXh0ZW5z
aW9uLg0KDQogICBUaGUgVGVtcG9yYXJ5IE1heGltdW0gTWVkaWEgQml0cmF0ZSBSZXF1ZXN0IChU
TU1CUikgbWVzc2FnZSBvZiBDQ00gaXMNCiAgIHVzZWQgYnkgdmlkZW8gY29uZmVyZW5jaW5nIHN5
c3RlbXMgZm9yIGZsb3cgY29udHJvbC4gIEl0IGlzIGRlc2lyYWJsZQ0KICAgdG8gYmUgYWJsZSB0
byB1c2UgdGhhdCBtZXRob2Qgd2l0aCBhIGJpdHJhdGUgdmFsdWUgb2YgemVybyBmb3IgcGF1c2Us
DQogICB3aGVuZXZlciBwb3NzaWJsZS4NCg0KMi4gIERlZmluaXRpb25zDQoNCjIuMS4gIEFiYnJl
dmlhdGlvbnMNCg0KICAgM0dQUDogIDNyZCBHZW5lcmF0aW9uIFBhcnRuZXJzaGlwIFByb2plY3QN
Cg0KICAgQVZQRjogIEF1ZGlvLVZpc3VhbCBQcm9maWxlIHdpdGggRmVlZGJhY2sgKFJGQyA0NTg1
KQ0KDQoNCg0KDQpCdXJtYW4sIGV0IGFsLiAgICAgICAgICAgRXhwaXJlcyBNYXJjaCAyMywgMjAx
NSAgICAgICAgICAgICAgICAgW1BhZ2UgNF0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAg
ICBSVFAgU3RyZWFtIFBhdXNlICAgICAgICAgICAgICBTZXB0ZW1iZXIgMjAxNA0KDQoNCiAgIEJH
VzogIEJvcmRlciBHYXRld2F5DQoNCiAgIENDTTogIENvZGVjIENvbnRyb2wgTWVzc2FnZXMgKFJG
QyA1MTA0KQ0KDQogICBDTkFNRTogIENhbm9uaWNhbCBOYW1lIChSVENQIFNERVMpDQoNCiAgIENT
UkM6ICBDb250cmlidXRpbmcgU291cmNlIChSVFApDQoNCiAgIEZCOiAgRmVlZGJhY2sgKEFWUEYp
DQoNCiAgIEZDSTogIEZlZWRiYWNrIENvbnRyb2wgSW5mb3JtYXRpb24gKEFWUEYpDQoNCiAgIEZJ
UjogIEZ1bGwgSW50cmEgUmVmcmVzaCAoQ0NNKQ0KDQogICBGTVQ6ICBGZWVkYmFjayBNZXNzYWdl
IFR5cGUgKEFWUEYpDQoNCiAgIExURTogIExvbmctVGVybSBFdm9sdXRpb24gKDNHUFApDQoNCiAg
IE1DVTogIE11bHRpcG9pbnQgQ29udHJvbCBVbml0DQoNCiAgIE1UVTogIE1heGltdW0gVHJhbnNm
ZXIgVW5pdA0KDQogICBQVDogIFBheWxvYWQgVHlwZSAoUlRQKQ0KDQogICBSVFA6ICBSZWFsLXRp
bWUgVHJhbnNwb3J0IFByb3RvY29sIChSRkMgMzU1MCkNCg0KICAgUlRDUDogIFJUUCBDb250cm9s
IFByb3RvY29sIChSRkMgMzU1MCkNCg0KICAgUlRDUCBSUjogIFJUQ1AgUmVjZWl2ZXIgUmVwb3J0
DQoNCiAgIFNEUDogIFNlc3Npb24gRGVzY3JpcHRpb24gUHJvdG9jb2wgKFJGQyA0NTY2KQ0KDQog
ICBTR1c6ICBTaWduYWxpbmcgR2F0ZXdheQ0KDQogICBTSVA6ICBTZXNzaW9uIEluaXRpYXRpb24g
UHJvdG9jb2wgKFJGQyAzMjYxKQ0KDQogICBTU1JDOiAgU3luY2hyb25pemF0aW9uIFNvdXJjZSAo
UlRQKQ0KDQogICBTVkM6ICBTY2FsYWJsZSBWaWRlbyBDb2RpbmcNCg0KICAgVENQOiAgVHJhbnNt
aXNzaW9uIENvbnRyb2wgUHJvdG9jb2wgKFJGQyA3OTMpDQoNCiAgIFRNTUJSOiAgVGVtcG9yYXJ5
IE1heGltdW0gTWVkaWEgQml0cmF0ZSBSZXF1ZXN0IChDQ00pDQoNCiAgIFRNTUJOOiAgVGVtcG9y
YXJ5IE1heGltdW0gTWVkaWEgQml0cmF0ZSBOb3RpZmljYXRpb24gKENDTSkNCg0KICAgVUE6ICBV
c2VyIEFnZW50IChTSVApDQoNCg0KDQoNCkJ1cm1hbiwgZXQgYWwuICAgICAgICAgICBFeHBpcmVz
IE1hcmNoIDIzLCAyMDE1ICAgICAgICAgICAgICAgICBbUGFnZSA1XQ0KDA0KSW50ZXJuZXQtRHJh
ZnQgICAgICAgICAgICAgIFJUUCBTdHJlYW0gUGF1c2UgICAgICAgICAgICAgIFNlcHRlbWJlciAy
MDE0DQoNCg0KICAgVURQOiAgVXNlciBEYXRhZ3JhbSBQcm90b2NvbCAoUkZDIDc2OCkNCg0KMi4y
LiAgVGVybWlub2xvZ3kNCg0KICAgSW4gYWRkaXRpb24gdG8gdGhlIGZvbGxvd2luZywgdGhlIGRl
ZmluaXRpb25zIGZyb20gUlRQIFtSRkMzNTUwXSwNCiAgIEFWUEYgW1JGQzQ1ODVdLCBDQ00gW1JG
QzUxMDRdLCBhbmQgUlRQIFRheG9ub215DQogICBbSS1ELmlldGYtYXZ0ZXh0LXJ0cC1ncm91cGlu
Zy10YXhvbm9teV0gYWxzbyBhcHBseSBpbiB0aGlzIGRvY3VtZW50Lg0KDQogICBGZWVkYmFjayBN
ZXNzYWdlczogIENDTSBbUkZDNTEwNF0gY2F0ZWdvcml6ZWQgZGlmZmVyZW50IFJUQ1AgZmVlZGJh
Y2sNCiAgICAgIG1lc3NhZ2VzIGludG8gZm91ciB0eXBlcywgUmVxdWVzdCwgQ29tbWFuZCwgSW5k
aWNhdGlvbiBhbmQNCiAgICAgIE5vdGlmaWNhdGlvbi4gIFRoaXMgZG9jdW1lbnQgcGxhY2VzIHRo
ZSBQQVVTRSBhbmQgUkVTVU1FIG1lc3NhZ2VzDQogICAgICBpbnRvIFJlcXVlc3QgY2F0ZWdvcnks
IFBBVVNFRCBhcyBJbmRpY2F0aW9uIGFuZCBSRUZVU0VEIGFzDQogICAgICBOb3RpZmljYXRpb24u
DQoNCiAgICAgIFBBVVNFICBSZXF1ZXN0IGZyb20gYW4gUlRQIHN0cmVhbSByZWNlaXZlciB0byBw
YXVzZSBhIHN0cmVhbQ0KDQogICAgICBSRVNVTUUgIFJlcXVlc3QgZnJvbSBhbiBSVFAgc3RyZWFt
IHJlY2VpdmVyIHRvIHJlc3VtZSBhIHBhdXNlZA0KICAgICAgICAgc3RyZWFtDQoNCiAgICAgIFBB
VVNFRCAgSW5kaWNhdGlvbiBmcm9tIGFuIFJUUCBzdHJlYW0gc2VuZGVyIHRoYXQgYSBzdHJlYW0g
aXMNCiAgICAgICAgIHBhdXNlZA0KDQogICAgICBSRUZVU0VEICBJbmRpY2F0aW9uIGZyb20gYW4g
UlRQIHN0cmVhbSBzZW5kZXIgdGhhdCBhIFBBVVNFIG9yDQogICAgICAgICBSRVNVTUUgcmVxdWVz
dCB3aWxsIG5vdCBiZSBob25vcmVkDQoNCiAgIE1peGVyOiAgVGhlIGludGVybWVkaWF0ZSBSVFAg
bm9kZSB3aGljaCByZWNlaXZlcyBhbiBSVFAgc3RyZWFtIGZyb20NCiAgICAgIGRpZmZlcmVudCBl
bmQgcG9pbnRzLCBjb21iaW5lcyB0aGVtIHRvIG1ha2Ugb25lIFJUUCBzdHJlYW0gYW5kDQogICAg
ICBmb3J3YXJkcyB0byBkZXN0aW5hdGlvbnMsIGluIHRoZSBzZW5zZSBkZXNjcmliZWQgaW4gVG9w
by1NaXhlciBvZg0KICAgICAgUlRQIFRvcG9sb2dpZXMgW0ktRC5pZXRmLWF2dGNvcmUtcnRwLXRv
cG9sb2dpZXMtdXBkYXRlXS4NCg0KICAgUGFydGljaXBhbnQ6ICBBIG1lbWJlciB3aGljaCBpcyBw
YXJ0IG9mIGFuIFJUUCBzZXNzaW9uLCBhY3RpbmcgYXMNCiAgICAgIHJlY2VpdmVyLCBzZW5kZXIg
b3IgYm90aC4NCg0KICAgUGF1c2VkIHNlbmRlcjogIEFuIFJUUCBzdHJlYW0gc2VuZGVyIHRoYXQg
aGFzIHN0b3BwZWQgaXRzDQogICAgICB0cmFuc21pc3Npb24sIGkuZS4gbm8gb3RoZXIgcGFydGlj
aXBhbnQgcmVjZWl2ZXMgaXRzIFJUUA0KICAgICAgdHJhbnNtaXNzaW9uLCBlaXRoZXIgYmFzZWQg
b24gaGF2aW5nIHJlY2VpdmVkIGEgUEFVU0UgcmVxdWVzdCwNCiAgICAgIGRlZmluZWQgaW4gdGhp
cyBzcGVjaWZpY2F0aW9uLCBvciBiYXNlZCBvbiBhIGxvY2FsIGRlY2lzaW9uLg0KDQogICBQYXVz
aW5nIHJlY2VpdmVyOiAgQW4gUlRQIHN0cmVhbSByZWNlaXZlciB3aGljaCBzZW5kcyBhIFBBVVNF
DQogICAgICByZXF1ZXN0LCBkZWZpbmVkIGluIHRoaXMgc3BlY2lmaWNhdGlvbiwgdG8gb3RoZXIg
cGFydGljaXBhbnQocykuDQoNCiAgIFN0cmVhbTogIFVzZWQgYXMgYSBzaG9ydCB0ZXJtIGZvciBS
VFAgc3RyZWFtLCB1bmxlc3Mgb3RoZXJ3aXNlIG5vdGVkLg0KDQogICBTdHJlYW0gcmVjZWl2ZXI6
ICBTaG9ydCBmb3IgUlRQIHN0cmVhbSByZWNlaXZlcjsgdGhlIFJUUCBlbnRpdHkNCiAgICAgIHJl
c3BvbnNpYmxlIGZvciByZWNlaXZpbmcgYW4gUlRQIHN0cmVhbSwgdXN1YWxseSBhIE1lZGlhDQog
ICAgICBEZXBhY2tldGl6ZXIuDQoNCg0KDQoNCg0KQnVybWFuLCBldCBhbC4gICAgICAgICAgIEV4
cGlyZXMgTWFyY2ggMjMsIDIwMTUgICAgICAgICAgICAgICAgIFtQYWdlIDZdDQoMDQpJbnRlcm5l
dC1EcmFmdCAgICAgICAgICAgICAgUlRQIFN0cmVhbSBQYXVzZSAgICAgICAgICAgICAgU2VwdGVt
YmVyIDIwMTQNCg0KDQogICBTdHJlYW0gc2VuZGVyOiAgU2hvcnQgZm9yIFJUUCBzdHJlYW0gc2Vu
ZGVyOyB0aGUgUlRQIGVudGl0eQ0KICAgICAgcmVzcG9uc2libGUgZm9yIGNyZWF0aW5nIGFuIFJU
UCBzdHJlYW0sIHVzdWFsbHkgYSBNZWRpYQ0KICAgICAgUGFja2V0aXplci4NCg0KMi4zLiAgUmVx
dWlyZW1lbnRzIExhbmd1YWdlDQoNCiAgIFRoZSBrZXkgd29yZHMgIk1VU1QiLCAiTVVTVCBOT1Qi
LCAiUkVRVUlSRUQiLCAiU0hBTEwiLCAiU0hBTEwgTk9UIiwNCiAgICJTSE9VTEQiLCAiU0hPVUxE
IE5PVCIsICJSRUNPTU1FTkRFRCIsICJNQVkiLCBhbmQgIk9QVElPTkFMIiBpbiB0aGlzDQogICBk
b2N1bWVudCBhcmUgdG8gYmUgaW50ZXJwcmV0ZWQgYXMgZGVzY3JpYmVkIGluIFJGQyAyMTE5IFtS
RkMyMTE5XS4NCg0KMy4gIFVzZSBDYXNlcw0KDQogICBUaGlzIHNlY3Rpb24gZGlzY3Vzc2VzIHRo
ZSBtYWluIHVzZSBjYXNlcyBmb3IgUlRQIHN0cmVhbSBwYXVzZSBhbmQNCiAgIHJlc3VtZS4NCg0K
My4xLiAgUG9pbnQgdG8gUG9pbnQNCg0KICAgVGhpcyBpcyB0aGUgbW9zdCBiYXNpYyB1c2UgY2Fz
ZSB3aXRoIGFuIFJUUCBzZXNzaW9uIGNvbnRhaW5pbmcgdHdvDQogICBFbmQgUG9pbnRzLiAgRWFj
aCBFbmQgUG9pbnQgc2VuZHMgb25lIG9yIG1vcmUgc3RyZWFtcy4NCg0KICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICstLS0rICAgICAgICAgKy0tLSsNCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB8IEEgfDwtLS0tLS0tPnwgQiB8DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgKy0t
LSsgICAgICAgICArLS0tKw0KDQogICAgICAgICAgICAgICAgICAgICAgICAgRmlndXJlIDE6IFBv
aW50IHRvIFBvaW50DQoNCiAgIFRoZSB1c2FnZSBvZiBSVFAgc3RyZWFtIHBhdXNlIGluIHRoaXMg
dXNlIGNhc2UgaXMgdG8gdGVtcG9yYXJpbHkgaGFsdA0KICAgZGVsaXZlcnkgb2Ygc3RyZWFtcyB0
aGF0IHRoZSBzZW5kZXIgcHJvdmlkZXMgYnV0IHRoZSByZWNlaXZlciBkb2VzDQogICBub3QgY3Vy
cmVudGx5IHVzZS4gIFRoaXMgY2FuIGZvciBleGFtcGxlIGJlIGR1ZSB0byBtaW5pbWl6ZWQNCiAg
IGFwcGxpY2F0aW9ucyB3aGVyZSB0aGUgdmlkZW8gc3RyZWFtIGlzIG5vdCBhY3R1YWxseSBzaG93
biBvbiBhbnkNCiAgIGRpc3BsYXksIGFuZCBuZWl0aGVyIGlzIGl0IHVzZWQgaW4gYW55IG90aGVy
IHdheSwgc3VjaCBhcyBiZWluZw0KICAgcmVjb3JkZWQuDQoNCiAgIEluIHRoaXMgY2FzZSwgc2lu
Y2UgdGhlcmUgaXMgb25seSBhIHNpbmdsZSByZWNlaXZlciBvZiB0aGUgc3RyZWFtLA0KICAgcGF1
c2luZyBvciByZXN1bWluZyBhIHN0cmVhbSBkb2VzIG5vdCBpbXBhY3QgYW55b25lIGVsc2UgdGhh
biB0aGUNCiAgIHNlbmRlciBhbmQgdGhlIHNpbmdsZSByZWNlaXZlciBvZiB0aGF0IHN0cmVhbS4N
Cg0KICAgUlRDV0VCIFdHJ3MgdXNlIGNhc2UgYW5kIHJlcXVpcmVtZW50cyBkb2N1bWVudA0KICAg
W0ktRC5pZXRmLXJ0Y3dlYi11c2UtY2FzZXMtYW5kLXJlcXVpcmVtZW50c10gZGVmaW5lcyB0aGUg
Zm9sbG93aW5nDQogICBBUEkgcmVxdWlyZW1lbnRzIGluIEFwcGVuZGl4IEEsIHVzZWQgYWxzbyBi
eSBXM0MgV2ViUlRDIFdHOg0KDQogICBBOCBUaGUgV2ViIEFQSSBtdXN0IHByb3ZpZGUgbWVhbnMg
Zm9yIHRoZSB3ZWIgYXBwbGljYXRpb24gdG8gbXV0ZS8NCiAgICAgIHVubXV0ZSBhIHN0cmVhbSBv
ciBzdHJlYW0gY29tcG9uZW50KHMpLiAgV2hlbiBhIHN0cmVhbSBpcyBzZW50IHRvDQogICAgICBh
IHBlZXIgbXV0ZSBzdGF0dXMgbXVzdCBiZSBwcmVzZXJ2ZWQgaW4gdGhlIHN0cmVhbSByZWNlaXZl
ZCBieSB0aGUNCiAgICAgIHBlZXIuDQoNCiAgIEE5IFRoZSBXZWIgQVBJIG11c3QgcHJvdmlkZSBt
ZWFucyBmb3IgdGhlIHdlYiBhcHBsaWNhdGlvbiB0byBjZWFzZQ0KICAgICAgdGhlIHNlbmRpbmcg
b2YgYSBzdHJlYW0gdG8gYSBwZWVyLg0KDQoNCg0KQnVybWFuLCBldCBhbC4gICAgICAgICAgIEV4
cGlyZXMgTWFyY2ggMjMsIDIwMTUgICAgICAgICAgICAgICAgIFtQYWdlIDddDQoMDQpJbnRlcm5l
dC1EcmFmdCAgICAgICAgICAgICAgUlRQIFN0cmVhbSBQYXVzZSAgICAgICAgICAgICAgU2VwdGVt
YmVyIDIwMTQNCg0KDQogICBUaGlzIG1lbW8gcHJvdmlkZXMgbWVhbnMgdG8gb3B0aW1pemUgdHJh
bnNwb3J0IHVzYWdlIGJ5IHN0b3Agc2VuZGluZw0KICAgbXV0ZWQgc3RyZWFtcyBhbmQgc3RhcnQg
c2VuZGluZyBhZ2FpbiB3aGVuIHVubXV0aW5nLg0KDQozLjIuICBSVFAgTWl4ZXIgdG8gTWVkaWEg
U2VuZGVyDQoNCiAgIE9uZSBvZiB0aGUgbW9zdCBjb21tb25seSB1c2VkIHRvcG9sb2dpZXMgaW4g
Y2VudHJhbGl6ZWQgY29uZmVyZW5jaW5nDQogICBpcyBiYXNlZCBvbiB0aGUgUlRQIE1peGVyIFtJ
LUQuaWV0Zi1hdnRjb3JlLXJ0cC10b3BvbG9naWVzLXVwZGF0ZV0uDQogICBUaGUgbWFpbiByZWFz
b24gZm9yIHRoaXMgaXMgdGhhdCBpdCBwcm92aWRlcyBhIHZlcnkgY29uc2lzdGVudCB2aWV3DQog
ICBvZiB0aGUgUlRQIHNlc3Npb24gdG93YXJkcyBlYWNoIHBhcnRpY2lwYW50LiAgVGhhdCBpcyBh
Y2NvbXBsaXNoZWQNCiAgIHRocm91Z2ggdGhlIE1peGVyIG9yaWdpbmF0aW5nIGl0cycgb3duIHN0
cmVhbXMsIGlkZW50aWZpZWQgYnkgU1NSQywNCiAgIGFuZCBhbnkgUlRQIHN0cmVhbXMgc2VudCB0
byB0aGUgcGFydGljaXBhbnRzIHdpbGwgYmUgc2VudCB1c2luZyB0aG9zZQ0KICAgU1NSQ3MuICBJ
ZiB0aGUgTWl4ZXIgd2FudHMgdG8gaWRlbnRpZnkgdGhlIHVuZGVybHlpbmcgbWVkaWEgc291cmNl
cw0KICAgZm9yIGl0cycgY29uY2VwdHVhbCBzdHJlYW1zLCBpdCBjYW4gaWRlbnRpZnkgdGhlbSB1
c2luZyBDU1JDLiAgVGhlDQogICBzdHJlYW0gdGhlIE1peGVyIHByb3ZpZGVzIGNhbiBiZSBhbiBh
Y3R1YWwgbWl4IG9mIG11bHRpcGxlIG1lZGlhDQogICBzb3VyY2VzLCBidXQgaXQgbWlnaHQgYWxz
byBiZSBzd2l0Y2hpbmcgcmVjZWl2ZWQgc3RyZWFtcyBhcyBkZXNjcmliZWQNCiAgIGluIFNlY3Rp
b25zIDMuNi0zLjggb2YgW0ktRC5pZXRmLWF2dGNvcmUtcnRwLXRvcG9sb2dpZXMtdXBkYXRlXS4N
Cg0KICAgICAgICAgICAgICAgICAgICArLS0tKyAgICAgICstLS0tLS0tLS0tLSsgICAgICArLS0t
Kw0KICAgICAgICAgICAgICAgICAgICB8IEEgfDwtLS0tPnwgICAgICAgICAgIHw8LS0tLT58IEIg
fA0KICAgICAgICAgICAgICAgICAgICArLS0tKyAgICAgIHwgICAgICAgICAgIHwgICAgICArLS0t
Kw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICBNaXhlciAgIHwNCiAgICAgICAg
ICAgICAgICAgICAgKy0tLSsgICAgICB8ICAgICAgICAgICB8ICAgICAgKy0tLSsNCiAgICAgICAg
ICAgICAgICAgICAgfCBDIHw8LS0tLT58ICAgICAgICAgICB8PC0tLS0+fCBEIHwNCiAgICAgICAg
ICAgICAgICAgICAgKy0tLSsgICAgICArLS0tLS0tLS0tLS0rICAgICAgKy0tLSsNCg0KICAgICAg
ICAgICAgICAgICAgICBGaWd1cmUgMjogUlRQIE1peGVyIGluIFVuaWNhc3Qtb25seQ0KDQogICBX
aGljaCBzdHJlYW1zIHRoYXQgYXJlIGRlbGl2ZXJlZCB0byBhIGdpdmVuIHJlY2VpdmVyLCBBLCBj
YW4gZGVwZW5kDQogICBvbiBzZXZlcmFsIHRoaW5ncy4gIEl0IGNhbiBlaXRoZXIgYmUgdGhlIFJU
UCBNaXhlcidzIG93biBsb2dpYyBhbmQNCiAgIG1lYXN1cmVtZW50cyBzdWNoIGFzIHZvaWNlIGFj
dGl2aXR5IG9uIHRoZSBpbmNvbWluZyBhdWRpbyBzdHJlYW1zLg0KICAgSXQgY2FuIGJlIHRoYXQg
dGhlIG51bWJlciBvZiBzZW50IG1lZGlhIHNvdXJjZXMgZXhjZWVkIHdoYXQgaXMNCiAgIHJlYXNv
bmFibGUgdG8gcHJlc2VudCBzaW11bHRhbmVvdXNseSBhdCBhbnkgZ2l2ZW4gcmVjZWl2ZXIuICBJ
dCBjYW4NCiAgIGFsc28gYmUgYSBodW1hbiBjb250cm9sbGluZyB0aGUgY29uZmVyZW5jZSB0aGF0
IGRldGVybWluZXMgaG93IHRoZQ0KICAgbWVkaWEgc2hvdWxkIGJlIG1peGVkOyB0aGlzIHdvdWxk
IGJlIG1vcmUgY29tbW9uIGluIGxlY3R1cmUgb3INCiAgIHNpbWlsYXIgYXBwbGljYXRpb25zIHdo
ZXJlIHJlZ3VsYXIgbGlzdGVuZXJzIG1heSBiZSBwcmV2ZW50ZWQgZnJvbQ0KICAgYnJlYWtpbmcg
aW50byB0aGUgc2Vzc2lvbiB1bmxlc3MgYXBwcm92ZWQgYnkgdGhlIG1vZGVyYXRvci4gIFRoZQ0K
ICAgc3RyZWFtcyBtYXkgYWxzbyBiZSBwYXJ0IG9mIGEgU2ltdWxjYXN0DQogICBbSS1ELndlc3Rl
cmx1bmQtYXZ0Y29yZS1ydHAtc2ltdWxjYXN0XSBvciBzY2FsYWJsZSBlbmNvZGVkIChmb3INCiAg
IE11bHRpLVNlc3Npb24gVHJhbnNtaXNzaW9uKSBbUkZDNjE5MF0sIHRodXMgcHJvdmlkaW5nIG11
bHRpcGxlDQogICB2ZXJzaW9ucyB0aGF0IGNhbiBiZSBkZWxpdmVyZWQgYnkgdGhlIFJUUCBzdHJl
YW0gc2VuZGVyLiAgVGhlc2UNCiAgIGV4YW1wbGVzIGluZGljYXRlIHRoYXQgdGhlcmUgYXJlIG51
bWVyb3VzIHJlYXNvbnMgd2h5IGEgcGFydGljdWxhcg0KICAgc3RyZWFtIHdvdWxkIG5vdCBjdXJy
ZW50bHkgYmUgaW4gdXNlLCBidXQgbXVzdCBiZSBhdmFpbGFibGUgZm9yIHVzZQ0KICAgYXQgdmVy
eSBzaG9ydCBub3RpY2UgaWYgYW55IGR5bmFtaWMgZXZlbnQgb2NjdXJzIHRoYXQgY2F1c2VzIGEN
CiAgIGRpZmZlcmVudCBzdHJlYW0gc2VsZWN0aW9uIHRvIGJlIGRvbmUgaW4gdGhlIE1peGVyLg0K
DQogICBCZWNhdXNlIG9mIHRoaXMsIGl0IHdvdWxkIGJlIGhpZ2hseSBiZW5lZmljaWFsIGlmIHRo
ZSBNaXhlciBjb3VsZA0KICAgcmVxdWVzdCB0byBwYXVzZSBhIHBhcnRpY3VsYXIgc3RyZWFtIGZy
b20gYmVpbmcgZGVsaXZlcmVkIHRvIGl0LiAgSXQNCiAgIGFsc28gbmVlZHMgdG8gYmUgYWJsZSB0
byByZXN1bWUgZGVsaXZlcnkgd2l0aCBtaW5pbWFsIGRlbGF5Lg0KDQoNCg0KQnVybWFuLCBldCBh
bC4gICAgICAgICAgIEV4cGlyZXMgTWFyY2ggMjMsIDIwMTUgICAgICAgICAgICAgICAgIFtQYWdl
IDhdDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICAgUlRQIFN0cmVhbSBQYXVzZSAgICAg
ICAgICAgICAgU2VwdGVtYmVyIDIwMTQNCg0KDQogICBJbiBzb21lIGNhc2VzLCBlc3BlY2lhbGx5
IHdoZW4gdGhlIE1peGVyIHNlbmRzIG11bHRpcGxlIFJUUCBzdHJlYW1zDQogICBwZXIgcmVjZWl2
aW5nIGNsaWVudCwgdGhlcmUgbWF5IGJlIHNpdHVhdGlvbnMgdGhhdCBtYWtlcyBpdCBkZXNpcmFi
bGUNCiAgIHRvIHRoZSBNaXhlciB0byBwYXVzZSBzb21lIG9mIGl0cyBzZW50IFJUUCBzdHJlYW1z
LCBldmVuIHdpdGhvdXQNCiAgIGJlaW5nIGV4cGxpY2l0bHkgYXNrZWQgdG8gZG8gc28gYnkgdGhl
IHJlY2VpdmluZyBjbGllbnQuICBTdWNoDQogICBzaXR1YXRpb25zIGNhbiBmb3IgZXhhbXBsZSBi
ZSBjYXVzZWQgYnkgYSB0ZW1wb3JhcnkgbGFjayBvZiBhdmFpbGFibGUNCiAgIE1peGVyIG5ldHdv
cmsgb3IgcHJvY2Vzc2luZyByZXNvdXJjZXMuICBBbiBSVFAgc3RyZWFtIHJlY2VpdmVyIHRoYXQN
CiAgIG5vIGxvbmdlciByZWNlaXZlcyBhbiBSVFAgc3RyZWFtIGNvdWxkIGludGVycHJldCB0aGlz
IGFzIGFuIGVycm9yDQogICBjb25kaXRpb24gYW5kIHRyeSB0byB0YWtlIGFjdGlvbiB0byByZS1l
c3RhYmxpc2ggdGhlIFJUUCBzdHJlYW0uDQogICBTdWNoIGFjdGlvbiB3b3VsZCBsaWtlbHkgYmUg
dW5kZXNpcmFibGUgaWYgdGhlIFJUUCBzdHJlYW0gd2FzIGluIGZhY3QNCiAgIGRlbGliZXJhdGVs
eSBwYXVzZWQgYnkgdGhlIE1peGVyLiAgVW5kZXNpcmFibGUgUlRQIHN0cmVhbSByZWNlaXZlcg0K
ICAgYWN0aW9ucyBjb3VsZCBiZSBhdm9pZGVkIGlmIHRoZSBNaXhlciBpcyBhYmxlIGV4cGxpY2l0
bHkgaW5kaWNhdGUNCiAgIHRoYXQgYW4gUlRQIHN0cmVhbSBpcyBkZWxpYmVyYXRlbHkgcGF1c2Vk
Lg0KDQogICBKdXN0IGFzIGZvciBwb2ludC10by1wb2ludCAoU2VjdGlvbiAzLjEpLCB0aGVyZSBp
cyBvbmx5IGEgc2luZ2xlDQogICByZWNlaXZlciBvZiB0aGUgc3RyZWFtLCB0aGUgUlRQIE1peGVy
LCBhbmQgcGF1c2luZyBvciByZXN1bWluZyBhDQogICBzdHJlYW0gZG9lcyBub3QgYWZmZWN0IGFu
eW9uZSBlbHNlIHRoYW4gdGhlIHNlbmRlciBhbmQgc2luZ2xlDQogICByZWNlaXZlciBvZiB0aGF0
IHN0cmVhbS4NCg0KMy4zLiAgUlRQIE1peGVyIHRvIE1lZGlhIFNlbmRlciBpbiBQb2ludC10by1N
dWx0aXBvaW50DQoNCiAgIFRoaXMgdXNlIGNhc2UgaXMgc2ltaWxhciB0byB0aGUgcHJldmlvdXMg
c2VjdGlvbiwgaG93ZXZlciB0aGUgUlRQDQogICBNaXhlciBpcyBpbnZvbHZlZCBpbiB0aHJlZSBk
b21haW5zIHRoYXQgbmVlZCB0byBiZSBzZXBhcmF0ZWQ7IHRoZQ0KICAgTXVsdGljYXN0IE5ldHdv
cmsgKGluY2x1ZGluZyBwYXJ0aWNpcGFudHMgQSBhbmQgQyksIHBhcnRpY2lwYW50IEIsDQogICBh
bmQgcGFydGljaXBhbnQgRC4gIFRoZSBkaWZmZXJlbmNlIGZyb20gYWJvdmUgaXMgdGhhdCBBIGFu
ZCBDIHNoYXJlIGENCiAgIG11bHRpY2FzdCBkb21haW4sIHdoaWNoIGlzIGRlcGljdGVkIGJlbG93
Lg0KDQogICAgICAgICAgICAgICAgICAgICAgICArLS0tLS0rDQogICAgICAgICAgICAgKy0tLSsg
ICAgIC8gICAgICAgXCAgICAgKy0tLS0tLS0tLS0tKyAgICAgICstLS0rDQogICAgICAgICAgICAg
fCBBIHw8LS0tLyAgICAgICAgIFwgICAgfCAgICAgICAgICAgfDwtLS0tPnwgQiB8DQogICAgICAg
ICAgICAgKy0tLSsgICAvICAgTXVsdGktICBcICAgfCAgICAgICAgICAgfCAgICAgICstLS0rDQog
ICAgICAgICAgICAgICAgICAgICsgICAgQ2FzdCAgICAgKy0+fCAgIE1peGVyICAgfA0KICAgICAg
ICAgICAgICstLS0rICAgXCAgTmV0d29yayAgLyAgIHwgICAgICAgICAgIHwgICAgICArLS0tKw0K
ICAgICAgICAgICAgIHwgQyB8PC0tLVwgICAgICAgICAvICAgIHwgICAgICAgICAgIHw8LS0tLT58
IEQgfA0KICAgICAgICAgICAgICstLS0rICAgICBcICAgICAgIC8gICAgICstLS0tLS0tLS0tLSsg
ICAgICArLS0tKw0KICAgICAgICAgICAgICAgICAgICAgICAgKy0tLS0tKw0KDQogICAgICAgICAg
ICAgICAgRmlndXJlIDM6IFJUUCBNaXhlciBpbiBQb2ludC10by1NdWx0aXBvaW50DQoNCiAgIElm
IHRoZSBSVFAgTWl4ZXIgcGF1c2VzIGEgc3RyZWFtIGZyb20gQSwgaXQgd2lsbCBub3Qgb25seSBw
YXVzZSB0aGUNCiAgIHN0cmVhbSB0b3dhcmRzIGl0c2VsZiwgYnV0IHdpbGwgYWxzbyBzdG9wIHRo
ZSBzdHJlYW0gZnJvbSBhcnJpdmluZyB0bw0KICAgQywgd2hpY2ggQyBpcyBoZWF2aWx5IGltcGFj
dGVkIGJ5LCBtaWdodCBub3QgYXBwcm92ZSBvZiwgYW5kIHNob3VsZA0KICAgdGh1cyBoYXZlIGEg
c2F5IG9uLg0KDQogICBJZiB0aGUgTWl4ZXIgcmVzdW1lcyBhIHBhdXNlZCBzdHJlYW0gZnJvbSBB
LCBpdCB3aWxsIGJlIHJlc3VtZWQgYWxzbw0KICAgdG93YXJkcyBDLiAgSW4gdGhpcyBjYXNlLCBp
ZiBDIGlzIG5vdCBpbnRlcmVzdGVkIGl0IGNhbiBzaW1wbHkgaWdub3JlDQogICB0aGUgc3RyZWFt
IGFuZCBpcyBub3QgaW1wYWN0ZWQgYXMgbXVjaCBhcyBhYm92ZS4NCg0KDQoNCg0KDQpCdXJtYW4s
IGV0IGFsLiAgICAgICAgICAgRXhwaXJlcyBNYXJjaCAyMywgMjAxNSAgICAgICAgICAgICAgICAg
W1BhZ2UgOV0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgICBSVFAgU3RyZWFtIFBhdXNl
ICAgICAgICAgICAgICBTZXB0ZW1iZXIgMjAxNA0KDQoNCiAgIEluIHRoaXMgdXNlIGNhc2UgdGhl
cmUgYXJlIHNldmVyYWwgcmVjZWl2ZXJzIG9mIGEgc3RyZWFtIGFuZCBzcGVjaWFsDQogICBjYXJl
IG11c3QgYmUgdGFrZW4gYXMgbm90IHRvIHBhdXNlIGEgc3RyZWFtIHRoYXQgaXMgc3RpbGwgd2Fu
dGVkIGJ5DQogICBzb21lIHJlY2VpdmVycy4NCg0KMy40LiAgTWVkaWEgUmVjZWl2ZXIgdG8gUlRQ
IE1peGVyDQoNCiAgIEFuIEVuZCBQb2ludCBpbiBGaWd1cmUgMiBjb3VsZCBwb3RlbnRpYWxseSBy
ZXF1ZXN0IHRvIHBhdXNlIHRoZQ0KICAgZGVsaXZlcnkgb2YgYSBnaXZlbiBzdHJlYW0uICBQb3Nz
aWJsZSByZWFzb25zIGluY2x1ZGUgdGhlIG9uZXMgaW4gdGhlDQogICBwb2ludCB0byBwb2ludCBj
YXNlIChTZWN0aW9uIDMuMSkgYWJvdmUuDQoNCiAgIFdoZW4gdGhlIFJUUCBNaXhlciBpcyBvbmx5
IGNvbm5lY3RlZCB0byBpbmRpdmlkdWFsIHVuaWNhc3QgcGF0aHMsIHRoZQ0KICAgdXNlIGNhc2Ug
YW5kIGFueSBjb25zaWRlcmF0aW9ucyBhcmUgaWRlbnRpY2FsIHRvIHRoZSBwb2ludCB0byBwb2lu
dA0KICAgdXNlIGNhc2UuDQoNCiAgIEhvd2V2ZXIsIHdoZW4gdGhlIEVuZCBQb2ludCByZXF1ZXN0
aW5nIHN0cmVhbSBwYXVzZSBpcyBjb25uZWN0ZWQgdG8NCiAgIHRoZSBSVFAgTWl4ZXIgdGhyb3Vn
aCBhIG11bHRpY2FzdCBuZXR3b3JrLCBzdWNoIGFzIEEgb3IgQyBpbg0KICAgRmlndXJlIDMsIHRo
ZSB1c2UgY2FzZSBpbnN0ZWFkIGJlY29tZXMgaWRlbnRpY2FsIHRvIHRoZSBvbmUgaW4NCiAgIFNl
Y3Rpb24gMy4zLCBvbmx5IHdpdGggcmV2ZXJzZSBkaXJlY3Rpb24gb2YgdGhlIHN0cmVhbXMgYW5k
IHBhdXNlLw0KICAgcmVzdW1lIHJlcXVlc3RzLg0KDQozLjUuICBNZWRpYSBSZWNlaXZlciB0byBN
ZWRpYSBTZW5kZXIgQWNyb3NzIFJUUCBNaXhlcg0KDQogICBBbiBFbmQgUG9pbnQsIGxpa2UgQSBp
biBGaWd1cmUgMiwgY291bGQgcG90ZW50aWFsbHkgcmVxdWVzdCB0byBwYXVzZQ0KICAgdGhlIGRl
bGl2ZXJ5IG9mIGEgZ2l2ZW4gc3RyZWFtLCBsaWtlIG9uZSBvZiBCJ3MsIG92ZXIgYW55IG9mIHRo
ZQ0KICAgU1NSQ3MgdXNlZCBieSB0aGUgTWl4ZXIgYnkgc2VuZGluZyBhIHBhdXNlIHJlcXVlc3Qg
Zm9yIHRoZSBDU1JDDQogICBpZGVudGlmeWluZyB0aGUgc3RyZWFtLiAgSG93ZXZlciwgdGhlIGF1
dGhvcnMgYXJlIG9mIHRoZSBvcGluaW9uIHRoYXQNCiAgIHRoaXMgaXMgbm90IGEgc3VpdGFibGUg
c29sdXRpb24sIGZvciBzZXZlcmFsIHJlYXNvbnM6DQoNCiAgIDEuICBUaGUgTWl4ZXIgbWlnaHQg
bm90IGluY2x1ZGUgQ1NSQyBpbiBpdCdzIHN0cmVhbSBpbmRpY2F0aW9ucy4NCg0KICAgMi4gIEFu
IEVuZCBQb2ludCBjYW5ub3QgcmVseSBvbiB0aGUgQ1NSQyB0byBjb3JyZWN0bHkgaWRlbnRpZnkg
dGhlDQogICAgICAgc3RyZWFtIHRvIGJlIHBhdXNlZCB3aGVuIHRoZSBkZWxpdmVyZWQgbWVkaWEg
aXMgc29tZSB0eXBlIG9mIG1peC4NCiAgICAgICBBIG1vcmUgZWxhYm9yYXRlIHN0cmVhbSBpZGVu
dGlmaWNhdGlvbiBzb2x1dGlvbiBpcyBuZWVkZWQgdG8NCiAgICAgICBzdXBwb3J0IHRoaXMgaW4g
dGhlIGdlbmVyYWwgY2FzZS4NCg0KICAgMy4gIFRoZSBFbmQgUG9pbnQgY2Fubm90IGRldGVybWlu
ZSBpZiBhIGdpdmVuIHN0cmVhbSBpcyBzdGlsbCBuZWVkZWQNCiAgICAgICBieSB0aGUgUlRQIE1p
eGVyIHRvIGRlbGl2ZXIgdG8gYW5vdGhlciBzZXNzaW9uIHBhcnRpY2lwYW50Lg0KDQogICBEdWUg
dG8gdGhlIGFib3ZlIHJlYXNvbnMsIHdlIGV4Y2x1ZGUgdGhpcyB1c2UgY2FzZSBmcm9tIGZ1cnRo
ZXINCiAgIGNvbnNpZGVyYXRpb24uDQoNCjQuICBEZXNpZ24gQ29uc2lkZXJhdGlvbnMNCg0KICAg
VGhpcyBzZWN0aW9uIGRlc2NyaWJlcyB0aGUgcmVxdWlyZW1lbnRzIHRoYXQgdGhpcyBzcGVjaWZp
Y2F0aW9uIG5lZWRzDQogICB0byBtZWV0Lg0KDQoNCg0KDQoNCg0KQnVybWFuLCBldCBhbC4gICAg
ICAgICAgIEV4cGlyZXMgTWFyY2ggMjMsIDIwMTUgICAgICAgICAgICAgICAgW1BhZ2UgMTBdDQoM
DQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICAgUlRQIFN0cmVhbSBQYXVzZSAgICAgICAgICAg
ICAgU2VwdGVtYmVyIDIwMTQNCg0KDQo0LjEuICBSZWFsLXRpbWUgTmF0dXJlDQoNCiAgIFRoZSBm
aXJzdCBzZWN0aW9uIChTZWN0aW9uIDEpIG9mIHRoaXMgc3BlY2lmaWNhdGlvbiBkZXNjcmliZXMg
c29tZQ0KICAgcG9zc2libGUgcmVhc29ucyB3aHkgYSByZWNlaXZlciBtYXkgcGF1c2UgYW4gUlRQ
IHNlbmRlci4gIFBhdXNpbmcgYW5kDQogICByZXN1bWluZyBpcyB0aW1lLWRlcGVuZGVudCwgaS5l
LiBhIHJlY2VpdmVyIG1heSBjaG9vc2UgdG8gcGF1c2UgYW4NCiAgIFJUUCBzdHJlYW0gZm9yIGEg
Y2VydGFpbiBkdXJhdGlvbiwgYWZ0ZXIgd2hpY2ggdGhlIHJlY2VpdmVyIG1heSB3YW50DQogICB0
aGUgc2VuZGVyIHRvIHJlc3VtZS4gIFRoaXMgdGltZSBkZXBlbmRlbmN5IG1lYW5zIHRoYXQgdGhl
IG1lc3NhZ2VzDQogICByZWxhdGVkIHRvIHBhdXNlIGFuZCByZXN1bWUgbXVzdCBiZSB0cmFuc21p
dHRlZCB0byB0aGUgc2VuZGVyIGluDQogICByZWFsLXRpbWUgaW4gb3JkZXIgZm9yIHRoZW0gdG8g
YmUgcHVycG9zZWZ1bC4gIFRoZSBwYXVzZSBvcGVyYXRpb24gaXMNCiAgIGFyZ3VhYmx5IG5vdCB2
ZXJ5IHRpbWUgY3JpdGljYWwgc2luY2UgaXQgbWFpbmx5IHByb3ZpZGVzIGEgcmVkdWN0aW9uDQog
ICBvZiByZXNvdXJjZSB1c2FnZS4gIFRpbWVseSBoYW5kbGluZyBvZiB0aGUgcmVzdW1lIG9wZXJh
dGlvbiBpcw0KICAgaG93ZXZlciBsaWtlbHkgdG8gZGlyZWN0bHkgaW1wYWN0IHRoZSBlbmQtdXNl
cidzIHBlcmNlaXZlZCBxdWFsaXR5DQogICBleHBlcmllbmNlLCBzaW5jZSBpdCBhZmZlY3RzIHRo
ZSBhdmFpbGFiaWxpdHkgb2YgbWVkaWEgdGhhdCB0aGUgdXNlcg0KICAgZXhwZWN0cyB0byByZWNl
aXZlIG1vcmUgb3IgbGVzcyBpbnN0YW50bHkuDQoNCjQuMi4gIE1lc3NhZ2UgRGlyZWN0aW9uDQoN
CiAgIEl0IGlzIHRoZSByZXNwb25zaWJpbGl0eSBvZiBhbiBSVFAgc3RyZWFtIHJlY2VpdmVyLCB3
aG8gd2FudHMgdG8NCiAgIHBhdXNlIG9yIHJlc3VtZSBhIHN0cmVhbSBmcm9tIHRoZSBzZW5kZXIo
cyksIHRvIHRyYW5zbWl0IFBBVVNFIGFuZA0KICAgUkVTVU1FIG1lc3NhZ2VzLiAgQW4gUlRQIHN0
cmVhbSBzZW5kZXIgd2hvIGxpa2VzIHRvIHBhdXNlIGl0c2VsZiwgY2FuDQogICBvZnRlbiBzaW1w
bHkgZG8gaXQsIGJ1dCBzb21ldGltZXMgdGhpcyB3aWxsIGFkdmVyc2VseSBhZmZlY3QgdGhlDQog
ICByZWNlaXZlciBhbmQgYW4gZXhwbGljaXQgaW5kaWNhdGlvbiB0aGF0IHRoZSBSVFAgc3RyZWFt
IGlzIHBhdXNlZCBtYXkNCiAgIHRoZW4gaGVscC4gIEFueSBpbmRpY2F0aW9uIHRoYXQgYW4gUlRQ
IHN0cmVhbSBpcyBwYXVzZWQgaXMgdGhlDQogICByZXNwb25zaWJpbGl0eSBvZiB0aGUgUlRQIHN0
cmVhbSBzZW5kZXIgYW5kIG1heSBpbiBzb21lIGNhc2VzIG5vdA0KICAgZXZlbiBiZSBuZWVkZWQg
YnkgdGhlIHN0cmVhbSByZWNlaXZlci4NCg0KNC4zLiAgQXBwbHkgdG8gSW5kaXZpZHVhbCBTb3Vy
Y2VzDQoNCiAgIFRoZSBQQVVTRSBhbmQgUkVTVU1FIG1lc3NhZ2VzIGFwcGx5IHRvIHNpbmdsZSBS
VFAgc3RyZWFtcyBpZGVudGlmaWVkDQogICBieSB0aGVpciBTU1JDLCB3aGljaCBtZWFucyB0aGUg
cmVjZWl2ZXIgdGFyZ2V0cyB0aGUgc2VuZGVyJ3MgU1NSQyBpbg0KICAgdGhlIFBBVVNFIGFuZCBS
RVNVTUUgcmVxdWVzdHMuICBJZiBhIHBhdXNlZCBzZW5kZXIgc3RhcnRzIHNlbmRpbmcNCiAgIHdp
dGggYSBuZXcgU1NSQywgdGhlIHJlY2VpdmVycyB3aWxsIG5lZWQgdG8gc2VuZCBhIG5ldyBQQVVT
RSByZXF1ZXN0DQogICBpbiBvcmRlciB0byBwYXVzZSBpdC4gIFBBVVNFRCBpbmRpY2F0aW9ucyBy
ZWZlciB0byBhIHNpbmdsZSBvbmUgb2YNCiAgIHRoZSBzZW5kZXIncyBvd24sIHBhdXNlZCBTU1JD
Lg0KDQo0LjQuICBDb25zZW5zdXMNCg0KICAgQW4gUlRQIHN0cmVhbSBzZW5kZXIgc2hvdWxkIG5v
dCBwYXVzZSBhbiBTU1JDIHRoYXQgc29tZSByZWNlaXZlcg0KICAgc3RpbGwgd2lzaGVzIHRvIHJl
Y2VpdmUuICBUaGUgcmVhc29uIGlzIHRoYXQgaW4gUlRQIHRvcG9sb2dpZXMgd2hlcmUNCiAgIHRo
ZSBzdHJlYW0gaXMgc2hhcmVkIGJldHdlZW4gbXVsdGlwbGUgcmVjZWl2ZXJzLCBhIHNpbmdsZSBy
ZWNlaXZlciBvbg0KICAgdGhhdCBzaGFyZWQgbmV0d29yaywgaW5kZXBlbmRlbnQgb2YgaXQgYmVp
bmcgbXVsdGljYXN0LCBhIG1lc2ggd2l0aA0KICAgam9pbnQgUlRQIHNlc3Npb24gb3IgYSB0cmFu
c3BvcnQgVHJhbnNsYXRvciBiYXNlZCwgbXVzdCBub3Qgc2luZ2xlLQ0KICAgaGFuZGVkbHkgY2F1
c2UgdGhlIHN0cmVhbSB0byBiZSBwYXVzZWQgd2l0aG91dCBsZXR0aW5nIGFsbCBvdGhlcg0KICAg
cmVjZWl2ZXJzIHRvIHZvaWNlIHRoZWlyIG9waW5pb25zIG9uIHdoZXRoZXIgb3Igbm90IHRoZSBz
dHJlYW0gc2hvdWxkDQogICBiZSBwYXVzZWQuICBBIGNvbnNlcXVlbmNlIG9mIHRoaXMgaXMgdGhh
dCBhIG5ld2x5IGpvaW5pbmcgcmVjZWl2ZXIsDQogICBmb3IgZXhhbXBsZSBpbmRpY2F0ZWQgYnkg
YW4gUlRDUCBSZWNlaXZlciBSZXBvcnQgY29udGFpbmluZyBib3RoIGENCiAgIG5ldyBTU1JDIGFu
ZCBhIENOQU1FIHRoYXQgZG9lcyBub3QgYWxyZWFkeSBvY2N1ciBpbiB0aGUgc2Vzc2lvbiwNCiAg
IGZpcnN0bHkgbmVlZHMgdG8gbGVhcm4gdGhlIGV4aXN0ZW5jZSBvZiBwYXVzZWQgc3RyZWFtcywg
YW5kIHNlY29uZGx5DQoNCg0KDQpCdXJtYW4sIGV0IGFsLiAgICAgICAgICAgRXhwaXJlcyBNYXJj
aCAyMywgMjAxNSAgICAgICAgICAgICAgICBbUGFnZSAxMV0NCgwNCkludGVybmV0LURyYWZ0ICAg
ICAgICAgICAgICBSVFAgU3RyZWFtIFBhdXNlICAgICAgICAgICAgICBTZXB0ZW1iZXIgMjAxNA0K
DQoNCiAgIHNob3VsZCBiZSBhYmxlIHRvIHJlc3VtZSBhbnkgcGF1c2VkIHN0cmVhbS4gIEFueSBz
aW5nbGUgcmVjZWl2ZXINCiAgIHdhbnRpbmcgdG8gcmVzdW1lIGEgc3RyZWFtIHNob3VsZCBhbHNv
IGNhdXNlIGl0IHRvIGJlIHJlc3VtZWQuICBBbg0KICAgaW1wb3J0YW50IGV4Y2VwdGlvbiB0byB0
aGlzIGlzIHdoZW4gdGhlIFJUUCBzdHJlYW0gc2VuZGVyIGlzIGF3YXJlIG9mDQogICBjb25kaXRp
b25zIHRoYXQgbWFrZXMgaXQgZGVzaXJhYmxlIG9yIGV2ZW4gbmVjZXNzaXRhdGVzIHRvIHBhdXNl
IHRoZQ0KICAgUlRQIHN0cmVhbSBvbiBpdHMgb3duIGJlaGFsZiwgd2l0aG91dCBiZWluZyBleHBs
aWNpdGx5IGFza2VkIHRvIGRvDQogICBzby4gIFN1Y2ggbG9jYWwgY29uc2lkZXJhdGlvbiBpbiB0
aGUgUlRQIHNlbmRlciB0YWtlcyBwcmVzZWRlbmNlIG92ZXINCiAgIFJUUCByZWNlaXZlciB3aXNo
ZXMgdG8gcmVjZWl2ZSB0aGUgc3RyZWFtLg0KDQo0LjUuICBNZXNzYWdlIEFja25vd2xlZGdtZW50
cw0KDQogICBSVFAgYW5kIFJUQ1AgZG9lcyBub3QgZ3VhcmFudGVlIHJlbGlhYmxlIGRhdGEgdHJh
bnNtaXNzaW9uLiAgSXQgdXNlcw0KICAgd2hhdGV2ZXIgYXNzdXJhbmNlIHRoZSBsb3dlciBsYXll
ciB0cmFuc3BvcnQgcHJvdG9jb2wgY2FuIHByb3ZpZGUuDQogICBIb3dldmVyLCB0aGlzIGlzIGNv
bW1vbmx5IFVEUCB0aGF0IHByb3ZpZGVzIG5vIHJlbGlhYmlsaXR5DQogICBndWFyYW50ZWVzLiAg
VGh1cyBpdCBpcyBwb3NzaWJsZSB0aGF0IGEgUEFVU0UgYW5kL29yIFJFU1VNRSBtZXNzYWdlDQog
ICB0cmFuc21pdHRlZCBmcm9tIGFuIFJUUCBFbmQgUG9pbnQgZG9lcyBub3QgcmVhY2ggaXRzIGRl
c3RpbmF0aW9uLA0KICAgaS5lLiB0aGUgdGFyZ2V0ZWQgUlRQIHN0cmVhbSBzZW5kZXIuICBXaGVu
IFBBVVNFIG9yIFJFU1VNRSByZWFjaGVzDQogICB0aGUgUlRQIHN0cmVhbSBzZW5kZXIgYW5kIGFy
ZSBlZmZlY3RpdmUsIGkuZS4sIGFuIGFjdGl2ZSBSVFAgc3RyZWFtDQogICBzZW5kZXIgcGF1c2Vz
LCBvciBhIHJlc3VtaW5nIFJUUCBzdHJlYW0gc2VuZGVyIGhhdmUgbWVkaWEgZGF0YSB0bw0KICAg
dHJhbnNtaXQsIGl0IGlzIGltbWVkaWF0ZWx5IHNlZW4gZnJvbSB0aGUgYXJyaXZhbCBvciBub24t
YXJyaXZhbCBvZg0KICAgUlRQIHBhY2tldHMgZm9yIHRoYXQgUlRQIHN0cmVhbS4gIFRodXMsIG5v
IGV4cGxpY2l0IGFja25vd2xlZGdtZW50cw0KICAgYXJlIHJlcXVpcmVkIGluIHRoaXMgY2FzZS4N
Cg0KICAgSW4gc29tZSBjYXNlcyB3aGVuIGEgUEFVU0Ugb3IgUkVTVU1FIG1lc3NhZ2UgcmVhY2hl
cyB0aGUgUlRQIHN0cmVhbQ0KICAgc2VuZGVyLCBpdCB3aWxsIG5vdCBiZSBhYmxlIHRvIHBhdXNl
IG9yIHJlc3VtZSB0aGUgc3RyZWFtIGR1ZSB0byBzb21lDQogICBsb2NhbCBjb25zaWRlcmF0aW9u
LCBmb3IgZXhhbXBsZSBsYWNrIG9mIGRhdGEgdG8gdHJhbnNtaXQuICBUaGlzDQogICBlcnJvciBj
b25kaXRpb24sIGEgbmVnYXRpdmUgYWNrbm93bGVkZ21lbnQsIG1heSBiZSBuZWVkZWQgdG8gYXZv
aWQNCiAgIHVubmVjZXNzYXJ5IHJldHJhbnNtaXNzaW9uIG9mIHJlcXVlc3RzIChTZWN0aW9uIDQu
NikuDQoNCjQuNi4gIFJldHJhbnNtaXR0aW5nIFJlcXVlc3RzDQoNCiAgIFdoZW4gdGhlIHN0cmVh
bSBpcyBub3QgYWZmZWN0ZWQgYXMgZXhwZWN0ZWQgYnkgYSBQQVVTRSBvciBSRVNVTUUNCiAgIHJl
cXVlc3QsIHRoZSByZXF1ZXN0IG1heSBoYXZlIGJlZW4gbG9zdCBhbmQgdGhlIHNlbmRlciBvZiB0
aGUgcmVxdWVzdA0KICAgd2lsbCBuZWVkIHRvIHJldHJhbnNtaXQgaXQuICBUaGUgcmV0cmFuc21p
c3Npb24gc2hvdWxkIHRha2UgdGhlIHJvdW5kDQogICB0cmlwIHRpbWUgaW50byBhY2NvdW50LCBh
bmQgd2lsbCBhbHNvIG5lZWQgdG8gdGFrZSB0aGUgbm9ybWFsIFJUQ1ANCiAgIGJhbmR3aWR0aCBh
bmQgdGltaW5nIHJ1bGVzIGFwcGxpY2FibGUgdG8gdGhlIFJUUCBzZXNzaW9uIGludG8NCiAgIGFj
Y291bnQsIHdoZW4gc2NoZWR1bGluZyByZXRyYW5zbWlzc2lvbiBvZiBmZWVkYmFjay4NCg0KICAg
V2hlbiBpdCBjb21lcyB0byByZXN1bWUgcmVxdWVzdHMgdGhhdCBhcmUgbW9yZSB0aW1lIGNyaXRp
Y2FsLCB0aGUNCiAgIGJlc3QgcmVzdW1lIHBlcmZvcm1hbmNlIG1heSBiZSBhY2hpZXZlZCBieSBy
ZXBlYXRpbmcgdGhlIHJlcXVlc3QgYXMNCiAgIG9mdGVuIGFzIHBvc3NpYmxlIHVudGlsIGEgc3Vm
ZmljaWVudCBudW1iZXIgaGF2ZSBiZWVuIHNlbnQgdG8gcmVhY2ggYQ0KICAgaGlnaCBwcm9iYWJp
bGl0eSBvZiByZXF1ZXN0IGRlbGl2ZXJ5LCBvciB0aGUgc3RyZWFtIGdldHMgZGVsaXZlcmVkLg0K
DQo0LjcuICBTZXF1ZW5jZSBOdW1iZXJpbmcNCg0KICAgQSBQQVVTRSByZXF1ZXN0IG1lc3NhZ2Ug
d2lsbCBuZWVkIHRvIGhhdmUgYSBzZXF1ZW5jZSBudW1iZXIgdG8NCiAgIHNlcGFyYXRlIHJldHJh
bnNtaXNzaW9ucyBmcm9tIG5ldyByZXF1ZXN0cy4gIEEgcmV0cmFuc21pc3Npb24ga2VlcHMNCiAg
IHRoZSBzZXF1ZW5jZSBudW1iZXIgdW5jaGFuZ2VkLCB3aGlsZSBpdCBpcyBpbmNyZW1lbnRlZCBl
dmVyeSB0aW1lIGENCg0KDQoNCg0KQnVybWFuLCBldCBhbC4gICAgICAgICAgIEV4cGlyZXMgTWFy
Y2ggMjMsIDIwMTUgICAgICAgICAgICAgICAgW1BhZ2UgMTJdDQoMDQpJbnRlcm5ldC1EcmFmdCAg
ICAgICAgICAgICAgUlRQIFN0cmVhbSBQYXVzZSAgICAgICAgICAgICAgU2VwdGVtYmVyIDIwMTQN
Cg0KDQogICBuZXcgUEFVU0UgcmVxdWVzdCBpcyB0cmFuc21pdHRlZCB0aGF0IGlzIG5vdCBhIHJl
dHJhbnNtaXNzaW9uIG9mIGENCiAgIHByZXZpb3VzIHJlcXVlc3QuDQoNCiAgIFNpbmNlIFJFU1VN
RSBhbHdheXMgdGFrZXMgcHJlY2VkZW5jZSBvdmVyIFBBVVNFIGFuZCBhcmUgZXZlbiBhbGxvd2Vk
DQogICB0byBhdm9pZCBwYXVzaW5nIGEgc3RyZWFtLCB0aGVyZSBpcyBhIG5lZWQgdG8ga2VlcCBz
dHJpY3Qgb3JkZXJpbmcgb2YNCiAgIFBBVVNFIGFuZCBSRVNVTUUuICBUaHVzLCBSRVNVTUUgbmVl
ZHMgdG8gc2hhcmUgc2VxdWVuY2UgbnVtYmVyIHNwYWNlDQogICB3aXRoIFBBVVNFIGFuZCBpbXBs
aWNpdGx5IHJlZmVyZW5jZXMgd2hpY2ggUEFVU0UgaXQgcmVmZXJzIHRvLiAgRm9yDQogICB0aGUg
c2FtZSByZWFzb25zLCB0aGUgZXhwbGljaXQgUEFVU0VEIGluZGljYXRpb24gYWxzbyBuZWVkcyB0
byBzaGFyZQ0KICAgc2VxdWVuY2UgbnVtYmVyIHNwYWNlIHdpdGggUEFVU0UgYW5kIFJFU1VNRS4N
Cg0KNC44LiAgUmVsYXRpb24gdG8gT3RoZXIgU29sdXRpb25zDQoNCiAgIEEgcGVyZm9ybWFuY2Ug
Y29tcGFyaXNvbiBiZXR3ZWVuIFNJUC9TRFAgYW5kIFJUQ1Agc2lnbmFsaW5nDQogICB0ZWNobm9s
b2dpZXMgd2FzIG1hZGUgYW5kIGluY2x1ZGVkIGluIGRyYWZ0IHZlcnNpb25zIG9mIHRoaXMNCiAg
IHNwZWNpZmljYXRpb24uICBVc2luZyBTSVAgYW5kIFNEUCBbUkZDNDU2Nl0gdG8gY2FycnkgcGF1
c2UgYW5kIHJlc3VtZQ0KICAgaW5mb3JtYXRpb24gbWVhbnMgdGhhdCBpdCB3aWxsIG5lZWQgdG8g
dHJhdmVyc2UgdGhlIGVudGlyZSBzaWduYWxpbmcNCiAgIHBhdGggdG8gcmVhY2ggdGhlIHNpZ25h
bGluZyBkZXN0aW5hdGlvbiAoZWl0aGVyIHRoZSByZW1vdGUgRW5kIFBvaW50DQogICBvciB0aGUg
ZW50aXR5IGNvbnRyb2xsaW5nIHRoZSBSVFAgTWl4ZXIpLCBhY3Jvc3MgYW55IHNpZ25hbGluZw0K
ICAgcHJveGllcyB0aGF0IHBvdGVudGlhbGx5IGFsc28gaGFzIHRvIHByb2Nlc3MgdGhlIFNEUCBj
b250ZW50IHRvDQogICBkZXRlcm1pbmUgaWYgdGhleSBhcmUgZXhwZWN0ZWQgdG8gYWN0IG9uIGl0
LiAgVGhlIGFtb3VudCBvZiBiYW5kd2lkdGgNCiAgIHJlcXVpcmVkIGZvciBhIFNJUC9TRFAtYmFz
ZWQgc2lnbmFsaW5nIHNvbHV0aW9uIGlzIGluIHRoZSBvcmRlciBvZiBhdA0KICAgbGVhc3QgMTAg
dGltZXMgbW9yZSB0aGFuIGFuIFJUQ1AtYmFzZWQgc29sdXRpb24uICBFc3BlY2lhbGx5IGZvciBV
QQ0KICAgc2l0dGluZyBvbiBtb2JpbGUgd2lyZWxlc3MgYWNjZXNzLCB0aGlzIHdpbGwgcmlzayBp
bnRyb2R1Y2luZyBkZWxheXMNCiAgIHRoYXQgYXJlIHRvbyBsb25nIChTZWN0aW9uIDQuMSkgdG8g
cHJvdmlkZSBhIGdvb2QgdXNlciBleHBlcmllbmNlLA0KICAgYW5kIHRoZSBiYW5kd2lkdGggY29z
dCBtYXkgYWxzbyBiZSBjb25zaWRlcmVkIGluZmVhc2libGUgY29tcGFyZWQgdG8NCiAgIGFuIFJU
Q1AtYmFzZWQgc29sdXRpb24uICBSVENQIGRhdGEgaXMgc2VudCB0aHJvdWdoIHRoZSBtZWRpYSBw
YXRoLA0KICAgd2hpY2ggaXMgbGlrZWx5IHNob3J0ZXIgKGNvbnRhaW5zIGZld2VyIGludGVybWVk
aWF0ZSBub2RlcykgdGhhbiB0aGUNCiAgIHNpZ25hbGluZyBwYXRoLCBtYXkgYW55d2F5IGhhdmUg
dG8gdHJhdmVyc2UgYSBmZXcgaW50ZXJtZWRpYXRlIG5vZGVzLg0KICAgVGhlIGFtb3VudCBvZiBw
cm9jZXNzaW5nIGFuZCBidWZmZXJpbmcgcmVxdWlyZWQgaW4gaW50ZXJtZWRpYXRlIG5vZGVzDQog
ICB0byBmb3J3YXJkIHRob3NlIFJUQ1AgbWVzc2FnZXMgaXMgaG93ZXZlciBiZWxpZXZlZCB0byBi
ZQ0KICAgc2lnbmlmaWNhbnRseSBsZXNzIHRoYW4gZm9yIGludGVybWVkaWF0ZSBub2RlcyBpbiB0
aGUgc2lnbmFsaW5nIHBhdGguDQogICBCYXNlZCBvbiB0aG9zZSBjb25zaWRlcmF0aW9ucywgUlRD
UCBpcyBjaG9zZW4gYXMgc2lnbmFsaW5nIHByb3RvY29sDQogICBmb3IgdGhlIHBhdXNlIGFuZCBy
ZXN1bWUgZnVuY3Rpb25hbGl0eS4NCg0KNS4gIFNvbHV0aW9uIE92ZXJ2aWV3DQoNCiAgIFRoZSBw
cm9wb3NlZCBzb2x1dGlvbiBpbXBsZW1lbnRzIFBBVVNFIGFuZCBSRVNVTUUgZnVuY3Rpb25hbGl0
eSBiYXNlZA0KICAgb24gc2VuZGluZyBBVlBGIFJUQ1AgZmVlZGJhY2sgbWVzc2FnZXMgZnJvbSBh
bnkgUlRQIHNlc3Npb24NCiAgIHBhcnRpY2lwYW50IHRoYXQgd2FudHMgdG8gcGF1c2Ugb3IgcmVz
dW1lIGEgc3RyZWFtIHRhcmdldGVkIGF0IHRoZQ0KICAgc3RyZWFtIHNlbmRlciwgYXMgaWRlbnRp
ZmllZCBieSB0aGUgc2VuZGVyIFNTUkMuDQoNCiAgIEl0IGlzIHByb3Bvc2VkIHRvIHJlLXVzZSBD
Q00gVE1NQlIgYW5kIFRNTUJOIFtSRkM1MTA0XSB0byB0aGUgZXh0ZW50DQogICBwb3NzaWJsZSwg
YW5kIHRvIGRlZmluZSBhIHNtYWxsIHNldCBvZiBuZXcgUlRDUCBmZWVkYmFjayBtZXNzYWdlcw0K
ICAgd2hlcmUgbmV3IHNlbWFudGljcyBpcyBuZWVkZWQuDQoNCiAgIEEgc2luZ2xlIEZlZWRiYWNr
IG1lc3NhZ2Ugc3BlY2lmaWNhdGlvbiBpcyB1c2VkIHRvIGltcGxlbWVudCB0aGUgbmV3DQogICBt
ZXNzYWdlcy4gIFRoZSBtZXNzYWdlIGNvbnNpc3RzIG9mIGEgbnVtYmVyIG9mIEZlZWRiYWNrIENv
bnRyb2wNCiAgIEluZm9ybWF0aW9uIChGQ0kpIGJsb2Nrcywgd2hlcmUgZWFjaCBibG9jayBjYW4g
YmUgYSBQQVVTRSByZXF1ZXN0LCBhDQoNCg0KDQpCdXJtYW4sIGV0IGFsLiAgICAgICAgICAgRXhw
aXJlcyBNYXJjaCAyMywgMjAxNSAgICAgICAgICAgICAgICBbUGFnZSAxM10NCgwNCkludGVybmV0
LURyYWZ0ICAgICAgICAgICAgICBSVFAgU3RyZWFtIFBhdXNlICAgICAgICAgICAgICBTZXB0ZW1i
ZXIgMjAxNA0KDQoNCiAgIFJFU1VNRSByZXF1ZXN0LCBQQVVTRUQgaW5kaWNhdGlvbiwgYSBSRUZV
U0VEIHJlc3BvbnNlLCBvciBhbg0KICAgZXh0ZW5zaW9uIHRvIHRoaXMgc3BlY2lmaWNhdGlvbi4g
IFRoaXMgc3RydWN0dXJlIGFsbG93cyBhIHNpbmdsZQ0KICAgZmVlZGJhY2sgbWVzc2FnZSB0byBo
YW5kbGUgcGF1c2UgZnVuY3Rpb25hbGl0eSBvbiBhIG51bWJlciBvZg0KICAgc3RyZWFtcy4NCg0K
ICAgVGhlIFBBVVNFRCBmdW5jdGlvbmFsaXR5IGlzIGFsc28gZGVmaW5lZCBpbiBzdWNoIGEgd2F5
IHRoYXQgaXQgY2FuIGJlDQogICB1c2VkIHN0YW5kYWxvbmUgYnkgdGhlIFJUUCBzdHJlYW0gc2Vu
ZGVyIHRvIGluZGljYXRlIGEgbG9jYWwgZGVjaXNpb24NCiAgIHRvIHBhdXNlLCBhbmQgaW5mb3Jt
IGFueSByZWNlaXZlciBvZiB0aGUgZmFjdCB0aGF0IGhhbHRpbmcgbWVkaWENCiAgIGRlbGl2ZXJ5
IGlzIGRlbGliZXJhdGUgYW5kIHdoaWNoIFJUUCBwYWNrZXQgd2FzIHRoZSBsYXN0IHRyYW5zbWl0
dGVkLg0KDQogICBTcGVjaWFsIGNvbnNpZGVyYXRpb25zIHRoYXQgYXBwbHkgd2hlbiB1c2luZyBU
TU1CUi9UTU1CTiBmb3IgcGF1c2UNCiAgIGFuZCByZXN1bWUgcHVycG9zZXMgYXJlIGRlc2NyaWJl
ZCBpbiBTZWN0aW9uIDUuNS4gIFRoaXMgc3BlY2lmaWNhdGlvbg0KICAgYXBwbGllcyB0byBib3Ro
IHRoZSBuZXcgbWVzc2FnZXMgZGVmaW5lZCBpbiBoZXJlaW4gYXMgd2VsbCBhcyB0aGVpcg0KICAg
VE1NQlIvVE1NQk4gY291bnRlcnBhcnRzLCBleGNlcHQgd2hlbiBleHBsaWNpdGx5IHN0YXRlZCBv
dGhlcndpc2UuDQogICBBbiBvYnZpb3VzIGV4Y2VwdGlvbiBhcmUgYW55IHJlZmVyZW5jZSB0byB0
aGUgbWVzc2FnZSBwYXJhbWV0ZXJzIHRoYXQNCiAgIGFyZSBvbmx5IGF2YWlsYWJsZSBpbiB0aGUg
bWVzc2FnZXMgZGVmaW5lZCBoZXJlLiAgRm9yIGV4YW1wbGUsIGFueQ0KICAgcmVmZXJlbmNlIHRv
IFBBVVNFIGluIHRoZSB0ZXh0IGJlbG93IGlzIGVxdWFsbHkgYXBwbGljYWJsZSB0byBUTU1CUg0K
ICAgMCwgYW5kIGFueSByZWZlcmVuY2UgdG8gUEFVU0VEIGlzIGVxdWFsbHkgYXBwbGljYWJsZSB0
byBUTU1CTiAwLg0KICAgVGhlcmVmb3JlIGFuZCBmb3IgYnJldml0eSwgVE1NQlIvVE1NQk4gd2ls
bCBub3QgYmUgbWVudGlvbmVkIGluIHRoZQ0KICAgdGV4dCwgdW5sZXNzIHRoZXJlIGlzIHNwZWNp
ZmljIHJlYXNvbiB0byBkbyBzby4NCg0KICAgVGhpcyBzZWN0aW9uIGlzIGludGVuZGVkIHRvIGJl
IGV4cGxhbmF0b3J5IGFuZCB0aGVyZWZvcmUNCiAgIGludGVudGlvbmFsbHkgY29udGFpbnMgbm8g
bWFuZGF0b3J5IHN0YXRlbWVudHMuICBTdWNoIHN0YXRlbWVudHMgY2FuDQogICBpbnN0ZWFkIGJl
IGZvdW5kIGluIG90aGVyIHBhcnRzIG9mIHRoaXMgc3BlY2lmaWNhdGlvbi4NCg0KNS4xLiAgRXhw
cmVzc2luZyBDYXBhYmlsaXR5DQoNCiAgIEFuIEVuZCBQb2ludCBjYW4gdXNlIGFuIGV4dGVuc2lv
biB0byBDQ00gU0RQIHNpZ25hbGluZyB0byBkZWNsYXJlDQogICBjYXBhYmlsaXR5IHRvIHVuZGVy
c3RhbmQgdGhlIG1lc3NhZ2VzIGRlZmluZWQgaW4gdGhpcyBzcGVjaWZpY2F0aW9uLg0KICAgQ2Fw
YWJpbGl0eSB0byB1bmRlcnN0YW5kIG9ubHkgYSBzdWJzZXQgb2YgbWVzc2FnZXMgaXMgcG9zc2li
bGUsIHRvDQogICBzdXBwb3J0IHBhcnRpYWwgaW1wbGVtZW50YXRpb24sIHdoaWNoIGlzIHNwZWNp
ZmljYWxseSBiZWxpZXZlZCB0byBiZQ0KICAgZmVhc2libGUgZm9yIHRoZSBSVFAgTWl4ZXIgdG8g
TWVkaWEgU2VuZGVyIHVzZSBjYXNlIChTZWN0aW9uIDMuMikuDQoNCiAgIEZvciB0aGUgY2FzZSB3
aGVuIFRNTUJSL1RNTUJOIGFyZSB1c2VkIGZvciBwYXVzZSBhbmQgcmVzdW1lIHB1cnBvc2VzLA0K
ICAgaXQgaXMgcG9zc2libGUgdG8gZXhwbGljaXRseSBleHByZXNzIGpvaW50IHN1cHBvcnQgZm9y
IFRNTUJSIGFuZA0KICAgVE1NQk4sIGJ1dCBub3QgZm9yIFRNTUJOIG9ubHkuDQoNCjUuMi4gIFJl
cXVlc3RpbmcgdG8gUGF1c2UNCg0KICAgQW4gUlRQIHN0cmVhbSByZWNlaXZlciBjYW4gY2hvb3Nl
IHRvIHJlcXVlc3QgUEFVU0UgYXQgYW55IHRpbWUsDQogICBzdWJqZWN0IHRvIEFWUEYgdGltaW5n
IHJ1bGVzLi4NCg0KICAgVGhlIFBBVVNFIHJlcXVlc3QgY29udGFpbnMgYSBQYXVzZUlELCB3aGlj
aCBpcyBpbmNyZW1lbnRlZCBieSBvbmUgKGluDQogICBtb2R1bG8gYXJpdGhtZXRpYykgd2l0aCBl
YWNoIFBBVVNFIHJlcXVlc3QgdGhhdCBpcyBub3QgYSByZS0NCiAgIHRyYW5zbWlzc2lvbi4gIFRo
ZSBQYXVzZUlEIGlzIHNjb3BlZCBieSBhbmQgdGh1cyBhIHByb3BlcnR5IG9mIHRoZQ0KICAgdGFy
Z2V0ZWQgUlRQIHN0cmVhbSAoU1NSQykuDQoNCg0KDQoNCg0KQnVybWFuLCBldCBhbC4gICAgICAg
ICAgIEV4cGlyZXMgTWFyY2ggMjMsIDIwMTUgICAgICAgICAgICAgICAgW1BhZ2UgMTRdDQoMDQpJ
bnRlcm5ldC1EcmFmdCAgICAgICAgICAgICAgUlRQIFN0cmVhbSBQYXVzZSAgICAgICAgICAgICAg
U2VwdGVtYmVyIDIwMTQNCg0KDQogICBXaGVuIGEgbm9uLXBhdXNlZCBSVFAgc3RyZWFtIHNlbmRl
ciByZWNlaXZlcyB0aGUgUEFVU0UgcmVxdWVzdCwgaXQNCiAgIGNvbnRpbnVlcyB0byBzZW5kIHRo
ZSBSVFAgc3RyZWFtIHdoaWxlIHdhaXRpbmcgZm9yIHNvbWUgdGltZSB0byBhbGxvdw0KICAgb3Ro
ZXIgUlRQIHN0cmVhbSByZWNlaXZlcnMgaW4gdGhlIHNhbWUgUlRQIHNlc3Npb24gdGhhdCBzYXcg
dGhpcw0KICAgUEFVU0UgcmVxdWVzdCB0byBkaXNhcHByb3ZlIGJ5IHNlbmRpbmcgYSBSRVNVTUUg
KFNlY3Rpb24gNS40KSBmb3IgdGhlDQogICBzYW1lIHN0cmVhbSBhbmQgd2l0aCB0aGUgc2FtZSBQ
YXVzZUlEIGFzIGluIHRoZSBkaXNhcHByb3ZlZCBQQVVTRS4NCiAgIElmIHN1Y2ggZGlzYXBwcm92
aW5nIFJFU1VNRSBhcnJpdmVzIGF0IHRoZSBSVFAgc3RyZWFtIHNlbmRlciBkdXJpbmcNCiAgIHRo
ZSBob2xkLW9mZiBwZXJpb2QgYmVmb3JlIHRoZSBzdHJlYW0gaXMgcGF1c2VkLCB0aGUgcGF1c2Ug
aXMgbm90DQogICBwZXJmb3JtZWQuICBJbiBwb2ludC10by1wb2ludCBjb25maWd1cmF0aW9ucywg
dGhlIGhvbGQtb2ZmIHBlcmlvZCBtYXkNCiAgIGJlIHNldCB0byB6ZXJvLiAgVXNpbmcgYSBob2xk
LW9mZiBwZXJpb2Qgb2YgemVybyBpcyBhbHNvIGFwcHJvcHJpYXRlDQogICB3aGVuIHVzaW5nIFRN
TUJSIDAgYW5kIGluIGxpbmUgd2l0aCB0aGUgc2VtYW50aWNzIGZvciB0aGF0IG1lc3NhZ2UuDQoN
CiAgIElmIHRoZSBSVFAgc3RyZWFtIHNlbmRlciByZWNlaXZlcyBmdXJ0aGVyIFBBVVNFIHJlcXVl
c3RzIHdpdGggdGhlDQogICBhdmFpbGFibGUgUGF1c2VJRCB3aGlsZSB3YWl0aW5nIGFzIGRlc2Ny
aWJlZCBhYm92ZSwgdGhvc2UgYWRkaXRpb25hbA0KICAgcmVxdWVzdHMgYXJlIGlnbm9yZWQuDQoN
CiAgIElmIHRoZSBQQVVTRSByZXF1ZXN0IGlzIGxvc3QgYmVmb3JlIGl0IHJlYWNoZXMgdGhlIFJU
UCBzdHJlYW0gc2VuZGVyLA0KICAgaXQgd2lsbCBiZSBkaXNjb3ZlcmVkIGJ5IHRoZSBSVFAgc3Ry
ZWFtIHJlY2VpdmVyIGJlY2F1c2UgaXQgY29udGludWVzDQogICB0byByZWNlaXZlIHRoZSBSVFAg
c3RyZWFtLiAgSXQgd2lsbCBhbHNvIG5vdCBzZWUgYW55IFBBVVNFRA0KICAgaW5kaWNhdGlvbiAo
U2VjdGlvbiA1LjMpIGZvciB0aGUgc3RyZWFtLiAgVGhlIHNhbWUgY29uZGl0aW9uIGNhbiBiZQ0K
ICAgY2F1c2VkIGJ5IHRoZSBSVFAgc3RyZWFtIHNlbmRlciBoYXZpbmcgcmVjZWl2ZWQgYSBkaXNh
cHByb3ZpbmcgUkVTVU1FDQogICBmcm9tIGEgc3RyZWFtIHJlY2VpdmVyIEEgZm9yIGEgUEFVU0Ug
cmVxdWVzdCBzZW50IGJ5IGEgc3RyZWFtIHNlbmRlcg0KICAgQiwgYnV0IHRoYXQgdGhlIFBBVVNF
IHNlbmRlciAoQikgZGlkIG5vdCByZWNlaXZlIHRoZSBSRVNVTUUgKGZyb20gQSkNCiAgIGFuZCBt
YXkgaW5zdGVhZCB0aGluayB0aGF0IHRoZSBQQVVTRSB3YXMgbG9zdC4gIEluIGJvdGggY2FzZXMs
IGENCiAgIFBBVVNFIHJlcXVlc3QgY2FuIGJlIHJlLXRyYW5zbWl0dGVkIHVzaW5nIHRoZSBzYW1l
IFBhdXNlSUQuICBJZiB1c2luZw0KICAgVE1NQlIgMCB0aGUgcmVxdWVzdCBNQVkgYmUgcmUtdHJh
bnNtaXR0ZWQgd2hlbiB0aGUgcmVxdWVzdGVyIGZhaWxzIHRvDQogICByZWNlaXZlIGEgVE1NQk4g
MCBjb25maXJtYXRpb24uDQoNCiAgIElmIHRoZSBwZW5kaW5nIHN0cmVhbSBwYXVzZSBpcyBhYm9y
dGVkIGR1ZSB0byBhIGRpc2FwcHJvdmluZyBSRVNVTUUsDQogICB0aGUgUGF1c2VJRCBmcm9tIHRo
ZSBkaXNhcHByb3ZlZCBQQVVTRSBpcyBpbnZhbGlkYXRlZCBieSB0aGUgUkVTVU1FDQogICBhbmQg
YW55IG5ldyBQQVVTRSBtdXN0IHVzZSBhbiBpbmNyZW1lbnRlZCBQYXVzZUlEIChpbiBtb2R1bG8N
CiAgIGFyaXRobWV0aWMpIHRvIGJlIGVmZmVjdGl2ZS4NCg0KICAgQW4gUlRQIHN0cmVhbSBzZW5k
ZXIgcmVjZWl2aW5nIGEgUEFVU0Ugbm90IHVzaW5nIHRoZSBhdmFpbGFibGUNCiAgIFBhdXNlSUQg
aW5mb3JtcyB0aGUgUlRQIHN0cmVhbSByZWNlaXZlciBzZW5kaW5nIHRoZSBpbmVmZmVjdGl2ZSBQ
QVVTRQ0KICAgb2YgdGhpcyBjb25kaXRpb24gYnkgc2VuZGluZyBhIFJFRlVTRUQgcmVzcG9uc2Ug
dGhhdCBjb250YWlucyB0aGUNCiAgIG5leHQgYXZhaWxhYmxlIFBhdXNlSUQgdmFsdWUuICBUaGlz
IFJFRlVTRUQgYWxzbyBpbmZvcm1zIHRoZSBSVFANCiAgIHN0cmVhbSByZWNlaXZlciB0aGF0IGl0
IGlzIHByb2JhYmx5IG5vdCBmZWFzaWJsZSB0byBzZW5kIGFub3RoZXINCiAgIFBBVVNFIGZvciBz
b21lIHRpbWUsIG5vdCBldmVuIHdpdGggdGhlIGF2YWlsYWJsZSBQYXVzZUlELCBzaW5jZSB0aGVy
ZQ0KICAgYXJlIG90aGVyIFJUUCBzdHJlYW0gcmVjZWl2ZXJzIHRoYXQgd2lzaCB0byByZWNlaXZl
IHRoZSBzdHJlYW0uDQoNCiAgIEEgc2ltaWxhciBzaXR1YXRpb24gd2hlcmUgYW4gaW5lZmZlY3Rp
dmUgUGF1c2VJRCBpcyBjaG9zZW4gY2FuIGFwcGVhcg0KICAgd2hlbiBhIG5ldyBSVFAgc3RyZWFt
IHJlY2VpdmVyIGpvaW5zIGEgc2Vzc2lvbiBhbmQgd2FudHMgdG8gUEFVU0UgYQ0KICAgc3RyZWFt
LCBidXQgZG9lcyBub3QgeWV0IGtub3cgdGhlIGF2YWlsYWJsZSBQYXVzZUlEIHRvIHVzZS4gIFRo
ZQ0KICAgUkVGVVNFRCByZXNwb25zZSB3aWxsIHRoZW4gcHJvdmlkZSBzdWZmaWNpZW50IGluZm9y
bWF0aW9uIHRvIGNyZWF0ZSBhDQogICB2YWxpZCBQQVVTRS4gIFRoZSByZXF1aXJlZCBleHRyYSBz
aWduYWxpbmcgcm91bmQtdHJpcCBpcyBub3QNCiAgIGNvbnNpZGVyZWQgaGFybWZ1bCwgc2luY2Ug
aXQgaXMgYXNzdW1lZCB0aGF0IHBhdXNpbmcgYSBzdHJlYW0gaXMgbm90DQogICB0aW1lLWNyaXRp
Y2FsIChTZWN0aW9uIDQuMSkuDQoNCg0KDQoNCkJ1cm1hbiwgZXQgYWwuICAgICAgICAgICBFeHBp
cmVzIE1hcmNoIDIzLCAyMDE1ICAgICAgICAgICAgICAgIFtQYWdlIDE1XQ0KDA0KSW50ZXJuZXQt
RHJhZnQgICAgICAgICAgICAgIFJUUCBTdHJlYW0gUGF1c2UgICAgICAgICAgICAgIFNlcHRlbWJl
ciAyMDE0DQoNCg0KICAgVGhlcmUgbWF5IGJlIGxvY2FsIGNvbnNpZGVyYXRpb25zIG1ha2luZyBp
dCBpbXBvc3NpYmxlIG9yIGluZmVhc2libGUNCiAgIHRvIHBhdXNlIHRoZSBzdHJlYW0sIGFuZCB0
aGUgUlRQIHN0cmVhbSBzZW5kZXIgY2FuIHRoZW4gcmVzcG9uZCB3aXRoDQogICBhIFJFRlVTRUQu
ICBJbiB0aGlzIGNhc2UsIGlmIHRoZSB1c2VkIFBhdXNlSUQgd291bGQgb3RoZXJ3aXNlIGhhdmUN
CiAgIGJlZW4gZWZmZWN0aXZlLCBSRUZVU0VEIGNvbnRhaW5zIHRoZSBzYW1lIFBhdXNlSUQgYXMg
aW4gdGhlIFBBVVNFDQogICByZXF1ZXN0LCBhbmQgdGhlIFBhdXNlSUQgaXMga2VwdCBhcyBhdmFp
bGFibGUuICBOb3RlIHRoYXQgd2hlbiB1c2luZw0KICAgVE1NQlIgMCBhcyBQQVVTRSwgdGhhdCBy
ZXF1ZXN0IGNhbm5vdCBiZSByZWZ1c2VkIChUTU1CTiA+IDApIGR1ZSB0bw0KICAgdGhlIGV4aXN0
aW5nIHJlc3RyaWN0aW9uIGluIHNlY3Rpb24gNC4yLjIuMiBvZiBbUkZDNTEwNF0gdGhhdCBUTU1C
Tg0KICAgc2hhbGwgY29udGFpbiB0aGUgY3VycmVudCBib3VuZGluZyBzZXQsIGFuZCB0aGUgZmFj
dCB0aGF0IGEgVE1NQlIgMA0KICAgd2lsbCBhbHdheXMgYmUgdGhlIG1vc3QgcmVzdHJpY3RpdmUg
cG9pbnQgaW4gYW55IGJvdW5kaW5nIHNldC4NCg0KICAgSWYgdGhlIFJUUCBzdHJlYW0gc2VuZGVy
IHJlY2VpdmVzIHNldmVyYWwgaWRlbnRpY2FsIFBBVVNFIGZvciBhbiBSVFANCiAgIHN0cmVhbSB0
aGF0IHdhcyBhbHJlYWR5IGF0IGxlYXN0IG9uY2UgcmVzcG9uZGVkIHdpdGggUkVGVVNFRCBhbmQg
dGhlDQogICBjb25kaXRpb24gY2F1c2luZyBSRUZVU0VEIHJlbWFpbnMsIHRob3NlIGFkZGl0aW9u
YWwgUkVGVVNFRCBzaG91bGQgYmUNCiAgIHNlbnQgd2l0aCByZWd1bGFyIFJUQ1AgdGltaW5nLiAg
QSBzaW5nbGUgUkVGVVNFRCBjYW4gcmVzcG9uZCB0bw0KICAgc2V2ZXJhbCBpZGVudGljYWwgUEFV
U0UgcmVxdWVzdHMuDQoNCjUuMy4gIE1lZGlhIFNlbmRlciBQYXVzaW5nDQoNCiAgIEFuIFJUUCBz
dHJlYW0gc2VuZGVyIGNhbiBjaG9vc2UgdG8gcGF1c2UgdGhlIHN0cmVhbSBhdCBhbnkgdGltZS4N
CiAgIFRoaXMgY2FuIGVpdGhlciBiZSBhcyBhIHJlc3VsdCBvZiByZWNlaXZpbmcgYSBQQVVTRSwg
b3IgYmUgYmFzZWQgb24NCiAgIHNvbWUgbG9jYWwgc2VuZGVyIGNvbnNpZGVyYXRpb24uICBXaGVu
IGl0IGRvZXMsIGl0IHNlbmRzIGEgUEFVU0VEDQogICBpbmRpY2F0aW9uLCBjb250YWluaW5nIHRo
ZSBhdmFpbGFibGUgUGF1c2VJRC4gIE5vdGUgdGhhdCBQYXVzZUlEIGlzDQogICBpbmNyZW1lbnRl
ZCB3aGVuIHNlbmRpbmcgYW4gdW5zb2xpY2l0ZWQgUEFVU0VEICh3aXRob3V0IGhhdmluZw0KICAg
cmVjZWl2ZWQgYSBQQVVTRSkuICBJdCBhbHNvIHNlbmRzIHRoZSBQQVVTRUQgaW5kaWNhdGlvbiBp
biB0aGUgbmV4dA0KICAgdHdvIHJlZ3VsYXIgUlRDUCByZXBvcnRzLCBnaXZlbiB0aGF0IHRoZSBw
YXVzZSBjb25kaXRpb24gaXMgdGhlbg0KICAgc3RpbGwgZWZmZWN0aXZlLg0KDQogICBUaGVyZSBp
cyBubyByZXBseSB0byBhIFBBVVNFRCBpbmRpY2F0aW9uOyBpdCBpcyBzaW1wbHkgYW4gZXhwbGlj
aXQNCiAgIGluZGljYXRpb24gb2YgdGhlIGZhY3QgdGhhdCBhbiBSVFAgc3RyZWFtIGlzIHBhdXNl
ZC4gIFRoaXMgY2FuIGJlDQogICBoZWxwZnVsIGZvciB0aGUgUlRQIHN0cmVhbSByZWNlaXZlciwg
Zm9yIGV4YW1wbGUgdG8gdW5kZXJzdGFuZCB0aGF0DQogICB0cmFuc21pc3Npb24gaXMgZGVsaWJl
cmF0ZWx5IGFuZCB0ZW1wb3JhcmlseSBzdXNwZW5kZWQgYW5kIG5vDQogICBzcGVjaWZpYyBjb3Jy
ZWN0aXZlIGFjdGlvbiBpcyBuZWVkZWQuDQoNCiAgIFRoZSBSVFAgc3RyZWFtIHNlbmRlciBtYXkg
d2FudCB0byBhcHBseSBzb21lIGxvY2FsIGNvbnNpZGVyYXRpb24gdG8NCiAgIGV4YWN0bHkgd2hl
biB0aGUgUlRQIHN0cmVhbSBpcyBwYXVzZWQsIGZvciBleGFtcGxlIGNvbXBsZXRpbmcgc29tZQ0K
ICAgbWVkaWEgdW5pdCBvciBhIGZvcndhcmQgZXJyb3IgY29ycmVjdGlvbiBibG9jaywgYmVmb3Jl
IHBhdXNpbmcgdGhlDQogICBzdHJlYW0uDQoNCiAgIFRoZSBQQVVTRUQgaW5kaWNhdGlvbiBhbHNv
IGNvbnRhaW5zIGluZm9ybWF0aW9uIGFib3V0IHRoZSBSVFANCiAgIGV4dGVuZGVkIGhpZ2hlc3Qg
c2VxdWVuY2UgbnVtYmVyIHdoZW4gdGhlIHBhdXNlIGJlY2FtZSBlZmZlY3RpdmUuDQogICBUaGlz
IHByb3ZpZGVzIFJUUCBzdHJlYW0gcmVjZWl2ZXJzIHdpdGggZmlyc3QgaGFuZCBpbmZvcm1hdGlv
bg0KICAgYWxsb3dpbmcgdGhlbSB0byBrbm93IHdoZXRoZXIgdGhleSBsb3N0IGFueSBwYWNrZXRz
IGp1c3QgYmVmb3JlIHRoZQ0KICAgc3RyZWFtIHBhdXNlZCBvciB3aGVuIHRoZSBzdHJlYW0gaXMg
cmVzdW1lZCBhZ2Fpbi4gIFRoaXMgYWxsb3dzIFJUUA0KICAgc3RyZWFtIHJlY2VpdmVycyB0byBx
dWlja2x5IGFuZCBzYWZlbHkgdGFrZSBpbnRvIGFjY291bnQgdGhhdCB0aGUNCiAgIHN0cmVhbSBp
cyBwYXVzZWQsIGluIGZvciBleGFtcGxlIHJldHJhbnNtaXNzaW9uIG9yIGNvbmdlc3Rpb24gY29u
dHJvbA0KICAgYWxnb3JpdGhtcy4NCg0KDQoNCg0KDQpCdXJtYW4sIGV0IGFsLiAgICAgICAgICAg
RXhwaXJlcyBNYXJjaCAyMywgMjAxNSAgICAgICAgICAgICAgICBbUGFnZSAxNl0NCgwNCkludGVy
bmV0LURyYWZ0ICAgICAgICAgICAgICBSVFAgU3RyZWFtIFBhdXNlICAgICAgICAgICAgICBTZXB0
ZW1iZXIgMjAxNA0KDQoNCiAgIElmIHRoZSBSVFAgc3RyZWFtIHNlbmRlciByZWNlaXZlcyBQQVVT
RSByZXF1ZXN0cyB3aXRoIHRoZSBhdmFpbGFibGUNCiAgIFBhdXNlSUQgd2hpbGUgdGhlIHN0cmVh
bSBpcyBhbHJlYWR5IHBhdXNlZCwgdGhvc2UgcmVxdWVzdHMgYXJlDQogICBpZ25vcmVkLg0KDQog
ICBBcyBsb25nIGFzIHRoZSBzdHJlYW0gaXMgYmVpbmcgcGF1c2VkLCB0aGUgUEFVU0VEIGluZGlj
YXRpb24gTUFZIGJlDQogICBzZW50IHRvZ2V0aGVyIHdpdGggYW55IHJlZ3VsYXIgUlRDUCBTUiBv
ciBSUi4gIEluY2x1ZGluZyBQQVVTRUQgaW4NCiAgIHRoaXMgd2F5IGFsbG93cyBSVFAgc3RyZWFt
IHJlY2VpdmVycyBqb2luaW5nIHdoaWxlIHRoZSBzdHJlYW0gaXMNCiAgIHBhdXNlZCB0byBxdWlj
a2x5IGtub3cgdGhhdCB0aGVyZSBpcyBhIHBhdXNlZCBzdHJlYW0sIHdoYXQgdGhlIGxhc3QNCiAg
IHNlbnQgZXh0ZW5kZWQgUlRQIHNlcXVlbmNlIG51bWJlciB3YXMsIGFuZCB3aGF0IHRoZSBuZXh0
IGF2YWlsYWJsZQ0KICAgUGF1c2VJRCBpcyB0byBiZSBhYmxlIHRvIGNvbnN0cnVjdCB2YWxpZCBQ
QVVTRSBhbmQgUkVTVU1FIHJlcXVlc3RzIGF0DQogICBhIGxhdGVyIHN0YWdlLg0KDQogICBXaGVu
IHRoZSBSVFAgc3RyZWFtIHNlbmRlciBsZWFybnMgdGhhdCBhIG5ldyBFbmQgUG9pbnQgaGFzIGpv
aW5lZCB0aGUNCiAgIFJUUCBzZXNzaW9uLCBmb3IgZXhhbXBsZSBieSBhIG5ldyBTU1JDIGFuZCBh
IENOQU1FIHRoYXQgd2FzIG5vdA0KICAgcHJldmlvdXNseSBzZWVuIGluIHRoZSBSVFAgc2Vzc2lv
biwgaXQgc2hvdWxkIHNlbmQgUEFVU0VEIGluZGljYXRpb25zDQogICBmb3IgYWxsIGl0cyBwYXVz
ZWQgc3RyZWFtcyBhdCBpdHMgZWFybGllc3Qgb3Bwb3J0dW5pdHkuICBJdCBzaG91bGQgaW4NCiAg
IGFkZGl0aW9uIGNvbnRpbnVlIHRvIGluY2x1ZGUgUEFVU0VEIGluZGljYXRpb25zIGluIGF0IGxl
YXN0IHR3bw0KICAgcmVndWxhciBSVENQIHJlcG9ydHMuDQoNCjUuNC4gIFJlcXVlc3RpbmcgdG8g
UmVzdW1lDQoNCiAgIEFuIFJUUCBzdHJlYW0gcmVjZWl2ZXIgY2FuIHJlcXVlc3QgdG8gcmVzdW1l
IGEgc3RyZWFtIHdpdGggYSBSRVNVTUUNCiAgIHJlcXVlc3QgYXQgYW55IHRpbWUsIHN1YmplY3Qg
dG8gQVZQRiB0aW1pbmcgcnVsZXMuICBUaGUgUlRQIHN0cmVhbQ0KICAgcmVjZWl2ZXIgbXVzdCBp
bmNsdWRlIHRoZSBhdmFpbGFibGUgUGF1c2VJRCBpbiB0aGUgUkVTVU1FIHJlcXVlc3QgZm9yDQog
ICBpdCB0byBiZSBlZmZlY3RpdmUuDQoNCiAgIEEgcGF1c2luZyBSVFAgc3RyZWFtIHNlbmRlciB0
aGF0IHJlY2VpdmVzIGEgUkVTVU1FIGluY2x1ZGluZyB0aGUNCiAgIGNvcnJlY3QgYXZhaWxhYmxl
IFBhdXNlSUQgcmVzdW1lcyB0aGUgc3RyZWFtIGF0IHRoZSBlYXJsaWVzdA0KICAgb3Bwb3J0dW5p
dHkuICBSZWNlaXZpbmcgUkVTVU1FIHJlcXVlc3RzIGZvciBhIHN0cmVhbSB0aGF0IGlzIG5vdA0K
ICAgcGF1c2VkIGRvZXMgbm90IHJlcXVpcmUgYW55IGFjdGlvbiBhbmQgY2FuIGJlIGlnbm9yZWQu
DQoNCiAgIFRoZXJlIG1heSBiZSBsb2NhbCBjb25zaWRlcmF0aW9ucyBhdCB0aGUgUlRQIHN0cmVh
bSBzZW5kZXIsIGZvcg0KICAgZXhhbXBsZSB0aGF0IHRoZSBtZWRpYSBkZXZpY2UgaXMgbm90IHJl
YWR5LCBtYWtpbmcgaXQgdGVtcG9yYXJpbHkNCiAgIGltcG9zc2libGUgdG8gcmVzdW1lIHRoZSBz
dHJlYW0gYXQgdGhhdCBwb2ludCBpbiB0aW1lLCBhbmQgdGhlIFJUUA0KICAgc3RyZWFtIHNlbmRl
ciBNQVkgdGhlbiByZXNwb25kIHdpdGggYSBSRUZVU0VEIGNvbnRhaW5pbmcgdGhlIHNhbWUNCiAg
IFBhdXNlSUQgYXMgaW4gdGhlIFJFU1VNRS4gIFdoZW4gcmVjZWl2aW5nIHN1Y2ggUkVGVVNFRCB3
aXRoIGEgUGF1c2VJRA0KICAgaWRlbnRpY2FsIHRvIHRoZSBvbmUgaW4gdGhlIHNlbnQgUkVTVU1F
LCBSVFAgc3RyZWFtIHJlY2VpdmVycyBTSE9VTEQNCiAgIHRoZW4gYXZvaWQgc2VuZGluZyBmdXJ0
aGVyIFJFU1VNRSByZXF1ZXN0cyBmb3Igc29tZSByZWFzb25hYmxlIGFtb3VudA0KICAgb2YgdGlt
ZSwgdG8gYWxsb3cgdGhlIGNvbmRpdGlvbiB0byBjbGVhci4NCg0KICAgSWYgdGhlIFJUUCBzdHJl
YW0gc2VuZGVyIHJlY2VpdmVzIHNldmVyYWwgaWRlbnRpY2FsIFJFU1VNRSBmb3IgYW4gUlRQDQog
ICBzdHJlYW0gdGhhdCB3YXMgYWxyZWFkeSBhdCBsZWFzdCBvbmNlIHJlc3BvbmRlZCB3aXRoIFJF
RlVTRUQgYW5kIHRoZQ0KICAgY29uZGl0aW9uIGNhdXNpbmcgUkVGVVNFRCByZW1haW5zLCB0aG9z
ZSBhZGRpdGlvbmFsIFJFRlVTRUQgc2hvdWxkIGJlDQogICBzZW50IHdpdGggcmVndWxhciBSVENQ
IHRpbWluZy4gIEEgc2luZ2xlIFJFRlVTRUQgY2FuIHJlc3BvbmQgdG8NCiAgIHNldmVyYWwgaWRl
bnRpY2FsIFJFU1VNRSByZXF1ZXN0cy4NCg0KICAgQSBwYXVzaW5nIFJUUCBzdHJlYW0gc2VuZGVy
IGNhbiBhcHBseSBsb2NhbCBjb25zaWRlcmF0aW9ucyBhbmQgTUFZDQogICByZXN1bWUgYSBwYXVz
ZWQgUlRQIHN0cmVhbSBhdCBhbnkgdGltZS4gIElmIFRNTUJSIDAgd2FzIHVzZWQgdG8gcGF1c2UN
Cg0KDQoNCkJ1cm1hbiwgZXQgYWwuICAgICAgICAgICBFeHBpcmVzIE1hcmNoIDIzLCAyMDE1ICAg
ICAgICAgICAgICAgIFtQYWdlIDE3XQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgIFJU
UCBTdHJlYW0gUGF1c2UgICAgICAgICAgICAgIFNlcHRlbWJlciAyMDE0DQoNCg0KICAgdGhlIFJU
UCBzdHJlYW0sIGl0IGNhbm5vdCBiZSByZXN1bWVkIGR1ZSB0byBsb2NhbCBjb25zaWRlcmF0aW9u
cywNCiAgIHVubGVzcyB0aGUgUlRQIHN0cmVhbSBpcyBwYXVzZWQgb25seSBkdWUgdG8gbG9jYWwg
Y29uc2lkZXJhdGlvbnMNCiAgIChTZWN0aW9uIDUuMykgYW5kIHRodXMgbm8gUlRQIHN0cmVhbSBy
ZWNlaXZlciBoYXMgcmVxdWVzdGVkIHRvIHBhdXNlDQogICB0aGUgc3RyZWFtIHdpdGggVE1NQlIg
MC4NCg0KICAgV2hlbiByZXN1bWluZyBhIHBhdXNlZCBzdHJlYW0sIGVzcGVjaWFsbHkgZm9yIG1l
ZGlhIHRoYXQgbWFrZXMgdXNlIG9mDQogICB0ZW1wb3JhbCByZWR1bmRhbmN5IGJldHdlZW4gc2Ft
cGxlcyBzdWNoIGFzIHZpZGVvLCB0aGUgdGVtcG9yYWwNCiAgIGRlcGVuZGVuY3kgYmV0d2VlbiBz
YW1wbGVzIHRha2VuIGJlZm9yZSB0aGUgcGF1c2UgYW5kIGF0IHRoZSB0aW1lDQogICBpbnN0YW50
IHRoZSBzdHJlYW0gaXMgcmVzdW1lZCBtYXkgbm90IGJlIGFwcHJvcHJpYXRlIHRvIHVzZSBpbiB0
aGUNCiAgIGVuY29kaW5nLiAgU2hvdWxkIHN1Y2ggdGVtcG9yYWwgZGVwZW5kZW5jeSBiZXR3ZWVu
IGJlZm9yZSBhbmQgYWZ0ZXINCiAgIHRoZSBtZWRpYSB3YXMgcGF1c2VkIGJlIHVzZWQgYnkgdGhl
IFJUUCBzdHJlYW0gc2VuZGVyLCBpdCByZXF1aXJlcw0KICAgdGhlIFJUUCBzdHJlYW0gcmVjZWl2
ZXIgdG8gaGF2ZSBzYXZlZCB0aGUgc2FtcGxlIGZyb20gYmVmb3JlIHRoZQ0KICAgcGF1c2UgZm9y
IHN1Y2Nlc3NmdWwgY29udGludWVkIGRlY29kaW5nIHdoZW4gcmVzdW1pbmcuICBUaGUgdXNlIG9m
DQogICB0aGlzIHRlbXBvcmFsIGRlcGVuZGVuY3kgaXMgbGVmdCB1cCB0byB0aGUgUlRQIHN0cmVh
bSBzZW5kZXIuICBJZg0KICAgdGVtcG9yYWwgZGVwZW5kZW5jeSBpcyBub3QgdXNlZCB3aGVuIHRo
ZSBSVFAgc3RyZWFtIGlzIHJlc3VtZWQsIHRoZQ0KICAgZmlyc3QgZW5jb2RlZCBzYW1wbGUgYWZ0
ZXIgdGhlIHBhdXNlIHdpbGwgbm90IGNvbnRhaW4gYW55IHRlbXBvcmFsDQogICBkZXBlbmRlbmN5
IHRvIHNhbXBsZXMgYmVmb3JlIHRoZSBwYXVzZSAoZm9yIHZpZGVvIGl0IG1heSBiZSBhIHNvLQ0K
ICAgY2FsbGVkIGludHJhIHBpY3R1cmUpLiAgSWYgdGVtcG9yYWwgZGVwZW5kZW5jeSB0byBiZWZv
cmUgdGhlIHBhdXNlIGlzDQogICB1c2VkIGJ5IHRoZSBSVFAgc3RyZWFtIHNlbmRlciB3aGVuIHJl
c3VtaW5nLCBhbmQgaWYgdGhlIFJUUCBzdHJlYW0NCiAgIHJlY2VpdmVyIGRpZCBub3Qgc2F2ZSBh
bnkgc2FtcGxlIGZyb20gYmVmb3JlIHRoZSBwYXVzZSwgdGhlIFJUUA0KICAgc3RyZWFtIHJlY2Vp
dmVyIGNhbiB1c2UgYSBGSVIgcmVxdWVzdCBbUkZDNTEwNF0gdG8gZXhwbGljaXRseSBhc2sgZm9y
DQogICBhIHNhbXBsZSB3aXRob3V0IHRlbXBvcmFsIGRlcGVuZGVuY3kgKGZvciB2aWRlbyBhIHNv
LWNhbGxlZCBpbnRyYQ0KICAgcGljdHVyZSksIGV2ZW4gYXQgdGhlIHNhbWUgdGltZSBhcyBzZW5k
aW5nIHRoZSBSRVNVTUUuDQoNCjUuNS4gIFRNTUJSL1RNTUJOIENvbnNpZGVyYXRpb25zDQoNCiAg
IEFzIHN0YXRlZCBhYm92ZSwgVE1NQlIvVE1NQk4gbWF5IGJlIHVzZWQgdG8gcHJvdmlkZSBwYXVz
ZSBhbmQgcmVzdW1lDQogICBmdW5jdGlvbmFsaXR5IGZvciB0aGUgcG9pbnQtdG8tcG9pbnQgY2Fz
ZS4gIElmIHRoZSB0b3BvbG9neSBpcyBub3QNCiAgIHBvaW50LXRvLXBvaW50LCBUTU1CUi9UTU1C
TiBjYW5ub3Qgc2FmZWx5IGJlIHVzZWQgZm9yIHBhdXNlIG9yDQogICByZXN1bWUuDQoNCiAgIFRo
aXMgaXMgYSBicmllZiBzdW1tYXJ5IG9mIHdoYXQgZnVuY3Rpb25hbGl0eSBpcyBwcm92aWRlZCB3
aGVuIHVzaW5nDQogICBUTU1CUi9UTU1CTjoNCg0KICAgVE1NQlIgMDogIENvcnJlc3BvbmRzIHRv
IFBBVVNFLCB3aXRob3V0IHRoZSByZXF1aXJlbWVudCBmb3IgYW55IGhvbGQtDQogICAgICBvZmYg
cGVyaW9kIHRvIHdhaXQgZm9yIFJFU1VNRSBiZWZvcmUgcGF1c2luZyB0aGUgUlRQIHN0cmVhbS4N
Cg0KICAgVE1NQlIgPjA6ICBDb3JyZXNwb25kcyB0byBSRVNVTUUgd2hlbiB0aGUgUlRQIHN0cmVh
bSB3YXMgcHJldmlvdXNseQ0KICAgICAgcGF1c2VkIHdpdGggVE1NQlIgMC4gIFNpbmNlIHRoZXJl
IGlzIG9ubHkgYSBzaW5nbGUgUlRQIHN0cmVhbQ0KICAgICAgcmVjZWl2ZXIsIHRoZXJlIGlzIG5v
IG5lZWQgZm9yIHRoZSBSVFAgc3RyZWFtIHNlbmRlciB0byBkZWxheQ0KICAgICAgcmVzdW1pbmcg
dGhlIHN0cmVhbSB1bnRpbCBhZnRlciBzZW5kaW5nIFRNTUJOID4wLCBvciB0byBhcHBseSB0aGUN
CiAgICAgIGhvbGQtb2ZmIHBlcmlvZCBzcGVjaWZpZWQgaW4gW1JGQzUxMDRdIGJlZm9yZSBpbmNy
ZWFzaW5nIHRoZQ0KICAgICAgYml0cmF0ZSBmcm9tIHplcm8uICBUaGUgYml0cmF0ZSB2YWx1ZSB1
c2VkIHdoZW4gcmVzdW1pbmcgYWZ0ZXINCiAgICAgIHBhdXNpbmcgd2l0aCBUTU1CUiAwIGlzIGVp
dGhlciBhY2NvcmRpbmcgdG8ga25vd24gbGltaXRhdGlvbnMsIG9yDQogICAgICBiYXNlZCBvbiBz
dGFydGluZyBhIHN0cmVhbSB3aXRoIHRoZSBjb25maWd1cmVkIG1heGltdW0gZm9yIHRoZQ0KICAg
ICAgc3RyZWFtIG9yIHNlc3Npb24sIGZvciBleGFtcGxlIGdpdmVuIGJ5IGItcGFyYW1ldGVyIGlu
IFNEUC4NCg0KDQoNCg0KDQpCdXJtYW4sIGV0IGFsLiAgICAgICAgICAgRXhwaXJlcyBNYXJjaCAy
MywgMjAxNSAgICAgICAgICAgICAgICBbUGFnZSAxOF0NCgwNCkludGVybmV0LURyYWZ0ICAgICAg
ICAgICAgICBSVFAgU3RyZWFtIFBhdXNlICAgICAgICAgICAgICBTZXB0ZW1iZXIgMjAxNA0KDQoN
CiAgIFRNTUJOIDA6ICBDb3JyZXNwb25kcyB0byBQQVVTRUQgd2hlbiB0aGUgUlRQIHN0cmVhbSB3
YXMgcGF1c2VkIHdpdGgNCiAgICAgIFRNTUJSIDAsIGJ1dCBtYXksIGp1c3QgYXMgUEFVU0VELCBh
bHNvIGJlIHVzZWQgdW5zb2xpY2l0ZWQuICBBbg0KICAgICAgdW5zb2xpY2l0ZWQgUlRQIHN0cmVh
bSBwYXVzZSBiYXNlZCBvbiBsb2NhbCBzZW5kZXIgY29uc2lkZXJhdGlvbnMNCiAgICAgIHVzZXMg
dGhlIFJUUCBzdHJlYW0ncyBvd24gU1NSQyBhcyBUTU1CUiByZXN0cmljdGlvbiBvd25lciBpbiB0
aGUNCiAgICAgIFRNTUJOIG1lc3NhZ2UgYm91bmRpbmcgc2V0LiAgQWxzbyBjb3JyZXNwb25kcyB0
byBhIFJFRlVTRUQNCiAgICAgIGluZGljYXRpb24gd2hlbiBhIHN0cmVhbSBpcyByZXF1ZXN0ZWQg
dG8gYmUgcmVzdW1lZCB3aXRoIFRNTUJSID4wLg0KDQogICBUTU1CTiA+MDogIENhbm5vdCBiZSB1
c2VkIGFzIFJFRlVTRUQgaW5kaWNhdGlvbiB3aGVuIGEgc3RyZWFtIGlzDQogICAgICByZXF1ZXN0
ZWQgdG8gYmUgcGF1c2VkIHdpdGggVE1NQlIgMCwgZm9yIHJlYXNvbnMgc3RhdGVkIGluDQogICAg
ICBTZWN0aW9uIDUuMi4NCg0KNi4gIFBhcnRpY2lwYW50IFN0YXRlcw0KDQogICBUaGlzIGRvY3Vt
ZW50IGludHJvZHVjZXMgdGhyZWUgbmV3IHN0YXRlcyBmb3IgYSBzdHJlYW0gaW4gYW4gUlRQDQog
ICBzZW5kZXIsIGFjY29yZGluZyB0byB0aGUgZmlndXJlIGFuZCBzdWItc2VjdGlvbnMgYmVsb3cu
ICBBbnkNCiAgIHJlZmVyZW5jZXMgdG8gUEFVU0UsIFBBVVNFRCwgUkVTVU1FIGFuZCBSRUZVU0VE
IGluIHRoaXMgc2VjdGlvbiBTSEFMTA0KICAgYmUgdGFrZW4gdG8gYXBwbHkgdG8gdGhlIGV4dGVu
dCBwb3NzaWJsZSBhbHNvIHdoZW4gVE1NQlIvVE1NQk4gYXJlDQogICB1c2VkIChTZWN0aW9uIDUu
NSkgZm9yIHRoaXMgZnVuY3Rpb25hbGl0eS4NCg0KICAgICAgICAgKy0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsNCiAgICAgICAgIHwgICAgICAg
ICAgICAgICAgICAgICBSZWNlaXZlZCBSRVNVTUUgICAgICAgICAgICAgICAgICB8DQogICAgICAg
ICB2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
fA0KICAgICstLS0tLS0tLS0rIFJlY2VpdmVkIFBBVVNFICArLS0tLS0tLS0tKyBIb2xkLW9mZiBw
ZXJpb2QgKy0tLS0tLS0tKw0KICAgIHwgUGxheWluZyB8LS0tLS0tLS0tLS0tLS0tLT58IFBhdXNp
bmcgfC0tLS0tLS0tLS0tLS0tLS0+fCBQYXVzZWQgfA0KICAgIHwgICAgICAgICB8PC0tLS0tLS0t
LS0tLS0tLS18ICAgICAgICAgfCAgICAgICAgICAgICAgICAgfCAgICAgICAgfA0KICAgICstLS0t
LS0tLS0rIFJlY2VpdmVkIFJFU1VNRSArLS0tLS0tLS0tKyAgICAgICAgICAgICAgICAgKy0tLS0t
LS0tKw0KICAgICAgXiAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgIHwgUEFVU0UgZGVjaXNp
b24gICAgICAgICAgIHwNCiAgICAgIHwgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICB2ICAg
ICAgICAgICAgICAgICAgICAgICAgICB8DQogICAgICB8ICAgICB8ICBQQVVTRSBkZWNpc2lvbiAg
ICstLS0tLS0tLS0rICAgIFBBVVNFIGRlY2lzaW9uICAgfA0KICAgICAgfCAgICAgKy0tLS0tLS0t
LS0tLS0tLS0tLT58IExvY2FsICAgfDwtLS0tLS0tLS0tLS0tLS0tLS0tLSsNCiAgICAgICstLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tfCBQYXVzZWQgIHwNCiAgICAgICAgICAgICAgUkVTVU1FIGRl
Y2lzaW9uICAgKy0tLS0tLS0tLSsNCg0KDQogICAgICAgICAgICAgICAgICAgICAgICBGaWd1cmUg
NDogUlRQIFBhdXNlIFN0YXRlcw0KDQo2LjEuICBQbGF5aW5nIFN0YXRlDQoNCiAgIFRoaXMgc3Rh
dGUgaXMgbm90IG5ldywgYnV0IGlzIHRoZSBub3JtYWwgbWVkaWEgc2VuZGluZyBzdGF0ZSBmcm9t
DQogICBbUkZDMzU1MF0uICBXaGVuIGVudGVyaW5nIHRoZSBzdGF0ZSwgdGhlIFBhdXNlSUQgTVVT
VCBiZSBpbmNyZW1lbnRlZA0KICAgYnkgb25lIGluIG1vZHVsbyBhcml0aG1ldGljLiAgVGhlIFJU
UCBzZXF1ZW5jZSBudW1iZXIgZm9yIHRoZSBmaXJzdA0KICAgcGFja2V0IHNlbnQgYWZ0ZXIgYSBw
YXVzZSBTSEFMTCBiZSBpbmNyZW1lbnRlZCBieSBvbmUgY29tcGFyZWQgdG8gdGhlDQogICBoaWdo
ZXN0IFJUUCBzZXF1ZW5jZSBudW1iZXIgc2VudCBiZWZvcmUgdGhlIHBhdXNlLiAgVGhlIGZpcnN0
IFJUUA0KICAgVGltZSBTdGFtcCBmb3IgdGhlIGZpcnN0IHBhY2tldCBzZW50IGFmdGVyIGEgcGF1
c2UgU0hPVUxEIGJlIHNldA0KICAgYWNjb3JkaW5nIHRvIGNhcHR1cmUgdGltZXMgYXQgdGhlIHNv
dXJjZSwgbWVhbmluZyB0aGUgUlRQIFRpbWUgU3RhbXANCiAgIGRpZmZlcmVuY2UgY29tcGFyZWQg
dG8gYmVmb3JlIHRoZSBwYXVzZSByZWZsZWN0cyB0aGUgdGltZSB0aGUgUlRQDQogICBzdHJlYW0g
d2FzIHBhdXNlZC4NCg0KDQoNCg0KQnVybWFuLCBldCBhbC4gICAgICAgICAgIEV4cGlyZXMgTWFy
Y2ggMjMsIDIwMTUgICAgICAgICAgICAgICAgW1BhZ2UgMTldDQoMDQpJbnRlcm5ldC1EcmFmdCAg
ICAgICAgICAgICAgUlRQIFN0cmVhbSBQYXVzZSAgICAgICAgICAgICAgU2VwdGVtYmVyIDIwMTQN
Cg0KDQo2LjIuICBQYXVzaW5nIFN0YXRlDQoNCiAgIEluIHRoaXMgc3RhdGUsIHRoZSBSVFAgc3Ry
ZWFtIHNlbmRlciBoYXMgcmVjZWl2ZWQgYXQgbGVhc3Qgb25lIFBBVVNFDQogICBtZXNzYWdlIGZv
ciB0aGUgc3RyZWFtIGluIHF1ZXN0aW9uLiAgVGhlIFJUUCBzdHJlYW0gc2VuZGVyIFNIQUxMIHdh
aXQNCiAgIGR1cmluZyBhIGhvbGQtb2ZmIHBlcmlvZCBmb3IgdGhlIHBvc3NpYmxlIHJlY2VwdGlv
biBvZiBSRVNVTUUNCiAgIG1lc3NhZ2VzIGZvciB0aGUgUlRQIHN0cmVhbSBiZWluZyBwYXVzZWQg
YmVmb3JlIGFjdHVhbGx5IHBhdXNpbmcgUlRQDQogICBzdHJlYW0gdHJhbnNtaXNzaW9uLiAgVGhl
IGhvbGQtb2ZmIHBlcmlvZCB0byB3YWl0IFNIQUxMIGJlIGxvbmcNCiAgIGVub3VnaCB0byBhbGxv
dyBhbm90aGVyIFJUUCBzdHJlYW0gcmVjZWl2ZXIgdG8gcmVzcG9uZCB0byB0aGUgUEFVU0UNCiAg
IHdpdGggYSBSRVNVTUUsIGlmIGl0IGRldGVybWluZXMgdGhhdCBpdCB3b3VsZCBub3QgbGlrZSB0
byBzZWUgdGhlDQogICBzdHJlYW0gcGF1c2VkLiAgVGhpcyBob2xkLW9mZiBwZXJpb2QgaXMgZGV0
ZXJtaW5lZCBieSB0aGUgZm9ybXVsYToNCg0KICAgICAgMiAqIFJUVCArIFRfZGl0aGVyX21heCwN
Cg0KICAgd2hlcmUgUlRUIGlzIHRoZSBsb25nZXN0IHJvdW5kIHRyaXAga25vd24gdG8gdGhlIFJU
UCBzdHJlYW0gc2VuZGVyDQogICBhbmQgVF9kaXRoZXJfbWF4IGlzIGRlZmluZWQgaW4gc2VjdGlv
biAzLjQgb2YgW1JGQzQ1ODVdLiAgVGhlIGhvbGQtDQogICBvZmYgcGVyaW9kIE1BWSBiZSBzZXQg
dG8gMCBieSBzb21lIHNpZ25hbGluZyAoU2VjdGlvbiA5KSBtZWFucyB3aGVuDQogICBpdCBjYW4g
YmUgZGV0ZXJtaW5lZCB0aGF0IHRoZXJlIGlzIG9ubHkgYSBzaW5nbGUgcmVjZWl2ZXIsIGZvcg0K
ICAgZXhhbXBsZSBpbiBwb2ludC10by1wb2ludCBvciBzb21lIHVuaWNhc3Qgc2l0dWF0aW9ucy4N
Cg0KICAgSWYgdGhlIFJUUCBzdHJlYW0gc2VuZGVyIGhhcyBzZXQgdGhlIGhvbGQtb2ZmIHBlcmlv
ZCB0byAwIGFuZA0KICAgcmVjZWl2ZXMgaW5mb3JtYXRpb24gdGhhdCBpdCB3YXMgYW4gaW5jb3Jy
ZWN0IGRlY2lzaW9uIGFuZCB0aGF0IHRoZXJlDQogICBhcmUgaW4gZmFjdCBzZXZlcmFsIHJlY2Vp
dmVycyBvZiB0aGUgc3RyZWFtLCBmb3IgZXhhbXBsZSBieSBSVENQIFJSLA0KICAgaXQgTVVTVCBj
aGFuZ2UgdGhlIGhvbGQtb2ZmIHRvIGluc3RlYWQgYmUgYmFzZWQgb24gdGhlIGFib3ZlIGZvcm11
bGEuDQoNCjYuMy4gIFBhdXNlZCBTdGF0ZQ0KDQogICBBbiBSVFAgc3RyZWFtIGlzIGluIHBhdXNl
ZCBzdGF0ZSB3aGVuIHRoZSBzZW5kZXIgcGF1c2VzIGl0cw0KICAgdHJhbnNtaXNzaW9uIGFmdGVy
IHJlY2VpdmluZyBhdCBsZWFzdCBvbmUgUEFVU0UgbWVzc2FnZSBhbmQgdGhlIGhvbGQtDQogICBv
ZmYgcGVyaW9kIGhhcyBwYXNzZWQgd2l0aG91dCByZWNlaXZpbmcgYW55IFJFU1VNRSBtZXNzYWdl
IGZvciB0aGF0DQogICBzdHJlYW0uDQoNCiAgIFdoZW4gZW50ZXJpbmcgdGhlIHN0YXRlLCB0aGUg
UlRQIHN0cmVhbSBzZW5kZXIgU0hBTEwgc2VuZCBhIFBBVVNFRA0KICAgaW5kaWNhdGlvbiB0byBh
bGwga25vd24gUlRQIHN0cmVhbSByZWNlaXZlcnMsIGFuZCBTSEFMTCBhbHNvIHJlcGVhdA0KICAg
UEFVU0VEIGluIHRoZSBuZXh0IHR3byByZWd1bGFyIFJUQ1AgcmVwb3J0cy4NCg0KICAgUGF1c2lu
ZyBhbiBSVFAgc3RyZWFtIE1VU1QgTk9UIGFmZmVjdCB0aGUgc2VuZGluZyBvZiBSVFAga2VlcGFs
aXZlDQogICBbUkZDNjI2M11bUkZDNTI0NV0gYXBwbGljYWJsZSB0byB0aGF0IFJUUCBzdHJlYW0u
DQoNCiAgIEZvbGxvd2luZyBzdWItc2VjdGlvbnMgZGlzY3Vzc2VzIHNvbWUgcG90ZW50aWFsIGlz
c3VlcyB3aGVuIGFuIFJUUA0KICAgc2VuZGVyIGdvZXMgaW50byBwYXVzZWQgc3RhdGUuICBUaGVz
ZSBjb25kaXRpb25zIGFyZSBhbHNvIHZhbGlkIGlmIGFuDQogICBSVFAgVHJhbnNsYXRvciBpcyB1
c2VkIGluIHRoZSBjb21tdW5pY2F0aW9uLiAgV2hlbiBhbiBSVFAgTWl4ZXINCiAgIGltcGxlbWVu
dGluZyB0aGlzIHNwZWNpZmljYXRpb24gaXMgaW52b2x2ZWQgYmV0d2VlbiB0aGUgcGFydGljaXBh
bnRzDQogICAod2hpY2ggZm9yd2FyZHMgdGhlIHN0cmVhbSBieSBtYXJraW5nIHRoZSBSVFAgZGF0
YSB3aXRoIGl0cyBvd24NCiAgIFNTUkMpLCBpdCBTSEFMTCBiZSBhIHJlc3BvbnNpYmlsaXR5IG9m
IHRoZSBNaXhlciB0byBjb250cm9sIHNlbmRpbmcNCiAgIFBBVVNFIGFuZCBSRVNVTUUgcmVxdWVz
dHMgdG8gdGhlIHNlbmRlci4gIFRoZSBiZWxvdyBjb25kaXRpb25zIGFsc28NCiAgIGFwcGx5IHRv
IHRoZSBzZW5kZXIgYW5kIHJlY2VpdmVyIHBhcnRzIG9mIHRoZSBSVFAgTWl4ZXIsDQogICByZXNw
ZWN0aXZlbHkuDQoNCg0KDQoNCkJ1cm1hbiwgZXQgYWwuICAgICAgICAgICBFeHBpcmVzIE1hcmNo
IDIzLCAyMDE1ICAgICAgICAgICAgICAgIFtQYWdlIDIwXQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAg
ICAgICAgICAgIFJUUCBTdHJlYW0gUGF1c2UgICAgICAgICAgICAgIFNlcHRlbWJlciAyMDE0DQoN
Cg0KNi4zLjEuICBSVENQIEJZRSBNZXNzYWdlDQoNCiAgIFdoZW4gYSBwYXJ0aWNpcGFudCBsZWF2
ZXMgdGhlIFJUUCBzZXNzaW9uLCBpdCBzZW5kcyBhbiBSVENQIEJZRQ0KICAgbWVzc2FnZS4gIElu
IGFkZGl0aW9uIHRvIHRoZSBzZW1hbnRpY3MgZGVzY3JpYmVkIGluIHNlY3Rpb24gNi4zLjQgYW5k
DQogICA2LjMuNyBvZiBSVFAgW1JGQzM1NTBdLCBmb2xsb3dpbmcgdHdvIGNvbmRpdGlvbnMgTVVT
VCBhbHNvIGJlDQogICBjb25zaWRlcmVkIHdoZW4gYW4gUlRQIHBhcnRpY2lwYW50IHNlbmRzIGFu
IFJUQ1AgQllFIG1lc3NhZ2UsDQoNCiAgIG8gIElmIGEgcGF1c2VkIHNlbmRlciBzZW5kcyBhbiBS
VENQIEJZRSBtZXNzYWdlLCByZWNlaXZlcnMgb2JzZXJ2aW5nDQogICAgICB0aGlzIFNIQUxMIE5P
VCBzZW5kIGZ1cnRoZXIgUEFVU0Ugb3IgUkVTVU1FIHJlcXVlc3RzIHRvIGl0Lg0KDQogICBvICBT
aW5jZSBhIHNlbmRlciBwYXVzZXMgaXRzIHRyYW5zbWlzc2lvbiBvbiByZWNlaXZpbmcgdGhlIFBB
VVNFDQogICAgICByZXF1ZXN0cyBmcm9tIGFueSByZWNlaXZlciBpbiBhIHNlc3Npb24sIHRoZSBz
ZW5kZXIgTVVTVCBrZWVwDQogICAgICByZWNvcmQgb2Ygd2hpY2ggcmVjZWl2ZXIgdGhhdCBjYXVz
ZWQgdGhlIFJUUCBzdHJlYW0gdG8gcGF1c2UuICBJZg0KICAgICAgdGhhdCByZWNlaXZlciBzZW5k
cyBhbiBSVENQIEJZRSBtZXNzYWdlIG9ic2VydmVkIGJ5IHRoZSBzZW5kZXIsDQogICAgICB0aGUg
c2VuZGVyIFNIQUxMIHJlc3VtZSB0aGUgUlRQIHN0cmVhbS4NCg0KNi4zLjIuICBTU1JDIFRpbWUt
b3V0DQoNCiAgIFNlY3Rpb24gNi4zLjUgaW4gUlRQIFtSRkMzNTUwXSBkZXNjcmliZXMgdGhlIFNT
UkMgdGltZS1vdXQgb2YgYW4gUlRQDQogICBwYXJ0aWNpcGFudC4gIEV2ZXJ5IFJUUCBwYXJ0aWNp
cGFudCBtYWludGFpbnMgYSBzZW5kZXIgYW5kIHJlY2VpdmVyDQogICBsaXN0IGluIGEgc2Vzc2lv
bi4gIElmIGEgcGFydGljaXBhbnQgZG9lcyBub3QgZ2V0IGFueSBSVFAgb3IgUlRDUA0KICAgcGFj
a2V0cyBmcm9tIHNvbWUgb3RoZXIgcGFydGljaXBhbnQgZm9yIHRoZSBsYXN0IGZpdmUgUlRDUCBy
ZXBvcnRpbmcNCiAgIGludGVydmFscyBpdCByZW1vdmVzIHRoYXQgcGFydGljaXBhbnQgZnJvbSB0
aGUgcmVjZWl2ZXIgbGlzdC4gIEFueQ0KICAgc3RyZWFtcyB0aGF0IHdlcmUgcGF1c2VkIGJ5IHRo
YXQgcmVtb3ZlZCBwYXJ0aWNpcGFudCBTSEFMTCBiZQ0KICAgcmVzdW1lZC4NCg0KNi40LiAgTG9j
YWwgUGF1c2VkIFN0YXRlDQoNCiAgIFRoaXMgc3RhdGUgY2FuIGJlIGVudGVyZWQgYXQgYW55IHRp
bWUsIGJhc2VkIG9uIGxvY2FsIGRlY2lzaW9uIGZyb20NCiAgIHRoZSBSVFAgc3RyZWFtIHNlbmRl
ci4gIEFzIGZvciBQYXVzZWQgU3RhdGUgKFNlY3Rpb24gNi4zKSwgdGhlIFJUUA0KICAgc3RyZWFt
IHNlbmRlciBTSEFMTCBzZW5kIGEgUEFVU0VEIGluZGljYXRpb24gdG8gYWxsIGtub3duIFJUUCBz
dHJlYW0NCiAgIHJlY2VpdmVycywgd2hlbiBlbnRlcmluZyB0aGUgc3RhdGUsIGFuZCByZXBlYXQg
aXQgaW4gdGhlIG5leHQgdHdvDQogICByZWd1bGFyIFJUQ1AgcmVwb3J0cywgdW5sZXNzIHRoZSBz
dHJlYW0gd2FzIGFscmVhZHkgaW4gcGF1c2VkIHN0YXRlDQogICAoU2VjdGlvbiA2LjMpLiAgV2hl
biB1c2luZyBUTU1CTiAwIGFzIFBBVVNFRCBpbmRpY2F0aW9uLCBiZWluZyBpbg0KICAgcGF1c2Vk
IHN0YXRlLCBhbmQgZW50ZXJpbmcgbG9jYWwgcGF1c2VkIHN0YXRlLCB0aGUgUlRQIHN0cmVhbSBz
ZW5kZXINCiAgIFNIQUxMIHNlbmQgVE1NQk4gMCB3aXRoIGl0c2VsZiBpbiB0aGUgVE1NQk4gYm91
bmRpbmcgc2V0Lg0KDQogICBBcyBpbmRpY2F0ZWQgaW4gRmlndXJlIDQsIHRoaXMgc3RhdGUgaGFz
IGhpZ2hlciBwcmVzZWRlbmNlIHRoYW4NCiAgIHBhdXNlZCBzdGF0ZSAoU2VjdGlvbiA2LjMpIGFu
ZCBSRVNVTUUgbWVzc2FnZXMgYWxvbmUgY2Fubm90IHJlc3VtZSBhDQogICBwYXVzZWQgUlRQIHN0
cmVhbSBhcyBsb25nIGFzIHRoZSBsb2NhbCBkZWNpc2lvbiBzdGlsbCBhcHBsaWVzLg0KDQogICBQ
YXVzaW5nIGFuIFJUUCBzdHJlYW0gTVVTVCBOT1QgYWZmZWN0IHRoZSBzZW5kaW5nIG9mIFJUUCBr
ZWVwYWxpdmUNCiAgIFtSRkM2MjYzXVtSRkM1MjQ1XSBhcHBsaWNhYmxlIHRvIHRoYXQgUlRQIHN0
cmVhbS4NCg0KICAgV2hlbiBsZWF2aW5nIHRoZSBzdGF0ZSwgdGhlIHN0cmVhbSBzdGF0ZSBTSEFM
TCBiZWNvbWUgUGxheWluZywNCiAgIHJlZ2FyZGxlc3Mgd2hldGhlciBvciBub3QgdGhlcmUgd2Vy
ZSBhbnkgUlRQIHN0cmVhbSByZWNlaXZlcnMgdGhhdA0KICAgc2VudCBQQVVTRSBmb3IgdGhhdCBz
dHJlYW0sIGVmZmVjdGl2ZWx5IGNsZWFyaW5nIHRoZSBSVFAgc3RyZWFtDQogICBzZW5kZXIncyBt
ZW1vcnkgZm9yIHRoYXQgc3RyZWFtLg0KDQoNCg0KQnVybWFuLCBldCBhbC4gICAgICAgICAgIEV4
cGlyZXMgTWFyY2ggMjMsIDIwMTUgICAgICAgICAgICAgICAgW1BhZ2UgMjFdDQoMDQpJbnRlcm5l
dC1EcmFmdCAgICAgICAgICAgICAgUlRQIFN0cmVhbSBQYXVzZSAgICAgICAgICAgICAgU2VwdGVt
YmVyIDIwMTQNCg0KDQo3LiAgTWVzc2FnZSBGb3JtYXQNCg0KICAgU2VjdGlvbiA2IG9mIEFWUEYg
W1JGQzQ1ODVdIGRlZmluZXMgdGhyZWUgdHlwZXMgb2YgbG93LWRlbGF5IFJUQ1ANCiAgIGZlZWRi
YWNrIG1lc3NhZ2VzLCBpLmUuICBUcmFuc3BvcnQgbGF5ZXIsIFBheWxvYWQtc3BlY2lmaWMsIGFu
ZA0KICAgQXBwbGljYXRpb24gbGF5ZXIgZmVlZGJhY2sgbWVzc2FnZXMuICBUaGlzIGRvY3VtZW50
IGRlZmluZXMgYSBuZXcNCiAgIFRyYW5zcG9ydCBsYXllciBmZWVkYmFjayBtZXNzYWdlLCB0aGlz
IG1lc3NhZ2UgaXMgZWl0aGVyIGEgUEFVU0UNCiAgIHJlcXVlc3QsIGEgUkVTVU1FIHJlcXVlc3Qs
IG9yIG9uZSBvZiBmb3VyIGRpZmZlcmVudCB0eXBlcyBvZg0KICAgYWNrbm93bGVkZ21lbnRzIGlu
IHJlc3BvbnNlIHRvIGVpdGhlciBQQVVTRSBvciBSRVNVTUUgcmVxdWVzdHMuDQoNCiAgIFRoZSBU
cmFuc3BvcnQgbGF5ZXIgZmVlZGJhY2sgbWVzc2FnZXMgYXJlIGlkZW50aWZpZWQgYnkgaGF2aW5n
IHRoZQ0KICAgUlRDUCBwYXlsb2FkIHR5cGUgYmUgUlRQRkIgKDIwNSkgYXMgZGVmaW5lZCBieSBB
VlBGIFtSRkM0NTg1XS4gIFRoZQ0KICAgUEFVU0UgYW5kIFJFU1VNRSBtZXNzYWdlcyBhcmUgaWRl
bnRpZmllZCBieSBGZWVkYmFjayBNZXNzYWdlIFR5cGUNCiAgIChGTVQpIHZhbHVlIGluIGNvbW1v
biBwYWNrZXQgaGVhZGVyIGZvciBmZWVkYmFjayBtZXNzYWdlIGRlZmluZWQgaW4NCiAgIHNlY3Rp
b24gNi4xIG9mIEFWUEYgW1JGQzQ1ODVdLiAgVGhlIFBBVVNFIGFuZCBSRVNVTUUgdHJhbnNwb3J0
DQogICBmZWVkYmFjayBtZXNzYWdlIGlzIGlkZW50aWZpZWQgYnkgdGhlIEZNVCB2YWx1ZSA9IFRC
QTEuDQoNCiAgIFRoZSBDb21tb24gUGFja2V0IEZvcm1hdCBmb3IgRmVlZGJhY2sgTWVzc2FnZXMg
ZGVmaW5lZCBieSBBVlBGDQogICBbUkZDNDU4NV0gaXM6DQoNCiAgICAgIDAgICAgICAgICAgICAg
ICAgICAgMSAgICAgICAgICAgICAgICAgICAyICAgICAgICAgICAgICAgICAgIDMNCiAgICAgIDAg
MSAyIDMgNCA1IDYgNyA4IDkgMCAxIDIgMyA0IDUgNiA3IDggOSAwIDEgMiAzIDQgNSA2IDcgOCA5
IDAgMQ0KICAgICArLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSst
Ky0rLSstKy0rLSstKy0rLSstKw0KICAgICB8Vj0yfFB8ICAgRk1UICAgfCAgICAgICBQVCAgICAg
IHwgICAgICAgICAgTGVuZ3RoICAgICAgICAgICAgICAgfA0KICAgICArLSstKy0rLSstKy0rLSst
Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKw0KICAgICB8
ICAgICAgICAgICAgICAgICAgU1NSQyBvZiBwYWNrZXQgc2VuZGVyICAgICAgICAgICAgICAgICAg
ICAgICAgfA0KICAgICArLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0r
LSstKy0rLSstKy0rLSstKy0rLSstKw0KICAgICB8ICAgICAgICAgICAgICAgICAgU1NSQyBvZiBt
ZWRpYSBzb3VyY2UgICAgICAgICAgICAgICAgICAgICAgICAgfA0KICAgICArLSstKy0rLSstKy0r
LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKw0KICAg
ICA6ICAgICAgICAgICAgRmVlZGJhY2sgQ29udHJvbCBJbmZvcm1hdGlvbiAoRkNJKSAgICAgICAg
ICAgICAgICAgOg0KICAgICA6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgOg0KDQogICBGb3IgdGhlIFBBVVNFIGFuZCBSRVNVTUUg
bWVzc2FnZXMsIHRoZSBmb2xsb3dpbmcgaW50ZXJwcmV0YXRpb24gb2YNCiAgIHRoZSBwYWNrZXQg
ZmllbGRzIHdpbGwgYmU6DQoNCiAgIEZNVDogIFRoZSBGTVQgdmFsdWUgaWRlbnRpZnlpbmcgdGhl
IFBBVVNFIGFuZCBSRVNVTUUgbWVzc2FnZTogVEJBMQ0KDQogICBQVDogIFBheWxvYWQgVHlwZSA9
IDIwNSAoUlRQRkIpDQoNCiAgIExlbmd0aDogIEFzIGRlZmluZWQgYnkgQVZQRiwgaS5lLiB0aGUg
bGVuZ3RoIG9mIHRoaXMgcGFja2V0IGluIDMyLWJpdA0KICAgICAgd29yZHMgbWludXMgb25lLCBp
bmNsdWRpbmcgdGhlIGhlYWRlciBhbmQgYW55IHBhZGRpbmcuDQoNCiAgIFNTUkMgb2YgcGFja2V0
IHNlbmRlcjogIFRoZSBTU1JDIG9mIHRoZSBSVFAgc2Vzc2lvbiBwYXJ0aWNpcGFudA0KICAgICAg
c2VuZGluZyB0aGUgbWVzc2FnZXMgaW4gdGhlIEZDSS4gIE5vdGUsIGZvciBFbmQgUG9pbnRzIHRo
YXQgaGF2ZQ0KICAgICAgbXVsdGlwbGUgU1NSQ3MgaW4gYW4gUlRQIHNlc3Npb24sIGFueSBvZiBp
dHMgU1NSQ3MgTUFZIGJlIHVzZWQgdG8NCiAgICAgIHNlbmQgYW55IG9mIHRoZSBwYXVzZSBtZXNz
YWdlIHR5cGVzLg0KDQogICBTU1JDIG9mIG1lZGlhIHNvdXJjZTogIE5vdCB1c2VkLCBTSEFMTCBi
ZSBzZXQgdG8gMC4gIFRoZSBGQ0kNCiAgICAgIGlkZW50aWZpZXMgdGhlIFNTUkMgdGhlIG1lc3Nh
Z2UgaXMgdGFyZ2V0ZWQgZm9yLg0KDQoNCg0KQnVybWFuLCBldCBhbC4gICAgICAgICAgIEV4cGly
ZXMgTWFyY2ggMjMsIDIwMTUgICAgICAgICAgICAgICAgW1BhZ2UgMjJdDQoMDQpJbnRlcm5ldC1E
cmFmdCAgICAgICAgICAgICAgUlRQIFN0cmVhbSBQYXVzZSAgICAgICAgICAgICAgU2VwdGVtYmVy
IDIwMTQNCg0KDQogICBUaGUgRmVlZGJhY2sgQ29udHJvbCBJbmZvcm1hdGlvbiAoRkNJKSBmaWVs
ZCBjb25zaXN0IG9mIG9uZSBvciBtb3JlDQogICBQQVVTRSwgUkVTVU1FLCBQQVVTRUQsIFJFRlVT
RUQsIG9yIGFueSBmdXR1cmUgZXh0ZW5zaW9uLiAgVGhlc2UNCiAgIG1lc3NhZ2VzIGhhdmUgdGhl
IGZvbGxvd2luZyBGQ0kgZm9ybWF0Og0KDQogICAgIDAgICAgICAgICAgICAgICAgICAgMSAgICAg
ICAgICAgICAgICAgICAyICAgICAgICAgICAgICAgICAgIDMNCiAgICAgIDAgMSAyIDMgNCA1IDYg
NyA4IDkgMCAxIDIgMyA0IDUgNiA3IDggOSAwIDEgMiAzIDQgNSA2IDcgOCA5IDAgMQ0KICAgICAr
LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSst
Ky0rLSstKw0KICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgVGFyZ2V0IFNTUkMgICAg
ICAgICAgICAgICAgICAgICAgICAgfA0KICAgICArLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSst
Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKw0KICAgICB8IFR5cGUgIHwgIFJl
cyAgfCBQYXJhbWV0ZXIgTGVuIHwgICAgICAgICAgIFBhdXNlSUQgICAgICAgICAgICAgfA0KICAg
ICArLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0r
LSstKy0rLSstKw0KICAgICA6ICAgICAgICAgICAgICAgICAgICAgICAgIFR5cGUgU3BlY2lmaWMg
ICAgICAgICAgICAgICAgICAgICAgICAgOg0KICAgICArLSstKy0rLSstKy0rLSstKy0rLSstKy0r
LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKw0KDQoNCiAgICAgICBGaWd1
cmUgNTogU3ludGF4IG9mIEZDSSBFbnRyeSBpbiB0aGUgUEFVU0UgYW5kIFJFU1VNRSBtZXNzYWdl
DQoNCiAgIFRoZSBGQ0kgZmllbGRzIGhhdmUgdGhlIGZvbGxvd2luZyBkZWZpbml0aW9uczoNCg0K
ICAgVGFyZ2V0IFNTUkMgKDMyIGJpdHMpOiAgRm9yIGEgUEFVU0UgYW5kIFJFU1VNRSBtZXNzYWdl
cywgdGhpcyB2YWx1ZQ0KICAgICAgaXMgdGhlIFNTUkMgdGhhdCB0aGUgcmVxdWVzdCBpcyBpbnRl
bmRlZCBmb3IuICBGb3IgUEFVU0VELCBpdCBNVVNUDQogICAgICBiZSB0aGUgU1NSQyBiZWluZyBw
YXVzZWQuICBJZiBwYXVzaW5nIGlzIHRoZSByZXN1bHQgb2YgYSBQQVVTRQ0KICAgICAgcmVxdWVz
dCwgdGhlIHZhbHVlIGluIFBBVVNFRCBpcyBlZmZlY3RpdmVseSB0aGUgc2FtZSBhcyBUYXJnZXQN
CiAgICAgIFNTUkMgaW4gYSByZWxhdGVkIFBBVVNFIHJlcXVlc3QuICBGb3IgUkVGVVNFRCwgaXQg
TVVTVCBiZSB0aGUNCiAgICAgIFRhcmdldCBTU1JDIG9mIHRoZSBQQVVTRSBvciBSRVNVTUUgcmVx
dWVzdCB0aGF0IGNhbm5vdCBjaGFuZ2UNCiAgICAgIHN0YXRlLiAgQSBDU1JDIE1VU1QgTk9UIGJl
IHVzZWQgYXMgYSB0YXJnZXQgYXMgdGhlIGludGVycHJldGF0aW9uDQogICAgICBvZiBzdWNoIGEg
cmVxdWVzdCBpcyB1bmNsZWFyLg0KDQogICBUeXBlICg0IGJpdHMpOiAgVGhlIHBhdXNlIGZlZWRi
YWNrIHR5cGUuICBUaGUgdmFsdWVzIGRlZmluZWQgaW4gdGhpcw0KICAgICAgc3BlY2lmaWNhdGlv
biBhcmUgYXMgZm9sbG93cywNCg0KICAgICAgMDogUEFVU0UgcmVxdWVzdCBtZXNzYWdlDQoNCiAg
ICAgIDE6IFJFU1VNRSByZXF1ZXN0IG1lc3NhZ2UNCg0KICAgICAgMjogUEFVU0VEIGluZGljYXRp
b24gbWVzc2FnZQ0KDQogICAgICAzOiBSRUZVU0VEIGluZGljYXRpb24gbWVzc2FnZQ0KDQogICAg
ICA0LTE1OiAgUmVzZXJ2ZWQgZm9yIGZ1dHVyZSB1c2UNCg0KICAgUmVzOiAoNCBiaXRzKTogIFR5
cGUgc3BlY2lmaWMgcmVzZXJ2ZWQuICBTSEFMTCBiZSBpZ25vcmVkIGJ5DQogICAgICByZWNlaXZl
cnMgaW1wbGVtZW50aW5nIHRoaXMgc3BlY2lmaWNhdGlvbiBhbmQgTVVTVCBiZSBzZXQgdG8gMCBi
eQ0KICAgICAgc2VuZGVycyBpbXBsZW1lbnRpbmcgdGhpcyBzcGVjaWZpY2F0aW9uLg0KDQogICBQ
YXJhbWV0ZXIgTGVuOiAoOCBiaXRzKTogIExlbmd0aCBvZiB0aGUgVHlwZSBTcGVjaWZpYyBmaWVs
ZCBpbiAzMi1iaXQNCiAgICAgIHdvcmRzLiAgTUFZIGJlIDAuDQoNCg0KDQoNCkJ1cm1hbiwgZXQg
YWwuICAgICAgICAgICBFeHBpcmVzIE1hcmNoIDIzLCAyMDE1ICAgICAgICAgICAgICAgIFtQYWdl
IDIzXQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgIFJUUCBTdHJlYW0gUGF1c2UgICAg
ICAgICAgICAgIFNlcHRlbWJlciAyMDE0DQoNCg0KICAgUGF1c2VJRCAoMTYgYml0cyk6ICBNZXNz
YWdlIHNlcXVlbmNlIGlkZW50aWZpY2F0aW9uLiAgU0hBTEwgYmUNCiAgICAgIGluY3JlbWVudGVk
IGJ5IG9uZSBtb2R1bG8gMl4xNiBmb3IgZWFjaCBuZXcgUEFVU0UgbWVzc2FnZSwgdW5sZXNzDQog
ICAgICB0aGUgbWVzc2FnZSBpcyByZS10cmFuc21pdHRlZC4gIFRoZSBpbml0aWFsIHZhbHVlIFNI
T1VMRCBiZSAwLg0KICAgICAgVGhlIFBhdXNlSUQgaXMgc2NvcGVkIGJ5IHRoZSBUYXJnZXQgU1NS
QywgbWVhbmluZyB0aGF0IFBBVVNFLA0KICAgICAgUkVTVU1FLCBhbmQgUEFVU0VEIG1lc3NhZ2Vz
IHRoZXJlZm9yZSBzaGFyZSB0aGUgc2FtZSBQYXVzZUlEIHNwYWNlDQogICAgICBmb3IgYSBzcGVj
aWZpYyBUYXJnZXQgU1NSQy4NCg0KICAgVHlwZSBTcGVjaWZpYzogKHZhcmlhYmxlKTogIERlZmlu
ZWQgcGVyIHBhdXNlIGZlZWRiYWNrIFR5cGUuICBNQVkgYmUNCiAgICAgIGVtcHR5Lg0KDQo4LiAg
TWVzc2FnZSBEZXRhaWxzDQoNCiAgIFRoaXMgc2VjdGlvbiBjb250YWlucyBkZXRhaWxlZCBleHBs
YW5hdGlvbnMgb2YgZWFjaCBtZXNzYWdlIGRlZmluZWQNCiAgIGluIHRoaXMgc3BlY2lmaWNhdGlv
bi4gIEFsbCB0cmFuc21pc3Npb25zIG9mIHJlcXVlc3QgYW5kIGluZGljYXRpb25zDQogICBhcmUg
Z292ZXJuZWQgYnkgdGhlIHRyYW5zbWlzc2lvbiBydWxlcyBhcyBkZWZpbmVkIGJ5IFNlY3Rpb24g
OC41Lg0KDQogICBBbnkgcmVmZXJlbmNlcyB0byBQQVVTRSwgUEFVU0VELCBSRVNVTUUgYW5kIFJF
RlVTRUQgaW4gdGhpcyBzZWN0aW9uDQogICBTSEFMTCBiZSB0YWtlbiB0byBhcHBseSB0byB0aGUg
ZXh0ZW50IHBvc3NpYmxlIGFsc28gd2hlbiBUTU1CUi9UTU1CTg0KICAgYXJlIHVzZWQgKFNlY3Rp
b24gNS41KSBmb3IgdGhpcyBmdW5jdGlvbmFsaXR5LiAgVE1NQlIvVE1NQk4gTUFZIGJlDQogICB1
c2VkIGluc3RlYWQgb2YgdGhlIG1lc3NhZ2VzIGRlZmluZWQgaW4gdGhpcyBzcGVjaWZpY2F0aW9u
IHdoZW4gdGhlDQogICBlZmZlY3RpdmUgdG9wb2xvZ3kgaXMgcG9pbnQtdG8tcG9pbnQuICBJZiBl
aXRoZXIgc2VuZGVyIG9yIHJlY2VpdmVyDQogICBsZWFybnMgdGhhdCB0aGUgdG9wb2xvZ3kgaXMg
bm90IHBvaW50LXRvLXBvaW50LCBUTU1CUi9UTU1CTiBNVVNUIE5PVA0KICAgYmUgdXNlZCBmb3Ig
cGF1c2UvcmVzdW1lIGZ1bmN0aW9uYWxpdHkuICBJZiB0aGUgbWVzc2FnZXMgZGVmaW5lZCBpbg0K
ICAgdGhpcyBzcGVjaWZpY2F0aW9uIGFyZSBzdXBwb3J0ZWQgaW4gYWRkaXRpb24gdG8gVE1NQlIv
VE1NQk4sIHBhdXNlLw0KICAgcmVzdW1lIHNpZ25hbGluZyBNVVNUIHVzZSBtZXNzYWdlcyBmcm9t
IHRoaXMgc3BlY2lmaWNhdGlvbi4gIElmIHRoZQ0KICAgdG9wb2xvZ3kgaXMgbm90IHBvaW50LXRv
LXBvaW50IGFuZCB0aGUgbWVzc2FnZXMgZGVmaW5lZCBpbiB0aGlzDQogICBzcGVjaWZpY2F0aW9u
IGFyZSBub3Qgc3VwcG9ydGVkLCBwYXVzZS9yZXN1bWUgZnVuY3Rpb25hbGl0eSB3aXRoDQogICBU
TU1CUi9UTU1CTiBNVVNUIE5PVCBiZSB1c2VkLg0KDQo4LjEuICBQQVVTRQ0KDQogICBBbiBSVFAg
c3RyZWFtIHJlY2VpdmVyIE1BWSBzY2hlZHVsZSBQQVVTRSBmb3IgdHJhbnNtaXNzaW9uIGF0IGFu
eQ0KICAgdGltZS4NCg0KICAgUEFVU0UgaGFzIG5vIGRlZmluZWQgVHlwZSBTcGVjaWZpYyBwYXJh
bWV0ZXJzIGFuZCBQYXJhbWV0ZXIgTGVuIE1VU1QNCiAgIGJlIHNldCB0byAwLg0KDQogICBQYXVz
ZUlEIFNIT1VMRCBiZSB0aGUgYXZhaWxhYmxlIFBhdXNlSUQsIGFzIGluZGljYXRlZCBieSBQQVVT
RUQNCiAgIChTZWN0aW9uIDguMikgb3IgaW1wbGljaXRseSBkZXRlcm1pbmVkIGJ5IHByZXZpb3Vz
bHkgcmVjZWl2ZWQgUEFVU0UNCiAgIG9yIFJFU1VNRSAoU2VjdGlvbiA4LjMpIHJlcXVlc3RzLiAg
QSByYW5kb21seSBjaG9zZW4gUGF1c2VJRCBNQVkgYmUNCiAgIHVzZWQgaWYgaXQgd2FzIG5vdCBw
b3NzaWJsZSB0byByZXRyaWV2ZSBQYXVzZUlEIGluZm9ybWF0aW9uLCBpbiB3aGljaA0KICAgY2Fz
ZSB0aGUgUEFVU0Ugd2lsbCBlaXRoZXIgc3VjY2VlZCwgb3IgdGhlIGNvcnJlY3QgUGF1c2VJRCBj
YW4gYmUNCiAgIGZvdW5kIGluIHRoZSByZXR1cm5lZCBSRUZVU0VEIChTZWN0aW9uIDguNCkuICBB
IFBhdXNlSUQgdGhhdCBpcw0KICAgbWF0Y2hpbmcgdGhlIGF2YWlsYWJsZSBQYXVzZUlEIGlzIGhl
bmNlZm9ydGggYWxzbyBjYWxsZWQgYSB2YWxpZA0KICAgUGF1c2VJRC4NCg0KICAgUGF1c2VJRCBu
ZWVkcyB0byBiZSBpbmNyZW1lbnRlZCBieSBvbmUsIGluIG1vZHVsbyBhcml0aG1ldGljLCBmb3IN
CiAgIGVhY2ggUEFVU0UgcmVxdWVzdCB0aGF0IGlzIG5vdCBhIHJldHJhbnNtaXNzaW9uLCBjb21w
YXJlZCB0byB3aGF0IHdhcw0KDQoNCg0KQnVybWFuLCBldCBhbC4gICAgICAgICAgIEV4cGlyZXMg
TWFyY2ggMjMsIDIwMTUgICAgICAgICAgICAgICAgW1BhZ2UgMjRdDQoMDQpJbnRlcm5ldC1EcmFm
dCAgICAgICAgICAgICAgUlRQIFN0cmVhbSBQYXVzZSAgICAgICAgICAgICAgU2VwdGVtYmVyIDIw
MTQNCg0KDQogICB1c2VkIGluIHRoZSBsYXN0IFBBVVNFRCBpbmRpY2F0aW9uIHNlbnQgYnkgdGhl
IG1lZGlhIHNlbmRlci4gIFRoaXMgaXMNCiAgIHRvIGVuc3VyZSB0aGF0IHRoZSBQYXVzZUlEIG1h
dGNoZXMgd2hhdCBpcyB0aGUgY3VycmVudCBhdmFpbGFibGUNCiAgIFBhdXNlSUQgYXQgdGhlIFJU
UCBzdHJlYW0gc2VuZGVyLiAgVGhlIFJUUCBzdHJlYW0gc2VuZGVyIGluY3JlbWVudHMNCiAgIHdo
YXQgaXQgY29uc2lkZXJzIHRvIGJlIHRoZSBhdmFpbGFibGUgUGF1c2VJRCB3aGVuIGVudGVyaW5n
IFBsYXlpbmcNCiAgIFN0YXRlIChTZWN0aW9uIDYuMSkuDQoNCiAgIEZvciB0aGUgc2NvcGUgb2Yg
dGhpcyBzcGVjaWZpY2F0aW9uLCBhIFBhdXNlSUQgbGFyZ2VyIHRoYW4gdGhlDQogICBjdXJyZW50
IG9uZSBpcyBkZWZpbmVkIGFzIGhhdmluZyBhIHZhbHVlIGJldHdlZW4gYW5kIGluY2x1ZGluZw0K
ICAgKFBhdXNlSUQgKyAxKSBNT0QgMl4xNiBhbmQgKFBhdXNlSUQgKyAyXjE0KSBNT0QgMl4xNiwg
d2hlcmUgIk1PRCIgaXMNCiAgIHRoZSBtb2R1bG8gb3BlcmF0b3IuICBTaW1pbGFybHksIGEgUGF1
c2VJRCBzbWFsbGVyIHRoYW4gdGhlIGN1cnJlbnQNCiAgIG9uZSBpcyBkZWZpbmVkIGFzIGhhdmlu
ZyBhIHZhbHVlIGJldHdlZW4gYW5kIGluY2x1ZGluZyAoUGF1c2VJRCAtDQogICAyXjE1KSBNT0Qg
Ml4xNiBhbmQgKFBhdXNlSUQgLSAxKSBNT0QgMl4xNi4NCg0KICAgSWYgYW4gUlRQIHN0cmVhbSBy
ZWNlaXZlciB0aGF0IHNlbnQgYSBQQVVTRSB3aXRoIGEgY2VydGFpbiBQYXVzZUlEDQogICByZWNl
aXZlcyBhIFJFU1VNRSB3aXRoIHRoZSBzYW1lIFBhdXNlSUQsIGl0IGlzIFJFQ09NTUVOREVEIHRo
YXQgaXQNCiAgIHJlZnJhaW5zIGZyb20gc2VuZGluZyBmdXJ0aGVyIFBBVVNFIHJlcXVlc3RzIGZv
ciBzb21lIGFwcHJvcHJpYXRlDQogICB0aW1lIHNpbmNlIHRoZSBSRVNVTUUgaW5kaWNhdGVzIHRo
YXQgdGhlcmUgYXJlIG90aGVyIHJlY2VpdmVycyB0aGF0DQogICBzdGlsbCB3aXNoZXMgdG8gcmVj
ZWl2ZSB0aGUgc3RyZWFtLg0KDQogICBJZiB0aGUgdGFyZ2V0ZWQgUlRQIHN0cmVhbSBkb2VzIG5v
dCBwYXVzZSwgaWYgbm8gUEFVU0VEIGluZGljYXRpb24NCiAgIHdpdGggYSBsYXJnZXIgUGF1c2VJ
RCB0aGFuIHRoZSBvbmUgdXNlZCBpbiBQQVVTRSwgYW5kIGlmIG5vIFJFRlVTRUQNCiAgIGlzIHJl
Y2VpdmVkIHdpdGhpbiAyICogUlRUICsgVF9kaXRoZXJfbWF4LCB0aGUgUEFVU0UgTUFZIGJlIHNj
aGVkdWxlZA0KICAgZm9yIHJldHJhbnNtaXNzaW9uLCB1c2luZyB0aGUgc2FtZSBQYXVzZUlELiAg
UlRUIGlzIHRoZSBvYnNlcnZlZA0KICAgcm91bmQtdHJpcCB0byB0aGUgUlRQIHN0cmVhbSBzZW5k
ZXIgYW5kIFRfZGl0aGVyX21heCBpcyBkZWZpbmVkIGluDQogICBzZWN0aW9uIDMuNCBvZiBbUkZD
NDU4NV0uDQoNCiAgIFdoZW4gYW4gUlRQIHN0cmVhbSBzZW5kZXIgaW4gUGxheWluZyBTdGF0ZSAo
U2VjdGlvbiA2LjEpIHJlY2VpdmVzIGENCiAgIHZhbGlkIFBBVVNFLCBhbmQgdW5sZXNzIGxvY2Fs
IGNvbnNpZGVyYXRpb25zIGN1cnJlbnRseSBtYWtlcyBpdA0KICAgaW1wb3NzaWJsZSB0byBwYXVz
ZSB0aGUgc3RyZWFtLCBpdCBTSEFMTCBlbnRlciBQYXVzaW5nIFN0YXRlDQogICAoU2VjdGlvbiA2
LjIpIHdoZW4gcmVhY2hpbmcgYW4gYXBwcm9wcmlhdGUgcGxhY2UgdG8gcGF1c2UgaW4gdGhlDQog
ICBzdHJlYW0sIGFuZCBhY3QgYWNjb3JkaW5nbHkuDQoNCiAgIElmIGFuIFJUUCBzdHJlYW0gc2Vu
ZGVyIHJlY2VpdmVzIGEgdmFsaWQgUEFVU0Ugd2hpbGUgaW4gUGF1c2luZywNCiAgIFBhdXNlZCAo
U2VjdGlvbiA2LjMpIG9yIExvY2FsIFBhdXNlZCAoU2VjdGlvbiA2LjQpIFN0YXRlcywgdGhlDQog
ICByZWNlaXZlZCBQQVVTRSBTSEFMTCBiZSBpZ25vcmVkLg0KDQo4LjIuICBQQVVTRUQNCg0KICAg
VGhlIFBBVVNFRCBpbmRpY2F0aW9uIE1BWSBiZSBzZW50IGVpdGhlciBhcyBhIHJlc3VsdCBvZiBh
IHZhbGlkIFBBVVNFDQogICAoU2VjdGlvbiA4LjEpIHJlcXVlc3QsIHdoZW4gZW50ZXJpbmcgUGF1
c2VkIFN0YXRlIChTZWN0aW9uIDYuMyksIG9yDQogICBiYXNlZCBvbiBhIFJUUCBzdHJlYW0gc2Vu
ZGVyIGxvY2FsIGRlY2lzaW9uLCB3aGVuIGVudGVyaW5nIExvY2FsDQogICBQYXVzZWQgU3RhdGUg
KFNlY3Rpb24gNi40KS4NCg0KICAgUGF1c2VJRCBNVVNUIGNvbnRhaW4gdGhlIGF2YWlsYWJsZSwg
dmFsaWQgdmFsdWUgdG8gYmUgaW5jbHVkZWQgaW4gYQ0KICAgc3Vic2VxdWVudCBSRVNVTUUgKFNl
Y3Rpb24gOC4zKS4NCg0KDQoNCg0KDQoNCkJ1cm1hbiwgZXQgYWwuICAgICAgICAgICBFeHBpcmVz
IE1hcmNoIDIzLCAyMDE1ICAgICAgICAgICAgICAgIFtQYWdlIDI1XQ0KDA0KSW50ZXJuZXQtRHJh
ZnQgICAgICAgICAgICAgIFJUUCBTdHJlYW0gUGF1c2UgICAgICAgICAgICAgIFNlcHRlbWJlciAy
MDE0DQoNCg0KICAgUEFVU0VEIFNIQUxMIGNvbnRhaW4gYSAzMiBiaXQgcGFyYW1ldGVyIHdpdGgg
dGhlIFJUUCBleHRlbmRlZCBoaWdoZXN0DQogICBzZXF1ZW5jZSBudW1iZXIgdmFsaWQgd2hlbiB0
aGUgUlRQIHN0cmVhbSB3YXMgcGF1c2VkLiAgUGFyYW1ldGVyIExlbg0KICAgTVVTVCBiZSBzZXQg
dG8gMS4NCg0KICAgQWZ0ZXIgaGF2aW5nIGVudGVyZWQgUGF1c2VkIG9yIExvY2FsIFBhdXNlZCBT
dGF0ZSBhbmQgdGh1cyBoYXZpbmcNCiAgIHNlbnQgUEFVU0VEIG9uY2UsIFBBVVNFRCBNVVNUIGFs
c28gYmUgaW5jbHVkZWQgaW4gdGhlIG5leHQgdHdvDQogICByZWd1bGFyIFJUQ1AgcmVwb3J0cywg
Z2l2ZW4gdGhhdCB0aGUgcGF1c2UgY29uZGl0aW9uIGlzIHRoZW4gc3RpbGwNCiAgIGVmZmVjdGl2
ZS4NCg0KICAgV2hpbGUgcmVtYWluaW5nIGluIFBhdXNlZCBvciBMb2NhbCBQYXVzZWQgU3RhdGVz
LCBQQVVTRUQgTUFZIGJlDQogICBpbmNsdWRlZCBpbiBhbGwgcmVndWxhciBSVENQIHJlcG9ydHMu
DQoNCiAgIFdoZW4gaW4gUGF1c2VkIG9yIExvY2FsIFBhdXNlZCBTdGF0ZXMsIEl0IGlzIFJFQ09N
TUVOREVEIHRvIHNlbmQNCiAgIFBBVVNFRCBhdCB0aGUgZWFybGllc3Qgb3Bwb3J0dW5pdHkgYW5k
IGFsc28gdG8gaW5jbHVkZSBpdCBpbiB0aGUgbmV4dA0KICAgdHdvIHJlZ3VsYXIgUlRDUCByZXBv
cnRzLCB3aGVuZXZlciB0aGUgUlRQIHN0cmVhbSBzZW5kZXIgbGVhcm5zIHRoYXQNCiAgIHRoZXJl
IGFyZSBFbmQgUG9pbnRzIHRoYXQgZGlkIG5vdCBwcmV2aW91c2x5IHJlY2VpdmUgdGhlIHN0cmVh
bSwgZm9yDQogICBleGFtcGxlIGJ5IFJUQ1AgcmVwb3J0cyB3aXRoIGFuIFNTUkMgYW5kIGEgQ05B
TUUgdGhhdCB3YXMgbm90DQogICBwcmV2aW91c2x5IHNlZW4gaW4gdGhlIFJUUCBzZXNzaW9uLg0K
DQo4LjMuICBSRVNVTUUNCg0KICAgQW4gUlRQIHN0cmVhbSByZWNlaXZlciBNQVkgc2NoZWR1bGUg
UkVTVU1FIGZvciB0cmFuc21pc3Npb24gd2hlbmV2ZXINCiAgIGl0IHdpc2hlcyB0byByZXN1bWUg
YSBwYXVzZWQgc3RyZWFtLCBvciB0byBkaXNhcHByb3ZlIGEgc3RyZWFtIGZyb20NCiAgIGJlaW5n
IHBhdXNlZC4NCg0KICAgUGF1c2VJRCBTSE9VTEQgYmUgdGhlIHZhbGlkIFBhdXNlSUQsIGFzIGlu
ZGljYXRlZCBieSBQQVVTRUQNCiAgIChTZWN0aW9uIDguMikgb3IgaW1wbGljaXRseSBkZXRlcm1p
bmVkIGJ5IHByZXZpb3VzbHkgcmVjZWl2ZWQgUEFVU0UNCiAgIChTZWN0aW9uIDguMSkgb3IgUkVT
VU1FIHJlcXVlc3RzLiAgQSByYW5kb21seSBjaG9zZW4gUGF1c2VJRCBNQVkgYmUNCiAgIHVzZWQg
aWYgaXQgd2FzIG5vdCBwb3NzaWJsZSB0byByZXRyaWV2ZSBQYXVzZUlEIGluZm9ybWF0aW9uLCBp
biB3aGljaA0KICAgY2FzZSB0aGUgUkVTVU1FIHdpbGwgZWl0aGVyIHN1Y2NlZWQsIG9yIHRoZSBj
b3JyZWN0IFBhdXNlSUQgY2FuIGJlDQogICBmb3VuZCBpbiBhIHJldHVybmVkIFJFRlVTRUQgKFNl
Y3Rpb24gOC40KS4NCg0KICAgUkVTVU1FIGhhcyBubyBkZWZpbmVkIFR5cGUgU3BlY2lmaWMgcGFy
YW1ldGVycyBhbmQgUGFyYW1ldGVyIExlbiBNVVNUDQogICBiZSBzZXQgdG8gMC4NCg0KICAgV2hl
biBhbiBSVFAgc3RyZWFtIHNlbmRlciBpbiBQYXVzaW5nIChTZWN0aW9uIDYuMiksIFBhdXNlZA0K
ICAgKFNlY3Rpb24gNi4zKSBvciBMb2NhbCBQYXVzZWQgU3RhdGUgKFNlY3Rpb24gNi40KSByZWNl
aXZlcyBhIHZhbGlkDQogICBSRVNVTUUsIGFuZCB1bmxlc3MgbG9jYWwgY29uc2lkZXJhdGlvbnMg
Y3VycmVudGx5IG1ha2VzIGl0IGltcG9zc2libGUNCiAgIHRvIHJlc3VtZSB0aGUgc3RyZWFtLCBp
dCBTSEFMTCBlbnRlciBQbGF5aW5nIFN0YXRlIChTZWN0aW9uIDYuMSkgYW5kDQogICBhY3QgYWNj
b3JkaW5nbHkuICBJZiB0aGUgUlRQIHN0cmVhbSBzZW5kZXIgaXMgaW5jYXBhYmxlIG9mIGhvbm9y
aW5nDQogICB0aGUgUkVTVU1FIHJlcXVlc3Qgd2l0aCBhIHZhbGlkIFBhdXNlSUQsIG9yIHJlY2Vp
dmVzIGEgUkVTVU1FIHJlcXVlc3QNCiAgIHdpdGggYW4gaW52YWxpZCBQYXVzZUlEIHdoaWxlIGlu
IFBhdXNlZCBvciBQYXVzaW5nIHN0YXRlLCB0aGUgUlRQDQogICBzdHJlYW0gc2VuZGVyIHNlbmRz
IGEgUkVGVVNFRCBtZXNzYWdlIGFzIHNwZWNpZmllZCBiZWxvdy4NCg0KICAgSWYgYW4gUlRQIHN0
cmVhbSBzZW5kZXIgaW4gUGxheWluZyBTdGF0ZSByZWNlaXZlcyBhIFJFU1VNRSBjb250YWluaW5n
DQogICBlaXRoZXIgYSB2YWxpZCBQYXVzZUlEIG9yIGEgUGF1c2VJRCB0aGF0IGlzIGxlc3MgdGhh
biB0aGUgdmFsaWQNCiAgIFBhdXNlSUQsIHRoZSByZWNlaXZlZCBSRVNVTUUgU0hBTEwgYmUgaWdu
b3JlZC4NCg0KDQoNCg0KQnVybWFuLCBldCBhbC4gICAgICAgICAgIEV4cGlyZXMgTWFyY2ggMjMs
IDIwMTUgICAgICAgICAgICAgICAgW1BhZ2UgMjZdDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAg
ICAgICAgUlRQIFN0cmVhbSBQYXVzZSAgICAgICAgICAgICAgU2VwdGVtYmVyIDIwMTQNCg0KDQo4
LjQuICBSRUZVU0VEDQoNCiAgIFJFRlVTRUQgaGFzIG5vIGRlZmluZWQgVHlwZSBTcGVjaWZpYyBw
YXJhbWV0ZXJzIGFuZCBQYXJhbWV0ZXIgTGVuDQogICBNVVNUIGJlIHNldCB0byAwLg0KDQogICBJ
ZiBhbiBSVFAgc3RyZWFtIHNlbmRlciByZWNlaXZlcyBhIHZhbGlkIFBBVVNFIChTZWN0aW9uIDgu
MSkgb3INCiAgIFJFU1VNRSAoU2VjdGlvbiA4LjMpIHJlcXVlc3QgdGhhdCBjYW5ub3QgYmUgZnVs
ZmlsbGVkIGJ5IHRoZSBzZW5kZXINCiAgIGR1ZSB0byBzb21lIGxvY2FsIGNvbnNpZGVyYXRpb24s
IGl0IFNIQUxMIHNjaGVkdWxlIHRyYW5zbWlzc2lvbiBvZiBhDQogICBSRUZVU0VEIGluZGljYXRp
b24gY29udGFpbmluZyB0aGUgdmFsaWQgUGF1c2VJRCBmcm9tIHRoZSByZWplY3RlZA0KICAgcmVx
dWVzdC4NCg0KICAgSWYgYW4gUlRQIHN0cmVhbSBzZW5kZXIgcmVjZWl2ZXMgUEFVU0Ugb3IgUkVT
VU1FIHJlcXVlc3RzIHdpdGggYSBub24tDQogICB2YWxpZCBQYXVzZUlEIGl0IFNIQUxMIHNjaGVk
dWxlIGEgUkVGVVNFRCByZXNwb25zZSBjb250YWluaW5nIHRoZQ0KICAgYXZhaWxhYmxlLCB2YWxp
ZCBQYXVzZUlELCBleGNlcHQgaWYgdGhlIFJUUCBzdHJlYW0gc2VuZGVyIGlzIGluDQogICBQbGF5
aW5nIFN0YXRlIGFuZCByZWNlaXZlcyBhIFJFU1VNRSB3aXRoIGEgUGF1c2VJRCBsZXNzIHRoYW4g
dGhlDQogICB2YWxpZCBvbmUsIGluIHdoaWNoIGNhc2UgdGhlIFJFU1VNRSBTSEFMTCBiZSBpZ25v
cmVkLg0KDQogICBJZiBzZXZlcmFsIFBBVVNFIG9yIFJFU1VNRSB0aGF0IHdvdWxkIHJlbmRlciBp
ZGVudGljYWwgUkVGVVNFRA0KICAgcmVzcG9uc2VzIGFyZSByZWNlaXZlZCBiZWZvcmUgdGhlIHNj
aGVkdWxlZCBSRUZVU0VEIGlzIHNlbnQsDQogICBkdXBsaWNhdGUgUkVGVVNFRCBNVVNUIE5PVCBi
ZSBzY2hlZHVsZWQgZm9yIHRyYW5zbWlzc2lvbi4gIFRoaXMNCiAgIGVmZmVjdGl2ZWx5IGxldHMg
YSBzaW5nbGUgUkVGVVNFRCByZXNwb25kIHRvIHNldmVyYWwgaW52YWxpZCBQQVVTRSBvcg0KICAg
UkVTVU1FIHJlcXVlc3RzLg0KDQogICBJZiBSRUZVU0VEIGNvbnRhaW5pbmcgYSBjZXJ0YWluIFBh
dXNlSUQgd2FzIGFscmVhZHkgc2VudCBhbmQgeWV0IG1vcmUNCiAgIFBBVVNFIG9yIFJFU1VNRSBt
ZXNzYWdlcyBhcmUgcmVjZWl2ZWQgdGhhdCByZXF1aXJlIGFkZGl0aW9uYWwgUkVGVVNFRA0KICAg
d2l0aCB0aGF0IHNwZWNpZmljIFBhdXNlSUQgdG8gYmUgc2NoZWR1bGVkLCBhbmQgdW5sZXNzIHRo
ZSBQYXVzZUlEDQogICBudW1iZXIgc3BhY2UgaGFzIHdyYXBwZWQgc2luY2UgUkVGVVNFRCB3YXMg
bGFzdCBzZW50IHdpdGggdGhhdA0KICAgUGF1c2VJRCwgZnVydGhlciBSRUZVU0VEIG1lc3NhZ2Vz
IHdpdGggdGhhdCBQYXVzZUlEIFNIT1VMRCBiZSBzZW50IGluDQogICByZWd1bGFyIFJUQ1AgcmVw
b3J0cy4NCg0KICAgQW4gUlRQIHN0cmVhbSByZWNlaXZlciB0aGF0IHNlbnQgYSBQQVVTRSBvciBS
RVNVTUUgcmVxdWVzdCBhbmQNCiAgIHJlY2VpdmVzIGEgUkVGVVNFRCBjb250YWluaW5nIHRoZSBz
YW1lIFBhdXNlSUQgYXMgaW4gdGhlIHJlcXVlc3QNCiAgIFNIT1VMRCByZWZyYWluIGZyb20gc2Vu
ZGluZyBhbiBpZGVudGljYWwgcmVxdWVzdCBmb3Igc29tZSBhcHByb3ByaWF0ZQ0KICAgdGltZSB0
byBhbGxvdyB0aGUgY29uZGl0aW9uIHRoYXQgY2F1c2VkIFJFRlVTRUQgdG8gY2xlYXIuDQoNCiAg
IEFuIFJUUCBzdHJlYW0gcmVjZWl2ZXIgdGhhdCBzZW50IGEgUEFVU0Ugb3IgUkVTVU1FIHJlcXVl
c3QgYW5kDQogICByZWNlaXZlcyBhIFJFRlVTRUQgY29udGFpbmluZyBhIFBhdXNlSUQgZGlmZmVy
ZW50IGZyb20gdGhlIHJlcXVlc3QNCiAgIE1BWSBzY2hlZHVsZSBhbm90aGVyIHJlcXVlc3QgdXNp
bmcgdGhlIFBhdXNlSUQgZnJvbSB0aGUgUkVGVVNFRA0KICAgaW5kaWNhdGlvbi4NCg0KOC41LiAg
VHJhbnNtaXNzaW9uIFJ1bGVzDQoNCiAgIFRoZSB0cmFuc21pc3Npb24gb2YgYW55IFJUQ1AgZmVl
ZGJhY2sgbWVzc2FnZXMgZGVmaW5lZCBpbiB0aGlzDQogICBzcGVjaWZpY2F0aW9uIE1VU1QgZm9s
bG93IHRoZSBub3JtYWwgQVZQRiBkZWZpbmVkIHRpbWluZyBydWxlcyBhbmQNCiAgIGRlcGVuZHMg
b24gdGhlIHNlc3Npb24ncyBtb2RlIG9mIG9wZXJhdGlvbi4NCg0KDQoNCg0KDQoNCkJ1cm1hbiwg
ZXQgYWwuICAgICAgICAgICBFeHBpcmVzIE1hcmNoIDIzLCAyMDE1ICAgICAgICAgICAgICAgIFtQ
YWdlIDI3XQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgIFJUUCBTdHJlYW0gUGF1c2Ug
ICAgICAgICAgICAgIFNlcHRlbWJlciAyMDE0DQoNCg0KICAgQWxsIG1lc3NhZ2VzIGRlZmluZWQg
aW4gdGhpcyBzcGVjaWZpY2F0aW9uLCBhcyB3ZWxsIGFzIFRNTUJSL1RNTUJODQogICB1c2VkIGZv
ciBwYXVzZS9yZXN1bWUgcHVycG9zZXMgKFNlY3Rpb24gNS41KSwgTUFZIHVzZSBlaXRoZXIgUmVn
dWxhciwNCiAgIEVhcmx5IG9yIEltbWVkaWF0ZSB0aW1pbmdzLCB0YWtpbmcgdGhlIGZvbGxvd2lu
ZyBpbnRvIGNvbnNpZGVyYXRpb246DQoNCiAgIG8gIFBBVVNFIFNIT1VMRCB1c2UgRWFybHkgb3Ig
SW1tZWRpYXRlIHRpbWluZywgZXhjZXB0IGZvcg0KICAgICAgcmV0cmFuc21pc3Npb25zIHRoYXQg
U0hPVUxEIHVzZSBSZWd1bGFyIHRpbWluZy4NCg0KICAgbyAgVGhlIGZpcnN0IHRyYW5zbWlzc2lv
biBvZiBQQVVTRUQgZm9yIGVhY2ggKG5vbi13cmFwcGVkKSBQYXVzZUlEDQogICAgICBTSE9VTEQg
YmUgc2VudCB3aXRoIEltbWVkaWF0ZSBvciBFYXJseSB0aW1pbmcsIHdoaWxlIHN1YnNlcXVlbnQN
CiAgICAgIFBBVVNFRCBmb3IgdGhhdCBQYXVzZUlEIFNIT1VMRCB1c2UgUmVndWxhciB0aW1pbmcu
DQoNCiAgIG8gIFJFU1VNRSBTSE9VTEQgYWx3YXlzIHVzZSBJbW1lZGlhdGUgb3IgRWFybHkgdGlt
aW5nLg0KDQogICBvICBUaGUgZmlyc3QgdHJhbnNtaXNzaW9uIG9mIFJFRlVTRUQgZm9yIGVhY2gg
KG5vbi13cmFwcGVkKSBQYXVzZUlEDQogICAgICBTSE9VTEQgYmUgc2VudCB3aXRoIEltbWVkaWF0
ZSBvciBFYXJseSB0aW1pbmcsIHdoaWxlIHN1YnNlcXVlbnQNCiAgICAgIFJFRlVTRUQgZm9yIHRo
YXQgUGF1c2VJRCBTSE9VTEQgdXNlIFJlZ3VsYXIgdGltaW5nLg0KDQo5LiAgU2lnbmFsaW5nDQoN
CiAgIFRoZSBjYXBhYmlsaXR5IG9mIGhhbmRsaW5nIG1lc3NhZ2VzIGRlZmluZWQgaW4gdGhpcyBz
cGVjaWZpY2F0aW9uIE1BWQ0KICAgYmUgZXhjaGFuZ2VkIGF0IGEgaGlnaGVyIGxheWVyIHN1Y2gg
YXMgU0RQLiAgVGhpcyBkb2N1bWVudCBleHRlbmRzDQogICB0aGUgcnRjcC1mYiBhdHRyaWJ1dGUg
ZGVmaW5lZCBpbiBzZWN0aW9uIDQgb2YgQVZQRiBbUkZDNDU4NV0gdG8NCiAgIGluY2x1ZGUgdGhl
IHJlcXVlc3QgZm9yIHBhdXNlIGFuZCByZXN1bWUuICBUaGlzIHNwZWNpZmljYXRpb24gZm9sbG93
cw0KICAgYWxsIHRoZSBydWxlcyBkZWZpbmVkIGluIEFWUEYgW1JGQzQ1ODVdIGFuZCBDQ00gW1JG
QzUxMDRdIGZvciBhbg0KICAgcnRjcC1mYiBhdHRyaWJ1dGUgcmVsYXRpbmcgdG8gcGF5bG9hZCB0
eXBlIGluIGEgc2Vzc2lvbiBkZXNjcmlwdGlvbi4NCg0KICAgVGhpcyBzcGVjaWZpY2F0aW9uIGRl
ZmluZXMgYSBuZXcgcGFyYW1ldGVyICJwYXVzZSIgdG8gdGhlICJjY20iDQogICBmZWVkYmFjayB2
YWx1ZSBkZWZpbmVkIGluIENDTSBbUkZDNTEwNF0sIHJlcHJlc2VudGluZyB0aGUgY2FwYWJpbGl0
eQ0KICAgdG8gdW5kZXJzdGFuZCB0aGUgUlRDUCBmZWVkYmFjayBtZXNzYWdlIGFuZCBhbGwgb2Yg
dGhlIGRlZmluZWQgRkNJcw0KICAgb2YgUEFVU0UsIFJFU1VNRSwgUEFVU0VEIGFuZCBSRUZVU0VE
Lg0KDQogICAgICBOb3RlOiBXaGVuIFRNTUJSIDAgLyBUTU1CTiAwIGFyZSB1c2VkIHRvIGltcGxl
bWVudCBwYXVzZSBhbmQNCiAgICAgIHJlc3VtZSBmdW5jdGlvbmFsaXR5ICh3aXRoIHRoZSByZXN0
cmljdGlvbnMgZGVzY3JpYmVkIGluIHRoaXMNCiAgICAgIHNwZWNpZmljYXRpb24pLCBzaWduYWxp
bmcgcnRjcC1mYiBhdHRyaWJ1dGUgd2l0aCBjY20gdG1tYnINCiAgICAgIHBhcmFtZXRlciBpcyBz
dWZmaWNpZW50IGFuZCBubyBmdXJ0aGVyIHNpZ25hbGluZyBpcyBuZWNlc3NhcnkuDQogICAgICBU
aGVyZSBpcyBob3dldmVyIG5vIGd1YXJhbnRlZSB0aGF0IFRNTUJSL1RNTUJOIGltcGxlbWVudGF0
aW9ucw0KICAgICAgcHJlLWRhdGluZyB0aGlzIHNwZWNpZmljYXRpb24gd29yayBleGFjdGx5IGFz
IGRlc2NyaWJlZCBoZXJlIHdoZW4NCiAgICAgIHVzZWQgd2l0aCBhIGJpdHJhdGUgdmFsdWUgb2Yg
MC4NCg0KICAgVGhlICJwYXVzZSIgcGFyYW1ldGVyIGhhcyB0d28gb3B0aW9uYWwgYXR0cmlidXRl
cywgIm5vd2FpdCIgYW5kDQogICAiY29uZmlnIjoNCg0KICAgbyAgIm5vd2FpdCIgaW5kaWNhdGVz
IHRoYXQgdGhlIGhvbGQtb2ZmIHBlcmlvZCBkZWZpbmVkIGluIFNlY3Rpb24gNi4yDQogICAgICBj
YW4gYmUgc2V0IHRvIDAsIHJlZHVjaW5nIHRoZSBsYXRlbmN5IGJlZm9yZSB0aGUgc3RyZWFtIGNh
biBwYXVzZWQNCiAgICAgIGFmdGVyIHJlY2VpdmluZyBhIFBBVVNFIHJlcXVlc3QuICBUaGlzIGNv
bmRpdGlvbiBvY2N1cnMgd2hlbiB0aGVyZQ0KICAgICAgd2lsbCBiZSBvbmx5IGEgc2luZ2xlIHJl
Y2VpdmVyIHBlciBkaXJlY3Rpb24gaW4gdGhlIFJUUCBzZXNzaW9uLA0KICAgICAgZm9yIGV4YW1w
bGUgaW4gcG9pbnQtdG8tcG9pbnQgc2Vzc2lvbnMuICBJdCBpcyBhbHNvIHBvc3NpYmxlIHRvDQog
ICAgICB1c2UgaW4gc2NlbmFyaW9zIHVzaW5nIHVuaWRpcmVjdGlvbmFsIG1lZGlhLiAgVGhlIGNv
bmRpdGlvbnMgdGhhdA0KDQoNCg0KQnVybWFuLCBldCBhbC4gICAgICAgICAgIEV4cGlyZXMgTWFy
Y2ggMjMsIDIwMTUgICAgICAgICAgICAgICAgW1BhZ2UgMjhdDQoMDQpJbnRlcm5ldC1EcmFmdCAg
ICAgICAgICAgICAgUlRQIFN0cmVhbSBQYXVzZSAgICAgICAgICAgICAgU2VwdGVtYmVyIDIwMTQN
Cg0KDQogICAgICBhbGxvdyAibm93YWl0IiB0byBiZSBzZXQgYWxzbyBpbmRpY2F0ZSB0aGF0IGl0
IHdvdWxkIGJlIHBvc3NpYmxlDQogICAgICB0byB1c2UgQ0NNIFRNTUJSL1RNTUJOIGFzIHBhdXNl
L3Jlc3VtZSBzaWduYWxpbmcuDQoNCiAgIG8gICJjb25maWciIGFsbG93cyBmb3IgcGFydGlhbCBp
bXBsZW1lbnRhdGlvbiBvZiB0aGlzIHNwZWNpZmljYXRpb24NCiAgICAgIGFjY29yZGluZyB0byB0
aGUgZGlmZmVyZW50IHJvbGVzIGluIHRoZSB1c2UgY2FzZXMgc2VjdGlvbg0KICAgICAgKFNlY3Rp
b24gMyksIGFuZCB0YWtlcyBhIHZhbHVlIHRoYXQgZGVzY3JpYmVzIHdoYXQgc3ViLXNldCBpcw0K
ICAgICAgaW1wbGVtZW50ZWQ6DQoNCiAgICAgIDEgIEZ1bGwgaW1wbGVtZW50YXRpb24gb2YgdGhp
cyBzcGVjaWZpY2F0aW9uLiAgVGhpcyBpcyB0aGUgZGVmYXVsdA0KICAgICAgICAgY29uZmlndXJh
dGlvbi4gIEEgbWlzc2luZyBjb25maWcgYXR0cmlidXRlIE1VU1QgYmUgdHJlYXRlZA0KICAgICAg
ICAgZXF1aXZhbGVudCB0byBwcm92aWRpbmcgYSBjb25maWcgdmFsdWUgb2YgMS4NCg0KICAgICAg
MiAgVGhlIGltcGxlbWVudGF0aW9uIGludGVuZHMgdG8gc2VuZCBQQVVTRSBhbmQgUkVTVU1FIHJl
cXVlc3RzDQogICAgICAgICBmb3IgcmVjZWl2ZWQgUlRQIHN0cmVhbXMgYW5kIGlzIHRodXMgYWxz
byBjYXBhYmxlIG9mIHJlY2VpdmluZw0KICAgICAgICAgUEFVU0VEIGFuZCBSRUZVU0VELiAgSXQg
ZG9lcyBub3Qgc3VwcG9ydCByZWNlaXZpbmcgUEFVU0UgYW5kDQogICAgICAgICBSRVNVTUUgcmVx
dWVzdHMsIGJ1dCBtYXkgcGF1c2Ugc2VudCBSVFAgc3RyZWFtcyBkdWUgdG8gbG9jYWwNCiAgICAg
ICAgIGNvbnNpZGVyYXRpb25zIGFuZCB0aGVuIGludGVuZHMgdG8gc2VuZCBQQVVTRUQgZm9yIHRo
ZW0uDQoNCiAgICAgIDMgIFRoZSBpbXBsZW1lbnRhdGlvbiBzdXBwb3J0cyByZWNlaXZpbmcgUEFV
U0UgYW5kIFJFU1VNRSByZXF1ZXN0cw0KICAgICAgICAgdGFyZ2V0ZWQgZm9yIFJUUCBzdHJlYW1z
IGl0IHNlbmRzLiAgSXQgd2lsbCBzZW5kIFBBVVNFRCBhbmQNCiAgICAgICAgIFJFRlVTRUQgYXMg
bmVlZGVkLiAgVGhlIG5vZGUgd2lsbCBub3Qgc2VuZCBhbnkgUEFVU0UgYW5kIFJFU1VNRQ0KICAg
ICAgICAgcmVxdWVzdHMsIGJ1dCBzdXBwb3J0cyBhbmQgZGVzaXJlcyByZWNlaXZpbmcgUEFVU0VE
IGlmIHJlY2VpdmVkDQogICAgICAgICBSVFAgc3RyZWFtcyBhcmUgcGF1c2VkLg0KDQogICAgICA0
ICBUaGUgaW1wbGVtZW50YXRpb24gaW50ZW5kcyB0byBzZW5kIFBBVVNFIGFuZCBSRVNVTUUgcmVx
dWVzdHMNCiAgICAgICAgIGZvciByZWNlaXZlZCBSVFAgc3RyZWFtcyBhbmQgaXMgdGh1cyBhbHNv
IGNhcGFibGUgb2YgcmVjZWl2aW5nDQogICAgICAgICBQQVVTRUQgYW5kIFJFRlVTRUQuICBJdCBj
YW5ub3QgcGF1c2UgYW55IFJUUCBzdHJlYW1zIGl0IHNlbmRzLA0KICAgICAgICAgYW5kIHRodXMg
ZG9lcyBub3Qgc3VwcG9ydCByZWNlaXZpbmcgUEFVU0UgYW5kIFJFU1VNRSByZXF1ZXN0cywNCiAg
ICAgICAgIGFuZCBhbHNvIGRvZXMgbm90IHN1cHBvcnQgc2VuZGluZyBQQVVTRUQgaW5kaWNhdGlv
bnMuDQoNCiAgICAgIDUgIFRoZSBpbXBsZW1lbnRhdGlvbiBzdXBwb3J0cyByZWNlaXZpbmcgUEFV
U0UgYW5kIFJFU1VNRSByZXF1ZXN0cw0KICAgICAgICAgdGFyZ2V0ZWQgZm9yIFJUUCBzdHJlYW1z
IGl0IHNlbmRzLiAgSXQgd2lsbCBzZW5kIFBBVVNFRCBhbmQNCiAgICAgICAgIFJFRlVTRUQgYXMg
bmVlZGVkLiAgSXQgZG9lcyBub3Qgc3VwcG9ydCBzZW5kaW5nIFBBVVNFIGFuZA0KICAgICAgICAg
UkVTVU1FIHJlcXVlc3RzIHRvIHBhdXNlIHJlY2VpdmVkIFJUUCBzdHJlYW1zLCBhbmQgYWxzbyBk
b2VzDQogICAgICAgICBub3Qgc3VwcG9ydCByZWNlaXZpbmcgUEFVU0VEIGluZGljYXRpb25zLg0K
DQogICAgICA2ICBUaGUgaW1wbGVtZW50YXRpb24gc3VwcG9ydHMgc2VudCBhbmQgcmVjZWl2ZWQg
UlRQIHN0cmVhbXMgYmVpbmcNCiAgICAgICAgIHBhdXNlZCBkdWUgdG8gbG9jYWwgY29uc2lkZXJh
dGlvbnMsIGFuZCB0aHVzIHN1cHBvcnRzIHNlbmRpbmcNCiAgICAgICAgIGFuZCByZWNlaXZpbmcg
UEFVU0VEIGluZGljYXRpb25zLg0KDQogICAgICA3ICBUaGUgaW1wbGVtZW50YXRpb24gc3VwcG9y
dHMgYW5kIGRlc2lyZXMgdG8gcmVjZWl2ZSBQQVVTRUQNCiAgICAgICAgIGluZGljYXRpb25zIGZv
ciByZWNlaXZlZCBSVFAgc3RyZWFtcywgYnV0IGRvZXMgbm90IHBhdXNlIG9yDQogICAgICAgICBz
ZW5kIFBBVVNFRCBpbmRpY2F0aW9ucyBmb3Igc2VudCBSVFAgc3RyZWFtcy4gIEl0IGRvZXMgbm90
DQogICAgICAgICBzdXBwb3J0IGFueSBvdGhlciBtZXNzYWdlcyBkZWZpbmVkIGluIHRoaXMgc3Bl
Y2lmaWNhdGlvbi4NCg0KICAgICAgOCAgVGhlIGltcGxlbWVudGF0aW9uIHN1cHBvcnRzIHBhdXNp
bmcgc2VudCBSVFAgc3RyZWFtcyBhbmQNCiAgICAgICAgIHNlbmRpbmcgUEFVU0VEIGluZGljYXRp
b25zIGZvciB0aGVtLCBidXQgZG9lcyBub3Qgc3VwcG9ydA0KDQoNCg0KDQpCdXJtYW4sIGV0IGFs
LiAgICAgICAgICAgRXhwaXJlcyBNYXJjaCAyMywgMjAxNSAgICAgICAgICAgICAgICBbUGFnZSAy
OV0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgICBSVFAgU3RyZWFtIFBhdXNlICAgICAg
ICAgICAgICBTZXB0ZW1iZXIgMjAxNA0KDQoNCiAgICAgICAgIHJlY2VpdmluZyBQQVVTRUQgaW5k
aWNhdGlvbnMgZm9yIHJlY2VpdmVkIFJUUCBzdHJlYW1zLiAgSXQgZG9lcw0KICAgICAgICAgbm90
IHN1cHBvcnQgYW55IG90aGVyIG1lc3NhZ2VzIGRlZmluZWQgaW4gdGhpcyBzcGVjaWZpY2F0aW9u
Lg0KDQogICBXaGVuIHNpZ25hbGluZyBhIGNvbmZpZyB2YWx1ZSBvdGhlciB0aGFuIDEsIGFuIGlt
cGxlbWVudGF0aW9uIE1BWQ0KICAgaWdub3JlIG5vbi1zdXBwb3J0ZWQgbWVzc2FnZXMgb24gcmVj
ZXB0aW9uLCBhbmQgTUFZIG9taXQgc2VuZGluZyBub24tDQogICBzdXBwb3J0ZWQgbWVzc2FnZXMu
ICBUaGUgYmVsb3cgdGFibGUgc3VtbWFyaXplcyBwZXItbWVzc2FnZSBzZW5kIGFuZA0KICAgcmVj
ZWl2ZSBzdXBwb3J0IGZvciB0aGUgZGlmZmVyZW50IGNvbmZpZyBhdHRyaWJ1dGUgdmFsdWVzICgi
WCINCiAgIGluZGljYXRpbmcgc3VwcG9ydCBhbmQgIi0iIGluZGljYXRpbmcgbm9uLXN1cHBvcnQp
Og0KDQogICAgICstLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0rDQogICAgIHwgIyB8IFNlbmQgICAgICAgICAgICAgICAgICAgICAg
ICB8IFJlY2VpdmUgICAgICAgICAgICAgICAgICAgICB8DQogICAgIHwgICB8IFBBVVNFIFJFU1VN
RSBQQVVTRUQgUkVGVVNFRCB8IFBBVVNFIFJFU1VNRSBQQVVTRUQgUkVGVVNFRCB8DQogICAgICst
LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0rDQogICAgIHwgMSB8ICAgWCAgICAgIFggICAgICBYICAgICAgWCAgICB8ICAgWCAgICAg
IFggICAgICBYICAgICAgWCAgICB8DQogICAgIHwgMiB8ICAgWCAgICAgIFggICAgICBYICAgICAg
LSAgICB8ICAgLSAgICAgIC0gICAgICBYICAgICAgWCAgICB8DQogICAgIHwgMyB8ICAgLSAgICAg
IC0gICAgICBYICAgICAgWCAgICB8ICAgWCAgICAgIFggICAgICBYICAgICAgLSAgICB8DQogICAg
IHwgNCB8ICAgWCAgICAgIFggICAgICAtICAgICAgLSAgICB8ICAgLSAgICAgIC0gICAgICBYICAg
ICAgWCAgICB8DQogICAgIHwgNSB8ICAgLSAgICAgIC0gICAgICBYICAgICAgWCAgICB8ICAgWCAg
ICAgIFggICAgICAtICAgICAgLSAgICB8DQogICAgIHwgNiB8ICAgLSAgICAgIC0gICAgICBYICAg
ICAgLSAgICB8ICAgLSAgICAgIC0gICAgICBYICAgICAgLSAgICB8DQogICAgIHwgNyB8ICAgLSAg
ICAgIC0gICAgICAtICAgICAgLSAgICB8ICAgLSAgICAgIC0gICAgICBYICAgICAgLSAgICB8DQog
ICAgIHwgOCB8ICAgLSAgICAgIC0gICAgICBYICAgICAgLSAgICB8ICAgLSAgICAgIC0gICAgICAt
ICAgICAgLSAgICB8DQogICAgICstLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rDQoNCiAgICAgICAgIEZpZ3VyZSA2OiBTdXBwb3J0
ZWQgbWVzc2FnZXMgZm9yIGRpZmZlcmVudCBjb25maWcgdmFsdWVzDQoNCiAgIFRoaXMgaXMgdGhl
IHJlc3VsdGluZyBBQk5GIFtSRkM1MjM0XSwgZXh0ZW5kaW5nIGV4aXN0aW5nIEFCTkYgaW4NCiAg
IHNlY3Rpb24gNy4xIG9mIENDTSBbUkZDNTEwNF06DQoNCiAgIHJ0Y3AtZmItY2NtLXBhcmFtICA9
LyBTUCAicGF1c2UiIFtTUCBwYXVzZS1hdHRyXQ0KICAgcGF1c2UtYXR0ciAgICAgICAgID0gW3Bh
dXNlLWNvbmZpZ10gW1NQICJub3dhaXQiXSBbU1AgYnl0ZS1zdHJpbmddDQogICBwYXVzZS1jb25m
aWcgICAgICAgPSAiY29uZmlnPSIgcGF1c2UtY29uZmlnLXZhbHVlDQogICBwYXVzZS1jb25maWct
dmFsdWUgPSAleDMxLTM4DQogICA7IGJ5dGUtc3RyaW5nIGFzIGRlZmluZWQgaW4gUkZDIDQ1NjYs
IGZvciBmdXR1cmUgZXh0ZW5zaW9ucw0KDQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IEZpZ3VyZSA3OiBBQk5GDQoNCiAgIEFuIGVuZHBvaW50IGltcGxlbWVudGluZyB0aGlzIHNwZWNp
ZmljYXRpb24gYW5kIHVzaW5nIFNEUCB0byBzaWduYWwNCiAgIGNhcGFiaWxpdHkgU0hPVUxEIGlu
ZGljYXRlIHRoZSBuZXcgInBhdXNlIiBwYXJhbWV0ZXIgd2l0aCBjY20NCiAgIHNpZ25hbGluZywg
YnV0IE1BWSB1c2UgZXhpc3RpbmcgY2NtIHRtbWJyIHNpZ25hbGluZyBbUkZDNTEwNF0gaWYgdGhl
DQogICBsaW1pdGF0aW9ucyBpbiBmdW5jdGlvbmFsaXR5IGFzIGRlc2NyaWJlZCBpbiB0aGlzIHNw
ZWNpZmljYXRpb24NCiAgIGNvbWluZyBmcm9tIHN1Y2ggdXNhZ2UgYXJlIGNvbnNpZGVyZWQgYWNj
ZXB0YWJsZS4gIFRoZSBtZXNzYWdlcyBmcm9tDQogICB0aGlzIHNwZWNpZmljYXRpb24gU0hPVUxE
IE5PVCBiZSB1c2VkIHRvd2FyZHMgcmVjZWl2ZXJzIHRoYXQgZGlkIG5vdA0KICAgZGVjbGFyZSBj
YXBhYmlsaXR5IHRvIHJlY2VpdmUgdGhvc2UgbWVzc2FnZXMuDQoNCiAgIFRoZXJlIE1VU1QgTk9U
IGJlIG1vcmUgdGhhbiBvbmUgImE9cnRjcC1mYiIgbGluZSB3aXRoICJwYXVzZSINCiAgIGFwcGxp
Y2FibGUgdG8gYSBzaW5nbGUgcGF5bG9hZCB0eXBlIGluIHRoZSBTRFAsIHVubGVzcyB0aGUgYWRk
aXRpb25hbA0KICAgbGluZSB1c2VzICIqIiBhcyBwYXlsb2FkIHR5cGUsIGluIHdoaWNoIGNhc2Ug
IioiIFNIQUxMIGJlIGludGVycHJldGVkDQoNCg0KDQpCdXJtYW4sIGV0IGFsLiAgICAgICAgICAg
RXhwaXJlcyBNYXJjaCAyMywgMjAxNSAgICAgICAgICAgICAgICBbUGFnZSAzMF0NCgwNCkludGVy
bmV0LURyYWZ0ICAgICAgICAgICAgICBSVFAgU3RyZWFtIFBhdXNlICAgICAgICAgICAgICBTZXB0
ZW1iZXIgMjAxNA0KDQoNCiAgIGFzIGFwcGxpY2FibGUgdG8gYWxsIGxpc3RlZCBwYXlsb2FkIHR5
cGVzIHRoYXQgZG9lcyBub3QgaGF2ZSBhbg0KICAgZXhwbGljaXQgInBhdXNlIiBzcGVjaWZpY2F0
aW9uLg0KDQo5LjEuICBPZmZlci1BbnN3ZXIgVXNlDQoNCiAgIEFuIG9mZmVyZXIgaW1wbGVtZW50
aW5nIHRoaXMgc3BlY2lmaWNhdGlvbiBuZWVkcyB0byBpbmNsdWRlICJwYXVzZSINCiAgIENDTSBw
YXJhbWV0ZXIgd2l0aCBzdWl0YWJsZSBjb25maWd1cmF0aW9uIGF0dHJpYnV0ZSAoImNvbmZpZyIp
IGluIHRoZQ0KICAgU0RQLCBhY2NvcmRpbmcgdG8gd2hhdCBtZXNzYWdlcyBpdCBpbnRlbmRzIHRv
IHNlbmQgYW5kIGRlc2lyZXMgdG8NCiAgIHJlY2VpdmUgaW4gdGhlIHNlc3Npb24uDQoNCiAgIElu
IFNEUCBvZmZlci9hbnN3ZXIsIHRoZSAiY29uZmlnIiBhdHRyaWJ1dGUgYW5kIGl0cyBtZXNzYWdl
DQogICBkaXJlY3Rpb25zIGFyZSBpbnRlcnByZXRlZCBiYXNlZCBvbiB0aGUgYWdlbnQgcHJvdmlk
aW5nIHRoZSBTRFAuICBUaGUNCiAgIG9mZmVyZXIgaXMgZGVzY3JpYmVkIGluIGFuIG9mZmVyLCBh
bmQgdGhlIGFuc3dlcmVyIGlzIGRlc2NyaWJlZCBpbiBhbg0KICAgYW5zd2VyLg0KDQogICBBbiBh
bnN3ZXJlciByZWNlaXZpbmcgYW4gb2ZmZXIgd2l0aCBhICJwYXVzZSIgQ0NNIHBhcmFtZXRlciBh
bmQgYQ0KICAgY29uZmlnIGF0dHJpYnV0ZSB3aXRoIGEgY2VydGFpbiB2YWx1ZSwgZGVzY3JpYmlu
ZyBhIGNlcnRhaW4NCiAgIGNhcGFiaWxpdHkgdG8gc2VuZCBhbmQgcmVjZWl2ZSBtZXNzYWdlcywg
TUFZIGNoYW5nZSB0aGUgY29uZmlnDQogICBhdHRyaWJ1dGUgdmFsdWUgaW4gdGhlIGFuc3dlciB0
byBhbm90aGVyIGNvbmZpZ3VyYXRpb24uICBUaGUNCiAgIHBlcm1pdHRlZCBhbnN3ZXJzIGFyZSBs
aXN0ZWQgaW4gdGhlIGJlbG93IHRhYmxlLg0KDQogICAgICAgIFNEUCBPZmZlciBjb25maWcgdmFs
dWUgfCBQZXJtaXR0ZWQgU0RQIEFuc3dlciBjb25maWcgdmFsdWVzDQogICAgICAgIC0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQogICAg
ICAgICAgICAgICAgICAgIDEgICAgICAgICAgfCAxLCAyLCAzLCA0LCA1LCA2LCA3LCA4DQogICAg
ICAgICAgICAgICAgICAgIDIgICAgICAgICAgfCAzLCA0LCA1LCA2LCA3LCA4DQogICAgICAgICAg
ICAgICAgICAgIDMgICAgICAgICAgfCAyLCA0LCA1LCA2LCA3LCA4DQogICAgICAgICAgICAgICAg
ICAgIDQgICAgICAgICAgfCA1LCA2LCA3LCA4DQogICAgICAgICAgICAgICAgICAgIDUgICAgICAg
ICAgfCA0LCA2LCA3LCA4DQogICAgICAgICAgICAgICAgICAgIDYgICAgICAgICAgfCA2LCA3LCA4
DQogICAgICAgICAgICAgICAgICAgIDcgICAgICAgICAgfCA4DQogICAgICAgICAgICAgICAgICAg
IDggICAgICAgICAgfCA3DQoNCg0KICAgICAgICAgICAgICAgICAgRmlndXJlIDg6IENvbmZpZyB2
YWx1ZXMgaW4gT2ZmZXIvQW5zd2VyDQoNCiAgIEFuIG9mZmVyIG9yIGFuc3dlciBvbWl0dGluZyB0
aGUgY29uZmlnIGF0dHJpYnV0ZSwgTVVTVCBiZSBpbnRlcnByZXRlZA0KICAgYXMgZXF1aXZhbGVu
dCB0byBjb25maWc9MS4gIEluIGFsbCBjYXNlcyB0aGUgYW5zd2VyZXIgTUFZIGFsc28NCiAgIGNv
bXBsZXRlbHkgcmVtb3ZlIGFueSAicGF1c2UiIENDTSBwYXJhbWV0ZXIgdG8gaW5kaWNhdGUgdGhh
dCBpdCBkb2VzDQogICBub3QgdW5kZXJzdGFuZCBvciBkZXNpcmUgdG8gdXNlIGFueSBwYXVzZSBm
dW5jdGlvbmFsaXR5IGZvciB0aGUNCiAgIGFmZmVjdGVkIHBheWxvYWQgdHlwZXMuDQoNCiAgIElm
IHRoZSBvZmZlcmVyIGJlbGlldmVzIHRoYXQgaXRzZWxmIGFuZCB0aGUgaW50ZW5kZWQgYW5zd2Vy
ZXIgYXJlDQogICBsaWtlbHkgdGhlIG9ubHkgRW5kIFBvaW50cyBpbiB0aGUgUlRQIHNlc3Npb24s
IGl0IE1BWSBpbmNsdWRlIHRoZQ0KICAgIm5vd2FpdCIgc3ViLXBhcmFtZXRlciBvbiB0aGUgInBh
dXNlIiBsaW5lIGluIHRoZSBvZmZlci4gIElmIGFuDQogICBhbnN3ZXJlciByZWNlaXZlcyB0aGUg
Im5vd2FpdCIgc3ViLXBhcmFtZXRlciBvbiB0aGUgInBhdXNlIiBsaW5lIGluDQogICB0aGUgU0RQ
LCBhbmQgaWYgaXQgaGFzIGluZm9ybWF0aW9uIHRoYXQgdGhlIG9mZmVyZXIgYW5kIGl0c2VsZiBh
cmUNCiAgIG5vdCB0aGUgb25seSBFbmQgUG9pbnRzIGluIHRoZSBSVFAgc2Vzc2lvbiwgaXQgTVVT
VCBOT1QgaW5jbHVkZSBhbnkNCiAgICJub3dhaXQiIHN1Yi1wYXJhbWV0ZXIgb24gaXRzICJwYXVz
ZSIgbGluZSBpbiB0aGUgU0RQIGFuc3dlci4gIFRoZQ0KDQoNCg0KQnVybWFuLCBldCBhbC4gICAg
ICAgICAgIEV4cGlyZXMgTWFyY2ggMjMsIDIwMTUgICAgICAgICAgICAgICAgW1BhZ2UgMzFdDQoM
DQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICAgUlRQIFN0cmVhbSBQYXVzZSAgICAgICAgICAg
ICAgU2VwdGVtYmVyIDIwMTQNCg0KDQogICBhbnN3ZXJlciBNVVNUIE5PVCBhZGQgIm5vd2FpdCIg
b24gdGhlICJwYXVzZSIgbGluZSBpbiB0aGUgYW5zd2VyDQogICB1bmxlc3MgaXQgaXMgcHJlc2Vu
dCBvbiB0aGUgInBhdXNlIiBsaW5lIGluIHRoZSBvZmZlci4gIElmIGJvdGggb2ZmZXINCiAgIGFu
ZCBhbnN3ZXIgY29udGFpbmVkIGEgIm5vd2FpdCIgcGFyYW1ldGVyLCB0aGVuIHRoZSBob2xkLW9m
ZiBwZXJpb2QNCiAgIGlzIGNvbmZpZ3VyZWQgdG8gMCBhdCBib3RoIG9mZmVyZXIgYW5kIGFuc3dl
cmVyLg0KDQo5LjIuICBEZWNsYXJhdGl2ZSBVc2UNCg0KICAgSW4gZGVjbGFyYXRpdmUgdXNlLCB0
aGUgU0RQIGlzIHVzZWQgdG8gY29uZmlndXJlIHRoZSBub2RlIHJlY2VpdmluZw0KICAgdGhlIFNE
UC4gIFRoaXMgaGFzIGltcGxpY2F0aW9ucyBvbiB0aGUgaW50ZXJwcmV0YXRpb24gb2YgdGhlIFNE
UA0KICAgc2lnbmFsaW5nIGV4dGVuc2lvbnMgZGVmaW5lZCBpbiB0aGlzIHNwZWNpZmljYXRpb24u
DQoNCiAgIEZpcnN0LCB0aGUgImNvbmZpZyIgYXR0cmlidXRlIGFuZCBpdHMgbWVzc2FnZSBkaXJl
Y3Rpb25zIGFyZQ0KICAgaW50ZXJwcmV0ZWQgYmFzZWQgb24gdGhlIG5vZGUgcmVjZWl2aW5nIHRo
ZSBTRFAuDQoNCiAgIFNlY29uZCwgdGhlICJub3dhaXQiIHBhcmFtZXRlciwgaWYgaW5jbHVkZWQs
IGlzIGZvbGxvd2VkIGFzDQogICBzcGVjaWZpZWQuICBJdCBpcyB0aGUgcmVzcG9uc2liaWxpdHkg
b2YgdGhlIGRlY2xhcmF0aXZlIFNEUCBzZW5kZXIgdG8NCiAgIGRldGVybWluZSBpZiBhIGNvbmZp
Z3VyZWQgbm9kZSB3aWxsIHBhcnRpY2lwYXRlIGluIGEgc2Vzc2lvbiB0aGF0DQogICB3aWxsIGJl
IHBvaW50IHRvIHBvaW50LCBiYXNlZCBvbiB0aGUgdXNhZ2UuICBGb3IgZXhhbXBsZSwgYQ0KICAg
Y29uZmVyZW5jZSBjbGllbnQgYmVpbmcgY29uZmlndXJlZCBmb3IgYW4gYW55IHNvdXJjZSBtdWx0
aWNhc3QNCiAgIHNlc3Npb24gdXNpbmcgU0FQIFtSRkMyOTc0XSB3aWxsIG5vdCBiZSBpbiBhIHBv
aW50IHRvIHBvaW50IHNlc3Npb24sDQogICB0aHVzICJub3dhaXQiIGNhbm5vdCBiZSBpbmNsdWRl
ZC4gIEFuIFJUU1AgW1JGQzIzMjZdIGNsaWVudCByZWNlaXZpbmcNCiAgIGEgZGVjbGFyYXRpdmUg
U0RQIG1heSB2ZXJ5IHdlbGwgYmUgaW4gYSBwb2ludCB0byBwb2ludCBzZXNzaW9uLA0KICAgYWx0
aG91Z2ggaXQgaXMgaGlnaGx5IGRvdWJ0ZnVsIHRoYXQgYW4gUlRTUCBjbGllbnQgd291bGQgbmVl
ZCB0bw0KICAgc3VwcG9ydCB0aGlzIHNwZWNpZmljYXRpb24sIGNvbnNpZGVyaW5nIHRoZSBpbmhl
cmVudCBQQVVTRSBzdXBwb3J0IGluDQogICBSVFNQLg0KDQoxMC4gIEV4YW1wbGVzDQoNCiAgIFRo
ZSBmb2xsb3dpbmcgZXhhbXBsZXMgc2hvd3MgdXNlIG9mIFBBVVNFIGFuZCBSRVNVTUUgbWVzc2Fn
ZXMsDQogICBpbmNsdWRpbmcgdXNlIG9mIG9mZmVyLWFuc3dlcjoNCg0KICAgMS4gIE9mZmVyLUFu
c3dlcg0KDQogICAyLiAgUG9pbnQtdG8tUG9pbnQgc2Vzc2lvbg0KDQogICAzLiAgUG9pbnQtdG8t
TXVsdGlwb2ludCB1c2luZyBNaXhlcg0KDQogICA0LiAgUG9pbnQtdG8tTXVsdGlwb2ludCB1c2lu
ZyBUcmFuc2xhdG9yDQoNCjEwLjEuICBPZmZlci1BbnN3ZXINCg0KICAgVGhlIGJlbG93IGZpZ3Vy
ZXMgY29udGFpbnMgYW4gZXhhbXBsZSBob3cgdG8gc2hvdyBzdXBwb3J0IGZvciBwYXVzaW5nDQog
ICBhbmQgcmVzdW1pbmcgdGhlIHN0cmVhbXMsIGFzIHdlbGwgYXMgaW5kaWNhdGluZyB3aGV0aGVy
IG9yIG5vdCB0aGUNCiAgIGhvbGQtb2ZmIHBlcmlvZCBjYW4gYmUgc2V0IHRvIDAuDQoNCg0KDQoN
Cg0KDQoNCkJ1cm1hbiwgZXQgYWwuICAgICAgICAgICBFeHBpcmVzIE1hcmNoIDIzLCAyMDE1ICAg
ICAgICAgICAgICAgIFtQYWdlIDMyXQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgIFJU
UCBTdHJlYW0gUGF1c2UgICAgICAgICAgICAgIFNlcHRlbWJlciAyMDE0DQoNCg0KICAgdj0wDQog
ICBvPWFsaWNlIDMyMDMwOTM1MjAgMzIwMzA5MzUyMCBJTiBJUDQgYWxpY2UuZXhhbXBsZS5jb20N
CiAgIHM9UGF1c2luZyBNZWRpYQ0KICAgdD0wIDANCiAgIGM9SU4gSVA0IGFsaWNlLmV4YW1wbGUu
Y29tDQogICBtPWF1ZGlvIDQ5MTcwIFJUUC9BVlBGIDk4IDk5DQogICBhPXJ0cG1hcDo5OCBHNzE5
LzQ4MDAwDQogICBhPXJ0cG1hcDo5OSBQQ01BLzgwMDANCiAgIGE9cnRjcC1mYjoqIGNjbSBwYXVz
ZSBub3dhaXQNCg0KDQogICAgICAgICAgIEZpZ3VyZSA5OiBTRFAgT2ZmZXIgV2l0aCBQYXVzZSBh
bmQgUmVzdW1lIENhcGFiaWxpdHkNCg0KICAgVGhlIG9mZmVyZXIgc3VwcG9ydHMgYWxsIG9mIHRo
ZSBtZXNzYWdlcyBkZWZpbmVkIGluIHRoaXMNCiAgIHNwZWNpZmljYXRpb24sIGxlYXZpbmcgb3V0
IHRoZSBvcHRpb25hbCBjb25maWcgYXR0cmlidXRlLiAgVGhlDQogICBvZmZlcmVyIGFsc28gYmVs
aWV2ZXMgdGhhdCBpdCB3aWxsIGJlIHRoZSBzb2xlIHJlY2VpdmVyIG9mIHRoZQ0KICAgYW5zd2Vy
ZXIncyBzdHJlYW0gYXMgd2VsbCBhcyB0aGF0IHRoZSBhbnN3ZXJlciB3aWxsIGJlIHRoZSBzb2xl
DQogICByZWNlaXZlciBvZiB0aGUgb2ZmZXJlcidzIHN0cmVhbSBhbmQgdGh1cyBpbmNsdWRlcyB0
aGUgIm5vd2FpdCIgc3ViLQ0KICAgcGFyYW1ldGVyIGZvciB0aGUgInBhdXNlIiBwYXJhbWV0ZXIu
DQoNCiAgIFRoaXMgaXMgdGhlIFNEUCBhbnN3ZXI6DQoNCiAgIHY9MA0KICAgbz1ib2IgMjkzODQ3
MTkyIDI5Mzg0NzE5MiBJTiBJUDQgYm9iLmV4YW1wbGUuY29tDQogICBzPS0NCiAgIHQ9MCAwDQog
ICBjPUlOIElQNCBib2IuZXhhbXBsZS5jb20NCiAgIG09YXVkaW8gNDkyMDIgUlRQL0FWUEYgOTgN
CiAgIGE9cnRwbWFwOjk4IEc3MTkvNDgwMDANCiAgIGE9cnRjcC1mYjo5OCBjY20gcGF1c2UgY29u
ZmlnPTINCg0KDQogICAgICAgICAgRmlndXJlIDEwOiBTRFAgQW5zd2VyIFdpdGggUGF1c2UgYW5k
IFJlc3VtZSBDYXBhYmlsaXR5DQoNCiAgIFRoZSBhbnN3ZXJlciB3aWxsIG5vdCBhbGxvdyBpdHMg
c2VudCBzdHJlYW1zIHRvIGJlIHBhdXNlZCBvciByZXN1bWVkDQogICBhbmQgdGh1cyByZXN0cmlj
dHMgdGhlIGFuc3dlciB0byBpbmRpY2F0ZSBjb25maWc9Mi4gIEl0IGFsc28gc3VwcG9ydHMNCiAg
IHBhdXNpbmcgaXRzIG93biBSVFAgc3RyZWFtcyBkdWUgdG8gbG9jYWwgY29uc2lkZXJhdGlvbnMs
IHdoaWNoIGlzIHdoeQ0KICAgY29uZmlnPTIgaXMgY2hvc2VuIHJhdGhlciB0aGFuIGNvbmZpZz00
LiAgVGhlIGFuc3dlcmVyIHNvbWVob3cga25vd3MNCiAgIHRoYXQgaXQgd2lsbCBub3QgYmUgYSBw
b2ludC10by1wb2ludCBSVFAgc2Vzc2lvbiBhbmQgaGFzIHRoZXJlZm9yZQ0KICAgcmVtb3ZlZCAi
bm93YWl0IiBmcm9tIHRoZSAicGF1c2UiIGxpbmUsIG1lYW5pbmcgdGhhdCB0aGUgb2ZmZXJlciBt
dXN0DQogICB1c2UgYSBub24temVybyBob2xkLW9mZiBwZXJpb2Qgd2hlbiBiZWluZyByZXF1ZXN0
ZWQgdG8gcGF1c2UgdGhlDQogICBzdHJlYW0uDQoNCiAgIFdoZW4gdXNpbmcgVE1NQlIgMCAvIFRN
TUJOIDAgdG8gYWNoaWV2ZSBwYXVzZSBhbmQgcmVzdW1lDQogICBmdW5jdGlvbmFsaXR5LCB0aGVy
ZSBhcmUgbm8gZGlmZmVyZW5jZXMgaW4gU0RQIGNvbXBhcmVkIHRvIENDTQ0KICAgW1JGQzUxMDRd
IGFuZCB0aGVyZWZvcmUgbm8gc3VjaCBleGFtcGxlcyBhcmUgaW5jbHVkZWQgaGVyZS4NCg0KDQoN
Cg0KDQpCdXJtYW4sIGV0IGFsLiAgICAgICAgICAgRXhwaXJlcyBNYXJjaCAyMywgMjAxNSAgICAg
ICAgICAgICAgICBbUGFnZSAzM10NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgICBSVFAg
U3RyZWFtIFBhdXNlICAgICAgICAgICAgICBTZXB0ZW1iZXIgMjAxNA0KDQoNCjEwLjIuICBQb2lu
dC10by1Qb2ludCBTZXNzaW9uDQoNCiAgIFRoaXMgaXMgdGhlIG1vc3QgYmFzaWMgc2NlbmFyaW8s
IHdoaWNoIGludm9sdmVzIHR3byBwYXJ0aWNpcGFudHMsDQogICBlYWNoIGFjdGluZyBhcyBhIHNl
bmRlciBhbmQvb3IgcmVjZWl2ZXIuICBBbnkgUlRQIGRhdGEgcmVjZWl2ZXIgc2VuZHMNCiAgIFBB
VVNFIG9yIFJFU1VNRSBtZXNzYWdlcyB0byB0aGUgc2VuZGVyLCB3aGljaCBwYXVzZXMgb3IgcmVz
dW1lcw0KICAgdHJhbnNtaXNzaW9uIGFjY29yZGluZ2x5LiAgVGhlIGhvbGQtb2ZmIHBlcmlvZCBi
ZWZvcmUgcGF1c2luZyBhDQogICBzdHJlYW0gaXMgMC4NCg0KICAgICAgICAgICArLS0tLS0tLS0t
LS0tLS0tKyAgICAgICAgICAgICAgICAgICArLS0tLS0tLS0tLS0tLS0tKw0KICAgICAgICAgICB8
ICBSVFAgU2VuZGVyICAgfCAgICAgICAgICAgICAgICAgICB8IFJUUCBSZWNlaXZlciAgfA0KICAg
ICAgICAgICArLS0tLS0tLS0tLS0tLS0tKyAgICAgICAgICAgICAgICAgICArLS0tLS0tLS0tLS0t
LS0tKw0KICAgICAgICAgICAgICAgICAgOiAgICAgICAgICAgdDE6IFJUUCBkYXRhICAgICAgICAg
ICA6DQogICAgICAgICAgICAgICAgICB8IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0+
IHwNCiAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgIHQyOiBQQVVTRSgzKSAgICAgICAgICAg
fA0KICAgICAgICAgICAgICAgICAgfCA8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSB8
DQogICAgICAgICAgICAgICAgICB8ICAgICAgIDwgUlRQIGRhdGEgcGF1c2VkID4gICAgICAgIHwN
CiAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgIHQzOiBQQVVTRUQoMykgICAgICAgICAgfA0K
ICAgICAgICAgICAgICAgICAgfCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPiB8DQog
ICAgICAgICAgICAgICAgICA6ICAgICAgIDwgU29tZSB0aW1lIHBhc3NlcyA+ICAgICAgIDoNCiAg
ICAgICAgICAgICAgICAgIHwgICAgICAgICAgIHQ0OiBSRVNVTUUoMykgICAgICAgICAgfA0KICAg
ICAgICAgICAgICAgICAgfCA8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSB8DQogICAg
ICAgICAgICAgICAgICB8ICAgICAgICAgICB0NTogUlRQIGRhdGEgICAgICAgICAgIHwNCiAgICAg
ICAgICAgICAgICAgIHwgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLT4gfA0KICAgICAg
ICAgICAgICAgICAgOiAgICAgICA8IFNvbWUgdGltZSBwYXNzZXMgPiAgICAgICA6DQogICAgICAg
ICAgICAgICAgICB8ICAgICAgICAgICB0NjogUEFVU0UoNCkgICAgICAgICAgIHwNCiAgICAgICAg
ICAgICAgICAgIHwgPC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gfA0KICAgICAgICAg
ICAgICAgICAgfCAgICAgICA8IFJUUCBkYXRhIHBhdXNlZCA+ICAgICAgICB8DQogICAgICAgICAg
ICAgICAgICA6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDoNCg0KDQogICAgICAg
ICAgRmlndXJlIDExOiBQYXVzZSBhbmQgUmVzdW1lIE9wZXJhdGlvbiBpbiBQb2ludC10by1Qb2lu
dA0KDQogICBGaWd1cmUgMTEgc2hvd3MgdGhlIGJhc2ljIHBhdXNlIGFuZCByZXN1bWUgb3BlcmF0
aW9uIGluIFBvaW50LXRvLQ0KICAgUG9pbnQgc2NlbmFyaW8uICBBdCB0aW1lIHQxLCBhbiBSVFAg
c2VuZGVyIHNlbmRzIGRhdGEgdG8gYSByZWNlaXZlci4NCiAgIEF0IHRpbWUgdDIsIHRoZSBSVFAg
cmVjZWl2ZXIgcmVxdWVzdHMgdGhlIHNlbmRlciB0byBwYXVzZSB0aGUgc3RyZWFtLA0KICAgdXNp
bmcgUGF1c2VJRCAzICh3aGljaCBpdCBrbmV3IHNpbmNlIGJlZm9yZSBpbiB0aGlzIGV4YW1wbGUp
LiAgVGhlDQogICBzZW5kZXIgcGF1c2VzIHRoZSBkYXRhIGFuZCByZXBsaWVzIHdpdGggYSBQQVVT
RUQgY29udGFpbmluZyB0aGUgc2FtZQ0KICAgUGF1c2VJRC4gIFNvbWUgdGltZSBsYXRlciAoYXQg
dGltZSB0NCkgdGhlIHJlY2VpdmVyIHJlcXVlc3RzIHRoZQ0KICAgc2VuZGVyIHRvIHJlc3VtZSwg
d2hpY2ggcmVzdW1lcyBpdHMgdHJhbnNtaXNzaW9uLiAgVGhlIG5leHQgUEFVU0UsDQogICBzZW50
IGF0IHRpbWUgdDYsIGNvbnRhaW5zIGFuIHVwZGF0ZWQgUGF1c2VJRCAoNCkuDQoNCg0KDQoNCg0K
DQoNCg0KDQoNCg0KQnVybWFuLCBldCBhbC4gICAgICAgICAgIEV4cGlyZXMgTWFyY2ggMjMsIDIw
MTUgICAgICAgICAgICAgICAgW1BhZ2UgMzRdDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAg
ICAgUlRQIFN0cmVhbSBQYXVzZSAgICAgICAgICAgICAgU2VwdGVtYmVyIDIwMTQNCg0KDQogICAg
ICAgICAgICstLS0tLS0tLS0tLS0tLS0rICAgICAgICAgICAgICAgICAgICstLS0tLS0tLS0tLS0t
LS0rDQogICAgICAgICAgIHwgIFJUUCBTZW5kZXIgICB8ICAgICAgICAgICAgICAgICAgIHwgUlRQ
IFJlY2VpdmVyICB8DQogICAgICAgICAgICstLS0tLS0tLS0tLS0tLS0rICAgICAgICAgICAgICAg
ICAgICstLS0tLS0tLS0tLS0tLS0rDQogICAgICAgICAgICAgICAgICA6ICAgICAgICAgICB0MTog
UlRQIGRhdGEgICAgICAgICAgIDoNCiAgICAgICAgICAgICAgICAgIHwgLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLT4gfA0KICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgdDI6IFRN
TUJSIDAgICAgICAgICAgICB8DQogICAgICAgICAgICAgICAgICB8IDwtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tIHwNCiAgICAgICAgICAgICAgICAgIHwgICAgICAgPCBSVFAgZGF0YSBw
YXVzZWQgPiAgICAgICAgfA0KICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgdDM6IFRNTUJO
IDAgICAgICAgICAgICB8DQogICAgICAgICAgICAgICAgICB8IC0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0+IHwNCiAgICAgICAgICAgICAgICAgIDogICAgICAgPCBTb21lIHRpbWUgcGFz
c2VzID4gICAgICAgOg0KICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgdDQ6IFRNTUJSIDE1
MDAwMCAgICAgICB8DQogICAgICAgICAgICAgICAgICB8IDwtLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tIHwNCiAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgIHQ1OiBSVFAgZGF0YSAg
ICAgICAgICAgfA0KICAgICAgICAgICAgICAgICAgfCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tPiB8DQogICAgICAgICAgICAgICAgICA6ICAgICAgIDwgU29tZSB0aW1lIHBhc3NlcyA+
ICAgICAgIDoNCiAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgIHQ2OiBUTU1CUiAwICAgICAg
ICAgICAgfA0KICAgICAgICAgICAgICAgICAgfCA8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLSB8DQogICAgICAgICAgICAgICAgICB8ICAgICAgIDwgUlRQIGRhdGEgcGF1c2VkID4gICAg
ICAgIHwNCiAgICAgICAgICAgICAgICAgIDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgOg0KDQoNCiAgICAgICAgICAgIEZpZ3VyZSAxMjogVE1NQlIgUGF1c2UgYW5kIFJlc3VtZSBp
biBQb2ludC10by1Qb2ludA0KDQogICBGaWd1cmUgMTIgZGVzY3JpYmVzIHRoZSBzYW1lIHBvaW50
LXRvLXBvaW50IHNjZW5hcmlvIGFzIGFib3ZlLCBidXQNCiAgIHVzaW5nIFRNTUJSL1RNTUJOIHNp
Z25hbGluZy4NCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoN
Cg0KQnVybWFuLCBldCBhbC4gICAgICAgICAgIEV4cGlyZXMgTWFyY2ggMjMsIDIwMTUgICAgICAg
ICAgICAgICAgW1BhZ2UgMzVdDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICAgUlRQIFN0
cmVhbSBQYXVzZSAgICAgICAgICAgICAgU2VwdGVtYmVyIDIwMTQNCg0KDQogICAgICAgICArLS0t
LS0tLS0tLS0tLS0tKyAgICAgICAgICAgICAgICAgICAgICAgKy0tLS0tLS0tLS0tLS0tLSsNCiAg
ICAgICAgIHwgIFJUUCBTZW5kZXIgICB8ICAgICAgICAgICAgICAgICAgICAgICB8IFJUUCBSZWNl
aXZlciAgfA0KICAgICAgICAgKy0tLS0tLS0tLS0tLS0tLSsgICAgICAgICAgICAgICAgICAgICAg
ICstLS0tLS0tLS0tLS0tLS0rDQogICAgICAgICAgICAgICAgOiAgICAgICAgICAgdDE6IFJUUCBk
YXRhICAgICAgICAgICAgICAgIDoNCiAgICAgICAgICAgICAgICB8IC0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLT4gfA0KICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAg
ICAgdDI6IFBBVVNFKDcpLCBsb3N0ICB8DQogICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAg
ICAgICA8LS0tWC0tLS0tLS0tLS0tLS0tIHwNCiAgICAgICAgICAgICAgICB8ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgfA0KICAgICAgICAgICAgICAgIHwgICAgICAgICAg
IHQzOiBSVFAgZGF0YSAgICAgICAgICAgICAgICB8DQogICAgICAgICAgICAgICAgfCAtLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0+IHwNCiAgICAgICAgICAgICAgICA6ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOg0KICAgICAgICAgICAgICAgIHwgICAg
PFRpbWVvdXQsIHN0aWxsIHJlY2VpdmluZyBkYXRhPiAgICB8DQogICAgICAgICAgICAgICAgfCAg
ICAgICAgICAgdDQ6IFBBVVNFKDcpICAgICAgICAgICAgICAgIHwNCiAgICAgICAgICAgICAgICB8
IDwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gfA0KICAgICAgICAgICAgICAg
IHwgICAgICAgICAgPCBSVFAgZGF0YSBwYXVzZWQgPiAgICAgICAgICB8DQogICAgICAgICAgICAg
ICAgfCAgICAgICAgICAgdDU6IFBBVVNFRCg3KSAgICAgICAgICAgICAgIHwNCiAgICAgICAgICAg
ICAgICB8IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLT4gfA0KICAgICAgICAg
ICAgICAgIDogICAgICAgICAgPCBTb21lIHRpbWUgcGFzc2VzID4gICAgICAgICA6DQogICAgICAg
ICAgICAgICAgfCAgICAgICAgICAgICAgICAgICB0NjogUkVTVU1FKDcpLCBsb3N0IHwNCiAgICAg
ICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgIDwtLS1YLS0tLS0tLS0tLS0tLS0gfA0KICAg
ICAgICAgICAgICAgIHwgICAgICAgICAgIHQ3OiBSRVNVTUUoNykgICAgICAgICAgICAgICB8DQog
ICAgICAgICAgICAgICAgfCA8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIHwN
CiAgICAgICAgICAgICAgICB8ICAgICAgICAgICB0ODogUlRQIGRhdGEgICAgICAgICAgICAgICAg
fA0KICAgICAgICAgICAgICAgIHwgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
PiB8DQogICAgICAgICAgICAgICAgfCAgICAgICAgICAgdDk6IFJFU1VNRSg3KSAgICAgICAgICAg
ICAgIHwNCiAgICAgICAgICAgICAgICB8IDwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0gfA0KICAgICAgICAgICAgICAgIDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICA6DQoNCg0KICAgICAgICAgRmlndXJlIDEzOiBQYXVzZSBhbmQgUmVzdW1lIE9wZXJh
dGlvbiBXaXRoIE1lc3NhZ2VzIExvc3QNCg0KICAgRmlndXJlIDEzIGRlc2NyaWJlcyB3aGF0IGhh
cHBlbnMgaWYgYSBQQVVTRSBtZXNzYWdlIGZyb20gYW4gUlRQDQogICBzdHJlYW0gcmVjZWl2ZXIg
ZG9lcyBub3QgcmVhY2ggdGhlIFJUUCBzdHJlYW0gc2VuZGVyLiAgQWZ0ZXIgc2VuZGluZw0KICAg
YSBQQVVTRSBtZXNzYWdlLCB0aGUgUlRQIHN0cmVhbSByZWNlaXZlciB3YWl0cyBmb3IgYSB0aW1l
LW91dCB0bw0KICAgZGV0ZWN0IGlmIHRoZSBSVFAgc3RyZWFtIHNlbmRlciBoYXMgcGF1c2VkIHRo
ZSBkYXRhIHRyYW5zbWlzc2lvbiBvcg0KICAgaGFzIHNlbnQgUEFVU0VEIGluZGljYXRpb24gYWNj
b3JkaW5nIHRvIHRoZSBydWxlcyBkaXNjdXNzZWQgaW4NCiAgIFNlY3Rpb24gNi4zLiAgQXMgdGhl
IFBBVVNFIG1lc3NhZ2UgaXMgbG9zdCBvbiB0aGUgd2F5IChhdCB0aW1lIHQyKSwNCiAgIFJUUCBk
YXRhIGNvbnRpbnVlcyB0byByZWFjaCB0byB0aGUgUlRQIHN0cmVhbSByZWNlaXZlci4gIFdoZW4g
dGhlDQogICB0aW1lciBleHBpcmVzLCB0aGUgUlRQIHN0cmVhbSByZWNlaXZlciBzY2hlZHVsZXMg
YSByZXRyYW5zbWlzc2lvbiBvZg0KICAgdGhlIFBBVVNFIG1lc3NhZ2UsIHdoaWNoIGlzIHNlbnQg
YXQgdGltZSB0NC4gIElmIHRoZSBQQVVTRSBtZXNzYWdlDQogICBub3cgcmVhY2hlcyB0aGUgUlRQ
IHN0cmVhbSBzZW5kZXIsIGl0IHBhdXNlcyB0aGUgUlRQIHN0cmVhbSBhbmQNCiAgIHJlcGxpZXMg
d2l0aCBQQVVTRUQuDQoNCiAgIEF0IHRpbWUgdDYsIHRoZSBSVFAgc3RyZWFtIHJlY2VpdmVyIHdp
c2hlcyB0byByZXN1bWUgdGhlIHN0cmVhbSBhZ2Fpbg0KICAgYW5kIHNlbmRzIGEgUkVTVU1FLCB3
aGljaCBpcyBsb3N0LiAgVGhpcyBkb2VzIG5vdCBjYXVzZSBhbnkgc2V2ZXJlDQogICBlZmZlY3Qs
IHNpbmNlIHRoZXJlIGlzIG5vIHJlcXVpcmVtZW50IHRvIHdhaXQgdW50aWwgZnVydGhlciBSRVNV
TUUNCiAgIGFyZSBzZW50IGFuZCBhbm90aGVyIFJFU1VNRSBhcmUgc2VudCBhbHJlYWR5IGF0IHRp
bWUgdDcsIHdoaWNoIG5vdw0KICAgcmVhY2hlcyB0aGUgUlRQIHN0cmVhbSBzZW5kZXIgdGhhdCBj
b25zZXF1ZW50bHkgcmVzdW1lcyB0aGUgc3RyZWFtIGF0DQoNCg0KDQpCdXJtYW4sIGV0IGFsLiAg
ICAgICAgICAgRXhwaXJlcyBNYXJjaCAyMywgMjAxNSAgICAgICAgICAgICAgICBbUGFnZSAzNl0N
CgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgICBSVFAgU3RyZWFtIFBhdXNlICAgICAgICAg
ICAgICBTZXB0ZW1iZXIgMjAxNA0KDQoNCiAgIHRpbWUgdDguICBUaGUgdGltZSBpbnRlcnZhbCBi
ZXR3ZWVuIHQ2IGFuZCB0NyBjYW4gdmFyeSwgYnV0IG1heSBmb3INCiAgIGV4YW1wbGUgYmUgb25l
IFJUQ1AgZmVlZGJhY2sgdHJhbnNtaXNzaW9uIGludGVydmFsIGFzIGRldGVybWluZWQgYnkNCiAg
IHRoZSBBVlBGIHJ1bGVzLg0KDQogICBUaGUgUlRQIHN0cmVhbSByZWNlaXZlciBkaWQgbm90IHJl
YWxpemUgdGhhdCB0aGUgUlRQIHN0cmVhbSB3YXMNCiAgIHJlc3VtZWQgaW4gdGltZSB0byBzdG9w
IHlldCBhbm90aGVyIHNjaGVkdWxlZCBSRVNVTUUgZnJvbSBiZWluZyBzZW50DQogICBhdCB0aW1l
IHQ5LiAgVGhpcyBpcyBob3dldmVyIGhhcm1sZXNzIHNpbmNlIHRoZSBSRVNVTUUgUGF1c2VJRCBp
cw0KICAgbGVzcyB0aGFuIHRoZSB2YWxpZCBvbmUgYW5kIHdpbGwgYmUgaWdub3JlZCBieSB0aGUg
UlRQIHN0cmVhbSBzZW5kZXIuDQogICBJdCB3aWxsIGFsc28gbm90IGNhdXNlIGFueSB1bndhbnRl
ZCByZXN1bWUgZXZlbiBpZiB0aGUgc3RyZWFtIHdhcw0KICAgcGF1c2VkIGJhc2VkIG9uIGEgUEFV
U0UgZnJvbSBzb21lIG90aGVyIHJlY2VpdmVyIGJlZm9yZSByZWNlaXZpbmcgdGhlDQogICBSRVNV
TUUsIHNpbmNlIHRoZSB2YWxpZCBQYXVzZUlEIGlzIG5vdyBsYXJnZXIgdGhhbiB0aGUgb25lIGlu
IHRoZQ0KICAgc3RyYXkgUkVTVU1FIGFuZCB3aWxsIG9ubHkgY2F1c2UgYSBSRUZVU0VEIGNvbnRh
aW5pbmcgdGhlIG5ldyB2YWxpZA0KICAgUGF1c2VJRCBmcm9tIHRoZSBSVFAgc3RyZWFtIHNlbmRl
ci4NCg0KICAgICAgICAgICAgKy0tLS0tLS0tLS0tLS0tLSsgICAgICAgICAgICAgICAgICstLS0t
LS0tLS0tLS0tLS0rDQogICAgICAgICAgICB8ICBSVFAgU2VuZGVyICAgfCAgICAgICAgICAgICAg
ICAgfCBSVFAgUmVjZWl2ZXIgIHwNCiAgICAgICAgICAgICstLS0tLS0tLS0tLS0tLS0rICAgICAg
ICAgICAgICAgICArLS0tLS0tLS0tLS0tLS0tKw0KICAgICAgICAgICAgICAgICAgIDogICAgICAg
ICAgIHQxOiBSVFAgZGF0YSAgICAgICAgICA6DQogICAgICAgICAgICAgICAgICAgfCAtLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0+IHwNCiAgICAgICAgICAgICAgICAgICB8ICAgICAgICAg
ICB0MjogUEFVU0UoMTEpICAgICAgICAgfA0KICAgICAgICAgICAgICAgICAgIHwgPC0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSB8DQogICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHwNCiAgICAgICAgICAgICAgICAgICB8ICA8IENhbiBub3Qg
cGF1c2UgUlRQIGRhdGEgPiAgICAgfA0KICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgIHQz
OiBSRUZVU0VEKDExKSAgICAgICB8DQogICAgICAgICAgICAgICAgICAgfCAtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0+IHwNCiAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgfA0KICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgIHQ0OiBS
VFAgZGF0YSAgICAgICAgICB8DQogICAgICAgICAgICAgICAgICAgfCAtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0+IHwNCiAgICAgICAgICAgICAgICAgICA6ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgOg0KDQoNCiAgICAgICAgICAgRmlndXJlIDE0OiBQYXVzZSBSZXF1ZXN0
IGlzIFJlZnVzZWQgaW4gUG9pbnQtdG8tUG9pbnQNCg0KICAgSW4gRmlndXJlIDE0LCB0aGUgcmVj
ZWl2ZXIgcmVxdWVzdHMgdG8gcGF1c2UgdGhlIHNlbmRlciwgd2hpY2gNCiAgIHJlZnVzZXMgdG8g
cGF1c2UgZHVlIHRvIHNvbWUgY29uc2lkZXJhdGlvbiBsb2NhbCB0byB0aGUgc2VuZGVyIGFuZA0K
ICAgcmVzcG9uZHMgd2l0aCBhIFJFRlVTRUQgbWVzc2FnZS4NCg0KMTAuMy4gIFBvaW50LXRvLU11
bHRpcG9pbnQgdXNpbmcgTWl4ZXINCg0KICAgQW4gUlRQIE1peGVyIGlzIGFuIGludGVybWVkaWF0
ZSBub2RlIGNvbm5lY3RpbmcgZGlmZmVyZW50IHRyYW5zcG9ydC0NCiAgIGxldmVsIGNsb3Vkcy4g
IFRoZSBNaXhlciByZWNlaXZlcyBzdHJlYW1zIGZyb20gZGlmZmVyZW50IFJUUCBzb3VyY2VzLA0K
ICAgc2VsZWN0cyBvciBjb21iaW5lcyB0aGVtIGJhc2VkIG9uIHRoZSBhcHBsaWNhdGlvbidzIG5l
ZWRzIGFuZA0KICAgZm9yd2FyZHMgdGhlIGdlbmVyYXRlZCBzdHJlYW0ocykgdG8gdGhlIGRlc3Rp
bmF0aW9uLiAgVGhlIE1peGVyDQogICB0eXBpY2FsbHkgcHV0cyBpdHMnIG93biBTU1JDKHMpIGlu
IFJUUCBkYXRhIHBhY2tldHMgaW5zdGVhZCBvZiB0aGUNCiAgIG9yaWdpbmFsIHNvdXJjZShzKS4N
Cg0KICAgVGhlIE1peGVyIGtlZXBzIHRyYWNrIG9mIGFsbCB0aGUgc3RyZWFtcyBkZWxpdmVyZWQg
dG8gdGhlIE1peGVyIGFuZA0KICAgaG93IHRoZXkgYXJlIGN1cnJlbnRseSB1c2VkLiAgSW4gdGhp
cyBleGFtcGxlLCBpdCBzZWxlY3RzIHRoZSB2aWRlbw0KDQoNCg0KQnVybWFuLCBldCBhbC4gICAg
ICAgICAgIEV4cGlyZXMgTWFyY2ggMjMsIDIwMTUgICAgICAgICAgICAgICAgW1BhZ2UgMzddDQoM
DQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICAgUlRQIFN0cmVhbSBQYXVzZSAgICAgICAgICAg
ICAgU2VwdGVtYmVyIDIwMTQNCg0KDQogICBzdHJlYW0gdG8gZGVsaXZlciB0byB0aGUgcmVjZWl2
ZXIgUiBiYXNlZCBvbiB0aGUgdm9pY2UgYWN0aXZpdHkgb2YNCiAgIHRoZSBSVFAgc3RyZWFtIHNl
bmRlcnMuICBUaGUgdmlkZW8gc3RyZWFtIHdpbGwgYmUgZGVsaXZlcmVkIHRvIFINCiAgIHVzaW5n
IE0ncyBTU1JDIGFuZCB3aXRoIGFuIENTUkMgaW5kaWNhdGluZyB0aGUgb3JpZ2luYWwgc291cmNl
Lg0KDQogICBOb3RlIHRoYXQgUGF1c2VJRCBpcyBub3Qgb2YgYW55IHNpZ25pZmljYW5jZSBmb3Ig
dGhlIGV4YW1wbGUgYW5kIGlzDQogICB0aGVyZWZvcmUgb21pdHRlZCBpbiB0aGUgZGVzY3JpcHRp
b24uDQoNCiAgICAgKy0tLS0tKyAgICAgICAgICAgICstLS0tLSsgICAgICAgICAgICArLS0tLS0r
ICAgICAgICAgICAgKy0tLS0tKw0KICAgICB8ICBSICB8ICAgICAgICAgICAgfCAgTSAgfCAgICAg
ICAgICAgIHwgUzEgIHwgICAgICAgICAgICB8IFMyICB8DQogICAgICstLS0tLSsgICAgICAgICAg
ICArLS0tLS18ICAgICAgICAgICAgKy0tLS0tKyAgICAgICAgICAgICstLS0tLSsNCiAgICAgICAg
OiAgICAgICAgICAgICAgICAgIDogICB0MTpSVFAoUzEpICAgICA6ICAgICAgICAgICAgICAgICAg
Og0KICAgICAgICB8IHQyOlJUUChNOlMxKSAgICAgfDwtLS0tLS0tLS0tLS0tLS0tLXwgICAgICAg
ICAgICAgICAgICB8DQogICAgICAgIHw8LS0tLS0tLS0tLS0tLS0tLS18ICAgICAgICAgICAgICAg
ICAgfCAgICAgICAgICAgICAgICAgIHwNCiAgICAgICAgfCAgICAgICAgICAgICAgICAgIHwgdDM6
UlRQKFMyKSAgICAgICB8ICAgICAgICAgICAgICAgICAgfA0KICAgICAgICB8ICAgICAgICAgICAg
ICAgICAgfDwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18DQogICAgICAgIHwg
ICAgICAgICAgICAgICAgICB8ICB0NDogUEFVU0UoUzIpICAgfCAgICAgICAgICAgICAgICAgIHwN
CiAgICAgICAgfCAgICAgICAgICAgICAgICAgIHwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0+fA0KICAgICAgICB8ICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAg
IHwgICB0NTogUEFVU0VEKFMyKSB8DQogICAgICAgIHwgICAgICAgICAgICAgICAgICB8PC0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwNCiAgICAgICAgfCAgICAgICAgICAgICAg
ICAgIHwgICAgICAgICAgICAgICAgICB8IDxTMjpObyBSVFAgdG8gTT4gfA0KICAgICAgICB8ICAg
ICAgICAgICAgICAgICAgfCB0NjogUkVTVU1FKFMyKSAgIHwgICAgICAgICAgICAgICAgICB8DQog
ICAgICAgIHwgICAgICAgICAgICAgICAgICB8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tPnwNCiAgICAgICAgfCAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICB8
IHQ3OiBSVFAgdG8gTSAgICAgfA0KICAgICAgICB8ICAgICAgICAgICAgICAgICAgfDwtLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18DQogICAgICAgIHwgICB0ODpSVFAoTTpTMikg
ICB8ICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgIHwNCiAgICAgICAgfDwtLS0t
LS0tLS0tLS0tLS0tLXwgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgfA0KICAg
ICAgICB8ICAgICAgICAgICAgICAgICAgfCB0OTpQQVVTRShTMSkgICAgIHwgICAgICAgICAgICAg
ICAgICB8DQogICAgICAgIHwgICAgICAgICAgICAgICAgICB8LS0tLS0tLS0tLS0tLS0tLS0+fCAg
ICAgICAgICAgICAgICAgIHwNCiAgICAgICAgfCAgICAgICAgICAgICAgICAgIHwgdDEwOlBBVVNF
RChTMSkgICB8ICAgICAgICAgICAgICAgICAgfA0KICAgICAgICB8ICAgICAgICAgICAgICAgICAg
fDwtLS0tLS0tLS0tLS0tLS0tLXwgICAgICAgICAgICAgICAgICB8DQogICAgICAgIHwgICAgICAg
ICAgICAgICAgICB8IDxTMTpObyBSVFAgdG8gTT4gfCAgICAgICAgICAgICAgICAgIHwNCiAgICAg
ICAgOiAgICAgICAgICAgICAgICAgIDogICAgICAgICAgICAgICAgICA6ICAgICAgICAgICAgICAg
ICAgOg0KDQoNCiAgICAgRmlndXJlIDE1OiBQYXVzZSBhbmQgUmVzdW1lIE9wZXJhdGlvbiBmb3Ig
YSBWb2ljZSBBY3RpdmF0ZWQgTWl4ZXINCg0KICAgVGhlIHNlc3Npb24gc3RhcnRzIGF0IHQxIHdp
dGggUzEgYmVpbmcgdGhlIG1vc3QgYWN0aXZlIHNwZWFrZXIgYW5kDQogICB0aHVzIGJlaW5nIHNl
bGVjdGVkIGFzIHRoZSBzaW5nbGUgdmlkZW8gc3RyZWFtIHRvIGJlIGRlbGl2ZXJlZCB0byBSDQog
ICAodDIpIHVzaW5nIHRoZSBNaXhlciBTU1JDIGJ1dCB3aXRoIFMxIGFzIENTUkMgKGluZGljYXRl
ZCBhZnRlciB0aGUNCiAgIGNvbG9uIGluIHRoZSBmaWd1cmUpLiAgVGhlbiBTMiBqb2lucyB0aGUg
c2Vzc2lvbiBhdCB0MyBhbmQgc3RhcnRzDQogICBkZWxpdmVyaW5nIGFuIFJUUCBzdHJlYW0gdG8g
dGhlIE1peGVyLiAgQXMgUzIgaGFzIGxlc3Mgdm9pY2UgYWN0aXZpdHkNCiAgIHRoZW4gUzEsIHRo
ZSBNaXhlciBkZWNpZGVzIHRvIHBhdXNlIFMyIGF0IHQ0IGJ5IHNlbmRpbmcgUzIgYSBQQVVTRQ0K
ICAgcmVxdWVzdC4gIEF0IHQ1LCBTMiBhY2tub3dsZWRnZXMgd2l0aCBhIFBBVVNFRCBhbmQgYXQg
dGhlIHNhbWUNCiAgIGluc3RhbnQgc3RvcHMgZGVsaXZlcmluZyBSVFAgdG8gdGhlIE1peGVyLiAg
QXQgdDYsIHRoZSB1c2VyIGF0IFMyDQogICBzdGFydHMgc3BlYWtpbmcgYW5kIGJlY29tZXMgdGhl
IG1vc3QgYWN0aXZlIHNwZWFrZXIgYW5kIHRoZSBNaXhlcg0KICAgZGVjaWRlcyB0byBzd2l0Y2gg
dGhlIHZpZGVvIHN0cmVhbSB0byBTMiwgYW5kIHRoZXJlZm9yZSBxdWlja2x5IHNlbmRzDQogICBh
IFJFU1VNRSByZXF1ZXN0IHRvIFMyLiAgQXQgdDcsIFMyIGhhcyByZWNlaXZlZCB0aGUgUkVTVU1F
IHJlcXVlc3QNCiAgIGFuZCBhY3RzIG9uIGl0IGJ5IHJlc3VtaW5nIFJUUCBzdHJlYW0gZGVsaXZl
cnkgdG8gTS4gIFdoZW4gdGhlIFJUUA0KDQoNCg0KQnVybWFuLCBldCBhbC4gICAgICAgICAgIEV4
cGlyZXMgTWFyY2ggMjMsIDIwMTUgICAgICAgICAgICAgICAgW1BhZ2UgMzhdDQoMDQpJbnRlcm5l
dC1EcmFmdCAgICAgICAgICAgICAgUlRQIFN0cmVhbSBQYXVzZSAgICAgICAgICAgICAgU2VwdGVt
YmVyIDIwMTQNCg0KDQogICBzdHJlYW0gZnJvbSB0NyBhcnJpdmVzIGF0IHRoZSBNaXhlciwgaXQg
c3dpdGNoZXMgdGhpcyBSVFAgc3RyZWFtIGludG8NCiAgIGl0cyBTU1JDIChNKSBhdCB0OCBhbmQg
Y2hhbmdlcyB0aGUgQ1NSQyB0byBTMi4gIEFzIFMxIG5vdyBiZWNvbWVzDQogICB1bnVzZWQsIHRo
ZSBNaXhlciBpc3N1ZXMgYSBQQVVTRSByZXF1ZXN0IHRvIFMxIGF0IHQ5LCB3aGljaCBpcw0KICAg
YWNrbm93bGVkZ2VkIGF0IHQxMCB3aXRoIGEgUEFVU0VEIGFuZCB0aGUgUlRQIHN0cmVhbSBmcm9t
IFMxIHN0b3BzDQogICBiZWluZyBkZWxpdmVyZWQuDQoNCjEwLjQuICBQb2ludC10by1NdWx0aXBv
aW50IHVzaW5nIFRyYW5zbGF0b3INCg0KICAgQSB0cmFuc3BvcnQgVHJhbnNsYXRvciBpbiBhbiBS
VFAgc2Vzc2lvbiBmb3J3YXJkcyB0aGUgbWVzc2FnZSBmcm9tDQogICBvbmUgcGVlciB0byBhbGwg
dGhlIG90aGVycy4gIFVubGlrZSBNaXhlciwgdGhlIFRyYW5zbGF0b3IgZG9lcyBub3QNCiAgIG1p
eCB0aGUgc3RyZWFtcyBvciBjaGFuZ2UgdGhlIFNTUkMgb2YgdGhlIG1lc3NhZ2VzIG9yIFJUUCBt
ZWRpYS4NCiAgIFRoZXNlIGV4YW1wbGVzIGFyZSB0byBzaG93IHRoYXQgdGhlIG1lc3NhZ2VzIGRl
ZmluZWQgaW4gdGhpcw0KICAgc3BlY2lmaWNhdGlvbiBjYW4gYmUgc2FmZWx5IHVzZWQgYWxzbyBp
biBhIHRyYW5zcG9ydCBUcmFuc2xhdG9yIGNhc2UuDQogICBUaGUgcGFyZW50aGVzZXMgaW4gdGhl
IGZpZ3VyZXMgY29udGFpbnMgKFRhcmdldCBTU1JDLCBQYXVzZUlEKQ0KICAgaW5mb3JtYXRpb24g
Zm9yIHRoZSBtZXNzYWdlcyBkZWZpbmVkIGluIHRoaXMgc3BlY2lmaWNhdGlvbi4NCg0KICAgICAg
ICAgKy0tLS0tLS0tLS0tLS0rICAgICArLS0tLS0tLS0tLS0tLSsgICAgICstLS0tLS0tLS0tLS0t
LSsNCiAgICAgICAgIHwgIFNlbmRlcihTKSAgfCAgICAgfCBUcmFuc2xhdG9yICB8ICAgICB8IFJl
Y2VpdmVyKFIpICB8DQogICAgICAgICArLS0tLS0tLS0tLS0tLSsgICAgICstLS0tLS0tLS0tLS0t
fCAgICAgKy0tLS0tLS0tLS0tLS0tKw0KICAgICAgICAgICAgICAgIDogdDE6IFJUUChTKSAgICAg
ICAgOiAgICAgICAgICAgICAgICAgICA6DQogICAgICAgICAgICAgICAgfC0tLS0tLS0tLS0tLS0t
LS0tLT58ICAgICAgICAgICAgICAgICAgIHwNCiAgICAgICAgICAgICAgICB8ICAgICAgICAgICAg
ICAgICAgIHwgdDI6IFJUUCAoUykgICAgICAgfA0KICAgICAgICAgICAgICAgIHwgICAgICAgICAg
ICAgICAgICAgfC0tLS0tLS0tLS0tLS0tLS0tLT58DQogICAgICAgICAgICAgICAgfCAgICAgICAg
ICAgICAgICAgICB8IHQzOiBQQVVTRShTLDMpICAgIHwNCiAgICAgICAgICAgICAgICB8ICAgICAg
ICAgICAgICAgICAgIHw8LS0tLS0tLS0tLS0tLS0tLS0tfA0KICAgICAgICAgICAgICAgIHwgdDQ6
UEFVU0UoUywzKSAgICAgfCAgICAgICAgICAgICAgICAgICB8DQogICAgICAgICAgICAgICAgfDwt
LS0tLS0tLS0tLS0tLS0tLS18ICAgICAgICAgICAgICAgICAgIHwNCiAgICAgICAgICAgICAgICA6
IDwgU2VuZGVyIHdhaXRpbmcgZm9yIHBvc3NpYmxlIFJFU1VNRT4gOg0KICAgICAgICAgICAgICAg
IHwgICAgICAgICAgPCBSVFAgZGF0YSBwYXVzZWQgPiAgICAgICAgICB8DQogICAgICAgICAgICAg
ICAgfCB0NTogUEFVU0VEKFMsMykgICB8ICAgICAgICAgICAgICAgICAgIHwNCiAgICAgICAgICAg
ICAgICB8LS0tLS0tLS0tLS0tLS0tLS0tPnwgICAgICAgICAgICAgICAgICAgfA0KICAgICAgICAg
ICAgICAgIHwgICAgICAgICAgICAgICAgICAgfCB0NjogUEFVU0VEKFMsMykgICB8DQogICAgICAg
ICAgICAgICAgfCAgICAgICAgICAgICAgICAgICB8LS0tLS0tLS0tLS0tLS0tLS0tPnwNCiAgICAg
ICAgICAgICAgICA6ICAgICAgICAgICAgICAgICAgIDogICAgICAgICAgICAgICAgICAgOg0KICAg
ICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgfCB0NzogUkVTVU1FKFMsMykgICB8DQog
ICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICB8PC0tLS0tLS0tLS0tLS0tLS0tLXwN
CiAgICAgICAgICAgICAgICB8IHQ4OiBSRVNVTUUoUywzKSAgIHwgICAgICAgICAgICAgICAgICAg
fA0KICAgICAgICAgICAgICAgIHw8LS0tLS0tLS0tLS0tLS0tLS0tfCAgICAgICAgICAgICAgICAg
ICB8DQogICAgICAgICAgICAgICAgfCB0OTogUlRQIChTKSAgICAgICB8ICAgICAgICAgICAgICAg
ICAgIHwNCiAgICAgICAgICAgICAgICB8LS0tLS0tLS0tLS0tLS0tLS0tPnwgICAgICAgICAgICAg
ICAgICAgfA0KICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgfCB0MTA6IFJUUCAo
UykgICAgICB8DQogICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICB8LS0tLS0tLS0t
LS0tLS0tLS0tPnwNCiAgICAgICAgICAgICAgICA6ICAgICAgICAgICAgICAgICAgIDogICAgICAg
ICAgICAgICAgICAgOg0KDQoNCiAgIEZpZ3VyZSAxNjogUGF1c2UgYW5kIFJlc3VtZSBPcGVyYXRp
b24gQmV0d2VlbiBUd28gUGFydGljaXBhbnRzIFVzaW5nDQogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgYSBUcmFuc2xhdG9yDQoNCg0KDQoNCkJ1cm1hbiwgZXQgYWwuICAgICAgICAgICBF
eHBpcmVzIE1hcmNoIDIzLCAyMDE1ICAgICAgICAgICAgICAgIFtQYWdlIDM5XQ0KDA0KSW50ZXJu
ZXQtRHJhZnQgICAgICAgICAgICAgIFJUUCBTdHJlYW0gUGF1c2UgICAgICAgICAgICAgIFNlcHRl
bWJlciAyMDE0DQoNCg0KICAgRmlndXJlIDE2IGRlc2NyaWJlcyBob3cgYSBUcmFuc2xhdG9yIGNh
biBoZWxwIHRoZSByZWNlaXZlciBpbiBwYXVzaW5nDQogICBhbmQgcmVzdW1pbmcgdGhlIHNlbmRl
ci4gIFRoZSBzZW5kZXIgUyBzZW5kcyBSVFAgZGF0YSB0byB0aGUgcmVjZWl2ZXINCiAgIFIgdGhy
b3VnaCBUcmFuc2xhdG9yLCB3aGljaCBqdXN0IGZvcndhcmRzIHRoZSBkYXRhIHdpdGhvdXQgbW9k
aWZ5aW5nDQogICB0aGUgU1NSQ3MuICBUaGUgcmVjZWl2ZXIgc2VuZHMgYSBQQVVTRSByZXF1ZXN0
IHRvIHRoZSBzZW5kZXIsIHdoaWNoDQogICBpbiB0aGlzIGV4YW1wbGUga25vd3MgdGhhdCB0aGVy
ZSBtYXkgYmUgbW9yZSByZWNlaXZlcnMgb2YgdGhlIHN0cmVhbQ0KICAgYW5kIHdhaXRzIGEgbm9u
LXplcm8gaG9sZC1vZmYgcGVyaW9kIHRvIHNlZSBpZiB0aGVyZSBpcyBhbnkgb3RoZXINCiAgIHJl
Y2VpdmVyIHRoYXQgd2FudHMgdG8gcmVjZWl2ZSB0aGUgZGF0YSwgZG9lcyBub3QgcmVjZWl2ZSBh
bnkNCiAgIGRpc2FwcHJvdmluZyBSRVNVTUUsIGhlbmNlIHBhdXNlcyBpdHNlbGYgYW5kIHJlcGxp
ZXMgd2l0aCBQQVVTRUQuDQogICBTaW1pbGFybHkgdGhlIHJlY2VpdmVyIHJlc3VtZXMgdGhlIHNl
bmRlciBieSBzZW5kaW5nIFJFU1VNRSByZXF1ZXN0DQogICB0aHJvdWdoIFRyYW5zbGF0b3IuICBT
aW5jZSB0aGlzIGRlc2NyaWJlcyBvbmx5IGEgc2luZ2xlIHBhdXNlDQogICBvcGVyYXRpb24gZm9y
IGEgc2luZ2xlIFJUUCBzdHJlYW0gc2VuZGVyLCBhbGwgbWVzc2FnZXMgdXNlcyBhIHNpbmdsZQ0K
ICAgUGF1c2VJRCwgaW4gdGhpcyBleGFtcGxlIDMuDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoN
Cg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQpCdXJt
YW4sIGV0IGFsLiAgICAgICAgICAgRXhwaXJlcyBNYXJjaCAyMywgMjAxNSAgICAgICAgICAgICAg
ICBbUGFnZSA0MF0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgICBSVFAgU3RyZWFtIFBh
dXNlICAgICAgICAgICAgICBTZXB0ZW1iZXIgMjAxNA0KDQoNCiAgICAgKy0tLS0tKyAgICAgICAg
ICAgICstLS0tLSsgICAgICAgICAgICArLS0tLS0rICAgICAgICAgICAgKy0tLS0tKw0KICAgICB8
ICBTICB8ICAgICAgICAgICAgfCAgVCAgfCAgICAgICAgICAgIHwgUjEgIHwgICAgICAgICAgICB8
IFIyICB8DQogICAgICstLS0tLSsgICAgICAgICAgICArLS0tLS18ICAgICAgICAgICAgKy0tLS0t
KyAgICAgICAgICAgICstLS0tLSsNCiAgICAgICAgOiB0MTpSVFAoUykgICAgICAgIDogICAgICAg
ICAgICAgICAgICA6ICAgICAgICAgICAgICAgICAgOg0KICAgICAgICB8LS0tLS0tLS0tLS0tLS0t
LS0+fCAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICB8DQogICAgICAgIHwgICAg
ICAgICAgICAgICAgICB8IHQyOlJUUChTKSAgICAgICAgfCAgICAgICAgICAgICAgICAgIHwNCiAg
ICAgICAgfCAgICAgICAgICAgICAgICAgIHwtLS0tLS0tLS0tLS0tLS0tLT4tLS0tLS0tLS0tLS0t
LS0tLS0+fA0KICAgICAgICB8ICAgICAgICAgICAgICAgICAgfCB0MzpQQVVTRShTLDcpICAgIHwg
ICAgICAgICAgICAgICAgICB8DQogICAgICAgIHwgICAgICAgICAgICAgICAgICB8PC0tLS0tLS0t
LS0tLS0tLS0tfCAgICAgICAgICAgICAgICAgIHwNCiAgICAgICAgfCB0NDpQQVVTRShTLDcpICAg
IHwgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgfA0KICAgICAgICB8PC0tLS0t
LS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLT58DQogICAg
ICAgIHwgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgfCAgIHQ1OlJFU1VNRShT
LDcpIHwNCiAgICAgICAgfCAgICAgICAgICAgICAgICAgIHw8LS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tfA0KICAgICAgICB8IHQ2OlJFU1VNRShTLDcpICAgfCAgICAgICAgICAg
ICAgICAgIHwgICAgICAgICAgICAgICAgICB8DQogICAgICAgIHw8LS0tLS0tLS0tLS0tLS0tLS18
ICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgIHwNCiAgICAgICAgfCAgICAgICAg
ICAgICAgICAgIHw8UlRQIHN0cmVhbSBjb250aW51ZXMgdG8gUjEgYW5kIFIyPiAgfA0KICAgICAg
ICB8ICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgIHwgICB0NzogUEFVU0UoUyw4
KSB8DQogICAgICAgIHwgICAgICAgICAgICAgICAgICB8PC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLXwNCiAgICAgICAgfCB0ODpQQVVTRShTLDgpICAgIHwgICAgICAgICAgICAg
ICAgICB8ICAgICAgICAgICAgICAgICAgfA0KICAgICAgICB8PC0tLS0tLS0tLS0tLS0tLS0tfCAg
ICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICB8DQogICAgICAgIDogICAgICAgICAg
ICAgICAgICA6ICAgICAgICAgICAgICAgICAgOiAgICAgICAgICAgICAgICAgIDoNCiAgICAgICAg
fCA8IFBhdXNlcyBSVFAgU3RyZWFtID4gICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAg
fA0KICAgICAgICB8IHQ5OlBBVVNFRChTLDgpICAgfCAgICAgICAgICAgICAgICAgIHwgICAgICAg
ICAgICAgICAgICB8DQogICAgICAgIHwtLS0tLS0tLS0tLS0tLS0tLT58ICAgICAgICAgICAgICAg
ICAgfCAgICAgICAgICAgICAgICAgIHwNCiAgICAgICAgfCAgICAgICAgICAgICAgICAgIHwgdDEw
OlBBVVNFRChTLDgpICB8ICAgICAgICAgICAgICAgICAgfA0KICAgICAgICB8ICAgICAgICAgICAg
ICAgICAgfC0tLS0tLS0tLS0tLS0tLS0tPi0tLS0tLS0tLS0tLS0tLS0tLT58DQogICAgICAgIDog
ICAgICAgICAgICAgICAgICA6ICAgICAgICAgICAgICAgICAgOiAgICAgICAgICAgICAgICAgIDoN
CiAgICAgICAgfCAgICAgICAgICAgICAgICAgIHwgdDExOlJFU1VNRShTLDgpICB8ICAgICAgICAg
ICAgICAgICAgfA0KICAgICAgICB8ICAgICAgICAgICAgICAgICAgfDwtLS0tLS0tLS0tLS0tLS0t
LXwgICAgICAgICAgICAgICAgICB8DQogICAgICAgIHwgdDEyOlJFU1VNRShTLDgpICB8ICAgICAg
ICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgIHwNCiAgICAgICAgfDwtLS0tLS0tLS0tLS0t
LS0tLXwgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgfA0KICAgICAgICB8IHQx
MzpSVFAoUykgICAgICAgfCAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICB8DQog
ICAgICAgIHwtLS0tLS0tLS0tLS0tLS0tLT58ICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAg
ICAgICAgIHwNCiAgICAgICAgfCAgICAgICAgICAgICAgICAgIHwgdDE0OlJUUChTKSAgICAgICB8
ICAgICAgICAgICAgICAgICAgfA0KICAgICAgICB8ICAgICAgICAgICAgICAgICAgfC0tLS0tLS0t
LS0tLS0tLS0tPi0tLS0tLS0tLS0tLS0tLS0tLT58DQogICAgICAgIDogICAgICAgICAgICAgICAg
ICA6ICAgICAgICAgICAgICAgICAgOiAgICAgICAgICAgICAgICAgIDoNCg0KDQogICAgIEZpZ3Vy
ZSAxNzogUGF1c2UgYW5kIFJlc3VtZSBPcGVyYXRpb24gQmV0d2VlbiBPbmUgU2VuZGVyIGFuZCBU
d28NCiAgICAgICAgICAgICAgICAgICAgICAgUmVjZWl2ZXJzIFRocm91Z2ggVHJhbnNsYXRvcg0K
DQogICBGaWd1cmUgMTcgZXhwbGFpbnMgdGhlIHBhdXNlIGFuZCByZXN1bWUgb3BlcmF0aW9ucyB3
aGVuIGEgdHJhbnNwb3J0DQogICBUcmFuc2xhdG9yIGlzIGludm9sdmVkIGJldHdlZW4gYSBzZW5k
ZXIgYW5kIHR3byByZWNlaXZlcnMgaW4gYW4gUlRQDQogICBzZXNzaW9uLiAgRWFjaCBtZXNzYWdl
IGV4Y2hhbmdlIGlzIHJlcHJlc2VudGVkIGJ5IHRoZSB0aW1lIGl0DQogICBoYXBwZW5zLiAgQXQg
dGltZSB0MSwgU2VuZGVyIChTKSBzdGFydHMgc2VuZGluZyBhbiBSVFAgc3RyZWFtIHRvIHRoZQ0K
ICAgVHJhbnNsYXRvciwgd2hpY2ggaXMgZm9yd2FyZGVkIHRvIFIxIGFuZCBSMiB0aHJvdWdoIHRo
ZSBUcmFuc2xhdG9yLA0KICAgVC4gIFIxIGFuZCBSMiByZWNlaXZlcyBSVFAgZGF0YSBmcm9tIFRy
YW5zbGF0b3IgYXQgdDIuICBBdCB0aGlzDQoNCg0KDQoNCkJ1cm1hbiwgZXQgYWwuICAgICAgICAg
ICBFeHBpcmVzIE1hcmNoIDIzLCAyMDE1ICAgICAgICAgICAgICAgIFtQYWdlIDQxXQ0KDA0KSW50
ZXJuZXQtRHJhZnQgICAgICAgICAgICAgIFJUUCBTdHJlYW0gUGF1c2UgICAgICAgICAgICAgIFNl
cHRlbWJlciAyMDE0DQoNCg0KICAgcG9pbnQsIGJvdGggUjEgYW5kIFIyIHdpbGwgc2VuZCBSVENQ
IFJlY2VpdmVyIFJlcG9ydHMgdG8gUyBpbmZvcm1pbmcNCiAgIHRoYXQgdGhleSByZWNlaXZlIFMn
cyBzdHJlYW0uDQoNCiAgIEFmdGVyIHNvbWUgdGltZSAoYXQgdDMpLCBSMSBjaG9vc2VzIHRvIHBh
dXNlIHRoZSBzdHJlYW0uICBPbg0KICAgcmVjZWl2aW5nIHRoZSBQQVVTRSByZXF1ZXN0IGZyb20g
UjEgYXQgdDQsIFMga25vd3MgdGhhdCB0aGVyZSBhcmUgYXQNCiAgIGxlYXN0IG9uZSByZWNlaXZl
ciB0aGF0IG1heSBzdGlsbCB3YW50IHRvIHJlY2VpdmUgdGhlIGRhdGEgYW5kIHVzZXMgYQ0KICAg
bm9uLXplcm8gaG9sZC1vZmYgcGVyaW9kIHRvIHdhaXQgZm9yIHBvc3NpYmxlIFJFU1VNRSBtZXNz
YWdlcy4gIFIyDQogICBkaWQgYWxzbyByZWNlaXZlIHRoZSBQQVVTRSByZXF1ZXN0IGF0IHRpbWUg
dDQgYW5kIHNpbmNlIGl0IHN0aWxsDQogICB3YW50cyB0byByZWNlaXZlIHRoZSBzdHJlYW0sIGl0
IHNlbmRzIGEgUkVTVU1FIGZvciBpdCBhdCB0aW1lIHQ1LA0KICAgd2hpY2ggaXMgZm9yd2FyZGVk
IHRvIHRoZSBzZW5kZXIgUyBieSB0aGUgdHJhbnNsYXRvciBULiAgVGhlIHNlbmRlciBTDQogICBz
ZWVzIHRoZSBSRVNVTUUgYXQgdGltZSB0NiBhbmQgY29udGludWVzIHRvIHNlbmQgZGF0YSB0byBU
IHdoaWNoDQogICBmb3J3YXJkcyB0byBib3RoIFIxIGFuZCBSMi4gIEF0IHQ3LCB0aGUgcmVjZWl2
ZXIgUjIgY2hvb3NlcyB0byBwYXVzZQ0KICAgdGhlIHN0cmVhbSBieSBzZW5kaW5nIGEgUEFVU0Ug
cmVxdWVzdCB3aXRoIGFuIHVwZGF0ZWQgUGF1c2VJRC4gIFRoZQ0KICAgc2VuZGVyIFMgc3RpbGwg
a25vd3MgdGhhdCB0aGVyZSBhcmUgbW9yZSB0aGFuIG9uZSByZWNlaXZlciAoUjEgYW5kDQogICBS
MikgdGhhdCBtYXkgd2FudCB0aGUgc3RyZWFtIGFuZCBhZ2FpbiB3YWl0cyBhIG5vbi16ZXJvIGhv
bGQtb2ZmDQogICBwZXJpb2QsIGFmdGVyIHdoaWNoIGFuZCBub3QgaGF2aW5nIHJlY2VpdmVkIGFu
eSBkaXNhcHByb3ZpbmcgUkVTVU1FLA0KICAgaXQgY29uY2x1ZGVzIHRoYXQgdGhlIHN0cmVhbSBt
dXN0IGJlIHBhdXNlZC4gIFMgbm93IHN0b3BzIHNlbmRpbmcgdGhlDQogICBzdHJlYW0gYW5kIHJl
cGxpZXMgd2l0aCBQQVVTRUQgdG8gUjEgYW5kIFIyLiAgV2hlbiBhbnkgb2YgdGhlDQogICByZWNl
aXZlcnMgKFIxIG9yIFIyKSBjaG9vc2VzIHRvIHJlc3VtZSB0aGUgc3RyZWFtIGZyb20gUywgaW4g
dGhpcw0KICAgZXhhbXBsZSBSMSwgaXQgc2VuZHMgYSBSRVNVTUUgcmVxdWVzdCB0byB0aGUgc2Vu
ZGVyLiAgVGhlIFJUUCBzZW5kZXINCiAgIGltbWVkaWF0ZWx5IHJlc3VtZXMgdGhlIHN0cmVhbS4N
Cg0KICAgQ29uc2lkZXIgYWxzbyBhbiBSVFAgc2Vzc2lvbiB3aGljaCBpbmNsdWRlcyBvbmUgb3Ig
bW9yZSByZWNlaXZlcnMsDQogICBwYXVzZWQgc2VuZGVyKHMpLCBhbmQgYSBUcmFuc2xhdG9yLiAg
RnVydGhlciBhc3N1bWUgdGhhdCBhIG5ldw0KICAgcGFydGljaXBhbnQgam9pbnMgdGhlIHNlc3Np
b24sIHdoaWNoIGlzIG5vdCBhd2FyZSBvZiB0aGUgcGF1c2VkDQogICBzZW5kZXIocykuICBPbiBy
ZWNlaXZpbmcga25vd2xlZGdlIGFib3V0IHRoZSBuZXdseSBqb2luZWQNCiAgIHBhcnRpY2lwYW50
LCBlLmcuIGFueSBSVFAgdHJhZmZpYyBvciBSVENQIHJlcG9ydCAoaS5lLiBlaXRoZXIgU1Igb3IN
CiAgIFJSKSBmcm9tIHRoZSBuZXdseSBqb2luZWQgcGFydGljaXBhbnQsIHRoZSBwYXVzZWQgc2Vu
ZGVyKHMpDQogICBpbW1lZGlhdGVseSBzZW5kcyBQQVVTRUQgaW5kaWNhdGlvbnMgZm9yIHRoZSBw
YXVzZWQgc3RyZWFtcyBzaW5jZQ0KICAgdGhlcmUgaXMgbm93IGEgcmVjZWl2ZXIgaW4gdGhlIHNl
c3Npb24gdGhhdCBkaWQgbm90IHBhdXNlIHRoZQ0KICAgc2VuZGVyKHMpIGFuZCBtYXkgd2FudCB0
byByZWNlaXZlIHRoZSBzdHJlYW1zLiAgSGF2aW5nIHRoaXMNCiAgIGluZm9ybWF0aW9uLCB0aGUg
bmV3bHkgam9pbmVkIHBhcnRpY2lwYW50IGhhcyB0aGUgc2FtZSBwb3NzaWJpbGl0eSBhcw0KICAg
YW55IG90aGVyIHBhcnRpY2lwYW50IHRvIHJlc3VtZSB0aGUgcGF1c2VkIHN0cmVhbXMuDQoNCjEx
LiAgSUFOQSBDb25zaWRlcmF0aW9ucw0KDQogICBUaGlzIHNwZWNpZmljYXRpb24gcmVxdWVzdHMg
dGhlIGZvbGxvd2luZyByZWdpc3RyYXRpb25zIGZyb20gSUFOQToNCg0KICAgMS4gIEEgbmV3IHZh
bHVlIGZvciBtZWRpYSBzdHJlYW0gcGF1c2UgLyByZXN1bWUgdG8gYmUgcmVnaXN0ZXJlZCB3aXRo
DQogICAgICAgSUFOQSBpbiB0aGUgIkZNVCBWYWx1ZXMgZm9yIFJUUEZCIFBheWxvYWQgVHlwZXMi
IHJlZ2lzdHJ5IGxvY2F0ZWQNCiAgICAgICBhdCB0aGUgdGltZSBvZiBwdWJsaWNhdGlvbiBhdDog
aHR0cDovL3d3dy5pYW5hLm9yZy9hc3NpZ25tZW50cy8NCiAgICAgICBydHAtcGFyYW1ldGVycy9y
dHAtcGFyYW1ldGVycy54aHRtbCNydHAtcGFyYW1ldGVycy04DQoNCiAgICAgICBWYWx1ZTogIFRC
QTENCg0KICAgICAgIE5hbWU6ICBQQVVTRS1SRVNVTUUNCg0KICAgICAgIExvbmcgTmFtZTogIE1l
ZGlhIFBhdXNlIC8gUmVzdW1lDQoNCg0KDQpCdXJtYW4sIGV0IGFsLiAgICAgICAgICAgRXhwaXJl
cyBNYXJjaCAyMywgMjAxNSAgICAgICAgICAgICAgICBbUGFnZSA0Ml0NCgwNCkludGVybmV0LURy
YWZ0ICAgICAgICAgICAgICBSVFAgU3RyZWFtIFBhdXNlICAgICAgICAgICAgICBTZXB0ZW1iZXIg
MjAxNA0KDQoNCiAgICAgICBSZWZlcmVuY2U6ICBUaGlzIFJGQw0KDQogICAyLiAgQSBuZXcgdmFs
dWUgInBhdXNlIiB0byBiZSByZWdpc3RlcmVkIHdpdGggSUFOQSBpbiB0aGUgIkNvZGVjDQogICAg
ICAgQ29udHJvbCBNZXNzYWdlcyIgcmVnaXN0cnkgbG9jYXRlZCBhdCB0aGUgdGltZSBvZiBwdWJs
aWNhdGlvbiBhdDoNCiAgICAgICBodHRwOi8vd3d3LmlhbmEub3JnL2Fzc2lnbm1lbnRzL3NkcC1w
YXJhbWV0ZXJzL3NkcC0NCiAgICAgICBwYXJhbWV0ZXJzLnhodG1sI3NkcC1wYXJhbWV0ZXJzLTE5
DQoNCiAgICAgICBWYWx1ZSBOYW1lOiAgcGF1c2UNCg0KICAgICAgIExvbmcgTmFtZTogIE1lZGlh
IFBhdXNlIC8gUmVzdW1lDQoNCiAgICAgICBVc2FibGUgd2l0aDogIGNjbQ0KDQogICAgICAgUmVm
ZXJlbmNlOiAgVGhpcyBSRkMNCg0KMTIuICBTZWN1cml0eSBDb25zaWRlcmF0aW9ucw0KDQogICBU
aGlzIGRvY3VtZW50IGV4dGVuZHMgdGhlIENDTSBbUkZDNTEwNF0gYW5kIGRlZmluZXMgbmV3IG1l
c3NhZ2VzLA0KICAgaS5lLiAgUEFVU0UgYW5kIFJFU1VNRS4gIFRoZSBleGNoYW5nZSBvZiB0aGVz
ZSBuZXcgbWVzc2FnZXMgTUFZIGhhdmUNCiAgIHNvbWUgc2VjdXJpdHkgaW1wbGljYXRpb25zLCB3
aGljaCBuZWVkIHRvIGJlIGFkZHJlc3NlZCBieSB0aGUgdXNlci4NCiAgIEZvbGxvd2luZyBhcmUg
c29tZSBpbXBvcnRhbnQgaW1wbGljYXRpb25zLA0KDQogICAxLiAgSWRlbnRpdHkgc3Bvb2Zpbmcg
LSBBbiBhdHRhY2tlciBjYW4gc3Bvb2YgaGltL2hlcnNlbGYgYXMgYW4NCiAgICAgICBhdXRoZW50
aWNhdGVkIHVzZXIgYW5kIGNhbiBmYWxzZWx5IHBhdXNlIG9yIHJlc3VtZSBhbnkgc291cmNlDQog
ICAgICAgdHJhbnNtaXNzaW9uLiAgSW4gb3JkZXIgdG8gcHJldmVudCB0aGlzIHR5cGUgb2YgYXR0
YWNrLCBhIHN0cm9uZw0KICAgICAgIGF1dGhlbnRpY2F0aW9uIGFuZCBpbnRlZ3JpdHkgcHJvdGVj
dGlvbiBtZWNoYW5pc20gaXMgbmVlZGVkLg0KDQogICAyLiAgRGVuaWFsIG9mIFNlcnZpY2UgKERv
UykgLSBBbiBhdHRhY2tlciBjYW4gZmFsc2VseSBwYXVzZSBhbGwNCiAgICAgICBzb3VyY2Ugc3Ry
ZWFtcyB3aGljaCBNQVkgcmVzdWx0IGluIERlbmlhbCBvZiBTZXJ2aWNlIChEb1MpLiAgQW4NCiAg
ICAgICBBdXRoZW50aWNhdGlvbiBwcm90b2NvbCBtYXkgcHJldmVudCB0aGlzIGF0dGFjay4NCg0K
ICAgMy4gIE1hbi1pbi1NaWRkbGUgQXR0YWNrIChNaU1UKSAtIFRoZSBwYXVzaW5nIGFuZCByZXN1
bWluZyBvZiBhbiBSVFANCiAgICAgICBzb3VyY2UgaXMgcHJvbmUgdG8gYSBNYW4taW4tTWlkZGxl
IGF0dGFjay4gIFB1YmxpYyBrZXkNCiAgICAgICBhdXRoZW50aWNhdGlvbiBtYXkgYmUgdXNlZCB0
byBwcmV2ZW50IE1pTVQuDQoNCjEzLiAgQ29udHJpYnV0b3JzDQoNCiAgIERhbmllbCBHcm9uZGFs
IGNvbnRyaWJ1dGVkIGluIHRoZSBjcmVhdGlvbiBhbmQgd3JpdGluZyBvZiBlYXJseQ0KICAgdmVy
c2lvbnMgb2YgdGhpcyBzcGVjaWZpY2F0aW9uLg0KDQoxNC4gIEFja25vd2xlZGdlbWVudHMNCg0K
ICAgRGFuaWVsIEdyb25kYWwgbWFkZSB2YWx1YWJsZSBjb250cmlidXRpb25zIGR1cmluZyB0aGUg
aW5pdGlhbA0KICAgdmVyc2lvbnMgb2YgdGhpcyBkcmFmdC4gIENocmlzdGlhbiBHcm92ZXMgcHJv
dmlkZWQgdmFsdWFibGUgcmV2aWV3DQogICBjb21tZW50cy4NCg0KDQoNCg0KDQoNCkJ1cm1hbiwg
ZXQgYWwuICAgICAgICAgICBFeHBpcmVzIE1hcmNoIDIzLCAyMDE1ICAgICAgICAgICAgICAgIFtQ
YWdlIDQzXQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgIFJUUCBTdHJlYW0gUGF1c2Ug
ICAgICAgICAgICAgIFNlcHRlbWJlciAyMDE0DQoNCg0KMTUuICBSZWZlcmVuY2VzDQoNCjE1LjEu
ICBOb3JtYXRpdmUgUmVmZXJlbmNlcw0KDQogICBbUkZDMjExOV0gIEJyYWRuZXIsIFMuLCAiS2V5
IHdvcmRzIGZvciB1c2UgaW4gUkZDcyB0byBJbmRpY2F0ZQ0KICAgICAgICAgICAgICBSZXF1aXJl
bWVudCBMZXZlbHMiLCBCQ1AgMTQsIFJGQyAyMTE5LCBNYXJjaCAxOTk3Lg0KDQogICBbUkZDMzU1
MF0gIFNjaHVsenJpbm5lLCBILiwgQ2FzbmVyLCBTLiwgRnJlZGVyaWNrLCBSLiwgYW5kIFYuDQog
ICAgICAgICAgICAgIEphY29ic29uLCAiUlRQOiBBIFRyYW5zcG9ydCBQcm90b2NvbCBmb3IgUmVh
bC1UaW1lDQogICAgICAgICAgICAgIEFwcGxpY2F0aW9ucyIsIFNURCA2NCwgUkZDIDM1NTAsIEp1
bHkgMjAwMy4NCg0KICAgW1JGQzQ1ODVdICBPdHQsIEouLCBXZW5nZXIsIFMuLCBTYXRvLCBOLiwg
QnVybWVpc3RlciwgQy4sIGFuZCBKLiBSZXksDQogICAgICAgICAgICAgICJFeHRlbmRlZCBSVFAg
UHJvZmlsZSBmb3IgUmVhbC10aW1lIFRyYW5zcG9ydCBDb250cm9sDQogICAgICAgICAgICAgIFBy
b3RvY29sIChSVENQKS1CYXNlZCBGZWVkYmFjayAoUlRQL0FWUEYpIiwgUkZDIDQ1ODUsIEp1bHkN
CiAgICAgICAgICAgICAgMjAwNi4NCg0KICAgW1JGQzUxMDRdICBXZW5nZXIsIFMuLCBDaGFuZHJh
LCBVLiwgV2VzdGVybHVuZCwgTS4sIGFuZCBCLiBCdXJtYW4sDQogICAgICAgICAgICAgICJDb2Rl
YyBDb250cm9sIE1lc3NhZ2VzIGluIHRoZSBSVFAgQXVkaW8tVmlzdWFsIFByb2ZpbGUNCiAgICAg
ICAgICAgICAgd2l0aCBGZWVkYmFjayAoQVZQRikiLCBSRkMgNTEwNCwgRmVicnVhcnkgMjAwOC4N
Cg0KICAgW1JGQzUyMzRdICBDcm9ja2VyLCBELiBhbmQgUC4gT3ZlcmVsbCwgIkF1Z21lbnRlZCBC
TkYgZm9yIFN5bnRheA0KICAgICAgICAgICAgICBTcGVjaWZpY2F0aW9uczogQUJORiIsIFNURCA2
OCwgUkZDIDUyMzQsIEphbnVhcnkgMjAwOC4NCg0KICAgW1JGQzUyNDVdICBSb3NlbmJlcmcsIEou
LCAiSW50ZXJhY3RpdmUgQ29ubmVjdGl2aXR5IEVzdGFibGlzaG1lbnQNCiAgICAgICAgICAgICAg
KElDRSk6IEEgUHJvdG9jb2wgZm9yIE5ldHdvcmsgQWRkcmVzcyBUcmFuc2xhdG9yIChOQVQpDQog
ICAgICAgICAgICAgIFRyYXZlcnNhbCBmb3IgT2ZmZXIvQW5zd2VyIFByb3RvY29scyIsIFJGQyA1
MjQ1LCBBcHJpbA0KICAgICAgICAgICAgICAyMDEwLg0KDQogICBbUkZDNjI2M10gIE1hcmpvdSwg
WC4gYW5kIEEuIFNvbGxhdWQsICJBcHBsaWNhdGlvbiBNZWNoYW5pc20gZm9yDQogICAgICAgICAg
ICAgIEtlZXBpbmcgQWxpdmUgdGhlIE5BVCBNYXBwaW5ncyBBc3NvY2lhdGVkIHdpdGggUlRQIC8g
UlRQDQogICAgICAgICAgICAgIENvbnRyb2wgUHJvdG9jb2wgKFJUQ1ApIEZsb3dzIiwgUkZDIDYy
NjMsIEp1bmUgMjAxMS4NCg0KMTUuMi4gIEluZm9ybWF0aXZlIFJlZmVyZW5jZXMNCg0KICAgW0kt
RC5pZXRmLWF2dGNvcmUtcnRwLXRvcG9sb2dpZXMtdXBkYXRlXQ0KICAgICAgICAgICAgICBXZXN0
ZXJsdW5kLCBNLiBhbmQgUy4gV2VuZ2VyLCAiUlRQIFRvcG9sb2dpZXMiLCBkcmFmdC0NCiAgICAg
ICAgICAgICAgaWV0Zi1hdnRjb3JlLXJ0cC10b3BvbG9naWVzLXVwZGF0ZS0wMCAod29yayBpbiBw
cm9ncmVzcyksDQogICAgICAgICAgICAgIEFwcmlsIDIwMTMuDQoNCiAgIFtJLUQuaWV0Zi1hdnRl
eHQtcnRwLWdyb3VwaW5nLXRheG9ub215XQ0KICAgICAgICAgICAgICBMZW5ub3gsIEouLCBHcm9z
cywgSy4sIE5hbmRha3VtYXIsIFMuLCBhbmQgRy4gU2FsZ3VlaXJvLA0KICAgICAgICAgICAgICAi
QSBUYXhvbm9teSBvZiBHcm91cGluZyBTZW1hbnRpY3MgYW5kIE1lY2hhbmlzbXMgZm9yIFJlYWwt
DQogICAgICAgICAgICAgIFRpbWUgVHJhbnNwb3J0IFByb3RvY29sIChSVFApIFNvdXJjZXMiLCBk
cmFmdC1pZXRmLWF2dGV4dC0NCiAgICAgICAgICAgICAgcnRwLWdyb3VwaW5nLXRheG9ub215LTAx
ICh3b3JrIGluIHByb2dyZXNzKSwgRmVicnVhcnkNCiAgICAgICAgICAgICAgMjAxNC4NCg0KDQoN
Cg0KDQoNCkJ1cm1hbiwgZXQgYWwuICAgICAgICAgICBFeHBpcmVzIE1hcmNoIDIzLCAyMDE1ICAg
ICAgICAgICAgICAgIFtQYWdlIDQ0XQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgIFJU
UCBTdHJlYW0gUGF1c2UgICAgICAgICAgICAgIFNlcHRlbWJlciAyMDE0DQoNCg0KICAgW0ktRC5p
ZXRmLXJ0Y3dlYi11c2UtY2FzZXMtYW5kLXJlcXVpcmVtZW50c10NCiAgICAgICAgICAgICAgSG9s
bWJlcmcsIEMuLCBIYWthbnNzb24sIFMuLCBhbmQgRy4gRXJpa3Nzb24sICJXZWIgUmVhbC0NCiAg
ICAgICAgICAgICAgVGltZSBDb21tdW5pY2F0aW9uIFVzZS1jYXNlcyBhbmQgUmVxdWlyZW1lbnRz
IiwgZHJhZnQtDQogICAgICAgICAgICAgIGlldGYtcnRjd2ViLXVzZS1jYXNlcy1hbmQtcmVxdWly
ZW1lbnRzLTA5ICh3b3JrIGluDQogICAgICAgICAgICAgIHByb2dyZXNzKSwgSnVuZSAyMDEyLg0K
DQogICBbSS1ELndlc3Rlcmx1bmQtYXZ0Y29yZS1ydHAtc2ltdWxjYXN0XQ0KICAgICAgICAgICAg
ICBXZXN0ZXJsdW5kLCBNLiwgQnVybWFuLCBCLiwgTGluZHF2aXN0LCBNLiwgYW5kIEYuIEphbnNz
b24sDQogICAgICAgICAgICAgICJVc2luZyBTaW11bGNhc3QgaW4gUlRQIHNlc3Npb25zIiwgZHJh
ZnQtd2VzdGVybHVuZC0NCiAgICAgICAgICAgICAgYXZ0Y29yZS1ydHAtc2ltdWxjYXN0ICh3b3Jr
IGluIHByb2dyZXNzKSwgT2N0b2JlciAyMDExLg0KDQogICBbUkZDMjMyNl0gIFNjaHVsenJpbm5l
LCBILiwgUmFvLCBBLiwgYW5kIFIuIExhbnBoaWVyLCAiUmVhbCBUaW1lDQogICAgICAgICAgICAg
IFN0cmVhbWluZyBQcm90b2NvbCAoUlRTUCkiLCBSRkMgMjMyNiwgQXByaWwgMTk5OC4NCg0KICAg
W1JGQzI5NzRdICBIYW5kbGV5LCBNLiwgUGVya2lucywgQy4sIGFuZCBFLiBXaGVsYW4sICJTZXNz
aW9uDQogICAgICAgICAgICAgIEFubm91bmNlbWVudCBQcm90b2NvbCIsIFJGQyAyOTc0LCBPY3Rv
YmVyIDIwMDAuDQoNCiAgIFtSRkMzMjYxXSAgUm9zZW5iZXJnLCBKLiwgU2NodWx6cmlubmUsIEgu
LCBDYW1hcmlsbG8sIEcuLCBKb2huc3RvbiwNCiAgICAgICAgICAgICAgQS4sIFBldGVyc29uLCBK
LiwgU3BhcmtzLCBSLiwgSGFuZGxleSwgTS4sIGFuZCBFLg0KICAgICAgICAgICAgICBTY2hvb2xl
ciwgIlNJUDogU2Vzc2lvbiBJbml0aWF0aW9uIFByb3RvY29sIiwgUkZDIDMyNjEsDQogICAgICAg
ICAgICAgIEp1bmUgMjAwMi4NCg0KICAgW1JGQzMyNjRdICBSb3NlbmJlcmcsIEouIGFuZCBILiBT
Y2h1bHpyaW5uZSwgIkFuIE9mZmVyL0Fuc3dlciBNb2RlbA0KICAgICAgICAgICAgICB3aXRoIFNl
c3Npb24gRGVzY3JpcHRpb24gUHJvdG9jb2wgKFNEUCkiLCBSRkMgMzI2NCwgSnVuZQ0KICAgICAg
ICAgICAgICAyMDAyLg0KDQogICBbUkZDNDU2Nl0gIEhhbmRsZXksIE0uLCBKYWNvYnNvbiwgVi4s
IGFuZCBDLiBQZXJraW5zLCAiU0RQOiBTZXNzaW9uDQogICAgICAgICAgICAgIERlc2NyaXB0aW9u
IFByb3RvY29sIiwgUkZDIDQ1NjYsIEp1bHkgMjAwNi4NCg0KICAgW1JGQzYxOTBdICBXZW5nZXIs
IFMuLCBXYW5nLCBZLiwgU2NoaWVybCwgVC4sIGFuZCBBLiBFbGVmdGhlcmlhZGlzLA0KICAgICAg
ICAgICAgICAiUlRQIFBheWxvYWQgRm9ybWF0IGZvciBTY2FsYWJsZSBWaWRlbyBDb2RpbmciLCBS
RkMgNjE5MCwNCiAgICAgICAgICAgICAgTWF5IDIwMTEuDQoNCkFwcGVuZGl4IEEuICBDaGFuZ2Vz
IEZyb20gRWFybGllciBWZXJzaW9ucw0KDQogICBOT1RFIFRPIFJGQyBFRElUT1I6IFBsZWFzZSBy
ZW1vdmUgdGhpcyBzZWN0aW9uIHByaW9yIHRvIHB1YmxpY2F0aW9uLg0KDQpBLjEuICBNb2RpZmlj
YXRpb25zIEJldHdlZW4gVmVyc2lvbiAtMDIgYW5kIC0wMw0KDQogICBvICBDaGFuZ2VkIHRoZSBz
ZWN0aW9uIG9uIFNEUCBzaWduYWxpbmcgdG8gYmUgbW9yZSBleHBsaWNpdCBhbmQgY2xlYXINCiAg
ICAgIGluIHdoYXQgaXMgc3VwcG9ydGVkLCByZXBsYWNpbmcgdGhlICdwYXVzZWQnIHBhcmFtZXRl
ciBhbmQgdGhlDQogICAgICAnZGlyJyBhdHRyaWJ1dGUgd2l0aCBhICdjb25maWcnIHBhcmFtZXRl
ciB0aGF0IGNhbiB0YWtlIGEgdmFsdWUsDQogICAgICBhbmQgYW4gZXhwbGljaXQgbGlzdGluZyBv
ZiB3aGF0IGVhY2ggdmFsdWUgbWVhbnMuDQoNCiAgIG8gIEFkZGVkIGEgc2VudGVuY2UgaW4gc2Vj
dGlvbiBvbiBwYXVzZWQgc3RhdGUgKFNlY3Rpb24gNi4zKSB0aGF0DQogICAgICBwYXVzZSBtdXN0
IG5vdCBhZmZlY3QgUlRQIGtlZXBhbGl2ZS4NCg0KDQoNCg0KDQpCdXJtYW4sIGV0IGFsLiAgICAg
ICAgICAgRXhwaXJlcyBNYXJjaCAyMywgMjAxNSAgICAgICAgICAgICAgICBbUGFnZSA0NV0NCgwN
CkludGVybmV0LURyYWZ0ICAgICAgICAgICAgICBSVFAgU3RyZWFtIFBhdXNlICAgICAgICAgICAg
ICBTZXB0ZW1iZXIgMjAxNA0KDQoNCiAgIG8gIFJlcGxhY2VkIFJFRlVTRSBtZXNzYWdlIG5hbWUg
d2l0aCBSRUZVU0VEIHRocm91Z2hvdXQsIHRvIGJldHRlcg0KICAgICAgaW5kaWNhdGUgdGhhdCBp
dCBpcyBub3QgYSBjb21tYW5kIGJ1dCBhIG5vdGlmaWNhdGlvbi4NCg0KQS4yLiAgTW9kaWZpY2F0
aW9ucyBCZXR3ZWVuIFZlcnNpb24gLTAxIGFuZCAtMDINCg0KICAgbyAgUmVwbGFjZWQgbW9zdCB0
ZXh0IG9uIHJlbGF0aW9uIHdpdGggb3RoZXIgc2lnbmFsaW5nIHRlY2hub2xvZ2llcw0KICAgICAg
aW4gcHJldmlvdXMgc2VjdGlvbiA1IHdpdGggYSBzaW5nbGUsIHN1bW1hcml6aW5nIHBhcmFncmFw
aCwgYXMNCiAgICAgIGRpc2N1c3NlZCBhdCBJRVRGIDkwIGluIFRvcm9udG8sIGFuZCBwbGFjZWQg
aXQgYXMgdGhlIGxhc3Qgc3ViLQ0KICAgICAgc2VjdGlvbiBvZiBzZWN0aW9uIDQgKGRlc2lnbiBj
b25zaWRlcmF0aW9ucykuDQoNCiAgIG8gIFJlbW92ZWQgdW51c2VkIHJlZmVyZW5jZXMuDQoNCkEu
My4gIE1vZGlmaWNhdGlvbnMgQmV0d2VlbiBWZXJzaW9uIC0wMCBhbmQgLTAxDQoNCiAgIG8gIENv
cnJlY3RlZCB0ZXh0IGluIHNlY3Rpb24gNi41IGFuZCA2LjIgdG8gaW5kaWNhdGUgdGhhdCBhIFBB
VVNFDQogICAgICBzaWduYWxlZCB2aWEgVE1NQlIgMCBjYW5ub3QgYmUgUkVGVVNFRCB1c2luZyBU
TU1CTiA+IDANCg0KICAgbyAgSW1wcm92ZWQgYWxpZ25tZW50IHdpdGggUlRQIFRheG9ub215IGRy
YWZ0LCBpbmNsdWRpbmcgdGhlIGNoYW5nZQ0KICAgICAgb2YgUGFja2V0IFN0cmVhbSB0byBSVFAg
U3RyZWFtDQoNCiAgIG8gIEVkaXRvcmlhbCBpbXByb3ZlbWVudHMNCg0KQXV0aG9ycycgQWRkcmVz
c2VzDQoNCiAgIEJvIEJ1cm1hbg0KICAgRXJpY3Nzb24NCiAgIEtpc3RhdmFnZW4gMjUNCiAgIFNF
IC0gMTY0IDgwIEtpc3RhDQogICBTd2VkZW4NCg0KICAgUGhvbmU6ICs0NjEwNzE0MTMxMQ0KICAg
RW1haWw6IGJvLmJ1cm1hbkBlcmljc3Nvbi5jb20NCiAgIFVSSTogICB3d3cuZXJpY3Nzb24uY29t
DQoNCg0KICAgQXphbSBBa3JhbQ0KICAgRXJpY3Nzb24NCiAgIEZhcm9nYXRhbiA2DQogICBTRSAt
IDE2NCA4MCBLaXN0YQ0KICAgU3dlZGVuDQoNCiAgIFBob25lOiArNDYxMDcxNDI2NTgNCiAgIEVt
YWlsOiBtdWhhbW1hZC5hemFtLmFrcmFtQGVyaWNzc29uLmNvbQ0KICAgVVJJOiAgIHd3dy5lcmlj
c3Nvbi5jb20NCg0KDQoNCg0KDQoNCg0KQnVybWFuLCBldCBhbC4gICAgICAgICAgIEV4cGlyZXMg
TWFyY2ggMjMsIDIwMTUgICAgICAgICAgICAgICAgW1BhZ2UgNDZdDQoMDQpJbnRlcm5ldC1EcmFm
dCAgICAgICAgICAgICAgUlRQIFN0cmVhbSBQYXVzZSAgICAgICAgICAgICAgU2VwdGVtYmVyIDIw
MTQNCg0KDQogICBSb25pIEV2ZW4NCiAgIEh1YXdlaSBUZWNobm9sb2dpZXMNCiAgIFRlbCBBdml2
DQogICBJc3JhZWwNCg0KICAgRW1haWw6IHJvbmkuZXZlbkBtYWlsMDEuaHVhd2VpLmNvbQ0KDQoN
CiAgIE1hZ251cyBXZXN0ZXJsdW5kDQogICBFcmljc3Nvbg0KICAgRmFyb2dhdGFuIDYNCiAgIFNF
LSBLaXN0YSAxNjQgODANCiAgIFN3ZWRlbg0KDQogICBQaG9uZTogKzQ2MTA3MTQ4Mjg3DQogICBF
bWFpbDogbWFnbnVzLndlc3Rlcmx1bmRAZXJpY3Nzb24uY29tDQoNCg0KDQoNCg0KDQoNCg0KDQoN
Cg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KQnVybWFu
LCBldCBhbC4gICAgICAgICAgIEV4cGlyZXMgTWFyY2ggMjMsIDIwMTUgICAgICAgICAgICAgICAg
W1BhZ2UgNDddDQo=

--_004_BBE9739C2C302046BD34B42713A1E2A22E2D1751ESESSMB105erics_--

